Index: /issm/oecreview/Archive/21337-21723/Date.tex
===================================================================
--- /issm/oecreview/Archive/21337-21723/Date.tex	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/Date.tex	(revision 21726)
@@ -0,0 +1,1 @@
+May-19-2017
Index: /issm/oecreview/Archive/21337-21723/ISSM-21342-21343.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21342-21343.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21342-21343.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp	(revision 21342)
++++ ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp	(revision 21343)
+@@ -380,6 +380,7 @@
+ 				/*No sliding*/
+ 				ub=0.;
+ 				vb=0.;
++				break;
+ 			default:
+ 				_error_("Not supported yet");
+ 		}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21343-21344.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21343-21344.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21343-21344.diff	(revision 21726)
@@ -0,0 +1,483 @@
+Index: ../trunk-jpl/src/c/cores/sealevelrise_core_noneustatic.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/sealevelrise_core_noneustatic.cpp	(revision 21343)
++++ ../trunk-jpl/src/c/cores/sealevelrise_core_noneustatic.cpp	(revision 21344)
+@@ -17,6 +17,7 @@
+ 	Vector<IssmDouble> *Sg_old    = NULL;
+ 
+ 	Vector<IssmDouble> *Sgo    = NULL; //ocean convolution of the perturbation to gravity potential.
++	Vector<IssmDouble> *Sgo_rot= NULL; // rotational feedback 
+ 	IssmDouble          Sgo_oceanaverage = 0;  //average of Sgo over the ocean.
+ 
+ 	/*parameters: */
+@@ -26,6 +27,7 @@
+ 	int  configuration_type;
+ 	bool spherical=true;
+ 	bool converged=true;
++	bool rotation=true;
+ 	bool verboseconvolution=true;
+ 	int max_nonlinear_iterations;
+ 	IssmDouble           eps_rel;
+@@ -40,6 +42,9 @@
+ 	femmodel->parameters->FindParam(&eps_rel,SealevelriseReltolEnum);
+ 	femmodel->parameters->FindParam(&eps_abs,SealevelriseAbstolEnum);
+ 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
++	
++	/*computational flag: */
++	femmodel->parameters->FindParam(&rotation,SealevelriseRotationEnum);
+ 
+ 	/*first, recover lat,long and radius vectors from vertices: */
+ 	VertexCoordinatesx(&latitude,&longitude,&radius,femmodel->vertices,spherical); 
+@@ -74,6 +79,15 @@
+ 		/*assemble solution vector: */
+ 		Sgo->Assemble(); 
+ 
++		if(rotation){
++			/*call rotational feedback  module: */
++			Sgo_rot = new Vector<IssmDouble>(gsize); Sgo_rot->Assemble();
++			femmodel->SealevelriseRotationalFeedback(Sgo_rot,Sg_old,latitude,longitude,radius); 
++			Sgo_rot->Assemble(); 
++
++			Sgo->AXPY(Sgo_rot,1); 
++		}
++		
+ 		/*we need to average Sgo over the ocean: RHS term  5 in Eq.4 of Farrel and clarke. Only the elements can do that: */
+ 		Sgo_oceanaverage=femmodel->SealevelriseOceanAverage(Sgo);
+ 	
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21343)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21344)
+@@ -119,8 +119,10 @@
+ 		#ifdef _HAVE_SEALEVELRISE_
+ 		void SealevelriseEustatic(Vector<IssmDouble>* pSgi, IssmDouble* peustatic, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius);
+ 		void SealevelriseNonEustatic(Vector<IssmDouble>* pSgo, Vector<IssmDouble>* pSg_old, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius,bool verboseconvolution);
++		void SealevelriseRotationalFeedback(Vector<IssmDouble>* pSgo_rot, Vector<IssmDouble>* pSg_old, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius);
+ 		void SealevelriseGeodetic(Vector<IssmDouble>* pUp, Vector<IssmDouble>* pNorth, Vector<IssmDouble>* pEast, Vector<IssmDouble>* pSg_old, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius, IssmDouble* xx, IssmDouble* yy, IssmDouble* zz); 
+ 		IssmDouble SealevelriseOceanAverage(Vector<IssmDouble>* Sg);
++		IssmDouble SealevelriseRotationalFeedback(IssmDouble* moi_list);
+ 		#endif
+ 		void HydrologyEPLupdateDomainx(IssmDouble* pEplcount);
+ 		void TimeAdaptx(IssmDouble* pdt);
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21343)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21344)
+@@ -2458,12 +2458,13 @@
+ 
+ 	/*Go through elements, and add contribution from each element to the deflection vector wg:*/
+ 	ns = elements->Size();
+-	
++
+ 	/*First, figure out the area of the ocean, which is needed to compute the eustatic component: */
+ 	for(int i=0;i<ns;i++){
+ 		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
+ 		eartharea_cpu += element->GetAreaSpherical();
+ 	}
++	
+ 	ISSM_MPI_Reduce (&eartharea_cpu,&eartharea,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
+ 	ISSM_MPI_Bcast(&eartharea,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
+ 
+@@ -2474,18 +2475,90 @@
+ 	/*Call the sea level rise core: */
+ 	for(int i=0;i<nsmax;i++){
+ 		if(i<ns){
+-
+ 			if(verboseconvolution)if(VerboseConvergence())if(i%100==0)_printf_("\r" << "      convolution progress: " << (double)i/(double)ns*100 << "%   ");
+-
+ 			Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
+-			element->SealevelriseNonEustatic(pSgo, Sg_old,latitude,longitude,radius,eartharea);
++			element->SealevelriseNonEustatic(pSgo,Sg_old,latitude,longitude,radius,eartharea);
+ 		}
+ 		if(i%100==0)pSgo->Assemble();
+ 	}
+ 	if(verboseconvolution)if(VerboseConvergence())_printf_("\n");
++	
++	/*Free ressources:*/
++	xDelete<IssmDouble>(Sg_old);
++}
++/*}}}*/
++void FemModel::SealevelriseRotationalFeedback(Vector<IssmDouble>* pSgo_rot, Vector<IssmDouble>* pSg_old, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius){/*{{{*/
+ 
++	/*serialized vectors:*/
++	IssmDouble* Sg_old=NULL;
++	IssmDouble  eartharea=0;
++	IssmDouble  eartharea_cpu=0;
++	IssmDouble	tide_love_h, tide_love_k, fluid_love, moi_e, moi_p, omega, g;
++	IssmDouble	load_love_k2 = -0.30922675; //degree 2 load Love number 
++	IssmDouble	m1, m2, m3; 
++	IssmDouble	lati, longi, value; 
++
++	/*Serialize vectors from previous iteration:*/
++	Sg_old=pSg_old->ToMPISerial();
++
++	/*First, figure out the area of the ocean, which is needed to compute the eustatic component: */
++	for(int i=0;i<elements->Size();i++){
++		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
++		eartharea_cpu += element->GetAreaSpherical();
++	}
++	ISSM_MPI_Reduce (&eartharea_cpu,&eartharea,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
++	ISSM_MPI_Bcast(&eartharea,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
++
++	IssmDouble moi_list[3]={0,0,0}; 
++	IssmDouble moi_list_cpu[3]={0,0,0}; 
++	for(int i=0;i<elements->Size();i++){
++		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
++		element->SealevelriseMomentOfInertia(&moi_list[0],Sg_old,eartharea);
++		moi_list_cpu[0] += moi_list[0]; 
++		moi_list_cpu[1] += moi_list[1]; 
++		moi_list_cpu[2] += moi_list[2]; 
++	}
++	ISSM_MPI_Reduce (&moi_list_cpu[0],&moi_list[0],1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
++	ISSM_MPI_Bcast(&moi_list[0],1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
++	// 	
++	ISSM_MPI_Reduce (&moi_list_cpu[1],&moi_list[1],1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
++	ISSM_MPI_Bcast(&moi_list[1],1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
++	// 	
++	ISSM_MPI_Reduce (&moi_list_cpu[2],&moi_list[2],1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
++	ISSM_MPI_Bcast(&moi_list[2],1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
++	
++	/*pull out some useful parameters: */
++	parameters->FindParam(&tide_love_h,SealevelriseTidalLoveHEnum);
++	parameters->FindParam(&tide_love_k,SealevelriseTidalLoveKEnum);
++	parameters->FindParam(&fluid_love,SealevelriseFluidLoveEnum);
++	parameters->FindParam(&moi_e,SealevelriseEquatorialMoiEnum);
++	parameters->FindParam(&moi_p,SealevelrisePolarMoiEnum);
++	parameters->FindParam(&omega,SealevelriseAngularVelocityEnum);
++
++	/*compute perturbation terms for angular velocity vector: */
++	m1 = 1/(1-tide_love_k/fluid_love) * (1+load_love_k2)/(moi_p-moi_e) * moi_list[0]; 
++	m2 = 1/(1-tide_love_k/fluid_love) * (1+load_love_k2)/(moi_p-moi_e) * moi_list[1]; 
++	m3 = -(1+load_love_k2)/moi_p * moi_list[2]; 
++
++	for(int i=0;i<vertices->Size();i++){
++		//Vertex* vertex=(Vertex*)vertices->GetObjectByOffset(i);
++		Vertex* vertex=xDynamicCast<Vertex*>(vertices->GetObjectByOffset(i));
++		
++		lati=latitude[i]/180*PI;	longi=longitude[i]/180*PI;
++
++		/*only first order terms are considered now: */ 
++		value=((1.0+tide_love_k-tide_love_h)/9.81)*pow(omega*radius[i],2.0)*
++						(-m3/6.0 - m3*cos(2.0*lati)/2.0 - sin(lati)*cos(lati)*(m1*cos(longi)+m2*sin(longi))); 
++	
++		pSgo_rot->SetValue(vertex->Sid(),value,INS_VAL); //INS_VAL ensures that you don't add several times
++	}
++
++	/*Assemble mesh velocity*/
++	pSgo_rot->Assemble();
++	
+ 	/*Free ressources:*/
+ 	xDelete<IssmDouble>(Sg_old);
++	
+ }
+ /*}}}*/
+ void FemModel::SealevelriseGeodetic(Vector<IssmDouble>* pUp, Vector<IssmDouble>* pNorth, Vector<IssmDouble>* pEast, Vector<IssmDouble>* pSg, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius, IssmDouble* xx, IssmDouble* yy, IssmDouble* zz){/*{{{*/
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21343)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21344)
+@@ -150,6 +150,7 @@
+ 		#ifdef _HAVE_SEALEVELRISE_
+ 		IssmDouble OceanArea(void);
+ 		IssmDouble OceanAverage(IssmDouble* Sg);
++		void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea); 
+ 		void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea);
+ 		void    SealevelriseNonEustatic(Vector<IssmDouble>* pSgo,IssmDouble* Sg_old,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble eartharea);
+ 		void    SealevelriseGeodetic(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* Sg,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea);
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21343)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21344)
+@@ -189,6 +189,7 @@
+ 		#ifdef _HAVE_SEALEVELRISE_
+ 		IssmDouble    OceanArea(void){_error_("not implemented yet!");};
+ 		IssmDouble    OceanAverage(IssmDouble* Sg){_error_("not implemented yet!");};
++		void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseNonEustatic(Vector<IssmDouble>* pSgo,IssmDouble* Sg_old,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseGeodetic(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* Sg,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21343)
++++ ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21344)
+@@ -172,6 +172,7 @@
+ 		void    EsaGeodetic3D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea){_error_("not implemented yet!");};
+ #endif
+ #ifdef _HAVE_SEALEVELRISE_
++		void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseNonEustatic(Vector<IssmDouble>* pSgo,IssmDouble* Sg_old,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseGeodetic(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* Sg,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21343)
++++ ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21344)
+@@ -179,6 +179,7 @@
+ 		void    EsaGeodetic3D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea){_error_("not implemented yet!");};
+ #endif
+ #ifdef _HAVE_SEALEVELRISE_
++		void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseNonEustatic(Vector<IssmDouble>* pSgo,IssmDouble* Sg_old,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble eartharea){_error_("not implemented yet!");};
+ 		void    SealevelriseGeodetic(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* Sg,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21343)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21344)
+@@ -304,6 +304,7 @@
+ 		virtual IssmDouble    GetAreaSpherical(void)=0;
+ 		virtual IssmDouble    OceanAverage(IssmDouble* Sg)=0;
+ 		virtual IssmDouble    OceanArea(void)=0;
++		virtual void          SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea)=0; 
+ 		virtual void          SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea)=0;
+ 		virtual void          SealevelriseNonEustatic(Vector<IssmDouble>* pSgo,IssmDouble* Sg_old,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble eartharea)=0;
+ 		virtual void          SealevelriseGeodetic(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* Sg,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble* xx,IssmDouble* yy,IssmDouble* zz,IssmDouble eartharea)=0;
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21343)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21344)
+@@ -3869,6 +3869,88 @@
+ 
+ }
+ /*}}}*/
++void	Tria::SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){/*{{{*/
++
++	/*early return if we are not on an ice cap OR ocean:*/
++	if(!(this->inputs->Max(MaskIceLevelsetEnum)<0) && !IsWaterInElement()) return; 
++
++	/*Compute area of element:*/
++	IssmDouble area; 
++	area=GetAreaSpherical();
++
++	/*Compute lat,long,radius of elemental centroid: */
++	bool spherical=true;
++	IssmDouble llr_list[NUMVERTICES][3];
++	IssmDouble late,longe,re;
++	/* Where is the centroid of this element?:{{{*/
++	::GetVerticesCoordinates(&llr_list[0][0],this->vertices,NUMVERTICES,spherical);
++
++	IssmDouble minlong=400;
++	IssmDouble maxlong=-20;
++	for (int i=0;i<NUMVERTICES;i++){
++		llr_list[i][0]=(90-llr_list[i][0]);
++		if(llr_list[i][1]<0)llr_list[i][1]=180+(180+llr_list[i][1]);
++		if(llr_list[i][1]>maxlong)maxlong=llr_list[i][1];
++		if(llr_list[i][1]<minlong)minlong=llr_list[i][1];
++	}
++	if(minlong==0 && maxlong>180){
++		if (llr_list[0][1]==0)llr_list[0][1]=360;
++		if (llr_list[1][1]==0)llr_list[1][1]=360;
++		if (llr_list[2][1]==0)llr_list[2][1]=360;
++	}
++
++	// correction at the north pole
++	if(llr_list[0][0]==0)llr_list[0][1]=(llr_list[1][1]+llr_list[2][1])/2.0;
++	if(llr_list[1][0]==0)llr_list[1][1]=(llr_list[0][1]+llr_list[2][1])/2.0;
++	if(llr_list[2][0]==0)llr_list[2][1]=(llr_list[0][1]+llr_list[1][1])/2.0;
++
++	//correction at the south pole
++	if(llr_list[0][0]==180)llr_list[0][1]=(llr_list[1][1]+llr_list[2][1])/2.0;
++	if(llr_list[1][0]==180)llr_list[1][1]=(llr_list[0][1]+llr_list[2][1])/2.0;
++	if(llr_list[2][0]==180)llr_list[2][1]=(llr_list[0][1]+llr_list[1][1])/2.0;
++
++	late=(llr_list[0][0]+llr_list[1][0]+llr_list[2][0])/3.0;
++	longe=(llr_list[0][1]+llr_list[1][1]+llr_list[2][1])/3.0;
++
++	late=90-late; 
++	if(longe>180)longe=(longe-180)-180;
++
++	late=late/180*PI;
++	longe=longe/180*PI;
++	/*}}}*/
++	re=(llr_list[0][2]+llr_list[1][2]+llr_list[2][2])/3.0;
++
++	if(IsWaterInElement()){
++		IssmDouble rho_water, S; 
++		
++		/*recover material parameters: */
++		rho_water=matpar->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
++	
++		/*From Sg_old, recover water sea level rise:*/
++		S=0; for(int i=0;i<NUMVERTICES;i++) S+=Sg_old[this->vertices[i]->Sid()]/NUMVERTICES;
++		
++		dI_list[0] = -4*PI*(rho_water*S*area)*pow(re,4)*(sin(late)*cos(late)*cos(longe))/eartharea; 
++		dI_list[1] = -4*PI*(rho_water*S*area)*pow(re,4)*(sin(late)*cos(late)*sin(longe))/eartharea; 
++		dI_list[2] = +4*PI*(rho_water*S*area)*pow(re,4)*(1-pow(cos(late),2))/eartharea; 
++	}
++	else if(this->inputs->Max(MaskIceLevelsetEnum)<0){
++		IssmDouble rho_ice, I; 
++		
++		/*recover material parameters: */
++		rho_ice=matpar->GetMaterialParameter(MaterialsRhoIceEnum);
++	
++		/*Compute ice thickness change: */
++		Input*	deltathickness_input=inputs->GetInput(SealevelriseDeltathicknessEnum); 
++		if (!deltathickness_input)_error_("delta thickness input needed to compute sea level rise!");
++		deltathickness_input->GetInputAverage(&I);
++		
++		dI_list[0] = -4*PI*(rho_ice*I*area)*pow(re,4)*(sin(late)*cos(late)*cos(longe))/eartharea; 
++		dI_list[1] = -4*PI*(rho_ice*I*area)*pow(re,4)*(sin(late)*cos(late)*sin(longe))/eartharea; 
++		dI_list[2] = +4*PI*(rho_ice*I*area)*pow(re,4)*(1-pow(cos(late),2))/eartharea; 
++	}
++	
++	return; 
++}/*}}}*/
+ void    Tria::SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){ /*{{{*/
+ 
+ 	/*diverse:*/
+@@ -4025,7 +4107,7 @@
+ 	IssmDouble llr_list[NUMVERTICES][3];
+ 	IssmDouble area;
+ 	IssmDouble S;  //change in water water level(Farrel and Clarke, Equ. 4)
+-	IssmDouble late,longe,re;
++	IssmDouble late,longe;
+ 	IssmDouble lati,longi,ri;
+ 	IssmDouble minlong=400;
+ 	IssmDouble maxlong=-20;
+@@ -4047,7 +4129,6 @@
+ 	/*Computational flags:*/
+ 	bool computerigid = true;
+ 	bool computeelastic= true;
+-	bool computerotation= true;
+ 
+ 	/*early return if we are not on the ocean:*/
+ 	if (!IsWaterInElement())return;
+@@ -4055,16 +4136,7 @@
+ 	/*recover computational flags: */
+ 	this->parameters->FindParam(&computerigid,SealevelriseRigidEnum);
+ 	this->parameters->FindParam(&computeelastic,SealevelriseElasticEnum);
+-	this->parameters->FindParam(&computerotation,SealevelriseRotationEnum);
+ 
+-	/*recover some parameters for rotational feedback: */
+-	IssmDouble tide_love_h, tide_love_k, omega;
+-	if(computerotation){
+-		this->parameters->FindParam(&tide_love_h,SealevelriseTidalLoveHEnum);
+-		this->parameters->FindParam(&tide_love_k,SealevelriseTidalLoveKEnum);
+-		this->parameters->FindParam(&omega,SealevelriseAngularVelocityEnum);
+-	}
+-
+ 	/*early return if rigid or elastic not requested:*/
+ 	if(!computerigid && !computeelastic) return;
+ 
+@@ -4133,14 +4205,6 @@
+ 	IssmDouble alpha;
+ 	IssmDouble delPhi,delLambda;
+ 
+-	 /* if rotation, compute m1 m2 m3 from loading function */
+-	 IssmDouble m1, m2, m3;
+-	 if(computerotation){
+-		 m1=0; 
+-		 m2=0; 
+-		 m3=0; 
+-	 }
+-
+ 	for(int i=0;i<gsize;i++){
+ 
+ 		indices[i]=i; 
+@@ -4151,28 +4215,18 @@
+ 		delPhi=fabs(lati-late); delLambda=fabs(longi-longe);
+ 		alpha=2.*asin(sqrt(pow(sin(delPhi/2),2.0)+cos(lati)*cos(late)*pow(sin(delLambda/2),2)));
+ 
+-		//Rigid earth gravitational perturbation:
++		/*Rigid earth gravitational perturbation: */
+ 		if(computerigid){ 
+ 			G_rigid[i]=1.0/2.0/sin(alpha/2.0); 
+ 			values[i]+=3*rho_water/rho_earth*area/eartharea*S*G_rigid[i];
+ 		}
+ 
+-		//Elastic component  (from Eq 17 in Adhikari et al, GMD 2015)
++		/*Elastic component  (from Eq 17 in Adhikari et al, GMD 2015): */
+ 		if(computeelastic){
+ 			int index=reCast<int,IssmDouble>(alpha/PI*(M-1));
+ 			G_elastic[i] += G_elastic_precomputed[index];
+ 			values[i]+=3*rho_water/rho_earth*area/eartharea*S*G_elastic[i];
+ 		}
+-
+-		/*Rotational feedback: */
+-		if(computerotation){
+-			values[i]+=(1+tide_love_k-tide_love_h/9.81)*0.5*pow((omega*radius[i]),2)*(-m3*(2+m3)*(1+3*cos(2*lati))
+-						+ 2*pow(m2,2)*(pow(cos(lati),2) + 0.5*(-1 + 3*cos(2*longi)) * pow(sin(lati),2)) 
+-						+ 2*pow(m1,2)*(pow(cos(lati),2) - 0.5*(1+3*cos(2*longi)) * pow(sin(lati),2))
+-						- m1*(1+m3)*cos(longi)*sin(2*lati)
+-	               - 2*m1*m2*cos(longi)*pow(sin(lati),2)*sin(longi)
+-	               - m2*(1+m3)*sin(2*lati)*sin(longi));
+-		}
+ 	}
+ 	
+ 	pSgo->SetValues(gsize,indices,values,ADD_VAL);
+Index: ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp	(revision 21343)
++++ ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp	(revision 21344)
+@@ -72,6 +72,9 @@
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.slr.rotation",SealevelriseRotationEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.slr.tide_love_h",SealevelriseTidalLoveHEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.slr.tide_love_k",SealevelriseTidalLoveKEnum));
++	parameters->AddObject(iomodel->CopyConstantObject("md.slr.fluid_love",SealevelriseFluidLoveEnum));
++	parameters->AddObject(iomodel->CopyConstantObject("md.slr.equatorial_moi",SealevelriseEquatorialMoiEnum));
++	parameters->AddObject(iomodel->CopyConstantObject("md.slr.polar_moi",SealevelrisePolarMoiEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.slr.angular_velocity",SealevelriseAngularVelocityEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.slr.ocean_area_scaling",SealevelriseOceanAreaScalingEnum));
+ 
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21343)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21344)
+@@ -774,7 +774,10 @@
+ 	SealevelriseElasticEnum,
+ 	SealevelriseRotationEnum,
+ 	SealevelriseTidalLoveHEnum,
+-   SealevelriseTidalLoveKEnum,
++	SealevelriseTidalLoveKEnum, 
++	SealevelriseFluidLoveEnum, 
++	SealevelriseEquatorialMoiEnum, 
++	SealevelrisePolarMoiEnum, 
+ 	SealevelriseAngularVelocityEnum,
+ 	SealevelriseOceanAreaScalingEnum,
+ 	SealevelriseGElasticEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21343)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21344)
+@@ -756,6 +756,9 @@
+ 		case SealevelriseRotationEnum : return "SealevelriseRotation";
+ 		case SealevelriseTidalLoveHEnum : return "SealevelriseTidalLoveH";
+ 		case SealevelriseTidalLoveKEnum : return "SealevelriseTidalLoveK";
++		case SealevelriseFluidLoveEnum : return "SealevelriseFluidLove";
++		case SealevelriseEquatorialMoiEnum : return "SealevelriseEquatorialMoi";
++		case SealevelrisePolarMoiEnum : return "SealevelrisePolarMoi";
+ 		case SealevelriseAngularVelocityEnum : return "SealevelriseAngularVelocity";
+ 		case SealevelriseOceanAreaScalingEnum : return "SealevelriseOceanAreaScaling";
+ 		case SealevelriseGElasticEnum : return "SealevelriseGElastic";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21343)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21344)
+@@ -774,6 +774,9 @@
+ 	      else if (strcmp(name,"SealevelriseRotation")==0) return SealevelriseRotationEnum;
+ 	      else if (strcmp(name,"SealevelriseTidalLoveH")==0) return SealevelriseTidalLoveHEnum;
+ 	      else if (strcmp(name,"SealevelriseTidalLoveK")==0) return SealevelriseTidalLoveKEnum;
++	      else if (strcmp(name,"SealevelriseFluidLove")==0) return SealevelriseFluidLoveEnum;
++	      else if (strcmp(name,"SealevelriseEquatorialMoi")==0) return SealevelriseEquatorialMoiEnum;
++	      else if (strcmp(name,"SealevelrisePolarMoi")==0) return SealevelrisePolarMoiEnum;
+ 	      else if (strcmp(name,"SealevelriseAngularVelocity")==0) return SealevelriseAngularVelocityEnum;
+ 	      else if (strcmp(name,"SealevelriseOceanAreaScaling")==0) return SealevelriseOceanAreaScalingEnum;
+ 	      else if (strcmp(name,"SealevelriseGElastic")==0) return SealevelriseGElasticEnum;
+@@ -871,13 +874,13 @@
+ 	      else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
+ 	      else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
+ 	      else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
+-	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
+-	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
+-	      else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum;
++	      if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
++	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
++	      else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
++	      else if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceSIAAnalysis")==0) return StressbalanceSIAAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceSolution")==0) return StressbalanceSolutionEnum;
+ 	      else if (strcmp(name,"StressbalanceVerticalAnalysis")==0) return StressbalanceVerticalAnalysisEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21344-21345.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21344-21345.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21344-21345.diff	(revision 21726)
@@ -0,0 +1,69 @@
+Index: ../trunk-jpl/src/m/classes/slr.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.m	(revision 21344)
++++ ../trunk-jpl/src/m/classes/slr.m	(revision 21345)
+@@ -15,6 +15,9 @@
+ 		love_l         = 0; %ideam
+ 		tide_love_k    = 0; %ideam
+ 		tide_love_h    = 0; %ideam
++		fluid_love     = 0; 
++		equatorial_moi = 0; 
++		polar_moi		= 0; 
+ 		angular_velocity = 0;
+ 		rigid          = 0;
+ 		elastic        = 0;
+@@ -51,7 +54,14 @@
+ 		%tidal love numbers: 
+ 		self.tide_love_h=0.6149; %degree 2
+ 		self.tide_love_k=0.3055; % degree 2
++	
++		%secular fluid love number: 
++		self.fluid_love=0.942; 
+ 		
++		%moment of inertia: 
++		self.equatorial_moi=8.0077*10^37; % [kg m^2] 
++		self.polar_moi		 =8.0345*10^37; % [kg m^2] 
++
+ 		% mean rotational velocity of earth 
+ 		self.angular_velocity=7.2921*10^-5; % [s^-1] 
+ 
+@@ -75,6 +85,9 @@
+ 			md = checkfield(md,'fieldname','slr.love_l','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','slr.fluid_love','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','slr.equatorial_moi','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','slr.polar_moi','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.angular_velocity','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.reltol','size',[1 1]);
+ 			md = checkfield(md,'fieldname','slr.abstol','size',[1 1]);
+@@ -112,6 +125,9 @@
+ 			fielddisplay(self,'love_l','load Love number for horizontal displacements');
+ 			fielddisplay(self,'tide_love_k','tidal load Love number (deg 2)');
+ 			fielddisplay(self,'tide_love_h','tidal load Love number (deg 2)');
++			fielddisplay(self,'fluid_love','secular fluid Love number');
++			fielddisplay(self,'equatorial_moi','mean equatorial moment of inertia [kg m^2]');
++			fielddisplay(self,'polar_moi','polar moment of inertia [kg m^2]');
+ 			fielddisplay(self,'angular_velocity','mean rotational velocity of earth [per second]'); 
+ 			fielddisplay(self,'rigid','rigid earth graviational potential perturbation');
+ 			fielddisplay(self,'elastic','elastic earth graviational potential perturbation');
+@@ -133,6 +149,9 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','love_l','format','DoubleMat','mattype',1);
+ 			WriteData(fid,prefix,'object',self,'fieldname','tide_love_h','format','Double');
+ 			WriteData(fid,prefix,'object',self,'fieldname','tide_love_k','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','fluid_love','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','equatorial_moi','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','polar_moi','format','Double');
+ 			WriteData(fid,prefix,'object',self,'fieldname','angular_velocity','format','Double');
+ 			WriteData(fid,prefix,'object',self,'fieldname','rigid','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','elastic','format','Boolean');
+@@ -163,6 +182,9 @@
+ 			writejs1Darray(fid,[modelname '.slr.love_l'],self.love_l);
+ 			writejsdouble(fid,[modelname '.slr.tide_love_k'],self.tide_love_k);
+ 			writejsdouble(fid,[modelname '.slr.tide_love_h'],self.tide_love_h);
++			writejsdouble(fid,[modelname '.slr.fluid_love'],self.fluid_love);
++			writejsdouble(fid,[modelname '.slr.equatorial_moi'],self.equatorial_moi);
++			writejsdouble(fid,[modelname '.slr.polar_moi'],self.polar_moi);
+ 			writejsdouble(fid,[modelname '.slr.angular_velocity'],self.angular_velocity);
+ 			writejsdouble(fid,[modelname '.slr.rigid'],self.rigid);
+ 			writejsdouble(fid,[modelname '.slr.elastic'],self.elastic);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21345-21346.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21345-21346.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21345-21346.diff	(revision 21726)
@@ -0,0 +1,52 @@
+Index: ../trunk-jpl/test/NightlyRun/test2003.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2003.m	(revision 21345)
++++ ../trunk-jpl/test/NightlyRun/test2003.m	(revision 21346)
+@@ -11,8 +11,8 @@
+ %antarctica
+ late=sum(md.mesh.lat(md.mesh.elements),2)/3;
+ longe=sum(md.mesh.long(md.mesh.elements),2)/3;
+-pos=find(late <-80);
+-md.slr.deltathickness(pos)=-100;
++pos=find(late <-75 & longe <0);
++md.slr.deltathickness(pos)=-1;
+ 
+ %elastic loading from love numbers: 
+ nlov=1001;
+@@ -63,16 +63,20 @@
+ md.slr.abstol=1e-3;
+ 
+ %eustatic + rigid + elastic run: 
+-md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=0;
++md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=0; 
++md.cluster=generic('name',oshostname(),'np',1);
++%md.verbose=verbose('111111111');
+ md=solve(md,'Sealevelrise');
+ SnoRotation=md.results.SealevelriseSolution.Sealevel;
+ 
+ %eustatic + rigid + elastic + rotation run: 
+ md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;
++md.cluster=generic('name',oshostname(),'np',1);
++%md.verbose=verbose('111111111');
+ md=solve(md,'Sealevelrise');
+-Srotation=md.results.SealevelriseSolution.Sealevel;
++SRotation=md.results.SealevelriseSolution.Sealevel;
+ 
+ %Fields and tolerances to track changes
+ field_names     ={'noRotation','Rotation'};
+ field_tolerances={1e-13,1e-13};
+-field_values={SnoRotation,Srotation};
++field_values={SnoRotation,SRotation};
+Index: ../trunk-jpl/test/NightlyRun/test2110.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2110.m	(revision 21345)
++++ ../trunk-jpl/test/NightlyRun/test2110.m	(revision 21346)
+@@ -16,8 +16,6 @@
+ 
+ %love numbers:
+ nlov=10001;	% horizontal displacements do not work for low degree truncation, e.g., 101
+-%md.esa.love_h = love_numbers('h','CM'); md.esa.love_h(nlov+1:end)=[];
+-%md.esa.love_l = love_numbers('l','CM'); md.esa.love_l(nlov+1:end)=[];
+ md.esa.love_h = love_numbers('h'); md.esa.love_h(nlov+1:end)=[];
+ md.esa.love_l = love_numbers('l'); md.esa.love_l(nlov+1:end)=[];
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21346-21347.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21346-21347.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21346-21347.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21346)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21347)
+@@ -122,7 +122,6 @@
+ 		void SealevelriseRotationalFeedback(Vector<IssmDouble>* pSgo_rot, Vector<IssmDouble>* pSg_old, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius);
+ 		void SealevelriseGeodetic(Vector<IssmDouble>* pUp, Vector<IssmDouble>* pNorth, Vector<IssmDouble>* pEast, Vector<IssmDouble>* pSg_old, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius, IssmDouble* xx, IssmDouble* yy, IssmDouble* zz); 
+ 		IssmDouble SealevelriseOceanAverage(Vector<IssmDouble>* Sg);
+-		IssmDouble SealevelriseRotationalFeedback(IssmDouble* moi_list);
+ 		#endif
+ 		void HydrologyEPLupdateDomainx(IssmDouble* pEplcount);
+ 		void TimeAdaptx(IssmDouble* pdt);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21347-21348.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21347-21348.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21347-21348.diff	(revision 21726)
@@ -0,0 +1,4 @@
+Index: ../trunk-jpl/test/Archives/Archive2003.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21348-21349.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21348-21349.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21348-21349.diff	(revision 21726)
@@ -0,0 +1,87 @@
+Index: ../trunk-jpl/src/py3/shp/shp2exp.py
+===================================================================
+--- ../trunk-jpl/src/py3/shp/shp2exp.py	(revision 21348)
++++ ../trunk-jpl/src/py3/shp/shp2exp.py	(revision 21349)
+@@ -25,23 +25,26 @@
+ 		expfile=expfilename[0]
+ 
+ 	shp=shapefile.Reader(shapefilename)
+-	expdict=dict(closed=1,density=1)
++	expdict=dict(density=1)
+ 
+ 	x=[]
+ 	y=[]
+ 	for i in range(len(shp.shapes())):
+ 		geom=shp.shapes()[i].shapeType
+ 		if geom==5: # polygon
++         expdict['closed']=1
+ 			tmpx=[p[0] for p in shp.shapes()[i].points]
+ 			tmpy=[q[1] for q in shp.shapes()[i].points]
+ 			x.append(tmpx)
+ 			y.append(tmpy)
+ 		elif geom==3: # line
++         expdict['closed']=0
+ 			tmpx=[p[0] for p in shp.shapes()[i].points]
+ 			tmpy=[q[1] for q in shp.shapes()[i].points]
+ 			x.append(tmpx)
+ 			y.append(tmpy)
+ 		elif geom==1: # point
++         expdict['closed']=0
+ 			x.append(shp.shapes()[i].points[0][0])
+ 			y.append(shp.shapes()[i].points[0][1])
+ 
+Index: ../trunk-jpl/src/m/shp/shp2exp.py
+===================================================================
+--- ../trunk-jpl/src/m/shp/shp2exp.py	(revision 21348)
++++ ../trunk-jpl/src/m/shp/shp2exp.py	(revision 21349)
+@@ -25,23 +25,26 @@
+ 		expfile=expfilename[0]
+ 
+ 	shp=shapefile.Reader(shapefilename)
+-	expdict=dict(closed=1,density=1)
++	expdict=dict(density=1)
+ 
+ 	x=[]
+ 	y=[]
+ 	for i in range(len(shp.shapes())):
+ 		geom=shp.shapes()[i].shapeType
+ 		if geom==5: # polygon
++         expdict['closed']=1
+ 			tmpx=[p[0] for p in shp.shapes()[i].points]
+ 			tmpy=[q[1] for q in shp.shapes()[i].points]
+ 			x.append(tmpx)
+ 			y.append(tmpy)
+ 		elif geom==3: # line
++         expdict['closed']=0
+ 			tmpx=[p[0] for p in shp.shapes()[i].points]
+ 			tmpy=[q[1] for q in shp.shapes()[i].points]
+ 			x.append(tmpx)
+ 			y.append(tmpy)
+ 		elif geom==1: # point
++         expdict['closed']=0
+ 			x.append(shp.shapes()[i].points[0][0])
+ 			y.append(shp.shapes()[i].points[0][1])
+ 
+Index: ../trunk-jpl/src/m/shp/shp2exp.m
+===================================================================
+--- ../trunk-jpl/src/m/shp/shp2exp.m	(revision 21348)
++++ ../trunk-jpl/src/m/shp/shp2exp.m	(revision 21349)
+@@ -32,16 +32,15 @@
+ 			expstruct(end).y=y;
+ 			expstruct(end).nods=length(x);
+ 			expstruct(end).density=1;
+-			expstruct(end).closed=1;
++			expstruct(end).closed=0;
+ 			%exp(end).name=num2str(shp(i).id);
+ 		elseif strcmpi(shp(i).Geometry,'Line'),
+ 			x=shp(i).X; y=shp(i).Y;
+-			x(end)=x(1); y(end)=y(1);
+ 			expstruct(end+1).x=x;
+ 			expstruct(end).y=y;
+ 			expstruct(end).nods=length(x);
+ 			expstruct(end).density=1;
+-			expstruct(end).closed=1;
++			expstruct(end).closed=0;
+ 		end
+ 	end
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21349-21350.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21349-21350.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21349-21350.diff	(revision 21726)
@@ -0,0 +1,57 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21349)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21350)
+@@ -2538,8 +2538,13 @@
+ 	/*compute perturbation terms for angular velocity vector: */
+ 	m1 = 1/(1-tide_love_k/fluid_love) * (1+load_love_k2)/(moi_p-moi_e) * moi_list[0]; 
+ 	m2 = 1/(1-tide_love_k/fluid_love) * (1+load_love_k2)/(moi_p-moi_e) * moi_list[1]; 
+-	m3 = -(1+load_love_k2)/moi_p * moi_list[2]; 
++	m3 = -(1+load_love_k2)/moi_p * moi_list[2];	// term associated with fluid number (3-order-of-magnitude smaller) is negelected  
+ 
++	/* Green's function (1+k_2-h_2/g): checked against Glenn Milne's thesis Chapter 3 (eqs: 3.3-4, 3.10-11)
++	 * Perturbation terms for angular velocity vector (m1, m2, m3): checked against Mitrovica (2005 Appendix) & Jensen et al (2013 Appendix A3) 
++	 * Sea level rotational feedback: checked against GMD eqs 8-9 (only first order terms, i.e., degree 2 order 0 & 1 considered) 
++	 * all DONE in Geographic coordinates: theta \in [-90,90], lambda \in [-180 180] 
++	 */
+ 	for(int i=0;i<vertices->Size();i++){
+ 		//Vertex* vertex=(Vertex*)vertices->GetObjectByOffset(i);
+ 		Vertex* vertex=xDynamicCast<Vertex*>(vertices->GetObjectByOffset(i));
+@@ -2548,7 +2553,7 @@
+ 
+ 		/*only first order terms are considered now: */ 
+ 		value=((1.0+tide_love_k-tide_love_h)/9.81)*pow(omega*radius[i],2.0)*
+-						(-m3/6.0 - m3*cos(2.0*lati)/2.0 - sin(lati)*cos(lati)*(m1*cos(longi)+m2*sin(longi))); 
++						(-m3/6.0 + 0.5*m3*cos(2.0*lati) - 0.5*sin(2.*lati)*(m1*cos(longi)+m2*sin(longi))); 
+ 	
+ 		pSgo_rot->SetValue(vertex->Sid(),value,INS_VAL); //INS_VAL ensures that you don't add several times
+ 	}
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21349)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21350)
+@@ -3929,9 +3929,14 @@
+ 		/*From Sg_old, recover water sea level rise:*/
+ 		S=0; for(int i=0;i<NUMVERTICES;i++) S+=Sg_old[this->vertices[i]->Sid()]/NUMVERTICES;
+ 		
++		/* Perturbation terms for moment of inertia (moi_list): 
++		 * computed analytically (see Wu & Peltier, eqs 10 & 32) 
++		 * also consistent with my GMD formulation!
++		 * ALL in geographic coordinates 
++		 * */
+ 		dI_list[0] = -4*PI*(rho_water*S*area)*pow(re,4)*(sin(late)*cos(late)*cos(longe))/eartharea; 
+ 		dI_list[1] = -4*PI*(rho_water*S*area)*pow(re,4)*(sin(late)*cos(late)*sin(longe))/eartharea; 
+-		dI_list[2] = +4*PI*(rho_water*S*area)*pow(re,4)*(1-pow(cos(late),2))/eartharea; 
++		dI_list[2] = +4*PI*(rho_water*S*area)*pow(re,4)*(1-pow(sin(late),2))/eartharea; 
+ 	}
+ 	else if(this->inputs->Max(MaskIceLevelsetEnum)<0){
+ 		IssmDouble rho_ice, I; 
+@@ -3946,7 +3951,7 @@
+ 		
+ 		dI_list[0] = -4*PI*(rho_ice*I*area)*pow(re,4)*(sin(late)*cos(late)*cos(longe))/eartharea; 
+ 		dI_list[1] = -4*PI*(rho_ice*I*area)*pow(re,4)*(sin(late)*cos(late)*sin(longe))/eartharea; 
+-		dI_list[2] = +4*PI*(rho_ice*I*area)*pow(re,4)*(1-pow(cos(late),2))/eartharea; 
++		dI_list[2] = +4*PI*(rho_ice*I*area)*pow(re,4)*(1-pow(sin(late),2))/eartharea; 
+ 	}
+ 	
+ 	return; 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21350-21351.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21350-21351.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21350-21351.diff	(revision 21726)
@@ -0,0 +1,4 @@
+Index: ../trunk-jpl/test/Archives/Archive2002.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21351-21352.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21351-21352.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21351-21352.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/configure.ac
+===================================================================
+--- ../trunk-jpl/configure.ac	(revision 21351)
++++ ../trunk-jpl/configure.ac	(revision 21352)
+@@ -1,7 +1,7 @@
+ # Process this file with autoconf to produce a configure script.
+ 
+ #AUTOCONF
+-AC_INIT([Ice Sheet System Model (ISSM)],[4.11],[issm@jpl.nasa.gov],[issm],[http://issm.jpl.nasa.gov]) #Initializing configure
++AC_INIT([Ice Sheet System Model (ISSM)],[4.12],[issm@jpl.nasa.gov],[issm],[http://issm.jpl.nasa.gov]) #Initializing configure
+ AC_CONFIG_AUX_DIR([./aux-config])         #Put config files in aux-config
+ AC_CONFIG_MACRO_DIR([m4])                 #m4 macros are located in m4
+ m4_include([m4/issm_options.m4])
Index: /issm/oecreview/Archive/21337-21723/ISSM-21352-21353.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21352-21353.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21352-21353.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/solve/solve.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.m	(revision 21352)
++++ ../trunk-jpl/src/m/solve/solve.m	(revision 21353)
+@@ -49,6 +49,8 @@
+ 	solutionstring = 'TransientSolution';
+ elseif strcmpi(solutionstring,'mc') || strcmpi(solutionstring,'Balancethickness')
+ 	solutionstring = 'BalancethicknessSolution';
++elseif strcmpi(solutionstring,'mcsoft') || strcmpi(solutionstring,'BalancethicknessSoft')
++	solutionstring = 'BalancethicknessSoftSolution';
+ elseif strcmpi(solutionstring,'bv') || strcmpi(solutionstring,'Balancevelocity')
+ 	solutionstring = 'BalancevelocitySolution';
+ elseif strcmpi(solutionstring,'bsl') || strcmpi(solutionstring,'BedSlope')
Index: /issm/oecreview/Archive/21337-21723/ISSM-21353-21354.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21353-21354.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21353-21354.diff	(revision 21726)
@@ -0,0 +1,45 @@
+Index: ../trunk-jpl/src/m/classes/mismipbasalforcings.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/mismipbasalforcings.py	(revision 21353)
++++ ../trunk-jpl/src/m/classes/mismipbasalforcings.py	(revision 21354)
+@@ -5,14 +5,14 @@
+ import numpy as np
+ 
+ class mismipbasalforcings(object):
+-    """
++    """ 
+     MISMIP Basal Forcings class definition
+ 
+         Usage:
+ 	    mismipbasalforcings=mismipbasalforcings()
+     """
+ 
+-    def __init__(self,md): # {{{
++    def __init__(self): # {{{
+ 
+         self.groundedice_melting_rate = float('NaN')
+         self.meltrate_factor = float('NaN')
+@@ -20,10 +20,6 @@
+         self.upperdepth_melt = float('NaN')
+         self.geothermalflux = float('NaN')
+ 
+-        if np.all(np.isnan(self.groundedice_melting_rate)):
+-            self.groundedice_melting_rate=np.zeros(md.mesh.numberofvertices)
+-            print ' no basalforcings.groundedice_melting_rate specified: values set as zero'
+-
+ 	self.setdefaultparameters()
+ 
+     #}}}
+@@ -41,6 +37,12 @@
+         self.geothermalflux=project3d(md,'vector',self.geothermalflux,'type','node','layer',1)    #bedrock only gets geothermal flux
+ 	return self
+     #}}}
++    def initialize(self,md): # {{{
++        if np.all(np.isnan(self.groundedice_melting_rate)):
++            self.groundedice_melting_rate=np.zeros(md.mesh.numberofvertices)
++            print ' no basalforcings.groundedice_melting_rate specified: values set as zero'
++        return self
++    #}}}
+     def setdefaultparameters(self): # {{{
+         # default values for melting parameterization
+         self.meltrate_factor = 0.2
Index: /issm/oecreview/Archive/21337-21723/ISSM-21354-21355.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21354-21355.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21354-21355.diff	(revision 21726)
@@ -0,0 +1,118 @@
+Index: ../trunk-jpl/src/m/plot/plot_elementnumbering.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_elementnumbering.py	(revision 0)
++++ ../trunk-jpl/src/m/plot/plot_elementnumbering.py	(revision 21355)
+@@ -0,0 +1,44 @@
++try:
++	import pylab as p
++except ImportError:
++	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
++
++import numpy as  np
++from processmesh import processmesh
++from applyoptions import applyoptions
++from plot_icefront import plot_icefront
++
++def plot_elementnumbering(md,options,fig,ax):
++	'''
++	plot_elementnumbering - plot element numberign (starting at 1 matlab and c convention)
++
++		Usage:
++			plot_elementnumbering(md,options,fig,axes)
++
++		See also: PLOTMODEL
++	'''
++	
++	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
++	XLims=[np.min(x),np.max(x)]
++	YLims=[np.min(y),np.max(y)]
++	#plot mesh
++	ax.triplot(x,y,elements)
++	highlightpos=options.getfieldvalue('highlight','none')
++	if highlightpos!='none':
++		#if just one element duplicate it to avoid coloring issues
++		if type(highlightpos)==int:
++			highlightpos=[highlightpos,highlightpos]
++		#convert from to matlab numbering
++		highlightpos=[pos-1 for pos in highlightpos]
++		colors=np.asarray([0.5 for element in elements[highlightpos]])
++		ax.tripcolor(x,y,elements[highlightpos],facecolors=colors,alpha=0.5)
++	# and numbers
++	for i,element in enumerate(elements):
++		ax.text(np.mean(x[element]),np.mean(y[element]),str(i+1),ha='center',va='center')
++		
++
++	#apply options
++	options.addfielddefault('title','Element numbers')
++	options.addfielddefault('colorbar','off')
++	applyoptions(md,[],options,fig,ax)
++	
+Index: ../trunk-jpl/src/m/plot/plot_manager.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21354)
++++ ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21355)
+@@ -7,6 +7,7 @@
+ from checkplotoptions import checkplotoptions
+ from plot_mesh import plot_mesh
+ from plot_BC import plot_BC
++from plot_elementnumbering import plot_elementnumbering
+ from processmesh import processmesh
+ from processdata import processdata
+ from plot_unit import plot_unit
+@@ -55,7 +56,7 @@
+ 		options.addfielddefault('xlim',[min(md.mesh.x),max(md.mesh.x)])
+ 		options.addfielddefault('ylim',[min(md.mesh.y),max(md.mesh.y)])
+ 	# }}}
+-	# {{{ dealing with special plot (mesh for now)
++	# {{{ dealing with special plot
+ 	if isinstance(data,(str,unicode)):
+ 		if data=='mesh': 
+ 			plot_mesh(md,options,fig,ax)
+@@ -64,6 +65,9 @@
+ 		elif data=='BC': 
+ 			plot_BC(md,options,fig,ax)
+ 			return
++		elif data=='elementnumbering': 
++			plot_elementnumbering(md,options,fig,ax)
++			return
+ 		elif data=='none':
+ 			print 'no data provided to plot (TODO: write plot_none.py)'
+ 			applyoptions(md,[],options,fig,ax)
+Index: ../trunk-jpl/src/m/plot/plotdoc.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21354)
++++ ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21355)
+@@ -6,7 +6,8 @@
+ 	'''
+ 	pydata={'quiver':' quiver plot give data and a vector array [Vx,Vy]',
+ 					'mesh':' draw mesh using trisurf',
+-					'BC':' this will draw all the boundary conditions (Dirichlet and Neumann).'}
++					'BC':' this will draw all the boundary conditions (Dirichlet and Neumann).',
++					'elementnumbering':' numbering of elements (matlab indices)'}
+ 	TODOdata={'basal_drag':' plot the basal drag on the bed (in kPa) based on the velocity in md.initialization',
+ 				'basal_dragx or basal_dragy' :' plot a component of the basal drag on the bed (in kPa)',
+ 				'boundaries':' this will draw all the segment boundaries to the model, including rifts.',
+@@ -16,7 +17,6 @@
+ 				'deviatoricstress_principalaxis1':' arrow plot the first principal axis of the deviatoricstress tensor(replace 1 by 2 or 3 if needed)',
+ 				'driving_stress':' plot the driving stress (in kPa)',
+ 				'elements_type':' model used for each element',
+-				'elementnumbering':' numbering of elements',
+ 				'vertexnumbering':' numbering of vertices',
+ 				'highlightelements':' to highlight elements to highlight the element list',
+ 				'highlightvertices':' to highlight vertices (use highlight option to enter the vertex list',
+@@ -59,6 +59,7 @@
+ 						 'fontsize':" fontsize for the title",
+ 						 'fontweight':" fontweight for the title 'normal', 'bold'",
+ 						 'fontcolor':" TODO",
++						 'highlight':" highlights certain nodes or elements when using 'nodenumbering' or 'elementnumbering' or 'highlightnodes ' or 'highlightelements' option",
+ 						 'title':" subplot title (string)",
+ 						 'xlim':" limits of X axis (all subplots) (ex: [0,500])",
+ 						 'ylim':" limits of Y axis (all subplots) (ex: [0,500])",
+@@ -106,7 +107,6 @@
+ 					 'insetx':" [min(x) max(x)] where min(x) and max(x) are values determining the inset content",
+ 					 'insety':" [min(y) max(y)] where min(y) and max(y) are values determining the inset content",
+ 					 'insetpos':" [x,y,dx,dy] where x,y,dx and dy are within [0 1]",
+-					 'highlight':" highlights certain nodes or elements when using 'nodenumbering' or 'elementnumbering' or 'highlightnodes ' or 'highlightelements' option",
+ 					 'resolution':" resolution used by section value (array of type [horizontal_resolution vertical_resolution])",
+ 					 'showsection':" show section used by 'sectionvalue' (string 'on' or a number of labels)",
+ 					 'sectionvalue':" give the value of data on a profile given by an Argus file (string 'Argusfile_name.exp',",
Index: /issm/oecreview/Archive/21337-21723/ISSM-21355-21356.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21355-21356.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21355-21356.diff	(revision 21726)
@@ -0,0 +1,23 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21355)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21356)
+@@ -88,15 +88,16 @@
+ 									Var=md.__dict__[group].__dict__[field].__getitem__(listindex)[subfield]
+ 								DimDict=CreateVar(NCData,Var,subfield,Listgroup,DimDict,False,md.__dict__[group],field,listindex)
+ 			#No subgroup, we directly treat the variable
+-			elif type(md.__dict__[group].__dict__[field]) in typelist:
++			elif type(md.__dict__[group].__dict__[field]) in typelist or field=='bamg':
+ 				NCgroup.__setattr__('classtype', md.__dict__[group].__class__.__name__)
+ 				Var=md.__dict__[group].__dict__[field]
+ 				DimDict=CreateVar(NCData,Var,field,NCgroup,DimDict,False)
+-			else:
++                        else:
+ 				NCgroup.__setattr__('classtype', str(group))
+ 				Subgroup=NCgroup.createGroup(str(field))
+ 				Subgroup.__setattr__('classtype',md.__dict__[group].__class__.__name__)
+ 				subfields=dict.keys(md.__dict__[group].__dict__[field].__dict__)
++                                
+ 				for subfield in subfields:
+ 					if str(subfield)!='outlog':
+ 						Var=md.__dict__[group].__dict__[field].__dict__[subfield]
Index: /issm/oecreview/Archive/21337-21723/ISSM-21356-21357.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21356-21357.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21356-21357.diff	(revision 21726)
@@ -0,0 +1,30 @@
+Index: ../trunk-jpl/src/m/io/loadvars.py
+===================================================================
+--- ../trunk-jpl/src/m/io/loadvars.py	(revision 21356)
++++ ../trunk-jpl/src/m/io/loadvars.py	(revision 21357)
+@@ -5,6 +5,7 @@
+ from netCDF4 import chartostring
+ from re import findall
+ from os import path
++from collections import OrderedDict
+ from whichdb import whichdb
+ from collections import OrderedDict
+ from model import *
+@@ -97,7 +98,7 @@
+ 					indexlist=[index*(len(curclass.groups)-1)/max(1,max(steplist)) for index in steplist]
+ 					listtype=curclass.groups[keylist[0]].classtype
+ 					if listtype=='dict':
+-						nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]] = [{} for i in range(max(1,len(curclass.groups)))]
++						nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]] = [OrderedDict() for i in range(max(1,len(curclass.groups)))]
+ 					else:
+ 						nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]] = [getattr(__import__(listtype),listtype)() for i in range(max(1,len(curclass.groups)))]
+ 					Tree=nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]][:]
+@@ -105,7 +106,7 @@
+ 					nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]] = getattr(classtype[mod][1],classtype[mod][0])()
+ 					Tree=nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]]
+ 			else:
+-				curclass=NCFile.groups[classtree[mod][0]]
++                                curclass=NCFile.groups[classtree[mod][0]]
+ 				nvdict['md'].__dict__[mod] = getattr(classtype[mod][1],classtype[mod][0])()
+ 				Tree=nvdict['md'].__dict__[classtree[mod][0]]
+ 			#treating groups that are lists
Index: /issm/oecreview/Archive/21337-21723/ISSM-21357-21358.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21357-21358.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21357-21358.diff	(revision 21726)
@@ -0,0 +1,23 @@
+Index: ../trunk-jpl/src/m/io/loadvars.py
+===================================================================
+--- ../trunk-jpl/src/m/io/loadvars.py	(revision 21357)
++++ ../trunk-jpl/src/m/io/loadvars.py	(revision 21358)
+@@ -7,7 +7,6 @@
+ from os import path
+ from collections import OrderedDict
+ from whichdb import whichdb
+-from collections import OrderedDict
+ from model import *
+ 
+ def loadvars(*args):
+@@ -179,10 +178,6 @@
+ 										Tree[t].__dict__[str(var)]=varval[:,:]
+ 								else:
+ 									Tree.__dict__[str(var)]=varval[:,:]
+-							try:
+-								print('treated {}.{} with type {}'.format(mod,var,type(Tree.__dict__[str(var)])))
+-							except AttributeError:
+-								print('treated {}.{} with type {}'.format(mod,var,type(Tree[0].__dict__[str(var)])))
+ 						elif vardim==3:
+ 							if type(Tree)==list:
+ 								t=indexlist[i]
Index: /issm/oecreview/Archive/21337-21723/ISSM-21358-21359.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21358-21359.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21358-21359.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/jenkins/macosx_pine-island_dakota
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_dakota	(revision 21358)
++++ ../trunk-jpl/jenkins/macosx_pine-island_dakota	(revision 21359)
+@@ -4,7 +4,7 @@
+ #-------------------------------#
+ 
+ #MATLAB path
+-MATLAB_PATH="/Applications/MATLAB_R2015a.app/"
++MATLAB_PATH="/Applications/MATLAB_R2015b.app/"
+ 
+ #ISSM CONFIGURATION 
+ ISSM_CONFIG='--prefix=$ISSM_DIR \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21359-21360.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21359-21360.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21359-21360.diff	(revision 21726)
@@ -0,0 +1,26 @@
+Index: ../trunk-jpl/jenkins/macosx_pine-island_dakota_static
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_dakota_static	(revision 21359)
++++ ../trunk-jpl/jenkins/macosx_pine-island_dakota_static	(revision 21360)
+@@ -3,7 +3,7 @@
+ #-------------------------------#
+ 
+ #MATLAB path
+-MATLAB_PATH="/Applications/MATLAB_R2015a.app/"
++MATLAB_PATH="/Applications/MATLAB_R2015b.app/"
+ 
+ #ISSM CONFIGURATION 
+ ISSM_CONFIG='--prefix=$ISSM_DIR \
+Index: ../trunk-jpl/jenkins/macosx_pine-island_static
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_static	(revision 21359)
++++ ../trunk-jpl/jenkins/macosx_pine-island_static	(revision 21360)
+@@ -4,7 +4,7 @@
+ #-------------------------------#
+ 
+ #MATLAB path
+-MATLAB_PATH="/Applications/MATLAB_R2015a.app/"
++MATLAB_PATH="/Applications/MATLAB_R2015b.app/"
+ 
+ #ISSM CONFIGURATION 
+ ISSM_CONFIG='--prefix=$ISSM_DIR \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21377-21378.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21377-21378.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21377-21378.diff	(revision 21726)
@@ -0,0 +1,88 @@
+Index: ../trunk-jpl/src/m/classes/matice.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/matice.py	(revision 21377)
++++ ../trunk-jpl/src/m/classes/matice.py	(revision 21378)
+@@ -58,7 +58,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,"thermal_exchange_velocity","thermal exchange velocity [m/s]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"rheology_B","flow law parameter [Pa/s^(1/n)]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"rheology_n","Glen's flow law exponent"))
+-		string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
++		string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'BuddJacka', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"lithosphere_shear_modulus","Lithosphere shear modulus [Pa]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"lithosphere_density","Lithosphere density [g/cm^-3]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"mantle_shear_modulus","Mantle shear modulus [Pa]"))
+@@ -133,7 +133,7 @@
+ 		md = checkfield(md,'fieldname','materials.mu_water','>',0)
+ 		md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
+-		md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval'])
++		md = checkfield(md,'fieldname','materials.rheology_law','values',['None','BuddJacka','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval'])
+ 		md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]);
+ 		md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',[1]);
+ 		md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',[1]);
+Index: ../trunk-jpl/src/m/classes/matdamageice.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/matdamageice.py	(revision 21377)
++++ ../trunk-jpl/src/m/classes/matdamageice.py	(revision 21378)
+@@ -57,7 +57,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,"thermal_exchange_velocity","thermal exchange velocity [m/s]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"rheology_B","flow law parameter [Pa/s^(1/n)]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"rheology_n","Glen's flow law exponent"))
+-		string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
++		string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'BuddJacka', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"lithosphere_shear_modulus","Lithosphere shear modulus [Pa]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"lithosphere_density","Lithosphere density [g/cm^-3]"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"mantle_shear_modulus","Mantle shear modulus [Pa]"))
+@@ -132,7 +132,7 @@
+ 		md = checkfield(md,'fieldname','materials.mu_water','>',0)
+ 		md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices])
+ 		md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
+-		md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey', 'CuffeyTemperate', 'Paterson','Arrhenius','LliboutryDuval'])
++		md = checkfield(md,'fieldname','materials.rheology_law','values',['None', 'BuddJacka', 'Cuffey', 'CuffeyTemperate', 'Paterson','Arrhenius','LliboutryDuval'])
+ 		md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]);
+ 		md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',[1]);
+ 		md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',[1]);
+Index: ../trunk-jpl/src/m/classes/matdamageice.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matdamageice.m	(revision 21377)
++++ ../trunk-jpl/src/m/classes/matdamageice.m	(revision 21378)
+@@ -113,7 +113,7 @@
+ 			md = checkfield(md,'fieldname','materials.mu_water','>',0);
+ 			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
+ 			md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
+-			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
++			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
+ 
+ 			if ismember('GiaAnalysis',analyses),
+ 				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
+@@ -144,7 +144,7 @@
+ 			fielddisplay(self,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
+ 			fielddisplay(self,'rheology_B','flow law parameter [Pa/s^(1/n)]');
+ 			fielddisplay(self,'rheology_n','Glen''s flow law exponent');
+-			fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
++			fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', ''Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
+ 			fielddisplay(self,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
+ 			fielddisplay(self,'lithosphere_density','Lithosphere density [g/cm^-3]');
+ 			fielddisplay(self,'mantle_shear_modulus','Mantle shear modulus [Pa]');
+Index: ../trunk-jpl/src/m/classes/matice.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/matice.js	(revision 21377)
++++ ../trunk-jpl/src/m/classes/matice.js	(revision 21378)
+@@ -75,7 +75,7 @@
+ 			fielddisplay(this,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
+ 			fielddisplay(this,'rheology_B','flow law parameter [Pa/s^(1/n)]');
+ 			fielddisplay(this,'rheology_n',"Glen's flow law exponent");
+-			fielddisplay(this,'rheology_law',"law for the temperature dependance of the rheology: 'None', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'");
++			fielddisplay(this,'rheology_law',"law for the temperature dependance of the rheology: 'None', 'BuddJacka', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'");
+ 			fielddisplay(this,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
+ 			fielddisplay(this,'lithosphere_density','Lithosphere density [g/cm^-3]');
+ 			fielddisplay(this,'mantle_shear_modulus','Mantle shear modulus [Pa]');
+@@ -98,7 +98,7 @@
+ 			checkfield(md,'fieldname','materials.mu_water','>',0);
+ 			checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
+ 			checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements,1]);
+-			checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval']);
++			checkfield(md,'fieldname','materials.rheology_law','values',['None','BuddJacka','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval']);
+ 
+ 			if(ArrayAnyEqual(ArrayIsMember('GiaAnalysis',analyses),1)){
+ 				checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21378-21379.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21378-21379.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21378-21379.diff	(revision 21726)
@@ -0,0 +1,23 @@
+Index: ../trunk-jpl/src/m/classes/clusters/vilje.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21378)
++++ ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21379)
+@@ -56,7 +56,7 @@
+ 		s = "%s\n%s"%(s,fielddisplay(self,'cpuspernode','number of nodes per CPUs (32)'))
+ 		s = "%s\n%s"%(s,fielddisplay(self,'procspernodes','number of mpi procs per nodes'))
+ 		s = "%s\n%s"%(s,fielddisplay(self,'mem','node memory'))
+-		s = "%s\n%s"%(s,fielddisplay(self,'queue','name of the queue'))
++		s = "%s\n%s"%(s,fielddisplay(self,'queue','name of the queue (test is an option, workq the default)'))
+ 		s = "%s\n%s"%(s,fielddisplay(self,'time','walltime requested in minutes'))
+ 		s = "%s\n%s"%(s,fielddisplay(self,'codepath','code path on the cluster'))
+ 		s = "%s\n%s"%(s,fielddisplay(self,'executionpath','execution path on the cluster'))
+@@ -68,7 +68,8 @@
+ 	def checkconsistency(self,md,solution,analyses):
+ 		# {{{
+                 #Queue dictionarry  gives queu name as key and max walltime and cpus as var
+-		queuedict = {'workq'  :[5*24*60, 30]}
++		queuedict = {'workq':[5*24*60, 30],
++								 'test':[30,4]}
+ 		QueueRequirements(queuedict,self.queue,self.np,self.time)
+ 
+ 		#Miscelaneous
Index: /issm/oecreview/Archive/21337-21723/ISSM-21379-21380.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21379-21380.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21379-21380.diff	(revision 21726)
@@ -0,0 +1,214 @@
+Index: ../trunk-jpl/src/m/classes/matenhancedice.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matenhancedice.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/matenhancedice.m	(revision 21380)
+@@ -0,0 +1,209 @@
++%MATICE class definition
++%
++%   Usage:
++%      matenhancedice=matenhancedice();
++
++classdef matenhancedice
++	properties (SetAccess=public) 
++		rho_ice                    = 0.;
++		rho_water                  = 0.;
++		rho_freshwater             = 0.;
++		mu_water                   = 0.;
++		heatcapacity               = 0.;
++		latentheat                 = 0.;
++		thermalconductivity        = 0.;
++		temperateiceconductivity   = 0.;
++		meltingpoint               = 0.;
++		beta                       = 0.;
++		mixed_layer_capacity       = 0.;
++		thermal_exchange_velocity  = 0.;
++		rheology_E   = NaN;
++		rheology_B   = NaN;
++		rheology_n   = NaN;
++		rheology_law = '';
++
++		%gia: 
++		lithosphere_shear_modulus  = 0.;
++		lithosphere_density        = 0.;
++		mantle_shear_modulus       = 0.;
++		mantle_density             = 0.;
++
++		%slr
++		earth_density              = 0;
++
++	end
++	methods
++		function self = extrude(self,md) % {{{
++			self.rheology_E=project3d(md,'vector',self.rheology_E,'type','node');
++			self.rheology_B=project3d(md,'vector',self.rheology_B,'type','node');
++			self.rheology_n=project3d(md,'vector',self.rheology_n,'type','element');
++		end % }}}
++		function self = matenhancedice(varargin) % {{{
++			switch nargin
++				case 0
++					self=setdefaultparameters(self);
++				case 1
++					inputstruct=varargin{1};
++					list1 = properties('matenhancedice');
++					list2 = fieldnames(inputstruct);
++					for i=1:length(list1)
++						fieldname = list1{i};
++						if ismember(fieldname,list2),
++							self.(fieldname) = inputstruct.(fieldname);
++						end
++					end
++				otherwise
++					error('constructor not supported');
++			end
++		end % }}}
++		function self = setdefaultparameters(self) % {{{
++
++			%ice density (kg/m^3)
++			self.rho_ice=917.;
++
++			%ocean water density (kg/m^3)
++			self.rho_water=1023.;
++
++			%fresh water density (kg/m^3)
++			self.rho_freshwater=1000.;
++
++			%water viscosity (N.s/m^2)
++			self.mu_water=0.001787;  
++
++			%ice heat capacity cp (J/kg/K)
++			self.heatcapacity=2093.;
++
++			%ice latent heat of fusion L (J/kg)
++			self.latentheat=3.34*10^5;
++
++			%ice thermal conductivity (W/m/K)
++			self.thermalconductivity=2.4;
++			
++			%wet ice thermal conductivity (W/m/K)
++			self.temperateiceconductivity=.24;
++
++			%the melting point of ice at 1 atmosphere of pressure in K
++			self.meltingpoint=273.15;
++
++			%rate of change of melting point with pressure (K/Pa)
++			self.beta=9.8*10^-8;
++
++			%mixed layer (ice-water interface) heat capacity (J/kg/K)
++			self.mixed_layer_capacity=3974.;
++
++			%thermal exchange velocity (ice-water interface) (m/s)
++			self.thermal_exchange_velocity=1.00*10^-4;
++
++			%Rheology law: what is the temperature dependence of B with T
++			%available: none, paterson and arrhenius
++			self.rheology_law='Paterson';
++
++			% GIA:
++			self.lithosphere_shear_modulus  = 6.7*10^10;  % (Pa)
++			self.lithosphere_density        = 3.32;       % (g/cm^-3)
++			self.mantle_shear_modulus       = 1.45*10^11; % (Pa)
++			self.mantle_density             = 3.34;       % (g/cm^-3)
++
++			%SLR
++			self.earth_density= 5512;  % average density of the Earth, (kg/m^3)
++
++		end % }}}
++		function md = checkconsistency(self,md,solution,analyses) % {{{
++			md = checkfield(md,'fieldname','materials.rho_ice','>',0);
++			md = checkfield(md,'fieldname','materials.rho_water','>',0);
++			md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
++			md = checkfield(md,'fieldname','materials.mu_water','>',0);
++			md = checkfield(md,'fieldname','materials.rheology_E','>',0,'timeseries',1,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
++			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
++
++			if ismember('GiaAnalysis',analyses),
++				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
++				md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
++				md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',1);
++				md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
++			end
++			if ismember('SealevelriseAnalysis',analyses),
++				md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1);
++			end
++
++		end % }}}
++		function disp(self) % {{{
++			disp(sprintf('   Materials:'));
++
++			fielddisplay(self,'rho_ice','ice density [kg/m^3]');
++			fielddisplay(self,'rho_water','ocean water density [kg/m^3]');
++			fielddisplay(self,'rho_freshwater','fresh water density [kg/m^3]');
++			fielddisplay(self,'mu_water','water viscosity [N s/m^2]');
++			fielddisplay(self,'heatcapacity','heat capacity [J/kg/K]');
++			fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]']);
++			fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]');
++			fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K');
++			fielddisplay(self,'latentheat','latent heat of fusion [J/kg]');
++			fielddisplay(self,'beta','rate of change of melting point with pressure [K/Pa]');
++			fielddisplay(self,'mixed_layer_capacity','mixed layer capacity [W/kg/K]');
++			fielddisplay(self,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
++			fielddisplay(self,'rheology_E','enhancement factor');
++			fielddisplay(self,'rheology_B','flow law parameter [Pa/s^(1/n)]');
++			fielddisplay(self,'rheology_n','Glen''s flow law exponent');
++			fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
++			fielddisplay(self,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
++			fielddisplay(self,'lithosphere_density','Lithosphere density [g/cm^-3]');
++			fielddisplay(self,'mantle_shear_modulus','Mantle shear modulus [Pa]');
++			fielddisplay(self,'mantle_density','Mantle density [g/cm^-3]');
++			fielddisplay(self,'earth_density','Mantle density [kg/m^-3]');
++		end % }}}
++		function marshall(self,prefix,md,fid) % {{{
++			WriteData(fid,prefix,'name','md.materials.type','data',4,'format','Integer');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_ice','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_water','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_freshwater','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mu_water','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','heatcapacity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','latentheat','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermal_exchange_velocity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_E','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_n','format','DoubleMat','mattype',2);
++			WriteData(fid,prefix,'data',self.rheology_law,'name','md.materials.rheology_law','format','String');
++
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','lithosphere_shear_modulus','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','lithosphere_density','format','Double','scale',10^3);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mantle_shear_modulus','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mantle_density','format','Double','scale',10^3);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','earth_density','format','Double');
++		end % }}}
++		function savemodeljs(self,fid,modelname) % {{{
++		
++			writejsdouble(fid,[modelname '.materials.rho_ice'],self.rho_ice);
++			writejsdouble(fid,[modelname '.materials.rho_water'],self.rho_water);
++			writejsdouble(fid,[modelname '.materials.rho_freshwater'],self.rho_freshwater);
++			writejsdouble(fid,[modelname '.materials.mu_water'],self.mu_water);
++			writejsdouble(fid,[modelname '.materials.heatcapacity'],self.heatcapacity);
++			writejsdouble(fid,[modelname '.materials.latentheat'],self.latentheat);
++			writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity);
++			writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity);
++			writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint);
++			writejsdouble(fid,[modelname '.materials.beta'],self.beta);
++			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
++			writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity);
++			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
++			writejs1Darray(fid,[modelname '.materials.rheology_E'],self.rheology_E);
++			writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B);
++			writejs1Darray(fid,[modelname '.materials.rheology_n'],self.rheology_n);
++			writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law);
++			writejsdouble(fid,[modelname '.materials.lithosphere_shear_modulus'],self.lithosphere_shear_modulus);
++			writejsdouble(fid,[modelname '.materials.lithosphere_density'],self.lithosphere_density);
++			writejsdouble(fid,[modelname '.materials.mantle_shear_modulus'],self.mantle_shear_modulus);
++			writejsdouble(fid,[modelname '.materials.mantle_density'],self.mantle_density);
++			writejsdouble(fid,[modelname '.materials.earth_density'],self.earth_density);
++
++		end % }}}
++	end
++end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21380-21381.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21380-21381.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21380-21381.diff	(revision 21726)
@@ -0,0 +1,483 @@
+Index: ../trunk-jpl/src/m/classes/matestar.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matestar.m	(revision 21380)
++++ ../trunk-jpl/src/m/classes/matestar.m	(revision 21381)
+@@ -17,7 +17,7 @@
+ 		beta                       = 0.;
+ 		mixed_layer_capacity       = 0.;
+ 		thermal_exchange_velocity  = 0.;
+-		rheology_ko   = NaN;
++		rheology_B    = NaN;
+ 		rheology_Ec   = NaN;
+ 		rheology_Es   = NaN;
+ 		rheology_law = '';
+@@ -34,7 +34,7 @@
+ 	end
+ 	methods
+ 		function self = extrude(self,md) % {{{
+-			self.rheology_ko=project3d(md,'vector',self.rheology_ko,'type','node');
++			self.rheology_B=project3d(md,'vector',self.rheology_B,'type','node');
+ 			self.rheology_Ec=project3d(md,'vector',self.rheology_Ec,'type','node');
+ 			self.rheology_Es=project3d(md,'vector',self.rheology_Es,'type','node');
+ 		end % }}}
+@@ -57,7 +57,7 @@
+ 						%Set parameters so that we still use a Glen's like flow relation
+ 						self.rheology_Es = ones(size(inputstruct.rheology_B));
+ 						self.rheology_Ec = ones(size(inputstruct.rheology_B));
+-						self.rheology_ko = inputstruct.rheology_B.^(-3)*3/2;
++						self.rheology_B = inputstruct.rheology_B;
+ 					end
+ 				otherwise
+ 					error('constructor not supported');
+@@ -120,7 +120,7 @@
+ 			md = checkfield(md,'fieldname','materials.rho_water','>',0);
+ 			md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
+ 			md = checkfield(md,'fieldname','materials.mu_water','>',0);
+-			md = checkfield(md,'fieldname','materials.rheology_ko','>',0,'size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','materials.rheology_Ec','>',0,'size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','materials.rheology_Es','>',0,'size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
+@@ -151,7 +151,7 @@
+ 			fielddisplay(self,'beta','rate of change of melting point with pressure [K/Pa]');
+ 			fielddisplay(self,'mixed_layer_capacity','mixed layer capacity [W/kg/K]');
+ 			fielddisplay(self,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
+-			fielddisplay(self,'rheology_ko','octahedral flow law parameter [s^-1 Pa^-2]');
++			fielddisplay(self,'rheology_B','flow law parameter [Pa/s^(1/3)]');
+ 			fielddisplay(self,'rheology_Ec','compressive enhancement factor');
+ 			fielddisplay(self,'rheology_Es','shear enhancement factor');
+ 			fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', ''Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
+@@ -175,7 +175,7 @@
+ 			WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double');
+ 			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double');
+ 			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermal_exchange_velocity','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_ko','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1);
+ 			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_Ec','format','DoubleMat','mattype',1);
+ 			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_Es','format','DoubleMat','mattype',1);
+ 			WriteData(fid,prefix,'data',self.rheology_law,'name','md.materials.rheology_law','format','String');
+@@ -201,7 +201,7 @@
+ 			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
+ 			writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity);
+ 			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
+-			writejs1Darray(fid,[modelname '.materials.rheology_ko'],self.rheology_ko);
++			writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B);
+ 			writejs1Darray(fid,[modelname '.materials.rheology_Ec'],self.rheology_Ec);
+ 			writejs1Darray(fid,[modelname '.materials.rheology_Es'],self.rheology_Es);
+ 			writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law);
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21380)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21381)
+@@ -47,7 +47,7 @@
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz,vmag;
+ 	IssmDouble dvx[3],dvy[3],dvz[3],dvmag[3];
+-	IssmDouble epso,epsprime; 
++	IssmDouble epseff,epsprime;
+ 	int         dim;
+ 	IssmDouble *xyz_list = NULL;
+ 
+@@ -100,8 +100,8 @@
+ 			dvmag[1]=1./(2*sqrt(vmag))*(2*vx*dvx[1]+2*vy*dvy[1]+2*vz*dvz[1]);
+ 			dvmag[2]=1./(2*sqrt(vmag))*(2*vx*dvx[2]+2*vy*dvy[2]+2*vz*dvz[2]);
+ 		}
+-		EstarStrainrateQuantities(&epso,&epsprime,vx,vy,vz,vmag,&dvx[0],&dvy[0],&dvz[0],&dvmag[0]);
+-		lambdas[iv]=EstarLambdaS(epso,epsprime);
++		EstarStrainrateQuantities(&epseff,&epsprime,vx,vy,vz,vmag,&dvx[0],&dvy[0],&dvz[0],&dvmag[0]);
++		lambdas[iv]=EstarLambdaS(epseff,epsprime);
+ 	}
+ 
+ 	/*Add Stress tensor components into inputs*/
+@@ -1513,8 +1513,6 @@
+ 				name==MaterialsRheologyBEnum ||
+ 				name==MaterialsRheologyBbarEnum ||
+ 				name==MaterialsRheologyNEnum ||
+-				name==MaterialsRheologyKoEnum ||
+-				name==MaterialsRheologyKobarEnum ||
+ 				name==MaterialsRheologyEcEnum ||
+ 				name==MaterialsRheologyEcbarEnum ||
+ 				name==MaterialsRheologyEsEnum ||
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21380)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21381)
+@@ -2288,7 +2288,7 @@
+ 			if(this->material->IsDamage())this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
+ 			break;
+ 		case MatestarEnum:
+-			this->InputDepthAverageAtBase(MaterialsRheologyKoEnum,MaterialsRheologyKobarEnum);
++			this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
+ 			this->InputDepthAverageAtBase(MaterialsRheologyEcEnum,MaterialsRheologyEcbarEnum);
+ 			this->InputDepthAverageAtBase(MaterialsRheologyEsEnum,MaterialsRheologyEsbarEnum);
+ 			break;
+Index: ../trunk-jpl/src/c/classes/Materials/Matestar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 21380)
++++ ../trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 21381)
+@@ -133,20 +133,45 @@
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetA(){/*{{{*/
+-	_error_("not implemented yet");
++	/*
++	 * A = 1/B^n
++    */
++
++	IssmDouble B,n;
++
++	element->inputs->GetInputAverage(&B,MaterialsRheologyBEnum);
++	n=this->GetN();
++
++	return pow(B,-n);
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetAbar(){/*{{{*/
+-	_error_("not implemented yet");
++	/*
++	 * A = 1/B^n
++	 */
++
++	IssmDouble B,n;
++
++	element->inputs->GetInputAverage(&B,MaterialsRheologyBbarEnum);
++	n=this->GetN();
++
++	return pow(B,-n);
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetB(){/*{{{*/
+-	_error_("not implemented yet");
++	/*Output*/
++	IssmDouble B;
++
++	element->inputs->GetInputAverage(&B,MaterialsRheologyBEnum);
++	return B;
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetBbar(){/*{{{*/
++	/*Output*/
++	IssmDouble Bbar;
+ 
+-	_error_("not implemented yet");
++	element->inputs->GetInputAverage(&Bbar,MaterialsRheologyBbarEnum);
++	return Bbar;
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetD(){/*{{{*/
+@@ -158,8 +183,26 @@
+ 	_error_("not implemented yet");
+ }
+ /*}}}*/
++IssmDouble Matestar::GetEc(){/*{{{*/
++
++	/*Output*/
++	IssmDouble Ec;
++
++	element->inputs->GetInputAverage(&Ec,MaterialsRheologyEcEnum);
++	return Ec;
++}
++/*}}}*/
++IssmDouble Matestar::GetEs(){/*{{{*/
++
++	/*Output*/
++	IssmDouble Es;
++
++	element->inputs->GetInputAverage(&Es,MaterialsRheologyEsEnum);
++	return Es;
++}
++/*}}}*/
+ IssmDouble Matestar::GetN(){/*{{{*/
+-	_error_("not implemented yet");
++	return 3.;
+ }
+ /*}}}*/
+ void  Matestar::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff){/*{{{*/
+@@ -227,13 +270,14 @@
+ 	_error_("not implemented yet");
+ }
+ /*}}}*/
+-IssmDouble Matestar::GetViscosityGeneral(IssmDouble ko,IssmDouble Ec, IssmDouble Es,IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz){/*{{{*/
++IssmDouble Matestar::GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz){/*{{{*/
+ 
+ 	/*Intermediaries*/
+ 	IssmDouble viscosity;
+-	IssmDouble E,lambdas;
+-	IssmDouble epso,epsprime_norm;
++	IssmDouble epseff,epsprime_norm;
++	IssmDouble lambdas;
+ 	IssmDouble vmag,dvmag[3];
++	IssmDouble B,Ec,Es,E;
+ 
+ 	/*Calculate velocity magnitude and its derivative*/
+ 	vmag = sqrt(vx*vx+vy*vy+vz*vz);
+@@ -248,17 +292,27 @@
+ 		dvmag[2]=1./(2*sqrt(vmag))*(2*vx*dvx[2]+2*vy*dvy[2]+2*vz*dvz[2]);
+ 	}
+ 
+-	EstarStrainrateQuantities(&epso,&epsprime_norm,vx,vy,vz,vmag,dvx,dvy,dvz,&dvmag[0]);
+-	lambdas=EstarLambdaS(epso,epsprime_norm);
++	EstarStrainrateQuantities(&epseff,&epsprime_norm,vx,vy,vz,vmag,dvx,dvy,dvz,&dvmag[0]);
++	lambdas=EstarLambdaS(epseff,epsprime_norm);
+ 
++	/*Get B and enhancement*/
++	B=GetB(); _assert_(B>0.);
++	Ec=GetEc(); _assert_(Ec>=0.);
++	Es=GetEs(); _assert_(Es>=0.);
++
+ 	/*Get total enhancement factor E(lambdas)*/
+-	E = Ec + (Es-Ec)*lambdas*lambdas;
++	E = Ec + (Es-Ec)*lambdas*lambdas; _assert_(E>0.);
+ 
+ 	/*Compute viscosity*/
+-	_assert_(E>0.); 
+-	_assert_(ko>0.); 
+-	_assert_(epso>0.); 
+-	viscosity = 1./(2*pow(ko*E*epso*epso,1./3.));
++	/*if no strain rate, return maximum viscosity*/
++	if(epseff==0.){
++		viscosity = 1.e+14/2.;
++		//viscosity = B;
++		//viscosity=2.5*pow(10.,17);
++	}
++	else{
++		viscosity = B/(2.*pow(E*epseff*epseff,1./3.));
++	}
+ 
+ 	/*Assign output pointer*/
+ 	return viscosity;
+@@ -323,7 +377,7 @@
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz;
+ 	IssmDouble dvx[3],dvy[3],dvz[3];
+-	IssmDouble ko,Ec,Es;
++	IssmDouble B,Ec,Es;
+ 
+ 	/*Get velocity derivatives in all directions*/
+ 	_assert_(dim>1);
+@@ -343,16 +397,8 @@
+ 		dvz[0] = 0.; dvz[1] = 0.; dvz[2] = 0.;
+ 	}
+ 
+-	/*Get enhancement factors and ko*/
+-	Input* ec_input = element->inputs->GetInput(MaterialsRheologyEcEnum); _assert_(ec_input);
+-	Input* es_input = element->inputs->GetInput(MaterialsRheologyEsEnum); _assert_(es_input);
+-	Input* ko_input = element->inputs->GetInput(MaterialsRheologyKoEnum); _assert_(ko_input);
+-	ec_input->GetInputValue(&Ec,gauss);
+-	es_input->GetInputValue(&Es,gauss);
+-	ko_input->GetInputValue(&ko,gauss);
+-
+ 	/*Compute viscosity*/
+-	*pviscosity=GetViscosityGeneral(ko,Ec,Es,vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
++	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
+ }
+ /*}}}*/
+ void  Matestar::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+@@ -363,7 +409,6 @@
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz;
+ 	IssmDouble dvx[3],dvy[3],dvz[3];
+-	IssmDouble ko,Ec,Es;
+ 
+ 	/*Get velocity derivatives in all directions*/
+ 	_assert_(dim==2 || dim==3);
+@@ -383,16 +428,8 @@
+ 	vz = 0.;
+ 	dvz[0] = 0.; dvz[1] = 0.; dvz[2] = -dvx[0]-dvy[1];
+ 
+-	/*Get enhancement factors and ko*/
+-	Input* ec_input = element->inputs->GetInput(MaterialsRheologyEcEnum); _assert_(ec_input);
+-	Input* es_input = element->inputs->GetInput(MaterialsRheologyEsEnum); _assert_(es_input);
+-	Input* ko_input = element->inputs->GetInput(MaterialsRheologyKoEnum); _assert_(ko_input);
+-	ec_input->GetInputValue(&Ec,gauss);
+-	es_input->GetInputValue(&Es,gauss);
+-	ko_input->GetInputValue(&ko,gauss);
+-
+ 	/*Compute viscosity*/
+-	*pviscosity=GetViscosityGeneral(ko,Ec,Es,vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
++	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
+ }/*}}}*/
+ void  Matestar::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+ 	_error_("not implemented yet");
+@@ -404,7 +441,7 @@
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz;
+ 	IssmDouble dvx[3],dvy[3],dvz[3];
+-	IssmDouble ko,Ec,Es;
++	IssmDouble B,Ec,Es;
+ 
+ 	/*Get velocity derivatives in all directions*/
+ 	_assert_(dim==1 || dim==2);
+@@ -427,16 +464,8 @@
+ 	vz = 0.;
+ 	dvz[0] = 0.; dvz[1] = 0.; dvz[2] = -dvx[0]-dvy[1];
+ 
+-	/*Get enhancement factors and ko*/
+-	Input* ec_input = element->inputs->GetInput(MaterialsRheologyEcbarEnum); _assert_(ec_input);
+-	Input* es_input = element->inputs->GetInput(MaterialsRheologyEsbarEnum); _assert_(es_input);
+-	Input* ko_input = element->inputs->GetInput(MaterialsRheologyKobarEnum); _assert_(ko_input);
+-	ec_input->GetInputValue(&Ec,gauss);
+-	es_input->GetInputValue(&Es,gauss);
+-	ko_input->GetInputValue(&ko,gauss);
+-
+ 	/*Compute viscosity*/
+-	*pviscosity=GetViscosityGeneral(ko,Ec,Es,vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
++	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
+ }/*}}}*/
+ void  Matestar::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+ 	_error_("not implemented yet");
+Index: ../trunk-jpl/src/c/classes/Materials/Matestar.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matestar.h	(revision 21380)
++++ ../trunk-jpl/src/c/classes/Materials/Matestar.h	(revision 21381)
+@@ -68,6 +68,8 @@
+ 		IssmDouble GetBbar();
+ 		IssmDouble GetD();
+ 		IssmDouble GetDbar();
++		IssmDouble GetEc();
++		IssmDouble GetEs();
+ 		IssmDouble GetN();
+ 		bool       IsDamage();
+ 		void       ResetHooks();
+@@ -81,7 +83,7 @@
+ 		void       ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+ 		void       ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon);
+ 		/*}}}*/
+-		IssmDouble GetViscosityGeneral(IssmDouble ko,IssmDouble Ec, IssmDouble Es,IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz);
++		IssmDouble GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz);
+ };
+ 
+ #endif  /* _MATESTAR_H_ */
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21380)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21381)
+@@ -213,8 +213,6 @@
+ 	MaterialsRheologyBbarEnum,
+ 	MaterialsRheologyLawEnum,
+ 	MaterialsRheologyNEnum,
+-	MaterialsRheologyKoEnum,
+-	MaterialsRheologyKobarEnum,
+ 	MaterialsRheologyEcEnum,
+ 	MaterialsRheologyEcbarEnum,
+ 	MaterialsRheologyEsEnum,
+Index: ../trunk-jpl/src/c/shared/Elements/elements.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Elements/elements.h	(revision 21380)
++++ ../trunk-jpl/src/c/shared/Elements/elements.h	(revision 21381)
+@@ -14,9 +14,9 @@
+ IssmDouble Arrhenius(IssmDouble temperature,IssmDouble depth,IssmDouble n);
+ IssmDouble LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure, IssmDouble n, IssmDouble betaCC, IssmDouble referencetemperature, IssmDouble heatcapacity, IssmDouble latentheat);
+ // IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n);
+-IssmDouble EstarLambdaS(IssmDouble epso, IssmDouble epsprime_norm);
++IssmDouble EstarLambdaS(IssmDouble epseff, IssmDouble epsprime_norm);
+ void EstarOmega(IssmDouble* omega,IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble vmag,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz, IssmDouble* dvmag);
+-void EstarStrainrateQuantities(IssmDouble *pepso, IssmDouble *pepsprime_norm, IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble vmag,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble* dvmag);
++void EstarStrainrateQuantities(IssmDouble *pepseff, IssmDouble *pepsprime_norm, IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble vmag,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble* dvmag);
+ IssmDouble PddSurfaceMassBalance(IssmDouble* monthlytemperatures,  IssmDouble* monthlyprec,
+ 				 IssmDouble* pdds, IssmDouble* pds, IssmDouble* melt, IssmDouble* accu, IssmDouble signorm, 
+ 				 IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble desfac,IssmDouble s0t,
+Index: ../trunk-jpl/src/c/shared/Elements/EstarComponents.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Elements/EstarComponents.cpp	(revision 21380)
++++ ../trunk-jpl/src/c/shared/Elements/EstarComponents.cpp	(revision 21381)
+@@ -2,12 +2,12 @@
+ #include "../Numerics/types.h"
+ #include "../Exceptions/exceptions.h"
+ #include "./elements.h"
+-void EstarStrainrateQuantities(IssmDouble *pepso, IssmDouble *pepsprime_norm, IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble vmag,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble* dvmag){/*{{{*/
++void EstarStrainrateQuantities(IssmDouble *pepseff, IssmDouble *pepsprime_norm, IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble vmag,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble* dvmag){/*{{{*/
+ 
+ 	/*Intermediaries*/
+ 	IssmDouble omega[3];
+ 	IssmDouble nrsp[3],nrsp_norm;
+-	IssmDouble eps[3][3],epso;
++	IssmDouble eps[3][3],epseff;
+ 	IssmDouble epsprime[3],epsprime_norm;
+ 
+ 	/*Get omega, correction for rigid body rotation*/
+@@ -23,7 +23,7 @@
+ 	if(nrsp_norm==0){
+ 		nrsp[0] = 0.;
+ 		nrsp[1] = 0.;
+-		nrsp[2] = 1.;
++		nrsp[2] = 0.;
+ 	}
+ 	else{
+ 		nrsp[0] =nrsp[0]/nrsp_norm;
+@@ -36,13 +36,12 @@
+ 	eps[1][0] = .5*(dvx[1]+dvy[0]); eps[1][1] = dvy[1];             eps[1][2] = .5*(dvy[2]+dvz[1]);
+ 	eps[2][0] = .5*(dvx[2]+dvz[0]); eps[2][1] = .5*(dvy[2]+dvz[1]); eps[2][2] = dvz[2];
+ 
+-	/*octahedral strain rate*/
+-	epso = 0.;
+-	for(int i=0;i<3;i++) for(int j=0;j<3;j++) epso += eps[i][j]*eps[i][j];
+-	if(epso==0.) epso=1.e-14;
+-	epso=sqrt(epso)/sqrt(3.);
++	/*effective strain rate*/
++	epseff = 0.;
++	/* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy */
++	epseff = sqrt(eps[0][0]*eps[0][0] + eps[1][1]*eps[1][1] + eps[0][1]*eps[0][1] +  eps[0][2]*eps[0][2] + eps[1][2]*eps[1][2] + eps[0][0]*eps[1][1]);
+ 
+-	/*Compute the shear strain rate on the non ratating shear plane*/
++	/*Compute the shear strain rate on the non rotating shear plane*/
+ 	epsprime[0]=0.;
+ 	epsprime[1]=0.;
+ 	epsprime[2]=0.;
+@@ -73,7 +72,7 @@
+ 	epsprime_norm = sqrt(epsprime[0]*epsprime[0] + epsprime[1]*epsprime[1] + epsprime[2]*epsprime[2]);
+ 	
+ 	/*Assign output pointers*/
+-	*pepso=epso;
++	*pepseff=epseff;
+ 	*pepsprime_norm=epsprime_norm;
+ }/*}}}*/
+ void EstarOmega(IssmDouble* omega,IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble vmag,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz, IssmDouble* dvmag){/*{{{*/
+@@ -113,7 +112,7 @@
+ 	if(omega_norm==0){
+ 		omega[0] = 0.;
+ 		omega[1] = 0.;
+-		omega[2] = 1.;
++		omega[2] = 0.;
+ 	}
+ 	else{
+ 		omega[0] =omega[0]/omega_norm;
+@@ -122,8 +121,15 @@
+ 	}
+ 
+ }/*}}}*/
+-IssmDouble EstarLambdaS(IssmDouble epso, IssmDouble epsprime_norm){/*{{{*/
+-   _assert_(epso>0.);
++IssmDouble EstarLambdaS(IssmDouble epseff, IssmDouble epsprime_norm){/*{{{*/
++	IssmDouble lambdas;
++
+ 	_assert_(epsprime_norm>=0.); 
+-	return sqrt(2*epsprime_norm*epsprime_norm/(3*epso*epso));
++	if(epseff==0.){
++		lambdas=0.;
++	}
++	else{
++		lambdas=sqrt(epsprime_norm*epsprime_norm/(epseff*epseff));
++	}
++	return lambdas; 
+ }/*}}}*/
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 21380)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 21381)
+@@ -79,13 +79,13 @@
+ 			}
+ 			break;
+ 		case MatestarEnum:
+-			iomodel->FetchDataToInput(elements,"md.materials.rheology_ko",MaterialsRheologyKoEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
+ 			iomodel->FetchDataToInput(elements,"md.materials.rheology_Ec",MaterialsRheologyEcEnum);
+ 			iomodel->FetchDataToInput(elements,"md.materials.rheology_Es",MaterialsRheologyEsEnum);
+ 			for(i=0;i<iomodel->numberofelements;i++) if(iomodel->my_elements[i]) materials->AddObject(new Matestar(i+1,i,iomodel));
+ 			switch(iomodel->domaindim){
+ 				case 2:
+-					elements->InputDuplicate(MaterialsRheologyKoEnum,MaterialsRheologyKobarEnum);
++					elements->InputDuplicate(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
+ 					elements->InputDuplicate(MaterialsRheologyEcEnum,MaterialsRheologyEcbarEnum);
+ 					elements->InputDuplicate(MaterialsRheologyEsEnum,MaterialsRheologyEsbarEnum);
+ 					break;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21381-21382.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21381-21382.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21381-21382.diff	(revision 21726)
@@ -0,0 +1,181 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21381)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21382)
+@@ -107,7 +107,7 @@
+ void EnthalpyAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
+ 
+ 	bool dakota_analysis,ismovingfront,isenthalpy;
+-	int frictionlaw,basalforcing_model;
++	int frictionlaw,basalforcing_model,materialstype;
+ 	int FrictionCoupling;
+ 	
+ 	/*Now, is the model 3d? otherwise, do nothing: */
+@@ -133,6 +133,7 @@
+ 	iomodel->FindConstant(&dakota_analysis,"md.qmu.isdakota");
+ 	iomodel->FindConstant(&ismovingfront,"md.transient.ismovingfront");
+ 	iomodel->FindConstant(&frictionlaw,"md.friction.law");
++	iomodel->FindConstant(&materialstype,"md.materials.type");
+ 
+ 	iomodel->FetchDataToInput(elements,"md.geometry.thickness",ThicknessEnum);
+ 	iomodel->FetchDataToInput(elements,"md.geometry.surface",SurfaceEnum);
+@@ -144,8 +145,6 @@
+ 		iomodel->FetchDataToInput(elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
+ 		iomodel->FetchDataToInput(elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
+ 	}
+-	iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
+-	iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.pressure",PressureEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.temperature",TemperatureEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.waterfraction",WaterfractionEnum);
+@@ -171,6 +170,23 @@
+ 			iomodel->FetchDataToInput(elements,"md.basalforcings.geothermalflux",BasalforcingsGeothermalfluxEnum);
+ 			break;
+ 	}
++
++	/*Rheology type*/
++	iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
++	switch(materialstype){
++		case MatdamageiceEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			break;
++		case MatestarEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_Ec",MaterialsRheologyEcEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_Es",MaterialsRheologyEsEnum);
++			break;
++		case MaticeEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			break;
++		default:
++			_error_("not supported");
++	}
+ 	
+ 	/*Friction law variables*/
+ 	switch(frictionlaw){
+@@ -588,7 +604,7 @@
+ 			D_scalar=D_scalar*dt;
+ 		}
+ 
+-		/*Artifficial diffusivity*/
++		/*Artificial diffusivity*/
+ 		if(stabilization==1){
+ 			element->ElementSizes(&hx,&hy,&hz);
+ 			vel=sqrt(vx*vx + vy*vy + vz*vz)+1.e-14;
+@@ -1451,6 +1467,7 @@
+ 	bool        converged;
+ 	int         i,rheology_law;
+ 	IssmDouble  B_average,s_average,T_average=0.,P_average=0.;
++	IssmDouble  n=3.0;
+ 	int        *doflist   = NULL;
+ 	IssmDouble *xyz_list  = NULL;
+ 
+@@ -1476,6 +1493,7 @@
+ 	}
+ 
+ 	/*Get all inputs and parameters*/
++	if(element->material->ObjectEnum()!=MatestarEnum) n=element->GetMaterialParameter(MaterialsRheologyNEnum);
+ 	element->GetInputValue(&converged,ConvergedEnum);
+ 	element->GetInputListOnNodes(&pressure[0],PressureEnum);
+ 	if(converged){
+@@ -1505,7 +1523,7 @@
+ 				element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
+ 				break;
+ 			case CuffeyTemperateEnum:
+-				for(i=0;i<numnodes;i++) B[i]=CuffeyTemperate(temperature[i], waterfraction[i], element->GetMaterialParameter(MaterialsRheologyNEnum));
++				for(i=0;i<numnodes;i++) B[i]=CuffeyTemperate(temperature[i], waterfraction[i],n);
+ 				element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
+ 				break;
+ 			case PatersonEnum:
+@@ -1514,11 +1532,11 @@
+ 				break;
+ 			case ArrheniusEnum:
+ 				element->GetVerticesCoordinates(&xyz_list);
+-				for(i=0;i<numnodes;i++) B[i]=Arrhenius(temperature[i],surface[i]-xyz_list[i*3+2],element->GetMaterialParameter(MaterialsRheologyNEnum));
++				for(i=0;i<numnodes;i++) B[i]=Arrhenius(temperature[i],surface[i]-xyz_list[i*3+2],n);
+ 				element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
+ 				break;
+ 			case LliboutryDuvalEnum:
+-				for(i=0;i<numnodes;i++) B[i]=LliboutryDuval(values[i],pressure[i],element->GetMaterialParameter(MaterialsRheologyNEnum),element->GetMaterialParameter(MaterialsBetaEnum),element->GetMaterialParameter(ConstantsReferencetemperatureEnum),element->GetMaterialParameter(MaterialsHeatcapacityEnum),element->GetMaterialParameter(MaterialsLatentheatEnum)); 
++				for(i=0;i<numnodes;i++) B[i]=LliboutryDuval(values[i],pressure[i],n,element->GetMaterialParameter(MaterialsBetaEnum),element->GetMaterialParameter(ConstantsReferencetemperatureEnum),element->GetMaterialParameter(MaterialsHeatcapacityEnum),element->GetMaterialParameter(MaterialsLatentheatEnum)); 
+ 				element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType()); 
+ 				break; 
+ 			default: _error_("Rheology law " << EnumToStringx(rheology_law) << " not supported yet");
+Index: ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 21381)
++++ ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 21382)
+@@ -72,7 +72,7 @@
+ }/*}}}*/
+ void ThermalAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
+ 
+-	int frictionlaw,basalforcing_model;
++	int frictionlaw,basalforcing_model,materialstype;
+ 	int FrictionCoupling;
+ 	/*Now, is the model 3d? otherwise, do nothing: */
+ 	if(iomodel->domaintype==Domain2DhorizontalEnum)return;
+@@ -92,6 +92,7 @@
+ 	iomodel->FindConstant(&dakota_analysis,"md.qmu.isdakota");
+ 	iomodel->FindConstant(&ismovingfront,"md.transient.ismovingfront");
+ 	iomodel->FindConstant(&frictionlaw,"md.friction.law");
++	iomodel->FindConstant(&materialstype,"md.materials.type");
+ 
+ 	iomodel->FetchDataToInput(elements,"md.geometry.thickness",ThicknessEnum);
+ 	iomodel->FetchDataToInput(elements,"md.geometry.surface",SurfaceEnum);
+@@ -105,8 +106,6 @@
+ 	}
+ 	iomodel->FetchDataToInput(elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
+ 	iomodel->FetchDataToInput(elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
+-	iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
+-	iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.pressure",PressureEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.temperature",TemperatureEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.vx",VxEnum);
+@@ -115,6 +114,23 @@
+ 	InputUpdateFromConstantx(elements,0.,VxMeshEnum);
+ 	InputUpdateFromConstantx(elements,0.,VyMeshEnum);
+ 	InputUpdateFromConstantx(elements,0.,VzMeshEnum);
++
++	/*Rheology type*/
++	iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
++	switch(materialstype){
++		case MatdamageiceEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			break;
++		case MatestarEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_Ec",MaterialsRheologyEcEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_Es",MaterialsRheologyEsEnum);
++			break;
++		case MaticeEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			break;
++		default:
++			_error_("not supported");
++	}
+ 	if(ismovingfront){
+ 		iomodel->FetchDataToInput(elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum); // required for updating active nodes
+ 	}
+@@ -721,6 +737,7 @@
+ 	int         i,rheology_law;
+ 	int        *doflist   = NULL;
+ 	IssmDouble *xyz_list  = NULL;
++	IssmDouble  n=3.0;
+ 	bool        hack      = false;
+ 
+ 	/*Fetch number of nodes and dof for this finite element*/
+@@ -755,6 +772,7 @@
+ 	}
+ 
+ 	/*Get all inputs and parameters*/
++	if(element->material->ObjectEnum()!=MatestarEnum) n=element->GetMaterialParameter(MaterialsRheologyNEnum);
+ 	element->GetInputValue(&converged,ConvergedEnum);
+ 	if(converged){
+ 		element->AddInput(TemperatureEnum,values,element->GetElementType());
+@@ -781,7 +799,7 @@
+ 				break;
+ 			case ArrheniusEnum:{
+ 				element->GetVerticesCoordinates(&xyz_list);
+-				for(i=0;i<numnodes;i++) B[i]=Arrhenius(values[i],surface[i]-xyz_list[i*3+2],element->GetMaterialParameter(MaterialsRheologyNEnum));
++				for(i=0;i<numnodes;i++) B[i]=Arrhenius(values[i],surface[i]-xyz_list[i*3+2],n);
+ 				element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
+ 				break;
+ 				}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21382-21383.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21382-21383.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21382-21383.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/test/NightlyRun/test460.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test460.m	(revision 21382)
++++ ../trunk-jpl/test/NightlyRun/test460.m	(revision 21383)
+@@ -4,7 +4,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.par');
+ md=extrude(md,3,1.);
+ md.materials = matestar(md.materials);
+-md.materials.rheology_ko = (3.15e8)^(-3)*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_B = 3.15e8*ones(md.mesh.numberofvertices,1);
+ md.materials.rheology_Ec=ones(md.mesh.numberofvertices,1);
+ md.materials.rheology_Es=3*ones(md.mesh.numberofvertices,1);
+ md.cluster=generic('name',oshostname(),'np',3);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21383-21384.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21383-21384.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21383-21384.diff	(revision 21726)
@@ -0,0 +1,54 @@
+Index: ../trunk-jpl/test/NightlyRun/test461.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test461.m	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test461.m	(revision 21384)
+@@ -0,0 +1,39 @@
++%Test Name: SquareSheetShelfThermalFSEstar
++md=triangle(model(),'../Exp/Square.exp',180000.);
++md=setmask(md,'../Exp/SquareShelf.exp','');
++md=parameterize(md,'../Par/SquareSheetShelf.par');
++md=extrude(md,3,1.);
++md.materials = matestar(md.materials);
++md.materials.rheology_B = 3.15e8*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_Ec=ones(md.mesh.numberofvertices,1);
++md.materials.rheology_Es=3*ones(md.mesh.numberofvertices,1);
++
++md=setflowequation(md,'FS','all');
++md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
++md.initialization.watercolumn=zeros(md.mesh.numberofvertices,1);
++md.transient.isstressbalance=0;
++md.transient.ismasstransport=0;
++md.transient.issmb=1;
++md.transient.isthermal=1;
++md.transient.isgroundingline=0;
++md.thermal.isenthalpy=1;
++md.thermal.isdynamicbasalspc=1;
++md.cluster=generic('name',oshostname(),'np',3);
++md=solve(md,'Transient');
++
++%Fields and tolerances to track changes
++field_names     ={'Enthalpy1','Waterfraction1','Temperature1',...
++	   'Enthalpy2','Waterfraction2','Temperature2',...
++	   'Enthalpy3','Waterfraction3','Temperature3'};
++field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-9,1e-13};
++field_values={...
++	   (md.results.TransientSolution(1).Enthalpy),...
++	   (md.results.TransientSolution(1).Waterfraction),...
++	   (md.results.TransientSolution(1).Temperature),...
++	   (md.results.TransientSolution(2).Enthalpy),...
++	   (md.results.TransientSolution(2).Waterfraction),...
++	   (md.results.TransientSolution(2).Temperature),...
++	   (md.results.TransientSolution(3).Enthalpy),...
++	   (md.results.TransientSolution(3).Waterfraction),...
++	   (md.results.TransientSolution(3).Temperature),...
++	   };
+Index: ../trunk-jpl/test/Archives/Archive461.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: ../trunk-jpl/test/Archives/Archive461.arch
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21384-21385.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21384-21385.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21384-21385.diff	(revision 21726)
@@ -0,0 +1,122 @@
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21384)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21385)
+@@ -219,8 +219,6 @@
+ 		case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar";
+ 		case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw";
+ 		case MaterialsRheologyNEnum : return "MaterialsRheologyN";
+-		case MaterialsRheologyKoEnum : return "MaterialsRheologyKo";
+-		case MaterialsRheologyKobarEnum : return "MaterialsRheologyKobar";
+ 		case MaterialsRheologyEcEnum : return "MaterialsRheologyEc";
+ 		case MaterialsRheologyEcbarEnum : return "MaterialsRheologyEcbar";
+ 		case MaterialsRheologyEsEnum : return "MaterialsRheologyEs";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21384)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21385)
+@@ -222,8 +222,6 @@
+ 	      else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum;
+-	      else if (strcmp(name,"MaterialsRheologyKo")==0) return MaterialsRheologyKoEnum;
+-	      else if (strcmp(name,"MaterialsRheologyKobar")==0) return MaterialsRheologyKobarEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyEc")==0) return MaterialsRheologyEcEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyEcbar")==0) return MaterialsRheologyEcbarEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyEs")==0) return MaterialsRheologyEsEnum;
+@@ -259,12 +257,12 @@
+ 	      else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
+ 	      else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
+ 	      else if (strcmp(name,"CalvingdevCoeff")==0) return CalvingdevCoeffEnum;
++	      else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
++	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
+          else stage=3;
+    }
+    if(stage==3){
+-	      if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
+-	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
+-	      else if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
++	      if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
+ 	      else if (strcmp(name,"CalvingrateyAverage")==0) return CalvingrateyAverageEnum;
+ 	      else if (strcmp(name,"StrainRateparallel")==0) return StrainRateparallelEnum;
+ 	      else if (strcmp(name,"StrainRateperpendicular")==0) return StrainRateperpendicularEnum;
+@@ -382,12 +380,12 @@
+ 	      else if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
+ 	      else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
+ 	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
++	      else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
++	      else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
+-	      else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
+-	      else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
++	      if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
+ 	      else if (strcmp(name,"SmbTa")==0) return SmbTaEnum;
+ 	      else if (strcmp(name,"SmbV")==0) return SmbVEnum;
+ 	      else if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum;
+@@ -505,12 +503,12 @@
+ 	      else if (strcmp(name,"Velocity")==0) return VelocityEnum;
+ 	      else if (strcmp(name,"VxAverage")==0) return VxAverageEnum;
+ 	      else if (strcmp(name,"Vx")==0) return VxEnum;
++	      else if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
++	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
+-	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
+-	      else if (strcmp(name,"Vy")==0) return VyEnum;
++	      if (strcmp(name,"Vy")==0) return VyEnum;
+ 	      else if (strcmp(name,"VyPicard")==0) return VyPicardEnum;
+ 	      else if (strcmp(name,"Vz")==0) return VzEnum;
+ 	      else if (strcmp(name,"VzSSA")==0) return VzSSAEnum;
+@@ -628,12 +626,12 @@
+ 	      else if (strcmp(name,"Outputdefinition45")==0) return Outputdefinition45Enum;
+ 	      else if (strcmp(name,"Outputdefinition46")==0) return Outputdefinition46Enum;
+ 	      else if (strcmp(name,"Outputdefinition47")==0) return Outputdefinition47Enum;
++	      else if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
++	      else if (strcmp(name,"Outputdefinition49")==0) return Outputdefinition49Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
+-	      else if (strcmp(name,"Outputdefinition49")==0) return Outputdefinition49Enum;
+-	      else if (strcmp(name,"Outputdefinition50")==0) return Outputdefinition50Enum;
++	      if (strcmp(name,"Outputdefinition50")==0) return Outputdefinition50Enum;
+ 	      else if (strcmp(name,"Outputdefinition51")==0) return Outputdefinition51Enum;
+ 	      else if (strcmp(name,"Outputdefinition52")==0) return Outputdefinition52Enum;
+ 	      else if (strcmp(name,"Outputdefinition53")==0) return Outputdefinition53Enum;
+@@ -751,12 +749,12 @@
+ 	      else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
+ 	      else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
+ 	      else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
++	      else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
++	      else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
+-	      else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum;
+-	      else if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum;
++	      if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum;
+ 	      else if (strcmp(name,"LevelsetfunctionPicard")==0) return LevelsetfunctionPicardEnum;
+ 	      else if (strcmp(name,"LevelsetReinitFrequency")==0) return LevelsetReinitFrequencyEnum;
+ 	      else if (strcmp(name,"Sealevel")==0) return SealevelEnum;
+@@ -874,12 +872,12 @@
+ 	      else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
+ 	      else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
+ 	      else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
++	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
++	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
+-	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
+-	      else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
++	      if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceSIAAnalysis")==0) return StressbalanceSIAAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceSolution")==0) return StressbalanceSolutionEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21385-21386.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21385-21386.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21385-21386.diff	(revision 21726)
@@ -0,0 +1,8 @@
+Index: ../trunk-jpl/test/Archives/Archive460.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive461.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21386-21387.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21386-21387.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21386-21387.diff	(revision 21726)
@@ -0,0 +1,23 @@
+Index: ../trunk-jpl/test/NightlyRun/test461.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test461.m	(revision 21386)
++++ ../trunk-jpl/test/NightlyRun/test461.m	(revision 21387)
+@@ -22,10 +22,14 @@
+ md=solve(md,'Transient');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'Enthalpy1','Waterfraction1','Temperature1',...
+-	   'Enthalpy2','Waterfraction2','Temperature2',...
+-	   'Enthalpy3','Waterfraction3','Temperature3'};
+-field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-9,1e-13};
++field_names ={...
++	'Enthalpy1','Waterfraction1','Temperature1',...
++	'Enthalpy2','Waterfraction2','Temperature2',...
++	'Enthalpy3','Waterfraction3','Temperature3'};
++field_tolerances={...
++	1e-12,1e-11,1e-12,...
++	1e-12,1e-10,1e-12,...
++	1e-12,1e-9,1e-12};
+ field_values={...
+ 	   (md.results.TransientSolution(1).Enthalpy),...
+ 	   (md.results.TransientSolution(1).Waterfraction),...
Index: /issm/oecreview/Archive/21337-21723/ISSM-21387-21388.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21387-21388.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21387-21388.diff	(revision 21726)
@@ -0,0 +1,60 @@
+Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21387)
++++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21388)
+@@ -3044,14 +3044,14 @@
+ 	if(dt==0)   dt=1.e+5;
+ 	IssmDouble  rho_water     = element->GetMaterialParameter(MaterialsRhoSeawaterEnum);
+ 	IssmDouble  gravity       = element->GetMaterialParameter(ConstantsGEnum);
+-	Input*      surface_input = element->GetInput(SurfaceEnum); _assert_(surface_input);
++	Input*      base_input = element->GetInput(BaseEnum); _assert_(base_input);
+ 
+ 	/* Start  looping on the number of gaussian points: */
+ 	gauss=element->NewGaussBase(3);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss->GaussPoint(ig);
+ 
+-		surface_input->GetInputDerivativeValue(&slope[0],xyz_list,gauss);
++		base_input->GetInputDerivativeValue(&slope[0],xyz_list,gauss);
+ 		element->NodalFunctionsVelocity(vbasis,gauss);
+ 		element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss);
+ 		if(dim==2) slope2=slope[0]*slope[0];
+@@ -3941,17 +3941,10 @@
+ 		water_pressure=gravity*rho_water*bed;
+ 
+ 		for(i=0;i<vnumnodes;i++){
+-			pe->values[i*dim+0] += water_pressure*gauss->weight*Jdet*vbasis[i]*normal[0];
+-			pe->values[i*dim+1] += water_pressure*gauss->weight*Jdet*vbasis[i]*normal[1];
+-			if(dim==3){
+-				pe->values[i*dim+2]+=water_pressure*gauss->weight*Jdet*vbasis[i]*normal[2];
+-			}
++				pe->values[i*dim+(dim-1)]+=-water_pressure*gauss->weight*Jdet*vbasis[i];
+ 		}
+ 	}
+ 
+-	/*Transform coordinate system*/
+-	element->TransformLoadVectorCoord(pe,cs_list);
+-
+ 	/* shelf dampening*/
+ 	int shelf_dampening;
+ 	element->FindParam(&shelf_dampening,StressbalanceShelfDampeningEnum);
+@@ -3963,16 +3956,15 @@
+ 			gauss->GaussPoint(ig);
+ 			element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss);
+ 			element->NodalFunctionsVelocity(vbasis,gauss);
+-			element->NormalBase(&normal[0],xyz_list_base);
+-			if (dim==2) normal_b=normal[1];
+-			else if (dim==3) normal_b=sqrt(normal[0]*normal[0]+normal[1]*normal[1]);
+ 			mb_input->GetInputValue(&mb, gauss);
+ 			for(i=0;i<vnumnodes;i++){
+-				pe->values[i*dim+1] += dt*rho_water*gravity*mb*gauss->weight*Jdet*vbasis[i]*normal_b;
++				pe->values[i*dim+(dim-1)] += -dt*rho_water*gravity*mb*gauss->weight*Jdet*vbasis[i];
+ 			}
+ 		}
+ 	}
+ 
++	/*DO NOT Transform Coordinate System: this stiffness matrix is already expressed in tangential coordinates*/
++
+ 	/*Clean up and return*/
+ 	delete gauss;
+ 	xDelete<int>(cs_list);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21388-21389.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21388-21389.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21388-21389.diff	(revision 21726)
@@ -0,0 +1,525 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21389)
+@@ -30,6 +30,7 @@
+ 	this->helement=NULL;
+ 	this->element=NULL;
+ 	this->isdamaged=false;
++	this->isenhanced=false;
+ 	return;
+ }
+ /*}}}*/
+@@ -49,10 +50,19 @@
+ 	 /*Other perporties*/
+    int    materialtype;
+    iomodel->FindConstant(&materialtype,"md.materials.type");
+-   if(materialtype==MatdamageiceEnum) this->isdamaged = true;
+-   else if(materialtype==MaticeEnum) this->isdamaged = false;
++   if(materialtype==MatdamageiceEnum){
++		this->isdamaged = true;
++		this->isenhanced = false;
++	}
++	else if(materialtype==MaticeEnum){
++		this->isdamaged = false;
++		this->isenhanced = false;
++	}
++	else if(materialtype==MatenhancediceEnum){
++		this->isdamaged = false;
++		this->isenhanced = true;
++	}
+    else _error_("Material type not recognized");
+-
+ 	return;
+ 
+ }
+@@ -77,6 +87,7 @@
+ 	matice->helement=(Hook*)this->helement->copy();
+ 	matice->element =(Element*)this->helement->delivers();
+ 	matice->isdamaged = this->isdamaged;
++	matice->isenhanced = this->isenhanced;
+ 
+ 	return matice;
+ }
+@@ -94,6 +105,7 @@
+ 	matice->helement=(Hook*)this->helement->copy();
+ 	matice->element =element_in;
+ 	matice->isdamaged = this->isdamaged;
++	matice->isenhanced = this->isenhanced;
+ 
+ 	return matice;
+ }
+@@ -123,6 +135,7 @@
+ 	MARSHALLING_ENUM(MaticeEnum);
+ 	MARSHALLING(mid);
+ 	MARSHALLING(isdamaged);
++	MARSHALLING(isenhanced);
+ 	this->helement->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
+ 	this->element=(Element*)this->helement->delivers();
+ 
+@@ -206,6 +219,24 @@
+ 	return Dbar;
+ }
+ /*}}}*/
++IssmDouble Matice::GetE(){/*{{{*/
++
++	_assert_(this->isenhanced);
++	/*Output*/
++	IssmDouble E;
++	if(this->isenhanced)element->inputs->GetInputAverage(&E,MaterialsRheologyEEnum);
++	return E;
++}
++/*}}}*/
++IssmDouble Matice::GetEbar(){/*{{{*/
++
++	_assert_(this->isenhanced);
++	/*Output*/
++	IssmDouble Ebar;
++	if(this->isenhanced)element->inputs->GetInputAverage(&Ebar,MaterialsRheologyEbarEnum);
++	return Ebar;
++}
++/*}}}*/
+ IssmDouble Matice::GetN(){/*{{{*/
+ 
+ 	/*Output*/
+@@ -220,14 +251,19 @@
+ 	return this->isdamaged;
+ }
+ /*}}}*/
++bool Matice::IsEnhanced(){/*{{{*/
++
++	return this->isenhanced;
++}
++/*}}}*/
+ void  Matice::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff){/*{{{*/
+ 	/*From a string tensor and a material object, return viscosity, using Glen's flow law.
+ 								(1-D) B
+ 	  viscosity= -------------------------
+-						  2 eps_eff ^[(n-1)/n]
++						  2 E^[1/n] eps_eff ^[(n-1)/n]
+ 
+-	  where viscosity is the viscotiy, B the flow law parameter , eps_eff is the effective strain rate
+-	  and n the flow law exponent.
++	  where viscosity is the viscosity, B the flow law parameter , eps_eff is the effective strain rate,
++	  n the flow law exponent, and E is the enhancement factor.
+ 
+ 	  If eps_eff = 0 , it means this is the first time SystemMatrices is being run, and we 
+ 	  return 10^14, initial viscosity.
+@@ -237,7 +273,7 @@
+ 	IssmDouble viscosity;
+ 
+ 	/*Intermediary: */
+-	IssmDouble B,D=0.,n;
++	IssmDouble B,D=0.,E=1.,n;
+ 
+ 	/*Get B and n*/
+ 	B=GetB(); _assert_(B>0.);
+@@ -246,10 +282,14 @@
+ 		D=GetD();
+ 		_assert_(D>=0. && D<1.);
+ 	}
++	if(this->isenhanced){
++		E=GetE();
++		_assert_(E>0.);
++	}
+ 
+ 	if (n==1.){
+-		/*Linear Viscous behavior (Newtonian fluid) viscosity=B/2: */
+-		viscosity=(1.-D)*B/2.;
++		/*Linear Viscous behavior (Newtonian fluid) viscosity=B/2E: */
++		viscosity=(1.-D)*B/(2.*E);
+ 	}
+ 	else{
+ 
+@@ -261,7 +301,7 @@
+ 		}
+ 
+ 		else{
+-			viscosity=(1.-D)*B/(2.*pow(eps_eff,(n-1.)/n));
++			viscosity=(1.-D)*B/(2.*pow(E,1./n)*pow(eps_eff,(n-1.)/n));
+ 		}
+ 	}
+ 
+@@ -276,9 +316,10 @@
+ 	/*From a string tensor and a material object, return viscosity, using Glen's flow law.
+ 								(1-D) B
+ 	  viscosity= -------------------------
+-						  2 eps_eff ^[(n-1)/n]
++						  2 E^[1/n] eps_eff ^[(n-1)/n]
+ 
+-	  where B the flow law parameter, eps_eff is the effective strain rate and n the flow law exponent.
++	  where B the flow law parameter, eps_eff is the effective strain rate, n the flow law exponent,
++	  and E is the enhancement factor.
+ 
+ 	  If eps_eff = 0 , it means this is the first time SystemMatrices is being run, and we 
+ 	  return 10^14, initial viscosity.
+@@ -288,7 +329,7 @@
+ 	IssmDouble viscosity;
+ 
+ 	/*Intermediary: */
+-	IssmDouble B,D=0.,n;
++	IssmDouble B,D=0.,E=1.,n;
+ 
+ 	/*Get B and n*/
+ 	B=GetBbar(); _assert_(B>0.);
+@@ -297,10 +338,14 @@
+ 		D=GetDbar();
+ 		_assert_(D>=0. && D<1.);
+ 	}
++	if(this->isenhanced){
++		E=GetEbar();
++		_assert_(E>0.);
++	}
+ 
+ 	if (n==1.){
+-		/*Linear Viscous behavior (Newtonian fluid) viscosity=B/2: */
+-		viscosity=(1.-D)*B/2.;
++		/*Linear Viscous behavior (Newtonian fluid) viscosity=B/2E: */
++		viscosity=(1.-D)*B/(2.*E);
+ 	}
+ 	else{
+ 
+@@ -311,7 +356,7 @@
+ 		}
+ 
+ 		else{
+-			viscosity=(1.-D)*B/(2.*pow(eps_eff,(n-1.)/n));
++			viscosity=(1.-D)*B/(2.*pow(E,1./n)*pow(eps_eff,(n-1.)/n));
+ 		}
+ 	}
+ 
+@@ -474,7 +519,7 @@
+ 	IssmDouble dmudB;
+ 
+ 	/*Intermediary: */
+-	IssmDouble D=0.,n;
++	IssmDouble D=0.,E=1.,n;
+ 
+ 	/*Get B and n*/
+ 	n=GetN(); _assert_(n>0.);
+@@ -482,14 +527,18 @@
+ 		D=GetD();
+ 		_assert_(D>=0. && D<1.);
+ 	}
++	if(this->isenhanced){
++		E=GetE();
++		_assert_(E>0.);
++	}
+ 
+ 	if(n==1.){
+-		/*Linear Viscous behavior (Newtonian fluid) dmudB=B/2: */
+-		dmudB=(1.-D)/2.;
++		/*Linear Viscous behavior (Newtonian fluid) dmudB=B/2E: */
++		dmudB=(1.-D)/(2.*E);
+ 	}
+ 	else{
+ 		if(eps_eff==0.) dmudB = 0.;
+-		else            dmudB = (1.-D)/(2.*pow(eps_eff,(n-1.)/n));
++		else            dmudB = (1.-D)/(2.*pow(E,1./n)*pow(eps_eff,(n-1.)/n));
+ 	}
+ 
+ 	/*Return: */
+@@ -502,20 +551,24 @@
+ 	IssmDouble dmudD;
+ 
+ 	/*Intermediary: */
+-	IssmDouble n,B;
++	IssmDouble n,B,E=1.;
+ 
+ 	/*Get B and n*/
+ 	n=GetN(); _assert_(n>0.);
+ 	B=GetBbar();
+ 	_assert_(this->isdamaged);
++	if(this->isenhanced){
++		E=GetE();
++		_assert_(E>0.);
++	}
+ 
+ 	if(n==1.){
+-		/*Linear Viscous behavior (Newtonian fluid) dmudB=B/2: */
+-		dmudD=-B/2.;
++		/*Linear Viscous behavior (Newtonian fluid) dmudB=B/2E: */
++		dmudD=-B/(2.*E);
+ 	}
+ 	else{
+ 		if(eps_eff==0.) dmudD = 0.;
+-		else            dmudD = -B/(2.*pow(eps_eff,(n-1.)/n));
++		else            dmudD = -B/(2.*pow(E,1./n)*pow(eps_eff,(n-1.)/n));
+ 	}
+ 
+ 	/*Return: */
+@@ -635,7 +688,7 @@
+ 	IssmDouble viscosity;
+ 	IssmDouble epsilon3d[5];/* epsilon=[exx,eyy,exy,exz,eyz];*/
+ 	IssmDouble epsilon2d[2];/* epsilon=[exx,exy];            */
+-	IssmDouble eps_eff;
++	IssmDouble eps_eff,E=1.0;
+ 
+ 	if(dim==3){
+ 		/* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy */
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21389)
+@@ -81,6 +81,7 @@
+ 	switch(materials_type){
+ 		case MaticeEnum:
+ 		case MatdamageiceEnum:
++		case MatenhancediceEnum:
+ 		case MatestarEnum:
+ 			iomodel->FindConstant(&this->rho_ice,"md.materials.rho_ice");
+ 			iomodel->FindConstant(&this->rho_water,"md.materials.rho_water");
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.h	(revision 21388)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.h	(revision 21389)
+@@ -26,6 +26,7 @@
+ 	private: 
+ 		int      mid;
+ 		bool     isdamaged;
++		bool     isenhanced;
+ 		Hook    *helement;
+ 		Element *element;
+ 
+@@ -69,8 +70,11 @@
+ 		IssmDouble GetBbar();
+ 		IssmDouble GetD();
+ 		IssmDouble GetDbar();
++		IssmDouble GetE();
++		IssmDouble GetEbar();
+ 		IssmDouble GetN();
+ 		bool       IsDamage();
++		bool       IsEnhanced();
+ 		void       ResetHooks();
+ 		void       SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
+ 
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21389)
+@@ -174,6 +174,10 @@
+ 	/*Rheology type*/
+ 	iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
+ 	switch(materialstype){
++		case MatenhancediceEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_E",MaterialsRheologyEEnum);
++			break;
+ 		case MatdamageiceEnum:
+ 			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
+ 			break;
+Index: ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 21389)
+@@ -118,6 +118,10 @@
+ 	/*Rheology type*/
+ 	iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
+ 	switch(materialstype){
++		case MatenhancediceEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_E",MaterialsRheologyEEnum);
++			break;
+ 		case MatdamageiceEnum:
+ 			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
+ 			break;
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21388)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21389)
+@@ -213,6 +213,8 @@
+ 	MaterialsRheologyBbarEnum,
+ 	MaterialsRheologyLawEnum,
+ 	MaterialsRheologyNEnum,
++	MaterialsRheologyEEnum,
++	MaterialsRheologyEbarEnum,
+ 	MaterialsRheologyEcEnum,
+ 	MaterialsRheologyEcbarEnum,
+ 	MaterialsRheologyEsEnum,
+@@ -827,6 +829,7 @@
+ 	TransientParamEnum,
+ 	MaticeEnum,
+ 	MatdamageiceEnum,
++	MatenhancediceEnum,
+ 	MatestarEnum,
+ 	MatparEnum,
+ 	NodeEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21389)
+@@ -219,6 +219,8 @@
+ 		case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar";
+ 		case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw";
+ 		case MaterialsRheologyNEnum : return "MaterialsRheologyN";
++		case MaterialsRheologyEEnum : return "MaterialsRheologyE";
++		case MaterialsRheologyEbarEnum : return "MaterialsRheologyEbar";
+ 		case MaterialsRheologyEcEnum : return "MaterialsRheologyEc";
+ 		case MaterialsRheologyEcbarEnum : return "MaterialsRheologyEcbar";
+ 		case MaterialsRheologyEsEnum : return "MaterialsRheologyEs";
+@@ -802,6 +804,7 @@
+ 		case TransientParamEnum : return "TransientParam";
+ 		case MaticeEnum : return "Matice";
+ 		case MatdamageiceEnum : return "Matdamageice";
++		case MatenhancediceEnum : return "Matenhancedice";
+ 		case MatestarEnum : return "Matestar";
+ 		case MatparEnum : return "Matpar";
+ 		case NodeEnum : return "Node";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21389)
+@@ -222,6 +222,8 @@
+ 	      else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum;
++	      else if (strcmp(name,"MaterialsRheologyE")==0) return MaterialsRheologyEEnum;
++	      else if (strcmp(name,"MaterialsRheologyEbar")==0) return MaterialsRheologyEbarEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyEc")==0) return MaterialsRheologyEcEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyEcbar")==0) return MaterialsRheologyEcbarEnum;
+ 	      else if (strcmp(name,"MaterialsRheologyEs")==0) return MaterialsRheologyEsEnum;
+@@ -257,12 +259,12 @@
+ 	      else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
+ 	      else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
+ 	      else if (strcmp(name,"CalvingdevCoeff")==0) return CalvingdevCoeffEnum;
+-	      else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
+-	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
+          else stage=3;
+    }
+    if(stage==3){
+-	      if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
++	      if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
++	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
++	      else if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
+ 	      else if (strcmp(name,"CalvingrateyAverage")==0) return CalvingrateyAverageEnum;
+ 	      else if (strcmp(name,"StrainRateparallel")==0) return StrainRateparallelEnum;
+ 	      else if (strcmp(name,"StrainRateperpendicular")==0) return StrainRateperpendicularEnum;
+@@ -380,12 +382,12 @@
+ 	      else if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
+ 	      else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
+ 	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
+-	      else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
+-	      else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
++	      if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
++	      else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
++	      else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
+ 	      else if (strcmp(name,"SmbTa")==0) return SmbTaEnum;
+ 	      else if (strcmp(name,"SmbV")==0) return SmbVEnum;
+ 	      else if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum;
+@@ -503,12 +505,12 @@
+ 	      else if (strcmp(name,"Velocity")==0) return VelocityEnum;
+ 	      else if (strcmp(name,"VxAverage")==0) return VxAverageEnum;
+ 	      else if (strcmp(name,"Vx")==0) return VxEnum;
+-	      else if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
+-	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"Vy")==0) return VyEnum;
++	      if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
++	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
++	      else if (strcmp(name,"Vy")==0) return VyEnum;
+ 	      else if (strcmp(name,"VyPicard")==0) return VyPicardEnum;
+ 	      else if (strcmp(name,"Vz")==0) return VzEnum;
+ 	      else if (strcmp(name,"VzSSA")==0) return VzSSAEnum;
+@@ -626,12 +628,12 @@
+ 	      else if (strcmp(name,"Outputdefinition45")==0) return Outputdefinition45Enum;
+ 	      else if (strcmp(name,"Outputdefinition46")==0) return Outputdefinition46Enum;
+ 	      else if (strcmp(name,"Outputdefinition47")==0) return Outputdefinition47Enum;
+-	      else if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
+-	      else if (strcmp(name,"Outputdefinition49")==0) return Outputdefinition49Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition50")==0) return Outputdefinition50Enum;
++	      if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
++	      else if (strcmp(name,"Outputdefinition49")==0) return Outputdefinition49Enum;
++	      else if (strcmp(name,"Outputdefinition50")==0) return Outputdefinition50Enum;
+ 	      else if (strcmp(name,"Outputdefinition51")==0) return Outputdefinition51Enum;
+ 	      else if (strcmp(name,"Outputdefinition52")==0) return Outputdefinition52Enum;
+ 	      else if (strcmp(name,"Outputdefinition53")==0) return Outputdefinition53Enum;
+@@ -749,12 +751,12 @@
+ 	      else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
+ 	      else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
+ 	      else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
+-	      else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
+-	      else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum;
++	      if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
++	      else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum;
++	      else if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum;
+ 	      else if (strcmp(name,"LevelsetfunctionPicard")==0) return LevelsetfunctionPicardEnum;
+ 	      else if (strcmp(name,"LevelsetReinitFrequency")==0) return LevelsetReinitFrequencyEnum;
+ 	      else if (strcmp(name,"Sealevel")==0) return SealevelEnum;
+@@ -820,6 +822,7 @@
+ 	      else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
+ 	      else if (strcmp(name,"Matice")==0) return MaticeEnum;
+ 	      else if (strcmp(name,"Matdamageice")==0) return MatdamageiceEnum;
++	      else if (strcmp(name,"Matenhancedice")==0) return MatenhancediceEnum;
+ 	      else if (strcmp(name,"Matestar")==0) return MatestarEnum;
+ 	      else if (strcmp(name,"Matpar")==0) return MatparEnum;
+ 	      else if (strcmp(name,"Node")==0) return NodeEnum;
+@@ -871,13 +874,13 @@
+ 	      else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
+ 	      else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
+ 	      else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
+-	      else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
+-	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
+-	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
++	      if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
++	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
++	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
++	      else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceSIAAnalysis")==0) return StressbalanceSIAAnalysisEnum;
+ 	      else if (strcmp(name,"StressbalanceSolution")==0) return StressbalanceSolutionEnum;
+Index: ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21389)
+@@ -85,6 +85,7 @@
+ 		case 1: return MatdamageiceEnum;
+ 		case 2: return MatestarEnum; 
+ 		case 3: return MaticeEnum;
++		case 4: return MatenhancediceEnum;
+ 		default: _error_("Marshalled materials code \""<<enum_in<<"\" not supported yet"); 
+ 	}
+ }/*}}}*/
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 21388)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 21389)
+@@ -62,6 +62,22 @@
+ 					_error_("Mesh not supported yet");
+ 			}
+ 			break;
++		case MatenhancediceEnum:
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
++			iomodel->FetchDataToInput(elements,"md.materials.rheology_E",MaterialsRheologyEEnum);
++			for (i=0;i<iomodel->numberofelements;i++) if(iomodel->my_elements[i]) materials->AddObject(new Matice(i+1,i,iomodel));
++			switch(iomodel->domaindim){
++				case 2:
++					elements->InputDuplicate(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
++					elements->InputDuplicate(MaterialsRheologyEEnum,MaterialsRheologyEbarEnum);
++					break;
++				case 3:
++					break;
++				default:
++					_error_("Mesh not supported yet");
++			}
++			break;
+ 		case MatdamageiceEnum:
+ 			iomodel->FetchDataToInput(elements,"md.materials.rheology_B",MaterialsRheologyBEnum);
+ 			iomodel->FetchDataToInput(elements,"md.materials.rheology_n",MaterialsRheologyNEnum);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21389-21390.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21389-21390.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21389-21390.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21389)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21390)
+@@ -1510,6 +1510,8 @@
+ 				name==GradientEnum ||
+ 				name==OldGradientEnum  ||
+ 				name==ConvergedEnum || 
++				name==MaterialsRheologyEEnum ||
++				name==MaterialsRheologyEbarEnum ||
+ 				name==MaterialsRheologyBEnum ||
+ 				name==MaterialsRheologyBbarEnum ||
+ 				name==MaterialsRheologyNEnum ||
Index: /issm/oecreview/Archive/21337-21723/ISSM-21390-21391.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21390-21391.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21390-21391.diff	(revision 21726)
@@ -0,0 +1,36 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21390)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21391)
+@@ -2496,7 +2496,7 @@
+ 	IssmDouble	tide_love_h, tide_love_k, fluid_love, moi_e, moi_p, omega, g;
+ 	IssmDouble	load_love_k2 = -0.30922675; //degree 2 load Love number 
+ 	IssmDouble	m1, m2, m3; 
+-	IssmDouble	lati, longi, value; 
++	IssmDouble	lati, longi, radi, value; 
+ 
+ 	/*Serialize vectors from previous iteration:*/
+ 	Sg_old=pSg_old->ToMPISerial();
+@@ -2546,16 +2546,18 @@
+ 	 * all DONE in Geographic coordinates: theta \in [-90,90], lambda \in [-180 180] 
+ 	 */
+ 	for(int i=0;i<vertices->Size();i++){
++		int sid;
+ 		//Vertex* vertex=(Vertex*)vertices->GetObjectByOffset(i);
+ 		Vertex* vertex=xDynamicCast<Vertex*>(vertices->GetObjectByOffset(i));
+-		
+-		lati=latitude[i]/180*PI;	longi=longitude[i]/180*PI;
++		sid=vertex->Sid();
+ 
++		lati=latitude[sid]/180*PI;	longi=longitude[sid]/180*PI; radi=radius[sid];
++
+ 		/*only first order terms are considered now: */ 
+-		value=((1.0+tide_love_k-tide_love_h)/9.81)*pow(omega*radius[i],2.0)*
++		value=((1.0+tide_love_k-tide_love_h)/9.81)*pow(omega*radi,2.0)*
+ 						(-m3/6.0 + 0.5*m3*cos(2.0*lati) - 0.5*sin(2.*lati)*(m1*cos(longi)+m2*sin(longi))); 
+ 	
+-		pSgo_rot->SetValue(vertex->Sid(),value,INS_VAL); //INS_VAL ensures that you don't add several times
++		pSgo_rot->SetValue(sid,value,INS_VAL); //INS_VAL ensures that you don't add several times
+ 	}
+ 
+ 	/*Assemble mesh velocity*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21393-21394.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21393-21394.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21393-21394.diff	(revision 21726)
@@ -0,0 +1,79 @@
+Index: ../trunk-jpl/test/NightlyRun/test260.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test260.m	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test260.m	(revision 21394)
+@@ -0,0 +1,21 @@
++%Test Name: SquareShelfStressSSA2dEnhanced
++md=triangle(model(),'../Exp/Square.exp',150000.);
++md=setmask(md,'all','');
++md.materials=matenhancedice();
++md.materials.rheology_B=3.15e8*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
++md.materials.rheology_E=ones(md.mesh.numberofvertices,1);
++md=parameterize(md,'../Par/SquareShelf.par');
++md=setflowequation(md,'SSA','all');
++md.cluster=generic('name',oshostname(),'np',3);
++md=solve(md,'Stressbalance');
++
++%Fields and tolerances to track changes
++field_names     ={'Vx','Vy','Vel','Pressure'};
++field_tolerances={1e-13,1e-13,1e-13,1e-13};
++field_values={...
++	(md.results.StressbalanceSolution.Vx),...
++	(md.results.StressbalanceSolution.Vy),...
++	(md.results.StressbalanceSolution.Vel),...
++	(md.results.StressbalanceSolution.Pressure),...
++	};
+Index: ../trunk-jpl/test/NightlyRun/test261.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test261.m	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test261.m	(revision 21394)
+@@ -0,0 +1,28 @@
++%Test Name: SquareShelfConstrainedTranEnhanced
++md=triangle(model(),'../Exp/Square.exp',180000.);
++md=setmask(md,'all','');
++md=parameterize(md,'../Par/SquareShelfConstrained.par');
++md=extrude(md,3,1.);
++md=setflowequation(md,'SSA','all');
++md.cluster=generic('name',oshostname(),'np',3);
++md.materials=matenhancedice();
++md.materials.rheology_B=3.15e8*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
++md.materials.rheology_E=ones(md.mesh.numberofvertices,1);
++md.transient.isstressbalance=1;
++md.transient.ismasstransport=0;
++md.transient.issmb=1;
++md.transient.isthermal=1;
++md.transient.isgroundingline=0;
++md=solve(md,'Transient');
++
++%Fields and tolerances to track changes
++field_names     ={'Vx','Vy','Vel','Temperature','BasalforcingsGroundediceMeltingRate'};
++field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13};
++field_values={...
++	(md.results.TransientSolution(1).Vx),...
++	(md.results.TransientSolution(1).Vy),...
++	(md.results.TransientSolution(1).Vel),...
++	(md.results.TransientSolution(1).Temperature),...
++	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
++	};
+Index: ../trunk-jpl/test/Archives/Archive260.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: ../trunk-jpl/test/Archives/Archive260.arch
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
+Index: ../trunk-jpl/test/Archives/Archive261.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: ../trunk-jpl/test/Archives/Archive261.arch
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21398-21399.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21398-21399.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21398-21399.diff	(revision 21726)
@@ -0,0 +1,44 @@
+Index: ../trunk-jpl/test/Archives/Archive507.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive124.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive510.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive421.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive511.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive404.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive422.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive503.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive211.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive703.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive460.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21399-21400.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21399-21400.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21399-21400.diff	(revision 21726)
@@ -0,0 +1,17 @@
+Index: ../trunk-jpl/test/NightlyRun/test702.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test702.m	(revision 21399)
++++ ../trunk-jpl/test/NightlyRun/test702.m	(revision 21400)
+@@ -49,7 +49,7 @@
+ field_names={};
+ field_tolerances={};
+ field_values={};
+-for i={'MINI','MINIcondensed','TaylorHood','XTaylorHood','LATaylorHood','CrouzeixRaviart'}
++for i={'MINI','MINIcondensed','TaylorHood','XTaylorHood','LATaylorHood'}
+ 	disp(' ');
+ 	disp(['====== Testing ' i{1} ' Full-Stokes Finite element =====']);
+ 	md.flowequation.fe_FS=i{1};
+Index: ../trunk-jpl/test/Archives/Archive702.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21400-21401.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21400-21401.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21400-21401.diff	(revision 21726)
@@ -0,0 +1,145 @@
+Index: ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp	(revision 21400)
++++ ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp	(revision 21401)
+@@ -83,14 +83,14 @@
+ ElementMatrix* ExtrapolationAnalysis::CreateKMatrix(Element* element){/*{{{*/
+ 
+ 	/*Intermediaries */
+-	int	dim, domaintype, extrapolationcase;
+-	int	i,row,col,stabilization;
+-	bool	extrapolatebydiffusion;
+-	IssmDouble Jdet,D_scalar,h;
+-	IssmDouble norm_dlsf;
+-	IssmDouble hx,hy,hz,kappa;
+-	IssmDouble*	xyz_list = NULL;
+-	Element*		workelement=NULL;
++	int	      dim, domaintype, extrapolationcase;
++	int	      i,row,col,stabilization;
++	bool	      extrapolatebydiffusion;
++	IssmDouble  Jdet,D_scalar,h;
++	IssmDouble  norm_dlsf;
++	IssmDouble  hx,hy,hz,kappa;
++	IssmDouble *xyz_list    = NULL;
++	Element    *workelement = NULL;
+ 
+ 	/*Get problem case*/
+ 	extrapolationcase=GetExtrapolationCase(element);
+@@ -101,12 +101,14 @@
+ 			break;
+ 		case 1: case 2: case 3: workelement=element; break;
+ 	}
++
+ 	/* get extrapolation dimension */
+ 	workelement->FindParam(&domaintype,DomainTypeEnum);
+ 	switch(domaintype){
+-		case Domain2DverticalEnum: dim=1; break;
++		case Domain2DverticalEnum:   dim=1; break;
+ 		case Domain2DhorizontalEnum: dim=2; break;
+-		case Domain3DEnum: dim=3; break;
++		case Domain3DEnum:           dim=3; break;
++      default: _error_("not supported yet");
+ 	}
+ 
+ 	/*Fetch number of nodes and dof for this finite element*/
+@@ -116,9 +118,9 @@
+ 	ElementMatrix* Ke     = workelement->NewElementMatrix();
+ 	IssmDouble*    B      = xNew<IssmDouble>(dim*numnodes);
+ 	IssmDouble*    Bprime = xNew<IssmDouble>(dim*numnodes);
+-	IssmDouble*		D	  = xNew<IssmDouble>(dim*dim);
+-	IssmDouble*		dlsf  = xNew<IssmDouble>(dim);
+-	IssmDouble*		normal= xNew<IssmDouble>(dim);
++	IssmDouble*		dlsf   = xNew<IssmDouble>(dim);
++	IssmDouble*		normal = xNew<IssmDouble>(dim);
++   IssmDouble*		D	    = xNewZeroInit<IssmDouble>(dim*dim);
+ 
+ 	/*Retrieve all inputs and parameters*/
+ 	Input* lsf_slopex_input=workelement->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input);
+@@ -127,7 +129,7 @@
+ 
+ 	/* Start  looping on the number of gaussian points: */
+ 	Gauss* gauss=workelement->NewGauss(2);
+-	for(int ig=gauss->begin();ig<gauss->end();ig++){/*{{{*/
++	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss->GaussPoint(ig);
+ 
+ 		workelement->JacobianDeterminant(&Jdet,xyz_list,gauss);
+@@ -138,14 +140,10 @@
+ 
+ 		extrapolatebydiffusion=true;
+ 		if(extrapolatebydiffusion){
+-			/* diffuse values outward */
+-			for(row=0;row<dim;row++)
+-				for(col=0;col<dim;col++)
+-					if(row==col && row<2) //extrapolate only in xy-plane
+-						D[row*dim+col] = D_scalar;
+-					else
+-						D[row*dim+col] = 0.;
+ 
++			/* diffuse values outward only along the xy-plane*/
++         for(int i=0;i<2;i++) D[i*dim+i] = D_scalar;
++
+ 			TripleMultiply(Bprime,dim,numnodes,1,
+ 					D,dim,dim,0,
+ 					Bprime,dim,numnodes,0,
+@@ -179,7 +177,7 @@
+ 						Bprime,dim,numnodes,0,
+ 						&Ke->values[0],1);
+ 
+-			/* stabilization *//*{{{*/
++			/* stabilization */
+ 			/* do not use streamline upwinding for extrapolation: it yields oscillating results due to diffusion along normal direction, but none across */
+ 			stabilization=1;
+ 			if (stabilization==0){/* no stabilization, do nothing*/}
+@@ -199,9 +197,8 @@
+ 							Bprime,dim,numnodes,0,
+ 							&Ke->values[0],1);
+ 			}
+-			/*}}}*/
+ 		}
+-	}/*}}}*/
++	}
+ 
+ 	/*Clean up and return*/
+ 	xDelete<IssmDouble>(xyz_list);
+@@ -235,10 +232,12 @@
+ 
+ 	/*Initialize Element vector*/
+ 	ElementVector* pe = workelement->NewElementVector();
+-	for(int i=0;i<numnodes;i++) 
+-		pe->values[i]=0.; 
+ 
+-	if(extrapolationcase==0){workelement->DeleteMaterials(); delete workelement;};
++	if(extrapolationcase==0){
++      workelement->DeleteMaterials();
++      delete workelement;
++   }
++
+ 	return pe;
+ }/*}}}*/
+ void           ExtrapolationAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss, int dim){/*{{{*/
+@@ -325,14 +324,19 @@
+ 	/* Get case of extrapolation, depending on domain quality, and extrapolation variable */
+ 	int domaintype, extrapolationvariable;
+ 	int extrapolationcase;
++
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+ 	switch(domaintype){
+-		case Domain2DverticalEnum: extrapolationcase=0; break;
+-		case Domain2DhorizontalEnum: extrapolationcase=1;break;
+-		case Domain3DEnum:  
++		case Domain2DverticalEnum:   extrapolationcase=0; break;
++		case Domain2DhorizontalEnum: extrapolationcase=1; break;
++		case Domain3DEnum: 
+ 			element->FindParam(&extrapolationvariable, ExtrapolationVariableEnum);
+-			if(extrapolationvariable==ThicknessEnum) extrapolationcase=2; // scalar fields that are constant along z-axis
+-			else extrapolationcase=3; // scalar fields that vary along z-axis
++			if(extrapolationvariable==ThicknessEnum){
++            extrapolationcase=2; // scalar fields that are constant along z-axis
++         }
++			else{
++            extrapolationcase=3; // scalar fields that vary along z-axis
++         }
+ 			break;
+ 	}
+ 	return extrapolationcase;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21401-21402.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21401-21402.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21401-21402.diff	(revision 21726)
@@ -0,0 +1,242 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21401)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21402)
+@@ -1733,12 +1733,19 @@
+ 	int my_rank   = IssmComm::GetRank();
+ 	int num_procs = IssmComm::GetSize();
+ 
++	/*Get domain type (2d or 3d)*/
++	int domaintype;
++	this->parameters->FindParam(&domaintype,DomainTypeEnum);
++	
+ 	/*1: go throug all elements of this partition and figure out how many
+ 	 * segments we have (corresopnding to levelset = 0)*/
+ 	DataSet* segments=new DataSet();
+ 	for(int i=0;i<elements->Size();i++){
+ 		Element* element=dynamic_cast<Element*>(this->elements->GetObjectByOffset(i));
+-		element->WriteLevelsetSegment(segments);
++		if(!element->IsOnBase()) continue;
++		Element* basalelement = element->SpawnBasalElement();
++		basalelement->WriteLevelsetSegment(segments);
++		if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
+ 	}
+ 
+ 	/*2: now get the segments from all partitions*/
+@@ -1770,9 +1777,24 @@
+ 	/*3: update levelset for all elements*/
+ 	for(int i=0;i<elements->Size();i++){
+ 		Element* element=dynamic_cast<Element*>(this->elements->GetObjectByOffset(i));
++		if(!element->IsOnBase()) continue;
+ 		element->ResetLevelsetFromSegmentlist(allsegmentlist,numseg);
+ 	}
+ 
++
++	/*Extrude if necessary*/
++	int elementtype;
++	this->parameters->FindParam(&elementtype,MeshElementtypeEnum);
++	if(elementtype==PentaEnum){
++		InputExtrudex(this,MaskIceLevelsetEnum,-1);
++	}
++	else if(elementtype==TriaEnum){
++		/*no need to extrude*/
++	}
++	else{
++		_error_("not implemented yet");
++	}
++
+ 	/*Clean up and return*/
+ 	xDelete<IssmDouble>(allsegmentlist);
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21401)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21402)
+@@ -175,6 +175,82 @@
+ 	_error_("Not supported yet!");
+ }
+ /*}}}*/
++void       Penta::CalvingRateDev(){/*{{{*/
++
++	if(!this->IsOnBase()) return;
++
++	IssmDouble  xyz_list[NUMVERTICES][3];
++	IssmDouble  epsilon[3]; /* epsilon=[exx,eyy,exy];*/
++	IssmDouble  calvingratex[NUMVERTICES];
++	IssmDouble  calvingratey[NUMVERTICES];
++	IssmDouble  calvingrate[NUMVERTICES];
++	IssmDouble  lambda1,lambda2,ex,ey,vx,vy,vel;
++	IssmDouble  sigma_vm,sigma_max,epse_2,groundedice;
++
++	/* Get node coordinates and dof list: */
++	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
++
++	/*Depth average B for stress calculation*/
++	this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
++	this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);
++	this->InputDepthAverageAtBase(VyEnum,VyAverageEnum);
++
++	/*Retrieve all inputs and parameters we will need*/
++	Input* vx_input = inputs->GetInput(VxAverageEnum); _assert_(vx_input);
++	Input* vy_input = inputs->GetInput(VyAverageEnum); _assert_(vy_input);
++	Input* gr_input = inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
++	IssmDouble  B   = this->GetMaterialParameter(MaterialsRheologyBbarEnum);
++	IssmDouble  n   = this->GetMaterialParameter(MaterialsRheologyNEnum);
++
++	/* Start looping on the number of vertices: */
++	GaussPenta* gauss=new GaussPenta();
++	for(int iv=0;iv<3;iv++){
++		gauss->GaussVertex(iv);
++
++		/*Get velocity components and thickness*/
++		vx_input->GetInputValue(&vx,gauss);
++		vy_input->GetInputValue(&vy,gauss);
++		gr_input->GetInputValue(&groundedice,gauss);
++		vel=sqrt(vx*vx+vy*vy)+1.e-14;
++
++		/*Compute strain rate and viscosity: */
++		this->StrainRateSSA(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
++
++		/*Get Eigen values*/
++		Matrix2x2Eigen(&lambda1,&lambda2,&ex,&ey,epsilon[0],epsilon[2],epsilon[1]);
++		_assert_(!xIsNan<IssmDouble>(lambda1));
++		_assert_(!xIsNan<IssmDouble>(lambda2));
++
++		/*Process Eigen values (only account for extension)*/
++		lambda1 = max(lambda1,0.);
++		lambda2 = max(lambda2,0.);
++
++		/*Calculate sigma_vm*/
++		epse_2    = 1./2. *(lambda1*lambda1 + lambda2*lambda2);
++		sigma_vm  = sqrt(3.) * B * pow(epse_2,1./(2.*n));
++		sigma_max = 1000.e+3;
++
++		if(groundedice<0) sigma_max=200.e+3;
++
++		/*Assign values*/
++		calvingratex[iv]=vx*sigma_vm/sigma_max;
++		calvingratey[iv]=vy*sigma_vm/sigma_max;
++		calvingrate[iv]=sqrt(calvingratex[iv]*calvingratex[iv] + calvingratey[iv]*calvingratey[iv]);
++	}
++
++	/*Add input*/
++	this->inputs->AddInput(new PentaInput(CalvingratexEnum,&calvingratex[0],P1Enum));
++	this->inputs->AddInput(new PentaInput(CalvingrateyEnum,&calvingratey[0],P1Enum));
++	this->inputs->AddInput(new PentaInput(CalvingCalvingrateEnum,&calvingrate[0],P1Enum));
++
++	this->InputExtrude(CalvingratexEnum,-1);
++	this->InputExtrude(CalvingrateyEnum,-1);
++	this->InputExtrude(CalvingCalvingrateEnum,-1);
++
++	/*Clean up and return*/
++	delete gauss;
++}
++/*}}}*/
+ void       Penta::CalvingRateLevermann(){/*{{{*/
+ 
+ 	IssmDouble  xyz_list[NUMVERTICES][3];
+@@ -640,7 +716,7 @@
+ 		Input* vz_input       = inputs->GetInput(VzEnum);       _assert_(vz_input);
+ 
+ 		/*Create gauss point in the middle of the basal edge*/
+-		Gauss* gauss=NewGaussBase(1);
++		Gauss* gauss=NewGauss();
+ 		gauss->GaussPoint(0);
+ 
+ 		if(!IsFloating()){ 
+@@ -2212,10 +2288,75 @@
+ 
+ }
+ /*}}}*/
++void       Penta::ResetLevelsetFromSegmentlist(IssmDouble* segments,int numsegments){/*{{{*/
++
++	/*Intermediaries*/
++	IssmDouble d,xn,yn;
++
++	/*Get current levelset and vertex coordinates*/
++	IssmDouble ls[NUMVERTICES];
++	IssmDouble  xyz_list[NUMVERTICES][3];
++	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
++	GetInputListOnVertices(&ls[0],MaskIceLevelsetEnum);
++	InputDuplicate(MaskIceLevelsetEnum,PressureEnum);
++
++	/*Get distance from list of segments and reset ls*/
++	for(int j=0;j<NUMVERTICES;j++){
++		IssmDouble dmin = 1.e+50;
++		for(int i=0;i<numsegments;i++){
++			IssmDouble x = xyz_list[j][0];
++			IssmDouble y = xyz_list[j][1];
++			IssmDouble l2 = (segments[4*i+2]-segments[4*i+0])*(segments[4*i+2]-segments[4*i+0]) + (segments[4*i+3]-segments[4*i+1])*(segments[4*i+3]-segments[4*i+1]);
++
++			/*Segment has a length of 0*/
++			if(l2==0.){
++				d = (x-segments[4*i+0])*(x-segments[4*i+0])+(y-segments[4*i+1])*(y-segments[4*i+1]);
++				if(d<dmin) dmin = d;
++				continue;
++			}
++
++			/*Consider the line extending the segment, parameterized as v + t (w - v).
++			 *We find projection of point p onto the line.
++			 *It falls where t = [(p-v) . (w-v)] / |w-v|^2*/
++			IssmDouble t = ((x-segments[4*i+0])*(segments[4*i+2]-segments[4*i+0]) + (y-segments[4*i+1])*(segments[4*i+3]-segments[4*i+1]))/l2;
++			if(t < 0.0){
++				// Beyond the 'v' end of the segment
++				d = (x-segments[4*i+0])*(x-segments[4*i+0])+(y-segments[4*i+1])*(y-segments[4*i+1]);
++			}
++			else if (t > 1.0){
++				// Beyond the 'w' end of the segment
++				d = (x-segments[4*i+2])*(x-segments[4*i+2])+(y-segments[4*i+3])*(y-segments[4*i+3]);
++			}
++			else{
++				// Projection falls on the segment
++				xn = segments[4*i+0] + t * (segments[4*i+2] - segments[4*i+0]);
++				yn = segments[4*i+1] + t * (segments[4*i+3] - segments[4*i+1]);
++				d = (x-xn)*(x-xn)+(y-yn)*(y-yn);
++			}
++
++			if(d<dmin) dmin = d;
++		}
++
++		/*Update signed distance*/
++		dmin = sqrt(dmin);
++		if(dmin>10000) dmin=10000;
++		if(ls[j]>0){
++			ls[j] = dmin;
++		}
++		else{
++			ls[j] = - dmin;
++		}
++	}
++
++	/*Update Levelset*/
++	this->inputs->AddInput(new PentaInput(MaskIceLevelsetEnum,&ls[0],P1Enum));
++}
++/*}}}*/
+ void       Penta::SetClone(int* minranks){/*{{{*/
+ 
+ 	_error_("not implemented yet");
+ }
++
+ /*}}}*/
+ void       Penta::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){/*{{{*/
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21401)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21402)
+@@ -47,6 +47,7 @@
+ 		void           AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum);
+ 		void           AddInput(int input_enum, IssmDouble* values, int interpolation_enum);
+ 		void           AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part);
++		void           CalvingRateDev();
+ 		void           CalvingRateLevermann();
+ 		IssmDouble     CharacteristicLength(void){_error_("not implemented yet");};
+ 		void           ComputeBasalStress(Vector<IssmDouble>* sigma_b);
+@@ -145,6 +146,7 @@
+ 		void           ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
+ 		void           ResetFSBasalBoundaryCondition(void);
+ 		void           ResetHooks();
++		void           ResetLevelsetFromSegmentlist(IssmDouble* segments,int numsegments);
+ 		void	         SetClone(int* minranks);
+ 		void           SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
+ 		void           SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21402-21403.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21402-21403.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21402-21403.diff	(revision 21726)
@@ -0,0 +1,49 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21402)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21403)
+@@ -716,7 +716,7 @@
+ 		Input* vz_input       = inputs->GetInput(VzEnum);       _assert_(vz_input);
+ 
+ 		/*Create gauss point in the middle of the basal edge*/
+-		Gauss* gauss=NewGauss();
++		Gauss* gauss=NewGaussBase(1);
+ 		gauss->GaussPoint(0);
+ 
+ 		if(!IsFloating()){ 
+Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21402)
++++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21403)
+@@ -3897,8 +3897,7 @@
+ ElementVector* StressbalanceAnalysis::CreatePVectorFSShelf(Element* element){/*{{{*/
+ 
+ 	int         i,dim;
+-	IssmDouble  Jdet,water_pressure,bed;
+-	IssmDouble	normal[3];
++	IssmDouble  Jdet,water_pressure,base;
+ 	IssmDouble *xyz_list_base = NULL;
+ 
+ 	/*Get basal element*/
+@@ -3935,10 +3934,8 @@
+ 		element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss);
+ 		element->NodalFunctionsVelocity(vbasis,gauss);
+ 
+-		element->NormalBase(&normal[0],xyz_list_base);
+-		_assert_(normal[dim-1]<0.);
+-		base_input->GetInputValue(&bed, gauss);
+-		water_pressure=gravity*rho_water*bed;
++		base_input->GetInputValue(&base, gauss);
++		water_pressure=gravity*rho_water*base;
+ 
+ 		for(i=0;i<vnumnodes;i++){
+ 				pe->values[i*dim+(dim-1)]+=-water_pressure*gauss->weight*Jdet*vbasis[i];
+@@ -3950,7 +3947,7 @@
+ 	element->FindParam(&shelf_dampening,StressbalanceShelfDampeningEnum);
+ 	if(shelf_dampening) {
+ 		Input*      mb_input=element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(mb_input);
+-		IssmDouble dt,mb,normal_b;
++		IssmDouble  dt,mb;
+ 		element->FindParam(&dt,TimesteppingTimeStepEnum);
+ 		for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 			gauss->GaussPoint(ig);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21403-21404.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21403-21404.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21403-21404.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/test/NightlyRun/test2003.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2003.m	(revision 21403)
++++ ../trunk-jpl/test/NightlyRun/test2003.m	(revision 21404)
+@@ -64,14 +64,14 @@
+ 
+ %eustatic + rigid + elastic run: 
+ md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=0; 
+-md.cluster=generic('name',oshostname(),'np',1);
++md.cluster=generic('name',oshostname(),'np',3);
+ %md.verbose=verbose('111111111');
+ md=solve(md,'Sealevelrise');
+ SnoRotation=md.results.SealevelriseSolution.Sealevel;
+ 
+ %eustatic + rigid + elastic + rotation run: 
+ md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;
+-md.cluster=generic('name',oshostname(),'np',1);
++md.cluster=generic('name',oshostname(),'np',3);
+ %md.verbose=verbose('111111111');
+ md=solve(md,'Sealevelrise');
+ SRotation=md.results.SealevelriseSolution.Sealevel;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21404-21405.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21404-21405.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21404-21405.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/classes/initialization.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/initialization.m	(revision 21404)
++++ ../trunk-jpl/src/m/classes/initialization.m	(revision 21405)
+@@ -128,7 +128,7 @@
+ 
+ 			if md.thermal.isenthalpy,
+ 				tpmp = md.materials.meltingpoint - md.materials.beta*md.initialization.pressure;
+-				pos  = find(md.initialization.temperature>=tpmp);
++				pos  = find(md.initialization.temperature>=tpmp-1e-12);
+ 				enthalpy      = md.materials.heatcapacity*(md.initialization.temperature-md.constants.referencetemperature);
+ 				enthalpy(pos) = md.materials.heatcapacity*(tpmp(pos) - md.constants.referencetemperature) + md.materials.latentheat*md.initialization.waterfraction(pos);
+ 				WriteData(fid,prefix,'data',enthalpy,'format','DoubleMat','mattype',1,'name','md.initialization.enthalpy');
Index: /issm/oecreview/Archive/21337-21723/ISSM-21405-21406.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21405-21406.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21405-21406.diff	(revision 21726)
@@ -0,0 +1,59 @@
+Index: ../trunk-jpl/src/m/classes/initialization.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/initialization.m	(revision 21405)
++++ ../trunk-jpl/src/m/classes/initialization.m	(revision 21406)
+@@ -75,6 +75,11 @@
+ 			if (ismember('EnthalpyAnalysis',analyses) & md.thermal.isenthalpy)
+ 				md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]);
+ 				md = checkfield(md,'fieldname','initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices 1]);
++				pos=find(md.initialization.waterfraction>0.);
++				if(~isempty(pos)),
++					md = checkfield(md,'fieldname', 'delta Tpmp', 'field',abs(md.initialization.temperature(pos)-(md.materials.meltingpoint-md.materials.beta*md.initialization.pressure(pos))),'<',1e-11,...
++					'message','set temperature to pressure melting point at locations with waterfraction>0');
++				end
+ 			end
+ 			if ismember('HydrologyShreveAnalysis',analyses),
+ 				if isa(md.hydrology,'hydrologyshreve'),
+@@ -128,7 +133,7 @@
+ 
+ 			if md.thermal.isenthalpy,
+ 				tpmp = md.materials.meltingpoint - md.materials.beta*md.initialization.pressure;
+-				pos  = find(md.initialization.temperature>=tpmp-1e-12);
++				pos  = find(md.initialization.waterfraction>0.);
+ 				enthalpy      = md.materials.heatcapacity*(md.initialization.temperature-md.constants.referencetemperature);
+ 				enthalpy(pos) = md.materials.heatcapacity*(tpmp(pos) - md.constants.referencetemperature) + md.materials.latentheat*md.initialization.waterfraction(pos);
+ 				WriteData(fid,prefix,'data',enthalpy,'format','DoubleMat','mattype',1,'name','md.initialization.enthalpy');
+Index: ../trunk-jpl/src/m/classes/initialization.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/initialization.py	(revision 21405)
++++ ../trunk-jpl/src/m/classes/initialization.py	(revision 21406)
+@@ -99,6 +99,9 @@
+ 			if ('EnthalpyAnalysis' in analyses and md.thermal.isenthalpy):
+ 				md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
+ 				md = checkfield(md,'fieldname','initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices])
++				pos = np.nonzero(md.initialization.waterfraction > 0.)[0]
++				if(pos.size):
++					md = checkfield(md,'fieldname', 'delta Tpmp', 'field', np.absolute(md.initialization.temperature[pos]-(md.materials.meltingpoint-md.materials.beta*md.initialization.pressure[pos])),'<',1e-11,	'message','set temperature to pressure melting point at locations with waterfraction>0');
+ 		if 'HydrologyShreveAnalysis' in analyses:
+ 			if hasattr(md.hydrology,'hydrologyshreve'):
+ 				md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+@@ -130,9 +133,9 @@
+ 		
+ 		if md.thermal.isenthalpy:
+ 			tpmp = md.materials.meltingpoint - md.materials.beta*md.initialization.pressure;
+-			pos  = np.nonzero(md.initialization.temperature > tpmp)[0]
++			pos  = np.nonzero(md.initialization.waterfraction > 0.)[0]
+ 			enthalpy      = md.materials.heatcapacity*(md.initialization.temperature-md.constants.referencetemperature);
+-			enthalpy[pos] = md.materials.heatcapacity*tpmp[pos].reshape(-1,) - md.constants.referencetemperature + md.materials.latentheat*md.initialization.waterfraction[pos].reshape(-1,)
++			enthalpy[pos] = md.materials.heatcapacity*(tpmp[pos].reshape(-1,) - md.constants.referencetemperature) + md.materials.latentheat*md.initialization.waterfraction[pos].reshape(-1,)
+ 			WriteData(fid,prefix,'data',enthalpy,'format','DoubleMat','mattype',1,'name','md.initialization.enthalpy');
+ 
+ 	# }}}
+Index: ../trunk-jpl/test/Archives/Archive805.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive803.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21406-21407.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21406-21407.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21406-21407.diff	(revision 21726)
@@ -0,0 +1,42 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matestar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 21406)
++++ ../trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 21407)
+@@ -202,7 +202,10 @@
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetN(){/*{{{*/
+-	return 3.;
++
++	/*Output*/
++	IssmDouble n=3.0;
++	return n;
+ }
+ /*}}}*/
+ void  Matestar::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff){/*{{{*/
+@@ -319,7 +322,24 @@
+ }
+ /*}}}*/
+ void  Matestar::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff){/*{{{*/
+-	_error_("not implemented yet");
++	/*output: */
++	IssmDouble dmudB;
++
++	/*Intermediary: */
++	IssmDouble E=1.,n;
++
++	n=GetN(); _assert_(n>0.);
++	if(n==1.){
++		/*Linear Viscous behavior (Newtonian fluid) dmudB=B/2E: */
++		dmudB=1./(2.*E);
++	}
++	else{
++		if(eps_eff==0.) dmudB = 0.;
++		else            dmudB = 1./(2.*pow(E*eps_eff*eps_eff,1./3.));
++	}
++
++	/*Return: */
++	*pdmudB=dmudB;
+ }
+ /*}}}*/
+ void  Matestar::GetViscosity_D(IssmDouble* pdmudD,IssmDouble eps_eff){/*{{{*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21407-21408.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21407-21408.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21407-21408.diff	(revision 21726)
@@ -0,0 +1,11574 @@
+Index: ../trunk-jpl/test/NightlyRun/test273.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test273.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test273.py	(revision 21408)
+@@ -1,6 +1,7 @@
+ #Test Name: SquareShelfStressSSA2dDamageUpdate
+-import numpy
+-from model import model
++import numpy as np
++from model import *
++ from socket import gethostnamemodel
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+@@ -8,17 +9,17 @@
+ from solve import solve
+ from matdamageice import matdamageice
+ from generic import generic
+-from socket import gethostname as oshostname
++from socket import gethostname
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md.materials=matdamageice()
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.damage.isdamage=1
+-md.damage.D=0.*numpy.ones(md.mesh.numberofvertices)
+-md.damage.spcdamage=numpy.nan*numpy.ones(md.mesh.numberofvertices)
++md.damage.D=0.*np.ones(md.mesh.numberofvertices)
++md.damage.spcdamage=np.nan*np.ones(md.mesh.numberofvertices)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.stressbalance.requested_outputs=['default','NewDamage']
+ md.damage.stress_threshold=1.3e5
+Index: ../trunk-jpl/test/NightlyRun/test516.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test516.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test516.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: PigTherSteaSUPG
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+ md.thermal.stabilization=2
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0
+ md.thermal.penalty_threshold=40
+ md=solve(md,'Thermal')
+Index: ../trunk-jpl/test/NightlyRun/test409.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test409.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test409.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfTranMHOPenalties
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,8 +14,8 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO','coupling','penalties')
+-md.cluster=generic('name',oshostname(),'np',3)
+-md.transient.requested_outputs=['default','GroundedArea'];
++md.cluster=generic('name',gethostname(),'np',3)
++md.transient.requested_outputs=['default','GroundedArea']
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test328.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test328.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test328.py	(revision 21408)
+@@ -1,53 +1,64 @@
+ #Test Name: SquareSheetConstrainedSmbGradients2d
+-import numpy
+ import copy
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.smb = SMBgradients();
++md.smb = SMBgradients()
+ md.smb.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y
+ md.smb.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y
+ md.transient.requested_outputs=['default','TotalSmb']
+-md.smb.href=copy.deepcopy(md.geometry.surface).reshape(-1)
+-md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;
+-md.cluster=generic('name',oshostname(),'np',3)
++md.smb.href=copy.deepcopy(md.geometry.surface)
++md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Bed1','Surface1','Thickness1','SMB1','TotalSmb1','Vx2','Vy2','Vel2','Bed2','Surface2','Thickness2','SMB2','TotalSmb2','Vx3','Vy3','Vel3','Bed3','Surface3','Thickness3','SMB3','TotalSmb3']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[0].TotalSmb,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].TotalSmb,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[2].TotalSmb,\
+-	]
++field_names     =['Vx1','Vy1','Vel1',
++									'Bed1','Surface1','Thickness1',
++									'SMB1','TotalSmb1',
++									'Vx2','Vy2','Vel2','Bed2',
++									'Surface2','Thickness2',
++									'SMB2','TotalSmb2','Vx3','Vy3',
++									'Vel3','Bed3','Surface3',
++									'Thickness3','SMB3','TotalSmb3']
++field_tolerances=[1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[0].TotalSmb,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].TotalSmb,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[2].TotalSmb]
+Index: ../trunk-jpl/test/NightlyRun/test3004.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3004.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3004.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressFSAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.autodiff.isautodiff=True
+ md=solve(md,'Stressbalance')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1303.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1303.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1303.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: ThermalConduction
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ This file can be run to check that the conduction is correctly modeled.
+ There is no velocity (no advection) the only thermal boundary conditions are an imposed temperature
+@@ -25,11 +26,12 @@
+ md.extrude(11,2.)
+ md=setflowequation(md,'HO','all')
+ 
+-pos1=numpy.nonzero(md.mesh.elementonbase)[0]
++
++pos1=np.where(np.isnan(md.mesh.lowerelements))[0]
+ md.thermal.spctemperature[md.mesh.elements[pos1,0:3]-1]=10.
+-pos2=numpy.nonzero(md.mesh.elementonsurface)[0]
++pos2=np.where(np.isnan(md.mesh.upperelements))[0]
+ md.thermal.spctemperature[md.mesh.elements[pos2,3:6]-1]=0.
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1),int)
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices),int)
+ 
+ #analytical results
+ #d2T/dz2=0 T(bed)=10 T(surface)=0  => T=0*(z-bed)/thickness+10*(surface-z)/thickness
+@@ -37,13 +39,13 @@
+ md.initialization.temperature=10.*(md.geometry.surface-md.mesh.z)/md.geometry.thickness
+ 
+ #modeled results
+-md.cluster=generic('name',oshostname(),'np',2)
++md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Thermal')
+ 
+ #plot results
+ comp_temp=md.results.ThermalSolution.Temperature
+-relative=numpy.abs((comp_temp-md.initialization.temperature)/md.initialization.temperature)*100.
+-relative[numpy.nonzero(comp_temp==md.initialization.temperature)[0]]=0.
++relative=np.abs((comp_temp-md.initialization.temperature)/md.initialization.temperature)*100.
++relative[np.nonzero(comp_temp==md.initialization.temperature)[0]]=0.
+ #plotmodel(md,'data',comp_temp,'title','Modeled temperature [K]','data',md.initialization.temperature,'view',3,...
+ #	'title','Analytical temperature [K]','view',3,'data',comp_temp-md.initialization.temperature,...
+ #	'title','Absolute error [K]','view',3,'data',relative,'title','Relative error [%]','view',3,...
+@@ -51,8 +53,8 @@
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('thermalconduction','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv thermalconduction.png ' ISSM_DIR '/website/doc_pdf/validation/Images/Thermal ']);
++#	printmodel('thermalconduction','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv thermalconduction.png ' ISSM_DIR '/website/doc_pdf/validation/Images/Thermal '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['ConductionTemperature']
+Index: ../trunk-jpl/test/NightlyRun/test121.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test121.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test121.py	(revision 21408)
+@@ -1,20 +1,21 @@
+ #Test Name: SquareShelfConstrainedEnthalpyTran
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3);
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.cluster=generic('name',gethostname(),'np',3)
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test202.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test202.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test202.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressSSA3d
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test606.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test606.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test606.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthBedSlop2d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -12,7 +13,7 @@
+ md=setmask(md,'../Exp/79NorthShelf.exp','')
+ md=parameterize(md,'../Par/79North.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'BedSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test337.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test337.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test337.py	(revision 21408)
+@@ -1,77 +1,75 @@
+ #Test Name: SquareSheetConstrainedSmbComponents3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb=SMBcomponents();
+-md.smb.accumulation=numpy.vstack((smb*2, [1.5,3.]));
+-md.smb.runoff=numpy.vstack((smb/2, [1.5,3.]));
+-md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.]));
++md.smb=SMBcomponents()
++md.smb.accumulation=np.vstack((smb*2, [1.5,3.]))
++md.smb.runoff=np.vstack((smb/2, [1.5,3.]))
++md.smb.evaporation=np.vstack((smb/2, [1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[\
+-		5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-		5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-		5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-		5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,
++									5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,
++									5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,
++									5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test1205.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1205.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1205.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: EISMINTRoundIceSheetStaticSIA
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from roundmesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ The aim of this program is to compare a model with an analytical solution given in SSA EISMINT : Lessons in Ice-Sheet Modeling.
+ """
+@@ -27,83 +28,75 @@
+ constant=0.3
+ vx_obs=constant/2.*md.mesh.x*(md.geometry.thickness)**-1
+ vy_obs=constant/2.*md.mesh.y*(md.geometry.thickness)**-1
+-vel_obs=numpy.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
++vel_obs=np.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
+ 
+ #We extrude the model to have a 3d model
+-md.extrude(numlayers,1.);
++md.extrude(numlayers,1.)
+ md=setflowequation(md,'SIA','all')
+ 
+ #Spc the nodes on the bed
+-pos=numpy.nonzero(md.mesh.vertexonbase)
++pos=np.where(md.mesh.vertexonbase)
+ md.stressbalance.spcvx[pos]=0.
+ md.stressbalance.spcvy[pos]=0.
+ md.stressbalance.spcvz[pos]=0.
+ 
+ #Now we can solve the problem 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Stressbalance')
+ 
+ #Calculate the depth averaged velocity field (2d):
+ vx=md.results.StressbalanceSolution.Vx
+ vy=md.results.StressbalanceSolution.Vy
+-vel=numpy.zeros((md.mesh.numberofvertices2d,1))
++vel=np.zeros((md.mesh.numberofvertices2d))
+ 
+ for i in xrange(0,md.mesh.numberofvertices2d):
+ 	node_vel=0.
+ 	for j in xrange(0,md.mesh.numberoflayers-1):
+-		node_vel=node_vel+1./(2.*(md.mesh.numberoflayers-1))*\
+-			(numpy.sqrt(vx[i+(j+1)*md.mesh.numberofvertices2d,0]**2+vy[i+(j+1)*md.mesh.numberofvertices2d,0]**2)+\
+-			numpy.sqrt(vx[i+j*md.mesh.numberofvertices2d,0]**2+vy[i+j*md.mesh.numberofvertices2d,0]**2))
+-	vel[i,0]=node_vel
++		node_vel=node_vel+1./(2.*(md.mesh.numberoflayers-1))*(np.sqrt(vx[i+(j+1)*md.mesh.numberofvertices2d,0]**2+vy[i+(j+1)*md.mesh.numberofvertices2d,0]**2)+np.sqrt(vx[i+j*md.mesh.numberofvertices2d,0]**2+vy[i+j*md.mesh.numberofvertices2d,0]**2))
++	vel[i]=node_vel
+ 
+ #Plot of the velocity from the exact and calculated solutions
+ #figure(1)
+ #set(gcf,'Position',[1 1 1580 1150])
+ #subplot(2,2,1)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#vel,'FaceColor','interp','EdgeColor','none');
++#vel,'FaceColor','interp','EdgeColor','none')
+ #title('Modelled velocity','FontSize',14,'FontWeight','bold')
+-#colorbar; 
+-#caxis([0 200]);
++#colorbar 
++#caxis([0 200])
+    
+ #subplot(2,2,2)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#vel_obs,'FaceColor','interp','EdgeColor','none');
++#vel_obs,'FaceColor','interp','EdgeColor','none')
+ #title('Analytical velocity','FontSize',14,'FontWeight','bold')
+-#colorbar; 
+-#caxis([0 200]);
++#colorbar 
++#caxis([0 200])
+ 
+ #subplot(2,2,3)
+-#hold on;
+-#plot(sqrt((md.mesh.x(1:md.mesh.numberofvertices2d)).^2+(md.mesh.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.');
+-#plot(sqrt((md.mesh.x2d).^2+(md.mesh.y2d).^2),vel_obs,'b.');
+-#title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold');
+-#xlabel('distance to the center of the icesheet [m]','FontSize',14,'FontWeight','bold');
+-#ylabel('velocity [m/yr]','FontSize',14,'FontWeight','bold');
+-#legend('calculated velocity','exact velocity');
+-#axis([0 750000 0 200]);
+-#hold off;
++#hold on
++#plot(sqrt((md.mesh.x(1:md.mesh.numberofvertices2d)).^2+(md.mesh.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.')
++#plot(sqrt((md.mesh.x2d).^2+(md.mesh.y2d).^2),vel_obs,'b.')
++#title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold')
++#xlabel('distance to the center of the icesheet [m]','FontSize',14,'FontWeight','bold')
++#ylabel('velocity [m/yr]','FontSize',14,'FontWeight','bold')
++#legend('calculated velocity','exact velocity')
++#axis([0 750000 0 200])
++#hold off
+ 
+ #subplot(2,2,4)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#abs(vel-vel_obs)./vel_obs*100,'FaceColor','interp','EdgeColor','none');
++#abs(vel-vel_obs)./vel_obs*100,'FaceColor','interp','EdgeColor','none')
+ #title('Relative misfit [%]','FontSize',14,'FontWeight','bold')
+-#colorbar;
+-#caxis([0 100]);
++#colorbar
++#caxis([0 100])
+ 
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('SIAstatic','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv SIAstatic.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceSheet']);
++#	printmodel('SIAstatic','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv SIAstatic.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceSheet'])
+ 
+ #Fields and tolerances to track changes
+-field_names     =[ \
+-	'Vx','Vy','Vel', \
+-]
+-field_tolerances=[ \
+-	1e-13,1e-13,1e-13, \
+-]
+-field_values=[ \
+-	vx,vy,vel, \
+-]
++field_names     =['Vx','Vy','Vel']
++field_tolerances=[1e-13,1e-13,1e-13]
++field_values=[vx,vy,vel]
+Index: ../trunk-jpl/test/NightlyRun/test211.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test211.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test211.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTranFS
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -15,7 +16,7 @@
+ md.extrude(3,1.)
+ md=setflowequation(md,'FS','all')
+ md.stressbalance.reltol=NaN
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test104.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test104.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test104.py	(revision 21408)
+@@ -1,27 +1,26 @@
+ #Test Name: SquareShelfConstrainedStressFS
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vz','Vel','Pressure']
+ field_tolerances=[1e-08,1e-08,1e-06,1e-08,1e-08]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vz,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vz,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure]
+Index: ../trunk-jpl/test/NightlyRun/test803.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test803.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test803.py	(revision 21408)
+@@ -1,22 +1,22 @@
+ #Test Name: ValleyGlacierLevelsetEnthalpyHO3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/ValleyGlacierShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #Thermal model
+-pos_surf=numpy.nonzero(md.mesh.vertexonsurface)[0]
++pos_surf=np.nonzero(md.mesh.vertexonsurface)[0]
+ md.thermal.spctemperature[pos_surf]=md.initialization.temperature[pos_surf]
+ md.thermal.isenthalpy=True
+ md.thermal.isdynamicbasalspc=True
+@@ -33,38 +33,36 @@
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Enthalpy1','Watercolumn1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Enthalpy2','Watercolumn2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Enthalpy3','Watercolumn3']
+-field_tolerances=[1e-10,1e-10,1e-10,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-		1e-9,1e-9,1e-10,1e-10,1e-10,1e-10,1e-10,1e-9,1e-10,\
+-		1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[0].Enthalpy,\
+-	md.results.TransientSolution[0].Watercolumn,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[1].Enthalpy,\
+-	md.results.TransientSolution[1].Watercolumn,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-	md.results.TransientSolution[2].Enthalpy,\
+-	md.results.TransientSolution[2].Watercolumn,\
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Enthalpy1','Watercolumn1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Enthalpy2','Watercolumn2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Enthalpy3','Watercolumn3']
++field_tolerances=[1e-10,1e-10,1e-10,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-9,1e-9,1e-10,1e-10,1e-10,1e-10,1e-10,1e-9,1e-10,
++									1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[0].Enthalpy,
++							md.results.TransientSolution[0].Watercolumn,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[1].Enthalpy,
++							md.results.TransientSolution[1].Watercolumn,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset,
++							md.results.TransientSolution[2].Enthalpy,
++							md.results.TransientSolution[2].Watercolumn]
+Index: ../trunk-jpl/test/NightlyRun/test291.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test291.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test291.py	(revision 21408)
+@@ -1,11 +1,12 @@
+ #Test Name: SquareShelfStressFSP4z
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from ContourToMesh import *
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+@@ -14,11 +15,11 @@
+ md.extrude(2,1.)
+ md=setflowequation(md,'FS','all')
+ md.flowequation.fe_FS='OneLayerP4z'
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx', 'Vy', 'Vz', 'Vel','Pressure'];
++field_names     =['Vx', 'Vy', 'Vz', 'Vel','Pressure']
+ field_tolerances=[5e-5,5e-5,8e-5,5e-5,1e-7]
+ field_values=[\
+ 	md.results.StressbalanceSolution.Vx,\
+@@ -26,4 +27,4 @@
+ 	md.results.StressbalanceSolution.Vz,\
+ 	md.results.StressbalanceSolution.Vel,\
+ 	md.results.StressbalanceSolution.Pressure,\
+-	];
++	]
+Index: ../trunk-jpl/test/NightlyRun/test427.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test427.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test427.py	(revision 21408)
+@@ -1,8 +1,7 @@
+ #Test Name: SquareSheetShelfGroundingLine3dSoft
+-import numpy
+ from model import *
+-from MatlabFuncs import *
+-from triangle import *
++from socket import gethostname
++
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+@@ -13,8 +12,8 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+-md.geometry.bed =-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
++md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.
++md.geometry.bed =-700.-abs(md.mesh.y-500000.)/1000.
+ md.geometry.thickness[:]=1300
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ md=setflowequation(md,'SSA','all')
+@@ -24,27 +23,25 @@
+ md.transient.isstressbalance=False
+ md.transient.isgroundingline=True
+ md.groundingline.migration='SoftMigration'
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Bed1','Surface1','Thickness1','Floatingice1',\
+-	'Bed2','Surface2','Thickness2','Floatingice2',\
+-	'Bed3','Surface3','Thickness3','Floatingice3']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,\
+-	5e-12,3e-12,7e-12,2e-11,\
+-	1e-10,5e-11,1e-10,7e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].MaskGroundediceLevelset,\
+-	]
++field_names     =['Bed1','Surface1','Thickness1','Floatingice1',
++									'Bed2','Surface2','Thickness2','Floatingice2',
++									'Bed3','Surface3','Thickness3','Floatingice3']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,
++									5e-12,3e-12,7e-12,2e-11,
++									1e-10,5e-11,1e-10,7e-10]
++field_values=[md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].MaskGroundediceLevelset,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].MaskGroundediceLevelset,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].MaskGroundediceLevelset]
+Index: ../trunk-jpl/test/NightlyRun/test508.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test508.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test508.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigSteaSSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',35000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(3,1.1)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md=solve(md,'Steadystate')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test239.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test239.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test239.py	(revision 21408)
+@@ -1,65 +1,66 @@
+ #Test Name: SquareShelfTranIspddIsdeltaO18pdInterpSSA2d 
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ 
+ # Use of ispdd and isdelta18o methods
+-md.smb = SMBd18opdd();
+-md.smb.isd18opd=1;
++md.smb = SMBd18opdd()
++md.smb.isd18opd=1
+ 
+ # Add temperature, precipitation and delta18o needed to measure the surface mass balance
+ # creating delta18o
+-delta18o=numpy.loadtxt('../Data/delta18o.data')
++delta18o=np.loadtxt('../Data/delta18o.data')
+ md.smb.delta18o=delta18o
+ 
+ # creating Present day temperatures
+ # Same temperature over the all region:
+-tmonth=numpy.ones(12)*(238.15+20.)
+-md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
++tmonth=np.ones(12)*(238.15+20.)
++md.smb.temperatures_presentday=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+     # Time for the last line:
+     md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.)
+ 
+ # creating initialization and spc temperatures initialization and spc
+-md.thermal.spctemperature=numpy.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
++md.thermal.spctemperature=np.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
+ md.thermal.spctemperature=md.thermal.spctemperature-10
+ md.initialization.temperature=md.thermal.spctemperature
+ md.smb.initialize(md)
+ 
+ # creating precipitation
+-md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_presentday=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+     md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ # time steps and resolution
+-md.timestepping.time_step=0.5;
+-md.settings.output_frequency=1;
+-md.timestepping.final_time=2;
++md.timestepping.time_step=0.5
++md.settings.output_frequency=1
++md.timestepping.final_time=2
+ 
+ # 
+ md.transient.requested_outputs=['default','SmbMonthlytemperatures']
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\
+ 		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\
+-				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'];
++				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13];
++			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+ field_values=[\
+ 	md.results.TransientSolution[0].Vx,\
+ 	md.results.TransientSolution[0].Vy,\
+Index: ../trunk-jpl/test/NightlyRun/test3103.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3103.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3103.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressHOAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.stressbalance.requested_outputs=['default','StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz']
+ 
+ md.autodiff.isautodiff=True
+Index: ../trunk-jpl/test/NightlyRun/test1107.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1107.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1107.py	(revision 21408)
+@@ -1,14 +1,13 @@
+ #Test Name: ISMIPDHO
+-import numpy
++import numpy as np
+ import shutil
+ from model import *
++from socket import gethostname
+ from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+@@ -17,7 +16,7 @@
+ 
+ printingflag=False
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ minvx=[]
+ maxvx=[]
+@@ -34,23 +33,23 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#We need one grd on dirichlet: the 4 corners are set to zero
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-#	posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase));
+-	posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,numpy.logical_not(numpy.logical_and(md.mesh.y==0.,md.mesh.vertexonbase)),numpy.logical_not(numpy.logical_and(md.mesh.y==L,md.mesh.vertexonbase))))[0]
+-#	posx2=find(md.mesh.x==max(md.mesh.x) & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase));
+-	posx2=numpy.nonzero(logical_and_n(md.mesh.x==numpy.max(md.mesh.x),numpy.logical_not(numpy.logical_and(md.mesh.y==0.,md.mesh.vertexonbase)),numpy.logical_not(numpy.logical_and(md.mesh.y==L,md.mesh.vertexonbase))))[0]
++#	posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase))
++	posx=np.where(np.logical_and.reduce((md.mesh.x==0.,np.logical_not(np.logical_and(md.mesh.y==0.,md.mesh.vertexonbase)),np.logical_not(np.logical_and(md.mesh.y==L,md.mesh.vertexonbase)))))[0]
++#	posx2=find(md.mesh.x==max(md.mesh.x) & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase))
++	posx2=np.where(np.logical_and.reduce((md.mesh.x==np.max(md.mesh.x),np.logical_not(np.logical_and(md.mesh.y==0.,md.mesh.vertexonbase)),np.logical_not(np.logical_and(md.mesh.y==L,md.mesh.vertexonbase)))))[0]
+ 
+-	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]    #Don't take the same nodes two times
+-	posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]
++	posy=np.where(np.logical_and.reduce((md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]    #Don't take the same nodes two times
++	posy2=np.where(np.logical_and.reduce((md.mesh.y==np.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]
+ 
+-	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
++	md.stressbalance.vertex_pairing=np.vstack((np.vstack((posx+1,posx2+1)).T,np.vstack((posy+1,posy2+1)).T))
+ 
+ 	#Add spc on the corners
+-	pos=numpy.nonzero(logical_and_n(numpy.logical_or(md.mesh.x==0.,md.mesh.x==L),numpy.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonbase))
++	pos=np.where(np.logical_and.reduce((np.logical_or(md.mesh.x==0.,md.mesh.x==L),np.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonbase)))
+ 	md.stressbalance.spcvy[:]=0.
+ 	md.stressbalance.spcvx[pos]=0.
+ 	if   (L==5000.):
+@@ -67,11 +66,11 @@
+ 		md.stressbalance.spcvx[pos]=16.91
+ 	
+ 	#Spc the bed at zero for vz
+-	pos=numpy.nonzero(md.mesh.vertexonbase)
++	pos=np.where(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvz[pos]=0.
+ 
+ 	#Compute the stressbalance
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 
+ 	#Plot the results and save them
+@@ -79,21 +78,21 @@
+ 	vy=md.results.StressbalanceSolution.Vy
+ 	vz=md.results.StressbalanceSolution.Vz
+ 	results.append(md.results.StressbalanceSolution)
+-	minvx.append(numpy.min(vx[-md.mesh.numberofvertices2d:]))
+-	maxvx.append(numpy.max(vx[-md.mesh.numberofvertices2d:]))
++	minvx.append(np.min(vx[-md.mesh.numberofvertices2d:]))
++	maxvx.append(np.max(vx[-md.mesh.numberofvertices2d:]))
+ 
+ 	#Now plot vx, vy, vz and vx on a cross section
+ #	plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipdHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipdHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipdHOvx%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestD')
+ #	plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipdHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipdHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipdHOvz%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestD')
+ 
+ 	if   (L==5000.):
+@@ -123,44 +122,26 @@
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipdHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipdHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipdHOvxsec%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestD')
+ 
+ #Now plot the min and max values of vx for each size of the square
+-#plot([5 10 20 40 80 160],minvx);ylim([2 18]);xlim([0 160])
++#plot([5 10 20 40 80 160],minvx)ylim([2 18])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipdHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipdHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipdHOminvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestD')
+-#plot([5 10 20 40 80 160],maxvx);ylim([0 300]);xlim([0 160])
++#plot([5 10 20 40 80 160],maxvx)ylim([0 300])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipdHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipdHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipdHOmaxvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestD')
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-07,1e-08,1e-06,\
+-	1e-08,1e-08,1e-06,\
+-	1e-08,1e-08,1e-07,\
+-	1e-08,1e-08,1e-07,\
+-	1e-08,1e-08,1e-07,\
+-	1e-07,1e-08,1e-06,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-08,1e-08,1e-07]
+ field_values=[]
+ for result in results:
+-	field_values=field_values+[\
+-		result.Vx,\
+-		result.Vy,\
+-		result.Vz,\
+-		]
++	field_values=field_values+[result.Vx,result.Vy,result.Vz]
+Index: ../trunk-jpl/test/NightlyRun/test220.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test220.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test220.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressHOFS3dTiling
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf2.py')
+ md.extrude(2,1.)
+ md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','HO')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test301.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test301.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test301.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareSheetConstrainedStressSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test113.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test113.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test113.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedSurfSlope3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'SurfaceSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test274.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test274.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test274.py	(revision 21408)
+@@ -1,12 +1,13 @@
+ #Test Name: SquareShelfStressSSA2dDamageRift
+-import numpy
+-from model import model
++import numpy as np
++from model import *
++ from socket import gethostnamemodel
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+ from setflowequation import setflowequation
+ from solve import solve
+-from socket import gethostname as oshostname
++from socket import gethostname
+ from matdamageice import matdamageice
+ from meshprocessrifts import meshprocessrifts
+ from generic import generic
+@@ -17,11 +18,11 @@
+ md.materials=matdamageice()
+ md=parameterize(md,'../Par/SquareShelf2.py')
+ md.damage.isdamage=1
+-md.damage.D=0.5*numpy.ones(md.mesh.numberofvertices)
+-md.damage.spcdamage=numpy.nan*numpy.ones(md.mesh.numberofvertices)
++md.damage.D=0.5*np.ones(md.mesh.numberofvertices)
++md.damage.spcdamage=np.nan*np.ones(md.mesh.numberofvertices)
+ md=setflowequation(md,'SSA','all')
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ print md.rifts.riftstruct[0]['fill']
+ md=solve(md,'Stressbalance')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test329.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test329.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test329.py	(revision 21408)
+@@ -1,62 +1,73 @@
+ #Test Name: SquareSheetConstrainedSmbGradients3d
+-import numpy
+ import copy
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1)
+ md=setflowequation(md,'HO','all')
+-md.smb = SMBgradients();
++md.smb = SMBgradients()
+ md.smb.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y
+ md.smb.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y
+-md.smb.href=copy.deepcopy(md.geometry.surface).reshape(-1)
+-md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;
++md.smb.href=copy.deepcopy(md.geometry.surface)
++md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y
+ md.transient.requested_outputs=['default','TotalSmb']
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vz1','Vel1','Bed1','Surface1','Thickness1','Temperature1','SMB1','TotalSmb1','Vx2','Vy2','Vz2','Vel2','Bed2','Surface2','Thickness2','Temperature2','SMB2','TotalSmb2','Vx3','Vy3','Vz3','Vel3','Bed3','Surface3','Thickness3','Temperature3','SMB3','TotalSmb3']
+-field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vz,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Temperature,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[0].TotalSmb,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vz,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Temperature,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[1].TotalSmb,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vz,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Temperature,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[2].TotalSmb,\
+-	]
++field_names     =['Vx1','Vy1','Vz1','Vel1',
++									'Bed1','Surface1','Thickness1',
++									'Temperature1','SMB1','TotalSmb1',
++									'Vx2','Vy2','Vz2','Vel2',
++									'Bed2','Surface2','Thickness2',
++									'Temperature2','SMB2','TotalSmb2',
++									'Vx3','Vy3','Vz3','Vel3',
++									'Bed3','Surface3','Thickness3',
++									'Temperature3','SMB3','TotalSmb3']
++field_tolerances=[1e-09,1e-09,1e-09,1e-09,
++									1e-10,1e-10,1e-10,
++									1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-09,
++									1e-10,1e-10,1e-10,
++									1e-10,1e-10,1e-10,
++									1e-09,5e-09,1e-09,1e-09,
++									1e-10,1e-10,1e-10,
++									1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vz,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Temperature,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[0].TotalSmb,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vz,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Temperature,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[1].TotalSmb,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vz,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Temperature,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[2].TotalSmb]
+Index: ../trunk-jpl/test/NightlyRun/test3300.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3300.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3300.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from transient import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+@@ -17,7 +18,7 @@
+ md.transient.ishydrology=True
+ md.transient.issmb=True
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.hydrology=hydrologydc()
+ md.hydrology=md.hydrology.initialize(md)
+ 
+@@ -25,15 +26,15 @@
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=400.0
+ md.hydrology.sediment_thickness=20.0
+-md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices,1))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.sediment_transmitivity=1.5e-4*np.ones((md.mesh.numberofvertices,1))
++md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
++md.hydrology.sediment_transmitivity=1.5e-4*np.ones((md.mesh.numberofvertices))
+ 
+-md.initialization.epl_head=np.zeros((md.mesh.numberofvertices,1))
+-md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices,1))
++md.initialization.epl_head=np.zeros((md.mesh.numberofvertices))
++md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices))
++md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices))
+ 
+ md.hydrology.epl_conductivity=1.5e-2
+ md.hydrology.epl_initial_thickness=1.0
+@@ -60,8 +61,8 @@
+ eplvol=np.zeros(4000)
+ totvol=np.zeros(4001)
+ time=np.arange(0.002,8.001,0.002)
+-store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility);
+-sedstore=20.0*store;
++store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility)
++sedstore=20.0*store
+ for i in range(0,4000):
+ 	sedvol[i]=np.mean(md.results.TransientSolution[i].SedimentHead)*sedstore
+ 	eplvol[i]=np.mean(md.results.TransientSolution[i].EplHead)*store*np.mean(md.results.TransientSolution[i].HydrologydcEplThickness)
+Index: ../trunk-jpl/test/NightlyRun/test3005.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3005.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3005.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedMasstransp2dAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.autodiff.isautodiff=True
+ md=solve(md,'Masstransport')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1304.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1304.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1304.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: ThermalGeothermalFlux
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ This file can be run to check that the geothermal flux in simple conduction is correctly modeled.
+ There is no velocity (no advection) the only thermal boundary conditions are an imposed temperature
+@@ -25,9 +26,9 @@
+ md.extrude(11,1.)
+ md=setflowequation(md,'HO','all')
+ 
+-pos2=numpy.nonzero(md.mesh.elementonsurface)[0]
++pos2=np.where(np.isnan(md.mesh.upperelements))[0]
+ md.thermal.spctemperature[md.mesh.elements[pos2,3:6]-1]=0.
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1),int)
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices),int)
+ md.basalforcings.geothermalflux[:]=0.1    #100mW/m^2
+ 
+ #analytical results
+@@ -36,13 +37,13 @@
+ md.initialization.temperature=-0.1/md.materials.thermalconductivity*(md.mesh.z-md.geometry.surface)    #G=0.1 W/m2
+ 
+ #modeled results
+-md.cluster=generic('name',oshostname(),'np',2)
++md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Thermal')
+ 
+ #plot results
+ comp_temp=md.results.ThermalSolution.Temperature
+-relative=numpy.abs((comp_temp-md.initialization.temperature)/md.initialization.temperature)*100.
+-relative[numpy.nonzero(comp_temp==md.initialization.temperature)[0]]=0.
++relative=np.abs((comp_temp-md.initialization.temperature)/md.initialization.temperature)*100.
++relative[np.where(comp_temp==md.initialization.temperature)[0]]=0.
+ #plotmodel(md,'data',comp_temp,'title','Modeled temperature [K]','data',md.initialization.temperature,'view',3,...
+ #	'title','Analytical temperature','view',3,'data',comp_temp-md.initialization.temperature,...
+ #	'title','Absolute error [K]','view',3,'data',relative,'title','Relative error [%]','view',3,...
+@@ -50,8 +51,8 @@
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('thermalgeothermalflux','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv thermalgeothermalflux.png ' ISSM_DIR '/website/doc_pdf/validation/Images/Thermal ']);
++#	printmodel('thermalgeothermalflux','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv thermalgeothermalflux.png ' ISSM_DIR '/website/doc_pdf/validation/Images/Thermal '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['GeothermalFluxTemperature']
+Index: ../trunk-jpl/test/NightlyRun/test310.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test310.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test310.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: SquareSheetConstrainedMasstransp2dDG
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from meshconvert import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=meshconvert(md)
+ md=setmask(md,'','')
+@@ -15,7 +16,7 @@
+ md=setflowequation(md,'SSA','all')
+ md.masstransport.stabilization=3
+ md.masstransport.spcthickness=md.geometry.thickness
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test203.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test203.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test203.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressHO
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test122.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test122.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test122.py	(revision 21408)
+@@ -1,23 +1,24 @@
+ #Test Name: SquareShelfConstrainedTransHOEnth
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md.thermal.isenthalpy=1
+ md.thermal.isdynamicbasalspc=1
+ md.thermal.stabilization=2
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test607.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test607.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test607.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthBedSlop3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/79North.py')
+ md.extrude(2,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'BedSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test338.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test338.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test338.py	(revision 21408)
+@@ -1,76 +1,75 @@
+ #Test Name: SquareSheetConstrainedSmbMeltComponents2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+-md.timestepping.final_time=4.
++md.timestepping.final_time=400.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb=SMBmeltcomponents();
+-md.smb.accumulation=numpy.vstack((smb, [1.5,3.]));
+-md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.]));
+-md.smb.melt=numpy.vstack((smb/2, [1.5,3.]));
+-md.smb.refreeze=numpy.vstack((smb, [1.5,3.]));
++md.smb=SMBmeltcomponents()
++md.smb.accumulation=np.vstack((smb, [1.5,3.]))
++md.smb.evaporation=np.vstack((smb/2, [1.5,3.]))
++md.smb.melt=np.vstack((smb/2, [1.5,3.]))
++md.smb.refreeze=np.vstack((smb, [1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test419.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test419.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test419.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressSSAHOTiling
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test1501.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1501.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1501.py	(revision 21408)
+@@ -1,21 +1,22 @@
+ #Test Name: SquareShelfTranSawTooth2d
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ printingflag = False
+ 
+ md=triangle(model(),'../Exp/Square.exp',350000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.isthermal=False
+ 
+ md.timestepping.time_step=1.
+@@ -23,7 +24,7 @@
+ md.timestepping.final_time=2000.
+ 
+ #Solve for thinning rate -> -1 * surface mass balance
+-smb= 2.*numpy.ones((md.mesh.numberofvertices,1))
++smb= 2.*np.ones((md.mesh.numberofvertices))
+ md.smb.mass_balance= smb
+ md.basalforcings.groundedice_melting_rate= smb
+ 
+@@ -36,14 +37,14 @@
+ #Set up transient
+ smb = md.smb.mass_balance
+ 
+-#tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ];
+-tooth=numpy.hstack((numpy.tile(smb-10.,(1,400)),numpy.tile(smb,(1,400))))
+-#smb=[ [ones(399,1)*(smb')]' smb  tooth tooth];
+-smb=numpy.hstack((numpy.tile(smb,(1,399)),smb,tooth,tooth))
++#tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ]
++tooth=np.hstack((np.tile(smb-10.,(1,400)),np.tile(smb,(1,400))))
++#smb=[ [ones(399,1)*(smb')]' smb  tooth tooth]
++smb=np.hstack((np.tile(smb,(1,399)),smb,tooth,tooth))
+ 
+-#md.smb.mass_balance= smb;
+-#md.smb.mass_balance(end+1,:)=[1.:2000.];
+-md.smb.mass_balance=numpy.vstack((smb,numpy.arange(1,2001)))
++#md.smb.mass_balance= smb
++#md.smb.mass_balance(end+1,:)=[1.:2000.]
++md.smb.mass_balance=np.vstack((smb,np.arange(1,2001)))
+ 
+ md=solve(md,'Transient')
+ 
+@@ -105,76 +106,76 @@
+ 	pass
+ 
+ 	"""
+-	starttime = 360;
+-	endtime = 2000;
+-	res = 40;
+-	ts = [starttime:res:endtime];
++	starttime = 360
++	endtime = 2000
++	res = 40
++	ts = [starttime:res:endtime]
+ 
+-	index = md.mesh.elements;
+-	x1=md.mesh.x(index(:,1)); x2=md.mesh.x(index(:,2)); x3=md.mesh.x(index(:,3));
+-	y1=md.mesh.y(index(:,1)); y2=md.mesh.y(index(:,2)); y3=md.mesh.y(index(:,3));
+-	areas=(0.5*((x2-x1).*(y3-y1)-(y2-y1).*(x3-x1)));
++	index = md.mesh.elements
++	x1=md.mesh.x(index(:)) x2=md.mesh.x(index(:,2)) x3=md.mesh.x(index(:,3))
++	y1=md.mesh.y(index(:)) y2=md.mesh.y(index(:,2)) y3=md.mesh.y(index(:,3))
++	areas=(0.5*((x2-x1).*(y3-y1)-(y2-y1).*(x3-x1)))
+ 
+-	thickness = [];
+-	volume = [];
+-	massbal = [];
+-	velocity = [];
++	thickness = []
++	volume = []
++	massbal = []
++	velocity = []
+ 	for t=starttime:endtime
+-		thickness = [thickness (md.results.TransientSolution(t).Thickness)];
+-		volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas];
+-		massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)];
+-		velocity = [velocity (md.results.TransientSolution(t).Vel)];
++		thickness = [thickness (md.results.TransientSolution(t).Thickness)]
++		volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas]
++		massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)]
++		velocity = [velocity (md.results.TransientSolution(t).Vel)]
+ 	end
+ 
+ 	figure('Position', [0 0 860 932])
+ 
+-	options = plotoptions('data','transient_movie','unit','km');
+-	options = options.list{1};
+-	options = checkplotoptions(md,options);
++	options = plotoptions('data','transient_movie','unit','km')
++	options = options.list{1}
++	options = checkplotoptions(md,options)
+ 
+ 	%loop over the time steps
+-	results=md.results.TransientSolution;
+-	count = 1;
++	results=md.results.TransientSolution
++	count = 1
+ 	for i=ts
+ 
+ 		subplot(5,9,[28:31 37:40])
+ 		set(gca,'pos',get(gca,'pos')+[-0.08 -0.08 0.07 0.08])
+-		field = 'Thickness';
++		field = 'Thickness'
+ 
+ 		%process data
+-		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options);
+-		[data datatype]=processdata(md,results(i).(field),options);
++		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options)
++		[data datatype]=processdata(md,results(i).(field),options)
+ 
+-		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
++		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year']
+ 		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+-		options=changefieldvalue(options,'title',titlestring);
+-		options=addfielddefault(options,'colorbar',1);
+-		options=changefieldvalue(options,'caxis',[0 max(max(thickness))]);
+-		applyoptions(md,[],options);
++		options=changefieldvalue(options,'title',titlestring)
++		options=addfielddefault(options,'colorbar',1)
++		options=changefieldvalue(options,'caxis',[0 max(max(thickness))])
++		applyoptions(md,[],options)
+ 
+ 		subplot(5,9,[33:36 42:45])
+ 		set(gca,'pos',get(gca,'pos')+[-0.00 -0.08 0.07 0.08])
+-		field = 'Vel';
++		field = 'Vel'
+ 
+ 		%process data
+-		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options);
+-		[data datatype]=processdata(md,results(i).(field),options);
++		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options)
++		[data datatype]=processdata(md,results(i).(field),options)
+ 
+-		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
++		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year']
+ 		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+-		options=changefieldvalue(options,'title',titlestring);
+-		options=addfielddefault(options,'colorbar',1);
+-		options=changefieldvalue(options,'caxis',[0 max(max(velocity))]);
+-		applyoptions(md,[],options);
++		options=changefieldvalue(options,'title',titlestring)
++		options=addfielddefault(options,'colorbar',1)
++		options=changefieldvalue(options,'caxis',[0 max(max(velocity))])
++		applyoptions(md,[],options)
+ 
+ 		subplot(5,4,1:4)
+ 		cla
+ 		set(gca,'pos',get(gca,'pos')+[-0.07 0.03 0.12 0.015])
+ 		plot(starttime:endtime,mean(massbal),'k','LineWidth', 4)
+ 		hold on
+-		ya = ylim;
++		ya = ylim
+ 		plot([i i], ya, 'r', 'LineWidth',6)
+-		ylim(ya); xlim([starttime endtime]);
++		ylim(ya) xlim([starttime endtime])
+ 		title('Surface Mass Balance','FontSize',14)
+ 		ylabel('m/year','FontSize',14)
+ 
+@@ -183,9 +184,9 @@
+ 		set(gca,'pos',get(gca,'pos')+[-0.07 0.015 0.12 0.015])
+ 		plot(starttime:endtime,sum(volume)/1000/1000/1000,'LineWidth',4)
+ 		hold on
+-		ya = ylim;
++		ya = ylim
+ 		plot([i i], ya, 'r', 'LineWidth',6)
+-		ylim(ya); xlim([starttime endtime]);
++		ylim(ya) xlim([starttime endtime])
+ 		title('Ice Volume','FontSize',14)
+ 		ylabel('km^3','FontSize',14)
+ 
+@@ -194,29 +195,29 @@
+ 		set(gca,'pos',get(gca,'pos')+[-0.07 0 0.12 0.015])
+ 		plot(starttime:endtime,mean(velocity)/1000, 'LineWidth', 4)
+ 		hold on
+-		ya = ylim;
++		ya = ylim
+ 		plot([i i], ya, 'r', 'LineWidth',6)
+-		ylim(ya); xlim([starttime endtime]);
++		ylim(ya) xlim([starttime endtime])
+ 		title('Mean Velocity','FontSize', 14)
+ 		ylabel('km/year','FontSize', 14)
+ 		xlabel('year','FontSize', 14)
+ 
+-		set(gcf,'Renderer','zbuffer','color','white'); %fixes a bug on Mac OS X (not needed in future Matlab version)
++		set(gcf,'Renderer','zbuffer','color','white') %fixes a bug on Mac OS X (not needed in future Matlab version)
+ 		if i==starttime,
+ 			%initialize images and frame
+-			frame=getframe(gcf);
+-			[images,map]=rgb2ind(frame.cdata,256,'nodither');
+-			images(1,1,1,length(ts))=0;
++			frame=getframe(gcf)
++			[images,map]=rgb2ind(frame.cdata,256,'nodither')
++			images(1,1,1,length(ts))=0
+ 		else
+-			frame=getframe(gcf);
+-			images(:,:,1,count) = rgb2ind(frame.cdata,map,'nodither');
++			frame=getframe(gcf)
++			images(:,:,1,count) = rgb2ind(frame.cdata,map,'nodither')
+ 		end
+ 
+-		count = count+1;
++		count = count+1
+ 
+ 	end
+ 
+-	filename='transawtooth2d.gif';
++	filename='transawtooth2d.gif'
+ 	imwrite(images,map,filename,'DelayTime',1.0,'LoopCount',inf)
+ 	"""
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1206.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1206.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1206.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: EISMINTRoundIceSheetStaticHO
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from roundmesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ The aim of this program is to compare a model with an analytical solution given in SSA EISMINT : Lessons in Ice-Sheet Modeling.
+ """
+@@ -25,84 +26,78 @@
+ 
+ #Calculation of the analytical 2d velocity field
+ constant=0.3
+-vx_obs=constant/2.*md.mesh.x.reshape(-1,1)*(md.geometry.thickness)**-1
+-vy_obs=constant/2.*md.mesh.y.reshape(-1,1)*(md.geometry.thickness)**-1
+-vel_obs=numpy.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
++vx_obs=constant/2.*md.mesh.x*(md.geometry.thickness)**-1
++vy_obs=constant/2.*md.mesh.y*(md.geometry.thickness)**-1
++vel_obs=np.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
+ 
+ #We extrude the model to have a 3d model
+ md.extrude(numlayers,1.)
+ md=setflowequation(md,'HO','all')
+ 
+ #Spc the nodes on the bed
+-pos=numpy.nonzero(md.mesh.vertexonbase)
++pos=np.where(md.mesh.vertexonbase)
+ md.stressbalance.spcvx[pos]=0.
+ md.stressbalance.spcvy[pos]=0.
+ md.stressbalance.spcvz[pos]=0.
+ 
+ #Now we can solve the problem 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Stressbalance')
+ 
+ #Calculate the depth averaged velocity field (2d):
+ vx=md.results.StressbalanceSolution.Vx
+ vy=md.results.StressbalanceSolution.Vy
+-vel=numpy.zeros((md.mesh.numberofvertices2d,1))
++vel=np.zeros((md.mesh.numberofvertices2d))
+ 
+ for i in xrange(0,md.mesh.numberofvertices2d):
+ 	node_vel=0.
+ 	for j in xrange(0,md.mesh.numberoflayers-1):
+ 		node_vel=node_vel+1./(2.*(md.mesh.numberoflayers-1))*\
+-			(numpy.sqrt(vx[i+(j+1)*md.mesh.numberofvertices2d,0]**2+vy[i+(j+1)*md.mesh.numberofvertices2d,0]**2)+\
+-			numpy.sqrt(vx[i+j*md.mesh.numberofvertices2d,0]**2+vy[i+j*md.mesh.numberofvertices2d,0]**2))
+-	vel[i,0]=node_vel
++			(np.sqrt(vx[i+(j+1)*md.mesh.numberofvertices2d,0]**2+vy[i+(j+1)*md.mesh.numberofvertices2d,0]**2)+\
++			np.sqrt(vx[i+j*md.mesh.numberofvertices2d,0]**2+vy[i+j*md.mesh.numberofvertices2d,0]**2))
++	vel[i]=node_vel
+ 
+ #Plot of the velocity from the exact and calculated solutions
+ #figure(1)
+ #subplot(2,2,1)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#vel,'FaceColor','interp','EdgeColor','none');
++#vel,'FaceColor','interp','EdgeColor','none')
+ #title('Modelled velocity','FontSize',14,'FontWeight','bold')
+-#colorbar; 
+-#caxis([0 200]);
++#colorbar 
++#caxis([0 200])
+    
+ #subplot(2,2,2)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#vel_obs,'FaceColor','interp','EdgeColor','none');
++#vel_obs,'FaceColor','interp','EdgeColor','none')
+ #title('Analytical velocity','FontSize',14,'FontWeight','bold')
+-#colorbar; 
+-#caxis([0 200]);
++#colorbar 
++#caxis([0 200])
+ 
+ #subplot(2,2,3)
+-#hold on;
+-#plot(sqrt((md.mesh.x(1:md.mesh.numberofvertices2d)).^2+(md.mesh.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.');
+-#plot(sqrt((md.mesh.x2d).^2+(md.mesh.y2d).^2),vel_obs,'b.');
+-#title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold');
+-#xlabel('distance to the center of the icesheet [m]','FontSize',14,'FontWeight','bold');
+-#ylabel('velocity [m/yr]','FontSize',14,'FontWeight','bold');
+-#legend('calculated velocity','exact velocity');
+-#axis([0 750000 0 200]);
+-#hold off;
++#hold on
++#plot(sqrt((md.mesh.x(1:md.mesh.numberofvertices2d)).^2+(md.mesh.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.')
++#plot(sqrt((md.mesh.x2d).^2+(md.mesh.y2d).^2),vel_obs,'b.')
++#title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold')
++#xlabel('distance to the center of the icesheet [m]','FontSize',14,'FontWeight','bold')
++#ylabel('velocity [m/yr]','FontSize',14,'FontWeight','bold')
++#legend('calculated velocity','exact velocity')
++#axis([0 750000 0 200])
++#hold off
+ 
+ #subplot(2,2,4)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#abs(vel-vel_obs)./vel_obs*100,'FaceColor','interp','EdgeColor','none');
++#abs(vel-vel_obs)./vel_obs*100,'FaceColor','interp','EdgeColor','none')
+ #title('Relative misfit [%]','FontSize',14,'FontWeight','bold')
+-#colorbar;
+-#caxis([0 100]);
++#colorbar
++#caxis([0 100])
+ 
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('HOstatic','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv HOstatic.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceSheet']);
++#	printmodel('HOstatic','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv HOstatic.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceSheet'])
+ 
+ #Fields and tolerances to track changes
+-field_names     =[ \
+-	'Vx','Vy','Vel', \
+-]
+-field_tolerances=[ \
+-	1e-12,1e-12,1e-12, \
+-]
+-field_values=[ \
+-	vx,vy,vel, \
+-]
++field_names     =['Vx','Vy','Vel']
++field_tolerances=[1e-12,1e-12,1e-12]
++field_values=[vx,vy,vel]
+Index: ../trunk-jpl/test/NightlyRun/test212.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test212.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test212.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfCMBSSA2d
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -19,19 +20,19 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test105.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test105.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test105.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedMasstransp2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test804.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test804.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test804.py	(revision 21408)
+@@ -1,18 +1,18 @@
+ #Test Name: ValleyGlacierLevelsetCalvingSIA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/ValleyGlacierShelf.py')
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #Transient
+ md.transient.isstressbalance=True
+@@ -21,41 +21,38 @@
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+ md.transient.isgia=False
+-md.transient.ismovingfront=True;
++md.transient.ismovingfront=True
+ 
+-md.calving.calvingrate=1000.*numpy.ones((md.mesh.numberofvertices,1))
+-md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
++md.calving.calvingrate=1000.*np.ones((md.mesh.numberofvertices))
++md.calving.meltingrate=np.zeros((md.mesh.numberofvertices))
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-		2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13,\
+-		2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13,
++									2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset]
+Index: ../trunk-jpl/test/NightlyRun/test292.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test292.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test292.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTranSSA2dFloatingMeltParam
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.basalforcings=linearbasalforcings(md.basalforcings)
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test509.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test509.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test509.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigSteaHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',30000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md.thermal.penalty_threshold=7
+ md=solve(md,'Steadystate')
+Index: ../trunk-jpl/test/NightlyRun/test428.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test428.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test428.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressSSA2dNewton
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=setflowequation(md,'SSA','all')
+ md.stressbalance.isnewton=1
+ md.stressbalance.restol=0.0001
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test3104.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3104.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3104.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressFSAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.autodiff.isautodiff=True
+ md=solve(md,'Stressbalance')
+Index: ../trunk-jpl/test/NightlyRun/test1108.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1108.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1108.py	(revision 21408)
+@@ -1,12 +1,13 @@
+ #Test Name: ISMIPDFS
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from bamg import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from PythonFuncs import *
+ 
+ """
+@@ -14,7 +15,7 @@
+ Pattyn and Payne 2006
+ """
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ 
+ for L in L_list:
+@@ -29,36 +30,36 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#We need one grd on dirichlet: the 4 corners are set to zero
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
+ 	
+-	pos=numpy.nonzero(logical_and_n(md.mesh.vertexonbase,numpy.logical_or(md.mesh.x==0.,md.mesh.x==numpy.max(md.mesh.x)),numpy.logical_or(md.mesh.y==0.,md.mesh.y==numpy.max(md.mesh.y))))
++	pos=np.nonzero(logical_and.reduce_n(md.mesh.vertexonbase,np.logical_or.reduce(md.mesh.x==0.,md.mesh.x==np.max(md.mesh.x)),np.logical_or.reduce(md.mesh.y==0.,md.mesh.y==np.max(md.mesh.y))))
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 	md.stressbalance.spcvz[pos]=0.
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-	posx=numpy.nonzero(md.mesh.x==0.)[0]
+-	posx2=numpy.nonzero(md.mesh.x==numpy.max(md.mesh.x))[0]
++	posx=np.nonzero(md.mesh.x==0.)[0]
++	posx2=np.nonzero(md.mesh.x==np.max(md.mesh.x))[0]
+ 
+-	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]    #Don't take the same nodes two times
+-	posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]
++	posy=np.nonzero(logical_and.reduce_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x)))[0]    #Don't take the same nodes two times
++	posy2=np.nonzero(logical_and.reduce_n(md.mesh.y==np.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x)))[0]
+ 
+-	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
++	md.stressbalance.vertex_pairing=np.vstack((np.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),np.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
+ 
+ 	#Compute the stressbalance
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md.verbose=verbose('convergence',True)
+ 	md=solve(md,'Stressbalance')
+ 	md.stressbalance.reltol=float('NaN')
+ 	md.stressbalance.abstol=float('NaN')
+-	md.stressbalance.vertex_pairing=numpy.empty((0,2))
++	md.stressbalance.vertex_pairing=np.empty((0,2))
+ 	#We need one grid on dirichlet: the 4 corners are set to zero
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	pos=numpy.nonzero(logical_or_n(md.mesh.y==0.,md.mesh.x==0.,md.mesh.x==numpy.max(md.mesh.x),md.mesh.y==numpy.max(md.mesh.y)))    #Don't take the same nodes two times
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	pos=np.nonzero(logical_or.reduce_n(md.mesh.y==0.,md.mesh.x==0.,md.mesh.x==np.max(md.mesh.x),md.mesh.y==np.max(md.mesh.y)))    #Don't take the same nodes two times
+ 	md.stressbalance.spcvx[pos]=md.results.StressbalanceSolution.Vx[pos]
+ 	md.stressbalance.spcvy[pos]=md.results.StressbalanceSolution.Vy[pos]
+ 	md=setflowequation(md,'FS','all')
+@@ -73,22 +74,8 @@
+ #	plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.mesh.numberoflayers)
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-07,1e-07,1e-07,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-07,1e-07,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-07,1e-07,\
+-	1e-07,1e-06,1e-07,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-08,1e-07,1e-07]
+ field_values=[]
+ for result in results:
+ 	field_values=field_values+[\
+Index: ../trunk-jpl/test/NightlyRun/test302.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test302.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test302.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareSheetConstrainedStressSIA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test221.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test221.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test221.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfStressSSAFS3dTiling
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',120000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf2.py')
+ md.extrude(2,1.)
+ md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','SSA')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.stressbalance.viscosity_overshoot=0
+ md=solve(md,'Stressbalance')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test114.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test114.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test114.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedBedSlop2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'BedSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test275.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test275.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test275.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: SquareShelfDamageEvolutionSSA2dPralong 
+-import numpy
++import numpy as np
+ from triangle import triangle
+-from model import model
++from model import *
++ from socket import gethostnamemodel
+ from setmask import setmask
+ from parameterize import parameterize
+ from verbose import verbose
+ from setflowequation import setflowequation
+ from generic import generic
+-from socket import gethostname as oshostname
++from socket import gethostname
+ from solve import solve
+ from matdamageice import matdamageice
+ 
+@@ -16,8 +17,8 @@
+ md.materials=matdamageice()
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.damage.isdamage=1
+-md.damage.D=0.1*numpy.ones(md.mesh.numberofvertices)
+-md.damage.spcdamage=numpy.nan*numpy.ones(md.mesh.numberofvertices)
++md.damage.D=0.1*np.ones(md.mesh.numberofvertices)
++md.damage.spcdamage=np.nan*np.ones(md.mesh.numberofvertices)
+ md.damage.law=1
+ 
+ md.damage.c1=1.e-11
+@@ -30,7 +31,7 @@
+ md.damage.requested_outputs=['default','DamageF']
+ 
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'DamageEvolution')
+ 
+ field_names=['D','F']
+Index: ../trunk-jpl/test/NightlyRun/test3006.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3006.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3006.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfConstrainedMasstransp2dDGAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from meshconvert import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=meshconvert(md)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.masstransport.stabilization=3
+ md.masstransport.spcthickness=md.geometry.thickness
+ md.autodiff.isautodiff=True
+Index: ../trunk-jpl/test/NightlyRun/test311.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test311.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test311.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedMasstransp3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SSA','all')
+ md.extrude(5,0.5)
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test230.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test230.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test230.py	(revision 21408)
+@@ -1,77 +1,76 @@
+ #Test Name: SquareShelfTranForceNeg3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',350000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb.mass_balance=numpy.vstack((smb,[1.5,3.]))
++md.smb.mass_balance=np.vstack((smb,[1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vz,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vz,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vz,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vz,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++									'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++									'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++									'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vz,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vz,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vz,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vz,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test204.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test204.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test204.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressFS
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,11 +15,11 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
+-md.stressbalance.shelf_dampening=1;
+-md.timestepping.time_step=0;
++md.cluster=generic('name',gethostname(),'np',3)
++md.stressbalance.shelf_dampening=1
++md.timestepping.time_step=0
+ md1=solve(md,'Stressbalance')
+-md.stressbalance.shelf_dampening=0;
++md.stressbalance.shelf_dampening=0
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test608.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test608.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test608.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthBalThic2d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -12,7 +13,7 @@
+ md=setmask(md,'../Exp/79NorthShelf.exp','')
+ md=parameterize(md,'../Par/79North.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Balancethickness')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test339.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test339.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test339.py	(revision 21408)
+@@ -1,78 +1,76 @@
+ #Test Name: SquareSheetConstrainedSmbMeltComponents3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb=SMBmeltcomponents();
+-md.smb.accumulation=numpy.vstack((smb, [1.5,3.]));
+-md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.]));
+-md.smb.melt=numpy.vstack((smb/2, [1.5,3.]));
+-md.smb.refreeze=numpy.vstack((smb, [1.5,3.]));
++md.smb=SMBmeltcomponents()
++md.smb.accumulation=np.vstack((smb, [1.5,3.]))
++md.smb.evaporation=np.vstack((smb/2, [1.5,3.]))
++md.smb.melt=np.vstack((smb/2, [1.5,3.]))
++md.smb.refreeze=np.vstack((smb, [1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[\
+-		1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-		1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-		1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-		1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test1502.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1502.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1502.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: SquareShelfTranSawTooth3d
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ printingflag = False
+ 
+ md=triangle(model(),'../Exp/Square.exp',450000.)
+@@ -16,7 +17,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+ md.extrude(3,1.)
+-md.cluster=generic('name',oshostname(),'np',2)
++md.cluster=generic('name',gethostname(),'np',2)
+ md.transient.isthermal=False
+ 
+ md.timestepping.time_step=1.
+@@ -24,7 +25,7 @@
+ md.timestepping.final_time=2000.
+ 
+ #Solve for thinning rate -> -1 * surface mass balance
+-smb= 2.*numpy.ones((md.mesh.numberofvertices,1))
++smb= 2.*np.ones((md.mesh.numberofvertices))
+ md.smb.mass_balance= smb
+ md.basalforcings.groundedice_melting_rate= smb
+ 
+@@ -37,14 +38,14 @@
+ #Set up transient
+ smb = md.smb.mass_balance
+ 
+-#tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ];
+-tooth=numpy.hstack((numpy.tile(smb-10.,(1,400)),numpy.tile(smb,(1,400))))
+-#smb=[ [ones(399,1)*(smb')]' smb  tooth tooth];
+-smb=numpy.hstack((numpy.tile(smb,(1,399)),smb,tooth,tooth))
++#tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ]
++tooth=np.hstack((np.tile(smb-10.,(1,400)),np.tile(smb,(1,400))))
++#smb=[ [ones(399,1)*(smb')]' smb  tooth tooth]
++smb=np.hstack((np.tile(smb,(1,399)),smb,tooth,tooth))
+ 
+-#md.smb.mass_balance= smb;
+-#md.smb.mass_balance(end+1,:)=[1.:2000.];
+-md.smb.mass_balance=numpy.vstack((smb,numpy.arange(1,2001)))
++#md.smb.mass_balance= smb
++#md.smb.mass_balance(end+1,:)=[1.:2000.]
++md.smb.mass_balance=np.vstack((smb,np.arange(1,2001)))
+ 
+ md=solve(md,'Transient')
+ 
+@@ -111,76 +112,76 @@
+ 	pass
+ 	"""
+ 
+-	starttime = 360;
+-	endtime = 2000;
+-	res = 40;
+-	ts = [starttime:res:endtime];
++	starttime = 360
++	endtime = 2000
++	res = 40
++	ts = [starttime:res:endtime]
+ 
+-	index = md.mesh.elements;
+-	x1=md.mesh.x(index(:,1)); x2=md.mesh.x(index(:,2)); x3=md.mesh.x(index(:,3));
+-	y1=md.mesh.y(index(:,1)); y2=md.mesh.y(index(:,2)); y3=md.mesh.y(index(:,3));
+-	areas=(0.5*((x2-x1).*(y3-y1)-(y2-y1).*(x3-x1)));
++	index = md.mesh.elements
++	x1=md.mesh.x(index(:)) x2=md.mesh.x(index(:,2)) x3=md.mesh.x(index(:,3))
++	y1=md.mesh.y(index(:)) y2=md.mesh.y(index(:,2)) y3=md.mesh.y(index(:,3))
++	areas=(0.5*((x2-x1).*(y3-y1)-(y2-y1).*(x3-x1)))
+ 
+-	thickness = [];
+-	volume = [];
+-	massbal = [];
+-	velocity = [];
++	thickness = []
++	volume = []
++	massbal = []
++	velocity = []
+ 	for t=starttime:endtime
+-		thickness = [thickness (md.results.TransientSolution(t).Thickness)];
+-		volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas];
+-		massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)];
+-		velocity = [velocity (md.results.TransientSolution(t).Vel)];
++		thickness = [thickness (md.results.TransientSolution(t).Thickness)]
++		volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas]
++		massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)]
++		velocity = [velocity (md.results.TransientSolution(t).Vel)]
+ 	end
+ 
+ 	figure('Position', [0 0 1060 1060])
+ 
+-	options = plotoptions('data','transient_movie','unit','km');
+-	options = options.list{1};
+-	options = checkplotoptions(md,options);
++	options = plotoptions('data','transient_movie','unit','km')
++	options = options.list{1}
++	options = checkplotoptions(md,options)
+ 
+ 	%loop over the time steps
+-	results=md.results.TransientSolution;
+-	count = 1;
++	results=md.results.TransientSolution
++	count = 1
+ 	for i=ts
+ 
+ 		subplot(5,9,[28:31 37:40])
+ 		set(gca,'pos',get(gca,'pos')+[-0.08 -0.08 0.07 0.08])
+-		field = 'Thickness';
++		field = 'Thickness'
+ 
+ 		%process data
+-		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options);
+-		[data datatype]=processdata(md,results(i).(field),options);
++		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options)
++		[data datatype]=processdata(md,results(i).(field),options)
+ 
+-		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
++		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year']
+ 		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+-		options=changefieldvalue(options,'title',titlestring);
+-		options=addfielddefault(options,'colorbar',1);
+-		options=changefieldvalue(options,'caxis',[0 max(max(thickness))]);
+-		applyoptions(md,[],options);
++		options=changefieldvalue(options,'title',titlestring)
++		options=addfielddefault(options,'colorbar',1)
++		options=changefieldvalue(options,'caxis',[0 max(max(thickness))])
++		applyoptions(md,[],options)
+ 
+ 		subplot(5,9,[33:36 42:45])
+ 		set(gca,'pos',get(gca,'pos')+[-0.01 -0.08 0.07 0.08])
+-		field = 'Vel';
++		field = 'Vel'
+ 
+ 		%process data
+-		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options);
+-		[data datatype]=processdata(md,results(i).(field),options);
++		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options)
++		[data datatype]=processdata(md,results(i).(field),options)
+ 
+-		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
++		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year']
+ 		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+-		options=changefieldvalue(options,'title',titlestring);
+-		options=addfielddefault(options,'colorbar',1);
+-		options=changefieldvalue(options,'caxis',[0 max(max(velocity))]);
+-		applyoptions(md,[],options);
++		options=changefieldvalue(options,'title',titlestring)
++		options=addfielddefault(options,'colorbar',1)
++		options=changefieldvalue(options,'caxis',[0 max(max(velocity))])
++		applyoptions(md,[],options)
+ 
+ 		subplot(5,4,1:4)
+ 		cla
+ 		set(gca,'pos',get(gca,'pos')+[-0.07 0.03 0.12 0.015])
+ 		plot(starttime:endtime,mean(massbal),'k','LineWidth', 4)
+ 		hold on
+-		ya = ylim;
++		ya = ylim
+ 		plot([i i], ya, 'r', 'LineWidth',6)
+-		ylim(ya); xlim([starttime endtime]);
++		ylim(ya) xlim([starttime endtime])
+ 		title('Surface Mass Balance','FontSize',14)
+ 		ylabel('m/year','FontSize',14)
+ 
+@@ -189,9 +190,9 @@
+ 		set(gca,'pos',get(gca,'pos')+[-0.07 0.015 0.12 0.015])
+ 		plot(starttime:endtime,sum(volume)/1000/1000/1000,'LineWidth',4)
+ 		hold on
+-		ya = ylim;
++		ya = ylim
+ 		plot([i i], ya, 'r', 'LineWidth',6)
+-		ylim(ya); xlim([starttime endtime]);
++		ylim(ya) xlim([starttime endtime])
+ 		title('Ice Volume','FontSize',14)
+ 		ylabel('km^3','FontSize',14)
+ 
+@@ -200,29 +201,29 @@
+ 		set(gca,'pos',get(gca,'pos')+[-0.07 0 0.12 0.015])
+ 		plot(starttime:endtime,mean(velocity)/1000, 'LineWidth', 4)
+ 		hold on
+-		ya = ylim;
++		ya = ylim
+ 		plot([i i], ya, 'r', 'LineWidth',6)
+-		ylim(ya); xlim([starttime endtime]);
++		ylim(ya) xlim([starttime endtime])
+ 		title('Mean Velocity','FontSize', 14)
+ 		ylabel('km/year','FontSize', 14)
+ 		xlabel('year','FontSize', 14)
+ 
+-		set(gcf,'Renderer','zbuffer','color','white'); %fixes a bug on Mac OS X (not needed in future Matlab version)
++		set(gcf,'Renderer','zbuffer','color','white') %fixes a bug on Mac OS X (not needed in future Matlab version)
+ 		if i==starttime,
+ 			%initialize images and frame
+-			frame=getframe(gcf);
+-			[images,map]=rgb2ind(frame.cdata,256,'nodither');
+-			images(1,1,1,length(ts))=0;
++			frame=getframe(gcf)
++			[images,map]=rgb2ind(frame.cdata,256,'nodither')
++			images(1,1,1,length(ts))=0
+ 		else
+-			frame=getframe(gcf);
+-			images(:,:,1,count) = rgb2ind(frame.cdata,map,'nodither');
++			frame=getframe(gcf)
++			images(:,:,1,count) = rgb2ind(frame.cdata,map,'nodither')
+ 		end
+ 
+-		count = count+1;
++		count = count+1
+ 
+ 	end
+ 
+-	filename='transawtooth3d.gif';
++	filename='transawtooth3d.gif'
+ 	imwrite(images,map,filename,'DelayTime',1.0,'LoopCount',inf)
+ 	"""
+ 
+Index: ../trunk-jpl/test/NightlyRun/test3015.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3015.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3015.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfConstrainedMasstransp2dAdolcForwardDifference
+-import numpy
++import numpy as np
+ import copy
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -10,8 +11,8 @@
+ from dependent import *
+ from SetIceShelfBC import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ #This test runs test3005 with autodiff on, and checks that 
+ #the value of the scalar forward difference match a step-wise differential
+ 
+@@ -20,7 +21,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.masstransport.requested_outputs=['IceVolume']
+ md.verbose=verbose('autodiff',True)
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1207.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1207.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1207.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: EISMINTRoundIceSheetStaticFS
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from roundmesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ The aim of this program is to compare a model with an analytical solution given in SSA EISMINT : Lessons in Ice-Sheet Modeling.
+ """
+@@ -25,84 +26,78 @@
+ 
+ #Calculation of the analytical 2d velocity field
+ constant=0.3
+-vx_obs=constant/2.*md.mesh.x.reshape(-1,1)*(md.geometry.thickness)**-1
+-vy_obs=constant/2.*md.mesh.y.reshape(-1,1)*(md.geometry.thickness)**-1
+-vel_obs=numpy.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
++vx_obs=constant/2.*md.mesh.x*(md.geometry.thickness)**-1
++vy_obs=constant/2.*md.mesh.y*(md.geometry.thickness)**-1
++vel_obs=np.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
+ 
+ #We extrude the model to have a 3d model
+ md.extrude(numlayers,1.)
+ md=setflowequation(md,'FS','all')
+ 
+ #Spc the nodes on the bed
+-pos=numpy.nonzero(md.mesh.vertexonbase)
++pos=np.where(md.mesh.vertexonbase)
+ md.stressbalance.spcvx[pos]=0.
+ md.stressbalance.spcvy[pos]=0.
+ md.stressbalance.spcvz[pos]=0.
+ 
+ #Now we can solve the problem 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Stressbalance')
+ 
+ #Calculate the depth averaged velocity field (2d):
+ vx=md.results.StressbalanceSolution.Vx
+ vy=md.results.StressbalanceSolution.Vy
+-vel=numpy.zeros((md.mesh.numberofvertices2d,1))
++vel=np.zeros((md.mesh.numberofvertices2d))
+ 
+ for i in xrange(0,md.mesh.numberofvertices2d):
+ 	node_vel=0.
+ 	for j in xrange(0,md.mesh.numberoflayers-1):
+ 		node_vel=node_vel+1./(2.*(md.mesh.numberoflayers-1))*\
+-			(numpy.sqrt(vx[i+(j+1)*md.mesh.numberofvertices2d,0]**2+vy[i+(j+1)*md.mesh.numberofvertices2d,0]**2)+\
+-			numpy.sqrt(vx[i+j*md.mesh.numberofvertices2d,0]**2+vy[i+j*md.mesh.numberofvertices2d,0]**2))
+-	vel[i,0]=node_vel
++			(np.sqrt(vx[i+(j+1)*md.mesh.numberofvertices2d,0]**2+vy[i+(j+1)*md.mesh.numberofvertices2d,0]**2)+\
++			np.sqrt(vx[i+j*md.mesh.numberofvertices2d,0]**2+vy[i+j*md.mesh.numberofvertices2d,0]**2))
++	vel[i]=node_vel
+ 
+ #Plot of the velocity from the exact and calculated solutions
+ #figure(1)
+ #subplot(2,2,1)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#vel,'FaceColor','interp','EdgeColor','none');
++#vel,'FaceColor','interp','EdgeColor','none')
+ #title('Modelled velocity','FontSize',14,'FontWeight','bold')
+-#colorbar; 
+-#caxis([0 200]);
++#colorbar 
++#caxis([0 200])
+    
+ #subplot(2,2,2)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#vel_obs,'FaceColor','interp','EdgeColor','none');
++#vel_obs,'FaceColor','interp','EdgeColor','none')
+ #title('Analytical velocity','FontSize',14,'FontWeight','bold')
+-#colorbar; 
+-#caxis([0 200]);
++#colorbar 
++#caxis([0 200])
+ 
+ #subplot(2,2,3)
+-#hold on;
+-#plot(sqrt((md.mesh.x(1:md.mesh.numberofvertices2d)).^2+(md.mesh.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.');
+-#plot(sqrt((md.mesh.x2d).^2+(md.mesh.y2d).^2),vel_obs,'b.');
+-#title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold');
+-#xlabel('distance to the center of the icesheet [m]','FontSize',14,'FontWeight','bold');
+-#ylabel('velocity [m/yr]','FontSize',14,'FontWeight','bold');
+-#legend('calculated velocity','exact velocity');
+-#axis([0 750000 0 200]);
+-#hold off;
++#hold on
++#plot(sqrt((md.mesh.x(1:md.mesh.numberofvertices2d)).^2+(md.mesh.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.')
++#plot(sqrt((md.mesh.x2d).^2+(md.mesh.y2d).^2),vel_obs,'b.')
++#title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold')
++#xlabel('distance to the center of the icesheet [m]','FontSize',14,'FontWeight','bold')
++#ylabel('velocity [m/yr]','FontSize',14,'FontWeight','bold')
++#legend('calculated velocity','exact velocity')
++#axis([0 750000 0 200])
++#hold off
+ 
+ #subplot(2,2,4)
+ #p=patch('Faces',md.mesh.elements2d,'Vertices',[md.mesh.x2d md.mesh.y2d],'FaceVertexCData',...
+-#abs(vel-vel_obs)./vel_obs*100,'FaceColor','interp','EdgeColor','none');
++#abs(vel-vel_obs)./vel_obs*100,'FaceColor','interp','EdgeColor','none')
+ #title('Relative misfit [%]','FontSize',14,'FontWeight','bold')
+-#colorbar;
+-#caxis([0 100]);
++#colorbar
++#caxis([0 100])
+ 
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('FSstatic','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv FSstatic.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceSheet']);
++#	printmodel('FSstatic','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv FSstatic.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceSheet'])
+ 
+ #Fields and tolerances to track changes
+-field_names     =[ \
+-	'Vx','Vy','Vel', \
+-]
+-field_tolerances=[ \
+-	1e-12,1e-12,1e-12, \
+-]
+-field_values=[ \
+-	vx,vy,vel, \
+-]
++field_names     =['Vx','Vy','Vel']
++field_tolerances=[1e-12,1e-12,1e-12]
++field_values=[vx,vy,vel]
+Index: ../trunk-jpl/test/NightlyRun/test401.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test401.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test401.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressSSA2d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -12,7 +13,7 @@
+ md=setmask(md,'../Exp/SquareShelf.exp','')
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test320.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test320.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test320.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: SquareSheetConstrainedCMDragSSA3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+@@ -17,19 +18,19 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[103,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+-md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
++md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test213.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test213.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test213.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfCMBSSA3d
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -20,19 +21,19 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test106.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test106.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test106.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfConstrainedMasstransp2dDG
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from meshconvert import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=meshconvert(md)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.masstransport.stabilization=3
+ md.masstransport.spcthickness=md.geometry.thickness
+ md=solve(md,'Masstransport')
+Index: ../trunk-jpl/test/NightlyRun/test805.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test805.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test805.py	(revision 21408)
+@@ -1,22 +1,22 @@
+ #Test Name: ValleyGlacierLevelsetEnthCalvingHO3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/ValleyGlacierShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #Thermal model
+-pos_surf=numpy.nonzero(md.mesh.vertexonsurface)[0]
++pos_surf=np.nonzero(md.mesh.vertexonsurface)[0]
+ md.thermal.spctemperature[pos_surf]=md.initialization.temperature[pos_surf]
+ md.thermal.isenthalpy=True
+ md.thermal.isdynamicbasalspc=True
+@@ -28,46 +28,44 @@
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+ md.transient.isgia=False
+-md.transient.ismovingfront=True;
++md.transient.ismovingfront=True
+ 
+-md.calving.calvingrate=1000.*numpy.ones((md.mesh.numberofvertices,1))
+-md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
++md.calving.calvingrate=1000.*np.ones((md.mesh.numberofvertices))
++md.calving.meltingrate=np.zeros((md.mesh.numberofvertices))
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Enthalpy1','Watercolumn1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Enthalpy2','Watercolumn2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Enthalpy3','Watercolumn3']
+-field_tolerances=[1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,\
+-		1e-9,1e-9,1e-10,1e-10,1e-10,1e-10,1e-10,1e-9,1e-10,\
+-		1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[0].Enthalpy,\
+-	md.results.TransientSolution[0].Watercolumn,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[1].Enthalpy,\
+-	md.results.TransientSolution[1].Watercolumn,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-	md.results.TransientSolution[2].Enthalpy,\
+-	md.results.TransientSolution[2].Watercolumn,\
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Enthalpy1','Watercolumn1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Enthalpy2','Watercolumn2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Enthalpy3','Watercolumn3']
++field_tolerances=[1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,
++									1e-9,1e-9,1e-10,1e-10,1e-10,1e-10,1e-10,1e-9,1e-10,
++									1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[0].Enthalpy,
++							md.results.TransientSolution[0].Watercolumn,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[1].Enthalpy,
++							md.results.TransientSolution[1].Watercolumn,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset,
++							md.results.TransientSolution[2].Enthalpy,
++							md.results.TransientSolution[2].Watercolumn]
+Index: ../trunk-jpl/test/NightlyRun/test455.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test455.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test455.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressHOHigherOrder
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ field_names=[]
+ field_tolerances=[]
+Index: ../trunk-jpl/test/NightlyRun/test429.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test429.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test429.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressHONewton
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -15,7 +16,7 @@
+ md=setflowequation(md,'HO','all')
+ md.stressbalance.isnewton=1
+ md.stressbalance.restol=0.0001
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test3105.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3105.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3105.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedMasstransp2dAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.autodiff.isautodiff=True
+ md=solve(md,'Masstransport')
+Index: ../trunk-jpl/test/NightlyRun/test410.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test410.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test410.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfSteaSSA3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0
+ md=solve(md,'Steadystate')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test303.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test303.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test303.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareSheetConstrainedStressSIASSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SIA','../Exp/SquareHalfRight.exp','fill','SSA')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test222.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test222.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test222.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfStressSSA2dTransientIncrHydro
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.masstransport.hydrostatic_adjustment='Incremental'
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test115.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test115.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test115.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedBedSlop3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'BedSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test1601.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21408)
+@@ -1,51 +1,52 @@
+ #Test Name: SquareShelfSSA2dRotation
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.stressbalance.spcvx[numpy.nonzero(md.mesh.y>0.)]=float('NaN')
++md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=float('NaN')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.initialization.vel=numpy.zeros_like(md.initialization.vx)
++md.initialization.vel=np.zeros_like(md.initialization.vx)
+ 
+-md.cluster=generic('name',oshostname(),'np',2)
++md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Stressbalance')
+ vel0=md.results.StressbalanceSolution.Vel
+ 
+-theta=30.*numpy.pi/180.
++theta=30.*np.pi/180.
+ x=md.mesh.x
+ y=md.mesh.y
+-md.mesh.x=numpy.cos(theta)*x-numpy.sin(theta)*y
+-md.mesh.y=numpy.sin(theta)*x+numpy.cos(theta)*y
++md.mesh.x=np.cos(theta)*x-np.sin(theta)*y
++md.mesh.y=np.sin(theta)*x+np.cos(theta)*y
+ 
+-md.stressbalance.referential[:,0:3]=numpy.tile([numpy.cos(theta),numpy.sin(theta),0],(md.mesh.numberofvertices,1))
+-md.stressbalance.referential[:,3: ]=numpy.tile([0,0,1],(md.mesh.numberofvertices,1))
++md.stressbalance.referential[:,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(md.mesh.numberofvertices))
++md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices))
+ md=solve(md,'Stressbalance')
+ vel1=md.results.StressbalanceSolution.Vel
+ 
+ #plotmodel(md,'data',vel0,'data',vel1,'data',vel1-vel0,'title','Cartesian CS','title','Rotated CS','title','difference')
+-print "Error between Cartesian and rotated CS: %g" % (numpy.max(numpy.abs(vel0-vel1))/(numpy.max(numpy.abs(vel0))+sys.float_info.epsilon))
++print "Error between Cartesian and rotated CS: %g" % (np.max(np.abs(vel0-vel1))/(np.max(np.abs(vel0))+sys.float_info.epsilon))
+ 
+ #Now, put CS back to normal except on the side where the spc are applied
+-pos=numpy.nonzero(numpy.logical_or(x==0.,x==1000000.))[0]
++pos=np.nonzero(np.logical_or.reduce(x==0.,x==1000000.))[0]
+ md.stressbalance.referential[:]=float('NaN')
+-md.stressbalance.referential[pos,0:3]=numpy.tile([numpy.cos(theta),numpy.sin(theta),0],(len(pos),1))
+-md.stressbalance.referential[pos,3: ]=numpy.tile([0,0,1],(len(pos),1))
++md.stressbalance.referential[pos,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(len(pos)))
++md.stressbalance.referential[pos,3: ]=np.tile([0,0,1],(len(pos)))
+ md=solve(md,'Stressbalance')
+ vel2=md.results.StressbalanceSolution.Vel
+ 
+ #plotmodel(md,'data',vel0,'data',vel2,'data',vel2-vel0,'title','Cartesian CS','title','Rotated CS','title','difference')
+-print "Error between Cartesian and rotated CS: %g" % (numpy.max(numpy.abs(vel0-vel2))/(numpy.max(numpy.abs(vel0))+sys.float_info.epsilon))
++print "Error between Cartesian and rotated CS: %g" % (np.max(np.abs(vel0-vel2))/(np.max(np.abs(vel0))+sys.float_info.epsilon))
+ 
+ #Fields and tolerances to track changes
+ field_names     =['vel1','vel2']
+Index: ../trunk-jpl/test/NightlyRun/test3007.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3007.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3007.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedMasstransp3dAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+ md.extrude(5,3.)
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.autodiff.isautodiff=True
+ md=solve(md,'Masstransport')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test312.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test312.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test312.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareSheetConstrainedTherStea
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0.
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Thermal')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test231.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test231.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test231.py	(revision 21408)
+@@ -1,77 +1,76 @@
+ #Test Name: SquareShelfTranForcePos3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',350000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*2.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*2.)).T
+ 
+-md.smb.mass_balance=numpy.vstack((smb,[1.5,3.]))
++md.smb.mass_balance=np.vstack((smb,[1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vz,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vz,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vz,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vz,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++									'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++									'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++									'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vz,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vz,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vz,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vz,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test205.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test205.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test205.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressMHOPenalties
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','../Exp/SquareHalfRight.exp','fill','SSA','coupling','penalties')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test285.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test285.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test285.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfStressHOHigherOrder
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from ContourToMesh import *
+ 
+-md=triangle(model(),'../Exp/Square.exp',150000.);
+-md=setmask(md,'all','');
+-md=parameterize(md,'../Par/SquareShelf.py');
++md=triangle(model(),'../Exp/Square.exp',150000.)
++md=setmask(md,'all','')
++md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+-md=setflowequation(md,'HO','all');
+-md.cluster=generic('name',oshostname(),'np',3);
++md=setflowequation(md,'HO','all')
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ field_names=[]
+ field_tolerances=[]
+Index: ../trunk-jpl/test/NightlyRun/test1208.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1208.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1208.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: EISMINTA
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ EISMINT benchmark experiment A
+ """
+@@ -25,7 +26,7 @@
+ md=setflowequation(md,'SIA','all')
+ 
+ #Spc the nodes on the bed
+-pos=numpy.nonzero(md.mesh.vertexonbase)
++pos=np.where(md.mesh.vertexonbase)
+ md.stressbalance.spcvx[pos]=0.
+ md.stressbalance.spcvy[pos]=0.
+ md.stressbalance.spcvz[pos]=0.
+@@ -38,21 +39,19 @@
+ md.thermal.stabilization=1
+ 
+ #Now we can solve the problem 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vz','Vel','Pressure','Thickness','Base','Surface','Temperature','BasalforcingsGroundediceMeltingRate']
+ field_tolerances=[1e-08,1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-07]
+-field_values=[\
+-	md.results.TransientSolution[-1].Vx,\
+-	md.results.TransientSolution[-1].Vy,\
+-	md.results.TransientSolution[-1].Vz,\
+-	md.results.TransientSolution[-1].Vel,\
+-	md.results.TransientSolution[-1].Pressure,\
+-	md.results.TransientSolution[-1].Thickness,\
+-	md.results.TransientSolution[-1].Base,\
+-	md.results.TransientSolution[-1].Surface,\
+-	md.results.TransientSolution[-1].Temperature,\
+-	md.results.TransientSolution[-1].BasalforcingsGroundediceMeltingRate,\
+-	]
++field_values=[md.results.TransientSolution[-1].Vx,
++							md.results.TransientSolution[-1].Vy,
++							md.results.TransientSolution[-1].Vz,
++							md.results.TransientSolution[-1].Vel,
++							md.results.TransientSolution[-1].Pressure,
++							md.results.TransientSolution[-1].Thickness,
++							md.results.TransientSolution[-1].Base,
++							md.results.TransientSolution[-1].Surface,
++							md.results.TransientSolution[-1].Temperature,
++							md.results.TransientSolution[-1].BasalforcingsGroundediceMeltingRate]
+Index: ../trunk-jpl/test/NightlyRun/test402.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test402.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test402.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressSSA3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(4,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test321.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test321.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test321.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: SquareSheetConstrainedCMDragHO
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+@@ -17,19 +18,19 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[102,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+-md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
++md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test240.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test240.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test240.py	(revision 21408)
+@@ -1,66 +1,67 @@
+ #Test Name: SquareShelfTranIspddIsdeltaO18pdNoInterpSSA2d 
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ 
+ # Use of ispdd and isdelta18o methods
+-md.smb = SMBd18opdd();
+-md.smb.isd18opd=1;
++md.smb = SMBd18opdd()
++md.smb.isd18opd=1
+ 
+ # Add temperature, precipitation and delta18o needed to measure the surface mass balance
+ # creating delta18o
+-delta18o=numpy.loadtxt('../Data/delta18o.data')
++delta18o=np.loadtxt('../Data/delta18o.data')
+ md.smb.delta18o=delta18o
+ 
+ # creating Present day temperatures
+ # Same temperature over the all region:
+-tmonth=numpy.ones(12)*(238.15+20.)
+-md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
++tmonth=np.ones(12)*(238.15+20.)
++md.smb.temperatures_presentday=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+     # Time for the last line:
+     md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.)
+ 
+ # creating initialization and spc temperatures initialization and spc
+-md.thermal.spctemperature=numpy.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
++md.thermal.spctemperature=np.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
+ md.thermal.spctemperature=md.thermal.spctemperature-10
+ md.initialization.temperature=md.thermal.spctemperature
+ md.smb.initialize(md)
+ 
+ # creating precipitation
+-md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_presentday=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+     md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ # time steps and resolution
+-md.timestepping.time_step=0.5;
+-md.settings.output_frequency=1;
+-md.timestepping.final_time=2;
+-md.timestepping.interp_forcings=0;
++md.timestepping.time_step=0.5
++md.settings.output_frequency=1
++md.timestepping.final_time=2
++md.timestepping.interp_forcings=0
+ 
+ # 
+ md.transient.requested_outputs=['default','SmbMonthlytemperatures']
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\
+ 		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\
+-				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'];
++				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13];
++			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+ field_values=[\
+ 	md.results.TransientSolution[0].Vx,\
+ 	md.results.TransientSolution[0].Vy,\
+Index: ../trunk-jpl/test/NightlyRun/test214.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test214.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test214.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfCMBHO
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -20,19 +21,19 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test107.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test107.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test107.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedMasstransp3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+ md.extrude(5,3.)
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test806.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test806.py	(revision 21408)
+@@ -1,26 +1,26 @@
+ #Test Name: SquareShelfLevelsetCalvingSSA2dLevermann
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-import numpy
+ 
++import numpy as np
++
+ md=triangle(model(),'../Exp/Square.exp',50000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ x = md.mesh.x
+ xmin = min(x)
+ xmax = max(x)
+ Lx = (xmax-xmin)
+ alpha = 2./3.
+-md.mask.ice_levelset = numpy.float_((x - alpha*Lx)>0) - numpy.float_((x - alpha*Lx)<0)
++md.mask.ice_levelset = np.float_((x - alpha*Lx)>0) - np.float_((x - alpha*Lx)<0)
+ 
+ md.timestepping.time_step=10
+ md.timestepping.final_time=30
+@@ -32,54 +32,51 @@
+ md.transient.isthermal=False
+ md.transient.isgroundingline=False
+ md.transient.isgia=False
+-md.transient.ismovingfront=True;
++md.transient.ismovingfront=True
+ 
+ md.calving=calvinglevermann()
+-md.calving.coeff=4.89e13*numpy.ones((md.mesh.numberofvertices,1))
+-md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
+-md.levelset.spclevelset=numpy.float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.calving.coeff=4.89e13*np.ones((md.mesh.numberofvertices))
++md.calving.meltingrate=np.zeros((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+ md.transient.requested_outputs=['default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate']
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','StrainRateparallel1','StrainRateperpendicular1','CalvingCalvingrate1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','StrainRateparallel2','StrainRateperpendicular2','CalvingCalvingrate2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','StrainRateparallel3','StrainRateperpendicular3','CalvingCalvingrate3']
+-field_tolerances=[1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,\
+-		2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,\
+-		2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,1e-11,5e-11,5e-11,1e-11]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[0].StrainRateparallel,\
+-	md.results.TransientSolution[0].StrainRateperpendicular,\
+-	md.results.TransientSolution[0].CalvingCalvingrate,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[1].StrainRateparallel,\
+-	md.results.TransientSolution[1].StrainRateperpendicular,\
+-	md.results.TransientSolution[1].CalvingCalvingrate,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-	md.results.TransientSolution[2].StrainRateparallel,\
+-	md.results.TransientSolution[2].StrainRateperpendicular,\
+-	md.results.TransientSolution[2].CalvingCalvingrate,\
+-
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','StrainRateparallel1','StrainRateperpendicular1','CalvingCalvingrate1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','StrainRateparallel2','StrainRateperpendicular2','CalvingCalvingrate2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','StrainRateparallel3','StrainRateperpendicular3','CalvingCalvingrate3']
++field_tolerances=[1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,
++									2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,
++									2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,1e-11,5e-11,5e-11,1e-11]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[0].StrainRateparallel,
++							md.results.TransientSolution[0].StrainRateperpendicular,
++							md.results.TransientSolution[0].CalvingCalvingrate,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[1].StrainRateparallel,
++							md.results.TransientSolution[1].StrainRateperpendicular,
++							md.results.TransientSolution[1].CalvingCalvingrate,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset,
++							md.results.TransientSolution[2].StrainRateparallel,
++							md.results.TransientSolution[2].StrainRateperpendicular,
++							md.results.TransientSolution[2].CalvingCalvingrate]
+Index: ../trunk-jpl/test/NightlyRun/test3106.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3106.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3106.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfConstrainedMasstransp2dDGAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from meshconvert import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=meshconvert(md)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.masstransport.stabilization=3
+ md.masstransport.spcthickness=md.geometry.thickness
+ 
+Index: ../trunk-jpl/test/NightlyRun/test411.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test411.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test411.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfSteaHO
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md=solve(md,'Steadystate')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test223.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test223.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test223.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfStressSSA2dTransientIncrNonHydro
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+ md.geometry.base=md.geometry.base+50.
+ md.geometry.surface=md.geometry.surface+50.
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.masstransport.hydrostatic_adjustment='Incremental'
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test304.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test304.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test304.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedStressSSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test116.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test116.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test116.py	(revision 21408)
+@@ -1,21 +1,22 @@
+ #Test Name: SquareShelfConstrainedBalThic2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ #Add boundary conditions on thickness on the border
+-pos=numpy.nonzero(md.mesh.vertexonboundary)
++pos=np.nonzero(md.mesh.vertexonboundary)
+ md.balancethickness.spcthickness[pos]=md.geometry.thickness[pos]
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Balancethickness')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test1602.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1602.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1602.py	(revision 21408)
+@@ -1,45 +1,46 @@
+ #Test Name: SquareSheetShelfHORotation
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'../Exp/SquareShelf.exp','')
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'HO','all')
+-md.stressbalance.spcvx[numpy.nonzero(md.mesh.y>0.)]=float('NaN')
++md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=float('NaN')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.initialization.vel=numpy.zeros_like(md.initialization.vx)
++md.initialization.vel=np.zeros_like(md.initialization.vx)
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ vel0=md.results.StressbalanceSolution.Vel
+ 
+-theta=30.*numpy.pi/180.
++theta=30.*np.pi/180.
+ x=md.mesh.x
+ y=md.mesh.y
+-md.mesh.x=numpy.cos(theta)*x-numpy.sin(theta)*y
+-md.mesh.y=numpy.sin(theta)*x+numpy.cos(theta)*y
++md.mesh.x=np.cos(theta)*x-np.sin(theta)*y
++md.mesh.y=np.sin(theta)*x+np.cos(theta)*y
+ 
+-md.stressbalance.referential[:,0:3]=numpy.tile([numpy.cos(theta),numpy.sin(theta),0],(md.mesh.numberofvertices,1))
+-md.stressbalance.referential[:,3: ]=numpy.tile([0,0,1],(md.mesh.numberofvertices,1))
++md.stressbalance.referential[:,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(md.mesh.numberofvertices))
++md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices))
+ md=solve(md,'Stressbalance')
+ vel1=md.results.StressbalanceSolution.Vel
+ 
+ #plotmodel(md,'data',vel0,'data',vel1,'data',vel1-vel0,'title','Cartesian CS','title','Rotated CS','title','difference','view#all',2)
+-print "Error between Cartesian and rotated CS: %g" % (numpy.max(numpy.abs(vel0-vel1))/(numpy.max(numpy.abs(vel0))+sys.float_info.epsilon))
++print "Error between Cartesian and rotated CS: %g" % (np.max(np.abs(vel0-vel1))/(np.max(np.abs(vel0))+sys.float_info.epsilon))
+ 
+ #Fields and tolerances to track changes
+ field_names     =['vel1']
+ field_tolerances=[1e-9]
+ field_values=[\
+ 	vel1, \
+-	];
++	]
+Index: ../trunk-jpl/test/NightlyRun/test3008.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3008.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3008.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfConstrainedTherSteaAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.autodiff.isautodiff=True
+ md=solve(md,'Thermal')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test501.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test501.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test501.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: PigStressSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test232.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test232.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test232.py	(revision 21408)
+@@ -1,20 +1,21 @@
+ #Test Name: SquareShelfTherTranForcTemp
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
+-md.thermal.spctemperature=numpy.vstack((numpy.vstack((md.thermal.spctemperature, md.thermal.spctemperature+5., md.thermal.spctemperature+10., md.thermal.spctemperature+15.)).T, [1.5,2.5,3.5,4.]))
++md.cluster=generic('name',gethostname(),'np',3)
++md.thermal.spctemperature=np.vstack((np.vstack((md.thermal.spctemperature, md.thermal.spctemperature+5., md.thermal.spctemperature+10., md.thermal.spctemperature+15.)).T, [1.5,2.5,3.5,4.]))
+ md.timestepping.time_step=1.
+ md.timestepping.final_time=4.
+ md.transient.isstressbalance=False
+Index: ../trunk-jpl/test/NightlyRun/test313.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test313.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test313.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedTherTran
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.verbose=verbose('convergence',True,'solution',True)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+Index: ../trunk-jpl/test/NightlyRun/test206.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test206.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test206.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTherStea
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -15,7 +16,7 @@
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Thermal')
+ 
+ 
+@@ -23,7 +24,5 @@
+ 
+ field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
+ field_tolerances=[1e-13,5e-6]
+-field_values=[\
+-	md.results.ThermalSolution.Temperature,\
+-	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
+-	]
++field_values=[md.results.ThermalSolution.Temperature,
++							md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate]
+Index: ../trunk-jpl/test/NightlyRun/test125.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test125.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test125.py	(revision 21408)
+@@ -1,11 +1,12 @@
+ #Test Name: SquareShelfConstrainedRestartTranSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from massfluxatgate import massfluxatgate
+ from generic import generic
+ import copy
+@@ -14,10 +15,10 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.transient.requested_outputs=['IceVolume','TotalSmb']
+ 
+-md.verbose=verbose('solution',1);
++md.verbose=verbose('solution',1)
+ md.settings.recording_frequency=5
+ 
+ # time steps and resolution
+@@ -28,7 +29,7 @@
+ md=solve(md,'Transient','restart',1)
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','TotalSmb1','Bed1','Surface1','Thickness1','Volume1','Vx2','Vy2','Vel2','TotalSmb2','Bed2','Surface2','Thickness2','Volume2','Vx3','Vy3','Vel3','TotalSmb3','Bed3','Surface3','Thickness3','Volume3'];
++field_names     =['Vx1','Vy1','Vel1','TotalSmb1','Bed1','Surface1','Thickness1','Volume1','Vx2','Vy2','Vel2','TotalSmb2','Bed2','Surface2','Thickness2','Volume2','Vx3','Vy3','Vel3','TotalSmb3','Bed3','Surface3','Thickness3','Volume3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+Index: ../trunk-jpl/test/NightlyRun/test510.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test510.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test510.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigSteaFS
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(2,1.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md=solve(md,'Steadystate')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test241.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test241.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test241.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfTranForceNoInterp2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+@@ -20,54 +21,52 @@
+ md.timestepping.interp_forcings=False
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb.mass_balance=numpy.vstack((smb,[1.5,3.]))
++md.smb.mass_balance=np.vstack((smb,[1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test322.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test322.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test322.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: SquareSheetConstrainedCMDragFS
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+@@ -17,19 +18,19 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[104,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+-md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
++md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test403.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test403.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test403.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressHO
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test215.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test215.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test215.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfCMBFS
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -20,19 +21,19 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test108.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test108.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test108.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfConstrainedTherStea
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Thermal')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test807.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test807.py	(revision 21408)
+@@ -1,26 +1,26 @@
+ #Test Name: SquareShelfLevelsetMeltingSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-import numpy
+ 
++import numpy as np
++
+ md=triangle(model(),'../Exp/Square.exp',50000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ x = md.mesh.x
+ xmin = min(x)
+ xmax = max(x)
+ Lx = (xmax-xmin)
+ alpha = 2./3.
+-md.mask.ice_levelset = numpy.float_((x - alpha*Lx)>0) - numpy.float_((x - alpha*Lx)<0)
++md.mask.ice_levelset = np.float_((x - alpha*Lx)>0) - np.float_((x - alpha*Lx)<0)
+ 
+ md.timestepping.time_step=10
+ md.timestepping.final_time=30
+@@ -32,42 +32,39 @@
+ md.transient.isthermal=False
+ md.transient.isgroundingline=False
+ md.transient.isgia=False
+-md.transient.ismovingfront=True;
++md.transient.ismovingfront=True
+ 
+-md.calving.calvingrate=numpy.zeros((md.mesh.numberofvertices,1))
+-md.calving.meltingrate=10000*numpy.ones((md.mesh.numberofvertices,1))
+-md.levelset.spclevelset=numpy.float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
++md.calving.meltingrate=10000*np.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3']
+-field_tolerances=[1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,\
+-		2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,5e-11,\
+-		2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,5e-11]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3']
++field_tolerances=[1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,
++									2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,5e-11,
++									2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,5e-11]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset]
+Index: ../trunk-jpl/test/NightlyRun/test3107.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3107.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3107.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedMasstransp3dAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+ md.extrude(5,3.)
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.autodiff.isautodiff=True
+ md=solve(md,'Masstransport')
+Index: ../trunk-jpl/test/NightlyRun/test224.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test224.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test224.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfStressHOTransientIncrHydro
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.masstransport.hydrostatic_adjustment='Incremental'
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test305.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test305.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test305.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedStressSIA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(5,2.)
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test3009.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3009.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3009.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedTherTranAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/IdToName.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/IdToName.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/IdToName.py	(revision 21408)
+@@ -11,7 +11,7 @@
+ 	infile  = open('test' + str(id) + '.py','r')
+ 	file_text  = infile.readlines()
+ 
+-	string='#Test Name:';
++	string='#Test Name:'
+ 	name=file_text[0]
+ 	name=name[len(string)+1:-1]
+ 	return name
+Index: ../trunk-jpl/test/NightlyRun/test421.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test421.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test421.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressHOFS3dTiling
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','HO')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test502.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test502.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test502.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigStressHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(3,0.9)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test233.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test233.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test233.py	(revision 21408)
+@@ -1,20 +1,21 @@
+ #Test Name: SquareShelfTranHOForcTemp
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
+-md.thermal.spctemperature=numpy.vstack((numpy.vstack((md.thermal.spctemperature, md.thermal.spctemperature+5.)).T, [1.,2.]))
++md.cluster=generic('name',gethostname(),'np',3)
++md.thermal.spctemperature=np.vstack((np.vstack((md.thermal.spctemperature, md.thermal.spctemperature+5.)).T, [1.,2.]))
+ md.timestepping.time_step=0.5
+ md.timestepping.final_time=2.
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test314.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test314.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test314.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareSheetConstrainedTranSIA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['default','GroundedArea','FloatingArea','IceVolume']
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test207.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test207.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test207.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTherTran
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test126.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test126.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test126.py	(revision 21408)
+@@ -1,11 +1,12 @@
+ #Test Name: SquareShelfConstrainedRestartTranHO3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from massfluxatgate import massfluxatgate
+ from generic import generic
+ import copy
+@@ -13,12 +14,12 @@
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.transient.requested_outputs=['IceVolume','TotalSmb']
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+ 
+-md.verbose=verbose('solution',1);
++md.verbose=verbose('solution',1)
+ md.settings.recording_frequency=5
+ 
+ # time steps and resolution
+@@ -29,7 +30,7 @@
+ md=solve(md,'Transient','restart',1)
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','TotalSmb1','Bed1','Surface1','Thickness1','Volume1','Temperature1','Pressure1','Vx2','Vy2','Vel2','TotalSmb2','Bed2','Surface2','Thickness2','Volume2','Temperature2','Pressure2','Vx3','Vy3','Vel3','TotalSmb3','Bed3','Surface3','Thickness3','Volume3','Temperature3','Pressure3'];
++field_names     =['Vx1','Vy1','Vel1','TotalSmb1','Bed1','Surface1','Thickness1','Volume1','Temperature1','Pressure1','Vx2','Vy2','Vel2','TotalSmb2','Bed2','Surface2','Thickness2','Volume2','Temperature2','Pressure2','Vx3','Vy3','Vel3','TotalSmb3','Bed3','Surface3','Thickness3','Volume3','Temperature3','Pressure3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+Index: ../trunk-jpl/test/NightlyRun/test1101.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1101.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1101.py	(revision 21408)
+@@ -1,14 +1,13 @@
+ #Test Name: ISMIPAHO
+-import numpy
++import numpy as np
+ import shutil
+ from model import *
++from socket import gethostname
+ from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+@@ -17,7 +16,8 @@
+ 
+ printingflag=False
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++#L_list=[80000.]
++L_list=[80000.]
+ results=[]
+ minvx=[]
+ maxvx=[]
+@@ -34,25 +34,25 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create dirichlet on the bed only
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+-	pos=numpy.nonzero(md.mesh.vertexonbase)
++	pos=np.where(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-	posx=numpy.nonzero(md.mesh.x==0.)[0]
+-	posx2=numpy.nonzero(md.mesh.x==numpy.max(md.mesh.x))[0]
++	posx=np.where(md.mesh.x==0.)[0]
++	posx2=np.where(md.mesh.x==np.max(md.mesh.x))[0]
+ 
+-	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]    #Don't take the same nodes two times
+-	posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]
++	posy=np.where(np.logical_and.reduce((md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0] #Don't take the same nodes two times
++	posy2=np.where(np.logical_and.reduce((md.mesh.y==np.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]
+ 
+-	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
++	md.stressbalance.vertex_pairing=np.vstack((np.vstack((posx+1,posx2+1)).T,np.vstack((posy+1,posy2+1)).T))
+ 
+ 	#Compute the stressbalance
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 
+ 	#Plot the results and save them
+@@ -60,27 +60,27 @@
+ 	vy=md.results.StressbalanceSolution.Vy
+ 	vz=md.results.StressbalanceSolution.Vz
+ 	results.append(md.results.StressbalanceSolution)
+-	minvx.append(numpy.min(vx[-md.mesh.numberofvertices2d:]))
+-	maxvx.append(numpy.max(vx[-md.mesh.numberofvertices2d:]))
++	minvx.append(np.min(vx[-md.mesh.numberofvertices2d:]))
++	maxvx.append(np.max(vx[-md.mesh.numberofvertices2d:]))
+ 
+ 	#Now plot vx, vy, vz and vx on a cross section
+ #	plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaHOvx%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ #	plotmodel(md,'data',vy,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaHOvy' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaHOvy' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaHOvy%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ #	plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaHOvz%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ 
+ 	if   (L==5000.):
+@@ -110,44 +110,26 @@
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaHOvxsec%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ 
+ #Now plot the min and max values of vx for each size of the square
+-#plot([5 10 20 40 80 160],minvx);ylim([0 18]);xlim([0 160])
++#plot([5 10 20 40 80 160],minvx)ylim([0 18])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipaHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipaHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipaHOminvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+-#plot([5 10 20 40 80 160],maxvx);ylim([0 120]);xlim([0 160])
++#plot([5 10 20 40 80 160],maxvx)ylim([0 120])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipaHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipaHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipaHOmaxvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-09,1e-09,1e-09,\
+-	1e-10,1e-10,1e-09,\
+-	1e-09,1e-09,1e-09,\
+-	1e-09,1e-08,1e-09,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-07,1e-08,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-08,1e-08,1e-08]
+ field_values=[]
+ for result in results:
+-	field_values=field_values+[\
+-		result.Vx,\
+-		result.Vy,\
+-		result.Vz,\
+-		]
++	field_values=field_values+[result.Vx,result.Vy,result.Vz]
+Index: ../trunk-jpl/test/NightlyRun/test511.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test511.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test511.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: PigCMBFS
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',11000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+@@ -22,18 +23,18 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10.**6*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=2.*10**9*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=10.**6*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*10**9*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=10.**8*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.99*numpy.ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10.**8*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test242.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test242.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test242.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfTranForceNoInterp3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',350000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+@@ -21,59 +22,56 @@
+ md.timestepping.interp_forcings=False
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb.mass_balance=numpy.vstack((smb,[1.5,3.]))
++md.smb.mass_balance=np.vstack((smb,[1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4']
+-field_tolerances=[\
+-		1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,\
+-		1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,\
+-		1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,\
+-		1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vz,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vz,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vz,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vz,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++									'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++									'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++									'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4']
++field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,
++									1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,
++									1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,
++									1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vz,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vz,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vz,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vz,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test323.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test323.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test323.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedTranCflSSA2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_adapt=1
+ md.timestepping.final_time=1120.
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test404.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test404.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test404.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressFS
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test216.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test216.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test216.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressSSA2dRift
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from meshprocessrifts import *
+ from setmask import *
+@@ -15,7 +16,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf2.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ # rift settings
+ 
+Index: ../trunk-jpl/test/NightlyRun/test109.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test109.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test109.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedTherTran
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+@@ -23,7 +24,5 @@
+ #Fields and tolerances to track changes
+ field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
+ field_tolerances=[1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Temperature,\
+-	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
+-	]
++field_values=[md.results.TransientSolution[0].Temperature,
++							md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate]
+Index: ../trunk-jpl/test/NightlyRun/test2001.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: SquareSheetConstrainedGia2d
+-import numpy
++import numpy as np
+ import copy
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ #Define a model 
+ md=model()
+ md=triangle(md,'../Exp/Square.exp',100000.)
+@@ -21,23 +22,19 @@
+ #Define loading history (see test2001.m for the description)
+ md.timestepping.start_time=2400000 # 2,400 kyr
+ md.timestepping.final_time=2500000 # 2,500 kyr
+-md.geometry.thickness=numpy.hstack((\
+-		numpy.vstack((md.geometry.thickness*0.0, 0.0)),\
+-		numpy.vstack((md.geometry.thickness/2.0, 0.1)),\
+-		numpy.vstack((md.geometry.thickness, 0.2)),\
+-		numpy.vstack((md.geometry.thickness, 1.0)),\
+-		numpy.vstack((md.geometry.thickness, md.timestepping.start_time)),\
+-		))
++md.geometry.thickness=np.vstack((np.hstack((md.geometry.thickness*0.0, 0.0)),
++																 np.hstack((md.geometry.thickness/2.0, 0.1)),
++																 np.hstack((md.geometry.thickness, 0.2)),
++																 np.hstack((md.geometry.thickness, 1.0)),
++																 np.hstack((md.geometry.thickness, md.timestepping.start_time)))).T
+ 
+ #Solve for GIA deflection 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Gia')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['GiaW','GiadWdt']
+ field_tolerances=[1e-13,1e-13]
+-field_values    =[\
+-		md.results.GiaSolution.GiaW,\
+-		md.results.GiaSolution.GiadWdt,\
+-		]
++field_values    =[md.results.GiaSolution.GiaW,
++									md.results.GiaSolution.GiadWdt]
+ 
+Index: ../trunk-jpl/test/NightlyRun/test3108.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3108.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3108.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareShelfConstrainedTherSteaAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.autodiff.isautodiff=True
+ md=solve(md,'Thermal')
+Index: ../trunk-jpl/test/NightlyRun/test601.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test601.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test601.py	(revision 21408)
+@@ -1,6 +1,7 @@
+ #Test Name: 79NorthMasstransp2d
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -11,7 +12,7 @@
+ md=setmask(md,'../Exp/79NorthShelf.exp','')
+ md=parameterize(md,'../Par/79North.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test332.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test332.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test332.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: SquareSheetConstrainedHydrologyDC
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from transient import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+@@ -19,20 +20,20 @@
+ md.transient.ishydrology=True
+ 
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.hydrology=hydrologydc()
+ md.hydrology=md.hydrology.initialize(md)
+ 
+ md.hydrology.isefficientlayer=0
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=8000.0
+-md.initialization.sediment_head=numpy.zeros((md.mesh.numberofvertices,1))
+-md.hydrology.spcsediment_head=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-pos=numpy.nonzero(md.mesh.y==0.)[0]
++md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++pos=np.nonzero(md.mesh.y==0.)[0]
+ md.hydrology.spcsediment_head[pos]=0.0
+-md.basalforcings.groundedice_melting_rate = 2.0*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.floatingice_melting_rate = 0.0*numpy.ones((md.mesh.numberofvertices,1))
+-md.hydrology.sediment_transmitivity= 3.0*numpy.ones((md.mesh.numberofvertices,1))
++md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
++md.basalforcings.floatingice_melting_rate = 0.0*np.ones((md.mesh.numberofvertices))
++md.hydrology.sediment_transmitivity= 3.0*np.ones((md.mesh.numberofvertices))
+ md.timestepping.time_step=0
+ md.timestepping.final_time=1.0
+ md=solve(md,'Hydrology')
+Index: ../trunk-jpl/test/NightlyRun/test225.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test225.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test225.py	(revision 21408)
+@@ -1,12 +1,13 @@
+ #Test Name: SquareShelfStressHOTransientIncrNonHydro
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+@@ -14,7 +15,7 @@
+ md.geometry.surface=md.geometry.surface+50.
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.masstransport.hydrostatic_adjustment='Incremental'
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test306.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test306.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test306.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedStressSIASSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(4,2.)
+ md=setflowequation(md,'SIA','../Exp/SquareHalfRight.exp','fill','SSA')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test341.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test341.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test341.py	(revision 21408)
+@@ -1,36 +1,37 @@
+ #Test Name: SquareSheetConstrainedCMm1qn3DragHO
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from m1qn3inversion import *
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
+-md=triangle(model(),'../Exp/Square.exp',200000.);
+-md=setmask(md,'','');
+-md=parameterize(md,'../Par/SquareSheetConstrained.py');
++
++md=triangle(model(),'../Exp/Square.exp',200000.)
++md=setmask(md,'','')
++md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+-md=setflowequation(md,'HO','all');
++md=setflowequation(md,'HO','all')
+ 
+ #control parameters
+-md.inversion=m1qn3inversion(md.inversion);
+-md.inversion.iscontrol=1;
++md.inversion=m1qn3inversion(md.inversion)
++md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.maxsteps=2
+ md.inversion.maxiter=6
+ md.inversion.cost_functions=[102,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.vx_obs=md.initialization.vx;
+-md.inversion.vy_obs=md.initialization.vy;
++md.inversion.vx_obs=md.initialization.vx
++md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3);
+-md=solve(md,'Stressbalance');
++md.cluster=generic('name',gethostname(),'np',3)
++md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Gradient','FrictionCoefficient','Pressure','Vel','Vx','Vy']
+Index: ../trunk-jpl/test/NightlyRun/test422.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test422.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test422.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressSSAFS3dTiling
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','SSA')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.stressbalance.reltol=0.4
+ md=solve(md,'Stressbalance')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test503.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test503.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test503.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigStressFS
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(3,0.9)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test315.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test315.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test315.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedTranSIA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(5,1.2)
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test208.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test208.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test208.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTranSSA2d
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.basalforcings.floatingice_melting_rate[:]=1.
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['default','FloatingArea','GroundedArea','TotalFloatingBmb','TotalGroundedBmb']
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1102.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1102.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1102.py	(revision 21408)
+@@ -1,14 +1,13 @@
+ #Test Name: ISMIPAFS
+-import numpy
++import numpy as np
+ import shutil
+ from model import *
++from socket import gethostname
+ from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+@@ -17,7 +16,7 @@
+ 
+ printingflag=False
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ minvx=[]
+ maxvx=[]
+@@ -30,9 +29,9 @@
+ 	md=setmask(md,'','')    #ice sheet test
+ 
+ #	#Find elements at the corner and extract model
+-#	posnodes=numpy.nonzero(numpy.logical_and(numpy.logical_or(md.mesh.x==0.,md.mesh.x==numpy.max(md.mesh.x)),numpy.logical_or(md.mesh.y==0.,md.mesh.y==numpy.max(md.mesh.y))))
+-#	a=numpy.nonzero(ismember(md.mesh.elements,posnodes))[0]
+-#	elements=numpy.ones((md.mesh.numberofelements),int)
++#	posnodes=np.nonzero(np.logical_and.reduce(np.logical_or.reduce(md.mesh.x==0.,md.mesh.x==np.max(md.mesh.x)),np.logical_or.reduce(md.mesh.y==0.,md.mesh.y==np.max(md.mesh.y))))
++#	a=np.nonzero(ismember(md.mesh.elements,posnodes))[0]
++#	elements=np.ones((md.mesh.numberofelements),int)
+ #	elements[a]=0
+ #	md.modelextract(elements)
+ 
+@@ -41,27 +40,16 @@
+ 	md=setflowequation(md,'FS','all')
+ 
+ 	#Create dirichlet on the bed only
+-	pos=numpy.nonzero(md.mesh.vertexonbase)
++	pos=np.nonzero(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 	md.stressbalance.spcvz[pos]=0.
+ 
+-#	#Create MPCs to have periodic boundary conditions
+-#	posx=numpy.nonzero(md.mesh.x==0.)[0]
+-#	posx2=numpy.nonzero(md.mesh.x==numpy.max(md.mesh.x))[0]
+-#	posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,md.mesh.y!=0.,md.mesh.y!=numpy.max(md.mesh.y),numpy.logical_not(md.mesh.vertexonbase)))[0]
+-#	posx2=numpy.nonzero(logical_and_n(md.mesh.x==numpy.max(md.mesh.x),md.mesh.y!=0.,md.mesh.y!=numpy.max(md.mesh.y),numpy.logical_not(md.mesh.vertexonbase)))[0]
+-
+-#	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x),numpy.logical_not(md.mesh.vertexonbase)))[0]    #Don't take the same nodes two times
+-#	posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x),numpy.logical_not(md.mesh.vertexonbase)))[0]
+-
+-#	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
+-
+ 	#Compute the stressbalance
+ 	md.stressbalance.abstol=float('NaN')
+ 	md.stressbalance.reltol=float('NaN')
+ 	md.stressbalance.restol=1.
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 
+ 	#Plot the results and save them
+@@ -70,27 +58,27 @@
+ 	vz=md.results.StressbalanceSolution.Vz
+ 	pressure=md.results.StressbalanceSolution.Pressure
+ 	results.append(md.results.StressbalanceSolution)
+-	minvx.append(numpy.min(vx[-md.mesh.numberofvertices2d:]))
+-	maxvx.append(numpy.max(vx[-md.mesh.numberofvertices2d:]))
++	minvx.append(np.min(vx[-md.mesh.numberofvertices2d:]))
++	maxvx.append(np.max(vx[-md.mesh.numberofvertices2d:]))
+ 
+ 	#Now plot vx, vy, vz and vx on a cross section
+ #	plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaFSvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaFSvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaFSvx%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ #	plotmodel(md,'data',vy,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaFSvy' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaFSvy' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaFSvy%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ #	plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',4)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaFSvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaFSvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaFSvz%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ 
+ 	if   (L==5000.):
+@@ -120,40 +108,26 @@
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipaFSvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipaFSvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipaFSvxsec.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ 
+ #Now plot the min and max values of vx for each size of the square
+-#plot([5 10 20 40 80 160],minvx);ylim([0 18])
++#plot([5 10 20 40 80 160],minvx)ylim([0 18])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipaFSminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipaFSminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipaFSminvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+-#plot([5 10 20 40 80 160],maxvx);ylim([0 120])
++#plot([5 10 20 40 80 160],maxvx)ylim([0 120])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipaFSmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipaFSmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipaFSmaxvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestA')
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-12,1e-12,1e-12,\
+-	1e-12,1e-12,1e-12,\
+-	1e-12,1e-11,1e-12,\
+-	1e-12,1e-11,1e-12,\
+-	1e-12,1e-11,1e-12,\
+-	1e-12,1e-11,1e-12,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-12,1e-11,1e-12,]
+ field_values=[]
+ for result in results:
+ 	field_values=field_values+[\
+Index: ../trunk-jpl/test/NightlyRun/test3019.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3019.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3019.py	(revision 21408)
+@@ -1,6 +1,7 @@
+ #Test Name: SquareShelfConstrainedTherTranAdolcReverseVsForward
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -8,14 +9,14 @@
+ from independent import *
+ from dependent import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ #test reverse scalar vs forward vectorial drivers in ADOLC, using the test3009 setup, equivalent to test109 setup.
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ #md.toolkits.DefaultAnalysis=issmgslsolver()
+ 
+ md.autodiff.isautodiff=True
+@@ -32,7 +33,7 @@
+ jac_reverse=md.results.TransientSolution[0].AutodiffJacobian
+ 
+ #now run vectorial forward mode
+-md.autodiff.independents=[independent('name','md.geometry.thickness','type','vertex','nods',md.mesh.numberofvertices,'fov_forward_indices',numpy.arange(1,md.mesh.numberofvertices+1))]
++md.autodiff.independents=[independent('name','md.geometry.thickness','type','vertex','nods',md.mesh.numberofvertices,'fov_forward_indices',np.arange(1,md.mesh.numberofvertices+1))]
+ md.autodiff.dependents=[dependent('name','MaxVel','type','scalar')]
+ md.autodiff.driver='fov_forward'
+ 
+Index: ../trunk-jpl/test/NightlyRun/test512.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test512.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test512.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: PigCMDragHO
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+@@ -17,19 +18,19 @@
+ # control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[103,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=2.99*numpy.ones((md.inversion.nsteps,1))
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=2.99*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test431.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test431.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test431.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfSteaEnthalpySSA3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,12 +14,12 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md.thermal.isenthalpy=1
+ md.thermal.isdynamicbasalspc=1
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md=solve(md,'Steadystate')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test324.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test324.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test324.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareSheetConstrainedTranCflSIA3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(5,1.2)
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_adapt=1
+ md.timestepping.final_time=16000.
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test405.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test405.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test405.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressMHOPenalties
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO','coupling','penalties')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test217.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test217.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test217.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfConstrained
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ # redo the parameter file for this special shelf. 
+ # constant thickness, constrained (vy=0) flow into an icefront, 
+@@ -32,47 +33,47 @@
+ di=md.materials.rho_ice/md.materials.rho_water
+ 
+ h=1000.
+-md.geometry.thickness=h*ones((md.mesh.numberofvertices,1))
++md.geometry.thickness=h*ones((md.mesh.numberofvertices))
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+ # Initial velocity and pressure
+-md.initialization.vx=zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=zeros((md.mesh.numberofvertices,1))
++md.initialization.vx=zeros((md.mesh.numberofvertices))
++md.initialization.vy=zeros((md.mesh.numberofvertices))
++md.initialization.vz=zeros((md.mesh.numberofvertices))
++md.initialization.pressure=zeros((md.mesh.numberofvertices))
+ 
+ # Materials
+-md.initialization.temperature=(273.-20.)*ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*ones((md.mesh.numberofelements))
+ 
+ # Boundary conditions:
+-md.stressbalance.spcvx=float(nan)*ones((md.mesh.numberofvertices,1))
+-md.stressbalance.spcvy=float(nan)*ones((md.mesh.numberofvertices,1))
+-md.stressbalance.spcvz=float(nan)*ones((md.mesh.numberofvertices,1))
++md.stressbalance.spcvx=float(nan)*ones((md.mesh.numberofvertices))
++md.stressbalance.spcvy=float(nan)*ones((md.mesh.numberofvertices))
++md.stressbalance.spcvz=float(nan)*ones((md.mesh.numberofvertices))
+ 
+ # constrain flanks to 0 normal velocity
+-pos=numpy.nonzero(numpy.logical_or(md.mesh.x==xmin,md.mesh.x==xmax))
++pos=np.nonzero(np.logical_or.reduce(md.mesh.x==xmin,md.mesh.x==xmax))
+ md.stressbalance.spcvx[pos]=0
+ md.stressbalance.spcvz[pos]=float(nan)
+ 
+ # constrain grounding line to 0 velocity
+-pos=numpy.nonzero(md.mesh.y==ymin)
++pos=np.nonzero(md.mesh.y==ymin)
+ md.stressbalance.spcvx[pos]=0
+ md.stressbalance.spcvy[pos]=0
+ 
+ # icefront
+ nodeonicefront=zeros(md.mesh.numberofvertices)
+-pos=numpy.nonzero(md.mesh.y==ymax)
++pos=np.nonzero(md.mesh.y==ymax)
+ nodeonicefront[pos]=1
+ md.mask.ice_levelset=-1+nodeonicefront
+ 
+ md=solve(md,'Stressbalance')
+ 
+ # create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
+-# ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.geometry.thickness./(4*md.materials.rheology_B)).^3;
+-# vy_c=ey_c.*md.mesh.y*md.constants.yts;
++# ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.geometry.thickness./(4*md.materials.rheology_B)).^3
++# vy_c=ey_c.*md.mesh.y*md.constants.yts
+ 
+ # Fields and tolerances to track changes
+ field_names     =['Vy']
+Index: ../trunk-jpl/test/NightlyRun/test2002.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2002.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test2002.py	(revision 21408)
+@@ -1,108 +1,107 @@
+-#Test Name: EarthSlr
+-from MatlabFuncs import *
+-from PythonFuncs import *
+-from model import *
+-from numpy import *
+-from parameterize import *
+-from solve import *
+-from gmshplanet import *
+-from maskpsl import *
+-from gmtmask import *
+-from paterson import *
+-from love_numbers import *
+-
+-#mesh earth: 
+-md=model() 
+-md.mesh=gmshplanet('radius',6.371012*10**3,'resolution',700.) #500 km resolution mesh
+-
+-#parameterize slr solution:
+-#slr loading:  {{{
+-md.slr.deltathickness=zeros((md.mesh.numberofelements,1))
+-md.slr.sealevel=zeros((md.mesh.numberofvertices,1))
+-#antarctica
+-late=numpy.sum(md.mesh.lat[md.mesh.elements-1],axis=1)/3
+-longe=numpy.sum(md.mesh.long[md.mesh.elements-1],axis=1)/3
+-pos=numpy.nonzero(late <-80)
+-md.slr.deltathickness[pos]=-100
+-#greenland 
+-pos=numpy.nonzero(logical_and_n(late > 70,late < 80,longe>-60,longe<-30))
+-md.slr.deltathickness[pos]=-100
+-
+-#elastic loading from love numbers: 
+-nlov=101
+-md.slr.love_h = love_numbers('h')[:nlov];
+-md.slr.love_k = love_numbers('k')[:nlov];
+-md.slr.love_l = love_numbers('l')[:nlov];
+-
+-#}}}
+-#mask:  {{{
+-md.mask=maskpsl() # use maskpsl class (instead of mask) to store the ocean function as a ocean_levelset 
+-mask=gmtmask(md.mesh.lat,md.mesh.long) 
+-
+-icemask=ones((md.mesh.numberofvertices,1))
+-pos=nonzero(mask==0)[0];  icemask[pos]=-1
+-pos=nonzero(sum(mask[md.mesh.elements.astype(int)-1],axis=1)<3)[0]
+-icemask[md.mesh.elements[pos,:].astype(int)-1]=-1
+-md.mask.ice_levelset=icemask
+-
+-md.mask.ocean_levelset=zeros((md.mesh.numberofvertices,1))
+-pos=numpy.nonzero(md.mask.ice_levelset==1)
+-md.mask.ocean_levelset[pos]=1
+-
+-#make sure that the ice level set is all inclusive:
+-md.mask.land_levelset=zeros((md.mesh.numberofvertices,1))
+-md.mask.groundedice_levelset=-ones((md.mesh.numberofvertices,1))
+-
+-#make sure wherever there is an ice load, that the mask is set to ice: 
+-pos=nonzero(md.slr.deltathickness)[0];
+-icemask[md.mesh.elements[pos,:]-1]=-1
+-# }}}
+-
+-#geometry
+-di=md.materials.rho_ice/md.materials.rho_water
+-md.geometry.thickness=ones((md.mesh.numberofvertices,1))
+-md.geometry.surface=(1-di)*zeros((md.mesh.numberofvertices,1))
+-md.geometry.base=md.geometry.surface-md.geometry.thickness
+-md.geometry.bed=md.geometry.base
+-
+-#materials
+-md.initialization.temperature=273.25*ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3*ones((md.mesh.numberofelements,1))
+-
+-#Miscellaneous
+-md.miscellaneous.name='test2002'
+-
+-#Solution parameters
+-md.slr.reltol=NaN
+-md.slr.abstol=1e-3
+-
+-#eustatic run: 
+-md.slr.rigid=0
+-md.slr.elastic=0
+-md=solve(md,'Sealevelrise')
+-Seustatic=md.results.SealevelriseSolution.Sealevel;
+-
+-#eustatic + rigid run: 
+-md.slr.rigid=1
+-md.slr.elastic=0
+-md=solve(md,'Sealevelrise')
+-Srigid=md.results.SealevelriseSolution.Sealevel;
+-
+-#eustatic + rigid + elastic run: 
+-md.slr.rigid=1
+-md.slr.elastic=1
+-md=solve(md,'Sealevelrise')
+-Selastic=md.results.SealevelriseSolution.Sealevel;
+-
+-#eustatic + rigid + elastic + rotation run: 
+-md.slr.rigid=1
+-md.slr.elastic=1
+-md.slr.rotation=1;
+-md=solve(md,'Sealevelrise');
+-Srotation=md.results.SealevelriseSolution.Sealevel;
+-
+-#Fields and tolerances to track changes
+-field_names     =['Eustatic','Rigid','Elastic','Rotation']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13]
+-field_values=[Seustatic,Srigid,Selastic,Srotation]
++#Test Name: EarthSlr
++from model import *
++from socket import gethostname
++import numpy as np
++from parameterize import *
++from solve import *
++from gmshplanet import *
++from maskpsl import *
++from gmtmask import *
++from paterson import *
++from love_numbers import *
++
++#mesh earth:
++md=model()
++md.mesh=gmshplanet('radius',6.371012*10**3,'resolution',700.) #500 km resolution mesh
++
++#parameterize slr solution:
++#slr loading:
++md.slr.deltathickness=np.zeros((md.mesh.numberofelements))
++md.slr.sealevel=np.zeros((md.mesh.numberofvertices))
++#antarctica
++late=np.sum(md.mesh.lat[md.mesh.elements-1],axis=1)/3
++longe=np.sum(md.mesh.long[md.mesh.elements-1],axis=1)/3
++pos=np.where(late <-80)
++md.slr.deltathickness[pos]=-100
++#greenland 
++pos=np.where(np.logical_and.reduce((late > 70,late < 80,longe>-60,longe<-30)))
++md.slr.deltathickness[pos]=-100
++
++#elastic loading from love numbers:
++nlov=101
++md.slr.love_h = love_numbers('h')[:nlov]
++md.slr.love_k = love_numbers('k')[:nlov]
++md.slr.love_l = love_numbers('l')[:nlov]
++
++#mask:
++md.mask=maskpsl() # use maskpsl class (instead of mask) to store the ocean function as a ocean_levelset
++mask=gmtmask(md.mesh.lat,md.mesh.long)
++
++icemask=np.ones((md.mesh.numberofvertices))
++pos=np.where(mask==0)[0]  
++icemask[pos]=-1
++pos=np.where(np.sum(mask[md.mesh.elements.astype(int)-1],axis=1)<3)[0]
++icemask[md.mesh.elements[pos,:].astype(int)-1]=-1
++md.mask.ice_levelset=icemask
++
++md.mask.ocean_levelset=np.zeros((md.mesh.numberofvertices))
++pos=np.where(md.mask.ice_levelset==1)
++md.mask.ocean_levelset[pos]=1
++
++#make sure that the ice level set is all inclusive:
++md.mask.land_levelset=np.zeros((md.mesh.numberofvertices))
++md.mask.groundedice_levelset=-np.ones((md.mesh.numberofvertices))
++
++#make sure wherever there is an ice load, that the mask is set to ice:
++pos=np.nonzero(md.slr.deltathickness)[0]
++icemask[md.mesh.elements[pos,:]-1]=-1
++
++
++#geometry
++di=md.materials.rho_ice/md.materials.rho_water
++md.geometry.thickness=np.ones((md.mesh.numberofvertices))
++md.geometry.surface=(1-di)*np.zeros((md.mesh.numberofvertices))
++md.geometry.base=md.geometry.surface-md.geometry.thickness
++md.geometry.bed=md.geometry.base
++
++#materials
++md.initialization.temperature=273.25*np.ones((md.mesh.numberofvertices))
++md.materials.rheology_B=paterson(md.initialization.temperature)
++md.materials.rheology_n=3*np.ones((md.mesh.numberofelements))
++
++#Miscellaneous
++md.miscellaneous.name='test2002'
++
++#Solution parameters
++md.slr.reltol=np.nan
++md.slr.abstol=1e-3
++
++#eustatic run: 
++md.slr.rigid=0
++md.slr.elastic=0
++md=solve(md,'Sealevelrise')
++Seustatic=md.results.SealevelriseSolution.Sealevel
++
++#eustatic + rigid run: 
++md.slr.rigid=1
++md.slr.elastic=0
++md=solve(md,'Sealevelrise')
++Srigid=md.results.SealevelriseSolution.Sealevel
++
++#eustatic + rigid + elastic run: 
++md.slr.rigid=1
++md.slr.elastic=1
++md=solve(md,'Sealevelrise')
++Selastic=md.results.SealevelriseSolution.Sealevel
++
++#eustatic + rigid + elastic + rotation run: 
++md.slr.rigid=1
++md.slr.elastic=1
++md.slr.rotation=1
++md=solve(md,'Sealevelrise')
++Srotation=md.results.SealevelriseSolution.Sealevel
++
++#Fields and tolerances to track changes
++field_names     =['Eustatic','Rigid','Elastic','Rotation']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13]
++field_values=[Seustatic,Srigid,Selastic,Srotation]
+Index: ../trunk-jpl/test/NightlyRun/test3109.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3109.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3109.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedTherTranAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test602.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test602.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test602.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthMasstransp2dDG
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from meshconvert import *
+ from setmask import *
+@@ -16,7 +17,7 @@
+ md=setflowequation(md,'SSA','all')
+ md.masstransport.stabilization=3
+ md.masstransport.spcthickness=md.geometry.thickness
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test333.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test333.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test333.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: SquareSheetHydrologyDCTwoLayers
+ import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from transient import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+@@ -18,24 +19,24 @@
+ md.transient.ishydrology=True
+ md.transient.issmb=True
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.hydrology=hydrologydc()
+ md.hydrology=md.hydrology.initialize(md)
+ 
+ md.hydrology.isefficientlayer=1
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=800.0
+-md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices,1))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
++md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+-md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.floatingice_melting_rate = 0.0*np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.sediment_transmitivity= 3.0*np.ones((md.mesh.numberofvertices,1))
++md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
++md.basalforcings.floatingice_melting_rate = 0.0*np.ones((md.mesh.numberofvertices))
++md.hydrology.sediment_transmitivity= 3.0*np.ones((md.mesh.numberofvertices))
+ 
+-md.initialization.epl_head=np.zeros((md.mesh.numberofvertices,1))
+-md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices,1))
++md.initialization.epl_head=np.zeros((md.mesh.numberofvertices))
++md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices))
++md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices))
+ md.hydrology.epl_conductivity=30
+ md.hydrology.epl_initial_thickness=1
+ md.hydrology.epl_colapse_thickness=1.0e-3
+@@ -49,8 +50,8 @@
+ sedvol=np.zeros(10)
+ eplvol=np.zeros(10)
+ time=np.arange(0.2,2.1,0.2)
+-store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility);
+-sedstore=20.0*store;
++store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility)
++sedstore=20.0*store
+ for i in range(0,10):
+ 	sedvol[i]=np.mean(md.results.TransientSolution[i].SedimentHead)*sedstore
+ 	eplvol[i]=np.mean(md.results.TransientSolution[i].EplHead)*store*np.mean(md.results.TransientSolution[i].HydrologydcEplThickness)
+Index: ../trunk-jpl/test/NightlyRun/test226.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test226.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test226.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfTranCflSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_adapt=1.
+ md.timestepping.final_time=15.
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test307.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test307.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test307.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedStressHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test119.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test119.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test119.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareBamgMesh
+-import numpy
++import numpy as np
+ import time
+ from model import *
++from socket import gethostname
+ from bamg import *
+-from MatlabFuncs import *
+ 
++
+ #Simple mesh
+ md=bamg(model(),'domain','../Exp/Square.exp','hmax',100000.,'rand',False)
+ x1=md.mesh.x
+ y1=md.mesh.y
+ 
+ #hVertices
+-md=bamg(model(),'domain','../Exp/Square.exp','hmax',300000.,'hVertices',numpy.array([10000.,100000.,400000.,100000.]).reshape(-1,1),'rand',False)
++md=bamg(model(),'domain','../Exp/Square.exp','hmax',300000.,'hVertices',np.array([10000.,100000.,400000.,100000.]).reshape(-1,1),'rand',False)
+ x2=md.mesh.x
+ y2=md.mesh.y
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1201.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1201.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1201.py	(revision 21408)
+@@ -1,19 +1,19 @@
+ #Test Name: EISMINTMassConservation
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from bamg import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ This test is a test from the EISMINT for Ice shelves Vincent Rommelaere 1996.
+ """
+ 
+ printingflag=False
+-
+ results=[]
+ 
+ for stabilization in xrange(1,4):
+@@ -23,11 +23,11 @@
+ 	md=parameterize(md,'../Par/SquareEISMINT.py')
+ 	md.smb.mass_balance[:]=0.
+ 	md=setflowequation(md,'SSA','all')
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 
+ 	print "      initial velocity"
+-	md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-	md.initialization.vy=-400.*numpy.ones((md.mesh.numberofvertices,1))
++	md.initialization.vx=np.zeros((md.mesh.numberofvertices))
++	md.initialization.vy=-400.*np.ones((md.mesh.numberofvertices))
+ 
+ 	#Stabilization
+ 	if stabilization==2:
+@@ -36,13 +36,13 @@
+ 		md.masstransport.stabilization=stabilization
+ 
+ 	#spc thickness
+-	pos=numpy.nonzero(md.mesh.y>199999.9)[0]
+-	times=numpy.arange(0,501)
+-	md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices+1,numpy.size(times)))
++	pos=np.where(md.mesh.y>199999.9)[0]
++	times=np.arange(0,501)
++	md.masstransport.spcthickness=float('NaN')*np.ones((md.mesh.numberofvertices+1,np.size(times)))
+ 	md.masstransport.spcthickness[-1,:]=times
+-	md.masstransport.spcthickness[pos,:]=numpy.tile(500.+100.*numpy.sin(2.*numpy.pi*times/200.),(numpy.size(pos),1))
++	md.masstransport.spcthickness[pos,:]=500.+100.*np.sin(2.*np.pi*times/200.)
+ 	if stabilization==3:
+-		pos=numpy.nonzero(numpy.isnan(md.masstransport.spcthickness))
++		pos=np.nonzero(np.isnan(md.masstransport.spcthickness))
+ 		md.masstransport.spcthickness[pos]=500.    #No NaN for DG
+ 
+ 	#solve
+@@ -53,26 +53,18 @@
+ 	results.append(md.results.TransientSolution[-1].Thickness)
+ 
+ #plot results
+-#[elements,x,y,z,s,h1]=SectionValues(md,results[0],'../Exp/CrossLineEISMINT.exp',100.);
+-#[elements,x,y,z,s,h2]=SectionValues(md,results[1],'../Exp/CrossLineEISMINT.exp',100.);
+-#[elements,x,y,z,s,h3]=SectionValues(md,results[2],'../Exp/CrossLineEISMINT.exp',100.);
+-#[elements,x,y,z,s,hth]=SectionValues(md, 500+100*sin(2*pi/200*(500-md.mesh.y/400)),'../Exp/CrossLineEISMINT.exp',100.);
++#[elements,x,y,z,s,h1]=SectionValues(md,results[0],'../Exp/CrossLineEISMINT.exp',100.)
++#[elements,x,y,z,s,h2]=SectionValues(md,results[1],'../Exp/CrossLineEISMINT.exp',100.)
++#[elements,x,y,z,s,h3]=SectionValues(md,results[2],'../Exp/CrossLineEISMINT.exp',100.)
++#[elements,x,y,z,s,hth]=SectionValues(md, 500+100*sin(2*pi/200*(500-md.mesh.y/400)),'../Exp/CrossLineEISMINT.exp',100.)
+ #plot(s,h1,'r',s,h2,'b',s,h3,'g',s,hth,'k')
+ #legend('Art. diff.','No Art. diff.','D.G.','Theoretical')
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	export_fig([issmdir() '/website/doc_pdf/validation/Images/EISMINT/IceShelf/eismintmasscthickness.pdf']);
++#	export_fig([issmdir() '/website/doc_pdf/validation/Images/EISMINT/IceShelf/eismintmasscthickness.pdf'])
+ 
+ #Fields and tolerances to track changes
+-field_names     =[ \
+-	'ThicknessArtDiff','ThicknessNoArtDiff','ThicknessDG' \
+-]
+-field_tolerances=[\
+-	1e-13, 1e-13, 1e-13\
+-]
+-field_values=[
+-	results[0], \
+-	results[1], \
+-	results[2], \
+-]
++field_names     =['ThicknessArtDiff','ThicknessNoArtDiff','ThicknessDG']
++field_tolerances=[1e-13, 1e-13, 1e-13]
++field_values=[results[0],results[1],results[2]]
+Index: ../trunk-jpl/test/NightlyRun/test611.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test611.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test611.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthCMBalThic2dCG
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -19,15 +20,15 @@
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['BalancethicknessThickeningRate']
+ md.inversion.thickness_obs=md.geometry.thickness
+-md.inversion.min_parameters=-50.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=50.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=-50.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=50.*np.ones((md.mesh.numberofvertices))
+ md.inversion.cost_functions=[201]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=10./md.constants.yts*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=4*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.99*numpy.ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10./md.constants.yts*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=4*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Balancethickness')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test530.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test530.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test530.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: PigBalVel1
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Balancevelocity')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test423.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test423.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test423.py	(revision 21408)
+@@ -1,32 +1,33 @@
+ #Test Name: RoundSheetShelfGLMigrationSSA2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from roundmesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ radius=1.e6
+ shelfextent=2.e5
+ 
+ md=roundmesh(model(),radius,50000.)
+ #fix center node to 0,0
+-rad=numpy.sqrt(md.mesh.x**2+md.mesh.y**2)
+-pos=numpy.argmin(rad)
++rad=np.sqrt(md.mesh.x**2+md.mesh.y**2)
++pos=np.argmin(rad)
+ md.mesh.x[pos]=0.
+ md.mesh.y[pos]=0.    #the closest node to the center is changed to be exactly at the center
+-xelem=numpy.mean(md.mesh.x[md.mesh.elements.astype(int)-1],axis=1)
+-yelem=numpy.mean(md.mesh.y[md.mesh.elements.astype(int)-1],axis=1)
+-rad=numpy.sqrt(xelem**2+yelem**2)
+-flags=numpy.zeros(md.mesh.numberofelements)
+-pos=numpy.nonzero(rad>=(radius-shelfextent))
++xelem=np.mean(md.mesh.x[md.mesh.elements.astype(int)-1],axis=1)
++yelem=np.mean(md.mesh.y[md.mesh.elements.astype(int)-1],axis=1)
++rad=np.sqrt(xelem**2+yelem**2)
++flags=np.zeros(md.mesh.numberofelements)
++pos=np.nonzero(rad>=(radius-shelfextent))
+ flags[pos]=1
+ md=setmask(md,flags,'') 
+ md=parameterize(md,'../Par/RoundSheetShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.transient.isthermal=False
+ md.transient.ismasstransport=False
+Index: ../trunk-jpl/test/NightlyRun/test504.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test504.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test504.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: PigTranSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test316.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test316.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test316.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareSheetConstrainedTranSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test209.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test209.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test209.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTranSSA3d
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1103.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1103.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1103.py	(revision 21408)
+@@ -1,14 +1,13 @@
+ #Test Name: ISMIPBHO
+-import numpy
++import numpy as np
+ import shutil
+ from model import *
++from socket import gethostname
+ from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+@@ -17,7 +16,7 @@
+ 
+ printingflag=False
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ minvx=[]
+ maxvx=[]
+@@ -34,24 +33,24 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create dirichlet on the bed only
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	pos=numpy.nonzero(md.mesh.vertexonbase)
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	pos=np.nonzero(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-	posx=numpy.nonzero(md.mesh.x==0.)[0]
+-	posx2=numpy.nonzero(md.mesh.x==numpy.max(md.mesh.x))[0]
++	posx=np.where(md.mesh.x==0.)[0]
++	posx2=np.where(md.mesh.x==np.max(md.mesh.x))[0]
+ 
+-	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]    #Don't take the same nodes two times
+-	posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]
++	posy=np.where(np.logical_and.reduce((md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]    #Don't take the same nodes two times
++	posy2=np.where(np.logical_and.reduce((md.mesh.y==np.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]
+ 
+-	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
++	md.stressbalance.vertex_pairing=np.vstack((np.vstack((posx+1,posx2+1)).T,np.vstack((posy+1,posy2+1)).T))
+ 
+ 	#Compute the stressbalance
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 
+ 	#Plot the results and save them
+@@ -59,21 +58,21 @@
+ 	vy=md.results.StressbalanceSolution.Vy
+ 	vz=md.results.StressbalanceSolution.Vz
+ 	results.append(md.results.StressbalanceSolution)
+-	minvx.append(numpy.min(vx[md.mesh.numberofvertices2d:]))
+-	maxvx.append(numpy.max(vx[md.mesh.numberofvertices2d:]))
++	minvx.append(np.min(vx[md.mesh.numberofvertices2d:]))
++	maxvx.append(np.max(vx[md.mesh.numberofvertices2d:]))
+ 
+ 	#Now plot vx, vy, vz and vx on a cross section
+ #	plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipbHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipbHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipbHOvx%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestB')
+ #	plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipbHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipbHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipbHOvz%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestB')
+ 
+ 	if   (L==5000.):
+@@ -103,44 +102,26 @@
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipbHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipbHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipbHOvxsec%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestB')
+ 
+ #Now plot the min and max values of vx for each size of the square
+-#plot([5 10 20 40 80 160],minvx);ylim([0 14]);xlim([0 160])
++#plot([5 10 20 40 80 160],minvx)ylim([0 14])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipbHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipbHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipbHOminvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestB')
+-#plot([5 10 20 40 80 160],maxvx);ylim([0 120]);xlim([0 160])
++#plot([5 10 20 40 80 160],maxvx)ylim([0 120])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipbHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipbHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipbHOmaxvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestB')
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-09,1e-09,1e-09,\
+-	1e-09,1e-09,1e-09,\
+-	1e-09,1e-09,1e-09,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-07,1e-07,\
+-	1e-07,1e-06,1e-07,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-08,1e-07,1e-07]
+ field_values=[]
+ for result in results:
+-	field_values=field_values+[\
+-		result.Vx,\
+-		result.Vy,\
+-		result.Vz,\
+-		]
++	field_values=field_values+[result.Vx,result.Vy,result.Vz]
+Index: ../trunk-jpl/test/NightlyRun/test513.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test513.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test513.py	(revision 21408)
+@@ -1,12 +1,13 @@
+ #Test Name: PigCMDragSteaSSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',30000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+@@ -16,21 +17,21 @@
+ # control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[103,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.99*numpy.ones((md.inversion.nsteps,1))
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ md.timestepping.time_step=0.
+ 
+ md.thermal.penalty_lock=5
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Steadystate')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test270.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test270.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test270.py	(revision 21408)
+@@ -1,6 +1,7 @@
+ #Test Name: SquareShelfStressSSA2dDamage
+-import numpy
+-from model import model
++import numpy as np
++from model import *
++ from socket import gethostnamemodel
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+@@ -8,17 +9,17 @@
+ from solve import solve
+ from matdamageice import matdamageice
+ from generic import generic
+-from socket import gethostname as oshostname
++from socket import gethostname
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md.materials=matdamageice()
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.damage.isdamage=1
+-md.damage.D=0.5*numpy.ones(md.mesh.numberofvertices)
+-md.damage.spcdamage=numpy.nan*numpy.ones(md.mesh.numberofvertices)
++md.damage.D=0.5*np.ones(md.mesh.numberofvertices)
++md.damage.spcdamage=np.nan*np.ones(md.mesh.numberofvertices)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test432.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test432.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test432.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfSteaEnthalpyHO
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,11 +14,11 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md.thermal.isenthalpy=1
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md=solve(md,'Steadystate')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test325.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test325.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test325.py	(revision 21408)
+@@ -1,25 +1,26 @@
+ #Test Name: SquareSheetConstrainedEnthalpyStea
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0.
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md.thermal.isenthalpy = 1
+ md.thermal.isdynamicbasalspc = 1
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Thermal')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test406.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test406.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test406.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfTherStea
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(4,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0.
+ md=solve(md,'Thermal')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test3001.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3001.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3001.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedStressSSA2dAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.stressbalance.requested_outputs=['default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy']
+ md.autodiff.isautodiff=True
+ md=solve(md,'Stressbalance')
+Index: ../trunk-jpl/test/NightlyRun/test603.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test603.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test603.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthMasstransp3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/79North.py')
+ md.extrude(6,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test334.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test334.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test334.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: SquareSheetConstrainedExtrudedHydrologyDC
+ import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from transient import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+@@ -17,20 +18,20 @@
+ md.transient=transient.setallnullparameters(md.transient)
+ md.transient.ishydrology=True
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.hydrology=hydrologydc()
+ md.hydrology=md.hydrology.initialize(md)
+ 
+ md.hydrology.isefficientlayer=0
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=8000.0
+-md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices,1))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
++md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
+ md.hydrology.spcsediment_head[np.where(md.mesh.y==0)]=0.0
+ 
+-md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.floatingice_melting_rate = 0.0*np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.sediment_transmitivity= 3.0*np.ones((md.mesh.numberofvertices,1))
++md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
++md.basalforcings.floatingice_melting_rate = 0.0*np.ones((md.mesh.numberofvertices))
++md.hydrology.sediment_transmitivity= 3.0*np.ones((md.mesh.numberofvertices))
+ 
+ md.timestepping.time_step=0
+ md.timestepping.final_time=1.0
+Index: ../trunk-jpl/test/NightlyRun/test415.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test415.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test415.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfCMDragSteaSSA3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -17,20 +18,20 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[103,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.3*numpy.ones((md.inversion.nsteps,1))
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
+ md.timestepping.time_step=0.
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Steadystate')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test227.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test227.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test227.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfTranCflHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_adapt=1.
+ md.timestepping.final_time=20.
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test308.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test308.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test308.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedStressFS
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test3010.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3010.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3010.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedTranSSA2dAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.transient.requested_outputs=['IceVolume']
+ 
+ md.autodiff.isautodiff=True
+Index: ../trunk-jpl/test/NightlyRun/test1202.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1202.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1202.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: EISMINTStress1
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ Test on the stressbalance model and the masstransport in 2d
+ """
+@@ -22,7 +23,7 @@
+ md=setflowequation(md,'SSA','all')    #SSA's model and 2d
+ 
+ #Compute solution for SSA's model 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Stressbalance')
+ 
+ #plot results
+@@ -34,21 +35,18 @@
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eismintdiag1vx','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eismintdiag1vx.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eismintdiag1vx','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eismintdiag1vx.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ 
+ #plotmodel(md,'data',vy,'contourlevels',{-100,-200,-300,-400,-500,-600,-700,-800,-900,-1000},...
+ #	'contourcolor','k')
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eismintdiag1vy','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eismintdiag1vy.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eismintdiag1vy','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eismintdiag1vy.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy']
+ field_tolerances=[1e-13,1e-13]
+-field_values=[\
+-	vx, \
+-	vy, \
+-	]
++field_values=[vx,vy]
+Index: ../trunk-jpl/test/NightlyRun/test3119.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3119.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3119.py	(revision 21408)
+@@ -1,5 +1,6 @@
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -7,14 +8,14 @@
+ from independent import *
+ from dependent import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ #test reverse scalar vs forward vectorial drivers in ADOLC, using the test3009 setup, equivalent to test109 setup.
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.autodiff.isautodiff=True
+ md.verbose.autodiff=True
+Index: ../trunk-jpl/test/NightlyRun/test101.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test101.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test101.py	(revision 21408)
+@@ -1,11 +1,11 @@
+ #Test Name: SquareShelfConstrainedStressSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ from massfluxatgate import massfluxatgate
+ from generic import generic
+ 
+@@ -13,38 +13,37 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #outputs
+ md.stressbalance.requested_outputs=['default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy','MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6']
+-md.outputdefinition.definitions=[
+-		massfluxatgate('name','MassFlux1','profilename','../Exp/MassFlux1.exp','definitionstring','Outputdefinition1'),
+-		massfluxatgate('name','MassFlux2','profilename','../Exp/MassFlux2.exp','definitionstring','Outputdefinition2'),
+-		massfluxatgate('name','MassFlux3','profilename','../Exp/MassFlux3.exp','definitionstring','Outputdefinition3'),
+-		massfluxatgate('name','MassFlux4','profilename','../Exp/MassFlux4.exp','definitionstring','Outputdefinition4'),
+-		massfluxatgate('name','MassFlux5','profilename','../Exp/MassFlux5.exp','definitionstring','Outputdefinition5'),
+-		massfluxatgate('name','MassFlux6','profilename','../Exp/MassFlux6.exp','definitionstring','Outputdefinition6')
+-		]
++md.outputdefinition.definitions=[massfluxatgate('name','MassFlux1','profilename','../Exp/MassFlux1.exp','definitionstring','Outputdefinition1'),
++																 massfluxatgate('name','MassFlux2','profilename','../Exp/MassFlux2.exp','definitionstring','Outputdefinition2'),
++																 massfluxatgate('name','MassFlux3','profilename','../Exp/MassFlux3.exp','definitionstring','Outputdefinition3'),
++																 massfluxatgate('name','MassFlux4','profilename','../Exp/MassFlux4.exp','definitionstring','Outputdefinition4'),
++																 massfluxatgate('name','MassFlux5','profilename','../Exp/MassFlux5.exp','definitionstring','Outputdefinition5'),
++																 massfluxatgate('name','MassFlux6','profilename','../Exp/MassFlux6.exp','definitionstring','Outputdefinition6')]
+ 
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx','Vy','Vel','Pressure',\
+-	'DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy','MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,\
+-	1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13 ]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	md.results.StressbalanceSolution.DeviatoricStressxx,\
+-	md.results.StressbalanceSolution.DeviatoricStressyy,\
+-	md.results.StressbalanceSolution.DeviatoricStressxy,\
+-	md.results.StressbalanceSolution.MassFlux1,\
+-	md.results.StressbalanceSolution.MassFlux2,\
+-	md.results.StressbalanceSolution.MassFlux3,\
+-	md.results.StressbalanceSolution.MassFlux4,\
+-	md.results.StressbalanceSolution.MassFlux5,\
+-	md.results.StressbalanceSolution.MassFlux6 ]
++field_names     =['Vx','Vy','Vel','Pressure',
++									'DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy',
++									'MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6']
++field_tolerances=[1e-13, 1e-13, 1e-13, 1e-13,
++									1e-13, 1e-13, 1e-13,
++									1e-13, 1e-13, 1e-13, 
++									1e-13, 1e-13, 1e-13 ]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.DeviatoricStressxx,
++							md.results.StressbalanceSolution.DeviatoricStressyy,
++							md.results.StressbalanceSolution.DeviatoricStressxy,
++							md.results.StressbalanceSolution.MassFlux1,
++							md.results.StressbalanceSolution.MassFlux2,
++							md.results.StressbalanceSolution.MassFlux3,
++							md.results.StressbalanceSolution.MassFlux4,
++							md.results.StressbalanceSolution.MassFlux5,
++							md.results.StressbalanceSolution.MassFlux6 ]
+Index: ../trunk-jpl/test/NightlyRun/test531.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test531.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test531.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: PigBalVel2
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',20000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Balancevelocity')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test450.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test450.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test450.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfStressSSAHigherOrder
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -12,7 +13,7 @@
+ md=setmask(md,'../Exp/SquareShelf.exp','')
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ field_names=[]
+ field_tolerances=[]
+Index: ../trunk-jpl/test/NightlyRun/test424.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test424.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test424.py	(revision 21408)
+@@ -1,7 +1,6 @@
+ #Test Name: SquareSheetShelfGroundingLine2dAggressive
+-import numpy
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,8 +13,8 @@
+ md=setflowequation(md,'SSA','all')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+-md.geometry.bed =-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
++md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.
++md.geometry.bed =-700.-abs(md.mesh.y-500000.)/1000.
+ md.geometry.thickness[:]=1000.
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ md.smb.mass_balance[:]=100.
+@@ -24,33 +23,31 @@
+ md.groundingline.migration='AggressiveMigration'
+ md.transient.requested_outputs=['IceVolume','IceVolumeAboveFloatation']
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Bed1','Surface1','Thickness1','Floatingice1','IceVolume1','IceVolumeAboveFloatation1',\
+-	'Bed2','Surface2','Thickness2','Floatingice2','IceVolume2','IceVolumeAboveFloatation2',\
+-	'Bed3','Surface3','Thickness3','Floatingice3','IceVolume3','IceVolumeAboveFloatation3']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[0].IceVolume,\
+-	md.results.TransientSolution[0].IceVolumeAboveFloatation,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[1].IceVolume,\
+-	md.results.TransientSolution[1].IceVolumeAboveFloatation,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[2].IceVolume,\
+-	md.results.TransientSolution[2].IceVolumeAboveFloatation,\
+-	]
++field_names     =['Bed1','Surface1','Thickness1','Floatingice1','IceVolume1','IceVolumeAboveFloatation1',
++									'Bed2','Surface2','Thickness2','Floatingice2','IceVolume2','IceVolumeAboveFloatation2',
++									'Bed3','Surface3','Thickness3','Floatingice3','IceVolume3','IceVolumeAboveFloatation3']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
++field_values=[md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].MaskGroundediceLevelset,
++							md.results.TransientSolution[0].IceVolume,
++							md.results.TransientSolution[0].IceVolumeAboveFloatation,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].MaskGroundediceLevelset,
++							md.results.TransientSolution[1].IceVolume,
++							md.results.TransientSolution[1].IceVolumeAboveFloatation,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].MaskGroundediceLevelset,
++							md.results.TransientSolution[2].IceVolume,
++							md.results.TransientSolution[2].IceVolumeAboveFloatation]
+Index: ../trunk-jpl/test/NightlyRun/test505.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test505.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test505.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigTranSSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',30000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test236.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test236.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test236.py	(revision 21408)
+@@ -1,35 +1,36 @@
+ #Test Name: SquareShelfTranIspddIsdeltaSSA2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ 
+ # Use of ispdd and isdelta18o methods
+-md.smb = SMBpdd();
++md.smb = SMBpdd()
+ md.smb.isdelta18o=1
+ md.smb.ismungsm=0
+ 
+ # Add temperature, precipitation and delta18o needed to measure the surface mass balance
+ # creating delta18o
+-delta18o=numpy.loadtxt('../Data/delta18o.data')
++delta18o=np.loadtxt('../Data/delta18o.data')
+ md.smb.delta18o=delta18o
+ # creating delta18oSurface
+-md.smb.delta18o_surface = numpy.zeros((2,numpy.size(delta18o,axis=1)))
++md.smb.delta18o_surface = np.zeros((2,np.size(delta18o,axis=1)))
+ md.smb.delta18o_surface[1,:] = delta18o[1,:]
+ 
+ # creating Present day and lgm temperatures
+ # Same temperature over the all region:
+-tmonth=numpy.ones(12)*(238.15+20.)
+-md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+-md.smb.temperatures_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))
++tmonth=np.ones(12)*(238.15+20.)
++md.smb.temperatures_presentday=np.zeros((md.mesh.numberofvertices+1,12))
++md.smb.temperatures_lgm=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+     md.smb.temperatures_lgm[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]-20.
+@@ -38,17 +39,17 @@
+     md.smb.temperatures_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ # creating initialization and spc temperatures initialization and spc
+-md.thermal.spctemperature=numpy.mean(md.smb.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)    #-10*ones(md.mesh.numberofvertices,1)
+-md.thermal.spctemperature=numpy.tile(md.thermal.spctemperature,(1,md.timestepping.final_time/md.timestepping.time_step))
+-itemp=numpy.arange(0,md.timestepping.final_time,md.timestepping.time_step)
+-md.thermal.spctemperature=numpy.vstack((md.thermal.spctemperature,itemp.reshape(1,-1)))
++md.thermal.spctemperature=np.mean(md.smb.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)    #-10*ones(md.mesh.numberofvertices,1)
++md.thermal.spctemperature=np.tile(md.thermal.spctemperature,(1,md.timestepping.final_time/md.timestepping.time_step))
++itemp=np.arange(0,md.timestepping.final_time,md.timestepping.time_step)
++md.thermal.spctemperature=np.vstack((md.thermal.spctemperature,itemp.reshape(1,-1)))
+ 
+ md.initialization.temperature=md.smb.temperatures_lgm[0:md.mesh.numberofvertices,0]    #*ones(md.mesh.numberofvertices,1)
+ md.smb.initialize(md)
+ 
+ # creating precipitation
+-md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+-md.smb.precipitations_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_presentday=np.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_lgm=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+     md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+@@ -56,11 +57,11 @@
+     md.smb.precipitations_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ # Interpolation factors
+-md.smb.Tdiff=0.5*numpy.ones((2,md.timestepping.final_time))
+-md.smb.sealev=0.5*numpy.ones((2,md.timestepping.final_time))
++md.smb.Tdiff=0.5*np.ones((2,md.timestepping.final_time))
++md.smb.sealev=0.5*np.ones((2,md.timestepping.final_time))
+ # Year of each data point
+-md.smb.Tdiff[1,1:md.timestepping.final_time]=numpy.arange(1.,md.timestepping.final_time)
+-md.smb.sealev[1,1:md.timestepping.final_time]=numpy.arange(1.,md.timestepping.final_time)
++md.smb.Tdiff[1,1:md.timestepping.final_time]=np.arange(1.,md.timestepping.final_time)
++md.smb.sealev[1,1:md.timestepping.final_time]=np.arange(1.,md.timestepping.final_time)
+ 
+ # time steps and resolution
+ md.timestepping.time_step=20.
+@@ -70,16 +71,16 @@
+ # 
+ md.transient.requested_outputs=['default','SmbMonthlytemperatures']
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\
+ 		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\
+-				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'];
++				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13];
++			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+ field_values=[\
+ 	md.results.TransientSolution[0].Vx,\
+ 	md.results.TransientSolution[0].Vy,\
+Index: ../trunk-jpl/test/NightlyRun/test317.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test317.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test317.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: SquareSheetConstrainedTranHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.basalforcings.groundedice_melting_rate[:]=5.
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb']
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1104.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1104.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1104.py	(revision 21408)
+@@ -1,20 +1,19 @@
+ #Test Name: ISMIPBFS
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+ Pattyn and Payne 2006
+ """
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ 
+ for L in L_list:
+@@ -28,31 +27,31 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create dirichlet on the bed only
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+-	pos=numpy.nonzero(md.mesh.vertexonbase)
++	pos=np.where(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-	posx=numpy.nonzero(md.mesh.x==0.)[0]
+-	posx2=numpy.nonzero(md.mesh.x==numpy.max(md.mesh.x))[0]
++	posx=np.where(md.mesh.x==0.)[0]
++	posx2=np.where(md.mesh.x==np.max(md.mesh.x))[0]
+ 
+-	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]    #Don't take the same nodes two times
+-	posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0]
++	posy=np.where(np.logical_and.reduce((md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]    #Don't take the same nodes two times
++	posy2=np.where(np.logical_and.reduce((md.mesh.y==np.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=np.max(md.mesh.x))))[0]
+ 
+-	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
+-
++	md.stressbalance.vertex_pairing=np.vstack((np.vstack((posx+1,posx2+1)).T,np.vstack((posy+1,posy2+1)).T))
++	print np.shape(md.stressbalance.vertex_pairing)
+ 	#Compute the stressbalance
+ 	md.stressbalance.abstol=float('NaN')
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+-	pos=numpy.nonzero(logical_or_n(md.mesh.x==0.,md.mesh.y==0.,md.mesh.x==numpy.max(md.mesh.x),md.mesh.y==numpy.max(md.mesh.y)))
++	pos=np.where(np.logical_or.reduce((md.mesh.x==0.,md.mesh.y==0.,md.mesh.x==np.max(md.mesh.x),md.mesh.y==np.max(md.mesh.y))))
+ 	md.stressbalance.spcvx[pos]=md.results.StressbalanceSolution.Vx[pos]
+ 	md.stressbalance.spcvy[pos]=md.results.StressbalanceSolution.Vy[pos]
+-	md.stressbalance.vertex_pairing=numpy.empty((0,2),int)
++	md.stressbalance.vertex_pairing=np.empty((0,2),int)
+ 	md=setflowequation(md,'FS','all')
+ 	md=solve(md,'Stressbalance')
+ 
+@@ -65,26 +64,8 @@
+ #	plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.mesh.numberoflayers)
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-08,1e-08,\
+-	1e-08,1e-07,1e-08,\
+-	1e-07,1e-07,1e-07,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-08,1e-07,1e-08]
+ field_values=[]
+ for result in results:
+-	field_values=field_values+[\
+-		result.Vx,\
+-		result.Vy,\
+-		result.Vz,\
+-		]
++	field_values=field_values+[result.Vx,result.Vy,result.Vz]
+Index: ../trunk-jpl/test/NightlyRun/test110.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test110.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test110.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedTranSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['IceVolume']
+ 
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test433.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test433.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test433.py	(revision 21408)
+@@ -1,33 +1,34 @@
+ #Test Name: RoundSheetShelfGLMigrationSSA3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from roundmesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ radius=1.e6
+ shelfextent=2.e5
+ 
+ md=roundmesh(model(),radius,50000.)
+ #fix center node to 0,0
+-rad=numpy.sqrt(md.mesh.x**2+md.mesh.y**2)
+-pos=numpy.argmin(rad)
++rad=np.sqrt(md.mesh.x**2+md.mesh.y**2)
++pos=np.argmin(rad)
+ md.mesh.x[pos]=0.
+ md.mesh.y[pos]=0.    #the closest node to the center is changed to be exactly at the center
+-xelem=numpy.mean(md.mesh.x[md.mesh.elements.astype(int)-1],axis=1)
+-yelem=numpy.mean(md.mesh.y[md.mesh.elements.astype(int)-1],axis=1)
+-rad=numpy.sqrt(xelem**2+yelem**2)
+-flags=numpy.zeros(md.mesh.numberofelements)
+-pos=numpy.nonzero(rad>=(radius-shelfextent))
++xelem=np.mean(md.mesh.x[md.mesh.elements.astype(int)-1],axis=1)
++yelem=np.mean(md.mesh.y[md.mesh.elements.astype(int)-1],axis=1)
++rad=np.sqrt(xelem**2+yelem**2)
++flags=np.zeros(md.mesh.numberofelements)
++pos=np.nonzero(rad>=(radius-shelfextent))
+ flags[pos]=1
+ md=setmask(md,flags,'') 
+ md=parameterize(md,'../Par/RoundSheetShelf.py')
+ md=setflowequation(md,'SSA','all')
+ md.extrude(3,1.)
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.transient.isthermal=False
+ md.transient.ismasstransport=False
+Index: ../trunk-jpl/test/NightlyRun/test514.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test514.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test514.py	(revision 21408)
+@@ -1,16 +1,17 @@
+ #Test Name: PigBamgMesh
+-import numpy
++import numpy as np
+ import copy
+ from model import *
++from socket import gethostname
+ from bamg import *
+ from setmask import *
+ from parameterize import *
+ from ComputeHessian import *
+ from ComputeMetric import *
+-from MatlabFuncs import *
+ 
++
+ #Simple mesh 1
+-hVertices=10000.*numpy.ones((27,1))
++hVertices=10000.*np.ones((27))
+ hVertices[0:5]=1000.
+ md=bamg(model(),'domain','../Exp/Pig.exp','hmax',20000.,'hVertices',hVertices,'gradation',3.,'geometricalmetric',1)
+ x1=md.mesh.x
+@@ -37,19 +38,19 @@
+ y4=md2.mesh.y
+ 
+ #refine existing mesh 3
+-hVertices=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
+-hVertices[numpy.nonzero(md.mesh.vertexonboundary)]=500.
++hVertices=float('nan')*np.ones((md.mesh.numberofvertices))
++hVertices[np.nonzero(md.mesh.vertexonboundary)]=500.
+ md2=bamg(copy.deepcopy(md),'metric',md.miscellaneous.dummy,'hmin',1000.,'hmax',20000.,'gradation',3.,'geometricalmetric',1,'anisomax',1.,'hVertices',hVertices)
+ x5=md2.mesh.x
+ y5=md2.mesh.y
+ 
+ #refine existing mesh 4
+-md2=bamg(copy.deepcopy(md),'field',md.inversion.vy_obs,'hmin',1000.,'hmax',20000.,'gradation',3.,'geometricalmetric',1,'Hessiantype',0,'err',numpy.array([[1.]]))
++md2=bamg(copy.deepcopy(md),'field',md.inversion.vy_obs,'hmin',1000.,'hmax',20000.,'gradation',3.,'geometricalmetric',1,'Hessiantype',0,'err',np.array([[1.]]))
+ x6=md2.mesh.x
+ y6=md2.mesh.y
+ 
+ #refine existing mesh 5
+-md2=bamg(copy.deepcopy(md),'field',numpy.hstack((md.inversion.vy_obs,md.geometry.thickness)),'hmin',1000.,'hmax',20000.,'gradation',3.,'geometricalmetric',1,'Hessiantype',1,'err',numpy.array([[10.,100.]])) 
++md2=bamg(copy.deepcopy(md),'field',np.hstack((md.inversion.vy_obs,md.geometry.thickness)),'hmin',1000.,'hmax',20000.,'gradation',3.,'geometricalmetric',1,'Hessiantype',1,'err',np.array([[10.,100.]])) 
+ x7=md2.mesh.x
+ y7=md2.mesh.y
+ 
+Index: ../trunk-jpl/test/NightlyRun/test407.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test407.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test407.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfTherTran
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(4,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test326.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test326.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test326.py	(revision 21408)
+@@ -1,21 +1,22 @@
+ #Test Name: SquareSheetConstrainedEnthalpyTran
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.cluster=generic('name',gethostname(),'np',3)
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test219.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test219.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test219.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfStressSSAHOTiling
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','../Exp/SquareHalfRight.exp','fill','SSA')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test1301.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1301.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1301.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: ThermalMelting
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from paterson import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ This file can be run to check that the melting in simple conduction is correctly modeled.
+ There is no velocity (no advection) the only thermal boundary conditions are an imposed temperature
+@@ -26,9 +27,9 @@
+ md=setflowequation(md,'HO','all')
+ 
+ #Some conditions specific to melting test
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1),int)
+-md.initialization.temperature=273.15*numpy.ones((md.mesh.numberofvertices,1))
+-pos=numpy.nonzero(md.mesh.vertexonsurface)[0]
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices,1),int)
++md.initialization.temperature=273.15*np.ones((md.mesh.numberofvertices))
++pos=np.nonzero(md.mesh.vertexonsurface)[0]
+ md.thermal.spctemperature[pos]=md.initialization.temperature[pos]
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+ 
+@@ -38,21 +39,21 @@
+ melting=md.basalforcings.geothermalflux/(md.materials.rho_ice*md.materials.latentheat)*md.constants.yts
+ 
+ #modeled results
+-md.cluster=generic('name',oshostname(),'np',2)
++md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Thermal')
+ 
+ #plot results
+ comp_melting=md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate
+-relative=numpy.abs((comp_melting-melting)/melting)*100.
+-relative[numpy.nonzero(comp_melting==melting)[0]]=0.
++relative=np.abs((comp_melting-melting)/melting)*100.
++relative[np.nonzero(comp_melting==melting)[0]]=0.
+ #plotmodel(md,'data',comp_melting,'title','Modeled melting','data',melting,'title','Analytical melting',...
+ #	'data',comp_melting-melting,'title','Absolute error','data',relative,'title','Relative error [%]',...
+ #	'layer#all',1,'caxis#2',[1.02964 1.02966]*10^-4,'FontSize#all',20,'figposition','mathieu')
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('thermalmelting','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv thermalmelting.png ' ISSM_DIR '/website/doc_pdf/validation/Images/Thermal ']);
++#	printmodel('thermalmelting','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv thermalmelting.png ' ISSM_DIR '/website/doc_pdf/validation/Images/Thermal '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['BasalMelting']
+Index: ../trunk-jpl/test/NightlyRun/test3002.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3002.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3002.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressSSA3dAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.autodiff.isautodiff=True
+ md=solve(md,'Stressbalance')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test280.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test280.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test280.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfStressSSA2dHigherOrder
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from ContourToMesh import *
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ field_names=[]
+ field_tolerances=[]
+Index: ../trunk-jpl/test/NightlyRun/test604.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test604.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test604.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthSurfSlop2d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -12,7 +13,7 @@
+ md=setmask(md,'../Exp/79NorthShelf.exp','')
+ md=parameterize(md,'../Par/79North.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'SurfaceSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test416.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test416.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test416.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfCMDragSteaHO
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -17,20 +18,20 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[102,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.3*numpy.ones((md.inversion.nsteps,1))
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
+ md.timestepping.time_step=0.
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Steadystate')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test335.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test335.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test335.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: SquareSheetExtrudedHydrologyDCTwoLayers
+ import numpy as np 
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from transient import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+@@ -18,23 +19,23 @@
+ md.transient.ishydrology=True
+ md.transient.issmb=True
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.hydrology=hydrologydc()
+ md.hydrology=md.hydrology.initialize(md)
+ 
+ md.hydrology.isefficientlayer=1
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=800.0
+-md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices,1))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.floatingice_melting_rate = np.zeros((md.mesh.numberofvertices,1))
+-md.hydrology.sediment_transmitivity=3*np.ones((md.mesh.numberofvertices,1))
++md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
++md.basalforcings.floatingice_melting_rate = np.zeros((md.mesh.numberofvertices))
++md.hydrology.sediment_transmitivity=3*np.ones((md.mesh.numberofvertices))
+ 
+-md.initialization.epl_head=np.zeros((md.mesh.numberofvertices,1))
+-md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices,1))
+-md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices,1))
++md.initialization.epl_head=np.zeros((md.mesh.numberofvertices))
++md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices))
++md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices))
+ md.hydrology.epl_conductivity=30
+ md.hydrology.epl_initial_thickness=1
+ md.hydrology.epl_colapse_thickness=1.0e-3
+Index: ../trunk-jpl/test/NightlyRun/test309.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test309.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test309.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareSheetConstrainedMasstransp2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Masstransport')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test228.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test228.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test228.py	(revision 21408)
+@@ -1,72 +1,71 @@
+ #Test Name: SquareShelfTranForceNeg2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb.mass_balance=numpy.vstack((smb,[1.5,3.]))
++md.smb.mass_balance=np.vstack((smb,[1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test1203.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1203.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1203.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: EISMINTStress2
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ Test on the stressbalance model and the masstransport in 2d
+ """
+@@ -23,11 +24,13 @@
+ md=setflowequation(md,'SSA','all')    #SSA's model and 2d
+ 
+ #Impose a non zero velocity on the upper boundary condition (y=max(y))
+-pos=numpy.nonzero(md.mesh.y==numpy.max(md.mesh.y))
+-md.stressbalance.spcvy[pos]=400.*(((md.mesh.x[pos].reshape(-1,1)-100000.)/25000.)**2-numpy.ones((numpy.size(pos),1)))*heaviside((1.+sys.float_info.epsilon)*numpy.ones((numpy.size(pos),1))-((md.mesh.x[pos].reshape(-1,1)-100000.)/25000.)**2)
++pos=np.where(md.mesh.y==np.max(md.mesh.y))
++heavyside=np.where(np.logical_and(md.mesh.y==np.max(md.mesh.y),((1.+sys.float_info.epsilon)*np.ones((np.size(md.mesh.y)))-((md.mesh.x-100000.)/25000.)**2)>0))
++md.stressbalance.spcvy[pos]=np.zeros((np.size(pos)))
++md.stressbalance.spcvy[heavyside]=400.*(((md.mesh.x[heavyside]-100000.)/25000.)**2-np.ones((np.size(heavyside))))
+ 
+ #Compute solution for SSA's model 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Stressbalance')
+ 
+ vx=md.results.StressbalanceSolution.Vx
+@@ -39,20 +42,17 @@
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eismintdiag2vx','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eismintdiag2vx.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eismintdiag2vx','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eismintdiag2vx.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ #plotmodel(md,'data',vy,'contourlevels',{-100,-200,-300,-400,-500,-600,-700,-800,-900,-1000},...
+ #	'contourcolor','k')
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eismintdiag2vy','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eismintdiag2vy.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eismintdiag2vy','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eismintdiag2vy.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy']
+ field_tolerances=[1e-13,1e-13]
+-field_values=[\
+-	vx, \
+-	vy, \
+-	]
++field_values=[vx,vy]
+Index: ../trunk-jpl/test/NightlyRun/runme.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/runme.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/runme.py	(revision 21408)
+@@ -1,10 +1,10 @@
+ #!/usr/bin/env python
+ import os
+-import glob
+-import socket
+-import numpy
+-import sys
+-import traceback
++import numpy as np
++from traceback import format_exc
++from sys import float_info
++from glob import glob
++from socket import gethostname
+ 
+ def runme(id=None,exclude=None,benchmark='nightly',procedure='check',output='none',rank=1,numprocs=1):
+ 	"""
+@@ -33,7 +33,7 @@
+ 	                       'update': update the archive
+  
+ 	    Usage:
+-	       runme(varargin);
++	       runme(varargin)
+  
+ 	    Examples:
+ 	       runme()
+@@ -43,8 +43,6 @@
+ 
+ 	from parallelrange import parallelrange
+ 	from IdToName import IdToName
+-	from MatlabFuncs import strcmpi
+-	from MatlabFuncs import ismember
+ 	from arch import archread
+ 	from arch import archwrite
+ 	from arch import archdisp
+@@ -54,17 +52,17 @@
+ 
+ 	#Process options
+ 	#GET benchmark {{{
+-	if not ismember(benchmark,['all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing','adolc','slr']):
++	if not benchmark in ['all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing','adolc','slr']:
+ 		print "runme warning: benchmark '%s' not supported, defaulting to test 'nightly'." % benchmark
+ 		benchmark='nightly'
+ 	# }}}
+ 	#GET procedure {{{
+-	if not ismember(procedure,['check','update']):
++	if not procedure in ['check','update']:
+ 		print "runme warning: procedure '%s' not supported, defaulting to test 'check'." % procedure
+ 		procedure='check'
+ 	# }}}
+ 	#GET output {{{
+-	if not ismember(output,['nightly','none']):
++	if not output in ['nightly','none']:
+ 		print "runme warning: output '%s' not supported, defaulting to test 'none'." % output
+ 		output='none'
+ 	# }}}
+@@ -73,14 +71,14 @@
+ 		numprocs=1
+ 	# }}}
+ 	#GET ids  {{{
+-	flist=glob.glob('test*.py')    #File name must start with 'test' and must end by '.py' and must be different than 'test.py'
++	flist=glob('test*.py')    #File name must start with 'test' and must end by '.py' and must be different than 'test.py'
+ 	list_ids=[int(file[4:-3]) for file in flist if not file == 'test.py']    #Keep test id only (skip 'test' and '.py')
+ 	#print 'list_ids =',list_ids
+ 
+ 	i1,i2=parallelrange(rank,numprocs,len(list_ids))    #Get tests for this cpu only
+ 	list_ids=list_ids[i1:i2+1]
+ 	#print 'list_ids after parallelrange =',list_ids
+-
++	
+ 	if id:
+ 		if isinstance(id,list):
+ 			test_ids=id
+@@ -89,7 +87,8 @@
+ 		test_ids=set(test_ids).intersection(set(list_ids))
+ 	else:
+ 		test_ids=set(list_ids)
+-	#print 'test_ids after list =',test_ids
++		
++		#print 'test_ids after list =',test_ids
+ 	# }}}
+ 	#GET exclude {{{
+ 	if exclude:
+@@ -101,25 +100,25 @@
+ #	print 'test_ids after exclude =',test_ids
+ 	# }}}
+ 	#Process Ids according to benchmarks {{{
+-	if   strcmpi(benchmark,'nightly'):
++	if benchmark=='nightly':
+ 		test_ids=test_ids.intersection(set(range(1,1000)))
+-	elif strcmpi(benchmark,'validation'):
++	elif benchmark=='validation':
+ 		test_ids=test_ids.intersection(set(range(1001,2000)))
+-	elif strcmpi(benchmark,'ismip'):
++	elif benchmark=='ismip':
+ 		test_ids=test_ids.intersection(set(range(1101,1200)))
+-	elif strcmpi(benchmark,'eismint'):
++	elif benchmark=='eismint':
+ 		test_ids=test_ids.intersection(set(range(1201,1300)))
+-	elif strcmpi(benchmark,'thermal'):
++	elif benchmark=='thermal':
+ 		test_ids=test_ids.intersection(set(range(1301,1400)))
+-	elif strcmpi(benchmark,'mesh'):
++	elif benchmark=='mesh':
+ 		test_ids=test_ids.intersection(set(range(1401,1500)))
+-	elif strcmpi(benchmark,'tranforcing'):
++	elif benchmark=='tranforcing':
+ 		test_ids=test_ids.intersection(set(range(1501,1503)))
+-	elif strcmpi(benchmark,'referential'):
++	elif benchmark=='referential':
+ 		test_ids=test_ids.intersection(set(range(1601,1603)))
+-	elif strcmpi(benchmark,'slr'):
++	elif benchmark=='slr':
+ 		test_ids=test_ids.intersection(set(range(2001,2500)))
+-	elif strcmpi(benchmark,'adolc'):
++	elif benchmark=='adolc':
+ 		test_ids=test_ids.intersection(set(range(3001,3200)))
+ 	#print 'test_ids after benchmark =',test_ids
+ 	test_ids=list(test_ids)
+@@ -140,15 +139,15 @@
+ 
+ 			#UPDATE ARCHIVE?
+ 			archive_name='Archive'+str(id)
+-			if strcmpi(procedure,'update'):
++			if procedure=='update':
+ 				archive_file=os.path.join('..','Archives',archive_name+'.arch')
+ 				if os.path.isfile(archive_file):
+ 					os.remove(archive_file)
+ 				for k,fieldname in enumerate(field_names):
+-					field=numpy.array(field_values[k],dtype=float)
++					field=np.array(field_values[k],dtype=float)
+ 					if len(field.shape) == 1:
+-						if numpy.size(field):
+-							field=field.reshape(numpy.size(field),1)
++						if np.size(field):
++							field=field.reshape(np.size(field),1)
+ 						else:
+ 							field=field.reshape(0,0)
+ 					elif len(field.shape) == 0:
+@@ -170,24 +169,24 @@
+ 
+ 					try:
+ 						#Get field and tolerance
+-						field=numpy.array(field_values[k])
++						field=np.array(field_values[k])
+ 						if len(field.shape) == 1:
+-							if numpy.size(field):
+-								field=field.reshape(numpy.size(field),1)
++							if np.size(field):
++								field=field.reshape(np.size(field),1)
+ 							else:
+ 								field=field.reshape(0,0)
+ 						tolerance=field_tolerances[k]
+ 
+ 						#compare to archive
+ 						# Matlab uses base 1, so use base 1 in labels
+-						archive=numpy.array(archread(archive_file,archive_name+'_field'+str(k+1)))
++						archive=np.array(archread(archive_file,archive_name+'_field'+str(k+1)))
+ 						if archive == None:
+ 							raise NameError("Field name '"+archive_name+'_field'+str(k+1)+"' does not exist in archive file.")
+-						error_diff=numpy.amax(numpy.abs(archive-field),axis=0)/ \
+-								   (numpy.amax(numpy.abs(archive),axis=0)+sys.float_info.epsilon)
++						error_diff=np.amax(np.abs(archive-field),axis=0)/ \
++								   (np.amax(np.abs(archive),axis=0)+float_info.epsilon)
+ 
+ 						#disp test result
+-						if (numpy.any(error_diff>tolerance) or numpy.isnan(error_diff)):
++						if (np.any(error_diff>tolerance) or np.isnan(error_diff)):
+ 							print 'ERROR   difference: %-7.2g > %7.2g test id: %i test name: %s field: %s' % \
+ 								(error_diff,tolerance,id,id_string,fieldname)
+ 						else:
+@@ -197,9 +196,9 @@
+ 					except Exception as message:
+ 
+ 						#something went wrong, print failure message:
+-						print traceback.format_exc()
++						print format_exc()
+ 						directory=os.getcwd().split('/')    #  not used?
+-						if   strcmpi(output,'nightly'):
++						if output=='nightly':
+ 							fid=open(os.path.join(ISSM_DIR,'nightlylog','pythonerror.log'), 'a')
+ 							fid.write('%s' % message)
+ 							fid.write('\n------------------------------------------------------------------\n')
+@@ -213,9 +212,9 @@
+ 		except Exception as message:
+ 
+ 			#something went wrong, print failure message:
+-			print traceback.format_exc()
++			print format_exc()
+ 			directory=os.getcwd().split('/')    #  not used?
+-			if   strcmpi(output,'nightly'):
++			if output=='nightly':
+ 				fid=open(os.path.join(ISSM_DIR,'nightlylog','pythonerror.log'), 'a')
+ 				fid.write('%s' % message)
+ 				fid.write('\n------------------------------------------------------------------\n')
+@@ -253,8 +252,7 @@
+ 
+ 	md = runme(args.id, args.exclude, args.benchmark, args.procedure, args.output, args.rank, args.numprocs)
+ 
+-	from MatlabFuncs import strcmpi
+-	if strcmpi(args.output,'nightly'):
++	if args.output=='nightly':
+ 		print "PYTHONEXITEDCORRECTLY"
+ 
+ 	exit(md)
+Index: ../trunk-jpl/test/NightlyRun/test102.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test102.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test102.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressSSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test801.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test801.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test801.py	(revision 21408)
+@@ -1,18 +1,18 @@
+ #Test Name: ValleyGlacierLevelsetSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/ValleyGlacierShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #Transient
+ md.transient.isstressbalance=True
+@@ -26,32 +26,30 @@
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3']
+-field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,\
+-		1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,\
+-		1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3']
++field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,
++									1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,
++									1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset]
+Index: ../trunk-jpl/test/NightlyRun/test613.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test613.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test613.py	(revision 21408)
+@@ -1,15 +1,16 @@
+ #Test Name: 79NorthCMBalThicVxVy
+-import numpy
++import numpy as np
+ import copy
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from meshconvert import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/79North.exp',10000.)
+ md=meshconvert(md)
+ md=setmask(md,'../Exp/79NorthShelf.exp','')
+@@ -18,7 +19,7 @@
+ 
+ #Ice sheet only
+ md=md.extract(md.mask.groundedice_levelset>0.)
+-pos=numpy.nonzero(md.mesh.vertexonboundary)
++pos=np.nonzero(md.mesh.vertexonboundary)
+ md.balancethickness.spcthickness[pos]=md.geometry.thickness[pos]
+ 
+ #control parameters
+@@ -27,26 +28,24 @@
+ md.inversion.nsteps=2
+ md.inversion.control_parameters=['Vx','Vy']
+ md.balancethickness.stabilization=1
+-md.inversion.gradient_scaling=numpy.hstack((10./md.constants.yts*numpy.ones((md.inversion.nsteps,1)),10./md.constants.yts*numpy.ones((md.inversion.nsteps,1))))
+-md.inversion.min_parameters=numpy.hstack((-2000.*numpy.ones((md.mesh.numberofvertices,1)),-2000.*numpy.ones((md.mesh.numberofvertices,1))))
+-md.inversion.max_parameters=numpy.hstack((+2000.*numpy.ones((md.mesh.numberofvertices,1)),+2000.*numpy.ones((md.mesh.numberofvertices,1))))
++md.inversion.gradient_scaling=np.vstack((10./md.constants.yts*np.ones((md.inversion.nsteps)),10./md.constants.yts*np.ones((md.inversion.nsteps)))).T
++md.inversion.min_parameters=np.vstack((-2000.*np.ones((md.mesh.numberofvertices)),-2000.*np.ones((md.mesh.numberofvertices)))).T
++md.inversion.max_parameters=np.vstack((+2000.*np.ones((md.mesh.numberofvertices)),+2000.*np.ones((md.mesh.numberofvertices)))).T
+ md.inversion.cost_functions=[201]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.maxiter_per_step=4*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.99*numpy.ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.maxiter_per_step=4*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
+ 
+ md.verbose.control=1
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Balancethickness')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Gradient1','Gradient2','Misfits','Vx','Vy','Thickness']
+ field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12]
+-field_values=[\
+-	md.results.BalancethicknessSolution.Gradient1,\
+-	md.results.BalancethicknessSolution.Gradient2,\
+-	md.results.BalancethicknessSolution.J,\
+-	md.results.BalancethicknessSolution.Vx,\
+-	md.results.BalancethicknessSolution.Vy,\
+-	md.results.BalancethicknessSolution.Thickness,\
+-]
++field_values=[md.results.BalancethicknessSolution.Gradient1,
++							md.results.BalancethicknessSolution.Gradient2,
++							md.results.BalancethicknessSolution.J,
++							md.results.BalancethicknessSolution.Vx,
++							md.results.BalancethicknessSolution.Vy,
++							md.results.BalancethicknessSolution.Thickness]
+Index: ../trunk-jpl/test/NightlyRun/test506.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test506.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test506.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigTranHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',30000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(2,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test425.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test425.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test425.py	(revision 21408)
+@@ -1,7 +1,6 @@
+ #Test Name: SquareSheetShelfGroundingLine2dSoft
+-import numpy
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,8 +13,8 @@
+ md=setflowequation(md,'SSA','all')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+-md.geometry.bed =-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
++md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.
++md.geometry.bed =-700.-abs(md.mesh.y-500000.)/1000.
+ md.geometry.thickness[:]=1300.
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ md.smb.mass_balance[:]=-150.
+@@ -23,27 +22,25 @@
+ md.transient.isgroundingline=True
+ md.groundingline.migration='SoftMigration'
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Bed1','Surface1','Thickness1','Floatingice1',\
+-	'Bed2','Surface2','Thickness2','Floatingice2',\
+-	'Bed3','Surface3','Thickness3','Floatingice3']
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13,\
+-	1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].MaskGroundediceLevelset,\
+-	]
++field_names     =['Bed1','Surface1','Thickness1','Floatingice1',
++									'Bed2','Surface2','Thickness2','Floatingice2',
++									'Bed3','Surface3','Thickness3','Floatingice3']
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13,
++									1e-13,1e-13,1e-13,1e-13]
++field_values=[md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].MaskGroundediceLevelset,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].MaskGroundediceLevelset,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].MaskGroundediceLevelset]
+Index: ../trunk-jpl/test/NightlyRun/test318.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test318.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test318.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareSheetConstrainedSteaSIA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(4,1.)
+ md=setflowequation(md,'SIA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.timestepping.time_step=0
+ md=solve(md,'Steadystate')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test237.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test237.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test237.py	(revision 21408)
+@@ -1,12 +1,13 @@
+ #Test Name: SquareShelfTranIspddIsdeltaSSA3d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',600000)    #180000
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ 
+ # Use of ispdd and isdelta18o methods
+-md.smb = SMBpdd();
++md.smb = SMBpdd()
+ md.smb.isdelta18o=0
+ md.smb.ismungsm=1
+ 
+@@ -25,9 +26,9 @@
+ 
+ # creating Present day and lgm temperatures
+ # Same temperature over the all region:
+-tmonth=numpy.ones(12)*(238.15+20.)
+-md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+-md.smb.temperatures_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))
++tmonth=np.ones(12)*(238.15+20.)
++md.smb.temperatures_presentday=np.zeros((md.mesh.numberofvertices+1,12))
++md.smb.temperatures_lgm=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+     md.smb.temperatures_lgm[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]-20.
+@@ -36,17 +37,17 @@
+     md.smb.temperatures_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ # creating initialization and spc temperatures initialization and spc
+-md.thermal.spctemperature=numpy.mean(md.smb.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)    #-10*ones(md.mesh.numberofvertices,1)
+-md.thermal.spctemperature=numpy.tile(md.thermal.spctemperature,(1,md.timestepping.final_time/md.timestepping.time_step))
+-itemp=numpy.arange(0,md.timestepping.final_time,md.timestepping.time_step)
+-md.thermal.spctemperature=numpy.vstack((md.thermal.spctemperature,itemp.reshape(1,-1)))
++md.thermal.spctemperature=np.mean(md.smb.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)    #-10*ones(md.mesh.numberofvertices,1)
++md.thermal.spctemperature=np.tile(md.thermal.spctemperature,(1,md.timestepping.final_time/md.timestepping.time_step))
++itemp=np.arange(0,md.timestepping.final_time,md.timestepping.time_step)
++md.thermal.spctemperature=np.vstack((md.thermal.spctemperature,itemp.reshape(1,-1)))
+ 
+ md.initialization.temperature=md.smb.temperatures_lgm[0:md.mesh.numberofvertices,0].reshape(-1,1)   #*ones(md.mesh.numberofvertices,1)
+ md.smb.initialize(md)
+ 
+ # creating precipitation
+-md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+-md.smb.precipitations_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_presentday=np.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_lgm=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+     md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+@@ -54,9 +55,9 @@
+     md.smb.precipitations_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ fsize=int(md.timestepping.final_time/md.timestepping.time_step)+2
+-md.smb.Pfac=numpy.zeros((2,fsize))
+-md.smb.Tdiff=numpy.zeros((2,fsize))
+-md.smb.sealev=numpy.zeros((2,fsize))
++md.smb.Pfac=np.zeros((2,fsize))
++md.smb.Tdiff=np.zeros((2,fsize))
++md.smb.sealev=np.zeros((2,fsize))
+ for iint in xrange(0,fsize):
+     # Interpolation factors
+ 	 md.smb.Pfac[0,iint]=0.15*(iint+1)
+@@ -71,16 +72,16 @@
+ md.transient.requested_outputs=['default','SmbMonthlytemperatures']
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','SmbMonthlytemperatures1','SmbMassBalance1',\
+ 		'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','SmbMonthlytemperatures2','SmbMassBalance2',\
+-		'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','SmbMonthlytemperatures3','SmbMassBalance3'];
++		'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','SmbMonthlytemperatures3','SmbMassBalance3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-8,1e-13,1e-8,1e-13,1e-13,\
+ 		1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-8,7e-13,1e-7,1e-13,1e-13,\
+-		1e-13,1e-13,1e-08,1e-13,1e-13,1e-8,1e-8,1e-8,7e-13,5e-7,1e-13,1e-13];
++		1e-13,1e-13,1e-08,1e-13,1e-13,1e-8,1e-8,1e-8,7e-13,5e-7,1e-13,1e-13]
+ field_values=[\
+ 	md.results.TransientSolution[0].Vx,\
+ 	md.results.TransientSolution[0].Vy,\
+Index: ../trunk-jpl/test/NightlyRun/test3020.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3020.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3020.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfConstrainedTranAdolcReverseVsForward
+-import numpy
++import numpy as np
+ import copy
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -10,8 +11,8 @@
+ from dependent import *
+ from SetIceShelfBC import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ #This test runs test3020 with autodiff on, and checks that 
+ #the value of the scalar forward difference match a step-wise differential
+ 
+@@ -20,7 +21,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.transient.requested_outputs=['IceVolume','MaxVel']
+ md.verbose=verbose('autodiff',True)
+ md.stressbalance.restol=0.000001
+Index: ../trunk-jpl/test/NightlyRun/test3101.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3101.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3101.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedStressSSA2dAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.stressbalance.requested_outputs=['default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy']
+ 
+ md.autodiff.isautodiff=True
+Index: ../trunk-jpl/test/NightlyRun/test1105.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1105.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1105.py	(revision 21408)
+@@ -1,14 +1,13 @@
+ #Test Name: ISMIPCHO
+-import numpy
++import numpy as np
+ import shutil
+ from model import *
++from socket import gethostname
+ from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+@@ -17,7 +16,7 @@
+ 
+ printingflag=False
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ minvx=[]
+ maxvx=[]
+@@ -34,20 +33,20 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-	md.stressbalance.spcvx=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
+-	md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
+ 
+-	posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,md.mesh.y!=0.,md.mesh.y!=L))[0]
+-	posx2=numpy.nonzero(logical_and_n(md.mesh.x==L,md.mesh.y!=0.,md.mesh.y!=L))[0]
++	posx=np.where(np.logical_and.reduce((md.mesh.x==0.,md.mesh.y!=0.,md.mesh.y!=L)))[0]
++	posx2=np.where(np.logical_and.reduce((md.mesh.x==L,md.mesh.y!=0.,md.mesh.y!=L)))[0]
+ 
+-	posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=L))[0]    #Don't take the same nodes two times
+-	posy2=numpy.nonzero(logical_and_n(md.mesh.y==L,md.mesh.x!=0.,md.mesh.x!=L))[0]
++	posy=np.where(np.logical_and.reduce((md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=L)))[0]    #Don't take the same nodes two times
++	posy2=np.where(np.logical_and.reduce((md.mesh.y==L,md.mesh.x!=0.,md.mesh.x!=L)))[0]
+ 
+-	md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1))))
++	md.stressbalance.vertex_pairing=np.vstack((np.vstack((posx+1,posx2+1)).T,np.vstack((posy+1,posy2+1)).T))
+ 
+ 	#Add spc on the corners
+-	pos=numpy.nonzero(logical_and_n(numpy.logical_or(md.mesh.x==0.,md.mesh.x==L),numpy.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonbase))
++	pos=np.where(np.logical_and.reduce((np.logical_or(md.mesh.x==0.,md.mesh.x==L),np.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonbase)))
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 	if   (L==5000.):
+@@ -70,11 +69,11 @@
+ 		md.stressbalance.spcvy[pos]=-1.27
+ 	
+ 	#Spc the bed at zero for vz
+-	pos=numpy.nonzero(md.mesh.vertexonbase)
++	pos=np.where(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvz[pos]=0.
+ 
+ 	#Compute the stressbalance
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 
+ 	#Plot the results and save them
+@@ -82,27 +81,27 @@
+ 	vy=md.results.StressbalanceSolution.Vy
+ 	vz=md.results.StressbalanceSolution.Vz
+ 	results.append(md.results.StressbalanceSolution)
+-	minvx.append(numpy.min(vx[-md.mesh.numberofvertices2d:]))
+-	maxvx.append(numpy.max(vx[-md.mesh.numberofvertices2d:]))
++	minvx.append(np.min(vx[-md.mesh.numberofvertices2d:]))
++	maxvx.append(np.max(vx[-md.mesh.numberofvertices2d:]))
+ 
+ 	#Now plot vx, vy, vz and vx on a cross section
+ #	plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipcHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipcHOvx' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipcHOvx%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestC')
+ #	plotmodel(md,'data',vy,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipcHOvy' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipcHOvy' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipcHOvy%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestC')
+ #	plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',4)
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipcHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipcHOvz' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipcHOvz%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestC')
+ 
+ 	if   (L==5000.):
+@@ -132,44 +131,26 @@
+ 	if printingflag:
+ 		pass
+ #		set(gcf,'Color','w')
+-#		printmodel(['ismipcHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#		printmodel(['ismipcHOvxsec' num2str(L)],'png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #		shutil.move("ismipcHOvxsec%d.png" % L,ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestC')
+ 
+ #Now plot the min and max values of vx for each size of the square
+-#plot([5 10 20 40 80 160],minvx);ylim([4 18]);xlim([0 160])
++#plot([5 10 20 40 80 160],minvx)ylim([4 18])xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipcHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipcHOminvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipcHOminvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestC')
+-#plot([5 10 20 40 80 160],maxvx);ylim([0 200]); xlim([0 160])
++#plot([5 10 20 40 80 160],maxvx)ylim([0 200]) xlim([0 160])
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('ismipcHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off');
++#	printmodel('ismipcHOmaxvx','png','margin','on','marginsize',25,'frame','off','resolution',1.5,'hardcopy','off')
+ #	shutil.move('ismipcHOmaxvx.png',ISSM_DIR+'/website/doc_pdf/validation/Images/ISMIP/TestC')
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-08,1e-07,1e-07,\
+-	1e-09,1e-07,1e-07,\
+-	1e-09,1e-09,1e-07,\
+-	1e-09,1e-09,1e-08,\
+-	1e-09,1e-08,1e-08,\
+-	1e-09,1e-08,1e-08,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-09,1e-08,1e-08]
+ field_values=[]
+ for result in results:
+-	field_values=field_values+[\
+-		result.Vx,\
+-		result.Vy,\
+-		result.Vz,\
+-		]
++	field_values=field_values+[result.Vx,result.Vy,result.Vz]
+Index: ../trunk-jpl/test/NightlyRun/test111.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test111.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test111.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedTranHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['IceVolume']
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test434.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test434.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test434.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfL1L2
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(4,1.)
+ md=setflowequation(md,'L1L2','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test272.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test272.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test272.py	(revision 21408)
+@@ -1,12 +1,13 @@
+ #Test Name: SquareShelfCMDSSA2dDamage
+-import numpy
+-from model import model
++import numpy as np
++from model import *
++ from socket import gethostnamemodel
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+ from setflowequation import setflowequation
+ from solve import solve
+-from socket import gethostname as oshostname
++from socket import gethostname
+ from matdamageice import matdamageice
+ from generic import generic
+ 
+@@ -15,25 +16,25 @@
+ md.materials=matdamageice()
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.damage.isdamage=1
+-md.damage.D=0.5*numpy.ones(md.mesh.numberofvertices)
+-md.damage.spcdamage=numpy.nan*numpy.ones(md.mesh.numberofvertices)
++md.damage.D=0.5*np.ones(md.mesh.numberofvertices)
++md.damage.spcdamage=np.nan*np.ones(md.mesh.numberofvertices)
+ md=setflowequation(md,'SSA','all')
+ 
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['DamageDbar']
+-md.inversion.min_parameters=10**-13*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=10**-13*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.gradient_scaling=0.9*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.step_threshold=0.99*numpy.ones((md.inversion.nsteps,1))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=0.9*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx 
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test515.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test515.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test515.py	(revision 21408)
+@@ -1,19 +1,20 @@
+ #Test Name: PigTherTranSUPG
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',30000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+ md.thermal.stabilization=2
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.isstressbalance=False
+ md.transient.ismasstransport=False
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test408.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test408.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test408.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareSheetShelfTranSSA3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.transient.isthermal=False
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb','TotalSmb']
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test327.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test327.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test327.py	(revision 21408)
+@@ -1,23 +1,24 @@
+ #Test Name: SquareSheetConstrainedTransHOEnth
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.cluster=generic('name',gethostname(),'np',3)
++md.initialization.waterfraction=np.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=np.zeros((md.mesh.numberofvertices))
+ md.initialization.temperature[:]=272.
+-md.thermal.spctemperature[numpy.nonzero(md.mesh.vertexonsurface)[0]]=272.
++md.thermal.spctemperature[np.nonzero(md.mesh.vertexonsurface)[0]]=272.
+ md.thermal.isenthalpy=1
+ md.thermal.isdynamicbasalspc=1
+ md.basalforcings.geothermalflux[:]=5.
+Index: ../trunk-jpl/test/NightlyRun/test3110.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3110.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3110.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedTranSSA2dAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.transient.requested_outputs=['IceVolume']
+ 
+Index: ../trunk-jpl/test/NightlyRun/test3003.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3003.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3003.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressHOAdolc
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',1)
++md.cluster=generic('name',gethostname(),'np',1)
+ md.stressbalance.requested_outputs=['default','StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz']
+ md.autodiff.isautodiff=True
+ md=solve(md,'Stressbalance')
+Index: ../trunk-jpl/test/NightlyRun/test1302.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1302.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1302.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: ThermalAdvection
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ This file can be run to check that the advection-diffusion  is correctly modeled.
+ There is u=v=0 and w=cst everywhere the only thermal boundary conditions are an imposed temperature
+@@ -25,30 +26,30 @@
+ md=setflowequation(md,'HO','all')
+ 
+ #Thermal boundary conditions
+-pos1=numpy.nonzero(md.mesh.elementonbase)[0]
++pos1=np.where(np.isnan(md.mesh.lowerelements))[0]
+ md.thermal.spctemperature[md.mesh.elements[pos1,0:3]-1]=10.
+-pos2=numpy.nonzero(md.mesh.elementonsurface)[0]
++pos2=np.where(np.isnan(md.mesh.upperelements))[0]
+ md.thermal.spctemperature[md.mesh.elements[pos2,3:6]-1]=0.
+-md.initialization.vz=0.1*numpy.ones((md.mesh.numberofvertices,1))
+-md.initialization.vel=numpy.sqrt( md.initialization.vx**2+ md.initialization.vy**2+ md.initialization.vz**2)
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1),int)
++md.initialization.vz=0.1*np.ones((md.mesh.numberofvertices))
++md.initialization.vel=np.sqrt(md.initialization.vx**2+ md.initialization.vy**2+ md.initialization.vz**2)
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices),int)
+ 
+ md.thermal.stabilization=2
+ #analytical results
+ #d2T/dz2-w*rho_ice*c/k*dT/dz=0   T(surface)=0  T(bed)=10   => T=A exp(alpha z)+B
+ alpha=0.1/md.constants.yts*md.materials.rho_ice*md.materials.heatcapacity/md.materials.thermalconductivity    #alpha=w rho_ice c /k  and w=0.1m/an
+-A=10./(numpy.exp(alpha*(-1000.))-1.)    #A=T(bed)/(exp(alpha*bed)-1)  with bed=-1000 T(bed)=10
++A=10./(np.exp(alpha*(-1000.))-1.)    #A=T(bed)/(exp(alpha*bed)-1)  with bed=-1000 T(bed)=10
+ B=-A
+-md.initialization.temperature=A*numpy.exp(alpha*md.mesh.z)+B
++md.initialization.temperature=A*np.exp(alpha*md.mesh.z)+B
+ 
+ #modeled results
+-md.cluster=generic('name',oshostname(),'np',2)
++md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Thermal')
+ 
+ #plot results
+ comp_temp=md.results.ThermalSolution.Temperature
+-relative=numpy.abs((comp_temp-md.initialization.temperature)/md.initialization.temperature)*100.
+-relative[numpy.nonzero(comp_temp==md.initialization.temperature)[0]]=0.
++relative=np.abs((comp_temp-md.initialization.temperature)/md.initialization.temperature)*100.
++relative[np.nonzero(comp_temp==md.initialization.temperature)[0]]=0.
+ #plotmodel(md,'data',comp_temp,'title','Modeled temperature [K]','data',md.initialization.temperature,'view',3,...
+ #	'title','Analytical temperature [K]','view',3,'data',comp_temp-md.initialization.temperature,...
+ #	'title','Absolute error [K]','view',3,'data',relative,'title','Relative error [%]','view',3,...
+@@ -56,8 +57,8 @@
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('thermaladvection','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off');
+-#	system(['mv thermaladvection.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT ']);
++#	printmodel('thermaladvection','png','margin','on','marginsize',25,'frame','off','resolution',0.7,'hardcopy','off')
++#	system(['mv thermaladvection.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['AdvectionTemperature']
+Index: ../trunk-jpl/test/NightlyRun/test120.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test120.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test120.py	(revision 21408)
+@@ -1,32 +1,31 @@
+ #Test Name: SquareShelfConstrainedEnthalpyStea
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+ md.timestepping.time_step=0
+-md.initialization.waterfraction=numpy.zeros(md.mesh.numberofvertices)
+-md.initialization.watercolumn=numpy.zeros(md.mesh.numberofvertices)
+-md.thermal.isenthalpy = 1;
+-md.thermal.isdynamicbasalspc = 1;
++md.initialization.waterfraction=np.zeros(md.mesh.numberofvertices)
++md.initialization.watercolumn=np.zeros(md.mesh.numberofvertices)
++md.thermal.isenthalpy = 1
++md.thermal.isdynamicbasalspc = 1
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Thermal')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Enthalpy','Waterfraction','Temperature']
+ field_tolerances=[1e-13,2e-10,1e-13]
+-field_values=[\
+-	md.results.ThermalSolution.Enthalpy,\
+-	md.results.ThermalSolution.Waterfraction,\
+-	md.results.ThermalSolution.Temperature,\
+-	]
++field_values=[md.results.ThermalSolution.Enthalpy,
++							md.results.ThermalSolution.Waterfraction,
++							md.results.ThermalSolution.Temperature]
+Index: ../trunk-jpl/test/NightlyRun/test201.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test201.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test201.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfStressSSA2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from ContourToMesh import *
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test605.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test605.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test605.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: 79NorthSurfSlop3d
+-import numpy
++import numpy as np
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
++
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,7 +14,7 @@
+ md=parameterize(md,'../Par/79North.py')
+ md.extrude(5,1.5)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'SurfaceSlope')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test336.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test336.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test336.py	(revision 21408)
+@@ -1,75 +1,74 @@
+ #Test Name: SquareSheetConstrainedSmbComponents2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*-1.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*-1.)).T
+ 
+-md.smb=SMBcomponents();
+-md.smb.accumulation=numpy.vstack((smb*2, [1.5,3.]));
+-md.smb.runoff=numpy.vstack((smb/2, [1.5,3.]));
+-md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.]));
++md.smb=SMBcomponents()
++md.smb.accumulation=np.vstack((smb*2, [1.5,3.]))
++md.smb.runoff=np.vstack((smb/2, [1.5,3.]))
++md.smb.evaporation=np.vstack((smb/2, [1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test229.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test229.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test229.py	(revision 21408)
+@@ -1,72 +1,71 @@
+ #Test Name: SquareShelfTranForcePos2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md.timestepping.time_step=1.
+ md.settings.output_frequency=1
+ md.timestepping.final_time=4.
+ 
+ #Set up transient
+-smb=numpy.ones((md.mesh.numberofvertices,1))*3.6
+-smb=numpy.hstack((smb,smb*2.))
++smb=np.ones((md.mesh.numberofvertices))*3.6
++smb=np.vstack((smb,smb*2.)).T
+ 
+-md.smb.mass_balance=numpy.vstack((smb,[1.5,3.]))
++md.smb.mass_balance=np.vstack((smb,[1.5,3.]))
+ md.transient.isthermal=False
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \
+-	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \
+-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \
+-	'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
+-field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+-	1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].SmbMassBalance,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].SmbMassBalance,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].SmbMassBalance,\
+-	md.results.TransientSolution[3].Vx,\
+-	md.results.TransientSolution[3].Vy,\
+-	md.results.TransientSolution[3].Vel,\
+-	md.results.TransientSolution[3].Pressure,\
+-	md.results.TransientSolution[3].Base,\
+-	md.results.TransientSolution[3].Surface,\
+-	md.results.TransientSolution[3].Thickness,\
+-	md.results.TransientSolution[3].SmbMassBalance,\
+-	]
++field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1',
++						 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2',
++						 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3',
++						 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4']
++field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,
++									1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].SmbMassBalance,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].SmbMassBalance,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].SmbMassBalance,
++							md.results.TransientSolution[3].Vx,
++							md.results.TransientSolution[3].Vy,
++							md.results.TransientSolution[3].Vel,
++							md.results.TransientSolution[3].Pressure,
++							md.results.TransientSolution[3].Base,
++							md.results.TransientSolution[3].Surface,
++							md.results.TransientSolution[3].Thickness,
++							md.results.TransientSolution[3].SmbMassBalance]
+Index: ../trunk-jpl/test/NightlyRun/test1204.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1204.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1204.py	(revision 21408)
+@@ -1,14 +1,15 @@
+ #Test Name: EISMINTTran2
+-import numpy
++import numpy as np
+ import sys
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ """
+ Test on the stressbalance model and the masstransport in 2d
+ """
+@@ -23,11 +24,13 @@
+ md=setflowequation(md,'SSA','all')    #SSA's model and 2d
+ 
+ #Impose a non zero velocity on the upper boundary condition (y=max(y))
+-pos=numpy.nonzero(md.mesh.y==max(md.mesh.y))
+-md.stressbalance.spcvy[pos]=400.*(((md.mesh.x[pos].reshape(-1,1)-100000.)/25000.)**2-numpy.ones((numpy.size(pos),1)))*heaviside((1.+sys.float_info.epsilon)*numpy.ones((numpy.size(pos),1))-((md.mesh.x[pos].reshape(-1,1)-100000.)/25000.)**2)
++pos=np.where(md.mesh.y==np.max(md.mesh.y))
++heavyside=np.where(np.logical_and(md.mesh.y==np.max(md.mesh.y),((1.+sys.float_info.epsilon)*np.ones((np.size(md.mesh.y)))-((md.mesh.x-100000.)/25000.)**2)>0))
++md.stressbalance.spcvy[pos]=np.zeros((np.size(pos)))
++md.stressbalance.spcvy[heavyside]=400.*(((md.mesh.x[heavyside]-100000.)/25000.)**2-np.ones((np.size(heavyside))))
+ 
+ #Compute solution for SSA's model 
+-md.cluster=generic('name',oshostname(),'np',8)
++md.cluster=generic('name',gethostname(),'np',8)
+ md=solve(md,'Stressbalance')
+ 
+ #plot results
+@@ -43,28 +46,26 @@
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eisminttrans2vx','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eisminttrans2vx.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eisminttrans2vx','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eisminttrans2vx.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ 
+ #plotmodel(md,'data',(md.results.TransientSolution(end).Vy))
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eisminttrans2vy','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eisminttrans2vy.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eisminttrans2vy','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eisminttrans2vy.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ 
+ #plotmodel(md,'data',(md.results.TransientSolution(end).Thickness))
+ if printingflag:
+ 	pass
+ #	set(gcf,'Color','w')
+-#	printmodel('eisminttrans2thickness','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off');
+-#	system(['mv eisminttrans2thickness.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf ']);
++#	printmodel('eisminttrans2thickness','png','margin','on','marginsize',25,'frame','off','resolution',2,'hardcopy','off')
++#	system(['mv eisminttrans2thickness.png ' ISSM_DIR '/website/doc_pdf/validation/Images/EISMINT/IceShelf '])
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Thickness']
+ field_tolerances=[1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.TransientSolution[-1].Vx, \
+-	md.results.TransientSolution[-1].Vy, \
+-	md.results.TransientSolution[-1].Thickness, \
+-	]
++field_values=[md.results.TransientSolution[-1].Vx,
++							md.results.TransientSolution[-1].Vy,
++							md.results.TransientSolution[-1].Thickness]
+Index: ../trunk-jpl/test/NightlyRun/test210.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test210.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test210.py	(revision 21408)
+@@ -1,7 +1,8 @@
+ #Test Name: SquareShelfTranHO
+-from MatlabFuncs import *
++
+ from model import *
+-from numpy import *
++from socket import gethostname
++import numpy as np
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -14,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ 
+Index: ../trunk-jpl/test/NightlyRun/test103.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test103.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test103.py	(revision 21408)
+@@ -1,36 +1,39 @@
+ #Test Name: SquareShelfConstrainedStressHO
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'HO','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.stressbalance.requested_outputs=['default','StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz']
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx','Vy','Vz','Vel','Pressure',\
+-	'StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz']
+-field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-09,\
+-	1e-09,1e-09,1e-09,1e-09,1e-09,1e-08]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vz,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	md.results.StressbalanceSolution.StressTensorxx,\
+-	md.results.StressbalanceSolution.StressTensoryy,\
+-	md.results.StressbalanceSolution.StressTensorzz,\
+-	md.results.StressbalanceSolution.StressTensorxy,\
+-	md.results.StressbalanceSolution.StressTensorxz,\
+-	md.results.StressbalanceSolution.StressTensoryz,\
+-	]
++field_names     =['Vx','Vy','Vz',
++									'Vel','Pressure',
++									'StressTensorxx','StressTensoryy','StressTensorzz',
++									'StressTensorxy','StressTensorxz','StressTensoryz']
++field_tolerances=[1e-09,1e-09,1e-09,
++									1e-09,1e-09,
++									1e-09,1e-09,1e-09,
++									1e-09,1e-09,1e-08]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vz,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.StressTensorxx,
++							md.results.StressbalanceSolution.StressTensoryy,
++							md.results.StressbalanceSolution.StressTensorzz,
++							md.results.StressbalanceSolution.StressTensorxy,
++							md.results.StressbalanceSolution.StressTensorxz,
++							md.results.StressbalanceSolution.StressTensoryz,]
+Index: ../trunk-jpl/test/NightlyRun/test802.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test802.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test802.py	(revision 21408)
+@@ -1,22 +1,22 @@
+ #Test Name: ValleyGlacierLevelsetThermalSSA3d
+ from model import *
++from socket import gethostname
+ from triangle import *
+-from squaremesh import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',50000)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/ValleyGlacierShelf.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #Thermal model
+-pos_surf=numpy.nonzero(md.mesh.vertexonsurface)[0]
++pos_surf=np.nonzero(md.mesh.vertexonsurface)[0]
+ md.thermal.spctemperature[pos_surf]=md.initialization.temperature[pos_surf]
+ 
+ #Transient
+@@ -31,35 +31,33 @@
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Temperature1',\
+-		'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Temperature2',\
+-		'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Temperature3']
+-field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,\
+-		1e-9,1e-9,1e-10,1e-10,1e-10,1e-10,1e-10,1e-9,\
+-		1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].MaskIceLevelset,\
+-	md.results.TransientSolution[0].Temperature,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].MaskIceLevelset,\
+-	md.results.TransientSolution[1].Temperature,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].MaskIceLevelset,\
+-	md.results.TransientSolution[2].Temperature,\
+-	]
++field_names     =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Temperature1',
++									'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Temperature2',
++									'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Temperature3']
++field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,
++									1e-9,1e-9,1e-10,1e-10,1e-10,1e-10,1e-10,1e-9,
++									1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].MaskIceLevelset,
++							md.results.TransientSolution[0].Temperature,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].MaskIceLevelset,
++							md.results.TransientSolution[1].Temperature,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].MaskIceLevelset,
++							md.results.TransientSolution[2].Temperature]
+Index: ../trunk-jpl/test/NightlyRun/test290.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test290.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test290.py	(revision 21408)
+@@ -1,24 +1,25 @@
+ #Test Name: SquareShelfStressFSP2P1
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
++
+ from ContourToMesh import *
+ 
+-md=triangle(model(),'../Exp/Square.exp',150000.);
+-md=setmask(md,'all','');
+-md=parameterize(md,'../Par/SquareShelf.py');
++md=triangle(model(),'../Exp/Square.exp',150000.)
++md=setmask(md,'all','')
++md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,2.)
+-md=setflowequation(md,'FS','all');
+-md.flowequation.fe_FS='TaylorHood';
+-md.cluster=generic('name',oshostname(),'np',3);
+-md=solve(md,'Stressbalance');
++md=setflowequation(md,'FS','all')
++md.flowequation.fe_FS='TaylorHood'
++md.cluster=generic('name',gethostname(),'np',3)
++md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Vx', 'Vy', 'Vz', 'Vel','Pressure'];
++field_names     =['Vx', 'Vy', 'Vz', 'Vel','Pressure']
+ field_tolerances=[5e-5,5e-5,8e-5,5e-5,1e-7]
+ field_values=[\
+ 	md.results.StressbalanceSolution.Vx,\
+@@ -26,4 +27,4 @@
+ 	md.results.StressbalanceSolution.Vz,\
+ 	md.results.StressbalanceSolution.Vel,\
+ 	md.results.StressbalanceSolution.Pressure,\
+-	];
++	]
+Index: ../trunk-jpl/test/NightlyRun/test426.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test426.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test426.py	(revision 21408)
+@@ -1,7 +1,6 @@
+ #Test Name: SquareSheetShelfGroundingLine3dAggressive
+-import numpy
+ from model import *
+-from MatlabFuncs import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+@@ -13,47 +12,45 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+-md.geometry.bed =-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
++md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.
++md.geometry.bed =-700.-abs(md.mesh.y-500000.)/1000.
+ md.geometry.thickness[:]=1000.
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ md.smb.mass_balance[:]=100.
+-md.extrude(3,1.);
+-md=setflowequation(md,'SSA','all');
++md.extrude(3,1.)
++md=setflowequation(md,'SSA','all')
+ md.transient.isstressbalance=False
+ md.transient.isgroundingline=True
+ md.groundingline.migration='AggressiveMigration'
+ md.transient.requested_outputs=['IceVolume','IceVolumeAboveFloatation']
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ 
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['Bed1','Surface1','Thickness1','Floatingice1','IceVolume1','IceVolumeAboveFloatation1',\
+-	'Bed2','Surface2','Thickness2','Floatingice2','IceVolume2','IceVolumeAboveFloatation2',\
+-	'Bed3','Surface3','Thickness3','Floatingice3','IceVolume3','IceVolumeAboveFloatation3',]
++field_names     =['Bed1','Surface1','Thickness1','Floatingice1','IceVolume1','IceVolumeAboveFloatation1',
++									'Bed2','Surface2','Thickness2','Floatingice2','IceVolume2','IceVolumeAboveFloatation2',
++									'Bed3','Surface3','Thickness3','Floatingice3','IceVolume3','IceVolumeAboveFloatation3',]
+ 
+-field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-	1e-11,1e-10,1e-11,3e-11,2e-12,5e-12,\
+-	1e-10,1e-10,1e-10,5e-11,2e-12,5e-12]
++field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,
++									1e-11,1e-10,1e-11,3e-11,2e-12,5e-12,
++									1e-10,1e-10,1e-10,5e-11,2e-12,5e-12]
+ 
+-field_values=[\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[0].IceVolume,\
+-	md.results.TransientSolution[0].IceVolumeAboveFloatation,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[1].IceVolume,\
+-	md.results.TransientSolution[1].IceVolumeAboveFloatation,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].MaskGroundediceLevelset,\
+-	md.results.TransientSolution[2].IceVolume,\
+-	md.results.TransientSolution[2].IceVolumeAboveFloatation,\
+-	]
++field_values=[md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].MaskGroundediceLevelset,
++							md.results.TransientSolution[0].IceVolume,
++							md.results.TransientSolution[0].IceVolumeAboveFloatation,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].MaskGroundediceLevelset,
++							md.results.TransientSolution[1].IceVolume,
++							md.results.TransientSolution[1].IceVolumeAboveFloatation,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].MaskGroundediceLevelset,
++							md.results.TransientSolution[2].IceVolume,
++							md.results.TransientSolution[2].IceVolumeAboveFloatation]
+Index: ../trunk-jpl/test/NightlyRun/test507.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test507.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test507.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: PigTranFS
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Pig.exp',30000.)
+ md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp')
+ md=parameterize(md,'../Par/Pig.py')
+ md.extrude(2,1.)
+ md=setflowequation(md,'FS','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ # Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test238.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test238.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test238.py	(revision 21408)
+@@ -1,65 +1,66 @@
+ #Test Name: SquareShelfTranIspddIsdeltaO18pdSSA2d 
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ 
+ # Use of ispdd and isdelta18o methods
+-md.smb = SMBd18opdd();
+-md.smb.isd18opd=1;
++md.smb = SMBd18opdd()
++md.smb.isd18opd=1
+ 
+ # Add temperature, precipitation and delta18o needed to measure the surface mass balance
+ # creating delta18o
+-delta18o=numpy.loadtxt('../Data/delta18o.data')
++delta18o=np.loadtxt('../Data/delta18o.data')
+ md.smb.delta18o=delta18o
+ 
+ # creating Present day temperatures
+ # Same temperature over the all region:
+-tmonth=numpy.ones(12)*(238.15+20.)
+-md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
++tmonth=np.ones(12)*(238.15+20.)
++md.smb.temperatures_presentday=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+     # Time for the last line:
+     md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+ 
+ # creating initialization and spc temperatures initialization and spc
+-md.thermal.spctemperature=numpy.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
++md.thermal.spctemperature=np.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
+ md.thermal.spctemperature=md.thermal.spctemperature-10
+ md.initialization.temperature=md.thermal.spctemperature
+ md.smb.initialize(md)
+ 
+ # creating precipitation
+-md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
++md.smb.precipitations_presentday=np.zeros((md.mesh.numberofvertices+1,12))
+ for imonth in xrange(0,12):
+     md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+     md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.)
+ 
+ # time steps and resolution
+-md.timestepping.time_step=20;
+-md.settings.output_frequency=1;
+-md.timestepping.final_time=60;
++md.timestepping.time_step=20
++md.settings.output_frequency=1
++md.timestepping.final_time=60
+ 
+ # 
+ md.transient.requested_outputs=['default','SmbMonthlytemperatures']
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ #Fields and tolerances to track changes
+ field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\
+ 		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\
+-				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'];
++				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+ 		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+-			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13];
++			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+ field_values=[\
+ 	md.results.TransientSolution[0].Vx,\
+ 	md.results.TransientSolution[0].Vy,\
+Index: ../trunk-jpl/test/NightlyRun/test319.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test319.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test319.py	(revision 21408)
+@@ -1,13 +1,14 @@
+ #Test Name: SquareSheetConstrainedCMDragSSA2d
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',200000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+@@ -16,19 +17,19 @@
+ #control parameters
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['FrictionCoefficient']
+-md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+-md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[103,501]
+-md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
+ md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+-md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+-md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+-md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
++md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
++md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Stressbalance')
+ 
+ #Fields and tolerances to track changes
+Index: ../trunk-jpl/test/NightlyRun/test3102.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3102.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test3102.py	(revision 21408)
+@@ -1,18 +1,19 @@
+ #Test Name: SquareShelfConstrainedStressSSA3dAdolcMumps
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',180000.)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md.extrude(3,2.)
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md.autodiff.isautodiff=True
+ 
+ md=solve(md,'Stressbalance')
+Index: ../trunk-jpl/test/NightlyRun/test1106.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1106.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test1106.py	(revision 21408)
+@@ -1,31 +1,30 @@
+ #Test Name: ISMIPCFS
+-import numpy
++import numpy as np
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+-from PythonFuncs import *
+ 
+ """
+ This test is a test from the ISMP-HOM Intercomparison project.
+ Pattyn and Payne 2006
+ """
+ 
+-L_list=[5000.,10000.,20000.,40000.,80000.,160000.]
++L_list=[80000.]
+ results=[]
+ 
+ for L in L_list:
+ 	md=triangle(model(),"../Exp/Square_%d.exp" % L,L/10.)    #size 3*L 
+ 	md=setmask(md,'','')    #ice sheet test
+ 	md=parameterize(md,'../Par/ISMIPC.py')
+-	md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/L)*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/L)))
++	md.friction.coefficient=np.sqrt(md.constants.yts*(1000.+1000.*np.sin(md.mesh.x*2.*np.pi/L)*np.sin(md.mesh.y*2.*np.pi/L)))
+ 	md.extrude(10,1.)
+ 
+ 	#Add spc on the borders
+-	pos=numpy.nonzero(logical_or_n(md.mesh.x==0.,md.mesh.x==numpy.max(md.mesh.x),md.mesh.y==0.,md.mesh.y==numpy.max(md.mesh.y)))
++	pos=np.where(np.logical_or.reduce((md.mesh.x==0.,md.mesh.x==np.max(md.mesh.x),md.mesh.y==0.,md.mesh.y==np.max(md.mesh.y))))
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+ 	if   (L==5000.):
+@@ -50,7 +49,7 @@
+ 	md=setflowequation(md,'FS','all')
+ 
+ 	#Compute the stressbalance
+-	md.cluster=generic('name',oshostname(),'np',8)
++	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 
+ 	#Plot the results and save them
+@@ -62,26 +61,8 @@
+ #	plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.mesh.numberoflayers)
+ 
+ #Fields and tolerances to track changes
+-field_names     =[\
+-	'Vx5km','Vy5km','Vz5km',\
+-	'Vx10km','Vy10km','Vz10km',\
+-	'Vx20km','Vy20km','Vz20km',\
+-	'Vx40km','Vy40km','Vz40km',\
+-	'Vx80km','Vy80km','Vz80km',\
+-	'Vx160km','Vy160km','Vz160km'
+-]
+-field_tolerances=[\
+-	1e-12,1e-12,1e-11,\
+-	1e-12,1e-12,1e-12,\
+-	1e-12,1e-12,1e-12,\
+-	1e-12,1e-12,1e-12,\
+-	1e-12,1e-12,1e-12,\
+-	1e-12,1e-11,1e-12,\
+-]
++field_names     =['Vx80km','Vy80km','Vz80km']
++field_tolerances=[1e-12,1e-12,1e-12]
+ field_values=[]
+ for result in results:
+-	field_values=field_values+[\
+-		result.Vx,\
+-		result.Vy,\
+-		result.Vz,\
+-		]
++	field_values=field_values+[result.Vx,result.Vy,result.Vz]
+Index: ../trunk-jpl/test/NightlyRun/test112.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test112.py	(revision 21407)
++++ ../trunk-jpl/test/NightlyRun/test112.py	(revision 21408)
+@@ -1,17 +1,18 @@
+ #Test Name: SquareShelfConstrainedSurfSlop2d
+ from model import *
++from socket import gethostname
+ from triangle import *
+ from setmask import *
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
+-from MatlabFuncs import *
+ 
++
+ md=triangle(model(),'../Exp/Square.exp',150000)
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelfConstrained.py')
+ md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',oshostname(),'np',3)
++md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'SurfaceSlope')
+ 
+ #Fields and tolerances to track changes
Index: /issm/oecreview/Archive/21337-21723/ISSM-21408-21409.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21408-21409.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21408-21409.diff	(revision 21726)
@@ -0,0 +1,970 @@
+Index: ../trunk-jpl/test/Par/ValleyGlacierShelf.py
+===================================================================
+--- ../trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 21409)
+@@ -9,8 +9,8 @@
+ from SetIceShelfBC import SetIceShelfBC
+ 
+ #Start defining model parameters here
+-x=md.mesh.x.reshape(-1,1)
+-y=md.mesh.y.reshape(-1,1)
++x=md.mesh.x
++y=md.mesh.y
+ xmin, xmax = min(x), max(x)
+ ymin, ymax = min(y), max(y)
+ Lx=(xmax-xmin)
+@@ -32,38 +32,38 @@
+ 
+ #Mask
+ md.mask.ice_levelset=x - alpha*Lx
+-md.mask.groundedice_levelset= numpy.ones((md.mesh.numberofvertices,1))
++md.mask.groundedice_levelset= numpy.ones((md.mesh.numberofvertices))
+ 
+ #Initial velocity 
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.15-5.)*numpy.ones((md.mesh.numberofvertices,1))
+-md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.15-5.)*numpy.ones((md.mesh.numberofvertices))
++md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ #Thermal
+ md.thermal.isenthalpy=False
+-md.thermal.spctemperature=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
++md.thermal.spctemperature=float('nan')*numpy.ones((md.mesh.numberofvertices))
+ 
+ #Groundingline
+ md.groundingline.migration='SubelementMigration'
+ 
+ #Surface mass balance and basal melting
+-md.smb.mass_balance=0.3*numpy.ones((md.mesh.numberofvertices,1))
++md.smb.mass_balance=0.3*numpy.ones((md.mesh.numberofvertices))
+ md.basalforcings.groundedice_melting_rate=md.smb.mass_balance
+ md.basalforcings.floatingice_melting_rate=md.smb.mass_balance
+ 
+ #Friction
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ #Transient
+ md.transient.isstressbalance=True
+@@ -81,9 +81,9 @@
+ md.stressbalance.abstol=float('nan')
+ 
+ #Masstransport
+-md.calving.calvingrate=0.*numpy.ones((md.mesh.numberofvertices,1))
+-md.calving.meltingrate=0.*numpy.ones((md.mesh.numberofvertices,1))
+-md.levelset.spclevelset=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.calving.calvingrate=0.*numpy.ones((md.mesh.numberofvertices))
++md.calving.meltingrate=0.*numpy.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=float('NaN')*numpy.ones((md.mesh.numberofvertices))
+ md.masstransport.stabilization=1.
+ 
+ #Numerical parameters
+Index: ../trunk-jpl/test/Par/79North.py
+===================================================================
+--- ../trunk-jpl/test/Par/79North.py	(revision 21408)
++++ ../trunk-jpl/test/Par/79North.py	(revision 21409)
+@@ -25,22 +25,22 @@
+ md.geometry.base         = md.geometry.surface-md.geometry.thickness
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ md.initialization.temperature=md.initialization.temperature
+ 
+ #Friction
+-md.friction.coefficient=50.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=50.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ #Ice shelf melting and surface mass balance 
+-md.basalforcings.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
++md.basalforcings.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices))
+ md.basalforcings.floatingice_melting_rate[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
+-md.smb.mass_balance=15*numpy.ones((md.mesh.numberofvertices,1))
++md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices))
++md.smb.mass_balance=15*numpy.ones((md.mesh.numberofvertices))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.3
+Index: ../trunk-jpl/test/Par/SquareSheetShelf.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetShelf.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareSheetShelf.py	(revision 21409)
+@@ -16,7 +16,7 @@
+ ymax=max(md.mesh.y)
+ xmin=min(md.mesh.x)
+ xmax=max(md.mesh.x)
+-md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
++md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin)
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin))
+ pos=numpy.nonzero(md.mesh.y<=ymax/2.)
+@@ -32,24 +32,24 @@
+ 
+ [md.initialization.vx]  = InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
+ [md.initialization.vy]  = InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ #Accumulation and melting
+-md.smb.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
++md.smb.mass_balance=10.*numpy.ones((md.mesh.numberofvertices))
++md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices))
++md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices))
+ 
+ #Friction
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.0
+Index: ../trunk-jpl/test/Par/SquareShelf.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareShelf.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareShelf.py	(revision 21409)
+@@ -15,7 +15,7 @@
+ ymax=max(md.mesh.y)
+ xmin=min(md.mesh.x)
+ xmax=max(md.mesh.x)
+-md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
++md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin)
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+@@ -34,8 +34,8 @@
+ 
+ [md.initialization.vx]=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
+ [md.initialization.vy]=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #dbg - begin
+ #print '...vx:'
+@@ -50,15 +50,15 @@
+ 
+ 
+ #Materials
+-md.initialization.temperature = (273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature = (273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B = paterson(md.initialization.temperature)
+-md.materials.rheology_n = 3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n = 3.*numpy.ones((md.mesh.numberofelements))
+ 
+ #Friction
+-md.friction.coefficient = 20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient = 20.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p = numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q = numpy.ones((md.mesh.numberofelements,1))
++md.friction.p = numpy.ones((md.mesh.numberofelements))
++md.friction.q = numpy.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot = 0.3
+Index: ../trunk-jpl/test/Par/ISMIPA.py
+===================================================================
+--- ../trunk-jpl/test/Par/ISMIPA.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ISMIPA.py	(revision 21409)
+@@ -4,19 +4,19 @@
+ #Ok, start defining model parameters here
+ 
+ print "      creating thickness"
+-md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(0.5*numpy.pi/180.)
+-md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))
++md.geometry.surface=-md.mesh.x*numpy.tan(0.5*numpy.pi/180.)
++md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y*2.*numpy.pi/numpy.max(md.mesh.x))
+ md.geometry.thickness=md.geometry.surface-md.geometry.base
+ 
+ print "      creating drag"
+-md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      boundary conditions for stressbalance model"
+ #Create node on boundary first (because we cannot use mesh)
+Index: ../trunk-jpl/test/Par/SquareSheetConstrained.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21409)
+@@ -16,7 +16,7 @@
+ ymax=numpy.max(md.mesh.y)
+ xmin=min(md.mesh.x)
+ xmax=max(md.mesh.x)
+-md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
++md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin)
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+@@ -29,23 +29,23 @@
+ 
+ [md.initialization.vx]=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
+ [md.initialization.vy]=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ #Calving
+-md.calving.calvingrate=0.*numpy.ones((md.mesh.numberofvertices,1))
+-md.levelset.spclevelset=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.calving.calvingrate=0.*numpy.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=float('NaN')*numpy.ones((md.mesh.numberofvertices))
+ 
+ #Friction
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.0
+@@ -61,8 +61,8 @@
+ md.timestepping.final_time=3.
+ 
+ #GIA:
+-md.gia.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices,1)); # in km
+-md.gia.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices,1)); # in Pa.s
++md.gia.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices)); # in km
++md.gia.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices)); # in Pa.s
+ md.materials.lithosphere_shear_modulus=6.7*10**10;                          # in Pa
+ md.materials.lithosphere_density=3.32;                                      # in g/cm^-3
+ md.materials.mantle_shear_modulus=1.45*10**11;                              # in Pa
+Index: ../trunk-jpl/test/Par/ISMIPC.py
+===================================================================
+--- ../trunk-jpl/test/Par/ISMIPC.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ISMIPC.py	(revision 21409)
+@@ -4,20 +4,20 @@
+ #Ok, start defining model parameters here
+ 
+ print "      creating thickness"
+-md.geometry.surface=2000.-md.mesh.x.reshape(-1,1)*numpy.tan(0.1*numpy.pi/180.)    #to have z>0
++md.geometry.surface=2000.-md.mesh.x*numpy.tan(0.1*numpy.pi/180.)    #to have z>0
+ md.geometry.base=md.geometry.surface-1000.
+ md.geometry.thickness=md.geometry.surface-md.geometry.base
+ 
+ print "      creating drag"
+ #md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)));
+-md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))))
++md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y*2.*numpy.pi/numpy.max(md.mesh.x))))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.zeros((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.zeros((md.mesh.numberofelements))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      boundary conditions for stressbalance model:"
+ #Create node on boundary first (because we can not use mesh)
+Index: ../trunk-jpl/test/Par/ISMIPE.py
+===================================================================
+--- ../trunk-jpl/test/Par/ISMIPE.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ISMIPE.py	(revision 21409)
+@@ -6,8 +6,8 @@
+ 
+ print "      creating thickness"
+ data = numpy.array(archread('../Data/ISMIPE.arch','data'));
+-md.geometry.surface=numpy.zeros((md.mesh.numberofvertices,1))
+-md.geometry.base=numpy.zeros((md.mesh.numberofvertices,1))
++md.geometry.surface=numpy.zeros((md.mesh.numberofvertices))
++md.geometry.base=numpy.zeros((md.mesh.numberofvertices))
+ for i in xrange(0,md.mesh.numberofvertices):
+ 	y=md.mesh.y[i]
+ 	point1=numpy.floor(y/100.)
+@@ -20,13 +20,13 @@
+ md.geometry.base=md.geometry.surface-md.geometry.thickness
+ 
+ print "      creating drag"
+-md.friction.coefficient=numpy.zeros((md.mesh.numberofvertices,1))
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.coefficient=numpy.zeros((md.mesh.numberofvertices))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      boundary conditions for stressbalance model:"
+ #Create node on boundary first (because we can not use mesh)
+Index: ../trunk-jpl/test/Par/SquareEISMINT.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareEISMINT.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareEISMINT.py	(revision 21409)
+@@ -6,41 +6,41 @@
+ print "      creating thickness"
+ ymin=numpy.min(md.mesh.y)
+ ymax=numpy.max(md.mesh.y)
+-md.geometry.thickness=500.*numpy.ones((md.mesh.numberofvertices,1))
++md.geometry.thickness=500.*numpy.ones((md.mesh.numberofvertices))
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+ print "      creating drag"
+-md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating initial values"
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vel=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vel=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=1.7687*10**8*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=1.7687*10**8*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating surface mass balance"
+-md.smb.mass_balance=0.2*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
+-md.basalforcings.floatingice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
+-md.basalforcings.groundedice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
++md.smb.mass_balance=0.2*numpy.ones((md.mesh.numberofvertices))    #0m/a
++md.basalforcings.floatingice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices))    #0m/a
++md.basalforcings.groundedice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices))    #0m/a
+ 
+ print "      boundary conditions"
+ md=SetMarineIceSheetBC(md,'../Exp/SquareFrontEISMINT.exp')
+ 
+ #Evolution of the ice shelf
+ pos=numpy.nonzero(md.mesh.y==200000.)    #nodes on the upper boundary condition
+-md.balancethickness.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.balancethickness.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices))
+ md.balancethickness.spcthickness[pos]=500.
+-md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices))
+ md.masstransport.spcthickness[pos]=500.
+ md.masstransport.stabilization=0    #Better result with no artificial diffusivity
+ md.thermal.stabilization=0
+Index: ../trunk-jpl/test/Par/RoundSheetShelf.py
+===================================================================
+--- ../trunk-jpl/test/Par/RoundSheetShelf.py	(revision 21408)
++++ ../trunk-jpl/test/Par/RoundSheetShelf.py	(revision 21409)
+@@ -13,7 +13,7 @@
+ #Geometry
+ hmin=300.
+ hmax=1000.
+-radius=numpy.sqrt(md.mesh.x.reshape(-1,1)*md.mesh.x.reshape(-1,1)+md.mesh.y.reshape(-1,1)*md.mesh.y.reshape(-1,1))
++radius=numpy.sqrt(md.mesh.x*md.mesh.x+md.mesh.y*md.mesh.y.reshape(-1))
+ ymin=numpy.min(radius)
+ ymax=numpy.max(radius)
+ md.geometry.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin)
+@@ -57,36 +57,36 @@
+ md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
+ 
+ #Initial velocity 
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ #Surface mass balance and basal melting
+-md.smb.mass_balance=-10.*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
++md.smb.mass_balance=-10.*numpy.ones((md.mesh.numberofvertices))
++md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices))
+ pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0]
+ md.basalforcings.groundedice_melting_rate[pos]=10.
+-md.basalforcings.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
+-md.basalforcings.geothermalflux=numpy.ones((md.mesh.numberofvertices,1))
++md.basalforcings.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices))
++md.basalforcings.geothermalflux=numpy.ones((md.mesh.numberofvertices))
+ 
+ #Friction
+ radius=1.e6
+ shelfextent=2.e5
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices))
+ xelem=numpy.mean(md.mesh.x[md.mesh.elements.astype(int)-1],axis=1)
+ yelem=numpy.mean(md.mesh.y[md.mesh.elements.astype(int)-1],axis=1)
+ rad=numpy.sqrt(xelem**2+yelem**2)
+ flags=numpy.zeros(md.mesh.numberofelements)
+ pos=numpy.nonzero(rad>=(radius-shelfextent))
+ md.friction.coefficient[md.mesh.elements[pos,:]-1]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.0
+@@ -108,9 +108,9 @@
+ md.geometry.bed[pos]=md.geometry.base[pos]-900.
+ 
+ #Deal with boundary conditions:
+-md.stressbalance.spcvx=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
+-md.stressbalance.spcvy=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
+-md.stressbalance.spcvz=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
++md.stressbalance.spcvx=float('nan')*numpy.ones((md.mesh.numberofvertices))
++md.stressbalance.spcvy=float('nan')*numpy.ones((md.mesh.numberofvertices))
++md.stressbalance.spcvz=float('nan')*numpy.ones((md.mesh.numberofvertices))
+ 
+ pos=numpy.nonzero(numpy.logical_and(md.mesh.x==0,md.mesh.y==0))
+ md.stressbalance.spcvx[pos]=0
+@@ -118,11 +118,11 @@
+ 
+ pos=numpy.nonzero(md.mesh.vertexonboundary)
+ md.mask.ice_levelset[pos]=0
+-md.balancethickness.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
+-md.masstransport.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1))
++md.balancethickness.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices))
++md.masstransport.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices))
+ md.stressbalance.referential=float('nan')*numpy.ones((md.mesh.numberofvertices,6))
+ md.stressbalance.loadingforce=0*numpy.ones((md.mesh.numberofvertices,3))
+-md.thermal.spctemperature=737.*numpy.ones((md.mesh.numberofvertices,1))
++md.thermal.spctemperature=737.*numpy.ones((md.mesh.numberofvertices))
+ 
+ #Change name so that no test have the same name
+ if len(inspect.stack()) > 2:
+Index: ../trunk-jpl/test/Par/SquareShelf2.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareShelf2.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareShelf2.py	(revision 21409)
+@@ -15,7 +15,7 @@
+ ymax=max(md.mesh.y)
+ xmin=min(md.mesh.x)
+ xmax=max(md.mesh.x)
+-md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
++md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin)
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+@@ -33,8 +33,8 @@
+ 
+ [md.initialization.vx]=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
+ [md.initialization.vy]=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #dbg - begin
+ #print '...vx:'
+@@ -49,15 +49,15 @@
+ 
+ 
+ #Materials
+-md.initialization.temperature = (273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature = (273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B = paterson(md.initialization.temperature)
+-md.materials.rheology_n = 3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n = 3.*numpy.ones((md.mesh.numberofelements))
+ 
+ #Friction
+-md.friction.coefficient = 20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient = 20.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p = numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q = numpy.ones((md.mesh.numberofelements,1))
++md.friction.p = numpy.ones((md.mesh.numberofelements))
++md.friction.q = numpy.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot = 0.3
+Index: ../trunk-jpl/test/Par/RoundSheetEISMINT.py
+===================================================================
+--- ../trunk-jpl/test/Par/RoundSheetEISMINT.py	(revision 21408)
++++ ../trunk-jpl/test/Par/RoundSheetEISMINT.py	(revision 21409)
+@@ -3,25 +3,25 @@
+ 
+ #Ok, start defining model parameters here
+ print "      creating thickness"
+-md.geometry.thickness=10.*numpy.ones((md.mesh.numberofvertices,1))
+-md.geometry.base=numpy.zeros((md.mesh.numberofvertices,1))
++md.geometry.thickness=10.*numpy.ones((md.mesh.numberofvertices))
++md.geometry.base=numpy.zeros((md.mesh.numberofvertices))
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+ print "      creating drag"
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1)) 
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices)) 
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating temperatures"
+ tmin=238.15    #K
+ st=1.67*10**-2/1000.    #k/m
+-radius=numpy.sqrt((md.mesh.x)**2+(md.mesh.y)**2).reshape(-1,1)
++radius=numpy.sqrt((md.mesh.x)**2+(md.mesh.y)**2)
+ md.initialization.temperature=tmin+st*radius
+-md.basalforcings.geothermalflux=4.2*10**-2*numpy.ones((md.mesh.numberofvertices,1))
++md.basalforcings.geothermalflux=4.2*10**-2*numpy.ones((md.mesh.numberofvertices))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.81*10**7*numpy.ones((md.mesh.numberofvertices,1))    #to have the same B as the analytical solution 
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.81*10**7*numpy.ones((md.mesh.numberofvertices))    #to have the same B as the analytical solution 
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating surface mass balance"
+ smb_max=0.5    #m/yr
+@@ -31,13 +31,13 @@
+ 
+ print "      creating velocities"
+ constant=0.3
+-md.inversion.vx_obs=constant/2.*md.mesh.x.reshape(-1,1)*(md.geometry.thickness)**-1
+-md.inversion.vy_obs=constant/2.*md.mesh.y.reshape(-1,1)*(md.geometry.thickness)**-1
++md.inversion.vx_obs=constant/2.*md.mesh.x*(md.geometry.thickness)**-1
++md.inversion.vy_obs=constant/2.*md.mesh.y*(md.geometry.thickness)**-1
+ md.inversion.vel_obs=numpy.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Deal with boundary conditions:
+ print "      boundary conditions for stressbalance model:"
+Index: ../trunk-jpl/test/Par/SquareShelfConstrained.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareShelfConstrained.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareShelfConstrained.py	(revision 21409)
+@@ -1,6 +1,6 @@
+ import os.path
+ from arch import *
+-import numpy
++import numpy as np
+ import inspect
+ from verbose import verbose
+ from InterpFromMeshToMesh2d import InterpFromMeshToMesh2d
+@@ -11,44 +11,44 @@
+ #Geometry
+ hmin=300.
+ hmax=1000.
+-ymin=numpy.min(md.mesh.y)
+-ymax=numpy.max(md.mesh.y)
++ymin=np.min(md.mesh.y)
++ymax=np.max(md.mesh.y)
+ xmin=min(md.mesh.x)
+ xmax=max(md.mesh.x)
+-md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
++md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin)
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ md.geometry.bed=md.geometry.base-10;
+ 
+ #Initial velocity 
+-#x         = numpy.reshape(numpy.array(archread('../Data/SquareShelfConstrained.arch','x')),(-1))
+-#y         = numpy.reshape(numpy.array(archread('../Data/SquareShelfConstrained.arch','y')),(-1))
+-x         = numpy.array(archread('../Data/SquareShelfConstrained.arch','x'))
+-y         = numpy.array(archread('../Data/SquareShelfConstrained.arch','y'))
+-vx        = numpy.array(archread('../Data/SquareShelfConstrained.arch','vx'))
+-vy        = numpy.array(archread('../Data/SquareShelfConstrained.arch','vy'))
+-index     = numpy.array(archread('../Data/SquareShelfConstrained.arch','index').astype(int))
++#x         = np.reshape(np.array(archread('../Data/SquareShelfConstrained.arch','x')),(-1))
++#y         = np.reshape(np.array(archread('../Data/SquareShelfConstrained.arch','y')),(-1))
++x         = np.array(archread('../Data/SquareShelfConstrained.arch','x'))
++y         = np.array(archread('../Data/SquareShelfConstrained.arch','y'))
++vx        = np.array(archread('../Data/SquareShelfConstrained.arch','vx'))
++vy        = np.array(archread('../Data/SquareShelfConstrained.arch','vy'))
++index     = np.array(archread('../Data/SquareShelfConstrained.arch','index').astype(int))
+ 
+ [md.initialization.vx]=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
+ [md.initialization.vy]=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vz=np.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*np.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*np.ones((md.mesh.numberofelements))
+ 
+ #Surface mass balance and basal melting
+-md.smb.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
++md.smb.mass_balance=10.*np.ones((md.mesh.numberofvertices))
++md.basalforcings.groundedice_melting_rate=5.*np.ones((md.mesh.numberofvertices))
++md.basalforcings.floatingice_melting_rate=5.*np.ones((md.mesh.numberofvertices))
+ 
+ #Friction
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1))
+-md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.coefficient=20.*np.ones((md.mesh.numberofvertices))
++md.friction.coefficient[np.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
++md.friction.p=np.ones((md.mesh.numberofelements))
++md.friction.q=np.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.0
+Index: ../trunk-jpl/test/Par/SquareThermal.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareThermal.py	(revision 21408)
++++ ../trunk-jpl/test/Par/SquareThermal.py	(revision 21409)
+@@ -8,31 +8,31 @@
+ 
+ print "      creating thickness"
+ h=1000.
+-md.geometry.thickness=h*numpy.ones((md.mesh.numberofvertices,1))
+-md.geometry.base=-1000.*numpy.ones((md.mesh.numberofvertices,1))
++md.geometry.thickness=h*numpy.ones((md.mesh.numberofvertices))
++md.geometry.base=-1000.*numpy.ones((md.mesh.numberofvertices))
+ md.geometry.surface=md.geometry.base+md.geometry.thickness;
+ 
+ print "      creating velocities"
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
+ 
+ print "      creating drag"
+-md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating temperatures"
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ 
+ print "      creating flow law parameter"
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating surface mass balance"
+-md.smb.mass_balance=numpy.ones((md.mesh.numberofvertices,1))/md.constants.yts    #1m/a
+-md.basalforcings.melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))/md.constants.yts    #1m/a
++md.smb.mass_balance=numpy.ones((md.mesh.numberofvertices))/md.constants.yts    #1m/a
++md.basalforcings.melting_rate=0.*numpy.ones((md.mesh.numberofvertices))/md.constants.yts    #1m/a
+ 
+ #Deal with boundary conditions:
+ 
+@@ -40,6 +40,6 @@
+ md=SetMarineIceSheetBC(md,'../Exp/SquareFront.exp')
+ 
+ print "      boundary conditions for thermal model"
+-md.thermal.spctemperature[:]=md.initialization.temperature
+-md.basalforcings.geothermalflux=numpy.zeros((md.mesh.numberofvertices,1)) 
++md.thermal.spctemperature=md.initialization.temperature
++md.basalforcings.geothermalflux=numpy.zeros((md.mesh.numberofvertices)) 
+ md.basalforcings.geothermalflux[numpy.nonzero(md.mask.groundedice_levelset>0.)[0]]=1.*10**-3    #1 mW/m^2
+Index: ../trunk-jpl/test/Par/Pig.py
+===================================================================
+--- ../trunk-jpl/test/Par/Pig.py	(revision 21408)
++++ ../trunk-jpl/test/Par/Pig.py	(revision 21409)
+@@ -25,20 +25,20 @@
+ md.geometry.base=md.geometry.surface-md.geometry.thickness
+ md.initialization.vx=md.inversion.vx_obs
+ md.initialization.vy=md.inversion.vy_obs
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices,1))
++md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ md.initialization.temperature=md.initialization.temperature
+ 
+ #Friction
+-md.friction.coefficient=50.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=50.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.3
+Index: ../trunk-jpl/test/Par/RoundSheetStaticEISMINT.py
+===================================================================
+--- ../trunk-jpl/test/Par/RoundSheetStaticEISMINT.py	(revision 21408)
++++ ../trunk-jpl/test/Par/RoundSheetStaticEISMINT.py	(revision 21409)
+@@ -4,28 +4,28 @@
+ print "      creating thickness"
+ hmin=0.01
+ hmax=2756.7
+-radius=numpy.sqrt((md.mesh.x)**2+(md.mesh.y)**2).reshape(-1,1)
++radius=numpy.sqrt((md.mesh.x)**2+(md.mesh.y)**2)
+ radiusmax=numpy.max(radius)
+ radius[numpy.nonzero(radius>(1.-10**-9)*radiusmax)]=radiusmax    #eliminate roundoff issues in next statement
+-md.geometry.thickness=hmin*numpy.ones((numpy.size(md.mesh.x),1))+hmax*(4.*((1./2.)**(4./3.)*numpy.ones((numpy.size(md.mesh.x),1))-((radius)/(2.*radiusmax))**(4./3.)))**(3./8.)
++md.geometry.thickness=hmin*numpy.ones((numpy.size(md.mesh.x)))+hmax*(4.*((1./2.)**(4./3.)*numpy.ones((numpy.size(md.mesh.x)))-((radius)/(2.*radiusmax))**(4./3.)))**(3./8.)
+ md.geometry.base=0.*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+ print "      creating drag"
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating temperatures"
+ tmin=238.15    #K
+ st=1.67*10**-2/1000.    #k/m
+ md.initialization.temperature=tmin+st*radius
+-md.basalforcings.geothermalflux=4.2*10**-2*numpy.ones((md.mesh.numberofvertices,1))
++md.basalforcings.geothermalflux=4.2*10**-2*numpy.ones((md.mesh.numberofvertices))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.81*10**7*numpy.ones((md.mesh.numberofvertices,1))    #to have the same B as the analytical solution 
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.81*10**7*numpy.ones((md.mesh.numberofvertices))    #to have the same B as the analytical solution 
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating surface mass balance"
+ smb_max=0.5    #m/yr
+@@ -35,13 +35,13 @@
+ 
+ print "      creating velocities"
+ constant=0.3
+-md.inversion.vx_obs=constant/2.*md.mesh.x.reshape(-1,1)*(md.geometry.thickness)**-1
+-md.inversion.vy_obs=constant/2.*md.mesh.y.reshape(-1,1)*(md.geometry.thickness)**-1
++md.inversion.vx_obs=constant/2.*md.mesh.x*(md.geometry.thickness)**-1
++md.inversion.vy_obs=constant/2.*md.mesh.y*(md.geometry.thickness)**-1
+ md.inversion.vel_obs=numpy.sqrt((md.inversion.vx_obs)**2+(md.inversion.vy_obs)**2)
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
+ 
+ #Deal with boundary conditions:
+ print "      boundary conditions for stressbalance model:"
+Index: ../trunk-jpl/test/Par/ISMIPB.py
+===================================================================
+--- ../trunk-jpl/test/Par/ISMIPB.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ISMIPB.py	(revision 21409)
+@@ -4,19 +4,19 @@
+ #Ok, start defining model parameters here
+ 
+ print "      creating thickness"
+-md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(0.5*numpy.pi/180.)
+-md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))
++md.geometry.surface=-md.mesh.x*numpy.tan(0.5*numpy.pi/180.)
++md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x*2.*numpy.pi/numpy.max(md.mesh.x))
+ md.geometry.thickness=md.geometry.surface-md.geometry.base
+ 
+ print "      creating drag"
+-md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices,1))
++md.friction.coefficient=200.*numpy.ones((md.mesh.numberofvertices))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.ones((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.ones((md.mesh.numberofelements))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      boundary conditions for stressbalance model"
+ #Create node on boundary first (because we cannot use mesh)
+Index: ../trunk-jpl/test/Par/ISMIPD.py
+===================================================================
+--- ../trunk-jpl/test/Par/ISMIPD.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ISMIPD.py	(revision 21409)
+@@ -4,19 +4,19 @@
+ #Ok, start defining model parameters here
+ 
+ print "      creating thickness"
+-md.geometry.surface=2000.-md.mesh.x.reshape(-1,1)*numpy.tan(0.1*numpy.pi/180.)    #to have z>0
++md.geometry.surface=2000.-md.mesh.x*numpy.tan(0.1*numpy.pi/180.)    #to have z>0
+ md.geometry.base=md.geometry.surface-1000.
+ md.geometry.thickness=md.geometry.surface-md.geometry.base
+ 
+ print "      creating drag"
+-md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))))
++md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x*2.*numpy.pi/numpy.max(md.mesh.x))))
+ md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.zeros((md.mesh.numberofelements,1))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.zeros((md.mesh.numberofelements))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=6.8067*10**7*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
+ 
+ print "      boundary conditions for stressbalance model:"
+ #Create node on boundary first (because we can not use mesh)
+Index: ../trunk-jpl/test/Par/ISMIPF.py
+===================================================================
+--- ../trunk-jpl/test/Par/ISMIPF.py	(revision 21408)
++++ ../trunk-jpl/test/Par/ISMIPF.py	(revision 21409)
+@@ -5,38 +5,38 @@
+ md.verbose=2
+ 
+ print "      creating thickness"
+-md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(3.*numpy.pi/180.)
++md.geometry.surface=-md.mesh.x*numpy.tan(3.*numpy.pi/180.)
+ #md.geometry.base=md.geometry.surface-1000.
+-md.geometry.base=md.geometry.surface-1000.+100.*numpy.exp(-((md.mesh.x.reshape(-1,1)-numpy.max(md.mesh.x)/2.)**2+(md.mesh.y.reshape(-1,1)-numpy.max(md.mesh.y)/2.)**2)/(10000.**2))
++md.geometry.base=md.geometry.surface-1000.+100.*numpy.exp(-((md.mesh.x-numpy.max(md.mesh.x)/2.)**2+(md.mesh.y-numpy.max(md.mesh.y)/2.)**2)/(10000.**2))
+ md.geometry.thickness=md.geometry.surface-md.geometry.base
+ 
+ print "      creating drag"
+-md.friction.coefficient=numpy.sqrt(md.constants.yts/(2.140373*10**-7*1000.))*numpy.ones((md.mesh.numberofvertices,1))
+-md.friction.p=numpy.ones((md.mesh.numberofelements,1))
+-md.friction.q=numpy.zeros((md.mesh.numberofelements,1))
++md.friction.coefficient=numpy.sqrt(md.constants.yts/(2.140373*10**-7*1000.))*numpy.ones((md.mesh.numberofvertices))
++md.friction.p=numpy.ones((md.mesh.numberofelements))
++md.friction.q=numpy.zeros((md.mesh.numberofelements))
+ 
+ print "      creating flow law parameter"
+-md.materials.rheology_B=1.4734*10**14*numpy.ones((md.mesh.numberofvertices,1))
+-md.materials.rheology_n=1.*numpy.ones((md.mesh.numberofelements,1))
++md.materials.rheology_B=1.4734*10**14*numpy.ones((md.mesh.numberofvertices))
++md.materials.rheology_n=1.*numpy.ones((md.mesh.numberofelements))
+ md.materials.rheology_law='None'
+ 
+ print "      boundary conditions for stressbalance model"
+ #Create node on boundary first (because we cannot use mesh)
+ md=SetIceSheetBC(md)
+-md.stressbalance.spcvx=100.*numpy.ones((md.mesh.numberofvertices,1))
+-md.initialization.vx=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vy=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.vel=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices,1))
+-md.initialization.temperature=255.*numpy.ones((md.mesh.numberofvertices,1))
++md.stressbalance.spcvx=100.*numpy.ones((md.mesh.numberofvertices))
++md.initialization.vx=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vy=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vel=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.temperature=255.*numpy.ones((md.mesh.numberofvertices))
+ pos=numpy.nonzero(numpy.logical_or(numpy.logical_or(md.mesh.x==numpy.min(md.mesh.x),md.mesh.x==numpy.max(md.mesh.x)),numpy.logical_or(md.mesh.y==numpy.min(md.mesh.y),md.mesh.y==numpy.max(md.mesh.y))))
+-md.balancethickness.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.balancethickness.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices))
+ md.balancethickness.spcthickness[pos]=md.geometry.thickness[pos]
+-md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
++md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices))
+ md.masstransport.spcthickness[pos]=md.geometry.thickness[pos]
+-md.thermal.spctemperature=255.*numpy.ones((md.mesh.numberofvertices,1))
+-md.basalforcings.geothermalflux=0.4*numpy.ones((md.mesh.numberofvertices,1))
++md.thermal.spctemperature=255.*numpy.ones((md.mesh.numberofvertices))
++md.basalforcings.geothermalflux=0.4*numpy.ones((md.mesh.numberofvertices))
+ 
+ #Parallel options
+ md.mesh.average_vertex_connectivity=200
Index: /issm/oecreview/Archive/21337-21723/ISSM-21409-21410.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21409-21410.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21409-21410.diff	(revision 21726)
@@ -0,0 +1,20347 @@
+Index: ../trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.py
+===================================================================
+--- ../trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.py	(revision 21409)
++++ ../trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.py	(revision 21410)
+@@ -1,5 +1,5 @@
+ from MatlabFuncs import *
+-from model import *
++import numpy as np
+ from numpy import *
+ from pairoptions import *
+ from mesh3dsurface import *
+@@ -94,12 +94,11 @@
+ 
+ 		fid.write('View "background mesh" [;\n')
+ 		for i in range(meshini.numberofelements):
+-			fid.write('ST(%g,%g,%g,%g,%g,%g,%g,%g,%g)[%g,%g,%g];\n',\
+-			meshini.x(meshini.elements(i,0)), meshini.y(meshini.elements(i,0)), meshini.z(meshini.elements(i,0)),\
+-			meshini.x(meshini.elements(i,1)), meshini.y(meshini.elements(i,1)), meshini.z(meshini.elements(i,1)),\
+-			meshini.x(meshini.elements(i,2)), meshini.y(meshini.elements(i,2)), meshini.z(meshini.elements(i,2)),\
+-			metric(meshini.elements(i,0)), metric(meshini.elements(i,1)), metric(meshini.elements(i,2))\
+-			)
++			fid.write('ST(%g,%g,%g,%g,%g,%g,%g,%g,%g)[%g,%g,%g];\n',
++								meshini.x(meshini.elements(i,0)), meshini.y(meshini.elements(i,0)), meshini.z(meshini.elements(i,0)),
++								meshini.x(meshini.elements(i,1)), meshini.y(meshini.elements(i,1)), meshini.z(meshini.elements(i,1)),
++								meshini.x(meshini.elements(i,2)), meshini.y(meshini.elements(i,2)), meshini.z(meshini.elements(i,2)),
++								metric(meshini.elements(i,0)), metric(meshini.elements(i,1)), metric(meshini.elements(i,2)))
+ 		fid.write('];\n')
+ 		
+ 		fid.close()
+@@ -131,9 +130,9 @@
+ 		raise RuntimeError(['Expecting $Nodes (', A, ')'])
+ 
+ 	mesh.numberofvertices=int(fid.readline().strip())
+-	mesh.x=empty(mesh.numberofvertices)
+-	mesh.y=empty(mesh.numberofvertices)
+-	mesh.z=empty(mesh.numberofvertices)
++	mesh.x=np.empty(mesh.numberofvertices)
++	mesh.y=np.empty(mesh.numberofvertices)
++	mesh.z=np.empty(mesh.numberofvertices)
+ 	for i in range(mesh.numberofvertices):
+ 		A=fid.readline().split()
+ 		mesh.x[i]=float(A[1])
+@@ -149,7 +148,7 @@
+ 	if not strcmp(A,'$Elements'):
+ 		raise RuntimeError(['Expecting $Elements (', A, ')'])
+ 	mesh.numberofelements=int(fid.readline().strip())
+-	mesh.elements=empty([mesh.numberofelements,3])
++	mesh.elements=np.zeros([mesh.numberofelements,3])
+ 	for i in range(mesh.numberofelements):
+ 		A=fid.readline().split()
+ 		mesh.elements[i]=[int(A[5]),int(A[6]),int(A[7])]
+@@ -161,9 +160,9 @@
+ 	#}}}
+ 
+ 	#figure out other fields in mesh3dsurface: 
+-	mesh.r=sqrt(mesh.x**2+mesh.y**2+mesh.z**2)
+-	mesh.lat = arcsin(mesh.z/mesh.r)/pi*180
+-	mesh.long = arctan2(mesh.y,mesh.x)/pi*180
++	mesh.r=np.sqrt(mesh.x**2+mesh.y**2+mesh.z**2)
++	mesh.lat=np.arcsin(mesh.z/mesh.r)/np.pi*180
++	mesh.long=np.arctan2(mesh.y,mesh.x)/np.pi*180
+ 
+ 	#erase files: 
+ 	subprocess.call('rm -rf sphere.geo sphere.msh sphere.pos',shell=True)
+Index: ../trunk-jpl/src/m/mesh/squaremesh.py
+===================================================================
+--- ../trunk-jpl/src/m/mesh/squaremesh.py	(revision 21409)
++++ ../trunk-jpl/src/m/mesh/squaremesh.py	(revision 21410)
+@@ -48,13 +48,13 @@
+ 	#create segments
+ 	segments=np.zeros((2*(nx-1)+2*(ny-1),3),int)
+ 	#left edge:
+-	segments[0:ny-1,:]=np.hstack((np.arange(2,ny+1).reshape(-1,),np.arange(1,ny).reshape(-1,),(2*np.arange(1,ny)-1).reshape(-1,)))
++	segments[0:ny-1,:]=np.vstack((np.arange(2,ny+1),np.arange(1,ny),(2*np.arange(1,ny)-1))).T
+ 	#right edge:
+-	segments[ny-1:2*(ny-1),:]=np.hstack((np.arange(ny*(nx-1)+1,nx*ny).reshape(-1,),np.arange(ny*(nx-1)+2,nx*ny+1).reshape(-1,),2*np.arange((ny-1)*(nx-2)+1,(nx-1)*(ny-1)+1).reshape(-1,)))
++	segments[ny-1:2*(ny-1),:]=np.vstack((np.arange(ny*(nx-1)+1,nx*ny),np.arange(ny*(nx-1)+2,nx*ny+1),2*np.arange((ny-1)*(nx-2)+1,(nx-1)*(ny-1)+1))).T
+ 	#front edge:
+-	segments[2*(ny-1):2*(ny-1)+(nx-1),:]=np.hstack((np.arange(2*ny,ny*nx+1,ny).reshape(-1,),np.arange(ny,ny*(nx-1)+1,ny).reshape(-1,),np.arange(2*(ny-1),2*(nx-1)*(ny-1)+1,2*(ny-1)).reshape(-1,)))
++	segments[2*(ny-1):2*(ny-1)+(nx-1),:]=np.vstack((np.arange(2*ny,ny*nx+1,ny),np.arange(ny,ny*(nx-1)+1,ny),np.arange(2*(ny-1),2*(nx-1)*(ny-1)+1,2*(ny-1)))).T
+ 	#back edge
+-	segments[2*(ny-1)+(nx-1):2*(nx-1)+2*(ny-1),:]=np.hstack((np.arange(1,(nx-2)*ny+2,ny).reshape(-1,),np.arange(ny+1,ny*(nx-1)+2,ny).reshape(-1,),np.arange(1,2*(nx-2)*(ny-1)+2,2*(ny-1)).reshape(-1,)))
++	segments[2*(ny-1)+(nx-1):2*(nx-1)+2*(ny-1),:]=np.vstack((np.arange(1,(nx-2)*ny+2,ny),np.arange(ny+1,ny*(nx-1)+2,ny),np.arange(1,2*(nx-2)*(ny-1)+2,2*(ny-1)))).T
+ 
+ 	#plug coordinates and nodes
+ 	md.mesh=mesh2d()
+Index: ../trunk-jpl/src/m/classes/mesh3dsurface.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/mesh3dsurface.py	(revision 21409)
++++ ../trunk-jpl/src/m/classes/mesh3dsurface.py	(revision 21410)
+@@ -1,6 +1,6 @@
+ from MatlabFuncs import *
+ from model import *
+-from np.import *
++import numpy as np
+ from fielddisplay import fielddisplay
+ from checkfield import checkfield
+ from WriteData import WriteData
+@@ -11,28 +11,28 @@
+ #   Usage:
+ #      mesh3dsurface=mesh3dsurface();
+ 	def __init__(self,*args): # {{{
+-		self.x                           = NaN
+-		self.y                           = NaN
+-		self.z                           = NaN
+-		self.elements                    = NaN
++		self.x                           = np.nan
++		self.y                           = np.nan
++		self.z                           = np.nan
++		self.elements                    = np.nan
+ 		self.numberofelements            = 0
+ 		self.numberofvertices            = 0
+ 		self.numberofedges               = 0
+ 
+-		self.lat                         = NaN
+-		self.long                        = NaN
+-		self.r                           = NaN
++		self.lat                         = np.nan
++		self.long                        = np.nan
++		self.r                           = np.nan
+ 
+-		self.vertexonboundary            = NaN
+-		self.edges                       = NaN
+-		self.segments                    = NaN
+-		self.segmentmarkers              = NaN
+-		self.vertexconnectivity          = NaN
+-		self.elementconnectivity         = NaN
++		self.vertexonboundary            = np.nan
++		self.edges                       = np.nan
++		self.segments                    = np.nan
++		self.segmentmarkers              = np.nan
++		self.vertexconnectivity          = np.nan
++		self.elementconnectivity         = np.nan
+ 		self.average_vertex_connectivity = 0
+ 
+-		self.extractedvertices           = NaN
+-		self.extractedelements           = NaN
++		self.extractedvertices           = np.nan
++		self.extractedelements           = np.nan
+ 		
+ 		if not len(args):
+ 			self.setdefaultparameters()
+@@ -114,9 +114,9 @@
+ 		md = checkfield(md,'fieldname','mesh.lat','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+ 		md = checkfield(md,'fieldname','mesh.long','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+ 		md = checkfield(md,'fieldname','mesh.r','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+-		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',arange(1,md.mesh.numberofvertices+1))
++		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',np.arange(1,md.mesh.numberofvertices+1))
+ 		md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,3])
+-		if any(not ismember([md.mesh.numberofvertices],sort(unique(md.mesh.elements)))):
++		if np.any(np.logical_not(np.in1d(np.arange(1,md.mesh.numberofvertices+1),md.mesh.elements.flat))):
+ 			md = checkmessage(md,'orphan nodes have been found. Check the mesh outline')
+ 		
+ 		md = checkfield(md,'fieldname','mesh.numberofelements','>',0)
+@@ -138,7 +138,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','lat','format','DoubleMat','mattype',1)
+ 		WriteData(fid,prefix,'object',self,'fieldname','long','format','DoubleMat','mattype',1)
+ 		WriteData(fid,prefix,'object',self,'fieldname','r','format','DoubleMat','mattype',1)
+-		WriteData(fid,prefix,'name','md.mesh.z','data',zeros(md.mesh.numberofvertices),'format','DoubleMat','mattype',1)
++		WriteData(fid,prefix,'name','md.mesh.z','data',np.zeros(md.mesh.numberofvertices),'format','DoubleMat','mattype',1)
+ 		WriteData(fid,prefix,'object',self,'fieldname','elements','format','DoubleMat','mattype',2)
+ 		WriteData(fid,prefix,'object',self,'fieldname','numberofelements','format','Integer')
+ 		WriteData(fid,prefix,'object',self,'fieldname','numberofvertices','format','Integer')
+Index: ../trunk-jpl/src/m/classes/clusters/generic.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic.py	(revision 21409)
++++ ../trunk-jpl/src/m/classes/clusters/generic.py	(revision 21410)
+@@ -16,7 +16,7 @@
+  
+ 	   Usage:
+ 	      cluster=generic('name','astrid','np',3);
+-	      cluster=generic('name',oshostname(),'np',3,'login','username');
++	      cluster=generic('name',gethostname(),'np',3,'login','username');
+ 	"""
+ 
+ 	def __init__(self,*args):    # {{{
+Index: ../trunk-jpl/src/m/classes/mesh3dprisms.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/mesh3dprisms.py	(revision 21409)
++++ ../trunk-jpl/src/m/classes/mesh3dprisms.py	(revision 21410)
+@@ -72,10 +72,10 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,"numberoflayers","number of extrusion layers"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"vertexonbase","lower vertices flags list"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"vertexonsurface","upper vertices flags list"))
+-		string="%s\n%s"%(string,fielddisplay(self,"uppervertex","upper vertex list (-1 for vertex on the upper surface)"))
+-		string="%s\n%s"%(string,fielddisplay(self,"upperelements","upper element list (-1 for element on the upper layer)"))
+-		string="%s\n%s"%(string,fielddisplay(self,"lowervertex","lower vertex list (-1 for vertex on the lower surface)"))
+-		string="%s\n%s"%(string,fielddisplay(self,"lowerelements","lower element list (-1 for element on the lower layer)"))
++		string="%s\n%s"%(string,fielddisplay(self,"uppervertex","upper vertex list (NaN for vertex on the upper surface)"))
++		string="%s\n%s"%(string,fielddisplay(self,"upperelements","upper element list (NaN for element on the upper layer)"))
++		string="%s\n%s"%(string,fielddisplay(self,"lowervertex","lower vertex list (NaN for vertex on the lower surface)"))
++		string="%s\n%s"%(string,fielddisplay(self,"lowerelements","lower element list (NaN for element on the lower layer)"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"vertexonboundary","vertices on the boundary of the domain flag list"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"vertexconnectivity","list of vertices connected to vertex_i"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"elementconnectivity","list of vertices connected to element_i"))
+Index: ../trunk-jpl/src/m/coordsystems/gmtmask.py
+===================================================================
+--- ../trunk-jpl/src/m/coordsystems/gmtmask.py	(revision 21409)
++++ ../trunk-jpl/src/m/coordsystems/gmtmask.py	(revision 21410)
+@@ -1,6 +1,6 @@
+ from MatlabFuncs import *
+ from model import *
+-from np.import *
++import numpy as np
+ from os import getenv, putenv
+ import subprocess
+ 
+@@ -11,7 +11,7 @@
+ #      mask.ocean = gmtmask(md.mesh.lat,md.mesh.long);
+ #
+ 	lenlat=len(lat)
+-	mask=empty(lenlat)
++	mask=np.empty(lenlat)
+ 	
+ 	#are we doing a recursive call? 
+ 	if len(varargin)==3:
+@@ -37,7 +37,7 @@
+ 	
+ 	#First, write our lat,long file for gmt:
+ 	nv=lenlat
+-	savetxt('./all_vertices.txt',transpose([long, lat, arange(1,nv+1)]),delimiter='\t',fmt='%.10f')
++	np.savetxt('./all_vertices.txt',np.transpose([long, lat, np.arange(1,nv+1)]),delimiter='\t',fmt='%.10f')
+ 
+ 	#Avoid bypassing of the ld library path by Matlab (:()
+ 	try:
+@@ -71,7 +71,7 @@
+ 		line=fid.readline()
+ 	fid.close()
+ 
+-	mask=zeros([nv,1])
++	mask=np.zeros([nv,1])
+ 	mask[oce_vertices]=1
+ 	
+ 	subprocess.call('rm -rf ./all_vertices.txt ./oce_vertices.txt ./gmt.history',shell=True)
+Index: ../trunk-jpl/src/m/consistency/checkfield.py
+===================================================================
+--- ../trunk-jpl/src/m/consistency/checkfield.py	(revision 21409)
++++ ../trunk-jpl/src/m/consistency/checkfield.py	(revision 21410)
+@@ -69,16 +69,16 @@
+ 		elif len(fieldsize) == 2:
+ 			if   np.isnan(fieldsize[0]):
+ 				if not np.size(field,1)==fieldsize[1]:
+-					md = md.checkmessage(options.getfieldvalue('message',\
+-						"field '%s' should have %d columns" % (fieldname,fieldsize[1])))
++					md = md.checkmessage(options.getfieldvalue('message',"field '%s' should have %d columns" % (fieldname,fieldsize[1])))
+ 			elif np.isnan(fieldsize[1]):
+ 				if not np.size(field,0)==fieldsize[0]:
+-					md = md.checkmessage(options.getfieldvalue('message',\
+-						"field '%s' should have %d lines" % (fieldname,fieldsize[0])))
++					md = md.checkmessage(options.getfieldvalue('message',"field '%s' should have %d lines" % (fieldname,fieldsize[0])))
++			elif fieldsize[1]==1:
++				if (not np.size(field,0)==fieldsize[0]):
++					md = md.checkmessage(options.getfieldvalue('message',"field '%s' size should be %d x %d" % (fieldname,fieldsize[0],fieldsize[1])))
+ 			else:
+ 				if (not np.size(field,0)==fieldsize[0]) or (not np.size(field,1)==fieldsize[1]):
+-					md = md.checkmessage(options.getfieldvalue('message',\
+-						"field '%s' size should be %d x %d" % (fieldname,fieldsize[0],fieldsize[1])))
++					md = md.checkmessage(options.getfieldvalue('message',"field '%s' size should be %d x %d" % (fieldname,fieldsize[0],fieldsize[1])))
+ 	
+ 	#Check numel
+ 	if options.exist('numel'):
+Index: ../trunk-jpl/src/m/boundaryconditions/love_numbers.py
+===================================================================
+--- ../trunk-jpl/src/m/boundaryconditions/love_numbers.py	(revision 21409)
++++ ../trunk-jpl/src/m/boundaryconditions/love_numbers.py	(revision 21410)
+@@ -1,6 +1,6 @@
+ from MatlabFuncs import *
+ from model import *
+-from np.import *
++import numpy as np
+ 
+ def love_numbers(value,*varargin):
+ #LOVE_NUMBERS: provide love numbers (value 'h','k','l','gamma' and 'lambda'
+@@ -16,10012 +16,10012 @@
+ 	if len(varargin)>0:
+ 		raise RuntimeError('love_numbers error message: wrong usage')
+ 
+-	if not ( strcmpi(value,'h') | strcmpi(value,'k') | strcmpi(value,'l') | strcmpi(value,'gamma') | strcmpi(value,'lambda')):
++	if value not in ['h','k','l','gamma','lambda']:
+ 		raise RuntimeError('value should be one of ''h'',''k'',''l'',''gamma'' and ''lambda''')
+ 
+-	love_numbers=array([\
+-[    0         , 0          ,0          ,0          ,0          ,0          ,0          ],\
+-[	-1.28740059,-1.00000000,-0.89858519,1.28740059, 0.42519882  ,0.89858519 ,0.00000000 ],\
+-[	-1.00025365, -0.30922675, 0.02060926, 1.69102690, 0.46358648, 0.67016399, 0.61829668],\
+-[	-1.06243501, -0.19927948, 0.06801636, 1.86315553, 0.55741597, 0.73270416, 0.56270589],\
+-[	-1.06779588, -0.13649834, 0.05667027, 1.93129754, 0.63672498, 0.80683140, 0.51132745],\
+-[	-1.10365923, -0.10736896, 0.04401221, 1.99629027, 0.68737906, 0.84861883, 0.48642259],\
+-[	-1.16440348, -0.09295485, 0.03638747, 2.07144863, 0.72031283, 0.87065768, 0.47898268],\
+-[	-1.23634156, -0.08469861, 0.03202759, 2.15164295, 0.74355796, 0.88327380, 0.47955214],\
+-[	-1.31140380, -0.07921412, 0.02937593, 2.23218968, 0.76126493, 0.89140995, 0.48323250],\
+-[	-1.38582399, -0.07513541, 0.02762338, 2.31068858, 0.77552290, 0.89724121, 0.48795424],\
+-[	-1.45807465, -0.07187005, 0.02638627, 2.38620460, 0.78744212, 0.90174369, 0.49291061],\
+-[	-1.52763314, -0.06913154, 0.02547640, 2.45850160, 0.79766475, 0.90539206, 0.49779422],\
+-[	-1.59437866, -0.06676258, 0.02479080, 2.52761607, 0.80659635, 0.90844662, 0.50248477],\
+-[	-1.65833071, -0.06466619, 0.02426511, 2.59366452, 0.81451271, 0.91106870, 0.50693175],\
+-[	-1.71954820, -0.06277732, 0.02385464, 2.65677088, 0.82161167, 0.91336804, 0.51111243],\
+-[	-1.77809640, -0.06105001, 0.02352654, 2.71704639, 0.82804049, 0.91542346, 0.51501712],\
+-[	-1.83403970, -0.05945081, 0.02325609, 2.77458889, 0.83391153, 0.91729309, 0.51864363],\
+-[	-1.88744242, -0.05795502, 0.02302469, 2.82948740, 0.83931209, 0.91902029, 0.52199490],\
+-[	-1.93837115, -0.05654418, 0.02281843, 2.88182697, 0.84431095, 0.92063739, 0.52507761],\
+-[	-1.98689666, -0.05520447, 0.02262706, 2.93169219, 0.84896295, 0.92216847, 0.52790108],\
+-[	-2.03309477, -0.05392545, 0.02244322, 2.97916932, 0.85331225, 0.92363132, 0.53047654],\
+-[	-2.07704643, -0.05269926, 0.02226173, 3.02434717, 0.85739480, 0.92503902, 0.53281639],\
+-[	-2.11883714, -0.05151988, 0.02207909, 3.06731726, 0.86124014, 0.92640103, 0.53493369],\
+-[	-2.15855611, -0.05038274, 0.02189307, 3.10817337, 0.86487276, 0.92772419, 0.53684176],\
+-[	-2.19629514, -0.04928430, 0.02170238, 3.14701084, 0.86831322, 0.92901331, 0.53855386],\
+-[	-2.23214747, -0.04822179, 0.02150643, 3.18392568, 0.87157886, 0.93027178, 0.54008294],\
+-[	-2.26620674, -0.04719301, 0.02130509, 3.21901373, 0.87468453, 0.93150190, 0.54144148],\
+-[	-2.29856595, -0.04619619, 0.02109858, 3.25236976, 0.87764301, 0.93270523, 0.54264140],\
+-[	-2.32931659, -0.04522983, 0.02088735, 3.28408675, 0.88046543, 0.93388282, 0.54369397],\
+-[	-2.35854794, -0.04429270, 0.02067197, 3.31425524, 0.88316156, 0.93503533, 0.54460979],\
+-[	-2.38634650, -0.04338368, 0.02045310, 3.34296281, 0.88574004, 0.93616321, 0.54539877],\
+-[	-2.41279547, -0.04250179, 0.02023142, 3.37029367, 0.88820859, 0.93726678, 0.54607015],\
+-[	-2.43797451, -0.04164613, 0.02000761, 3.39632839, 0.89057416, 0.93834626, 0.54663248],\
+-[	-2.46195951, -0.04081583, 0.01978231, 3.42114367, 0.89284301, 0.93940185, 0.54709369],\
+-[	-2.48482241, -0.04001011, 0.01955614, 3.44481230, 0.89502085, 0.94043375, 0.54746112],\
+-[	-2.50663126, -0.03922817, 0.01932966, 3.46740309, 0.89711291, 0.94144217, 0.54774153],\
+-[	-2.52745016, -0.03846928, 0.01910337, 3.48898088, 0.89912397, 0.94242735, 0.54794114],\
+-[	-2.54733938, -0.03773269, 0.01887774, 3.50960670, 0.90105847, 0.94338957, 0.54806571],\
+-[	-2.56635547, -0.03701769, 0.01865317, 3.52933779, 0.90292050, 0.94432915, 0.54812051],\
+-[	-2.58455138, -0.03632358, 0.01843000, 3.54822780, 0.90471386, 0.94524642, 0.54811044],\
+-[	-2.60197665, -0.03564968, 0.01820854, 3.56632697, 0.90644209, 0.94614178, 0.54803997],\
+-[	-2.61867756, -0.03499532, 0.01798905, 3.58368224, 0.90810850, 0.94701563, 0.54791326],\
+-[	-2.63469733, -0.03435985, 0.01777176, 3.60033748, 0.90971616, 0.94786840, 0.54773413],\
+-[	-2.65007629, -0.03374263, 0.01755683, 3.61633367, 0.91126798, 0.94870054, 0.54750610],\
+-[	-2.66485208, -0.03314303, 0.01734443, 3.63170905, 0.91276665, 0.94951253, 0.54723245],\
+-[	-2.67905981, -0.03256047, 0.01713468, 3.64649934, 0.91421471, 0.95030485, 0.54691620],\
+-[	-2.69273222, -0.03199435, 0.01692767, 3.66073787, 0.91561457, 0.95107798, 0.54656015],\
+-[	-2.70589990, -0.03144411, 0.01672347, 3.67445580, 0.91696845, 0.95183242, 0.54616691],\
+-[	-2.71859139, -0.03090919, 0.01652215, 3.68768220, 0.91827849, 0.95256866, 0.54573889],\
+-[	-2.73083334, -0.03038907, 0.01632374, 3.70044427, 0.91954667, 0.95328719, 0.54527835],\
+-[	-2.74265068, -0.02988323, 0.01612826, 3.71276745, 0.92077487, 0.95398851, 0.54478739],\
+-[	-2.75406669, -0.02939118, 0.01593573, 3.72467551, 0.92196486, 0.95467309, 0.54426797],\
+-[	-2.76510320, -0.02891245, 0.01574615, 3.73619076, 0.92311833, 0.95534141, 0.54372191],\
+-[	-2.77578063, -0.02844656, 0.01555950, 3.74733406, 0.92423685, 0.95599393, 0.54315095],\
+-[	-2.78611812, -0.02799309, 0.01537578, 3.75812503, 0.92532192, 0.95663113, 0.54255669],\
+-[	-2.79613364, -0.02755161, 0.01519496, 3.76858203, 0.92637496, 0.95725343, 0.54194065],\
+-[	-2.80584405, -0.02712170, 0.01501701, 3.77872235, 0.92739730, 0.95786128, 0.54130424],\
+-[	-2.81526521, -0.02670298, 0.01484191, 3.78856223, 0.92839022, 0.95845511, 0.54064880],\
+-[	-2.82441204, -0.02629506, 0.01466961, 3.79811697, 0.92935491, 0.95903532, 0.53997561],\
+-[	-2.83329857, -0.02589759, 0.01450009, 3.80740098, 0.93029251, 0.95960232, 0.53928586],\
+-[	-2.84193804, -0.02551021, 0.01433329, 3.81642782, 0.93120412, 0.96015649, 0.53858067],\
+-[	-2.85034293, -0.02513260, 0.01416919, 3.82521033, 0.93209074, 0.96069821, 0.53786112],\
+-[	-2.85852503, -0.02476443, 0.01400773, 3.83376061, 0.93295337, 0.96122784, 0.53712821],\
+-[	-2.86649548, -0.02440538, 0.01384888, 3.84209010, 0.93379291, 0.96174574, 0.53638291],\
+-[	-2.87426481, -0.02405518, 0.01369258, 3.85020963, 0.93461026, 0.96225224, 0.53562612],\
+-[	-2.88184299, -0.02371352, 0.01353880, 3.85812947, 0.93540625, 0.96274768, 0.53485873],\
+-[	-2.88923945, -0.02338014, 0.01338749, 3.86585931, 0.93618168, 0.96323236, 0.53408154],\
+-[	-2.89646316, -0.02305478, 0.01323861, 3.87340838, 0.93693730, 0.96370661, 0.53329534],\
+-[	-2.90352261, -0.02273718, 0.01309211, 3.88078542, 0.93767383, 0.96417071, 0.53250089],\
+-[	-2.91042585, -0.02242710, 0.01294795, 3.88799874, 0.93839197, 0.96462494, 0.53169888],\
+-[	-2.91718054, -0.02212431, 0.01280609, 3.89505623, 0.93909236, 0.96506960, 0.53089002],\
+-[	-2.92379397, -0.02182859, 0.01266648, 3.90196538, 0.93977564, 0.96550493, 0.53007493],\
+-[	-2.93027306, -0.02153971, 0.01252908, 3.90873334, 0.94044240, 0.96593120, 0.52925424],\
+-[	-2.93662439, -0.02125748, 0.01239386, 3.91536691, 0.94109322, 0.96634866, 0.52842854],\
+-[	-2.94285425, -0.02098169, 0.01226077, 3.92187256, 0.94172863, 0.96675754, 0.52759839],\
+-[	-2.94896860, -0.02071215, 0.01212977, 3.92825645, 0.94234915, 0.96715808, 0.52676434],\
+-[	-2.95497314, -0.02044868, 0.01200082, 3.93452446, 0.94295529, 0.96755050, 0.52592690],\
+-[	-2.96087331, -0.02019110, 0.01187388, 3.94068220, 0.94354752, 0.96793501, 0.52508656],\
+-[	-2.96667427, -0.01993924, 0.01174893, 3.94673503, 0.94412630, 0.96831183, 0.52424380],\
+-[	-2.97238097, -0.01969293, 0.01162591, 3.95268804, 0.94469206, 0.96868116, 0.52339906],\
+-[	-2.97799813, -0.01945201, 0.01150481, 3.95854612, 0.94524521, 0.96904318, 0.52255277],\
+-[	-2.98353025, -0.01921634, 0.01138557, 3.96431391, 0.94578617, 0.96939809, 0.52170535],\
+-[	-2.98898162, -0.01898576, 0.01126817, 3.96999586, 0.94631531, 0.96974607, 0.52085719],\
+-[	-2.99435636, -0.01876014, 0.01115257, 3.97559622, 0.94683300, 0.97008729, 0.52000868],\
+-[	-2.99965838, -0.01853932, 0.01103875, 3.98111905, 0.94733959, 0.97042193, 0.51916016],\
+-[	-3.00489143, -0.01832319, 0.01092666, 3.98656824, 0.94783543, 0.97075015, 0.51831198],\
+-[	-3.01005909, -0.01811161, 0.01081628, 3.99194748, 0.94832084, 0.97107211, 0.51746448],\
+-[	-3.01516479, -0.01790446, 0.01070757, 3.99726033, 0.94879613, 0.97138796, 0.51661796],\
+-[	-3.02021180, -0.01770162, 0.01060052, 4.00251017, 0.94926160, 0.97169786, 0.51577273],\
+-[	-3.02520323, -0.01750298, 0.01049508, 4.00770025, 0.94971755, 0.97200194, 0.51492908],\
+-[	-3.03014209, -0.01730842, 0.01039123, 4.01283367, 0.95016424, 0.97230035, 0.51408727],\
+-[	-3.03503122, -0.01711783, 0.01028894, 4.01791339, 0.95060195, 0.97259323, 0.51324758],\
+-[	-3.03987336, -0.01693111, 0.01018819, 4.02294225, 0.95103094, 0.97288070, 0.51241024],\
+-[	-3.04467112, -0.01674816, 0.01008894, 4.02792295, 0.95145145, 0.97316290, 0.51157550],\
+-[	-3.04942699, -0.01656889, 0.00999117, 4.03285810, 0.95186373, 0.97343995, 0.51074358],\
+-[	-3.05414335, -0.01639319, 0.00989485, 4.03775017, 0.95226799, 0.97371196, 0.50991471],\
+-[	-3.05882250, -0.01622097, 0.00979997, 4.04260153, 0.95266447, 0.97397906, 0.50908908],\
+-[	-3.06346660, -0.01605215, 0.00970649, 4.04741445, 0.95305338, 0.97424136, 0.50826689],\
+-[	-3.06807773, -0.01588664, 0.00961439, 4.05219109, 0.95343492, 0.97449897, 0.50744832],\
+-[	-3.07265789, -0.01572436, 0.00952364, 4.05693353, 0.95380929, 0.97475200, 0.50663356],\
+-[	-3.07720897, -0.01556522, 0.00943423, 4.06164375, 0.95417670, 0.97500055, 0.50582277],\
+-[	-3.08173279, -0.01540916, 0.00934613, 4.06632364, 0.95453731, 0.97524472, 0.50501611],\
+-[	-3.08623109, -0.01525608, 0.00925931, 4.07097501, 0.95489131, 0.97548461, 0.50421372],\
+-[	-3.09070551, -0.01510592, 0.00917376, 4.07559959, 0.95523888, 0.97572032, 0.50341576],\
+-[	-3.09515765, -0.01495861, 0.00908946, 4.08019904, 0.95558018, 0.97595193, 0.50262236],\
+-[	-3.09958899, -0.01481408, 0.00900637, 4.08477492, 0.95591537, 0.97617955, 0.50183364],\
+-[	-3.10400100, -0.01467225, 0.00892449, 4.08932875, 0.95624461, 0.97640325, 0.50104973],\
+-[	-3.10839504, -0.01453308, 0.00884379, 4.09386196, 0.95656806, 0.97662313, 0.50027073],\
+-[	-3.11277241, -0.01439648, 0.00876425, 4.09837593, 0.95688585, 0.97683927, 0.49949676],\
+-[	-3.11713438, -0.01426240, 0.00868586, 4.10287198, 0.95719812, 0.97705174, 0.49872791],\
+-[	-3.12148213, -0.01413079, 0.00860858, 4.10735134, 0.95750503, 0.97726063, 0.49796429],\
+-[	-3.12581680, -0.01400157, 0.00853241, 4.11181522, 0.95780669, 0.97746601, 0.49720597],\
+-[	-3.13013947, -0.01387471, 0.00845733, 4.11626476, 0.95810324, 0.97766796, 0.49645304],\
+-[	-3.13445117, -0.01375013, 0.00838331, 4.12070104, 0.95839480, 0.97786656, 0.49570558],\
+-[	-3.13875289, -0.01362779, 0.00831034, 4.12512510, 0.95868150, 0.97806186, 0.49496366],\
+-[	-3.14304556, -0.01350764, 0.00823841, 4.12953792, 0.95896344, 0.97825395, 0.49422734],\
+-[	-3.14733008, -0.01338963, 0.00816748, 4.13394045, 0.95924075, 0.97844289, 0.49349669],\
+-[	-3.15160728, -0.01327370, 0.00809756, 4.13833358, 0.95951352, 0.97862874, 0.49277177],\
+-[	-3.15587797, -0.01315981, 0.00802862, 4.14271816, 0.95978188, 0.97881157, 0.49205262],\
+-[	-3.16014293, -0.01304792, 0.00796064, 4.14709501, 0.96004592, 0.97899144, 0.49133930],\
+-[	-3.16440288, -0.01293797, 0.00789361, 4.15146491, 0.96030574, 0.97916842, 0.49063185],\
+-[	-3.16865852, -0.01282993, 0.00782751, 4.15582858, 0.96056144, 0.97934256, 0.48993030],\
+-[	-3.17291049, -0.01272375, 0.00776233, 4.16018673, 0.96081312, 0.97951392, 0.48923471],\
+-[	-3.17715942, -0.01261940, 0.00769805, 4.16454003, 0.96106086, 0.97968255, 0.48854509],\
+-[	-3.18140591, -0.01251682, 0.00763466, 4.16888910, 0.96130476, 0.97984852, 0.48786148],\
+-[	-3.18565052, -0.01241598, 0.00757215, 4.17323454, 0.96154490, 0.98001187, 0.48718390],\
+-[	-3.18989378, -0.01231685, 0.00751049, 4.17757693, 0.96178137, 0.98017266, 0.48651237],\
+-[	-3.19413619, -0.01221938, 0.00744968, 4.18191681, 0.96201424, 0.98033094, 0.48584692],\
+-[	-3.19837823, -0.01212354, 0.00738970, 4.18625469, 0.96224360, 0.98048676, 0.48518756],\
+-[	-3.20262035, -0.01202930, 0.00733053, 4.19059105, 0.96246952, 0.98064017, 0.48453431],\
+-[	-3.20686298, -0.01193661, 0.00727217, 4.19492637, 0.96269208, 0.98079121, 0.48388717],\
+-[	-3.21110653, -0.01184546, 0.00721461, 4.19926107, 0.96291135, 0.98093994, 0.48324615],\
+-[	-3.21535137, -0.01175579, 0.00715782, 4.20359557, 0.96312741, 0.98108639, 0.48261126],\
+-[	-3.21959786, -0.01166759, 0.00710179, 4.20793027, 0.96334031, 0.98123062, 0.48198250],\
+-[	-3.22384634, -0.01158082, 0.00704652, 4.21226552, 0.96355014, 0.98137266, 0.48135988],\
+-[	-3.22809714, -0.01149545, 0.00699199, 4.21660169, 0.96375694, 0.98151256, 0.48074338],\
+-[	-3.23235055, -0.01141146, 0.00693819, 4.22093909, 0.96396080, 0.98165035, 0.48013301],\
+-[	-3.23660685, -0.01132880, 0.00688511, 4.22527805, 0.96416176, 0.98178609, 0.47952876],\
+-[	-3.24086631, -0.01124746, 0.00683273, 4.22961885, 0.96435989, 0.98191980, 0.47893063],\
+-[	-3.24512918, -0.01116741, 0.00678105, 4.23396177, 0.96455525, 0.98205153, 0.47833860],\
+-[	-3.24939569, -0.01108862, 0.00673005, 4.23830707, 0.96474789, 0.98218132, 0.47775267],\
+-[	-3.25366606, -0.01101107, 0.00667973, 4.24265499, 0.96493787, 0.98230920, 0.47717282],\
+-[	-3.25794050, -0.01093473, 0.00663007, 4.24700577, 0.96512525, 0.98243520, 0.47659903],\
+-[	-3.26221918, -0.01085957, 0.00658106, 4.25135961, 0.96531007, 0.98255937, 0.47603130],\
+-[	-3.26650230, -0.01078557, 0.00653269, 4.25571672, 0.96549239, 0.98268174, 0.47546960],\
+-[	-3.27079000, -0.01071272, 0.00648495, 4.26007729, 0.96567225, 0.98280233, 0.47491391],\
+-[	-3.27508246, -0.01064097, 0.00643784, 4.26444149, 0.96584971, 0.98292119, 0.47436422],\
+-[	-3.27937980, -0.01057032, 0.00639134, 4.26880948, 0.96602482, 0.98303834, 0.47382051],\
+-[	-3.28368216, -0.01050074, 0.00634544, 4.27318141, 0.96619761, 0.98315382, 0.47328275],\
+-[	-3.28798965, -0.01043222, 0.00630013, 4.27755743, 0.96636814, 0.98326765, 0.47275091],\
+-[	-3.29230239, -0.01036472, 0.00625541, 4.28193767, 0.96653645, 0.98337988, 0.47222499],\
+-[	-3.29662047, -0.01029823, 0.00621126, 4.28632224, 0.96670258, 0.98349051, 0.47170494],\
+-[	-3.30094399, -0.01023273, 0.00616768, 4.29071126, 0.96686657, 0.98359960, 0.47119074],\
+-[	-3.30527303, -0.01016819, 0.00612465, 4.29510483, 0.96702847, 0.98370715, 0.47068237],\
+-[	-3.30960766, -0.01010461, 0.00608218, 4.29950304, 0.96718831, 0.98381321, 0.47017979],\
+-[	-3.31394795, -0.01004197, 0.00604024, 4.30390598, 0.96734614, 0.98391779, 0.46968299],\
+-[	-3.31829395, -0.00998024, 0.00599883, 4.30831372, 0.96750198, 0.98402093, 0.46919192],\
+-[	-3.32264573, -0.00991940, 0.00595795, 4.31272633, 0.96765588, 0.98412265, 0.46870656],\
+-[	-3.32700331, -0.00985945, 0.00591759, 4.31714387, 0.96780788, 0.98422297, 0.46822687],\
+-[	-3.33136675, -0.00980035, 0.00587773, 4.32156640, 0.96795801, 0.98432191, 0.46775284],\
+-[	-3.33573607, -0.00974211, 0.00583838, 4.32599396, 0.96810630, 0.98441951, 0.46728441],\
+-[	-3.34011130, -0.00968470, 0.00579951, 4.33042660, 0.96825278, 0.98451579, 0.46682157],\
+-[	-3.34449246, -0.00962810, 0.00576113, 4.33486436, 0.96839750, 0.98461077, 0.46636427],\
+-[	-3.34887956, -0.00957230, 0.00572323, 4.33930726, 0.96854048, 0.98470447, 0.46591248],\
+-[	-3.35327261, -0.00951729, 0.00568581, 4.34375533, 0.96868175, 0.98479691, 0.46546617],\
+-[	-3.35767163, -0.00946304, 0.00564884, 4.34820858, 0.96882135, 0.98488812, 0.46502531],\
+-[	-3.36207660, -0.00940956, 0.00561233, 4.35266704, 0.96895930, 0.98497811, 0.46458986],\
+-[	-3.36648753, -0.00935681, 0.00557627, 4.35713071, 0.96909563, 0.98506691, 0.46415977],\
+-[	-3.37090440, -0.00930480, 0.00554066, 4.36159960, 0.96923037, 0.98515454, 0.46373503],\
+-[	-3.37532721, -0.00925350, 0.00550548, 4.36607371, 0.96936355, 0.98524102, 0.46331559],\
+-[	-3.37975593, -0.00920290, 0.00547073, 4.37055303, 0.96949520, 0.98532636, 0.46290141],\
+-[	-3.38419056, -0.00915300, 0.00543641, 4.37503756, 0.96962535, 0.98541059, 0.46249246],\
+-[	-3.38863105, -0.00910377, 0.00540251, 4.37952729, 0.96975401, 0.98549373, 0.46208870],\
+-[	-3.39307740, -0.00905520, 0.00536901, 4.38402220, 0.96988122, 0.98557578, 0.46169009],\
+-[	-3.39752956, -0.00900729, 0.00533593, 4.38852227, 0.97000699, 0.98565678, 0.46129660],\
+-[	-3.40198751, -0.00896002, 0.00530324, 4.39302749, 0.97013137, 0.98573674, 0.46090819],\
+-[	-3.40645121, -0.00891338, 0.00527095, 4.39753783, 0.97025435, 0.98581567, 0.46052482],\
+-[	-3.41092063, -0.00886736, 0.00523904, 4.40205326, 0.97037598, 0.98589360, 0.46014645],\
+-[	-3.41539571, -0.00882195, 0.00520752, 4.40657376, 0.97049628, 0.98597053, 0.45977305],\
+-[	-3.41987643, -0.00877713, 0.00517637, 4.41109929, 0.97061526, 0.98604649, 0.45940458],\
+-[	-3.42436272, -0.00873290, 0.00514560, 4.41562982, 0.97073295, 0.98612149, 0.45904100],\
+-[	-3.42885456, -0.00868925, 0.00511520, 4.42016531, 0.97084936, 0.98619555, 0.45868227],\
+-[	-3.43335188, -0.00864617, 0.00508515, 4.42470571, 0.97096453, 0.98626868, 0.45832835],\
+-[	-3.43785464, -0.00860364, 0.00505546, 4.42925100, 0.97107847, 0.98634090, 0.45797921],\
+-[	-3.44236278, -0.00856166, 0.00502613, 4.43380112, 0.97119120, 0.98641222, 0.45763480],\
+-[	-3.44687625, -0.00852021, 0.00499714, 4.43835604, 0.97130274, 0.98648265, 0.45729509],\
+-[	-3.45139500, -0.00847930, 0.00496849, 4.44291570, 0.97141311, 0.98655221, 0.45696005],\
+-[	-3.45591895, -0.00843890, 0.00494017, 4.44748005, 0.97152233, 0.98662092, 0.45662962],\
+-[	-3.46044807, -0.00839902, 0.00491219, 4.45204905, 0.97163042, 0.98668879, 0.45630378],\
+-[	-3.46498227, -0.00835964, 0.00488454, 4.45662264, 0.97173739, 0.98675583, 0.45598249],\
+-[	-3.46952151, -0.00832075, 0.00485721, 4.46120077, 0.97184326, 0.98682205, 0.45566570],\
+-[	-3.47406572, -0.00828234, 0.00483019, 4.46578338, 0.97194805, 0.98688746, 0.45535338],\
+-[	-3.47861484, -0.00824442, 0.00480349, 4.47037042, 0.97205179, 0.98695209, 0.45504550],\
+-[	-3.48316880, -0.00820696, 0.00477710, 4.47496184, 0.97215447, 0.98701594, 0.45474201],\
+-[	-3.48772753, -0.00816996, 0.00475102, 4.47955756, 0.97225612, 0.98707902, 0.45444287],\
+-[	-3.49229097, -0.00813342, 0.00472523, 4.48415755, 0.97235676, 0.98714134, 0.45414806],\
+-[	-3.49685904, -0.00809733, 0.00469975, 4.48876172, 0.97245640, 0.98720293, 0.45385753],\
+-[	-3.50143169, -0.00806167, 0.00467455, 4.49337002, 0.97255506, 0.98726378, 0.45357123],\
+-[	-3.50600884, -0.00802644, 0.00464964, 4.49798240, 0.97265275, 0.98732391, 0.45328915],\
+-[	-3.51059042, -0.00799164, 0.00462502, 4.50259878, 0.97274949, 0.98738333, 0.45301123],\
+-[	-3.51517637, -0.00795726, 0.00460068, 4.50721911, 0.97284528, 0.98744206, 0.45273745],\
+-[	-3.51976660, -0.00792329, 0.00457662, 4.51184331, 0.97294015, 0.98750009, 0.45246776],\
+-[	-3.52436105, -0.00788972, 0.00455283, 4.51647133, 0.97303411, 0.98755745, 0.45220214],\
+-[	-3.52895964, -0.00785655, 0.00452930, 4.52110309, 0.97312718, 0.98761414, 0.45194053],\
+-[	-3.53356231, -0.00782377, 0.00450605, 4.52573854, 0.97321936, 0.98767018, 0.45168291],\
+-[	-3.53816898, -0.00779138, 0.00448306, 4.53037760, 0.97331067, 0.98772556, 0.45142923],\
+-[	-3.54277957, -0.00775937, 0.00446032, 4.53502021, 0.97340111, 0.98778031, 0.45117947],\
+-[	-3.54739402, -0.00772773, 0.00443784, 4.53966629, 0.97349072, 0.98783443, 0.45093359],\
+-[	-3.55201224, -0.00769645, 0.00441562, 4.54431579, 0.97357949, 0.98788793, 0.45069155],\
+-[	-3.55663417, -0.00766554, 0.00439364, 4.54896864, 0.97366744, 0.98794082, 0.45045331],\
+-[	-3.56125973, -0.00763498, 0.00437190, 4.55362475, 0.97375458, 0.98799311, 0.45021885],\
+-[	-3.56588885, -0.00760478, 0.00435041, 4.55828407, 0.97384092, 0.98804481, 0.44998812],\
+-[	-3.57052145, -0.00757491, 0.00432916, 4.56294653, 0.97392648, 0.98809593, 0.44976109],\
+-[	-3.57515745, -0.00754539, 0.00430814, 4.56761206, 0.97401126, 0.98814646, 0.44953772],\
+-[	-3.57979678, -0.00751620, 0.00428736, 4.57228058, 0.97409528, 0.98819644, 0.44931799],\
+-[	-3.58443937, -0.00748734, 0.00426681, 4.57695203, 0.97417854, 0.98824585, 0.44910185],\
+-[	-3.58908514, -0.00745880, 0.00424648, 4.58162633, 0.97426107, 0.98829472, 0.44888928],\
+-[	-3.59373401, -0.00743059, 0.00422637, 4.58630343, 0.97434286, 0.98834304, 0.44868023],\
+-[	-3.59838592, -0.00740268, 0.00420649, 4.59098323, 0.97442393, 0.98839083, 0.44847468],\
+-[	-3.60304078, -0.00737509, 0.00418682, 4.59566569, 0.97450428, 0.98843809, 0.44827259],\
+-[	-3.60769852, -0.00734780, 0.00416737, 4.60035072, 0.97458394, 0.98848483, 0.44807392],\
+-[	-3.61235907, -0.00732081, 0.00414813, 4.60503826, 0.97466290, 0.98853106, 0.44787865],\
+-[	-3.61702235, -0.00729411, 0.00412910, 4.60972823, 0.97474118, 0.98857678, 0.44768674],\
+-[	-3.62168828, -0.00726771, 0.00411028, 4.61442057, 0.97481879, 0.98862201, 0.44749816],\
+-[	-3.62635680, -0.00724159, 0.00409166, 4.61911521, 0.97489573, 0.98866675, 0.44731288],\
+-[	-3.63102782, -0.00721575, 0.00407325, 4.62381207, 0.97497202, 0.98871100, 0.44713086],\
+-[	-3.63570128, -0.00719020, 0.00405503, 4.62851108, 0.97504766, 0.98875478, 0.44695207],\
+-[	-3.64037709, -0.00716491, 0.00403700, 4.63321218, 0.97512267, 0.98879808, 0.44677649],\
+-[	-3.64505519, -0.00713990, 0.00401918, 4.63791530, 0.97519704, 0.98884093, 0.44660407],\
+-[	-3.64973550, -0.00711515, 0.00400154, 4.64262036, 0.97527080, 0.98888331, 0.44643478],\
+-[	-3.65441795, -0.00709066, 0.00398409, 4.64732729, 0.97534394, 0.98892525, 0.44626861],\
+-[	-3.65910247, -0.00706643, 0.00396683, 4.65203604, 0.97541648, 0.98896674, 0.44610551],\
+-[	-3.66378898, -0.00704246, 0.00394975, 4.65674652, 0.97548842, 0.98900779, 0.44594545],\
+-[	-3.66847740, -0.00701873, 0.00393286, 4.66145867, 0.97555978, 0.98904841, 0.44578841],\
+-[	-3.67316767, -0.00699526, 0.00391614, 4.66617242, 0.97563055, 0.98908860, 0.44563435],\
+-[	-3.67785972, -0.00697202, 0.00389960, 4.67088770, 0.97570076, 0.98912838, 0.44548324],\
+-[	-3.68255347, -0.00694903, 0.00388324, 4.67560444, 0.97577039, 0.98916773, 0.44533506],\
+-[	-3.68724885, -0.00692627, 0.00386705, 4.68032258, 0.97583947, 0.98920668, 0.44518977],\
+-[	-3.69194579, -0.00690374, 0.00385103, 4.68504204, 0.97590800, 0.98924523, 0.44504735],\
+-[	-3.69664421, -0.00688145, 0.00383518, 4.68976277, 0.97597598, 0.98928338, 0.44490776],\
+-[	-3.70134406, -0.00685938, 0.00381949, 4.69448468, 0.97604342, 0.98932113, 0.44477099],\
+-[	-3.70604525, -0.00683753, 0.00380397, 4.69920772, 0.97611034, 0.98935850, 0.44463698],\
+-[	-3.71074772, -0.00681590, 0.00378861, 4.70393182, 0.97617673, 0.98939548, 0.44450573],\
+-[	-3.71545140, -0.00679449, 0.00377342, 4.70865691, 0.97624261, 0.98943209, 0.44437720],\
+-[	-3.72015622, -0.00677330, 0.00375838, 4.71338292, 0.97630797, 0.98946833, 0.44425137],\
+-[	-3.72486211, -0.00675231, 0.00374349, 4.71810980, 0.97637283, 0.98950420, 0.44412820],\
+-[	-3.72956899, -0.00673153, 0.00372877, 4.72283746, 0.97643720, 0.98953970, 0.44400767],\
+-[	-3.73427682, -0.00671096, 0.00371419, 4.72756585, 0.97650107, 0.98957485, 0.44388975],\
+-[	-3.73898550, -0.00669059, 0.00369976, 4.73229491, 0.97656446, 0.98960965, 0.44377441],\
+-[	-3.74369498, -0.00667042, 0.00368549, 4.73702457, 0.97662737, 0.98964409, 0.44366163],\
+-[	-3.74840519, -0.00665044, 0.00367136, 4.74175475, 0.97668980, 0.98967820, 0.44355139],\
+-[	-3.75311607, -0.00663066, 0.00365738, 4.74648541, 0.97675177, 0.98971196, 0.44344364],\
+-[	-3.75782754, -0.00661107, 0.00364354, 4.75121648, 0.97681327, 0.98974540, 0.44333838],\
+-[	-3.76253955, -0.00659167, 0.00362984, 4.75594788, 0.97687432, 0.98977850, 0.44323557],\
+-[	-3.76725202, -0.00657245, 0.00361628, 4.76067957, 0.97693492, 0.98981127, 0.44313518],\
+-[	-3.77196489, -0.00655341, 0.00360286, 4.76541147, 0.97699508, 0.98984372, 0.44303720],\
+-[	-3.77667809, -0.00653456, 0.00358958, 4.77014353, 0.97705479, 0.98987586, 0.44294159],\
+-[	-3.78139156, -0.00651589, 0.00357643, 4.77487568, 0.97711407, 0.98990768, 0.44284833],\
+-[	-3.78610525, -0.00649739, 0.00356342, 4.77960786, 0.97717292, 0.98993920, 0.44275740],\
+-[	-3.79081907, -0.00647906, 0.00355053, 4.78434001, 0.97723134, 0.98997040, 0.44266877],\
+-[	-3.79553298, -0.00646091, 0.00353778, 4.78907207, 0.97728935, 0.99000131, 0.44258241],\
+-[	-3.80024690, -0.00644292, 0.00352516, 4.79380398, 0.97734694, 0.99003192, 0.44249831],\
+-[	-3.80496078, -0.00642510, 0.00351266, 4.79853567, 0.97740413, 0.99006223, 0.44241644],\
+-[	-3.80967455, -0.00640745, 0.00350029, 4.80326710, 0.97746090, 0.99009226, 0.44233677],\
+-[	-3.81438815, -0.00638996, 0.00348804, 4.80799819, 0.97751728, 0.99012200, 0.44225928],\
+-[	-3.81910152, -0.00637262, 0.00347592, 4.81272889, 0.97757326, 0.99015145, 0.44218395],\
+-[	-3.82381460, -0.00635545, 0.00346392, 4.81745915, 0.97762886, 0.99018063, 0.44211076],\
+-[	-3.82852732, -0.00633843, 0.00345204, 4.82218889, 0.97768406, 0.99020953, 0.44203968],\
+-[	-3.83323964, -0.00632157, 0.00344027, 4.82691808, 0.97773889, 0.99023816, 0.44197068],\
+-[	-3.83795149, -0.00630485, 0.00342863, 4.83164664, 0.97779333, 0.99026652, 0.44190376],\
+-[	-3.84266280, -0.00628829, 0.00341709, 4.83637452, 0.97784741, 0.99029462, 0.44183887],\
+-[	-3.84737353, -0.00627187, 0.00340568, 4.84110166, 0.97790111, 0.99032245, 0.44177601],\
+-[	-3.85208361, -0.00625560, 0.00339437, 4.84582801, 0.97795446, 0.99035003, 0.44171515],\
+-[	-3.85679299, -0.00623948, 0.00338318, 4.85055351, 0.97800744, 0.99037735, 0.44165627],\
+-[	-3.86150160, -0.00622349, 0.00337210, 4.85527811, 0.97806006, 0.99040441, 0.44159934],\
+-[	-3.86620939, -0.00620765, 0.00336112, 4.86000175, 0.97811233, 0.99043123, 0.44154435],\
+-[	-3.87091631, -0.00619194, 0.00335026, 4.86472437, 0.97816426, 0.99045780, 0.44149127],\
+-[	-3.87562229, -0.00617637, 0.00333950, 4.86944592, 0.97821584, 0.99048413, 0.44144009],\
+-[	-3.88032729, -0.00616094, 0.00332885, 4.87416635, 0.97826708, 0.99051022, 0.44139078],\
+-[	-3.88503124, -0.00614564, 0.00331830, 4.87888561, 0.97831798, 0.99053607, 0.44134332],\
+-[	-3.88973410, -0.00613047, 0.00330785, 4.88360363, 0.97836855, 0.99056168, 0.44129769],\
+-[	-3.89443580, -0.00611543, 0.00329750, 4.88832037, 0.97841879, 0.99058707, 0.44125387],\
+-[	-3.89913629, -0.00610051, 0.00328726, 4.89303577, 0.97846870, 0.99061223, 0.44121185],\
+-[	-3.90383552, -0.00608573, 0.00327711, 4.89774979, 0.97851829, 0.99063716, 0.44117159],\
+-[	-3.90853343, -0.00607107, 0.00326707, 4.90246236, 0.97856756, 0.99066187, 0.44113309],\
+-[	-3.91322998, -0.00605653, 0.00325712, 4.90717345, 0.97861652, 0.99068635, 0.44109632],\
+-[	-3.91792511, -0.00604212, 0.00324726, 4.91188299, 0.97866516, 0.99071062, 0.44106126],\
+-[	-3.92261876, -0.00602782, 0.00323750, 4.91659094, 0.97871350, 0.99073468, 0.44102790],\
+-[	-3.92731089, -0.00601364, 0.00322784, 4.92129724, 0.97876153, 0.99075852, 0.44099621],\
+-[	-3.93200144, -0.00599958, 0.00321826, 4.92600186, 0.97880926, 0.99078215, 0.44096618],\
+-[	-3.93669036, -0.00598564, 0.00320878, 4.93070472, 0.97885669, 0.99080558, 0.44093779],\
+-[	-3.94137761, -0.00597181, 0.00319939, 4.93540580, 0.97890383, 0.99082880, 0.44091101],\
+-[	-3.94606313, -0.00595809, 0.00319009, 4.94010504, 0.97895067, 0.99085182, 0.44088584],\
+-[	-3.95074687, -0.00594449, 0.00318088, 4.94480238, 0.97899722, 0.99087463, 0.44086225],\
+-[	-3.95542878, -0.00593099, 0.00317175, 4.94949779, 0.97904349, 0.99089725, 0.44084022],\
+-[	-3.96010882, -0.00591761, 0.00316271, 4.95419121, 0.97908947, 0.99091968, 0.44081975],\
+-[	-3.96478693, -0.00590433, 0.00315376, 4.95888260, 0.97913517, 0.99094191, 0.44080080],\
+-[	-3.96946306, -0.00589116, 0.00314489, 4.96357191, 0.97918060, 0.99096395, 0.44078336],\
+-[	-3.97413718, -0.00587809, 0.00313611, 4.96825909, 0.97922575, 0.99098581, 0.44076742],\
+-[	-3.97880922, -0.00586512, 0.00312740, 4.97294410, 0.97927063, 0.99100747, 0.44075296],\
+-[	-3.98347915, -0.00585226, 0.00311878, 4.97762689, 0.97931524, 0.99102895, 0.44073996],\
+-[	-3.98814692, -0.00583950, 0.00311024, 4.98230742, 0.97935959, 0.99105026, 0.44072841],\
+-[	-3.99281247, -0.00582684, 0.00310178, 4.98698564, 0.97940367, 0.99107138, 0.44071828],\
+-[	-3.99747577, -0.00581428, 0.00309340, 4.99166150, 0.97944749, 0.99109232, 0.44070956],\
+-[	-4.00213677, -0.00580181, 0.00308510, 4.99633496, 0.97949105, 0.99111309, 0.44070224],\
+-[	-4.00679542, -0.00578944, 0.00307688, 5.00100598, 0.97953436, 0.99113368, 0.44069630],\
+-[	-4.01145168, -0.00577717, 0.00306873, 5.00567451, 0.97957741, 0.99115410, 0.44069173],\
+-[	-4.01610551, -0.00576499, 0.00306065, 5.01034052, 0.97962021, 0.99117436, 0.44068850],\
+-[	-4.02075685, -0.00575290, 0.00305266, 5.01500395, 0.97966277, 0.99119444, 0.44068660],\
+-[	-4.02540567, -0.00574091, 0.00304473, 5.01966476, 0.97970508, 0.99121436, 0.44068602],\
+-[	-4.03005191, -0.00572900, 0.00303688, 5.02432291, 0.97974715, 0.99123412, 0.44068674],\
+-[	-4.03469555, -0.00571719, 0.00302910, 5.02897837, 0.97978897, 0.99125371, 0.44068875],\
+-[	-4.03933654, -0.00570546, 0.00302139, 5.03363108, 0.97983056, 0.99127315, 0.44069203],\
+-[	-4.04397482, -0.00569382, 0.00301375, 5.03828100, 0.97987192, 0.99129242, 0.44069657],\
+-[	-4.04861037, -0.00568227, 0.00300619, 5.04292810, 0.97991304, 0.99131154, 0.44070234],\
+-[	-4.05324314, -0.00567080, 0.00299869, 5.04757234, 0.97995393, 0.99133051, 0.44070935],\
+-[	-4.05787308, -0.00565942, 0.00299126, 5.05221367, 0.97999459, 0.99134932, 0.44071756],\
+-[	-4.06250017, -0.00564812, 0.00298390, 5.05685205, 0.98003502, 0.99136799, 0.44072698],\
+-[	-4.06712435, -0.00563690, 0.00297660, 5.06148744, 0.98007523, 0.99138650, 0.44073757],\
+-[	-4.07174558, -0.00562577, 0.00296937, 5.06611981, 0.98011522, 0.99140486, 0.44074934],\
+-[	-4.07636383, -0.00561471, 0.00296221, 5.07074912, 0.98015498, 0.99142308, 0.44076227],\
+-[	-4.08097906, -0.00560374, 0.00295511, 5.07537532, 0.98019453, 0.99144116, 0.44077633],\
+-[	-4.08559122, -0.00559284, 0.00294807, 5.07999838, 0.98023386, 0.99145909, 0.44079153],\
+-[	-4.09020028, -0.00558202, 0.00294110, 5.08461826, 0.98027298, 0.99147688, 0.44080784],\
+-[	-4.09480620, -0.00557128, 0.00293419, 5.08923492, 0.98031189, 0.99149453, 0.44082525],\
+-[	-4.09940894, -0.00556061, 0.00292734, 5.09384833, 0.98035059, 0.99151204, 0.44084375],\
+-[	-4.10400846, -0.00555002, 0.00292056, 5.09845844, 0.98038908, 0.99152942, 0.44086333],\
+-[	-4.10860473, -0.00553950, 0.00291383, 5.10306522, 0.98042736, 0.99154666, 0.44088396],\
+-[	-4.11319770, -0.00552906, 0.00290717, 5.10766864, 0.98046544, 0.99156377, 0.44090565],\
+-[	-4.11778734, -0.00551869, 0.00290056, 5.11226865, 0.98050332, 0.99158075, 0.44092838],\
+-[	-4.12237362, -0.00550839, 0.00289401, 5.11686523, 0.98054100, 0.99159760, 0.44095213],\
+-[	-4.12695649, -0.00549816, 0.00288752, 5.12145833, 0.98057848, 0.99161431, 0.44097689],\
+-[	-4.13153592, -0.00548801, 0.00288109, 5.12604792, 0.98061577, 0.99163090, 0.44100265],\
+-[	-4.13611188, -0.00547792, 0.00287471, 5.13063396, 0.98065286, 0.99164737, 0.44102940],\
+-[	-4.14068433, -0.00546790, 0.00286839, 5.13521643, 0.98068975, 0.99166371, 0.44105712],\
+-[	-4.14525323, -0.00545795, 0.00286213, 5.13979528, 0.98072646, 0.99167992, 0.44108581],\
+-[	-4.14981854, -0.00544806, 0.00285592, 5.14437048, 0.98076298, 0.99169602, 0.44111544],\
+-[	-4.15438025, -0.00543824, 0.00284976, 5.14894200, 0.98079931, 0.99171199, 0.44114602],\
+-[	-4.15893830, -0.00542849, 0.00284366, 5.15350981, 0.98083545, 0.99172785, 0.44117753],\
+-[	-4.16349267, -0.00541880, 0.00283761, 5.15807386, 0.98087141, 0.99174358, 0.44120995],\
+-[	-4.16804332, -0.00540918, 0.00283162, 5.16263414, 0.98090719, 0.99175920, 0.44124328],\
+-[	-4.17259021, -0.00539962, 0.00282567, 5.16719060, 0.98094278, 0.99177471, 0.44127750],\
+-[	-4.17713333, -0.00539012, 0.00281978, 5.17174321, 0.98097820, 0.99179010, 0.44131260],\
+-[	-4.18167262, -0.00538069, 0.00281394, 5.17629194, 0.98101344, 0.99180537, 0.44134857],\
+-[	-4.18620807, -0.00537131, 0.00280815, 5.18083676, 0.98104851, 0.99182054, 0.44138541],\
+-[	-4.19073963, -0.00536200, 0.00280241, 5.18537763, 0.98108340, 0.99183560, 0.44142309],\
+-[	-4.19526728, -0.00535274, 0.00279671, 5.18991453, 0.98111811, 0.99185054, 0.44146162],\
+-[	-4.19979098, -0.00534355, 0.00279107, 5.19444743, 0.98115266, 0.99186538, 0.44150097],\
+-[	-4.20431070, -0.00533441, 0.00278548, 5.19897629, 0.98118704, 0.99188011, 0.44154114],\
+-[	-4.20882641, -0.00532534, 0.00277993, 5.20350108, 0.98122125, 0.99189474, 0.44158211],\
+-[	-4.21333809, -0.00531632, 0.00277443, 5.20802177, 0.98125529, 0.99190926, 0.44162389],\
+-[	-4.21784569, -0.00530735, 0.00276897, 5.21253834, 0.98128916, 0.99192367, 0.44166645],\
+-[	-4.22234919, -0.00529845, 0.00276357, 5.21705075, 0.98132288, 0.99193799, 0.44170979],\
+-[	-4.22684856, -0.00528959, 0.00275820, 5.22155897, 0.98135643, 0.99195220, 0.44175389],\
+-[	-4.23134377, -0.00528080, 0.00275289, 5.22606297, 0.98138982, 0.99196631, 0.44179875],\
+-[	-4.23583479, -0.00527206, 0.00274762, 5.23056273, 0.98142305, 0.99198033, 0.44184436],\
+-[	-4.24032159, -0.00526337, 0.00274239, 5.23505822, 0.98145612, 0.99199424, 0.44189070],\
+-[	-4.24480413, -0.00525473, 0.00273720, 5.23954940, 0.98148904, 0.99200806, 0.44193777],\
+-[	-4.24928241, -0.00524615, 0.00273206, 5.24403626, 0.98152180, 0.99202179, 0.44198557],\
+-[	-4.25375637, -0.00523762, 0.00272697, 5.24851875, 0.98155440, 0.99203541, 0.44203406],\
+-[	-4.25822600, -0.00522914, 0.00272191, 5.25299686, 0.98158685, 0.99204895, 0.44208326],\
+-[	-4.26269127, -0.00522071, 0.00271690, 5.25747055, 0.98161916, 0.99206239, 0.44213315],\
+-[	-4.26715214, -0.00521233, 0.00271193, 5.26193981, 0.98165131, 0.99207574, 0.44218372],\
+-[	-4.27160860, -0.00520401, 0.00270700, 5.26640459, 0.98168331, 0.99208900, 0.44223496],\
+-[	-4.27606061, -0.00519573, 0.00270211, 5.27086489, 0.98171516, 0.99210217, 0.44228686],\
+-[	-4.28050816, -0.00518750, 0.00269726, 5.27532066, 0.98174687, 0.99211524, 0.44233942],\
+-[	-4.28495120, -0.00517932, 0.00269245, 5.27977188, 0.98177844, 0.99212824, 0.44239262],\
+-[	-4.28938971, -0.00517119, 0.00268767, 5.28421853, 0.98180986, 0.99214114, 0.44244646],\
+-[	-4.29382368, -0.00516310, 0.00268294, 5.28866058, 0.98184113, 0.99215396, 0.44250093],\
+-[	-4.29825306, -0.00515506, 0.00267825, 5.29309800, 0.98187227, 0.99216669, 0.44255601],\
+-[	-4.30267785, -0.00514707, 0.00267359, 5.29753078, 0.98190326, 0.99217934, 0.44261171],\
+-[	-4.30709800, -0.00513912, 0.00266898, 5.30195888, 0.98193412, 0.99219190, 0.44266801],\
+-[	-4.31151350, -0.00513122, 0.00266440, 5.30638227, 0.98196483, 0.99220438, 0.44272490],\
+-[	-4.31592431, -0.00512337, 0.00265985, 5.31080095, 0.98199542, 0.99221678, 0.44278238],\
+-[	-4.32033043, -0.00511555, 0.00265535, 5.31521487, 0.98202586, 0.99222910, 0.44284044],\
+-[	-4.32473181, -0.00510779, 0.00265088, 5.31962403, 0.98205617, 0.99224134, 0.44289907],\
+-[	-4.32912844, -0.00510006, 0.00264644, 5.32402838, 0.98208635, 0.99225350, 0.44295825],\
+-[	-4.33352030, -0.00509238, 0.00264204, 5.32842792, 0.98211639, 0.99226558, 0.44301800],\
+-[	-4.33790735, -0.00508474, 0.00263768, 5.33282261, 0.98214630, 0.99227758, 0.44307829],\
+-[	-4.34228957, -0.00507715, 0.00263335, 5.33721243, 0.98217609, 0.99228950, 0.44313911],\
+-[	-4.34666695, -0.00506959, 0.00262906, 5.34159736, 0.98220574, 0.99230135, 0.44320047],\
+-[	-4.35103946, -0.00506208, 0.00262479, 5.34597738, 0.98223526, 0.99231313, 0.44326235],\
+-[	-4.35540706, -0.00505461, 0.00262057, 5.35035246, 0.98226466, 0.99232483, 0.44332475],\
+-[	-4.35976976, -0.00504718, 0.00261637, 5.35472258, 0.98229393, 0.99233645, 0.44338766],\
+-[	-4.36412751, -0.00503978, 0.00261221, 5.35908772, 0.98232308, 0.99234800, 0.44345107],\
+-[	-4.36848029, -0.00503243, 0.00260808, 5.36344786, 0.98235210, 0.99235949, 0.44351497],\
+-[	-4.37282810, -0.00502512, 0.00260399, 5.36780298, 0.98238100, 0.99237089, 0.44357936],\
+-[	-4.37717089, -0.00501785, 0.00259992, 5.37215304, 0.98240977, 0.99238223, 0.44364422],\
+-[	-4.38150866, -0.00501061, 0.00259589, 5.37649804, 0.98243843, 0.99239350, 0.44370956],\
+-[	-4.38584137, -0.00500341, 0.00259189, 5.38083796, 0.98246696, 0.99240470, 0.44377537],\
+-[	-4.39016901, -0.00499626, 0.00258792, 5.38517276, 0.98249538, 0.99241583, 0.44384163],\
+-[	-4.39449156, -0.00498913, 0.00258397, 5.38950243, 0.98252368, 0.99242689, 0.44390835],\
+-[	-4.39880900, -0.00498205, 0.00258006, 5.39382695, 0.98255186, 0.99243789, 0.44397551],\
+-[	-4.40312130, -0.00497500, 0.00257618, 5.39814630, 0.98257992, 0.99244881, 0.44404311],\
+-[	-4.40742845, -0.00496799, 0.00257233, 5.40246046, 0.98260787, 0.99245968, 0.44411114],\
+-[	-4.41173042, -0.00496101, 0.00256851, 5.40676940, 0.98263570, 0.99247047, 0.44417960],\
+-[	-4.41602719, -0.00495407, 0.00256472, 5.41107312, 0.98266342, 0.99248121, 0.44424847],\
+-[	-4.42031875, -0.00494717, 0.00256096, 5.41537158, 0.98269102, 0.99249187, 0.44431776],\
+-[	-4.42460508, -0.00494030, 0.00255722, 5.41966478, 0.98271852, 0.99250248, 0.44438745],\
+-[	-4.42888615, -0.00493346, 0.00255351, 5.42395268, 0.98274590, 0.99251302, 0.44445755],\
+-[	-4.43316194, -0.00492666, 0.00254984, 5.42823528, 0.98277317, 0.99252350, 0.44452803],\
+-[	-4.43743244, -0.00491989, 0.00254618, 5.43251255, 0.98280033, 0.99253392, 0.44459891],\
+-[	-4.44169763, -0.00491316, 0.00254256, 5.43678447, 0.98282738, 0.99254428, 0.44467016],\
+-[	-4.44595749, -0.00490646, 0.00253896, 5.44105103, 0.98285433, 0.99255458, 0.44474179],\
+-[	-4.45021200, -0.00489979, 0.00253539, 5.44531221, 0.98288117, 0.99256482, 0.44481379],\
+-[	-4.45446115, -0.00489316, 0.00253185, 5.44956799, 0.98290790, 0.99257500, 0.44488616],\
+-[	-4.45870490, -0.00488655, 0.00252833, 5.45381835, 0.98293452, 0.99258512, 0.44495888],\
+-[	-4.46294326, -0.00487998, 0.00252484, 5.45806327, 0.98296105, 0.99259518, 0.44503195],\
+-[	-4.46717619, -0.00487344, 0.00252137, 5.46230275, 0.98298746, 0.99260519, 0.44510537],\
+-[	-4.47140368, -0.00486693, 0.00251793, 5.46653675, 0.98301378, 0.99261514, 0.44517912],\
+-[	-4.47562571, -0.00486046, 0.00251451, 5.47076526, 0.98303999, 0.99262503, 0.44525322],\
+-[	-4.47984227, -0.00485401, 0.00251112, 5.47498827, 0.98306610, 0.99263487, 0.44532764],\
+-[	-4.48405334, -0.00484759, 0.00250775, 5.47920575, 0.98309211, 0.99264465, 0.44540238],\
+-[	-4.48825891, -0.00484121, 0.00250441, 5.48341770, 0.98311802, 0.99265438, 0.44547744],\
+-[	-4.49245894, -0.00483485, 0.00250109, 5.48762409, 0.98314383, 0.99266406, 0.44555282],\
+-[	-4.49665344, -0.00482852, 0.00249780, 5.49182492, 0.98316954, 0.99267368, 0.44562850],\
+-[	-4.50084238, -0.00482223, 0.00249453, 5.49602015, 0.98319515, 0.99268325, 0.44570449],\
+-[	-4.50502575, -0.00481596, 0.00249128, 5.50020979, 0.98322067, 0.99269277, 0.44578077],\
+-[	-4.50920352, -0.00480972, 0.00248805, 5.50439380, 0.98324609, 0.99270223, 0.44585734],\
+-[	-4.51337569, -0.00480350, 0.00248485, 5.50857219, 0.98327141, 0.99271164, 0.44593420],\
+-[	-4.51754224, -0.00479732, 0.00248167, 5.51274492, 0.98329664, 0.99272101, 0.44601134],\
+-[	-4.52170315, -0.00479117, 0.00247851, 5.51691199, 0.98332177, 0.99273032, 0.44608876],\
+-[	-4.52585842, -0.00478504, 0.00247538, 5.52107338, 0.98334681, 0.99273958, 0.44616645],\
+-[	-4.53000801, -0.00477894, 0.00247227, 5.52522907, 0.98337176, 0.99274880, 0.44624440],\
+-[	-4.53415192, -0.00477286, 0.00246917, 5.52937906, 0.98339661, 0.99275796, 0.44632262],\
+-[	-4.53829014, -0.00476682, 0.00246610, 5.53352332, 0.98342137, 0.99276708, 0.44640109],\
+-[	-4.54242264, -0.00476080, 0.00246306, 5.53766184, 0.98344605, 0.99277615, 0.44647982],\
+-[	-4.54654942, -0.00475480, 0.00246003, 5.54179461, 0.98347063, 0.99278517, 0.44655879],\
+-[	-4.55067046, -0.00474884, 0.00245702, 5.54592162, 0.98349512, 0.99279414, 0.44663801],\
+-[	-4.55478574, -0.00474290, 0.00245404, 5.55004285, 0.98351952, 0.99280307, 0.44671746],\
+-[	-4.55889526, -0.00473698, 0.00245107, 5.55415828, 0.98354383, 0.99281195, 0.44679715],\
+-[	-4.56299899, -0.00473109, 0.00244812, 5.55826790, 0.98356806, 0.99282079, 0.44687706],\
+-[	-4.56709693, -0.00472522, 0.00244520, 5.56237170, 0.98359219, 0.99282958, 0.44695720],\
+-[	-4.57118906, -0.00471938, 0.00244229, 5.56646967, 0.98361625, 0.99283832, 0.44703756],\
+-[	-4.57527536, -0.00471357, 0.00243940, 5.57056179, 0.98364021, 0.99284703, 0.44711814],\
+-[	-4.57935583, -0.00470778, 0.00243654, 5.57464806, 0.98366409, 0.99285569, 0.44719893],\
+-[	-4.58343045, -0.00470201, 0.00243369, 5.57872844, 0.98368788, 0.99286430, 0.44727992],\
+-[	-4.58749921, -0.00469627, 0.00243086, 5.58280295, 0.98371159, 0.99287287, 0.44736112],\
+-[	-4.59156210, -0.00469055, 0.00242805, 5.58687155, 0.98373522, 0.99288140, 0.44744252],\
+-[	-4.59561910, -0.00468485, 0.00242526, 5.59093424, 0.98375876, 0.99288989, 0.44752411],\
+-[	-4.59967020, -0.00467918, 0.00242248, 5.59499102, 0.98378222, 0.99289833, 0.44760589],\
+-[	-4.60371538, -0.00467353, 0.00241973, 5.59904185, 0.98380560, 0.99290674, 0.44768785],\
+-[	-4.60775465, -0.00466791, 0.00241699, 5.60308674, 0.98382890, 0.99291510, 0.44777000],\
+-[	-4.61178797, -0.00466230, 0.00241427, 5.60712567, 0.98385211, 0.99292343, 0.44785233],\
+-[	-4.61581536, -0.00465672, 0.00241157, 5.61115863, 0.98387525, 0.99293171, 0.44793483],\
+-[	-4.61983678, -0.00465116, 0.00240889, 5.61518561, 0.98389830, 0.99293995, 0.44801750],\
+-[	-4.62385223, -0.00464563, 0.00240622, 5.61920660, 0.98392128, 0.99294815, 0.44810034],\
+-[	-4.62786170, -0.00464011, 0.00240357, 5.62322158, 0.98394418, 0.99295632, 0.44818334],\
+-[	-4.63186517, -0.00463462, 0.00240093, 5.62723055, 0.98396700, 0.99296444, 0.44826650],\
+-[	-4.63586264, -0.00462915, 0.00239832, 5.63123349, 0.98398974, 0.99297253, 0.44834982],\
+-[	-4.63985410, -0.00462370, 0.00239572, 5.63523040, 0.98401240, 0.99298058, 0.44843328],\
+-[	-4.64383953, -0.00461827, 0.00239313, 5.63922126, 0.98403499, 0.99298859, 0.44851690],\
+-[	-4.64781892, -0.00461286, 0.00239057, 5.64320606, 0.98405750, 0.99299657, 0.44860066],\
+-[	-4.65179227, -0.00460748, 0.00238802, 5.64718479, 0.98407993, 0.99300451, 0.44868455],\
+-[	-4.65575956, -0.00460211, 0.00238548, 5.65115744, 0.98410229, 0.99301241, 0.44876859],\
+-[	-4.65972078, -0.00459677, 0.00238296, 5.65512401, 0.98412458, 0.99302027, 0.44885276],\
+-[	-4.66367592, -0.00459144, 0.00238046, 5.65908448, 0.98414679, 0.99302810, 0.44893706],\
+-[	-4.66762497, -0.00458614, 0.00237797, 5.66303884, 0.98416893, 0.99303590, 0.44902148],\
+-[	-4.67156793, -0.00458085, 0.00237549, 5.66698708, 0.98419099, 0.99304366, 0.44910603],\
+-[	-4.67550478, -0.00457558, 0.00237303, 5.67092920, 0.98421298, 0.99305138, 0.44919070],\
+-[	-4.67943552, -0.00457034, 0.00237059, 5.67486518, 0.98423490, 0.99305907, 0.44927549],\
+-[	-4.68336012, -0.00456511, 0.00236816, 5.67879501, 0.98425675, 0.99306673, 0.44936038],\
+-[	-4.68727860, -0.00455990, 0.00236575, 5.68271869, 0.98427852, 0.99307435, 0.44944539],\
+-[	-4.69119092, -0.00455472, 0.00236335, 5.68663621, 0.98430023, 0.99308194, 0.44953051],\
+-[	-4.69509710, -0.00454955, 0.00236096, 5.69054755, 0.98432186, 0.99308949, 0.44961572],\
+-[	-4.69899711, -0.00454440, 0.00235859, 5.69445271, 0.98434343, 0.99309701, 0.44970104],\
+-[	-4.70289095, -0.00453926, 0.00235623, 5.69835168, 0.98436492, 0.99310450, 0.44978646],\
+-[	-4.70677861, -0.00453415, 0.00235389, 5.70224446, 0.98438635, 0.99311196, 0.44987197],\
+-[	-4.71066008, -0.00452905, 0.00235156, 5.70613103, 0.98440771, 0.99311939, 0.44995757],\
+-[	-4.71453535, -0.00452398, 0.00234924, 5.71001138, 0.98442899, 0.99312678, 0.45004326],\
+-[	-4.71840442, -0.00451892, 0.00234694, 5.71388551, 0.98445021, 0.99313414, 0.45012903],\
+-[	-4.72226728, -0.00451387, 0.00234465, 5.71775341, 0.98447137, 0.99314147, 0.45021488],\
+-[	-4.72612392, -0.00450885, 0.00234237, 5.72161507, 0.98449245, 0.99314877, 0.45030082],\
+-[	-4.72997433, -0.00450384, 0.00234011, 5.72547048, 0.98451347, 0.99315604, 0.45038683],\
+-[	-4.73381850, -0.00449885, 0.00233786, 5.72931964, 0.98453443, 0.99316328, 0.45047291],\
+-[	-4.73765643, -0.00449388, 0.00233562, 5.73316254, 0.98455532, 0.99317049, 0.45055907],\
+-[	-4.74148810, -0.00448893, 0.00233340, 5.73699917, 0.98457614, 0.99317767, 0.45064529],\
+-[	-4.74531352, -0.00448399, 0.00233119, 5.74082953, 0.98459690, 0.99318483, 0.45073158],\
+-[	-4.74913267, -0.00447907, 0.00232899, 5.74465360, 0.98461759, 0.99319195, 0.45081792],\
+-[	-4.75294555, -0.00447416, 0.00232680, 5.74847138, 0.98463822, 0.99319904, 0.45090433],\
+-[	-4.75675214, -0.00446927, 0.00232462, 5.75228287, 0.98465878, 0.99320610, 0.45099080],\
+-[	-4.76055246, -0.00446440, 0.00232246, 5.75608805, 0.98467929, 0.99321314, 0.45107732],\
+-[	-4.76434647, -0.00445955, 0.00232031, 5.75988693, 0.98469973, 0.99322015, 0.45116389],\
+-[	-4.76813419, -0.00445471, 0.00231816, 5.76367948, 0.98472010, 0.99322713, 0.45125051],\
+-[	-4.77191560, -0.00444988, 0.00231604, 5.76746572, 0.98474042, 0.99323408, 0.45133717],\
+-[	-4.77569070, -0.00444507, 0.00231392, 5.77124562, 0.98476067, 0.99324101, 0.45142388],\
+-[	-4.77945947, -0.00444028, 0.00231181, 5.77501919, 0.98478086, 0.99324791, 0.45151063],\
+-[	-4.78322192, -0.00443550, 0.00230972, 5.77878642, 0.98480099, 0.99325478, 0.45159742],\
+-[	-4.78697804, -0.00443074, 0.00230763, 5.78254730, 0.98482106, 0.99326162, 0.45168425],\
+-[	-4.79072783, -0.00442600, 0.00230556, 5.78630183, 0.98484107, 0.99326844, 0.45177111],\
+-[	-4.79447127, -0.00442127, 0.00230350, 5.79005000, 0.98486102, 0.99327523, 0.45185800],\
+-[	-4.79820836, -0.00441655, 0.00230145, 5.79379181, 0.98488091, 0.99328200, 0.45194492],\
+-[	-4.80193909, -0.00441185, 0.00229941, 5.79752724, 0.98490074, 0.99328874, 0.45203187],\
+-[	-4.80566347, -0.00440716, 0.00229738, 5.80125630, 0.98492051, 0.99329546, 0.45211884],\
+-[	-4.80938148, -0.00440249, 0.00229536, 5.80497899, 0.98494022, 0.99330215, 0.45220583],\
+-[	-4.81309312, -0.00439783, 0.00229335, 5.80869528, 0.98495988, 0.99330881, 0.45229285],\
+-[	-4.81679838, -0.00439319, 0.00229135, 5.81240519, 0.98497947, 0.99331546, 0.45237988],\
+-[	-4.82049726, -0.00438856, 0.00228937, 5.81610870, 0.98499901, 0.99332207, 0.45246692],\
+-[	-4.82418976, -0.00438395, 0.00228739, 5.81980581, 0.98501850, 0.99332866, 0.45255398],\
+-[	-4.82787587, -0.00437935, 0.00228542, 5.82349652, 0.98503792, 0.99333523, 0.45264105],\
+-[	-4.83155558, -0.00437476, 0.00228346, 5.82718082, 0.98505729, 0.99334178, 0.45272813],\
+-[	-4.83522889, -0.00437019, 0.00228151, 5.83085870, 0.98507660, 0.99334830, 0.45281521],\
+-[	-4.83889580, -0.00436563, 0.00227957, 5.83453017, 0.98509586, 0.99335480, 0.45290231],\
+-[	-4.84255630, -0.00436109, 0.00227764, 5.83819521, 0.98511506, 0.99336127, 0.45298940],\
+-[	-4.84621038, -0.00435656, 0.00227572, 5.84185383, 0.98513421, 0.99336772, 0.45307649],\
+-[	-4.84985805, -0.00435204, 0.00227381, 5.84550601, 0.98515330, 0.99337415, 0.45316358],\
+-[	-4.85349930, -0.00434753, 0.00227191, 5.84915177, 0.98517233, 0.99338056, 0.45325067],\
+-[	-4.85713412, -0.00434304, 0.00227002, 5.85279108, 0.98519132, 0.99338694, 0.45333775],\
+-[	-4.86076252, -0.00433856, 0.00226813, 5.85642396, 0.98521024, 0.99339330, 0.45342482],\
+-[	-4.86438448, -0.00433410, 0.00226626, 5.86005038, 0.98522912, 0.99339964, 0.45351189],\
+-[	-4.86800001, -0.00432965, 0.00226439, 5.86367036, 0.98524794, 0.99340596, 0.45359894],\
+-[	-4.87160909, -0.00432521, 0.00226253, 5.86728389, 0.98526671, 0.99341226, 0.45368598],\
+-[	-4.87521174, -0.00432078, 0.00226069, 5.87089096, 0.98528542, 0.99341853, 0.45377301],\
+-[	-4.87880793, -0.00431637, 0.00225885, 5.87449157, 0.98530409, 0.99342479, 0.45386001],\
+-[	-4.88239768, -0.00431196, 0.00225701, 5.87808572, 0.98532270, 0.99343102, 0.45394700],\
+-[	-4.88598098, -0.00430758, 0.00225519, 5.88167340, 0.98534126, 0.99343723, 0.45403397],\
+-[	-4.88955781, -0.00430320, 0.00225338, 5.88525462, 0.98535976, 0.99344342, 0.45412092],\
+-[	-4.89312819, -0.00429883, 0.00225157, 5.88882936, 0.98537822, 0.99344960, 0.45420784],\
+-[	-4.89669211, -0.00429448, 0.00224977, 5.89239763, 0.98539662, 0.99345575, 0.45429473],\
+-[	-4.90024957, -0.00429014, 0.00224798, 5.89595942, 0.98541498, 0.99346188, 0.45438160],\
+-[	-4.90380055, -0.00428581, 0.00224620, 5.89951474, 0.98543328, 0.99346799, 0.45446844],\
+-[	-4.90734507, -0.00428150, 0.00224442, 5.90306357, 0.98545154, 0.99347408, 0.45455524],\
+-[	-4.91088312, -0.00427719, 0.00224266, 5.90660592, 0.98546974, 0.99348015, 0.45464201],\
+-[	-4.91441469, -0.00427290, 0.00224090, 5.91014179, 0.98548790, 0.99348620, 0.45472875],\
+-[	-4.91793978, -0.00426862, 0.00223915, 5.91367116, 0.98550600, 0.99349224, 0.45481546],\
+-[	-4.92145840, -0.00426435, 0.00223740, 5.91719405, 0.98552406, 0.99349825, 0.45490212],\
+-[	-4.92497053, -0.00426009, 0.00223566, 5.92071044, 0.98554206, 0.99350425, 0.45498875],\
+-[	-4.92847618, -0.00425584, 0.00223394, 5.92422034, 0.98556002, 0.99351022, 0.45507533],\
+-[	-4.93197535, -0.00425160, 0.00223221, 5.92772375, 0.98557793, 0.99351618, 0.45516187],\
+-[	-4.93546803, -0.00424738, 0.00223050, 5.93122065, 0.98559579, 0.99352212, 0.45524837],\
+-[	-4.93895423, -0.00424317, 0.00222879, 5.93471106, 0.98561361, 0.99352804, 0.45533482],\
+-[	-4.94243393, -0.00423896, 0.00222709, 5.93819497, 0.98563138, 0.99353395, 0.45542123],\
+-[	-4.94590714, -0.00423477, 0.00222540, 5.94167237, 0.98564910, 0.99353983, 0.45550758],\
+-[	-4.94937386, -0.00423059, 0.00222371, 5.94514327, 0.98566677, 0.99354570, 0.45559389],\
+-[	-4.95283409, -0.00422642, 0.00222203, 5.94860767, 0.98568439, 0.99355155, 0.45568014],\
+-[	-4.95628782, -0.00422226, 0.00222036, 5.95206556, 0.98570197, 0.99355738, 0.45576634],\
+-[	-4.95973505, -0.00421811, 0.00221869, 5.95551694, 0.98571951, 0.99356320, 0.45585249],\
+-[	-4.96317579, -0.00421397, 0.00221703, 5.95896181, 0.98573699, 0.99356900, 0.45593858],\
+-[	-4.96661002, -0.00420984, 0.00221538, 5.96240018, 0.98575444, 0.99357478, 0.45602462],\
+-[	-4.97003776, -0.00420573, 0.00221373, 5.96583204, 0.98577183, 0.99358054, 0.45611059],\
+-[	-4.97345900, -0.00420162, 0.00221209, 5.96925738, 0.98578918, 0.99358629, 0.45619651],\
+-[	-4.97687374, -0.00419752, 0.00221046, 5.97267622, 0.98580649, 0.99359202, 0.45628236],\
+-[	-4.98028197, -0.00419344, 0.00220883, 5.97608854, 0.98582375, 0.99359774, 0.45636816],\
+-[	-4.98368371, -0.00418936, 0.00220721, 5.97949435, 0.98584096, 0.99360343, 0.45645388],\
+-[	-4.98707894, -0.00418529, 0.00220559, 5.98289365, 0.98585814, 0.99360912, 0.45653955],\
+-[	-4.99046767, -0.00418123, 0.00220398, 5.98628643, 0.98587526, 0.99361478, 0.45662514],\
+-[	-4.99384989, -0.00417719, 0.00220238, 5.98967270, 0.98589235, 0.99362043, 0.45671067],\
+-[	-4.99722561, -0.00417315, 0.00220078, 5.99305246, 0.98590939, 0.99362607, 0.45679613],\
+-[	-5.00059483, -0.00416912, 0.00219919, 5.99642571, 0.98592638, 0.99363169, 0.45688152],\
+-[	-5.00395754, -0.00416511, 0.00219761, 5.99979244, 0.98594334, 0.99363729, 0.45696684],\
+-[	-5.00731375, -0.00416110, 0.00219603, 6.00315266, 0.98596025, 0.99364288, 0.45705209],\
+-[	-5.01066346, -0.00415710, 0.00219445, 6.00650636, 0.98597712, 0.99364845, 0.45713726],\
+-[	-5.01400667, -0.00415311, 0.00219288, 6.00985356, 0.98599394, 0.99365401, 0.45722236],\
+-[	-5.01734337, -0.00414913, 0.00219132, 6.01319424, 0.98601072, 0.99365955, 0.45730738],\
+-[	-5.02067356, -0.00414516, 0.00218976, 6.01652841, 0.98602746, 0.99366508, 0.45739233],\
+-[	-5.02399726, -0.00414120, 0.00218821, 6.01985606, 0.98604416, 0.99367059, 0.45747719],\
+-[	-5.02731445, -0.00413724, 0.00218666, 6.02317721, 0.98606082, 0.99367609, 0.45756198],\
+-[	-5.03062515, -0.00413330, 0.00218512, 6.02649184, 0.98607744, 0.99368157, 0.45764669],\
+-[	-5.03392934, -0.00412937, 0.00218359, 6.02979997, 0.98609401, 0.99368704, 0.45773131],\
+-[	-5.03722703, -0.00412544, 0.00218206, 6.03310159, 0.98611054, 0.99369250, 0.45781585],\
+-[	-5.04051822, -0.00412153, 0.00218053, 6.03639670, 0.98612704, 0.99369794, 0.45790031],\
+-[	-5.04380292, -0.00411762, 0.00217901, 6.03968530, 0.98614349, 0.99370337, 0.45798469],\
+-[	-5.04708112, -0.00411372, 0.00217750, 6.04296739, 0.98615990, 0.99370878, 0.45806897],\
+-[	-5.05035282, -0.00410983, 0.00217599, 6.04624299, 0.98617627, 0.99371418, 0.45815318],\
+-[	-5.05361802, -0.00410595, 0.00217448, 6.04951207, 0.98619260, 0.99371957, 0.45823729],\
+-[	-5.05687674, -0.00410208, 0.00217298, 6.05277466, 0.98620889, 0.99372494, 0.45832131],\
+-[	-5.06012896, -0.00409821, 0.00217148, 6.05603074, 0.98622514, 0.99373030, 0.45840525],\
+-[	-5.06337469, -0.00409436, 0.00216999, 6.05928033, 0.98624135, 0.99373565, 0.45848909],\
+-[	-5.06661393, -0.00409051, 0.00216851, 6.06252341, 0.98625753, 0.99374098, 0.45857285],\
+-[	-5.06984668, -0.00408668, 0.00216703, 6.06576000, 0.98627366, 0.99374630, 0.45865651],\
+-[	-5.07307294, -0.00408285, 0.00216555, 6.06899010, 0.98628975, 0.99375161, 0.45874007],\
+-[	-5.07629272, -0.00407902, 0.00216408, 6.07221370, 0.98630581, 0.99375690, 0.45882355],\
+-[	-5.07950602, -0.00407521, 0.00216261, 6.07543081, 0.98632182, 0.99376218, 0.45890693],\
+-[	-5.08271283, -0.00407141, 0.00216115, 6.07864143, 0.98633780, 0.99376745, 0.45899021],\
+-[	-5.08591317, -0.00406761, 0.00215969, 6.08184556, 0.98635374, 0.99377270, 0.45907339],\
+-[	-5.08910703, -0.00406382, 0.00215823, 6.08504321, 0.98636965, 0.99377795, 0.45915648],\
+-[	-5.09229441, -0.00406004, 0.00215678, 6.08823437, 0.98638551, 0.99378318, 0.45923947],\
+-[	-5.09547532, -0.00405627, 0.00215534, 6.09141905, 0.98640134, 0.99378840, 0.45932235],\
+-[	-5.09864975, -0.00405250, 0.00215390, 6.09459725, 0.98641713, 0.99379360, 0.45940514],\
+-[	-5.10181772, -0.00404874, 0.00215246, 6.09776897, 0.98643288, 0.99379880, 0.45948783],\
+-[	-5.10497922, -0.00404500, 0.00215102, 6.10093422, 0.98644859, 0.99380398, 0.45957041],\
+-[	-5.10813425, -0.00404125, 0.00214960, 6.10409300, 0.98646427, 0.99380915, 0.45965289],\
+-[	-5.11128282, -0.00403752, 0.00214817, 6.10724530, 0.98647991, 0.99381431, 0.45973527],\
+-[	-5.11442494, -0.00403379, 0.00214675, 6.11039114, 0.98649552, 0.99381946, 0.45981755],\
+-[	-5.11756059, -0.00403008, 0.00214533, 6.11353051, 0.98651108, 0.99382459, 0.45989972],\
+-[	-5.12068979, -0.00402637, 0.00214392, 6.11666343, 0.98652662, 0.99382971, 0.45998178],\
+-[	-5.12381254, -0.00402266, 0.00214251, 6.11978988, 0.98654211, 0.99383483, 0.46006373],\
+-[	-5.12692884, -0.00401897, 0.00214110, 6.12290987, 0.98655757, 0.99383993, 0.46014558],\
+-[	-5.13003869, -0.00401528, 0.00213970, 6.12602341, 0.98657300, 0.99384502, 0.46022732],\
+-[	-5.13314210, -0.00401160, 0.00213831, 6.12913050, 0.98658838, 0.99385010, 0.46030896],\
+-[	-5.13623906, -0.00400792, 0.00213691, 6.13223114, 0.98660374, 0.99385516, 0.46039048],\
+-[	-5.13932959, -0.00400426, 0.00213552, 6.13532533, 0.98661906, 0.99386022, 0.46047189],\
+-[	-5.14241368, -0.00400060, 0.00213413, 6.13841308, 0.98663434, 0.99386527, 0.46055319],\
+-[	-5.14549135, -0.00399695, 0.00213275, 6.14149440, 0.98664959, 0.99387030, 0.46063438],\
+-[	-5.14856258, -0.00399330, 0.00213137, 6.14456928, 0.98666480, 0.99387532, 0.46071546],\
+-[	-5.15162739, -0.00398967, 0.00213000, 6.14763772, 0.98667998, 0.99388034, 0.46079643],\
+-[	-5.15468577, -0.00398604, 0.00212862, 6.15069974, 0.98669512, 0.99388534, 0.46087728],\
+-[	-5.15773774, -0.00398241, 0.00212725, 6.15375533, 0.98671023, 0.99389033, 0.46095802],\
+-[	-5.16078329, -0.00397880, 0.00212589, 6.15680449, 0.98672531, 0.99389532, 0.46103864],\
+-[	-5.16382243, -0.00397519, 0.00212453, 6.15984724, 0.98674035, 0.99390029, 0.46111915],\
+-[	-5.16685516, -0.00397159, 0.00212317, 6.16288358, 0.98675535, 0.99390525, 0.46119954],\
+-[	-5.16988149, -0.00396799, 0.00212181, 6.16591350, 0.98677033, 0.99391020, 0.46127982],\
+-[	-5.17290141, -0.00396440, 0.00212046, 6.16893701, 0.98678527, 0.99391514, 0.46135997],\
+-[	-5.17591494, -0.00396082, 0.00211911, 6.17195412, 0.98680017, 0.99392007, 0.46144001],\
+-[	-5.17892208, -0.00395724, 0.00211776, 6.17496483, 0.98681505, 0.99392499, 0.46151994],\
+-[	-5.18192282, -0.00395368, 0.00211642, 6.17796914, 0.98682989, 0.99392990, 0.46159974],\
+-[	-5.18491718, -0.00395011, 0.00211508, 6.18096706, 0.98684470, 0.99393481, 0.46167943],\
+-[	-5.18790516, -0.00394656, 0.00211374, 6.18395860, 0.98685947, 0.99393970, 0.46175899],\
+-[	-5.19088675, -0.00394301, 0.00211241, 6.18694374, 0.98687421, 0.99394458, 0.46183843],\
+-[	-5.19386198, -0.00393947, 0.00211108, 6.18992251, 0.98688892, 0.99394945, 0.46191776],\
+-[	-5.19683083, -0.00393593, 0.00210975, 6.19289490, 0.98690360, 0.99395432, 0.46199696],\
+-[	-5.19979332, -0.00393241, 0.00210843, 6.19586092, 0.98691824, 0.99395917, 0.46207604],\
+-[	-5.20274945, -0.00392888, 0.00210710, 6.19882057, 0.98693285, 0.99396401, 0.46215500],\
+-[	-5.20569922, -0.00392537, 0.00210578, 6.20177385, 0.98694743, 0.99396885, 0.46223383],\
+-[	-5.20864264, -0.00392186, 0.00210447, 6.20472078, 0.98696198, 0.99397367, 0.46231254],\
+-[	-5.21157971, -0.00391835, 0.00210315, 6.20766135, 0.98697650, 0.99397849, 0.46239113],\
+-[	-5.21451043, -0.00391486, 0.00210184, 6.21059558, 0.98699098, 0.99398330, 0.46246959],\
+-[	-5.21743482, -0.00391137, 0.00210054, 6.21352345, 0.98700544, 0.99398810, 0.46254793],\
+-[	-5.22035287, -0.00390788, 0.00209923, 6.21644499, 0.98701986, 0.99399289, 0.46262614],\
+-[	-5.22326459, -0.00390440, 0.00209793, 6.21936019, 0.98703425, 0.99399767, 0.46270423],\
+-[	-5.22616999, -0.00390093, 0.00209663, 6.22226905, 0.98704861, 0.99400244, 0.46278219],\
+-[	-5.22906906, -0.00389747, 0.00209533, 6.22517159, 0.98706294, 0.99400720, 0.46286003],\
+-[	-5.23196182, -0.00389401, 0.00209404, 6.22806781, 0.98707724, 0.99401196, 0.46293774],\
+-[	-5.23484826, -0.00389055, 0.00209274, 6.23095771, 0.98709151, 0.99401670, 0.46301532],\
+-[	-5.23772840, -0.00388711, 0.00209145, 6.23384129, 0.98710574, 0.99402144, 0.46309277],\
+-[	-5.24060224, -0.00388366, 0.00209017, 6.23671857, 0.98711995, 0.99402617, 0.46317009],\
+-[	-5.24346978, -0.00388023, 0.00208888, 6.23958955, 0.98713413, 0.99403089, 0.46324729],\
+-[	-5.24633103, -0.00387680, 0.00208760, 6.24245423, 0.98714827, 0.99403560, 0.46332436],\
+-[	-5.24918599, -0.00387338, 0.00208632, 6.24531261, 0.98716239, 0.99404030, 0.46340129],\
+-[	-5.25203467, -0.00386996, 0.00208504, 6.24816471, 0.98717648, 0.99404500, 0.46347810],\
+-[	-5.25487707, -0.00386655, 0.00208377, 6.25101053, 0.98719053, 0.99404969, 0.46355478],\
+-[	-5.25771320, -0.00386314, 0.00208250, 6.25385007, 0.98720456, 0.99405436, 0.46363133],\
+-[	-5.26054307, -0.00385974, 0.00208123, 6.25668333, 0.98721856, 0.99405904, 0.46370775],\
+-[	-5.26336668, -0.00385634, 0.00207996, 6.25951033, 0.98723253, 0.99406370, 0.46378403],\
+-[	-5.26618402, -0.00385295, 0.00207869, 6.26233107, 0.98724646, 0.99406835, 0.46386019],\
+-[	-5.26899512, -0.00384957, 0.00207743, 6.26514555, 0.98726037, 0.99407300, 0.46393621],\
+-[	-5.27179998, -0.00384619, 0.00207617, 6.26795379, 0.98727425, 0.99407764, 0.46401210],\
+-[	-5.27459860, -0.00384282, 0.00207491, 6.27075577, 0.98728810, 0.99408227, 0.46408786],\
+-[	-5.27739098, -0.00383945, 0.00207365, 6.27355152, 0.98730193, 0.99408689, 0.46416348],\
+-[	-5.28017713, -0.00383609, 0.00207240, 6.27634104, 0.98731572, 0.99409151, 0.46423898],\
+-[	-5.28295706, -0.00383274, 0.00207115, 6.27912432, 0.98732949, 0.99409612, 0.46431433],\
+-[	-5.28573078, -0.00382939, 0.00206989, 6.28190139, 0.98734322, 0.99410072, 0.46438956],\
+-[	-5.28849828, -0.00382604, 0.00206865, 6.28467224, 0.98735693, 0.99410531, 0.46446465],\
+-[	-5.29125958, -0.00382271, 0.00206740, 6.28743687, 0.98737061, 0.99410989, 0.46453961],\
+-[	-5.29401468, -0.00381937, 0.00206616, 6.29019530, 0.98738426, 0.99411447, 0.46461443],\
+-[	-5.29676358, -0.00381604, 0.00206491, 6.29294754, 0.98739789, 0.99411904, 0.46468912],\
+-[	-5.29950630, -0.00381272, 0.00206367, 6.29569358, 0.98741148, 0.99412361, 0.46476368],\
+-[	-5.30224283, -0.00380940, 0.00206243, 6.29843343, 0.98742505, 0.99412816, 0.46483809],\
+-[	-5.30497319, -0.00380609, 0.00206120, 6.30116710, 0.98743859, 0.99413271, 0.46491238],\
+-[	-5.30769738, -0.00380279, 0.00205996, 6.30389459, 0.98745210, 0.99413725, 0.46498652],\
+-[	-5.31041540, -0.00379948, 0.00205873, 6.30661592, 0.98746559, 0.99414179, 0.46506054],\
+-[	-5.31312727, -0.00379619, 0.00205750, 6.30933108, 0.98747905, 0.99414631, 0.46513441],\
+-[	-5.31583299, -0.00379290, 0.00205627, 6.31204009, 0.98749248, 0.99415083, 0.46520815],\
+-[	-5.31853255, -0.00378961, 0.00205504, 6.31474294, 0.98750588, 0.99415535, 0.46528175],\
+-[	-5.32122598, -0.00378633, 0.00205382, 6.31743965, 0.98751926, 0.99415985, 0.46535522],\
+-[	-5.32391328, -0.00378306, 0.00205259, 6.32013023, 0.98753261, 0.99416435, 0.46542855],\
+-[	-5.32659445, -0.00377979, 0.00205137, 6.32281466, 0.98754593, 0.99416884, 0.46550174],\
+-[	-5.32926950, -0.00377652, 0.00205015, 6.32549298, 0.98755923, 0.99417333, 0.46557479],\
+-[	-5.33193843, -0.00377326, 0.00204893, 6.32816517, 0.98757249, 0.99417781, 0.46564771],\
+-[	-5.33460126, -0.00377000, 0.00204772, 6.33083125, 0.98758574, 0.99418228, 0.46572049],\
+-[	-5.33725798, -0.00376675, 0.00204650, 6.33349123, 0.98759895, 0.99418674, 0.46579313],\
+-[	-5.33990861, -0.00376351, 0.00204529, 6.33614511, 0.98761214, 0.99419120, 0.46586563],\
+-[	-5.34255316, -0.00376027, 0.00204408, 6.33879289, 0.98762531, 0.99419565, 0.46593799],\
+-[	-5.34519162, -0.00375703, 0.00204287, 6.34143458, 0.98763844, 0.99420010, 0.46601022],\
+-[	-5.34782400, -0.00375380, 0.00204166, 6.34407020, 0.98765155, 0.99420454, 0.46608230],\
+-[	-5.35045032, -0.00375058, 0.00204045, 6.34669974, 0.98766464, 0.99420897, 0.46615425],\
+-[	-5.35307057, -0.00374736, 0.00203925, 6.34932321, 0.98767770, 0.99421340, 0.46622606],\
+-[	-5.35568477, -0.00374414, 0.00203804, 6.35194063, 0.98769073, 0.99421781, 0.46629773],\
+-[	-5.35829292, -0.00374093, 0.00203684, 6.35455199, 0.98770374, 0.99422223, 0.46636926],\
+-[	-5.36089503, -0.00373773, 0.00203564, 6.35715730, 0.98771672, 0.99422663, 0.46644065],\
+-[	-5.36349110, -0.00373453, 0.00203444, 6.35975657, 0.98772968, 0.99423103, 0.46651190],\
+-[	-5.36608114, -0.00373133, 0.00203324, 6.36234981, 0.98774261, 0.99423543, 0.46658301],\
+-[	-5.36866517, -0.00372814, 0.00203205, 6.36493703, 0.98775552, 0.99423982, 0.46665398],\
+-[	-5.37124318, -0.00372495, 0.00203085, 6.36751823, 0.98776840, 0.99424420, 0.46672482],\
+-[	-5.37381518, -0.00372177, 0.00202966, 6.37009341, 0.98778125, 0.99424857, 0.46679551],\
+-[	-5.37638118, -0.00371859, 0.00202847, 6.37266259, 0.98779408, 0.99425294, 0.46686606],\
+-[	-5.37894119, -0.00371542, 0.00202728, 6.37522577, 0.98780689, 0.99425730, 0.46693647],\
+-[	-5.38149521, -0.00371225, 0.00202609, 6.37778296, 0.98781967, 0.99426166, 0.46700674],\
+-[	-5.38404325, -0.00370909, 0.00202490, 6.38033416, 0.98783243, 0.99426601, 0.46707687],\
+-[	-5.38658532, -0.00370593, 0.00202371, 6.38287939, 0.98784516, 0.99427036, 0.46714686],\
+-[	-5.38912142, -0.00370278, 0.00202253, 6.38541865, 0.98785786, 0.99427470, 0.46721671],\
+-[	-5.39165157, -0.00369963, 0.00202134, 6.38795194, 0.98787055, 0.99427903, 0.46728642],\
+-[	-5.39417576, -0.00369648, 0.00202016, 6.39047928, 0.98788320, 0.99428336, 0.46735598],\
+-[	-5.39669401, -0.00369334, 0.00201898, 6.39300067, 0.98789584, 0.99428768, 0.46742541],\
+-[	-5.39920633, -0.00369021, 0.00201780, 6.39551612, 0.98790845, 0.99429200, 0.46749470],\
+-[	-5.40171272, -0.00368707, 0.00201662, 6.39802564, 0.98792103, 0.99429631, 0.46756384],\
+-[	-5.40421318, -0.00368395, 0.00201544, 6.40052923, 0.98793359, 0.99430061, 0.46763284],\
+-[	-5.40670773, -0.00368082, 0.00201427, 6.40302690, 0.98794613, 0.99430491, 0.46770170],\
+-[	-5.40919637, -0.00367771, 0.00201309, 6.40551867, 0.98795864, 0.99430920, 0.46777042],\
+-[	-5.41167912, -0.00367459, 0.00201192, 6.40800452, 0.98797113, 0.99431349, 0.46783900],\
+-[	-5.41415597, -0.00367148, 0.00201075, 6.41048448, 0.98798360, 0.99431777, 0.46790744],\
+-[	-5.41662693, -0.00366838, 0.00200957, 6.41295855, 0.98799604, 0.99432205, 0.46797574],\
+-[	-5.41909202, -0.00366528, 0.00200840, 6.41542674, 0.98800846, 0.99432632, 0.46804389],\
+-[	-5.42155124, -0.00366218, 0.00200724, 6.41788906, 0.98802085, 0.99433058, 0.46811190],\
+-[	-5.42400460, -0.00365909, 0.00200607, 6.42034551, 0.98803323, 0.99433484, 0.46817978],\
+-[	-5.42645210, -0.00365600, 0.00200490, 6.42279610, 0.98804557, 0.99433910, 0.46824751],\
+-[	-5.42889376, -0.00365292, 0.00200374, 6.42524084, 0.98805790, 0.99434334, 0.46831509],\
+-[	-5.43132958, -0.00364984, 0.00200257, 6.42767973, 0.98807020, 0.99434759, 0.46838254],\
+-[	-5.43375956, -0.00364677, 0.00200141, 6.43011279, 0.98808248, 0.99435183, 0.46844985],\
+-[	-5.43618372, -0.00364370, 0.00200024, 6.43254002, 0.98809474, 0.99435606, 0.46851701],\
+-[	-5.43860207, -0.00364063, 0.00199908, 6.43496143, 0.98810697, 0.99436029, 0.46858403],\
+-[	-5.44101460, -0.00363757, 0.00199792, 6.43737703, 0.98811918, 0.99436451, 0.46865091],\
+-[	-5.44342134, -0.00363451, 0.00199676, 6.43978683, 0.98813137, 0.99436872, 0.46871765],\
+-[	-5.44582228, -0.00363146, 0.00199561, 6.44219082, 0.98814353, 0.99437294, 0.46878424],\
+-[	-5.44821744, -0.00362841, 0.00199445, 6.44458903, 0.98815567, 0.99437714, 0.46885070],\
+-[	-5.45060682, -0.00362536, 0.00199329, 6.44698145, 0.98816779, 0.99438134, 0.46891701],\
+-[	-5.45299043, -0.00362232, 0.00199214, 6.44936811, 0.98817989, 0.99438554, 0.46898318],\
+-[	-5.45536828, -0.00361929, 0.00199098, 6.45174899, 0.98819196, 0.99438973, 0.46904921],\
+-[	-5.45774037, -0.00361625, 0.00198983, 6.45412412, 0.98820402, 0.99439392, 0.46911510],\
+-[	-5.46010672, -0.00361323, 0.00198868, 6.45649350, 0.98821605, 0.99439810, 0.46918084],\
+-[	-5.46246734, -0.00361020, 0.00198753, 6.45885714, 0.98822805, 0.99440227, 0.46924645],\
+-[	-5.46482222, -0.00360718, 0.00198638, 6.46121504, 0.98824004, 0.99440644, 0.46931191],\
+-[	-5.46717138, -0.00360417, 0.00198523, 6.46356722, 0.98825200, 0.99441061, 0.46937723],\
+-[	-5.46951483, -0.00360115, 0.00198408, 6.46591367, 0.98826395, 0.99441477, 0.46944241],\
+-[	-5.47185257, -0.00359814, 0.00198293, 6.46825442, 0.98827587, 0.99441892, 0.46950744],\
+-[	-5.47418461, -0.00359514, 0.00198178, 6.47058947, 0.98828776, 0.99442308, 0.46957234],\
+-[	-5.47651097, -0.00359214, 0.00198064, 6.47291883, 0.98829964, 0.99442722, 0.46963709],\
+-[	-5.47883164, -0.00358914, 0.00197949, 6.47524250, 0.98831150, 0.99443136, 0.46970170],\
+-[	-5.48114664, -0.00358615, 0.00197835, 6.47756049, 0.98832333, 0.99443550, 0.46976617],\
+-[	-5.48345598, -0.00358316, 0.00197721, 6.47987281, 0.98833514, 0.99443963, 0.46983050],\
+-[	-5.48575966, -0.00358018, 0.00197606, 6.48217948, 0.98834693, 0.99444376, 0.46989469],\
+-[	-5.48805769, -0.00357720, 0.00197492, 6.48448049, 0.98835870, 0.99444788, 0.46995873],\
+-[	-5.49035007, -0.00357422, 0.00197378, 6.48677585, 0.98837045, 0.99445200, 0.47002264],\
+-[	-5.49263683, -0.00357125, 0.00197264, 6.48906558, 0.98838217, 0.99445611, 0.47008640],\
+-[	-5.49491797, -0.00356828, 0.00197150, 6.49134968, 0.98839388, 0.99446022, 0.47015002],\
+-[	-5.49719348, -0.00356532, 0.00197036, 6.49362817, 0.98840556, 0.99446432, 0.47021350],\
+-[	-5.49946339, -0.00356236, 0.00196923, 6.49590104, 0.98841723, 0.99446842, 0.47027684],\
+-[	-5.50172771, -0.00355940, 0.00196809, 6.49816831, 0.98842887, 0.99447251, 0.47034004],\
+-[	-5.50398643, -0.00355645, 0.00196695, 6.50042998, 0.98844049, 0.99447660, 0.47040310],\
+-[	-5.50623957, -0.00355350, 0.00196582, 6.50268607, 0.98845209, 0.99448068, 0.47046602],\
+-[	-5.50848713, -0.00355055, 0.00196468, 6.50493658, 0.98846367, 0.99448476, 0.47052879],\
+-[	-5.51072913, -0.00354761, 0.00196355, 6.50718152, 0.98847523, 0.99448884, 0.47059143],\
+-[	-5.51296557, -0.00354467, 0.00196242, 6.50942090, 0.98848677, 0.99449291, 0.47065392],\
+-[	-5.51519647, -0.00354174, 0.00196129, 6.51165473, 0.98849828, 0.99449698, 0.47071627],\
+-[	-5.51742182, -0.00353881, 0.00196016, 6.51388301, 0.98850978, 0.99450104, 0.47077849],\
+-[	-5.51964164, -0.00353588, 0.00195902, 6.51610576, 0.98852126, 0.99450510, 0.47084056],\
+-[	-5.52185594, -0.00353296, 0.00195789, 6.51832298, 0.98853271, 0.99450915, 0.47090249],\
+-[	-5.52406473, -0.00353004, 0.00195677, 6.52053469, 0.98854415, 0.99451320, 0.47096428],\
+-[	-5.52626800, -0.00352712, 0.00195564, 6.52274088, 0.98855556, 0.99451724, 0.47102593],\
+-[	-5.52846578, -0.00352421, 0.00195451, 6.52494157, 0.98856696, 0.99452128, 0.47108744],\
+-[	-5.53065808, -0.00352130, 0.00195338, 6.52713677, 0.98857834, 0.99452532, 0.47114881],\
+-[	-5.53284489, -0.00351840, 0.00195226, 6.52932649, 0.98858969, 0.99452935, 0.47121004],\
+-[	-5.53502623, -0.00351550, 0.00195113, 6.53151073, 0.98860103, 0.99453337, 0.47127113],\
+-[	-5.53720210, -0.00351260, 0.00195001, 6.53368950, 0.98861234, 0.99453740, 0.47133208],\
+-[	-5.53937252, -0.00350971, 0.00194888, 6.53586282, 0.98862364, 0.99454141, 0.47139289],\
+-[	-5.54153750, -0.00350682, 0.00194776, 6.53803068, 0.98863491, 0.99454543, 0.47145356],\
+-[	-5.54369704, -0.00350393, 0.00194663, 6.54019311, 0.98864617, 0.99454944, 0.47151409],\
+-[	-5.54585115, -0.00350105, 0.00194551, 6.54235010, 0.98865740, 0.99455344, 0.47157449],\
+-[	-5.54799984, -0.00349817, 0.00194439, 6.54450167, 0.98866862, 0.99455744, 0.47163474],\
+-[	-5.55014311, -0.00349529, 0.00194327, 6.54664782, 0.98867982, 0.99456144, 0.47169485],\
+-[	-5.55228099, -0.00349242, 0.00194215, 6.54878857, 0.98869099, 0.99456543, 0.47175483],\
+-[	-5.55441347, -0.00348955, 0.00194103, 6.55092392, 0.98870215, 0.99456942, 0.47181466],\
+-[	-5.55654057, -0.00348669, 0.00193991, 6.55305388, 0.98871329, 0.99457340, 0.47187436],\
+-[	-5.55866229, -0.00348383, 0.00193879, 6.55517846, 0.98872441, 0.99457738, 0.47193391],\
+-[	-5.56077864, -0.00348097, 0.00193767, 6.55729767, 0.98873551, 0.99458136, 0.47199333],\
+-[	-5.56288964, -0.00347811, 0.00193655, 6.55941152, 0.98874659, 0.99458533, 0.47205261],\
+-[	-5.56499528, -0.00347526, 0.00193544, 6.56152002, 0.98875765, 0.99458930, 0.47211176],\
+-[	-5.56709558, -0.00347242, 0.00193432, 6.56362317, 0.98876869, 0.99459326, 0.47217076],\
+-[	-5.56919055, -0.00346957, 0.00193321, 6.56572098, 0.98877972, 0.99459722, 0.47222962],\
+-[	-5.57128020, -0.00346673, 0.00193209, 6.56781347, 0.98879072, 0.99460118, 0.47228835],\
+-[	-5.57336453, -0.00346390, 0.00193098, 6.56990064, 0.98880171, 0.99460513, 0.47234694],\
+-[	-5.57544356, -0.00346106, 0.00192986, 6.57198250, 0.98881267, 0.99460907, 0.47240539],\
+-[	-5.57751729, -0.00345823, 0.00192875, 6.57405906, 0.98882362, 0.99461302, 0.47246371],\
+-[	-5.57958573, -0.00345541, 0.00192764, 6.57613032, 0.98883455, 0.99461696, 0.47252188],\
+-[	-5.58164889, -0.00345259, 0.00192652, 6.57819631, 0.98884546, 0.99462089, 0.47257992],\
+-[	-5.58370679, -0.00344977, 0.00192541, 6.58025702, 0.98885635, 0.99462482, 0.47263782],\
+-[	-5.58575942, -0.00344695, 0.00192430, 6.58231247, 0.98886722, 0.99462875, 0.47269559],\
+-[	-5.58780679, -0.00344414, 0.00192319, 6.58436266, 0.98887808, 0.99463267, 0.47275321],\
+-[	-5.58984893, -0.00344133, 0.00192208, 6.58640760, 0.98888891, 0.99463659, 0.47281070],\
+-[	-5.59188583, -0.00343852, 0.00192097, 6.58844731, 0.98889973, 0.99464051, 0.47286806],\
+-[	-5.59391750, -0.00343572, 0.00191986, 6.59048178, 0.98891053, 0.99464442, 0.47292528],\
+-[	-5.59594396, -0.00343292, 0.00191875, 6.59251104, 0.98892131, 0.99464833, 0.47298236],\
+-[	-5.59796521, -0.00343013, 0.00191764, 6.59453508, 0.98893207, 0.99465223, 0.47303930],\
+-[	-5.59998126, -0.00342733, 0.00191653, 6.59655393, 0.98894281, 0.99465613, 0.47309611],\
+-[	-5.60199212, -0.00342455, 0.00191543, 6.59856758, 0.98895354, 0.99466003, 0.47315278],\
+-[	-5.60399781, -0.00342176, 0.00191432, 6.60057605, 0.98896425, 0.99466392, 0.47320932],\
+-[	-5.60599831, -0.00341898, 0.00191321, 6.60257934, 0.98897493, 0.99466781, 0.47326572],\
+-[	-5.60799366, -0.00341620, 0.00191211, 6.60457746, 0.98898561, 0.99467169, 0.47332198],\
+-[	-5.60998385, -0.00341342, 0.00191100, 6.60657043, 0.98899626, 0.99467557, 0.47337811],\
+-[	-5.61196890, -0.00341065, 0.00190990, 6.60855825, 0.98900689, 0.99467945, 0.47343411],\
+-[	-5.61394881, -0.00340788, 0.00190879, 6.61054093, 0.98901751, 0.99468332, 0.47348997],\
+-[	-5.61592360, -0.00340512, 0.00190769, 6.61251848, 0.98902811, 0.99468719, 0.47354569],\
+-[	-5.61789327, -0.00340235, 0.00190659, 6.61449091, 0.98903869, 0.99469106, 0.47360128],\
+-[	-5.61985783, -0.00339960, 0.00190548, 6.61645823, 0.98904926, 0.99469492, 0.47365674],\
+-[	-5.62181729, -0.00339684, 0.00190438, 6.61842045, 0.98905980, 0.99469878, 0.47371206],\
+-[	-5.62377166, -0.00339409, 0.00190328, 6.62037757, 0.98907033, 0.99470263, 0.47376724],\
+-[	-5.62572095, -0.00339134, 0.00190218, 6.62232961, 0.98908084, 0.99470648, 0.47382230],\
+-[	-5.62766517, -0.00338859, 0.00190108, 6.62427658, 0.98909133, 0.99471033, 0.47387721],\
+-[	-5.62960432, -0.00338585, 0.00189998, 6.62621847, 0.98910181, 0.99471417, 0.47393200],\
+-[	-5.63153842, -0.00338311, 0.00189888, 6.62815531, 0.98911227, 0.99471801, 0.47398665],\
+-[	-5.63346748, -0.00338037, 0.00189778, 6.63008711, 0.98912271, 0.99472185, 0.47404117],\
+-[	-5.63539150, -0.00337764, 0.00189668, 6.63201386, 0.98913313, 0.99472568, 0.47409555],\
+-[	-5.63731050, -0.00337491, 0.00189558, 6.63393558, 0.98914354, 0.99472951, 0.47414980],\
+-[	-5.63922447, -0.00337218, 0.00189448, 6.63585229, 0.98915393, 0.99473333, 0.47420392],\
+-[	-5.64113344, -0.00336946, 0.00189338, 6.63776398, 0.98916430, 0.99473716, 0.47425791],\
+-[	-5.64303741, -0.00336674, 0.00189229, 6.63967067, 0.98917466, 0.99474097, 0.47431176],\
+-[	-5.64493639, -0.00336402, 0.00189119, 6.64157237, 0.98918499, 0.99474479, 0.47436548],\
+-[	-5.64683039, -0.00336131, 0.00189009, 6.64346908, 0.98919531, 0.99474860, 0.47441907],\
+-[	-5.64871942, -0.00335860, 0.00188899, 6.64536082, 0.98920562, 0.99475241, 0.47447252],\
+-[	-5.65060348, -0.00335589, 0.00188790, 6.64724759, 0.98921590, 0.99475621, 0.47452585],\
+-[	-5.65248259, -0.00335319, 0.00188680, 6.64912941, 0.98922617, 0.99476001, 0.47457904],\
+-[	-5.65435676, -0.00335049, 0.00188571, 6.65100628, 0.98923642, 0.99476381, 0.47463210],\
+-[	-5.65622600, -0.00334779, 0.00188461, 6.65287821, 0.98924666, 0.99476760, 0.47468503],\
+-[	-5.65809030, -0.00334509, 0.00188352, 6.65474521, 0.98925688, 0.99477139, 0.47473783],\
+-[	-5.65994970, -0.00334240, 0.00188243, 6.65660729, 0.98926708, 0.99477517, 0.47479050],\
+-[	-5.66180418, -0.00333971, 0.00188133, 6.65846447, 0.98927727, 0.99477896, 0.47484303],\
+-[	-5.66365377, -0.00333703, 0.00188024, 6.66031674, 0.98928744, 0.99478273, 0.47489544],\
+-[	-5.66549846, -0.00333434, 0.00187915, 6.66216412, 0.98929759, 0.99478651, 0.47494772],\
+-[	-5.66733828, -0.00333166, 0.00187805, 6.66400662, 0.98930772, 0.99479028, 0.47499986],\
+-[	-5.66917323, -0.00332899, 0.00187696, 6.66584424, 0.98931784, 0.99479405, 0.47505187],\
+-[	-5.67100331, -0.00332631, 0.00187587, 6.66767700, 0.98932794, 0.99479781, 0.47510376],\
+-[	-5.67282855, -0.00332364, 0.00187478, 6.66950490, 0.98933803, 0.99480158, 0.47515552],\
+-[	-5.67464894, -0.00332098, 0.00187369, 6.67132796, 0.98934810, 0.99480533, 0.47520714],\
+-[	-5.67646450, -0.00331831, 0.00187260, 6.67314618, 0.98935815, 0.99480909, 0.47525864],\
+-[	-5.67827523, -0.00331565, 0.00187151, 6.67495958, 0.98936819, 0.99481284, 0.47531001],\
+-[	-5.68008115, -0.00331299, 0.00187042, 6.67676816, 0.98937821, 0.99481659, 0.47536125],\
+-[	-5.68188226, -0.00331034, 0.00186933, 6.67857192, 0.98938821, 0.99482033, 0.47541236],\
+-[	-5.68367858, -0.00330769, 0.00186824, 6.68037089, 0.98939820, 0.99482407, 0.47546334],\
+-[	-5.68547011, -0.00330504, 0.00186715, 6.68216507, 0.98940817, 0.99482781, 0.47551419],\
+-[	-5.68725686, -0.00330239, 0.00186606, 6.68395447, 0.98941813, 0.99483154, 0.47556492],\
+-[	-5.68903884, -0.00329975, 0.00186498, 6.68573909, 0.98942807, 0.99483527, 0.47561551],\
+-[	-5.69081606, -0.00329711, 0.00186389, 6.68751895, 0.98943799, 0.99483900, 0.47566598],\
+-[	-5.69258853, -0.00329447, 0.00186280, 6.68929406, 0.98944790, 0.99484272, 0.47571632],\
+-[	-5.69435627, -0.00329184, 0.00186172, 6.69106443, 0.98945779, 0.99484644, 0.47576654],\
+-[	-5.69611926, -0.00328921, 0.00186063, 6.69283005, 0.98946767, 0.99485016, 0.47581663],\
+-[	-5.69787754, -0.00328658, 0.00185954, 6.69459096, 0.98947753, 0.99485388, 0.47586659],\
+-[	-5.69963110, -0.00328396, 0.00185846, 6.69634715, 0.98948737, 0.99485759, 0.47591642],\
+-[	-5.70137996, -0.00328133, 0.00185737, 6.69809863, 0.98949720, 0.99486129, 0.47596613],\
+-[	-5.70312413, -0.00327872, 0.00185629, 6.69984541, 0.98950701, 0.99486500, 0.47601571],\
+-[	-5.70486360, -0.00327610, 0.00185520, 6.70158750, 0.98951681, 0.99486870, 0.47606516],\
+-[	-5.70659840, -0.00327349, 0.00185412, 6.70332492, 0.98952659, 0.99487239, 0.47611449],\
+-[	-5.70832854, -0.00327088, 0.00185304, 6.70505766, 0.98953636, 0.99487609, 0.47616370],\
+-[	-5.71005402, -0.00326827, 0.00185195, 6.70678575, 0.98954611, 0.99487978, 0.47621277],\
+-[	-5.71177484, -0.00326567, 0.00185087, 6.70850918, 0.98955584, 0.99488347, 0.47626172],\
+-[	-5.71349103, -0.00326306, 0.00184979, 6.71022797, 0.98956556, 0.99488715, 0.47631055],\
+-[	-5.71520259, -0.00326047, 0.00184870, 6.71194212, 0.98957526, 0.99489083, 0.47635925],\
+-[	-5.71690953, -0.00325787, 0.00184762, 6.71365166, 0.98958495, 0.99489451, 0.47640783],\
+-[	-5.71861185, -0.00325528, 0.00184654, 6.71535658, 0.98959462, 0.99489818, 0.47645628],\
+-[	-5.72030958, -0.00325269, 0.00184546, 6.71705689, 0.98960428, 0.99490185, 0.47650461],\
+-[	-5.72200271, -0.00325010, 0.00184438, 6.71875261, 0.98961392, 0.99490552, 0.47655282],\
+-[	-5.72369126, -0.00324752, 0.00184330, 6.72044374, 0.98962355, 0.99490918, 0.47660090],\
+-[	-5.72537523, -0.00324494, 0.00184222, 6.72213029, 0.98963316, 0.99491284, 0.47664886],\
+-[	-5.72705463, -0.00324236, 0.00184114, 6.72381227, 0.98964276, 0.99491650, 0.47669669],\
+-[	-5.72872948, -0.00323979, 0.00184006, 6.72548970, 0.98965234, 0.99492016, 0.47674440],\
+-[	-5.73039979, -0.00323721, 0.00183898, 6.72716257, 0.98966190, 0.99492381, 0.47679198],\
+-[	-5.73206555, -0.00323464, 0.00183790, 6.72883091, 0.98967145, 0.99492746, 0.47683945],\
+-[	-5.73372679, -0.00323208, 0.00183682, 6.73049471, 0.98968099, 0.99493110, 0.47688679],\
+-[	-5.73538351, -0.00322952, 0.00183574, 6.73215399, 0.98969051, 0.99493474, 0.47693401],\
+-[	-5.73703572, -0.00322695, 0.00183466, 6.73380876, 0.98970002, 0.99493838, 0.47698111],\
+-[	-5.73868343, -0.00322440, 0.00183359, 6.73545903, 0.98970951, 0.99494202, 0.47702808],\
+-[	-5.74032664, -0.00322184, 0.00183251, 6.73710480, 0.98971898, 0.99494565, 0.47707494],\
+-[	-5.74196538, -0.00321929, 0.00183143, 6.73874609, 0.98972844, 0.99494928, 0.47712167],\
+-[	-5.74359964, -0.00321674, 0.00183036, 6.74038290, 0.98973789, 0.99495290, 0.47716828],\
+-[	-5.74522943, -0.00321419, 0.00182928, 6.74201524, 0.98974732, 0.99495653, 0.47721477],\
+-[	-5.74685478, -0.00321165, 0.00182820, 6.74364312, 0.98975674, 0.99496014, 0.47726113],\
+-[	-5.74847567, -0.00320911, 0.00182713, 6.74526656, 0.98976614, 0.99496376, 0.47730738],\
+-[	-5.75009213, -0.00320657, 0.00182605, 6.74688556, 0.98977552, 0.99496737, 0.47735351],\
+-[	-5.75170417, -0.00320404, 0.00182498, 6.74850013, 0.98978490, 0.99497098, 0.47739952],\
+-[	-5.75331179, -0.00320151, 0.00182390, 6.75011028, 0.98979425, 0.99497459, 0.47744540],\
+-[	-5.75491499, -0.00319898, 0.00182283, 6.75171602, 0.98980360, 0.99497819, 0.47749117],\
+-[	-5.75651380, -0.00319645, 0.00182176, 6.75331735, 0.98981293, 0.99498179, 0.47753682],\
+-[	-5.75810822, -0.00319393, 0.00182068, 6.75491429, 0.98982224, 0.99498539, 0.47758234],\
+-[	-5.75969826, -0.00319141, 0.00181961, 6.75650685, 0.98983154, 0.99498899, 0.47762775],\
+-[	-5.76128392, -0.00318889, 0.00181854, 6.75809504, 0.98984082, 0.99499258, 0.47767304],\
+-[	-5.76286523, -0.00318637, 0.00181746, 6.75967886, 0.98985009, 0.99499616, 0.47771821],\
+-[	-5.76444218, -0.00318386, 0.00181639, 6.76125832, 0.98985935, 0.99499975, 0.47776327],\
+-[	-5.76601479, -0.00318135, 0.00181532, 6.76283343, 0.98986859, 0.99500333, 0.47780820],\
+-[	-5.76758306, -0.00317884, 0.00181425, 6.76440421, 0.98987782, 0.99500691, 0.47785302],\
+-[	-5.76914700, -0.00317634, 0.00181318, 6.76597066, 0.98988703, 0.99501049, 0.47789772],\
+-[	-5.77070663, -0.00317384, 0.00181210, 6.76753279, 0.98989623, 0.99501406, 0.47794230],\
+-[	-5.77226195, -0.00317134, 0.00181103, 6.76909061, 0.98990542, 0.99501763, 0.47798676],\
+-[	-5.77381298, -0.00316884, 0.00180996, 6.77064413, 0.98991459, 0.99502119, 0.47803110],\
+-[	-5.77535971, -0.00316635, 0.00180889, 6.77219336, 0.98992374, 0.99502476, 0.47807533],\
+-[	-5.77690216, -0.00316386, 0.00180782, 6.77373830, 0.98993289, 0.99502832, 0.47811945],\
+-[	-5.77844035, -0.00316137, 0.00180675, 6.77527898, 0.98994201, 0.99503187, 0.47816344],\
+-[	-5.77997427, -0.00315889, 0.00180569, 6.77681538, 0.98995113, 0.99503543, 0.47820732],\
+-[	-5.78150394, -0.00315640, 0.00180462, 6.77834753, 0.98996023, 0.99503898, 0.47825108],\
+-[	-5.78302936, -0.00315393, 0.00180355, 6.77987544, 0.98996931, 0.99504253, 0.47829473],\
+-[	-5.78455056, -0.00315145, 0.00180248, 6.78139911, 0.98997839, 0.99504607, 0.47833826],\
+-[	-5.78606752, -0.00314897, 0.00180141, 6.78291855, 0.98998744, 0.99504961, 0.47838168],\
+-[	-5.78758027, -0.00314650, 0.00180035, 6.78443377, 0.98999649, 0.99505315, 0.47842498],\
+-[	-5.78908882, -0.00314403, 0.00179928, 6.78594478, 0.99000552, 0.99505669, 0.47846816],\
+-[	-5.79059316, -0.00314157, 0.00179821, 6.78745159, 0.99001453, 0.99506022, 0.47851123],\
+-[	-5.79209332, -0.00313911, 0.00179715, 6.78895421, 0.99002354, 0.99506375, 0.47855419],\
+-[	-5.79358930, -0.00313665, 0.00179608, 6.79045265, 0.99003253, 0.99506727, 0.47859703],\
+-[	-5.79508110, -0.00313419, 0.00179501, 6.79194692, 0.99004150, 0.99507080, 0.47863976],\
+-[	-5.79656875, -0.00313173, 0.00179395, 6.79343702, 0.99005046, 0.99507432, 0.47868238],\
+-[	-5.79805224, -0.00312928, 0.00179288, 6.79492296, 0.99005941, 0.99507784, 0.47872487],\
+-[	-5.79953159, -0.00312683, 0.00179182, 6.79640476, 0.99006834, 0.99508135, 0.47876726],\
+-[	-5.80100681, -0.00312438, 0.00179075, 6.79788243, 0.99007726, 0.99508486, 0.47880954],\
+-[	-5.80247790, -0.00312194, 0.00178969, 6.79935596, 0.99008617, 0.99508837, 0.47885170],\
+-[	-5.80394487, -0.00311950, 0.00178863, 6.80082538, 0.99009506, 0.99509187, 0.47889374],\
+-[	-5.80540774, -0.00311706, 0.00178756, 6.80229068, 0.99010394, 0.99509538, 0.47893568],\
+-[	-5.80686651, -0.00311462, 0.00178650, 6.80375189, 0.99011281, 0.99509888, 0.47897750],\
+-[	-5.80832119, -0.00311219, 0.00178544, 6.80520900, 0.99012166, 0.99510237, 0.47901921],\
+-[	-5.80977179, -0.00310976, 0.00178438, 6.80666204, 0.99013050, 0.99510587, 0.47906081],\
+-[	-5.81121832, -0.00310733, 0.00178331, 6.80811099, 0.99013933, 0.99510936, 0.47910230],\
+-[	-5.81266079, -0.00310490, 0.00178225, 6.80955589, 0.99014814, 0.99511284, 0.47914367],\
+-[	-5.81409921, -0.00310248, 0.00178119, 6.81099673, 0.99015694, 0.99511633, 0.47918494],\
+-[	-5.81553358, -0.00310006, 0.00178013, 6.81243352, 0.99016573, 0.99511981, 0.47922609],\
+-[	-5.81696392, -0.00309764, 0.00177907, 6.81386627, 0.99017450, 0.99512329, 0.47926714],\
+-[	-5.81839023, -0.00309523, 0.00177801, 6.81529500, 0.99018326, 0.99512676, 0.47930807],\
+-[	-5.81981252, -0.00309282, 0.00177695, 6.81671970, 0.99019200, 0.99513024, 0.47934889],\
+-[	-5.82123081, -0.00309041, 0.00177589, 6.81814040, 0.99020074, 0.99513370, 0.47938960],\
+-[	-5.82264509, -0.00308800, 0.00177483, 6.81955709, 0.99020946, 0.99513717, 0.47943020],\
+-[	-5.82405539, -0.00308560, 0.00177377, 6.82096980, 0.99021816, 0.99514063, 0.47947070],\
+-[	-5.82546171, -0.00308319, 0.00177271, 6.82237851, 0.99022686, 0.99514410, 0.47951108],\
+-[	-5.82686405, -0.00308079, 0.00177165, 6.82378326, 0.99023554, 0.99514755, 0.47955135],\
+-[	-5.82826243, -0.00307840, 0.00177059, 6.82518403, 0.99024421, 0.99515101, 0.47959152],\
+-[	-5.82965686, -0.00307600, 0.00176954, 6.82658086, 0.99025286, 0.99515446, 0.47963157],\
+-[	-5.83104734, -0.00307361, 0.00176848, 6.82797373, 0.99026150, 0.99515791, 0.47967152],\
+-[	-5.83243389, -0.00307122, 0.00176742, 6.82936266, 0.99027013, 0.99516135, 0.47971136],\
+-[	-5.83381650, -0.00306884, 0.00176637, 6.83074767, 0.99027875, 0.99516480, 0.47975109],\
+-[	-5.83519520, -0.00306645, 0.00176531, 6.83212875, 0.99028735, 0.99516824, 0.47979072],\
+-[	-5.83656999, -0.00306407, 0.00176425, 6.83350592, 0.99029594, 0.99517167, 0.47983023],\
+-[	-5.83794088, -0.00306169, 0.00176320, 6.83487918, 0.99030451, 0.99517511, 0.47986964],\
+-[	-5.83930788, -0.00305932, 0.00176214, 6.83624856, 0.99031308, 0.99517854, 0.47990894],\
+-[	-5.84067099, -0.00305695, 0.00176109, 6.83761404, 0.99032163, 0.99518197, 0.47994814],\
+-[	-5.84203023, -0.00305458, 0.00176003, 6.83897565, 0.99033017, 0.99518539, 0.47998722],\
+-[	-5.84338560, -0.00305221, 0.00175898, 6.84033340, 0.99033869, 0.99518881, 0.48002620],\
+-[	-5.84473712, -0.00304984, 0.00175793, 6.84168728, 0.99034721, 0.99519223, 0.48006508],\
+-[	-5.84608479, -0.00304748, 0.00175687, 6.84303731, 0.99035571, 0.99519565, 0.48010385],\
+-[	-5.84742862, -0.00304512, 0.00175582, 6.84438350, 0.99036419, 0.99519906, 0.48014251],\
+-[	-5.84876862, -0.00304276, 0.00175477, 6.84572586, 0.99037267, 0.99520247, 0.48018107],\
+-[	-5.85010480, -0.00304041, 0.00175371, 6.84706439, 0.99038113, 0.99520588, 0.48021952],\
+-[	-5.85143717, -0.00303805, 0.00175266, 6.84839911, 0.99038958, 0.99520929, 0.48025787],\
+-[	-5.85276573, -0.00303570, 0.00175161, 6.84973003, 0.99039802, 0.99521269, 0.48029611],\
+-[	-5.85409050, -0.00303336, 0.00175056, 6.85105714, 0.99040644, 0.99521609, 0.48033425],\
+-[	-5.85541148, -0.00303101, 0.00174951, 6.85238047, 0.99041485, 0.99521948, 0.48037228],\
+-[	-5.85672868, -0.00302867, 0.00174846, 6.85370002, 0.99042325, 0.99522288, 0.48041021],\
+-[	-5.85804212, -0.00302633, 0.00174741, 6.85501579, 0.99043164, 0.99522627, 0.48044803],\
+-[	-5.85935180, -0.00302399, 0.00174636, 6.85632781, 0.99044002, 0.99522965, 0.48048575],\
+-[	-5.86065772, -0.00302166, 0.00174531, 6.85763607, 0.99044838, 0.99523304, 0.48052337],\
+-[	-5.86195991, -0.00301932, 0.00174426, 6.85894058, 0.99045673, 0.99523642, 0.48056088],\
+-[	-5.86325835, -0.00301699, 0.00174321, 6.86024136, 0.99046507, 0.99523980, 0.48059829],\
+-[	-5.86455308, -0.00301467, 0.00174216, 6.86153841, 0.99047339, 0.99524317, 0.48063560],\
+-[	-5.86584409, -0.00301234, 0.00174111, 6.86283174, 0.99048171, 0.99524655, 0.48067281],\
+-[	-5.86713139, -0.00301002, 0.00174006, 6.86412137, 0.99049001, 0.99524992, 0.48070991],\
+-[	-5.86841499, -0.00300770, 0.00173902, 6.86540729, 0.99049829, 0.99525328, 0.48074691],\
+-[	-5.86969490, -0.00300538, 0.00173797, 6.86668952, 0.99050657, 0.99525665, 0.48078381],\
+-[	-5.87097113, -0.00300307, 0.00173692, 6.86796806, 0.99051483, 0.99526001, 0.48082060],\
+-[	-5.87224368, -0.00300076, 0.00173588, 6.86924293, 0.99052309, 0.99526337, 0.48085730],\
+-[	-5.87351257, -0.00299845, 0.00173483, 6.87051413, 0.99053133, 0.99526672, 0.48089389],\
+-[	-5.87477781, -0.00299614, 0.00173378, 6.87178167, 0.99053955, 0.99527008, 0.48093038],\
+-[	-5.87603940, -0.00299383, 0.00173274, 6.87304557, 0.99054777, 0.99527343, 0.48096678],\
+-[	-5.87729735, -0.00299153, 0.00173169, 6.87430582, 0.99055597, 0.99527677, 0.48100307],\
+-[	-5.87855167, -0.00298923, 0.00173065, 6.87556244, 0.99056416, 0.99528012, 0.48103926],\
+-[	-5.87980237, -0.00298694, 0.00172961, 6.87681543, 0.99057234, 0.99528346, 0.48107535],\
+-[	-5.88104946, -0.00298464, 0.00172856, 6.87806482, 0.99058051, 0.99528680, 0.48111134],\
+-[	-5.88229294, -0.00298235, 0.00172752, 6.87931059, 0.99058867, 0.99529013, 0.48114723],\
+-[	-5.88353283, -0.00298006, 0.00172648, 6.88055277, 0.99059681, 0.99529347, 0.48118302],\
+-[	-5.88476913, -0.00297777, 0.00172543, 6.88179135, 0.99060494, 0.99529680, 0.48121871],\
+-[	-5.88600185, -0.00297549, 0.00172439, 6.88302636, 0.99061306, 0.99530012, 0.48125430],\
+-[	-5.88723100, -0.00297320, 0.00172335, 6.88425779, 0.99062117, 0.99530345, 0.48128980],\
+-[	-5.88845659, -0.00297093, 0.00172231, 6.88548566, 0.99062927, 0.99530677, 0.48132519],\
+-[	-5.88967862, -0.00296865, 0.00172127, 6.88670998, 0.99063735, 0.99531009, 0.48136049],\
+-[	-5.89089712, -0.00296637, 0.00172022, 6.88793074, 0.99064542, 0.99531340, 0.48139569],\
+-[	-5.89211207, -0.00296410, 0.00171918, 6.88914797, 0.99065348, 0.99531671, 0.48143079],\
+-[	-5.89332350, -0.00296183, 0.00171814, 6.89036167, 0.99066153, 0.99532002, 0.48146579],\
+-[	-5.89453141, -0.00295956, 0.00171710, 6.89157185, 0.99066957, 0.99532333, 0.48150069],\
+-[	-5.89573581, -0.00295730, 0.00171607, 6.89277851, 0.99067760, 0.99532664, 0.48153550],\
+-[	-5.89693670, -0.00295504, 0.00171503, 6.89398167, 0.99068561, 0.99532994, 0.48157021],\
+-[	-5.89813411, -0.00295278, 0.00171399, 6.89518133, 0.99069361, 0.99533324, 0.48160482],\
+-[	-5.89932802, -0.00295052, 0.00171295, 6.89637751, 0.99070160, 0.99533653, 0.48163934],\
+-[	-5.90051846, -0.00294826, 0.00171191, 6.89757020, 0.99070958, 0.99533983, 0.48167376],\
+-[	-5.90170544, -0.00294601, 0.00171088, 6.89875943, 0.99071755, 0.99534312, 0.48170809],\
+-[	-5.90288895, -0.00294376, 0.00170984, 6.89994519, 0.99072550, 0.99534640, 0.48174231],\
+-[	-5.90406901, -0.00294151, 0.00170880, 6.90112750, 0.99073345, 0.99534969, 0.48177645],\
+-[	-5.90524562, -0.00293927, 0.00170777, 6.90230636, 0.99074138, 0.99535297, 0.48181048],\
+-[	-5.90641881, -0.00293702, 0.00170673, 6.90348178, 0.99074930, 0.99535625, 0.48184443],\
+-[	-5.90758856, -0.00293478, 0.00170569, 6.90465378, 0.99075721, 0.99535952, 0.48187827],\
+-[	-5.90875490, -0.00293254, 0.00170466, 6.90582235, 0.99076511, 0.99536280, 0.48191202],\
+-[	-5.90991782, -0.00293031, 0.00170363, 6.90698751, 0.99077300, 0.99536607, 0.48194568],\
+-[	-5.91107735, -0.00292807, 0.00170259, 6.90814927, 0.99078087, 0.99536933, 0.48197924],\
+-[	-5.91223348, -0.00292584, 0.00170156, 6.90930763, 0.99078874, 0.99537260, 0.48201271],\
+-[	-5.91338622, -0.00292362, 0.00170052, 6.91046261, 0.99079659, 0.99537586, 0.48204608],\
+-[	-5.91453559, -0.00292139, 0.00169949, 6.91161420, 0.99080443, 0.99537912, 0.48207936],\
+-[	-5.91568159, -0.00291917, 0.00169846, 6.91276243, 0.99081226, 0.99538238, 0.48211255],\
+-[	-5.91682423, -0.00291694, 0.00169743, 6.91390729, 0.99082008, 0.99538563, 0.48214564],\
+-[	-5.91796352, -0.00291472, 0.00169639, 6.91504879, 0.99082789, 0.99538888, 0.48217864],\
+-[	-5.91909946, -0.00291251, 0.00169536, 6.91618695, 0.99083569, 0.99539213, 0.48221155],\
+-[	-5.92023207, -0.00291029, 0.00169433, 6.91732177, 0.99084347, 0.99539537, 0.48224436],\
+-[	-5.92136135, -0.00290808, 0.00169330, 6.91845327, 0.99085124, 0.99539862, 0.48227709],\
+-[	-5.92248731, -0.00290587, 0.00169227, 6.91958144, 0.99085901, 0.99540186, 0.48230971],\
+-[	-5.92360996, -0.00290367, 0.00169124, 6.92070629, 0.99086676, 0.99540509, 0.48234225],\
+-[	-5.92472930, -0.00290146, 0.00169021, 6.92182784, 0.99087450, 0.99540833, 0.48237470],\
+-[	-5.92584536, -0.00289926, 0.00168918, 6.92294610, 0.99088223, 0.99541156, 0.48240705],\
+-[	-5.92695812, -0.00289706, 0.00168816, 6.92406106, 0.99088995, 0.99541479, 0.48243931],\
+-[	-5.92806761, -0.00289486, 0.00168713, 6.92517274, 0.99089766, 0.99541801, 0.48247148],\
+-[	-5.92917382, -0.00289267, 0.00168610, 6.92628115, 0.99090535, 0.99542123, 0.48250356],\
+-[	-5.93027677, -0.00289047, 0.00168507, 6.92738630, 0.99091304, 0.99542445, 0.48253555],\
+-[	-5.93137647, -0.00288828, 0.00168405, 6.92848819, 0.99092071, 0.99542767, 0.48256745],\
+-[	-5.93247293, -0.00288610, 0.00168302, 6.92958683, 0.99092837, 0.99543089, 0.48259926],\
+-[	-5.93356614, -0.00288391, 0.00168199, 6.93068223, 0.99093603, 0.99543410, 0.48263098],\
+-[	-5.93465613, -0.00288173, 0.00168097, 6.93177440, 0.99094367, 0.99543731, 0.48266260],\
+-[	-5.93574289, -0.00287955, 0.00167994, 6.93286334, 0.99095130, 0.99544051, 0.48269414],\
+-[	-5.93682644, -0.00287737, 0.00167892, 6.93394907, 0.99095892, 0.99544371, 0.48272559],\
+-[	-5.93790678, -0.00287519, 0.00167789, 6.93503159, 0.99096653, 0.99544692, 0.48275695],\
+-[	-5.93898392, -0.00287302, 0.00167687, 6.93611091, 0.99097412, 0.99545011, 0.48278822],\
+-[	-5.94005788, -0.00287085, 0.00167585, 6.93718703, 0.99098171, 0.99545331, 0.48281940],\
+-[	-5.94112865, -0.00286868, 0.00167482, 6.93825997, 0.99098929, 0.99545650, 0.48285049],\
+-[	-5.94219625, -0.00286651, 0.00167380, 6.93932974, 0.99099685, 0.99545969, 0.48288150],\
+-[	-5.94326068, -0.00286435, 0.00167278, 6.94039634, 0.99100441, 0.99546288, 0.48291241],\
+-[	-5.94432196, -0.00286218, 0.00167176, 6.94145977, 0.99101195, 0.99546606, 0.48294324],\
+-[	-5.94538008, -0.00286002, 0.00167074, 6.94252006, 0.99101949, 0.99546924, 0.48297398],\
+-[	-5.94643506, -0.00285787, 0.00166971, 6.94357720, 0.99102701, 0.99547242, 0.48300463],\
+-[	-5.94748691, -0.00285571, 0.00166869, 6.94463120, 0.99103452, 0.99547559, 0.48303520],\
+-[	-5.94853563, -0.00285356, 0.00166767, 6.94568207, 0.99104202, 0.99547877, 0.48306568],\
+-[	-5.94958124, -0.00285141, 0.00166666, 6.94672983, 0.99104951, 0.99548194, 0.48309607],\
+-[	-5.95062373, -0.00284926, 0.00166564, 6.94777447, 0.99105699, 0.99548510, 0.48312637],\
+-[	-5.95166312, -0.00284711, 0.00166462, 6.94881600, 0.99106446, 0.99548827, 0.48315659],\
+-[	-5.95269941, -0.00284497, 0.00166360, 6.94985444, 0.99107192, 0.99549143, 0.48318672],\
+-[	-5.95373262, -0.00284283, 0.00166258, 6.95088979, 0.99107937, 0.99549459, 0.48321676],\
+-[	-5.95476275, -0.00284069, 0.00166156, 6.95192206, 0.99108681, 0.99549775, 0.48324672],\
+-[	-5.95578980, -0.00283855, 0.00166055, 6.95295125, 0.99109423, 0.99550090, 0.48327660],\
+-[	-5.95681380, -0.00283642, 0.00165953, 6.95397738, 0.99110165, 0.99550405, 0.48330638],\
+-[	-5.95783474, -0.00283429, 0.00165852, 6.95500045, 0.99110906, 0.99550720, 0.48333609],\
+-[	-5.95885262, -0.00283216, 0.00165750, 6.95602047, 0.99111645, 0.99551034, 0.48336571],\
+-[	-5.95986747, -0.00283003, 0.00165648, 6.95703744, 0.99112384, 0.99551348, 0.48339524],\
+-[	-5.96087929, -0.00282791, 0.00165547, 6.95805138, 0.99113121, 0.99551662, 0.48342469],\
+-[	-5.96188808, -0.00282578, 0.00165446, 6.95906230, 0.99113858, 0.99551976, 0.48345405],\
+-[	-5.96289385, -0.00282366, 0.00165344, 6.96007019, 0.99114593, 0.99552290, 0.48348333],\
+-[	-5.96389662, -0.00282154, 0.00165243, 6.96107507, 0.99115327, 0.99552603, 0.48351252],\
+-[	-5.96489638, -0.00281943, 0.00165142, 6.96207695, 0.99116061, 0.99552916, 0.48354163],\
+-[	-5.96589315, -0.00281732, 0.00165040, 6.96307584, 0.99116793, 0.99553228, 0.48357066],\
+-[	-5.96688693, -0.00281520, 0.00164939, 6.96407173, 0.99117524, 0.99553540, 0.48359961],\
+-[	-5.96787774, -0.00281310, 0.00164838, 6.96506464, 0.99118255, 0.99553852, 0.48362846],\
+-[	-5.96886557, -0.00281099, 0.00164737, 6.96605458, 0.99118984, 0.99554164, 0.48365724],\
+-[	-5.96985044, -0.00280888, 0.00164636, 6.96704156, 0.99119712, 0.99554476, 0.48368594],\
+-[	-5.97083235, -0.00280678, 0.00164535, 6.96802557, 0.99120439, 0.99554787, 0.48371455],\
+-[	-5.97181132, -0.00280468, 0.00164434, 6.96900664, 0.99121165, 0.99555098, 0.48374308],\
+-[	-5.97278734, -0.00280258, 0.00164333, 6.96998476, 0.99121891, 0.99555409, 0.48377153],\
+-[	-5.97376044, -0.00280049, 0.00164232, 6.97095995, 0.99122615, 0.99555719, 0.48379989],\
+-[	-5.97473060, -0.00279840, 0.00164131, 6.97193221, 0.99123338, 0.99556029, 0.48382818],\
+-[	-5.97569785, -0.00279631, 0.00164031, 6.97290155, 0.99124060, 0.99556339, 0.48385638],\
+-[	-5.97666219, -0.00279422, 0.00163930, 6.97386797, 0.99124781, 0.99556648, 0.48388450],\
+-[	-5.97762362, -0.00279213, 0.00163829, 6.97483149, 0.99125501, 0.99556958, 0.48391254],\
+-[	-5.97858216, -0.00279005, 0.00163729, 6.97579212, 0.99126220, 0.99557267, 0.48394050],\
+-[	-5.97953782, -0.00278796, 0.00163628, 6.97674985, 0.99126938, 0.99557576, 0.48396837],\
+-[	-5.98049059, -0.00278589, 0.00163527, 6.97770470, 0.99127655, 0.99557884, 0.48399617],\
+-[	-5.98144049, -0.00278381, 0.00163427, 6.97865668, 0.99128371, 0.99558192, 0.48402389],\
+-[	-5.98238752, -0.00278173, 0.00163326, 6.97960579, 0.99129087, 0.99558500, 0.48405152],\
+-[	-5.98333170, -0.00277966, 0.00163226, 6.98055204, 0.99129801, 0.99558808, 0.48407908],\
+-[	-5.98427302, -0.00277759, 0.00163126, 6.98149543, 0.99130514, 0.99559115, 0.48410655],\
+-[	-5.98521150, -0.00277552, 0.00163025, 6.98243598, 0.99131226, 0.99559422, 0.48413395],\
+-[	-5.98614715, -0.00277346, 0.00162925, 6.98337369, 0.99131937, 0.99559729, 0.48416127],\
+-[	-5.98707997, -0.00277139, 0.00162825, 6.98430858, 0.99132647, 0.99560036, 0.48418851],\
+-[	-5.98800996, -0.00276933, 0.00162725, 6.98524063, 0.99133356, 0.99560342, 0.48421567],\
+-[	-5.98893715, -0.00276727, 0.00162625, 6.98616988, 0.99134064, 0.99560648, 0.48424275],\
+-[	-5.98986153, -0.00276521, 0.00162525, 6.98709631, 0.99134771, 0.99560954, 0.48426975],\
+-[	-5.99078310, -0.00276316, 0.00162425, 6.98801995, 0.99135477, 0.99561259, 0.48429667],\
+-[	-5.99170189, -0.00276111, 0.00162325, 6.98894079, 0.99136183, 0.99561565, 0.48432352],\
+-[	-5.99261789, -0.00275906, 0.00162225, 6.98985884, 0.99136887, 0.99561870, 0.48435028],\
+-[	-5.99353112, -0.00275701, 0.00162125, 6.99077411, 0.99137590, 0.99562174, 0.48437697],\
+-[	-5.99444158, -0.00275496, 0.00162025, 6.99168662, 0.99138292, 0.99562479, 0.48440358],\
+-[	-5.99534927, -0.00275292, 0.00161925, 6.99259635, 0.99138994, 0.99562783, 0.48443012],\
+-[	-5.99625421, -0.00275088, 0.00161826, 6.99350334, 0.99139694, 0.99563087, 0.48445657],\
+-[	-5.99715640, -0.00274884, 0.00161726, 6.99440757, 0.99140393, 0.99563390, 0.48448295],\
+-[	-5.99805585, -0.00274680, 0.00161626, 6.99530906, 0.99141092, 0.99563694, 0.48450926],\
+-[	-5.99895257, -0.00274476, 0.00161527, 6.99620781, 0.99141789, 0.99563997, 0.48453548],\
+-[	-5.99984656, -0.00274273, 0.00161427, 6.99710383, 0.99142485, 0.99564299, 0.48456163],\
+-[	-6.00073784, -0.00274070, 0.00161328, 6.99799714, 0.99143181, 0.99564602, 0.48458771],\
+-[	-6.00162640, -0.00273867, 0.00161228, 6.99888773, 0.99143875, 0.99564904, 0.48461370],\
+-[	-6.00251225, -0.00273665, 0.00161129, 6.99977561, 0.99144569, 0.99565206, 0.48463962],\
+-[	-6.00339541, -0.00273462, 0.00161030, 7.00066079, 0.99145261, 0.99565508, 0.48466547],\
+-[	-6.00427588, -0.00273260, 0.00160931, 7.00154328, 0.99145953, 0.99565809, 0.48469124],\
+-[	-6.00515367, -0.00273058, 0.00160831, 7.00242309, 0.99146644, 0.99566111, 0.48471693],\
+-[	-6.00602878, -0.00272856, 0.00160732, 7.00330021, 0.99147334, 0.99566411, 0.48474255],\
+-[	-6.00690122, -0.00272655, 0.00160633, 7.00417467, 0.99148022, 0.99566712, 0.48476810],\
+-[	-6.00777100, -0.00272454, 0.00160534, 7.00504646, 0.99148710, 0.99567012, 0.48479357],\
+-[	-6.00863812, -0.00272252, 0.00160435, 7.00591560, 0.99149397, 0.99567313, 0.48481896],\
+-[	-6.00950260, -0.00272052, 0.00160336, 7.00678208, 0.99150083, 0.99567612, 0.48484429],\
+-[	-6.01036444, -0.00271851, 0.00160237, 7.00764593, 0.99150768, 0.99567912, 0.48486953],\
+-[	-6.01122364, -0.00271651, 0.00160138, 7.00850713, 0.99151452, 0.99568211, 0.48489471],\
+-[	-6.01208022, -0.00271450, 0.00160039, 7.00936571, 0.99152135, 0.99568510, 0.48491980],\
+-[	-6.01293417, -0.00271250, 0.00159941, 7.01022167, 0.99152817, 0.99568809, 0.48494483],\
+-[	-6.01378552, -0.00271051, 0.00159842, 7.01107501, 0.99153498, 0.99569107, 0.48496978],\
+-[	-6.01463426, -0.00270851, 0.00159743, 7.01192575, 0.99154179, 0.99569406, 0.48499466],\
+-[	-6.01548040, -0.00270652, 0.00159645, 7.01277388, 0.99154858, 0.99569704, 0.48501947],\
+-[	-6.01632394, -0.00270453, 0.00159546, 7.01361942, 0.99155537, 0.99570001, 0.48504420],\
+-[	-6.01716491, -0.00270254, 0.00159448, 7.01446237, 0.99156214, 0.99570299, 0.48506886],\
+-[	-6.01800329, -0.00270055, 0.00159349, 7.01530274, 0.99156891, 0.99570596, 0.48509345],\
+-[	-6.01883911, -0.00269856, 0.00159251, 7.01614055, 0.99157566, 0.99570893, 0.48511797],\
+-[	-6.01967236, -0.00269658, 0.00159153, 7.01697578, 0.99158241, 0.99571189, 0.48514241],\
+-[	-6.02050306, -0.00269460, 0.00159054, 7.01780845, 0.99158915, 0.99571486, 0.48516678],\
+-[	-6.02133120, -0.00269262, 0.00158956, 7.01863858, 0.99159588, 0.99571782, 0.48519108],\
+-[	-6.02215680, -0.00269065, 0.00158858, 7.01946615, 0.99160260, 0.99572077, 0.48521531],\
+-[	-6.02297987, -0.00268867, 0.00158760, 7.02029119, 0.99160931, 0.99572373, 0.48523947],\
+-[	-6.02380040, -0.00268670, 0.00158662, 7.02111370, 0.99161601, 0.99572668, 0.48526355],\
+-[	-6.02461841, -0.00268473, 0.00158564, 7.02193368, 0.99162270, 0.99572963, 0.48528757],\
+-[	-6.02543391, -0.00268276, 0.00158466, 7.02275115, 0.99162938, 0.99573258, 0.48531151],\
+-[	-6.02624690, -0.00268080, 0.00158368, 7.02356610, 0.99163606, 0.99573552, 0.48533539],\
+-[	-6.02705738, -0.00267883, 0.00158270, 7.02437855, 0.99164272, 0.99573847, 0.48535919],\
+-[	-6.02786537, -0.00267687, 0.00158172, 7.02518850, 0.99164938, 0.99574141, 0.48538292],\
+-[	-6.02867087, -0.00267491, 0.00158074, 7.02599596, 0.99165602, 0.99574434, 0.48540659],\
+-[	-6.02947389, -0.00267296, 0.00157977, 7.02680093, 0.99166266, 0.99574728, 0.48543018],\
+-[	-6.03027443, -0.00267100, 0.00157879, 7.02760343, 0.99166929, 0.99575021, 0.48545370],\
+-[	-6.03107251, -0.00266905, 0.00157781, 7.02840346, 0.99167591, 0.99575314, 0.48547716],\
+-[	-6.03186812, -0.00266710, 0.00157684, 7.02920102, 0.99168252, 0.99575606, 0.48550054],\
+-[	-6.03266127, -0.00266515, 0.00157586, 7.02999612, 0.99168912, 0.99575899, 0.48552386],\
+-[	-6.03345198, -0.00266320, 0.00157489, 7.03078878, 0.99169571, 0.99576191, 0.48554710],\
+-[	-6.03424025, -0.00266126, 0.00157391, 7.03157899, 0.99170230, 0.99576483, 0.48557028],\
+-[	-6.03502608, -0.00265932, 0.00157294, 7.03236676, 0.99170887, 0.99576774, 0.48559339],\
+-[	-6.03580948, -0.00265738, 0.00157197, 7.03315210, 0.99171544, 0.99577065, 0.48561643],\
+-[	-6.03659046, -0.00265544, 0.00157100, 7.03393502, 0.99172199, 0.99577356, 0.48563940],\
+-[	-6.03736903, -0.00265350, 0.00157002, 7.03471552, 0.99172854, 0.99577647, 0.48566231],\
+-[	-6.03814518, -0.00265157, 0.00156905, 7.03549361, 0.99173508, 0.99577938, 0.48568514],\
+-[	-6.03891894, -0.00264964, 0.00156808, 7.03626930, 0.99174161, 0.99578228, 0.48570791],\
+-[	-6.03969029, -0.00264771, 0.00156711, 7.03704258, 0.99174813, 0.99578518, 0.48573061],\
+-[	-6.04045926, -0.00264578, 0.00156614, 7.03781348, 0.99175464, 0.99578807, 0.48575324],\
+-[	-6.04122585, -0.00264386, 0.00156517, 7.03858199, 0.99176115, 0.99579097, 0.48577581],\
+-[	-6.04199006, -0.00264193, 0.00156421, 7.03934813, 0.99176764, 0.99579386, 0.48579831],\
+-[	-6.04275190, -0.00264001, 0.00156324, 7.04011189, 0.99177413, 0.99579675, 0.48582075],\
+-[	-6.04351138, -0.00263809, 0.00156227, 7.04087328, 0.99178061, 0.99579964, 0.48584311],\
+-[	-6.04426850, -0.00263618, 0.00156130, 7.04163232, 0.99178707, 0.99580252, 0.48586541],\
+-[	-6.04502327, -0.00263426, 0.00156034, 7.04238901, 0.99179353, 0.99580540, 0.48588765],\
+-[	-6.04577570, -0.00263235, 0.00155937, 7.04314335, 0.99179998, 0.99580828, 0.48590981],\
+-[	-6.04652579, -0.00263044, 0.00155841, 7.04389535, 0.99180643, 0.99581115, 0.48593191],\
+-[	-6.04727354, -0.00262853, 0.00155744, 7.04464502, 0.99181286, 0.99581403, 0.48595395],\
+-[	-6.04801898, -0.00262662, 0.00155648, 7.04539236, 0.99181929, 0.99581690, 0.48597592],\
+-[	-6.04876210, -0.00262472, 0.00155552, 7.04613738, 0.99182570, 0.99581977, 0.48599782],\
+-[	-6.04950290, -0.00262282, 0.00155455, 7.04688009, 0.99183211, 0.99582263, 0.48601966],\
+-[	-6.05024140, -0.00262092, 0.00155359, 7.04762049, 0.99183851, 0.99582549, 0.48604144],\
+-[	-6.05097760, -0.00261902, 0.00155263, 7.04835858, 0.99184490, 0.99582835, 0.48606315],\
+-[	-6.05171151, -0.00261712, 0.00155167, 7.04909439, 0.99185128, 0.99583121, 0.48608479],\
+-[	-6.05244313, -0.00261523, 0.00155071, 7.04982791, 0.99185765, 0.99583407, 0.48610637],\
+-[	-6.05317248, -0.00261334, 0.00154975, 7.05055914, 0.99186402, 0.99583692, 0.48612789],\
+-[	-6.05389955, -0.00261145, 0.00154879, 7.05128810, 0.99187037, 0.99583977, 0.48614934],\
+-[	-6.05462435, -0.00260956, 0.00154783, 7.05201479, 0.99187672, 0.99584261, 0.48617073],\
+-[	-6.05534689, -0.00260767, 0.00154687, 7.05273922, 0.99188306, 0.99584546, 0.48619205],\
+-[	-6.05606718, -0.00260579, 0.00154591, 7.05346139, 0.99188939, 0.99584830, 0.48621331],\
+-[	-6.05678521, -0.00260391, 0.00154495, 7.05418131, 0.99189571, 0.99585114, 0.48623450],\
+-[	-6.05750101, -0.00260203, 0.00154400, 7.05489898, 0.99190203, 0.99585398, 0.48625564],\
+-[	-6.05821457, -0.00260015, 0.00154304, 7.05561442, 0.99190833, 0.99585681, 0.48627671],\
+-[	-6.05892590, -0.00259827, 0.00154209, 7.05632763, 0.99191463, 0.99585964, 0.48629772],\
+-[	-6.05963501, -0.00259640, 0.00154113, 7.05703861, 0.99192092, 0.99586247, 0.48631866],\
+-[	-6.06034190, -0.00259453, 0.00154018, 7.05774737, 0.99192720, 0.99586529, 0.48633954],\
+-[	-6.06104657, -0.00259266, 0.00153922, 7.05845392, 0.99193347, 0.99586812, 0.48636036],\
+-[	-6.06174905, -0.00259079, 0.00153827, 7.05915826, 0.99193973, 0.99587094, 0.48638112],\
+-[	-6.06244932, -0.00258893, 0.00153732, 7.05986040, 0.99194598, 0.99587376, 0.48640181],\
+-[	-6.06314740, -0.00258706, 0.00153637, 7.06056034, 0.99195223, 0.99587657, 0.48642244],\
+-[	-6.06384330, -0.00258520, 0.00153541, 7.06125810, 0.99195847, 0.99587938, 0.48644301],\
+-[	-6.06453701, -0.00258334, 0.00153446, 7.06195367, 0.99196470, 0.99588220, 0.48646352],\
+-[	-6.06522855, -0.00258148, 0.00153351, 7.06264707, 0.99197092, 0.99588500, 0.48648397],\
+-[	-6.06591793, -0.00257963, 0.00153256, 7.06333830, 0.99197713, 0.99588781, 0.48650436],\
+-[	-6.06660514, -0.00257778, 0.00153161, 7.06402736, 0.99198334, 0.99589061, 0.48652468],\
+-[	-6.06729019, -0.00257592, 0.00153067, 7.06471427, 0.99198953, 0.99589341, 0.48654494],\
+-[	-6.06797309, -0.00257408, 0.00152972, 7.06539902, 0.99199572, 0.99589621, 0.48656515],\
+-[	-6.06865385, -0.00257223, 0.00152877, 7.06608163, 0.99200190, 0.99589900, 0.48658529],\
+-[	-6.06933248, -0.00257038, 0.00152782, 7.06676209, 0.99200807, 0.99590179, 0.48660537],\
+-[	-6.07000896, -0.00256854, 0.00152688, 7.06744043, 0.99201424, 0.99590458, 0.48662539],\
+-[	-6.07068333, -0.00256670, 0.00152593, 7.06811663, 0.99202039, 0.99590737, 0.48664535],\
+-[	-6.07135557, -0.00256486, 0.00152499, 7.06879071, 0.99202654, 0.99591015, 0.48666525],\
+-[	-6.07202570, -0.00256302, 0.00152404, 7.06946268, 0.99203268, 0.99591294, 0.48668509],\
+-[	-6.07269372, -0.00256119, 0.00152310, 7.07013254, 0.99203881, 0.99591572, 0.48670487],\
+-[	-6.07335964, -0.00255935, 0.00152215, 7.07080029, 0.99204493, 0.99591849, 0.48672460],\
+-[	-6.07402346, -0.00255752, 0.00152121, 7.07146594, 0.99205104, 0.99592127, 0.48674426],\
+-[	-6.07468520, -0.00255569, 0.00152027, 7.07212950, 0.99205715, 0.99592404, 0.48676386],\
+-[	-6.07534484, -0.00255387, 0.00151933, 7.07279098, 0.99206325, 0.99592681, 0.48678341],\
+-[	-6.07600241, -0.00255204, 0.00151839, 7.07345037, 0.99206934, 0.99592957, 0.48680289],\
+-[	-6.07665791, -0.00255022, 0.00151745, 7.07410769, 0.99207542, 0.99593234, 0.48682232],\
+-[	-6.07731134, -0.00254840, 0.00151651, 7.07476294, 0.99208149, 0.99593510, 0.48684169],\
+-[	-6.07796271, -0.00254658, 0.00151557, 7.07541613, 0.99208756, 0.99593786, 0.48686100],\
+-[	-6.07861202, -0.00254476, 0.00151463, 7.07606726, 0.99209362, 0.99594061, 0.48688025],\
+-[	-6.07925928, -0.00254294, 0.00151369, 7.07671634, 0.99209967, 0.99594336, 0.48689944],\
+-[	-6.07990450, -0.00254113, 0.00151275, 7.07736337, 0.99210571, 0.99594612, 0.48691858],\
+-[	-6.08054769, -0.00253932, 0.00151182, 7.07800837, 0.99211174, 0.99594886, 0.48693766],\
+-[	-6.08118884, -0.00253751, 0.00151088, 7.07865133, 0.99211777, 0.99595161, 0.48695668],\
+-[	-6.08182796, -0.00253570, 0.00150994, 7.07929226, 0.99212379, 0.99595435, 0.48697564],\
+-[	-6.08246507, -0.00253390, 0.00150901, 7.07993117, 0.99212980, 0.99595709, 0.48699454],\
+-[	-6.08310016, -0.00253210, 0.00150807, 7.08056806, 0.99213580, 0.99595983, 0.48701339],\
+-[	-6.08373324, -0.00253029, 0.00150714, 7.08120294, 0.99214179, 0.99596257, 0.48703218],\
+-[	-6.08436431, -0.00252849, 0.00150621, 7.08183582, 0.99214778, 0.99596530, 0.48705092],\
+-[	-6.08499339, -0.00252670, 0.00150527, 7.08246669, 0.99215376, 0.99596803, 0.48706960],\
+-[	-6.08562048, -0.00252490, 0.00150434, 7.08309558, 0.99215973, 0.99597076, 0.48708821],\
+-[	-6.08624558, -0.00252311, 0.00150341, 7.08372247, 0.99216569, 0.99597348, 0.48710678],\
+-[	-6.08686870, -0.00252132, 0.00150248, 7.08434738, 0.99217164, 0.99597620, 0.48712529],\
+-[	-6.08748985, -0.00251953, 0.00150155, 7.08497032, 0.99217759, 0.99597892, 0.48714374],\
+-[	-6.08810902, -0.00251774, 0.00150062, 7.08559128, 0.99218353, 0.99598164, 0.48716214],\
+-[	-6.08872624, -0.00251595, 0.00149969, 7.08621028, 0.99218946, 0.99598436, 0.48718048],\
+-[	-6.08934149, -0.00251417, 0.00149876, 7.08682732, 0.99219538, 0.99598707, 0.48719876],\
+-[	-6.08995479, -0.00251239, 0.00149784, 7.08744241, 0.99220130, 0.99598978, 0.48721699],\
+-[	-6.09056615, -0.00251061, 0.00149691, 7.08805554, 0.99220721, 0.99599248, 0.48723517],\
+-[	-6.09117556, -0.00250883, 0.00149598, 7.08866673, 0.99221310, 0.99599519, 0.48725329],\
+-[	-6.09178304, -0.00250705, 0.00149506, 7.08927599, 0.99221900, 0.99599789, 0.48727135],\
+-[	-6.09238859, -0.00250528, 0.00149413, 7.08988331, 0.99222488, 0.99600059, 0.48728936],\
+-[	-6.09299221, -0.00250351, 0.00149320, 7.09048871, 0.99223076, 0.99600329, 0.48730732],\
+-[	-6.09359392, -0.00250174, 0.00149228, 7.09109218, 0.99223663, 0.99600598, 0.48732522],\
+-[	-6.09419371, -0.00249997, 0.00149136, 7.09169374, 0.99224249, 0.99600867, 0.48734306],\
+-[	-6.09479159, -0.00249820, 0.00149043, 7.09229339, 0.99224834, 0.99601136, 0.48736085],\
+-[	-6.09538757, -0.00249644, 0.00148951, 7.09289113, 0.99225419, 0.99601405, 0.48737859],\
+-[	-6.09598165, -0.00249468, 0.00148859, 7.09348698, 0.99226003, 0.99601673, 0.48739628],\
+-[	-6.09657385, -0.00249292, 0.00148767, 7.09408093, 0.99226586, 0.99601942, 0.48741390],\
+-[	-6.09716415, -0.00249116, 0.00148675, 7.09467299, 0.99227168, 0.99602210, 0.48743148],\
+-[	-6.09775257, -0.00248940, 0.00148583, 7.09526317, 0.99227749, 0.99602477, 0.48744900],\
+-[	-6.09833912, -0.00248765, 0.00148491, 7.09585148, 0.99228330, 0.99602745, 0.48746647],\
+-[	-6.09892380, -0.00248589, 0.00148399, 7.09643791, 0.99228910, 0.99603012, 0.48748389],\
+-[	-6.09950662, -0.00248414, 0.00148307, 7.09702248, 0.99229489, 0.99603279, 0.48750125],\
+-[	-6.10008757, -0.00248239, 0.00148215, 7.09760518, 0.99230068, 0.99603545, 0.48751856],\
+-[	-6.10066667, -0.00248065, 0.00148124, 7.09818603, 0.99230646, 0.99603812, 0.48753582],\
+-[	-6.10124393, -0.00247890, 0.00148032, 7.09876503, 0.99231223, 0.99604078, 0.48755302],\
+-[	-6.10181934, -0.00247716, 0.00147941, 7.09934218, 0.99231799, 0.99604344, 0.48757018],\
+-[	-6.10239291, -0.00247542, 0.00147849, 7.09991749, 0.99232374, 0.99604609, 0.48758728],\
+-[	-6.10296465, -0.00247368, 0.00147758, 7.10049097, 0.99232949, 0.99604875, 0.48760432],\
+-[	-6.10353456, -0.00247194, 0.00147666, 7.10106262, 0.99233523, 0.99605140, 0.48762132],\
+-[	-6.10410265, -0.00247020, 0.00147575, 7.10163245, 0.99234096, 0.99605405, 0.48763826],\
+-[	-6.10466892, -0.00246847, 0.00147484, 7.10220045, 0.99234669, 0.99605669, 0.48765516],\
+-[	-6.10523338, -0.00246674, 0.00147393, 7.10276665, 0.99235240, 0.99605934, 0.48767200],\
+-[	-6.10579604, -0.00246501, 0.00147301, 7.10333103, 0.99235811, 0.99606198, 0.48768879],\
+-[	-6.10635689, -0.00246328, 0.00147210, 7.10389362, 0.99236382, 0.99606462, 0.48770552],\
+-[	-6.10691595, -0.00246155, 0.00147119, 7.10445440, 0.99236951, 0.99606725, 0.48772221],\
+-[	-6.10747322, -0.00245983, 0.00147028, 7.10501339, 0.99237520, 0.99606989, 0.48773885],\
+-[	-6.10802871, -0.00245811, 0.00146937, 7.10557060, 0.99238088, 0.99607252, 0.48775543],\
+-[	-6.10858241, -0.00245639, 0.00146847, 7.10612603, 0.99238655, 0.99607515, 0.48777197],\
+-[	-6.10913434, -0.00245467, 0.00146756, 7.10667967, 0.99239222, 0.99607777, 0.48778845],\
+-[	-6.10968450, -0.00245295, 0.00146665, 7.10723155, 0.99239787, 0.99608040, 0.48780488],\
+-[	-6.11023289, -0.00245123, 0.00146575, 7.10778166, 0.99240353, 0.99608302, 0.48782127],\
+-[	-6.11077953, -0.00244952, 0.00146484, 7.10833001, 0.99240917, 0.99608564, 0.48783760],\
+-[	-6.11132441, -0.00244781, 0.00146393, 7.10887660, 0.99241480, 0.99608825, 0.48785388],\
+-[	-6.11186754, -0.00244610, 0.00146303, 7.10942144, 0.99242043, 0.99609087, 0.48787012],\
+-[	-6.11240893, -0.00244439, 0.00146213, 7.10996454, 0.99242605, 0.99609348, 0.48788630],\
+-[	-6.11294858, -0.00244269, 0.00146122, 7.11050589, 0.99243167, 0.99609609, 0.48790243],\
+-[	-6.11348649, -0.00244098, 0.00146032, 7.11104551, 0.99243728, 0.99609869, 0.48791852],\
+-[	-6.11402268, -0.00243928, 0.00145942, 7.11158340, 0.99244288, 0.99610130, 0.48793455],\
+-[	-6.11455714, -0.00243758, 0.00145852, 7.11211956, 0.99244847, 0.99610390, 0.48795053],\
+-[	-6.11508989, -0.00243588, 0.00145762, 7.11265400, 0.99245405, 0.99610650, 0.48796647],\
+-[	-6.11562092, -0.00243419, 0.00145672, 7.11318673, 0.99245963, 0.99610909, 0.48798236],\
+-[	-6.11615024, -0.00243249, 0.00145582, 7.11371775, 0.99246520, 0.99611169, 0.48799820],\
+-[	-6.11667786, -0.00243080, 0.00145492, 7.11424706, 0.99247077, 0.99611428, 0.48801399],\
+-[	-6.11720378, -0.00242911, 0.00145402, 7.11477467, 0.99247632, 0.99611687, 0.48802973],\
+-[	-6.11772800, -0.00242742, 0.00145312, 7.11530058, 0.99248187, 0.99611945, 0.48804543],\
+-[	-6.11825054, -0.00242574, 0.00145223, 7.11582481, 0.99248741, 0.99612204, 0.48806107],\
+-[	-6.11877140, -0.00242405, 0.00145133, 7.11634735, 0.99249295, 0.99612462, 0.48807667],\
+-[	-6.11929057, -0.00242237, 0.00145043, 7.11686820, 0.99249847, 0.99612720, 0.48809222],\
+-[	-6.11980807, -0.00242069, 0.00144954, 7.11738739, 0.99250400, 0.99612978, 0.48810772],\
+-[	-6.12032390, -0.00241901, 0.00144864, 7.11790490, 0.99250951, 0.99613235, 0.48812317],\
+-[	-6.12083807, -0.00241733, 0.00144775, 7.11842074, 0.99251501, 0.99613492, 0.48813858],\
+-[	-6.12135058, -0.00241565, 0.00144686, 7.11893493, 0.99252051, 0.99613749, 0.48815394],\
+-[	-6.12186144, -0.00241398, 0.00144597, 7.11944746, 0.99252601, 0.99614006, 0.48816925],\
+-[	-6.12237064, -0.00241231, 0.00144507, 7.11995834, 0.99253149, 0.99614262, 0.48818451],\
+-[	-6.12287820, -0.00241064, 0.00144418, 7.12046757, 0.99253697, 0.99614518, 0.48819973],\
+-[	-6.12338412, -0.00240897, 0.00144329, 7.12097516, 0.99254244, 0.99614774, 0.48821490],\
+-[	-6.12388841, -0.00240730, 0.00144240, 7.12148111, 0.99254790, 0.99615030, 0.48823002],\
+-[	-6.12439107, -0.00240563, 0.00144151, 7.12198543, 0.99255336, 0.99615285, 0.48824510],\
+-[	-6.12489210, -0.00240397, 0.00144062, 7.12248813, 0.99255881, 0.99615540, 0.48826013],\
+-[	-6.12539151, -0.00240231, 0.00143974, 7.12298920, 0.99256425, 0.99615795, 0.48827512],\
+-[	-6.12588931, -0.00240065, 0.00143885, 7.12348866, 0.99256969, 0.99616050, 0.48829005],\
+-[	-6.12638549, -0.00239899, 0.00143796, 7.12398650, 0.99257512, 0.99616304, 0.48830495],\
+-[	-6.12688007, -0.00239734, 0.00143708, 7.12448273, 0.99258054, 0.99616559, 0.48831979],\
+-[	-6.12737305, -0.00239568, 0.00143619, 7.12497736, 0.99258596, 0.99616813, 0.48833460],\
+-[	-6.12786443, -0.00239403, 0.00143531, 7.12547040, 0.99259136, 0.99617066, 0.48834935],\
+-[	-6.12835422, -0.00239238, 0.00143442, 7.12596184, 0.99259676, 0.99617320, 0.48836406],\
+-[	-6.12884242, -0.00239073, 0.00143354, 7.12645169, 0.99260216, 0.99617573, 0.48837872],\
+-[	-6.12932904, -0.00238908, 0.00143266, 7.12693996, 0.99260755, 0.99617826, 0.48839334],\
+-[	-6.12981408, -0.00238744, 0.00143177, 7.12742664, 0.99261293, 0.99618079, 0.48840792],\
+-[	-6.13029755, -0.00238580, 0.00143089, 7.12791176, 0.99261830, 0.99618331, 0.48842244],\
+-[	-6.13077945, -0.00238416, 0.00143001, 7.12839530, 0.99262367, 0.99618583, 0.48843693],\
+-[	-6.13125979, -0.00238252, 0.00142913, 7.12887728, 0.99262903, 0.99618835, 0.48845136],\
+-[	-6.13173857, -0.00238088, 0.00142825, 7.12935769, 0.99263438, 0.99619087, 0.48846576],\
+-[	-6.13221579, -0.00237924, 0.00142737, 7.12983655, 0.99263972, 0.99619339, 0.48848011],\
+-[	-6.13269147, -0.00237761, 0.00142649, 7.13031386, 0.99264506, 0.99619590, 0.48849441],\
+-[	-6.13316560, -0.00237598, 0.00142562, 7.13078962, 0.99265040, 0.99619841, 0.48850867],\
+-[	-6.13363819, -0.00237434, 0.00142474, 7.13126384, 0.99265572, 0.99620092, 0.48852289],\
+-[	-6.13410924, -0.00237272, 0.00142386, 7.13173652, 0.99266104, 0.99620342, 0.48853706],\
+-[	-6.13457876, -0.00237109, 0.00142299, 7.13220767, 0.99266635, 0.99620593, 0.48855119],\
+-[	-6.13504676, -0.00236946, 0.00142211, 7.13267729, 0.99267166, 0.99620843, 0.48856528],\
+-[	-6.13551323, -0.00236784, 0.00142124, 7.13314539, 0.99267696, 0.99621092, 0.48857932],\
+-[	-6.13597818, -0.00236622, 0.00142036, 7.13361197, 0.99268225, 0.99621342, 0.48859332],\
+-[	-6.13644163, -0.00236460, 0.00141949, 7.13407703, 0.99268753, 0.99621591, 0.48860727],\
+-[	-6.13690356, -0.00236298, 0.00141862, 7.13454058, 0.99269281, 0.99621840, 0.48862118],\
+-[	-6.13736399, -0.00236136, 0.00141774, 7.13500263, 0.99269808, 0.99622089, 0.48863505],\
+-[	-6.13782292, -0.00235975, 0.00141687, 7.13546317, 0.99270335, 0.99622338, 0.48864888],\
+-[	-6.13828035, -0.00235814, 0.00141600, 7.13592222, 0.99270861, 0.99622586, 0.48866266],\
+-[	-6.13873630, -0.00235652, 0.00141513, 7.13637977, 0.99271386, 0.99622834, 0.48867640],\
+-[	-6.13919076, -0.00235492, 0.00141426, 7.13683584, 0.99271910, 0.99623082, 0.48869010],\
+-[	-6.13964373, -0.00235331, 0.00141339, 7.13729042, 0.99272434, 0.99623330, 0.48870375],\
+-[	-6.14009523, -0.00235170, 0.00141253, 7.13774353, 0.99272957, 0.99623577, 0.48871736],\
+-[	-6.14054526, -0.00235010, 0.00141166, 7.13819516, 0.99273480, 0.99623824, 0.48873093],\
+-[	-6.14099381, -0.00234850, 0.00141079, 7.13864532, 0.99274001, 0.99624071, 0.48874446],\
+-[	-6.14144091, -0.00234689, 0.00140993, 7.13909401, 0.99274523, 0.99624318, 0.48875794],\
+-[	-6.14188654, -0.00234530, 0.00140906, 7.13954125, 0.99275043, 0.99624564, 0.48877139],\
+-[	-6.14233072, -0.00234370, 0.00140820, 7.13998702, 0.99275563, 0.99624811, 0.48878479],\
+-[	-6.14277345, -0.00234210, 0.00140733, 7.14043134, 0.99276082, 0.99625057, 0.48879815],\
+-[	-6.14321473, -0.00234051, 0.00140647, 7.14087422, 0.99276601, 0.99625302, 0.48881147],\
+-[	-6.14365457, -0.00233892, 0.00140561, 7.14131565, 0.99277118, 0.99625548, 0.48882475],\
+-[	-6.14409297, -0.00233733, 0.00140474, 7.14175564, 0.99277636, 0.99625793, 0.48883798],\
+-[	-6.14452994, -0.00233574, 0.00140388, 7.14219420, 0.99278152, 0.99626038, 0.48885118],\
+-[	-6.14496548, -0.00233415, 0.00140302, 7.14263132, 0.99278668, 0.99626283, 0.48886433],\
+-[	-6.14539959, -0.00233257, 0.00140216, 7.14306702, 0.99279183, 0.99626527, 0.48887745],\
+-[	-6.14583228, -0.00233098, 0.00140130, 7.14350130, 0.99279698, 0.99626772, 0.48889052],\
+-[	-6.14626356, -0.00232940, 0.00140044, 7.14393416, 0.99280212, 0.99627016, 0.48890355],\
+-[	-6.14669342, -0.00232782, 0.00139958, 7.14436560, 0.99280725, 0.99627259, 0.48891654],\
+-[	-6.14712188, -0.00232625, 0.00139873, 7.14479564, 0.99281238, 0.99627503, 0.48892949],\
+-[	-6.14754894, -0.00232467, 0.00139787, 7.14522427, 0.99281750, 0.99627746, 0.48894240],\
+-[	-6.14797459, -0.00232309, 0.00139701, 7.14565150, 0.99282261, 0.99627989, 0.48895527],\
+-[	-6.14839885, -0.00232152, 0.00139616, 7.14607733, 0.99282772, 0.99628232, 0.48896810],\
+-[	-6.14882172, -0.00231995, 0.00139530, 7.14650177, 0.99283282, 0.99628475, 0.48898089],\
+-[	-6.14924320, -0.00231838, 0.00139445, 7.14692482, 0.99283791, 0.99628717, 0.48899364],\
+-[	-6.14966330, -0.00231681, 0.00139359, 7.14734649, 0.99284300, 0.99628959, 0.48900634],\
+-[	-6.15008202, -0.00231525, 0.00139274, 7.14776677, 0.99284808, 0.99629201, 0.48901902],\
+-[	-6.15049937, -0.00231368, 0.00139189, 7.14818569, 0.99285316, 0.99629443, 0.48903165],\
+-[	-6.15091535, -0.00231212, 0.00139104, 7.14860323, 0.99285823, 0.99629684, 0.48904424],\
+-[	-6.15132996, -0.00231056, 0.00139018, 7.14901940, 0.99286329, 0.99629926, 0.48905679],\
+-[	-6.15174321, -0.00230900, 0.00138933, 7.14943421, 0.99286834, 0.99630166, 0.48906930],\
+-[	-6.15215510, -0.00230744, 0.00138848, 7.14984766, 0.99287339, 0.99630407, 0.48908178],\
+-[	-6.15256564, -0.00230589, 0.00138763, 7.15025975, 0.99287844, 0.99630648, 0.48909421],\
+-[	-6.15297483, -0.00230433, 0.00138679, 7.15067050, 0.99288347, 0.99630888, 0.48910661],\
+-[	-6.15338268, -0.00230278, 0.00138594, 7.15107989, 0.99288850, 0.99631128, 0.48911897],\
+-[	-6.15378918, -0.00230123, 0.00138509, 7.15148795, 0.99289353, 0.99631368, 0.48913128],\
+-[	-6.15419435, -0.00229968, 0.00138424, 7.15189467, 0.99289855, 0.99631607, 0.48914356],\
+-[	-6.15459818, -0.00229814, 0.00138340, 7.15230005, 0.99290356, 0.99631847, 0.48915581],\
+-[	-6.15500069, -0.00229659, 0.00138255, 7.15270410, 0.99290856, 0.99632086, 0.48916801],\
+-[	-6.15540187, -0.00229505, 0.00138171, 7.15310682, 0.99291356, 0.99632324, 0.48918017],\
+-[	-6.15580173, -0.00229350, 0.00138087, 7.15350822, 0.99291855, 0.99632563, 0.48919230],\
+-[	-6.15620027, -0.00229196, 0.00138002, 7.15390831, 0.99292354, 0.99632801, 0.48920439],\
+-[	-6.15659750, -0.00229042, 0.00137918, 7.15430708, 0.99292852, 0.99633040, 0.48921644],\
+-[	-6.15699342, -0.00228889, 0.00137834, 7.15470454, 0.99293349, 0.99633278, 0.48922846],\
+-[	-6.15738804, -0.00228735, 0.00137750, 7.15510069, 0.99293846, 0.99633515, 0.48924043],\
+-[	-6.15778136, -0.00228582, 0.00137666, 7.15549554, 0.99294342, 0.99633753, 0.48925237],\
+-[	-6.15817338, -0.00228429, 0.00137582, 7.15588909, 0.99294838, 0.99633990, 0.48926427],\
+-[	-6.15856410, -0.00228276, 0.00137498, 7.15628135, 0.99295333, 0.99634227, 0.48927613],\
+-[	-6.15895354, -0.00228123, 0.00137414, 7.15667231, 0.99295827, 0.99634464, 0.48928796],\
+-[	-6.15934170, -0.00227970, 0.00137330, 7.15706199, 0.99296321, 0.99634700, 0.48929975],\
+-[	-6.15972857, -0.00227818, 0.00137246, 7.15745039, 0.99296814, 0.99634936, 0.48931151],\
+-[	-6.16011416, -0.00227665, 0.00137162, 7.15783751, 0.99297306, 0.99635172, 0.48932322],\
+-[	-6.16049848, -0.00227513, 0.00137079, 7.15822335, 0.99297798, 0.99635408, 0.48933490],\
+-[	-6.16088154, -0.00227361, 0.00136995, 7.15860793, 0.99298289, 0.99635644, 0.48934654],\
+-[	-6.16126332, -0.00227209, 0.00136912, 7.15899123, 0.99298780, 0.99635879, 0.48935815],\
+-[	-6.16164385, -0.00227057, 0.00136828, 7.15937328, 0.99299270, 0.99636114, 0.48936972],\
+-[	-6.16202312, -0.00226906, 0.00136745, 7.15975406, 0.99299759, 0.99636349, 0.48938125],\
+-[	-6.16240113, -0.00226754, 0.00136662, 7.16013359, 0.99300248, 0.99636584, 0.48939275],\
+-[	-6.16277790, -0.00226603, 0.00136579, 7.16051186, 0.99300736, 0.99636818, 0.48940421],\
+-[	-6.16315341, -0.00226452, 0.00136495, 7.16088889, 0.99301224, 0.99637052, 0.48941563],\
+-[	-6.16352769, -0.00226301, 0.00136412, 7.16126468, 0.99301711, 0.99637286, 0.48942702],\
+-[	-6.16390073, -0.00226151, 0.00136329, 7.16163922, 0.99302197, 0.99637520, 0.48943837],\
+-[	-6.16427253, -0.00226000, 0.00136246, 7.16201253, 0.99302683, 0.99637753, 0.48944969],\
+-[	-6.16464310, -0.00225850, 0.00136164, 7.16238461, 0.99303168, 0.99637987, 0.48946098],\
+-[	-6.16501245, -0.00225700, 0.00136081, 7.16275545, 0.99303653, 0.99638220, 0.48947222],\
+-[	-6.16538057, -0.00225549, 0.00135998, 7.16312507, 0.99304136, 0.99638453, 0.48948343],\
+-[	-6.16574747, -0.00225400, 0.00135915, 7.16349348, 0.99304620, 0.99638685, 0.48949461],\
+-[	-6.16611316, -0.00225250, 0.00135833, 7.16386066, 0.99305103, 0.99638918, 0.48950575],\
+-[	-6.16647763, -0.00225100, 0.00135750, 7.16422663, 0.99305585, 0.99639150, 0.48951685],\
+-[	-6.16684090, -0.00224951, 0.00135668, 7.16459139, 0.99306066, 0.99639382, 0.48952792],\
+-[	-6.16720296, -0.00224802, 0.00135585, 7.16495494, 0.99306547, 0.99639613, 0.48953896],\
+-[	-6.16756382, -0.00224653, 0.00135503, 7.16531729, 0.99307027, 0.99639845, 0.48954996],\
+-[	-6.16792348, -0.00224504, 0.00135421, 7.16567845, 0.99307507, 0.99640076, 0.48956093],\
+-[	-6.16828195, -0.00224355, 0.00135338, 7.16603840, 0.99307986, 0.99640307, 0.48957186],\
+-[	-6.16863923, -0.00224206, 0.00135256, 7.16639717, 0.99308465, 0.99640538, 0.48958276],\
+-[	-6.16899533, -0.00224058, 0.00135174, 7.16675475, 0.99308943, 0.99640768, 0.48959363],\
+-[	-6.16935024, -0.00223910, 0.00135092, 7.16711114, 0.99309420, 0.99640998, 0.48960445],\
+-[	-6.16970397, -0.00223762, 0.00135010, 7.16746636, 0.99309897, 0.99641228, 0.48961525],\
+-[	-6.17005653, -0.00223614, 0.00134928, 7.16782039, 0.99310373, 0.99641458, 0.48962601],\
+-[	-6.17040791, -0.00223466, 0.00134846, 7.16817326, 0.99310849, 0.99641688, 0.48963673],\
+-[	-6.17075813, -0.00223318, 0.00134765, 7.16852495, 0.99311324, 0.99641917, 0.48964743],\
+-[	-6.17110719, -0.00223171, 0.00134683, 7.16887548, 0.99311798, 0.99642146, 0.48965809],\
+-[	-6.17145508, -0.00223024, 0.00134601, 7.16922484, 0.99312272, 0.99642375, 0.48966871],\
+-[	-6.17180182, -0.00222876, 0.00134520, 7.16957305, 0.99312745, 0.99642604, 0.48967931],\
+-[	-6.17214740, -0.00222729, 0.00134438, 7.16992010, 0.99313218, 0.99642832, 0.48968987],\
+-[	-6.17249183, -0.00222583, 0.00134357, 7.17026601, 0.99313690, 0.99643061, 0.48970039],\
+-[	-6.17283512, -0.00222436, 0.00134275, 7.17061076, 0.99314162, 0.99643289, 0.48971088],\
+-[	-6.17317726, -0.00222289, 0.00134194, 7.17095437, 0.99314633, 0.99643517, 0.48972134],\
+-[	-6.17351827, -0.00222143, 0.00134113, 7.17129683, 0.99315103, 0.99643744, 0.48973177],\
+-[	-6.17385813, -0.00221997, 0.00134032, 7.17163816, 0.99315573, 0.99643971, 0.48974217],\
+-[	-6.17419687, -0.00221851, 0.00133950, 7.17197836, 0.99316042, 0.99644199, 0.48975252],\
+-[	-6.17453448, -0.00221705, 0.00133869, 7.17231743, 0.99316511, 0.99644425, 0.48976285],\
+-[	-6.17487096, -0.00221559, 0.00133788, 7.17265537, 0.99316979, 0.99644652, 0.48977314],\
+-[	-6.17520632, -0.00221414, 0.00133708, 7.17299218, 0.99317446, 0.99644879, 0.48978341],\
+-[	-6.17554056, -0.00221269, 0.00133627, 7.17332788, 0.99317913, 0.99645105, 0.48979364],\
+-[	-6.17587369, -0.00221123, 0.00133546, 7.17366246, 0.99318379, 0.99645331, 0.48980384],\
+-[	-6.17620571, -0.00220978, 0.00133465, 7.17399593, 0.99318845, 0.99645557, 0.48981400],\
+-[	-6.17653662, -0.00220833, 0.00133385, 7.17432829, 0.99319310, 0.99645782, 0.48982414],\
+-[	-6.17686642, -0.00220689, 0.00133304, 7.17465954, 0.99319775, 0.99646007, 0.48983424],\
+-[	-6.17719513, -0.00220544, 0.00133223, 7.17498969, 0.99320239, 0.99646233, 0.48984431],\
+-[	-6.17752273, -0.00220400, 0.00133143, 7.17531874, 0.99320702, 0.99646457, 0.48985434],\
+-[	-6.17784925, -0.00220255, 0.00133063, 7.17564669, 0.99321165, 0.99646682, 0.48986435],\
+-[	-6.17817467, -0.00220111, 0.00132982, 7.17597356, 0.99321628, 0.99646906, 0.48987432],\
+-[	-6.17849900, -0.00219967, 0.00132902, 7.17629933, 0.99322089, 0.99647131, 0.48988427],\
+-[	-6.17882225, -0.00219823, 0.00132822, 7.17662402, 0.99322551, 0.99647355, 0.48989418],\
+-[	-6.17914442, -0.00219680, 0.00132742, 7.17694762, 0.99323011, 0.99647578, 0.48990406],\
+-[	-6.17946552, -0.00219536, 0.00132662, 7.17727015, 0.99323471, 0.99647802, 0.48991391],\
+-[	-6.17978554, -0.00219393, 0.00132582, 7.17759161, 0.99323931, 0.99648025, 0.48992373],\
+-[	-6.18010448, -0.00219250, 0.00132502, 7.17791199, 0.99324390, 0.99648248, 0.48993351],\
+-[	-6.18042237, -0.00219107, 0.00132422, 7.17823130, 0.99324848, 0.99648471, 0.48994327],\
+-[	-6.18073919, -0.00218964, 0.00132342, 7.17854955, 0.99325306, 0.99648694, 0.48995299],\
+-[	-6.18105494, -0.00218821, 0.00132262, 7.17886673, 0.99325763, 0.99648916, 0.48996269],\
+-[	-6.18136964, -0.00218679, 0.00132183, 7.17918286, 0.99326220, 0.99649139, 0.48997235],\
+-[	-6.18168329, -0.00218536, 0.00132103, 7.17949793, 0.99326676, 0.99649361, 0.48998198],\
+-[	-6.18199589, -0.00218394, 0.00132024, 7.17981195, 0.99327132, 0.99649582, 0.48999158],\
+-[	-6.18230744, -0.00218252, 0.00131944, 7.18012492, 0.99327587, 0.99649804, 0.49000115],\
+-[	-6.18261795, -0.00218110, 0.00131865, 7.18043684, 0.99328041, 0.99650025, 0.49001070],\
+-[	-6.18292741, -0.00217968, 0.00131785, 7.18074773, 0.99328495, 0.99650246, 0.49002020],\
+-[	-6.18323584, -0.00217827, 0.00131706, 7.18105757, 0.99328949, 0.99650467, 0.49002969],\
+-[	-6.18354323, -0.00217685, 0.00131627, 7.18136638, 0.99329401, 0.99650688, 0.49003913],\
+-[	-6.18384960, -0.00217544, 0.00131548, 7.18167416, 0.99329854, 0.99650908, 0.49004855],\
+-[	-6.18415493, -0.00217403, 0.00131469, 7.18198091, 0.99330305, 0.99651129, 0.49005794],\
+-[	-6.18445924, -0.00217262, 0.00131390, 7.18228663, 0.99330757, 0.99651349, 0.49006730],\
+-[	-6.18476253, -0.00217121, 0.00131311, 7.18259133, 0.99331207, 0.99651568, 0.49007664],\
+-[	-6.18506481, -0.00216980, 0.00131232, 7.18289501, 0.99331657, 0.99651788, 0.49008594],\
+-[	-6.18536606, -0.00216840, 0.00131153, 7.18319767, 0.99332107, 0.99652007, 0.49009521],\
+-[	-6.18566631, -0.00216699, 0.00131074, 7.18349932, 0.99332556, 0.99652226, 0.49010445],\
+-[	-6.18596555, -0.00216559, 0.00130996, 7.18379996, 0.99333004, 0.99652445, 0.49011367],\
+-[	-6.18626378, -0.00216419, 0.00130917, 7.18409959, 0.99333452, 0.99652664, 0.49012285],\
+-[	-6.18656101, -0.00216279, 0.00130839, 7.18439822, 0.99333900, 0.99652882, 0.49013200],\
+-[	-6.18685724, -0.00216139, 0.00130760, 7.18469585, 0.99334346, 0.99653101, 0.49014113],\
+-[	-6.18715248, -0.00216000, 0.00130682, 7.18499249, 0.99334793, 0.99653319, 0.49015022],\
+-[	-6.18744673, -0.00215860, 0.00130603, 7.18528812, 0.99335238, 0.99653537, 0.49015929],\
+-[	-6.18773998, -0.00215721, 0.00130525, 7.18558277, 0.99335684, 0.99653754, 0.49016833],\
+-[	-6.18803225, -0.00215582, 0.00130447, 7.18587643, 0.99336128, 0.99653972, 0.49017734],\
+-[	-6.18832353, -0.00215443, 0.00130369, 7.18616911, 0.99336572, 0.99654189, 0.49018632],\
+-[	-6.18861384, -0.00215304, 0.00130291, 7.18646080, 0.99337016, 0.99654406, 0.49019527],\
+-[	-6.18890316, -0.00215165, 0.00130213, 7.18675152, 0.99337459, 0.99654622, 0.49020420],\
+-[	-6.18919152, -0.00215026, 0.00130135, 7.18704125, 0.99337901, 0.99654839, 0.49021309],\
+-[	-6.18947890, -0.00214888, 0.00130057, 7.18733002, 0.99338343, 0.99655055, 0.49022196],\
+-[	-6.18976532, -0.00214750, 0.00129979, 7.18761782, 0.99338785, 0.99655271, 0.49023080],\
+-[	-6.19005077, -0.00214612, 0.00129901, 7.18790465, 0.99339226, 0.99655487, 0.49023961],\
+-[	-6.19033526, -0.00214474, 0.00129823, 7.18819052, 0.99339666, 0.99655703, 0.49024839],\
+-[	-6.19061879, -0.00214336, 0.00129746, 7.18847543, 0.99340106, 0.99655918, 0.49025714],\
+-[	-6.19090136, -0.00214198, 0.00129668, 7.18875938, 0.99340545, 0.99656134, 0.49026588],\
+-[	-6.19118298, -0.00214061, 0.00129591, 7.18904238, 0.99340984, 0.99656349, 0.49027457],\
+-[	-6.19146366, -0.00213923, 0.00129513, 7.18932442, 0.99341422, 0.99656563, 0.49028324],\
+-[	-6.19174338, -0.00213786, 0.00129436, 7.18960552, 0.99341860, 0.99656778, 0.49029189],\
+-[	-6.19202217, -0.00213649, 0.00129359, 7.18988568, 0.99342297, 0.99656992, 0.49030051],\
+-[	-6.19230001, -0.00213512, 0.00129281, 7.19016489, 0.99342734, 0.99657207, 0.49030909],\
+-[	-6.19257691, -0.00213375, 0.00129204, 7.19044316, 0.99343170, 0.99657421, 0.49031766],\
+-[	-6.19285288, -0.00213239, 0.00129127, 7.19072050, 0.99343606, 0.99657634, 0.49032619],\
+-[	-6.19312792, -0.00213102, 0.00129050, 7.19099690, 0.99344041, 0.99657848, 0.49033470],\
+-[	-6.19340203, -0.00212966, 0.00128973, 7.19127237, 0.99344475, 0.99658061, 0.49034317],\
+-[	-6.19367521, -0.00212830, 0.00128896, 7.19154692, 0.99344909, 0.99658274, 0.49035163],\
+-[	-6.19394748, -0.00212694, 0.00128819, 7.19182054, 0.99345343, 0.99658487, 0.49036006],\
+-[	-6.19421882, -0.00212558, 0.00128743, 7.19209324, 0.99345776, 0.99658700, 0.49036845],\
+-[	-6.19448924, -0.00212422, 0.00128666, 7.19236502, 0.99346208, 0.99658912, 0.49037683],\
+-[	-6.19475875, -0.00212286, 0.00128589, 7.19263589, 0.99346640, 0.99659124, 0.49038517],\
+-[	-6.19502735, -0.00212151, 0.00128513, 7.19290584, 0.99347072, 0.99659336, 0.49039349],\
+-[	-6.19529504, -0.00212016, 0.00128436, 7.19317489, 0.99347503, 0.99659548, 0.49040178],\
+-[	-6.19556183, -0.00211880, 0.00128360, 7.19344302, 0.99347933, 0.99659760, 0.49041005],\
+-[	-6.19582771, -0.00211745, 0.00128283, 7.19371026, 0.99348363, 0.99659971, 0.49041829],\
+-[	-6.19609270, -0.00211611, 0.00128207, 7.19397659, 0.99348792, 0.99660182, 0.49042650],\
+-[	-6.19635678, -0.00211476, 0.00128131, 7.19424203, 0.99349221, 0.99660393, 0.49043469],\
+-[	-6.19661998, -0.00211341, 0.00128054, 7.19450656, 0.99349650, 0.99660604, 0.49044285],\
+-[	-6.19688228, -0.00211207, 0.00127978, 7.19477021, 0.99350077, 0.99660815, 0.49045099],\
+-[	-6.19714369, -0.00211073, 0.00127902, 7.19503297, 0.99350505, 0.99661025, 0.49045909],\
+-[	-6.19740422, -0.00210938, 0.00127826, 7.19529484, 0.99350932, 0.99661235, 0.49046717],\
+-[	-6.19766387, -0.00210804, 0.00127750, 7.19555583, 0.99351358, 0.99661445, 0.49047523],\
+-[	-6.19792264, -0.00210671, 0.00127674, 7.19581593, 0.99351784, 0.99661655, 0.49048326],\
+-[	-6.19818053, -0.00210537, 0.00127599, 7.19607516, 0.99352209, 0.99661864, 0.49049127],\
+-[	-6.19843754, -0.00210403, 0.00127523, 7.19633351, 0.99352634, 0.99662074, 0.49049925],\
+-[	-6.19869369, -0.00210270, 0.00127447, 7.19659099, 0.99353058, 0.99662283, 0.49050720],\
+-[	-6.19894896, -0.00210137, 0.00127372, 7.19684760, 0.99353482, 0.99662492, 0.49051513],\
+-[	-6.19920337, -0.00210004, 0.00127296, 7.19710334, 0.99353905, 0.99662700, 0.49052303],\
+-[	-6.19945692, -0.00209871, 0.00127221, 7.19735822, 0.99354328, 0.99662909, 0.49053091],\
+-[	-6.19970961, -0.00209738, 0.00127145, 7.19761223, 0.99354750, 0.99663117, 0.49053876],\
+-[	-6.19996144, -0.00209605, 0.00127070, 7.19786539, 0.99355172, 0.99663325, 0.49054659],\
+-[	-6.20021242, -0.00209473, 0.00126995, 7.19811769, 0.99355593, 0.99663533, 0.49055439],\
+-[	-6.20046254, -0.00209340, 0.00126919, 7.19836914, 0.99356014, 0.99663741, 0.49056217],\
+-[	-6.20071181, -0.00209208, 0.00126844, 7.19861973, 0.99356434, 0.99663948, 0.49056992],\
+-[	-6.20096024, -0.00209076, 0.00126769, 7.19886948, 0.99356854, 0.99664155, 0.49057765],\
+-[	-6.20120782, -0.00208944, 0.00126694, 7.19911839, 0.99357273, 0.99664362, 0.49058536],\
+-[	-6.20145457, -0.00208812, 0.00126619, 7.19936645, 0.99357692, 0.99664569, 0.49059304],\
+-[	-6.20170047, -0.00208680, 0.00126544, 7.19961367, 0.99358110, 0.99664776, 0.49060069],\
+-[	-6.20194554, -0.00208549, 0.00126469, 7.19986005, 0.99358528, 0.99664982, 0.49060832],\
+-[	-6.20218978, -0.00208417, 0.00126395, 7.20010560, 0.99358945, 0.99665188, 0.49061593],\
+-[	-6.20243318, -0.00208286, 0.00126320, 7.20035032, 0.99359362, 0.99665394, 0.49062351],\
+-[	-6.20267576, -0.00208155, 0.00126245, 7.20059421, 0.99359778, 0.99665600, 0.49063106],\
+-[	-6.20291751, -0.00208024, 0.00126171, 7.20083727, 0.99360194, 0.99665805, 0.49063859],\
+-[	-6.20315844, -0.00207893, 0.00126096, 7.20107951, 0.99360609, 0.99666011, 0.49064611],\
+-[	-6.20339855, -0.00207762, 0.00126022, 7.20132093, 0.99361024, 0.99666216, 0.49065358],\
+-[	-6.20363785, -0.00207632, 0.00125947, 7.20156153, 0.99361438, 0.99666421, 0.49066104],\
+-[	-6.20387633, -0.00207501, 0.00125873, 7.20180131, 0.99361852, 0.99666626, 0.49066848],\
+-[	-6.20411399, -0.00207371, 0.00125799, 7.20204028, 0.99362265, 0.99666830, 0.49067589],\
+-[	-6.20435085, -0.00207241, 0.00125725, 7.20227844, 0.99362678, 0.99667034, 0.49068328],\
+-[	-6.20458690, -0.00207111, 0.00125650, 7.20251579, 0.99363090, 0.99667238, 0.49069064],\
+-[	-6.20482215, -0.00206981, 0.00125576, 7.20275234, 0.99363502, 0.99667442, 0.49069799],\
+-[	-6.20505660, -0.00206852, 0.00125502, 7.20298808, 0.99363914, 0.99667646, 0.49070530],\
+-[	-6.20529024, -0.00206722, 0.00125428, 7.20322302, 0.99364325, 0.99667850, 0.49071260],\
+-[	-6.20552310, -0.00206593, 0.00125355, 7.20345717, 0.99364735, 0.99668053, 0.49071987],\
+-[	-6.20575515, -0.00206463, 0.00125281, 7.20369052, 0.99365145, 0.99668256, 0.49072711],\
+-[	-6.20598642, -0.00206334, 0.00125207, 7.20392308, 0.99365554, 0.99668459, 0.49073434],\
+-[	-6.20621690, -0.00206205, 0.00125133, 7.20415485, 0.99365963, 0.99668662, 0.49074154],\
+-[	-6.20644659, -0.00206076, 0.00125060, 7.20438583, 0.99366372, 0.99668864, 0.49074872],\
+-[	-6.20667550, -0.00205947, 0.00124986, 7.20461602, 0.99366780, 0.99669066, 0.49075587],\
+-[	-6.20690362, -0.00205819, 0.00124913, 7.20484543, 0.99367187, 0.99669268, 0.49076300],\
+-[	-6.20713097, -0.00205690, 0.00124839, 7.20507407, 0.99367594, 0.99669470, 0.49077011],\
+-[	-6.20735754, -0.00205562, 0.00124766, 7.20530192, 0.99368001, 0.99669672, 0.49077720],\
+-[	-6.20758334, -0.00205434, 0.00124693, 7.20552900, 0.99368407, 0.99669873, 0.49078426],\
+-[	-6.20780837, -0.00205306, 0.00124619, 7.20575531, 0.99368812, 0.99670075, 0.49079130],\
+-[	-6.20803263, -0.00205178, 0.00124546, 7.20598085, 0.99369217, 0.99670276, 0.49079832],\
+-[	-6.20825612, -0.00205050, 0.00124473, 7.20620562, 0.99369622, 0.99670477, 0.49080531],\
+-[	-6.20847885, -0.00204923, 0.00124400, 7.20642963, 0.99370026, 0.99670677, 0.49081228],\
+-[	-6.20870082, -0.00204795, 0.00124327, 7.20665287, 0.99370430, 0.99670878, 0.49081924],\
+-[	-6.20892203, -0.00204668, 0.00124254, 7.20687536, 0.99370833, 0.99671078, 0.49082617],\
+-[	-6.20914249, -0.00204540, 0.00124181, 7.20709708, 0.99371236, 0.99671278, 0.49083307],\
+-[	-6.20936219, -0.00204413, 0.00124109, 7.20731805, 0.99371638, 0.99671478, 0.49083996],\
+-[	-6.20958114, -0.00204286, 0.00124036, 7.20753827, 0.99372040, 0.99671678, 0.49084681],\
+-[	-6.20979934, -0.00204160, 0.00123963, 7.20775774, 0.99372441, 0.99671877, 0.49085365],\
+-[	-6.21001679, -0.00204033, 0.00123891, 7.20797646, 0.99372842, 0.99672076, 0.49086047],\
+-[	-6.21023350, -0.00203906, 0.00123818, 7.20819444, 0.99373242, 0.99672275, 0.49086727],\
+-[	-6.21044947, -0.00203780, 0.00123746, 7.20841167, 0.99373642, 0.99672474, 0.49087404],\
+-[	-6.21066470, -0.00203654, 0.00123673, 7.20862816, 0.99374042, 0.99672673, 0.49088079],\
+-[	-6.21087920, -0.00203528, 0.00123601, 7.20884392, 0.99374441, 0.99672871, 0.49088752],\
+-[	-6.21109295, -0.00203402, 0.00123529, 7.20905894, 0.99374839, 0.99673070, 0.49089423],\
+-[	-6.21130598, -0.00203276, 0.00123456, 7.20927322, 0.99375237, 0.99673268, 0.49090092],\
+-[	-6.21151828, -0.00203150, 0.00123384, 7.20948678, 0.99375635, 0.99673466, 0.49090759],\
+-[	-6.21172985, -0.00203024, 0.00123312, 7.20969960, 0.99376032, 0.99673663, 0.49091423],\
+-[	-6.21194069, -0.00202899, 0.00123240, 7.20991170, 0.99376428, 0.99673861, 0.49092085],\
+-[	-6.21215082, -0.00202774, 0.00123168, 7.21012308, 0.99376825, 0.99674058, 0.49092745],\
+-[	-6.21236022, -0.00202648, 0.00123096, 7.21033373, 0.99377220, 0.99674255, 0.49093403],\
+-[	-6.21256890, -0.00202523, 0.00123025, 7.21054367, 0.99377616, 0.99674452, 0.49094059],\
+-[	-6.21277687, -0.00202398, 0.00122953, 7.21075289, 0.99378010, 0.99674649, 0.49094712],\
+-[	-6.21298413, -0.00202274, 0.00122881, 7.21096139, 0.99378405, 0.99674845, 0.49095364],\
+-[	-6.21319067, -0.00202149, 0.00122809, 7.21116918, 0.99378798, 0.99675042, 0.49096013],\
+-[	-6.21339651, -0.00202025, 0.00122738, 7.21137627, 0.99379192, 0.99675238, 0.49096661],\
+-[	-6.21360164, -0.00201900, 0.00122666, 7.21158264, 0.99379585, 0.99675434, 0.49097306],\
+-[	-6.21380607, -0.00201776, 0.00122595, 7.21178831, 0.99379977, 0.99675629, 0.49097950],\
+-[	-6.21400979, -0.00201652, 0.00122523, 7.21199328, 0.99380369, 0.99675825, 0.49098591],\
+-[	-6.21421282, -0.00201528, 0.00122452, 7.21219754, 0.99380761, 0.99676020, 0.49099230],\
+-[	-6.21441515, -0.00201404, 0.00122381, 7.21240111, 0.99381152, 0.99676215, 0.49099867],\
+-[	-6.21461678, -0.00201280, 0.00122310, 7.21260398, 0.99381543, 0.99676410, 0.49100502],\
+-[	-6.21481773, -0.00201157, 0.00122239, 7.21280616, 0.99381933, 0.99676605, 0.49101135],\
+-[	-6.21501798, -0.00201033, 0.00122167, 7.21300765, 0.99382323, 0.99676799, 0.49101767],\
+-[	-6.21521754, -0.00200910, 0.00122096, 7.21320844, 0.99382712, 0.99676994, 0.49102395],\
+-[	-6.21541642, -0.00200787, 0.00122026, 7.21340855, 0.99383101, 0.99677188, 0.49103022],\
+-[	-6.21561461, -0.00200664, 0.00121955, 7.21360798, 0.99383489, 0.99677382, 0.49103647],\
+-[	-6.21581213, -0.00200541, 0.00121884, 7.21380672, 0.99383877, 0.99677575, 0.49104269],\
+-[	-6.21600896, -0.00200418, 0.00121813, 7.21400478, 0.99384265, 0.99677769, 0.49104891],\
+-[	-6.21620512, -0.00200295, 0.00121742, 7.21420217, 0.99384652, 0.99677962, 0.49105509],\
+-[	-6.21640060, -0.00200173, 0.00121672, 7.21439887, 0.99385038, 0.99678156, 0.49106126],\
+-[	-6.21659541, -0.00200050, 0.00121601, 7.21459491, 0.99385424, 0.99678349, 0.49106741],\
+-[	-6.21678955, -0.00199928, 0.00121531, 7.21479027, 0.99385810, 0.99678541, 0.49107353],\
+-[	-6.21698302, -0.00199806, 0.00121460, 7.21498497, 0.99386195, 0.99678734, 0.49107964],\
+-[	-6.21717583, -0.00199684, 0.00121390, 7.21517899, 0.99386580, 0.99678926, 0.49108574],\
+-[	-6.21736797, -0.00199562, 0.00121320, 7.21537235, 0.99386965, 0.99679119, 0.49109180],\
+-[	-6.21755945, -0.00199440, 0.00121249, 7.21556505, 0.99387349, 0.99679311, 0.49109786],\
+-[	-6.21775028, -0.00199319, 0.00121179, 7.21575709, 0.99387732, 0.99679502, 0.49110388],\
+-[	-6.21794044, -0.00199197, 0.00121109, 7.21594847, 0.99388115, 0.99679694, 0.49110989],\
+-[	-6.21812995, -0.00199076, 0.00121039, 7.21613919, 0.99388498, 0.99679885, 0.49111588],\
+-[	-6.21831881, -0.00198955, 0.00120969, 7.21632926, 0.99388880, 0.99680077, 0.49112186],\
+-[	-6.21850702, -0.00198833, 0.00120899, 7.21651868, 0.99389261, 0.99680268, 0.49112781],\
+-[	-6.21869457, -0.00198712, 0.00120829, 7.21670745, 0.99389643, 0.99680459, 0.49113374],\
+-[	-6.21888149, -0.00198592, 0.00120759, 7.21689557, 0.99390024, 0.99680649, 0.49113965],\
+-[	-6.21906775, -0.00198471, 0.00120689, 7.21708304, 0.99390404, 0.99680840, 0.49114555],\
+-[	-6.21925338, -0.00198350, 0.00120620, 7.21726987, 0.99390784, 0.99681030, 0.49115142],\
+-[	-6.21943836, -0.00198230, 0.00120550, 7.21745606, 0.99391163, 0.99681220, 0.49115728],\
+-[	-6.21962271, -0.00198110, 0.00120481, 7.21764161, 0.99391542, 0.99681410, 0.49116312],\
+-[	-6.21980642, -0.00197989, 0.00120411, 7.21782653, 0.99391921, 0.99681600, 0.49116895],\
+-[	-6.21998950, -0.00197869, 0.00120342, 7.21801081, 0.99392299, 0.99681789, 0.49117474],\
+-[	-6.22017194, -0.00197749, 0.00120272, 7.21819445, 0.99392677, 0.99681979, 0.49118052],\
+-[	-6.22035376, -0.00197630, 0.00120203, 7.21837746, 0.99393054, 0.99682168, 0.49118629],\
+-[	-6.22053495, -0.00197510, 0.00120134, 7.21855985, 0.99393431, 0.99682357, 0.49119203],\
+-[	-6.22071551, -0.00197390, 0.00120064, 7.21874161, 0.99393808, 0.99682545, 0.49119776],\
+-[	-6.22089545, -0.00197271, 0.00119995, 7.21892274, 0.99394184, 0.99682734, 0.49120347],\
+-[	-6.22107477, -0.00197152, 0.00119926, 7.21910325, 0.99394559, 0.99682922, 0.49120916],\
+-[	-6.22125347, -0.00197032, 0.00119857, 7.21928314, 0.99394935, 0.99683111, 0.49121482],\
+-[	-6.22143155, -0.00196913, 0.00119788, 7.21946242, 0.99395309, 0.99683299, 0.49122047],\
+-[	-6.22160902, -0.00196794, 0.00119719, 7.21964107, 0.99395684, 0.99683486, 0.49122611],\
+-[	-6.22178587, -0.00196676, 0.00119650, 7.21981911, 0.99396058, 0.99683674, 0.49123173],\
+-[	-6.22196211, -0.00196557, 0.00119582, 7.21999654, 0.99396431, 0.99683861, 0.49123732],\
+-[	-6.22213774, -0.00196438, 0.00119513, 7.22017336, 0.99396804, 0.99684049, 0.49124290],\
+-[	-6.22231277, -0.00196320, 0.00119444, 7.22034957, 0.99397177, 0.99684236, 0.49124846],\
+-[	-6.22248719, -0.00196202, 0.00119376, 7.22052517, 0.99397549, 0.99684423, 0.49125400],\
+-[	-6.22266101, -0.00196083, 0.00119307, 7.22070017, 0.99397920, 0.99684609, 0.49125953],\
+-[	-6.22283422, -0.00195965, 0.00119239, 7.22087457, 0.99398292, 0.99684796, 0.49126504],\
+-[	-6.22300684, -0.00195848, 0.00119170, 7.22104836, 0.99398663, 0.99684982, 0.49127053],\
+-[	-6.22317886, -0.00195730, 0.00119102, 7.22122156, 0.99399033, 0.99685168, 0.49127600],\
+-[	-6.22335028, -0.00195612, 0.00119034, 7.22139416, 0.99399403, 0.99685354, 0.49128145],\
+-[	-6.22352111, -0.00195495, 0.00118965, 7.22156617, 0.99399773, 0.99685540, 0.49128689],\
+-[	-6.22369135, -0.00195377, 0.00118897, 7.22173758, 0.99400142, 0.99685726, 0.49129231],\
+-[	-6.22386100, -0.00195260, 0.00118829, 7.22190841, 0.99400511, 0.99685911, 0.49129771],\
+-[	-6.22403007, -0.00195143, 0.00118761, 7.22207864, 0.99400879, 0.99686096, 0.49130310],\
+-[	-6.22419854, -0.00195026, 0.00118693, 7.22224829, 0.99401247, 0.99686281, 0.49130846],\
+-[	-6.22436644, -0.00194909, 0.00118625, 7.22241735, 0.99401615, 0.99686466, 0.49131381],\
+-[	-6.22453375, -0.00194792, 0.00118557, 7.22258583, 0.99401982, 0.99686651, 0.49131914],\
+-[	-6.22470048, -0.00194675, 0.00118490, 7.22275373, 0.99402348, 0.99686835, 0.49132446],\
+-[	-6.22486664, -0.00194559, 0.00118422, 7.22292105, 0.99402715, 0.99687019, 0.49132975],\
+-[	-6.22503222, -0.00194442, 0.00118354, 7.22308780, 0.99403081, 0.99687204, 0.49133503],\
+-[	-6.22519722, -0.00194326, 0.00118287, 7.22325396, 0.99403446, 0.99687387, 0.49134030],\
+-[	-6.22536166, -0.00194210, 0.00118219, 7.22341956, 0.99403811, 0.99687571, 0.49134554],\
+-[	-6.22552552, -0.00194094, 0.00118152, 7.22358458, 0.99404176, 0.99687755, 0.49135077],\
+-[	-6.22568881, -0.00193978, 0.00118084, 7.22374904, 0.99404540, 0.99687938, 0.49135598],\
+-[	-6.22585154, -0.00193862, 0.00118017, 7.22391292, 0.99404904, 0.99688121, 0.49136117],\
+-[	-6.22601370, -0.00193746, 0.00117950, 7.22407624, 0.99405267, 0.99688304, 0.49136635],\
+-[	-6.22617531, -0.00193631, 0.00117882, 7.22423900, 0.99405630, 0.99688487, 0.49137152],\
+-[	-6.22633635, -0.00193515, 0.00117815, 7.22440119, 0.99405992, 0.99688670, 0.49137666],\
+-[	-6.22649683, -0.00193400, 0.00117748, 7.22456283, 0.99406354, 0.99688852, 0.49138179],\
+-[	-6.22665675, -0.00193285, 0.00117681, 7.22472390, 0.99406716, 0.99689034, 0.49138690],\
+-[	-6.22681612, -0.00193170, 0.00117614, 7.22488442, 0.99407077, 0.99689216, 0.49139199],\
+-[	-6.22697494, -0.00193055, 0.00117547, 7.22504439, 0.99407438, 0.99689398, 0.49139707],\
+-[	-6.22713320, -0.00192940, 0.00117480, 7.22520380, 0.99407799, 0.99689580, 0.49140214],\
+-[	-6.22729092, -0.00192825, 0.00117413, 7.22536266, 0.99408159, 0.99689762, 0.49140718],\
+-[	-6.22744808, -0.00192711, 0.00117346, 7.22552098, 0.99408519, 0.99689943, 0.49141221],\
+-[	-6.22760470, -0.00192596, 0.00117280, 7.22567874, 0.99408878, 0.99690124, 0.49141723],\
+-[	-6.22776078, -0.00192482, 0.00117213, 7.22583596, 0.99409237, 0.99690305, 0.49142222],\
+-[	-6.22791631, -0.00192368, 0.00117147, 7.22599264, 0.99409595, 0.99690486, 0.49142719],\
+-[	-6.22807131, -0.00192253, 0.00117080, 7.22614877, 0.99409953, 0.99690667, 0.49143216],\
+-[	-6.22822576, -0.00192139, 0.00117014, 7.22630437, 0.99410311, 0.99690847, 0.49143711],\
+-[	-6.22837968, -0.00192026, 0.00116947, 7.22645942, 0.99410668, 0.99691027, 0.49144204],\
+-[	-6.22853306, -0.00191912, 0.00116881, 7.22661394, 0.99411025, 0.99691207, 0.49144696],\
+-[	-6.22868591, -0.00191798, 0.00116815, 7.22676793, 0.99411381, 0.99691387, 0.49145186],\
+-[	-6.22883823, -0.00191685, 0.00116748, 7.22692138, 0.99411737, 0.99691567, 0.49145674],\
+-[	-6.22899002, -0.00191571, 0.00116682, 7.22707430, 0.99412093, 0.99691747, 0.49146161],\
+-[	-6.22914128, -0.00191458, 0.00116616, 7.22722670, 0.99412448, 0.99691926, 0.49146647],\
+-[	-6.22929201, -0.00191345, 0.00116550, 7.22737856, 0.99412803, 0.99692105, 0.49147130],\
+-[	-6.22944222, -0.00191232, 0.00116484, 7.22752990, 0.99413157, 0.99692284, 0.49147613],\
+-[	-6.22959190, -0.00191119, 0.00116418, 7.22768071, 0.99413511, 0.99692463, 0.49148093],\
+-[	-6.22974107, -0.00191006, 0.00116352, 7.22783101, 0.99413865, 0.99692642, 0.49148571],\
+-[	-6.22988971, -0.00190893, 0.00116286, 7.22798078, 0.99414218, 0.99692820, 0.49149049],\
+-[	-6.23003784, -0.00190781, 0.00116221, 7.22813003, 0.99414571, 0.99692998, 0.49149525],\
+-[	-6.23018545, -0.00190669, 0.00116155, 7.22827877, 0.99414924, 0.99693176, 0.49149999],\
+-[	-6.23033255, -0.00190556, 0.00116089, 7.22842699, 0.99415276, 0.99693354, 0.49150472],\
+-[	-6.23047913, -0.00190444, 0.00116024, 7.22857469, 0.99415627, 0.99693532, 0.49150944],\
+-[	-6.23062521, -0.00190332, 0.00115958, 7.22872189, 0.99415978, 0.99693710, 0.49151413],\
+-[	-6.23077077, -0.00190220, 0.00115893, 7.22886857, 0.99416329, 0.99693887, 0.49151881],\
+-[	-6.23091583, -0.00190108, 0.00115828, 7.22901475, 0.99416680, 0.99694064, 0.49152348],\
+-[	-6.23106038, -0.00189996, 0.00115762, 7.22916042, 0.99417030, 0.99694241, 0.49152813],\
+-[	-6.23120443, -0.00189885, 0.00115697, 7.22930558, 0.99417379, 0.99694418, 0.49153277],\
+-[	-6.23134798, -0.00189773, 0.00115632, 7.22945024, 0.99417729, 0.99694595, 0.49153739],\
+-[	-6.23149102, -0.00189662, 0.00115567, 7.22959440, 0.99418078, 0.99694772, 0.49154200],\
+-[	-6.23163357, -0.00189551, 0.00115501, 7.22973806, 0.99418426, 0.99694948, 0.49154659],\
+-[	-6.23177562, -0.00189439, 0.00115436, 7.22988122, 0.99418774, 0.99695124, 0.49155116],\
+-[	-6.23191717, -0.00189328, 0.00115371, 7.23002389, 0.99419122, 0.99695300, 0.49155572],\
+-[	-6.23205823, -0.00189218, 0.00115307, 7.23016606, 0.99419469, 0.99695476, 0.49156028],\
+-[	-6.23219880, -0.00189107, 0.00115242, 7.23030773, 0.99419816, 0.99695652, 0.49156481],\
+-[	-6.23233888, -0.00188996, 0.00115177, 7.23044891, 0.99420163, 0.99695827, 0.49156932],\
+-[	-6.23247846, -0.00188886, 0.00115112, 7.23058961, 0.99420509, 0.99696002, 0.49157383],\
+-[	-6.23261756, -0.00188775, 0.00115047, 7.23072981, 0.99420855, 0.99696177, 0.49157832],\
+-[	-6.23275618, -0.00188665, 0.00114983, 7.23086953, 0.99421200, 0.99696352, 0.49158279],\
+-[	-6.23289431, -0.00188555, 0.00114918, 7.23100876, 0.99421545, 0.99696527, 0.49158725],\
+-[	-6.23303196, -0.00188444, 0.00114854, 7.23114751, 0.99421890, 0.99696702, 0.49159170],\
+-[	-6.23316912, -0.00188334, 0.00114789, 7.23128578, 0.99422234, 0.99696876, 0.49159612],\
+-[	-6.23330581, -0.00188225, 0.00114725, 7.23142357, 0.99422578, 0.99697050, 0.49160053],\
+-[	-6.23344202, -0.00188115, 0.00114661, 7.23156087, 0.99422921, 0.99697225, 0.49160494],\
+-[	-6.23357776, -0.00188005, 0.00114596, 7.23169771, 0.99423264, 0.99697398, 0.49160932],\
+-[	-6.23371302, -0.00187896, 0.00114532, 7.23183406, 0.99423607, 0.99697572, 0.49161370],\
+-[	-6.23384781, -0.00187786, 0.00114468, 7.23196994, 0.99423949, 0.99697746, 0.49161806],\
+-[	-6.23398212, -0.00187677, 0.00114404, 7.23210535, 0.99424291, 0.99697919, 0.49162241],\
+-[	-6.23411597, -0.00187568, 0.00114340, 7.23224029, 0.99424633, 0.99698092, 0.49162674],\
+-[	-6.23424935, -0.00187459, 0.00114276, 7.23237476, 0.99424974, 0.99698265, 0.49163105],\
+-[	-6.23438226, -0.00187350, 0.00114212, 7.23250876, 0.99425315, 0.99698438, 0.49163535],\
+-[	-6.23451471, -0.00187241, 0.00114148, 7.23264230, 0.99425655, 0.99698611, 0.49163964],\
+-[	-6.23464669, -0.00187132, 0.00114084, 7.23277537, 0.99425995, 0.99698783, 0.49164392],\
+-[	-6.23477821, -0.00187024, 0.00114021, 7.23290797, 0.99426335, 0.99698956, 0.49164818],\
+-[	-6.23490927, -0.00186915, 0.00113957, 7.23304012, 0.99426674, 0.99699128, 0.49165242],\
+-[	-6.23503988, -0.00186807, 0.00113893, 7.23317181, 0.99427013, 0.99699300, 0.49165666],\
+-[	-6.23517002, -0.00186698, 0.00113830, 7.23330304, 0.99427352, 0.99699472, 0.49166087],\
+-[	-6.23529971, -0.00186590, 0.00113766, 7.23343381, 0.99427690, 0.99699644, 0.49166508],\
+-[	-6.23542895, -0.00186482, 0.00113703, 7.23356413, 0.99428028, 0.99699815, 0.49166927],\
+-[	-6.23555773, -0.00186374, 0.00113639, 7.23369399, 0.99428365, 0.99699986, 0.49167345],\
+-[	-6.23568606, -0.00186267, 0.00113576, 7.23382340, 0.99428702, 0.99700157, 0.49167762],\
+-[	-6.23581395, -0.00186159, 0.00113513, 7.23395236, 0.99429039, 0.99700328, 0.49168176],\
+-[	-6.23594138, -0.00186051, 0.00113449, 7.23408087, 0.99429375, 0.99700499, 0.49168591],\
+-[	-6.23606837, -0.00185944, 0.00113386, 7.23420893, 0.99429711, 0.99700670, 0.49169003],\
+-[	-6.23619491, -0.00185836, 0.00113323, 7.23433655, 0.99430047, 0.99700840, 0.49169415],\
+-[	-6.23632102, -0.00185729, 0.00113260, 7.23446372, 0.99430382, 0.99701011, 0.49169823],\
+-[	-6.23644667, -0.00185622, 0.00113197, 7.23459045, 0.99430717, 0.99701181, 0.49170232],\
+-[	-6.23657189, -0.00185515, 0.00113134, 7.23471674, 0.99431051, 0.99701351, 0.49170640],\
+-[	-6.23669667, -0.00185408, 0.00113071, 7.23484259, 0.99431385, 0.99701521, 0.49171044],\
+-[	-6.23682101, -0.00185301, 0.00113009, 7.23496800, 0.99431719, 0.99701690, 0.49171449],\
+-[	-6.23694492, -0.00185195, 0.00112946, 7.23509297, 0.99432052, 0.99701860, 0.49171853],\
+-[	-6.23706839, -0.00185088, 0.00112883, 7.23521751, 0.99432385, 0.99702029, 0.49172254],\
+-[	-6.23719143, -0.00184981, 0.00112820, 7.23534161, 0.99432718, 0.99702198, 0.49172655],\
+-[	-6.23731403, -0.00184875, 0.00112758, 7.23546528, 0.99433050, 0.99702367, 0.49173054],\
+-[	-6.23743621, -0.00184769, 0.00112695, 7.23558852, 0.99433382, 0.99702536, 0.49173452],\
+-[	-6.23755795, -0.00184663, 0.00112633, 7.23571133, 0.99433713, 0.99702705, 0.49173848],\
+-[	-6.23767927, -0.00184557, 0.00112570, 7.23583371, 0.99434044, 0.99702873, 0.49174243],\
+-[	-6.23780017, -0.00184451, 0.00112508, 7.23595566, 0.99434375, 0.99703041, 0.49174639],\
+-[	-6.23792064, -0.00184345, 0.00112446, 7.23607719, 0.99434706, 0.99703209, 0.49175031],\
+-[	-6.23804068, -0.00184239, 0.00112383, 7.23619829, 0.99435036, 0.99703377, 0.49175422],\
+-[	-6.23816031, -0.00184134, 0.00112321, 7.23631897, 0.99435365, 0.99703545, 0.49175813],\
+-[	-6.23827952, -0.00184028, 0.00112259, 7.23643923, 0.99435695, 0.99703713, 0.49176201],\
+-[	-6.23839830, -0.00183923, 0.00112197, 7.23655907, 0.99436024, 0.99703880, 0.49176589],\
+-[	-6.23851667, -0.00183817, 0.00112135, 7.23667850, 0.99436352, 0.99704048, 0.49176975],\
+-[	-6.23863462, -0.00183712, 0.00112073, 7.23679750, 0.99436680, 0.99704215, 0.49177361],\
+-[	-6.23875216, -0.00183607, 0.00112011, 7.23691609, 0.99437008, 0.99704382, 0.49177744],\
+-[	-6.23886929, -0.00183502, 0.00111949, 7.23703427, 0.99437336, 0.99704548, 0.49178127],\
+-[	-6.23898600, -0.00183398, 0.00111887, 7.23715203, 0.99437663, 0.99704715, 0.49178508],\
+-[	-6.23910231, -0.00183293, 0.00111826, 7.23726938, 0.99437990, 0.99704881, 0.49178889],\
+-[	-6.23921820, -0.00183188, 0.00111764, 7.23738632, 0.99438316, 0.99705048, 0.49179268],\
+-[	-6.23933369, -0.00183084, 0.00111702, 7.23750286, 0.99438642, 0.99705214, 0.49179645],\
+-[	-6.23944877, -0.00182979, 0.00111641, 7.23761898, 0.99438968, 0.99705380, 0.49180022],\
+-[	-6.23956345, -0.00182875, 0.00111579, 7.23773470, 0.99439293, 0.99705546, 0.49180397],\
+-[	-6.23967773, -0.00182771, 0.00111518, 7.23785002, 0.99439618, 0.99705711, 0.49180771],\
+-[	-6.23979160, -0.00182667, 0.00111456, 7.23796493, 0.99439943, 0.99705877, 0.49181144],\
+-[	-6.23990507, -0.00182563, 0.00111395, 7.23807944, 0.99440267, 0.99706042, 0.49181516],\
+-[	-6.24001814, -0.00182459, 0.00111334, 7.23819355, 0.99440591, 0.99706207, 0.49181886],\
+-[	-6.24013082, -0.00182355, 0.00111273, 7.23830726, 0.99440915, 0.99706372, 0.49182255],\
+-[	-6.24024309, -0.00182251, 0.00111211, 7.23842058, 0.99441238, 0.99706537, 0.49182623],\
+-[	-6.24035498, -0.00182148, 0.00111150, 7.23853350, 0.99441561, 0.99706702, 0.49182990],\
+-[	-6.24046647, -0.00182045, 0.00111089, 7.23864602, 0.99441884, 0.99706866, 0.49183355],\
+-[	-6.24057756, -0.00181941, 0.00111028, 7.23875815, 0.99442206, 0.99707031, 0.49183719],\
+-[	-6.24068827, -0.00181838, 0.00110967, 7.23886989, 0.99442528, 0.99707195, 0.49184083],\
+-[	-6.24079858, -0.00181735, 0.00110906, 7.23898123, 0.99442849, 0.99707359, 0.49184446],\
+-[	-6.24090851, -0.00181632, 0.00110846, 7.23909219, 0.99443170, 0.99707523, 0.49184806],\
+-[	-6.24101805, -0.00181529, 0.00110785, 7.23920276, 0.99443491, 0.99707686, 0.49185165],\
+-[	-6.24112720, -0.00181426, 0.00110724, 7.23931294, 0.99443812, 0.99707850, 0.49185524],\
+-[	-6.24123597, -0.00181324, 0.00110663, 7.23942274, 0.99444132, 0.99708013, 0.49185881],\
+-[	-6.24134436, -0.00181221, 0.00110603, 7.23953215, 0.99444451, 0.99708176, 0.49186237],\
+-[	-6.24145237, -0.00181118, 0.00110542, 7.23964118, 0.99444771, 0.99708339, 0.49186593],\
+-[	-6.24155999, -0.00181016, 0.00110482, 7.23974983, 0.99445090, 0.99708502, 0.49186947],\
+-[	-6.24166723, -0.00180914, 0.00110421, 7.23985810, 0.99445408, 0.99708665, 0.49187299],\
+-[	-6.24177410, -0.00180812, 0.00110361, 7.23996598, 0.99445727, 0.99708828, 0.49187651],\
+-[	-6.24188059, -0.00180710, 0.00110300, 7.24007349, 0.99446045, 0.99708990, 0.49188001],\
+-[	-6.24198671, -0.00180608, 0.00110240, 7.24018063, 0.99446363, 0.99709152, 0.49188351],\
+-[	-6.24209245, -0.00180506, 0.00110180, 7.24028739, 0.99446680, 0.99709314, 0.49188699],\
+-[	-6.24219781, -0.00180404, 0.00110120, 7.24039377, 0.99446997, 0.99709476, 0.49189046],\
+-[	-6.24230281, -0.00180302, 0.00110060, 7.24049978, 0.99447313, 0.99709638, 0.49189392],\
+-[	-6.24240743, -0.00180201, 0.00110000, 7.24060543, 0.99447630, 0.99709800, 0.49189737],\
+-[	-6.24251169, -0.00180100, 0.00109940, 7.24071070, 0.99447946, 0.99709961, 0.49190081],\
+-[	-6.24261558, -0.00179998, 0.00109880, 7.24081560, 0.99448261, 0.99710122, 0.49190424],\
+-[	-6.24271910, -0.00179897, 0.00109820, 7.24092013, 0.99448577, 0.99710283, 0.49190765],\
+-[	-6.24282226, -0.00179796, 0.00109760, 7.24102430, 0.99448891, 0.99710444, 0.49191105],\
+-[	-6.24292505, -0.00179695, 0.00109700, 7.24112810, 0.99449206, 0.99710605, 0.49191444],\
+-[	-6.24302748, -0.00179594, 0.00109640, 7.24123154, 0.99449520, 0.99710766, 0.49191782],\
+-[	-6.24312955, -0.00179493, 0.00109581, 7.24133462, 0.99449834, 0.99710926, 0.49192119],\
+-[	-6.24323126, -0.00179392, 0.00109521, 7.24143733, 0.99450148, 0.99711087, 0.49192455],\
+-[	-6.24333261, -0.00179292, 0.00109461, 7.24153969, 0.99450461, 0.99711247, 0.49192789],\
+-[	-6.24343360, -0.00179191, 0.00109402, 7.24164168, 0.99450774, 0.99711407, 0.49193123],\
+-[	-6.24353423, -0.00179091, 0.00109342, 7.24174332, 0.99451086, 0.99711567, 0.49193456],\
+-[	-6.24363451, -0.00178991, 0.00109283, 7.24184460, 0.99451399, 0.99711726, 0.49193787],\
+-[	-6.24373444, -0.00178891, 0.00109224, 7.24194553, 0.99451711, 0.99711886, 0.49194119],\
+-[	-6.24383401, -0.00178790, 0.00109164, 7.24204610, 0.99452022, 0.99712045, 0.49194448],\
+-[	-6.24393323, -0.00178690, 0.00109105, 7.24214632, 0.99452333, 0.99712204, 0.49194776],\
+-[	-6.24403210, -0.00178591, 0.00109046, 7.24224619, 0.99452644, 0.99712364, 0.49195103],\
+-[	-6.24413062, -0.00178491, 0.00108987, 7.24234571, 0.99452955, 0.99712522, 0.49195429],\
+-[	-6.24422879, -0.00178391, 0.00108928, 7.24244488, 0.99453265, 0.99712681, 0.49195755],\
+-[	-6.24432661, -0.00178292, 0.00108869, 7.24254370, 0.99453575, 0.99712840, 0.49196079],\
+-[	-6.24442409, -0.00178192, 0.00108810, 7.24264217, 0.99453884, 0.99712998, 0.49196402],\
+-[	-6.24452123, -0.00178093, 0.00108751, 7.24274030, 0.99454194, 0.99713157, 0.49196723],\
+-[	-6.24461802, -0.00177993, 0.00108692, 7.24283808, 0.99454502, 0.99713315, 0.49197045],\
+-[	-6.24471446, -0.00177894, 0.00108633, 7.24293552, 0.99454811, 0.99713473, 0.49197365],\
+-[	-6.24481057, -0.00177795, 0.00108574, 7.24303262, 0.99455119, 0.99713630, 0.49197684],\
+-[	-6.24490634, -0.00177696, 0.00108516, 7.24312938, 0.99455427, 0.99713788, 0.49198002],\
+-[	-6.24500177, -0.00177597, 0.00108457, 7.24322579, 0.99455735, 0.99713946, 0.49198318],\
+-[	-6.24509686, -0.00177499, 0.00108398, 7.24332187, 0.99456042, 0.99714103, 0.49198634],\
+-[	-6.24519161, -0.00177400, 0.00108340, 7.24341761, 0.99456349, 0.99714260, 0.49198949],\
+-[	-6.24528603, -0.00177301, 0.00108281, 7.24351302, 0.99456655, 0.99714417, 0.49199263],\
+-[	-6.24538012, -0.00177203, 0.00108223, 7.24360809, 0.99456961, 0.99714574, 0.49199575],\
+-[	-6.24547387, -0.00177105, 0.00108164, 7.24370283, 0.99457267, 0.99714731, 0.49199887],\
+-[	-6.24556729, -0.00177006, 0.00108106, 7.24379723, 0.99457573, 0.99714887, 0.49200198],\
+-[	-6.24566038, -0.00176908, 0.00108048, 7.24389130, 0.99457878, 0.99715044, 0.49200507],\
+-[	-6.24575314, -0.00176810, 0.00107990, 7.24398504, 0.99458183, 0.99715200, 0.49200817],\
+-[	-6.24584557, -0.00176712, 0.00107931, 7.24407845, 0.99458488, 0.99715356, 0.49201123],\
+-[	-6.24593768, -0.00176614, 0.00107873, 7.24417153, 0.99458792, 0.99715512, 0.49201431],\
+-[	-6.24602946, -0.00176517, 0.00107815, 7.24426429, 0.99459096, 0.99715668, 0.49201737],\
+-[	-6.24612091, -0.00176419, 0.00107757, 7.24435672, 0.99459400, 0.99715824, 0.49202041],\
+-[	-6.24621204, -0.00176321, 0.00107699, 7.24444883, 0.99459703, 0.99715979, 0.49202344],\
+-[	-6.24630285, -0.00176224, 0.00107641, 7.24454061, 0.99460006, 0.99716135, 0.49202647],\
+-[	-6.24639333, -0.00176127, 0.00107584, 7.24463206, 0.99460309, 0.99716290, 0.49202949],\
+-[	-6.24648350, -0.00176029, 0.00107526, 7.24472320, 0.99460611, 0.99716445, 0.49203250],\
+-[	-6.24657334, -0.00175932, 0.00107468, 7.24481402, 0.99460913, 0.99716600, 0.49203550],\
+-[	-6.24666287, -0.00175835, 0.00107410, 7.24490451, 0.99461215, 0.99716755, 0.49203848],\
+-[	-6.24675208, -0.00175738, 0.00107353, 7.24499469, 0.99461516, 0.99716909, 0.49204146],\
+-[	-6.24684097, -0.00175641, 0.00107295, 7.24508455, 0.99461817, 0.99717064, 0.49204443],\
+-[	-6.24692955, -0.00175545, 0.00107238, 7.24517410, 0.99462118, 0.99717218, 0.49204739],\
+-[	-6.24701781, -0.00175448, 0.00107180, 7.24526333, 0.99462418, 0.99717372, 0.49205033],\
+-[	-6.24710576, -0.00175351, 0.00107123, 7.24535225, 0.99462718, 0.99717526, 0.49205328],\
+-[	-6.24719340, -0.00175255, 0.00107065, 7.24544085, 0.99463018, 0.99717680, 0.49205621],\
+-[	-6.24728073, -0.00175158, 0.00107008, 7.24552914, 0.99463317, 0.99717834, 0.49205913],\
+-[	-6.24736775, -0.00175062, 0.00106951, 7.24561712, 0.99463617, 0.99717987, 0.49206204],\
+-[	-6.24745446, -0.00174966, 0.00106893, 7.24570479, 0.99463915, 0.99718141, 0.49206494],\
+-[	-6.24754086, -0.00174870, 0.00106836, 7.24579216, 0.99464214, 0.99718294, 0.49206783],\
+-[	-6.24762695, -0.00174774, 0.00106779, 7.24587921, 0.99464512, 0.99718447, 0.49207072],\
+-[	-6.24771274, -0.00174678, 0.00106722, 7.24596596, 0.99464810, 0.99718600, 0.49207359],\
+-[	-6.24779823, -0.00174582, 0.00106665, 7.24605241, 0.99465108, 0.99718753, 0.49207645],\
+-[	-6.24788341, -0.00174487, 0.00106608, 7.24613854, 0.99465405, 0.99718905, 0.49207931],\
+-[	-6.24796829, -0.00174391, 0.00106551, 7.24622438, 0.99465702, 0.99719058, 0.49208216],\
+-[	-6.24805287, -0.00174296, 0.00106494, 7.24630991, 0.99465998, 0.99719210, 0.49208499],\
+-[	-6.24813715, -0.00174200, 0.00106438, 7.24639515, 0.99466295, 0.99719362, 0.49208783],\
+-[	-6.24822113, -0.00174105, 0.00106381, 7.24648008, 0.99466591, 0.99719514, 0.49209064],\
+-[	-6.24830481, -0.00174010, 0.00106324, 7.24656471, 0.99466886, 0.99719666, 0.49209345],\
+-[	-6.24838819, -0.00173915, 0.00106267, 7.24664905, 0.99467182, 0.99719818, 0.49209625],\
+-[	-6.24847128, -0.00173819, 0.00106211, 7.24673309, 0.99467477, 0.99719970, 0.49209904],\
+-[	-6.24855407, -0.00173725, 0.00106154, 7.24681683, 0.99467771, 0.99720121, 0.49210182],\
+-[	-6.24863657, -0.00173630, 0.00106098, 7.24690027, 0.99468066, 0.99720272, 0.49210459],\
+-[	-6.24871878, -0.00173535, 0.00106041, 7.24698343, 0.99468360, 0.99720424, 0.49210735],\
+-[	-6.24880069, -0.00173440, 0.00105985, 7.24706629, 0.99468654, 0.99720575, 0.49211010],\
+-[	-6.24888231, -0.00173346, 0.00105929, 7.24714886, 0.99468947, 0.99720725, 0.49211286],\
+-[	-6.24896365, -0.00173251, 0.00105872, 7.24723113, 0.99469240, 0.99720876, 0.49211559],\
+-[	-6.24904469, -0.00173157, 0.00105816, 7.24731312, 0.99469533, 0.99721027, 0.49211832],\
+-[	-6.24912545, -0.00173063, 0.00105760, 7.24739482, 0.99469826, 0.99721177, 0.49212104],\
+-[	-6.24920591, -0.00172969, 0.00105704, 7.24747623, 0.99470118, 0.99721327, 0.49212375],\
+-[	-6.24928610, -0.00172875, 0.00105648, 7.24755735, 0.99470410, 0.99721478, 0.49212645],\
+-[	-6.24936599, -0.00172781, 0.00105592, 7.24763819, 0.99470702, 0.99721628, 0.49212915],\
+-[	-6.24944561, -0.00172687, 0.00105536, 7.24771874, 0.99470993, 0.99721777, 0.49213183],\
+-[	-6.24952494, -0.00172593, 0.00105480, 7.24779901, 0.99471284, 0.99721927, 0.49213451],\
+-[	-6.24960399, -0.00172499, 0.00105424, 7.24787899, 0.99471575, 0.99722077, 0.49213717],\
+-[	-6.24968275, -0.00172406, 0.00105368, 7.24795870, 0.99471865, 0.99722226, 0.49213983],\
+-[	-6.24976124, -0.00172312, 0.00105312, 7.24803812, 0.99472155, 0.99722375, 0.49214248],\
+-[	-6.24983945, -0.00172219, 0.00105257, 7.24811726, 0.99472445, 0.99722524, 0.49214512],\
+-[	-6.24991738, -0.00172126, 0.00105201, 7.24819612, 0.99472735, 0.99722673, 0.49214776],\
+-[	-6.24999503, -0.00172032, 0.00105145, 7.24827471, 0.99473024, 0.99722822, 0.49215038],\
+-[	-6.25007241, -0.00171939, 0.00105090, 7.24835302, 0.99473313, 0.99722971, 0.49215299],\
+-[	-6.25014951, -0.00171846, 0.00105034, 7.24843105, 0.99473601, 0.99723119, 0.49215561],\
+-[	-6.25022634, -0.00171753, 0.00104979, 7.24850880, 0.99473890, 0.99723268, 0.49215820],\
+-[	-6.25030289, -0.00171660, 0.00104923, 7.24858628, 0.99474178, 0.99723416, 0.49216079],\
+-[	-6.25037917, -0.00171568, 0.00104868, 7.24866349, 0.99474465, 0.99723564, 0.49216338],\
+-[	-6.25045518, -0.00171475, 0.00104813, 7.24874043, 0.99474753, 0.99723712, 0.49216595],\
+-[	-6.25053092, -0.00171382, 0.00104758, 7.24881709, 0.99475040, 0.99723860, 0.49216851],\
+-[	-6.25060639, -0.00171290, 0.00104702, 7.24889349, 0.99475327, 0.99724008, 0.49217106],\
+-[	-6.25068159, -0.00171198, 0.00104647, 7.24896961, 0.99475613, 0.99724155, 0.49217362],\
+-[	-6.25075652, -0.00171105, 0.00104592, 7.24904547, 0.99475899, 0.99724303, 0.49217616],\
+-[	-6.25083119, -0.00171013, 0.00104537, 7.24912106, 0.99476185, 0.99724450, 0.49217869],\
+-[	-6.25090559, -0.00170921, 0.00104482, 7.24919638, 0.99476471, 0.99724597, 0.49218121],\
+-[	-6.25097972, -0.00170829, 0.00104427, 7.24927143, 0.99476756, 0.99724744, 0.49218373],\
+-[	-6.25105359, -0.00170737, 0.00104372, 7.24934622, 0.99477041, 0.99724891, 0.49218624],\
+-[	-6.25112720, -0.00170645, 0.00104317, 7.24942075, 0.99477326, 0.99725037, 0.49218873],\
+-[	-6.25120055, -0.00170554, 0.00104262, 7.24949501, 0.99477610, 0.99725184, 0.49219122],\
+-[	-6.25127363, -0.00170462, 0.00104208, 7.24956901, 0.99477894, 0.99725330, 0.49219371],\
+-[	-6.25134646, -0.00170370, 0.00104153, 7.24964275, 0.99478178, 0.99725477, 0.49219618],\
+-[	-6.25141902, -0.00170279, 0.00104098, 7.24971623, 0.99478462, 0.99725623, 0.49219865],\
+-[	-6.25149133, -0.00170188, 0.00104044, 7.24978945, 0.99478745, 0.99725769, 0.49220112],\
+-[	-6.25156338, -0.00170096, 0.00103989, 7.24986241, 0.99479028, 0.99725915, 0.49220356],\
+-[	-6.25163517, -0.00170005, 0.00103935, 7.24993512, 0.99479311, 0.99726060, 0.49220600],\
+-[	-6.25170670, -0.00169914, 0.00103880, 7.25000756, 0.99479593, 0.99726206, 0.49220844],\
+-[	-6.25177798, -0.00169823, 0.00103826, 7.25007975, 0.99479875, 0.99726351, 0.49221087],\
+-[	-6.25184901, -0.00169732, 0.00103771, 7.25015169, 0.99480157, 0.99726496, 0.49221329],\
+-[	-6.25191978, -0.00169641, 0.00103717, 7.25022337, 0.99480438, 0.99726642, 0.49221570],\
+-[	-6.25199031, -0.00169551, 0.00103663, 7.25029480, 0.99480719, 0.99726787, 0.49221811],\
+-[	-6.25206057, -0.00169460, 0.00103609, 7.25036598, 0.99481000, 0.99726931, 0.49222050],\
+-[	-6.25213059, -0.00169369, 0.00103555, 7.25043690, 0.99481281, 0.99727076, 0.49222289],\
+-[	-6.25220036, -0.00169279, 0.00103500, 7.25050757, 0.99481561, 0.99727221, 0.49222527],\
+-[	-6.25226988, -0.00169189, 0.00103446, 7.25057800, 0.99481841, 0.99727365, 0.49222765],\
+-[	-6.25233916, -0.00169098, 0.00103392, 7.25064817, 0.99482121, 0.99727509, 0.49223001],\
+-[	-6.25240818, -0.00169008, 0.00103338, 7.25071810, 0.99482400, 0.99727653, 0.49223237],\
+-[	-6.25247696, -0.00168918, 0.00103285, 7.25078778, 0.99482680, 0.99727797, 0.49223472],\
+-[	-6.25254550, -0.00168828, 0.00103231, 7.25085722, 0.99482958, 0.99727941, 0.49223706],\
+-[	-6.25261379, -0.00168738, 0.00103177, 7.25092640, 0.99483237, 0.99728085, 0.49223939],\
+-[	-6.25268183, -0.00168648, 0.00103123, 7.25099535, 0.99483515, 0.99728229, 0.49224172],\
+-[	-6.25274963, -0.00168559, 0.00103069, 7.25106405, 0.99483793, 0.99728372, 0.49224404],\
+-[	-6.25281720, -0.00168469, 0.00103016, 7.25113251, 0.99484071, 0.99728515, 0.49224636],\
+-[	-6.25288452, -0.00168379, 0.00102962, 7.25120072, 0.99484348, 0.99728659, 0.49224866],\
+-[	-6.25295160, -0.00168290, 0.00102909, 7.25126870, 0.99484626, 0.99728802, 0.49225097],\
+-[	-6.25301844, -0.00168200, 0.00102855, 7.25133643, 0.99484902, 0.99728945, 0.49225325],\
+-[	-6.25308504, -0.00168111, 0.00102802, 7.25140393, 0.99485179, 0.99729087, 0.49225553],\
+-[	-6.25315140, -0.00168022, 0.00102748, 7.25147118, 0.99485455, 0.99729230, 0.49225780],\
+-[	-6.25321753, -0.00167933, 0.00102695, 7.25153820, 0.99485731, 0.99729372, 0.49226008],\
+-[	-6.25328342, -0.00167844, 0.00102641, 7.25160498, 0.99486007, 0.99729515, 0.49226233],\
+-[	-6.25334907, -0.00167755, 0.00102588, 7.25167153, 0.99486282, 0.99729657, 0.49226459],\
+-[	-6.25341450, -0.00167666, 0.00102535, 7.25173784, 0.99486558, 0.99729799, 0.49226684],\
+-[	-6.25347968, -0.00167577, 0.00102482, 7.25180391, 0.99486832, 0.99729941, 0.49226907],\
+-[	-6.25354464, -0.00167489, 0.00102429, 7.25186975, 0.99487107, 0.99730083, 0.49227131],\
+-[	-6.25360936, -0.00167400, 0.00102376, 7.25193536, 0.99487381, 0.99730224, 0.49227354],\
+-[	-6.25367385, -0.00167312, 0.00102323, 7.25200074, 0.99487655, 0.99730366, 0.49227575],\
+-[	-6.25373811, -0.00167223, 0.00102270, 7.25206588, 0.99487929, 0.99730507, 0.49227796],\
+-[	-6.25380215, -0.00167135, 0.00102217, 7.25213080, 0.99488202, 0.99730649, 0.49228016],\
+-[	-6.25386595, -0.00167047, 0.00102164, 7.25219548, 0.99488476, 0.99730790, 0.49228236],\
+-[	-6.25392952, -0.00166958, 0.00102111, 7.25225994, 0.99488749, 0.99730931, 0.49228455],\
+-[	-6.25399287, -0.00166870, 0.00102058, 7.25232417, 0.99489021, 0.99731072, 0.49228673],\
+-[	-6.25405599, -0.00166782, 0.00102005, 7.25238817, 0.99489294, 0.99731212, 0.49228892],\
+-[	-6.25411889, -0.00166694, 0.00101953, 7.25245194, 0.99489566, 0.99731353, 0.49229108],\
+-[	-6.25418156, -0.00166607, 0.00101900, 7.25251549, 0.99489837, 0.99731493, 0.49229324],\
+-[	-6.25424401, -0.00166519, 0.00101847, 7.25257882, 0.99490109, 0.99731634, 0.49229539],\
+-[	-6.25430623, -0.00166431, 0.00101795, 7.25264192, 0.99490380, 0.99731774, 0.49229754],\
+-[	-6.25436823, -0.00166344, 0.00101742, 7.25270479, 0.99490651, 0.99731914, 0.49229968],\
+-[	-6.25443001, -0.00166256, 0.00101690, 7.25276745, 0.99490922, 0.99732054, 0.49230182],\
+-[	-6.25449157, -0.00166169, 0.00101638, 7.25282988, 0.99491192, 0.99732194, 0.49230394],\
+-[	-6.25455291, -0.00166082, 0.00101585, 7.25289209, 0.99491462, 0.99732333, 0.49230606],\
+-[	-6.25461403, -0.00165994, 0.00101533, 7.25295408, 0.99491732, 0.99732473, 0.49230817],\
+-[	-6.25467493, -0.00165907, 0.00101481, 7.25301586, 0.99492002, 0.99732612, 0.49231027],\
+-[	-6.25473561, -0.00165820, 0.00101428, 7.25307741, 0.99492271, 0.99732751, 0.49231238],\
+-[	-6.25479608, -0.00165733, 0.00101376, 7.25313874, 0.99492540, 0.99732890, 0.49231446],\
+-[	-6.25485633, -0.00165647, 0.00101324, 7.25319986, 0.99492809, 0.99733029, 0.49231656],\
+-[	-6.25491636, -0.00165560, 0.00101272, 7.25326076, 0.99493077, 0.99733168, 0.49231863],\
+-[	-6.25497618, -0.00165473, 0.00101220, 7.25332145, 0.99493345, 0.99733307, 0.49232070],\
+-[	-6.25503579, -0.00165386, 0.00101168, 7.25338192, 0.99493613, 0.99733445, 0.49232277],\
+-[	-6.25509518, -0.00165300, 0.00101116, 7.25344218, 0.99493881, 0.99733584, 0.49232483],\
+-[	-6.25515436, -0.00165214, 0.00101064, 7.25350222, 0.99494148, 0.99733722, 0.49232688],\
+-[	-6.25521333, -0.00165127, 0.00101012, 7.25356206, 0.99494415, 0.99733860, 0.49232894],\
+-[	-6.25527209, -0.00165041, 0.00100961, 7.25362168, 0.99494682, 0.99733998, 0.49233097],\
+-[	-6.25533063, -0.00164955, 0.00100909, 7.25368108, 0.99494949, 0.99734136, 0.49233301],\
+-[	-6.25538897, -0.00164869, 0.00100857, 7.25374028, 0.99495215, 0.99734274, 0.49233504],\
+-[	-6.25544710, -0.00164783, 0.00100806, 7.25379927, 0.99495481, 0.99734412, 0.49233704],\
+-[	-6.25550502, -0.00164697, 0.00100754, 7.25385805, 0.99495747, 0.99734549, 0.49233906],\
+-[	-6.25556273, -0.00164611, 0.00100702, 7.25391662, 0.99496012, 0.99734687, 0.49234107],\
+-[	-6.25562024, -0.00164525, 0.00100651, 7.25397499, 0.99496278, 0.99734824, 0.49234308],\
+-[	-6.25567754, -0.00164440, 0.00100599, 7.25403314, 0.99496543, 0.99734961, 0.49234506],\
+-[	-6.25573464, -0.00164354, 0.00100548, 7.25409110, 0.99496807, 0.99735098, 0.49234706],\
+-[	-6.25579153, -0.00164268, 0.00100497, 7.25414884, 0.99497072, 0.99735235, 0.49234904],\
+-[	-6.25584821, -0.00164183, 0.00100445, 7.25420638, 0.99497336, 0.99735372, 0.49235101],\
+-[	-6.25590470, -0.00164098, 0.00100394, 7.25426372, 0.99497600, 0.99735508, 0.49235297],\
+-[	-6.25596098, -0.00164012, 0.00100343, 7.25432086, 0.99497863, 0.99735645, 0.49235495],\
+-[	-6.25601706, -0.00163927, 0.00100292, 7.25437779, 0.99498127, 0.99735781, 0.49235690],\
+-[	-6.25607294, -0.00163842, 0.00100241, 7.25443452, 0.99498390, 0.99735917, 0.49235884],\
+-[	-6.25612862, -0.00163757, 0.00100189, 7.25449105, 0.99498652, 0.99736053, 0.49236079],\
+-[	-6.25618410, -0.00163672, 0.00100138, 7.25454738, 0.99498915, 0.99736189, 0.49236272],\
+-[	-6.25623938, -0.00163587, 0.00100087, 7.25460351, 0.99499177, 0.99736325, 0.49236466],\
+-[	-6.25629447, -0.00163503, 0.00100036, 7.25465944, 0.99499439, 0.99736461, 0.49236658],\
+-[	-6.25634936, -0.00163418, 0.00099986, 7.25471518, 0.99499701, 0.99736596, 0.49236850],\
+-[	-6.25640405, -0.00163333, 0.00099935, 7.25477071, 0.99499963, 0.99736732, 0.49237042],\
+-[	-6.25645854, -0.00163249, 0.00099884, 7.25482605, 0.99500224, 0.99736867, 0.49237232],\
+-[	-6.25651284, -0.00163164, 0.00099833, 7.25488119, 0.99500485, 0.99737002, 0.49237422],\
+-[	-6.25656694, -0.00163080, 0.00099782, 7.25493614, 0.99500745, 0.99737137, 0.49237612],\
+-[	-6.25662085, -0.00162996, 0.00099732, 7.25499089, 0.99501006, 0.99737272, 0.49237800],\
+-[	-6.25667457, -0.00162912, 0.00099681, 7.25504545, 0.99501266, 0.99737407, 0.49237989],\
+-[	-6.25672809, -0.00162828, 0.00099631, 7.25509982, 0.99501526, 0.99737542, 0.49238176],\
+-[	-6.25678143, -0.00162744, 0.00099580, 7.25515399, 0.99501786, 0.99737676, 0.49238364],\
+-[	-6.25683457, -0.00162660, 0.00099530, 7.25520797, 0.99502045, 0.99737811, 0.49238550],\
+-[	-6.25688752, -0.00162576, 0.00099479, 7.25526176, 0.99502304, 0.99737945, 0.49238736],\
+-[	-6.25694028, -0.00162492, 0.00099429, 7.25531536, 0.99502563, 0.99738079, 0.49238921],\
+-[	-6.25699285, -0.00162408, 0.00099378, 7.25536877, 0.99502822, 0.99738213, 0.49239105],\
+-[	-6.25704524, -0.00162325, 0.00099328, 7.25542199, 0.99503080, 0.99738347, 0.49239289],\
+-[	-6.25709743, -0.00162241, 0.00099278, 7.25547502, 0.99503338, 0.99738481, 0.49239473],\
+-[	-6.25714944, -0.00162158, 0.00099228, 7.25552786, 0.99503596, 0.99738615, 0.49239656],\
+-[	-6.25720127, -0.00162074, 0.00099177, 7.25558052, 0.99503853, 0.99738748, 0.49239838],\
+-[	-6.25725290, -0.00161991, 0.00099127, 7.25563299, 0.99504111, 0.99738881, 0.49240020],\
+-[	-6.25730435, -0.00161908, 0.00099077, 7.25568527, 0.99504368, 0.99739015, 0.49240201],\
+-[	-6.25735562, -0.00161825, 0.00099027, 7.25573737, 0.99504625, 0.99739148, 0.49240381],\
+-[	-6.25740670, -0.00161742, 0.00098977, 7.25578929, 0.99504881, 0.99739281, 0.49240561],\
+-[	-6.25745761, -0.00161659, 0.00098927, 7.25584102, 0.99505137, 0.99739414, 0.49240741],\
+-[	-6.25750832, -0.00161576, 0.00098877, 7.25589256, 0.99505393, 0.99739547, 0.49240919],\
+-[	-6.25755886, -0.00161493, 0.00098828, 7.25594393, 0.99505649, 0.99739679, 0.49241098],\
+-[	-6.25760921, -0.00161411, 0.00098778, 7.25599511, 0.99505905, 0.99739812, 0.49241276],\
+-[	-6.25765939, -0.00161328, 0.00098728, 7.25604611, 0.99506160, 0.99739944, 0.49241453],\
+-[	-6.25770938, -0.00161245, 0.00098678, 7.25609693, 0.99506415, 0.99740076, 0.49241630],\
+-[	-6.25775920, -0.00161163, 0.00098629, 7.25614757, 0.99506670, 0.99740209, 0.49241806],\
+-[	-6.25780883, -0.00161080, 0.00098579, 7.25619803, 0.99506924, 0.99740341, 0.49241981],\
+-[	-6.25785829, -0.00160998, 0.00098529, 7.25624831, 0.99507179, 0.99740472, 0.49242156],\
+-[	-6.25790757, -0.00160916, 0.00098480, 7.25629841, 0.99507433, 0.99740604, 0.49242330],\
+-[	-6.25795667, -0.00160834, 0.00098430, 7.25634834, 0.99507686, 0.99740736, 0.49242504],\
+-[	-6.25800560, -0.00160752, 0.00098381, 7.25639808, 0.99507940, 0.99740867, 0.49242678],\
+-[	-6.25805435, -0.00160670, 0.00098332, 7.25644766, 0.99508193, 0.99740999, 0.49242849],\
+-[	-6.25810293, -0.00160588, 0.00098282, 7.25649705, 0.99508446, 0.99741130, 0.49243022],\
+-[	-6.25815133, -0.00160506, 0.00098233, 7.25654627, 0.99508699, 0.99741261, 0.49243193],\
+-[	-6.25819956, -0.00160424, 0.00098184, 7.25659532, 0.99508951, 0.99741392, 0.49243365],\
+-[	-6.25824762, -0.00160342, 0.00098134, 7.25664419, 0.99509203, 0.99741523, 0.49243535],\
+-[	-6.25829550, -0.00160261, 0.00098085, 7.25669289, 0.99509455, 0.99741654, 0.49243704],\
+-[	-6.25834321, -0.00160179, 0.00098036, 7.25674142, 0.99509707, 0.99741784, 0.49243875],\
+-[	-6.25839075, -0.00160098, 0.00097987, 7.25678978, 0.99509959, 0.99741915, 0.49244043],\
+-[	-6.25843812, -0.00160017, 0.00097938, 7.25683796, 0.99510210, 0.99742045, 0.49244213],\
+-[	-6.25848532, -0.00159935, 0.00097889, 7.25688597, 0.99510461, 0.99742176, 0.49244379],\
+-[	-6.25853235, -0.00159854, 0.00097840, 7.25693381, 0.99510712, 0.99742306, 0.49244547],\
+-[	-6.25857922, -0.00159773, 0.00097791, 7.25698149, 0.99510962, 0.99742436, 0.49244714],\
+-[	-6.25862591, -0.00159692, 0.00097742, 7.25702899, 0.99511212, 0.99742566, 0.49244880],\
+-[	-6.25867244, -0.00159611, 0.00097693, 7.25707633, 0.99511462, 0.99742696, 0.49245046],\
+-[	-6.25871879, -0.00159530, 0.00097645, 7.25712350, 0.99511712, 0.99742825, 0.49245210],\
+-[	-6.25876499, -0.00159449, 0.00097596, 7.25717050, 0.99511962, 0.99742955, 0.49245376],\
+-[	-6.25881101, -0.00159368, 0.00097547, 7.25721733, 0.99512211, 0.99743084, 0.49245539],\
+-[	-6.25885688, -0.00159288, 0.00097499, 7.25726400, 0.99512460, 0.99743214, 0.49245702],\
+-[	-6.25890257, -0.00159207, 0.00097450, 7.25731050, 0.99512709, 0.99743343, 0.49245866],\
+-[	-6.25894810, -0.00159127, 0.00097402, 7.25735684, 0.99512957, 0.99743472, 0.49246028],\
+-[	-6.25899347, -0.00159046, 0.00097353, 7.25740301, 0.99513205, 0.99743601, 0.49246190],\
+-[	-6.25903868, -0.00158966, 0.00097305, 7.25744902, 0.99513453, 0.99743730, 0.49246352],\
+-[	-6.25908372, -0.00158886, 0.00097256, 7.25749487, 0.99513701, 0.99743858, 0.49246513],\
+-[	-6.25912861, -0.00158805, 0.00097208, 7.25754055, 0.99513949, 0.99743987, 0.49246673],\
+-[	-6.25917333, -0.00158725, 0.00097159, 7.25758607, 0.99514196, 0.99744115, 0.49246833],\
+-[	-6.25921789, -0.00158645, 0.00097111, 7.25763144, 0.99514443, 0.99744244, 0.49246993],\
+-[	-6.25926229, -0.00158565, 0.00097063, 7.25767664, 0.99514690, 0.99744372, 0.49247152],\
+-[	-6.25930653, -0.00158485, 0.00097015, 7.25772168, 0.99514936, 0.99744500, 0.49247309],\
+-[	-6.25935061, -0.00158406, 0.00096966, 7.25776656, 0.99515183, 0.99744628, 0.49247468],\
+-[	-6.25939453, -0.00158326, 0.00096918, 7.25781128, 0.99515429, 0.99744756, 0.49247625],\
+-[	-6.25943830, -0.00158246, 0.00096870, 7.25785584, 0.99515675, 0.99744884, 0.49247782],\
+-[	-6.25948191, -0.00158167, 0.00096822, 7.25790024, 0.99515920, 0.99745011, 0.49247939],\
+-[	-6.25952536, -0.00158087, 0.00096774, 7.25794449, 0.99516165, 0.99745139, 0.49248095],\
+-[	-6.25956866, -0.00158008, 0.00096726, 7.25798858, 0.99516411, 0.99745266, 0.49248251],\
+-[	-6.25961180, -0.00157928, 0.00096678, 7.25803252, 0.99516655, 0.99745393, 0.49248405],\
+-[	-6.25965478, -0.00157849, 0.00096631, 7.25807629, 0.99516900, 0.99745521, 0.49248560],\
+-[	-6.25969761, -0.00157770, 0.00096583, 7.25811992, 0.99517144, 0.99745648, 0.49248715],\
+-[	-6.25974029, -0.00157691, 0.00096535, 7.25816339, 0.99517389, 0.99745774, 0.49248867],\
+-[	-6.25978282, -0.00157612, 0.00096487, 7.25820670, 0.99517633, 0.99745901, 0.49249021],\
+-[	-6.25982519, -0.00157533, 0.00096440, 7.25824986, 0.99517876, 0.99746028, 0.49249174],\
+-[	-6.25986741, -0.00157454, 0.00096392, 7.25829287, 0.99518120, 0.99746154, 0.49249325],\
+-[	-6.25990947, -0.00157375, 0.00096344, 7.25833572, 0.99518363, 0.99746281, 0.49249477],\
+-[	-6.25995139, -0.00157296, 0.00096297, 7.25837843, 0.99518606, 0.99746407, 0.49249628],\
+-[	-6.25999315, -0.00157217, 0.00096249, 7.25842098, 0.99518848, 0.99746533, 0.49249779],\
+-[	-6.26003477, -0.00157139, 0.00096202, 7.25846338, 0.99519091, 0.99746659, 0.49249929],\
+-[	-6.26007624, -0.00157060, 0.00096154, 7.25850563, 0.99519333, 0.99746785, 0.49250079],\
+-[	-6.26011755, -0.00156982, 0.00096107, 7.25854773, 0.99519575, 0.99746911, 0.49250228],\
+-[	-6.26015872, -0.00156903, 0.00096060, 7.25858969, 0.99519817, 0.99747037, 0.49250377],\
+-[	-6.26019974, -0.00156825, 0.00096012, 7.25863149, 0.99520058, 0.99747163, 0.49250524],\
+-[	-6.26024061, -0.00156747, 0.00095965, 7.25867315, 0.99520300, 0.99747288, 0.49250672],\
+-[	-6.26028134, -0.00156669, 0.00095918, 7.25871465, 0.99520541, 0.99747414, 0.49250819],\
+-[	-6.26032192, -0.00156591, 0.00095871, 7.25875601, 0.99520782, 0.99747539, 0.49250967],\
+-[	-6.26036235, -0.00156513, 0.00095823, 7.25879723, 0.99521022, 0.99747664, 0.49251114],\
+-[	-6.26040264, -0.00156435, 0.00095776, 7.25883830, 0.99521263, 0.99747789, 0.49251259],\
+-[	-6.26044279, -0.00156357, 0.00095729, 7.25887922, 0.99521503, 0.99747914, 0.49251404],\
+-[	-6.26048279, -0.00156279, 0.00095682, 7.25892000, 0.99521743, 0.99748039, 0.49251549],\
+-[	-6.26052264, -0.00156201, 0.00095635, 7.25896063, 0.99521982, 0.99748163, 0.49251694],\
+-[	-6.26056235, -0.00156124, 0.00095588, 7.25900112, 0.99522222, 0.99748288, 0.49251838],\
+-[	-6.26060192, -0.00156046, 0.00095542, 7.25904146, 0.99522461, 0.99748412, 0.49251982],\
+-[	-6.26064135, -0.00155969, 0.00095495, 7.25908167, 0.99522700, 0.99748537, 0.49252125],\
+-[	-6.26068064, -0.00155891, 0.00095448, 7.25912173, 0.99522939, 0.99748661, 0.49252269],\
+-[	-6.26071978, -0.00155814, 0.00095401, 7.25916164, 0.99523177, 0.99748785, 0.49252410],\
+-[	-6.26075879, -0.00155737, 0.00095354, 7.25920142, 0.99523415, 0.99748909, 0.49252552],\
+-[	-6.26079765, -0.00155659, 0.00095308, 7.25924106, 0.99523653, 0.99749033, 0.49252694],\
+-[	-6.26083637, -0.00155582, 0.00095261, 7.25928055, 0.99523891, 0.99749157, 0.49252834],\
+-[	-6.26087496, -0.00155505, 0.00095215, 7.25931991, 0.99524129, 0.99749280, 0.49252975],\
+-[	-6.26091341, -0.00155428, 0.00095168, 7.25935912, 0.99524366, 0.99749404, 0.49253116],\
+-[	-6.26095171, -0.00155351, 0.00095122, 7.25939820, 0.99524603, 0.99749527, 0.49253255],\
+-[	-6.26098988, -0.00155274, 0.00095075, 7.25943714, 0.99524840, 0.99749651, 0.49253394],\
+-[	-6.26102792, -0.00155198, 0.00095029, 7.25947594, 0.99525077, 0.99749774, 0.49253533],\
+-[	-6.26106581, -0.00155121, 0.00094982, 7.25951460, 0.99525313, 0.99749897, 0.49253672],\
+-[	-6.26110357, -0.00155044, 0.00094936, 7.25955313, 0.99525549, 0.99750020, 0.49253810],\
+-[	-6.26114120, -0.00154968, 0.00094890, 7.25959152, 0.99525785, 0.99750143, 0.49253947],\
+-[	-6.26117869, -0.00154891, 0.00094843, 7.25962977, 0.99526021, 0.99750265, 0.49254085],\
+-[	-6.26121604, -0.00154815, 0.00094797, 7.25966789, 0.99526256, 0.99750388, 0.49254220],\
+-[	-6.26125326, -0.00154739, 0.00094751, 7.25970587, 0.99526492, 0.99750510, 0.49254357],\
+-[	-6.26129035, -0.00154662, 0.00094705, 7.25974372, 0.99526727, 0.99750633, 0.49254493],\
+-[	-6.26132730, -0.00154586, 0.00094659, 7.25978144, 0.99526962, 0.99750755, 0.49254628],\
+-[	-6.26136412, -0.00154510, 0.00094613, 7.25981902, 0.99527196, 0.99750877, 0.49254763],\
+-[	-6.26140081, -0.00154434, 0.00094567, 7.25985647, 0.99527431, 0.99750999, 0.49254897],\
+-[	-6.26143736, -0.00154358, 0.00094521, 7.25989378, 0.99527665, 0.99751121, 0.49255032],\
+-[	-6.26147379, -0.00154282, 0.00094475, 7.25993097, 0.99527899, 0.99751243, 0.49255166],\
+-[	-6.26151008, -0.00154206, 0.00094429, 7.25996802, 0.99528132, 0.99751365, 0.49255299],\
+-[	-6.26154624, -0.00154131, 0.00094383, 7.26000494, 0.99528366, 0.99751486, 0.49255432],\
+-[	-6.26158228, -0.00154055, 0.00094337, 7.26004173, 0.99528599, 0.99751608, 0.49255564],\
+-[	-6.26161818, -0.00153979, 0.00094292, 7.26007839, 0.99528832, 0.99751729, 0.49255696],\
+-[	-6.26165395, -0.00153904, 0.00094246, 7.26011492, 0.99529065, 0.99751851, 0.49255828],\
+-[	-6.26168960, -0.00153828, 0.00094200, 7.26015132, 0.99529297, 0.99751972, 0.49255958],\
+-[	-6.26172512, -0.00153753, 0.00094155, 7.26018759, 0.99529530, 0.99752093, 0.49256090],\
+-[	-6.26176051, -0.00153677, 0.00094109, 7.26022373, 0.99529762, 0.99752214, 0.49256219],\
+-[	-6.26179577, -0.00153602, 0.00094063, 7.26025975, 0.99529994, 0.99752334, 0.49256349],\
+-[	-6.26183090, -0.00153527, 0.00094018, 7.26029563, 0.99530226, 0.99752455, 0.49256478],\
+-[	-6.26186591, -0.00153452, 0.00093972, 7.26033139, 0.99530457, 0.99752576, 0.49256609],\
+-[	-6.26190080, -0.00153377, 0.00093927, 7.26036703, 0.99530688, 0.99752696, 0.49256738],\
+-[	-6.26193555, -0.00153302, 0.00093882, 7.26040254, 0.99530919, 0.99752817, 0.49256866],\
+-[	-6.26197019, -0.00153227, 0.00093836, 7.26043792, 0.99531150, 0.99752937, 0.49256993],\
+-[	-6.26200470, -0.00153152, 0.00093791, 7.26047317, 0.99531381, 0.99753057, 0.49257121],\
+-[	-6.26203908, -0.00153077, 0.00093746, 7.26050831, 0.99531611, 0.99753177, 0.49257249],\
+-[	-6.26207334, -0.00153003, 0.00093700, 7.26054331, 0.99531841, 0.99753297, 0.49257375],\
+-[	-6.26210748, -0.00152928, 0.00093655, 7.26057820, 0.99532071, 0.99753417, 0.49257501],\
+-[	-6.26214149, -0.00152853, 0.00093610, 7.26061296, 0.99532301, 0.99753537, 0.49257629],\
+-[	-6.26217539, -0.00152779, 0.00093565, 7.26064760, 0.99532530, 0.99753656, 0.49257754],\
+-[	-6.26220916, -0.00152705, 0.00093520, 7.26068211, 0.99532759, 0.99753776, 0.49257879],\
+-[	-6.26224280, -0.00152630, 0.00093475, 7.26071650, 0.99532988, 0.99753895, 0.49258003],\
+-[	-6.26227633, -0.00152556, 0.00093430, 7.26075077, 0.99533217, 0.99754014, 0.49258128],\
+-[	-6.26230974, -0.00152482, 0.00093385, 7.26078492, 0.99533446, 0.99754133, 0.49258252],\
+-[	-6.26234303, -0.00152408, 0.00093340, 7.26081895, 0.99533674, 0.99754253, 0.49258376],\
+-[	-6.26237620, -0.00152333, 0.00093295, 7.26085286, 0.99533902, 0.99754372, 0.49258498],\
+-[	-6.26240924, -0.00152259, 0.00093250, 7.26088665, 0.99534130, 0.99754490, 0.49258622],\
+-[	-6.26244217, -0.00152186, 0.00093205, 7.26092032, 0.99534358, 0.99754609, 0.49258745],\
+-[	-6.26247499, -0.00152112, 0.00093161, 7.26095387, 0.99534586, 0.99754728, 0.49258868],\
+-[	-6.26250768, -0.00152038, 0.00093116, 7.26098730, 0.99534813, 0.99754846, 0.49258989],\
+-[	-6.26254025, -0.00151964, 0.00093071, 7.26102061, 0.99535040, 0.99754965, 0.49259110],\
+-[	-6.26257271, -0.00151890, 0.00093027, 7.26105381, 0.99535267, 0.99755083, 0.49259230],\
+-[	-6.26260505, -0.00151817, 0.00092982, 7.26108689, 0.99535493, 0.99755201, 0.49259351],\
+-[	-6.26263728, -0.00151743, 0.00092937, 7.26111985, 0.99535720, 0.99755319, 0.49259471],\
+-[	-6.26266939, -0.00151670, 0.00092893, 7.26115269, 0.99535946, 0.99755437, 0.49259592],\
+-[	-6.26270138, -0.00151596, 0.00092848, 7.26118542, 0.99536172, 0.99755555, 0.49259711],\
+-[	-6.26273326, -0.00151523, 0.00092804, 7.26121803, 0.99536398, 0.99755673, 0.49259829],\
+-[	-6.26276503, -0.00151450, 0.00092760, 7.26125053, 0.99536623, 0.99755790, 0.49259950],\
+-[	-6.26279668, -0.00151377, 0.00092715, 7.26128291, 0.99536849, 0.99755908, 0.49260067],\
+-[	-6.26282822, -0.00151304, 0.00092671, 7.26131518, 0.99537074, 0.99756025, 0.49260186],\
+-[	-6.26285964, -0.00151231, 0.00092627, 7.26134733, 0.99537299, 0.99756143, 0.49260303],\
+-[	-6.26289095, -0.00151158, 0.00092582, 7.26137937, 0.99537524, 0.99756260, 0.49260421],\
+-[	-6.26292215, -0.00151085, 0.00092538, 7.26141130, 0.99537748, 0.99756377, 0.49260538],\
+-[	-6.26295323, -0.00151012, 0.00092494, 7.26144311, 0.99537972, 0.99756494, 0.49260653],\
+-[	-6.26298421, -0.00150939, 0.00092450, 7.26147481, 0.99538196, 0.99756611, 0.49260770],\
+-[	-6.26301507, -0.00150866, 0.00092406, 7.26150640, 0.99538420, 0.99756728, 0.49260887],\
+-[	-6.26304582, -0.00150794, 0.00092362, 7.26153788, 0.99538644, 0.99756844, 0.49261002],\
+-[	-6.26307646, -0.00150721, 0.00092318, 7.26156925, 0.99538867, 0.99756961, 0.49261117],\
+-[	-6.26310699, -0.00150649, 0.00092274, 7.26160050, 0.99539091, 0.99757078, 0.49261231],\
+-[	-6.26313741, -0.00150576, 0.00092230, 7.26163165, 0.99539314, 0.99757194, 0.49261347],\
+-[	-6.26316772, -0.00150504, 0.00092186, 7.26166269, 0.99539536, 0.99757310, 0.49261461],\
+-[	-6.26319793, -0.00150431, 0.00092142, 7.26169361, 0.99539759, 0.99757426, 0.49261575],\
+-[	-6.26322802, -0.00150359, 0.00092098, 7.26172443, 0.99539981, 0.99757542, 0.49261688],\
+-[	-6.26325801, -0.00150287, 0.00092055, 7.26175513, 0.99540204, 0.99757658, 0.49261801],\
+-[	-6.26328788, -0.00150215, 0.00092011, 7.26178573, 0.99540426, 0.99757774, 0.49261913],\
+-[	-6.26331765, -0.00150143, 0.00091967, 7.26181623, 0.99540647, 0.99757890, 0.49262025],\
+-[	-6.26334732, -0.00150071, 0.00091924, 7.26184661, 0.99540869, 0.99758006, 0.49262138],\
+-[	-6.26337687, -0.00149999, 0.00091880, 7.26187688, 0.99541090, 0.99758121, 0.49262250],\
+-[	-6.26340633, -0.00149927, 0.00091836, 7.26190705, 0.99541311, 0.99758236, 0.49262361],\
+-[	-6.26343567, -0.00149855, 0.00091793, 7.26193712, 0.99541532, 0.99758352, 0.49262472],\
+-[	-6.26346491, -0.00149784, 0.00091749, 7.26196707, 0.99541753, 0.99758467, 0.49262583],\
+-[	-6.26349404, -0.00149712, 0.00091706, 7.26199692, 0.99541974, 0.99758582, 0.49262693],\
+-[	-6.26352307, -0.00149640, 0.00091662, 7.26202667, 0.99542194, 0.99758697, 0.49262803],\
+-[	-6.26355200, -0.00149569, 0.00091619, 7.26205631, 0.99542414, 0.99758812, 0.49262913],\
+-[	-6.26358082, -0.00149498, 0.00091576, 7.26208585, 0.99542634, 0.99758927, 0.49263021],\
+-[	-6.26360954, -0.00149426, 0.00091532, 7.26211528, 0.99542854, 0.99759042, 0.49263131],\
+-[	-6.26363815, -0.00149355, 0.00091489, 7.26214460, 0.99543073, 0.99759156, 0.49263239],\
+-[	-6.26366666, -0.00149284, 0.00091446, 7.26217383, 0.99543292, 0.99759271, 0.49263348],\
+-[	-6.26369507, -0.00149212, 0.00091403, 7.26220295, 0.99543511, 0.99759385, 0.49263456],\
+-[	-6.26372338, -0.00149141, 0.00091359, 7.26223197, 0.99543730, 0.99759499, 0.49263563],\
+-[	-6.26375159, -0.00149070, 0.00091316, 7.26226088, 0.99543949, 0.99759613, 0.49263671],\
+-[	-6.26377969, -0.00148999, 0.00091273, 7.26228970, 0.99544167, 0.99759728, 0.49263778],\
+-[	-6.26380769, -0.00148928, 0.00091230, 7.26231841, 0.99544386, 0.99759841, 0.49263884],\
+-[	-6.26383560, -0.00148857, 0.00091187, 7.26234702, 0.99544604, 0.99759955, 0.49263991],\
+-[	-6.26386340, -0.00148787, 0.00091144, 7.26237553, 0.99544821, 0.99760069, 0.49264097],\
+-[	-6.26389110, -0.00148716, 0.00091101, 7.26240394, 0.99545039, 0.99760183, 0.49264203],\
+-[	-6.26391870, -0.00148645, 0.00091058, 7.26243225, 0.99545257, 0.99760296, 0.49264308],\
+-[	-6.26394621, -0.00148575, 0.00091016, 7.26246046, 0.99545474, 0.99760410, 0.49264413],\
+-[	-6.26397361, -0.00148504, 0.00090973, 7.26248857, 0.99545691, 0.99760523, 0.49264518],\
+-[	-6.26400092, -0.00148434, 0.00090930, 7.26251658, 0.99545908, 0.99760636, 0.49264622],\
+-[	-6.26402813, -0.00148363, 0.00090887, 7.26254449, 0.99546124, 0.99760750, 0.49264726],\
+-[	-6.26405524, -0.00148293, 0.00090844, 7.26257231, 0.99546341, 0.99760863, 0.49264830],\
+-[	-6.26408225, -0.00148223, 0.00090802, 7.26260002, 0.99546557, 0.99760976, 0.49264934],\
+-[	-6.26410916, -0.00148152, 0.00090759, 7.26262764, 0.99546773, 0.99761088, 0.49265036],\
+-[	-6.26413598, -0.00148082, 0.00090717, 7.26265516, 0.99546989, 0.99761201, 0.49265140],\
+-[	-6.26416271, -0.00148012, 0.00090674, 7.26268258, 0.99547204, 0.99761314, 0.49265242],\
+-[	-6.26418933, -0.00147942, 0.00090631, 7.26270991, 0.99547420, 0.99761426, 0.49265345],\
+-[	-6.26421586, -0.00147872, 0.00090589, 7.26273714, 0.99547635, 0.99761539, 0.49265447],\
+-[	-6.26424230, -0.00147802, 0.00090547, 7.26276428, 0.99547850, 0.99761651, 0.49265547],\
+-[	-6.26426864, -0.00147733, 0.00090504, 7.26279132, 0.99548065, 0.99761763, 0.49265649],\
+-[	-6.26429489, -0.00147663, 0.00090462, 7.26281826, 0.99548279, 0.99761875, 0.49265751],\
+-[	-6.26432104, -0.00147593, 0.00090419, 7.26284511, 0.99548494, 0.99761987, 0.49265851],\
+-[	-6.26434710, -0.00147523, 0.00090377, 7.26287186, 0.99548708, 0.99762099, 0.49265951],\
+-[	-6.26437306, -0.00147454, 0.00090335, 7.26289852, 0.99548922, 0.99762211, 0.49266051],\
+-[	-6.26439893, -0.00147384, 0.00090293, 7.26292509, 0.99549136, 0.99762323, 0.49266151],\
+-[	-6.26442471, -0.00147315, 0.00090250, 7.26295156, 0.99549349, 0.99762435, 0.49266249],\
+-[	-6.26445040, -0.00147246, 0.00090208, 7.26297794, 0.99549563, 0.99762546, 0.49266350],\
+-[	-6.26447599, -0.00147176, 0.00090166, 7.26300423, 0.99549776, 0.99762658, 0.49266448],\
+-[	-6.26450150, -0.00147107, 0.00090124, 7.26303043, 0.99549989, 0.99762769, 0.49266547],\
+-[	-6.26452691, -0.00147038, 0.00090082, 7.26305653, 0.99550202, 0.99762880, 0.49266646],\
+-[	-6.26455222, -0.00146969, 0.00090040, 7.26308254, 0.99550415, 0.99762991, 0.49266744],\
+-[	-6.26457745, -0.00146900, 0.00089998, 7.26310846, 0.99550627, 0.99763102, 0.49266841],\
+-[	-6.26460259, -0.00146831, 0.00089956, 7.26313428, 0.99550839, 0.99763213, 0.49266939],\
+-[	-6.26462764, -0.00146762, 0.00089914, 7.26316002, 0.99551051, 0.99763324, 0.49267035],\
+-[	-6.26465259, -0.00146693, 0.00089872, 7.26318567, 0.99551263, 0.99763435, 0.49267132],\
+-[	-6.26467746, -0.00146624, 0.00089831, 7.26321122, 0.99551475, 0.99763545, 0.49267230],\
+-[	-6.26470224, -0.00146555, 0.00089789, 7.26323669, 0.99551686, 0.99763656, 0.49267325],\
+-[	-6.26472693, -0.00146486, 0.00089747, 7.26326207, 0.99551898, 0.99763766, 0.49267421],\
+-[	-6.26475153, -0.00146418, 0.00089705, 7.26328735, 0.99552109, 0.99763877, 0.49267517],\
+-[	-6.26477604, -0.00146349, 0.00089664, 7.26331255, 0.99552319, 0.99763987, 0.49267611],\
+-[	-6.26480047, -0.00146281, 0.00089622, 7.26333766, 0.99552530, 0.99764097, 0.49267707],\
+-[	-6.26482481, -0.00146212, 0.00089580, 7.26336268, 0.99552741, 0.99764207, 0.49267802],\
+-[	-6.26484906, -0.00146144, 0.00089539, 7.26338762, 0.99552951, 0.99764317, 0.49267897],\
+-[	-6.26487322, -0.00146076, 0.00089497, 7.26341246, 0.99553161, 0.99764427, 0.49267991],\
+-[	-6.26489730, -0.00146007, 0.00089456, 7.26343722, 0.99553371, 0.99764537, 0.49268085],\
+-[	-6.26492129, -0.00145939, 0.00089414, 7.26346189, 0.99553581, 0.99764646, 0.49268179],\
+-[	-6.26494519, -0.00145871, 0.00089373, 7.26348648, 0.99553790, 0.99764756, 0.49268272],\
+-[	-6.26496901, -0.00145803, 0.00089332, 7.26351098, 0.99553999, 0.99764865, 0.49268365],\
+-[	-6.26499274, -0.00145735, 0.00089290, 7.26353539, 0.99554209, 0.99764975, 0.49268458],\
+-[	-6.26501639, -0.00145667, 0.00089249, 7.26355972, 0.99554417, 0.99765084, 0.49268549],\
+-[	-6.26503995, -0.00145599, 0.00089208, 7.26358396, 0.99554626, 0.99765193, 0.49268643],\
+-[	-6.26506343, -0.00145531, 0.00089166, 7.26360811, 0.99554835, 0.99765302, 0.49268735],\
+-[	-6.26508682, -0.00145463, 0.00089125, 7.26363219, 0.99555043, 0.99765411, 0.49268826],\
+-[	-6.26511013, -0.00145396, 0.00089084, 7.26365617, 0.99555251, 0.99765520, 0.49268918],\
+-[	-6.26513336, -0.00145328, 0.00089043, 7.26368008, 0.99555459, 0.99765629, 0.49269008],\
+-[	-6.26515650, -0.00145261, 0.00089002, 7.26370389, 0.99555667, 0.99765738, 0.49269099],\
+-[	-6.26517956, -0.00145193, 0.00088961, 7.26372763, 0.99555875, 0.99765846, 0.49269190],\
+-[	-6.26520254, -0.00145126, 0.00088920, 7.26375128, 0.99556082, 0.99765955, 0.49269281],\
+-[	-6.26522543, -0.00145058, 0.00088879, 7.26377485, 0.99556289, 0.99766063, 0.49269370],\
+-[	-6.26524824, -0.00144991, 0.00088838, 7.26379834, 0.99556496, 0.99766171, 0.49269460],\
+-[	-6.26527098, -0.00144924, 0.00088797, 7.26382174, 0.99556703, 0.99766280, 0.49269550],\
+-[	-6.26529363, -0.00144856, 0.00088756, 7.26384506, 0.99556910, 0.99766388, 0.49269640],\
+-[	-6.26531619, -0.00144789, 0.00088715, 7.26386830, 0.99557116, 0.99766496, 0.49269728],\
+-[	-6.26533868, -0.00144722, 0.00088674, 7.26389146, 0.99557323, 0.99766604, 0.49269817],\
+-[	-6.26536109, -0.00144655, 0.00088634, 7.26391454, 0.99557529, 0.99766711, 0.49269905],\
+-[	-6.26538341, -0.00144588, 0.00088593, 7.26393753, 0.99557735, 0.99766819, 0.49269994],\
+-[	-6.26540566, -0.00144521, 0.00088552, 7.26396045, 0.99557940, 0.99766927, 0.49270083],\
+-[	-6.26542783, -0.00144454, 0.00088511, 7.26398329, 0.99558146, 0.99767034, 0.49270168],\
+-[	-6.26544992, -0.00144387, 0.00088471, 7.26400604, 0.99558351, 0.99767142, 0.49270256],\
+-[	-6.26547192, -0.00144321, 0.00088430, 7.26402872, 0.99558556, 0.99767249, 0.49270344],\
+-[	-6.26549385, -0.00144254, 0.00088390, 7.26405131, 0.99558761, 0.99767356, 0.49270431],\
+-[	-6.26551570, -0.00144187, 0.00088349, 7.26407383, 0.99558966, 0.99767463, 0.49270518],\
+-[	-6.26553748, -0.00144121, 0.00088309, 7.26409627, 0.99559171, 0.99767571, 0.49270604],\
+-[	-6.26555917, -0.00144054, 0.00088268, 7.26411863, 0.99559375, 0.99767678, 0.49270690],\
+-[	-6.26558079, -0.00143988, 0.00088228, 7.26414091, 0.99559579, 0.99767784, 0.49270776],\
+-[	-6.26560233, -0.00143922, 0.00088187, 7.26416311, 0.99559783, 0.99767891, 0.49270862],\
+-[	-6.26562379, -0.00143855, 0.00088147, 7.26418524, 0.99559987, 0.99767998, 0.49270947],\
+-[	-6.26564518, -0.00143789, 0.00088107, 7.26420729, 0.99560191, 0.99768104, 0.49271032],\
+-[	-6.26566648, -0.00143723, 0.00088066, 7.26422926, 0.99560394, 0.99768211, 0.49271118],\
+-[	-6.26568772, -0.00143657, 0.00088026, 7.26425115, 0.99560598, 0.99768317, 0.49271202],\
+-[	-6.26570887, -0.00143590, 0.00087986, 7.26427297, 0.99560801, 0.99768424, 0.49271286],\
+-[	-6.26572995, -0.00143524, 0.00087946, 7.26429471, 0.99561004, 0.99768530, 0.49271371],\
+-[	-6.26575096, -0.00143458, 0.00087906, 7.26431637, 0.99561206, 0.99768636, 0.49271455],\
+-[	-6.26577189, -0.00143393, 0.00087865, 7.26433796, 0.99561409, 0.99768742, 0.49271537],\
+-[	-6.26579274, -0.00143327, 0.00087825, 7.26435948, 0.99561611, 0.99768848, 0.49271621],\
+-[	-6.26581352, -0.00143261, 0.00087785, 7.26438092, 0.99561813, 0.99768954, 0.49271704],\
+-[	-6.26583423, -0.00143195, 0.00087745, 7.26440228, 0.99562015, 0.99769059, 0.49271787],\
+-[	-6.26585486, -0.00143130, 0.00087705, 7.26442357, 0.99562217, 0.99769165, 0.49271871],\
+-[	-6.26587542, -0.00143064, 0.00087665, 7.26444478, 0.99562419, 0.99769271, 0.49271954],\
+-[	-6.26589591, -0.00142998, 0.00087626, 7.26446592, 0.99562620, 0.99769376, 0.49272035],\
+-[	-6.26591632, -0.00142933, 0.00087586, 7.26448699, 0.99562822, 0.99769482, 0.49272117],\
+-[	-6.26593666, -0.00142867, 0.00087546, 7.26450798, 0.99563023, 0.99769587, 0.49272198],\
+-[	-6.26595692, -0.00142802, 0.00087506, 7.26452890, 0.99563224, 0.99769692, 0.49272279],\
+-[	-6.26597711, -0.00142737, 0.00087466, 7.26454975, 0.99563424, 0.99769797, 0.49272362],\
+-[	-6.26599724, -0.00142671, 0.00087426, 7.26457052, 0.99563625, 0.99769902, 0.49272441],\
+-[	-6.26601728, -0.00142606, 0.00087387, 7.26459122, 0.99563825, 0.99770007, 0.49272522],\
+-[	-6.26603726, -0.00142541, 0.00087347, 7.26461185, 0.99564025, 0.99770112, 0.49272604],\
+-[	-6.26605717, -0.00142476, 0.00087307, 7.26463241, 0.99564225, 0.99770217, 0.49272683],\
+-[	-6.26607700, -0.00142411, 0.00087268, 7.26465289, 0.99564425, 0.99770321, 0.49272764],\
+-[	-6.26609676, -0.00142346, 0.00087228, 7.26467331, 0.99564625, 0.99770426, 0.49272843],\
+-[	-6.26611646, -0.00142281, 0.00087189, 7.26469365, 0.99564824, 0.99770530, 0.49272921],\
+-[	-6.26613608, -0.00142216, 0.00087149, 7.26471392, 0.99565024, 0.99770635, 0.49273003],\
+-[	-6.26615563, -0.00142151, 0.00087110, 7.26473412, 0.99565223, 0.99770739, 0.49273081],\
+-[	-6.26617512, -0.00142087, 0.00087070, 7.26475425, 0.99565422, 0.99770843, 0.49273160],\
+-[	-6.26619453, -0.00142022, 0.00087031, 7.26477431, 0.99565620, 0.99770947, 0.49273238],\
+-[	-6.26621387, -0.00141957, 0.00086992, 7.26479430, 0.99565819, 0.99771051, 0.49273317],\
+-[	-6.26623315, -0.00141893, 0.00086952, 7.26481422, 0.99566017, 0.99771155, 0.49273396],\
+-[	-6.26625235, -0.00141828, 0.00086913, 7.26483407, 0.99566216, 0.99771259, 0.49273473],\
+-[	-6.26627149, -0.00141764, 0.00086874, 7.26485385, 0.99566414, 0.99771362, 0.49273551],\
+-[	-6.26629056, -0.00141699, 0.00086835, 7.26487356, 0.99566612, 0.99771466, 0.49273628],\
+-[	-6.26630956, -0.00141635, 0.00086795, 7.26489321, 0.99566809, 0.99771570, 0.49273706],\
+-[	-6.26632849, -0.00141571, 0.00086756, 7.26491278, 0.99567007, 0.99771673, 0.49273783],\
+-[	-6.26634735, -0.00141506, 0.00086717, 7.26493229, 0.99567204, 0.99771776, 0.49273859],\
+-[	-6.26636615, -0.00141442, 0.00086678, 7.26495173, 0.99567401, 0.99771880, 0.49273935],\
+-[	-6.26638488, -0.00141378, 0.00086639, 7.26497110, 0.99567598, 0.99771983, 0.49274013],\
+-[	-6.26640355, -0.00141314, 0.00086600, 7.26499041, 0.99567795, 0.99772086, 0.49274089],\
+-[	-6.26642214, -0.00141250, 0.00086561, 7.26500964, 0.99567992, 0.99772189, 0.49274164],\
+-[	-6.26644067, -0.00141186, 0.00086522, 7.26502881, 0.99568188, 0.99772292, 0.49274241],\
+-[	-6.26645914, -0.00141122, 0.00086483, 7.26504792, 0.99568384, 0.99772395, 0.49274316],\
+-[	-6.26647754, -0.00141058, 0.00086444, 7.26506695, 0.99568580, 0.99772497, 0.49274392],\
+-[	-6.26649587, -0.00140995, 0.00086405, 7.26508592, 0.99568776, 0.99772600, 0.49274466],\
+-[	-6.26651414, -0.00140931, 0.00086366, 7.26510483, 0.99568972, 0.99772703, 0.49274542],\
+-[	-6.26653234, -0.00140867, 0.00086328, 7.26512367, 0.99569168, 0.99772805, 0.49274618],\
+-[	-6.26655048, -0.00140804, 0.00086289, 7.26514244, 0.99569363, 0.99772908, 0.49274690],\
+-[	-6.26656855, -0.00140740, 0.00086250, 7.26516115, 0.99569558, 0.99773010, 0.49274765],\
+-[	-6.26658656, -0.00140677, 0.00086211, 7.26517979, 0.99569753, 0.99773112, 0.49274839],\
+-[	-6.26660450, -0.00140613, 0.00086173, 7.26519837, 0.99569948, 0.99773214, 0.49274912],\
+-[	-6.26662238, -0.00140550, 0.00086134, 7.26521688, 0.99570143, 0.99773316, 0.49274986],\
+-[	-6.26664020, -0.00140486, 0.00086096, 7.26523533, 0.99570337, 0.99773418, 0.49275059],\
+-[	-6.26665795, -0.00140423, 0.00086057, 7.26525372, 0.99570532, 0.99773520, 0.49275132],\
+-[	-6.26667564, -0.00140360, 0.00086018, 7.26527204, 0.99570726, 0.99773622, 0.49275206],\
+-[	-6.26669326, -0.00140297, 0.00085980, 7.26529030, 0.99570920, 0.99773723, 0.49275276],\
+-[	-6.26671083, -0.00140234, 0.00085942, 7.26530849, 0.99571114, 0.99773825, 0.49275350],\
+-[	-6.26672833, -0.00140171, 0.00085903, 7.26532662, 0.99571307, 0.99773926, 0.49275423],\
+-[	-6.26674577, -0.00140108, 0.00085865, 7.26534469, 0.99571501, 0.99774028, 0.49275495],\
+-[	-6.26676314, -0.00140045, 0.00085826, 7.26536270, 0.99571694, 0.99774129, 0.49275567],\
+-[	-6.26678046, -0.00139982, 0.00085788, 7.26538064, 0.99571887, 0.99774230, 0.49275639],\
+-[	-6.26679771, -0.00139919, 0.00085750, 7.26539852, 0.99572080, 0.99774331, 0.49275711],\
+-[	-6.26681490, -0.00139856, 0.00085711, 7.26541634, 0.99572273, 0.99774433, 0.49275782],\
+-[	-6.26683203, -0.00139793, 0.00085673, 7.26543410, 0.99572466, 0.99774533, 0.49275852],\
+-[	-6.26684910, -0.00139731, 0.00085635, 7.26545179, 0.99572658, 0.99774634, 0.49275924],\
+-[	-6.26686611, -0.00139668, 0.00085597, 7.26546943, 0.99572851, 0.99774735, 0.49275995],\
+-[	-6.26688306, -0.00139605, 0.00085559, 7.26548700, 0.99573043, 0.99774836, 0.49276065],\
+-[	-6.26689994, -0.00139543, 0.00085521, 7.26550451, 0.99573235, 0.99774936, 0.49276134],\
+-[	-6.26691677, -0.00139481, 0.00085482, 7.26552196, 0.99573426, 0.99775037, 0.49276204],\
+-[	-6.26693354, -0.00139418, 0.00085444, 7.26553936, 0.99573618, 0.99775137, 0.49276274],\
+-[	-6.26695024, -0.00139356, 0.00085406, 7.26555669, 0.99573809, 0.99775238, 0.49276344],\
+-[	-6.26696689, -0.00139293, 0.00085368, 7.26557396, 0.99574001, 0.99775338, 0.49276413],\
+-[	-6.26698348, -0.00139231, 0.00085331, 7.26559117, 0.99574192, 0.99775438, 0.49276484],\
+-[	-6.26700001, -0.00139169, 0.00085293, 7.26560832, 0.99574383, 0.99775538, 0.49276553],\
+-[	-6.26701648, -0.00139107, 0.00085255, 7.26562541, 0.99574574, 0.99775638, 0.49276621],\
+-[	-6.26703289, -0.00139045, 0.00085217, 7.26564245, 0.99574764, 0.99775738, 0.49276691],\
+-[	-6.26704925, -0.00138983, 0.00085179, 7.26565942, 0.99574955, 0.99775838, 0.49276759],\
+-[	-6.26706554, -0.00138921, 0.00085141, 7.26567633, 0.99575145, 0.99775938, 0.49276826],\
+-[	-6.26708178, -0.00138859, 0.00085104, 7.26569319, 0.99575335, 0.99776038, 0.49276895],\
+-[	-6.26709796, -0.00138797, 0.00085066, 7.26570999, 0.99575525, 0.99776137, 0.49276963],\
+-[	-6.26711408, -0.00138735, 0.00085028, 7.26572673, 0.99575715, 0.99776237, 0.49277030],\
+-[	-6.26713015, -0.00138674, 0.00084990, 7.26574341, 0.99575904, 0.99776336, 0.49277097],\
+-[	-6.26714616, -0.00138612, 0.00084953, 7.26576004, 0.99576094, 0.99776435, 0.49277165],\
+-[	-6.26716211, -0.00138550, 0.00084915, 7.26577661, 0.99576283, 0.99776535, 0.49277232],\
+-[	-6.26717800, -0.00138489, 0.00084878, 7.26579312, 0.99576472, 0.99776634, 0.49277298],\
+-[	-6.26719384, -0.00138427, 0.00084840, 7.26580957, 0.99576661, 0.99776733, 0.49277366],\
+-[	-6.26720962, -0.00138366, 0.00084803, 7.26582597, 0.99576850, 0.99776832, 0.49277432],\
+-[	-6.26722535, -0.00138304, 0.00084765, 7.26584231, 0.99577038, 0.99776931, 0.49277499],\
+-[	-6.26724102, -0.00138243, 0.00084728, 7.26585859, 0.99577227, 0.99777029, 0.49277565],\
+-[	-6.26725663, -0.00138181, 0.00084690, 7.26587482, 0.99577415, 0.99777128, 0.49277630],\
+-[	-6.26727219, -0.00138120, 0.00084653, 7.26589099, 0.99577603, 0.99777227, 0.49277698],\
+-[	-6.26728769, -0.00138059, 0.00084616, 7.26590710, 0.99577791, 0.99777325, 0.49277763],\
+-[	-6.26730314, -0.00137998, 0.00084578, 7.26592316, 0.99577979, 0.99777424, 0.49277828],\
+-[	-6.26731854, -0.00137937, 0.00084541, 7.26593917, 0.99578166, 0.99777522, 0.49277893],\
+-[	-6.26733388, -0.00137876, 0.00084504, 7.26595512, 0.99578354, 0.99777621, 0.49277959],\
+-[	-6.26734916, -0.00137815, 0.00084467, 7.26597101, 0.99578541, 0.99777719, 0.49278024],\
+-[	-6.26736439, -0.00137754, 0.00084429, 7.26598685, 0.99578728, 0.99777817, 0.49278088],\
+-[	-6.26737957, -0.00137693, 0.00084392, 7.26600264, 0.99578915, 0.99777915, 0.49278153],\
+-[	-6.26739469, -0.00137632, 0.00084355, 7.26601837, 0.99579102, 0.99778013, 0.49278219],\
+-[	-6.26740976, -0.00137571, 0.00084318, 7.26603405, 0.99579289, 0.99778111, 0.49278281],\
+-[	-6.26742477, -0.00137510, 0.00084281, 7.26604967, 0.99579475, 0.99778209, 0.49278347],\
+-[	-6.26743974, -0.00137450, 0.00084244, 7.26606524, 0.99579661, 0.99778306, 0.49278410],\
+-[	-6.26745464, -0.00137389, 0.00084207, 7.26608075, 0.99579847, 0.99778404, 0.49278472],\
+-[	-6.26746950, -0.00137328, 0.00084170, 7.26609622, 0.99580033, 0.99778502, 0.49278536],\
+-[	-6.26748430, -0.00137268, 0.00084133, 7.26611162, 0.99580219, 0.99778599, 0.49278600],\
+-[	-6.26749906, -0.00137207, 0.00084096, 7.26612698, 0.99580405, 0.99778696, 0.49278663],\
+-[	-6.26751375, -0.00137147, 0.00084059, 7.26614228, 0.99580590, 0.99778794, 0.49278724],\
+-[	-6.26752840, -0.00137087, 0.00084022, 7.26615753, 0.99580776, 0.99778891, 0.49278789],\
+-[	-6.26754300, -0.00137026, 0.00083986, 7.26617273, 0.99580961, 0.99778988, 0.49278852],\
+-[	-6.26755754, -0.00136966, 0.00083949, 7.26618788, 0.99581146, 0.99779085, 0.49278914],\
+-[	-6.26757203, -0.00136906, 0.00083912, 7.26620297, 0.99581331, 0.99779182, 0.49278975],\
+-[	-6.26758647, -0.00136846, 0.00083875, 7.26621801, 0.99581515, 0.99779279, 0.49279037],\
+-[	-6.26760086, -0.00136786, 0.00083839, 7.26623300, 0.99581700, 0.99779376, 0.49279099],\
+-[	-6.26761520, -0.00136725, 0.00083802, 7.26624794, 0.99581884, 0.99779472, 0.49279161],\
+-[	-6.26762949, -0.00136665, 0.00083765, 7.26626283, 0.99582068, 0.99779569, 0.49279223],\
+-[	-6.26764372, -0.00136605, 0.00083729, 7.26627767, 0.99582252, 0.99779666, 0.49279284],\
+-[	-6.26765791, -0.00136546, 0.00083692, 7.26629245, 0.99582436, 0.99779762, 0.49279345],\
+-[	-6.26767205, -0.00136486, 0.00083656, 7.26630719, 0.99582620, 0.99779859, 0.49279407],\
+-[	-6.26768613, -0.00136426, 0.00083619, 7.26632187, 0.99582804, 0.99779955, 0.49279468],\
+-[	-6.26770017, -0.00136366, 0.00083583, 7.26633651, 0.99582987, 0.99780051, 0.49279528],\
+-[	-6.26771416, -0.00136306, 0.00083546, 7.26635109, 0.99583170, 0.99780147, 0.49279588],\
+-[	-6.26772809, -0.00136247, 0.00083510, 7.26636562, 0.99583353, 0.99780243, 0.49279649],\
+-[	-6.26774198, -0.00136187, 0.00083474, 7.26638011, 0.99583536, 0.99780339, 0.49279710],\
+-[	-6.26775582, -0.00136128, 0.00083437, 7.26639454, 0.99583719, 0.99780435, 0.49279770],\
+-[	-6.26776961, -0.00136068, 0.00083401, 7.26640893, 0.99583902, 0.99780531, 0.49279829],\
+-[	-6.26778335, -0.00136009, 0.00083365, 7.26642326, 0.99584084, 0.99780627, 0.49279888],\
+-[	-6.26779704, -0.00135949, 0.00083328, 7.26643755, 0.99584266, 0.99780722, 0.49279946],\
+-[	-6.26781069, -0.00135890, 0.00083292, 7.26645179, 0.99584449, 0.99780818, 0.49280008],\
+-[	-6.26782428, -0.00135831, 0.00083256, 7.26646598, 0.99584631, 0.99780913, 0.49280067],\
+-[	-6.26783783, -0.00135771, 0.00083220, 7.26648012, 0.99584812, 0.99781009, 0.49280125],\
+-[	-6.26785133, -0.00135712, 0.00083184, 7.26649421, 0.99584994, 0.99781104, 0.49280185],\
+-[	-6.26786479, -0.00135653, 0.00083148, 7.26650826, 0.99585175, 0.99781199, 0.49280244],\
+-[	-6.26787819, -0.00135594, 0.00083111, 7.26652225, 0.99585357, 0.99781295, 0.49280301],\
+-[	-6.26789155, -0.00135535, 0.00083075, 7.26653620, 0.99585538, 0.99781390, 0.49280360],\
+-[	-6.26790486, -0.00135476, 0.00083039, 7.26655010, 0.99585719, 0.99781485, 0.49280419],\
+-[	-6.26791812, -0.00135417, 0.00083003, 7.26656395, 0.99585900, 0.99781580, 0.49280476],\
+-[	-6.26793134, -0.00135358, 0.00082967, 7.26657776, 0.99586081, 0.99781675, 0.49280534],\
+-[	-6.26794451, -0.00135299, 0.00082931, 7.26659152, 0.99586261, 0.99781769, 0.49280594],\
+-[	-6.26795764, -0.00135240, 0.00082896, 7.26660523, 0.99586442, 0.99781864, 0.49280650],\
+-[	-6.26797071, -0.00135182, 0.00082860, 7.26661890, 0.99586622, 0.99781959, 0.49280708],\
+-[	-6.26798374, -0.00135123, 0.00082824, 7.26663252, 0.99586802, 0.99782053, 0.49280764],\
+-[	-6.26799673, -0.00135064, 0.00082788, 7.26664609, 0.99586982, 0.99782148, 0.49280822],\
+-[	-6.26800967, -0.00135006, 0.00082752, 7.26665961, 0.99587162, 0.99782242, 0.49280878],\
+-[	-6.26802256, -0.00134947, 0.00082717, 7.26667309, 0.99587341, 0.99782336, 0.49280935],\
+-[	-6.26803541, -0.00134889, 0.00082681, 7.26668653, 0.99587521, 0.99782431, 0.49280992],\
+-[	-6.26804822, -0.00134830, 0.00082645, 7.26669991, 0.99587700, 0.99782525, 0.49281048],\
+-[	-6.26806098, -0.00134772, 0.00082609, 7.26671326, 0.99587879, 0.99782619, 0.49281107],\
+-[	-6.26807369, -0.00134713, 0.00082574, 7.26672655, 0.99588058, 0.99782713, 0.49281162],\
+-[	-6.26808636, -0.00134655, 0.00082538, 7.26673981, 0.99588237, 0.99782807, 0.49281218],\
+-[	-6.26809898, -0.00134597, 0.00082503, 7.26675301, 0.99588416, 0.99782900, 0.49281274],\
+-[	-6.26811156, -0.00134539, 0.00082467, 7.26676617, 0.99588595, 0.99782994, 0.49281329],\
+-[	-6.26812410, -0.00134481, 0.00082432, 7.26677929, 0.99588773, 0.99783088, 0.49281384],\
+-[	-6.26813659, -0.00134422, 0.00082396, 7.26679236, 0.99588951, 0.99783181, 0.49281439],\
+-[	-6.26814904, -0.00134364, 0.00082361, 7.26680539, 0.99589129, 0.99783275, 0.49281496],\
+-[	-6.26816144, -0.00134306, 0.00082325, 7.26681838, 0.99589307, 0.99783368, 0.49281552],\
+-[	-6.26817380, -0.00134248, 0.00082290, 7.26683132, 0.99589485, 0.99783462, 0.49281605],\
+-[	-6.26818612, -0.00134191, 0.00082255, 7.26684421, 0.99589663, 0.99783555, 0.49281661],\
+-[	-6.26819839, -0.00134133, 0.00082219, 7.26685706, 0.99589840, 0.99783648, 0.49281716],\
+-[	-6.26821062, -0.00134075, 0.00082184, 7.26686987, 0.99590018, 0.99783741, 0.49281769],\
+-[	-6.26822281, -0.00134017, 0.00082149, 7.26688264, 0.99590195, 0.99783834, 0.49281824],\
+-[	-6.26823495, -0.00133959, 0.00082113, 7.26689536, 0.99590372, 0.99783927, 0.49281878],\
+-[	-6.26824705, -0.00133902, 0.00082078, 7.26690804, 0.99590549, 0.99784020, 0.49281933],\
+-[	-6.26825911, -0.00133844, 0.00082043, 7.26692067, 0.99590725, 0.99784113, 0.49281987],\
+-[	-6.26827113, -0.00133787, 0.00082008, 7.26693326, 0.99590902, 0.99784206, 0.49282040],\
+-[	-6.26828310, -0.00133729, 0.00081973, 7.26694581, 0.99591078, 0.99784298, 0.49282094],\
+-[	-6.26829504, -0.00133672, 0.00081938, 7.26695832, 0.99591255, 0.99784391, 0.49282147],\
+-[	-6.26830693, -0.00133614, 0.00081902, 7.26697079, 0.99591431, 0.99784483, 0.49282201],\
+-[	-6.26831878, -0.00133557, 0.00081867, 7.26698321, 0.99591607, 0.99784576, 0.49282254],\
+-[	-6.26833058, -0.00133499, 0.00081832, 7.26699559, 0.99591783, 0.99784668, 0.49282308],\
+-[	-6.26834235, -0.00133442, 0.00081797, 7.26700793, 0.99591958, 0.99784760, 0.49282360],\
+-[	-6.26835407, -0.00133385, 0.00081762, 7.26702023, 0.99592134, 0.99784853, 0.49282414],\
+-[	-6.26836576, -0.00133328, 0.00081728, 7.26703248, 0.99592309, 0.99784945, 0.49282465],\
+-[	-6.26837740, -0.00133271, 0.00081693, 7.26704469, 0.99592485, 0.99785037, 0.49282520],\
+-[	-6.26838900, -0.00133214, 0.00081658, 7.26705687, 0.99592660, 0.99785129, 0.49282572],\
+-[	-6.26840056, -0.00133157, 0.00081623, 7.26706900, 0.99592835, 0.99785221, 0.49282624],\
+-[	-6.26841209, -0.00133100, 0.00081588, 7.26708109, 0.99593009, 0.99785312, 0.49282676],\
+-[	-6.26842357, -0.00133043, 0.00081553, 7.26709314, 0.99593184, 0.99785404, 0.49282728],\
+-[	-6.26843501, -0.00132986, 0.00081519, 7.26710515, 0.99593359, 0.99785496, 0.49282780],\
+-[	-6.26844641, -0.00132929, 0.00081484, 7.26711712, 0.99593533, 0.99785587, 0.49282829],\
+-[	-6.26845777, -0.00132872, 0.00081449, 7.26712905, 0.99593707, 0.99785679, 0.49282883],\
+-[	-6.26846909, -0.00132815, 0.00081414, 7.26714093, 0.99593881, 0.99785770, 0.49282934],\
+-[	-6.26848037, -0.00132759, 0.00081380, 7.26715278, 0.99594055, 0.99785862, 0.49282986],\
+-[	-6.26849161, -0.00132702, 0.00081345, 7.26716459, 0.99594229, 0.99785953, 0.49283037],\
+-[	-6.26850281, -0.00132645, 0.00081311, 7.26717636, 0.99594402, 0.99786044, 0.49283087],\
+-[	-6.26851397, -0.00132589, 0.00081276, 7.26718809, 0.99594576, 0.99786135, 0.49283138],\
+-[	-6.26852510, -0.00132532, 0.00081242, 7.26719977, 0.99594749, 0.99786226, 0.49283189],\
+-[	-6.26853618, -0.00132476, 0.00081207, 7.26721142, 0.99594922, 0.99786317, 0.49283239],\
+-[	-6.26854723, -0.00132419, 0.00081173, 7.26722303, 0.99595095, 0.99786408, 0.49283291],\
+-[	-6.26855824, -0.00132363, 0.00081138, 7.26723461, 0.99595268, 0.99786499, 0.49283341],\
+-[	-6.26856921, -0.00132307, 0.00081104, 7.26724614, 0.99595441, 0.99786590, 0.49283391],\
+-[	-6.26858014, -0.00132251, 0.00081069, 7.26725763, 0.99595614, 0.99786680, 0.49283441],\
+-[	-6.26859103, -0.00132194, 0.00081035, 7.26726909, 0.99595786, 0.99786771, 0.49283490],\
+-[	-6.26860188, -0.00132138, 0.00081001, 7.26728050, 0.99595958, 0.99786861, 0.49283543],\
+-[	-6.26861270, -0.00132082, 0.00080966, 7.26729188, 0.99596131, 0.99786952, 0.49283590],\
+-[	-6.26862348, -0.00132026, 0.00080932, 7.26730322, 0.99596303, 0.99787042, 0.49283641],\
+-[	-6.26863422, -0.00131970, 0.00080898, 7.26731452, 0.99596474, 0.99787132, 0.49283690],\
+-[	-6.26864493, -0.00131914, 0.00080864, 7.26732579, 0.99596646, 0.99787223, 0.49283740],\
+-[	-6.26865559, -0.00131858, 0.00080829, 7.26733701, 0.99596818, 0.99787313, 0.49283789],\
+-[	-6.26866622, -0.00131802, 0.00080795, 7.26734820, 0.99596989, 0.99787403, 0.49283838],\
+-[	-6.26867681, -0.00131746, 0.00080761, 7.26735935, 0.99597160, 0.99787493, 0.49283886],\
+-[	-6.26868737, -0.00131690, 0.00080727, 7.26737047, 0.99597332, 0.99787583, 0.49283935],\
+-[	-6.26869789, -0.00131635, 0.00080693, 7.26738154, 0.99597503, 0.99787673, 0.49283983],\
+-[	-6.26870837, -0.00131579, 0.00080659, 7.26739258, 0.99597673, 0.99787762, 0.49284032],\
+-[	-6.26871882, -0.00131523, 0.00080625, 7.26740358, 0.99597844, 0.99787852, 0.49284083],\
+-[	-6.26872923, -0.00131468, 0.00080591, 7.26741455, 0.99598015, 0.99787942, 0.49284129],\
+-[	-6.26873960, -0.00131412, 0.00080557, 7.26742548, 0.99598185, 0.99788031, 0.49284178],\
+-[	-6.26874993, -0.00131357, 0.00080523, 7.26743637, 0.99598355, 0.99788121, 0.49284226],\
+-[	-6.26876024, -0.00131301, 0.00080489, 7.26744723, 0.99598526, 0.99788210, 0.49284273],\
+-[	-6.26877050, -0.00131246, 0.00080455, 7.26745804, 0.99598696, 0.99788299, 0.49284320],\
+-[	-6.26878073, -0.00131190, 0.00080421, 7.26746883, 0.99598865, 0.99788389, 0.49284369],\
+-[	-6.26879092, -0.00131135, 0.00080387, 7.26747958, 0.99599035, 0.99788478, 0.49284417],\
+-[	-6.26880108, -0.00131080, 0.00080354, 7.26749029, 0.99599205, 0.99788567, 0.49284465],\
+-[	-6.26881120, -0.00131024, 0.00080320, 7.26750096, 0.99599374, 0.99788656, 0.49284510],\
+-[	-6.26882129, -0.00130969, 0.00080286, 7.26751160, 0.99599543, 0.99788745, 0.49284559],\
+-[	-6.26883135, -0.00130914, 0.00080252, 7.26752221, 0.99599713, 0.99788834, 0.49284606],\
+-[	-6.26884136, -0.00130859, 0.00080219, 7.26753278, 0.99599882, 0.99788923, 0.49284653],\
+-[	-6.26885135, -0.00130804, 0.00080185, 7.26754331, 0.99600050, 0.99789011, 0.49284699],\
+-[	-6.26886129, -0.00130749, 0.00080151, 7.26755381, 0.99600219, 0.99789100, 0.49284746],\
+-[	-6.26887121, -0.00130694, 0.00080118, 7.26756427, 0.99600388, 0.99789189, 0.49284793],\
+-[	-6.26888109, -0.00130639, 0.00080084, 7.26757470, 0.99600556, 0.99789277, 0.49284838],\
+-[	-6.26889093, -0.00130584, 0.00080051, 7.26758509, 0.99600724, 0.99789365, 0.49284885],\
+-[	-6.26890074, -0.00130529, 0.00080017, 7.26759545, 0.99600893, 0.99789454, 0.49284932],\
+-[	-6.26891052, -0.00130474, 0.00079984, 7.26760578, 0.99601061, 0.99789542, 0.49284977],\
+-[	-6.26892026, -0.00130420, 0.00079950, 7.26761607, 0.99601228, 0.99789630, 0.49285024],\
+-[	-6.26892997, -0.00130365, 0.00079917, 7.26762633, 0.99601396, 0.99789719, 0.49285069],\
+-[	-6.26893965, -0.00130310, 0.00079883, 7.26763655, 0.99601564, 0.99789807, 0.49285114],\
+-[	-6.26894929, -0.00130256, 0.00079850, 7.26764674, 0.99601731, 0.99789895, 0.49285162],\
+-[	-6.26895890, -0.00130201, 0.00079816, 7.26765689, 0.99601899, 0.99789983, 0.49285206],\
+-[	-6.26896848, -0.00130146, 0.00079783, 7.26766701, 0.99602066, 0.99790070, 0.49285251],\
+-[	-6.26897802, -0.00130092, 0.00079750, 7.26767710, 0.99602233, 0.99790158, 0.49285297],\
+-[	-6.26898753, -0.00130038, 0.00079717, 7.26768715, 0.99602400, 0.99790246, 0.49285344],\
+-[	-6.26899700, -0.00129983, 0.00079683, 7.26769717, 0.99602566, 0.99790334, 0.49285388],\
+-[	-6.26900645, -0.00129929, 0.00079650, 7.26770716, 0.99602733, 0.99790421, 0.49285432],\
+-[	-6.26901586, -0.00129875, 0.00079617, 7.26771711, 0.99602900, 0.99790509, 0.49285477],\
+-[	-6.26902524, -0.00129820, 0.00079584, 7.26772703, 0.99603066, 0.99790596, 0.49285523],\
+-[	-6.26903458, -0.00129766, 0.00079550, 7.26773692, 0.99603232, 0.99790683, 0.49285566],\
+-[	-6.26904390, -0.00129712, 0.00079517, 7.26774678, 0.99603398, 0.99790771, 0.49285611],\
+-[	-6.26905318, -0.00129658, 0.00079484, 7.26775660, 0.99603564, 0.99790858, 0.49285655],\
+-[	-6.26906243, -0.00129604, 0.00079451, 7.26776639, 0.99603730, 0.99790945, 0.49285701],\
+-[	-6.26907164, -0.00129550, 0.00079418, 7.26777615, 0.99603896, 0.99791032, 0.49285743],\
+-[	-6.26908083, -0.00129496, 0.00079385, 7.26778587, 0.99604061, 0.99791119, 0.49285787],\
+-[	-6.26908998, -0.00129442, 0.00079352, 7.26779557, 0.99604227, 0.99791206, 0.49285833],\
+-[	-6.26909911, -0.00129388, 0.00079319, 7.26780523, 0.99604392, 0.99791293, 0.49285876],\
+-[	-6.26910820, -0.00129334, 0.00079286, 7.26781486, 0.99604557, 0.99791380, 0.49285921],\
+-[	-6.26911726, -0.00129280, 0.00079253, 7.26782446, 0.99604722, 0.99791467, 0.49285963],\
+-[	-6.26912629, -0.00129226, 0.00079220, 7.26783402, 0.99604887, 0.99791553, 0.49286007],\
+-[	-6.26913528, -0.00129173, 0.00079188, 7.26784356, 0.99605051, 0.99791640, 0.49286049],\
+-[	-6.26914425, -0.00129119, 0.00079155, 7.26785306, 0.99605216, 0.99791726, 0.49286093],\
+-[	-6.26915318, -0.00129065, 0.00079122, 7.26786253, 0.99605380, 0.99791813, 0.49286138],\
+-[	-6.26916209, -0.00129012, 0.00079089, 7.26787197, 0.99605545, 0.99791899, 0.49286178],\
+-[	-6.26917096, -0.00128958, 0.00079056, 7.26788138, 0.99605709, 0.99791985, 0.49286223],\
+-[	-6.26917981, -0.00128905, 0.00079024, 7.26789076, 0.99605873, 0.99792072, 0.49286266],\
+-[	-6.26918862, -0.00128851, 0.00078991, 7.26790011, 0.99606037, 0.99792158, 0.49286308],\
+-[	-6.26919740, -0.00128798, 0.00078958, 7.26790942, 0.99606201, 0.99792244, 0.49286350],\
+-[	-6.26920615, -0.00128744, 0.00078926, 7.26791871, 0.99606364, 0.99792330, 0.49286392],\
+-[	-6.26921488, -0.00128691, 0.00078893, 7.26792797, 0.99606528, 0.99792416, 0.49286436],\
+-[	-6.26922357, -0.00128638, 0.00078860, 7.26793719, 0.99606691, 0.99792502, 0.49286478],\
+-[	-6.26923223, -0.00128585, 0.00078828, 7.26794639, 0.99606854, 0.99792588, 0.49286521],\
+-[	-6.26924086, -0.00128531, 0.00078795, 7.26795555, 0.99607017, 0.99792673, 0.49286564],\
+-[	-6.26924947, -0.00128478, 0.00078763, 7.26796468, 0.99607180, 0.99792759, 0.49286605],\
+-[	-6.26925804, -0.00128425, 0.00078730, 7.26797379, 0.99607343, 0.99792845, 0.49286646],\
+-[	-6.26926658, -0.00128372, 0.00078698, 7.26798286, 0.99607506, 0.99792930, 0.49286689],\
+-[	-6.26927510, -0.00128319, 0.00078665, 7.26799191, 0.99607668, 0.99793016, 0.49286730],\
+-[	-6.26928358, -0.00128266, 0.00078633, 7.26800092, 0.99607831, 0.99793101, 0.49286770],\
+-[	-6.26929204, -0.00128213, 0.00078601, 7.26800991, 0.99607993, 0.99793186, 0.49286812],\
+-[	-6.26930047, -0.00128160, 0.00078568, 7.26801887, 0.99608155, 0.99793272, 0.49286854],\
+-[	-6.26930887, -0.00128107, 0.00078536, 7.26802779, 0.99608317, 0.99793357, 0.49286895],\
+-[	-6.26931724, -0.00128054, 0.00078504, 7.26803669, 0.99608479, 0.99793442, 0.49286937],\
+-[	-6.26932558, -0.00128002, 0.00078471, 7.26804556, 0.99608641, 0.99793527, 0.49286977],\
+-[	-6.26933389, -0.00127949, 0.00078439, 7.26805440, 0.99608802, 0.99793612, 0.49287019],\
+-[	-6.26934217, -0.00127896, 0.00078407, 7.26806321, 0.99608964, 0.99793697, 0.49287058],\
+-[	-6.26935043, -0.00127844, 0.00078375, 7.26807199, 0.99609125, 0.99793782, 0.49287100],\
+-[	-6.26935866, -0.00127791, 0.00078342, 7.26808075, 0.99609287, 0.99793867, 0.49287142],\
+-[	-6.26936686, -0.00127738, 0.00078310, 7.26808947, 0.99609448, 0.99793951, 0.49287182],\
+-[	-6.26937503, -0.00127686, 0.00078278, 7.26809817, 0.99609609, 0.99794036, 0.49287224],\
+-[	-6.26938317, -0.00127634, 0.00078246, 7.26810683, 0.99609769, 0.99794120, 0.49287263],\
+-[	-6.26939129, -0.00127581, 0.00078214, 7.26811547, 0.99609930, 0.99794205, 0.49287302],\
+-[	-6.26939937, -0.00127529, 0.00078182, 7.26812409, 0.99610091, 0.99794289, 0.49287345],\
+-[	-6.26940743, -0.00127476, 0.00078150, 7.26813267, 0.99610251, 0.99794374, 0.49287384],\
+-[	-6.26941547, -0.00127424, 0.00078118, 7.26814123, 0.99610411, 0.99794458, 0.49287423],\
+-[	-6.26942347, -0.00127372, 0.00078086, 7.26814975, 0.99610572, 0.99794542, 0.49287464],\
+-[	-6.26943145, -0.00127320, 0.00078054, 7.26815825, 0.99610732, 0.99794626, 0.49287504],\
+-[	-6.26943940, -0.00127267, 0.00078022, 7.26816673, 0.99610892, 0.99794711, 0.49287543],\
+-[	-6.26944732, -0.00127215, 0.00077990, 7.26817517, 0.99611051, 0.99794795, 0.49287581],\
+-[	-6.26945522, -0.00127163, 0.00077958, 7.26818359, 0.99611211, 0.99794879, 0.49287621],\
+-[	-6.26946309, -0.00127111, 0.00077926, 7.26819198, 0.99611370, 0.99794962, 0.49287661],\
+-[	-6.26947093, -0.00127059, 0.00077895, 7.26820034, 0.99611530, 0.99795046, 0.49287701],\
+-[	-6.26947875, -0.00127007, 0.00077863, 7.26820868, 0.99611689, 0.99795130, 0.49287739],\
+-[	-6.26948654, -0.00126955, 0.00077831, 7.26821698, 0.99611848, 0.99795214, 0.49287779],\
+-[	-6.26949430, -0.00126903, 0.00077799, 7.26822527, 0.99612007, 0.99795297, 0.49287817],\
+-[	-6.26950204, -0.00126852, 0.00077768, 7.26823352, 0.99612166, 0.99795381, 0.49287857],\
+-[	-6.26950975, -0.00126800, 0.00077736, 7.26824175, 0.99612325, 0.99795464, 0.49287896],\
+-[	-6.26951743, -0.00126748, 0.00077704, 7.26824995, 0.99612484, 0.99795548, 0.49287934],\
+-[	-6.26952509, -0.00126696, 0.00077673, 7.26825813, 0.99612642, 0.99795631, 0.49287973],\
+-[	-6.26953272, -0.00126645, 0.00077641, 7.26826627, 0.99612800, 0.99795714, 0.49288012],\
+-[	-6.26954033, -0.00126593, 0.00077609, 7.26827440, 0.99612959, 0.99795798, 0.49288050],\
+-[	-6.26954791, -0.00126541, 0.00077578, 7.26828249, 0.99613117, 0.99795881, 0.49288087],\
+-[	-6.26955546, -0.00126490, 0.00077546, 7.26829056, 0.99613275, 0.99795964, 0.49288126],\
+-[	-6.26956299, -0.00126438, 0.00077515, 7.26829860, 0.99613433, 0.99796047, 0.49288164],\
+-[	-6.26957049, -0.00126387, 0.00077483, 7.26830662, 0.99613590, 0.99796130, 0.49288203],\
+-[	-6.26957797, -0.00126335, 0.00077452, 7.26831461, 0.99613748, 0.99796213, 0.49288240],\
+-[	-6.26958542, -0.00126284, 0.00077420, 7.26832258, 0.99613905, 0.99796296, 0.49288278],\
+-[	-6.26959285, -0.00126233, 0.00077389, 7.26833052, 0.99614063, 0.99796378, 0.49288317],\
+-[	-6.26960025, -0.00126181, 0.00077357, 7.26833844, 0.99614220, 0.99796461, 0.49288354],\
+-[	-6.26960763, -0.00126130, 0.00077326, 7.26834632, 0.99614377, 0.99796544, 0.49288392],\
+-[	-6.26961498, -0.00126079, 0.00077295, 7.26835419, 0.99614534, 0.99796626, 0.49288432],\
+-[	-6.26962230, -0.00126028, 0.00077263, 7.26836203, 0.99614691, 0.99796709, 0.49288467],\
+-[	-6.26962961, -0.00125977, 0.00077232, 7.26836984, 0.99614847, 0.99796791, 0.49288504],\
+-[	-6.26963688, -0.00125926, 0.00077201, 7.26837763, 0.99615004, 0.99796874, 0.49288540],\
+-[	-6.26964414, -0.00125874, 0.00077170, 7.26838539, 0.99615160, 0.99796956, 0.49288580],\
+-[	-6.26965137, -0.00125823, 0.00077138, 7.26839313, 0.99615317, 0.99797038, 0.49288618],\
+-[	-6.26965857, -0.00125772, 0.00077107, 7.26840084, 0.99615473, 0.99797120, 0.49288651],\
+-[	-6.26966575, -0.00125722, 0.00077076, 7.26840853, 0.99615629, 0.99797202, 0.49288691],\
+-[	-6.26967290, -0.00125671, 0.00077045, 7.26841620, 0.99615785, 0.99797284, 0.49288729],\
+-[	-6.26968003, -0.00125620, 0.00077014, 7.26842384, 0.99615941, 0.99797366, 0.49288765],\
+-[	-6.26968714, -0.00125569, 0.00076983, 7.26843145, 0.99616097, 0.99797448, 0.49288801],\
+-[	-6.26969422, -0.00125518, 0.00076952, 7.26843904, 0.99616252, 0.99797530, 0.49288835],\
+-[	-6.26970128, -0.00125468, 0.00076920, 7.26844661, 0.99616408, 0.99797612, 0.49288872],\
+-[	-6.26970832, -0.00125417, 0.00076889, 7.26845415, 0.99616563, 0.99797694, 0.49288910],\
+-[	-6.26971533, -0.00125366, 0.00076858, 7.26846167, 0.99616718, 0.99797775, 0.49288946],\
+-[	-6.26972232, -0.00125316, 0.00076827, 7.26846916, 0.99616873, 0.99797857, 0.49288983],\
+-[	-6.26972928, -0.00125265, 0.00076797, 7.26847663, 0.99617028, 0.99797938, 0.49289019],\
+-[	-6.26973622, -0.00125214, 0.00076766, 7.26848408, 0.99617183, 0.99798020, 0.49289056],\
+-[	-6.26974314, -0.00125164, 0.00076735, 7.26849150, 0.99617338, 0.99798101, 0.49289092],\
+-[	-6.26975003, -0.00125114, 0.00076704, 7.26849890, 0.99617492, 0.99798183, 0.49289126],\
+-[	-6.26975691, -0.00125063, 0.00076673, 7.26850627, 0.99617647, 0.99798264, 0.49289162],\
+-[	-6.26976375, -0.00125013, 0.00076642, 7.26851363, 0.99617801, 0.99798345, 0.49289199],\
+-[	-6.26977058, -0.00124962, 0.00076611, 7.26852095, 0.99617955, 0.99798426, 0.49289234],\
+-[	-6.26977738, -0.00124912, 0.00076581, 7.26852826, 0.99618109, 0.99798507, 0.49289269],\
+-[	-6.26978416, -0.00124862, 0.00076550, 7.26853554, 0.99618263, 0.99798588, 0.49289304],\
+-[	-6.26979092, -0.00124812, 0.00076519, 7.26854280, 0.99618417, 0.99798669, 0.49289341],\
+-[	-6.26979765, -0.00124762, 0.00076488, 7.26855003, 0.99618571, 0.99798750, 0.49289376],\
+-[	-6.26980436, -0.00124711, 0.00076458, 7.26855725, 0.99618724, 0.99798831, 0.49289409],\
+-[	-6.26981105, -0.00124661, 0.00076427, 7.26856444, 0.99618878, 0.99798912, 0.49289444],\
+-[	-6.26981772, -0.00124611, 0.00076396, 7.26857160, 0.99619031, 0.99798992, 0.49289482],\
+-[	-6.26982436, -0.00124561, 0.00076366, 7.26857875, 0.99619184, 0.99799073, 0.49289516],\
+-[	-6.26983098, -0.00124511, 0.00076335, 7.26858587, 0.99619337, 0.99799154, 0.49289554],\
+-[	-6.26983758, -0.00124461, 0.00076305, 7.26859297, 0.99619490, 0.99799234, 0.49289586],\
+-[	-6.26984416, -0.00124412, 0.00076274, 7.26860004, 0.99619643, 0.99799314, 0.49289620],\
+-[	-6.26985071, -0.00124362, 0.00076244, 7.26860710, 0.99619796, 0.99799395, 0.49289657],\
+-[	-6.26985725, -0.00124312, 0.00076213, 7.26861413, 0.99619949, 0.99799475, 0.49289690],\
+-[	-6.26986376, -0.00124262, 0.00076183, 7.26862114, 0.99620101, 0.99799555, 0.49289724],\
+-[	-6.26987025, -0.00124212, 0.00076152, 7.26862812, 0.99620253, 0.99799636, 0.49289757],\
+-[	-6.26987672, -0.00124163, 0.00076122, 7.26863509, 0.99620406, 0.99799716, 0.49289792],\
+-[	-6.26988316, -0.00124113, 0.00076091, 7.26864203, 0.99620558, 0.99799796, 0.49289828],\
+-[	-6.26988959, -0.00124063, 0.00076061, 7.26864895, 0.99620710, 0.99799876, 0.49289862],\
+-[	-6.26989599, -0.00124014, 0.00076031, 7.26865585, 0.99620862, 0.99799956, 0.49289895],\
+-[	-6.26990237, -0.00123964, 0.00076000, 7.26866273, 0.99621013, 0.99800035, 0.49289931],\
+-[	-6.26990873, -0.00123915, 0.00075970, 7.26866958, 0.99621165, 0.99800115, 0.49289965],\
+-[	-6.26991507, -0.00123865, 0.00075940, 7.26867642, 0.99621317, 0.99800195, 0.49289998],\
+-[	-6.26992139, -0.00123816, 0.00075909, 7.26868323, 0.99621468, 0.99800275, 0.49290032],\
+-[	-6.26992769, -0.00123767, 0.00075879, 7.26869002, 0.99621619, 0.99800354, 0.49290066],\
+-[	-6.26993396, -0.00123717, 0.00075849, 7.26869679, 0.99621770, 0.99800434, 0.49290100],\
+-[	-6.26994022, -0.00123668, 0.00075819, 7.26870354, 0.99621921, 0.99800513, 0.49290132],\
+-[	-6.26994645, -0.00123619, 0.00075789, 7.26871027, 0.99622072, 0.99800593, 0.49290166],\
+-[	-6.26995267, -0.00123569, 0.00075758, 7.26871697, 0.99622223, 0.99800672, 0.49290199],\
+-[	-6.26995886, -0.00123520, 0.00075728, 7.26872366, 0.99622374, 0.99800751, 0.49290231],\
+-[	-6.26996503, -0.00123471, 0.00075698, 7.26873032, 0.99622524, 0.99800831, 0.49290268],\
+-[	-6.26997119, -0.00123422, 0.00075668, 7.26873697, 0.99622675, 0.99800910, 0.49290298],\
+-[	-6.26997732, -0.00123373, 0.00075638, 7.26874359, 0.99622825, 0.99800989, 0.49290333],\
+-[	-6.26998343, -0.00123324, 0.00075608, 7.26875019, 0.99622975, 0.99801068, 0.49290366],\
+-[	-6.26998952, -0.00123275, 0.00075578, 7.26875677, 0.99623126, 0.99801147, 0.49290397],\
+-[	-6.26999559, -0.00123226, 0.00075548, 7.26876333, 0.99623275, 0.99801226, 0.49290432],\
+-[	-6.27000164, -0.00123177, 0.00075518, 7.26876987, 0.99623425, 0.99801305, 0.49290464],\
+-[	-6.27000767, -0.00123128, 0.00075488, 7.26877639, 0.99623575, 0.99801384, 0.49290499],\
+-[	-6.27001368, -0.00123079, 0.00075458, 7.26878289, 0.99623725, 0.99801462, 0.49290530],\
+-[	-6.27001968, -0.00123031, 0.00075428, 7.26878937, 0.99623874, 0.99801541, 0.49290562],\
+-[	-6.27002565, -0.00122982, 0.00075399, 7.26879583, 0.99624024, 0.99801620, 0.49290596],\
+-[	-6.27003160, -0.00122933, 0.00075369, 7.26880227, 0.99624173, 0.99801698, 0.49290628],\
+-[	-6.27003753, -0.00122884, 0.00075339, 7.26880869, 0.99624322, 0.99801777, 0.49290660],\
+-[	-6.27004344, -0.00122836, 0.00075309, 7.26881508, 0.99624471, 0.99801855, 0.49290693],\
+-[	-6.27004933, -0.00122787, 0.00075279, 7.26882146, 0.99624620, 0.99801934, 0.49290725],\
+-[	-6.27005521, -0.00122739, 0.00075250, 7.26882782, 0.99624769, 0.99802012, 0.49290756],\
+-[	-6.27006106, -0.00122690, 0.00075220, 7.26883416, 0.99624917, 0.99802090, 0.49290790],\
+-[	-6.27006690, -0.00122642, 0.00075190, 7.26884048, 0.99625066, 0.99802168, 0.49290821],\
+-[	-6.27007271, -0.00122593, 0.00075160, 7.26884678, 0.99625214, 0.99802246, 0.49290851],\
+-[	-6.27007851, -0.00122545, 0.00075131, 7.26885306, 0.99625363, 0.99802324, 0.49290885],\
+-[	-6.27008428, -0.00122496, 0.00075101, 7.26885932, 0.99625511, 0.99802402, 0.49290916],\
+-[	-6.27009004, -0.00122448, 0.00075072, 7.26886556, 0.99625659, 0.99802480, 0.49290948],\
+-[	-6.27009578, -0.00122400, 0.00075042, 7.26887178, 0.99625807, 0.99802558, 0.49290980],\
+-[	-6.27010150, -0.00122351, 0.00075012, 7.26887799, 0.99625955, 0.99802636, 0.49291012],\
+-[	-6.27010720, -0.00122303, 0.00074983, 7.26888417, 0.99626102, 0.99802714, 0.49291045],\
+-[	-6.27011288, -0.00122255, 0.00074953, 7.26889033, 0.99626250, 0.99802792, 0.49291075],\
+-[	-6.27011855, -0.00122207, 0.00074924, 7.26889648, 0.99626398, 0.99802869, 0.49291108],\
+-[	-6.27012419, -0.00122159, 0.00074894, 7.26890260, 0.99626545, 0.99802947, 0.49291137],\
+-[	-6.27012982, -0.00122111, 0.00074865, 7.26890871, 0.99626692, 0.99803024, 0.49291169],\
+-[	-6.27013543, -0.00122063, 0.00074836, 7.26891480, 0.99626839, 0.99803102, 0.49291199],\
+-[	-6.27014102, -0.00122015, 0.00074806, 7.26892087, 0.99626986, 0.99803179, 0.49291232],\
+-[	-6.27014659, -0.00121967, 0.00074777, 7.26892692, 0.99627133, 0.99803257, 0.49291262],\
+-[	-6.27015214, -0.00121919, 0.00074747, 7.26893295, 0.99627280, 0.99803334, 0.49291295],\
+-[	-6.27015767, -0.00121871, 0.00074718, 7.26893897, 0.99627427, 0.99803411, 0.49291325],\
+-[	-6.27016319, -0.00121823, 0.00074689, 7.26894496, 0.99627574, 0.99803488, 0.49291356],\
+-[	-6.27016869, -0.00121775, 0.00074659, 7.26895094, 0.99627720, 0.99803565, 0.49291386],\
+-[	-6.27017417, -0.00121727, 0.00074630, 7.26895690, 0.99627866, 0.99803642, 0.49291418],\
+-[	-6.27017963, -0.00121680, 0.00074601, 7.26896284, 0.99628013, 0.99803719, 0.49291448],\
+-[	-6.27018508, -0.00121632, 0.00074572, 7.26896876, 0.99628159, 0.99803796, 0.49291478],\
+-[	-6.27019050, -0.00121584, 0.00074543, 7.26897466, 0.99628305, 0.99803873, 0.49291509],\
+-[	-6.27019591, -0.00121537, 0.00074513, 7.26898055, 0.99628451, 0.99803950, 0.49291539],\
+-[	-6.27020130, -0.00121489, 0.00074484, 7.26898641, 0.99628596, 0.99804027, 0.49291571],\
+-[	-6.27020668, -0.00121441, 0.00074455, 7.26899226, 0.99628742, 0.99804103, 0.49291599],\
+-[	-6.27021203, -0.00121394, 0.00074426, 7.26899810, 0.99628888, 0.99804180, 0.49291629],\
+-[	-6.27021737, -0.00121346, 0.00074397, 7.26900391, 0.99629033, 0.99804257, 0.49291660],\
+-[	-6.27022270, -0.00121299, 0.00074368, 7.26900971, 0.99629178, 0.99804333, 0.49291688],\
+-[	-6.27022800, -0.00121252, 0.00074339, 7.26901548, 0.99629324, 0.99804410, 0.49291722],\
+-[	-6.27023329, -0.00121204, 0.00074310, 7.26902124, 0.99629469, 0.99804486, 0.49291750],\
+-[	-6.27023856, -0.00121157, 0.00074281, 7.26902699, 0.99629614, 0.99804562, 0.49291781],\
+-[	-6.27024381, -0.00121110, 0.00074252, 7.26903271, 0.99629759, 0.99804639, 0.49291812],\
+-[	-6.27024904, -0.00121062, 0.00074223, 7.26903842, 0.99629903, 0.99804715, 0.49291840],\
+-[	-6.27025426, -0.00121015, 0.00074194, 7.26904411, 0.99630048, 0.99804791, 0.49291870],\
+-[	-6.27025946, -0.00120968, 0.00074165, 7.26904979, 0.99630193, 0.99804867, 0.49291902],\
+-[	-6.27026465, -0.00120921, 0.00074136, 7.26905544, 0.99630337, 0.99804943, 0.49291932],\
+-[	-6.27026982, -0.00120874, 0.00074107, 7.26906108, 0.99630481, 0.99805019, 0.49291960],\
+-[	-6.27027497, -0.00120827, 0.00074078, 7.26906670, 0.99630626, 0.99805095, 0.49291988],\
+-[	-6.27028010, -0.00120780, 0.00074050, 7.26907231, 0.99630770, 0.99805171, 0.49292018],\
+-[	-6.27028522, -0.00120732, 0.00074021, 7.26907789, 0.99630914, 0.99805247, 0.49292047],\
+-[	-6.27029032, -0.00120686, 0.00073992, 7.26908347, 0.99631057, 0.99805322, 0.49292077],\
+-[	-6.27029541, -0.00120639, 0.00073963, 7.26908902, 0.99631201, 0.99805398, 0.49292106],\
+-[	-6.27030047, -0.00120592, 0.00073934, 7.26909456, 0.99631345, 0.99805474, 0.49292137],\
+-[	-6.27030552, -0.00120545, 0.00073906, 7.26910008, 0.99631488, 0.99805549, 0.49292164],\
+-[	-6.27031056, -0.00120498, 0.00073877, 7.26910558, 0.99631632, 0.99805625, 0.49292193],\
+-[	-6.27031558, -0.00120451, 0.00073848, 7.26911107, 0.99631775, 0.99805700, 0.49292223],\
+-[	-6.27032058, -0.00120404, 0.00073820, 7.26911654, 0.99631918, 0.99805776, 0.49292252],\
+-[	-6.27032557, -0.00120358, 0.00073791, 7.26912199, 0.99632061, 0.99805851, 0.49292278],\
+-[	-6.27033054, -0.00120311, 0.00073763, 7.26912743, 0.99632204, 0.99805926, 0.49292312],\
+-[	-6.27033549, -0.00120264, 0.00073734, 7.26913285, 0.99632347, 0.99806002, 0.49292338],\
+-[	-6.27034043, -0.00120218, 0.00073705, 7.26913825, 0.99632490, 0.99806077, 0.49292367],\
+-[	-6.27034536, -0.00120171, 0.00073677, 7.26914364, 0.99632633, 0.99806152, 0.49292394],\
+-[	-6.27035026, -0.00120125, 0.00073648, 7.26914902, 0.99632775, 0.99806227, 0.49292425],\
+-[	-6.27035515, -0.00120078, 0.00073620, 7.26915437, 0.99632918, 0.99806302, 0.49292452],\
+-[	-6.27036003, -0.00120032, 0.00073591, 7.26915971, 0.99633060, 0.99806377, 0.49292480],\
+-[	-6.27036489, -0.00119985, 0.00073563, 7.26916504, 0.99633202, 0.99806452, 0.49292511],\
+-[	-6.27036973, -0.00119939, 0.00073535, 7.26917034, 0.99633344, 0.99806527, 0.49292536],\
+-[	-6.27037456, -0.00119892, 0.00073506, 7.26917564, 0.99633486, 0.99806601, 0.49292567],\
+-[	-6.27037937, -0.00119846, 0.00073478, 7.26918091, 0.99633628, 0.99806676, 0.49292595],\
+-[	-6.27038417, -0.00119800, 0.00073449, 7.26918617, 0.99633770, 0.99806751, 0.49292622],\
+-[	-6.27038895, -0.00119754, 0.00073421, 7.26919142, 0.99633912, 0.99806825, 0.49292651],\
+-[	-6.27039372, -0.00119707, 0.00073393, 7.26919664, 0.99634053, 0.99806900, 0.49292678],\
+-[	-6.27039847, -0.00119661, 0.00073364, 7.26920186, 0.99634195, 0.99806974, 0.49292707],\
+-[	-6.27040321, -0.00119615, 0.00073336, 7.26920706, 0.99634336, 0.99807049, 0.49292736],\
+-[	-6.27040793, -0.00119569, 0.00073308, 7.26921224, 0.99634477, 0.99807123, 0.49292762],\
+-[	-6.27041263, -0.00119523, 0.00073280, 7.26921740, 0.99634618, 0.99807198, 0.49292790],\
+-[	-6.27041732, -0.00119477, 0.00073251, 7.26922256, 0.99634759, 0.99807272, 0.49292816],\
+-[	-6.27042200, -0.00119431, 0.00073223, 7.26922769, 0.99634900, 0.99807346, 0.49292845],\
+-[	-6.27042666, -0.00119385, 0.00073195, 7.26923281, 0.99635041, 0.99807420, 0.49292873],\
+-[	-6.27043131, -0.00119339, 0.00073167, 7.26923792, 0.99635182, 0.99807494, 0.49292902],\
+-[	-6.27043594, -0.00119293, 0.00073139, 7.26924301, 0.99635322, 0.99807568, 0.49292929],\
+-[	-6.27044055, -0.00119247, 0.00073111, 7.26924808, 0.99635463, 0.99807642, 0.49292955],\
+-[	-6.27044516, -0.00119201, 0.00073083, 7.26925314, 0.99635603, 0.99807716, 0.49292983],\
+-[	-6.27044974, -0.00119155, 0.00073054, 7.26925819, 0.99635743, 0.99807790, 0.49293011],\
+-[	-6.27045432, -0.00119110, 0.00073026, 7.26926322, 0.99635884, 0.99807864, 0.49293037],\
+-[	-6.27045887, -0.00119064, 0.00072998, 7.26926823, 0.99636024, 0.99807938, 0.49293066],\
+-[	-6.27046342, -0.00119018, 0.00072970, 7.26927323, 0.99636164, 0.99808011, 0.49293095],\
+-[	-6.27046795, -0.00118973, 0.00072942, 7.26927822, 0.99636303, 0.99808085, 0.49293118],\
+-[	-6.27047246, -0.00118927, 0.00072914, 7.26928319, 0.99636443, 0.99808158, 0.49293146],\
+-[	-6.27047696, -0.00118881, 0.00072887, 7.26928815, 0.99636583, 0.99808232, 0.49293175],\
+-[	-6.27048145, -0.00118836, 0.00072859, 7.26929309, 0.99636722, 0.99808305, 0.49293201],\
+-[	-6.27048592, -0.00118790, 0.00072831, 7.26929802, 0.99636862, 0.99808379, 0.49293228],\
+-[	-6.27049038, -0.00118745, 0.00072803, 7.26930293, 0.99637001, 0.99808452, 0.49293255],\
+-[	-6.27049482, -0.00118699, 0.00072775, 7.26930783, 0.99637140, 0.99808526, 0.49293281],\
+-[	-6.27049925, -0.00118654, 0.00072747, 7.26931271, 0.99637279, 0.99808599, 0.49293309],\
+-[	-6.27050366, -0.00118609, 0.00072719, 7.26931758, 0.99637418, 0.99808672, 0.49293334],\
+-[	-6.27050807, -0.00118563, 0.00072692, 7.26932243, 0.99637557, 0.99808745, 0.49293360],\
+-[	-6.27051245, -0.00118518, 0.00072664, 7.26932727, 0.99637696, 0.99808818, 0.49293390],\
+-[	-6.27051683, -0.00118473, 0.00072636, 7.26933210, 0.99637835, 0.99808891, 0.49293415],\
+-[	-6.27052119, -0.00118427, 0.00072608, 7.26933691, 0.99637973, 0.99808964, 0.49293444],\
+-[	-6.27052553, -0.00118382, 0.00072581, 7.26934171, 0.99638112, 0.99809037, 0.49293467],\
+-[	-6.27052986, -0.00118337, 0.00072553, 7.26934649, 0.99638250, 0.99809110, 0.49293494],\
+-[	-6.27053418, -0.00118292, 0.00072525, 7.26935126, 0.99638388, 0.99809183, 0.49293521],\
+-[	-6.27053849, -0.00118247, 0.00072498, 7.26935602, 0.99638526, 0.99809256, 0.49293547],\
+-[	-6.27054278, -0.00118202, 0.00072470, 7.26936076, 0.99638664, 0.99809328, 0.49293575],\
+-[	-6.27054706, -0.00118157, 0.00072442, 7.26936549, 0.99638802, 0.99809401, 0.49293600],\
+-[	-6.27055132, -0.00118112, 0.00072415, 7.26937020, 0.99638940, 0.99809474, 0.49293625],\
+-[	-6.27055557, -0.00118067, 0.00072387, 7.26937491, 0.99639078, 0.99809546, 0.49293651],\
+-[	-6.27055981, -0.00118022, 0.00072360, 7.26937959, 0.99639215, 0.99809619, 0.49293677],\
+-[	-6.27056403, -0.00117977, 0.00072332, 7.26938427, 0.99639353, 0.99809691, 0.49293703],\
+-[	-6.27056825, -0.00117932, 0.00072305, 7.26938893, 0.99639490, 0.99809763, 0.49293729],\
+-[	-6.27057244, -0.00117887, 0.00072277, 7.26939357, 0.99639628, 0.99809836, 0.49293754],\
+-[	-6.27057663, -0.00117842, 0.00072250, 7.26939820, 0.99639765, 0.99809908, 0.49293783],\
+-[	-6.27058080, -0.00117798, 0.00072222, 7.26940282, 0.99639902, 0.99809980, 0.49293807],\
+-[	-6.27058496, -0.00117753, 0.00072195, 7.26940743, 0.99640039, 0.99810052, 0.49293833],\
+-[	-6.27058910, -0.00117708, 0.00072167, 7.26941202, 0.99640176, 0.99810124, 0.49293858],\
+-[	-6.27059324, -0.00117663, 0.00072140, 7.26941660, 0.99640312, 0.99810196, 0.49293885],\
+-[	-6.27059736, -0.00117619, 0.00072113, 7.26942117, 0.99640449, 0.99810268, 0.49293910],\
+-[	-6.27060146, -0.00117574, 0.00072085, 7.26942572, 0.99640586, 0.99810340, 0.49293936],\
+-[	-6.27060556, -0.00117530, 0.00072058, 7.26943026, 0.99640722, 0.99810412, 0.49293961],\
+-[	-6.27060964, -0.00117485, 0.00072031, 7.26943479, 0.99640859, 0.99810484, 0.49293988],\
+-[	-6.27061371, -0.00117441, 0.00072004, 7.26943930, 0.99640995, 0.99810556, 0.49294014],\
+-[	-6.27061776, -0.00117396, 0.00071976, 7.26944380, 0.99641131, 0.99810628, 0.49294037],\
+-[	-6.27062180, -0.00117352, 0.00071949, 7.26944829, 0.99641267, 0.99810699, 0.49294061],\
+-[	-6.27062583, -0.00117307, 0.00071922, 7.26945276, 0.99641403, 0.99810771, 0.49294091],\
+-[	-6.27062985, -0.00117263, 0.00071895, 7.26945722, 0.99641539, 0.99810842, 0.49294113],\
+-[	-6.27063386, -0.00117219, 0.00071867, 7.26946167, 0.99641675, 0.99810914, 0.49294137],\
+-[	-6.27063785, -0.00117174, 0.00071840, 7.26946611, 0.99641810, 0.99810985, 0.49294161],\
+-[	-6.27064183, -0.00117130, 0.00071813, 7.26947053, 0.99641946, 0.99811057, 0.49294187],\
+-[	-6.27064580, -0.00117086, 0.00071786, 7.26947494, 0.99642081, 0.99811128, 0.49294216],\
+-[	-6.27064976, -0.00117042, 0.00071759, 7.26947934, 0.99642217, 0.99811199, 0.49294239],\
+-[	-6.27065370, -0.00116997, 0.00071732, 7.26948372, 0.99642352, 0.99811271, 0.49294263],\
+-[	-6.27065763, -0.00116953, 0.00071705, 7.26948810, 0.99642487, 0.99811342, 0.49294289],\
+-[	-6.27066155, -0.00116909, 0.00071678, 7.26949246, 0.99642622, 0.99811413, 0.49294314],\
+-[	-6.27066546, -0.00116865, 0.00071651, 7.26949680, 0.99642757, 0.99811484, 0.49294338],\
+-[	-6.27066935, -0.00116821, 0.00071624, 7.26950114, 0.99642892, 0.99811555, 0.49294362],\
+-[	-6.27067323, -0.00116777, 0.00071597, 7.26950546, 0.99643026, 0.99811626, 0.49294387],\
+-[	-6.27067711, -0.00116733, 0.00071570, 7.26950977, 0.99643161, 0.99811697, 0.49294414],\
+-[	-6.27068096, -0.00116689, 0.00071543, 7.26951407, 0.99643296, 0.99811768, 0.49294435],\
+-[	-6.27068481, -0.00116645, 0.00071516, 7.26951836, 0.99643430, 0.99811839, 0.49294462],\
+-[	-6.27068865, -0.00116601, 0.00071489, 7.26952263, 0.99643564, 0.99811909, 0.49294486],\
+-[	-6.27069247, -0.00116558, 0.00071462, 7.26952689, 0.99643699, 0.99811980, 0.49294512],\
+-[	-6.27069628, -0.00116514, 0.00071435, 7.26953114, 0.99643833, 0.99812051, 0.49294533],\
+-[	-6.27070008, -0.00116470, 0.00071409, 7.26953538, 0.99643967, 0.99812121, 0.49294559],\
+-[	-6.27070387, -0.00116426, 0.00071382, 7.26953961, 0.99644101, 0.99812192, 0.49294582],\
+-[	-6.27070765, -0.00116383, 0.00071355, 7.26954382, 0.99644235, 0.99812262, 0.49294607],\
+-[	-6.27071141, -0.00116339, 0.00071328, 7.26954802, 0.99644368, 0.99812333, 0.49294633],\
+-[	-6.27071516, -0.00116295, 0.00071301, 7.26955221, 0.99644502, 0.99812403, 0.49294657],\
+-[	-6.27071891, -0.00116252, 0.00071275, 7.26955639, 0.99644635, 0.99812474, 0.49294678],\
+-[	-6.27072264, -0.00116208, 0.00071248, 7.26956056, 0.99644769, 0.99812544, 0.49294701],\
+-[	-6.27072636, -0.00116165, 0.00071221, 7.26956471, 0.99644902, 0.99812614, 0.49294726],\
+-[	-6.27073006, -0.00116121, 0.00071195, 7.26956885, 0.99645035, 0.99812684, 0.49294753],\
+-[	-6.27073376, -0.00116078, 0.00071168, 7.26957298, 0.99645169, 0.99812755, 0.49294774],\
+-[	-6.27073744, -0.00116034, 0.00071141, 7.26957710, 0.99645302, 0.99812825, 0.49294799],\
+-[	-6.27074112, -0.00115991, 0.00071115, 7.26958121, 0.99645434, 0.99812895, 0.49294824],\
+-[	-6.27074478, -0.00115947, 0.00071088, 7.26958531, 0.99645567, 0.99812965, 0.49294849],\
+-[	-6.27074843, -0.00115904, 0.00071062, 7.26958939, 0.99645700, 0.99813035, 0.49294867],\
+-[	-6.27075207, -0.00115861, 0.00071035, 7.26959347, 0.99645833, 0.99813104, 0.49294894],\
+-[	-6.27075570, -0.00115817, 0.00071008, 7.26959753, 0.99645965, 0.99813174, 0.49294918],\
+-[	-6.27075932, -0.00115774, 0.00070982, 7.26960158, 0.99646098, 0.99813244, 0.49294940],\
+-[	-6.27076293, -0.00115731, 0.00070955, 7.26960562, 0.99646230, 0.99813314, 0.49294966],\
+-[	-6.27076652, -0.00115688, 0.00070929, 7.26960965, 0.99646362, 0.99813383, 0.49294988],\
+-[	-6.27077011, -0.00115644, 0.00070902, 7.26961366, 0.99646494, 0.99813453, 0.49295014],\
+-[	-6.27077368, -0.00115601, 0.00070876, 7.26961767, 0.99646626, 0.99813523, 0.49295035],\
+-[	-6.27077724, -0.00115558, 0.00070850, 7.26962166, 0.99646758, 0.99813592, 0.49295058],\
+-[	-6.27078080, -0.00115515, 0.00070823, 7.26962565, 0.99646890, 0.99813662, 0.49295081],\
+-[	-6.27078434, -0.00115472, 0.00070797, 7.26962962, 0.99647022, 0.99813731, 0.49295107],\
+-[	-6.27078787, -0.00115429, 0.00070770, 7.26963358, 0.99647154, 0.99813800, 0.49295129],\
+-[	-6.27079139, -0.00115386, 0.00070744, 7.26963753, 0.99647285, 0.99813870, 0.49295151],\
+-[	-6.27079490, -0.00115343, 0.00070718, 7.26964147, 0.99647417, 0.99813939, 0.49295175],\
+-[	-6.27079840, -0.00115300, 0.00070692, 7.26964540, 0.99647548, 0.99814008, 0.49295200],\
+-[	-6.27080189, -0.00115257, 0.00070665, 7.26964931, 0.99647679, 0.99814077, 0.49295221],\
+-[	-6.27080537, -0.00115215, 0.00070639, 7.26965322, 0.99647810, 0.99814146, 0.49295246],\
+-[	-6.27080883, -0.00115172, 0.00070613, 7.26965711, 0.99647941, 0.99814215, 0.49295267],\
+-[	-6.27081229, -0.00115129, 0.00070586, 7.26966100, 0.99648072, 0.99814284, 0.49295289],\
+-[	-6.27081574, -0.00115086, 0.00070560, 7.26966487, 0.99648203, 0.99814353, 0.49295314],\
+-[	-6.27081917, -0.00115044, 0.00070534, 7.26966874, 0.99648334, 0.99814422, 0.49295337],\
+-[	-6.27082260, -0.00115001, 0.00070508, 7.26967259, 0.99648465, 0.99814491, 0.49295357],\
+-[	-6.27082601, -0.00114958, 0.00070482, 7.26967643, 0.99648595, 0.99814560, 0.49295381],\
+-[	-6.27082942, -0.00114916, 0.00070456, 7.26968026, 0.99648726, 0.99814629, 0.49295404],\
+-[	-6.27083281, -0.00114873, 0.00070430, 7.26968408, 0.99648856, 0.99814697, 0.49295428],\
+-[	-6.27083620, -0.00114830, 0.00070403, 7.26968789, 0.99648986, 0.99814766, 0.49295451],\
+-[	-6.27083957, -0.00114788, 0.00070377, 7.26969169, 0.99649117, 0.99814835, 0.49295473],\
+-[	-6.27084294, -0.00114745, 0.00070351, 7.26969548, 0.99649247, 0.99814903, 0.49295497],\
+-[	-6.27084629, -0.00114703, 0.00070325, 7.26969926, 0.99649377, 0.99814972, 0.49295518],\
+-[	-6.27084964, -0.00114661, 0.00070299, 7.26970303, 0.99649507, 0.99815040, 0.49295540],\
+-[	-6.27085297, -0.00114618, 0.00070273, 7.26970679, 0.99649636, 0.99815109, 0.49295563],\
+-[	-6.27085630, -0.00114576, 0.00070247, 7.26971054, 0.99649766, 0.99815177, 0.49295584],\
+-[	-6.27085961, -0.00114533, 0.00070221, 7.26971428, 0.99649896, 0.99815245, 0.49295609],\
+-[	-6.27086292, -0.00114491, 0.00070195, 7.26971800, 0.99650025, 0.99815313, 0.49295629],\
+-[	-6.27086621, -0.00114449, 0.00070169, 7.26972172, 0.99650155, 0.99815382, 0.49295653],\
+-[	-6.27086950, -0.00114407, 0.00070144, 7.26972543, 0.99650284, 0.99815450, 0.49295673],\
+-[	-6.27087277, -0.00114364, 0.00070118, 7.26972913, 0.99650413, 0.99815518, 0.49295696],\
+-[	-6.27087604, -0.00114322, 0.00070092, 7.26973281, 0.99650542, 0.99815586, 0.49295720],\
+-[	-6.27087929, -0.00114280, 0.00070066, 7.26973649, 0.99650671, 0.99815654, 0.49295739],\
+-[	-6.27088254, -0.00114238, 0.00070040, 7.26974016, 0.99650800, 0.99815722, 0.49295764],\
+-[	-6.27088577, -0.00114196, 0.00070014, 7.26974382, 0.99650929, 0.99815790, 0.49295785],\
+-[	-6.27088900, -0.00114154, 0.00069989, 7.26974746, 0.99651058, 0.99815858, 0.49295811],\
+-[	-6.27089222, -0.00114112, 0.00069963, 7.26975110, 0.99651187, 0.99815925, 0.49295829],\
+-[	-6.27089543, -0.00114070, 0.00069937, 7.26975473, 0.99651315, 0.99815993, 0.49295850],\
+-[	-6.27089862, -0.00114028, 0.00069911, 7.26975835, 0.99651444, 0.99816061, 0.49295875],\
+-[	-6.27090181, -0.00113986, 0.00069886, 7.26976195, 0.99651572, 0.99816129, 0.49295895],\
+-[	-6.27090499, -0.00113944, 0.00069860, 7.26976555, 0.99651700, 0.99816196, 0.49295918],\
+-[	-6.27090816, -0.00113902, 0.00069834, 7.26976914, 0.99651829, 0.99816264, 0.49295938],\
+-[	-6.27091132, -0.00113860, 0.00069809, 7.26977272, 0.99651957, 0.99816331, 0.49295963],\
+-[	-6.27091447, -0.00113818, 0.00069783, 7.26977629, 0.99652085, 0.99816399, 0.49295982],\
+-[	-6.27091762, -0.00113777, 0.00069757, 7.26977985, 0.99652213, 0.99816466, 0.49296003],\
+-[	-6.27092075, -0.00113735, 0.00069732, 7.26978340, 0.99652340, 0.99816533, 0.49296028],\
+-[	-6.27092387, -0.00113693, 0.00069706, 7.26978694, 0.99652468, 0.99816601, 0.49296049],\
+-[	-6.27092699, -0.00113651, 0.00069681, 7.26979047, 0.99652596, 0.99816668, 0.49296071],\
+-[	-6.27093009, -0.00113610, 0.00069655, 7.26979399, 0.99652723, 0.99816735, 0.49296091],\
+-[	-6.27093319, -0.00113568, 0.00069629, 7.26979751, 0.99652851, 0.99816802, 0.49296112],\
+-[	-6.27093627, -0.00113527, 0.00069604, 7.26980101, 0.99652978, 0.99816869, 0.49296137],\
+-[	-6.27093935, -0.00113485, 0.00069578, 7.26980450, 0.99653105, 0.99816937, 0.49296155],\
+-[	-6.27094242, -0.00113443, 0.00069553, 7.26980799, 0.99653232, 0.99817004, 0.49296176],\
+-[	-6.27094548, -0.00113402, 0.00069528, 7.26981146, 0.99653360, 0.99817070, 0.49296198],\
+-[	-6.27094853, -0.00113360, 0.00069502, 7.26981493, 0.99653487, 0.99817137, 0.49296221],\
+-[	-6.27095157, -0.00113319, 0.00069477, 7.26981838, 0.99653613, 0.99817204, 0.49296241],\
+-[	-6.27095461, -0.00113278, 0.00069451, 7.26982183, 0.99653740, 0.99817271, 0.49296261],\
+-[	-6.27095763, -0.00113236, 0.00069426, 7.26982527, 0.99653867, 0.99817338, 0.49296284],\
+-[	-6.27096065, -0.00113195, 0.00069401, 7.26982870, 0.99653994, 0.99817405, 0.49296306],\
+-[	-6.27096365, -0.00113154, 0.00069375, 7.26983212, 0.99654120, 0.99817471, 0.49296324],\
+-[	-6.27096665, -0.00113112, 0.00069350, 7.26983553, 0.99654246, 0.99817538, 0.49296349],\
+-[	-6.27096964, -0.00113071, 0.00069325, 7.26983893, 0.99654373, 0.99817604, 0.49296367],\
+-[	-6.27097262, -0.00113030, 0.00069299, 7.26984232, 0.99654499, 0.99817671, 0.49296390],\
+-[	-6.27097559, -0.00112989, 0.00069274, 7.26984571, 0.99654625, 0.99817737, 0.49296411],\
+-[	-6.27097856, -0.00112947, 0.00069249, 7.26984908, 0.99654751, 0.99817804, 0.49296432],\
+-[	-6.27098151, -0.00112906, 0.00069224, 7.26985245, 0.99654877, 0.99817870, 0.49296451],\
+-[	-6.27098446, -0.00112865, 0.00069198, 7.26985581, 0.99655003, 0.99817937, 0.49296475],\
+-[	-6.27098739, -0.00112824, 0.00069173, 7.26985915, 0.99655129, 0.99818003, 0.49296493],\
+-[	-6.27099032, -0.00112783, 0.00069148, 7.26986249, 0.99655255, 0.99818069, 0.49296516],\
+-[	-6.27099324, -0.00112742, 0.00069123, 7.26986583, 0.99655380, 0.99818135, 0.49296535],\
+-[	-6.27099616, -0.00112701, 0.00069098, 7.26986915, 0.99655506, 0.99818202, 0.49296556],\
+-[	-6.27099906, -0.00112660, 0.00069072, 7.26987246, 0.99655631, 0.99818268, 0.49296577],\
+-[	-6.27100196, -0.00112619, 0.00069047, 7.26987577, 0.99655756, 0.99818334, 0.49296597],\
+-[	-6.27100484, -0.00112578, 0.00069022, 7.26987906, 0.99655882, 0.99818400, 0.49296619],\
+-[	-6.27100772, -0.00112537, 0.00068997, 7.26988235, 0.99656007, 0.99818466, 0.49296639],\
+-[	-6.27101059, -0.00112496, 0.00068972, 7.26988563, 0.99656132, 0.99818532, 0.49296663],\
+-[	-6.27101345, -0.00112455, 0.00068947, 7.26988890, 0.99656257, 0.99818597, 0.49296681],\
+-[	-6.27101631, -0.00112415, 0.00068922, 7.26989216, 0.99656382, 0.99818663, 0.49296699],\
+-[	-6.27101915, -0.00112374, 0.00068897, 7.26989541, 0.99656506, 0.99818729, 0.49296722],\
+-[	-6.27102199, -0.00112333, 0.00068872, 7.26989866, 0.99656631, 0.99818795, 0.49296743],\
+-[	-6.27102482, -0.00112292, 0.00068847, 7.26990189, 0.99656756, 0.99818860, 0.49296764],\
+-[	-6.27102764, -0.00112252, 0.00068822, 7.26990512, 0.99656880, 0.99818926, 0.49296783],\
+-[	-6.27103045, -0.00112211, 0.00068797, 7.26990834, 0.99657005, 0.99818992, 0.49296802],\
+-[	-6.27103326, -0.00112171, 0.00068772, 7.26991155, 0.99657129, 0.99819057, 0.49296822],\
+-[	-6.27103606, -0.00112130, 0.00068747, 7.26991476, 0.99657253, 0.99819123, 0.49296843],\
+-[	-6.27103885, -0.00112089, 0.00068723, 7.26991795, 0.99657377, 0.99819188, 0.49296863],\
+-[	-6.27104163, -0.00112049, 0.00068698, 7.26992114, 0.99657501, 0.99819253, 0.49296882],\
+-[	-6.27104440, -0.00112008, 0.00068673, 7.26992432, 0.99657625, 0.99819319, 0.49296903],\
+-[	-6.27104717, -0.00111968, 0.00068648, 7.26992749, 0.99657749, 0.99819384, 0.49296925],\
+-[	-6.27104992, -0.00111927, 0.00068623, 7.26993065, 0.99657873, 0.99819449, 0.49296948],\
+-[	-6.27105267, -0.00111887, 0.00068599, 7.26993380, 0.99657997, 0.99819514, 0.49296966],\
+-[	-6.27105541, -0.00111847, 0.00068574, 7.26993695, 0.99658120, 0.99819580, 0.49296986],\
+-[	-6.27105815, -0.00111806, 0.00068549, 7.26994009, 0.99658244, 0.99819645, 0.49297006],\
+-[	-6.27106088, -0.00111766, 0.00068524, 7.26994322, 0.99658367, 0.99819710, 0.49297025],\
+-[	-6.27106359, -0.00111726, 0.00068500, 7.26994634, 0.99658491, 0.99819775, 0.49297043],\
+-[	-6.27106630, -0.00111685, 0.00068475, 7.26994945, 0.99658614, 0.99819840, 0.49297064],\
+-[	-6.27106901, -0.00111645, 0.00068450, 7.26995256, 0.99658737, 0.99819905, 0.49297085],\
+-[	-6.27107170, -0.00111605, 0.00068426, 7.26995565, 0.99658860, 0.99819970, 0.49297106],\
+-[	-6.27107439, -0.00111565, 0.00068401, 7.26995874, 0.99658983, 0.99820034, 0.49297123],\
+-[	-6.27107707, -0.00111525, 0.00068376, 7.26996183, 0.99659106, 0.99820099, 0.49297145],\
+-[	-6.27107974, -0.00111484, 0.00068352, 7.26996490, 0.99659229, 0.99820164, 0.49297165],\
+-[	-6.27108241, -0.00111444, 0.00068327, 7.26996797, 0.99659352, 0.99820229, 0.49297182],\
+-[	-6.27108507, -0.00111404, 0.00068302, 7.26997103, 0.99659474, 0.99820293, 0.49297202],\
+-[	-6.27108772, -0.00111364, 0.00068278, 7.26997408, 0.99659597, 0.99820358, 0.49297222],\
+-[	-6.27109036, -0.00111324, 0.00068253, 7.26997712, 0.99659719, 0.99820422, 0.49297241],\
+-[	-6.27109300, -0.00111284, 0.00068229, 7.26998015, 0.99659842, 0.99820487, 0.49297262],\
+-[	-6.27109562, -0.00111244, 0.00068204, 7.26998318, 0.99659964, 0.99820551, 0.49297281],\
+-[	-6.27109825, -0.00111204, 0.00068180, 7.26998620, 0.99660086, 0.99820616, 0.49297301],\
+-[	-6.27110086, -0.00111164, 0.00068155, 7.26998921, 0.99660208, 0.99820680, 0.49297320],\
+-[	-6.27110347, -0.00111125, 0.00068131, 7.26999222, 0.99660330, 0.99820744, 0.49297339],\
+-[	-6.27110606, -0.00111085, 0.00068106, 7.26999522, 0.99660452, 0.99820809, 0.49297359],\
+-[	-6.27110866, -0.00111045, 0.00068082, 7.26999821, 0.99660574, 0.99820873, 0.49297380],\
+-[	-6.27111124, -0.00111005, 0.00068058, 7.27000119, 0.99660696, 0.99820937, 0.49297397],\
+-[	-6.27111382, -0.00110965, 0.00068033, 7.27000416, 0.99660818, 0.99821001, 0.49297417],\
+-[	-6.27111639, -0.00110926, 0.00068009, 7.27000713, 0.99660939, 0.99821065, 0.49297437],\
+-[	-6.27111895, -0.00110886, 0.00067985, 7.27001009, 0.99661061, 0.99821129, 0.49297456],\
+-[	-6.27112151, -0.00110846, 0.00067960, 7.27001304, 0.99661182, 0.99821193, 0.49297477],\
+-[	-6.27112405, -0.00110807, 0.00067936, 7.27001599, 0.99661303, 0.99821257, 0.49297493],\
+-[	-6.27112660, -0.00110767, 0.00067912, 7.27001892, 0.99661425, 0.99821321, 0.49297516],\
+-[	-6.27112913, -0.00110728, 0.00067887, 7.27002185, 0.99661546, 0.99821385, 0.49297533],\
+-[	-6.27113166, -0.00110688, 0.00067863, 7.27002478, 0.99661667, 0.99821449, 0.49297550],\
+-[	-6.27113418, -0.00110648, 0.00067839, 7.27002769, 0.99661788, 0.99821513, 0.49297572],\
+-[	-6.27113669, -0.00110609, 0.00067815, 7.27003060, 0.99661909, 0.99821576, 0.49297589],\
+-[	-6.27113920, -0.00110569, 0.00067790, 7.27003350, 0.99662030, 0.99821640, 0.49297607],\
+-[	-6.27114170, -0.00110530, 0.00067766, 7.27003640, 0.99662150, 0.99821704, 0.49297628],\
+-[	-6.27114419, -0.00110491, 0.00067742, 7.27003928, 0.99662271, 0.99821767, 0.49297646],\
+-[	-6.27114668, -0.00110451, 0.00067718, 7.27004216, 0.99662392, 0.99821831, 0.49297664],\
+-[	-6.27114915, -0.00110412, 0.00067694, 7.27004504, 0.99662512, 0.99821894, 0.49297684],\
+-[	-6.27115163, -0.00110372, 0.00067670, 7.27004790, 0.99662632, 0.99821958, 0.49297702],\
+-[	-6.27115409, -0.00110333, 0.00067646, 7.27005076, 0.99662753, 0.99822021, 0.49297723],\
+-[	-6.27115655, -0.00110294, 0.00067621, 7.27005361, 0.99662873, 0.99822085, 0.49297742],\
+-[	-6.27115900, -0.00110255, 0.00067597, 7.27005646, 0.99662993, 0.99822148, 0.49297759],\
+-[	-6.27116145, -0.00110215, 0.00067573, 7.27005929, 0.99663113, 0.99822211, 0.49297781],\
+-[	-6.27116389, -0.00110176, 0.00067549, 7.27006212, 0.99663233, 0.99822274, 0.49297799],\
+-[	-6.27116632, -0.00110137, 0.00067525, 7.27006495, 0.99663353, 0.99822338, 0.49297818],\
+-[	-6.27116874, -0.00110098, 0.00067501, 7.27006776, 0.99663473, 0.99822401, 0.49297837],\
+-[	-6.27117116, -0.00110059, 0.00067477, 7.27007057, 0.99663592, 0.99822464, 0.49297853],\
+-[	-6.27117357, -0.00110020, 0.00067453, 7.27007338, 0.99663712, 0.99822527, 0.49297873],\
+-[	-6.27117598, -0.00109981, 0.00067429, 7.27007617, 0.99663832, 0.99822590, 0.49297890],\
+-[	-6.27117838, -0.00109942, 0.00067405, 7.27007896, 0.99663951, 0.99822653, 0.49297910],\
+-[	-6.27118077, -0.00109903, 0.00067381, 7.27008174, 0.99664070, 0.99822716, 0.49297929],\
+-[	-6.27118315, -0.00109864, 0.00067358, 7.27008452, 0.99664190, 0.99822779, 0.49297945],\
+-[	-6.27118553, -0.00109825, 0.00067334, 7.27008729, 0.99664309, 0.99822842, 0.49297965],\
+-[	-6.27118791, -0.00109786, 0.00067310, 7.27009005, 0.99664428, 0.99822904, 0.49297987],\
+-[	-6.27119027, -0.00109747, 0.00067286, 7.27009280, 0.99664547, 0.99822967, 0.49298005],\
+-[	-6.27119263, -0.00109708, 0.00067262, 7.27009555, 0.99664666, 0.99823030, 0.49298023],\
+-[	-6.27119499, -0.00109669, 0.00067238, 7.27009829, 0.99664785, 0.99823092, 0.49298041],\
+-[	-6.27119733, -0.00109630, 0.00067214, 7.27010103, 0.99664904, 0.99823155, 0.49298056],\
+-[	-6.27119968, -0.00109592, 0.00067191, 7.27010376, 0.99665022, 0.99823218, 0.49298074],\
+-[	-6.27120201, -0.00109553, 0.00067167, 7.27010648, 0.99665141, 0.99823280, 0.49298095],\
+-[	-6.27120434, -0.00109514, 0.00067143, 7.27010920, 0.99665259, 0.99823343, 0.49298115],\
+-[	-6.27120666, -0.00109475, 0.00067119, 7.27011190, 0.99665378, 0.99823405, 0.49298131],\
+-[	-6.27120898, -0.00109437, 0.00067096, 7.27011461, 0.99665496, 0.99823467, 0.49298149],\
+-[	-6.27121129, -0.00109398, 0.00067072, 7.27011730, 0.99665614, 0.99823530, 0.49298166],\
+-[	-6.27121359, -0.00109360, 0.00067048, 7.27011999, 0.99665733, 0.99823592, 0.49298185],\
+-[	-6.27121589, -0.00109321, 0.00067025, 7.27012268, 0.99665851, 0.99823654, 0.49298202],\
+-[	-6.27121818, -0.00109282, 0.00067001, 7.27012535, 0.99665969, 0.99823717, 0.49298224],\
+-[	-6.27122046, -0.00109244, 0.00066977, 7.27012802, 0.99666087, 0.99823779, 0.49298236],\
+-[	-6.27122274, -0.00109205, 0.00066954, 7.27013069, 0.99666205, 0.99823841, 0.49298260],\
+-[	-6.27122501, -0.00109167, 0.00066930, 7.27013334, 0.99666322, 0.99823903, 0.49298275],\
+-[	-6.27122728, -0.00109128, 0.00066907, 7.27013600, 0.99666440, 0.99823965, 0.49298294],\
+-[	-6.27122954, -0.00109090, 0.00066883, 7.27013864, 0.99666558, 0.99824027, 0.49298313],\
+-[	-6.27123179, -0.00109052, 0.00066859, 7.27014128, 0.99666675, 0.99824089, 0.49298330],\
+-[	-6.27123404, -0.00109013, 0.00066836, 7.27014391, 0.99666793, 0.99824151, 0.49298351],\
+-[	-6.27123629, -0.00108975, 0.00066812, 7.27014654, 0.99666910, 0.99824213, 0.49298363],\
+-[	-6.27123852, -0.00108937, 0.00066789, 7.27014916, 0.99667027, 0.99824275, 0.49298382],\
+-[	-6.27124075, -0.00108898, 0.00066765, 7.27015177, 0.99667144, 0.99824336, 0.49298401],\
+-[	-6.27124298, -0.00108860, 0.00066742, 7.27015438, 0.99667261, 0.99824398, 0.49298420],\
+-[	-6.27124520, -0.00108822, 0.00066718, 7.27015698, 0.99667379, 0.99824460, 0.49298438],\
+-[	-6.27124741, -0.00108784, 0.00066695, 7.27015957, 0.99667495, 0.99824521, 0.49298453],\
+-[	-6.27124962, -0.00108745, 0.00066672, 7.27016216, 0.99667612, 0.99824583, 0.49298471],\
+-[	-6.27125182, -0.00108707, 0.00066648, 7.27016475, 0.99667729, 0.99824645, 0.49298491],\
+-[	-6.27125401, -0.00108669, 0.00066625, 7.27016732, 0.99667846, 0.99824706, 0.49298510],\
+-[	-6.27125620, -0.00108631, 0.00066601, 7.27016989, 0.99667962, 0.99824768, 0.49298524],\
+-[	-6.27125839, -0.00108593, 0.00066578, 7.27017246, 0.99668079, 0.99824829, 0.49298544],\
+-[	-6.27126057, -0.00108555, 0.00066555, 7.27017502, 0.99668195, 0.99824890, 0.49298562],\
+-[	-6.27126274, -0.00108517, 0.00066531, 7.27017757, 0.99668312, 0.99824952, 0.49298575],\
+-[	-6.27126490, -0.00108479, 0.00066508, 7.27018012, 0.99668428, 0.99825013, 0.49298596],\
+-[	-6.27126707, -0.00108441, 0.00066485, 7.27018266, 0.99668544, 0.99825074, 0.49298614],\
+-[	-6.27126922, -0.00108403, 0.00066461, 7.27018519, 0.99668660, 0.99825136, 0.49298629],\
+-[	-6.27127137, -0.00108365, 0.00066438, 7.27018772, 0.99668776, 0.99825197, 0.49298647],\
+-[	-6.27127351, -0.00108327, 0.00066415, 7.27019024, 0.99668892, 0.99825258, 0.49298665],\
+-[	-6.27127565, -0.00108289, 0.00066392, 7.27019276, 0.99669008, 0.99825319, 0.49298685],\
+-[	-6.27127779, -0.00108251, 0.00066369, 7.27019527, 0.99669124, 0.99825380, 0.49298701],\
+-[	-6.27127991, -0.00108214, 0.00066345, 7.27019778, 0.99669240, 0.99825441, 0.49298719],\
+-[	-6.27128204, -0.00108176, 0.00066322, 7.27020028, 0.99669356, 0.99825502, 0.49298735],\
+-[	-6.27128415, -0.00108138, 0.00066299, 7.27020277, 0.99669471, 0.99825563, 0.49298754],\
+-[	-6.27128626, -0.00108100, 0.00066276, 7.27020526, 0.99669587, 0.99825624, 0.49298772],\
+-[	-6.27128837, -0.00108063, 0.00066253, 7.27020774, 0.99669702, 0.99825685, 0.49298787],\
+-[	-6.27129047, -0.00108025, 0.00066230, 7.27021022, 0.99669817, 0.99825746, 0.49298806],\
+-[	-6.27129256, -0.00107987, 0.00066206, 7.27021269, 0.99669933, 0.99825806, 0.49298822],\
+-[	-6.27129465, -0.00107950, 0.00066183, 7.27021516, 0.99670048, 0.99825867, 0.49298838],\
+-[	-6.27129674, -0.00107912, 0.00066160, 7.27021762, 0.99670163, 0.99825928, 0.49298857],\
+-[	-6.27129881, -0.00107874, 0.00066137, 7.27022007, 0.99670278, 0.99825988, 0.49298872],\
+-[	-6.27130089, -0.00107837, 0.00066114, 7.27022252, 0.99670393, 0.99826049, 0.49298890],\
+-[	-6.27130295, -0.00107799, 0.00066091, 7.27022496, 0.99670508, 0.99826109, 0.49298906],\
+-[	-6.27130502, -0.00107762, 0.00066068, 7.27022740, 0.99670622, 0.99826170, 0.49298921],\
+-[	-6.27130707, -0.00107724, 0.00066045, 7.27022983, 0.99670737, 0.99826230, 0.49298942],\
+-[	-6.27130913, -0.00107687, 0.00066022, 7.27023226, 0.99670852, 0.99826291, 0.49298958],\
+-[	-6.27131117, -0.00107649, 0.00065999, 7.27023468, 0.99670966, 0.99826351, 0.49298977],\
+-[	-6.27131321, -0.00107612, 0.00065976, 7.27023709, 0.99671081, 0.99826412, 0.49298992],\
+-[	-6.27131525, -0.00107575, 0.00065953, 7.27023950, 0.99671195, 0.99826472, 0.49299011],\
+-[	-6.27131728, -0.00107537, 0.00065931, 7.27024191, 0.99671309, 0.99826532, 0.49299028],\
+-[	-6.27131930, -0.00107500, 0.00065908, 7.27024430, 0.99671423, 0.99826592, 0.49299042],\
+-[	-6.27132133, -0.00107463, 0.00065885, 7.27024670, 0.99671538, 0.99826653, 0.49299058],\
+-[	-6.27132334, -0.00107425, 0.00065862, 7.27024909, 0.99671652, 0.99826713, 0.49299077],\
+-[	-6.27132535, -0.00107388, 0.00065839, 7.27025147, 0.99671766, 0.99826773, 0.49299096],\
+-[	-6.27132736, -0.00107351, 0.00065816, 7.27025385, 0.99671879, 0.99826833, 0.49299111],\
+-[	-6.27132936, -0.00107314, 0.00065793, 7.27025622, 0.99671993, 0.99826893, 0.49299126],\
+-[	-6.27133135, -0.00107277, 0.00065771, 7.27025858, 0.99672107, 0.99826953, 0.49299144],\
+-[	-6.27133334, -0.00107239, 0.00065748, 7.27026094, 0.99672221, 0.99827013, 0.49299160],\
+-[	-6.27133532, -0.00107202, 0.00065725, 7.27026330, 0.99672334, 0.99827073, 0.49299180],\
+-[	-6.27133730, -0.00107165, 0.00065702, 7.27026565, 0.99672448, 0.99827132, 0.49299193],\
+-[	-6.27133928, -0.00107128, 0.00065680, 7.27026800, 0.99672561, 0.99827192, 0.49299212],\
+-[	-6.27134125, -0.00107091, 0.00065657, 7.27027034, 0.99672674, 0.99827252, 0.49299227],\
+-[	-6.27134321, -0.00107054, 0.00065634, 7.27027267, 0.99672788, 0.99827312, 0.49299243],\
+-[	-6.27134517, -0.00107017, 0.00065611, 7.27027500, 0.99672901, 0.99827371, 0.49299259],\
+-[	-6.27134713, -0.00106980, 0.00065589, 7.27027733, 0.99673014, 0.99827431, 0.49299280],\
+-[	-6.27134908, -0.00106943, 0.00065566, 7.27027964, 0.99673127, 0.99827491, 0.49299296],\
+-[	-6.27135102, -0.00106906, 0.00065543, 7.27028196, 0.99673240, 0.99827550, 0.49299309],\
+-[	-6.27135296, -0.00106870, 0.00065521, 7.27028427, 0.99673353, 0.99827610, 0.49299327],\
+-[	-6.27135490, -0.00106833, 0.00065498, 7.27028657, 0.99673466, 0.99827669, 0.49299344],\
+-[	-6.27135683, -0.00106796, 0.00065476, 7.27028887, 0.99673578, 0.99827729, 0.49299361],\
+-[	-6.27135875, -0.00106759, 0.00065453, 7.27029116, 0.99673691, 0.99827788, 0.49299378],\
+-[	-6.27136067, -0.00106722, 0.00065430, 7.27029345, 0.99673804, 0.99827847, 0.49299395],\
+-[	-6.27136259, -0.00106685, 0.00065408, 7.27029574, 0.99673916, 0.99827907, 0.49299413],\
+-[	-6.27136450, -0.00106649, 0.00065385, 7.27029801, 0.99674028, 0.99827966, 0.49299427],\
+-[	-6.27136641, -0.00106612, 0.00065363, 7.27030029, 0.99674141, 0.99828025, 0.49299442],\
+-[	-6.27136831, -0.00106575, 0.00065340, 7.27030256, 0.99674253, 0.99828084, 0.49299460],\
+-[	-6.27137021, -0.00106539, 0.00065318, 7.27030482, 0.99674365, 0.99828143, 0.49299474],\
+-[	-6.27137210, -0.00106502, 0.00065295, 7.27030708, 0.99674477, 0.99828203, 0.49299490],\
+-[	-6.27137399, -0.00106465, 0.00065273, 7.27030933, 0.99674589, 0.99828262, 0.49299509],\
+-[	-6.27137587, -0.00106429, 0.00065250, 7.27031158, 0.99674701, 0.99828321, 0.49299525],\
+-[	-6.27137775, -0.00106392, 0.00065228, 7.27031382, 0.99674813, 0.99828380, 0.49299541],\
+-[	-6.27137962, -0.00106356, 0.00065206, 7.27031606, 0.99674925, 0.99828439, 0.49299561],\
+-[	-6.27138149, -0.00106319, 0.00065183, 7.27031830, 0.99675037, 0.99828497, 0.49299573],\
+-[	-6.27138335, -0.00106283, 0.00065161, 7.27032053, 0.99675148, 0.99828556, 0.49299589],\
+-[	-6.27138521, -0.00106246, 0.00065139, 7.27032275, 0.99675260, 0.99828615, 0.49299603],\
+-[	-6.27138707, -0.00106210, 0.00065116, 7.27032497, 0.99675371, 0.99828674, 0.49299621],\
+-[	-6.27138892, -0.00106173, 0.00065094, 7.27032719, 0.99675483, 0.99828733, 0.49299635],\
+-[	-6.27139077, -0.00106137, 0.00065072, 7.27032940, 0.99675594, 0.99828791, 0.49299653],\
+-[	-6.27139261, -0.00106101, 0.00065049, 7.27033160, 0.99675705, 0.99828850, 0.49299670],\
+-[	-6.27139445, -0.00106064, 0.00065027, 7.27033380, 0.99675816, 0.99828909, 0.49299687],\
+-[	-6.27139628, -0.00106028, 0.00065005, 7.27033600, 0.99675928, 0.99828967, 0.49299705],\
+-[	-6.27139811, -0.00105992, 0.00064982, 7.27033819, 0.99676039, 0.99829026, 0.49299718],\
+-[	-6.27139993, -0.00105956, 0.00064960, 7.27034037, 0.99676150, 0.99829084, 0.49299736],\
+-[	-6.27140175, -0.00105919, 0.00064938, 7.27034256, 0.99676260, 0.99829143, 0.49299751],\
+-[	-6.27140356, -0.00105883, 0.00064916, 7.27034473, 0.99676371, 0.99829201, 0.49299765],\
+-[	-6.27140537, -0.00105847, 0.00064893, 7.27034690, 0.99676482, 0.99829260, 0.49299782],\
+-[	-6.27140718, -0.00105811, 0.00064871, 7.27034907, 0.99676593, 0.99829318, 0.49299800],\
+-[	-6.27140898, -0.00105775, 0.00064849, 7.27035123, 0.99676703, 0.99829376, 0.49299816],\
+-[	-6.27141078, -0.00105739, 0.00064827, 7.27035339, 0.99676814, 0.99829434, 0.49299833],\
+-[	-6.27141257, -0.00105702, 0.00064805, 7.27035555, 0.99676924, 0.99829493, 0.49299845],\
+-[	-6.27141436, -0.00105666, 0.00064783, 7.27035770, 0.99677034, 0.99829551, 0.49299862],\
+-[	-6.27141614, -0.00105630, 0.00064761, 7.27035984, 0.99677145, 0.99829609, 0.49299878],\
+-[	-6.27141792, -0.00105594, 0.00064739, 7.27036198, 0.99677255, 0.99829667, 0.49299891],\
+-[	-6.27141970, -0.00105558, 0.00064716, 7.27036412, 0.99677365, 0.99829725, 0.49299912],\
+-[	-6.27142147, -0.00105522, 0.00064694, 7.27036625, 0.99677475, 0.99829783, 0.49299926],\
+-[	-6.27142324, -0.00105486, 0.00064672, 7.27036837, 0.99677585, 0.99829841, 0.49299943],\
+-[	-6.27142500, -0.00105451, 0.00064650, 7.27037050, 0.99677695, 0.99829899, 0.49299955],\
+-[	-6.27142676, -0.00105415, 0.00064628, 7.27037261, 0.99677805, 0.99829957, 0.49299971],\
+-[	-6.27142851, -0.00105379, 0.00064606, 7.27037473, 0.99677914, 0.99830015, 0.49299984],\
+-[	-6.27143026, -0.00105343, 0.00064584, 7.27037683, 0.99678024, 0.99830073, 0.49300001],\
+-[	-6.27143201, -0.00105307, 0.00064562, 7.27037894, 0.99678134, 0.99830131, 0.49300017],\
+-[	-6.27143375, -0.00105271, 0.00064540, 7.27038104, 0.99678243, 0.99830188, 0.49300033],\
+-[	-6.27143549, -0.00105236, 0.00064518, 7.27038313, 0.99678353, 0.99830246, 0.49300050],\
+-[	-6.27143722, -0.00105200, 0.00064496, 7.27038522, 0.99678462, 0.99830304, 0.49300065],\
+-[	-6.27143895, -0.00105164, 0.00064475, 7.27038731, 0.99678571, 0.99830361, 0.49300081],\
+-[	-6.27144068, -0.00105128, 0.00064453, 7.27038939, 0.99678681, 0.99830419, 0.49300096],\
+-[	-6.27144240, -0.00105093, 0.00064431, 7.27039147, 0.99678790, 0.99830477, 0.49300112],\
+-[	-6.27144412, -0.00105057, 0.00064409, 7.27039355, 0.99678899, 0.99830534, 0.49300126],\
+-[	-6.27144583, -0.00105021, 0.00064387, 7.27039561, 0.99679008, 0.99830592, 0.49300141],\
+-[	-6.27144754, -0.00104986, 0.00064365, 7.27039768, 0.99679117, 0.99830649, 0.49300158],\
+-[	-6.27144924, -0.00104950, 0.00064343, 7.27039974, 0.99679226, 0.99830706, 0.49300174],\
+-[	-6.27145094, -0.00104915, 0.00064322, 7.27040180, 0.99679334, 0.99830764, 0.49300191],\
+-[	-6.27145264, -0.00104879, 0.00064300, 7.27040385, 0.99679443, 0.99830821, 0.49300203],\
+-[	-6.27145433, -0.00104844, 0.00064278, 7.27040590, 0.99679552, 0.99830878, 0.49300220],\
+-[	-6.27145602, -0.00104808, 0.00064256, 7.27040794, 0.99679660, 0.99830936, 0.49300234],\
+-[	-6.27145771, -0.00104773, 0.00064234, 7.27040998, 0.99679769, 0.99830993, 0.49300248],\
+-[	-6.27145939, -0.00104737, 0.00064213, 7.27041202, 0.99679877, 0.99831050, 0.49300264],\
+-[	-6.27146107, -0.00104702, 0.00064191, 7.27041405, 0.99679986, 0.99831107, 0.49300280],\
+-[	-6.27146274, -0.00104667, 0.00064169, 7.27041607, 0.99680094, 0.99831164, 0.49300294],\
+-[	-6.27146441, -0.00104631, 0.00064148, 7.27041810, 0.99680202, 0.99831221, 0.49300310],\
+-[	-6.27146607, -0.00104596, 0.00064126, 7.27042012, 0.99680310, 0.99831278, 0.49300325],\
+-[	-6.27146774, -0.00104561, 0.00064104, 7.27042213, 0.99680418, 0.99831335, 0.49300340],\
+-[	-6.27146939, -0.00104525, 0.00064083, 7.27042414, 0.99680526, 0.99831392, 0.49300357],\
+-[	-6.27147105, -0.00104490, 0.00064061, 7.27042615, 0.99680634, 0.99831449, 0.49300370],\
+-[	-6.27147270, -0.00104455, 0.00064039, 7.27042815, 0.99680742, 0.99831506, 0.49300390],\
+-[	-6.27147434, -0.00104420, 0.00064018, 7.27043015, 0.99680850, 0.99831563, 0.49300402],\
+-[	-6.27147599, -0.00104384, 0.00063996, 7.27043214, 0.99680957, 0.99831620, 0.49300417],\
+-[	-6.27147762, -0.00104349, 0.00063975, 7.27043413, 0.99681065, 0.99831676, 0.49300431],\
+-[	-6.27147926, -0.00104314, 0.00063953, 7.27043612, 0.99681172, 0.99831733, 0.49300449],\
+-[	-6.27148089, -0.00104279, 0.00063931, 7.27043810, 0.99681280, 0.99831790, 0.49300460],\
+-[	-6.27148252, -0.00104244, 0.00063910, 7.27044008, 0.99681387, 0.99831846, 0.49300478],\
+-[	-6.27148414, -0.00104209, 0.00063888, 7.27044205, 0.99681495, 0.99831903, 0.49300494],\
+-[	-6.27148576, -0.00104174, 0.00063867, 7.27044402, 0.99681602, 0.99831959, 0.49300507],\
+-[	-6.27148738, -0.00104139, 0.00063845, 7.27044599, 0.99681709, 0.99832016, 0.49300523],\
+-[	-6.27148899, -0.00104104, 0.00063824, 7.27044795, 0.99681816, 0.99832072, 0.49300537],\
+-[	-6.27149060, -0.00104069, 0.00063802, 7.27044991, 0.99681923, 0.99832129, 0.49300552],\
+-[	-6.27149220, -0.00104034, 0.00063781, 7.27045186, 0.99682030, 0.99832185, 0.49300567],\
+-[	-6.27149380, -0.00103999, 0.00063760, 7.27045382, 0.99682137, 0.99832242, 0.49300583],\
+-[	-6.27149540, -0.00103964, 0.00063738, 7.27045576, 0.99682244, 0.99832298, 0.49300595],\
+-[	-6.27149699, -0.00103929, 0.00063717, 7.27045771, 0.99682351, 0.99832354, 0.49300609],\
+-[	-6.27149859, -0.00103894, 0.00063695, 7.27045964, 0.99682457, 0.99832411, 0.49300627],\
+-[	-6.27150017, -0.00103859, 0.00063674, 7.27046158, 0.99682564, 0.99832467, 0.49300642],\
+-[	-6.27150175, -0.00103824, 0.00063653, 7.27046351, 0.99682670, 0.99832523, 0.49300653],\
+-[	-6.27150333, -0.00103790, 0.00063631, 7.27046544, 0.99682777, 0.99832579, 0.49300671],\
+-[	-6.27150491, -0.00103755, 0.00063610, 7.27046736, 0.99682883, 0.99832635, 0.49300686],\
+-[	-6.27150648, -0.00103720, 0.00063589, 7.27046928, 0.99682990, 0.99832691, 0.49300700],\
+-[	-6.27150805, -0.00103685, 0.00063567, 7.27047120, 0.99683096, 0.99832747, 0.49300717],\
+-[	-6.27150962, -0.00103651, 0.00063546, 7.27047311, 0.99683202, 0.99832803, 0.49300731],\
+-[	-6.27151118, -0.00103616, 0.00063525, 7.27047502, 0.99683308, 0.99832859, 0.49300742],\
+-[	-6.27151274, -0.00103581, 0.00063503, 7.27047692, 0.99683414, 0.99832915, 0.49300759],\
+-[	-6.27151429, -0.00103547, 0.00063482, 7.27047882, 0.99683520, 0.99832971, 0.49300775],\
+-[	-6.27151584, -0.00103512, 0.00063461, 7.27048072, 0.99683626, 0.99833027, 0.49300787],\
+-[	-6.27151739, -0.00103478, 0.00063440, 7.27048262, 0.99683732, 0.99833083, 0.49300803],\
+-[	-6.27151893, -0.00103443, 0.00063419, 7.27048451, 0.99683838, 0.99833138, 0.49300818],\
+-[	-6.27152048, -0.00103408, 0.00063397, 7.27048639, 0.99683943, 0.99833194, 0.49300831],\
+-[	-6.27152201, -0.00103374, 0.00063376, 7.27048827, 0.99684049, 0.99833250, 0.49300846],\
+-[	-6.27152355, -0.00103339, 0.00063355, 7.27049015, 0.99684154, 0.99833306, 0.49300863],\
+-[	-6.27152508, -0.00103305, 0.00063334, 7.27049203, 0.99684260, 0.99833361, 0.49300877],\
+-[	-6.27152660, -0.00103270, 0.00063313, 7.27049390, 0.99684365, 0.99833417, 0.49300891],\
+-[	-6.27152813, -0.00103236, 0.00063292, 7.27049577, 0.99684471, 0.99833472, 0.49300907],\
+-[	-6.27152965, -0.00103202, 0.00063271, 7.27049763, 0.99684576, 0.99833528, 0.49300922],\
+-[	-6.27153117, -0.00103167, 0.00063249, 7.27049949, 0.99684681, 0.99833583, 0.49300935],\
+-[	-6.27153268, -0.00103133, 0.00063228, 7.27050135, 0.99684786, 0.99833639, 0.49300949],\
+-[	-6.27153419, -0.00103099, 0.00063207, 7.27050320, 0.99684891, 0.99833694, 0.49300966],\
+-[	-6.27153570, -0.00103064, 0.00063186, 7.27050505, 0.99684996, 0.99833749, 0.49300980],\
+-[	-6.27153720, -0.00103030, 0.00063165, 7.27050690, 0.99685101, 0.99833805, 0.49300992],\
+-[	-6.27153870, -0.00102996, 0.00063144, 7.27050874, 0.99685206, 0.99833860, 0.49301003],\
+-[	-6.27154020, -0.00102961, 0.00063123, 7.27051058, 0.99685311, 0.99833915, 0.49301024],\
+-[	-6.27154169, -0.00102927, 0.00063102, 7.27051242, 0.99685415, 0.99833971, 0.49301036],\
+-[	-6.27154318, -0.00102893, 0.00063081, 7.27051425, 0.99685520, 0.99834026, 0.49301051],\
+-[	-6.27154467, -0.00102859, 0.00063060, 7.27051608, 0.99685625, 0.99834081, 0.49301064],\
+-[	-6.27154615, -0.00102825, 0.00063039, 7.27051791, 0.99685729, 0.99834136, 0.49301076],\
+-[	-6.27154763, -0.00102791, 0.00063018, 7.27051973, 0.99685834, 0.99834191, 0.49301089],\
+-[	-6.27154911, -0.00102756, 0.00062997, 7.27052155, 0.99685938, 0.99834246, 0.49301105],\
+-[	-6.27155059, -0.00102722, 0.00062976, 7.27052336, 0.99686042, 0.99834301, 0.49301119],\
+-[	-6.27155206, -0.00102688, 0.00062956, 7.27052517, 0.99686146, 0.99834356, 0.49301134],\
+-[	-6.27155352, -0.00102654, 0.00062935, 7.27052698, 0.99686251, 0.99834411, 0.49301148],\
+-[	-6.27155499, -0.00102620, 0.00062914, 7.27052879, 0.99686355, 0.99834466, 0.49301163],\
+-[	-6.27155645, -0.00102586, 0.00062893, 7.27053059, 0.99686459, 0.99834521, 0.49301176],\
+-[	-6.27155791, -0.00102552, 0.00062872, 7.27053239, 0.99686563, 0.99834576, 0.49301188],\
+-[	-6.27155936, -0.00102518, 0.00062851, 7.27053418, 0.99686666, 0.99834630, 0.49301206],\
+-[	-6.27156082, -0.00102484, 0.00062830, 7.27053597, 0.99686770, 0.99834685, 0.49301220],\
+-[	-6.27156226, -0.00102451, 0.00062810, 7.27053776, 0.99686874, 0.99834740, 0.49301233],\
+-[	-6.27156371, -0.00102417, 0.00062789, 7.27053954, 0.99686978, 0.99834794, 0.49301246],\
+-[	-6.27156515, -0.00102383, 0.00062768, 7.27054132, 0.99687081, 0.99834849, 0.49301262],\
+-[	-6.27156659, -0.00102349, 0.00062747, 7.27054310, 0.99687185, 0.99834904, 0.49301280],\
+-[	-6.27156803, -0.00102315, 0.00062727, 7.27054488, 0.99687288, 0.99834958, 0.49301294],\
+-[	-6.27156946, -0.00102281, 0.00062706, 7.27054665, 0.99687392, 0.99835013, 0.49301309],\
+-[	-6.27157089, -0.00102248, 0.00062685, 7.27054842, 0.99687495, 0.99835067, 0.49301319],\
+-[	-6.27157232, -0.00102214, 0.00062664, 7.27055018, 0.99687598, 0.99835122, 0.49301335],\
+-[	-6.27157374, -0.00102180, 0.00062644, 7.27055194, 0.99687701, 0.99835176, 0.49301345],\
+-[	-6.27157517, -0.00102146, 0.00062623, 7.27055370, 0.99687805, 0.99835231, 0.49301362],\
+-[	-6.27157658, -0.00102113, 0.00062602, 7.27055546, 0.99687908, 0.99835285, 0.49301372],\
+-[	-6.27157800, -0.00102079, 0.00062582, 7.27055721, 0.99688011, 0.99835339, 0.49301383],\
+-[	-6.27157941, -0.00102045, 0.00062561, 7.27055896, 0.99688113, 0.99835393, 0.49301405],\
+-[	-6.27158082, -0.00102012, 0.00062540, 7.27056070, 0.99688216, 0.99835448, 0.49301418],\
+-[	-6.27158223, -0.00101978, 0.00062520, 7.27056244, 0.99688319, 0.99835502, 0.49301433],\
+-[	-6.27158363, -0.00101945, 0.00062499, 7.27056418, 0.99688422, 0.99835556, 0.49301444],\
+-[	-6.27158503, -0.00101911, 0.00062479, 7.27056592, 0.99688524, 0.99835610, 0.49301454],\
+-[	-6.27158643, -0.00101878, 0.00062458, 7.27056765, 0.99688627, 0.99835664, 0.49301468],\
+-[	-6.27158782, -0.00101844, 0.00062438, 7.27056938, 0.99688730, 0.99835718, 0.49301483],\
+-[	-6.27158921, -0.00101811, 0.00062417, 7.27057111, 0.99688832, 0.99835772, 0.49301499],\
+-[	-6.27159060, -0.00101777, 0.00062396, 7.27057283, 0.99688934, 0.99835826, 0.49301513],\
+-[	-6.27159199, -0.00101744, 0.00062376, 7.27057455, 0.99689037, 0.99835880, 0.49301528],\
+-[	-6.27159337, -0.00101710, 0.00062355, 7.27057627, 0.99689139, 0.99835934, 0.49301541],\
+-[	-6.27159475, -0.00101677, 0.00062335, 7.27057798, 0.99689241, 0.99835988, 0.49301553],\
+-[	-6.27159613, -0.00101644, 0.00062314, 7.27057969, 0.99689343, 0.99836042, 0.49301569],\
+-[	-6.27159750, -0.00101610, 0.00062294, 7.27058140, 0.99689445, 0.99836096, 0.49301584],\
+-[	-6.27159887, -0.00101577, 0.00062274, 7.27058310, 0.99689547, 0.99836150, 0.49301593],\
+-[	-6.27160024, -0.00101544, 0.00062253, 7.27058480, 0.99689649, 0.99836203, 0.49301608],\
+-[	-6.27160160, -0.00101510, 0.00062233, 7.27058650, 0.99689751, 0.99836257, 0.49301621],\
+-[	-6.27160297, -0.00101477, 0.00062212, 7.27058820, 0.99689853, 0.99836311, 0.49301634],\
+-[	-6.27160433, -0.00101444, 0.00062192, 7.27058989, 0.99689954, 0.99836364, 0.49301647],\
+-[	-6.27160568, -0.00101410, 0.00062171, 7.27059158, 0.99690056, 0.99836418, 0.49301663],\
+-[	-6.27160704, -0.00101377, 0.00062151, 7.27059327, 0.99690158, 0.99836472, 0.49301679],\
+-[	-6.27160839, -0.00101344, 0.00062131, 7.27059495, 0.99690259, 0.99836525, 0.49301693],\
+-[	-6.27160974, -0.00101311, 0.00062110, 7.27059663, 0.99690361, 0.99836579, 0.49301706],\
+-[	-6.27161108, -0.00101278, 0.00062090, 7.27059831, 0.99690462, 0.99836632, 0.49301722],\
+-[	-6.27161243, -0.00101245, 0.00062070, 7.27059998, 0.99690563, 0.99836686, 0.49301730],\
+-[	-6.27161377, -0.00101212, 0.00062049, 7.27060165, 0.99690664, 0.99836739, 0.49301748],\
+-[	-6.27161511, -0.00101179, 0.00062029, 7.27060332, 0.99690766, 0.99836792, 0.49301757],\
+-[	-6.27161644, -0.00101146, 0.00062009, 7.27060499, 0.99690867, 0.99836846, 0.49301772],\
+-[	-6.27161777, -0.00101112, 0.00061989, 7.27060665, 0.99690968, 0.99836899, 0.49301787],\
+-[	-6.27161910, -0.00101079, 0.00061968, 7.27060831, 0.99691069, 0.99836952, 0.49301798],\
+-[	-6.27162043, -0.00101046, 0.00061948, 7.27060996, 0.99691170, 0.99837005, 0.49301811],\
+-[	-6.27162175, -0.00101014, 0.00061928, 7.27061162, 0.99691271, 0.99837059, 0.49301825],\
+-[	-6.27162307, -0.00100981, 0.00061908, 7.27061327, 0.99691371, 0.99837112, 0.49301840],\
+-[	-6.27162439, -0.00100948, 0.00061887, 7.27061492, 0.99691472, 0.99837165, 0.49301855],\
+-[	-6.27162571, -0.00100915, 0.00061867, 7.27061656, 0.99691573, 0.99837218, 0.49301866],\
+-[	-6.27162702, -0.00100882, 0.00061847, 7.27061820, 0.99691673, 0.99837271, 0.49301881],\
+-[	-6.27162833, -0.00100849, 0.00061827, 7.27061984, 0.99691774, 0.99837324, 0.49301892],\
+-[	-6.27162964, -0.00100816, 0.00061807, 7.27062148, 0.99691874, 0.99837377, 0.49301906],\
+-[	-6.27163095, -0.00100783, 0.00061787, 7.27062311, 0.99691975, 0.99837430, 0.49301923],\
+-[	-6.27163225, -0.00100751, 0.00061767, 7.27062474, 0.99692075, 0.99837483, 0.49301935],\
+-[	-6.27163355, -0.00100718, 0.00061746, 7.27062637, 0.99692175, 0.99837536, 0.49301944],\
+-[	-6.27163485, -0.00100685, 0.00061726, 7.27062800, 0.99692275, 0.99837589, 0.49301961],\
+-[	-6.27163614, -0.00100652, 0.00061706, 7.27062962, 0.99692375, 0.99837641, 0.49301974],\
+-[	-6.27163743, -0.00100620, 0.00061686, 7.27063124, 0.99692476, 0.99837694, 0.49301990],\
+-[	-6.27163872, -0.00100587, 0.00061666, 7.27063285, 0.99692576, 0.99837747, 0.49301996],\
+-[	-6.27164001, -0.00100554, 0.00061646, 7.27063447, 0.99692675, 0.99837800, 0.49302013],\
+-[	-6.27164130, -0.00100522, 0.00061626, 7.27063608, 0.99692775, 0.99837852, 0.49302024],\
+-[	-6.27164258, -0.00100489, 0.00061606, 7.27063769, 0.99692875, 0.99837905, 0.49302039],\
+-[	-6.27164386, -0.00100456, 0.00061586, 7.27063929, 0.99692975, 0.99837957, 0.49302050],\
+-[	-6.27164513, -0.00100424, 0.00061566, 7.27064090, 0.99693075, 0.99838010, 0.49302064],\
+-[	-6.27164641, -0.00100391, 0.00061546, 7.27064250, 0.99693174, 0.99838063, 0.49302080],\
+-[	-6.27164768, -0.00100359, 0.00061526, 7.27064409, 0.99693274, 0.99838115, 0.49302092],\
+-[	-6.27164895, -0.00100326, 0.00061506, 7.27064569, 0.99693373, 0.99838168, 0.49302106],\
+-[	-6.27165022, -0.00100294, 0.00061486, 7.27064728, 0.99693473, 0.99838220, 0.49302117],\
+-[	-6.27165148, -0.00100261, 0.00061466, 7.27064887, 0.99693572, 0.99838272, 0.49302135],\
+-[	-6.27165274, -0.00100229, 0.00061446, 7.27065045, 0.99693671, 0.99838325, 0.49302147],\
+-[	-6.27165400, -0.00100196, 0.00061427, 7.27065204, 0.99693770, 0.99838377, 0.49302161],\
+-[	-6.27165526, -0.00100164, 0.00061407, 7.27065362, 0.99693870, 0.99838429, 0.49302174],\
+-[	-6.27165651, -0.00100132, 0.00061387, 7.27065520, 0.99693969, 0.99838482, 0.49302182],\
+-[	-6.27165777, -0.00100099, 0.00061367, 7.27065677, 0.99694068, 0.99838534, 0.49302200],\
+-[	-6.27165902, -0.00100067, 0.00061347, 7.27065835, 0.99694167, 0.99838586, 0.49302214],\
+-[	-6.27166026, -0.00100035, 0.00061327, 7.27065992, 0.99694266, 0.99838638, 0.49302227],\
+-[	-6.27166151, -0.00100002, 0.00061307, 7.27066149, 0.99694364, 0.99838690, 0.49302237],\
+-[	-6.27166275, -0.00099970, 0.00061288, 7.27066305, 0.99694463, 0.99838742, 0.49302253],\
+-[	-6.27166399, -0.00099938, 0.00061268, 7.27066461, 0.99694562, 0.99838795, 0.49302264],\
+-[	-6.27166523, -0.00099905, 0.00061248, 7.27066617, 0.99694660, 0.99838847, 0.49302277],\
+-[	-6.27166646, -0.00099873, 0.00061228, 7.27066773, 0.99694759, 0.99838899, 0.49302290],\
+-[	-6.27166770, -0.00099841, 0.00061208, 7.27066928, 0.99694858, 0.99838951, 0.49302301],\
+-[	-6.27166893, -0.00099809, 0.00061189, 7.27067084, 0.99694956, 0.99839002, 0.49302315],\
+-[	-6.27167015, -0.00099777, 0.00061169, 7.27067239, 0.99695054, 0.99839054, 0.49302331],\
+-[	-6.27167138, -0.00099745, 0.00061149, 7.27067393, 0.99695153, 0.99839106, 0.49302343],\
+-[	-6.27167260, -0.00099712, 0.00061130, 7.27067548, 0.99695251, 0.99839158, 0.49302354],\
+-[	-6.27167382, -0.00099680, 0.00061110, 7.27067702, 0.99695349, 0.99839210, 0.49302367],\
+-[	-6.27167504, -0.00099648, 0.00061090, 7.27067856, 0.99695447, 0.99839262, 0.49302378],\
+-[	-6.27167626, -0.00099616, 0.00061070, 7.27068010, 0.99695545, 0.99839313, 0.49302391],\
+-[	-6.27167747, -0.00099584, 0.00061051, 7.27068163, 0.99695643, 0.99839365, 0.49302405],\
+-[	-6.27167868, -0.00099552, 0.00061031, 7.27068316, 0.99695741, 0.99839417, 0.49302418],\
+-[	-6.27167989, -0.00099520, 0.00061012, 7.27068469, 0.99695839, 0.99839468, 0.49302428],\
+-[	-6.27168110, -0.00099488, 0.00060992, 7.27068622, 0.99695937, 0.99839520, 0.49302442],\
+-[	-6.27168231, -0.00099456, 0.00060972, 7.27068774, 0.99696035, 0.99839571, 0.49302457],\
+-[	-6.27168351, -0.00099424, 0.00060953, 7.27068927, 0.99696133, 0.99839623, 0.49302469],\
+-[	-6.27168471, -0.00099392, 0.00060933, 7.27069078, 0.99696230, 0.99839674, 0.49302483],\
+-[	-6.27168591, -0.00099360, 0.00060914, 7.27069230, 0.99696328, 0.99839726, 0.49302493],\
+-[	-6.27168710, -0.00099329, 0.00060894, 7.27069382, 0.99696425, 0.99839777, 0.49302510],\
+-[	-6.27168829, -0.00099297, 0.00060874, 7.27069533, 0.99696523, 0.99839829, 0.49302519],\
+-[	-6.27168949, -0.00099265, 0.00060855, 7.27069684, 0.99696620, 0.99839880, 0.49302531],\
+-[	-6.27169067, -0.00099233, 0.00060835, 7.27069834, 0.99696717, 0.99839931, 0.49302546],\
+-[	-6.27169186, -0.00099201, 0.00060816, 7.27069985, 0.99696815, 0.99839983, 0.49302559],\
+-[	-6.27169305, -0.00099170, 0.00060796, 7.27070135, 0.99696912, 0.99840034, 0.49302572],\
+-[	-6.27169423, -0.00099138, 0.00060777, 7.27070285, 0.99697009, 0.99840085, 0.49302581],\
+-[	-6.27169541, -0.00099106, 0.00060757, 7.27070435, 0.99697106, 0.99840137, 0.49302594],\
+-[	-6.27169659, -0.00099074, 0.00060738, 7.27070584, 0.99697203, 0.99840188, 0.49302606],\
+-[	-6.27169776, -0.00099043, 0.00060719, 7.27070734, 0.99697300, 0.99840239, 0.49302620],\
+-[	-6.27169893, -0.00099011, 0.00060699, 7.27070883, 0.99697397, 0.99840290, 0.49302635],\
+-[	-6.27170011, -0.00098979, 0.00060680, 7.27071031, 0.99697494, 0.99840341, 0.49302644],\
+-[	-6.27170128, -0.00098948, 0.00060660, 7.27071180, 0.99697590, 0.99840392, 0.49302662],\
+-[	-6.27170244, -0.00098916, 0.00060641, 7.27071328, 0.99697687, 0.99840443, 0.49302676],\
+-[	-6.27170361, -0.00098884, 0.00060622, 7.27071476, 0.99697784, 0.99840494, 0.49302682],\
+-[	-6.27170477, -0.00098853, 0.00060602, 7.27071624, 0.99697880, 0.99840545, 0.49302696],\
+-[	-6.27170593, -0.00098821, 0.00060583, 7.27071772, 0.99697977, 0.99840596, 0.49302711],\
+-[	-6.27170709, -0.00098790, 0.00060563, 7.27071919, 0.99698073, 0.99840647, 0.49302721],\
+-[	-6.27170825, -0.00098758, 0.00060544, 7.27072066, 0.99698170, 0.99840698, 0.49302733],\
+-[	-6.27170940, -0.00098727, 0.00060525, 7.27072213, 0.99698266, 0.99840748, 0.49302748],\
+-[	-6.27171055, -0.00098695, 0.00060505, 7.27072360, 0.99698362, 0.99840799, 0.49302765],\
+-[	-6.27171170, -0.00098664, 0.00060486, 7.27072506, 0.99698459, 0.99840850, 0.49302773],\
+-[	-6.27171285, -0.00098633, 0.00060467, 7.27072652, 0.99698555, 0.99840901, 0.49302786],\
+-[	-6.27171399, -0.00098601, 0.00060448, 7.27072798, 0.99698651, 0.99840951, 0.49302797],\
+-[	-6.27171514, -0.00098570, 0.00060428, 7.27072944, 0.99698747, 0.99841002, 0.49302811],\
+-[	-6.27171628, -0.00098538, 0.00060409, 7.27073090, 0.99698843, 0.99841053, 0.49302824],\
+-[	-6.27171742, -0.00098507, 0.00060390, 7.27073235, 0.99698939, 0.99841103, 0.49302835],\
+-[	-6.27171856, -0.00098476, 0.00060371, 7.27073380, 0.99699035, 0.99841154, 0.49302848],\
+-[	-6.27171969, -0.00098444, 0.00060351, 7.27073525, 0.99699130, 0.99841204, 0.49302858],\
+-[	-6.27172082, -0.00098413, 0.00060332, 7.27073669, 0.99699226, 0.99841255, 0.49302871],\
+-[	-6.27172196, -0.00098382, 0.00060313, 7.27073814, 0.99699322, 0.99841305, 0.49302887],\
+-[	-6.27172309, -0.00098351, 0.00060294, 7.27073958, 0.99699417, 0.99841356, 0.49302895],\
+-[	-6.27172421, -0.00098319, 0.00060275, 7.27074102, 0.99699513, 0.99841406, 0.49302912],\
+-[	-6.27172534, -0.00098288, 0.00060256, 7.27074246, 0.99699608, 0.99841456, 0.49302925],\
+-[	-6.27172646, -0.00098257, 0.00060236, 7.27074389, 0.99699704, 0.99841507, 0.49302935],\
+-[	-6.27172758, -0.00098226, 0.00060217, 7.27074532, 0.99699799, 0.99841557, 0.49302945],\
+-[	-6.27172870, -0.00098195, 0.00060198, 7.27074676, 0.99699894, 0.99841607, 0.49302959],\
+-[	-6.27172982, -0.00098163, 0.00060179, 7.27074818, 0.99699990, 0.99841657, 0.49302970],\
+-[	-6.27173093, -0.00098132, 0.00060160, 7.27074961, 0.99700085, 0.99841708, 0.49302981],\
+-[	-6.27173205, -0.00098101, 0.00060141, 7.27075103, 0.99700180, 0.99841758, 0.49302992],\
+-[	-6.27173316, -0.00098070, 0.00060122, 7.27075246, 0.99700275, 0.99841808, 0.49303009],\
+-[	-6.27173427, -0.00098039, 0.00060103, 7.27075388, 0.99700370, 0.99841858, 0.49303019],\
+-[	-6.27173537, -0.00098008, 0.00060084, 7.27075529, 0.99700465, 0.99841908, 0.49303031],\
+-[	-6.27173648, -0.00097977, 0.00060065, 7.27075671, 0.99700560, 0.99841958, 0.49303044],\
+-[	-6.27173758, -0.00097946, 0.00060046, 7.27075812, 0.99700655, 0.99842008, 0.49303056],\
+-[	-6.27173868, -0.00097915, 0.00060027, 7.27075953, 0.99700749, 0.99842058, 0.49303069],\
+-[	-6.27173978, -0.00097884, 0.00060008, 7.27076094, 0.99700844, 0.99842108, 0.49303080],\
+-[	-6.27174088, -0.00097853, 0.00059989, 7.27076235, 0.99700939, 0.99842158, 0.49303094],\
+-[	-6.27174198, -0.00097822, 0.00059970, 7.27076375, 0.99701033, 0.99842208, 0.49303107],\
+-[	-6.27174307, -0.00097791, 0.00059951, 7.27076516, 0.99701128, 0.99842258, 0.49303120],\
+-[	-6.27174416, -0.00097761, 0.00059932, 7.27076656, 0.99701222, 0.99842308, 0.49303132],\
+-[	-6.27174525, -0.00097730, 0.00059913, 7.27076795, 0.99701317, 0.99842357, 0.49303142],\
+-[	-6.27174634, -0.00097699, 0.00059894, 7.27076935, 0.99701411, 0.99842407, 0.49303154],\
+-[	-6.27174743, -0.00097668, 0.00059875, 7.27077075, 0.99701505, 0.99842457, 0.49303168],\
+-[	-6.27174851, -0.00097637, 0.00059856, 7.27077214, 0.99701599, 0.99842507, 0.49303176],\
+-[	-6.27174959, -0.00097606, 0.00059837, 7.27077353, 0.99701693, 0.99842556, 0.49303192],\
+-[	-6.27175067, -0.00097576, 0.00059818, 7.27077491, 0.99701788, 0.99842606, 0.49303205],\
+-[	-6.27175175, -0.00097545, 0.00059800, 7.27077630, 0.99701882, 0.99842656, 0.49303212],\
+-[	-6.27175283, -0.00097514, 0.00059781, 7.27077769, 0.99701976, 0.99842705, 0.49303223],\
+-[	-6.27175390, -0.00097484, 0.00059762, 7.27077907, 0.99702070, 0.99842755, 0.49303239],\
+-[	-6.27175497, -0.00097453, 0.00059743, 7.27078045, 0.99702163, 0.99842804, 0.49303247],\
+-[	-6.27175605, -0.00097422, 0.00059724, 7.27078182, 0.99702257, 0.99842854, 0.49303263],\
+-[	-6.27175712, -0.00097392, 0.00059705, 7.27078320, 0.99702351, 0.99842903, 0.49303277],\
+-[	-6.27175818, -0.00097361, 0.00059687, 7.27078457, 0.99702445, 0.99842952, 0.49303287],\
+-[	-6.27175925, -0.00097330, 0.00059668, 7.27078595, 0.99702538, 0.99843002, 0.49303298],\
+-[	-6.27176031, -0.00097300, 0.00059649, 7.27078731, 0.99702632, 0.99843051, 0.49303309],\
+-[	-6.27176137, -0.00097269, 0.00059630, 7.27078868, 0.99702725, 0.99843101, 0.49303324],\
+-[	-6.27176243, -0.00097239, 0.00059612, 7.27079005, 0.99702819, 0.99843150, 0.49303337],\
+-[	-6.27176349, -0.00097208, 0.00059593, 7.27079141, 0.99702912, 0.99843199, 0.49303342],\
+-[	-6.27176455, -0.00097178, 0.00059574, 7.27079277, 0.99703005, 0.99843248, 0.49303355],\
+-[	-6.27176560, -0.00097147, 0.00059555, 7.27079413, 0.99703099, 0.99843298, 0.49303367],\
+-[	-6.27176666, -0.00097117, 0.00059537, 7.27079549, 0.99703192, 0.99843347, 0.49303384],\
+-[	-6.27176771, -0.00097086, 0.00059518, 7.27079685, 0.99703285, 0.99843396, 0.49303391],\
+-[	-6.27176876, -0.00097056, 0.00059499, 7.27079820, 0.99703378, 0.99843445, 0.49303404],\
+-[	-6.27176980, -0.00097025, 0.00059481, 7.27079955, 0.99703471, 0.99843494, 0.49303417],\
+-[	-6.27177085, -0.00096995, 0.00059462, 7.27080090, 0.99703564, 0.99843543, 0.49303426],\
+-[	-6.27177189, -0.00096965, 0.00059443, 7.27080225, 0.99703657, 0.99843592, 0.49303442],\
+-[	-6.27177294, -0.00096934, 0.00059425, 7.27080359, 0.99703750, 0.99843641, 0.49303454],\
+-[	-6.27177398, -0.00096904, 0.00059406, 7.27080494, 0.99703843, 0.99843690, 0.49303464],\
+-[	-6.27177502, -0.00096874, 0.00059388, 7.27080628, 0.99703936, 0.99843739, 0.49303476],\
+-[	-6.27177605, -0.00096843, 0.00059369, 7.27080762, 0.99704028, 0.99843788, 0.49303487],\
+-[	-6.27177709, -0.00096813, 0.00059350, 7.27080896, 0.99704121, 0.99843837, 0.49303501],\
+-[	-6.27177812, -0.00096783, 0.00059332, 7.27081030, 0.99704213, 0.99843886, 0.49303512],\
+-[	-6.27177915, -0.00096752, 0.00059313, 7.27081163, 0.99704306, 0.99843934, 0.49303521],\
+-[	-6.27178018, -0.00096722, 0.00059295, 7.27081296, 0.99704398, 0.99843983, 0.49303537],\
+-[	-6.27178121, -0.00096692, 0.00059276, 7.27081429, 0.99704491, 0.99844032, 0.49303546],\
+-[	-6.27178224, -0.00096662, 0.00059258, 7.27081562, 0.99704583, 0.99844081, 0.49303558],\
+-[	-6.27178326, -0.00096632, 0.00059239, 7.27081695, 0.99704675, 0.99844129, 0.49303575],\
+-[	-6.27178429, -0.00096602, 0.00059221, 7.27081827, 0.99704768, 0.99844178, 0.49303581],\
+-[	-6.27178531, -0.00096571, 0.00059202, 7.27081960, 0.99704860, 0.99844227, 0.49303591],\
+-[	-6.27178633, -0.00096541, 0.00059184, 7.27082092, 0.99704952, 0.99844275, 0.49303609],\
+-[	-6.27178735, -0.00096511, 0.00059165, 7.27082224, 0.99705044, 0.99844324, 0.49303618],\
+-[	-6.27178836, -0.00096481, 0.00059147, 7.27082355, 0.99705136, 0.99844372, 0.49303628],\
+-[	-6.27178938, -0.00096451, 0.00059128, 7.27082487, 0.99705228, 0.99844421, 0.49303641],\
+-[	-6.27179039, -0.00096421, 0.00059110, 7.27082618, 0.99705320, 0.99844469, 0.49303652],\
+-[	-6.27179140, -0.00096391, 0.00059091, 7.27082749, 0.99705412, 0.99844518, 0.49303666],\
+-[	-6.27179242, -0.00096361, 0.00059073, 7.27082881, 0.99705503, 0.99844566, 0.49303673],\
+-[	-6.27179342, -0.00096331, 0.00059055, 7.27083011, 0.99705595, 0.99844614, 0.49303690],\
+-[	-6.27179443, -0.00096301, 0.00059036, 7.27083142, 0.99705687, 0.99844663, 0.49303700],\
+-[	-6.27179544, -0.00096271, 0.00059018, 7.27083272, 0.99705778, 0.99844711, 0.49303712],\
+-[	-6.27179644, -0.00096241, 0.00058999, 7.27083403, 0.99705870, 0.99844759, 0.49303722],\
+-[	-6.27179744, -0.00096211, 0.00058981, 7.27083533, 0.99705961, 0.99844808, 0.49303732],\
+-[	-6.27179844, -0.00096181, 0.00058963, 7.27083663, 0.99706053, 0.99844856, 0.49303745],\
+-[	-6.27179944, -0.00096152, 0.00058944, 7.27083792, 0.99706144, 0.99844904, 0.49303757],\
+-[	-6.27180044, -0.00096122, 0.00058926, 7.27083922, 0.99706235, 0.99844952, 0.49303771],\
+-[	-6.27180143, -0.00096092, 0.00058908, 7.27084051, 0.99706327, 0.99845000, 0.49303777],\
+-[	-6.27180243, -0.00096062, 0.00058890, 7.27084181, 0.99706418, 0.99845048, 0.49303795],\
+-[	-6.27180342, -0.00096032, 0.00058871, 7.27084310, 0.99706509, 0.99845097, 0.49303802],\
+-[	-6.27180441, -0.00096002, 0.00058853, 7.27084438, 0.99706600, 0.99845145, 0.49303815],\
+-[	-6.27180540, -0.00095973, 0.00058835, 7.27084567, 0.99706691, 0.99845193, 0.49303827],\
+-[	-6.27180639, -0.00095943, 0.00058816, 7.27084696, 0.99706782, 0.99845241, 0.49303836],\
+-[	-6.27180737, -0.00095913, 0.00058798, 7.27084824, 0.99706873, 0.99845289, 0.49303844],\
+-[	-6.27180836, -0.00095884, 0.00058780, 7.27084952, 0.99706964, 0.99845336, 0.49303861],\
+-[	-6.27180934, -0.00095854, 0.00058762, 7.27085080, 0.99707055, 0.99845384, 0.49303868],\
+-[	-6.27181032, -0.00095824, 0.00058744, 7.27085208, 0.99707145, 0.99845432, 0.49303884],\
+-[	-6.27181130, -0.00095795, 0.00058725, 7.27085335, 0.99707236, 0.99845480, 0.49303895],\
+-[	-6.27181228, -0.00095765, 0.00058707, 7.27085463, 0.99707327, 0.99845528, 0.49303908],\
+-[	-6.27181325, -0.00095735, 0.00058689, 7.27085590, 0.99707417, 0.99845576, 0.49303915],\
+-[	-6.27181423, -0.00095706, 0.00058671, 7.27085717, 0.99707508, 0.99845623, 0.49303928],\
+-[	-6.27181520, -0.00095676, 0.00058653, 7.27085844, 0.99707598, 0.99845671, 0.49303940],\
+-[	-6.27181618, -0.00095647, 0.00058635, 7.27085971, 0.99707689, 0.99845719, 0.49303950],\
+-[	-6.27181715, -0.00095617, 0.00058616, 7.27086098, 0.99707779, 0.99845766, 0.49303965],\
+-[	-6.27181811, -0.00095588, 0.00058598, 7.27086224, 0.99707869, 0.99845814, 0.49303979],\
+-[	-6.27181908, -0.00095558, 0.00058580, 7.27086350, 0.99707960, 0.99845862, 0.49303989],\
+-[	-6.27182005, -0.00095529, 0.00058562, 7.27086476, 0.99708050, 0.99845909, 0.49303994],\
+-[	-6.27182101, -0.00095499, 0.00058544, 7.27086602, 0.99708140, 0.99845957, 0.49304006],\
+-[	-6.27182198, -0.00095470, 0.00058526, 7.27086728, 0.99708230, 0.99846004, 0.49304023],\
+-[	-6.27182294, -0.00095440, 0.00058508, 7.27086854, 0.99708320, 0.99846052, 0.49304031],\
+-[	-6.27182390, -0.00095411, 0.00058490, 7.27086979, 0.99708410, 0.99846099, 0.49304040],\
+-[	-6.27182486, -0.00095381, 0.00058472, 7.27087104, 0.99708500, 0.99846147, 0.49304052],\
+-[	-6.27182581, -0.00095352, 0.00058454, 7.27087229, 0.99708590, 0.99846194, 0.49304066],\
+-[	-6.27182677, -0.00095323, 0.00058436, 7.27087354, 0.99708680, 0.99846242, 0.49304078],\
+-[	-6.27182772, -0.00095293, 0.00058418, 7.27087479, 0.99708769, 0.99846289, 0.49304090],\
+-[	-6.27182867, -0.00095264, 0.00058400, 7.27087603, 0.99708859, 0.99846336, 0.49304102],\
+-[	-6.27182963, -0.00095235, 0.00058382, 7.27087728, 0.99708949, 0.99846383, 0.49304112],\
+-[	-6.27183058, -0.00095205, 0.00058364, 7.27087852, 0.99709038, 0.99846431, 0.49304120],\
+-[	-6.27183152, -0.00095176, 0.00058346, 7.27087976, 0.99709128, 0.99846478, 0.49304129],\
+-[	-6.27183247, -0.00095147, 0.00058328, 7.27088100, 0.99709217, 0.99846525, 0.49304145],\
+-[	-6.27183342, -0.00095118, 0.00058310, 7.27088224, 0.99709307, 0.99846572, 0.49304157],\
+-[	-6.27183436, -0.00095088, 0.00058292, 7.27088348, 0.99709396, 0.99846619, 0.49304165],\
+-[	-6.27183530, -0.00095059, 0.00058274, 7.27088471, 0.99709485, 0.99846667, 0.49304175],\
+-[	-6.27183624, -0.00095030, 0.00058256, 7.27088594, 0.99709575, 0.99846714, 0.49304190],\
+-[	-6.27183718, -0.00095001, 0.00058238, 7.27088717, 0.99709664, 0.99846761, 0.49304204],\
+-[	-6.27183812, -0.00094972, 0.00058221, 7.27088840, 0.99709753, 0.99846808, 0.49304212],\
+-[	-6.27183906, -0.00094943, 0.00058203, 7.27088963, 0.99709842, 0.99846855, 0.49304222],\
+-[	-6.27183999, -0.00094914, 0.00058185, 7.27089086, 0.99709931, 0.99846902, 0.49304233],\
+-[	-6.27184093, -0.00094884, 0.00058167, 7.27089208, 0.99710020, 0.99846949, 0.49304245],\
+-[	-6.27184186, -0.00094855, 0.00058149, 7.27089331, 0.99710109, 0.99846996, 0.49304255],\
+-[	-6.27184279, -0.00094826, 0.00058131, 7.27089453, 0.99710198, 0.99847042, 0.49304263],\
+-[	-6.27184372, -0.00094797, 0.00058113, 7.27089575, 0.99710287, 0.99847089, 0.49304277],\
+-[	-6.27184465, -0.00094768, 0.00058096, 7.27089697, 0.99710375, 0.99847136, 0.49304288],\
+-[	-6.27184558, -0.00094739, 0.00058078, 7.27089818, 0.99710464, 0.99847183, 0.49304302],\
+-[	-6.27184650, -0.00094710, 0.00058060, 7.27089940, 0.99710553, 0.99847230, 0.49304309],\
+-[	-6.27184743, -0.00094681, 0.00058042, 7.27090061, 0.99710641, 0.99847276, 0.49304322],\
+-[	-6.27184835, -0.00094652, 0.00058025, 7.27090182, 0.99710730, 0.99847323, 0.49304332],\
+-[	-6.27184927, -0.00094623, 0.00058007, 7.27090304, 0.99710818, 0.99847370, 0.49304348],\
+-[	-6.27185019, -0.00094595, 0.00057989, 7.27090424, 0.99710907, 0.99847416, 0.49304351],\
+-[	-6.27185111, -0.00094566, 0.00057971, 7.27090545, 0.99710995, 0.99847463, 0.49304363],\
+-[	-6.27185203, -0.00094537, 0.00057954, 7.27090666, 0.99711083, 0.99847510, 0.49304378],\
+-[	-6.27185294, -0.00094508, 0.00057936, 7.27090786, 0.99711172, 0.99847556, 0.49304390],\
+-[	-6.27185386, -0.00094479, 0.00057918, 7.27090907, 0.99711260, 0.99847603, 0.49304399],\
+-[	-6.27185477, -0.00094450, 0.00057901, 7.27091027, 0.99711348, 0.99847649, 0.49304412],\
+-[	-6.27185568, -0.00094421, 0.00057883, 7.27091147, 0.99711436, 0.99847696, 0.49304419],\
+-[	-6.27185659, -0.00094393, 0.00057865, 7.27091267, 0.99711524, 0.99847742, 0.49304433],\
+-[	-6.27185750, -0.00094364, 0.00057848, 7.27091386, 0.99711612, 0.99847789, 0.49304445],\
+-[	-6.27185841, -0.00094335, 0.00057830, 7.27091506, 0.99711700, 0.99847835, 0.49304453],\
+-[	-6.27185932, -0.00094306, 0.00057812, 7.27091625, 0.99711788, 0.99847881, 0.49304463],\
+-[	-6.27186022, -0.00094278, 0.00057795, 7.27091745, 0.99711876, 0.99847928, 0.49304471],\
+-[	-6.27186113, -0.00094249, 0.00057777, 7.27091864, 0.99711964, 0.99847974, 0.49304488],\
+-[	-6.27186203, -0.00094220, 0.00057759, 7.27091983, 0.99712051, 0.99848020, 0.49304496],\
+-[	-6.27186293, -0.00094192, 0.00057742, 7.27092101, 0.99712139, 0.99848067, 0.49304509],\
+-[	-6.27186383, -0.00094163, 0.00057724, 7.27092220, 0.99712227, 0.99848113, 0.49304521],\
+-[	-6.27186473, -0.00094134, 0.00057707, 7.27092339, 0.99712314, 0.99848159, 0.49304528],\
+-[	-6.27186563, -0.00094106, 0.00057689, 7.27092457, 0.99712402, 0.99848205, 0.49304542],\
+-[	-6.27186652, -0.00094077, 0.00057672, 7.27092575, 0.99712489, 0.99848251, 0.49304552],\
+-[	-6.27186742, -0.00094049, 0.00057654, 7.27092693, 0.99712577, 0.99848297, 0.49304562],\
+-[	-6.27186831, -0.00094020, 0.00057636, 7.27092811, 0.99712664, 0.99848344, 0.49304571],\
+-[	-6.27186920, -0.00093991, 0.00057619, 7.27092929, 0.99712751, 0.99848390, 0.49304585],\
+-[	-6.27187010, -0.00093963, 0.00057601, 7.27093047, 0.99712839, 0.99848436, 0.49304595],\
+-[	-6.27187098, -0.00093934, 0.00057584, 7.27093164, 0.99712926, 0.99848482, 0.49304606],\
+-[	-6.27187187, -0.00093906, 0.00057567, 7.27093281, 0.99713013, 0.99848528, 0.49304619],\
+-[	-6.27187276, -0.00093877, 0.00057549, 7.27093399, 0.99713100, 0.99848574, 0.49304625],\
+-[	-6.27187365, -0.00093849, 0.00057532, 7.27093516, 0.99713187, 0.99848619, 0.49304638],\
+-[	-6.27187453, -0.00093821, 0.00057514, 7.27093633, 0.99713274, 0.99848665, 0.49304650],\
+-[	-6.27187541, -0.00093792, 0.00057497, 7.27093749, 0.99713361, 0.99848711, 0.49304662],\
+-[	-6.27187630, -0.00093764, 0.00057479, 7.27093866, 0.99713448, 0.99848757, 0.49304675],\
+-[	-6.27187718, -0.00093735, 0.00057462, 7.27093983, 0.99713535, 0.99848803, 0.49304680],\
+-[	-6.27187806, -0.00093707, 0.00057444, 7.27094099, 0.99713622, 0.99848849, 0.49304696],\
+-[	-6.27187894, -0.00093679, 0.00057427, 7.27094215, 0.99713708, 0.99848894, 0.49304701],\
+-[	-6.27187981, -0.00093650, 0.00057410, 7.27094331, 0.99713795, 0.99848940, 0.49304717],\
+-[	-6.27188069, -0.00093622, 0.00057392, 7.27094447, 0.99713882, 0.99848986, 0.49304726],\
+-[	-6.27188156, -0.00093594, 0.00057375, 7.27094563, 0.99713968, 0.99849031, 0.49304734],\
+-[	-6.27188244, -0.00093565, 0.00057358, 7.27094678, 0.99714055, 0.99849077, 0.49304749],\
+-[	-6.27188331, -0.00093537, 0.00057340, 7.27094794, 0.99714141, 0.99849123, 0.49304756],\
+-[	-6.27188418, -0.00093509, 0.00057323, 7.27094909, 0.99714228, 0.99849168, 0.49304769],\
+-[	-6.27188505, -0.00093481, 0.00057306, 7.27095025, 0.99714314, 0.99849214, 0.49304781],\
+-[	-6.27188592, -0.00093452, 0.00057288, 7.27095140, 0.99714400, 0.99849259, 0.49304789],\
+-[	-6.27188679, -0.00093424, 0.00057271, 7.27095255, 0.99714486, 0.99849305, 0.49304797],\
+-[	-6.27188765, -0.00093396, 0.00057254, 7.27095369, 0.99714573, 0.99849350, 0.49304811],\
+-[	-6.27188852, -0.00093368, 0.00057236, 7.27095484, 0.99714659, 0.99849396, 0.49304819],\
+-[	-6.27188938, -0.00093340, 0.00057219, 7.27095599, 0.99714745, 0.99849441, 0.49304832],\
+-[	-6.27189025, -0.00093312, 0.00057202, 7.27095713, 0.99714831, 0.99849487, 0.49304841],\
+-[	-6.27189111, -0.00093283, 0.00057185, 7.27095827, 0.99714917, 0.99849532, 0.49304852],\
+-[	-6.27189197, -0.00093255, 0.00057167, 7.27095942, 0.99715003, 0.99849577, 0.49304861],\
+-[	-6.27189283, -0.00093227, 0.00057150, 7.27096056, 0.99715089, 0.99849623, 0.49304875],\
+-[	-6.27189369, -0.00093199, 0.00057133, 7.27096169, 0.99715175, 0.99849668, 0.49304884],\
+-[	-6.27189454, -0.00093171, 0.00057116, 7.27096283, 0.99715260, 0.99849713, 0.49304894],\
+-[	-6.27189540, -0.00093143, 0.00057098, 7.27096397, 0.99715346, 0.99849758, 0.49304909],\
+-[	-6.27189625, -0.00093115, 0.00057081, 7.27096510, 0.99715432, 0.99849804, 0.49304918],\
+-[	-6.27189711, -0.00093087, 0.00057064, 7.27096624, 0.99715517, 0.99849849, 0.49304926],\
+-[	-6.27189796, -0.00093059, 0.00057047, 7.27096737, 0.99715603, 0.99849894, 0.49304941],\
+-[	-6.27189881, -0.00093031, 0.00057030, 7.27096850, 0.99715689, 0.99849939, 0.49304950],\
+-[	-6.27189966, -0.00093003, 0.00057013, 7.27096963, 0.99715774, 0.99849984, 0.49304958],\
+-[	-6.27190051, -0.00092975, 0.00056995, 7.27097076, 0.99715860, 0.99850029, 0.49304964],\
+-[	-6.27190136, -0.00092947, 0.00056978, 7.27097188, 0.99715945, 0.99850074, 0.49304982],\
+-[	-6.27190220, -0.00092919, 0.00056961, 7.27097301, 0.99716030, 0.99850119, 0.49304989],\
+-[	-6.27190305, -0.00092892, 0.00056944, 7.27097413, 0.99716115, 0.99850164, 0.49305004],\
+-[	-6.27190389, -0.00092864, 0.00056927, 7.27097525, 0.99716201, 0.99850209, 0.49305011],\
+-[	-6.27190474, -0.00092836, 0.00056910, 7.27097638, 0.99716286, 0.99850254, 0.49305025],\
+-[	-6.27190558, -0.00092808, 0.00056893, 7.27097750, 0.99716371, 0.99850299, 0.49305033],\
+-[	-6.27190642, -0.00092780, 0.00056876, 7.27097862, 0.99716456, 0.99850344, 0.49305045],\
+-[	-6.27190726, -0.00092752, 0.00056859, 7.27097973, 0.99716541, 0.99850389, 0.49305056],\
+-[	-6.27190810, -0.00092725, 0.00056842, 7.27098085, 0.99716626, 0.99850434, 0.49305065],\
+-[	-6.27190893, -0.00092697, 0.00056825, 7.27098197, 0.99716711, 0.99850478, 0.49305076],\
+-[	-6.27190977, -0.00092669, 0.00056808, 7.27098308, 0.99716796, 0.99850523, 0.49305085],\
+-[	-6.27191061, -0.00092641, 0.00056791, 7.27098419, 0.99716881, 0.99850568, 0.49305094],\
+-[	-6.27191144, -0.00092614, 0.00056774, 7.27098530, 0.99716965, 0.99850613, 0.49305108],\
+-[	-6.27191227, -0.00092586, 0.00056757, 7.27098641, 0.99717050, 0.99850657, 0.49305115],\
+-[	-6.27191311, -0.00092558, 0.00056740, 7.27098752, 0.99717135, 0.99850702, 0.49305125],\
+-[	-6.27191394, -0.00092531, 0.00056723, 7.27098863, 0.99717219, 0.99850747, 0.49305139],\
+-[	-6.27191477, -0.00092503, 0.00056706, 7.27098974, 0.99717304, 0.99850791, 0.49305148],\
+-[	-6.27191559, -0.00092475, 0.00056689, 7.27099084, 0.99717389, 0.99850836, 0.49305158],\
+-[	-6.27191642, -0.00092448, 0.00056672, 7.27099194, 0.99717473, 0.99850880, 0.49305167],\
+-[	-6.27191725, -0.00092420, 0.00056655, 7.27099305, 0.99717557, 0.99850925, 0.49305181],\
+-[	-6.27191807, -0.00092393, 0.00056638, 7.27099415, 0.99717642, 0.99850969, 0.49305190],\
+-[	-6.27191890, -0.00092365, 0.00056621, 7.27099525, 0.99717726, 0.99851014, 0.49305201],\
+-[	-6.27191972, -0.00092338, 0.00056604, 7.27099635, 0.99717810, 0.99851058, 0.49305208],\
+-[	-6.27192054, -0.00092310, 0.00056587, 7.27099744, 0.99717895, 0.99851103, 0.49305223],\
+-[	-6.27192136, -0.00092282, 0.00056570, 7.27099854, 0.99717979, 0.99851147, 0.49305232],\
+-[	-6.27192218, -0.00092255, 0.00056553, 7.27099964, 0.99718063, 0.99851192, 0.49305243],\
+-[	-6.27192300, -0.00092227, 0.00056537, 7.27100073, 0.99718147, 0.99851236, 0.49305250],\
+-[	-6.27192382, -0.00092200, 0.00056520, 7.27100182, 0.99718231, 0.99851280, 0.49305258],\
+-[	-6.27192464, -0.00092173, 0.00056503, 7.27100291, 0.99718315, 0.99851325, 0.49305275],\
+-[	-6.27192545, -0.00092145, 0.00056486, 7.27100400, 0.99718399, 0.99851369, 0.49305278],\
+-[	-6.27192627, -0.00092118, 0.00056469, 7.27100509, 0.99718483, 0.99851413, 0.49305295],\
+-[	-6.27192708, -0.00092090, 0.00056452, 7.27100618, 0.99718566, 0.99851457, 0.49305299],\
+-[	-6.27192790, -0.00092063, 0.00056436, 7.27100727, 0.99718650, 0.99851502, 0.49305314],\
+-[	-6.27192871, -0.00092036, 0.00056419, 7.27100835, 0.99718734, 0.99851546, 0.49305323],\
+-[	-6.27192952, -0.00092008, 0.00056402, 7.27100944, 0.99718818, 0.99851590, 0.49305333],\
+-[	-6.27193033, -0.00091981, 0.00056385, 7.27101052, 0.99718901, 0.99851634, 0.49305345],\
+-[	-6.27193114, -0.00091954, 0.00056368, 7.27101160, 0.99718985, 0.99851678, 0.49305349],\
+-[	-6.27193194, -0.00091926, 0.00056352, 7.27101268, 0.99719068, 0.99851722, 0.49305365],\
+-[	-6.27193275, -0.00091899, 0.00056335, 7.27101376, 0.99719152, 0.99851766, 0.49305371],\
+-[	-6.27193356, -0.00091872, 0.00056318, 7.27101484, 0.99719235, 0.99851810, 0.49305382],\
+-[	-6.27193436, -0.00091844, 0.00056301, 7.27101592, 0.99719318, 0.99851854, 0.49305392],\
+-[	-6.27193516, -0.00091817, 0.00056285, 7.27101699, 0.99719402, 0.99851898, 0.49305400],\
+-[	-6.27193597, -0.00091790, 0.00056268, 7.27101807, 0.99719485, 0.99851942, 0.49305415],\
+-[	-6.27193677, -0.00091763, 0.00056251, 7.27101914, 0.99719568, 0.99851986, 0.49305427],\
+-[	-6.27193757, -0.00091736, 0.00056235, 7.27102021, 0.99719651, 0.99852030, 0.49305437],\
+-[	-6.27193837, -0.00091708, 0.00056218, 7.27102128, 0.99719735, 0.99852074, 0.49305443],\
+-[	-6.27193917, -0.00091681, 0.00056201, 7.27102235, 0.99719818, 0.99852117, 0.49305458],\
+-[	-6.27193996, -0.00091654, 0.00056185, 7.27102342, 0.99719901, 0.99852161, 0.49305464],\
+-[	-6.27194076, -0.00091627, 0.00056168, 7.27102449, 0.99719984, 0.99852205, 0.49305472],\
+-[	-6.27194155, -0.00091600, 0.00056151, 7.27102556, 0.99720066, 0.99852249, 0.49305485],\
+-[	-6.27194235, -0.00091573, 0.00056135, 7.27102662, 0.99720149, 0.99852292, 0.49305488],\
+-[	-6.27194314, -0.00091546, 0.00056118, 7.27102769, 0.99720232, 0.99852336, 0.49305501],\
+-[	-6.27194394, -0.00091519, 0.00056102, 7.27102875, 0.99720315, 0.99852380, 0.49305520],\
+-[	-6.27194473, -0.00091492, 0.00056085, 7.27102981, 0.99720398, 0.99852423, 0.49305527],\
+-[	-6.27194552, -0.00091465, 0.00056068, 7.27103087, 0.99720480, 0.99852467, 0.49305537],\
+-[	-6.27194631, -0.00091438, 0.00056052, 7.27103193, 0.99720563, 0.99852511, 0.49305541],\
+-[	-6.27194710, -0.00091411, 0.00056035, 7.27103299, 0.99720646, 0.99852554, 0.49305558],\
+-[	-6.27194788, -0.00091384, 0.00056019, 7.27103405, 0.99720728, 0.99852598, 0.49305568],\
+-[	-6.27194867, -0.00091357, 0.00056002, 7.27103510, 0.99720811, 0.99852641, 0.49305582],\
+-[	-6.27194946, -0.00091330, 0.00055986, 7.27103616, 0.99720893, 0.99852685, 0.49305585],\
+-[	-6.27195024, -0.00091303, 0.00055969, 7.27103721, 0.99720975, 0.99852728, 0.49305599],\
+-[	-6.27195102, -0.00091276, 0.00055953, 7.27103827, 0.99721058, 0.99852772, 0.49305606],\
+-[	-6.27195181, -0.00091249, 0.00055936, 7.27103932, 0.99721140, 0.99852815, 0.49305614],\
+-[	-6.27195259, -0.00091222, 0.00055920, 7.27104037, 0.99721222, 0.99852858, 0.49305629],\
+-[	-6.27195337, -0.00091195, 0.00055903, 7.27104142, 0.99721304, 0.99852902, 0.49305636],\
+-[	-6.27195415, -0.00091168, 0.00055887, 7.27104247, 0.99721387, 0.99852945, 0.49305643],\
+-[	-6.27195493, -0.00091141, 0.00055870, 7.27104351, 0.99721469, 0.99852988, 0.49305655],\
+-[	-6.27195571, -0.00091115, 0.00055854, 7.27104456, 0.99721551, 0.99853032, 0.49305663],\
+-[	-6.27195648, -0.00091088, 0.00055837, 7.27104561, 0.99721633, 0.99853075, 0.49305679],\
+-[	-6.27195726, -0.00091061, 0.00055821, 7.27104665, 0.99721715, 0.99853118, 0.49305682],\
+-[	-6.27195803, -0.00091034, 0.00055804, 7.27104769, 0.99721796, 0.99853161, 0.49305696],\
+-[	-6.27195881, -0.00091007, 0.00055788, 7.27104873, 0.99721878, 0.99853205, 0.49305711],\
+-[	-6.27195958, -0.00090981, 0.00055771, 7.27104978, 0.99721960, 0.99853248, 0.49305719],\
+-[	-6.27196035, -0.00090954, 0.00055755, 7.27105081, 0.99722042, 0.99853291, 0.49305721],\
+-[	-6.27196113, -0.00090927, 0.00055739, 7.27105185, 0.99722124, 0.99853334, 0.49305736],\
+-[	-6.27196190, -0.00090901, 0.00055722, 7.27105289, 0.99722205, 0.99853377, 0.49305741],\
+-[	-6.27196267, -0.00090874, 0.00055706, 7.27105393, 0.99722287, 0.99853420, 0.49305756],\
+-[	-6.27196344, -0.00090847, 0.00055690, 7.27105496, 0.99722368, 0.99853463, 0.49305766],\
+-[	-6.27196420, -0.00090821, 0.00055673, 7.27105600, 0.99722450, 0.99853506, 0.49305779],\
+-[	-6.27196497, -0.00090794, 0.00055657, 7.27105703, 0.99722531, 0.99853549, 0.49305788],\
+-[	-6.27196574, -0.00090767, 0.00055641, 7.27105806, 0.99722613, 0.99853592, 0.49305797],\
+-[	-6.27196650, -0.00090741, 0.00055624, 7.27105909, 0.99722694, 0.99853635, 0.49305806],\
+-[	-6.27196726, -0.00090714, 0.00055608, 7.27106012, 0.99722776, 0.99853678, 0.49305817],\
+-[	-6.27196803, -0.00090688, 0.00055592, 7.27106115, 0.99722857, 0.99853721, 0.49305825],\
+-[	-6.27196879, -0.00090661, 0.00055575, 7.27106218, 0.99722938, 0.99853764, 0.49305840],\
+-[	-6.27196955, -0.00090634, 0.00055559, 7.27106321, 0.99723019, 0.99853807, 0.49305847],\
+-[	-6.27197031, -0.00090608, 0.00055543, 7.27106423, 0.99723100, 0.99853849, 0.49305859],\
+-[	-6.27197107, -0.00090581, 0.00055526, 7.27106526, 0.99723181, 0.99853892, 0.49305865],\
+-[	-6.27197183, -0.00090555, 0.00055510, 7.27106628, 0.99723262, 0.99853935, 0.49305875],\
+-[	-6.27197259, -0.00090528, 0.00055494, 7.27106730, 0.99723343, 0.99853978, 0.49305889],\
+-[	-6.27197335, -0.00090502, 0.00055478, 7.27106833, 0.99723424, 0.99854020, 0.49305896],\
+-[	-6.27197410, -0.00090476, 0.00055461, 7.27106935, 0.99723505, 0.99854063, 0.49305906],\
+-[	-6.27197486, -0.00090449, 0.00055445, 7.27107037, 0.99723586, 0.99854106, 0.49305911],\
+-[	-6.27197561, -0.00090423, 0.00055429, 7.27107138, 0.99723667, 0.99854148, 0.49305929],\
+-[	-6.27197637, -0.00090396, 0.00055413, 7.27107240, 0.99723748, 0.99854191, 0.49305933],\
+-[	-6.27197712, -0.00090370, 0.00055397, 7.27107342, 0.99723828, 0.99854233, 0.49305943],\
+-[	-6.27197787, -0.00090344, 0.00055380, 7.27107443, 0.99723909, 0.99854276, 0.49305954],\
+-[	-6.27197862, -0.00090317, 0.00055364, 7.27107545, 0.99723990, 0.99854319, 0.49305965],\
+-[	-6.27197937, -0.00090291, 0.00055348, 7.27107646, 0.99724070, 0.99854361, 0.49305972],\
+-[	-6.27198012, -0.00090264, 0.00055332, 7.27107748, 0.99724151, 0.99854404, 0.49305986],\
+-[	-6.27198087, -0.00090238, 0.00055316, 7.27107849, 0.99724231, 0.99854446, 0.49305996],\
+-[	-6.27198162, -0.00090212, 0.00055300, 7.27107950, 0.99724312, 0.99854488, 0.49306003],\
+-[	-6.27198236, -0.00090186, 0.00055284, 7.27108051, 0.99724392, 0.99854531, 0.49306014],\
+-[	-6.27198311, -0.00090159, 0.00055267, 7.27108151, 0.99724472, 0.99854573, 0.49306027],\
+-[	-6.27198385, -0.00090133, 0.00055251, 7.27108252, 0.99724553, 0.99854616, 0.49306036],\
+-[	-6.27198460, -0.00090107, 0.00055235, 7.27108353, 0.99724633, 0.99854658, 0.49306043],\
+-[	-6.27198534, -0.00090081, 0.00055219, 7.27108453, 0.99724713, 0.99854700, 0.49306047],\
+-[	-6.27198608, -0.00090054, 0.00055203, 7.27108554, 0.99724793, 0.99854742, 0.49306066],\
+-[	-6.27198682, -0.00090028, 0.00055187, 7.27108654, 0.99724873, 0.99854785, 0.49306072],\
+-[	-6.27198756, -0.00090002, 0.00055171, 7.27108754, 0.99724953, 0.99854827, 0.49306079],\
+-[	-6.27198830, -0.00089976, 0.00055155, 7.27108855, 0.99725033, 0.99854869, 0.49306090],\
+-[	-6.27198904, -0.00089950, 0.00055139, 7.27108955, 0.99725113, 0.99854911, 0.49306100],\
+-[	-6.27198978, -0.00089924, 0.00055123, 7.27109054, 0.99725193, 0.99854954, 0.49306107],\
+-[	-6.27199052, -0.00089898, 0.00055107, 7.27109154, 0.99725273, 0.99854996, 0.49306122],\
+-[	-6.27199126, -0.00089871, 0.00055091, 7.27109254, 0.99725353, 0.99855038, 0.49306129],\
+-[	-6.27199199, -0.00089845, 0.00055075, 7.27109354, 0.99725433, 0.99855080, 0.49306135],\
+-[	-6.27199273, -0.00089819, 0.00055059, 7.27109453, 0.99725512, 0.99855122, 0.49306146],\
+-[	-6.27199346, -0.00089793, 0.00055043, 7.27109553, 0.99725592, 0.99855164, 0.49306163],\
+-[	-6.27199419, -0.00089767, 0.00055027, 7.27109652, 0.99725672, 0.99855206, 0.49306163],\
+-[	-6.27199493, -0.00089741, 0.00055011, 7.27109751, 0.99725751, 0.99855248, 0.49306178],\
+-[	-6.27199566, -0.00089715, 0.00054995, 7.27109851, 0.99725831, 0.99855290, 0.49306188],\
+-[	-6.27199639, -0.00089689, 0.00054979, 7.27109950, 0.99725910, 0.99855332, 0.49306196],\
+-[	-6.27199712, -0.00089663, 0.00054963, 7.27110049, 0.99725990, 0.99855374, 0.49306206],\
+-[	-6.27199785, -0.00089637, 0.00054947, 7.27110147, 0.99726069, 0.99855416, 0.49306218],\
+-[	-6.27199857, -0.00089611, 0.00054931, 7.27110246, 0.99726149, 0.99855458, 0.49306227],\
+-[	-6.27199930, -0.00089585, 0.00054915, 7.27110345, 0.99726228, 0.99855499, 0.49306238],\
+-[	-6.27200003, -0.00089559, 0.00054899, 7.27110443, 0.99726307, 0.99855541, 0.49306244],\
+-[	-6.27200076, -0.00089534, 0.00054883, 7.27110542, 0.99726386, 0.99855583, 0.49306254],\
+-[	-6.27200148, -0.00089508, 0.00054868, 7.27110640, 0.99726465, 0.99855625, 0.49306260],\
+-[	-6.27200220, -0.00089482, 0.00054852, 7.27110739, 0.99726545, 0.99855667, 0.49306270],\
+-[	-6.27200293, -0.00089456, 0.00054836, 7.27110837, 0.99726624, 0.99855708, 0.49306284],\
+-[	-6.27200365, -0.00089430, 0.00054820, 7.27110935, 0.99726703, 0.99855750, 0.49306289],\
+-[	-6.27200437, -0.00089404, 0.00054804, 7.27111033, 0.99726782, 0.99855792, 0.49306299],\
+-[	-6.27200509, -0.00089378, 0.00054788, 7.27111131, 0.99726861, 0.99855833, 0.49306315],\
+-[	-6.27200581, -0.00089353, 0.00054772, 7.27111229, 0.99726940, 0.99855875, 0.49306325],\
+-[	-6.27200653, -0.00089327, 0.00054757, 7.27111326, 0.99727018, 0.99855916, 0.49306334],\
+-[	-6.27200725, -0.00089301, 0.00054741, 7.27111424, 0.99727097, 0.99855958, 0.49306342],\
+-[	-6.27200797, -0.00089275, 0.00054725, 7.27111522, 0.99727176, 0.99856000, 0.49306348],\
+-[	-6.27200869, -0.00089250, 0.00054709, 7.27111619, 0.99727255, 0.99856041, 0.49306360],\
+-[	-6.27200940, -0.00089224, 0.00054693, 7.27111717, 0.99727333, 0.99856083, 0.49306368],\
+-[	-6.27201012, -0.00089198, 0.00054678, 7.27111814, 0.99727412, 0.99856124, 0.49306382],\
+-[	-6.27201083, -0.00089172, 0.00054662, 7.27111911, 0.99727491, 0.99856166, 0.49306389],\
+-[	-6.27201155, -0.00089147, 0.00054646, 7.27112008, 0.99727569, 0.99856207, 0.49306395],\
+-[	-6.27201226, -0.00089121, 0.00054630, 7.27112105, 0.99727648, 0.99856248, 0.49306405],\
+-[	-6.27201297, -0.00089095, 0.00054615, 7.27112202, 0.99727726, 0.99856290, 0.49306415],\
+-[	-6.27201369, -0.00089070, 0.00054599, 7.27112299, 0.99727804, 0.99856331, 0.49306425],\
+-[	-6.27201440, -0.00089044, 0.00054583, 7.27112395, 0.99727883, 0.99856373, 0.49306438],\
+-[	-6.27201511, -0.00089019, 0.00054568, 7.27112492, 0.99727961, 0.99856414, 0.49306445],\
+-[	-6.27201582, -0.00088993, 0.00054552, 7.27112589, 0.99728039, 0.99856455, 0.49306454],\
+-[	-6.27201653, -0.00088967, 0.00054536, 7.27112685, 0.99728118, 0.99856496, 0.49306460],\
+-[	-6.27201723, -0.00088942, 0.00054520, 7.27112782, 0.99728196, 0.99856538, 0.49306473],\
+-[	-6.27201794, -0.00088916, 0.00054505, 7.27112878, 0.99728274, 0.99856579, 0.49306481],\
+-[	-6.27201865, -0.00088891, 0.00054489, 7.27112974, 0.99728352, 0.99856620, 0.49306490],\
+-[	-6.27201935, -0.00088865, 0.00054473, 7.27113070, 0.99728430, 0.99856661, 0.49306499],\
+-[	-6.27202006, -0.00088840, 0.00054458, 7.27113166, 0.99728508, 0.99856702, 0.49306507],\
+-[	-6.27202076, -0.00088814, 0.00054442, 7.27113262, 0.99728586, 0.99856744, 0.49306519],\
+-[	-6.27202147, -0.00088789, 0.00054427, 7.27113358, 0.99728664, 0.99856785, 0.49306522],\
+-[	-6.27202217, -0.00088763, 0.00054411, 7.27113454, 0.99728742, 0.99856826, 0.49306541],\
+-[	-6.27202287, -0.00088738, 0.00054395, 7.27113549, 0.99728820, 0.99856867, 0.49306548],\
+-[	-6.27202357, -0.00088713, 0.00054380, 7.27113645, 0.99728897, 0.99856908, 0.49306558],\
+-[	-6.27202427, -0.00088687, 0.00054364, 7.27113740, 0.99728975, 0.99856949, 0.49306563],\
+-[	-6.27202497, -0.00088662, 0.00054349, 7.27113836, 0.99729053, 0.99856990, 0.49306575],\
+-[	-6.27202567, -0.00088636, 0.00054333, 7.27113931, 0.99729130, 0.99857031, 0.49306582],\
+-[	-6.27202637, -0.00088611, 0.00054317, 7.27114026, 0.99729208, 0.99857072, 0.49306593],\
+-[	-6.27202707, -0.00088586, 0.00054302, 7.27114121, 0.99729285, 0.99857113, 0.49306602],\
+-[	-6.27202777, -0.00088560, 0.00054286, 7.27114216, 0.99729363, 0.99857153, 0.49306615],\
+-[	-6.27202846, -0.00088535, 0.00054271, 7.27114311, 0.99729440, 0.99857194, 0.49306620],\
+-[	-6.27202916, -0.00088510, 0.00054255, 7.27114406, 0.99729518, 0.99857235, 0.49306631],\
+-[	-6.27202985, -0.00088484, 0.00054240, 7.27114501, 0.99729595, 0.99857276, 0.49306638],\
+-[	-6.27203055, -0.00088459, 0.00054224, 7.27114596, 0.99729673, 0.99857317, 0.49306650],\
+-[	-6.27203124, -0.00088434, 0.00054209, 7.27114690, 0.99729750, 0.99857358, 0.49306661],\
+-[	-6.27203193, -0.00088409, 0.00054193, 7.27114785, 0.99729827, 0.99857398, 0.49306664],\
+-[	-6.27203262, -0.00088383, 0.00054178, 7.27114879, 0.99729904, 0.99857439, 0.49306674],\
+-[	-6.27203332, -0.00088358, 0.00054162, 7.27114973, 0.99729981, 0.99857480, 0.49306687],\
+-[	-6.27203401, -0.00088333, 0.00054147, 7.27115068, 0.99730059, 0.99857520, 0.49306699],\
+-[	-6.27203470, -0.00088308, 0.00054131, 7.27115162, 0.99730136, 0.99857561, 0.49306701],\
+-[	-6.27203539, -0.00088282, 0.00054116, 7.27115256, 0.99730213, 0.99857602, 0.49306713],\
+-[	-6.27203607, -0.00088257, 0.00054100, 7.27115350, 0.99730290, 0.99857642, 0.49306721],\
+-[	-6.27203676, -0.00088232, 0.00054085, 7.27115444, 0.99730366, 0.99857683, 0.49306728],\
+-[	-6.27203745, -0.00088207, 0.00054069, 7.27115538, 0.99730443, 0.99857724, 0.49306742],\
+-[	-6.27203813, -0.00088182, 0.00054054, 7.27115632, 0.99730520, 0.99857764, 0.49306753],\
+-[	-6.27203882, -0.00088157, 0.00054039, 7.27115725, 0.99730597, 0.99857805, 0.49306761],\
+-[	-6.27203950, -0.00088132, 0.00054023, 7.27115819, 0.99730674, 0.99857845, 0.49306769],\
+-[	-6.27204019, -0.00088107, 0.00054008, 7.27115912, 0.99730750, 0.99857886, 0.49306776],\
+-[	-6.27204087, -0.00088082, 0.00053992, 7.27116006, 0.99730827, 0.99857926, 0.49306785],\
+-[	-6.27204156, -0.00088056, 0.00053977, 7.27116099, 0.99730904, 0.99857966, 0.49306801],\
+-[	-6.27204224, -0.00088031, 0.00053962, 7.27116192, 0.99730980, 0.99858007, 0.49306813],\
+-[	-6.27204292, -0.00088006, 0.00053946, 7.27116286, 0.99731057, 0.99858047, 0.49306816],\
+-[	-6.27204360, -0.00087981, 0.00053931, 7.27116379, 0.99731133, 0.99858088, 0.49306827],\
+-[	-6.27204428, -0.00087956, 0.00053916, 7.27116472, 0.99731210, 0.99858128, 0.49306833],\
+-[	-6.27204496, -0.00087931, 0.00053900, 7.27116565, 0.99731286, 0.99858168, 0.49306842],\
+-[	-6.27204564, -0.00087906, 0.00053885, 7.27116657, 0.99731363, 0.99858209, 0.49306852],\
+-[	-6.27204632, -0.00087881, 0.00053870, 7.27116750, 0.99731439, 0.99858249, 0.49306865],\
+-[	-6.27204699, -0.00087857, 0.00053854, 7.27116843, 0.99731515, 0.99858289, 0.49306872],\
+-[	-6.27204767, -0.00087832, 0.00053839, 7.27116935, 0.99731591, 0.99858329, 0.49306875],\
+-[	-6.27204835, -0.00087807, 0.00053824, 7.27117028, 0.99731668, 0.99858369, 0.49306889],\
+-[	-6.27204902, -0.00087782, 0.00053809, 7.27117120, 0.99731744, 0.99858410, 0.49306899],\
+-[	-6.27204970, -0.00087757, 0.00053793, 7.27117213, 0.99731820, 0.99858450, 0.49306909],\
+-[	-6.27205037, -0.00087732, 0.00053778, 7.27117305, 0.99731896, 0.99858490, 0.49306915],\
+-[	-6.27205104, -0.00087707, 0.00053763, 7.27117397, 0.99731972, 0.99858530, 0.49306931],\
+-[	-6.27205172, -0.00087682, 0.00053748, 7.27117489, 0.99732048, 0.99858570, 0.49306931],\
+-[	-6.27205239, -0.00087658, 0.00053732, 7.27117581, 0.99732124, 0.99858610, 0.49306947],\
+-[	-6.27205306, -0.00087633, 0.00053717, 7.27117673, 0.99732200, 0.99858650, 0.49306949],\
+-[	-6.27205373, -0.00087608, 0.00053702, 7.27117765, 0.99732276, 0.99858690, 0.49306961],\
+-[	-6.27205440, -0.00087583, 0.00053687, 7.27117857, 0.99732351, 0.99858730, 0.49306974],\
+-[	-6.27205507, -0.00087558, 0.00053671, 7.27117949, 0.99732427, 0.99858770, 0.49306982],\
+-[	-6.27205574, -0.00087534, 0.00053656, 7.27118040, 0.99732503, 0.99858810, 0.49306986],\
+-[	-6.27205641, -0.00087509, 0.00053641, 7.27118132, 0.99732579, 0.99858850, 0.49306997],\
+-[	-6.27205707, -0.00087484, 0.00053626, 7.27118223, 0.99732654, 0.99858890, 0.49307002],\
+-[	-6.27205774, -0.00087459, 0.00053611, 7.27118315, 0.99732730, 0.99858930, 0.49307020],\
+-[	-6.27205841, -0.00087435, 0.00053596, 7.27118406, 0.99732805, 0.99858970, 0.49307021],\
+-[	-6.27205907, -0.00087410, 0.00053580, 7.27118497, 0.99732881, 0.99859010, 0.49307035],\
+-[	-6.27205974, -0.00087385, 0.00053565, 7.27118588, 0.99732956, 0.99859049, 0.49307047],\
+-[	-6.27206040, -0.00087361, 0.00053550, 7.27118679, 0.99733032, 0.99859089, 0.49307051],\
+-[	-6.27206106, -0.00087336, 0.00053535, 7.27118770, 0.99733107, 0.99859129, 0.49307062],\
+-[	-6.27206173, -0.00087311, 0.00053520, 7.27118861, 0.99733182, 0.99859169, 0.49307069],\
+-[	-6.27206239, -0.00087287, 0.00053505, 7.27118952, 0.99733258, 0.99859208, 0.49307080],\
+-[	-6.27206305, -0.00087262, 0.00053490, 7.27119043, 0.99733333, 0.99859248, 0.49307089],\
+-[	-6.27206371, -0.00087238, 0.00053475, 7.27119134, 0.99733408, 0.99859288, 0.49307096],\
+-[	-6.27206437, -0.00087213, 0.00053460, 7.27119224, 0.99733483, 0.99859327, 0.49307103],\
+-[	-6.27206503, -0.00087188, 0.00053445, 7.27119315, 0.99733558, 0.99859367, 0.49307121],\
+-[	-6.27206569, -0.00087164, 0.00053429, 7.27119405, 0.99733633, 0.99859407, 0.49307121],\
+-[	-6.27206635, -0.00087139, 0.00053414, 7.27119496, 0.99733709, 0.99859446, 0.49307131],\
+-[	-6.27206701, -0.00087115, 0.00053399, 7.27119586, 0.99733783, 0.99859486, 0.49307143],\
+-[	-6.27206767, -0.00087090, 0.00053384, 7.27119676, 0.99733858, 0.99859525, 0.49307152],\
+-[	-6.27206832, -0.00087066, 0.00053369, 7.27119766, 0.99733933, 0.99859565, 0.49307163],\
+-[	-6.27206898, -0.00087041, 0.00053354, 7.27119856, 0.99734008, 0.99859604, 0.49307170],\
+-[	-6.27206963, -0.00087017, 0.00053339, 7.27119946, 0.99734083, 0.99859644, 0.49307178],\
+-[	-6.27207029, -0.00086992, 0.00053324, 7.27120036, 0.99734158, 0.99859683, 0.49307182],\
+-[	-6.27207094, -0.00086968, 0.00053309, 7.27120126, 0.99734233, 0.99859723, 0.49307196],\
+-[	-6.27207160, -0.00086944, 0.00053294, 7.27120216, 0.99734307, 0.99859762, 0.49307197],\
+-[	-6.27207225, -0.00086919, 0.00053279, 7.27120306, 0.99734382, 0.99859802, 0.49307220],\
+-[	-6.27207290, -0.00086895, 0.00053264, 7.27120395, 0.99734457, 0.99859841, 0.49307226],\
+-[	-6.27207355, -0.00086870, 0.00053249, 7.27120485, 0.99734531, 0.99859880, 0.49307233],\
+-[	-6.27207420, -0.00086846, 0.00053234, 7.27120574, 0.99734606, 0.99859920, 0.49307241],\
+-[	-6.27207485, -0.00086822, 0.00053219, 7.27120664, 0.99734680, 0.99859959, 0.49307252],\
+-[	-6.27207550, -0.00086797, 0.00053205, 7.27120753, 0.99734755, 0.99859998, 0.49307258],\
+-[	-6.27207615, -0.00086773, 0.00053190, 7.27120842, 0.99734829, 0.99860037, 0.49307271],\
+-[	-6.27207680, -0.00086749, 0.00053175, 7.27120931, 0.99734903, 0.99860077, 0.49307274],\
+-[	-6.27207745, -0.00086724, 0.00053160, 7.27121021, 0.99734978, 0.99860116, 0.49307287],\
+-[	-6.27207810, -0.00086700, 0.00053145, 7.27121110, 0.99735052, 0.99860155, 0.49307293],\
+-[	-6.27207874, -0.00086676, 0.00053130, 7.27121199, 0.99735126, 0.99860194, 0.49307303],\
+-[	-6.27207939, -0.00086652, 0.00053115, 7.27121287, 0.99735200, 0.99860233, 0.49307313],\
+-[	-6.27208004, -0.00086627, 0.00053100, 7.27121376, 0.99735275, 0.99860273, 0.49307325],\
+-[	-6.27208068, -0.00086603, 0.00053085, 7.27121465, 0.99735349, 0.99860312, 0.49307329],\
+-[	-6.27208132, -0.00086579, 0.00053070, 7.27121554, 0.99735423, 0.99860351, 0.49307333],\
+-[	-6.27208197, -0.00086555, 0.00053056, 7.27121642, 0.99735497, 0.99860390, 0.49307349],\
+-[	-6.27208261, -0.00086530, 0.00053041, 7.27121731, 0.99735571, 0.99860429, 0.49307355],\
+-[	-6.27208325, -0.00086506, 0.00053026, 7.27121819, 0.99735645, 0.99860468, 0.49307366],\
+-[	-6.27208390, -0.00086482, 0.00053011, 7.27121907, 0.99735719, 0.99860507, 0.49307376],\
+-[	-6.27208454, -0.00086458, 0.00052996, 7.27121996, 0.99735792, 0.99860546, 0.49307384],\
+-[	-6.27208518, -0.00086434, 0.00052981, 7.27122084, 0.99735866, 0.99860585, 0.49307389],\
+-[	-6.27208582, -0.00086410, 0.00052967, 7.27122172, 0.99735940, 0.99860624, 0.49307398],\
+-[	-6.27208646, -0.00086386, 0.00052952, 7.27122260, 0.99736014, 0.99860663, 0.49307410],\
+-[	-6.27208710, -0.00086361, 0.00052937, 7.27122348, 0.99736088, 0.99860701, 0.49307418],\
+-[	-6.27208774, -0.00086337, 0.00052922, 7.27122436, 0.99736161, 0.99860740, 0.49307431],\
+-[	-6.27208837, -0.00086313, 0.00052908, 7.27122524, 0.99736235, 0.99860779, 0.49307430],\
+-[	-6.27208901, -0.00086289, 0.00052893, 7.27122612, 0.99736308, 0.99860818, 0.49307450],\
+-[	-6.27208965, -0.00086265, 0.00052878, 7.27122700, 0.99736382, 0.99860857, 0.49307452],\
+-[	-6.27209028, -0.00086241, 0.00052863, 7.27122787, 0.99736455, 0.99860896, 0.49307461],\
+-[	-6.27209092, -0.00086217, 0.00052849, 7.27122875, 0.99736529, 0.99860934, 0.49307473],\
+-[	-6.27209155, -0.00086193, 0.00052834, 7.27122962, 0.99736602, 0.99860973, 0.49307476],\
+-[	-6.27209219, -0.00086169, 0.00052819, 7.27123050, 0.99736676, 0.99861012, 0.49307493],\
+-[	-6.27209282, -0.00086145, 0.00052804, 7.27123137, 0.99736749, 0.99861050, 0.49307491],\
+-[	-6.27209346, -0.00086121, 0.00052790, 7.27123224, 0.99736822, 0.99861089, 0.49307506],\
+-[	-6.27209409, -0.00086097, 0.00052775, 7.27123312, 0.99736896, 0.99861128, 0.49307515],\
+-[	-6.27209472, -0.00086073, 0.00052760, 7.27123399, 0.99736969, 0.99861166, 0.49307527],\
+-[	-6.27209535, -0.00086049, 0.00052746, 7.27123486, 0.99737042, 0.99861205, 0.49307528],\
+-[	-6.27209598, -0.00086025, 0.00052731, 7.27123573, 0.99737115, 0.99861244, 0.49307544],\
+-[	-6.27209661, -0.00086002, 0.00052716, 7.27123660, 0.99737188, 0.99861282, 0.49307551],\
+-[	-6.27209724, -0.00085978, 0.00052702, 7.27123747, 0.99737261, 0.99861321, 0.49307555],\
+-[	-6.27209787, -0.00085954, 0.00052687, 7.27123833, 0.99737334, 0.99861359, 0.49307566],\
+-[	-6.27209850, -0.00085930, 0.00052672, 7.27123920, 0.99737407, 0.99861398, 0.49307570],\
+-[	-6.27209913, -0.00085906, 0.00052658, 7.27124007, 0.99737480, 0.99861436, 0.49307581],\
+-[	-6.27209976, -0.00085882, 0.00052643, 7.27124094, 0.99737553, 0.99861475, 0.49307599],\
+-[	-6.27210038, -0.00085858, 0.00052628, 7.27124180, 0.99737626, 0.99861513, 0.49307598],\
+-[	-6.27210101, -0.00085835, 0.00052614, 7.27124266, 0.99737699, 0.99861551, 0.49307614],\
+-[	-6.27210164, -0.00085811, 0.00052599, 7.27124353, 0.99737771, 0.99861590, 0.49307614],\
+-[	-6.27210226, -0.00085787, 0.00052585, 7.27124439, 0.99737844, 0.99861628, 0.49307625],\
+-[	-6.27210289, -0.00085763, 0.00052570, 7.27124525, 0.99737917, 0.99861667, 0.49307637],\
+-[	-6.27210351, -0.00085740, 0.00052555, 7.27124612, 0.99737989, 0.99861705, 0.49307645],\
+-[	-6.27210414, -0.00085716, 0.00052541, 7.27124698, 0.99738062, 0.99861743, 0.49307653],\
+-[	-6.27210476, -0.00085692, 0.00052526, 7.27124784, 0.99738135, 0.99861782, 0.49307663],\
+-[	-6.27210538, -0.00085668, 0.00052512, 7.27124870, 0.99738207, 0.99861820, 0.49307669],\
+-[	-6.27210600, -0.00085645, 0.00052497, 7.27124956, 0.99738280, 0.99861858, 0.49307677],\
+-[	-6.27210663, -0.00085621, 0.00052483, 7.27125042, 0.99738352, 0.99861896, 0.49307688],\
+-[	-6.27210725, -0.00085597, 0.00052468, 7.27125127, 0.99738424, 0.99861934, 0.49307699],\
+-[	-6.27210787, -0.00085574, 0.00052454, 7.27125213, 0.99738497, 0.99861973, 0.49307706],\
+-[	-6.27210849, -0.00085550, 0.00052439, 7.27125299, 0.99738569, 0.99862011, 0.49307704],\
+-[	-6.27210911, -0.00085526, 0.00052425, 7.27125384, 0.99738641, 0.99862049, 0.49307723],\
+-[	-6.27210973, -0.00085503, 0.00052410, 7.27125470, 0.99738714, 0.99862087, 0.49307731],\
+-[	-6.27211034, -0.00085479, 0.00052396, 7.27125555, 0.99738786, 0.99862125, 0.49307742],\
+-[	-6.27211096, -0.00085456, 0.00052381, 7.27125641, 0.99738858, 0.99862163, 0.49307753],\
+-[	-6.27211158, -0.00085432, 0.00052367, 7.27125726, 0.99738930, 0.99862201, 0.49307753],\
+-[	-6.27211220, -0.00085408, 0.00052352, 7.27125811, 0.99739002, 0.99862239, 0.49307764],\
+-[	-6.27211281, -0.00085385, 0.00052338, 7.27125896, 0.99739074, 0.99862277, 0.49307770],\
+-[	-6.27211343, -0.00085361, 0.00052323, 7.27125981, 0.99739146, 0.99862315, 0.49307780],\
+-[	-6.27211404, -0.00085338, 0.00052309, 7.27126067, 0.99739218, 0.99862353, 0.49307792],\
+-[	-6.27211466, -0.00085314, 0.00052295, 7.27126152, 0.99739290, 0.99862391, 0.49307794],\
+-[	-6.27211527, -0.00085291, 0.00052280, 7.27126236, 0.99739362, 0.99862429, 0.49307803],\
+-[	-6.27211589, -0.00085267, 0.00052266, 7.27126321, 0.99739434, 0.99862467, 0.49307820],\
+-[	-6.27211650, -0.00085244, 0.00052251, 7.27126406, 0.99739506, 0.99862505, 0.49307827],\
+-[	-6.27211711, -0.00085220, 0.00052237, 7.27126491, 0.99739577, 0.99862543, 0.49307830],\
+-[	-6.27211772, -0.00085197, 0.00052222, 7.27126575, 0.99739649, 0.99862581, 0.49307839],\
+-[	-6.27211833, -0.00085173, 0.00052208, 7.27126660, 0.99739721, 0.99862618, 0.49307851],\
+-[	-6.27211895, -0.00085150, 0.00052194, 7.27126745, 0.99739792, 0.99862656, 0.49307861],\
+-[	-6.27211956, -0.00085127, 0.00052179, 7.27126829, 0.99739864, 0.99862694, 0.49307868],\
+-[	-6.27212017, -0.00085103, 0.00052165, 7.27126913, 0.99739936, 0.99862732, 0.49307878],\
+-[	-6.27212078, -0.00085080, 0.00052151, 7.27126998, 0.99740007, 0.99862770, 0.49307884],\
+-[	-6.27212138, -0.00085056, 0.00052136, 7.27127082, 0.99740079, 0.99862807, 0.49307888],\
+-[	-6.27212199, -0.00085033, 0.00052122, 7.27127166, 0.99740150, 0.99862845, 0.49307902],\
+-[	-6.27212260, -0.00085010, 0.00052108, 7.27127250, 0.99740221, 0.99862883, 0.49307911],\
+-[	-6.27212321, -0.00084986, 0.00052093, 7.27127334, 0.99740293, 0.99862920, 0.49307920],\
+-[	-6.27212381, -0.00084963, 0.00052079, 7.27127418, 0.99740364, 0.99862958, 0.49307926],\
+-[	-6.27212442, -0.00084940, 0.00052065, 7.27127502, 0.99740435, 0.99862996, 0.49307935],\
+-[	-6.27212503, -0.00084916, 0.00052050, 7.27127586, 0.99740507, 0.99863033, 0.49307944],\
+-[	-6.27212563, -0.00084893, 0.00052036, 7.27127670, 0.99740578, 0.99863071, 0.49307944],\
+-[	-6.27212624, -0.00084870, 0.00052022, 7.27127754, 0.99740649, 0.99863108, 0.49307954],\
+-[	-6.27212684, -0.00084847, 0.00052008, 7.27127837, 0.99740720, 0.99863146, 0.49307961],\
+-[	-6.27212744, -0.00084823, 0.00051993, 7.27127921, 0.99740791, 0.99863183, 0.49307978],\
+-[	-6.27212805, -0.00084800, 0.00051979, 7.27128005, 0.99740862, 0.99863221, 0.49307983],\
+-[	-6.27212865, -0.00084777, 0.00051965, 7.27128088, 0.99740933, 0.99863258, 0.49307996],\
+-[	-6.27212925, -0.00084754, 0.00051951, 7.27128172, 0.99741004, 0.99863296, 0.49308005],\
+-[	-6.27212986, -0.00084730, 0.00051936, 7.27128255, 0.99741075, 0.99863333, 0.49308014],\
+-[	-6.27213046, -0.00084707, 0.00051922, 7.27128338, 0.99741146, 0.99863371, 0.49308018],\
+-[	-6.27213106, -0.00084684, 0.00051908, 7.27128422, 0.99741217, 0.99863408, 0.49308030],\
+-[	-6.27213166, -0.00084661, 0.00051894, 7.27128505, 0.99741288, 0.99863445, 0.49308040],\
+-[	-6.27213226, -0.00084638, 0.00051879, 7.27128588, 0.99741359, 0.99863483, 0.49308040],\
+-[	-6.27213286, -0.00084615, 0.00051865, 7.27128671, 0.99741429, 0.99863520, 0.49308050],\
+-[	-6.27213345, -0.00084592, 0.00051851, 7.27128754, 0.99741500, 0.99863557, 0.49308061],\
+-[	-6.27213405, -0.00084568, 0.00051837, 7.27128837, 0.99741571, 0.99863595, 0.49308064],\
+-[	-6.27213465, -0.00084545, 0.00051823, 7.27128920, 0.99741641, 0.99863632, 0.49308083],\
+-[	-6.27213525, -0.00084522, 0.00051809, 7.27129003, 0.99741712, 0.99863669, 0.49308089],\
+-[	-6.27213585, -0.00084499, 0.00051794, 7.27129085, 0.99741783, 0.99863706, 0.49308103],\
+-[	-6.27213644, -0.00084476, 0.00051780, 7.27129168, 0.99741853, 0.99863744, 0.49308104],\
+-[	-6.27213704, -0.00084453, 0.00051766, 7.27129251, 0.99741924, 0.99863781, 0.49308114],\
+-[	-6.27213763, -0.00084430, 0.00051752, 7.27129333, 0.99741994, 0.99863818, 0.49308122],\
+-[	-6.27213823, -0.00084407, 0.00051738, 7.27129416, 0.99742064, 0.99863855, 0.49308125],\
+-[	-6.27213882, -0.00084384, 0.00051724, 7.27129498, 0.99742135, 0.99863892, 0.49308128],\
+-[	-6.27213942, -0.00084361, 0.00051710, 7.27129581, 0.99742205, 0.99863929, 0.49308149],\
+-[	-6.27214001, -0.00084338, 0.00051696, 7.27129663, 0.99742275, 0.99863966, 0.49308153],\
+-[	-6.27214060, -0.00084315, 0.00051681, 7.27129745, 0.99742346, 0.99864003, 0.49308160],\
+-[	-6.27214120, -0.00084292, 0.00051667, 7.27129827, 0.99742416, 0.99864041, 0.49308174],\
+-[	-6.27214179, -0.00084269, 0.00051653, 7.27129910, 0.99742486, 0.99864078, 0.49308171],\
+-[	-6.27214238, -0.00084246, 0.00051639, 7.27129992, 0.99742556, 0.99864115, 0.49308189],\
+-[	-6.27214297, -0.00084223, 0.00051625, 7.27130074, 0.99742626, 0.99864152, 0.49308189],\
+-[	-6.27214356, -0.00084200, 0.00051611, 7.27130156, 0.99742696, 0.99864188, 0.49308208],\
+-[	-6.27214415, -0.00084178, 0.00051597, 7.27130237, 0.99742766, 0.99864225, 0.49308218],\
+-[	-6.27214474, -0.00084155, 0.00051583, 7.27130319, 0.99742836, 0.99864262, 0.49308217],\
+-[	-6.27214533, -0.00084132, 0.00051569, 7.27130401, 0.99742906, 0.99864299, 0.49308225],\
+-[	-6.27214592, -0.00084109, 0.00051555, 7.27130483, 0.99742976, 0.99864336, 0.49308239],\
+-[	-6.27214651, -0.00084086, 0.00051541, 7.27130564, 0.99743046, 0.99864373, 0.49308247],\
+-[	-6.27214709, -0.00084063, 0.00051527, 7.27130646, 0.99743116, 0.99864410, 0.49308255],\
+-[	-6.27214768, -0.00084040, 0.00051513, 7.27130728, 0.99743186, 0.99864447, 0.49308258],\
+-[	-6.27214827, -0.00084018, 0.00051499, 7.27130809, 0.99743255, 0.99864483, 0.49308266],\
+-[	-6.27214885, -0.00083995, 0.00051485, 7.27130891, 0.99743325, 0.99864520, 0.49308274],\
+-[	-6.27214944, -0.00083972, 0.00051471, 7.27130972, 0.99743395, 0.99864557, 0.49308290],\
+-[	-6.27215002, -0.00083949, 0.00051457, 7.27131053, 0.99743464, 0.99864594, 0.49308290],\
+-[	-6.27215061, -0.00083926, 0.00051443, 7.27131134, 0.99743534, 0.99864631, 0.49308300],\
+-[	-6.27215119, -0.00083904, 0.00051429, 7.27131216, 0.99743604, 0.99864667, 0.49308315],\
+-[	-6.27215178, -0.00083881, 0.00051415, 7.27131297, 0.99743673, 0.99864704, 0.49308314],\
+-[	-6.27215236, -0.00083858, 0.00051401, 7.27131378, 0.99743743, 0.99864741, 0.49308324],\
+-[	-6.27215294, -0.00083836, 0.00051387, 7.27131459, 0.99743812, 0.99864777, 0.49308338],\
+-[	-6.27215353, -0.00083813, 0.00051373, 7.27131540, 0.99743881, 0.99864814, 0.49308338],\
+-[	-6.27215411, -0.00083790, 0.00051359, 7.27131621, 0.99743951, 0.99864850, 0.49308350],\
+-[	-6.27215469, -0.00083768, 0.00051345, 7.27131702, 0.99744020, 0.99864887, 0.49308357],\
+-[	-6.27215527, -0.00083745, 0.00051332, 7.27131782, 0.99744089, 0.99864924, 0.49308374],\
+-[	-6.27215585, -0.00083722, 0.00051318, 7.27131863, 0.99744159, 0.99864960, 0.49308379],\
+-[	-6.27215643, -0.00083700, 0.00051304, 7.27131944, 0.99744228, 0.99864997, 0.49308384],\
+-[	-6.27215701, -0.00083677, 0.00051290, 7.27132024, 0.99744297, 0.99865033, 0.49308393],\
+-[	-6.27215759, -0.00083654, 0.00051276, 7.27132105, 0.99744366, 0.99865070, 0.49308399],\
+-[	-6.27215817, -0.00083632, 0.00051262, 7.27132185, 0.99744435, 0.99865106, 0.49308412],\
+-[	-6.27215875, -0.00083609, 0.00051248, 7.27132266, 0.99744504, 0.99865143, 0.49308421],\
+-[	-6.27215933, -0.00083587, 0.00051234, 7.27132346, 0.99744574, 0.99865179, 0.49308425],\
+-[	-6.27215990, -0.00083564, 0.00051221, 7.27132426, 0.99744643, 0.99865215, 0.49308434],\
+-[	-6.27216048, -0.00083541, 0.00051207, 7.27132507, 0.99744711, 0.99865252, 0.49308442],\
+-[	-6.27216106, -0.00083519, 0.00051193, 7.27132587, 0.99744780, 0.99865288, 0.49308450],\
+-[	-6.27216164, -0.00083496, 0.00051179, 7.27132667, 0.99744849, 0.99865324, 0.49308461],\
+-[	-6.27216221, -0.00083474, 0.00051165, 7.27132747, 0.99744918, 0.99865361, 0.49308467],\
+-[	-6.27216279, -0.00083451, 0.00051151, 7.27132827, 0.99744987, 0.99865397, 0.49308473],\
+-[	-6.27216336, -0.00083429, 0.00051138, 7.27132907, 0.99745056, 0.99865433, 0.49308483],\
+-[	-6.27216394, -0.00083406, 0.00051124, 7.27132987, 0.99745124, 0.99865470, 0.49308489],\
+-[	-6.27216451, -0.00083384, 0.00051110, 7.27133067, 0.99745193, 0.99865506, 0.49308501],\
+-[	-6.27216508, -0.00083361, 0.00051096, 7.27133147, 0.99745262, 0.99865542, 0.49308509],\
+-[	-6.27216566, -0.00083339, 0.00051083, 7.27133227, 0.99745330, 0.99865578, 0.49308519],\
+-[	-6.27216623, -0.00083317, 0.00051069, 7.27133306, 0.99745399, 0.99865615, 0.49308520],\
+-[	-6.27216680, -0.00083294, 0.00051055, 7.27133386, 0.99745468, 0.99865651, 0.49308532],\
+-[	-6.27216737, -0.00083272, 0.00051041, 7.27133465, 0.99745536, 0.99865687, 0.49308537],\
+-[	-6.27216794, -0.00083249, 0.00051028, 7.27133545, 0.99745605, 0.99865723, 0.49308548],\
+-[	-6.27216851, -0.00083227, 0.00051014, 7.27133624, 0.99745673, 0.99865759, 0.49308555],\
+-[	-6.27216909, -0.00083205, 0.00051000, 7.27133704, 0.99745741, 0.99865795, 0.49308568],\
+-[	-6.27216966, -0.00083182, 0.00050986, 7.27133783, 0.99745810, 0.99865831, 0.49308575],\
+-[	-6.27217022, -0.00083160, 0.00050973, 7.27133863, 0.99745878, 0.99865867, 0.49308580],\
+-[	-6.27217079, -0.00083138, 0.00050959, 7.27133942, 0.99745946, 0.99865903, 0.49308589],\
+-[	-6.27217136, -0.00083115, 0.00050945, 7.27134021, 0.99746015, 0.99865939, 0.49308593],\
+-[	-6.27217193, -0.00083093, 0.00050932, 7.27134100, 0.99746083, 0.99865975, 0.49308603],\
+-[	-6.27217250, -0.00083071, 0.00050918, 7.27134179, 0.99746151, 0.99866011, 0.49308603],\
+-[	-6.27217307, -0.00083048, 0.00050904, 7.27134258, 0.99746219, 0.99866047, 0.49308626],\
+-[	-6.27217363, -0.00083026, 0.00050891, 7.27134337, 0.99746287, 0.99866083, 0.49308628],\
+-[	-6.27217420, -0.00083004, 0.00050877, 7.27134416, 0.99746355, 0.99866119, 0.49308633],\
+-[	-6.27217477, -0.00082982, 0.00050863, 7.27134495, 0.99746424, 0.99866155, 0.49308648],\
+-[	-6.27217533, -0.00082959, 0.00050850, 7.27134574, 0.99746492, 0.99866191, 0.49308650],\
+-[	-6.27217590, -0.00082937, 0.00050836, 7.27134653, 0.99746559, 0.99866227, 0.49308659],\
+-[	-6.27217646, -0.00082915, 0.00050822, 7.27134731, 0.99746627, 0.99866263, 0.49308664],\
+-[	-6.27217703, -0.00082893, 0.00050809, 7.27134810, 0.99746695, 0.99866299, 0.49308674],\
+-[	-6.27217759, -0.00082871, 0.00050795, 7.27134888, 0.99746763, 0.99866334, 0.49308688],\
+-[	-6.27217815, -0.00082848, 0.00050782, 7.27134967, 0.99746831, 0.99866370, 0.49308691],\
+-[	-6.27217872, -0.00082826, 0.00050768, 7.27135045, 0.99746899, 0.99866406, 0.49308700],\
+-[	-6.27217928, -0.00082804, 0.00050754, 7.27135124, 0.99746967, 0.99866442, 0.49308706],\
+-[	-6.27217984, -0.00082782, 0.00050741, 7.27135202, 0.99747034, 0.99866477, 0.49308711],\
+-[	-6.27218040, -0.00082760, 0.00050727, 7.27135281, 0.99747102, 0.99866513, 0.49308731],\
+-[	-6.27218097, -0.00082738, 0.00050714, 7.27135359, 0.99747170, 0.99866549, 0.49308733],\
+-[	-6.27218153, -0.00082716, 0.00050700, 7.27135437, 0.99747237, 0.99866584, 0.49308746],\
+-[	-6.27218209, -0.00082693, 0.00050686, 7.27135515, 0.99747305, 0.99866620, 0.49308753],\
+-[	-6.27218265, -0.00082671, 0.00050673, 7.27135593, 0.99747372, 0.99866656, 0.49308759],\
+-[	-6.27218321, -0.00082649, 0.00050659, 7.27135671, 0.99747440, 0.99866691, 0.49308757],\
+-[	-6.27218377, -0.00082627, 0.00050646, 7.27135749, 0.99747507, 0.99866727, 0.49308770],\
+-[	-6.27218433, -0.00082605, 0.00050632, 7.27135827, 0.99747575, 0.99866763, 0.49308772],\
+-[	-6.27218488, -0.00082583, 0.00050619, 7.27135905, 0.99747642, 0.99866798, 0.49308784],\
+-[	-6.27218544, -0.00082561, 0.00050605, 7.27135983, 0.99747709, 0.99866834, 0.49308794],\
+-[	-6.27218600, -0.00082539, 0.00050592, 7.27136061, 0.99747777, 0.99866869, 0.49308810],\
+-[	-6.27218656, -0.00082517, 0.00050578, 7.27136139, 0.99747844, 0.99866905, 0.49308812],\
+-[	-6.27218711, -0.00082495, 0.00050565, 7.27136216, 0.99747911, 0.99866940, 0.49308821],\
+-[	-6.27218767, -0.00082473, 0.00050551, 7.27136294, 0.99747978, 0.99866976, 0.49308825],\
+-[	-6.27218823, -0.00082451, 0.00050538, 7.27136371, 0.99748046, 0.99867011, 0.49308833],\
+-[	-6.27218878, -0.00082429, 0.00050524, 7.27136449, 0.99748113, 0.99867046, 0.49308847],\
+-[	-6.27218934, -0.00082407, 0.00050511, 7.27136526, 0.99748180, 0.99867082, 0.49308860],\
+-[	-6.27218989, -0.00082385, 0.00050497, 7.27136604, 0.99748247, 0.99867117, 0.49308859],\
+-[	-6.27219045, -0.00082363, 0.00050484, 7.27136681, 0.99748314, 0.99867153, 0.49308869],\
+-[	-6.27219100, -0.00082341, 0.00050471, 7.27136759, 0.99748381, 0.99867188, 0.49308873],\
+-[	-6.27219155, -0.00082320, 0.00050457, 7.27136836, 0.99748448, 0.99867223, 0.49308878],\
+-[	-6.27219211, -0.00082298, 0.00050444, 7.27136913, 0.99748515, 0.99867259, 0.49308888],\
+-[	-6.27219266, -0.00082276, 0.00050430, 7.27136990, 0.99748582, 0.99867294, 0.49308897],\
+-[	-6.27219321, -0.00082254, 0.00050417, 7.27137067, 0.99748649, 0.99867329, 0.49308901],\
+-[	-6.27219376, -0.00082232, 0.00050403, 7.27137144, 0.99748715, 0.99867364, 0.49308913],\
+-[	-6.27219432, -0.00082210, 0.00050390, 7.27137221, 0.99748782, 0.99867400, 0.49308916],\
+-[	-6.27219487, -0.00082188, 0.00050377, 7.27137298, 0.99748849, 0.99867435, 0.49308935],\
+-[	-6.27219542, -0.00082167, 0.00050363, 7.27137375, 0.99748916, 0.99867470, 0.49308938],\
+-[	-6.27219597, -0.00082145, 0.00050350, 7.27137452, 0.99748982, 0.99867505, 0.49308944],\
+-[	-6.27219652, -0.00082123, 0.00050337, 7.27137529, 0.99749049, 0.99867540, 0.49308959],\
+-[	-6.27219707, -0.00082101, 0.00050323, 7.27137606, 0.99749116, 0.99867576, 0.49308961],\
+-[	-6.27219762, -0.00082080, 0.00050310, 7.27137682, 0.99749182, 0.99867611, 0.49308966],\
+-[	-6.27219817, -0.00082058, 0.00050296, 7.27137759, 0.99749249, 0.99867646, 0.49308979],\
+-[	-6.27219872, -0.00082036, 0.00050283, 7.27137836, 0.99749315, 0.99867681, 0.49308985],\
+-[	-6.27219926, -0.00082014, 0.00050270, 7.27137912, 0.99749382, 0.99867716, 0.49308989],\
+-[	-6.27219981, -0.00081993, 0.00050256, 7.27137989, 0.99749448, 0.99867751, 0.49309002],\
+-[	-6.27220036, -0.00081971, 0.00050243, 7.27138065, 0.99749514, 0.99867786, 0.49309006],\
+-[	-6.27220091, -0.00081949, 0.00050230, 7.27138141, 0.99749581, 0.99867821, 0.49309016],\
+-[	-6.27220145, -0.00081927, 0.00050216, 7.27138218, 0.99749647, 0.99867856, 0.49309022],\
+-[	-6.27220200, -0.00081906, 0.00050203, 7.27138294, 0.99749713, 0.99867891, 0.49309028],\
+-[	-6.27220254, -0.00081884, 0.00050190, 7.27138370, 0.99749780, 0.99867926, 0.49309037],\
+-[	-6.27220309, -0.00081862, 0.00050177, 7.27138446, 0.99749846, 0.99867961, 0.49309053],\
+-[	-6.27220363, -0.00081841, 0.00050163, 7.27138523, 0.99749912, 0.99867996, 0.49309055],\
+-[	-6.27220418, -0.00081819, 0.00050150, 7.27138599, 0.99749978, 0.99868031, 0.49309069],\
+-[	-6.27220472, -0.00081798, 0.00050137, 7.27138675, 0.99750044, 0.99868066, 0.49309070],\
+-[	-6.27220527, -0.00081776, 0.00050124, 7.27138751, 0.99750110, 0.99868100, 0.49309083],\
+-[	-6.27220581, -0.00081754, 0.00050110, 7.27138827, 0.99750176, 0.99868135, 0.49309090],\
+-[	-6.27220635, -0.00081733, 0.00050097, 7.27138902, 0.99750242, 0.99868170, 0.49309098],\
+-[	-6.27220690, -0.00081711, 0.00050084, 7.27138978, 0.99750308, 0.99868205, 0.49309101],\
+-[	-6.27220744, -0.00081690, 0.00050071, 7.27139054, 0.99750374, 0.99868240, 0.49309113],\
+-[	-6.27220798, -0.00081668, 0.00050057, 7.27139130, 0.99750440, 0.99868275, 0.49309116],\
+-[	-6.27220852, -0.00081647, 0.00050044, 7.27139205, 0.99750506, 0.99868309, 0.49309123],\
+-[	-6.27220906, -0.00081625, 0.00050031, 7.27139281, 0.99750572, 0.99868344, 0.49309142],\
+-[	-6.27220960, -0.00081604, 0.00050018, 7.27139357, 0.99750638, 0.99868379, 0.49309142],\
+-[	-6.27221014, -0.00081582, 0.00050005, 7.27139432, 0.99750703, 0.99868413, 0.49309146],\
+-[	-6.27221068, -0.00081561, 0.00049991, 7.27139508, 0.99750769, 0.99868448, 0.49309158],\
+-[	-6.27221122, -0.00081539, 0.00049978, 7.27139583, 0.99750835, 0.99868483, 0.49309166],\
+-[	-6.27221176, -0.00081518, 0.00049965, 7.27139659, 0.99750901, 0.99868517, 0.49309171],\
+-[	-6.27221230, -0.00081496, 0.00049952, 7.27139734, 0.99750966, 0.99868552, 0.49309183],\
+-[	-6.27221284, -0.00081475, 0.00049939, 7.27139809, 0.99751032, 0.99868587, 0.49309186],\
+-[	-6.27221338, -0.00081453, 0.00049926, 7.27139884, 0.99751097, 0.99868621, 0.49309196],\
+-[	-6.27221391, -0.00081432, 0.00049912, 7.27139960, 0.99751163, 0.99868656, 0.49309197],\
+-[	-6.27221445, -0.00081410, 0.00049899, 7.27140035, 0.99751228, 0.99868690, 0.49309212],\
+-[	-6.27221499, -0.00081389, 0.00049886, 7.27140110, 0.99751294, 0.99868725, 0.49309226],\
+-[	-6.27221552, -0.00081368, 0.00049873, 7.27140185, 0.99751359, 0.99868759, 0.49309233],\
+-[	-6.27221606, -0.00081346, 0.00049860, 7.27140260, 0.99751425, 0.99868794, 0.49309240],\
+-[	-6.27221660, -0.00081325, 0.00049847, 7.27140335, 0.99751490, 0.99868828, 0.49309241],\
+-[	-6.27221713, -0.00081303, 0.00049834, 7.27140410, 0.99751555, 0.99868863, 0.49309250],\
+-[	-6.27221767, -0.00081282, 0.00049821, 7.27140485, 0.99751621, 0.99868897, 0.49309252],\
+-[	-6.27221820, -0.00081261, 0.00049807, 7.27140559, 0.99751686, 0.99868932, 0.49309262],\
+-[	-6.27221874, -0.00081239, 0.00049794, 7.27140634, 0.99751751, 0.99868966, 0.49309274],\
+-[	-6.27221927, -0.00081218, 0.00049781, 7.27140709, 0.99751816, 0.99869001, 0.49309277],\
+-[	-6.27221980, -0.00081197, 0.00049768, 7.27140784, 0.99751881, 0.99869035, 0.49309287],\
+-[	-6.27222034, -0.00081176, 0.00049755, 7.27140858, 0.99751946, 0.99869069, 0.49309295],\
+-[	-6.27222087, -0.00081154, 0.00049742, 7.27140933, 0.99752012, 0.99869104, 0.49309305],\
+-[	-6.27222140, -0.00081133, 0.00049729, 7.27141007, 0.99752077, 0.99869138, 0.49309311],\
+-[	-6.27222193, -0.00081112, 0.00049716, 7.27141082, 0.99752142, 0.99869172, 0.49309317],\
+-[	-6.27222247, -0.00081090, 0.00049703, 7.27141156, 0.99752207, 0.99869207, 0.49309328],\
+-[	-6.27222300, -0.00081069, 0.00049690, 7.27141230, 0.99752271, 0.99869241, 0.49309332],\
+-[	-6.27222353, -0.00081048, 0.00049677, 7.27141305, 0.99752336, 0.99869275, 0.49309344],\
+-[	-6.27222406, -0.00081027, 0.00049664, 7.27141379, 0.99752401, 0.99869309, 0.49309341],\
+-[	-6.27222459, -0.00081006, 0.00049651, 7.27141453, 0.99752466, 0.99869344, 0.49309354],\
+-[	-6.27222512, -0.00080984, 0.00049638, 7.27141527, 0.99752531, 0.99869378, 0.49309361],\
+-[	-6.27222565, -0.00080963, 0.00049625, 7.27141602, 0.99752596, 0.99869412, 0.49309375],\
+-[	-6.27222618, -0.00080942, 0.00049612, 7.27141676, 0.99752660, 0.99869446, 0.49309380],\
+-[	-6.27222671, -0.00080921, 0.00049599, 7.27141750, 0.99752725, 0.99869480, 0.49309382],\
+-[	-6.27222723, -0.00080900, 0.00049586, 7.27141824, 0.99752790, 0.99869514, 0.49309395],\
+-[	-6.27222776, -0.00080879, 0.00049573, 7.27141898, 0.99752854, 0.99869548, 0.49309403],\
+-[	-6.27222829, -0.00080857, 0.00049560, 7.27141972, 0.99752919, 0.99869582, 0.49309409],\
+-[	-6.27222882, -0.00080836, 0.00049547, 7.27142045, 0.99752984, 0.99869617, 0.49309410],\
+-[	-6.27222934, -0.00080815, 0.00049534, 7.27142119, 0.99753048, 0.99869651, 0.49309425],\
+-[	-6.27222987, -0.00080794, 0.00049521, 7.27142193, 0.99753113, 0.99869685, 0.49309434],\
+-[	-6.27223040, -0.00080773, 0.00049508, 7.27142267, 0.99753177, 0.99869719, 0.49309443],\
+-[	-6.27223092, -0.00080752, 0.00049495, 7.27142340, 0.99753241, 0.99869753, 0.49309447],\
+-[	-6.27223145, -0.00080731, 0.00049482, 7.27142414, 0.99753306, 0.99869787, 0.49309457],\
+-[	-6.27223197, -0.00080710, 0.00049469, 7.27142488, 0.99753370, 0.99869821, 0.49309459],\
+-[	-6.27223250, -0.00080689, 0.00049457, 7.27142561, 0.99753435, 0.99869855, 0.49309463],\
+-[	-6.27223302, -0.00080668, 0.00049444, 7.27142635, 0.99753499, 0.99869888, 0.49309473],\
+-[	-6.27223355, -0.00080647, 0.00049431, 7.27142708, 0.99753563, 0.99869922, 0.49309486],\
+-[	-6.27223407, -0.00080626, 0.00049418, 7.27142781, 0.99753627, 0.99869956, 0.49309496],\
+-[	-6.27223460, -0.00080605, 0.00049405, 7.27142855, 0.99753692, 0.99869990, 0.49309501],\
+-[	-6.27223512, -0.00080584, 0.00049392, 7.27142928, 0.99753756, 0.99870024, 0.49309506],\
+-[	-6.27223564, -0.00080563, 0.00049379, 7.27143001, 0.99753820, 0.99870058, 0.49309510],\
+-[	-6.27223616, -0.00080542, 0.00049366, 7.27143074, 0.99753884, 0.99870092, 0.49309524],\
+-[	-6.27223669, -0.00080521, 0.00049354, 7.27143148, 0.99753948, 0.99870125, 0.49309538],\
+-[	-6.27223721, -0.00080500, 0.00049341, 7.27143221, 0.99754012, 0.99870159, 0.49309541],\
+-[	-6.27223773, -0.00080479, 0.00049328, 7.27143294, 0.99754076, 0.99870193, 0.49309547],\
+-[	-6.27223825, -0.00080458, 0.00049315, 7.27143367, 0.99754140, 0.99870227, 0.49309552],\
+-[	-6.27223877, -0.00080437, 0.00049302, 7.27143440, 0.99754204, 0.99870260, 0.49309562],\
+-[	-6.27223929, -0.00080416, 0.00049289, 7.27143513, 0.99754268, 0.99870294, 0.49309564],\
+-[	-6.27223981, -0.00080395, 0.00049277, 7.27143586, 0.99754332, 0.99870328, 0.49309575],\
+-[	-6.27224033, -0.00080375, 0.00049264, 7.27143658, 0.99754395, 0.99870362, 0.49309585],\
+-[	-6.27224085, -0.00080354, 0.00049251, 7.27143731, 0.99754459, 0.99870395, 0.49309591],\
+-[	-6.27224137, -0.00080333, 0.00049238, 7.27143804, 0.99754523, 0.99870429, 0.49309595],\
+-[	-6.27224189, -0.00080312, 0.00049225, 7.27143877, 0.99754587, 0.99870463, 0.49309610],\
+-[	-6.27224241, -0.00080291, 0.00049213, 7.27143949, 0.99754650, 0.99870496, 0.49309609],\
+-[	-6.27224292, -0.00080270, 0.00049200, 7.27144022, 0.99754714, 0.99870530, 0.49309625],\
+-[	-6.27224344, -0.00080250, 0.00049187, 7.27144094, 0.99754778, 0.99870563, 0.49309625],\
+-[	-6.27224396, -0.00080229, 0.00049174, 7.27144167, 0.99754841, 0.99870597, 0.49309632],\
+-[	-6.27224447, -0.00080208, 0.00049162, 7.27144239, 0.99754905, 0.99870630, 0.49309639],\
+-[	-6.27224499, -0.00080187, 0.00049149, 7.27144312, 0.99754968, 0.99870664, 0.49309648],\
+-[	-6.27224551, -0.00080166, 0.00049136, 7.27144384, 0.99755032, 0.99870697, 0.49309655],\
+-[	-6.27224602, -0.00080146, 0.00049123, 7.27144457, 0.99755095, 0.99870731, 0.49309667],\
+-[	-6.27224654, -0.00080125, 0.00049111, 7.27144529, 0.99755159, 0.99870764, 0.49309666],\
+-[	-6.27224705, -0.00080104, 0.00049098, 7.27144601, 0.99755222, 0.99870798, 0.49309679],\
+-[	-6.27224757, -0.00080084, 0.00049085, 7.27144673, 0.99755286, 0.99870831, 0.49309687],\
+-[	-6.27224808, -0.00080063, 0.00049072, 7.27144746, 0.99755349, 0.99870865, 0.49309695],\
+-[	-6.27224860, -0.00080042, 0.00049060, 7.27144818, 0.99755412, 0.99870898, 0.49309704],\
+-[	-6.27224911, -0.00080021, 0.00049047, 7.27144890, 0.99755476, 0.99870932, 0.49309706],\
+-[	-6.27224962, -0.00080001, 0.00049034, 7.27144962, 0.99755539, 0.99870965, 0.49309713],\
+-[	-6.27225014, -0.00079980, 0.00049022, 7.27145034, 0.99755602, 0.99870998, 0.49309722],\
+-[	-6.27225065, -0.00079959, 0.00049009, 7.27145106, 0.99755665, 0.99871032, 0.49309728],\
+-[	-6.27225116, -0.00079939, 0.00048996, 7.27145178, 0.99755728, 0.99871065, 0.49309738],\
+-[	-6.27225168, -0.00079918, 0.00048984, 7.27145249, 0.99755791, 0.99871098, 0.49309747],\
+-[	-6.27225219, -0.00079897, 0.00048971, 7.27145321, 0.99755854, 0.99871131, 0.49309753],\
+-[	-6.27225270, -0.00079877, 0.00048958, 7.27145393, 0.99755918, 0.99871165, 0.49309771],\
+-[	-6.27225321, -0.00079856, 0.00048946, 7.27145465, 0.99755981, 0.99871198, 0.49309765],\
+-[	-6.27225372, -0.00079836, 0.00048933, 7.27145536, 0.99756044, 0.99871231, 0.49309782],\
+-[	-6.27225423, -0.00079815, 0.00048921, 7.27145608, 0.99756106, 0.99871264, 0.49309784],\
+-[	-6.27225474, -0.00079795, 0.00048908, 7.27145680, 0.99756169, 0.99871298, 0.49309793],\
+-[	-6.27225525, -0.00079774, 0.00048895, 7.27145751, 0.99756232, 0.99871331, 0.49309799],\
+-[	-6.27225576, -0.00079753, 0.00048883, 7.27145823, 0.99756295, 0.99871364, 0.49309812],\
+-[	-6.27225627, -0.00079733, 0.00048870, 7.27145894, 0.99756358, 0.99871397, 0.49309805],\
+-[	-6.27225678, -0.00079712, 0.00048857, 7.27145966, 0.99756421, 0.99871430, 0.49309821],\
+-[	-6.27225729, -0.00079692, 0.00048845, 7.27146037, 0.99756483, 0.99871463, 0.49309831],\
+-[	-6.27225780, -0.00079671, 0.00048832, 7.27146108, 0.99756546, 0.99871496, 0.49309836],\
+-[	-6.27225830, -0.00079651, 0.00048820, 7.27146180, 0.99756609, 0.99871529, 0.49309842],\
+-[	-6.27225881, -0.00079630, 0.00048807, 7.27146251, 0.99756671, 0.99871563, 0.49309856],\
+-[	-6.27225932, -0.00079610, 0.00048795, 7.27146322, 0.99756734, 0.99871596, 0.49309861],\
+-[	-6.27225983, -0.00079589, 0.00048782, 7.27146393, 0.99756797, 0.99871629, 0.49309861],\
+-[	-6.27226033, -0.00079569, 0.00048769, 7.27146464, 0.99756859, 0.99871662, 0.49309873],\
+-[	-6.27226084, -0.00079548, 0.00048757, 7.27146535, 0.99756922, 0.99871695, 0.49309877],\
+-[	-6.27226134, -0.00079528, 0.00048744, 7.27146606, 0.99756984, 0.99871728, 0.49309886],\
+-[	-6.27226185, -0.00079508, 0.00048732, 7.27146677, 0.99757047, 0.99871761, 0.49309893],\
+-[	-6.27226235, -0.00079487, 0.00048719, 7.27146748, 0.99757109, 0.99871793, 0.49309902],\
+-[	-6.27226286, -0.00079467, 0.00048707, 7.27146819, 0.99757172, 0.99871826, 0.49309912],\
+-[	-6.27226336, -0.00079446, 0.00048694, 7.27146890, 0.99757234, 0.99871859, 0.49309921],\
+-[	-6.27226387, -0.00079426, 0.00048682, 7.27146961, 0.99757296, 0.99871892, 0.49309921],\
+-[	-6.27226437, -0.00079406, 0.00048669, 7.27147032, 0.99757359, 0.99871925, 0.49309928],\
+-[	-6.27226488, -0.00079385, 0.00048657, 7.27147102, 0.99757421, 0.99871958, 0.49309939],\
+-[	-6.27226538, -0.00079365, 0.00048644, 7.27147173, 0.99757483, 0.99871991, 0.49309945],\
+-[	-6.27226588, -0.00079345, 0.00048632, 7.27147244, 0.99757545, 0.99872024, 0.49309958],\
+-[	-6.27226639, -0.00079324, 0.00048619, 7.27147314, 0.99757607, 0.99872056, 0.49309958],\
+-[	-6.27226689, -0.00079304, 0.00048607, 7.27147385, 0.99757670, 0.99872089, 0.49309961],\
+-[	-6.27226739, -0.00079284, 0.00048594, 7.27147455, 0.99757732, 0.99872122, 0.49309967],\
+-[	-6.27226789, -0.00079263, 0.00048582, 7.27147526, 0.99757794, 0.99872155, 0.49309986],\
+-[	-6.27226839, -0.00079243, 0.00048570, 7.27147596, 0.99757856, 0.99872187, 0.49309996],\
+-[	-6.27226889, -0.00079223, 0.00048557, 7.27147667, 0.99757918, 0.99872220, 0.49309999],\
+-[	-6.27226939, -0.00079202, 0.00048545, 7.27147737, 0.99757980, 0.99872253, 0.49310010],\
+-[	-6.27226990, -0.00079182, 0.00048532, 7.27147807, 0.99758042, 0.99872286, 0.49310015],\
+-[	-6.27227040, -0.00079162, 0.00048520, 7.27147878, 0.99758104, 0.99872318, 0.49310022],\
+-[	-6.27227090, -0.00079142, 0.00048507, 7.27147948, 0.99758166, 0.99872351, 0.49310023],\
+-[	-6.27227139, -0.00079121, 0.00048495, 7.27148018, 0.99758227, 0.99872384, 0.49310029],\
+-[	-6.27227189, -0.00079101, 0.00048483, 7.27148088, 0.99758289, 0.99872416, 0.49310038],\
+-[	-6.27227239, -0.00079081, 0.00048470, 7.27148158, 0.99758351, 0.99872449, 0.49310046],\
+-[	-6.27227289, -0.00079061, 0.00048458, 7.27148228, 0.99758413, 0.99872481, 0.49310052],\
+-[	-6.27227339, -0.00079041, 0.00048445, 7.27148298, 0.99758474, 0.99872514, 0.49310058],\
+-[	-6.27227389, -0.00079020, 0.00048433, 7.27148368, 0.99758536, 0.99872546, 0.49310064],\
+-[	-6.27227439, -0.00079000, 0.00048421, 7.27148438, 0.99758598, 0.99872579, 0.49310077],\
+-[	-6.27227488, -0.00078980, 0.00048408, 7.27148508, 0.99758659, 0.99872612, 0.49310085],\
+-[	-6.27227538, -0.00078960, 0.00048396, 7.27148578, 0.99758721, 0.99872644, 0.49310092],\
+-[	-6.27227588, -0.00078940, 0.00048384, 7.27148648, 0.99758783, 0.99872677, 0.49310100],\
+-[	-6.27227637, -0.00078920, 0.00048371, 7.27148717, 0.99758844, 0.99872709, 0.49310112],\
+-[	-6.27227687, -0.00078900, 0.00048359, 7.27148787, 0.99758906, 0.99872741, 0.49310113],\
+-[	-6.27227736, -0.00078880, 0.00048347, 7.27148857, 0.99758967, 0.99872774, 0.49310122],\
+-[	-6.27227786, -0.00078859, 0.00048334, 7.27148927, 0.99759029, 0.99872806, 0.49310127],\
+-[	-6.27227836, -0.00078839, 0.00048322, 7.27148996, 0.99759090, 0.99872839, 0.49310130],\
+-[	-6.27227885, -0.00078819, 0.00048310, 7.27149066, 0.99759151, 0.99872871, 0.49310141],\
+-[	-6.27227934, -0.00078799, 0.00048297, 7.27149135, 0.99759213, 0.99872903, 0.49310152],\
+-[	-6.27227984, -0.00078779, 0.00048285, 7.27149205, 0.99759274, 0.99872936, 0.49310152],\
+-[	-6.27228033, -0.00078759, 0.00048273, 7.27149274, 0.99759335, 0.99872968, 0.49310163],\
+-[	-6.27228083, -0.00078739, 0.00048260, 7.27149344, 0.99759397, 0.99873001, 0.49310168],\
+-[	-6.27228132, -0.00078719, 0.00048248, 7.27149413, 0.99759458, 0.99873033, 0.49310178],\
+-[	-6.27228181, -0.00078699, 0.00048236, 7.27149482, 0.99759519, 0.99873065, 0.49310189],\
+-[	-6.27228231, -0.00078679, 0.00048224, 7.27149552, 0.99759580, 0.99873097, 0.49310191],\
+-[	-6.27228280, -0.00078659, 0.00048211, 7.27149621, 0.99759641, 0.99873130, 0.49310203],\
+-[	-6.27228329, -0.00078639, 0.00048199, 7.27149690, 0.99759702, 0.99873162, 0.49310202],\
+-[	-6.27228378, -0.00078619, 0.00048187, 7.27149759, 0.99759763, 0.99873194, 0.49310216],\
+-[	-6.27228427, -0.00078599, 0.00048175, 7.27149828, 0.99759825, 0.99873226, 0.49310220],\
+-[	-6.27228476, -0.00078579, 0.00048162, 7.27149897, 0.99759886, 0.99873259, 0.49310228],\
+-[	-6.27228526, -0.00078559, 0.00048150, 7.27149966, 0.99759946, 0.99873291, 0.49310231],\
+-[	-6.27228575, -0.00078539, 0.00048138, 7.27150035, 0.99760007, 0.99873323, 0.49310245],\
+-[	-6.27228624, -0.00078519, 0.00048126, 7.27150104, 0.99760068, 0.99873355, 0.49310250],\
+-[	-6.27228673, -0.00078500, 0.00048113, 7.27150173, 0.99760129, 0.99873387, 0.49310256],\
+-[	-6.27228722, -0.00078480, 0.00048101, 7.27150242, 0.99760190, 0.99873419, 0.49310269],\
+-[	-6.27228771, -0.00078460, 0.00048089, 7.27150311, 0.99760251, 0.99873451, 0.49310278],\
+-[	-6.27228819, -0.00078440, 0.00048077, 7.27150380, 0.99760312, 0.99873483, 0.49310277],\
+-[	-6.27228868, -0.00078420, 0.00048065, 7.27150448, 0.99760372, 0.99873515, 0.49310291],\
+-[	-6.27228917, -0.00078400, 0.00048052, 7.27150517, 0.99760433, 0.99873548, 0.49310291],\
+-[	-6.27228966, -0.00078380, 0.00048040, 7.27150586, 0.99760494, 0.99873580, 0.49310301],\
+-[	-6.27229015, -0.00078360, 0.00048028, 7.27150654, 0.99760555, 0.99873612, 0.49310307],\
+-[	-6.27229064, -0.00078341, 0.00048016, 7.27150723, 0.99760615, 0.99873644, 0.49310321],\
+-[	-6.27229112, -0.00078321, 0.00048004, 7.27150792, 0.99760676, 0.99873676, 0.49310322],\
+-[	-6.27229161, -0.00078301, 0.00047992, 7.27150860, 0.99760736, 0.99873707, 0.49310330],\
+-[	-6.27229210, -0.00078281, 0.00047979, 7.27150929, 0.99760797, 0.99873739, 0.49310330],\
+-[	-6.27229258, -0.00078261, 0.00047967, 7.27150997, 0.99760857, 0.99873771, 0.49310340],\
+-[	-6.27229307, -0.00078242, 0.00047955, 7.27151065, 0.99760918, 0.99873803, 0.49310344],\
+-[	-6.27229356, -0.00078222, 0.00047943, 7.27151134, 0.99760978, 0.99873835, 0.49310362],\
+-[	-6.27229404, -0.00078202, 0.00047931, 7.27151202, 0.99761039, 0.99873867, 0.49310362],\
+-[	-6.27229453, -0.00078182, 0.00047919, 7.27151270, 0.99761099, 0.99873899, 0.49310369],\
+-[	-6.27229501, -0.00078163, 0.00047907, 7.27151339, 0.99761160, 0.99873931, 0.49310382],\
+-[	-6.27229550, -0.00078143, 0.00047895, 7.27151407, 0.99761220, 0.99873963, 0.49310378],\
+-[	-6.27229598, -0.00078123, 0.00047882, 7.27151475, 0.99761280, 0.99873994, 0.49310395],\
+-[	-6.27229646, -0.00078103, 0.00047870, 7.27151543, 0.99761340, 0.99874026, 0.49310398],\
+-[	-6.27229695, -0.00078084, 0.00047858, 7.27151611, 0.99761401, 0.99874058, 0.49310409],\
+-[	-6.27229743, -0.00078064, 0.00047846, 7.27151679, 0.99761461, 0.99874090, 0.49310410],\
+-[	-6.27229791, -0.00078044, 0.00047834, 7.27151747, 0.99761521, 0.99874122, 0.49310419],\
+-[	-6.27229840, -0.00078025, 0.00047822, 7.27151815, 0.99761581, 0.99874153, 0.49310426],\
+-[	-6.27229888, -0.00078005, 0.00047810, 7.27151883, 0.99761641, 0.99874185, 0.49310431],\
+-[	-6.27229936, -0.00077985, 0.00047798, 7.27151951, 0.99761701, 0.99874217, 0.49310439],\
+-[	-6.27229984, -0.00077966, 0.00047786, 7.27152019, 0.99761762, 0.99874248, 0.49310456],\
+-[	-6.27230033, -0.00077946, 0.00047774, 7.27152087, 0.99761822, 0.99874280, 0.49310453],\
+-[	-6.27230081, -0.00077926, 0.00047762, 7.27152154, 0.99761882, 0.99874312, 0.49310456],\
+-[	-6.27230129, -0.00077907, 0.00047750, 7.27152222, 0.99761942, 0.99874343, 0.49310472],\
+-[	-6.27230177, -0.00077887, 0.00047738, 7.27152290, 0.99762001, 0.99874375, 0.49310478],\
+-[	-6.27230225, -0.00077868, 0.00047726, 7.27152357, 0.99762061, 0.99874407, 0.49310482],\
+-[	-6.27230273, -0.00077848, 0.00047714, 7.27152425, 0.99762121, 0.99874438, 0.49310485],\
+-[	-6.27230321, -0.00077828, 0.00047702, 7.27152493, 0.99762181, 0.99874470, 0.49310496],\
+-[	-6.27230369, -0.00077809, 0.00047690, 7.27152560, 0.99762241, 0.99874501, 0.49310508],\
+-[	-6.27230417, -0.00077789, 0.00047678, 7.27152628, 0.99762301, 0.99874533, 0.49310514],\
+-[	-6.27230465, -0.00077770, 0.00047666, 7.27152695, 0.99762360, 0.99874564, 0.49310512],\
+-[	-6.27230513, -0.00077750, 0.00047654, 7.27152763, 0.99762420, 0.99874596, 0.49310522],\
+-[	-6.27230561, -0.00077731, 0.00047642, 7.27152830, 0.99762480, 0.99874627, 0.49310530],\
+-[	-6.27230609, -0.00077711, 0.00047630, 7.27152897, 0.99762540, 0.99874659, 0.49310543],\
+-[	-6.27230656, -0.00077692, 0.00047618, 7.27152965, 0.99762599, 0.99874690, 0.49310543],\
+-[	-6.27230704, -0.00077672, 0.00047606, 7.27153032, 0.99762659, 0.99874722, 0.49310556],\
+-[	-6.27230752, -0.00077653, 0.00047594, 7.27153099, 0.99762718, 0.99874753, 0.49310555],\
+-[	-6.27230800, -0.00077633, 0.00047582, 7.27153166, 0.99762778, 0.99874785, 0.49310570],\
+-[	-6.27230847, -0.00077614, 0.00047570, 7.27153233, 0.99762837, 0.99874816, 0.49310570],\
+-[	-6.27230895, -0.00077594, 0.00047558, 7.27153301, 0.99762897, 0.99874848, 0.49310582],\
+-[	-6.27230943, -0.00077575, 0.00047546, 7.27153368, 0.99762956, 0.99874879, 0.49310585],\
+-[	-6.27230990, -0.00077556, 0.00047534, 7.27153435, 0.99763016, 0.99874910, 0.49310599],\
+-[	-6.27231038, -0.00077536, 0.00047522, 7.27153502, 0.99763075, 0.99874942, 0.49310605],\
+-[	-6.27231085, -0.00077517, 0.00047510, 7.27153569, 0.99763135, 0.99874973, 0.49310608],\
+-[	-6.27231133, -0.00077497, 0.00047498, 7.27153636, 0.99763194, 0.99875004, 0.49310612],\
+-[	-6.27231180, -0.00077478, 0.00047487, 7.27153702, 0.99763253, 0.99875036, 0.49310624],\
+-[	-6.27231228, -0.00077458, 0.00047475, 7.27153769, 0.99763312, 0.99875067, 0.49310622],\
+-[	-6.27231275, -0.00077439, 0.00047463, 7.27153836, 0.99763372, 0.99875098, 0.49310639],\
+-[	-6.27231323, -0.00077420, 0.00047451, 7.27153903, 0.99763431, 0.99875129, 0.49310643],\
+-[	-6.27231370, -0.00077400, 0.00047439, 7.27153970, 0.99763490, 0.99875161, 0.49310644],\
+-[	-6.27231417, -0.00077381, 0.00047427, 7.27154036, 0.99763549, 0.99875192, 0.49310654],\
+-[	-6.27231465, -0.00077362, 0.00047415, 7.27154103, 0.99763608, 0.99875223, 0.49310665],\
+-[	-6.27231512, -0.00077342, 0.00047403, 7.27154170, 0.99763668, 0.99875254, 0.49310674],\
+-[	-6.27231559, -0.00077323, 0.00047392, 7.27154236, 0.99763727, 0.99875285, 0.49310670],\
+-[	-6.27231607, -0.00077304, 0.00047380, 7.27154303, 0.99763786, 0.99875317, 0.49310684],\
+-[	-6.27231654, -0.00077284, 0.00047368, 7.27154369, 0.99763845, 0.99875348, 0.49310692],\
+-[	-6.27231701, -0.00077265, 0.00047356, 7.27154436, 0.99763904, 0.99875379, 0.49310699],\
+-[	-6.27231748, -0.00077246, 0.00047344, 7.27154502, 0.99763963, 0.99875410, 0.49310700],\
+-[	-6.27231795, -0.00077227, 0.00047332, 7.27154569, 0.99764021, 0.99875441, 0.49310703],\
+-[	-6.27231842, -0.00077207, 0.00047321, 7.27154635, 0.99764080, 0.99875472, 0.49310722],\
+-[	-6.27231889, -0.00077188, 0.00047309, 7.27154701, 0.99764139, 0.99875503, 0.49310725],\
+-[	-6.27231936, -0.00077169, 0.00047297, 7.27154768, 0.99764198, 0.99875534, 0.49310729],\
+-[	-6.27231984, -0.00077150, 0.00047285, 7.27154834, 0.99764257, 0.99875565, 0.49310745],\
+-[	-6.27232031, -0.00077130, 0.00047273, 7.27154900, 0.99764316, 0.99875596, 0.49310751],\
+-[	-6.27232077, -0.00077111, 0.00047262, 7.27154966, 0.99764374, 0.99875627, 0.49310749],\
+-[	-6.27232124, -0.00077092, 0.00047250, 7.27155032, 0.99764433, 0.99875658, 0.49310765],\
+-[	-6.27232171, -0.00077073, 0.00047238, 7.27155099, 0.99764492, 0.99875689, 0.49310767],\
+-[	-6.27232218, -0.00077054, 0.00047226, 7.27155165, 0.99764550, 0.99875720, 0.49310775],\
+-[	-6.27232265, -0.00077034, 0.00047215, 7.27155231, 0.99764609, 0.99875751, 0.49310781],\
+-[	-6.27232312, -0.00077015, 0.00047203, 7.27155297, 0.99764668, 0.99875782, 0.49310787],\
+-[	-6.27232359, -0.00076996, 0.00047191, 7.27155363, 0.99764726, 0.99875813, 0.49310796],\
+-[	-6.27232406, -0.00076977, 0.00047179, 7.27155429, 0.99764785, 0.99875844, 0.49310787],\
+-[	-6.27232452, -0.00076958, 0.00047168, 7.27155494, 0.99764843, 0.99875875, 0.49310807],\
+-[	-6.27232499, -0.00076939, 0.00047156, 7.27155560, 0.99764902, 0.99875906, 0.49310819],\
+-[	-6.27232546, -0.00076920, 0.00047144, 7.27155626, 0.99764960, 0.99875936, 0.49310824],\
+-[	-6.27232592, -0.00076900, 0.00047132, 7.27155692, 0.99765019, 0.99875967, 0.49310831],\
+-[	-6.27232639, -0.00076881, 0.00047121, 7.27155758, 0.99765077, 0.99875998, 0.49310826],\
+-[	-6.27232686, -0.00076862, 0.00047109, 7.27155823, 0.99765135, 0.99876029, 0.49310841],\
+-[	-6.27232732, -0.00076843, 0.00047097, 7.27155889, 0.99765194, 0.99876060, 0.49310851],\
+-[	-6.27232779, -0.00076824, 0.00047086, 7.27155955, 0.99765252, 0.99876090, 0.49310855],\
+-[	-6.27232825, -0.00076805, 0.00047074, 7.27156020, 0.99765310, 0.99876121, 0.49310862],\
+-[	-6.27232872, -0.00076786, 0.00047062, 7.27156086, 0.99765369, 0.99876152, 0.49310868],\
+-[	-6.27232918, -0.00076767, 0.00047050, 7.27156151, 0.99765427, 0.99876183, 0.49310870],\
+-[	-6.27232965, -0.00076748, 0.00047039, 7.27156217, 0.99765485, 0.99876213, 0.49310885],\
+-[	-6.27233011, -0.00076729, 0.00047027, 7.27156282, 0.99765543, 0.99876244, 0.49310881],\
+-[	-6.27233058, -0.00076710, 0.00047015, 7.27156348, 0.99765601, 0.99876275, 0.49310901],\
+-[	-6.27233104, -0.00076691, 0.00047004, 7.27156413, 0.99765660, 0.99876305, 0.49310905],\
+-[	-6.27233150, -0.00076672, 0.00046992, 7.27156478, 0.99765718, 0.99876336, 0.49310906],\
+-[	-6.27233197, -0.00076653, 0.00046981, 7.27156544, 0.99765776, 0.99876367, 0.49310915],\
+-[	-6.27233243, -0.00076634, 0.00046969, 7.27156609, 0.99765834, 0.99876397, 0.49310926],\
+-[	-6.27233289, -0.00076615, 0.00046957, 7.27156674, 0.99765892, 0.99876428, 0.49310922],\
+-[	-6.27233336, -0.00076596, 0.00046946, 7.27156740, 0.99765950, 0.99876458, 0.49310945],\
+-[	-6.27233382, -0.00076577, 0.00046934, 7.27156805, 0.99766008, 0.99876489, 0.49310949],\
+-[	-6.27233428, -0.00076558, 0.00046922, 7.27156870, 0.99766065, 0.99876520, 0.49310955],\
+-[	-6.27233474, -0.00076539, 0.00046911, 7.27156935, 0.99766123, 0.99876550, 0.49310960],\
+-[	-6.27233520, -0.00076520, 0.00046899, 7.27157000, 0.99766181, 0.99876581, 0.49310966],\
+-[	-6.27233566, -0.00076501, 0.00046888, 7.27157065, 0.99766239, 0.99876611, 0.49310976],\
+-[	-6.27233612, -0.00076482, 0.00046876, 7.27157130, 0.99766297, 0.99876642, 0.49310982],\
+-[	-6.27233658, -0.00076464, 0.00046864, 7.27157195, 0.99766355, 0.99876672, 0.49310988],\
+-[	-6.27233705, -0.00076445, 0.00046853, 7.27157260, 0.99766412, 0.99876703, 0.49310995],\
+-[	-6.27233751, -0.00076426, 0.00046841, 7.27157325, 0.99766470, 0.99876733, 0.49310998],\
+-[	-6.27233797, -0.00076407, 0.00046830, 7.27157390, 0.99766528, 0.99876763, 0.49311004],\
+-[	-6.27233843, -0.00076388, 0.00046818, 7.27157454, 0.99766585, 0.99876794, 0.49311017],\
+-[	-6.27233888, -0.00076369, 0.00046806, 7.27157519, 0.99766643, 0.99876824, 0.49311019],\
+-[	-6.27233934, -0.00076350, 0.00046795, 7.27157584, 0.99766701, 0.99876855, 0.49311023],\
+-[	-6.27233980, -0.00076332, 0.00046783, 7.27157649, 0.99766758, 0.99876885, 0.49311028],\
+-[	-6.27234026, -0.00076313, 0.00046772, 7.27157713, 0.99766816, 0.99876915, 0.49311042],\
+-[	-6.27234072, -0.00076294, 0.00046760, 7.27157778, 0.99766873, 0.99876946, 0.49311047],\
+-[	-6.27234118, -0.00076275, 0.00046749, 7.27157843, 0.99766931, 0.99876976, 0.49311045],\
+-[	-6.27234163, -0.00076256, 0.00046737, 7.27157907, 0.99766988, 0.99877006, 0.49311061],\
+-[	-6.27234209, -0.00076238, 0.00046726, 7.27157972, 0.99767046, 0.99877037, 0.49311059],\
+-[	-6.27234255, -0.00076219, 0.00046714, 7.27158036, 0.99767103, 0.99877067, 0.49311072],\
+-[	-6.27234301, -0.00076200, 0.00046703, 7.27158101, 0.99767160, 0.99877097, 0.49311081],\
+-[	-6.27234346, -0.00076181, 0.00046691, 7.27158165, 0.99767218, 0.99877128, 0.49311088],\
+-[	-6.27234392, -0.00076163, 0.00046680, 7.27158229, 0.99767275, 0.99877158, 0.49311099],\
+-[	-6.27234438, -0.00076144, 0.00046668, 7.27158294, 0.99767332, 0.99877188, 0.49311100],\
+-[	-6.27234483, -0.00076125, 0.00046657, 7.27158358, 0.99767389, 0.99877218, 0.49311108],\
+-[	-6.27234529, -0.00076106, 0.00046645, 7.27158422, 0.99767447, 0.99877248, 0.49311114],\
+-[	-6.27234574, -0.00076088, 0.00046634, 7.27158487, 0.99767504, 0.99877279, 0.49311126],\
+-[	-6.27234620, -0.00076069, 0.00046622, 7.27158551, 0.99767561, 0.99877309, 0.49311118],\
+-[	-6.27234665, -0.00076050, 0.00046611, 7.27158615, 0.99767618, 0.99877339, 0.49311132],\
+-[	-6.27234711, -0.00076032, 0.00046599, 7.27158679, 0.99767675, 0.99877369, 0.49311134],\
+-[	-6.27234756, -0.00076013, 0.00046588, 7.27158743, 0.99767732, 0.99877399, 0.49311138],\
+-[	-6.27234802, -0.00075994, 0.00046576, 7.27158807, 0.99767789, 0.99877429, 0.49311158],\
+-[	-6.27234847, -0.00075976, 0.00046565, 7.27158872, 0.99767846, 0.99877459, 0.49311152],\
+-[	-6.27234892, -0.00075957, 0.00046554, 7.27158935, 0.99767903, 0.99877489, 0.49311170],\
+-[	-6.27234938, -0.00075938, 0.00046542, 7.27158999, 0.99767960, 0.99877519, 0.49311176],\
+-[	-6.27234983, -0.00075920, 0.00046531, 7.27159063, 0.99768017, 0.99877550, 0.49311184],\
+-[	-6.27235028, -0.00075901, 0.00046519, 7.27159127, 0.99768074, 0.99877580, 0.49311180],\
+-[	-6.27235074, -0.00075882, 0.00046508, 7.27159191, 0.99768131, 0.99877610, 0.49311187],\
+-[	-6.27235119, -0.00075864, 0.00046496, 7.27159255, 0.99768188, 0.99877640, 0.49311206],\
+-[	-6.27235164, -0.00075845, 0.00046485, 7.27159319, 0.99768245, 0.99877670, 0.49311212],\
+-[	-6.27235209, -0.00075827, 0.00046474, 7.27159383, 0.99768302, 0.99877700, 0.49311212],\
+-[	-6.27235255, -0.00075808, 0.00046462, 7.27159446, 0.99768358, 0.99877730, 0.49311214],\
+-[	-6.27235300, -0.00075790, 0.00046451, 7.27159510, 0.99768415, 0.99877759, 0.49311223],\
+-[	-6.27235345, -0.00075771, 0.00046440, 7.27159574, 0.99768472, 0.99877789, 0.49311231],\
+-[	-6.27235390, -0.00075753, 0.00046428, 7.27159637, 0.99768529, 0.99877819, 0.49311242],\
+-[	-6.27235435, -0.00075734, 0.00046417, 7.27159701, 0.99768585, 0.99877849, 0.49311242],\
+-[	-6.27235480, -0.00075715, 0.00046405, 7.27159765, 0.99768642, 0.99877879, 0.49311257],\
+-[	-6.27235525, -0.00075697, 0.00046394, 7.27159828, 0.99768699, 0.99877909, 0.49311263],\
+-[	-6.27235570, -0.00075678, 0.00046383, 7.27159892, 0.99768755, 0.99877939, 0.49311265],\
+-[	-6.27235615, -0.00075660, 0.00046371, 7.27159955, 0.99768812, 0.99877969, 0.49311271],\
+-[	-6.27235660, -0.00075641, 0.00046360, 7.27160019, 0.99768868, 0.99877999, 0.49311273],\
+-[	-6.27235705, -0.00075623, 0.00046349, 7.27160082, 0.99768925, 0.99878028, 0.49311292],\
+-[	-6.27235750, -0.00075605, 0.00046337, 7.27160145, 0.99768981, 0.99878058, 0.49311290],\
+-[	-6.27235795, -0.00075586, 0.00046326, 7.27160209, 0.99769038, 0.99878088, 0.49311294],\
+-[	-6.27235840, -0.00075568, 0.00046315, 7.27160272, 0.99769094, 0.99878118, 0.49311305],\
+-[	-6.27235884, -0.00075549, 0.00046303, 7.27160335, 0.99769150, 0.99878147, 0.49311309],\
+-[	-6.27235929, -0.00075531, 0.00046292, 7.27160398, 0.99769207, 0.99878177, 0.49311327],\
+-[	-6.27235974, -0.00075512, 0.00046281, 7.27160462, 0.99769263, 0.99878207, 0.49311324],\
+-[	-6.27236019, -0.00075494, 0.00046269, 7.27160525, 0.99769319, 0.99878237, 0.49311327],\
+-[	-6.27236063, -0.00075475, 0.00046258, 7.27160588, 0.99769376, 0.99878266, 0.49311333],\
+-[	-6.27236108, -0.00075457, 0.00046247, 7.27160651, 0.99769432, 0.99878296, 0.49311348],\
+-[	-6.27236153, -0.00075439, 0.00046236, 7.27160714, 0.99769488, 0.99878326, 0.49311361],\
+-[	-6.27236197, -0.00075420, 0.00046224, 7.27160777, 0.99769544, 0.99878355, 0.49311357],\
+-[	-6.27236242, -0.00075402, 0.00046213, 7.27160840, 0.99769601, 0.99878385, 0.49311362],\
+-[	-6.27236287, -0.00075384, 0.00046202, 7.27160903, 0.99769657, 0.99878415, 0.49311367],\
+-[	-6.27236331, -0.00075365, 0.00046191, 7.27160966, 0.99769713, 0.99878444, 0.49311366],\
+-[	-6.27236376, -0.00075347, 0.00046179, 7.27161029, 0.99769769, 0.99878474, 0.49311384],\
+-[	-6.27236420, -0.00075329, 0.00046168, 7.27161092, 0.99769825, 0.99878503, 0.49311393],\
+-[	-6.27236465, -0.00075310, 0.00046157, 7.27161155, 0.99769881, 0.99878533, 0.49311405],\
+-[	-6.27236509, -0.00075292, 0.00046146, 7.27161217, 0.99769937, 0.99878563, 0.49311410],\
+-[	-6.27236554, -0.00075274, 0.00046134, 7.27161280, 0.99769993, 0.99878592, 0.49311401],\
+-[	-6.27236598, -0.00075255, 0.00046123, 7.27161343, 0.99770049, 0.99878622, 0.49311424],\
+-[	-6.27236643, -0.00075237, 0.00046112, 7.27161406, 0.99770105, 0.99878651, 0.49311425],\
+-[	-6.27236687, -0.00075219, 0.00046101, 7.27161468, 0.99770161, 0.99878681, 0.49311423],\
+-[	-6.27236731, -0.00075200, 0.00046089, 7.27161531, 0.99770217, 0.99878710, 0.49311442],\
+-[	-6.27236776, -0.00075182, 0.00046078, 7.27161594, 0.99770272, 0.99878740, 0.49311431],\
+-[	-6.27236820, -0.00075164, 0.00046067, 7.27161656, 0.99770328, 0.99878769, 0.49311449],\
+-[	-6.27236864, -0.00075146, 0.00046056, 7.27161719, 0.99770384, 0.99878798, 0.49311451],\
+-[	-6.27236909, -0.00075127, 0.00046045, 7.27161781, 0.99770440, 0.99878828, 0.49311462],\
+-[	-6.27236953, -0.00075109, 0.00046034, 7.27161844, 0.99770496, 0.99878857, 0.49311465],\
+-[	-6.27236997, -0.00075091, 0.00046022, 7.27161906, 0.99770551, 0.99878887, 0.49311479],\
+-[	-6.27237041, -0.00075073, 0.00046011, 7.27161968, 0.99770607, 0.99878916, 0.49311488],\
+-[	-6.27237085, -0.00075055, 0.00046000, 7.27162031, 0.99770663, 0.99878945, 0.49311489],\
+-[	-6.27237130, -0.00075036, 0.00045989, 7.27162093, 0.99770718, 0.99878975, 0.49311496],\
+-[	-6.27237174, -0.00075018, 0.00045978, 7.27162155, 0.99770774, 0.99879004, 0.49311494],\
+-[	-6.27237218, -0.00075000, 0.00045967, 7.27162218, 0.99770829, 0.99879033, 0.49311510],\
+-[	-6.27237262, -0.00074982, 0.00045955, 7.27162280, 0.99770885, 0.99879063, 0.49311504],\
+-[	-6.27237306, -0.00074964, 0.00045944, 7.27162342, 0.99770941, 0.99879092, 0.49311523],\
+-[	-6.27237350, -0.00074946, 0.00045933, 7.27162404, 0.99770996, 0.99879121, 0.49311526],\
+-[	-6.27237394, -0.00074927, 0.00045922, 7.27162466, 0.99771051, 0.99879151, 0.49311531],\
+-[	-6.27237438, -0.00074909, 0.00045911, 7.27162529, 0.99771107, 0.99879180, 0.49311549],\
+-[	-6.27237482, -0.00074891, 0.00045900, 7.27162591, 0.99771162, 0.99879209, 0.49311546],\
+-[	-6.27237526, -0.00074873, 0.00045889, 7.27162653, 0.99771218, 0.99879238, 0.49311554],\
+-[	-6.27237570, -0.00074855, 0.00045878, 7.27162715, 0.99771273, 0.99879268, 0.49311557],\
+-[	-6.27237614, -0.00074837, 0.00045866, 7.27162777, 0.99771328, 0.99879297, 0.49311573],\
+-[	-6.27237657, -0.00074819, 0.00045855, 7.27162839, 0.99771384, 0.99879326, 0.49311571],\
+-[	-6.27237701, -0.00074801, 0.00045844, 7.27162901, 0.99771439, 0.99879355, 0.49311580],\
+-[	-6.27237745, -0.00074783, 0.00045833, 7.27162962, 0.99771494, 0.99879384, 0.49311585],\
+-[	-6.27237789, -0.00074765, 0.00045822, 7.27163024, 0.99771549, 0.99879413, 0.49311592],\
+-[	-6.27237833, -0.00074747, 0.00045811, 7.27163086, 0.99771605, 0.99879442, 0.49311607],\
+-[	-6.27237876, -0.00074728, 0.00045800, 7.27163148, 0.99771660, 0.99879472, 0.49311608],\
+-[	-6.27237920, -0.00074710, 0.00045789, 7.27163210, 0.99771715, 0.99879501, 0.49311612],\
+-[	-6.27237964, -0.00074692, 0.00045778, 7.27163271, 0.99771770, 0.99879530, 0.49311622],\
+-[	-6.27238007, -0.00074674, 0.00045767, 7.27163333, 0.99771825, 0.99879559, 0.49311623],\
+-[	-6.27238051, -0.00074656, 0.00045756, 7.27163395, 0.99771880, 0.99879588, 0.49311629],\
+-[	-6.27238095, -0.00074638, 0.00045745, 7.27163456, 0.99771935, 0.99879617, 0.49311629],\
+-[	-6.27238138, -0.00074620, 0.00045734, 7.27163518, 0.99771990, 0.99879646, 0.49311644],\
+-[	-6.27238182, -0.00074602, 0.00045723, 7.27163580, 0.99772045, 0.99879675, 0.49311641],\
+-[	-6.27238225, -0.00074584, 0.00045712, 7.27163641, 0.99772100, 0.99879704, 0.49311653],\
+-[	-6.27238269, -0.00074566, 0.00045701, 7.27163703, 0.99772155, 0.99879733, 0.49311671],\
+-[	-6.27238312, -0.00074548, 0.00045690, 7.27163764, 0.99772210, 0.99879762, 0.49311673],\
+-[	-6.27238356, -0.00074531, 0.00045679, 7.27163825, 0.99772265, 0.99879791, 0.49311683],\
+-[	-6.27238399, -0.00074513, 0.00045668, 7.27163887, 0.99772320, 0.99879820, 0.49311676],\
+-[	-6.27238443, -0.00074495, 0.00045657, 7.27163948, 0.99772375, 0.99879849, 0.49311684],\
+-[	-6.27238486, -0.00074477, 0.00045646, 7.27164010, 0.99772429, 0.99879878, 0.49311690],\
+-[	-6.27238530, -0.00074459, 0.00045635, 7.27164071, 0.99772484, 0.99879907, 0.49311703],\
+-[	-6.27238573, -0.00074441, 0.00045624, 7.27164132, 0.99772539, 0.99879936, 0.49311710],\
+-[	-6.27238616, -0.00074423, 0.00045613, 7.27164193, 0.99772594, 0.99879964, 0.49311708],\
+-[	-6.27238660, -0.00074405, 0.00045602, 7.27164255, 0.99772648, 0.99879993, 0.49311725],\
+-[	-6.27238703, -0.00074387, 0.00045591, 7.27164316, 0.99772703, 0.99880022, 0.49311732],\
+-[	-6.27238746, -0.00074369, 0.00045580, 7.27164377, 0.99772758, 0.99880051, 0.49311738],\
+-[	-6.27238790, -0.00074352, 0.00045569, 7.27164438, 0.99772812, 0.99880080, 0.49311739],\
+-[	-6.27238833, -0.00074334, 0.00045558, 7.27164499, 0.99772867, 0.99880109, 0.49311746],\
+-[	-6.27238876, -0.00074316, 0.00045547, 7.27164560, 0.99772921, 0.99880137, 0.49311752],\
+-[	-6.27238919, -0.00074298, 0.00045536, 7.27164621, 0.99772976, 0.99880166, 0.49311758],\
+-[	-6.27238962, -0.00074280, 0.00045525, 7.27164682, 0.99773030, 0.99880195, 0.49311766],\
+-[	-6.27239006, -0.00074262, 0.00045514, 7.27164743, 0.99773085, 0.99880224, 0.49311772],\
+-[	-6.27239049, -0.00074245, 0.00045503, 7.27164804, 0.99773139, 0.99880252, 0.49311777],\
+-[	-6.27239092, -0.00074227, 0.00045492, 7.27164865, 0.99773194, 0.99880281, 0.49311785],\
+-[	-6.27239135, -0.00074209, 0.00045481, 7.27164926, 0.99773248, 0.99880310, 0.49311791],\
+-[	-6.27239178, -0.00074191, 0.00045470, 7.27164987, 0.99773303, 0.99880339, 0.49311797],\
+-[	-6.27239221, -0.00074173, 0.00045459, 7.27165048, 0.99773357, 0.99880367, 0.49311806],\
+-[	-6.27239264, -0.00074156, 0.00045449, 7.27165108, 0.99773411, 0.99880396, 0.49311809],\
+-[	-6.27239307, -0.00074138, 0.00045438, 7.27165169, 0.99773466, 0.99880425, 0.49311816],\
+-[	-6.27239350, -0.00074120, 0.00045427, 7.27165230, 0.99773520, 0.99880453, 0.49311824],\
+-[	-6.27239393, -0.00074102, 0.00045416, 7.27165291, 0.99773574, 0.99880482, 0.49311829],\
+-[	-6.27239436, -0.00074085, 0.00045405, 7.27165351, 0.99773628, 0.99880510, 0.49311835],\
+-[	-6.27239479, -0.00074067, 0.00045394, 7.27165412, 0.99773683, 0.99880539, 0.49311839],\
+-[	-6.27239522, -0.00074049, 0.00045383, 7.27165472, 0.99773737, 0.99880568, 0.49311849],\
+-[	-6.27239564, -0.00074031, 0.00045372, 7.27165533, 0.99773791, 0.99880596, 0.49311853],\
+-[	-6.27239607, -0.00074014, 0.00045362, 7.27165593, 0.99773845, 0.99880625, 0.49311862],\
+-[	-6.27239650, -0.00073996, 0.00045351, 7.27165654, 0.99773899, 0.99880653, 0.49311867],\
+-[	-6.27239693, -0.00073978, 0.00045340, 7.27165714, 0.99773953, 0.99880682, 0.49311873],\
+-[	-6.27239736, -0.00073961, 0.00045329, 7.27165775, 0.99774007, 0.99880710, 0.49311878],\
+-[	-6.27239778, -0.00073943, 0.00045318, 7.27165835, 0.99774061, 0.99880739, 0.49311885],\
+-[	-6.27239821, -0.00073925, 0.00045307, 7.27165896, 0.99774115, 0.99880767, 0.49311891],\
+-[	-6.27239864, -0.00073908, 0.00045296, 7.27165956, 0.99774169, 0.99880796, 0.49311897],\
+-[	-6.27239906, -0.00073890, 0.00045286, 7.27166016, 0.99774223, 0.99880824, 0.49311905],\
+-[	-6.27239949, -0.00073872, 0.00045275, 7.27166077, 0.99774277, 0.99880853, 0.49311912],\
+-[	-6.27239992, -0.00073855, 0.00045264, 7.27166137, 0.99774331, 0.99880881, 0.49311918],\
+-[	-6.27240034, -0.00073837, 0.00045253, 7.27166197, 0.99774385, 0.99880910, 0.49311924],\
+-[	-6.27240077, -0.00073820, 0.00045242, 7.27166257, 0.99774439, 0.99880938, 0.49311929],\
+-[	-6.27240119, -0.00073802, 0.00045232, 7.27166317, 0.99774492, 0.99880966, 0.49311935],\
+-[	-6.27240162, -0.00073784, 0.00045221, 7.27166378, 0.99774546, 0.99880995, 0.49311941],\
+-[	-6.27240205, -0.00073767, 0.00045210, 7.27166438, 0.99774600, 0.99881023, 0.49311949],\
+-[	-6.27240247, -0.00073749, 0.00045199, 7.27166498, 0.99774654, 0.99881051, 0.49311956],\
+-[	-6.27240289, -0.00073732, 0.00045188, 7.27166558, 0.99774707, 0.99881080, 0.49311961],\
+-[	-6.27240332, -0.00073714, 0.00045178, 7.27166618, 0.99774761, 0.99881108, 0.49311968],\
+-[	-6.27240374, -0.00073697, 0.00045167, 7.27166678, 0.99774815, 0.99881136, 0.49311975],\
+-[	-6.27240417, -0.00073679, 0.00045156, 7.27166738, 0.99774868, 0.99881165, 0.49311980],\
+-[	-6.27240459, -0.00073662, 0.00045145, 7.27166798, 0.99774922, 0.99881193, 0.49311987],\
+-[	-6.27240502, -0.00073644, 0.00045135, 7.27166858, 0.99774976, 0.99881221, 0.49311992],\
+-[	-6.27240544, -0.00073626, 0.00045124, 7.27166917, 0.99775029, 0.99881250, 0.49312000],\
+-[	-6.27240586, -0.00073609, 0.00045113, 7.27166977, 0.99775083, 0.99881278, 0.49312006],\
+-[	-6.27240628, -0.00073591, 0.00045102, 7.27167037, 0.99775136, 0.99881306, 0.49312011],\
+-[	-6.27240671, -0.00073574, 0.00045092, 7.27167097, 0.99775190, 0.99881334, 0.49312017],\
+-[	-6.27240713, -0.00073556, 0.00045081, 7.27167157, 0.99775243, 0.99881362, 0.49312022],\
+-[	-6.27240755, -0.00073539, 0.00045070, 7.27167216, 0.99775297, 0.99881391, 0.49312031],\
+-[	-6.27240797, -0.00073522, 0.00045060, 7.27167276, 0.99775350, 0.99881419, 0.49312033],\
+-[	-6.27240840, -0.00073504, 0.00045049, 7.27167336, 0.99775403, 0.99881447, 0.49312043],\
+-[	-6.27240882, -0.00073487, 0.00045038, 7.27167395, 0.99775457, 0.99881475, 0.49312049],\
+-[	-6.27240924, -0.00073469, 0.00045027, 7.27167455, 0.99775510, 0.99881503, 0.49312054],\
+-[	-6.27240966, -0.00073452, 0.00045017, 7.27167514, 0.99775563, 0.99881531, 0.49312061],\
+-[	-6.27241008, -0.00073434, 0.00045006, 7.27167574, 0.99775617, 0.99881560, 0.49312068],\
+-[	-6.27241050, -0.00073417, 0.00044995, 7.27167633, 0.99775670, 0.99881588, 0.49312074],\
+-[	-6.27241092, -0.00073400, 0.00044985, 7.27167693, 0.99775723, 0.99881616, 0.49312080],\
+-[	-6.27241134, -0.00073382, 0.00044974, 7.27167752, 0.99775776, 0.99881644, 0.49312087],\
+-[	-6.27241176, -0.00073365, 0.00044963, 7.27167812, 0.99775829, 0.99881672, 0.49312093],\
+-[	-6.27241218, -0.00073347, 0.00044953, 7.27167871, 0.99775883, 0.99881700, 0.49312099],\
+-[	-6.27241260, -0.00073330, 0.00044942, 7.27167930, 0.99775936, 0.99881728, 0.49312106],\
+-[	-6.27241302, -0.00073313, 0.00044931, 7.27167990, 0.99775989, 0.99881756, 0.49312110],\
+-[	-6.27241344, -0.00073295, 0.00044921, 7.27168049, 0.99776042, 0.99881784, 0.49312117],\
+-[	-6.27241386, -0.00073278, 0.00044910, 7.27168108, 0.99776095, 0.99881812, 0.49312124],\
+-[	-6.27241428, -0.00073261, 0.00044899, 7.27168167, 0.99776148, 0.99881840, 0.49312129],\
+-[	-6.27241470, -0.00073243, 0.00044889, 7.27168227, 0.99776201, 0.99881868, 0.49312137],\
+-[	-6.27241512, -0.00073226, 0.00044878, 7.27168286, 0.99776254, 0.99881896, 0.49312141],\
+-[	-6.27241554, -0.00073209, 0.00044868, 7.27168345, 0.99776307, 0.99881924, 0.49312147],\
+-[	-6.27241595, -0.00073191, 0.00044857, 7.27168404, 0.99776360, 0.99881952, 0.49312156],\
+-[	-6.27241637, -0.00073174, 0.00044846, 7.27168463, 0.99776413, 0.99881980, 0.49312161],\
+-[	-6.27241679, -0.00073157, 0.00044836, 7.27168522, 0.99776466, 0.99882008, 0.49312166],\
+-[	-6.27241721, -0.00073139, 0.00044825, 7.27168581, 0.99776518, 0.99882035, 0.49312172],\
+-[	-6.27241762, -0.00073122, 0.00044815, 7.27168640, 0.99776571, 0.99882063, 0.49312178],\
+-[	-6.27241804, -0.00073105, 0.00044804, 7.27168699, 0.99776624, 0.99882091, 0.49312185],\
+-[	-6.27241846, -0.00073088, 0.00044793, 7.27168758, 0.99776677, 0.99882119, 0.49312193],\
+-[	-6.27241887, -0.00073070, 0.00044783, 7.27168817, 0.99776730, 0.99882147, 0.49312197],\
+-[	-6.27241929, -0.00073053, 0.00044772, 7.27168876, 0.99776782, 0.99882175, 0.49312203],\
+-[	-6.27241971, -0.00073036, 0.00044762, 7.27168935, 0.99776835, 0.99882202, 0.49312211],\
+-[	-6.27242012, -0.00073019, 0.00044751, 7.27168994, 0.99776888, 0.99882230, 0.49312215],\
+-[	-6.27242054, -0.00073001, 0.00044741, 7.27169052, 0.99776940, 0.99882258, 0.49312222],\
+-[	-6.27242095, -0.00072984, 0.00044730, 7.27169111, 0.99776993, 0.99882286, 0.49312230],\
+-[	-6.27242137, -0.00072967, 0.00044719, 7.27169170, 0.99777045, 0.99882314, 0.49312233],\
+-[	-6.27242178, -0.00072950, 0.00044709, 7.27169229, 0.99777098, 0.99882341, 0.49312241],\
+-[	-6.27242220, -0.00072933, 0.00044698, 7.27169287, 0.99777151, 0.99882369, 0.49312246],\
+-[	-6.27242261, -0.00072915, 0.00044688, 7.27169346, 0.99777203, 0.99882397, 0.49312253],\
+-[	-6.27242303, -0.00072898, 0.00044677, 7.27169405, 0.99777256, 0.99882424, 0.49312260],\
+-[	-6.27242344, -0.00072881, 0.00044667, 7.27169463, 0.99777308, 0.99882452, 0.49312265],\
+-[	-6.27242386, -0.00072864, 0.00044656, 7.27169522, 0.99777361, 0.99882480, 0.49312272],\
+-[	-6.27242427, -0.00072847, 0.00044646, 7.27169580, 0.99777413, 0.99882508, 0.49312276],\
+-[	-6.27242468, -0.00072830, 0.00044635, 7.27169639, 0.99777465, 0.99882535, 0.49312285],\
+-[	-6.27242510, -0.00072813, 0.00044625, 7.27169697, 0.99777518, 0.99882563, 0.49312291],\
+-[	-6.27242551, -0.00072795, 0.00044614, 7.27169756, 0.99777570, 0.99882590, 0.49312295],\
+-[	-6.27242592, -0.00072778, 0.00044604, 7.27169814, 0.99777622, 0.99882618, 0.49312303],\
+-[	-6.27242634, -0.00072761, 0.00044593, 7.27169872, 0.99777675, 0.99882646, 0.49312307],\
+-[	-6.27242675, -0.00072744, 0.00044583, 7.27169931, 0.99777727, 0.99882673, 0.49312312],\
+-[	-6.27242716, -0.00072727, 0.00044572, 7.27169989, 0.99777779, 0.99882701, 0.49312319],\
+-[	-6.27242757, -0.00072710, 0.00044562, 7.27170047, 0.99777831, 0.99882728, 0.49312326],\
+-[	-6.27242798, -0.00072693, 0.00044551, 7.27170106, 0.99777884, 0.99882756, 0.49312335],\
+-[	-6.27242840, -0.00072676, 0.00044541, 7.27170164, 0.99777936, 0.99882783, 0.49312338],\
+-[	-6.27242881, -0.00072659, 0.00044530, 7.27170222, 0.99777988, 0.99882811, 0.49312345],\
+-[	-6.27242922, -0.00072642, 0.00044520, 7.27170280, 0.99778040, 0.99882838, 0.49312349],\
+-[	-6.27242963, -0.00072625, 0.00044509, 7.27170338, 0.99778092, 0.99882866, 0.49312358],\
+-[	-6.27243004, -0.00072608, 0.00044499, 7.27170397, 0.99778144, 0.99882893, 0.49312364],\
+-[	-6.27243045, -0.00072591, 0.00044488, 7.27170455, 0.99778196, 0.99882921, 0.49312368],\
+-[	-6.27243086, -0.00072574, 0.00044478, 7.27170513, 0.99778248, 0.99882948, 0.49312376],\
+-[	-6.27243127, -0.00072557, 0.00044468, 7.27170571, 0.99778300, 0.99882976, 0.49312381],\
+-[	-6.27243168, -0.00072540, 0.00044457, 7.27170629, 0.99778352, 0.99883003, 0.49312388],\
+-[	-6.27243209, -0.00072523, 0.00044447, 7.27170687, 0.99778404, 0.99883031, 0.49312394],\
+-[	-6.27243250, -0.00072506, 0.00044436, 7.27170745, 0.99778456, 0.99883058, 0.49312397],\
+-[	-6.27243291, -0.00072489, 0.00044426, 7.27170803, 0.99778508, 0.99883086, 0.49312405],\
+-[	-6.27243332, -0.00072472, 0.00044416, 7.27170860, 0.99778560, 0.99883113, 0.49312410],\
+-[	-6.27243373, -0.00072455, 0.00044405, 7.27170918, 0.99778612, 0.99883140, 0.49312419],\
+-[	-6.27243414, -0.00072438, 0.00044395, 7.27170976, 0.99778664, 0.99883168, 0.49312424],\
+-[	-6.27243455, -0.00072421, 0.00044384, 7.27171034, 0.99778716, 0.99883195, 0.49312429],\
+-[	-6.27243496, -0.00072404, 0.00044374, 7.27171092, 0.99778767, 0.99883222, 0.49312436],\
+-[	-6.27243536, -0.00072387, 0.00044364, 7.27171150, 0.99778819, 0.99883250, 0.49312441],\
+-[	-6.27243577, -0.00072370, 0.00044353, 7.27171207, 0.99778871, 0.99883277, 0.49312447],\
+-[	-6.27243618, -0.00072353, 0.00044343, 7.27171265, 0.99778923, 0.99883304, 0.49312454],\
+-[	-6.27243659, -0.00072336, 0.00044332, 7.27171323, 0.99778974, 0.99883331, 0.49312460],\
+-[	-6.27243700, -0.00072319, 0.00044322, 7.27171380, 0.99779026, 0.99883359, 0.49312464],\
+-[	-6.27243740, -0.00072302, 0.00044312, 7.27171438, 0.99779078, 0.99883386, 0.49312471],\
+-[	-6.27243781, -0.00072285, 0.00044301, 7.27171495, 0.99779129, 0.99883413, 0.49312476],\
+-[	-6.27243822, -0.00072269, 0.00044291, 7.27171553, 0.99779181, 0.99883440, 0.49312483],\
+-[	-6.27243862, -0.00072252, 0.00044281, 7.27171611, 0.99779232, 0.99883468, 0.49312489],\
+-[	-6.27243903, -0.00072235, 0.00044270, 7.27171668, 0.99779284, 0.99883495, 0.49312495],\
+-[	-6.27243944, -0.00072218, 0.00044260, 7.27171726, 0.99779336, 0.99883522, 0.49312500],\
+-[	-6.27243984, -0.00072201, 0.00044250, 7.27171783, 0.99779387, 0.99883549, 0.49312508],\
+-[	-6.27244025, -0.00072184, 0.00044239, 7.27171840, 0.99779438, 0.99883576, 0.49312514],\
+-[	-6.27244065, -0.00072167, 0.00044229, 7.27171898, 0.99779490, 0.99883604, 0.49312518],\
+-[	-6.27244106, -0.00072151, 0.00044219, 7.27171955, 0.99779541, 0.99883631, 0.49312525],\
+-[	-6.27244146, -0.00072134, 0.00044208, 7.27172012, 0.99779593, 0.99883658, 0.49312531],\
+-[	-6.27244187, -0.00072117, 0.00044198, 7.27172070, 0.99779644, 0.99883685, 0.49312537],\
+-[	-6.27244227, -0.00072100, 0.00044188, 7.27172127, 0.99779696, 0.99883712, 0.49312544],\
+-[	-6.27244268, -0.00072083, 0.00044177, 7.27172184, 0.99779747, 0.99883739, 0.49312550],\
+-[	-6.27244308, -0.00072067, 0.00044167, 7.27172242, 0.99779798, 0.99883766, 0.49312555],\
+-[	-6.27244349, -0.00072050, 0.00044157, 7.27172299, 0.99779849, 0.99883793, 0.49312563],\
+-[	-6.27244389, -0.00072033, 0.00044147, 7.27172356, 0.99779901, 0.99883820, 0.49312567],\
+-[	-6.27244429, -0.00072016, 0.00044136, 7.27172413, 0.99779952, 0.99883847, 0.49312573],\
+-[	-6.27244470, -0.00072000, 0.00044126, 7.27172470, 0.99780003, 0.99883874, 0.49312578],\
+-[	-6.27244510, -0.00071983, 0.00044116, 7.27172527, 0.99780054, 0.99883901, 0.49312585],\
+-[	-6.27244550, -0.00071966, 0.00044105, 7.27172584, 0.99780105, 0.99883928, 0.49312592],\
+-[	-6.27244591, -0.00071949, 0.00044095, 7.27172641, 0.99780157, 0.99883955, 0.49312598],\
+-[	-6.27244631, -0.00071933, 0.00044085, 7.27172698, 0.99780208, 0.99883982, 0.49312604],\
+-[	-6.27244671, -0.00071916, 0.00044075, 7.27172755, 0.99780259, 0.99884009, 0.49312608],\
+-[	-6.27244712, -0.00071899, 0.00044064, 7.27172812, 0.99780310, 0.99884036, 0.49312614],\
+-[	-6.27244752, -0.00071883, 0.00044054, 7.27172869, 0.99780361, 0.99884063, 0.49312622],\
+-[	-6.27244792, -0.00071866, 0.00044044, 7.27172926, 0.99780412, 0.99884090, 0.49312626],\
+-[	-6.27244832, -0.00071849, 0.00044034, 7.27172983, 0.99780463, 0.99884117, 0.49312632],\
+-[	-6.27244872, -0.00071833, 0.00044024, 7.27173040, 0.99780514, 0.99884144, 0.49312638],\
+-[	-6.27244912, -0.00071816, 0.00044013, 7.27173097, 0.99780565, 0.99884171, 0.49312645],\
+-[	-6.27244953, -0.00071799, 0.00044003, 7.27173153, 0.99780616, 0.99884198, 0.49312649],\
+-[	-6.27244993, -0.00071783, 0.00043993, 7.27173210, 0.99780667, 0.99884225, 0.49312657],\
+-[	-6.27245033, -0.00071766, 0.00043983, 7.27173267, 0.99780718, 0.99884251, 0.49312664],\
+-[	-6.27245073, -0.00071749, 0.00043972, 7.27173323, 0.99780768, 0.99884278, 0.49312669],\
+-[	-6.27245113, -0.00071733, 0.00043962, 7.27173380, 0.99780819, 0.99884305, 0.49312674],\
+-[	-6.27245153, -0.00071716, 0.00043952, 7.27173437, 0.99780870, 0.99884332, 0.49312680],\
+-[	-6.27245193, -0.00071699, 0.00043942, 7.27173493, 0.99780921, 0.99884359, 0.49312685],\
+-[	-6.27245233, -0.00071683, 0.00043932, 7.27173550, 0.99780972, 0.99884385, 0.49312691],\
+-[	-6.27245273, -0.00071666, 0.00043922, 7.27173607, 0.99781022, 0.99884412, 0.49312701],\
+-[	-6.27245313, -0.00071650, 0.00043911, 7.27173663, 0.99781073, 0.99884439, 0.49312703],\
+-[	-6.27245353, -0.00071633, 0.00043901, 7.27173720, 0.99781124, 0.99884466, 0.49312710],\
+-[	-6.27245393, -0.00071617, 0.00043891, 7.27173776, 0.99781174, 0.99884492, 0.49312716],\
+-[	-6.27245432, -0.00071600, 0.00043881, 7.27173833, 0.99781225, 0.99884519, 0.49312722],\
+-[	-6.27245472, -0.00071583, 0.00043871, 7.27173889, 0.99781276, 0.99884546, 0.49312728],\
+-[	-6.27245512, -0.00071567, 0.00043861, 7.27173945, 0.99781326, 0.99884573, 0.49312736],\
+-[	-6.27245552, -0.00071550, 0.00043850, 7.27174002, 0.99781377, 0.99884599, 0.49312741],\
+-[	-6.27245592, -0.00071534, 0.00043840, 7.27174058, 0.99781427, 0.99884626, 0.49312745],\
+-[	-6.27245632, -0.00071517, 0.00043830, 7.27174114, 0.99781478, 0.99884653, 0.49312752],\
+-[	-6.27245671, -0.00071501, 0.00043820, 7.27174171, 0.99781528, 0.99884679, 0.49312756],\
+-[	-6.27245711, -0.00071484, 0.00043810, 7.27174227, 0.99781579, 0.99884706, 0.49312763],\
+-[	-6.27245751, -0.00071468, 0.00043800, 7.27174283, 0.99781629, 0.99884733, 0.49312770],\
+-[	-6.27245791, -0.00071451, 0.00043790, 7.27174339, 0.99781680, 0.99884759, 0.49312773],\
+-[	-6.27245830, -0.00071435, 0.00043779, 7.27174396, 0.99781730, 0.99884786, 0.49312781],\
+-[	-6.27245870, -0.00071418, 0.00043769, 7.27174452, 0.99781781, 0.99884812, 0.49312788],\
+-[	-6.27245910, -0.00071402, 0.00043759, 7.27174508, 0.99781831, 0.99884839, 0.49312794],\
+-[	-6.27245949, -0.00071385, 0.00043749, 7.27174564, 0.99781881, 0.99884866, 0.49312798],\
+-[	-6.27245989, -0.00071369, 0.00043739, 7.27174620, 0.99781932, 0.99884892, 0.49312802],\
+-[	-6.27246028, -0.00071352, 0.00043729, 7.27174676, 0.99781982, 0.99884919, 0.49312810],\
+-[	-6.27246068, -0.00071336, 0.00043719, 7.27174732, 0.99782032, 0.99884945, 0.49312816],\
+-[	-6.27246108, -0.00071320, 0.00043709, 7.27174788, 0.99782083, 0.99884972, 0.49312820],\
+-[	-6.27246147, -0.00071303, 0.00043699, 7.27174844, 0.99782133, 0.99884998, 0.49312828],\
+-[	-6.27246187, -0.00071287, 0.00043689, 7.27174900, 0.99782183, 0.99885025, 0.49312834],\
+-[	-6.27246226, -0.00071270, 0.00043679, 7.27174956, 0.99782233, 0.99885051, 0.49312839],\
+-[	-6.27246266, -0.00071254, 0.00043669, 7.27175012, 0.99782283, 0.99885078, 0.49312847],\
+-[	-6.27246305, -0.00071237, 0.00043658, 7.27175068, 0.99782333, 0.99885104, 0.49312849],\
+-[	-6.27246345, -0.00071221, 0.00043648, 7.27175123, 0.99782384, 0.99885131, 0.49312857],\
+-[	-6.27246384, -0.00071205, 0.00043638, 7.27175179, 0.99782434, 0.99885157, 0.49312862],\
+-[	-6.27246423, -0.00071188, 0.00043628, 7.27175235, 0.99782484, 0.99885183, 0.49312870],\
+-[	-6.27246463, -0.00071172, 0.00043618, 7.27175291, 0.99782534, 0.99885210, 0.49312875],\
+-[	-6.27246502, -0.00071156, 0.00043608, 7.27175347, 0.99782584, 0.99885236, 0.49312878],\
+-[	-6.27246541, -0.00071139, 0.00043598, 7.27175402, 0.99782634, 0.99885263, 0.49312886],\
+-[	-6.27246581, -0.00071123, 0.00043588, 7.27175458, 0.99782684, 0.99885289, 0.49312892],\
+-[	-6.27246620, -0.00071107, 0.00043578, 7.27175514, 0.99782734, 0.99885315, 0.49312899],\
+-[	-6.27246659, -0.00071090, 0.00043568, 7.27175569, 0.99782784, 0.99885342, 0.49312906],\
+-[	-6.27246699, -0.00071074, 0.00043558, 7.27175625, 0.99782833, 0.99885368, 0.49312908],\
+-[	-6.27246738, -0.00071058, 0.00043548, 7.27175680, 0.99782883, 0.99885394, 0.49312914],\
+-[	-6.27246777, -0.00071041, 0.00043538, 7.27175736, 0.99782933, 0.99885421, 0.49312922],\
+-[	-6.27246816, -0.00071025, 0.00043528, 7.27175791, 0.99782983, 0.99885447, 0.49312926],\
+-[	-6.27246856, -0.00071009, 0.00043518, 7.27175847, 0.99783033, 0.99885473, 0.49312934],\
+-[	-6.27246895, -0.00070992, 0.00043508, 7.27175902, 0.99783083, 0.99885499, 0.49312938],\
+-[	-6.27246934, -0.00070976, 0.00043498, 7.27175958, 0.99783132, 0.99885526, 0.49312944],\
+-[	-6.27246973, -0.00070960, 0.00043488, 7.27176013, 0.99783182, 0.99885552, 0.49312948],\
+-[	-6.27247012, -0.00070944, 0.00043478, 7.27176069, 0.99783232, 0.99885578, 0.49312957],\
+-[	-6.27247051, -0.00070927, 0.00043468, 7.27176124, 0.99783282, 0.99885604, 0.49312962],\
+-[	-6.27247090, -0.00070911, 0.00043458, 7.27176179, 0.99783331, 0.99885631, 0.49312968],\
+-[	-6.27247129, -0.00070895, 0.00043448, 7.27176235, 0.99783381, 0.99885657, 0.49312972],\
+-[	-6.27247168, -0.00070879, 0.00043438, 7.27176290, 0.99783431, 0.99885683, 0.49312980],\
+-[	-6.27247207, -0.00070862, 0.00043428, 7.27176345, 0.99783480, 0.99885709, 0.49312985],\
+-[	-6.27247246, -0.00070846, 0.00043418, 7.27176400, 0.99783530, 0.99885735, 0.49312992],\
+-[	-6.27247285, -0.00070830, 0.00043409, 7.27176456, 0.99783579, 0.99885762, 0.49312999],\
+-[	-6.27247324, -0.00070814, 0.00043399, 7.27176511, 0.99783629, 0.99885788, 0.49313003],\
+-[	-6.27247363, -0.00070798, 0.00043389, 7.27176566, 0.99783678, 0.99885814, 0.49313009],\
+-[	-6.27247402, -0.00070781, 0.00043379, 7.27176621, 0.99783728, 0.99885840, 0.49313014],\
+-[	-6.27247441, -0.00070765, 0.00043369, 7.27176676, 0.99783777, 0.99885866, 0.49313021],\
+-[	-6.27247480, -0.00070749, 0.00043359, 7.27176731, 0.99783827, 0.99885892, 0.49313025],\
+-[	-6.27247519, -0.00070733, 0.00043349, 7.27176786, 0.99783876, 0.99885918, 0.49313031],\
+-[	-6.27247558, -0.00070717, 0.00043339, 7.27176841, 0.99783926, 0.99885944, 0.49313036],\
+-[	-6.27247597, -0.00070701, 0.00043329, 7.27176896, 0.99783975, 0.99885970, 0.49313043],\
+-[	-6.27247636, -0.00070684, 0.00043319, 7.27176951, 0.99784024, 0.99885996, 0.49313047],\
+-[	-6.27247674, -0.00070668, 0.00043309, 7.27177006, 0.99784074, 0.99886022, 0.49313056],\
+-[	-6.27247713, -0.00070652, 0.00043299, 7.27177061, 0.99784123, 0.99886048, 0.49313062],\
+-[	-6.27247752, -0.00070636, 0.00043290, 7.27177116, 0.99784172, 0.99886074, 0.49313067],\
+-[	-6.27247791, -0.00070620, 0.00043280, 7.27177171, 0.99784222, 0.99886100, 0.49313072],\
+-[	-6.27247829, -0.00070604, 0.00043270, 7.27177226, 0.99784271, 0.99886126, 0.49313077],\
+-[	-6.27247868, -0.00070588, 0.00043260, 7.27177280, 0.99784320, 0.99886152, 0.49313084],\
+-[	-6.27247907, -0.00070572, 0.00043250, 7.27177335, 0.99784369, 0.99886178, 0.49313089],\
+-[	-6.27247945, -0.00070556, 0.00043240, 7.27177390, 0.99784418, 0.99886204, 0.49313094],\
+-[	-6.27247984, -0.00070539, 0.00043230, 7.27177445, 0.99784468, 0.99886230, 0.49313101],\
+-[	-6.27248023, -0.00070523, 0.00043220, 7.27177499, 0.99784517, 0.99886256, 0.49313105],\
+-[	-6.27248061, -0.00070507, 0.00043211, 7.27177554, 0.99784566, 0.99886282, 0.49313111],\
+-[	-6.27248100, -0.00070491, 0.00043201, 7.27177609, 0.99784615, 0.99886308, 0.49313117],\
+-[	-6.27248139, -0.00070475, 0.00043191, 7.27177663, 0.99784664, 0.99886334, 0.49313123],\
+-[	-6.27248177, -0.00070459, 0.00043181, 7.27177718, 0.99784713, 0.99886360, 0.49313129],\
+-[	-6.27248216, -0.00070443, 0.00043171, 7.27177773, 0.99784762, 0.99886386, 0.49313133],\
+-[	-6.27248254, -0.00070427, 0.00043161, 7.27177827, 0.99784811, 0.99886411, 0.49313142],\
+-[	-6.27248293, -0.00070411, 0.00043152, 7.27177882, 0.99784860, 0.99886437, 0.49313147],\
+-[	-6.27248331, -0.00070395, 0.00043142, 7.27177936, 0.99784909, 0.99886463, 0.49313152],\
+-[	-6.27248370, -0.00070379, 0.00043132, 7.27177991, 0.99784958, 0.99886489, 0.49313157],\
+-[	-6.27248408, -0.00070363, 0.00043122, 7.27178045, 0.99785007, 0.99886515, 0.49313161],\
+-[	-6.27248447, -0.00070347, 0.00043112, 7.27178099, 0.99785056, 0.99886541, 0.49313168],\
+-[	-6.27248485, -0.00070331, 0.00043103, 7.27178154, 0.99785104, 0.99886566, 0.49313174],\
+-[	-6.27248523, -0.00070315, 0.00043093, 7.27178208, 0.99785153, 0.99886592, 0.49313183],\
+-[	-6.27248562, -0.00070299, 0.00043083, 7.27178263, 0.99785202, 0.99886618, 0.49313186],\
+-[	-6.27248600, -0.00070283, 0.00043073, 7.27178317, 0.99785251, 0.99886644, 0.49313191],\
+-[	-6.27248638, -0.00070267, 0.00043063, 7.27178371, 0.99785300, 0.99886669, 0.49313198],\
+-[	-6.27248677, -0.00070251, 0.00043054, 7.27178425, 0.99785348, 0.99886695, 0.49313204],\
+-[	-6.27248715, -0.00070235, 0.00043044, 7.27178480, 0.99785397, 0.99886721, 0.49313208],\
+-[	-6.27248753, -0.00070219, 0.00043034, 7.27178534, 0.99785446, 0.99886747, 0.49313214],\
+-[	-6.27248792, -0.00070203, 0.00043024, 7.27178588, 0.99785495, 0.99886772, 0.49313220],\
+-[	-6.27248830, -0.00070188, 0.00043014, 7.27178642, 0.99785543, 0.99886798, 0.49313224],\
+-[	-6.27248868, -0.00070172, 0.00043005, 7.27178696, 0.99785592, 0.99886824, 0.49313233],\
+-[	-6.27248906, -0.00070156, 0.00042995, 7.27178751, 0.99785641, 0.99886849, 0.49313235],\
+-[	-6.27248945, -0.00070140, 0.00042985, 7.27178805, 0.99785689, 0.99886875, 0.49313243],\
+-[	-6.27248983, -0.00070124, 0.00042975, 7.27178859, 0.99785738, 0.99886901, 0.49313250],\
+-[	-6.27249021, -0.00070108, 0.00042966, 7.27178913, 0.99785786, 0.99886926, 0.49313254],\
+-[	-6.27249059, -0.00070092, 0.00042956, 7.27178967, 0.99785835, 0.99886952, 0.49313259],\
+-[	-6.27249097, -0.00070076, 0.00042946, 7.27179021, 0.99785883, 0.99886977, 0.49313265],\
+-[	-6.27249135, -0.00070060, 0.00042937, 7.27179075, 0.99785932, 0.99887003, 0.49313270],\
+-[	-6.27249173, -0.00070045, 0.00042927, 7.27179129, 0.99785980, 0.99887029, 0.49313277],\
+-[	-6.27249211, -0.00070029, 0.00042917, 7.27179183, 0.99786029, 0.99887054, 0.49313282],\
+-[	-6.27249250, -0.00070013, 0.00042907, 7.27179237, 0.99786077, 0.99887080, 0.49313289],\
+-[	-6.27249288, -0.00069997, 0.00042898, 7.27179290, 0.99786126, 0.99887105, 0.49313291],\
+-[	-6.27249326, -0.00069981, 0.00042888, 7.27179344, 0.99786174, 0.99887131, 0.49313301],\
+-[	-6.27249364, -0.00069965, 0.00042878, 7.27179398, 0.99786222, 0.99887156, 0.49313305],\
+-[	-6.27249402, -0.00069950, 0.00042869, 7.27179452, 0.99786271, 0.99887182, 0.49313311],\
+-[	-6.27249440, -0.00069934, 0.00042859, 7.27179506, 0.99786319, 0.99887207, 0.49313316],\
+-[	-6.27249477, -0.00069918, 0.00042849, 7.27179559, 0.99786367, 0.99887233, 0.49313322],\
+-[	-6.27249515, -0.00069902, 0.00042840, 7.27179613, 0.99786415, 0.99887258, 0.49313329],\
+-[	-6.27249553, -0.00069887, 0.00042830, 7.27179667, 0.99786464, 0.99887284, 0.49313333],\
+-[	-6.27249591, -0.00069871, 0.00042820, 7.27179720, 0.99786512, 0.99887309, 0.49313340],\
+-[	-6.27249629, -0.00069855, 0.00042810, 7.27179774, 0.99786560, 0.99887335, 0.49313343],\
+-[	-6.27249667, -0.00069839, 0.00042801, 7.27179828, 0.99786608, 0.99887360, 0.49313349],\
+-[	-6.27249705, -0.00069823, 0.00042791, 7.27179881, 0.99786656, 0.99887385, 0.49313355],\
+-[	-6.27249743, -0.00069808, 0.00042781, 7.27179935, 0.99786705, 0.99887411, 0.49313361],\
+-[	-6.27249780, -0.00069792, 0.00042772, 7.27179988, 0.99786753, 0.99887436, 0.49313365],\
+-[	-6.27249818, -0.00069776, 0.00042762, 7.27180042, 0.99786801, 0.99887462, 0.49313373],\
+-[	-6.27249856, -0.00069761, 0.00042753, 7.27180095, 0.99786849, 0.99887487, 0.49313378],\
+-[	-6.27249894, -0.00069745, 0.00042743, 7.27180149, 0.99786897, 0.99887512, 0.49313382],\
+-[	-6.27249931, -0.00069729, 0.00042733, 7.27180202, 0.99786945, 0.99887538, 0.49313387],\
+-[	-6.27249969, -0.00069713, 0.00042724, 7.27180256, 0.99786993, 0.99887563, 0.49313395],\
+-[	-6.27250007, -0.00069698, 0.00042714, 7.27180309, 0.99787041, 0.99887588, 0.49313401],\
+-[	-6.27250045, -0.00069682, 0.00042704, 7.27180363, 0.99787089, 0.99887614, 0.49313405],\
+-[	-6.27250082, -0.00069666, 0.00042695, 7.27180416, 0.99787137, 0.99887639, 0.49313411],\
+-[	-6.27250120, -0.00069651, 0.00042685, 7.27180469, 0.99787185, 0.99887664, 0.49313417],\
+-[	-6.27250158, -0.00069635, 0.00042676, 7.27180523, 0.99787233, 0.99887689, 0.49313425],\
+-[	-6.27250195, -0.00069619, 0.00042666, 7.27180576, 0.99787281, 0.99887715, 0.49313428],\
+-[	-6.27250233, -0.00069604, 0.00042656, 7.27180629, 0.99787328, 0.99887740, 0.49313433],\
+-[	-6.27250270, -0.00069588, 0.00042647, 7.27180682, 0.99787376, 0.99887765, 0.49313436],\
+-[	-6.27250308, -0.00069572, 0.00042637, 7.27180736, 0.99787424, 0.99887790, 0.49313447],\
+-[	-6.27250345, -0.00069557, 0.00042628, 7.27180789, 0.99787472, 0.99887816, 0.49313453],\
+-[	-6.27250383, -0.00069541, 0.00042618, 7.27180842, 0.99787520, 0.99887841, 0.49313456],\
+-[	-6.27250420, -0.00069525, 0.00042608, 7.27180895, 0.99787567, 0.99887866, 0.49313463],\
+-[	-6.27250458, -0.00069510, 0.00042599, 7.27180948, 0.99787615, 0.99887891, 0.49313466],\
+-[	-6.27250495, -0.00069494, 0.00042589, 7.27181001, 0.99787663, 0.99887916, 0.49313471],\
+-[	-6.27250533, -0.00069479, 0.00042580, 7.27181054, 0.99787711, 0.99887942, 0.49313478],\
+-[	-6.27250570, -0.00069463, 0.00042570, 7.27181107, 0.99787758, 0.99887967, 0.49313484],\
+-[	-6.27250608, -0.00069447, 0.00042561, 7.27181160, 0.99787806, 0.99887992, 0.49313489],\
+-[	-6.27250645, -0.00069432, 0.00042551, 7.27181213, 0.99787854, 0.99888017, 0.49313499],\
+-[	-6.27250683, -0.00069416, 0.00042541, 7.27181266, 0.99787901, 0.99888042, 0.49313500],\
+-[	-6.27250720, -0.00069401, 0.00042532, 7.27181319, 0.99787949, 0.99888067, 0.49313506],\
+-[	-6.27250757, -0.00069385, 0.00042522, 7.27181372, 0.99787996, 0.99888092, 0.49313510],\
+-[	-6.27250795, -0.00069370, 0.00042513, 7.27181425, 0.99788044, 0.99888117, 0.49313518],\
+-[	-6.27250832, -0.00069354, 0.00042503, 7.27181478, 0.99788091, 0.99888143, 0.49313523],\
+-[	-6.27250869, -0.00069339, 0.00042494, 7.27181531, 0.99788139, 0.99888168, 0.49313528],\
+-[	-6.27250906, -0.00069323, 0.00042484, 7.27181583, 0.99788186, 0.99888193, 0.49313532],\
+-[	-6.27250944, -0.00069308, 0.00042475, 7.27181636, 0.99788234, 0.99888218, 0.49313537],\
+-[	-6.27250981, -0.00069292, 0.00042465, 7.27181689, 0.99788281, 0.99888243, 0.49313545],\
+-[	-6.27251018, -0.00069277, 0.00042456, 7.27181742, 0.99788329, 0.99888268, 0.49313551],\
+-[	-6.27251055, -0.00069261, 0.00042446, 7.27181794, 0.99788376, 0.99888293, 0.49313557],\
+-[	-6.27251093, -0.00069246, 0.00042437, 7.27181847, 0.99788423, 0.99888318, 0.49313560],\
+-[	-6.27251130, -0.00069230, 0.00042427, 7.27181900, 0.99788471, 0.99888343, 0.49313566],\
+-[	-6.27251167, -0.00069215, 0.00042418, 7.27181952, 0.99788518, 0.99888368, 0.49313574],\
+-[	-6.27251204, -0.00069199, 0.00042408, 7.27182005, 0.99788565, 0.99888393, 0.49313579],\
+-[	-6.27251241, -0.00069184, 0.00042399, 7.27182058, 0.99788613, 0.99888418, 0.49313583],\
+-[	-6.27251278, -0.00069168, 0.00042389, 7.27182110, 0.99788660, 0.99888443, 0.49313587],\
+-[	-6.27251315, -0.00069153, 0.00042380, 7.27182163, 0.99788707, 0.99888468, 0.49313593],\
+-[	-6.27251353, -0.00069137, 0.00042370, 7.27182215, 0.99788754, 0.99888492, 0.49313600],\
+-[	-6.27251390, -0.00069122, 0.00042361, 7.27182268, 0.99788801, 0.99888517, 0.49313604],\
+-[	-6.27251427, -0.00069106, 0.00042351, 7.27182320, 0.99788849, 0.99888542, 0.49313613],\
+-[	-6.27251464, -0.00069091, 0.00042342, 7.27182373, 0.99788896, 0.99888567, 0.49313616],\
+-[	-6.27251501, -0.00069076, 0.00042332, 7.27182425, 0.99788943, 0.99888592, 0.49313621],\
+-[	-6.27251538, -0.00069060, 0.00042323, 7.27182478, 0.99788990, 0.99888617, 0.49313628],\
+-[	-6.27251575, -0.00069045, 0.00042314, 7.27182530, 0.99789037, 0.99888642, 0.49313634],\
+-[	-6.27251612, -0.00069029, 0.00042304, 7.27182582, 0.99789084, 0.99888667, 0.49313637],\
+-[	-6.27251649, -0.00069014, 0.00042295, 7.27182635, 0.99789131, 0.99888691, 0.49313644],\
+-[	-6.27251685, -0.00068999, 0.00042285, 7.27182687, 0.99789178, 0.99888716, 0.49313651],\
+-[	-6.27251722, -0.00068983, 0.00042276, 7.27182739, 0.99789225, 0.99888741, 0.49313656],\
+-[	-6.27251759, -0.00068968, 0.00042266, 7.27182791, 0.99789272, 0.99888766, 0.49313664],\
+-[	-6.27251796, -0.00068952, 0.00042257, 7.27182844, 0.99789319, 0.99888791, 0.49313666],\
+-[	-6.27251833, -0.00068937, 0.00042248, 7.27182896, 0.99789366, 0.99888815, 0.49313670],\
+-[	-6.27251870, -0.00068922, 0.00042238, 7.27182948, 0.99789413, 0.99888840, 0.49313677],\
+-[	-6.27251907, -0.00068906, 0.00042229, 7.27183000, 0.99789460, 0.99888865, 0.49313683],\
+-[	-6.27251943, -0.00068891, 0.00042219, 7.27183052, 0.99789507, 0.99888890, 0.49313687],\
+-[	-6.27251980, -0.00068876, 0.00042210, 7.27183104, 0.99789554, 0.99888914, 0.49313691],\
+-[	-6.27252017, -0.00068860, 0.00042200, 7.27183157, 0.99789601, 0.99888939, 0.49313700],\
+-[	-6.27252054, -0.00068845, 0.00042191, 7.27183209, 0.99789647, 0.99888964, 0.49313706],\
+-[	-6.27252091, -0.00068830, 0.00042182, 7.27183261, 0.99789694, 0.99888988, 0.49313707],\
+-[	-6.27252127, -0.00068815, 0.00042172, 7.27183313, 0.99789741, 0.99889013, 0.49313711],\
+-[	-6.27252164, -0.00068799, 0.00042163, 7.27183365, 0.99789788, 0.99889038, 0.49313720],\
+-[	-6.27252201, -0.00068784, 0.00042154, 7.27183417, 0.99789835, 0.99889062, 0.49313727],\
+-[	-6.27252237, -0.00068769, 0.00042144, 7.27183469, 0.99789881, 0.99889087, 0.49313733],\
+-[	-6.27252274, -0.00068753, 0.00042135, 7.27183521, 0.99789928, 0.99889112, 0.49313737],\
+-[	-6.27252311, -0.00068738, 0.00042125, 7.27183572, 0.99789975, 0.99889136, 0.49313744],\
+-[	-6.27252347, -0.00068723, 0.00042116, 7.27183624, 0.99790021, 0.99889161, 0.49313749],\
+-[	-6.27252384, -0.00068708, 0.00042107, 7.27183676, 0.99790068, 0.99889186, 0.49313754],\
+-[	-6.27252420, -0.00068692, 0.00042097, 7.27183728, 0.99790115, 0.99889210, 0.49313760],\
+-[	-6.27252457, -0.00068677, 0.00042088, 7.27183780, 0.99790161, 0.99889235, 0.49313767],\
+-[	-6.27252494, -0.00068662, 0.00042079, 7.27183832, 0.99790208, 0.99889259, 0.49313771],\
+-[	-6.27252530, -0.00068647, 0.00042069, 7.27183883, 0.99790254, 0.99889284, 0.49313775],\
+-[	-6.27252567, -0.00068631, 0.00042060, 7.27183935, 0.99790301, 0.99889309, 0.49313782],\
+-[	-6.27252603, -0.00068616, 0.00042051, 7.27183987, 0.99790347, 0.99889333, 0.49313786],\
+-[	-6.27252640, -0.00068601, 0.00042041, 7.27184039, 0.99790394, 0.99889358, 0.49313791],\
+-[	-6.27252676, -0.00068586, 0.00042032, 7.27184090, 0.99790440, 0.99889382, 0.49313797],\
+-[	-6.27252712, -0.00068571, 0.00042023, 7.27184142, 0.99790487, 0.99889407, 0.49313801],\
+-[	-6.27252749, -0.00068555, 0.00042013, 7.27184193, 0.99790533, 0.99889431, 0.49313810],\
+-[	-6.27252785, -0.00068540, 0.00042004, 7.27184245, 0.99790579, 0.99889456, 0.49313815],\
+-[	-6.27252822, -0.00068525, 0.00041995, 7.27184297, 0.99790626, 0.99889480, 0.49313818],\
+-[	-6.27252858, -0.00068510, 0.00041985, 7.27184348, 0.99790672, 0.99889505, 0.49313824],\
+-[	-6.27252895, -0.00068495, 0.00041976, 7.27184400, 0.99790719, 0.99889529, 0.49313828],\
+-[	-6.27252931, -0.00068480, 0.00041967, 7.27184451, 0.99790765, 0.99889553, 0.49313835],\
+-[	-6.27252967, -0.00068464, 0.00041958, 7.27184503, 0.99790811, 0.99889578, 0.49313842],\
+-[	-6.27253004, -0.00068449, 0.00041948, 7.27184554, 0.99790857, 0.99889602, 0.49313845],\
+-[	-6.27253040, -0.00068434, 0.00041939, 7.27184606, 0.99790904, 0.99889627, 0.49313853],\
+-[	-6.27253076, -0.00068419, 0.00041930, 7.27184657, 0.99790950, 0.99889651, 0.49313854],\
+-[	-6.27253112, -0.00068404, 0.00041920, 7.27184708, 0.99790996, 0.99889676, 0.49313861],\
+-[	-6.27253149, -0.00068389, 0.00041911, 7.27184760, 0.99791042, 0.99889700, 0.49313867],\
+-[	-6.27253185, -0.00068374, 0.00041902, 7.27184811, 0.99791089, 0.99889724, 0.49313874],\
+-[	-6.27253221, -0.00068359, 0.00041893, 7.27184862, 0.99791135, 0.99889749, 0.49313876],\
+-[	-6.27253257, -0.00068344, 0.00041883, 7.27184914, 0.99791181, 0.99889773, 0.49313881],\
+-[	-6.27253293, -0.00068328, 0.00041874, 7.27184965, 0.99791227, 0.99889797, 0.49313886],\
+-[	-6.27253330, -0.00068313, 0.00041865, 7.27185016, 0.99791273, 0.99889822, 0.49313893],\
+-[	-6.27253366, -0.00068298, 0.00041856, 7.27185068, 0.99791319, 0.99889846, 0.49313897],\
+-[	-6.27253402, -0.00068283, 0.00041846, 7.27185119, 0.99791365, 0.99889870, 0.49313904],\
+-[	-6.27253438, -0.00068268, 0.00041837, 7.27185170, 0.99791411, 0.99889895, 0.49313909],\
+-[	-6.27253474, -0.00068253, 0.00041828, 7.27185221, 0.99791457, 0.99889919, 0.49313915],\
+-[	-6.27253510, -0.00068238, 0.00041819, 7.27185272, 0.99791503, 0.99889943, 0.49313920],\
+-[	-6.27253546, -0.00068223, 0.00041810, 7.27185323, 0.99791549, 0.99889967, 0.49313924],\
+-[	-6.27253582, -0.00068208, 0.00041800, 7.27185374, 0.99791595, 0.99889992, 0.49313932],\
+-[	-6.27253618, -0.00068193, 0.00041791, 7.27185425, 0.99791641, 0.99890016, 0.49313937],\
+-[	-6.27253654, -0.00068178, 0.00041782, 7.27185477, 0.99791687, 0.99890040, 0.49313944],\
+-[	-6.27253690, -0.00068163, 0.00041773, 7.27185528, 0.99791733, 0.99890064, 0.49313947],\
+-[	-6.27253726, -0.00068148, 0.00041763, 7.27185579, 0.99791779, 0.99890089, 0.49313953],\
+-[	-6.27253762, -0.00068133, 0.00041754, 7.27185630, 0.99791825, 0.99890113, 0.49313960],\
+-[	-6.27253798, -0.00068118, 0.00041745, 7.27185680, 0.99791871, 0.99890137, 0.49313964],\
+-[	-6.27253834, -0.00068103, 0.00041736, 7.27185731, 0.99791916, 0.99890161, 0.49313969],\
+-[	-6.27253870, -0.00068088, 0.00041727, 7.27185782, 0.99791962, 0.99890185, 0.49313973],\
+-[	-6.27253906, -0.00068073, 0.00041718, 7.27185833, 0.99792008, 0.99890209, 0.49313978],\
+-[	-6.27253942, -0.00068058, 0.00041708, 7.27185884, 0.99792054, 0.99890234, 0.49313983],\
+-[	-6.27253978, -0.00068043, 0.00041699, 7.27185935, 0.99792099, 0.99890258, 0.49313991],\
+-[	-6.27254014, -0.00068028, 0.00041690, 7.27185986, 0.99792145, 0.99890282, 0.49313998],\
+-[	-6.27254050, -0.00068013, 0.00041681, 7.27186036, 0.99792191, 0.99890306, 0.49314002],\
+-[	-6.27254086, -0.00067998, 0.00041672, 7.27186087, 0.99792237, 0.99890330, 0.49314008],\
+-[	-6.27254121, -0.00067983, 0.00041662, 7.27186138, 0.99792282, 0.99890354, 0.49314012],\
+-[	-6.27254157, -0.00067968, 0.00041653, 7.27186189, 0.99792328, 0.99890378, 0.49314018],\
+-[	-6.27254193, -0.00067953, 0.00041644, 7.27186239, 0.99792373, 0.99890402, 0.49314019],\
+-[	-6.27254229, -0.00067939, 0.00041635, 7.27186290, 0.99792419, 0.99890426, 0.49314025],\
+-[	-6.27254264, -0.00067924, 0.00041626, 7.27186341, 0.99792465, 0.99890450, 0.49314034],\
+-[	-6.27254300, -0.00067909, 0.00041617, 7.27186391, 0.99792510, 0.99890474, 0.49314040],\
+-[	-6.27254336, -0.00067894, 0.00041608, 7.27186442, 0.99792556, 0.99890499, 0.49314044],\
+-[	-6.27254372, -0.00067879, 0.00041598, 7.27186493, 0.99792601, 0.99890523, 0.49314049],\
+-[	-6.27254407, -0.00067864, 0.00041589, 7.27186543, 0.99792647, 0.99890547, 0.49314054],\
+-[	-6.27254443, -0.00067849, 0.00041580, 7.27186594, 0.99792692, 0.99890571, 0.49314058],\
+-[	-6.27254479, -0.00067834, 0.00041571, 7.27186644, 0.99792738, 0.99890595, 0.49314062],\
+-[	-6.27254514, -0.00067819, 0.00041562, 7.27186695, 0.99792783, 0.99890618, 0.49314070],\
+-[	-6.27254550, -0.00067805, 0.00041553, 7.27186745, 0.99792828, 0.99890642, 0.49314075],\
+-[	-6.27254585, -0.00067790, 0.00041544, 7.27186796, 0.99792874, 0.99890666, 0.49314079],\
+-[	-6.27254621, -0.00067775, 0.00041535, 7.27186846, 0.99792919, 0.99890690, 0.49314085],\
+-[	-6.27254657, -0.00067760, 0.00041526, 7.27186897, 0.99792965, 0.99890714, 0.49314090],\
+-[	-6.27254692, -0.00067745, 0.00041516, 7.27186947, 0.99793010, 0.99890738, 0.49314094],\
+-[	-6.27254728, -0.00067730, 0.00041507, 7.27186997, 0.99793055, 0.99890762, 0.49314100],\
+-[	-6.27254763, -0.00067716, 0.00041498, 7.27187048, 0.99793101, 0.99890786, 0.49314106],\
+-[	-6.27254799, -0.00067701, 0.00041489, 7.27187098, 0.99793146, 0.99890810, 0.49314111],\
+-[	-6.27254834, -0.00067686, 0.00041480, 7.27187148, 0.99793191, 0.99890834, 0.49314118],\
+-[	-6.27254870, -0.00067671, 0.00041471, 7.27187199, 0.99793236, 0.99890858, 0.49314123],\
+-[	-6.27254905, -0.00067656, 0.00041462, 7.27187249, 0.99793282, 0.99890882, 0.49314127],\
+-[	-6.27254941, -0.00067642, 0.00041453, 7.27187299, 0.99793327, 0.99890905, 0.49314132],\
+-[	-6.27254976, -0.00067627, 0.00041444, 7.27187349, 0.99793372, 0.99890929, 0.49314138],\
+-[	-6.27255012, -0.00067612, 0.00041435, 7.27187399, 0.99793417, 0.99890953, 0.49314144],\
+-[	-6.27255047, -0.00067597, 0.00041426, 7.27187450, 0.99793462, 0.99890977, 0.49314149],\
+-[	-6.27255082, -0.00067583, 0.00041417, 7.27187500, 0.99793507, 0.99891001, 0.49314155],\
+-[	-6.27255118, -0.00067568, 0.00041408, 7.27187550, 0.99793552, 0.99891025, 0.49314159],\
+-[	-6.27255153, -0.00067553, 0.00041399, 7.27187600, 0.99793597, 0.99891048, 0.49314164],\
+-[	-6.27255188, -0.00067538, 0.00041390, 7.27187650, 0.99793643, 0.99891072, 0.49314169],\
+-[	-6.27255224, -0.00067524, 0.00041381, 7.27187700, 0.99793688, 0.99891096, 0.49314176],\
+-[	-6.27255259, -0.00067509, 0.00041372, 7.27187750, 0.99793733, 0.99891120, 0.49314181],\
+-[	-6.27255294, -0.00067494, 0.00041362, 7.27187800, 0.99793778, 0.99891143, 0.49314185],\
+-[	-6.27255330, -0.00067479, 0.00041353, 7.27187850, 0.99793823, 0.99891167, 0.49314190],\
+-[	-6.27255365, -0.00067465, 0.00041344, 7.27187900, 0.99793868, 0.99891191, 0.49314197],\
+-[	-6.27255400, -0.00067450, 0.00041335, 7.27187950, 0.99793912, 0.99891215, 0.49314200],\
+-[	-6.27255435, -0.00067435, 0.00041326, 7.27188000, 0.99793957, 0.99891238, 0.49314208],\
+-[	-6.27255470, -0.00067421, 0.00041317, 7.27188050, 0.99794002, 0.99891262, 0.49314213],\
+-[	-6.27255506, -0.00067406, 0.00041308, 7.27188100, 0.99794047, 0.99891286, 0.49314217],\
+-[	-6.27255541, -0.00067391, 0.00041299, 7.27188150, 0.99794092, 0.99891309, 0.49314220],\
+-[	-6.27255576, -0.00067377, 0.00041290, 7.27188199, 0.99794137, 0.99891333, 0.49314225],\
+-[	-6.27255611, -0.00067362, 0.00041281, 7.27188249, 0.99794182, 0.99891357, 0.49314232],\
+-[	-6.27255646, -0.00067347, 0.00041272, 7.27188299, 0.99794227, 0.99891380, 0.49314238],\
+-[	-6.27255681, -0.00067333, 0.00041263, 7.27188349, 0.99794271, 0.99891404, 0.49314241],\
+-[	-6.27255717, -0.00067318, 0.00041254, 7.27188398, 0.99794316, 0.99891428, 0.49314247],\
+-[	-6.27255752, -0.00067303, 0.00041245, 7.27188448, 0.99794361, 0.99891451, 0.49314253],\
+-[	-6.27255787, -0.00067289, 0.00041236, 7.27188498, 0.99794406, 0.99891475, 0.49314258],\
+-[	-6.27255822, -0.00067274, 0.00041228, 7.27188548, 0.99794450, 0.99891498, 0.49314263],\
+-[	-6.27255857, -0.00067260, 0.00041219, 7.27188597, 0.99794495, 0.99891522, 0.49314268],\
+-[	-6.27255892, -0.00067245, 0.00041210, 7.27188647, 0.99794540, 0.99891545, 0.49314274],\
+-[	-6.27255927, -0.00067230, 0.00041201, 7.27188696, 0.99794584, 0.99891569, 0.49314280],\
+-[	-6.27255962, -0.00067216, 0.00041192, 7.27188746, 0.99794629, 0.99891593, 0.49314284],\
+-[	-6.27255997, -0.00067201, 0.00041183, 7.27188796, 0.99794673, 0.99891616, 0.49314287],\
+-[	-6.27256032, -0.00067187, 0.00041174, 7.27188845, 0.99794718, 0.99891640, 0.49314297],\
+-[	-6.27256067, -0.00067172, 0.00041165, 7.27188895, 0.99794763, 0.99891663, 0.49314303],\
+-[	-6.27256102, -0.00067157, 0.00041156, 7.27188944, 0.99794807, 0.99891687, 0.49314307],\
+-[	-6.27256137, -0.00067143, 0.00041147, 7.27188994, 0.99794852, 0.99891710, 0.49314312],\
+-[	-6.27256171, -0.00067128, 0.00041138, 7.27189043, 0.99794896, 0.99891734, 0.49314315],\
+-[	-6.27256206, -0.00067114, 0.00041129, 7.27189093, 0.99794941, 0.99891757, 0.49314322],\
+-[	-6.27256241, -0.00067099, 0.00041120, 7.27189142, 0.99794985, 0.99891781, 0.49314325],\
+-[	-6.27256276, -0.00067085, 0.00041111, 7.27189191, 0.99795030, 0.99891804, 0.49314333],\
+-[	-6.27256311, -0.00067070, 0.00041102, 7.27189241, 0.99795074, 0.99891828, 0.49314337],\
+-[	-6.27256346, -0.00067056, 0.00041093, 7.27189290, 0.99795119, 0.99891851, 0.49314340],\
+-[	-6.27256381, -0.00067041, 0.00041085, 7.27189339, 0.99795163, 0.99891874, 0.49314348],\
+-[	-6.27256415, -0.00067027, 0.00041076, 7.27189389, 0.99795207, 0.99891898, 0.49314353],\
+-[	-6.27256450, -0.00067012, 0.00041067, 7.27189438, 0.99795252, 0.99891921, 0.49314358],\
+-[	-6.27256485, -0.00066998, 0.00041058, 7.27189487, 0.99795296, 0.99891945, 0.49314365],\
+-[	-6.27256520, -0.00066983, 0.00041049, 7.27189537, 0.99795340, 0.99891968, 0.49314368],\
+-[	-6.27256554, -0.00066969, 0.00041040, 7.27189586, 0.99795385, 0.99891991, 0.49314376],\
+-[	-6.27256589, -0.00066954, 0.00041031, 7.27189635, 0.99795429, 0.99892015, 0.49314379],\
+-[	-6.27256624, -0.00066940, 0.00041022, 7.27189684, 0.99795473, 0.99892038, 0.49314383],\
+-[	-6.27256658, -0.00066925, 0.00041013, 7.27189733, 0.99795517, 0.99892061, 0.49314389],\
+-[	-6.27256693, -0.00066911, 0.00041005, 7.27189782, 0.99795562, 0.99892085, 0.49314395],\
+-[	-6.27256728, -0.00066896, 0.00040996, 7.27189832, 0.99795606, 0.99892108, 0.49314398],\
+-[	-6.27256762, -0.00066882, 0.00040987, 7.27189881, 0.99795650, 0.99892131, 0.49314403],\
+-[	-6.27256797, -0.00066867, 0.00040978, 7.27189930, 0.99795694, 0.99892155, 0.49314409],\
+-[	-6.27256832, -0.00066853, 0.00040969, 7.27189979, 0.99795738, 0.99892178, 0.49314415],\
+-[	-6.27256866, -0.00066838, 0.00040960, 7.27190028, 0.99795782, 0.99892201, 0.49314419],\
+-[	-6.27256901, -0.00066824, 0.00040951, 7.27190077, 0.99795827, 0.99892225, 0.49314425],\
+-[	-6.27256935, -0.00066810, 0.00040943, 7.27190126, 0.99795871, 0.99892248, 0.49314428],\
+-[	-6.27256970, -0.00066795, 0.00040934, 7.27190175, 0.99795915, 0.99892271, 0.49314436],\
+-[	-6.27257004, -0.00066781, 0.00040925, 7.27190224, 0.99795959, 0.99892294, 0.49314439],\
+-[	-6.27257039, -0.00066766, 0.00040916, 7.27190273, 0.99796003, 0.99892318, 0.49314446],\
+-[	-6.27257073, -0.00066752, 0.00040907, 7.27190322, 0.99796047, 0.99892341, 0.49314452],\
+-[	-6.27257108, -0.00066738, 0.00040898, 7.27190370, 0.99796091, 0.99892364, 0.49314453],\
+-[	-6.27257142, -0.00066723, 0.00040890, 7.27190419, 0.99796135, 0.99892387, 0.49314460],\
+-[	-6.27257177, -0.00066709, 0.00040881, 7.27190468, 0.99796179, 0.99892410, 0.49314466],\
+-[	-6.27257211, -0.00066694, 0.00040872, 7.27190517, 0.99796223, 0.99892434, 0.49314470],\
+-[	-6.27257246, -0.00066680, 0.00040863, 7.27190566, 0.99796267, 0.99892457, 0.49314476],\
+-[	-6.27257280, -0.00066666, 0.00040854, 7.27190615, 0.99796311, 0.99892480, 0.49314482],\
+-[	-6.27257315, -0.00066651, 0.00040846, 7.27190663, 0.99796354, 0.99892503, 0.49314486],\
+-[	-6.27257349, -0.00066637, 0.00040837, 7.27190712, 0.99796398, 0.99892526, 0.49314490],\
+-[	-6.27257383, -0.00066623, 0.00040828, 7.27190761, 0.99796442, 0.99892549, 0.49314498],\
+-[	-6.27257418, -0.00066608, 0.00040819, 7.27190809, 0.99796486, 0.99892573, 0.49314501],\
+-[	-6.27257452, -0.00066594, 0.00040810, 7.27190858, 0.99796530, 0.99892596, 0.49314505],\
+-[	-6.27257486, -0.00066580, 0.00040802, 7.27190907, 0.99796574, 0.99892619, 0.49314512],\
+-[	-6.27257521, -0.00066565, 0.00040793, 7.27190955, 0.99796617, 0.99892642, 0.49314515],\
+-[	-6.27257555, -0.00066551, 0.00040784, 7.27191004, 0.99796661, 0.99892665, 0.49314521],\
+-[	-6.27257589, -0.00066537, 0.00040775, 7.27191053, 0.99796705, 0.99892688, 0.49314528],\
+-[	-6.27257623, -0.00066522, 0.00040766, 7.27191101, 0.99796748, 0.99892711, 0.49314532],\
+-[	-6.27257658, -0.00066508, 0.00040758, 7.27191150, 0.99796792, 0.99892734, 0.49314537],\
+-[	-6.27257692, -0.00066494, 0.00040749, 7.27191198, 0.99796836, 0.99892757, 0.49314541],\
+-[	-6.27257726, -0.00066480, 0.00040740, 7.27191247, 0.99796880, 0.99892780, 0.49314547],\
+-[	-6.27257760, -0.00066465, 0.00040731, 7.27191295, 0.99796923, 0.99892803, 0.49314555],\
+-[	-6.27257795, -0.00066451, 0.00040723, 7.27191344, 0.99796967, 0.99892826, 0.49314558],\
+-[	-6.27257829, -0.00066437, 0.00040714, 7.27191392, 0.99797010, 0.99892849, 0.49314564],\
+-[	-6.27257863, -0.00066422, 0.00040705, 7.27191440, 0.99797054, 0.99892872, 0.49314568],\
+-[	-6.27257897, -0.00066408, 0.00040696, 7.27191489, 0.99797098, 0.99892895, 0.49314573],\
+-[	-6.27257931, -0.00066394, 0.00040688, 7.27191537, 0.99797141, 0.99892918, 0.49314579],\
+-[	-6.27257965, -0.00066380, 0.00040679, 7.27191586, 0.99797185, 0.99892941, 0.49314582],\
+-[	-6.27257999, -0.00066366, 0.00040670, 7.27191634, 0.99797228, 0.99892964, 0.49314588],\
+-[	-6.27258033, -0.00066351, 0.00040662, 7.27191682, 0.99797272, 0.99892987, 0.49314593],\
+-[	-6.27258068, -0.00066337, 0.00040653, 7.27191730, 0.99797315, 0.99893010, 0.49314598],\
+-[	-6.27258102, -0.00066323, 0.00040644, 7.27191779, 0.99797358, 0.99893033, 0.49314603],\
+-[	-6.27258136, -0.00066309, 0.00040635, 7.27191827, 0.99797402, 0.99893056, 0.49314608],\
+-[	-6.27258170, -0.00066294, 0.00040627, 7.27191875, 0.99797445, 0.99893079, 0.49314611],\
+-[	-6.27258204, -0.00066280, 0.00040618, 7.27191923, 0.99797489, 0.99893102, 0.49314621],\
+-[	-6.27258238, -0.00066266, 0.00040609, 7.27191972, 0.99797532, 0.99893125, 0.49314623],\
+-[	-6.27258272, -0.00066252, 0.00040601, 7.27192020, 0.99797575, 0.99893148, 0.49314626],\
+-[	-6.27258306, -0.00066238, 0.00040592, 7.27192068, 0.99797619, 0.99893170, 0.49314635],\
+-[	-6.27258340, -0.00066224, 0.00040583, 7.27192116, 0.99797662, 0.99893193, 0.49314639],\
+-[	-6.27258373, -0.00066209, 0.00040574, 7.27192164, 0.99797705, 0.99893216, 0.49314644],\
+-[	-6.27258407, -0.00066195, 0.00040566, 7.27192212, 0.99797749, 0.99893239, 0.49314649],\
+-[	-6.27258441, -0.00066181, 0.00040557, 7.27192260, 0.99797792, 0.99893262, 0.49314651],\
+-[	-6.27258475, -0.00066167, 0.00040548, 7.27192308, 0.99797835, 0.99893285, 0.49314660],\
+-[	-6.27258509, -0.00066153, 0.00040540, 7.27192356, 0.99797878, 0.99893307, 0.49314663],\
+-[	-6.27258543, -0.00066139, 0.00040531, 7.27192404, 0.99797922, 0.99893330, 0.49314669],\
+-[	-6.27258577, -0.00066125, 0.00040522, 7.27192452, 0.99797965, 0.99893353, 0.49314673],\
+-[	-6.27258611, -0.00066110, 0.00040514, 7.27192500, 0.99798008, 0.99893376, 0.49314679],\
+-[	-6.27258644, -0.00066096, 0.00040505, 7.27192548, 0.99798051, 0.99893399, 0.49314686],\
+-[	-6.27258678, -0.00066082, 0.00040496, 7.27192596, 0.99798094, 0.99893421, 0.49314689],\
+-[	-6.27258712, -0.00066068, 0.00040488, 7.27192644, 0.99798137, 0.99893444, 0.49314694],\
+-[	-6.27258746, -0.00066054, 0.00040479, 7.27192692, 0.99798181, 0.99893467, 0.49314700],\
+-[	-6.27258780, -0.00066040, 0.00040471, 7.27192740, 0.99798224, 0.99893490, 0.49314705],\
+-[	-6.27258813, -0.00066026, 0.00040462, 7.27192788, 0.99798267, 0.99893512, 0.49314708],\
+-[	-6.27258847, -0.00066012, 0.00040453, 7.27192835, 0.99798310, 0.99893535, 0.49314712],\
+-[	-6.27258881, -0.00065998, 0.00040445, 7.27192883, 0.99798353, 0.99893558, 0.49314719],\
+-[	-6.27258914, -0.00065984, 0.00040436, 7.27192931, 0.99798396, 0.99893580, 0.49314727],\
+-[	-6.27258948, -0.00065970, 0.00040427, 7.27192979, 0.99798439, 0.99893603, 0.49314727],\
+-[	-6.27258982, -0.00065955, 0.00040419, 7.27193026, 0.99798482, 0.99893626, 0.49314731],\
+-[	-6.27259015, -0.00065941, 0.00040410, 7.27193074, 0.99798525, 0.99893648, 0.49314740],\
+-[	-6.27259049, -0.00065927, 0.00040401, 7.27193122, 0.99798568, 0.99893671, 0.49314745],\
+-[	-6.27259083, -0.00065913, 0.00040393, 7.27193169, 0.99798610, 0.99893694, 0.49314746],\
+-[	-6.27259116, -0.00065899, 0.00040384, 7.27193217, 0.99798653, 0.99893716, 0.49314754],\
+-[	-6.27259150, -0.00065885, 0.00040376, 7.27193265, 0.99798696, 0.99893739, 0.49314761],\
+-[	-6.27259184, -0.00065871, 0.00040367, 7.27193312, 0.99798739, 0.99893762, 0.49314766],\
+-[	-6.27259217, -0.00065857, 0.00040358, 7.27193360, 0.99798782, 0.99893784, 0.49314769],\
+-[	-6.27259251, -0.00065843, 0.00040350, 7.27193407, 0.99798825, 0.99893807, 0.49314775],\
+-[	-6.27259284, -0.00065829, 0.00040341, 7.27193455, 0.99798868, 0.99893829, 0.49314778],\
+-[	-6.27259318, -0.00065815, 0.00040333, 7.27193502, 0.99798910, 0.99893852, 0.49314784],\
+-[	-6.27259351, -0.00065801, 0.00040324, 7.27193550, 0.99798953, 0.99893875, 0.49314788],\
+-[	-6.27259385, -0.00065787, 0.00040316, 7.27193597, 0.99798996, 0.99893897, 0.49314794],\
+-[	-6.27259418, -0.00065773, 0.00040307, 7.27193645, 0.99799039, 0.99893920, 0.49314799],\
+-[	-6.27259452, -0.00065759, 0.00040298, 7.27193692, 0.99799081, 0.99893942, 0.49314805],\
+-[	-6.27259485, -0.00065745, 0.00040290, 7.27193740, 0.99799124, 0.99893965, 0.49314807],\
+-[	-6.27259519, -0.00065731, 0.00040281, 7.27193787, 0.99799167, 0.99893987, 0.49314813],\
+-[	-6.27259552, -0.00065717, 0.00040273, 7.27193835, 0.99799209, 0.99894010, 0.49314822],\
+-[	-6.27259585, -0.00065703, 0.00040264, 7.27193882, 0.99799252, 0.99894032, 0.49314825],\
+-[	-6.27259619, -0.00065690, 0.00040256, 7.27193929, 0.99799295, 0.99894055, 0.49314830],\
+-[	-6.27259652, -0.00065676, 0.00040247, 7.27193977, 0.99799337, 0.99894077, 0.49314836],\
+-[	-6.27259686, -0.00065662, 0.00040239, 7.27194024, 0.99799380, 0.99894100, 0.49314839],\
+-[	-6.27259719, -0.00065648, 0.00040230, 7.27194071, 0.99799422, 0.99894122, 0.49314844],\
+-[	-6.27259752, -0.00065634, 0.00040221, 7.27194118, 0.99799465, 0.99894145, 0.49314848],\
+-[	-6.27259786, -0.00065620, 0.00040213, 7.27194166, 0.99799507, 0.99894167, 0.49314852],\
+-[	-6.27259819, -0.00065606, 0.00040204, 7.27194213, 0.99799550, 0.99894190, 0.49314858],\
+-[	-6.27259852, -0.00065592, 0.00040196, 7.27194260, 0.99799593, 0.99894212, 0.49314864],\
+-[	-6.27259885, -0.00065578, 0.00040187, 7.27194307, 0.99799635, 0.99894234, 0.49314867],\
+-[	-6.27259919, -0.00065564, 0.00040179, 7.27194354, 0.99799677, 0.99894257, 0.49314872],\
+-[	-6.27259952, -0.00065550, 0.00040170, 7.27194402, 0.99799720, 0.99894279, 0.49314880],\
+-[	-6.27259985, -0.00065537, 0.00040162, 7.27194449, 0.99799762, 0.99894302, 0.49314880],\
+-[	-6.27260018, -0.00065523, 0.00040153, 7.27194496, 0.99799805, 0.99894324, 0.49314888],\
+-[	-6.27260052, -0.00065509, 0.00040145, 7.27194543, 0.99799847, 0.99894346, 0.49314897],\
+-[	-6.27260085, -0.00065495, 0.00040136, 7.27194590, 0.99799889, 0.99894369, 0.49314899],\
+-[	-6.27260118, -0.00065481, 0.00040128, 7.27194637, 0.99799932, 0.99894391, 0.49314902],\
+-[	-6.27260151, -0.00065467, 0.00040119, 7.27194684, 0.99799974, 0.99894413, 0.49314908],\
+-[	-6.27260184, -0.00065453, 0.00040111, 7.27194731, 0.99800016, 0.99894436, 0.49314911],\
+-[	-6.27260217, -0.00065440, 0.00040102, 7.27194778, 0.99800059, 0.99894458, 0.49314920],\
+-[	-6.27260251, -0.00065426, 0.00040094, 7.27194825, 0.99800101, 0.99894480, 0.49314922],\
+-[	-6.27260284, -0.00065412, 0.00040085, 7.27194872, 0.99800143, 0.99894503, 0.49314928],\
+-[	-6.27260317, -0.00065398, 0.00040077, 7.27194919, 0.99800186, 0.99894525, 0.49314931],\
+-[	-6.27260350, -0.00065384, 0.00040068, 7.27194966, 0.99800228, 0.99894547, 0.49314937],\
+-[	-6.27260383, -0.00065370, 0.00040060, 7.27195013, 0.99800270, 0.99894570, 0.49314942],\
+-[	-6.27260416, -0.00065357, 0.00040051, 7.27195059, 0.99800312, 0.99894592, 0.49314947],\
+-[	-6.27260449, -0.00065343, 0.00040043, 7.27195106, 0.99800354, 0.99894614, 0.49314952],\
+-[	-6.27260482, -0.00065329, 0.00040035, 7.27195153, 0.99800397, 0.99894636, 0.49314960],\
+-[	-6.27260515, -0.00065315, 0.00040026, 7.27195200, 0.99800439, 0.99894659, 0.49314963],\
+-[	-6.27260548, -0.00065302, 0.00040018, 7.27195247, 0.99800481, 0.99894681, 0.49314965],\
+-[	-6.27260581, -0.00065288, 0.00040009, 7.27195293, 0.99800523, 0.99894703, 0.49314972],\
+-[	-6.27260614, -0.00065274, 0.00040001, 7.27195340, 0.99800565, 0.99894725, 0.49314975],\
+-[	-6.27260647, -0.00065260, 0.00039992, 7.27195387, 0.99800607, 0.99894747, 0.49314983],\
+-[	-6.27260680, -0.00065246, 0.00039984, 7.27195434, 0.99800649, 0.99894770, 0.49314987],\
+-[	-6.27260713, -0.00065233, 0.00039975, 7.27195480, 0.99800691, 0.99894792, 0.49314994],\
+-[	-6.27260746, -0.00065219, 0.00039967, 7.27195527, 0.99800733, 0.99894814, 0.49314996],\
+-[	-6.27260779, -0.00065205, 0.00039959, 7.27195573, 0.99800775, 0.99894836, 0.49314998],\
+-[	-6.27260812, -0.00065192, 0.00039950, 7.27195620, 0.99800817, 0.99894858, 0.49315004],\
+-[	-6.27260844, -0.00065178, 0.00039942, 7.27195667, 0.99800859, 0.99894880, 0.49315011],\
+-[	-6.27260877, -0.00065164, 0.00039933, 7.27195713, 0.99800901, 0.99894903, 0.49315016],\
+-[	-6.27260910, -0.00065150, 0.00039925, 7.27195760, 0.99800943, 0.99894925, 0.49315020],\
+-[	-6.27260943, -0.00065137, 0.00039917, 7.27195806, 0.99800985, 0.99894947, 0.49315028],\
+-[	-6.27260976, -0.00065123, 0.00039908, 7.27195853, 0.99801027, 0.99894969, 0.49315027],\
+-[	-6.27261009, -0.00065109, 0.00039900, 7.27195899, 0.99801069, 0.99894991, 0.49315035],\
+-[	-6.27261041, -0.00065096, 0.00039891, 7.27195946, 0.99801110, 0.99895013, 0.49315041],\
+-[	-6.27261074, -0.00065082, 0.00039883, 7.27195992, 0.99801152, 0.99895035, 0.49315047],\
+-[	-6.27261107, -0.00065068, 0.00039875, 7.27196039, 0.99801194, 0.99895057, 0.49315053],\
+-[	-6.27261140, -0.00065055, 0.00039866, 7.27196085, 0.99801236, 0.99895079, 0.49315055],\
+-[	-6.27261172, -0.00065041, 0.00039858, 7.27196132, 0.99801278, 0.99895101, 0.49315059],\
+-[	-6.27261205, -0.00065027, 0.00039849, 7.27196178, 0.99801320, 0.99895123, 0.49315063],\
+-[	-6.27261238, -0.00065014, 0.00039841, 7.27196224, 0.99801361, 0.99895145, 0.49315070],\
+-[	-6.27261271, -0.00065000, 0.00039833, 7.27196271, 0.99801403, 0.99895167, 0.49315074],\
+-[	-6.27261303, -0.00064986, 0.00039824, 7.27196317, 0.99801445, 0.99895189, 0.49315081],\
+-[	-6.27261336, -0.00064973, 0.00039816, 7.27196363, 0.99801486, 0.99895212, 0.49315083],\
+-[	-6.27261369, -0.00064959, 0.00039808, 7.27196410, 0.99801528, 0.99895233, 0.49315088],\
+-[	-6.27261401, -0.00064945, 0.00039799, 7.27196456, 0.99801570, 0.99895255, 0.49315095],\
+-[	-6.27261434, -0.00064932, 0.00039791, 7.27196502, 0.99801611, 0.99895277, 0.49315102],\
+-[	-6.27261466, -0.00064918, 0.00039782, 7.27196548, 0.99801653, 0.99895299, 0.49315101],\
+-[	-6.27261499, -0.00064904, 0.00039774, 7.27196595, 0.99801695, 0.99895321, 0.49315109],\
+-[	-6.27261532, -0.00064891, 0.00039766, 7.27196641, 0.99801736, 0.99895343, 0.49315112],\
+-[	-6.27261564, -0.00064877, 0.00039757, 7.27196687, 0.99801778, 0.99895365, 0.49315120],\
+-[	-6.27261597, -0.00064864, 0.00039749, 7.27196733, 0.99801819, 0.99895387, 0.49315122],\
+-[	-6.27261629, -0.00064850, 0.00039741, 7.27196779, 0.99801861, 0.99895409, 0.49315129],\
+-[	-6.27261662, -0.00064836, 0.00039732, 7.27196825, 0.99801902, 0.99895431, 0.49315134],\
+-[	-6.27261694, -0.00064823, 0.00039724, 7.27196871, 0.99801944, 0.99895453, 0.49315136],\
+-[	-6.27261727, -0.00064809, 0.00039716, 7.27196917, 0.99801985, 0.99895475, 0.49315141],\
+-[	-6.27261759, -0.00064796, 0.00039707, 7.27196963, 0.99802027, 0.99895497, 0.49315149],\
+-[	-6.27261792, -0.00064782, 0.00039699, 7.27197009, 0.99802068, 0.99895519, 0.49315153],\
+-[	-6.27261824, -0.00064769, 0.00039691, 7.27197056, 0.99802110, 0.99895540, 0.49315156],\
+-[	-6.27261857, -0.00064755, 0.00039683, 7.27197101, 0.99802151, 0.99895562, 0.49315162],\
+-[	-6.27261889, -0.00064742, 0.00039674, 7.27197147, 0.99802193, 0.99895584, 0.49315167],\
+-[	-6.27261921, -0.00064728, 0.00039666, 7.27197193, 0.99802234, 0.99895606, 0.49315173],\
+-[	-6.27261954, -0.00064715, 0.00039658, 7.27197239, 0.99802275, 0.99895628, 0.49315176],\
+-[	-6.27261986, -0.00064701, 0.00039649, 7.27197285, 0.99802317, 0.99895650, 0.49315180],\
+-[	-6.27262019, -0.00064687, 0.00039641, 7.27197331, 0.99802358, 0.99895671, 0.49315186],\
+-[	-6.27262051, -0.00064674, 0.00039633, 7.27197377, 0.99802399, 0.99895693, 0.49315191],\
+-[	-6.27262083, -0.00064660, 0.00039624, 7.27197423, 0.99802441, 0.99895715, 0.49315198],\
+-[	-6.27262116, -0.00064647, 0.00039616, 7.27197469, 0.99802482, 0.99895737, 0.49315200],\
+-[	-6.27262148, -0.00064633, 0.00039608, 7.27197515, 0.99802523, 0.99895759, 0.49315204],\
+-[	-6.27262180, -0.00064620, 0.00039600, 7.27197560, 0.99802564, 0.99895780, 0.49315211],\
+-[	-6.27262213, -0.00064606, 0.00039591, 7.27197606, 0.99802606, 0.99895802, 0.49315216],\
+-[	-6.27262245, -0.00064593, 0.00039583, 7.27197652, 0.99802647, 0.99895824, 0.49315219],\
+-[	-6.27262277, -0.00064579, 0.00039575, 7.27197698, 0.99802688, 0.99895846, 0.49315225],\
+-[	-6.27262309, -0.00064566, 0.00039567, 7.27197743, 0.99802729, 0.99895867, 0.49315226],\
+-[	-6.27262342, -0.00064553, 0.00039558, 7.27197789, 0.99802770, 0.99895889, 0.49315233],\
+-[	-6.27262374, -0.00064539, 0.00039550, 7.27197835, 0.99802812, 0.99895911, 0.49315238],\
+-[	-6.27262406, -0.00064526, 0.00039542, 7.27197880, 0.99802853, 0.99895933, 0.49315244],\
+-[	-6.27262438, -0.00064512, 0.00039534, 7.27197926, 0.99802894, 0.99895954, 0.49315248],\
+-[	-6.27262470, -0.00064499, 0.00039525, 7.27197972, 0.99802935, 0.99895976, 0.49315254],\
+-[	-6.27262503, -0.00064485, 0.00039517, 7.27198017, 0.99802976, 0.99895998, 0.49315255],\
+-[	-6.27262535, -0.00064472, 0.00039509, 7.27198063, 0.99803017, 0.99896019, 0.49315260],\
+-[	-6.27262567, -0.00064458, 0.00039501, 7.27198108, 0.99803058, 0.99896041, 0.49315266],\
+-[	-6.27262599, -0.00064445, 0.00039492, 7.27198154, 0.99803099, 0.99896063, 0.49315272],\
+-[	-6.27262631, -0.00064432, 0.00039484, 7.27198199, 0.99803140, 0.99896084, 0.49315276],\
+-[	-6.27262663, -0.00064418, 0.00039476, 7.27198245, 0.99803181, 0.99896106, 0.49315283],\
+-[	-6.27262695, -0.00064405, 0.00039468, 7.27198290, 0.99803222, 0.99896127, 0.49315287],\
+-[	-6.27262727, -0.00064391, 0.00039460, 7.27198336, 0.99803263, 0.99896149, 0.49315291],\
+-[	-6.27262759, -0.00064378, 0.00039451, 7.27198381, 0.99803304, 0.99896171, 0.49315298],\
+-[	-6.27262792, -0.00064365, 0.00039443, 7.27198427, 0.99803345, 0.99896192, 0.49315301],\
+-[	-6.27262824, -0.00064351, 0.00039435, 7.27198472, 0.99803386, 0.99896214, 0.49315305],\
+-[	-6.27262856, -0.00064338, 0.00039427, 7.27198518, 0.99803427, 0.99896235, 0.49315310],\
+-[	-6.27262888, -0.00064325, 0.00039418, 7.27198563, 0.99803468, 0.99896257, 0.49315315],\
+-[	-6.27262920, -0.00064311, 0.00039410, 7.27198608, 0.99803508, 0.99896279, 0.49315320],\
+-[	-6.27262952, -0.00064298, 0.00039402, 7.27198654, 0.99803549, 0.99896300, 0.49315324],\
+-[	-6.27262984, -0.00064284, 0.00039394, 7.27198699, 0.99803590, 0.99896322, 0.49315329],\
+-[	-6.27263015, -0.00064271, 0.00039386, 7.27198744, 0.99803631, 0.99896343, 0.49315335],\
+-[	-6.27263047, -0.00064258, 0.00039378, 7.27198790, 0.99803672, 0.99896365, 0.49315341],\
+-[	-6.27263079, -0.00064244, 0.00039369, 7.27198835, 0.99803712, 0.99896386, 0.49315341],\
+-[	-6.27263111, -0.00064231, 0.00039361, 7.27198880, 0.99803753, 0.99896408, 0.49315348],\
+-[	-6.27263143, -0.00064218, 0.00039353, 7.27198925, 0.99803794, 0.99896429, 0.49315355],\
+-[	-6.27263175, -0.00064204, 0.00039345, 7.27198971, 0.99803835, 0.99896451, 0.49315360],\
+-[	-6.27263207, -0.00064191, 0.00039337, 7.27199016, 0.99803875, 0.99896472, 0.49315362],\
+-[	-6.27263239, -0.00064178, 0.00039329, 7.27199061, 0.99803916, 0.99896494, 0.49315366],\
+-[	-6.27263271, -0.00064165, 0.00039320, 7.27199106, 0.99803957, 0.99896515, 0.49315370],\
+-[	-6.27263302, -0.00064151, 0.00039312, 7.27199151, 0.99803997, 0.99896537, 0.49315378],\
+-[	-6.27263334, -0.00064138, 0.00039304, 7.27199196, 0.99804038, 0.99896558, 0.49315382],\
+-[	-6.27263366, -0.00064125, 0.00039296, 7.27199241, 0.99804079, 0.99896579, 0.49315384],\
+-[	-6.27263398, -0.00064111, 0.00039288, 7.27199287, 0.99804119, 0.99896601, 0.49315390],\
+-[	-6.27263430, -0.00064098, 0.00039280, 7.27199332, 0.99804160, 0.99896622, 0.49315398],\
+-[	-6.27263461, -0.00064085, 0.00039271, 7.27199377, 0.99804200, 0.99896644, 0.49315398],\
+-[	-6.27263493, -0.00064072, 0.00039263, 7.27199422, 0.99804241, 0.99896665, 0.49315402],\
+-[	-6.27263525, -0.00064058, 0.00039255, 7.27199467, 0.99804281, 0.99896686, 0.49315410],\
+-[	-6.27263557, -0.00064045, 0.00039247, 7.27199512, 0.99804322, 0.99896708, 0.49315415],\
+-[	-6.27263588, -0.00064032, 0.00039239, 7.27199557, 0.99804362, 0.99896729, 0.49315420],\
+-[	-6.27263620, -0.00064019, 0.00039231, 7.27199602, 0.99804403, 0.99896751, 0.49315423],\
+-[	-6.27263652, -0.00064005, 0.00039223, 7.27199646, 0.99804443, 0.99896772, 0.49315429],\
+-[	-6.27263683, -0.00063992, 0.00039215, 7.27199691, 0.99804484, 0.99896793, 0.49315433],\
+-[	-6.27263715, -0.00063979, 0.00039206, 7.27199736, 0.99804524, 0.99896815, 0.49315438],\
+-[	-6.27263747, -0.00063966, 0.00039198, 7.27199781, 0.99804565, 0.99896836, 0.49315441],\
+-[	-6.27263778, -0.00063952, 0.00039190, 7.27199826, 0.99804605, 0.99896857, 0.49315445],\
+-[	-6.27263810, -0.00063939, 0.00039182, 7.27199871, 0.99804645, 0.99896879, 0.49315452],\
+-[	-6.27263842, -0.00063926, 0.00039174, 7.27199916, 0.99804686, 0.99896900, 0.49315453],\
+-[	-6.27263873, -0.00063913, 0.00039166, 7.27199960, 0.99804726, 0.99896921, 0.49315461],\
+-[	-6.27263905, -0.00063900, 0.00039158, 7.27200005, 0.99804766, 0.99896942, 0.49315465],\
+-[	-6.27263936, -0.00063886, 0.00039150, 7.27200050, 0.99804807, 0.99896964, 0.49315471],\
+-[	-6.27263968, -0.00063873, 0.00039142, 7.27200095, 0.99804847, 0.99896985, 0.49315476],\
+-[	-6.27263999, -0.00063860, 0.00039134, 7.27200139, 0.99804887, 0.99897006, 0.49315480],\
+-[	-6.27264031, -0.00063847, 0.00039126, 7.27200184, 0.99804928, 0.99897028, 0.49315486],\
+-[	-6.27264063, -0.00063834, 0.00039117, 7.27200229, 0.99804968, 0.99897049, 0.49315489],\
+-[	-6.27264094, -0.00063821, 0.00039109, 7.27200273, 0.99805008, 0.99897070, 0.49315491],\
+-[	-6.27264126, -0.00063807, 0.00039101, 7.27200318, 0.99805048, 0.99897091, 0.49315503],\
+-[	-6.27264157, -0.00063794, 0.00039093, 7.27200363, 0.99805088, 0.99897112, 0.49315504],\
+-[	-6.27264188, -0.00063781, 0.00039085, 7.27200407, 0.99805129, 0.99897134, 0.49315507],\
+-[	-6.27264220, -0.00063768, 0.00039077, 7.27200452, 0.99805169, 0.99897155, 0.49315512],\
+-[	-6.27264251, -0.00063755, 0.00039069, 7.27200496, 0.99805209, 0.99897176, 0.49315517],\
+-[	-6.27264283, -0.00063742, 0.00039061, 7.27200541, 0.99805249, 0.99897197, 0.49315521],\
+-[	-6.27264314, -0.00063729, 0.00039053, 7.27200586, 0.99805289, 0.99897218, 0.49315529],\
+-[	-6.27264346, -0.00063716, 0.00039045, 7.27200630, 0.99805329, 0.99897240, 0.49315533],\
+-[	-6.27264377, -0.00063702, 0.00039037, 7.27200675, 0.99805369, 0.99897261, 0.49315538],\
+-[	-6.27264408, -0.00063689, 0.00039029, 7.27200719, 0.99805409, 0.99897282, 0.49315540],\
+-[	-6.27264440, -0.00063676, 0.00039021, 7.27200764, 0.99805450, 0.99897303, 0.49315545],\
+-[	-6.27264471, -0.00063663, 0.00039013, 7.27200808, 0.99805490, 0.99897324, 0.49315550],\
+-[	-6.27264502, -0.00063650, 0.00039005, 7.27200852, 0.99805530, 0.99897345, 0.49315556],\
+-[	-6.27264534, -0.00063637, 0.00038997, 7.27200897, 0.99805570, 0.99897366, 0.49315563],\
+-[	-6.27264565, -0.00063624, 0.00038989, 7.27200941, 0.99805610, 0.99897387, 0.49315563],\
+-[	-6.27264596, -0.00063611, 0.00038981, 7.27200986, 0.99805649, 0.99897409, 0.49315568],\
+-[	-6.27264628, -0.00063598, 0.00038973, 7.27201030, 0.99805689, 0.99897430, 0.49315572],\
+-[	-6.27264659, -0.00063585, 0.00038965, 7.27201074, 0.99805729, 0.99897451, 0.49315579],\
+-[	-6.27264690, -0.00063572, 0.00038957, 7.27201119, 0.99805769, 0.99897472, 0.49315582],\
+-[	-6.27264721, -0.00063559, 0.00038949, 7.27201163, 0.99805809, 0.99897493, 0.49315589],\
+-[	-6.27264753, -0.00063545, 0.00038941, 7.27201207, 0.99805849, 0.99897514, 0.49315595],\
+-[	-6.27264784, -0.00063532, 0.00038933, 7.27201251, 0.99805889, 0.99897535, 0.49315600],\
+-[	-6.27264815, -0.00063519, 0.00038925, 7.27201296, 0.99805929, 0.99897556, 0.49315603],\
+-[	-6.27264846, -0.00063506, 0.00038917, 7.27201340, 0.99805969, 0.99897577, 0.49315606],\
+-[	-6.27264877, -0.00063493, 0.00038909, 7.27201384, 0.99806008, 0.99897598, 0.49315609],\
+-[	-6.27264909, -0.00063480, 0.00038901, 7.27201428, 0.99806048, 0.99897619, 0.49315614],\
+-[	-6.27264940, -0.00063467, 0.00038893, 7.27201472, 0.99806088, 0.99897640, 0.49315621],\
+-[	-6.27264971, -0.00063454, 0.00038885, 7.27201517, 0.99806128, 0.99897661, 0.49315622],\
+-[	-6.27265002, -0.00063441, 0.00038877, 7.27201561, 0.99806168, 0.99897682, 0.49315632],\
+-[	-6.27265033, -0.00063428, 0.00038869, 7.27201605, 0.99806207, 0.99897703, 0.49315636],\
+-[	-6.27265064, -0.00063415, 0.00038861, 7.27201649, 0.99806247, 0.99897724, 0.49315639],\
+-[	-6.27265095, -0.00063402, 0.00038853, 7.27201693, 0.99806287, 0.99897745, 0.49315644],\
+-[	-6.27265126, -0.00063389, 0.00038845, 7.27201737, 0.99806326, 0.99897766, 0.49315648],\
+-[	-6.27265157, -0.00063376, 0.00038837, 7.27201781, 0.99806366, 0.99897787, 0.49315654],\
+-[	-6.27265189, -0.00063363, 0.00038829, 7.27201825, 0.99806406, 0.99897808, 0.49315656],\
+-[	-6.27265220, -0.00063350, 0.00038821, 7.27201869, 0.99806445, 0.99897829, 0.49315663],\
+-[	-6.27265251, -0.00063337, 0.00038813, 7.27201913, 0.99806485, 0.99897849, 0.49315664],\
+-[	-6.27265282, -0.00063324, 0.00038805, 7.27201957, 0.99806525, 0.99897870, 0.49315672],\
+-[	-6.27265313, -0.00063312, 0.00038797, 7.27202001, 0.99806564, 0.99897891, 0.49315678],\
+-[	-6.27265344, -0.00063299, 0.00038789, 7.27202045, 0.99806604, 0.99897912, 0.49315679],\
+-[	-6.27265375, -0.00063286, 0.00038781, 7.27202089, 0.99806643, 0.99897933, 0.49315682],\
+-[	-6.27265406, -0.00063273, 0.00038773, 7.27202133, 0.99806683, 0.99897954, 0.49315688],\
+-[	-6.27265436, -0.00063260, 0.00038765, 7.27202177, 0.99806722, 0.99897975, 0.49315697],\
+-[	-6.27265467, -0.00063247, 0.00038758, 7.27202221, 0.99806762, 0.99897996, 0.49315698],\
+-[	-6.27265498, -0.00063234, 0.00038750, 7.27202264, 0.99806801, 0.99898016, 0.49315705],\
+-[	-6.27265529, -0.00063221, 0.00038742, 7.27202308, 0.99806841, 0.99898037, 0.49315710],\
+-[	-6.27265560, -0.00063208, 0.00038734, 7.27202352, 0.99806880, 0.99898058, 0.49315714],\
+-[	-6.27265591, -0.00063195, 0.00038726, 7.27202396, 0.99806920, 0.99898079, 0.49315716],\
+-[	-6.27265622, -0.00063182, 0.00038718, 7.27202440, 0.99806959, 0.99898100, 0.49315722],\
+-[	-6.27265653, -0.00063169, 0.00038710, 7.27202483, 0.99806999, 0.99898121, 0.49315726],\
+-[	-6.27265684, -0.00063157, 0.00038702, 7.27202527, 0.99807038, 0.99898141, 0.49315731],\
+-[	-6.27265714, -0.00063144, 0.00038694, 7.27202571, 0.99807077, 0.99898162, 0.49315737],\
+-[	-6.27265745, -0.00063131, 0.00038686, 7.27202614, 0.99807117, 0.99898183, 0.49315740],\
+-[	-6.27265776, -0.00063118, 0.00038678, 7.27202658, 0.99807156, 0.99898204, 0.49315744],\
+-[	-6.27265807, -0.00063105, 0.00038671, 7.27202702, 0.99807195, 0.99898224, 0.49315747],\
+-[	-6.27265838, -0.00063092, 0.00038663, 7.27202745, 0.99807235, 0.99898245, 0.49315751],\
+-[	-6.27265868, -0.00063079, 0.00038655, 7.27202789, 0.99807274, 0.99898266, 0.49315758],\
+-[	-6.27265899, -0.00063066, 0.00038647, 7.27202833, 0.99807313, 0.99898287, 0.49315760],\
+-[	-6.27265930, -0.00063054, 0.00038639, 7.27202876, 0.99807353, 0.99898307, 0.49315770],\
+-[	-6.27265961, -0.00063041, 0.00038631, 7.27202920, 0.99807392, 0.99898328, 0.49315771],\
+-[	-6.27265991, -0.00063028, 0.00038623, 7.27202963, 0.99807431, 0.99898349, 0.49315780],\
+-[	-6.27266022, -0.00063015, 0.00038615, 7.27203007, 0.99807470, 0.99898369, 0.49315780],\
+-[	-6.27266053, -0.00063002, 0.00038608, 7.27203051, 0.99807510, 0.99898390, 0.49315786],\
+-[	-6.27266083, -0.00062989, 0.00038600, 7.27203094, 0.99807549, 0.99898411, 0.49315792],\
+-[	-6.27266114, -0.00062977, 0.00038592, 7.27203138, 0.99807588, 0.99898432, 0.49315794],\
+-[	-6.27266145, -0.00062964, 0.00038584, 7.27203181, 0.99807627, 0.99898452, 0.49315802],\
+-[	-6.27266175, -0.00062951, 0.00038576, 7.27203224, 0.99807666, 0.99898473, 0.49315805],\
+-[	-6.27266206, -0.00062938, 0.00038568, 7.27203268, 0.99807705, 0.99898493, 0.49315808],\
+-[	-6.27266237, -0.00062925, 0.00038560, 7.27203311, 0.99807744, 0.99898514, 0.49315812],\
+-[	-6.27266267, -0.00062913, 0.00038553, 7.27203355, 0.99807784, 0.99898535, 0.49315818],\
+-[	-6.27266298, -0.00062900, 0.00038545, 7.27203398, 0.99807823, 0.99898555, 0.49315821],\
+-[	-6.27266329, -0.00062887, 0.00038537, 7.27203441, 0.99807862, 0.99898576, 0.49315828],\
+-[	-6.27266359, -0.00062874, 0.00038529, 7.27203485, 0.99807901, 0.99898597, 0.49315830],\
+-[	-6.27266390, -0.00062862, 0.00038521, 7.27203528, 0.99807940, 0.99898617, 0.49315836],\
+-[	-6.27266420, -0.00062849, 0.00038513, 7.27203571, 0.99807979, 0.99898638, 0.49315841],\
+-[	-6.27266451, -0.00062836, 0.00038506, 7.27203615, 0.99808018, 0.99898658, 0.49315847],\
+-[	-6.27266481, -0.00062823, 0.00038498, 7.27203658, 0.99808057, 0.99898679, 0.49315850],\
+-[	-6.27266512, -0.00062811, 0.00038490, 7.27203701, 0.99808096, 0.99898700, 0.49315856],\
+-[	-6.27266542, -0.00062798, 0.00038482, 7.27203744, 0.99808135, 0.99898720, 0.49315859],\
+-[	-6.27266573, -0.00062785, 0.00038474, 7.27203788, 0.99808174, 0.99898741, 0.49315862],\
+-[	-6.27266603, -0.00062772, 0.00038467, 7.27203831, 0.99808213, 0.99898761, 0.49315867],\
+-[	-6.27266634, -0.00062760, 0.00038459, 7.27203874, 0.99808251, 0.99898782, 0.49315875],\
+-[	-6.27266664, -0.00062747, 0.00038451, 7.27203917, 0.99808290, 0.99898802, 0.49315880],\
+-[	-6.27266695, -0.00062734, 0.00038443, 7.27203960, 0.99808329, 0.99898823, 0.49315883],\
+-[	-6.27266725, -0.00062721, 0.00038435, 7.27204004, 0.99808368, 0.99898843, 0.49315887],\
+-[	-6.27266755, -0.00062709, 0.00038428, 7.27204047, 0.99808407, 0.99898864, 0.49315892],\
+-[	-6.27266786, -0.00062696, 0.00038420, 7.27204090, 0.99808446, 0.99898884, 0.49315895],\
+-[	-6.27266816, -0.00062683, 0.00038412, 7.27204133, 0.99808485, 0.99898905, 0.49315899],\
+-[	-6.27266847, -0.00062671, 0.00038404, 7.27204176, 0.99808523, 0.99898925, 0.49315906],\
+-[	-6.27266877, -0.00062658, 0.00038396, 7.27204219, 0.99808562, 0.99898946, 0.49315910],\
+-[	-6.27266907, -0.00062645, 0.00038389, 7.27204262, 0.99808601, 0.99898966, 0.49315911],\
+-[	-6.27266938, -0.00062633, 0.00038381, 7.27204305, 0.99808640, 0.99898987, 0.49315917],\
+-[	-6.27266968, -0.00062620, 0.00038373, 7.27204348, 0.99808678, 0.99899007, 0.49315922],\
+-[	-6.27266998, -0.00062607, 0.00038365, 7.27204391, 0.99808717, 0.99899027, 0.49315926],\
+-[	-6.27267028, -0.00062595, 0.00038358, 7.27204434, 0.99808756, 0.99899048, 0.49315930],\
+-[	-6.27267059, -0.00062582, 0.00038350, 7.27204477, 0.99808794, 0.99899068, 0.49315934],\
+-[	-6.27267089, -0.00062569, 0.00038342, 7.27204520, 0.99808833, 0.99899089, 0.49315940],\
+-[	-6.27267119, -0.00062557, 0.00038334, 7.27204563, 0.99808872, 0.99899109, 0.49315945],\
+-[	-6.27267150, -0.00062544, 0.00038327, 7.27204606, 0.99808910, 0.99899129, 0.49315950],\
+-[	-6.27267180, -0.00062531, 0.00038319, 7.27204648, 0.99808949, 0.99899150, 0.49315953],\
+-[	-6.27267210, -0.00062519, 0.00038311, 7.27204691, 0.99808988, 0.99899170, 0.49315956],\
+-[	-6.27267240, -0.00062506, 0.00038303, 7.27204734, 0.99809026, 0.99899191, 0.49315961],\
+-[	-6.27267270, -0.00062494, 0.00038296, 7.27204777, 0.99809065, 0.99899211, 0.49315968],\
+-[	-6.27267301, -0.00062481, 0.00038288, 7.27204820, 0.99809103, 0.99899231, 0.49315973],\
+-[	-6.27267331, -0.00062468, 0.00038280, 7.27204863, 0.99809142, 0.99899252, 0.49315977],\
+-[	-6.27267361, -0.00062456, 0.00038272, 7.27204905, 0.99809180, 0.99899272, 0.49315980],\
+-[	-6.27267391, -0.00062443, 0.00038265, 7.27204948, 0.99809219, 0.99899292, 0.49315984],\
+-[	-6.27267421, -0.00062431, 0.00038257, 7.27204991, 0.99809257, 0.99899313, 0.49315989],\
+-[	-6.27267451, -0.00062418, 0.00038249, 7.27205033, 0.99809296, 0.99899333, 0.49315993],\
+-[	-6.27267481, -0.00062405, 0.00038241, 7.27205076, 0.99809334, 0.99899353, 0.49315999],\
+-[	-6.27267512, -0.00062393, 0.00038234, 7.27205119, 0.99809373, 0.99899373, 0.49316004],\
+-[	-6.27267542, -0.00062380, 0.00038226, 7.27205162, 0.99809411, 0.99899394, 0.49316007],\
+-[	-6.27267572, -0.00062368, 0.00038218, 7.27205204, 0.99809450, 0.99899414, 0.49316011],\
+-[	-6.27267602, -0.00062355, 0.00038211, 7.27205247, 0.99809488, 0.99899434, 0.49316016],\
+-[	-6.27267632, -0.00062342, 0.00038203, 7.27205289, 0.99809527, 0.99899455, 0.49316020],\
+-[	-6.27267662, -0.00062330, 0.00038195, 7.27205332, 0.99809565, 0.99899475, 0.49316023],\
+-[	-6.27267692, -0.00062317, 0.00038188, 7.27205375, 0.99809603, 0.99899495, 0.49316033],\
+-[	-6.27267722, -0.00062305, 0.00038180, 7.27205417, 0.99809642, 0.99899515, 0.49316032],\
+-[	-6.27267752, -0.00062292, 0.00038172, 7.27205460, 0.99809680, 0.99899536, 0.49316037],\
+-[	-6.27267782, -0.00062280, 0.00038164, 7.27205502, 0.99809718, 0.99899556, 0.49316043],\
+-[	-6.27267812, -0.00062267, 0.00038157, 7.27205545, 0.99809757, 0.99899576, 0.49316049],\
+-[	-6.27267842, -0.00062255, 0.00038149, 7.27205587, 0.99809795, 0.99899596, 0.49316053],\
+-[	-6.27267872, -0.00062242, 0.00038141, 7.27205630, 0.99809833, 0.99899616, 0.49316060],\
+-[	-6.27267902, -0.00062230, 0.00038134, 7.27205672, 0.99809871, 0.99899637, 0.49316061],\
+-[	-6.27267932, -0.00062217, 0.00038126, 7.27205715, 0.99809910, 0.99899657, 0.49316068],\
+-[	-6.27267962, -0.00062205, 0.00038118, 7.27205757, 0.99809948, 0.99899677, 0.49316072],\
+-[	-6.27267992, -0.00062192, 0.00038111, 7.27205799, 0.99809986, 0.99899697, 0.49316074],\
+-[	-6.27268021, -0.00062180, 0.00038103, 7.27205842, 0.99810024, 0.99899717, 0.49316079],\
+-[	-6.27268051, -0.00062167, 0.00038095, 7.27205884, 0.99810062, 0.99899737, 0.49316083],\
+-[	-6.27268081, -0.00062155, 0.00038088, 7.27205927, 0.99810100, 0.99899757, 0.49316088],\
+-[	-6.27268111, -0.00062142, 0.00038080, 7.27205969, 0.99810139, 0.99899778, 0.49316090],\
+-[	-6.27268141, -0.00062130, 0.00038072, 7.27206011, 0.99810177, 0.99899798, 0.49316099],\
+-[	-6.27268171, -0.00062117, 0.00038065, 7.27206053, 0.99810215, 0.99899818, 0.49316102],\
+-[	-6.27268201, -0.00062105, 0.00038057, 7.27206096, 0.99810253, 0.99899838, 0.49316107],\
+-[	-6.27268230, -0.00062092, 0.00038050, 7.27206138, 0.99810291, 0.99899858, 0.49316107],\
+-[	-6.27268260, -0.00062080, 0.00038042, 7.27206180, 0.99810329, 0.99899878, 0.49316112],\
+-[	-6.27268290, -0.00062067, 0.00038034, 7.27206223, 0.99810367, 0.99899898, 0.49316121],\
+-[	-6.27268320, -0.00062055, 0.00038027, 7.27206265, 0.99810405, 0.99899918, 0.49316122],\
+-[	-6.27268350, -0.00062043, 0.00038019, 7.27206307, 0.99810443, 0.99899938, 0.49316127],\
+-[	-6.27268379, -0.00062030, 0.00038011, 7.27206349, 0.99810481, 0.99899958, 0.49316133],\
+-[	-6.27268409, -0.00062018, 0.00038004, 7.27206391, 0.99810519, 0.99899978, 0.49316137],\
+-[	-6.27268439, -0.00062005, 0.00037996, 7.27206433, 0.99810557, 0.99899999, 0.49316141],\
+-[	-6.27268468, -0.00061993, 0.00037989, 7.27206476, 0.99810595, 0.99900019, 0.49316145],\
+-[	-6.27268498, -0.00061980, 0.00037981, 7.27206518, 0.99810633, 0.99900039, 0.49316150],\
+-[	-6.27268528, -0.00061968, 0.00037973, 7.27206560, 0.99810671, 0.99900059, 0.49316152],\
+-[	-6.27268558, -0.00061956, 0.00037966, 7.27206602, 0.99810709, 0.99900079, 0.49316158],\
+-[	-6.27268587, -0.00061943, 0.00037958, 7.27206644, 0.99810747, 0.99900099, 0.49316160],\
+-[	-6.27268617, -0.00061931, 0.00037951, 7.27206686, 0.99810785, 0.99900119, 0.49316174],\
+-[	-6.27268647, -0.00061919, 0.00037943, 7.27206728, 0.99810823, 0.99900139, 0.49316174],\
+-[	-6.27268676, -0.00061906, 0.00037935, 7.27206770, 0.99810860, 0.99900159, 0.49316173],\
+-[	-6.27268706, -0.00061894, 0.00037928, 7.27206812, 0.99810898, 0.99900179, 0.49316182],\
+-[	-6.27268735, -0.00061881, 0.00037920, 7.27206854, 0.99810936, 0.99900198, 0.49316185],\
+-[	-6.27268765, -0.00061869, 0.00037913, 7.27206896, 0.99810974, 0.99900218, 0.49316190],\
+-[	-6.27268795, -0.00061857, 0.00037905, 7.27206938, 0.99811012, 0.99900238, 0.49316194],\
+-[	-6.27268824, -0.00061844, 0.00037897, 7.27206980, 0.99811049, 0.99900258, 0.49316199],\
+-[	-6.27268854, -0.00061832, 0.00037890, 7.27207022, 0.99811087, 0.99900278, 0.49316201],\
+-[	-6.27268883, -0.00061820, 0.00037882, 7.27207064, 0.99811125, 0.99900298, 0.49316207],\
+-[	-6.27268913, -0.00061807, 0.00037875, 7.27207106, 0.99811163, 0.99900318, 0.49316215],\
+-[	-6.27268942, -0.00061795, 0.00037867, 7.27207147, 0.99811200, 0.99900338, 0.49316215],\
+-[	-6.27268972, -0.00061783, 0.00037860, 7.27207189, 0.99811238, 0.99900358, 0.49316222],\
+-[	-6.27269001, -0.00061770, 0.00037852, 7.27207231, 0.99811276, 0.99900378, 0.49316225],\
+-[	-6.27269031, -0.00061758, 0.00037844, 7.27207273, 0.99811313, 0.99900398, 0.49316226],\
+-[	-6.27269060, -0.00061746, 0.00037837, 7.27207315, 0.99811351, 0.99900418, 0.49316232],\
+-[	-6.27269090, -0.00061733, 0.00037829, 7.27207356, 0.99811389, 0.99900437, 0.49316241],\
+-[	-6.27269119, -0.00061721, 0.00037822, 7.27207398, 0.99811426, 0.99900457, 0.49316240],\
+-[	-6.27269149, -0.00061709, 0.00037814, 7.27207440, 0.99811464, 0.99900477, 0.49316244],\
+-[	-6.27269178, -0.00061696, 0.00037807, 7.27207482, 0.99811502, 0.99900497, 0.49316250],\
+-[	-6.27269208, -0.00061684, 0.00037799, 7.27207523, 0.99811539, 0.99900517, 0.49316255],\
+-[	-6.27269237, -0.00061672, 0.00037792, 7.27207565, 0.99811577, 0.99900537, 0.49316260],\
+-[	-6.27269266, -0.00061660, 0.00037784, 7.27207607, 0.99811614, 0.99900556, 0.49316268],\
+-[	-6.27269296, -0.00061647, 0.00037777, 7.27207648, 0.99811652, 0.99900576, 0.49316264],\
+-[	-6.27269325, -0.00061635, 0.00037769, 7.27207690, 0.99811689, 0.99900596, 0.49316274],\
+-[	-6.27269354, -0.00061623, 0.00037762, 7.27207732, 0.99811727, 0.99900616, 0.49316275],\
+-[	-6.27269384, -0.00061610, 0.00037754, 7.27207773, 0.99811764, 0.99900636, 0.49316280],\
+-[	-6.27269413, -0.00061598, 0.00037746, 7.27207815, 0.99811802, 0.99900655, 0.49316280],\
+-[	-6.27269442, -0.00061586, 0.00037739, 7.27207857, 0.99811839, 0.99900675, 0.49316288],\
+-[	-6.27269472, -0.00061574, 0.00037731, 7.27207898, 0.99811877, 0.99900695, 0.49316293],\
+-[	-6.27269501, -0.00061561, 0.00037724, 7.27207940, 0.99811914, 0.99900715, 0.49316299],\
+-[	-6.27269530, -0.00061549, 0.00037716, 7.27207981, 0.99811952, 0.99900734, 0.49316305],\
+-[	-6.27269560, -0.00061537, 0.00037709, 7.27208023, 0.99811989, 0.99900754, 0.49316305],\
+-[	-6.27269589, -0.00061525, 0.00037701, 7.27208064, 0.99812026, 0.99900774, 0.49316309],\
+-[	-6.27269618, -0.00061512, 0.00037694, 7.27208106, 0.99812064, 0.99900794, 0.49316319],\
+-[	-6.27269647, -0.00061500, 0.00037686, 7.27208147, 0.99812101, 0.99900813, 0.49316320],\
+-[	-6.27269677, -0.00061488, 0.00037679, 7.27208189, 0.99812138, 0.99900833, 0.49316326],\
+-[	-6.27269706, -0.00061476, 0.00037671, 7.27208230, 0.99812176, 0.99900853, 0.49316331],\
+-[	-6.27269735, -0.00061464, 0.00037664, 7.27208271, 0.99812213, 0.99900872, 0.49316334],\
+-[	-6.27269764, -0.00061451, 0.00037656, 7.27208313, 0.99812250, 0.99900892, 0.49316337],\
+-[	-6.27269793, -0.00061439, 0.00037649, 7.27208354, 0.99812288, 0.99900912, 0.49316343],\
+-[	-6.27269823, -0.00061427, 0.00037642, 7.27208396, 0.99812325, 0.99900931, 0.49316350],\
+-[	-6.27269852, -0.00061415, 0.00037634, 7.27208437, 0.99812362, 0.99900951, 0.49316348],\
+-[	-6.27269881, -0.00061403, 0.00037627, 7.27208478, 0.99812399, 0.99900971, 0.49316356],\
+-[	-6.27269910, -0.00061390, 0.00037619, 7.27208520, 0.99812437, 0.99900990, 0.49316359],\
+-[	-6.27269939, -0.00061378, 0.00037612, 7.27208561, 0.99812474, 0.99901010, 0.49316364],\
+-[	-6.27269968, -0.00061366, 0.00037604, 7.27208602, 0.99812511, 0.99901030, 0.49316368],\
+-[	-6.27269997, -0.00061354, 0.00037597, 7.27208643, 0.99812548, 0.99901049, 0.49316372],\
+-[	-6.27270027, -0.00061342, 0.00037589, 7.27208685, 0.99812585, 0.99901069, 0.49316379],\
+-[	-6.27270056, -0.00061330, 0.00037582, 7.27208726, 0.99812623, 0.99901089, 0.49316380],\
+-[	-6.27270085, -0.00061318, 0.00037574, 7.27208767, 0.99812660, 0.99901108, 0.49316383],\
+-[	-6.27270114, -0.00061305, 0.00037567, 7.27208808, 0.99812697, 0.99901128, 0.49316392],\
+-[	-6.27270143, -0.00061293, 0.00037559, 7.27208850, 0.99812734, 0.99901147, 0.49316393],\
+-[	-6.27270172, -0.00061281, 0.00037552, 7.27208891, 0.99812771, 0.99901167, 0.49316398],\
+-[	-6.27270201, -0.00061269, 0.00037545, 7.27208932, 0.99812808, 0.99901186, 0.49316403],\
+-[	-6.27270230, -0.00061257, 0.00037537, 7.27208973, 0.99812845, 0.99901206, 0.49316407],\
+-[	-6.27270259, -0.00061245, 0.00037530, 7.27209014, 0.99812882, 0.99901226, 0.49316411],\
+-[	-6.27270288, -0.00061233, 0.00037522, 7.27209055, 0.99812919, 0.99901245, 0.49316419],\
+-[	-6.27270317, -0.00061221, 0.00037515, 7.27209096, 0.99812956, 0.99901265, 0.49316420],\
+-[	-6.27270346, -0.00061208, 0.00037507, 7.27209137, 0.99812993, 0.99901284, 0.49316424],\
+-[	-6.27270375, -0.00061196, 0.00037500, 7.27209178, 0.99813030, 0.99901304, 0.49316431],\
+-[	-6.27270404, -0.00061184, 0.00037493, 7.27209219, 0.99813067, 0.99901323, 0.49316432],\
+-[	-6.27270433, -0.00061172, 0.00037485, 7.27209260, 0.99813104, 0.99901343, 0.49316435],\
+-[	-6.27270462, -0.00061160, 0.00037478, 7.27209301, 0.99813141, 0.99901362, 0.49316437],\
+-[	-6.27270490, -0.00061148, 0.00037470, 7.27209342, 0.99813178, 0.99901382, 0.49316447],\
+-[	-6.27270519, -0.00061136, 0.00037463, 7.27209383, 0.99813215, 0.99901401, 0.49316452],\
+-[	-6.27270548, -0.00061124, 0.00037456, 7.27209424, 0.99813252, 0.99901421, 0.49316453],\
+-[	-6.27270577, -0.00061112, 0.00037448, 7.27209465, 0.99813289, 0.99901440, 0.49316460],\
+-[	-6.27270606, -0.00061100, 0.00037441, 7.27209506, 0.99813326, 0.99901460, 0.49316462],\
+-[	-6.27270635, -0.00061088, 0.00037433, 7.27209547, 0.99813362, 0.99901479, 0.49316468],\
+-[	-6.27270664, -0.00061076, 0.00037426, 7.27209588, 0.99813399, 0.99901498, 0.49316472],\
+-[	-6.27270692, -0.00061064, 0.00037419, 7.27209629, 0.99813436, 0.99901518, 0.49316476],\
+-[	-6.27270721, -0.00061051, 0.00037411, 7.27209670, 0.99813473, 0.99901537, 0.49316483],\
+-[	-6.27270750, -0.00061039, 0.00037404, 7.27209711, 0.99813510, 0.99901557, 0.49316482],\
+-[	-6.27270779, -0.00061027, 0.00037396, 7.27209751, 0.99813547, 0.99901576, 0.49316493],\
+-[	-6.27270808, -0.00061015, 0.00037389, 7.27209792, 0.99813583, 0.99901596, 0.49316495],\
+-[	-6.27270836, -0.00061003, 0.00037382, 7.27209833, 0.99813620, 0.99901615, 0.49316498],\
+-[	-6.27270865, -0.00060991, 0.00037374, 7.27209874, 0.99813657, 0.99901634, 0.49316501],\
+-[	-6.27270894, -0.00060979, 0.00037367, 7.27209915, 0.99813694, 0.99901654, 0.49316504],\
+-[	-6.27270923, -0.00060967, 0.00037360, 7.27209955, 0.99813730, 0.99901673, 0.49316509],\
+-[	-6.27270951, -0.00060955, 0.00037352, 7.27209996, 0.99813767, 0.99901692, 0.49316516],\
+-[	-6.27270980, -0.00060943, 0.00037345, 7.27210037, 0.99813804, 0.99901712, 0.49316521],\
+-[	-6.27271009, -0.00060931, 0.00037338, 7.27210078, 0.99813840, 0.99901731, 0.49316522],\
+-[	-6.27271038, -0.00060919, 0.00037330, 7.27210118, 0.99813877, 0.99901751, 0.49316529],\
+-[	-6.27271066, -0.00060907, 0.00037323, 7.27210159, 0.99813914, 0.99901770, 0.49316533],\
+-[	-6.27271095, -0.00060895, 0.00037315, 7.27210200, 0.99813950, 0.99901789, 0.49316538],\
+-[	-6.27271124, -0.00060883, 0.00037308, 7.27210240, 0.99813987, 0.99901808, 0.49316545],\
+-[	-6.27271152, -0.00060871, 0.00037301, 7.27210281, 0.99814023, 0.99901828, 0.49316550],\
+-[	-6.27271181, -0.00060859, 0.00037293, 7.27210321, 0.99814060, 0.99901847, 0.49316550],\
+-[	-6.27271209, -0.00060847, 0.00037286, 7.27210362, 0.99814097, 0.99901866, 0.49316554],\
+-[	-6.27271238, -0.00060836, 0.00037279, 7.27210403, 0.99814133, 0.99901886, 0.49316555],\
+-[	-6.27271267, -0.00060824, 0.00037271, 7.27210443, 0.99814170, 0.99901905, 0.49316564],\
+-[	-6.27271295, -0.00060812, 0.00037264, 7.27210484, 0.99814206, 0.99901924, 0.49316569],\
+-[	-6.27271324, -0.00060800, 0.00037257, 7.27210524, 0.99814243, 0.99901944, 0.49316569],\
+-[	-6.27271352, -0.00060788, 0.00037249, 7.27210565, 0.99814279, 0.99901963, 0.49316572],\
+-[	-6.27271381, -0.00060776, 0.00037242, 7.27210605, 0.99814316, 0.99901982, 0.49316582],\
+-[	-6.27271410, -0.00060764, 0.00037235, 7.27210646, 0.99814352, 0.99902001, 0.49316585],\
+-[	-6.27271438, -0.00060752, 0.00037228, 7.27210686, 0.99814389, 0.99902021, 0.49316587],\
+-[	-6.27271467, -0.00060740, 0.00037220, 7.27210727, 0.99814425, 0.99902040, 0.49316592],\
+-[	-6.27271495, -0.00060728, 0.00037213, 7.27210767, 0.99814461, 0.99902059, 0.49316598],\
+-[	-6.27271524, -0.00060716, 0.00037206, 7.27210807, 0.99814498, 0.99902078, 0.49316599],\
+-[	-6.27271552, -0.00060704, 0.00037198, 7.27210848, 0.99814534, 0.99902097, 0.49316604],\
+-[	-6.27271581, -0.00060692, 0.00037191, 7.27210888, 0.99814571, 0.99902117, 0.49316608],\
+-[	-6.27271609, -0.00060680, 0.00037184, 7.27210929, 0.99814607, 0.99902136, 0.49316611],\
+-[	-6.27271637, -0.00060669, 0.00037176, 7.27210969, 0.99814643, 0.99902155, 0.49316616],\
+-[	-6.27271666, -0.00060657, 0.00037169, 7.27211009, 0.99814680, 0.99902174, 0.49316618],\
+-[	-6.27271694, -0.00060645, 0.00037162, 7.27211050, 0.99814716, 0.99902193, 0.49316624],\
+-[	-6.27271723, -0.00060633, 0.00037155, 7.27211090, 0.99814752, 0.99902213, 0.49316630],\
+-[	-6.27271751, -0.00060621, 0.00037147, 7.27211130, 0.99814789, 0.99902232, 0.49316633],\
+-[	-6.27271780, -0.00060609, 0.00037140, 7.27211170, 0.99814825, 0.99902251, 0.49316640],\
+-[	-6.27271808, -0.00060597, 0.00037133, 7.27211211, 0.99814861, 0.99902270, 0.49316642],\
+-[	-6.27271836, -0.00060585, 0.00037125, 7.27211251, 0.99814897, 0.99902289, 0.49316649],\
+-[	-6.27271865, -0.00060574, 0.00037118, 7.27211291, 0.99814934, 0.99902308, 0.49316653],\
+-[	-6.27271893, -0.00060562, 0.00037111, 7.27211331, 0.99814970, 0.99902327, 0.49316657],\
+-[	-6.27271921, -0.00060550, 0.00037104, 7.27211371, 0.99815006, 0.99902346, 0.49316659],\
+-[	-6.27271950, -0.00060538, 0.00037096, 7.27211412, 0.99815042, 0.99902366, 0.49316664],\
+-[	-6.27271978, -0.00060526, 0.00037089, 7.27211452, 0.99815079, 0.99902385, 0.49316670],\
+-[	-6.27272006, -0.00060514, 0.00037082, 7.27211492, 0.99815115, 0.99902404, 0.49316670],\
+-[	-6.27272035, -0.00060503, 0.00037075, 7.27211532, 0.99815151, 0.99902423, 0.49316673],\
+-[	-6.27272063, -0.00060491, 0.00037067, 7.27211572, 0.99815187, 0.99902442, 0.49316679],\
+-[	-6.27272091, -0.00060479, 0.00037060, 7.27211612, 0.99815223, 0.99902461, 0.49316685],\
+-[	-6.27272120, -0.00060467, 0.00037053, 7.27211652, 0.99815259, 0.99902480, 0.49316688],\
+-[	-6.27272148, -0.00060455, 0.00037046, 7.27211692, 0.99815295, 0.99902499, 0.49316692],\
+-[	-6.27272176, -0.00060444, 0.00037038, 7.27211732, 0.99815331, 0.99902518, 0.49316699],\
+-[	-6.27272204, -0.00060432, 0.00037031, 7.27211773, 0.99815367, 0.99902537, 0.49316698],\
+-[	-6.27272232, -0.00060420, 0.00037024, 7.27211813, 0.99815404, 0.99902556, 0.49316707],\
+-[	-6.27272261, -0.00060408, 0.00037017, 7.27211853, 0.99815440, 0.99902575, 0.49316710],\
+-[	-6.27272289, -0.00060396, 0.00037009, 7.27211893, 0.99815476, 0.99902594, 0.49316715],\
+-[	-6.27272317, -0.00060385, 0.00037002, 7.27211933, 0.99815512, 0.99902613, 0.49316718],\
+-[	-6.27272345, -0.00060373, 0.00036995, 7.27211972, 0.99815548, 0.99902632, 0.49316722],\
+-[	-6.27272373, -0.00060361, 0.00036988, 7.27212012, 0.99815584, 0.99902651, 0.49316726],\
+-[	-6.27272402, -0.00060349, 0.00036981, 7.27212052, 0.99815620, 0.99902670, 0.49316729],\
+-[	-6.27272430, -0.00060337, 0.00036973, 7.27212092, 0.99815656, 0.99902689, 0.49316735],\
+-[	-6.27272458, -0.00060326, 0.00036966, 7.27212132, 0.99815691, 0.99902708, 0.49316741],\
+-[	-6.27272486, -0.00060314, 0.00036959, 7.27212172, 0.99815727, 0.99902727, 0.49316741],\
+-[	-6.27272514, -0.00060302, 0.00036952, 7.27212212, 0.99815763, 0.99902746, 0.49316748],\
+-[	-6.27272542, -0.00060290, 0.00036945, 7.27212252, 0.99815799, 0.99902765, 0.49316753],\
+-[	-6.27272570, -0.00060279, 0.00036937, 7.27212292, 0.99815835, 0.99902784, 0.49316756],\
+-[	-6.27272598, -0.00060267, 0.00036930, 7.27212331, 0.99815871, 0.99902803, 0.49316761],\
+-[	-6.27272626, -0.00060255, 0.00036923, 7.27212371, 0.99815907, 0.99902822, 0.49316767],\
+-[	-6.27272654, -0.00060244, 0.00036916, 7.27212411, 0.99815943, 0.99902841, 0.49316768],\
+-[	-6.27272683, -0.00060232, 0.00036909, 7.27212451, 0.99815978, 0.99902860, 0.49316772],\
+-[	-6.27272711, -0.00060220, 0.00036901, 7.27212490, 0.99816014, 0.99902879, 0.49316778],\
+-[	-6.27272739, -0.00060208, 0.00036894, 7.27212530, 0.99816050, 0.99902897, 0.49316778],\
+-[	-6.27272767, -0.00060197, 0.00036887, 7.27212570, 0.99816086, 0.99902916, 0.49316783],\
+-[	-6.27272795, -0.00060185, 0.00036880, 7.27212610, 0.99816122, 0.99902935, 0.49316788],\
+-[	-6.27272823, -0.00060173, 0.00036873, 7.27212649, 0.99816157, 0.99902954, 0.49316787],\
+-[	-6.27272851, -0.00060162, 0.00036865, 7.27212689, 0.99816193, 0.99902973, 0.49316799],\
+-[	-6.27272879, -0.00060150, 0.00036858, 7.27212729, 0.99816229, 0.99902992, 0.49316801],\
+-[	-6.27272907, -0.00060138, 0.00036851, 7.27212768, 0.99816265, 0.99903011, 0.49316805],\
+-[	-6.27272934, -0.00060127, 0.00036844, 7.27212808, 0.99816300, 0.99903029, 0.49316810],\
+-[	-6.27272962, -0.00060115, 0.00036837, 7.27212848, 0.99816336, 0.99903048, 0.49316812],\
+-[	-6.27272990, -0.00060103, 0.00036830, 7.27212887, 0.99816372, 0.99903067, 0.49316815],\
+-[	-6.27273018, -0.00060092, 0.00036823, 7.27212927, 0.99816407, 0.99903086, 0.49316824],\
+-[	-6.27273046, -0.00060080, 0.00036815, 7.27212966, 0.99816443, 0.99903105, 0.49316825],\
+-[	-6.27273074, -0.00060068, 0.00036808, 7.27213006, 0.99816479, 0.99903124, 0.49316832],\
+-[	-6.27273102, -0.00060057, 0.00036801, 7.27213045, 0.99816514, 0.99903142, 0.49316835],\
+-[	-6.27273130, -0.00060045, 0.00036794, 7.27213085, 0.99816550, 0.99903161, 0.49316839],\
+-[	-6.27273158, -0.00060033, 0.00036787, 7.27213124, 0.99816585, 0.99903180, 0.49316844],\
+-[	-6.27273186, -0.00060022, 0.00036780, 7.27213164, 0.99816621, 0.99903199, 0.49316848],\
+-[	-6.27273213, -0.00060010, 0.00036773, 7.27213203, 0.99816657, 0.99903218, 0.49316850],\
+-[	-6.27273241, -0.00059998, 0.00036765, 7.27213243, 0.99816692, 0.99903236, 0.49316856],\
+-[	-6.27273269, -0.00059987, 0.00036758, 7.27213282, 0.99816728, 0.99903255, 0.49316861],\
+-[	-6.27273297, -0.00059975, 0.00036751, 7.27213322, 0.99816763, 0.99903274, 0.49316864],\
+-[	-6.27273325, -0.00059963, 0.00036744, 7.27213361, 0.99816799, 0.99903293, 0.49316869],\
+-[	-6.27273352, -0.00059952, 0.00036737, 7.27213401, 0.99816834, 0.99903311, 0.49316872],\
+-[	-6.27273380, -0.00059940, 0.00036730, 7.27213440, 0.99816870, 0.99903330, 0.49316876],\
+-[	-6.27273408, -0.00059929, 0.00036723, 7.27213479, 0.99816905, 0.99903349, 0.49316877],\
+-[	-6.27273436, -0.00059917, 0.00036716, 7.27213519, 0.99816941, 0.99903367, 0.49316887],\
+-[	-6.27273463, -0.00059905, 0.00036708, 7.27213558, 0.99816976, 0.99903386, 0.49316888],\
+-[	-6.27273491, -0.00059894, 0.00036701, 7.27213597, 0.99817012, 0.99903405, 0.49316895],\
+-[	-6.27273519, -0.00059882, 0.00036694, 7.27213637, 0.99817047, 0.99903424, 0.49316897],\
+-[	-6.27273547, -0.00059871, 0.00036687, 7.27213676, 0.99817082, 0.99903442, 0.49316901],\
+-[	-6.27273574, -0.00059859, 0.00036680, 7.27213715, 0.99817118, 0.99903461, 0.49316906],\
+-[	-6.27273602, -0.00059848, 0.00036673, 7.27213754, 0.99817153, 0.99903480, 0.49316911],\
+-[	-6.27273630, -0.00059836, 0.00036666, 7.27213794, 0.99817189, 0.99903498, 0.49316913],\
+-[	-6.27273657, -0.00059824, 0.00036659, 7.27213833, 0.99817224, 0.99903517, 0.49316914],\
+-[	-6.27273685, -0.00059813, 0.00036652, 7.27213872, 0.99817259, 0.99903535, 0.49316924],\
+-[	-6.27273713, -0.00059801, 0.00036645, 7.27213911, 0.99817295, 0.99903554, 0.49316926],\
+-[	-6.27273740, -0.00059790, 0.00036637, 7.27213951, 0.99817330, 0.99903573, 0.49316930],\
+-[	-6.27273768, -0.00059778, 0.00036630, 7.27213990, 0.99817365, 0.99903591, 0.49316938],\
+-[	-6.27273796, -0.00059767, 0.00036623, 7.27214029, 0.99817400, 0.99903610, 0.49316938],\
+-[	-6.27273823, -0.00059755, 0.00036616, 7.27214068, 0.99817436, 0.99903629, 0.49316938],\
+-[	-6.27273851, -0.00059744, 0.00036609, 7.27214107, 0.99817471, 0.99903647, 0.49316946],\
+-[	-6.27273878, -0.00059732, 0.00036602, 7.27214146, 0.99817506, 0.99903666, 0.49316948],\
+-[	-6.27273906, -0.00059721, 0.00036595, 7.27214185, 0.99817541, 0.99903684, 0.49316954],\
+-[	-6.27273933, -0.00059709, 0.00036588, 7.27214224, 0.99817577, 0.99903703, 0.49316961],\
+-[	-6.27273961, -0.00059698, 0.00036581, 7.27214263, 0.99817612, 0.99903722, 0.49316964],\
+-[	-6.27273989, -0.00059686, 0.00036574, 7.27214303, 0.99817647, 0.99903740, 0.49316966],\
+-[	-6.27274016, -0.00059674, 0.00036567, 7.27214342, 0.99817682, 0.99903759, 0.49316973],\
+-[	-6.27274044, -0.00059663, 0.00036560, 7.27214381, 0.99817717, 0.99903777, 0.49316976],\
+-[	-6.27274071, -0.00059651, 0.00036553, 7.27214420, 0.99817752, 0.99903796, 0.49316978],\
+-[	-6.27274099, -0.00059640, 0.00036546, 7.27214459, 0.99817788, 0.99903814, 0.49316985],\
+-[	-6.27274126, -0.00059629, 0.00036539, 7.27214498, 0.99817823, 0.99903833, 0.49316985],\
+-[	-6.27274154, -0.00059617, 0.00036532, 7.27214537, 0.99817858, 0.99903851, 0.49316990],\
+-[	-6.27274181, -0.00059606, 0.00036525, 7.27214575, 0.99817893, 0.99903870, 0.49316996],\
+-[	-6.27274208, -0.00059594, 0.00036517, 7.27214614, 0.99817928, 0.99903888, 0.49317001],\
+-[	-6.27274236, -0.00059583, 0.00036510, 7.27214653, 0.99817963, 0.99903907, 0.49317000],\
+-[	-6.27274263, -0.00059571, 0.00036503, 7.27214692, 0.99817998, 0.99903925, 0.49317004],\
+-[	-6.27274291, -0.00059560, 0.00036496, 7.27214731, 0.99818033, 0.99903944, 0.49317008],\
+-[	-6.27274318, -0.00059548, 0.00036489, 7.27214770, 0.99818068, 0.99903962, 0.49317014],\
+-[	-6.27274346, -0.00059537, 0.00036482, 7.27214809, 0.99818103, 0.99903981, 0.49317022],\
+-[	-6.27274373, -0.00059525, 0.00036475, 7.27214848, 0.99818138, 0.99903999, 0.49317024],\
+-[	-6.27274400, -0.00059514, 0.00036468, 7.27214886, 0.99818173, 0.99904018, 0.49317029],\
+-[	-6.27274428, -0.00059502, 0.00036461, 7.27214925, 0.99818208, 0.99904036, 0.49317032],\
+-[	-6.27274455, -0.00059491, 0.00036454, 7.27214964, 0.99818243, 0.99904055, 0.49317037],\
+-[	-6.27274482, -0.00059480, 0.00036447, 7.27215003, 0.99818278, 0.99904073, 0.49317042],\
+-[	-6.27274510, -0.00059468, 0.00036440, 7.27215042, 0.99818313, 0.99904092, 0.49317048],\
+-[	-6.27274537, -0.00059457, 0.00036433, 7.27215080, 0.99818348, 0.99904110, 0.49317047],\
+-[	-6.27274564, -0.00059445, 0.00036426, 7.27215119, 0.99818383, 0.99904128, 0.49317056],\
+-[	-6.27274592, -0.00059434, 0.00036419, 7.27215158, 0.99818418, 0.99904147, 0.49317055],\
+-[	-6.27274619, -0.00059422, 0.00036412, 7.27215197, 0.99818452, 0.99904165, 0.49317062],\
+-[	-6.27274646, -0.00059411, 0.00036405, 7.27215235, 0.99818487, 0.99904184, 0.49317064],\
+-[	-6.27274674, -0.00059400, 0.00036398, 7.27215274, 0.99818522, 0.99904202, 0.49317066],\
+-[	-6.27274701, -0.00059388, 0.00036391, 7.27215313, 0.99818557, 0.99904220, 0.49317073],\
+-[	-6.27274728, -0.00059377, 0.00036384, 7.27215351, 0.99818592, 0.99904239, 0.49317076],\
+-[	-6.27274755, -0.00059365, 0.00036377, 7.27215390, 0.99818627, 0.99904257, 0.49317082],\
+-[	-6.27274783, -0.00059354, 0.00036370, 7.27215428, 0.99818661, 0.99904276, 0.49317086],\
+-[	-6.27274810, -0.00059343, 0.00036363, 7.27215467, 0.99818696, 0.99904294, 0.49317091],\
+-[	-6.27274837, -0.00059331, 0.00036356, 7.27215506, 0.99818731, 0.99904312, 0.49317096],\
+-[	-6.27274864, -0.00059320, 0.00036349, 7.27215544, 0.99818766, 0.99904331, 0.49317092],\
+-[	-6.27274891, -0.00059309, 0.00036342, 7.27215583, 0.99818800, 0.99904349, 0.49317097],\
+-[	-6.27274919, -0.00059297, 0.00036335, 7.27215621, 0.99818835, 0.99904367, 0.49317108],\
+-[	-6.27274946, -0.00059286, 0.00036329, 7.27215660, 0.99818870, 0.99904386, 0.49317108],\
+-[	-6.27274973, -0.00059275, 0.00036322, 7.27215698, 0.99818905, 0.99904404, 0.49317113],\
+-[	-6.27275000, -0.00059263, 0.00036315, 7.27215737, 0.99818939, 0.99904422, 0.49317119],\
+-[	-6.27275027, -0.00059252, 0.00036308, 7.27215775, 0.99818974, 0.99904440, 0.49317125],\
+-[	-6.27275054, -0.00059241, 0.00036301, 7.27215814, 0.99819009, 0.99904459, 0.49317124],\
+-[	-6.27275081, -0.00059229, 0.00036294, 7.27215852, 0.99819043, 0.99904477, 0.49317130],\
+-[	-6.27275109, -0.00059218, 0.00036287, 7.27215891, 0.99819078, 0.99904495, 0.49317131],\
+-[	-6.27275136, -0.00059207, 0.00036280, 7.27215929, 0.99819113, 0.99904514, 0.49317136],\
+-[	-6.27275163, -0.00059195, 0.00036273, 7.27215968, 0.99819147, 0.99904532, 0.49317137],\
+-[	-6.27275190, -0.00059184, 0.00036266, 7.27216006, 0.99819182, 0.99904550, 0.49317148],\
+-[	-6.27275217, -0.00059173, 0.00036259, 7.27216044, 0.99819216, 0.99904568, 0.49317152],\
+-[	-6.27275244, -0.00059161, 0.00036252, 7.27216083, 0.99819251, 0.99904587, 0.49317157],\
+-[	-6.27275271, -0.00059150, 0.00036245, 7.27216121, 0.99819285, 0.99904605, 0.49317157],\
+-[	-6.27275298, -0.00059139, 0.00036238, 7.27216159, 0.99819320, 0.99904623, 0.49317163],\
+-[	-6.27275325, -0.00059127, 0.00036231, 7.27216198, 0.99819355, 0.99904641, 0.49317168],\
+-[	-6.27275352, -0.00059116, 0.00036224, 7.27216236, 0.99819389, 0.99904660, 0.49317166],\
+-[	-6.27275379, -0.00059105, 0.00036217, 7.27216274, 0.99819424, 0.99904678, 0.49317177],\
+-[	-6.27275406, -0.00059094, 0.00036211, 7.27216313, 0.99819458, 0.99904696, 0.49317179],\
+-[	-6.27275433, -0.00059082, 0.00036204, 7.27216351, 0.99819493, 0.99904714, 0.49317185],\
+-[	-6.27275460, -0.00059071, 0.00036197, 7.27216389, 0.99819527, 0.99904732, 0.49317189],\
+-[	-6.27275487, -0.00059060, 0.00036190, 7.27216427, 0.99819561, 0.99904751, 0.49317188],\
+-[	-6.27275514, -0.00059048, 0.00036183, 7.27216466, 0.99819596, 0.99904769, 0.49317197],\
+-[	-6.27275541, -0.00059037, 0.00036176, 7.27216504, 0.99819630, 0.99904787, 0.49317199],\
+-[	-6.27275568, -0.00059026, 0.00036169, 7.27216542, 0.99819665, 0.99904805, 0.49317206],\
+-[	-6.27275595, -0.00059015, 0.00036162, 7.27216580, 0.99819699, 0.99904823, 0.49317206],\
+-[	-6.27275622, -0.00059003, 0.00036155, 7.27216618, 0.99819733, 0.99904841, 0.49317210],\
+-[	-6.27275649, -0.00058992, 0.00036148, 7.27216656, 0.99819768, 0.99904859, 0.49317215],\
+-[	-6.27275675, -0.00058981, 0.00036141, 7.27216695, 0.99819802, 0.99904878, 0.49317218],\
+-[	-6.27275702, -0.00058970, 0.00036135, 7.27216733, 0.99819837, 0.99904896, 0.49317220],\
+-[	-6.27275729, -0.00058958, 0.00036128, 7.27216771, 0.99819871, 0.99904914, 0.49317224],\
+-[	-6.27275756, -0.00058947, 0.00036121, 7.27216809, 0.99819905, 0.99904932, 0.49317231],\
+-[	-6.27275783, -0.00058936, 0.00036114, 7.27216847, 0.99819939, 0.99904950, 0.49317228],\
+-[	-6.27275810, -0.00058925, 0.00036107, 7.27216885, 0.99819974, 0.99904968, 0.49317238],\
+-[	-6.27275837, -0.00058914, 0.00036100, 7.27216923, 0.99820008, 0.99904986, 0.49317241],\
+-[	-6.27275863, -0.00058902, 0.00036093, 7.27216961, 0.99820042, 0.99905004, 0.49317245],\
+-[	-6.27275890, -0.00058891, 0.00036086, 7.27216999, 0.99820077, 0.99905022, 0.49317253],\
+-[	-6.27275917, -0.00058880, 0.00036080, 7.27217037, 0.99820111, 0.99905040, 0.49317256],\
+-[	-6.27275944, -0.00058869, 0.00036073, 7.27217075, 0.99820145, 0.99905059, 0.49317260],\
+-[	-6.27275971, -0.00058858, 0.00036066, 7.27217113, 0.99820179, 0.99905077, 0.49317263],\
+-[	-6.27275997, -0.00058846, 0.00036059, 7.27217151, 0.99820213, 0.99905095, 0.49317270],\
+-[	-6.27276024, -0.00058835, 0.00036052, 7.27217189, 0.99820248, 0.99905113, 0.49317272],\
+-[	-6.27276051, -0.00058824, 0.00036045, 7.27217227, 0.99820282, 0.99905131, 0.49317275],\
+-[	-6.27276078, -0.00058813, 0.00036038, 7.27217265, 0.99820316, 0.99905149, 0.49317277],\
+-[	-6.27276104, -0.00058802, 0.00036032, 7.27217303, 0.99820350, 0.99905167, 0.49317281],\
+-[	-6.27276131, -0.00058790, 0.00036025, 7.27217341, 0.99820384, 0.99905185, 0.49317287],\
+-[	-6.27276158, -0.00058779, 0.00036018, 7.27217378, 0.99820418, 0.99905203, 0.49317289],\
+-[	-6.27276184, -0.00058768, 0.00036011, 7.27217416, 0.99820453, 0.99905221, 0.49317299],\
+-[	-6.27276211, -0.00058757, 0.00036004, 7.27217454, 0.99820487, 0.99905239, 0.49317296],\
+-[	-6.27276238, -0.00058746, 0.00035997, 7.27217492, 0.99820521, 0.99905257, 0.49317302],\
+-[	-6.27276265, -0.00058735, 0.00035991, 7.27217530, 0.99820555, 0.99905275, 0.49317307],\
+-[	-6.27276291, -0.00058724, 0.00035984, 7.27217568, 0.99820589, 0.99905293, 0.49317310],\
+-[	-6.27276318, -0.00058712, 0.00035977, 7.27217605, 0.99820623, 0.99905311, 0.49317316],\
+-[	-6.27276344, -0.00058701, 0.00035970, 7.27217643, 0.99820657, 0.99905329, 0.49317319],\
+-[	-6.27276371, -0.00058690, 0.00035963, 7.27217681, 0.99820691, 0.99905347, 0.49317321],\
+-[	-6.27276398, -0.00058679, 0.00035956, 7.27217719, 0.99820725, 0.99905365, 0.49317328],\
+-[	-6.27276424, -0.00058668, 0.00035950, 7.27217756, 0.99820759, 0.99905383, 0.49317329],\
+-[	-6.27276451, -0.00058657, 0.00035943, 7.27217794, 0.99820793, 0.99905400, 0.49317335],\
+-[	-6.27276478, -0.00058646, 0.00035936, 7.27217832, 0.99820827, 0.99905418, 0.49317337],\
+-[	-6.27276504, -0.00058635, 0.00035929, 7.27217870, 0.99820861, 0.99905436, 0.49317339],\
+-[	-6.27276531, -0.00058623, 0.00035922, 7.27217907, 0.99820895, 0.99905454, 0.49317346],\
+-[	-6.27276557, -0.00058612, 0.00035916, 7.27217945, 0.99820929, 0.99905472, 0.49317350],\
+-[	-6.27276584, -0.00058601, 0.00035909, 7.27217982, 0.99820963, 0.99905490, 0.49317354],\
+-[	-6.27276610, -0.00058590, 0.00035902, 7.27218020, 0.99820997, 0.99905508, 0.49317358],\
+-[	-6.27276637, -0.00058579, 0.00035895, 7.27218058, 0.99821030, 0.99905526, 0.49317361],\
+-[	-6.27276663, -0.00058568, 0.00035888, 7.27218095, 0.99821064, 0.99905544, 0.49317361],\
+-[	-6.27276690, -0.00058557, 0.00035882, 7.27218133, 0.99821098, 0.99905562, 0.49317370],\
+-[	-6.27276716, -0.00058546, 0.00035875, 7.27218170, 0.99821132, 0.99905579, 0.49317372],\
+-[	-6.27276743, -0.00058535, 0.00035868, 7.27218208, 0.99821166, 0.99905597, 0.49317378],\
+-[	-6.27276769, -0.00058524, 0.00035861, 7.27218246, 0.99821200, 0.99905615, 0.49317376],\
+-[	-6.27276796, -0.00058513, 0.00035854, 7.27218283, 0.99821233, 0.99905633, 0.49317387],\
+-[	-6.27276822, -0.00058502, 0.00035848, 7.27218321, 0.99821267, 0.99905651, 0.49317387],\
+-[	-6.27276849, -0.00058491, 0.00035841, 7.27218358, 0.99821301, 0.99905669, 0.49317394],\
+-[	-6.27276875, -0.00058480, 0.00035834, 7.27218396, 0.99821335, 0.99905686, 0.49317397],\
+-[	-6.27276902, -0.00058468, 0.00035827, 7.27218433, 0.99821369, 0.99905704, 0.49317398],\
+-[	-6.27276928, -0.00058457, 0.00035820, 7.27218471, 0.99821402, 0.99905722, 0.49317402],\
+-[	-6.27276954, -0.00058446, 0.00035814, 7.27218508, 0.99821436, 0.99905740, 0.49317408],\
+-[	-6.27276981, -0.00058435, 0.00035807, 7.27218545, 0.99821470, 0.99905758, 0.49317410],\
+-[	-6.27277007, -0.00058424, 0.00035800, 7.27218583, 0.99821504, 0.99905775, 0.49317417],\
+-[	-6.27277034, -0.00058413, 0.00035793, 7.27218620, 0.99821537, 0.99905793, 0.49317422],\
+-[	-6.27277060, -0.00058402, 0.00035787, 7.27218658, 0.99821571, 0.99905811, 0.49317425],\
+-[	-6.27277086, -0.00058391, 0.00035780, 7.27218695, 0.99821605, 0.99905829, 0.49317429],\
+-[	-6.27277113, -0.00058380, 0.00035773, 7.27218732, 0.99821638, 0.99905847, 0.49317428],\
+-[	-6.27277139, -0.00058369, 0.00035766, 7.27218770, 0.99821672, 0.99905864, 0.49317437],\
+-[	-6.27277165, -0.00058358, 0.00035760, 7.27218807, 0.99821706, 0.99905882, 0.49317446],\
+-[	-6.27277192, -0.00058347, 0.00035753, 7.27218844, 0.99821739, 0.99905900, 0.49317445],\
+-[	-6.27277218, -0.00058336, 0.00035746, 7.27218882, 0.99821773, 0.99905918, 0.49317449],\
+-[	-6.27277244, -0.00058325, 0.00035739, 7.27218919, 0.99821806, 0.99905935, 0.49317453],\
+-[	-6.27277270, -0.00058314, 0.00035733, 7.27218956, 0.99821840, 0.99905953, 0.49317457],\
+-[	-6.27277297, -0.00058303, 0.00035726, 7.27218993, 0.99821874, 0.99905971, 0.49317458],\
+-[	-6.27277323, -0.00058292, 0.00035719, 7.27219031, 0.99821907, 0.99905988, 0.49317467],\
+-[	-6.27277349, -0.00058281, 0.00035712, 7.27219068, 0.99821941, 0.99906006, 0.49317464],\
+-[	-6.27277376, -0.00058270, 0.00035706, 7.27219105, 0.99821974, 0.99906024, 0.49317472],\
+-[	-6.27277402, -0.00058259, 0.00035699, 7.27219142, 0.99822008, 0.99906042, 0.49317476],\
+-[	-6.27277428, -0.00058248, 0.00035692, 7.27219180, 0.99822041, 0.99906059, 0.49317478],\
+-[	-6.27277454, -0.00058237, 0.00035686, 7.27219217, 0.99822075, 0.99906077, 0.49317481],\
+-[	-6.27277480, -0.00058227, 0.00035679, 7.27219254, 0.99822108, 0.99906095, 0.49317486],\
+-[	-6.27277507, -0.00058216, 0.00035672, 7.27219291, 0.99822142, 0.99906112, 0.49317492],\
+-[	-6.27277533, -0.00058205, 0.00035665, 7.27219328, 0.99822175, 0.99906130, 0.49317497],\
+-[	-6.27277559, -0.00058194, 0.00035659, 7.27219365, 0.99822209, 0.99906148, 0.49317500],\
+-[	-6.27277585, -0.00058183, 0.00035652, 7.27219402, 0.99822242, 0.99906165, 0.49317504],\
+-[	-6.27277611, -0.00058172, 0.00035645, 7.27219440, 0.99822275, 0.99906183, 0.49317502],\
+-[	-6.27277637, -0.00058161, 0.00035639, 7.27219477, 0.99822309, 0.99906200, 0.49317510],\
+-[	-6.27277664, -0.00058150, 0.00035632, 7.27219514, 0.99822342, 0.99906218, 0.49317515],\
+-[	-6.27277690, -0.00058139, 0.00035625, 7.27219551, 0.99822376, 0.99906236, 0.49317515],\
+-[	-6.27277716, -0.00058128, 0.00035619, 7.27219588, 0.99822409, 0.99906253, 0.49317527],\
+-[	-6.27277742, -0.00058117, 0.00035612, 7.27219625, 0.99822442, 0.99906271, 0.49317521],\
+-[	-6.27277768, -0.00058106, 0.00035605, 7.27219662, 0.99822476, 0.99906289, 0.49317533],\
+-[	-6.27277794, -0.00058095, 0.00035598, 7.27219699, 0.99822509, 0.99906306, 0.49317536],\
+-[	-6.27277820, -0.00058084, 0.00035592, 7.27219736, 0.99822542, 0.99906324, 0.49317532],\
+-[	-6.27277846, -0.00058074, 0.00035585, 7.27219773, 0.99822576, 0.99906341, 0.49317542],\
+-[	-6.27277872, -0.00058063, 0.00035578, 7.27219810, 0.99822609, 0.99906359, 0.49317544],\
+-[	-6.27277898, -0.00058052, 0.00035572, 7.27219847, 0.99822642, 0.99906376, 0.49317549],\
+-[	-6.27277924, -0.00058041, 0.00035565, 7.27219884, 0.99822675, 0.99906394, 0.49317552],\
+-[	-6.27277950, -0.00058030, 0.00035558, 7.27219920, 0.99822709, 0.99906412, 0.49317558],\
+-[	-6.27277977, -0.00058019, 0.00035552, 7.27219957, 0.99822742, 0.99906429, 0.49317562],\
+-[	-6.27278003, -0.00058008, 0.00035545, 7.27219994, 0.99822775, 0.99906447, 0.49317566],\
+-[	-6.27278029, -0.00057997, 0.00035538, 7.27220031, 0.99822808, 0.99906464, 0.49317568],\
+-[	-6.27278055, -0.00057987, 0.00035532, 7.27220068, 0.99822842, 0.99906482, 0.49317573],\
+-[	-6.27278080, -0.00057976, 0.00035525, 7.27220105, 0.99822875, 0.99906499, 0.49317574],\
+-[	-6.27278106, -0.00057965, 0.00035518, 7.27220142, 0.99822908, 0.99906517, 0.49317581],\
+-[	-6.27278132, -0.00057954, 0.00035512, 7.27220178, 0.99822941, 0.99906534, 0.49317584],\
+-[	-6.27278158, -0.00057943, 0.00035505, 7.27220215, 0.99822974, 0.99906552, 0.49317591],\
+-[	-6.27278184, -0.00057932, 0.00035498, 7.27220252, 0.99823008, 0.99906569, 0.49317591],\
+-[	-6.27278210, -0.00057921, 0.00035492, 7.27220289, 0.99823041, 0.99906587, 0.49317595],\
+-[	-6.27278236, -0.00057911, 0.00035485, 7.27220326, 0.99823074, 0.99906604, 0.49317597],\
+-[	-6.27278262, -0.00057900, 0.00035479, 7.27220362, 0.99823107, 0.99906622, 0.49317601],\
+-[	-6.27278288, -0.00057889, 0.00035472, 7.27220399, 0.99823140, 0.99906639, 0.49317609],\
+-[	-6.27278314, -0.00057878, 0.00035465, 7.27220436, 0.99823173, 0.99906657, 0.49317610],\
+-[	-6.27278340, -0.00057867, 0.00035459, 7.27220472, 0.99823206, 0.99906674, 0.49317615],\
+-[	-6.27278366, -0.00057857, 0.00035452, 7.27220509, 0.99823239, 0.99906691, 0.49317621],\
+-[	-6.27278392, -0.00057846, 0.00035445, 7.27220546, 0.99823272, 0.99906709, 0.49317622],\
+-[	-6.27278417, -0.00057835, 0.00035439, 7.27220582, 0.99823305, 0.99906726, 0.49317632],\
+-[	-6.27278443, -0.00057824, 0.00035432, 7.27220619, 0.99823338, 0.99906744, 0.49317629],\
+-[	-6.27278469, -0.00057813, 0.00035425, 7.27220656, 0.99823371, 0.99906761, 0.49317636],\
+-[	-6.27278495, -0.00057802, 0.00035419, 7.27220692, 0.99823404, 0.99906779, 0.49317638],\
+-[	-6.27278521, -0.00057792, 0.00035412, 7.27220729, 0.99823437, 0.99906796, 0.49317641],\
+-[	-6.27278547, -0.00057781, 0.00035406, 7.27220766, 0.99823470, 0.99906813, 0.49317644],\
+-[	-6.27278572, -0.00057770, 0.00035399, 7.27220802, 0.99823503, 0.99906831, 0.49317646],\
+-[	-6.27278598, -0.00057759, 0.00035392, 7.27220839, 0.99823536, 0.99906848, 0.49317651],\
+-[	-6.27278624, -0.00057749, 0.00035386, 7.27220875, 0.99823569, 0.99906866, 0.49317654],\
+-[	-6.27278650, -0.00057738, 0.00035379, 7.27220912, 0.99823602, 0.99906883, 0.49317660],\
+-[	-6.27278675, -0.00057727, 0.00035373, 7.27220948, 0.99823635, 0.99906900, 0.49317666],\
+-[	-6.27278701, -0.00057716, 0.00035366, 7.27220985, 0.99823668, 0.99906918, 0.49317668],\
+-[	-6.27278727, -0.00057706, 0.00035359, 7.27221021, 0.99823701, 0.99906935, 0.49317676],\
+-[	-6.27278753, -0.00057695, 0.00035353, 7.27221058, 0.99823734, 0.99906952, 0.49317676],\
+-[	-6.27278778, -0.00057684, 0.00035346, 7.27221094, 0.99823766, 0.99906970, 0.49317678],\
+-[	-6.27278804, -0.00057673, 0.00035340, 7.27221131, 0.99823799, 0.99906987, 0.49317683],\
+-[	-6.27278830, -0.00057663, 0.00035333, 7.27221167, 0.99823832, 0.99907004, 0.49317687],\
+-[	-6.27278855, -0.00057652, 0.00035326, 7.27221204, 0.99823865, 0.99907022, 0.49317691],\
+-[	-6.27278881, -0.00057641, 0.00035320, 7.27221240, 0.99823898, 0.99907039, 0.49317697],\
+-[	-6.27278907, -0.00057630, 0.00035313, 7.27221277, 0.99823931, 0.99907056, 0.49317699],\
+-[	-6.27278933, -0.00057620, 0.00035307, 7.27221313, 0.99823963, 0.99907074, 0.49317702],\
+-[	-6.27278958, -0.00057609, 0.00035300, 7.27221349, 0.99823996, 0.99907091, 0.49317708],\
+-[	-6.27278984, -0.00057598, 0.00035294, 7.27221386, 0.99824029, 0.99907108, 0.49317710],\
+-[	-6.27279009, -0.00057587, 0.00035287, 7.27221422, 0.99824062, 0.99907126, 0.49317717],\
+-[	-6.27279035, -0.00057577, 0.00035280, 7.27221458, 0.99824094, 0.99907143, 0.49317720],\
+-[	-6.27279061, -0.00057566, 0.00035274, 7.27221495, 0.99824127, 0.99907160, 0.49317720],\
+-[	-6.27279086, -0.00057555, 0.00035267, 7.27221531, 0.99824160, 0.99907177, 0.49317727],\
+-[	-6.27279112, -0.00057545, 0.00035261, 7.27221567, 0.99824193, 0.99907195, 0.49317735],\
+-[	-6.27279137, -0.00057534, 0.00035254, 7.27221604, 0.99824225, 0.99907212, 0.49317732],\
+-[	-6.27279163, -0.00057523, 0.00035248, 7.27221640, 0.99824258, 0.99907229, 0.49317739],\
+-[	-6.27279189, -0.00057513, 0.00035241, 7.27221676, 0.99824291, 0.99907246, 0.49317738],\
+-[	-6.27279214, -0.00057502, 0.00035235, 7.27221712, 0.99824323, 0.99907264, 0.49317745],\
+-[	-6.27279240, -0.00057491, 0.00035228, 7.27221749, 0.99824356, 0.99907281, 0.49317748],\
+-[	-6.27279265, -0.00057480, 0.00035221, 7.27221785, 0.99824389, 0.99907298, 0.49317752],\
+-[	-6.27279291, -0.00057470, 0.00035215, 7.27221821, 0.99824421, 0.99907315, 0.49317757],\
+-[	-6.27279316, -0.00057459, 0.00035208, 7.27221857, 0.99824454, 0.99907332, 0.49317760],\
+-[	-6.27279342, -0.00057448, 0.00035202, 7.27221893, 0.99824486, 0.99907350, 0.49317764],\
+-[	-6.27279367, -0.00057438, 0.00035195, 7.27221930, 0.99824519, 0.99907367, 0.49317766],\
+-[	-6.27279393, -0.00057427, 0.00035189, 7.27221966, 0.99824551, 0.99907384, 0.49317770],\
+-[	-6.27279418, -0.00057417, 0.00035182, 7.27222002, 0.99824584, 0.99907401, 0.49317777],\
+-[	-6.27279444, -0.00057406, 0.00035176, 7.27222038, 0.99824617, 0.99907418, 0.49317774],\
+-[	-6.27279469, -0.00057395, 0.00035169, 7.27222074, 0.99824649, 0.99907436, 0.49317781],\
+-[	-6.27279495, -0.00057385, 0.00035163, 7.27222110, 0.99824682, 0.99907453, 0.49317792],\
+-[	-6.27279520, -0.00057374, 0.00035156, 7.27222146, 0.99824714, 0.99907470, 0.49317788],\
+-[	-6.27279546, -0.00057363, 0.00035150, 7.27222182, 0.99824747, 0.99907487, 0.49317793],\
+-[	-6.27279571, -0.00057353, 0.00035143, 7.27222218, 0.99824779, 0.99907504, 0.49317800],\
+-[	-6.27279596, -0.00057342, 0.00035137, 7.27222254, 0.99824812, 0.99907521, 0.49317798],\
+-[	-6.27279622, -0.00057331, 0.00035130, 7.27222290, 0.99824844, 0.99907538, 0.49317810],\
+-[	-6.27279647, -0.00057321, 0.00035124, 7.27222326, 0.99824877, 0.99907556, 0.49317811],\
+-[	-6.27279673, -0.00057310, 0.00035117, 7.27222362, 0.99824909, 0.99907573, 0.49317808],\
+-[	-6.27279698, -0.00057300, 0.00035111, 7.27222398, 0.99824941, 0.99907590, 0.49317818],\
+-[	-6.27279723, -0.00057289, 0.00035104, 7.27222434, 0.99824974, 0.99907607, 0.49317820],\
+-[	-6.27279749, -0.00057278, 0.00035098, 7.27222470, 0.99825006, 0.99907624, 0.49317824],\
+-[	-6.27279774, -0.00057268, 0.00035091, 7.27222506, 0.99825039, 0.99907641, 0.49317828],\
+-[	-6.27279799, -0.00057257, 0.00035085, 7.27222542, 0.99825071, 0.99907658, 0.49317828],\
+-[	-6.27279825, -0.00057247, 0.00035078, 7.27222578, 0.99825103, 0.99907675, 0.49317836],\
+-[	-6.27279850, -0.00057236, 0.00035072, 7.27222614, 0.99825136, 0.99907692, 0.49317841],\
+-[	-6.27279875, -0.00057225, 0.00035065, 7.27222650, 0.99825168, 0.99907709, 0.49317844],\
+-[	-6.27279901, -0.00057215, 0.00035059, 7.27222686, 0.99825200, 0.99907727, 0.49317846],\
+-[	-6.27279926, -0.00057204, 0.00035052, 7.27222722, 0.99825233, 0.99907744, 0.49317853],\
+-[	-6.27279951, -0.00057194, 0.00035046, 7.27222758, 0.99825265, 0.99907761, 0.49317855],\
+-[	-6.27279977, -0.00057183, 0.00035039, 7.27222793, 0.99825297, 0.99907778, 0.49317862],\
+-[	-6.27280002, -0.00057173, 0.00035033, 7.27222829, 0.99825330, 0.99907795, 0.49317862],\
+-[	-6.27280027, -0.00057162, 0.00035026, 7.27222865, 0.99825362, 0.99907812, 0.49317865],\
+-[	-6.27280052, -0.00057152, 0.00035020, 7.27222901, 0.99825394, 0.99907829, 0.49317872],\
+-[	-6.27280078, -0.00057141, 0.00035013, 7.27222937, 0.99825426, 0.99907846, 0.49317874],\
+-[	-6.27280103, -0.00057130, 0.00035007, 7.27222972, 0.99825459, 0.99907863, 0.49317875],\
+-[	-6.27280128, -0.00057120, 0.00035000, 7.27223008, 0.99825491, 0.99907880, 0.49317879],\
+-[	-6.27280153, -0.00057109, 0.00034994, 7.27223044, 0.99825523, 0.99907897, 0.49317885],\
+-[	-6.27280178, -0.00057099, 0.00034987, 7.27223080, 0.99825555, 0.99907914, 0.49317886],\
+-[	-6.27280204, -0.00057088, 0.00034981, 7.27223115, 0.99825587, 0.99907931, 0.49317891],\
+-[	-6.27280229, -0.00057078, 0.00034974, 7.27223151, 0.99825620, 0.99907948, 0.49317896],\
+-[	-6.27280254, -0.00057067, 0.00034968, 7.27223187, 0.99825652, 0.99907965, 0.49317901],\
+-[	-6.27280279, -0.00057057, 0.00034962, 7.27223222, 0.99825684, 0.99907982, 0.49317904],\
+-[	-6.27280304, -0.00057046, 0.00034955, 7.27223258, 0.99825716, 0.99907999, 0.49317904],\
+-[	-6.27280329, -0.00057036, 0.00034949, 7.27223294, 0.99825748, 0.99908016, 0.49317910],\
+-[	-6.27280355, -0.00057025, 0.00034942, 7.27223329, 0.99825780, 0.99908033, 0.49317919],\
+-[	-6.27280380, -0.00057015, 0.00034936, 7.27223365, 0.99825812, 0.99908050, 0.49317919],\
+-[	-6.27280405, -0.00057004, 0.00034929, 7.27223401, 0.99825844, 0.99908066, 0.49317919],\
+-[	-6.27280430, -0.00056994, 0.00034923, 7.27223436, 0.99825877, 0.99908083, 0.49317929],\
+-[	-6.27280455, -0.00056983, 0.00034916, 7.27223472, 0.99825909, 0.99908100, 0.49317932],\
+-[	-6.27280480, -0.00056973, 0.00034910, 7.27223507, 0.99825941, 0.99908117, 0.49317933],\
+-[	-6.27280505, -0.00056962, 0.00034904, 7.27223543, 0.99825973, 0.99908134, 0.49317936],\
+-[	-6.27280530, -0.00056952, 0.00034897, 7.27223579, 0.99826005, 0.99908151, 0.49317942],\
+-[	-6.27280555, -0.00056941, 0.00034891, 7.27223614, 0.99826037, 0.99908168, 0.49317941],\
+-[	-6.27280580, -0.00056931, 0.00034884, 7.27223650, 0.99826069, 0.99908185, 0.49317944],\
+-[	-6.27280606, -0.00056920, 0.00034878, 7.27223685, 0.99826101, 0.99908202, 0.49317951],\
+-[	-6.27280631, -0.00056910, 0.00034872, 7.27223721, 0.99826133, 0.99908219, 0.49317958],\
+-[	-6.27280656, -0.00056899, 0.00034865, 7.27223756, 0.99826165, 0.99908235, 0.49317962],\
+-[	-6.27280681, -0.00056889, 0.00034859, 7.27223792, 0.99826197, 0.99908252, 0.49317961],\
+-[	-6.27280706, -0.00056878, 0.00034852, 7.27223827, 0.99826229, 0.99908269, 0.49317963],\
+-[	-6.27280731, -0.00056868, 0.00034846, 7.27223863, 0.99826261, 0.99908286, 0.49317970],\
+-[	-6.27280756, -0.00056858, 0.00034839, 7.27223898, 0.99826293, 0.99908303, 0.49317974],\
+-[	-6.27280781, -0.00056847, 0.00034833, 7.27223933, 0.99826324, 0.99908320, 0.49317978],\
+-[	-6.27280806, -0.00056837, 0.00034827, 7.27223969, 0.99826356, 0.99908337, 0.49317977],\
+-[	-6.27280830, -0.00056826, 0.00034820, 7.27224004, 0.99826388, 0.99908353, 0.49317984],\
+-[	-6.27280855, -0.00056816, 0.00034814, 7.27224040, 0.99826420, 0.99908370, 0.49317991],\
+-[	-6.27280880, -0.00056805, 0.00034807, 7.27224075, 0.99826452, 0.99908387, 0.49317993],\
+-[	-6.27280905, -0.00056795, 0.00034801, 7.27224110, 0.99826484, 0.99908404, 0.49317997],\
+-[	-6.27280930, -0.00056785, 0.00034795, 7.27224146, 0.99826516, 0.99908421, 0.49317999],\
+-[	-6.27280955, -0.00056774, 0.00034788, 7.27224181, 0.99826547, 0.99908438, 0.49318004],\
+-[	-6.27280980, -0.00056764, 0.00034782, 7.27224216, 0.99826579, 0.99908454, 0.49318009],\
+-[	-6.27281005, -0.00056753, 0.00034776, 7.27224252, 0.99826611, 0.99908471, 0.49318013],\
+-[	-6.27281030, -0.00056743, 0.00034769, 7.27224287, 0.99826643, 0.99908488, 0.49318014],\
+-[	-6.27281055, -0.00056733, 0.00034763, 7.27224322, 0.99826675, 0.99908505, 0.49318020],\
+-[	-6.27281080, -0.00056722, 0.00034756, 7.27224357, 0.99826706, 0.99908521, 0.49318023],\
+-[	-6.27281104, -0.00056712, 0.00034750, 7.27224393, 0.99826738, 0.99908538, 0.49318021],\
+-[	-6.27281129, -0.00056701, 0.00034744, 7.27224428, 0.99826770, 0.99908555, 0.49318033],\
+-[	-6.27281154, -0.00056691, 0.00034737, 7.27224463, 0.99826802, 0.99908572, 0.49318033],\
+-[	-6.27281179, -0.00056681, 0.00034731, 7.27224498, 0.99826833, 0.99908588, 0.49318036],\
+-[	-6.27281204, -0.00056670, 0.00034725, 7.27224534, 0.99826865, 0.99908605, 0.49318042],\
+-[	-6.27281229, -0.00056660, 0.00034718, 7.27224569, 0.99826897, 0.99908622, 0.49318046],\
+-[	-6.27281253, -0.00056649, 0.00034712, 7.27224604, 0.99826929, 0.99908639, 0.49318048],\
+-[	-6.27281278, -0.00056639, 0.00034706, 7.27224639, 0.99826960, 0.99908655, 0.49318053],\
+-[	-6.27281303, -0.00056629, 0.00034699, 7.27224674, 0.99826992, 0.99908672, 0.49318056],\
+-[	-6.27281328, -0.00056618, 0.00034693, 7.27224709, 0.99827024, 0.99908689, 0.49318059],\
+-[	-6.27281353, -0.00056608, 0.00034686, 7.27224745, 0.99827055, 0.99908705, 0.49318066],\
+-[	-6.27281377, -0.00056598, 0.00034680, 7.27224780, 0.99827087, 0.99908722, 0.49318067],\
+-[	-6.27281402, -0.00056587, 0.00034674, 7.27224815, 0.99827119, 0.99908739, 0.49318073],\
+-[	-6.27281427, -0.00056577, 0.00034667, 7.27224850, 0.99827150, 0.99908756, 0.49318072],\
+-[	-6.27281452, -0.00056567, 0.00034661, 7.27224885, 0.99827182, 0.99908772, 0.49318077],\
+-[	-6.27281476, -0.00056556, 0.00034655, 7.27224920, 0.99827213, 0.99908789, 0.49318079],\
+-[	-6.27281501, -0.00056546, 0.00034648, 7.27224955, 0.99827245, 0.99908806, 0.49318086],\
+-[	-6.27281526, -0.00056536, 0.00034642, 7.27224990, 0.99827276, 0.99908822, 0.49318086],\
+-[	-6.27281550, -0.00056525, 0.00034636, 7.27225025, 0.99827308, 0.99908839, 0.49318091],\
+-[	-6.27281575, -0.00056515, 0.00034629, 7.27225060, 0.99827340, 0.99908856, 0.49318093],\
+-[	-6.27281600, -0.00056505, 0.00034623, 7.27225095, 0.99827371, 0.99908872, 0.49318097],\
+-[	-6.27281624, -0.00056494, 0.00034617, 7.27225130, 0.99827403, 0.99908889, 0.49318102],\
+-[	-6.27281649, -0.00056484, 0.00034610, 7.27225165, 0.99827434, 0.99908905, 0.49318109],\
+-[	-6.27281674, -0.00056474, 0.00034604, 7.27225200, 0.99827466, 0.99908922, 0.49318111],\
+-[	-6.27281698, -0.00056463, 0.00034598, 7.27225235, 0.99827497, 0.99908939, 0.49318114],\
+-[	-6.27281723, -0.00056453, 0.00034592, 7.27225270, 0.99827529, 0.99908955, 0.49318118],\
+-[	-6.27281748, -0.00056443, 0.00034585, 7.27225305, 0.99827560, 0.99908972, 0.49318122],\
+-[	-6.27281772, -0.00056433, 0.00034579, 7.27225340, 0.99827591, 0.99908988, 0.49318124],\
+-[	-6.27281797, -0.00056422, 0.00034573, 7.27225375, 0.99827623, 0.99909005, 0.49318128],\
+-[	-6.27281822, -0.00056412, 0.00034566, 7.27225409, 0.99827654, 0.99909022, 0.49318131],\
+-[	-6.27281846, -0.00056402, 0.00034560, 7.27225444, 0.99827686, 0.99909038, 0.49318135],\
+-[	-6.27281871, -0.00056391, 0.00034554, 7.27225479, 0.99827717, 0.99909055, 0.49318140],\
+-[	-6.27281895, -0.00056381, 0.00034547, 7.27225514, 0.99827749, 0.99909071, 0.49318139],\
+-[	-6.27281920, -0.00056371, 0.00034541, 7.27225549, 0.99827780, 0.99909088, 0.49318148],\
+-[	-6.27281944, -0.00056361, 0.00034535, 7.27225584, 0.99827811, 0.99909105, 0.49318152],\
+-[	-6.27281969, -0.00056350, 0.00034528, 7.27225619, 0.99827843, 0.99909121, 0.49318156],\
+-[	-6.27281993, -0.00056340, 0.00034522, 7.27225653, 0.99827874, 0.99909138, 0.49318159],\
+-[	-6.27282018, -0.00056330, 0.00034516, 7.27225688, 0.99827905, 0.99909154, 0.49318163],\
+-[	-6.27282043, -0.00056320, 0.00034510, 7.27225723, 0.99827937, 0.99909171, 0.49318166],\
+-[	-6.27282067, -0.00056309, 0.00034503, 7.27225758, 0.99827968, 0.99909187, 0.49318168],\
+-[	-6.27282092, -0.00056299, 0.00034497, 7.27225792, 0.99827999, 0.99909204, 0.49318179],\
+-[	-6.27282116, -0.00056289, 0.00034491, 7.27225827, 0.99828031, 0.99909220, 0.49318171],\
+-[	-6.27282141, -0.00056279, 0.00034485, 7.27225862, 0.99828062, 0.99909237, 0.49318177],\
+-[	-6.27282165, -0.00056268, 0.00034478, 7.27225897, 0.99828093, 0.99909253, 0.49318188],\
+-[	-6.27282189, -0.00056258, 0.00034472, 7.27225931, 0.99828124, 0.99909270, 0.49318185],\
+-[	-6.27282214, -0.00056248, 0.00034466, 7.27225966, 0.99828156, 0.99909286, 0.49318190],\
+-[	-6.27282238, -0.00056238, 0.00034459, 7.27226001, 0.99828187, 0.99909303, 0.49318196],\
+-[	-6.27282263, -0.00056228, 0.00034453, 7.27226035, 0.99828218, 0.99909319, 0.49318197],\
+-[	-6.27282287, -0.00056217, 0.00034447, 7.27226070, 0.99828249, 0.99909336, 0.49318203],\
+-[	-6.27282312, -0.00056207, 0.00034441, 7.27226104, 0.99828281, 0.99909352, 0.49318204],\
+-[	-6.27282336, -0.00056197, 0.00034434, 7.27226139, 0.99828312, 0.99909369, 0.49318210],\
+-[	-6.27282360, -0.00056187, 0.00034428, 7.27226174, 0.99828343, 0.99909385, 0.49318213],\
+-[	-6.27282385, -0.00056177, 0.00034422, 7.27226208, 0.99828374, 0.99909402, 0.49318217],\
+-[	-6.27282409, -0.00056166, 0.00034416, 7.27226243, 0.99828405, 0.99909418, 0.49318219],\
+-[	-6.27282434, -0.00056156, 0.00034409, 7.27226277, 0.99828436, 0.99909434, 0.49318217],\
+-[	-6.27282458, -0.00056146, 0.00034403, 7.27226312, 0.99828467, 0.99909451, 0.49318229],\
+-[	-6.27282482, -0.00056136, 0.00034397, 7.27226347, 0.99828499, 0.99909467, 0.49318235],\
+-[	-6.27282507, -0.00056126, 0.00034391, 7.27226381, 0.99828530, 0.99909484, 0.49318234],\
+-[	-6.27282531, -0.00056115, 0.00034384, 7.27226416, 0.99828561, 0.99909500, 0.49318238],\
+-[	-6.27282555, -0.00056105, 0.00034378, 7.27226450, 0.99828592, 0.99909516, 0.49318244],\
+-[	-6.27282580, -0.00056095, 0.00034372, 7.27226485, 0.99828623, 0.99909533, 0.49318245],\
+-[	-6.27282604, -0.00056085, 0.00034366, 7.27226519, 0.99828654, 0.99909549, 0.49318251],\
+-[	-6.27282628, -0.00056075, 0.00034360, 7.27226554, 0.99828685, 0.99909566, 0.49318249],\
+-[	-6.27282653, -0.00056065, 0.00034353, 7.27226588, 0.99828716, 0.99909582, 0.49318260],\
+-[	-6.27282677, -0.00056055, 0.00034347, 7.27226622, 0.99828747, 0.99909598, 0.49318256],\
+-[	-6.27282701, -0.00056044, 0.00034341, 7.27226657, 0.99828778, 0.99909615, 0.49318268],\
+-[	-6.27282725, -0.00056034, 0.00034335, 7.27226691, 0.99828809, 0.99909631, 0.49318269],\
+-[	-6.27282750, -0.00056024, 0.00034328, 7.27226726, 0.99828840, 0.99909648, 0.49318273],\
+-[	-6.27282774, -0.00056014, 0.00034322, 7.27226760, 0.99828871, 0.99909664, 0.49318276],\
+-[	-6.27282798, -0.00056004, 0.00034316, 7.27226794, 0.99828902, 0.99909680, 0.49318278],\
+-[	-6.27282822, -0.00055994, 0.00034310, 7.27226829, 0.99828933, 0.99909697, 0.49318281],\
+-[	-6.27282847, -0.00055984, 0.00034304, 7.27226863, 0.99828964, 0.99909713, 0.49318285],\
+-[	-6.27282871, -0.00055973, 0.00034297, 7.27226898, 0.99828995, 0.99909729, 0.49318289],\
+-[	-6.27282895, -0.00055963, 0.00034291, 7.27226932, 0.99829026, 0.99909746, 0.49318294],\
+-[	-6.27282919, -0.00055953, 0.00034285, 7.27226966, 0.99829057, 0.99909762, 0.49318296],\
+-[	-6.27282944, -0.00055943, 0.00034279, 7.27227000, 0.99829088, 0.99909778, 0.49318295],\
+-[	-6.27282968, -0.00055933, 0.00034273, 7.27227035, 0.99829119, 0.99909794, 0.49318302],\
+-[	-6.27282992, -0.00055923, 0.00034266, 7.27227069, 0.99829150, 0.99909811, 0.49318310],\
+-[	-6.27283016, -0.00055913, 0.00034260, 7.27227103, 0.99829180, 0.99909827, 0.49318311],\
+-[	-6.27283040, -0.00055903, 0.00034254, 7.27227138, 0.99829211, 0.99909843, 0.49318314],\
+-[	-6.27283064, -0.00055893, 0.00034248, 7.27227172, 0.99829242, 0.99909860, 0.49318318],\
+-[	-6.27283089, -0.00055882, 0.00034242, 7.27227206, 0.99829273, 0.99909876, 0.49318320],\
+-[	-6.27283113, -0.00055872, 0.00034235, 7.27227240, 0.99829304, 0.99909892, 0.49318320],\
+-[	-6.27283137, -0.00055862, 0.00034229, 7.27227274, 0.99829335, 0.99909908, 0.49318327],\
+-[	-6.27283161, -0.00055852, 0.00034223, 7.27227309, 0.99829365, 0.99909925, 0.49318333],\
+-[	-6.27283185, -0.00055842, 0.00034217, 7.27227343, 0.99829396, 0.99909941, 0.49318333],\
+-[	-6.27283209, -0.00055832, 0.00034211, 7.27227377, 0.99829427, 0.99909957, 0.49318336],\
+-[	-6.27283233, -0.00055822, 0.00034204, 7.27227411, 0.99829458, 0.99909973, 0.49318343],\
+-[	-6.27283257, -0.00055812, 0.00034198, 7.27227445, 0.99829489, 0.99909990, 0.49318344],\
+-[	-6.27283281, -0.00055802, 0.00034192, 7.27227479, 0.99829519, 0.99910006, 0.49318351],\
+-[	-6.27283305, -0.00055792, 0.00034186, 7.27227514, 0.99829550, 0.99910022, 0.49318353],\
+-[	-6.27283329, -0.00055782, 0.00034180, 7.27227548, 0.99829581, 0.99910038, 0.49318358],\
+-[	-6.27283353, -0.00055772, 0.00034174, 7.27227582, 0.99829611, 0.99910055, 0.49318362],\
+-[	-6.27283378, -0.00055762, 0.00034168, 7.27227616, 0.99829642, 0.99910071, 0.49318360],\
+-[	-6.27283402, -0.00055752, 0.00034161, 7.27227650, 0.99829673, 0.99910087, 0.49318367],\
+-[	-6.27283426, -0.00055742, 0.00034155, 7.27227684, 0.99829704, 0.99910103, 0.49318371],\
+-[	-6.27283450, -0.00055732, 0.00034149, 7.27227718, 0.99829734, 0.99910119, 0.49318374],\
+-[	-6.27283474, -0.00055722, 0.00034143, 7.27227752, 0.99829765, 0.99910136, 0.49318380],\
+-[	-6.27283498, -0.00055712, 0.00034137, 7.27227786, 0.99829796, 0.99910152, 0.49318376],\
+-[	-6.27283522, -0.00055701, 0.00034131, 7.27227820, 0.99829826, 0.99910168, 0.49318386],\
+-[	-6.27283546, -0.00055691, 0.00034124, 7.27227854, 0.99829857, 0.99910184, 0.49318389],\
+-[	-6.27283570, -0.00055681, 0.00034118, 7.27227888, 0.99829887, 0.99910200, 0.49318390],\
+-[	-6.27283593, -0.00055671, 0.00034112, 7.27227922, 0.99829918, 0.99910216, 0.49318396],\
+-[	-6.27283617, -0.00055661, 0.00034106, 7.27227956, 0.99829949, 0.99910233, 0.49318401],\
+-[	-6.27283641, -0.00055651, 0.00034100, 7.27227990, 0.99829979, 0.99910249, 0.49318410],\
+-[	-6.27283665, -0.00055641, 0.00034094, 7.27228024, 0.99830010, 0.99910265, 0.49318407],\
+-[	-6.27283689, -0.00055631, 0.00034088, 7.27228058, 0.99830040, 0.99910281, 0.49318407],\
+-[	-6.27283713, -0.00055621, 0.00034081, 7.27228092, 0.99830071, 0.99910297, 0.49318414],\
+-[	-6.27283737, -0.00055611, 0.00034075, 7.27228126, 0.99830101, 0.99910313, 0.49318415],\
+-[	-6.27283761, -0.00055601, 0.00034069, 7.27228159, 0.99830132, 0.99910329, 0.49318423],\
+-[	-6.27283785, -0.00055591, 0.00034063, 7.27228193, 0.99830163, 0.99910345, 0.49318423],\
+-[	-6.27283809, -0.00055581, 0.00034057, 7.27228227, 0.99830193, 0.99910362, 0.49318427],\
+-[	-6.27283833, -0.00055571, 0.00034051, 7.27228261, 0.99830224, 0.99910378, 0.49318428],\
+-[	-6.27283856, -0.00055562, 0.00034045, 7.27228295, 0.99830254, 0.99910394, 0.49318433],\
+-[	-6.27283880, -0.00055552, 0.00034039, 7.27228329, 0.99830285, 0.99910410, 0.49318443],\
+-[	-6.27283904, -0.00055542, 0.00034033, 7.27228363, 0.99830315, 0.99910426, 0.49318443],\
+-[	-6.27283928, -0.00055532, 0.00034026, 7.27228396, 0.99830345, 0.99910442, 0.49318449],\
+-[	-6.27283952, -0.00055522, 0.00034020, 7.27228430, 0.99830376, 0.99910458, 0.49318449],\
+-[	-6.27283976, -0.00055512, 0.00034014, 7.27228464, 0.99830406, 0.99910474, 0.49318454],\
+-[	-6.27283999, -0.00055502, 0.00034008, 7.27228498, 0.99830437, 0.99910490, 0.49318457],\
+-[	-6.27284023, -0.00055492, 0.00034002, 7.27228531, 0.99830467, 0.99910506, 0.49318459],\
+-[	-6.27284047, -0.00055482, 0.00033996, 7.27228565, 0.99830498, 0.99910522, 0.49318460],\
+-[	-6.27284071, -0.00055472, 0.00033990, 7.27228599, 0.99830528, 0.99910538, 0.49318465],\
+-[	-6.27284095, -0.00055462, 0.00033984, 7.27228633, 0.99830558, 0.99910554, 0.49318472],\
+-[	-6.27284118, -0.00055452, 0.00033978, 7.27228666, 0.99830589, 0.99910570, 0.49318477],\
+-[	-6.27284142, -0.00055442, 0.00033972, 7.27228700, 0.99830619, 0.99910586, 0.49318479],\
+-[	-6.27284166, -0.00055432, 0.00033965, 7.27228734, 0.99830649, 0.99910602, 0.49318483],\
+-[	-6.27284190, -0.00055422, 0.00033959, 7.27228767, 0.99830680, 0.99910618, 0.49318487],\
+-[	-6.27284213, -0.00055412, 0.00033953, 7.27228801, 0.99830710, 0.99910634, 0.49318489],\
+-[	-6.27284237, -0.00055402, 0.00033947, 7.27228835, 0.99830740, 0.99910650, 0.49318490],\
+-[	-6.27284261, -0.00055393, 0.00033941, 7.27228868, 0.99830771, 0.99910666, 0.49318496],\
+-[	-6.27284285, -0.00055383, 0.00033935, 7.27228902, 0.99830801, 0.99910682, 0.49318499],\
+-[	-6.27284308, -0.00055373, 0.00033929, 7.27228936, 0.99830831, 0.99910698, 0.49318499],\
+-[	-6.27284332, -0.00055363, 0.00033923, 7.27228969, 0.99830861, 0.99910714, 0.49318509],\
+-[	-6.27284356, -0.00055353, 0.00033917, 7.27229003, 0.99830892, 0.99910730, 0.49318511],\
+-[	-6.27284379, -0.00055343, 0.00033911, 7.27229036, 0.99830922, 0.99910746, 0.49318515],\
+-[	-6.27284403, -0.00055333, 0.00033905, 7.27229070, 0.99830952, 0.99910762, 0.49318516],\
+-[	-6.27284427, -0.00055323, 0.00033899, 7.27229103, 0.99830982, 0.99910778, 0.49318524],\
+-[	-6.27284450, -0.00055313, 0.00033893, 7.27229137, 0.99831013, 0.99910794, 0.49318524],\
+-[	-6.27284474, -0.00055303, 0.00033887, 7.27229170, 0.99831043, 0.99910810, 0.49318528],\
+-[	-6.27284498, -0.00055294, 0.00033880, 7.27229204, 0.99831073, 0.99910826, 0.49318529],\
+-[	-6.27284521, -0.00055284, 0.00033874, 7.27229237, 0.99831103, 0.99910842, 0.49318533],\
+-[	-6.27284545, -0.00055274, 0.00033868, 7.27229271, 0.99831133, 0.99910858, 0.49318539],\
+-[	-6.27284568, -0.00055264, 0.00033862, 7.27229304, 0.99831164, 0.99910874, 0.49318542],\
+-[	-6.27284592, -0.00055254, 0.00033856, 7.27229338, 0.99831194, 0.99910890, 0.49318543],\
+-[	-6.27284616, -0.00055244, 0.00033850, 7.27229371, 0.99831224, 0.99910906, 0.49318547],\
+-[	-6.27284639, -0.00055234, 0.00033844, 7.27229405, 0.99831254, 0.99910921, 0.49318555],\
+-[	-6.27284663, -0.00055225, 0.00033838, 7.27229438, 0.99831284, 0.99910937, 0.49318557],\
+-[	-6.27284686, -0.00055215, 0.00033832, 7.27229472, 0.99831314, 0.99910953, 0.49318561],\
+-[	-6.27284710, -0.00055205, 0.00033826, 7.27229505, 0.99831344, 0.99910969, 0.49318565],\
+-[	-6.27284733, -0.00055195, 0.00033820, 7.27229538, 0.99831374, 0.99910985, 0.49318570],\
+-[	-6.27284757, -0.00055185, 0.00033814, 7.27229572, 0.99831404, 0.99911001, 0.49318569],\
+-[	-6.27284781, -0.00055175, 0.00033808, 7.27229605, 0.99831435, 0.99911017, 0.49318574],\
+-[	-6.27284804, -0.00055165, 0.00033802, 7.27229639, 0.99831465, 0.99911033, 0.49318575],\
+-[	-6.27284828, -0.00055156, 0.00033796, 7.27229672, 0.99831495, 0.99911048, 0.49318581],\
+-[	-6.27284851, -0.00055146, 0.00033790, 7.27229705, 0.99831525, 0.99911064, 0.49318582],\
+-[	-6.27284875, -0.00055136, 0.00033784, 7.27229739, 0.99831555, 0.99911080, 0.49318586],\
+-[	-6.27284898, -0.00055126, 0.00033778, 7.27229772, 0.99831585, 0.99911096, 0.49318588],\
+-[	-6.27284922, -0.00055116, 0.00033772, 7.27229805, 0.99831615, 0.99911112, 0.49318595],\
+-[	-6.27284945, -0.00055107, 0.00033766, 7.27229838, 0.99831645, 0.99911128, 0.49318599],\
+-[	-6.27284968, -0.00055097, 0.00033760, 7.27229872, 0.99831675, 0.99911143, 0.49318604],\
+-[	-6.27284992, -0.00055087, 0.00033754, 7.27229905, 0.99831705, 0.99911159, 0.49318604],\
+-[	-6.27285015, -0.00055077, 0.00033748, 7.27229938, 0.99831735, 0.99911175, 0.49318612],\
+-[	-6.27285039, -0.00055067, 0.00033742, 7.27229971, 0.99831765, 0.99911191, 0.49318613],\
+-[	-6.27285062, -0.00055058, 0.00033736, 7.27230005, 0.99831794, 0.99911207, 0.49318622],\
+-[	-6.27285086, -0.00055048, 0.00033730, 7.27230038, 0.99831824, 0.99911223, 0.49318623],\
+-[	-6.27285109, -0.00055038, 0.00033724, 7.27230071, 0.99831854, 0.99911238, 0.49318626],\
+-[	-6.27285133, -0.00055028, 0.00033718, 7.27230104, 0.99831884, 0.99911254, 0.49318626],\
+-[	-6.27285156, -0.00055018, 0.00033712, 7.27230138, 0.99831914, 0.99911270, 0.49318628],\
+-[	-6.27285179, -0.00055009, 0.00033706, 7.27230171, 0.99831944, 0.99911286, 0.49318633],\
+-[	-6.27285203, -0.00054999, 0.00033700, 7.27230204, 0.99831974, 0.99911301, 0.49318637],\
+-[	-6.27285226, -0.00054989, 0.00033694, 7.27230237, 0.99832004, 0.99911317, 0.49318637],\
+-[	-6.27285249, -0.00054979, 0.00033688, 7.27230270, 0.99832034, 0.99911333, 0.49318644],\
+-[	-6.27285273, -0.00054970, 0.00033682, 7.27230303, 0.99832063, 0.99911349, 0.49318645],\
+-[	-6.27285296, -0.00054960, 0.00033676, 7.27230336, 0.99832093, 0.99911364, 0.49318646],\
+-[	-6.27285319, -0.00054950, 0.00033670, 7.27230369, 0.99832123, 0.99911380, 0.49318651],\
+-[	-6.27285343, -0.00054940, 0.00033664, 7.27230403, 0.99832153, 0.99911396, 0.49318650],\
+-[	-6.27285366, -0.00054931, 0.00033658, 7.27230436, 0.99832183, 0.99911412, 0.49318659],\
+-[	-6.27285389, -0.00054921, 0.00033652, 7.27230469, 0.99832212, 0.99911427, 0.49318666],\
+-[	-6.27285413, -0.00054911, 0.00033646, 7.27230502, 0.99832242, 0.99911443, 0.49318665],\
+-[	-6.27285436, -0.00054901, 0.00033640, 7.27230535, 0.99832272, 0.99911459, 0.49318670],\
+-[	-6.27285459, -0.00054892, 0.00033634, 7.27230568, 0.99832302, 0.99911474, 0.49318673],\
+-[	-6.27285483, -0.00054882, 0.00033628, 7.27230601, 0.99832332, 0.99911490, 0.49318677],\
+-[	-6.27285506, -0.00054872, 0.00033622, 7.27230634, 0.99832361, 0.99911506, 0.49318685],\
+-[	-6.27285529, -0.00054862, 0.00033616, 7.27230667, 0.99832391, 0.99911522, 0.49318683],\
+-[	-6.27285552, -0.00054853, 0.00033610, 7.27230700, 0.99832421, 0.99911537, 0.49318692],\
+-[	-6.27285576, -0.00054843, 0.00033604, 7.27230733, 0.99832450, 0.99911553, 0.49318690],\
+-[	-6.27285599, -0.00054833, 0.00033598, 7.27230766, 0.99832480, 0.99911569, 0.49318694],\
+-[	-6.27285622, -0.00054824, 0.00033592, 7.27230799, 0.99832510, 0.99911584, 0.49318700],\
+-[	-6.27285645, -0.00054814, 0.00033586, 7.27230832, 0.99832539, 0.99911600, 0.49318701],\
+-[	-6.27285669, -0.00054804, 0.00033580, 7.27230865, 0.99832569, 0.99911616, 0.49318705],\
+-[	-6.27285692, -0.00054794, 0.00033574, 7.27230897, 0.99832599, 0.99911631, 0.49318711],\
+-[	-6.27285715, -0.00054785, 0.00033568, 7.27230930, 0.99832628, 0.99911647, 0.49318708],\
+-[	-6.27285738, -0.00054775, 0.00033563, 7.27230963, 0.99832658, 0.99911662, 0.49318719],\
+-[	-6.27285761, -0.00054765, 0.00033557, 7.27230996, 0.99832688, 0.99911678, 0.49318717],\
+-[	-6.27285785, -0.00054756, 0.00033551, 7.27231029, 0.99832717, 0.99911694, 0.49318724],\
+-[	-6.27285808, -0.00054746, 0.00033545, 7.27231062, 0.99832747, 0.99911709, 0.49318723],\
+-[	-6.27285831, -0.00054736, 0.00033539, 7.27231095, 0.99832776, 0.99911725, 0.49318729],\
+-[	-6.27285854, -0.00054727, 0.00033533, 7.27231127, 0.99832806, 0.99911741, 0.49318737],\
+-[	-6.27285877, -0.00054717, 0.00033527, 7.27231160, 0.99832836, 0.99911756, 0.49318736],\
+-[	-6.27285900, -0.00054707, 0.00033521, 7.27231193, 0.99832865, 0.99911772, 0.49318737],\
+-[	-6.27285923, -0.00054698, 0.00033515, 7.27231226, 0.99832895, 0.99911787, 0.49318744],\
+-[	-6.27285947, -0.00054688, 0.00033509, 7.27231259, 0.99832924, 0.99911803, 0.49318747],\
+-[	-6.27285970, -0.00054678, 0.00033503, 7.27231291, 0.99832954, 0.99911819, 0.49318750],\
+-[	-6.27285993, -0.00054669, 0.00033497, 7.27231324, 0.99832983, 0.99911834, 0.49318752],\
+-[	-6.27286016, -0.00054659, 0.00033491, 7.27231357, 0.99833013, 0.99911850, 0.49318756],\
+-[	-6.27286039, -0.00054649, 0.00033485, 7.27231390, 0.99833042, 0.99911865, 0.49318760],\
+-[	-6.27286062, -0.00054640, 0.00033480, 7.27231422, 0.99833072, 0.99911881, 0.49318765],\
+-[	-6.27286085, -0.00054630, 0.00033474, 7.27231455, 0.99833101, 0.99911896, 0.49318766],\
+-[	-6.27286108, -0.00054620, 0.00033468, 7.27231488, 0.99833131, 0.99911912, 0.49318767],\
+-[	-6.27286131, -0.00054611, 0.00033462, 7.27231521, 0.99833160, 0.99911927, 0.49318769],\
+-[	-6.27286154, -0.00054601, 0.00033456, 7.27231553, 0.99833190, 0.99911943, 0.49318777],\
+-[	-6.27286177, -0.00054591, 0.00033450, 7.27231586, 0.99833219, 0.99911959, 0.49318778],\
+-[	-6.27286200, -0.00054582, 0.00033444, 7.27231619, 0.99833248, 0.99911974, 0.49318783],\
+-[	-6.27286223, -0.00054572, 0.00033438, 7.27231651, 0.99833278, 0.99911990, 0.49318785],\
+-[	-6.27286246, -0.00054563, 0.00033432, 7.27231684, 0.99833307, 0.99912005, 0.49318790],\
+-[	-6.27286269, -0.00054553, 0.00033426, 7.27231716, 0.99833337, 0.99912021, 0.49318796],\
+-[	-6.27286292, -0.00054543, 0.00033420, 7.27231749, 0.99833366, 0.99912036, 0.49318798],\
+-[	-6.27286315, -0.00054534, 0.00033415, 7.27231782, 0.99833395, 0.99912052, 0.49318802],\
+-[	-6.27286338, -0.00054524, 0.00033409, 7.27231814, 0.99833425, 0.99912067, 0.49318801],\
+-[	-6.27286361, -0.00054515, 0.00033403, 7.27231847, 0.99833454, 0.99912083, 0.49318810],\
+-[	-6.27286384, -0.00054505, 0.00033397, 7.27231879, 0.99833483, 0.99912098, 0.49318815],\
+-[	-6.27286407, -0.00054495, 0.00033391, 7.27231912, 0.99833513, 0.99912114, 0.49318815],\
+-[	-6.27286430, -0.00054486, 0.00033385, 7.27231944, 0.99833542, 0.99912129, 0.49318821],\
+-[	-6.27286453, -0.00054476, 0.00033379, 7.27231977, 0.99833571, 0.99912145, 0.49318820],\
+-[	-6.27286476, -0.00054467, 0.00033373, 7.27232010, 0.99833601, 0.99912160, 0.49318828],\
+-[	-6.27286499, -0.00054457, 0.00033368, 7.27232042, 0.99833630, 0.99912175, 0.49318827],\
+-[	-6.27286522, -0.00054447, 0.00033362, 7.27232075, 0.99833659, 0.99912191, 0.49318830],\
+-[	-6.27286545, -0.00054438, 0.00033356, 7.27232107, 0.99833689, 0.99912206, 0.49318834],\
+-[	-6.27286568, -0.00054428, 0.00033350, 7.27232139, 0.99833718, 0.99912222, 0.49318840],\
+-[	-6.27286591, -0.00054419, 0.00033344, 7.27232172, 0.99833747, 0.99912237, 0.49318849],\
+-[	-6.27286614, -0.00054409, 0.00033338, 7.27232204, 0.99833776, 0.99912253, 0.49318845],\
+-[	-6.27286636, -0.00054400, 0.00033332, 7.27232237, 0.99833805, 0.99912268, 0.49318852],\
+-[	-6.27286659, -0.00054390, 0.00033326, 7.27232269, 0.99833835, 0.99912283, 0.49318851],\
+-[	-6.27286682, -0.00054380, 0.00033321, 7.27232302, 0.99833864, 0.99912299, 0.49318855],\
+-[	-6.27286705, -0.00054371, 0.00033315, 7.27232334, 0.99833893, 0.99912314, 0.49318857],\
+-[	-6.27286728, -0.00054361, 0.00033309, 7.27232366, 0.99833922, 0.99912330, 0.49318863],\
+-[	-6.27286751, -0.00054352, 0.00033303, 7.27232399, 0.99833951, 0.99912345, 0.49318865],\
+-[	-6.27286774, -0.00054342, 0.00033297, 7.27232431, 0.99833981, 0.99912360, 0.49318871],\
+-[	-6.27286796, -0.00054333, 0.00033291, 7.27232464, 0.99834010, 0.99912376, 0.49318871],\
+-[	-6.27286819, -0.00054323, 0.00033286, 7.27232496, 0.99834039, 0.99912391, 0.49318882],\
+-[	-6.27286842, -0.00054314, 0.00033280, 7.27232528, 0.99834068, 0.99912407, 0.49318885],\
+-[	-6.27286865, -0.00054304, 0.00033274, 7.27232561, 0.99834097, 0.99912422, 0.49318882],\
+-[	-6.27286888, -0.00054295, 0.00033268, 7.27232593, 0.99834126, 0.99912437, 0.49318888],\
+-[	-6.27286910, -0.00054285, 0.00033262, 7.27232625, 0.99834155, 0.99912453, 0.49318890],\
+-[	-6.27286933, -0.00054276, 0.00033256, 7.27232657, 0.99834184, 0.99912468, 0.49318892],\
+-[	-6.27286956, -0.00054266, 0.00033250, 7.27232690, 0.99834214, 0.99912483, 0.49318896],\
+-[	-6.27286979, -0.00054257, 0.00033245, 7.27232722, 0.99834243, 0.99912499, 0.49318900],\
+-[	-6.27287001, -0.00054247, 0.00033239, 7.27232754, 0.99834272, 0.99912514, 0.49318899],\
+-[	-6.27287024, -0.00054238, 0.00033233, 7.27232787, 0.99834301, 0.99912529, 0.49318908],\
+-[	-6.27287047, -0.00054228, 0.00033227, 7.27232819, 0.99834330, 0.99912545, 0.49318910],\
+-[	-6.27287070, -0.00054219, 0.00033221, 7.27232851, 0.99834359, 0.99912560, 0.49318913],\
+-[	-6.27287092, -0.00054209, 0.00033216, 7.27232883, 0.99834388, 0.99912575, 0.49318913],\
+-[	-6.27287115, -0.00054200, 0.00033210, 7.27232915, 0.99834417, 0.99912591, 0.49318919],\
+-[	-6.27287138, -0.00054190, 0.00033204, 7.27232948, 0.99834446, 0.99912606, 0.49318918],\
+-[	-6.27287160, -0.00054181, 0.00033198, 7.27232980, 0.99834475, 0.99912621, 0.49318924],\
+-[	-6.27287183, -0.00054171, 0.00033192, 7.27233012, 0.99834504, 0.99912637, 0.49318928],\
+-[	-6.27287206, -0.00054162, 0.00033186, 7.27233044, 0.99834533, 0.99912652, 0.49318937],\
+-[	-6.27287228, -0.00054152, 0.00033181, 7.27233076, 0.99834562, 0.99912667, 0.49318939],\
+-[	-6.27287251, -0.00054143, 0.00033175, 7.27233108, 0.99834591, 0.99912682, 0.49318942],\
+-[	-6.27287274, -0.00054133, 0.00033169, 7.27233140, 0.99834620, 0.99912698, 0.49318944],\
+-[	-6.27287296, -0.00054124, 0.00033163, 7.27233173, 0.99834649, 0.99912713, 0.49318945],\
+-[	-6.27287319, -0.00054114, 0.00033157, 7.27233205, 0.99834677, 0.99912728, 0.49318948],\
+-[	-6.27287342, -0.00054105, 0.00033152, 7.27233237, 0.99834706, 0.99912744, 0.49318948],\
+-[	-6.27287364, -0.00054095, 0.00033146, 7.27233269, 0.99834735, 0.99912759, 0.49318960],\
+-[	-6.27287387, -0.00054086, 0.00033140, 7.27233301, 0.99834764, 0.99912774, 0.49318965],\
+-[	-6.27287409, -0.00054076, 0.00033134, 7.27233333, 0.99834793, 0.99912789, 0.49318963],\
+-[	-6.27287432, -0.00054067, 0.00033128, 7.27233365, 0.99834822, 0.99912805, 0.49318967],\
+-[	-6.27287455, -0.00054058, 0.00033123, 7.27233397, 0.99834851, 0.99912820, 0.49318974],\
+-[	-6.27287477, -0.00054048, 0.00033117, 7.27233429, 0.99834880, 0.99912835, 0.49318975],\
+-[	-6.27287500, -0.00054039, 0.00033111, 7.27233461, 0.99834908, 0.99912850, 0.49318982],\
+-[	-6.27287522, -0.00054029, 0.00033105, 7.27233493, 0.99834937, 0.99912865, 0.49318976],\
+-[	-6.27287545, -0.00054020, 0.00033100, 7.27233525, 0.99834966, 0.99912881, 0.49318982],\
+-[	-6.27287568, -0.00054010, 0.00033094, 7.27233557, 0.99834995, 0.99912896, 0.49318990],\
+-[	-6.27287590, -0.00054001, 0.00033088, 7.27233589, 0.99835024, 0.99912911, 0.49318991],\
+-[	-6.27287613, -0.00053992, 0.00033082, 7.27233621, 0.99835052, 0.99912926, 0.49318988],\
+-[	-6.27287635, -0.00053982, 0.00033076, 7.27233653, 0.99835081, 0.99912941, 0.49319001],\
+-[	-6.27287658, -0.00053973, 0.00033071, 7.27233685, 0.99835110, 0.99912957, 0.49318998],\
+-[	-6.27287680, -0.00053963, 0.00033065, 7.27233717, 0.99835139, 0.99912972, 0.49319007],\
+-[	-6.27287703, -0.00053954, 0.00033059, 7.27233749, 0.99835168, 0.99912987, 0.49319009],\
+-[	-6.27287725, -0.00053945, 0.00033053, 7.27233781, 0.99835196, 0.99913002, 0.49319013],\
+-[	-6.27287748, -0.00053935, 0.00033048, 7.27233812, 0.99835225, 0.99913017, 0.49319012],\
+-[	-6.27287770, -0.00053926, 0.00033042, 7.27233844, 0.99835254, 0.99913032, 0.49319022],\
+-[	-6.27287793, -0.00053916, 0.00033036, 7.27233876, 0.99835282, 0.99913048, 0.49319019],\
+-[	-6.27287815, -0.00053907, 0.00033030, 7.27233908, 0.99835311, 0.99913063, 0.49319021],\
+-[	-6.27287838, -0.00053898, 0.00033025, 7.27233940, 0.99835340, 0.99913078, 0.49319029],\
+-[	-6.27287860, -0.00053888, 0.00033019, 7.27233972, 0.99835368, 0.99913093, 0.49319029],\
+-[	-6.27287882, -0.00053879, 0.00033013, 7.27234004, 0.99835397, 0.99913108, 0.49319033],\
+-[	-6.27287905, -0.00053869, 0.00033007, 7.27234035, 0.99835426, 0.99913123, 0.49319038],\
+-[	-6.27287927, -0.00053860, 0.00033002, 7.27234067, 0.99835454, 0.99913138, 0.49319044],\
+-[	-6.27287950, -0.00053851, 0.00032996, 7.27234099, 0.99835483, 0.99913153, 0.49319044],\
+-[	-6.27287972, -0.00053841, 0.00032990, 7.27234131, 0.99835512, 0.99913169, 0.49319052],\
+-[	-6.27287994, -0.00053832, 0.00032984, 7.27234162, 0.99835540, 0.99913184, 0.49319053],\
+-[	-6.27288017, -0.00053823, 0.00032979, 7.27234194, 0.99835569, 0.99913199, 0.49319055],\
+-[	-6.27288039, -0.00053813, 0.00032973, 7.27234226, 0.99835598, 0.99913214, 0.49319059],\
+-[	-6.27288062, -0.00053804, 0.00032967, 7.27234258, 0.99835626, 0.99913229, 0.49319064],\
+-[	-6.27288084, -0.00053795, 0.00032961, 7.27234289, 0.99835655, 0.99913244, 0.49319065],\
+-[	-6.27288106, -0.00053785, 0.00032956, 7.27234321, 0.99835683, 0.99913259, 0.49319063],\
+-[	-6.27288129, -0.00053776, 0.00032950, 7.27234353, 0.99835712, 0.99913274, 0.49319073],\
+-[	-6.27288151, -0.00053767, 0.00032944, 7.27234385, 0.99835740, 0.99913289, 0.49319071],\
+-[	-6.27288173, -0.00053757, 0.00032938, 7.27234416, 0.99835769, 0.99913304, 0.49319080],\
+-[	-6.27288196, -0.00053748, 0.00032933, 7.27234448, 0.99835797, 0.99913319, 0.49319079],\
+-[	-6.27288218, -0.00053739, 0.00032927, 7.27234480, 0.99835826, 0.99913334, 0.49319084],\
+-[	-6.27288240, -0.00053729, 0.00032921, 7.27234511, 0.99835854, 0.99913349, 0.49319094],\
+-[	-6.27288263, -0.00053720, 0.00032916, 7.27234543, 0.99835883, 0.99913365, 0.49319090],\
+-[	-6.27288285, -0.00053711, 0.00032910, 7.27234574, 0.99835911, 0.99913380, 0.49319093],\
+-[	-6.27288307, -0.00053701, 0.00032904, 7.27234606, 0.99835940, 0.99913395, 0.49319095],\
+-[	-6.27288330, -0.00053692, 0.00032898, 7.27234638, 0.99835968, 0.99913410, 0.49319102],\
+-[	-6.27288352, -0.00053683, 0.00032893, 7.27234669, 0.99835997, 0.99913425, 0.49319110],\
+-[	-6.27288374, -0.00053673, 0.00032887, 7.27234701, 0.99836025, 0.99913440, 0.49319107],\
+-[	-6.27288396, -0.00053664, 0.00032881, 7.27234732, 0.99836054, 0.99913455, 0.49319115],\
+-[	-6.27288419, -0.00053655, 0.00032876, 7.27234764, 0.99836082, 0.99913470, 0.49319113],\
+-[	-6.27288441, -0.00053645, 0.00032870, 7.27234795, 0.99836111, 0.99913485, 0.49319119],\
+-[	-6.27288463, -0.00053636, 0.00032864, 7.27234827, 0.99836139, 0.99913500, 0.49319119],\
+-[	-6.27288485, -0.00053627, 0.00032859, 7.27234859, 0.99836167, 0.99913515, 0.49319124],\
+-[	-6.27288508, -0.00053618, 0.00032853, 7.27234890, 0.99836196, 0.99913530, 0.49319131],\
+-[	-6.27288530, -0.00053608, 0.00032847, 7.27234922, 0.99836224, 0.99913545, 0.49319132],\
+-[	-6.27288552, -0.00053599, 0.00032841, 7.27234953, 0.99836253, 0.99913560, 0.49319134],\
+-[	-6.27288574, -0.00053590, 0.00032836, 7.27234985, 0.99836281, 0.99913575, 0.49319141],\
+-[	-6.27288596, -0.00053580, 0.00032830, 7.27235016, 0.99836309, 0.99913590, 0.49319142],\
+-[	-6.27288619, -0.00053571, 0.00032824, 7.27235047, 0.99836338, 0.99913604, 0.49319138],\
+-[	-6.27288641, -0.00053562, 0.00032819, 7.27235079, 0.99836366, 0.99913619, 0.49319145],\
+-[	-6.27288663, -0.00053553, 0.00032813, 7.27235110, 0.99836394, 0.99913634, 0.49319149],\
+-[	-6.27288685, -0.00053543, 0.00032807, 7.27235142, 0.99836423, 0.99913649, 0.49319155],\
+-[	-6.27288707, -0.00053534, 0.00032802, 7.27235173, 0.99836451, 0.99913664, 0.49319156],\
+-[	-6.27288729, -0.00053525, 0.00032796, 7.27235205, 0.99836479, 0.99913679, 0.49319156],\
+-[	-6.27288752, -0.00053516, 0.00032790, 7.27235236, 0.99836507, 0.99913694, 0.49319162],\
+-[	-6.27288774, -0.00053506, 0.00032785, 7.27235267, 0.99836536, 0.99913709, 0.49319169],\
+-[	-6.27288796, -0.00053497, 0.00032779, 7.27235299, 0.99836564, 0.99913724, 0.49319169],\
+-[	-6.27288818, -0.00053488, 0.00032773, 7.27235330, 0.99836592, 0.99913739, 0.49319176],\
+-[	-6.27288840, -0.00053479, 0.00032768, 7.27235361, 0.99836620, 0.99913754, 0.49319177],\
+-[	-6.27288862, -0.00053469, 0.00032762, 7.27235393, 0.99836649, 0.99913769, 0.49319182],\
+-[	-6.27288884, -0.00053460, 0.00032756, 7.27235424, 0.99836677, 0.99913784, 0.49319183],\
+-[	-6.27288906, -0.00053451, 0.00032751, 7.27235455, 0.99836705, 0.99913798, 0.49319186],\
+-[	-6.27288928, -0.00053442, 0.00032745, 7.27235487, 0.99836733, 0.99913813, 0.49319195],\
+-[	-6.27288950, -0.00053432, 0.00032739, 7.27235518, 0.99836762, 0.99913828, 0.49319191],\
+-[	-6.27288973, -0.00053423, 0.00032734, 7.27235549, 0.99836790, 0.99913843, 0.49319195],\
+-[	-6.27288995, -0.00053414, 0.00032728, 7.27235581, 0.99836818, 0.99913858, 0.49319198],\
+-[	-6.27289017, -0.00053405, 0.00032722, 7.27235612, 0.99836846, 0.99913873, 0.49319204],\
+-[	-6.27289039, -0.00053396, 0.00032717, 7.27235643, 0.99836874, 0.99913888, 0.49319208],\
+-[	-6.27289061, -0.00053386, 0.00032711, 7.27235674, 0.99836902, 0.99913903, 0.49319213],\
+-[	-6.27289083, -0.00053377, 0.00032705, 7.27235706, 0.99836931, 0.99913917, 0.49319212],\
+-[	-6.27289105, -0.00053368, 0.00032700, 7.27235737, 0.99836959, 0.99913932, 0.49319218],\
+-[	-6.27289127, -0.00053359, 0.00032694, 7.27235768, 0.99836987, 0.99913947, 0.49319222],\
+-[	-6.27289149, -0.00053350, 0.00032689, 7.27235799, 0.99837015, 0.99913962, 0.49319223],\
+-[	-6.27289171, -0.00053340, 0.00032683, 7.27235830, 0.99837043, 0.99913977, 0.49319229],\
+-[	-6.27289193, -0.00053331, 0.00032677, 7.27235862, 0.99837071, 0.99913992, 0.49319228],\
+-[	-6.27289215, -0.00053322, 0.00032672, 7.27235893, 0.99837099, 0.99914006, 0.49319230],\
+-[	-6.27289237, -0.00053313, 0.00032666, 7.27235924, 0.99837127, 0.99914021, 0.49319236],\
+-[	-6.27289259, -0.00053304, 0.00032660, 7.27235955, 0.99837155, 0.99914036, 0.49319240],\
+-[	-6.27289281, -0.00053294, 0.00032655, 7.27235986, 0.99837183, 0.99914051, 0.49319244],\
+-[	-6.27289303, -0.00053285, 0.00032649, 7.27236017, 0.99837211, 0.99914066, 0.49319243],\
+-[	-6.27289325, -0.00053276, 0.00032643, 7.27236048, 0.99837239, 0.99914080, 0.49319249],\
+-[	-6.27289346, -0.00053267, 0.00032638, 7.27236080, 0.99837267, 0.99914095, 0.49319257],\
+-[	-6.27289368, -0.00053258, 0.00032632, 7.27236111, 0.99837295, 0.99914110, 0.49319253],\
+-[	-6.27289390, -0.00053249, 0.00032627, 7.27236142, 0.99837323, 0.99914125, 0.49319261],\
+-[	-6.27289412, -0.00053239, 0.00032621, 7.27236173, 0.99837351, 0.99914140, 0.49319263],\
+-[	-6.27289434, -0.00053230, 0.00032615, 7.27236204, 0.99837379, 0.99914154, 0.49319267],\
+-[	-6.27289456, -0.00053221, 0.00032610, 7.27236235, 0.99837407, 0.99914169, 0.49319271],\
+-[	-6.27289478, -0.00053212, 0.00032604, 7.27236266, 0.99837435, 0.99914184, 0.49319271],\
+-[	-6.27289500, -0.00053203, 0.00032599, 7.27236297, 0.99837463, 0.99914199, 0.49319270],\
+-[	-6.27289522, -0.00053194, 0.00032593, 7.27236328, 0.99837491, 0.99914213, 0.49319278],\
+-[	-6.27289544, -0.00053185, 0.00032587, 7.27236359, 0.99837519, 0.99914228, 0.49319281],\
+-[	-6.27289565, -0.00053175, 0.00032582, 7.27236390, 0.99837547, 0.99914243, 0.49319284],\
+-[	-6.27289587, -0.00053166, 0.00032576, 7.27236421, 0.99837575, 0.99914258, 0.49319286],\
+-[	-6.27289609, -0.00053157, 0.00032571, 7.27236452, 0.99837603, 0.99914272, 0.49319287],\
+-[	-6.27289631, -0.00053148, 0.00032565, 7.27236483, 0.99837631, 0.99914287, 0.49319297],\
+-[	-6.27289653, -0.00053139, 0.00032559, 7.27236514, 0.99837659, 0.99914302, 0.49319300],\
+-[	-6.27289675, -0.00053130, 0.00032554, 7.27236545, 0.99837687, 0.99914316, 0.49319302],\
+-[	-6.27289696, -0.00053121, 0.00032548, 7.27236576, 0.99837714, 0.99914331, 0.49319305],\
+-[	-6.27289718, -0.00053112, 0.00032543, 7.27236607, 0.99837742, 0.99914346, 0.49319306],\
+-[	-6.27289740, -0.00053102, 0.00032537, 7.27236638, 0.99837770, 0.99914361, 0.49319318],\
+-[	-6.27289762, -0.00053093, 0.00032531, 7.27236668, 0.99837798, 0.99914375, 0.49319313],\
+-[	-6.27289784, -0.00053084, 0.00032526, 7.27236699, 0.99837826, 0.99914390, 0.49319318],\
+-[	-6.27289805, -0.00053075, 0.00032520, 7.27236730, 0.99837854, 0.99914405, 0.49319320],\
+-[	-6.27289827, -0.00053066, 0.00032515, 7.27236761, 0.99837881, 0.99914419, 0.49319315],\
+-[	-6.27289849, -0.00053057, 0.00032509, 7.27236792, 0.99837909, 0.99914434, 0.49319329],\
+-[	-6.27289871, -0.00053048, 0.00032504, 7.27236823, 0.99837937, 0.99914449, 0.49319329],\
+-[	-6.27289892, -0.00053039, 0.00032498, 7.27236854, 0.99837965, 0.99914463, 0.49319336],\
+-[	-6.27289914, -0.00053030, 0.00032492, 7.27236884, 0.99837993, 0.99914478, 0.49319338],\
+-[	-6.27289936, -0.00053021, 0.00032487, 7.27236915, 0.99838020, 0.99914493, 0.49319340],\
+-[	-6.27289958, -0.00053012, 0.00032481, 7.27236946, 0.99838048, 0.99914507, 0.49319339],\
+-[	-6.27289979, -0.00053002, 0.00032476, 7.27236977, 0.99838076, 0.99914522, 0.49319350],\
+-[	-6.27290001, -0.00052993, 0.00032470, 7.27237008, 0.99838104, 0.99914536, 0.49319352],\
+-[	-6.27290023, -0.00052984, 0.00032465, 7.27237038, 0.99838131, 0.99914551, 0.49319359],\
+-[	-6.27290044, -0.00052975, 0.00032459, 7.27237069, 0.99838159, 0.99914566, 0.49319354],\
+-[	-6.27290066, -0.00052966, 0.00032453, 7.27237100, 0.99838187, 0.99914580, 0.49319355],\
+-[	-6.27290088, -0.00052957, 0.00032448, 7.27237131, 0.99838214, 0.99914595, 0.49319365],\
+-[	-6.27290109, -0.00052948, 0.00032442, 7.27237161, 0.99838242, 0.99914610, 0.49319372],\
+-[	-6.27290131, -0.00052939, 0.00032437, 7.27237192, 0.99838270, 0.99914624, 0.49319371],\
+-[	-6.27290153, -0.00052930, 0.00032431, 7.27237223, 0.99838297, 0.99914639, 0.49319369],\
+-[	-6.27290174, -0.00052921, 0.00032426, 7.27237254, 0.99838325, 0.99914653, 0.49319379],\
+-[	-6.27290196, -0.00052912, 0.00032420, 7.27237284, 0.99838353, 0.99914668, 0.49319379],\
+-[	-6.27290218, -0.00052903, 0.00032415, 7.27237315, 0.99838380, 0.99914683, 0.49319387],\
+-[	-6.27290239, -0.00052894, 0.00032409, 7.27237346, 0.99838408, 0.99914697, 0.49319384],\
+-[	-6.27290261, -0.00052885, 0.00032404, 7.27237376, 0.99838436, 0.99914712, 0.49319390],\
+-[	-6.27290283, -0.00052876, 0.00032398, 7.27237407, 0.99838463, 0.99914726, 0.49319391],\
+-[	-6.27290304, -0.00052867, 0.00032392, 7.27237438, 0.99838491, 0.99914741, 0.49319397],\
+-[	-6.27290326, -0.00052858, 0.00032387, 7.27237468, 0.99838518, 0.99914755, 0.49319399],\
+-[	-6.27290347, -0.00052849, 0.00032381, 7.27237499, 0.99838546, 0.99914770, 0.49319399],\
+-[	-6.27290369, -0.00052840, 0.00032376, 7.27237529, 0.99838574, 0.99914785, 0.49319402],\
+-[	-6.27290391, -0.00052831, 0.00032370, 7.27237560, 0.99838601, 0.99914799, 0.49319410],\
+-[	-6.27290412, -0.00052822, 0.00032365, 7.27237591, 0.99838629, 0.99914814, 0.49319411],\
+-[	-6.27290434, -0.00052813, 0.00032359, 7.27237621, 0.99838656, 0.99914828, 0.49319417],\
+-[	-6.27290455, -0.00052804, 0.00032354, 7.27237652, 0.99838684, 0.99914843, 0.49319421],\
+-[	-6.27290477, -0.00052795, 0.00032348, 7.27237682, 0.99838711, 0.99914857, 0.49319423],\
+-[	-6.27290498, -0.00052786, 0.00032343, 7.27237713, 0.99838739, 0.99914872, 0.49319424],\
+-[	-6.27290520, -0.00052777, 0.00032337, 7.27237743, 0.99838766, 0.99914886, 0.49319429],\
+-[	-6.27290541, -0.00052768, 0.00032332, 7.27237774, 0.99838794, 0.99914901, 0.49319426],\
+-[	-6.27290563, -0.00052759, 0.00032326, 7.27237804, 0.99838821, 0.99914915, 0.49319434],\
+-[	-6.27290584, -0.00052750, 0.00032321, 7.27237835, 0.99838849, 0.99914930, 0.49319436],\
+-[	-6.27290606, -0.00052741, 0.00032315, 7.27237865, 0.99838876, 0.99914944, 0.49319441],\
+-[	-6.27290627, -0.00052732, 0.00032310, 7.27237896, 0.99838904, 0.99914959, 0.49319443],\
+-[	-6.27290649, -0.00052723, 0.00032304, 7.27237926, 0.99838931, 0.99914973, 0.49319450],\
+-[	-6.27290670, -0.00052714, 0.00032299, 7.27237957, 0.99838959, 0.99914988, 0.49319447],\
+-[	-6.27290692, -0.00052705, 0.00032293, 7.27237987, 0.99838986, 0.99915002, 0.49319454],\
+-[	-6.27290713, -0.00052696, 0.00032288, 7.27238018, 0.99839013, 0.99915017, 0.49319453],\
+-[	-6.27290735, -0.00052687, 0.00032282, 7.27238048, 0.99839041, 0.99915031, 0.49319457],\
+-[	-6.27290756, -0.00052678, 0.00032277, 7.27238078, 0.99839068, 0.99915046, 0.49319463],\
+-[	-6.27290778, -0.00052669, 0.00032271, 7.27238109, 0.99839096, 0.99915060, 0.49319468],\
+-[	-6.27290799, -0.00052660, 0.00032266, 7.27238139, 0.99839123, 0.99915075, 0.49319471],\
+-[	-6.27290821, -0.00052651, 0.00032260, 7.27238170, 0.99839150, 0.99915089, 0.49319472],\
+-[	-6.27290842, -0.00052642, 0.00032255, 7.27238200, 0.99839178, 0.99915103, 0.49319477],\
+-[	-6.27290863, -0.00052633, 0.00032249, 7.27238230, 0.99839205, 0.99915118, 0.49319479],\
+-[	-6.27290885, -0.00052624, 0.00032244, 7.27238261, 0.99839232, 0.99915132, 0.49319479],\
+-[	-6.27290906, -0.00052615, 0.00032238, 7.27238291, 0.99839260, 0.99915147, 0.49319486],\
+-[	-6.27290928, -0.00052606, 0.00032233, 7.27238321, 0.99839287, 0.99915161, 0.49319496],\
+-[	-6.27290949, -0.00052597, 0.00032227, 7.27238352, 0.99839314, 0.99915176, 0.49319494],\
+-[	-6.27290970, -0.00052588, 0.00032222, 7.27238382, 0.99839342, 0.99915190, 0.49319490],\
+-[	-6.27290992, -0.00052579, 0.00032216, 7.27238412, 0.99839369, 0.99915204, 0.49319495],\
+-[	-6.27291013, -0.00052570, 0.00032211, 7.27238443, 0.99839396, 0.99915219, 0.49319503],\
+-[	-6.27291034, -0.00052561, 0.00032205, 7.27238473, 0.99839424, 0.99915233, 0.49319499],\
+-[	-6.27291056, -0.00052553, 0.00032200, 7.27238503, 0.99839451, 0.99915248, 0.49319506],\
+-[	-6.27291077, -0.00052544, 0.00032194, 7.27238534, 0.99839478, 0.99915262, 0.49319516],\
+-[	-6.27291098, -0.00052535, 0.00032189, 7.27238564, 0.99839505, 0.99915276, 0.49319515],\
+-[	-6.27291120, -0.00052526, 0.00032183, 7.27238594, 0.99839533, 0.99915291, 0.49319519],\
+-[	-6.27291141, -0.00052517, 0.00032178, 7.27238624, 0.99839560, 0.99915305, 0.49319519],\
+-[	-6.27291162, -0.00052508, 0.00032173, 7.27238654, 0.99839587, 0.99915320, 0.49319522],\
+-[	-6.27291184, -0.00052499, 0.00032167, 7.27238685, 0.99839614, 0.99915334, 0.49319528],\
+-[	-6.27291205, -0.00052490, 0.00032162, 7.27238715, 0.99839642, 0.99915348, 0.49319533],\
+-[	-6.27291226, -0.00052481, 0.00032156, 7.27238745, 0.99839669, 0.99915363, 0.49319536],\
+-[	-6.27291248, -0.00052472, 0.00032151, 7.27238775, 0.99839696, 0.99915377, 0.49319537],\
+-[	-6.27291269, -0.00052463, 0.00032145, 7.27238805, 0.99839723, 0.99915391, 0.49319544],\
+-[	-6.27291290, -0.00052455, 0.00032140, 7.27238836, 0.99839750, 0.99915406, 0.49319545],\
+-[	-6.27291311, -0.00052446, 0.00032134, 7.27238866, 0.99839777, 0.99915420, 0.49319547],\
+-[	-6.27291333, -0.00052437, 0.00032129, 7.27238896, 0.99839805, 0.99915434, 0.49319547],\
+-[	-6.27291354, -0.00052428, 0.00032123, 7.27238926, 0.99839832, 0.99915449, 0.49319552],\
+-[	-6.27291375, -0.00052419, 0.00032118, 7.27238956, 0.99839859, 0.99915463, 0.49319555],\
+-[	-6.27291396, -0.00052410, 0.00032113, 7.27238986, 0.99839886, 0.99915477, 0.49319555],\
+-[	-6.27291418, -0.00052401, 0.00032107, 7.27239016, 0.99839913, 0.99915492, 0.49319565],\
+-[	-6.27291439, -0.00052392, 0.00032102, 7.27239046, 0.99839940, 0.99915506, 0.49319563],\
+-[	-6.27291460, -0.00052384, 0.00032096, 7.27239077, 0.99839967, 0.99915520, 0.49319565],\
+-[	-6.27291481, -0.00052375, 0.00032091, 7.27239107, 0.99839994, 0.99915534, 0.49319571],\
+-[	-6.27291503, -0.00052366, 0.00032085, 7.27239137, 0.99840021, 0.99915549, 0.49319576],\
+-[	-6.27291524, -0.00052357, 0.00032080, 7.27239167, 0.99840049, 0.99915563, 0.49319577],\
+-[	-6.27291545, -0.00052348, 0.00032075, 7.27239197, 0.99840076, 0.99915577, 0.49319579],\
+-[	-6.27291566, -0.00052339, 0.00032069, 7.27239227, 0.99840103, 0.99915592, 0.49319582],\
+-[	-6.27291587, -0.00052330, 0.00032064, 7.27239257, 0.99840130, 0.99915606, 0.49319587],\
+-[	-6.27291608, -0.00052322, 0.00032058, 7.27239287, 0.99840157, 0.99915620, 0.49319592],\
+-[	-6.27291630, -0.00052313, 0.00032053, 7.27239317, 0.99840184, 0.99915634, 0.49319593],\
+-[	-6.27291651, -0.00052304, 0.00032047, 7.27239347, 0.99840211, 0.99915649, 0.49319594],\
+-[	-6.27291672, -0.00052295, 0.00032042, 7.27239377, 0.99840238, 0.99915663, 0.49319596],\
+-[	-6.27291693, -0.00052286, 0.00032037, 7.27239407, 0.99840265, 0.99915677, 0.49319602],\
+-[	-6.27291714, -0.00052277, 0.00032031, 7.27239437, 0.99840292, 0.99915691, 0.49319607],\
+-[	-6.27291735, -0.00052269, 0.00032026, 7.27239467, 0.99840319, 0.99915706, 0.49319609],\
+-[	-6.27291756, -0.00052260, 0.00032020, 7.27239497, 0.99840346, 0.99915720, 0.49319609],\
+-[	-6.27291777, -0.00052251, 0.00032015, 7.27239526, 0.99840373, 0.99915734, 0.49319619],\
+-[	-6.27291799, -0.00052242, 0.00032010, 7.27239556, 0.99840400, 0.99915748, 0.49319624],\
+-[	-6.27291820, -0.00052233, 0.00032004, 7.27239586, 0.99840427, 0.99915763, 0.49319616],\
+-[	-6.27291841, -0.00052225, 0.00031999, 7.27239616, 0.99840453, 0.99915777, 0.49319625],\
+-[	-6.27291862, -0.00052216, 0.00031993, 7.27239646, 0.99840480, 0.99915791, 0.49319632],\
+-[	-6.27291883, -0.00052207, 0.00031988, 7.27239676, 0.99840507, 0.99915805, 0.49319625],\
+-[	-6.27291904, -0.00052198, 0.00031983, 7.27239706, 0.99840534, 0.99915819, 0.49319634],\
+-[	-6.27291925, -0.00052189, 0.00031977, 7.27239736, 0.99840561, 0.99915834, 0.49319638],\
+-[	-6.27291946, -0.00052180, 0.00031972, 7.27239766, 0.99840588, 0.99915848, 0.49319640],\
+-[	-6.27291967, -0.00052172, 0.00031966, 7.27239795, 0.99840615, 0.99915862, 0.49319643],\
+-[	-6.27291988, -0.00052163, 0.00031961, 7.27239825, 0.99840642, 0.99915876, 0.49319646],\
+-[	-6.27292009, -0.00052154, 0.00031956, 7.27239855, 0.99840669, 0.99915890, 0.49319643],\
+-[	-6.27292030, -0.00052145, 0.00031950, 7.27239885, 0.99840695, 0.99915904, 0.49319651],\
+-[	-6.27292051, -0.00052137, 0.00031945, 7.27239915, 0.99840722, 0.99915919, 0.49319652],\
+-[	-6.27292072, -0.00052128, 0.00031939, 7.27239944, 0.99840749, 0.99915933, 0.49319657],\
+-[	-6.27292093, -0.00052119, 0.00031934, 7.27239974, 0.99840776, 0.99915947, 0.49319663],\
+-[	-6.27292114, -0.00052110, 0.00031929, 7.27240004, 0.99840803, 0.99915961, 0.49319665],\
+-[	-6.27292135, -0.00052101, 0.00031923, 7.27240034, 0.99840830, 0.99915975, 0.49319671],\
+-[	-6.27292156, -0.00052093, 0.00031918, 7.27240063, 0.99840856, 0.99915989, 0.49319676],\
+-[	-6.27292177, -0.00052084, 0.00031913, 7.27240093, 0.99840883, 0.99916004, 0.49319677],\
+-[	-6.27292198, -0.00052075, 0.00031907, 7.27240123, 0.99840910, 0.99916018, 0.49319672],\
+-[	-6.27292219, -0.00052066, 0.00031902, 7.27240153, 0.99840937, 0.99916032, 0.49319676],\
+-[	-6.27292240, -0.00052058, 0.00031896, 7.27240182, 0.99840964, 0.99916046, 0.49319684],\
+-[	-6.27292261, -0.00052049, 0.00031891, 7.27240212, 0.99840990, 0.99916060, 0.49319683],\
+-[	-6.27292282, -0.00052040, 0.00031886, 7.27240242, 0.99841017, 0.99916074, 0.49319688],\
+-[	-6.27292303, -0.00052031, 0.00031880, 7.27240271, 0.99841044, 0.99916088, 0.49319696],\
+-[	-6.27292324, -0.00052023, 0.00031875, 7.27240301, 0.99841070, 0.99916102, 0.49319696],\
+-[	-6.27292345, -0.00052014, 0.00031870, 7.27240331, 0.99841097, 0.99916117, 0.49319698],\
+-[	-6.27292366, -0.00052005, 0.00031864, 7.27240360, 0.99841124, 0.99916131, 0.49319702],\
+-[	-6.27292386, -0.00051996, 0.00031859, 7.27240390, 0.99841151, 0.99916145, 0.49319705],\
+-[	-6.27292407, -0.00051988, 0.00031854, 7.27240420, 0.99841177, 0.99916159, 0.49319708],\
+-[	-6.27292428, -0.00051979, 0.00031848, 7.27240449, 0.99841204, 0.99916173, 0.49319705],\
+-[	-6.27292449, -0.00051970, 0.00031843, 7.27240479, 0.99841231, 0.99916187, 0.49319715],\
+-[	-6.27292470, -0.00051962, 0.00031837, 7.27240508, 0.99841257, 0.99916201, 0.49319716],\
+-[	-6.27292491, -0.00051953, 0.00031832, 7.27240538, 0.99841284, 0.99916215, 0.49319722],\
+-[	-6.27292512, -0.00051944, 0.00031827, 7.27240568, 0.99841311, 0.99916229, 0.49319725],\
+-[	-6.27292533, -0.00051935, 0.00031821, 7.27240597, 0.99841337, 0.99916243, 0.49319725],\
+-[	-6.27292553, -0.00051927, 0.00031816, 7.27240627, 0.99841364, 0.99916257, 0.49319734],\
+-[	-6.27292574, -0.00051918, 0.00031811, 7.27240656, 0.99841390, 0.99916271, 0.49319744],\
+-[	-6.27292595, -0.00051909, 0.00031805, 7.27240686, 0.99841417, 0.99916285, 0.49319739],\
+-[	-6.27292616, -0.00051901, 0.00031800, 7.27240715, 0.99841444, 0.99916299, 0.49319736],\
+-[	-6.27292637, -0.00051892, 0.00031795, 7.27240745, 0.99841470, 0.99916313, 0.49319748],\
+-[	-6.27292658, -0.00051883, 0.00031789, 7.27240774, 0.99841497, 0.99916327, 0.49319747],\
+-[	-6.27292678, -0.00051874, 0.00031784, 7.27240804, 0.99841523, 0.99916341, 0.49319748],\
+-[	-6.27292699, -0.00051866, 0.00031779, 7.27240833, 0.99841550, 0.99916355, 0.49319753],\
+-[	-6.27292720, -0.00051857, 0.00031773, 7.27240863, 0.99841577, 0.99916369, 0.49319759],\
+-[	-6.27292741, -0.00051848, 0.00031768, 7.27240892, 0.99841603, 0.99916384, 0.49319759],\
+-[	-6.27292762, -0.00051840, 0.00031763, 7.27240922, 0.99841630, 0.99916398, 0.49319759],\
+-[	-6.27292782, -0.00051831, 0.00031757, 7.27240951, 0.99841656, 0.99916412, 0.49319764],\
+-[	-6.27292803, -0.00051822, 0.00031752, 7.27240981, 0.99841683, 0.99916426, 0.49319769],\
+-[	-6.27292824, -0.00051814, 0.00031747, 7.27241010, 0.99841709, 0.99916440, 0.49319768],\
+-[	-6.27292845, -0.00051805, 0.00031742, 7.27241040, 0.99841736, 0.99916453, 0.49319773],\
+-[	-6.27292865, -0.00051796, 0.00031736, 7.27241069, 0.99841762, 0.99916467, 0.49319777],\
+-[	-6.27292886, -0.00051788, 0.00031731, 7.27241098, 0.99841789, 0.99916481, 0.49319789],\
+-[	-6.27292907, -0.00051779, 0.00031726, 7.27241128, 0.99841815, 0.99916495, 0.49319781],\
+-[	-6.27292927, -0.00051770, 0.00031720, 7.27241157, 0.99841842, 0.99916509, 0.49319785],\
+-[	-6.27292948, -0.00051762, 0.00031715, 7.27241186, 0.99841868, 0.99916523, 0.49319784],\
+-[	-6.27292969, -0.00051753, 0.00031710, 7.27241216, 0.99841895, 0.99916537, 0.49319795],\
+-[	-6.27292990, -0.00051744, 0.00031704, 7.27241245, 0.99841921, 0.99916551, 0.49319794],\
+-[	-6.27293010, -0.00051736, 0.00031699, 7.27241275, 0.99841947, 0.99916565, 0.49319797],\
+-[	-6.27293031, -0.00051727, 0.00031694, 7.27241304, 0.99841974, 0.99916579, 0.49319807],\
+-[	-6.27293052, -0.00051718, 0.00031688, 7.27241333, 0.99842000, 0.99916593, 0.49319800],\
+-[	-6.27293072, -0.00051710, 0.00031683, 7.27241363, 0.99842027, 0.99916607, 0.49319809],\
+-[	-6.27293093, -0.00051701, 0.00031678, 7.27241392, 0.99842053, 0.99916621, 0.49319811],\
+-[	-6.27293114, -0.00051693, 0.00031673, 7.27241421, 0.99842079, 0.99916635, 0.49319811],\
+-[	-6.27293134, -0.00051684, 0.00031667, 7.27241450, 0.99842106, 0.99916649, 0.49319817],\
+-[	-6.27293155, -0.00051675, 0.00031662, 7.27241480, 0.99842132, 0.99916663, 0.49319820],\
+-[	-6.27293176, -0.00051667, 0.00031657, 7.27241509, 0.99842159, 0.99916677, 0.49319821],\
+-[	-6.27293196, -0.00051658, 0.00031651, 7.27241538, 0.99842185, 0.99916691, 0.49319833],\
+-[	-6.27293217, -0.00051649, 0.00031646, 7.27241567, 0.99842211, 0.99916704, 0.49319829],\
+-[	-6.27293237, -0.00051641, 0.00031641, 7.27241597, 0.99842238, 0.99916718, 0.49319831],\
+-[	-6.27293258, -0.00051632, 0.00031636, 7.27241626, 0.99842264, 0.99916732, 0.49319838],\
+-[	-6.27293279, -0.00051624, 0.00031630, 7.27241655, 0.99842290, 0.99916746, 0.49319843],\
+-[	-6.27293299, -0.00051615, 0.00031625, 7.27241684, 0.99842316, 0.99916760, 0.49319840],\
+-[	-6.27293320, -0.00051606, 0.00031620, 7.27241713, 0.99842343, 0.99916774, 0.49319841],\
+-[	-6.27293340, -0.00051598, 0.00031614, 7.27241743, 0.99842369, 0.99916788, 0.49319849],\
+-[	-6.27293361, -0.00051589, 0.00031609, 7.27241772, 0.99842395, 0.99916802, 0.49319850],\
+-[	-6.27293382, -0.00051581, 0.00031604, 7.27241801, 0.99842422, 0.99916816, 0.49319856],\
+-[	-6.27293402, -0.00051572, 0.00031599, 7.27241830, 0.99842448, 0.99916829, 0.49319860],\
+-[	-6.27293423, -0.00051563, 0.00031593, 7.27241859, 0.99842474, 0.99916843, 0.49319855],\
+-[	-6.27293443, -0.00051555, 0.00031588, 7.27241888, 0.99842500, 0.99916857, 0.49319861],\
+-[	-6.27293464, -0.00051546, 0.00031583, 7.27241918, 0.99842527, 0.99916871, 0.49319870],\
+-[	-6.27293484, -0.00051538, 0.00031578, 7.27241947, 0.99842553, 0.99916885, 0.49319866],\
+-[	-6.27293505, -0.00051529, 0.00031572, 7.27241976, 0.99842579, 0.99916899, 0.49319873],\
+-[	-6.27293525, -0.00051520, 0.00031567, 7.27242005, 0.99842605, 0.99916912, 0.49319872],\
+-[	-6.27293546, -0.00051512, 0.00031562, 7.27242034, 0.99842632, 0.99916926, 0.49319875],\
+-[	-6.27293566, -0.00051503, 0.00031557, 7.27242063, 0.99842658, 0.99916940, 0.49319885],\
+-[	-6.27293587, -0.00051495, 0.00031551, 7.27242092, 0.99842684, 0.99916954, 0.49319881],\
+-[	-6.27293607, -0.00051486, 0.00031546, 7.27242121, 0.99842710, 0.99916968, 0.49319885],\
+-[	-6.27293628, -0.00051478, 0.00031541, 7.27242150, 0.99842736, 0.99916982, 0.49319897],\
+-[	-6.27293648, -0.00051469, 0.00031536, 7.27242179, 0.99842762, 0.99916995, 0.49319898],\
+-[	-6.27293669, -0.00051461, 0.00031530, 7.27242208, 0.99842789, 0.99917009, 0.49319895],\
+-[	-6.27293689, -0.00051452, 0.00031525, 7.27242237, 0.99842815, 0.99917023, 0.49319902],\
+-[	-6.27293710, -0.00051443, 0.00031520, 7.27242266, 0.99842841, 0.99917037, 0.49319899],\
+-[	-6.27293730, -0.00051435, 0.00031515, 7.27242295, 0.99842867, 0.99917051, 0.49319907],\
+-[	-6.27293751, -0.00051426, 0.00031509, 7.27242324, 0.99842893, 0.99917064, 0.49319910],\
+-[	-6.27293771, -0.00051418, 0.00031504, 7.27242353, 0.99842919, 0.99917078, 0.49319911],\
+-[	-6.27293792, -0.00051409, 0.00031499, 7.27242382, 0.99842945, 0.99917092, 0.49319911],\
+-[	-6.27293812, -0.00051401, 0.00031494, 7.27242411, 0.99842971, 0.99917106, 0.49319918],\
+-[	-6.27293832, -0.00051392, 0.00031488, 7.27242440, 0.99842997, 0.99917119, 0.49319923],\
+-[	-6.27293853, -0.00051384, 0.00031483, 7.27242469, 0.99843024, 0.99917133, 0.49319919],\
+-[	-6.27293873, -0.00051375, 0.00031478, 7.27242498, 0.99843050, 0.99917147, 0.49319924],\
+-[	-6.27293894, -0.00051367, 0.00031473, 7.27242527, 0.99843076, 0.99917161, 0.49319925],\
+-[	-6.27293914, -0.00051358, 0.00031467, 7.27242556, 0.99843102, 0.99917174, 0.49319934],\
+-[	-6.27293934, -0.00051350, 0.00031462, 7.27242585, 0.99843128, 0.99917188, 0.49319932],\
+-[	-6.27293955, -0.00051341, 0.00031457, 7.27242614, 0.99843154, 0.99917202, 0.49319938],\
+-[	-6.27293975, -0.00051333, 0.00031452, 7.27242643, 0.99843180, 0.99917216, 0.49319942],\
+-[	-6.27293995, -0.00051324, 0.00031447, 7.27242671, 0.99843206, 0.99917229, 0.49319947],\
+-[	-6.27294016, -0.00051315, 0.00031441, 7.27242700, 0.99843232, 0.99917243, 0.49319948],\
+-[	-6.27294036, -0.00051307, 0.00031436, 7.27242729, 0.99843258, 0.99917257, 0.49319954],\
+-[	-6.27294057, -0.00051298, 0.00031431, 7.27242758, 0.99843284, 0.99917271, 0.49319956],\
+-[	-6.27294077, -0.00051290, 0.00031426, 7.27242787, 0.99843310, 0.99917284, 0.49319957],\
+-[	-6.27294097, -0.00051281, 0.00031421, 7.27242816, 0.99843336, 0.99917298, 0.49319962],\
+-[	-6.27294118, -0.00051273, 0.00031415, 7.27242845, 0.99843362, 0.99917312, 0.49319969],\
+-[	-6.27294138, -0.00051265, 0.00031410, 7.27242873, 0.99843388, 0.99917325, 0.49319972],\
+-[	-6.27294158, -0.00051256, 0.00031405, 7.27242902, 0.99843414, 0.99917339, 0.49319967],\
+-[	-6.27294178, -0.00051248, 0.00031400, 7.27242931, 0.99843439, 0.99917353, 0.49319971],\
+-[	-6.27294199, -0.00051239, 0.00031395, 7.27242960, 0.99843465, 0.99917366, 0.49319975],\
+-[	-6.27294219, -0.00051231, 0.00031389, 7.27242988, 0.99843491, 0.99917380, 0.49319976],\
+-[	-6.27294239, -0.00051222, 0.00031384, 7.27243017, 0.99843517, 0.99917394, 0.49319985],\
+-[	-6.27294260, -0.00051214, 0.00031379, 7.27243046, 0.99843543, 0.99917407, 0.49319980],\
+-[	-6.27294280, -0.00051205, 0.00031374, 7.27243075, 0.99843569, 0.99917421, 0.49319987],\
+-[	-6.27294300, -0.00051197, 0.00031369, 7.27243103, 0.99843595, 0.99917435, 0.49319991],\
+-[	-6.27294320, -0.00051188, 0.00031363, 7.27243132, 0.99843621, 0.99917448, 0.49319996],\
+-[	-6.27294341, -0.00051180, 0.00031358, 7.27243161, 0.99843647, 0.99917462, 0.49320001],\
+-[	-6.27294361, -0.00051171, 0.00031353, 7.27243190, 0.99843673, 0.99917476, 0.49319998],\
+-[	-6.27294381, -0.00051163, 0.00031348, 7.27243218, 0.99843698, 0.99917489, 0.49320000],\
+-[	-6.27294401, -0.00051154, 0.00031343, 7.27243247, 0.99843724, 0.99917503, 0.49320003],\
+-[	-6.27294422, -0.00051146, 0.00031337, 7.27243276, 0.99843750, 0.99917517, 0.49320007],\
+-[	-6.27294442, -0.00051137, 0.00031332, 7.27243304, 0.99843776, 0.99917530, 0.49320006],\
+-[	-6.27294462, -0.00051129, 0.00031327, 7.27243333, 0.99843802, 0.99917544, 0.49320012],\
+-[	-6.27294482, -0.00051121, 0.00031322, 7.27243362, 0.99843827, 0.99917558, 0.49320018],\
+-[	-6.27294502, -0.00051112, 0.00031317, 7.27243390, 0.99843853, 0.99917571, 0.49320018],\
+-[	-6.27294523, -0.00051104, 0.00031312, 7.27243419, 0.99843879, 0.99917585, 0.49320017],\
+-[	-6.27294543, -0.00051095, 0.00031306, 7.27243448, 0.99843905, 0.99917598, 0.49320022],\
+-[	-6.27294563, -0.00051087, 0.00031301, 7.27243476, 0.99843931, 0.99917612, 0.49320033],\
+-[	-6.27294583, -0.00051078, 0.00031296, 7.27243505, 0.99843956, 0.99917626, 0.49320035],\
+-[	-6.27294603, -0.00051070, 0.00031291, 7.27243533, 0.99843982, 0.99917639, 0.49320035],\
+-[	-6.27294623, -0.00051062, 0.00031286, 7.27243562, 0.99844008, 0.99917653, 0.49320037],\
+-[	-6.27294644, -0.00051053, 0.00031281, 7.27243590, 0.99844034, 0.99917666, 0.49320040],\
+-[	-6.27294664, -0.00051045, 0.00031275, 7.27243619, 0.99844059, 0.99917680, 0.49320046],\
+-[	-6.27294684, -0.00051036, 0.00031270, 7.27243648, 0.99844085, 0.99917693, 0.49320050],\
+-[	-6.27294704, -0.00051028, 0.00031265, 7.27243676, 0.99844111, 0.99917707, 0.49320049],\
+-[	-6.27294724, -0.00051019, 0.00031260, 7.27243705, 0.99844136, 0.99917721, 0.49320054],\
+-[	-6.27294744, -0.00051011, 0.00031255, 7.27243733, 0.99844162, 0.99917734, 0.49320055],\
+-[	-6.27294764, -0.00051003, 0.00031250, 7.27243762, 0.99844188, 0.99917748, 0.49320064],\
+-[	-6.27294784, -0.00050994, 0.00031244, 7.27243790, 0.99844214, 0.99917761, 0.49320065],\
+-[	-6.27294805, -0.00050986, 0.00031239, 7.27243819, 0.99844239, 0.99917775, 0.49320067],\
+-[	-6.27294825, -0.00050977, 0.00031234, 7.27243847, 0.99844265, 0.99917788, 0.49320073],\
+-[	-6.27294845, -0.00050969, 0.00031229, 7.27243876, 0.99844291, 0.99917802, 0.49320072],\
+-[	-6.27294865, -0.00050961, 0.00031224, 7.27243904, 0.99844316, 0.99917815, 0.49320076],\
+-[	-6.27294885, -0.00050952, 0.00031219, 7.27243933, 0.99844342, 0.99917829, 0.49320077],\
+-[	-6.27294905, -0.00050944, 0.00031214, 7.27243961, 0.99844367, 0.99917843, 0.49320076],\
+-[	-6.27294925, -0.00050936, 0.00031208, 7.27243989, 0.99844393, 0.99917856, 0.49320084],\
+-[	-6.27294945, -0.00050927, 0.00031203, 7.27244018, 0.99844419, 0.99917870, 0.49320087],\
+-[	-6.27294965, -0.00050919, 0.00031198, 7.27244046, 0.99844444, 0.99917883, 0.49320088],\
+-[	-6.27294985, -0.00050910, 0.00031193, 7.27244075, 0.99844470, 0.99917897, 0.49320097],\
+-[	-6.27295005, -0.00050902, 0.00031188, 7.27244103, 0.99844495, 0.99917910, 0.49320091],\
+-[	-6.27295025, -0.00050894, 0.00031183, 7.27244132, 0.99844521, 0.99917924, 0.49320097],\
+-[	-6.27295045, -0.00050885, 0.00031178, 7.27244160, 0.99844547, 0.99917937, 0.49320101],\
+-[	-6.27295065, -0.00050877, 0.00031173, 7.27244188, 0.99844572, 0.99917951, 0.49320102],\
+-[	-6.27295085, -0.00050869, 0.00031167, 7.27244217, 0.99844598, 0.99917964, 0.49320101],\
+-[	-6.27295105, -0.00050860, 0.00031162, 7.27244245, 0.99844623, 0.99917978, 0.49320112],\
+-[	-6.27295125, -0.00050852, 0.00031157, 7.27244273, 0.99844649, 0.99917991, 0.49320117],\
+-[	-6.27295145, -0.00050844, 0.00031152, 7.27244302, 0.99844674, 0.99918004, 0.49320117],\
+-[	-6.27295165, -0.00050835, 0.00031147, 7.27244330, 0.99844700, 0.99918018, 0.49320119],\
+-[	-6.27295185, -0.00050827, 0.00031142, 7.27244358, 0.99844725, 0.99918031, 0.49320122],\
+-[	-6.27295205, -0.00050818, 0.00031137, 7.27244387, 0.99844751, 0.99918045, 0.49320128],\
+-[	-6.27295225, -0.00050810, 0.00031132, 7.27244415, 0.99844776, 0.99918058, 0.49320130],\
+-[	-6.27295245, -0.00050802, 0.00031126, 7.27244443, 0.99844802, 0.99918072, 0.49320132],\
+-[	-6.27295265, -0.00050793, 0.00031121, 7.27244472, 0.99844827, 0.99918085, 0.49320130],\
+-[	-6.27295285, -0.00050785, 0.00031116, 7.27244500, 0.99844853, 0.99918099, 0.49320137],\
+-[	-6.27295305, -0.00050777, 0.00031111, 7.27244528, 0.99844878, 0.99918112, 0.49320141],\
+-[	-6.27295325, -0.00050768, 0.00031106, 7.27244556, 0.99844904, 0.99918126, 0.49320145],\
+-[	-6.27295345, -0.00050760, 0.00031101, 7.27244585, 0.99844929, 0.99918139, 0.49320144],\
+-[	-6.27295365, -0.00050752, 0.00031096, 7.27244613, 0.99844955, 0.99918152, 0.49320149],\
+-[	-6.27295385, -0.00050743, 0.00031091, 7.27244641, 0.99844980, 0.99918166, 0.49320154],\
+-[	-6.27295404, -0.00050735, 0.00031086, 7.27244669, 0.99845005, 0.99918179, 0.49320156],\
+-[	-6.27295424, -0.00050727, 0.00031081, 7.27244697, 0.99845031, 0.99918193, 0.49320161],\
+-[	-6.27295444, -0.00050719, 0.00031075, 7.27244726, 0.99845056, 0.99918206, 0.49320163],\
+-[	-6.27295464, -0.00050710, 0.00031070, 7.27244754, 0.99845082, 0.99918219, 0.49320168],\
+-[	-6.27295484, -0.00050702, 0.00031065, 7.27244782, 0.99845107, 0.99918233, 0.49320163],\
+-[	-6.27295504, -0.00050694, 0.00031060, 7.27244810, 0.99845132, 0.99918246, 0.49320171],\
+-[	-6.27295524, -0.00050685, 0.00031055, 7.27244838, 0.99845158, 0.99918260, 0.49320174],\
+-[	-6.27295544, -0.00050677, 0.00031050, 7.27244867, 0.99845183, 0.99918273, 0.49320177],\
+-[	-6.27295563, -0.00050669, 0.00031045, 7.27244895, 0.99845208, 0.99918286, 0.49320176],\
+-[	-6.27295583, -0.00050660, 0.00031040, 7.27244923, 0.99845234, 0.99918300, 0.49320182],\
+-[	-6.27295603, -0.00050652, 0.00031035, 7.27244951, 0.99845259, 0.99918313, 0.49320186],\
+-[	-6.27295623, -0.00050644, 0.00031030, 7.27244979, 0.99845284, 0.99918327, 0.49320185],\
+-[	-6.27295643, -0.00050636, 0.00031025, 7.27245007, 0.99845310, 0.99918340, 0.49320186],\
+-[	-6.27295663, -0.00050627, 0.00031019, 7.27245035, 0.99845335, 0.99918353, 0.49320197],\
+-[	-6.27295682, -0.00050619, 0.00031014, 7.27245063, 0.99845360, 0.99918367, 0.49320197],\
+-[	-6.27295702, -0.00050611, 0.00031009, 7.27245091, 0.99845386, 0.99918380, 0.49320194],\
+-[	-6.27295722, -0.00050602, 0.00031004, 7.27245120, 0.99845411, 0.99918393, 0.49320202],\
+-[	-6.27295742, -0.00050594, 0.00030999, 7.27245148, 0.99845436, 0.99918407, 0.49320205],\
+-[	-6.27295762, -0.00050586, 0.00030994, 7.27245176, 0.99845462, 0.99918420, 0.49320207],\
+-[	-6.27295781, -0.00050578, 0.00030989, 7.27245204, 0.99845487, 0.99918433, 0.49320207],\
+-[	-6.27295801, -0.00050569, 0.00030984, 7.27245232, 0.99845512, 0.99918447, 0.49320217],\
+-[	-6.27295821, -0.00050561, 0.00030979, 7.27245260, 0.99845537, 0.99918460, 0.49320221],\
+-[	-6.27295841, -0.00050553, 0.00030974, 7.27245288, 0.99845563, 0.99918473, 0.49320219],\
+-[	-6.27295860, -0.00050545, 0.00030969, 7.27245316, 0.99845588, 0.99918487, 0.49320222],\
+-[	-6.27295880, -0.00050536, 0.00030964, 7.27245344, 0.99845613, 0.99918500, 0.49320228],\
+-[	-6.27295900, -0.00050528, 0.00030959, 7.27245372, 0.99845638, 0.99918513, 0.49320230],\
+-[	-6.27295920, -0.00050520, 0.00030954, 7.27245400, 0.99845663, 0.99918526, 0.49320235],\
+-[	-6.27295939, -0.00050512, 0.00030949, 7.27245428, 0.99845689, 0.99918540, 0.49320231],\
+-[	-6.27295959, -0.00050503, 0.00030944, 7.27245456, 0.99845714, 0.99918553, 0.49320239],\
+-[	-6.27295979, -0.00050495, 0.00030938, 7.27245484, 0.99845739, 0.99918566, 0.49320239],\
+-[	-6.27295998, -0.00050487, 0.00030933, 7.27245512, 0.99845764, 0.99918580, 0.49320243],\
+-[	-6.27296018, -0.00050479, 0.00030928, 7.27245539, 0.99845789, 0.99918593, 0.49320240],\
+-[	-6.27296038, -0.00050470, 0.00030923, 7.27245567, 0.99845814, 0.99918606, 0.49320248],\
+-[	-6.27296058, -0.00050462, 0.00030918, 7.27245595, 0.99845840, 0.99918619, 0.49320254],\
+-[	-6.27296077, -0.00050454, 0.00030913, 7.27245623, 0.99845865, 0.99918633, 0.49320254],\
+-[	-6.27296097, -0.00050446, 0.00030908, 7.27245651, 0.99845890, 0.99918646, 0.49320257],\
+-[	-6.27296117, -0.00050438, 0.00030903, 7.27245679, 0.99845915, 0.99918659, 0.49320260],\
+-[	-6.27296136, -0.00050429, 0.00030898, 7.27245707, 0.99845940, 0.99918673, 0.49320260],\
+-[	-6.27296156, -0.00050421, 0.00030893, 7.27245735, 0.99845965, 0.99918686, 0.49320264],\
+-[	-6.27296176, -0.00050413, 0.00030888, 7.27245763, 0.99845990, 0.99918699, 0.49320270],\
+-[	-6.27296195, -0.00050405, 0.00030883, 7.27245790, 0.99846015, 0.99918712, 0.49320271],\
+-[	-6.27296215, -0.00050397, 0.00030878, 7.27245818, 0.99846040, 0.99918726, 0.49320271],\
+-[	-6.27296234, -0.00050388, 0.00030873, 7.27245846, 0.99846066, 0.99918739, 0.49320279],\
+-[	-6.27296254, -0.00050380, 0.00030868, 7.27245874, 0.99846091, 0.99918752, 0.49320285],\
+-[	-6.27296274, -0.00050372, 0.00030863, 7.27245902, 0.99846116, 0.99918765, 0.49320278],\
+-[	-6.27296293, -0.00050364, 0.00030858, 7.27245930, 0.99846141, 0.99918778, 0.49320286],\
+-[	-6.27296313, -0.00050356, 0.00030853, 7.27245957, 0.99846166, 0.99918792, 0.49320284],\
+-[	-6.27296332, -0.00050347, 0.00030848, 7.27245985, 0.99846191, 0.99918805, 0.49320294],\
+-[	-6.27296352, -0.00050339, 0.00030843, 7.27246013, 0.99846216, 0.99918818, 0.49320297],\
+-[	-6.27296372, -0.00050331, 0.00030838, 7.27246041, 0.99846241, 0.99918831, 0.49320295],\
+-[	-6.27296391, -0.00050323, 0.00030833, 7.27246068, 0.99846266, 0.99918844, 0.49320301],\
+-[	-6.27296411, -0.00050315, 0.00030828, 7.27246096, 0.99846291, 0.99918858, 0.49320303],\
+-[	-6.27296430, -0.00050306, 0.00030823, 7.27246124, 0.99846316, 0.99918871, 0.49320305],\
+-[	-6.27296450, -0.00050298, 0.00030818, 7.27246152, 0.99846341, 0.99918884, 0.49320310],\
+-[	-6.27296469, -0.00050290, 0.00030813, 7.27246179, 0.99846366, 0.99918897, 0.49320314],\
+-[	-6.27296489, -0.00050282, 0.00030808, 7.27246207, 0.99846391, 0.99918910, 0.49320318],\
+-[	-6.27296509, -0.00050274, 0.00030803, 7.27246235, 0.99846416, 0.99918924, 0.49320319],\
+-[	-6.27296528, -0.00050266, 0.00030798, 7.27246263, 0.99846441, 0.99918937, 0.49320326],\
+-[	-6.27296548, -0.00050257, 0.00030793, 7.27246290, 0.99846466, 0.99918950, 0.49320325],\
+-[	-6.27296567, -0.00050249, 0.00030788, 7.27246318, 0.99846490, 0.99918963, 0.49320329],\
+-[	-6.27296587, -0.00050241, 0.00030783, 7.27246346, 0.99846515, 0.99918976, 0.49320330],\
+-[	-6.27296606, -0.00050233, 0.00030778, 7.27246373, 0.99846540, 0.99918989, 0.49320333],\
+-[	-6.27296626, -0.00050225, 0.00030773, 7.27246401, 0.99846565, 0.99919002, 0.49320339],\
+-[	-6.27296645, -0.00050217, 0.00030768, 7.27246429, 0.99846590, 0.99919016, 0.49320339],\
+-[	-6.27296665, -0.00050209, 0.00030763, 7.27246456, 0.99846615, 0.99919029, 0.49320338],\
+-[	-6.27296684, -0.00050200, 0.00030758, 7.27246484, 0.99846640, 0.99919042, 0.49320344],\
+-[	-6.27296704, -0.00050192, 0.00030753, 7.27246511, 0.99846665, 0.99919055, 0.49320353],\
+-[	-6.27296723, -0.00050184, 0.00030748, 7.27246539, 0.99846690, 0.99919068, 0.49320349],\
+-[	-6.27296743, -0.00050176, 0.00030743, 7.27246567, 0.99846715, 0.99919081, 0.49320357],\
+-[	-6.27296762, -0.00050168, 0.00030738, 7.27246594, 0.99846739, 0.99919094, 0.49320354],\
+-[	-6.27296781, -0.00050160, 0.00030733, 7.27246622, 0.99846764, 0.99919108, 0.49320360],\
+-[	-6.27296801, -0.00050152, 0.00030728, 7.27246649, 0.99846789, 0.99919121, 0.49320366],\
+-[	-6.27296820, -0.00050143, 0.00030723, 7.27246677, 0.99846814, 0.99919134, 0.49320363],\
+-[	-6.27296840, -0.00050135, 0.00030718, 7.27246704, 0.99846839, 0.99919147, 0.49320369],\
+-[	-6.27296859, -0.00050127, 0.00030713, 7.27246732, 0.99846864, 0.99919160, 0.49320376],\
+-[	-6.27296879, -0.00050119, 0.00030708, 7.27246760, 0.99846888, 0.99919173, 0.49320377],\
+-[	-6.27296898, -0.00050111, 0.00030703, 7.27246787, 0.99846913, 0.99919186, 0.49320381],\
+-[	-6.27296917, -0.00050103, 0.00030698, 7.27246815, 0.99846938, 0.99919199, 0.49320377],\
+-[	-6.27296937, -0.00050095, 0.00030693, 7.27246842, 0.99846963, 0.99919212, 0.49320384],\
+-[	-6.27296956, -0.00050087, 0.00030688, 7.27246870, 0.99846987, 0.99919225, 0.49320380],\
+-[	-6.27296976, -0.00050079, 0.00030683, 7.27246897, 0.99847012, 0.99919238, 0.49320387],\
+-[	-6.27296995, -0.00050070, 0.00030678, 7.27246925, 0.99847037, 0.99919251, 0.49320387],\
+-[	-6.27297014, -0.00050062, 0.00030673, 7.27246952, 0.99847062, 0.99919265, 0.49320397],\
+-[	-6.27297034, -0.00050054, 0.00030668, 7.27246980, 0.99847086, 0.99919278, 0.49320397],\
+-[	-6.27297053, -0.00050046, 0.00030663, 7.27247007, 0.99847111, 0.99919291, 0.49320399],\
+-[	-6.27297073, -0.00050038, 0.00030658, 7.27247034, 0.99847136, 0.99919304, 0.49320405],\
+-[	-6.27297092, -0.00050030, 0.00030653, 7.27247062, 0.99847161, 0.99919317, 0.49320409],\
+-[	-6.27297111, -0.00050022, 0.00030648, 7.27247089, 0.99847185, 0.99919330, 0.49320412],\
+-[	-6.27297131, -0.00050014, 0.00030643, 7.27247117, 0.99847210, 0.99919343, 0.49320414],\
+-[	-6.27297150, -0.00050006, 0.00030638, 7.27247144, 0.99847235, 0.99919356, 0.49320414],\
+-[	-6.27297169, -0.00049998, 0.00030633, 7.27247172, 0.99847259, 0.99919369, 0.49320417],\
+-[	-6.27297189, -0.00049990, 0.00030629, 7.27247199, 0.99847284, 0.99919382, 0.49320418],\
+-[	-6.27297208, -0.00049982, 0.00030624, 7.27247226, 0.99847309, 0.99919395, 0.49320420],\
+-[	-6.27297227, -0.00049973, 0.00030619, 7.27247254, 0.99847333, 0.99919408, 0.49320426],\
+-[	-6.27297246, -0.00049965, 0.00030614, 7.27247281, 0.99847358, 0.99919421, 0.49320420],\
+-[	-6.27297266, -0.00049957, 0.00030609, 7.27247308, 0.99847383, 0.99919434, 0.49320435],\
+-[	-6.27297285, -0.00049949, 0.00030604, 7.27247336, 0.99847407, 0.99919447, 0.49320431],\
+-[	-6.27297304, -0.00049941, 0.00030599, 7.27247363, 0.99847432, 0.99919460, 0.49320437],\
+-[	-6.27297324, -0.00049933, 0.00030594, 7.27247390, 0.99847457, 0.99919473, 0.49320437],\
+-[	-6.27297343, -0.00049925, 0.00030589, 7.27247418, 0.99847481, 0.99919486, 0.49320443],\
+-[	-6.27297362, -0.00049917, 0.00030584, 7.27247445, 0.99847506, 0.99919499, 0.49320448],\
+-[	-6.27297381, -0.00049909, 0.00030579, 7.27247472, 0.99847530, 0.99919512, 0.49320448],\
+-[	-6.27297401, -0.00049901, 0.00030574, 7.27247500, 0.99847555, 0.99919525, 0.49320449],\
+-[	-6.27297420, -0.00049893, 0.00030569, 7.27247527, 0.99847580, 0.99919538, 0.49320451],\
+-[	-6.27297439, -0.00049885, 0.00030564, 7.27247554, 0.99847604, 0.99919551, 0.49320453],\
+-[	-6.27297458, -0.00049877, 0.00030559, 7.27247582, 0.99847629, 0.99919564, 0.49320461],\
+-[	-6.27297478, -0.00049869, 0.00030554, 7.27247609, 0.99847653, 0.99919577, 0.49320461],\
+-[	-6.27297497, -0.00049861, 0.00030550, 7.27247636, 0.99847678, 0.99919590, 0.49320465],\
+-[	-6.27297516, -0.00049853, 0.00030545, 7.27247663, 0.99847702, 0.99919603, 0.49320475],\
+-[	-6.27297535, -0.00049845, 0.00030540, 7.27247691, 0.99847727, 0.99919616, 0.49320473],\
+-[	-6.27297554, -0.00049837, 0.00030535, 7.27247718, 0.99847751, 0.99919629, 0.49320474],\
+-[	-6.27297574, -0.00049829, 0.00030530, 7.27247745, 0.99847776, 0.99919641, 0.49320475],\
+-[	-6.27297593, -0.00049821, 0.00030525, 7.27247772, 0.99847800, 0.99919654, 0.49320486],\
+-[	-6.27297612, -0.00049813, 0.00030520, 7.27247799, 0.99847825, 0.99919667, 0.49320483],\
+-[	-6.27297631, -0.00049805, 0.00030515, 7.27247827, 0.99847849, 0.99919680, 0.49320494],\
+-[	-6.27297650, -0.00049797, 0.00030510, 7.27247854, 0.99847874, 0.99919693, 0.49320494],\
+-[	-6.27297670, -0.00049789, 0.00030505, 7.27247881, 0.99847898, 0.99919706, 0.49320488],\
+-[	-6.27297689, -0.00049781, 0.00030500, 7.27247908, 0.99847923, 0.99919719, 0.49320497],\
+-[	-6.27297708, -0.00049773, 0.00030495, 7.27247935, 0.99847947, 0.99919732, 0.49320498],\
+-[	-6.27297727, -0.00049765, 0.00030491, 7.27247962, 0.99847972, 0.99919745, 0.49320504],\
+-[	-6.27297746, -0.00049757, 0.00030486, 7.27247990, 0.99847996, 0.99919758, 0.49320498],\
+-[	-6.27297765, -0.00049749, 0.00030481, 7.27248017, 0.99848021, 0.99919771, 0.49320508],\
+-[	-6.27297784, -0.00049741, 0.00030476, 7.27248044, 0.99848045, 0.99919784, 0.49320506],\
+-[	-6.27297804, -0.00049733, 0.00030471, 7.27248071, 0.99848070, 0.99919796, 0.49320512],\
+-[	-6.27297823, -0.00049725, 0.00030466, 7.27248098, 0.99848094, 0.99919809, 0.49320520],\
+-[	-6.27297842, -0.00049717, 0.00030461, 7.27248125, 0.99848118, 0.99919822, 0.49320518],\
+-[	-6.27297861, -0.00049709, 0.00030456, 7.27248152, 0.99848143, 0.99919835, 0.49320519],\
+-[	-6.27297880, -0.00049701, 0.00030451, 7.27248179, 0.99848167, 0.99919848, 0.49320524],\
+-[	-6.27297899, -0.00049693, 0.00030446, 7.27248206, 0.99848192, 0.99919861, 0.49320527],\
+-[	-6.27297918, -0.00049685, 0.00030442, 7.27248233, 0.99848216, 0.99919874, 0.49320529],\
+-[	-6.27297937, -0.00049677, 0.00030437, 7.27248260, 0.99848240, 0.99919887, 0.49320530],\
+-[	-6.27297956, -0.00049669, 0.00030432, 7.27248288, 0.99848265, 0.99919899, 0.49320533],\
+-[	-6.27297975, -0.00049661, 0.00030427, 7.27248315, 0.99848289, 0.99919912, 0.49320533],\
+-[	-6.27297994, -0.00049653, 0.00030422, 7.27248342, 0.99848313, 0.99919925, 0.49320545],\
+-[	-6.27298013, -0.00049645, 0.00030417, 7.27248369, 0.99848338, 0.99919938, 0.49320550],\
+-[	-6.27298033, -0.00049637, 0.00030412, 7.27248396, 0.99848362, 0.99919951, 0.49320544],\
+-[	-6.27298052, -0.00049629, 0.00030407, 7.27248423, 0.99848386, 0.99919964, 0.49320542],\
+-[	-6.27298071, -0.00049621, 0.00030403, 7.27248450, 0.99848411, 0.99919976, 0.49320549],\
+-[	-6.27298090, -0.00049613, 0.00030398, 7.27248477, 0.99848435, 0.99919989, 0.49320553],\
+-[	-6.27298109, -0.00049605, 0.00030393, 7.27248504, 0.99848459, 0.99920002, 0.49320549],\
+-[	-6.27298128, -0.00049597, 0.00030388, 7.27248531, 0.99848484, 0.99920015, 0.49320559],\
+-[	-6.27298147, -0.00049589, 0.00030383, 7.27248557, 0.99848508, 0.99920028, 0.49320560],\
+-[	-6.27298166, -0.00049581, 0.00030378, 7.27248584, 0.99848532, 0.99920041, 0.49320562],\
+-[	-6.27298185, -0.00049573, 0.00030373, 7.27248611, 0.99848556, 0.99920053, 0.49320572],\
+-[	-6.27298204, -0.00049565, 0.00030368, 7.27248638, 0.99848581, 0.99920066, 0.49320570],\
+-[	-6.27298223, -0.00049557, 0.00030364, 7.27248665, 0.99848605, 0.99920079, 0.49320571],\
+-[	-6.27298242, -0.00049550, 0.00030359, 7.27248692, 0.99848629, 0.99920092, 0.49320573],\
+-[	-6.27298261, -0.00049542, 0.00030354, 7.27248719, 0.99848653, 0.99920105, 0.49320576],\
+-[	-6.27298280, -0.00049534, 0.00030349, 7.27248746, 0.99848678, 0.99920117, 0.49320585],\
+-[	-6.27298299, -0.00049526, 0.00030344, 7.27248773, 0.99848702, 0.99920130, 0.49320584],\
+-[	-6.27298318, -0.00049518, 0.00030339, 7.27248800, 0.99848726, 0.99920143, 0.49320590],\
+-[	-6.27298336, -0.00049510, 0.00030334, 7.27248827, 0.99848750, 0.99920156, 0.49320592],\
+-[	-6.27298355, -0.00049502, 0.00030330, 7.27248853, 0.99848774, 0.99920168, 0.49320594],\
+-[	-6.27298374, -0.00049494, 0.00030325, 7.27248880, 0.99848799, 0.99920181, 0.49320595],\
+-[	-6.27298393, -0.00049486, 0.00030320, 7.27248907, 0.99848823, 0.99920194, 0.49320597],\
+-[	-6.27298412, -0.00049478, 0.00030315, 7.27248934, 0.99848847, 0.99920207, 0.49320596],\
+-[	-6.27298431, -0.00049470, 0.00030310, 7.27248961, 0.99848871, 0.99920220, 0.49320603],\
+-[	-6.27298450, -0.00049462, 0.00030305, 7.27248988, 0.99848895, 0.99920232, 0.49320613],\
+-[	-6.27298469, -0.00049455, 0.00030300, 7.27249014, 0.99848919, 0.99920245, 0.49320607],\
+-[	-6.27298488, -0.00049447, 0.00030296, 7.27249041, 0.99848944, 0.99920258, 0.49320616],\
+-[	-6.27298507, -0.00049439, 0.00030291, 7.27249068, 0.99848968, 0.99920270, 0.49320618],\
+-[	-6.27298526, -0.00049431, 0.00030286, 7.27249095, 0.99848992, 0.99920283, 0.49320613],\
+-[	-6.27298545, -0.00049423, 0.00030281, 7.27249122, 0.99849016, 0.99920296, 0.49320620],\
+-[	-6.27298563, -0.00049415, 0.00030276, 7.27249148, 0.99849040, 0.99920309, 0.49320622],\
+-[	-6.27298582, -0.00049407, 0.00030271, 7.27249175, 0.99849064, 0.99920321, 0.49320626],\
+-[	-6.27298601, -0.00049399, 0.00030267, 7.27249202, 0.99849088, 0.99920334, 0.49320625],\
+-[	-6.27298620, -0.00049391, 0.00030262, 7.27249229, 0.99849112, 0.99920347, 0.49320640],\
+-[	-6.27298639, -0.00049384, 0.00030257, 7.27249255, 0.99849136, 0.99920360, 0.49320640],\
+-[	-6.27298658, -0.00049376, 0.00030252, 7.27249282, 0.99849161, 0.99920372, 0.49320636],\
+-[	-6.27298677, -0.00049368, 0.00030247, 7.27249309, 0.99849185, 0.99920385, 0.49320641],\
+-[	-6.27298695, -0.00049360, 0.00030242, 7.27249336, 0.99849209, 0.99920398, 0.49320644],\
+-[	-6.27298714, -0.00049352, 0.00030238, 7.27249362, 0.99849233, 0.99920410, 0.49320643],\
+-[	-6.27298733, -0.00049344, 0.00030233, 7.27249389, 0.99849257, 0.99920423, 0.49320647],\
+-[	-6.27298752, -0.00049336, 0.00030228, 7.27249416, 0.99849281, 0.99920436, 0.49320649],\
+-[	-6.27298771, -0.00049328, 0.00030223, 7.27249442, 0.99849305, 0.99920448, 0.49320659],\
+-[	-6.27298790, -0.00049321, 0.00030218, 7.27249469, 0.99849329, 0.99920461, 0.49320657],\
+-[	-6.27298808, -0.00049313, 0.00030214, 7.27249496, 0.99849353, 0.99920474, 0.49320661],\
+-[	-6.27298827, -0.00049305, 0.00030209, 7.27249522, 0.99849377, 0.99920486, 0.49320660],\
+-[	-6.27298846, -0.00049297, 0.00030204, 7.27249549, 0.99849401, 0.99920499, 0.49320663],\
+-[	-6.27298865, -0.00049289, 0.00030199, 7.27249576, 0.99849425, 0.99920512, 0.49320673],\
+-[	-6.27298883, -0.00049281, 0.00030194, 7.27249602, 0.99849449, 0.99920524, 0.49320673],\
+-[	-6.27298902, -0.00049273, 0.00030189, 7.27249629, 0.99849473, 0.99920537, 0.49320669],\
+-[	-6.27298921, -0.00049266, 0.00030185, 7.27249655, 0.99849497, 0.99920550, 0.49320677],\
+-[	-6.27298940, -0.00049258, 0.00030180, 7.27249682, 0.99849521, 0.99920562, 0.49320680],\
+-[	-6.27298959, -0.00049250, 0.00030175, 7.27249709, 0.99849545, 0.99920575, 0.49320687],\
+-[	-6.27298977, -0.00049242, 0.00030170, 7.27249735, 0.99849569, 0.99920588, 0.49320693],\
+-[	-6.27298996, -0.00049234, 0.00030165, 7.27249762, 0.99849593, 0.99920600, 0.49320681],\
+-[	-6.27299015, -0.00049226, 0.00030161, 7.27249788, 0.99849616, 0.99920613, 0.49320699],\
+-[	-6.27299033, -0.00049219, 0.00030156, 7.27249815, 0.99849640, 0.99920626, 0.49320687],\
+-[	-6.27299052, -0.00049211, 0.00030151, 7.27249841, 0.99849664, 0.99920638, 0.49320699],\
+-[	-6.27299071, -0.00049203, 0.00030146, 7.27249868, 0.99849688, 0.99920651, 0.49320705],\
+-[	-6.27299090, -0.00049195, 0.00030141, 7.27249894, 0.99849712, 0.99920663, 0.49320709],\
+-[	-6.27299108, -0.00049187, 0.00030137, 7.27249921, 0.99849736, 0.99920676, 0.49320704],\
+-[	-6.27299127, -0.00049180, 0.00030132, 7.27249948, 0.99849760, 0.99920689, 0.49320700],\
+-[	-6.27299146, -0.00049172, 0.00030127, 7.27249974, 0.99849784, 0.99920701, 0.49320709],\
+-[	-6.27299164, -0.00049164, 0.00030122, 7.27250001, 0.99849808, 0.99920714, 0.49320722],\
+-[	-6.27299183, -0.00049156, 0.00030118, 7.27250027, 0.99849831, 0.99920726, 0.49320713],\
+-[	-6.27299202, -0.00049148, 0.00030113, 7.27250053, 0.99849855, 0.99920739, 0.49320717],\
+-[	-6.27299220, -0.00049140, 0.00030108, 7.27250080, 0.99849879, 0.99920752, 0.49320720],\
+-[	-6.27299239, -0.00049133, 0.00030103, 7.27250106, 0.99849903, 0.99920764, 0.49320724],\
+-[	-6.27299258, -0.00049125, 0.00030098, 7.27250133, 0.99849927, 0.99920777, 0.49320731],\
+-[	-6.27299276, -0.00049117, 0.00030094, 7.27250159, 0.99849951, 0.99920789, 0.49320733],\
+-[	-6.27299295, -0.00049109, 0.00030089, 7.27250186, 0.99849974, 0.99920802, 0.49320736],\
+-[	-6.27299314, -0.00049102, 0.00030084, 7.27250212, 0.99849998, 0.99920814, 0.49320742],\
+-[	-6.27299332, -0.00049094, 0.00030079, 7.27250239, 0.99850022, 0.99920827, 0.49320737],\
+-[	-6.27299351, -0.00049086, 0.00030075, 7.27250265, 0.99850046, 0.99920840, 0.49320741],\
+-[	-6.27299370, -0.00049078, 0.00030070, 7.27250291, 0.99850070, 0.99920852, 0.49320747],\
+-[	-6.27299388, -0.00049070, 0.00030065, 7.27250318, 0.99850093, 0.99920865, 0.49320746],\
+-[	-6.27299407, -0.00049063, 0.00030060, 7.27250344, 0.99850117, 0.99920877, 0.49320747],\
+-[	-6.27299425, -0.00049055, 0.00030055, 7.27250371, 0.99850141, 0.99920890, 0.49320753],\
+-[	-6.27299444, -0.00049047, 0.00030051, 7.27250397, 0.99850165, 0.99920902, 0.49320754],\
+-[	-6.27299463, -0.00049039, 0.00030046, 7.27250423, 0.99850188, 0.99920915, 0.49320761],\
+-[	-6.27299481, -0.00049032, 0.00030041, 7.27250450, 0.99850212, 0.99920927, 0.49320761],\
+-[	-6.27299500, -0.00049024, 0.00030036, 7.27250476, 0.99850236, 0.99920940, 0.49320763],\
+-[	-6.27299518, -0.00049016, 0.00030032, 7.27250502, 0.99850260, 0.99920952, 0.49320763],\
+-[	-6.27299537, -0.00049008, 0.00030027, 7.27250529, 0.99850283, 0.99920965, 0.49320764],\
+-[	-6.27299556, -0.00049000, 0.00030022, 7.27250555, 0.99850307, 0.99920977, 0.49320768],\
+-[	-6.27299574, -0.00048993, 0.00030017, 7.27250581, 0.99850331, 0.99920990, 0.49320774],\
+-[	-6.27299593, -0.00048985, 0.00030013, 7.27250608, 0.99850354, 0.99921002, 0.49320770],\
+-[	-6.27299611, -0.00048977, 0.00030008, 7.27250634, 0.99850378, 0.99921015, 0.49320782],\
+-[	-6.27299630, -0.00048969, 0.00030003, 7.27250660, 0.99850402, 0.99921027, 0.49320781],\
+-[	-6.27299648, -0.00048962, 0.00029998, 7.27250687, 0.99850426, 0.99921040, 0.49320784],\
+-[	-6.27299667, -0.00048954, 0.00029994, 7.27250713, 0.99850449, 0.99921052, 0.49320787],\
+-[	-6.27299685, -0.00048946, 0.00029989, 7.27250739, 0.99850473, 0.99921065, 0.49320791],\
+-[	-6.27299704, -0.00048938, 0.00029984, 7.27250765, 0.99850496, 0.99921077, 0.49320794],\
+-[	-6.27299722, -0.00048931, 0.00029979, 7.27250792, 0.99850520, 0.99921090, 0.49320795],\
+-[	-6.27299741, -0.00048923, 0.00029975, 7.27250818, 0.99850544, 0.99921102, 0.49320801],\
+-[	-6.27299759, -0.00048915, 0.00029970, 7.27250844, 0.99850567, 0.99921115, 0.49320802],\
+-[	-6.27299778, -0.00048908, 0.00029965, 7.27250870, 0.99850591, 0.99921127, 0.49320805],\
+-[	-6.27299796, -0.00048900, 0.00029960, 7.27250896, 0.99850615, 0.99921140, 0.49320810],\
+-[	-6.27299815, -0.00048892, 0.00029956, 7.27250923, 0.99850638, 0.99921152, 0.49320806],\
+-[	-6.27299833, -0.00048884, 0.00029951, 7.27250949, 0.99850662, 0.99921165, 0.49320815],\
+-[	-6.27299852, -0.00048877, 0.00029946, 7.27250975, 0.99850685, 0.99921177, 0.49320816],\
+-[	-6.27299870, -0.00048869, 0.00029941, 7.27251001, 0.99850709, 0.99921190, 0.49320817],\
+-[	-6.27299889, -0.00048861, 0.00029937, 7.27251027, 0.99850733, 0.99921202, 0.49320820],\
+-[	-6.27299907, -0.00048854, 0.00029932, 7.27251054, 0.99850756, 0.99921214, 0.49320826],\
+-[	-6.27299926, -0.00048846, 0.00029927, 7.27251080, 0.99850780, 0.99921227, 0.49320827],\
+-[	-6.27299944, -0.00048838, 0.00029923, 7.27251106, 0.99850803, 0.99921239, 0.49320823],\
+-[	-6.27299962, -0.00048830, 0.00029918, 7.27251132, 0.99850827, 0.99921252, 0.49320833],\
+-[	-6.27299981, -0.00048823, 0.00029913, 7.27251158, 0.99850850, 0.99921264, 0.49320833],\
+-[	-6.27299999, -0.00048815, 0.00029908, 7.27251184, 0.99850874, 0.99921277, 0.49320839],\
+-[	-6.27300018, -0.00048807, 0.00029904, 7.27251210, 0.99850897, 0.99921289, 0.49320841],\
+-[	-6.27300036, -0.00048800, 0.00029899, 7.27251236, 0.99850921, 0.99921301, 0.49320850],\
+-[	-6.27300055, -0.00048792, 0.00029894, 7.27251263, 0.99850944, 0.99921314, 0.49320846],\
+-[	-6.27300073, -0.00048784, 0.00029890, 7.27251289, 0.99850968, 0.99921326, 0.49320848],\
+-[	-6.27300091, -0.00048777, 0.00029885, 7.27251315, 0.99850991, 0.99921339, 0.49320847],\
+-[	-6.27300110, -0.00048769, 0.00029880, 7.27251341, 0.99851015, 0.99921351, 0.49320858],\
+-[	-6.27300128, -0.00048761, 0.00029875, 7.27251367, 0.99851038, 0.99921363, 0.49320864],\
+-[	-6.27300146, -0.00048754, 0.00029871, 7.27251393, 0.99851062, 0.99921376, 0.49320855],\
+-[	-6.27300165, -0.00048746, 0.00029866, 7.27251419, 0.99851085, 0.99921388, 0.49320856],\
+-[	-6.27300183, -0.00048738, 0.00029861, 7.27251445, 0.99851109, 0.99921401, 0.49320863],\
+-[	-6.27300202, -0.00048730, 0.00029857, 7.27251471, 0.99851132, 0.99921413, 0.49320867],\
+-[	-6.27300220, -0.00048723, 0.00029852, 7.27251497, 0.99851156, 0.99921425, 0.49320861],\
+-[	-6.27300238, -0.00048715, 0.00029847, 7.27251523, 0.99851179, 0.99921438, 0.49320874],\
+-[	-6.27300257, -0.00048707, 0.00029842, 7.27251549, 0.99851202, 0.99921450, 0.49320874],\
+-[	-6.27300275, -0.00048700, 0.00029838, 7.27251575, 0.99851226, 0.99921462, 0.49320881],\
+-[	-6.27300293, -0.00048692, 0.00029833, 7.27251601, 0.99851249, 0.99921475, 0.49320880],\
+-[	-6.27300312, -0.00048685, 0.00029828, 7.27251627, 0.99851273, 0.99921487, 0.49320887],\
+-[	-6.27300330, -0.00048677, 0.00029824, 7.27251653, 0.99851296, 0.99921499, 0.49320886],\
+-[	-6.27300348, -0.00048669, 0.00029819, 7.27251679, 0.99851320, 0.99921512, 0.49320893],\
+-[	-6.27300367, -0.00048662, 0.00029814, 7.27251705, 0.99851343, 0.99921524, 0.49320893],\
+-[	-6.27300385, -0.00048654, 0.00029810, 7.27251731, 0.99851366, 0.99921536, 0.49320895],\
+-[	-6.27300403, -0.00048646, 0.00029805, 7.27251757, 0.99851390, 0.99921549, 0.49320892],\
+-[	-6.27300421, -0.00048639, 0.00029800, 7.27251783, 0.99851413, 0.99921561, 0.49320898],\
+-[	-6.27300440, -0.00048631, 0.00029796, 7.27251809, 0.99851436, 0.99921573, 0.49320901],\
+-[	-6.27300458, -0.00048623, 0.00029791, 7.27251835, 0.99851460, 0.99921586, 0.49320901],\
+-[	-6.27300476, -0.00048616, 0.00029786, 7.27251861, 0.99851483, 0.99921598, 0.49320912],\
+-[	-6.27300495, -0.00048608, 0.00029782, 7.27251886, 0.99851506, 0.99921610, 0.49320910],\
+-[	-6.27300513, -0.00048600, 0.00029777, 7.27251912, 0.99851530, 0.99921623, 0.49320913],\
+-[	-6.27300531, -0.00048593, 0.00029772, 7.27251938, 0.99851553, 0.99921635, 0.49320917],\
+-[	-6.27300549, -0.00048585, 0.00029768, 7.27251964, 0.99851576, 0.99921647, 0.49320916],\
+-[	-6.27300568, -0.00048578, 0.00029763, 7.27251990, 0.99851600, 0.99921660, 0.49320920],\
+-[	-6.27300586, -0.00048570, 0.00029758, 7.27252016, 0.99851623, 0.99921672, 0.49320924],\
+-[	-6.27300604, -0.00048562, 0.00029753, 7.27252042, 0.99851646, 0.99921684, 0.49320926],\
+-[	-6.27300622, -0.00048555, 0.00029749, 7.27252068, 0.99851669, 0.99921696, 0.49320930],\
+-[	-6.27300640, -0.00048547, 0.00029744, 7.27252093, 0.99851693, 0.99921709, 0.49320931],\
+-[	-6.27300659, -0.00048539, 0.00029739, 7.27252119, 0.99851716, 0.99921721, 0.49320938],\
+-[	-6.27300677, -0.00048532, 0.00029735, 7.27252145, 0.99851739, 0.99921733, 0.49320939],\
+-[	-6.27300695, -0.00048524, 0.00029730, 7.27252171, 0.99851763, 0.99921746, 0.49320948],\
+-[	-6.27300713, -0.00048517, 0.00029725, 7.27252197, 0.99851786, 0.99921758, 0.49320954],\
+-[	-6.27300732, -0.00048509, 0.00029721, 7.27252222, 0.99851809, 0.99921770, 0.49320950],\
+-[	-6.27300750, -0.00048501, 0.00029716, 7.27252248, 0.99851832, 0.99921782, 0.49320952],\
+-[	-6.27300768, -0.00048494, 0.00029712, 7.27252274, 0.99851855, 0.99921795, 0.49320954],\
+-[	-6.27300786, -0.00048486, 0.00029707, 7.27252300, 0.99851879, 0.99921807, 0.49320960],\
+-[	-6.27300804, -0.00048479, 0.00029702, 7.27252326, 0.99851902, 0.99921819, 0.49320959],\
+-[	-6.27300822, -0.00048471, 0.00029698, 7.27252351, 0.99851925, 0.99921831, 0.49320958],\
+-[	-6.27300841, -0.00048463, 0.00029693, 7.27252377, 0.99851948, 0.99921844, 0.49320965],\
+-[	-6.27300859, -0.00048456, 0.00029688, 7.27252403, 0.99851971, 0.99921856, 0.49320967],\
+-[	-6.27300877, -0.00048448, 0.00029684, 7.27252429, 0.99851995, 0.99921868, 0.49320972],\
+-[	-6.27300895, -0.00048441, 0.00029679, 7.27252454, 0.99852018, 0.99921880, 0.49320973],\
+-[	-6.27300913, -0.00048433, 0.00029674, 7.27252480, 0.99852041, 0.99921893, 0.49320972],\
+-[	-6.27300931, -0.00048426, 0.00029670, 7.27252506, 0.99852064, 0.99921905, 0.49320980],\
+-[	-6.27300949, -0.00048418, 0.00029665, 7.27252531, 0.99852087, 0.99921917, 0.49320981],\
+-[	-6.27300968, -0.00048410, 0.00029660, 7.27252557, 0.99852110, 0.99921929, 0.49320974],\
+-[	-6.27300986, -0.00048403, 0.00029656, 7.27252583, 0.99852134, 0.99921941, 0.49320985],\
+-[	-6.27301004, -0.00048395, 0.00029651, 7.27252608, 0.99852157, 0.99921954, 0.49320992],\
+-[	-6.27301022, -0.00048388, 0.00029646, 7.27252634, 0.99852180, 0.99921966, 0.49320992],\
+-[	-6.27301040, -0.00048380, 0.00029642, 7.27252660, 0.99852203, 0.99921978, 0.49320993],\
+-[	-6.27301058, -0.00048373, 0.00029637, 7.27252685, 0.99852226, 0.99921990, 0.49320993],\
+-[	-6.27301076, -0.00048365, 0.00029633, 7.27252711, 0.99852249, 0.99922002, 0.49321001],\
+-[	-6.27301094, -0.00048357, 0.00029628, 7.27252737, 0.99852272, 0.99922015, 0.49321003],\
+-[	-6.27301112, -0.00048350, 0.00029623, 7.27252762, 0.99852295, 0.99922027, 0.49321005],\
+-[	-6.27301130, -0.00048342, 0.00029619, 7.27252788, 0.99852318, 0.99922039, 0.49321008],\
+-[	-6.27301148, -0.00048335, 0.00029614, 7.27252814, 0.99852341, 0.99922051, 0.49321008],\
+-[	-6.27301166, -0.00048327, 0.00029609, 7.27252839, 0.99852364, 0.99922063, 0.49321010],\
+-[	-6.27301185, -0.00048320, 0.00029605, 7.27252865, 0.99852388, 0.99922075, 0.49321017],\
+-[	-6.27301203, -0.00048312, 0.00029600, 7.27252890, 0.99852411, 0.99922088, 0.49321023],\
+-[	-6.27301221, -0.00048305, 0.00029596, 7.27252916, 0.99852434, 0.99922100, 0.49321020],\
+-[	-6.27301239, -0.00048297, 0.00029591, 7.27252942, 0.99852457, 0.99922112, 0.49321023],\
+-[	-6.27301257, -0.00048290, 0.00029586, 7.27252967, 0.99852480, 0.99922124, 0.49321024],\
+-[	-6.27301275, -0.00048282, 0.00029582, 7.27252993, 0.99852503, 0.99922136, 0.49321030],\
+-[	-6.27301293, -0.00048275, 0.00029577, 7.27253018, 0.99852526, 0.99922148, 0.49321031],\
+-[	-6.27301311, -0.00048267, 0.00029572, 7.27253044, 0.99852549, 0.99922161, 0.49321030],\
+-[	-6.27301329, -0.00048259, 0.00029568, 7.27253069, 0.99852572, 0.99922173, 0.49321030],\
+-[	-6.27301347, -0.00048252, 0.00029563, 7.27253095, 0.99852595, 0.99922185, 0.49321039],\
+-[	-6.27301365, -0.00048244, 0.00029559, 7.27253120, 0.99852618, 0.99922197, 0.49321037],\
+-[	-6.27301383, -0.00048237, 0.00029554, 7.27253146, 0.99852641, 0.99922209, 0.49321046],\
+-[	-6.27301401, -0.00048229, 0.00029549, 7.27253171, 0.99852664, 0.99922221, 0.49321048],\
+-[	-6.27301419, -0.00048222, 0.00029545, 7.27253197, 0.99852687, 0.99922233, 0.49321049],\
+-[	-6.27301437, -0.00048214, 0.00029540, 7.27253222, 0.99852710, 0.99922245, 0.49321046],\
+-[	-6.27301455, -0.00048207, 0.00029536, 7.27253248, 0.99852732, 0.99922258, 0.49321053],\
+-[	-6.27301473, -0.00048199, 0.00029531, 7.27253273, 0.99852755, 0.99922270, 0.49321060],\
+-[	-6.27301491, -0.00048192, 0.00029526, 7.27253299, 0.99852778, 0.99922282, 0.49321066],\
+-[	-6.27301509, -0.00048184, 0.00029522, 7.27253324, 0.99852801, 0.99922294, 0.49321062],\
+-[	-6.27301526, -0.00048177, 0.00029517, 7.27253350, 0.99852824, 0.99922306, 0.49321065],\
+-[	-6.27301544, -0.00048169, 0.00029513, 7.27253375, 0.99852847, 0.99922318, 0.49321069],\
+-[	-6.27301562, -0.00048162, 0.00029508, 7.27253400, 0.99852870, 0.99922330, 0.49321066],\
+-[	-6.27301580, -0.00048154, 0.00029503, 7.27253426, 0.99852893, 0.99922342, 0.49321075],\
+-[	-6.27301598, -0.00048147, 0.00029499, 7.27253451, 0.99852916, 0.99922354, 0.49321074],\
+-[	-6.27301616, -0.00048139, 0.00029494, 7.27253477, 0.99852939, 0.99922366, 0.49321082],\
+-[	-6.27301634, -0.00048132, 0.00029490, 7.27253502, 0.99852962, 0.99922378, 0.49321081],\
+-[	-6.27301652, -0.00048124, 0.00029485, 7.27253528, 0.99852984, 0.99922391, 0.49321083],\
+-[	-6.27301670, -0.00048117, 0.00029480, 7.27253553, 0.99853007, 0.99922403, 0.49321094],\
+-[	-6.27301688, -0.00048109, 0.00029476, 7.27253578, 0.99853030, 0.99922415, 0.49321096],\
+-[	-6.27301706, -0.00048102, 0.00029471, 7.27253604, 0.99853053, 0.99922427, 0.49321093],\
+-[	-6.27301724, -0.00048095, 0.00029467, 7.27253629, 0.99853076, 0.99922439, 0.49321094],\
+-[	-6.27301741, -0.00048087, 0.00029462, 7.27253654, 0.99853099, 0.99922451, 0.49321098],\
+-[	-6.27301759, -0.00048080, 0.00029458, 7.27253680, 0.99853121, 0.99922463, 0.49321102],\
+-[	-6.27301777, -0.00048072, 0.00029453, 7.27253705, 0.99853144, 0.99922475, 0.49321101],\
+-[	-6.27301795, -0.00048065, 0.00029448, 7.27253730, 0.99853167, 0.99922487, 0.49321109],\
+-[	-6.27301813, -0.00048057, 0.00029444, 7.27253756, 0.99853190, 0.99922499, 0.49321107],\
+-[	-6.27301831, -0.00048050, 0.00029439, 7.27253781, 0.99853213, 0.99922511, 0.49321107],\
+-[	-6.27301849, -0.00048042, 0.00029435, 7.27253806, 0.99853235, 0.99922523, 0.49321110],\
+-[	-6.27301866, -0.00048035, 0.00029430, 7.27253832, 0.99853258, 0.99922535, 0.49321118],\
+-[	-6.27301884, -0.00048027, 0.00029426, 7.27253857, 0.99853281, 0.99922547, 0.49321119],\
+-[	-6.27301902, -0.00048020, 0.00029421, 7.27253882, 0.99853304, 0.99922559, 0.49321116],\
+-[	-6.27301920, -0.00048012, 0.00029416, 7.27253907, 0.99853327, 0.99922571, 0.49321127],\
+-[	-6.27301938, -0.00048005, 0.00029412, 7.27253933, 0.99853349, 0.99922583, 0.49321123],\
+-[	-6.27301956, -0.00047998, 0.00029407, 7.27253958, 0.99853372, 0.99922595, 0.49321129],\
+-[	-6.27301973, -0.00047990, 0.00029403, 7.27253983, 0.99853395, 0.99922607, 0.49321135],\
+-[	-6.27301991, -0.00047983, 0.00029398, 7.27254008, 0.99853418, 0.99922619, 0.49321135],\
+-[	-6.27302009, -0.00047975, 0.00029394, 7.27254034, 0.99853440, 0.99922631, 0.49321139],\
+-[	-6.27302027, -0.00047968, 0.00029389, 7.27254059, 0.99853463, 0.99922643, 0.49321146],\
+-[	-6.27302044, -0.00047960, 0.00029384, 7.27254084, 0.99853486, 0.99922655, 0.49321142],\
+-[	-6.27302062, -0.00047953, 0.00029380, 7.27254109, 0.99853508, 0.99922667, 0.49321144],\
+-[	-6.27302080, -0.00047946, 0.00029375, 7.27254135, 0.99853531, 0.99922679, 0.49321144],\
+-[	-6.27302098, -0.00047938, 0.00029371, 7.27254160, 0.99853554, 0.99922691, 0.49321157],\
+-[	-6.27302116, -0.00047931, 0.00029366, 7.27254185, 0.99853577, 0.99922703, 0.49321152],\
+-[	-6.27302133, -0.00047923, 0.00029362, 7.27254210, 0.99853599, 0.99922715, 0.49321153],\
+-[	-6.27302151, -0.00047916, 0.00029357, 7.27254235, 0.99853622, 0.99922727, 0.49321157],\
+-[	-6.27302169, -0.00047908, 0.00029353, 7.27254260, 0.99853645, 0.99922739, 0.49321160],\
+-[	-6.27302187, -0.00047901, 0.00029348, 7.27254286, 0.99853667, 0.99922751, 0.49321170],\
+-[	-6.27302204, -0.00047894, 0.00029344, 7.27254311, 0.99853690, 0.99922763, 0.49321172],\
+-[	-6.27302222, -0.00047886, 0.00029339, 7.27254336, 0.99853712, 0.99922775, 0.49321163],\
+-[	-6.27302240, -0.00047879, 0.00029334, 7.27254361, 0.99853735, 0.99922787, 0.49321166],\
+-[	-6.27302257, -0.00047871, 0.00029330, 7.27254386, 0.99853758, 0.99922799, 0.49321175],\
+-[	-6.27302275, -0.00047864, 0.00029325, 7.27254411, 0.99853780, 0.99922811, 0.49321177],\
+-[	-6.27302293, -0.00047857, 0.00029321, 7.27254436, 0.99853803, 0.99922823, 0.49321185],\
+-[	-6.27302311, -0.00047849, 0.00029316, 7.27254461, 0.99853826, 0.99922834, 0.49321182],\
+-[	-6.27302328, -0.00047842, 0.00029312, 7.27254486, 0.99853848, 0.99922846, 0.49321190],\
+-[	-6.27302346, -0.00047834, 0.00029307, 7.27254512, 0.99853871, 0.99922858, 0.49321191],\
+-[	-6.27302364, -0.00047827, 0.00029303, 7.27254537, 0.99853893, 0.99922870, 0.49321187],\
+-[	-6.27302381, -0.00047820, 0.00029298, 7.27254562, 0.99853916, 0.99922882, 0.49321186],\
+-[	-6.27302399, -0.00047812, 0.00029294, 7.27254587, 0.99853939, 0.99922894, 0.49321193],\
+-[	-6.27302417, -0.00047805, 0.00029289, 7.27254612, 0.99853961, 0.99922906, 0.49321201],\
+-[	-6.27302434, -0.00047797, 0.00029285, 7.27254637, 0.99853984, 0.99922918, 0.49321205],\
+-[	-6.27302452, -0.00047790, 0.00029280, 7.27254662, 0.99854006, 0.99922930, 0.49321210],\
+-[	-6.27302470, -0.00047783, 0.00029276, 7.27254687, 0.99854029, 0.99922942, 0.49321211],\
+-[	-6.27302487, -0.00047775, 0.00029271, 7.27254712, 0.99854051, 0.99922954, 0.49321206],\
+-[	-6.27302505, -0.00047768, 0.00029267, 7.27254737, 0.99854074, 0.99922965, 0.49321212],\
+-[	-6.27302523, -0.00047761, 0.00029262, 7.27254762, 0.99854096, 0.99922977, 0.49321212],\
+-[	-6.27302540, -0.00047753, 0.00029257, 7.27254787, 0.99854119, 0.99922989, 0.49321221],\
+-[	-6.27302558, -0.00047746, 0.00029253, 7.27254812, 0.99854141, 0.99923001, 0.49321218],\
+-[	-6.27302575, -0.00047739, 0.00029248, 7.27254837, 0.99854164, 0.99923013, 0.49321223],\
+-[	-6.27302593, -0.00047731, 0.00029244, 7.27254862, 0.99854186, 0.99923025, 0.49321227],\
+-[	-6.27302611, -0.00047724, 0.00029239, 7.27254887, 0.99854209, 0.99923037, 0.49321227],\
+-[	-6.27302628, -0.00047716, 0.00029235, 7.27254912, 0.99854231, 0.99923049, 0.49321226],\
+-[	-6.27302646, -0.00047709, 0.00029230, 7.27254937, 0.99854254, 0.99923060, 0.49321229],\
+-[	-6.27302664, -0.00047702, 0.00029226, 7.27254962, 0.99854276, 0.99923072, 0.49321232],\
+-[	-6.27302681, -0.00047694, 0.00029221, 7.27254987, 0.99854299, 0.99923084, 0.49321239],\
+-[	-6.27302699, -0.00047687, 0.00029217, 7.27255012, 0.99854321, 0.99923096, 0.49321240],\
+-[	-6.27302716, -0.00047680, 0.00029212, 7.27255037, 0.99854344, 0.99923108, 0.49321246],\
+-[	-6.27302734, -0.00047672, 0.00029208, 7.27255061, 0.99854366, 0.99923120, 0.49321244],\
+-[	-6.27302751, -0.00047665, 0.00029203, 7.27255086, 0.99854388, 0.99923132, 0.49321242],\
+-[	-6.27302769, -0.00047658, 0.00029199, 7.27255111, 0.99854411, 0.99923143, 0.49321242],\
+-[	-6.27302787, -0.00047650, 0.00029194, 7.27255136, 0.99854433, 0.99923155, 0.49321258],\
+-[	-6.27302804, -0.00047643, 0.00029190, 7.27255161, 0.99854456, 0.99923167, 0.49321251],\
+-[	-6.27302822, -0.00047636, 0.00029185, 7.27255186, 0.99854478, 0.99923179, 0.49321261],\
+-[	-6.27302839, -0.00047628, 0.00029181, 7.27255211, 0.99854501, 0.99923191, 0.49321264],\
+-[	-6.27302857, -0.00047621, 0.00029176, 7.27255236, 0.99854523, 0.99923203, 0.49321265],\
+-[	-6.27302874, -0.00047614, 0.00029172, 7.27255261, 0.99854545, 0.99923214, 0.49321268],\
+-[	-6.27302892, -0.00047606, 0.00029167, 7.27255285, 0.99854568, 0.99923226, 0.49321269],\
+-[	-6.27302909, -0.00047599, 0.00029163, 7.27255310, 0.99854590, 0.99923238, 0.49321277],\
+-[	-6.27302927, -0.00047592, 0.00029158, 7.27255335, 0.99854612, 0.99923250, 0.49321272],\
+-[	-6.27302944, -0.00047584, 0.00029154, 7.27255360, 0.99854635, 0.99923262, 0.49321278],\
+-[	-6.27302962, -0.00047577, 0.00029150, 7.27255385, 0.99854657, 0.99923273, 0.49321287],\
+-[	-6.27302979, -0.00047570, 0.00029145, 7.27255410, 0.99854679, 0.99923285, 0.49321280],\
+-[	-6.27302997, -0.00047562, 0.00029141, 7.27255434, 0.99854702, 0.99923297, 0.49321291],\
+-[	-6.27303014, -0.00047555, 0.00029136, 7.27255459, 0.99854724, 0.99923309, 0.49321279],\
+-[	-6.27303032, -0.00047548, 0.00029132, 7.27255484, 0.99854746, 0.99923321, 0.49321284],\
+-[	-6.27303049, -0.00047541, 0.00029127, 7.27255509, 0.99854769, 0.99923332, 0.49321288],\
+-[	-6.27303067, -0.00047533, 0.00029123, 7.27255533, 0.99854791, 0.99923344, 0.49321294],\
+-[	-6.27303084, -0.00047526, 0.00029118, 7.27255558, 0.99854813, 0.99923356, 0.49321292],\
+-[	-6.27303102, -0.00047519, 0.00029114, 7.27255583, 0.99854836, 0.99923368, 0.49321300],\
+-[	-6.27303119, -0.00047511, 0.00029109, 7.27255608, 0.99854858, 0.99923379, 0.49321302],\
+-[	-6.27303137, -0.00047504, 0.00029105, 7.27255632, 0.99854880, 0.99923391, 0.49321303],\
+-[	-6.27303154, -0.00047497, 0.00029100, 7.27255657, 0.99854903, 0.99923403, 0.49321311],\
+-[	-6.27303171, -0.00047490, 0.00029096, 7.27255682, 0.99854925, 0.99923415, 0.49321311],\
+-[	-6.27303189, -0.00047482, 0.00029091, 7.27255707, 0.99854947, 0.99923426, 0.49321315],\
+-[	-6.27303206, -0.00047475, 0.00029087, 7.27255731, 0.99854969, 0.99923438, 0.49321319],\
+-[	-6.27303224, -0.00047468, 0.00029082, 7.27255756, 0.99854992, 0.99923450, 0.49321317],\
+-[	-6.27303241, -0.00047460, 0.00029078, 7.27255781, 0.99855014, 0.99923462, 0.49321321],\
+-[	-6.27303259, -0.00047453, 0.00029073, 7.27255805, 0.99855036, 0.99923473, 0.49321326],\
+-[	-6.27303276, -0.00047446, 0.00029069, 7.27255830, 0.99855058, 0.99923485, 0.49321318],\
+-[	-6.27303293, -0.00047439, 0.00029065, 7.27255855, 0.99855081, 0.99923497, 0.49321326],\
+-[	-6.27303311, -0.00047431, 0.00029060, 7.27255879, 0.99855103, 0.99923509, 0.49321333],\
+-[	-6.27303328, -0.00047424, 0.00029056, 7.27255904, 0.99855125, 0.99923520, 0.49321333],\
+-[	-6.27303345, -0.00047417, 0.00029051, 7.27255929, 0.99855147, 0.99923532, 0.49321344],\
+-[	-6.27303363, -0.00047410, 0.00029047, 7.27255953, 0.99855169, 0.99923544, 0.49321337],\
+-[	-6.27303380, -0.00047402, 0.00029042, 7.27255978, 0.99855192, 0.99923555, 0.49321345],\
+-[	-6.27303398, -0.00047395, 0.00029038, 7.27256003, 0.99855214, 0.99923567, 0.49321337],\
+-[	-6.27303415, -0.00047388, 0.00029033, 7.27256027, 0.99855236, 0.99923579, 0.49321344],\
+-[	-6.27303432, -0.00047380, 0.00029029, 7.27256052, 0.99855258, 0.99923591, 0.49321346],\
+-[	-6.27303450, -0.00047373, 0.00029025, 7.27256076, 0.99855280, 0.99923602, 0.49321354],\
+-[	-6.27303467, -0.00047366, 0.00029020, 7.27256101, 0.99855302, 0.99923614, 0.49321353],\
+-[	-6.27303484, -0.00047359, 0.00029016, 7.27256126, 0.99855325, 0.99923626, 0.49321361],\
+-[	-6.27303502, -0.00047351, 0.00029011, 7.27256150, 0.99855347, 0.99923637, 0.49321358],\
+-[	-6.27303519, -0.00047344, 0.00029007, 7.27256175, 0.99855369, 0.99923649, 0.49321363],\
+-[	-6.27303536, -0.00047337, 0.00029002, 7.27256199, 0.99855391, 0.99923661, 0.49321367],\
+-[	-6.27303554, -0.00047330, 0.00028998, 7.27256224, 0.99855413, 0.99923672, 0.49321364],\
+-[	-6.27303571, -0.00047323, 0.00028993, 7.27256248, 0.99855435, 0.99923684, 0.49321377],\
+-[	-6.27303588, -0.00047315, 0.00028989, 7.27256273, 0.99855457, 0.99923696, 0.49321375],\
+-[	-6.27303606, -0.00047308, 0.00028985, 7.27256298, 0.99855479, 0.99923707, 0.49321379],\
+-[	-6.27303623, -0.00047301, 0.00028980, 7.27256322, 0.99855501, 0.99923719, 0.49321377],\
+-[	-6.27303640, -0.00047294, 0.00028976, 7.27256347, 0.99855524, 0.99923731, 0.49321372],\
+-[	-6.27303658, -0.00047286, 0.00028971, 7.27256371, 0.99855546, 0.99923742, 0.49321383],\
+-[	-6.27303675, -0.00047279, 0.00028967, 7.27256396, 0.99855568, 0.99923754, 0.49321384],\
+-[	-6.27303692, -0.00047272, 0.00028962, 7.27256420, 0.99855590, 0.99923766, 0.49321394],\
+-[	-6.27303709, -0.00047265, 0.00028958, 7.27256445, 0.99855612, 0.99923777, 0.49321386],\
+-[	-6.27303727, -0.00047258, 0.00028954, 7.27256469, 0.99855634, 0.99923789, 0.49321390],\
+-[	-6.27303744, -0.00047250, 0.00028949, 7.27256494, 0.99855656, 0.99923801, 0.49321401],\
+-[	-6.27303761, -0.00047243, 0.00028945, 7.27256518, 0.99855678, 0.99923812, 0.49321394],\
+-[	-6.27303778, -0.00047236, 0.00028940, 7.27256543, 0.99855700, 0.99923824, 0.49321395],\
+-[	-6.27303796, -0.00047229, 0.00028936, 7.27256567, 0.99855722, 0.99923835, 0.49321400],\
+-[	-6.27303813, -0.00047221, 0.00028931, 7.27256591, 0.99855744, 0.99923847, 0.49321392],\
+-[	-6.27303830, -0.00047214, 0.00028927, 7.27256616, 0.99855766, 0.99923859, 0.49321409],\
+-[	-6.27303847, -0.00047207, 0.00028923, 7.27256640, 0.99855788, 0.99923870, 0.49321404],\
+-[	-6.27303865, -0.00047200, 0.00028918, 7.27256665, 0.99855810, 0.99923882, 0.49321416],\
+-[	-6.27303882, -0.00047193, 0.00028914, 7.27256689, 0.99855832, 0.99923893, 0.49321409],\
+-[	-6.27303899, -0.00047185, 0.00028909, 7.27256714, 0.99855854, 0.99923905, 0.49321418],\
+-[	-6.27303916, -0.00047178, 0.00028905, 7.27256738, 0.99855876, 0.99923917, 0.49321418],\
+-[	-6.27303933, -0.00047171, 0.00028901, 7.27256762, 0.99855898, 0.99923928, 0.49321424],\
+-[	-6.27303951, -0.00047164, 0.00028896, 7.27256787, 0.99855920, 0.99923940, 0.49321434],\
+-[	-6.27303968, -0.00047157, 0.00028892, 7.27256811, 0.99855942, 0.99923951, 0.49321431],\
+-[	-6.27303985, -0.00047150, 0.00028887, 7.27256835, 0.99855964, 0.99923963, 0.49321429],\
+-[	-6.27304002, -0.00047142, 0.00028883, 7.27256860, 0.99855986, 0.99923975, 0.49321428],\
+-[	-6.27304019, -0.00047135, 0.00028879, 7.27256884, 0.99856008, 0.99923986, 0.49321434],\
+-[	-6.27304037, -0.00047128, 0.00028874, 7.27256909, 0.99856030, 0.99923998, 0.49321435],\
+-[	-6.27304054, -0.00047121, 0.00028870, 7.27256933, 0.99856052, 0.99924009, 0.49321437],\
+-[	-6.27304071, -0.00047114, 0.00028865, 7.27256957, 0.99856073, 0.99924021, 0.49321446],\
+-[	-6.27304088, -0.00047106, 0.00028861, 7.27256982, 0.99856095, 0.99924032, 0.49321442],\
+-[	-6.27304105, -0.00047099, 0.00028857, 7.27257006, 0.99856117, 0.99924044, 0.49321442],\
+-[	-6.27304122, -0.00047092, 0.00028852, 7.27257030, 0.99856139, 0.99924056, 0.49321451],\
+-[	-6.27304139, -0.00047085, 0.00028848, 7.27257054, 0.99856161, 0.99924067, 0.49321455],\
+-[	-6.27304157, -0.00047078, 0.00028843, 7.27257079, 0.99856183, 0.99924079, 0.49321455],\
+-[	-6.27304174, -0.00047071, 0.00028839, 7.27257103, 0.99856205, 0.99924090, 0.49321459],\
+-[	-6.27304191, -0.00047064, 0.00028835, 7.27257127, 0.99856227, 0.99924102, 0.49321464],\
+-[	-6.27304208, -0.00047056, 0.00028830, 7.27257152, 0.99856249, 0.99924113, 0.49321460],\
+-[	-6.27304225, -0.00047049, 0.00028826, 7.27257176, 0.99856270, 0.99924125, 0.49321463],\
+-[	-6.27304242, -0.00047042, 0.00028822, 7.27257200, 0.99856292, 0.99924136, 0.49321476],\
+-[	-6.27304259, -0.00047035, 0.00028817, 7.27257224, 0.99856314, 0.99924148, 0.49321475],\
+-[	-6.27304276, -0.00047028, 0.00028813, 7.27257249, 0.99856336, 0.99924159, 0.49321471],\
+-[	-6.27304294, -0.00047021, 0.00028808, 7.27257273, 0.99856358, 0.99924171, 0.49321475],\
+-[	-6.27304311, -0.00047013, 0.00028804, 7.27257297, 0.99856380, 0.99924183, 0.49321476],\
+-[	-6.27304328, -0.00047006, 0.00028800, 7.27257321, 0.99856401, 0.99924194, 0.49321484],\
+-[	-6.27304345, -0.00046999, 0.00028795, 7.27257346, 0.99856423, 0.99924206, 0.49321477],\
+-[	-6.27304362, -0.00046992, 0.00028791, 7.27257370, 0.99856445, 0.99924217, 0.49321483],\
+-[	-6.27304379, -0.00046985, 0.00028787, 7.27257394, 0.99856467, 0.99924229, 0.49321495],\
+-[	-6.27304396, -0.00046978, 0.00028782, 7.27257418, 0.99856489, 0.99924240, 0.49321491],\
+-[	-6.27304413, -0.00046971, 0.00028778, 7.27257442, 0.99856510, 0.99924252, 0.49321493],\
+-[	-6.27304430, -0.00046964, 0.00028773, 7.27257467, 0.99856532, 0.99924263, 0.49321498],\
+-[	-6.27304447, -0.00046956, 0.00028769, 7.27257491, 0.99856554, 0.99924275, 0.49321496],\
+-[	-6.27304464, -0.00046949, 0.00028765, 7.27257515, 0.99856576, 0.99924286, 0.49321502],\
+-[	-6.27304481, -0.00046942, 0.00028760, 7.27257539, 0.99856597, 0.99924298, 0.49321503],\
+-[	-6.27304498, -0.00046935, 0.00028756, 7.27257563, 0.99856619, 0.99924309, 0.49321507],\
+-[	-6.27304515, -0.00046928, 0.00028752, 7.27257587, 0.99856641, 0.99924320, 0.49321515],\
+-[	-6.27304532, -0.00046921, 0.00028747, 7.27257611, 0.99856663, 0.99924332, 0.49321508],\
+-[	-6.27304549, -0.00046914, 0.00028743, 7.27257636, 0.99856684, 0.99924343, 0.49321514],\
+-[	-6.27304566, -0.00046907, 0.00028738, 7.27257660, 0.99856706, 0.99924355, 0.49321526],\
+-[	-6.27304583, -0.00046900, 0.00028734, 7.27257684, 0.99856728, 0.99924366, 0.49321521],\
+-[	-6.27304600, -0.00046892, 0.00028730, 7.27257708, 0.99856750, 0.99924378, 0.49321521],\
+-[	-6.27304617, -0.00046885, 0.00028725, 7.27257732, 0.99856771, 0.99924389, 0.49321523],\
+-[	-6.27304634, -0.00046878, 0.00028721, 7.27257756, 0.99856793, 0.99924401, 0.49321526],\
+-[	-6.27304651, -0.00046871, 0.00028717, 7.27257780, 0.99856815, 0.99924412, 0.49321530],\
+-[	-6.27304668, -0.00046864, 0.00028712, 7.27257804, 0.99856836, 0.99924424, 0.49321535],\
+-[	-6.27304685, -0.00046857, 0.00028708, 7.27257828, 0.99856858, 0.99924435, 0.49321541],\
+-[	-6.27304702, -0.00046850, 0.00028704, 7.27257852, 0.99856880, 0.99924446, 0.49321529],\
+-[	-6.27304719, -0.00046843, 0.00028699, 7.27257876, 0.99856901, 0.99924458, 0.49321541],\
+-[	-6.27304736, -0.00046836, 0.00028695, 7.27257901, 0.99856923, 0.99924469, 0.49321535],\
+-[	-6.27304753, -0.00046829, 0.00028691, 7.27257925, 0.99856945, 0.99924481, 0.49321543],\
+-[	-6.27304770, -0.00046821, 0.00028686, 7.27257949, 0.99856966, 0.99924492, 0.49321548],\
+-[	-6.27304787, -0.00046814, 0.00028682, 7.27257973, 0.99856988, 0.99924504, 0.49321551],\
+-[	-6.27304804, -0.00046807, 0.00028678, 7.27257997, 0.99857010, 0.99924515, 0.49321545],\
+-[	-6.27304821, -0.00046800, 0.00028673, 7.27258021, 0.99857031, 0.99924526, 0.49321554],\
+-[	-6.27304838, -0.00046793, 0.00028669, 7.27258045, 0.99857053, 0.99924538, 0.49321557],\
+-[	-6.27304855, -0.00046786, 0.00028665, 7.27258069, 0.99857074, 0.99924549, 0.49321561],\
+-[	-6.27304872, -0.00046779, 0.00028660, 7.27258093, 0.99857096, 0.99924561, 0.49321567],\
+-[	-6.27304889, -0.00046772, 0.00028656, 7.27258117, 0.99857118, 0.99924572, 0.49321567],\
+-[	-6.27304906, -0.00046765, 0.00028652, 7.27258141, 0.99857139, 0.99924583, 0.49321571],\
+-[	-6.27304922, -0.00046758, 0.00028647, 7.27258165, 0.99857161, 0.99924595, 0.49321566],\
+-[	-6.27304939, -0.00046751, 0.00028643, 7.27258189, 0.99857182, 0.99924606, 0.49321576],\
+-[	-6.27304956, -0.00046744, 0.00028639, 7.27258213, 0.99857204, 0.99924618, 0.49321567],\
+-[	-6.27304973, -0.00046737, 0.00028634, 7.27258236, 0.99857226, 0.99924629, 0.49321585],\
+-[	-6.27304990, -0.00046730, 0.00028630, 7.27258260, 0.99857247, 0.99924640, 0.49321576],\
+-[	-6.27305007, -0.00046723, 0.00028626, 7.27258284, 0.99857269, 0.99924652, 0.49321581],\
+-[	-6.27305024, -0.00046715, 0.00028621, 7.27258308, 0.99857290, 0.99924663, 0.49321580],\
+-[	-6.27305041, -0.00046708, 0.00028617, 7.27258332, 0.99857312, 0.99924675, 0.49321590],\
+-[	-6.27305057, -0.00046701, 0.00028613, 7.27258356, 0.99857333, 0.99924686, 0.49321582],\
+-[	-6.27305074, -0.00046694, 0.00028608, 7.27258380, 0.99857355, 0.99924697, 0.49321587],\
+-[	-6.27305091, -0.00046687, 0.00028604, 7.27258404, 0.99857376, 0.99924709, 0.49321595],\
+-[	-6.27305108, -0.00046680, 0.00028600, 7.27258428, 0.99857398, 0.99924720, 0.49321595],\
+-[	-6.27305125, -0.00046673, 0.00028595, 7.27258452, 0.99857419, 0.99924731, 0.49321600],\
+-[	-6.27305142, -0.00046666, 0.00028591, 7.27258476, 0.99857441, 0.99924743, 0.49321598],\
+-[	-6.27305159, -0.00046659, 0.00028587, 7.27258499, 0.99857462, 0.99924754, 0.49321613],\
+-[	-6.27305175, -0.00046652, 0.00028582, 7.27258523, 0.99857484, 0.99924765, 0.49321611],\
+-[	-6.27305192, -0.00046645, 0.00028578, 7.27258547, 0.99857505, 0.99924777, 0.49321600],\
+-[	-6.27305209, -0.00046638, 0.00028574, 7.27258571, 0.99857527, 0.99924788, 0.49321621],\
+-[	-6.27305226, -0.00046631, 0.00028570, 7.27258595, 0.99857548, 0.99924799, 0.49321615],\
+-[	-6.27305243, -0.00046624, 0.00028565, 7.27258619, 0.99857570, 0.99924811, 0.49321620],\
+-[	-6.27305259, -0.00046617, 0.00028561, 7.27258642, 0.99857591, 0.99924822, 0.49321625],\
+-[	-6.27305276, -0.00046610, 0.00028557, 7.27258666, 0.99857613, 0.99924833, 0.49321621],\
+-[	-6.27305293, -0.00046603, 0.00028552, 7.27258690, 0.99857634, 0.99924845, 0.49321630],\
+-[	-6.27305310, -0.00046596, 0.00028548, 7.27258714, 0.99857656, 0.99924856, 0.49321623],\
+-[	-6.27305327, -0.00046589, 0.00028544, 7.27258738, 0.99857677, 0.99924867, 0.49321633],\
+-[	-6.27305343, -0.00046582, 0.00028539, 7.27258761, 0.99857698, 0.99924879, 0.49321637],\
+-[	-6.27305360, -0.00046575, 0.00028535, 7.27258785, 0.99857720, 0.99924890, 0.49321640],\
+-[	-6.27305377, -0.00046568, 0.00028531, 7.27258809, 0.99857741, 0.99924901, 0.49321641],\
+-[	-6.27305394, -0.00046561, 0.00028527, 7.27258833, 0.99857763, 0.99924913, 0.49321644],\
+-[	-6.27305410, -0.00046554, 0.00028522, 7.27258857, 0.99857784, 0.99924924, 0.49321640],\
+-[	-6.27305427, -0.00046547, 0.00028518, 7.27258880, 0.99857805, 0.99924935, 0.49321644],\
+-[	-6.27305444, -0.00046540, 0.00028514, 7.27258904, 0.99857827, 0.99924946, 0.49321647],\
+-[	-6.27305461, -0.00046533, 0.00028509, 7.27258928, 0.99857848, 0.99924958, 0.49321655],\
+-[	-6.27305477, -0.00046526, 0.00028505, 7.27258952, 0.99857870, 0.99924969, 0.49321652],\
+-[	-6.27305494, -0.00046519, 0.00028501, 7.27258975, 0.99857891, 0.99924980, 0.49321651],\
+-[	-6.27305511, -0.00046512, 0.00028497, 7.27258999, 0.99857912, 0.99924992, 0.49321656],\
+-[	-6.27305528, -0.00046505, 0.00028492, 7.27259023, 0.99857934, 0.99925003, 0.49321656],\
+-[	-6.27305544, -0.00046498, 0.00028488, 7.27259046, 0.99857955, 0.99925014, 0.49321665],\
+-[	-6.27305561, -0.00046491, 0.00028484, 7.27259070, 0.99857976, 0.99925025, 0.49321668],\
+-[	-6.27305578, -0.00046484, 0.00028479, 7.27259094, 0.99857998, 0.99925037, 0.49321665],\
+-[	-6.27305594, -0.00046477, 0.00028475, 7.27259117, 0.99858019, 0.99925048, 0.49321672],\
+-[	-6.27305611, -0.00046470, 0.00028471, 7.27259141, 0.99858040, 0.99925059, 0.49321675],\
+-[	-6.27305628, -0.00046463, 0.00028467, 7.27259165, 0.99858062, 0.99925070, 0.49321677],\
+-[	-6.27305645, -0.00046456, 0.00028462, 7.27259188, 0.99858083, 0.99925082, 0.49321675],\
+-[	-6.27305661, -0.00046449, 0.00028458, 7.27259212, 0.99858104, 0.99925093, 0.49321677],\
+-[	-6.27305678, -0.00046442, 0.00028454, 7.27259236, 0.99858126, 0.99925104, 0.49321687],\
+-[	-6.27305695, -0.00046435, 0.00028449, 7.27259259, 0.99858147, 0.99925115, 0.49321692],\
+-[	-6.27305711, -0.00046428, 0.00028445, 7.27259283, 0.99858168, 0.99925127, 0.49321690],\
+-[	-6.27305728, -0.00046421, 0.00028441, 7.27259307, 0.99858189, 0.99925138, 0.49321690],\
+-[	-6.27305745, -0.00046414, 0.00028437, 7.27259330, 0.99858211, 0.99925149, 0.49321703],\
+-[	-6.27305761, -0.00046407, 0.00028432, 7.27259354, 0.99858232, 0.99925160, 0.49321695],\
+-[	-6.27305778, -0.00046400, 0.00028428, 7.27259377, 0.99858253, 0.99925171, 0.49321702],\
+-[	-6.27305795, -0.00046393, 0.00028424, 7.27259401, 0.99858275, 0.99925183, 0.49321702],\
+-[	-6.27305811, -0.00046386, 0.00028420, 7.27259425, 0.99858296, 0.99925194, 0.49321707],\
+-[	-6.27305828, -0.00046380, 0.00028415, 7.27259448, 0.99858317, 0.99925205, 0.49321711],\
+-[	-6.27305844, -0.00046373, 0.00028411, 7.27259472, 0.99858338, 0.99925216, 0.49321702],\
+-[	-6.27305861, -0.00046366, 0.00028407, 7.27259495, 0.99858359, 0.99925227, 0.49321714],\
+-[	-6.27305878, -0.00046359, 0.00028403, 7.27259519, 0.99858381, 0.99925239, 0.49321714],\
+-[	-6.27305894, -0.00046352, 0.00028398, 7.27259543, 0.99858402, 0.99925250, 0.49321712],\
+-[	-6.27305911, -0.00046345, 0.00028394, 7.27259566, 0.99858423, 0.99925261, 0.49321724],\
+-[	-6.27305927, -0.00046338, 0.00028390, 7.27259590, 0.99858444, 0.99925272, 0.49321723],\
+-[	-6.27305944, -0.00046331, 0.00028386, 7.27259613, 0.99858465, 0.99925283, 0.49321718],\
+-[	-6.27305961, -0.00046324, 0.00028381, 7.27259637, 0.99858487, 0.99925295, 0.49321725],\
+-[	-6.27305977, -0.00046317, 0.00028377, 7.27259660, 0.99858508, 0.99925306, 0.49321729],\
+-[	-6.27305994, -0.00046310, 0.00028373, 7.27259684, 0.99858529, 0.99925317, 0.49321728],\
+-[	-6.27306010, -0.00046303, 0.00028369, 7.27259707, 0.99858550, 0.99925328, 0.49321728],\
+-[	-6.27306027, -0.00046296, 0.00028364, 7.27259731, 0.99858571, 0.99925339, 0.49321738],\
+-[	-6.27306044, -0.00046289, 0.00028360, 7.27259754, 0.99858593, 0.99925351, 0.49321730],\
+-[	-6.27306060, -0.00046282, 0.00028356, 7.27259778, 0.99858614, 0.99925362, 0.49321736],\
+-[	-6.27306077, -0.00046276, 0.00028352, 7.27259801, 0.99858635, 0.99925373, 0.49321743],\
+-[	-6.27306093, -0.00046269, 0.00028347, 7.27259825, 0.99858656, 0.99925384, 0.49321740],\
+-[	-6.27306110, -0.00046262, 0.00028343, 7.27259848, 0.99858677, 0.99925395, 0.49321757],\
+-[	-6.27306126, -0.00046255, 0.00028339, 7.27259872, 0.99858698, 0.99925406, 0.49321754],\
+-[	-6.27306143, -0.00046248, 0.00028335, 7.27259895, 0.99858719, 0.99925417, 0.49321760],\
+-[	-6.27306159, -0.00046241, 0.00028330, 7.27259918, 0.99858740, 0.99925429, 0.49321757],\
+-[	-6.27306176, -0.00046234, 0.00028326, 7.27259942, 0.99858762, 0.99925440, 0.49321761],\
+-[	-6.27306192, -0.00046227, 0.00028322, 7.27259965, 0.99858783, 0.99925451, 0.49321757],\
+-[	-6.27306209, -0.00046220, 0.00028318, 7.27259989, 0.99858804, 0.99925462, 0.49321764],\
+-[	-6.27306225, -0.00046213, 0.00028314, 7.27260012, 0.99858825, 0.99925473, 0.49321769],\
+-[	-6.27306242, -0.00046206, 0.00028309, 7.27260036, 0.99858846, 0.99925484, 0.49321767],\
+-[	-6.27306259, -0.00046200, 0.00028305, 7.27260059, 0.99858867, 0.99925495, 0.49321773],\
+-[	-6.27306275, -0.00046193, 0.00028301, 7.27260082, 0.99858888, 0.99925506, 0.49321772],\
+-[	-6.27306292, -0.00046186, 0.00028297, 7.27260106, 0.99858909, 0.99925518, 0.49321771],\
+-[	-6.27306308, -0.00046179, 0.00028292, 7.27260129, 0.99858930, 0.99925529, 0.49321779],\
+-[	-6.27306324, -0.00046172, 0.00028288, 7.27260152, 0.99858951, 0.99925540, 0.49321779],\
+-[	-6.27306341, -0.00046165, 0.00028284, 7.27260176, 0.99858972, 0.99925551, 0.49321780],\
+-[	-6.27306357, -0.00046158, 0.00028280, 7.27260199, 0.99858993, 0.99925562, 0.49321791],\
+-[	-6.27306374, -0.00046151, 0.00028275, 7.27260223, 0.99859014, 0.99925573, 0.49321791],\
+-[	-6.27306390, -0.00046144, 0.00028271, 7.27260246, 0.99859035, 0.99925584, 0.49321788],\
+-[	-6.27306407, -0.00046138, 0.00028267, 7.27260269, 0.99859056, 0.99925595, 0.49321791],\
+-[	-6.27306423, -0.00046131, 0.00028263, 7.27260293, 0.99859077, 0.99925606, 0.49321799],\
+-[	-6.27306440, -0.00046124, 0.00028259, 7.27260316, 0.99859098, 0.99925618, 0.49321795],\
+-[	-6.27306456, -0.00046117, 0.00028254, 7.27260339, 0.99859119, 0.99925629, 0.49321797],\
+-[	-6.27306473, -0.00046110, 0.00028250, 7.27260363, 0.99859140, 0.99925640, 0.49321800],\
+-[	-6.27306489, -0.00046103, 0.00028246, 7.27260386, 0.99859161, 0.99925651, 0.49321804],\
+-[	-6.27306505, -0.00046096, 0.00028242, 7.27260409, 0.99859182, 0.99925662, 0.49321800],\
+-[	-6.27306522, -0.00046090, 0.00028238, 7.27260432, 0.99859203, 0.99925673, 0.49321804],\
+-[	-6.27306538, -0.00046083, 0.00028233, 7.27260456, 0.99859224, 0.99925684, 0.49321806],\
+-[	-6.27306555, -0.00046076, 0.00028229, 7.27260479, 0.99859245, 0.99925695, 0.49321814],\
+-[	-6.27306571, -0.00046069, 0.00028225, 7.27260502, 0.99859266, 0.99925706, 0.49321818],\
+-[	-6.27306588, -0.00046062, 0.00028221, 7.27260525, 0.99859287, 0.99925717, 0.49321811],\
+-[	-6.27306604, -0.00046055, 0.00028217, 7.27260549, 0.99859308, 0.99925728, 0.49321821],\
+-[	-6.27306620, -0.00046048, 0.00028212, 7.27260572, 0.99859329, 0.99925739, 0.49321828],\
+-[	-6.27306637, -0.00046042, 0.00028208, 7.27260595, 0.99859350, 0.99925750, 0.49321829],\
+-[	-6.27306653, -0.00046035, 0.00028204, 7.27260618, 0.99859371, 0.99925761, 0.49321826],\
+-[	-6.27306670, -0.00046028, 0.00028200, 7.27260642, 0.99859392, 0.99925772, 0.49321833],\
+-[	-6.27306686, -0.00046021, 0.00028196, 7.27260665, 0.99859413, 0.99925783, 0.49321833],\
+-[	-6.27306702, -0.00046014, 0.00028191, 7.27260688, 0.99859434, 0.99925794, 0.49321830],\
+-[	-6.27306719, -0.00046007, 0.00028187, 7.27260711, 0.99859455, 0.99925805, 0.49321842],\
+-[	-6.27306735, -0.00046000, 0.00028183, 7.27260735, 0.99859475, 0.99925817, 0.49321838],\
+-[	-6.27306751, -0.00045994, 0.00028179, 7.27260758, 0.99859496, 0.99925828, 0.49321849],\
+-[	-6.27306768, -0.00045987, 0.00028175, 7.27260781, 0.99859517, 0.99925839, 0.49321848],\
+-[	-6.27306784, -0.00045980, 0.00028170, 7.27260804, 0.99859538, 0.99925850, 0.49321848],\
+-[	-6.27306800, -0.00045973, 0.00028166, 7.27260827, 0.99859559, 0.99925861, 0.49321852],\
+-[	-6.27306817, -0.00045966, 0.00028162, 7.27260850, 0.99859580, 0.99925872, 0.49321855],\
+-[	-6.27306833, -0.00045959, 0.00028158, 7.27260874, 0.99859601, 0.99925883, 0.49321849],\
+-[	-6.27306849, -0.00045953, 0.00028154, 7.27260897, 0.99859622, 0.99925894, 0.49321861],\
+-[	-6.27306866, -0.00045946, 0.00028150, 7.27260920, 0.99859642, 0.99925905, 0.49321858],\
+-[	-6.27306882, -0.00045939, 0.00028145, 7.27260943, 0.99859663, 0.99925916, 0.49321869],\
+-[	-6.27306898, -0.00045932, 0.00028141, 7.27260966, 0.99859684, 0.99925927, 0.49321873],\
+-[	-6.27306915, -0.00045925, 0.00028137, 7.27260989, 0.99859705, 0.99925938, 0.49321868],\
+-[	-6.27306931, -0.00045919, 0.00028133, 7.27261012, 0.99859726, 0.99925949, 0.49321872],\
+-[	-6.27306947, -0.00045912, 0.00028129, 7.27261035, 0.99859746, 0.99925960, 0.49321879],\
+-[	-6.27306964, -0.00045905, 0.00028124, 7.27261059, 0.99859767, 0.99925971, 0.49321873],\
+-[	-6.27306980, -0.00045898, 0.00028120, 7.27261082, 0.99859788, 0.99925982, 0.49321881],\
+-[	-6.27306996, -0.00045891, 0.00028116, 7.27261105, 0.99859809, 0.99925993, 0.49321869],\
+-[	-6.27307012, -0.00045885, 0.00028112, 7.27261128, 0.99859830, 0.99926003, 0.49321889],\
+-[	-6.27307029, -0.00045878, 0.00028108, 7.27261151, 0.99859850, 0.99926014, 0.49321883],\
+-[	-6.27307045, -0.00045871, 0.00028104, 7.27261174, 0.99859871, 0.99926025, 0.49321889],\
+-[	-6.27307061, -0.00045864, 0.00028099, 7.27261197, 0.99859892, 0.99926036, 0.49321886],\
+-[	-6.27307078, -0.00045857, 0.00028095, 7.27261220, 0.99859913, 0.99926047, 0.49321894],\
+-[	-6.27307094, -0.00045851, 0.00028091, 7.27261243, 0.99859934, 0.99926058, 0.49321894],\
+-[	-6.27307110, -0.00045844, 0.00028087, 7.27261266, 0.99859954, 0.99926069, 0.49321891],\
+-[	-6.27307126, -0.00045837, 0.00028083, 7.27261289, 0.99859975, 0.99926080, 0.49321907],\
+-[	-6.27307142, -0.00045830, 0.00028079, 7.27261312, 0.99859996, 0.99926091, 0.49321892],\
+-[	-6.27307159, -0.00045823, 0.00028074, 7.27261335, 0.99860016, 0.99926102, 0.49321904],\
+-[	-6.27307175, -0.00045817, 0.00028070, 7.27261358, 0.99860037, 0.99926113, 0.49321907],\
+-[	-6.27307191, -0.00045810, 0.00028066, 7.27261381, 0.99860058, 0.99926124, 0.49321903],\
+-[	-6.27307207, -0.00045803, 0.00028062, 7.27261404, 0.99860079, 0.99926135, 0.49321912],\
+-[	-6.27307224, -0.00045796, 0.00028058, 7.27261427, 0.99860099, 0.99926146, 0.49321912],\
+-[	-6.27307240, -0.00045790, 0.00028054, 7.27261450, 0.99860120, 0.99926157, 0.49321912],\
+-[	-6.27307256, -0.00045783, 0.00028050, 7.27261473, 0.99860141, 0.99926168, 0.49321924],\
+-[	-6.27307272, -0.00045776, 0.00028045, 7.27261496, 0.99860161, 0.99926179, 0.49321924],\
+-[	-6.27307288, -0.00045769, 0.00028041, 7.27261519, 0.99860182, 0.99926190, 0.49321921],\
+-[	-6.27307305, -0.00045762, 0.00028037, 7.27261542, 0.99860203, 0.99926200, 0.49321927],\
+-[	-6.27307321, -0.00045756, 0.00028033, 7.27261565, 0.99860223, 0.99926211, 0.49321925],\
+-[	-6.27307337, -0.00045749, 0.00028029, 7.27261588, 0.99860244, 0.99926222, 0.49321926],\
+-[	-6.27307353, -0.00045742, 0.00028025, 7.27261611, 0.99860265, 0.99926233, 0.49321932],\
+-[	-6.27307369, -0.00045735, 0.00028021, 7.27261634, 0.99860285, 0.99926244, 0.49321935],\
+-[	-6.27307386, -0.00045729, 0.00028016, 7.27261657, 0.99860306, 0.99926255, 0.49321931],\
+-[	-6.27307402, -0.00045722, 0.00028012, 7.27261680, 0.99860327, 0.99926266, 0.49321940],\
+-[	-6.27307418, -0.00045715, 0.00028008, 7.27261703, 0.99860347, 0.99926277, 0.49321940],\
+-[	-6.27307434, -0.00045708, 0.00028004, 7.27261726, 0.99860368, 0.99926288, 0.49321938],\
+-[	-6.27307450, -0.00045702, 0.00028000, 7.27261749, 0.99860389, 0.99926299, 0.49321955],\
+-[	-6.27307466, -0.00045695, 0.00027996, 7.27261771, 0.99860409, 0.99926309, 0.49321946],\
+-[	-6.27307482, -0.00045688, 0.00027992, 7.27261794, 0.99860430, 0.99926320, 0.49321952],\
+-[	-6.27307499, -0.00045681, 0.00027987, 7.27261817, 0.99860450, 0.99926331, 0.49321956],\
+-[	-6.27307515, -0.00045675, 0.00027983, 7.27261840, 0.99860471, 0.99926342, 0.49321950],\
+-[	-6.27307531, -0.00045668, 0.00027979, 7.27261863, 0.99860492, 0.99926353, 0.49321959],\
+-[	-6.27307547, -0.00045661, 0.00027975, 7.27261886, 0.99860512, 0.99926364, 0.49321954],\
+-[	-6.27307563, -0.00045654, 0.00027971, 7.27261909, 0.99860533, 0.99926375, 0.49321964],\
+-[	-6.27307579, -0.00045648, 0.00027967, 7.27261931, 0.99860553, 0.99926385, 0.49321960],\
+-[	-6.27307595, -0.00045641, 0.00027963, 7.27261954, 0.99860574, 0.99926396, 0.49321972],\
+-[	-6.27307611, -0.00045634, 0.00027959, 7.27261977, 0.99860595, 0.99926407, 0.49321973],\
+-[	-6.27307628, -0.00045628, 0.00027954, 7.27262000, 0.99860615, 0.99926418, 0.49321968],\
+-[	-6.27307644, -0.00045621, 0.00027950, 7.27262023, 0.99860636, 0.99926429, 0.49321967],\
+-[	-6.27307660, -0.00045614, 0.00027946, 7.27262046, 0.99860656, 0.99926440, 0.49321972],\
+-[	-6.27307676, -0.00045607, 0.00027942, 7.27262068, 0.99860677, 0.99926451, 0.49321981],\
+-[	-6.27307692, -0.00045601, 0.00027938, 7.27262091, 0.99860697, 0.99926461, 0.49321979],\
+-[	-6.27307708, -0.00045594, 0.00027934, 7.27262114, 0.99860718, 0.99926472, 0.49321986],\
+-[	-6.27307724, -0.00045587, 0.00027930, 7.27262137, 0.99860738, 0.99926483, 0.49321988],\
+-[	-6.27307740, -0.00045581, 0.00027926, 7.27262160, 0.99860759, 0.99926494, 0.49321990],\
+-[	-6.27307756, -0.00045574, 0.00027921, 7.27262182, 0.99860779, 0.99926505, 0.49321998],\
+-[	-6.27307772, -0.00045567, 0.00027917, 7.27262205, 0.99860800, 0.99926516, 0.49322003],\
+-[	-6.27307788, -0.00045560, 0.00027913, 7.27262228, 0.99860820, 0.99926526, 0.49321994],\
+-[	-6.27307804, -0.00045554, 0.00027909, 7.27262251, 0.99860841, 0.99926537, 0.49322002],\
+-[	-6.27307820, -0.00045547, 0.00027905, 7.27262273, 0.99860861, 0.99926548, 0.49321999],\
+-[	-6.27307836, -0.00045540, 0.00027901, 7.27262296, 0.99860882, 0.99926559, 0.49322005],\
+-[	-6.27307852, -0.00045534, 0.00027897, 7.27262319, 0.99860902, 0.99926570, 0.49322007],\
+-[	-6.27307868, -0.00045527, 0.00027893, 7.27262342, 0.99860923, 0.99926580, 0.49322002],\
+-[	-6.27307884, -0.00045520, 0.00027889, 7.27262364, 0.99860943, 0.99926591, 0.49322013],\
+-[	-6.27307900, -0.00045514, 0.00027884, 7.27262387, 0.99860964, 0.99926602, 0.49322009],\
+-[	-6.27307916, -0.00045507, 0.00027880, 7.27262410, 0.99860984, 0.99926613, 0.49322010],\
+-[	-6.27307932, -0.00045500, 0.00027876, 7.27262432, 0.99861004, 0.99926624, 0.49322020],\
+-[	-6.27307949, -0.00045493, 0.00027872, 7.27262455, 0.99861025, 0.99926634, 0.49322020],\
+-[	-6.27307964, -0.00045487, 0.00027868, 7.27262478, 0.99861045, 0.99926645, 0.49322021],\
+-[	-6.27307980, -0.00045480, 0.00027864, 7.27262500, 0.99861066, 0.99926656, 0.49322031],\
+-[	-6.27307996, -0.00045473, 0.00027860, 7.27262523, 0.99861086, 0.99926667, 0.49322031],\
+-[	-6.27308012, -0.00045467, 0.00027856, 7.27262546, 0.99861107, 0.99926677, 0.49322033],\
+-[	-6.27308028, -0.00045460, 0.00027852, 7.27262568, 0.99861127, 0.99926688, 0.49322029],\
+-[	-6.27308044, -0.00045453, 0.00027848, 7.27262591, 0.99861147, 0.99926699, 0.49322034],\
+-[	-6.27308060, -0.00045447, 0.00027844, 7.27262614, 0.99861168, 0.99926710, 0.49322033],\
+-[	-6.27308076, -0.00045440, 0.00027839, 7.27262636, 0.99861188, 0.99926721, 0.49322036],\
+-[	-6.27308092, -0.00045433, 0.00027835, 7.27262659, 0.99861209, 0.99926731, 0.49322047],\
+-[	-6.27308108, -0.00045427, 0.00027831, 7.27262682, 0.99861229, 0.99926742, 0.49322045],\
+-[	-6.27308124, -0.00045420, 0.00027827, 7.27262704, 0.99861249, 0.99926753, 0.49322049],\
+-[	-6.27308140, -0.00045413, 0.00027823, 7.27262727, 0.99861270, 0.99926764, 0.49322055],\
+-[	-6.27308156, -0.00045407, 0.00027819, 7.27262749, 0.99861290, 0.99926774, 0.49322054],\
+-[	-6.27308172, -0.00045400, 0.00027815, 7.27262772, 0.99861310, 0.99926785, 0.49322056],\
+-[	-6.27308188, -0.00045393, 0.00027811, 7.27262795, 0.99861331, 0.99926796, 0.49322059],\
+-[	-6.27308204, -0.00045387, 0.00027807, 7.27262817, 0.99861351, 0.99926807, 0.49322050],\
+-[	-6.27308220, -0.00045380, 0.00027803, 7.27262840, 0.99861371, 0.99926817, 0.49322063],\
+-[	-6.27308236, -0.00045373, 0.00027799, 7.27262862, 0.99861392, 0.99926828, 0.49322066],\
+-[	-6.27308252, -0.00045367, 0.00027795, 7.27262885, 0.99861412, 0.99926839, 0.49322063],\
+-[	-6.27308268, -0.00045360, 0.00027790, 7.27262907, 0.99861432, 0.99926849, 0.49322070],\
+-[	-6.27308284, -0.00045353, 0.00027786, 7.27262930, 0.99861453, 0.99926860, 0.49322066],\
+-[	-6.27308299, -0.00045347, 0.00027782, 7.27262953, 0.99861473, 0.99926871, 0.49322073],\
+-[	-6.27308315, -0.00045340, 0.00027778, 7.27262975, 0.99861493, 0.99926882, 0.49322074],\
+-[	-6.27308331, -0.00045334, 0.00027774, 7.27262998, 0.99861514, 0.99926892, 0.49322073],\
+-[	-6.27308347, -0.00045327, 0.00027770, 7.27263020, 0.99861534, 0.99926903, 0.49322080],\
+-[	-6.27308363, -0.00045320, 0.00027766, 7.27263043, 0.99861554, 0.99926914, 0.49322087],\
+-[	-6.27308379, -0.00045314, 0.00027762, 7.27263065, 0.99861574, 0.99926924, 0.49322079],\
+-[	-6.27308395, -0.00045307, 0.00027758, 7.27263088, 0.99861595, 0.99926935, 0.49322088],\
+-[	-6.27308411, -0.00045300, 0.00027754, 7.27263110, 0.99861615, 0.99926946, 0.49322089],\
+-[	-6.27308426, -0.00045294, 0.00027750, 7.27263133, 0.99861635, 0.99926956, 0.49322091],\
+-[	-6.27308442, -0.00045287, 0.00027746, 7.27263155, 0.99861655, 0.99926967, 0.49322099],\
+-[	-6.27308458, -0.00045281, 0.00027742, 7.27263178, 0.99861676, 0.99926978, 0.49322093],\
+-[	-6.27308474, -0.00045274, 0.00027738, 7.27263200, 0.99861696, 0.99926989, 0.49322094],\
+-[	-6.27308490, -0.00045267, 0.00027734, 7.27263223, 0.99861716, 0.99926999, 0.49322104],\
+-[	-6.27308506, -0.00045261, 0.00027729, 7.27263245, 0.99861736, 0.99927010, 0.49322101],\
+-[	-6.27308522, -0.00045254, 0.00027725, 7.27263268, 0.99861757, 0.99927021, 0.49322100],\
+-[	-6.27308537, -0.00045247, 0.00027721, 7.27263290, 0.99861777, 0.99927031, 0.49322109],\
+-[	-6.27308553, -0.00045241, 0.00027717, 7.27263312, 0.99861797, 0.99927042, 0.49322112],\
+-[	-6.27308569, -0.00045234, 0.00027713, 7.27263335, 0.99861817, 0.99927053, 0.49322118],\
+-[	-6.27308585, -0.00045228, 0.00027709, 7.27263357, 0.99861837, 0.99927063, 0.49322108],\
+-[	-6.27308601, -0.00045221, 0.00027705, 7.27263380, 0.99861858, 0.99927074, 0.49322119],\
+-[	-6.27308616, -0.00045214, 0.00027701, 7.27263402, 0.99861878, 0.99927085, 0.49322124],\
+-[	-6.27308632, -0.00045208, 0.00027697, 7.27263424, 0.99861898, 0.99927095, 0.49322120],\
+-[	-6.27308648, -0.00045201, 0.00027693, 7.27263447, 0.99861918, 0.99927106, 0.49322125],\
+-[	-6.27308664, -0.00045195, 0.00027689, 7.27263469, 0.99861938, 0.99927116, 0.49322131],\
+-[	-6.27308680, -0.00045188, 0.00027685, 7.27263492, 0.99861959, 0.99927127, 0.49322139],\
+-[	-6.27308695, -0.00045181, 0.00027681, 7.27263514, 0.99861979, 0.99927138, 0.49322128],\
+-[	-6.27308711, -0.00045175, 0.00027677, 7.27263536, 0.99861999, 0.99927148, 0.49322133],\
+-[	-6.27308727, -0.00045168, 0.00027673, 7.27263559, 0.99862019, 0.99927159, 0.49322134],\
+-[	-6.27308743, -0.00045162, 0.00027669, 7.27263581, 0.99862039, 0.99927170, 0.49322141],\
+-[	-6.27308759, -0.00045155, 0.00027665, 7.27263604, 0.99862059, 0.99927180, 0.49322137],\
+-[	-6.27308774, -0.00045148, 0.00027661, 7.27263626, 0.99862079, 0.99927191, 0.49322148],\
+-[	-6.27308790, -0.00045142, 0.00027657, 7.27263648, 0.99862099, 0.99927202, 0.49322145],\
+-[	-6.27308806, -0.00045135, 0.00027653, 7.27263671, 0.99862120, 0.99927212, 0.49322138],\
+-[	-6.27308822, -0.00045129, 0.00027649, 7.27263693, 0.99862140, 0.99927223, 0.49322155],\
+-[	-6.27308837, -0.00045122, 0.00027645, 7.27263715, 0.99862160, 0.99927233, 0.49322147],\
+-[	-6.27308853, -0.00045116, 0.00027641, 7.27263737, 0.99862180, 0.99927244, 0.49322164],\
+-[	-6.27308869, -0.00045109, 0.00027636, 7.27263760, 0.99862200, 0.99927255, 0.49322155],\
+-[	-6.27308884, -0.00045102, 0.00027632, 7.27263782, 0.99862220, 0.99927265, 0.49322156],\
+-[	-6.27308900, -0.00045096, 0.00027628, 7.27263804, 0.99862240, 0.99927276, 0.49322154],\
+-[	-6.27308916, -0.00045089, 0.00027624, 7.27263827, 0.99862260, 0.99927286, 0.49322167],\
+-[	-6.27308932, -0.00045083, 0.00027620, 7.27263849, 0.99862280, 0.99927297, 0.49322165],\
+-[	-6.27308947, -0.00045076, 0.00027616, 7.27263871, 0.99862300, 0.99927308, 0.49322177],\
+-[	-6.27308963, -0.00045070, 0.00027612, 7.27263894, 0.99862320, 0.99927318, 0.49322172],\
+-[	-6.27308979, -0.00045063, 0.00027608, 7.27263916, 0.99862340, 0.99927329, 0.49322177],\
+-[	-6.27308994, -0.00045056, 0.00027604, 7.27263938, 0.99862360, 0.99927339, 0.49322171],\
+-[	-6.27309010, -0.00045050, 0.00027600, 7.27263960, 0.99862381, 0.99927350, 0.49322172],\
+-[	-6.27309026, -0.00045043, 0.00027596, 7.27263983, 0.99862401, 0.99927360, 0.49322182],\
+-[	-6.27309042, -0.00045037, 0.00027592, 7.27264005, 0.99862421, 0.99927371, 0.49322183],\
+-[	-6.27309057, -0.00045030, 0.00027588, 7.27264027, 0.99862441, 0.99927382, 0.49322187],\
+-[	-6.27309073, -0.00045024, 0.00027584, 7.27264049, 0.99862461, 0.99927392, 0.49322184],\
+-[	-6.27309089, -0.00045017, 0.00027580, 7.27264071, 0.99862481, 0.99927403, 0.49322189],\
+-[	-6.27309104, -0.00045011, 0.00027576, 7.27264094, 0.99862501, 0.99927413, 0.49322190],\
+-[	-6.27309120, -0.00045004, 0.00027572, 7.27264116, 0.99862521, 0.99927424, 0.49322188],\
+-[	-6.27309136, -0.00044997, 0.00027568, 7.27264138, 0.99862541, 0.99927434, 0.49322197],\
+-[	-6.27309151, -0.00044991, 0.00027564, 7.27264160, 0.99862561, 0.99927445, 0.49322195],\
+-[	-6.27309167, -0.00044984, 0.00027560, 7.27264182, 0.99862581, 0.99927455, 0.49322198],\
+-[	-6.27309183, -0.00044978, 0.00027556, 7.27264205, 0.99862601, 0.99927466, 0.49322195],\
+-[	-6.27309198, -0.00044971, 0.00027552, 7.27264227, 0.99862621, 0.99927477, 0.49322211],\
+-[	-6.27309214, -0.00044965, 0.00027548, 7.27264249, 0.99862641, 0.99927487, 0.49322215],\
+-[	-6.27309229, -0.00044958, 0.00027544, 7.27264271, 0.99862660, 0.99927498, 0.49322209],\
+-[	-6.27309245, -0.00044952, 0.00027540, 7.27264293, 0.99862680, 0.99927508, 0.49322211],\
+-[	-6.27309261, -0.00044945, 0.00027536, 7.27264315, 0.99862700, 0.99927519, 0.49322213],\
+-[	-6.27309276, -0.00044939, 0.00027532, 7.27264338, 0.99862720, 0.99927529, 0.49322220],\
+-[	-6.27309292, -0.00044932, 0.00027528, 7.27264360, 0.99862740, 0.99927540, 0.49322206],\
+-[	-6.27309307, -0.00044926, 0.00027524, 7.27264382, 0.99862760, 0.99927550, 0.49322222],\
+-[	-6.27309323, -0.00044919, 0.00027520, 7.27264404, 0.99862780, 0.99927561, 0.49322230],\
+-[	-6.27309339, -0.00044913, 0.00027516, 7.27264426, 0.99862800, 0.99927571, 0.49322233],\
+-[	-6.27309354, -0.00044906, 0.00027512, 7.27264448, 0.99862820, 0.99927582, 0.49322226],\
+-[	-6.27309370, -0.00044900, 0.00027508, 7.27264470, 0.99862840, 0.99927592, 0.49322237],\
+-[	-6.27309385, -0.00044893, 0.00027504, 7.27264492, 0.99862860, 0.99927603, 0.49322238],\
+-[	-6.27309401, -0.00044887, 0.00027500, 7.27264514, 0.99862880, 0.99927613, 0.49322229],\
+-[	-6.27309417, -0.00044880, 0.00027496, 7.27264537, 0.99862899, 0.99927624, 0.49322245],\
+-[	-6.27309432, -0.00044874, 0.00027492, 7.27264559, 0.99862919, 0.99927634, 0.49322245],\
+-[	-6.27309448, -0.00044867, 0.00027488, 7.27264581, 0.99862939, 0.99927645, 0.49322246],\
+-[	-6.27309463, -0.00044861, 0.00027484, 7.27264603, 0.99862959, 0.99927655, 0.49322247],\
+-[	-6.27309479, -0.00044854, 0.00027480, 7.27264625, 0.99862979, 0.99927666, 0.49322254],\
+-[	-6.27309494, -0.00044848, 0.00027476, 7.27264647, 0.99862999, 0.99927676, 0.49322253],\
+-[	-6.27309510, -0.00044841, 0.00027472, 7.27264669, 0.99863019, 0.99927687, 0.49322258],\
+-[	-6.27309526, -0.00044835, 0.00027468, 7.27264691, 0.99863039, 0.99927697, 0.49322250],\
+-[	-6.27309541, -0.00044828, 0.00027464, 7.27264713, 0.99863058, 0.99927708, 0.49322253],\
+-[	-6.27309557, -0.00044822, 0.00027460, 7.27264735, 0.99863078, 0.99927718, 0.49322260],\
+-[	-6.27309572, -0.00044815, 0.00027456, 7.27264757, 0.99863098, 0.99927729, 0.49322265],\
+-[	-6.27309588, -0.00044809, 0.00027452, 7.27264779, 0.99863118, 0.99927739, 0.49322261],\
+-[	-6.27309603, -0.00044802, 0.00027448, 7.27264801, 0.99863138, 0.99927750, 0.49322265],\
+-[	-6.27309619, -0.00044796, 0.00027444, 7.27264823, 0.99863158, 0.99927760, 0.49322274],\
+-[	-6.27309634, -0.00044789, 0.00027440, 7.27264845, 0.99863177, 0.99927770, 0.49322271],\
+-[	-6.27309650, -0.00044783, 0.00027436, 7.27264867, 0.99863197, 0.99927781, 0.49322271],\
+-[	-6.27309665, -0.00044776, 0.00027432, 7.27264889, 0.99863217, 0.99927791, 0.49322277],\
+-[	-6.27309681, -0.00044770, 0.00027429, 7.27264911, 0.99863237, 0.99927802, 0.49322282],\
+-[	-6.27309696, -0.00044763, 0.00027425, 7.27264933, 0.99863256, 0.99927812, 0.49322277],\
+-[	-6.27309712, -0.00044757, 0.00027421, 7.27264955, 0.99863276, 0.99927823, 0.49322279],\
+-[	-6.27309727, -0.00044750, 0.00027417, 7.27264977, 0.99863296, 0.99927833, 0.49322290],\
+-[	-6.27309743, -0.00044744, 0.00027413, 7.27264999, 0.99863316, 0.99927844, 0.49322286],\
+-[	-6.27309758, -0.00044737, 0.00027409, 7.27265021, 0.99863336, 0.99927854, 0.49322289],\
+-[	-6.27309774, -0.00044731, 0.00027405, 7.27265043, 0.99863355, 0.99927864, 0.49322292],\
+-[	-6.27309789, -0.00044724, 0.00027401, 7.27265065, 0.99863375, 0.99927875, 0.49322303],\
+-[	-6.27309805, -0.00044718, 0.00027397, 7.27265087, 0.99863395, 0.99927885, 0.49322297],\
+-[	-6.27309820, -0.00044712, 0.00027393, 7.27265108, 0.99863415, 0.99927896, 0.49322299],\
+-[	-6.27309835, -0.00044705, 0.00027389, 7.27265130, 0.99863434, 0.99927906, 0.49322300],\
+-[	-6.27309851, -0.00044699, 0.00027385, 7.27265152, 0.99863454, 0.99927916, 0.49322302],\
+-[	-6.27309866, -0.00044692, 0.00027381, 7.27265174, 0.99863474, 0.99927927, 0.49322302],\
+-[	-6.27309882, -0.00044686, 0.00027377, 7.27265196, 0.99863493, 0.99927937, 0.49322309],\
+-[	-6.27309897, -0.00044679, 0.00027373, 7.27265218, 0.99863513, 0.99927948, 0.49322304],\
+-[	-6.27309913, -0.00044673, 0.00027369, 7.27265240, 0.99863533, 0.99927958, 0.49322317],\
+-[	-6.27309928, -0.00044666, 0.00027365, 7.27265262, 0.99863553, 0.99927968, 0.49322317],\
+-[	-6.27309944, -0.00044660, 0.00027361, 7.27265284, 0.99863572, 0.99927979, 0.49322320],\
+-[	-6.27309959, -0.00044653, 0.00027357, 7.27265305, 0.99863592, 0.99927989, 0.49322325],\
+-[	-6.27309974, -0.00044647, 0.00027353, 7.27265327, 0.99863612, 0.99928000, 0.49322322],\
+-[	-6.27309990, -0.00044641, 0.00027349, 7.27265349, 0.99863631, 0.99928010, 0.49322331],\
+-[	-6.27310005, -0.00044634, 0.00027345, 7.27265371, 0.99863651, 0.99928020, 0.49322327],\
+-[	-6.27310021, -0.00044628, 0.00027341, 7.27265393, 0.99863671, 0.99928031, 0.49322319],\
+-[	-6.27310036, -0.00044621, 0.00027338, 7.27265415, 0.99863690, 0.99928041, 0.49322336],\
+-[	-6.27310051, -0.00044615, 0.00027334, 7.27265436, 0.99863710, 0.99928052, 0.49322341],\
+-[	-6.27310067, -0.00044608, 0.00027330, 7.27265458, 0.99863730, 0.99928062, 0.49322335],\
+-[	-6.27310082, -0.00044602, 0.00027326, 7.27265480, 0.99863749, 0.99928072, 0.49322336],\
+-[	-6.27310097, -0.00044596, 0.00027322, 7.27265502, 0.99863769, 0.99928083, 0.49322343],\
+-[	-6.27310113, -0.00044589, 0.00027318, 7.27265524, 0.99863789, 0.99928093, 0.49322345],\
+-[	-6.27310128, -0.00044583, 0.00027314, 7.27265546, 0.99863808, 0.99928103, 0.49322341],\
+-[	-6.27310144, -0.00044576, 0.00027310, 7.27265567, 0.99863828, 0.99928114, 0.49322343],\
+-[	-6.27310159, -0.00044570, 0.00027306, 7.27265589, 0.99863847, 0.99928124, 0.49322353],\
+-[	-6.27310174, -0.00044563, 0.00027302, 7.27265611, 0.99863867, 0.99928134, 0.49322355],\
+-[	-6.27310190, -0.00044557, 0.00027298, 7.27265633, 0.99863887, 0.99928145, 0.49322359],\
+-[	-6.27310205, -0.00044551, 0.00027294, 7.27265654, 0.99863906, 0.99928155, 0.49322357],\
+-[	-6.27310220, -0.00044544, 0.00027290, 7.27265676, 0.99863926, 0.99928165, 0.49322365],\
+-[	-6.27310236, -0.00044538, 0.00027286, 7.27265698, 0.99863945, 0.99928176, 0.49322365],\
+-[	-6.27310251, -0.00044531, 0.00027282, 7.27265720, 0.99863965, 0.99928186, 0.49322366],\
+-[	-6.27310266, -0.00044525, 0.00027279, 7.27265741, 0.99863984, 0.99928196, 0.49322350],\
+-[	-6.27310282, -0.00044519, 0.00027275, 7.27265763, 0.99864004, 0.99928207, 0.49322363],\
+-[	-6.27310297, -0.00044512, 0.00027271, 7.27265785, 0.99864024, 0.99928217, 0.49322376],\
+-[	-6.27310312, -0.00044506, 0.00027267, 7.27265807, 0.99864043, 0.99928227, 0.49322376],\
+-[	-6.27310328, -0.00044499, 0.00027263, 7.27265828, 0.99864063, 0.99928238, 0.49322386],\
+-[	-6.27310343, -0.00044493, 0.00027259, 7.27265850, 0.99864082, 0.99928248, 0.49322387],\
+-[	-6.27310358, -0.00044487, 0.00027255, 7.27265872, 0.99864102, 0.99928258, 0.49322377],\
+-[	-6.27310374, -0.00044480, 0.00027251, 7.27265893, 0.99864121, 0.99928269, 0.49322371],\
+-[	-6.27310389, -0.00044474, 0.00027247, 7.27265915, 0.99864141, 0.99928279, 0.49322385],\
+-[	-6.27310404, -0.00044467, 0.00027243, 7.27265937, 0.99864160, 0.99928289, 0.49322391],\
+-[	-6.27310419, -0.00044461, 0.00027239, 7.27265958, 0.99864180, 0.99928300, 0.49322388],\
+-[	-6.27310435, -0.00044455, 0.00027235, 7.27265980, 0.99864199, 0.99928310, 0.49322387],\
+-[	-6.27310450, -0.00044448, 0.00027231, 7.27266002, 0.99864219, 0.99928320, 0.49322394],\
+-[	-6.27310465, -0.00044442, 0.00027228, 7.27266023, 0.99864238, 0.99928330, 0.49322403],\
+-[	-6.27310481, -0.00044436, 0.00027224, 7.27266045, 0.99864258, 0.99928341, 0.49322393],\
+-[	-6.27310496, -0.00044429, 0.00027220, 7.27266067, 0.99864277, 0.99928351, 0.49322396],\
+-[	-6.27310511, -0.00044423, 0.00027216, 7.27266088, 0.99864297, 0.99928361, 0.49322397],\
+-[	-6.27310526, -0.00044416, 0.00027212, 7.27266110, 0.99864316, 0.99928372, 0.49322408],\
+-[	-6.27310542, -0.00044410, 0.00027208, 7.27266132, 0.99864336, 0.99928382, 0.49322399],\
+-[	-6.27310557, -0.00044404, 0.00027204, 7.27266153, 0.99864355, 0.99928392, 0.49322405],\
+-[	-6.27310572, -0.00044397, 0.00027200, 7.27266175, 0.99864375, 0.99928402, 0.49322411],\
+-[	-6.27310587, -0.00044391, 0.00027196, 7.27266196, 0.99864394, 0.99928413, 0.49322415],\
+-[	-6.27310603, -0.00044385, 0.00027192, 7.27266218, 0.99864414, 0.99928423, 0.49322414],\
+-[	-6.27310618, -0.00044378, 0.00027189, 7.27266240, 0.99864433, 0.99928433, 0.49322429],\
+-[	-6.27310633, -0.00044372, 0.00027185, 7.27266261, 0.99864453, 0.99928444, 0.49322422],\
+-[	-6.27310648, -0.00044365, 0.00027181, 7.27266283, 0.99864472, 0.99928454, 0.49322422],\
+-[	-6.27310663, -0.00044359, 0.00027177, 7.27266304, 0.99864491, 0.99928464, 0.49322418],\
+-[	-6.27310679, -0.00044353, 0.00027173, 7.27266326, 0.99864511, 0.99928474, 0.49322426],\
+-[	-6.27310694, -0.00044346, 0.00027169, 7.27266347, 0.99864530, 0.99928485, 0.49322432],\
+-[	-6.27310709, -0.00044340, 0.00027165, 7.27266369, 0.99864550, 0.99928495, 0.49322429],\
+-[	-6.27310724, -0.00044334, 0.00027161, 7.27266391, 0.99864569, 0.99928505, 0.49322440],\
+-[	-6.27310739, -0.00044327, 0.00027157, 7.27266412, 0.99864589, 0.99928515, 0.49322431],\
+-[	-6.27310755, -0.00044321, 0.00027153, 7.27266434, 0.99864608, 0.99928526, 0.49322435],\
+-[	-6.27310770, -0.00044315, 0.00027150, 7.27266455, 0.99864627, 0.99928536, 0.49322446],\
+-[	-6.27310785, -0.00044308, 0.00027146, 7.27266477, 0.99864647, 0.99928546, 0.49322440],\
+-[	-6.27310800, -0.00044302, 0.00027142, 7.27266498, 0.99864666, 0.99928556, 0.49322441],\
+-[	-6.27310815, -0.00044296, 0.00027138, 7.27266520, 0.99864685, 0.99928566, 0.49322447],\
+-[	-6.27310831, -0.00044289, 0.00027134, 7.27266541, 0.99864705, 0.99928577, 0.49322449],\
+-[	-6.27310846, -0.00044283, 0.00027130, 7.27266563, 0.99864724, 0.99928587, 0.49322455],\
+-[	-6.27310861, -0.00044277, 0.00027126, 7.27266584, 0.99864744, 0.99928597, 0.49322455],\
+-[	-6.27310876, -0.00044270, 0.00027122, 7.27266606, 0.99864763, 0.99928607, 0.49322448],\
+-[	-6.27310891, -0.00044264, 0.00027119, 7.27266627, 0.99864782, 0.99928618, 0.49322460],\
+-[	-6.27310906, -0.00044258, 0.00027115, 7.27266649, 0.99864802, 0.99928628, 0.49322463],\
+-[	-6.27310921, -0.00044251, 0.00027111, 7.27266670, 0.99864821, 0.99928638, 0.49322466],\
+-[	-6.27310937, -0.00044245, 0.00027107, 7.27266692, 0.99864840, 0.99928648, 0.49322476],\
+-[	-6.27310952, -0.00044239, 0.00027103, 7.27266713, 0.99864860, 0.99928658, 0.49322465],\
+-[	-6.27310967, -0.00044232, 0.00027099, 7.27266735, 0.99864879, 0.99928669, 0.49322471],\
+-[	-6.27310982, -0.00044226, 0.00027095, 7.27266756, 0.99864898, 0.99928679, 0.49322475],\
+-[	-6.27310997, -0.00044220, 0.00027091, 7.27266777, 0.99864917, 0.99928689, 0.49322474],\
+-[	-6.27311012, -0.00044213, 0.00027088, 7.27266799, 0.99864937, 0.99928699, 0.49322474],\
+-[	-6.27311027, -0.00044207, 0.00027084, 7.27266820, 0.99864956, 0.99928709, 0.49322480],\
+-[	-6.27311042, -0.00044201, 0.00027080, 7.27266842, 0.99864975, 0.99928719, 0.49322485],\
+-[	-6.27311058, -0.00044194, 0.00027076, 7.27266863, 0.99864995, 0.99928730, 0.49322481],\
+-[	-6.27311073, -0.00044188, 0.00027072, 7.27266884, 0.99865014, 0.99928740, 0.49322488],\
+-[	-6.27311088, -0.00044182, 0.00027068, 7.27266906, 0.99865033, 0.99928750, 0.49322485],\
+-[	-6.27311103, -0.00044176, 0.00027064, 7.27266927, 0.99865052, 0.99928760, 0.49322488],\
+-[	-6.27311118, -0.00044169, 0.00027060, 7.27266949, 0.99865072, 0.99928770, 0.49322494],\
+-[	-6.27311133, -0.00044163, 0.00027057, 7.27266970, 0.99865091, 0.99928780, 0.49322492],\
+-[	-6.27311148, -0.00044157, 0.00027053, 7.27266991, 0.99865110, 0.99928791, 0.49322499],\
+-[	-6.27311163, -0.00044150, 0.00027049, 7.27267013, 0.99865129, 0.99928801, 0.49322490],\
+-[	-6.27311178, -0.00044144, 0.00027045, 7.27267034, 0.99865149, 0.99928811, 0.49322494],\
+-[	-6.27311193, -0.00044138, 0.00027041, 7.27267056, 0.99865168, 0.99928821, 0.49322503],\
+-[	-6.27311208, -0.00044131, 0.00027037, 7.27267077, 0.99865187, 0.99928831, 0.49322507],\
+-[	-6.27311223, -0.00044125, 0.00027033, 7.27267098, 0.99865206, 0.99928841, 0.49322506],\
+-[	-6.27311238, -0.00044119, 0.00027030, 7.27267120, 0.99865226, 0.99928852, 0.49322507],\
+-[	-6.27311253, -0.00044113, 0.00027026, 7.27267141, 0.99865245, 0.99928862, 0.49322511],\
+-[	-6.27311269, -0.00044106, 0.00027022, 7.27267162, 0.99865264, 0.99928872, 0.49322515],\
+-[	-6.27311284, -0.00044100, 0.00027018, 7.27267184, 0.99865283, 0.99928882, 0.49322525],\
+-[	-6.27311299, -0.00044094, 0.00027014, 7.27267205, 0.99865302, 0.99928892, 0.49322511],\
+-[	-6.27311314, -0.00044087, 0.00027010, 7.27267226, 0.99865322, 0.99928902, 0.49322518],\
+-[	-6.27311329, -0.00044081, 0.00027006, 7.27267247, 0.99865341, 0.99928912, 0.49322526],\
+-[	-6.27311344, -0.00044075, 0.00027003, 7.27267269, 0.99865360, 0.99928922, 0.49322521],\
+-[	-6.27311359, -0.00044069, 0.00026999, 7.27267290, 0.99865379, 0.99928933, 0.49322528],\
+-[	-6.27311374, -0.00044062, 0.00026995, 7.27267311, 0.99865398, 0.99928943, 0.49322529],\
+-[	-6.27311389, -0.00044056, 0.00026991, 7.27267333, 0.99865418, 0.99928953, 0.49322527],\
+-[	-6.27311404, -0.00044050, 0.00026987, 7.27267354, 0.99865437, 0.99928963, 0.49322539],\
+-[	-6.27311419, -0.00044044, 0.00026983, 7.27267375, 0.99865456, 0.99928973, 0.49322538],\
+-[	-6.27311434, -0.00044037, 0.00026980, 7.27267396, 0.99865475, 0.99928983, 0.49322547],\
+-[	-6.27311449, -0.00044031, 0.00026976, 7.27267418, 0.99865494, 0.99928993, 0.49322544],\
+-[	-6.27311464, -0.00044025, 0.00026972, 7.27267439, 0.99865513, 0.99929003, 0.49322545],\
+-[	-6.27311479, -0.00044018, 0.00026968, 7.27267460, 0.99865532, 0.99929013, 0.49322545],\
+-[	-6.27311494, -0.00044012, 0.00026964, 7.27267481, 0.99865551, 0.99929024, 0.49322537],\
+-[	-6.27311509, -0.00044006, 0.00026960, 7.27267503, 0.99865571, 0.99929034, 0.49322549],\
+-[	-6.27311524, -0.00044000, 0.00026957, 7.27267524, 0.99865590, 0.99929044, 0.49322552],\
+-[	-6.27311539, -0.00043993, 0.00026953, 7.27267545, 0.99865609, 0.99929054, 0.49322561],\
+-[	-6.27311554, -0.00043987, 0.00026949, 7.27267566, 0.99865628, 0.99929064, 0.49322551],\
+-[	-6.27311569, -0.00043981, 0.00026945, 7.27267588, 0.99865647, 0.99929074, 0.49322559],\
+-[	-6.27311583, -0.00043975, 0.00026941, 7.27267609, 0.99865666, 0.99929084, 0.49322564],\
+-[	-6.27311598, -0.00043968, 0.00026937, 7.27267630, 0.99865685, 0.99929094, 0.49322558],\
+-[	-6.27311613, -0.00043962, 0.00026934, 7.27267651, 0.99865704, 0.99929104, 0.49322567],\
+-[	-6.27311628, -0.00043956, 0.00026930, 7.27267672, 0.99865723, 0.99929114, 0.49322564],\
+-[	-6.27311643, -0.00043950, 0.00026926, 7.27267693, 0.99865742, 0.99929124, 0.49322573],\
+-[	-6.27311658, -0.00043944, 0.00026922, 7.27267715, 0.99865762, 0.99929134, 0.49322571],\
+-[	-6.27311673, -0.00043937, 0.00026918, 7.27267736, 0.99865781, 0.99929144, 0.49322569],\
+-[	-6.27311688, -0.00043931, 0.00026914, 7.27267757, 0.99865800, 0.99929155, 0.49322578],\
+-[	-6.27311703, -0.00043925, 0.00026911, 7.27267778, 0.99865819, 0.99929165, 0.49322578],\
+-[	-6.27311718, -0.00043919, 0.00026907, 7.27267799, 0.99865838, 0.99929175, 0.49322584],\
+-[	-6.27311733, -0.00043912, 0.00026903, 7.27267820, 0.99865857, 0.99929185, 0.49322586],\
+-[	-6.27311748, -0.00043906, 0.00026899, 7.27267842, 0.99865876, 0.99929195, 0.49322590],\
+-[	-6.27311763, -0.00043900, 0.00026895, 7.27267863, 0.99865895, 0.99929205, 0.49322588],\
+-[	-6.27311777, -0.00043894, 0.00026892, 7.27267884, 0.99865914, 0.99929215, 0.49322594],\
+-[	-6.27311792, -0.00043887, 0.00026888, 7.27267905, 0.99865933, 0.99929225, 0.49322584],\
+-[	-6.27311807, -0.00043881, 0.00026884, 7.27267926, 0.99865952, 0.99929235, 0.49322593],\
+-[	-6.27311822, -0.00043875, 0.00026880, 7.27267947, 0.99865971, 0.99929245, 0.49322593],\
+-[	-6.27311837, -0.00043869, 0.00026876, 7.27267968, 0.99865990, 0.99929255, 0.49322599],\
+-[	-6.27311852, -0.00043863, 0.00026872, 7.27267989, 0.99866009, 0.99929265, 0.49322601],\
+-[	-6.27311867, -0.00043856, 0.00026869, 7.27268010, 0.99866028, 0.99929275, 0.49322609],\
+-[	-6.27311882, -0.00043850, 0.00026865, 7.27268032, 0.99866047, 0.99929285, 0.49322605],\
+-[	-6.27311897, -0.00043844, 0.00026861, 7.27268053, 0.99866066, 0.99929295, 0.49322609],\
+-[	-6.27311911, -0.00043838, 0.00026857, 7.27268074, 0.99866085, 0.99929305, 0.49322609],\
+-[	-6.27311926, -0.00043832, 0.00026853, 7.27268095, 0.99866104, 0.99929315, 0.49322617],\
+-[	-6.27311941, -0.00043825, 0.00026850, 7.27268116, 0.99866123, 0.99929325, 0.49322622],\
+-[	-6.27311956, -0.00043819, 0.00026846, 7.27268137, 0.99866142, 0.99929335, 0.49322614],\
+-[	-6.27311971, -0.00043813, 0.00026842, 7.27268158, 0.99866161, 0.99929345, 0.49322631],\
+-[	-6.27311986, -0.00043807, 0.00026838, 7.27268179, 0.99866180, 0.99929355, 0.49322620],\
+-[	-6.27312000, -0.00043800, 0.00026834, 7.27268200, 0.99866199, 0.99929365, 0.49322616],\
+-[	-6.27312015, -0.00043794, 0.00026831, 7.27268221, 0.99866217, 0.99929375, 0.49322624],\
+-[	-6.27312030, -0.00043788, 0.00026827, 7.27268242, 0.99866236, 0.99929385, 0.49322623],\
+-[	-6.27312045, -0.00043782, 0.00026823, 7.27268263, 0.99866255, 0.99929395, 0.49322635],\
+-[	-6.27312060, -0.00043776, 0.00026819, 7.27268284, 0.99866274, 0.99929405, 0.49322632],\
+-[	-6.27312075, -0.00043770, 0.00026815, 7.27268305, 0.99866293, 0.99929415, 0.49322635],\
+-[	-6.27312089, -0.00043763, 0.00026812, 7.27268326, 0.99866312, 0.99929425, 0.49322639],\
+-[	-6.27312104, -0.00043757, 0.00026808, 7.27268347, 0.99866331, 0.99929435, 0.49322639],\
+-[	-6.27312119, -0.00043751, 0.00026804, 7.27268368, 0.99866350, 0.99929445, 0.49322638],\
+-[	-6.27312134, -0.00043745, 0.00026800, 7.27268389, 0.99866369, 0.99929455, 0.49322647],\
+-[	-6.27312149, -0.00043739, 0.00026796, 7.27268410, 0.99866388, 0.99929465, 0.49322642],\
+-[	-6.27312163, -0.00043732, 0.00026793, 7.27268431, 0.99866407, 0.99929475, 0.49322644],\
+-[	-6.27312178, -0.00043726, 0.00026789, 7.27268452, 0.99866425, 0.99929485, 0.49322646],\
+-[	-6.27312193, -0.00043720, 0.00026785, 7.27268473, 0.99866444, 0.99929495, 0.49322653],\
+-[	-6.27312208, -0.00043714, 0.00026781, 7.27268494, 0.99866463, 0.99929505, 0.49322663],\
+-[	-6.27312223, -0.00043708, 0.00026778, 7.27268515, 0.99866482, 0.99929515, 0.49322655],\
+-[	-6.27312237, -0.00043702, 0.00026774, 7.27268536, 0.99866501, 0.99929525, 0.49322658],\
+-[	-6.27312252, -0.00043695, 0.00026770, 7.27268557, 0.99866520, 0.99929535, 0.49322660],\
+-[	-6.27312267, -0.00043689, 0.00026766, 7.27268578, 0.99866539, 0.99929545, 0.49322666],\
+-[	-6.27312282, -0.00043683, 0.00026762, 7.27268599, 0.99866557, 0.99929555, 0.49322663],\
+-[	-6.27312296, -0.00043677, 0.00026759, 7.27268619, 0.99866576, 0.99929564, 0.49322672],\
+-[	-6.27312311, -0.00043671, 0.00026755, 7.27268640, 0.99866595, 0.99929574, 0.49322669],\
+-[	-6.27312326, -0.00043665, 0.00026751, 7.27268661, 0.99866614, 0.99929584, 0.49322667],\
+-[	-6.27312341, -0.00043658, 0.00026747, 7.27268682, 0.99866633, 0.99929594, 0.49322665],\
+-[	-6.27312355, -0.00043652, 0.00026744, 7.27268703, 0.99866652, 0.99929604, 0.49322678],\
+-[	-6.27312370, -0.00043646, 0.00026740, 7.27268724, 0.99866670, 0.99929614, 0.49322680],\
+-[	-6.27312385, -0.00043640, 0.00026736, 7.27268745, 0.99866689, 0.99929624, 0.49322677],\
+-[	-6.27312399, -0.00043634, 0.00026732, 7.27268766, 0.99866708, 0.99929634, 0.49322687],\
+-[	-6.27312414, -0.00043628, 0.00026728, 7.27268787, 0.99866727, 0.99929644, 0.49322695],\
+-[	-6.27312429, -0.00043622, 0.00026725, 7.27268807, 0.99866746, 0.99929654, 0.49322684],\
+-[	-6.27312444, -0.00043615, 0.00026721, 7.27268828, 0.99866764, 0.99929664, 0.49322695],\
+-[	-6.27312458, -0.00043609, 0.00026717, 7.27268849, 0.99866783, 0.99929674, 0.49322694],\
+-[	-6.27312473, -0.00043603, 0.00026713, 7.27268870, 0.99866802, 0.99929684, 0.49322694],\
+-[	-6.27312488, -0.00043597, 0.00026710, 7.27268891, 0.99866821, 0.99929693, 0.49322692],\
+-[	-6.27312502, -0.00043591, 0.00026706, 7.27268912, 0.99866839, 0.99929703, 0.49322694],\
+-[	-6.27312517, -0.00043585, 0.00026702, 7.27268932, 0.99866858, 0.99929713, 0.49322699],\
+-[	-6.27312532, -0.00043579, 0.00026698, 7.27268953, 0.99866877, 0.99929723, 0.49322697],\
+-[	-6.27312546, -0.00043572, 0.00026695, 7.27268974, 0.99866896, 0.99929733, 0.49322709],\
+-[	-6.27312561, -0.00043566, 0.00026691, 7.27268995, 0.99866914, 0.99929743, 0.49322698],\
+-[	-6.27312576, -0.00043560, 0.00026687, 7.27269016, 0.99866933, 0.99929753, 0.49322713],\
+-[	-6.27312590, -0.00043554, 0.00026683, 7.27269037, 0.99866952, 0.99929763, 0.49322708],\
+-[	-6.27312605, -0.00043548, 0.00026680, 7.27269057, 0.99866971, 0.99929773, 0.49322723],\
+-[	-6.27312620, -0.00043542, 0.00026676, 7.27269078, 0.99866989, 0.99929782, 0.49322717],\
+-[	-6.27312634, -0.00043536, 0.00026672, 7.27269099, 0.99867008, 0.99929792, 0.49322722],\
+-[	-6.27312649, -0.00043529, 0.00026668, 7.27269120, 0.99867027, 0.99929802, 0.49322714],\
+-[	-6.27312664, -0.00043523, 0.00026665, 7.27269140, 0.99867045, 0.99929812, 0.49322725],\
+-[	-6.27312678, -0.00043517, 0.00026661, 7.27269161, 0.99867064, 0.99929822, 0.49322739],\
+-[	-6.27312693, -0.00043511, 0.00026657, 7.27269182, 0.99867083, 0.99929832, 0.49322721],\
+-[	-6.27312708, -0.00043505, 0.00026653, 7.27269203, 0.99867101, 0.99929842, 0.49322728],\
+-[	-6.27312722, -0.00043499, 0.00026650, 7.27269223, 0.99867120, 0.99929852, 0.49322731],\
+-[	-6.27312737, -0.00043493, 0.00026646, 7.27269244, 0.99867139, 0.99929861, 0.49322735],\
+-[	-6.27312752, -0.00043487, 0.00026642, 7.27269265, 0.99867158, 0.99929871, 0.49322737],\
+-[	-6.27312766, -0.00043481, 0.00026638, 7.27269286, 0.99867176, 0.99929881, 0.49322735],\
+-[	-6.27312781, -0.00043474, 0.00026635, 7.27269306, 0.99867195, 0.99929891, 0.49322744],\
+-[	-6.27312795, -0.00043468, 0.00026631, 7.27269327, 0.99867214, 0.99929901, 0.49322745],\
+-[	-6.27312810, -0.00043462, 0.00026627, 7.27269348, 0.99867232, 0.99929911, 0.49322747],\
+-[	-6.27312825, -0.00043456, 0.00026623, 7.27269368, 0.99867251, 0.99929920, 0.49322750],\
+-[	-6.27312839, -0.00043450, 0.00026620, 7.27269389, 0.99867269, 0.99929930, 0.49322745],\
+-[	-6.27312854, -0.00043444, 0.00026616, 7.27269410, 0.99867288, 0.99929940, 0.49322761],\
+-[	-6.27312868, -0.00043438, 0.00026612, 7.27269431, 0.99867307, 0.99929950, 0.49322746],\
+-[	-6.27312883, -0.00043432, 0.00026608, 7.27269451, 0.99867325, 0.99929960, 0.49322757],\
+-[	-6.27312898, -0.00043426, 0.00026605, 7.27269472, 0.99867344, 0.99929970, 0.49322765],\
+-[	-6.27312912, -0.00043420, 0.00026601, 7.27269493, 0.99867363, 0.99929979, 0.49322763],\
+-[	-6.27312927, -0.00043413, 0.00026597, 7.27269513, 0.99867381, 0.99929989, 0.49322751],\
+-[	-6.27312941, -0.00043407, 0.00026593, 7.27269534, 0.99867400, 0.99929999, 0.49322758],\
+-[	-6.27312956, -0.00043401, 0.00026590, 7.27269555, 0.99867418, 0.99930009, 0.49322771],\
+-[	-6.27312970, -0.00043395, 0.00026586, 7.27269575, 0.99867437, 0.99930019, 0.49322770],\
+-[	-6.27312985, -0.00043389, 0.00026582, 7.27269596, 0.99867456, 0.99930029, 0.49322772],\
+-[	-6.27313000, -0.00043383, 0.00026579, 7.27269616, 0.99867474, 0.99930038, 0.49322775],\
+-[	-6.27313014, -0.00043377, 0.00026575, 7.27269637, 0.99867493, 0.99930048, 0.49322776],\
+-[	-6.27313029, -0.00043371, 0.00026571, 7.27269658, 0.99867511, 0.99930058, 0.49322779],\
+-[	-6.27313043, -0.00043365, 0.00026567, 7.27269678, 0.99867530, 0.99930068, 0.49322775],\
+-[	-6.27313058, -0.00043359, 0.00026564, 7.27269699, 0.99867548, 0.99930078, 0.49322782],\
+-[	-6.27313072, -0.00043353, 0.00026560, 7.27269720, 0.99867567, 0.99930087, 0.49322777],\
+-[	-6.27313087, -0.00043347, 0.00026556, 7.27269740, 0.99867586, 0.99930097, 0.49322785],\
+-[	-6.27313101, -0.00043341, 0.00026552, 7.27269761, 0.99867604, 0.99930107, 0.49322785],\
+-[	-6.27313116, -0.00043335, 0.00026549, 7.27269781, 0.99867623, 0.99930117, 0.49322792],\
+-[	-6.27313130, -0.00043328, 0.00026545, 7.27269802, 0.99867641, 0.99930127, 0.49322802],\
+-[	-6.27313145, -0.00043322, 0.00026541, 7.27269823, 0.99867660, 0.99930136, 0.49322800],\
+-[	-6.27313159, -0.00043316, 0.00026538, 7.27269843, 0.99867678, 0.99930146, 0.49322801],\
+-[	-6.27313174, -0.00043310, 0.00026534, 7.27269864, 0.99867697, 0.99930156, 0.49322793],\
+-[	-6.27313188, -0.00043304, 0.00026530, 7.27269884, 0.99867715, 0.99930166, 0.49322797],\
+-[	-6.27313203, -0.00043298, 0.00026526, 7.27269905, 0.99867734, 0.99930175, 0.49322808],\
+-[	-6.27313217, -0.00043292, 0.00026523, 7.27269925, 0.99867752, 0.99930185, 0.49322805],\
+-[	-6.27313232, -0.00043286, 0.00026519, 7.27269946, 0.99867771, 0.99930195, 0.49322811],\
+-[	-6.27313246, -0.00043280, 0.00026515, 7.27269966, 0.99867789, 0.99930205, 0.49322809],\
+-[	-6.27313261, -0.00043274, 0.00026512, 7.27269987, 0.99867808, 0.99930214, 0.49322806],\
+-[	-6.27313275, -0.00043268, 0.00026508, 7.27270007, 0.99867826, 0.99930224, 0.49322819],\
+-[	-6.27313290, -0.00043262, 0.00026504, 7.27270028, 0.99867845, 0.99930234, 0.49322820],\
+-[	-6.27313304, -0.00043256, 0.00026501, 7.27270049, 0.99867863, 0.99930244, 0.49322821],\
+-[	-6.27313319, -0.00043250, 0.00026497, 7.27270069, 0.99867882, 0.99930253, 0.49322826],\
+-[	-6.27313333, -0.00043244, 0.00026493, 7.27270090, 0.99867900, 0.99930263, 0.49322825],\
+-[	-6.27313348, -0.00043238, 0.00026489, 7.27270110, 0.99867919, 0.99930273, 0.49322828],\
+-[	-6.27313362, -0.00043232, 0.00026486, 7.27270131, 0.99867937, 0.99930283, 0.49322824],\
+-[	-6.27313377, -0.00043226, 0.00026482, 7.27270151, 0.99867955, 0.99930292, 0.49322829],\
+-[	-6.27313391, -0.00043220, 0.00026478, 7.27270171, 0.99867974, 0.99930302, 0.49322833],\
+-[	-6.27313405, -0.00043214, 0.00026475, 7.27270192, 0.99867992, 0.99930312, 0.49322832],\
+-[	-6.27313420, -0.00043207, 0.00026471, 7.27270212, 0.99868011, 0.99930322, 0.49322832],\
+-[	-6.27313434, -0.00043201, 0.00026467, 7.27270233, 0.99868029, 0.99930331, 0.49322841],\
+-[	-6.27313449, -0.00043195, 0.00026464, 7.27270253, 0.99868048, 0.99930341, 0.49322842],\
+-[	-6.27313463, -0.00043189, 0.00026460, 7.27270274, 0.99868066, 0.99930351, 0.49322850],\
+-[	-6.27313478, -0.00043183, 0.00026456, 7.27270294, 0.99868084, 0.99930360, 0.49322849],\
+-[	-6.27313492, -0.00043177, 0.00026452, 7.27270315, 0.99868103, 0.99930370, 0.49322832],\
+-[	-6.27313506, -0.00043171, 0.00026449, 7.27270335, 0.99868121, 0.99930380, 0.49322850],\
+-[	-6.27313521, -0.00043165, 0.00026445, 7.27270356, 0.99868140, 0.99930390, 0.49322849],\
+-[	-6.27313535, -0.00043159, 0.00026441, 7.27270376, 0.99868158, 0.99930399, 0.49322851],\
+-[	-6.27313550, -0.00043153, 0.00026438, 7.27270396, 0.99868176, 0.99930409, 0.49322842],\
+-[	-6.27313564, -0.00043147, 0.00026434, 7.27270417, 0.99868195, 0.99930419, 0.49322856],\
+-[	-6.27313578, -0.00043141, 0.00026430, 7.27270437, 0.99868213, 0.99930428, 0.49322852],\
+-[	-6.27313593, -0.00043135, 0.00026427, 7.27270458, 0.99868232, 0.99930438, 0.49322857],\
+-[	-6.27313607, -0.00043129, 0.00026423, 7.27270478, 0.99868250, 0.99930448, 0.49322857],\
+-[	-6.27313622, -0.00043123, 0.00026419, 7.27270498, 0.99868268, 0.99930458, 0.49322862],\
+-[	-6.27313636, -0.00043117, 0.00026416, 7.27270519, 0.99868287, 0.99930467, 0.49322867],\
+-[	-6.27313650, -0.00043111, 0.00026412, 7.27270539, 0.99868305, 0.99930477, 0.49322876],\
+-[	-6.27313665, -0.00043105, 0.00026408, 7.27270560, 0.99868323, 0.99930487, 0.49322877],\
+-[	-6.27313679, -0.00043099, 0.00026405, 7.27270580, 0.99868342, 0.99930496, 0.49322873],\
+-[	-6.27313693, -0.00043093, 0.00026401, 7.27270600, 0.99868360, 0.99930506, 0.49322870],\
+-[	-6.27313708, -0.00043087, 0.00026397, 7.27270621, 0.99868378, 0.99930516, 0.49322877],\
+-[	-6.27313722, -0.00043081, 0.00026394, 7.27270641, 0.99868397, 0.99930525, 0.49322879],\
+-[	-6.27313737, -0.00043075, 0.00026390, 7.27270661, 0.99868415, 0.99930535, 0.49322891],\
+-[	-6.27313751, -0.00043069, 0.00026386, 7.27270682, 0.99868433, 0.99930545, 0.49322887],\
+-[	-6.27313765, -0.00043063, 0.00026382, 7.27270702, 0.99868452, 0.99930554, 0.49322881],\
+-[	-6.27313780, -0.00043057, 0.00026379, 7.27270722, 0.99868470, 0.99930564, 0.49322892],\
+-[	-6.27313794, -0.00043051, 0.00026375, 7.27270743, 0.99868488, 0.99930574, 0.49322891],\
+-[	-6.27313808, -0.00043045, 0.00026371, 7.27270763, 0.99868507, 0.99930583, 0.49322891],\
+-[	-6.27313823, -0.00043039, 0.00026368, 7.27270783, 0.99868525, 0.99930593, 0.49322893],\
+-[	-6.27313837, -0.00043033, 0.00026364, 7.27270804, 0.99868543, 0.99930603, 0.49322886],\
+-[	-6.27313851, -0.00043027, 0.00026360, 7.27270824, 0.99868561, 0.99930612, 0.49322902],\
+-[	-6.27313865, -0.00043021, 0.00026357, 7.27270844, 0.99868580, 0.99930622, 0.49322900],\
+-[	-6.27313880, -0.00043015, 0.00026353, 7.27270864, 0.99868598, 0.99930632, 0.49322904],\
+-[	-6.27313894, -0.00043009, 0.00026349, 7.27270885, 0.99868616, 0.99930641, 0.49322903],\
+-[	-6.27313908, -0.00043003, 0.00026346, 7.27270905, 0.99868634, 0.99930651, 0.49322900],\
+-[	-6.27313923, -0.00042997, 0.00026342, 7.27270925, 0.99868653, 0.99930660, 0.49322904],\
+-[	-6.27313937, -0.00042991, 0.00026338, 7.27270946, 0.99868671, 0.99930670, 0.49322912],\
+-[	-6.27313951, -0.00042985, 0.00026335, 7.27270966, 0.99868689, 0.99930680, 0.49322917],\
+-[	-6.27313966, -0.00042980, 0.00026331, 7.27270986, 0.99868707, 0.99930689, 0.49322903],\
+-[	-6.27313980, -0.00042974, 0.00026328, 7.27271006, 0.99868726, 0.99930699, 0.49322919],\
+-[	-6.27313994, -0.00042968, 0.00026324, 7.27271027, 0.99868744, 0.99930709, 0.49322915],\
+-[	-6.27314008, -0.00042962, 0.00026320, 7.27271047, 0.99868762, 0.99930718, 0.49322921],\
+-[	-6.27314023, -0.00042956, 0.00026317, 7.27271067, 0.99868780, 0.99930728, 0.49322918],\
+-[	-6.27314037, -0.00042950, 0.00026313, 7.27271087, 0.99868799, 0.99930737, 0.49322930],\
+-[	-6.27314051, -0.00042944, 0.00026309, 7.27271107, 0.99868817, 0.99930747, 0.49322927],\
+-[	-6.27314065, -0.00042938, 0.00026306, 7.27271128, 0.99868835, 0.99930757, 0.49322931],\
+-[	-6.27314080, -0.00042932, 0.00026302, 7.27271148, 0.99868853, 0.99930766, 0.49322934],\
+-[	-6.27314094, -0.00042926, 0.00026298, 7.27271168, 0.99868871, 0.99930776, 0.49322928],\
+-[	-6.27314108, -0.00042920, 0.00026295, 7.27271188, 0.99868890, 0.99930785, 0.49322942],\
+-[	-6.27314122, -0.00042914, 0.00026291, 7.27271208, 0.99868908, 0.99930795, 0.49322942],\
+-[	-6.27314137, -0.00042908, 0.00026287, 7.27271229, 0.99868926, 0.99930805, 0.49322944],\
+-[	-6.27314151, -0.00042902, 0.00026284, 7.27271249, 0.99868944, 0.99930814, 0.49322951],\
+-[	-6.27314165, -0.00042896, 0.00026280, 7.27271269, 0.99868962, 0.99930824, 0.49322944],\
+-[	-6.27314179, -0.00042890, 0.00026276, 7.27271289, 0.99868980, 0.99930833, 0.49322951],\
+-[	-6.27314194, -0.00042884, 0.00026273, 7.27271309, 0.99868999, 0.99930843, 0.49322954],\
+-[	-6.27314208, -0.00042878, 0.00026269, 7.27271329, 0.99869017, 0.99930853, 0.49322961],\
+-[	-6.27314222, -0.00042872, 0.00026265, 7.27271350, 0.99869035, 0.99930862, 0.49322958],\
+-[	-6.27314236, -0.00042866, 0.00026262, 7.27271370, 0.99869053, 0.99930872, 0.49322958],\
+-[	-6.27314250, -0.00042861, 0.00026258, 7.27271390, 0.99869071, 0.99930881, 0.49322960],\
+-[	-6.27314265, -0.00042855, 0.00026255, 7.27271410, 0.99869089, 0.99930891, 0.49322954],\
+-[	-6.27314279, -0.00042849, 0.00026251, 7.27271430, 0.99869107, 0.99930900, 0.49322960],\
+-[	-6.27314293, -0.00042843, 0.00026247, 7.27271450, 0.99869125, 0.99930910, 0.49322964],\
+-[	-6.27314307, -0.00042837, 0.00026244, 7.27271470, 0.99869144, 0.99930920, 0.49322967],\
+-[	-6.27314321, -0.00042831, 0.00026240, 7.27271491, 0.99869162, 0.99930929, 0.49322963],\
+-[	-6.27314336, -0.00042825, 0.00026236, 7.27271511, 0.99869180, 0.99930939, 0.49322972],\
+-[	-6.27314350, -0.00042819, 0.00026233, 7.27271531, 0.99869198, 0.99930948, 0.49322962],\
+-[	-6.27314364, -0.00042813, 0.00026229, 7.27271551, 0.99869216, 0.99930958, 0.49322977],\
+-[	-6.27314378, -0.00042807, 0.00026226, 7.27271571, 0.99869234, 0.99930967, 0.49322982],\
+-[	-6.27314392, -0.00042801, 0.00026222, 7.27271591, 0.99869252, 0.99930977, 0.49322974],\
+-[	-6.27314406, -0.00042795, 0.00026218, 7.27271611, 0.99869270, 0.99930986, 0.49322983],\
+-[	-6.27314421, -0.00042789, 0.00026215, 7.27271631, 0.99869288, 0.99930996, 0.49322981],\
+-[	-6.27314435, -0.00042783, 0.00026211, 7.27271651, 0.99869306, 0.99931005, 0.49322987],\
+-[	-6.27314449, -0.00042778, 0.00026207, 7.27271671, 0.99869325, 0.99931015, 0.49322991],\
+-[	-6.27314463, -0.00042772, 0.00026204, 7.27271691, 0.99869343, 0.99931025, 0.49322985],\
+-[	-6.27314477, -0.00042766, 0.00026200, 7.27271711, 0.99869361, 0.99931034, 0.49322989],\
+-[	-6.27314491, -0.00042760, 0.00026197, 7.27271731, 0.99869379, 0.99931044, 0.49322995],\
+-[	-6.27314505, -0.00042754, 0.00026193, 7.27271752, 0.99869397, 0.99931053, 0.49322998],\
+-[	-6.27314520, -0.00042748, 0.00026189, 7.27271772, 0.99869415, 0.99931063, 0.49322992],\
+-[	-6.27314534, -0.00042742, 0.00026186, 7.27271792, 0.99869433, 0.99931072, 0.49322999],\
+-[	-6.27314548, -0.00042736, 0.00026182, 7.27271812, 0.99869451, 0.99931082, 0.49323014],\
+-[	-6.27314562, -0.00042730, 0.00026178, 7.27271832, 0.99869469, 0.99931091, 0.49323001],\
+-[	-6.27314576, -0.00042724, 0.00026175, 7.27271852, 0.99869487, 0.99931101, 0.49323007],\
+-[	-6.27314590, -0.00042719, 0.00026171, 7.27271872, 0.99869505, 0.99931110, 0.49323010],\
+-[	-6.27314604, -0.00042713, 0.00026168, 7.27271892, 0.99869523, 0.99931120, 0.49323018],\
+-[	-6.27314618, -0.00042707, 0.00026164, 7.27271912, 0.99869541, 0.99931129, 0.49323018],\
+-[	-6.27314633, -0.00042701, 0.00026160, 7.27271932, 0.99869559, 0.99931139, 0.49323016],\
+-[	-6.27314647, -0.00042695, 0.00026157, 7.27271952, 0.99869577, 0.99931148, 0.49323007],\
+-[	-6.27314661, -0.00042689, 0.00026153, 7.27271972, 0.99869595, 0.99931158, 0.49323022],\
+-[	-6.27314675, -0.00042683, 0.00026150, 7.27271992, 0.99869613, 0.99931167, 0.49323025],\
+-[	-6.27314689, -0.00042677, 0.00026146, 7.27272012, 0.99869631, 0.99931177, 0.49323030],\
+-[	-6.27314703, -0.00042671, 0.00026142, 7.27272032, 0.99869649, 0.99931186, 0.49323027],\
+-[	-6.27314717, -0.00042666, 0.00026139, 7.27272051, 0.99869667, 0.99931196, 0.49323031],\
+-[	-6.27314731, -0.00042660, 0.00026135, 7.27272071, 0.99869685, 0.99931205, 0.49323029],\
+-[	-6.27314745, -0.00042654, 0.00026132, 7.27272091, 0.99869703, 0.99931215, 0.49323033],\
+-[	-6.27314759, -0.00042648, 0.00026128, 7.27272111, 0.99869721, 0.99931224, 0.49323043],\
+-[	-6.27314773, -0.00042642, 0.00026124, 7.27272131, 0.99869739, 0.99931234, 0.49323035],\
+-[	-6.27314787, -0.00042636, 0.00026121, 7.27272151, 0.99869757, 0.99931243, 0.49323032],\
+-[	-6.27314801, -0.00042630, 0.00026117, 7.27272171, 0.99869775, 0.99931253, 0.49323043],\
+-[	-6.27314815, -0.00042624, 0.00026114, 7.27272191, 0.99869792, 0.99931262, 0.49323038],\
+-[	-6.27314830, -0.00042619, 0.00026110, 7.27272211, 0.99869810, 0.99931272, 0.49323055],\
+-[	-6.27314844, -0.00042613, 0.00026106, 7.27272231, 0.99869828, 0.99931281, 0.49323047],\
+-[	-6.27314858, -0.00042607, 0.00026103, 7.27272251, 0.99869846, 0.99931290, 0.49323039],\
+-[	-6.27314872, -0.00042601, 0.00026099, 7.27272271, 0.99869864, 0.99931300, 0.49323039],\
+-[	-6.27314886, -0.00042595, 0.00026096, 7.27272291, 0.99869882, 0.99931309, 0.49323057],\
+-[	-6.27314900, -0.00042589, 0.00026092, 7.27272310, 0.99869900, 0.99931319, 0.49323051],\
+-[	-6.27314914, -0.00042583, 0.00026088, 7.27272330, 0.99869918, 0.99931328, 0.49323056],\
+-[	-6.27314928, -0.00042578, 0.00026085, 7.27272350, 0.99869936, 0.99931338, 0.49323064],\
+-[	-6.27314942, -0.00042572, 0.00026081, 7.27272370, 0.99869954, 0.99931347, 0.49323065],\
+-[	-6.27314956, -0.00042566, 0.00026078, 7.27272390, 0.99869972, 0.99931357, 0.49323065],\
+-[	-6.27314970, -0.00042560, 0.00026074, 7.27272410, 0.99869989, 0.99931366, 0.49323070],\
+-[	-6.27314984, -0.00042554, 0.00026070, 7.27272430, 0.99870007, 0.99931375, 0.49323062],\
+-[	-6.27314998, -0.00042548, 0.00026067, 7.27272450, 0.99870025, 0.99931385, 0.49323063],\
+-[	-6.27315012, -0.00042542, 0.00026063, 7.27272469, 0.99870043, 0.99931394, 0.49323075],\
+-[	-6.27315026, -0.00042537, 0.00026060, 7.27272489, 0.99870061, 0.99931404, 0.49323074],\
+-[	-6.27315040, -0.00042531, 0.00026056, 7.27272509, 0.99870079, 0.99931413, 0.49323081],\
+-[	-6.27315054, -0.00042525, 0.00026052, 7.27272529, 0.99870097, 0.99931423, 0.49323082],\
+-[	-6.27315068, -0.00042519, 0.00026049, 7.27272549, 0.99870115, 0.99931432, 0.49323079],\
+-[	-6.27315082, -0.00042513, 0.00026045, 7.27272569, 0.99870132, 0.99931441, 0.49323072],\
+-[	-6.27315096, -0.00042507, 0.00026042, 7.27272588, 0.99870150, 0.99931451, 0.49323088],\
+-[	-6.27315110, -0.00042502, 0.00026038, 7.27272608, 0.99870168, 0.99931460, 0.49323096],\
+-[	-6.27315124, -0.00042496, 0.00026035, 7.27272628, 0.99870186, 0.99931470, 0.49323088],\
+-[	-6.27315138, -0.00042490, 0.00026031, 7.27272648, 0.99870204, 0.99931479, 0.49323085],\
+-[	-6.27315152, -0.00042484, 0.00026027, 7.27272668, 0.99870222, 0.99931489, 0.49323089],\
+-[	-6.27315165, -0.00042478, 0.00026024, 7.27272687, 0.99870239, 0.99931498, 0.49323085],\
+-[	-6.27315179, -0.00042472, 0.00026020, 7.27272707, 0.99870257, 0.99931507, 0.49323101],\
+-[	-6.27315193, -0.00042467, 0.00026017, 7.27272727, 0.99870275, 0.99931517, 0.49323094],\
+-[	-6.27315207, -0.00042461, 0.00026013, 7.27272747, 0.99870293, 0.99931526, 0.49323104],\
+-[	-6.27315221, -0.00042455, 0.00026010, 7.27272766, 0.99870311, 0.99931535, 0.49323100],\
+-[	-6.27315235, -0.00042449, 0.00026006, 7.27272786, 0.99870328, 0.99931545, 0.49323105],\
+-[	-6.27315249, -0.00042443, 0.00026002, 7.27272806, 0.99870346, 0.99931554, 0.49323112],\
+-[	-6.27315263, -0.00042437, 0.00025999, 7.27272826, 0.99870364, 0.99931564, 0.49323100],\
+-[	-6.27315277, -0.00042432, 0.00025995, 7.27272845, 0.99870382, 0.99931573, 0.49323104],\
+-[	-6.27315291, -0.00042426, 0.00025992, 7.27272865, 0.99870399, 0.99931582, 0.49323113],\
+-[	-6.27315305, -0.00042420, 0.00025988, 7.27272885, 0.99870417, 0.99931592, 0.49323100],\
+-[	-6.27315319, -0.00042414, 0.00025985, 7.27272905, 0.99870435, 0.99931601, 0.49323118],\
+-[	-6.27315333, -0.00042408, 0.00025981, 7.27272924, 0.99870453, 0.99931611, 0.49323122],\
+-[	-6.27315347, -0.00042403, 0.00025978, 7.27272944, 0.99870470, 0.99931620, 0.49323123],\
+-[	-6.27315360, -0.00042397, 0.00025974, 7.27272964, 0.99870488, 0.99931629, 0.49323124],\
+-[	-6.27315374, -0.00042391, 0.00025970, 7.27272983, 0.99870506, 0.99931639, 0.49323127],\
+-[	-6.27315388, -0.00042385, 0.00025967, 7.27273003, 0.99870524, 0.99931648, 0.49323133],\
+-[	-6.27315402, -0.00042379, 0.00025963, 7.27273023, 0.99870541, 0.99931657, 0.49323140],\
+-[	-6.27315416, -0.00042374, 0.00025960, 7.27273042, 0.99870559, 0.99931667, 0.49323133],\
+-[	-6.27315430, -0.00042368, 0.00025956, 7.27273062, 0.99870577, 0.99931676, 0.49323138],\
+-[	-6.27315444, -0.00042362, 0.00025953, 7.27273082, 0.99870595, 0.99931685, 0.49323140],\
+-[	-6.27315458, -0.00042356, 0.00025949, 7.27273101, 0.99870612, 0.99931695, 0.49323145],\
+-[	-6.27315472, -0.00042350, 0.00025946, 7.27273121, 0.99870630, 0.99931704, 0.49323139],\
+-[	-6.27315485, -0.00042345, 0.00025942, 7.27273141, 0.99870648, 0.99931713, 0.49323136],\
+-[	-6.27315499, -0.00042339, 0.00025938, 7.27273160, 0.99870665, 0.99931723, 0.49323144],\
+-[	-6.27315513, -0.00042333, 0.00025935, 7.27273180, 0.99870683, 0.99931732, 0.49323141],\
+-[	-6.27315527, -0.00042327, 0.00025931, 7.27273200, 0.99870701, 0.99931741, 0.49323140],\
+-[	-6.27315541, -0.00042321, 0.00025928, 7.27273219, 0.99870719, 0.99931751, 0.49323155],\
+-[	-6.27315555, -0.00042316, 0.00025924, 7.27273239, 0.99870736, 0.99931760, 0.49323157],\
+-[	-6.27315569, -0.00042310, 0.00025921, 7.27273259, 0.99870754, 0.99931769, 0.49323161],\
+-[	-6.27315582, -0.00042304, 0.00025917, 7.27273278, 0.99870772, 0.99931779, 0.49323157],\
+-[	-6.27315596, -0.00042298, 0.00025914, 7.27273298, 0.99870789, 0.99931788, 0.49323162],\
+-[	-6.27315610, -0.00042292, 0.00025910, 7.27273318, 0.99870807, 0.99931797, 0.49323164],\
+-[	-6.27315624, -0.00042287, 0.00025907, 7.27273337, 0.99870825, 0.99931807, 0.49323172],\
+-[	-6.27315638, -0.00042281, 0.00025903, 7.27273357, 0.99870842, 0.99931816, 0.49323163],\
+-[	-6.27315652, -0.00042275, 0.00025899, 7.27273376, 0.99870860, 0.99931825, 0.49323158],\
+-[	-6.27315665, -0.00042269, 0.00025896, 7.27273396, 0.99870877, 0.99931835, 0.49323168],\
+-[	-6.27315679, -0.00042264, 0.00025892, 7.27273416, 0.99870895, 0.99931844, 0.49323175],\
+-[	-6.27315693, -0.00042258, 0.00025889, 7.27273435, 0.99870913, 0.99931853, 0.49323172],\
+-[	-6.27315707, -0.00042252, 0.00025885, 7.27273455, 0.99870930, 0.99931863, 0.49323175],\
+-[	-6.27315721, -0.00042246, 0.00025882, 7.27273474, 0.99870948, 0.99931872, 0.49323179],\
+-[	-6.27315734, -0.00042241, 0.00025878, 7.27273494, 0.99870966, 0.99931881, 0.49323178],\
+-[	-6.27315748, -0.00042235, 0.00025875, 7.27273513, 0.99870983, 0.99931891, 0.49323183],\
+-[	-6.27315762, -0.00042229, 0.00025871, 7.27273533, 0.99871001, 0.99931900, 0.49323180],\
+-[	-6.27315776, -0.00042223, 0.00025868, 7.27273552, 0.99871018, 0.99931909, 0.49323181],\
+-[	-6.27315790, -0.00042218, 0.00025864, 7.27273572, 0.99871036, 0.99931918, 0.49323188],\
+-[	-6.27315803, -0.00042212, 0.00025861, 7.27273592, 0.99871054, 0.99931928, 0.49323197],\
+-[	-6.27315817, -0.00042206, 0.00025857, 7.27273611, 0.99871071, 0.99931937, 0.49323190],\
+-[	-6.27315831, -0.00042200, 0.00025854, 7.27273631, 0.99871089, 0.99931946, 0.49323185],\
+-[	-6.27315845, -0.00042194, 0.00025850, 7.27273650, 0.99871106, 0.99931956, 0.49323199],\
+-[	-6.27315858, -0.00042189, 0.00025846, 7.27273670, 0.99871124, 0.99931965, 0.49323204],\
+-[	-6.27315872, -0.00042183, 0.00025843, 7.27273689, 0.99871141, 0.99931974, 0.49323191],\
+-[	-6.27315886, -0.00042177, 0.00025839, 7.27273709, 0.99871159, 0.99931983, 0.49323202],\
+-[	-6.27315900, -0.00042171, 0.00025836, 7.27273728, 0.99871177, 0.99931993, 0.49323199],\
+-[	-6.27315913, -0.00042166, 0.00025832, 7.27273748, 0.99871194, 0.99932002, 0.49323200],\
+-[	-6.27315927, -0.00042160, 0.00025829, 7.27273767, 0.99871212, 0.99932011, 0.49323212],\
+-[	-6.27315941, -0.00042154, 0.00025825, 7.27273787, 0.99871229, 0.99932020, 0.49323215],\
+-[	-6.27315955, -0.00042149, 0.00025822, 7.27273806, 0.99871247, 0.99932030, 0.49323211],\
+-[	-6.27315968, -0.00042143, 0.00025818, 7.27273826, 0.99871264, 0.99932039, 0.49323217],\
+-[	-6.27315982, -0.00042137, 0.00025815, 7.27273845, 0.99871282, 0.99932048, 0.49323219],\
+-[	-6.27315996, -0.00042131, 0.00025811, 7.27273864, 0.99871299, 0.99932057, 0.49323223],\
+-[	-6.27316010, -0.00042126, 0.00025808, 7.27273884, 0.99871317, 0.99932067, 0.49323224],\
+-[	-6.27316023, -0.00042120, 0.00025804, 7.27273903, 0.99871334, 0.99932076, 0.49323221],\
+-[	-6.27316037, -0.00042114, 0.00025801, 7.27273923, 0.99871352, 0.99932085, 0.49323224],\
+-[	-6.27316051, -0.00042108, 0.00025797, 7.27273942, 0.99871369, 0.99932094, 0.49323220],\
+-[	-6.27316064, -0.00042103, 0.00025794, 7.27273962, 0.99871387, 0.99932104, 0.49323229],\
+-[	-6.27316078, -0.00042097, 0.00025790, 7.27273981, 0.99871404, 0.99932113, 0.49323228],\
+-[	-6.27316092, -0.00042091, 0.00025787, 7.27274001, 0.99871422, 0.99932122, 0.49323228],\
+-[	-6.27316105, -0.00042085, 0.00025783, 7.27274020, 0.99871439, 0.99932131, 0.49323234],\
+-[	-6.27316119, -0.00042080, 0.00025780, 7.27274039, 0.99871457, 0.99932141, 0.49323243],\
+-[	-6.27316133, -0.00042074, 0.00025776, 7.27274059, 0.99871474, 0.99932150, 0.49323241],\
+-[	-6.27316147, -0.00042068, 0.00025773, 7.27274078, 0.99871492, 0.99932159, 0.49323242],\
+-[	-6.27316160, -0.00042063, 0.00025769, 7.27274098, 0.99871509, 0.99932168, 0.49323234],\
+-[	-6.27316174, -0.00042057, 0.00025766, 7.27274117, 0.99871527, 0.99932177, 0.49323243],\
+-[	-6.27316188, -0.00042051, 0.00025762, 7.27274136, 0.99871544, 0.99932187, 0.49323249],\
+-[	-6.27316201, -0.00042045, 0.00025759, 7.27274156, 0.99871562, 0.99932196, 0.49323249],\
+-[	-6.27316215, -0.00042040, 0.00025755, 7.27274175, 0.99871579, 0.99932205, 0.49323255],\
+-[	-6.27316229, -0.00042034, 0.00025752, 7.27274195, 0.99871597, 0.99932214, 0.49323261],\
+-[	-6.27316242, -0.00042028, 0.00025748, 7.27274214, 0.99871614, 0.99932223, 0.49323266],\
+-[	-6.27316256, -0.00042023, 0.00025745, 7.27274233, 0.99871631, 0.99932233, 0.49323261],\
+-[	-6.27316270, -0.00042017, 0.00025741, 7.27274253, 0.99871649, 0.99932242, 0.49323265],\
+-[	-6.27316283, -0.00042011, 0.00025738, 7.27274272, 0.99871666, 0.99932251, 0.49323261],\
+-[	-6.27316297, -0.00042006, 0.00025734, 7.27274291, 0.99871684, 0.99932260, 0.49323268],\
+-[	-6.27316311, -0.00042000, 0.00025731, 7.27274311, 0.99871701, 0.99932269, 0.49323261],\
+-[	-6.27316324, -0.00041994, 0.00025727, 7.27274330, 0.99871719, 0.99932279, 0.49323277],\
+-[	-6.27316338, -0.00041988, 0.00025724, 7.27274349, 0.99871736, 0.99932288, 0.49323278],\
+-[	-6.27316351, -0.00041983, 0.00025720, 7.27274369, 0.99871753, 0.99932297, 0.49323270],\
+-[	-6.27316365, -0.00041977, 0.00025717, 7.27274388, 0.99871771, 0.99932306, 0.49323262],\
+-[	-6.27316379, -0.00041971, 0.00025713, 7.27274407, 0.99871788, 0.99932315, 0.49323267],\
+-[	-6.27316392, -0.00041966, 0.00025710, 7.27274427, 0.99871806, 0.99932325, 0.49323282],\
+-[	-6.27316406, -0.00041960, 0.00025706, 7.27274446, 0.99871823, 0.99932334, 0.49323274],\
+-[	-6.27316420, -0.00041954, 0.00025703, 7.27274465, 0.99871840, 0.99932343, 0.49323276],\
+-[	-6.27316433, -0.00041949, 0.00025699, 7.27274485, 0.99871858, 0.99932352, 0.49323279],\
+-[	-6.27316447, -0.00041943, 0.00025696, 7.27274504, 0.99871875, 0.99932361, 0.49323285],\
+-[	-6.27316460, -0.00041937, 0.00025692, 7.27274523, 0.99871892, 0.99932370, 0.49323286],\
+-[	-6.27316474, -0.00041932, 0.00025689, 7.27274542, 0.99871910, 0.99932380, 0.49323296],\
+-[	-6.27316488, -0.00041926, 0.00025685, 7.27274562, 0.99871927, 0.99932389, 0.49323294],\
+-[	-6.27316501, -0.00041920, 0.00025682, 7.27274581, 0.99871944, 0.99932398, 0.49323292],\
+-[	-6.27316515, -0.00041915, 0.00025678, 7.27274600, 0.99871962, 0.99932407, 0.49323285],\
+-[	-6.27316528, -0.00041909, 0.00025675, 7.27274619, 0.99871979, 0.99932416, 0.49323292],\
+-[	-6.27316542, -0.00041903, 0.00025671, 7.27274639, 0.99871996, 0.99932425, 0.49323303],\
+-[	-6.27316555, -0.00041898, 0.00025668, 7.27274658, 0.99872014, 0.99932435, 0.49323312],\
+-[	-6.27316569, -0.00041892, 0.00025664, 7.27274677, 0.99872031, 0.99932444, 0.49323326],\
+-[	-6.27316583, -0.00041886, 0.00025661, 7.27274696, 0.99872048, 0.99932453, 0.49323308],\
+-[	-6.27316596, -0.00041881, 0.00025658, 7.27274716, 0.99872066, 0.99932462, 0.49323307],\
+-[	-6.27316610, -0.00041875, 0.00025654, 7.27274735, 0.99872083, 0.99932471, 0.49323314],\
+-[	-6.27316623, -0.00041869, 0.00025651, 7.27274754, 0.99872100, 0.99932480, 0.49323312],\
+-[	-6.27316637, -0.00041864, 0.00025647, 7.27274773, 0.99872118, 0.99932489, 0.49323320],\
+-[	-6.27316650, -0.00041858, 0.00025644, 7.27274793, 0.99872135, 0.99932498, 0.49323311],\
+-[	-6.27316664, -0.00041852, 0.00025640, 7.27274812, 0.99872152, 0.99932508, 0.49323311],\
+-[	-6.27316677, -0.00041847, 0.00025637, 7.27274831, 0.99872170, 0.99932517, 0.49323317],\
+-[	-6.27316691, -0.00041841, 0.00025633, 7.27274850, 0.99872187, 0.99932526, 0.49323323],\
+-[	-6.27316705, -0.00041835, 0.00025630, 7.27274869, 0.99872204, 0.99932535, 0.49323325],\
+-[	-6.27316718, -0.00041830, 0.00025626, 7.27274888, 0.99872221, 0.99932544, 0.49323334],\
+-[	-6.27316732, -0.00041824, 0.00025623, 7.27274908, 0.99872239, 0.99932553, 0.49323332],\
+-[	-6.27316745, -0.00041818, 0.00025619, 7.27274927, 0.99872256, 0.99932562, 0.49323331],\
+-[	-6.27316759, -0.00041813, 0.00025616, 7.27274946, 0.99872273, 0.99932571, 0.49323331],\
+-[	-6.27316772, -0.00041807, 0.00025612, 7.27274965, 0.99872290, 0.99932581, 0.49323346],\
+-[	-6.27316786, -0.00041801, 0.00025609, 7.27274984, 0.99872308, 0.99932590, 0.49323331],\
+-[	-6.27316799, -0.00041796, 0.00025606, 7.27275003, 0.99872325, 0.99932599, 0.49323339],\
+-[	-6.27316813, -0.00041790, 0.00025602, 7.27275023, 0.99872342, 0.99932608, 0.49323343],\
+-[	-6.27316826, -0.00041784, 0.00025599, 7.27275042, 0.99872359, 0.99932617, 0.49323337],\
+-[	-6.27316840, -0.00041779, 0.00025595, 7.27275061, 0.99872377, 0.99932626, 0.49323342],\
+-[	-6.27316853, -0.00041773, 0.00025592, 7.27275080, 0.99872394, 0.99932635, 0.49323347],\
+-[	-6.27316867, -0.00041768, 0.00025588, 7.27275099, 0.99872411, 0.99932644, 0.49323353],\
+-[	-6.27316880, -0.00041762, 0.00025585, 7.27275118, 0.99872428, 0.99932653, 0.49323349],\
+-[	-6.27316894, -0.00041756, 0.00025581, 7.27275137, 0.99872446, 0.99932662, 0.49323358],\
+-[	-6.27316907, -0.00041751, 0.00025578, 7.27275157, 0.99872463, 0.99932671, 0.49323354],\
+-[	-6.27316921, -0.00041745, 0.00025574, 7.27275176, 0.99872480, 0.99932681, 0.49323350],\
+-[	-6.27316934, -0.00041739, 0.00025571, 7.27275195, 0.99872497, 0.99932690, 0.49323356],\
+-[	-6.27316948, -0.00041734, 0.00025568, 7.27275214, 0.99872514, 0.99932699, 0.49323355],\
+-[	-6.27316961, -0.00041728, 0.00025564, 7.27275233, 0.99872532, 0.99932708, 0.49323359],\
+-[	-6.27316974, -0.00041722, 0.00025561, 7.27275252, 0.99872549, 0.99932717, 0.49323360],\
+-[	-6.27316988, -0.00041717, 0.00025557, 7.27275271, 0.99872566, 0.99932726, 0.49323362],\
+-[	-6.27317001, -0.00041711, 0.00025554, 7.27275290, 0.99872583, 0.99932735, 0.49323369],\
+-[	-6.27317015, -0.00041706, 0.00025550, 7.27275309, 0.99872600, 0.99932744, 0.49323369],\
+-[	-6.27317028, -0.00041700, 0.00025547, 7.27275328, 0.99872617, 0.99932753, 0.49323368],\
+-[	-6.27317042, -0.00041694, 0.00025543, 7.27275347, 0.99872635, 0.99932762, 0.49323375],\
+-[	-6.27317055, -0.00041689, 0.00025540, 7.27275366, 0.99872652, 0.99932771, 0.49323378],\
+-[	-6.27317069, -0.00041683, 0.00025537, 7.27275385, 0.99872669, 0.99932780, 0.49323373],\
+-[	-6.27317082, -0.00041678, 0.00025533, 7.27275405, 0.99872686, 0.99932789, 0.49323370],\
+-[	-6.27317095, -0.00041672, 0.00025530, 7.27275424, 0.99872703, 0.99932798, 0.49323379],\
+-[	-6.27317109, -0.00041666, 0.00025526, 7.27275443, 0.99872720, 0.99932807, 0.49323375],\
+-[	-6.27317122, -0.00041661, 0.00025523, 7.27275462, 0.99872738, 0.99932816, 0.49323392],\
+-[	-6.27317136, -0.00041655, 0.00025519, 7.27275481, 0.99872755, 0.99932826, 0.49323391],\
+-[	-6.27317149, -0.00041649, 0.00025516, 7.27275500, 0.99872772, 0.99932835, 0.49323391],\
+-[	-6.27317163, -0.00041644, 0.00025512, 7.27275519, 0.99872789, 0.99932844, 0.49323388],\
+-[	-6.27317176, -0.00041638, 0.00025509, 7.27275538, 0.99872806, 0.99932853, 0.49323395],\
+-[	-6.27317189, -0.00041633, 0.00025506, 7.27275557, 0.99872823, 0.99932862, 0.49323385],\
+-[	-6.27317203, -0.00041627, 0.00025502, 7.27275576, 0.99872840, 0.99932871, 0.49323392],\
+-[	-6.27317216, -0.00041621, 0.00025499, 7.27275595, 0.99872857, 0.99932880, 0.49323402],\
+-[	-6.27317230, -0.00041616, 0.00025495, 7.27275614, 0.99872874, 0.99932889, 0.49323405],\
+-[	-6.27317243, -0.00041610, 0.00025492, 7.27275633, 0.99872892, 0.99932898, 0.49323405],\
+-[	-6.27317256, -0.00041605, 0.00025488, 7.27275652, 0.99872909, 0.99932907, 0.49323408],\
+-[	-6.27317270, -0.00041599, 0.00025485, 7.27275671, 0.99872926, 0.99932916, 0.49323410],\
+-[	-6.27317283, -0.00041594, 0.00025482, 7.27275690, 0.99872943, 0.99932925, 0.49323410],\
+-[	-6.27317297, -0.00041588, 0.00025478, 7.27275709, 0.99872960, 0.99932934, 0.49323416],\
+-[	-6.27317310, -0.00041582, 0.00025475, 7.27275728, 0.99872977, 0.99932943, 0.49323413],\
+-[	-6.27317323, -0.00041577, 0.00025471, 7.27275746, 0.99872994, 0.99932952, 0.49323409],\
+-[	-6.27317337, -0.00041571, 0.00025468, 7.27275765, 0.99873011, 0.99932961, 0.49323425],\
+-[	-6.27317350, -0.00041566, 0.00025465, 7.27275784, 0.99873028, 0.99932970, 0.49323426],\
+-[	-6.27317363, -0.00041560, 0.00025461, 7.27275803, 0.99873045, 0.99932979, 0.49323421],\
+-[	-6.27317377, -0.00041554, 0.00025458, 7.27275822, 0.99873062, 0.99932988, 0.49323430],\
+-[	-6.27317390, -0.00041549, 0.00025454, 7.27275841, 0.99873079, 0.99932997, 0.49323422],\
+-[	-6.27317403, -0.00041543, 0.00025451, 7.27275860, 0.99873096, 0.99933006, 0.49323429],\
+-[	-6.27317417, -0.00041538, 0.00025447, 7.27275879, 0.99873113, 0.99933015, 0.49323420],\
+-[	-6.27317430, -0.00041532, 0.00025444, 7.27275898, 0.99873130, 0.99933024, 0.49323427],\
+-[	-6.27317443, -0.00041527, 0.00025441, 7.27275917, 0.99873147, 0.99933033, 0.49323431],\
+-[	-6.27317457, -0.00041521, 0.00025437, 7.27275936, 0.99873164, 0.99933042, 0.49323443],\
+-[	-6.27317470, -0.00041515, 0.00025434, 7.27275955, 0.99873181, 0.99933051, 0.49323428],\
+-[	-6.27317483, -0.00041510, 0.00025430, 7.27275974, 0.99873198, 0.99933060, 0.49323443],\
+-[	-6.27317497, -0.00041504, 0.00025427, 7.27275992, 0.99873215, 0.99933069, 0.49323437],\
+-[	-6.27317510, -0.00041499, 0.00025424, 7.27276011, 0.99873232, 0.99933078, 0.49323454],\
+-[	-6.27317523, -0.00041493, 0.00025420, 7.27276030, 0.99873249, 0.99933087, 0.49323446],\
+-[	-6.27317537, -0.00041488, 0.00025417, 7.27276049, 0.99873266, 0.99933096, 0.49323436],\
+-[	-6.27317550, -0.00041482, 0.00025413, 7.27276068, 0.99873283, 0.99933105, 0.49323455],\
+-[	-6.27317563, -0.00041476, 0.00025410, 7.27276087, 0.99873300, 0.99933114, 0.49323443],\
+-[	-6.27317577, -0.00041471, 0.00025406, 7.27276106, 0.99873317, 0.99933123, 0.49323444],\
+-[	-6.27317590, -0.00041465, 0.00025403, 7.27276124, 0.99873334, 0.99933132, 0.49323452],\
+-[	-6.27317603, -0.00041460, 0.00025400, 7.27276143, 0.99873351, 0.99933140, 0.49323465],\
+-[	-6.27317616, -0.00041454, 0.00025396, 7.27276162, 0.99873368, 0.99933149, 0.49323452],\
+-[	-6.27317630, -0.00041449, 0.00025393, 7.27276181, 0.99873385, 0.99933158, 0.49323459],\
+-[	-6.27317643, -0.00041443, 0.00025389, 7.27276200, 0.99873402, 0.99933167, 0.49323462],\
+-[	-6.27317656, -0.00041438, 0.00025386, 7.27276219, 0.99873419, 0.99933176, 0.49323457],\
+-[	-6.27317670, -0.00041432, 0.00025383, 7.27276237, 0.99873436, 0.99933185, 0.49323468],\
+-[	-6.27317683, -0.00041427, 0.00025379, 7.27276256, 0.99873453, 0.99933194, 0.49323479],\
+-[	-6.27317696, -0.00041421, 0.00025376, 7.27276275, 0.99873470, 0.99933203, 0.49323481],\
+-[	-6.27317709, -0.00041415, 0.00025372, 7.27276294, 0.99873487, 0.99933212, 0.49323465],\
+-[	-6.27317723, -0.00041410, 0.00025369, 7.27276313, 0.99873504, 0.99933221, 0.49323467],\
+-[	-6.27317736, -0.00041404, 0.00025366, 7.27276332, 0.99873521, 0.99933230, 0.49323474],\
+-[	-6.27317749, -0.00041399, 0.00025362, 7.27276350, 0.99873538, 0.99933239, 0.49323475],\
+-[	-6.27317762, -0.00041393, 0.00025359, 7.27276369, 0.99873555, 0.99933248, 0.49323489],\
+-[	-6.27317776, -0.00041388, 0.00025355, 7.27276388, 0.99873572, 0.99933257, 0.49323478],\
+-[	-6.27317789, -0.00041382, 0.00025352, 7.27276407, 0.99873588, 0.99933266, 0.49323490],\
+-[	-6.27317802, -0.00041377, 0.00025349, 7.27276425, 0.99873605, 0.99933275, 0.49323500],\
+-[	-6.27317815, -0.00041371, 0.00025345, 7.27276444, 0.99873622, 0.99933283, 0.49323486],\
+-[	-6.27317829, -0.00041366, 0.00025342, 7.27276463, 0.99873639, 0.99933292, 0.49323491],\
+-[	-6.27317842, -0.00041360, 0.00025339, 7.27276482, 0.99873656, 0.99933301, 0.49323473],\
+-[	-6.27317855, -0.00041355, 0.00025335, 7.27276500, 0.99873673, 0.99933310, 0.49323495],\
+-[	-6.27317868, -0.00041349, 0.00025332, 7.27276519, 0.99873690, 0.99933319, 0.49323495],\
+-[	-6.27317882, -0.00041344, 0.00025328, 7.27276538, 0.99873707, 0.99933328, 0.49323487],\
+-[	-6.27317895, -0.00041338, 0.00025325, 7.27276557, 0.99873724, 0.99933337, 0.49323500],\
+-[	-6.27317908, -0.00041333, 0.00025322, 7.27276575, 0.99873740, 0.99933346, 0.49323493],\
+-[	-6.27317921, -0.00041327, 0.00025318, 7.27276594, 0.99873757, 0.99933355, 0.49323497],\
+-[	-6.27317934, -0.00041321, 0.00025315, 7.27276613, 0.99873774, 0.99933364, 0.49323507],\
+-[	-6.27317948, -0.00041316, 0.00025311, 7.27276632, 0.99873791, 0.99933373, 0.49323512],\
+-[	-6.27317961, -0.00041310, 0.00025308, 7.27276650, 0.99873808, 0.99933381, 0.49323500],\
+-[	-6.27317974, -0.00041305, 0.00025305, 7.27276669, 0.99873825, 0.99933390, 0.49323510],\
+-[	-6.27317987, -0.00041299, 0.00025301, 7.27276688, 0.99873842, 0.99933399, 0.49323520],\
+-[	-6.27318000, -0.00041294, 0.00025298, 7.27276706, 0.99873858, 0.99933408, 0.49323515],\
+-[	-6.27318014, -0.00041288, 0.00025295, 7.27276725, 0.99873875, 0.99933417, 0.49323523],\
+-[	-6.27318027, -0.00041283, 0.00025291, 7.27276744, 0.99873892, 0.99933426, 0.49323516],\
+-[	-6.27318040, -0.00041277, 0.00025288, 7.27276762, 0.99873909, 0.99933435, 0.49323517],\
+-[	-6.27318053, -0.00041272, 0.00025284, 7.27276781, 0.99873926, 0.99933444, 0.49323519],\
+-[	-6.27318066, -0.00041266, 0.00025281, 7.27276800, 0.99873942, 0.99933453, 0.49323515],\
+-[	-6.27318079, -0.00041261, 0.00025278, 7.27276818, 0.99873959, 0.99933461, 0.49323538],\
+-[	-6.27318093, -0.00041255, 0.00025274, 7.27276837, 0.99873976, 0.99933470, 0.49323529],\
+-[	-6.27318106, -0.00041250, 0.00025271, 7.27276856, 0.99873993, 0.99933479, 0.49323537],\
+-[	-6.27318119, -0.00041244, 0.00025268, 7.27276874, 0.99874010, 0.99933488, 0.49323534],\
+-[	-6.27318132, -0.00041239, 0.00025264, 7.27276893, 0.99874026, 0.99933497, 0.49323537],\
+-[	-6.27318145, -0.00041233, 0.00025261, 7.27276912, 0.99874043, 0.99933506, 0.49323540],\
+-[	-6.27318158, -0.00041228, 0.00025258, 7.27276930, 0.99874060, 0.99933515, 0.49323539],\
+-[	-6.27318171, -0.00041222, 0.00025254, 7.27276949, 0.99874077, 0.99933523, 0.49323536],\
+-[	-6.27318185, -0.00041217, 0.00025251, 7.27276968, 0.99874094, 0.99933532, 0.49323541],\
+-[	-6.27318198, -0.00041211, 0.00025247, 7.27276986, 0.99874110, 0.99933541, 0.49323529],\
+-[	-6.27318211, -0.00041206, 0.00025244, 7.27277005, 0.99874127, 0.99933550, 0.49323554],\
+-[	-6.27318224, -0.00041200, 0.00025241, 7.27277023, 0.99874144, 0.99933559, 0.49323556],\
+-[	-6.27318237, -0.00041195, 0.00025237, 7.27277042, 0.99874161, 0.99933568, 0.49323548],\
+-[	-6.27318250, -0.00041190, 0.00025234, 7.27277061, 0.99874177, 0.99933577, 0.49323555],\
+-[	-6.27318263, -0.00041184, 0.00025231, 7.27277079, 0.99874194, 0.99933585, 0.49323555],\
+-[	-6.27318276, -0.00041179, 0.00025227, 7.27277098, 0.99874211, 0.99933594, 0.49323566],\
+-[	-6.27318290, -0.00041173, 0.00025224, 7.27277117, 0.99874228, 0.99933603, 0.49323552],\
+-[	-6.27318303, -0.00041168, 0.00025221, 7.27277135, 0.99874244, 0.99933612, 0.49323561],\
+-[	-6.27318316, -0.00041162, 0.00025217, 7.27277154, 0.99874261, 0.99933621, 0.49323566],\
+-[	-6.27318329, -0.00041157, 0.00025214, 7.27277172, 0.99874278, 0.99933630, 0.49323555],\
+-[	-6.27318342, -0.00041151, 0.00025210, 7.27277191, 0.99874294, 0.99933638, 0.49323560],\
+-[	-6.27318355, -0.00041146, 0.00025207, 7.27277209, 0.99874311, 0.99933647, 0.49323570],\
+-[	-6.27318368, -0.00041140, 0.00025204, 7.27277228, 0.99874328, 0.99933656, 0.49323566],\
+-[	-6.27318381, -0.00041135, 0.00025200, 7.27277246, 0.99874345, 0.99933665, 0.49323580],\
+-[	-6.27318394, -0.00041129, 0.00025197, 7.27277265, 0.99874361, 0.99933674, 0.49323573],\
+-[	-6.27318407, -0.00041124, 0.00025194, 7.27277284, 0.99874378, 0.99933682, 0.49323588],\
+-[	-6.27318420, -0.00041118, 0.00025190, 7.27277302, 0.99874395, 0.99933691, 0.49323574],\
+-[	-6.27318434, -0.00041113, 0.00025187, 7.27277321, 0.99874411, 0.99933700, 0.49323584],\
+-[	-6.27318447, -0.00041107, 0.00025184, 7.27277339, 0.99874428, 0.99933709, 0.49323574],\
+-[	-6.27318460, -0.00041102, 0.00025180, 7.27277358, 0.99874445, 0.99933718, 0.49323586],\
+-[	-6.27318473, -0.00041097, 0.00025177, 7.27277376, 0.99874461, 0.99933726, 0.49323593],\
+-[	-6.27318486, -0.00041091, 0.00025174, 7.27277395, 0.99874478, 0.99933735, 0.49323592],\
+-[	-6.27318499, -0.00041086, 0.00025170, 7.27277413, 0.99874495, 0.99933744, 0.49323598],\
+-[	-6.27318512, -0.00041080, 0.00025167, 7.27277432, 0.99874511, 0.99933753, 0.49323589],\
+-[	-6.27318525, -0.00041075, 0.00025164, 7.27277450, 0.99874528, 0.99933762, 0.49323587],\
+-[	-6.27318538, -0.00041069, 0.00025160, 7.27277469, 0.99874545, 0.99933770, 0.49323605],\
+-[	-6.27318551, -0.00041064, 0.00025157, 7.27277487, 0.99874561, 0.99933779, 0.49323594],\
+-[	-6.27318564, -0.00041058, 0.00025154, 7.27277506, 0.99874578, 0.99933788, 0.49323599],\
+-[	-6.27318577, -0.00041053, 0.00025150, 7.27277524, 0.99874595, 0.99933797, 0.49323604],\
+-[	-6.27318590, -0.00041048, 0.00025147, 7.27277543, 0.99874611, 0.99933806, 0.49323602],\
+-[	-6.27318603, -0.00041042, 0.00025144, 7.27277561, 0.99874628, 0.99933814, 0.49323601],\
+-[	-6.27318616, -0.00041037, 0.00025140, 7.27277580, 0.99874645, 0.99933823, 0.49323601],\
+-[	-6.27318629, -0.00041031, 0.00025137, 7.27277598, 0.99874661, 0.99933832, 0.49323608],\
+-[	-6.27318642, -0.00041026, 0.00025134, 7.27277616, 0.99874678, 0.99933841, 0.49323616],\
+-[	-6.27318655, -0.00041020, 0.00025130, 7.27277635, 0.99874694, 0.99933849, 0.49323617],\
+-[	-6.27318668, -0.00041015, 0.00025127, 7.27277653, 0.99874711, 0.99933858, 0.49323615],\
+-[	-6.27318681, -0.00041009, 0.00025124, 7.27277672, 0.99874728, 0.99933867, 0.49323614],\
+-[	-6.27318694, -0.00041004, 0.00025120, 7.27277690, 0.99874744, 0.99933876, 0.49323615],\
+-[	-6.27318707, -0.00040999, 0.00025117, 7.27277709, 0.99874761, 0.99933884, 0.49323610],\
+-[	-6.27318720, -0.00040993, 0.00025114, 7.27277727, 0.99874777, 0.99933893, 0.49323628],\
+-[	-6.27318733, -0.00040988, 0.00025110, 7.27277746, 0.99874794, 0.99933902, 0.49323634],\
+-[	-6.27318746, -0.00040982, 0.00025107, 7.27277764, 0.99874811, 0.99933911, 0.49323627],\
+-[	-6.27318759, -0.00040977, 0.00025104, 7.27277782, 0.99874827, 0.99933919, 0.49323622],\
+-[	-6.27318772, -0.00040971, 0.00025100, 7.27277801, 0.99874844, 0.99933928, 0.49323631],\
+-[	-6.27318785, -0.00040966, 0.00025097, 7.27277819, 0.99874860, 0.99933937, 0.49323628],\
+-[	-6.27318798, -0.00040961, 0.00025094, 7.27277838, 0.99874877, 0.99933946, 0.49323627],\
+-[	-6.27318811, -0.00040955, 0.00025090, 7.27277856, 0.99874893, 0.99933954, 0.49323637],\
+-[	-6.27318824, -0.00040950, 0.00025087, 7.27277874, 0.99874910, 0.99933963, 0.49323632],\
+-[	-6.27318837, -0.00040944, 0.00025084, 7.27277893, 0.99874927, 0.99933972, 0.49323640],\
+-[	-6.27318850, -0.00040939, 0.00025080, 7.27277911, 0.99874943, 0.99933981, 0.49323651],\
+-[	-6.27318863, -0.00040934, 0.00025077, 7.27277929, 0.99874960, 0.99933989, 0.49323644],\
+-[	-6.27318876, -0.00040928, 0.00025074, 7.27277948, 0.99874976, 0.99933998, 0.49323637],\
+-[	-6.27318889, -0.00040923, 0.00025070, 7.27277966, 0.99874993, 0.99934007, 0.49323647],\
+-[	-6.27318902, -0.00040917, 0.00025067, 7.27277985, 0.99875009, 0.99934016, 0.49323644],\
+-[	-6.27318915, -0.00040912, 0.00025064, 7.27278003, 0.99875026, 0.99934024, 0.49323643],\
+-[	-6.27318928, -0.00040906, 0.00025060, 7.27278021, 0.99875042, 0.99934033, 0.49323648],\
+-[	-6.27318941, -0.00040901, 0.00025057, 7.27278040, 0.99875059, 0.99934042, 0.49323655],\
+-[	-6.27318954, -0.00040896, 0.00025054, 7.27278058, 0.99875075, 0.99934050, 0.49323657],\
+-[	-6.27318967, -0.00040890, 0.00025051, 7.27278076, 0.99875092, 0.99934059, 0.49323664],\
+-[	-6.27318979, -0.00040885, 0.00025047, 7.27278095, 0.99875108, 0.99934068, 0.49323657],\
+-[	-6.27318992, -0.00040879, 0.00025044, 7.27278113, 0.99875125, 0.99934077, 0.49323666],\
+-[	-6.27319005, -0.00040874, 0.00025041, 7.27278131, 0.99875141, 0.99934085, 0.49323663],\
+-[	-6.27319018, -0.00040869, 0.00025037, 7.27278150, 0.99875158, 0.99934094, 0.49323672],\
+-[	-6.27319031, -0.00040863, 0.00025034, 7.27278168, 0.99875174, 0.99934103, 0.49323665],\
+-[	-6.27319044, -0.00040858, 0.00025031, 7.27278186, 0.99875191, 0.99934111, 0.49323670],\
+-[	-6.27319057, -0.00040852, 0.00025027, 7.27278204, 0.99875207, 0.99934120, 0.49323671],\
+-[	-6.27319070, -0.00040847, 0.00025024, 7.27278223, 0.99875224, 0.99934129, 0.49323673],\
+-[	-6.27319083, -0.00040842, 0.00025021, 7.27278241, 0.99875240, 0.99934137, 0.49323684],\
+-[	-6.27319096, -0.00040836, 0.00025017, 7.27278259, 0.99875257, 0.99934146, 0.49323687],\
+-[	-6.27319109, -0.00040831, 0.00025014, 7.27278278, 0.99875273, 0.99934155, 0.49323685],\
+-[	-6.27319121, -0.00040826, 0.00025011, 7.27278296, 0.99875290, 0.99934164, 0.49323688],\
+-[	-6.27319134, -0.00040820, 0.00025008, 7.27278314, 0.99875306, 0.99934172, 0.49323675],\
+-[	-6.27319147, -0.00040815, 0.00025004, 7.27278332, 0.99875322, 0.99934181, 0.49323678],\
+-[	-6.27319160, -0.00040809, 0.00025001, 7.27278351, 0.99875339, 0.99934190, 0.49323687],\
+-[	-6.27319173, -0.00040804, 0.00024998, 7.27278369, 0.99875355, 0.99934198, 0.49323686],\
+-[	-6.27319186, -0.00040799, 0.00024994, 7.27278387, 0.99875372, 0.99934207, 0.49323698],\
+-[	-6.27319199, -0.00040793, 0.00024991, 7.27278405, 0.99875388, 0.99934216, 0.49323692],\
+-[	-6.27319212, -0.00040788, 0.00024988, 7.27278424, 0.99875405, 0.99934224, 0.49323708],\
+-[	-6.27319224, -0.00040783, 0.00024985, 7.27278442, 0.99875421, 0.99934233, 0.49323704],\
+-[	-6.27319237, -0.00040777, 0.00024981, 7.27278460, 0.99875437, 0.99934242, 0.49323700],\
+-[	-6.27319250, -0.00040772, 0.00024978, 7.27278478, 0.99875454, 0.99934250, 0.49323693],\
+-[	-6.27319263, -0.00040766, 0.00024975, 7.27278497, 0.99875470, 0.99934259, 0.49323702],\
+-[	-6.27319276, -0.00040761, 0.00024971, 7.27278515, 0.99875487, 0.99934268, 0.49323716],\
+-[	-6.27319289, -0.00040756, 0.00024968, 7.27278533, 0.99875503, 0.99934276, 0.49323703],\
+-[	-6.27319302, -0.00040750, 0.00024965, 7.27278551, 0.99875519, 0.99934285, 0.49323706],\
+-[	-6.27319314, -0.00040745, 0.00024961, 7.27278569, 0.99875536, 0.99934294, 0.49323706],\
+-[	-6.27319327, -0.00040740, 0.00024958, 7.27278588, 0.99875552, 0.99934302, 0.49323714],\
+-[	-6.27319340, -0.00040734, 0.00024955, 7.27278606, 0.99875569, 0.99934311, 0.49323706],\
+-[	-6.27319353, -0.00040729, 0.00024952, 7.27278624, 0.99875585, 0.99934320, 0.49323708],\
+-[	-6.27319366, -0.00040724, 0.00024948, 7.27278642, 0.99875601, 0.99934328, 0.49323729],\
+-[	-6.27319379, -0.00040718, 0.00024945, 7.27278660, 0.99875618, 0.99934337, 0.49323724],\
+-[	-6.27319391, -0.00040713, 0.00024942, 7.27278679, 0.99875634, 0.99934345, 0.49323721],\
+-[	-6.27319404, -0.00040707, 0.00024938, 7.27278697, 0.99875650, 0.99934354, 0.49323728],\
+-[	-6.27319417, -0.00040702, 0.00024935, 7.27278715, 0.99875667, 0.99934363, 0.49323732],\
+-[	-6.27319430, -0.00040697, 0.00024932, 7.27278733, 0.99875683, 0.99934371, 0.49323735],\
+-[	-6.27319443, -0.00040691, 0.00024929, 7.27278751, 0.99875700, 0.99934380, 0.49323736],\
+-[	-6.27319455, -0.00040686, 0.00024925, 7.27278769, 0.99875716, 0.99934389, 0.49323725],\
+-[	-6.27319468, -0.00040681, 0.00024922, 7.27278788, 0.99875732, 0.99934397, 0.49323738],\
+-[	-6.27319481, -0.00040675, 0.00024919, 7.27278806, 0.99875749, 0.99934406, 0.49323735],\
+-[	-6.27319494, -0.00040670, 0.00024916, 7.27278824, 0.99875765, 0.99934414, 0.49323731],\
+-[	-6.27319507, -0.00040665, 0.00024912, 7.27278842, 0.99875781, 0.99934423, 0.49323743],\
+-[	-6.27319519, -0.00040659, 0.00024909, 7.27278860, 0.99875798, 0.99934432, 0.49323750],\
+-[	-6.27319532, -0.00040654, 0.00024906, 7.27278878, 0.99875814, 0.99934440, 0.49323738],\
+-[	-6.27319545, -0.00040649, 0.00024902, 7.27278896, 0.99875830, 0.99934449, 0.49323751],\
+-[	-6.27319558, -0.00040643, 0.00024899, 7.27278914, 0.99875846, 0.99934457, 0.49323752],\
+-[	-6.27319571, -0.00040638, 0.00024896, 7.27278933, 0.99875863, 0.99934466, 0.49323741],\
+-[	-6.27319583, -0.00040633, 0.00024893, 7.27278951, 0.99875879, 0.99934475, 0.49323749],\
+-[	-6.27319596, -0.00040627, 0.00024889, 7.27278969, 0.99875895, 0.99934483, 0.49323755],\
+-[	-6.27319609, -0.00040622, 0.00024886, 7.27278987, 0.99875912, 0.99934492, 0.49323762],\
+-[	-6.27319622, -0.00040617, 0.00024883, 7.27279005, 0.99875928, 0.99934501, 0.49323759],\
+-[	-6.27319634, -0.00040611, 0.00024880, 7.27279023, 0.99875944, 0.99934509, 0.49323760],\
+-[	-6.27319647, -0.00040606, 0.00024876, 7.27279041, 0.99875960, 0.99934518, 0.49323757],\
+-[	-6.27319660, -0.00040601, 0.00024873, 7.27279059, 0.99875977, 0.99934526, 0.49323761],\
+-[	-6.27319673, -0.00040595, 0.00024870, 7.27279077, 0.99875993, 0.99934535, 0.49323762],\
+-[	-6.27319685, -0.00040590, 0.00024867, 7.27279095, 0.99876009, 0.99934543, 0.49323771],\
+-[	-6.27319698, -0.00040585, 0.00024863, 7.27279113, 0.99876026, 0.99934552, 0.49323775],\
+-[	-6.27319711, -0.00040579, 0.00024860, 7.27279131, 0.99876042, 0.99934561, 0.49323777],\
+-[	-6.27319724, -0.00040574, 0.00024857, 7.27279149, 0.99876058, 0.99934569, 0.49323761],\
+-[	-6.27319736, -0.00040569, 0.00024853, 7.27279168, 0.99876074, 0.99934578, 0.49323772],\
+-[	-6.27319749, -0.00040563, 0.00024850, 7.27279186, 0.99876091, 0.99934586, 0.49323767],\
+-[	-6.27319762, -0.00040558, 0.00024847, 7.27279204, 0.99876107, 0.99934595, 0.49323779],\
+-[	-6.27319774, -0.00040553, 0.00024844, 7.27279222, 0.99876123, 0.99934603, 0.49323782],\
+-[	-6.27319787, -0.00040547, 0.00024840, 7.27279240, 0.99876139, 0.99934612, 0.49323776],\
+-[	-6.27319800, -0.00040542, 0.00024837, 7.27279258, 0.99876156, 0.99934621, 0.49323782],\
+-[	-6.27319813, -0.00040537, 0.00024834, 7.27279276, 0.99876172, 0.99934629, 0.49323787],\
+-[	-6.27319825, -0.00040532, 0.00024831, 7.27279294, 0.99876188, 0.99934638, 0.49323783],\
+-[	-6.27319838, -0.00040526, 0.00024827, 7.27279312, 0.99876204, 0.99934646, 0.49323795],\
+-[	-6.27319851, -0.00040521, 0.00024824, 7.27279330, 0.99876220, 0.99934655, 0.49323788],\
+-[	-6.27319863, -0.00040516, 0.00024821, 7.27279348, 0.99876237, 0.99934663, 0.49323798],\
+-[	-6.27319876, -0.00040510, 0.00024818, 7.27279366, 0.99876253, 0.99934672, 0.49323799],\
+-[	-6.27319889, -0.00040505, 0.00024814, 7.27279384, 0.99876269, 0.99934681, 0.49323794],\
+-[	-6.27319901, -0.00040500, 0.00024811, 7.27279402, 0.99876285, 0.99934689, 0.49323812],\
+-[	-6.27319914, -0.00040494, 0.00024808, 7.27279420, 0.99876301, 0.99934698, 0.49323800],\
+-[	-6.27319927, -0.00040489, 0.00024805, 7.27279438, 0.99876318, 0.99934706, 0.49323799],\
+-[	-6.27319939, -0.00040484, 0.00024801, 7.27279456, 0.99876334, 0.99934715, 0.49323807],\
+-[	-6.27319952, -0.00040479, 0.00024798, 7.27279474, 0.99876350, 0.99934723, 0.49323804],\
+-[	-6.27319965, -0.00040473, 0.00024795, 7.27279492, 0.99876366, 0.99934732, 0.49323807],\
+-[	-6.27319977, -0.00040468, 0.00024792, 7.27279510, 0.99876382, 0.99934740, 0.49323796],\
+-[	-6.27319990, -0.00040463, 0.00024788, 7.27279527, 0.99876398, 0.99934749, 0.49323820],\
+-[	-6.27320003, -0.00040457, 0.00024785, 7.27279545, 0.99876415, 0.99934757, 0.49323815],\
+-[	-6.27320015, -0.00040452, 0.00024782, 7.27279563, 0.99876431, 0.99934766, 0.49323813],\
+-[	-6.27320028, -0.00040447, 0.00024779, 7.27279581, 0.99876447, 0.99934774, 0.49323819],\
+-[	-6.27320041, -0.00040442, 0.00024776, 7.27279599, 0.99876463, 0.99934783, 0.49323817],\
+-[	-6.27320053, -0.00040436, 0.00024772, 7.27279617, 0.99876479, 0.99934791, 0.49323809],\
+-[	-6.27320066, -0.00040431, 0.00024769, 7.27279635, 0.99876495, 0.99934800, 0.49323823],\
+-[	-6.27320079, -0.00040426, 0.00024766, 7.27279653, 0.99876511, 0.99934809, 0.49323818],\
+-[	-6.27320091, -0.00040420, 0.00024763, 7.27279671, 0.99876528, 0.99934817, 0.49323822],\
+-[	-6.27320104, -0.00040415, 0.00024759, 7.27279689, 0.99876544, 0.99934826, 0.49323828],\
+-[	-6.27320117, -0.00040410, 0.00024756, 7.27279707, 0.99876560, 0.99934834, 0.49323852],\
+-[	-6.27320129, -0.00040405, 0.00024753, 7.27279725, 0.99876576, 0.99934843, 0.49323826],\
+-[	-6.27320142, -0.00040399, 0.00024750, 7.27279743, 0.99876592, 0.99934851, 0.49323833],\
+-[	-6.27320154, -0.00040394, 0.00024746, 7.27279760, 0.99876608, 0.99934860, 0.49323832],\
+-[	-6.27320167, -0.00040389, 0.00024743, 7.27279778, 0.99876624, 0.99934868, 0.49323839],\
+-[	-6.27320180, -0.00040383, 0.00024740, 7.27279796, 0.99876640, 0.99934877, 0.49323831],\
+-[	-6.27320192, -0.00040378, 0.00024737, 7.27279814, 0.99876656, 0.99934885, 0.49323847],\
+-[	-6.27320205, -0.00040373, 0.00024733, 7.27279832, 0.99876673, 0.99934894, 0.49323846],\
+-[	-6.27320217, -0.00040368, 0.00024730, 7.27279850, 0.99876689, 0.99934902, 0.49323853],\
+-[	-6.27320230, -0.00040362, 0.00024727, 7.27279868, 0.99876705, 0.99934911, 0.49323849],\
+-[	-6.27320243, -0.00040357, 0.00024724, 7.27279886, 0.99876721, 0.99934919, 0.49323847],\
+-[	-6.27320255, -0.00040352, 0.00024721, 7.27279903, 0.99876737, 0.99934928, 0.49323843],\
+-[	-6.27320268, -0.00040347, 0.00024717, 7.27279921, 0.99876753, 0.99934936, 0.49323854],\
+-[	-6.27320280, -0.00040341, 0.00024714, 7.27279939, 0.99876769, 0.99934944, 0.49323862],\
+-[	-6.27320293, -0.00040336, 0.00024711, 7.27279957, 0.99876785, 0.99934953, 0.49323861],\
+-[	-6.27320306, -0.00040331, 0.00024708, 7.27279975, 0.99876801, 0.99934961, 0.49323862],\
+-[	-6.27320318, -0.00040326, 0.00024704, 7.27279993, 0.99876817, 0.99934970, 0.49323859],\
+-[	-6.27320331, -0.00040320, 0.00024701, 7.27280010, 0.99876833, 0.99934978, 0.49323864],\
+-[	-6.27320343, -0.00040315, 0.00024698, 7.27280028, 0.99876849, 0.99934987, 0.49323872],\
+-[	-6.27320356, -0.00040310, 0.00024695, 7.27280046, 0.99876865, 0.99934995, 0.49323853],\
+-[	-6.27320368, -0.00040305, 0.00024692, 7.27280064, 0.99876881, 0.99935004, 0.49323874],\
+-[	-6.27320381, -0.00040299, 0.00024688, 7.27280082, 0.99876897, 0.99935012, 0.49323866],\
+-[	-6.27320394, -0.00040294, 0.00024685, 7.27280099, 0.99876913, 0.99935021, 0.49323878],\
+-[	-6.27320406, -0.00040289, 0.00024682, 7.27280117, 0.99876929, 0.99935029, 0.49323872],\
+-[	-6.27320419, -0.00040284, 0.00024679, 7.27280135, 0.99876945, 0.99935038, 0.49323872],\
+-[	-6.27320431, -0.00040278, 0.00024676, 7.27280153, 0.99876961, 0.99935046, 0.49323876],\
+-[	-6.27320444, -0.00040273, 0.00024672, 7.27280171, 0.99876978, 0.99935055, 0.49323884],\
+-[	-6.27320456, -0.00040268, 0.00024669, 7.27280188, 0.99876994, 0.99935063, 0.49323875],\
+-[	-6.27320469, -0.00040263, 0.00024666, 7.27280206, 0.99877010, 0.99935071, 0.49323881],\
+-[	-6.27320481, -0.00040257, 0.00024663, 7.27280224, 0.99877026, 0.99935080, 0.49323883],\
+-[	-6.27320494, -0.00040252, 0.00024659, 7.27280242, 0.99877042, 0.99935088, 0.49323893],\
+-[	-6.27320506, -0.00040247, 0.00024656, 7.27280259, 0.99877058, 0.99935097, 0.49323897],\
+-[	-6.27320519, -0.00040242, 0.00024653, 7.27280277, 0.99877073, 0.99935105, 0.49323888],\
+-[	-6.27320532, -0.00040237, 0.00024650, 7.27280295, 0.99877089, 0.99935114, 0.49323894],\
+-[	-6.27320544, -0.00040231, 0.00024647, 7.27280313, 0.99877105, 0.99935122, 0.49323891],\
+-[	-6.27320557, -0.00040226, 0.00024643, 7.27280330, 0.99877121, 0.99935130, 0.49323883],\
+-[	-6.27320569, -0.00040221, 0.00024640, 7.27280348, 0.99877137, 0.99935139, 0.49323900],\
+-[	-6.27320582, -0.00040216, 0.00024637, 7.27280366, 0.99877153, 0.99935147, 0.49323894],\
+-[	-6.27320594, -0.00040210, 0.00024634, 7.27280384, 0.99877169, 0.99935156, 0.49323913],\
+-[	-6.27320607, -0.00040205, 0.00024631, 7.27280401, 0.99877185, 0.99935164, 0.49323892],\
+-[	-6.27320619, -0.00040200, 0.00024627, 7.27280419, 0.99877201, 0.99935173, 0.49323905],\
+-[	-6.27320632, -0.00040195, 0.00024624, 7.27280437, 0.99877217, 0.99935181, 0.49323908],\
+-[	-6.27320644, -0.00040190, 0.00024621, 7.27280455, 0.99877233, 0.99935189, 0.49323912],\
+-[	-6.27320657, -0.00040184, 0.00024618, 7.27280472, 0.99877249, 0.99935198, 0.49323907],\
+-[	-6.27320669, -0.00040179, 0.00024615, 7.27280490, 0.99877265, 0.99935206, 0.49323901],\
+-[	-6.27320682, -0.00040174, 0.00024611, 7.27280508, 0.99877281, 0.99935215, 0.49323923],\
+-[	-6.27320694, -0.00040169, 0.00024608, 7.27280525, 0.99877297, 0.99935223, 0.49323914],\
+-[	-6.27320706, -0.00040163, 0.00024605, 7.27280543, 0.99877313, 0.99935231, 0.49323921],\
+-[	-6.27320719, -0.00040158, 0.00024602, 7.27280561, 0.99877329, 0.99935240, 0.49323926],\
+-[	-6.27320731, -0.00040153, 0.00024599, 7.27280578, 0.99877345, 0.99935248, 0.49323926],\
+-[	-6.27320744, -0.00040148, 0.00024595, 7.27280596, 0.99877361, 0.99935257, 0.49323918],\
+-[	-6.27320756, -0.00040143, 0.00024592, 7.27280614, 0.99877376, 0.99935265, 0.49323936],\
+-[	-6.27320769, -0.00040137, 0.00024589, 7.27280631, 0.99877392, 0.99935273, 0.49323929],\
+-[	-6.27320781, -0.00040132, 0.00024586, 7.27280649, 0.99877408, 0.99935282, 0.49323934],\
+-[	-6.27320794, -0.00040127, 0.00024583, 7.27280667, 0.99877424, 0.99935290, 0.49323932],\
+-[	-6.27320806, -0.00040122, 0.00024580, 7.27280684, 0.99877440, 0.99935299, 0.49323931],\
+-[	-6.27320819, -0.00040117, 0.00024576, 7.27280702, 0.99877456, 0.99935307, 0.49323926],\
+-[	-6.27320831, -0.00040111, 0.00024573, 7.27280720, 0.99877472, 0.99935315, 0.49323938],\
+-[	-6.27320843, -0.00040106, 0.00024570, 7.27280737, 0.99877488, 0.99935324, 0.49323939],\
+-[	-6.27320856, -0.00040101, 0.00024567, 7.27280755, 0.99877504, 0.99935332, 0.49323934],\
+-[	-6.27320868, -0.00040096, 0.00024564, 7.27280773, 0.99877519, 0.99935341, 0.49323939],\
+-[	-6.27320881, -0.00040091, 0.00024560, 7.27280790, 0.99877535, 0.99935349, 0.49323943],\
+-[	-6.27320893, -0.00040085, 0.00024557, 7.27280808, 0.99877551, 0.99935357, 0.49323942],\
+-[	-6.27320906, -0.00040080, 0.00024554, 7.27280825, 0.99877567, 0.99935366, 0.49323947],\
+-[	-6.27320918, -0.00040075, 0.00024551, 7.27280843, 0.99877583, 0.99935374, 0.49323951],\
+-[	-6.27320930, -0.00040070, 0.00024548, 7.27280861, 0.99877599, 0.99935382, 0.49323953],\
+-[	-6.27320943, -0.00040065, 0.00024545, 7.27280878, 0.99877615, 0.99935391, 0.49323955],\
+-[	-6.27320955, -0.00040059, 0.00024541, 7.27280896, 0.99877630, 0.99935399, 0.49323962],\
+-[	-6.27320968, -0.00040054, 0.00024538, 7.27280913, 0.99877646, 0.99935408, 0.49323956],\
+-[	-6.27320980, -0.00040049, 0.00024535, 7.27280931, 0.99877662, 0.99935416, 0.49323962],\
+-[	-6.27320993, -0.00040044, 0.00024532, 7.27280949, 0.99877678, 0.99935424, 0.49323958],\
+-[	-6.27321005, -0.00040039, 0.00024529, 7.27280966, 0.99877694, 0.99935433, 0.49323965],\
+-[	-6.27321017, -0.00040034, 0.00024525, 7.27280984, 0.99877710, 0.99935441, 0.49323969],\
+-[	-6.27321030, -0.00040028, 0.00024522, 7.27281001, 0.99877725, 0.99935449, 0.49323976],\
+-[	-6.27321042, -0.00040023, 0.00024519, 7.27281019, 0.99877741, 0.99935458, 0.49323970],\
+-[	-6.27321054, -0.00040018, 0.00024516, 7.27281036, 0.99877757, 0.99935466, 0.49323974],\
+-[	-6.27321067, -0.00040013, 0.00024513, 7.27281054, 0.99877773, 0.99935474, 0.49323974],\
+-[	-6.27321079, -0.00040008, 0.00024510, 7.27281072, 0.99877789, 0.99935483, 0.49323966],\
+-[	-6.27321092, -0.00040003, 0.00024506, 7.27281089, 0.99877804, 0.99935491, 0.49323980],\
+-[	-6.27321104, -0.00039997, 0.00024503, 7.27281107, 0.99877820, 0.99935499, 0.49323982],\
+-[	-6.27321116, -0.00039992, 0.00024500, 7.27281124, 0.99877836, 0.99935508, 0.49323984],\
+-[	-6.27321129, -0.00039987, 0.00024497, 7.27281142, 0.99877852, 0.99935516, 0.49323979],\
+-[	-6.27321141, -0.00039982, 0.00024494, 7.27281159, 0.99877868, 0.99935524, 0.49323984],\
+-[	-6.27321153, -0.00039977, 0.00024491, 7.27281177, 0.99877883, 0.99935533, 0.49323987],\
+-[	-6.27321166, -0.00039972, 0.00024487, 7.27281194, 0.99877899, 0.99935541, 0.49323994],\
+-[	-6.27321178, -0.00039966, 0.00024484, 7.27281212, 0.99877915, 0.99935549, 0.49323989],\
+-[	-6.27321191, -0.00039961, 0.00024481, 7.27281229, 0.99877931, 0.99935558, 0.49323986],\
+-[	-6.27321203, -0.00039956, 0.00024478, 7.27281247, 0.99877946, 0.99935566, 0.49323995],\
+-[	-6.27321215, -0.00039951, 0.00024475, 7.27281264, 0.99877962, 0.99935574, 0.49323997],\
+-[	-6.27321228, -0.00039946, 0.00024472, 7.27281282, 0.99877978, 0.99935583, 0.49323996],\
+-[	-6.27321240, -0.00039941, 0.00024468, 7.27281299, 0.99877994, 0.99935591, 0.49323998],\
+-[	-6.27321252, -0.00039935, 0.00024465, 7.27281317, 0.99878009, 0.99935599, 0.49323996],\
+-[	-6.27321265, -0.00039930, 0.00024462, 7.27281334, 0.99878025, 0.99935608, 0.49324002],\
+-[	-6.27321277, -0.00039925, 0.00024459, 7.27281352, 0.99878041, 0.99935616, 0.49323998],\
+-[	-6.27321289, -0.00039920, 0.00024456, 7.27281369, 0.99878057, 0.99935624, 0.49324001],\
+-[	-6.27321302, -0.00039915, 0.00024453, 7.27281387, 0.99878072, 0.99935632, 0.49324014],\
+-[	-6.27321314, -0.00039910, 0.00024450, 7.27281404, 0.99878088, 0.99935641, 0.49324019],\
+-[	-6.27321326, -0.00039905, 0.00024446, 7.27281422, 0.99878104, 0.99935649, 0.49324012],\
+-[	-6.27321338, -0.00039899, 0.00024443, 7.27281439, 0.99878120, 0.99935657, 0.49324003],\
+-[	-6.27321351, -0.00039894, 0.00024440, 7.27281457, 0.99878135, 0.99935666, 0.49324013],\
+-[	-6.27321363, -0.00039889, 0.00024437, 7.27281474, 0.99878151, 0.99935674, 0.49324013],\
+-[	-6.27321375, -0.00039884, 0.00024434, 7.27281491, 0.99878167, 0.99935682, 0.49324017],\
+-[	-6.27321388, -0.00039879, 0.00024431, 7.27281509, 0.99878182, 0.99935690, 0.49324022],\
+-[	-6.27321400, -0.00039874, 0.00024427, 7.27281526, 0.99878198, 0.99935699, 0.49324015],\
+-[	-6.27321412, -0.00039869, 0.00024424, 7.27281544, 0.99878214, 0.99935707, 0.49324036],\
+-[	-6.27321425, -0.00039863, 0.00024421, 7.27281561, 0.99878229, 0.99935715, 0.49324026],\
+-[	-6.27321437, -0.00039858, 0.00024418, 7.27281579, 0.99878245, 0.99935724, 0.49324022],\
+-[	-6.27321449, -0.00039853, 0.00024415, 7.27281596, 0.99878261, 0.99935732, 0.49324031],\
+-[	-6.27321461, -0.00039848, 0.00024412, 7.27281613, 0.99878277, 0.99935740, 0.49324028],\
+-[	-6.27321474, -0.00039843, 0.00024409, 7.27281631, 0.99878292, 0.99935748, 0.49324030],\
+-[	-6.27321486, -0.00039838, 0.00024405, 7.27281648, 0.99878308, 0.99935757, 0.49324023],\
+-[	-6.27321498, -0.00039833, 0.00024402, 7.27281666, 0.99878324, 0.99935765, 0.49324037],\
+-[	-6.27321511, -0.00039828, 0.00024399, 7.27281683, 0.99878339, 0.99935773, 0.49324036],\
+-[	-6.27321523, -0.00039822, 0.00024396, 7.27281700, 0.99878355, 0.99935782, 0.49324044],\
+-[	-6.27321535, -0.00039817, 0.00024393, 7.27281718, 0.99878370, 0.99935790, 0.49324039],\
+-[	-6.27321547, -0.00039812, 0.00024390, 7.27281735, 0.99878386, 0.99935798, 0.49324042],\
+-[	-6.27321560, -0.00039807, 0.00024387, 7.27281752, 0.99878402, 0.99935806, 0.49324055],\
+-[	-6.27321572, -0.00039802, 0.00024383, 7.27281770, 0.99878417, 0.99935815, 0.49324042],\
+-[	-6.27321584, -0.00039797, 0.00024380, 7.27281787, 0.99878433, 0.99935823, 0.49324044],\
+-[	-6.27321596, -0.00039792, 0.00024377, 7.27281805, 0.99878449, 0.99935831, 0.49324041],\
+-[	-6.27321609, -0.00039787, 0.00024374, 7.27281822, 0.99878464, 0.99935839, 0.49324060],\
+-[	-6.27321621, -0.00039781, 0.00024371, 7.27281839, 0.99878480, 0.99935848, 0.49324044],\
+-[	-6.27321633, -0.00039776, 0.00024368, 7.27281857, 0.99878496, 0.99935856, 0.49324054],\
+-[	-6.27321645, -0.00039771, 0.00024365, 7.27281874, 0.99878511, 0.99935864, 0.49324046],\
+-[	-6.27321658, -0.00039766, 0.00024362, 7.27281891, 0.99878527, 0.99935872, 0.49324052],\
+-[	-6.27321670, -0.00039761, 0.00024358, 7.27281909, 0.99878542, 0.99935881, 0.49324063],\
+-[	-6.27321682, -0.00039756, 0.00024355, 7.27281926, 0.99878558, 0.99935889, 0.49324081],\
+-[	-6.27321694, -0.00039751, 0.00024352, 7.27281943, 0.99878574, 0.99935897, 0.49324067],\
+-[	-6.27321706, -0.00039746, 0.00024349, 7.27281961, 0.99878589, 0.99935905, 0.49324080],\
+-[	-6.27321719, -0.00039741, 0.00024346, 7.27281978, 0.99878605, 0.99935913, 0.49324070],\
+-[	-6.27321731, -0.00039736, 0.00024343, 7.27281995, 0.99878620, 0.99935922, 0.49324061],\
+-[	-6.27321743, -0.00039730, 0.00024340, 7.27282013, 0.99878636, 0.99935930, 0.49324072],\
+-[	-6.27321755, -0.00039725, 0.00024337, 7.27282030, 0.99878652, 0.99935938, 0.49324071],\
+-[	-6.27321767, -0.00039720, 0.00024333, 7.27282047, 0.99878667, 0.99935946, 0.49324076],\
+-[	-6.27321780, -0.00039715, 0.00024330, 7.27282064, 0.99878683, 0.99935955, 0.49324084],\
+-[	-6.27321792, -0.00039710, 0.00024327, 7.27282082, 0.99878698, 0.99935963, 0.49324086],\
+-[	-6.27321804, -0.00039705, 0.00024324, 7.27282099, 0.99878714, 0.99935971, 0.49324068],\
+-[	-6.27321816, -0.00039700, 0.00024321, 7.27282116, 0.99878729, 0.99935979, 0.49324078],\
+-[	-6.27321828, -0.00039695, 0.00024318, 7.27282134, 0.99878745, 0.99935987, 0.49324088],\
+-[	-6.27321841, -0.00039690, 0.00024315, 7.27282151, 0.99878760, 0.99935996, 0.49324077],\
+-[	-6.27321853, -0.00039685, 0.00024312, 7.27282168, 0.99878776, 0.99936004, 0.49324091],\
+-[	-6.27321865, -0.00039680, 0.00024308, 7.27282185, 0.99878792, 0.99936012, 0.49324089],\
+-[	-6.27321877, -0.00039674, 0.00024305, 7.27282203, 0.99878807, 0.99936020, 0.49324098],\
+-[	-6.27321889, -0.00039669, 0.00024302, 7.27282220, 0.99878823, 0.99936028, 0.49324089],\
+-[	-6.27321901, -0.00039664, 0.00024299, 7.27282237, 0.99878838, 0.99936037, 0.49324096],\
+-[	-6.27321914, -0.00039659, 0.00024296, 7.27282254, 0.99878854, 0.99936045, 0.49324110],\
+-[	-6.27321926, -0.00039654, 0.00024293, 7.27282272, 0.99878869, 0.99936053, 0.49324104],\
+-[	-6.27321938, -0.00039649, 0.00024290, 7.27282289, 0.99878885, 0.99936061, 0.49324115],\
+-[	-6.27321950, -0.00039644, 0.00024287, 7.27282306, 0.99878900, 0.99936069, 0.49324105],\
+-[	-6.27321962, -0.00039639, 0.00024284, 7.27282323, 0.99878916, 0.99936078, 0.49324108],\
+-[	-6.27321974, -0.00039634, 0.00024280, 7.27282341, 0.99878931, 0.99936086, 0.49324101],\
+-[	-6.27321987, -0.00039629, 0.00024277, 7.27282358, 0.99878947, 0.99936094, 0.49324102],\
+-[	-6.27321999, -0.00039624, 0.00024274, 7.27282375, 0.99878962, 0.99936102, 0.49324113],\
+-[	-6.27322011, -0.00039619, 0.00024271, 7.27282392, 0.99878978, 0.99936110, 0.49324108],\
+-[	-6.27322023, -0.00039613, 0.00024268, 7.27282409, 0.99878993, 0.99936119, 0.49324117],\
+-[	-6.27322035, -0.00039608, 0.00024265, 7.27282427, 0.99879009, 0.99936127, 0.49324125],\
+-[	-6.27322047, -0.00039603, 0.00024262, 7.27282444, 0.99879024, 0.99936135, 0.49324106],\
+-[	-6.27322059, -0.00039598, 0.00024259, 7.27282461, 0.99879040, 0.99936143, 0.49324119],\
+-[	-6.27322071, -0.00039593, 0.00024256, 7.27282478, 0.99879055, 0.99936151, 0.49324110],\
+-[	-6.27322084, -0.00039588, 0.00024252, 7.27282495, 0.99879071, 0.99936159, 0.49324126],\
+-[	-6.27322096, -0.00039583, 0.00024249, 7.27282513, 0.99879086, 0.99936168, 0.49324122],\
+-[	-6.27322108, -0.00039578, 0.00024246, 7.27282530, 0.99879102, 0.99936176, 0.49324129],\
+-[	-6.27322120, -0.00039573, 0.00024243, 7.27282547, 0.99879117, 0.99936184, 0.49324129],\
+-[	-6.27322132, -0.00039568, 0.00024240, 7.27282564, 0.99879133, 0.99936192, 0.49324124],\
+-[	-6.27322144, -0.00039563, 0.00024237, 7.27282581, 0.99879148, 0.99936200, 0.49324135],\
+-[	-6.27322156, -0.00039558, 0.00024234, 7.27282598, 0.99879163, 0.99936208, 0.49324138],\
+-[	-6.27322168, -0.00039553, 0.00024231, 7.27282616, 0.99879179, 0.99936216, 0.49324133],\
+-[	-6.27322180, -0.00039548, 0.00024228, 7.27282633, 0.99879194, 0.99936225, 0.49324140],\
+-[	-6.27322193, -0.00039543, 0.00024225, 7.27282650, 0.99879210, 0.99936233, 0.49324130],\
+-[	-6.27322205, -0.00039538, 0.00024221, 7.27282667, 0.99879225, 0.99936241, 0.49324149],\
+-[	-6.27322217, -0.00039533, 0.00024218, 7.27282684, 0.99879241, 0.99936249, 0.49324143],\
+-[	-6.27322229, -0.00039528, 0.00024215, 7.27282701, 0.99879256, 0.99936257, 0.49324140],\
+-[	-6.27322241, -0.00039522, 0.00024212, 7.27282718, 0.99879271, 0.99936265, 0.49324158],\
+-[	-6.27322253, -0.00039517, 0.00024209, 7.27282736, 0.99879287, 0.99936273, 0.49324147],\
+-[	-6.27322265, -0.00039512, 0.00024206, 7.27282753, 0.99879302, 0.99936282, 0.49324156],\
+-[	-6.27322277, -0.00039507, 0.00024203, 7.27282770, 0.99879318, 0.99936290, 0.49324153],\
+-[	-6.27322289, -0.00039502, 0.00024200, 7.27282787, 0.99879333, 0.99936298, 0.49324143],\
+-[	-6.27322301, -0.00039497, 0.00024197, 7.27282804, 0.99879349, 0.99936306, 0.49324134],\
+-[	-6.27322313, -0.00039492, 0.00024194, 7.27282821, 0.99879364, 0.99936314, 0.49324161],\
+-[	-6.27322325, -0.00039487, 0.00024191, 7.27282838, 0.99879379, 0.99936322, 0.49324161],\
+-[	-6.27322337, -0.00039482, 0.00024187, 7.27282855, 0.99879395, 0.99936330, 0.49324164],\
+-[	-6.27322349, -0.00039477, 0.00024184, 7.27282872, 0.99879410, 0.99936339, 0.49324176],\
+-[	-6.27322362, -0.00039472, 0.00024181, 7.27282889, 0.99879425, 0.99936347, 0.49324160],\
+-[	-6.27322374, -0.00039467, 0.00024178, 7.27282907, 0.99879441, 0.99936355, 0.49324157],\
+-[	-6.27322386, -0.00039462, 0.00024175, 7.27282924, 0.99879456, 0.99936363, 0.49324158],\
+-[	-6.27322398, -0.00039457, 0.00024172, 7.27282941, 0.99879472, 0.99936371, 0.49324166],\
+-[	-6.27322410, -0.00039452, 0.00024169, 7.27282958, 0.99879487, 0.99936379, 0.49324172],\
+-[	-6.27322422, -0.00039447, 0.00024166, 7.27282975, 0.99879502, 0.99936387, 0.49324177],\
+-[	-6.27322434, -0.00039442, 0.00024163, 7.27282992, 0.99879518, 0.99936395, 0.49324175],\
+-[	-6.27322446, -0.00039437, 0.00024160, 7.27283009, 0.99879533, 0.99936403, 0.49324173],\
+-[	-6.27322458, -0.00039432, 0.00024157, 7.27283026, 0.99879548, 0.99936412, 0.49324183],\
+-[	-6.27322470, -0.00039427, 0.00024154, 7.27283043, 0.99879564, 0.99936420, 0.49324189],\
+-[	-6.27322482, -0.00039422, 0.00024150, 7.27283060, 0.99879579, 0.99936428, 0.49324183],\
+-[	-6.27322494, -0.00039417, 0.00024147, 7.27283077, 0.99879594, 0.99936436, 0.49324176],\
+-[	-6.27322506, -0.00039412, 0.00024144, 7.27283094, 0.99879610, 0.99936444, 0.49324183],\
+-[	-6.27322518, -0.00039407, 0.00024141, 7.27283111, 0.99879625, 0.99936452, 0.49324186],\
+-[	-6.27322530, -0.00039402, 0.00024138, 7.27283128, 0.99879640, 0.99936460, 0.49324198],\
+-[	-6.27322542, -0.00039397, 0.00024135, 7.27283145, 0.99879656, 0.99936468, 0.49324210],\
+-[	-6.27322554, -0.00039392, 0.00024132, 7.27283162, 0.99879671, 0.99936476, 0.49324198],\
+-[	-6.27322566, -0.00039387, 0.00024129, 7.27283179, 0.99879686, 0.99936484, 0.49324205],\
+-[	-6.27322578, -0.00039382, 0.00024126, 7.27283196, 0.99879702, 0.99936492, 0.49324207],\
+-[	-6.27322590, -0.00039377, 0.00024123, 7.27283213, 0.99879717, 0.99936501, 0.49324191],\
+-[	-6.27322602, -0.00039372, 0.00024120, 7.27283230, 0.99879732, 0.99936509, 0.49324201],\
+-[	-6.27322614, -0.00039367, 0.00024117, 7.27283247, 0.99879748, 0.99936517, 0.49324194],\
+-[	-6.27322626, -0.00039362, 0.00024114, 7.27283264, 0.99879763, 0.99936525, 0.49324211],\
+-[	-6.27322638, -0.00039357, 0.00024111, 7.27283281, 0.99879778, 0.99936533, 0.49324210],\
+-[	-6.27322650, -0.00039352, 0.00024107, 7.27283298, 0.99879793, 0.99936541, 0.49324195],\
+-[	-6.27322662, -0.00039347, 0.00024104, 7.27283315, 0.99879809, 0.99936549, 0.49324205],\
+-[	-6.27322674, -0.00039342, 0.00024101, 7.27283332, 0.99879824, 0.99936557, 0.49324210],\
+-[	-6.27322686, -0.00039337, 0.00024098, 7.27283349, 0.99879839, 0.99936565, 0.49324214],\
+-[	-6.27322698, -0.00039332, 0.00024095, 7.27283366, 0.99879855, 0.99936573, 0.49324202],\
+-[	-6.27322710, -0.00039327, 0.00024092, 7.27283383, 0.99879870, 0.99936581, 0.49324209],\
+-[	-6.27322722, -0.00039322, 0.00024089, 7.27283400, 0.99879885, 0.99936589, 0.49324208],\
+-[	-6.27322734, -0.00039317, 0.00024086, 7.27283417, 0.99879900, 0.99936597, 0.49324207],\
+-[	-6.27322746, -0.00039312, 0.00024083, 7.27283434, 0.99879916, 0.99936605, 0.49324215],\
+-[	-6.27322757, -0.00039307, 0.00024080, 7.27283451, 0.99879931, 0.99936613, 0.49324220],\
+-[	-6.27322769, -0.00039302, 0.00024077, 7.27283468, 0.99879946, 0.99936621, 0.49324229],\
+-[	-6.27322781, -0.00039297, 0.00024074, 7.27283485, 0.99879961, 0.99936630, 0.49324226],\
+-[	-6.27322793, -0.00039292, 0.00024071, 7.27283502, 0.99879977, 0.99936638, 0.49324230],\
+-[	-6.27322805, -0.00039287, 0.00024068, 7.27283519, 0.99879992, 0.99936646, 0.49324236],\
+-[	-6.27322817, -0.00039282, 0.00024065, 7.27283535, 0.99880007, 0.99936654, 0.49324229],\
+-[	-6.27322829, -0.00039277, 0.00024062, 7.27283552, 0.99880022, 0.99936662, 0.49324245],\
+-[	-6.27322841, -0.00039272, 0.00024059, 7.27283569, 0.99880038, 0.99936670, 0.49324230],\
+-[	-6.27322853, -0.00039267, 0.00024055, 7.27283586, 0.99880053, 0.99936678, 0.49324241],\
+-[	-6.27322865, -0.00039262, 0.00024052, 7.27283603, 0.99880068, 0.99936686, 0.49324234],\
+-[	-6.27322877, -0.00039257, 0.00024049, 7.27283620, 0.99880083, 0.99936694, 0.49324231],\
+-[	-6.27322889, -0.00039252, 0.00024046, 7.27283637, 0.99880098, 0.99936702, 0.49324244],\
+-[	-6.27322901, -0.00039247, 0.00024043, 7.27283654, 0.99880114, 0.99936710, 0.49324243],\
+-[	-6.27322913, -0.00039242, 0.00024040, 7.27283671, 0.99880129, 0.99936718, 0.49324251],\
+-[	-6.27322924, -0.00039237, 0.00024037, 7.27283688, 0.99880144, 0.99936726, 0.49324242],\
+-[	-6.27322936, -0.00039232, 0.00024034, 7.27283704, 0.99880159, 0.99936734, 0.49324245],\
+-[	-6.27322948, -0.00039227, 0.00024031, 7.27283721, 0.99880174, 0.99936742, 0.49324248],\
+-[	-6.27322960, -0.00039222, 0.00024028, 7.27283738, 0.99880190, 0.99936750, 0.49324240],\
+-[	-6.27322972, -0.00039217, 0.00024025, 7.27283755, 0.99880205, 0.99936758, 0.49324256],\
+-[	-6.27322984, -0.00039212, 0.00024022, 7.27283772, 0.99880220, 0.99936766, 0.49324270],\
+-[	-6.27322996, -0.00039207, 0.00024019, 7.27283789, 0.99880235, 0.99936774, 0.49324265],\
+-[	-6.27323008, -0.00039202, 0.00024016, 7.27283806, 0.99880250, 0.99936782, 0.49324254],\
+-[	-6.27323020, -0.00039197, 0.00024013, 7.27283822, 0.99880265, 0.99936790, 0.49324268],\
+-[	-6.27323032, -0.00039192, 0.00024010, 7.27283839, 0.99880281, 0.99936798, 0.49324263],\
+-[	-6.27323043, -0.00039187, 0.00024007, 7.27283856, 0.99880296, 0.99936806, 0.49324257],\
+-[	-6.27323055, -0.00039182, 0.00024004, 7.27283873, 0.99880311, 0.99936814, 0.49324271],\
+-[	-6.27323067, -0.00039177, 0.00024001, 7.27283890, 0.99880326, 0.99936822, 0.49324263],\
+-[	-6.27323079, -0.00039172, 0.00023998, 7.27283907, 0.99880341, 0.99936830, 0.49324259],\
+-[	-6.27323091, -0.00039167, 0.00023995, 7.27283923, 0.99880356, 0.99936838, 0.49324272],\
+-[	-6.27323103, -0.00039162, 0.00023992, 7.27283940, 0.99880372, 0.99936846, 0.49324266],\
+-[	-6.27323115, -0.00039158, 0.00023989, 7.27283957, 0.99880387, 0.99936854, 0.49324277],\
+-[	-6.27323126, -0.00039153, 0.00023985, 7.27283974, 0.99880402, 0.99936862, 0.49324283],\
+-[	-6.27323138, -0.00039148, 0.00023982, 7.27283991, 0.99880417, 0.99936870, 0.49324288],\
+-[	-6.27323150, -0.00039143, 0.00023979, 7.27284008, 0.99880432, 0.99936878, 0.49324274],\
+-[	-6.27323162, -0.00039138, 0.00023976, 7.27284024, 0.99880447, 0.99936886, 0.49324289],\
+-[	-6.27323174, -0.00039133, 0.00023973, 7.27284041, 0.99880462, 0.99936894, 0.49324287],\
+-[	-6.27323186, -0.00039128, 0.00023970, 7.27284058, 0.99880477, 0.99936902, 0.49324285],\
+-[	-6.27323198, -0.00039123, 0.00023967, 7.27284075, 0.99880493, 0.99936910, 0.49324283],\
+-[	-6.27323209, -0.00039118, 0.00023964, 7.27284091, 0.99880508, 0.99936918, 0.49324290],\
+-[	-6.27323221, -0.00039113, 0.00023961, 7.27284108, 0.99880523, 0.99936926, 0.49324280],\
+-[	-6.27323233, -0.00039108, 0.00023958, 7.27284125, 0.99880538, 0.99936934, 0.49324296],\
+-[	-6.27323245, -0.00039103, 0.00023955, 7.27284142, 0.99880553, 0.99936942, 0.49324284],\
+-[	-6.27323257, -0.00039098, 0.00023952, 7.27284159, 0.99880568, 0.99936950, 0.49324285],\
+-[	-6.27323268, -0.00039093, 0.00023949, 7.27284175, 0.99880583, 0.99936958, 0.49324302],\
+-[	-6.27323280, -0.00039088, 0.00023946, 7.27284192, 0.99880598, 0.99936966, 0.49324295],\
+-[	-6.27323292, -0.00039083, 0.00023943, 7.27284209, 0.99880613, 0.99936974, 0.49324320],\
+-[	-6.27323304, -0.00039078, 0.00023940, 7.27284226, 0.99880628, 0.99936982, 0.49324315],\
+-[	-6.27323316, -0.00039073, 0.00023937, 7.27284242, 0.99880643, 0.99936990, 0.49324296],\
+-[	-6.27323328, -0.00039069, 0.00023934, 7.27284259, 0.99880658, 0.99936997, 0.49324298],\
+-[	-6.27323339, -0.00039064, 0.00023931, 7.27284276, 0.99880674, 0.99937005, 0.49324310],\
+-[	-6.27323351, -0.00039059, 0.00023928, 7.27284292, 0.99880689, 0.99937013, 0.49324316],\
+-[	-6.27323363, -0.00039054, 0.00023925, 7.27284309, 0.99880704, 0.99937021, 0.49324305],\
+-[	-6.27323375, -0.00039049, 0.00023922, 7.27284326, 0.99880719, 0.99937029, 0.49324317],\
+-[	-6.27323387, -0.00039044, 0.00023919, 7.27284343, 0.99880734, 0.99937037, 0.49324316],\
+-[	-6.27323398, -0.00039039, 0.00023916, 7.27284359, 0.99880749, 0.99937045, 0.49324322],\
+-[	-6.27323410, -0.00039034, 0.00023913, 7.27284376, 0.99880764, 0.99937053, 0.49324310],\
+-[	-6.27323422, -0.00039029, 0.00023910, 7.27284393, 0.99880779, 0.99937061, 0.49324325],\
+-[	-6.27323434, -0.00039024, 0.00023907, 7.27284409, 0.99880794, 0.99937069, 0.49324319],\
+-[	-6.27323445, -0.00039019, 0.00023904, 7.27284426, 0.99880809, 0.99937077, 0.49324326],\
+-[	-6.27323457, -0.00039014, 0.00023901, 7.27284443, 0.99880824, 0.99937085, 0.49324329],\
+-[	-6.27323469, -0.00039009, 0.00023898, 7.27284460, 0.99880839, 0.99937093, 0.49324333],\
+-[	-6.27323481, -0.00039005, 0.00023895, 7.27284476, 0.99880854, 0.99937101, 0.49324318],\
+-[	-6.27323493, -0.00039000, 0.00023892, 7.27284493, 0.99880869, 0.99937109, 0.49324318],\
+-[	-6.27323504, -0.00038995, 0.00023889, 7.27284510, 0.99880884, 0.99937117, 0.49324337],\
+-[	-6.27323516, -0.00038990, 0.00023886, 7.27284526, 0.99880899, 0.99937124, 0.49324337],\
+-[	-6.27323528, -0.00038985, 0.00023883, 7.27284543, 0.99880914, 0.99937132, 0.49324350],\
+-[	-6.27323540, -0.00038980, 0.00023880, 7.27284560, 0.99880929, 0.99937140, 0.49324334],\
+-[	-6.27323551, -0.00038975, 0.00023877, 7.27284576, 0.99880944, 0.99937148, 0.49324341],\
+-[	-6.27323563, -0.00038970, 0.00023874, 7.27284593, 0.99880959, 0.99937156, 0.49324338],\
+-[	-6.27323575, -0.00038965, 0.00023871, 7.27284609, 0.99880974, 0.99937164, 0.49324344],\
+-[	-6.27323587, -0.00038960, 0.00023868, 7.27284626, 0.99880989, 0.99937172, 0.49324362],\
+-[	-6.27323598, -0.00038955, 0.00023865, 7.27284643, 0.99881004, 0.99937180, 0.49324347],\
+-[	-6.27323610, -0.00038951, 0.00023862, 7.27284659, 0.99881019, 0.99937188, 0.49324345],\
+-[	-6.27323622, -0.00038946, 0.00023859, 7.27284676, 0.99881034, 0.99937196, 0.49324353],\
+-[	-6.27323633, -0.00038941, 0.00023856, 7.27284693, 0.99881049, 0.99937204, 0.49324361],\
+-[	-6.27323645, -0.00038936, 0.00023853, 7.27284709, 0.99881064, 0.99937211, 0.49324364],\
+-[	-6.27323657, -0.00038931, 0.00023850, 7.27284726, 0.99881079, 0.99937219, 0.49324360],\
+-[	-6.27323669, -0.00038926, 0.00023847, 7.27284743, 0.99881094, 0.99937227, 0.49324354],\
+-[	-6.27323680, -0.00038921, 0.00023844, 7.27284759, 0.99881109, 0.99937235, 0.49324359],\
+-[	-6.27323692, -0.00038916, 0.00023841, 7.27284776, 0.99881124, 0.99937243, 0.49324355],\
+-[	-6.27323704, -0.00038911, 0.00023838, 7.27284792, 0.99881139, 0.99937251, 0.49324369],\
+-[	-6.27323715, -0.00038907, 0.00023835, 7.27284809, 0.99881154, 0.99937259, 0.49324366],\
+-[	-6.27323727, -0.00038902, 0.00023832, 7.27284826, 0.99881169, 0.99937267, 0.49324363],\
+-[	-6.27323739, -0.00038897, 0.00023829, 7.27284842, 0.99881184, 0.99937275, 0.49324368],\
+-[	-6.27323751, -0.00038892, 0.00023826, 7.27284859, 0.99881198, 0.99937282, 0.49324385],\
+-[	-6.27323762, -0.00038887, 0.00023823, 7.27284875, 0.99881213, 0.99937290, 0.49324375],\
+-[	-6.27323774, -0.00038882, 0.00023820, 7.27284892, 0.99881228, 0.99937298, 0.49324381],\
+-[	-6.27323786, -0.00038877, 0.00023817, 7.27284908, 0.99881243, 0.99937306, 0.49324383],\
+-[	-6.27323797, -0.00038872, 0.00023814, 7.27284925, 0.99881258, 0.99937314, 0.49324389],\
+-[	-6.27323809, -0.00038867, 0.00023811, 7.27284942, 0.99881273, 0.99937322, 0.49324387],\
+-[	-6.27323821, -0.00038863, 0.00023808, 7.27284958, 0.99881288, 0.99937330, 0.49324385],\
+-[	-6.27323832, -0.00038858, 0.00023805, 7.27284975, 0.99881303, 0.99937338, 0.49324378],\
+-[	-6.27323844, -0.00038853, 0.00023802, 7.27284991, 0.99881318, 0.99937345, 0.49324377],\
+-[	-6.27323856, -0.00038848, 0.00023799, 7.27285008, 0.99881333, 0.99937353, 0.49324388],\
+-[	-6.27323867, -0.00038843, 0.00023796, 7.27285024, 0.99881348, 0.99937361, 0.49324392],\
+-[	-6.27323879, -0.00038838, 0.00023793, 7.27285041, 0.99881362, 0.99937369, 0.49324396],\
+-[	-6.27323891, -0.00038833, 0.00023790, 7.27285057, 0.99881377, 0.99937377, 0.49324387],\
+-[	-6.27323902, -0.00038828, 0.00023787, 7.27285074, 0.99881392, 0.99937385, 0.49324395],\
+-[	-6.27323914, -0.00038824, 0.00023784, 7.27285090, 0.99881407, 0.99937393, 0.49324401],\
+-[	-6.27323926, -0.00038819, 0.00023781, 7.27285107, 0.99881422, 0.99937400, 0.49324397],\
+-[	-6.27323937, -0.00038814, 0.00023778, 7.27285124, 0.99881437, 0.99937408, 0.49324409],\
+-[	-6.27323949, -0.00038809, 0.00023775, 7.27285140, 0.99881452, 0.99937416, 0.49324390],\
+-[	-6.27323961, -0.00038804, 0.00023772, 7.27285157, 0.99881467, 0.99937424, 0.49324412],\
+-[	-6.27323972, -0.00038799, 0.00023769, 7.27285173, 0.99881481, 0.99937432, 0.49324405],\
+-[	-6.27323984, -0.00038794, 0.00023766, 7.27285190, 0.99881496, 0.99937440, 0.49324413],\
+-[	-6.27323996, -0.00038789, 0.00023763, 7.27285206, 0.99881511, 0.99937448, 0.49324398],\
+-[	-6.27324007, -0.00038785, 0.00023760, 7.27285223, 0.99881526, 0.99937455, 0.49324408],\
+-[	-6.27324019, -0.00038780, 0.00023757, 7.27285239, 0.99881541, 0.99937463, 0.49324411],\
+-[	-6.27324030, -0.00038775, 0.00023754, 7.27285256, 0.99881556, 0.99937471, 0.49324404],\
+-[	-6.27324042, -0.00038770, 0.00023751, 7.27285272, 0.99881571, 0.99937479, 0.49324417],\
+-[	-6.27324054, -0.00038765, 0.00023748, 7.27285289, 0.99881585, 0.99937487, 0.49324417],\
+-[	-6.27324065, -0.00038760, 0.00023745, 7.27285305, 0.99881600, 0.99937495, 0.49324417],\
+-[	-6.27324077, -0.00038755, 0.00023742, 7.27285321, 0.99881615, 0.99937502, 0.49324410],\
+-[	-6.27324089, -0.00038751, 0.00023739, 7.27285338, 0.99881630, 0.99937510, 0.49324415],\
+-[	-6.27324100, -0.00038746, 0.00023736, 7.27285354, 0.99881645, 0.99937518, 0.49324415],\
+-[	-6.27324112, -0.00038741, 0.00023733, 7.27285371, 0.99881660, 0.99937526, 0.49324428],\
+-[	-6.27324123, -0.00038736, 0.00023730, 7.27285387, 0.99881674, 0.99937534, 0.49324427],\
+-[	-6.27324135, -0.00038731, 0.00023727, 7.27285404, 0.99881689, 0.99937541, 0.49324429],\
+-[	-6.27324147, -0.00038726, 0.00023724, 7.27285420, 0.99881704, 0.99937549, 0.49324429],\
+-[	-6.27324158, -0.00038722, 0.00023721, 7.27285437, 0.99881719, 0.99937557, 0.49324431],\
+-[	-6.27324170, -0.00038717, 0.00023718, 7.27285453, 0.99881734, 0.99937565, 0.49324418],\
+-[	-6.27324181, -0.00038712, 0.00023715, 7.27285469, 0.99881748, 0.99937573, 0.49324436],\
+-[	-6.27324193, -0.00038707, 0.00023712, 7.27285486, 0.99881763, 0.99937581, 0.49324427],\
+-[	-6.27324205, -0.00038702, 0.00023709, 7.27285502, 0.99881778, 0.99937588, 0.49324438],\
+-[	-6.27324216, -0.00038697, 0.00023706, 7.27285519, 0.99881793, 0.99937596, 0.49324441],\
+-[	-6.27324228, -0.00038693, 0.00023704, 7.27285535, 0.99881807, 0.99937604, 0.49324425],\
+-[	-6.27324239, -0.00038688, 0.00023701, 7.27285552, 0.99881822, 0.99937612, 0.49324444],\
+-[	-6.27324251, -0.00038683, 0.00023698, 7.27285568, 0.99881837, 0.99937620, 0.49324437],\
+-[	-6.27324262, -0.00038678, 0.00023695, 7.27285584, 0.99881852, 0.99937627, 0.49324451],\
+-[	-6.27324274, -0.00038673, 0.00023692, 7.27285601, 0.99881867, 0.99937635, 0.49324443],\
+-[	-6.27324286, -0.00038668, 0.00023689, 7.27285617, 0.99881881, 0.99937643, 0.49324463],\
+-[	-6.27324297, -0.00038664, 0.00023686, 7.27285634, 0.99881896, 0.99937651, 0.49324464],\
+-[	-6.27324309, -0.00038659, 0.00023683, 7.27285650, 0.99881911, 0.99937659, 0.49324460],\
+-[	-6.27324320, -0.00038654, 0.00023680, 7.27285666, 0.99881926, 0.99937666, 0.49324474],\
+-[	-6.27324332, -0.00038649, 0.00023677, 7.27285683, 0.99881940, 0.99937674, 0.49324457],\
+-[	-6.27324343, -0.00038644, 0.00023674, 7.27285699, 0.99881955, 0.99937682, 0.49324464],\
+-[	-6.27324355, -0.00038639, 0.00023671, 7.27285716, 0.99881970, 0.99937690, 0.49324452],\
+-[	-6.27324366, -0.00038635, 0.00023668, 7.27285732, 0.99881985, 0.99937697, 0.49324451],\
+-[	-6.27324378, -0.00038630, 0.00023665, 7.27285748, 0.99881999, 0.99937705, 0.49324463],\
+-[	-6.27324390, -0.00038625, 0.00023662, 7.27285765, 0.99882014, 0.99937713, 0.49324460],\
+-[	-6.27324401, -0.00038620, 0.00023659, 7.27285781, 0.99882029, 0.99937721, 0.49324461],\
+-[	-6.27324413, -0.00038615, 0.00023656, 7.27285797, 0.99882043, 0.99937729, 0.49324473],\
+-[	-6.27324424, -0.00038610, 0.00023653, 7.27285814, 0.99882058, 0.99937736, 0.49324474],\
+-[	-6.27324436, -0.00038606, 0.00023650, 7.27285830, 0.99882073, 0.99937744, 0.49324465],\
+-[	-6.27324447, -0.00038601, 0.00023647, 7.27285846, 0.99882088, 0.99937752, 0.49324475],\
+-[	-6.27324459, -0.00038596, 0.00023644, 7.27285863, 0.99882102, 0.99937760, 0.49324482],\
+-[	-6.27324470, -0.00038591, 0.00023641, 7.27285879, 0.99882117, 0.99937767, 0.49324468],\
+-[	-6.27324482, -0.00038586, 0.00023638, 7.27285895, 0.99882132, 0.99937775, 0.49324472],\
+-[	-6.27324493, -0.00038582, 0.00023636, 7.27285912, 0.99882146, 0.99937783, 0.49324478],\
+-[	-6.27324505, -0.00038577, 0.00023633, 7.27285928, 0.99882161, 0.99937791, 0.49324486],\
+-[	-6.27324516, -0.00038572, 0.00023630, 7.27285944, 0.99882176, 0.99937798, 0.49324500],\
+-[	-6.27324528, -0.00038567, 0.00023627, 7.27285961, 0.99882190, 0.99937806, 0.49324482],\
+-[	-6.27324539, -0.00038562, 0.00023624, 7.27285977, 0.99882205, 0.99937814, 0.49324496],\
+-[	-6.27324551, -0.00038558, 0.00023621, 7.27285993, 0.99882220, 0.99937822, 0.49324495],\
+-[	-6.27324562, -0.00038553, 0.00023618, 7.27286009, 0.99882234, 0.99937829, 0.49324492],\
+-[	-6.27324574, -0.00038548, 0.00023615, 7.27286026, 0.99882249, 0.99937837, 0.49324476],\
+-[	-6.27324585, -0.00038543, 0.00023612, 7.27286042, 0.99882264, 0.99937845, 0.49324499],\
+-[	-6.27324597, -0.00038538, 0.00023609, 7.27286058, 0.99882278, 0.99937853, 0.49324495],\
+-[	-6.27324608, -0.00038534, 0.00023606, 7.27286075, 0.99882293, 0.99937860, 0.49324497],\
+-[	-6.27324620, -0.00038529, 0.00023603, 7.27286091, 0.99882308, 0.99937868, 0.49324499],\
+-[	-6.27324631, -0.00038524, 0.00023600, 7.27286107, 0.99882322, 0.99937876, 0.49324496],\
+-[	-6.27324643, -0.00038519, 0.00023597, 7.27286123, 0.99882337, 0.99937884, 0.49324507],\
+-[	-6.27324654, -0.00038514, 0.00023594, 7.27286140, 0.99882352, 0.99937891, 0.49324506],\
+-[	-6.27324666, -0.00038510, 0.00023591, 7.27286156, 0.99882366, 0.99937899, 0.49324519],\
+-[	-6.27324677, -0.00038505, 0.00023588, 7.27286172, 0.99882381, 0.99937907, 0.49324510],\
+-[	-6.27324689, -0.00038500, 0.00023586, 7.27286188, 0.99882396, 0.99937914, 0.49324509],\
+-[	-6.27324700, -0.00038495, 0.00023583, 7.27286205, 0.99882410, 0.99937922, 0.49324510],\
+-[	-6.27324711, -0.00038490, 0.00023580, 7.27286221, 0.99882425, 0.99937930, 0.49324517],\
+-[	-6.27324723, -0.00038486, 0.00023577, 7.27286237, 0.99882440, 0.99937938, 0.49324527],\
+-[	-6.27324734, -0.00038481, 0.00023574, 7.27286253, 0.99882454, 0.99937945, 0.49324519],\
+-[	-6.27324746, -0.00038476, 0.00023571, 7.27286270, 0.99882469, 0.99937953, 0.49324516],\
+-[	-6.27324757, -0.00038471, 0.00023568, 7.27286286, 0.99882483, 0.99937961, 0.49324513],\
+-[	-6.27324769, -0.00038467, 0.00023565, 7.27286302, 0.99882498, 0.99937968, 0.49324519],\
+-[	-6.27324780, -0.00038462, 0.00023562, 7.27286318, 0.99882513, 0.99937976, 0.49324509],\
+-[	-6.27324792, -0.00038457, 0.00023559, 7.27286335, 0.99882527, 0.99937984, 0.49324532],\
+-[	-6.27324803, -0.00038452, 0.00023556, 7.27286351, 0.99882542, 0.99937992, 0.49324518],\
+-[	-6.27324814, -0.00038447, 0.00023553, 7.27286367, 0.99882556, 0.99937999, 0.49324537],\
+-[	-6.27324826, -0.00038443, 0.00023550, 7.27286383, 0.99882571, 0.99938007, 0.49324536],\
+-[	-6.27324837, -0.00038438, 0.00023547, 7.27286399, 0.99882586, 0.99938015, 0.49324540],\
+-[	-6.27324849, -0.00038433, 0.00023545, 7.27286416, 0.99882600, 0.99938022, 0.49324531],\
+-[	-6.27324860, -0.00038428, 0.00023542, 7.27286432, 0.99882615, 0.99938030, 0.49324544],\
+-[	-6.27324872, -0.00038424, 0.00023539, 7.27286448, 0.99882629, 0.99938038, 0.49324534],\
+-[	-6.27324883, -0.00038419, 0.00023536, 7.27286464, 0.99882644, 0.99938045, 0.49324551],\
+-[	-6.27324894, -0.00038414, 0.00023533, 7.27286480, 0.99882658, 0.99938053, 0.49324541],\
+-[	-6.27324906, -0.00038409, 0.00023530, 7.27286497, 0.99882673, 0.99938061, 0.49324551],\
+-[	-6.27324917, -0.00038405, 0.00023527, 7.27286513, 0.99882688, 0.99938068, 0.49324541],\
+-[	-6.27324929, -0.00038400, 0.00023524, 7.27286529, 0.99882702, 0.99938076, 0.49324543],\
+-[	-6.27324940, -0.00038395, 0.00023521, 7.27286545, 0.99882717, 0.99938084, 0.49324548],\
+-[	-6.27324951, -0.00038390, 0.00023518, 7.27286561, 0.99882731, 0.99938092, 0.49324547],\
+-[	-6.27324963, -0.00038385, 0.00023515, 7.27286577, 0.99882746, 0.99938099, 0.49324552],\
+-[	-6.27324974, -0.00038381, 0.00023512, 7.27286594, 0.99882760, 0.99938107, 0.49324561],\
+-[	-6.27324986, -0.00038376, 0.00023509, 7.27286610, 0.99882775, 0.99938115, 0.49324575],\
+-[	-6.27324997, -0.00038371, 0.00023507, 7.27286626, 0.99882789, 0.99938122, 0.49324555],\
+-[	-6.27325008, -0.00038366, 0.00023504, 7.27286642, 0.99882804, 0.99938130, 0.49324561],\
+-[	-6.27325020, -0.00038362, 0.00023501, 7.27286658, 0.99882818, 0.99938138, 0.49324560],\
+-[	-6.27325031, -0.00038357, 0.00023498, 7.27286674, 0.99882833, 0.99938145, 0.49324567],\
+-[	-6.27325043, -0.00038352, 0.00023495, 7.27286690, 0.99882847, 0.99938153, 0.49324557],\
+-[	-6.27325054, -0.00038347, 0.00023492, 7.27286706, 0.99882862, 0.99938161, 0.49324572],\
+-[	-6.27325065, -0.00038343, 0.00023489, 7.27286723, 0.99882877, 0.99938168, 0.49324570],\
+-[	-6.27325077, -0.00038338, 0.00023486, 7.27286739, 0.99882891, 0.99938176, 0.49324576],\
+-[	-6.27325088, -0.00038333, 0.00023483, 7.27286755, 0.99882906, 0.99938184, 0.49324591],\
+-[	-6.27325099, -0.00038328, 0.00023480, 7.27286771, 0.99882920, 0.99938191, 0.49324569],\
+-[	-6.27325111, -0.00038324, 0.00023477, 7.27286787, 0.99882935, 0.99938199, 0.49324559],\
+-[	-6.27325122, -0.00038319, 0.00023475, 7.27286803, 0.99882949, 0.99938207, 0.49324564],\
+-[	-6.27325133, -0.00038314, 0.00023472, 7.27286819, 0.99882964, 0.99938214, 0.49324576],\
+-[	-6.27325145, -0.00038309, 0.00023469, 7.27286835, 0.99882978, 0.99938222, 0.49324581],\
+-[	-6.27325156, -0.00038305, 0.00023466, 7.27286851, 0.99882993, 0.99938229, 0.49324590],\
+-[	-6.27325168, -0.00038300, 0.00023463, 7.27286868, 0.99883007, 0.99938237, 0.49324573],\
+-[	-6.27325179, -0.00038295, 0.00023460, 7.27286884, 0.99883021, 0.99938245, 0.49324578],\
+-[	-6.27325190, -0.00038291, 0.00023457, 7.27286900, 0.99883036, 0.99938252, 0.49324585],\
+-[	-6.27325202, -0.00038286, 0.00023454, 7.27286916, 0.99883050, 0.99938260, 0.49324579],\
+-[	-6.27325213, -0.00038281, 0.00023451, 7.27286932, 0.99883065, 0.99938268, 0.49324589],\
+-[	-6.27325224, -0.00038276, 0.00023448, 7.27286948, 0.99883079, 0.99938275, 0.49324588],\
+-[	-6.27325236, -0.00038272, 0.00023446, 7.27286964, 0.99883094, 0.99938283, 0.49324586],\
+-[	-6.27325247, -0.00038267, 0.00023443, 7.27286980, 0.99883108, 0.99938291, 0.49324588],\
+-[	-6.27325258, -0.00038262, 0.00023440, 7.27286996, 0.99883123, 0.99938298, 0.49324600],\
+-[	-6.27325269, -0.00038257, 0.00023437, 7.27287012, 0.99883137, 0.99938306, 0.49324602],\
+-[	-6.27325281, -0.00038253, 0.00023434, 7.27287028, 0.99883152, 0.99938313, 0.49324593],\
+-[	-6.27325292, -0.00038248, 0.00023431, 7.27287044, 0.99883166, 0.99938321, 0.49324600],\
+-[	-6.27325303, -0.00038243, 0.00023428, 7.27287060, 0.99883180, 0.99938329, 0.49324594],\
+-[	-6.27325315, -0.00038238, 0.00023425, 7.27287076, 0.99883195, 0.99938336, 0.49324594],\
+-[	-6.27325326, -0.00038234, 0.00023422, 7.27287092, 0.99883209, 0.99938344, 0.49324616],\
+-[	-6.27325337, -0.00038229, 0.00023419, 7.27287108, 0.99883224, 0.99938352, 0.49324609],\
+-[	-6.27325349, -0.00038224, 0.00023417, 7.27287124, 0.99883238, 0.99938359, 0.49324615],\
+-[	-6.27325360, -0.00038220, 0.00023414, 7.27287140, 0.99883253, 0.99938367, 0.49324616],\
+-[	-6.27325371, -0.00038215, 0.00023411, 7.27287156, 0.99883267, 0.99938374, 0.49324616],\
+-[	-6.27325383, -0.00038210, 0.00023408, 7.27287172, 0.99883281, 0.99938382, 0.49324603],\
+-[	-6.27325394, -0.00038205, 0.00023405, 7.27287188, 0.99883296, 0.99938390, 0.49324614],\
+-[	-6.27325405, -0.00038201, 0.00023402, 7.27287204, 0.99883310, 0.99938397, 0.49324629],\
+-[	-6.27325416, -0.00038196, 0.00023399, 7.27287220, 0.99883325, 0.99938405, 0.49324628],\
+-[	-6.27325428, -0.00038191, 0.00023396, 7.27287236, 0.99883339, 0.99938412, 0.49324634],\
+-[	-6.27325439, -0.00038187, 0.00023393, 7.27287252, 0.99883353, 0.99938420, 0.49324618],\
+-[	-6.27325450, -0.00038182, 0.00023391, 7.27287268, 0.99883368, 0.99938428, 0.49324620],\
+-[	-6.27325462, -0.00038177, 0.00023388, 7.27287284, 0.99883382, 0.99938435, 0.49324621],\
+-[	-6.27325473, -0.00038172, 0.00023385, 7.27287300, 0.99883397, 0.99938443, 0.49324620],\
+-[	-6.27325484, -0.00038168, 0.00023382, 7.27287316, 0.99883411, 0.99938450, 0.49324631],\
+-[	-6.27325495, -0.00038163, 0.00023379, 7.27287332, 0.99883425, 0.99938458, 0.49324616],\
+-[	-6.27325507, -0.00038158, 0.00023376, 7.27287348, 0.99883440, 0.99938466, 0.49324629],\
+-[	-6.27325518, -0.00038154, 0.00023373, 7.27287364, 0.99883454, 0.99938473, 0.49324635],\
+-[	-6.27325529, -0.00038149, 0.00023370, 7.27287380, 0.99883469, 0.99938481, 0.49324648],\
+-[	-6.27325540, -0.00038144, 0.00023367, 7.27287396, 0.99883483, 0.99938488, 0.49324638],\
+-[	-6.27325552, -0.00038140, 0.00023365, 7.27287412, 0.99883497, 0.99938496, 0.49324637],\
+-[	-6.27325563, -0.00038135, 0.00023362, 7.27287428, 0.99883512, 0.99938503, 0.49324641],\
+-[	-6.27325574, -0.00038130, 0.00023359, 7.27287444, 0.99883526, 0.99938511, 0.49324645],\
+-[	-6.27325585, -0.00038125, 0.00023356, 7.27287460, 0.99883540, 0.99938519, 0.49324647],\
+-[	-6.27325597, -0.00038121, 0.00023353, 7.27287476, 0.99883555, 0.99938526, 0.49324642],\
+-[	-6.27325608, -0.00038116, 0.00023350, 7.27287492, 0.99883569, 0.99938534, 0.49324651],\
+-[	-6.27325619, -0.00038111, 0.00023347, 7.27287508, 0.99883583, 0.99938541, 0.49324649],\
+-[	-6.27325630, -0.00038107, 0.00023344, 7.27287524, 0.99883598, 0.99938549, 0.49324647],\
+-[	-6.27325642, -0.00038102, 0.00023342, 7.27287540, 0.99883612, 0.99938556, 0.49324658],\
+-[	-6.27325653, -0.00038097, 0.00023339, 7.27287555, 0.99883626, 0.99938564, 0.49324664],\
+-[	-6.27325664, -0.00038093, 0.00023336, 7.27287571, 0.99883641, 0.99938572, 0.49324649],\
+-[	-6.27325675, -0.00038088, 0.00023333, 7.27287587, 0.99883655, 0.99938579, 0.49324658],\
+-[	-6.27325686, -0.00038083, 0.00023330, 7.27287603, 0.99883669, 0.99938587, 0.49324653],\
+-[	-6.27325698, -0.00038079, 0.00023327, 7.27287619, 0.99883684, 0.99938594, 0.49324658],\
+-[	-6.27325709, -0.00038074, 0.00023324, 7.27287635, 0.99883698, 0.99938602, 0.49324649],\
+-[	-6.27325720, -0.00038069, 0.00023321, 7.27287651, 0.99883712, 0.99938609, 0.49324663],\
+-[	-6.27325731, -0.00038065, 0.00023319, 7.27287667, 0.99883727, 0.99938617, 0.49324670],\
+-[	-6.27325742, -0.00038060, 0.00023316, 7.27287683, 0.99883741, 0.99938624, 0.49324665],\
+-[	-6.27325754, -0.00038055, 0.00023313, 7.27287699, 0.99883755, 0.99938632, 0.49324681],\
+-[	-6.27325765, -0.00038050, 0.00023310, 7.27287714, 0.99883769, 0.99938640, 0.49324678],\
+-[	-6.27325776, -0.00038046, 0.00023307, 7.27287730, 0.99883784, 0.99938647, 0.49324668],\
+-[	-6.27325787, -0.00038041, 0.00023304, 7.27287746, 0.99883798, 0.99938655, 0.49324676],\
+-[	-6.27325798, -0.00038036, 0.00023301, 7.27287762, 0.99883812, 0.99938662, 0.49324679],\
+-[	-6.27325810, -0.00038032, 0.00023299, 7.27287778, 0.99883827, 0.99938670, 0.49324680],\
+-[	-6.27325821, -0.00038027, 0.00023296, 7.27287794, 0.99883841, 0.99938677, 0.49324686],\
+-[	-6.27325832, -0.00038022, 0.00023293, 7.27287810, 0.99883855, 0.99938685, 0.49324703],\
+-[	-6.27325843, -0.00038018, 0.00023290, 7.27287825, 0.99883869, 0.99938692, 0.49324683],\
+-[	-6.27325854, -0.00038013, 0.00023287, 7.27287841, 0.99883884, 0.99938700, 0.49324688],\
+-[	-6.27325866, -0.00038008, 0.00023284, 7.27287857, 0.99883898, 0.99938707, 0.49324687],\
+-[	-6.27325877, -0.00038004, 0.00023281, 7.27287873, 0.99883912, 0.99938715, 0.49324692],\
+-[	-6.27325888, -0.00037999, 0.00023279, 7.27287889, 0.99883926, 0.99938722, 0.49324678],\
+-[	-6.27325899, -0.00037994, 0.00023276, 7.27287905, 0.99883941, 0.99938730, 0.49324693],\
+-[	-6.27325910, -0.00037990, 0.00023273, 7.27287920, 0.99883955, 0.99938737, 0.49324693],\
+-[	-6.27325921, -0.00037985, 0.00023270, 7.27287936, 0.99883969, 0.99938745, 0.49324695],\
+-[	-6.27325932, -0.00037980, 0.00023267, 7.27287952, 0.99883983, 0.99938752, 0.49324704],\
+-[	-6.27325944, -0.00037976, 0.00023264, 7.27287968, 0.99883998, 0.99938760, 0.49324699],\
+-[	-6.27325955, -0.00037971, 0.00023261, 7.27287984, 0.99884012, 0.99938768, 0.49324702],\
+-[	-6.27325966, -0.00037966, 0.00023259, 7.27287999, 0.99884026, 0.99938775, 0.49324694],\
+-[	-6.27325977, -0.00037962, 0.00023256, 7.27288015, 0.99884040, 0.99938783, 0.49324708],\
+-[	-6.27325988, -0.00037957, 0.00023253, 7.27288031, 0.99884055, 0.99938790, 0.49324716],\
+-[	-6.27325999, -0.00037953, 0.00023250, 7.27288047, 0.99884069, 0.99938798, 0.49324712],\
+-[	-6.27326011, -0.00037948, 0.00023247, 7.27288063, 0.99884083, 0.99938805, 0.49324715],\
+-[	-6.27326022, -0.00037943, 0.00023244, 7.27288078, 0.99884097, 0.99938813, 0.49324707],\
+-[	-6.27326033, -0.00037939, 0.00023241, 7.27288094, 0.99884111, 0.99938820, 0.49324704],\
+-[	-6.27326044, -0.00037934, 0.00023239, 7.27288110, 0.99884126, 0.99938828, 0.49324718],\
+-[	-6.27326055, -0.00037929, 0.00023236, 7.27288126, 0.99884140, 0.99938835, 0.49324714],\
+-[	-6.27326066, -0.00037925, 0.00023233, 7.27288142, 0.99884154, 0.99938843, 0.49324726],\
+-[	-6.27326077, -0.00037920, 0.00023230, 7.27288157, 0.99884168, 0.99938850, 0.49324702],\
+-[	-6.27326088, -0.00037915, 0.00023227, 7.27288173, 0.99884182, 0.99938858, 0.49324721],\
+-[	-6.27326100, -0.00037911, 0.00023224, 7.27288189, 0.99884197, 0.99938865, 0.49324723],\
+-[	-6.27326111, -0.00037906, 0.00023221, 7.27288205, 0.99884211, 0.99938873, 0.49324718],\
+-[	-6.27326122, -0.00037901, 0.00023219, 7.27288220, 0.99884225, 0.99938880, 0.49324712],\
+-[	-6.27326133, -0.00037897, 0.00023216, 7.27288236, 0.99884239, 0.99938887, 0.49324742],\
+-[	-6.27326144, -0.00037892, 0.00023213, 7.27288252, 0.99884253, 0.99938895, 0.49324731],\
+-[	-6.27326155, -0.00037887, 0.00023210, 7.27288268, 0.99884267, 0.99938902, 0.49324731],\
+-[	-6.27326166, -0.00037883, 0.00023207, 7.27288283, 0.99884282, 0.99938910, 0.49324735],\
+-[	-6.27326177, -0.00037878, 0.00023204, 7.27288299, 0.99884296, 0.99938917, 0.49324724],\
+-[	-6.27326188, -0.00037874, 0.00023202, 7.27288315, 0.99884310, 0.99938925, 0.49324733],\
+-[	-6.27326199, -0.00037869, 0.00023199, 7.27288331, 0.99884324, 0.99938932, 0.49324726],\
+-[	-6.27326211, -0.00037864, 0.00023196, 7.27288346, 0.99884338, 0.99938940, 0.49324734],\
+-[	-6.27326222, -0.00037860, 0.00023193, 7.27288362, 0.99884352, 0.99938947, 0.49324737],\
+-[	-6.27326233, -0.00037855, 0.00023190, 7.27288378, 0.99884367, 0.99938955, 0.49324746],\
+-[	-6.27326244, -0.00037850, 0.00023187, 7.27288393, 0.99884381, 0.99938962, 0.49324742],\
+-[	-6.27326255, -0.00037846, 0.00023185, 7.27288409, 0.99884395, 0.99938970, 0.49324750],\
+-[	-6.27326266, -0.00037841, 0.00023182, 7.27288425, 0.99884409, 0.99938977, 0.49324754],\
+-[	-6.27326277, -0.00037837, 0.00023179, 7.27288441, 0.99884423, 0.99938985, 0.49324741],\
+-[	-6.27326288, -0.00037832, 0.00023176, 7.27288456, 0.99884437, 0.99938992, 0.49324760],\
+-[	-6.27326299, -0.00037827, 0.00023173, 7.27288472, 0.99884451, 0.99939000, 0.49324751],\
+-[	-6.27326310, -0.00037823, 0.00023170, 7.27288488, 0.99884466, 0.99939007, 0.49324747],\
+-[	-6.27326321, -0.00037818, 0.00023168, 7.27288503, 0.99884480, 0.99939014, 0.49324756],\
+-[	-6.27326332, -0.00037813, 0.00023165, 7.27288519, 0.99884494, 0.99939022, 0.49324744],\
+-[	-6.27326343, -0.00037809, 0.00023162, 7.27288535, 0.99884508, 0.99939029, 0.49324765],\
+-[	-6.27326354, -0.00037804, 0.00023159, 7.27288550, 0.99884522, 0.99939037, 0.49324755],\
+-[	-6.27326366, -0.00037800, 0.00023156, 7.27288566, 0.99884536, 0.99939044, 0.49324760],\
+-[	-6.27326377, -0.00037795, 0.00023153, 7.27288582, 0.99884550, 0.99939052, 0.49324764],\
+-[	-6.27326388, -0.00037790, 0.00023151, 7.27288597, 0.99884564, 0.99939059, 0.49324764],\
+-[	-6.27326399, -0.00037786, 0.00023148, 7.27288613, 0.99884578, 0.99939067, 0.49324768],\
+-[	-6.27326410, -0.00037781, 0.00023145, 7.27288629, 0.99884592, 0.99939074, 0.49324772],\
+-[	-6.27326421, -0.00037777, 0.00023142, 7.27288644, 0.99884607, 0.99939081, 0.49324775],\
+-[	-6.27326432, -0.00037772, 0.00023139, 7.27288660, 0.99884621, 0.99939089, 0.49324763],\
+-[	-6.27326443, -0.00037767, 0.00023136, 7.27288676, 0.99884635, 0.99939096, 0.49324773],\
+-[	-6.27326454, -0.00037763, 0.00023134, 7.27288691, 0.99884649, 0.99939104, 0.49324770],\
+-[	-6.27326465, -0.00037758, 0.00023131, 7.27288707, 0.99884663, 0.99939111, 0.49324772],\
+-[	-6.27326476, -0.00037753, 0.00023128, 7.27288722, 0.99884677, 0.99939119, 0.49324778],\
+-[	-6.27326487, -0.00037749, 0.00023125, 7.27288738, 0.99884691, 0.99939126, 0.49324783],\
+-[	-6.27326498, -0.00037744, 0.00023122, 7.27288754, 0.99884705, 0.99939133, 0.49324780],\
+-[	-6.27326509, -0.00037740, 0.00023120, 7.27288769, 0.99884719, 0.99939141, 0.49324776],\
+-[	-6.27326520, -0.00037735, 0.00023117, 7.27288785, 0.99884733, 0.99939148, 0.49324786],\
+-[	-6.27326531, -0.00037730, 0.00023114, 7.27288801, 0.99884747, 0.99939156, 0.49324788],\
+-[	-6.27326542, -0.00037726, 0.00023111, 7.27288816, 0.99884761, 0.99939163, 0.49324776],\
+-[	-6.27326553, -0.00037721, 0.00023108, 7.27288832, 0.99884775, 0.99939171, 0.49324788],\
+-[	-6.27326564, -0.00037717, 0.00023105, 7.27288847, 0.99884789, 0.99939178, 0.49324801],\
+-[	-6.27326575, -0.00037712, 0.00023103, 7.27288863, 0.99884803, 0.99939185, 0.49324790],\
+-[	-6.27326586, -0.00037707, 0.00023100, 7.27288879, 0.99884817, 0.99939193, 0.49324783],\
+-[	-6.27326597, -0.00037703, 0.00023097, 7.27288894, 0.99884831, 0.99939200, 0.49324795],\
+-[	-6.27326608, -0.00037698, 0.00023094, 7.27288910, 0.99884846, 0.99939208, 0.49324808],\
+-[	-6.27326619, -0.00037694, 0.00023091, 7.27288925, 0.99884860, 0.99939215, 0.49324796],\
+-[	-6.27326630, -0.00037689, 0.00023089, 7.27288941, 0.99884874, 0.99939222, 0.49324802],\
+-[	-6.27326641, -0.00037685, 0.00023086, 7.27288956, 0.99884888, 0.99939230, 0.49324786],\
+-[	-6.27326652, -0.00037680, 0.00023083, 7.27288972, 0.99884902, 0.99939237, 0.49324795],\
+-[	-6.27326663, -0.00037675, 0.00023080, 7.27288988, 0.99884916, 0.99939245, 0.49324822],\
+-[	-6.27326674, -0.00037671, 0.00023077, 7.27289003, 0.99884930, 0.99939252, 0.49324803],\
+-[	-6.27326685, -0.00037666, 0.00023074, 7.27289019, 0.99884944, 0.99939259, 0.49324799],\
+-[	-6.27326696, -0.00037662, 0.00023072, 7.27289034, 0.99884958, 0.99939267, 0.49324798],\
+-[	-6.27326707, -0.00037657, 0.00023069, 7.27289050, 0.99884972, 0.99939274, 0.49324802],\
+-[	-6.27326718, -0.00037652, 0.00023066, 7.27289065, 0.99884986, 0.99939282, 0.49324803],\
+-[	-6.27326729, -0.00037648, 0.00023063, 7.27289081, 0.99885000, 0.99939289, 0.49324811],\
+-[	-6.27326740, -0.00037643, 0.00023060, 7.27289096, 0.99885014, 0.99939296, 0.49324817],\
+-[	-6.27326751, -0.00037639, 0.00023058, 7.27289112, 0.99885028, 0.99939304, 0.49324821],\
+-[	-6.27326762, -0.00037634, 0.00023055, 7.27289127, 0.99885042, 0.99939311, 0.49324821],\
+-[	-6.27326773, -0.00037630, 0.00023052, 7.27289143, 0.99885056, 0.99939318, 0.49324827],\
+-[	-6.27326783, -0.00037625, 0.00023049, 7.27289159, 0.99885070, 0.99939326, 0.49324820],\
+-[	-6.27326794, -0.00037620, 0.00023046, 7.27289174, 0.99885084, 0.99939333, 0.49324832],\
+-[	-6.27326805, -0.00037616, 0.00023044, 7.27289190, 0.99885097, 0.99939341, 0.49324834],\
+-[	-6.27326816, -0.00037611, 0.00023041, 7.27289205, 0.99885111, 0.99939348, 0.49324841],\
+-[	-6.27326827, -0.00037607, 0.00023038, 7.27289221, 0.99885125, 0.99939355, 0.49324834],\
+-[	-6.27326838, -0.00037602, 0.00023035, 7.27289236, 0.99885139, 0.99939363, 0.49324834],\
+-[	-6.27326849, -0.00037598, 0.00023032, 7.27289252, 0.99885153, 0.99939370, 0.49324836],\
+-[	-6.27326860, -0.00037593, 0.00023030, 7.27289267, 0.99885167, 0.99939377, 0.49324838],\
+-[	-6.27326871, -0.00037588, 0.00023027, 7.27289283, 0.99885181, 0.99939385, 0.49324843],\
+-[	-6.27326882, -0.00037584, 0.00023024, 7.27289298, 0.99885195, 0.99939392, 0.49324818],\
+-[	-6.27326893, -0.00037579, 0.00023021, 7.27289314, 0.99885209, 0.99939399, 0.49324852],\
+-[	-6.27326904, -0.00037575, 0.00023018, 7.27289329, 0.99885223, 0.99939407, 0.49324850],\
+-[	-6.27326915, -0.00037570, 0.00023016, 7.27289345, 0.99885237, 0.99939414, 0.49324851],\
+-[	-6.27326926, -0.00037566, 0.00023013, 7.27289360, 0.99885251, 0.99939422, 0.49324838],\
+-[	-6.27326937, -0.00037561, 0.00023010, 7.27289375, 0.99885265, 0.99939429, 0.49324847],\
+-[	-6.27326947, -0.00037557, 0.00023007, 7.27289391, 0.99885279, 0.99939436, 0.49324849],\
+-[	-6.27326958, -0.00037552, 0.00023004, 7.27289406, 0.99885293, 0.99939444, 0.49324851],\
+-[	-6.27326969, -0.00037547, 0.00023002, 7.27289422, 0.99885307, 0.99939451, 0.49324844],\
+-[	-6.27326980, -0.00037543, 0.00022999, 7.27289437, 0.99885321, 0.99939458, 0.49324862],\
+-[	-6.27326991, -0.00037538, 0.00022996, 7.27289453, 0.99885334, 0.99939466, 0.49324845],\
+-[	-6.27327002, -0.00037534, 0.00022993, 7.27289468, 0.99885348, 0.99939473, 0.49324866],\
+-[	-6.27327013, -0.00037529, 0.00022991, 7.27289484, 0.99885362, 0.99939480, 0.49324850],\
+-[	-6.27327024, -0.00037525, 0.00022988, 7.27289499, 0.99885376, 0.99939488, 0.49324874],\
+-[	-6.27327035, -0.00037520, 0.00022985, 7.27289514, 0.99885390, 0.99939495, 0.49324863],\
+-[	-6.27327045, -0.00037516, 0.00022982, 7.27289530, 0.99885404, 0.99939502, 0.49324861],\
+-[	-6.27327056, -0.00037511, 0.00022979, 7.27289545, 0.99885418, 0.99939510, 0.49324863],\
+-[	-6.27327067, -0.00037506, 0.00022977, 7.27289561, 0.99885432, 0.99939517, 0.49324878],\
+-[	-6.27327078, -0.00037502, 0.00022974, 7.27289576, 0.99885446, 0.99939524, 0.49324852],\
+-[	-6.27327089, -0.00037497, 0.00022971, 7.27289592, 0.99885459, 0.99939532, 0.49324868],\
+-[	-6.27327100, -0.00037493, 0.00022968, 7.27289607, 0.99885473, 0.99939539, 0.49324870],\
+-[	-6.27327111, -0.00037488, 0.00022965, 7.27289622, 0.99885487, 0.99939546, 0.49324867],\
+-[	-6.27327122, -0.00037484, 0.00022963, 7.27289638, 0.99885501, 0.99939554, 0.49324861],\
+-[	-6.27327132, -0.00037479, 0.00022960, 7.27289653, 0.99885515, 0.99939561, 0.49324879],\
+-[	-6.27327143, -0.00037475, 0.00022957, 7.27289669, 0.99885529, 0.99939568, 0.49324878],\
+-[	-6.27327154, -0.00037470, 0.00022954, 7.27289684, 0.99885543, 0.99939576, 0.49324873],\
+-[	-6.27327165, -0.00037466, 0.00022952, 7.27289699, 0.99885557, 0.99939583, 0.49324877],\
+-[	-6.27327176, -0.00037461, 0.00022949, 7.27289715, 0.99885570, 0.99939590, 0.49324893],\
+-[	-6.27327187, -0.00037457, 0.00022946, 7.27289730, 0.99885584, 0.99939597, 0.49324876],\
+-[	-6.27327198, -0.00037452, 0.00022943, 7.27289746, 0.99885598, 0.99939605, 0.49324876],\
+-[	-6.27327208, -0.00037447, 0.00022940, 7.27289761, 0.99885612, 0.99939612, 0.49324883],\
+-[	-6.27327219, -0.00037443, 0.00022938, 7.27289776, 0.99885626, 0.99939619, 0.49324897],\
+-[	-6.27327230, -0.00037438, 0.00022935, 7.27289792, 0.99885640, 0.99939627, 0.49324903],\
+-[	-6.27327241, -0.00037434, 0.00022932, 7.27289807, 0.99885653, 0.99939634, 0.49324897],\
+-[	-6.27327252, -0.00037429, 0.00022929, 7.27289822, 0.99885667, 0.99939641, 0.49324915],\
+-[	-6.27327263, -0.00037425, 0.00022927, 7.27289838, 0.99885681, 0.99939649, 0.49324899],\
+-[	-6.27327273, -0.00037420, 0.00022924, 7.27289853, 0.99885695, 0.99939656, 0.49324895],\
+-[	-6.27327284, -0.00037416, 0.00022921, 7.27289869, 0.99885709, 0.99939663, 0.49324901],\
+-[	-6.27327295, -0.00037411, 0.00022918, 7.27289884, 0.99885723, 0.99939671, 0.49324899],\
+-[	-6.27327306, -0.00037407, 0.00022915, 7.27289899, 0.99885736, 0.99939678, 0.49324910],\
+-[	-6.27327317, -0.00037402, 0.00022913, 7.27289915, 0.99885750, 0.99939685, 0.49324893],\
+-[	-6.27327328, -0.00037398, 0.00022910, 7.27289930, 0.99885764, 0.99939692, 0.49324897],\
+-[	-6.27327338, -0.00037393, 0.00022907, 7.27289945, 0.99885778, 0.99939700, 0.49324903],\
+-[	-6.27327349, -0.00037389, 0.00022904, 7.27289961, 0.99885792, 0.99939707, 0.49324907],\
+-[	-6.27327360, -0.00037384, 0.00022902, 7.27289976, 0.99885805, 0.99939714, 0.49324912],\
+-[	-6.27327371, -0.00037380, 0.00022899, 7.27289991, 0.99885819, 0.99939722, 0.49324911],\
+-[	-6.27327382, -0.00037375, 0.00022896, 7.27290007, 0.99885833, 0.99939729, 0.49324918],\
+-[	-6.27327392, -0.00037371, 0.00022893, 7.27290022, 0.99885847, 0.99939736, 0.49324911],\
+-[	-6.27327403, -0.00037366, 0.00022891, 7.27290037, 0.99885861, 0.99939743, 0.49324922],\
+-[	-6.27327414, -0.00037362, 0.00022888, 7.27290052, 0.99885874, 0.99939751, 0.49324912],\
+-[	-6.27327425, -0.00037357, 0.00022885, 7.27290068, 0.99885888, 0.99939758, 0.49324914],\
+-[	-6.27327436, -0.00037353, 0.00022882, 7.27290083, 0.99885902, 0.99939765, 0.49324919],\
+-[	-6.27327446, -0.00037348, 0.00022880, 7.27290098, 0.99885916, 0.99939772, 0.49324915],\
+-[	-6.27327457, -0.00037344, 0.00022877, 7.27290114, 0.99885929, 0.99939780, 0.49324920],\
+-[	-6.27327468, -0.00037339, 0.00022874, 7.27290129, 0.99885943, 0.99939787, 0.49324914],\
+-[	-6.27327479, -0.00037335, 0.00022871, 7.27290144, 0.99885957, 0.99939794, 0.49324927],\
+-[	-6.27327490, -0.00037330, 0.00022868, 7.27290160, 0.99885971, 0.99939801, 0.49324924],\
+-[	-6.27327500, -0.00037326, 0.00022866, 7.27290175, 0.99885984, 0.99939809, 0.49324926],\
+-[	-6.27327511, -0.00037321, 0.00022863, 7.27290190, 0.99885998, 0.99939816, 0.49324920],\
+-[	-6.27327522, -0.00037317, 0.00022860, 7.27290205, 0.99886012, 0.99939823, 0.49324932],\
+-[	-6.27327533, -0.00037312, 0.00022857, 7.27290221, 0.99886026, 0.99939831, 0.49324939],\
+-[	-6.27327543, -0.00037308, 0.00022855, 7.27290236, 0.99886039, 0.99939838, 0.49324946],\
+-[	-6.27327554, -0.00037303, 0.00022852, 7.27290251, 0.99886053, 0.99939845, 0.49324935],\
+-[	-6.27327565, -0.00037299, 0.00022849, 7.27290266, 0.99886067, 0.99939852, 0.49324930],\
+-[	-6.27327576, -0.00037294, 0.00022846, 7.27290282, 0.99886081, 0.99939860, 0.49324950],\
+-[	-6.27327586, -0.00037290, 0.00022844, 7.27290297, 0.99886094, 0.99939867, 0.49324938],\
+-[	-6.27327597, -0.00037285, 0.00022841, 7.27290312, 0.99886108, 0.99939874, 0.49324942],\
+-[	-6.27327608, -0.00037281, 0.00022838, 7.27290327, 0.99886122, 0.99939881, 0.49324944],\
+-[	-6.27327619, -0.00037276, 0.00022835, 7.27290343, 0.99886136, 0.99939888, 0.49324942],\
+-[	-6.27327629, -0.00037272, 0.00022833, 7.27290358, 0.99886149, 0.99939896, 0.49324940],\
+-[	-6.27327640, -0.00037267, 0.00022830, 7.27290373, 0.99886163, 0.99939903, 0.49324954],\
+-[	-6.27327651, -0.00037263, 0.00022827, 7.27290388, 0.99886177, 0.99939910, 0.49324936],\
+-[	-6.27327662, -0.00037258, 0.00022824, 7.27290404, 0.99886190, 0.99939917, 0.49324945],\
+-[	-6.27327672, -0.00037254, 0.00022822, 7.27290419, 0.99886204, 0.99939925, 0.49324953],\
+-[	-6.27327683, -0.00037249, 0.00022819, 7.27290434, 0.99886218, 0.99939932, 0.49324957],\
+-[	-6.27327694, -0.00037245, 0.00022816, 7.27290449, 0.99886231, 0.99939939, 0.49324952],\
+-[	-6.27327705, -0.00037240, 0.00022813, 7.27290464, 0.99886245, 0.99939946, 0.49324959],\
+-[	-6.27327715, -0.00037236, 0.00022811, 7.27290480, 0.99886259, 0.99939954, 0.49324957],\
+-[	-6.27327726, -0.00037231, 0.00022808, 7.27290495, 0.99886273, 0.99939961, 0.49324964],\
+-[	-6.27327737, -0.00037227, 0.00022805, 7.27290510, 0.99886286, 0.99939968, 0.49324963],\
+-[	-6.27327747, -0.00037222, 0.00022802, 7.27290525, 0.99886300, 0.99939975, 0.49324974],\
+-[	-6.27327758, -0.00037218, 0.00022800, 7.27290540, 0.99886314, 0.99939982, 0.49324966],\
+-[	-6.27327769, -0.00037213, 0.00022797, 7.27290556, 0.99886327, 0.99939990, 0.49324952],\
+-[	-6.27327780, -0.00037209, 0.00022794, 7.27290571, 0.99886341, 0.99939997, 0.49324969],\
+-[	-6.27327790, -0.00037204, 0.00022791, 7.27290586, 0.99886355, 0.99940004, 0.49324970],\
+-[	-6.27327801, -0.00037200, 0.00022789, 7.27290601, 0.99886368, 0.99940011, 0.49324976],\
+-[	-6.27327812, -0.00037195, 0.00022786, 7.27290616, 0.99886382, 0.99940019, 0.49324984],\
+-[	-6.27327822, -0.00037191, 0.00022783, 7.27290631, 0.99886396, 0.99940026, 0.49324963],\
+-[	-6.27327833, -0.00037187, 0.00022781, 7.27290647, 0.99886409, 0.99940033, 0.49324968],\
+-[	-6.27327844, -0.00037182, 0.00022778, 7.27290662, 0.99886423, 0.99940040, 0.49324978],\
+-[	-6.27327855, -0.00037178, 0.00022775, 7.27290677, 0.99886436, 0.99940047, 0.49324985],\
+-[	-6.27327865, -0.00037173, 0.00022772, 7.27290692, 0.99886450, 0.99940055, 0.49325000],\
+-[	-6.27327876, -0.00037169, 0.00022770, 7.27290707, 0.99886464, 0.99940062, 0.49324984],\
+-[	-6.27327887, -0.00037164, 0.00022767, 7.27290722, 0.99886477, 0.99940069, 0.49324982],\
+-[	-6.27327897, -0.00037160, 0.00022764, 7.27290737, 0.99886491, 0.99940076, 0.49324988],\
+-[	-6.27327908, -0.00037155, 0.00022761, 7.27290753, 0.99886505, 0.99940083, 0.49325015],\
+-[	-6.27327919, -0.00037151, 0.00022759, 7.27290768, 0.99886518, 0.99940091, 0.49324977],\
+-[	-6.27327929, -0.00037146, 0.00022756, 7.27290783, 0.99886532, 0.99940098, 0.49324993],\
+-[	-6.27327940, -0.00037142, 0.00022753, 7.27290798, 0.99886546, 0.99940105, 0.49325002],\
+-[	-6.27327951, -0.00037137, 0.00022750, 7.27290813, 0.99886559, 0.99940112, 0.49324999],\
+-[	-6.27327961, -0.00037133, 0.00022748, 7.27290828, 0.99886573, 0.99940119, 0.49325000],\
+-[	-6.27327972, -0.00037129, 0.00022745, 7.27290843, 0.99886586, 0.99940126, 0.49325006],\
+-[	-6.27327983, -0.00037124, 0.00022742, 7.27290858, 0.99886600, 0.99940134, 0.49324994],\
+-[	-6.27327993, -0.00037120, 0.00022740, 7.27290874, 0.99886614, 0.99940141, 0.49324986],\
+-[	-6.27328004, -0.00037115, 0.00022737, 7.27290889, 0.99886627, 0.99940148, 0.49325009],\
+-[	-6.27328015, -0.00037111, 0.00022734, 7.27290904, 0.99886641, 0.99940155, 0.49325012],\
+-[	-6.27328025, -0.00037106, 0.00022731, 7.27290919, 0.99886654, 0.99940162, 0.49325015],\
+-[	-6.27328036, -0.00037102, 0.00022729, 7.27290934, 0.99886668, 0.99940170, 0.49325010],\
+-[	-6.27328047, -0.00037097, 0.00022726, 7.27290949, 0.99886682, 0.99940177, 0.49325020],\
+-[	-6.27328057, -0.00037093, 0.00022723, 7.27290964, 0.99886695, 0.99940184, 0.49325004],\
+-[	-6.27328068, -0.00037089, 0.00022720, 7.27290979, 0.99886709, 0.99940191, 0.49325014],\
+-[	-6.27328078, -0.00037084, 0.00022718, 7.27290994, 0.99886722, 0.99940198, 0.49325025],\
+-[	-6.27328089, -0.00037080, 0.00022715, 7.27291009, 0.99886736, 0.99940205, 0.49325008],\
+-[	-6.27328100, -0.00037075, 0.00022712, 7.27291024, 0.99886749, 0.99940213, 0.49325032],\
+-[	-6.27328110, -0.00037071, 0.00022710, 7.27291040, 0.99886763, 0.99940220, 0.49325016],\
+-[	-6.27328121, -0.00037066, 0.00022707, 7.27291055, 0.99886777, 0.99940227, 0.49325010],\
+-[	-6.27328132, -0.00037062, 0.00022704, 7.27291070, 0.99886790, 0.99940234, 0.49325006],\
+-[	-6.27328142, -0.00037057, 0.00022701, 7.27291085, 0.99886804, 0.99940241, 0.49325022],\
+-[	-6.27328153, -0.00037053, 0.00022699, 7.27291100, 0.99886817, 0.99940248, 0.49325031],\
+-[	-6.27328163, -0.00037049, 0.00022696, 7.27291115, 0.99886831, 0.99940255, 0.49325037],\
+-[	-6.27328174, -0.00037044, 0.00022693, 7.27291130, 0.99886844, 0.99940263, 0.49325027],\
+-[	-6.27328185, -0.00037040, 0.00022691, 7.27291145, 0.99886858, 0.99940270, 0.49325034],\
+-[	-6.27328195, -0.00037035, 0.00022688, 7.27291160, 0.99886871, 0.99940277, 0.49325020],\
+-[	-6.27328206, -0.00037031, 0.00022685, 7.27291175, 0.99886885, 0.99940284, 0.49325035],\
+-[	-6.27328217, -0.00037026, 0.00022682, 7.27291190, 0.99886898, 0.99940291, 0.49325022],\
+-[	-6.27328227, -0.00037022, 0.00022680, 7.27291205, 0.99886912, 0.99940298, 0.49325038],\
+-[	-6.27328238, -0.00037018, 0.00022677, 7.27291220, 0.99886926, 0.99940305, 0.49325045],\
+-[	-6.27328248, -0.00037013, 0.00022674, 7.27291235, 0.99886939, 0.99940313, 0.49325055],\
+-[	-6.27328259, -0.00037009, 0.00022672, 7.27291250, 0.99886953, 0.99940320, 0.49325042],\
+-[	-6.27328269, -0.00037004, 0.00022669, 7.27291265, 0.99886966, 0.99940327, 0.49325036],\
+-[	-6.27328280, -0.00037000, 0.00022666, 7.27291280, 0.99886980, 0.99940334, 0.49325057],\
+-[	-6.27328291, -0.00036995, 0.00022663, 7.27291295, 0.99886993, 0.99940341, 0.49325047],\
+-[	-6.27328301, -0.00036991, 0.00022661, 7.27291310, 0.99887007, 0.99940348, 0.49325050],\
+-[	-6.27328312, -0.00036987, 0.00022658, 7.27291325, 0.99887020, 0.99940355, 0.49325044],\
+-[	-6.27328322, -0.00036982, 0.00022655, 7.27291340, 0.99887034, 0.99940363, 0.49325060],\
+-[	-6.27328333, -0.00036978, 0.00022653, 7.27291355, 0.99887047, 0.99940370, 0.49325046],\
+-[	-6.27328344, -0.00036973, 0.00022650, 7.27291370, 0.99887061, 0.99940377, 0.49325049],\
+-[	-6.27328354, -0.00036969, 0.00022647, 7.27291385, 0.99887074, 0.99940384, 0.49325054],\
+-[	-6.27328365, -0.00036965, 0.00022644, 7.27291400, 0.99887088, 0.99940391, 0.49325051],\
+-[	-6.27328375, -0.00036960, 0.00022642, 7.27291415, 0.99887101, 0.99940398, 0.49325068],\
+-[	-6.27328386, -0.00036956, 0.00022639, 7.27291430, 0.99887115, 0.99940405, 0.49325059],\
+-[	-6.27328396, -0.00036951, 0.00022636, 7.27291445, 0.99887128, 0.99940412, 0.49325082],\
+-[	-6.27328407, -0.00036947, 0.00022634, 7.27291460, 0.99887142, 0.99940419, 0.49325077],\
+-[	-6.27328418, -0.00036942, 0.00022631, 7.27291475, 0.99887155, 0.99940427, 0.49325076],\
+-[	-6.27328428, -0.00036938, 0.00022628, 7.27291490, 0.99887168, 0.99940434, 0.49325073],\
+-[	-6.27328439, -0.00036934, 0.00022626, 7.27291505, 0.99887182, 0.99940441, 0.49325073],\
+-[	-6.27328449, -0.00036929, 0.00022623, 7.27291520, 0.99887195, 0.99940448, 0.49325059],\
+-[	-6.27328460, -0.00036925, 0.00022620, 7.27291535, 0.99887209, 0.99940455, 0.49325071],\
+-[	-6.27328470, -0.00036920, 0.00022617, 7.27291550, 0.99887222, 0.99940462, 0.49325075],\
+-[	-6.27328481, -0.00036916, 0.00022615, 7.27291565, 0.99887236, 0.99940469, 0.49325074],\
+-[	-6.27328491, -0.00036912, 0.00022612, 7.27291580, 0.99887249, 0.99940476, 0.49325076],\
+-[	-6.27328502, -0.00036907, 0.00022609, 7.27291595, 0.99887263, 0.99940483, 0.49325069],\
+-[	-6.27328512, -0.00036903, 0.00022607, 7.27291610, 0.99887276, 0.99940491, 0.49325089],\
+-[	-6.27328523, -0.00036898, 0.00022604, 7.27291624, 0.99887290, 0.99940498, 0.49325087],\
+-[	-6.27328533, -0.00036894, 0.00022601, 7.27291639, 0.99887303, 0.99940505, 0.49325089],\
+-[	-6.27328544, -0.00036890, 0.00022599, 7.27291654, 0.99887316, 0.99940512, 0.49325087],\
+-[	-6.27328555, -0.00036885, 0.00022596, 7.27291669, 0.99887330, 0.99940519, 0.49325085],\
+-[	-6.27328565, -0.00036881, 0.00022593, 7.27291684, 0.99887343, 0.99940526, 0.49325080],\
+-[	-6.27328576, -0.00036876, 0.00022590, 7.27291699, 0.99887357, 0.99940533, 0.49325071],\
+-[	-6.27328586, -0.00036872, 0.00022588, 7.27291714, 0.99887370, 0.99940540, 0.49325095],\
+-[	-6.27328597, -0.00036868, 0.00022585, 7.27291729, 0.99887384, 0.99940547, 0.49325080],\
+-[	-6.27328607, -0.00036863, 0.00022582, 7.27291744, 0.99887397, 0.99940554, 0.49325088],\
+-[	-6.27328618, -0.00036859, 0.00022580, 7.27291759, 0.99887410, 0.99940561, 0.49325100],\
+-[	-6.27328628, -0.00036855, 0.00022577, 7.27291774, 0.99887424, 0.99940568, 0.49325106],\
+-[	-6.27328639, -0.00036850, 0.00022574, 7.27291789, 0.99887437, 0.99940576, 0.49325085],\
+-[	-6.27328649, -0.00036846, 0.00022572, 7.27291803, 0.99887451, 0.99940583, 0.49325087],\
+-[	-6.27328660, -0.00036841, 0.00022569, 7.27291818, 0.99887464, 0.99940590, 0.49325084],\
+-[	-6.27328670, -0.00036837, 0.00022566, 7.27291833, 0.99887477, 0.99940597, 0.49325118],\
+-[	-6.27328681, -0.00036833, 0.00022564, 7.27291848, 0.99887491, 0.99940604, 0.49325112],\
+-[	-6.27328691, -0.00036828, 0.00022561, 7.27291863, 0.99887504, 0.99940611, 0.49325104],\
+-[	-6.27328702, -0.00036824, 0.00022558, 7.27291878, 0.99887518, 0.99940618, 0.49325104],\
+-[	-6.27328712, -0.00036819, 0.00022556, 7.27291893, 0.99887531, 0.99940625, 0.49325116],\
+-[	-6.27328723, -0.00036815, 0.00022553, 7.27291907, 0.99887544, 0.99940632, 0.49325111],\
+-[	-6.27328733, -0.00036811, 0.00022550, 7.27291922, 0.99887558, 0.99940639, 0.49325116],\
+-[	-6.27328744, -0.00036806, 0.00022547, 7.27291937, 0.99887571, 0.99940646, 0.49325108],\
+-[	-6.27328754, -0.00036802, 0.00022545, 7.27291952, 0.99887584, 0.99940653, 0.49325111],\
+-[	-6.27328764, -0.00036798, 0.00022542, 7.27291967, 0.99887598, 0.99940660, 0.49325113],\
+-[	-6.27328775, -0.00036793, 0.00022539, 7.27291982, 0.99887611, 0.99940667, 0.49325130],\
+-[	-6.27328785, -0.00036789, 0.00022537, 7.27291997, 0.99887625, 0.99940674, 0.49325114],\
+-[	-6.27328796, -0.00036784, 0.00022534, 7.27292011, 0.99887638, 0.99940681, 0.49325125],\
+-[	-6.27328806, -0.00036780, 0.00022531, 7.27292026, 0.99887651, 0.99940689, 0.49325120],\
+-[	-6.27328817, -0.00036776, 0.00022529, 7.27292041, 0.99887665, 0.99940696, 0.49325118],\
+-[	-6.27328827, -0.00036771, 0.00022526, 7.27292056, 0.99887678, 0.99940703, 0.49325120],\
+-[	-6.27328838, -0.00036767, 0.00022523, 7.27292071, 0.99887691, 0.99940710, 0.49325135],\
+-[	-6.27328848, -0.00036763, 0.00022521, 7.27292086, 0.99887705, 0.99940717, 0.49325134],\
+-[	-6.27328859, -0.00036758, 0.00022518, 7.27292100, 0.99887718, 0.99940724, 0.49325139],\
+-[	-6.27328869, -0.00036754, 0.00022515, 7.27292115, 0.99887731, 0.99940731, 0.49325135],\
+-[	-6.27328880, -0.00036749, 0.00022513, 7.27292130, 0.99887745, 0.99940738, 0.49325126],\
+-[	-6.27328890, -0.00036745, 0.00022510, 7.27292145, 0.99887758, 0.99940745, 0.49325131],\
+-[	-6.27328900, -0.00036741, 0.00022507, 7.27292160, 0.99887771, 0.99940752, 0.49325136],\
+-[	-6.27328911, -0.00036736, 0.00022505, 7.27292174, 0.99887785, 0.99940759, 0.49325152],\
+-[	-6.27328921, -0.00036732, 0.00022502, 7.27292189, 0.99887798, 0.99940766, 0.49325159],\
+-[	-6.27328932, -0.00036728, 0.00022499, 7.27292204, 0.99887811, 0.99940773, 0.49325140],\
+-[	-6.27328942, -0.00036723, 0.00022497, 7.27292219, 0.99887825, 0.99940780, 0.49325141],\
+-[	-6.27328953, -0.00036719, 0.00022494, 7.27292234, 0.99887838, 0.99940787, 0.49325131],\
+-[	-6.27328963, -0.00036715, 0.00022491, 7.27292248, 0.99887851, 0.99940794, 0.49325145],\
+-[	-6.27328973, -0.00036710, 0.00022489, 7.27292263, 0.99887864, 0.99940801, 0.49325145],\
+-[	-6.27328984, -0.00036706, 0.00022486, 7.27292278, 0.99887878, 0.99940808, 0.49325157],\
+-[	-6.27328994, -0.00036702, 0.00022483, 7.27292293, 0.99887891, 0.99940815, 0.49325149],\
+-[	-6.27329005, -0.00036697, 0.00022481, 7.27292307, 0.99887904, 0.99940822, 0.49325164],\
+-[	-6.27329015, -0.00036693, 0.00022478, 7.27292322, 0.99887918, 0.99940829, 0.49325155],\
+-[	-6.27329025, -0.00036689, 0.00022475, 7.27292337, 0.99887931, 0.99940836, 0.49325164],\
+-[	-6.27329036, -0.00036684, 0.00022473, 7.27292352, 0.99887944, 0.99940843, 0.49325151],\
+-[	-6.27329046, -0.00036680, 0.00022470, 7.27292366, 0.99887958, 0.99940850, 0.49325168],\
+-[	-6.27329057, -0.00036675, 0.00022467, 7.27292381, 0.99887971, 0.99940857, 0.49325138],\
+-[	-6.27329067, -0.00036671, 0.00022465, 7.27292396, 0.99887984, 0.99940864, 0.49325171],\
+-[	-6.27329078, -0.00036667, 0.00022462, 7.27292411, 0.99887997, 0.99940871, 0.49325159],\
+-[	-6.27329088, -0.00036662, 0.00022459, 7.27292425, 0.99888011, 0.99940878, 0.49325160],\
+-[	-6.27329098, -0.00036658, 0.00022457, 7.27292440, 0.99888024, 0.99940885, 0.49325177],\
+-[	-6.27329109, -0.00036654, 0.00022454, 7.27292455, 0.99888037, 0.99940892, 0.49325177],\
+-[	-6.27329119, -0.00036649, 0.00022451, 7.27292470, 0.99888050, 0.99940899, 0.49325164],\
+-[	-6.27329129, -0.00036645, 0.00022449, 7.27292484, 0.99888064, 0.99940906, 0.49325172],\
+-[	-6.27329140, -0.00036641, 0.00022446, 7.27292499, 0.99888077, 0.99940913, 0.49325179],\
+-[	-6.27329150, -0.00036636, 0.00022443, 7.27292514, 0.99888090, 0.99940920, 0.49325181],\
+-[	-6.27329161, -0.00036632, 0.00022441, 7.27292529, 0.99888103, 0.99940927, 0.49325178],\
+-[	-6.27329171, -0.00036628, 0.00022438, 7.27292543, 0.99888117, 0.99940934, 0.49325178],\
+-[	-6.27329181, -0.00036623, 0.00022435, 7.27292558, 0.99888130, 0.99940941, 0.49325183],\
+-[	-6.27329192, -0.00036619, 0.00022433, 7.27292573, 0.99888143, 0.99940948, 0.49325179],\
+-[	-6.27329202, -0.00036615, 0.00022430, 7.27292587, 0.99888156, 0.99940955, 0.49325183],\
+-[	-6.27329212, -0.00036610, 0.00022427, 7.27292602, 0.99888170, 0.99940962, 0.49325178],\
+-[	-6.27329223, -0.00036606, 0.00022425, 7.27292617, 0.99888183, 0.99940969, 0.49325167],\
+-[	-6.27329233, -0.00036602, 0.00022422, 7.27292631, 0.99888196, 0.99940976, 0.49325180],\
+-[	-6.27329244, -0.00036597, 0.00022419, 7.27292646, 0.99888209, 0.99940983, 0.49325201],\
+-[	-6.27329254, -0.00036593, 0.00022417, 7.27292661, 0.99888222, 0.99940990, 0.49325190],\
+-[	-6.27329264, -0.00036589, 0.00022414, 7.27292675, 0.99888236, 0.99940997, 0.49325201],\
+-[	-6.27329275, -0.00036584, 0.00022412, 7.27292690, 0.99888249, 0.99941004, 0.49325203],\
+-[	-6.27329285, -0.00036580, 0.00022409, 7.27292705, 0.99888262, 0.99941011, 0.49325195],\
+-[	-6.27329295, -0.00036576, 0.00022406, 7.27292720, 0.99888275, 0.99941018, 0.49325194],\
+-[	-6.27329306, -0.00036571, 0.00022404, 7.27292734, 0.99888289, 0.99941025, 0.49325187],\
+-[	-6.27329316, -0.00036567, 0.00022401, 7.27292749, 0.99888302, 0.99941032, 0.49325203],\
+-[	-6.27329326, -0.00036563, 0.00022398, 7.27292764, 0.99888315, 0.99941039, 0.49325193],\
+-[	-6.27329337, -0.00036559, 0.00022396, 7.27292778, 0.99888328, 0.99941046, 0.49325192],\
+-[	-6.27329347, -0.00036554, 0.00022393, 7.27292793, 0.99888341, 0.99941053, 0.49325212],\
+-[	-6.27329357, -0.00036550, 0.00022390, 7.27292807, 0.99888355, 0.99941060, 0.49325192],\
+-[	-6.27329368, -0.00036546, 0.00022388, 7.27292822, 0.99888368, 0.99941067, 0.49325204],\
+-[	-6.27329378, -0.00036541, 0.00022385, 7.27292837, 0.99888381, 0.99941074, 0.49325210],\
+-[	-6.27329388, -0.00036537, 0.00022382, 7.27292851, 0.99888394, 0.99941081, 0.49325200],\
+-[	-6.27329399, -0.00036533, 0.00022380, 7.27292866, 0.99888407, 0.99941088, 0.49325216],\
+-[	-6.27329409, -0.00036528, 0.00022377, 7.27292881, 0.99888420, 0.99941095, 0.49325212],\
+-[	-6.27329419, -0.00036524, 0.00022374, 7.27292895, 0.99888434, 0.99941102, 0.49325214],\
+-[	-6.27329430, -0.00036520, 0.00022372, 7.27292910, 0.99888447, 0.99941108, 0.49325208],\
+-[	-6.27329440, -0.00036515, 0.00022369, 7.27292925, 0.99888460, 0.99941115, 0.49325230],\
+-[	-6.27329450, -0.00036511, 0.00022367, 7.27292939, 0.99888473, 0.99941122, 0.49325225],\
+-[	-6.27329461, -0.00036507, 0.00022364, 7.27292954, 0.99888486, 0.99941129, 0.49325212],\
+-[	-6.27329471, -0.00036502, 0.00022361, 7.27292968, 0.99888499, 0.99941136, 0.49325221],\
+-[	-6.27329481, -0.00036498, 0.00022359, 7.27292983, 0.99888513, 0.99941143, 0.49325215],\
+-[	-6.27329491, -0.00036494, 0.00022356, 7.27292998, 0.99888526, 0.99941150, 0.49325228],\
+-[	-6.27329502, -0.00036490, 0.00022353, 7.27293012, 0.99888539, 0.99941157, 0.49325236],\
+-[	-6.27329512, -0.00036485, 0.00022351, 7.27293027, 0.99888552, 0.99941164, 0.49325238],\
+-[	-6.27329522, -0.00036481, 0.00022348, 7.27293041, 0.99888565, 0.99941171, 0.49325230],\
+-[	-6.27329533, -0.00036477, 0.00022345, 7.27293056, 0.99888578, 0.99941178, 0.49325233],\
+-[	-6.27329543, -0.00036472, 0.00022343, 7.27293071, 0.99888591, 0.99941185, 0.49325243],\
+-[	-6.27329553, -0.00036468, 0.00022340, 7.27293085, 0.99888605, 0.99941192, 0.49325248],\
+-[	-6.27329564, -0.00036464, 0.00022338, 7.27293100, 0.99888618, 0.99941199, 0.49325226],\
+-[	-6.27329574, -0.00036460, 0.00022335, 7.27293114, 0.99888631, 0.99941206, 0.49325247],\
+-[	-6.27329584, -0.00036455, 0.00022332, 7.27293129, 0.99888644, 0.99941213, 0.49325235],\
+-[	-6.27329594, -0.00036451, 0.00022330, 7.27293143, 0.99888657, 0.99941219, 0.49325238],\
+-[	-6.27329605, -0.00036447, 0.00022327, 7.27293158, 0.99888670, 0.99941226, 0.49325236],\
+-[	-6.27329615, -0.00036442, 0.00022324, 7.27293173, 0.99888683, 0.99941233, 0.49325251],\
+-[	-6.27329625, -0.00036438, 0.00022322, 7.27293187, 0.99888696, 0.99941240, 0.49325244],\
+-[	-6.27329635, -0.00036434, 0.00022319, 7.27293202, 0.99888709, 0.99941247, 0.49325243],\
+-[	-6.27329646, -0.00036429, 0.00022317, 7.27293216, 0.99888723, 0.99941254, 0.49325235],\
+-[	-6.27329656, -0.00036425, 0.00022314, 7.27293231, 0.99888736, 0.99941261, 0.49325265],\
+-[	-6.27329666, -0.00036421, 0.00022311, 7.27293245, 0.99888749, 0.99941268, 0.49325266],\
+-[	-6.27329677, -0.00036417, 0.00022309, 7.27293260, 0.99888762, 0.99941275, 0.49325241],\
+-[	-6.27329687, -0.00036412, 0.00022306, 7.27293274, 0.99888775, 0.99941282, 0.49325251],\
+-[	-6.27329697, -0.00036408, 0.00022303, 7.27293289, 0.99888788, 0.99941289, 0.49325244],\
+-[	-6.27329707, -0.00036404, 0.00022301, 7.27293304, 0.99888801, 0.99941295, 0.49325256],\
+-[	-6.27329718, -0.00036399, 0.00022298, 7.27293318, 0.99888814, 0.99941302, 0.49325261],\
+-[	-6.27329728, -0.00036395, 0.00022296, 7.27293333, 0.99888827, 0.99941309, 0.49325262],\
+-[	-6.27329738, -0.00036391, 0.00022293, 7.27293347, 0.99888840, 0.99941316, 0.49325272],\
+-[	-6.27329748, -0.00036387, 0.00022290, 7.27293362, 0.99888853, 0.99941323, 0.49325264],\
+-[	-6.27329758, -0.00036382, 0.00022288, 7.27293376, 0.99888866, 0.99941330, 0.49325271],\
+-[	-6.27329769, -0.00036378, 0.00022285, 7.27293391, 0.99888879, 0.99941337, 0.49325250],\
+-[	-6.27329779, -0.00036374, 0.00022282, 7.27293405, 0.99888893, 0.99941344, 0.49325276],\
+-[	-6.27329789, -0.00036370, 0.00022280, 7.27293420, 0.99888906, 0.99941351, 0.49325279],\
+-[	-6.27329799, -0.00036365, 0.00022277, 7.27293434, 0.99888919, 0.99941358, 0.49325256],\
+-[	-6.27329810, -0.00036361, 0.00022275, 7.27293449, 0.99888932, 0.99941364, 0.49325269],\
+-[	-6.27329820, -0.00036357, 0.00022272, 7.27293463, 0.99888945, 0.99941371, 0.49325274],\
+-[	-6.27329830, -0.00036352, 0.00022269, 7.27293478, 0.99888958, 0.99941378, 0.49325276],\
+-[	-6.27329840, -0.00036348, 0.00022267, 7.27293492, 0.99888971, 0.99941385, 0.49325275],\
+-[	-6.27329851, -0.00036344, 0.00022264, 7.27293507, 0.99888984, 0.99941392, 0.49325266],\
+-[	-6.27329861, -0.00036340, 0.00022261, 7.27293521, 0.99888997, 0.99941399, 0.49325274],\
+-[	-6.27329871, -0.00036335, 0.00022259, 7.27293536, 0.99889010, 0.99941406, 0.49325275],\
+-[	-6.27329881, -0.00036331, 0.00022256, 7.27293550, 0.99889023, 0.99941413, 0.49325279],\
+-[	-6.27329891, -0.00036327, 0.00022254, 7.27293565, 0.99889036, 0.99941420, 0.49325277],\
+-[	-6.27329902, -0.00036323, 0.00022251, 7.27293579, 0.99889049, 0.99941426, 0.49325299],\
+-[	-6.27329912, -0.00036318, 0.00022248, 7.27293593, 0.99889062, 0.99941433, 0.49325298],\
+-[	-6.27329922, -0.00036314, 0.00022246, 7.27293608, 0.99889075, 0.99941440, 0.49325274],\
+-[	-6.27329932, -0.00036310, 0.00022243, 7.27293622, 0.99889088, 0.99941447, 0.49325294],\
+-[	-6.27329942, -0.00036306, 0.00022241, 7.27293637, 0.99889101, 0.99941454, 0.49325297],\
+-[	-6.27329953, -0.00036301, 0.00022238, 7.27293651, 0.99889114, 0.99941461, 0.49325278],\
+-[	-6.27329963, -0.00036297, 0.00022235, 7.27293666, 0.99889127, 0.99941468, 0.49325281],\
+-[	-6.27329973, -0.00036293, 0.00022233, 7.27293680, 0.99889140, 0.99941474, 0.49325304],\
+-[	-6.27329983, -0.00036289, 0.00022230, 7.27293695, 0.99889153, 0.99941481, 0.49325295],\
+-[	-6.27329993, -0.00036284, 0.00022228, 7.27293709, 0.99889166, 0.99941488, 0.49325311],\
+-[	-6.27330004, -0.00036280, 0.00022225, 7.27293723, 0.99889179, 0.99941495, 0.49325291],\
+-[	-6.27330014, -0.00036276, 0.00022222, 7.27293738, 0.99889192, 0.99941502, 0.49325317],\
+-[	-6.27330024, -0.00036272, 0.00022220, 7.27293752, 0.99889205, 0.99941509, 0.49325298],\
+-[	-6.27330034, -0.00036267, 0.00022217, 7.27293767, 0.99889218, 0.99941516, 0.49325316],\
+-[	-6.27330044, -0.00036263, 0.00022215, 7.27293781, 0.99889231, 0.99941522, 0.49325310],\
+-[	-6.27330054, -0.00036259, 0.00022212, 7.27293796, 0.99889244, 0.99941529, 0.49325314],\
+-[	-6.27330065, -0.00036255, 0.00022209, 7.27293810, 0.99889257, 0.99941536, 0.49325310],\
+-[	-6.27330075, -0.00036250, 0.00022207, 7.27293824, 0.99889270, 0.99941543, 0.49325300],\
+-[	-6.27330085, -0.00036246, 0.00022204, 7.27293839, 0.99889283, 0.99941550, 0.49325323],\
+-[	-6.27330095, -0.00036242, 0.00022202, 7.27293853, 0.99889296, 0.99941557, 0.49325313],\
+-[	-6.27330105, -0.00036238, 0.00022199, 7.27293868, 0.99889309, 0.99941564, 0.49325318],\
+-[	-6.27330115, -0.00036233, 0.00022196, 7.27293882, 0.99889322, 0.99941570, 0.49325325],\
+-[	-6.27330126, -0.00036229, 0.00022194, 7.27293896, 0.99889335, 0.99941577, 0.49325315],\
+-[	-6.27330136, -0.00036225, 0.00022191, 7.27293911, 0.99889348, 0.99941584, 0.49325312],\
+-[	-6.27330146, -0.00036221, 0.00022189, 7.27293925, 0.99889361, 0.99941591, 0.49325327],\
+-[	-6.27330156, -0.00036216, 0.00022186, 7.27293940, 0.99889374, 0.99941598, 0.49325334],\
+-[	-6.27330166, -0.00036212, 0.00022183, 7.27293954, 0.99889387, 0.99941605, 0.49325318],\
+-[	-6.27330176, -0.00036208, 0.00022181, 7.27293968, 0.99889400, 0.99941611, 0.49325339],\
+-[	-6.27330186, -0.00036204, 0.00022178, 7.27293983, 0.99889412, 0.99941618, 0.49325320],\
+-[	-6.27330197, -0.00036199, 0.00022176, 7.27293997, 0.99889425, 0.99941625, 0.49325327],\
+-[	-6.27330207, -0.00036195, 0.00022173, 7.27294011, 0.99889438, 0.99941632, 0.49325329],\
+-[	-6.27330217, -0.00036191, 0.00022170, 7.27294026, 0.99889451, 0.99941639, 0.49325333],\
+-[	-6.27330227, -0.00036187, 0.00022168, 7.27294040, 0.99889464, 0.99941646, 0.49325330],\
+-[	-6.27330237, -0.00036182, 0.00022165, 7.27294055, 0.99889477, 0.99941652, 0.49325321],\
+-[	-6.27330247, -0.00036178, 0.00022163, 7.27294069, 0.99889490, 0.99941659, 0.49325343],\
+-[	-6.27330257, -0.00036174, 0.00022160, 7.27294083, 0.99889503, 0.99941666, 0.49325334],\
+-[	-6.27330267, -0.00036170, 0.00022157, 7.27294098, 0.99889516, 0.99941673, 0.49325333],\
+-[	-6.27330278, -0.00036166, 0.00022155, 7.27294112, 0.99889529, 0.99941680, 0.49325328],\
+-[	-6.27330288, -0.00036161, 0.00022152, 7.27294126, 0.99889542, 0.99941686, 0.49325344],\
+-[	-6.27330298, -0.00036157, 0.00022150, 7.27294141, 0.99889555, 0.99941693, 0.49325340],\
+-[	-6.27330308, -0.00036153, 0.00022147, 7.27294155, 0.99889568, 0.99941700, 0.49325337],\
+-[	-6.27330318, -0.00036149, 0.00022144, 7.27294169, 0.99889580, 0.99941707, 0.49325346],\
+-[	-6.27330328, -0.00036144, 0.00022142, 7.27294184, 0.99889593, 0.99941714, 0.49325350],\
+-[	-6.27330338, -0.00036140, 0.00022139, 7.27294198, 0.99889606, 0.99941720, 0.49325355],\
+-[	-6.27330348, -0.00036136, 0.00022137, 7.27294212, 0.99889619, 0.99941727, 0.49325362],\
+-[	-6.27330358, -0.00036132, 0.00022134, 7.27294227, 0.99889632, 0.99941734, 0.49325356],\
+-[	-6.27330368, -0.00036128, 0.00022132, 7.27294241, 0.99889645, 0.99941741, 0.49325360],\
+-[	-6.27330379, -0.00036123, 0.00022129, 7.27294255, 0.99889658, 0.99941748, 0.49325348],\
+-[	-6.27330389, -0.00036119, 0.00022126, 7.27294269, 0.99889671, 0.99941754, 0.49325378],\
+-[	-6.27330399, -0.00036115, 0.00022124, 7.27294284, 0.99889684, 0.99941761, 0.49325364],\
+-[	-6.27330409, -0.00036111, 0.00022121, 7.27294298, 0.99889696, 0.99941768, 0.49325361],\
+-[	-6.27330419, -0.00036107, 0.00022119, 7.27294312, 0.99889709, 0.99941775, 0.49325386],\
+-[	-6.27330429, -0.00036102, 0.00022116, 7.27294327, 0.99889722, 0.99941782, 0.49325359],\
+-[	-6.27330439, -0.00036098, 0.00022113, 7.27294341, 0.99889735, 0.99941788, 0.49325371],\
+-[	-6.27330449, -0.00036094, 0.00022111, 7.27294355, 0.99889748, 0.99941795, 0.49325375],\
+-[	-6.27330459, -0.00036090, 0.00022108, 7.27294370, 0.99889761, 0.99941802, 0.49325371],\
+-[	-6.27330469, -0.00036085, 0.00022106, 7.27294384, 0.99889774, 0.99941809, 0.49325378],\
+-[	-6.27330479, -0.00036081, 0.00022103, 7.27294398, 0.99889786, 0.99941816, 0.49325370],\
+-[	-6.27330489, -0.00036077, 0.00022101, 7.27294412, 0.99889799, 0.99941822, 0.49325364],\
+-[	-6.27330499, -0.00036073, 0.00022098, 7.27294427, 0.99889812, 0.99941829, 0.49325373],\
+-[	-6.27330510, -0.00036069, 0.00022095, 7.27294441, 0.99889825, 0.99941836, 0.49325372],\
+-[	-6.27330520, -0.00036064, 0.00022093, 7.27294455, 0.99889838, 0.99941843, 0.49325391],\
+-[	-6.27330530, -0.00036060, 0.00022090, 7.27294469, 0.99889851, 0.99941849, 0.49325378],\
+-[	-6.27330540, -0.00036056, 0.00022088, 7.27294484, 0.99889863, 0.99941856, 0.49325387],\
+-[	-6.27330550, -0.00036052, 0.00022085, 7.27294498, 0.99889876, 0.99941863, 0.49325370],\
+-[	-6.27330560, -0.00036048, 0.00022083, 7.27294512, 0.99889889, 0.99941870, 0.49325386],\
+-[	-6.27330570, -0.00036043, 0.00022080, 7.27294526, 0.99889902, 0.99941877, 0.49325387],\
+-[	-6.27330580, -0.00036039, 0.00022077, 7.27294541, 0.99889915, 0.99941883, 0.49325384],\
+-[	-6.27330590, -0.00036035, 0.00022075, 7.27294555, 0.99889928, 0.99941890, 0.49325392],\
+-[	-6.27330600, -0.00036031, 0.00022072, 7.27294569, 0.99889940, 0.99941897, 0.49325387],\
+-[	-6.27330610, -0.00036027, 0.00022070, 7.27294583, 0.99889953, 0.99941904, 0.49325390],\
+-[	-6.27330620, -0.00036023, 0.00022067, 7.27294598, 0.99889966, 0.99941910, 0.49325400],\
+-[	-6.27330630, -0.00036018, 0.00022065, 7.27294612, 0.99889979, 0.99941917, 0.49325409],\
+-[	-6.27330640, -0.00036014, 0.00022062, 7.27294626, 0.99889992, 0.99941924, 0.49325386],\
+-[	-6.27330650, -0.00036010, 0.00022059, 7.27294640, 0.99890004, 0.99941931, 0.49325408],\
+-[	-6.27330660, -0.00036006, 0.00022057, 7.27294654, 0.99890017, 0.99941937, 0.49325391],\
+-[	-6.27330670, -0.00036002, 0.00022054, 7.27294669, 0.99890030, 0.99941944, 0.49325389],\
+-[	-6.27330680, -0.00035997, 0.00022052, 7.27294683, 0.99890043, 0.99941951, 0.49325379],\
+-[	-6.27330690, -0.00035993, 0.00022049, 7.27294697, 0.99890056, 0.99941958, 0.49325409],\
+-[	-6.27330700, -0.00035989, 0.00022047, 7.27294711, 0.99890068, 0.99941964, 0.49325388],\
+-[	-6.27330710, -0.00035985, 0.00022044, 7.27294726, 0.99890081, 0.99941971, 0.49325402],\
+-[	-6.27330720, -0.00035981, 0.00022041, 7.27294740, 0.99890094, 0.99941978, 0.49325423],\
+-[	-6.27330730, -0.00035976, 0.00022039, 7.27294754, 0.99890107, 0.99941985, 0.49325405],\
+-[	-6.27330740, -0.00035972, 0.00022036, 7.27294768, 0.99890119, 0.99941991, 0.49325402],\
+-[	-6.27330750, -0.00035968, 0.00022034, 7.27294782, 0.99890132, 0.99941998, 0.49325409],\
+-[	-6.27330760, -0.00035964, 0.00022031, 7.27294796, 0.99890145, 0.99942005, 0.49325408],\
+-[	-6.27330770, -0.00035960, 0.00022029, 7.27294811, 0.99890158, 0.99942012, 0.49325430],\
+-[	-6.27330780, -0.00035956, 0.00022026, 7.27294825, 0.99890171, 0.99942018, 0.49325412],\
+-[	-6.27330790, -0.00035951, 0.00022024, 7.27294839, 0.99890183, 0.99942025, 0.49325410],\
+-[	-6.27330800, -0.00035947, 0.00022021, 7.27294853, 0.99890196, 0.99942032, 0.49325444],\
+-[	-6.27330810, -0.00035943, 0.00022018, 7.27294867, 0.99890209, 0.99942039, 0.49325431],\
+-[	-6.27330820, -0.00035939, 0.00022016, 7.27294882, 0.99890222, 0.99942045, 0.49325422],\
+-[	-6.27330830, -0.00035935, 0.00022013, 7.27294896, 0.99890234, 0.99942052, 0.49325435],\
+-[	-6.27330840, -0.00035931, 0.00022011, 7.27294910, 0.99890247, 0.99942059, 0.49325426],\
+-[	-6.27330850, -0.00035926, 0.00022008, 7.27294924, 0.99890260, 0.99942065, 0.49325433],\
+-[	-6.27330860, -0.00035922, 0.00022006, 7.27294938, 0.99890273, 0.99942072, 0.49325432],\
+-[	-6.27330870, -0.00035918, 0.00022003, 7.27294952, 0.99890285, 0.99942079, 0.49325444],\
+-[	-6.27330880, -0.00035914, 0.00022001, 7.27294966, 0.99890298, 0.99942086, 0.49325435],\
+-[	-6.27330890, -0.00035910, 0.00021998, 7.27294981, 0.99890311, 0.99942092, 0.49325422],\
+-[	-6.27330900, -0.00035906, 0.00021995, 7.27294995, 0.99890323, 0.99942099, 0.49325439],\
+-[	-6.27330910, -0.00035901, 0.00021993, 7.27295009, 0.99890336, 0.99942106, 0.49325438],\
+-[	-6.27330920, -0.00035897, 0.00021990, 7.27295023, 0.99890349, 0.99942113, 0.49325454],\
+-[	-6.27330930, -0.00035893, 0.00021988, 7.27295037, 0.99890362, 0.99942119, 0.49325448],\
+-[	-6.27330940, -0.00035889, 0.00021985, 7.27295051, 0.99890374, 0.99942126, 0.49325441],\
+-[	-6.27330950, -0.00035885, 0.00021983, 7.27295065, 0.99890387, 0.99942133, 0.49325438],\
+-[	-6.27330960, -0.00035881, 0.00021980, 7.27295079, 0.99890400, 0.99942139, 0.49325444],\
+-[	-6.27330970, -0.00035876, 0.00021978, 7.27295094, 0.99890412, 0.99942146, 0.49325455],\
+-[	-6.27330980, -0.00035872, 0.00021975, 7.27295108, 0.99890425, 0.99942153, 0.49325435],\
+-[	-6.27330990, -0.00035868, 0.00021972, 7.27295122, 0.99890438, 0.99942159, 0.49325446],\
+-[	-6.27331000, -0.00035864, 0.00021970, 7.27295136, 0.99890451, 0.99942166, 0.49325463],\
+-[	-6.27331010, -0.00035860, 0.00021967, 7.27295150, 0.99890463, 0.99942173, 0.49325459],\
+-[	-6.27331020, -0.00035856, 0.00021965, 7.27295164, 0.99890476, 0.99942180, 0.49325444],\
+-[	-6.27331030, -0.00035851, 0.00021962, 7.27295178, 0.99890489, 0.99942186, 0.49325446],\
+-[	-6.27331040, -0.00035847, 0.00021960, 7.27295192, 0.99890501, 0.99942193, 0.49325470],\
+-[	-6.27331050, -0.00035843, 0.00021957, 7.27295206, 0.99890514, 0.99942200, 0.49325447],\
+-[	-6.27331059, -0.00035839, 0.00021955, 7.27295220, 0.99890527, 0.99942206, 0.49325451],\
+-[	-6.27331069, -0.00035835, 0.00021952, 7.27295235, 0.99890539, 0.99942213, 0.49325471],\
+-[	-6.27331079, -0.00035831, 0.00021950, 7.27295249, 0.99890552, 0.99942220, 0.49325479],\
+-[	-6.27331089, -0.00035827, 0.00021947, 7.27295263, 0.99890565, 0.99942226, 0.49325465],\
+-[	-6.27331099, -0.00035822, 0.00021944, 7.27295277, 0.99890577, 0.99942233, 0.49325460],\
+-[	-6.27331109, -0.00035818, 0.00021942, 7.27295291, 0.99890590, 0.99942240, 0.49325463],\
+-[	-6.27331119, -0.00035814, 0.00021939, 7.27295305, 0.99890603, 0.99942246, 0.49325475],\
+-[	-6.27331129, -0.00035810, 0.00021937, 7.27295319, 0.99890615, 0.99942253, 0.49325484],\
+-[	-6.27331139, -0.00035806, 0.00021934, 7.27295333, 0.99890628, 0.99942260, 0.49325478],\
+-[	-6.27331149, -0.00035802, 0.00021932, 7.27295347, 0.99890641, 0.99942267, 0.49325476],\
+-[	-6.27331159, -0.00035798, 0.00021929, 7.27295361, 0.99890653, 0.99942273, 0.49325474],\
+-[	-6.27331169, -0.00035793, 0.00021927, 7.27295375, 0.99890666, 0.99942280, 0.49325471],\
+-[	-6.27331179, -0.00035789, 0.00021924, 7.27295389, 0.99890679, 0.99942287, 0.49325479],\
+-[	-6.27331188, -0.00035785, 0.00021922, 7.27295403, 0.99890691, 0.99942293, 0.49325475],\
+-[	-6.27331198, -0.00035781, 0.00021919, 7.27295417, 0.99890704, 0.99942300, 0.49325483],\
+-[	-6.27331208, -0.00035777, 0.00021917, 7.27295431, 0.99890717, 0.99942307, 0.49325488],\
+-[	-6.27331218, -0.00035773, 0.00021914, 7.27295445, 0.99890729, 0.99942313, 0.49325468],\
+-[	-6.27331228, -0.00035769, 0.00021911, 7.27295459, 0.99890742, 0.99942320, 0.49325487],\
+-[	-6.27331238, -0.00035764, 0.00021909, 7.27295473, 0.99890754, 0.99942327, 0.49325491],\
+-[	-6.27331248, -0.00035760, 0.00021906, 7.27295487, 0.99890767, 0.99942333, 0.49325485],\
+-[	-6.27331258, -0.00035756, 0.00021904, 7.27295501, 0.99890780, 0.99942340, 0.49325494],\
+-[	-6.27331268, -0.00035752, 0.00021901, 7.27295515, 0.99890792, 0.99942347, 0.49325489],\
+-[	-6.27331277, -0.00035748, 0.00021899, 7.27295529, 0.99890805, 0.99942353, 0.49325507],\
+-[	-6.27331287, -0.00035744, 0.00021896, 7.27295544, 0.99890818, 0.99942360, 0.49325487],\
+-[	-6.27331297, -0.00035740, 0.00021894, 7.27295558, 0.99890830, 0.99942367, 0.49325485],\
+-[	-6.27331307, -0.00035736, 0.00021891, 7.27295572, 0.99890843, 0.99942373, 0.49325494],\
+-[	-6.27331317, -0.00035731, 0.00021889, 7.27295586, 0.99890855, 0.99942380, 0.49325502],\
+-[	-6.27331327, -0.00035727, 0.00021886, 7.27295600, 0.99890868, 0.99942386, 0.49325506],\
+-[	-6.27331337, -0.00035723, 0.00021884, 7.27295614, 0.99890881, 0.99942393, 0.49325501],\
+-[	-6.27331347, -0.00035719, 0.00021881, 7.27295628, 0.99890893, 0.99942400, 0.49325503],\
+-[	-6.27331356, -0.00035715, 0.00021879, 7.27295642, 0.99890906, 0.99942406, 0.49325490],\
+-[	-6.27331366, -0.00035711, 0.00021876, 7.27295655, 0.99890918, 0.99942413, 0.49325500],\
+-[	-6.27331376, -0.00035707, 0.00021874, 7.27295669, 0.99890931, 0.99942420, 0.49325510],\
+-[	-6.27331386, -0.00035703, 0.00021871, 7.27295683, 0.99890943, 0.99942426, 0.49325499],\
+-[	-6.27331396, -0.00035698, 0.00021869, 7.27295697, 0.99890956, 0.99942433, 0.49325505],\
+-[	-6.27331406, -0.00035694, 0.00021866, 7.27295711, 0.99890969, 0.99942440, 0.49325506],\
+-[	-6.27331416, -0.00035690, 0.00021863, 7.27295725, 0.99890981, 0.99942446, 0.49325523],\
+-[	-6.27331425, -0.00035686, 0.00021861, 7.27295739, 0.99890994, 0.99942453, 0.49325511],\
+-[	-6.27331435, -0.00035682, 0.00021858, 7.27295753, 0.99891006, 0.99942460, 0.49325502],\
+-[	-6.27331445, -0.00035678, 0.00021856, 7.27295767, 0.99891019, 0.99942466, 0.49325512],\
+-[	-6.27331455, -0.00035674, 0.00021853, 7.27295781, 0.99891032, 0.99942473, 0.49325535],\
+-[	-6.27331465, -0.00035670, 0.00021851, 7.27295795, 0.99891044, 0.99942479, 0.49325526],\
+-[	-6.27331475, -0.00035666, 0.00021848, 7.27295809, 0.99891057, 0.99942486, 0.49325504],\
+-[	-6.27331485, -0.00035661, 0.00021846, 7.27295823, 0.99891069, 0.99942493, 0.49325512],\
+-[	-6.27331494, -0.00035657, 0.00021843, 7.27295837, 0.99891082, 0.99942499, 0.49325533],\
+-[	-6.27331504, -0.00035653, 0.00021841, 7.27295851, 0.99891094, 0.99942506, 0.49325523],\
+-[	-6.27331514, -0.00035649, 0.00021838, 7.27295865, 0.99891107, 0.99942513, 0.49325528],\
+-[	-6.27331524, -0.00035645, 0.00021836, 7.27295879, 0.99891119, 0.99942519, 0.49325526],\
+-[	-6.27331534, -0.00035641, 0.00021833, 7.27295893, 0.99891132, 0.99942526, 0.49325527],\
+-[	-6.27331543, -0.00035637, 0.00021831, 7.27295907, 0.99891144, 0.99942532, 0.49325541],\
+-[	-6.27331553, -0.00035633, 0.00021828, 7.27295921, 0.99891157, 0.99942539, 0.49325526],\
+-[	-6.27331563, -0.00035629, 0.00021826, 7.27295935, 0.99891169, 0.99942546, 0.49325518],\
+-[	-6.27331573, -0.00035625, 0.00021823, 7.27295948, 0.99891182, 0.99942552, 0.49325527],\
+-[	-6.27331583, -0.00035620, 0.00021821, 7.27295962, 0.99891195, 0.99942559, 0.49325543],\
+-[	-6.27331593, -0.00035616, 0.00021818, 7.27295976, 0.99891207, 0.99942566, 0.49325535],\
+-[	-6.27331602, -0.00035612, 0.00021816, 7.27295990, 0.99891220, 0.99942572, 0.49325531],\
+-[	-6.27331612, -0.00035608, 0.00021813, 7.27296004, 0.99891232, 0.99942579, 0.49325537],\
+-[	-6.27331622, -0.00035604, 0.00021811, 7.27296018, 0.99891245, 0.99942585, 0.49325536],\
+-[	-6.27331632, -0.00035600, 0.00021808, 7.27296032, 0.99891257, 0.99942592, 0.49325546],\
+-[	-6.27331642, -0.00035596, 0.00021806, 7.27296046, 0.99891270, 0.99942599, 0.49325549],\
+-[	-6.27331651, -0.00035592, 0.00021803, 7.27296060, 0.99891282, 0.99942605, 0.49325546],\
+-[	-6.27331661, -0.00035588, 0.00021801, 7.27296074, 0.99891295, 0.99942612, 0.49325542],\
+-[	-6.27331671, -0.00035584, 0.00021798, 7.27296087, 0.99891307, 0.99942618, 0.49325537],\
+-[	-6.27331681, -0.00035579, 0.00021796, 7.27296101, 0.99891320, 0.99942625, 0.49325535],\
+-[	-6.27331691, -0.00035575, 0.00021793, 7.27296115, 0.99891332, 0.99942632, 0.49325540],\
+-[	-6.27331700, -0.00035571, 0.00021791, 7.27296129, 0.99891345, 0.99942638, 0.49325546],\
+-[	-6.27331710, -0.00035567, 0.00021788, 7.27296143, 0.99891357, 0.99942645, 0.49325545],\
+-[	-6.27331720, -0.00035563, 0.00021786, 7.27296157, 0.99891370, 0.99942651, 0.49325569],\
+-[	-6.27331730, -0.00035559, 0.00021783, 7.27296171, 0.99891382, 0.99942658, 0.49325550],\
+-[	-6.27331740, -0.00035555, 0.00021781, 7.27296185, 0.99891395, 0.99942664, 0.49325563],\
+-[	-6.27331749, -0.00035551, 0.00021778, 7.27296198, 0.99891407, 0.99942671, 0.49325568],\
+-[	-6.27331759, -0.00035547, 0.00021776, 7.27296212, 0.99891420, 0.99942678, 0.49325547],\
+-[	-6.27331769, -0.00035543, 0.00021773, 7.27296226, 0.99891432, 0.99942684, 0.49325550],\
+-[	-6.27331779, -0.00035539, 0.00021771, 7.27296240, 0.99891444, 0.99942691, 0.49325571],\
+-[	-6.27331788, -0.00035535, 0.00021768, 7.27296254, 0.99891457, 0.99942697, 0.49325568],\
+-[	-6.27331798, -0.00035530, 0.00021766, 7.27296268, 0.99891469, 0.99942704, 0.49325562],\
+-[	-6.27331808, -0.00035526, 0.00021763, 7.27296281, 0.99891482, 0.99942711, 0.49325569],\
+-[	-6.27331818, -0.00035522, 0.00021761, 7.27296295, 0.99891494, 0.99942717, 0.49325576],\
+-[	-6.27331827, -0.00035518, 0.00021758, 7.27296309, 0.99891507, 0.99942724, 0.49325584],\
+-[	-6.27331837, -0.00035514, 0.00021756, 7.27296323, 0.99891519, 0.99942730, 0.49325572],\
+-[	-6.27331847, -0.00035510, 0.00021753, 7.27296337, 0.99891532, 0.99942737, 0.49325557],\
+-[	-6.27331857, -0.00035506, 0.00021751, 7.27296351, 0.99891544, 0.99942743, 0.49325555],\
+-[	-6.27331866, -0.00035502, 0.00021748, 7.27296364, 0.99891557, 0.99942750, 0.49325590],\
+-[	-6.27331876, -0.00035498, 0.00021746, 7.27296378, 0.99891569, 0.99942757, 0.49325582],\
+-[	-6.27331886, -0.00035494, 0.00021743, 7.27296392, 0.99891581, 0.99942763, 0.49325599],\
+-[	-6.27331896, -0.00035490, 0.00021741, 7.27296406, 0.99891594, 0.99942770, 0.49325596],\
+-[	-6.27331905, -0.00035486, 0.00021738, 7.27296420, 0.99891606, 0.99942776, 0.49325600],\
+-[	-6.27331915, -0.00035482, 0.00021736, 7.27296434, 0.99891619, 0.99942783, 0.49325578],\
+-[	-6.27331925, -0.00035478, 0.00021733, 7.27296447, 0.99891631, 0.99942789, 0.49325597],\
+-[	-6.27331935, -0.00035473, 0.00021731, 7.27296461, 0.99891644, 0.99942796, 0.49325578],\
+-[	-6.27331944, -0.00035469, 0.00021728, 7.27296475, 0.99891656, 0.99942802, 0.49325601],\
+-[	-6.27331954, -0.00035465, 0.00021726, 7.27296489, 0.99891668, 0.99942809, 0.49325574],\
+-[	-6.27331964, -0.00035461, 0.00021723, 7.27296503, 0.99891681, 0.99942816, 0.49325598],\
+-[	-6.27331974, -0.00035457, 0.00021721, 7.27296516, 0.99891693, 0.99942822, 0.49325602],\
+-[	-6.27331983, -0.00035453, 0.00021718, 7.27296530, 0.99891706, 0.99942829, 0.49325595],\
+-[	-6.27331993, -0.00035449, 0.00021716, 7.27296544, 0.99891718, 0.99942835, 0.49325608],\
+-[	-6.27332003, -0.00035445, 0.00021713, 7.27296558, 0.99891730, 0.99942842, 0.49325597],\
+-[	-6.27332012, -0.00035441, 0.00021711, 7.27296571, 0.99891743, 0.99942848, 0.49325598],\
+-[	-6.27332022, -0.00035437, 0.00021708, 7.27296585, 0.99891755, 0.99942855, 0.49325613],\
+-[	-6.27332032, -0.00035433, 0.00021706, 7.27296599, 0.99891768, 0.99942861, 0.49325588],\
+-[	-6.27332042, -0.00035429, 0.00021703, 7.27296613, 0.99891780, 0.99942868, 0.49325598],\
+-[	-6.27332051, -0.00035425, 0.00021701, 7.27296626, 0.99891792, 0.99942874, 0.49325592],\
+-[	-6.27332061, -0.00035421, 0.00021698, 7.27296640, 0.99891805, 0.99942881, 0.49325612],\
+-[	-6.27332071, -0.00035417, 0.00021696, 7.27296654, 0.99891817, 0.99942888, 0.49325620],\
+-[	-6.27332080, -0.00035413, 0.00021693, 7.27296668, 0.99891830, 0.99942894, 0.49325610],\
+-[	-6.27332090, -0.00035409, 0.00021691, 7.27296681, 0.99891842, 0.99942901, 0.49325614],\
+-[	-6.27332100, -0.00035405, 0.00021688, 7.27296695, 0.99891854, 0.99942907, 0.49325612],\
+-[	-6.27332109, -0.00035400, 0.00021686, 7.27296709, 0.99891867, 0.99942914, 0.49325613],\
+-[	-6.27332119, -0.00035396, 0.00021683, 7.27296723, 0.99891879, 0.99942920, 0.49325604],\
+-[	-6.27332129, -0.00035392, 0.00021681, 7.27296736, 0.99891891, 0.99942927, 0.49325626],\
+-[	-6.27332139, -0.00035388, 0.00021678, 7.27296750, 0.99891904, 0.99942933, 0.49325625],\
+-[	-6.27332148, -0.00035384, 0.00021676, 7.27296764, 0.99891916, 0.99942940, 0.49325605],\
+-[	-6.27332158, -0.00035380, 0.00021673, 7.27296778, 0.99891928, 0.99942946, 0.49325626],\
+-[	-6.27332168, -0.00035376, 0.00021671, 7.27296791, 0.99891941, 0.99942953, 0.49325629],\
+-[	-6.27332177, -0.00035372, 0.00021669, 7.27296805, 0.99891953, 0.99942959, 0.49325630],\
+-[	-6.27332187, -0.00035368, 0.00021666, 7.27296819, 0.99891966, 0.99942966, 0.49325628],\
+-[	-6.27332197, -0.00035364, 0.00021664, 7.27296833, 0.99891978, 0.99942972, 0.49325635],\
+-[	-6.27332206, -0.00035360, 0.00021661, 7.27296846, 0.99891990, 0.99942979, 0.49325625],\
+-[	-6.27332216, -0.00035356, 0.00021659, 7.27296860, 0.99892003, 0.99942985, 0.49325617],\
+-[	-6.27332226, -0.00035352, 0.00021656, 7.27296874, 0.99892015, 0.99942992, 0.49325641],\
+-[	-6.27332235, -0.00035348, 0.00021654, 7.27296887, 0.99892027, 0.99942998, 0.49325636],\
+-[	-6.27332245, -0.00035344, 0.00021651, 7.27296901, 0.99892040, 0.99943005, 0.49325630],\
+-[	-6.27332255, -0.00035340, 0.00021649, 7.27296915, 0.99892052, 0.99943011, 0.49325637],\
+-[	-6.27332264, -0.00035336, 0.00021646, 7.27296928, 0.99892064, 0.99943018, 0.49325631],\
+-[	-6.27332274, -0.00035332, 0.00021644, 7.27296942, 0.99892077, 0.99943024, 0.49325656],\
+-[	-6.27332284, -0.00035328, 0.00021641, 7.27296956, 0.99892089, 0.99943031, 0.49325631],\
+-[	-6.27332293, -0.00035324, 0.00021639, 7.27296970, 0.99892101, 0.99943037, 0.49325638],\
+-[	-6.27332303, -0.00035320, 0.00021636, 7.27296983, 0.99892114, 0.99943044, 0.49325647],\
+-[	-6.27332313, -0.00035316, 0.00021634, 7.27296997, 0.99892126, 0.99943050, 0.49325639],\
+-[	-6.27332322, -0.00035312, 0.00021631, 7.27297011, 0.99892138, 0.99943057, 0.49325638],\
+-[	-6.27332332, -0.00035308, 0.00021629, 7.27297024, 0.99892150, 0.99943063, 0.49325638],\
+-[	-6.27332341, -0.00035304, 0.00021626, 7.27297038, 0.99892163, 0.99943070, 0.49325643],\
+-[	-6.27332351, -0.00035300, 0.00021624, 7.27297052, 0.99892175, 0.99943076, 0.49325659],\
+-[	-6.27332361, -0.00035296, 0.00021622, 7.27297065, 0.99892187, 0.99943083, 0.49325672],\
+-[	-6.27332370, -0.00035291, 0.00021619, 7.27297079, 0.99892200, 0.99943089, 0.49325654],\
+-[	-6.27332380, -0.00035287, 0.00021617, 7.27297093, 0.99892212, 0.99943096, 0.49325642],\
+-[	-6.27332390, -0.00035283, 0.00021614, 7.27297106, 0.99892224, 0.99943102, 0.49325660],\
+-[	-6.27332399, -0.00035279, 0.00021612, 7.27297120, 0.99892237, 0.99943109, 0.49325667],\
+-[	-6.27332409, -0.00035275, 0.00021609, 7.27297133, 0.99892249, 0.99943115, 0.49325649],\
+-[	-6.27332418, -0.00035271, 0.00021607, 7.27297147, 0.99892261, 0.99943122, 0.49325655],\
+-[	-6.27332428, -0.00035267, 0.00021604, 7.27297161, 0.99892273, 0.99943128, 0.49325662],\
+-[	-6.27332438, -0.00035263, 0.00021602, 7.27297174, 0.99892286, 0.99943135, 0.49325664],\
+-[	-6.27332447, -0.00035259, 0.00021599, 7.27297188, 0.99892298, 0.99943141, 0.49325657],\
+-[	-6.27332457, -0.00035255, 0.00021597, 7.27297202, 0.99892310, 0.99943148, 0.49325670],\
+-[	-6.27332467, -0.00035251, 0.00021594, 7.27297215, 0.99892322, 0.99943154, 0.49325664],\
+-[	-6.27332476, -0.00035247, 0.00021592, 7.27297229, 0.99892335, 0.99943161, 0.49325680],\
+-[	-6.27332486, -0.00035243, 0.00021590, 7.27297243, 0.99892347, 0.99943167, 0.49325677],\
+-[	-6.27332495, -0.00035239, 0.00021587, 7.27297256, 0.99892359, 0.99943174, 0.49325674],\
+-[	-6.27332505, -0.00035235, 0.00021585, 7.27297270, 0.99892371, 0.99943180, 0.49325673],\
+-[	-6.27332515, -0.00035231, 0.00021582, 7.27297283, 0.99892384, 0.99943187, 0.49325687],\
+-[	-6.27332524, -0.00035227, 0.00021580, 7.27297297, 0.99892396, 0.99943193, 0.49325676],\
+-[	-6.27332534, -0.00035223, 0.00021577, 7.27297311, 0.99892408, 0.99943200, 0.49325694],\
+-[	-6.27332543, -0.00035219, 0.00021575, 7.27297324, 0.99892420, 0.99943206, 0.49325684],\
+-[	-6.27332553, -0.00035215, 0.00021572, 7.27297338, 0.99892433, 0.99943212, 0.49325673],\
+-[	-6.27332563, -0.00035211, 0.00021570, 7.27297351, 0.99892445, 0.99943219, 0.49325679],\
+-[	-6.27332572, -0.00035207, 0.00021567, 7.27297365, 0.99892457, 0.99943225, 0.49325687],\
+-[	-6.27332582, -0.00035203, 0.00021565, 7.27297379, 0.99892469, 0.99943232, 0.49325682],\
+-[	-6.27332591, -0.00035199, 0.00021563, 7.27297392, 0.99892482, 0.99943238, 0.49325693],\
+-[	-6.27332601, -0.00035195, 0.00021560, 7.27297406, 0.99892494, 0.99943245, 0.49325706],\
+-[	-6.27332611, -0.00035191, 0.00021558, 7.27297419, 0.99892506, 0.99943251, 0.49325679],\
+-[	-6.27332620, -0.00035187, 0.00021555, 7.27297433, 0.99892518, 0.99943258, 0.49325693],\
+-[	-6.27332630, -0.00035183, 0.00021553, 7.27297446, 0.99892531, 0.99943264, 0.49325690],\
+-[	-6.27332639, -0.00035179, 0.00021550, 7.27297460, 0.99892543, 0.99943271, 0.49325679],\
+-[	-6.27332649, -0.00035175, 0.00021548, 7.27297474, 0.99892555, 0.99943277, 0.49325703],\
+-[	-6.27332658, -0.00035171, 0.00021545, 7.27297487, 0.99892567, 0.99943283, 0.49325709],\
+-[	-6.27332668, -0.00035167, 0.00021543, 7.27297501, 0.99892579, 0.99943290, 0.49325716],\
+-[	-6.27332678, -0.00035163, 0.00021540, 7.27297514, 0.99892592, 0.99943296, 0.49325688],\
+-[	-6.27332687, -0.00035159, 0.00021538, 7.27297528, 0.99892604, 0.99943303, 0.49325701],\
+-[	-6.27332697, -0.00035155, 0.00021536, 7.27297541, 0.99892616, 0.99943309, 0.49325699],\
+-[	-6.27332706, -0.00035151, 0.00021533, 7.27297555, 0.99892628, 0.99943316, 0.49325716],\
+-[	-6.27332716, -0.00035147, 0.00021531, 7.27297569, 0.99892640, 0.99943322, 0.49325705],\
+-[	-6.27332725, -0.00035143, 0.00021528, 7.27297582, 0.99892653, 0.99943329, 0.49325714],\
+-[	-6.27332735, -0.00035139, 0.00021526, 7.27297596, 0.99892665, 0.99943335, 0.49325697],\
+-[	-6.27332744, -0.00035135, 0.00021523, 7.27297609, 0.99892677, 0.99943341, 0.49325706],\
+-[	-6.27332754, -0.00035131, 0.00021521, 7.27297623, 0.99892689, 0.99943348, 0.49325710],\
+-[	-6.27332763, -0.00035127, 0.00021518, 7.27297636, 0.99892701, 0.99943354, 0.49325718],\
+-[	-6.27332773, -0.00035123, 0.00021516, 7.27297650, 0.99892714, 0.99943361, 0.49325714],\
+-[	-6.27332783, -0.00035119, 0.00021514, 7.27297663, 0.99892726, 0.99943367, 0.49325704],\
+-[	-6.27332792, -0.00035115, 0.00021511, 7.27297677, 0.99892738, 0.99943374, 0.49325724],\
+-[	-6.27332802, -0.00035111, 0.00021509, 7.27297690, 0.99892750, 0.99943380, 0.49325727],\
+-[	-6.27332811, -0.00035107, 0.00021506, 7.27297704, 0.99892762, 0.99943386, 0.49325718],\
+-[	-6.27332821, -0.00035103, 0.00021504, 7.27297717, 0.99892774, 0.99943393, 0.49325715],\
+-[	-6.27332830, -0.00035099, 0.00021501, 7.27297731, 0.99892787, 0.99943399, 0.49325736],\
+-[	-6.27332840, -0.00035095, 0.00021499, 7.27297744, 0.99892799, 0.99943406, 0.49325725],\
+-[	-6.27332849, -0.00035091, 0.00021496, 7.27297758, 0.99892811, 0.99943412, 0.49325737],\
+-[	-6.27332859, -0.00035087, 0.00021494, 7.27297771, 0.99892823, 0.99943418, 0.49325733],\
+-[	-6.27332868, -0.00035084, 0.00021492, 7.27297785, 0.99892835, 0.99943425, 0.49325727],\
+-[	-6.27332878, -0.00035080, 0.00021489, 7.27297798, 0.99892847, 0.99943431, 0.49325722],\
+-[	-6.27332887, -0.00035076, 0.00021487, 7.27297812, 0.99892859, 0.99943438, 0.49325726],\
+-[	-6.27332897, -0.00035072, 0.00021484, 7.27297825, 0.99892872, 0.99943444, 0.49325746],\
+-[	-6.27332906, -0.00035068, 0.00021482, 7.27297839, 0.99892884, 0.99943451, 0.49325735],\
+-[	-6.27332916, -0.00035064, 0.00021479, 7.27297852, 0.99892896, 0.99943457, 0.49325729],\
+-[	-6.27332925, -0.00035060, 0.00021477, 7.27297866, 0.99892908, 0.99943463, 0.49325733],\
+-[	-6.27332935, -0.00035056, 0.00021475, 7.27297879, 0.99892920, 0.99943470, 0.49325743],\
+-[	-6.27332944, -0.00035052, 0.00021472, 7.27297893, 0.99892932, 0.99943476, 0.49325745],\
+-[	-6.27332954, -0.00035048, 0.00021470, 7.27297906, 0.99892944, 0.99943483, 0.49325763],\
+-[	-6.27332963, -0.00035044, 0.00021467, 7.27297920, 0.99892956, 0.99943489, 0.49325734],\
+-[	-6.27332973, -0.00035040, 0.00021465, 7.27297933, 0.99892969, 0.99943495, 0.49325743],\
+-[	-6.27332982, -0.00035036, 0.00021462, 7.27297947, 0.99892981, 0.99943502, 0.49325746],\
+-[	-6.27332992, -0.00035032, 0.00021460, 7.27297960, 0.99892993, 0.99943508, 0.49325750],\
+-[	-6.27333001, -0.00035028, 0.00021458, 7.27297973, 0.99893005, 0.99943515, 0.49325754],\
+-[	-6.27333011, -0.00035024, 0.00021455, 7.27297987, 0.99893017, 0.99943521, 0.49325751],\
+-[	-6.27333020, -0.00035020, 0.00021453, 7.27298000, 0.99893029, 0.99943527, 0.49325761],\
+-[	-6.27333030, -0.00035016, 0.00021450, 7.27298014, 0.99893041, 0.99943534, 0.49325752],\
+-[	-6.27333039, -0.00035012, 0.00021448, 7.27298027, 0.99893053, 0.99943540, 0.49325748],\
+-[	-6.27333049, -0.00035008, 0.00021445, 7.27298041, 0.99893065, 0.99943546, 0.49325770],\
+-[	-6.27333058, -0.00035004, 0.00021443, 7.27298054, 0.99893078, 0.99943553, 0.49325749],\
+-[	-6.27333068, -0.00035000, 0.00021441, 7.27298068, 0.99893090, 0.99943559, 0.49325754],\
+-[	-6.27333077, -0.00034996, 0.00021438, 7.27298081, 0.99893102, 0.99943566, 0.49325757],\
+-[	-6.27333087, -0.00034992, 0.00021436, 7.27298094, 0.99893114, 0.99943572, 0.49325772],\
+-[	-6.27333096, -0.00034988, 0.00021433, 7.27298108, 0.99893126, 0.99943578, 0.49325749],\
+-[	-6.27333106, -0.00034984, 0.00021431, 7.27298121, 0.99893138, 0.99943585, 0.49325746],\
+-[	-6.27333115, -0.00034980, 0.00021428, 7.27298135, 0.99893150, 0.99943591, 0.49325763],\
+-[	-6.27333125, -0.00034976, 0.00021426, 7.27298148, 0.99893162, 0.99943597, 0.49325780],\
+-[	-6.27333134, -0.00034973, 0.00021424, 7.27298162, 0.99893174, 0.99943604, 0.49325773],\
+-[	-6.27333144, -0.00034969, 0.00021421, 7.27298175, 0.99893186, 0.99943610, 0.49325774],\
+-[	-6.27333153, -0.00034965, 0.00021419, 7.27298188, 0.99893198, 0.99943617, 0.49325768],\
+-[	-6.27333162, -0.00034961, 0.00021416, 7.27298202, 0.99893210, 0.99943623, 0.49325772],\
+-[	-6.27333172, -0.00034957, 0.00021414, 7.27298215, 0.99893223, 0.99943629, 0.49325780],\
+-[	-6.27333181, -0.00034953, 0.00021412, 7.27298229, 0.99893235, 0.99943636, 0.49325790],\
+-[	-6.27333191, -0.00034949, 0.00021409, 7.27298242, 0.99893247, 0.99943642, 0.49325769],\
+-[	-6.27333200, -0.00034945, 0.00021407, 7.27298255, 0.99893259, 0.99943648, 0.49325784],\
+-[	-6.27333210, -0.00034941, 0.00021404, 7.27298269, 0.99893271, 0.99943655, 0.49325781],\
+-[	-6.27333219, -0.00034937, 0.00021402, 7.27298282, 0.99893283, 0.99943661, 0.49325781],\
+-[	-6.27333229, -0.00034933, 0.00021399, 7.27298296, 0.99893295, 0.99943668, 0.49325775],\
+-[	-6.27333238, -0.00034929, 0.00021397, 7.27298309, 0.99893307, 0.99943674, 0.49325777],\
+-[	-6.27333247, -0.00034925, 0.00021395, 7.27298322, 0.99893319, 0.99943680, 0.49325794],\
+-[	-6.27333257, -0.00034921, 0.00021392, 7.27298336, 0.99893331, 0.99943687, 0.49325786],\
+-[	-6.27333266, -0.00034917, 0.00021390, 7.27298349, 0.99893343, 0.99943693, 0.49325783],\
+-[	-6.27333276, -0.00034913, 0.00021387, 7.27298362, 0.99893355, 0.99943699, 0.49325777],\
+-[	-6.27333285, -0.00034909, 0.00021385, 7.27298376, 0.99893367, 0.99943706, 0.49325800],\
+-[	-6.27333295, -0.00034905, 0.00021383, 7.27298389, 0.99893379, 0.99943712, 0.49325788],\
+-[	-6.27333304, -0.00034902, 0.00021380, 7.27298402, 0.99893391, 0.99943718, 0.49325796],\
+-[	-6.27333313, -0.00034898, 0.00021378, 7.27298416, 0.99893403, 0.99943725, 0.49325777],\
+-[	-6.27333323, -0.00034894, 0.00021375, 7.27298429, 0.99893415, 0.99943731, 0.49325803],\
+-[	-6.27333332, -0.00034890, 0.00021373, 7.27298443, 0.99893427, 0.99943737, 0.49325799],\
+-[	-6.27333342, -0.00034886, 0.00021370, 7.27298456, 0.99893439, 0.99943744, 0.49325815],\
+-[	-6.27333351, -0.00034882, 0.00021368, 7.27298469, 0.99893451, 0.99943750, 0.49325810],\
+-[	-6.27333360, -0.00034878, 0.00021366, 7.27298483, 0.99893463, 0.99943756, 0.49325805],\
+-[	-6.27333370, -0.00034874, 0.00021363, 7.27298496, 0.99893475, 0.99943763, 0.49325805],\
+-[	-6.27333379, -0.00034870, 0.00021361, 7.27298509, 0.99893487, 0.99943769, 0.49325810],\
+-[	-6.27333389, -0.00034866, 0.00021358, 7.27298523, 0.99893499, 0.99943775, 0.49325812],\
+-[	-6.27333398, -0.00034862, 0.00021356, 7.27298536, 0.99893511, 0.99943782, 0.49325800],\
+-[	-6.27333408, -0.00034858, 0.00021354, 7.27298549, 0.99893523, 0.99943788, 0.49325798],\
+-[	-6.27333417, -0.00034854, 0.00021351, 7.27298563, 0.99893535, 0.99943794, 0.49325819],\
+-[	-6.27333426, -0.00034850, 0.00021349, 7.27298576, 0.99893547, 0.99943801, 0.49325809],\
+-[	-6.27333436, -0.00034847, 0.00021346, 7.27298589, 0.99893559, 0.99943807, 0.49325811],\
+-[	-6.27333445, -0.00034843, 0.00021344, 7.27298602, 0.99893571, 0.99943813, 0.49325804],\
+-[	-6.27333454, -0.00034839, 0.00021342, 7.27298616, 0.99893583, 0.99943820, 0.49325814],\
+-[	-6.27333464, -0.00034835, 0.00021339, 7.27298629, 0.99893595, 0.99943826, 0.49325817],\
+-[	-6.27333473, -0.00034831, 0.00021337, 7.27298642, 0.99893607, 0.99943832, 0.49325810],\
+-[	-6.27333483, -0.00034827, 0.00021334, 7.27298656, 0.99893619, 0.99943839, 0.49325810],\
+-[	-6.27333492, -0.00034823, 0.00021332, 7.27298669, 0.99893631, 0.99943845, 0.49325813],\
+-[	-6.27333501, -0.00034819, 0.00021330, 7.27298682, 0.99893643, 0.99943851, 0.49325821],\
+-[	-6.27333511, -0.00034815, 0.00021327, 7.27298696, 0.99893655, 0.99943858, 0.49325825],\
+-[	-6.27333520, -0.00034811, 0.00021325, 7.27298709, 0.99893667, 0.99943864, 0.49325802],\
+-[	-6.27333530, -0.00034807, 0.00021322, 7.27298722, 0.99893679, 0.99943870, 0.49325839],\
+-[	-6.27333539, -0.00034803, 0.00021320, 7.27298735, 0.99893691, 0.99943877, 0.49325824],\
+-[	-6.27333548, -0.00034800, 0.00021318, 7.27298749, 0.99893703, 0.99943883, 0.49325827],\
+-[	-6.27333558, -0.00034796, 0.00021315, 7.27298762, 0.99893715, 0.99943889, 0.49325830],\
+-[	-6.27333567, -0.00034792, 0.00021313, 7.27298775, 0.99893727, 0.99943895, 0.49325817],\
+-[	-6.27333576, -0.00034788, 0.00021310, 7.27298789, 0.99893739, 0.99943902, 0.49325841],\
+-[	-6.27333586, -0.00034784, 0.00021308, 7.27298802, 0.99893751, 0.99943908, 0.49325836],\
+-[	-6.27333595, -0.00034780, 0.00021306, 7.27298815, 0.99893763, 0.99943914, 0.49325836],\
+-[	-6.27333604, -0.00034776, 0.00021303, 7.27298828, 0.99893774, 0.99943921, 0.49325838],\
+-[	-6.27333614, -0.00034772, 0.00021301, 7.27298842, 0.99893786, 0.99943927, 0.49325845],\
+-[	-6.27333623, -0.00034768, 0.00021298, 7.27298855, 0.99893798, 0.99943933, 0.49325848],\
+-[	-6.27333632, -0.00034764, 0.00021296, 7.27298868, 0.99893810, 0.99943940, 0.49325833],\
+-[	-6.27333642, -0.00034760, 0.00021294, 7.27298881, 0.99893822, 0.99943946, 0.49325843],\
+-[	-6.27333651, -0.00034757, 0.00021291, 7.27298895, 0.99893834, 0.99943952, 0.49325849],\
+-[	-6.27333661, -0.00034753, 0.00021289, 7.27298908, 0.99893846, 0.99943958, 0.49325841],\
+-[	-6.27333670, -0.00034749, 0.00021286, 7.27298921, 0.99893858, 0.99943965, 0.49325856],\
+-[	-6.27333679, -0.00034745, 0.00021284, 7.27298934, 0.99893870, 0.99943971, 0.49325841],\
+-[	-6.27333689, -0.00034741, 0.00021282, 7.27298948, 0.99893882, 0.99943977, 0.49325845],\
+-[	-6.27333698, -0.00034737, 0.00021279, 7.27298961, 0.99893894, 0.99943984, 0.49325852],\
+-[	-6.27333707, -0.00034733, 0.00021277, 7.27298974, 0.99893906, 0.99943990, 0.49325863],\
+-[	-6.27333717, -0.00034729, 0.00021275, 7.27298987, 0.99893918, 0.99943996, 0.49325866],\
+-[	-6.27333726, -0.00034725, 0.00021272, 7.27299000, 0.99893929, 0.99944002, 0.49325856],\
+-[	-6.27333735, -0.00034721, 0.00021270, 7.27299014, 0.99893941, 0.99944009, 0.49325854],\
+-[	-6.27333745, -0.00034718, 0.00021267, 7.27299027, 0.99893953, 0.99944015, 0.49325858],\
+-[	-6.27333754, -0.00034714, 0.00021265, 7.27299040, 0.99893965, 0.99944021, 0.49325856],\
+-[	-6.27333763, -0.00034710, 0.00021263, 7.27299053, 0.99893977, 0.99944028, 0.49325873],\
+-[	-6.27333772, -0.00034706, 0.00021260, 7.27299067, 0.99893989, 0.99944034, 0.49325877],\
+-[	-6.27333782, -0.00034702, 0.00021258, 7.27299080, 0.99894001, 0.99944040, 0.49325864],\
+-[	-6.27333791, -0.00034698, 0.00021255, 7.27299093, 0.99894013, 0.99944046, 0.49325857],\
+-[	-6.27333800, -0.00034694, 0.00021253, 7.27299106, 0.99894025, 0.99944053, 0.49325852],\
+-[	-6.27333810, -0.00034690, 0.00021251, 7.27299119, 0.99894036, 0.99944059, 0.49325872],\
+-[	-6.27333819, -0.00034686, 0.00021248, 7.27299133, 0.99894048, 0.99944065, 0.49325865],\
+-[	-6.27333828, -0.00034683, 0.00021246, 7.27299146, 0.99894060, 0.99944072, 0.49325884],\
+-[	-6.27333838, -0.00034679, 0.00021244, 7.27299159, 0.99894072, 0.99944078, 0.49325864],\
+-[	-6.27333847, -0.00034675, 0.00021241, 7.27299172, 0.99894084, 0.99944084, 0.49325865],\
+-[	-6.27333856, -0.00034671, 0.00021239, 7.27299185, 0.99894096, 0.99944090, 0.49325871],\
+-[	-6.27333866, -0.00034667, 0.00021236, 7.27299199, 0.99894108, 0.99944097, 0.49325862],\
+-[	-6.27333875, -0.00034663, 0.00021234, 7.27299212, 0.99894120, 0.99944103, 0.49325892],\
+-[	-6.27333884, -0.00034659, 0.00021232, 7.27299225, 0.99894131, 0.99944109, 0.49325886],\
+-[	-6.27333893, -0.00034655, 0.00021229, 7.27299238, 0.99894143, 0.99944115, 0.49325892],\
+-[	-6.27333903, -0.00034652, 0.00021227, 7.27299251, 0.99894155, 0.99944122, 0.49325878],\
+-[	-6.27333912, -0.00034648, 0.00021225, 7.27299264, 0.99894167, 0.99944128, 0.49325893],\
+-[	-6.27333921, -0.00034644, 0.00021222, 7.27299278, 0.99894179, 0.99944134, 0.49325882],\
+-[	-6.27333931, -0.00034640, 0.00021220, 7.27299291, 0.99894191, 0.99944140, 0.49325880],\
+-[	-6.27333940, -0.00034636, 0.00021217, 7.27299304, 0.99894202, 0.99944147, 0.49325884],\
+-[	-6.27333949, -0.00034632, 0.00021215, 7.27299317, 0.99894214, 0.99944153, 0.49325871],\
+-[	-6.27333958, -0.00034628, 0.00021213, 7.27299330, 0.99894226, 0.99944159, 0.49325888],\
+-[	-6.27333968, -0.00034624, 0.00021210, 7.27299343, 0.99894238, 0.99944165, 0.49325907],\
+-[	-6.27333977, -0.00034620, 0.00021208, 7.27299356, 0.99894250, 0.99944172, 0.49325884],\
+-[	-6.27333986, -0.00034617, 0.00021206, 7.27299370, 0.99894262, 0.99944178, 0.49325906],\
+-[	-6.27333995, -0.00034613, 0.00021203, 7.27299383, 0.99894273, 0.99944184, 0.49325903],\
+-[	-6.27334005, -0.00034609, 0.00021201, 7.27299396, 0.99894285, 0.99944190, 0.49325895],\
+-[	-6.27334014, -0.00034605, 0.00021198, 7.27299409, 0.99894297, 0.99944197, 0.49325883],\
+-[	-6.27334023, -0.00034601, 0.00021196, 7.27299422, 0.99894309, 0.99944203, 0.49325893],\
+-[	-6.27334033, -0.00034597, 0.00021194, 7.27299435, 0.99894321, 0.99944209, 0.49325903],\
+-[	-6.27334042, -0.00034593, 0.00021191, 7.27299448, 0.99894333, 0.99944215, 0.49325919],\
+-[	-6.27334051, -0.00034590, 0.00021189, 7.27299461, 0.99894344, 0.99944222, 0.49325911],\
+-[	-6.27334060, -0.00034586, 0.00021187, 7.27299475, 0.99894356, 0.99944228, 0.49325916],\
+-[	-6.27334070, -0.00034582, 0.00021184, 7.27299488, 0.99894368, 0.99944234, 0.49325910],\
+-[	-6.27334079, -0.00034578, 0.00021182, 7.27299501, 0.99894380, 0.99944240, 0.49325905],\
+-[	-6.27334088, -0.00034574, 0.00021179, 7.27299514, 0.99894392, 0.99944246, 0.49325907],\
+-[	-6.27334097, -0.00034570, 0.00021177, 7.27299527, 0.99894403, 0.99944253, 0.49325918],\
+-[	-6.27334107, -0.00034566, 0.00021175, 7.27299540, 0.99894415, 0.99944259, 0.49325910],\
+-[	-6.27334116, -0.00034563, 0.00021172, 7.27299553, 0.99894427, 0.99944265, 0.49325909],\
+-[	-6.27334125, -0.00034559, 0.00021170, 7.27299566, 0.99894439, 0.99944271, 0.49325903],\
+-[	-6.27334134, -0.00034555, 0.00021168, 7.27299579, 0.99894451, 0.99944278, 0.49325934],\
+-[	-6.27334143, -0.00034551, 0.00021165, 7.27299593, 0.99894462, 0.99944284, 0.49325921],\
+-[	-6.27334153, -0.00034547, 0.00021163, 7.27299606, 0.99894474, 0.99944290, 0.49325916],\
+-[	-6.27334162, -0.00034543, 0.00021161, 7.27299619, 0.99894486, 0.99944296, 0.49325905],\
+-[	-6.27334171, -0.00034539, 0.00021158, 7.27299632, 0.99894498, 0.99944302, 0.49325932],\
+-[	-6.27334180, -0.00034536, 0.00021156, 7.27299645, 0.99894509, 0.99944309, 0.49325918],\
+-[	-6.27334190, -0.00034532, 0.00021153, 7.27299658, 0.99894521, 0.99944315, 0.49325928],\
+-[	-6.27334199, -0.00034528, 0.00021151, 7.27299671, 0.99894533, 0.99944321, 0.49325927],\
+-[	-6.27334208, -0.00034524, 0.00021149, 7.27299684, 0.99894545, 0.99944327, 0.49325910],\
+-[	-6.27334217, -0.00034520, 0.00021146, 7.27299697, 0.99894557, 0.99944334, 0.49325933],\
+-[	-6.27334226, -0.00034516, 0.00021144, 7.27299710, 0.99894568, 0.99944340, 0.49325931],\
+-[	-6.27334236, -0.00034512, 0.00021142, 7.27299723, 0.99894580, 0.99944346, 0.49325913],\
+-[	-6.27334245, -0.00034509, 0.00021139, 7.27299736, 0.99894592, 0.99944352, 0.49325935],\
+-[	-6.27334254, -0.00034505, 0.00021137, 7.27299749, 0.99894604, 0.99944358, 0.49325926],\
+-[	-6.27334263, -0.00034501, 0.00021135, 7.27299762, 0.99894615, 0.99944365, 0.49325931],\
+-[	-6.27334273, -0.00034497, 0.00021132, 7.27299776, 0.99894627, 0.99944371, 0.49325923],\
+-[	-6.27334282, -0.00034493, 0.00021130, 7.27299789, 0.99894639, 0.99944377, 0.49325932],\
+-[	-6.27334291, -0.00034489, 0.00021128, 7.27299802, 0.99894651, 0.99944383, 0.49325937],\
+-[	-6.27334300, -0.00034486, 0.00021125, 7.27299815, 0.99894662, 0.99944389, 0.49325925],\
+-[	-6.27334309, -0.00034482, 0.00021123, 7.27299828, 0.99894674, 0.99944396, 0.49325938],\
+-[	-6.27334319, -0.00034478, 0.00021120, 7.27299841, 0.99894686, 0.99944402, 0.49325937],\
+-[	-6.27334328, -0.00034474, 0.00021118, 7.27299854, 0.99894697, 0.99944408, 0.49325933],\
+-[	-6.27334337, -0.00034470, 0.00021116, 7.27299867, 0.99894709, 0.99944414, 0.49325964],\
+-[	-6.27334346, -0.00034466, 0.00021113, 7.27299880, 0.99894721, 0.99944420, 0.49325932],\
+-[	-6.27334355, -0.00034462, 0.00021111, 7.27299893, 0.99894733, 0.99944426, 0.49325939],\
+-[	-6.27334364, -0.00034459, 0.00021109, 7.27299906, 0.99894744, 0.99944433, 0.49325953],\
+-[	-6.27334374, -0.00034455, 0.00021106, 7.27299919, 0.99894756, 0.99944439, 0.49325955],\
+-[	-6.27334383, -0.00034451, 0.00021104, 7.27299932, 0.99894768, 0.99944445, 0.49325952],\
+-[	-6.27334392, -0.00034447, 0.00021102, 7.27299945, 0.99894780, 0.99944451, 0.49325957],\
+-[	-6.27334401, -0.00034443, 0.00021099, 7.27299958, 0.99894791, 0.99944457, 0.49325952],\
+-[	-6.27334410, -0.00034439, 0.00021097, 7.27299971, 0.99894803, 0.99944464, 0.49325948],\
+-[	-6.27334420, -0.00034436, 0.00021095, 7.27299984, 0.99894815, 0.99944470, 0.49325953],\
+-[	-6.27334429, -0.00034432, 0.00021092, 7.27299997, 0.99894826, 0.99944476, 0.49325969],\
+-[	-6.27334438, -0.00034428, 0.00021090, 7.27300010, 0.99894838, 0.99944482, 0.49325951],\
+-[	-6.27334447, -0.00034424, 0.00021088, 7.27300023, 0.99894850, 0.99944488, 0.49325964],\
+-[	-6.27334456, -0.00034420, 0.00021085, 7.27300036, 0.99894861, 0.99944494, 0.49325959],\
+-[	-6.27334465, -0.00034417, 0.00021083, 7.27300049, 0.99894873, 0.99944501, 0.49325984],\
+-[	-6.27334475, -0.00034413, 0.00021081, 7.27300062, 0.99894885, 0.99944507, 0.49325961],\
+-[	-6.27334484, -0.00034409, 0.00021078, 7.27300075, 0.99894897, 0.99944513, 0.49325970],\
+-[	-6.27334493, -0.00034405, 0.00021076, 7.27300088, 0.99894908, 0.99944519, 0.49325973],\
+-[	-6.27334502, -0.00034401, 0.00021073, 7.27300101, 0.99894920, 0.99944525, 0.49325965],\
+-[	-6.27334511, -0.00034397, 0.00021071, 7.27300114, 0.99894932, 0.99944531, 0.49325961],\
+-[	-6.27334520, -0.00034394, 0.00021069, 7.27300127, 0.99894943, 0.99944538, 0.49325970],\
+-[	-6.27334529, -0.00034390, 0.00021066, 7.27300140, 0.99894955, 0.99944544, 0.49325947],\
+-[	-6.27334539, -0.00034386, 0.00021064, 7.27300153, 0.99894967, 0.99944550, 0.49325970],\
+-[	-6.27334548, -0.00034382, 0.00021062, 7.27300166, 0.99894978, 0.99944556, 0.49325986],\
+-[	-6.27334557, -0.00034378, 0.00021059, 7.27300179, 0.99894990, 0.99944562, 0.49325975],\
+-[	-6.27334566, -0.00034374, 0.00021057, 7.27300192, 0.99895002, 0.99944568, 0.49325973],\
+-[	-6.27334575, -0.00034371, 0.00021055, 7.27300205, 0.99895013, 0.99944575, 0.49325990],\
+-[	-6.27334584, -0.00034367, 0.00021052, 7.27300217, 0.99895025, 0.99944581, 0.49325987],\
+-[	-6.27334593, -0.00034363, 0.00021050, 7.27300230, 0.99895037, 0.99944587, 0.49325975],\
+-[	-6.27334603, -0.00034359, 0.00021048, 7.27300243, 0.99895048, 0.99944593, 0.49325986],\
+-[	-6.27334612, -0.00034355, 0.00021045, 7.27300256, 0.99895060, 0.99944599, 0.49325980],\
+-[	-6.27334621, -0.00034352, 0.00021043, 7.27300269, 0.99895072, 0.99944605, 0.49325999],\
+-[	-6.27334630, -0.00034348, 0.00021041, 7.27300282, 0.99895083, 0.99944611, 0.49326005],\
+-[	-6.27334639, -0.00034344, 0.00021038, 7.27300295, 0.99895095, 0.99944618, 0.49325989],\
+-[	-6.27334648, -0.00034340, 0.00021036, 7.27300308, 0.99895106, 0.99944624, 0.49325982],\
+-[	-6.27334657, -0.00034336, 0.00021034, 7.27300321, 0.99895118, 0.99944630, 0.49326004],\
+-[	-6.27334666, -0.00034333, 0.00021031, 7.27300334, 0.99895130, 0.99944636, 0.49325987],\
+-[	-6.27334676, -0.00034329, 0.00021029, 7.27300347, 0.99895141, 0.99944642, 0.49326003],\
+-[	-6.27334685, -0.00034325, 0.00021027, 7.27300360, 0.99895153, 0.99944648, 0.49325986],\
+-[	-6.27334694, -0.00034321, 0.00021024, 7.27300373, 0.99895165, 0.99944654, 0.49326013],\
+-[	-6.27334703, -0.00034317, 0.00021022, 7.27300386, 0.99895176, 0.99944661, 0.49326001],\
+-[	-6.27334712, -0.00034313, 0.00021020, 7.27300399, 0.99895188, 0.99944667, 0.49325997],\
+-[	-6.27334721, -0.00034310, 0.00021017, 7.27300411, 0.99895199, 0.99944673, 0.49325982],\
+-[	-6.27334730, -0.00034306, 0.00021015, 7.27300424, 0.99895211, 0.99944679, 0.49326004],\
+-[	-6.27334739, -0.00034302, 0.00021013, 7.27300437, 0.99895223, 0.99944685, 0.49326000],\
+-[	-6.27334748, -0.00034298, 0.00021010, 7.27300450, 0.99895234, 0.99944691, 0.49326002],\
+-[	-6.27334758, -0.00034294, 0.00021008, 7.27300463, 0.99895246, 0.99944697, 0.49326019],\
+-[	-6.27334767, -0.00034291, 0.00021006, 7.27300476, 0.99895258, 0.99944704, 0.49326022],\
+-[	-6.27334776, -0.00034287, 0.00021003, 7.27300489, 0.99895269, 0.99944710, 0.49325991],\
+-[	-6.27334785, -0.00034283, 0.00021001, 7.27300502, 0.99895281, 0.99944716, 0.49326017],\
+-[	-6.27334794, -0.00034279, 0.00020999, 7.27300515, 0.99895292, 0.99944722, 0.49326012],\
+-[	-6.27334803, -0.00034276, 0.00020996, 7.27300527, 0.99895304, 0.99944728, 0.49326022],\
+-[	-6.27334812, -0.00034272, 0.00020994, 7.27300540, 0.99895316, 0.99944734, 0.49326001],\
+-[	-6.27334821, -0.00034268, 0.00020992, 7.27300553, 0.99895327, 0.99944740, 0.49326024],\
+-[	-6.27334830, -0.00034264, 0.00020989, 7.27300566, 0.99895339, 0.99944746, 0.49326021],\
+-[	-6.27334839, -0.00034260, 0.00020987, 7.27300579, 0.99895350, 0.99944753, 0.49326029],\
+-[	-6.27334848, -0.00034257, 0.00020985, 7.27300592, 0.99895362, 0.99944759, 0.49326016],\
+-[	-6.27334857, -0.00034253, 0.00020983, 7.27300605, 0.99895373, 0.99944765, 0.49326016],\
+-[	-6.27334867, -0.00034249, 0.00020980, 7.27300618, 0.99895385, 0.99944771, 0.49326045],\
+-[	-6.27334876, -0.00034245, 0.00020978, 7.27300630, 0.99895397, 0.99944777, 0.49326011],\
+-[	-6.27334885, -0.00034241, 0.00020976, 7.27300643, 0.99895408, 0.99944783, 0.49326023],\
+-[	-6.27334894, -0.00034238, 0.00020973, 7.27300656, 0.99895420, 0.99944789, 0.49326007],\
+-[	-6.27334903, -0.00034234, 0.00020971, 7.27300669, 0.99895431, 0.99944795, 0.49326021],\
+-[	-6.27334912, -0.00034230, 0.00020969, 7.27300682, 0.99895443, 0.99944801, 0.49326027],\
+-[	-6.27334921, -0.00034226, 0.00020966, 7.27300695, 0.99895454, 0.99944807, 0.49326040],\
+-[	-6.27334930, -0.00034222, 0.00020964, 7.27300708, 0.99895466, 0.99944814, 0.49326032],\
+-[	-6.27334939, -0.00034219, 0.00020962, 7.27300720, 0.99895478, 0.99944820, 0.49326028],\
+-[	-6.27334948, -0.00034215, 0.00020959, 7.27300733, 0.99895489, 0.99944826, 0.49326022],\
+-[	-6.27334957, -0.00034211, 0.00020957, 7.27300746, 0.99895501, 0.99944832, 0.49326044],\
+-[	-6.27334966, -0.00034207, 0.00020955, 7.27300759, 0.99895512, 0.99944838, 0.49326036],\
+-[	-6.27334975, -0.00034204, 0.00020952, 7.27300772, 0.99895524, 0.99944844, 0.49326052],\
+-[	-6.27334984, -0.00034200, 0.00020950, 7.27300785, 0.99895535, 0.99944850, 0.49326050],\
+-[	-6.27334993, -0.00034196, 0.00020948, 7.27300797, 0.99895547, 0.99944856, 0.49326047],\
+-[	-6.27335002, -0.00034192, 0.00020945, 7.27300810, 0.99895558, 0.99944862, 0.49326049],\
+-[	-6.27335011, -0.00034188, 0.00020943, 7.27300823, 0.99895570, 0.99944868, 0.49326038],\
+-[	-6.27335021, -0.00034185, 0.00020941, 7.27300836, 0.99895582, 0.99944875, 0.49326054],\
+-[	-6.27335030, -0.00034181, 0.00020938, 7.27300849, 0.99895593, 0.99944881, 0.49326041],\
+-[	-6.27335039, -0.00034177, 0.00020936, 7.27300861, 0.99895605, 0.99944887, 0.49326059],\
+-[	-6.27335048, -0.00034173, 0.00020934, 7.27300874, 0.99895616, 0.99944893, 0.49326058],\
+-[	-6.27335057, -0.00034170, 0.00020932, 7.27300887, 0.99895628, 0.99944899, 0.49326043],\
+-[	-6.27335066, -0.00034166, 0.00020929, 7.27300900, 0.99895639, 0.99944905, 0.49326062],\
+-[	-6.27335075, -0.00034162, 0.00020927, 7.27300913, 0.99895651, 0.99944911, 0.49326067],\
+-[	-6.27335084, -0.00034158, 0.00020925, 7.27300925, 0.99895662, 0.99944917, 0.49326078],\
+-[	-6.27335093, -0.00034154, 0.00020922, 7.27300938, 0.99895674, 0.99944923, 0.49326065],\
+-[	-6.27335102, -0.00034151, 0.00020920, 7.27300951, 0.99895685, 0.99944929, 0.49326059],\
+-[	-6.27335111, -0.00034147, 0.00020918, 7.27300964, 0.99895697, 0.99944935, 0.49326055],\
+-[	-6.27335120, -0.00034143, 0.00020915, 7.27300977, 0.99895708, 0.99944941, 0.49326066],\
+-[	-6.27335129, -0.00034139, 0.00020913, 7.27300989, 0.99895720, 0.99944948, 0.49326077],\
+-[	-6.27335138, -0.00034136, 0.00020911, 7.27301002, 0.99895731, 0.99944954, 0.49326066],\
+-[	-6.27335147, -0.00034132, 0.00020908, 7.27301015, 0.99895743, 0.99944960, 0.49326075],\
+-[	-6.27335156, -0.00034128, 0.00020906, 7.27301028, 0.99895754, 0.99944966, 0.49326055],\
+-[	-6.27335165, -0.00034124, 0.00020904, 7.27301040, 0.99895766, 0.99944972, 0.49326086],\
+-[	-6.27335174, -0.00034121, 0.00020902, 7.27301053, 0.99895777, 0.99944978, 0.49326055],\
+-[	-6.27335183, -0.00034117, 0.00020899, 7.27301066, 0.99895789, 0.99944984, 0.49326069],\
+-[	-6.27335192, -0.00034113, 0.00020897, 7.27301079, 0.99895800, 0.99944990, 0.49326076],\
+-[	-6.27335201, -0.00034109, 0.00020895, 7.27301092, 0.99895812, 0.99944996, 0.49326064],\
+-[	-6.27335210, -0.00034106, 0.00020892, 7.27301104, 0.99895823, 0.99945002, 0.49326064],\
+-[	-6.27335219, -0.00034102, 0.00020890, 7.27301117, 0.99895835, 0.99945008, 0.49326079],\
+-[	-6.27335228, -0.00034098, 0.00020888, 7.27301130, 0.99895846, 0.99945014, 0.49326094],\
+-[	-6.27335237, -0.00034094, 0.00020885, 7.27301143, 0.99895858, 0.99945020, 0.49326073],\
+-[	-6.27335246, -0.00034091, 0.00020883, 7.27301155, 0.99895869, 0.99945026, 0.49326067],\
+-[	-6.27335255, -0.00034087, 0.00020881, 7.27301168, 0.99895881, 0.99945032, 0.49326096],\
+-[	-6.27335264, -0.00034083, 0.00020878, 7.27301181, 0.99895892, 0.99945038, 0.49326074],\
+-[	-6.27335273, -0.00034079, 0.00020876, 7.27301194, 0.99895903, 0.99945045, 0.49326072],\
+-[	-6.27335282, -0.00034076, 0.00020874, 7.27301206, 0.99895915, 0.99945051, 0.49326097],\
+-[	-6.27335291, -0.00034072, 0.00020872, 7.27301219, 0.99895926, 0.99945057, 0.49326095],\
+-[	-6.27335300, -0.00034068, 0.00020869, 7.27301232, 0.99895938, 0.99945063, 0.49326083],\
+-[	-6.27335309, -0.00034064, 0.00020867, 7.27301244, 0.99895949, 0.99945069, 0.49326094],\
+-[	-6.27335318, -0.00034061, 0.00020865, 7.27301257, 0.99895961, 0.99945075, 0.49326071],\
+-[	-6.27335327, -0.00034057, 0.00020862, 7.27301270, 0.99895972, 0.99945081, 0.49326094],\
+-[	-6.27335336, -0.00034053, 0.00020860, 7.27301283, 0.99895984, 0.99945087, 0.49326119],\
+-[	-6.27335345, -0.00034049, 0.00020858, 7.27301295, 0.99895995, 0.99945093, 0.49326102],\
+-[	-6.27335354, -0.00034046, 0.00020856, 7.27301308, 0.99896007, 0.99945099, 0.49326095],\
+-[	-6.27335363, -0.00034042, 0.00020853, 7.27301321, 0.99896018, 0.99945105, 0.49326111],\
+-[	-6.27335372, -0.00034038, 0.00020851, 7.27301333, 0.99896029, 0.99945111, 0.49326093],\
+-[	-6.27335380, -0.00034034, 0.00020849, 7.27301346, 0.99896041, 0.99945117, 0.49326092],\
+-[	-6.27335389, -0.00034031, 0.00020846, 7.27301359, 0.99896052, 0.99945123, 0.49326086],\
+-[	-6.27335398, -0.00034027, 0.00020844, 7.27301372, 0.99896064, 0.99945129, 0.49326111],\
+-[	-6.27335407, -0.00034023, 0.00020842, 7.27301384, 0.99896075, 0.99945135, 0.49326085],\
+-[	-6.27335416, -0.00034019, 0.00020839, 7.27301397, 0.99896087, 0.99945141, 0.49326107],\
+-[	-6.27335425, -0.00034016, 0.00020837, 7.27301410, 0.99896098, 0.99945147, 0.49326138],\
+-[	-6.27335434, -0.00034012, 0.00020835, 7.27301422, 0.99896109, 0.99945153, 0.49326107],\
+-[	-6.27335443, -0.00034008, 0.00020833, 7.27301435, 0.99896121, 0.99945159, 0.49326110],\
+-[	-6.27335452, -0.00034004, 0.00020830, 7.27301448, 0.99896132, 0.99945165, 0.49326107],\
+-[	-6.27335461, -0.00034001, 0.00020828, 7.27301460, 0.99896144, 0.99945171, 0.49326111],\
+-[	-6.27335470, -0.00033997, 0.00020826, 7.27301473, 0.99896155, 0.99945177, 0.49326094],\
+-[	-6.27335479, -0.00033993, 0.00020823, 7.27301486, 0.99896166, 0.99945183, 0.49326116],\
+-[	-6.27335488, -0.00033989, 0.00020821, 7.27301498, 0.99896178, 0.99945189, 0.49326119],\
+-[	-6.27335497, -0.00033986, 0.00020819, 7.27301511, 0.99896189, 0.99945195, 0.49326130],\
+-[	-6.27335506, -0.00033982, 0.00020817, 7.27301524, 0.99896201, 0.99945201, 0.49326119],\
+-[	-6.27335515, -0.00033978, 0.00020814, 7.27301536, 0.99896212, 0.99945207, 0.49326105],\
+-[	-6.27335524, -0.00033975, 0.00020812, 7.27301549, 0.99896223, 0.99945213, 0.49326119],\
+-[	-6.27335533, -0.00033971, 0.00020810, 7.27301562, 0.99896235, 0.99945219, 0.49326118],\
+-[	-6.27335541, -0.00033967, 0.00020807, 7.27301574, 0.99896246, 0.99945225, 0.49326126],\
+-[	-6.27335550, -0.00033963, 0.00020805, 7.27301587, 0.99896258, 0.99945231, 0.49326104],\
+-[	-6.27335559, -0.00033960, 0.00020803, 7.27301600, 0.99896269, 0.99945237, 0.49326124],\
+-[	-6.27335568, -0.00033956, 0.00020801, 7.27301612, 0.99896280, 0.99945243, 0.49326121],\
+-[	-6.27335577, -0.00033952, 0.00020798, 7.27301625, 0.99896292, 0.99945249, 0.49326126],\
+-[	-6.27335586, -0.00033948, 0.00020796, 7.27301638, 0.99896303, 0.99945255, 0.49326146],\
+-[	-6.27335595, -0.00033945, 0.00020794, 7.27301650, 0.99896315, 0.99945261, 0.49326123],\
+-[	-6.27335604, -0.00033941, 0.00020791, 7.27301663, 0.99896326, 0.99945267, 0.49326137],\
+-[	-6.27335613, -0.00033937, 0.00020789, 7.27301675, 0.99896337, 0.99945274, 0.49326124],\
+-[	-6.27335622, -0.00033934, 0.00020787, 7.27301688, 0.99896349, 0.99945279, 0.49326144],\
+-[	-6.27335631, -0.00033930, 0.00020785, 7.27301701, 0.99896360, 0.99945286, 0.49326118],\
+-[	-6.27335639, -0.00033926, 0.00020782, 7.27301713, 0.99896371, 0.99945291, 0.49326131],\
+-[	-6.27335648, -0.00033922, 0.00020780, 7.27301726, 0.99896383, 0.99945297, 0.49326131],\
+-[	-6.27335657, -0.00033919, 0.00020778, 7.27301739, 0.99896394, 0.99945303, 0.49326137],\
+-[	-6.27335666, -0.00033915, 0.00020776, 7.27301751, 0.99896405, 0.99945309, 0.49326160],\
+-[	-6.27335675, -0.00033911, 0.00020773, 7.27301764, 0.99896417, 0.99945315, 0.49326160],\
+-[	-6.27335684, -0.00033908, 0.00020771, 7.27301776, 0.99896428, 0.99945321, 0.49326123],\
+-[	-6.27335693, -0.00033904, 0.00020769, 7.27301789, 0.99896439, 0.99945327, 0.49326161],\
+-[	-6.27335702, -0.00033900, 0.00020766, 7.27301802, 0.99896451, 0.99945333, 0.49326152],\
+-[	-6.27335711, -0.00033896, 0.00020764, 7.27301814, 0.99896462, 0.99945339, 0.49326143],\
+-[	-6.27335720, -0.00033893, 0.00020762, 7.27301827, 0.99896473, 0.99945345, 0.49326145],\
+-[	-6.27335728, -0.00033889, 0.00020760, 7.27301839, 0.99896485, 0.99945351, 0.49326173],\
+-[	-6.27335737, -0.00033885, 0.00020757, 7.27301852, 0.99896496, 0.99945357, 0.49326144],\
+-[	-6.27335746, -0.00033882, 0.00020755, 7.27301865, 0.99896507, 0.99945363, 0.49326151],\
+-[	-6.27335755, -0.00033878, 0.00020753, 7.27301877, 0.99896519, 0.99945369, 0.49326137],\
+-[	-6.27335764, -0.00033874, 0.00020751, 7.27301890, 0.99896530, 0.99945375, 0.49326159],\
+-[	-6.27335773, -0.00033870, 0.00020748, 7.27301902, 0.99896541, 0.99945381, 0.49326170],\
+-[	-6.27335782, -0.00033867, 0.00020746, 7.27301915, 0.99896553, 0.99945387, 0.49326167],\
+-[	-6.27335791, -0.00033863, 0.00020744, 7.27301927, 0.99896564, 0.99945393, 0.49326166],\
+-[	-6.27335799, -0.00033859, 0.00020741, 7.27301940, 0.99896575, 0.99945399, 0.49326169],\
+-[	-6.27335808, -0.00033856, 0.00020739, 7.27301953, 0.99896587, 0.99945405, 0.49326162],\
+-[	-6.27335817, -0.00033852, 0.00020737, 7.27301965, 0.99896598, 0.99945411, 0.49326183],\
+-[	-6.27335826, -0.00033848, 0.00020735, 7.27301978, 0.99896609, 0.99945417, 0.49326173],\
+-[	-6.27335835, -0.00033845, 0.00020732, 7.27301990, 0.99896621, 0.99945423, 0.49326171],\
+-[	-6.27335844, -0.00033841, 0.00020730, 7.27302003, 0.99896632, 0.99945429, 0.49326166],\
+-[	-6.27335853, -0.00033837, 0.00020728, 7.27302015, 0.99896643, 0.99945435, 0.49326165],\
+-[	-6.27335861, -0.00033833, 0.00020726, 7.27302028, 0.99896655, 0.99945441, 0.49326181],\
+-[	-6.27335870, -0.00033830, 0.00020723, 7.27302041, 0.99896666, 0.99945447, 0.49326156],\
+-[	-6.27335879, -0.00033826, 0.00020721, 7.27302053, 0.99896677, 0.99945453, 0.49326193],\
+-[	-6.27335888, -0.00033822, 0.00020719, 7.27302066, 0.99896688, 0.99945459, 0.49326181],\
+-[	-6.27335897, -0.00033819, 0.00020716, 7.27302078, 0.99896700, 0.99945465, 0.49326163],\
+-[	-6.27335906, -0.00033815, 0.00020714, 7.27302091, 0.99896711, 0.99945471, 0.49326173],\
+-[	-6.27335915, -0.00033811, 0.00020712, 7.27302103, 0.99896722, 0.99945477, 0.49326188],\
+-[	-6.27335923, -0.00033808, 0.00020710, 7.27302116, 0.99896734, 0.99945483, 0.49326193],\
+-[	-6.27335932, -0.00033804, 0.00020707, 7.27302128, 0.99896745, 0.99945489, 0.49326203],\
+-[	-6.27335941, -0.00033800, 0.00020705, 7.27302141, 0.99896756, 0.99945495, 0.49326181],\
+-[	-6.27335950, -0.00033797, 0.00020703, 7.27302153, 0.99896767, 0.99945501, 0.49326178],\
+-[	-6.27335959, -0.00033793, 0.00020701, 7.27302166, 0.99896779, 0.99945507, 0.49326183],\
+-[	-6.27335968, -0.00033789, 0.00020698, 7.27302178, 0.99896790, 0.99945512, 0.49326183],\
+-[	-6.27335976, -0.00033785, 0.00020696, 7.27302191, 0.99896801, 0.99945518, 0.49326190],\
+-[	-6.27335985, -0.00033782, 0.00020694, 7.27302203, 0.99896813, 0.99945524, 0.49326204],\
+-[	-6.27335994, -0.00033778, 0.00020692, 7.27302216, 0.99896824, 0.99945530, 0.49326197],\
+-[	-6.27336003, -0.00033774, 0.00020689, 7.27302228, 0.99896835, 0.99945536, 0.49326200],\
+-[	-6.27336012, -0.00033771, 0.00020687, 7.27302241, 0.99896846, 0.99945542, 0.49326187],\
+-[	-6.27336021, -0.00033767, 0.00020685, 7.27302253, 0.99896858, 0.99945548, 0.49326214],\
+-[	-6.27336029, -0.00033763, 0.00020683, 7.27302266, 0.99896869, 0.99945554, 0.49326210],\
+-[	-6.27336038, -0.00033760, 0.00020680, 7.27302278, 0.99896880, 0.99945560, 0.49326210],\
+-[	-6.27336047, -0.00033756, 0.00020678, 7.27302291, 0.99896891, 0.99945566, 0.49326201],\
+-[	-6.27336056, -0.00033752, 0.00020676, 7.27302303, 0.99896903, 0.99945572, 0.49326223],\
+-[	-6.27336065, -0.00033749, 0.00020674, 7.27302316, 0.99896914, 0.99945578, 0.49326214],\
+-[	-6.27336073, -0.00033745, 0.00020671, 7.27302328, 0.99896925, 0.99945584, 0.49326184],\
+-[	-6.27336082, -0.00033741, 0.00020669, 7.27302341, 0.99896936, 0.99945590, 0.49326190],\
+-[	-6.27336091, -0.00033738, 0.00020667, 7.27302353, 0.99896948, 0.99945596, 0.49326192],\
+-[	-6.27336100, -0.00033734, 0.00020665, 7.27302366, 0.99896959, 0.99945602, 0.49326215],\
+-[	-6.27336109, -0.00033730, 0.00020662, 7.27302378, 0.99896970, 0.99945607, 0.49326198],\
+-[	-6.27336117, -0.00033727, 0.00020660, 7.27302391, 0.99896981, 0.99945613, 0.49326211],\
+-[	-6.27336126, -0.00033723, 0.00020658, 7.27302403, 0.99896992, 0.99945619, 0.49326202],\
+-[	-6.27336135, -0.00033719, 0.00020656, 7.27302416, 0.99897004, 0.99945625, 0.49326208],\
+-[	-6.27336144, -0.00033716, 0.00020653, 7.27302428, 0.99897015, 0.99945631, 0.49326216],\
+-[	-6.27336153, -0.00033712, 0.00020651, 7.27302441, 0.99897026, 0.99945637, 0.49326199],\
+-[	-6.27336161, -0.00033708, 0.00020649, 7.27302453, 0.99897037, 0.99945643, 0.49326218],\
+-[	-6.27336170, -0.00033705, 0.00020647, 7.27302466, 0.99897049, 0.99945649, 0.49326214],\
+-[	-6.27336179, -0.00033701, 0.00020644, 7.27302478, 0.99897060, 0.99945655, 0.49326240],\
+-[	-6.27336188, -0.00033697, 0.00020642, 7.27302491, 0.99897071, 0.99945661, 0.49326199],\
+-[	-6.27336197, -0.00033694, 0.00020640, 7.27302503, 0.99897082, 0.99945667, 0.49326203],\
+-[	-6.27336205, -0.00033690, 0.00020638, 7.27302515, 0.99897093, 0.99945673, 0.49326224],\
+-[	-6.27336214, -0.00033686, 0.00020635, 7.27302528, 0.99897105, 0.99945679, 0.49326220],\
+-[	-6.27336223, -0.00033683, 0.00020633, 7.27302540, 0.99897116, 0.99945684, 0.49326222],\
+-[	-6.27336232, -0.00033679, 0.00020631, 7.27302553, 0.99897127, 0.99945690, 0.49326242],\
+-[	-6.27336240, -0.00033675, 0.00020629, 7.27302565, 0.99897138, 0.99945696, 0.49326213],\
+-[	-6.27336249, -0.00033672, 0.00020626, 7.27302578, 0.99897149, 0.99945702, 0.49326219],\
+-[	-6.27336258, -0.00033668, 0.00020624, 7.27302590, 0.99897161, 0.99945708, 0.49326219],\
+-[	-6.27336267, -0.00033664, 0.00020622, 7.27302603, 0.99897172, 0.99945714, 0.49326250],\
+-[	-6.27336275, -0.00033661, 0.00020620, 7.27302615, 0.99897183, 0.99945720, 0.49326244],\
+-[	-6.27336284, -0.00033657, 0.00020617, 7.27302627, 0.99897194, 0.99945726, 0.49326221],\
+-[	-6.27336293, -0.00033653, 0.00020615, 7.27302640, 0.99897205, 0.99945732, 0.49326264],\
+-[	-6.27336302, -0.00033650, 0.00020613, 7.27302652, 0.99897216, 0.99945738, 0.49326232],\
+-[	-6.27336311, -0.00033646, 0.00020611, 7.27302665, 0.99897228, 0.99945743, 0.49326230],\
+-[	-6.27336319, -0.00033642, 0.00020608, 7.27302677, 0.99897239, 0.99945749, 0.49326227],\
+-[	-6.27336328, -0.00033639, 0.00020606, 7.27302689, 0.99897250, 0.99945755, 0.49326245],\
+-[	-6.27336337, -0.00033635, 0.00020604, 7.27302702, 0.99897261, 0.99945761, 0.49326242],\
+-[	-6.27336346, -0.00033631, 0.00020602, 7.27302714, 0.99897272, 0.99945767, 0.49326246],\
+-[	-6.27336354, -0.00033628, 0.00020599, 7.27302727, 0.99897283, 0.99945773, 0.49326241],\
+-[	-6.27336363, -0.00033624, 0.00020597, 7.27302739, 0.99897295, 0.99945779, 0.49326240],\
+-[	-6.27336372, -0.00033620, 0.00020595, 7.27302751, 0.99897306, 0.99945785, 0.49326249],\
+-[	-6.27336381, -0.00033617, 0.00020593, 7.27302764, 0.99897317, 0.99945791, 0.49326270],\
+-[	-6.27336389, -0.00033613, 0.00020590, 7.27302776, 0.99897328, 0.99945797, 0.49326235],\
+-[	-6.27336398, -0.00033609, 0.00020588, 7.27302789, 0.99897339, 0.99945802, 0.49326239],\
+-[	-6.27336407, -0.00033606, 0.00020586, 7.27302801, 0.99897350, 0.99945808, 0.49326248],\
+-[	-6.27336415, -0.00033602, 0.00020584, 7.27302813, 0.99897362, 0.99945814, 0.49326264],\
+-[	-6.27336424, -0.00033598, 0.00020582, 7.27302826, 0.99897373, 0.99945820, 0.49326263],\
+-[	-6.27336433, -0.00033595, 0.00020579, 7.27302838, 0.99897384, 0.99945826, 0.49326243],\
+-[	-6.27336442, -0.00033591, 0.00020577, 7.27302851, 0.99897395, 0.99945832, 0.49326267],\
+-[	-6.27336450, -0.00033587, 0.00020575, 7.27302863, 0.99897406, 0.99945838, 0.49326234],\
+-[	-6.27336459, -0.00033584, 0.00020573, 7.27302875, 0.99897417, 0.99945844, 0.49326251],\
+-[	-6.27336468, -0.00033580, 0.00020570, 7.27302888, 0.99897428, 0.99945849, 0.49326259],\
+-[	-6.27336477, -0.00033577, 0.00020568, 7.27302900, 0.99897439, 0.99945855, 0.49326266],\
+-[	-6.27336485, -0.00033573, 0.00020566, 7.27302912, 0.99897451, 0.99945861, 0.49326257],\
+-[	-6.27336494, -0.00033569, 0.00020564, 7.27302925, 0.99897462, 0.99945867, 0.49326257],\
+-[	-6.27336503, -0.00033566, 0.00020561, 7.27302937, 0.99897473, 0.99945873, 0.49326264],\
+-[	-6.27336511, -0.00033562, 0.00020559, 7.27302949, 0.99897484, 0.99945879, 0.49326274],\
+-[	-6.27336520, -0.00033558, 0.00020557, 7.27302962, 0.99897495, 0.99945885, 0.49326286],\
+-[	-6.27336529, -0.00033555, 0.00020555, 7.27302974, 0.99897506, 0.99945891, 0.49326289],\
+-[	-6.27336538, -0.00033551, 0.00020553, 7.27302986, 0.99897517, 0.99945896, 0.49326274],\
+-[	-6.27336546, -0.00033547, 0.00020550, 7.27302999, 0.99897528, 0.99945902, 0.49326267],\
+-[	-6.27336555, -0.00033544, 0.00020548, 7.27303011, 0.99897540, 0.99945908, 0.49326282],\
+-[	-6.27336564, -0.00033540, 0.00020546, 7.27303023, 0.99897551, 0.99945914, 0.49326268],\
+-[	-6.27336572, -0.00033537, 0.00020544, 7.27303036, 0.99897562, 0.99945920, 0.49326305],\
+-[	-6.27336581, -0.00033533, 0.00020541, 7.27303048, 0.99897573, 0.99945926, 0.49326276],\
+-[	-6.27336590, -0.00033529, 0.00020539, 7.27303060, 0.99897584, 0.99945932, 0.49326281],\
+-[	-6.27336598, -0.00033526, 0.00020537, 7.27303073, 0.99897595, 0.99945937, 0.49326294],\
+-[	-6.27336607, -0.00033522, 0.00020535, 7.27303085, 0.99897606, 0.99945943, 0.49326286],\
+-[	-6.27336616, -0.00033518, 0.00020532, 7.27303097, 0.99897617, 0.99945949, 0.49326281],\
+-[	-6.27336625, -0.00033515, 0.00020530, 7.27303110, 0.99897628, 0.99945955, 0.49326286],\
+-[	-6.27336633, -0.00033511, 0.00020528, 7.27303122, 0.99897639, 0.99945961, 0.49326297],\
+-[	-6.27336642, -0.00033508, 0.00020526, 7.27303134, 0.99897650, 0.99945967, 0.49326279],\
+-[	-6.27336651, -0.00033504, 0.00020524, 7.27303147, 0.99897662, 0.99945973, 0.49326311],\
+-[	-6.27336659, -0.00033500, 0.00020521, 7.27303159, 0.99897673, 0.99945978, 0.49326289],\
+-[	-6.27336668, -0.00033497, 0.00020519, 7.27303171, 0.99897684, 0.99945984, 0.49326305],\
+-[	-6.27336677, -0.00033493, 0.00020517, 7.27303184, 0.99897695, 0.99945990, 0.49326297],\
+-[	-6.27336685, -0.00033489, 0.00020515, 7.27303196, 0.99897706, 0.99945996, 0.49326277],\
+-[	-6.27336694, -0.00033486, 0.00020512, 7.27303208, 0.99897717, 0.99946002, 0.49326308],\
+-[	-6.27336703, -0.00033482, 0.00020510, 7.27303221, 0.99897728, 0.99946008, 0.49326289],\
+-[	-6.27336711, -0.00033479, 0.00020508, 7.27303233, 0.99897739, 0.99946013, 0.49326298],\
+-[	-6.27336720, -0.00033475, 0.00020506, 7.27303245, 0.99897750, 0.99946019, 0.49326300],\
+-[	-6.27336729, -0.00033471, 0.00020504, 7.27303257, 0.99897761, 0.99946025, 0.49326304],\
+-[	-6.27336737, -0.00033468, 0.00020501, 7.27303270, 0.99897772, 0.99946031, 0.49326311],\
+-[	-6.27336746, -0.00033464, 0.00020499, 7.27303282, 0.99897783, 0.99946037, 0.49326309],\
+-[	-6.27336755, -0.00033460, 0.00020497, 7.27303294, 0.99897794, 0.99946043, 0.49326303],\
+-[	-6.27336763, -0.00033457, 0.00020495, 7.27303306, 0.99897805, 0.99946048, 0.49326308],\
+-[	-6.27336772, -0.00033453, 0.00020493, 7.27303319, 0.99897816, 0.99946054, 0.49326287],\
+-[	-6.27336781, -0.00033450, 0.00020490, 7.27303331, 0.99897827, 0.99946060, 0.49326314],\
+-[	-6.27336789, -0.00033446, 0.00020488, 7.27303343, 0.99897839, 0.99946066, 0.49326307],\
+-[	-6.27336798, -0.00033442, 0.00020486, 7.27303356, 0.99897850, 0.99946072, 0.49326307],\
+-[	-6.27336807, -0.00033439, 0.00020484, 7.27303368, 0.99897861, 0.99946078, 0.49326322],\
+-[	-6.27336815, -0.00033435, 0.00020481, 7.27303380, 0.99897872, 0.99946083, 0.49326311],\
+-[	-6.27336824, -0.00033432, 0.00020479, 7.27303392, 0.99897883, 0.99946089, 0.49326322],\
+-[	-6.27336833, -0.00033428, 0.00020477, 7.27303405, 0.99897894, 0.99946095, 0.49326339],\
+-[	-6.27336841, -0.00033424, 0.00020475, 7.27303417, 0.99897905, 0.99946101, 0.49326319],\
+-[	-6.27336850, -0.00033421, 0.00020473, 7.27303429, 0.99897916, 0.99946107, 0.49326315],\
+-[	-6.27336858, -0.00033417, 0.00020470, 7.27303441, 0.99897927, 0.99946113, 0.49326326],\
+-[	-6.27336867, -0.00033413, 0.00020468, 7.27303454, 0.99897938, 0.99946118, 0.49326320],\
+-[	-6.27336876, -0.00033410, 0.00020466, 7.27303466, 0.99897949, 0.99946124, 0.49326335],\
+-[	-6.27336884, -0.00033406, 0.00020464, 7.27303478, 0.99897960, 0.99946130, 0.49326321],\
+-[	-6.27336893, -0.00033403, 0.00020462, 7.27303490, 0.99897971, 0.99946136, 0.49326341],\
+-[	-6.27336902, -0.00033399, 0.00020459, 7.27303503, 0.99897982, 0.99946142, 0.49326319],\
+-[	-6.27336910, -0.00033395, 0.00020457, 7.27303515, 0.99897993, 0.99946147, 0.49326349],\
+-[	-6.27336919, -0.00033392, 0.00020455, 7.27303527, 0.99898004, 0.99946153, 0.49326330],\
+-[	-6.27336927, -0.00033388, 0.00020453, 7.27303539, 0.99898015, 0.99946159, 0.49326316],\
+-[	-6.27336936, -0.00033385, 0.00020451, 7.27303551, 0.99898026, 0.99946165, 0.49326319],\
+-[	-6.27336945, -0.00033381, 0.00020448, 7.27303564, 0.99898037, 0.99946171, 0.49326337],\
+-[	-6.27336953, -0.00033377, 0.00020446, 7.27303576, 0.99898048, 0.99946176, 0.49326350],\
+-[	-6.27336962, -0.00033374, 0.00020444, 7.27303588, 0.99898059, 0.99946182, 0.49326333],\
+-[	-6.27336971, -0.00033370, 0.00020442, 7.27303600, 0.99898070, 0.99946188, 0.49326343],\
+-[	-6.27336979, -0.00033367, 0.00020439, 7.27303613, 0.99898081, 0.99946194, 0.49326342],\
+-[	-6.27336988, -0.00033363, 0.00020437, 7.27303625, 0.99898092, 0.99946200, 0.49326348],\
+-[	-6.27336996, -0.00033359, 0.00020435, 7.27303637, 0.99898103, 0.99946205, 0.49326358],\
+-[	-6.27337005, -0.00033356, 0.00020433, 7.27303649, 0.99898114, 0.99946211, 0.49326344],\
+-[	-6.27337014, -0.00033352, 0.00020431, 7.27303661, 0.99898125, 0.99946217, 0.49326333],\
+-[	-6.27337022, -0.00033349, 0.00020428, 7.27303674, 0.99898136, 0.99946223, 0.49326344],\
+-[	-6.27337031, -0.00033345, 0.00020426, 7.27303686, 0.99898147, 0.99946229, 0.49326346],\
+-[	-6.27337039, -0.00033342, 0.00020424, 7.27303698, 0.99898158, 0.99946234, 0.49326354],\
+-[	-6.27337048, -0.00033338, 0.00020422, 7.27303710, 0.99898169, 0.99946240, 0.49326336],\
+-[	-6.27337057, -0.00033334, 0.00020420, 7.27303722, 0.99898180, 0.99946246, 0.49326349],\
+-[	-6.27337065, -0.00033331, 0.00020417, 7.27303734, 0.99898191, 0.99946252, 0.49326348],\
+-[	-6.27337074, -0.00033327, 0.00020415, 7.27303747, 0.99898202, 0.99946258, 0.49326342],\
+-[	-6.27337082, -0.00033324, 0.00020413, 7.27303759, 0.99898213, 0.99946263, 0.49326343],\
+-[	-6.27337091, -0.00033320, 0.00020411, 7.27303771, 0.99898224, 0.99946269, 0.49326362],\
+-[	-6.27337100, -0.00033316, 0.00020409, 7.27303783, 0.99898234, 0.99946275, 0.49326356],\
+-[	-6.27337108, -0.00033313, 0.00020406, 7.27303795, 0.99898245, 0.99946281, 0.49326362],\
+-[	-6.27337117, -0.00033309, 0.00020404, 7.27303808, 0.99898256, 0.99946287, 0.49326353],\
+-[	-6.27337125, -0.00033306, 0.00020402, 7.27303820, 0.99898267, 0.99946292, 0.49326384],\
+-[	-6.27337134, -0.00033302, 0.00020400, 7.27303832, 0.99898278, 0.99946298, 0.49326355],\
+-[	-6.27337142, -0.00033298, 0.00020398, 7.27303844, 0.99898289, 0.99946304, 0.49326361],\
+-[	-6.27337151, -0.00033295, 0.00020395, 7.27303856, 0.99898300, 0.99946310, 0.49326362],\
+-[	-6.27337160, -0.00033291, 0.00020393, 7.27303868, 0.99898311, 0.99946315, 0.49326349],\
+-[	-6.27337168, -0.00033288, 0.00020391, 7.27303880, 0.99898322, 0.99946321, 0.49326369],\
+-[	-6.27337177, -0.00033284, 0.00020389, 7.27303893, 0.99898333, 0.99946327, 0.49326369],\
+-[	-6.27337185, -0.00033281, 0.00020387, 7.27303905, 0.99898344, 0.99946333, 0.49326369],\
+-[	-6.27337194, -0.00033277, 0.00020385, 7.27303917, 0.99898355, 0.99946338, 0.49326367],\
+-[	-6.27337202, -0.00033273, 0.00020382, 7.27303929, 0.99898366, 0.99946344, 0.49326359],\
+-[	-6.27337211, -0.00033270, 0.00020380, 7.27303941, 0.99898377, 0.99946350, 0.49326376],\
+-[	-6.27337220, -0.00033266, 0.00020378, 7.27303953, 0.99898388, 0.99946356, 0.49326382],\
+-[	-6.27337228, -0.00033263, 0.00020376, 7.27303965, 0.99898399, 0.99946362, 0.49326384],\
+-[	-6.27337237, -0.00033259, 0.00020374, 7.27303978, 0.99898409, 0.99946367, 0.49326379],\
+-[	-6.27337245, -0.00033256, 0.00020371, 7.27303990, 0.99898420, 0.99946373, 0.49326389],\
+-[	-6.27337254, -0.00033252, 0.00020369, 7.27304002, 0.99898431, 0.99946379, 0.49326390],\
+-[	-6.27337262, -0.00033248, 0.00020367, 7.27304014, 0.99898442, 0.99946385, 0.49326379],\
+-[	-6.27337271, -0.00033245, 0.00020365, 7.27304026, 0.99898453, 0.99946390, 0.49326384],\
+-[	-6.27337279, -0.00033241, 0.00020363, 7.27304038, 0.99898464, 0.99946396, 0.49326381],\
+-[	-6.27337288, -0.00033238, 0.00020360, 7.27304050, 0.99898475, 0.99946402, 0.49326372],\
+-[	-6.27337297, -0.00033234, 0.00020358, 7.27304062, 0.99898486, 0.99946408, 0.49326377],\
+-[	-6.27337305, -0.00033231, 0.00020356, 7.27304075, 0.99898497, 0.99946413, 0.49326406],\
+-[	-6.27337314, -0.00033227, 0.00020354, 7.27304087, 0.99898508, 0.99946419, 0.49326380],\
+-[	-6.27337322, -0.00033223, 0.00020352, 7.27304099, 0.99898519, 0.99946425, 0.49326407],\
+-[	-6.27337331, -0.00033220, 0.00020350, 7.27304111, 0.99898529, 0.99946431, 0.49326377],\
+-[	-6.27337339, -0.00033216, 0.00020347, 7.27304123, 0.99898540, 0.99946436, 0.49326399],\
+-[	-6.27337348, -0.00033213, 0.00020345, 7.27304135, 0.99898551, 0.99946442, 0.49326392],\
+-[	-6.27337356, -0.00033209, 0.00020343, 7.27304147, 0.99898562, 0.99946448, 0.49326402],\
+-[	-6.27337365, -0.00033206, 0.00020341, 7.27304159, 0.99898573, 0.99946454, 0.49326407],\
+-[	-6.27337373, -0.00033202, 0.00020339, 7.27304171, 0.99898584, 0.99946459, 0.49326397],\
+-[	-6.27337382, -0.00033198, 0.00020336, 7.27304183, 0.99898595, 0.99946465, 0.49326388],\
+-[	-6.27337390, -0.00033195, 0.00020334, 7.27304196, 0.99898606, 0.99946471, 0.49326400],\
+-[	-6.27337399, -0.00033191, 0.00020332, 7.27304208, 0.99898616, 0.99946477, 0.49326405],\
+-[	-6.27337407, -0.00033188, 0.00020330, 7.27304220, 0.99898627, 0.99946482, 0.49326405],\
+-[	-6.27337416, -0.00033184, 0.00020328, 7.27304232, 0.99898638, 0.99946488, 0.49326395],\
+-[	-6.27337425, -0.00033181, 0.00020326, 7.27304244, 0.99898649, 0.99946494, 0.49326406],\
+-[	-6.27337433, -0.00033177, 0.00020323, 7.27304256, 0.99898660, 0.99946500, 0.49326412],\
+-[	-6.27337442, -0.00033174, 0.00020321, 7.27304268, 0.99898671, 0.99946505, 0.49326418],\
+-[	-6.27337450, -0.00033170, 0.00020319, 7.27304280, 0.99898682, 0.99946511, 0.49326405],\
+-[	-6.27337459, -0.00033166, 0.00020317, 7.27304292, 0.99898693, 0.99946517, 0.49326394],\
+-[	-6.27337467, -0.00033163, 0.00020315, 7.27304304, 0.99898703, 0.99946522, 0.49326407],\
+-[	-6.27337476, -0.00033159, 0.00020312, 7.27304316, 0.99898714, 0.99946528, 0.49326381],\
+-[	-6.27337484, -0.00033156, 0.00020310, 7.27304328, 0.99898725, 0.99946534, 0.49326400],\
+-[	-6.27337493, -0.00033152, 0.00020308, 7.27304340, 0.99898736, 0.99946540, 0.49326414],\
+-[	-6.27337501, -0.00033149, 0.00020306, 7.27304352, 0.99898747, 0.99946545, 0.49326426],\
+-[	-6.27337510, -0.00033145, 0.00020304, 7.27304364, 0.99898758, 0.99946551, 0.49326422],\
+-[	-6.27337518, -0.00033142, 0.00020302, 7.27304376, 0.99898768, 0.99946557, 0.49326412],\
+-[	-6.27337527, -0.00033138, 0.00020299, 7.27304389, 0.99898779, 0.99946563, 0.49326410],\
+-[	-6.27337535, -0.00033135, 0.00020297, 7.27304401, 0.99898790, 0.99946568, 0.49326415],\
+-[	-6.27337544, -0.00033131, 0.00020295, 7.27304413, 0.99898801, 0.99946574, 0.49326422],\
+-[	-6.27337552, -0.00033127, 0.00020293, 7.27304425, 0.99898812, 0.99946580, 0.49326416],\
+-[	-6.27337561, -0.00033124, 0.00020291, 7.27304437, 0.99898823, 0.99946585, 0.49326449],\
+-[	-6.27337569, -0.00033120, 0.00020289, 7.27304449, 0.99898833, 0.99946591, 0.49326425],\
+-[	-6.27337578, -0.00033117, 0.00020286, 7.27304461, 0.99898844, 0.99946597, 0.49326435],\
+-[	-6.27337586, -0.00033113, 0.00020284, 7.27304473, 0.99898855, 0.99946603, 0.49326445],\
+-[	-6.27337594, -0.00033110, 0.00020282, 7.27304485, 0.99898866, 0.99946608, 0.49326455],\
+-[	-6.27337603, -0.00033106, 0.00020280, 7.27304497, 0.99898877, 0.99946614, 0.49326433],\
+-[	-6.27337611, -0.00033103, 0.00020278, 7.27304509, 0.99898888, 0.99946620, 0.49326418],\
+-[	-6.27337620, -0.00033099, 0.00020275, 7.27304521, 0.99898898, 0.99946625, 0.49326429],\
+-[	-6.27337628, -0.00033096, 0.00020273, 7.27304533, 0.99898909, 0.99946631, 0.49326433],\
+-[	-6.27337637, -0.00033092, 0.00020271, 7.27304545, 0.99898920, 0.99946637, 0.49326438],\
+-[	-6.27337645, -0.00033088, 0.00020269, 7.27304557, 0.99898931, 0.99946643, 0.49326440],\
+-[	-6.27337654, -0.00033085, 0.00020267, 7.27304569, 0.99898942, 0.99946648, 0.49326448],\
+-[	-6.27337662, -0.00033081, 0.00020265, 7.27304581, 0.99898952, 0.99946654, 0.49326440],\
+-[	-6.27337671, -0.00033078, 0.00020262, 7.27304593, 0.99898963, 0.99946660, 0.49326441],\
+-[	-6.27337679, -0.00033074, 0.00020260, 7.27304605, 0.99898974, 0.99946665, 0.49326439],\
+-[	-6.27337688, -0.00033071, 0.00020258, 7.27304617, 0.99898985, 0.99946671, 0.49326444],\
+-[	-6.27337696, -0.00033067, 0.00020256, 7.27304629, 0.99898996, 0.99946677, 0.49326437],\
+-[	-6.27337705, -0.00033064, 0.00020254, 7.27304641, 0.99899006, 0.99946682, 0.49326463],\
+-[	-6.27337713, -0.00033060, 0.00020252, 7.27304653, 0.99899017, 0.99946688, 0.49326433],\
+-[	-6.27337721, -0.00033057, 0.00020250, 7.27304665, 0.99899028, 0.99946694, 0.49326452],\
+-[	-6.27337730, -0.00033053, 0.00020247, 7.27304677, 0.99899039, 0.99946700, 0.49326464],\
+-[	-6.27337738, -0.00033050, 0.00020245, 7.27304689, 0.99899050, 0.99946705, 0.49326462],\
+-[	-6.27337747, -0.00033046, 0.00020243, 7.27304701, 0.99899060, 0.99946711, 0.49326446],\
+-[	-6.27337755, -0.00033043, 0.00020241, 7.27304713, 0.99899071, 0.99946717, 0.49326448],\
+-[	-6.27337764, -0.00033039, 0.00020239, 7.27304725, 0.99899082, 0.99946722, 0.49326479],\
+-[	-6.27337772, -0.00033035, 0.00020237, 7.27304737, 0.99899093, 0.99946728, 0.49326445],\
+-[	-6.27337781, -0.00033032, 0.00020234, 7.27304749, 0.99899103, 0.99946734, 0.49326446],\
+-[	-6.27337789, -0.00033028, 0.00020232, 7.27304761, 0.99899114, 0.99946739, 0.49326446],\
+-[	-6.27337797, -0.00033025, 0.00020230, 7.27304773, 0.99899125, 0.99946745, 0.49326456],\
+-[	-6.27337806, -0.00033021, 0.00020228, 7.27304785, 0.99899136, 0.99946751, 0.49326462],\
+-[	-6.27337814, -0.00033018, 0.00020226, 7.27304796, 0.99899146, 0.99946756, 0.49326466],\
+-[	-6.27337823, -0.00033014, 0.00020224, 7.27304808, 0.99899157, 0.99946762, 0.49326469],\
+-[	-6.27337831, -0.00033011, 0.00020221, 7.27304820, 0.99899168, 0.99946768, 0.49326455],\
+-[	-6.27337840, -0.00033007, 0.00020219, 7.27304832, 0.99899179, 0.99946773, 0.49326445],\
+-[	-6.27337848, -0.00033004, 0.00020217, 7.27304844, 0.99899190, 0.99946779, 0.49326466],\
+-[	-6.27337856, -0.00033000, 0.00020215, 7.27304856, 0.99899200, 0.99946785, 0.49326467],\
+-[	-6.27337865, -0.00032997, 0.00020213, 7.27304868, 0.99899211, 0.99946790, 0.49326472],\
+-[	-6.27337873, -0.00032993, 0.00020211, 7.27304880, 0.99899222, 0.99946796, 0.49326465],\
+-[	-6.27337882, -0.00032990, 0.00020208, 7.27304892, 0.99899233, 0.99946802, 0.49326487],\
+-[	-6.27337890, -0.00032986, 0.00020206, 7.27304904, 0.99899243, 0.99946807, 0.49326453],\
+-[	-6.27337899, -0.00032983, 0.00020204, 7.27304916, 0.99899254, 0.99946813, 0.49326462],\
+-[	-6.27337907, -0.00032979, 0.00020202, 7.27304928, 0.99899265, 0.99946819, 0.49326466],\
+-[	-6.27337915, -0.00032976, 0.00020200, 7.27304940, 0.99899275, 0.99946824, 0.49326470],\
+-[	-6.27337924, -0.00032972, 0.00020198, 7.27304952, 0.99899286, 0.99946830, 0.49326485],\
+-[	-6.27337932, -0.00032969, 0.00020196, 7.27304964, 0.99899297, 0.99946836, 0.49326493],\
+-[	-6.27337941, -0.00032965, 0.00020193, 7.27304976, 0.99899308, 0.99946841, 0.49326472],\
+-[	-6.27337949, -0.00032962, 0.00020191, 7.27304987, 0.99899318, 0.99946847, 0.49326466],\
+-[	-6.27337957, -0.00032958, 0.00020189, 7.27304999, 0.99899329, 0.99946853, 0.49326475],\
+-[	-6.27337966, -0.00032955, 0.00020187, 7.27305011, 0.99899340, 0.99946858, 0.49326474],\
+-[	-6.27337974, -0.00032951, 0.00020185, 7.27305023, 0.99899351, 0.99946864, 0.49326494],\
+-[	-6.27337983, -0.00032948, 0.00020183, 7.27305035, 0.99899361, 0.99946870, 0.49326475],\
+-[	-6.27337991, -0.00032944, 0.00020181, 7.27305047, 0.99899372, 0.99946875, 0.49326504],\
+-[	-6.27337999, -0.00032941, 0.00020178, 7.27305059, 0.99899383, 0.99946881, 0.49326510],\
+-[	-6.27338008, -0.00032937, 0.00020176, 7.27305071, 0.99899393, 0.99946887, 0.49326506],\
+-[	-6.27338016, -0.00032934, 0.00020174, 7.27305083, 0.99899404, 0.99946892, 0.49326491],\
+-[	-6.27338025, -0.00032930, 0.00020172, 7.27305095, 0.99899415, 0.99946898, 0.49326495],\
+-[	-6.27338033, -0.00032927, 0.00020170, 7.27305106, 0.99899425, 0.99946904, 0.49326488],\
+-[	-6.27338041, -0.00032923, 0.00020168, 7.27305118, 0.99899436, 0.99946909, 0.49326492],\
+-[	-6.27338050, -0.00032920, 0.00020165, 7.27305130, 0.99899447, 0.99946915, 0.49326492],\
+-[	-6.27338058, -0.00032916, 0.00020163, 7.27305142, 0.99899458, 0.99946921, 0.49326493],\
+-[	-6.27338067, -0.00032913, 0.00020161, 7.27305154, 0.99899468, 0.99946926, 0.49326498],\
+-[	-6.27338075, -0.00032909, 0.00020159, 7.27305166, 0.99899479, 0.99946932, 0.49326509],\
+-[	-6.27338083, -0.00032906, 0.00020157, 7.27305178, 0.99899490, 0.99946938, 0.49326511],\
+-[	-6.27338092, -0.00032902, 0.00020155, 7.27305190, 0.99899500, 0.99946943, 0.49326491],\
+-[	-6.27338100, -0.00032899, 0.00020153, 7.27305201, 0.99899511, 0.99946949, 0.49326497],\
+-[	-6.27338108, -0.00032895, 0.00020150, 7.27305213, 0.99899522, 0.99946954, 0.49326517],\
+-[	-6.27338117, -0.00032892, 0.00020148, 7.27305225, 0.99899532, 0.99946960, 0.49326501],\
+-[	-6.27338125, -0.00032888, 0.00020146, 7.27305237, 0.99899543, 0.99946966, 0.49326506],\
+-[	-6.27338134, -0.00032885, 0.00020144, 7.27305249, 0.99899554, 0.99946971, 0.49326507],\
+-[	-6.27338142, -0.00032881, 0.00020142, 7.27305261, 0.99899564, 0.99946977, 0.49326497],\
+-[	-6.27338150, -0.00032878, 0.00020140, 7.27305273, 0.99899575, 0.99946983, 0.49326508],\
+-[	-6.27338159, -0.00032874, 0.00020138, 7.27305284, 0.99899586, 0.99946988, 0.49326522],\
+-[	-6.27338167, -0.00032871, 0.00020135, 7.27305296, 0.99899596, 0.99946994, 0.49326525],\
+-[	-6.27338175, -0.00032867, 0.00020133, 7.27305308, 0.99899607, 0.99946999, 0.49326527],\
+-[	-6.27338184, -0.00032864, 0.00020131, 7.27305320, 0.99899618, 0.99947005, 0.49326512],\
+-[	-6.27338192, -0.00032860, 0.00020129, 7.27305332, 0.99899628, 0.99947011, 0.49326544],\
+-[	-6.27338200, -0.00032857, 0.00020127, 7.27305344, 0.99899639, 0.99947016, 0.49326511],\
+-[	-6.27338209, -0.00032853, 0.00020125, 7.27305356, 0.99899650, 0.99947022, 0.49326525],\
+-[	-6.27338217, -0.00032850, 0.00020123, 7.27305367, 0.99899660, 0.99947028, 0.49326517],\
+-[	-6.27338225, -0.00032846, 0.00020121, 7.27305379, 0.99899671, 0.99947033, 0.49326515],\
+-[	-6.27338234, -0.00032843, 0.00020118, 7.27305391, 0.99899682, 0.99947039, 0.49326512],\
+-[	-6.27338242, -0.00032839, 0.00020116, 7.27305403, 0.99899692, 0.99947045, 0.49326510],\
+-[	-6.27338250, -0.00032836, 0.00020114, 7.27305415, 0.99899703, 0.99947050, 0.49326538],\
+-[	-6.27338259, -0.00032832, 0.00020112, 7.27305427, 0.99899714, 0.99947056, 0.49326526],\
+-[	-6.27338267, -0.00032829, 0.00020110, 7.27305438, 0.99899724, 0.99947061, 0.49326555],\
+-[	-6.27338275, -0.00032825, 0.00020108, 7.27305450, 0.99899735, 0.99947067, 0.49326559],\
+-[	-6.27338284, -0.00032822, 0.00020106, 7.27305462, 0.99899745, 0.99947073, 0.49326528],\
+-[	-6.27338292, -0.00032818, 0.00020103, 7.27305474, 0.99899756, 0.99947078, 0.49326542],\
+-[	-6.27338300, -0.00032815, 0.00020101, 7.27305486, 0.99899767, 0.99947084, 0.49326519],\
+-[	-6.27338309, -0.00032811, 0.00020099, 7.27305497, 0.99899777, 0.99947089, 0.49326536],\
+-[	-6.27338317, -0.00032808, 0.00020097, 7.27305509, 0.99899788, 0.99947095, 0.49326533],\
+-[	-6.27338325, -0.00032804, 0.00020095, 7.27305521, 0.99899799, 0.99947101, 0.49326540],\
+-[	-6.27338334, -0.00032801, 0.00020093, 7.27305533, 0.99899809, 0.99947106, 0.49326552],\
+-[	-6.27338342, -0.00032797, 0.00020091, 7.27305545, 0.99899820, 0.99947112, 0.49326543],\
+-[	-6.27338350, -0.00032794, 0.00020089, 7.27305556, 0.99899830, 0.99947117, 0.49326548],\
+-[	-6.27338359, -0.00032791, 0.00020086, 7.27305568, 0.99899841, 0.99947123, 0.49326555],\
+-[	-6.27338367, -0.00032787, 0.00020084, 7.27305580, 0.99899852, 0.99947129, 0.49326550],\
+-[	-6.27338375, -0.00032784, 0.00020082, 7.27305592, 0.99899862, 0.99947134, 0.49326539],\
+-[	-6.27338384, -0.00032780, 0.00020080, 7.27305604, 0.99899873, 0.99947140, 0.49326537],\
+-[	-6.27338392, -0.00032777, 0.00020078, 7.27305615, 0.99899884, 0.99947145, 0.49326540],\
+-[	-6.27338400, -0.00032773, 0.00020076, 7.27305627, 0.99899894, 0.99947151, 0.49326552],\
+-[	-6.27338409, -0.00032770, 0.00020074, 7.27305639, 0.99899905, 0.99947157, 0.49326544],\
+-[	-6.27338417, -0.00032766, 0.00020072, 7.27305651, 0.99899915, 0.99947162, 0.49326541],\
+-[	-6.27338425, -0.00032763, 0.00020069, 7.27305662, 0.99899926, 0.99947168, 0.49326544],\
+-[	-6.27338433, -0.00032759, 0.00020067, 7.27305674, 0.99899937, 0.99947173, 0.49326555],\
+-[	-6.27338442, -0.00032756, 0.00020065, 7.27305686, 0.99899947, 0.99947179, 0.49326592],\
+-[	-6.27338450, -0.00032752, 0.00020063, 7.27305698, 0.99899958, 0.99947185, 0.49326555],\
+-[	-6.27338458, -0.00032749, 0.00020061, 7.27305709, 0.99899968, 0.99947190, 0.49326556],\
+-[	-6.27338467, -0.00032745, 0.00020059, 7.27305721, 0.99899979, 0.99947196, 0.49326577],\
+-[	-6.27338475, -0.00032742, 0.00020057, 7.27305733, 0.99899989, 0.99947201, 0.49326572],\
+-[	-6.27338483, -0.00032739, 0.00020055, 7.27305745, 0.99900000, 0.99947207, 0.49326564],\
+-[	-6.27338492, -0.00032735, 0.00020052, 7.27305756, 0.99900011, 0.99947213, 0.49326574],\
+-[	-6.27338500, -0.00032732, 0.00020050, 7.27305768, 0.99900021, 0.99947218, 0.49326570],\
+-[	-6.27338508, -0.00032728, 0.00020048, 7.27305780, 0.99900032, 0.99947224, 0.49326585],\
+-[	-6.27338516, -0.00032725, 0.00020046, 7.27305792, 0.99900042, 0.99947229, 0.49326561],\
+-[	-6.27338525, -0.00032721, 0.00020044, 7.27305804, 0.99900053, 0.99947235, 0.49326554],\
+-[	-6.27338533, -0.00032718, 0.00020042, 7.27305815, 0.99900063, 0.99947240, 0.49326565],\
+-[	-6.27338541, -0.00032714, 0.00020040, 7.27305827, 0.99900074, 0.99947246, 0.49326560],\
+-[	-6.27338550, -0.00032711, 0.00020038, 7.27305839, 0.99900085, 0.99947252, 0.49326561],\
+-[	-6.27338558, -0.00032707, 0.00020035, 7.27305850, 0.99900095, 0.99947257, 0.49326588],\
+-[	-6.27338566, -0.00032704, 0.00020033, 7.27305862, 0.99900106, 0.99947263, 0.49326567],\
+-[	-6.27338574, -0.00032700, 0.00020031, 7.27305874, 0.99900116, 0.99947268, 0.49326573],\
+-[	-6.27338583, -0.00032697, 0.00020029, 7.27305886, 0.99900127, 0.99947274, 0.49326588],\
+-[	-6.27338591, -0.00032694, 0.00020027, 7.27305897, 0.99900137, 0.99947279, 0.49326587],\
+-[	-6.27338599, -0.00032690, 0.00020025, 7.27305909, 0.99900148, 0.99947285, 0.49326591],\
+-[	-6.27338607, -0.00032687, 0.00020023, 7.27305921, 0.99900158, 0.99947291, 0.49326568],\
+-[	-6.27338616, -0.00032683, 0.00020021, 7.27305932, 0.99900169, 0.99947296, 0.49326586],\
+-[	-6.27338624, -0.00032680, 0.00020019, 7.27305944, 0.99900180, 0.99947302, 0.49326595],\
+-[	-6.27338632, -0.00032676, 0.00020016, 7.27305956, 0.99900190, 0.99947307, 0.49326594],\
+-[	-6.27338640, -0.00032673, 0.00020014, 7.27305968, 0.99900201, 0.99947313, 0.49326576],\
+-[	-6.27338649, -0.00032669, 0.00020012, 7.27305979, 0.99900211, 0.99947318, 0.49326600],\
+-[	-6.27338657, -0.00032666, 0.00020010, 7.27305991, 0.99900222, 0.99947324, 0.49326567],\
+-[	-6.27338665, -0.00032663, 0.00020008, 7.27306003, 0.99900232, 0.99947330, 0.49326591],\
+-[	-6.27338674, -0.00032659, 0.00020006, 7.27306014, 0.99900243, 0.99947335, 0.49326584],\
+-[	-6.27338682, -0.00032656, 0.00020004, 7.27306026, 0.99900253, 0.99947341, 0.49326591],\
+-[	-6.27338690, -0.00032652, 0.00020002, 7.27306038, 0.99900264, 0.99947346, 0.49326598],\
+-[	-6.27338698, -0.00032649, 0.00020000, 7.27306050, 0.99900274, 0.99947352, 0.49326605],\
+-[	-6.27338706, -0.00032645, 0.00019997, 7.27306061, 0.99900285, 0.99947357, 0.49326584],\
+-[	-6.27338715, -0.00032642, 0.00019995, 7.27306073, 0.99900295, 0.99947363, 0.49326610],\
+-[	-6.27338723, -0.00032638, 0.00019993, 7.27306085, 0.99900306, 0.99947368, 0.49326584],\
+-[	-6.27338731, -0.00032635, 0.00019991, 7.27306096, 0.99900316, 0.99947374, 0.49326595],\
+-[	-6.27338739, -0.00032632, 0.00019989, 7.27306108, 0.99900327, 0.99947379, 0.49326574],\
+-[	-6.27338748, -0.00032628, 0.00019987, 7.27306120, 0.99900337, 0.99947385, 0.49326593],\
+-[	-6.27338756, -0.00032625, 0.00019985, 7.27306131, 0.99900348, 0.99947391, 0.49326617],\
+-[	-6.27338764, -0.00032621, 0.00019983, 7.27306143, 0.99900358, 0.99947396, 0.49326608],\
+-[	-6.27338772, -0.00032618, 0.00019981, 7.27306155, 0.99900369, 0.99947402, 0.49326601],\
+-[	-6.27338781, -0.00032614, 0.00019978, 7.27306166, 0.99900379, 0.99947407, 0.49326595],\
+-[	-6.27338789, -0.00032611, 0.00019976, 7.27306178, 0.99900390, 0.99947413, 0.49326615],\
+-[	-6.27338797, -0.00032607, 0.00019974, 7.27306190, 0.99900400, 0.99947418, 0.49326594],\
+-[	-6.27338805, -0.00032604, 0.00019972, 7.27306201, 0.99900411, 0.99947424, 0.49326623],\
+-[	-6.27338814, -0.00032601, 0.00019970, 7.27306213, 0.99900421, 0.99947429, 0.49326628],\
+-[	-6.27338822, -0.00032597, 0.00019968, 7.27306225, 0.99900432, 0.99947435, 0.49326618],\
+-[	-6.27338830, -0.00032594, 0.00019966, 7.27306236, 0.99900442, 0.99947440, 0.49326621],\
+-[	-6.27338838, -0.00032590, 0.00019964, 7.27306248, 0.99900453, 0.99947446, 0.49326598],\
+-[	-6.27338846, -0.00032587, 0.00019962, 7.27306260, 0.99900463, 0.99947452, 0.49326615],\
+-[	-6.27338855, -0.00032583, 0.00019960, 7.27306271, 0.99900474, 0.99947457, 0.49326647],\
+-[	-6.27338863, -0.00032580, 0.00019957, 7.27306283, 0.99900484, 0.99947463, 0.49326621],\
+-[	-6.27338871, -0.00032577, 0.00019955, 7.27306294, 0.99900495, 0.99947468, 0.49326643],\
+-[	-6.27338879, -0.00032573, 0.00019953, 7.27306306, 0.99900505, 0.99947474, 0.49326629],\
+-[	-6.27338887, -0.00032570, 0.00019951, 7.27306318, 0.99900516, 0.99947479, 0.49326635],\
+-[	-6.27338896, -0.00032566, 0.00019949, 7.27306329, 0.99900526, 0.99947485, 0.49326632],\
+-[	-6.27338904, -0.00032563, 0.00019947, 7.27306341, 0.99900537, 0.99947490, 0.49326626],\
+-[	-6.27338912, -0.00032559, 0.00019945, 7.27306353, 0.99900547, 0.99947496, 0.49326639],\
+-[	-6.27338920, -0.00032556, 0.00019943, 7.27306364, 0.99900558, 0.99947501, 0.49326627],\
+-[	-6.27338928, -0.00032553, 0.00019941, 7.27306376, 0.99900568, 0.99947507, 0.49326645],\
+-[	-6.27338937, -0.00032549, 0.00019939, 7.27306387, 0.99900578, 0.99947512, 0.49326623],\
+-[	-6.27338945, -0.00032546, 0.00019936, 7.27306399, 0.99900589, 0.99947518, 0.49326607],\
+-[	-6.27338953, -0.00032542, 0.00019934, 7.27306411, 0.99900599, 0.99947523, 0.49326641],\
+-[	-6.27338961, -0.00032539, 0.00019932, 7.27306422, 0.99900610, 0.99947529, 0.49326644],\
+-[	-6.27338969, -0.00032536, 0.00019930, 7.27306434, 0.99900620, 0.99947534, 0.49326635],\
+-[	-6.27338978, -0.00032532, 0.00019928, 7.27306446, 0.99900631, 0.99947540, 0.49326617],\
+-[	-6.27338986, -0.00032529, 0.00019926, 7.27306457, 0.99900641, 0.99947545, 0.49326647],\
+-[	-6.27338994, -0.00032525, 0.00019924, 7.27306469, 0.99900652, 0.99947551, 0.49326638],\
+-[	-6.27339002, -0.00032522, 0.00019922, 7.27306480, 0.99900662, 0.99947556, 0.49326625],\
+-[	-6.27339010, -0.00032518, 0.00019920, 7.27306492, 0.99900673, 0.99947562, 0.49326654],\
+-[	-6.27339019, -0.00032515, 0.00019918, 7.27306504, 0.99900683, 0.99947567, 0.49326643],\
+-[	-6.27339027, -0.00032512, 0.00019915, 7.27306515, 0.99900693, 0.99947573, 0.49326639],\
+-[	-6.27339035, -0.00032508, 0.00019913, 7.27306527, 0.99900704, 0.99947578, 0.49326643],\
+-[	-6.27339043, -0.00032505, 0.00019911, 7.27306538, 0.99900714, 0.99947584, 0.49326613],\
+-[	-6.27339051, -0.00032501, 0.00019909, 7.27306550, 0.99900725, 0.99947589, 0.49326635],\
+-[	-6.27339059, -0.00032498, 0.00019907, 7.27306561, 0.99900735, 0.99947595, 0.49326654],\
+-[	-6.27339068, -0.00032495, 0.00019905, 7.27306573, 0.99900746, 0.99947600, 0.49326649],\
+-[	-6.27339076, -0.00032491, 0.00019903, 7.27306585, 0.99900756, 0.99947606, 0.49326645],\
+-[	-6.27339084, -0.00032488, 0.00019901, 7.27306596, 0.99900766, 0.99947611, 0.49326635],\
+-[	-6.27339092, -0.00032484, 0.00019899, 7.27306608, 0.99900777, 0.99947617, 0.49326646],\
+-[	-6.27339100, -0.00032481, 0.00019897, 7.27306619, 0.99900787, 0.99947622, 0.49326660],\
+-[	-6.27339108, -0.00032477, 0.00019895, 7.27306631, 0.99900798, 0.99947628, 0.49326653],\
+-[	-6.27339117, -0.00032474, 0.00019892, 7.27306642, 0.99900808, 0.99947633, 0.49326655],\
+-[	-6.27339125, -0.00032471, 0.00019890, 7.27306654, 0.99900818, 0.99947639, 0.49326642],\
+-[	-6.27339133, -0.00032467, 0.00019888, 7.27306666, 0.99900829, 0.99947644, 0.49326648],\
+-[	-6.27339141, -0.00032464, 0.00019886, 7.27306677, 0.99900839, 0.99947650, 0.49326679],\
+-[	-6.27339149, -0.00032460, 0.00019884, 7.27306689, 0.99900850, 0.99947655, 0.49326686],\
+-[	-6.27339157, -0.00032457, 0.00019882, 7.27306700, 0.99900860, 0.99947661, 0.49326656],\
+-[	-6.27339165, -0.00032454, 0.00019880, 7.27306712, 0.99900870, 0.99947666, 0.49326662],\
+-[	-6.27339174, -0.00032450, 0.00019878, 7.27306723, 0.99900881, 0.99947672, 0.49326679],\
+-[	-6.27339182, -0.00032447, 0.00019876, 7.27306735, 0.99900891, 0.99947677, 0.49326673],\
+-[	-6.27339190, -0.00032443, 0.00019874, 7.27306746, 0.99900902, 0.99947683, 0.49326675],\
+-[	-6.27339198, -0.00032440, 0.00019872, 7.27306758, 0.99900912, 0.99947688, 0.49326682],\
+-[	-6.27339206, -0.00032437, 0.00019870, 7.27306770, 0.99900922, 0.99947694, 0.49326647],\
+-[	-6.27339214, -0.00032433, 0.00019867, 7.27306781, 0.99900933, 0.99947699, 0.49326653],\
+-[	-6.27339222, -0.00032430, 0.00019865, 7.27306793, 0.99900943, 0.99947705, 0.49326669],\
+-[	-6.27339231, -0.00032426, 0.00019863, 7.27306804, 0.99900954, 0.99947710, 0.49326657],\
+-[	-6.27339239, -0.00032423, 0.00019861, 7.27306816, 0.99900964, 0.99947716, 0.49326679],\
+-[	-6.27339247, -0.00032420, 0.00019859, 7.27306827, 0.99900974, 0.99947721, 0.49326690],\
+-[	-6.27339255, -0.00032416, 0.00019857, 7.27306839, 0.99900985, 0.99947727, 0.49326680],\
+-[	-6.27339263, -0.00032413, 0.00019855, 7.27306850, 0.99900995, 0.99947732, 0.49326670],\
+-[	-6.27339271, -0.00032409, 0.00019853, 7.27306862, 0.99901005, 0.99947738, 0.49326690],\
+-[	-6.27339279, -0.00032406, 0.00019851, 7.27306873, 0.99901016, 0.99947743, 0.49326682],\
+-[	-6.27339287, -0.00032403, 0.00019849, 7.27306885, 0.99901026, 0.99947749, 0.49326670],\
+-[	-6.27339296, -0.00032399, 0.00019847, 7.27306896, 0.99901036, 0.99947754, 0.49326689],\
+-[	-6.27339304, -0.00032396, 0.00019845, 7.27306908, 0.99901047, 0.99947760, 0.49326683],\
+-[	-6.27339312, -0.00032393, 0.00019843, 7.27306919, 0.99901057, 0.99947765, 0.49326682],\
+-[	-6.27339320, -0.00032389, 0.00019840, 7.27306931, 0.99901068, 0.99947770, 0.49326694],\
+-[	-6.27339328, -0.00032386, 0.00019838, 7.27306942, 0.99901078, 0.99947776, 0.49326682],\
+-[	-6.27339336, -0.00032382, 0.00019836, 7.27306954, 0.99901088, 0.99947781, 0.49326696],\
+-[	-6.27339344, -0.00032379, 0.00019834, 7.27306965, 0.99901099, 0.99947787, 0.49326703],\
+-[	-6.27339352, -0.00032376, 0.00019832, 7.27306977, 0.99901109, 0.99947792, 0.49326705],\
+-[	-6.27339360, -0.00032372, 0.00019830, 7.27306988, 0.99901119, 0.99947798, 0.49326683],\
+-[	-6.27339369, -0.00032369, 0.00019828, 7.27307000, 0.99901130, 0.99947803, 0.49326692],\
+-[	-6.27339377, -0.00032365, 0.00019826, 7.27307011, 0.99901140, 0.99947809, 0.49326694],\
+-[	-6.27339385, -0.00032362, 0.00019824, 7.27307023, 0.99901150, 0.99947814, 0.49326688],\
+-[	-6.27339393, -0.00032359, 0.00019822, 7.27307034, 0.99901161, 0.99947820, 0.49326687],\
+-[	-6.27339401, -0.00032355, 0.00019820, 7.27307046, 0.99901171, 0.99947825, 0.49326697],\
+-[	-6.27339409, -0.00032352, 0.00019818, 7.27307057, 0.99901181, 0.99947830, 0.49326717],\
+-[	-6.27339417, -0.00032349, 0.00019816, 7.27307069, 0.99901192, 0.99947836, 0.49326712],\
+-[	-6.27339425, -0.00032345, 0.00019813, 7.27307080, 0.99901202, 0.99947841, 0.49326703],\
+-[	-6.27339433, -0.00032342, 0.00019811, 7.27307092, 0.99901212, 0.99947847, 0.49326706],\
+-[	-6.27339441, -0.00032338, 0.00019809, 7.27307103, 0.99901223, 0.99947852, 0.49326716],\
+-[	-6.27339450, -0.00032335, 0.00019807, 7.27307115, 0.99901233, 0.99947858, 0.49326689],\
+-[	-6.27339458, -0.00032332, 0.00019805, 7.27307126, 0.99901243, 0.99947863, 0.49326699],\
+-[	-6.27339466, -0.00032328, 0.00019803, 7.27307137, 0.99901254, 0.99947869, 0.49326696],\
+-[	-6.27339474, -0.00032325, 0.00019801, 7.27307149, 0.99901264, 0.99947874, 0.49326718],\
+-[	-6.27339482, -0.00032321, 0.00019799, 7.27307160, 0.99901274, 0.99947880, 0.49326717],\
+-[	-6.27339490, -0.00032318, 0.00019797, 7.27307172, 0.99901285, 0.99947885, 0.49326705],\
+-[	-6.27339498, -0.00032315, 0.00019795, 7.27307183, 0.99901295, 0.99947890, 0.49326716],\
+-[	-6.27339506, -0.00032311, 0.00019793, 7.27307195, 0.99901305, 0.99947896, 0.49326730],\
+-[	-6.27339514, -0.00032308, 0.00019791, 7.27307206, 0.99901315, 0.99947901, 0.49326718],\
+-[	-6.27339522, -0.00032305, 0.00019789, 7.27307218, 0.99901326, 0.99947907, 0.49326722],\
+-[	-6.27339530, -0.00032301, 0.00019787, 7.27307229, 0.99901336, 0.99947912, 0.49326715],\
+-[	-6.27339538, -0.00032298, 0.00019785, 7.27307241, 0.99901346, 0.99947918, 0.49326728],\
+-[	-6.27339546, -0.00032295, 0.00019782, 7.27307252, 0.99901357, 0.99947923, 0.49326724],\
+-[	-6.27339555, -0.00032291, 0.00019780, 7.27307263, 0.99901367, 0.99947928, 0.49326701],\
+-[	-6.27339563, -0.00032288, 0.00019778, 7.27307275, 0.99901377, 0.99947934, 0.49326708],\
+-[	-6.27339571, -0.00032284, 0.00019776, 7.27307286, 0.99901388, 0.99947939, 0.49326726],\
+-[	-6.27339579, -0.00032281, 0.00019774, 7.27307298, 0.99901398, 0.99947945, 0.49326720],\
+-[	-6.27339587, -0.00032278, 0.00019772, 7.27307309, 0.99901408, 0.99947950, 0.49326714],\
+-[	-6.27339595, -0.00032274, 0.00019770, 7.27307321, 0.99901418, 0.99947956, 0.49326729],\
+-[	-6.27339603, -0.00032271, 0.00019768, 7.27307332, 0.99901429, 0.99947961, 0.49326744],\
+-[	-6.27339611, -0.00032268, 0.00019766, 7.27307343, 0.99901439, 0.99947966, 0.49326726],\
+-[	-6.27339619, -0.00032264, 0.00019764, 7.27307355, 0.99901449, 0.99947972, 0.49326746],\
+-[	-6.27339627, -0.00032261, 0.00019762, 7.27307366, 0.99901459, 0.99947977, 0.49326747],\
+-[	-6.27339635, -0.00032258, 0.00019760, 7.27307378, 0.99901470, 0.99947983, 0.49326746],\
+-[	-6.27339643, -0.00032254, 0.00019758, 7.27307389, 0.99901480, 0.99947988, 0.49326737],\
+-[	-6.27339651, -0.00032251, 0.00019756, 7.27307400, 0.99901490, 0.99947994, 0.49326725],\
+-[	-6.27339659, -0.00032247, 0.00019754, 7.27307412, 0.99901501, 0.99947999, 0.49326744],\
+-[	-6.27339667, -0.00032244, 0.00019752, 7.27307423, 0.99901511, 0.99948004, 0.49326734],\
+-[	-6.27339675, -0.00032241, 0.00019749, 7.27307435, 0.99901521, 0.99948010, 0.49326748],\
+-[	-6.27339683, -0.00032237, 0.00019747, 7.27307446, 0.99901531, 0.99948015, 0.49326735],\
+-[	-6.27339691, -0.00032234, 0.00019745, 7.27307457, 0.99901542, 0.99948021, 0.49326718],\
+-[	-6.27339699, -0.00032231, 0.00019743, 7.27307469, 0.99901552, 0.99948026, 0.49326726],\
+-[	-6.27339708, -0.00032227, 0.00019741, 7.27307480, 0.99901562, 0.99948031, 0.49326739],\
+-[	-6.27339716, -0.00032224, 0.00019739, 7.27307492, 0.99901572, 0.99948037, 0.49326736],\
+-[	-6.27339724, -0.00032221, 0.00019737, 7.27307503, 0.99901583, 0.99948042, 0.49326751],\
+-[	-6.27339732, -0.00032217, 0.00019735, 7.27307514, 0.99901593, 0.99948048, 0.49326746],\
+-[	-6.27339740, -0.00032214, 0.00019733, 7.27307526, 0.99901603, 0.99948053, 0.49326750],\
+-[	-6.27339748, -0.00032210, 0.00019731, 7.27307537, 0.99901613, 0.99948059, 0.49326720],\
+-[	-6.27339756, -0.00032207, 0.00019729, 7.27307549, 0.99901624, 0.99948064, 0.49326742],\
+-[	-6.27339764, -0.00032204, 0.00019727, 7.27307560, 0.99901634, 0.99948069, 0.49326770],\
+-[	-6.27339772, -0.00032200, 0.00019725, 7.27307571, 0.99901644, 0.99948075, 0.49326757],\
+-[	-6.27339780, -0.00032197, 0.00019723, 7.27307583, 0.99901654, 0.99948080, 0.49326750],\
+-[	-6.27339788, -0.00032194, 0.00019721, 7.27307594, 0.99901664, 0.99948086, 0.49326781],\
+-[	-6.27339796, -0.00032190, 0.00019719, 7.27307605, 0.99901675, 0.99948091, 0.49326776],\
+-[	-6.27339804, -0.00032187, 0.00019717, 7.27307617, 0.99901685, 0.99948096, 0.49326747],\
+-[	-6.27339812, -0.00032184, 0.00019715, 7.27307628, 0.99901695, 0.99948102, 0.49326778],\
+-[	-6.27339820, -0.00032180, 0.00019713, 7.27307639, 0.99901705, 0.99948107, 0.49326749],\
+-[	-6.27339828, -0.00032177, 0.00019710, 7.27307651, 0.99901716, 0.99948113, 0.49326751],\
+-[	-6.27339836, -0.00032174, 0.00019708, 7.27307662, 0.99901726, 0.99948118, 0.49326780],\
+-[	-6.27339844, -0.00032170, 0.00019706, 7.27307674, 0.99901736, 0.99948123, 0.49326747],\
+-[	-6.27339852, -0.00032167, 0.00019704, 7.27307685, 0.99901746, 0.99948129, 0.49326772],\
+-[	-6.27339860, -0.00032164, 0.00019702, 7.27307696, 0.99901756, 0.99948134, 0.49326768],\
+-[	-6.27339868, -0.00032160, 0.00019700, 7.27307708, 0.99901767, 0.99948139, 0.49326756],\
+-[	-6.27339876, -0.00032157, 0.00019698, 7.27307719, 0.99901777, 0.99948145, 0.49326753],\
+-[	-6.27339884, -0.00032154, 0.00019696, 7.27307730, 0.99901787, 0.99948150, 0.49326754],\
+-[	-6.27339892, -0.00032150, 0.00019694, 7.27307742, 0.99901797, 0.99948156, 0.49326763],\
+-[	-6.27339900, -0.00032147, 0.00019692, 7.27307753, 0.99901807, 0.99948161, 0.49326773],\
+-[	-6.27339908, -0.00032144, 0.00019690, 7.27307764, 0.99901818, 0.99948166, 0.49326760],\
+-[	-6.27339916, -0.00032140, 0.00019688, 7.27307776, 0.99901828, 0.99948172, 0.49326795],\
+-[	-6.27339924, -0.00032137, 0.00019686, 7.27307787, 0.99901838, 0.99948177, 0.49326781],\
+-[	-6.27339932, -0.00032134, 0.00019684, 7.27307798, 0.99901848, 0.99948183, 0.49326791],\
+-[	-6.27339940, -0.00032130, 0.00019682, 7.27307810, 0.99901858, 0.99948188, 0.49326782],\
+-[	-6.27339948, -0.00032127, 0.00019680, 7.27307821, 0.99901869, 0.99948193, 0.49326774],\
+-[	-6.27339956, -0.00032124, 0.00019678, 7.27307832, 0.99901879, 0.99948199, 0.49326801],\
+-[	-6.27339964, -0.00032120, 0.00019676, 7.27307843, 0.99901889, 0.99948204, 0.49326796],\
+-[	-6.27339972, -0.00032117, 0.00019674, 7.27307855, 0.99901899, 0.99948209, 0.49326796],\
+-[	-6.27339980, -0.00032114, 0.00019672, 7.27307866, 0.99901909, 0.99948215, 0.49326764],\
+-[	-6.27339988, -0.00032110, 0.00019670, 7.27307877, 0.99901920, 0.99948220, 0.49326786],\
+-[	-6.27339996, -0.00032107, 0.00019668, 7.27307889, 0.99901930, 0.99948226, 0.49326797],\
+-[	-6.27340004, -0.00032104, 0.00019665, 7.27307900, 0.99901940, 0.99948231, 0.49326772],\
+-[	-6.27340012, -0.00032100, 0.00019663, 7.27307911, 0.99901950, 0.99948236, 0.49326808],\
+-[	-6.27340020, -0.00032097, 0.00019661, 7.27307923, 0.99901960, 0.99948242, 0.49326793],\
+-[	-6.27340028, -0.00032094, 0.00019659, 7.27307934, 0.99901970, 0.99948247, 0.49326800],\
+-[	-6.27340036, -0.00032090, 0.00019657, 7.27307945, 0.99901981, 0.99948252, 0.49326818],\
+-[	-6.27340043, -0.00032087, 0.00019655, 7.27307956, 0.99901991, 0.99948258, 0.49326800],\
+-[	-6.27340051, -0.00032084, 0.00019653, 7.27307968, 0.99902001, 0.99948263, 0.49326833],\
+-[	-6.27340059, -0.00032080, 0.00019651, 7.27307979, 0.99902011, 0.99948268, 0.49326799],\
+-[	-6.27340067, -0.00032077, 0.00019649, 7.27307990, 0.99902021, 0.99948274, 0.49326805],\
+-[	-6.27340075, -0.00032074, 0.00019647, 7.27308002, 0.99902031, 0.99948279, 0.49326790],\
+-[	-6.27340083, -0.00032070, 0.00019645, 7.27308013, 0.99902042, 0.99948285, 0.49326822],\
+-[	-6.27340091, -0.00032067, 0.00019643, 7.27308024, 0.99902052, 0.99948290, 0.49326817],\
+-[	-6.27340099, -0.00032064, 0.00019641, 7.27308035, 0.99902062, 0.99948295, 0.49326820],\
+-[	-6.27340107, -0.00032060, 0.00019639, 7.27308047, 0.99902072, 0.99948301, 0.49326814],\
+-[	-6.27340115, -0.00032057, 0.00019637, 7.27308058, 0.99902082, 0.99948306, 0.49326794],\
+-[	-6.27340123, -0.00032054, 0.00019635, 7.27308069, 0.99902092, 0.99948311, 0.49326788],\
+-[	-6.27340131, -0.00032050, 0.00019633, 7.27308081, 0.99902102, 0.99948317, 0.49326824],\
+-[	-6.27340139, -0.00032047, 0.00019631, 7.27308092, 0.99902113, 0.99948322, 0.49326821],\
+-[	-6.27340147, -0.00032044, 0.00019629, 7.27308103, 0.99902123, 0.99948327, 0.49326804],\
+-[	-6.27340155, -0.00032040, 0.00019627, 7.27308114, 0.99902133, 0.99948333, 0.49326826],\
+-[	-6.27340163, -0.00032037, 0.00019625, 7.27308126, 0.99902143, 0.99948338, 0.49326837],\
+-[	-6.27340171, -0.00032034, 0.00019623, 7.27308137, 0.99902153, 0.99948343, 0.49326808],\
+-[	-6.27340179, -0.00032031, 0.00019621, 7.27308148, 0.99902163, 0.99948349, 0.49326814],\
+-[	-6.27340187, -0.00032027, 0.00019619, 7.27308159, 0.99902173, 0.99948354, 0.49326823],\
+-[	-6.27340194, -0.00032024, 0.00019617, 7.27308171, 0.99902183, 0.99948359, 0.49326820],\
+-[	-6.27340202, -0.00032021, 0.00019615, 7.27308182, 0.99902194, 0.99948365, 0.49326819],\
+-[	-6.27340210, -0.00032017, 0.00019613, 7.27308193, 0.99902204, 0.99948370, 0.49326828],\
+-[	-6.27340218, -0.00032014, 0.00019611, 7.27308204, 0.99902214, 0.99948376, 0.49326815],\
+-[	-6.27340226, -0.00032011, 0.00019608, 7.27308216, 0.99902224, 0.99948381, 0.49326833],\
+-[	-6.27340234, -0.00032007, 0.00019606, 7.27308227, 0.99902234, 0.99948386, 0.49326820],\
+-[	-6.27340242, -0.00032004, 0.00019604, 7.27308238, 0.99902244, 0.99948392, 0.49326839],\
+-[	-6.27340250, -0.00032001, 0.00019602, 7.27308249, 0.99902254, 0.99948397, 0.49326825],\
+-[	-6.27340258, -0.00031997, 0.00019600, 7.27308261, 0.99902264, 0.99948402, 0.49326820],\
+-[	-6.27340266, -0.00031994, 0.00019598, 7.27308272, 0.99902274, 0.99948408, 0.49326829],\
+-[	-6.27340274, -0.00031991, 0.00019596, 7.27308283, 0.99902285, 0.99948413, 0.49326838],\
+-[	-6.27340282, -0.00031987, 0.00019594, 7.27308294, 0.99902295, 0.99948418, 0.49326829],\
+-[	-6.27340290, -0.00031984, 0.00019592, 7.27308305, 0.99902305, 0.99948424, 0.49326812],\
+-[	-6.27340297, -0.00031981, 0.00019590, 7.27308317, 0.99902315, 0.99948429, 0.49326825],\
+-[	-6.27340305, -0.00031978, 0.00019588, 7.27308328, 0.99902325, 0.99948434, 0.49326844],\
+-[	-6.27340313, -0.00031974, 0.00019586, 7.27308339, 0.99902335, 0.99948440, 0.49326822],\
+-[	-6.27340321, -0.00031971, 0.00019584, 7.27308350, 0.99902345, 0.99948445, 0.49326848],\
+-[	-6.27340329, -0.00031968, 0.00019582, 7.27308361, 0.99902355, 0.99948450, 0.49326823],\
+-[	-6.27340337, -0.00031964, 0.00019580, 7.27308373, 0.99902365, 0.99948455, 0.49326831],\
+-[	-6.27340345, -0.00031961, 0.00019578, 7.27308384, 0.99902375, 0.99948461, 0.49326842],\
+-[	-6.27340353, -0.00031958, 0.00019576, 7.27308395, 0.99902385, 0.99948466, 0.49326833],\
+-[	-6.27340361, -0.00031954, 0.00019574, 7.27308406, 0.99902396, 0.99948471, 0.49326844],\
+-[	-6.27340369, -0.00031951, 0.00019572, 7.27308417, 0.99902406, 0.99948477, 0.49326841],\
+-[	-6.27340377, -0.00031948, 0.00019570, 7.27308429, 0.99902416, 0.99948482, 0.49326813],\
+-[	-6.27340384, -0.00031945, 0.00019568, 7.27308440, 0.99902426, 0.99948487, 0.49326861],\
+-[	-6.27340392, -0.00031941, 0.00019566, 7.27308451, 0.99902436, 0.99948493, 0.49326836],\
+-[	-6.27340400, -0.00031938, 0.00019564, 7.27308462, 0.99902446, 0.99948498, 0.49326869],\
+-[	-6.27340408, -0.00031935, 0.00019562, 7.27308473, 0.99902456, 0.99948503, 0.49326883],\
+-[	-6.27340416, -0.00031931, 0.00019560, 7.27308485, 0.99902466, 0.99948509, 0.49326857],\
+-[	-6.27340424, -0.00031928, 0.00019558, 7.27308496, 0.99902476, 0.99948514, 0.49326861],\
+-[	-6.27340432, -0.00031925, 0.00019556, 7.27308507, 0.99902486, 0.99948519, 0.49326841],\
+-[	-6.27340440, -0.00031922, 0.00019554, 7.27308518, 0.99902496, 0.99948525, 0.49326856],\
+-[	-6.27340448, -0.00031918, 0.00019552, 7.27308529, 0.99902506, 0.99948530, 0.49326867],\
+-[	-6.27340455, -0.00031915, 0.00019550, 7.27308540, 0.99902516, 0.99948535, 0.49326859],\
+-[	-6.27340463, -0.00031912, 0.00019548, 7.27308552, 0.99902526, 0.99948541, 0.49326854],\
+-[	-6.27340471, -0.00031908, 0.00019546, 7.27308563, 0.99902536, 0.99948546, 0.49326869],\
+-[	-6.27340479, -0.00031905, 0.00019544, 7.27308574, 0.99902546, 0.99948551, 0.49326853],\
+-[	-6.27340487, -0.00031902, 0.00019542, 7.27308585, 0.99902557, 0.99948556, 0.49326880],\
+-[	-6.27340495, -0.00031899, 0.00019540, 7.27308596, 0.99902567, 0.99948562, 0.49326872],\
+-[	-6.27340503, -0.00031895, 0.00019538, 7.27308607, 0.99902577, 0.99948567, 0.49326861],\
+-[	-6.27340511, -0.00031892, 0.00019536, 7.27308619, 0.99902587, 0.99948572, 0.49326878],\
+-[	-6.27340518, -0.00031889, 0.00019534, 7.27308630, 0.99902597, 0.99948578, 0.49326876],\
+-[	-6.27340526, -0.00031885, 0.00019532, 7.27308641, 0.99902607, 0.99948583, 0.49326873],\
+-[	-6.27340534, -0.00031882, 0.00019530, 7.27308652, 0.99902617, 0.99948588, 0.49326869],\
+-[	-6.27340542, -0.00031879, 0.00019528, 7.27308663, 0.99902627, 0.99948594, 0.49326868],\
+-[	-6.27340550, -0.00031876, 0.00019526, 7.27308674, 0.99902637, 0.99948599, 0.49326886],\
+-[	-6.27340558, -0.00031872, 0.00019524, 7.27308685, 0.99902647, 0.99948604, 0.49326868],\
+-[	-6.27340566, -0.00031869, 0.00019522, 7.27308697, 0.99902657, 0.99948609, 0.49326883],\
+-[	-6.27340573, -0.00031866, 0.00019520, 7.27308708, 0.99902667, 0.99948615, 0.49326876],\
+-[	-6.27340581, -0.00031862, 0.00019518, 7.27308719, 0.99902677, 0.99948620, 0.49326874],\
+-[	-6.27340589, -0.00031859, 0.00019516, 7.27308730, 0.99902687, 0.99948625, 0.49326882],\
+-[	-6.27340597, -0.00031856, 0.00019514, 7.27308741, 0.99902697, 0.99948631, 0.49326866],\
+-[	-6.27340605, -0.00031853, 0.00019512, 7.27308752, 0.99902707, 0.99948636, 0.49326860],\
+-[	-6.27340613, -0.00031849, 0.00019510, 7.27308763, 0.99902717, 0.99948641, 0.49326865],\
+-[	-6.27340621, -0.00031846, 0.00019508, 7.27308775, 0.99902727, 0.99948646, 0.49326872],\
+-[	-6.27340628, -0.00031843, 0.00019506, 7.27308786, 0.99902737, 0.99948652, 0.49326863],\
+-[	-6.27340636, -0.00031839, 0.00019504, 7.27308797, 0.99902747, 0.99948657, 0.49326869],\
+-[	-6.27340644, -0.00031836, 0.00019502, 7.27308808, 0.99902757, 0.99948662, 0.49326888],\
+-[	-6.27340652, -0.00031833, 0.00019500, 7.27308819, 0.99902767, 0.99948668, 0.49326895],\
+-[	-6.27340660, -0.00031830, 0.00019498, 7.27308830, 0.99902777, 0.99948673, 0.49326876],\
+-[	-6.27340668, -0.00031826, 0.00019496, 7.27308841, 0.99902787, 0.99948678, 0.49326889],\
+-[	-6.27340675, -0.00031823, 0.00019494, 7.27308852, 0.99902797, 0.99948683, 0.49326878],\
+-[	-6.27340683, -0.00031820, 0.00019492, 7.27308863, 0.99902807, 0.99948689, 0.49326887],\
+-[	-6.27340691, -0.00031817, 0.00019490, 7.27308875, 0.99902817, 0.99948694, 0.49326916],\
+-[	-6.27340699, -0.00031813, 0.00019488, 7.27308886, 0.99902827, 0.99948699, 0.49326908],\
+-[	-6.27340707, -0.00031810, 0.00019486, 7.27308897, 0.99902837, 0.99948704, 0.49326893],\
+-[	-6.27340715, -0.00031807, 0.00019484, 7.27308908, 0.99902847, 0.99948710, 0.49326890],\
+-[	-6.27340722, -0.00031803, 0.00019482, 7.27308919, 0.99902857, 0.99948715, 0.49326887],\
+-[	-6.27340730, -0.00031800, 0.00019480, 7.27308930, 0.99902867, 0.99948720, 0.49326878],\
+-[	-6.27340738, -0.00031797, 0.00019478, 7.27308941, 0.99902877, 0.99948726, 0.49326894],\
+-[	-6.27340746, -0.00031794, 0.00019476, 7.27308952, 0.99902887, 0.99948731, 0.49326894],\
+-[	-6.27340754, -0.00031790, 0.00019474, 7.27308963, 0.99902897, 0.99948736, 0.49326908],\
+-[	-6.27340761, -0.00031787, 0.00019472, 7.27308974, 0.99902907, 0.99948741, 0.49326876],\
+-[	-6.27340769, -0.00031784, 0.00019470, 7.27308985, 0.99902917, 0.99948747, 0.49326912],\
+-[	-6.27340777, -0.00031781, 0.00019468, 7.27308996, 0.99902927, 0.99948752, 0.49326904],\
+-[	-6.27340785, -0.00031777, 0.00019466, 7.27309008, 0.99902937, 0.99948757, 0.49326901],\
+-[	-6.27340793, -0.00031774, 0.00019464, 7.27309019, 0.99902947, 0.99948762, 0.49326930],\
+-[	-6.27340801, -0.00031771, 0.00019462, 7.27309030, 0.99902957, 0.99948768, 0.49326907],\
+-[	-6.27340808, -0.00031768, 0.00019460, 7.27309041, 0.99902967, 0.99948773, 0.49326924],\
+-[	-6.27340816, -0.00031764, 0.00019458, 7.27309052, 0.99902977, 0.99948778, 0.49326904],\
+-[	-6.27340824, -0.00031761, 0.00019456, 7.27309063, 0.99902987, 0.99948783, 0.49326893],\
+-[	-6.27340832, -0.00031758, 0.00019454, 7.27309074, 0.99902997, 0.99948789, 0.49326909],\
+-[	-6.27340840, -0.00031755, 0.00019452, 7.27309085, 0.99903006, 0.99948794, 0.49326930],\
+-[	-6.27340847, -0.00031751, 0.00019450, 7.27309096, 0.99903016, 0.99948799, 0.49326922],\
+-[	-6.27340855, -0.00031748, 0.00019448, 7.27309107, 0.99903026, 0.99948804, 0.49326913],\
+-[	-6.27340863, -0.00031745, 0.00019446, 7.27309118, 0.99903036, 0.99948810, 0.49326905],\
+-[	-6.27340871, -0.00031742, 0.00019444, 7.27309129, 0.99903046, 0.99948815, 0.49326923],\
+-[	-6.27340879, -0.00031738, 0.00019442, 7.27309140, 0.99903056, 0.99948820, 0.49326938],\
+-[	-6.27340886, -0.00031735, 0.00019440, 7.27309151, 0.99903066, 0.99948825, 0.49326909],\
+-[	-6.27340894, -0.00031732, 0.00019438, 7.27309162, 0.99903076, 0.99948831, 0.49326912],\
+-[	-6.27340902, -0.00031728, 0.00019436, 7.27309173, 0.99903086, 0.99948836, 0.49326920],\
+-[	-6.27340910, -0.00031725, 0.00019434, 7.27309184, 0.99903096, 0.99948841, 0.49326917],\
+-[	-6.27340917, -0.00031722, 0.00019432, 7.27309196, 0.99903106, 0.99948846, 0.49326921],\
+-[	-6.27340925, -0.00031719, 0.00019430, 7.27309207, 0.99903116, 0.99948852, 0.49326919],\
+-[	-6.27340933, -0.00031715, 0.00019428, 7.27309218, 0.99903126, 0.99948857, 0.49326928],\
+-[	-6.27340941, -0.00031712, 0.00019426, 7.27309229, 0.99903136, 0.99948862, 0.49326918],\
+-[	-6.27340949, -0.00031709, 0.00019424, 7.27309240, 0.99903146, 0.99948867, 0.49326958],\
+-[	-6.27340956, -0.00031706, 0.00019422, 7.27309251, 0.99903156, 0.99948873, 0.49326936],\
+-[	-6.27340964, -0.00031702, 0.00019420, 7.27309262, 0.99903165, 0.99948878, 0.49326927],\
+-[	-6.27340972, -0.00031699, 0.00019418, 7.27309273, 0.99903175, 0.99948883, 0.49326942],\
+-[	-6.27340980, -0.00031696, 0.00019416, 7.27309284, 0.99903185, 0.99948888, 0.49326912],\
+-[	-6.27340987, -0.00031693, 0.00019414, 7.27309295, 0.99903195, 0.99948894, 0.49326924],\
+-[	-6.27340995, -0.00031690, 0.00019412, 7.27309306, 0.99903205, 0.99948899, 0.49326951],\
+-[	-6.27341003, -0.00031686, 0.00019410, 7.27309317, 0.99903215, 0.99948904, 0.49326942],\
+-[	-6.27341011, -0.00031683, 0.00019408, 7.27309328, 0.99903225, 0.99948909, 0.49326925],\
+-[	-6.27341019, -0.00031680, 0.00019406, 7.27309339, 0.99903235, 0.99948914, 0.49326927],\
+-[	-6.27341026, -0.00031677, 0.00019404, 7.27309350, 0.99903245, 0.99948920, 0.49326936],\
+-[	-6.27341034, -0.00031673, 0.00019402, 7.27309361, 0.99903255, 0.99948925, 0.49326944],\
+-[	-6.27341042, -0.00031670, 0.00019400, 7.27309372, 0.99903265, 0.99948930, 0.49326949],\
+-[	-6.27341050, -0.00031667, 0.00019398, 7.27309383, 0.99903274, 0.99948935, 0.49326915],\
+-[	-6.27341057, -0.00031664, 0.00019396, 7.27309394, 0.99903284, 0.99948941, 0.49326929],\
+-[	-6.27341065, -0.00031660, 0.00019394, 7.27309405, 0.99903294, 0.99948946, 0.49326955],\
+-[	-6.27341073, -0.00031657, 0.00019392, 7.27309416, 0.99903304, 0.99948951, 0.49326921],\
+-[	-6.27341081, -0.00031654, 0.00019390, 7.27309427, 0.99903314, 0.99948956, 0.49326941],\
+-[	-6.27341088, -0.00031651, 0.00019388, 7.27309438, 0.99903324, 0.99948961, 0.49326954],\
+-[	-6.27341096, -0.00031647, 0.00019386, 7.27309449, 0.99903334, 0.99948967, 0.49326935],\
+-[	-6.27341104, -0.00031644, 0.00019384, 7.27309460, 0.99903344, 0.99948972, 0.49326969],\
+-[	-6.27341112, -0.00031641, 0.00019382, 7.27309471, 0.99903354, 0.99948977, 0.49326971],\
+-[	-6.27341119, -0.00031638, 0.00019380, 7.27309482, 0.99903363, 0.99948982, 0.49326945],\
+-[	-6.27341127, -0.00031634, 0.00019378, 7.27309493, 0.99903373, 0.99948988, 0.49326964],\
+-[	-6.27341135, -0.00031631, 0.00019376, 7.27309504, 0.99903383, 0.99948993, 0.49326955],\
+-[	-6.27341143, -0.00031628, 0.00019374, 7.27309515, 0.99903393, 0.99948998, 0.49326931],\
+-[	-6.27341150, -0.00031625, 0.00019372, 7.27309526, 0.99903403, 0.99949003, 0.49326939],\
+-[	-6.27341158, -0.00031622, 0.00019370, 7.27309537, 0.99903413, 0.99949008, 0.49326953],\
+-[	-6.27341166, -0.00031618, 0.00019368, 7.27309547, 0.99903423, 0.99949014, 0.49326974],\
+-[	-6.27341173, -0.00031615, 0.00019366, 7.27309558, 0.99903433, 0.99949019, 0.49326980],\
+-[	-6.27341181, -0.00031612, 0.00019364, 7.27309569, 0.99903442, 0.99949024, 0.49326965],\
+-[	-6.27341189, -0.00031609, 0.00019362, 7.27309580, 0.99903452, 0.99949029, 0.49326969],\
+-[	-6.27341197, -0.00031605, 0.00019360, 7.27309591, 0.99903462, 0.99949034, 0.49326954],\
+-[	-6.27341204, -0.00031602, 0.00019358, 7.27309602, 0.99903472, 0.99949040, 0.49326953],\
+-[	-6.27341212, -0.00031599, 0.00019356, 7.27309613, 0.99903482, 0.99949045, 0.49326986],\
+-[	-6.27341220, -0.00031596, 0.00019354, 7.27309624, 0.99903492, 0.99949050, 0.49326990],\
+-[	-6.27341228, -0.00031592, 0.00019352, 7.27309635, 0.99903502, 0.99949055, 0.49326950],\
+-[	-6.27341235, -0.00031589, 0.00019350, 7.27309646, 0.99903511, 0.99949060, 0.49326968],\
+-[	-6.27341243, -0.00031586, 0.00019348, 7.27309657, 0.99903521, 0.99949066, 0.49326946],\
+-[	-6.27341251, -0.00031583, 0.00019346, 7.27309668, 0.99903531, 0.99949071, 0.49326958],\
+-[	-6.27341258, -0.00031580, 0.00019344, 7.27309679, 0.99903541, 0.99949076, 0.49326990],\
+-[	-6.27341266, -0.00031576, 0.00019342, 7.27309690, 0.99903551, 0.99949081, 0.49326972],\
+-[	-6.27341274, -0.00031573, 0.00019340, 7.27309701, 0.99903561, 0.99949086, 0.49326980],\
+-[	-6.27341282, -0.00031570, 0.00019338, 7.27309712, 0.99903570, 0.99949092, 0.49327001],\
+-[	-6.27341289, -0.00031567, 0.00019336, 7.27309723, 0.99903580, 0.99949097, 0.49326985],\
+-[	-6.27341297, -0.00031563, 0.00019334, 7.27309734, 0.99903590, 0.99949102, 0.49326983],\
+-[	-6.27341305, -0.00031560, 0.00019333, 7.27309744, 0.99903600, 0.99949107, 0.49326985],\
+-[	-6.27341312, -0.00031557, 0.00019331, 7.27309755, 0.99903610, 0.99949112, 0.49327005],\
+-[	-6.27341320, -0.00031554, 0.00019329, 7.27309766, 0.99903620, 0.99949118, 0.49326985],\
+-[	-6.27341328, -0.00031551, 0.00019327, 7.27309777, 0.99903629, 0.99949123, 0.49326980],\
+-[	-6.27341336, -0.00031547, 0.00019325, 7.27309788, 0.99903639, 0.99949128, 0.49326990],\
+-[	-6.27341343, -0.00031544, 0.00019323, 7.27309799, 0.99903649, 0.99949133, 0.49326985],\
+-[	-6.27341351, -0.00031541, 0.00019321, 7.27309810, 0.99903659, 0.99949138, 0.49326999],\
+-[	-6.27341359, -0.00031538, 0.00019319, 7.27309821, 0.99903669, 0.99949144, 0.49326989],\
+-[	-6.27341366, -0.00031535, 0.00019317, 7.27309832, 0.99903679, 0.99949149, 0.49326987],\
+-[	-6.27341374, -0.00031531, 0.00019315, 7.27309843, 0.99903688, 0.99949154, 0.49327012],\
+-[	-6.27341382, -0.00031528, 0.00019313, 7.27309854, 0.99903698, 0.99949159, 0.49326994],\
+-[	-6.27341389, -0.00031525, 0.00019311, 7.27309864, 0.99903708, 0.99949164, 0.49327001],\
+-[	-6.27341397, -0.00031522, 0.00019309, 7.27309875, 0.99903718, 0.99949169, 0.49327008],\
+-[	-6.27341405, -0.00031519, 0.00019307, 7.27309886, 0.99903728, 0.99949175, 0.49327008],\
+-[	-6.27341412, -0.00031515, 0.00019305, 7.27309897, 0.99903737, 0.99949180, 0.49326970],\
+-[	-6.27341420, -0.00031512, 0.00019303, 7.27309908, 0.99903747, 0.99949185, 0.49326989],\
+-[	-6.27341428, -0.00031509, 0.00019301, 7.27309919, 0.99903757, 0.99949190, 0.49326992],\
+-[	-6.27341435, -0.00031506, 0.00019299, 7.27309930, 0.99903767, 0.99949195, 0.49327000],\
+-[	-6.27341443, -0.00031502, 0.00019297, 7.27309941, 0.99903777, 0.99949200, 0.49327006],\
+-[	-6.27341451, -0.00031499, 0.00019295, 7.27309952, 0.99903786, 0.99949206, 0.49327023],\
+-[	-6.27341459, -0.00031496, 0.00019293, 7.27309962, 0.99903796, 0.99949211, 0.49327002],\
+-[	-6.27341466, -0.00031493, 0.00019291, 7.27309973, 0.99903806, 0.99949216, 0.49327004],\
+-[	-6.27341474, -0.00031490, 0.00019289, 7.27309984, 0.99903816, 0.99949221, 0.49327010],\
+-[	-6.27341482, -0.00031486, 0.00019287, 7.27309995, 0.99903826, 0.99949226, 0.49327000],\
+-[	-6.27341489, -0.00031483, 0.00019285, 7.27310006, 0.99903835, 0.99949231, 0.49326994],\
+-[	-6.27341497, -0.00031480, 0.00019283, 7.27310017, 0.99903845, 0.99949237, 0.49327008],\
+-[	-6.27341505, -0.00031477, 0.00019281, 7.27310028, 0.99903855, 0.99949242, 0.49327002],\
+-[	-6.27341512, -0.00031474, 0.00019279, 7.27310039, 0.99903865, 0.99949247, 0.49327015],\
+-[	-6.27341520, -0.00031470, 0.00019277, 7.27310049, 0.99903874, 0.99949252, 0.49326998],\
+-[	-6.27341528, -0.00031467, 0.00019275, 7.27310060, 0.99903884, 0.99949257, 0.49327030],\
+-[	-6.27341535, -0.00031464, 0.00019274, 7.27310071, 0.99903894, 0.99949262, 0.49326995],\
+-[	-6.27341543, -0.00031461, 0.00019272, 7.27310082, 0.99903904, 0.99949268, 0.49327013],\
+-[	-6.27341550, -0.00031458, 0.00019270, 7.27310093, 0.99903914, 0.99949273, 0.49327030],\
+-[	-6.27341558, -0.00031454, 0.00019268, 7.27310104, 0.99903923, 0.99949278, 0.49327016],\
+-[	-6.27341566, -0.00031451, 0.00019266, 7.27310115, 0.99903933, 0.99949283, 0.49327003],\
+-[	-6.27341573, -0.00031448, 0.00019264, 7.27310125, 0.99903943, 0.99949288, 0.49327020],\
+-[	-6.27341581, -0.00031445, 0.00019262, 7.27310136, 0.99903953, 0.99949293, 0.49327016],\
+-[	-6.27341589, -0.00031442, 0.00019260, 7.27310147, 0.99903962, 0.99949298, 0.49327038],\
+-[	-6.27341596, -0.00031438, 0.00019258, 7.27310158, 0.99903972, 0.99949304, 0.49327020],\
+-[	-6.27341604, -0.00031435, 0.00019256, 7.27310169, 0.99903982, 0.99949309, 0.49326989],\
+-[	-6.27341612, -0.00031432, 0.00019254, 7.27310180, 0.99903992, 0.99949314, 0.49327033],\
+-[	-6.27341619, -0.00031429, 0.00019252, 7.27310190, 0.99904001, 0.99949319, 0.49327021],\
+-[	-6.27341627, -0.00031426, 0.00019250, 7.27310201, 0.99904011, 0.99949324, 0.49327047],\
+-[	-6.27341635, -0.00031423, 0.00019248, 7.27310212, 0.99904021, 0.99949329, 0.49327024],\
+-[	-6.27341642, -0.00031419, 0.00019246, 7.27310223, 0.99904031, 0.99949335, 0.49327034],\
+-[	-6.27341650, -0.00031416, 0.00019244, 7.27310234, 0.99904040, 0.99949340, 0.49327024],\
+-[	-6.27341658, -0.00031413, 0.00019242, 7.27310245, 0.99904050, 0.99949345, 0.49327049],\
+-[	-6.27341665, -0.00031410, 0.00019240, 7.27310255, 0.99904060, 0.99949350, 0.49327029],\
+-[	-6.27341673, -0.00031407, 0.00019238, 7.27310266, 0.99904070, 0.99949355, 0.49327027],\
+-[	-6.27341680, -0.00031403, 0.00019236, 7.27310277, 0.99904079, 0.99949360, 0.49327052],\
+-[	-6.27341688, -0.00031400, 0.00019234, 7.27310288, 0.99904089, 0.99949365, 0.49327062],\
+-[	-6.27341696, -0.00031397, 0.00019232, 7.27310299, 0.99904099, 0.99949370, 0.49327051],\
+-[	-6.27341703, -0.00031394, 0.00019231, 7.27310309, 0.99904108, 0.99949376, 0.49327035],\
+-[	-6.27341711, -0.00031391, 0.00019229, 7.27310320, 0.99904118, 0.99949381, 0.49327029],\
+-[	-6.27341719, -0.00031387, 0.00019227, 7.27310331, 0.99904128, 0.99949386, 0.49327040],\
+-[	-6.27341726, -0.00031384, 0.00019225, 7.27310342, 0.99904138, 0.99949391, 0.49327054],\
+-[	-6.27341734, -0.00031381, 0.00019223, 7.27310353, 0.99904147, 0.99949396, 0.49327057],\
+-[	-6.27341741, -0.00031378, 0.00019221, 7.27310363, 0.99904157, 0.99949401, 0.49327065],\
+-[	-6.27341749, -0.00031375, 0.00019219, 7.27310374, 0.99904167, 0.99949406, 0.49327055],\
+-[	-6.27341757, -0.00031372, 0.00019217, 7.27310385, 0.99904177, 0.99949412, 0.49327044],\
+-[	-6.27341764, -0.00031368, 0.00019215, 7.27310396, 0.99904186, 0.99949417, 0.49327060],\
+-[	-6.27341772, -0.00031365, 0.00019213, 7.27310407, 0.99904196, 0.99949422, 0.49327062],\
+-[	-6.27341779, -0.00031362, 0.00019211, 7.27310417, 0.99904206, 0.99949427, 0.49327057],\
+-[	-6.27341787, -0.00031359, 0.00019209, 7.27310428, 0.99904215, 0.99949432, 0.49327068],\
+-[	-6.27341795, -0.00031356, 0.00019207, 7.27310439, 0.99904225, 0.99949437, 0.49327087],\
+-[	-6.27341802, -0.00031353, 0.00019205, 7.27310450, 0.99904235, 0.99949442, 0.49327065],\
+-[	-6.27341810, -0.00031349, 0.00019203, 7.27310461, 0.99904244, 0.99949447, 0.49327040],\
+-[	-6.27341817, -0.00031346, 0.00019201, 7.27310471, 0.99904254, 0.99949453, 0.49327056],\
+-[	-6.27341825, -0.00031343, 0.00019199, 7.27310482, 0.99904264, 0.99949458, 0.49327057],\
+-[	-6.27341833, -0.00031340, 0.00019197, 7.27310493, 0.99904274, 0.99949463, 0.49327059],\
+-[	-6.27341840, -0.00031337, 0.00019195, 7.27310504, 0.99904283, 0.99949468, 0.49327075],\
+-[	-6.27341848, -0.00031333, 0.00019194, 7.27310514, 0.99904293, 0.99949473, 0.49327058],\
+-[	-6.27341855, -0.00031330, 0.00019192, 7.27310525, 0.99904303, 0.99949478, 0.49327073],\
+-[	-6.27341863, -0.00031327, 0.00019190, 7.27310536, 0.99904312, 0.99949483, 0.49327054],\
+-[	-6.27341871, -0.00031324, 0.00019188, 7.27310547, 0.99904322, 0.99949488, 0.49327048],\
+-[	-6.27341878, -0.00031321, 0.00019186, 7.27310557, 0.99904332, 0.99949493, 0.49327086],\
+-[	-6.27341886, -0.00031318, 0.00019184, 7.27310568, 0.99904341, 0.99949499, 0.49327056],\
+-[	-6.27341893, -0.00031314, 0.00019182, 7.27310579, 0.99904351, 0.99949504, 0.49327071],\
+-[	-6.27341901, -0.00031311, 0.00019180, 7.27310590, 0.99904361, 0.99949509, 0.49327045],\
+-[	-6.27341909, -0.00031308, 0.00019178, 7.27310600, 0.99904370, 0.99949514, 0.49327067],\
+-[	-6.27341916, -0.00031305, 0.00019176, 7.27310611, 0.99904380, 0.99949519, 0.49327067],\
+-[	-6.27341924, -0.00031302, 0.00019174, 7.27310622, 0.99904390, 0.99949524, 0.49327074],\
+-[	-6.27341931, -0.00031299, 0.00019172, 7.27310633, 0.99904399, 0.99949529, 0.49327107],\
+-[	-6.27341939, -0.00031295, 0.00019170, 7.27310643, 0.99904409, 0.99949534, 0.49327064],\
+-[	-6.27341946, -0.00031292, 0.00019168, 7.27310654, 0.99904419, 0.99949539, 0.49327063],\
+-[	-6.27341954, -0.00031289, 0.00019166, 7.27310665, 0.99904428, 0.99949545, 0.49327050],\
+-[	-6.27341962, -0.00031286, 0.00019164, 7.27310676, 0.99904438, 0.99949550, 0.49327069],\
+-[	-6.27341969, -0.00031283, 0.00019162, 7.27310686, 0.99904448, 0.99949555, 0.49327081],\
+-[	-6.27341977, -0.00031280, 0.00019161, 7.27310697, 0.99904457, 0.99949560, 0.49327077],\
+-[	-6.27341984, -0.00031276, 0.00019159, 7.27310708, 0.99904467, 0.99949565, 0.49327081],\
+-[	-6.27341992, -0.00031273, 0.00019157, 7.27310719, 0.99904477, 0.99949570, 0.49327088],\
+-[	-6.27341999, -0.00031270, 0.00019155, 7.27310729, 0.99904486, 0.99949575, 0.49327082],\
+-[	-6.27342007, -0.00031267, 0.00019153, 7.27310740, 0.99904496, 0.99949580, 0.49327067],\
+-[	-6.27342015, -0.00031264, 0.00019151, 7.27310751, 0.99904506, 0.99949585, 0.49327061],\
+-[	-6.27342022, -0.00031261, 0.00019149, 7.27310761, 0.99904515, 0.99949590, 0.49327079],\
+-[	-6.27342030, -0.00031258, 0.00019147, 7.27310772, 0.99904525, 0.99949595, 0.49327103],\
+-[	-6.27342037, -0.00031254, 0.00019145, 7.27310783, 0.99904535, 0.99949601, 0.49327107],\
+-[	-6.27342045, -0.00031251, 0.00019143, 7.27310794, 0.99904544, 0.99949606, 0.49327084],\
+-[	-6.27342052, -0.00031248, 0.00019141, 7.27310804, 0.99904554, 0.99949611, 0.49327096],\
+-[	-6.27342060, -0.00031245, 0.00019139, 7.27310815, 0.99904563, 0.99949616, 0.49327062],\
+-[	-6.27342067, -0.00031242, 0.00019137, 7.27310826, 0.99904573, 0.99949621, 0.49327088],\
+-[	-6.27342075, -0.00031239, 0.00019135, 7.27310836, 0.99904583, 0.99949626, 0.49327094],\
+-[	-6.27342083, -0.00031235, 0.00019133, 7.27310847, 0.99904592, 0.99949631, 0.49327095],\
+-[	-6.27342090, -0.00031232, 0.00019132, 7.27310858, 0.99904602, 0.99949636, 0.49327111],\
+-[	-6.27342098, -0.00031229, 0.00019130, 7.27310869, 0.99904612, 0.99949641, 0.49327066],\
+-[	-6.27342105, -0.00031226, 0.00019128, 7.27310879, 0.99904621, 0.99949646, 0.49327112],\
+-[	-6.27342113, -0.00031223, 0.00019126, 7.27310890, 0.99904631, 0.99949651, 0.49327094],\
+-[	-6.27342120, -0.00031220, 0.00019124, 7.27310901, 0.99904641, 0.99949656, 0.49327097],\
+-[	-6.27342128, -0.00031217, 0.00019122, 7.27310911, 0.99904650, 0.99949662, 0.49327094],\
+-[	-6.27342135, -0.00031213, 0.00019120, 7.27310922, 0.99904660, 0.99949667, 0.49327120],\
+-[	-6.27342143, -0.00031210, 0.00019118, 7.27310933, 0.99904669, 0.99949672, 0.49327123],\
+-[	-6.27342150, -0.00031207, 0.00019116, 7.27310943, 0.99904679, 0.99949677, 0.49327124],\
+-[	-6.27342158, -0.00031204, 0.00019114, 7.27310954, 0.99904689, 0.99949682, 0.49327089],\
+-[	-6.27342166, -0.00031201, 0.00019112, 7.27310965, 0.99904698, 0.99949687, 0.49327096],\
+-[	-6.27342173, -0.00031198, 0.00019110, 7.27310975, 0.99904708, 0.99949692, 0.49327093],\
+-[	-6.27342181, -0.00031195, 0.00019108, 7.27310986, 0.99904717, 0.99949697, 0.49327128],\
+-[	-6.27342188, -0.00031191, 0.00019106, 7.27310997, 0.99904727, 0.99949702, 0.49327122],\
+-[	-6.27342196, -0.00031188, 0.00019105, 7.27311007, 0.99904737, 0.99949707, 0.49327128],\
+-[	-6.27342203, -0.00031185, 0.00019103, 7.27311018, 0.99904746, 0.99949712, 0.49327113],\
+-[	-6.27342211, -0.00031182, 0.00019101, 7.27311029, 0.99904756, 0.99949717, 0.49327121],\
+-[	-6.27342218, -0.00031179, 0.00019099, 7.27311039, 0.99904765, 0.99949722, 0.49327115],\
+-[	-6.27342226, -0.00031176, 0.00019097, 7.27311050, 0.99904775, 0.99949727, 0.49327114],\
+-[	-6.27342233, -0.00031173, 0.00019095, 7.27311061, 0.99904785, 0.99949733, 0.49327102],\
+-[	-6.27342241, -0.00031169, 0.00019093, 7.27311071, 0.99904794, 0.99949738, 0.49327120],\
+-[	-6.27342248, -0.00031166, 0.00019091, 7.27311082, 0.99904804, 0.99949743, 0.49327130],\
+-[	-6.27342256, -0.00031163, 0.00019089, 7.27311093, 0.99904813, 0.99949748, 0.49327109],\
+-[	-6.27342263, -0.00031160, 0.00019087, 7.27311103, 0.99904823, 0.99949753, 0.49327132],\
+-[	-6.27342271, -0.00031157, 0.00019085, 7.27311114, 0.99904833, 0.99949758, 0.49327146],\
+-[	-6.27342278, -0.00031154, 0.00019083, 7.27311125, 0.99904842, 0.99949763, 0.49327090],\
+-[	-6.27342286, -0.00031151, 0.00019081, 7.27311135, 0.99904852, 0.99949768, 0.49327123],\
+-[	-6.27342293, -0.00031147, 0.00019080, 7.27311146, 0.99904861, 0.99949773, 0.49327134],\
+-[	-6.27342301, -0.00031144, 0.00019078, 7.27311156, 0.99904871, 0.99949778, 0.49327133],\
+-[	-6.27342308, -0.00031141, 0.00019076, 7.27311167, 0.99904880, 0.99949783, 0.49327117],\
+-[	-6.27342316, -0.00031138, 0.00019074, 7.27311178, 0.99904890, 0.99949788, 0.49327124],\
+-[	-6.27342323, -0.00031135, 0.00019072, 7.27311188, 0.99904900, 0.99949793, 0.49327116],\
+-[	-6.27342331, -0.00031132, 0.00019070, 7.27311199, 0.99904909, 0.99949798, 0.49327125],\
+-[	-6.27342338, -0.00031129, 0.00019068, 7.27311210, 0.99904919, 0.99949803, 0.49327132],\
+-[	-6.27342346, -0.00031126, 0.00019066, 7.27311220, 0.99904928, 0.99949808, 0.49327161],\
+-[	-6.27342353, -0.00031122, 0.00019064, 7.27311231, 0.99904938, 0.99949813, 0.49327137],\
+-[	-6.27342361, -0.00031119, 0.00019062, 7.27311242, 0.99904947, 0.99949818, 0.49327141],\
+-[	-6.27342368, -0.00031116, 0.00019060, 7.27311252, 0.99904957, 0.99949824, 0.49327151],\
+-[	-6.27342376, -0.00031113, 0.00019058, 7.27311263, 0.99904966, 0.99949829, 0.49327147],\
+-[	-6.27342383, -0.00031110, 0.00019057, 7.27311273, 0.99904976, 0.99949834, 0.49327157],\
+-[	-6.27342391, -0.00031107, 0.00019055, 7.27311284, 0.99904986, 0.99949839, 0.49327158],\
+-[	-6.27342398, -0.00031104, 0.00019053, 7.27311295, 0.99904995, 0.99949844, 0.49327140],\
+-[	-6.27342406, -0.00031101, 0.00019051, 7.27311305, 0.99905005, 0.99949849, 0.49327149],\
+-[	-6.27342413, -0.00031097, 0.00019049, 7.27311316, 0.99905014, 0.99949854, 0.49327130],\
+-[	-6.27342421, -0.00031094, 0.00019047, 7.27311326, 0.99905024, 0.99949859, 0.49327138],\
+-[	-6.27342428, -0.00031091, 0.00019045, 7.27311337, 0.99905033, 0.99949864, 0.49327154],\
+-[	-6.27342436, -0.00031088, 0.00019043, 7.27311348, 0.99905043, 0.99949869, 0.49327144],\
+-[	-6.27342443, -0.00031085, 0.00019041, 7.27311358, 0.99905052, 0.99949874, 0.49327149],\
+-[	-6.27342451, -0.00031082, 0.00019039, 7.27311369, 0.99905062, 0.99949879, 0.49327160],\
+-[	-6.27342458, -0.00031079, 0.00019037, 7.27311379, 0.99905071, 0.99949884, 0.49327162],\
+-[	-6.27342466, -0.00031076, 0.00019035, 7.27311390, 0.99905081, 0.99949889, 0.49327146],\
+-[	-6.27342473, -0.00031072, 0.00019034, 7.27311401, 0.99905091, 0.99949894, 0.49327178],\
+-[	-6.27342480, -0.00031069, 0.00019032, 7.27311411, 0.99905100, 0.99949899, 0.49327156],\
+-[	-6.27342488, -0.00031066, 0.00019030, 7.27311422, 0.99905110, 0.99949904, 0.49327151],\
+-[	-6.27342495, -0.00031063, 0.00019028, 7.27311432, 0.99905119, 0.99949909, 0.49327157],\
+-[	-6.27342503, -0.00031060, 0.00019026, 7.27311443, 0.99905129, 0.99949914, 0.49327162],\
+-[	-6.27342510, -0.00031057, 0.00019024, 7.27311453, 0.99905138, 0.99949919, 0.49327180],\
+-[	-6.27342518, -0.00031054, 0.00019022, 7.27311464, 0.99905148, 0.99949924, 0.49327153],\
+-[	-6.27342525, -0.00031051, 0.00019020, 7.27311475, 0.99905157, 0.99949929, 0.49327170],\
+-[	-6.27342533, -0.00031047, 0.00019018, 7.27311485, 0.99905167, 0.99949934, 0.49327164],\
+-[	-6.27342540, -0.00031044, 0.00019016, 7.27311496, 0.99905176, 0.99949939, 0.49327177],\
+-[	-6.27342548, -0.00031041, 0.00019014, 7.27311506, 0.99905186, 0.99949944, 0.49327171],\
+-[	-6.27342555, -0.00031038, 0.00019013, 7.27311517, 0.99905195, 0.99949949, 0.49327163],\
+-[	-6.27342563, -0.00031035, 0.00019011, 7.27311527, 0.99905205, 0.99949954, 0.49327148],\
+-[	-6.27342570, -0.00031032, 0.00019009, 7.27311538, 0.99905214, 0.99949959, 0.49327177],\
+-[	-6.27342577, -0.00031029, 0.00019007, 7.27311549, 0.99905224, 0.99949964, 0.49327190],\
+-[	-6.27342585, -0.00031026, 0.00019005, 7.27311559, 0.99905233, 0.99949969, 0.49327174],\
+-[	-6.27342592, -0.00031023, 0.00019003, 7.27311570, 0.99905243, 0.99949974, 0.49327179],\
+-[	-6.27342600, -0.00031019, 0.00019001, 7.27311580, 0.99905252, 0.99949979, 0.49327165],\
+-[	-6.27342607, -0.00031016, 0.00018999, 7.27311591, 0.99905262, 0.99949984, 0.49327180],\
+-[	-6.27342615, -0.00031013, 0.00018997, 7.27311601, 0.99905271, 0.99949989, 0.49327176],\
+-[	-6.27342622, -0.00031010, 0.00018995, 7.27311612, 0.99905281, 0.99949994, 0.49327155],\
+-[	-6.27342630, -0.00031007, 0.00018993, 7.27311622, 0.99905290, 0.99949999, 0.49327169],\
+-[	-6.27342637, -0.00031004, 0.00018992, 7.27311633, 0.99905300, 0.99950004, 0.49327184],\
+-[	-6.27342644, -0.00031001, 0.00018990, 7.27311644, 0.99905309, 0.99950009, 0.49327184],\
+-[	-6.27342652, -0.00030998, 0.00018988, 7.27311654, 0.99905319, 0.99950014, 0.49327176],\
+-[	-6.27342659, -0.00030995, 0.00018986, 7.27311665, 0.99905328, 0.99950019, 0.49327184],\
+-[	-6.27342667, -0.00030992, 0.00018984, 7.27311675, 0.99905338, 0.99950024, 0.49327166],\
+-[	-6.27342674, -0.00030988, 0.00018982, 7.27311686, 0.99905347, 0.99950029, 0.49327222],\
+-[	-6.27342682, -0.00030985, 0.00018980, 7.27311696, 0.99905357, 0.99950034, 0.49327211],\
+-[	-6.27342689, -0.00030982, 0.00018978, 7.27311707, 0.99905366, 0.99950039, 0.49327202],\
+-[	-6.27342696, -0.00030979, 0.00018976, 7.27311717, 0.99905376, 0.99950044, 0.49327179],\
+-[	-6.27342704, -0.00030976, 0.00018974, 7.27311728, 0.99905385, 0.99950049, 0.49327176],\
+-[	-6.27342711, -0.00030973, 0.00018973, 7.27311738, 0.99905394, 0.99950054, 0.49327202],\
+-[	-6.27342719, -0.00030970, 0.00018971, 7.27311749, 0.99905404, 0.99950059, 0.49327184],\
+-[	-6.27342726, -0.00030967, 0.00018969, 7.27311759, 0.99905413, 0.99950064, 0.49327198],\
+-[	-6.27342733, -0.00030964, 0.00018967, 7.27311770, 0.99905423, 0.99950069, 0.49327205],\
+-[	-6.27342741, -0.00030961, 0.00018965, 7.27311780, 0.99905432, 0.99950074, 0.49327200],\
+-[	-6.27342748, -0.00030957, 0.00018963, 7.27311791, 0.99905442, 0.99950079, 0.49327197],\
+-[	-6.27342756, -0.00030954, 0.00018961, 7.27311801, 0.99905451, 0.99950084, 0.49327183],\
+-[	-6.27342763, -0.00030951, 0.00018959, 7.27311812, 0.99905461, 0.99950089, 0.49327208],\
+-[	-6.27342771, -0.00030948, 0.00018957, 7.27311822, 0.99905470, 0.99950094, 0.49327205],\
+-[	-6.27342778, -0.00030945, 0.00018956, 7.27311833, 0.99905480, 0.99950099, 0.49327194]]);
++	love_numbers=np.array([[    0         , 0          ,0          ,0          ,0          ,0          ,0          ],
++												 [	-1.28740059,-1.00000000,-0.89858519,1.28740059, 0.42519882  ,0.89858519 ,0.00000000 ],
++												 [	-1.00025365, -0.30922675, 0.02060926, 1.69102690, 0.46358648, 0.67016399, 0.61829668],
++												 [	-1.06243501, -0.19927948, 0.06801636, 1.86315553, 0.55741597, 0.73270416, 0.56270589],
++												 [	-1.06779588, -0.13649834, 0.05667027, 1.93129754, 0.63672498, 0.80683140, 0.51132745],
++												 [	-1.10365923, -0.10736896, 0.04401221, 1.99629027, 0.68737906, 0.84861883, 0.48642259],
++												 [	-1.16440348, -0.09295485, 0.03638747, 2.07144863, 0.72031283, 0.87065768, 0.47898268],
++												 [	-1.23634156, -0.08469861, 0.03202759, 2.15164295, 0.74355796, 0.88327380, 0.47955214],
++												 [	-1.31140380, -0.07921412, 0.02937593, 2.23218968, 0.76126493, 0.89140995, 0.48323250],
++												 [	-1.38582399, -0.07513541, 0.02762338, 2.31068858, 0.77552290, 0.89724121, 0.48795424],
++												 [	-1.45807465, -0.07187005, 0.02638627, 2.38620460, 0.78744212, 0.90174369, 0.49291061],
++												 [	-1.52763314, -0.06913154, 0.02547640, 2.45850160, 0.79766475, 0.90539206, 0.49779422],
++												 [	-1.59437866, -0.06676258, 0.02479080, 2.52761607, 0.80659635, 0.90844662, 0.50248477],
++												 [	-1.65833071, -0.06466619, 0.02426511, 2.59366452, 0.81451271, 0.91106870, 0.50693175],
++												 [	-1.71954820, -0.06277732, 0.02385464, 2.65677088, 0.82161167, 0.91336804, 0.51111243],
++												 [	-1.77809640, -0.06105001, 0.02352654, 2.71704639, 0.82804049, 0.91542346, 0.51501712],
++												 [	-1.83403970, -0.05945081, 0.02325609, 2.77458889, 0.83391153, 0.91729309, 0.51864363],
++												 [	-1.88744242, -0.05795502, 0.02302469, 2.82948740, 0.83931209, 0.91902029, 0.52199490],
++												 [	-1.93837115, -0.05654418, 0.02281843, 2.88182697, 0.84431095, 0.92063739, 0.52507761],
++												 [	-1.98689666, -0.05520447, 0.02262706, 2.93169219, 0.84896295, 0.92216847, 0.52790108],
++												 [	-2.03309477, -0.05392545, 0.02244322, 2.97916932, 0.85331225, 0.92363132, 0.53047654],
++												 [	-2.07704643, -0.05269926, 0.02226173, 3.02434717, 0.85739480, 0.92503902, 0.53281639],
++												 [	-2.11883714, -0.05151988, 0.02207909, 3.06731726, 0.86124014, 0.92640103, 0.53493369],
++												 [	-2.15855611, -0.05038274, 0.02189307, 3.10817337, 0.86487276, 0.92772419, 0.53684176],
++												 [	-2.19629514, -0.04928430, 0.02170238, 3.14701084, 0.86831322, 0.92901331, 0.53855386],
++												 [	-2.23214747, -0.04822179, 0.02150643, 3.18392568, 0.87157886, 0.93027178, 0.54008294],
++												 [	-2.26620674, -0.04719301, 0.02130509, 3.21901373, 0.87468453, 0.93150190, 0.54144148],
++												 [	-2.29856595, -0.04619619, 0.02109858, 3.25236976, 0.87764301, 0.93270523, 0.54264140],
++												 [	-2.32931659, -0.04522983, 0.02088735, 3.28408675, 0.88046543, 0.93388282, 0.54369397],
++												 [	-2.35854794, -0.04429270, 0.02067197, 3.31425524, 0.88316156, 0.93503533, 0.54460979],
++												 [	-2.38634650, -0.04338368, 0.02045310, 3.34296281, 0.88574004, 0.93616321, 0.54539877],
++												 [	-2.41279547, -0.04250179, 0.02023142, 3.37029367, 0.88820859, 0.93726678, 0.54607015],
++												 [	-2.43797451, -0.04164613, 0.02000761, 3.39632839, 0.89057416, 0.93834626, 0.54663248],
++												 [	-2.46195951, -0.04081583, 0.01978231, 3.42114367, 0.89284301, 0.93940185, 0.54709369],
++												 [	-2.48482241, -0.04001011, 0.01955614, 3.44481230, 0.89502085, 0.94043375, 0.54746112],
++												 [	-2.50663126, -0.03922817, 0.01932966, 3.46740309, 0.89711291, 0.94144217, 0.54774153],
++												 [	-2.52745016, -0.03846928, 0.01910337, 3.48898088, 0.89912397, 0.94242735, 0.54794114],
++												 [	-2.54733938, -0.03773269, 0.01887774, 3.50960670, 0.90105847, 0.94338957, 0.54806571],
++												 [	-2.56635547, -0.03701769, 0.01865317, 3.52933779, 0.90292050, 0.94432915, 0.54812051],
++												 [	-2.58455138, -0.03632358, 0.01843000, 3.54822780, 0.90471386, 0.94524642, 0.54811044],
++												 [	-2.60197665, -0.03564968, 0.01820854, 3.56632697, 0.90644209, 0.94614178, 0.54803997],
++												 [	-2.61867756, -0.03499532, 0.01798905, 3.58368224, 0.90810850, 0.94701563, 0.54791326],
++												 [	-2.63469733, -0.03435985, 0.01777176, 3.60033748, 0.90971616, 0.94786840, 0.54773413],
++												 [	-2.65007629, -0.03374263, 0.01755683, 3.61633367, 0.91126798, 0.94870054, 0.54750610],
++												 [	-2.66485208, -0.03314303, 0.01734443, 3.63170905, 0.91276665, 0.94951253, 0.54723245],
++												 [	-2.67905981, -0.03256047, 0.01713468, 3.64649934, 0.91421471, 0.95030485, 0.54691620],
++												 [	-2.69273222, -0.03199435, 0.01692767, 3.66073787, 0.91561457, 0.95107798, 0.54656015],
++												 [	-2.70589990, -0.03144411, 0.01672347, 3.67445580, 0.91696845, 0.95183242, 0.54616691],
++												 [	-2.71859139, -0.03090919, 0.01652215, 3.68768220, 0.91827849, 0.95256866, 0.54573889],
++												 [	-2.73083334, -0.03038907, 0.01632374, 3.70044427, 0.91954667, 0.95328719, 0.54527835],
++												 [	-2.74265068, -0.02988323, 0.01612826, 3.71276745, 0.92077487, 0.95398851, 0.54478739],
++												 [	-2.75406669, -0.02939118, 0.01593573, 3.72467551, 0.92196486, 0.95467309, 0.54426797],
++												 [	-2.76510320, -0.02891245, 0.01574615, 3.73619076, 0.92311833, 0.95534141, 0.54372191],
++												 [	-2.77578063, -0.02844656, 0.01555950, 3.74733406, 0.92423685, 0.95599393, 0.54315095],
++												 [	-2.78611812, -0.02799309, 0.01537578, 3.75812503, 0.92532192, 0.95663113, 0.54255669],
++												 [	-2.79613364, -0.02755161, 0.01519496, 3.76858203, 0.92637496, 0.95725343, 0.54194065],
++												 [	-2.80584405, -0.02712170, 0.01501701, 3.77872235, 0.92739730, 0.95786128, 0.54130424],
++												 [	-2.81526521, -0.02670298, 0.01484191, 3.78856223, 0.92839022, 0.95845511, 0.54064880],
++												 [	-2.82441204, -0.02629506, 0.01466961, 3.79811697, 0.92935491, 0.95903532, 0.53997561],
++												 [	-2.83329857, -0.02589759, 0.01450009, 3.80740098, 0.93029251, 0.95960232, 0.53928586],
++												 [	-2.84193804, -0.02551021, 0.01433329, 3.81642782, 0.93120412, 0.96015649, 0.53858067],
++												 [	-2.85034293, -0.02513260, 0.01416919, 3.82521033, 0.93209074, 0.96069821, 0.53786112],
++												 [	-2.85852503, -0.02476443, 0.01400773, 3.83376061, 0.93295337, 0.96122784, 0.53712821],
++												 [	-2.86649548, -0.02440538, 0.01384888, 3.84209010, 0.93379291, 0.96174574, 0.53638291],
++												 [	-2.87426481, -0.02405518, 0.01369258, 3.85020963, 0.93461026, 0.96225224, 0.53562612],
++												 [	-2.88184299, -0.02371352, 0.01353880, 3.85812947, 0.93540625, 0.96274768, 0.53485873],
++												 [	-2.88923945, -0.02338014, 0.01338749, 3.86585931, 0.93618168, 0.96323236, 0.53408154],
++												 [	-2.89646316, -0.02305478, 0.01323861, 3.87340838, 0.93693730, 0.96370661, 0.53329534],
++												 [	-2.90352261, -0.02273718, 0.01309211, 3.88078542, 0.93767383, 0.96417071, 0.53250089],
++												 [	-2.91042585, -0.02242710, 0.01294795, 3.88799874, 0.93839197, 0.96462494, 0.53169888],
++												 [	-2.91718054, -0.02212431, 0.01280609, 3.89505623, 0.93909236, 0.96506960, 0.53089002],
++												 [	-2.92379397, -0.02182859, 0.01266648, 3.90196538, 0.93977564, 0.96550493, 0.53007493],
++												 [	-2.93027306, -0.02153971, 0.01252908, 3.90873334, 0.94044240, 0.96593120, 0.52925424],
++												 [	-2.93662439, -0.02125748, 0.01239386, 3.91536691, 0.94109322, 0.96634866, 0.52842854],
++												 [	-2.94285425, -0.02098169, 0.01226077, 3.92187256, 0.94172863, 0.96675754, 0.52759839],
++												 [	-2.94896860, -0.02071215, 0.01212977, 3.92825645, 0.94234915, 0.96715808, 0.52676434],
++												 [	-2.95497314, -0.02044868, 0.01200082, 3.93452446, 0.94295529, 0.96755050, 0.52592690],
++												 [	-2.96087331, -0.02019110, 0.01187388, 3.94068220, 0.94354752, 0.96793501, 0.52508656],
++												 [	-2.96667427, -0.01993924, 0.01174893, 3.94673503, 0.94412630, 0.96831183, 0.52424380],
++												 [	-2.97238097, -0.01969293, 0.01162591, 3.95268804, 0.94469206, 0.96868116, 0.52339906],
++												 [	-2.97799813, -0.01945201, 0.01150481, 3.95854612, 0.94524521, 0.96904318, 0.52255277],
++												 [	-2.98353025, -0.01921634, 0.01138557, 3.96431391, 0.94578617, 0.96939809, 0.52170535],
++												 [	-2.98898162, -0.01898576, 0.01126817, 3.96999586, 0.94631531, 0.96974607, 0.52085719],
++												 [	-2.99435636, -0.01876014, 0.01115257, 3.97559622, 0.94683300, 0.97008729, 0.52000868],
++												 [	-2.99965838, -0.01853932, 0.01103875, 3.98111905, 0.94733959, 0.97042193, 0.51916016],
++												 [	-3.00489143, -0.01832319, 0.01092666, 3.98656824, 0.94783543, 0.97075015, 0.51831198],
++												 [	-3.01005909, -0.01811161, 0.01081628, 3.99194748, 0.94832084, 0.97107211, 0.51746448],
++												 [	-3.01516479, -0.01790446, 0.01070757, 3.99726033, 0.94879613, 0.97138796, 0.51661796],
++												 [	-3.02021180, -0.01770162, 0.01060052, 4.00251017, 0.94926160, 0.97169786, 0.51577273],
++												 [	-3.02520323, -0.01750298, 0.01049508, 4.00770025, 0.94971755, 0.97200194, 0.51492908],
++												 [	-3.03014209, -0.01730842, 0.01039123, 4.01283367, 0.95016424, 0.97230035, 0.51408727],
++												 [	-3.03503122, -0.01711783, 0.01028894, 4.01791339, 0.95060195, 0.97259323, 0.51324758],
++												 [	-3.03987336, -0.01693111, 0.01018819, 4.02294225, 0.95103094, 0.97288070, 0.51241024],
++												 [	-3.04467112, -0.01674816, 0.01008894, 4.02792295, 0.95145145, 0.97316290, 0.51157550],
++												 [	-3.04942699, -0.01656889, 0.00999117, 4.03285810, 0.95186373, 0.97343995, 0.51074358],
++												 [	-3.05414335, -0.01639319, 0.00989485, 4.03775017, 0.95226799, 0.97371196, 0.50991471],
++												 [	-3.05882250, -0.01622097, 0.00979997, 4.04260153, 0.95266447, 0.97397906, 0.50908908],
++												 [	-3.06346660, -0.01605215, 0.00970649, 4.04741445, 0.95305338, 0.97424136, 0.50826689],
++												 [	-3.06807773, -0.01588664, 0.00961439, 4.05219109, 0.95343492, 0.97449897, 0.50744832],
++												 [	-3.07265789, -0.01572436, 0.00952364, 4.05693353, 0.95380929, 0.97475200, 0.50663356],
++												 [	-3.07720897, -0.01556522, 0.00943423, 4.06164375, 0.95417670, 0.97500055, 0.50582277],
++												 [	-3.08173279, -0.01540916, 0.00934613, 4.06632364, 0.95453731, 0.97524472, 0.50501611],
++												 [	-3.08623109, -0.01525608, 0.00925931, 4.07097501, 0.95489131, 0.97548461, 0.50421372],
++												 [	-3.09070551, -0.01510592, 0.00917376, 4.07559959, 0.95523888, 0.97572032, 0.50341576],
++												 [	-3.09515765, -0.01495861, 0.00908946, 4.08019904, 0.95558018, 0.97595193, 0.50262236],
++												 [	-3.09958899, -0.01481408, 0.00900637, 4.08477492, 0.95591537, 0.97617955, 0.50183364],
++												 [	-3.10400100, -0.01467225, 0.00892449, 4.08932875, 0.95624461, 0.97640325, 0.50104973],
++												 [	-3.10839504, -0.01453308, 0.00884379, 4.09386196, 0.95656806, 0.97662313, 0.50027073],
++												 [	-3.11277241, -0.01439648, 0.00876425, 4.09837593, 0.95688585, 0.97683927, 0.49949676],
++												 [	-3.11713438, -0.01426240, 0.00868586, 4.10287198, 0.95719812, 0.97705174, 0.49872791],
++												 [	-3.12148213, -0.01413079, 0.00860858, 4.10735134, 0.95750503, 0.97726063, 0.49796429],
++												 [	-3.12581680, -0.01400157, 0.00853241, 4.11181522, 0.95780669, 0.97746601, 0.49720597],
++												 [	-3.13013947, -0.01387471, 0.00845733, 4.11626476, 0.95810324, 0.97766796, 0.49645304],
++												 [	-3.13445117, -0.01375013, 0.00838331, 4.12070104, 0.95839480, 0.97786656, 0.49570558],
++												 [	-3.13875289, -0.01362779, 0.00831034, 4.12512510, 0.95868150, 0.97806186, 0.49496366],
++												 [	-3.14304556, -0.01350764, 0.00823841, 4.12953792, 0.95896344, 0.97825395, 0.49422734],
++												 [	-3.14733008, -0.01338963, 0.00816748, 4.13394045, 0.95924075, 0.97844289, 0.49349669],
++												 [	-3.15160728, -0.01327370, 0.00809756, 4.13833358, 0.95951352, 0.97862874, 0.49277177],
++												 [	-3.15587797, -0.01315981, 0.00802862, 4.14271816, 0.95978188, 0.97881157, 0.49205262],
++												 [	-3.16014293, -0.01304792, 0.00796064, 4.14709501, 0.96004592, 0.97899144, 0.49133930],
++												 [	-3.16440288, -0.01293797, 0.00789361, 4.15146491, 0.96030574, 0.97916842, 0.49063185],
++												 [	-3.16865852, -0.01282993, 0.00782751, 4.15582858, 0.96056144, 0.97934256, 0.48993030],
++												 [	-3.17291049, -0.01272375, 0.00776233, 4.16018673, 0.96081312, 0.97951392, 0.48923471],
++												 [	-3.17715942, -0.01261940, 0.00769805, 4.16454003, 0.96106086, 0.97968255, 0.48854509],
++												 [	-3.18140591, -0.01251682, 0.00763466, 4.16888910, 0.96130476, 0.97984852, 0.48786148],
++												 [	-3.18565052, -0.01241598, 0.00757215, 4.17323454, 0.96154490, 0.98001187, 0.48718390],
++												 [	-3.18989378, -0.01231685, 0.00751049, 4.17757693, 0.96178137, 0.98017266, 0.48651237],
++												 [	-3.19413619, -0.01221938, 0.00744968, 4.18191681, 0.96201424, 0.98033094, 0.48584692],
++												 [	-3.19837823, -0.01212354, 0.00738970, 4.18625469, 0.96224360, 0.98048676, 0.48518756],
++												 [	-3.20262035, -0.01202930, 0.00733053, 4.19059105, 0.96246952, 0.98064017, 0.48453431],
++												 [	-3.20686298, -0.01193661, 0.00727217, 4.19492637, 0.96269208, 0.98079121, 0.48388717],
++												 [	-3.21110653, -0.01184546, 0.00721461, 4.19926107, 0.96291135, 0.98093994, 0.48324615],
++												 [	-3.21535137, -0.01175579, 0.00715782, 4.20359557, 0.96312741, 0.98108639, 0.48261126],
++												 [	-3.21959786, -0.01166759, 0.00710179, 4.20793027, 0.96334031, 0.98123062, 0.48198250],
++												 [	-3.22384634, -0.01158082, 0.00704652, 4.21226552, 0.96355014, 0.98137266, 0.48135988],
++												 [	-3.22809714, -0.01149545, 0.00699199, 4.21660169, 0.96375694, 0.98151256, 0.48074338],
++												 [	-3.23235055, -0.01141146, 0.00693819, 4.22093909, 0.96396080, 0.98165035, 0.48013301],
++												 [	-3.23660685, -0.01132880, 0.00688511, 4.22527805, 0.96416176, 0.98178609, 0.47952876],
++												 [	-3.24086631, -0.01124746, 0.00683273, 4.22961885, 0.96435989, 0.98191980, 0.47893063],
++												 [	-3.24512918, -0.01116741, 0.00678105, 4.23396177, 0.96455525, 0.98205153, 0.47833860],
++												 [	-3.24939569, -0.01108862, 0.00673005, 4.23830707, 0.96474789, 0.98218132, 0.47775267],
++												 [	-3.25366606, -0.01101107, 0.00667973, 4.24265499, 0.96493787, 0.98230920, 0.47717282],
++												 [	-3.25794050, -0.01093473, 0.00663007, 4.24700577, 0.96512525, 0.98243520, 0.47659903],
++												 [	-3.26221918, -0.01085957, 0.00658106, 4.25135961, 0.96531007, 0.98255937, 0.47603130],
++												 [	-3.26650230, -0.01078557, 0.00653269, 4.25571672, 0.96549239, 0.98268174, 0.47546960],
++												 [	-3.27079000, -0.01071272, 0.00648495, 4.26007729, 0.96567225, 0.98280233, 0.47491391],
++												 [	-3.27508246, -0.01064097, 0.00643784, 4.26444149, 0.96584971, 0.98292119, 0.47436422],
++												 [	-3.27937980, -0.01057032, 0.00639134, 4.26880948, 0.96602482, 0.98303834, 0.47382051],
++												 [	-3.28368216, -0.01050074, 0.00634544, 4.27318141, 0.96619761, 0.98315382, 0.47328275],
++												 [	-3.28798965, -0.01043222, 0.00630013, 4.27755743, 0.96636814, 0.98326765, 0.47275091],
++												 [	-3.29230239, -0.01036472, 0.00625541, 4.28193767, 0.96653645, 0.98337988, 0.47222499],
++												 [	-3.29662047, -0.01029823, 0.00621126, 4.28632224, 0.96670258, 0.98349051, 0.47170494],
++												 [	-3.30094399, -0.01023273, 0.00616768, 4.29071126, 0.96686657, 0.98359960, 0.47119074],
++												 [	-3.30527303, -0.01016819, 0.00612465, 4.29510483, 0.96702847, 0.98370715, 0.47068237],
++												 [	-3.30960766, -0.01010461, 0.00608218, 4.29950304, 0.96718831, 0.98381321, 0.47017979],
++												 [	-3.31394795, -0.01004197, 0.00604024, 4.30390598, 0.96734614, 0.98391779, 0.46968299],
++												 [	-3.31829395, -0.00998024, 0.00599883, 4.30831372, 0.96750198, 0.98402093, 0.46919192],
++												 [	-3.32264573, -0.00991940, 0.00595795, 4.31272633, 0.96765588, 0.98412265, 0.46870656],
++												 [	-3.32700331, -0.00985945, 0.00591759, 4.31714387, 0.96780788, 0.98422297, 0.46822687],
++												 [	-3.33136675, -0.00980035, 0.00587773, 4.32156640, 0.96795801, 0.98432191, 0.46775284],
++												 [	-3.33573607, -0.00974211, 0.00583838, 4.32599396, 0.96810630, 0.98441951, 0.46728441],
++												 [	-3.34011130, -0.00968470, 0.00579951, 4.33042660, 0.96825278, 0.98451579, 0.46682157],
++												 [	-3.34449246, -0.00962810, 0.00576113, 4.33486436, 0.96839750, 0.98461077, 0.46636427],
++												 [	-3.34887956, -0.00957230, 0.00572323, 4.33930726, 0.96854048, 0.98470447, 0.46591248],
++												 [	-3.35327261, -0.00951729, 0.00568581, 4.34375533, 0.96868175, 0.98479691, 0.46546617],
++												 [	-3.35767163, -0.00946304, 0.00564884, 4.34820858, 0.96882135, 0.98488812, 0.46502531],
++												 [	-3.36207660, -0.00940956, 0.00561233, 4.35266704, 0.96895930, 0.98497811, 0.46458986],
++												 [	-3.36648753, -0.00935681, 0.00557627, 4.35713071, 0.96909563, 0.98506691, 0.46415977],
++												 [	-3.37090440, -0.00930480, 0.00554066, 4.36159960, 0.96923037, 0.98515454, 0.46373503],
++												 [	-3.37532721, -0.00925350, 0.00550548, 4.36607371, 0.96936355, 0.98524102, 0.46331559],
++												 [	-3.37975593, -0.00920290, 0.00547073, 4.37055303, 0.96949520, 0.98532636, 0.46290141],
++												 [	-3.38419056, -0.00915300, 0.00543641, 4.37503756, 0.96962535, 0.98541059, 0.46249246],
++												 [	-3.38863105, -0.00910377, 0.00540251, 4.37952729, 0.96975401, 0.98549373, 0.46208870],
++												 [	-3.39307740, -0.00905520, 0.00536901, 4.38402220, 0.96988122, 0.98557578, 0.46169009],
++												 [	-3.39752956, -0.00900729, 0.00533593, 4.38852227, 0.97000699, 0.98565678, 0.46129660],
++												 [	-3.40198751, -0.00896002, 0.00530324, 4.39302749, 0.97013137, 0.98573674, 0.46090819],
++												 [	-3.40645121, -0.00891338, 0.00527095, 4.39753783, 0.97025435, 0.98581567, 0.46052482],
++												 [	-3.41092063, -0.00886736, 0.00523904, 4.40205326, 0.97037598, 0.98589360, 0.46014645],
++												 [	-3.41539571, -0.00882195, 0.00520752, 4.40657376, 0.97049628, 0.98597053, 0.45977305],
++												 [	-3.41987643, -0.00877713, 0.00517637, 4.41109929, 0.97061526, 0.98604649, 0.45940458],
++												 [	-3.42436272, -0.00873290, 0.00514560, 4.41562982, 0.97073295, 0.98612149, 0.45904100],
++												 [	-3.42885456, -0.00868925, 0.00511520, 4.42016531, 0.97084936, 0.98619555, 0.45868227],
++												 [	-3.43335188, -0.00864617, 0.00508515, 4.42470571, 0.97096453, 0.98626868, 0.45832835],
++												 [	-3.43785464, -0.00860364, 0.00505546, 4.42925100, 0.97107847, 0.98634090, 0.45797921],
++												 [	-3.44236278, -0.00856166, 0.00502613, 4.43380112, 0.97119120, 0.98641222, 0.45763480],
++												 [	-3.44687625, -0.00852021, 0.00499714, 4.43835604, 0.97130274, 0.98648265, 0.45729509],
++												 [	-3.45139500, -0.00847930, 0.00496849, 4.44291570, 0.97141311, 0.98655221, 0.45696005],
++												 [	-3.45591895, -0.00843890, 0.00494017, 4.44748005, 0.97152233, 0.98662092, 0.45662962],
++												 [	-3.46044807, -0.00839902, 0.00491219, 4.45204905, 0.97163042, 0.98668879, 0.45630378],
++												 [	-3.46498227, -0.00835964, 0.00488454, 4.45662264, 0.97173739, 0.98675583, 0.45598249],
++												 [	-3.46952151, -0.00832075, 0.00485721, 4.46120077, 0.97184326, 0.98682205, 0.45566570],
++												 [	-3.47406572, -0.00828234, 0.00483019, 4.46578338, 0.97194805, 0.98688746, 0.45535338],
++												 [	-3.47861484, -0.00824442, 0.00480349, 4.47037042, 0.97205179, 0.98695209, 0.45504550],
++												 [	-3.48316880, -0.00820696, 0.00477710, 4.47496184, 0.97215447, 0.98701594, 0.45474201],
++												 [	-3.48772753, -0.00816996, 0.00475102, 4.47955756, 0.97225612, 0.98707902, 0.45444287],
++												 [	-3.49229097, -0.00813342, 0.00472523, 4.48415755, 0.97235676, 0.98714134, 0.45414806],
++												 [	-3.49685904, -0.00809733, 0.00469975, 4.48876172, 0.97245640, 0.98720293, 0.45385753],
++												 [	-3.50143169, -0.00806167, 0.00467455, 4.49337002, 0.97255506, 0.98726378, 0.45357123],
++												 [	-3.50600884, -0.00802644, 0.00464964, 4.49798240, 0.97265275, 0.98732391, 0.45328915],
++												 [	-3.51059042, -0.00799164, 0.00462502, 4.50259878, 0.97274949, 0.98738333, 0.45301123],
++												 [	-3.51517637, -0.00795726, 0.00460068, 4.50721911, 0.97284528, 0.98744206, 0.45273745],
++												 [	-3.51976660, -0.00792329, 0.00457662, 4.51184331, 0.97294015, 0.98750009, 0.45246776],
++												 [	-3.52436105, -0.00788972, 0.00455283, 4.51647133, 0.97303411, 0.98755745, 0.45220214],
++												 [	-3.52895964, -0.00785655, 0.00452930, 4.52110309, 0.97312718, 0.98761414, 0.45194053],
++												 [	-3.53356231, -0.00782377, 0.00450605, 4.52573854, 0.97321936, 0.98767018, 0.45168291],
++												 [	-3.53816898, -0.00779138, 0.00448306, 4.53037760, 0.97331067, 0.98772556, 0.45142923],
++												 [	-3.54277957, -0.00775937, 0.00446032, 4.53502021, 0.97340111, 0.98778031, 0.45117947],
++												 [	-3.54739402, -0.00772773, 0.00443784, 4.53966629, 0.97349072, 0.98783443, 0.45093359],
++												 [	-3.55201224, -0.00769645, 0.00441562, 4.54431579, 0.97357949, 0.98788793, 0.45069155],
++												 [	-3.55663417, -0.00766554, 0.00439364, 4.54896864, 0.97366744, 0.98794082, 0.45045331],
++												 [	-3.56125973, -0.00763498, 0.00437190, 4.55362475, 0.97375458, 0.98799311, 0.45021885],
++												 [	-3.56588885, -0.00760478, 0.00435041, 4.55828407, 0.97384092, 0.98804481, 0.44998812],
++												 [	-3.57052145, -0.00757491, 0.00432916, 4.56294653, 0.97392648, 0.98809593, 0.44976109],
++												 [	-3.57515745, -0.00754539, 0.00430814, 4.56761206, 0.97401126, 0.98814646, 0.44953772],
++												 [	-3.57979678, -0.00751620, 0.00428736, 4.57228058, 0.97409528, 0.98819644, 0.44931799],
++												 [	-3.58443937, -0.00748734, 0.00426681, 4.57695203, 0.97417854, 0.98824585, 0.44910185],
++												 [	-3.58908514, -0.00745880, 0.00424648, 4.58162633, 0.97426107, 0.98829472, 0.44888928],
++												 [	-3.59373401, -0.00743059, 0.00422637, 4.58630343, 0.97434286, 0.98834304, 0.44868023],
++												 [	-3.59838592, -0.00740268, 0.00420649, 4.59098323, 0.97442393, 0.98839083, 0.44847468],
++												 [	-3.60304078, -0.00737509, 0.00418682, 4.59566569, 0.97450428, 0.98843809, 0.44827259],
++												 [	-3.60769852, -0.00734780, 0.00416737, 4.60035072, 0.97458394, 0.98848483, 0.44807392],
++												 [	-3.61235907, -0.00732081, 0.00414813, 4.60503826, 0.97466290, 0.98853106, 0.44787865],
++												 [	-3.61702235, -0.00729411, 0.00412910, 4.60972823, 0.97474118, 0.98857678, 0.44768674],
++												 [	-3.62168828, -0.00726771, 0.00411028, 4.61442057, 0.97481879, 0.98862201, 0.44749816],
++												 [	-3.62635680, -0.00724159, 0.00409166, 4.61911521, 0.97489573, 0.98866675, 0.44731288],
++												 [	-3.63102782, -0.00721575, 0.00407325, 4.62381207, 0.97497202, 0.98871100, 0.44713086],
++												 [	-3.63570128, -0.00719020, 0.00405503, 4.62851108, 0.97504766, 0.98875478, 0.44695207],
++												 [	-3.64037709, -0.00716491, 0.00403700, 4.63321218, 0.97512267, 0.98879808, 0.44677649],
++												 [	-3.64505519, -0.00713990, 0.00401918, 4.63791530, 0.97519704, 0.98884093, 0.44660407],
++												 [	-3.64973550, -0.00711515, 0.00400154, 4.64262036, 0.97527080, 0.98888331, 0.44643478],
++												 [	-3.65441795, -0.00709066, 0.00398409, 4.64732729, 0.97534394, 0.98892525, 0.44626861],
++												 [	-3.65910247, -0.00706643, 0.00396683, 4.65203604, 0.97541648, 0.98896674, 0.44610551],
++												 [	-3.66378898, -0.00704246, 0.00394975, 4.65674652, 0.97548842, 0.98900779, 0.44594545],
++												 [	-3.66847740, -0.00701873, 0.00393286, 4.66145867, 0.97555978, 0.98904841, 0.44578841],
++												 [	-3.67316767, -0.00699526, 0.00391614, 4.66617242, 0.97563055, 0.98908860, 0.44563435],
++												 [	-3.67785972, -0.00697202, 0.00389960, 4.67088770, 0.97570076, 0.98912838, 0.44548324],
++												 [	-3.68255347, -0.00694903, 0.00388324, 4.67560444, 0.97577039, 0.98916773, 0.44533506],
++												 [	-3.68724885, -0.00692627, 0.00386705, 4.68032258, 0.97583947, 0.98920668, 0.44518977],
++												 [	-3.69194579, -0.00690374, 0.00385103, 4.68504204, 0.97590800, 0.98924523, 0.44504735],
++												 [	-3.69664421, -0.00688145, 0.00383518, 4.68976277, 0.97597598, 0.98928338, 0.44490776],
++												 [	-3.70134406, -0.00685938, 0.00381949, 4.69448468, 0.97604342, 0.98932113, 0.44477099],
++												 [	-3.70604525, -0.00683753, 0.00380397, 4.69920772, 0.97611034, 0.98935850, 0.44463698],
++												 [	-3.71074772, -0.00681590, 0.00378861, 4.70393182, 0.97617673, 0.98939548, 0.44450573],
++												 [	-3.71545140, -0.00679449, 0.00377342, 4.70865691, 0.97624261, 0.98943209, 0.44437720],
++												 [	-3.72015622, -0.00677330, 0.00375838, 4.71338292, 0.97630797, 0.98946833, 0.44425137],
++												 [	-3.72486211, -0.00675231, 0.00374349, 4.71810980, 0.97637283, 0.98950420, 0.44412820],
++												 [	-3.72956899, -0.00673153, 0.00372877, 4.72283746, 0.97643720, 0.98953970, 0.44400767],
++												 [	-3.73427682, -0.00671096, 0.00371419, 4.72756585, 0.97650107, 0.98957485, 0.44388975],
++												 [	-3.73898550, -0.00669059, 0.00369976, 4.73229491, 0.97656446, 0.98960965, 0.44377441],
++												 [	-3.74369498, -0.00667042, 0.00368549, 4.73702457, 0.97662737, 0.98964409, 0.44366163],
++												 [	-3.74840519, -0.00665044, 0.00367136, 4.74175475, 0.97668980, 0.98967820, 0.44355139],
++												 [	-3.75311607, -0.00663066, 0.00365738, 4.74648541, 0.97675177, 0.98971196, 0.44344364],
++												 [	-3.75782754, -0.00661107, 0.00364354, 4.75121648, 0.97681327, 0.98974540, 0.44333838],
++												 [	-3.76253955, -0.00659167, 0.00362984, 4.75594788, 0.97687432, 0.98977850, 0.44323557],
++												 [	-3.76725202, -0.00657245, 0.00361628, 4.76067957, 0.97693492, 0.98981127, 0.44313518],
++												 [	-3.77196489, -0.00655341, 0.00360286, 4.76541147, 0.97699508, 0.98984372, 0.44303720],
++												 [	-3.77667809, -0.00653456, 0.00358958, 4.77014353, 0.97705479, 0.98987586, 0.44294159],
++												 [	-3.78139156, -0.00651589, 0.00357643, 4.77487568, 0.97711407, 0.98990768, 0.44284833],
++												 [	-3.78610525, -0.00649739, 0.00356342, 4.77960786, 0.97717292, 0.98993920, 0.44275740],
++												 [	-3.79081907, -0.00647906, 0.00355053, 4.78434001, 0.97723134, 0.98997040, 0.44266877],
++												 [	-3.79553298, -0.00646091, 0.00353778, 4.78907207, 0.97728935, 0.99000131, 0.44258241],
++												 [	-3.80024690, -0.00644292, 0.00352516, 4.79380398, 0.97734694, 0.99003192, 0.44249831],
++												 [	-3.80496078, -0.00642510, 0.00351266, 4.79853567, 0.97740413, 0.99006223, 0.44241644],
++												 [	-3.80967455, -0.00640745, 0.00350029, 4.80326710, 0.97746090, 0.99009226, 0.44233677],
++												 [	-3.81438815, -0.00638996, 0.00348804, 4.80799819, 0.97751728, 0.99012200, 0.44225928],
++												 [	-3.81910152, -0.00637262, 0.00347592, 4.81272889, 0.97757326, 0.99015145, 0.44218395],
++												 [	-3.82381460, -0.00635545, 0.00346392, 4.81745915, 0.97762886, 0.99018063, 0.44211076],
++												 [	-3.82852732, -0.00633843, 0.00345204, 4.82218889, 0.97768406, 0.99020953, 0.44203968],
++												 [	-3.83323964, -0.00632157, 0.00344027, 4.82691808, 0.97773889, 0.99023816, 0.44197068],
++												 [	-3.83795149, -0.00630485, 0.00342863, 4.83164664, 0.97779333, 0.99026652, 0.44190376],
++												 [	-3.84266280, -0.00628829, 0.00341709, 4.83637452, 0.97784741, 0.99029462, 0.44183887],
++												 [	-3.84737353, -0.00627187, 0.00340568, 4.84110166, 0.97790111, 0.99032245, 0.44177601],
++												 [	-3.85208361, -0.00625560, 0.00339437, 4.84582801, 0.97795446, 0.99035003, 0.44171515],
++												 [	-3.85679299, -0.00623948, 0.00338318, 4.85055351, 0.97800744, 0.99037735, 0.44165627],
++												 [	-3.86150160, -0.00622349, 0.00337210, 4.85527811, 0.97806006, 0.99040441, 0.44159934],
++												 [	-3.86620939, -0.00620765, 0.00336112, 4.86000175, 0.97811233, 0.99043123, 0.44154435],
++												 [	-3.87091631, -0.00619194, 0.00335026, 4.86472437, 0.97816426, 0.99045780, 0.44149127],
++												 [	-3.87562229, -0.00617637, 0.00333950, 4.86944592, 0.97821584, 0.99048413, 0.44144009],
++												 [	-3.88032729, -0.00616094, 0.00332885, 4.87416635, 0.97826708, 0.99051022, 0.44139078],
++												 [	-3.88503124, -0.00614564, 0.00331830, 4.87888561, 0.97831798, 0.99053607, 0.44134332],
++												 [	-3.88973410, -0.00613047, 0.00330785, 4.88360363, 0.97836855, 0.99056168, 0.44129769],
++												 [	-3.89443580, -0.00611543, 0.00329750, 4.88832037, 0.97841879, 0.99058707, 0.44125387],
++												 [	-3.89913629, -0.00610051, 0.00328726, 4.89303577, 0.97846870, 0.99061223, 0.44121185],
++												 [	-3.90383552, -0.00608573, 0.00327711, 4.89774979, 0.97851829, 0.99063716, 0.44117159],
++												 [	-3.90853343, -0.00607107, 0.00326707, 4.90246236, 0.97856756, 0.99066187, 0.44113309],
++												 [	-3.91322998, -0.00605653, 0.00325712, 4.90717345, 0.97861652, 0.99068635, 0.44109632],
++												 [	-3.91792511, -0.00604212, 0.00324726, 4.91188299, 0.97866516, 0.99071062, 0.44106126],
++												 [	-3.92261876, -0.00602782, 0.00323750, 4.91659094, 0.97871350, 0.99073468, 0.44102790],
++												 [	-3.92731089, -0.00601364, 0.00322784, 4.92129724, 0.97876153, 0.99075852, 0.44099621],
++												 [	-3.93200144, -0.00599958, 0.00321826, 4.92600186, 0.97880926, 0.99078215, 0.44096618],
++												 [	-3.93669036, -0.00598564, 0.00320878, 4.93070472, 0.97885669, 0.99080558, 0.44093779],
++												 [	-3.94137761, -0.00597181, 0.00319939, 4.93540580, 0.97890383, 0.99082880, 0.44091101],
++												 [	-3.94606313, -0.00595809, 0.00319009, 4.94010504, 0.97895067, 0.99085182, 0.44088584],
++												 [	-3.95074687, -0.00594449, 0.00318088, 4.94480238, 0.97899722, 0.99087463, 0.44086225],
++												 [	-3.95542878, -0.00593099, 0.00317175, 4.94949779, 0.97904349, 0.99089725, 0.44084022],
++												 [	-3.96010882, -0.00591761, 0.00316271, 4.95419121, 0.97908947, 0.99091968, 0.44081975],
++												 [	-3.96478693, -0.00590433, 0.00315376, 4.95888260, 0.97913517, 0.99094191, 0.44080080],
++												 [	-3.96946306, -0.00589116, 0.00314489, 4.96357191, 0.97918060, 0.99096395, 0.44078336],
++												 [	-3.97413718, -0.00587809, 0.00313611, 4.96825909, 0.97922575, 0.99098581, 0.44076742],
++												 [	-3.97880922, -0.00586512, 0.00312740, 4.97294410, 0.97927063, 0.99100747, 0.44075296],
++												 [	-3.98347915, -0.00585226, 0.00311878, 4.97762689, 0.97931524, 0.99102895, 0.44073996],
++												 [	-3.98814692, -0.00583950, 0.00311024, 4.98230742, 0.97935959, 0.99105026, 0.44072841],
++												 [	-3.99281247, -0.00582684, 0.00310178, 4.98698564, 0.97940367, 0.99107138, 0.44071828],
++												 [	-3.99747577, -0.00581428, 0.00309340, 4.99166150, 0.97944749, 0.99109232, 0.44070956],
++												 [	-4.00213677, -0.00580181, 0.00308510, 4.99633496, 0.97949105, 0.99111309, 0.44070224],
++												 [	-4.00679542, -0.00578944, 0.00307688, 5.00100598, 0.97953436, 0.99113368, 0.44069630],
++												 [	-4.01145168, -0.00577717, 0.00306873, 5.00567451, 0.97957741, 0.99115410, 0.44069173],
++												 [	-4.01610551, -0.00576499, 0.00306065, 5.01034052, 0.97962021, 0.99117436, 0.44068850],
++												 [	-4.02075685, -0.00575290, 0.00305266, 5.01500395, 0.97966277, 0.99119444, 0.44068660],
++												 [	-4.02540567, -0.00574091, 0.00304473, 5.01966476, 0.97970508, 0.99121436, 0.44068602],
++												 [	-4.03005191, -0.00572900, 0.00303688, 5.02432291, 0.97974715, 0.99123412, 0.44068674],
++												 [	-4.03469555, -0.00571719, 0.00302910, 5.02897837, 0.97978897, 0.99125371, 0.44068875],
++												 [	-4.03933654, -0.00570546, 0.00302139, 5.03363108, 0.97983056, 0.99127315, 0.44069203],
++												 [	-4.04397482, -0.00569382, 0.00301375, 5.03828100, 0.97987192, 0.99129242, 0.44069657],
++												 [	-4.04861037, -0.00568227, 0.00300619, 5.04292810, 0.97991304, 0.99131154, 0.44070234],
++												 [	-4.05324314, -0.00567080, 0.00299869, 5.04757234, 0.97995393, 0.99133051, 0.44070935],
++												 [	-4.05787308, -0.00565942, 0.00299126, 5.05221367, 0.97999459, 0.99134932, 0.44071756],
++												 [	-4.06250017, -0.00564812, 0.00298390, 5.05685205, 0.98003502, 0.99136799, 0.44072698],
++												 [	-4.06712435, -0.00563690, 0.00297660, 5.06148744, 0.98007523, 0.99138650, 0.44073757],
++												 [	-4.07174558, -0.00562577, 0.00296937, 5.06611981, 0.98011522, 0.99140486, 0.44074934],
++												 [	-4.07636383, -0.00561471, 0.00296221, 5.07074912, 0.98015498, 0.99142308, 0.44076227],
++												 [	-4.08097906, -0.00560374, 0.00295511, 5.07537532, 0.98019453, 0.99144116, 0.44077633],
++												 [	-4.08559122, -0.00559284, 0.00294807, 5.07999838, 0.98023386, 0.99145909, 0.44079153],
++												 [	-4.09020028, -0.00558202, 0.00294110, 5.08461826, 0.98027298, 0.99147688, 0.44080784],
++												 [	-4.09480620, -0.00557128, 0.00293419, 5.08923492, 0.98031189, 0.99149453, 0.44082525],
++												 [	-4.09940894, -0.00556061, 0.00292734, 5.09384833, 0.98035059, 0.99151204, 0.44084375],
++												 [	-4.10400846, -0.00555002, 0.00292056, 5.09845844, 0.98038908, 0.99152942, 0.44086333],
++												 [	-4.10860473, -0.00553950, 0.00291383, 5.10306522, 0.98042736, 0.99154666, 0.44088396],
++												 [	-4.11319770, -0.00552906, 0.00290717, 5.10766864, 0.98046544, 0.99156377, 0.44090565],
++												 [	-4.11778734, -0.00551869, 0.00290056, 5.11226865, 0.98050332, 0.99158075, 0.44092838],
++												 [	-4.12237362, -0.00550839, 0.00289401, 5.11686523, 0.98054100, 0.99159760, 0.44095213],
++												 [	-4.12695649, -0.00549816, 0.00288752, 5.12145833, 0.98057848, 0.99161431, 0.44097689],
++												 [	-4.13153592, -0.00548801, 0.00288109, 5.12604792, 0.98061577, 0.99163090, 0.44100265],
++												 [	-4.13611188, -0.00547792, 0.00287471, 5.13063396, 0.98065286, 0.99164737, 0.44102940],
++												 [	-4.14068433, -0.00546790, 0.00286839, 5.13521643, 0.98068975, 0.99166371, 0.44105712],
++												 [	-4.14525323, -0.00545795, 0.00286213, 5.13979528, 0.98072646, 0.99167992, 0.44108581],
++												 [	-4.14981854, -0.00544806, 0.00285592, 5.14437048, 0.98076298, 0.99169602, 0.44111544],
++												 [	-4.15438025, -0.00543824, 0.00284976, 5.14894200, 0.98079931, 0.99171199, 0.44114602],
++												 [	-4.15893830, -0.00542849, 0.00284366, 5.15350981, 0.98083545, 0.99172785, 0.44117753],
++												 [	-4.16349267, -0.00541880, 0.00283761, 5.15807386, 0.98087141, 0.99174358, 0.44120995],
++												 [	-4.16804332, -0.00540918, 0.00283162, 5.16263414, 0.98090719, 0.99175920, 0.44124328],
++												 [	-4.17259021, -0.00539962, 0.00282567, 5.16719060, 0.98094278, 0.99177471, 0.44127750],
++												 [	-4.17713333, -0.00539012, 0.00281978, 5.17174321, 0.98097820, 0.99179010, 0.44131260],
++												 [	-4.18167262, -0.00538069, 0.00281394, 5.17629194, 0.98101344, 0.99180537, 0.44134857],
++												 [	-4.18620807, -0.00537131, 0.00280815, 5.18083676, 0.98104851, 0.99182054, 0.44138541],
++												 [	-4.19073963, -0.00536200, 0.00280241, 5.18537763, 0.98108340, 0.99183560, 0.44142309],
++												 [	-4.19526728, -0.00535274, 0.00279671, 5.18991453, 0.98111811, 0.99185054, 0.44146162],
++												 [	-4.19979098, -0.00534355, 0.00279107, 5.19444743, 0.98115266, 0.99186538, 0.44150097],
++												 [	-4.20431070, -0.00533441, 0.00278548, 5.19897629, 0.98118704, 0.99188011, 0.44154114],
++												 [	-4.20882641, -0.00532534, 0.00277993, 5.20350108, 0.98122125, 0.99189474, 0.44158211],
++												 [	-4.21333809, -0.00531632, 0.00277443, 5.20802177, 0.98125529, 0.99190926, 0.44162389],
++												 [	-4.21784569, -0.00530735, 0.00276897, 5.21253834, 0.98128916, 0.99192367, 0.44166645],
++												 [	-4.22234919, -0.00529845, 0.00276357, 5.21705075, 0.98132288, 0.99193799, 0.44170979],
++												 [	-4.22684856, -0.00528959, 0.00275820, 5.22155897, 0.98135643, 0.99195220, 0.44175389],
++												 [	-4.23134377, -0.00528080, 0.00275289, 5.22606297, 0.98138982, 0.99196631, 0.44179875],
++												 [	-4.23583479, -0.00527206, 0.00274762, 5.23056273, 0.98142305, 0.99198033, 0.44184436],
++												 [	-4.24032159, -0.00526337, 0.00274239, 5.23505822, 0.98145612, 0.99199424, 0.44189070],
++												 [	-4.24480413, -0.00525473, 0.00273720, 5.23954940, 0.98148904, 0.99200806, 0.44193777],
++												 [	-4.24928241, -0.00524615, 0.00273206, 5.24403626, 0.98152180, 0.99202179, 0.44198557],
++												 [	-4.25375637, -0.00523762, 0.00272697, 5.24851875, 0.98155440, 0.99203541, 0.44203406],
++												 [	-4.25822600, -0.00522914, 0.00272191, 5.25299686, 0.98158685, 0.99204895, 0.44208326],
++												 [	-4.26269127, -0.00522071, 0.00271690, 5.25747055, 0.98161916, 0.99206239, 0.44213315],
++												 [	-4.26715214, -0.00521233, 0.00271193, 5.26193981, 0.98165131, 0.99207574, 0.44218372],
++												 [	-4.27160860, -0.00520401, 0.00270700, 5.26640459, 0.98168331, 0.99208900, 0.44223496],
++												 [	-4.27606061, -0.00519573, 0.00270211, 5.27086489, 0.98171516, 0.99210217, 0.44228686],
++												 [	-4.28050816, -0.00518750, 0.00269726, 5.27532066, 0.98174687, 0.99211524, 0.44233942],
++												 [	-4.28495120, -0.00517932, 0.00269245, 5.27977188, 0.98177844, 0.99212824, 0.44239262],
++												 [	-4.28938971, -0.00517119, 0.00268767, 5.28421853, 0.98180986, 0.99214114, 0.44244646],
++												 [	-4.29382368, -0.00516310, 0.00268294, 5.28866058, 0.98184113, 0.99215396, 0.44250093],
++												 [	-4.29825306, -0.00515506, 0.00267825, 5.29309800, 0.98187227, 0.99216669, 0.44255601],
++												 [	-4.30267785, -0.00514707, 0.00267359, 5.29753078, 0.98190326, 0.99217934, 0.44261171],
++												 [	-4.30709800, -0.00513912, 0.00266898, 5.30195888, 0.98193412, 0.99219190, 0.44266801],
++												 [	-4.31151350, -0.00513122, 0.00266440, 5.30638227, 0.98196483, 0.99220438, 0.44272490],
++												 [	-4.31592431, -0.00512337, 0.00265985, 5.31080095, 0.98199542, 0.99221678, 0.44278238],
++												 [	-4.32033043, -0.00511555, 0.00265535, 5.31521487, 0.98202586, 0.99222910, 0.44284044],
++												 [	-4.32473181, -0.00510779, 0.00265088, 5.31962403, 0.98205617, 0.99224134, 0.44289907],
++												 [	-4.32912844, -0.00510006, 0.00264644, 5.32402838, 0.98208635, 0.99225350, 0.44295825],
++												 [	-4.33352030, -0.00509238, 0.00264204, 5.32842792, 0.98211639, 0.99226558, 0.44301800],
++												 [	-4.33790735, -0.00508474, 0.00263768, 5.33282261, 0.98214630, 0.99227758, 0.44307829],
++												 [	-4.34228957, -0.00507715, 0.00263335, 5.33721243, 0.98217609, 0.99228950, 0.44313911],
++												 [	-4.34666695, -0.00506959, 0.00262906, 5.34159736, 0.98220574, 0.99230135, 0.44320047],
++												 [	-4.35103946, -0.00506208, 0.00262479, 5.34597738, 0.98223526, 0.99231313, 0.44326235],
++												 [	-4.35540706, -0.00505461, 0.00262057, 5.35035246, 0.98226466, 0.99232483, 0.44332475],
++												 [	-4.35976976, -0.00504718, 0.00261637, 5.35472258, 0.98229393, 0.99233645, 0.44338766],
++												 [	-4.36412751, -0.00503978, 0.00261221, 5.35908772, 0.98232308, 0.99234800, 0.44345107],
++												 [	-4.36848029, -0.00503243, 0.00260808, 5.36344786, 0.98235210, 0.99235949, 0.44351497],
++												 [	-4.37282810, -0.00502512, 0.00260399, 5.36780298, 0.98238100, 0.99237089, 0.44357936],
++												 [	-4.37717089, -0.00501785, 0.00259992, 5.37215304, 0.98240977, 0.99238223, 0.44364422],
++												 [	-4.38150866, -0.00501061, 0.00259589, 5.37649804, 0.98243843, 0.99239350, 0.44370956],
++												 [	-4.38584137, -0.00500341, 0.00259189, 5.38083796, 0.98246696, 0.99240470, 0.44377537],
++												 [	-4.39016901, -0.00499626, 0.00258792, 5.38517276, 0.98249538, 0.99241583, 0.44384163],
++												 [	-4.39449156, -0.00498913, 0.00258397, 5.38950243, 0.98252368, 0.99242689, 0.44390835],
++												 [	-4.39880900, -0.00498205, 0.00258006, 5.39382695, 0.98255186, 0.99243789, 0.44397551],
++												 [	-4.40312130, -0.00497500, 0.00257618, 5.39814630, 0.98257992, 0.99244881, 0.44404311],
++												 [	-4.40742845, -0.00496799, 0.00257233, 5.40246046, 0.98260787, 0.99245968, 0.44411114],
++												 [	-4.41173042, -0.00496101, 0.00256851, 5.40676940, 0.98263570, 0.99247047, 0.44417960],
++												 [	-4.41602719, -0.00495407, 0.00256472, 5.41107312, 0.98266342, 0.99248121, 0.44424847],
++												 [	-4.42031875, -0.00494717, 0.00256096, 5.41537158, 0.98269102, 0.99249187, 0.44431776],
++												 [	-4.42460508, -0.00494030, 0.00255722, 5.41966478, 0.98271852, 0.99250248, 0.44438745],
++												 [	-4.42888615, -0.00493346, 0.00255351, 5.42395268, 0.98274590, 0.99251302, 0.44445755],
++												 [	-4.43316194, -0.00492666, 0.00254984, 5.42823528, 0.98277317, 0.99252350, 0.44452803],
++												 [	-4.43743244, -0.00491989, 0.00254618, 5.43251255, 0.98280033, 0.99253392, 0.44459891],
++												 [	-4.44169763, -0.00491316, 0.00254256, 5.43678447, 0.98282738, 0.99254428, 0.44467016],
++												 [	-4.44595749, -0.00490646, 0.00253896, 5.44105103, 0.98285433, 0.99255458, 0.44474179],
++												 [	-4.45021200, -0.00489979, 0.00253539, 5.44531221, 0.98288117, 0.99256482, 0.44481379],
++												 [	-4.45446115, -0.00489316, 0.00253185, 5.44956799, 0.98290790, 0.99257500, 0.44488616],
++												 [	-4.45870490, -0.00488655, 0.00252833, 5.45381835, 0.98293452, 0.99258512, 0.44495888],
++												 [	-4.46294326, -0.00487998, 0.00252484, 5.45806327, 0.98296105, 0.99259518, 0.44503195],
++												 [	-4.46717619, -0.00487344, 0.00252137, 5.46230275, 0.98298746, 0.99260519, 0.44510537],
++												 [	-4.47140368, -0.00486693, 0.00251793, 5.46653675, 0.98301378, 0.99261514, 0.44517912],
++												 [	-4.47562571, -0.00486046, 0.00251451, 5.47076526, 0.98303999, 0.99262503, 0.44525322],
++												 [	-4.47984227, -0.00485401, 0.00251112, 5.47498827, 0.98306610, 0.99263487, 0.44532764],
++												 [	-4.48405334, -0.00484759, 0.00250775, 5.47920575, 0.98309211, 0.99264465, 0.44540238],
++												 [	-4.48825891, -0.00484121, 0.00250441, 5.48341770, 0.98311802, 0.99265438, 0.44547744],
++												 [	-4.49245894, -0.00483485, 0.00250109, 5.48762409, 0.98314383, 0.99266406, 0.44555282],
++												 [	-4.49665344, -0.00482852, 0.00249780, 5.49182492, 0.98316954, 0.99267368, 0.44562850],
++												 [	-4.50084238, -0.00482223, 0.00249453, 5.49602015, 0.98319515, 0.99268325, 0.44570449],
++												 [	-4.50502575, -0.00481596, 0.00249128, 5.50020979, 0.98322067, 0.99269277, 0.44578077],
++												 [	-4.50920352, -0.00480972, 0.00248805, 5.50439380, 0.98324609, 0.99270223, 0.44585734],
++												 [	-4.51337569, -0.00480350, 0.00248485, 5.50857219, 0.98327141, 0.99271164, 0.44593420],
++												 [	-4.51754224, -0.00479732, 0.00248167, 5.51274492, 0.98329664, 0.99272101, 0.44601134],
++												 [	-4.52170315, -0.00479117, 0.00247851, 5.51691199, 0.98332177, 0.99273032, 0.44608876],
++												 [	-4.52585842, -0.00478504, 0.00247538, 5.52107338, 0.98334681, 0.99273958, 0.44616645],
++												 [	-4.53000801, -0.00477894, 0.00247227, 5.52522907, 0.98337176, 0.99274880, 0.44624440],
++												 [	-4.53415192, -0.00477286, 0.00246917, 5.52937906, 0.98339661, 0.99275796, 0.44632262],
++												 [	-4.53829014, -0.00476682, 0.00246610, 5.53352332, 0.98342137, 0.99276708, 0.44640109],
++												 [	-4.54242264, -0.00476080, 0.00246306, 5.53766184, 0.98344605, 0.99277615, 0.44647982],
++												 [	-4.54654942, -0.00475480, 0.00246003, 5.54179461, 0.98347063, 0.99278517, 0.44655879],
++												 [	-4.55067046, -0.00474884, 0.00245702, 5.54592162, 0.98349512, 0.99279414, 0.44663801],
++												 [	-4.55478574, -0.00474290, 0.00245404, 5.55004285, 0.98351952, 0.99280307, 0.44671746],
++												 [	-4.55889526, -0.00473698, 0.00245107, 5.55415828, 0.98354383, 0.99281195, 0.44679715],
++												 [	-4.56299899, -0.00473109, 0.00244812, 5.55826790, 0.98356806, 0.99282079, 0.44687706],
++												 [	-4.56709693, -0.00472522, 0.00244520, 5.56237170, 0.98359219, 0.99282958, 0.44695720],
++												 [	-4.57118906, -0.00471938, 0.00244229, 5.56646967, 0.98361625, 0.99283832, 0.44703756],
++												 [	-4.57527536, -0.00471357, 0.00243940, 5.57056179, 0.98364021, 0.99284703, 0.44711814],
++												 [	-4.57935583, -0.00470778, 0.00243654, 5.57464806, 0.98366409, 0.99285569, 0.44719893],
++												 [	-4.58343045, -0.00470201, 0.00243369, 5.57872844, 0.98368788, 0.99286430, 0.44727992],
++												 [	-4.58749921, -0.00469627, 0.00243086, 5.58280295, 0.98371159, 0.99287287, 0.44736112],
++												 [	-4.59156210, -0.00469055, 0.00242805, 5.58687155, 0.98373522, 0.99288140, 0.44744252],
++												 [	-4.59561910, -0.00468485, 0.00242526, 5.59093424, 0.98375876, 0.99288989, 0.44752411],
++												 [	-4.59967020, -0.00467918, 0.00242248, 5.59499102, 0.98378222, 0.99289833, 0.44760589],
++												 [	-4.60371538, -0.00467353, 0.00241973, 5.59904185, 0.98380560, 0.99290674, 0.44768785],
++												 [	-4.60775465, -0.00466791, 0.00241699, 5.60308674, 0.98382890, 0.99291510, 0.44777000],
++												 [	-4.61178797, -0.00466230, 0.00241427, 5.60712567, 0.98385211, 0.99292343, 0.44785233],
++												 [	-4.61581536, -0.00465672, 0.00241157, 5.61115863, 0.98387525, 0.99293171, 0.44793483],
++												 [	-4.61983678, -0.00465116, 0.00240889, 5.61518561, 0.98389830, 0.99293995, 0.44801750],
++												 [	-4.62385223, -0.00464563, 0.00240622, 5.61920660, 0.98392128, 0.99294815, 0.44810034],
++												 [	-4.62786170, -0.00464011, 0.00240357, 5.62322158, 0.98394418, 0.99295632, 0.44818334],
++												 [	-4.63186517, -0.00463462, 0.00240093, 5.62723055, 0.98396700, 0.99296444, 0.44826650],
++												 [	-4.63586264, -0.00462915, 0.00239832, 5.63123349, 0.98398974, 0.99297253, 0.44834982],
++												 [	-4.63985410, -0.00462370, 0.00239572, 5.63523040, 0.98401240, 0.99298058, 0.44843328],
++												 [	-4.64383953, -0.00461827, 0.00239313, 5.63922126, 0.98403499, 0.99298859, 0.44851690],
++												 [	-4.64781892, -0.00461286, 0.00239057, 5.64320606, 0.98405750, 0.99299657, 0.44860066],
++												 [	-4.65179227, -0.00460748, 0.00238802, 5.64718479, 0.98407993, 0.99300451, 0.44868455],
++												 [	-4.65575956, -0.00460211, 0.00238548, 5.65115744, 0.98410229, 0.99301241, 0.44876859],
++												 [	-4.65972078, -0.00459677, 0.00238296, 5.65512401, 0.98412458, 0.99302027, 0.44885276],
++												 [	-4.66367592, -0.00459144, 0.00238046, 5.65908448, 0.98414679, 0.99302810, 0.44893706],
++												 [	-4.66762497, -0.00458614, 0.00237797, 5.66303884, 0.98416893, 0.99303590, 0.44902148],
++												 [	-4.67156793, -0.00458085, 0.00237549, 5.66698708, 0.98419099, 0.99304366, 0.44910603],
++												 [	-4.67550478, -0.00457558, 0.00237303, 5.67092920, 0.98421298, 0.99305138, 0.44919070],
++												 [	-4.67943552, -0.00457034, 0.00237059, 5.67486518, 0.98423490, 0.99305907, 0.44927549],
++												 [	-4.68336012, -0.00456511, 0.00236816, 5.67879501, 0.98425675, 0.99306673, 0.44936038],
++												 [	-4.68727860, -0.00455990, 0.00236575, 5.68271869, 0.98427852, 0.99307435, 0.44944539],
++												 [	-4.69119092, -0.00455472, 0.00236335, 5.68663621, 0.98430023, 0.99308194, 0.44953051],
++												 [	-4.69509710, -0.00454955, 0.00236096, 5.69054755, 0.98432186, 0.99308949, 0.44961572],
++												 [	-4.69899711, -0.00454440, 0.00235859, 5.69445271, 0.98434343, 0.99309701, 0.44970104],
++												 [	-4.70289095, -0.00453926, 0.00235623, 5.69835168, 0.98436492, 0.99310450, 0.44978646],
++												 [	-4.70677861, -0.00453415, 0.00235389, 5.70224446, 0.98438635, 0.99311196, 0.44987197],
++												 [	-4.71066008, -0.00452905, 0.00235156, 5.70613103, 0.98440771, 0.99311939, 0.44995757],
++												 [	-4.71453535, -0.00452398, 0.00234924, 5.71001138, 0.98442899, 0.99312678, 0.45004326],
++												 [	-4.71840442, -0.00451892, 0.00234694, 5.71388551, 0.98445021, 0.99313414, 0.45012903],
++												 [	-4.72226728, -0.00451387, 0.00234465, 5.71775341, 0.98447137, 0.99314147, 0.45021488],
++												 [	-4.72612392, -0.00450885, 0.00234237, 5.72161507, 0.98449245, 0.99314877, 0.45030082],
++												 [	-4.72997433, -0.00450384, 0.00234011, 5.72547048, 0.98451347, 0.99315604, 0.45038683],
++												 [	-4.73381850, -0.00449885, 0.00233786, 5.72931964, 0.98453443, 0.99316328, 0.45047291],
++												 [	-4.73765643, -0.00449388, 0.00233562, 5.73316254, 0.98455532, 0.99317049, 0.45055907],
++												 [	-4.74148810, -0.00448893, 0.00233340, 5.73699917, 0.98457614, 0.99317767, 0.45064529],
++												 [	-4.74531352, -0.00448399, 0.00233119, 5.74082953, 0.98459690, 0.99318483, 0.45073158],
++												 [	-4.74913267, -0.00447907, 0.00232899, 5.74465360, 0.98461759, 0.99319195, 0.45081792],
++												 [	-4.75294555, -0.00447416, 0.00232680, 5.74847138, 0.98463822, 0.99319904, 0.45090433],
++												 [	-4.75675214, -0.00446927, 0.00232462, 5.75228287, 0.98465878, 0.99320610, 0.45099080],
++												 [	-4.76055246, -0.00446440, 0.00232246, 5.75608805, 0.98467929, 0.99321314, 0.45107732],
++												 [	-4.76434647, -0.00445955, 0.00232031, 5.75988693, 0.98469973, 0.99322015, 0.45116389],
++												 [	-4.76813419, -0.00445471, 0.00231816, 5.76367948, 0.98472010, 0.99322713, 0.45125051],
++												 [	-4.77191560, -0.00444988, 0.00231604, 5.76746572, 0.98474042, 0.99323408, 0.45133717],
++												 [	-4.77569070, -0.00444507, 0.00231392, 5.77124562, 0.98476067, 0.99324101, 0.45142388],
++												 [	-4.77945947, -0.00444028, 0.00231181, 5.77501919, 0.98478086, 0.99324791, 0.45151063],
++												 [	-4.78322192, -0.00443550, 0.00230972, 5.77878642, 0.98480099, 0.99325478, 0.45159742],
++												 [	-4.78697804, -0.00443074, 0.00230763, 5.78254730, 0.98482106, 0.99326162, 0.45168425],
++												 [	-4.79072783, -0.00442600, 0.00230556, 5.78630183, 0.98484107, 0.99326844, 0.45177111],
++												 [	-4.79447127, -0.00442127, 0.00230350, 5.79005000, 0.98486102, 0.99327523, 0.45185800],
++												 [	-4.79820836, -0.00441655, 0.00230145, 5.79379181, 0.98488091, 0.99328200, 0.45194492],
++												 [	-4.80193909, -0.00441185, 0.00229941, 5.79752724, 0.98490074, 0.99328874, 0.45203187],
++												 [	-4.80566347, -0.00440716, 0.00229738, 5.80125630, 0.98492051, 0.99329546, 0.45211884],
++												 [	-4.80938148, -0.00440249, 0.00229536, 5.80497899, 0.98494022, 0.99330215, 0.45220583],
++												 [	-4.81309312, -0.00439783, 0.00229335, 5.80869528, 0.98495988, 0.99330881, 0.45229285],
++												 [	-4.81679838, -0.00439319, 0.00229135, 5.81240519, 0.98497947, 0.99331546, 0.45237988],
++												 [	-4.82049726, -0.00438856, 0.00228937, 5.81610870, 0.98499901, 0.99332207, 0.45246692],
++												 [	-4.82418976, -0.00438395, 0.00228739, 5.81980581, 0.98501850, 0.99332866, 0.45255398],
++												 [	-4.82787587, -0.00437935, 0.00228542, 5.82349652, 0.98503792, 0.99333523, 0.45264105],
++												 [	-4.83155558, -0.00437476, 0.00228346, 5.82718082, 0.98505729, 0.99334178, 0.45272813],
++												 [	-4.83522889, -0.00437019, 0.00228151, 5.83085870, 0.98507660, 0.99334830, 0.45281521],
++												 [	-4.83889580, -0.00436563, 0.00227957, 5.83453017, 0.98509586, 0.99335480, 0.45290231],
++												 [	-4.84255630, -0.00436109, 0.00227764, 5.83819521, 0.98511506, 0.99336127, 0.45298940],
++												 [	-4.84621038, -0.00435656, 0.00227572, 5.84185383, 0.98513421, 0.99336772, 0.45307649],
++												 [	-4.84985805, -0.00435204, 0.00227381, 5.84550601, 0.98515330, 0.99337415, 0.45316358],
++												 [	-4.85349930, -0.00434753, 0.00227191, 5.84915177, 0.98517233, 0.99338056, 0.45325067],
++												 [	-4.85713412, -0.00434304, 0.00227002, 5.85279108, 0.98519132, 0.99338694, 0.45333775],
++												 [	-4.86076252, -0.00433856, 0.00226813, 5.85642396, 0.98521024, 0.99339330, 0.45342482],
++												 [	-4.86438448, -0.00433410, 0.00226626, 5.86005038, 0.98522912, 0.99339964, 0.45351189],
++												 [	-4.86800001, -0.00432965, 0.00226439, 5.86367036, 0.98524794, 0.99340596, 0.45359894],
++												 [	-4.87160909, -0.00432521, 0.00226253, 5.86728389, 0.98526671, 0.99341226, 0.45368598],
++												 [	-4.87521174, -0.00432078, 0.00226069, 5.87089096, 0.98528542, 0.99341853, 0.45377301],
++												 [	-4.87880793, -0.00431637, 0.00225885, 5.87449157, 0.98530409, 0.99342479, 0.45386001],
++												 [	-4.88239768, -0.00431196, 0.00225701, 5.87808572, 0.98532270, 0.99343102, 0.45394700],
++												 [	-4.88598098, -0.00430758, 0.00225519, 5.88167340, 0.98534126, 0.99343723, 0.45403397],
++												 [	-4.88955781, -0.00430320, 0.00225338, 5.88525462, 0.98535976, 0.99344342, 0.45412092],
++												 [	-4.89312819, -0.00429883, 0.00225157, 5.88882936, 0.98537822, 0.99344960, 0.45420784],
++												 [	-4.89669211, -0.00429448, 0.00224977, 5.89239763, 0.98539662, 0.99345575, 0.45429473],
++												 [	-4.90024957, -0.00429014, 0.00224798, 5.89595942, 0.98541498, 0.99346188, 0.45438160],
++												 [	-4.90380055, -0.00428581, 0.00224620, 5.89951474, 0.98543328, 0.99346799, 0.45446844],
++												 [	-4.90734507, -0.00428150, 0.00224442, 5.90306357, 0.98545154, 0.99347408, 0.45455524],
++												 [	-4.91088312, -0.00427719, 0.00224266, 5.90660592, 0.98546974, 0.99348015, 0.45464201],
++												 [	-4.91441469, -0.00427290, 0.00224090, 5.91014179, 0.98548790, 0.99348620, 0.45472875],
++												 [	-4.91793978, -0.00426862, 0.00223915, 5.91367116, 0.98550600, 0.99349224, 0.45481546],
++												 [	-4.92145840, -0.00426435, 0.00223740, 5.91719405, 0.98552406, 0.99349825, 0.45490212],
++												 [	-4.92497053, -0.00426009, 0.00223566, 5.92071044, 0.98554206, 0.99350425, 0.45498875],
++												 [	-4.92847618, -0.00425584, 0.00223394, 5.92422034, 0.98556002, 0.99351022, 0.45507533],
++												 [	-4.93197535, -0.00425160, 0.00223221, 5.92772375, 0.98557793, 0.99351618, 0.45516187],
++												 [	-4.93546803, -0.00424738, 0.00223050, 5.93122065, 0.98559579, 0.99352212, 0.45524837],
++												 [	-4.93895423, -0.00424317, 0.00222879, 5.93471106, 0.98561361, 0.99352804, 0.45533482],
++												 [	-4.94243393, -0.00423896, 0.00222709, 5.93819497, 0.98563138, 0.99353395, 0.45542123],
++												 [	-4.94590714, -0.00423477, 0.00222540, 5.94167237, 0.98564910, 0.99353983, 0.45550758],
++												 [	-4.94937386, -0.00423059, 0.00222371, 5.94514327, 0.98566677, 0.99354570, 0.45559389],
++												 [	-4.95283409, -0.00422642, 0.00222203, 5.94860767, 0.98568439, 0.99355155, 0.45568014],
++												 [	-4.95628782, -0.00422226, 0.00222036, 5.95206556, 0.98570197, 0.99355738, 0.45576634],
++												 [	-4.95973505, -0.00421811, 0.00221869, 5.95551694, 0.98571951, 0.99356320, 0.45585249],
++												 [	-4.96317579, -0.00421397, 0.00221703, 5.95896181, 0.98573699, 0.99356900, 0.45593858],
++												 [	-4.96661002, -0.00420984, 0.00221538, 5.96240018, 0.98575444, 0.99357478, 0.45602462],
++												 [	-4.97003776, -0.00420573, 0.00221373, 5.96583204, 0.98577183, 0.99358054, 0.45611059],
++												 [	-4.97345900, -0.00420162, 0.00221209, 5.96925738, 0.98578918, 0.99358629, 0.45619651],
++												 [	-4.97687374, -0.00419752, 0.00221046, 5.97267622, 0.98580649, 0.99359202, 0.45628236],
++												 [	-4.98028197, -0.00419344, 0.00220883, 5.97608854, 0.98582375, 0.99359774, 0.45636816],
++												 [	-4.98368371, -0.00418936, 0.00220721, 5.97949435, 0.98584096, 0.99360343, 0.45645388],
++												 [	-4.98707894, -0.00418529, 0.00220559, 5.98289365, 0.98585814, 0.99360912, 0.45653955],
++												 [	-4.99046767, -0.00418123, 0.00220398, 5.98628643, 0.98587526, 0.99361478, 0.45662514],
++												 [	-4.99384989, -0.00417719, 0.00220238, 5.98967270, 0.98589235, 0.99362043, 0.45671067],
++												 [	-4.99722561, -0.00417315, 0.00220078, 5.99305246, 0.98590939, 0.99362607, 0.45679613],
++												 [	-5.00059483, -0.00416912, 0.00219919, 5.99642571, 0.98592638, 0.99363169, 0.45688152],
++												 [	-5.00395754, -0.00416511, 0.00219761, 5.99979244, 0.98594334, 0.99363729, 0.45696684],
++												 [	-5.00731375, -0.00416110, 0.00219603, 6.00315266, 0.98596025, 0.99364288, 0.45705209],
++												 [	-5.01066346, -0.00415710, 0.00219445, 6.00650636, 0.98597712, 0.99364845, 0.45713726],
++												 [	-5.01400667, -0.00415311, 0.00219288, 6.00985356, 0.98599394, 0.99365401, 0.45722236],
++												 [	-5.01734337, -0.00414913, 0.00219132, 6.01319424, 0.98601072, 0.99365955, 0.45730738],
++												 [	-5.02067356, -0.00414516, 0.00218976, 6.01652841, 0.98602746, 0.99366508, 0.45739233],
++												 [	-5.02399726, -0.00414120, 0.00218821, 6.01985606, 0.98604416, 0.99367059, 0.45747719],
++												 [	-5.02731445, -0.00413724, 0.00218666, 6.02317721, 0.98606082, 0.99367609, 0.45756198],
++												 [	-5.03062515, -0.00413330, 0.00218512, 6.02649184, 0.98607744, 0.99368157, 0.45764669],
++												 [	-5.03392934, -0.00412937, 0.00218359, 6.02979997, 0.98609401, 0.99368704, 0.45773131],
++												 [	-5.03722703, -0.00412544, 0.00218206, 6.03310159, 0.98611054, 0.99369250, 0.45781585],
++												 [	-5.04051822, -0.00412153, 0.00218053, 6.03639670, 0.98612704, 0.99369794, 0.45790031],
++												 [	-5.04380292, -0.00411762, 0.00217901, 6.03968530, 0.98614349, 0.99370337, 0.45798469],
++												 [	-5.04708112, -0.00411372, 0.00217750, 6.04296739, 0.98615990, 0.99370878, 0.45806897],
++												 [	-5.05035282, -0.00410983, 0.00217599, 6.04624299, 0.98617627, 0.99371418, 0.45815318],
++												 [	-5.05361802, -0.00410595, 0.00217448, 6.04951207, 0.98619260, 0.99371957, 0.45823729],
++												 [	-5.05687674, -0.00410208, 0.00217298, 6.05277466, 0.98620889, 0.99372494, 0.45832131],
++												 [	-5.06012896, -0.00409821, 0.00217148, 6.05603074, 0.98622514, 0.99373030, 0.45840525],
++												 [	-5.06337469, -0.00409436, 0.00216999, 6.05928033, 0.98624135, 0.99373565, 0.45848909],
++												 [	-5.06661393, -0.00409051, 0.00216851, 6.06252341, 0.98625753, 0.99374098, 0.45857285],
++												 [	-5.06984668, -0.00408668, 0.00216703, 6.06576000, 0.98627366, 0.99374630, 0.45865651],
++												 [	-5.07307294, -0.00408285, 0.00216555, 6.06899010, 0.98628975, 0.99375161, 0.45874007],
++												 [	-5.07629272, -0.00407902, 0.00216408, 6.07221370, 0.98630581, 0.99375690, 0.45882355],
++												 [	-5.07950602, -0.00407521, 0.00216261, 6.07543081, 0.98632182, 0.99376218, 0.45890693],
++												 [	-5.08271283, -0.00407141, 0.00216115, 6.07864143, 0.98633780, 0.99376745, 0.45899021],
++												 [	-5.08591317, -0.00406761, 0.00215969, 6.08184556, 0.98635374, 0.99377270, 0.45907339],
++												 [	-5.08910703, -0.00406382, 0.00215823, 6.08504321, 0.98636965, 0.99377795, 0.45915648],
++												 [	-5.09229441, -0.00406004, 0.00215678, 6.08823437, 0.98638551, 0.99378318, 0.45923947],
++												 [	-5.09547532, -0.00405627, 0.00215534, 6.09141905, 0.98640134, 0.99378840, 0.45932235],
++												 [	-5.09864975, -0.00405250, 0.00215390, 6.09459725, 0.98641713, 0.99379360, 0.45940514],
++												 [	-5.10181772, -0.00404874, 0.00215246, 6.09776897, 0.98643288, 0.99379880, 0.45948783],
++												 [	-5.10497922, -0.00404500, 0.00215102, 6.10093422, 0.98644859, 0.99380398, 0.45957041],
++												 [	-5.10813425, -0.00404125, 0.00214960, 6.10409300, 0.98646427, 0.99380915, 0.45965289],
++												 [	-5.11128282, -0.00403752, 0.00214817, 6.10724530, 0.98647991, 0.99381431, 0.45973527],
++												 [	-5.11442494, -0.00403379, 0.00214675, 6.11039114, 0.98649552, 0.99381946, 0.45981755],
++												 [	-5.11756059, -0.00403008, 0.00214533, 6.11353051, 0.98651108, 0.99382459, 0.45989972],
++												 [	-5.12068979, -0.00402637, 0.00214392, 6.11666343, 0.98652662, 0.99382971, 0.45998178],
++												 [	-5.12381254, -0.00402266, 0.00214251, 6.11978988, 0.98654211, 0.99383483, 0.46006373],
++												 [	-5.12692884, -0.00401897, 0.00214110, 6.12290987, 0.98655757, 0.99383993, 0.46014558],
++												 [	-5.13003869, -0.00401528, 0.00213970, 6.12602341, 0.98657300, 0.99384502, 0.46022732],
++												 [	-5.13314210, -0.00401160, 0.00213831, 6.12913050, 0.98658838, 0.99385010, 0.46030896],
++												 [	-5.13623906, -0.00400792, 0.00213691, 6.13223114, 0.98660374, 0.99385516, 0.46039048],
++												 [	-5.13932959, -0.00400426, 0.00213552, 6.13532533, 0.98661906, 0.99386022, 0.46047189],
++												 [	-5.14241368, -0.00400060, 0.00213413, 6.13841308, 0.98663434, 0.99386527, 0.46055319],
++												 [	-5.14549135, -0.00399695, 0.00213275, 6.14149440, 0.98664959, 0.99387030, 0.46063438],
++												 [	-5.14856258, -0.00399330, 0.00213137, 6.14456928, 0.98666480, 0.99387532, 0.46071546],
++												 [	-5.15162739, -0.00398967, 0.00213000, 6.14763772, 0.98667998, 0.99388034, 0.46079643],
++												 [	-5.15468577, -0.00398604, 0.00212862, 6.15069974, 0.98669512, 0.99388534, 0.46087728],
++												 [	-5.15773774, -0.00398241, 0.00212725, 6.15375533, 0.98671023, 0.99389033, 0.46095802],
++												 [	-5.16078329, -0.00397880, 0.00212589, 6.15680449, 0.98672531, 0.99389532, 0.46103864],
++												 [	-5.16382243, -0.00397519, 0.00212453, 6.15984724, 0.98674035, 0.99390029, 0.46111915],
++												 [	-5.16685516, -0.00397159, 0.00212317, 6.16288358, 0.98675535, 0.99390525, 0.46119954],
++												 [	-5.16988149, -0.00396799, 0.00212181, 6.16591350, 0.98677033, 0.99391020, 0.46127982],
++												 [	-5.17290141, -0.00396440, 0.00212046, 6.16893701, 0.98678527, 0.99391514, 0.46135997],
++												 [	-5.17591494, -0.00396082, 0.00211911, 6.17195412, 0.98680017, 0.99392007, 0.46144001],
++												 [	-5.17892208, -0.00395724, 0.00211776, 6.17496483, 0.98681505, 0.99392499, 0.46151994],
++												 [	-5.18192282, -0.00395368, 0.00211642, 6.17796914, 0.98682989, 0.99392990, 0.46159974],
++												 [	-5.18491718, -0.00395011, 0.00211508, 6.18096706, 0.98684470, 0.99393481, 0.46167943],
++												 [	-5.18790516, -0.00394656, 0.00211374, 6.18395860, 0.98685947, 0.99393970, 0.46175899],
++												 [	-5.19088675, -0.00394301, 0.00211241, 6.18694374, 0.98687421, 0.99394458, 0.46183843],
++												 [	-5.19386198, -0.00393947, 0.00211108, 6.18992251, 0.98688892, 0.99394945, 0.46191776],
++												 [	-5.19683083, -0.00393593, 0.00210975, 6.19289490, 0.98690360, 0.99395432, 0.46199696],
++												 [	-5.19979332, -0.00393241, 0.00210843, 6.19586092, 0.98691824, 0.99395917, 0.46207604],
++												 [	-5.20274945, -0.00392888, 0.00210710, 6.19882057, 0.98693285, 0.99396401, 0.46215500],
++												 [	-5.20569922, -0.00392537, 0.00210578, 6.20177385, 0.98694743, 0.99396885, 0.46223383],
++												 [	-5.20864264, -0.00392186, 0.00210447, 6.20472078, 0.98696198, 0.99397367, 0.46231254],
++												 [	-5.21157971, -0.00391835, 0.00210315, 6.20766135, 0.98697650, 0.99397849, 0.46239113],
++												 [	-5.21451043, -0.00391486, 0.00210184, 6.21059558, 0.98699098, 0.99398330, 0.46246959],
++												 [	-5.21743482, -0.00391137, 0.00210054, 6.21352345, 0.98700544, 0.99398810, 0.46254793],
++												 [	-5.22035287, -0.00390788, 0.00209923, 6.21644499, 0.98701986, 0.99399289, 0.46262614],
++												 [	-5.22326459, -0.00390440, 0.00209793, 6.21936019, 0.98703425, 0.99399767, 0.46270423],
++												 [	-5.22616999, -0.00390093, 0.00209663, 6.22226905, 0.98704861, 0.99400244, 0.46278219],
++												 [	-5.22906906, -0.00389747, 0.00209533, 6.22517159, 0.98706294, 0.99400720, 0.46286003],
++												 [	-5.23196182, -0.00389401, 0.00209404, 6.22806781, 0.98707724, 0.99401196, 0.46293774],
++												 [	-5.23484826, -0.00389055, 0.00209274, 6.23095771, 0.98709151, 0.99401670, 0.46301532],
++												 [	-5.23772840, -0.00388711, 0.00209145, 6.23384129, 0.98710574, 0.99402144, 0.46309277],
++												 [	-5.24060224, -0.00388366, 0.00209017, 6.23671857, 0.98711995, 0.99402617, 0.46317009],
++												 [	-5.24346978, -0.00388023, 0.00208888, 6.23958955, 0.98713413, 0.99403089, 0.46324729],
++												 [	-5.24633103, -0.00387680, 0.00208760, 6.24245423, 0.98714827, 0.99403560, 0.46332436],
++												 [	-5.24918599, -0.00387338, 0.00208632, 6.24531261, 0.98716239, 0.99404030, 0.46340129],
++												 [	-5.25203467, -0.00386996, 0.00208504, 6.24816471, 0.98717648, 0.99404500, 0.46347810],
++												 [	-5.25487707, -0.00386655, 0.00208377, 6.25101053, 0.98719053, 0.99404969, 0.46355478],
++												 [	-5.25771320, -0.00386314, 0.00208250, 6.25385007, 0.98720456, 0.99405436, 0.46363133],
++												 [	-5.26054307, -0.00385974, 0.00208123, 6.25668333, 0.98721856, 0.99405904, 0.46370775],
++												 [	-5.26336668, -0.00385634, 0.00207996, 6.25951033, 0.98723253, 0.99406370, 0.46378403],
++												 [	-5.26618402, -0.00385295, 0.00207869, 6.26233107, 0.98724646, 0.99406835, 0.46386019],
++												 [	-5.26899512, -0.00384957, 0.00207743, 6.26514555, 0.98726037, 0.99407300, 0.46393621],
++												 [	-5.27179998, -0.00384619, 0.00207617, 6.26795379, 0.98727425, 0.99407764, 0.46401210],
++												 [	-5.27459860, -0.00384282, 0.00207491, 6.27075577, 0.98728810, 0.99408227, 0.46408786],
++												 [	-5.27739098, -0.00383945, 0.00207365, 6.27355152, 0.98730193, 0.99408689, 0.46416348],
++												 [	-5.28017713, -0.00383609, 0.00207240, 6.27634104, 0.98731572, 0.99409151, 0.46423898],
++												 [	-5.28295706, -0.00383274, 0.00207115, 6.27912432, 0.98732949, 0.99409612, 0.46431433],
++												 [	-5.28573078, -0.00382939, 0.00206989, 6.28190139, 0.98734322, 0.99410072, 0.46438956],
++												 [	-5.28849828, -0.00382604, 0.00206865, 6.28467224, 0.98735693, 0.99410531, 0.46446465],
++												 [	-5.29125958, -0.00382271, 0.00206740, 6.28743687, 0.98737061, 0.99410989, 0.46453961],
++												 [	-5.29401468, -0.00381937, 0.00206616, 6.29019530, 0.98738426, 0.99411447, 0.46461443],
++												 [	-5.29676358, -0.00381604, 0.00206491, 6.29294754, 0.98739789, 0.99411904, 0.46468912],
++												 [	-5.29950630, -0.00381272, 0.00206367, 6.29569358, 0.98741148, 0.99412361, 0.46476368],
++												 [	-5.30224283, -0.00380940, 0.00206243, 6.29843343, 0.98742505, 0.99412816, 0.46483809],
++												 [	-5.30497319, -0.00380609, 0.00206120, 6.30116710, 0.98743859, 0.99413271, 0.46491238],
++												 [	-5.30769738, -0.00380279, 0.00205996, 6.30389459, 0.98745210, 0.99413725, 0.46498652],
++												 [	-5.31041540, -0.00379948, 0.00205873, 6.30661592, 0.98746559, 0.99414179, 0.46506054],
++												 [	-5.31312727, -0.00379619, 0.00205750, 6.30933108, 0.98747905, 0.99414631, 0.46513441],
++												 [	-5.31583299, -0.00379290, 0.00205627, 6.31204009, 0.98749248, 0.99415083, 0.46520815],
++												 [	-5.31853255, -0.00378961, 0.00205504, 6.31474294, 0.98750588, 0.99415535, 0.46528175],
++												 [	-5.32122598, -0.00378633, 0.00205382, 6.31743965, 0.98751926, 0.99415985, 0.46535522],
++												 [	-5.32391328, -0.00378306, 0.00205259, 6.32013023, 0.98753261, 0.99416435, 0.46542855],
++												 [	-5.32659445, -0.00377979, 0.00205137, 6.32281466, 0.98754593, 0.99416884, 0.46550174],
++												 [	-5.32926950, -0.00377652, 0.00205015, 6.32549298, 0.98755923, 0.99417333, 0.46557479],
++												 [	-5.33193843, -0.00377326, 0.00204893, 6.32816517, 0.98757249, 0.99417781, 0.46564771],
++												 [	-5.33460126, -0.00377000, 0.00204772, 6.33083125, 0.98758574, 0.99418228, 0.46572049],
++												 [	-5.33725798, -0.00376675, 0.00204650, 6.33349123, 0.98759895, 0.99418674, 0.46579313],
++												 [	-5.33990861, -0.00376351, 0.00204529, 6.33614511, 0.98761214, 0.99419120, 0.46586563],
++												 [	-5.34255316, -0.00376027, 0.00204408, 6.33879289, 0.98762531, 0.99419565, 0.46593799],
++												 [	-5.34519162, -0.00375703, 0.00204287, 6.34143458, 0.98763844, 0.99420010, 0.46601022],
++												 [	-5.34782400, -0.00375380, 0.00204166, 6.34407020, 0.98765155, 0.99420454, 0.46608230],
++												 [	-5.35045032, -0.00375058, 0.00204045, 6.34669974, 0.98766464, 0.99420897, 0.46615425],
++												 [	-5.35307057, -0.00374736, 0.00203925, 6.34932321, 0.98767770, 0.99421340, 0.46622606],
++												 [	-5.35568477, -0.00374414, 0.00203804, 6.35194063, 0.98769073, 0.99421781, 0.46629773],
++												 [	-5.35829292, -0.00374093, 0.00203684, 6.35455199, 0.98770374, 0.99422223, 0.46636926],
++												 [	-5.36089503, -0.00373773, 0.00203564, 6.35715730, 0.98771672, 0.99422663, 0.46644065],
++												 [	-5.36349110, -0.00373453, 0.00203444, 6.35975657, 0.98772968, 0.99423103, 0.46651190],
++												 [	-5.36608114, -0.00373133, 0.00203324, 6.36234981, 0.98774261, 0.99423543, 0.46658301],
++												 [	-5.36866517, -0.00372814, 0.00203205, 6.36493703, 0.98775552, 0.99423982, 0.46665398],
++												 [	-5.37124318, -0.00372495, 0.00203085, 6.36751823, 0.98776840, 0.99424420, 0.46672482],
++												 [	-5.37381518, -0.00372177, 0.00202966, 6.37009341, 0.98778125, 0.99424857, 0.46679551],
++												 [	-5.37638118, -0.00371859, 0.00202847, 6.37266259, 0.98779408, 0.99425294, 0.46686606],
++												 [	-5.37894119, -0.00371542, 0.00202728, 6.37522577, 0.98780689, 0.99425730, 0.46693647],
++												 [	-5.38149521, -0.00371225, 0.00202609, 6.37778296, 0.98781967, 0.99426166, 0.46700674],
++												 [	-5.38404325, -0.00370909, 0.00202490, 6.38033416, 0.98783243, 0.99426601, 0.46707687],
++												 [	-5.38658532, -0.00370593, 0.00202371, 6.38287939, 0.98784516, 0.99427036, 0.46714686],
++												 [	-5.38912142, -0.00370278, 0.00202253, 6.38541865, 0.98785786, 0.99427470, 0.46721671],
++												 [	-5.39165157, -0.00369963, 0.00202134, 6.38795194, 0.98787055, 0.99427903, 0.46728642],
++												 [	-5.39417576, -0.00369648, 0.00202016, 6.39047928, 0.98788320, 0.99428336, 0.46735598],
++												 [	-5.39669401, -0.00369334, 0.00201898, 6.39300067, 0.98789584, 0.99428768, 0.46742541],
++												 [	-5.39920633, -0.00369021, 0.00201780, 6.39551612, 0.98790845, 0.99429200, 0.46749470],
++												 [	-5.40171272, -0.00368707, 0.00201662, 6.39802564, 0.98792103, 0.99429631, 0.46756384],
++												 [	-5.40421318, -0.00368395, 0.00201544, 6.40052923, 0.98793359, 0.99430061, 0.46763284],
++												 [	-5.40670773, -0.00368082, 0.00201427, 6.40302690, 0.98794613, 0.99430491, 0.46770170],
++												 [	-5.40919637, -0.00367771, 0.00201309, 6.40551867, 0.98795864, 0.99430920, 0.46777042],
++												 [	-5.41167912, -0.00367459, 0.00201192, 6.40800452, 0.98797113, 0.99431349, 0.46783900],
++												 [	-5.41415597, -0.00367148, 0.00201075, 6.41048448, 0.98798360, 0.99431777, 0.46790744],
++												 [	-5.41662693, -0.00366838, 0.00200957, 6.41295855, 0.98799604, 0.99432205, 0.46797574],
++												 [	-5.41909202, -0.00366528, 0.00200840, 6.41542674, 0.98800846, 0.99432632, 0.46804389],
++												 [	-5.42155124, -0.00366218, 0.00200724, 6.41788906, 0.98802085, 0.99433058, 0.46811190],
++												 [	-5.42400460, -0.00365909, 0.00200607, 6.42034551, 0.98803323, 0.99433484, 0.46817978],
++												 [	-5.42645210, -0.00365600, 0.00200490, 6.42279610, 0.98804557, 0.99433910, 0.46824751],
++												 [	-5.42889376, -0.00365292, 0.00200374, 6.42524084, 0.98805790, 0.99434334, 0.46831509],
++												 [	-5.43132958, -0.00364984, 0.00200257, 6.42767973, 0.98807020, 0.99434759, 0.46838254],
++												 [	-5.43375956, -0.00364677, 0.00200141, 6.43011279, 0.98808248, 0.99435183, 0.46844985],
++												 [	-5.43618372, -0.00364370, 0.00200024, 6.43254002, 0.98809474, 0.99435606, 0.46851701],
++												 [	-5.43860207, -0.00364063, 0.00199908, 6.43496143, 0.98810697, 0.99436029, 0.46858403],
++												 [	-5.44101460, -0.00363757, 0.00199792, 6.43737703, 0.98811918, 0.99436451, 0.46865091],
++												 [	-5.44342134, -0.00363451, 0.00199676, 6.43978683, 0.98813137, 0.99436872, 0.46871765],
++												 [	-5.44582228, -0.00363146, 0.00199561, 6.44219082, 0.98814353, 0.99437294, 0.46878424],
++												 [	-5.44821744, -0.00362841, 0.00199445, 6.44458903, 0.98815567, 0.99437714, 0.46885070],
++												 [	-5.45060682, -0.00362536, 0.00199329, 6.44698145, 0.98816779, 0.99438134, 0.46891701],
++												 [	-5.45299043, -0.00362232, 0.00199214, 6.44936811, 0.98817989, 0.99438554, 0.46898318],
++												 [	-5.45536828, -0.00361929, 0.00199098, 6.45174899, 0.98819196, 0.99438973, 0.46904921],
++												 [	-5.45774037, -0.00361625, 0.00198983, 6.45412412, 0.98820402, 0.99439392, 0.46911510],
++												 [	-5.46010672, -0.00361323, 0.00198868, 6.45649350, 0.98821605, 0.99439810, 0.46918084],
++												 [	-5.46246734, -0.00361020, 0.00198753, 6.45885714, 0.98822805, 0.99440227, 0.46924645],
++												 [	-5.46482222, -0.00360718, 0.00198638, 6.46121504, 0.98824004, 0.99440644, 0.46931191],
++												 [	-5.46717138, -0.00360417, 0.00198523, 6.46356722, 0.98825200, 0.99441061, 0.46937723],
++												 [	-5.46951483, -0.00360115, 0.00198408, 6.46591367, 0.98826395, 0.99441477, 0.46944241],
++												 [	-5.47185257, -0.00359814, 0.00198293, 6.46825442, 0.98827587, 0.99441892, 0.46950744],
++												 [	-5.47418461, -0.00359514, 0.00198178, 6.47058947, 0.98828776, 0.99442308, 0.46957234],
++												 [	-5.47651097, -0.00359214, 0.00198064, 6.47291883, 0.98829964, 0.99442722, 0.46963709],
++												 [	-5.47883164, -0.00358914, 0.00197949, 6.47524250, 0.98831150, 0.99443136, 0.46970170],
++												 [	-5.48114664, -0.00358615, 0.00197835, 6.47756049, 0.98832333, 0.99443550, 0.46976617],
++												 [	-5.48345598, -0.00358316, 0.00197721, 6.47987281, 0.98833514, 0.99443963, 0.46983050],
++												 [	-5.48575966, -0.00358018, 0.00197606, 6.48217948, 0.98834693, 0.99444376, 0.46989469],
++												 [	-5.48805769, -0.00357720, 0.00197492, 6.48448049, 0.98835870, 0.99444788, 0.46995873],
++												 [	-5.49035007, -0.00357422, 0.00197378, 6.48677585, 0.98837045, 0.99445200, 0.47002264],
++												 [	-5.49263683, -0.00357125, 0.00197264, 6.48906558, 0.98838217, 0.99445611, 0.47008640],
++												 [	-5.49491797, -0.00356828, 0.00197150, 6.49134968, 0.98839388, 0.99446022, 0.47015002],
++												 [	-5.49719348, -0.00356532, 0.00197036, 6.49362817, 0.98840556, 0.99446432, 0.47021350],
++												 [	-5.49946339, -0.00356236, 0.00196923, 6.49590104, 0.98841723, 0.99446842, 0.47027684],
++												 [	-5.50172771, -0.00355940, 0.00196809, 6.49816831, 0.98842887, 0.99447251, 0.47034004],
++												 [	-5.50398643, -0.00355645, 0.00196695, 6.50042998, 0.98844049, 0.99447660, 0.47040310],
++												 [	-5.50623957, -0.00355350, 0.00196582, 6.50268607, 0.98845209, 0.99448068, 0.47046602],
++												 [	-5.50848713, -0.00355055, 0.00196468, 6.50493658, 0.98846367, 0.99448476, 0.47052879],
++												 [	-5.51072913, -0.00354761, 0.00196355, 6.50718152, 0.98847523, 0.99448884, 0.47059143],
++												 [	-5.51296557, -0.00354467, 0.00196242, 6.50942090, 0.98848677, 0.99449291, 0.47065392],
++												 [	-5.51519647, -0.00354174, 0.00196129, 6.51165473, 0.98849828, 0.99449698, 0.47071627],
++												 [	-5.51742182, -0.00353881, 0.00196016, 6.51388301, 0.98850978, 0.99450104, 0.47077849],
++												 [	-5.51964164, -0.00353588, 0.00195902, 6.51610576, 0.98852126, 0.99450510, 0.47084056],
++												 [	-5.52185594, -0.00353296, 0.00195789, 6.51832298, 0.98853271, 0.99450915, 0.47090249],
++												 [	-5.52406473, -0.00353004, 0.00195677, 6.52053469, 0.98854415, 0.99451320, 0.47096428],
++												 [	-5.52626800, -0.00352712, 0.00195564, 6.52274088, 0.98855556, 0.99451724, 0.47102593],
++												 [	-5.52846578, -0.00352421, 0.00195451, 6.52494157, 0.98856696, 0.99452128, 0.47108744],
++												 [	-5.53065808, -0.00352130, 0.00195338, 6.52713677, 0.98857834, 0.99452532, 0.47114881],
++												 [	-5.53284489, -0.00351840, 0.00195226, 6.52932649, 0.98858969, 0.99452935, 0.47121004],
++												 [	-5.53502623, -0.00351550, 0.00195113, 6.53151073, 0.98860103, 0.99453337, 0.47127113],
++												 [	-5.53720210, -0.00351260, 0.00195001, 6.53368950, 0.98861234, 0.99453740, 0.47133208],
++												 [	-5.53937252, -0.00350971, 0.00194888, 6.53586282, 0.98862364, 0.99454141, 0.47139289],
++												 [	-5.54153750, -0.00350682, 0.00194776, 6.53803068, 0.98863491, 0.99454543, 0.47145356],
++												 [	-5.54369704, -0.00350393, 0.00194663, 6.54019311, 0.98864617, 0.99454944, 0.47151409],
++												 [	-5.54585115, -0.00350105, 0.00194551, 6.54235010, 0.98865740, 0.99455344, 0.47157449],
++												 [	-5.54799984, -0.00349817, 0.00194439, 6.54450167, 0.98866862, 0.99455744, 0.47163474],
++												 [	-5.55014311, -0.00349529, 0.00194327, 6.54664782, 0.98867982, 0.99456144, 0.47169485],
++												 [	-5.55228099, -0.00349242, 0.00194215, 6.54878857, 0.98869099, 0.99456543, 0.47175483],
++												 [	-5.55441347, -0.00348955, 0.00194103, 6.55092392, 0.98870215, 0.99456942, 0.47181466],
++												 [	-5.55654057, -0.00348669, 0.00193991, 6.55305388, 0.98871329, 0.99457340, 0.47187436],
++												 [	-5.55866229, -0.00348383, 0.00193879, 6.55517846, 0.98872441, 0.99457738, 0.47193391],
++												 [	-5.56077864, -0.00348097, 0.00193767, 6.55729767, 0.98873551, 0.99458136, 0.47199333],
++												 [	-5.56288964, -0.00347811, 0.00193655, 6.55941152, 0.98874659, 0.99458533, 0.47205261],
++												 [	-5.56499528, -0.00347526, 0.00193544, 6.56152002, 0.98875765, 0.99458930, 0.47211176],
++												 [	-5.56709558, -0.00347242, 0.00193432, 6.56362317, 0.98876869, 0.99459326, 0.47217076],
++												 [	-5.56919055, -0.00346957, 0.00193321, 6.56572098, 0.98877972, 0.99459722, 0.47222962],
++												 [	-5.57128020, -0.00346673, 0.00193209, 6.56781347, 0.98879072, 0.99460118, 0.47228835],
++												 [	-5.57336453, -0.00346390, 0.00193098, 6.56990064, 0.98880171, 0.99460513, 0.47234694],
++												 [	-5.57544356, -0.00346106, 0.00192986, 6.57198250, 0.98881267, 0.99460907, 0.47240539],
++												 [	-5.57751729, -0.00345823, 0.00192875, 6.57405906, 0.98882362, 0.99461302, 0.47246371],
++												 [	-5.57958573, -0.00345541, 0.00192764, 6.57613032, 0.98883455, 0.99461696, 0.47252188],
++												 [	-5.58164889, -0.00345259, 0.00192652, 6.57819631, 0.98884546, 0.99462089, 0.47257992],
++												 [	-5.58370679, -0.00344977, 0.00192541, 6.58025702, 0.98885635, 0.99462482, 0.47263782],
++												 [	-5.58575942, -0.00344695, 0.00192430, 6.58231247, 0.98886722, 0.99462875, 0.47269559],
++												 [	-5.58780679, -0.00344414, 0.00192319, 6.58436266, 0.98887808, 0.99463267, 0.47275321],
++												 [	-5.58984893, -0.00344133, 0.00192208, 6.58640760, 0.98888891, 0.99463659, 0.47281070],
++												 [	-5.59188583, -0.00343852, 0.00192097, 6.58844731, 0.98889973, 0.99464051, 0.47286806],
++												 [	-5.59391750, -0.00343572, 0.00191986, 6.59048178, 0.98891053, 0.99464442, 0.47292528],
++												 [	-5.59594396, -0.00343292, 0.00191875, 6.59251104, 0.98892131, 0.99464833, 0.47298236],
++												 [	-5.59796521, -0.00343013, 0.00191764, 6.59453508, 0.98893207, 0.99465223, 0.47303930],
++												 [	-5.59998126, -0.00342733, 0.00191653, 6.59655393, 0.98894281, 0.99465613, 0.47309611],
++												 [	-5.60199212, -0.00342455, 0.00191543, 6.59856758, 0.98895354, 0.99466003, 0.47315278],
++												 [	-5.60399781, -0.00342176, 0.00191432, 6.60057605, 0.98896425, 0.99466392, 0.47320932],
++												 [	-5.60599831, -0.00341898, 0.00191321, 6.60257934, 0.98897493, 0.99466781, 0.47326572],
++												 [	-5.60799366, -0.00341620, 0.00191211, 6.60457746, 0.98898561, 0.99467169, 0.47332198],
++												 [	-5.60998385, -0.00341342, 0.00191100, 6.60657043, 0.98899626, 0.99467557, 0.47337811],
++												 [	-5.61196890, -0.00341065, 0.00190990, 6.60855825, 0.98900689, 0.99467945, 0.47343411],
++												 [	-5.61394881, -0.00340788, 0.00190879, 6.61054093, 0.98901751, 0.99468332, 0.47348997],
++												 [	-5.61592360, -0.00340512, 0.00190769, 6.61251848, 0.98902811, 0.99468719, 0.47354569],
++												 [	-5.61789327, -0.00340235, 0.00190659, 6.61449091, 0.98903869, 0.99469106, 0.47360128],
++												 [	-5.61985783, -0.00339960, 0.00190548, 6.61645823, 0.98904926, 0.99469492, 0.47365674],
++												 [	-5.62181729, -0.00339684, 0.00190438, 6.61842045, 0.98905980, 0.99469878, 0.47371206],
++												 [	-5.62377166, -0.00339409, 0.00190328, 6.62037757, 0.98907033, 0.99470263, 0.47376724],
++												 [	-5.62572095, -0.00339134, 0.00190218, 6.62232961, 0.98908084, 0.99470648, 0.47382230],
++												 [	-5.62766517, -0.00338859, 0.00190108, 6.62427658, 0.98909133, 0.99471033, 0.47387721],
++												 [	-5.62960432, -0.00338585, 0.00189998, 6.62621847, 0.98910181, 0.99471417, 0.47393200],
++												 [	-5.63153842, -0.00338311, 0.00189888, 6.62815531, 0.98911227, 0.99471801, 0.47398665],
++												 [	-5.63346748, -0.00338037, 0.00189778, 6.63008711, 0.98912271, 0.99472185, 0.47404117],
++												 [	-5.63539150, -0.00337764, 0.00189668, 6.63201386, 0.98913313, 0.99472568, 0.47409555],
++												 [	-5.63731050, -0.00337491, 0.00189558, 6.63393558, 0.98914354, 0.99472951, 0.47414980],
++												 [	-5.63922447, -0.00337218, 0.00189448, 6.63585229, 0.98915393, 0.99473333, 0.47420392],
++												 [	-5.64113344, -0.00336946, 0.00189338, 6.63776398, 0.98916430, 0.99473716, 0.47425791],
++												 [	-5.64303741, -0.00336674, 0.00189229, 6.63967067, 0.98917466, 0.99474097, 0.47431176],
++												 [	-5.64493639, -0.00336402, 0.00189119, 6.64157237, 0.98918499, 0.99474479, 0.47436548],
++												 [	-5.64683039, -0.00336131, 0.00189009, 6.64346908, 0.98919531, 0.99474860, 0.47441907],
++												 [	-5.64871942, -0.00335860, 0.00188899, 6.64536082, 0.98920562, 0.99475241, 0.47447252],
++												 [	-5.65060348, -0.00335589, 0.00188790, 6.64724759, 0.98921590, 0.99475621, 0.47452585],
++												 [	-5.65248259, -0.00335319, 0.00188680, 6.64912941, 0.98922617, 0.99476001, 0.47457904],
++												 [	-5.65435676, -0.00335049, 0.00188571, 6.65100628, 0.98923642, 0.99476381, 0.47463210],
++												 [	-5.65622600, -0.00334779, 0.00188461, 6.65287821, 0.98924666, 0.99476760, 0.47468503],
++												 [	-5.65809030, -0.00334509, 0.00188352, 6.65474521, 0.98925688, 0.99477139, 0.47473783],
++												 [	-5.65994970, -0.00334240, 0.00188243, 6.65660729, 0.98926708, 0.99477517, 0.47479050],
++												 [	-5.66180418, -0.00333971, 0.00188133, 6.65846447, 0.98927727, 0.99477896, 0.47484303],
++												 [	-5.66365377, -0.00333703, 0.00188024, 6.66031674, 0.98928744, 0.99478273, 0.47489544],
++												 [	-5.66549846, -0.00333434, 0.00187915, 6.66216412, 0.98929759, 0.99478651, 0.47494772],
++												 [	-5.66733828, -0.00333166, 0.00187805, 6.66400662, 0.98930772, 0.99479028, 0.47499986],
++												 [	-5.66917323, -0.00332899, 0.00187696, 6.66584424, 0.98931784, 0.99479405, 0.47505187],
++												 [	-5.67100331, -0.00332631, 0.00187587, 6.66767700, 0.98932794, 0.99479781, 0.47510376],
++												 [	-5.67282855, -0.00332364, 0.00187478, 6.66950490, 0.98933803, 0.99480158, 0.47515552],
++												 [	-5.67464894, -0.00332098, 0.00187369, 6.67132796, 0.98934810, 0.99480533, 0.47520714],
++												 [	-5.67646450, -0.00331831, 0.00187260, 6.67314618, 0.98935815, 0.99480909, 0.47525864],
++												 [	-5.67827523, -0.00331565, 0.00187151, 6.67495958, 0.98936819, 0.99481284, 0.47531001],
++												 [	-5.68008115, -0.00331299, 0.00187042, 6.67676816, 0.98937821, 0.99481659, 0.47536125],
++												 [	-5.68188226, -0.00331034, 0.00186933, 6.67857192, 0.98938821, 0.99482033, 0.47541236],
++												 [	-5.68367858, -0.00330769, 0.00186824, 6.68037089, 0.98939820, 0.99482407, 0.47546334],
++												 [	-5.68547011, -0.00330504, 0.00186715, 6.68216507, 0.98940817, 0.99482781, 0.47551419],
++												 [	-5.68725686, -0.00330239, 0.00186606, 6.68395447, 0.98941813, 0.99483154, 0.47556492],
++												 [	-5.68903884, -0.00329975, 0.00186498, 6.68573909, 0.98942807, 0.99483527, 0.47561551],
++												 [	-5.69081606, -0.00329711, 0.00186389, 6.68751895, 0.98943799, 0.99483900, 0.47566598],
++												 [	-5.69258853, -0.00329447, 0.00186280, 6.68929406, 0.98944790, 0.99484272, 0.47571632],
++												 [	-5.69435627, -0.00329184, 0.00186172, 6.69106443, 0.98945779, 0.99484644, 0.47576654],
++												 [	-5.69611926, -0.00328921, 0.00186063, 6.69283005, 0.98946767, 0.99485016, 0.47581663],
++												 [	-5.69787754, -0.00328658, 0.00185954, 6.69459096, 0.98947753, 0.99485388, 0.47586659],
++												 [	-5.69963110, -0.00328396, 0.00185846, 6.69634715, 0.98948737, 0.99485759, 0.47591642],
++												 [	-5.70137996, -0.00328133, 0.00185737, 6.69809863, 0.98949720, 0.99486129, 0.47596613],
++												 [	-5.70312413, -0.00327872, 0.00185629, 6.69984541, 0.98950701, 0.99486500, 0.47601571],
++												 [	-5.70486360, -0.00327610, 0.00185520, 6.70158750, 0.98951681, 0.99486870, 0.47606516],
++												 [	-5.70659840, -0.00327349, 0.00185412, 6.70332492, 0.98952659, 0.99487239, 0.47611449],
++												 [	-5.70832854, -0.00327088, 0.00185304, 6.70505766, 0.98953636, 0.99487609, 0.47616370],
++												 [	-5.71005402, -0.00326827, 0.00185195, 6.70678575, 0.98954611, 0.99487978, 0.47621277],
++												 [	-5.71177484, -0.00326567, 0.00185087, 6.70850918, 0.98955584, 0.99488347, 0.47626172],
++												 [	-5.71349103, -0.00326306, 0.00184979, 6.71022797, 0.98956556, 0.99488715, 0.47631055],
++												 [	-5.71520259, -0.00326047, 0.00184870, 6.71194212, 0.98957526, 0.99489083, 0.47635925],
++												 [	-5.71690953, -0.00325787, 0.00184762, 6.71365166, 0.98958495, 0.99489451, 0.47640783],
++												 [	-5.71861185, -0.00325528, 0.00184654, 6.71535658, 0.98959462, 0.99489818, 0.47645628],
++												 [	-5.72030958, -0.00325269, 0.00184546, 6.71705689, 0.98960428, 0.99490185, 0.47650461],
++												 [	-5.72200271, -0.00325010, 0.00184438, 6.71875261, 0.98961392, 0.99490552, 0.47655282],
++												 [	-5.72369126, -0.00324752, 0.00184330, 6.72044374, 0.98962355, 0.99490918, 0.47660090],
++												 [	-5.72537523, -0.00324494, 0.00184222, 6.72213029, 0.98963316, 0.99491284, 0.47664886],
++												 [	-5.72705463, -0.00324236, 0.00184114, 6.72381227, 0.98964276, 0.99491650, 0.47669669],
++												 [	-5.72872948, -0.00323979, 0.00184006, 6.72548970, 0.98965234, 0.99492016, 0.47674440],
++												 [	-5.73039979, -0.00323721, 0.00183898, 6.72716257, 0.98966190, 0.99492381, 0.47679198],
++												 [	-5.73206555, -0.00323464, 0.00183790, 6.72883091, 0.98967145, 0.99492746, 0.47683945],
++												 [	-5.73372679, -0.00323208, 0.00183682, 6.73049471, 0.98968099, 0.99493110, 0.47688679],
++												 [	-5.73538351, -0.00322952, 0.00183574, 6.73215399, 0.98969051, 0.99493474, 0.47693401],
++												 [	-5.73703572, -0.00322695, 0.00183466, 6.73380876, 0.98970002, 0.99493838, 0.47698111],
++												 [	-5.73868343, -0.00322440, 0.00183359, 6.73545903, 0.98970951, 0.99494202, 0.47702808],
++												 [	-5.74032664, -0.00322184, 0.00183251, 6.73710480, 0.98971898, 0.99494565, 0.47707494],
++												 [	-5.74196538, -0.00321929, 0.00183143, 6.73874609, 0.98972844, 0.99494928, 0.47712167],
++												 [	-5.74359964, -0.00321674, 0.00183036, 6.74038290, 0.98973789, 0.99495290, 0.47716828],
++												 [	-5.74522943, -0.00321419, 0.00182928, 6.74201524, 0.98974732, 0.99495653, 0.47721477],
++												 [	-5.74685478, -0.00321165, 0.00182820, 6.74364312, 0.98975674, 0.99496014, 0.47726113],
++												 [	-5.74847567, -0.00320911, 0.00182713, 6.74526656, 0.98976614, 0.99496376, 0.47730738],
++												 [	-5.75009213, -0.00320657, 0.00182605, 6.74688556, 0.98977552, 0.99496737, 0.47735351],
++												 [	-5.75170417, -0.00320404, 0.00182498, 6.74850013, 0.98978490, 0.99497098, 0.47739952],
++												 [	-5.75331179, -0.00320151, 0.00182390, 6.75011028, 0.98979425, 0.99497459, 0.47744540],
++												 [	-5.75491499, -0.00319898, 0.00182283, 6.75171602, 0.98980360, 0.99497819, 0.47749117],
++												 [	-5.75651380, -0.00319645, 0.00182176, 6.75331735, 0.98981293, 0.99498179, 0.47753682],
++												 [	-5.75810822, -0.00319393, 0.00182068, 6.75491429, 0.98982224, 0.99498539, 0.47758234],
++												 [	-5.75969826, -0.00319141, 0.00181961, 6.75650685, 0.98983154, 0.99498899, 0.47762775],
++												 [	-5.76128392, -0.00318889, 0.00181854, 6.75809504, 0.98984082, 0.99499258, 0.47767304],
++												 [	-5.76286523, -0.00318637, 0.00181746, 6.75967886, 0.98985009, 0.99499616, 0.47771821],
++												 [	-5.76444218, -0.00318386, 0.00181639, 6.76125832, 0.98985935, 0.99499975, 0.47776327],
++												 [	-5.76601479, -0.00318135, 0.00181532, 6.76283343, 0.98986859, 0.99500333, 0.47780820],
++												 [	-5.76758306, -0.00317884, 0.00181425, 6.76440421, 0.98987782, 0.99500691, 0.47785302],
++												 [	-5.76914700, -0.00317634, 0.00181318, 6.76597066, 0.98988703, 0.99501049, 0.47789772],
++												 [	-5.77070663, -0.00317384, 0.00181210, 6.76753279, 0.98989623, 0.99501406, 0.47794230],
++												 [	-5.77226195, -0.00317134, 0.00181103, 6.76909061, 0.98990542, 0.99501763, 0.47798676],
++												 [	-5.77381298, -0.00316884, 0.00180996, 6.77064413, 0.98991459, 0.99502119, 0.47803110],
++												 [	-5.77535971, -0.00316635, 0.00180889, 6.77219336, 0.98992374, 0.99502476, 0.47807533],
++												 [	-5.77690216, -0.00316386, 0.00180782, 6.77373830, 0.98993289, 0.99502832, 0.47811945],
++												 [	-5.77844035, -0.00316137, 0.00180675, 6.77527898, 0.98994201, 0.99503187, 0.47816344],
++												 [	-5.77997427, -0.00315889, 0.00180569, 6.77681538, 0.98995113, 0.99503543, 0.47820732],
++												 [	-5.78150394, -0.00315640, 0.00180462, 6.77834753, 0.98996023, 0.99503898, 0.47825108],
++												 [	-5.78302936, -0.00315393, 0.00180355, 6.77987544, 0.98996931, 0.99504253, 0.47829473],
++												 [	-5.78455056, -0.00315145, 0.00180248, 6.78139911, 0.98997839, 0.99504607, 0.47833826],
++												 [	-5.78606752, -0.00314897, 0.00180141, 6.78291855, 0.98998744, 0.99504961, 0.47838168],
++												 [	-5.78758027, -0.00314650, 0.00180035, 6.78443377, 0.98999649, 0.99505315, 0.47842498],
++												 [	-5.78908882, -0.00314403, 0.00179928, 6.78594478, 0.99000552, 0.99505669, 0.47846816],
++												 [	-5.79059316, -0.00314157, 0.00179821, 6.78745159, 0.99001453, 0.99506022, 0.47851123],
++												 [	-5.79209332, -0.00313911, 0.00179715, 6.78895421, 0.99002354, 0.99506375, 0.47855419],
++												 [	-5.79358930, -0.00313665, 0.00179608, 6.79045265, 0.99003253, 0.99506727, 0.47859703],
++												 [	-5.79508110, -0.00313419, 0.00179501, 6.79194692, 0.99004150, 0.99507080, 0.47863976],
++												 [	-5.79656875, -0.00313173, 0.00179395, 6.79343702, 0.99005046, 0.99507432, 0.47868238],
++												 [	-5.79805224, -0.00312928, 0.00179288, 6.79492296, 0.99005941, 0.99507784, 0.47872487],
++												 [	-5.79953159, -0.00312683, 0.00179182, 6.79640476, 0.99006834, 0.99508135, 0.47876726],
++												 [	-5.80100681, -0.00312438, 0.00179075, 6.79788243, 0.99007726, 0.99508486, 0.47880954],
++												 [	-5.80247790, -0.00312194, 0.00178969, 6.79935596, 0.99008617, 0.99508837, 0.47885170],
++												 [	-5.80394487, -0.00311950, 0.00178863, 6.80082538, 0.99009506, 0.99509187, 0.47889374],
++												 [	-5.80540774, -0.00311706, 0.00178756, 6.80229068, 0.99010394, 0.99509538, 0.47893568],
++												 [	-5.80686651, -0.00311462, 0.00178650, 6.80375189, 0.99011281, 0.99509888, 0.47897750],
++												 [	-5.80832119, -0.00311219, 0.00178544, 6.80520900, 0.99012166, 0.99510237, 0.47901921],
++												 [	-5.80977179, -0.00310976, 0.00178438, 6.80666204, 0.99013050, 0.99510587, 0.47906081],
++												 [	-5.81121832, -0.00310733, 0.00178331, 6.80811099, 0.99013933, 0.99510936, 0.47910230],
++												 [	-5.81266079, -0.00310490, 0.00178225, 6.80955589, 0.99014814, 0.99511284, 0.47914367],
++												 [	-5.81409921, -0.00310248, 0.00178119, 6.81099673, 0.99015694, 0.99511633, 0.47918494],
++												 [	-5.81553358, -0.00310006, 0.00178013, 6.81243352, 0.99016573, 0.99511981, 0.47922609],
++												 [	-5.81696392, -0.00309764, 0.00177907, 6.81386627, 0.99017450, 0.99512329, 0.47926714],
++												 [	-5.81839023, -0.00309523, 0.00177801, 6.81529500, 0.99018326, 0.99512676, 0.47930807],
++												 [	-5.81981252, -0.00309282, 0.00177695, 6.81671970, 0.99019200, 0.99513024, 0.47934889],
++												 [	-5.82123081, -0.00309041, 0.00177589, 6.81814040, 0.99020074, 0.99513370, 0.47938960],
++												 [	-5.82264509, -0.00308800, 0.00177483, 6.81955709, 0.99020946, 0.99513717, 0.47943020],
++												 [	-5.82405539, -0.00308560, 0.00177377, 6.82096980, 0.99021816, 0.99514063, 0.47947070],
++												 [	-5.82546171, -0.00308319, 0.00177271, 6.82237851, 0.99022686, 0.99514410, 0.47951108],
++												 [	-5.82686405, -0.00308079, 0.00177165, 6.82378326, 0.99023554, 0.99514755, 0.47955135],
++												 [	-5.82826243, -0.00307840, 0.00177059, 6.82518403, 0.99024421, 0.99515101, 0.47959152],
++												 [	-5.82965686, -0.00307600, 0.00176954, 6.82658086, 0.99025286, 0.99515446, 0.47963157],
++												 [	-5.83104734, -0.00307361, 0.00176848, 6.82797373, 0.99026150, 0.99515791, 0.47967152],
++												 [	-5.83243389, -0.00307122, 0.00176742, 6.82936266, 0.99027013, 0.99516135, 0.47971136],
++												 [	-5.83381650, -0.00306884, 0.00176637, 6.83074767, 0.99027875, 0.99516480, 0.47975109],
++												 [	-5.83519520, -0.00306645, 0.00176531, 6.83212875, 0.99028735, 0.99516824, 0.47979072],
++												 [	-5.83656999, -0.00306407, 0.00176425, 6.83350592, 0.99029594, 0.99517167, 0.47983023],
++												 [	-5.83794088, -0.00306169, 0.00176320, 6.83487918, 0.99030451, 0.99517511, 0.47986964],
++												 [	-5.83930788, -0.00305932, 0.00176214, 6.83624856, 0.99031308, 0.99517854, 0.47990894],
++												 [	-5.84067099, -0.00305695, 0.00176109, 6.83761404, 0.99032163, 0.99518197, 0.47994814],
++												 [	-5.84203023, -0.00305458, 0.00176003, 6.83897565, 0.99033017, 0.99518539, 0.47998722],
++												 [	-5.84338560, -0.00305221, 0.00175898, 6.84033340, 0.99033869, 0.99518881, 0.48002620],
++												 [	-5.84473712, -0.00304984, 0.00175793, 6.84168728, 0.99034721, 0.99519223, 0.48006508],
++												 [	-5.84608479, -0.00304748, 0.00175687, 6.84303731, 0.99035571, 0.99519565, 0.48010385],
++												 [	-5.84742862, -0.00304512, 0.00175582, 6.84438350, 0.99036419, 0.99519906, 0.48014251],
++												 [	-5.84876862, -0.00304276, 0.00175477, 6.84572586, 0.99037267, 0.99520247, 0.48018107],
++												 [	-5.85010480, -0.00304041, 0.00175371, 6.84706439, 0.99038113, 0.99520588, 0.48021952],
++												 [	-5.85143717, -0.00303805, 0.00175266, 6.84839911, 0.99038958, 0.99520929, 0.48025787],
++												 [	-5.85276573, -0.00303570, 0.00175161, 6.84973003, 0.99039802, 0.99521269, 0.48029611],
++												 [	-5.85409050, -0.00303336, 0.00175056, 6.85105714, 0.99040644, 0.99521609, 0.48033425],
++												 [	-5.85541148, -0.00303101, 0.00174951, 6.85238047, 0.99041485, 0.99521948, 0.48037228],
++												 [	-5.85672868, -0.00302867, 0.00174846, 6.85370002, 0.99042325, 0.99522288, 0.48041021],
++												 [	-5.85804212, -0.00302633, 0.00174741, 6.85501579, 0.99043164, 0.99522627, 0.48044803],
++												 [	-5.85935180, -0.00302399, 0.00174636, 6.85632781, 0.99044002, 0.99522965, 0.48048575],
++												 [	-5.86065772, -0.00302166, 0.00174531, 6.85763607, 0.99044838, 0.99523304, 0.48052337],
++												 [	-5.86195991, -0.00301932, 0.00174426, 6.85894058, 0.99045673, 0.99523642, 0.48056088],
++												 [	-5.86325835, -0.00301699, 0.00174321, 6.86024136, 0.99046507, 0.99523980, 0.48059829],
++												 [	-5.86455308, -0.00301467, 0.00174216, 6.86153841, 0.99047339, 0.99524317, 0.48063560],
++												 [	-5.86584409, -0.00301234, 0.00174111, 6.86283174, 0.99048171, 0.99524655, 0.48067281],
++												 [	-5.86713139, -0.00301002, 0.00174006, 6.86412137, 0.99049001, 0.99524992, 0.48070991],
++												 [	-5.86841499, -0.00300770, 0.00173902, 6.86540729, 0.99049829, 0.99525328, 0.48074691],
++												 [	-5.86969490, -0.00300538, 0.00173797, 6.86668952, 0.99050657, 0.99525665, 0.48078381],
++												 [	-5.87097113, -0.00300307, 0.00173692, 6.86796806, 0.99051483, 0.99526001, 0.48082060],
++												 [	-5.87224368, -0.00300076, 0.00173588, 6.86924293, 0.99052309, 0.99526337, 0.48085730],
++												 [	-5.87351257, -0.00299845, 0.00173483, 6.87051413, 0.99053133, 0.99526672, 0.48089389],
++												 [	-5.87477781, -0.00299614, 0.00173378, 6.87178167, 0.99053955, 0.99527008, 0.48093038],
++												 [	-5.87603940, -0.00299383, 0.00173274, 6.87304557, 0.99054777, 0.99527343, 0.48096678],
++												 [	-5.87729735, -0.00299153, 0.00173169, 6.87430582, 0.99055597, 0.99527677, 0.48100307],
++												 [	-5.87855167, -0.00298923, 0.00173065, 6.87556244, 0.99056416, 0.99528012, 0.48103926],
++												 [	-5.87980237, -0.00298694, 0.00172961, 6.87681543, 0.99057234, 0.99528346, 0.48107535],
++												 [	-5.88104946, -0.00298464, 0.00172856, 6.87806482, 0.99058051, 0.99528680, 0.48111134],
++												 [	-5.88229294, -0.00298235, 0.00172752, 6.87931059, 0.99058867, 0.99529013, 0.48114723],
++												 [	-5.88353283, -0.00298006, 0.00172648, 6.88055277, 0.99059681, 0.99529347, 0.48118302],
++												 [	-5.88476913, -0.00297777, 0.00172543, 6.88179135, 0.99060494, 0.99529680, 0.48121871],
++												 [	-5.88600185, -0.00297549, 0.00172439, 6.88302636, 0.99061306, 0.99530012, 0.48125430],
++												 [	-5.88723100, -0.00297320, 0.00172335, 6.88425779, 0.99062117, 0.99530345, 0.48128980],
++												 [	-5.88845659, -0.00297093, 0.00172231, 6.88548566, 0.99062927, 0.99530677, 0.48132519],
++												 [	-5.88967862, -0.00296865, 0.00172127, 6.88670998, 0.99063735, 0.99531009, 0.48136049],
++												 [	-5.89089712, -0.00296637, 0.00172022, 6.88793074, 0.99064542, 0.99531340, 0.48139569],
++												 [	-5.89211207, -0.00296410, 0.00171918, 6.88914797, 0.99065348, 0.99531671, 0.48143079],
++												 [	-5.89332350, -0.00296183, 0.00171814, 6.89036167, 0.99066153, 0.99532002, 0.48146579],
++												 [	-5.89453141, -0.00295956, 0.00171710, 6.89157185, 0.99066957, 0.99532333, 0.48150069],
++												 [	-5.89573581, -0.00295730, 0.00171607, 6.89277851, 0.99067760, 0.99532664, 0.48153550],
++												 [	-5.89693670, -0.00295504, 0.00171503, 6.89398167, 0.99068561, 0.99532994, 0.48157021],
++												 [	-5.89813411, -0.00295278, 0.00171399, 6.89518133, 0.99069361, 0.99533324, 0.48160482],
++												 [	-5.89932802, -0.00295052, 0.00171295, 6.89637751, 0.99070160, 0.99533653, 0.48163934],
++												 [	-5.90051846, -0.00294826, 0.00171191, 6.89757020, 0.99070958, 0.99533983, 0.48167376],
++												 [	-5.90170544, -0.00294601, 0.00171088, 6.89875943, 0.99071755, 0.99534312, 0.48170809],
++												 [	-5.90288895, -0.00294376, 0.00170984, 6.89994519, 0.99072550, 0.99534640, 0.48174231],
++												 [	-5.90406901, -0.00294151, 0.00170880, 6.90112750, 0.99073345, 0.99534969, 0.48177645],
++												 [	-5.90524562, -0.00293927, 0.00170777, 6.90230636, 0.99074138, 0.99535297, 0.48181048],
++												 [	-5.90641881, -0.00293702, 0.00170673, 6.90348178, 0.99074930, 0.99535625, 0.48184443],
++												 [	-5.90758856, -0.00293478, 0.00170569, 6.90465378, 0.99075721, 0.99535952, 0.48187827],
++												 [	-5.90875490, -0.00293254, 0.00170466, 6.90582235, 0.99076511, 0.99536280, 0.48191202],
++												 [	-5.90991782, -0.00293031, 0.00170363, 6.90698751, 0.99077300, 0.99536607, 0.48194568],
++												 [	-5.91107735, -0.00292807, 0.00170259, 6.90814927, 0.99078087, 0.99536933, 0.48197924],
++												 [	-5.91223348, -0.00292584, 0.00170156, 6.90930763, 0.99078874, 0.99537260, 0.48201271],
++												 [	-5.91338622, -0.00292362, 0.00170052, 6.91046261, 0.99079659, 0.99537586, 0.48204608],
++												 [	-5.91453559, -0.00292139, 0.00169949, 6.91161420, 0.99080443, 0.99537912, 0.48207936],
++												 [	-5.91568159, -0.00291917, 0.00169846, 6.91276243, 0.99081226, 0.99538238, 0.48211255],
++												 [	-5.91682423, -0.00291694, 0.00169743, 6.91390729, 0.99082008, 0.99538563, 0.48214564],
++												 [	-5.91796352, -0.00291472, 0.00169639, 6.91504879, 0.99082789, 0.99538888, 0.48217864],
++												 [	-5.91909946, -0.00291251, 0.00169536, 6.91618695, 0.99083569, 0.99539213, 0.48221155],
++												 [	-5.92023207, -0.00291029, 0.00169433, 6.91732177, 0.99084347, 0.99539537, 0.48224436],
++												 [	-5.92136135, -0.00290808, 0.00169330, 6.91845327, 0.99085124, 0.99539862, 0.48227709],
++												 [	-5.92248731, -0.00290587, 0.00169227, 6.91958144, 0.99085901, 0.99540186, 0.48230971],
++												 [	-5.92360996, -0.00290367, 0.00169124, 6.92070629, 0.99086676, 0.99540509, 0.48234225],
++												 [	-5.92472930, -0.00290146, 0.00169021, 6.92182784, 0.99087450, 0.99540833, 0.48237470],
++												 [	-5.92584536, -0.00289926, 0.00168918, 6.92294610, 0.99088223, 0.99541156, 0.48240705],
++												 [	-5.92695812, -0.00289706, 0.00168816, 6.92406106, 0.99088995, 0.99541479, 0.48243931],
++												 [	-5.92806761, -0.00289486, 0.00168713, 6.92517274, 0.99089766, 0.99541801, 0.48247148],
++												 [	-5.92917382, -0.00289267, 0.00168610, 6.92628115, 0.99090535, 0.99542123, 0.48250356],
++												 [	-5.93027677, -0.00289047, 0.00168507, 6.92738630, 0.99091304, 0.99542445, 0.48253555],
++												 [	-5.93137647, -0.00288828, 0.00168405, 6.92848819, 0.99092071, 0.99542767, 0.48256745],
++												 [	-5.93247293, -0.00288610, 0.00168302, 6.92958683, 0.99092837, 0.99543089, 0.48259926],
++												 [	-5.93356614, -0.00288391, 0.00168199, 6.93068223, 0.99093603, 0.99543410, 0.48263098],
++												 [	-5.93465613, -0.00288173, 0.00168097, 6.93177440, 0.99094367, 0.99543731, 0.48266260],
++												 [	-5.93574289, -0.00287955, 0.00167994, 6.93286334, 0.99095130, 0.99544051, 0.48269414],
++												 [	-5.93682644, -0.00287737, 0.00167892, 6.93394907, 0.99095892, 0.99544371, 0.48272559],
++												 [	-5.93790678, -0.00287519, 0.00167789, 6.93503159, 0.99096653, 0.99544692, 0.48275695],
++												 [	-5.93898392, -0.00287302, 0.00167687, 6.93611091, 0.99097412, 0.99545011, 0.48278822],
++												 [	-5.94005788, -0.00287085, 0.00167585, 6.93718703, 0.99098171, 0.99545331, 0.48281940],
++												 [	-5.94112865, -0.00286868, 0.00167482, 6.93825997, 0.99098929, 0.99545650, 0.48285049],
++												 [	-5.94219625, -0.00286651, 0.00167380, 6.93932974, 0.99099685, 0.99545969, 0.48288150],
++												 [	-5.94326068, -0.00286435, 0.00167278, 6.94039634, 0.99100441, 0.99546288, 0.48291241],
++												 [	-5.94432196, -0.00286218, 0.00167176, 6.94145977, 0.99101195, 0.99546606, 0.48294324],
++												 [	-5.94538008, -0.00286002, 0.00167074, 6.94252006, 0.99101949, 0.99546924, 0.48297398],
++												 [	-5.94643506, -0.00285787, 0.00166971, 6.94357720, 0.99102701, 0.99547242, 0.48300463],
++												 [	-5.94748691, -0.00285571, 0.00166869, 6.94463120, 0.99103452, 0.99547559, 0.48303520],
++												 [	-5.94853563, -0.00285356, 0.00166767, 6.94568207, 0.99104202, 0.99547877, 0.48306568],
++												 [	-5.94958124, -0.00285141, 0.00166666, 6.94672983, 0.99104951, 0.99548194, 0.48309607],
++												 [	-5.95062373, -0.00284926, 0.00166564, 6.94777447, 0.99105699, 0.99548510, 0.48312637],
++												 [	-5.95166312, -0.00284711, 0.00166462, 6.94881600, 0.99106446, 0.99548827, 0.48315659],
++												 [	-5.95269941, -0.00284497, 0.00166360, 6.94985444, 0.99107192, 0.99549143, 0.48318672],
++												 [	-5.95373262, -0.00284283, 0.00166258, 6.95088979, 0.99107937, 0.99549459, 0.48321676],
++												 [	-5.95476275, -0.00284069, 0.00166156, 6.95192206, 0.99108681, 0.99549775, 0.48324672],
++												 [	-5.95578980, -0.00283855, 0.00166055, 6.95295125, 0.99109423, 0.99550090, 0.48327660],
++												 [	-5.95681380, -0.00283642, 0.00165953, 6.95397738, 0.99110165, 0.99550405, 0.48330638],
++												 [	-5.95783474, -0.00283429, 0.00165852, 6.95500045, 0.99110906, 0.99550720, 0.48333609],
++												 [	-5.95885262, -0.00283216, 0.00165750, 6.95602047, 0.99111645, 0.99551034, 0.48336571],
++												 [	-5.95986747, -0.00283003, 0.00165648, 6.95703744, 0.99112384, 0.99551348, 0.48339524],
++												 [	-5.96087929, -0.00282791, 0.00165547, 6.95805138, 0.99113121, 0.99551662, 0.48342469],
++												 [	-5.96188808, -0.00282578, 0.00165446, 6.95906230, 0.99113858, 0.99551976, 0.48345405],
++												 [	-5.96289385, -0.00282366, 0.00165344, 6.96007019, 0.99114593, 0.99552290, 0.48348333],
++												 [	-5.96389662, -0.00282154, 0.00165243, 6.96107507, 0.99115327, 0.99552603, 0.48351252],
++												 [	-5.96489638, -0.00281943, 0.00165142, 6.96207695, 0.99116061, 0.99552916, 0.48354163],
++												 [	-5.96589315, -0.00281732, 0.00165040, 6.96307584, 0.99116793, 0.99553228, 0.48357066],
++												 [	-5.96688693, -0.00281520, 0.00164939, 6.96407173, 0.99117524, 0.99553540, 0.48359961],
++												 [	-5.96787774, -0.00281310, 0.00164838, 6.96506464, 0.99118255, 0.99553852, 0.48362846],
++												 [	-5.96886557, -0.00281099, 0.00164737, 6.96605458, 0.99118984, 0.99554164, 0.48365724],
++												 [	-5.96985044, -0.00280888, 0.00164636, 6.96704156, 0.99119712, 0.99554476, 0.48368594],
++												 [	-5.97083235, -0.00280678, 0.00164535, 6.96802557, 0.99120439, 0.99554787, 0.48371455],
++												 [	-5.97181132, -0.00280468, 0.00164434, 6.96900664, 0.99121165, 0.99555098, 0.48374308],
++												 [	-5.97278734, -0.00280258, 0.00164333, 6.96998476, 0.99121891, 0.99555409, 0.48377153],
++												 [	-5.97376044, -0.00280049, 0.00164232, 6.97095995, 0.99122615, 0.99555719, 0.48379989],
++												 [	-5.97473060, -0.00279840, 0.00164131, 6.97193221, 0.99123338, 0.99556029, 0.48382818],
++												 [	-5.97569785, -0.00279631, 0.00164031, 6.97290155, 0.99124060, 0.99556339, 0.48385638],
++												 [	-5.97666219, -0.00279422, 0.00163930, 6.97386797, 0.99124781, 0.99556648, 0.48388450],
++												 [	-5.97762362, -0.00279213, 0.00163829, 6.97483149, 0.99125501, 0.99556958, 0.48391254],
++												 [	-5.97858216, -0.00279005, 0.00163729, 6.97579212, 0.99126220, 0.99557267, 0.48394050],
++												 [	-5.97953782, -0.00278796, 0.00163628, 6.97674985, 0.99126938, 0.99557576, 0.48396837],
++												 [	-5.98049059, -0.00278589, 0.00163527, 6.97770470, 0.99127655, 0.99557884, 0.48399617],
++												 [	-5.98144049, -0.00278381, 0.00163427, 6.97865668, 0.99128371, 0.99558192, 0.48402389],
++												 [	-5.98238752, -0.00278173, 0.00163326, 6.97960579, 0.99129087, 0.99558500, 0.48405152],
++												 [	-5.98333170, -0.00277966, 0.00163226, 6.98055204, 0.99129801, 0.99558808, 0.48407908],
++												 [	-5.98427302, -0.00277759, 0.00163126, 6.98149543, 0.99130514, 0.99559115, 0.48410655],
++												 [	-5.98521150, -0.00277552, 0.00163025, 6.98243598, 0.99131226, 0.99559422, 0.48413395],
++												 [	-5.98614715, -0.00277346, 0.00162925, 6.98337369, 0.99131937, 0.99559729, 0.48416127],
++												 [	-5.98707997, -0.00277139, 0.00162825, 6.98430858, 0.99132647, 0.99560036, 0.48418851],
++												 [	-5.98800996, -0.00276933, 0.00162725, 6.98524063, 0.99133356, 0.99560342, 0.48421567],
++												 [	-5.98893715, -0.00276727, 0.00162625, 6.98616988, 0.99134064, 0.99560648, 0.48424275],
++												 [	-5.98986153, -0.00276521, 0.00162525, 6.98709631, 0.99134771, 0.99560954, 0.48426975],
++												 [	-5.99078310, -0.00276316, 0.00162425, 6.98801995, 0.99135477, 0.99561259, 0.48429667],
++												 [	-5.99170189, -0.00276111, 0.00162325, 6.98894079, 0.99136183, 0.99561565, 0.48432352],
++												 [	-5.99261789, -0.00275906, 0.00162225, 6.98985884, 0.99136887, 0.99561870, 0.48435028],
++												 [	-5.99353112, -0.00275701, 0.00162125, 6.99077411, 0.99137590, 0.99562174, 0.48437697],
++												 [	-5.99444158, -0.00275496, 0.00162025, 6.99168662, 0.99138292, 0.99562479, 0.48440358],
++												 [	-5.99534927, -0.00275292, 0.00161925, 6.99259635, 0.99138994, 0.99562783, 0.48443012],
++												 [	-5.99625421, -0.00275088, 0.00161826, 6.99350334, 0.99139694, 0.99563087, 0.48445657],
++												 [	-5.99715640, -0.00274884, 0.00161726, 6.99440757, 0.99140393, 0.99563390, 0.48448295],
++												 [	-5.99805585, -0.00274680, 0.00161626, 6.99530906, 0.99141092, 0.99563694, 0.48450926],
++												 [	-5.99895257, -0.00274476, 0.00161527, 6.99620781, 0.99141789, 0.99563997, 0.48453548],
++												 [	-5.99984656, -0.00274273, 0.00161427, 6.99710383, 0.99142485, 0.99564299, 0.48456163],
++												 [	-6.00073784, -0.00274070, 0.00161328, 6.99799714, 0.99143181, 0.99564602, 0.48458771],
++												 [	-6.00162640, -0.00273867, 0.00161228, 6.99888773, 0.99143875, 0.99564904, 0.48461370],
++												 [	-6.00251225, -0.00273665, 0.00161129, 6.99977561, 0.99144569, 0.99565206, 0.48463962],
++												 [	-6.00339541, -0.00273462, 0.00161030, 7.00066079, 0.99145261, 0.99565508, 0.48466547],
++												 [	-6.00427588, -0.00273260, 0.00160931, 7.00154328, 0.99145953, 0.99565809, 0.48469124],
++												 [	-6.00515367, -0.00273058, 0.00160831, 7.00242309, 0.99146644, 0.99566111, 0.48471693],
++												 [	-6.00602878, -0.00272856, 0.00160732, 7.00330021, 0.99147334, 0.99566411, 0.48474255],
++												 [	-6.00690122, -0.00272655, 0.00160633, 7.00417467, 0.99148022, 0.99566712, 0.48476810],
++												 [	-6.00777100, -0.00272454, 0.00160534, 7.00504646, 0.99148710, 0.99567012, 0.48479357],
++												 [	-6.00863812, -0.00272252, 0.00160435, 7.00591560, 0.99149397, 0.99567313, 0.48481896],
++												 [	-6.00950260, -0.00272052, 0.00160336, 7.00678208, 0.99150083, 0.99567612, 0.48484429],
++												 [	-6.01036444, -0.00271851, 0.00160237, 7.00764593, 0.99150768, 0.99567912, 0.48486953],
++												 [	-6.01122364, -0.00271651, 0.00160138, 7.00850713, 0.99151452, 0.99568211, 0.48489471],
++												 [	-6.01208022, -0.00271450, 0.00160039, 7.00936571, 0.99152135, 0.99568510, 0.48491980],
++												 [	-6.01293417, -0.00271250, 0.00159941, 7.01022167, 0.99152817, 0.99568809, 0.48494483],
++												 [	-6.01378552, -0.00271051, 0.00159842, 7.01107501, 0.99153498, 0.99569107, 0.48496978],
++												 [	-6.01463426, -0.00270851, 0.00159743, 7.01192575, 0.99154179, 0.99569406, 0.48499466],
++												 [	-6.01548040, -0.00270652, 0.00159645, 7.01277388, 0.99154858, 0.99569704, 0.48501947],
++												 [	-6.01632394, -0.00270453, 0.00159546, 7.01361942, 0.99155537, 0.99570001, 0.48504420],
++												 [	-6.01716491, -0.00270254, 0.00159448, 7.01446237, 0.99156214, 0.99570299, 0.48506886],
++												 [	-6.01800329, -0.00270055, 0.00159349, 7.01530274, 0.99156891, 0.99570596, 0.48509345],
++												 [	-6.01883911, -0.00269856, 0.00159251, 7.01614055, 0.99157566, 0.99570893, 0.48511797],
++												 [	-6.01967236, -0.00269658, 0.00159153, 7.01697578, 0.99158241, 0.99571189, 0.48514241],
++												 [	-6.02050306, -0.00269460, 0.00159054, 7.01780845, 0.99158915, 0.99571486, 0.48516678],
++												 [	-6.02133120, -0.00269262, 0.00158956, 7.01863858, 0.99159588, 0.99571782, 0.48519108],
++												 [	-6.02215680, -0.00269065, 0.00158858, 7.01946615, 0.99160260, 0.99572077, 0.48521531],
++												 [	-6.02297987, -0.00268867, 0.00158760, 7.02029119, 0.99160931, 0.99572373, 0.48523947],
++												 [	-6.02380040, -0.00268670, 0.00158662, 7.02111370, 0.99161601, 0.99572668, 0.48526355],
++												 [	-6.02461841, -0.00268473, 0.00158564, 7.02193368, 0.99162270, 0.99572963, 0.48528757],
++												 [	-6.02543391, -0.00268276, 0.00158466, 7.02275115, 0.99162938, 0.99573258, 0.48531151],
++												 [	-6.02624690, -0.00268080, 0.00158368, 7.02356610, 0.99163606, 0.99573552, 0.48533539],
++												 [	-6.02705738, -0.00267883, 0.00158270, 7.02437855, 0.99164272, 0.99573847, 0.48535919],
++												 [	-6.02786537, -0.00267687, 0.00158172, 7.02518850, 0.99164938, 0.99574141, 0.48538292],
++												 [	-6.02867087, -0.00267491, 0.00158074, 7.02599596, 0.99165602, 0.99574434, 0.48540659],
++												 [	-6.02947389, -0.00267296, 0.00157977, 7.02680093, 0.99166266, 0.99574728, 0.48543018],
++												 [	-6.03027443, -0.00267100, 0.00157879, 7.02760343, 0.99166929, 0.99575021, 0.48545370],
++												 [	-6.03107251, -0.00266905, 0.00157781, 7.02840346, 0.99167591, 0.99575314, 0.48547716],
++												 [	-6.03186812, -0.00266710, 0.00157684, 7.02920102, 0.99168252, 0.99575606, 0.48550054],
++												 [	-6.03266127, -0.00266515, 0.00157586, 7.02999612, 0.99168912, 0.99575899, 0.48552386],
++												 [	-6.03345198, -0.00266320, 0.00157489, 7.03078878, 0.99169571, 0.99576191, 0.48554710],
++												 [	-6.03424025, -0.00266126, 0.00157391, 7.03157899, 0.99170230, 0.99576483, 0.48557028],
++												 [	-6.03502608, -0.00265932, 0.00157294, 7.03236676, 0.99170887, 0.99576774, 0.48559339],
++												 [	-6.03580948, -0.00265738, 0.00157197, 7.03315210, 0.99171544, 0.99577065, 0.48561643],
++												 [	-6.03659046, -0.00265544, 0.00157100, 7.03393502, 0.99172199, 0.99577356, 0.48563940],
++												 [	-6.03736903, -0.00265350, 0.00157002, 7.03471552, 0.99172854, 0.99577647, 0.48566231],
++												 [	-6.03814518, -0.00265157, 0.00156905, 7.03549361, 0.99173508, 0.99577938, 0.48568514],
++												 [	-6.03891894, -0.00264964, 0.00156808, 7.03626930, 0.99174161, 0.99578228, 0.48570791],
++												 [	-6.03969029, -0.00264771, 0.00156711, 7.03704258, 0.99174813, 0.99578518, 0.48573061],
++												 [	-6.04045926, -0.00264578, 0.00156614, 7.03781348, 0.99175464, 0.99578807, 0.48575324],
++												 [	-6.04122585, -0.00264386, 0.00156517, 7.03858199, 0.99176115, 0.99579097, 0.48577581],
++												 [	-6.04199006, -0.00264193, 0.00156421, 7.03934813, 0.99176764, 0.99579386, 0.48579831],
++												 [	-6.04275190, -0.00264001, 0.00156324, 7.04011189, 0.99177413, 0.99579675, 0.48582075],
++												 [	-6.04351138, -0.00263809, 0.00156227, 7.04087328, 0.99178061, 0.99579964, 0.48584311],
++												 [	-6.04426850, -0.00263618, 0.00156130, 7.04163232, 0.99178707, 0.99580252, 0.48586541],
++												 [	-6.04502327, -0.00263426, 0.00156034, 7.04238901, 0.99179353, 0.99580540, 0.48588765],
++												 [	-6.04577570, -0.00263235, 0.00155937, 7.04314335, 0.99179998, 0.99580828, 0.48590981],
++												 [	-6.04652579, -0.00263044, 0.00155841, 7.04389535, 0.99180643, 0.99581115, 0.48593191],
++												 [	-6.04727354, -0.00262853, 0.00155744, 7.04464502, 0.99181286, 0.99581403, 0.48595395],
++												 [	-6.04801898, -0.00262662, 0.00155648, 7.04539236, 0.99181929, 0.99581690, 0.48597592],
++												 [	-6.04876210, -0.00262472, 0.00155552, 7.04613738, 0.99182570, 0.99581977, 0.48599782],
++												 [	-6.04950290, -0.00262282, 0.00155455, 7.04688009, 0.99183211, 0.99582263, 0.48601966],
++												 [	-6.05024140, -0.00262092, 0.00155359, 7.04762049, 0.99183851, 0.99582549, 0.48604144],
++												 [	-6.05097760, -0.00261902, 0.00155263, 7.04835858, 0.99184490, 0.99582835, 0.48606315],
++												 [	-6.05171151, -0.00261712, 0.00155167, 7.04909439, 0.99185128, 0.99583121, 0.48608479],
++												 [	-6.05244313, -0.00261523, 0.00155071, 7.04982791, 0.99185765, 0.99583407, 0.48610637],
++												 [	-6.05317248, -0.00261334, 0.00154975, 7.05055914, 0.99186402, 0.99583692, 0.48612789],
++												 [	-6.05389955, -0.00261145, 0.00154879, 7.05128810, 0.99187037, 0.99583977, 0.48614934],
++												 [	-6.05462435, -0.00260956, 0.00154783, 7.05201479, 0.99187672, 0.99584261, 0.48617073],
++												 [	-6.05534689, -0.00260767, 0.00154687, 7.05273922, 0.99188306, 0.99584546, 0.48619205],
++												 [	-6.05606718, -0.00260579, 0.00154591, 7.05346139, 0.99188939, 0.99584830, 0.48621331],
++												 [	-6.05678521, -0.00260391, 0.00154495, 7.05418131, 0.99189571, 0.99585114, 0.48623450],
++												 [	-6.05750101, -0.00260203, 0.00154400, 7.05489898, 0.99190203, 0.99585398, 0.48625564],
++												 [	-6.05821457, -0.00260015, 0.00154304, 7.05561442, 0.99190833, 0.99585681, 0.48627671],
++												 [	-6.05892590, -0.00259827, 0.00154209, 7.05632763, 0.99191463, 0.99585964, 0.48629772],
++												 [	-6.05963501, -0.00259640, 0.00154113, 7.05703861, 0.99192092, 0.99586247, 0.48631866],
++												 [	-6.06034190, -0.00259453, 0.00154018, 7.05774737, 0.99192720, 0.99586529, 0.48633954],
++												 [	-6.06104657, -0.00259266, 0.00153922, 7.05845392, 0.99193347, 0.99586812, 0.48636036],
++												 [	-6.06174905, -0.00259079, 0.00153827, 7.05915826, 0.99193973, 0.99587094, 0.48638112],
++												 [	-6.06244932, -0.00258893, 0.00153732, 7.05986040, 0.99194598, 0.99587376, 0.48640181],
++												 [	-6.06314740, -0.00258706, 0.00153637, 7.06056034, 0.99195223, 0.99587657, 0.48642244],
++												 [	-6.06384330, -0.00258520, 0.00153541, 7.06125810, 0.99195847, 0.99587938, 0.48644301],
++												 [	-6.06453701, -0.00258334, 0.00153446, 7.06195367, 0.99196470, 0.99588220, 0.48646352],
++												 [	-6.06522855, -0.00258148, 0.00153351, 7.06264707, 0.99197092, 0.99588500, 0.48648397],
++												 [	-6.06591793, -0.00257963, 0.00153256, 7.06333830, 0.99197713, 0.99588781, 0.48650436],
++												 [	-6.06660514, -0.00257778, 0.00153161, 7.06402736, 0.99198334, 0.99589061, 0.48652468],
++												 [	-6.06729019, -0.00257592, 0.00153067, 7.06471427, 0.99198953, 0.99589341, 0.48654494],
++												 [	-6.06797309, -0.00257408, 0.00152972, 7.06539902, 0.99199572, 0.99589621, 0.48656515],
++												 [	-6.06865385, -0.00257223, 0.00152877, 7.06608163, 0.99200190, 0.99589900, 0.48658529],
++												 [	-6.06933248, -0.00257038, 0.00152782, 7.06676209, 0.99200807, 0.99590179, 0.48660537],
++												 [	-6.07000896, -0.00256854, 0.00152688, 7.06744043, 0.99201424, 0.99590458, 0.48662539],
++												 [	-6.07068333, -0.00256670, 0.00152593, 7.06811663, 0.99202039, 0.99590737, 0.48664535],
++												 [	-6.07135557, -0.00256486, 0.00152499, 7.06879071, 0.99202654, 0.99591015, 0.48666525],
++												 [	-6.07202570, -0.00256302, 0.00152404, 7.06946268, 0.99203268, 0.99591294, 0.48668509],
++												 [	-6.07269372, -0.00256119, 0.00152310, 7.07013254, 0.99203881, 0.99591572, 0.48670487],
++												 [	-6.07335964, -0.00255935, 0.00152215, 7.07080029, 0.99204493, 0.99591849, 0.48672460],
++												 [	-6.07402346, -0.00255752, 0.00152121, 7.07146594, 0.99205104, 0.99592127, 0.48674426],
++												 [	-6.07468520, -0.00255569, 0.00152027, 7.07212950, 0.99205715, 0.99592404, 0.48676386],
++												 [	-6.07534484, -0.00255387, 0.00151933, 7.07279098, 0.99206325, 0.99592681, 0.48678341],
++												 [	-6.07600241, -0.00255204, 0.00151839, 7.07345037, 0.99206934, 0.99592957, 0.48680289],
++												 [	-6.07665791, -0.00255022, 0.00151745, 7.07410769, 0.99207542, 0.99593234, 0.48682232],
++												 [	-6.07731134, -0.00254840, 0.00151651, 7.07476294, 0.99208149, 0.99593510, 0.48684169],
++												 [	-6.07796271, -0.00254658, 0.00151557, 7.07541613, 0.99208756, 0.99593786, 0.48686100],
++												 [	-6.07861202, -0.00254476, 0.00151463, 7.07606726, 0.99209362, 0.99594061, 0.48688025],
++												 [	-6.07925928, -0.00254294, 0.00151369, 7.07671634, 0.99209967, 0.99594336, 0.48689944],
++												 [	-6.07990450, -0.00254113, 0.00151275, 7.07736337, 0.99210571, 0.99594612, 0.48691858],
++												 [	-6.08054769, -0.00253932, 0.00151182, 7.07800837, 0.99211174, 0.99594886, 0.48693766],
++												 [	-6.08118884, -0.00253751, 0.00151088, 7.07865133, 0.99211777, 0.99595161, 0.48695668],
++												 [	-6.08182796, -0.00253570, 0.00150994, 7.07929226, 0.99212379, 0.99595435, 0.48697564],
++												 [	-6.08246507, -0.00253390, 0.00150901, 7.07993117, 0.99212980, 0.99595709, 0.48699454],
++												 [	-6.08310016, -0.00253210, 0.00150807, 7.08056806, 0.99213580, 0.99595983, 0.48701339],
++												 [	-6.08373324, -0.00253029, 0.00150714, 7.08120294, 0.99214179, 0.99596257, 0.48703218],
++												 [	-6.08436431, -0.00252849, 0.00150621, 7.08183582, 0.99214778, 0.99596530, 0.48705092],
++												 [	-6.08499339, -0.00252670, 0.00150527, 7.08246669, 0.99215376, 0.99596803, 0.48706960],
++												 [	-6.08562048, -0.00252490, 0.00150434, 7.08309558, 0.99215973, 0.99597076, 0.48708821],
++												 [	-6.08624558, -0.00252311, 0.00150341, 7.08372247, 0.99216569, 0.99597348, 0.48710678],
++												 [	-6.08686870, -0.00252132, 0.00150248, 7.08434738, 0.99217164, 0.99597620, 0.48712529],
++												 [	-6.08748985, -0.00251953, 0.00150155, 7.08497032, 0.99217759, 0.99597892, 0.48714374],
++												 [	-6.08810902, -0.00251774, 0.00150062, 7.08559128, 0.99218353, 0.99598164, 0.48716214],
++												 [	-6.08872624, -0.00251595, 0.00149969, 7.08621028, 0.99218946, 0.99598436, 0.48718048],
++												 [	-6.08934149, -0.00251417, 0.00149876, 7.08682732, 0.99219538, 0.99598707, 0.48719876],
++												 [	-6.08995479, -0.00251239, 0.00149784, 7.08744241, 0.99220130, 0.99598978, 0.48721699],
++												 [	-6.09056615, -0.00251061, 0.00149691, 7.08805554, 0.99220721, 0.99599248, 0.48723517],
++												 [	-6.09117556, -0.00250883, 0.00149598, 7.08866673, 0.99221310, 0.99599519, 0.48725329],
++												 [	-6.09178304, -0.00250705, 0.00149506, 7.08927599, 0.99221900, 0.99599789, 0.48727135],
++												 [	-6.09238859, -0.00250528, 0.00149413, 7.08988331, 0.99222488, 0.99600059, 0.48728936],
++												 [	-6.09299221, -0.00250351, 0.00149320, 7.09048871, 0.99223076, 0.99600329, 0.48730732],
++												 [	-6.09359392, -0.00250174, 0.00149228, 7.09109218, 0.99223663, 0.99600598, 0.48732522],
++												 [	-6.09419371, -0.00249997, 0.00149136, 7.09169374, 0.99224249, 0.99600867, 0.48734306],
++												 [	-6.09479159, -0.00249820, 0.00149043, 7.09229339, 0.99224834, 0.99601136, 0.48736085],
++												 [	-6.09538757, -0.00249644, 0.00148951, 7.09289113, 0.99225419, 0.99601405, 0.48737859],
++												 [	-6.09598165, -0.00249468, 0.00148859, 7.09348698, 0.99226003, 0.99601673, 0.48739628],
++												 [	-6.09657385, -0.00249292, 0.00148767, 7.09408093, 0.99226586, 0.99601942, 0.48741390],
++												 [	-6.09716415, -0.00249116, 0.00148675, 7.09467299, 0.99227168, 0.99602210, 0.48743148],
++												 [	-6.09775257, -0.00248940, 0.00148583, 7.09526317, 0.99227749, 0.99602477, 0.48744900],
++												 [	-6.09833912, -0.00248765, 0.00148491, 7.09585148, 0.99228330, 0.99602745, 0.48746647],
++												 [	-6.09892380, -0.00248589, 0.00148399, 7.09643791, 0.99228910, 0.99603012, 0.48748389],
++												 [	-6.09950662, -0.00248414, 0.00148307, 7.09702248, 0.99229489, 0.99603279, 0.48750125],
++												 [	-6.10008757, -0.00248239, 0.00148215, 7.09760518, 0.99230068, 0.99603545, 0.48751856],
++												 [	-6.10066667, -0.00248065, 0.00148124, 7.09818603, 0.99230646, 0.99603812, 0.48753582],
++												 [	-6.10124393, -0.00247890, 0.00148032, 7.09876503, 0.99231223, 0.99604078, 0.48755302],
++												 [	-6.10181934, -0.00247716, 0.00147941, 7.09934218, 0.99231799, 0.99604344, 0.48757018],
++												 [	-6.10239291, -0.00247542, 0.00147849, 7.09991749, 0.99232374, 0.99604609, 0.48758728],
++												 [	-6.10296465, -0.00247368, 0.00147758, 7.10049097, 0.99232949, 0.99604875, 0.48760432],
++												 [	-6.10353456, -0.00247194, 0.00147666, 7.10106262, 0.99233523, 0.99605140, 0.48762132],
++												 [	-6.10410265, -0.00247020, 0.00147575, 7.10163245, 0.99234096, 0.99605405, 0.48763826],
++												 [	-6.10466892, -0.00246847, 0.00147484, 7.10220045, 0.99234669, 0.99605669, 0.48765516],
++												 [	-6.10523338, -0.00246674, 0.00147393, 7.10276665, 0.99235240, 0.99605934, 0.48767200],
++												 [	-6.10579604, -0.00246501, 0.00147301, 7.10333103, 0.99235811, 0.99606198, 0.48768879],
++												 [	-6.10635689, -0.00246328, 0.00147210, 7.10389362, 0.99236382, 0.99606462, 0.48770552],
++												 [	-6.10691595, -0.00246155, 0.00147119, 7.10445440, 0.99236951, 0.99606725, 0.48772221],
++												 [	-6.10747322, -0.00245983, 0.00147028, 7.10501339, 0.99237520, 0.99606989, 0.48773885],
++												 [	-6.10802871, -0.00245811, 0.00146937, 7.10557060, 0.99238088, 0.99607252, 0.48775543],
++												 [	-6.10858241, -0.00245639, 0.00146847, 7.10612603, 0.99238655, 0.99607515, 0.48777197],
++												 [	-6.10913434, -0.00245467, 0.00146756, 7.10667967, 0.99239222, 0.99607777, 0.48778845],
++												 [	-6.10968450, -0.00245295, 0.00146665, 7.10723155, 0.99239787, 0.99608040, 0.48780488],
++												 [	-6.11023289, -0.00245123, 0.00146575, 7.10778166, 0.99240353, 0.99608302, 0.48782127],
++												 [	-6.11077953, -0.00244952, 0.00146484, 7.10833001, 0.99240917, 0.99608564, 0.48783760],
++												 [	-6.11132441, -0.00244781, 0.00146393, 7.10887660, 0.99241480, 0.99608825, 0.48785388],
++												 [	-6.11186754, -0.00244610, 0.00146303, 7.10942144, 0.99242043, 0.99609087, 0.48787012],
++												 [	-6.11240893, -0.00244439, 0.00146213, 7.10996454, 0.99242605, 0.99609348, 0.48788630],
++												 [	-6.11294858, -0.00244269, 0.00146122, 7.11050589, 0.99243167, 0.99609609, 0.48790243],
++												 [	-6.11348649, -0.00244098, 0.00146032, 7.11104551, 0.99243728, 0.99609869, 0.48791852],
++												 [	-6.11402268, -0.00243928, 0.00145942, 7.11158340, 0.99244288, 0.99610130, 0.48793455],
++												 [	-6.11455714, -0.00243758, 0.00145852, 7.11211956, 0.99244847, 0.99610390, 0.48795053],
++												 [	-6.11508989, -0.00243588, 0.00145762, 7.11265400, 0.99245405, 0.99610650, 0.48796647],
++												 [	-6.11562092, -0.00243419, 0.00145672, 7.11318673, 0.99245963, 0.99610909, 0.48798236],
++												 [	-6.11615024, -0.00243249, 0.00145582, 7.11371775, 0.99246520, 0.99611169, 0.48799820],
++												 [	-6.11667786, -0.00243080, 0.00145492, 7.11424706, 0.99247077, 0.99611428, 0.48801399],
++												 [	-6.11720378, -0.00242911, 0.00145402, 7.11477467, 0.99247632, 0.99611687, 0.48802973],
++												 [	-6.11772800, -0.00242742, 0.00145312, 7.11530058, 0.99248187, 0.99611945, 0.48804543],
++												 [	-6.11825054, -0.00242574, 0.00145223, 7.11582481, 0.99248741, 0.99612204, 0.48806107],
++												 [	-6.11877140, -0.00242405, 0.00145133, 7.11634735, 0.99249295, 0.99612462, 0.48807667],
++												 [	-6.11929057, -0.00242237, 0.00145043, 7.11686820, 0.99249847, 0.99612720, 0.48809222],
++												 [	-6.11980807, -0.00242069, 0.00144954, 7.11738739, 0.99250400, 0.99612978, 0.48810772],
++												 [	-6.12032390, -0.00241901, 0.00144864, 7.11790490, 0.99250951, 0.99613235, 0.48812317],
++												 [	-6.12083807, -0.00241733, 0.00144775, 7.11842074, 0.99251501, 0.99613492, 0.48813858],
++												 [	-6.12135058, -0.00241565, 0.00144686, 7.11893493, 0.99252051, 0.99613749, 0.48815394],
++												 [	-6.12186144, -0.00241398, 0.00144597, 7.11944746, 0.99252601, 0.99614006, 0.48816925],
++												 [	-6.12237064, -0.00241231, 0.00144507, 7.11995834, 0.99253149, 0.99614262, 0.48818451],
++												 [	-6.12287820, -0.00241064, 0.00144418, 7.12046757, 0.99253697, 0.99614518, 0.48819973],
++												 [	-6.12338412, -0.00240897, 0.00144329, 7.12097516, 0.99254244, 0.99614774, 0.48821490],
++												 [	-6.12388841, -0.00240730, 0.00144240, 7.12148111, 0.99254790, 0.99615030, 0.48823002],
++												 [	-6.12439107, -0.00240563, 0.00144151, 7.12198543, 0.99255336, 0.99615285, 0.48824510],
++												 [	-6.12489210, -0.00240397, 0.00144062, 7.12248813, 0.99255881, 0.99615540, 0.48826013],
++												 [	-6.12539151, -0.00240231, 0.00143974, 7.12298920, 0.99256425, 0.99615795, 0.48827512],
++												 [	-6.12588931, -0.00240065, 0.00143885, 7.12348866, 0.99256969, 0.99616050, 0.48829005],
++												 [	-6.12638549, -0.00239899, 0.00143796, 7.12398650, 0.99257512, 0.99616304, 0.48830495],
++												 [	-6.12688007, -0.00239734, 0.00143708, 7.12448273, 0.99258054, 0.99616559, 0.48831979],
++												 [	-6.12737305, -0.00239568, 0.00143619, 7.12497736, 0.99258596, 0.99616813, 0.48833460],
++												 [	-6.12786443, -0.00239403, 0.00143531, 7.12547040, 0.99259136, 0.99617066, 0.48834935],
++												 [	-6.12835422, -0.00239238, 0.00143442, 7.12596184, 0.99259676, 0.99617320, 0.48836406],
++												 [	-6.12884242, -0.00239073, 0.00143354, 7.12645169, 0.99260216, 0.99617573, 0.48837872],
++												 [	-6.12932904, -0.00238908, 0.00143266, 7.12693996, 0.99260755, 0.99617826, 0.48839334],
++												 [	-6.12981408, -0.00238744, 0.00143177, 7.12742664, 0.99261293, 0.99618079, 0.48840792],
++												 [	-6.13029755, -0.00238580, 0.00143089, 7.12791176, 0.99261830, 0.99618331, 0.48842244],
++												 [	-6.13077945, -0.00238416, 0.00143001, 7.12839530, 0.99262367, 0.99618583, 0.48843693],
++												 [	-6.13125979, -0.00238252, 0.00142913, 7.12887728, 0.99262903, 0.99618835, 0.48845136],
++												 [	-6.13173857, -0.00238088, 0.00142825, 7.12935769, 0.99263438, 0.99619087, 0.48846576],
++												 [	-6.13221579, -0.00237924, 0.00142737, 7.12983655, 0.99263972, 0.99619339, 0.48848011],
++												 [	-6.13269147, -0.00237761, 0.00142649, 7.13031386, 0.99264506, 0.99619590, 0.48849441],
++												 [	-6.13316560, -0.00237598, 0.00142562, 7.13078962, 0.99265040, 0.99619841, 0.48850867],
++												 [	-6.13363819, -0.00237434, 0.00142474, 7.13126384, 0.99265572, 0.99620092, 0.48852289],
++												 [	-6.13410924, -0.00237272, 0.00142386, 7.13173652, 0.99266104, 0.99620342, 0.48853706],
++												 [	-6.13457876, -0.00237109, 0.00142299, 7.13220767, 0.99266635, 0.99620593, 0.48855119],
++												 [	-6.13504676, -0.00236946, 0.00142211, 7.13267729, 0.99267166, 0.99620843, 0.48856528],
++												 [	-6.13551323, -0.00236784, 0.00142124, 7.13314539, 0.99267696, 0.99621092, 0.48857932],
++												 [	-6.13597818, -0.00236622, 0.00142036, 7.13361197, 0.99268225, 0.99621342, 0.48859332],
++												 [	-6.13644163, -0.00236460, 0.00141949, 7.13407703, 0.99268753, 0.99621591, 0.48860727],
++												 [	-6.13690356, -0.00236298, 0.00141862, 7.13454058, 0.99269281, 0.99621840, 0.48862118],
++												 [	-6.13736399, -0.00236136, 0.00141774, 7.13500263, 0.99269808, 0.99622089, 0.48863505],
++												 [	-6.13782292, -0.00235975, 0.00141687, 7.13546317, 0.99270335, 0.99622338, 0.48864888],
++												 [	-6.13828035, -0.00235814, 0.00141600, 7.13592222, 0.99270861, 0.99622586, 0.48866266],
++												 [	-6.13873630, -0.00235652, 0.00141513, 7.13637977, 0.99271386, 0.99622834, 0.48867640],
++												 [	-6.13919076, -0.00235492, 0.00141426, 7.13683584, 0.99271910, 0.99623082, 0.48869010],
++												 [	-6.13964373, -0.00235331, 0.00141339, 7.13729042, 0.99272434, 0.99623330, 0.48870375],
++												 [	-6.14009523, -0.00235170, 0.00141253, 7.13774353, 0.99272957, 0.99623577, 0.48871736],
++												 [	-6.14054526, -0.00235010, 0.00141166, 7.13819516, 0.99273480, 0.99623824, 0.48873093],
++												 [	-6.14099381, -0.00234850, 0.00141079, 7.13864532, 0.99274001, 0.99624071, 0.48874446],
++												 [	-6.14144091, -0.00234689, 0.00140993, 7.13909401, 0.99274523, 0.99624318, 0.48875794],
++												 [	-6.14188654, -0.00234530, 0.00140906, 7.13954125, 0.99275043, 0.99624564, 0.48877139],
++												 [	-6.14233072, -0.00234370, 0.00140820, 7.13998702, 0.99275563, 0.99624811, 0.48878479],
++												 [	-6.14277345, -0.00234210, 0.00140733, 7.14043134, 0.99276082, 0.99625057, 0.48879815],
++												 [	-6.14321473, -0.00234051, 0.00140647, 7.14087422, 0.99276601, 0.99625302, 0.48881147],
++												 [	-6.14365457, -0.00233892, 0.00140561, 7.14131565, 0.99277118, 0.99625548, 0.48882475],
++												 [	-6.14409297, -0.00233733, 0.00140474, 7.14175564, 0.99277636, 0.99625793, 0.48883798],
++												 [	-6.14452994, -0.00233574, 0.00140388, 7.14219420, 0.99278152, 0.99626038, 0.48885118],
++												 [	-6.14496548, -0.00233415, 0.00140302, 7.14263132, 0.99278668, 0.99626283, 0.48886433],
++												 [	-6.14539959, -0.00233257, 0.00140216, 7.14306702, 0.99279183, 0.99626527, 0.48887745],
++												 [	-6.14583228, -0.00233098, 0.00140130, 7.14350130, 0.99279698, 0.99626772, 0.48889052],
++												 [	-6.14626356, -0.00232940, 0.00140044, 7.14393416, 0.99280212, 0.99627016, 0.48890355],
++												 [	-6.14669342, -0.00232782, 0.00139958, 7.14436560, 0.99280725, 0.99627259, 0.48891654],
++												 [	-6.14712188, -0.00232625, 0.00139873, 7.14479564, 0.99281238, 0.99627503, 0.48892949],
++												 [	-6.14754894, -0.00232467, 0.00139787, 7.14522427, 0.99281750, 0.99627746, 0.48894240],
++												 [	-6.14797459, -0.00232309, 0.00139701, 7.14565150, 0.99282261, 0.99627989, 0.48895527],
++												 [	-6.14839885, -0.00232152, 0.00139616, 7.14607733, 0.99282772, 0.99628232, 0.48896810],
++												 [	-6.14882172, -0.00231995, 0.00139530, 7.14650177, 0.99283282, 0.99628475, 0.48898089],
++												 [	-6.14924320, -0.00231838, 0.00139445, 7.14692482, 0.99283791, 0.99628717, 0.48899364],
++												 [	-6.14966330, -0.00231681, 0.00139359, 7.14734649, 0.99284300, 0.99628959, 0.48900634],
++												 [	-6.15008202, -0.00231525, 0.00139274, 7.14776677, 0.99284808, 0.99629201, 0.48901902],
++												 [	-6.15049937, -0.00231368, 0.00139189, 7.14818569, 0.99285316, 0.99629443, 0.48903165],
++												 [	-6.15091535, -0.00231212, 0.00139104, 7.14860323, 0.99285823, 0.99629684, 0.48904424],
++												 [	-6.15132996, -0.00231056, 0.00139018, 7.14901940, 0.99286329, 0.99629926, 0.48905679],
++												 [	-6.15174321, -0.00230900, 0.00138933, 7.14943421, 0.99286834, 0.99630166, 0.48906930],
++												 [	-6.15215510, -0.00230744, 0.00138848, 7.14984766, 0.99287339, 0.99630407, 0.48908178],
++												 [	-6.15256564, -0.00230589, 0.00138763, 7.15025975, 0.99287844, 0.99630648, 0.48909421],
++												 [	-6.15297483, -0.00230433, 0.00138679, 7.15067050, 0.99288347, 0.99630888, 0.48910661],
++												 [	-6.15338268, -0.00230278, 0.00138594, 7.15107989, 0.99288850, 0.99631128, 0.48911897],
++												 [	-6.15378918, -0.00230123, 0.00138509, 7.15148795, 0.99289353, 0.99631368, 0.48913128],
++												 [	-6.15419435, -0.00229968, 0.00138424, 7.15189467, 0.99289855, 0.99631607, 0.48914356],
++												 [	-6.15459818, -0.00229814, 0.00138340, 7.15230005, 0.99290356, 0.99631847, 0.48915581],
++												 [	-6.15500069, -0.00229659, 0.00138255, 7.15270410, 0.99290856, 0.99632086, 0.48916801],
++												 [	-6.15540187, -0.00229505, 0.00138171, 7.15310682, 0.99291356, 0.99632324, 0.48918017],
++												 [	-6.15580173, -0.00229350, 0.00138087, 7.15350822, 0.99291855, 0.99632563, 0.48919230],
++												 [	-6.15620027, -0.00229196, 0.00138002, 7.15390831, 0.99292354, 0.99632801, 0.48920439],
++												 [	-6.15659750, -0.00229042, 0.00137918, 7.15430708, 0.99292852, 0.99633040, 0.48921644],
++												 [	-6.15699342, -0.00228889, 0.00137834, 7.15470454, 0.99293349, 0.99633278, 0.48922846],
++												 [	-6.15738804, -0.00228735, 0.00137750, 7.15510069, 0.99293846, 0.99633515, 0.48924043],
++												 [	-6.15778136, -0.00228582, 0.00137666, 7.15549554, 0.99294342, 0.99633753, 0.48925237],
++												 [	-6.15817338, -0.00228429, 0.00137582, 7.15588909, 0.99294838, 0.99633990, 0.48926427],
++												 [	-6.15856410, -0.00228276, 0.00137498, 7.15628135, 0.99295333, 0.99634227, 0.48927613],
++												 [	-6.15895354, -0.00228123, 0.00137414, 7.15667231, 0.99295827, 0.99634464, 0.48928796],
++												 [	-6.15934170, -0.00227970, 0.00137330, 7.15706199, 0.99296321, 0.99634700, 0.48929975],
++												 [	-6.15972857, -0.00227818, 0.00137246, 7.15745039, 0.99296814, 0.99634936, 0.48931151],
++												 [	-6.16011416, -0.00227665, 0.00137162, 7.15783751, 0.99297306, 0.99635172, 0.48932322],
++												 [	-6.16049848, -0.00227513, 0.00137079, 7.15822335, 0.99297798, 0.99635408, 0.48933490],
++												 [	-6.16088154, -0.00227361, 0.00136995, 7.15860793, 0.99298289, 0.99635644, 0.48934654],
++												 [	-6.16126332, -0.00227209, 0.00136912, 7.15899123, 0.99298780, 0.99635879, 0.48935815],
++												 [	-6.16164385, -0.00227057, 0.00136828, 7.15937328, 0.99299270, 0.99636114, 0.48936972],
++												 [	-6.16202312, -0.00226906, 0.00136745, 7.15975406, 0.99299759, 0.99636349, 0.48938125],
++												 [	-6.16240113, -0.00226754, 0.00136662, 7.16013359, 0.99300248, 0.99636584, 0.48939275],
++												 [	-6.16277790, -0.00226603, 0.00136579, 7.16051186, 0.99300736, 0.99636818, 0.48940421],
++												 [	-6.16315341, -0.00226452, 0.00136495, 7.16088889, 0.99301224, 0.99637052, 0.48941563],
++												 [	-6.16352769, -0.00226301, 0.00136412, 7.16126468, 0.99301711, 0.99637286, 0.48942702],
++												 [	-6.16390073, -0.00226151, 0.00136329, 7.16163922, 0.99302197, 0.99637520, 0.48943837],
++												 [	-6.16427253, -0.00226000, 0.00136246, 7.16201253, 0.99302683, 0.99637753, 0.48944969],
++												 [	-6.16464310, -0.00225850, 0.00136164, 7.16238461, 0.99303168, 0.99637987, 0.48946098],
++												 [	-6.16501245, -0.00225700, 0.00136081, 7.16275545, 0.99303653, 0.99638220, 0.48947222],
++												 [	-6.16538057, -0.00225549, 0.00135998, 7.16312507, 0.99304136, 0.99638453, 0.48948343],
++												 [	-6.16574747, -0.00225400, 0.00135915, 7.16349348, 0.99304620, 0.99638685, 0.48949461],
++												 [	-6.16611316, -0.00225250, 0.00135833, 7.16386066, 0.99305103, 0.99638918, 0.48950575],
++												 [	-6.16647763, -0.00225100, 0.00135750, 7.16422663, 0.99305585, 0.99639150, 0.48951685],
++												 [	-6.16684090, -0.00224951, 0.00135668, 7.16459139, 0.99306066, 0.99639382, 0.48952792],
++												 [	-6.16720296, -0.00224802, 0.00135585, 7.16495494, 0.99306547, 0.99639613, 0.48953896],
++												 [	-6.16756382, -0.00224653, 0.00135503, 7.16531729, 0.99307027, 0.99639845, 0.48954996],
++												 [	-6.16792348, -0.00224504, 0.00135421, 7.16567845, 0.99307507, 0.99640076, 0.48956093],
++												 [	-6.16828195, -0.00224355, 0.00135338, 7.16603840, 0.99307986, 0.99640307, 0.48957186],
++												 [	-6.16863923, -0.00224206, 0.00135256, 7.16639717, 0.99308465, 0.99640538, 0.48958276],
++												 [	-6.16899533, -0.00224058, 0.00135174, 7.16675475, 0.99308943, 0.99640768, 0.48959363],
++												 [	-6.16935024, -0.00223910, 0.00135092, 7.16711114, 0.99309420, 0.99640998, 0.48960445],
++												 [	-6.16970397, -0.00223762, 0.00135010, 7.16746636, 0.99309897, 0.99641228, 0.48961525],
++												 [	-6.17005653, -0.00223614, 0.00134928, 7.16782039, 0.99310373, 0.99641458, 0.48962601],
++												 [	-6.17040791, -0.00223466, 0.00134846, 7.16817326, 0.99310849, 0.99641688, 0.48963673],
++												 [	-6.17075813, -0.00223318, 0.00134765, 7.16852495, 0.99311324, 0.99641917, 0.48964743],
++												 [	-6.17110719, -0.00223171, 0.00134683, 7.16887548, 0.99311798, 0.99642146, 0.48965809],
++												 [	-6.17145508, -0.00223024, 0.00134601, 7.16922484, 0.99312272, 0.99642375, 0.48966871],
++												 [	-6.17180182, -0.00222876, 0.00134520, 7.16957305, 0.99312745, 0.99642604, 0.48967931],
++												 [	-6.17214740, -0.00222729, 0.00134438, 7.16992010, 0.99313218, 0.99642832, 0.48968987],
++												 [	-6.17249183, -0.00222583, 0.00134357, 7.17026601, 0.99313690, 0.99643061, 0.48970039],
++												 [	-6.17283512, -0.00222436, 0.00134275, 7.17061076, 0.99314162, 0.99643289, 0.48971088],
++												 [	-6.17317726, -0.00222289, 0.00134194, 7.17095437, 0.99314633, 0.99643517, 0.48972134],
++												 [	-6.17351827, -0.00222143, 0.00134113, 7.17129683, 0.99315103, 0.99643744, 0.48973177],
++												 [	-6.17385813, -0.00221997, 0.00134032, 7.17163816, 0.99315573, 0.99643971, 0.48974217],
++												 [	-6.17419687, -0.00221851, 0.00133950, 7.17197836, 0.99316042, 0.99644199, 0.48975252],
++												 [	-6.17453448, -0.00221705, 0.00133869, 7.17231743, 0.99316511, 0.99644425, 0.48976285],
++												 [	-6.17487096, -0.00221559, 0.00133788, 7.17265537, 0.99316979, 0.99644652, 0.48977314],
++												 [	-6.17520632, -0.00221414, 0.00133708, 7.17299218, 0.99317446, 0.99644879, 0.48978341],
++												 [	-6.17554056, -0.00221269, 0.00133627, 7.17332788, 0.99317913, 0.99645105, 0.48979364],
++												 [	-6.17587369, -0.00221123, 0.00133546, 7.17366246, 0.99318379, 0.99645331, 0.48980384],
++												 [	-6.17620571, -0.00220978, 0.00133465, 7.17399593, 0.99318845, 0.99645557, 0.48981400],
++												 [	-6.17653662, -0.00220833, 0.00133385, 7.17432829, 0.99319310, 0.99645782, 0.48982414],
++												 [	-6.17686642, -0.00220689, 0.00133304, 7.17465954, 0.99319775, 0.99646007, 0.48983424],
++												 [	-6.17719513, -0.00220544, 0.00133223, 7.17498969, 0.99320239, 0.99646233, 0.48984431],
++												 [	-6.17752273, -0.00220400, 0.00133143, 7.17531874, 0.99320702, 0.99646457, 0.48985434],
++												 [	-6.17784925, -0.00220255, 0.00133063, 7.17564669, 0.99321165, 0.99646682, 0.48986435],
++												 [	-6.17817467, -0.00220111, 0.00132982, 7.17597356, 0.99321628, 0.99646906, 0.48987432],
++												 [	-6.17849900, -0.00219967, 0.00132902, 7.17629933, 0.99322089, 0.99647131, 0.48988427],
++												 [	-6.17882225, -0.00219823, 0.00132822, 7.17662402, 0.99322551, 0.99647355, 0.48989418],
++												 [	-6.17914442, -0.00219680, 0.00132742, 7.17694762, 0.99323011, 0.99647578, 0.48990406],
++												 [	-6.17946552, -0.00219536, 0.00132662, 7.17727015, 0.99323471, 0.99647802, 0.48991391],
++												 [	-6.17978554, -0.00219393, 0.00132582, 7.17759161, 0.99323931, 0.99648025, 0.48992373],
++												 [	-6.18010448, -0.00219250, 0.00132502, 7.17791199, 0.99324390, 0.99648248, 0.48993351],
++												 [	-6.18042237, -0.00219107, 0.00132422, 7.17823130, 0.99324848, 0.99648471, 0.48994327],
++												 [	-6.18073919, -0.00218964, 0.00132342, 7.17854955, 0.99325306, 0.99648694, 0.48995299],
++												 [	-6.18105494, -0.00218821, 0.00132262, 7.17886673, 0.99325763, 0.99648916, 0.48996269],
++												 [	-6.18136964, -0.00218679, 0.00132183, 7.17918286, 0.99326220, 0.99649139, 0.48997235],
++												 [	-6.18168329, -0.00218536, 0.00132103, 7.17949793, 0.99326676, 0.99649361, 0.48998198],
++												 [	-6.18199589, -0.00218394, 0.00132024, 7.17981195, 0.99327132, 0.99649582, 0.48999158],
++												 [	-6.18230744, -0.00218252, 0.00131944, 7.18012492, 0.99327587, 0.99649804, 0.49000115],
++												 [	-6.18261795, -0.00218110, 0.00131865, 7.18043684, 0.99328041, 0.99650025, 0.49001070],
++												 [	-6.18292741, -0.00217968, 0.00131785, 7.18074773, 0.99328495, 0.99650246, 0.49002020],
++												 [	-6.18323584, -0.00217827, 0.00131706, 7.18105757, 0.99328949, 0.99650467, 0.49002969],
++												 [	-6.18354323, -0.00217685, 0.00131627, 7.18136638, 0.99329401, 0.99650688, 0.49003913],
++												 [	-6.18384960, -0.00217544, 0.00131548, 7.18167416, 0.99329854, 0.99650908, 0.49004855],
++												 [	-6.18415493, -0.00217403, 0.00131469, 7.18198091, 0.99330305, 0.99651129, 0.49005794],
++												 [	-6.18445924, -0.00217262, 0.00131390, 7.18228663, 0.99330757, 0.99651349, 0.49006730],
++												 [	-6.18476253, -0.00217121, 0.00131311, 7.18259133, 0.99331207, 0.99651568, 0.49007664],
++												 [	-6.18506481, -0.00216980, 0.00131232, 7.18289501, 0.99331657, 0.99651788, 0.49008594],
++												 [	-6.18536606, -0.00216840, 0.00131153, 7.18319767, 0.99332107, 0.99652007, 0.49009521],
++												 [	-6.18566631, -0.00216699, 0.00131074, 7.18349932, 0.99332556, 0.99652226, 0.49010445],
++												 [	-6.18596555, -0.00216559, 0.00130996, 7.18379996, 0.99333004, 0.99652445, 0.49011367],
++												 [	-6.18626378, -0.00216419, 0.00130917, 7.18409959, 0.99333452, 0.99652664, 0.49012285],
++												 [	-6.18656101, -0.00216279, 0.00130839, 7.18439822, 0.99333900, 0.99652882, 0.49013200],
++												 [	-6.18685724, -0.00216139, 0.00130760, 7.18469585, 0.99334346, 0.99653101, 0.49014113],
++												 [	-6.18715248, -0.00216000, 0.00130682, 7.18499249, 0.99334793, 0.99653319, 0.49015022],
++												 [	-6.18744673, -0.00215860, 0.00130603, 7.18528812, 0.99335238, 0.99653537, 0.49015929],
++												 [	-6.18773998, -0.00215721, 0.00130525, 7.18558277, 0.99335684, 0.99653754, 0.49016833],
++												 [	-6.18803225, -0.00215582, 0.00130447, 7.18587643, 0.99336128, 0.99653972, 0.49017734],
++												 [	-6.18832353, -0.00215443, 0.00130369, 7.18616911, 0.99336572, 0.99654189, 0.49018632],
++												 [	-6.18861384, -0.00215304, 0.00130291, 7.18646080, 0.99337016, 0.99654406, 0.49019527],
++												 [	-6.18890316, -0.00215165, 0.00130213, 7.18675152, 0.99337459, 0.99654622, 0.49020420],
++												 [	-6.18919152, -0.00215026, 0.00130135, 7.18704125, 0.99337901, 0.99654839, 0.49021309],
++												 [	-6.18947890, -0.00214888, 0.00130057, 7.18733002, 0.99338343, 0.99655055, 0.49022196],
++												 [	-6.18976532, -0.00214750, 0.00129979, 7.18761782, 0.99338785, 0.99655271, 0.49023080],
++												 [	-6.19005077, -0.00214612, 0.00129901, 7.18790465, 0.99339226, 0.99655487, 0.49023961],
++												 [	-6.19033526, -0.00214474, 0.00129823, 7.18819052, 0.99339666, 0.99655703, 0.49024839],
++												 [	-6.19061879, -0.00214336, 0.00129746, 7.18847543, 0.99340106, 0.99655918, 0.49025714],
++												 [	-6.19090136, -0.00214198, 0.00129668, 7.18875938, 0.99340545, 0.99656134, 0.49026588],
++												 [	-6.19118298, -0.00214061, 0.00129591, 7.18904238, 0.99340984, 0.99656349, 0.49027457],
++												 [	-6.19146366, -0.00213923, 0.00129513, 7.18932442, 0.99341422, 0.99656563, 0.49028324],
++												 [	-6.19174338, -0.00213786, 0.00129436, 7.18960552, 0.99341860, 0.99656778, 0.49029189],
++												 [	-6.19202217, -0.00213649, 0.00129359, 7.18988568, 0.99342297, 0.99656992, 0.49030051],
++												 [	-6.19230001, -0.00213512, 0.00129281, 7.19016489, 0.99342734, 0.99657207, 0.49030909],
++												 [	-6.19257691, -0.00213375, 0.00129204, 7.19044316, 0.99343170, 0.99657421, 0.49031766],
++												 [	-6.19285288, -0.00213239, 0.00129127, 7.19072050, 0.99343606, 0.99657634, 0.49032619],
++												 [	-6.19312792, -0.00213102, 0.00129050, 7.19099690, 0.99344041, 0.99657848, 0.49033470],
++												 [	-6.19340203, -0.00212966, 0.00128973, 7.19127237, 0.99344475, 0.99658061, 0.49034317],
++												 [	-6.19367521, -0.00212830, 0.00128896, 7.19154692, 0.99344909, 0.99658274, 0.49035163],
++												 [	-6.19394748, -0.00212694, 0.00128819, 7.19182054, 0.99345343, 0.99658487, 0.49036006],
++												 [	-6.19421882, -0.00212558, 0.00128743, 7.19209324, 0.99345776, 0.99658700, 0.49036845],
++												 [	-6.19448924, -0.00212422, 0.00128666, 7.19236502, 0.99346208, 0.99658912, 0.49037683],
++												 [	-6.19475875, -0.00212286, 0.00128589, 7.19263589, 0.99346640, 0.99659124, 0.49038517],
++												 [	-6.19502735, -0.00212151, 0.00128513, 7.19290584, 0.99347072, 0.99659336, 0.49039349],
++												 [	-6.19529504, -0.00212016, 0.00128436, 7.19317489, 0.99347503, 0.99659548, 0.49040178],
++												 [	-6.19556183, -0.00211880, 0.00128360, 7.19344302, 0.99347933, 0.99659760, 0.49041005],
++												 [	-6.19582771, -0.00211745, 0.00128283, 7.19371026, 0.99348363, 0.99659971, 0.49041829],
++												 [	-6.19609270, -0.00211611, 0.00128207, 7.19397659, 0.99348792, 0.99660182, 0.49042650],
++												 [	-6.19635678, -0.00211476, 0.00128131, 7.19424203, 0.99349221, 0.99660393, 0.49043469],
++												 [	-6.19661998, -0.00211341, 0.00128054, 7.19450656, 0.99349650, 0.99660604, 0.49044285],
++												 [	-6.19688228, -0.00211207, 0.00127978, 7.19477021, 0.99350077, 0.99660815, 0.49045099],
++												 [	-6.19714369, -0.00211073, 0.00127902, 7.19503297, 0.99350505, 0.99661025, 0.49045909],
++												 [	-6.19740422, -0.00210938, 0.00127826, 7.19529484, 0.99350932, 0.99661235, 0.49046717],
++												 [	-6.19766387, -0.00210804, 0.00127750, 7.19555583, 0.99351358, 0.99661445, 0.49047523],
++												 [	-6.19792264, -0.00210671, 0.00127674, 7.19581593, 0.99351784, 0.99661655, 0.49048326],
++												 [	-6.19818053, -0.00210537, 0.00127599, 7.19607516, 0.99352209, 0.99661864, 0.49049127],
++												 [	-6.19843754, -0.00210403, 0.00127523, 7.19633351, 0.99352634, 0.99662074, 0.49049925],
++												 [	-6.19869369, -0.00210270, 0.00127447, 7.19659099, 0.99353058, 0.99662283, 0.49050720],
++												 [	-6.19894896, -0.00210137, 0.00127372, 7.19684760, 0.99353482, 0.99662492, 0.49051513],
++												 [	-6.19920337, -0.00210004, 0.00127296, 7.19710334, 0.99353905, 0.99662700, 0.49052303],
++												 [	-6.19945692, -0.00209871, 0.00127221, 7.19735822, 0.99354328, 0.99662909, 0.49053091],
++												 [	-6.19970961, -0.00209738, 0.00127145, 7.19761223, 0.99354750, 0.99663117, 0.49053876],
++												 [	-6.19996144, -0.00209605, 0.00127070, 7.19786539, 0.99355172, 0.99663325, 0.49054659],
++												 [	-6.20021242, -0.00209473, 0.00126995, 7.19811769, 0.99355593, 0.99663533, 0.49055439],
++												 [	-6.20046254, -0.00209340, 0.00126919, 7.19836914, 0.99356014, 0.99663741, 0.49056217],
++												 [	-6.20071181, -0.00209208, 0.00126844, 7.19861973, 0.99356434, 0.99663948, 0.49056992],
++												 [	-6.20096024, -0.00209076, 0.00126769, 7.19886948, 0.99356854, 0.99664155, 0.49057765],
++												 [	-6.20120782, -0.00208944, 0.00126694, 7.19911839, 0.99357273, 0.99664362, 0.49058536],
++												 [	-6.20145457, -0.00208812, 0.00126619, 7.19936645, 0.99357692, 0.99664569, 0.49059304],
++												 [	-6.20170047, -0.00208680, 0.00126544, 7.19961367, 0.99358110, 0.99664776, 0.49060069],
++												 [	-6.20194554, -0.00208549, 0.00126469, 7.19986005, 0.99358528, 0.99664982, 0.49060832],
++												 [	-6.20218978, -0.00208417, 0.00126395, 7.20010560, 0.99358945, 0.99665188, 0.49061593],
++												 [	-6.20243318, -0.00208286, 0.00126320, 7.20035032, 0.99359362, 0.99665394, 0.49062351],
++												 [	-6.20267576, -0.00208155, 0.00126245, 7.20059421, 0.99359778, 0.99665600, 0.49063106],
++												 [	-6.20291751, -0.00208024, 0.00126171, 7.20083727, 0.99360194, 0.99665805, 0.49063859],
++												 [	-6.20315844, -0.00207893, 0.00126096, 7.20107951, 0.99360609, 0.99666011, 0.49064611],
++												 [	-6.20339855, -0.00207762, 0.00126022, 7.20132093, 0.99361024, 0.99666216, 0.49065358],
++												 [	-6.20363785, -0.00207632, 0.00125947, 7.20156153, 0.99361438, 0.99666421, 0.49066104],
++												 [	-6.20387633, -0.00207501, 0.00125873, 7.20180131, 0.99361852, 0.99666626, 0.49066848],
++												 [	-6.20411399, -0.00207371, 0.00125799, 7.20204028, 0.99362265, 0.99666830, 0.49067589],
++												 [	-6.20435085, -0.00207241, 0.00125725, 7.20227844, 0.99362678, 0.99667034, 0.49068328],
++												 [	-6.20458690, -0.00207111, 0.00125650, 7.20251579, 0.99363090, 0.99667238, 0.49069064],
++												 [	-6.20482215, -0.00206981, 0.00125576, 7.20275234, 0.99363502, 0.99667442, 0.49069799],
++												 [	-6.20505660, -0.00206852, 0.00125502, 7.20298808, 0.99363914, 0.99667646, 0.49070530],
++												 [	-6.20529024, -0.00206722, 0.00125428, 7.20322302, 0.99364325, 0.99667850, 0.49071260],
++												 [	-6.20552310, -0.00206593, 0.00125355, 7.20345717, 0.99364735, 0.99668053, 0.49071987],
++												 [	-6.20575515, -0.00206463, 0.00125281, 7.20369052, 0.99365145, 0.99668256, 0.49072711],
++												 [	-6.20598642, -0.00206334, 0.00125207, 7.20392308, 0.99365554, 0.99668459, 0.49073434],
++												 [	-6.20621690, -0.00206205, 0.00125133, 7.20415485, 0.99365963, 0.99668662, 0.49074154],
++												 [	-6.20644659, -0.00206076, 0.00125060, 7.20438583, 0.99366372, 0.99668864, 0.49074872],
++												 [	-6.20667550, -0.00205947, 0.00124986, 7.20461602, 0.99366780, 0.99669066, 0.49075587],
++												 [	-6.20690362, -0.00205819, 0.00124913, 7.20484543, 0.99367187, 0.99669268, 0.49076300],
++												 [	-6.20713097, -0.00205690, 0.00124839, 7.20507407, 0.99367594, 0.99669470, 0.49077011],
++												 [	-6.20735754, -0.00205562, 0.00124766, 7.20530192, 0.99368001, 0.99669672, 0.49077720],
++												 [	-6.20758334, -0.00205434, 0.00124693, 7.20552900, 0.99368407, 0.99669873, 0.49078426],
++												 [	-6.20780837, -0.00205306, 0.00124619, 7.20575531, 0.99368812, 0.99670075, 0.49079130],
++												 [	-6.20803263, -0.00205178, 0.00124546, 7.20598085, 0.99369217, 0.99670276, 0.49079832],
++												 [	-6.20825612, -0.00205050, 0.00124473, 7.20620562, 0.99369622, 0.99670477, 0.49080531],
++												 [	-6.20847885, -0.00204923, 0.00124400, 7.20642963, 0.99370026, 0.99670677, 0.49081228],
++												 [	-6.20870082, -0.00204795, 0.00124327, 7.20665287, 0.99370430, 0.99670878, 0.49081924],
++												 [	-6.20892203, -0.00204668, 0.00124254, 7.20687536, 0.99370833, 0.99671078, 0.49082617],
++												 [	-6.20914249, -0.00204540, 0.00124181, 7.20709708, 0.99371236, 0.99671278, 0.49083307],
++												 [	-6.20936219, -0.00204413, 0.00124109, 7.20731805, 0.99371638, 0.99671478, 0.49083996],
++												 [	-6.20958114, -0.00204286, 0.00124036, 7.20753827, 0.99372040, 0.99671678, 0.49084681],
++												 [	-6.20979934, -0.00204160, 0.00123963, 7.20775774, 0.99372441, 0.99671877, 0.49085365],
++												 [	-6.21001679, -0.00204033, 0.00123891, 7.20797646, 0.99372842, 0.99672076, 0.49086047],
++												 [	-6.21023350, -0.00203906, 0.00123818, 7.20819444, 0.99373242, 0.99672275, 0.49086727],
++												 [	-6.21044947, -0.00203780, 0.00123746, 7.20841167, 0.99373642, 0.99672474, 0.49087404],
++												 [	-6.21066470, -0.00203654, 0.00123673, 7.20862816, 0.99374042, 0.99672673, 0.49088079],
++												 [	-6.21087920, -0.00203528, 0.00123601, 7.20884392, 0.99374441, 0.99672871, 0.49088752],
++												 [	-6.21109295, -0.00203402, 0.00123529, 7.20905894, 0.99374839, 0.99673070, 0.49089423],
++												 [	-6.21130598, -0.00203276, 0.00123456, 7.20927322, 0.99375237, 0.99673268, 0.49090092],
++												 [	-6.21151828, -0.00203150, 0.00123384, 7.20948678, 0.99375635, 0.99673466, 0.49090759],
++												 [	-6.21172985, -0.00203024, 0.00123312, 7.20969960, 0.99376032, 0.99673663, 0.49091423],
++												 [	-6.21194069, -0.00202899, 0.00123240, 7.20991170, 0.99376428, 0.99673861, 0.49092085],
++												 [	-6.21215082, -0.00202774, 0.00123168, 7.21012308, 0.99376825, 0.99674058, 0.49092745],
++												 [	-6.21236022, -0.00202648, 0.00123096, 7.21033373, 0.99377220, 0.99674255, 0.49093403],
++												 [	-6.21256890, -0.00202523, 0.00123025, 7.21054367, 0.99377616, 0.99674452, 0.49094059],
++												 [	-6.21277687, -0.00202398, 0.00122953, 7.21075289, 0.99378010, 0.99674649, 0.49094712],
++												 [	-6.21298413, -0.00202274, 0.00122881, 7.21096139, 0.99378405, 0.99674845, 0.49095364],
++												 [	-6.21319067, -0.00202149, 0.00122809, 7.21116918, 0.99378798, 0.99675042, 0.49096013],
++												 [	-6.21339651, -0.00202025, 0.00122738, 7.21137627, 0.99379192, 0.99675238, 0.49096661],
++												 [	-6.21360164, -0.00201900, 0.00122666, 7.21158264, 0.99379585, 0.99675434, 0.49097306],
++												 [	-6.21380607, -0.00201776, 0.00122595, 7.21178831, 0.99379977, 0.99675629, 0.49097950],
++												 [	-6.21400979, -0.00201652, 0.00122523, 7.21199328, 0.99380369, 0.99675825, 0.49098591],
++												 [	-6.21421282, -0.00201528, 0.00122452, 7.21219754, 0.99380761, 0.99676020, 0.49099230],
++												 [	-6.21441515, -0.00201404, 0.00122381, 7.21240111, 0.99381152, 0.99676215, 0.49099867],
++												 [	-6.21461678, -0.00201280, 0.00122310, 7.21260398, 0.99381543, 0.99676410, 0.49100502],
++												 [	-6.21481773, -0.00201157, 0.00122239, 7.21280616, 0.99381933, 0.99676605, 0.49101135],
++												 [	-6.21501798, -0.00201033, 0.00122167, 7.21300765, 0.99382323, 0.99676799, 0.49101767],
++												 [	-6.21521754, -0.00200910, 0.00122096, 7.21320844, 0.99382712, 0.99676994, 0.49102395],
++												 [	-6.21541642, -0.00200787, 0.00122026, 7.21340855, 0.99383101, 0.99677188, 0.49103022],
++												 [	-6.21561461, -0.00200664, 0.00121955, 7.21360798, 0.99383489, 0.99677382, 0.49103647],
++												 [	-6.21581213, -0.00200541, 0.00121884, 7.21380672, 0.99383877, 0.99677575, 0.49104269],
++												 [	-6.21600896, -0.00200418, 0.00121813, 7.21400478, 0.99384265, 0.99677769, 0.49104891],
++												 [	-6.21620512, -0.00200295, 0.00121742, 7.21420217, 0.99384652, 0.99677962, 0.49105509],
++												 [	-6.21640060, -0.00200173, 0.00121672, 7.21439887, 0.99385038, 0.99678156, 0.49106126],
++												 [	-6.21659541, -0.00200050, 0.00121601, 7.21459491, 0.99385424, 0.99678349, 0.49106741],
++												 [	-6.21678955, -0.00199928, 0.00121531, 7.21479027, 0.99385810, 0.99678541, 0.49107353],
++												 [	-6.21698302, -0.00199806, 0.00121460, 7.21498497, 0.99386195, 0.99678734, 0.49107964],
++												 [	-6.21717583, -0.00199684, 0.00121390, 7.21517899, 0.99386580, 0.99678926, 0.49108574],
++												 [	-6.21736797, -0.00199562, 0.00121320, 7.21537235, 0.99386965, 0.99679119, 0.49109180],
++												 [	-6.21755945, -0.00199440, 0.00121249, 7.21556505, 0.99387349, 0.99679311, 0.49109786],
++												 [	-6.21775028, -0.00199319, 0.00121179, 7.21575709, 0.99387732, 0.99679502, 0.49110388],
++												 [	-6.21794044, -0.00199197, 0.00121109, 7.21594847, 0.99388115, 0.99679694, 0.49110989],
++												 [	-6.21812995, -0.00199076, 0.00121039, 7.21613919, 0.99388498, 0.99679885, 0.49111588],
++												 [	-6.21831881, -0.00198955, 0.00120969, 7.21632926, 0.99388880, 0.99680077, 0.49112186],
++												 [	-6.21850702, -0.00198833, 0.00120899, 7.21651868, 0.99389261, 0.99680268, 0.49112781],
++												 [	-6.21869457, -0.00198712, 0.00120829, 7.21670745, 0.99389643, 0.99680459, 0.49113374],
++												 [	-6.21888149, -0.00198592, 0.00120759, 7.21689557, 0.99390024, 0.99680649, 0.49113965],
++												 [	-6.21906775, -0.00198471, 0.00120689, 7.21708304, 0.99390404, 0.99680840, 0.49114555],
++												 [	-6.21925338, -0.00198350, 0.00120620, 7.21726987, 0.99390784, 0.99681030, 0.49115142],
++												 [	-6.21943836, -0.00198230, 0.00120550, 7.21745606, 0.99391163, 0.99681220, 0.49115728],
++												 [	-6.21962271, -0.00198110, 0.00120481, 7.21764161, 0.99391542, 0.99681410, 0.49116312],
++												 [	-6.21980642, -0.00197989, 0.00120411, 7.21782653, 0.99391921, 0.99681600, 0.49116895],
++												 [	-6.21998950, -0.00197869, 0.00120342, 7.21801081, 0.99392299, 0.99681789, 0.49117474],
++												 [	-6.22017194, -0.00197749, 0.00120272, 7.21819445, 0.99392677, 0.99681979, 0.49118052],
++												 [	-6.22035376, -0.00197630, 0.00120203, 7.21837746, 0.99393054, 0.99682168, 0.49118629],
++												 [	-6.22053495, -0.00197510, 0.00120134, 7.21855985, 0.99393431, 0.99682357, 0.49119203],
++												 [	-6.22071551, -0.00197390, 0.00120064, 7.21874161, 0.99393808, 0.99682545, 0.49119776],
++												 [	-6.22089545, -0.00197271, 0.00119995, 7.21892274, 0.99394184, 0.99682734, 0.49120347],
++												 [	-6.22107477, -0.00197152, 0.00119926, 7.21910325, 0.99394559, 0.99682922, 0.49120916],
++												 [	-6.22125347, -0.00197032, 0.00119857, 7.21928314, 0.99394935, 0.99683111, 0.49121482],
++												 [	-6.22143155, -0.00196913, 0.00119788, 7.21946242, 0.99395309, 0.99683299, 0.49122047],
++												 [	-6.22160902, -0.00196794, 0.00119719, 7.21964107, 0.99395684, 0.99683486, 0.49122611],
++												 [	-6.22178587, -0.00196676, 0.00119650, 7.21981911, 0.99396058, 0.99683674, 0.49123173],
++												 [	-6.22196211, -0.00196557, 0.00119582, 7.21999654, 0.99396431, 0.99683861, 0.49123732],
++												 [	-6.22213774, -0.00196438, 0.00119513, 7.22017336, 0.99396804, 0.99684049, 0.49124290],
++												 [	-6.22231277, -0.00196320, 0.00119444, 7.22034957, 0.99397177, 0.99684236, 0.49124846],
++												 [	-6.22248719, -0.00196202, 0.00119376, 7.22052517, 0.99397549, 0.99684423, 0.49125400],
++												 [	-6.22266101, -0.00196083, 0.00119307, 7.22070017, 0.99397920, 0.99684609, 0.49125953],
++												 [	-6.22283422, -0.00195965, 0.00119239, 7.22087457, 0.99398292, 0.99684796, 0.49126504],
++												 [	-6.22300684, -0.00195848, 0.00119170, 7.22104836, 0.99398663, 0.99684982, 0.49127053],
++												 [	-6.22317886, -0.00195730, 0.00119102, 7.22122156, 0.99399033, 0.99685168, 0.49127600],
++												 [	-6.22335028, -0.00195612, 0.00119034, 7.22139416, 0.99399403, 0.99685354, 0.49128145],
++												 [	-6.22352111, -0.00195495, 0.00118965, 7.22156617, 0.99399773, 0.99685540, 0.49128689],
++												 [	-6.22369135, -0.00195377, 0.00118897, 7.22173758, 0.99400142, 0.99685726, 0.49129231],
++												 [	-6.22386100, -0.00195260, 0.00118829, 7.22190841, 0.99400511, 0.99685911, 0.49129771],
++												 [	-6.22403007, -0.00195143, 0.00118761, 7.22207864, 0.99400879, 0.99686096, 0.49130310],
++												 [	-6.22419854, -0.00195026, 0.00118693, 7.22224829, 0.99401247, 0.99686281, 0.49130846],
++												 [	-6.22436644, -0.00194909, 0.00118625, 7.22241735, 0.99401615, 0.99686466, 0.49131381],
++												 [	-6.22453375, -0.00194792, 0.00118557, 7.22258583, 0.99401982, 0.99686651, 0.49131914],
++												 [	-6.22470048, -0.00194675, 0.00118490, 7.22275373, 0.99402348, 0.99686835, 0.49132446],
++												 [	-6.22486664, -0.00194559, 0.00118422, 7.22292105, 0.99402715, 0.99687019, 0.49132975],
++												 [	-6.22503222, -0.00194442, 0.00118354, 7.22308780, 0.99403081, 0.99687204, 0.49133503],
++												 [	-6.22519722, -0.00194326, 0.00118287, 7.22325396, 0.99403446, 0.99687387, 0.49134030],
++												 [	-6.22536166, -0.00194210, 0.00118219, 7.22341956, 0.99403811, 0.99687571, 0.49134554],
++												 [	-6.22552552, -0.00194094, 0.00118152, 7.22358458, 0.99404176, 0.99687755, 0.49135077],
++												 [	-6.22568881, -0.00193978, 0.00118084, 7.22374904, 0.99404540, 0.99687938, 0.49135598],
++												 [	-6.22585154, -0.00193862, 0.00118017, 7.22391292, 0.99404904, 0.99688121, 0.49136117],
++												 [	-6.22601370, -0.00193746, 0.00117950, 7.22407624, 0.99405267, 0.99688304, 0.49136635],
++												 [	-6.22617531, -0.00193631, 0.00117882, 7.22423900, 0.99405630, 0.99688487, 0.49137152],
++												 [	-6.22633635, -0.00193515, 0.00117815, 7.22440119, 0.99405992, 0.99688670, 0.49137666],
++												 [	-6.22649683, -0.00193400, 0.00117748, 7.22456283, 0.99406354, 0.99688852, 0.49138179],
++												 [	-6.22665675, -0.00193285, 0.00117681, 7.22472390, 0.99406716, 0.99689034, 0.49138690],
++												 [	-6.22681612, -0.00193170, 0.00117614, 7.22488442, 0.99407077, 0.99689216, 0.49139199],
++												 [	-6.22697494, -0.00193055, 0.00117547, 7.22504439, 0.99407438, 0.99689398, 0.49139707],
++												 [	-6.22713320, -0.00192940, 0.00117480, 7.22520380, 0.99407799, 0.99689580, 0.49140214],
++												 [	-6.22729092, -0.00192825, 0.00117413, 7.22536266, 0.99408159, 0.99689762, 0.49140718],
++												 [	-6.22744808, -0.00192711, 0.00117346, 7.22552098, 0.99408519, 0.99689943, 0.49141221],
++												 [	-6.22760470, -0.00192596, 0.00117280, 7.22567874, 0.99408878, 0.99690124, 0.49141723],
++												 [	-6.22776078, -0.00192482, 0.00117213, 7.22583596, 0.99409237, 0.99690305, 0.49142222],
++												 [	-6.22791631, -0.00192368, 0.00117147, 7.22599264, 0.99409595, 0.99690486, 0.49142719],
++												 [	-6.22807131, -0.00192253, 0.00117080, 7.22614877, 0.99409953, 0.99690667, 0.49143216],
++												 [	-6.22822576, -0.00192139, 0.00117014, 7.22630437, 0.99410311, 0.99690847, 0.49143711],
++												 [	-6.22837968, -0.00192026, 0.00116947, 7.22645942, 0.99410668, 0.99691027, 0.49144204],
++												 [	-6.22853306, -0.00191912, 0.00116881, 7.22661394, 0.99411025, 0.99691207, 0.49144696],
++												 [	-6.22868591, -0.00191798, 0.00116815, 7.22676793, 0.99411381, 0.99691387, 0.49145186],
++												 [	-6.22883823, -0.00191685, 0.00116748, 7.22692138, 0.99411737, 0.99691567, 0.49145674],
++												 [	-6.22899002, -0.00191571, 0.00116682, 7.22707430, 0.99412093, 0.99691747, 0.49146161],
++												 [	-6.22914128, -0.00191458, 0.00116616, 7.22722670, 0.99412448, 0.99691926, 0.49146647],
++												 [	-6.22929201, -0.00191345, 0.00116550, 7.22737856, 0.99412803, 0.99692105, 0.49147130],
++												 [	-6.22944222, -0.00191232, 0.00116484, 7.22752990, 0.99413157, 0.99692284, 0.49147613],
++												 [	-6.22959190, -0.00191119, 0.00116418, 7.22768071, 0.99413511, 0.99692463, 0.49148093],
++												 [	-6.22974107, -0.00191006, 0.00116352, 7.22783101, 0.99413865, 0.99692642, 0.49148571],
++												 [	-6.22988971, -0.00190893, 0.00116286, 7.22798078, 0.99414218, 0.99692820, 0.49149049],
++												 [	-6.23003784, -0.00190781, 0.00116221, 7.22813003, 0.99414571, 0.99692998, 0.49149525],
++												 [	-6.23018545, -0.00190669, 0.00116155, 7.22827877, 0.99414924, 0.99693176, 0.49149999],
++												 [	-6.23033255, -0.00190556, 0.00116089, 7.22842699, 0.99415276, 0.99693354, 0.49150472],
++												 [	-6.23047913, -0.00190444, 0.00116024, 7.22857469, 0.99415627, 0.99693532, 0.49150944],
++												 [	-6.23062521, -0.00190332, 0.00115958, 7.22872189, 0.99415978, 0.99693710, 0.49151413],
++												 [	-6.23077077, -0.00190220, 0.00115893, 7.22886857, 0.99416329, 0.99693887, 0.49151881],
++												 [	-6.23091583, -0.00190108, 0.00115828, 7.22901475, 0.99416680, 0.99694064, 0.49152348],
++												 [	-6.23106038, -0.00189996, 0.00115762, 7.22916042, 0.99417030, 0.99694241, 0.49152813],
++												 [	-6.23120443, -0.00189885, 0.00115697, 7.22930558, 0.99417379, 0.99694418, 0.49153277],
++												 [	-6.23134798, -0.00189773, 0.00115632, 7.22945024, 0.99417729, 0.99694595, 0.49153739],
++												 [	-6.23149102, -0.00189662, 0.00115567, 7.22959440, 0.99418078, 0.99694772, 0.49154200],
++												 [	-6.23163357, -0.00189551, 0.00115501, 7.22973806, 0.99418426, 0.99694948, 0.49154659],
++												 [	-6.23177562, -0.00189439, 0.00115436, 7.22988122, 0.99418774, 0.99695124, 0.49155116],
++												 [	-6.23191717, -0.00189328, 0.00115371, 7.23002389, 0.99419122, 0.99695300, 0.49155572],
++												 [	-6.23205823, -0.00189218, 0.00115307, 7.23016606, 0.99419469, 0.99695476, 0.49156028],
++												 [	-6.23219880, -0.00189107, 0.00115242, 7.23030773, 0.99419816, 0.99695652, 0.49156481],
++												 [	-6.23233888, -0.00188996, 0.00115177, 7.23044891, 0.99420163, 0.99695827, 0.49156932],
++												 [	-6.23247846, -0.00188886, 0.00115112, 7.23058961, 0.99420509, 0.99696002, 0.49157383],
++												 [	-6.23261756, -0.00188775, 0.00115047, 7.23072981, 0.99420855, 0.99696177, 0.49157832],
++												 [	-6.23275618, -0.00188665, 0.00114983, 7.23086953, 0.99421200, 0.99696352, 0.49158279],
++												 [	-6.23289431, -0.00188555, 0.00114918, 7.23100876, 0.99421545, 0.99696527, 0.49158725],
++												 [	-6.23303196, -0.00188444, 0.00114854, 7.23114751, 0.99421890, 0.99696702, 0.49159170],
++												 [	-6.23316912, -0.00188334, 0.00114789, 7.23128578, 0.99422234, 0.99696876, 0.49159612],
++												 [	-6.23330581, -0.00188225, 0.00114725, 7.23142357, 0.99422578, 0.99697050, 0.49160053],
++												 [	-6.23344202, -0.00188115, 0.00114661, 7.23156087, 0.99422921, 0.99697225, 0.49160494],
++												 [	-6.23357776, -0.00188005, 0.00114596, 7.23169771, 0.99423264, 0.99697398, 0.49160932],
++												 [	-6.23371302, -0.00187896, 0.00114532, 7.23183406, 0.99423607, 0.99697572, 0.49161370],
++												 [	-6.23384781, -0.00187786, 0.00114468, 7.23196994, 0.99423949, 0.99697746, 0.49161806],
++												 [	-6.23398212, -0.00187677, 0.00114404, 7.23210535, 0.99424291, 0.99697919, 0.49162241],
++												 [	-6.23411597, -0.00187568, 0.00114340, 7.23224029, 0.99424633, 0.99698092, 0.49162674],
++												 [	-6.23424935, -0.00187459, 0.00114276, 7.23237476, 0.99424974, 0.99698265, 0.49163105],
++												 [	-6.23438226, -0.00187350, 0.00114212, 7.23250876, 0.99425315, 0.99698438, 0.49163535],
++												 [	-6.23451471, -0.00187241, 0.00114148, 7.23264230, 0.99425655, 0.99698611, 0.49163964],
++												 [	-6.23464669, -0.00187132, 0.00114084, 7.23277537, 0.99425995, 0.99698783, 0.49164392],
++												 [	-6.23477821, -0.00187024, 0.00114021, 7.23290797, 0.99426335, 0.99698956, 0.49164818],
++												 [	-6.23490927, -0.00186915, 0.00113957, 7.23304012, 0.99426674, 0.99699128, 0.49165242],
++												 [	-6.23503988, -0.00186807, 0.00113893, 7.23317181, 0.99427013, 0.99699300, 0.49165666],
++												 [	-6.23517002, -0.00186698, 0.00113830, 7.23330304, 0.99427352, 0.99699472, 0.49166087],
++												 [	-6.23529971, -0.00186590, 0.00113766, 7.23343381, 0.99427690, 0.99699644, 0.49166508],
++												 [	-6.23542895, -0.00186482, 0.00113703, 7.23356413, 0.99428028, 0.99699815, 0.49166927],
++												 [	-6.23555773, -0.00186374, 0.00113639, 7.23369399, 0.99428365, 0.99699986, 0.49167345],
++												 [	-6.23568606, -0.00186267, 0.00113576, 7.23382340, 0.99428702, 0.99700157, 0.49167762],
++												 [	-6.23581395, -0.00186159, 0.00113513, 7.23395236, 0.99429039, 0.99700328, 0.49168176],
++												 [	-6.23594138, -0.00186051, 0.00113449, 7.23408087, 0.99429375, 0.99700499, 0.49168591],
++												 [	-6.23606837, -0.00185944, 0.00113386, 7.23420893, 0.99429711, 0.99700670, 0.49169003],
++												 [	-6.23619491, -0.00185836, 0.00113323, 7.23433655, 0.99430047, 0.99700840, 0.49169415],
++												 [	-6.23632102, -0.00185729, 0.00113260, 7.23446372, 0.99430382, 0.99701011, 0.49169823],
++												 [	-6.23644667, -0.00185622, 0.00113197, 7.23459045, 0.99430717, 0.99701181, 0.49170232],
++												 [	-6.23657189, -0.00185515, 0.00113134, 7.23471674, 0.99431051, 0.99701351, 0.49170640],
++												 [	-6.23669667, -0.00185408, 0.00113071, 7.23484259, 0.99431385, 0.99701521, 0.49171044],
++												 [	-6.23682101, -0.00185301, 0.00113009, 7.23496800, 0.99431719, 0.99701690, 0.49171449],
++												 [	-6.23694492, -0.00185195, 0.00112946, 7.23509297, 0.99432052, 0.99701860, 0.49171853],
++												 [	-6.23706839, -0.00185088, 0.00112883, 7.23521751, 0.99432385, 0.99702029, 0.49172254],
++												 [	-6.23719143, -0.00184981, 0.00112820, 7.23534161, 0.99432718, 0.99702198, 0.49172655],
++												 [	-6.23731403, -0.00184875, 0.00112758, 7.23546528, 0.99433050, 0.99702367, 0.49173054],
++												 [	-6.23743621, -0.00184769, 0.00112695, 7.23558852, 0.99433382, 0.99702536, 0.49173452],
++												 [	-6.23755795, -0.00184663, 0.00112633, 7.23571133, 0.99433713, 0.99702705, 0.49173848],
++												 [	-6.23767927, -0.00184557, 0.00112570, 7.23583371, 0.99434044, 0.99702873, 0.49174243],
++												 [	-6.23780017, -0.00184451, 0.00112508, 7.23595566, 0.99434375, 0.99703041, 0.49174639],
++												 [	-6.23792064, -0.00184345, 0.00112446, 7.23607719, 0.99434706, 0.99703209, 0.49175031],
++												 [	-6.23804068, -0.00184239, 0.00112383, 7.23619829, 0.99435036, 0.99703377, 0.49175422],
++												 [	-6.23816031, -0.00184134, 0.00112321, 7.23631897, 0.99435365, 0.99703545, 0.49175813],
++												 [	-6.23827952, -0.00184028, 0.00112259, 7.23643923, 0.99435695, 0.99703713, 0.49176201],
++												 [	-6.23839830, -0.00183923, 0.00112197, 7.23655907, 0.99436024, 0.99703880, 0.49176589],
++												 [	-6.23851667, -0.00183817, 0.00112135, 7.23667850, 0.99436352, 0.99704048, 0.49176975],
++												 [	-6.23863462, -0.00183712, 0.00112073, 7.23679750, 0.99436680, 0.99704215, 0.49177361],
++												 [	-6.23875216, -0.00183607, 0.00112011, 7.23691609, 0.99437008, 0.99704382, 0.49177744],
++												 [	-6.23886929, -0.00183502, 0.00111949, 7.23703427, 0.99437336, 0.99704548, 0.49178127],
++												 [	-6.23898600, -0.00183398, 0.00111887, 7.23715203, 0.99437663, 0.99704715, 0.49178508],
++												 [	-6.23910231, -0.00183293, 0.00111826, 7.23726938, 0.99437990, 0.99704881, 0.49178889],
++												 [	-6.23921820, -0.00183188, 0.00111764, 7.23738632, 0.99438316, 0.99705048, 0.49179268],
++												 [	-6.23933369, -0.00183084, 0.00111702, 7.23750286, 0.99438642, 0.99705214, 0.49179645],
++												 [	-6.23944877, -0.00182979, 0.00111641, 7.23761898, 0.99438968, 0.99705380, 0.49180022],
++												 [	-6.23956345, -0.00182875, 0.00111579, 7.23773470, 0.99439293, 0.99705546, 0.49180397],
++												 [	-6.23967773, -0.00182771, 0.00111518, 7.23785002, 0.99439618, 0.99705711, 0.49180771],
++												 [	-6.23979160, -0.00182667, 0.00111456, 7.23796493, 0.99439943, 0.99705877, 0.49181144],
++												 [	-6.23990507, -0.00182563, 0.00111395, 7.23807944, 0.99440267, 0.99706042, 0.49181516],
++												 [	-6.24001814, -0.00182459, 0.00111334, 7.23819355, 0.99440591, 0.99706207, 0.49181886],
++												 [	-6.24013082, -0.00182355, 0.00111273, 7.23830726, 0.99440915, 0.99706372, 0.49182255],
++												 [	-6.24024309, -0.00182251, 0.00111211, 7.23842058, 0.99441238, 0.99706537, 0.49182623],
++												 [	-6.24035498, -0.00182148, 0.00111150, 7.23853350, 0.99441561, 0.99706702, 0.49182990],
++												 [	-6.24046647, -0.00182045, 0.00111089, 7.23864602, 0.99441884, 0.99706866, 0.49183355],
++												 [	-6.24057756, -0.00181941, 0.00111028, 7.23875815, 0.99442206, 0.99707031, 0.49183719],
++												 [	-6.24068827, -0.00181838, 0.00110967, 7.23886989, 0.99442528, 0.99707195, 0.49184083],
++												 [	-6.24079858, -0.00181735, 0.00110906, 7.23898123, 0.99442849, 0.99707359, 0.49184446],
++												 [	-6.24090851, -0.00181632, 0.00110846, 7.23909219, 0.99443170, 0.99707523, 0.49184806],
++												 [	-6.24101805, -0.00181529, 0.00110785, 7.23920276, 0.99443491, 0.99707686, 0.49185165],
++												 [	-6.24112720, -0.00181426, 0.00110724, 7.23931294, 0.99443812, 0.99707850, 0.49185524],
++												 [	-6.24123597, -0.00181324, 0.00110663, 7.23942274, 0.99444132, 0.99708013, 0.49185881],
++												 [	-6.24134436, -0.00181221, 0.00110603, 7.23953215, 0.99444451, 0.99708176, 0.49186237],
++												 [	-6.24145237, -0.00181118, 0.00110542, 7.23964118, 0.99444771, 0.99708339, 0.49186593],
++												 [	-6.24155999, -0.00181016, 0.00110482, 7.23974983, 0.99445090, 0.99708502, 0.49186947],
++												 [	-6.24166723, -0.00180914, 0.00110421, 7.23985810, 0.99445408, 0.99708665, 0.49187299],
++												 [	-6.24177410, -0.00180812, 0.00110361, 7.23996598, 0.99445727, 0.99708828, 0.49187651],
++												 [	-6.24188059, -0.00180710, 0.00110300, 7.24007349, 0.99446045, 0.99708990, 0.49188001],
++												 [	-6.24198671, -0.00180608, 0.00110240, 7.24018063, 0.99446363, 0.99709152, 0.49188351],
++												 [	-6.24209245, -0.00180506, 0.00110180, 7.24028739, 0.99446680, 0.99709314, 0.49188699],
++												 [	-6.24219781, -0.00180404, 0.00110120, 7.24039377, 0.99446997, 0.99709476, 0.49189046],
++												 [	-6.24230281, -0.00180302, 0.00110060, 7.24049978, 0.99447313, 0.99709638, 0.49189392],
++												 [	-6.24240743, -0.00180201, 0.00110000, 7.24060543, 0.99447630, 0.99709800, 0.49189737],
++												 [	-6.24251169, -0.00180100, 0.00109940, 7.24071070, 0.99447946, 0.99709961, 0.49190081],
++												 [	-6.24261558, -0.00179998, 0.00109880, 7.24081560, 0.99448261, 0.99710122, 0.49190424],
++												 [	-6.24271910, -0.00179897, 0.00109820, 7.24092013, 0.99448577, 0.99710283, 0.49190765],
++												 [	-6.24282226, -0.00179796, 0.00109760, 7.24102430, 0.99448891, 0.99710444, 0.49191105],
++												 [	-6.24292505, -0.00179695, 0.00109700, 7.24112810, 0.99449206, 0.99710605, 0.49191444],
++												 [	-6.24302748, -0.00179594, 0.00109640, 7.24123154, 0.99449520, 0.99710766, 0.49191782],
++												 [	-6.24312955, -0.00179493, 0.00109581, 7.24133462, 0.99449834, 0.99710926, 0.49192119],
++												 [	-6.24323126, -0.00179392, 0.00109521, 7.24143733, 0.99450148, 0.99711087, 0.49192455],
++												 [	-6.24333261, -0.00179292, 0.00109461, 7.24153969, 0.99450461, 0.99711247, 0.49192789],
++												 [	-6.24343360, -0.00179191, 0.00109402, 7.24164168, 0.99450774, 0.99711407, 0.49193123],
++												 [	-6.24353423, -0.00179091, 0.00109342, 7.24174332, 0.99451086, 0.99711567, 0.49193456],
++												 [	-6.24363451, -0.00178991, 0.00109283, 7.24184460, 0.99451399, 0.99711726, 0.49193787],
++												 [	-6.24373444, -0.00178891, 0.00109224, 7.24194553, 0.99451711, 0.99711886, 0.49194119],
++												 [	-6.24383401, -0.00178790, 0.00109164, 7.24204610, 0.99452022, 0.99712045, 0.49194448],
++												 [	-6.24393323, -0.00178690, 0.00109105, 7.24214632, 0.99452333, 0.99712204, 0.49194776],
++												 [	-6.24403210, -0.00178591, 0.00109046, 7.24224619, 0.99452644, 0.99712364, 0.49195103],
++												 [	-6.24413062, -0.00178491, 0.00108987, 7.24234571, 0.99452955, 0.99712522, 0.49195429],
++												 [	-6.24422879, -0.00178391, 0.00108928, 7.24244488, 0.99453265, 0.99712681, 0.49195755],
++												 [	-6.24432661, -0.00178292, 0.00108869, 7.24254370, 0.99453575, 0.99712840, 0.49196079],
++												 [	-6.24442409, -0.00178192, 0.00108810, 7.24264217, 0.99453884, 0.99712998, 0.49196402],
++												 [	-6.24452123, -0.00178093, 0.00108751, 7.24274030, 0.99454194, 0.99713157, 0.49196723],
++												 [	-6.24461802, -0.00177993, 0.00108692, 7.24283808, 0.99454502, 0.99713315, 0.49197045],
++												 [	-6.24471446, -0.00177894, 0.00108633, 7.24293552, 0.99454811, 0.99713473, 0.49197365],
++												 [	-6.24481057, -0.00177795, 0.00108574, 7.24303262, 0.99455119, 0.99713630, 0.49197684],
++												 [	-6.24490634, -0.00177696, 0.00108516, 7.24312938, 0.99455427, 0.99713788, 0.49198002],
++												 [	-6.24500177, -0.00177597, 0.00108457, 7.24322579, 0.99455735, 0.99713946, 0.49198318],
++												 [	-6.24509686, -0.00177499, 0.00108398, 7.24332187, 0.99456042, 0.99714103, 0.49198634],
++												 [	-6.24519161, -0.00177400, 0.00108340, 7.24341761, 0.99456349, 0.99714260, 0.49198949],
++												 [	-6.24528603, -0.00177301, 0.00108281, 7.24351302, 0.99456655, 0.99714417, 0.49199263],
++												 [	-6.24538012, -0.00177203, 0.00108223, 7.24360809, 0.99456961, 0.99714574, 0.49199575],
++												 [	-6.24547387, -0.00177105, 0.00108164, 7.24370283, 0.99457267, 0.99714731, 0.49199887],
++												 [	-6.24556729, -0.00177006, 0.00108106, 7.24379723, 0.99457573, 0.99714887, 0.49200198],
++												 [	-6.24566038, -0.00176908, 0.00108048, 7.24389130, 0.99457878, 0.99715044, 0.49200507],
++												 [	-6.24575314, -0.00176810, 0.00107990, 7.24398504, 0.99458183, 0.99715200, 0.49200817],
++												 [	-6.24584557, -0.00176712, 0.00107931, 7.24407845, 0.99458488, 0.99715356, 0.49201123],
++												 [	-6.24593768, -0.00176614, 0.00107873, 7.24417153, 0.99458792, 0.99715512, 0.49201431],
++												 [	-6.24602946, -0.00176517, 0.00107815, 7.24426429, 0.99459096, 0.99715668, 0.49201737],
++												 [	-6.24612091, -0.00176419, 0.00107757, 7.24435672, 0.99459400, 0.99715824, 0.49202041],
++												 [	-6.24621204, -0.00176321, 0.00107699, 7.24444883, 0.99459703, 0.99715979, 0.49202344],
++												 [	-6.24630285, -0.00176224, 0.00107641, 7.24454061, 0.99460006, 0.99716135, 0.49202647],
++												 [	-6.24639333, -0.00176127, 0.00107584, 7.24463206, 0.99460309, 0.99716290, 0.49202949],
++												 [	-6.24648350, -0.00176029, 0.00107526, 7.24472320, 0.99460611, 0.99716445, 0.49203250],
++												 [	-6.24657334, -0.00175932, 0.00107468, 7.24481402, 0.99460913, 0.99716600, 0.49203550],
++												 [	-6.24666287, -0.00175835, 0.00107410, 7.24490451, 0.99461215, 0.99716755, 0.49203848],
++												 [	-6.24675208, -0.00175738, 0.00107353, 7.24499469, 0.99461516, 0.99716909, 0.49204146],
++												 [	-6.24684097, -0.00175641, 0.00107295, 7.24508455, 0.99461817, 0.99717064, 0.49204443],
++												 [	-6.24692955, -0.00175545, 0.00107238, 7.24517410, 0.99462118, 0.99717218, 0.49204739],
++												 [	-6.24701781, -0.00175448, 0.00107180, 7.24526333, 0.99462418, 0.99717372, 0.49205033],
++												 [	-6.24710576, -0.00175351, 0.00107123, 7.24535225, 0.99462718, 0.99717526, 0.49205328],
++												 [	-6.24719340, -0.00175255, 0.00107065, 7.24544085, 0.99463018, 0.99717680, 0.49205621],
++												 [	-6.24728073, -0.00175158, 0.00107008, 7.24552914, 0.99463317, 0.99717834, 0.49205913],
++												 [	-6.24736775, -0.00175062, 0.00106951, 7.24561712, 0.99463617, 0.99717987, 0.49206204],
++												 [	-6.24745446, -0.00174966, 0.00106893, 7.24570479, 0.99463915, 0.99718141, 0.49206494],
++												 [	-6.24754086, -0.00174870, 0.00106836, 7.24579216, 0.99464214, 0.99718294, 0.49206783],
++												 [	-6.24762695, -0.00174774, 0.00106779, 7.24587921, 0.99464512, 0.99718447, 0.49207072],
++												 [	-6.24771274, -0.00174678, 0.00106722, 7.24596596, 0.99464810, 0.99718600, 0.49207359],
++												 [	-6.24779823, -0.00174582, 0.00106665, 7.24605241, 0.99465108, 0.99718753, 0.49207645],
++												 [	-6.24788341, -0.00174487, 0.00106608, 7.24613854, 0.99465405, 0.99718905, 0.49207931],
++												 [	-6.24796829, -0.00174391, 0.00106551, 7.24622438, 0.99465702, 0.99719058, 0.49208216],
++												 [	-6.24805287, -0.00174296, 0.00106494, 7.24630991, 0.99465998, 0.99719210, 0.49208499],
++												 [	-6.24813715, -0.00174200, 0.00106438, 7.24639515, 0.99466295, 0.99719362, 0.49208783],
++												 [	-6.24822113, -0.00174105, 0.00106381, 7.24648008, 0.99466591, 0.99719514, 0.49209064],
++												 [	-6.24830481, -0.00174010, 0.00106324, 7.24656471, 0.99466886, 0.99719666, 0.49209345],
++												 [	-6.24838819, -0.00173915, 0.00106267, 7.24664905, 0.99467182, 0.99719818, 0.49209625],
++												 [	-6.24847128, -0.00173819, 0.00106211, 7.24673309, 0.99467477, 0.99719970, 0.49209904],
++												 [	-6.24855407, -0.00173725, 0.00106154, 7.24681683, 0.99467771, 0.99720121, 0.49210182],
++												 [	-6.24863657, -0.00173630, 0.00106098, 7.24690027, 0.99468066, 0.99720272, 0.49210459],
++												 [	-6.24871878, -0.00173535, 0.00106041, 7.24698343, 0.99468360, 0.99720424, 0.49210735],
++												 [	-6.24880069, -0.00173440, 0.00105985, 7.24706629, 0.99468654, 0.99720575, 0.49211010],
++												 [	-6.24888231, -0.00173346, 0.00105929, 7.24714886, 0.99468947, 0.99720725, 0.49211286],
++												 [	-6.24896365, -0.00173251, 0.00105872, 7.24723113, 0.99469240, 0.99720876, 0.49211559],
++												 [	-6.24904469, -0.00173157, 0.00105816, 7.24731312, 0.99469533, 0.99721027, 0.49211832],
++												 [	-6.24912545, -0.00173063, 0.00105760, 7.24739482, 0.99469826, 0.99721177, 0.49212104],
++												 [	-6.24920591, -0.00172969, 0.00105704, 7.24747623, 0.99470118, 0.99721327, 0.49212375],
++												 [	-6.24928610, -0.00172875, 0.00105648, 7.24755735, 0.99470410, 0.99721478, 0.49212645],
++												 [	-6.24936599, -0.00172781, 0.00105592, 7.24763819, 0.99470702, 0.99721628, 0.49212915],
++												 [	-6.24944561, -0.00172687, 0.00105536, 7.24771874, 0.99470993, 0.99721777, 0.49213183],
++												 [	-6.24952494, -0.00172593, 0.00105480, 7.24779901, 0.99471284, 0.99721927, 0.49213451],
++												 [	-6.24960399, -0.00172499, 0.00105424, 7.24787899, 0.99471575, 0.99722077, 0.49213717],
++												 [	-6.24968275, -0.00172406, 0.00105368, 7.24795870, 0.99471865, 0.99722226, 0.49213983],
++												 [	-6.24976124, -0.00172312, 0.00105312, 7.24803812, 0.99472155, 0.99722375, 0.49214248],
++												 [	-6.24983945, -0.00172219, 0.00105257, 7.24811726, 0.99472445, 0.99722524, 0.49214512],
++												 [	-6.24991738, -0.00172126, 0.00105201, 7.24819612, 0.99472735, 0.99722673, 0.49214776],
++												 [	-6.24999503, -0.00172032, 0.00105145, 7.24827471, 0.99473024, 0.99722822, 0.49215038],
++												 [	-6.25007241, -0.00171939, 0.00105090, 7.24835302, 0.99473313, 0.99722971, 0.49215299],
++												 [	-6.25014951, -0.00171846, 0.00105034, 7.24843105, 0.99473601, 0.99723119, 0.49215561],
++												 [	-6.25022634, -0.00171753, 0.00104979, 7.24850880, 0.99473890, 0.99723268, 0.49215820],
++												 [	-6.25030289, -0.00171660, 0.00104923, 7.24858628, 0.99474178, 0.99723416, 0.49216079],
++												 [	-6.25037917, -0.00171568, 0.00104868, 7.24866349, 0.99474465, 0.99723564, 0.49216338],
++												 [	-6.25045518, -0.00171475, 0.00104813, 7.24874043, 0.99474753, 0.99723712, 0.49216595],
++												 [	-6.25053092, -0.00171382, 0.00104758, 7.24881709, 0.99475040, 0.99723860, 0.49216851],
++												 [	-6.25060639, -0.00171290, 0.00104702, 7.24889349, 0.99475327, 0.99724008, 0.49217106],
++												 [	-6.25068159, -0.00171198, 0.00104647, 7.24896961, 0.99475613, 0.99724155, 0.49217362],
++												 [	-6.25075652, -0.00171105, 0.00104592, 7.24904547, 0.99475899, 0.99724303, 0.49217616],
++												 [	-6.25083119, -0.00171013, 0.00104537, 7.24912106, 0.99476185, 0.99724450, 0.49217869],
++												 [	-6.25090559, -0.00170921, 0.00104482, 7.24919638, 0.99476471, 0.99724597, 0.49218121],
++												 [	-6.25097972, -0.00170829, 0.00104427, 7.24927143, 0.99476756, 0.99724744, 0.49218373],
++												 [	-6.25105359, -0.00170737, 0.00104372, 7.24934622, 0.99477041, 0.99724891, 0.49218624],
++												 [	-6.25112720, -0.00170645, 0.00104317, 7.24942075, 0.99477326, 0.99725037, 0.49218873],
++												 [	-6.25120055, -0.00170554, 0.00104262, 7.24949501, 0.99477610, 0.99725184, 0.49219122],
++												 [	-6.25127363, -0.00170462, 0.00104208, 7.24956901, 0.99477894, 0.99725330, 0.49219371],
++												 [	-6.25134646, -0.00170370, 0.00104153, 7.24964275, 0.99478178, 0.99725477, 0.49219618],
++												 [	-6.25141902, -0.00170279, 0.00104098, 7.24971623, 0.99478462, 0.99725623, 0.49219865],
++												 [	-6.25149133, -0.00170188, 0.00104044, 7.24978945, 0.99478745, 0.99725769, 0.49220112],
++												 [	-6.25156338, -0.00170096, 0.00103989, 7.24986241, 0.99479028, 0.99725915, 0.49220356],
++												 [	-6.25163517, -0.00170005, 0.00103935, 7.24993512, 0.99479311, 0.99726060, 0.49220600],
++												 [	-6.25170670, -0.00169914, 0.00103880, 7.25000756, 0.99479593, 0.99726206, 0.49220844],
++												 [	-6.25177798, -0.00169823, 0.00103826, 7.25007975, 0.99479875, 0.99726351, 0.49221087],
++												 [	-6.25184901, -0.00169732, 0.00103771, 7.25015169, 0.99480157, 0.99726496, 0.49221329],
++												 [	-6.25191978, -0.00169641, 0.00103717, 7.25022337, 0.99480438, 0.99726642, 0.49221570],
++												 [	-6.25199031, -0.00169551, 0.00103663, 7.25029480, 0.99480719, 0.99726787, 0.49221811],
++												 [	-6.25206057, -0.00169460, 0.00103609, 7.25036598, 0.99481000, 0.99726931, 0.49222050],
++												 [	-6.25213059, -0.00169369, 0.00103555, 7.25043690, 0.99481281, 0.99727076, 0.49222289],
++												 [	-6.25220036, -0.00169279, 0.00103500, 7.25050757, 0.99481561, 0.99727221, 0.49222527],
++												 [	-6.25226988, -0.00169189, 0.00103446, 7.25057800, 0.99481841, 0.99727365, 0.49222765],
++												 [	-6.25233916, -0.00169098, 0.00103392, 7.25064817, 0.99482121, 0.99727509, 0.49223001],
++												 [	-6.25240818, -0.00169008, 0.00103338, 7.25071810, 0.99482400, 0.99727653, 0.49223237],
++												 [	-6.25247696, -0.00168918, 0.00103285, 7.25078778, 0.99482680, 0.99727797, 0.49223472],
++												 [	-6.25254550, -0.00168828, 0.00103231, 7.25085722, 0.99482958, 0.99727941, 0.49223706],
++												 [	-6.25261379, -0.00168738, 0.00103177, 7.25092640, 0.99483237, 0.99728085, 0.49223939],
++												 [	-6.25268183, -0.00168648, 0.00103123, 7.25099535, 0.99483515, 0.99728229, 0.49224172],
++												 [	-6.25274963, -0.00168559, 0.00103069, 7.25106405, 0.99483793, 0.99728372, 0.49224404],
++												 [	-6.25281720, -0.00168469, 0.00103016, 7.25113251, 0.99484071, 0.99728515, 0.49224636],
++												 [	-6.25288452, -0.00168379, 0.00102962, 7.25120072, 0.99484348, 0.99728659, 0.49224866],
++												 [	-6.25295160, -0.00168290, 0.00102909, 7.25126870, 0.99484626, 0.99728802, 0.49225097],
++												 [	-6.25301844, -0.00168200, 0.00102855, 7.25133643, 0.99484902, 0.99728945, 0.49225325],
++												 [	-6.25308504, -0.00168111, 0.00102802, 7.25140393, 0.99485179, 0.99729087, 0.49225553],
++												 [	-6.25315140, -0.00168022, 0.00102748, 7.25147118, 0.99485455, 0.99729230, 0.49225780],
++												 [	-6.25321753, -0.00167933, 0.00102695, 7.25153820, 0.99485731, 0.99729372, 0.49226008],
++												 [	-6.25328342, -0.00167844, 0.00102641, 7.25160498, 0.99486007, 0.99729515, 0.49226233],
++												 [	-6.25334907, -0.00167755, 0.00102588, 7.25167153, 0.99486282, 0.99729657, 0.49226459],
++												 [	-6.25341450, -0.00167666, 0.00102535, 7.25173784, 0.99486558, 0.99729799, 0.49226684],
++												 [	-6.25347968, -0.00167577, 0.00102482, 7.25180391, 0.99486832, 0.99729941, 0.49226907],
++												 [	-6.25354464, -0.00167489, 0.00102429, 7.25186975, 0.99487107, 0.99730083, 0.49227131],
++												 [	-6.25360936, -0.00167400, 0.00102376, 7.25193536, 0.99487381, 0.99730224, 0.49227354],
++												 [	-6.25367385, -0.00167312, 0.00102323, 7.25200074, 0.99487655, 0.99730366, 0.49227575],
++												 [	-6.25373811, -0.00167223, 0.00102270, 7.25206588, 0.99487929, 0.99730507, 0.49227796],
++												 [	-6.25380215, -0.00167135, 0.00102217, 7.25213080, 0.99488202, 0.99730649, 0.49228016],
++												 [	-6.25386595, -0.00167047, 0.00102164, 7.25219548, 0.99488476, 0.99730790, 0.49228236],
++												 [	-6.25392952, -0.00166958, 0.00102111, 7.25225994, 0.99488749, 0.99730931, 0.49228455],
++												 [	-6.25399287, -0.00166870, 0.00102058, 7.25232417, 0.99489021, 0.99731072, 0.49228673],
++												 [	-6.25405599, -0.00166782, 0.00102005, 7.25238817, 0.99489294, 0.99731212, 0.49228892],
++												 [	-6.25411889, -0.00166694, 0.00101953, 7.25245194, 0.99489566, 0.99731353, 0.49229108],
++												 [	-6.25418156, -0.00166607, 0.00101900, 7.25251549, 0.99489837, 0.99731493, 0.49229324],
++												 [	-6.25424401, -0.00166519, 0.00101847, 7.25257882, 0.99490109, 0.99731634, 0.49229539],
++												 [	-6.25430623, -0.00166431, 0.00101795, 7.25264192, 0.99490380, 0.99731774, 0.49229754],
++												 [	-6.25436823, -0.00166344, 0.00101742, 7.25270479, 0.99490651, 0.99731914, 0.49229968],
++												 [	-6.25443001, -0.00166256, 0.00101690, 7.25276745, 0.99490922, 0.99732054, 0.49230182],
++												 [	-6.25449157, -0.00166169, 0.00101638, 7.25282988, 0.99491192, 0.99732194, 0.49230394],
++												 [	-6.25455291, -0.00166082, 0.00101585, 7.25289209, 0.99491462, 0.99732333, 0.49230606],
++												 [	-6.25461403, -0.00165994, 0.00101533, 7.25295408, 0.99491732, 0.99732473, 0.49230817],
++												 [	-6.25467493, -0.00165907, 0.00101481, 7.25301586, 0.99492002, 0.99732612, 0.49231027],
++												 [	-6.25473561, -0.00165820, 0.00101428, 7.25307741, 0.99492271, 0.99732751, 0.49231238],
++												 [	-6.25479608, -0.00165733, 0.00101376, 7.25313874, 0.99492540, 0.99732890, 0.49231446],
++												 [	-6.25485633, -0.00165647, 0.00101324, 7.25319986, 0.99492809, 0.99733029, 0.49231656],
++												 [	-6.25491636, -0.00165560, 0.00101272, 7.25326076, 0.99493077, 0.99733168, 0.49231863],
++												 [	-6.25497618, -0.00165473, 0.00101220, 7.25332145, 0.99493345, 0.99733307, 0.49232070],
++												 [	-6.25503579, -0.00165386, 0.00101168, 7.25338192, 0.99493613, 0.99733445, 0.49232277],
++												 [	-6.25509518, -0.00165300, 0.00101116, 7.25344218, 0.99493881, 0.99733584, 0.49232483],
++												 [	-6.25515436, -0.00165214, 0.00101064, 7.25350222, 0.99494148, 0.99733722, 0.49232688],
++												 [	-6.25521333, -0.00165127, 0.00101012, 7.25356206, 0.99494415, 0.99733860, 0.49232894],
++												 [	-6.25527209, -0.00165041, 0.00100961, 7.25362168, 0.99494682, 0.99733998, 0.49233097],
++												 [	-6.25533063, -0.00164955, 0.00100909, 7.25368108, 0.99494949, 0.99734136, 0.49233301],
++												 [	-6.25538897, -0.00164869, 0.00100857, 7.25374028, 0.99495215, 0.99734274, 0.49233504],
++												 [	-6.25544710, -0.00164783, 0.00100806, 7.25379927, 0.99495481, 0.99734412, 0.49233704],
++												 [	-6.25550502, -0.00164697, 0.00100754, 7.25385805, 0.99495747, 0.99734549, 0.49233906],
++												 [	-6.25556273, -0.00164611, 0.00100702, 7.25391662, 0.99496012, 0.99734687, 0.49234107],
++												 [	-6.25562024, -0.00164525, 0.00100651, 7.25397499, 0.99496278, 0.99734824, 0.49234308],
++												 [	-6.25567754, -0.00164440, 0.00100599, 7.25403314, 0.99496543, 0.99734961, 0.49234506],
++												 [	-6.25573464, -0.00164354, 0.00100548, 7.25409110, 0.99496807, 0.99735098, 0.49234706],
++												 [	-6.25579153, -0.00164268, 0.00100497, 7.25414884, 0.99497072, 0.99735235, 0.49234904],
++												 [	-6.25584821, -0.00164183, 0.00100445, 7.25420638, 0.99497336, 0.99735372, 0.49235101],
++												 [	-6.25590470, -0.00164098, 0.00100394, 7.25426372, 0.99497600, 0.99735508, 0.49235297],
++												 [	-6.25596098, -0.00164012, 0.00100343, 7.25432086, 0.99497863, 0.99735645, 0.49235495],
++												 [	-6.25601706, -0.00163927, 0.00100292, 7.25437779, 0.99498127, 0.99735781, 0.49235690],
++												 [	-6.25607294, -0.00163842, 0.00100241, 7.25443452, 0.99498390, 0.99735917, 0.49235884],
++												 [	-6.25612862, -0.00163757, 0.00100189, 7.25449105, 0.99498652, 0.99736053, 0.49236079],
++												 [	-6.25618410, -0.00163672, 0.00100138, 7.25454738, 0.99498915, 0.99736189, 0.49236272],
++												 [	-6.25623938, -0.00163587, 0.00100087, 7.25460351, 0.99499177, 0.99736325, 0.49236466],
++												 [	-6.25629447, -0.00163503, 0.00100036, 7.25465944, 0.99499439, 0.99736461, 0.49236658],
++												 [	-6.25634936, -0.00163418, 0.00099986, 7.25471518, 0.99499701, 0.99736596, 0.49236850],
++												 [	-6.25640405, -0.00163333, 0.00099935, 7.25477071, 0.99499963, 0.99736732, 0.49237042],
++												 [	-6.25645854, -0.00163249, 0.00099884, 7.25482605, 0.99500224, 0.99736867, 0.49237232],
++												 [	-6.25651284, -0.00163164, 0.00099833, 7.25488119, 0.99500485, 0.99737002, 0.49237422],
++												 [	-6.25656694, -0.00163080, 0.00099782, 7.25493614, 0.99500745, 0.99737137, 0.49237612],
++												 [	-6.25662085, -0.00162996, 0.00099732, 7.25499089, 0.99501006, 0.99737272, 0.49237800],
++												 [	-6.25667457, -0.00162912, 0.00099681, 7.25504545, 0.99501266, 0.99737407, 0.49237989],
++												 [	-6.25672809, -0.00162828, 0.00099631, 7.25509982, 0.99501526, 0.99737542, 0.49238176],
++												 [	-6.25678143, -0.00162744, 0.00099580, 7.25515399, 0.99501786, 0.99737676, 0.49238364],
++												 [	-6.25683457, -0.00162660, 0.00099530, 7.25520797, 0.99502045, 0.99737811, 0.49238550],
++												 [	-6.25688752, -0.00162576, 0.00099479, 7.25526176, 0.99502304, 0.99737945, 0.49238736],
++												 [	-6.25694028, -0.00162492, 0.00099429, 7.25531536, 0.99502563, 0.99738079, 0.49238921],
++												 [	-6.25699285, -0.00162408, 0.00099378, 7.25536877, 0.99502822, 0.99738213, 0.49239105],
++												 [	-6.25704524, -0.00162325, 0.00099328, 7.25542199, 0.99503080, 0.99738347, 0.49239289],
++												 [	-6.25709743, -0.00162241, 0.00099278, 7.25547502, 0.99503338, 0.99738481, 0.49239473],
++												 [	-6.25714944, -0.00162158, 0.00099228, 7.25552786, 0.99503596, 0.99738615, 0.49239656],
++												 [	-6.25720127, -0.00162074, 0.00099177, 7.25558052, 0.99503853, 0.99738748, 0.49239838],
++												 [	-6.25725290, -0.00161991, 0.00099127, 7.25563299, 0.99504111, 0.99738881, 0.49240020],
++												 [	-6.25730435, -0.00161908, 0.00099077, 7.25568527, 0.99504368, 0.99739015, 0.49240201],
++												 [	-6.25735562, -0.00161825, 0.00099027, 7.25573737, 0.99504625, 0.99739148, 0.49240381],
++												 [	-6.25740670, -0.00161742, 0.00098977, 7.25578929, 0.99504881, 0.99739281, 0.49240561],
++												 [	-6.25745761, -0.00161659, 0.00098927, 7.25584102, 0.99505137, 0.99739414, 0.49240741],
++												 [	-6.25750832, -0.00161576, 0.00098877, 7.25589256, 0.99505393, 0.99739547, 0.49240919],
++												 [	-6.25755886, -0.00161493, 0.00098828, 7.25594393, 0.99505649, 0.99739679, 0.49241098],
++												 [	-6.25760921, -0.00161411, 0.00098778, 7.25599511, 0.99505905, 0.99739812, 0.49241276],
++												 [	-6.25765939, -0.00161328, 0.00098728, 7.25604611, 0.99506160, 0.99739944, 0.49241453],
++												 [	-6.25770938, -0.00161245, 0.00098678, 7.25609693, 0.99506415, 0.99740076, 0.49241630],
++												 [	-6.25775920, -0.00161163, 0.00098629, 7.25614757, 0.99506670, 0.99740209, 0.49241806],
++												 [	-6.25780883, -0.00161080, 0.00098579, 7.25619803, 0.99506924, 0.99740341, 0.49241981],
++												 [	-6.25785829, -0.00160998, 0.00098529, 7.25624831, 0.99507179, 0.99740472, 0.49242156],
++												 [	-6.25790757, -0.00160916, 0.00098480, 7.25629841, 0.99507433, 0.99740604, 0.49242330],
++												 [	-6.25795667, -0.00160834, 0.00098430, 7.25634834, 0.99507686, 0.99740736, 0.49242504],
++												 [	-6.25800560, -0.00160752, 0.00098381, 7.25639808, 0.99507940, 0.99740867, 0.49242678],
++												 [	-6.25805435, -0.00160670, 0.00098332, 7.25644766, 0.99508193, 0.99740999, 0.49242849],
++												 [	-6.25810293, -0.00160588, 0.00098282, 7.25649705, 0.99508446, 0.99741130, 0.49243022],
++												 [	-6.25815133, -0.00160506, 0.00098233, 7.25654627, 0.99508699, 0.99741261, 0.49243193],
++												 [	-6.25819956, -0.00160424, 0.00098184, 7.25659532, 0.99508951, 0.99741392, 0.49243365],
++												 [	-6.25824762, -0.00160342, 0.00098134, 7.25664419, 0.99509203, 0.99741523, 0.49243535],
++												 [	-6.25829550, -0.00160261, 0.00098085, 7.25669289, 0.99509455, 0.99741654, 0.49243704],
++												 [	-6.25834321, -0.00160179, 0.00098036, 7.25674142, 0.99509707, 0.99741784, 0.49243875],
++												 [	-6.25839075, -0.00160098, 0.00097987, 7.25678978, 0.99509959, 0.99741915, 0.49244043],
++												 [	-6.25843812, -0.00160017, 0.00097938, 7.25683796, 0.99510210, 0.99742045, 0.49244213],
++												 [	-6.25848532, -0.00159935, 0.00097889, 7.25688597, 0.99510461, 0.99742176, 0.49244379],
++												 [	-6.25853235, -0.00159854, 0.00097840, 7.25693381, 0.99510712, 0.99742306, 0.49244547],
++												 [	-6.25857922, -0.00159773, 0.00097791, 7.25698149, 0.99510962, 0.99742436, 0.49244714],
++												 [	-6.25862591, -0.00159692, 0.00097742, 7.25702899, 0.99511212, 0.99742566, 0.49244880],
++												 [	-6.25867244, -0.00159611, 0.00097693, 7.25707633, 0.99511462, 0.99742696, 0.49245046],
++												 [	-6.25871879, -0.00159530, 0.00097645, 7.25712350, 0.99511712, 0.99742825, 0.49245210],
++												 [	-6.25876499, -0.00159449, 0.00097596, 7.25717050, 0.99511962, 0.99742955, 0.49245376],
++												 [	-6.25881101, -0.00159368, 0.00097547, 7.25721733, 0.99512211, 0.99743084, 0.49245539],
++												 [	-6.25885688, -0.00159288, 0.00097499, 7.25726400, 0.99512460, 0.99743214, 0.49245702],
++												 [	-6.25890257, -0.00159207, 0.00097450, 7.25731050, 0.99512709, 0.99743343, 0.49245866],
++												 [	-6.25894810, -0.00159127, 0.00097402, 7.25735684, 0.99512957, 0.99743472, 0.49246028],
++												 [	-6.25899347, -0.00159046, 0.00097353, 7.25740301, 0.99513205, 0.99743601, 0.49246190],
++												 [	-6.25903868, -0.00158966, 0.00097305, 7.25744902, 0.99513453, 0.99743730, 0.49246352],
++												 [	-6.25908372, -0.00158886, 0.00097256, 7.25749487, 0.99513701, 0.99743858, 0.49246513],
++												 [	-6.25912861, -0.00158805, 0.00097208, 7.25754055, 0.99513949, 0.99743987, 0.49246673],
++												 [	-6.25917333, -0.00158725, 0.00097159, 7.25758607, 0.99514196, 0.99744115, 0.49246833],
++												 [	-6.25921789, -0.00158645, 0.00097111, 7.25763144, 0.99514443, 0.99744244, 0.49246993],
++												 [	-6.25926229, -0.00158565, 0.00097063, 7.25767664, 0.99514690, 0.99744372, 0.49247152],
++												 [	-6.25930653, -0.00158485, 0.00097015, 7.25772168, 0.99514936, 0.99744500, 0.49247309],
++												 [	-6.25935061, -0.00158406, 0.00096966, 7.25776656, 0.99515183, 0.99744628, 0.49247468],
++												 [	-6.25939453, -0.00158326, 0.00096918, 7.25781128, 0.99515429, 0.99744756, 0.49247625],
++												 [	-6.25943830, -0.00158246, 0.00096870, 7.25785584, 0.99515675, 0.99744884, 0.49247782],
++												 [	-6.25948191, -0.00158167, 0.00096822, 7.25790024, 0.99515920, 0.99745011, 0.49247939],
++												 [	-6.25952536, -0.00158087, 0.00096774, 7.25794449, 0.99516165, 0.99745139, 0.49248095],
++												 [	-6.25956866, -0.00158008, 0.00096726, 7.25798858, 0.99516411, 0.99745266, 0.49248251],
++												 [	-6.25961180, -0.00157928, 0.00096678, 7.25803252, 0.99516655, 0.99745393, 0.49248405],
++												 [	-6.25965478, -0.00157849, 0.00096631, 7.25807629, 0.99516900, 0.99745521, 0.49248560],
++												 [	-6.25969761, -0.00157770, 0.00096583, 7.25811992, 0.99517144, 0.99745648, 0.49248715],
++												 [	-6.25974029, -0.00157691, 0.00096535, 7.25816339, 0.99517389, 0.99745774, 0.49248867],
++												 [	-6.25978282, -0.00157612, 0.00096487, 7.25820670, 0.99517633, 0.99745901, 0.49249021],
++												 [	-6.25982519, -0.00157533, 0.00096440, 7.25824986, 0.99517876, 0.99746028, 0.49249174],
++												 [	-6.25986741, -0.00157454, 0.00096392, 7.25829287, 0.99518120, 0.99746154, 0.49249325],
++												 [	-6.25990947, -0.00157375, 0.00096344, 7.25833572, 0.99518363, 0.99746281, 0.49249477],
++												 [	-6.25995139, -0.00157296, 0.00096297, 7.25837843, 0.99518606, 0.99746407, 0.49249628],
++												 [	-6.25999315, -0.00157217, 0.00096249, 7.25842098, 0.99518848, 0.99746533, 0.49249779],
++												 [	-6.26003477, -0.00157139, 0.00096202, 7.25846338, 0.99519091, 0.99746659, 0.49249929],
++												 [	-6.26007624, -0.00157060, 0.00096154, 7.25850563, 0.99519333, 0.99746785, 0.49250079],
++												 [	-6.26011755, -0.00156982, 0.00096107, 7.25854773, 0.99519575, 0.99746911, 0.49250228],
++												 [	-6.26015872, -0.00156903, 0.00096060, 7.25858969, 0.99519817, 0.99747037, 0.49250377],
++												 [	-6.26019974, -0.00156825, 0.00096012, 7.25863149, 0.99520058, 0.99747163, 0.49250524],
++												 [	-6.26024061, -0.00156747, 0.00095965, 7.25867315, 0.99520300, 0.99747288, 0.49250672],
++												 [	-6.26028134, -0.00156669, 0.00095918, 7.25871465, 0.99520541, 0.99747414, 0.49250819],
++												 [	-6.26032192, -0.00156591, 0.00095871, 7.25875601, 0.99520782, 0.99747539, 0.49250967],
++												 [	-6.26036235, -0.00156513, 0.00095823, 7.25879723, 0.99521022, 0.99747664, 0.49251114],
++												 [	-6.26040264, -0.00156435, 0.00095776, 7.25883830, 0.99521263, 0.99747789, 0.49251259],
++												 [	-6.26044279, -0.00156357, 0.00095729, 7.25887922, 0.99521503, 0.99747914, 0.49251404],
++												 [	-6.26048279, -0.00156279, 0.00095682, 7.25892000, 0.99521743, 0.99748039, 0.49251549],
++												 [	-6.26052264, -0.00156201, 0.00095635, 7.25896063, 0.99521982, 0.99748163, 0.49251694],
++												 [	-6.26056235, -0.00156124, 0.00095588, 7.25900112, 0.99522222, 0.99748288, 0.49251838],
++												 [	-6.26060192, -0.00156046, 0.00095542, 7.25904146, 0.99522461, 0.99748412, 0.49251982],
++												 [	-6.26064135, -0.00155969, 0.00095495, 7.25908167, 0.99522700, 0.99748537, 0.49252125],
++												 [	-6.26068064, -0.00155891, 0.00095448, 7.25912173, 0.99522939, 0.99748661, 0.49252269],
++												 [	-6.26071978, -0.00155814, 0.00095401, 7.25916164, 0.99523177, 0.99748785, 0.49252410],
++												 [	-6.26075879, -0.00155737, 0.00095354, 7.25920142, 0.99523415, 0.99748909, 0.49252552],
++												 [	-6.26079765, -0.00155659, 0.00095308, 7.25924106, 0.99523653, 0.99749033, 0.49252694],
++												 [	-6.26083637, -0.00155582, 0.00095261, 7.25928055, 0.99523891, 0.99749157, 0.49252834],
++												 [	-6.26087496, -0.00155505, 0.00095215, 7.25931991, 0.99524129, 0.99749280, 0.49252975],
++												 [	-6.26091341, -0.00155428, 0.00095168, 7.25935912, 0.99524366, 0.99749404, 0.49253116],
++												 [	-6.26095171, -0.00155351, 0.00095122, 7.25939820, 0.99524603, 0.99749527, 0.49253255],
++												 [	-6.26098988, -0.00155274, 0.00095075, 7.25943714, 0.99524840, 0.99749651, 0.49253394],
++												 [	-6.26102792, -0.00155198, 0.00095029, 7.25947594, 0.99525077, 0.99749774, 0.49253533],
++												 [	-6.26106581, -0.00155121, 0.00094982, 7.25951460, 0.99525313, 0.99749897, 0.49253672],
++												 [	-6.26110357, -0.00155044, 0.00094936, 7.25955313, 0.99525549, 0.99750020, 0.49253810],
++												 [	-6.26114120, -0.00154968, 0.00094890, 7.25959152, 0.99525785, 0.99750143, 0.49253947],
++												 [	-6.26117869, -0.00154891, 0.00094843, 7.25962977, 0.99526021, 0.99750265, 0.49254085],
++												 [	-6.26121604, -0.00154815, 0.00094797, 7.25966789, 0.99526256, 0.99750388, 0.49254220],
++												 [	-6.26125326, -0.00154739, 0.00094751, 7.25970587, 0.99526492, 0.99750510, 0.49254357],
++												 [	-6.26129035, -0.00154662, 0.00094705, 7.25974372, 0.99526727, 0.99750633, 0.49254493],
++												 [	-6.26132730, -0.00154586, 0.00094659, 7.25978144, 0.99526962, 0.99750755, 0.49254628],
++												 [	-6.26136412, -0.00154510, 0.00094613, 7.25981902, 0.99527196, 0.99750877, 0.49254763],
++												 [	-6.26140081, -0.00154434, 0.00094567, 7.25985647, 0.99527431, 0.99750999, 0.49254897],
++												 [	-6.26143736, -0.00154358, 0.00094521, 7.25989378, 0.99527665, 0.99751121, 0.49255032],
++												 [	-6.26147379, -0.00154282, 0.00094475, 7.25993097, 0.99527899, 0.99751243, 0.49255166],
++												 [	-6.26151008, -0.00154206, 0.00094429, 7.25996802, 0.99528132, 0.99751365, 0.49255299],
++												 [	-6.26154624, -0.00154131, 0.00094383, 7.26000494, 0.99528366, 0.99751486, 0.49255432],
++												 [	-6.26158228, -0.00154055, 0.00094337, 7.26004173, 0.99528599, 0.99751608, 0.49255564],
++												 [	-6.26161818, -0.00153979, 0.00094292, 7.26007839, 0.99528832, 0.99751729, 0.49255696],
++												 [	-6.26165395, -0.00153904, 0.00094246, 7.26011492, 0.99529065, 0.99751851, 0.49255828],
++												 [	-6.26168960, -0.00153828, 0.00094200, 7.26015132, 0.99529297, 0.99751972, 0.49255958],
++												 [	-6.26172512, -0.00153753, 0.00094155, 7.26018759, 0.99529530, 0.99752093, 0.49256090],
++												 [	-6.26176051, -0.00153677, 0.00094109, 7.26022373, 0.99529762, 0.99752214, 0.49256219],
++												 [	-6.26179577, -0.00153602, 0.00094063, 7.26025975, 0.99529994, 0.99752334, 0.49256349],
++												 [	-6.26183090, -0.00153527, 0.00094018, 7.26029563, 0.99530226, 0.99752455, 0.49256478],
++												 [	-6.26186591, -0.00153452, 0.00093972, 7.26033139, 0.99530457, 0.99752576, 0.49256609],
++												 [	-6.26190080, -0.00153377, 0.00093927, 7.26036703, 0.99530688, 0.99752696, 0.49256738],
++												 [	-6.26193555, -0.00153302, 0.00093882, 7.26040254, 0.99530919, 0.99752817, 0.49256866],
++												 [	-6.26197019, -0.00153227, 0.00093836, 7.26043792, 0.99531150, 0.99752937, 0.49256993],
++												 [	-6.26200470, -0.00153152, 0.00093791, 7.26047317, 0.99531381, 0.99753057, 0.49257121],
++												 [	-6.26203908, -0.00153077, 0.00093746, 7.26050831, 0.99531611, 0.99753177, 0.49257249],
++												 [	-6.26207334, -0.00153003, 0.00093700, 7.26054331, 0.99531841, 0.99753297, 0.49257375],
++												 [	-6.26210748, -0.00152928, 0.00093655, 7.26057820, 0.99532071, 0.99753417, 0.49257501],
++												 [	-6.26214149, -0.00152853, 0.00093610, 7.26061296, 0.99532301, 0.99753537, 0.49257629],
++												 [	-6.26217539, -0.00152779, 0.00093565, 7.26064760, 0.99532530, 0.99753656, 0.49257754],
++												 [	-6.26220916, -0.00152705, 0.00093520, 7.26068211, 0.99532759, 0.99753776, 0.49257879],
++												 [	-6.26224280, -0.00152630, 0.00093475, 7.26071650, 0.99532988, 0.99753895, 0.49258003],
++												 [	-6.26227633, -0.00152556, 0.00093430, 7.26075077, 0.99533217, 0.99754014, 0.49258128],
++												 [	-6.26230974, -0.00152482, 0.00093385, 7.26078492, 0.99533446, 0.99754133, 0.49258252],
++												 [	-6.26234303, -0.00152408, 0.00093340, 7.26081895, 0.99533674, 0.99754253, 0.49258376],
++												 [	-6.26237620, -0.00152333, 0.00093295, 7.26085286, 0.99533902, 0.99754372, 0.49258498],
++												 [	-6.26240924, -0.00152259, 0.00093250, 7.26088665, 0.99534130, 0.99754490, 0.49258622],
++												 [	-6.26244217, -0.00152186, 0.00093205, 7.26092032, 0.99534358, 0.99754609, 0.49258745],
++												 [	-6.26247499, -0.00152112, 0.00093161, 7.26095387, 0.99534586, 0.99754728, 0.49258868],
++												 [	-6.26250768, -0.00152038, 0.00093116, 7.26098730, 0.99534813, 0.99754846, 0.49258989],
++												 [	-6.26254025, -0.00151964, 0.00093071, 7.26102061, 0.99535040, 0.99754965, 0.49259110],
++												 [	-6.26257271, -0.00151890, 0.00093027, 7.26105381, 0.99535267, 0.99755083, 0.49259230],
++												 [	-6.26260505, -0.00151817, 0.00092982, 7.26108689, 0.99535493, 0.99755201, 0.49259351],
++												 [	-6.26263728, -0.00151743, 0.00092937, 7.26111985, 0.99535720, 0.99755319, 0.49259471],
++												 [	-6.26266939, -0.00151670, 0.00092893, 7.26115269, 0.99535946, 0.99755437, 0.49259592],
++												 [	-6.26270138, -0.00151596, 0.00092848, 7.26118542, 0.99536172, 0.99755555, 0.49259711],
++												 [	-6.26273326, -0.00151523, 0.00092804, 7.26121803, 0.99536398, 0.99755673, 0.49259829],
++												 [	-6.26276503, -0.00151450, 0.00092760, 7.26125053, 0.99536623, 0.99755790, 0.49259950],
++												 [	-6.26279668, -0.00151377, 0.00092715, 7.26128291, 0.99536849, 0.99755908, 0.49260067],
++												 [	-6.26282822, -0.00151304, 0.00092671, 7.26131518, 0.99537074, 0.99756025, 0.49260186],
++												 [	-6.26285964, -0.00151231, 0.00092627, 7.26134733, 0.99537299, 0.99756143, 0.49260303],
++												 [	-6.26289095, -0.00151158, 0.00092582, 7.26137937, 0.99537524, 0.99756260, 0.49260421],
++												 [	-6.26292215, -0.00151085, 0.00092538, 7.26141130, 0.99537748, 0.99756377, 0.49260538],
++												 [	-6.26295323, -0.00151012, 0.00092494, 7.26144311, 0.99537972, 0.99756494, 0.49260653],
++												 [	-6.26298421, -0.00150939, 0.00092450, 7.26147481, 0.99538196, 0.99756611, 0.49260770],
++												 [	-6.26301507, -0.00150866, 0.00092406, 7.26150640, 0.99538420, 0.99756728, 0.49260887],
++												 [	-6.26304582, -0.00150794, 0.00092362, 7.26153788, 0.99538644, 0.99756844, 0.49261002],
++												 [	-6.26307646, -0.00150721, 0.00092318, 7.26156925, 0.99538867, 0.99756961, 0.49261117],
++												 [	-6.26310699, -0.00150649, 0.00092274, 7.26160050, 0.99539091, 0.99757078, 0.49261231],
++												 [	-6.26313741, -0.00150576, 0.00092230, 7.26163165, 0.99539314, 0.99757194, 0.49261347],
++												 [	-6.26316772, -0.00150504, 0.00092186, 7.26166269, 0.99539536, 0.99757310, 0.49261461],
++												 [	-6.26319793, -0.00150431, 0.00092142, 7.26169361, 0.99539759, 0.99757426, 0.49261575],
++												 [	-6.26322802, -0.00150359, 0.00092098, 7.26172443, 0.99539981, 0.99757542, 0.49261688],
++												 [	-6.26325801, -0.00150287, 0.00092055, 7.26175513, 0.99540204, 0.99757658, 0.49261801],
++												 [	-6.26328788, -0.00150215, 0.00092011, 7.26178573, 0.99540426, 0.99757774, 0.49261913],
++												 [	-6.26331765, -0.00150143, 0.00091967, 7.26181623, 0.99540647, 0.99757890, 0.49262025],
++												 [	-6.26334732, -0.00150071, 0.00091924, 7.26184661, 0.99540869, 0.99758006, 0.49262138],
++												 [	-6.26337687, -0.00149999, 0.00091880, 7.26187688, 0.99541090, 0.99758121, 0.49262250],
++												 [	-6.26340633, -0.00149927, 0.00091836, 7.26190705, 0.99541311, 0.99758236, 0.49262361],
++												 [	-6.26343567, -0.00149855, 0.00091793, 7.26193712, 0.99541532, 0.99758352, 0.49262472],
++												 [	-6.26346491, -0.00149784, 0.00091749, 7.26196707, 0.99541753, 0.99758467, 0.49262583],
++												 [	-6.26349404, -0.00149712, 0.00091706, 7.26199692, 0.99541974, 0.99758582, 0.49262693],
++												 [	-6.26352307, -0.00149640, 0.00091662, 7.26202667, 0.99542194, 0.99758697, 0.49262803],
++												 [	-6.26355200, -0.00149569, 0.00091619, 7.26205631, 0.99542414, 0.99758812, 0.49262913],
++												 [	-6.26358082, -0.00149498, 0.00091576, 7.26208585, 0.99542634, 0.99758927, 0.49263021],
++												 [	-6.26360954, -0.00149426, 0.00091532, 7.26211528, 0.99542854, 0.99759042, 0.49263131],
++												 [	-6.26363815, -0.00149355, 0.00091489, 7.26214460, 0.99543073, 0.99759156, 0.49263239],
++												 [	-6.26366666, -0.00149284, 0.00091446, 7.26217383, 0.99543292, 0.99759271, 0.49263348],
++												 [	-6.26369507, -0.00149212, 0.00091403, 7.26220295, 0.99543511, 0.99759385, 0.49263456],
++												 [	-6.26372338, -0.00149141, 0.00091359, 7.26223197, 0.99543730, 0.99759499, 0.49263563],
++												 [	-6.26375159, -0.00149070, 0.00091316, 7.26226088, 0.99543949, 0.99759613, 0.49263671],
++												 [	-6.26377969, -0.00148999, 0.00091273, 7.26228970, 0.99544167, 0.99759728, 0.49263778],
++												 [	-6.26380769, -0.00148928, 0.00091230, 7.26231841, 0.99544386, 0.99759841, 0.49263884],
++												 [	-6.26383560, -0.00148857, 0.00091187, 7.26234702, 0.99544604, 0.99759955, 0.49263991],
++												 [	-6.26386340, -0.00148787, 0.00091144, 7.26237553, 0.99544821, 0.99760069, 0.49264097],
++												 [	-6.26389110, -0.00148716, 0.00091101, 7.26240394, 0.99545039, 0.99760183, 0.49264203],
++												 [	-6.26391870, -0.00148645, 0.00091058, 7.26243225, 0.99545257, 0.99760296, 0.49264308],
++												 [	-6.26394621, -0.00148575, 0.00091016, 7.26246046, 0.99545474, 0.99760410, 0.49264413],
++												 [	-6.26397361, -0.00148504, 0.00090973, 7.26248857, 0.99545691, 0.99760523, 0.49264518],
++												 [	-6.26400092, -0.00148434, 0.00090930, 7.26251658, 0.99545908, 0.99760636, 0.49264622],
++												 [	-6.26402813, -0.00148363, 0.00090887, 7.26254449, 0.99546124, 0.99760750, 0.49264726],
++												 [	-6.26405524, -0.00148293, 0.00090844, 7.26257231, 0.99546341, 0.99760863, 0.49264830],
++												 [	-6.26408225, -0.00148223, 0.00090802, 7.26260002, 0.99546557, 0.99760976, 0.49264934],
++												 [	-6.26410916, -0.00148152, 0.00090759, 7.26262764, 0.99546773, 0.99761088, 0.49265036],
++												 [	-6.26413598, -0.00148082, 0.00090717, 7.26265516, 0.99546989, 0.99761201, 0.49265140],
++												 [	-6.26416271, -0.00148012, 0.00090674, 7.26268258, 0.99547204, 0.99761314, 0.49265242],
++												 [	-6.26418933, -0.00147942, 0.00090631, 7.26270991, 0.99547420, 0.99761426, 0.49265345],
++												 [	-6.26421586, -0.00147872, 0.00090589, 7.26273714, 0.99547635, 0.99761539, 0.49265447],
++												 [	-6.26424230, -0.00147802, 0.00090547, 7.26276428, 0.99547850, 0.99761651, 0.49265547],
++												 [	-6.26426864, -0.00147733, 0.00090504, 7.26279132, 0.99548065, 0.99761763, 0.49265649],
++												 [	-6.26429489, -0.00147663, 0.00090462, 7.26281826, 0.99548279, 0.99761875, 0.49265751],
++												 [	-6.26432104, -0.00147593, 0.00090419, 7.26284511, 0.99548494, 0.99761987, 0.49265851],
++												 [	-6.26434710, -0.00147523, 0.00090377, 7.26287186, 0.99548708, 0.99762099, 0.49265951],
++												 [	-6.26437306, -0.00147454, 0.00090335, 7.26289852, 0.99548922, 0.99762211, 0.49266051],
++												 [	-6.26439893, -0.00147384, 0.00090293, 7.26292509, 0.99549136, 0.99762323, 0.49266151],
++												 [	-6.26442471, -0.00147315, 0.00090250, 7.26295156, 0.99549349, 0.99762435, 0.49266249],
++												 [	-6.26445040, -0.00147246, 0.00090208, 7.26297794, 0.99549563, 0.99762546, 0.49266350],
++												 [	-6.26447599, -0.00147176, 0.00090166, 7.26300423, 0.99549776, 0.99762658, 0.49266448],
++												 [	-6.26450150, -0.00147107, 0.00090124, 7.26303043, 0.99549989, 0.99762769, 0.49266547],
++												 [	-6.26452691, -0.00147038, 0.00090082, 7.26305653, 0.99550202, 0.99762880, 0.49266646],
++												 [	-6.26455222, -0.00146969, 0.00090040, 7.26308254, 0.99550415, 0.99762991, 0.49266744],
++												 [	-6.26457745, -0.00146900, 0.00089998, 7.26310846, 0.99550627, 0.99763102, 0.49266841],
++												 [	-6.26460259, -0.00146831, 0.00089956, 7.26313428, 0.99550839, 0.99763213, 0.49266939],
++												 [	-6.26462764, -0.00146762, 0.00089914, 7.26316002, 0.99551051, 0.99763324, 0.49267035],
++												 [	-6.26465259, -0.00146693, 0.00089872, 7.26318567, 0.99551263, 0.99763435, 0.49267132],
++												 [	-6.26467746, -0.00146624, 0.00089831, 7.26321122, 0.99551475, 0.99763545, 0.49267230],
++												 [	-6.26470224, -0.00146555, 0.00089789, 7.26323669, 0.99551686, 0.99763656, 0.49267325],
++												 [	-6.26472693, -0.00146486, 0.00089747, 7.26326207, 0.99551898, 0.99763766, 0.49267421],
++												 [	-6.26475153, -0.00146418, 0.00089705, 7.26328735, 0.99552109, 0.99763877, 0.49267517],
++												 [	-6.26477604, -0.00146349, 0.00089664, 7.26331255, 0.99552319, 0.99763987, 0.49267611],
++												 [	-6.26480047, -0.00146281, 0.00089622, 7.26333766, 0.99552530, 0.99764097, 0.49267707],
++												 [	-6.26482481, -0.00146212, 0.00089580, 7.26336268, 0.99552741, 0.99764207, 0.49267802],
++												 [	-6.26484906, -0.00146144, 0.00089539, 7.26338762, 0.99552951, 0.99764317, 0.49267897],
++												 [	-6.26487322, -0.00146076, 0.00089497, 7.26341246, 0.99553161, 0.99764427, 0.49267991],
++												 [	-6.26489730, -0.00146007, 0.00089456, 7.26343722, 0.99553371, 0.99764537, 0.49268085],
++												 [	-6.26492129, -0.00145939, 0.00089414, 7.26346189, 0.99553581, 0.99764646, 0.49268179],
++												 [	-6.26494519, -0.00145871, 0.00089373, 7.26348648, 0.99553790, 0.99764756, 0.49268272],
++												 [	-6.26496901, -0.00145803, 0.00089332, 7.26351098, 0.99553999, 0.99764865, 0.49268365],
++												 [	-6.26499274, -0.00145735, 0.00089290, 7.26353539, 0.99554209, 0.99764975, 0.49268458],
++												 [	-6.26501639, -0.00145667, 0.00089249, 7.26355972, 0.99554417, 0.99765084, 0.49268549],
++												 [	-6.26503995, -0.00145599, 0.00089208, 7.26358396, 0.99554626, 0.99765193, 0.49268643],
++												 [	-6.26506343, -0.00145531, 0.00089166, 7.26360811, 0.99554835, 0.99765302, 0.49268735],
++												 [	-6.26508682, -0.00145463, 0.00089125, 7.26363219, 0.99555043, 0.99765411, 0.49268826],
++												 [	-6.26511013, -0.00145396, 0.00089084, 7.26365617, 0.99555251, 0.99765520, 0.49268918],
++												 [	-6.26513336, -0.00145328, 0.00089043, 7.26368008, 0.99555459, 0.99765629, 0.49269008],
++												 [	-6.26515650, -0.00145261, 0.00089002, 7.26370389, 0.99555667, 0.99765738, 0.49269099],
++												 [	-6.26517956, -0.00145193, 0.00088961, 7.26372763, 0.99555875, 0.99765846, 0.49269190],
++												 [	-6.26520254, -0.00145126, 0.00088920, 7.26375128, 0.99556082, 0.99765955, 0.49269281],
++												 [	-6.26522543, -0.00145058, 0.00088879, 7.26377485, 0.99556289, 0.99766063, 0.49269370],
++												 [	-6.26524824, -0.00144991, 0.00088838, 7.26379834, 0.99556496, 0.99766171, 0.49269460],
++												 [	-6.26527098, -0.00144924, 0.00088797, 7.26382174, 0.99556703, 0.99766280, 0.49269550],
++												 [	-6.26529363, -0.00144856, 0.00088756, 7.26384506, 0.99556910, 0.99766388, 0.49269640],
++												 [	-6.26531619, -0.00144789, 0.00088715, 7.26386830, 0.99557116, 0.99766496, 0.49269728],
++												 [	-6.26533868, -0.00144722, 0.00088674, 7.26389146, 0.99557323, 0.99766604, 0.49269817],
++												 [	-6.26536109, -0.00144655, 0.00088634, 7.26391454, 0.99557529, 0.99766711, 0.49269905],
++												 [	-6.26538341, -0.00144588, 0.00088593, 7.26393753, 0.99557735, 0.99766819, 0.49269994],
++												 [	-6.26540566, -0.00144521, 0.00088552, 7.26396045, 0.99557940, 0.99766927, 0.49270083],
++												 [	-6.26542783, -0.00144454, 0.00088511, 7.26398329, 0.99558146, 0.99767034, 0.49270168],
++												 [	-6.26544992, -0.00144387, 0.00088471, 7.26400604, 0.99558351, 0.99767142, 0.49270256],
++												 [	-6.26547192, -0.00144321, 0.00088430, 7.26402872, 0.99558556, 0.99767249, 0.49270344],
++												 [	-6.26549385, -0.00144254, 0.00088390, 7.26405131, 0.99558761, 0.99767356, 0.49270431],
++												 [	-6.26551570, -0.00144187, 0.00088349, 7.26407383, 0.99558966, 0.99767463, 0.49270518],
++												 [	-6.26553748, -0.00144121, 0.00088309, 7.26409627, 0.99559171, 0.99767571, 0.49270604],
++												 [	-6.26555917, -0.00144054, 0.00088268, 7.26411863, 0.99559375, 0.99767678, 0.49270690],
++												 [	-6.26558079, -0.00143988, 0.00088228, 7.26414091, 0.99559579, 0.99767784, 0.49270776],
++												 [	-6.26560233, -0.00143922, 0.00088187, 7.26416311, 0.99559783, 0.99767891, 0.49270862],
++												 [	-6.26562379, -0.00143855, 0.00088147, 7.26418524, 0.99559987, 0.99767998, 0.49270947],
++												 [	-6.26564518, -0.00143789, 0.00088107, 7.26420729, 0.99560191, 0.99768104, 0.49271032],
++												 [	-6.26566648, -0.00143723, 0.00088066, 7.26422926, 0.99560394, 0.99768211, 0.49271118],
++												 [	-6.26568772, -0.00143657, 0.00088026, 7.26425115, 0.99560598, 0.99768317, 0.49271202],
++												 [	-6.26570887, -0.00143590, 0.00087986, 7.26427297, 0.99560801, 0.99768424, 0.49271286],
++												 [	-6.26572995, -0.00143524, 0.00087946, 7.26429471, 0.99561004, 0.99768530, 0.49271371],
++												 [	-6.26575096, -0.00143458, 0.00087906, 7.26431637, 0.99561206, 0.99768636, 0.49271455],
++												 [	-6.26577189, -0.00143393, 0.00087865, 7.26433796, 0.99561409, 0.99768742, 0.49271537],
++												 [	-6.26579274, -0.00143327, 0.00087825, 7.26435948, 0.99561611, 0.99768848, 0.49271621],
++												 [	-6.26581352, -0.00143261, 0.00087785, 7.26438092, 0.99561813, 0.99768954, 0.49271704],
++												 [	-6.26583423, -0.00143195, 0.00087745, 7.26440228, 0.99562015, 0.99769059, 0.49271787],
++												 [	-6.26585486, -0.00143130, 0.00087705, 7.26442357, 0.99562217, 0.99769165, 0.49271871],
++												 [	-6.26587542, -0.00143064, 0.00087665, 7.26444478, 0.99562419, 0.99769271, 0.49271954],
++												 [	-6.26589591, -0.00142998, 0.00087626, 7.26446592, 0.99562620, 0.99769376, 0.49272035],
++												 [	-6.26591632, -0.00142933, 0.00087586, 7.26448699, 0.99562822, 0.99769482, 0.49272117],
++												 [	-6.26593666, -0.00142867, 0.00087546, 7.26450798, 0.99563023, 0.99769587, 0.49272198],
++												 [	-6.26595692, -0.00142802, 0.00087506, 7.26452890, 0.99563224, 0.99769692, 0.49272279],
++												 [	-6.26597711, -0.00142737, 0.00087466, 7.26454975, 0.99563424, 0.99769797, 0.49272362],
++												 [	-6.26599724, -0.00142671, 0.00087426, 7.26457052, 0.99563625, 0.99769902, 0.49272441],
++												 [	-6.26601728, -0.00142606, 0.00087387, 7.26459122, 0.99563825, 0.99770007, 0.49272522],
++												 [	-6.26603726, -0.00142541, 0.00087347, 7.26461185, 0.99564025, 0.99770112, 0.49272604],
++												 [	-6.26605717, -0.00142476, 0.00087307, 7.26463241, 0.99564225, 0.99770217, 0.49272683],
++												 [	-6.26607700, -0.00142411, 0.00087268, 7.26465289, 0.99564425, 0.99770321, 0.49272764],
++												 [	-6.26609676, -0.00142346, 0.00087228, 7.26467331, 0.99564625, 0.99770426, 0.49272843],
++												 [	-6.26611646, -0.00142281, 0.00087189, 7.26469365, 0.99564824, 0.99770530, 0.49272921],
++												 [	-6.26613608, -0.00142216, 0.00087149, 7.26471392, 0.99565024, 0.99770635, 0.49273003],
++												 [	-6.26615563, -0.00142151, 0.00087110, 7.26473412, 0.99565223, 0.99770739, 0.49273081],
++												 [	-6.26617512, -0.00142087, 0.00087070, 7.26475425, 0.99565422, 0.99770843, 0.49273160],
++												 [	-6.26619453, -0.00142022, 0.00087031, 7.26477431, 0.99565620, 0.99770947, 0.49273238],
++												 [	-6.26621387, -0.00141957, 0.00086992, 7.26479430, 0.99565819, 0.99771051, 0.49273317],
++												 [	-6.26623315, -0.00141893, 0.00086952, 7.26481422, 0.99566017, 0.99771155, 0.49273396],
++												 [	-6.26625235, -0.00141828, 0.00086913, 7.26483407, 0.99566216, 0.99771259, 0.49273473],
++												 [	-6.26627149, -0.00141764, 0.00086874, 7.26485385, 0.99566414, 0.99771362, 0.49273551],
++												 [	-6.26629056, -0.00141699, 0.00086835, 7.26487356, 0.99566612, 0.99771466, 0.49273628],
++												 [	-6.26630956, -0.00141635, 0.00086795, 7.26489321, 0.99566809, 0.99771570, 0.49273706],
++												 [	-6.26632849, -0.00141571, 0.00086756, 7.26491278, 0.99567007, 0.99771673, 0.49273783],
++												 [	-6.26634735, -0.00141506, 0.00086717, 7.26493229, 0.99567204, 0.99771776, 0.49273859],
++												 [	-6.26636615, -0.00141442, 0.00086678, 7.26495173, 0.99567401, 0.99771880, 0.49273935],
++												 [	-6.26638488, -0.00141378, 0.00086639, 7.26497110, 0.99567598, 0.99771983, 0.49274013],
++												 [	-6.26640355, -0.00141314, 0.00086600, 7.26499041, 0.99567795, 0.99772086, 0.49274089],
++												 [	-6.26642214, -0.00141250, 0.00086561, 7.26500964, 0.99567992, 0.99772189, 0.49274164],
++												 [	-6.26644067, -0.00141186, 0.00086522, 7.26502881, 0.99568188, 0.99772292, 0.49274241],
++												 [	-6.26645914, -0.00141122, 0.00086483, 7.26504792, 0.99568384, 0.99772395, 0.49274316],
++												 [	-6.26647754, -0.00141058, 0.00086444, 7.26506695, 0.99568580, 0.99772497, 0.49274392],
++												 [	-6.26649587, -0.00140995, 0.00086405, 7.26508592, 0.99568776, 0.99772600, 0.49274466],
++												 [	-6.26651414, -0.00140931, 0.00086366, 7.26510483, 0.99568972, 0.99772703, 0.49274542],
++												 [	-6.26653234, -0.00140867, 0.00086328, 7.26512367, 0.99569168, 0.99772805, 0.49274618],
++												 [	-6.26655048, -0.00140804, 0.00086289, 7.26514244, 0.99569363, 0.99772908, 0.49274690],
++												 [	-6.26656855, -0.00140740, 0.00086250, 7.26516115, 0.99569558, 0.99773010, 0.49274765],
++												 [	-6.26658656, -0.00140677, 0.00086211, 7.26517979, 0.99569753, 0.99773112, 0.49274839],
++												 [	-6.26660450, -0.00140613, 0.00086173, 7.26519837, 0.99569948, 0.99773214, 0.49274912],
++												 [	-6.26662238, -0.00140550, 0.00086134, 7.26521688, 0.99570143, 0.99773316, 0.49274986],
++												 [	-6.26664020, -0.00140486, 0.00086096, 7.26523533, 0.99570337, 0.99773418, 0.49275059],
++												 [	-6.26665795, -0.00140423, 0.00086057, 7.26525372, 0.99570532, 0.99773520, 0.49275132],
++												 [	-6.26667564, -0.00140360, 0.00086018, 7.26527204, 0.99570726, 0.99773622, 0.49275206],
++												 [	-6.26669326, -0.00140297, 0.00085980, 7.26529030, 0.99570920, 0.99773723, 0.49275276],
++												 [	-6.26671083, -0.00140234, 0.00085942, 7.26530849, 0.99571114, 0.99773825, 0.49275350],
++												 [	-6.26672833, -0.00140171, 0.00085903, 7.26532662, 0.99571307, 0.99773926, 0.49275423],
++												 [	-6.26674577, -0.00140108, 0.00085865, 7.26534469, 0.99571501, 0.99774028, 0.49275495],
++												 [	-6.26676314, -0.00140045, 0.00085826, 7.26536270, 0.99571694, 0.99774129, 0.49275567],
++												 [	-6.26678046, -0.00139982, 0.00085788, 7.26538064, 0.99571887, 0.99774230, 0.49275639],
++												 [	-6.26679771, -0.00139919, 0.00085750, 7.26539852, 0.99572080, 0.99774331, 0.49275711],
++												 [	-6.26681490, -0.00139856, 0.00085711, 7.26541634, 0.99572273, 0.99774433, 0.49275782],
++												 [	-6.26683203, -0.00139793, 0.00085673, 7.26543410, 0.99572466, 0.99774533, 0.49275852],
++												 [	-6.26684910, -0.00139731, 0.00085635, 7.26545179, 0.99572658, 0.99774634, 0.49275924],
++												 [	-6.26686611, -0.00139668, 0.00085597, 7.26546943, 0.99572851, 0.99774735, 0.49275995],
++												 [	-6.26688306, -0.00139605, 0.00085559, 7.26548700, 0.99573043, 0.99774836, 0.49276065],
++												 [	-6.26689994, -0.00139543, 0.00085521, 7.26550451, 0.99573235, 0.99774936, 0.49276134],
++												 [	-6.26691677, -0.00139481, 0.00085482, 7.26552196, 0.99573426, 0.99775037, 0.49276204],
++												 [	-6.26693354, -0.00139418, 0.00085444, 7.26553936, 0.99573618, 0.99775137, 0.49276274],
++												 [	-6.26695024, -0.00139356, 0.00085406, 7.26555669, 0.99573809, 0.99775238, 0.49276344],
++												 [	-6.26696689, -0.00139293, 0.00085368, 7.26557396, 0.99574001, 0.99775338, 0.49276413],
++												 [	-6.26698348, -0.00139231, 0.00085331, 7.26559117, 0.99574192, 0.99775438, 0.49276484],
++												 [	-6.26700001, -0.00139169, 0.00085293, 7.26560832, 0.99574383, 0.99775538, 0.49276553],
++												 [	-6.26701648, -0.00139107, 0.00085255, 7.26562541, 0.99574574, 0.99775638, 0.49276621],
++												 [	-6.26703289, -0.00139045, 0.00085217, 7.26564245, 0.99574764, 0.99775738, 0.49276691],
++												 [	-6.26704925, -0.00138983, 0.00085179, 7.26565942, 0.99574955, 0.99775838, 0.49276759],
++												 [	-6.26706554, -0.00138921, 0.00085141, 7.26567633, 0.99575145, 0.99775938, 0.49276826],
++												 [	-6.26708178, -0.00138859, 0.00085104, 7.26569319, 0.99575335, 0.99776038, 0.49276895],
++												 [	-6.26709796, -0.00138797, 0.00085066, 7.26570999, 0.99575525, 0.99776137, 0.49276963],
++												 [	-6.26711408, -0.00138735, 0.00085028, 7.26572673, 0.99575715, 0.99776237, 0.49277030],
++												 [	-6.26713015, -0.00138674, 0.00084990, 7.26574341, 0.99575904, 0.99776336, 0.49277097],
++												 [	-6.26714616, -0.00138612, 0.00084953, 7.26576004, 0.99576094, 0.99776435, 0.49277165],
++												 [	-6.26716211, -0.00138550, 0.00084915, 7.26577661, 0.99576283, 0.99776535, 0.49277232],
++												 [	-6.26717800, -0.00138489, 0.00084878, 7.26579312, 0.99576472, 0.99776634, 0.49277298],
++												 [	-6.26719384, -0.00138427, 0.00084840, 7.26580957, 0.99576661, 0.99776733, 0.49277366],
++												 [	-6.26720962, -0.00138366, 0.00084803, 7.26582597, 0.99576850, 0.99776832, 0.49277432],
++												 [	-6.26722535, -0.00138304, 0.00084765, 7.26584231, 0.99577038, 0.99776931, 0.49277499],
++												 [	-6.26724102, -0.00138243, 0.00084728, 7.26585859, 0.99577227, 0.99777029, 0.49277565],
++												 [	-6.26725663, -0.00138181, 0.00084690, 7.26587482, 0.99577415, 0.99777128, 0.49277630],
++												 [	-6.26727219, -0.00138120, 0.00084653, 7.26589099, 0.99577603, 0.99777227, 0.49277698],
++												 [	-6.26728769, -0.00138059, 0.00084616, 7.26590710, 0.99577791, 0.99777325, 0.49277763],
++												 [	-6.26730314, -0.00137998, 0.00084578, 7.26592316, 0.99577979, 0.99777424, 0.49277828],
++												 [	-6.26731854, -0.00137937, 0.00084541, 7.26593917, 0.99578166, 0.99777522, 0.49277893],
++												 [	-6.26733388, -0.00137876, 0.00084504, 7.26595512, 0.99578354, 0.99777621, 0.49277959],
++												 [	-6.26734916, -0.00137815, 0.00084467, 7.26597101, 0.99578541, 0.99777719, 0.49278024],
++												 [	-6.26736439, -0.00137754, 0.00084429, 7.26598685, 0.99578728, 0.99777817, 0.49278088],
++												 [	-6.26737957, -0.00137693, 0.00084392, 7.26600264, 0.99578915, 0.99777915, 0.49278153],
++												 [	-6.26739469, -0.00137632, 0.00084355, 7.26601837, 0.99579102, 0.99778013, 0.49278219],
++												 [	-6.26740976, -0.00137571, 0.00084318, 7.26603405, 0.99579289, 0.99778111, 0.49278281],
++												 [	-6.26742477, -0.00137510, 0.00084281, 7.26604967, 0.99579475, 0.99778209, 0.49278347],
++												 [	-6.26743974, -0.00137450, 0.00084244, 7.26606524, 0.99579661, 0.99778306, 0.49278410],
++												 [	-6.26745464, -0.00137389, 0.00084207, 7.26608075, 0.99579847, 0.99778404, 0.49278472],
++												 [	-6.26746950, -0.00137328, 0.00084170, 7.26609622, 0.99580033, 0.99778502, 0.49278536],
++												 [	-6.26748430, -0.00137268, 0.00084133, 7.26611162, 0.99580219, 0.99778599, 0.49278600],
++												 [	-6.26749906, -0.00137207, 0.00084096, 7.26612698, 0.99580405, 0.99778696, 0.49278663],
++												 [	-6.26751375, -0.00137147, 0.00084059, 7.26614228, 0.99580590, 0.99778794, 0.49278724],
++												 [	-6.26752840, -0.00137087, 0.00084022, 7.26615753, 0.99580776, 0.99778891, 0.49278789],
++												 [	-6.26754300, -0.00137026, 0.00083986, 7.26617273, 0.99580961, 0.99778988, 0.49278852],
++												 [	-6.26755754, -0.00136966, 0.00083949, 7.26618788, 0.99581146, 0.99779085, 0.49278914],
++												 [	-6.26757203, -0.00136906, 0.00083912, 7.26620297, 0.99581331, 0.99779182, 0.49278975],
++												 [	-6.26758647, -0.00136846, 0.00083875, 7.26621801, 0.99581515, 0.99779279, 0.49279037],
++												 [	-6.26760086, -0.00136786, 0.00083839, 7.26623300, 0.99581700, 0.99779376, 0.49279099],
++												 [	-6.26761520, -0.00136725, 0.00083802, 7.26624794, 0.99581884, 0.99779472, 0.49279161],
++												 [	-6.26762949, -0.00136665, 0.00083765, 7.26626283, 0.99582068, 0.99779569, 0.49279223],
++												 [	-6.26764372, -0.00136605, 0.00083729, 7.26627767, 0.99582252, 0.99779666, 0.49279284],
++												 [	-6.26765791, -0.00136546, 0.00083692, 7.26629245, 0.99582436, 0.99779762, 0.49279345],
++												 [	-6.26767205, -0.00136486, 0.00083656, 7.26630719, 0.99582620, 0.99779859, 0.49279407],
++												 [	-6.26768613, -0.00136426, 0.00083619, 7.26632187, 0.99582804, 0.99779955, 0.49279468],
++												 [	-6.26770017, -0.00136366, 0.00083583, 7.26633651, 0.99582987, 0.99780051, 0.49279528],
++												 [	-6.26771416, -0.00136306, 0.00083546, 7.26635109, 0.99583170, 0.99780147, 0.49279588],
++												 [	-6.26772809, -0.00136247, 0.00083510, 7.26636562, 0.99583353, 0.99780243, 0.49279649],
++												 [	-6.26774198, -0.00136187, 0.00083474, 7.26638011, 0.99583536, 0.99780339, 0.49279710],
++												 [	-6.26775582, -0.00136128, 0.00083437, 7.26639454, 0.99583719, 0.99780435, 0.49279770],
++												 [	-6.26776961, -0.00136068, 0.00083401, 7.26640893, 0.99583902, 0.99780531, 0.49279829],
++												 [	-6.26778335, -0.00136009, 0.00083365, 7.26642326, 0.99584084, 0.99780627, 0.49279888],
++												 [	-6.26779704, -0.00135949, 0.00083328, 7.26643755, 0.99584266, 0.99780722, 0.49279946],
++												 [	-6.26781069, -0.00135890, 0.00083292, 7.26645179, 0.99584449, 0.99780818, 0.49280008],
++												 [	-6.26782428, -0.00135831, 0.00083256, 7.26646598, 0.99584631, 0.99780913, 0.49280067],
++												 [	-6.26783783, -0.00135771, 0.00083220, 7.26648012, 0.99584812, 0.99781009, 0.49280125],
++												 [	-6.26785133, -0.00135712, 0.00083184, 7.26649421, 0.99584994, 0.99781104, 0.49280185],
++												 [	-6.26786479, -0.00135653, 0.00083148, 7.26650826, 0.99585175, 0.99781199, 0.49280244],
++												 [	-6.26787819, -0.00135594, 0.00083111, 7.26652225, 0.99585357, 0.99781295, 0.49280301],
++												 [	-6.26789155, -0.00135535, 0.00083075, 7.26653620, 0.99585538, 0.99781390, 0.49280360],
++												 [	-6.26790486, -0.00135476, 0.00083039, 7.26655010, 0.99585719, 0.99781485, 0.49280419],
++												 [	-6.26791812, -0.00135417, 0.00083003, 7.26656395, 0.99585900, 0.99781580, 0.49280476],
++												 [	-6.26793134, -0.00135358, 0.00082967, 7.26657776, 0.99586081, 0.99781675, 0.49280534],
++												 [	-6.26794451, -0.00135299, 0.00082931, 7.26659152, 0.99586261, 0.99781769, 0.49280594],
++												 [	-6.26795764, -0.00135240, 0.00082896, 7.26660523, 0.99586442, 0.99781864, 0.49280650],
++												 [	-6.26797071, -0.00135182, 0.00082860, 7.26661890, 0.99586622, 0.99781959, 0.49280708],
++												 [	-6.26798374, -0.00135123, 0.00082824, 7.26663252, 0.99586802, 0.99782053, 0.49280764],
++												 [	-6.26799673, -0.00135064, 0.00082788, 7.26664609, 0.99586982, 0.99782148, 0.49280822],
++												 [	-6.26800967, -0.00135006, 0.00082752, 7.26665961, 0.99587162, 0.99782242, 0.49280878],
++												 [	-6.26802256, -0.00134947, 0.00082717, 7.26667309, 0.99587341, 0.99782336, 0.49280935],
++												 [	-6.26803541, -0.00134889, 0.00082681, 7.26668653, 0.99587521, 0.99782431, 0.49280992],
++												 [	-6.26804822, -0.00134830, 0.00082645, 7.26669991, 0.99587700, 0.99782525, 0.49281048],
++												 [	-6.26806098, -0.00134772, 0.00082609, 7.26671326, 0.99587879, 0.99782619, 0.49281107],
++												 [	-6.26807369, -0.00134713, 0.00082574, 7.26672655, 0.99588058, 0.99782713, 0.49281162],
++												 [	-6.26808636, -0.00134655, 0.00082538, 7.26673981, 0.99588237, 0.99782807, 0.49281218],
++												 [	-6.26809898, -0.00134597, 0.00082503, 7.26675301, 0.99588416, 0.99782900, 0.49281274],
++												 [	-6.26811156, -0.00134539, 0.00082467, 7.26676617, 0.99588595, 0.99782994, 0.49281329],
++												 [	-6.26812410, -0.00134481, 0.00082432, 7.26677929, 0.99588773, 0.99783088, 0.49281384],
++												 [	-6.26813659, -0.00134422, 0.00082396, 7.26679236, 0.99588951, 0.99783181, 0.49281439],
++												 [	-6.26814904, -0.00134364, 0.00082361, 7.26680539, 0.99589129, 0.99783275, 0.49281496],
++												 [	-6.26816144, -0.00134306, 0.00082325, 7.26681838, 0.99589307, 0.99783368, 0.49281552],
++												 [	-6.26817380, -0.00134248, 0.00082290, 7.26683132, 0.99589485, 0.99783462, 0.49281605],
++												 [	-6.26818612, -0.00134191, 0.00082255, 7.26684421, 0.99589663, 0.99783555, 0.49281661],
++												 [	-6.26819839, -0.00134133, 0.00082219, 7.26685706, 0.99589840, 0.99783648, 0.49281716],
++												 [	-6.26821062, -0.00134075, 0.00082184, 7.26686987, 0.99590018, 0.99783741, 0.49281769],
++												 [	-6.26822281, -0.00134017, 0.00082149, 7.26688264, 0.99590195, 0.99783834, 0.49281824],
++												 [	-6.26823495, -0.00133959, 0.00082113, 7.26689536, 0.99590372, 0.99783927, 0.49281878],
++												 [	-6.26824705, -0.00133902, 0.00082078, 7.26690804, 0.99590549, 0.99784020, 0.49281933],
++												 [	-6.26825911, -0.00133844, 0.00082043, 7.26692067, 0.99590725, 0.99784113, 0.49281987],
++												 [	-6.26827113, -0.00133787, 0.00082008, 7.26693326, 0.99590902, 0.99784206, 0.49282040],
++												 [	-6.26828310, -0.00133729, 0.00081973, 7.26694581, 0.99591078, 0.99784298, 0.49282094],
++												 [	-6.26829504, -0.00133672, 0.00081938, 7.26695832, 0.99591255, 0.99784391, 0.49282147],
++												 [	-6.26830693, -0.00133614, 0.00081902, 7.26697079, 0.99591431, 0.99784483, 0.49282201],
++												 [	-6.26831878, -0.00133557, 0.00081867, 7.26698321, 0.99591607, 0.99784576, 0.49282254],
++												 [	-6.26833058, -0.00133499, 0.00081832, 7.26699559, 0.99591783, 0.99784668, 0.49282308],
++												 [	-6.26834235, -0.00133442, 0.00081797, 7.26700793, 0.99591958, 0.99784760, 0.49282360],
++												 [	-6.26835407, -0.00133385, 0.00081762, 7.26702023, 0.99592134, 0.99784853, 0.49282414],
++												 [	-6.26836576, -0.00133328, 0.00081728, 7.26703248, 0.99592309, 0.99784945, 0.49282465],
++												 [	-6.26837740, -0.00133271, 0.00081693, 7.26704469, 0.99592485, 0.99785037, 0.49282520],
++												 [	-6.26838900, -0.00133214, 0.00081658, 7.26705687, 0.99592660, 0.99785129, 0.49282572],
++												 [	-6.26840056, -0.00133157, 0.00081623, 7.26706900, 0.99592835, 0.99785221, 0.49282624],
++												 [	-6.26841209, -0.00133100, 0.00081588, 7.26708109, 0.99593009, 0.99785312, 0.49282676],
++												 [	-6.26842357, -0.00133043, 0.00081553, 7.26709314, 0.99593184, 0.99785404, 0.49282728],
++												 [	-6.26843501, -0.00132986, 0.00081519, 7.26710515, 0.99593359, 0.99785496, 0.49282780],
++												 [	-6.26844641, -0.00132929, 0.00081484, 7.26711712, 0.99593533, 0.99785587, 0.49282829],
++												 [	-6.26845777, -0.00132872, 0.00081449, 7.26712905, 0.99593707, 0.99785679, 0.49282883],
++												 [	-6.26846909, -0.00132815, 0.00081414, 7.26714093, 0.99593881, 0.99785770, 0.49282934],
++												 [	-6.26848037, -0.00132759, 0.00081380, 7.26715278, 0.99594055, 0.99785862, 0.49282986],
++												 [	-6.26849161, -0.00132702, 0.00081345, 7.26716459, 0.99594229, 0.99785953, 0.49283037],
++												 [	-6.26850281, -0.00132645, 0.00081311, 7.26717636, 0.99594402, 0.99786044, 0.49283087],
++												 [	-6.26851397, -0.00132589, 0.00081276, 7.26718809, 0.99594576, 0.99786135, 0.49283138],
++												 [	-6.26852510, -0.00132532, 0.00081242, 7.26719977, 0.99594749, 0.99786226, 0.49283189],
++												 [	-6.26853618, -0.00132476, 0.00081207, 7.26721142, 0.99594922, 0.99786317, 0.49283239],
++												 [	-6.26854723, -0.00132419, 0.00081173, 7.26722303, 0.99595095, 0.99786408, 0.49283291],
++												 [	-6.26855824, -0.00132363, 0.00081138, 7.26723461, 0.99595268, 0.99786499, 0.49283341],
++												 [	-6.26856921, -0.00132307, 0.00081104, 7.26724614, 0.99595441, 0.99786590, 0.49283391],
++												 [	-6.26858014, -0.00132251, 0.00081069, 7.26725763, 0.99595614, 0.99786680, 0.49283441],
++												 [	-6.26859103, -0.00132194, 0.00081035, 7.26726909, 0.99595786, 0.99786771, 0.49283490],
++												 [	-6.26860188, -0.00132138, 0.00081001, 7.26728050, 0.99595958, 0.99786861, 0.49283543],
++												 [	-6.26861270, -0.00132082, 0.00080966, 7.26729188, 0.99596131, 0.99786952, 0.49283590],
++												 [	-6.26862348, -0.00132026, 0.00080932, 7.26730322, 0.99596303, 0.99787042, 0.49283641],
++												 [	-6.26863422, -0.00131970, 0.00080898, 7.26731452, 0.99596474, 0.99787132, 0.49283690],
++												 [	-6.26864493, -0.00131914, 0.00080864, 7.26732579, 0.99596646, 0.99787223, 0.49283740],
++												 [	-6.26865559, -0.00131858, 0.00080829, 7.26733701, 0.99596818, 0.99787313, 0.49283789],
++												 [	-6.26866622, -0.00131802, 0.00080795, 7.26734820, 0.99596989, 0.99787403, 0.49283838],
++												 [	-6.26867681, -0.00131746, 0.00080761, 7.26735935, 0.99597160, 0.99787493, 0.49283886],
++												 [	-6.26868737, -0.00131690, 0.00080727, 7.26737047, 0.99597332, 0.99787583, 0.49283935],
++												 [	-6.26869789, -0.00131635, 0.00080693, 7.26738154, 0.99597503, 0.99787673, 0.49283983],
++												 [	-6.26870837, -0.00131579, 0.00080659, 7.26739258, 0.99597673, 0.99787762, 0.49284032],
++												 [	-6.26871882, -0.00131523, 0.00080625, 7.26740358, 0.99597844, 0.99787852, 0.49284083],
++												 [	-6.26872923, -0.00131468, 0.00080591, 7.26741455, 0.99598015, 0.99787942, 0.49284129],
++												 [	-6.26873960, -0.00131412, 0.00080557, 7.26742548, 0.99598185, 0.99788031, 0.49284178],
++												 [	-6.26874993, -0.00131357, 0.00080523, 7.26743637, 0.99598355, 0.99788121, 0.49284226],
++												 [	-6.26876024, -0.00131301, 0.00080489, 7.26744723, 0.99598526, 0.99788210, 0.49284273],
++												 [	-6.26877050, -0.00131246, 0.00080455, 7.26745804, 0.99598696, 0.99788299, 0.49284320],
++												 [	-6.26878073, -0.00131190, 0.00080421, 7.26746883, 0.99598865, 0.99788389, 0.49284369],
++												 [	-6.26879092, -0.00131135, 0.00080387, 7.26747958, 0.99599035, 0.99788478, 0.49284417],
++												 [	-6.26880108, -0.00131080, 0.00080354, 7.26749029, 0.99599205, 0.99788567, 0.49284465],
++												 [	-6.26881120, -0.00131024, 0.00080320, 7.26750096, 0.99599374, 0.99788656, 0.49284510],
++												 [	-6.26882129, -0.00130969, 0.00080286, 7.26751160, 0.99599543, 0.99788745, 0.49284559],
++												 [	-6.26883135, -0.00130914, 0.00080252, 7.26752221, 0.99599713, 0.99788834, 0.49284606],
++												 [	-6.26884136, -0.00130859, 0.00080219, 7.26753278, 0.99599882, 0.99788923, 0.49284653],
++												 [	-6.26885135, -0.00130804, 0.00080185, 7.26754331, 0.99600050, 0.99789011, 0.49284699],
++												 [	-6.26886129, -0.00130749, 0.00080151, 7.26755381, 0.99600219, 0.99789100, 0.49284746],
++												 [	-6.26887121, -0.00130694, 0.00080118, 7.26756427, 0.99600388, 0.99789189, 0.49284793],
++												 [	-6.26888109, -0.00130639, 0.00080084, 7.26757470, 0.99600556, 0.99789277, 0.49284838],
++												 [	-6.26889093, -0.00130584, 0.00080051, 7.26758509, 0.99600724, 0.99789365, 0.49284885],
++												 [	-6.26890074, -0.00130529, 0.00080017, 7.26759545, 0.99600893, 0.99789454, 0.49284932],
++												 [	-6.26891052, -0.00130474, 0.00079984, 7.26760578, 0.99601061, 0.99789542, 0.49284977],
++												 [	-6.26892026, -0.00130420, 0.00079950, 7.26761607, 0.99601228, 0.99789630, 0.49285024],
++												 [	-6.26892997, -0.00130365, 0.00079917, 7.26762633, 0.99601396, 0.99789719, 0.49285069],
++												 [	-6.26893965, -0.00130310, 0.00079883, 7.26763655, 0.99601564, 0.99789807, 0.49285114],
++												 [	-6.26894929, -0.00130256, 0.00079850, 7.26764674, 0.99601731, 0.99789895, 0.49285162],
++												 [	-6.26895890, -0.00130201, 0.00079816, 7.26765689, 0.99601899, 0.99789983, 0.49285206],
++												 [	-6.26896848, -0.00130146, 0.00079783, 7.26766701, 0.99602066, 0.99790070, 0.49285251],
++												 [	-6.26897802, -0.00130092, 0.00079750, 7.26767710, 0.99602233, 0.99790158, 0.49285297],
++												 [	-6.26898753, -0.00130038, 0.00079717, 7.26768715, 0.99602400, 0.99790246, 0.49285344],
++												 [	-6.26899700, -0.00129983, 0.00079683, 7.26769717, 0.99602566, 0.99790334, 0.49285388],
++												 [	-6.26900645, -0.00129929, 0.00079650, 7.26770716, 0.99602733, 0.99790421, 0.49285432],
++												 [	-6.26901586, -0.00129875, 0.00079617, 7.26771711, 0.99602900, 0.99790509, 0.49285477],
++												 [	-6.26902524, -0.00129820, 0.00079584, 7.26772703, 0.99603066, 0.99790596, 0.49285523],
++												 [	-6.26903458, -0.00129766, 0.00079550, 7.26773692, 0.99603232, 0.99790683, 0.49285566],
++												 [	-6.26904390, -0.00129712, 0.00079517, 7.26774678, 0.99603398, 0.99790771, 0.49285611],
++												 [	-6.26905318, -0.00129658, 0.00079484, 7.26775660, 0.99603564, 0.99790858, 0.49285655],
++												 [	-6.26906243, -0.00129604, 0.00079451, 7.26776639, 0.99603730, 0.99790945, 0.49285701],
++												 [	-6.26907164, -0.00129550, 0.00079418, 7.26777615, 0.99603896, 0.99791032, 0.49285743],
++												 [	-6.26908083, -0.00129496, 0.00079385, 7.26778587, 0.99604061, 0.99791119, 0.49285787],
++												 [	-6.26908998, -0.00129442, 0.00079352, 7.26779557, 0.99604227, 0.99791206, 0.49285833],
++												 [	-6.26909911, -0.00129388, 0.00079319, 7.26780523, 0.99604392, 0.99791293, 0.49285876],
++												 [	-6.26910820, -0.00129334, 0.00079286, 7.26781486, 0.99604557, 0.99791380, 0.49285921],
++												 [	-6.26911726, -0.00129280, 0.00079253, 7.26782446, 0.99604722, 0.99791467, 0.49285963],
++												 [	-6.26912629, -0.00129226, 0.00079220, 7.26783402, 0.99604887, 0.99791553, 0.49286007],
++												 [	-6.26913528, -0.00129173, 0.00079188, 7.26784356, 0.99605051, 0.99791640, 0.49286049],
++												 [	-6.26914425, -0.00129119, 0.00079155, 7.26785306, 0.99605216, 0.99791726, 0.49286093],
++												 [	-6.26915318, -0.00129065, 0.00079122, 7.26786253, 0.99605380, 0.99791813, 0.49286138],
++												 [	-6.26916209, -0.00129012, 0.00079089, 7.26787197, 0.99605545, 0.99791899, 0.49286178],
++												 [	-6.26917096, -0.00128958, 0.00079056, 7.26788138, 0.99605709, 0.99791985, 0.49286223],
++												 [	-6.26917981, -0.00128905, 0.00079024, 7.26789076, 0.99605873, 0.99792072, 0.49286266],
++												 [	-6.26918862, -0.00128851, 0.00078991, 7.26790011, 0.99606037, 0.99792158, 0.49286308],
++												 [	-6.26919740, -0.00128798, 0.00078958, 7.26790942, 0.99606201, 0.99792244, 0.49286350],
++												 [	-6.26920615, -0.00128744, 0.00078926, 7.26791871, 0.99606364, 0.99792330, 0.49286392],
++												 [	-6.26921488, -0.00128691, 0.00078893, 7.26792797, 0.99606528, 0.99792416, 0.49286436],
++												 [	-6.26922357, -0.00128638, 0.00078860, 7.26793719, 0.99606691, 0.99792502, 0.49286478],
++												 [	-6.26923223, -0.00128585, 0.00078828, 7.26794639, 0.99606854, 0.99792588, 0.49286521],
++												 [	-6.26924086, -0.00128531, 0.00078795, 7.26795555, 0.99607017, 0.99792673, 0.49286564],
++												 [	-6.26924947, -0.00128478, 0.00078763, 7.26796468, 0.99607180, 0.99792759, 0.49286605],
++												 [	-6.26925804, -0.00128425, 0.00078730, 7.26797379, 0.99607343, 0.99792845, 0.49286646],
++												 [	-6.26926658, -0.00128372, 0.00078698, 7.26798286, 0.99607506, 0.99792930, 0.49286689],
++												 [	-6.26927510, -0.00128319, 0.00078665, 7.26799191, 0.99607668, 0.99793016, 0.49286730],
++												 [	-6.26928358, -0.00128266, 0.00078633, 7.26800092, 0.99607831, 0.99793101, 0.49286770],
++												 [	-6.26929204, -0.00128213, 0.00078601, 7.26800991, 0.99607993, 0.99793186, 0.49286812],
++												 [	-6.26930047, -0.00128160, 0.00078568, 7.26801887, 0.99608155, 0.99793272, 0.49286854],
++												 [	-6.26930887, -0.00128107, 0.00078536, 7.26802779, 0.99608317, 0.99793357, 0.49286895],
++												 [	-6.26931724, -0.00128054, 0.00078504, 7.26803669, 0.99608479, 0.99793442, 0.49286937],
++												 [	-6.26932558, -0.00128002, 0.00078471, 7.26804556, 0.99608641, 0.99793527, 0.49286977],
++												 [	-6.26933389, -0.00127949, 0.00078439, 7.26805440, 0.99608802, 0.99793612, 0.49287019],
++												 [	-6.26934217, -0.00127896, 0.00078407, 7.26806321, 0.99608964, 0.99793697, 0.49287058],
++												 [	-6.26935043, -0.00127844, 0.00078375, 7.26807199, 0.99609125, 0.99793782, 0.49287100],
++												 [	-6.26935866, -0.00127791, 0.00078342, 7.26808075, 0.99609287, 0.99793867, 0.49287142],
++												 [	-6.26936686, -0.00127738, 0.00078310, 7.26808947, 0.99609448, 0.99793951, 0.49287182],
++												 [	-6.26937503, -0.00127686, 0.00078278, 7.26809817, 0.99609609, 0.99794036, 0.49287224],
++												 [	-6.26938317, -0.00127634, 0.00078246, 7.26810683, 0.99609769, 0.99794120, 0.49287263],
++												 [	-6.26939129, -0.00127581, 0.00078214, 7.26811547, 0.99609930, 0.99794205, 0.49287302],
++												 [	-6.26939937, -0.00127529, 0.00078182, 7.26812409, 0.99610091, 0.99794289, 0.49287345],
++												 [	-6.26940743, -0.00127476, 0.00078150, 7.26813267, 0.99610251, 0.99794374, 0.49287384],
++												 [	-6.26941547, -0.00127424, 0.00078118, 7.26814123, 0.99610411, 0.99794458, 0.49287423],
++												 [	-6.26942347, -0.00127372, 0.00078086, 7.26814975, 0.99610572, 0.99794542, 0.49287464],
++												 [	-6.26943145, -0.00127320, 0.00078054, 7.26815825, 0.99610732, 0.99794626, 0.49287504],
++												 [	-6.26943940, -0.00127267, 0.00078022, 7.26816673, 0.99610892, 0.99794711, 0.49287543],
++												 [	-6.26944732, -0.00127215, 0.00077990, 7.26817517, 0.99611051, 0.99794795, 0.49287581],
++												 [	-6.26945522, -0.00127163, 0.00077958, 7.26818359, 0.99611211, 0.99794879, 0.49287621],
++												 [	-6.26946309, -0.00127111, 0.00077926, 7.26819198, 0.99611370, 0.99794962, 0.49287661],
++												 [	-6.26947093, -0.00127059, 0.00077895, 7.26820034, 0.99611530, 0.99795046, 0.49287701],
++												 [	-6.26947875, -0.00127007, 0.00077863, 7.26820868, 0.99611689, 0.99795130, 0.49287739],
++												 [	-6.26948654, -0.00126955, 0.00077831, 7.26821698, 0.99611848, 0.99795214, 0.49287779],
++												 [	-6.26949430, -0.00126903, 0.00077799, 7.26822527, 0.99612007, 0.99795297, 0.49287817],
++												 [	-6.26950204, -0.00126852, 0.00077768, 7.26823352, 0.99612166, 0.99795381, 0.49287857],
++												 [	-6.26950975, -0.00126800, 0.00077736, 7.26824175, 0.99612325, 0.99795464, 0.49287896],
++												 [	-6.26951743, -0.00126748, 0.00077704, 7.26824995, 0.99612484, 0.99795548, 0.49287934],
++												 [	-6.26952509, -0.00126696, 0.00077673, 7.26825813, 0.99612642, 0.99795631, 0.49287973],
++												 [	-6.26953272, -0.00126645, 0.00077641, 7.26826627, 0.99612800, 0.99795714, 0.49288012],
++												 [	-6.26954033, -0.00126593, 0.00077609, 7.26827440, 0.99612959, 0.99795798, 0.49288050],
++												 [	-6.26954791, -0.00126541, 0.00077578, 7.26828249, 0.99613117, 0.99795881, 0.49288087],
++												 [	-6.26955546, -0.00126490, 0.00077546, 7.26829056, 0.99613275, 0.99795964, 0.49288126],
++												 [	-6.26956299, -0.00126438, 0.00077515, 7.26829860, 0.99613433, 0.99796047, 0.49288164],
++												 [	-6.26957049, -0.00126387, 0.00077483, 7.26830662, 0.99613590, 0.99796130, 0.49288203],
++												 [	-6.26957797, -0.00126335, 0.00077452, 7.26831461, 0.99613748, 0.99796213, 0.49288240],
++												 [	-6.26958542, -0.00126284, 0.00077420, 7.26832258, 0.99613905, 0.99796296, 0.49288278],
++												 [	-6.26959285, -0.00126233, 0.00077389, 7.26833052, 0.99614063, 0.99796378, 0.49288317],
++												 [	-6.26960025, -0.00126181, 0.00077357, 7.26833844, 0.99614220, 0.99796461, 0.49288354],
++												 [	-6.26960763, -0.00126130, 0.00077326, 7.26834632, 0.99614377, 0.99796544, 0.49288392],
++												 [	-6.26961498, -0.00126079, 0.00077295, 7.26835419, 0.99614534, 0.99796626, 0.49288432],
++												 [	-6.26962230, -0.00126028, 0.00077263, 7.26836203, 0.99614691, 0.99796709, 0.49288467],
++												 [	-6.26962961, -0.00125977, 0.00077232, 7.26836984, 0.99614847, 0.99796791, 0.49288504],
++												 [	-6.26963688, -0.00125926, 0.00077201, 7.26837763, 0.99615004, 0.99796874, 0.49288540],
++												 [	-6.26964414, -0.00125874, 0.00077170, 7.26838539, 0.99615160, 0.99796956, 0.49288580],
++												 [	-6.26965137, -0.00125823, 0.00077138, 7.26839313, 0.99615317, 0.99797038, 0.49288618],
++												 [	-6.26965857, -0.00125772, 0.00077107, 7.26840084, 0.99615473, 0.99797120, 0.49288651],
++												 [	-6.26966575, -0.00125722, 0.00077076, 7.26840853, 0.99615629, 0.99797202, 0.49288691],
++												 [	-6.26967290, -0.00125671, 0.00077045, 7.26841620, 0.99615785, 0.99797284, 0.49288729],
++												 [	-6.26968003, -0.00125620, 0.00077014, 7.26842384, 0.99615941, 0.99797366, 0.49288765],
++												 [	-6.26968714, -0.00125569, 0.00076983, 7.26843145, 0.99616097, 0.99797448, 0.49288801],
++												 [	-6.26969422, -0.00125518, 0.00076952, 7.26843904, 0.99616252, 0.99797530, 0.49288835],
++												 [	-6.26970128, -0.00125468, 0.00076920, 7.26844661, 0.99616408, 0.99797612, 0.49288872],
++												 [	-6.26970832, -0.00125417, 0.00076889, 7.26845415, 0.99616563, 0.99797694, 0.49288910],
++												 [	-6.26971533, -0.00125366, 0.00076858, 7.26846167, 0.99616718, 0.99797775, 0.49288946],
++												 [	-6.26972232, -0.00125316, 0.00076827, 7.26846916, 0.99616873, 0.99797857, 0.49288983],
++												 [	-6.26972928, -0.00125265, 0.00076797, 7.26847663, 0.99617028, 0.99797938, 0.49289019],
++												 [	-6.26973622, -0.00125214, 0.00076766, 7.26848408, 0.99617183, 0.99798020, 0.49289056],
++												 [	-6.26974314, -0.00125164, 0.00076735, 7.26849150, 0.99617338, 0.99798101, 0.49289092],
++												 [	-6.26975003, -0.00125114, 0.00076704, 7.26849890, 0.99617492, 0.99798183, 0.49289126],
++												 [	-6.26975691, -0.00125063, 0.00076673, 7.26850627, 0.99617647, 0.99798264, 0.49289162],
++												 [	-6.26976375, -0.00125013, 0.00076642, 7.26851363, 0.99617801, 0.99798345, 0.49289199],
++												 [	-6.26977058, -0.00124962, 0.00076611, 7.26852095, 0.99617955, 0.99798426, 0.49289234],
++												 [	-6.26977738, -0.00124912, 0.00076581, 7.26852826, 0.99618109, 0.99798507, 0.49289269],
++												 [	-6.26978416, -0.00124862, 0.00076550, 7.26853554, 0.99618263, 0.99798588, 0.49289304],
++												 [	-6.26979092, -0.00124812, 0.00076519, 7.26854280, 0.99618417, 0.99798669, 0.49289341],
++												 [	-6.26979765, -0.00124762, 0.00076488, 7.26855003, 0.99618571, 0.99798750, 0.49289376],
++												 [	-6.26980436, -0.00124711, 0.00076458, 7.26855725, 0.99618724, 0.99798831, 0.49289409],
++												 [	-6.26981105, -0.00124661, 0.00076427, 7.26856444, 0.99618878, 0.99798912, 0.49289444],
++												 [	-6.26981772, -0.00124611, 0.00076396, 7.26857160, 0.99619031, 0.99798992, 0.49289482],
++												 [	-6.26982436, -0.00124561, 0.00076366, 7.26857875, 0.99619184, 0.99799073, 0.49289516],
++												 [	-6.26983098, -0.00124511, 0.00076335, 7.26858587, 0.99619337, 0.99799154, 0.49289554],
++												 [	-6.26983758, -0.00124461, 0.00076305, 7.26859297, 0.99619490, 0.99799234, 0.49289586],
++												 [	-6.26984416, -0.00124412, 0.00076274, 7.26860004, 0.99619643, 0.99799314, 0.49289620],
++												 [	-6.26985071, -0.00124362, 0.00076244, 7.26860710, 0.99619796, 0.99799395, 0.49289657],
++												 [	-6.26985725, -0.00124312, 0.00076213, 7.26861413, 0.99619949, 0.99799475, 0.49289690],
++												 [	-6.26986376, -0.00124262, 0.00076183, 7.26862114, 0.99620101, 0.99799555, 0.49289724],
++												 [	-6.26987025, -0.00124212, 0.00076152, 7.26862812, 0.99620253, 0.99799636, 0.49289757],
++												 [	-6.26987672, -0.00124163, 0.00076122, 7.26863509, 0.99620406, 0.99799716, 0.49289792],
++												 [	-6.26988316, -0.00124113, 0.00076091, 7.26864203, 0.99620558, 0.99799796, 0.49289828],
++												 [	-6.26988959, -0.00124063, 0.00076061, 7.26864895, 0.99620710, 0.99799876, 0.49289862],
++												 [	-6.26989599, -0.00124014, 0.00076031, 7.26865585, 0.99620862, 0.99799956, 0.49289895],
++												 [	-6.26990237, -0.00123964, 0.00076000, 7.26866273, 0.99621013, 0.99800035, 0.49289931],
++												 [	-6.26990873, -0.00123915, 0.00075970, 7.26866958, 0.99621165, 0.99800115, 0.49289965],
++												 [	-6.26991507, -0.00123865, 0.00075940, 7.26867642, 0.99621317, 0.99800195, 0.49289998],
++												 [	-6.26992139, -0.00123816, 0.00075909, 7.26868323, 0.99621468, 0.99800275, 0.49290032],
++												 [	-6.26992769, -0.00123767, 0.00075879, 7.26869002, 0.99621619, 0.99800354, 0.49290066],
++												 [	-6.26993396, -0.00123717, 0.00075849, 7.26869679, 0.99621770, 0.99800434, 0.49290100],
++												 [	-6.26994022, -0.00123668, 0.00075819, 7.26870354, 0.99621921, 0.99800513, 0.49290132],
++												 [	-6.26994645, -0.00123619, 0.00075789, 7.26871027, 0.99622072, 0.99800593, 0.49290166],
++												 [	-6.26995267, -0.00123569, 0.00075758, 7.26871697, 0.99622223, 0.99800672, 0.49290199],
++												 [	-6.26995886, -0.00123520, 0.00075728, 7.26872366, 0.99622374, 0.99800751, 0.49290231],
++												 [	-6.26996503, -0.00123471, 0.00075698, 7.26873032, 0.99622524, 0.99800831, 0.49290268],
++												 [	-6.26997119, -0.00123422, 0.00075668, 7.26873697, 0.99622675, 0.99800910, 0.49290298],
++												 [	-6.26997732, -0.00123373, 0.00075638, 7.26874359, 0.99622825, 0.99800989, 0.49290333],
++												 [	-6.26998343, -0.00123324, 0.00075608, 7.26875019, 0.99622975, 0.99801068, 0.49290366],
++												 [	-6.26998952, -0.00123275, 0.00075578, 7.26875677, 0.99623126, 0.99801147, 0.49290397],
++												 [	-6.26999559, -0.00123226, 0.00075548, 7.26876333, 0.99623275, 0.99801226, 0.49290432],
++												 [	-6.27000164, -0.00123177, 0.00075518, 7.26876987, 0.99623425, 0.99801305, 0.49290464],
++												 [	-6.27000767, -0.00123128, 0.00075488, 7.26877639, 0.99623575, 0.99801384, 0.49290499],
++												 [	-6.27001368, -0.00123079, 0.00075458, 7.26878289, 0.99623725, 0.99801462, 0.49290530],
++												 [	-6.27001968, -0.00123031, 0.00075428, 7.26878937, 0.99623874, 0.99801541, 0.49290562],
++												 [	-6.27002565, -0.00122982, 0.00075399, 7.26879583, 0.99624024, 0.99801620, 0.49290596],
++												 [	-6.27003160, -0.00122933, 0.00075369, 7.26880227, 0.99624173, 0.99801698, 0.49290628],
++												 [	-6.27003753, -0.00122884, 0.00075339, 7.26880869, 0.99624322, 0.99801777, 0.49290660],
++												 [	-6.27004344, -0.00122836, 0.00075309, 7.26881508, 0.99624471, 0.99801855, 0.49290693],
++												 [	-6.27004933, -0.00122787, 0.00075279, 7.26882146, 0.99624620, 0.99801934, 0.49290725],
++												 [	-6.27005521, -0.00122739, 0.00075250, 7.26882782, 0.99624769, 0.99802012, 0.49290756],
++												 [	-6.27006106, -0.00122690, 0.00075220, 7.26883416, 0.99624917, 0.99802090, 0.49290790],
++												 [	-6.27006690, -0.00122642, 0.00075190, 7.26884048, 0.99625066, 0.99802168, 0.49290821],
++												 [	-6.27007271, -0.00122593, 0.00075160, 7.26884678, 0.99625214, 0.99802246, 0.49290851],
++												 [	-6.27007851, -0.00122545, 0.00075131, 7.26885306, 0.99625363, 0.99802324, 0.49290885],
++												 [	-6.27008428, -0.00122496, 0.00075101, 7.26885932, 0.99625511, 0.99802402, 0.49290916],
++												 [	-6.27009004, -0.00122448, 0.00075072, 7.26886556, 0.99625659, 0.99802480, 0.49290948],
++												 [	-6.27009578, -0.00122400, 0.00075042, 7.26887178, 0.99625807, 0.99802558, 0.49290980],
++												 [	-6.27010150, -0.00122351, 0.00075012, 7.26887799, 0.99625955, 0.99802636, 0.49291012],
++												 [	-6.27010720, -0.00122303, 0.00074983, 7.26888417, 0.99626102, 0.99802714, 0.49291045],
++												 [	-6.27011288, -0.00122255, 0.00074953, 7.26889033, 0.99626250, 0.99802792, 0.49291075],
++												 [	-6.27011855, -0.00122207, 0.00074924, 7.26889648, 0.99626398, 0.99802869, 0.49291108],
++												 [	-6.27012419, -0.00122159, 0.00074894, 7.26890260, 0.99626545, 0.99802947, 0.49291137],
++												 [	-6.27012982, -0.00122111, 0.00074865, 7.26890871, 0.99626692, 0.99803024, 0.49291169],
++												 [	-6.27013543, -0.00122063, 0.00074836, 7.26891480, 0.99626839, 0.99803102, 0.49291199],
++												 [	-6.27014102, -0.00122015, 0.00074806, 7.26892087, 0.99626986, 0.99803179, 0.49291232],
++												 [	-6.27014659, -0.00121967, 0.00074777, 7.26892692, 0.99627133, 0.99803257, 0.49291262],
++												 [	-6.27015214, -0.00121919, 0.00074747, 7.26893295, 0.99627280, 0.99803334, 0.49291295],
++												 [	-6.27015767, -0.00121871, 0.00074718, 7.26893897, 0.99627427, 0.99803411, 0.49291325],
++												 [	-6.27016319, -0.00121823, 0.00074689, 7.26894496, 0.99627574, 0.99803488, 0.49291356],
++												 [	-6.27016869, -0.00121775, 0.00074659, 7.26895094, 0.99627720, 0.99803565, 0.49291386],
++												 [	-6.27017417, -0.00121727, 0.00074630, 7.26895690, 0.99627866, 0.99803642, 0.49291418],
++												 [	-6.27017963, -0.00121680, 0.00074601, 7.26896284, 0.99628013, 0.99803719, 0.49291448],
++												 [	-6.27018508, -0.00121632, 0.00074572, 7.26896876, 0.99628159, 0.99803796, 0.49291478],
++												 [	-6.27019050, -0.00121584, 0.00074543, 7.26897466, 0.99628305, 0.99803873, 0.49291509],
++												 [	-6.27019591, -0.00121537, 0.00074513, 7.26898055, 0.99628451, 0.99803950, 0.49291539],
++												 [	-6.27020130, -0.00121489, 0.00074484, 7.26898641, 0.99628596, 0.99804027, 0.49291571],
++												 [	-6.27020668, -0.00121441, 0.00074455, 7.26899226, 0.99628742, 0.99804103, 0.49291599],
++												 [	-6.27021203, -0.00121394, 0.00074426, 7.26899810, 0.99628888, 0.99804180, 0.49291629],
++												 [	-6.27021737, -0.00121346, 0.00074397, 7.26900391, 0.99629033, 0.99804257, 0.49291660],
++												 [	-6.27022270, -0.00121299, 0.00074368, 7.26900971, 0.99629178, 0.99804333, 0.49291688],
++												 [	-6.27022800, -0.00121252, 0.00074339, 7.26901548, 0.99629324, 0.99804410, 0.49291722],
++												 [	-6.27023329, -0.00121204, 0.00074310, 7.26902124, 0.99629469, 0.99804486, 0.49291750],
++												 [	-6.27023856, -0.00121157, 0.00074281, 7.26902699, 0.99629614, 0.99804562, 0.49291781],
++												 [	-6.27024381, -0.00121110, 0.00074252, 7.26903271, 0.99629759, 0.99804639, 0.49291812],
++												 [	-6.27024904, -0.00121062, 0.00074223, 7.26903842, 0.99629903, 0.99804715, 0.49291840],
++												 [	-6.27025426, -0.00121015, 0.00074194, 7.26904411, 0.99630048, 0.99804791, 0.49291870],
++												 [	-6.27025946, -0.00120968, 0.00074165, 7.26904979, 0.99630193, 0.99804867, 0.49291902],
++												 [	-6.27026465, -0.00120921, 0.00074136, 7.26905544, 0.99630337, 0.99804943, 0.49291932],
++												 [	-6.27026982, -0.00120874, 0.00074107, 7.26906108, 0.99630481, 0.99805019, 0.49291960],
++												 [	-6.27027497, -0.00120827, 0.00074078, 7.26906670, 0.99630626, 0.99805095, 0.49291988],
++												 [	-6.27028010, -0.00120780, 0.00074050, 7.26907231, 0.99630770, 0.99805171, 0.49292018],
++												 [	-6.27028522, -0.00120732, 0.00074021, 7.26907789, 0.99630914, 0.99805247, 0.49292047],
++												 [	-6.27029032, -0.00120686, 0.00073992, 7.26908347, 0.99631057, 0.99805322, 0.49292077],
++												 [	-6.27029541, -0.00120639, 0.00073963, 7.26908902, 0.99631201, 0.99805398, 0.49292106],
++												 [	-6.27030047, -0.00120592, 0.00073934, 7.26909456, 0.99631345, 0.99805474, 0.49292137],
++												 [	-6.27030552, -0.00120545, 0.00073906, 7.26910008, 0.99631488, 0.99805549, 0.49292164],
++												 [	-6.27031056, -0.00120498, 0.00073877, 7.26910558, 0.99631632, 0.99805625, 0.49292193],
++												 [	-6.27031558, -0.00120451, 0.00073848, 7.26911107, 0.99631775, 0.99805700, 0.49292223],
++												 [	-6.27032058, -0.00120404, 0.00073820, 7.26911654, 0.99631918, 0.99805776, 0.49292252],
++												 [	-6.27032557, -0.00120358, 0.00073791, 7.26912199, 0.99632061, 0.99805851, 0.49292278],
++												 [	-6.27033054, -0.00120311, 0.00073763, 7.26912743, 0.99632204, 0.99805926, 0.49292312],
++												 [	-6.27033549, -0.00120264, 0.00073734, 7.26913285, 0.99632347, 0.99806002, 0.49292338],
++												 [	-6.27034043, -0.00120218, 0.00073705, 7.26913825, 0.99632490, 0.99806077, 0.49292367],
++												 [	-6.27034536, -0.00120171, 0.00073677, 7.26914364, 0.99632633, 0.99806152, 0.49292394],
++												 [	-6.27035026, -0.00120125, 0.00073648, 7.26914902, 0.99632775, 0.99806227, 0.49292425],
++												 [	-6.27035515, -0.00120078, 0.00073620, 7.26915437, 0.99632918, 0.99806302, 0.49292452],
++												 [	-6.27036003, -0.00120032, 0.00073591, 7.26915971, 0.99633060, 0.99806377, 0.49292480],
++												 [	-6.27036489, -0.00119985, 0.00073563, 7.26916504, 0.99633202, 0.99806452, 0.49292511],
++												 [	-6.27036973, -0.00119939, 0.00073535, 7.26917034, 0.99633344, 0.99806527, 0.49292536],
++												 [	-6.27037456, -0.00119892, 0.00073506, 7.26917564, 0.99633486, 0.99806601, 0.49292567],
++												 [	-6.27037937, -0.00119846, 0.00073478, 7.26918091, 0.99633628, 0.99806676, 0.49292595],
++												 [	-6.27038417, -0.00119800, 0.00073449, 7.26918617, 0.99633770, 0.99806751, 0.49292622],
++												 [	-6.27038895, -0.00119754, 0.00073421, 7.26919142, 0.99633912, 0.99806825, 0.49292651],
++												 [	-6.27039372, -0.00119707, 0.00073393, 7.26919664, 0.99634053, 0.99806900, 0.49292678],
++												 [	-6.27039847, -0.00119661, 0.00073364, 7.26920186, 0.99634195, 0.99806974, 0.49292707],
++												 [	-6.27040321, -0.00119615, 0.00073336, 7.26920706, 0.99634336, 0.99807049, 0.49292736],
++												 [	-6.27040793, -0.00119569, 0.00073308, 7.26921224, 0.99634477, 0.99807123, 0.49292762],
++												 [	-6.27041263, -0.00119523, 0.00073280, 7.26921740, 0.99634618, 0.99807198, 0.49292790],
++												 [	-6.27041732, -0.00119477, 0.00073251, 7.26922256, 0.99634759, 0.99807272, 0.49292816],
++												 [	-6.27042200, -0.00119431, 0.00073223, 7.26922769, 0.99634900, 0.99807346, 0.49292845],
++												 [	-6.27042666, -0.00119385, 0.00073195, 7.26923281, 0.99635041, 0.99807420, 0.49292873],
++												 [	-6.27043131, -0.00119339, 0.00073167, 7.26923792, 0.99635182, 0.99807494, 0.49292902],
++												 [	-6.27043594, -0.00119293, 0.00073139, 7.26924301, 0.99635322, 0.99807568, 0.49292929],
++												 [	-6.27044055, -0.00119247, 0.00073111, 7.26924808, 0.99635463, 0.99807642, 0.49292955],
++												 [	-6.27044516, -0.00119201, 0.00073083, 7.26925314, 0.99635603, 0.99807716, 0.49292983],
++												 [	-6.27044974, -0.00119155, 0.00073054, 7.26925819, 0.99635743, 0.99807790, 0.49293011],
++												 [	-6.27045432, -0.00119110, 0.00073026, 7.26926322, 0.99635884, 0.99807864, 0.49293037],
++												 [	-6.27045887, -0.00119064, 0.00072998, 7.26926823, 0.99636024, 0.99807938, 0.49293066],
++												 [	-6.27046342, -0.00119018, 0.00072970, 7.26927323, 0.99636164, 0.99808011, 0.49293095],
++												 [	-6.27046795, -0.00118973, 0.00072942, 7.26927822, 0.99636303, 0.99808085, 0.49293118],
++												 [	-6.27047246, -0.00118927, 0.00072914, 7.26928319, 0.99636443, 0.99808158, 0.49293146],
++												 [	-6.27047696, -0.00118881, 0.00072887, 7.26928815, 0.99636583, 0.99808232, 0.49293175],
++												 [	-6.27048145, -0.00118836, 0.00072859, 7.26929309, 0.99636722, 0.99808305, 0.49293201],
++												 [	-6.27048592, -0.00118790, 0.00072831, 7.26929802, 0.99636862, 0.99808379, 0.49293228],
++												 [	-6.27049038, -0.00118745, 0.00072803, 7.26930293, 0.99637001, 0.99808452, 0.49293255],
++												 [	-6.27049482, -0.00118699, 0.00072775, 7.26930783, 0.99637140, 0.99808526, 0.49293281],
++												 [	-6.27049925, -0.00118654, 0.00072747, 7.26931271, 0.99637279, 0.99808599, 0.49293309],
++												 [	-6.27050366, -0.00118609, 0.00072719, 7.26931758, 0.99637418, 0.99808672, 0.49293334],
++												 [	-6.27050807, -0.00118563, 0.00072692, 7.26932243, 0.99637557, 0.99808745, 0.49293360],
++												 [	-6.27051245, -0.00118518, 0.00072664, 7.26932727, 0.99637696, 0.99808818, 0.49293390],
++												 [	-6.27051683, -0.00118473, 0.00072636, 7.26933210, 0.99637835, 0.99808891, 0.49293415],
++												 [	-6.27052119, -0.00118427, 0.00072608, 7.26933691, 0.99637973, 0.99808964, 0.49293444],
++												 [	-6.27052553, -0.00118382, 0.00072581, 7.26934171, 0.99638112, 0.99809037, 0.49293467],
++												 [	-6.27052986, -0.00118337, 0.00072553, 7.26934649, 0.99638250, 0.99809110, 0.49293494],
++												 [	-6.27053418, -0.00118292, 0.00072525, 7.26935126, 0.99638388, 0.99809183, 0.49293521],
++												 [	-6.27053849, -0.00118247, 0.00072498, 7.26935602, 0.99638526, 0.99809256, 0.49293547],
++												 [	-6.27054278, -0.00118202, 0.00072470, 7.26936076, 0.99638664, 0.99809328, 0.49293575],
++												 [	-6.27054706, -0.00118157, 0.00072442, 7.26936549, 0.99638802, 0.99809401, 0.49293600],
++												 [	-6.27055132, -0.00118112, 0.00072415, 7.26937020, 0.99638940, 0.99809474, 0.49293625],
++												 [	-6.27055557, -0.00118067, 0.00072387, 7.26937491, 0.99639078, 0.99809546, 0.49293651],
++												 [	-6.27055981, -0.00118022, 0.00072360, 7.26937959, 0.99639215, 0.99809619, 0.49293677],
++												 [	-6.27056403, -0.00117977, 0.00072332, 7.26938427, 0.99639353, 0.99809691, 0.49293703],
++												 [	-6.27056825, -0.00117932, 0.00072305, 7.26938893, 0.99639490, 0.99809763, 0.49293729],
++												 [	-6.27057244, -0.00117887, 0.00072277, 7.26939357, 0.99639628, 0.99809836, 0.49293754],
++												 [	-6.27057663, -0.00117842, 0.00072250, 7.26939820, 0.99639765, 0.99809908, 0.49293783],
++												 [	-6.27058080, -0.00117798, 0.00072222, 7.26940282, 0.99639902, 0.99809980, 0.49293807],
++												 [	-6.27058496, -0.00117753, 0.00072195, 7.26940743, 0.99640039, 0.99810052, 0.49293833],
++												 [	-6.27058910, -0.00117708, 0.00072167, 7.26941202, 0.99640176, 0.99810124, 0.49293858],
++												 [	-6.27059324, -0.00117663, 0.00072140, 7.26941660, 0.99640312, 0.99810196, 0.49293885],
++												 [	-6.27059736, -0.00117619, 0.00072113, 7.26942117, 0.99640449, 0.99810268, 0.49293910],
++												 [	-6.27060146, -0.00117574, 0.00072085, 7.26942572, 0.99640586, 0.99810340, 0.49293936],
++												 [	-6.27060556, -0.00117530, 0.00072058, 7.26943026, 0.99640722, 0.99810412, 0.49293961],
++												 [	-6.27060964, -0.00117485, 0.00072031, 7.26943479, 0.99640859, 0.99810484, 0.49293988],
++												 [	-6.27061371, -0.00117441, 0.00072004, 7.26943930, 0.99640995, 0.99810556, 0.49294014],
++												 [	-6.27061776, -0.00117396, 0.00071976, 7.26944380, 0.99641131, 0.99810628, 0.49294037],
++												 [	-6.27062180, -0.00117352, 0.00071949, 7.26944829, 0.99641267, 0.99810699, 0.49294061],
++												 [	-6.27062583, -0.00117307, 0.00071922, 7.26945276, 0.99641403, 0.99810771, 0.49294091],
++												 [	-6.27062985, -0.00117263, 0.00071895, 7.26945722, 0.99641539, 0.99810842, 0.49294113],
++												 [	-6.27063386, -0.00117219, 0.00071867, 7.26946167, 0.99641675, 0.99810914, 0.49294137],
++												 [	-6.27063785, -0.00117174, 0.00071840, 7.26946611, 0.99641810, 0.99810985, 0.49294161],
++												 [	-6.27064183, -0.00117130, 0.00071813, 7.26947053, 0.99641946, 0.99811057, 0.49294187],
++												 [	-6.27064580, -0.00117086, 0.00071786, 7.26947494, 0.99642081, 0.99811128, 0.49294216],
++												 [	-6.27064976, -0.00117042, 0.00071759, 7.26947934, 0.99642217, 0.99811199, 0.49294239],
++												 [	-6.27065370, -0.00116997, 0.00071732, 7.26948372, 0.99642352, 0.99811271, 0.49294263],
++												 [	-6.27065763, -0.00116953, 0.00071705, 7.26948810, 0.99642487, 0.99811342, 0.49294289],
++												 [	-6.27066155, -0.00116909, 0.00071678, 7.26949246, 0.99642622, 0.99811413, 0.49294314],
++												 [	-6.27066546, -0.00116865, 0.00071651, 7.26949680, 0.99642757, 0.99811484, 0.49294338],
++												 [	-6.27066935, -0.00116821, 0.00071624, 7.26950114, 0.99642892, 0.99811555, 0.49294362],
++												 [	-6.27067323, -0.00116777, 0.00071597, 7.26950546, 0.99643026, 0.99811626, 0.49294387],
++												 [	-6.27067711, -0.00116733, 0.00071570, 7.26950977, 0.99643161, 0.99811697, 0.49294414],
++												 [	-6.27068096, -0.00116689, 0.00071543, 7.26951407, 0.99643296, 0.99811768, 0.49294435],
++												 [	-6.27068481, -0.00116645, 0.00071516, 7.26951836, 0.99643430, 0.99811839, 0.49294462],
++												 [	-6.27068865, -0.00116601, 0.00071489, 7.26952263, 0.99643564, 0.99811909, 0.49294486],
++												 [	-6.27069247, -0.00116558, 0.00071462, 7.26952689, 0.99643699, 0.99811980, 0.49294512],
++												 [	-6.27069628, -0.00116514, 0.00071435, 7.26953114, 0.99643833, 0.99812051, 0.49294533],
++												 [	-6.27070008, -0.00116470, 0.00071409, 7.26953538, 0.99643967, 0.99812121, 0.49294559],
++												 [	-6.27070387, -0.00116426, 0.00071382, 7.26953961, 0.99644101, 0.99812192, 0.49294582],
++												 [	-6.27070765, -0.00116383, 0.00071355, 7.26954382, 0.99644235, 0.99812262, 0.49294607],
++												 [	-6.27071141, -0.00116339, 0.00071328, 7.26954802, 0.99644368, 0.99812333, 0.49294633],
++												 [	-6.27071516, -0.00116295, 0.00071301, 7.26955221, 0.99644502, 0.99812403, 0.49294657],
++												 [	-6.27071891, -0.00116252, 0.00071275, 7.26955639, 0.99644635, 0.99812474, 0.49294678],
++												 [	-6.27072264, -0.00116208, 0.00071248, 7.26956056, 0.99644769, 0.99812544, 0.49294701],
++												 [	-6.27072636, -0.00116165, 0.00071221, 7.26956471, 0.99644902, 0.99812614, 0.49294726],
++												 [	-6.27073006, -0.00116121, 0.00071195, 7.26956885, 0.99645035, 0.99812684, 0.49294753],
++												 [	-6.27073376, -0.00116078, 0.00071168, 7.26957298, 0.99645169, 0.99812755, 0.49294774],
++												 [	-6.27073744, -0.00116034, 0.00071141, 7.26957710, 0.99645302, 0.99812825, 0.49294799],
++												 [	-6.27074112, -0.00115991, 0.00071115, 7.26958121, 0.99645434, 0.99812895, 0.49294824],
++												 [	-6.27074478, -0.00115947, 0.00071088, 7.26958531, 0.99645567, 0.99812965, 0.49294849],
++												 [	-6.27074843, -0.00115904, 0.00071062, 7.26958939, 0.99645700, 0.99813035, 0.49294867],
++												 [	-6.27075207, -0.00115861, 0.00071035, 7.26959347, 0.99645833, 0.99813104, 0.49294894],
++												 [	-6.27075570, -0.00115817, 0.00071008, 7.26959753, 0.99645965, 0.99813174, 0.49294918],
++												 [	-6.27075932, -0.00115774, 0.00070982, 7.26960158, 0.99646098, 0.99813244, 0.49294940],
++												 [	-6.27076293, -0.00115731, 0.00070955, 7.26960562, 0.99646230, 0.99813314, 0.49294966],
++												 [	-6.27076652, -0.00115688, 0.00070929, 7.26960965, 0.99646362, 0.99813383, 0.49294988],
++												 [	-6.27077011, -0.00115644, 0.00070902, 7.26961366, 0.99646494, 0.99813453, 0.49295014],
++												 [	-6.27077368, -0.00115601, 0.00070876, 7.26961767, 0.99646626, 0.99813523, 0.49295035],
++												 [	-6.27077724, -0.00115558, 0.00070850, 7.26962166, 0.99646758, 0.99813592, 0.49295058],
++												 [	-6.27078080, -0.00115515, 0.00070823, 7.26962565, 0.99646890, 0.99813662, 0.49295081],
++												 [	-6.27078434, -0.00115472, 0.00070797, 7.26962962, 0.99647022, 0.99813731, 0.49295107],
++												 [	-6.27078787, -0.00115429, 0.00070770, 7.26963358, 0.99647154, 0.99813800, 0.49295129],
++												 [	-6.27079139, -0.00115386, 0.00070744, 7.26963753, 0.99647285, 0.99813870, 0.49295151],
++												 [	-6.27079490, -0.00115343, 0.00070718, 7.26964147, 0.99647417, 0.99813939, 0.49295175],
++												 [	-6.27079840, -0.00115300, 0.00070692, 7.26964540, 0.99647548, 0.99814008, 0.49295200],
++												 [	-6.27080189, -0.00115257, 0.00070665, 7.26964931, 0.99647679, 0.99814077, 0.49295221],
++												 [	-6.27080537, -0.00115215, 0.00070639, 7.26965322, 0.99647810, 0.99814146, 0.49295246],
++												 [	-6.27080883, -0.00115172, 0.00070613, 7.26965711, 0.99647941, 0.99814215, 0.49295267],
++												 [	-6.27081229, -0.00115129, 0.00070586, 7.26966100, 0.99648072, 0.99814284, 0.49295289],
++												 [	-6.27081574, -0.00115086, 0.00070560, 7.26966487, 0.99648203, 0.99814353, 0.49295314],
++												 [	-6.27081917, -0.00115044, 0.00070534, 7.26966874, 0.99648334, 0.99814422, 0.49295337],
++												 [	-6.27082260, -0.00115001, 0.00070508, 7.26967259, 0.99648465, 0.99814491, 0.49295357],
++												 [	-6.27082601, -0.00114958, 0.00070482, 7.26967643, 0.99648595, 0.99814560, 0.49295381],
++												 [	-6.27082942, -0.00114916, 0.00070456, 7.26968026, 0.99648726, 0.99814629, 0.49295404],
++												 [	-6.27083281, -0.00114873, 0.00070430, 7.26968408, 0.99648856, 0.99814697, 0.49295428],
++												 [	-6.27083620, -0.00114830, 0.00070403, 7.26968789, 0.99648986, 0.99814766, 0.49295451],
++												 [	-6.27083957, -0.00114788, 0.00070377, 7.26969169, 0.99649117, 0.99814835, 0.49295473],
++												 [	-6.27084294, -0.00114745, 0.00070351, 7.26969548, 0.99649247, 0.99814903, 0.49295497],
++												 [	-6.27084629, -0.00114703, 0.00070325, 7.26969926, 0.99649377, 0.99814972, 0.49295518],
++												 [	-6.27084964, -0.00114661, 0.00070299, 7.26970303, 0.99649507, 0.99815040, 0.49295540],
++												 [	-6.27085297, -0.00114618, 0.00070273, 7.26970679, 0.99649636, 0.99815109, 0.49295563],
++												 [	-6.27085630, -0.00114576, 0.00070247, 7.26971054, 0.99649766, 0.99815177, 0.49295584],
++												 [	-6.27085961, -0.00114533, 0.00070221, 7.26971428, 0.99649896, 0.99815245, 0.49295609],
++												 [	-6.27086292, -0.00114491, 0.00070195, 7.26971800, 0.99650025, 0.99815313, 0.49295629],
++												 [	-6.27086621, -0.00114449, 0.00070169, 7.26972172, 0.99650155, 0.99815382, 0.49295653],
++												 [	-6.27086950, -0.00114407, 0.00070144, 7.26972543, 0.99650284, 0.99815450, 0.49295673],
++												 [	-6.27087277, -0.00114364, 0.00070118, 7.26972913, 0.99650413, 0.99815518, 0.49295696],
++												 [	-6.27087604, -0.00114322, 0.00070092, 7.26973281, 0.99650542, 0.99815586, 0.49295720],
++												 [	-6.27087929, -0.00114280, 0.00070066, 7.26973649, 0.99650671, 0.99815654, 0.49295739],
++												 [	-6.27088254, -0.00114238, 0.00070040, 7.26974016, 0.99650800, 0.99815722, 0.49295764],
++												 [	-6.27088577, -0.00114196, 0.00070014, 7.26974382, 0.99650929, 0.99815790, 0.49295785],
++												 [	-6.27088900, -0.00114154, 0.00069989, 7.26974746, 0.99651058, 0.99815858, 0.49295811],
++												 [	-6.27089222, -0.00114112, 0.00069963, 7.26975110, 0.99651187, 0.99815925, 0.49295829],
++												 [	-6.27089543, -0.00114070, 0.00069937, 7.26975473, 0.99651315, 0.99815993, 0.49295850],
++												 [	-6.27089862, -0.00114028, 0.00069911, 7.26975835, 0.99651444, 0.99816061, 0.49295875],
++												 [	-6.27090181, -0.00113986, 0.00069886, 7.26976195, 0.99651572, 0.99816129, 0.49295895],
++												 [	-6.27090499, -0.00113944, 0.00069860, 7.26976555, 0.99651700, 0.99816196, 0.49295918],
++												 [	-6.27090816, -0.00113902, 0.00069834, 7.26976914, 0.99651829, 0.99816264, 0.49295938],
++												 [	-6.27091132, -0.00113860, 0.00069809, 7.26977272, 0.99651957, 0.99816331, 0.49295963],
++												 [	-6.27091447, -0.00113818, 0.00069783, 7.26977629, 0.99652085, 0.99816399, 0.49295982],
++												 [	-6.27091762, -0.00113777, 0.00069757, 7.26977985, 0.99652213, 0.99816466, 0.49296003],
++												 [	-6.27092075, -0.00113735, 0.00069732, 7.26978340, 0.99652340, 0.99816533, 0.49296028],
++												 [	-6.27092387, -0.00113693, 0.00069706, 7.26978694, 0.99652468, 0.99816601, 0.49296049],
++												 [	-6.27092699, -0.00113651, 0.00069681, 7.26979047, 0.99652596, 0.99816668, 0.49296071],
++												 [	-6.27093009, -0.00113610, 0.00069655, 7.26979399, 0.99652723, 0.99816735, 0.49296091],
++												 [	-6.27093319, -0.00113568, 0.00069629, 7.26979751, 0.99652851, 0.99816802, 0.49296112],
++												 [	-6.27093627, -0.00113527, 0.00069604, 7.26980101, 0.99652978, 0.99816869, 0.49296137],
++												 [	-6.27093935, -0.00113485, 0.00069578, 7.26980450, 0.99653105, 0.99816937, 0.49296155],
++												 [	-6.27094242, -0.00113443, 0.00069553, 7.26980799, 0.99653232, 0.99817004, 0.49296176],
++												 [	-6.27094548, -0.00113402, 0.00069528, 7.26981146, 0.99653360, 0.99817070, 0.49296198],
++												 [	-6.27094853, -0.00113360, 0.00069502, 7.26981493, 0.99653487, 0.99817137, 0.49296221],
++												 [	-6.27095157, -0.00113319, 0.00069477, 7.26981838, 0.99653613, 0.99817204, 0.49296241],
++												 [	-6.27095461, -0.00113278, 0.00069451, 7.26982183, 0.99653740, 0.99817271, 0.49296261],
++												 [	-6.27095763, -0.00113236, 0.00069426, 7.26982527, 0.99653867, 0.99817338, 0.49296284],
++												 [	-6.27096065, -0.00113195, 0.00069401, 7.26982870, 0.99653994, 0.99817405, 0.49296306],
++												 [	-6.27096365, -0.00113154, 0.00069375, 7.26983212, 0.99654120, 0.99817471, 0.49296324],
++												 [	-6.27096665, -0.00113112, 0.00069350, 7.26983553, 0.99654246, 0.99817538, 0.49296349],
++												 [	-6.27096964, -0.00113071, 0.00069325, 7.26983893, 0.99654373, 0.99817604, 0.49296367],
++												 [	-6.27097262, -0.00113030, 0.00069299, 7.26984232, 0.99654499, 0.99817671, 0.49296390],
++												 [	-6.27097559, -0.00112989, 0.00069274, 7.26984571, 0.99654625, 0.99817737, 0.49296411],
++												 [	-6.27097856, -0.00112947, 0.00069249, 7.26984908, 0.99654751, 0.99817804, 0.49296432],
++												 [	-6.27098151, -0.00112906, 0.00069224, 7.26985245, 0.99654877, 0.99817870, 0.49296451],
++												 [	-6.27098446, -0.00112865, 0.00069198, 7.26985581, 0.99655003, 0.99817937, 0.49296475],
++												 [	-6.27098739, -0.00112824, 0.00069173, 7.26985915, 0.99655129, 0.99818003, 0.49296493],
++												 [	-6.27099032, -0.00112783, 0.00069148, 7.26986249, 0.99655255, 0.99818069, 0.49296516],
++												 [	-6.27099324, -0.00112742, 0.00069123, 7.26986583, 0.99655380, 0.99818135, 0.49296535],
++												 [	-6.27099616, -0.00112701, 0.00069098, 7.26986915, 0.99655506, 0.99818202, 0.49296556],
++												 [	-6.27099906, -0.00112660, 0.00069072, 7.26987246, 0.99655631, 0.99818268, 0.49296577],
++												 [	-6.27100196, -0.00112619, 0.00069047, 7.26987577, 0.99655756, 0.99818334, 0.49296597],
++												 [	-6.27100484, -0.00112578, 0.00069022, 7.26987906, 0.99655882, 0.99818400, 0.49296619],
++												 [	-6.27100772, -0.00112537, 0.00068997, 7.26988235, 0.99656007, 0.99818466, 0.49296639],
++												 [	-6.27101059, -0.00112496, 0.00068972, 7.26988563, 0.99656132, 0.99818532, 0.49296663],
++												 [	-6.27101345, -0.00112455, 0.00068947, 7.26988890, 0.99656257, 0.99818597, 0.49296681],
++												 [	-6.27101631, -0.00112415, 0.00068922, 7.26989216, 0.99656382, 0.99818663, 0.49296699],
++												 [	-6.27101915, -0.00112374, 0.00068897, 7.26989541, 0.99656506, 0.99818729, 0.49296722],
++												 [	-6.27102199, -0.00112333, 0.00068872, 7.26989866, 0.99656631, 0.99818795, 0.49296743],
++												 [	-6.27102482, -0.00112292, 0.00068847, 7.26990189, 0.99656756, 0.99818860, 0.49296764],
++												 [	-6.27102764, -0.00112252, 0.00068822, 7.26990512, 0.99656880, 0.99818926, 0.49296783],
++												 [	-6.27103045, -0.00112211, 0.00068797, 7.26990834, 0.99657005, 0.99818992, 0.49296802],
++												 [	-6.27103326, -0.00112171, 0.00068772, 7.26991155, 0.99657129, 0.99819057, 0.49296822],
++												 [	-6.27103606, -0.00112130, 0.00068747, 7.26991476, 0.99657253, 0.99819123, 0.49296843],
++												 [	-6.27103885, -0.00112089, 0.00068723, 7.26991795, 0.99657377, 0.99819188, 0.49296863],
++												 [	-6.27104163, -0.00112049, 0.00068698, 7.26992114, 0.99657501, 0.99819253, 0.49296882],
++												 [	-6.27104440, -0.00112008, 0.00068673, 7.26992432, 0.99657625, 0.99819319, 0.49296903],
++												 [	-6.27104717, -0.00111968, 0.00068648, 7.26992749, 0.99657749, 0.99819384, 0.49296925],
++												 [	-6.27104992, -0.00111927, 0.00068623, 7.26993065, 0.99657873, 0.99819449, 0.49296948],
++												 [	-6.27105267, -0.00111887, 0.00068599, 7.26993380, 0.99657997, 0.99819514, 0.49296966],
++												 [	-6.27105541, -0.00111847, 0.00068574, 7.26993695, 0.99658120, 0.99819580, 0.49296986],
++												 [	-6.27105815, -0.00111806, 0.00068549, 7.26994009, 0.99658244, 0.99819645, 0.49297006],
++												 [	-6.27106088, -0.00111766, 0.00068524, 7.26994322, 0.99658367, 0.99819710, 0.49297025],
++												 [	-6.27106359, -0.00111726, 0.00068500, 7.26994634, 0.99658491, 0.99819775, 0.49297043],
++												 [	-6.27106630, -0.00111685, 0.00068475, 7.26994945, 0.99658614, 0.99819840, 0.49297064],
++												 [	-6.27106901, -0.00111645, 0.00068450, 7.26995256, 0.99658737, 0.99819905, 0.49297085],
++												 [	-6.27107170, -0.00111605, 0.00068426, 7.26995565, 0.99658860, 0.99819970, 0.49297106],
++												 [	-6.27107439, -0.00111565, 0.00068401, 7.26995874, 0.99658983, 0.99820034, 0.49297123],
++												 [	-6.27107707, -0.00111525, 0.00068376, 7.26996183, 0.99659106, 0.99820099, 0.49297145],
++												 [	-6.27107974, -0.00111484, 0.00068352, 7.26996490, 0.99659229, 0.99820164, 0.49297165],
++												 [	-6.27108241, -0.00111444, 0.00068327, 7.26996797, 0.99659352, 0.99820229, 0.49297182],
++												 [	-6.27108507, -0.00111404, 0.00068302, 7.26997103, 0.99659474, 0.99820293, 0.49297202],
++												 [	-6.27108772, -0.00111364, 0.00068278, 7.26997408, 0.99659597, 0.99820358, 0.49297222],
++												 [	-6.27109036, -0.00111324, 0.00068253, 7.26997712, 0.99659719, 0.99820422, 0.49297241],
++												 [	-6.27109300, -0.00111284, 0.00068229, 7.26998015, 0.99659842, 0.99820487, 0.49297262],
++												 [	-6.27109562, -0.00111244, 0.00068204, 7.26998318, 0.99659964, 0.99820551, 0.49297281],
++												 [	-6.27109825, -0.00111204, 0.00068180, 7.26998620, 0.99660086, 0.99820616, 0.49297301],
++												 [	-6.27110086, -0.00111164, 0.00068155, 7.26998921, 0.99660208, 0.99820680, 0.49297320],
++												 [	-6.27110347, -0.00111125, 0.00068131, 7.26999222, 0.99660330, 0.99820744, 0.49297339],
++												 [	-6.27110606, -0.00111085, 0.00068106, 7.26999522, 0.99660452, 0.99820809, 0.49297359],
++												 [	-6.27110866, -0.00111045, 0.00068082, 7.26999821, 0.99660574, 0.99820873, 0.49297380],
++												 [	-6.27111124, -0.00111005, 0.00068058, 7.27000119, 0.99660696, 0.99820937, 0.49297397],
++												 [	-6.27111382, -0.00110965, 0.00068033, 7.27000416, 0.99660818, 0.99821001, 0.49297417],
++												 [	-6.27111639, -0.00110926, 0.00068009, 7.27000713, 0.99660939, 0.99821065, 0.49297437],
++												 [	-6.27111895, -0.00110886, 0.00067985, 7.27001009, 0.99661061, 0.99821129, 0.49297456],
++												 [	-6.27112151, -0.00110846, 0.00067960, 7.27001304, 0.99661182, 0.99821193, 0.49297477],
++												 [	-6.27112405, -0.00110807, 0.00067936, 7.27001599, 0.99661303, 0.99821257, 0.49297493],
++												 [	-6.27112660, -0.00110767, 0.00067912, 7.27001892, 0.99661425, 0.99821321, 0.49297516],
++												 [	-6.27112913, -0.00110728, 0.00067887, 7.27002185, 0.99661546, 0.99821385, 0.49297533],
++												 [	-6.27113166, -0.00110688, 0.00067863, 7.27002478, 0.99661667, 0.99821449, 0.49297550],
++												 [	-6.27113418, -0.00110648, 0.00067839, 7.27002769, 0.99661788, 0.99821513, 0.49297572],
++												 [	-6.27113669, -0.00110609, 0.00067815, 7.27003060, 0.99661909, 0.99821576, 0.49297589],
++												 [	-6.27113920, -0.00110569, 0.00067790, 7.27003350, 0.99662030, 0.99821640, 0.49297607],
++												 [	-6.27114170, -0.00110530, 0.00067766, 7.27003640, 0.99662150, 0.99821704, 0.49297628],
++												 [	-6.27114419, -0.00110491, 0.00067742, 7.27003928, 0.99662271, 0.99821767, 0.49297646],
++												 [	-6.27114668, -0.00110451, 0.00067718, 7.27004216, 0.99662392, 0.99821831, 0.49297664],
++												 [	-6.27114915, -0.00110412, 0.00067694, 7.27004504, 0.99662512, 0.99821894, 0.49297684],
++												 [	-6.27115163, -0.00110372, 0.00067670, 7.27004790, 0.99662632, 0.99821958, 0.49297702],
++												 [	-6.27115409, -0.00110333, 0.00067646, 7.27005076, 0.99662753, 0.99822021, 0.49297723],
++												 [	-6.27115655, -0.00110294, 0.00067621, 7.27005361, 0.99662873, 0.99822085, 0.49297742],
++												 [	-6.27115900, -0.00110255, 0.00067597, 7.27005646, 0.99662993, 0.99822148, 0.49297759],
++												 [	-6.27116145, -0.00110215, 0.00067573, 7.27005929, 0.99663113, 0.99822211, 0.49297781],
++												 [	-6.27116389, -0.00110176, 0.00067549, 7.27006212, 0.99663233, 0.99822274, 0.49297799],
++												 [	-6.27116632, -0.00110137, 0.00067525, 7.27006495, 0.99663353, 0.99822338, 0.49297818],
++												 [	-6.27116874, -0.00110098, 0.00067501, 7.27006776, 0.99663473, 0.99822401, 0.49297837],
++												 [	-6.27117116, -0.00110059, 0.00067477, 7.27007057, 0.99663592, 0.99822464, 0.49297853],
++												 [	-6.27117357, -0.00110020, 0.00067453, 7.27007338, 0.99663712, 0.99822527, 0.49297873],
++												 [	-6.27117598, -0.00109981, 0.00067429, 7.27007617, 0.99663832, 0.99822590, 0.49297890],
++												 [	-6.27117838, -0.00109942, 0.00067405, 7.27007896, 0.99663951, 0.99822653, 0.49297910],
++												 [	-6.27118077, -0.00109903, 0.00067381, 7.27008174, 0.99664070, 0.99822716, 0.49297929],
++												 [	-6.27118315, -0.00109864, 0.00067358, 7.27008452, 0.99664190, 0.99822779, 0.49297945],
++												 [	-6.27118553, -0.00109825, 0.00067334, 7.27008729, 0.99664309, 0.99822842, 0.49297965],
++												 [	-6.27118791, -0.00109786, 0.00067310, 7.27009005, 0.99664428, 0.99822904, 0.49297987],
++												 [	-6.27119027, -0.00109747, 0.00067286, 7.27009280, 0.99664547, 0.99822967, 0.49298005],
++												 [	-6.27119263, -0.00109708, 0.00067262, 7.27009555, 0.99664666, 0.99823030, 0.49298023],
++												 [	-6.27119499, -0.00109669, 0.00067238, 7.27009829, 0.99664785, 0.99823092, 0.49298041],
++												 [	-6.27119733, -0.00109630, 0.00067214, 7.27010103, 0.99664904, 0.99823155, 0.49298056],
++												 [	-6.27119968, -0.00109592, 0.00067191, 7.27010376, 0.99665022, 0.99823218, 0.49298074],
++												 [	-6.27120201, -0.00109553, 0.00067167, 7.27010648, 0.99665141, 0.99823280, 0.49298095],
++												 [	-6.27120434, -0.00109514, 0.00067143, 7.27010920, 0.99665259, 0.99823343, 0.49298115],
++												 [	-6.27120666, -0.00109475, 0.00067119, 7.27011190, 0.99665378, 0.99823405, 0.49298131],
++												 [	-6.27120898, -0.00109437, 0.00067096, 7.27011461, 0.99665496, 0.99823467, 0.49298149],
++												 [	-6.27121129, -0.00109398, 0.00067072, 7.27011730, 0.99665614, 0.99823530, 0.49298166],
++												 [	-6.27121359, -0.00109360, 0.00067048, 7.27011999, 0.99665733, 0.99823592, 0.49298185],
++												 [	-6.27121589, -0.00109321, 0.00067025, 7.27012268, 0.99665851, 0.99823654, 0.49298202],
++												 [	-6.27121818, -0.00109282, 0.00067001, 7.27012535, 0.99665969, 0.99823717, 0.49298224],
++												 [	-6.27122046, -0.00109244, 0.00066977, 7.27012802, 0.99666087, 0.99823779, 0.49298236],
++												 [	-6.27122274, -0.00109205, 0.00066954, 7.27013069, 0.99666205, 0.99823841, 0.49298260],
++												 [	-6.27122501, -0.00109167, 0.00066930, 7.27013334, 0.99666322, 0.99823903, 0.49298275],
++												 [	-6.27122728, -0.00109128, 0.00066907, 7.27013600, 0.99666440, 0.99823965, 0.49298294],
++												 [	-6.27122954, -0.00109090, 0.00066883, 7.27013864, 0.99666558, 0.99824027, 0.49298313],
++												 [	-6.27123179, -0.00109052, 0.00066859, 7.27014128, 0.99666675, 0.99824089, 0.49298330],
++												 [	-6.27123404, -0.00109013, 0.00066836, 7.27014391, 0.99666793, 0.99824151, 0.49298351],
++												 [	-6.27123629, -0.00108975, 0.00066812, 7.27014654, 0.99666910, 0.99824213, 0.49298363],
++												 [	-6.27123852, -0.00108937, 0.00066789, 7.27014916, 0.99667027, 0.99824275, 0.49298382],
++												 [	-6.27124075, -0.00108898, 0.00066765, 7.27015177, 0.99667144, 0.99824336, 0.49298401],
++												 [	-6.27124298, -0.00108860, 0.00066742, 7.27015438, 0.99667261, 0.99824398, 0.49298420],
++												 [	-6.27124520, -0.00108822, 0.00066718, 7.27015698, 0.99667379, 0.99824460, 0.49298438],
++												 [	-6.27124741, -0.00108784, 0.00066695, 7.27015957, 0.99667495, 0.99824521, 0.49298453],
++												 [	-6.27124962, -0.00108745, 0.00066672, 7.27016216, 0.99667612, 0.99824583, 0.49298471],
++												 [	-6.27125182, -0.00108707, 0.00066648, 7.27016475, 0.99667729, 0.99824645, 0.49298491],
++												 [	-6.27125401, -0.00108669, 0.00066625, 7.27016732, 0.99667846, 0.99824706, 0.49298510],
++												 [	-6.27125620, -0.00108631, 0.00066601, 7.27016989, 0.99667962, 0.99824768, 0.49298524],
++												 [	-6.27125839, -0.00108593, 0.00066578, 7.27017246, 0.99668079, 0.99824829, 0.49298544],
++												 [	-6.27126057, -0.00108555, 0.00066555, 7.27017502, 0.99668195, 0.99824890, 0.49298562],
++												 [	-6.27126274, -0.00108517, 0.00066531, 7.27017757, 0.99668312, 0.99824952, 0.49298575],
++												 [	-6.27126490, -0.00108479, 0.00066508, 7.27018012, 0.99668428, 0.99825013, 0.49298596],
++												 [	-6.27126707, -0.00108441, 0.00066485, 7.27018266, 0.99668544, 0.99825074, 0.49298614],
++												 [	-6.27126922, -0.00108403, 0.00066461, 7.27018519, 0.99668660, 0.99825136, 0.49298629],
++												 [	-6.27127137, -0.00108365, 0.00066438, 7.27018772, 0.99668776, 0.99825197, 0.49298647],
++												 [	-6.27127351, -0.00108327, 0.00066415, 7.27019024, 0.99668892, 0.99825258, 0.49298665],
++												 [	-6.27127565, -0.00108289, 0.00066392, 7.27019276, 0.99669008, 0.99825319, 0.49298685],
++												 [	-6.27127779, -0.00108251, 0.00066369, 7.27019527, 0.99669124, 0.99825380, 0.49298701],
++												 [	-6.27127991, -0.00108214, 0.00066345, 7.27019778, 0.99669240, 0.99825441, 0.49298719],
++												 [	-6.27128204, -0.00108176, 0.00066322, 7.27020028, 0.99669356, 0.99825502, 0.49298735],
++												 [	-6.27128415, -0.00108138, 0.00066299, 7.27020277, 0.99669471, 0.99825563, 0.49298754],
++												 [	-6.27128626, -0.00108100, 0.00066276, 7.27020526, 0.99669587, 0.99825624, 0.49298772],
++												 [	-6.27128837, -0.00108063, 0.00066253, 7.27020774, 0.99669702, 0.99825685, 0.49298787],
++												 [	-6.27129047, -0.00108025, 0.00066230, 7.27021022, 0.99669817, 0.99825746, 0.49298806],
++												 [	-6.27129256, -0.00107987, 0.00066206, 7.27021269, 0.99669933, 0.99825806, 0.49298822],
++												 [	-6.27129465, -0.00107950, 0.00066183, 7.27021516, 0.99670048, 0.99825867, 0.49298838],
++												 [	-6.27129674, -0.00107912, 0.00066160, 7.27021762, 0.99670163, 0.99825928, 0.49298857],
++												 [	-6.27129881, -0.00107874, 0.00066137, 7.27022007, 0.99670278, 0.99825988, 0.49298872],
++												 [	-6.27130089, -0.00107837, 0.00066114, 7.27022252, 0.99670393, 0.99826049, 0.49298890],
++												 [	-6.27130295, -0.00107799, 0.00066091, 7.27022496, 0.99670508, 0.99826109, 0.49298906],
++												 [	-6.27130502, -0.00107762, 0.00066068, 7.27022740, 0.99670622, 0.99826170, 0.49298921],
++												 [	-6.27130707, -0.00107724, 0.00066045, 7.27022983, 0.99670737, 0.99826230, 0.49298942],
++												 [	-6.27130913, -0.00107687, 0.00066022, 7.27023226, 0.99670852, 0.99826291, 0.49298958],
++												 [	-6.27131117, -0.00107649, 0.00065999, 7.27023468, 0.99670966, 0.99826351, 0.49298977],
++												 [	-6.27131321, -0.00107612, 0.00065976, 7.27023709, 0.99671081, 0.99826412, 0.49298992],
++												 [	-6.27131525, -0.00107575, 0.00065953, 7.27023950, 0.99671195, 0.99826472, 0.49299011],
++												 [	-6.27131728, -0.00107537, 0.00065931, 7.27024191, 0.99671309, 0.99826532, 0.49299028],
++												 [	-6.27131930, -0.00107500, 0.00065908, 7.27024430, 0.99671423, 0.99826592, 0.49299042],
++												 [	-6.27132133, -0.00107463, 0.00065885, 7.27024670, 0.99671538, 0.99826653, 0.49299058],
++												 [	-6.27132334, -0.00107425, 0.00065862, 7.27024909, 0.99671652, 0.99826713, 0.49299077],
++												 [	-6.27132535, -0.00107388, 0.00065839, 7.27025147, 0.99671766, 0.99826773, 0.49299096],
++												 [	-6.27132736, -0.00107351, 0.00065816, 7.27025385, 0.99671879, 0.99826833, 0.49299111],
++												 [	-6.27132936, -0.00107314, 0.00065793, 7.27025622, 0.99671993, 0.99826893, 0.49299126],
++												 [	-6.27133135, -0.00107277, 0.00065771, 7.27025858, 0.99672107, 0.99826953, 0.49299144],
++												 [	-6.27133334, -0.00107239, 0.00065748, 7.27026094, 0.99672221, 0.99827013, 0.49299160],
++												 [	-6.27133532, -0.00107202, 0.00065725, 7.27026330, 0.99672334, 0.99827073, 0.49299180],
++												 [	-6.27133730, -0.00107165, 0.00065702, 7.27026565, 0.99672448, 0.99827132, 0.49299193],
++												 [	-6.27133928, -0.00107128, 0.00065680, 7.27026800, 0.99672561, 0.99827192, 0.49299212],
++												 [	-6.27134125, -0.00107091, 0.00065657, 7.27027034, 0.99672674, 0.99827252, 0.49299227],
++												 [	-6.27134321, -0.00107054, 0.00065634, 7.27027267, 0.99672788, 0.99827312, 0.49299243],
++												 [	-6.27134517, -0.00107017, 0.00065611, 7.27027500, 0.99672901, 0.99827371, 0.49299259],
++												 [	-6.27134713, -0.00106980, 0.00065589, 7.27027733, 0.99673014, 0.99827431, 0.49299280],
++												 [	-6.27134908, -0.00106943, 0.00065566, 7.27027964, 0.99673127, 0.99827491, 0.49299296],
++												 [	-6.27135102, -0.00106906, 0.00065543, 7.27028196, 0.99673240, 0.99827550, 0.49299309],
++												 [	-6.27135296, -0.00106870, 0.00065521, 7.27028427, 0.99673353, 0.99827610, 0.49299327],
++												 [	-6.27135490, -0.00106833, 0.00065498, 7.27028657, 0.99673466, 0.99827669, 0.49299344],
++												 [	-6.27135683, -0.00106796, 0.00065476, 7.27028887, 0.99673578, 0.99827729, 0.49299361],
++												 [	-6.27135875, -0.00106759, 0.00065453, 7.27029116, 0.99673691, 0.99827788, 0.49299378],
++												 [	-6.27136067, -0.00106722, 0.00065430, 7.27029345, 0.99673804, 0.99827847, 0.49299395],
++												 [	-6.27136259, -0.00106685, 0.00065408, 7.27029574, 0.99673916, 0.99827907, 0.49299413],
++												 [	-6.27136450, -0.00106649, 0.00065385, 7.27029801, 0.99674028, 0.99827966, 0.49299427],
++												 [	-6.27136641, -0.00106612, 0.00065363, 7.27030029, 0.99674141, 0.99828025, 0.49299442],
++												 [	-6.27136831, -0.00106575, 0.00065340, 7.27030256, 0.99674253, 0.99828084, 0.49299460],
++												 [	-6.27137021, -0.00106539, 0.00065318, 7.27030482, 0.99674365, 0.99828143, 0.49299474],
++												 [	-6.27137210, -0.00106502, 0.00065295, 7.27030708, 0.99674477, 0.99828203, 0.49299490],
++												 [	-6.27137399, -0.00106465, 0.00065273, 7.27030933, 0.99674589, 0.99828262, 0.49299509],
++												 [	-6.27137587, -0.00106429, 0.00065250, 7.27031158, 0.99674701, 0.99828321, 0.49299525],
++												 [	-6.27137775, -0.00106392, 0.00065228, 7.27031382, 0.99674813, 0.99828380, 0.49299541],
++												 [	-6.27137962, -0.00106356, 0.00065206, 7.27031606, 0.99674925, 0.99828439, 0.49299561],
++												 [	-6.27138149, -0.00106319, 0.00065183, 7.27031830, 0.99675037, 0.99828497, 0.49299573],
++												 [	-6.27138335, -0.00106283, 0.00065161, 7.27032053, 0.99675148, 0.99828556, 0.49299589],
++												 [	-6.27138521, -0.00106246, 0.00065139, 7.27032275, 0.99675260, 0.99828615, 0.49299603],
++												 [	-6.27138707, -0.00106210, 0.00065116, 7.27032497, 0.99675371, 0.99828674, 0.49299621],
++												 [	-6.27138892, -0.00106173, 0.00065094, 7.27032719, 0.99675483, 0.99828733, 0.49299635],
++												 [	-6.27139077, -0.00106137, 0.00065072, 7.27032940, 0.99675594, 0.99828791, 0.49299653],
++												 [	-6.27139261, -0.00106101, 0.00065049, 7.27033160, 0.99675705, 0.99828850, 0.49299670],
++												 [	-6.27139445, -0.00106064, 0.00065027, 7.27033380, 0.99675816, 0.99828909, 0.49299687],
++												 [	-6.27139628, -0.00106028, 0.00065005, 7.27033600, 0.99675928, 0.99828967, 0.49299705],
++												 [	-6.27139811, -0.00105992, 0.00064982, 7.27033819, 0.99676039, 0.99829026, 0.49299718],
++												 [	-6.27139993, -0.00105956, 0.00064960, 7.27034037, 0.99676150, 0.99829084, 0.49299736],
++												 [	-6.27140175, -0.00105919, 0.00064938, 7.27034256, 0.99676260, 0.99829143, 0.49299751],
++												 [	-6.27140356, -0.00105883, 0.00064916, 7.27034473, 0.99676371, 0.99829201, 0.49299765],
++												 [	-6.27140537, -0.00105847, 0.00064893, 7.27034690, 0.99676482, 0.99829260, 0.49299782],
++												 [	-6.27140718, -0.00105811, 0.00064871, 7.27034907, 0.99676593, 0.99829318, 0.49299800],
++												 [	-6.27140898, -0.00105775, 0.00064849, 7.27035123, 0.99676703, 0.99829376, 0.49299816],
++												 [	-6.27141078, -0.00105739, 0.00064827, 7.27035339, 0.99676814, 0.99829434, 0.49299833],
++												 [	-6.27141257, -0.00105702, 0.00064805, 7.27035555, 0.99676924, 0.99829493, 0.49299845],
++												 [	-6.27141436, -0.00105666, 0.00064783, 7.27035770, 0.99677034, 0.99829551, 0.49299862],
++												 [	-6.27141614, -0.00105630, 0.00064761, 7.27035984, 0.99677145, 0.99829609, 0.49299878],
++												 [	-6.27141792, -0.00105594, 0.00064739, 7.27036198, 0.99677255, 0.99829667, 0.49299891],
++												 [	-6.27141970, -0.00105558, 0.00064716, 7.27036412, 0.99677365, 0.99829725, 0.49299912],
++												 [	-6.27142147, -0.00105522, 0.00064694, 7.27036625, 0.99677475, 0.99829783, 0.49299926],
++												 [	-6.27142324, -0.00105486, 0.00064672, 7.27036837, 0.99677585, 0.99829841, 0.49299943],
++												 [	-6.27142500, -0.00105451, 0.00064650, 7.27037050, 0.99677695, 0.99829899, 0.49299955],
++												 [	-6.27142676, -0.00105415, 0.00064628, 7.27037261, 0.99677805, 0.99829957, 0.49299971],
++												 [	-6.27142851, -0.00105379, 0.00064606, 7.27037473, 0.99677914, 0.99830015, 0.49299984],
++												 [	-6.27143026, -0.00105343, 0.00064584, 7.27037683, 0.99678024, 0.99830073, 0.49300001],
++												 [	-6.27143201, -0.00105307, 0.00064562, 7.27037894, 0.99678134, 0.99830131, 0.49300017],
++												 [	-6.27143375, -0.00105271, 0.00064540, 7.27038104, 0.99678243, 0.99830188, 0.49300033],
++												 [	-6.27143549, -0.00105236, 0.00064518, 7.27038313, 0.99678353, 0.99830246, 0.49300050],
++												 [	-6.27143722, -0.00105200, 0.00064496, 7.27038522, 0.99678462, 0.99830304, 0.49300065],
++												 [	-6.27143895, -0.00105164, 0.00064475, 7.27038731, 0.99678571, 0.99830361, 0.49300081],
++												 [	-6.27144068, -0.00105128, 0.00064453, 7.27038939, 0.99678681, 0.99830419, 0.49300096],
++												 [	-6.27144240, -0.00105093, 0.00064431, 7.27039147, 0.99678790, 0.99830477, 0.49300112],
++												 [	-6.27144412, -0.00105057, 0.00064409, 7.27039355, 0.99678899, 0.99830534, 0.49300126],
++												 [	-6.27144583, -0.00105021, 0.00064387, 7.27039561, 0.99679008, 0.99830592, 0.49300141],
++												 [	-6.27144754, -0.00104986, 0.00064365, 7.27039768, 0.99679117, 0.99830649, 0.49300158],
++												 [	-6.27144924, -0.00104950, 0.00064343, 7.27039974, 0.99679226, 0.99830706, 0.49300174],
++												 [	-6.27145094, -0.00104915, 0.00064322, 7.27040180, 0.99679334, 0.99830764, 0.49300191],
++												 [	-6.27145264, -0.00104879, 0.00064300, 7.27040385, 0.99679443, 0.99830821, 0.49300203],
++												 [	-6.27145433, -0.00104844, 0.00064278, 7.27040590, 0.99679552, 0.99830878, 0.49300220],
++												 [	-6.27145602, -0.00104808, 0.00064256, 7.27040794, 0.99679660, 0.99830936, 0.49300234],
++												 [	-6.27145771, -0.00104773, 0.00064234, 7.27040998, 0.99679769, 0.99830993, 0.49300248],
++												 [	-6.27145939, -0.00104737, 0.00064213, 7.27041202, 0.99679877, 0.99831050, 0.49300264],
++												 [	-6.27146107, -0.00104702, 0.00064191, 7.27041405, 0.99679986, 0.99831107, 0.49300280],
++												 [	-6.27146274, -0.00104667, 0.00064169, 7.27041607, 0.99680094, 0.99831164, 0.49300294],
++												 [	-6.27146441, -0.00104631, 0.00064148, 7.27041810, 0.99680202, 0.99831221, 0.49300310],
++												 [	-6.27146607, -0.00104596, 0.00064126, 7.27042012, 0.99680310, 0.99831278, 0.49300325],
++												 [	-6.27146774, -0.00104561, 0.00064104, 7.27042213, 0.99680418, 0.99831335, 0.49300340],
++												 [	-6.27146939, -0.00104525, 0.00064083, 7.27042414, 0.99680526, 0.99831392, 0.49300357],
++												 [	-6.27147105, -0.00104490, 0.00064061, 7.27042615, 0.99680634, 0.99831449, 0.49300370],
++												 [	-6.27147270, -0.00104455, 0.00064039, 7.27042815, 0.99680742, 0.99831506, 0.49300390],
++												 [	-6.27147434, -0.00104420, 0.00064018, 7.27043015, 0.99680850, 0.99831563, 0.49300402],
++												 [	-6.27147599, -0.00104384, 0.00063996, 7.27043214, 0.99680957, 0.99831620, 0.49300417],
++												 [	-6.27147762, -0.00104349, 0.00063975, 7.27043413, 0.99681065, 0.99831676, 0.49300431],
++												 [	-6.27147926, -0.00104314, 0.00063953, 7.27043612, 0.99681172, 0.99831733, 0.49300449],
++												 [	-6.27148089, -0.00104279, 0.00063931, 7.27043810, 0.99681280, 0.99831790, 0.49300460],
++												 [	-6.27148252, -0.00104244, 0.00063910, 7.27044008, 0.99681387, 0.99831846, 0.49300478],
++												 [	-6.27148414, -0.00104209, 0.00063888, 7.27044205, 0.99681495, 0.99831903, 0.49300494],
++												 [	-6.27148576, -0.00104174, 0.00063867, 7.27044402, 0.99681602, 0.99831959, 0.49300507],
++												 [	-6.27148738, -0.00104139, 0.00063845, 7.27044599, 0.99681709, 0.99832016, 0.49300523],
++												 [	-6.27148899, -0.00104104, 0.00063824, 7.27044795, 0.99681816, 0.99832072, 0.49300537],
++												 [	-6.27149060, -0.00104069, 0.00063802, 7.27044991, 0.99681923, 0.99832129, 0.49300552],
++												 [	-6.27149220, -0.00104034, 0.00063781, 7.27045186, 0.99682030, 0.99832185, 0.49300567],
++												 [	-6.27149380, -0.00103999, 0.00063760, 7.27045382, 0.99682137, 0.99832242, 0.49300583],
++												 [	-6.27149540, -0.00103964, 0.00063738, 7.27045576, 0.99682244, 0.99832298, 0.49300595],
++												 [	-6.27149699, -0.00103929, 0.00063717, 7.27045771, 0.99682351, 0.99832354, 0.49300609],
++												 [	-6.27149859, -0.00103894, 0.00063695, 7.27045964, 0.99682457, 0.99832411, 0.49300627],
++												 [	-6.27150017, -0.00103859, 0.00063674, 7.27046158, 0.99682564, 0.99832467, 0.49300642],
++												 [	-6.27150175, -0.00103824, 0.00063653, 7.27046351, 0.99682670, 0.99832523, 0.49300653],
++												 [	-6.27150333, -0.00103790, 0.00063631, 7.27046544, 0.99682777, 0.99832579, 0.49300671],
++												 [	-6.27150491, -0.00103755, 0.00063610, 7.27046736, 0.99682883, 0.99832635, 0.49300686],
++												 [	-6.27150648, -0.00103720, 0.00063589, 7.27046928, 0.99682990, 0.99832691, 0.49300700],
++												 [	-6.27150805, -0.00103685, 0.00063567, 7.27047120, 0.99683096, 0.99832747, 0.49300717],
++												 [	-6.27150962, -0.00103651, 0.00063546, 7.27047311, 0.99683202, 0.99832803, 0.49300731],
++												 [	-6.27151118, -0.00103616, 0.00063525, 7.27047502, 0.99683308, 0.99832859, 0.49300742],
++												 [	-6.27151274, -0.00103581, 0.00063503, 7.27047692, 0.99683414, 0.99832915, 0.49300759],
++												 [	-6.27151429, -0.00103547, 0.00063482, 7.27047882, 0.99683520, 0.99832971, 0.49300775],
++												 [	-6.27151584, -0.00103512, 0.00063461, 7.27048072, 0.99683626, 0.99833027, 0.49300787],
++												 [	-6.27151739, -0.00103478, 0.00063440, 7.27048262, 0.99683732, 0.99833083, 0.49300803],
++												 [	-6.27151893, -0.00103443, 0.00063419, 7.27048451, 0.99683838, 0.99833138, 0.49300818],
++												 [	-6.27152048, -0.00103408, 0.00063397, 7.27048639, 0.99683943, 0.99833194, 0.49300831],
++												 [	-6.27152201, -0.00103374, 0.00063376, 7.27048827, 0.99684049, 0.99833250, 0.49300846],
++												 [	-6.27152355, -0.00103339, 0.00063355, 7.27049015, 0.99684154, 0.99833306, 0.49300863],
++												 [	-6.27152508, -0.00103305, 0.00063334, 7.27049203, 0.99684260, 0.99833361, 0.49300877],
++												 [	-6.27152660, -0.00103270, 0.00063313, 7.27049390, 0.99684365, 0.99833417, 0.49300891],
++												 [	-6.27152813, -0.00103236, 0.00063292, 7.27049577, 0.99684471, 0.99833472, 0.49300907],
++												 [	-6.27152965, -0.00103202, 0.00063271, 7.27049763, 0.99684576, 0.99833528, 0.49300922],
++												 [	-6.27153117, -0.00103167, 0.00063249, 7.27049949, 0.99684681, 0.99833583, 0.49300935],
++												 [	-6.27153268, -0.00103133, 0.00063228, 7.27050135, 0.99684786, 0.99833639, 0.49300949],
++												 [	-6.27153419, -0.00103099, 0.00063207, 7.27050320, 0.99684891, 0.99833694, 0.49300966],
++												 [	-6.27153570, -0.00103064, 0.00063186, 7.27050505, 0.99684996, 0.99833749, 0.49300980],
++												 [	-6.27153720, -0.00103030, 0.00063165, 7.27050690, 0.99685101, 0.99833805, 0.49300992],
++												 [	-6.27153870, -0.00102996, 0.00063144, 7.27050874, 0.99685206, 0.99833860, 0.49301003],
++												 [	-6.27154020, -0.00102961, 0.00063123, 7.27051058, 0.99685311, 0.99833915, 0.49301024],
++												 [	-6.27154169, -0.00102927, 0.00063102, 7.27051242, 0.99685415, 0.99833971, 0.49301036],
++												 [	-6.27154318, -0.00102893, 0.00063081, 7.27051425, 0.99685520, 0.99834026, 0.49301051],
++												 [	-6.27154467, -0.00102859, 0.00063060, 7.27051608, 0.99685625, 0.99834081, 0.49301064],
++												 [	-6.27154615, -0.00102825, 0.00063039, 7.27051791, 0.99685729, 0.99834136, 0.49301076],
++												 [	-6.27154763, -0.00102791, 0.00063018, 7.27051973, 0.99685834, 0.99834191, 0.49301089],
++												 [	-6.27154911, -0.00102756, 0.00062997, 7.27052155, 0.99685938, 0.99834246, 0.49301105],
++												 [	-6.27155059, -0.00102722, 0.00062976, 7.27052336, 0.99686042, 0.99834301, 0.49301119],
++												 [	-6.27155206, -0.00102688, 0.00062956, 7.27052517, 0.99686146, 0.99834356, 0.49301134],
++												 [	-6.27155352, -0.00102654, 0.00062935, 7.27052698, 0.99686251, 0.99834411, 0.49301148],
++												 [	-6.27155499, -0.00102620, 0.00062914, 7.27052879, 0.99686355, 0.99834466, 0.49301163],
++												 [	-6.27155645, -0.00102586, 0.00062893, 7.27053059, 0.99686459, 0.99834521, 0.49301176],
++												 [	-6.27155791, -0.00102552, 0.00062872, 7.27053239, 0.99686563, 0.99834576, 0.49301188],
++												 [	-6.27155936, -0.00102518, 0.00062851, 7.27053418, 0.99686666, 0.99834630, 0.49301206],
++												 [	-6.27156082, -0.00102484, 0.00062830, 7.27053597, 0.99686770, 0.99834685, 0.49301220],
++												 [	-6.27156226, -0.00102451, 0.00062810, 7.27053776, 0.99686874, 0.99834740, 0.49301233],
++												 [	-6.27156371, -0.00102417, 0.00062789, 7.27053954, 0.99686978, 0.99834794, 0.49301246],
++												 [	-6.27156515, -0.00102383, 0.00062768, 7.27054132, 0.99687081, 0.99834849, 0.49301262],
++												 [	-6.27156659, -0.00102349, 0.00062747, 7.27054310, 0.99687185, 0.99834904, 0.49301280],
++												 [	-6.27156803, -0.00102315, 0.00062727, 7.27054488, 0.99687288, 0.99834958, 0.49301294],
++												 [	-6.27156946, -0.00102281, 0.00062706, 7.27054665, 0.99687392, 0.99835013, 0.49301309],
++												 [	-6.27157089, -0.00102248, 0.00062685, 7.27054842, 0.99687495, 0.99835067, 0.49301319],
++												 [	-6.27157232, -0.00102214, 0.00062664, 7.27055018, 0.99687598, 0.99835122, 0.49301335],
++												 [	-6.27157374, -0.00102180, 0.00062644, 7.27055194, 0.99687701, 0.99835176, 0.49301345],
++												 [	-6.27157517, -0.00102146, 0.00062623, 7.27055370, 0.99687805, 0.99835231, 0.49301362],
++												 [	-6.27157658, -0.00102113, 0.00062602, 7.27055546, 0.99687908, 0.99835285, 0.49301372],
++												 [	-6.27157800, -0.00102079, 0.00062582, 7.27055721, 0.99688011, 0.99835339, 0.49301383],
++												 [	-6.27157941, -0.00102045, 0.00062561, 7.27055896, 0.99688113, 0.99835393, 0.49301405],
++												 [	-6.27158082, -0.00102012, 0.00062540, 7.27056070, 0.99688216, 0.99835448, 0.49301418],
++												 [	-6.27158223, -0.00101978, 0.00062520, 7.27056244, 0.99688319, 0.99835502, 0.49301433],
++												 [	-6.27158363, -0.00101945, 0.00062499, 7.27056418, 0.99688422, 0.99835556, 0.49301444],
++												 [	-6.27158503, -0.00101911, 0.00062479, 7.27056592, 0.99688524, 0.99835610, 0.49301454],
++												 [	-6.27158643, -0.00101878, 0.00062458, 7.27056765, 0.99688627, 0.99835664, 0.49301468],
++												 [	-6.27158782, -0.00101844, 0.00062438, 7.27056938, 0.99688730, 0.99835718, 0.49301483],
++												 [	-6.27158921, -0.00101811, 0.00062417, 7.27057111, 0.99688832, 0.99835772, 0.49301499],
++												 [	-6.27159060, -0.00101777, 0.00062396, 7.27057283, 0.99688934, 0.99835826, 0.49301513],
++												 [	-6.27159199, -0.00101744, 0.00062376, 7.27057455, 0.99689037, 0.99835880, 0.49301528],
++												 [	-6.27159337, -0.00101710, 0.00062355, 7.27057627, 0.99689139, 0.99835934, 0.49301541],
++												 [	-6.27159475, -0.00101677, 0.00062335, 7.27057798, 0.99689241, 0.99835988, 0.49301553],
++												 [	-6.27159613, -0.00101644, 0.00062314, 7.27057969, 0.99689343, 0.99836042, 0.49301569],
++												 [	-6.27159750, -0.00101610, 0.00062294, 7.27058140, 0.99689445, 0.99836096, 0.49301584],
++												 [	-6.27159887, -0.00101577, 0.00062274, 7.27058310, 0.99689547, 0.99836150, 0.49301593],
++												 [	-6.27160024, -0.00101544, 0.00062253, 7.27058480, 0.99689649, 0.99836203, 0.49301608],
++												 [	-6.27160160, -0.00101510, 0.00062233, 7.27058650, 0.99689751, 0.99836257, 0.49301621],
++												 [	-6.27160297, -0.00101477, 0.00062212, 7.27058820, 0.99689853, 0.99836311, 0.49301634],
++												 [	-6.27160433, -0.00101444, 0.00062192, 7.27058989, 0.99689954, 0.99836364, 0.49301647],
++												 [	-6.27160568, -0.00101410, 0.00062171, 7.27059158, 0.99690056, 0.99836418, 0.49301663],
++												 [	-6.27160704, -0.00101377, 0.00062151, 7.27059327, 0.99690158, 0.99836472, 0.49301679],
++												 [	-6.27160839, -0.00101344, 0.00062131, 7.27059495, 0.99690259, 0.99836525, 0.49301693],
++												 [	-6.27160974, -0.00101311, 0.00062110, 7.27059663, 0.99690361, 0.99836579, 0.49301706],
++												 [	-6.27161108, -0.00101278, 0.00062090, 7.27059831, 0.99690462, 0.99836632, 0.49301722],
++												 [	-6.27161243, -0.00101245, 0.00062070, 7.27059998, 0.99690563, 0.99836686, 0.49301730],
++												 [	-6.27161377, -0.00101212, 0.00062049, 7.27060165, 0.99690664, 0.99836739, 0.49301748],
++												 [	-6.27161511, -0.00101179, 0.00062029, 7.27060332, 0.99690766, 0.99836792, 0.49301757],
++												 [	-6.27161644, -0.00101146, 0.00062009, 7.27060499, 0.99690867, 0.99836846, 0.49301772],
++												 [	-6.27161777, -0.00101112, 0.00061989, 7.27060665, 0.99690968, 0.99836899, 0.49301787],
++												 [	-6.27161910, -0.00101079, 0.00061968, 7.27060831, 0.99691069, 0.99836952, 0.49301798],
++												 [	-6.27162043, -0.00101046, 0.00061948, 7.27060996, 0.99691170, 0.99837005, 0.49301811],
++												 [	-6.27162175, -0.00101014, 0.00061928, 7.27061162, 0.99691271, 0.99837059, 0.49301825],
++												 [	-6.27162307, -0.00100981, 0.00061908, 7.27061327, 0.99691371, 0.99837112, 0.49301840],
++												 [	-6.27162439, -0.00100948, 0.00061887, 7.27061492, 0.99691472, 0.99837165, 0.49301855],
++												 [	-6.27162571, -0.00100915, 0.00061867, 7.27061656, 0.99691573, 0.99837218, 0.49301866],
++												 [	-6.27162702, -0.00100882, 0.00061847, 7.27061820, 0.99691673, 0.99837271, 0.49301881],
++												 [	-6.27162833, -0.00100849, 0.00061827, 7.27061984, 0.99691774, 0.99837324, 0.49301892],
++												 [	-6.27162964, -0.00100816, 0.00061807, 7.27062148, 0.99691874, 0.99837377, 0.49301906],
++												 [	-6.27163095, -0.00100783, 0.00061787, 7.27062311, 0.99691975, 0.99837430, 0.49301923],
++												 [	-6.27163225, -0.00100751, 0.00061767, 7.27062474, 0.99692075, 0.99837483, 0.49301935],
++												 [	-6.27163355, -0.00100718, 0.00061746, 7.27062637, 0.99692175, 0.99837536, 0.49301944],
++												 [	-6.27163485, -0.00100685, 0.00061726, 7.27062800, 0.99692275, 0.99837589, 0.49301961],
++												 [	-6.27163614, -0.00100652, 0.00061706, 7.27062962, 0.99692375, 0.99837641, 0.49301974],
++												 [	-6.27163743, -0.00100620, 0.00061686, 7.27063124, 0.99692476, 0.99837694, 0.49301990],
++												 [	-6.27163872, -0.00100587, 0.00061666, 7.27063285, 0.99692576, 0.99837747, 0.49301996],
++												 [	-6.27164001, -0.00100554, 0.00061646, 7.27063447, 0.99692675, 0.99837800, 0.49302013],
++												 [	-6.27164130, -0.00100522, 0.00061626, 7.27063608, 0.99692775, 0.99837852, 0.49302024],
++												 [	-6.27164258, -0.00100489, 0.00061606, 7.27063769, 0.99692875, 0.99837905, 0.49302039],
++												 [	-6.27164386, -0.00100456, 0.00061586, 7.27063929, 0.99692975, 0.99837957, 0.49302050],
++												 [	-6.27164513, -0.00100424, 0.00061566, 7.27064090, 0.99693075, 0.99838010, 0.49302064],
++												 [	-6.27164641, -0.00100391, 0.00061546, 7.27064250, 0.99693174, 0.99838063, 0.49302080],
++												 [	-6.27164768, -0.00100359, 0.00061526, 7.27064409, 0.99693274, 0.99838115, 0.49302092],
++												 [	-6.27164895, -0.00100326, 0.00061506, 7.27064569, 0.99693373, 0.99838168, 0.49302106],
++												 [	-6.27165022, -0.00100294, 0.00061486, 7.27064728, 0.99693473, 0.99838220, 0.49302117],
++												 [	-6.27165148, -0.00100261, 0.00061466, 7.27064887, 0.99693572, 0.99838272, 0.49302135],
++												 [	-6.27165274, -0.00100229, 0.00061446, 7.27065045, 0.99693671, 0.99838325, 0.49302147],
++												 [	-6.27165400, -0.00100196, 0.00061427, 7.27065204, 0.99693770, 0.99838377, 0.49302161],
++												 [	-6.27165526, -0.00100164, 0.00061407, 7.27065362, 0.99693870, 0.99838429, 0.49302174],
++												 [	-6.27165651, -0.00100132, 0.00061387, 7.27065520, 0.99693969, 0.99838482, 0.49302182],
++												 [	-6.27165777, -0.00100099, 0.00061367, 7.27065677, 0.99694068, 0.99838534, 0.49302200],
++												 [	-6.27165902, -0.00100067, 0.00061347, 7.27065835, 0.99694167, 0.99838586, 0.49302214],
++												 [	-6.27166026, -0.00100035, 0.00061327, 7.27065992, 0.99694266, 0.99838638, 0.49302227],
++												 [	-6.27166151, -0.00100002, 0.00061307, 7.27066149, 0.99694364, 0.99838690, 0.49302237],
++												 [	-6.27166275, -0.00099970, 0.00061288, 7.27066305, 0.99694463, 0.99838742, 0.49302253],
++												 [	-6.27166399, -0.00099938, 0.00061268, 7.27066461, 0.99694562, 0.99838795, 0.49302264],
++												 [	-6.27166523, -0.00099905, 0.00061248, 7.27066617, 0.99694660, 0.99838847, 0.49302277],
++												 [	-6.27166646, -0.00099873, 0.00061228, 7.27066773, 0.99694759, 0.99838899, 0.49302290],
++												 [	-6.27166770, -0.00099841, 0.00061208, 7.27066928, 0.99694858, 0.99838951, 0.49302301],
++												 [	-6.27166893, -0.00099809, 0.00061189, 7.27067084, 0.99694956, 0.99839002, 0.49302315],
++												 [	-6.27167015, -0.00099777, 0.00061169, 7.27067239, 0.99695054, 0.99839054, 0.49302331],
++												 [	-6.27167138, -0.00099745, 0.00061149, 7.27067393, 0.99695153, 0.99839106, 0.49302343],
++												 [	-6.27167260, -0.00099712, 0.00061130, 7.27067548, 0.99695251, 0.99839158, 0.49302354],
++												 [	-6.27167382, -0.00099680, 0.00061110, 7.27067702, 0.99695349, 0.99839210, 0.49302367],
++												 [	-6.27167504, -0.00099648, 0.00061090, 7.27067856, 0.99695447, 0.99839262, 0.49302378],
++												 [	-6.27167626, -0.00099616, 0.00061070, 7.27068010, 0.99695545, 0.99839313, 0.49302391],
++												 [	-6.27167747, -0.00099584, 0.00061051, 7.27068163, 0.99695643, 0.99839365, 0.49302405],
++												 [	-6.27167868, -0.00099552, 0.00061031, 7.27068316, 0.99695741, 0.99839417, 0.49302418],
++												 [	-6.27167989, -0.00099520, 0.00061012, 7.27068469, 0.99695839, 0.99839468, 0.49302428],
++												 [	-6.27168110, -0.00099488, 0.00060992, 7.27068622, 0.99695937, 0.99839520, 0.49302442],
++												 [	-6.27168231, -0.00099456, 0.00060972, 7.27068774, 0.99696035, 0.99839571, 0.49302457],
++												 [	-6.27168351, -0.00099424, 0.00060953, 7.27068927, 0.99696133, 0.99839623, 0.49302469],
++												 [	-6.27168471, -0.00099392, 0.00060933, 7.27069078, 0.99696230, 0.99839674, 0.49302483],
++												 [	-6.27168591, -0.00099360, 0.00060914, 7.27069230, 0.99696328, 0.99839726, 0.49302493],
++												 [	-6.27168710, -0.00099329, 0.00060894, 7.27069382, 0.99696425, 0.99839777, 0.49302510],
++												 [	-6.27168829, -0.00099297, 0.00060874, 7.27069533, 0.99696523, 0.99839829, 0.49302519],
++												 [	-6.27168949, -0.00099265, 0.00060855, 7.27069684, 0.99696620, 0.99839880, 0.49302531],
++												 [	-6.27169067, -0.00099233, 0.00060835, 7.27069834, 0.99696717, 0.99839931, 0.49302546],
++												 [	-6.27169186, -0.00099201, 0.00060816, 7.27069985, 0.99696815, 0.99839983, 0.49302559],
++												 [	-6.27169305, -0.00099170, 0.00060796, 7.27070135, 0.99696912, 0.99840034, 0.49302572],
++												 [	-6.27169423, -0.00099138, 0.00060777, 7.27070285, 0.99697009, 0.99840085, 0.49302581],
++												 [	-6.27169541, -0.00099106, 0.00060757, 7.27070435, 0.99697106, 0.99840137, 0.49302594],
++												 [	-6.27169659, -0.00099074, 0.00060738, 7.27070584, 0.99697203, 0.99840188, 0.49302606],
++												 [	-6.27169776, -0.00099043, 0.00060719, 7.27070734, 0.99697300, 0.99840239, 0.49302620],
++												 [	-6.27169893, -0.00099011, 0.00060699, 7.27070883, 0.99697397, 0.99840290, 0.49302635],
++												 [	-6.27170011, -0.00098979, 0.00060680, 7.27071031, 0.99697494, 0.99840341, 0.49302644],
++												 [	-6.27170128, -0.00098948, 0.00060660, 7.27071180, 0.99697590, 0.99840392, 0.49302662],
++												 [	-6.27170244, -0.00098916, 0.00060641, 7.27071328, 0.99697687, 0.99840443, 0.49302676],
++												 [	-6.27170361, -0.00098884, 0.00060622, 7.27071476, 0.99697784, 0.99840494, 0.49302682],
++												 [	-6.27170477, -0.00098853, 0.00060602, 7.27071624, 0.99697880, 0.99840545, 0.49302696],
++												 [	-6.27170593, -0.00098821, 0.00060583, 7.27071772, 0.99697977, 0.99840596, 0.49302711],
++												 [	-6.27170709, -0.00098790, 0.00060563, 7.27071919, 0.99698073, 0.99840647, 0.49302721],
++												 [	-6.27170825, -0.00098758, 0.00060544, 7.27072066, 0.99698170, 0.99840698, 0.49302733],
++												 [	-6.27170940, -0.00098727, 0.00060525, 7.27072213, 0.99698266, 0.99840748, 0.49302748],
++												 [	-6.27171055, -0.00098695, 0.00060505, 7.27072360, 0.99698362, 0.99840799, 0.49302765],
++												 [	-6.27171170, -0.00098664, 0.00060486, 7.27072506, 0.99698459, 0.99840850, 0.49302773],
++												 [	-6.27171285, -0.00098633, 0.00060467, 7.27072652, 0.99698555, 0.99840901, 0.49302786],
++												 [	-6.27171399, -0.00098601, 0.00060448, 7.27072798, 0.99698651, 0.99840951, 0.49302797],
++												 [	-6.27171514, -0.00098570, 0.00060428, 7.27072944, 0.99698747, 0.99841002, 0.49302811],
++												 [	-6.27171628, -0.00098538, 0.00060409, 7.27073090, 0.99698843, 0.99841053, 0.49302824],
++												 [	-6.27171742, -0.00098507, 0.00060390, 7.27073235, 0.99698939, 0.99841103, 0.49302835],
++												 [	-6.27171856, -0.00098476, 0.00060371, 7.27073380, 0.99699035, 0.99841154, 0.49302848],
++												 [	-6.27171969, -0.00098444, 0.00060351, 7.27073525, 0.99699130, 0.99841204, 0.49302858],
++												 [	-6.27172082, -0.00098413, 0.00060332, 7.27073669, 0.99699226, 0.99841255, 0.49302871],
++												 [	-6.27172196, -0.00098382, 0.00060313, 7.27073814, 0.99699322, 0.99841305, 0.49302887],
++												 [	-6.27172309, -0.00098351, 0.00060294, 7.27073958, 0.99699417, 0.99841356, 0.49302895],
++												 [	-6.27172421, -0.00098319, 0.00060275, 7.27074102, 0.99699513, 0.99841406, 0.49302912],
++												 [	-6.27172534, -0.00098288, 0.00060256, 7.27074246, 0.99699608, 0.99841456, 0.49302925],
++												 [	-6.27172646, -0.00098257, 0.00060236, 7.27074389, 0.99699704, 0.99841507, 0.49302935],
++												 [	-6.27172758, -0.00098226, 0.00060217, 7.27074532, 0.99699799, 0.99841557, 0.49302945],
++												 [	-6.27172870, -0.00098195, 0.00060198, 7.27074676, 0.99699894, 0.99841607, 0.49302959],
++												 [	-6.27172982, -0.00098163, 0.00060179, 7.27074818, 0.99699990, 0.99841657, 0.49302970],
++												 [	-6.27173093, -0.00098132, 0.00060160, 7.27074961, 0.99700085, 0.99841708, 0.49302981],
++												 [	-6.27173205, -0.00098101, 0.00060141, 7.27075103, 0.99700180, 0.99841758, 0.49302992],
++												 [	-6.27173316, -0.00098070, 0.00060122, 7.27075246, 0.99700275, 0.99841808, 0.49303009],
++												 [	-6.27173427, -0.00098039, 0.00060103, 7.27075388, 0.99700370, 0.99841858, 0.49303019],
++												 [	-6.27173537, -0.00098008, 0.00060084, 7.27075529, 0.99700465, 0.99841908, 0.49303031],
++												 [	-6.27173648, -0.00097977, 0.00060065, 7.27075671, 0.99700560, 0.99841958, 0.49303044],
++												 [	-6.27173758, -0.00097946, 0.00060046, 7.27075812, 0.99700655, 0.99842008, 0.49303056],
++												 [	-6.27173868, -0.00097915, 0.00060027, 7.27075953, 0.99700749, 0.99842058, 0.49303069],
++												 [	-6.27173978, -0.00097884, 0.00060008, 7.27076094, 0.99700844, 0.99842108, 0.49303080],
++												 [	-6.27174088, -0.00097853, 0.00059989, 7.27076235, 0.99700939, 0.99842158, 0.49303094],
++												 [	-6.27174198, -0.00097822, 0.00059970, 7.27076375, 0.99701033, 0.99842208, 0.49303107],
++												 [	-6.27174307, -0.00097791, 0.00059951, 7.27076516, 0.99701128, 0.99842258, 0.49303120],
++												 [	-6.27174416, -0.00097761, 0.00059932, 7.27076656, 0.99701222, 0.99842308, 0.49303132],
++												 [	-6.27174525, -0.00097730, 0.00059913, 7.27076795, 0.99701317, 0.99842357, 0.49303142],
++												 [	-6.27174634, -0.00097699, 0.00059894, 7.27076935, 0.99701411, 0.99842407, 0.49303154],
++												 [	-6.27174743, -0.00097668, 0.00059875, 7.27077075, 0.99701505, 0.99842457, 0.49303168],
++												 [	-6.27174851, -0.00097637, 0.00059856, 7.27077214, 0.99701599, 0.99842507, 0.49303176],
++												 [	-6.27174959, -0.00097606, 0.00059837, 7.27077353, 0.99701693, 0.99842556, 0.49303192],
++												 [	-6.27175067, -0.00097576, 0.00059818, 7.27077491, 0.99701788, 0.99842606, 0.49303205],
++												 [	-6.27175175, -0.00097545, 0.00059800, 7.27077630, 0.99701882, 0.99842656, 0.49303212],
++												 [	-6.27175283, -0.00097514, 0.00059781, 7.27077769, 0.99701976, 0.99842705, 0.49303223],
++												 [	-6.27175390, -0.00097484, 0.00059762, 7.27077907, 0.99702070, 0.99842755, 0.49303239],
++												 [	-6.27175497, -0.00097453, 0.00059743, 7.27078045, 0.99702163, 0.99842804, 0.49303247],
++												 [	-6.27175605, -0.00097422, 0.00059724, 7.27078182, 0.99702257, 0.99842854, 0.49303263],
++												 [	-6.27175712, -0.00097392, 0.00059705, 7.27078320, 0.99702351, 0.99842903, 0.49303277],
++												 [	-6.27175818, -0.00097361, 0.00059687, 7.27078457, 0.99702445, 0.99842952, 0.49303287],
++												 [	-6.27175925, -0.00097330, 0.00059668, 7.27078595, 0.99702538, 0.99843002, 0.49303298],
++												 [	-6.27176031, -0.00097300, 0.00059649, 7.27078731, 0.99702632, 0.99843051, 0.49303309],
++												 [	-6.27176137, -0.00097269, 0.00059630, 7.27078868, 0.99702725, 0.99843101, 0.49303324],
++												 [	-6.27176243, -0.00097239, 0.00059612, 7.27079005, 0.99702819, 0.99843150, 0.49303337],
++												 [	-6.27176349, -0.00097208, 0.00059593, 7.27079141, 0.99702912, 0.99843199, 0.49303342],
++												 [	-6.27176455, -0.00097178, 0.00059574, 7.27079277, 0.99703005, 0.99843248, 0.49303355],
++												 [	-6.27176560, -0.00097147, 0.00059555, 7.27079413, 0.99703099, 0.99843298, 0.49303367],
++												 [	-6.27176666, -0.00097117, 0.00059537, 7.27079549, 0.99703192, 0.99843347, 0.49303384],
++												 [	-6.27176771, -0.00097086, 0.00059518, 7.27079685, 0.99703285, 0.99843396, 0.49303391],
++												 [	-6.27176876, -0.00097056, 0.00059499, 7.27079820, 0.99703378, 0.99843445, 0.49303404],
++												 [	-6.27176980, -0.00097025, 0.00059481, 7.27079955, 0.99703471, 0.99843494, 0.49303417],
++												 [	-6.27177085, -0.00096995, 0.00059462, 7.27080090, 0.99703564, 0.99843543, 0.49303426],
++												 [	-6.27177189, -0.00096965, 0.00059443, 7.27080225, 0.99703657, 0.99843592, 0.49303442],
++												 [	-6.27177294, -0.00096934, 0.00059425, 7.27080359, 0.99703750, 0.99843641, 0.49303454],
++												 [	-6.27177398, -0.00096904, 0.00059406, 7.27080494, 0.99703843, 0.99843690, 0.49303464],
++												 [	-6.27177502, -0.00096874, 0.00059388, 7.27080628, 0.99703936, 0.99843739, 0.49303476],
++												 [	-6.27177605, -0.00096843, 0.00059369, 7.27080762, 0.99704028, 0.99843788, 0.49303487],
++												 [	-6.27177709, -0.00096813, 0.00059350, 7.27080896, 0.99704121, 0.99843837, 0.49303501],
++												 [	-6.27177812, -0.00096783, 0.00059332, 7.27081030, 0.99704213, 0.99843886, 0.49303512],
++												 [	-6.27177915, -0.00096752, 0.00059313, 7.27081163, 0.99704306, 0.99843934, 0.49303521],
++												 [	-6.27178018, -0.00096722, 0.00059295, 7.27081296, 0.99704398, 0.99843983, 0.49303537],
++												 [	-6.27178121, -0.00096692, 0.00059276, 7.27081429, 0.99704491, 0.99844032, 0.49303546],
++												 [	-6.27178224, -0.00096662, 0.00059258, 7.27081562, 0.99704583, 0.99844081, 0.49303558],
++												 [	-6.27178326, -0.00096632, 0.00059239, 7.27081695, 0.99704675, 0.99844129, 0.49303575],
++												 [	-6.27178429, -0.00096602, 0.00059221, 7.27081827, 0.99704768, 0.99844178, 0.49303581],
++												 [	-6.27178531, -0.00096571, 0.00059202, 7.27081960, 0.99704860, 0.99844227, 0.49303591],
++												 [	-6.27178633, -0.00096541, 0.00059184, 7.27082092, 0.99704952, 0.99844275, 0.49303609],
++												 [	-6.27178735, -0.00096511, 0.00059165, 7.27082224, 0.99705044, 0.99844324, 0.49303618],
++												 [	-6.27178836, -0.00096481, 0.00059147, 7.27082355, 0.99705136, 0.99844372, 0.49303628],
++												 [	-6.27178938, -0.00096451, 0.00059128, 7.27082487, 0.99705228, 0.99844421, 0.49303641],
++												 [	-6.27179039, -0.00096421, 0.00059110, 7.27082618, 0.99705320, 0.99844469, 0.49303652],
++												 [	-6.27179140, -0.00096391, 0.00059091, 7.27082749, 0.99705412, 0.99844518, 0.49303666],
++												 [	-6.27179242, -0.00096361, 0.00059073, 7.27082881, 0.99705503, 0.99844566, 0.49303673],
++												 [	-6.27179342, -0.00096331, 0.00059055, 7.27083011, 0.99705595, 0.99844614, 0.49303690],
++												 [	-6.27179443, -0.00096301, 0.00059036, 7.27083142, 0.99705687, 0.99844663, 0.49303700],
++												 [	-6.27179544, -0.00096271, 0.00059018, 7.27083272, 0.99705778, 0.99844711, 0.49303712],
++												 [	-6.27179644, -0.00096241, 0.00058999, 7.27083403, 0.99705870, 0.99844759, 0.49303722],
++												 [	-6.27179744, -0.00096211, 0.00058981, 7.27083533, 0.99705961, 0.99844808, 0.49303732],
++												 [	-6.27179844, -0.00096181, 0.00058963, 7.27083663, 0.99706053, 0.99844856, 0.49303745],
++												 [	-6.27179944, -0.00096152, 0.00058944, 7.27083792, 0.99706144, 0.99844904, 0.49303757],
++												 [	-6.27180044, -0.00096122, 0.00058926, 7.27083922, 0.99706235, 0.99844952, 0.49303771],
++												 [	-6.27180143, -0.00096092, 0.00058908, 7.27084051, 0.99706327, 0.99845000, 0.49303777],
++												 [	-6.27180243, -0.00096062, 0.00058890, 7.27084181, 0.99706418, 0.99845048, 0.49303795],
++												 [	-6.27180342, -0.00096032, 0.00058871, 7.27084310, 0.99706509, 0.99845097, 0.49303802],
++												 [	-6.27180441, -0.00096002, 0.00058853, 7.27084438, 0.99706600, 0.99845145, 0.49303815],
++												 [	-6.27180540, -0.00095973, 0.00058835, 7.27084567, 0.99706691, 0.99845193, 0.49303827],
++												 [	-6.27180639, -0.00095943, 0.00058816, 7.27084696, 0.99706782, 0.99845241, 0.49303836],
++												 [	-6.27180737, -0.00095913, 0.00058798, 7.27084824, 0.99706873, 0.99845289, 0.49303844],
++												 [	-6.27180836, -0.00095884, 0.00058780, 7.27084952, 0.99706964, 0.99845336, 0.49303861],
++												 [	-6.27180934, -0.00095854, 0.00058762, 7.27085080, 0.99707055, 0.99845384, 0.49303868],
++												 [	-6.27181032, -0.00095824, 0.00058744, 7.27085208, 0.99707145, 0.99845432, 0.49303884],
++												 [	-6.27181130, -0.00095795, 0.00058725, 7.27085335, 0.99707236, 0.99845480, 0.49303895],
++												 [	-6.27181228, -0.00095765, 0.00058707, 7.27085463, 0.99707327, 0.99845528, 0.49303908],
++												 [	-6.27181325, -0.00095735, 0.00058689, 7.27085590, 0.99707417, 0.99845576, 0.49303915],
++												 [	-6.27181423, -0.00095706, 0.00058671, 7.27085717, 0.99707508, 0.99845623, 0.49303928],
++												 [	-6.27181520, -0.00095676, 0.00058653, 7.27085844, 0.99707598, 0.99845671, 0.49303940],
++												 [	-6.27181618, -0.00095647, 0.00058635, 7.27085971, 0.99707689, 0.99845719, 0.49303950],
++												 [	-6.27181715, -0.00095617, 0.00058616, 7.27086098, 0.99707779, 0.99845766, 0.49303965],
++												 [	-6.27181811, -0.00095588, 0.00058598, 7.27086224, 0.99707869, 0.99845814, 0.49303979],
++												 [	-6.27181908, -0.00095558, 0.00058580, 7.27086350, 0.99707960, 0.99845862, 0.49303989],
++												 [	-6.27182005, -0.00095529, 0.00058562, 7.27086476, 0.99708050, 0.99845909, 0.49303994],
++												 [	-6.27182101, -0.00095499, 0.00058544, 7.27086602, 0.99708140, 0.99845957, 0.49304006],
++												 [	-6.27182198, -0.00095470, 0.00058526, 7.27086728, 0.99708230, 0.99846004, 0.49304023],
++												 [	-6.27182294, -0.00095440, 0.00058508, 7.27086854, 0.99708320, 0.99846052, 0.49304031],
++												 [	-6.27182390, -0.00095411, 0.00058490, 7.27086979, 0.99708410, 0.99846099, 0.49304040],
++												 [	-6.27182486, -0.00095381, 0.00058472, 7.27087104, 0.99708500, 0.99846147, 0.49304052],
++												 [	-6.27182581, -0.00095352, 0.00058454, 7.27087229, 0.99708590, 0.99846194, 0.49304066],
++												 [	-6.27182677, -0.00095323, 0.00058436, 7.27087354, 0.99708680, 0.99846242, 0.49304078],
++												 [	-6.27182772, -0.00095293, 0.00058418, 7.27087479, 0.99708769, 0.99846289, 0.49304090],
++												 [	-6.27182867, -0.00095264, 0.00058400, 7.27087603, 0.99708859, 0.99846336, 0.49304102],
++												 [	-6.27182963, -0.00095235, 0.00058382, 7.27087728, 0.99708949, 0.99846383, 0.49304112],
++												 [	-6.27183058, -0.00095205, 0.00058364, 7.27087852, 0.99709038, 0.99846431, 0.49304120],
++												 [	-6.27183152, -0.00095176, 0.00058346, 7.27087976, 0.99709128, 0.99846478, 0.49304129],
++												 [	-6.27183247, -0.00095147, 0.00058328, 7.27088100, 0.99709217, 0.99846525, 0.49304145],
++												 [	-6.27183342, -0.00095118, 0.00058310, 7.27088224, 0.99709307, 0.99846572, 0.49304157],
++												 [	-6.27183436, -0.00095088, 0.00058292, 7.27088348, 0.99709396, 0.99846619, 0.49304165],
++												 [	-6.27183530, -0.00095059, 0.00058274, 7.27088471, 0.99709485, 0.99846667, 0.49304175],
++												 [	-6.27183624, -0.00095030, 0.00058256, 7.27088594, 0.99709575, 0.99846714, 0.49304190],
++												 [	-6.27183718, -0.00095001, 0.00058238, 7.27088717, 0.99709664, 0.99846761, 0.49304204],
++												 [	-6.27183812, -0.00094972, 0.00058221, 7.27088840, 0.99709753, 0.99846808, 0.49304212],
++												 [	-6.27183906, -0.00094943, 0.00058203, 7.27088963, 0.99709842, 0.99846855, 0.49304222],
++												 [	-6.27183999, -0.00094914, 0.00058185, 7.27089086, 0.99709931, 0.99846902, 0.49304233],
++												 [	-6.27184093, -0.00094884, 0.00058167, 7.27089208, 0.99710020, 0.99846949, 0.49304245],
++												 [	-6.27184186, -0.00094855, 0.00058149, 7.27089331, 0.99710109, 0.99846996, 0.49304255],
++												 [	-6.27184279, -0.00094826, 0.00058131, 7.27089453, 0.99710198, 0.99847042, 0.49304263],
++												 [	-6.27184372, -0.00094797, 0.00058113, 7.27089575, 0.99710287, 0.99847089, 0.49304277],
++												 [	-6.27184465, -0.00094768, 0.00058096, 7.27089697, 0.99710375, 0.99847136, 0.49304288],
++												 [	-6.27184558, -0.00094739, 0.00058078, 7.27089818, 0.99710464, 0.99847183, 0.49304302],
++												 [	-6.27184650, -0.00094710, 0.00058060, 7.27089940, 0.99710553, 0.99847230, 0.49304309],
++												 [	-6.27184743, -0.00094681, 0.00058042, 7.27090061, 0.99710641, 0.99847276, 0.49304322],
++												 [	-6.27184835, -0.00094652, 0.00058025, 7.27090182, 0.99710730, 0.99847323, 0.49304332],
++												 [	-6.27184927, -0.00094623, 0.00058007, 7.27090304, 0.99710818, 0.99847370, 0.49304348],
++												 [	-6.27185019, -0.00094595, 0.00057989, 7.27090424, 0.99710907, 0.99847416, 0.49304351],
++												 [	-6.27185111, -0.00094566, 0.00057971, 7.27090545, 0.99710995, 0.99847463, 0.49304363],
++												 [	-6.27185203, -0.00094537, 0.00057954, 7.27090666, 0.99711083, 0.99847510, 0.49304378],
++												 [	-6.27185294, -0.00094508, 0.00057936, 7.27090786, 0.99711172, 0.99847556, 0.49304390],
++												 [	-6.27185386, -0.00094479, 0.00057918, 7.27090907, 0.99711260, 0.99847603, 0.49304399],
++												 [	-6.27185477, -0.00094450, 0.00057901, 7.27091027, 0.99711348, 0.99847649, 0.49304412],
++												 [	-6.27185568, -0.00094421, 0.00057883, 7.27091147, 0.99711436, 0.99847696, 0.49304419],
++												 [	-6.27185659, -0.00094393, 0.00057865, 7.27091267, 0.99711524, 0.99847742, 0.49304433],
++												 [	-6.27185750, -0.00094364, 0.00057848, 7.27091386, 0.99711612, 0.99847789, 0.49304445],
++												 [	-6.27185841, -0.00094335, 0.00057830, 7.27091506, 0.99711700, 0.99847835, 0.49304453],
++												 [	-6.27185932, -0.00094306, 0.00057812, 7.27091625, 0.99711788, 0.99847881, 0.49304463],
++												 [	-6.27186022, -0.00094278, 0.00057795, 7.27091745, 0.99711876, 0.99847928, 0.49304471],
++												 [	-6.27186113, -0.00094249, 0.00057777, 7.27091864, 0.99711964, 0.99847974, 0.49304488],
++												 [	-6.27186203, -0.00094220, 0.00057759, 7.27091983, 0.99712051, 0.99848020, 0.49304496],
++												 [	-6.27186293, -0.00094192, 0.00057742, 7.27092101, 0.99712139, 0.99848067, 0.49304509],
++												 [	-6.27186383, -0.00094163, 0.00057724, 7.27092220, 0.99712227, 0.99848113, 0.49304521],
++												 [	-6.27186473, -0.00094134, 0.00057707, 7.27092339, 0.99712314, 0.99848159, 0.49304528],
++												 [	-6.27186563, -0.00094106, 0.00057689, 7.27092457, 0.99712402, 0.99848205, 0.49304542],
++												 [	-6.27186652, -0.00094077, 0.00057672, 7.27092575, 0.99712489, 0.99848251, 0.49304552],
++												 [	-6.27186742, -0.00094049, 0.00057654, 7.27092693, 0.99712577, 0.99848297, 0.49304562],
++												 [	-6.27186831, -0.00094020, 0.00057636, 7.27092811, 0.99712664, 0.99848344, 0.49304571],
++												 [	-6.27186920, -0.00093991, 0.00057619, 7.27092929, 0.99712751, 0.99848390, 0.49304585],
++												 [	-6.27187010, -0.00093963, 0.00057601, 7.27093047, 0.99712839, 0.99848436, 0.49304595],
++												 [	-6.27187098, -0.00093934, 0.00057584, 7.27093164, 0.99712926, 0.99848482, 0.49304606],
++												 [	-6.27187187, -0.00093906, 0.00057567, 7.27093281, 0.99713013, 0.99848528, 0.49304619],
++												 [	-6.27187276, -0.00093877, 0.00057549, 7.27093399, 0.99713100, 0.99848574, 0.49304625],
++												 [	-6.27187365, -0.00093849, 0.00057532, 7.27093516, 0.99713187, 0.99848619, 0.49304638],
++												 [	-6.27187453, -0.00093821, 0.00057514, 7.27093633, 0.99713274, 0.99848665, 0.49304650],
++												 [	-6.27187541, -0.00093792, 0.00057497, 7.27093749, 0.99713361, 0.99848711, 0.49304662],
++												 [	-6.27187630, -0.00093764, 0.00057479, 7.27093866, 0.99713448, 0.99848757, 0.49304675],
++												 [	-6.27187718, -0.00093735, 0.00057462, 7.27093983, 0.99713535, 0.99848803, 0.49304680],
++												 [	-6.27187806, -0.00093707, 0.00057444, 7.27094099, 0.99713622, 0.99848849, 0.49304696],
++												 [	-6.27187894, -0.00093679, 0.00057427, 7.27094215, 0.99713708, 0.99848894, 0.49304701],
++												 [	-6.27187981, -0.00093650, 0.00057410, 7.27094331, 0.99713795, 0.99848940, 0.49304717],
++												 [	-6.27188069, -0.00093622, 0.00057392, 7.27094447, 0.99713882, 0.99848986, 0.49304726],
++												 [	-6.27188156, -0.00093594, 0.00057375, 7.27094563, 0.99713968, 0.99849031, 0.49304734],
++												 [	-6.27188244, -0.00093565, 0.00057358, 7.27094678, 0.99714055, 0.99849077, 0.49304749],
++												 [	-6.27188331, -0.00093537, 0.00057340, 7.27094794, 0.99714141, 0.99849123, 0.49304756],
++												 [	-6.27188418, -0.00093509, 0.00057323, 7.27094909, 0.99714228, 0.99849168, 0.49304769],
++												 [	-6.27188505, -0.00093481, 0.00057306, 7.27095025, 0.99714314, 0.99849214, 0.49304781],
++												 [	-6.27188592, -0.00093452, 0.00057288, 7.27095140, 0.99714400, 0.99849259, 0.49304789],
++												 [	-6.27188679, -0.00093424, 0.00057271, 7.27095255, 0.99714486, 0.99849305, 0.49304797],
++												 [	-6.27188765, -0.00093396, 0.00057254, 7.27095369, 0.99714573, 0.99849350, 0.49304811],
++												 [	-6.27188852, -0.00093368, 0.00057236, 7.27095484, 0.99714659, 0.99849396, 0.49304819],
++												 [	-6.27188938, -0.00093340, 0.00057219, 7.27095599, 0.99714745, 0.99849441, 0.49304832],
++												 [	-6.27189025, -0.00093312, 0.00057202, 7.27095713, 0.99714831, 0.99849487, 0.49304841],
++												 [	-6.27189111, -0.00093283, 0.00057185, 7.27095827, 0.99714917, 0.99849532, 0.49304852],
++												 [	-6.27189197, -0.00093255, 0.00057167, 7.27095942, 0.99715003, 0.99849577, 0.49304861],
++												 [	-6.27189283, -0.00093227, 0.00057150, 7.27096056, 0.99715089, 0.99849623, 0.49304875],
++												 [	-6.27189369, -0.00093199, 0.00057133, 7.27096169, 0.99715175, 0.99849668, 0.49304884],
++												 [	-6.27189454, -0.00093171, 0.00057116, 7.27096283, 0.99715260, 0.99849713, 0.49304894],
++												 [	-6.27189540, -0.00093143, 0.00057098, 7.27096397, 0.99715346, 0.99849758, 0.49304909],
++												 [	-6.27189625, -0.00093115, 0.00057081, 7.27096510, 0.99715432, 0.99849804, 0.49304918],
++												 [	-6.27189711, -0.00093087, 0.00057064, 7.27096624, 0.99715517, 0.99849849, 0.49304926],
++												 [	-6.27189796, -0.00093059, 0.00057047, 7.27096737, 0.99715603, 0.99849894, 0.49304941],
++												 [	-6.27189881, -0.00093031, 0.00057030, 7.27096850, 0.99715689, 0.99849939, 0.49304950],
++												 [	-6.27189966, -0.00093003, 0.00057013, 7.27096963, 0.99715774, 0.99849984, 0.49304958],
++												 [	-6.27190051, -0.00092975, 0.00056995, 7.27097076, 0.99715860, 0.99850029, 0.49304964],
++												 [	-6.27190136, -0.00092947, 0.00056978, 7.27097188, 0.99715945, 0.99850074, 0.49304982],
++												 [	-6.27190220, -0.00092919, 0.00056961, 7.27097301, 0.99716030, 0.99850119, 0.49304989],
++												 [	-6.27190305, -0.00092892, 0.00056944, 7.27097413, 0.99716115, 0.99850164, 0.49305004],
++												 [	-6.27190389, -0.00092864, 0.00056927, 7.27097525, 0.99716201, 0.99850209, 0.49305011],
++												 [	-6.27190474, -0.00092836, 0.00056910, 7.27097638, 0.99716286, 0.99850254, 0.49305025],
++												 [	-6.27190558, -0.00092808, 0.00056893, 7.27097750, 0.99716371, 0.99850299, 0.49305033],
++												 [	-6.27190642, -0.00092780, 0.00056876, 7.27097862, 0.99716456, 0.99850344, 0.49305045],
++												 [	-6.27190726, -0.00092752, 0.00056859, 7.27097973, 0.99716541, 0.99850389, 0.49305056],
++												 [	-6.27190810, -0.00092725, 0.00056842, 7.27098085, 0.99716626, 0.99850434, 0.49305065],
++												 [	-6.27190893, -0.00092697, 0.00056825, 7.27098197, 0.99716711, 0.99850478, 0.49305076],
++												 [	-6.27190977, -0.00092669, 0.00056808, 7.27098308, 0.99716796, 0.99850523, 0.49305085],
++												 [	-6.27191061, -0.00092641, 0.00056791, 7.27098419, 0.99716881, 0.99850568, 0.49305094],
++												 [	-6.27191144, -0.00092614, 0.00056774, 7.27098530, 0.99716965, 0.99850613, 0.49305108],
++												 [	-6.27191227, -0.00092586, 0.00056757, 7.27098641, 0.99717050, 0.99850657, 0.49305115],
++												 [	-6.27191311, -0.00092558, 0.00056740, 7.27098752, 0.99717135, 0.99850702, 0.49305125],
++												 [	-6.27191394, -0.00092531, 0.00056723, 7.27098863, 0.99717219, 0.99850747, 0.49305139],
++												 [	-6.27191477, -0.00092503, 0.00056706, 7.27098974, 0.99717304, 0.99850791, 0.49305148],
++												 [	-6.27191559, -0.00092475, 0.00056689, 7.27099084, 0.99717389, 0.99850836, 0.49305158],
++												 [	-6.27191642, -0.00092448, 0.00056672, 7.27099194, 0.99717473, 0.99850880, 0.49305167],
++												 [	-6.27191725, -0.00092420, 0.00056655, 7.27099305, 0.99717557, 0.99850925, 0.49305181],
++												 [	-6.27191807, -0.00092393, 0.00056638, 7.27099415, 0.99717642, 0.99850969, 0.49305190],
++												 [	-6.27191890, -0.00092365, 0.00056621, 7.27099525, 0.99717726, 0.99851014, 0.49305201],
++												 [	-6.27191972, -0.00092338, 0.00056604, 7.27099635, 0.99717810, 0.99851058, 0.49305208],
++												 [	-6.27192054, -0.00092310, 0.00056587, 7.27099744, 0.99717895, 0.99851103, 0.49305223],
++												 [	-6.27192136, -0.00092282, 0.00056570, 7.27099854, 0.99717979, 0.99851147, 0.49305232],
++												 [	-6.27192218, -0.00092255, 0.00056553, 7.27099964, 0.99718063, 0.99851192, 0.49305243],
++												 [	-6.27192300, -0.00092227, 0.00056537, 7.27100073, 0.99718147, 0.99851236, 0.49305250],
++												 [	-6.27192382, -0.00092200, 0.00056520, 7.27100182, 0.99718231, 0.99851280, 0.49305258],
++												 [	-6.27192464, -0.00092173, 0.00056503, 7.27100291, 0.99718315, 0.99851325, 0.49305275],
++												 [	-6.27192545, -0.00092145, 0.00056486, 7.27100400, 0.99718399, 0.99851369, 0.49305278],
++												 [	-6.27192627, -0.00092118, 0.00056469, 7.27100509, 0.99718483, 0.99851413, 0.49305295],
++												 [	-6.27192708, -0.00092090, 0.00056452, 7.27100618, 0.99718566, 0.99851457, 0.49305299],
++												 [	-6.27192790, -0.00092063, 0.00056436, 7.27100727, 0.99718650, 0.99851502, 0.49305314],
++												 [	-6.27192871, -0.00092036, 0.00056419, 7.27100835, 0.99718734, 0.99851546, 0.49305323],
++												 [	-6.27192952, -0.00092008, 0.00056402, 7.27100944, 0.99718818, 0.99851590, 0.49305333],
++												 [	-6.27193033, -0.00091981, 0.00056385, 7.27101052, 0.99718901, 0.99851634, 0.49305345],
++												 [	-6.27193114, -0.00091954, 0.00056368, 7.27101160, 0.99718985, 0.99851678, 0.49305349],
++												 [	-6.27193194, -0.00091926, 0.00056352, 7.27101268, 0.99719068, 0.99851722, 0.49305365],
++												 [	-6.27193275, -0.00091899, 0.00056335, 7.27101376, 0.99719152, 0.99851766, 0.49305371],
++												 [	-6.27193356, -0.00091872, 0.00056318, 7.27101484, 0.99719235, 0.99851810, 0.49305382],
++												 [	-6.27193436, -0.00091844, 0.00056301, 7.27101592, 0.99719318, 0.99851854, 0.49305392],
++												 [	-6.27193516, -0.00091817, 0.00056285, 7.27101699, 0.99719402, 0.99851898, 0.49305400],
++												 [	-6.27193597, -0.00091790, 0.00056268, 7.27101807, 0.99719485, 0.99851942, 0.49305415],
++												 [	-6.27193677, -0.00091763, 0.00056251, 7.27101914, 0.99719568, 0.99851986, 0.49305427],
++												 [	-6.27193757, -0.00091736, 0.00056235, 7.27102021, 0.99719651, 0.99852030, 0.49305437],
++												 [	-6.27193837, -0.00091708, 0.00056218, 7.27102128, 0.99719735, 0.99852074, 0.49305443],
++												 [	-6.27193917, -0.00091681, 0.00056201, 7.27102235, 0.99719818, 0.99852117, 0.49305458],
++												 [	-6.27193996, -0.00091654, 0.00056185, 7.27102342, 0.99719901, 0.99852161, 0.49305464],
++												 [	-6.27194076, -0.00091627, 0.00056168, 7.27102449, 0.99719984, 0.99852205, 0.49305472],
++												 [	-6.27194155, -0.00091600, 0.00056151, 7.27102556, 0.99720066, 0.99852249, 0.49305485],
++												 [	-6.27194235, -0.00091573, 0.00056135, 7.27102662, 0.99720149, 0.99852292, 0.49305488],
++												 [	-6.27194314, -0.00091546, 0.00056118, 7.27102769, 0.99720232, 0.99852336, 0.49305501],
++												 [	-6.27194394, -0.00091519, 0.00056102, 7.27102875, 0.99720315, 0.99852380, 0.49305520],
++												 [	-6.27194473, -0.00091492, 0.00056085, 7.27102981, 0.99720398, 0.99852423, 0.49305527],
++												 [	-6.27194552, -0.00091465, 0.00056068, 7.27103087, 0.99720480, 0.99852467, 0.49305537],
++												 [	-6.27194631, -0.00091438, 0.00056052, 7.27103193, 0.99720563, 0.99852511, 0.49305541],
++												 [	-6.27194710, -0.00091411, 0.00056035, 7.27103299, 0.99720646, 0.99852554, 0.49305558],
++												 [	-6.27194788, -0.00091384, 0.00056019, 7.27103405, 0.99720728, 0.99852598, 0.49305568],
++												 [	-6.27194867, -0.00091357, 0.00056002, 7.27103510, 0.99720811, 0.99852641, 0.49305582],
++												 [	-6.27194946, -0.00091330, 0.00055986, 7.27103616, 0.99720893, 0.99852685, 0.49305585],
++												 [	-6.27195024, -0.00091303, 0.00055969, 7.27103721, 0.99720975, 0.99852728, 0.49305599],
++												 [	-6.27195102, -0.00091276, 0.00055953, 7.27103827, 0.99721058, 0.99852772, 0.49305606],
++												 [	-6.27195181, -0.00091249, 0.00055936, 7.27103932, 0.99721140, 0.99852815, 0.49305614],
++												 [	-6.27195259, -0.00091222, 0.00055920, 7.27104037, 0.99721222, 0.99852858, 0.49305629],
++												 [	-6.27195337, -0.00091195, 0.00055903, 7.27104142, 0.99721304, 0.99852902, 0.49305636],
++												 [	-6.27195415, -0.00091168, 0.00055887, 7.27104247, 0.99721387, 0.99852945, 0.49305643],
++												 [	-6.27195493, -0.00091141, 0.00055870, 7.27104351, 0.99721469, 0.99852988, 0.49305655],
++												 [	-6.27195571, -0.00091115, 0.00055854, 7.27104456, 0.99721551, 0.99853032, 0.49305663],
++												 [	-6.27195648, -0.00091088, 0.00055837, 7.27104561, 0.99721633, 0.99853075, 0.49305679],
++												 [	-6.27195726, -0.00091061, 0.00055821, 7.27104665, 0.99721715, 0.99853118, 0.49305682],
++												 [	-6.27195803, -0.00091034, 0.00055804, 7.27104769, 0.99721796, 0.99853161, 0.49305696],
++												 [	-6.27195881, -0.00091007, 0.00055788, 7.27104873, 0.99721878, 0.99853205, 0.49305711],
++												 [	-6.27195958, -0.00090981, 0.00055771, 7.27104978, 0.99721960, 0.99853248, 0.49305719],
++												 [	-6.27196035, -0.00090954, 0.00055755, 7.27105081, 0.99722042, 0.99853291, 0.49305721],
++												 [	-6.27196113, -0.00090927, 0.00055739, 7.27105185, 0.99722124, 0.99853334, 0.49305736],
++												 [	-6.27196190, -0.00090901, 0.00055722, 7.27105289, 0.99722205, 0.99853377, 0.49305741],
++												 [	-6.27196267, -0.00090874, 0.00055706, 7.27105393, 0.99722287, 0.99853420, 0.49305756],
++												 [	-6.27196344, -0.00090847, 0.00055690, 7.27105496, 0.99722368, 0.99853463, 0.49305766],
++												 [	-6.27196420, -0.00090821, 0.00055673, 7.27105600, 0.99722450, 0.99853506, 0.49305779],
++												 [	-6.27196497, -0.00090794, 0.00055657, 7.27105703, 0.99722531, 0.99853549, 0.49305788],
++												 [	-6.27196574, -0.00090767, 0.00055641, 7.27105806, 0.99722613, 0.99853592, 0.49305797],
++												 [	-6.27196650, -0.00090741, 0.00055624, 7.27105909, 0.99722694, 0.99853635, 0.49305806],
++												 [	-6.27196726, -0.00090714, 0.00055608, 7.27106012, 0.99722776, 0.99853678, 0.49305817],
++												 [	-6.27196803, -0.00090688, 0.00055592, 7.27106115, 0.99722857, 0.99853721, 0.49305825],
++												 [	-6.27196879, -0.00090661, 0.00055575, 7.27106218, 0.99722938, 0.99853764, 0.49305840],
++												 [	-6.27196955, -0.00090634, 0.00055559, 7.27106321, 0.99723019, 0.99853807, 0.49305847],
++												 [	-6.27197031, -0.00090608, 0.00055543, 7.27106423, 0.99723100, 0.99853849, 0.49305859],
++												 [	-6.27197107, -0.00090581, 0.00055526, 7.27106526, 0.99723181, 0.99853892, 0.49305865],
++												 [	-6.27197183, -0.00090555, 0.00055510, 7.27106628, 0.99723262, 0.99853935, 0.49305875],
++												 [	-6.27197259, -0.00090528, 0.00055494, 7.27106730, 0.99723343, 0.99853978, 0.49305889],
++												 [	-6.27197335, -0.00090502, 0.00055478, 7.27106833, 0.99723424, 0.99854020, 0.49305896],
++												 [	-6.27197410, -0.00090476, 0.00055461, 7.27106935, 0.99723505, 0.99854063, 0.49305906],
++												 [	-6.27197486, -0.00090449, 0.00055445, 7.27107037, 0.99723586, 0.99854106, 0.49305911],
++												 [	-6.27197561, -0.00090423, 0.00055429, 7.27107138, 0.99723667, 0.99854148, 0.49305929],
++												 [	-6.27197637, -0.00090396, 0.00055413, 7.27107240, 0.99723748, 0.99854191, 0.49305933],
++												 [	-6.27197712, -0.00090370, 0.00055397, 7.27107342, 0.99723828, 0.99854233, 0.49305943],
++												 [	-6.27197787, -0.00090344, 0.00055380, 7.27107443, 0.99723909, 0.99854276, 0.49305954],
++												 [	-6.27197862, -0.00090317, 0.00055364, 7.27107545, 0.99723990, 0.99854319, 0.49305965],
++												 [	-6.27197937, -0.00090291, 0.00055348, 7.27107646, 0.99724070, 0.99854361, 0.49305972],
++												 [	-6.27198012, -0.00090264, 0.00055332, 7.27107748, 0.99724151, 0.99854404, 0.49305986],
++												 [	-6.27198087, -0.00090238, 0.00055316, 7.27107849, 0.99724231, 0.99854446, 0.49305996],
++												 [	-6.27198162, -0.00090212, 0.00055300, 7.27107950, 0.99724312, 0.99854488, 0.49306003],
++												 [	-6.27198236, -0.00090186, 0.00055284, 7.27108051, 0.99724392, 0.99854531, 0.49306014],
++												 [	-6.27198311, -0.00090159, 0.00055267, 7.27108151, 0.99724472, 0.99854573, 0.49306027],
++												 [	-6.27198385, -0.00090133, 0.00055251, 7.27108252, 0.99724553, 0.99854616, 0.49306036],
++												 [	-6.27198460, -0.00090107, 0.00055235, 7.27108353, 0.99724633, 0.99854658, 0.49306043],
++												 [	-6.27198534, -0.00090081, 0.00055219, 7.27108453, 0.99724713, 0.99854700, 0.49306047],
++												 [	-6.27198608, -0.00090054, 0.00055203, 7.27108554, 0.99724793, 0.99854742, 0.49306066],
++												 [	-6.27198682, -0.00090028, 0.00055187, 7.27108654, 0.99724873, 0.99854785, 0.49306072],
++												 [	-6.27198756, -0.00090002, 0.00055171, 7.27108754, 0.99724953, 0.99854827, 0.49306079],
++												 [	-6.27198830, -0.00089976, 0.00055155, 7.27108855, 0.99725033, 0.99854869, 0.49306090],
++												 [	-6.27198904, -0.00089950, 0.00055139, 7.27108955, 0.99725113, 0.99854911, 0.49306100],
++												 [	-6.27198978, -0.00089924, 0.00055123, 7.27109054, 0.99725193, 0.99854954, 0.49306107],
++												 [	-6.27199052, -0.00089898, 0.00055107, 7.27109154, 0.99725273, 0.99854996, 0.49306122],
++												 [	-6.27199126, -0.00089871, 0.00055091, 7.27109254, 0.99725353, 0.99855038, 0.49306129],
++												 [	-6.27199199, -0.00089845, 0.00055075, 7.27109354, 0.99725433, 0.99855080, 0.49306135],
++												 [	-6.27199273, -0.00089819, 0.00055059, 7.27109453, 0.99725512, 0.99855122, 0.49306146],
++												 [	-6.27199346, -0.00089793, 0.00055043, 7.27109553, 0.99725592, 0.99855164, 0.49306163],
++												 [	-6.27199419, -0.00089767, 0.00055027, 7.27109652, 0.99725672, 0.99855206, 0.49306163],
++												 [	-6.27199493, -0.00089741, 0.00055011, 7.27109751, 0.99725751, 0.99855248, 0.49306178],
++												 [	-6.27199566, -0.00089715, 0.00054995, 7.27109851, 0.99725831, 0.99855290, 0.49306188],
++												 [	-6.27199639, -0.00089689, 0.00054979, 7.27109950, 0.99725910, 0.99855332, 0.49306196],
++												 [	-6.27199712, -0.00089663, 0.00054963, 7.27110049, 0.99725990, 0.99855374, 0.49306206],
++												 [	-6.27199785, -0.00089637, 0.00054947, 7.27110147, 0.99726069, 0.99855416, 0.49306218],
++												 [	-6.27199857, -0.00089611, 0.00054931, 7.27110246, 0.99726149, 0.99855458, 0.49306227],
++												 [	-6.27199930, -0.00089585, 0.00054915, 7.27110345, 0.99726228, 0.99855499, 0.49306238],
++												 [	-6.27200003, -0.00089559, 0.00054899, 7.27110443, 0.99726307, 0.99855541, 0.49306244],
++												 [	-6.27200076, -0.00089534, 0.00054883, 7.27110542, 0.99726386, 0.99855583, 0.49306254],
++												 [	-6.27200148, -0.00089508, 0.00054868, 7.27110640, 0.99726465, 0.99855625, 0.49306260],
++												 [	-6.27200220, -0.00089482, 0.00054852, 7.27110739, 0.99726545, 0.99855667, 0.49306270],
++												 [	-6.27200293, -0.00089456, 0.00054836, 7.27110837, 0.99726624, 0.99855708, 0.49306284],
++												 [	-6.27200365, -0.00089430, 0.00054820, 7.27110935, 0.99726703, 0.99855750, 0.49306289],
++												 [	-6.27200437, -0.00089404, 0.00054804, 7.27111033, 0.99726782, 0.99855792, 0.49306299],
++												 [	-6.27200509, -0.00089378, 0.00054788, 7.27111131, 0.99726861, 0.99855833, 0.49306315],
++												 [	-6.27200581, -0.00089353, 0.00054772, 7.27111229, 0.99726940, 0.99855875, 0.49306325],
++												 [	-6.27200653, -0.00089327, 0.00054757, 7.27111326, 0.99727018, 0.99855916, 0.49306334],
++												 [	-6.27200725, -0.00089301, 0.00054741, 7.27111424, 0.99727097, 0.99855958, 0.49306342],
++												 [	-6.27200797, -0.00089275, 0.00054725, 7.27111522, 0.99727176, 0.99856000, 0.49306348],
++												 [	-6.27200869, -0.00089250, 0.00054709, 7.27111619, 0.99727255, 0.99856041, 0.49306360],
++												 [	-6.27200940, -0.00089224, 0.00054693, 7.27111717, 0.99727333, 0.99856083, 0.49306368],
++												 [	-6.27201012, -0.00089198, 0.00054678, 7.27111814, 0.99727412, 0.99856124, 0.49306382],
++												 [	-6.27201083, -0.00089172, 0.00054662, 7.27111911, 0.99727491, 0.99856166, 0.49306389],
++												 [	-6.27201155, -0.00089147, 0.00054646, 7.27112008, 0.99727569, 0.99856207, 0.49306395],
++												 [	-6.27201226, -0.00089121, 0.00054630, 7.27112105, 0.99727648, 0.99856248, 0.49306405],
++												 [	-6.27201297, -0.00089095, 0.00054615, 7.27112202, 0.99727726, 0.99856290, 0.49306415],
++												 [	-6.27201369, -0.00089070, 0.00054599, 7.27112299, 0.99727804, 0.99856331, 0.49306425],
++												 [	-6.27201440, -0.00089044, 0.00054583, 7.27112395, 0.99727883, 0.99856373, 0.49306438],
++												 [	-6.27201511, -0.00089019, 0.00054568, 7.27112492, 0.99727961, 0.99856414, 0.49306445],
++												 [	-6.27201582, -0.00088993, 0.00054552, 7.27112589, 0.99728039, 0.99856455, 0.49306454],
++												 [	-6.27201653, -0.00088967, 0.00054536, 7.27112685, 0.99728118, 0.99856496, 0.49306460],
++												 [	-6.27201723, -0.00088942, 0.00054520, 7.27112782, 0.99728196, 0.99856538, 0.49306473],
++												 [	-6.27201794, -0.00088916, 0.00054505, 7.27112878, 0.99728274, 0.99856579, 0.49306481],
++												 [	-6.27201865, -0.00088891, 0.00054489, 7.27112974, 0.99728352, 0.99856620, 0.49306490],
++												 [	-6.27201935, -0.00088865, 0.00054473, 7.27113070, 0.99728430, 0.99856661, 0.49306499],
++												 [	-6.27202006, -0.00088840, 0.00054458, 7.27113166, 0.99728508, 0.99856702, 0.49306507],
++												 [	-6.27202076, -0.00088814, 0.00054442, 7.27113262, 0.99728586, 0.99856744, 0.49306519],
++												 [	-6.27202147, -0.00088789, 0.00054427, 7.27113358, 0.99728664, 0.99856785, 0.49306522],
++												 [	-6.27202217, -0.00088763, 0.00054411, 7.27113454, 0.99728742, 0.99856826, 0.49306541],
++												 [	-6.27202287, -0.00088738, 0.00054395, 7.27113549, 0.99728820, 0.99856867, 0.49306548],
++												 [	-6.27202357, -0.00088713, 0.00054380, 7.27113645, 0.99728897, 0.99856908, 0.49306558],
++												 [	-6.27202427, -0.00088687, 0.00054364, 7.27113740, 0.99728975, 0.99856949, 0.49306563],
++												 [	-6.27202497, -0.00088662, 0.00054349, 7.27113836, 0.99729053, 0.99856990, 0.49306575],
++												 [	-6.27202567, -0.00088636, 0.00054333, 7.27113931, 0.99729130, 0.99857031, 0.49306582],
++												 [	-6.27202637, -0.00088611, 0.00054317, 7.27114026, 0.99729208, 0.99857072, 0.49306593],
++												 [	-6.27202707, -0.00088586, 0.00054302, 7.27114121, 0.99729285, 0.99857113, 0.49306602],
++												 [	-6.27202777, -0.00088560, 0.00054286, 7.27114216, 0.99729363, 0.99857153, 0.49306615],
++												 [	-6.27202846, -0.00088535, 0.00054271, 7.27114311, 0.99729440, 0.99857194, 0.49306620],
++												 [	-6.27202916, -0.00088510, 0.00054255, 7.27114406, 0.99729518, 0.99857235, 0.49306631],
++												 [	-6.27202985, -0.00088484, 0.00054240, 7.27114501, 0.99729595, 0.99857276, 0.49306638],
++												 [	-6.27203055, -0.00088459, 0.00054224, 7.27114596, 0.99729673, 0.99857317, 0.49306650],
++												 [	-6.27203124, -0.00088434, 0.00054209, 7.27114690, 0.99729750, 0.99857358, 0.49306661],
++												 [	-6.27203193, -0.00088409, 0.00054193, 7.27114785, 0.99729827, 0.99857398, 0.49306664],
++												 [	-6.27203262, -0.00088383, 0.00054178, 7.27114879, 0.99729904, 0.99857439, 0.49306674],
++												 [	-6.27203332, -0.00088358, 0.00054162, 7.27114973, 0.99729981, 0.99857480, 0.49306687],
++												 [	-6.27203401, -0.00088333, 0.00054147, 7.27115068, 0.99730059, 0.99857520, 0.49306699],
++												 [	-6.27203470, -0.00088308, 0.00054131, 7.27115162, 0.99730136, 0.99857561, 0.49306701],
++												 [	-6.27203539, -0.00088282, 0.00054116, 7.27115256, 0.99730213, 0.99857602, 0.49306713],
++												 [	-6.27203607, -0.00088257, 0.00054100, 7.27115350, 0.99730290, 0.99857642, 0.49306721],
++												 [	-6.27203676, -0.00088232, 0.00054085, 7.27115444, 0.99730366, 0.99857683, 0.49306728],
++												 [	-6.27203745, -0.00088207, 0.00054069, 7.27115538, 0.99730443, 0.99857724, 0.49306742],
++												 [	-6.27203813, -0.00088182, 0.00054054, 7.27115632, 0.99730520, 0.99857764, 0.49306753],
++												 [	-6.27203882, -0.00088157, 0.00054039, 7.27115725, 0.99730597, 0.99857805, 0.49306761],
++												 [	-6.27203950, -0.00088132, 0.00054023, 7.27115819, 0.99730674, 0.99857845, 0.49306769],
++												 [	-6.27204019, -0.00088107, 0.00054008, 7.27115912, 0.99730750, 0.99857886, 0.49306776],
++												 [	-6.27204087, -0.00088082, 0.00053992, 7.27116006, 0.99730827, 0.99857926, 0.49306785],
++												 [	-6.27204156, -0.00088056, 0.00053977, 7.27116099, 0.99730904, 0.99857966, 0.49306801],
++												 [	-6.27204224, -0.00088031, 0.00053962, 7.27116192, 0.99730980, 0.99858007, 0.49306813],
++												 [	-6.27204292, -0.00088006, 0.00053946, 7.27116286, 0.99731057, 0.99858047, 0.49306816],
++												 [	-6.27204360, -0.00087981, 0.00053931, 7.27116379, 0.99731133, 0.99858088, 0.49306827],
++												 [	-6.27204428, -0.00087956, 0.00053916, 7.27116472, 0.99731210, 0.99858128, 0.49306833],
++												 [	-6.27204496, -0.00087931, 0.00053900, 7.27116565, 0.99731286, 0.99858168, 0.49306842],
++												 [	-6.27204564, -0.00087906, 0.00053885, 7.27116657, 0.99731363, 0.99858209, 0.49306852],
++												 [	-6.27204632, -0.00087881, 0.00053870, 7.27116750, 0.99731439, 0.99858249, 0.49306865],
++												 [	-6.27204699, -0.00087857, 0.00053854, 7.27116843, 0.99731515, 0.99858289, 0.49306872],
++												 [	-6.27204767, -0.00087832, 0.00053839, 7.27116935, 0.99731591, 0.99858329, 0.49306875],
++												 [	-6.27204835, -0.00087807, 0.00053824, 7.27117028, 0.99731668, 0.99858369, 0.49306889],
++												 [	-6.27204902, -0.00087782, 0.00053809, 7.27117120, 0.99731744, 0.99858410, 0.49306899],
++												 [	-6.27204970, -0.00087757, 0.00053793, 7.27117213, 0.99731820, 0.99858450, 0.49306909],
++												 [	-6.27205037, -0.00087732, 0.00053778, 7.27117305, 0.99731896, 0.99858490, 0.49306915],
++												 [	-6.27205104, -0.00087707, 0.00053763, 7.27117397, 0.99731972, 0.99858530, 0.49306931],
++												 [	-6.27205172, -0.00087682, 0.00053748, 7.27117489, 0.99732048, 0.99858570, 0.49306931],
++												 [	-6.27205239, -0.00087658, 0.00053732, 7.27117581, 0.99732124, 0.99858610, 0.49306947],
++												 [	-6.27205306, -0.00087633, 0.00053717, 7.27117673, 0.99732200, 0.99858650, 0.49306949],
++												 [	-6.27205373, -0.00087608, 0.00053702, 7.27117765, 0.99732276, 0.99858690, 0.49306961],
++												 [	-6.27205440, -0.00087583, 0.00053687, 7.27117857, 0.99732351, 0.99858730, 0.49306974],
++												 [	-6.27205507, -0.00087558, 0.00053671, 7.27117949, 0.99732427, 0.99858770, 0.49306982],
++												 [	-6.27205574, -0.00087534, 0.00053656, 7.27118040, 0.99732503, 0.99858810, 0.49306986],
++												 [	-6.27205641, -0.00087509, 0.00053641, 7.27118132, 0.99732579, 0.99858850, 0.49306997],
++												 [	-6.27205707, -0.00087484, 0.00053626, 7.27118223, 0.99732654, 0.99858890, 0.49307002],
++												 [	-6.27205774, -0.00087459, 0.00053611, 7.27118315, 0.99732730, 0.99858930, 0.49307020],
++												 [	-6.27205841, -0.00087435, 0.00053596, 7.27118406, 0.99732805, 0.99858970, 0.49307021],
++												 [	-6.27205907, -0.00087410, 0.00053580, 7.27118497, 0.99732881, 0.99859010, 0.49307035],
++												 [	-6.27205974, -0.00087385, 0.00053565, 7.27118588, 0.99732956, 0.99859049, 0.49307047],
++												 [	-6.27206040, -0.00087361, 0.00053550, 7.27118679, 0.99733032, 0.99859089, 0.49307051],
++												 [	-6.27206106, -0.00087336, 0.00053535, 7.27118770, 0.99733107, 0.99859129, 0.49307062],
++												 [	-6.27206173, -0.00087311, 0.00053520, 7.27118861, 0.99733182, 0.99859169, 0.49307069],
++												 [	-6.27206239, -0.00087287, 0.00053505, 7.27118952, 0.99733258, 0.99859208, 0.49307080],
++												 [	-6.27206305, -0.00087262, 0.00053490, 7.27119043, 0.99733333, 0.99859248, 0.49307089],
++												 [	-6.27206371, -0.00087238, 0.00053475, 7.27119134, 0.99733408, 0.99859288, 0.49307096],
++												 [	-6.27206437, -0.00087213, 0.00053460, 7.27119224, 0.99733483, 0.99859327, 0.49307103],
++												 [	-6.27206503, -0.00087188, 0.00053445, 7.27119315, 0.99733558, 0.99859367, 0.49307121],
++												 [	-6.27206569, -0.00087164, 0.00053429, 7.27119405, 0.99733633, 0.99859407, 0.49307121],
++												 [	-6.27206635, -0.00087139, 0.00053414, 7.27119496, 0.99733709, 0.99859446, 0.49307131],
++												 [	-6.27206701, -0.00087115, 0.00053399, 7.27119586, 0.99733783, 0.99859486, 0.49307143],
++												 [	-6.27206767, -0.00087090, 0.00053384, 7.27119676, 0.99733858, 0.99859525, 0.49307152],
++												 [	-6.27206832, -0.00087066, 0.00053369, 7.27119766, 0.99733933, 0.99859565, 0.49307163],
++												 [	-6.27206898, -0.00087041, 0.00053354, 7.27119856, 0.99734008, 0.99859604, 0.49307170],
++												 [	-6.27206963, -0.00087017, 0.00053339, 7.27119946, 0.99734083, 0.99859644, 0.49307178],
++												 [	-6.27207029, -0.00086992, 0.00053324, 7.27120036, 0.99734158, 0.99859683, 0.49307182],
++												 [	-6.27207094, -0.00086968, 0.00053309, 7.27120126, 0.99734233, 0.99859723, 0.49307196],
++												 [	-6.27207160, -0.00086944, 0.00053294, 7.27120216, 0.99734307, 0.99859762, 0.49307197],
++												 [	-6.27207225, -0.00086919, 0.00053279, 7.27120306, 0.99734382, 0.99859802, 0.49307220],
++												 [	-6.27207290, -0.00086895, 0.00053264, 7.27120395, 0.99734457, 0.99859841, 0.49307226],
++												 [	-6.27207355, -0.00086870, 0.00053249, 7.27120485, 0.99734531, 0.99859880, 0.49307233],
++												 [	-6.27207420, -0.00086846, 0.00053234, 7.27120574, 0.99734606, 0.99859920, 0.49307241],
++												 [	-6.27207485, -0.00086822, 0.00053219, 7.27120664, 0.99734680, 0.99859959, 0.49307252],
++												 [	-6.27207550, -0.00086797, 0.00053205, 7.27120753, 0.99734755, 0.99859998, 0.49307258],
++												 [	-6.27207615, -0.00086773, 0.00053190, 7.27120842, 0.99734829, 0.99860037, 0.49307271],
++												 [	-6.27207680, -0.00086749, 0.00053175, 7.27120931, 0.99734903, 0.99860077, 0.49307274],
++												 [	-6.27207745, -0.00086724, 0.00053160, 7.27121021, 0.99734978, 0.99860116, 0.49307287],
++												 [	-6.27207810, -0.00086700, 0.00053145, 7.27121110, 0.99735052, 0.99860155, 0.49307293],
++												 [	-6.27207874, -0.00086676, 0.00053130, 7.27121199, 0.99735126, 0.99860194, 0.49307303],
++												 [	-6.27207939, -0.00086652, 0.00053115, 7.27121287, 0.99735200, 0.99860233, 0.49307313],
++												 [	-6.27208004, -0.00086627, 0.00053100, 7.27121376, 0.99735275, 0.99860273, 0.49307325],
++												 [	-6.27208068, -0.00086603, 0.00053085, 7.27121465, 0.99735349, 0.99860312, 0.49307329],
++												 [	-6.27208132, -0.00086579, 0.00053070, 7.27121554, 0.99735423, 0.99860351, 0.49307333],
++												 [	-6.27208197, -0.00086555, 0.00053056, 7.27121642, 0.99735497, 0.99860390, 0.49307349],
++												 [	-6.27208261, -0.00086530, 0.00053041, 7.27121731, 0.99735571, 0.99860429, 0.49307355],
++												 [	-6.27208325, -0.00086506, 0.00053026, 7.27121819, 0.99735645, 0.99860468, 0.49307366],
++												 [	-6.27208390, -0.00086482, 0.00053011, 7.27121907, 0.99735719, 0.99860507, 0.49307376],
++												 [	-6.27208454, -0.00086458, 0.00052996, 7.27121996, 0.99735792, 0.99860546, 0.49307384],
++												 [	-6.27208518, -0.00086434, 0.00052981, 7.27122084, 0.99735866, 0.99860585, 0.49307389],
++												 [	-6.27208582, -0.00086410, 0.00052967, 7.27122172, 0.99735940, 0.99860624, 0.49307398],
++												 [	-6.27208646, -0.00086386, 0.00052952, 7.27122260, 0.99736014, 0.99860663, 0.49307410],
++												 [	-6.27208710, -0.00086361, 0.00052937, 7.27122348, 0.99736088, 0.99860701, 0.49307418],
++												 [	-6.27208774, -0.00086337, 0.00052922, 7.27122436, 0.99736161, 0.99860740, 0.49307431],
++												 [	-6.27208837, -0.00086313, 0.00052908, 7.27122524, 0.99736235, 0.99860779, 0.49307430],
++												 [	-6.27208901, -0.00086289, 0.00052893, 7.27122612, 0.99736308, 0.99860818, 0.49307450],
++												 [	-6.27208965, -0.00086265, 0.00052878, 7.27122700, 0.99736382, 0.99860857, 0.49307452],
++												 [	-6.27209028, -0.00086241, 0.00052863, 7.27122787, 0.99736455, 0.99860896, 0.49307461],
++												 [	-6.27209092, -0.00086217, 0.00052849, 7.27122875, 0.99736529, 0.99860934, 0.49307473],
++												 [	-6.27209155, -0.00086193, 0.00052834, 7.27122962, 0.99736602, 0.99860973, 0.49307476],
++												 [	-6.27209219, -0.00086169, 0.00052819, 7.27123050, 0.99736676, 0.99861012, 0.49307493],
++												 [	-6.27209282, -0.00086145, 0.00052804, 7.27123137, 0.99736749, 0.99861050, 0.49307491],
++												 [	-6.27209346, -0.00086121, 0.00052790, 7.27123224, 0.99736822, 0.99861089, 0.49307506],
++												 [	-6.27209409, -0.00086097, 0.00052775, 7.27123312, 0.99736896, 0.99861128, 0.49307515],
++												 [	-6.27209472, -0.00086073, 0.00052760, 7.27123399, 0.99736969, 0.99861166, 0.49307527],
++												 [	-6.27209535, -0.00086049, 0.00052746, 7.27123486, 0.99737042, 0.99861205, 0.49307528],
++												 [	-6.27209598, -0.00086025, 0.00052731, 7.27123573, 0.99737115, 0.99861244, 0.49307544],
++												 [	-6.27209661, -0.00086002, 0.00052716, 7.27123660, 0.99737188, 0.99861282, 0.49307551],
++												 [	-6.27209724, -0.00085978, 0.00052702, 7.27123747, 0.99737261, 0.99861321, 0.49307555],
++												 [	-6.27209787, -0.00085954, 0.00052687, 7.27123833, 0.99737334, 0.99861359, 0.49307566],
++												 [	-6.27209850, -0.00085930, 0.00052672, 7.27123920, 0.99737407, 0.99861398, 0.49307570],
++												 [	-6.27209913, -0.00085906, 0.00052658, 7.27124007, 0.99737480, 0.99861436, 0.49307581],
++												 [	-6.27209976, -0.00085882, 0.00052643, 7.27124094, 0.99737553, 0.99861475, 0.49307599],
++												 [	-6.27210038, -0.00085858, 0.00052628, 7.27124180, 0.99737626, 0.99861513, 0.49307598],
++												 [	-6.27210101, -0.00085835, 0.00052614, 7.27124266, 0.99737699, 0.99861551, 0.49307614],
++												 [	-6.27210164, -0.00085811, 0.00052599, 7.27124353, 0.99737771, 0.99861590, 0.49307614],
++												 [	-6.27210226, -0.00085787, 0.00052585, 7.27124439, 0.99737844, 0.99861628, 0.49307625],
++												 [	-6.27210289, -0.00085763, 0.00052570, 7.27124525, 0.99737917, 0.99861667, 0.49307637],
++												 [	-6.27210351, -0.00085740, 0.00052555, 7.27124612, 0.99737989, 0.99861705, 0.49307645],
++												 [	-6.27210414, -0.00085716, 0.00052541, 7.27124698, 0.99738062, 0.99861743, 0.49307653],
++												 [	-6.27210476, -0.00085692, 0.00052526, 7.27124784, 0.99738135, 0.99861782, 0.49307663],
++												 [	-6.27210538, -0.00085668, 0.00052512, 7.27124870, 0.99738207, 0.99861820, 0.49307669],
++												 [	-6.27210600, -0.00085645, 0.00052497, 7.27124956, 0.99738280, 0.99861858, 0.49307677],
++												 [	-6.27210663, -0.00085621, 0.00052483, 7.27125042, 0.99738352, 0.99861896, 0.49307688],
++												 [	-6.27210725, -0.00085597, 0.00052468, 7.27125127, 0.99738424, 0.99861934, 0.49307699],
++												 [	-6.27210787, -0.00085574, 0.00052454, 7.27125213, 0.99738497, 0.99861973, 0.49307706],
++												 [	-6.27210849, -0.00085550, 0.00052439, 7.27125299, 0.99738569, 0.99862011, 0.49307704],
++												 [	-6.27210911, -0.00085526, 0.00052425, 7.27125384, 0.99738641, 0.99862049, 0.49307723],
++												 [	-6.27210973, -0.00085503, 0.00052410, 7.27125470, 0.99738714, 0.99862087, 0.49307731],
++												 [	-6.27211034, -0.00085479, 0.00052396, 7.27125555, 0.99738786, 0.99862125, 0.49307742],
++												 [	-6.27211096, -0.00085456, 0.00052381, 7.27125641, 0.99738858, 0.99862163, 0.49307753],
++												 [	-6.27211158, -0.00085432, 0.00052367, 7.27125726, 0.99738930, 0.99862201, 0.49307753],
++												 [	-6.27211220, -0.00085408, 0.00052352, 7.27125811, 0.99739002, 0.99862239, 0.49307764],
++												 [	-6.27211281, -0.00085385, 0.00052338, 7.27125896, 0.99739074, 0.99862277, 0.49307770],
++												 [	-6.27211343, -0.00085361, 0.00052323, 7.27125981, 0.99739146, 0.99862315, 0.49307780],
++												 [	-6.27211404, -0.00085338, 0.00052309, 7.27126067, 0.99739218, 0.99862353, 0.49307792],
++												 [	-6.27211466, -0.00085314, 0.00052295, 7.27126152, 0.99739290, 0.99862391, 0.49307794],
++												 [	-6.27211527, -0.00085291, 0.00052280, 7.27126236, 0.99739362, 0.99862429, 0.49307803],
++												 [	-6.27211589, -0.00085267, 0.00052266, 7.27126321, 0.99739434, 0.99862467, 0.49307820],
++												 [	-6.27211650, -0.00085244, 0.00052251, 7.27126406, 0.99739506, 0.99862505, 0.49307827],
++												 [	-6.27211711, -0.00085220, 0.00052237, 7.27126491, 0.99739577, 0.99862543, 0.49307830],
++												 [	-6.27211772, -0.00085197, 0.00052222, 7.27126575, 0.99739649, 0.99862581, 0.49307839],
++												 [	-6.27211833, -0.00085173, 0.00052208, 7.27126660, 0.99739721, 0.99862618, 0.49307851],
++												 [	-6.27211895, -0.00085150, 0.00052194, 7.27126745, 0.99739792, 0.99862656, 0.49307861],
++												 [	-6.27211956, -0.00085127, 0.00052179, 7.27126829, 0.99739864, 0.99862694, 0.49307868],
++												 [	-6.27212017, -0.00085103, 0.00052165, 7.27126913, 0.99739936, 0.99862732, 0.49307878],
++												 [	-6.27212078, -0.00085080, 0.00052151, 7.27126998, 0.99740007, 0.99862770, 0.49307884],
++												 [	-6.27212138, -0.00085056, 0.00052136, 7.27127082, 0.99740079, 0.99862807, 0.49307888],
++												 [	-6.27212199, -0.00085033, 0.00052122, 7.27127166, 0.99740150, 0.99862845, 0.49307902],
++												 [	-6.27212260, -0.00085010, 0.00052108, 7.27127250, 0.99740221, 0.99862883, 0.49307911],
++												 [	-6.27212321, -0.00084986, 0.00052093, 7.27127334, 0.99740293, 0.99862920, 0.49307920],
++												 [	-6.27212381, -0.00084963, 0.00052079, 7.27127418, 0.99740364, 0.99862958, 0.49307926],
++												 [	-6.27212442, -0.00084940, 0.00052065, 7.27127502, 0.99740435, 0.99862996, 0.49307935],
++												 [	-6.27212503, -0.00084916, 0.00052050, 7.27127586, 0.99740507, 0.99863033, 0.49307944],
++												 [	-6.27212563, -0.00084893, 0.00052036, 7.27127670, 0.99740578, 0.99863071, 0.49307944],
++												 [	-6.27212624, -0.00084870, 0.00052022, 7.27127754, 0.99740649, 0.99863108, 0.49307954],
++												 [	-6.27212684, -0.00084847, 0.00052008, 7.27127837, 0.99740720, 0.99863146, 0.49307961],
++												 [	-6.27212744, -0.00084823, 0.00051993, 7.27127921, 0.99740791, 0.99863183, 0.49307978],
++												 [	-6.27212805, -0.00084800, 0.00051979, 7.27128005, 0.99740862, 0.99863221, 0.49307983],
++												 [	-6.27212865, -0.00084777, 0.00051965, 7.27128088, 0.99740933, 0.99863258, 0.49307996],
++												 [	-6.27212925, -0.00084754, 0.00051951, 7.27128172, 0.99741004, 0.99863296, 0.49308005],
++												 [	-6.27212986, -0.00084730, 0.00051936, 7.27128255, 0.99741075, 0.99863333, 0.49308014],
++												 [	-6.27213046, -0.00084707, 0.00051922, 7.27128338, 0.99741146, 0.99863371, 0.49308018],
++												 [	-6.27213106, -0.00084684, 0.00051908, 7.27128422, 0.99741217, 0.99863408, 0.49308030],
++												 [	-6.27213166, -0.00084661, 0.00051894, 7.27128505, 0.99741288, 0.99863445, 0.49308040],
++												 [	-6.27213226, -0.00084638, 0.00051879, 7.27128588, 0.99741359, 0.99863483, 0.49308040],
++												 [	-6.27213286, -0.00084615, 0.00051865, 7.27128671, 0.99741429, 0.99863520, 0.49308050],
++												 [	-6.27213345, -0.00084592, 0.00051851, 7.27128754, 0.99741500, 0.99863557, 0.49308061],
++												 [	-6.27213405, -0.00084568, 0.00051837, 7.27128837, 0.99741571, 0.99863595, 0.49308064],
++												 [	-6.27213465, -0.00084545, 0.00051823, 7.27128920, 0.99741641, 0.99863632, 0.49308083],
++												 [	-6.27213525, -0.00084522, 0.00051809, 7.27129003, 0.99741712, 0.99863669, 0.49308089],
++												 [	-6.27213585, -0.00084499, 0.00051794, 7.27129085, 0.99741783, 0.99863706, 0.49308103],
++												 [	-6.27213644, -0.00084476, 0.00051780, 7.27129168, 0.99741853, 0.99863744, 0.49308104],
++												 [	-6.27213704, -0.00084453, 0.00051766, 7.27129251, 0.99741924, 0.99863781, 0.49308114],
++												 [	-6.27213763, -0.00084430, 0.00051752, 7.27129333, 0.99741994, 0.99863818, 0.49308122],
++												 [	-6.27213823, -0.00084407, 0.00051738, 7.27129416, 0.99742064, 0.99863855, 0.49308125],
++												 [	-6.27213882, -0.00084384, 0.00051724, 7.27129498, 0.99742135, 0.99863892, 0.49308128],
++												 [	-6.27213942, -0.00084361, 0.00051710, 7.27129581, 0.99742205, 0.99863929, 0.49308149],
++												 [	-6.27214001, -0.00084338, 0.00051696, 7.27129663, 0.99742275, 0.99863966, 0.49308153],
++												 [	-6.27214060, -0.00084315, 0.00051681, 7.27129745, 0.99742346, 0.99864003, 0.49308160],
++												 [	-6.27214120, -0.00084292, 0.00051667, 7.27129827, 0.99742416, 0.99864041, 0.49308174],
++												 [	-6.27214179, -0.00084269, 0.00051653, 7.27129910, 0.99742486, 0.99864078, 0.49308171],
++												 [	-6.27214238, -0.00084246, 0.00051639, 7.27129992, 0.99742556, 0.99864115, 0.49308189],
++												 [	-6.27214297, -0.00084223, 0.00051625, 7.27130074, 0.99742626, 0.99864152, 0.49308189],
++												 [	-6.27214356, -0.00084200, 0.00051611, 7.27130156, 0.99742696, 0.99864188, 0.49308208],
++												 [	-6.27214415, -0.00084178, 0.00051597, 7.27130237, 0.99742766, 0.99864225, 0.49308218],
++												 [	-6.27214474, -0.00084155, 0.00051583, 7.27130319, 0.99742836, 0.99864262, 0.49308217],
++												 [	-6.27214533, -0.00084132, 0.00051569, 7.27130401, 0.99742906, 0.99864299, 0.49308225],
++												 [	-6.27214592, -0.00084109, 0.00051555, 7.27130483, 0.99742976, 0.99864336, 0.49308239],
++												 [	-6.27214651, -0.00084086, 0.00051541, 7.27130564, 0.99743046, 0.99864373, 0.49308247],
++												 [	-6.27214709, -0.00084063, 0.00051527, 7.27130646, 0.99743116, 0.99864410, 0.49308255],
++												 [	-6.27214768, -0.00084040, 0.00051513, 7.27130728, 0.99743186, 0.99864447, 0.49308258],
++												 [	-6.27214827, -0.00084018, 0.00051499, 7.27130809, 0.99743255, 0.99864483, 0.49308266],
++												 [	-6.27214885, -0.00083995, 0.00051485, 7.27130891, 0.99743325, 0.99864520, 0.49308274],
++												 [	-6.27214944, -0.00083972, 0.00051471, 7.27130972, 0.99743395, 0.99864557, 0.49308290],
++												 [	-6.27215002, -0.00083949, 0.00051457, 7.27131053, 0.99743464, 0.99864594, 0.49308290],
++												 [	-6.27215061, -0.00083926, 0.00051443, 7.27131134, 0.99743534, 0.99864631, 0.49308300],
++												 [	-6.27215119, -0.00083904, 0.00051429, 7.27131216, 0.99743604, 0.99864667, 0.49308315],
++												 [	-6.27215178, -0.00083881, 0.00051415, 7.27131297, 0.99743673, 0.99864704, 0.49308314],
++												 [	-6.27215236, -0.00083858, 0.00051401, 7.27131378, 0.99743743, 0.99864741, 0.49308324],
++												 [	-6.27215294, -0.00083836, 0.00051387, 7.27131459, 0.99743812, 0.99864777, 0.49308338],
++												 [	-6.27215353, -0.00083813, 0.00051373, 7.27131540, 0.99743881, 0.99864814, 0.49308338],
++												 [	-6.27215411, -0.00083790, 0.00051359, 7.27131621, 0.99743951, 0.99864850, 0.49308350],
++												 [	-6.27215469, -0.00083768, 0.00051345, 7.27131702, 0.99744020, 0.99864887, 0.49308357],
++												 [	-6.27215527, -0.00083745, 0.00051332, 7.27131782, 0.99744089, 0.99864924, 0.49308374],
++												 [	-6.27215585, -0.00083722, 0.00051318, 7.27131863, 0.99744159, 0.99864960, 0.49308379],
++												 [	-6.27215643, -0.00083700, 0.00051304, 7.27131944, 0.99744228, 0.99864997, 0.49308384],
++												 [	-6.27215701, -0.00083677, 0.00051290, 7.27132024, 0.99744297, 0.99865033, 0.49308393],
++												 [	-6.27215759, -0.00083654, 0.00051276, 7.27132105, 0.99744366, 0.99865070, 0.49308399],
++												 [	-6.27215817, -0.00083632, 0.00051262, 7.27132185, 0.99744435, 0.99865106, 0.49308412],
++												 [	-6.27215875, -0.00083609, 0.00051248, 7.27132266, 0.99744504, 0.99865143, 0.49308421],
++												 [	-6.27215933, -0.00083587, 0.00051234, 7.27132346, 0.99744574, 0.99865179, 0.49308425],
++												 [	-6.27215990, -0.00083564, 0.00051221, 7.27132426, 0.99744643, 0.99865215, 0.49308434],
++												 [	-6.27216048, -0.00083541, 0.00051207, 7.27132507, 0.99744711, 0.99865252, 0.49308442],
++												 [	-6.27216106, -0.00083519, 0.00051193, 7.27132587, 0.99744780, 0.99865288, 0.49308450],
++												 [	-6.27216164, -0.00083496, 0.00051179, 7.27132667, 0.99744849, 0.99865324, 0.49308461],
++												 [	-6.27216221, -0.00083474, 0.00051165, 7.27132747, 0.99744918, 0.99865361, 0.49308467],
++												 [	-6.27216279, -0.00083451, 0.00051151, 7.27132827, 0.99744987, 0.99865397, 0.49308473],
++												 [	-6.27216336, -0.00083429, 0.00051138, 7.27132907, 0.99745056, 0.99865433, 0.49308483],
++												 [	-6.27216394, -0.00083406, 0.00051124, 7.27132987, 0.99745124, 0.99865470, 0.49308489],
++												 [	-6.27216451, -0.00083384, 0.00051110, 7.27133067, 0.99745193, 0.99865506, 0.49308501],
++												 [	-6.27216508, -0.00083361, 0.00051096, 7.27133147, 0.99745262, 0.99865542, 0.49308509],
++												 [	-6.27216566, -0.00083339, 0.00051083, 7.27133227, 0.99745330, 0.99865578, 0.49308519],
++												 [	-6.27216623, -0.00083317, 0.00051069, 7.27133306, 0.99745399, 0.99865615, 0.49308520],
++												 [	-6.27216680, -0.00083294, 0.00051055, 7.27133386, 0.99745468, 0.99865651, 0.49308532],
++												 [	-6.27216737, -0.00083272, 0.00051041, 7.27133465, 0.99745536, 0.99865687, 0.49308537],
++												 [	-6.27216794, -0.00083249, 0.00051028, 7.27133545, 0.99745605, 0.99865723, 0.49308548],
++												 [	-6.27216851, -0.00083227, 0.00051014, 7.27133624, 0.99745673, 0.99865759, 0.49308555],
++												 [	-6.27216909, -0.00083205, 0.00051000, 7.27133704, 0.99745741, 0.99865795, 0.49308568],
++												 [	-6.27216966, -0.00083182, 0.00050986, 7.27133783, 0.99745810, 0.99865831, 0.49308575],
++												 [	-6.27217022, -0.00083160, 0.00050973, 7.27133863, 0.99745878, 0.99865867, 0.49308580],
++												 [	-6.27217079, -0.00083138, 0.00050959, 7.27133942, 0.99745946, 0.99865903, 0.49308589],
++												 [	-6.27217136, -0.00083115, 0.00050945, 7.27134021, 0.99746015, 0.99865939, 0.49308593],
++												 [	-6.27217193, -0.00083093, 0.00050932, 7.27134100, 0.99746083, 0.99865975, 0.49308603],
++												 [	-6.27217250, -0.00083071, 0.00050918, 7.27134179, 0.99746151, 0.99866011, 0.49308603],
++												 [	-6.27217307, -0.00083048, 0.00050904, 7.27134258, 0.99746219, 0.99866047, 0.49308626],
++												 [	-6.27217363, -0.00083026, 0.00050891, 7.27134337, 0.99746287, 0.99866083, 0.49308628],
++												 [	-6.27217420, -0.00083004, 0.00050877, 7.27134416, 0.99746355, 0.99866119, 0.49308633],
++												 [	-6.27217477, -0.00082982, 0.00050863, 7.27134495, 0.99746424, 0.99866155, 0.49308648],
++												 [	-6.27217533, -0.00082959, 0.00050850, 7.27134574, 0.99746492, 0.99866191, 0.49308650],
++												 [	-6.27217590, -0.00082937, 0.00050836, 7.27134653, 0.99746559, 0.99866227, 0.49308659],
++												 [	-6.27217646, -0.00082915, 0.00050822, 7.27134731, 0.99746627, 0.99866263, 0.49308664],
++												 [	-6.27217703, -0.00082893, 0.00050809, 7.27134810, 0.99746695, 0.99866299, 0.49308674],
++												 [	-6.27217759, -0.00082871, 0.00050795, 7.27134888, 0.99746763, 0.99866334, 0.49308688],
++												 [	-6.27217815, -0.00082848, 0.00050782, 7.27134967, 0.99746831, 0.99866370, 0.49308691],
++												 [	-6.27217872, -0.00082826, 0.00050768, 7.27135045, 0.99746899, 0.99866406, 0.49308700],
++												 [	-6.27217928, -0.00082804, 0.00050754, 7.27135124, 0.99746967, 0.99866442, 0.49308706],
++												 [	-6.27217984, -0.00082782, 0.00050741, 7.27135202, 0.99747034, 0.99866477, 0.49308711],
++												 [	-6.27218040, -0.00082760, 0.00050727, 7.27135281, 0.99747102, 0.99866513, 0.49308731],
++												 [	-6.27218097, -0.00082738, 0.00050714, 7.27135359, 0.99747170, 0.99866549, 0.49308733],
++												 [	-6.27218153, -0.00082716, 0.00050700, 7.27135437, 0.99747237, 0.99866584, 0.49308746],
++												 [	-6.27218209, -0.00082693, 0.00050686, 7.27135515, 0.99747305, 0.99866620, 0.49308753],
++												 [	-6.27218265, -0.00082671, 0.00050673, 7.27135593, 0.99747372, 0.99866656, 0.49308759],
++												 [	-6.27218321, -0.00082649, 0.00050659, 7.27135671, 0.99747440, 0.99866691, 0.49308757],
++												 [	-6.27218377, -0.00082627, 0.00050646, 7.27135749, 0.99747507, 0.99866727, 0.49308770],
++												 [	-6.27218433, -0.00082605, 0.00050632, 7.27135827, 0.99747575, 0.99866763, 0.49308772],
++												 [	-6.27218488, -0.00082583, 0.00050619, 7.27135905, 0.99747642, 0.99866798, 0.49308784],
++												 [	-6.27218544, -0.00082561, 0.00050605, 7.27135983, 0.99747709, 0.99866834, 0.49308794],
++												 [	-6.27218600, -0.00082539, 0.00050592, 7.27136061, 0.99747777, 0.99866869, 0.49308810],
++												 [	-6.27218656, -0.00082517, 0.00050578, 7.27136139, 0.99747844, 0.99866905, 0.49308812],
++												 [	-6.27218711, -0.00082495, 0.00050565, 7.27136216, 0.99747911, 0.99866940, 0.49308821],
++												 [	-6.27218767, -0.00082473, 0.00050551, 7.27136294, 0.99747978, 0.99866976, 0.49308825],
++												 [	-6.27218823, -0.00082451, 0.00050538, 7.27136371, 0.99748046, 0.99867011, 0.49308833],
++												 [	-6.27218878, -0.00082429, 0.00050524, 7.27136449, 0.99748113, 0.99867046, 0.49308847],
++												 [	-6.27218934, -0.00082407, 0.00050511, 7.27136526, 0.99748180, 0.99867082, 0.49308860],
++												 [	-6.27218989, -0.00082385, 0.00050497, 7.27136604, 0.99748247, 0.99867117, 0.49308859],
++												 [	-6.27219045, -0.00082363, 0.00050484, 7.27136681, 0.99748314, 0.99867153, 0.49308869],
++												 [	-6.27219100, -0.00082341, 0.00050471, 7.27136759, 0.99748381, 0.99867188, 0.49308873],
++												 [	-6.27219155, -0.00082320, 0.00050457, 7.27136836, 0.99748448, 0.99867223, 0.49308878],
++												 [	-6.27219211, -0.00082298, 0.00050444, 7.27136913, 0.99748515, 0.99867259, 0.49308888],
++												 [	-6.27219266, -0.00082276, 0.00050430, 7.27136990, 0.99748582, 0.99867294, 0.49308897],
++												 [	-6.27219321, -0.00082254, 0.00050417, 7.27137067, 0.99748649, 0.99867329, 0.49308901],
++												 [	-6.27219376, -0.00082232, 0.00050403, 7.27137144, 0.99748715, 0.99867364, 0.49308913],
++												 [	-6.27219432, -0.00082210, 0.00050390, 7.27137221, 0.99748782, 0.99867400, 0.49308916],
++												 [	-6.27219487, -0.00082188, 0.00050377, 7.27137298, 0.99748849, 0.99867435, 0.49308935],
++												 [	-6.27219542, -0.00082167, 0.00050363, 7.27137375, 0.99748916, 0.99867470, 0.49308938],
++												 [	-6.27219597, -0.00082145, 0.00050350, 7.27137452, 0.99748982, 0.99867505, 0.49308944],
++												 [	-6.27219652, -0.00082123, 0.00050337, 7.27137529, 0.99749049, 0.99867540, 0.49308959],
++												 [	-6.27219707, -0.00082101, 0.00050323, 7.27137606, 0.99749116, 0.99867576, 0.49308961],
++												 [	-6.27219762, -0.00082080, 0.00050310, 7.27137682, 0.99749182, 0.99867611, 0.49308966],
++												 [	-6.27219817, -0.00082058, 0.00050296, 7.27137759, 0.99749249, 0.99867646, 0.49308979],
++												 [	-6.27219872, -0.00082036, 0.00050283, 7.27137836, 0.99749315, 0.99867681, 0.49308985],
++												 [	-6.27219926, -0.00082014, 0.00050270, 7.27137912, 0.99749382, 0.99867716, 0.49308989],
++												 [	-6.27219981, -0.00081993, 0.00050256, 7.27137989, 0.99749448, 0.99867751, 0.49309002],
++												 [	-6.27220036, -0.00081971, 0.00050243, 7.27138065, 0.99749514, 0.99867786, 0.49309006],
++												 [	-6.27220091, -0.00081949, 0.00050230, 7.27138141, 0.99749581, 0.99867821, 0.49309016],
++												 [	-6.27220145, -0.00081927, 0.00050216, 7.27138218, 0.99749647, 0.99867856, 0.49309022],
++												 [	-6.27220200, -0.00081906, 0.00050203, 7.27138294, 0.99749713, 0.99867891, 0.49309028],
++												 [	-6.27220254, -0.00081884, 0.00050190, 7.27138370, 0.99749780, 0.99867926, 0.49309037],
++												 [	-6.27220309, -0.00081862, 0.00050177, 7.27138446, 0.99749846, 0.99867961, 0.49309053],
++												 [	-6.27220363, -0.00081841, 0.00050163, 7.27138523, 0.99749912, 0.99867996, 0.49309055],
++												 [	-6.27220418, -0.00081819, 0.00050150, 7.27138599, 0.99749978, 0.99868031, 0.49309069],
++												 [	-6.27220472, -0.00081798, 0.00050137, 7.27138675, 0.99750044, 0.99868066, 0.49309070],
++												 [	-6.27220527, -0.00081776, 0.00050124, 7.27138751, 0.99750110, 0.99868100, 0.49309083],
++												 [	-6.27220581, -0.00081754, 0.00050110, 7.27138827, 0.99750176, 0.99868135, 0.49309090],
++												 [	-6.27220635, -0.00081733, 0.00050097, 7.27138902, 0.99750242, 0.99868170, 0.49309098],
++												 [	-6.27220690, -0.00081711, 0.00050084, 7.27138978, 0.99750308, 0.99868205, 0.49309101],
++												 [	-6.27220744, -0.00081690, 0.00050071, 7.27139054, 0.99750374, 0.99868240, 0.49309113],
++												 [	-6.27220798, -0.00081668, 0.00050057, 7.27139130, 0.99750440, 0.99868275, 0.49309116],
++												 [	-6.27220852, -0.00081647, 0.00050044, 7.27139205, 0.99750506, 0.99868309, 0.49309123],
++												 [	-6.27220906, -0.00081625, 0.00050031, 7.27139281, 0.99750572, 0.99868344, 0.49309142],
++												 [	-6.27220960, -0.00081604, 0.00050018, 7.27139357, 0.99750638, 0.99868379, 0.49309142],
++												 [	-6.27221014, -0.00081582, 0.00050005, 7.27139432, 0.99750703, 0.99868413, 0.49309146],
++												 [	-6.27221068, -0.00081561, 0.00049991, 7.27139508, 0.99750769, 0.99868448, 0.49309158],
++												 [	-6.27221122, -0.00081539, 0.00049978, 7.27139583, 0.99750835, 0.99868483, 0.49309166],
++												 [	-6.27221176, -0.00081518, 0.00049965, 7.27139659, 0.99750901, 0.99868517, 0.49309171],
++												 [	-6.27221230, -0.00081496, 0.00049952, 7.27139734, 0.99750966, 0.99868552, 0.49309183],
++												 [	-6.27221284, -0.00081475, 0.00049939, 7.27139809, 0.99751032, 0.99868587, 0.49309186],
++												 [	-6.27221338, -0.00081453, 0.00049926, 7.27139884, 0.99751097, 0.99868621, 0.49309196],
++												 [	-6.27221391, -0.00081432, 0.00049912, 7.27139960, 0.99751163, 0.99868656, 0.49309197],
++												 [	-6.27221445, -0.00081410, 0.00049899, 7.27140035, 0.99751228, 0.99868690, 0.49309212],
++												 [	-6.27221499, -0.00081389, 0.00049886, 7.27140110, 0.99751294, 0.99868725, 0.49309226],
++												 [	-6.27221552, -0.00081368, 0.00049873, 7.27140185, 0.99751359, 0.99868759, 0.49309233],
++												 [	-6.27221606, -0.00081346, 0.00049860, 7.27140260, 0.99751425, 0.99868794, 0.49309240],
++												 [	-6.27221660, -0.00081325, 0.00049847, 7.27140335, 0.99751490, 0.99868828, 0.49309241],
++												 [	-6.27221713, -0.00081303, 0.00049834, 7.27140410, 0.99751555, 0.99868863, 0.49309250],
++												 [	-6.27221767, -0.00081282, 0.00049821, 7.27140485, 0.99751621, 0.99868897, 0.49309252],
++												 [	-6.27221820, -0.00081261, 0.00049807, 7.27140559, 0.99751686, 0.99868932, 0.49309262],
++												 [	-6.27221874, -0.00081239, 0.00049794, 7.27140634, 0.99751751, 0.99868966, 0.49309274],
++												 [	-6.27221927, -0.00081218, 0.00049781, 7.27140709, 0.99751816, 0.99869001, 0.49309277],
++												 [	-6.27221980, -0.00081197, 0.00049768, 7.27140784, 0.99751881, 0.99869035, 0.49309287],
++												 [	-6.27222034, -0.00081176, 0.00049755, 7.27140858, 0.99751946, 0.99869069, 0.49309295],
++												 [	-6.27222087, -0.00081154, 0.00049742, 7.27140933, 0.99752012, 0.99869104, 0.49309305],
++												 [	-6.27222140, -0.00081133, 0.00049729, 7.27141007, 0.99752077, 0.99869138, 0.49309311],
++												 [	-6.27222193, -0.00081112, 0.00049716, 7.27141082, 0.99752142, 0.99869172, 0.49309317],
++												 [	-6.27222247, -0.00081090, 0.00049703, 7.27141156, 0.99752207, 0.99869207, 0.49309328],
++												 [	-6.27222300, -0.00081069, 0.00049690, 7.27141230, 0.99752271, 0.99869241, 0.49309332],
++												 [	-6.27222353, -0.00081048, 0.00049677, 7.27141305, 0.99752336, 0.99869275, 0.49309344],
++												 [	-6.27222406, -0.00081027, 0.00049664, 7.27141379, 0.99752401, 0.99869309, 0.49309341],
++												 [	-6.27222459, -0.00081006, 0.00049651, 7.27141453, 0.99752466, 0.99869344, 0.49309354],
++												 [	-6.27222512, -0.00080984, 0.00049638, 7.27141527, 0.99752531, 0.99869378, 0.49309361],
++												 [	-6.27222565, -0.00080963, 0.00049625, 7.27141602, 0.99752596, 0.99869412, 0.49309375],
++												 [	-6.27222618, -0.00080942, 0.00049612, 7.27141676, 0.99752660, 0.99869446, 0.49309380],
++												 [	-6.27222671, -0.00080921, 0.00049599, 7.27141750, 0.99752725, 0.99869480, 0.49309382],
++												 [	-6.27222723, -0.00080900, 0.00049586, 7.27141824, 0.99752790, 0.99869514, 0.49309395],
++												 [	-6.27222776, -0.00080879, 0.00049573, 7.27141898, 0.99752854, 0.99869548, 0.49309403],
++												 [	-6.27222829, -0.00080857, 0.00049560, 7.27141972, 0.99752919, 0.99869582, 0.49309409],
++												 [	-6.27222882, -0.00080836, 0.00049547, 7.27142045, 0.99752984, 0.99869617, 0.49309410],
++												 [	-6.27222934, -0.00080815, 0.00049534, 7.27142119, 0.99753048, 0.99869651, 0.49309425],
++												 [	-6.27222987, -0.00080794, 0.00049521, 7.27142193, 0.99753113, 0.99869685, 0.49309434],
++												 [	-6.27223040, -0.00080773, 0.00049508, 7.27142267, 0.99753177, 0.99869719, 0.49309443],
++												 [	-6.27223092, -0.00080752, 0.00049495, 7.27142340, 0.99753241, 0.99869753, 0.49309447],
++												 [	-6.27223145, -0.00080731, 0.00049482, 7.27142414, 0.99753306, 0.99869787, 0.49309457],
++												 [	-6.27223197, -0.00080710, 0.00049469, 7.27142488, 0.99753370, 0.99869821, 0.49309459],
++												 [	-6.27223250, -0.00080689, 0.00049457, 7.27142561, 0.99753435, 0.99869855, 0.49309463],
++												 [	-6.27223302, -0.00080668, 0.00049444, 7.27142635, 0.99753499, 0.99869888, 0.49309473],
++												 [	-6.27223355, -0.00080647, 0.00049431, 7.27142708, 0.99753563, 0.99869922, 0.49309486],
++												 [	-6.27223407, -0.00080626, 0.00049418, 7.27142781, 0.99753627, 0.99869956, 0.49309496],
++												 [	-6.27223460, -0.00080605, 0.00049405, 7.27142855, 0.99753692, 0.99869990, 0.49309501],
++												 [	-6.27223512, -0.00080584, 0.00049392, 7.27142928, 0.99753756, 0.99870024, 0.49309506],
++												 [	-6.27223564, -0.00080563, 0.00049379, 7.27143001, 0.99753820, 0.99870058, 0.49309510],
++												 [	-6.27223616, -0.00080542, 0.00049366, 7.27143074, 0.99753884, 0.99870092, 0.49309524],
++												 [	-6.27223669, -0.00080521, 0.00049354, 7.27143148, 0.99753948, 0.99870125, 0.49309538],
++												 [	-6.27223721, -0.00080500, 0.00049341, 7.27143221, 0.99754012, 0.99870159, 0.49309541],
++												 [	-6.27223773, -0.00080479, 0.00049328, 7.27143294, 0.99754076, 0.99870193, 0.49309547],
++												 [	-6.27223825, -0.00080458, 0.00049315, 7.27143367, 0.99754140, 0.99870227, 0.49309552],
++												 [	-6.27223877, -0.00080437, 0.00049302, 7.27143440, 0.99754204, 0.99870260, 0.49309562],
++												 [	-6.27223929, -0.00080416, 0.00049289, 7.27143513, 0.99754268, 0.99870294, 0.49309564],
++												 [	-6.27223981, -0.00080395, 0.00049277, 7.27143586, 0.99754332, 0.99870328, 0.49309575],
++												 [	-6.27224033, -0.00080375, 0.00049264, 7.27143658, 0.99754395, 0.99870362, 0.49309585],
++												 [	-6.27224085, -0.00080354, 0.00049251, 7.27143731, 0.99754459, 0.99870395, 0.49309591],
++												 [	-6.27224137, -0.00080333, 0.00049238, 7.27143804, 0.99754523, 0.99870429, 0.49309595],
++												 [	-6.27224189, -0.00080312, 0.00049225, 7.27143877, 0.99754587, 0.99870463, 0.49309610],
++												 [	-6.27224241, -0.00080291, 0.00049213, 7.27143949, 0.99754650, 0.99870496, 0.49309609],
++												 [	-6.27224292, -0.00080270, 0.00049200, 7.27144022, 0.99754714, 0.99870530, 0.49309625],
++												 [	-6.27224344, -0.00080250, 0.00049187, 7.27144094, 0.99754778, 0.99870563, 0.49309625],
++												 [	-6.27224396, -0.00080229, 0.00049174, 7.27144167, 0.99754841, 0.99870597, 0.49309632],
++												 [	-6.27224447, -0.00080208, 0.00049162, 7.27144239, 0.99754905, 0.99870630, 0.49309639],
++												 [	-6.27224499, -0.00080187, 0.00049149, 7.27144312, 0.99754968, 0.99870664, 0.49309648],
++												 [	-6.27224551, -0.00080166, 0.00049136, 7.27144384, 0.99755032, 0.99870697, 0.49309655],
++												 [	-6.27224602, -0.00080146, 0.00049123, 7.27144457, 0.99755095, 0.99870731, 0.49309667],
++												 [	-6.27224654, -0.00080125, 0.00049111, 7.27144529, 0.99755159, 0.99870764, 0.49309666],
++												 [	-6.27224705, -0.00080104, 0.00049098, 7.27144601, 0.99755222, 0.99870798, 0.49309679],
++												 [	-6.27224757, -0.00080084, 0.00049085, 7.27144673, 0.99755286, 0.99870831, 0.49309687],
++												 [	-6.27224808, -0.00080063, 0.00049072, 7.27144746, 0.99755349, 0.99870865, 0.49309695],
++												 [	-6.27224860, -0.00080042, 0.00049060, 7.27144818, 0.99755412, 0.99870898, 0.49309704],
++												 [	-6.27224911, -0.00080021, 0.00049047, 7.27144890, 0.99755476, 0.99870932, 0.49309706],
++												 [	-6.27224962, -0.00080001, 0.00049034, 7.27144962, 0.99755539, 0.99870965, 0.49309713],
++												 [	-6.27225014, -0.00079980, 0.00049022, 7.27145034, 0.99755602, 0.99870998, 0.49309722],
++												 [	-6.27225065, -0.00079959, 0.00049009, 7.27145106, 0.99755665, 0.99871032, 0.49309728],
++												 [	-6.27225116, -0.00079939, 0.00048996, 7.27145178, 0.99755728, 0.99871065, 0.49309738],
++												 [	-6.27225168, -0.00079918, 0.00048984, 7.27145249, 0.99755791, 0.99871098, 0.49309747],
++												 [	-6.27225219, -0.00079897, 0.00048971, 7.27145321, 0.99755854, 0.99871131, 0.49309753],
++												 [	-6.27225270, -0.00079877, 0.00048958, 7.27145393, 0.99755918, 0.99871165, 0.49309771],
++												 [	-6.27225321, -0.00079856, 0.00048946, 7.27145465, 0.99755981, 0.99871198, 0.49309765],
++												 [	-6.27225372, -0.00079836, 0.00048933, 7.27145536, 0.99756044, 0.99871231, 0.49309782],
++												 [	-6.27225423, -0.00079815, 0.00048921, 7.27145608, 0.99756106, 0.99871264, 0.49309784],
++												 [	-6.27225474, -0.00079795, 0.00048908, 7.27145680, 0.99756169, 0.99871298, 0.49309793],
++												 [	-6.27225525, -0.00079774, 0.00048895, 7.27145751, 0.99756232, 0.99871331, 0.49309799],
++												 [	-6.27225576, -0.00079753, 0.00048883, 7.27145823, 0.99756295, 0.99871364, 0.49309812],
++												 [	-6.27225627, -0.00079733, 0.00048870, 7.27145894, 0.99756358, 0.99871397, 0.49309805],
++												 [	-6.27225678, -0.00079712, 0.00048857, 7.27145966, 0.99756421, 0.99871430, 0.49309821],
++												 [	-6.27225729, -0.00079692, 0.00048845, 7.27146037, 0.99756483, 0.99871463, 0.49309831],
++												 [	-6.27225780, -0.00079671, 0.00048832, 7.27146108, 0.99756546, 0.99871496, 0.49309836],
++												 [	-6.27225830, -0.00079651, 0.00048820, 7.27146180, 0.99756609, 0.99871529, 0.49309842],
++												 [	-6.27225881, -0.00079630, 0.00048807, 7.27146251, 0.99756671, 0.99871563, 0.49309856],
++												 [	-6.27225932, -0.00079610, 0.00048795, 7.27146322, 0.99756734, 0.99871596, 0.49309861],
++												 [	-6.27225983, -0.00079589, 0.00048782, 7.27146393, 0.99756797, 0.99871629, 0.49309861],
++												 [	-6.27226033, -0.00079569, 0.00048769, 7.27146464, 0.99756859, 0.99871662, 0.49309873],
++												 [	-6.27226084, -0.00079548, 0.00048757, 7.27146535, 0.99756922, 0.99871695, 0.49309877],
++												 [	-6.27226134, -0.00079528, 0.00048744, 7.27146606, 0.99756984, 0.99871728, 0.49309886],
++												 [	-6.27226185, -0.00079508, 0.00048732, 7.27146677, 0.99757047, 0.99871761, 0.49309893],
++												 [	-6.27226235, -0.00079487, 0.00048719, 7.27146748, 0.99757109, 0.99871793, 0.49309902],
++												 [	-6.27226286, -0.00079467, 0.00048707, 7.27146819, 0.99757172, 0.99871826, 0.49309912],
++												 [	-6.27226336, -0.00079446, 0.00048694, 7.27146890, 0.99757234, 0.99871859, 0.49309921],
++												 [	-6.27226387, -0.00079426, 0.00048682, 7.27146961, 0.99757296, 0.99871892, 0.49309921],
++												 [	-6.27226437, -0.00079406, 0.00048669, 7.27147032, 0.99757359, 0.99871925, 0.49309928],
++												 [	-6.27226488, -0.00079385, 0.00048657, 7.27147102, 0.99757421, 0.99871958, 0.49309939],
++												 [	-6.27226538, -0.00079365, 0.00048644, 7.27147173, 0.99757483, 0.99871991, 0.49309945],
++												 [	-6.27226588, -0.00079345, 0.00048632, 7.27147244, 0.99757545, 0.99872024, 0.49309958],
++												 [	-6.27226639, -0.00079324, 0.00048619, 7.27147314, 0.99757607, 0.99872056, 0.49309958],
++												 [	-6.27226689, -0.00079304, 0.00048607, 7.27147385, 0.99757670, 0.99872089, 0.49309961],
++												 [	-6.27226739, -0.00079284, 0.00048594, 7.27147455, 0.99757732, 0.99872122, 0.49309967],
++												 [	-6.27226789, -0.00079263, 0.00048582, 7.27147526, 0.99757794, 0.99872155, 0.49309986],
++												 [	-6.27226839, -0.00079243, 0.00048570, 7.27147596, 0.99757856, 0.99872187, 0.49309996],
++												 [	-6.27226889, -0.00079223, 0.00048557, 7.27147667, 0.99757918, 0.99872220, 0.49309999],
++												 [	-6.27226939, -0.00079202, 0.00048545, 7.27147737, 0.99757980, 0.99872253, 0.49310010],
++												 [	-6.27226990, -0.00079182, 0.00048532, 7.27147807, 0.99758042, 0.99872286, 0.49310015],
++												 [	-6.27227040, -0.00079162, 0.00048520, 7.27147878, 0.99758104, 0.99872318, 0.49310022],
++												 [	-6.27227090, -0.00079142, 0.00048507, 7.27147948, 0.99758166, 0.99872351, 0.49310023],
++												 [	-6.27227139, -0.00079121, 0.00048495, 7.27148018, 0.99758227, 0.99872384, 0.49310029],
++												 [	-6.27227189, -0.00079101, 0.00048483, 7.27148088, 0.99758289, 0.99872416, 0.49310038],
++												 [	-6.27227239, -0.00079081, 0.00048470, 7.27148158, 0.99758351, 0.99872449, 0.49310046],
++												 [	-6.27227289, -0.00079061, 0.00048458, 7.27148228, 0.99758413, 0.99872481, 0.49310052],
++												 [	-6.27227339, -0.00079041, 0.00048445, 7.27148298, 0.99758474, 0.99872514, 0.49310058],
++												 [	-6.27227389, -0.00079020, 0.00048433, 7.27148368, 0.99758536, 0.99872546, 0.49310064],
++												 [	-6.27227439, -0.00079000, 0.00048421, 7.27148438, 0.99758598, 0.99872579, 0.49310077],
++												 [	-6.27227488, -0.00078980, 0.00048408, 7.27148508, 0.99758659, 0.99872612, 0.49310085],
++												 [	-6.27227538, -0.00078960, 0.00048396, 7.27148578, 0.99758721, 0.99872644, 0.49310092],
++												 [	-6.27227588, -0.00078940, 0.00048384, 7.27148648, 0.99758783, 0.99872677, 0.49310100],
++												 [	-6.27227637, -0.00078920, 0.00048371, 7.27148717, 0.99758844, 0.99872709, 0.49310112],
++												 [	-6.27227687, -0.00078900, 0.00048359, 7.27148787, 0.99758906, 0.99872741, 0.49310113],
++												 [	-6.27227736, -0.00078880, 0.00048347, 7.27148857, 0.99758967, 0.99872774, 0.49310122],
++												 [	-6.27227786, -0.00078859, 0.00048334, 7.27148927, 0.99759029, 0.99872806, 0.49310127],
++												 [	-6.27227836, -0.00078839, 0.00048322, 7.27148996, 0.99759090, 0.99872839, 0.49310130],
++												 [	-6.27227885, -0.00078819, 0.00048310, 7.27149066, 0.99759151, 0.99872871, 0.49310141],
++												 [	-6.27227934, -0.00078799, 0.00048297, 7.27149135, 0.99759213, 0.99872903, 0.49310152],
++												 [	-6.27227984, -0.00078779, 0.00048285, 7.27149205, 0.99759274, 0.99872936, 0.49310152],
++												 [	-6.27228033, -0.00078759, 0.00048273, 7.27149274, 0.99759335, 0.99872968, 0.49310163],
++												 [	-6.27228083, -0.00078739, 0.00048260, 7.27149344, 0.99759397, 0.99873001, 0.49310168],
++												 [	-6.27228132, -0.00078719, 0.00048248, 7.27149413, 0.99759458, 0.99873033, 0.49310178],
++												 [	-6.27228181, -0.00078699, 0.00048236, 7.27149482, 0.99759519, 0.99873065, 0.49310189],
++												 [	-6.27228231, -0.00078679, 0.00048224, 7.27149552, 0.99759580, 0.99873097, 0.49310191],
++												 [	-6.27228280, -0.00078659, 0.00048211, 7.27149621, 0.99759641, 0.99873130, 0.49310203],
++												 [	-6.27228329, -0.00078639, 0.00048199, 7.27149690, 0.99759702, 0.99873162, 0.49310202],
++												 [	-6.27228378, -0.00078619, 0.00048187, 7.27149759, 0.99759763, 0.99873194, 0.49310216],
++												 [	-6.27228427, -0.00078599, 0.00048175, 7.27149828, 0.99759825, 0.99873226, 0.49310220],
++												 [	-6.27228476, -0.00078579, 0.00048162, 7.27149897, 0.99759886, 0.99873259, 0.49310228],
++												 [	-6.27228526, -0.00078559, 0.00048150, 7.27149966, 0.99759946, 0.99873291, 0.49310231],
++												 [	-6.27228575, -0.00078539, 0.00048138, 7.27150035, 0.99760007, 0.99873323, 0.49310245],
++												 [	-6.27228624, -0.00078519, 0.00048126, 7.27150104, 0.99760068, 0.99873355, 0.49310250],
++												 [	-6.27228673, -0.00078500, 0.00048113, 7.27150173, 0.99760129, 0.99873387, 0.49310256],
++												 [	-6.27228722, -0.00078480, 0.00048101, 7.27150242, 0.99760190, 0.99873419, 0.49310269],
++												 [	-6.27228771, -0.00078460, 0.00048089, 7.27150311, 0.99760251, 0.99873451, 0.49310278],
++												 [	-6.27228819, -0.00078440, 0.00048077, 7.27150380, 0.99760312, 0.99873483, 0.49310277],
++												 [	-6.27228868, -0.00078420, 0.00048065, 7.27150448, 0.99760372, 0.99873515, 0.49310291],
++												 [	-6.27228917, -0.00078400, 0.00048052, 7.27150517, 0.99760433, 0.99873548, 0.49310291],
++												 [	-6.27228966, -0.00078380, 0.00048040, 7.27150586, 0.99760494, 0.99873580, 0.49310301],
++												 [	-6.27229015, -0.00078360, 0.00048028, 7.27150654, 0.99760555, 0.99873612, 0.49310307],
++												 [	-6.27229064, -0.00078341, 0.00048016, 7.27150723, 0.99760615, 0.99873644, 0.49310321],
++												 [	-6.27229112, -0.00078321, 0.00048004, 7.27150792, 0.99760676, 0.99873676, 0.49310322],
++												 [	-6.27229161, -0.00078301, 0.00047992, 7.27150860, 0.99760736, 0.99873707, 0.49310330],
++												 [	-6.27229210, -0.00078281, 0.00047979, 7.27150929, 0.99760797, 0.99873739, 0.49310330],
++												 [	-6.27229258, -0.00078261, 0.00047967, 7.27150997, 0.99760857, 0.99873771, 0.49310340],
++												 [	-6.27229307, -0.00078242, 0.00047955, 7.27151065, 0.99760918, 0.99873803, 0.49310344],
++												 [	-6.27229356, -0.00078222, 0.00047943, 7.27151134, 0.99760978, 0.99873835, 0.49310362],
++												 [	-6.27229404, -0.00078202, 0.00047931, 7.27151202, 0.99761039, 0.99873867, 0.49310362],
++												 [	-6.27229453, -0.00078182, 0.00047919, 7.27151270, 0.99761099, 0.99873899, 0.49310369],
++												 [	-6.27229501, -0.00078163, 0.00047907, 7.27151339, 0.99761160, 0.99873931, 0.49310382],
++												 [	-6.27229550, -0.00078143, 0.00047895, 7.27151407, 0.99761220, 0.99873963, 0.49310378],
++												 [	-6.27229598, -0.00078123, 0.00047882, 7.27151475, 0.99761280, 0.99873994, 0.49310395],
++												 [	-6.27229646, -0.00078103, 0.00047870, 7.27151543, 0.99761340, 0.99874026, 0.49310398],
++												 [	-6.27229695, -0.00078084, 0.00047858, 7.27151611, 0.99761401, 0.99874058, 0.49310409],
++												 [	-6.27229743, -0.00078064, 0.00047846, 7.27151679, 0.99761461, 0.99874090, 0.49310410],
++												 [	-6.27229791, -0.00078044, 0.00047834, 7.27151747, 0.99761521, 0.99874122, 0.49310419],
++												 [	-6.27229840, -0.00078025, 0.00047822, 7.27151815, 0.99761581, 0.99874153, 0.49310426],
++												 [	-6.27229888, -0.00078005, 0.00047810, 7.27151883, 0.99761641, 0.99874185, 0.49310431],
++												 [	-6.27229936, -0.00077985, 0.00047798, 7.27151951, 0.99761701, 0.99874217, 0.49310439],
++												 [	-6.27229984, -0.00077966, 0.00047786, 7.27152019, 0.99761762, 0.99874248, 0.49310456],
++												 [	-6.27230033, -0.00077946, 0.00047774, 7.27152087, 0.99761822, 0.99874280, 0.49310453],
++												 [	-6.27230081, -0.00077926, 0.00047762, 7.27152154, 0.99761882, 0.99874312, 0.49310456],
++												 [	-6.27230129, -0.00077907, 0.00047750, 7.27152222, 0.99761942, 0.99874343, 0.49310472],
++												 [	-6.27230177, -0.00077887, 0.00047738, 7.27152290, 0.99762001, 0.99874375, 0.49310478],
++												 [	-6.27230225, -0.00077868, 0.00047726, 7.27152357, 0.99762061, 0.99874407, 0.49310482],
++												 [	-6.27230273, -0.00077848, 0.00047714, 7.27152425, 0.99762121, 0.99874438, 0.49310485],
++												 [	-6.27230321, -0.00077828, 0.00047702, 7.27152493, 0.99762181, 0.99874470, 0.49310496],
++												 [	-6.27230369, -0.00077809, 0.00047690, 7.27152560, 0.99762241, 0.99874501, 0.49310508],
++												 [	-6.27230417, -0.00077789, 0.00047678, 7.27152628, 0.99762301, 0.99874533, 0.49310514],
++												 [	-6.27230465, -0.00077770, 0.00047666, 7.27152695, 0.99762360, 0.99874564, 0.49310512],
++												 [	-6.27230513, -0.00077750, 0.00047654, 7.27152763, 0.99762420, 0.99874596, 0.49310522],
++												 [	-6.27230561, -0.00077731, 0.00047642, 7.27152830, 0.99762480, 0.99874627, 0.49310530],
++												 [	-6.27230609, -0.00077711, 0.00047630, 7.27152897, 0.99762540, 0.99874659, 0.49310543],
++												 [	-6.27230656, -0.00077692, 0.00047618, 7.27152965, 0.99762599, 0.99874690, 0.49310543],
++												 [	-6.27230704, -0.00077672, 0.00047606, 7.27153032, 0.99762659, 0.99874722, 0.49310556],
++												 [	-6.27230752, -0.00077653, 0.00047594, 7.27153099, 0.99762718, 0.99874753, 0.49310555],
++												 [	-6.27230800, -0.00077633, 0.00047582, 7.27153166, 0.99762778, 0.99874785, 0.49310570],
++												 [	-6.27230847, -0.00077614, 0.00047570, 7.27153233, 0.99762837, 0.99874816, 0.49310570],
++												 [	-6.27230895, -0.00077594, 0.00047558, 7.27153301, 0.99762897, 0.99874848, 0.49310582],
++												 [	-6.27230943, -0.00077575, 0.00047546, 7.27153368, 0.99762956, 0.99874879, 0.49310585],
++												 [	-6.27230990, -0.00077556, 0.00047534, 7.27153435, 0.99763016, 0.99874910, 0.49310599],
++												 [	-6.27231038, -0.00077536, 0.00047522, 7.27153502, 0.99763075, 0.99874942, 0.49310605],
++												 [	-6.27231085, -0.00077517, 0.00047510, 7.27153569, 0.99763135, 0.99874973, 0.49310608],
++												 [	-6.27231133, -0.00077497, 0.00047498, 7.27153636, 0.99763194, 0.99875004, 0.49310612],
++												 [	-6.27231180, -0.00077478, 0.00047487, 7.27153702, 0.99763253, 0.99875036, 0.49310624],
++												 [	-6.27231228, -0.00077458, 0.00047475, 7.27153769, 0.99763312, 0.99875067, 0.49310622],
++												 [	-6.27231275, -0.00077439, 0.00047463, 7.27153836, 0.99763372, 0.99875098, 0.49310639],
++												 [	-6.27231323, -0.00077420, 0.00047451, 7.27153903, 0.99763431, 0.99875129, 0.49310643],
++												 [	-6.27231370, -0.00077400, 0.00047439, 7.27153970, 0.99763490, 0.99875161, 0.49310644],
++												 [	-6.27231417, -0.00077381, 0.00047427, 7.27154036, 0.99763549, 0.99875192, 0.49310654],
++												 [	-6.27231465, -0.00077362, 0.00047415, 7.27154103, 0.99763608, 0.99875223, 0.49310665],
++												 [	-6.27231512, -0.00077342, 0.00047403, 7.27154170, 0.99763668, 0.99875254, 0.49310674],
++												 [	-6.27231559, -0.00077323, 0.00047392, 7.27154236, 0.99763727, 0.99875285, 0.49310670],
++												 [	-6.27231607, -0.00077304, 0.00047380, 7.27154303, 0.99763786, 0.99875317, 0.49310684],
++												 [	-6.27231654, -0.00077284, 0.00047368, 7.27154369, 0.99763845, 0.99875348, 0.49310692],
++												 [	-6.27231701, -0.00077265, 0.00047356, 7.27154436, 0.99763904, 0.99875379, 0.49310699],
++												 [	-6.27231748, -0.00077246, 0.00047344, 7.27154502, 0.99763963, 0.99875410, 0.49310700],
++												 [	-6.27231795, -0.00077227, 0.00047332, 7.27154569, 0.99764021, 0.99875441, 0.49310703],
++												 [	-6.27231842, -0.00077207, 0.00047321, 7.27154635, 0.99764080, 0.99875472, 0.49310722],
++												 [	-6.27231889, -0.00077188, 0.00047309, 7.27154701, 0.99764139, 0.99875503, 0.49310725],
++												 [	-6.27231936, -0.00077169, 0.00047297, 7.27154768, 0.99764198, 0.99875534, 0.49310729],
++												 [	-6.27231984, -0.00077150, 0.00047285, 7.27154834, 0.99764257, 0.99875565, 0.49310745],
++												 [	-6.27232031, -0.00077130, 0.00047273, 7.27154900, 0.99764316, 0.99875596, 0.49310751],
++												 [	-6.27232077, -0.00077111, 0.00047262, 7.27154966, 0.99764374, 0.99875627, 0.49310749],
++												 [	-6.27232124, -0.00077092, 0.00047250, 7.27155032, 0.99764433, 0.99875658, 0.49310765],
++												 [	-6.27232171, -0.00077073, 0.00047238, 7.27155099, 0.99764492, 0.99875689, 0.49310767],
++												 [	-6.27232218, -0.00077054, 0.00047226, 7.27155165, 0.99764550, 0.99875720, 0.49310775],
++												 [	-6.27232265, -0.00077034, 0.00047215, 7.27155231, 0.99764609, 0.99875751, 0.49310781],
++												 [	-6.27232312, -0.00077015, 0.00047203, 7.27155297, 0.99764668, 0.99875782, 0.49310787],
++												 [	-6.27232359, -0.00076996, 0.00047191, 7.27155363, 0.99764726, 0.99875813, 0.49310796],
++												 [	-6.27232406, -0.00076977, 0.00047179, 7.27155429, 0.99764785, 0.99875844, 0.49310787],
++												 [	-6.27232452, -0.00076958, 0.00047168, 7.27155494, 0.99764843, 0.99875875, 0.49310807],
++												 [	-6.27232499, -0.00076939, 0.00047156, 7.27155560, 0.99764902, 0.99875906, 0.49310819],
++												 [	-6.27232546, -0.00076920, 0.00047144, 7.27155626, 0.99764960, 0.99875936, 0.49310824],
++												 [	-6.27232592, -0.00076900, 0.00047132, 7.27155692, 0.99765019, 0.99875967, 0.49310831],
++												 [	-6.27232639, -0.00076881, 0.00047121, 7.27155758, 0.99765077, 0.99875998, 0.49310826],
++												 [	-6.27232686, -0.00076862, 0.00047109, 7.27155823, 0.99765135, 0.99876029, 0.49310841],
++												 [	-6.27232732, -0.00076843, 0.00047097, 7.27155889, 0.99765194, 0.99876060, 0.49310851],
++												 [	-6.27232779, -0.00076824, 0.00047086, 7.27155955, 0.99765252, 0.99876090, 0.49310855],
++												 [	-6.27232825, -0.00076805, 0.00047074, 7.27156020, 0.99765310, 0.99876121, 0.49310862],
++												 [	-6.27232872, -0.00076786, 0.00047062, 7.27156086, 0.99765369, 0.99876152, 0.49310868],
++												 [	-6.27232918, -0.00076767, 0.00047050, 7.27156151, 0.99765427, 0.99876183, 0.49310870],
++												 [	-6.27232965, -0.00076748, 0.00047039, 7.27156217, 0.99765485, 0.99876213, 0.49310885],
++												 [	-6.27233011, -0.00076729, 0.00047027, 7.27156282, 0.99765543, 0.99876244, 0.49310881],
++												 [	-6.27233058, -0.00076710, 0.00047015, 7.27156348, 0.99765601, 0.99876275, 0.49310901],
++												 [	-6.27233104, -0.00076691, 0.00047004, 7.27156413, 0.99765660, 0.99876305, 0.49310905],
++												 [	-6.27233150, -0.00076672, 0.00046992, 7.27156478, 0.99765718, 0.99876336, 0.49310906],
++												 [	-6.27233197, -0.00076653, 0.00046981, 7.27156544, 0.99765776, 0.99876367, 0.49310915],
++												 [	-6.27233243, -0.00076634, 0.00046969, 7.27156609, 0.99765834, 0.99876397, 0.49310926],
++												 [	-6.27233289, -0.00076615, 0.00046957, 7.27156674, 0.99765892, 0.99876428, 0.49310922],
++												 [	-6.27233336, -0.00076596, 0.00046946, 7.27156740, 0.99765950, 0.99876458, 0.49310945],
++												 [	-6.27233382, -0.00076577, 0.00046934, 7.27156805, 0.99766008, 0.99876489, 0.49310949],
++												 [	-6.27233428, -0.00076558, 0.00046922, 7.27156870, 0.99766065, 0.99876520, 0.49310955],
++												 [	-6.27233474, -0.00076539, 0.00046911, 7.27156935, 0.99766123, 0.99876550, 0.49310960],
++												 [	-6.27233520, -0.00076520, 0.00046899, 7.27157000, 0.99766181, 0.99876581, 0.49310966],
++												 [	-6.27233566, -0.00076501, 0.00046888, 7.27157065, 0.99766239, 0.99876611, 0.49310976],
++												 [	-6.27233612, -0.00076482, 0.00046876, 7.27157130, 0.99766297, 0.99876642, 0.49310982],
++												 [	-6.27233658, -0.00076464, 0.00046864, 7.27157195, 0.99766355, 0.99876672, 0.49310988],
++												 [	-6.27233705, -0.00076445, 0.00046853, 7.27157260, 0.99766412, 0.99876703, 0.49310995],
++												 [	-6.27233751, -0.00076426, 0.00046841, 7.27157325, 0.99766470, 0.99876733, 0.49310998],
++												 [	-6.27233797, -0.00076407, 0.00046830, 7.27157390, 0.99766528, 0.99876763, 0.49311004],
++												 [	-6.27233843, -0.00076388, 0.00046818, 7.27157454, 0.99766585, 0.99876794, 0.49311017],
++												 [	-6.27233888, -0.00076369, 0.00046806, 7.27157519, 0.99766643, 0.99876824, 0.49311019],
++												 [	-6.27233934, -0.00076350, 0.00046795, 7.27157584, 0.99766701, 0.99876855, 0.49311023],
++												 [	-6.27233980, -0.00076332, 0.00046783, 7.27157649, 0.99766758, 0.99876885, 0.49311028],
++												 [	-6.27234026, -0.00076313, 0.00046772, 7.27157713, 0.99766816, 0.99876915, 0.49311042],
++												 [	-6.27234072, -0.00076294, 0.00046760, 7.27157778, 0.99766873, 0.99876946, 0.49311047],
++												 [	-6.27234118, -0.00076275, 0.00046749, 7.27157843, 0.99766931, 0.99876976, 0.49311045],
++												 [	-6.27234163, -0.00076256, 0.00046737, 7.27157907, 0.99766988, 0.99877006, 0.49311061],
++												 [	-6.27234209, -0.00076238, 0.00046726, 7.27157972, 0.99767046, 0.99877037, 0.49311059],
++												 [	-6.27234255, -0.00076219, 0.00046714, 7.27158036, 0.99767103, 0.99877067, 0.49311072],
++												 [	-6.27234301, -0.00076200, 0.00046703, 7.27158101, 0.99767160, 0.99877097, 0.49311081],
++												 [	-6.27234346, -0.00076181, 0.00046691, 7.27158165, 0.99767218, 0.99877128, 0.49311088],
++												 [	-6.27234392, -0.00076163, 0.00046680, 7.27158229, 0.99767275, 0.99877158, 0.49311099],
++												 [	-6.27234438, -0.00076144, 0.00046668, 7.27158294, 0.99767332, 0.99877188, 0.49311100],
++												 [	-6.27234483, -0.00076125, 0.00046657, 7.27158358, 0.99767389, 0.99877218, 0.49311108],
++												 [	-6.27234529, -0.00076106, 0.00046645, 7.27158422, 0.99767447, 0.99877248, 0.49311114],
++												 [	-6.27234574, -0.00076088, 0.00046634, 7.27158487, 0.99767504, 0.99877279, 0.49311126],
++												 [	-6.27234620, -0.00076069, 0.00046622, 7.27158551, 0.99767561, 0.99877309, 0.49311118],
++												 [	-6.27234665, -0.00076050, 0.00046611, 7.27158615, 0.99767618, 0.99877339, 0.49311132],
++												 [	-6.27234711, -0.00076032, 0.00046599, 7.27158679, 0.99767675, 0.99877369, 0.49311134],
++												 [	-6.27234756, -0.00076013, 0.00046588, 7.27158743, 0.99767732, 0.99877399, 0.49311138],
++												 [	-6.27234802, -0.00075994, 0.00046576, 7.27158807, 0.99767789, 0.99877429, 0.49311158],
++												 [	-6.27234847, -0.00075976, 0.00046565, 7.27158872, 0.99767846, 0.99877459, 0.49311152],
++												 [	-6.27234892, -0.00075957, 0.00046554, 7.27158935, 0.99767903, 0.99877489, 0.49311170],
++												 [	-6.27234938, -0.00075938, 0.00046542, 7.27158999, 0.99767960, 0.99877519, 0.49311176],
++												 [	-6.27234983, -0.00075920, 0.00046531, 7.27159063, 0.99768017, 0.99877550, 0.49311184],
++												 [	-6.27235028, -0.00075901, 0.00046519, 7.27159127, 0.99768074, 0.99877580, 0.49311180],
++												 [	-6.27235074, -0.00075882, 0.00046508, 7.27159191, 0.99768131, 0.99877610, 0.49311187],
++												 [	-6.27235119, -0.00075864, 0.00046496, 7.27159255, 0.99768188, 0.99877640, 0.49311206],
++												 [	-6.27235164, -0.00075845, 0.00046485, 7.27159319, 0.99768245, 0.99877670, 0.49311212],
++												 [	-6.27235209, -0.00075827, 0.00046474, 7.27159383, 0.99768302, 0.99877700, 0.49311212],
++												 [	-6.27235255, -0.00075808, 0.00046462, 7.27159446, 0.99768358, 0.99877730, 0.49311214],
++												 [	-6.27235300, -0.00075790, 0.00046451, 7.27159510, 0.99768415, 0.99877759, 0.49311223],
++												 [	-6.27235345, -0.00075771, 0.00046440, 7.27159574, 0.99768472, 0.99877789, 0.49311231],
++												 [	-6.27235390, -0.00075753, 0.00046428, 7.27159637, 0.99768529, 0.99877819, 0.49311242],
++												 [	-6.27235435, -0.00075734, 0.00046417, 7.27159701, 0.99768585, 0.99877849, 0.49311242],
++												 [	-6.27235480, -0.00075715, 0.00046405, 7.27159765, 0.99768642, 0.99877879, 0.49311257],
++												 [	-6.27235525, -0.00075697, 0.00046394, 7.27159828, 0.99768699, 0.99877909, 0.49311263],
++												 [	-6.27235570, -0.00075678, 0.00046383, 7.27159892, 0.99768755, 0.99877939, 0.49311265],
++												 [	-6.27235615, -0.00075660, 0.00046371, 7.27159955, 0.99768812, 0.99877969, 0.49311271],
++												 [	-6.27235660, -0.00075641, 0.00046360, 7.27160019, 0.99768868, 0.99877999, 0.49311273],
++												 [	-6.27235705, -0.00075623, 0.00046349, 7.27160082, 0.99768925, 0.99878028, 0.49311292],
++												 [	-6.27235750, -0.00075605, 0.00046337, 7.27160145, 0.99768981, 0.99878058, 0.49311290],
++												 [	-6.27235795, -0.00075586, 0.00046326, 7.27160209, 0.99769038, 0.99878088, 0.49311294],
++												 [	-6.27235840, -0.00075568, 0.00046315, 7.27160272, 0.99769094, 0.99878118, 0.49311305],
++												 [	-6.27235884, -0.00075549, 0.00046303, 7.27160335, 0.99769150, 0.99878147, 0.49311309],
++												 [	-6.27235929, -0.00075531, 0.00046292, 7.27160398, 0.99769207, 0.99878177, 0.49311327],
++												 [	-6.27235974, -0.00075512, 0.00046281, 7.27160462, 0.99769263, 0.99878207, 0.49311324],
++												 [	-6.27236019, -0.00075494, 0.00046269, 7.27160525, 0.99769319, 0.99878237, 0.49311327],
++												 [	-6.27236063, -0.00075475, 0.00046258, 7.27160588, 0.99769376, 0.99878266, 0.49311333],
++												 [	-6.27236108, -0.00075457, 0.00046247, 7.27160651, 0.99769432, 0.99878296, 0.49311348],
++												 [	-6.27236153, -0.00075439, 0.00046236, 7.27160714, 0.99769488, 0.99878326, 0.49311361],
++												 [	-6.27236197, -0.00075420, 0.00046224, 7.27160777, 0.99769544, 0.99878355, 0.49311357],
++												 [	-6.27236242, -0.00075402, 0.00046213, 7.27160840, 0.99769601, 0.99878385, 0.49311362],
++												 [	-6.27236287, -0.00075384, 0.00046202, 7.27160903, 0.99769657, 0.99878415, 0.49311367],
++												 [	-6.27236331, -0.00075365, 0.00046191, 7.27160966, 0.99769713, 0.99878444, 0.49311366],
++												 [	-6.27236376, -0.00075347, 0.00046179, 7.27161029, 0.99769769, 0.99878474, 0.49311384],
++												 [	-6.27236420, -0.00075329, 0.00046168, 7.27161092, 0.99769825, 0.99878503, 0.49311393],
++												 [	-6.27236465, -0.00075310, 0.00046157, 7.27161155, 0.99769881, 0.99878533, 0.49311405],
++												 [	-6.27236509, -0.00075292, 0.00046146, 7.27161217, 0.99769937, 0.99878563, 0.49311410],
++												 [	-6.27236554, -0.00075274, 0.00046134, 7.27161280, 0.99769993, 0.99878592, 0.49311401],
++												 [	-6.27236598, -0.00075255, 0.00046123, 7.27161343, 0.99770049, 0.99878622, 0.49311424],
++												 [	-6.27236643, -0.00075237, 0.00046112, 7.27161406, 0.99770105, 0.99878651, 0.49311425],
++												 [	-6.27236687, -0.00075219, 0.00046101, 7.27161468, 0.99770161, 0.99878681, 0.49311423],
++												 [	-6.27236731, -0.00075200, 0.00046089, 7.27161531, 0.99770217, 0.99878710, 0.49311442],
++												 [	-6.27236776, -0.00075182, 0.00046078, 7.27161594, 0.99770272, 0.99878740, 0.49311431],
++												 [	-6.27236820, -0.00075164, 0.00046067, 7.27161656, 0.99770328, 0.99878769, 0.49311449],
++												 [	-6.27236864, -0.00075146, 0.00046056, 7.27161719, 0.99770384, 0.99878798, 0.49311451],
++												 [	-6.27236909, -0.00075127, 0.00046045, 7.27161781, 0.99770440, 0.99878828, 0.49311462],
++												 [	-6.27236953, -0.00075109, 0.00046034, 7.27161844, 0.99770496, 0.99878857, 0.49311465],
++												 [	-6.27236997, -0.00075091, 0.00046022, 7.27161906, 0.99770551, 0.99878887, 0.49311479],
++												 [	-6.27237041, -0.00075073, 0.00046011, 7.27161968, 0.99770607, 0.99878916, 0.49311488],
++												 [	-6.27237085, -0.00075055, 0.00046000, 7.27162031, 0.99770663, 0.99878945, 0.49311489],
++												 [	-6.27237130, -0.00075036, 0.00045989, 7.27162093, 0.99770718, 0.99878975, 0.49311496],
++												 [	-6.27237174, -0.00075018, 0.00045978, 7.27162155, 0.99770774, 0.99879004, 0.49311494],
++												 [	-6.27237218, -0.00075000, 0.00045967, 7.27162218, 0.99770829, 0.99879033, 0.49311510],
++												 [	-6.27237262, -0.00074982, 0.00045955, 7.27162280, 0.99770885, 0.99879063, 0.49311504],
++												 [	-6.27237306, -0.00074964, 0.00045944, 7.27162342, 0.99770941, 0.99879092, 0.49311523],
++												 [	-6.27237350, -0.00074946, 0.00045933, 7.27162404, 0.99770996, 0.99879121, 0.49311526],
++												 [	-6.27237394, -0.00074927, 0.00045922, 7.27162466, 0.99771051, 0.99879151, 0.49311531],
++												 [	-6.27237438, -0.00074909, 0.00045911, 7.27162529, 0.99771107, 0.99879180, 0.49311549],
++												 [	-6.27237482, -0.00074891, 0.00045900, 7.27162591, 0.99771162, 0.99879209, 0.49311546],
++												 [	-6.27237526, -0.00074873, 0.00045889, 7.27162653, 0.99771218, 0.99879238, 0.49311554],
++												 [	-6.27237570, -0.00074855, 0.00045878, 7.27162715, 0.99771273, 0.99879268, 0.49311557],
++												 [	-6.27237614, -0.00074837, 0.00045866, 7.27162777, 0.99771328, 0.99879297, 0.49311573],
++												 [	-6.27237657, -0.00074819, 0.00045855, 7.27162839, 0.99771384, 0.99879326, 0.49311571],
++												 [	-6.27237701, -0.00074801, 0.00045844, 7.27162901, 0.99771439, 0.99879355, 0.49311580],
++												 [	-6.27237745, -0.00074783, 0.00045833, 7.27162962, 0.99771494, 0.99879384, 0.49311585],
++												 [	-6.27237789, -0.00074765, 0.00045822, 7.27163024, 0.99771549, 0.99879413, 0.49311592],
++												 [	-6.27237833, -0.00074747, 0.00045811, 7.27163086, 0.99771605, 0.99879442, 0.49311607],
++												 [	-6.27237876, -0.00074728, 0.00045800, 7.27163148, 0.99771660, 0.99879472, 0.49311608],
++												 [	-6.27237920, -0.00074710, 0.00045789, 7.27163210, 0.99771715, 0.99879501, 0.49311612],
++												 [	-6.27237964, -0.00074692, 0.00045778, 7.27163271, 0.99771770, 0.99879530, 0.49311622],
++												 [	-6.27238007, -0.00074674, 0.00045767, 7.27163333, 0.99771825, 0.99879559, 0.49311623],
++												 [	-6.27238051, -0.00074656, 0.00045756, 7.27163395, 0.99771880, 0.99879588, 0.49311629],
++												 [	-6.27238095, -0.00074638, 0.00045745, 7.27163456, 0.99771935, 0.99879617, 0.49311629],
++												 [	-6.27238138, -0.00074620, 0.00045734, 7.27163518, 0.99771990, 0.99879646, 0.49311644],
++												 [	-6.27238182, -0.00074602, 0.00045723, 7.27163580, 0.99772045, 0.99879675, 0.49311641],
++												 [	-6.27238225, -0.00074584, 0.00045712, 7.27163641, 0.99772100, 0.99879704, 0.49311653],
++												 [	-6.27238269, -0.00074566, 0.00045701, 7.27163703, 0.99772155, 0.99879733, 0.49311671],
++												 [	-6.27238312, -0.00074548, 0.00045690, 7.27163764, 0.99772210, 0.99879762, 0.49311673],
++												 [	-6.27238356, -0.00074531, 0.00045679, 7.27163825, 0.99772265, 0.99879791, 0.49311683],
++												 [	-6.27238399, -0.00074513, 0.00045668, 7.27163887, 0.99772320, 0.99879820, 0.49311676],
++												 [	-6.27238443, -0.00074495, 0.00045657, 7.27163948, 0.99772375, 0.99879849, 0.49311684],
++												 [	-6.27238486, -0.00074477, 0.00045646, 7.27164010, 0.99772429, 0.99879878, 0.49311690],
++												 [	-6.27238530, -0.00074459, 0.00045635, 7.27164071, 0.99772484, 0.99879907, 0.49311703],
++												 [	-6.27238573, -0.00074441, 0.00045624, 7.27164132, 0.99772539, 0.99879936, 0.49311710],
++												 [	-6.27238616, -0.00074423, 0.00045613, 7.27164193, 0.99772594, 0.99879964, 0.49311708],
++												 [	-6.27238660, -0.00074405, 0.00045602, 7.27164255, 0.99772648, 0.99879993, 0.49311725],
++												 [	-6.27238703, -0.00074387, 0.00045591, 7.27164316, 0.99772703, 0.99880022, 0.49311732],
++												 [	-6.27238746, -0.00074369, 0.00045580, 7.27164377, 0.99772758, 0.99880051, 0.49311738],
++												 [	-6.27238790, -0.00074352, 0.00045569, 7.27164438, 0.99772812, 0.99880080, 0.49311739],
++												 [	-6.27238833, -0.00074334, 0.00045558, 7.27164499, 0.99772867, 0.99880109, 0.49311746],
++												 [	-6.27238876, -0.00074316, 0.00045547, 7.27164560, 0.99772921, 0.99880137, 0.49311752],
++												 [	-6.27238919, -0.00074298, 0.00045536, 7.27164621, 0.99772976, 0.99880166, 0.49311758],
++												 [	-6.27238962, -0.00074280, 0.00045525, 7.27164682, 0.99773030, 0.99880195, 0.49311766],
++												 [	-6.27239006, -0.00074262, 0.00045514, 7.27164743, 0.99773085, 0.99880224, 0.49311772],
++												 [	-6.27239049, -0.00074245, 0.00045503, 7.27164804, 0.99773139, 0.99880252, 0.49311777],
++												 [	-6.27239092, -0.00074227, 0.00045492, 7.27164865, 0.99773194, 0.99880281, 0.49311785],
++												 [	-6.27239135, -0.00074209, 0.00045481, 7.27164926, 0.99773248, 0.99880310, 0.49311791],
++												 [	-6.27239178, -0.00074191, 0.00045470, 7.27164987, 0.99773303, 0.99880339, 0.49311797],
++												 [	-6.27239221, -0.00074173, 0.00045459, 7.27165048, 0.99773357, 0.99880367, 0.49311806],
++												 [	-6.27239264, -0.00074156, 0.00045449, 7.27165108, 0.99773411, 0.99880396, 0.49311809],
++												 [	-6.27239307, -0.00074138, 0.00045438, 7.27165169, 0.99773466, 0.99880425, 0.49311816],
++												 [	-6.27239350, -0.00074120, 0.00045427, 7.27165230, 0.99773520, 0.99880453, 0.49311824],
++												 [	-6.27239393, -0.00074102, 0.00045416, 7.27165291, 0.99773574, 0.99880482, 0.49311829],
++												 [	-6.27239436, -0.00074085, 0.00045405, 7.27165351, 0.99773628, 0.99880510, 0.49311835],
++												 [	-6.27239479, -0.00074067, 0.00045394, 7.27165412, 0.99773683, 0.99880539, 0.49311839],
++												 [	-6.27239522, -0.00074049, 0.00045383, 7.27165472, 0.99773737, 0.99880568, 0.49311849],
++												 [	-6.27239564, -0.00074031, 0.00045372, 7.27165533, 0.99773791, 0.99880596, 0.49311853],
++												 [	-6.27239607, -0.00074014, 0.00045362, 7.27165593, 0.99773845, 0.99880625, 0.49311862],
++												 [	-6.27239650, -0.00073996, 0.00045351, 7.27165654, 0.99773899, 0.99880653, 0.49311867],
++												 [	-6.27239693, -0.00073978, 0.00045340, 7.27165714, 0.99773953, 0.99880682, 0.49311873],
++												 [	-6.27239736, -0.00073961, 0.00045329, 7.27165775, 0.99774007, 0.99880710, 0.49311878],
++												 [	-6.27239778, -0.00073943, 0.00045318, 7.27165835, 0.99774061, 0.99880739, 0.49311885],
++												 [	-6.27239821, -0.00073925, 0.00045307, 7.27165896, 0.99774115, 0.99880767, 0.49311891],
++												 [	-6.27239864, -0.00073908, 0.00045296, 7.27165956, 0.99774169, 0.99880796, 0.49311897],
++												 [	-6.27239906, -0.00073890, 0.00045286, 7.27166016, 0.99774223, 0.99880824, 0.49311905],
++												 [	-6.27239949, -0.00073872, 0.00045275, 7.27166077, 0.99774277, 0.99880853, 0.49311912],
++												 [	-6.27239992, -0.00073855, 0.00045264, 7.27166137, 0.99774331, 0.99880881, 0.49311918],
++												 [	-6.27240034, -0.00073837, 0.00045253, 7.27166197, 0.99774385, 0.99880910, 0.49311924],
++												 [	-6.27240077, -0.00073820, 0.00045242, 7.27166257, 0.99774439, 0.99880938, 0.49311929],
++												 [	-6.27240119, -0.00073802, 0.00045232, 7.27166317, 0.99774492, 0.99880966, 0.49311935],
++												 [	-6.27240162, -0.00073784, 0.00045221, 7.27166378, 0.99774546, 0.99880995, 0.49311941],
++												 [	-6.27240205, -0.00073767, 0.00045210, 7.27166438, 0.99774600, 0.99881023, 0.49311949],
++												 [	-6.27240247, -0.00073749, 0.00045199, 7.27166498, 0.99774654, 0.99881051, 0.49311956],
++												 [	-6.27240289, -0.00073732, 0.00045188, 7.27166558, 0.99774707, 0.99881080, 0.49311961],
++												 [	-6.27240332, -0.00073714, 0.00045178, 7.27166618, 0.99774761, 0.99881108, 0.49311968],
++												 [	-6.27240374, -0.00073697, 0.00045167, 7.27166678, 0.99774815, 0.99881136, 0.49311975],
++												 [	-6.27240417, -0.00073679, 0.00045156, 7.27166738, 0.99774868, 0.99881165, 0.49311980],
++												 [	-6.27240459, -0.00073662, 0.00045145, 7.27166798, 0.99774922, 0.99881193, 0.49311987],
++												 [	-6.27240502, -0.00073644, 0.00045135, 7.27166858, 0.99774976, 0.99881221, 0.49311992],
++												 [	-6.27240544, -0.00073626, 0.00045124, 7.27166917, 0.99775029, 0.99881250, 0.49312000],
++												 [	-6.27240586, -0.00073609, 0.00045113, 7.27166977, 0.99775083, 0.99881278, 0.49312006],
++												 [	-6.27240628, -0.00073591, 0.00045102, 7.27167037, 0.99775136, 0.99881306, 0.49312011],
++												 [	-6.27240671, -0.00073574, 0.00045092, 7.27167097, 0.99775190, 0.99881334, 0.49312017],
++												 [	-6.27240713, -0.00073556, 0.00045081, 7.27167157, 0.99775243, 0.99881362, 0.49312022],
++												 [	-6.27240755, -0.00073539, 0.00045070, 7.27167216, 0.99775297, 0.99881391, 0.49312031],
++												 [	-6.27240797, -0.00073522, 0.00045060, 7.27167276, 0.99775350, 0.99881419, 0.49312033],
++												 [	-6.27240840, -0.00073504, 0.00045049, 7.27167336, 0.99775403, 0.99881447, 0.49312043],
++												 [	-6.27240882, -0.00073487, 0.00045038, 7.27167395, 0.99775457, 0.99881475, 0.49312049],
++												 [	-6.27240924, -0.00073469, 0.00045027, 7.27167455, 0.99775510, 0.99881503, 0.49312054],
++												 [	-6.27240966, -0.00073452, 0.00045017, 7.27167514, 0.99775563, 0.99881531, 0.49312061],
++												 [	-6.27241008, -0.00073434, 0.00045006, 7.27167574, 0.99775617, 0.99881560, 0.49312068],
++												 [	-6.27241050, -0.00073417, 0.00044995, 7.27167633, 0.99775670, 0.99881588, 0.49312074],
++												 [	-6.27241092, -0.00073400, 0.00044985, 7.27167693, 0.99775723, 0.99881616, 0.49312080],
++												 [	-6.27241134, -0.00073382, 0.00044974, 7.27167752, 0.99775776, 0.99881644, 0.49312087],
++												 [	-6.27241176, -0.00073365, 0.00044963, 7.27167812, 0.99775829, 0.99881672, 0.49312093],
++												 [	-6.27241218, -0.00073347, 0.00044953, 7.27167871, 0.99775883, 0.99881700, 0.49312099],
++												 [	-6.27241260, -0.00073330, 0.00044942, 7.27167930, 0.99775936, 0.99881728, 0.49312106],
++												 [	-6.27241302, -0.00073313, 0.00044931, 7.27167990, 0.99775989, 0.99881756, 0.49312110],
++												 [	-6.27241344, -0.00073295, 0.00044921, 7.27168049, 0.99776042, 0.99881784, 0.49312117],
++												 [	-6.27241386, -0.00073278, 0.00044910, 7.27168108, 0.99776095, 0.99881812, 0.49312124],
++												 [	-6.27241428, -0.00073261, 0.00044899, 7.27168167, 0.99776148, 0.99881840, 0.49312129],
++												 [	-6.27241470, -0.00073243, 0.00044889, 7.27168227, 0.99776201, 0.99881868, 0.49312137],
++												 [	-6.27241512, -0.00073226, 0.00044878, 7.27168286, 0.99776254, 0.99881896, 0.49312141],
++												 [	-6.27241554, -0.00073209, 0.00044868, 7.27168345, 0.99776307, 0.99881924, 0.49312147],
++												 [	-6.27241595, -0.00073191, 0.00044857, 7.27168404, 0.99776360, 0.99881952, 0.49312156],
++												 [	-6.27241637, -0.00073174, 0.00044846, 7.27168463, 0.99776413, 0.99881980, 0.49312161],
++												 [	-6.27241679, -0.00073157, 0.00044836, 7.27168522, 0.99776466, 0.99882008, 0.49312166],
++												 [	-6.27241721, -0.00073139, 0.00044825, 7.27168581, 0.99776518, 0.99882035, 0.49312172],
++												 [	-6.27241762, -0.00073122, 0.00044815, 7.27168640, 0.99776571, 0.99882063, 0.49312178],
++												 [	-6.27241804, -0.00073105, 0.00044804, 7.27168699, 0.99776624, 0.99882091, 0.49312185],
++												 [	-6.27241846, -0.00073088, 0.00044793, 7.27168758, 0.99776677, 0.99882119, 0.49312193],
++												 [	-6.27241887, -0.00073070, 0.00044783, 7.27168817, 0.99776730, 0.99882147, 0.49312197],
++												 [	-6.27241929, -0.00073053, 0.00044772, 7.27168876, 0.99776782, 0.99882175, 0.49312203],
++												 [	-6.27241971, -0.00073036, 0.00044762, 7.27168935, 0.99776835, 0.99882202, 0.49312211],
++												 [	-6.27242012, -0.00073019, 0.00044751, 7.27168994, 0.99776888, 0.99882230, 0.49312215],
++												 [	-6.27242054, -0.00073001, 0.00044741, 7.27169052, 0.99776940, 0.99882258, 0.49312222],
++												 [	-6.27242095, -0.00072984, 0.00044730, 7.27169111, 0.99776993, 0.99882286, 0.49312230],
++												 [	-6.27242137, -0.00072967, 0.00044719, 7.27169170, 0.99777045, 0.99882314, 0.49312233],
++												 [	-6.27242178, -0.00072950, 0.00044709, 7.27169229, 0.99777098, 0.99882341, 0.49312241],
++												 [	-6.27242220, -0.00072933, 0.00044698, 7.27169287, 0.99777151, 0.99882369, 0.49312246],
++												 [	-6.27242261, -0.00072915, 0.00044688, 7.27169346, 0.99777203, 0.99882397, 0.49312253],
++												 [	-6.27242303, -0.00072898, 0.00044677, 7.27169405, 0.99777256, 0.99882424, 0.49312260],
++												 [	-6.27242344, -0.00072881, 0.00044667, 7.27169463, 0.99777308, 0.99882452, 0.49312265],
++												 [	-6.27242386, -0.00072864, 0.00044656, 7.27169522, 0.99777361, 0.99882480, 0.49312272],
++												 [	-6.27242427, -0.00072847, 0.00044646, 7.27169580, 0.99777413, 0.99882508, 0.49312276],
++												 [	-6.27242468, -0.00072830, 0.00044635, 7.27169639, 0.99777465, 0.99882535, 0.49312285],
++												 [	-6.27242510, -0.00072813, 0.00044625, 7.27169697, 0.99777518, 0.99882563, 0.49312291],
++												 [	-6.27242551, -0.00072795, 0.00044614, 7.27169756, 0.99777570, 0.99882590, 0.49312295],
++												 [	-6.27242592, -0.00072778, 0.00044604, 7.27169814, 0.99777622, 0.99882618, 0.49312303],
++												 [	-6.27242634, -0.00072761, 0.00044593, 7.27169872, 0.99777675, 0.99882646, 0.49312307],
++												 [	-6.27242675, -0.00072744, 0.00044583, 7.27169931, 0.99777727, 0.99882673, 0.49312312],
++												 [	-6.27242716, -0.00072727, 0.00044572, 7.27169989, 0.99777779, 0.99882701, 0.49312319],
++												 [	-6.27242757, -0.00072710, 0.00044562, 7.27170047, 0.99777831, 0.99882728, 0.49312326],
++												 [	-6.27242798, -0.00072693, 0.00044551, 7.27170106, 0.99777884, 0.99882756, 0.49312335],
++												 [	-6.27242840, -0.00072676, 0.00044541, 7.27170164, 0.99777936, 0.99882783, 0.49312338],
++												 [	-6.27242881, -0.00072659, 0.00044530, 7.27170222, 0.99777988, 0.99882811, 0.49312345],
++												 [	-6.27242922, -0.00072642, 0.00044520, 7.27170280, 0.99778040, 0.99882838, 0.49312349],
++												 [	-6.27242963, -0.00072625, 0.00044509, 7.27170338, 0.99778092, 0.99882866, 0.49312358],
++												 [	-6.27243004, -0.00072608, 0.00044499, 7.27170397, 0.99778144, 0.99882893, 0.49312364],
++												 [	-6.27243045, -0.00072591, 0.00044488, 7.27170455, 0.99778196, 0.99882921, 0.49312368],
++												 [	-6.27243086, -0.00072574, 0.00044478, 7.27170513, 0.99778248, 0.99882948, 0.49312376],
++												 [	-6.27243127, -0.00072557, 0.00044468, 7.27170571, 0.99778300, 0.99882976, 0.49312381],
++												 [	-6.27243168, -0.00072540, 0.00044457, 7.27170629, 0.99778352, 0.99883003, 0.49312388],
++												 [	-6.27243209, -0.00072523, 0.00044447, 7.27170687, 0.99778404, 0.99883031, 0.49312394],
++												 [	-6.27243250, -0.00072506, 0.00044436, 7.27170745, 0.99778456, 0.99883058, 0.49312397],
++												 [	-6.27243291, -0.00072489, 0.00044426, 7.27170803, 0.99778508, 0.99883086, 0.49312405],
++												 [	-6.27243332, -0.00072472, 0.00044416, 7.27170860, 0.99778560, 0.99883113, 0.49312410],
++												 [	-6.27243373, -0.00072455, 0.00044405, 7.27170918, 0.99778612, 0.99883140, 0.49312419],
++												 [	-6.27243414, -0.00072438, 0.00044395, 7.27170976, 0.99778664, 0.99883168, 0.49312424],
++												 [	-6.27243455, -0.00072421, 0.00044384, 7.27171034, 0.99778716, 0.99883195, 0.49312429],
++												 [	-6.27243496, -0.00072404, 0.00044374, 7.27171092, 0.99778767, 0.99883222, 0.49312436],
++												 [	-6.27243536, -0.00072387, 0.00044364, 7.27171150, 0.99778819, 0.99883250, 0.49312441],
++												 [	-6.27243577, -0.00072370, 0.00044353, 7.27171207, 0.99778871, 0.99883277, 0.49312447],
++												 [	-6.27243618, -0.00072353, 0.00044343, 7.27171265, 0.99778923, 0.99883304, 0.49312454],
++												 [	-6.27243659, -0.00072336, 0.00044332, 7.27171323, 0.99778974, 0.99883331, 0.49312460],
++												 [	-6.27243700, -0.00072319, 0.00044322, 7.27171380, 0.99779026, 0.99883359, 0.49312464],
++												 [	-6.27243740, -0.00072302, 0.00044312, 7.27171438, 0.99779078, 0.99883386, 0.49312471],
++												 [	-6.27243781, -0.00072285, 0.00044301, 7.27171495, 0.99779129, 0.99883413, 0.49312476],
++												 [	-6.27243822, -0.00072269, 0.00044291, 7.27171553, 0.99779181, 0.99883440, 0.49312483],
++												 [	-6.27243862, -0.00072252, 0.00044281, 7.27171611, 0.99779232, 0.99883468, 0.49312489],
++												 [	-6.27243903, -0.00072235, 0.00044270, 7.27171668, 0.99779284, 0.99883495, 0.49312495],
++												 [	-6.27243944, -0.00072218, 0.00044260, 7.27171726, 0.99779336, 0.99883522, 0.49312500],
++												 [	-6.27243984, -0.00072201, 0.00044250, 7.27171783, 0.99779387, 0.99883549, 0.49312508],
++												 [	-6.27244025, -0.00072184, 0.00044239, 7.27171840, 0.99779438, 0.99883576, 0.49312514],
++												 [	-6.27244065, -0.00072167, 0.00044229, 7.27171898, 0.99779490, 0.99883604, 0.49312518],
++												 [	-6.27244106, -0.00072151, 0.00044219, 7.27171955, 0.99779541, 0.99883631, 0.49312525],
++												 [	-6.27244146, -0.00072134, 0.00044208, 7.27172012, 0.99779593, 0.99883658, 0.49312531],
++												 [	-6.27244187, -0.00072117, 0.00044198, 7.27172070, 0.99779644, 0.99883685, 0.49312537],
++												 [	-6.27244227, -0.00072100, 0.00044188, 7.27172127, 0.99779696, 0.99883712, 0.49312544],
++												 [	-6.27244268, -0.00072083, 0.00044177, 7.27172184, 0.99779747, 0.99883739, 0.49312550],
++												 [	-6.27244308, -0.00072067, 0.00044167, 7.27172242, 0.99779798, 0.99883766, 0.49312555],
++												 [	-6.27244349, -0.00072050, 0.00044157, 7.27172299, 0.99779849, 0.99883793, 0.49312563],
++												 [	-6.27244389, -0.00072033, 0.00044147, 7.27172356, 0.99779901, 0.99883820, 0.49312567],
++												 [	-6.27244429, -0.00072016, 0.00044136, 7.27172413, 0.99779952, 0.99883847, 0.49312573],
++												 [	-6.27244470, -0.00072000, 0.00044126, 7.27172470, 0.99780003, 0.99883874, 0.49312578],
++												 [	-6.27244510, -0.00071983, 0.00044116, 7.27172527, 0.99780054, 0.99883901, 0.49312585],
++												 [	-6.27244550, -0.00071966, 0.00044105, 7.27172584, 0.99780105, 0.99883928, 0.49312592],
++												 [	-6.27244591, -0.00071949, 0.00044095, 7.27172641, 0.99780157, 0.99883955, 0.49312598],
++												 [	-6.27244631, -0.00071933, 0.00044085, 7.27172698, 0.99780208, 0.99883982, 0.49312604],
++												 [	-6.27244671, -0.00071916, 0.00044075, 7.27172755, 0.99780259, 0.99884009, 0.49312608],
++												 [	-6.27244712, -0.00071899, 0.00044064, 7.27172812, 0.99780310, 0.99884036, 0.49312614],
++												 [	-6.27244752, -0.00071883, 0.00044054, 7.27172869, 0.99780361, 0.99884063, 0.49312622],
++												 [	-6.27244792, -0.00071866, 0.00044044, 7.27172926, 0.99780412, 0.99884090, 0.49312626],
++												 [	-6.27244832, -0.00071849, 0.00044034, 7.27172983, 0.99780463, 0.99884117, 0.49312632],
++												 [	-6.27244872, -0.00071833, 0.00044024, 7.27173040, 0.99780514, 0.99884144, 0.49312638],
++												 [	-6.27244912, -0.00071816, 0.00044013, 7.27173097, 0.99780565, 0.99884171, 0.49312645],
++												 [	-6.27244953, -0.00071799, 0.00044003, 7.27173153, 0.99780616, 0.99884198, 0.49312649],
++												 [	-6.27244993, -0.00071783, 0.00043993, 7.27173210, 0.99780667, 0.99884225, 0.49312657],
++												 [	-6.27245033, -0.00071766, 0.00043983, 7.27173267, 0.99780718, 0.99884251, 0.49312664],
++												 [	-6.27245073, -0.00071749, 0.00043972, 7.27173323, 0.99780768, 0.99884278, 0.49312669],
++												 [	-6.27245113, -0.00071733, 0.00043962, 7.27173380, 0.99780819, 0.99884305, 0.49312674],
++												 [	-6.27245153, -0.00071716, 0.00043952, 7.27173437, 0.99780870, 0.99884332, 0.49312680],
++												 [	-6.27245193, -0.00071699, 0.00043942, 7.27173493, 0.99780921, 0.99884359, 0.49312685],
++												 [	-6.27245233, -0.00071683, 0.00043932, 7.27173550, 0.99780972, 0.99884385, 0.49312691],
++												 [	-6.27245273, -0.00071666, 0.00043922, 7.27173607, 0.99781022, 0.99884412, 0.49312701],
++												 [	-6.27245313, -0.00071650, 0.00043911, 7.27173663, 0.99781073, 0.99884439, 0.49312703],
++												 [	-6.27245353, -0.00071633, 0.00043901, 7.27173720, 0.99781124, 0.99884466, 0.49312710],
++												 [	-6.27245393, -0.00071617, 0.00043891, 7.27173776, 0.99781174, 0.99884492, 0.49312716],
++												 [	-6.27245432, -0.00071600, 0.00043881, 7.27173833, 0.99781225, 0.99884519, 0.49312722],
++												 [	-6.27245472, -0.00071583, 0.00043871, 7.27173889, 0.99781276, 0.99884546, 0.49312728],
++												 [	-6.27245512, -0.00071567, 0.00043861, 7.27173945, 0.99781326, 0.99884573, 0.49312736],
++												 [	-6.27245552, -0.00071550, 0.00043850, 7.27174002, 0.99781377, 0.99884599, 0.49312741],
++												 [	-6.27245592, -0.00071534, 0.00043840, 7.27174058, 0.99781427, 0.99884626, 0.49312745],
++												 [	-6.27245632, -0.00071517, 0.00043830, 7.27174114, 0.99781478, 0.99884653, 0.49312752],
++												 [	-6.27245671, -0.00071501, 0.00043820, 7.27174171, 0.99781528, 0.99884679, 0.49312756],
++												 [	-6.27245711, -0.00071484, 0.00043810, 7.27174227, 0.99781579, 0.99884706, 0.49312763],
++												 [	-6.27245751, -0.00071468, 0.00043800, 7.27174283, 0.99781629, 0.99884733, 0.49312770],
++												 [	-6.27245791, -0.00071451, 0.00043790, 7.27174339, 0.99781680, 0.99884759, 0.49312773],
++												 [	-6.27245830, -0.00071435, 0.00043779, 7.27174396, 0.99781730, 0.99884786, 0.49312781],
++												 [	-6.27245870, -0.00071418, 0.00043769, 7.27174452, 0.99781781, 0.99884812, 0.49312788],
++												 [	-6.27245910, -0.00071402, 0.00043759, 7.27174508, 0.99781831, 0.99884839, 0.49312794],
++												 [	-6.27245949, -0.00071385, 0.00043749, 7.27174564, 0.99781881, 0.99884866, 0.49312798],
++												 [	-6.27245989, -0.00071369, 0.00043739, 7.27174620, 0.99781932, 0.99884892, 0.49312802],
++												 [	-6.27246028, -0.00071352, 0.00043729, 7.27174676, 0.99781982, 0.99884919, 0.49312810],
++												 [	-6.27246068, -0.00071336, 0.00043719, 7.27174732, 0.99782032, 0.99884945, 0.49312816],
++												 [	-6.27246108, -0.00071320, 0.00043709, 7.27174788, 0.99782083, 0.99884972, 0.49312820],
++												 [	-6.27246147, -0.00071303, 0.00043699, 7.27174844, 0.99782133, 0.99884998, 0.49312828],
++												 [	-6.27246187, -0.00071287, 0.00043689, 7.27174900, 0.99782183, 0.99885025, 0.49312834],
++												 [	-6.27246226, -0.00071270, 0.00043679, 7.27174956, 0.99782233, 0.99885051, 0.49312839],
++												 [	-6.27246266, -0.00071254, 0.00043669, 7.27175012, 0.99782283, 0.99885078, 0.49312847],
++												 [	-6.27246305, -0.00071237, 0.00043658, 7.27175068, 0.99782333, 0.99885104, 0.49312849],
++												 [	-6.27246345, -0.00071221, 0.00043648, 7.27175123, 0.99782384, 0.99885131, 0.49312857],
++												 [	-6.27246384, -0.00071205, 0.00043638, 7.27175179, 0.99782434, 0.99885157, 0.49312862],
++												 [	-6.27246423, -0.00071188, 0.00043628, 7.27175235, 0.99782484, 0.99885183, 0.49312870],
++												 [	-6.27246463, -0.00071172, 0.00043618, 7.27175291, 0.99782534, 0.99885210, 0.49312875],
++												 [	-6.27246502, -0.00071156, 0.00043608, 7.27175347, 0.99782584, 0.99885236, 0.49312878],
++												 [	-6.27246541, -0.00071139, 0.00043598, 7.27175402, 0.99782634, 0.99885263, 0.49312886],
++												 [	-6.27246581, -0.00071123, 0.00043588, 7.27175458, 0.99782684, 0.99885289, 0.49312892],
++												 [	-6.27246620, -0.00071107, 0.00043578, 7.27175514, 0.99782734, 0.99885315, 0.49312899],
++												 [	-6.27246659, -0.00071090, 0.00043568, 7.27175569, 0.99782784, 0.99885342, 0.49312906],
++												 [	-6.27246699, -0.00071074, 0.00043558, 7.27175625, 0.99782833, 0.99885368, 0.49312908],
++												 [	-6.27246738, -0.00071058, 0.00043548, 7.27175680, 0.99782883, 0.99885394, 0.49312914],
++												 [	-6.27246777, -0.00071041, 0.00043538, 7.27175736, 0.99782933, 0.99885421, 0.49312922],
++												 [	-6.27246816, -0.00071025, 0.00043528, 7.27175791, 0.99782983, 0.99885447, 0.49312926],
++												 [	-6.27246856, -0.00071009, 0.00043518, 7.27175847, 0.99783033, 0.99885473, 0.49312934],
++												 [	-6.27246895, -0.00070992, 0.00043508, 7.27175902, 0.99783083, 0.99885499, 0.49312938],
++												 [	-6.27246934, -0.00070976, 0.00043498, 7.27175958, 0.99783132, 0.99885526, 0.49312944],
++												 [	-6.27246973, -0.00070960, 0.00043488, 7.27176013, 0.99783182, 0.99885552, 0.49312948],
++												 [	-6.27247012, -0.00070944, 0.00043478, 7.27176069, 0.99783232, 0.99885578, 0.49312957],
++												 [	-6.27247051, -0.00070927, 0.00043468, 7.27176124, 0.99783282, 0.99885604, 0.49312962],
++												 [	-6.27247090, -0.00070911, 0.00043458, 7.27176179, 0.99783331, 0.99885631, 0.49312968],
++												 [	-6.27247129, -0.00070895, 0.00043448, 7.27176235, 0.99783381, 0.99885657, 0.49312972],
++												 [	-6.27247168, -0.00070879, 0.00043438, 7.27176290, 0.99783431, 0.99885683, 0.49312980],
++												 [	-6.27247207, -0.00070862, 0.00043428, 7.27176345, 0.99783480, 0.99885709, 0.49312985],
++												 [	-6.27247246, -0.00070846, 0.00043418, 7.27176400, 0.99783530, 0.99885735, 0.49312992],
++												 [	-6.27247285, -0.00070830, 0.00043409, 7.27176456, 0.99783579, 0.99885762, 0.49312999],
++												 [	-6.27247324, -0.00070814, 0.00043399, 7.27176511, 0.99783629, 0.99885788, 0.49313003],
++												 [	-6.27247363, -0.00070798, 0.00043389, 7.27176566, 0.99783678, 0.99885814, 0.49313009],
++												 [	-6.27247402, -0.00070781, 0.00043379, 7.27176621, 0.99783728, 0.99885840, 0.49313014],
++												 [	-6.27247441, -0.00070765, 0.00043369, 7.27176676, 0.99783777, 0.99885866, 0.49313021],
++												 [	-6.27247480, -0.00070749, 0.00043359, 7.27176731, 0.99783827, 0.99885892, 0.49313025],
++												 [	-6.27247519, -0.00070733, 0.00043349, 7.27176786, 0.99783876, 0.99885918, 0.49313031],
++												 [	-6.27247558, -0.00070717, 0.00043339, 7.27176841, 0.99783926, 0.99885944, 0.49313036],
++												 [	-6.27247597, -0.00070701, 0.00043329, 7.27176896, 0.99783975, 0.99885970, 0.49313043],
++												 [	-6.27247636, -0.00070684, 0.00043319, 7.27176951, 0.99784024, 0.99885996, 0.49313047],
++												 [	-6.27247674, -0.00070668, 0.00043309, 7.27177006, 0.99784074, 0.99886022, 0.49313056],
++												 [	-6.27247713, -0.00070652, 0.00043299, 7.27177061, 0.99784123, 0.99886048, 0.49313062],
++												 [	-6.27247752, -0.00070636, 0.00043290, 7.27177116, 0.99784172, 0.99886074, 0.49313067],
++												 [	-6.27247791, -0.00070620, 0.00043280, 7.27177171, 0.99784222, 0.99886100, 0.49313072],
++												 [	-6.27247829, -0.00070604, 0.00043270, 7.27177226, 0.99784271, 0.99886126, 0.49313077],
++												 [	-6.27247868, -0.00070588, 0.00043260, 7.27177280, 0.99784320, 0.99886152, 0.49313084],
++												 [	-6.27247907, -0.00070572, 0.00043250, 7.27177335, 0.99784369, 0.99886178, 0.49313089],
++												 [	-6.27247945, -0.00070556, 0.00043240, 7.27177390, 0.99784418, 0.99886204, 0.49313094],
++												 [	-6.27247984, -0.00070539, 0.00043230, 7.27177445, 0.99784468, 0.99886230, 0.49313101],
++												 [	-6.27248023, -0.00070523, 0.00043220, 7.27177499, 0.99784517, 0.99886256, 0.49313105],
++												 [	-6.27248061, -0.00070507, 0.00043211, 7.27177554, 0.99784566, 0.99886282, 0.49313111],
++												 [	-6.27248100, -0.00070491, 0.00043201, 7.27177609, 0.99784615, 0.99886308, 0.49313117],
++												 [	-6.27248139, -0.00070475, 0.00043191, 7.27177663, 0.99784664, 0.99886334, 0.49313123],
++												 [	-6.27248177, -0.00070459, 0.00043181, 7.27177718, 0.99784713, 0.99886360, 0.49313129],
++												 [	-6.27248216, -0.00070443, 0.00043171, 7.27177773, 0.99784762, 0.99886386, 0.49313133],
++												 [	-6.27248254, -0.00070427, 0.00043161, 7.27177827, 0.99784811, 0.99886411, 0.49313142],
++												 [	-6.27248293, -0.00070411, 0.00043152, 7.27177882, 0.99784860, 0.99886437, 0.49313147],
++												 [	-6.27248331, -0.00070395, 0.00043142, 7.27177936, 0.99784909, 0.99886463, 0.49313152],
++												 [	-6.27248370, -0.00070379, 0.00043132, 7.27177991, 0.99784958, 0.99886489, 0.49313157],
++												 [	-6.27248408, -0.00070363, 0.00043122, 7.27178045, 0.99785007, 0.99886515, 0.49313161],
++												 [	-6.27248447, -0.00070347, 0.00043112, 7.27178099, 0.99785056, 0.99886541, 0.49313168],
++												 [	-6.27248485, -0.00070331, 0.00043103, 7.27178154, 0.99785104, 0.99886566, 0.49313174],
++												 [	-6.27248523, -0.00070315, 0.00043093, 7.27178208, 0.99785153, 0.99886592, 0.49313183],
++												 [	-6.27248562, -0.00070299, 0.00043083, 7.27178263, 0.99785202, 0.99886618, 0.49313186],
++												 [	-6.27248600, -0.00070283, 0.00043073, 7.27178317, 0.99785251, 0.99886644, 0.49313191],
++												 [	-6.27248638, -0.00070267, 0.00043063, 7.27178371, 0.99785300, 0.99886669, 0.49313198],
++												 [	-6.27248677, -0.00070251, 0.00043054, 7.27178425, 0.99785348, 0.99886695, 0.49313204],
++												 [	-6.27248715, -0.00070235, 0.00043044, 7.27178480, 0.99785397, 0.99886721, 0.49313208],
++												 [	-6.27248753, -0.00070219, 0.00043034, 7.27178534, 0.99785446, 0.99886747, 0.49313214],
++												 [	-6.27248792, -0.00070203, 0.00043024, 7.27178588, 0.99785495, 0.99886772, 0.49313220],
++												 [	-6.27248830, -0.00070188, 0.00043014, 7.27178642, 0.99785543, 0.99886798, 0.49313224],
++												 [	-6.27248868, -0.00070172, 0.00043005, 7.27178696, 0.99785592, 0.99886824, 0.49313233],
++												 [	-6.27248906, -0.00070156, 0.00042995, 7.27178751, 0.99785641, 0.99886849, 0.49313235],
++												 [	-6.27248945, -0.00070140, 0.00042985, 7.27178805, 0.99785689, 0.99886875, 0.49313243],
++												 [	-6.27248983, -0.00070124, 0.00042975, 7.27178859, 0.99785738, 0.99886901, 0.49313250],
++												 [	-6.27249021, -0.00070108, 0.00042966, 7.27178913, 0.99785786, 0.99886926, 0.49313254],
++												 [	-6.27249059, -0.00070092, 0.00042956, 7.27178967, 0.99785835, 0.99886952, 0.49313259],
++												 [	-6.27249097, -0.00070076, 0.00042946, 7.27179021, 0.99785883, 0.99886977, 0.49313265],
++												 [	-6.27249135, -0.00070060, 0.00042937, 7.27179075, 0.99785932, 0.99887003, 0.49313270],
++												 [	-6.27249173, -0.00070045, 0.00042927, 7.27179129, 0.99785980, 0.99887029, 0.49313277],
++												 [	-6.27249211, -0.00070029, 0.00042917, 7.27179183, 0.99786029, 0.99887054, 0.49313282],
++												 [	-6.27249250, -0.00070013, 0.00042907, 7.27179237, 0.99786077, 0.99887080, 0.49313289],
++												 [	-6.27249288, -0.00069997, 0.00042898, 7.27179290, 0.99786126, 0.99887105, 0.49313291],
++												 [	-6.27249326, -0.00069981, 0.00042888, 7.27179344, 0.99786174, 0.99887131, 0.49313301],
++												 [	-6.27249364, -0.00069965, 0.00042878, 7.27179398, 0.99786222, 0.99887156, 0.49313305],
++												 [	-6.27249402, -0.00069950, 0.00042869, 7.27179452, 0.99786271, 0.99887182, 0.49313311],
++												 [	-6.27249440, -0.00069934, 0.00042859, 7.27179506, 0.99786319, 0.99887207, 0.49313316],
++												 [	-6.27249477, -0.00069918, 0.00042849, 7.27179559, 0.99786367, 0.99887233, 0.49313322],
++												 [	-6.27249515, -0.00069902, 0.00042840, 7.27179613, 0.99786415, 0.99887258, 0.49313329],
++												 [	-6.27249553, -0.00069887, 0.00042830, 7.27179667, 0.99786464, 0.99887284, 0.49313333],
++												 [	-6.27249591, -0.00069871, 0.00042820, 7.27179720, 0.99786512, 0.99887309, 0.49313340],
++												 [	-6.27249629, -0.00069855, 0.00042810, 7.27179774, 0.99786560, 0.99887335, 0.49313343],
++												 [	-6.27249667, -0.00069839, 0.00042801, 7.27179828, 0.99786608, 0.99887360, 0.49313349],
++												 [	-6.27249705, -0.00069823, 0.00042791, 7.27179881, 0.99786656, 0.99887385, 0.49313355],
++												 [	-6.27249743, -0.00069808, 0.00042781, 7.27179935, 0.99786705, 0.99887411, 0.49313361],
++												 [	-6.27249780, -0.00069792, 0.00042772, 7.27179988, 0.99786753, 0.99887436, 0.49313365],
++												 [	-6.27249818, -0.00069776, 0.00042762, 7.27180042, 0.99786801, 0.99887462, 0.49313373],
++												 [	-6.27249856, -0.00069761, 0.00042753, 7.27180095, 0.99786849, 0.99887487, 0.49313378],
++												 [	-6.27249894, -0.00069745, 0.00042743, 7.27180149, 0.99786897, 0.99887512, 0.49313382],
++												 [	-6.27249931, -0.00069729, 0.00042733, 7.27180202, 0.99786945, 0.99887538, 0.49313387],
++												 [	-6.27249969, -0.00069713, 0.00042724, 7.27180256, 0.99786993, 0.99887563, 0.49313395],
++												 [	-6.27250007, -0.00069698, 0.00042714, 7.27180309, 0.99787041, 0.99887588, 0.49313401],
++												 [	-6.27250045, -0.00069682, 0.00042704, 7.27180363, 0.99787089, 0.99887614, 0.49313405],
++												 [	-6.27250082, -0.00069666, 0.00042695, 7.27180416, 0.99787137, 0.99887639, 0.49313411],
++												 [	-6.27250120, -0.00069651, 0.00042685, 7.27180469, 0.99787185, 0.99887664, 0.49313417],
++												 [	-6.27250158, -0.00069635, 0.00042676, 7.27180523, 0.99787233, 0.99887689, 0.49313425],
++												 [	-6.27250195, -0.00069619, 0.00042666, 7.27180576, 0.99787281, 0.99887715, 0.49313428],
++												 [	-6.27250233, -0.00069604, 0.00042656, 7.27180629, 0.99787328, 0.99887740, 0.49313433],
++												 [	-6.27250270, -0.00069588, 0.00042647, 7.27180682, 0.99787376, 0.99887765, 0.49313436],
++												 [	-6.27250308, -0.00069572, 0.00042637, 7.27180736, 0.99787424, 0.99887790, 0.49313447],
++												 [	-6.27250345, -0.00069557, 0.00042628, 7.27180789, 0.99787472, 0.99887816, 0.49313453],
++												 [	-6.27250383, -0.00069541, 0.00042618, 7.27180842, 0.99787520, 0.99887841, 0.49313456],
++												 [	-6.27250420, -0.00069525, 0.00042608, 7.27180895, 0.99787567, 0.99887866, 0.49313463],
++												 [	-6.27250458, -0.00069510, 0.00042599, 7.27180948, 0.99787615, 0.99887891, 0.49313466],
++												 [	-6.27250495, -0.00069494, 0.00042589, 7.27181001, 0.99787663, 0.99887916, 0.49313471],
++												 [	-6.27250533, -0.00069479, 0.00042580, 7.27181054, 0.99787711, 0.99887942, 0.49313478],
++												 [	-6.27250570, -0.00069463, 0.00042570, 7.27181107, 0.99787758, 0.99887967, 0.49313484],
++												 [	-6.27250608, -0.00069447, 0.00042561, 7.27181160, 0.99787806, 0.99887992, 0.49313489],
++												 [	-6.27250645, -0.00069432, 0.00042551, 7.27181213, 0.99787854, 0.99888017, 0.49313499],
++												 [	-6.27250683, -0.00069416, 0.00042541, 7.27181266, 0.99787901, 0.99888042, 0.49313500],
++												 [	-6.27250720, -0.00069401, 0.00042532, 7.27181319, 0.99787949, 0.99888067, 0.49313506],
++												 [	-6.27250757, -0.00069385, 0.00042522, 7.27181372, 0.99787996, 0.99888092, 0.49313510],
++												 [	-6.27250795, -0.00069370, 0.00042513, 7.27181425, 0.99788044, 0.99888117, 0.49313518],
++												 [	-6.27250832, -0.00069354, 0.00042503, 7.27181478, 0.99788091, 0.99888143, 0.49313523],
++												 [	-6.27250869, -0.00069339, 0.00042494, 7.27181531, 0.99788139, 0.99888168, 0.49313528],
++												 [	-6.27250906, -0.00069323, 0.00042484, 7.27181583, 0.99788186, 0.99888193, 0.49313532],
++												 [	-6.27250944, -0.00069308, 0.00042475, 7.27181636, 0.99788234, 0.99888218, 0.49313537],
++												 [	-6.27250981, -0.00069292, 0.00042465, 7.27181689, 0.99788281, 0.99888243, 0.49313545],
++												 [	-6.27251018, -0.00069277, 0.00042456, 7.27181742, 0.99788329, 0.99888268, 0.49313551],
++												 [	-6.27251055, -0.00069261, 0.00042446, 7.27181794, 0.99788376, 0.99888293, 0.49313557],
++												 [	-6.27251093, -0.00069246, 0.00042437, 7.27181847, 0.99788423, 0.99888318, 0.49313560],
++												 [	-6.27251130, -0.00069230, 0.00042427, 7.27181900, 0.99788471, 0.99888343, 0.49313566],
++												 [	-6.27251167, -0.00069215, 0.00042418, 7.27181952, 0.99788518, 0.99888368, 0.49313574],
++												 [	-6.27251204, -0.00069199, 0.00042408, 7.27182005, 0.99788565, 0.99888393, 0.49313579],
++												 [	-6.27251241, -0.00069184, 0.00042399, 7.27182058, 0.99788613, 0.99888418, 0.49313583],
++												 [	-6.27251278, -0.00069168, 0.00042389, 7.27182110, 0.99788660, 0.99888443, 0.49313587],
++												 [	-6.27251315, -0.00069153, 0.00042380, 7.27182163, 0.99788707, 0.99888468, 0.49313593],
++												 [	-6.27251353, -0.00069137, 0.00042370, 7.27182215, 0.99788754, 0.99888492, 0.49313600],
++												 [	-6.27251390, -0.00069122, 0.00042361, 7.27182268, 0.99788801, 0.99888517, 0.49313604],
++												 [	-6.27251427, -0.00069106, 0.00042351, 7.27182320, 0.99788849, 0.99888542, 0.49313613],
++												 [	-6.27251464, -0.00069091, 0.00042342, 7.27182373, 0.99788896, 0.99888567, 0.49313616],
++												 [	-6.27251501, -0.00069076, 0.00042332, 7.27182425, 0.99788943, 0.99888592, 0.49313621],
++												 [	-6.27251538, -0.00069060, 0.00042323, 7.27182478, 0.99788990, 0.99888617, 0.49313628],
++												 [	-6.27251575, -0.00069045, 0.00042314, 7.27182530, 0.99789037, 0.99888642, 0.49313634],
++												 [	-6.27251612, -0.00069029, 0.00042304, 7.27182582, 0.99789084, 0.99888667, 0.49313637],
++												 [	-6.27251649, -0.00069014, 0.00042295, 7.27182635, 0.99789131, 0.99888691, 0.49313644],
++												 [	-6.27251685, -0.00068999, 0.00042285, 7.27182687, 0.99789178, 0.99888716, 0.49313651],
++												 [	-6.27251722, -0.00068983, 0.00042276, 7.27182739, 0.99789225, 0.99888741, 0.49313656],
++												 [	-6.27251759, -0.00068968, 0.00042266, 7.27182791, 0.99789272, 0.99888766, 0.49313664],
++												 [	-6.27251796, -0.00068952, 0.00042257, 7.27182844, 0.99789319, 0.99888791, 0.49313666],
++												 [	-6.27251833, -0.00068937, 0.00042248, 7.27182896, 0.99789366, 0.99888815, 0.49313670],
++												 [	-6.27251870, -0.00068922, 0.00042238, 7.27182948, 0.99789413, 0.99888840, 0.49313677],
++												 [	-6.27251907, -0.00068906, 0.00042229, 7.27183000, 0.99789460, 0.99888865, 0.49313683],
++												 [	-6.27251943, -0.00068891, 0.00042219, 7.27183052, 0.99789507, 0.99888890, 0.49313687],
++												 [	-6.27251980, -0.00068876, 0.00042210, 7.27183104, 0.99789554, 0.99888914, 0.49313691],
++												 [	-6.27252017, -0.00068860, 0.00042200, 7.27183157, 0.99789601, 0.99888939, 0.49313700],
++												 [	-6.27252054, -0.00068845, 0.00042191, 7.27183209, 0.99789647, 0.99888964, 0.49313706],
++												 [	-6.27252091, -0.00068830, 0.00042182, 7.27183261, 0.99789694, 0.99888988, 0.49313707],
++												 [	-6.27252127, -0.00068815, 0.00042172, 7.27183313, 0.99789741, 0.99889013, 0.49313711],
++												 [	-6.27252164, -0.00068799, 0.00042163, 7.27183365, 0.99789788, 0.99889038, 0.49313720],
++												 [	-6.27252201, -0.00068784, 0.00042154, 7.27183417, 0.99789835, 0.99889062, 0.49313727],
++												 [	-6.27252237, -0.00068769, 0.00042144, 7.27183469, 0.99789881, 0.99889087, 0.49313733],
++												 [	-6.27252274, -0.00068753, 0.00042135, 7.27183521, 0.99789928, 0.99889112, 0.49313737],
++												 [	-6.27252311, -0.00068738, 0.00042125, 7.27183572, 0.99789975, 0.99889136, 0.49313744],
++												 [	-6.27252347, -0.00068723, 0.00042116, 7.27183624, 0.99790021, 0.99889161, 0.49313749],
++												 [	-6.27252384, -0.00068708, 0.00042107, 7.27183676, 0.99790068, 0.99889186, 0.49313754],
++												 [	-6.27252420, -0.00068692, 0.00042097, 7.27183728, 0.99790115, 0.99889210, 0.49313760],
++												 [	-6.27252457, -0.00068677, 0.00042088, 7.27183780, 0.99790161, 0.99889235, 0.49313767],
++												 [	-6.27252494, -0.00068662, 0.00042079, 7.27183832, 0.99790208, 0.99889259, 0.49313771],
++												 [	-6.27252530, -0.00068647, 0.00042069, 7.27183883, 0.99790254, 0.99889284, 0.49313775],
++												 [	-6.27252567, -0.00068631, 0.00042060, 7.27183935, 0.99790301, 0.99889309, 0.49313782],
++												 [	-6.27252603, -0.00068616, 0.00042051, 7.27183987, 0.99790347, 0.99889333, 0.49313786],
++												 [	-6.27252640, -0.00068601, 0.00042041, 7.27184039, 0.99790394, 0.99889358, 0.49313791],
++												 [	-6.27252676, -0.00068586, 0.00042032, 7.27184090, 0.99790440, 0.99889382, 0.49313797],
++												 [	-6.27252712, -0.00068571, 0.00042023, 7.27184142, 0.99790487, 0.99889407, 0.49313801],
++												 [	-6.27252749, -0.00068555, 0.00042013, 7.27184193, 0.99790533, 0.99889431, 0.49313810],
++												 [	-6.27252785, -0.00068540, 0.00042004, 7.27184245, 0.99790579, 0.99889456, 0.49313815],
++												 [	-6.27252822, -0.00068525, 0.00041995, 7.27184297, 0.99790626, 0.99889480, 0.49313818],
++												 [	-6.27252858, -0.00068510, 0.00041985, 7.27184348, 0.99790672, 0.99889505, 0.49313824],
++												 [	-6.27252895, -0.00068495, 0.00041976, 7.27184400, 0.99790719, 0.99889529, 0.49313828],
++												 [	-6.27252931, -0.00068480, 0.00041967, 7.27184451, 0.99790765, 0.99889553, 0.49313835],
++												 [	-6.27252967, -0.00068464, 0.00041958, 7.27184503, 0.99790811, 0.99889578, 0.49313842],
++												 [	-6.27253004, -0.00068449, 0.00041948, 7.27184554, 0.99790857, 0.99889602, 0.49313845],
++												 [	-6.27253040, -0.00068434, 0.00041939, 7.27184606, 0.99790904, 0.99889627, 0.49313853],
++												 [	-6.27253076, -0.00068419, 0.00041930, 7.27184657, 0.99790950, 0.99889651, 0.49313854],
++												 [	-6.27253112, -0.00068404, 0.00041920, 7.27184708, 0.99790996, 0.99889676, 0.49313861],
++												 [	-6.27253149, -0.00068389, 0.00041911, 7.27184760, 0.99791042, 0.99889700, 0.49313867],
++												 [	-6.27253185, -0.00068374, 0.00041902, 7.27184811, 0.99791089, 0.99889724, 0.49313874],
++												 [	-6.27253221, -0.00068359, 0.00041893, 7.27184862, 0.99791135, 0.99889749, 0.49313876],
++												 [	-6.27253257, -0.00068344, 0.00041883, 7.27184914, 0.99791181, 0.99889773, 0.49313881],
++												 [	-6.27253293, -0.00068328, 0.00041874, 7.27184965, 0.99791227, 0.99889797, 0.49313886],
++												 [	-6.27253330, -0.00068313, 0.00041865, 7.27185016, 0.99791273, 0.99889822, 0.49313893],
++												 [	-6.27253366, -0.00068298, 0.00041856, 7.27185068, 0.99791319, 0.99889846, 0.49313897],
++												 [	-6.27253402, -0.00068283, 0.00041846, 7.27185119, 0.99791365, 0.99889870, 0.49313904],
++												 [	-6.27253438, -0.00068268, 0.00041837, 7.27185170, 0.99791411, 0.99889895, 0.49313909],
++												 [	-6.27253474, -0.00068253, 0.00041828, 7.27185221, 0.99791457, 0.99889919, 0.49313915],
++												 [	-6.27253510, -0.00068238, 0.00041819, 7.27185272, 0.99791503, 0.99889943, 0.49313920],
++												 [	-6.27253546, -0.00068223, 0.00041810, 7.27185323, 0.99791549, 0.99889967, 0.49313924],
++												 [	-6.27253582, -0.00068208, 0.00041800, 7.27185374, 0.99791595, 0.99889992, 0.49313932],
++												 [	-6.27253618, -0.00068193, 0.00041791, 7.27185425, 0.99791641, 0.99890016, 0.49313937],
++												 [	-6.27253654, -0.00068178, 0.00041782, 7.27185477, 0.99791687, 0.99890040, 0.49313944],
++												 [	-6.27253690, -0.00068163, 0.00041773, 7.27185528, 0.99791733, 0.99890064, 0.49313947],
++												 [	-6.27253726, -0.00068148, 0.00041763, 7.27185579, 0.99791779, 0.99890089, 0.49313953],
++												 [	-6.27253762, -0.00068133, 0.00041754, 7.27185630, 0.99791825, 0.99890113, 0.49313960],
++												 [	-6.27253798, -0.00068118, 0.00041745, 7.27185680, 0.99791871, 0.99890137, 0.49313964],
++												 [	-6.27253834, -0.00068103, 0.00041736, 7.27185731, 0.99791916, 0.99890161, 0.49313969],
++												 [	-6.27253870, -0.00068088, 0.00041727, 7.27185782, 0.99791962, 0.99890185, 0.49313973],
++												 [	-6.27253906, -0.00068073, 0.00041718, 7.27185833, 0.99792008, 0.99890209, 0.49313978],
++												 [	-6.27253942, -0.00068058, 0.00041708, 7.27185884, 0.99792054, 0.99890234, 0.49313983],
++												 [	-6.27253978, -0.00068043, 0.00041699, 7.27185935, 0.99792099, 0.99890258, 0.49313991],
++												 [	-6.27254014, -0.00068028, 0.00041690, 7.27185986, 0.99792145, 0.99890282, 0.49313998],
++												 [	-6.27254050, -0.00068013, 0.00041681, 7.27186036, 0.99792191, 0.99890306, 0.49314002],
++												 [	-6.27254086, -0.00067998, 0.00041672, 7.27186087, 0.99792237, 0.99890330, 0.49314008],
++												 [	-6.27254121, -0.00067983, 0.00041662, 7.27186138, 0.99792282, 0.99890354, 0.49314012],
++												 [	-6.27254157, -0.00067968, 0.00041653, 7.27186189, 0.99792328, 0.99890378, 0.49314018],
++												 [	-6.27254193, -0.00067953, 0.00041644, 7.27186239, 0.99792373, 0.99890402, 0.49314019],
++												 [	-6.27254229, -0.00067939, 0.00041635, 7.27186290, 0.99792419, 0.99890426, 0.49314025],
++												 [	-6.27254264, -0.00067924, 0.00041626, 7.27186341, 0.99792465, 0.99890450, 0.49314034],
++												 [	-6.27254300, -0.00067909, 0.00041617, 7.27186391, 0.99792510, 0.99890474, 0.49314040],
++												 [	-6.27254336, -0.00067894, 0.00041608, 7.27186442, 0.99792556, 0.99890499, 0.49314044],
++												 [	-6.27254372, -0.00067879, 0.00041598, 7.27186493, 0.99792601, 0.99890523, 0.49314049],
++												 [	-6.27254407, -0.00067864, 0.00041589, 7.27186543, 0.99792647, 0.99890547, 0.49314054],
++												 [	-6.27254443, -0.00067849, 0.00041580, 7.27186594, 0.99792692, 0.99890571, 0.49314058],
++												 [	-6.27254479, -0.00067834, 0.00041571, 7.27186644, 0.99792738, 0.99890595, 0.49314062],
++												 [	-6.27254514, -0.00067819, 0.00041562, 7.27186695, 0.99792783, 0.99890618, 0.49314070],
++												 [	-6.27254550, -0.00067805, 0.00041553, 7.27186745, 0.99792828, 0.99890642, 0.49314075],
++												 [	-6.27254585, -0.00067790, 0.00041544, 7.27186796, 0.99792874, 0.99890666, 0.49314079],
++												 [	-6.27254621, -0.00067775, 0.00041535, 7.27186846, 0.99792919, 0.99890690, 0.49314085],
++												 [	-6.27254657, -0.00067760, 0.00041526, 7.27186897, 0.99792965, 0.99890714, 0.49314090],
++												 [	-6.27254692, -0.00067745, 0.00041516, 7.27186947, 0.99793010, 0.99890738, 0.49314094],
++												 [	-6.27254728, -0.00067730, 0.00041507, 7.27186997, 0.99793055, 0.99890762, 0.49314100],
++												 [	-6.27254763, -0.00067716, 0.00041498, 7.27187048, 0.99793101, 0.99890786, 0.49314106],
++												 [	-6.27254799, -0.00067701, 0.00041489, 7.27187098, 0.99793146, 0.99890810, 0.49314111],
++												 [	-6.27254834, -0.00067686, 0.00041480, 7.27187148, 0.99793191, 0.99890834, 0.49314118],
++												 [	-6.27254870, -0.00067671, 0.00041471, 7.27187199, 0.99793236, 0.99890858, 0.49314123],
++												 [	-6.27254905, -0.00067656, 0.00041462, 7.27187249, 0.99793282, 0.99890882, 0.49314127],
++												 [	-6.27254941, -0.00067642, 0.00041453, 7.27187299, 0.99793327, 0.99890905, 0.49314132],
++												 [	-6.27254976, -0.00067627, 0.00041444, 7.27187349, 0.99793372, 0.99890929, 0.49314138],
++												 [	-6.27255012, -0.00067612, 0.00041435, 7.27187399, 0.99793417, 0.99890953, 0.49314144],
++												 [	-6.27255047, -0.00067597, 0.00041426, 7.27187450, 0.99793462, 0.99890977, 0.49314149],
++												 [	-6.27255082, -0.00067583, 0.00041417, 7.27187500, 0.99793507, 0.99891001, 0.49314155],
++												 [	-6.27255118, -0.00067568, 0.00041408, 7.27187550, 0.99793552, 0.99891025, 0.49314159],
++												 [	-6.27255153, -0.00067553, 0.00041399, 7.27187600, 0.99793597, 0.99891048, 0.49314164],
++												 [	-6.27255188, -0.00067538, 0.00041390, 7.27187650, 0.99793643, 0.99891072, 0.49314169],
++												 [	-6.27255224, -0.00067524, 0.00041381, 7.27187700, 0.99793688, 0.99891096, 0.49314176],
++												 [	-6.27255259, -0.00067509, 0.00041372, 7.27187750, 0.99793733, 0.99891120, 0.49314181],
++												 [	-6.27255294, -0.00067494, 0.00041362, 7.27187800, 0.99793778, 0.99891143, 0.49314185],
++												 [	-6.27255330, -0.00067479, 0.00041353, 7.27187850, 0.99793823, 0.99891167, 0.49314190],
++												 [	-6.27255365, -0.00067465, 0.00041344, 7.27187900, 0.99793868, 0.99891191, 0.49314197],
++												 [	-6.27255400, -0.00067450, 0.00041335, 7.27187950, 0.99793912, 0.99891215, 0.49314200],
++												 [	-6.27255435, -0.00067435, 0.00041326, 7.27188000, 0.99793957, 0.99891238, 0.49314208],
++												 [	-6.27255470, -0.00067421, 0.00041317, 7.27188050, 0.99794002, 0.99891262, 0.49314213],
++												 [	-6.27255506, -0.00067406, 0.00041308, 7.27188100, 0.99794047, 0.99891286, 0.49314217],
++												 [	-6.27255541, -0.00067391, 0.00041299, 7.27188150, 0.99794092, 0.99891309, 0.49314220],
++												 [	-6.27255576, -0.00067377, 0.00041290, 7.27188199, 0.99794137, 0.99891333, 0.49314225],
++												 [	-6.27255611, -0.00067362, 0.00041281, 7.27188249, 0.99794182, 0.99891357, 0.49314232],
++												 [	-6.27255646, -0.00067347, 0.00041272, 7.27188299, 0.99794227, 0.99891380, 0.49314238],
++												 [	-6.27255681, -0.00067333, 0.00041263, 7.27188349, 0.99794271, 0.99891404, 0.49314241],
++												 [	-6.27255717, -0.00067318, 0.00041254, 7.27188398, 0.99794316, 0.99891428, 0.49314247],
++												 [	-6.27255752, -0.00067303, 0.00041245, 7.27188448, 0.99794361, 0.99891451, 0.49314253],
++												 [	-6.27255787, -0.00067289, 0.00041236, 7.27188498, 0.99794406, 0.99891475, 0.49314258],
++												 [	-6.27255822, -0.00067274, 0.00041228, 7.27188548, 0.99794450, 0.99891498, 0.49314263],
++												 [	-6.27255857, -0.00067260, 0.00041219, 7.27188597, 0.99794495, 0.99891522, 0.49314268],
++												 [	-6.27255892, -0.00067245, 0.00041210, 7.27188647, 0.99794540, 0.99891545, 0.49314274],
++												 [	-6.27255927, -0.00067230, 0.00041201, 7.27188696, 0.99794584, 0.99891569, 0.49314280],
++												 [	-6.27255962, -0.00067216, 0.00041192, 7.27188746, 0.99794629, 0.99891593, 0.49314284],
++												 [	-6.27255997, -0.00067201, 0.00041183, 7.27188796, 0.99794673, 0.99891616, 0.49314287],
++												 [	-6.27256032, -0.00067187, 0.00041174, 7.27188845, 0.99794718, 0.99891640, 0.49314297],
++												 [	-6.27256067, -0.00067172, 0.00041165, 7.27188895, 0.99794763, 0.99891663, 0.49314303],
++												 [	-6.27256102, -0.00067157, 0.00041156, 7.27188944, 0.99794807, 0.99891687, 0.49314307],
++												 [	-6.27256137, -0.00067143, 0.00041147, 7.27188994, 0.99794852, 0.99891710, 0.49314312],
++												 [	-6.27256171, -0.00067128, 0.00041138, 7.27189043, 0.99794896, 0.99891734, 0.49314315],
++												 [	-6.27256206, -0.00067114, 0.00041129, 7.27189093, 0.99794941, 0.99891757, 0.49314322],
++												 [	-6.27256241, -0.00067099, 0.00041120, 7.27189142, 0.99794985, 0.99891781, 0.49314325],
++												 [	-6.27256276, -0.00067085, 0.00041111, 7.27189191, 0.99795030, 0.99891804, 0.49314333],
++												 [	-6.27256311, -0.00067070, 0.00041102, 7.27189241, 0.99795074, 0.99891828, 0.49314337],
++												 [	-6.27256346, -0.00067056, 0.00041093, 7.27189290, 0.99795119, 0.99891851, 0.49314340],
++												 [	-6.27256381, -0.00067041, 0.00041085, 7.27189339, 0.99795163, 0.99891874, 0.49314348],
++												 [	-6.27256415, -0.00067027, 0.00041076, 7.27189389, 0.99795207, 0.99891898, 0.49314353],
++												 [	-6.27256450, -0.00067012, 0.00041067, 7.27189438, 0.99795252, 0.99891921, 0.49314358],
++												 [	-6.27256485, -0.00066998, 0.00041058, 7.27189487, 0.99795296, 0.99891945, 0.49314365],
++												 [	-6.27256520, -0.00066983, 0.00041049, 7.27189537, 0.99795340, 0.99891968, 0.49314368],
++												 [	-6.27256554, -0.00066969, 0.00041040, 7.27189586, 0.99795385, 0.99891991, 0.49314376],
++												 [	-6.27256589, -0.00066954, 0.00041031, 7.27189635, 0.99795429, 0.99892015, 0.49314379],
++												 [	-6.27256624, -0.00066940, 0.00041022, 7.27189684, 0.99795473, 0.99892038, 0.49314383],
++												 [	-6.27256658, -0.00066925, 0.00041013, 7.27189733, 0.99795517, 0.99892061, 0.49314389],
++												 [	-6.27256693, -0.00066911, 0.00041005, 7.27189782, 0.99795562, 0.99892085, 0.49314395],
++												 [	-6.27256728, -0.00066896, 0.00040996, 7.27189832, 0.99795606, 0.99892108, 0.49314398],
++												 [	-6.27256762, -0.00066882, 0.00040987, 7.27189881, 0.99795650, 0.99892131, 0.49314403],
++												 [	-6.27256797, -0.00066867, 0.00040978, 7.27189930, 0.99795694, 0.99892155, 0.49314409],
++												 [	-6.27256832, -0.00066853, 0.00040969, 7.27189979, 0.99795738, 0.99892178, 0.49314415],
++												 [	-6.27256866, -0.00066838, 0.00040960, 7.27190028, 0.99795782, 0.99892201, 0.49314419],
++												 [	-6.27256901, -0.00066824, 0.00040951, 7.27190077, 0.99795827, 0.99892225, 0.49314425],
++												 [	-6.27256935, -0.00066810, 0.00040943, 7.27190126, 0.99795871, 0.99892248, 0.49314428],
++												 [	-6.27256970, -0.00066795, 0.00040934, 7.27190175, 0.99795915, 0.99892271, 0.49314436],
++												 [	-6.27257004, -0.00066781, 0.00040925, 7.27190224, 0.99795959, 0.99892294, 0.49314439],
++												 [	-6.27257039, -0.00066766, 0.00040916, 7.27190273, 0.99796003, 0.99892318, 0.49314446],
++												 [	-6.27257073, -0.00066752, 0.00040907, 7.27190322, 0.99796047, 0.99892341, 0.49314452],
++												 [	-6.27257108, -0.00066738, 0.00040898, 7.27190370, 0.99796091, 0.99892364, 0.49314453],
++												 [	-6.27257142, -0.00066723, 0.00040890, 7.27190419, 0.99796135, 0.99892387, 0.49314460],
++												 [	-6.27257177, -0.00066709, 0.00040881, 7.27190468, 0.99796179, 0.99892410, 0.49314466],
++												 [	-6.27257211, -0.00066694, 0.00040872, 7.27190517, 0.99796223, 0.99892434, 0.49314470],
++												 [	-6.27257246, -0.00066680, 0.00040863, 7.27190566, 0.99796267, 0.99892457, 0.49314476],
++												 [	-6.27257280, -0.00066666, 0.00040854, 7.27190615, 0.99796311, 0.99892480, 0.49314482],
++												 [	-6.27257315, -0.00066651, 0.00040846, 7.27190663, 0.99796354, 0.99892503, 0.49314486],
++												 [	-6.27257349, -0.00066637, 0.00040837, 7.27190712, 0.99796398, 0.99892526, 0.49314490],
++												 [	-6.27257383, -0.00066623, 0.00040828, 7.27190761, 0.99796442, 0.99892549, 0.49314498],
++												 [	-6.27257418, -0.00066608, 0.00040819, 7.27190809, 0.99796486, 0.99892573, 0.49314501],
++												 [	-6.27257452, -0.00066594, 0.00040810, 7.27190858, 0.99796530, 0.99892596, 0.49314505],
++												 [	-6.27257486, -0.00066580, 0.00040802, 7.27190907, 0.99796574, 0.99892619, 0.49314512],
++												 [	-6.27257521, -0.00066565, 0.00040793, 7.27190955, 0.99796617, 0.99892642, 0.49314515],
++												 [	-6.27257555, -0.00066551, 0.00040784, 7.27191004, 0.99796661, 0.99892665, 0.49314521],
++												 [	-6.27257589, -0.00066537, 0.00040775, 7.27191053, 0.99796705, 0.99892688, 0.49314528],
++												 [	-6.27257623, -0.00066522, 0.00040766, 7.27191101, 0.99796748, 0.99892711, 0.49314532],
++												 [	-6.27257658, -0.00066508, 0.00040758, 7.27191150, 0.99796792, 0.99892734, 0.49314537],
++												 [	-6.27257692, -0.00066494, 0.00040749, 7.27191198, 0.99796836, 0.99892757, 0.49314541],
++												 [	-6.27257726, -0.00066480, 0.00040740, 7.27191247, 0.99796880, 0.99892780, 0.49314547],
++												 [	-6.27257760, -0.00066465, 0.00040731, 7.27191295, 0.99796923, 0.99892803, 0.49314555],
++												 [	-6.27257795, -0.00066451, 0.00040723, 7.27191344, 0.99796967, 0.99892826, 0.49314558],
++												 [	-6.27257829, -0.00066437, 0.00040714, 7.27191392, 0.99797010, 0.99892849, 0.49314564],
++												 [	-6.27257863, -0.00066422, 0.00040705, 7.27191440, 0.99797054, 0.99892872, 0.49314568],
++												 [	-6.27257897, -0.00066408, 0.00040696, 7.27191489, 0.99797098, 0.99892895, 0.49314573],
++												 [	-6.27257931, -0.00066394, 0.00040688, 7.27191537, 0.99797141, 0.99892918, 0.49314579],
++												 [	-6.27257965, -0.00066380, 0.00040679, 7.27191586, 0.99797185, 0.99892941, 0.49314582],
++												 [	-6.27257999, -0.00066366, 0.00040670, 7.27191634, 0.99797228, 0.99892964, 0.49314588],
++												 [	-6.27258033, -0.00066351, 0.00040662, 7.27191682, 0.99797272, 0.99892987, 0.49314593],
++												 [	-6.27258068, -0.00066337, 0.00040653, 7.27191730, 0.99797315, 0.99893010, 0.49314598],
++												 [	-6.27258102, -0.00066323, 0.00040644, 7.27191779, 0.99797358, 0.99893033, 0.49314603],
++												 [	-6.27258136, -0.00066309, 0.00040635, 7.27191827, 0.99797402, 0.99893056, 0.49314608],
++												 [	-6.27258170, -0.00066294, 0.00040627, 7.27191875, 0.99797445, 0.99893079, 0.49314611],
++												 [	-6.27258204, -0.00066280, 0.00040618, 7.27191923, 0.99797489, 0.99893102, 0.49314621],
++												 [	-6.27258238, -0.00066266, 0.00040609, 7.27191972, 0.99797532, 0.99893125, 0.49314623],
++												 [	-6.27258272, -0.00066252, 0.00040601, 7.27192020, 0.99797575, 0.99893148, 0.49314626],
++												 [	-6.27258306, -0.00066238, 0.00040592, 7.27192068, 0.99797619, 0.99893170, 0.49314635],
++												 [	-6.27258340, -0.00066224, 0.00040583, 7.27192116, 0.99797662, 0.99893193, 0.49314639],
++												 [	-6.27258373, -0.00066209, 0.00040574, 7.27192164, 0.99797705, 0.99893216, 0.49314644],
++												 [	-6.27258407, -0.00066195, 0.00040566, 7.27192212, 0.99797749, 0.99893239, 0.49314649],
++												 [	-6.27258441, -0.00066181, 0.00040557, 7.27192260, 0.99797792, 0.99893262, 0.49314651],
++												 [	-6.27258475, -0.00066167, 0.00040548, 7.27192308, 0.99797835, 0.99893285, 0.49314660],
++												 [	-6.27258509, -0.00066153, 0.00040540, 7.27192356, 0.99797878, 0.99893307, 0.49314663],
++												 [	-6.27258543, -0.00066139, 0.00040531, 7.27192404, 0.99797922, 0.99893330, 0.49314669],
++												 [	-6.27258577, -0.00066125, 0.00040522, 7.27192452, 0.99797965, 0.99893353, 0.49314673],
++												 [	-6.27258611, -0.00066110, 0.00040514, 7.27192500, 0.99798008, 0.99893376, 0.49314679],
++												 [	-6.27258644, -0.00066096, 0.00040505, 7.27192548, 0.99798051, 0.99893399, 0.49314686],
++												 [	-6.27258678, -0.00066082, 0.00040496, 7.27192596, 0.99798094, 0.99893421, 0.49314689],
++												 [	-6.27258712, -0.00066068, 0.00040488, 7.27192644, 0.99798137, 0.99893444, 0.49314694],
++												 [	-6.27258746, -0.00066054, 0.00040479, 7.27192692, 0.99798181, 0.99893467, 0.49314700],
++												 [	-6.27258780, -0.00066040, 0.00040471, 7.27192740, 0.99798224, 0.99893490, 0.49314705],
++												 [	-6.27258813, -0.00066026, 0.00040462, 7.27192788, 0.99798267, 0.99893512, 0.49314708],
++												 [	-6.27258847, -0.00066012, 0.00040453, 7.27192835, 0.99798310, 0.99893535, 0.49314712],
++												 [	-6.27258881, -0.00065998, 0.00040445, 7.27192883, 0.99798353, 0.99893558, 0.49314719],
++												 [	-6.27258914, -0.00065984, 0.00040436, 7.27192931, 0.99798396, 0.99893580, 0.49314727],
++												 [	-6.27258948, -0.00065970, 0.00040427, 7.27192979, 0.99798439, 0.99893603, 0.49314727],
++												 [	-6.27258982, -0.00065955, 0.00040419, 7.27193026, 0.99798482, 0.99893626, 0.49314731],
++												 [	-6.27259015, -0.00065941, 0.00040410, 7.27193074, 0.99798525, 0.99893648, 0.49314740],
++												 [	-6.27259049, -0.00065927, 0.00040401, 7.27193122, 0.99798568, 0.99893671, 0.49314745],
++												 [	-6.27259083, -0.00065913, 0.00040393, 7.27193169, 0.99798610, 0.99893694, 0.49314746],
++												 [	-6.27259116, -0.00065899, 0.00040384, 7.27193217, 0.99798653, 0.99893716, 0.49314754],
++												 [	-6.27259150, -0.00065885, 0.00040376, 7.27193265, 0.99798696, 0.99893739, 0.49314761],
++												 [	-6.27259184, -0.00065871, 0.00040367, 7.27193312, 0.99798739, 0.99893762, 0.49314766],
++												 [	-6.27259217, -0.00065857, 0.00040358, 7.27193360, 0.99798782, 0.99893784, 0.49314769],
++												 [	-6.27259251, -0.00065843, 0.00040350, 7.27193407, 0.99798825, 0.99893807, 0.49314775],
++												 [	-6.27259284, -0.00065829, 0.00040341, 7.27193455, 0.99798868, 0.99893829, 0.49314778],
++												 [	-6.27259318, -0.00065815, 0.00040333, 7.27193502, 0.99798910, 0.99893852, 0.49314784],
++												 [	-6.27259351, -0.00065801, 0.00040324, 7.27193550, 0.99798953, 0.99893875, 0.49314788],
++												 [	-6.27259385, -0.00065787, 0.00040316, 7.27193597, 0.99798996, 0.99893897, 0.49314794],
++												 [	-6.27259418, -0.00065773, 0.00040307, 7.27193645, 0.99799039, 0.99893920, 0.49314799],
++												 [	-6.27259452, -0.00065759, 0.00040298, 7.27193692, 0.99799081, 0.99893942, 0.49314805],
++												 [	-6.27259485, -0.00065745, 0.00040290, 7.27193740, 0.99799124, 0.99893965, 0.49314807],
++												 [	-6.27259519, -0.00065731, 0.00040281, 7.27193787, 0.99799167, 0.99893987, 0.49314813],
++												 [	-6.27259552, -0.00065717, 0.00040273, 7.27193835, 0.99799209, 0.99894010, 0.49314822],
++												 [	-6.27259585, -0.00065703, 0.00040264, 7.27193882, 0.99799252, 0.99894032, 0.49314825],
++												 [	-6.27259619, -0.00065690, 0.00040256, 7.27193929, 0.99799295, 0.99894055, 0.49314830],
++												 [	-6.27259652, -0.00065676, 0.00040247, 7.27193977, 0.99799337, 0.99894077, 0.49314836],
++												 [	-6.27259686, -0.00065662, 0.00040239, 7.27194024, 0.99799380, 0.99894100, 0.49314839],
++												 [	-6.27259719, -0.00065648, 0.00040230, 7.27194071, 0.99799422, 0.99894122, 0.49314844],
++												 [	-6.27259752, -0.00065634, 0.00040221, 7.27194118, 0.99799465, 0.99894145, 0.49314848],
++												 [	-6.27259786, -0.00065620, 0.00040213, 7.27194166, 0.99799507, 0.99894167, 0.49314852],
++												 [	-6.27259819, -0.00065606, 0.00040204, 7.27194213, 0.99799550, 0.99894190, 0.49314858],
++												 [	-6.27259852, -0.00065592, 0.00040196, 7.27194260, 0.99799593, 0.99894212, 0.49314864],
++												 [	-6.27259885, -0.00065578, 0.00040187, 7.27194307, 0.99799635, 0.99894234, 0.49314867],
++												 [	-6.27259919, -0.00065564, 0.00040179, 7.27194354, 0.99799677, 0.99894257, 0.49314872],
++												 [	-6.27259952, -0.00065550, 0.00040170, 7.27194402, 0.99799720, 0.99894279, 0.49314880],
++												 [	-6.27259985, -0.00065537, 0.00040162, 7.27194449, 0.99799762, 0.99894302, 0.49314880],
++												 [	-6.27260018, -0.00065523, 0.00040153, 7.27194496, 0.99799805, 0.99894324, 0.49314888],
++												 [	-6.27260052, -0.00065509, 0.00040145, 7.27194543, 0.99799847, 0.99894346, 0.49314897],
++												 [	-6.27260085, -0.00065495, 0.00040136, 7.27194590, 0.99799889, 0.99894369, 0.49314899],
++												 [	-6.27260118, -0.00065481, 0.00040128, 7.27194637, 0.99799932, 0.99894391, 0.49314902],
++												 [	-6.27260151, -0.00065467, 0.00040119, 7.27194684, 0.99799974, 0.99894413, 0.49314908],
++												 [	-6.27260184, -0.00065453, 0.00040111, 7.27194731, 0.99800016, 0.99894436, 0.49314911],
++												 [	-6.27260217, -0.00065440, 0.00040102, 7.27194778, 0.99800059, 0.99894458, 0.49314920],
++												 [	-6.27260251, -0.00065426, 0.00040094, 7.27194825, 0.99800101, 0.99894480, 0.49314922],
++												 [	-6.27260284, -0.00065412, 0.00040085, 7.27194872, 0.99800143, 0.99894503, 0.49314928],
++												 [	-6.27260317, -0.00065398, 0.00040077, 7.27194919, 0.99800186, 0.99894525, 0.49314931],
++												 [	-6.27260350, -0.00065384, 0.00040068, 7.27194966, 0.99800228, 0.99894547, 0.49314937],
++												 [	-6.27260383, -0.00065370, 0.00040060, 7.27195013, 0.99800270, 0.99894570, 0.49314942],
++												 [	-6.27260416, -0.00065357, 0.00040051, 7.27195059, 0.99800312, 0.99894592, 0.49314947],
++												 [	-6.27260449, -0.00065343, 0.00040043, 7.27195106, 0.99800354, 0.99894614, 0.49314952],
++												 [	-6.27260482, -0.00065329, 0.00040035, 7.27195153, 0.99800397, 0.99894636, 0.49314960],
++												 [	-6.27260515, -0.00065315, 0.00040026, 7.27195200, 0.99800439, 0.99894659, 0.49314963],
++												 [	-6.27260548, -0.00065302, 0.00040018, 7.27195247, 0.99800481, 0.99894681, 0.49314965],
++												 [	-6.27260581, -0.00065288, 0.00040009, 7.27195293, 0.99800523, 0.99894703, 0.49314972],
++												 [	-6.27260614, -0.00065274, 0.00040001, 7.27195340, 0.99800565, 0.99894725, 0.49314975],
++												 [	-6.27260647, -0.00065260, 0.00039992, 7.27195387, 0.99800607, 0.99894747, 0.49314983],
++												 [	-6.27260680, -0.00065246, 0.00039984, 7.27195434, 0.99800649, 0.99894770, 0.49314987],
++												 [	-6.27260713, -0.00065233, 0.00039975, 7.27195480, 0.99800691, 0.99894792, 0.49314994],
++												 [	-6.27260746, -0.00065219, 0.00039967, 7.27195527, 0.99800733, 0.99894814, 0.49314996],
++												 [	-6.27260779, -0.00065205, 0.00039959, 7.27195573, 0.99800775, 0.99894836, 0.49314998],
++												 [	-6.27260812, -0.00065192, 0.00039950, 7.27195620, 0.99800817, 0.99894858, 0.49315004],
++												 [	-6.27260844, -0.00065178, 0.00039942, 7.27195667, 0.99800859, 0.99894880, 0.49315011],
++												 [	-6.27260877, -0.00065164, 0.00039933, 7.27195713, 0.99800901, 0.99894903, 0.49315016],
++												 [	-6.27260910, -0.00065150, 0.00039925, 7.27195760, 0.99800943, 0.99894925, 0.49315020],
++												 [	-6.27260943, -0.00065137, 0.00039917, 7.27195806, 0.99800985, 0.99894947, 0.49315028],
++												 [	-6.27260976, -0.00065123, 0.00039908, 7.27195853, 0.99801027, 0.99894969, 0.49315027],
++												 [	-6.27261009, -0.00065109, 0.00039900, 7.27195899, 0.99801069, 0.99894991, 0.49315035],
++												 [	-6.27261041, -0.00065096, 0.00039891, 7.27195946, 0.99801110, 0.99895013, 0.49315041],
++												 [	-6.27261074, -0.00065082, 0.00039883, 7.27195992, 0.99801152, 0.99895035, 0.49315047],
++												 [	-6.27261107, -0.00065068, 0.00039875, 7.27196039, 0.99801194, 0.99895057, 0.49315053],
++												 [	-6.27261140, -0.00065055, 0.00039866, 7.27196085, 0.99801236, 0.99895079, 0.49315055],
++												 [	-6.27261172, -0.00065041, 0.00039858, 7.27196132, 0.99801278, 0.99895101, 0.49315059],
++												 [	-6.27261205, -0.00065027, 0.00039849, 7.27196178, 0.99801320, 0.99895123, 0.49315063],
++												 [	-6.27261238, -0.00065014, 0.00039841, 7.27196224, 0.99801361, 0.99895145, 0.49315070],
++												 [	-6.27261271, -0.00065000, 0.00039833, 7.27196271, 0.99801403, 0.99895167, 0.49315074],
++												 [	-6.27261303, -0.00064986, 0.00039824, 7.27196317, 0.99801445, 0.99895189, 0.49315081],
++												 [	-6.27261336, -0.00064973, 0.00039816, 7.27196363, 0.99801486, 0.99895212, 0.49315083],
++												 [	-6.27261369, -0.00064959, 0.00039808, 7.27196410, 0.99801528, 0.99895233, 0.49315088],
++												 [	-6.27261401, -0.00064945, 0.00039799, 7.27196456, 0.99801570, 0.99895255, 0.49315095],
++												 [	-6.27261434, -0.00064932, 0.00039791, 7.27196502, 0.99801611, 0.99895277, 0.49315102],
++												 [	-6.27261466, -0.00064918, 0.00039782, 7.27196548, 0.99801653, 0.99895299, 0.49315101],
++												 [	-6.27261499, -0.00064904, 0.00039774, 7.27196595, 0.99801695, 0.99895321, 0.49315109],
++												 [	-6.27261532, -0.00064891, 0.00039766, 7.27196641, 0.99801736, 0.99895343, 0.49315112],
++												 [	-6.27261564, -0.00064877, 0.00039757, 7.27196687, 0.99801778, 0.99895365, 0.49315120],
++												 [	-6.27261597, -0.00064864, 0.00039749, 7.27196733, 0.99801819, 0.99895387, 0.49315122],
++												 [	-6.27261629, -0.00064850, 0.00039741, 7.27196779, 0.99801861, 0.99895409, 0.49315129],
++												 [	-6.27261662, -0.00064836, 0.00039732, 7.27196825, 0.99801902, 0.99895431, 0.49315134],
++												 [	-6.27261694, -0.00064823, 0.00039724, 7.27196871, 0.99801944, 0.99895453, 0.49315136],
++												 [	-6.27261727, -0.00064809, 0.00039716, 7.27196917, 0.99801985, 0.99895475, 0.49315141],
++												 [	-6.27261759, -0.00064796, 0.00039707, 7.27196963, 0.99802027, 0.99895497, 0.49315149],
++												 [	-6.27261792, -0.00064782, 0.00039699, 7.27197009, 0.99802068, 0.99895519, 0.49315153],
++												 [	-6.27261824, -0.00064769, 0.00039691, 7.27197056, 0.99802110, 0.99895540, 0.49315156],
++												 [	-6.27261857, -0.00064755, 0.00039683, 7.27197101, 0.99802151, 0.99895562, 0.49315162],
++												 [	-6.27261889, -0.00064742, 0.00039674, 7.27197147, 0.99802193, 0.99895584, 0.49315167],
++												 [	-6.27261921, -0.00064728, 0.00039666, 7.27197193, 0.99802234, 0.99895606, 0.49315173],
++												 [	-6.27261954, -0.00064715, 0.00039658, 7.27197239, 0.99802275, 0.99895628, 0.49315176],
++												 [	-6.27261986, -0.00064701, 0.00039649, 7.27197285, 0.99802317, 0.99895650, 0.49315180],
++												 [	-6.27262019, -0.00064687, 0.00039641, 7.27197331, 0.99802358, 0.99895671, 0.49315186],
++												 [	-6.27262051, -0.00064674, 0.00039633, 7.27197377, 0.99802399, 0.99895693, 0.49315191],
++												 [	-6.27262083, -0.00064660, 0.00039624, 7.27197423, 0.99802441, 0.99895715, 0.49315198],
++												 [	-6.27262116, -0.00064647, 0.00039616, 7.27197469, 0.99802482, 0.99895737, 0.49315200],
++												 [	-6.27262148, -0.00064633, 0.00039608, 7.27197515, 0.99802523, 0.99895759, 0.49315204],
++												 [	-6.27262180, -0.00064620, 0.00039600, 7.27197560, 0.99802564, 0.99895780, 0.49315211],
++												 [	-6.27262213, -0.00064606, 0.00039591, 7.27197606, 0.99802606, 0.99895802, 0.49315216],
++												 [	-6.27262245, -0.00064593, 0.00039583, 7.27197652, 0.99802647, 0.99895824, 0.49315219],
++												 [	-6.27262277, -0.00064579, 0.00039575, 7.27197698, 0.99802688, 0.99895846, 0.49315225],
++												 [	-6.27262309, -0.00064566, 0.00039567, 7.27197743, 0.99802729, 0.99895867, 0.49315226],
++												 [	-6.27262342, -0.00064553, 0.00039558, 7.27197789, 0.99802770, 0.99895889, 0.49315233],
++												 [	-6.27262374, -0.00064539, 0.00039550, 7.27197835, 0.99802812, 0.99895911, 0.49315238],
++												 [	-6.27262406, -0.00064526, 0.00039542, 7.27197880, 0.99802853, 0.99895933, 0.49315244],
++												 [	-6.27262438, -0.00064512, 0.00039534, 7.27197926, 0.99802894, 0.99895954, 0.49315248],
++												 [	-6.27262470, -0.00064499, 0.00039525, 7.27197972, 0.99802935, 0.99895976, 0.49315254],
++												 [	-6.27262503, -0.00064485, 0.00039517, 7.27198017, 0.99802976, 0.99895998, 0.49315255],
++												 [	-6.27262535, -0.00064472, 0.00039509, 7.27198063, 0.99803017, 0.99896019, 0.49315260],
++												 [	-6.27262567, -0.00064458, 0.00039501, 7.27198108, 0.99803058, 0.99896041, 0.49315266],
++												 [	-6.27262599, -0.00064445, 0.00039492, 7.27198154, 0.99803099, 0.99896063, 0.49315272],
++												 [	-6.27262631, -0.00064432, 0.00039484, 7.27198199, 0.99803140, 0.99896084, 0.49315276],
++												 [	-6.27262663, -0.00064418, 0.00039476, 7.27198245, 0.99803181, 0.99896106, 0.49315283],
++												 [	-6.27262695, -0.00064405, 0.00039468, 7.27198290, 0.99803222, 0.99896127, 0.49315287],
++												 [	-6.27262727, -0.00064391, 0.00039460, 7.27198336, 0.99803263, 0.99896149, 0.49315291],
++												 [	-6.27262759, -0.00064378, 0.00039451, 7.27198381, 0.99803304, 0.99896171, 0.49315298],
++												 [	-6.27262792, -0.00064365, 0.00039443, 7.27198427, 0.99803345, 0.99896192, 0.49315301],
++												 [	-6.27262824, -0.00064351, 0.00039435, 7.27198472, 0.99803386, 0.99896214, 0.49315305],
++												 [	-6.27262856, -0.00064338, 0.00039427, 7.27198518, 0.99803427, 0.99896235, 0.49315310],
++												 [	-6.27262888, -0.00064325, 0.00039418, 7.27198563, 0.99803468, 0.99896257, 0.49315315],
++												 [	-6.27262920, -0.00064311, 0.00039410, 7.27198608, 0.99803508, 0.99896279, 0.49315320],
++												 [	-6.27262952, -0.00064298, 0.00039402, 7.27198654, 0.99803549, 0.99896300, 0.49315324],
++												 [	-6.27262984, -0.00064284, 0.00039394, 7.27198699, 0.99803590, 0.99896322, 0.49315329],
++												 [	-6.27263015, -0.00064271, 0.00039386, 7.27198744, 0.99803631, 0.99896343, 0.49315335],
++												 [	-6.27263047, -0.00064258, 0.00039378, 7.27198790, 0.99803672, 0.99896365, 0.49315341],
++												 [	-6.27263079, -0.00064244, 0.00039369, 7.27198835, 0.99803712, 0.99896386, 0.49315341],
++												 [	-6.27263111, -0.00064231, 0.00039361, 7.27198880, 0.99803753, 0.99896408, 0.49315348],
++												 [	-6.27263143, -0.00064218, 0.00039353, 7.27198925, 0.99803794, 0.99896429, 0.49315355],
++												 [	-6.27263175, -0.00064204, 0.00039345, 7.27198971, 0.99803835, 0.99896451, 0.49315360],
++												 [	-6.27263207, -0.00064191, 0.00039337, 7.27199016, 0.99803875, 0.99896472, 0.49315362],
++												 [	-6.27263239, -0.00064178, 0.00039329, 7.27199061, 0.99803916, 0.99896494, 0.49315366],
++												 [	-6.27263271, -0.00064165, 0.00039320, 7.27199106, 0.99803957, 0.99896515, 0.49315370],
++												 [	-6.27263302, -0.00064151, 0.00039312, 7.27199151, 0.99803997, 0.99896537, 0.49315378],
++												 [	-6.27263334, -0.00064138, 0.00039304, 7.27199196, 0.99804038, 0.99896558, 0.49315382],
++												 [	-6.27263366, -0.00064125, 0.00039296, 7.27199241, 0.99804079, 0.99896579, 0.49315384],
++												 [	-6.27263398, -0.00064111, 0.00039288, 7.27199287, 0.99804119, 0.99896601, 0.49315390],
++												 [	-6.27263430, -0.00064098, 0.00039280, 7.27199332, 0.99804160, 0.99896622, 0.49315398],
++												 [	-6.27263461, -0.00064085, 0.00039271, 7.27199377, 0.99804200, 0.99896644, 0.49315398],
++												 [	-6.27263493, -0.00064072, 0.00039263, 7.27199422, 0.99804241, 0.99896665, 0.49315402],
++												 [	-6.27263525, -0.00064058, 0.00039255, 7.27199467, 0.99804281, 0.99896686, 0.49315410],
++												 [	-6.27263557, -0.00064045, 0.00039247, 7.27199512, 0.99804322, 0.99896708, 0.49315415],
++												 [	-6.27263588, -0.00064032, 0.00039239, 7.27199557, 0.99804362, 0.99896729, 0.49315420],
++												 [	-6.27263620, -0.00064019, 0.00039231, 7.27199602, 0.99804403, 0.99896751, 0.49315423],
++												 [	-6.27263652, -0.00064005, 0.00039223, 7.27199646, 0.99804443, 0.99896772, 0.49315429],
++												 [	-6.27263683, -0.00063992, 0.00039215, 7.27199691, 0.99804484, 0.99896793, 0.49315433],
++												 [	-6.27263715, -0.00063979, 0.00039206, 7.27199736, 0.99804524, 0.99896815, 0.49315438],
++												 [	-6.27263747, -0.00063966, 0.00039198, 7.27199781, 0.99804565, 0.99896836, 0.49315441],
++												 [	-6.27263778, -0.00063952, 0.00039190, 7.27199826, 0.99804605, 0.99896857, 0.49315445],
++												 [	-6.27263810, -0.00063939, 0.00039182, 7.27199871, 0.99804645, 0.99896879, 0.49315452],
++												 [	-6.27263842, -0.00063926, 0.00039174, 7.27199916, 0.99804686, 0.99896900, 0.49315453],
++												 [	-6.27263873, -0.00063913, 0.00039166, 7.27199960, 0.99804726, 0.99896921, 0.49315461],
++												 [	-6.27263905, -0.00063900, 0.00039158, 7.27200005, 0.99804766, 0.99896942, 0.49315465],
++												 [	-6.27263936, -0.00063886, 0.00039150, 7.27200050, 0.99804807, 0.99896964, 0.49315471],
++												 [	-6.27263968, -0.00063873, 0.00039142, 7.27200095, 0.99804847, 0.99896985, 0.49315476],
++												 [	-6.27263999, -0.00063860, 0.00039134, 7.27200139, 0.99804887, 0.99897006, 0.49315480],
++												 [	-6.27264031, -0.00063847, 0.00039126, 7.27200184, 0.99804928, 0.99897028, 0.49315486],
++												 [	-6.27264063, -0.00063834, 0.00039117, 7.27200229, 0.99804968, 0.99897049, 0.49315489],
++												 [	-6.27264094, -0.00063821, 0.00039109, 7.27200273, 0.99805008, 0.99897070, 0.49315491],
++												 [	-6.27264126, -0.00063807, 0.00039101, 7.27200318, 0.99805048, 0.99897091, 0.49315503],
++												 [	-6.27264157, -0.00063794, 0.00039093, 7.27200363, 0.99805088, 0.99897112, 0.49315504],
++												 [	-6.27264188, -0.00063781, 0.00039085, 7.27200407, 0.99805129, 0.99897134, 0.49315507],
++												 [	-6.27264220, -0.00063768, 0.00039077, 7.27200452, 0.99805169, 0.99897155, 0.49315512],
++												 [	-6.27264251, -0.00063755, 0.00039069, 7.27200496, 0.99805209, 0.99897176, 0.49315517],
++												 [	-6.27264283, -0.00063742, 0.00039061, 7.27200541, 0.99805249, 0.99897197, 0.49315521],
++												 [	-6.27264314, -0.00063729, 0.00039053, 7.27200586, 0.99805289, 0.99897218, 0.49315529],
++												 [	-6.27264346, -0.00063716, 0.00039045, 7.27200630, 0.99805329, 0.99897240, 0.49315533],
++												 [	-6.27264377, -0.00063702, 0.00039037, 7.27200675, 0.99805369, 0.99897261, 0.49315538],
++												 [	-6.27264408, -0.00063689, 0.00039029, 7.27200719, 0.99805409, 0.99897282, 0.49315540],
++												 [	-6.27264440, -0.00063676, 0.00039021, 7.27200764, 0.99805450, 0.99897303, 0.49315545],
++												 [	-6.27264471, -0.00063663, 0.00039013, 7.27200808, 0.99805490, 0.99897324, 0.49315550],
++												 [	-6.27264502, -0.00063650, 0.00039005, 7.27200852, 0.99805530, 0.99897345, 0.49315556],
++												 [	-6.27264534, -0.00063637, 0.00038997, 7.27200897, 0.99805570, 0.99897366, 0.49315563],
++												 [	-6.27264565, -0.00063624, 0.00038989, 7.27200941, 0.99805610, 0.99897387, 0.49315563],
++												 [	-6.27264596, -0.00063611, 0.00038981, 7.27200986, 0.99805649, 0.99897409, 0.49315568],
++												 [	-6.27264628, -0.00063598, 0.00038973, 7.27201030, 0.99805689, 0.99897430, 0.49315572],
++												 [	-6.27264659, -0.00063585, 0.00038965, 7.27201074, 0.99805729, 0.99897451, 0.49315579],
++												 [	-6.27264690, -0.00063572, 0.00038957, 7.27201119, 0.99805769, 0.99897472, 0.49315582],
++												 [	-6.27264721, -0.00063559, 0.00038949, 7.27201163, 0.99805809, 0.99897493, 0.49315589],
++												 [	-6.27264753, -0.00063545, 0.00038941, 7.27201207, 0.99805849, 0.99897514, 0.49315595],
++												 [	-6.27264784, -0.00063532, 0.00038933, 7.27201251, 0.99805889, 0.99897535, 0.49315600],
++												 [	-6.27264815, -0.00063519, 0.00038925, 7.27201296, 0.99805929, 0.99897556, 0.49315603],
++												 [	-6.27264846, -0.00063506, 0.00038917, 7.27201340, 0.99805969, 0.99897577, 0.49315606],
++												 [	-6.27264877, -0.00063493, 0.00038909, 7.27201384, 0.99806008, 0.99897598, 0.49315609],
++												 [	-6.27264909, -0.00063480, 0.00038901, 7.27201428, 0.99806048, 0.99897619, 0.49315614],
++												 [	-6.27264940, -0.00063467, 0.00038893, 7.27201472, 0.99806088, 0.99897640, 0.49315621],
++												 [	-6.27264971, -0.00063454, 0.00038885, 7.27201517, 0.99806128, 0.99897661, 0.49315622],
++												 [	-6.27265002, -0.00063441, 0.00038877, 7.27201561, 0.99806168, 0.99897682, 0.49315632],
++												 [	-6.27265033, -0.00063428, 0.00038869, 7.27201605, 0.99806207, 0.99897703, 0.49315636],
++												 [	-6.27265064, -0.00063415, 0.00038861, 7.27201649, 0.99806247, 0.99897724, 0.49315639],
++												 [	-6.27265095, -0.00063402, 0.00038853, 7.27201693, 0.99806287, 0.99897745, 0.49315644],
++												 [	-6.27265126, -0.00063389, 0.00038845, 7.27201737, 0.99806326, 0.99897766, 0.49315648],
++												 [	-6.27265157, -0.00063376, 0.00038837, 7.27201781, 0.99806366, 0.99897787, 0.49315654],
++												 [	-6.27265189, -0.00063363, 0.00038829, 7.27201825, 0.99806406, 0.99897808, 0.49315656],
++												 [	-6.27265220, -0.00063350, 0.00038821, 7.27201869, 0.99806445, 0.99897829, 0.49315663],
++												 [	-6.27265251, -0.00063337, 0.00038813, 7.27201913, 0.99806485, 0.99897849, 0.49315664],
++												 [	-6.27265282, -0.00063324, 0.00038805, 7.27201957, 0.99806525, 0.99897870, 0.49315672],
++												 [	-6.27265313, -0.00063312, 0.00038797, 7.27202001, 0.99806564, 0.99897891, 0.49315678],
++												 [	-6.27265344, -0.00063299, 0.00038789, 7.27202045, 0.99806604, 0.99897912, 0.49315679],
++												 [	-6.27265375, -0.00063286, 0.00038781, 7.27202089, 0.99806643, 0.99897933, 0.49315682],
++												 [	-6.27265406, -0.00063273, 0.00038773, 7.27202133, 0.99806683, 0.99897954, 0.49315688],
++												 [	-6.27265436, -0.00063260, 0.00038765, 7.27202177, 0.99806722, 0.99897975, 0.49315697],
++												 [	-6.27265467, -0.00063247, 0.00038758, 7.27202221, 0.99806762, 0.99897996, 0.49315698],
++												 [	-6.27265498, -0.00063234, 0.00038750, 7.27202264, 0.99806801, 0.99898016, 0.49315705],
++												 [	-6.27265529, -0.00063221, 0.00038742, 7.27202308, 0.99806841, 0.99898037, 0.49315710],
++												 [	-6.27265560, -0.00063208, 0.00038734, 7.27202352, 0.99806880, 0.99898058, 0.49315714],
++												 [	-6.27265591, -0.00063195, 0.00038726, 7.27202396, 0.99806920, 0.99898079, 0.49315716],
++												 [	-6.27265622, -0.00063182, 0.00038718, 7.27202440, 0.99806959, 0.99898100, 0.49315722],
++												 [	-6.27265653, -0.00063169, 0.00038710, 7.27202483, 0.99806999, 0.99898121, 0.49315726],
++												 [	-6.27265684, -0.00063157, 0.00038702, 7.27202527, 0.99807038, 0.99898141, 0.49315731],
++												 [	-6.27265714, -0.00063144, 0.00038694, 7.27202571, 0.99807077, 0.99898162, 0.49315737],
++												 [	-6.27265745, -0.00063131, 0.00038686, 7.27202614, 0.99807117, 0.99898183, 0.49315740],
++												 [	-6.27265776, -0.00063118, 0.00038678, 7.27202658, 0.99807156, 0.99898204, 0.49315744],
++												 [	-6.27265807, -0.00063105, 0.00038671, 7.27202702, 0.99807195, 0.99898224, 0.49315747],
++												 [	-6.27265838, -0.00063092, 0.00038663, 7.27202745, 0.99807235, 0.99898245, 0.49315751],
++												 [	-6.27265868, -0.00063079, 0.00038655, 7.27202789, 0.99807274, 0.99898266, 0.49315758],
++												 [	-6.27265899, -0.00063066, 0.00038647, 7.27202833, 0.99807313, 0.99898287, 0.49315760],
++												 [	-6.27265930, -0.00063054, 0.00038639, 7.27202876, 0.99807353, 0.99898307, 0.49315770],
++												 [	-6.27265961, -0.00063041, 0.00038631, 7.27202920, 0.99807392, 0.99898328, 0.49315771],
++												 [	-6.27265991, -0.00063028, 0.00038623, 7.27202963, 0.99807431, 0.99898349, 0.49315780],
++												 [	-6.27266022, -0.00063015, 0.00038615, 7.27203007, 0.99807470, 0.99898369, 0.49315780],
++												 [	-6.27266053, -0.00063002, 0.00038608, 7.27203051, 0.99807510, 0.99898390, 0.49315786],
++												 [	-6.27266083, -0.00062989, 0.00038600, 7.27203094, 0.99807549, 0.99898411, 0.49315792],
++												 [	-6.27266114, -0.00062977, 0.00038592, 7.27203138, 0.99807588, 0.99898432, 0.49315794],
++												 [	-6.27266145, -0.00062964, 0.00038584, 7.27203181, 0.99807627, 0.99898452, 0.49315802],
++												 [	-6.27266175, -0.00062951, 0.00038576, 7.27203224, 0.99807666, 0.99898473, 0.49315805],
++												 [	-6.27266206, -0.00062938, 0.00038568, 7.27203268, 0.99807705, 0.99898493, 0.49315808],
++												 [	-6.27266237, -0.00062925, 0.00038560, 7.27203311, 0.99807744, 0.99898514, 0.49315812],
++												 [	-6.27266267, -0.00062913, 0.00038553, 7.27203355, 0.99807784, 0.99898535, 0.49315818],
++												 [	-6.27266298, -0.00062900, 0.00038545, 7.27203398, 0.99807823, 0.99898555, 0.49315821],
++												 [	-6.27266329, -0.00062887, 0.00038537, 7.27203441, 0.99807862, 0.99898576, 0.49315828],
++												 [	-6.27266359, -0.00062874, 0.00038529, 7.27203485, 0.99807901, 0.99898597, 0.49315830],
++												 [	-6.27266390, -0.00062862, 0.00038521, 7.27203528, 0.99807940, 0.99898617, 0.49315836],
++												 [	-6.27266420, -0.00062849, 0.00038513, 7.27203571, 0.99807979, 0.99898638, 0.49315841],
++												 [	-6.27266451, -0.00062836, 0.00038506, 7.27203615, 0.99808018, 0.99898658, 0.49315847],
++												 [	-6.27266481, -0.00062823, 0.00038498, 7.27203658, 0.99808057, 0.99898679, 0.49315850],
++												 [	-6.27266512, -0.00062811, 0.00038490, 7.27203701, 0.99808096, 0.99898700, 0.49315856],
++												 [	-6.27266542, -0.00062798, 0.00038482, 7.27203744, 0.99808135, 0.99898720, 0.49315859],
++												 [	-6.27266573, -0.00062785, 0.00038474, 7.27203788, 0.99808174, 0.99898741, 0.49315862],
++												 [	-6.27266603, -0.00062772, 0.00038467, 7.27203831, 0.99808213, 0.99898761, 0.49315867],
++												 [	-6.27266634, -0.00062760, 0.00038459, 7.27203874, 0.99808251, 0.99898782, 0.49315875],
++												 [	-6.27266664, -0.00062747, 0.00038451, 7.27203917, 0.99808290, 0.99898802, 0.49315880],
++												 [	-6.27266695, -0.00062734, 0.00038443, 7.27203960, 0.99808329, 0.99898823, 0.49315883],
++												 [	-6.27266725, -0.00062721, 0.00038435, 7.27204004, 0.99808368, 0.99898843, 0.49315887],
++												 [	-6.27266755, -0.00062709, 0.00038428, 7.27204047, 0.99808407, 0.99898864, 0.49315892],
++												 [	-6.27266786, -0.00062696, 0.00038420, 7.27204090, 0.99808446, 0.99898884, 0.49315895],
++												 [	-6.27266816, -0.00062683, 0.00038412, 7.27204133, 0.99808485, 0.99898905, 0.49315899],
++												 [	-6.27266847, -0.00062671, 0.00038404, 7.27204176, 0.99808523, 0.99898925, 0.49315906],
++												 [	-6.27266877, -0.00062658, 0.00038396, 7.27204219, 0.99808562, 0.99898946, 0.49315910],
++												 [	-6.27266907, -0.00062645, 0.00038389, 7.27204262, 0.99808601, 0.99898966, 0.49315911],
++												 [	-6.27266938, -0.00062633, 0.00038381, 7.27204305, 0.99808640, 0.99898987, 0.49315917],
++												 [	-6.27266968, -0.00062620, 0.00038373, 7.27204348, 0.99808678, 0.99899007, 0.49315922],
++												 [	-6.27266998, -0.00062607, 0.00038365, 7.27204391, 0.99808717, 0.99899027, 0.49315926],
++												 [	-6.27267028, -0.00062595, 0.00038358, 7.27204434, 0.99808756, 0.99899048, 0.49315930],
++												 [	-6.27267059, -0.00062582, 0.00038350, 7.27204477, 0.99808794, 0.99899068, 0.49315934],
++												 [	-6.27267089, -0.00062569, 0.00038342, 7.27204520, 0.99808833, 0.99899089, 0.49315940],
++												 [	-6.27267119, -0.00062557, 0.00038334, 7.27204563, 0.99808872, 0.99899109, 0.49315945],
++												 [	-6.27267150, -0.00062544, 0.00038327, 7.27204606, 0.99808910, 0.99899129, 0.49315950],
++												 [	-6.27267180, -0.00062531, 0.00038319, 7.27204648, 0.99808949, 0.99899150, 0.49315953],
++												 [	-6.27267210, -0.00062519, 0.00038311, 7.27204691, 0.99808988, 0.99899170, 0.49315956],
++												 [	-6.27267240, -0.00062506, 0.00038303, 7.27204734, 0.99809026, 0.99899191, 0.49315961],
++												 [	-6.27267270, -0.00062494, 0.00038296, 7.27204777, 0.99809065, 0.99899211, 0.49315968],
++												 [	-6.27267301, -0.00062481, 0.00038288, 7.27204820, 0.99809103, 0.99899231, 0.49315973],
++												 [	-6.27267331, -0.00062468, 0.00038280, 7.27204863, 0.99809142, 0.99899252, 0.49315977],
++												 [	-6.27267361, -0.00062456, 0.00038272, 7.27204905, 0.99809180, 0.99899272, 0.49315980],
++												 [	-6.27267391, -0.00062443, 0.00038265, 7.27204948, 0.99809219, 0.99899292, 0.49315984],
++												 [	-6.27267421, -0.00062431, 0.00038257, 7.27204991, 0.99809257, 0.99899313, 0.49315989],
++												 [	-6.27267451, -0.00062418, 0.00038249, 7.27205033, 0.99809296, 0.99899333, 0.49315993],
++												 [	-6.27267481, -0.00062405, 0.00038241, 7.27205076, 0.99809334, 0.99899353, 0.49315999],
++												 [	-6.27267512, -0.00062393, 0.00038234, 7.27205119, 0.99809373, 0.99899373, 0.49316004],
++												 [	-6.27267542, -0.00062380, 0.00038226, 7.27205162, 0.99809411, 0.99899394, 0.49316007],
++												 [	-6.27267572, -0.00062368, 0.00038218, 7.27205204, 0.99809450, 0.99899414, 0.49316011],
++												 [	-6.27267602, -0.00062355, 0.00038211, 7.27205247, 0.99809488, 0.99899434, 0.49316016],
++												 [	-6.27267632, -0.00062342, 0.00038203, 7.27205289, 0.99809527, 0.99899455, 0.49316020],
++												 [	-6.27267662, -0.00062330, 0.00038195, 7.27205332, 0.99809565, 0.99899475, 0.49316023],
++												 [	-6.27267692, -0.00062317, 0.00038188, 7.27205375, 0.99809603, 0.99899495, 0.49316033],
++												 [	-6.27267722, -0.00062305, 0.00038180, 7.27205417, 0.99809642, 0.99899515, 0.49316032],
++												 [	-6.27267752, -0.00062292, 0.00038172, 7.27205460, 0.99809680, 0.99899536, 0.49316037],
++												 [	-6.27267782, -0.00062280, 0.00038164, 7.27205502, 0.99809718, 0.99899556, 0.49316043],
++												 [	-6.27267812, -0.00062267, 0.00038157, 7.27205545, 0.99809757, 0.99899576, 0.49316049],
++												 [	-6.27267842, -0.00062255, 0.00038149, 7.27205587, 0.99809795, 0.99899596, 0.49316053],
++												 [	-6.27267872, -0.00062242, 0.00038141, 7.27205630, 0.99809833, 0.99899616, 0.49316060],
++												 [	-6.27267902, -0.00062230, 0.00038134, 7.27205672, 0.99809871, 0.99899637, 0.49316061],
++												 [	-6.27267932, -0.00062217, 0.00038126, 7.27205715, 0.99809910, 0.99899657, 0.49316068],
++												 [	-6.27267962, -0.00062205, 0.00038118, 7.27205757, 0.99809948, 0.99899677, 0.49316072],
++												 [	-6.27267992, -0.00062192, 0.00038111, 7.27205799, 0.99809986, 0.99899697, 0.49316074],
++												 [	-6.27268021, -0.00062180, 0.00038103, 7.27205842, 0.99810024, 0.99899717, 0.49316079],
++												 [	-6.27268051, -0.00062167, 0.00038095, 7.27205884, 0.99810062, 0.99899737, 0.49316083],
++												 [	-6.27268081, -0.00062155, 0.00038088, 7.27205927, 0.99810100, 0.99899757, 0.49316088],
++												 [	-6.27268111, -0.00062142, 0.00038080, 7.27205969, 0.99810139, 0.99899778, 0.49316090],
++												 [	-6.27268141, -0.00062130, 0.00038072, 7.27206011, 0.99810177, 0.99899798, 0.49316099],
++												 [	-6.27268171, -0.00062117, 0.00038065, 7.27206053, 0.99810215, 0.99899818, 0.49316102],
++												 [	-6.27268201, -0.00062105, 0.00038057, 7.27206096, 0.99810253, 0.99899838, 0.49316107],
++												 [	-6.27268230, -0.00062092, 0.00038050, 7.27206138, 0.99810291, 0.99899858, 0.49316107],
++												 [	-6.27268260, -0.00062080, 0.00038042, 7.27206180, 0.99810329, 0.99899878, 0.49316112],
++												 [	-6.27268290, -0.00062067, 0.00038034, 7.27206223, 0.99810367, 0.99899898, 0.49316121],
++												 [	-6.27268320, -0.00062055, 0.00038027, 7.27206265, 0.99810405, 0.99899918, 0.49316122],
++												 [	-6.27268350, -0.00062043, 0.00038019, 7.27206307, 0.99810443, 0.99899938, 0.49316127],
++												 [	-6.27268379, -0.00062030, 0.00038011, 7.27206349, 0.99810481, 0.99899958, 0.49316133],
++												 [	-6.27268409, -0.00062018, 0.00038004, 7.27206391, 0.99810519, 0.99899978, 0.49316137],
++												 [	-6.27268439, -0.00062005, 0.00037996, 7.27206433, 0.99810557, 0.99899999, 0.49316141],
++												 [	-6.27268468, -0.00061993, 0.00037989, 7.27206476, 0.99810595, 0.99900019, 0.49316145],
++												 [	-6.27268498, -0.00061980, 0.00037981, 7.27206518, 0.99810633, 0.99900039, 0.49316150],
++												 [	-6.27268528, -0.00061968, 0.00037973, 7.27206560, 0.99810671, 0.99900059, 0.49316152],
++												 [	-6.27268558, -0.00061956, 0.00037966, 7.27206602, 0.99810709, 0.99900079, 0.49316158],
++												 [	-6.27268587, -0.00061943, 0.00037958, 7.27206644, 0.99810747, 0.99900099, 0.49316160],
++												 [	-6.27268617, -0.00061931, 0.00037951, 7.27206686, 0.99810785, 0.99900119, 0.49316174],
++												 [	-6.27268647, -0.00061919, 0.00037943, 7.27206728, 0.99810823, 0.99900139, 0.49316174],
++												 [	-6.27268676, -0.00061906, 0.00037935, 7.27206770, 0.99810860, 0.99900159, 0.49316173],
++												 [	-6.27268706, -0.00061894, 0.00037928, 7.27206812, 0.99810898, 0.99900179, 0.49316182],
++												 [	-6.27268735, -0.00061881, 0.00037920, 7.27206854, 0.99810936, 0.99900198, 0.49316185],
++												 [	-6.27268765, -0.00061869, 0.00037913, 7.27206896, 0.99810974, 0.99900218, 0.49316190],
++												 [	-6.27268795, -0.00061857, 0.00037905, 7.27206938, 0.99811012, 0.99900238, 0.49316194],
++												 [	-6.27268824, -0.00061844, 0.00037897, 7.27206980, 0.99811049, 0.99900258, 0.49316199],
++												 [	-6.27268854, -0.00061832, 0.00037890, 7.27207022, 0.99811087, 0.99900278, 0.49316201],
++												 [	-6.27268883, -0.00061820, 0.00037882, 7.27207064, 0.99811125, 0.99900298, 0.49316207],
++												 [	-6.27268913, -0.00061807, 0.00037875, 7.27207106, 0.99811163, 0.99900318, 0.49316215],
++												 [	-6.27268942, -0.00061795, 0.00037867, 7.27207147, 0.99811200, 0.99900338, 0.49316215],
++												 [	-6.27268972, -0.00061783, 0.00037860, 7.27207189, 0.99811238, 0.99900358, 0.49316222],
++												 [	-6.27269001, -0.00061770, 0.00037852, 7.27207231, 0.99811276, 0.99900378, 0.49316225],
++												 [	-6.27269031, -0.00061758, 0.00037844, 7.27207273, 0.99811313, 0.99900398, 0.49316226],
++												 [	-6.27269060, -0.00061746, 0.00037837, 7.27207315, 0.99811351, 0.99900418, 0.49316232],
++												 [	-6.27269090, -0.00061733, 0.00037829, 7.27207356, 0.99811389, 0.99900437, 0.49316241],
++												 [	-6.27269119, -0.00061721, 0.00037822, 7.27207398, 0.99811426, 0.99900457, 0.49316240],
++												 [	-6.27269149, -0.00061709, 0.00037814, 7.27207440, 0.99811464, 0.99900477, 0.49316244],
++												 [	-6.27269178, -0.00061696, 0.00037807, 7.27207482, 0.99811502, 0.99900497, 0.49316250],
++												 [	-6.27269208, -0.00061684, 0.00037799, 7.27207523, 0.99811539, 0.99900517, 0.49316255],
++												 [	-6.27269237, -0.00061672, 0.00037792, 7.27207565, 0.99811577, 0.99900537, 0.49316260],
++												 [	-6.27269266, -0.00061660, 0.00037784, 7.27207607, 0.99811614, 0.99900556, 0.49316268],
++												 [	-6.27269296, -0.00061647, 0.00037777, 7.27207648, 0.99811652, 0.99900576, 0.49316264],
++												 [	-6.27269325, -0.00061635, 0.00037769, 7.27207690, 0.99811689, 0.99900596, 0.49316274],
++												 [	-6.27269354, -0.00061623, 0.00037762, 7.27207732, 0.99811727, 0.99900616, 0.49316275],
++												 [	-6.27269384, -0.00061610, 0.00037754, 7.27207773, 0.99811764, 0.99900636, 0.49316280],
++												 [	-6.27269413, -0.00061598, 0.00037746, 7.27207815, 0.99811802, 0.99900655, 0.49316280],
++												 [	-6.27269442, -0.00061586, 0.00037739, 7.27207857, 0.99811839, 0.99900675, 0.49316288],
++												 [	-6.27269472, -0.00061574, 0.00037731, 7.27207898, 0.99811877, 0.99900695, 0.49316293],
++												 [	-6.27269501, -0.00061561, 0.00037724, 7.27207940, 0.99811914, 0.99900715, 0.49316299],
++												 [	-6.27269530, -0.00061549, 0.00037716, 7.27207981, 0.99811952, 0.99900734, 0.49316305],
++												 [	-6.27269560, -0.00061537, 0.00037709, 7.27208023, 0.99811989, 0.99900754, 0.49316305],
++												 [	-6.27269589, -0.00061525, 0.00037701, 7.27208064, 0.99812026, 0.99900774, 0.49316309],
++												 [	-6.27269618, -0.00061512, 0.00037694, 7.27208106, 0.99812064, 0.99900794, 0.49316319],
++												 [	-6.27269647, -0.00061500, 0.00037686, 7.27208147, 0.99812101, 0.99900813, 0.49316320],
++												 [	-6.27269677, -0.00061488, 0.00037679, 7.27208189, 0.99812138, 0.99900833, 0.49316326],
++												 [	-6.27269706, -0.00061476, 0.00037671, 7.27208230, 0.99812176, 0.99900853, 0.49316331],
++												 [	-6.27269735, -0.00061464, 0.00037664, 7.27208271, 0.99812213, 0.99900872, 0.49316334],
++												 [	-6.27269764, -0.00061451, 0.00037656, 7.27208313, 0.99812250, 0.99900892, 0.49316337],
++												 [	-6.27269793, -0.00061439, 0.00037649, 7.27208354, 0.99812288, 0.99900912, 0.49316343],
++												 [	-6.27269823, -0.00061427, 0.00037642, 7.27208396, 0.99812325, 0.99900931, 0.49316350],
++												 [	-6.27269852, -0.00061415, 0.00037634, 7.27208437, 0.99812362, 0.99900951, 0.49316348],
++												 [	-6.27269881, -0.00061403, 0.00037627, 7.27208478, 0.99812399, 0.99900971, 0.49316356],
++												 [	-6.27269910, -0.00061390, 0.00037619, 7.27208520, 0.99812437, 0.99900990, 0.49316359],
++												 [	-6.27269939, -0.00061378, 0.00037612, 7.27208561, 0.99812474, 0.99901010, 0.49316364],
++												 [	-6.27269968, -0.00061366, 0.00037604, 7.27208602, 0.99812511, 0.99901030, 0.49316368],
++												 [	-6.27269997, -0.00061354, 0.00037597, 7.27208643, 0.99812548, 0.99901049, 0.49316372],
++												 [	-6.27270027, -0.00061342, 0.00037589, 7.27208685, 0.99812585, 0.99901069, 0.49316379],
++												 [	-6.27270056, -0.00061330, 0.00037582, 7.27208726, 0.99812623, 0.99901089, 0.49316380],
++												 [	-6.27270085, -0.00061318, 0.00037574, 7.27208767, 0.99812660, 0.99901108, 0.49316383],
++												 [	-6.27270114, -0.00061305, 0.00037567, 7.27208808, 0.99812697, 0.99901128, 0.49316392],
++												 [	-6.27270143, -0.00061293, 0.00037559, 7.27208850, 0.99812734, 0.99901147, 0.49316393],
++												 [	-6.27270172, -0.00061281, 0.00037552, 7.27208891, 0.99812771, 0.99901167, 0.49316398],
++												 [	-6.27270201, -0.00061269, 0.00037545, 7.27208932, 0.99812808, 0.99901186, 0.49316403],
++												 [	-6.27270230, -0.00061257, 0.00037537, 7.27208973, 0.99812845, 0.99901206, 0.49316407],
++												 [	-6.27270259, -0.00061245, 0.00037530, 7.27209014, 0.99812882, 0.99901226, 0.49316411],
++												 [	-6.27270288, -0.00061233, 0.00037522, 7.27209055, 0.99812919, 0.99901245, 0.49316419],
++												 [	-6.27270317, -0.00061221, 0.00037515, 7.27209096, 0.99812956, 0.99901265, 0.49316420],
++												 [	-6.27270346, -0.00061208, 0.00037507, 7.27209137, 0.99812993, 0.99901284, 0.49316424],
++												 [	-6.27270375, -0.00061196, 0.00037500, 7.27209178, 0.99813030, 0.99901304, 0.49316431],
++												 [	-6.27270404, -0.00061184, 0.00037493, 7.27209219, 0.99813067, 0.99901323, 0.49316432],
++												 [	-6.27270433, -0.00061172, 0.00037485, 7.27209260, 0.99813104, 0.99901343, 0.49316435],
++												 [	-6.27270462, -0.00061160, 0.00037478, 7.27209301, 0.99813141, 0.99901362, 0.49316437],
++												 [	-6.27270490, -0.00061148, 0.00037470, 7.27209342, 0.99813178, 0.99901382, 0.49316447],
++												 [	-6.27270519, -0.00061136, 0.00037463, 7.27209383, 0.99813215, 0.99901401, 0.49316452],
++												 [	-6.27270548, -0.00061124, 0.00037456, 7.27209424, 0.99813252, 0.99901421, 0.49316453],
++												 [	-6.27270577, -0.00061112, 0.00037448, 7.27209465, 0.99813289, 0.99901440, 0.49316460],
++												 [	-6.27270606, -0.00061100, 0.00037441, 7.27209506, 0.99813326, 0.99901460, 0.49316462],
++												 [	-6.27270635, -0.00061088, 0.00037433, 7.27209547, 0.99813362, 0.99901479, 0.49316468],
++												 [	-6.27270664, -0.00061076, 0.00037426, 7.27209588, 0.99813399, 0.99901498, 0.49316472],
++												 [	-6.27270692, -0.00061064, 0.00037419, 7.27209629, 0.99813436, 0.99901518, 0.49316476],
++												 [	-6.27270721, -0.00061051, 0.00037411, 7.27209670, 0.99813473, 0.99901537, 0.49316483],
++												 [	-6.27270750, -0.00061039, 0.00037404, 7.27209711, 0.99813510, 0.99901557, 0.49316482],
++												 [	-6.27270779, -0.00061027, 0.00037396, 7.27209751, 0.99813547, 0.99901576, 0.49316493],
++												 [	-6.27270808, -0.00061015, 0.00037389, 7.27209792, 0.99813583, 0.99901596, 0.49316495],
++												 [	-6.27270836, -0.00061003, 0.00037382, 7.27209833, 0.99813620, 0.99901615, 0.49316498],
++												 [	-6.27270865, -0.00060991, 0.00037374, 7.27209874, 0.99813657, 0.99901634, 0.49316501],
++												 [	-6.27270894, -0.00060979, 0.00037367, 7.27209915, 0.99813694, 0.99901654, 0.49316504],
++												 [	-6.27270923, -0.00060967, 0.00037360, 7.27209955, 0.99813730, 0.99901673, 0.49316509],
++												 [	-6.27270951, -0.00060955, 0.00037352, 7.27209996, 0.99813767, 0.99901692, 0.49316516],
++												 [	-6.27270980, -0.00060943, 0.00037345, 7.27210037, 0.99813804, 0.99901712, 0.49316521],
++												 [	-6.27271009, -0.00060931, 0.00037338, 7.27210078, 0.99813840, 0.99901731, 0.49316522],
++												 [	-6.27271038, -0.00060919, 0.00037330, 7.27210118, 0.99813877, 0.99901751, 0.49316529],
++												 [	-6.27271066, -0.00060907, 0.00037323, 7.27210159, 0.99813914, 0.99901770, 0.49316533],
++												 [	-6.27271095, -0.00060895, 0.00037315, 7.27210200, 0.99813950, 0.99901789, 0.49316538],
++												 [	-6.27271124, -0.00060883, 0.00037308, 7.27210240, 0.99813987, 0.99901808, 0.49316545],
++												 [	-6.27271152, -0.00060871, 0.00037301, 7.27210281, 0.99814023, 0.99901828, 0.49316550],
++												 [	-6.27271181, -0.00060859, 0.00037293, 7.27210321, 0.99814060, 0.99901847, 0.49316550],
++												 [	-6.27271209, -0.00060847, 0.00037286, 7.27210362, 0.99814097, 0.99901866, 0.49316554],
++												 [	-6.27271238, -0.00060836, 0.00037279, 7.27210403, 0.99814133, 0.99901886, 0.49316555],
++												 [	-6.27271267, -0.00060824, 0.00037271, 7.27210443, 0.99814170, 0.99901905, 0.49316564],
++												 [	-6.27271295, -0.00060812, 0.00037264, 7.27210484, 0.99814206, 0.99901924, 0.49316569],
++												 [	-6.27271324, -0.00060800, 0.00037257, 7.27210524, 0.99814243, 0.99901944, 0.49316569],
++												 [	-6.27271352, -0.00060788, 0.00037249, 7.27210565, 0.99814279, 0.99901963, 0.49316572],
++												 [	-6.27271381, -0.00060776, 0.00037242, 7.27210605, 0.99814316, 0.99901982, 0.49316582],
++												 [	-6.27271410, -0.00060764, 0.00037235, 7.27210646, 0.99814352, 0.99902001, 0.49316585],
++												 [	-6.27271438, -0.00060752, 0.00037228, 7.27210686, 0.99814389, 0.99902021, 0.49316587],
++												 [	-6.27271467, -0.00060740, 0.00037220, 7.27210727, 0.99814425, 0.99902040, 0.49316592],
++												 [	-6.27271495, -0.00060728, 0.00037213, 7.27210767, 0.99814461, 0.99902059, 0.49316598],
++												 [	-6.27271524, -0.00060716, 0.00037206, 7.27210807, 0.99814498, 0.99902078, 0.49316599],
++												 [	-6.27271552, -0.00060704, 0.00037198, 7.27210848, 0.99814534, 0.99902097, 0.49316604],
++												 [	-6.27271581, -0.00060692, 0.00037191, 7.27210888, 0.99814571, 0.99902117, 0.49316608],
++												 [	-6.27271609, -0.00060680, 0.00037184, 7.27210929, 0.99814607, 0.99902136, 0.49316611],
++												 [	-6.27271637, -0.00060669, 0.00037176, 7.27210969, 0.99814643, 0.99902155, 0.49316616],
++												 [	-6.27271666, -0.00060657, 0.00037169, 7.27211009, 0.99814680, 0.99902174, 0.49316618],
++												 [	-6.27271694, -0.00060645, 0.00037162, 7.27211050, 0.99814716, 0.99902193, 0.49316624],
++												 [	-6.27271723, -0.00060633, 0.00037155, 7.27211090, 0.99814752, 0.99902213, 0.49316630],
++												 [	-6.27271751, -0.00060621, 0.00037147, 7.27211130, 0.99814789, 0.99902232, 0.49316633],
++												 [	-6.27271780, -0.00060609, 0.00037140, 7.27211170, 0.99814825, 0.99902251, 0.49316640],
++												 [	-6.27271808, -0.00060597, 0.00037133, 7.27211211, 0.99814861, 0.99902270, 0.49316642],
++												 [	-6.27271836, -0.00060585, 0.00037125, 7.27211251, 0.99814897, 0.99902289, 0.49316649],
++												 [	-6.27271865, -0.00060574, 0.00037118, 7.27211291, 0.99814934, 0.99902308, 0.49316653],
++												 [	-6.27271893, -0.00060562, 0.00037111, 7.27211331, 0.99814970, 0.99902327, 0.49316657],
++												 [	-6.27271921, -0.00060550, 0.00037104, 7.27211371, 0.99815006, 0.99902346, 0.49316659],
++												 [	-6.27271950, -0.00060538, 0.00037096, 7.27211412, 0.99815042, 0.99902366, 0.49316664],
++												 [	-6.27271978, -0.00060526, 0.00037089, 7.27211452, 0.99815079, 0.99902385, 0.49316670],
++												 [	-6.27272006, -0.00060514, 0.00037082, 7.27211492, 0.99815115, 0.99902404, 0.49316670],
++												 [	-6.27272035, -0.00060503, 0.00037075, 7.27211532, 0.99815151, 0.99902423, 0.49316673],
++												 [	-6.27272063, -0.00060491, 0.00037067, 7.27211572, 0.99815187, 0.99902442, 0.49316679],
++												 [	-6.27272091, -0.00060479, 0.00037060, 7.27211612, 0.99815223, 0.99902461, 0.49316685],
++												 [	-6.27272120, -0.00060467, 0.00037053, 7.27211652, 0.99815259, 0.99902480, 0.49316688],
++												 [	-6.27272148, -0.00060455, 0.00037046, 7.27211692, 0.99815295, 0.99902499, 0.49316692],
++												 [	-6.27272176, -0.00060444, 0.00037038, 7.27211732, 0.99815331, 0.99902518, 0.49316699],
++												 [	-6.27272204, -0.00060432, 0.00037031, 7.27211773, 0.99815367, 0.99902537, 0.49316698],
++												 [	-6.27272232, -0.00060420, 0.00037024, 7.27211813, 0.99815404, 0.99902556, 0.49316707],
++												 [	-6.27272261, -0.00060408, 0.00037017, 7.27211853, 0.99815440, 0.99902575, 0.49316710],
++												 [	-6.27272289, -0.00060396, 0.00037009, 7.27211893, 0.99815476, 0.99902594, 0.49316715],
++												 [	-6.27272317, -0.00060385, 0.00037002, 7.27211933, 0.99815512, 0.99902613, 0.49316718],
++												 [	-6.27272345, -0.00060373, 0.00036995, 7.27211972, 0.99815548, 0.99902632, 0.49316722],
++												 [	-6.27272373, -0.00060361, 0.00036988, 7.27212012, 0.99815584, 0.99902651, 0.49316726],
++												 [	-6.27272402, -0.00060349, 0.00036981, 7.27212052, 0.99815620, 0.99902670, 0.49316729],
++												 [	-6.27272430, -0.00060337, 0.00036973, 7.27212092, 0.99815656, 0.99902689, 0.49316735],
++												 [	-6.27272458, -0.00060326, 0.00036966, 7.27212132, 0.99815691, 0.99902708, 0.49316741],
++												 [	-6.27272486, -0.00060314, 0.00036959, 7.27212172, 0.99815727, 0.99902727, 0.49316741],
++												 [	-6.27272514, -0.00060302, 0.00036952, 7.27212212, 0.99815763, 0.99902746, 0.49316748],
++												 [	-6.27272542, -0.00060290, 0.00036945, 7.27212252, 0.99815799, 0.99902765, 0.49316753],
++												 [	-6.27272570, -0.00060279, 0.00036937, 7.27212292, 0.99815835, 0.99902784, 0.49316756],
++												 [	-6.27272598, -0.00060267, 0.00036930, 7.27212331, 0.99815871, 0.99902803, 0.49316761],
++												 [	-6.27272626, -0.00060255, 0.00036923, 7.27212371, 0.99815907, 0.99902822, 0.49316767],
++												 [	-6.27272654, -0.00060244, 0.00036916, 7.27212411, 0.99815943, 0.99902841, 0.49316768],
++												 [	-6.27272683, -0.00060232, 0.00036909, 7.27212451, 0.99815978, 0.99902860, 0.49316772],
++												 [	-6.27272711, -0.00060220, 0.00036901, 7.27212490, 0.99816014, 0.99902879, 0.49316778],
++												 [	-6.27272739, -0.00060208, 0.00036894, 7.27212530, 0.99816050, 0.99902897, 0.49316778],
++												 [	-6.27272767, -0.00060197, 0.00036887, 7.27212570, 0.99816086, 0.99902916, 0.49316783],
++												 [	-6.27272795, -0.00060185, 0.00036880, 7.27212610, 0.99816122, 0.99902935, 0.49316788],
++												 [	-6.27272823, -0.00060173, 0.00036873, 7.27212649, 0.99816157, 0.99902954, 0.49316787],
++												 [	-6.27272851, -0.00060162, 0.00036865, 7.27212689, 0.99816193, 0.99902973, 0.49316799],
++												 [	-6.27272879, -0.00060150, 0.00036858, 7.27212729, 0.99816229, 0.99902992, 0.49316801],
++												 [	-6.27272907, -0.00060138, 0.00036851, 7.27212768, 0.99816265, 0.99903011, 0.49316805],
++												 [	-6.27272934, -0.00060127, 0.00036844, 7.27212808, 0.99816300, 0.99903029, 0.49316810],
++												 [	-6.27272962, -0.00060115, 0.00036837, 7.27212848, 0.99816336, 0.99903048, 0.49316812],
++												 [	-6.27272990, -0.00060103, 0.00036830, 7.27212887, 0.99816372, 0.99903067, 0.49316815],
++												 [	-6.27273018, -0.00060092, 0.00036823, 7.27212927, 0.99816407, 0.99903086, 0.49316824],
++												 [	-6.27273046, -0.00060080, 0.00036815, 7.27212966, 0.99816443, 0.99903105, 0.49316825],
++												 [	-6.27273074, -0.00060068, 0.00036808, 7.27213006, 0.99816479, 0.99903124, 0.49316832],
++												 [	-6.27273102, -0.00060057, 0.00036801, 7.27213045, 0.99816514, 0.99903142, 0.49316835],
++												 [	-6.27273130, -0.00060045, 0.00036794, 7.27213085, 0.99816550, 0.99903161, 0.49316839],
++												 [	-6.27273158, -0.00060033, 0.00036787, 7.27213124, 0.99816585, 0.99903180, 0.49316844],
++												 [	-6.27273186, -0.00060022, 0.00036780, 7.27213164, 0.99816621, 0.99903199, 0.49316848],
++												 [	-6.27273213, -0.00060010, 0.00036773, 7.27213203, 0.99816657, 0.99903218, 0.49316850],
++												 [	-6.27273241, -0.00059998, 0.00036765, 7.27213243, 0.99816692, 0.99903236, 0.49316856],
++												 [	-6.27273269, -0.00059987, 0.00036758, 7.27213282, 0.99816728, 0.99903255, 0.49316861],
++												 [	-6.27273297, -0.00059975, 0.00036751, 7.27213322, 0.99816763, 0.99903274, 0.49316864],
++												 [	-6.27273325, -0.00059963, 0.00036744, 7.27213361, 0.99816799, 0.99903293, 0.49316869],
++												 [	-6.27273352, -0.00059952, 0.00036737, 7.27213401, 0.99816834, 0.99903311, 0.49316872],
++												 [	-6.27273380, -0.00059940, 0.00036730, 7.27213440, 0.99816870, 0.99903330, 0.49316876],
++												 [	-6.27273408, -0.00059929, 0.00036723, 7.27213479, 0.99816905, 0.99903349, 0.49316877],
++												 [	-6.27273436, -0.00059917, 0.00036716, 7.27213519, 0.99816941, 0.99903367, 0.49316887],
++												 [	-6.27273463, -0.00059905, 0.00036708, 7.27213558, 0.99816976, 0.99903386, 0.49316888],
++												 [	-6.27273491, -0.00059894, 0.00036701, 7.27213597, 0.99817012, 0.99903405, 0.49316895],
++												 [	-6.27273519, -0.00059882, 0.00036694, 7.27213637, 0.99817047, 0.99903424, 0.49316897],
++												 [	-6.27273547, -0.00059871, 0.00036687, 7.27213676, 0.99817082, 0.99903442, 0.49316901],
++												 [	-6.27273574, -0.00059859, 0.00036680, 7.27213715, 0.99817118, 0.99903461, 0.49316906],
++												 [	-6.27273602, -0.00059848, 0.00036673, 7.27213754, 0.99817153, 0.99903480, 0.49316911],
++												 [	-6.27273630, -0.00059836, 0.00036666, 7.27213794, 0.99817189, 0.99903498, 0.49316913],
++												 [	-6.27273657, -0.00059824, 0.00036659, 7.27213833, 0.99817224, 0.99903517, 0.49316914],
++												 [	-6.27273685, -0.00059813, 0.00036652, 7.27213872, 0.99817259, 0.99903535, 0.49316924],
++												 [	-6.27273713, -0.00059801, 0.00036645, 7.27213911, 0.99817295, 0.99903554, 0.49316926],
++												 [	-6.27273740, -0.00059790, 0.00036637, 7.27213951, 0.99817330, 0.99903573, 0.49316930],
++												 [	-6.27273768, -0.00059778, 0.00036630, 7.27213990, 0.99817365, 0.99903591, 0.49316938],
++												 [	-6.27273796, -0.00059767, 0.00036623, 7.27214029, 0.99817400, 0.99903610, 0.49316938],
++												 [	-6.27273823, -0.00059755, 0.00036616, 7.27214068, 0.99817436, 0.99903629, 0.49316938],
++												 [	-6.27273851, -0.00059744, 0.00036609, 7.27214107, 0.99817471, 0.99903647, 0.49316946],
++												 [	-6.27273878, -0.00059732, 0.00036602, 7.27214146, 0.99817506, 0.99903666, 0.49316948],
++												 [	-6.27273906, -0.00059721, 0.00036595, 7.27214185, 0.99817541, 0.99903684, 0.49316954],
++												 [	-6.27273933, -0.00059709, 0.00036588, 7.27214224, 0.99817577, 0.99903703, 0.49316961],
++												 [	-6.27273961, -0.00059698, 0.00036581, 7.27214263, 0.99817612, 0.99903722, 0.49316964],
++												 [	-6.27273989, -0.00059686, 0.00036574, 7.27214303, 0.99817647, 0.99903740, 0.49316966],
++												 [	-6.27274016, -0.00059674, 0.00036567, 7.27214342, 0.99817682, 0.99903759, 0.49316973],
++												 [	-6.27274044, -0.00059663, 0.00036560, 7.27214381, 0.99817717, 0.99903777, 0.49316976],
++												 [	-6.27274071, -0.00059651, 0.00036553, 7.27214420, 0.99817752, 0.99903796, 0.49316978],
++												 [	-6.27274099, -0.00059640, 0.00036546, 7.27214459, 0.99817788, 0.99903814, 0.49316985],
++												 [	-6.27274126, -0.00059629, 0.00036539, 7.27214498, 0.99817823, 0.99903833, 0.49316985],
++												 [	-6.27274154, -0.00059617, 0.00036532, 7.27214537, 0.99817858, 0.99903851, 0.49316990],
++												 [	-6.27274181, -0.00059606, 0.00036525, 7.27214575, 0.99817893, 0.99903870, 0.49316996],
++												 [	-6.27274208, -0.00059594, 0.00036517, 7.27214614, 0.99817928, 0.99903888, 0.49317001],
++												 [	-6.27274236, -0.00059583, 0.00036510, 7.27214653, 0.99817963, 0.99903907, 0.49317000],
++												 [	-6.27274263, -0.00059571, 0.00036503, 7.27214692, 0.99817998, 0.99903925, 0.49317004],
++												 [	-6.27274291, -0.00059560, 0.00036496, 7.27214731, 0.99818033, 0.99903944, 0.49317008],
++												 [	-6.27274318, -0.00059548, 0.00036489, 7.27214770, 0.99818068, 0.99903962, 0.49317014],
++												 [	-6.27274346, -0.00059537, 0.00036482, 7.27214809, 0.99818103, 0.99903981, 0.49317022],
++												 [	-6.27274373, -0.00059525, 0.00036475, 7.27214848, 0.99818138, 0.99903999, 0.49317024],
++												 [	-6.27274400, -0.00059514, 0.00036468, 7.27214886, 0.99818173, 0.99904018, 0.49317029],
++												 [	-6.27274428, -0.00059502, 0.00036461, 7.27214925, 0.99818208, 0.99904036, 0.49317032],
++												 [	-6.27274455, -0.00059491, 0.00036454, 7.27214964, 0.99818243, 0.99904055, 0.49317037],
++												 [	-6.27274482, -0.00059480, 0.00036447, 7.27215003, 0.99818278, 0.99904073, 0.49317042],
++												 [	-6.27274510, -0.00059468, 0.00036440, 7.27215042, 0.99818313, 0.99904092, 0.49317048],
++												 [	-6.27274537, -0.00059457, 0.00036433, 7.27215080, 0.99818348, 0.99904110, 0.49317047],
++												 [	-6.27274564, -0.00059445, 0.00036426, 7.27215119, 0.99818383, 0.99904128, 0.49317056],
++												 [	-6.27274592, -0.00059434, 0.00036419, 7.27215158, 0.99818418, 0.99904147, 0.49317055],
++												 [	-6.27274619, -0.00059422, 0.00036412, 7.27215197, 0.99818452, 0.99904165, 0.49317062],
++												 [	-6.27274646, -0.00059411, 0.00036405, 7.27215235, 0.99818487, 0.99904184, 0.49317064],
++												 [	-6.27274674, -0.00059400, 0.00036398, 7.27215274, 0.99818522, 0.99904202, 0.49317066],
++												 [	-6.27274701, -0.00059388, 0.00036391, 7.27215313, 0.99818557, 0.99904220, 0.49317073],
++												 [	-6.27274728, -0.00059377, 0.00036384, 7.27215351, 0.99818592, 0.99904239, 0.49317076],
++												 [	-6.27274755, -0.00059365, 0.00036377, 7.27215390, 0.99818627, 0.99904257, 0.49317082],
++												 [	-6.27274783, -0.00059354, 0.00036370, 7.27215428, 0.99818661, 0.99904276, 0.49317086],
++												 [	-6.27274810, -0.00059343, 0.00036363, 7.27215467, 0.99818696, 0.99904294, 0.49317091],
++												 [	-6.27274837, -0.00059331, 0.00036356, 7.27215506, 0.99818731, 0.99904312, 0.49317096],
++												 [	-6.27274864, -0.00059320, 0.00036349, 7.27215544, 0.99818766, 0.99904331, 0.49317092],
++												 [	-6.27274891, -0.00059309, 0.00036342, 7.27215583, 0.99818800, 0.99904349, 0.49317097],
++												 [	-6.27274919, -0.00059297, 0.00036335, 7.27215621, 0.99818835, 0.99904367, 0.49317108],
++												 [	-6.27274946, -0.00059286, 0.00036329, 7.27215660, 0.99818870, 0.99904386, 0.49317108],
++												 [	-6.27274973, -0.00059275, 0.00036322, 7.27215698, 0.99818905, 0.99904404, 0.49317113],
++												 [	-6.27275000, -0.00059263, 0.00036315, 7.27215737, 0.99818939, 0.99904422, 0.49317119],
++												 [	-6.27275027, -0.00059252, 0.00036308, 7.27215775, 0.99818974, 0.99904440, 0.49317125],
++												 [	-6.27275054, -0.00059241, 0.00036301, 7.27215814, 0.99819009, 0.99904459, 0.49317124],
++												 [	-6.27275081, -0.00059229, 0.00036294, 7.27215852, 0.99819043, 0.99904477, 0.49317130],
++												 [	-6.27275109, -0.00059218, 0.00036287, 7.27215891, 0.99819078, 0.99904495, 0.49317131],
++												 [	-6.27275136, -0.00059207, 0.00036280, 7.27215929, 0.99819113, 0.99904514, 0.49317136],
++												 [	-6.27275163, -0.00059195, 0.00036273, 7.27215968, 0.99819147, 0.99904532, 0.49317137],
++												 [	-6.27275190, -0.00059184, 0.00036266, 7.27216006, 0.99819182, 0.99904550, 0.49317148],
++												 [	-6.27275217, -0.00059173, 0.00036259, 7.27216044, 0.99819216, 0.99904568, 0.49317152],
++												 [	-6.27275244, -0.00059161, 0.00036252, 7.27216083, 0.99819251, 0.99904587, 0.49317157],
++												 [	-6.27275271, -0.00059150, 0.00036245, 7.27216121, 0.99819285, 0.99904605, 0.49317157],
++												 [	-6.27275298, -0.00059139, 0.00036238, 7.27216159, 0.99819320, 0.99904623, 0.49317163],
++												 [	-6.27275325, -0.00059127, 0.00036231, 7.27216198, 0.99819355, 0.99904641, 0.49317168],
++												 [	-6.27275352, -0.00059116, 0.00036224, 7.27216236, 0.99819389, 0.99904660, 0.49317166],
++												 [	-6.27275379, -0.00059105, 0.00036217, 7.27216274, 0.99819424, 0.99904678, 0.49317177],
++												 [	-6.27275406, -0.00059094, 0.00036211, 7.27216313, 0.99819458, 0.99904696, 0.49317179],
++												 [	-6.27275433, -0.00059082, 0.00036204, 7.27216351, 0.99819493, 0.99904714, 0.49317185],
++												 [	-6.27275460, -0.00059071, 0.00036197, 7.27216389, 0.99819527, 0.99904732, 0.49317189],
++												 [	-6.27275487, -0.00059060, 0.00036190, 7.27216427, 0.99819561, 0.99904751, 0.49317188],
++												 [	-6.27275514, -0.00059048, 0.00036183, 7.27216466, 0.99819596, 0.99904769, 0.49317197],
++												 [	-6.27275541, -0.00059037, 0.00036176, 7.27216504, 0.99819630, 0.99904787, 0.49317199],
++												 [	-6.27275568, -0.00059026, 0.00036169, 7.27216542, 0.99819665, 0.99904805, 0.49317206],
++												 [	-6.27275595, -0.00059015, 0.00036162, 7.27216580, 0.99819699, 0.99904823, 0.49317206],
++												 [	-6.27275622, -0.00059003, 0.00036155, 7.27216618, 0.99819733, 0.99904841, 0.49317210],
++												 [	-6.27275649, -0.00058992, 0.00036148, 7.27216656, 0.99819768, 0.99904859, 0.49317215],
++												 [	-6.27275675, -0.00058981, 0.00036141, 7.27216695, 0.99819802, 0.99904878, 0.49317218],
++												 [	-6.27275702, -0.00058970, 0.00036135, 7.27216733, 0.99819837, 0.99904896, 0.49317220],
++												 [	-6.27275729, -0.00058958, 0.00036128, 7.27216771, 0.99819871, 0.99904914, 0.49317224],
++												 [	-6.27275756, -0.00058947, 0.00036121, 7.27216809, 0.99819905, 0.99904932, 0.49317231],
++												 [	-6.27275783, -0.00058936, 0.00036114, 7.27216847, 0.99819939, 0.99904950, 0.49317228],
++												 [	-6.27275810, -0.00058925, 0.00036107, 7.27216885, 0.99819974, 0.99904968, 0.49317238],
++												 [	-6.27275837, -0.00058914, 0.00036100, 7.27216923, 0.99820008, 0.99904986, 0.49317241],
++												 [	-6.27275863, -0.00058902, 0.00036093, 7.27216961, 0.99820042, 0.99905004, 0.49317245],
++												 [	-6.27275890, -0.00058891, 0.00036086, 7.27216999, 0.99820077, 0.99905022, 0.49317253],
++												 [	-6.27275917, -0.00058880, 0.00036080, 7.27217037, 0.99820111, 0.99905040, 0.49317256],
++												 [	-6.27275944, -0.00058869, 0.00036073, 7.27217075, 0.99820145, 0.99905059, 0.49317260],
++												 [	-6.27275971, -0.00058858, 0.00036066, 7.27217113, 0.99820179, 0.99905077, 0.49317263],
++												 [	-6.27275997, -0.00058846, 0.00036059, 7.27217151, 0.99820213, 0.99905095, 0.49317270],
++												 [	-6.27276024, -0.00058835, 0.00036052, 7.27217189, 0.99820248, 0.99905113, 0.49317272],
++												 [	-6.27276051, -0.00058824, 0.00036045, 7.27217227, 0.99820282, 0.99905131, 0.49317275],
++												 [	-6.27276078, -0.00058813, 0.00036038, 7.27217265, 0.99820316, 0.99905149, 0.49317277],
++												 [	-6.27276104, -0.00058802, 0.00036032, 7.27217303, 0.99820350, 0.99905167, 0.49317281],
++												 [	-6.27276131, -0.00058790, 0.00036025, 7.27217341, 0.99820384, 0.99905185, 0.49317287],
++												 [	-6.27276158, -0.00058779, 0.00036018, 7.27217378, 0.99820418, 0.99905203, 0.49317289],
++												 [	-6.27276184, -0.00058768, 0.00036011, 7.27217416, 0.99820453, 0.99905221, 0.49317299],
++												 [	-6.27276211, -0.00058757, 0.00036004, 7.27217454, 0.99820487, 0.99905239, 0.49317296],
++												 [	-6.27276238, -0.00058746, 0.00035997, 7.27217492, 0.99820521, 0.99905257, 0.49317302],
++												 [	-6.27276265, -0.00058735, 0.00035991, 7.27217530, 0.99820555, 0.99905275, 0.49317307],
++												 [	-6.27276291, -0.00058724, 0.00035984, 7.27217568, 0.99820589, 0.99905293, 0.49317310],
++												 [	-6.27276318, -0.00058712, 0.00035977, 7.27217605, 0.99820623, 0.99905311, 0.49317316],
++												 [	-6.27276344, -0.00058701, 0.00035970, 7.27217643, 0.99820657, 0.99905329, 0.49317319],
++												 [	-6.27276371, -0.00058690, 0.00035963, 7.27217681, 0.99820691, 0.99905347, 0.49317321],
++												 [	-6.27276398, -0.00058679, 0.00035956, 7.27217719, 0.99820725, 0.99905365, 0.49317328],
++												 [	-6.27276424, -0.00058668, 0.00035950, 7.27217756, 0.99820759, 0.99905383, 0.49317329],
++												 [	-6.27276451, -0.00058657, 0.00035943, 7.27217794, 0.99820793, 0.99905400, 0.49317335],
++												 [	-6.27276478, -0.00058646, 0.00035936, 7.27217832, 0.99820827, 0.99905418, 0.49317337],
++												 [	-6.27276504, -0.00058635, 0.00035929, 7.27217870, 0.99820861, 0.99905436, 0.49317339],
++												 [	-6.27276531, -0.00058623, 0.00035922, 7.27217907, 0.99820895, 0.99905454, 0.49317346],
++												 [	-6.27276557, -0.00058612, 0.00035916, 7.27217945, 0.99820929, 0.99905472, 0.49317350],
++												 [	-6.27276584, -0.00058601, 0.00035909, 7.27217982, 0.99820963, 0.99905490, 0.49317354],
++												 [	-6.27276610, -0.00058590, 0.00035902, 7.27218020, 0.99820997, 0.99905508, 0.49317358],
++												 [	-6.27276637, -0.00058579, 0.00035895, 7.27218058, 0.99821030, 0.99905526, 0.49317361],
++												 [	-6.27276663, -0.00058568, 0.00035888, 7.27218095, 0.99821064, 0.99905544, 0.49317361],
++												 [	-6.27276690, -0.00058557, 0.00035882, 7.27218133, 0.99821098, 0.99905562, 0.49317370],
++												 [	-6.27276716, -0.00058546, 0.00035875, 7.27218170, 0.99821132, 0.99905579, 0.49317372],
++												 [	-6.27276743, -0.00058535, 0.00035868, 7.27218208, 0.99821166, 0.99905597, 0.49317378],
++												 [	-6.27276769, -0.00058524, 0.00035861, 7.27218246, 0.99821200, 0.99905615, 0.49317376],
++												 [	-6.27276796, -0.00058513, 0.00035854, 7.27218283, 0.99821233, 0.99905633, 0.49317387],
++												 [	-6.27276822, -0.00058502, 0.00035848, 7.27218321, 0.99821267, 0.99905651, 0.49317387],
++												 [	-6.27276849, -0.00058491, 0.00035841, 7.27218358, 0.99821301, 0.99905669, 0.49317394],
++												 [	-6.27276875, -0.00058480, 0.00035834, 7.27218396, 0.99821335, 0.99905686, 0.49317397],
++												 [	-6.27276902, -0.00058468, 0.00035827, 7.27218433, 0.99821369, 0.99905704, 0.49317398],
++												 [	-6.27276928, -0.00058457, 0.00035820, 7.27218471, 0.99821402, 0.99905722, 0.49317402],
++												 [	-6.27276954, -0.00058446, 0.00035814, 7.27218508, 0.99821436, 0.99905740, 0.49317408],
++												 [	-6.27276981, -0.00058435, 0.00035807, 7.27218545, 0.99821470, 0.99905758, 0.49317410],
++												 [	-6.27277007, -0.00058424, 0.00035800, 7.27218583, 0.99821504, 0.99905775, 0.49317417],
++												 [	-6.27277034, -0.00058413, 0.00035793, 7.27218620, 0.99821537, 0.99905793, 0.49317422],
++												 [	-6.27277060, -0.00058402, 0.00035787, 7.27218658, 0.99821571, 0.99905811, 0.49317425],
++												 [	-6.27277086, -0.00058391, 0.00035780, 7.27218695, 0.99821605, 0.99905829, 0.49317429],
++												 [	-6.27277113, -0.00058380, 0.00035773, 7.27218732, 0.99821638, 0.99905847, 0.49317428],
++												 [	-6.27277139, -0.00058369, 0.00035766, 7.27218770, 0.99821672, 0.99905864, 0.49317437],
++												 [	-6.27277165, -0.00058358, 0.00035760, 7.27218807, 0.99821706, 0.99905882, 0.49317446],
++												 [	-6.27277192, -0.00058347, 0.00035753, 7.27218844, 0.99821739, 0.99905900, 0.49317445],
++												 [	-6.27277218, -0.00058336, 0.00035746, 7.27218882, 0.99821773, 0.99905918, 0.49317449],
++												 [	-6.27277244, -0.00058325, 0.00035739, 7.27218919, 0.99821806, 0.99905935, 0.49317453],
++												 [	-6.27277270, -0.00058314, 0.00035733, 7.27218956, 0.99821840, 0.99905953, 0.49317457],
++												 [	-6.27277297, -0.00058303, 0.00035726, 7.27218993, 0.99821874, 0.99905971, 0.49317458],
++												 [	-6.27277323, -0.00058292, 0.00035719, 7.27219031, 0.99821907, 0.99905988, 0.49317467],
++												 [	-6.27277349, -0.00058281, 0.00035712, 7.27219068, 0.99821941, 0.99906006, 0.49317464],
++												 [	-6.27277376, -0.00058270, 0.00035706, 7.27219105, 0.99821974, 0.99906024, 0.49317472],
++												 [	-6.27277402, -0.00058259, 0.00035699, 7.27219142, 0.99822008, 0.99906042, 0.49317476],
++												 [	-6.27277428, -0.00058248, 0.00035692, 7.27219180, 0.99822041, 0.99906059, 0.49317478],
++												 [	-6.27277454, -0.00058237, 0.00035686, 7.27219217, 0.99822075, 0.99906077, 0.49317481],
++												 [	-6.27277480, -0.00058227, 0.00035679, 7.27219254, 0.99822108, 0.99906095, 0.49317486],
++												 [	-6.27277507, -0.00058216, 0.00035672, 7.27219291, 0.99822142, 0.99906112, 0.49317492],
++												 [	-6.27277533, -0.00058205, 0.00035665, 7.27219328, 0.99822175, 0.99906130, 0.49317497],
++												 [	-6.27277559, -0.00058194, 0.00035659, 7.27219365, 0.99822209, 0.99906148, 0.49317500],
++												 [	-6.27277585, -0.00058183, 0.00035652, 7.27219402, 0.99822242, 0.99906165, 0.49317504],
++												 [	-6.27277611, -0.00058172, 0.00035645, 7.27219440, 0.99822275, 0.99906183, 0.49317502],
++												 [	-6.27277637, -0.00058161, 0.00035639, 7.27219477, 0.99822309, 0.99906200, 0.49317510],
++												 [	-6.27277664, -0.00058150, 0.00035632, 7.27219514, 0.99822342, 0.99906218, 0.49317515],
++												 [	-6.27277690, -0.00058139, 0.00035625, 7.27219551, 0.99822376, 0.99906236, 0.49317515],
++												 [	-6.27277716, -0.00058128, 0.00035619, 7.27219588, 0.99822409, 0.99906253, 0.49317527],
++												 [	-6.27277742, -0.00058117, 0.00035612, 7.27219625, 0.99822442, 0.99906271, 0.49317521],
++												 [	-6.27277768, -0.00058106, 0.00035605, 7.27219662, 0.99822476, 0.99906289, 0.49317533],
++												 [	-6.27277794, -0.00058095, 0.00035598, 7.27219699, 0.99822509, 0.99906306, 0.49317536],
++												 [	-6.27277820, -0.00058084, 0.00035592, 7.27219736, 0.99822542, 0.99906324, 0.49317532],
++												 [	-6.27277846, -0.00058074, 0.00035585, 7.27219773, 0.99822576, 0.99906341, 0.49317542],
++												 [	-6.27277872, -0.00058063, 0.00035578, 7.27219810, 0.99822609, 0.99906359, 0.49317544],
++												 [	-6.27277898, -0.00058052, 0.00035572, 7.27219847, 0.99822642, 0.99906376, 0.49317549],
++												 [	-6.27277924, -0.00058041, 0.00035565, 7.27219884, 0.99822675, 0.99906394, 0.49317552],
++												 [	-6.27277950, -0.00058030, 0.00035558, 7.27219920, 0.99822709, 0.99906412, 0.49317558],
++												 [	-6.27277977, -0.00058019, 0.00035552, 7.27219957, 0.99822742, 0.99906429, 0.49317562],
++												 [	-6.27278003, -0.00058008, 0.00035545, 7.27219994, 0.99822775, 0.99906447, 0.49317566],
++												 [	-6.27278029, -0.00057997, 0.00035538, 7.27220031, 0.99822808, 0.99906464, 0.49317568],
++												 [	-6.27278055, -0.00057987, 0.00035532, 7.27220068, 0.99822842, 0.99906482, 0.49317573],
++												 [	-6.27278080, -0.00057976, 0.00035525, 7.27220105, 0.99822875, 0.99906499, 0.49317574],
++												 [	-6.27278106, -0.00057965, 0.00035518, 7.27220142, 0.99822908, 0.99906517, 0.49317581],
++												 [	-6.27278132, -0.00057954, 0.00035512, 7.27220178, 0.99822941, 0.99906534, 0.49317584],
++												 [	-6.27278158, -0.00057943, 0.00035505, 7.27220215, 0.99822974, 0.99906552, 0.49317591],
++												 [	-6.27278184, -0.00057932, 0.00035498, 7.27220252, 0.99823008, 0.99906569, 0.49317591],
++												 [	-6.27278210, -0.00057921, 0.00035492, 7.27220289, 0.99823041, 0.99906587, 0.49317595],
++												 [	-6.27278236, -0.00057911, 0.00035485, 7.27220326, 0.99823074, 0.99906604, 0.49317597],
++												 [	-6.27278262, -0.00057900, 0.00035479, 7.27220362, 0.99823107, 0.99906622, 0.49317601],
++												 [	-6.27278288, -0.00057889, 0.00035472, 7.27220399, 0.99823140, 0.99906639, 0.49317609],
++												 [	-6.27278314, -0.00057878, 0.00035465, 7.27220436, 0.99823173, 0.99906657, 0.49317610],
++												 [	-6.27278340, -0.00057867, 0.00035459, 7.27220472, 0.99823206, 0.99906674, 0.49317615],
++												 [	-6.27278366, -0.00057857, 0.00035452, 7.27220509, 0.99823239, 0.99906691, 0.49317621],
++												 [	-6.27278392, -0.00057846, 0.00035445, 7.27220546, 0.99823272, 0.99906709, 0.49317622],
++												 [	-6.27278417, -0.00057835, 0.00035439, 7.27220582, 0.99823305, 0.99906726, 0.49317632],
++												 [	-6.27278443, -0.00057824, 0.00035432, 7.27220619, 0.99823338, 0.99906744, 0.49317629],
++												 [	-6.27278469, -0.00057813, 0.00035425, 7.27220656, 0.99823371, 0.99906761, 0.49317636],
++												 [	-6.27278495, -0.00057802, 0.00035419, 7.27220692, 0.99823404, 0.99906779, 0.49317638],
++												 [	-6.27278521, -0.00057792, 0.00035412, 7.27220729, 0.99823437, 0.99906796, 0.49317641],
++												 [	-6.27278547, -0.00057781, 0.00035406, 7.27220766, 0.99823470, 0.99906813, 0.49317644],
++												 [	-6.27278572, -0.00057770, 0.00035399, 7.27220802, 0.99823503, 0.99906831, 0.49317646],
++												 [	-6.27278598, -0.00057759, 0.00035392, 7.27220839, 0.99823536, 0.99906848, 0.49317651],
++												 [	-6.27278624, -0.00057749, 0.00035386, 7.27220875, 0.99823569, 0.99906866, 0.49317654],
++												 [	-6.27278650, -0.00057738, 0.00035379, 7.27220912, 0.99823602, 0.99906883, 0.49317660],
++												 [	-6.27278675, -0.00057727, 0.00035373, 7.27220948, 0.99823635, 0.99906900, 0.49317666],
++												 [	-6.27278701, -0.00057716, 0.00035366, 7.27220985, 0.99823668, 0.99906918, 0.49317668],
++												 [	-6.27278727, -0.00057706, 0.00035359, 7.27221021, 0.99823701, 0.99906935, 0.49317676],
++												 [	-6.27278753, -0.00057695, 0.00035353, 7.27221058, 0.99823734, 0.99906952, 0.49317676],
++												 [	-6.27278778, -0.00057684, 0.00035346, 7.27221094, 0.99823766, 0.99906970, 0.49317678],
++												 [	-6.27278804, -0.00057673, 0.00035340, 7.27221131, 0.99823799, 0.99906987, 0.49317683],
++												 [	-6.27278830, -0.00057663, 0.00035333, 7.27221167, 0.99823832, 0.99907004, 0.49317687],
++												 [	-6.27278855, -0.00057652, 0.00035326, 7.27221204, 0.99823865, 0.99907022, 0.49317691],
++												 [	-6.27278881, -0.00057641, 0.00035320, 7.27221240, 0.99823898, 0.99907039, 0.49317697],
++												 [	-6.27278907, -0.00057630, 0.00035313, 7.27221277, 0.99823931, 0.99907056, 0.49317699],
++												 [	-6.27278933, -0.00057620, 0.00035307, 7.27221313, 0.99823963, 0.99907074, 0.49317702],
++												 [	-6.27278958, -0.00057609, 0.00035300, 7.27221349, 0.99823996, 0.99907091, 0.49317708],
++												 [	-6.27278984, -0.00057598, 0.00035294, 7.27221386, 0.99824029, 0.99907108, 0.49317710],
++												 [	-6.27279009, -0.00057587, 0.00035287, 7.27221422, 0.99824062, 0.99907126, 0.49317717],
++												 [	-6.27279035, -0.00057577, 0.00035280, 7.27221458, 0.99824094, 0.99907143, 0.49317720],
++												 [	-6.27279061, -0.00057566, 0.00035274, 7.27221495, 0.99824127, 0.99907160, 0.49317720],
++												 [	-6.27279086, -0.00057555, 0.00035267, 7.27221531, 0.99824160, 0.99907177, 0.49317727],
++												 [	-6.27279112, -0.00057545, 0.00035261, 7.27221567, 0.99824193, 0.99907195, 0.49317735],
++												 [	-6.27279137, -0.00057534, 0.00035254, 7.27221604, 0.99824225, 0.99907212, 0.49317732],
++												 [	-6.27279163, -0.00057523, 0.00035248, 7.27221640, 0.99824258, 0.99907229, 0.49317739],
++												 [	-6.27279189, -0.00057513, 0.00035241, 7.27221676, 0.99824291, 0.99907246, 0.49317738],
++												 [	-6.27279214, -0.00057502, 0.00035235, 7.27221712, 0.99824323, 0.99907264, 0.49317745],
++												 [	-6.27279240, -0.00057491, 0.00035228, 7.27221749, 0.99824356, 0.99907281, 0.49317748],
++												 [	-6.27279265, -0.00057480, 0.00035221, 7.27221785, 0.99824389, 0.99907298, 0.49317752],
++												 [	-6.27279291, -0.00057470, 0.00035215, 7.27221821, 0.99824421, 0.99907315, 0.49317757],
++												 [	-6.27279316, -0.00057459, 0.00035208, 7.27221857, 0.99824454, 0.99907332, 0.49317760],
++												 [	-6.27279342, -0.00057448, 0.00035202, 7.27221893, 0.99824486, 0.99907350, 0.49317764],
++												 [	-6.27279367, -0.00057438, 0.00035195, 7.27221930, 0.99824519, 0.99907367, 0.49317766],
++												 [	-6.27279393, -0.00057427, 0.00035189, 7.27221966, 0.99824551, 0.99907384, 0.49317770],
++												 [	-6.27279418, -0.00057417, 0.00035182, 7.27222002, 0.99824584, 0.99907401, 0.49317777],
++												 [	-6.27279444, -0.00057406, 0.00035176, 7.27222038, 0.99824617, 0.99907418, 0.49317774],
++												 [	-6.27279469, -0.00057395, 0.00035169, 7.27222074, 0.99824649, 0.99907436, 0.49317781],
++												 [	-6.27279495, -0.00057385, 0.00035163, 7.27222110, 0.99824682, 0.99907453, 0.49317792],
++												 [	-6.27279520, -0.00057374, 0.00035156, 7.27222146, 0.99824714, 0.99907470, 0.49317788],
++												 [	-6.27279546, -0.00057363, 0.00035150, 7.27222182, 0.99824747, 0.99907487, 0.49317793],
++												 [	-6.27279571, -0.00057353, 0.00035143, 7.27222218, 0.99824779, 0.99907504, 0.49317800],
++												 [	-6.27279596, -0.00057342, 0.00035137, 7.27222254, 0.99824812, 0.99907521, 0.49317798],
++												 [	-6.27279622, -0.00057331, 0.00035130, 7.27222290, 0.99824844, 0.99907538, 0.49317810],
++												 [	-6.27279647, -0.00057321, 0.00035124, 7.27222326, 0.99824877, 0.99907556, 0.49317811],
++												 [	-6.27279673, -0.00057310, 0.00035117, 7.27222362, 0.99824909, 0.99907573, 0.49317808],
++												 [	-6.27279698, -0.00057300, 0.00035111, 7.27222398, 0.99824941, 0.99907590, 0.49317818],
++												 [	-6.27279723, -0.00057289, 0.00035104, 7.27222434, 0.99824974, 0.99907607, 0.49317820],
++												 [	-6.27279749, -0.00057278, 0.00035098, 7.27222470, 0.99825006, 0.99907624, 0.49317824],
++												 [	-6.27279774, -0.00057268, 0.00035091, 7.27222506, 0.99825039, 0.99907641, 0.49317828],
++												 [	-6.27279799, -0.00057257, 0.00035085, 7.27222542, 0.99825071, 0.99907658, 0.49317828],
++												 [	-6.27279825, -0.00057247, 0.00035078, 7.27222578, 0.99825103, 0.99907675, 0.49317836],
++												 [	-6.27279850, -0.00057236, 0.00035072, 7.27222614, 0.99825136, 0.99907692, 0.49317841],
++												 [	-6.27279875, -0.00057225, 0.00035065, 7.27222650, 0.99825168, 0.99907709, 0.49317844],
++												 [	-6.27279901, -0.00057215, 0.00035059, 7.27222686, 0.99825200, 0.99907727, 0.49317846],
++												 [	-6.27279926, -0.00057204, 0.00035052, 7.27222722, 0.99825233, 0.99907744, 0.49317853],
++												 [	-6.27279951, -0.00057194, 0.00035046, 7.27222758, 0.99825265, 0.99907761, 0.49317855],
++												 [	-6.27279977, -0.00057183, 0.00035039, 7.27222793, 0.99825297, 0.99907778, 0.49317862],
++												 [	-6.27280002, -0.00057173, 0.00035033, 7.27222829, 0.99825330, 0.99907795, 0.49317862],
++												 [	-6.27280027, -0.00057162, 0.00035026, 7.27222865, 0.99825362, 0.99907812, 0.49317865],
++												 [	-6.27280052, -0.00057152, 0.00035020, 7.27222901, 0.99825394, 0.99907829, 0.49317872],
++												 [	-6.27280078, -0.00057141, 0.00035013, 7.27222937, 0.99825426, 0.99907846, 0.49317874],
++												 [	-6.27280103, -0.00057130, 0.00035007, 7.27222972, 0.99825459, 0.99907863, 0.49317875],
++												 [	-6.27280128, -0.00057120, 0.00035000, 7.27223008, 0.99825491, 0.99907880, 0.49317879],
++												 [	-6.27280153, -0.00057109, 0.00034994, 7.27223044, 0.99825523, 0.99907897, 0.49317885],
++												 [	-6.27280178, -0.00057099, 0.00034987, 7.27223080, 0.99825555, 0.99907914, 0.49317886],
++												 [	-6.27280204, -0.00057088, 0.00034981, 7.27223115, 0.99825587, 0.99907931, 0.49317891],
++												 [	-6.27280229, -0.00057078, 0.00034974, 7.27223151, 0.99825620, 0.99907948, 0.49317896],
++												 [	-6.27280254, -0.00057067, 0.00034968, 7.27223187, 0.99825652, 0.99907965, 0.49317901],
++												 [	-6.27280279, -0.00057057, 0.00034962, 7.27223222, 0.99825684, 0.99907982, 0.49317904],
++												 [	-6.27280304, -0.00057046, 0.00034955, 7.27223258, 0.99825716, 0.99907999, 0.49317904],
++												 [	-6.27280329, -0.00057036, 0.00034949, 7.27223294, 0.99825748, 0.99908016, 0.49317910],
++												 [	-6.27280355, -0.00057025, 0.00034942, 7.27223329, 0.99825780, 0.99908033, 0.49317919],
++												 [	-6.27280380, -0.00057015, 0.00034936, 7.27223365, 0.99825812, 0.99908050, 0.49317919],
++												 [	-6.27280405, -0.00057004, 0.00034929, 7.27223401, 0.99825844, 0.99908066, 0.49317919],
++												 [	-6.27280430, -0.00056994, 0.00034923, 7.27223436, 0.99825877, 0.99908083, 0.49317929],
++												 [	-6.27280455, -0.00056983, 0.00034916, 7.27223472, 0.99825909, 0.99908100, 0.49317932],
++												 [	-6.27280480, -0.00056973, 0.00034910, 7.27223507, 0.99825941, 0.99908117, 0.49317933],
++												 [	-6.27280505, -0.00056962, 0.00034904, 7.27223543, 0.99825973, 0.99908134, 0.49317936],
++												 [	-6.27280530, -0.00056952, 0.00034897, 7.27223579, 0.99826005, 0.99908151, 0.49317942],
++												 [	-6.27280555, -0.00056941, 0.00034891, 7.27223614, 0.99826037, 0.99908168, 0.49317941],
++												 [	-6.27280580, -0.00056931, 0.00034884, 7.27223650, 0.99826069, 0.99908185, 0.49317944],
++												 [	-6.27280606, -0.00056920, 0.00034878, 7.27223685, 0.99826101, 0.99908202, 0.49317951],
++												 [	-6.27280631, -0.00056910, 0.00034872, 7.27223721, 0.99826133, 0.99908219, 0.49317958],
++												 [	-6.27280656, -0.00056899, 0.00034865, 7.27223756, 0.99826165, 0.99908235, 0.49317962],
++												 [	-6.27280681, -0.00056889, 0.00034859, 7.27223792, 0.99826197, 0.99908252, 0.49317961],
++												 [	-6.27280706, -0.00056878, 0.00034852, 7.27223827, 0.99826229, 0.99908269, 0.49317963],
++												 [	-6.27280731, -0.00056868, 0.00034846, 7.27223863, 0.99826261, 0.99908286, 0.49317970],
++												 [	-6.27280756, -0.00056858, 0.00034839, 7.27223898, 0.99826293, 0.99908303, 0.49317974],
++												 [	-6.27280781, -0.00056847, 0.00034833, 7.27223933, 0.99826324, 0.99908320, 0.49317978],
++												 [	-6.27280806, -0.00056837, 0.00034827, 7.27223969, 0.99826356, 0.99908337, 0.49317977],
++												 [	-6.27280830, -0.00056826, 0.00034820, 7.27224004, 0.99826388, 0.99908353, 0.49317984],
++												 [	-6.27280855, -0.00056816, 0.00034814, 7.27224040, 0.99826420, 0.99908370, 0.49317991],
++												 [	-6.27280880, -0.00056805, 0.00034807, 7.27224075, 0.99826452, 0.99908387, 0.49317993],
++												 [	-6.27280905, -0.00056795, 0.00034801, 7.27224110, 0.99826484, 0.99908404, 0.49317997],
++												 [	-6.27280930, -0.00056785, 0.00034795, 7.27224146, 0.99826516, 0.99908421, 0.49317999],
++												 [	-6.27280955, -0.00056774, 0.00034788, 7.27224181, 0.99826547, 0.99908438, 0.49318004],
++												 [	-6.27280980, -0.00056764, 0.00034782, 7.27224216, 0.99826579, 0.99908454, 0.49318009],
++												 [	-6.27281005, -0.00056753, 0.00034776, 7.27224252, 0.99826611, 0.99908471, 0.49318013],
++												 [	-6.27281030, -0.00056743, 0.00034769, 7.27224287, 0.99826643, 0.99908488, 0.49318014],
++												 [	-6.27281055, -0.00056733, 0.00034763, 7.27224322, 0.99826675, 0.99908505, 0.49318020],
++												 [	-6.27281080, -0.00056722, 0.00034756, 7.27224357, 0.99826706, 0.99908521, 0.49318023],
++												 [	-6.27281104, -0.00056712, 0.00034750, 7.27224393, 0.99826738, 0.99908538, 0.49318021],
++												 [	-6.27281129, -0.00056701, 0.00034744, 7.27224428, 0.99826770, 0.99908555, 0.49318033],
++												 [	-6.27281154, -0.00056691, 0.00034737, 7.27224463, 0.99826802, 0.99908572, 0.49318033],
++												 [	-6.27281179, -0.00056681, 0.00034731, 7.27224498, 0.99826833, 0.99908588, 0.49318036],
++												 [	-6.27281204, -0.00056670, 0.00034725, 7.27224534, 0.99826865, 0.99908605, 0.49318042],
++												 [	-6.27281229, -0.00056660, 0.00034718, 7.27224569, 0.99826897, 0.99908622, 0.49318046],
++												 [	-6.27281253, -0.00056649, 0.00034712, 7.27224604, 0.99826929, 0.99908639, 0.49318048],
++												 [	-6.27281278, -0.00056639, 0.00034706, 7.27224639, 0.99826960, 0.99908655, 0.49318053],
++												 [	-6.27281303, -0.00056629, 0.00034699, 7.27224674, 0.99826992, 0.99908672, 0.49318056],
++												 [	-6.27281328, -0.00056618, 0.00034693, 7.27224709, 0.99827024, 0.99908689, 0.49318059],
++												 [	-6.27281353, -0.00056608, 0.00034686, 7.27224745, 0.99827055, 0.99908705, 0.49318066],
++												 [	-6.27281377, -0.00056598, 0.00034680, 7.27224780, 0.99827087, 0.99908722, 0.49318067],
++												 [	-6.27281402, -0.00056587, 0.00034674, 7.27224815, 0.99827119, 0.99908739, 0.49318073],
++												 [	-6.27281427, -0.00056577, 0.00034667, 7.27224850, 0.99827150, 0.99908756, 0.49318072],
++												 [	-6.27281452, -0.00056567, 0.00034661, 7.27224885, 0.99827182, 0.99908772, 0.49318077],
++												 [	-6.27281476, -0.00056556, 0.00034655, 7.27224920, 0.99827213, 0.99908789, 0.49318079],
++												 [	-6.27281501, -0.00056546, 0.00034648, 7.27224955, 0.99827245, 0.99908806, 0.49318086],
++												 [	-6.27281526, -0.00056536, 0.00034642, 7.27224990, 0.99827276, 0.99908822, 0.49318086],
++												 [	-6.27281550, -0.00056525, 0.00034636, 7.27225025, 0.99827308, 0.99908839, 0.49318091],
++												 [	-6.27281575, -0.00056515, 0.00034629, 7.27225060, 0.99827340, 0.99908856, 0.49318093],
++												 [	-6.27281600, -0.00056505, 0.00034623, 7.27225095, 0.99827371, 0.99908872, 0.49318097],
++												 [	-6.27281624, -0.00056494, 0.00034617, 7.27225130, 0.99827403, 0.99908889, 0.49318102],
++												 [	-6.27281649, -0.00056484, 0.00034610, 7.27225165, 0.99827434, 0.99908905, 0.49318109],
++												 [	-6.27281674, -0.00056474, 0.00034604, 7.27225200, 0.99827466, 0.99908922, 0.49318111],
++												 [	-6.27281698, -0.00056463, 0.00034598, 7.27225235, 0.99827497, 0.99908939, 0.49318114],
++												 [	-6.27281723, -0.00056453, 0.00034592, 7.27225270, 0.99827529, 0.99908955, 0.49318118],
++												 [	-6.27281748, -0.00056443, 0.00034585, 7.27225305, 0.99827560, 0.99908972, 0.49318122],
++												 [	-6.27281772, -0.00056433, 0.00034579, 7.27225340, 0.99827591, 0.99908988, 0.49318124],
++												 [	-6.27281797, -0.00056422, 0.00034573, 7.27225375, 0.99827623, 0.99909005, 0.49318128],
++												 [	-6.27281822, -0.00056412, 0.00034566, 7.27225409, 0.99827654, 0.99909022, 0.49318131],
++												 [	-6.27281846, -0.00056402, 0.00034560, 7.27225444, 0.99827686, 0.99909038, 0.49318135],
++												 [	-6.27281871, -0.00056391, 0.00034554, 7.27225479, 0.99827717, 0.99909055, 0.49318140],
++												 [	-6.27281895, -0.00056381, 0.00034547, 7.27225514, 0.99827749, 0.99909071, 0.49318139],
++												 [	-6.27281920, -0.00056371, 0.00034541, 7.27225549, 0.99827780, 0.99909088, 0.49318148],
++												 [	-6.27281944, -0.00056361, 0.00034535, 7.27225584, 0.99827811, 0.99909105, 0.49318152],
++												 [	-6.27281969, -0.00056350, 0.00034528, 7.27225619, 0.99827843, 0.99909121, 0.49318156],
++												 [	-6.27281993, -0.00056340, 0.00034522, 7.27225653, 0.99827874, 0.99909138, 0.49318159],
++												 [	-6.27282018, -0.00056330, 0.00034516, 7.27225688, 0.99827905, 0.99909154, 0.49318163],
++												 [	-6.27282043, -0.00056320, 0.00034510, 7.27225723, 0.99827937, 0.99909171, 0.49318166],
++												 [	-6.27282067, -0.00056309, 0.00034503, 7.27225758, 0.99827968, 0.99909187, 0.49318168],
++												 [	-6.27282092, -0.00056299, 0.00034497, 7.27225792, 0.99827999, 0.99909204, 0.49318179],
++												 [	-6.27282116, -0.00056289, 0.00034491, 7.27225827, 0.99828031, 0.99909220, 0.49318171],
++												 [	-6.27282141, -0.00056279, 0.00034485, 7.27225862, 0.99828062, 0.99909237, 0.49318177],
++												 [	-6.27282165, -0.00056268, 0.00034478, 7.27225897, 0.99828093, 0.99909253, 0.49318188],
++												 [	-6.27282189, -0.00056258, 0.00034472, 7.27225931, 0.99828124, 0.99909270, 0.49318185],
++												 [	-6.27282214, -0.00056248, 0.00034466, 7.27225966, 0.99828156, 0.99909286, 0.49318190],
++												 [	-6.27282238, -0.00056238, 0.00034459, 7.27226001, 0.99828187, 0.99909303, 0.49318196],
++												 [	-6.27282263, -0.00056228, 0.00034453, 7.27226035, 0.99828218, 0.99909319, 0.49318197],
++												 [	-6.27282287, -0.00056217, 0.00034447, 7.27226070, 0.99828249, 0.99909336, 0.49318203],
++												 [	-6.27282312, -0.00056207, 0.00034441, 7.27226104, 0.99828281, 0.99909352, 0.49318204],
++												 [	-6.27282336, -0.00056197, 0.00034434, 7.27226139, 0.99828312, 0.99909369, 0.49318210],
++												 [	-6.27282360, -0.00056187, 0.00034428, 7.27226174, 0.99828343, 0.99909385, 0.49318213],
++												 [	-6.27282385, -0.00056177, 0.00034422, 7.27226208, 0.99828374, 0.99909402, 0.49318217],
++												 [	-6.27282409, -0.00056166, 0.00034416, 7.27226243, 0.99828405, 0.99909418, 0.49318219],
++												 [	-6.27282434, -0.00056156, 0.00034409, 7.27226277, 0.99828436, 0.99909434, 0.49318217],
++												 [	-6.27282458, -0.00056146, 0.00034403, 7.27226312, 0.99828467, 0.99909451, 0.49318229],
++												 [	-6.27282482, -0.00056136, 0.00034397, 7.27226347, 0.99828499, 0.99909467, 0.49318235],
++												 [	-6.27282507, -0.00056126, 0.00034391, 7.27226381, 0.99828530, 0.99909484, 0.49318234],
++												 [	-6.27282531, -0.00056115, 0.00034384, 7.27226416, 0.99828561, 0.99909500, 0.49318238],
++												 [	-6.27282555, -0.00056105, 0.00034378, 7.27226450, 0.99828592, 0.99909516, 0.49318244],
++												 [	-6.27282580, -0.00056095, 0.00034372, 7.27226485, 0.99828623, 0.99909533, 0.49318245],
++												 [	-6.27282604, -0.00056085, 0.00034366, 7.27226519, 0.99828654, 0.99909549, 0.49318251],
++												 [	-6.27282628, -0.00056075, 0.00034360, 7.27226554, 0.99828685, 0.99909566, 0.49318249],
++												 [	-6.27282653, -0.00056065, 0.00034353, 7.27226588, 0.99828716, 0.99909582, 0.49318260],
++												 [	-6.27282677, -0.00056055, 0.00034347, 7.27226622, 0.99828747, 0.99909598, 0.49318256],
++												 [	-6.27282701, -0.00056044, 0.00034341, 7.27226657, 0.99828778, 0.99909615, 0.49318268],
++												 [	-6.27282725, -0.00056034, 0.00034335, 7.27226691, 0.99828809, 0.99909631, 0.49318269],
++												 [	-6.27282750, -0.00056024, 0.00034328, 7.27226726, 0.99828840, 0.99909648, 0.49318273],
++												 [	-6.27282774, -0.00056014, 0.00034322, 7.27226760, 0.99828871, 0.99909664, 0.49318276],
++												 [	-6.27282798, -0.00056004, 0.00034316, 7.27226794, 0.99828902, 0.99909680, 0.49318278],
++												 [	-6.27282822, -0.00055994, 0.00034310, 7.27226829, 0.99828933, 0.99909697, 0.49318281],
++												 [	-6.27282847, -0.00055984, 0.00034304, 7.27226863, 0.99828964, 0.99909713, 0.49318285],
++												 [	-6.27282871, -0.00055973, 0.00034297, 7.27226898, 0.99828995, 0.99909729, 0.49318289],
++												 [	-6.27282895, -0.00055963, 0.00034291, 7.27226932, 0.99829026, 0.99909746, 0.49318294],
++												 [	-6.27282919, -0.00055953, 0.00034285, 7.27226966, 0.99829057, 0.99909762, 0.49318296],
++												 [	-6.27282944, -0.00055943, 0.00034279, 7.27227000, 0.99829088, 0.99909778, 0.49318295],
++												 [	-6.27282968, -0.00055933, 0.00034273, 7.27227035, 0.99829119, 0.99909794, 0.49318302],
++												 [	-6.27282992, -0.00055923, 0.00034266, 7.27227069, 0.99829150, 0.99909811, 0.49318310],
++												 [	-6.27283016, -0.00055913, 0.00034260, 7.27227103, 0.99829180, 0.99909827, 0.49318311],
++												 [	-6.27283040, -0.00055903, 0.00034254, 7.27227138, 0.99829211, 0.99909843, 0.49318314],
++												 [	-6.27283064, -0.00055893, 0.00034248, 7.27227172, 0.99829242, 0.99909860, 0.49318318],
++												 [	-6.27283089, -0.00055882, 0.00034242, 7.27227206, 0.99829273, 0.99909876, 0.49318320],
++												 [	-6.27283113, -0.00055872, 0.00034235, 7.27227240, 0.99829304, 0.99909892, 0.49318320],
++												 [	-6.27283137, -0.00055862, 0.00034229, 7.27227274, 0.99829335, 0.99909908, 0.49318327],
++												 [	-6.27283161, -0.00055852, 0.00034223, 7.27227309, 0.99829365, 0.99909925, 0.49318333],
++												 [	-6.27283185, -0.00055842, 0.00034217, 7.27227343, 0.99829396, 0.99909941, 0.49318333],
++												 [	-6.27283209, -0.00055832, 0.00034211, 7.27227377, 0.99829427, 0.99909957, 0.49318336],
++												 [	-6.27283233, -0.00055822, 0.00034204, 7.27227411, 0.99829458, 0.99909973, 0.49318343],
++												 [	-6.27283257, -0.00055812, 0.00034198, 7.27227445, 0.99829489, 0.99909990, 0.49318344],
++												 [	-6.27283281, -0.00055802, 0.00034192, 7.27227479, 0.99829519, 0.99910006, 0.49318351],
++												 [	-6.27283305, -0.00055792, 0.00034186, 7.27227514, 0.99829550, 0.99910022, 0.49318353],
++												 [	-6.27283329, -0.00055782, 0.00034180, 7.27227548, 0.99829581, 0.99910038, 0.49318358],
++												 [	-6.27283353, -0.00055772, 0.00034174, 7.27227582, 0.99829611, 0.99910055, 0.49318362],
++												 [	-6.27283378, -0.00055762, 0.00034168, 7.27227616, 0.99829642, 0.99910071, 0.49318360],
++												 [	-6.27283402, -0.00055752, 0.00034161, 7.27227650, 0.99829673, 0.99910087, 0.49318367],
++												 [	-6.27283426, -0.00055742, 0.00034155, 7.27227684, 0.99829704, 0.99910103, 0.49318371],
++												 [	-6.27283450, -0.00055732, 0.00034149, 7.27227718, 0.99829734, 0.99910119, 0.49318374],
++												 [	-6.27283474, -0.00055722, 0.00034143, 7.27227752, 0.99829765, 0.99910136, 0.49318380],
++												 [	-6.27283498, -0.00055712, 0.00034137, 7.27227786, 0.99829796, 0.99910152, 0.49318376],
++												 [	-6.27283522, -0.00055701, 0.00034131, 7.27227820, 0.99829826, 0.99910168, 0.49318386],
++												 [	-6.27283546, -0.00055691, 0.00034124, 7.27227854, 0.99829857, 0.99910184, 0.49318389],
++												 [	-6.27283570, -0.00055681, 0.00034118, 7.27227888, 0.99829887, 0.99910200, 0.49318390],
++												 [	-6.27283593, -0.00055671, 0.00034112, 7.27227922, 0.99829918, 0.99910216, 0.49318396],
++												 [	-6.27283617, -0.00055661, 0.00034106, 7.27227956, 0.99829949, 0.99910233, 0.49318401],
++												 [	-6.27283641, -0.00055651, 0.00034100, 7.27227990, 0.99829979, 0.99910249, 0.49318410],
++												 [	-6.27283665, -0.00055641, 0.00034094, 7.27228024, 0.99830010, 0.99910265, 0.49318407],
++												 [	-6.27283689, -0.00055631, 0.00034088, 7.27228058, 0.99830040, 0.99910281, 0.49318407],
++												 [	-6.27283713, -0.00055621, 0.00034081, 7.27228092, 0.99830071, 0.99910297, 0.49318414],
++												 [	-6.27283737, -0.00055611, 0.00034075, 7.27228126, 0.99830101, 0.99910313, 0.49318415],
++												 [	-6.27283761, -0.00055601, 0.00034069, 7.27228159, 0.99830132, 0.99910329, 0.49318423],
++												 [	-6.27283785, -0.00055591, 0.00034063, 7.27228193, 0.99830163, 0.99910345, 0.49318423],
++												 [	-6.27283809, -0.00055581, 0.00034057, 7.27228227, 0.99830193, 0.99910362, 0.49318427],
++												 [	-6.27283833, -0.00055571, 0.00034051, 7.27228261, 0.99830224, 0.99910378, 0.49318428],
++												 [	-6.27283856, -0.00055562, 0.00034045, 7.27228295, 0.99830254, 0.99910394, 0.49318433],
++												 [	-6.27283880, -0.00055552, 0.00034039, 7.27228329, 0.99830285, 0.99910410, 0.49318443],
++												 [	-6.27283904, -0.00055542, 0.00034033, 7.27228363, 0.99830315, 0.99910426, 0.49318443],
++												 [	-6.27283928, -0.00055532, 0.00034026, 7.27228396, 0.99830345, 0.99910442, 0.49318449],
++												 [	-6.27283952, -0.00055522, 0.00034020, 7.27228430, 0.99830376, 0.99910458, 0.49318449],
++												 [	-6.27283976, -0.00055512, 0.00034014, 7.27228464, 0.99830406, 0.99910474, 0.49318454],
++												 [	-6.27283999, -0.00055502, 0.00034008, 7.27228498, 0.99830437, 0.99910490, 0.49318457],
++												 [	-6.27284023, -0.00055492, 0.00034002, 7.27228531, 0.99830467, 0.99910506, 0.49318459],
++												 [	-6.27284047, -0.00055482, 0.00033996, 7.27228565, 0.99830498, 0.99910522, 0.49318460],
++												 [	-6.27284071, -0.00055472, 0.00033990, 7.27228599, 0.99830528, 0.99910538, 0.49318465],
++												 [	-6.27284095, -0.00055462, 0.00033984, 7.27228633, 0.99830558, 0.99910554, 0.49318472],
++												 [	-6.27284118, -0.00055452, 0.00033978, 7.27228666, 0.99830589, 0.99910570, 0.49318477],
++												 [	-6.27284142, -0.00055442, 0.00033972, 7.27228700, 0.99830619, 0.99910586, 0.49318479],
++												 [	-6.27284166, -0.00055432, 0.00033965, 7.27228734, 0.99830649, 0.99910602, 0.49318483],
++												 [	-6.27284190, -0.00055422, 0.00033959, 7.27228767, 0.99830680, 0.99910618, 0.49318487],
++												 [	-6.27284213, -0.00055412, 0.00033953, 7.27228801, 0.99830710, 0.99910634, 0.49318489],
++												 [	-6.27284237, -0.00055402, 0.00033947, 7.27228835, 0.99830740, 0.99910650, 0.49318490],
++												 [	-6.27284261, -0.00055393, 0.00033941, 7.27228868, 0.99830771, 0.99910666, 0.49318496],
++												 [	-6.27284285, -0.00055383, 0.00033935, 7.27228902, 0.99830801, 0.99910682, 0.49318499],
++												 [	-6.27284308, -0.00055373, 0.00033929, 7.27228936, 0.99830831, 0.99910698, 0.49318499],
++												 [	-6.27284332, -0.00055363, 0.00033923, 7.27228969, 0.99830861, 0.99910714, 0.49318509],
++												 [	-6.27284356, -0.00055353, 0.00033917, 7.27229003, 0.99830892, 0.99910730, 0.49318511],
++												 [	-6.27284379, -0.00055343, 0.00033911, 7.27229036, 0.99830922, 0.99910746, 0.49318515],
++												 [	-6.27284403, -0.00055333, 0.00033905, 7.27229070, 0.99830952, 0.99910762, 0.49318516],
++												 [	-6.27284427, -0.00055323, 0.00033899, 7.27229103, 0.99830982, 0.99910778, 0.49318524],
++												 [	-6.27284450, -0.00055313, 0.00033893, 7.27229137, 0.99831013, 0.99910794, 0.49318524],
++												 [	-6.27284474, -0.00055303, 0.00033887, 7.27229170, 0.99831043, 0.99910810, 0.49318528],
++												 [	-6.27284498, -0.00055294, 0.00033880, 7.27229204, 0.99831073, 0.99910826, 0.49318529],
++												 [	-6.27284521, -0.00055284, 0.00033874, 7.27229237, 0.99831103, 0.99910842, 0.49318533],
++												 [	-6.27284545, -0.00055274, 0.00033868, 7.27229271, 0.99831133, 0.99910858, 0.49318539],
++												 [	-6.27284568, -0.00055264, 0.00033862, 7.27229304, 0.99831164, 0.99910874, 0.49318542],
++												 [	-6.27284592, -0.00055254, 0.00033856, 7.27229338, 0.99831194, 0.99910890, 0.49318543],
++												 [	-6.27284616, -0.00055244, 0.00033850, 7.27229371, 0.99831224, 0.99910906, 0.49318547],
++												 [	-6.27284639, -0.00055234, 0.00033844, 7.27229405, 0.99831254, 0.99910921, 0.49318555],
++												 [	-6.27284663, -0.00055225, 0.00033838, 7.27229438, 0.99831284, 0.99910937, 0.49318557],
++												 [	-6.27284686, -0.00055215, 0.00033832, 7.27229472, 0.99831314, 0.99910953, 0.49318561],
++												 [	-6.27284710, -0.00055205, 0.00033826, 7.27229505, 0.99831344, 0.99910969, 0.49318565],
++												 [	-6.27284733, -0.00055195, 0.00033820, 7.27229538, 0.99831374, 0.99910985, 0.49318570],
++												 [	-6.27284757, -0.00055185, 0.00033814, 7.27229572, 0.99831404, 0.99911001, 0.49318569],
++												 [	-6.27284781, -0.00055175, 0.00033808, 7.27229605, 0.99831435, 0.99911017, 0.49318574],
++												 [	-6.27284804, -0.00055165, 0.00033802, 7.27229639, 0.99831465, 0.99911033, 0.49318575],
++												 [	-6.27284828, -0.00055156, 0.00033796, 7.27229672, 0.99831495, 0.99911048, 0.49318581],
++												 [	-6.27284851, -0.00055146, 0.00033790, 7.27229705, 0.99831525, 0.99911064, 0.49318582],
++												 [	-6.27284875, -0.00055136, 0.00033784, 7.27229739, 0.99831555, 0.99911080, 0.49318586],
++												 [	-6.27284898, -0.00055126, 0.00033778, 7.27229772, 0.99831585, 0.99911096, 0.49318588],
++												 [	-6.27284922, -0.00055116, 0.00033772, 7.27229805, 0.99831615, 0.99911112, 0.49318595],
++												 [	-6.27284945, -0.00055107, 0.00033766, 7.27229838, 0.99831645, 0.99911128, 0.49318599],
++												 [	-6.27284968, -0.00055097, 0.00033760, 7.27229872, 0.99831675, 0.99911143, 0.49318604],
++												 [	-6.27284992, -0.00055087, 0.00033754, 7.27229905, 0.99831705, 0.99911159, 0.49318604],
++												 [	-6.27285015, -0.00055077, 0.00033748, 7.27229938, 0.99831735, 0.99911175, 0.49318612],
++												 [	-6.27285039, -0.00055067, 0.00033742, 7.27229971, 0.99831765, 0.99911191, 0.49318613],
++												 [	-6.27285062, -0.00055058, 0.00033736, 7.27230005, 0.99831794, 0.99911207, 0.49318622],
++												 [	-6.27285086, -0.00055048, 0.00033730, 7.27230038, 0.99831824, 0.99911223, 0.49318623],
++												 [	-6.27285109, -0.00055038, 0.00033724, 7.27230071, 0.99831854, 0.99911238, 0.49318626],
++												 [	-6.27285133, -0.00055028, 0.00033718, 7.27230104, 0.99831884, 0.99911254, 0.49318626],
++												 [	-6.27285156, -0.00055018, 0.00033712, 7.27230138, 0.99831914, 0.99911270, 0.49318628],
++												 [	-6.27285179, -0.00055009, 0.00033706, 7.27230171, 0.99831944, 0.99911286, 0.49318633],
++												 [	-6.27285203, -0.00054999, 0.00033700, 7.27230204, 0.99831974, 0.99911301, 0.49318637],
++												 [	-6.27285226, -0.00054989, 0.00033694, 7.27230237, 0.99832004, 0.99911317, 0.49318637],
++												 [	-6.27285249, -0.00054979, 0.00033688, 7.27230270, 0.99832034, 0.99911333, 0.49318644],
++												 [	-6.27285273, -0.00054970, 0.00033682, 7.27230303, 0.99832063, 0.99911349, 0.49318645],
++												 [	-6.27285296, -0.00054960, 0.00033676, 7.27230336, 0.99832093, 0.99911364, 0.49318646],
++												 [	-6.27285319, -0.00054950, 0.00033670, 7.27230369, 0.99832123, 0.99911380, 0.49318651],
++												 [	-6.27285343, -0.00054940, 0.00033664, 7.27230403, 0.99832153, 0.99911396, 0.49318650],
++												 [	-6.27285366, -0.00054931, 0.00033658, 7.27230436, 0.99832183, 0.99911412, 0.49318659],
++												 [	-6.27285389, -0.00054921, 0.00033652, 7.27230469, 0.99832212, 0.99911427, 0.49318666],
++												 [	-6.27285413, -0.00054911, 0.00033646, 7.27230502, 0.99832242, 0.99911443, 0.49318665],
++												 [	-6.27285436, -0.00054901, 0.00033640, 7.27230535, 0.99832272, 0.99911459, 0.49318670],
++												 [	-6.27285459, -0.00054892, 0.00033634, 7.27230568, 0.99832302, 0.99911474, 0.49318673],
++												 [	-6.27285483, -0.00054882, 0.00033628, 7.27230601, 0.99832332, 0.99911490, 0.49318677],
++												 [	-6.27285506, -0.00054872, 0.00033622, 7.27230634, 0.99832361, 0.99911506, 0.49318685],
++												 [	-6.27285529, -0.00054862, 0.00033616, 7.27230667, 0.99832391, 0.99911522, 0.49318683],
++												 [	-6.27285552, -0.00054853, 0.00033610, 7.27230700, 0.99832421, 0.99911537, 0.49318692],
++												 [	-6.27285576, -0.00054843, 0.00033604, 7.27230733, 0.99832450, 0.99911553, 0.49318690],
++												 [	-6.27285599, -0.00054833, 0.00033598, 7.27230766, 0.99832480, 0.99911569, 0.49318694],
++												 [	-6.27285622, -0.00054824, 0.00033592, 7.27230799, 0.99832510, 0.99911584, 0.49318700],
++												 [	-6.27285645, -0.00054814, 0.00033586, 7.27230832, 0.99832539, 0.99911600, 0.49318701],
++												 [	-6.27285669, -0.00054804, 0.00033580, 7.27230865, 0.99832569, 0.99911616, 0.49318705],
++												 [	-6.27285692, -0.00054794, 0.00033574, 7.27230897, 0.99832599, 0.99911631, 0.49318711],
++												 [	-6.27285715, -0.00054785, 0.00033568, 7.27230930, 0.99832628, 0.99911647, 0.49318708],
++												 [	-6.27285738, -0.00054775, 0.00033563, 7.27230963, 0.99832658, 0.99911662, 0.49318719],
++												 [	-6.27285761, -0.00054765, 0.00033557, 7.27230996, 0.99832688, 0.99911678, 0.49318717],
++												 [	-6.27285785, -0.00054756, 0.00033551, 7.27231029, 0.99832717, 0.99911694, 0.49318724],
++												 [	-6.27285808, -0.00054746, 0.00033545, 7.27231062, 0.99832747, 0.99911709, 0.49318723],
++												 [	-6.27285831, -0.00054736, 0.00033539, 7.27231095, 0.99832776, 0.99911725, 0.49318729],
++												 [	-6.27285854, -0.00054727, 0.00033533, 7.27231127, 0.99832806, 0.99911741, 0.49318737],
++												 [	-6.27285877, -0.00054717, 0.00033527, 7.27231160, 0.99832836, 0.99911756, 0.49318736],
++												 [	-6.27285900, -0.00054707, 0.00033521, 7.27231193, 0.99832865, 0.99911772, 0.49318737],
++												 [	-6.27285923, -0.00054698, 0.00033515, 7.27231226, 0.99832895, 0.99911787, 0.49318744],
++												 [	-6.27285947, -0.00054688, 0.00033509, 7.27231259, 0.99832924, 0.99911803, 0.49318747],
++												 [	-6.27285970, -0.00054678, 0.00033503, 7.27231291, 0.99832954, 0.99911819, 0.49318750],
++												 [	-6.27285993, -0.00054669, 0.00033497, 7.27231324, 0.99832983, 0.99911834, 0.49318752],
++												 [	-6.27286016, -0.00054659, 0.00033491, 7.27231357, 0.99833013, 0.99911850, 0.49318756],
++												 [	-6.27286039, -0.00054649, 0.00033485, 7.27231390, 0.99833042, 0.99911865, 0.49318760],
++												 [	-6.27286062, -0.00054640, 0.00033480, 7.27231422, 0.99833072, 0.99911881, 0.49318765],
++												 [	-6.27286085, -0.00054630, 0.00033474, 7.27231455, 0.99833101, 0.99911896, 0.49318766],
++												 [	-6.27286108, -0.00054620, 0.00033468, 7.27231488, 0.99833131, 0.99911912, 0.49318767],
++												 [	-6.27286131, -0.00054611, 0.00033462, 7.27231521, 0.99833160, 0.99911927, 0.49318769],
++												 [	-6.27286154, -0.00054601, 0.00033456, 7.27231553, 0.99833190, 0.99911943, 0.49318777],
++												 [	-6.27286177, -0.00054591, 0.00033450, 7.27231586, 0.99833219, 0.99911959, 0.49318778],
++												 [	-6.27286200, -0.00054582, 0.00033444, 7.27231619, 0.99833248, 0.99911974, 0.49318783],
++												 [	-6.27286223, -0.00054572, 0.00033438, 7.27231651, 0.99833278, 0.99911990, 0.49318785],
++												 [	-6.27286246, -0.00054563, 0.00033432, 7.27231684, 0.99833307, 0.99912005, 0.49318790],
++												 [	-6.27286269, -0.00054553, 0.00033426, 7.27231716, 0.99833337, 0.99912021, 0.49318796],
++												 [	-6.27286292, -0.00054543, 0.00033420, 7.27231749, 0.99833366, 0.99912036, 0.49318798],
++												 [	-6.27286315, -0.00054534, 0.00033415, 7.27231782, 0.99833395, 0.99912052, 0.49318802],
++												 [	-6.27286338, -0.00054524, 0.00033409, 7.27231814, 0.99833425, 0.99912067, 0.49318801],
++												 [	-6.27286361, -0.00054515, 0.00033403, 7.27231847, 0.99833454, 0.99912083, 0.49318810],
++												 [	-6.27286384, -0.00054505, 0.00033397, 7.27231879, 0.99833483, 0.99912098, 0.49318815],
++												 [	-6.27286407, -0.00054495, 0.00033391, 7.27231912, 0.99833513, 0.99912114, 0.49318815],
++												 [	-6.27286430, -0.00054486, 0.00033385, 7.27231944, 0.99833542, 0.99912129, 0.49318821],
++												 [	-6.27286453, -0.00054476, 0.00033379, 7.27231977, 0.99833571, 0.99912145, 0.49318820],
++												 [	-6.27286476, -0.00054467, 0.00033373, 7.27232010, 0.99833601, 0.99912160, 0.49318828],
++												 [	-6.27286499, -0.00054457, 0.00033368, 7.27232042, 0.99833630, 0.99912175, 0.49318827],
++												 [	-6.27286522, -0.00054447, 0.00033362, 7.27232075, 0.99833659, 0.99912191, 0.49318830],
++												 [	-6.27286545, -0.00054438, 0.00033356, 7.27232107, 0.99833689, 0.99912206, 0.49318834],
++												 [	-6.27286568, -0.00054428, 0.00033350, 7.27232139, 0.99833718, 0.99912222, 0.49318840],
++												 [	-6.27286591, -0.00054419, 0.00033344, 7.27232172, 0.99833747, 0.99912237, 0.49318849],
++												 [	-6.27286614, -0.00054409, 0.00033338, 7.27232204, 0.99833776, 0.99912253, 0.49318845],
++												 [	-6.27286636, -0.00054400, 0.00033332, 7.27232237, 0.99833805, 0.99912268, 0.49318852],
++												 [	-6.27286659, -0.00054390, 0.00033326, 7.27232269, 0.99833835, 0.99912283, 0.49318851],
++												 [	-6.27286682, -0.00054380, 0.00033321, 7.27232302, 0.99833864, 0.99912299, 0.49318855],
++												 [	-6.27286705, -0.00054371, 0.00033315, 7.27232334, 0.99833893, 0.99912314, 0.49318857],
++												 [	-6.27286728, -0.00054361, 0.00033309, 7.27232366, 0.99833922, 0.99912330, 0.49318863],
++												 [	-6.27286751, -0.00054352, 0.00033303, 7.27232399, 0.99833951, 0.99912345, 0.49318865],
++												 [	-6.27286774, -0.00054342, 0.00033297, 7.27232431, 0.99833981, 0.99912360, 0.49318871],
++												 [	-6.27286796, -0.00054333, 0.00033291, 7.27232464, 0.99834010, 0.99912376, 0.49318871],
++												 [	-6.27286819, -0.00054323, 0.00033286, 7.27232496, 0.99834039, 0.99912391, 0.49318882],
++												 [	-6.27286842, -0.00054314, 0.00033280, 7.27232528, 0.99834068, 0.99912407, 0.49318885],
++												 [	-6.27286865, -0.00054304, 0.00033274, 7.27232561, 0.99834097, 0.99912422, 0.49318882],
++												 [	-6.27286888, -0.00054295, 0.00033268, 7.27232593, 0.99834126, 0.99912437, 0.49318888],
++												 [	-6.27286910, -0.00054285, 0.00033262, 7.27232625, 0.99834155, 0.99912453, 0.49318890],
++												 [	-6.27286933, -0.00054276, 0.00033256, 7.27232657, 0.99834184, 0.99912468, 0.49318892],
++												 [	-6.27286956, -0.00054266, 0.00033250, 7.27232690, 0.99834214, 0.99912483, 0.49318896],
++												 [	-6.27286979, -0.00054257, 0.00033245, 7.27232722, 0.99834243, 0.99912499, 0.49318900],
++												 [	-6.27287001, -0.00054247, 0.00033239, 7.27232754, 0.99834272, 0.99912514, 0.49318899],
++												 [	-6.27287024, -0.00054238, 0.00033233, 7.27232787, 0.99834301, 0.99912529, 0.49318908],
++												 [	-6.27287047, -0.00054228, 0.00033227, 7.27232819, 0.99834330, 0.99912545, 0.49318910],
++												 [	-6.27287070, -0.00054219, 0.00033221, 7.27232851, 0.99834359, 0.99912560, 0.49318913],
++												 [	-6.27287092, -0.00054209, 0.00033216, 7.27232883, 0.99834388, 0.99912575, 0.49318913],
++												 [	-6.27287115, -0.00054200, 0.00033210, 7.27232915, 0.99834417, 0.99912591, 0.49318919],
++												 [	-6.27287138, -0.00054190, 0.00033204, 7.27232948, 0.99834446, 0.99912606, 0.49318918],
++												 [	-6.27287160, -0.00054181, 0.00033198, 7.27232980, 0.99834475, 0.99912621, 0.49318924],
++												 [	-6.27287183, -0.00054171, 0.00033192, 7.27233012, 0.99834504, 0.99912637, 0.49318928],
++												 [	-6.27287206, -0.00054162, 0.00033186, 7.27233044, 0.99834533, 0.99912652, 0.49318937],
++												 [	-6.27287228, -0.00054152, 0.00033181, 7.27233076, 0.99834562, 0.99912667, 0.49318939],
++												 [	-6.27287251, -0.00054143, 0.00033175, 7.27233108, 0.99834591, 0.99912682, 0.49318942],
++												 [	-6.27287274, -0.00054133, 0.00033169, 7.27233140, 0.99834620, 0.99912698, 0.49318944],
++												 [	-6.27287296, -0.00054124, 0.00033163, 7.27233173, 0.99834649, 0.99912713, 0.49318945],
++												 [	-6.27287319, -0.00054114, 0.00033157, 7.27233205, 0.99834677, 0.99912728, 0.49318948],
++												 [	-6.27287342, -0.00054105, 0.00033152, 7.27233237, 0.99834706, 0.99912744, 0.49318948],
++												 [	-6.27287364, -0.00054095, 0.00033146, 7.27233269, 0.99834735, 0.99912759, 0.49318960],
++												 [	-6.27287387, -0.00054086, 0.00033140, 7.27233301, 0.99834764, 0.99912774, 0.49318965],
++												 [	-6.27287409, -0.00054076, 0.00033134, 7.27233333, 0.99834793, 0.99912789, 0.49318963],
++												 [	-6.27287432, -0.00054067, 0.00033128, 7.27233365, 0.99834822, 0.99912805, 0.49318967],
++												 [	-6.27287455, -0.00054058, 0.00033123, 7.27233397, 0.99834851, 0.99912820, 0.49318974],
++												 [	-6.27287477, -0.00054048, 0.00033117, 7.27233429, 0.99834880, 0.99912835, 0.49318975],
++												 [	-6.27287500, -0.00054039, 0.00033111, 7.27233461, 0.99834908, 0.99912850, 0.49318982],
++												 [	-6.27287522, -0.00054029, 0.00033105, 7.27233493, 0.99834937, 0.99912865, 0.49318976],
++												 [	-6.27287545, -0.00054020, 0.00033100, 7.27233525, 0.99834966, 0.99912881, 0.49318982],
++												 [	-6.27287568, -0.00054010, 0.00033094, 7.27233557, 0.99834995, 0.99912896, 0.49318990],
++												 [	-6.27287590, -0.00054001, 0.00033088, 7.27233589, 0.99835024, 0.99912911, 0.49318991],
++												 [	-6.27287613, -0.00053992, 0.00033082, 7.27233621, 0.99835052, 0.99912926, 0.49318988],
++												 [	-6.27287635, -0.00053982, 0.00033076, 7.27233653, 0.99835081, 0.99912941, 0.49319001],
++												 [	-6.27287658, -0.00053973, 0.00033071, 7.27233685, 0.99835110, 0.99912957, 0.49318998],
++												 [	-6.27287680, -0.00053963, 0.00033065, 7.27233717, 0.99835139, 0.99912972, 0.49319007],
++												 [	-6.27287703, -0.00053954, 0.00033059, 7.27233749, 0.99835168, 0.99912987, 0.49319009],
++												 [	-6.27287725, -0.00053945, 0.00033053, 7.27233781, 0.99835196, 0.99913002, 0.49319013],
++												 [	-6.27287748, -0.00053935, 0.00033048, 7.27233812, 0.99835225, 0.99913017, 0.49319012],
++												 [	-6.27287770, -0.00053926, 0.00033042, 7.27233844, 0.99835254, 0.99913032, 0.49319022],
++												 [	-6.27287793, -0.00053916, 0.00033036, 7.27233876, 0.99835282, 0.99913048, 0.49319019],
++												 [	-6.27287815, -0.00053907, 0.00033030, 7.27233908, 0.99835311, 0.99913063, 0.49319021],
++												 [	-6.27287838, -0.00053898, 0.00033025, 7.27233940, 0.99835340, 0.99913078, 0.49319029],
++												 [	-6.27287860, -0.00053888, 0.00033019, 7.27233972, 0.99835368, 0.99913093, 0.49319029],
++												 [	-6.27287882, -0.00053879, 0.00033013, 7.27234004, 0.99835397, 0.99913108, 0.49319033],
++												 [	-6.27287905, -0.00053869, 0.00033007, 7.27234035, 0.99835426, 0.99913123, 0.49319038],
++												 [	-6.27287927, -0.00053860, 0.00033002, 7.27234067, 0.99835454, 0.99913138, 0.49319044],
++												 [	-6.27287950, -0.00053851, 0.00032996, 7.27234099, 0.99835483, 0.99913153, 0.49319044],
++												 [	-6.27287972, -0.00053841, 0.00032990, 7.27234131, 0.99835512, 0.99913169, 0.49319052],
++												 [	-6.27287994, -0.00053832, 0.00032984, 7.27234162, 0.99835540, 0.99913184, 0.49319053],
++												 [	-6.27288017, -0.00053823, 0.00032979, 7.27234194, 0.99835569, 0.99913199, 0.49319055],
++												 [	-6.27288039, -0.00053813, 0.00032973, 7.27234226, 0.99835598, 0.99913214, 0.49319059],
++												 [	-6.27288062, -0.00053804, 0.00032967, 7.27234258, 0.99835626, 0.99913229, 0.49319064],
++												 [	-6.27288084, -0.00053795, 0.00032961, 7.27234289, 0.99835655, 0.99913244, 0.49319065],
++												 [	-6.27288106, -0.00053785, 0.00032956, 7.27234321, 0.99835683, 0.99913259, 0.49319063],
++												 [	-6.27288129, -0.00053776, 0.00032950, 7.27234353, 0.99835712, 0.99913274, 0.49319073],
++												 [	-6.27288151, -0.00053767, 0.00032944, 7.27234385, 0.99835740, 0.99913289, 0.49319071],
++												 [	-6.27288173, -0.00053757, 0.00032938, 7.27234416, 0.99835769, 0.99913304, 0.49319080],
++												 [	-6.27288196, -0.00053748, 0.00032933, 7.27234448, 0.99835797, 0.99913319, 0.49319079],
++												 [	-6.27288218, -0.00053739, 0.00032927, 7.27234480, 0.99835826, 0.99913334, 0.49319084],
++												 [	-6.27288240, -0.00053729, 0.00032921, 7.27234511, 0.99835854, 0.99913349, 0.49319094],
++												 [	-6.27288263, -0.00053720, 0.00032916, 7.27234543, 0.99835883, 0.99913365, 0.49319090],
++												 [	-6.27288285, -0.00053711, 0.00032910, 7.27234574, 0.99835911, 0.99913380, 0.49319093],
++												 [	-6.27288307, -0.00053701, 0.00032904, 7.27234606, 0.99835940, 0.99913395, 0.49319095],
++												 [	-6.27288330, -0.00053692, 0.00032898, 7.27234638, 0.99835968, 0.99913410, 0.49319102],
++												 [	-6.27288352, -0.00053683, 0.00032893, 7.27234669, 0.99835997, 0.99913425, 0.49319110],
++												 [	-6.27288374, -0.00053673, 0.00032887, 7.27234701, 0.99836025, 0.99913440, 0.49319107],
++												 [	-6.27288396, -0.00053664, 0.00032881, 7.27234732, 0.99836054, 0.99913455, 0.49319115],
++												 [	-6.27288419, -0.00053655, 0.00032876, 7.27234764, 0.99836082, 0.99913470, 0.49319113],
++												 [	-6.27288441, -0.00053645, 0.00032870, 7.27234795, 0.99836111, 0.99913485, 0.49319119],
++												 [	-6.27288463, -0.00053636, 0.00032864, 7.27234827, 0.99836139, 0.99913500, 0.49319119],
++												 [	-6.27288485, -0.00053627, 0.00032859, 7.27234859, 0.99836167, 0.99913515, 0.49319124],
++												 [	-6.27288508, -0.00053618, 0.00032853, 7.27234890, 0.99836196, 0.99913530, 0.49319131],
++												 [	-6.27288530, -0.00053608, 0.00032847, 7.27234922, 0.99836224, 0.99913545, 0.49319132],
++												 [	-6.27288552, -0.00053599, 0.00032841, 7.27234953, 0.99836253, 0.99913560, 0.49319134],
++												 [	-6.27288574, -0.00053590, 0.00032836, 7.27234985, 0.99836281, 0.99913575, 0.49319141],
++												 [	-6.27288596, -0.00053580, 0.00032830, 7.27235016, 0.99836309, 0.99913590, 0.49319142],
++												 [	-6.27288619, -0.00053571, 0.00032824, 7.27235047, 0.99836338, 0.99913604, 0.49319138],
++												 [	-6.27288641, -0.00053562, 0.00032819, 7.27235079, 0.99836366, 0.99913619, 0.49319145],
++												 [	-6.27288663, -0.00053553, 0.00032813, 7.27235110, 0.99836394, 0.99913634, 0.49319149],
++												 [	-6.27288685, -0.00053543, 0.00032807, 7.27235142, 0.99836423, 0.99913649, 0.49319155],
++												 [	-6.27288707, -0.00053534, 0.00032802, 7.27235173, 0.99836451, 0.99913664, 0.49319156],
++												 [	-6.27288729, -0.00053525, 0.00032796, 7.27235205, 0.99836479, 0.99913679, 0.49319156],
++												 [	-6.27288752, -0.00053516, 0.00032790, 7.27235236, 0.99836507, 0.99913694, 0.49319162],
++												 [	-6.27288774, -0.00053506, 0.00032785, 7.27235267, 0.99836536, 0.99913709, 0.49319169],
++												 [	-6.27288796, -0.00053497, 0.00032779, 7.27235299, 0.99836564, 0.99913724, 0.49319169],
++												 [	-6.27288818, -0.00053488, 0.00032773, 7.27235330, 0.99836592, 0.99913739, 0.49319176],
++												 [	-6.27288840, -0.00053479, 0.00032768, 7.27235361, 0.99836620, 0.99913754, 0.49319177],
++												 [	-6.27288862, -0.00053469, 0.00032762, 7.27235393, 0.99836649, 0.99913769, 0.49319182],
++												 [	-6.27288884, -0.00053460, 0.00032756, 7.27235424, 0.99836677, 0.99913784, 0.49319183],
++												 [	-6.27288906, -0.00053451, 0.00032751, 7.27235455, 0.99836705, 0.99913798, 0.49319186],
++												 [	-6.27288928, -0.00053442, 0.00032745, 7.27235487, 0.99836733, 0.99913813, 0.49319195],
++												 [	-6.27288950, -0.00053432, 0.00032739, 7.27235518, 0.99836762, 0.99913828, 0.49319191],
++												 [	-6.27288973, -0.00053423, 0.00032734, 7.27235549, 0.99836790, 0.99913843, 0.49319195],
++												 [	-6.27288995, -0.00053414, 0.00032728, 7.27235581, 0.99836818, 0.99913858, 0.49319198],
++												 [	-6.27289017, -0.00053405, 0.00032722, 7.27235612, 0.99836846, 0.99913873, 0.49319204],
++												 [	-6.27289039, -0.00053396, 0.00032717, 7.27235643, 0.99836874, 0.99913888, 0.49319208],
++												 [	-6.27289061, -0.00053386, 0.00032711, 7.27235674, 0.99836902, 0.99913903, 0.49319213],
++												 [	-6.27289083, -0.00053377, 0.00032705, 7.27235706, 0.99836931, 0.99913917, 0.49319212],
++												 [	-6.27289105, -0.00053368, 0.00032700, 7.27235737, 0.99836959, 0.99913932, 0.49319218],
++												 [	-6.27289127, -0.00053359, 0.00032694, 7.27235768, 0.99836987, 0.99913947, 0.49319222],
++												 [	-6.27289149, -0.00053350, 0.00032689, 7.27235799, 0.99837015, 0.99913962, 0.49319223],
++												 [	-6.27289171, -0.00053340, 0.00032683, 7.27235830, 0.99837043, 0.99913977, 0.49319229],
++												 [	-6.27289193, -0.00053331, 0.00032677, 7.27235862, 0.99837071, 0.99913992, 0.49319228],
++												 [	-6.27289215, -0.00053322, 0.00032672, 7.27235893, 0.99837099, 0.99914006, 0.49319230],
++												 [	-6.27289237, -0.00053313, 0.00032666, 7.27235924, 0.99837127, 0.99914021, 0.49319236],
++												 [	-6.27289259, -0.00053304, 0.00032660, 7.27235955, 0.99837155, 0.99914036, 0.49319240],
++												 [	-6.27289281, -0.00053294, 0.00032655, 7.27235986, 0.99837183, 0.99914051, 0.49319244],
++												 [	-6.27289303, -0.00053285, 0.00032649, 7.27236017, 0.99837211, 0.99914066, 0.49319243],
++												 [	-6.27289325, -0.00053276, 0.00032643, 7.27236048, 0.99837239, 0.99914080, 0.49319249],
++												 [	-6.27289346, -0.00053267, 0.00032638, 7.27236080, 0.99837267, 0.99914095, 0.49319257],
++												 [	-6.27289368, -0.00053258, 0.00032632, 7.27236111, 0.99837295, 0.99914110, 0.49319253],
++												 [	-6.27289390, -0.00053249, 0.00032627, 7.27236142, 0.99837323, 0.99914125, 0.49319261],
++												 [	-6.27289412, -0.00053239, 0.00032621, 7.27236173, 0.99837351, 0.99914140, 0.49319263],
++												 [	-6.27289434, -0.00053230, 0.00032615, 7.27236204, 0.99837379, 0.99914154, 0.49319267],
++												 [	-6.27289456, -0.00053221, 0.00032610, 7.27236235, 0.99837407, 0.99914169, 0.49319271],
++												 [	-6.27289478, -0.00053212, 0.00032604, 7.27236266, 0.99837435, 0.99914184, 0.49319271],
++												 [	-6.27289500, -0.00053203, 0.00032599, 7.27236297, 0.99837463, 0.99914199, 0.49319270],
++												 [	-6.27289522, -0.00053194, 0.00032593, 7.27236328, 0.99837491, 0.99914213, 0.49319278],
++												 [	-6.27289544, -0.00053185, 0.00032587, 7.27236359, 0.99837519, 0.99914228, 0.49319281],
++												 [	-6.27289565, -0.00053175, 0.00032582, 7.27236390, 0.99837547, 0.99914243, 0.49319284],
++												 [	-6.27289587, -0.00053166, 0.00032576, 7.27236421, 0.99837575, 0.99914258, 0.49319286],
++												 [	-6.27289609, -0.00053157, 0.00032571, 7.27236452, 0.99837603, 0.99914272, 0.49319287],
++												 [	-6.27289631, -0.00053148, 0.00032565, 7.27236483, 0.99837631, 0.99914287, 0.49319297],
++												 [	-6.27289653, -0.00053139, 0.00032559, 7.27236514, 0.99837659, 0.99914302, 0.49319300],
++												 [	-6.27289675, -0.00053130, 0.00032554, 7.27236545, 0.99837687, 0.99914316, 0.49319302],
++												 [	-6.27289696, -0.00053121, 0.00032548, 7.27236576, 0.99837714, 0.99914331, 0.49319305],
++												 [	-6.27289718, -0.00053112, 0.00032543, 7.27236607, 0.99837742, 0.99914346, 0.49319306],
++												 [	-6.27289740, -0.00053102, 0.00032537, 7.27236638, 0.99837770, 0.99914361, 0.49319318],
++												 [	-6.27289762, -0.00053093, 0.00032531, 7.27236668, 0.99837798, 0.99914375, 0.49319313],
++												 [	-6.27289784, -0.00053084, 0.00032526, 7.27236699, 0.99837826, 0.99914390, 0.49319318],
++												 [	-6.27289805, -0.00053075, 0.00032520, 7.27236730, 0.99837854, 0.99914405, 0.49319320],
++												 [	-6.27289827, -0.00053066, 0.00032515, 7.27236761, 0.99837881, 0.99914419, 0.49319315],
++												 [	-6.27289849, -0.00053057, 0.00032509, 7.27236792, 0.99837909, 0.99914434, 0.49319329],
++												 [	-6.27289871, -0.00053048, 0.00032504, 7.27236823, 0.99837937, 0.99914449, 0.49319329],
++												 [	-6.27289892, -0.00053039, 0.00032498, 7.27236854, 0.99837965, 0.99914463, 0.49319336],
++												 [	-6.27289914, -0.00053030, 0.00032492, 7.27236884, 0.99837993, 0.99914478, 0.49319338],
++												 [	-6.27289936, -0.00053021, 0.00032487, 7.27236915, 0.99838020, 0.99914493, 0.49319340],
++												 [	-6.27289958, -0.00053012, 0.00032481, 7.27236946, 0.99838048, 0.99914507, 0.49319339],
++												 [	-6.27289979, -0.00053002, 0.00032476, 7.27236977, 0.99838076, 0.99914522, 0.49319350],
++												 [	-6.27290001, -0.00052993, 0.00032470, 7.27237008, 0.99838104, 0.99914536, 0.49319352],
++												 [	-6.27290023, -0.00052984, 0.00032465, 7.27237038, 0.99838131, 0.99914551, 0.49319359],
++												 [	-6.27290044, -0.00052975, 0.00032459, 7.27237069, 0.99838159, 0.99914566, 0.49319354],
++												 [	-6.27290066, -0.00052966, 0.00032453, 7.27237100, 0.99838187, 0.99914580, 0.49319355],
++												 [	-6.27290088, -0.00052957, 0.00032448, 7.27237131, 0.99838214, 0.99914595, 0.49319365],
++												 [	-6.27290109, -0.00052948, 0.00032442, 7.27237161, 0.99838242, 0.99914610, 0.49319372],
++												 [	-6.27290131, -0.00052939, 0.00032437, 7.27237192, 0.99838270, 0.99914624, 0.49319371],
++												 [	-6.27290153, -0.00052930, 0.00032431, 7.27237223, 0.99838297, 0.99914639, 0.49319369],
++												 [	-6.27290174, -0.00052921, 0.00032426, 7.27237254, 0.99838325, 0.99914653, 0.49319379],
++												 [	-6.27290196, -0.00052912, 0.00032420, 7.27237284, 0.99838353, 0.99914668, 0.49319379],
++												 [	-6.27290218, -0.00052903, 0.00032415, 7.27237315, 0.99838380, 0.99914683, 0.49319387],
++												 [	-6.27290239, -0.00052894, 0.00032409, 7.27237346, 0.99838408, 0.99914697, 0.49319384],
++												 [	-6.27290261, -0.00052885, 0.00032404, 7.27237376, 0.99838436, 0.99914712, 0.49319390],
++												 [	-6.27290283, -0.00052876, 0.00032398, 7.27237407, 0.99838463, 0.99914726, 0.49319391],
++												 [	-6.27290304, -0.00052867, 0.00032392, 7.27237438, 0.99838491, 0.99914741, 0.49319397],
++												 [	-6.27290326, -0.00052858, 0.00032387, 7.27237468, 0.99838518, 0.99914755, 0.49319399],
++												 [	-6.27290347, -0.00052849, 0.00032381, 7.27237499, 0.99838546, 0.99914770, 0.49319399],
++												 [	-6.27290369, -0.00052840, 0.00032376, 7.27237529, 0.99838574, 0.99914785, 0.49319402],
++												 [	-6.27290391, -0.00052831, 0.00032370, 7.27237560, 0.99838601, 0.99914799, 0.49319410],
++												 [	-6.27290412, -0.00052822, 0.00032365, 7.27237591, 0.99838629, 0.99914814, 0.49319411],
++												 [	-6.27290434, -0.00052813, 0.00032359, 7.27237621, 0.99838656, 0.99914828, 0.49319417],
++												 [	-6.27290455, -0.00052804, 0.00032354, 7.27237652, 0.99838684, 0.99914843, 0.49319421],
++												 [	-6.27290477, -0.00052795, 0.00032348, 7.27237682, 0.99838711, 0.99914857, 0.49319423],
++												 [	-6.27290498, -0.00052786, 0.00032343, 7.27237713, 0.99838739, 0.99914872, 0.49319424],
++												 [	-6.27290520, -0.00052777, 0.00032337, 7.27237743, 0.99838766, 0.99914886, 0.49319429],
++												 [	-6.27290541, -0.00052768, 0.00032332, 7.27237774, 0.99838794, 0.99914901, 0.49319426],
++												 [	-6.27290563, -0.00052759, 0.00032326, 7.27237804, 0.99838821, 0.99914915, 0.49319434],
++												 [	-6.27290584, -0.00052750, 0.00032321, 7.27237835, 0.99838849, 0.99914930, 0.49319436],
++												 [	-6.27290606, -0.00052741, 0.00032315, 7.27237865, 0.99838876, 0.99914944, 0.49319441],
++												 [	-6.27290627, -0.00052732, 0.00032310, 7.27237896, 0.99838904, 0.99914959, 0.49319443],
++												 [	-6.27290649, -0.00052723, 0.00032304, 7.27237926, 0.99838931, 0.99914973, 0.49319450],
++												 [	-6.27290670, -0.00052714, 0.00032299, 7.27237957, 0.99838959, 0.99914988, 0.49319447],
++												 [	-6.27290692, -0.00052705, 0.00032293, 7.27237987, 0.99838986, 0.99915002, 0.49319454],
++												 [	-6.27290713, -0.00052696, 0.00032288, 7.27238018, 0.99839013, 0.99915017, 0.49319453],
++												 [	-6.27290735, -0.00052687, 0.00032282, 7.27238048, 0.99839041, 0.99915031, 0.49319457],
++												 [	-6.27290756, -0.00052678, 0.00032277, 7.27238078, 0.99839068, 0.99915046, 0.49319463],
++												 [	-6.27290778, -0.00052669, 0.00032271, 7.27238109, 0.99839096, 0.99915060, 0.49319468],
++												 [	-6.27290799, -0.00052660, 0.00032266, 7.27238139, 0.99839123, 0.99915075, 0.49319471],
++												 [	-6.27290821, -0.00052651, 0.00032260, 7.27238170, 0.99839150, 0.99915089, 0.49319472],
++												 [	-6.27290842, -0.00052642, 0.00032255, 7.27238200, 0.99839178, 0.99915103, 0.49319477],
++												 [	-6.27290863, -0.00052633, 0.00032249, 7.27238230, 0.99839205, 0.99915118, 0.49319479],
++												 [	-6.27290885, -0.00052624, 0.00032244, 7.27238261, 0.99839232, 0.99915132, 0.49319479],
++												 [	-6.27290906, -0.00052615, 0.00032238, 7.27238291, 0.99839260, 0.99915147, 0.49319486],
++												 [	-6.27290928, -0.00052606, 0.00032233, 7.27238321, 0.99839287, 0.99915161, 0.49319496],
++												 [	-6.27290949, -0.00052597, 0.00032227, 7.27238352, 0.99839314, 0.99915176, 0.49319494],
++												 [	-6.27290970, -0.00052588, 0.00032222, 7.27238382, 0.99839342, 0.99915190, 0.49319490],
++												 [	-6.27290992, -0.00052579, 0.00032216, 7.27238412, 0.99839369, 0.99915204, 0.49319495],
++												 [	-6.27291013, -0.00052570, 0.00032211, 7.27238443, 0.99839396, 0.99915219, 0.49319503],
++												 [	-6.27291034, -0.00052561, 0.00032205, 7.27238473, 0.99839424, 0.99915233, 0.49319499],
++												 [	-6.27291056, -0.00052553, 0.00032200, 7.27238503, 0.99839451, 0.99915248, 0.49319506],
++												 [	-6.27291077, -0.00052544, 0.00032194, 7.27238534, 0.99839478, 0.99915262, 0.49319516],
++												 [	-6.27291098, -0.00052535, 0.00032189, 7.27238564, 0.99839505, 0.99915276, 0.49319515],
++												 [	-6.27291120, -0.00052526, 0.00032183, 7.27238594, 0.99839533, 0.99915291, 0.49319519],
++												 [	-6.27291141, -0.00052517, 0.00032178, 7.27238624, 0.99839560, 0.99915305, 0.49319519],
++												 [	-6.27291162, -0.00052508, 0.00032173, 7.27238654, 0.99839587, 0.99915320, 0.49319522],
++												 [	-6.27291184, -0.00052499, 0.00032167, 7.27238685, 0.99839614, 0.99915334, 0.49319528],
++												 [	-6.27291205, -0.00052490, 0.00032162, 7.27238715, 0.99839642, 0.99915348, 0.49319533],
++												 [	-6.27291226, -0.00052481, 0.00032156, 7.27238745, 0.99839669, 0.99915363, 0.49319536],
++												 [	-6.27291248, -0.00052472, 0.00032151, 7.27238775, 0.99839696, 0.99915377, 0.49319537],
++												 [	-6.27291269, -0.00052463, 0.00032145, 7.27238805, 0.99839723, 0.99915391, 0.49319544],
++												 [	-6.27291290, -0.00052455, 0.00032140, 7.27238836, 0.99839750, 0.99915406, 0.49319545],
++												 [	-6.27291311, -0.00052446, 0.00032134, 7.27238866, 0.99839777, 0.99915420, 0.49319547],
++												 [	-6.27291333, -0.00052437, 0.00032129, 7.27238896, 0.99839805, 0.99915434, 0.49319547],
++												 [	-6.27291354, -0.00052428, 0.00032123, 7.27238926, 0.99839832, 0.99915449, 0.49319552],
++												 [	-6.27291375, -0.00052419, 0.00032118, 7.27238956, 0.99839859, 0.99915463, 0.49319555],
++												 [	-6.27291396, -0.00052410, 0.00032113, 7.27238986, 0.99839886, 0.99915477, 0.49319555],
++												 [	-6.27291418, -0.00052401, 0.00032107, 7.27239016, 0.99839913, 0.99915492, 0.49319565],
++												 [	-6.27291439, -0.00052392, 0.00032102, 7.27239046, 0.99839940, 0.99915506, 0.49319563],
++												 [	-6.27291460, -0.00052384, 0.00032096, 7.27239077, 0.99839967, 0.99915520, 0.49319565],
++												 [	-6.27291481, -0.00052375, 0.00032091, 7.27239107, 0.99839994, 0.99915534, 0.49319571],
++												 [	-6.27291503, -0.00052366, 0.00032085, 7.27239137, 0.99840021, 0.99915549, 0.49319576],
++												 [	-6.27291524, -0.00052357, 0.00032080, 7.27239167, 0.99840049, 0.99915563, 0.49319577],
++												 [	-6.27291545, -0.00052348, 0.00032075, 7.27239197, 0.99840076, 0.99915577, 0.49319579],
++												 [	-6.27291566, -0.00052339, 0.00032069, 7.27239227, 0.99840103, 0.99915592, 0.49319582],
++												 [	-6.27291587, -0.00052330, 0.00032064, 7.27239257, 0.99840130, 0.99915606, 0.49319587],
++												 [	-6.27291608, -0.00052322, 0.00032058, 7.27239287, 0.99840157, 0.99915620, 0.49319592],
++												 [	-6.27291630, -0.00052313, 0.00032053, 7.27239317, 0.99840184, 0.99915634, 0.49319593],
++												 [	-6.27291651, -0.00052304, 0.00032047, 7.27239347, 0.99840211, 0.99915649, 0.49319594],
++												 [	-6.27291672, -0.00052295, 0.00032042, 7.27239377, 0.99840238, 0.99915663, 0.49319596],
++												 [	-6.27291693, -0.00052286, 0.00032037, 7.27239407, 0.99840265, 0.99915677, 0.49319602],
++												 [	-6.27291714, -0.00052277, 0.00032031, 7.27239437, 0.99840292, 0.99915691, 0.49319607],
++												 [	-6.27291735, -0.00052269, 0.00032026, 7.27239467, 0.99840319, 0.99915706, 0.49319609],
++												 [	-6.27291756, -0.00052260, 0.00032020, 7.27239497, 0.99840346, 0.99915720, 0.49319609],
++												 [	-6.27291777, -0.00052251, 0.00032015, 7.27239526, 0.99840373, 0.99915734, 0.49319619],
++												 [	-6.27291799, -0.00052242, 0.00032010, 7.27239556, 0.99840400, 0.99915748, 0.49319624],
++												 [	-6.27291820, -0.00052233, 0.00032004, 7.27239586, 0.99840427, 0.99915763, 0.49319616],
++												 [	-6.27291841, -0.00052225, 0.00031999, 7.27239616, 0.99840453, 0.99915777, 0.49319625],
++												 [	-6.27291862, -0.00052216, 0.00031993, 7.27239646, 0.99840480, 0.99915791, 0.49319632],
++												 [	-6.27291883, -0.00052207, 0.00031988, 7.27239676, 0.99840507, 0.99915805, 0.49319625],
++												 [	-6.27291904, -0.00052198, 0.00031983, 7.27239706, 0.99840534, 0.99915819, 0.49319634],
++												 [	-6.27291925, -0.00052189, 0.00031977, 7.27239736, 0.99840561, 0.99915834, 0.49319638],
++												 [	-6.27291946, -0.00052180, 0.00031972, 7.27239766, 0.99840588, 0.99915848, 0.49319640],
++												 [	-6.27291967, -0.00052172, 0.00031966, 7.27239795, 0.99840615, 0.99915862, 0.49319643],
++												 [	-6.27291988, -0.00052163, 0.00031961, 7.27239825, 0.99840642, 0.99915876, 0.49319646],
++												 [	-6.27292009, -0.00052154, 0.00031956, 7.27239855, 0.99840669, 0.99915890, 0.49319643],
++												 [	-6.27292030, -0.00052145, 0.00031950, 7.27239885, 0.99840695, 0.99915904, 0.49319651],
++												 [	-6.27292051, -0.00052137, 0.00031945, 7.27239915, 0.99840722, 0.99915919, 0.49319652],
++												 [	-6.27292072, -0.00052128, 0.00031939, 7.27239944, 0.99840749, 0.99915933, 0.49319657],
++												 [	-6.27292093, -0.00052119, 0.00031934, 7.27239974, 0.99840776, 0.99915947, 0.49319663],
++												 [	-6.27292114, -0.00052110, 0.00031929, 7.27240004, 0.99840803, 0.99915961, 0.49319665],
++												 [	-6.27292135, -0.00052101, 0.00031923, 7.27240034, 0.99840830, 0.99915975, 0.49319671],
++												 [	-6.27292156, -0.00052093, 0.00031918, 7.27240063, 0.99840856, 0.99915989, 0.49319676],
++												 [	-6.27292177, -0.00052084, 0.00031913, 7.27240093, 0.99840883, 0.99916004, 0.49319677],
++												 [	-6.27292198, -0.00052075, 0.00031907, 7.27240123, 0.99840910, 0.99916018, 0.49319672],
++												 [	-6.27292219, -0.00052066, 0.00031902, 7.27240153, 0.99840937, 0.99916032, 0.49319676],
++												 [	-6.27292240, -0.00052058, 0.00031896, 7.27240182, 0.99840964, 0.99916046, 0.49319684],
++												 [	-6.27292261, -0.00052049, 0.00031891, 7.27240212, 0.99840990, 0.99916060, 0.49319683],
++												 [	-6.27292282, -0.00052040, 0.00031886, 7.27240242, 0.99841017, 0.99916074, 0.49319688],
++												 [	-6.27292303, -0.00052031, 0.00031880, 7.27240271, 0.99841044, 0.99916088, 0.49319696],
++												 [	-6.27292324, -0.00052023, 0.00031875, 7.27240301, 0.99841070, 0.99916102, 0.49319696],
++												 [	-6.27292345, -0.00052014, 0.00031870, 7.27240331, 0.99841097, 0.99916117, 0.49319698],
++												 [	-6.27292366, -0.00052005, 0.00031864, 7.27240360, 0.99841124, 0.99916131, 0.49319702],
++												 [	-6.27292386, -0.00051996, 0.00031859, 7.27240390, 0.99841151, 0.99916145, 0.49319705],
++												 [	-6.27292407, -0.00051988, 0.00031854, 7.27240420, 0.99841177, 0.99916159, 0.49319708],
++												 [	-6.27292428, -0.00051979, 0.00031848, 7.27240449, 0.99841204, 0.99916173, 0.49319705],
++												 [	-6.27292449, -0.00051970, 0.00031843, 7.27240479, 0.99841231, 0.99916187, 0.49319715],
++												 [	-6.27292470, -0.00051962, 0.00031837, 7.27240508, 0.99841257, 0.99916201, 0.49319716],
++												 [	-6.27292491, -0.00051953, 0.00031832, 7.27240538, 0.99841284, 0.99916215, 0.49319722],
++												 [	-6.27292512, -0.00051944, 0.00031827, 7.27240568, 0.99841311, 0.99916229, 0.49319725],
++												 [	-6.27292533, -0.00051935, 0.00031821, 7.27240597, 0.99841337, 0.99916243, 0.49319725],
++												 [	-6.27292553, -0.00051927, 0.00031816, 7.27240627, 0.99841364, 0.99916257, 0.49319734],
++												 [	-6.27292574, -0.00051918, 0.00031811, 7.27240656, 0.99841390, 0.99916271, 0.49319744],
++												 [	-6.27292595, -0.00051909, 0.00031805, 7.27240686, 0.99841417, 0.99916285, 0.49319739],
++												 [	-6.27292616, -0.00051901, 0.00031800, 7.27240715, 0.99841444, 0.99916299, 0.49319736],
++												 [	-6.27292637, -0.00051892, 0.00031795, 7.27240745, 0.99841470, 0.99916313, 0.49319748],
++												 [	-6.27292658, -0.00051883, 0.00031789, 7.27240774, 0.99841497, 0.99916327, 0.49319747],
++												 [	-6.27292678, -0.00051874, 0.00031784, 7.27240804, 0.99841523, 0.99916341, 0.49319748],
++												 [	-6.27292699, -0.00051866, 0.00031779, 7.27240833, 0.99841550, 0.99916355, 0.49319753],
++												 [	-6.27292720, -0.00051857, 0.00031773, 7.27240863, 0.99841577, 0.99916369, 0.49319759],
++												 [	-6.27292741, -0.00051848, 0.00031768, 7.27240892, 0.99841603, 0.99916384, 0.49319759],
++												 [	-6.27292762, -0.00051840, 0.00031763, 7.27240922, 0.99841630, 0.99916398, 0.49319759],
++												 [	-6.27292782, -0.00051831, 0.00031757, 7.27240951, 0.99841656, 0.99916412, 0.49319764],
++												 [	-6.27292803, -0.00051822, 0.00031752, 7.27240981, 0.99841683, 0.99916426, 0.49319769],
++												 [	-6.27292824, -0.00051814, 0.00031747, 7.27241010, 0.99841709, 0.99916440, 0.49319768],
++												 [	-6.27292845, -0.00051805, 0.00031742, 7.27241040, 0.99841736, 0.99916453, 0.49319773],
++												 [	-6.27292865, -0.00051796, 0.00031736, 7.27241069, 0.99841762, 0.99916467, 0.49319777],
++												 [	-6.27292886, -0.00051788, 0.00031731, 7.27241098, 0.99841789, 0.99916481, 0.49319789],
++												 [	-6.27292907, -0.00051779, 0.00031726, 7.27241128, 0.99841815, 0.99916495, 0.49319781],
++												 [	-6.27292927, -0.00051770, 0.00031720, 7.27241157, 0.99841842, 0.99916509, 0.49319785],
++												 [	-6.27292948, -0.00051762, 0.00031715, 7.27241186, 0.99841868, 0.99916523, 0.49319784],
++												 [	-6.27292969, -0.00051753, 0.00031710, 7.27241216, 0.99841895, 0.99916537, 0.49319795],
++												 [	-6.27292990, -0.00051744, 0.00031704, 7.27241245, 0.99841921, 0.99916551, 0.49319794],
++												 [	-6.27293010, -0.00051736, 0.00031699, 7.27241275, 0.99841947, 0.99916565, 0.49319797],
++												 [	-6.27293031, -0.00051727, 0.00031694, 7.27241304, 0.99841974, 0.99916579, 0.49319807],
++												 [	-6.27293052, -0.00051718, 0.00031688, 7.27241333, 0.99842000, 0.99916593, 0.49319800],
++												 [	-6.27293072, -0.00051710, 0.00031683, 7.27241363, 0.99842027, 0.99916607, 0.49319809],
++												 [	-6.27293093, -0.00051701, 0.00031678, 7.27241392, 0.99842053, 0.99916621, 0.49319811],
++												 [	-6.27293114, -0.00051693, 0.00031673, 7.27241421, 0.99842079, 0.99916635, 0.49319811],
++												 [	-6.27293134, -0.00051684, 0.00031667, 7.27241450, 0.99842106, 0.99916649, 0.49319817],
++												 [	-6.27293155, -0.00051675, 0.00031662, 7.27241480, 0.99842132, 0.99916663, 0.49319820],
++												 [	-6.27293176, -0.00051667, 0.00031657, 7.27241509, 0.99842159, 0.99916677, 0.49319821],
++												 [	-6.27293196, -0.00051658, 0.00031651, 7.27241538, 0.99842185, 0.99916691, 0.49319833],
++												 [	-6.27293217, -0.00051649, 0.00031646, 7.27241567, 0.99842211, 0.99916704, 0.49319829],
++												 [	-6.27293237, -0.00051641, 0.00031641, 7.27241597, 0.99842238, 0.99916718, 0.49319831],
++												 [	-6.27293258, -0.00051632, 0.00031636, 7.27241626, 0.99842264, 0.99916732, 0.49319838],
++												 [	-6.27293279, -0.00051624, 0.00031630, 7.27241655, 0.99842290, 0.99916746, 0.49319843],
++												 [	-6.27293299, -0.00051615, 0.00031625, 7.27241684, 0.99842316, 0.99916760, 0.49319840],
++												 [	-6.27293320, -0.00051606, 0.00031620, 7.27241713, 0.99842343, 0.99916774, 0.49319841],
++												 [	-6.27293340, -0.00051598, 0.00031614, 7.27241743, 0.99842369, 0.99916788, 0.49319849],
++												 [	-6.27293361, -0.00051589, 0.00031609, 7.27241772, 0.99842395, 0.99916802, 0.49319850],
++												 [	-6.27293382, -0.00051581, 0.00031604, 7.27241801, 0.99842422, 0.99916816, 0.49319856],
++												 [	-6.27293402, -0.00051572, 0.00031599, 7.27241830, 0.99842448, 0.99916829, 0.49319860],
++												 [	-6.27293423, -0.00051563, 0.00031593, 7.27241859, 0.99842474, 0.99916843, 0.49319855],
++												 [	-6.27293443, -0.00051555, 0.00031588, 7.27241888, 0.99842500, 0.99916857, 0.49319861],
++												 [	-6.27293464, -0.00051546, 0.00031583, 7.27241918, 0.99842527, 0.99916871, 0.49319870],
++												 [	-6.27293484, -0.00051538, 0.00031578, 7.27241947, 0.99842553, 0.99916885, 0.49319866],
++												 [	-6.27293505, -0.00051529, 0.00031572, 7.27241976, 0.99842579, 0.99916899, 0.49319873],
++												 [	-6.27293525, -0.00051520, 0.00031567, 7.27242005, 0.99842605, 0.99916912, 0.49319872],
++												 [	-6.27293546, -0.00051512, 0.00031562, 7.27242034, 0.99842632, 0.99916926, 0.49319875],
++												 [	-6.27293566, -0.00051503, 0.00031557, 7.27242063, 0.99842658, 0.99916940, 0.49319885],
++												 [	-6.27293587, -0.00051495, 0.00031551, 7.27242092, 0.99842684, 0.99916954, 0.49319881],
++												 [	-6.27293607, -0.00051486, 0.00031546, 7.27242121, 0.99842710, 0.99916968, 0.49319885],
++												 [	-6.27293628, -0.00051478, 0.00031541, 7.27242150, 0.99842736, 0.99916982, 0.49319897],
++												 [	-6.27293648, -0.00051469, 0.00031536, 7.27242179, 0.99842762, 0.99916995, 0.49319898],
++												 [	-6.27293669, -0.00051461, 0.00031530, 7.27242208, 0.99842789, 0.99917009, 0.49319895],
++												 [	-6.27293689, -0.00051452, 0.00031525, 7.27242237, 0.99842815, 0.99917023, 0.49319902],
++												 [	-6.27293710, -0.00051443, 0.00031520, 7.27242266, 0.99842841, 0.99917037, 0.49319899],
++												 [	-6.27293730, -0.00051435, 0.00031515, 7.27242295, 0.99842867, 0.99917051, 0.49319907],
++												 [	-6.27293751, -0.00051426, 0.00031509, 7.27242324, 0.99842893, 0.99917064, 0.49319910],
++												 [	-6.27293771, -0.00051418, 0.00031504, 7.27242353, 0.99842919, 0.99917078, 0.49319911],
++												 [	-6.27293792, -0.00051409, 0.00031499, 7.27242382, 0.99842945, 0.99917092, 0.49319911],
++												 [	-6.27293812, -0.00051401, 0.00031494, 7.27242411, 0.99842971, 0.99917106, 0.49319918],
++												 [	-6.27293832, -0.00051392, 0.00031488, 7.27242440, 0.99842997, 0.99917119, 0.49319923],
++												 [	-6.27293853, -0.00051384, 0.00031483, 7.27242469, 0.99843024, 0.99917133, 0.49319919],
++												 [	-6.27293873, -0.00051375, 0.00031478, 7.27242498, 0.99843050, 0.99917147, 0.49319924],
++												 [	-6.27293894, -0.00051367, 0.00031473, 7.27242527, 0.99843076, 0.99917161, 0.49319925],
++												 [	-6.27293914, -0.00051358, 0.00031467, 7.27242556, 0.99843102, 0.99917174, 0.49319934],
++												 [	-6.27293934, -0.00051350, 0.00031462, 7.27242585, 0.99843128, 0.99917188, 0.49319932],
++												 [	-6.27293955, -0.00051341, 0.00031457, 7.27242614, 0.99843154, 0.99917202, 0.49319938],
++												 [	-6.27293975, -0.00051333, 0.00031452, 7.27242643, 0.99843180, 0.99917216, 0.49319942],
++												 [	-6.27293995, -0.00051324, 0.00031447, 7.27242671, 0.99843206, 0.99917229, 0.49319947],
++												 [	-6.27294016, -0.00051315, 0.00031441, 7.27242700, 0.99843232, 0.99917243, 0.49319948],
++												 [	-6.27294036, -0.00051307, 0.00031436, 7.27242729, 0.99843258, 0.99917257, 0.49319954],
++												 [	-6.27294057, -0.00051298, 0.00031431, 7.27242758, 0.99843284, 0.99917271, 0.49319956],
++												 [	-6.27294077, -0.00051290, 0.00031426, 7.27242787, 0.99843310, 0.99917284, 0.49319957],
++												 [	-6.27294097, -0.00051281, 0.00031421, 7.27242816, 0.99843336, 0.99917298, 0.49319962],
++												 [	-6.27294118, -0.00051273, 0.00031415, 7.27242845, 0.99843362, 0.99917312, 0.49319969],
++												 [	-6.27294138, -0.00051265, 0.00031410, 7.27242873, 0.99843388, 0.99917325, 0.49319972],
++												 [	-6.27294158, -0.00051256, 0.00031405, 7.27242902, 0.99843414, 0.99917339, 0.49319967],
++												 [	-6.27294178, -0.00051248, 0.00031400, 7.27242931, 0.99843439, 0.99917353, 0.49319971],
++												 [	-6.27294199, -0.00051239, 0.00031395, 7.27242960, 0.99843465, 0.99917366, 0.49319975],
++												 [	-6.27294219, -0.00051231, 0.00031389, 7.27242988, 0.99843491, 0.99917380, 0.49319976],
++												 [	-6.27294239, -0.00051222, 0.00031384, 7.27243017, 0.99843517, 0.99917394, 0.49319985],
++												 [	-6.27294260, -0.00051214, 0.00031379, 7.27243046, 0.99843543, 0.99917407, 0.49319980],
++												 [	-6.27294280, -0.00051205, 0.00031374, 7.27243075, 0.99843569, 0.99917421, 0.49319987],
++												 [	-6.27294300, -0.00051197, 0.00031369, 7.27243103, 0.99843595, 0.99917435, 0.49319991],
++												 [	-6.27294320, -0.00051188, 0.00031363, 7.27243132, 0.99843621, 0.99917448, 0.49319996],
++												 [	-6.27294341, -0.00051180, 0.00031358, 7.27243161, 0.99843647, 0.99917462, 0.49320001],
++												 [	-6.27294361, -0.00051171, 0.00031353, 7.27243190, 0.99843673, 0.99917476, 0.49319998],
++												 [	-6.27294381, -0.00051163, 0.00031348, 7.27243218, 0.99843698, 0.99917489, 0.49320000],
++												 [	-6.27294401, -0.00051154, 0.00031343, 7.27243247, 0.99843724, 0.99917503, 0.49320003],
++												 [	-6.27294422, -0.00051146, 0.00031337, 7.27243276, 0.99843750, 0.99917517, 0.49320007],
++												 [	-6.27294442, -0.00051137, 0.00031332, 7.27243304, 0.99843776, 0.99917530, 0.49320006],
++												 [	-6.27294462, -0.00051129, 0.00031327, 7.27243333, 0.99843802, 0.99917544, 0.49320012],
++												 [	-6.27294482, -0.00051121, 0.00031322, 7.27243362, 0.99843827, 0.99917558, 0.49320018],
++												 [	-6.27294502, -0.00051112, 0.00031317, 7.27243390, 0.99843853, 0.99917571, 0.49320018],
++												 [	-6.27294523, -0.00051104, 0.00031312, 7.27243419, 0.99843879, 0.99917585, 0.49320017],
++												 [	-6.27294543, -0.00051095, 0.00031306, 7.27243448, 0.99843905, 0.99917598, 0.49320022],
++												 [	-6.27294563, -0.00051087, 0.00031301, 7.27243476, 0.99843931, 0.99917612, 0.49320033],
++												 [	-6.27294583, -0.00051078, 0.00031296, 7.27243505, 0.99843956, 0.99917626, 0.49320035],
++												 [	-6.27294603, -0.00051070, 0.00031291, 7.27243533, 0.99843982, 0.99917639, 0.49320035],
++												 [	-6.27294623, -0.00051062, 0.00031286, 7.27243562, 0.99844008, 0.99917653, 0.49320037],
++												 [	-6.27294644, -0.00051053, 0.00031281, 7.27243590, 0.99844034, 0.99917666, 0.49320040],
++												 [	-6.27294664, -0.00051045, 0.00031275, 7.27243619, 0.99844059, 0.99917680, 0.49320046],
++												 [	-6.27294684, -0.00051036, 0.00031270, 7.27243648, 0.99844085, 0.99917693, 0.49320050],
++												 [	-6.27294704, -0.00051028, 0.00031265, 7.27243676, 0.99844111, 0.99917707, 0.49320049],
++												 [	-6.27294724, -0.00051019, 0.00031260, 7.27243705, 0.99844136, 0.99917721, 0.49320054],
++												 [	-6.27294744, -0.00051011, 0.00031255, 7.27243733, 0.99844162, 0.99917734, 0.49320055],
++												 [	-6.27294764, -0.00051003, 0.00031250, 7.27243762, 0.99844188, 0.99917748, 0.49320064],
++												 [	-6.27294784, -0.00050994, 0.00031244, 7.27243790, 0.99844214, 0.99917761, 0.49320065],
++												 [	-6.27294805, -0.00050986, 0.00031239, 7.27243819, 0.99844239, 0.99917775, 0.49320067],
++												 [	-6.27294825, -0.00050977, 0.00031234, 7.27243847, 0.99844265, 0.99917788, 0.49320073],
++												 [	-6.27294845, -0.00050969, 0.00031229, 7.27243876, 0.99844291, 0.99917802, 0.49320072],
++												 [	-6.27294865, -0.00050961, 0.00031224, 7.27243904, 0.99844316, 0.99917815, 0.49320076],
++												 [	-6.27294885, -0.00050952, 0.00031219, 7.27243933, 0.99844342, 0.99917829, 0.49320077],
++												 [	-6.27294905, -0.00050944, 0.00031214, 7.27243961, 0.99844367, 0.99917843, 0.49320076],
++												 [	-6.27294925, -0.00050936, 0.00031208, 7.27243989, 0.99844393, 0.99917856, 0.49320084],
++												 [	-6.27294945, -0.00050927, 0.00031203, 7.27244018, 0.99844419, 0.99917870, 0.49320087],
++												 [	-6.27294965, -0.00050919, 0.00031198, 7.27244046, 0.99844444, 0.99917883, 0.49320088],
++												 [	-6.27294985, -0.00050910, 0.00031193, 7.27244075, 0.99844470, 0.99917897, 0.49320097],
++												 [	-6.27295005, -0.00050902, 0.00031188, 7.27244103, 0.99844495, 0.99917910, 0.49320091],
++												 [	-6.27295025, -0.00050894, 0.00031183, 7.27244132, 0.99844521, 0.99917924, 0.49320097],
++												 [	-6.27295045, -0.00050885, 0.00031178, 7.27244160, 0.99844547, 0.99917937, 0.49320101],
++												 [	-6.27295065, -0.00050877, 0.00031173, 7.27244188, 0.99844572, 0.99917951, 0.49320102],
++												 [	-6.27295085, -0.00050869, 0.00031167, 7.27244217, 0.99844598, 0.99917964, 0.49320101],
++												 [	-6.27295105, -0.00050860, 0.00031162, 7.27244245, 0.99844623, 0.99917978, 0.49320112],
++												 [	-6.27295125, -0.00050852, 0.00031157, 7.27244273, 0.99844649, 0.99917991, 0.49320117],
++												 [	-6.27295145, -0.00050844, 0.00031152, 7.27244302, 0.99844674, 0.99918004, 0.49320117],
++												 [	-6.27295165, -0.00050835, 0.00031147, 7.27244330, 0.99844700, 0.99918018, 0.49320119],
++												 [	-6.27295185, -0.00050827, 0.00031142, 7.27244358, 0.99844725, 0.99918031, 0.49320122],
++												 [	-6.27295205, -0.00050818, 0.00031137, 7.27244387, 0.99844751, 0.99918045, 0.49320128],
++												 [	-6.27295225, -0.00050810, 0.00031132, 7.27244415, 0.99844776, 0.99918058, 0.49320130],
++												 [	-6.27295245, -0.00050802, 0.00031126, 7.27244443, 0.99844802, 0.99918072, 0.49320132],
++												 [	-6.27295265, -0.00050793, 0.00031121, 7.27244472, 0.99844827, 0.99918085, 0.49320130],
++												 [	-6.27295285, -0.00050785, 0.00031116, 7.27244500, 0.99844853, 0.99918099, 0.49320137],
++												 [	-6.27295305, -0.00050777, 0.00031111, 7.27244528, 0.99844878, 0.99918112, 0.49320141],
++												 [	-6.27295325, -0.00050768, 0.00031106, 7.27244556, 0.99844904, 0.99918126, 0.49320145],
++												 [	-6.27295345, -0.00050760, 0.00031101, 7.27244585, 0.99844929, 0.99918139, 0.49320144],
++												 [	-6.27295365, -0.00050752, 0.00031096, 7.27244613, 0.99844955, 0.99918152, 0.49320149],
++												 [	-6.27295385, -0.00050743, 0.00031091, 7.27244641, 0.99844980, 0.99918166, 0.49320154],
++												 [	-6.27295404, -0.00050735, 0.00031086, 7.27244669, 0.99845005, 0.99918179, 0.49320156],
++												 [	-6.27295424, -0.00050727, 0.00031081, 7.27244697, 0.99845031, 0.99918193, 0.49320161],
++												 [	-6.27295444, -0.00050719, 0.00031075, 7.27244726, 0.99845056, 0.99918206, 0.49320163],
++												 [	-6.27295464, -0.00050710, 0.00031070, 7.27244754, 0.99845082, 0.99918219, 0.49320168],
++												 [	-6.27295484, -0.00050702, 0.00031065, 7.27244782, 0.99845107, 0.99918233, 0.49320163],
++												 [	-6.27295504, -0.00050694, 0.00031060, 7.27244810, 0.99845132, 0.99918246, 0.49320171],
++												 [	-6.27295524, -0.00050685, 0.00031055, 7.27244838, 0.99845158, 0.99918260, 0.49320174],
++												 [	-6.27295544, -0.00050677, 0.00031050, 7.27244867, 0.99845183, 0.99918273, 0.49320177],
++												 [	-6.27295563, -0.00050669, 0.00031045, 7.27244895, 0.99845208, 0.99918286, 0.49320176],
++												 [	-6.27295583, -0.00050660, 0.00031040, 7.27244923, 0.99845234, 0.99918300, 0.49320182],
++												 [	-6.27295603, -0.00050652, 0.00031035, 7.27244951, 0.99845259, 0.99918313, 0.49320186],
++												 [	-6.27295623, -0.00050644, 0.00031030, 7.27244979, 0.99845284, 0.99918327, 0.49320185],
++												 [	-6.27295643, -0.00050636, 0.00031025, 7.27245007, 0.99845310, 0.99918340, 0.49320186],
++												 [	-6.27295663, -0.00050627, 0.00031019, 7.27245035, 0.99845335, 0.99918353, 0.49320197],
++												 [	-6.27295682, -0.00050619, 0.00031014, 7.27245063, 0.99845360, 0.99918367, 0.49320197],
++												 [	-6.27295702, -0.00050611, 0.00031009, 7.27245091, 0.99845386, 0.99918380, 0.49320194],
++												 [	-6.27295722, -0.00050602, 0.00031004, 7.27245120, 0.99845411, 0.99918393, 0.49320202],
++												 [	-6.27295742, -0.00050594, 0.00030999, 7.27245148, 0.99845436, 0.99918407, 0.49320205],
++												 [	-6.27295762, -0.00050586, 0.00030994, 7.27245176, 0.99845462, 0.99918420, 0.49320207],
++												 [	-6.27295781, -0.00050578, 0.00030989, 7.27245204, 0.99845487, 0.99918433, 0.49320207],
++												 [	-6.27295801, -0.00050569, 0.00030984, 7.27245232, 0.99845512, 0.99918447, 0.49320217],
++												 [	-6.27295821, -0.00050561, 0.00030979, 7.27245260, 0.99845537, 0.99918460, 0.49320221],
++												 [	-6.27295841, -0.00050553, 0.00030974, 7.27245288, 0.99845563, 0.99918473, 0.49320219],
++												 [	-6.27295860, -0.00050545, 0.00030969, 7.27245316, 0.99845588, 0.99918487, 0.49320222],
++												 [	-6.27295880, -0.00050536, 0.00030964, 7.27245344, 0.99845613, 0.99918500, 0.49320228],
++												 [	-6.27295900, -0.00050528, 0.00030959, 7.27245372, 0.99845638, 0.99918513, 0.49320230],
++												 [	-6.27295920, -0.00050520, 0.00030954, 7.27245400, 0.99845663, 0.99918526, 0.49320235],
++												 [	-6.27295939, -0.00050512, 0.00030949, 7.27245428, 0.99845689, 0.99918540, 0.49320231],
++												 [	-6.27295959, -0.00050503, 0.00030944, 7.27245456, 0.99845714, 0.99918553, 0.49320239],
++												 [	-6.27295979, -0.00050495, 0.00030938, 7.27245484, 0.99845739, 0.99918566, 0.49320239],
++												 [	-6.27295998, -0.00050487, 0.00030933, 7.27245512, 0.99845764, 0.99918580, 0.49320243],
++												 [	-6.27296018, -0.00050479, 0.00030928, 7.27245539, 0.99845789, 0.99918593, 0.49320240],
++												 [	-6.27296038, -0.00050470, 0.00030923, 7.27245567, 0.99845814, 0.99918606, 0.49320248],
++												 [	-6.27296058, -0.00050462, 0.00030918, 7.27245595, 0.99845840, 0.99918619, 0.49320254],
++												 [	-6.27296077, -0.00050454, 0.00030913, 7.27245623, 0.99845865, 0.99918633, 0.49320254],
++												 [	-6.27296097, -0.00050446, 0.00030908, 7.27245651, 0.99845890, 0.99918646, 0.49320257],
++												 [	-6.27296117, -0.00050438, 0.00030903, 7.27245679, 0.99845915, 0.99918659, 0.49320260],
++												 [	-6.27296136, -0.00050429, 0.00030898, 7.27245707, 0.99845940, 0.99918673, 0.49320260],
++												 [	-6.27296156, -0.00050421, 0.00030893, 7.27245735, 0.99845965, 0.99918686, 0.49320264],
++												 [	-6.27296176, -0.00050413, 0.00030888, 7.27245763, 0.99845990, 0.99918699, 0.49320270],
++												 [	-6.27296195, -0.00050405, 0.00030883, 7.27245790, 0.99846015, 0.99918712, 0.49320271],
++												 [	-6.27296215, -0.00050397, 0.00030878, 7.27245818, 0.99846040, 0.99918726, 0.49320271],
++												 [	-6.27296234, -0.00050388, 0.00030873, 7.27245846, 0.99846066, 0.99918739, 0.49320279],
++												 [	-6.27296254, -0.00050380, 0.00030868, 7.27245874, 0.99846091, 0.99918752, 0.49320285],
++												 [	-6.27296274, -0.00050372, 0.00030863, 7.27245902, 0.99846116, 0.99918765, 0.49320278],
++												 [	-6.27296293, -0.00050364, 0.00030858, 7.27245930, 0.99846141, 0.99918778, 0.49320286],
++												 [	-6.27296313, -0.00050356, 0.00030853, 7.27245957, 0.99846166, 0.99918792, 0.49320284],
++												 [	-6.27296332, -0.00050347, 0.00030848, 7.27245985, 0.99846191, 0.99918805, 0.49320294],
++												 [	-6.27296352, -0.00050339, 0.00030843, 7.27246013, 0.99846216, 0.99918818, 0.49320297],
++												 [	-6.27296372, -0.00050331, 0.00030838, 7.27246041, 0.99846241, 0.99918831, 0.49320295],
++												 [	-6.27296391, -0.00050323, 0.00030833, 7.27246068, 0.99846266, 0.99918844, 0.49320301],
++												 [	-6.27296411, -0.00050315, 0.00030828, 7.27246096, 0.99846291, 0.99918858, 0.49320303],
++												 [	-6.27296430, -0.00050306, 0.00030823, 7.27246124, 0.99846316, 0.99918871, 0.49320305],
++												 [	-6.27296450, -0.00050298, 0.00030818, 7.27246152, 0.99846341, 0.99918884, 0.49320310],
++												 [	-6.27296469, -0.00050290, 0.00030813, 7.27246179, 0.99846366, 0.99918897, 0.49320314],
++												 [	-6.27296489, -0.00050282, 0.00030808, 7.27246207, 0.99846391, 0.99918910, 0.49320318],
++												 [	-6.27296509, -0.00050274, 0.00030803, 7.27246235, 0.99846416, 0.99918924, 0.49320319],
++												 [	-6.27296528, -0.00050266, 0.00030798, 7.27246263, 0.99846441, 0.99918937, 0.49320326],
++												 [	-6.27296548, -0.00050257, 0.00030793, 7.27246290, 0.99846466, 0.99918950, 0.49320325],
++												 [	-6.27296567, -0.00050249, 0.00030788, 7.27246318, 0.99846490, 0.99918963, 0.49320329],
++												 [	-6.27296587, -0.00050241, 0.00030783, 7.27246346, 0.99846515, 0.99918976, 0.49320330],
++												 [	-6.27296606, -0.00050233, 0.00030778, 7.27246373, 0.99846540, 0.99918989, 0.49320333],
++												 [	-6.27296626, -0.00050225, 0.00030773, 7.27246401, 0.99846565, 0.99919002, 0.49320339],
++												 [	-6.27296645, -0.00050217, 0.00030768, 7.27246429, 0.99846590, 0.99919016, 0.49320339],
++												 [	-6.27296665, -0.00050209, 0.00030763, 7.27246456, 0.99846615, 0.99919029, 0.49320338],
++												 [	-6.27296684, -0.00050200, 0.00030758, 7.27246484, 0.99846640, 0.99919042, 0.49320344],
++												 [	-6.27296704, -0.00050192, 0.00030753, 7.27246511, 0.99846665, 0.99919055, 0.49320353],
++												 [	-6.27296723, -0.00050184, 0.00030748, 7.27246539, 0.99846690, 0.99919068, 0.49320349],
++												 [	-6.27296743, -0.00050176, 0.00030743, 7.27246567, 0.99846715, 0.99919081, 0.49320357],
++												 [	-6.27296762, -0.00050168, 0.00030738, 7.27246594, 0.99846739, 0.99919094, 0.49320354],
++												 [	-6.27296781, -0.00050160, 0.00030733, 7.27246622, 0.99846764, 0.99919108, 0.49320360],
++												 [	-6.27296801, -0.00050152, 0.00030728, 7.27246649, 0.99846789, 0.99919121, 0.49320366],
++												 [	-6.27296820, -0.00050143, 0.00030723, 7.27246677, 0.99846814, 0.99919134, 0.49320363],
++												 [	-6.27296840, -0.00050135, 0.00030718, 7.27246704, 0.99846839, 0.99919147, 0.49320369],
++												 [	-6.27296859, -0.00050127, 0.00030713, 7.27246732, 0.99846864, 0.99919160, 0.49320376],
++												 [	-6.27296879, -0.00050119, 0.00030708, 7.27246760, 0.99846888, 0.99919173, 0.49320377],
++												 [	-6.27296898, -0.00050111, 0.00030703, 7.27246787, 0.99846913, 0.99919186, 0.49320381],
++												 [	-6.27296917, -0.00050103, 0.00030698, 7.27246815, 0.99846938, 0.99919199, 0.49320377],
++												 [	-6.27296937, -0.00050095, 0.00030693, 7.27246842, 0.99846963, 0.99919212, 0.49320384],
++												 [	-6.27296956, -0.00050087, 0.00030688, 7.27246870, 0.99846987, 0.99919225, 0.49320380],
++												 [	-6.27296976, -0.00050079, 0.00030683, 7.27246897, 0.99847012, 0.99919238, 0.49320387],
++												 [	-6.27296995, -0.00050070, 0.00030678, 7.27246925, 0.99847037, 0.99919251, 0.49320387],
++												 [	-6.27297014, -0.00050062, 0.00030673, 7.27246952, 0.99847062, 0.99919265, 0.49320397],
++												 [	-6.27297034, -0.00050054, 0.00030668, 7.27246980, 0.99847086, 0.99919278, 0.49320397],
++												 [	-6.27297053, -0.00050046, 0.00030663, 7.27247007, 0.99847111, 0.99919291, 0.49320399],
++												 [	-6.27297073, -0.00050038, 0.00030658, 7.27247034, 0.99847136, 0.99919304, 0.49320405],
++												 [	-6.27297092, -0.00050030, 0.00030653, 7.27247062, 0.99847161, 0.99919317, 0.49320409],
++												 [	-6.27297111, -0.00050022, 0.00030648, 7.27247089, 0.99847185, 0.99919330, 0.49320412],
++												 [	-6.27297131, -0.00050014, 0.00030643, 7.27247117, 0.99847210, 0.99919343, 0.49320414],
++												 [	-6.27297150, -0.00050006, 0.00030638, 7.27247144, 0.99847235, 0.99919356, 0.49320414],
++												 [	-6.27297169, -0.00049998, 0.00030633, 7.27247172, 0.99847259, 0.99919369, 0.49320417],
++												 [	-6.27297189, -0.00049990, 0.00030629, 7.27247199, 0.99847284, 0.99919382, 0.49320418],
++												 [	-6.27297208, -0.00049982, 0.00030624, 7.27247226, 0.99847309, 0.99919395, 0.49320420],
++												 [	-6.27297227, -0.00049973, 0.00030619, 7.27247254, 0.99847333, 0.99919408, 0.49320426],
++												 [	-6.27297246, -0.00049965, 0.00030614, 7.27247281, 0.99847358, 0.99919421, 0.49320420],
++												 [	-6.27297266, -0.00049957, 0.00030609, 7.27247308, 0.99847383, 0.99919434, 0.49320435],
++												 [	-6.27297285, -0.00049949, 0.00030604, 7.27247336, 0.99847407, 0.99919447, 0.49320431],
++												 [	-6.27297304, -0.00049941, 0.00030599, 7.27247363, 0.99847432, 0.99919460, 0.49320437],
++												 [	-6.27297324, -0.00049933, 0.00030594, 7.27247390, 0.99847457, 0.99919473, 0.49320437],
++												 [	-6.27297343, -0.00049925, 0.00030589, 7.27247418, 0.99847481, 0.99919486, 0.49320443],
++												 [	-6.27297362, -0.00049917, 0.00030584, 7.27247445, 0.99847506, 0.99919499, 0.49320448],
++												 [	-6.27297381, -0.00049909, 0.00030579, 7.27247472, 0.99847530, 0.99919512, 0.49320448],
++												 [	-6.27297401, -0.00049901, 0.00030574, 7.27247500, 0.99847555, 0.99919525, 0.49320449],
++												 [	-6.27297420, -0.00049893, 0.00030569, 7.27247527, 0.99847580, 0.99919538, 0.49320451],
++												 [	-6.27297439, -0.00049885, 0.00030564, 7.27247554, 0.99847604, 0.99919551, 0.49320453],
++												 [	-6.27297458, -0.00049877, 0.00030559, 7.27247582, 0.99847629, 0.99919564, 0.49320461],
++												 [	-6.27297478, -0.00049869, 0.00030554, 7.27247609, 0.99847653, 0.99919577, 0.49320461],
++												 [	-6.27297497, -0.00049861, 0.00030550, 7.27247636, 0.99847678, 0.99919590, 0.49320465],
++												 [	-6.27297516, -0.00049853, 0.00030545, 7.27247663, 0.99847702, 0.99919603, 0.49320475],
++												 [	-6.27297535, -0.00049845, 0.00030540, 7.27247691, 0.99847727, 0.99919616, 0.49320473],
++												 [	-6.27297554, -0.00049837, 0.00030535, 7.27247718, 0.99847751, 0.99919629, 0.49320474],
++												 [	-6.27297574, -0.00049829, 0.00030530, 7.27247745, 0.99847776, 0.99919641, 0.49320475],
++												 [	-6.27297593, -0.00049821, 0.00030525, 7.27247772, 0.99847800, 0.99919654, 0.49320486],
++												 [	-6.27297612, -0.00049813, 0.00030520, 7.27247799, 0.99847825, 0.99919667, 0.49320483],
++												 [	-6.27297631, -0.00049805, 0.00030515, 7.27247827, 0.99847849, 0.99919680, 0.49320494],
++												 [	-6.27297650, -0.00049797, 0.00030510, 7.27247854, 0.99847874, 0.99919693, 0.49320494],
++												 [	-6.27297670, -0.00049789, 0.00030505, 7.27247881, 0.99847898, 0.99919706, 0.49320488],
++												 [	-6.27297689, -0.00049781, 0.00030500, 7.27247908, 0.99847923, 0.99919719, 0.49320497],
++												 [	-6.27297708, -0.00049773, 0.00030495, 7.27247935, 0.99847947, 0.99919732, 0.49320498],
++												 [	-6.27297727, -0.00049765, 0.00030491, 7.27247962, 0.99847972, 0.99919745, 0.49320504],
++												 [	-6.27297746, -0.00049757, 0.00030486, 7.27247990, 0.99847996, 0.99919758, 0.49320498],
++												 [	-6.27297765, -0.00049749, 0.00030481, 7.27248017, 0.99848021, 0.99919771, 0.49320508],
++												 [	-6.27297784, -0.00049741, 0.00030476, 7.27248044, 0.99848045, 0.99919784, 0.49320506],
++												 [	-6.27297804, -0.00049733, 0.00030471, 7.27248071, 0.99848070, 0.99919796, 0.49320512],
++												 [	-6.27297823, -0.00049725, 0.00030466, 7.27248098, 0.99848094, 0.99919809, 0.49320520],
++												 [	-6.27297842, -0.00049717, 0.00030461, 7.27248125, 0.99848118, 0.99919822, 0.49320518],
++												 [	-6.27297861, -0.00049709, 0.00030456, 7.27248152, 0.99848143, 0.99919835, 0.49320519],
++												 [	-6.27297880, -0.00049701, 0.00030451, 7.27248179, 0.99848167, 0.99919848, 0.49320524],
++												 [	-6.27297899, -0.00049693, 0.00030446, 7.27248206, 0.99848192, 0.99919861, 0.49320527],
++												 [	-6.27297918, -0.00049685, 0.00030442, 7.27248233, 0.99848216, 0.99919874, 0.49320529],
++												 [	-6.27297937, -0.00049677, 0.00030437, 7.27248260, 0.99848240, 0.99919887, 0.49320530],
++												 [	-6.27297956, -0.00049669, 0.00030432, 7.27248288, 0.99848265, 0.99919899, 0.49320533],
++												 [	-6.27297975, -0.00049661, 0.00030427, 7.27248315, 0.99848289, 0.99919912, 0.49320533],
++												 [	-6.27297994, -0.00049653, 0.00030422, 7.27248342, 0.99848313, 0.99919925, 0.49320545],
++												 [	-6.27298013, -0.00049645, 0.00030417, 7.27248369, 0.99848338, 0.99919938, 0.49320550],
++												 [	-6.27298033, -0.00049637, 0.00030412, 7.27248396, 0.99848362, 0.99919951, 0.49320544],
++												 [	-6.27298052, -0.00049629, 0.00030407, 7.27248423, 0.99848386, 0.99919964, 0.49320542],
++												 [	-6.27298071, -0.00049621, 0.00030403, 7.27248450, 0.99848411, 0.99919976, 0.49320549],
++												 [	-6.27298090, -0.00049613, 0.00030398, 7.27248477, 0.99848435, 0.99919989, 0.49320553],
++												 [	-6.27298109, -0.00049605, 0.00030393, 7.27248504, 0.99848459, 0.99920002, 0.49320549],
++												 [	-6.27298128, -0.00049597, 0.00030388, 7.27248531, 0.99848484, 0.99920015, 0.49320559],
++												 [	-6.27298147, -0.00049589, 0.00030383, 7.27248557, 0.99848508, 0.99920028, 0.49320560],
++												 [	-6.27298166, -0.00049581, 0.00030378, 7.27248584, 0.99848532, 0.99920041, 0.49320562],
++												 [	-6.27298185, -0.00049573, 0.00030373, 7.27248611, 0.99848556, 0.99920053, 0.49320572],
++												 [	-6.27298204, -0.00049565, 0.00030368, 7.27248638, 0.99848581, 0.99920066, 0.49320570],
++												 [	-6.27298223, -0.00049557, 0.00030364, 7.27248665, 0.99848605, 0.99920079, 0.49320571],
++												 [	-6.27298242, -0.00049550, 0.00030359, 7.27248692, 0.99848629, 0.99920092, 0.49320573],
++												 [	-6.27298261, -0.00049542, 0.00030354, 7.27248719, 0.99848653, 0.99920105, 0.49320576],
++												 [	-6.27298280, -0.00049534, 0.00030349, 7.27248746, 0.99848678, 0.99920117, 0.49320585],
++												 [	-6.27298299, -0.00049526, 0.00030344, 7.27248773, 0.99848702, 0.99920130, 0.49320584],
++												 [	-6.27298318, -0.00049518, 0.00030339, 7.27248800, 0.99848726, 0.99920143, 0.49320590],
++												 [	-6.27298336, -0.00049510, 0.00030334, 7.27248827, 0.99848750, 0.99920156, 0.49320592],
++												 [	-6.27298355, -0.00049502, 0.00030330, 7.27248853, 0.99848774, 0.99920168, 0.49320594],
++												 [	-6.27298374, -0.00049494, 0.00030325, 7.27248880, 0.99848799, 0.99920181, 0.49320595],
++												 [	-6.27298393, -0.00049486, 0.00030320, 7.27248907, 0.99848823, 0.99920194, 0.49320597],
++												 [	-6.27298412, -0.00049478, 0.00030315, 7.27248934, 0.99848847, 0.99920207, 0.49320596],
++												 [	-6.27298431, -0.00049470, 0.00030310, 7.27248961, 0.99848871, 0.99920220, 0.49320603],
++												 [	-6.27298450, -0.00049462, 0.00030305, 7.27248988, 0.99848895, 0.99920232, 0.49320613],
++												 [	-6.27298469, -0.00049455, 0.00030300, 7.27249014, 0.99848919, 0.99920245, 0.49320607],
++												 [	-6.27298488, -0.00049447, 0.00030296, 7.27249041, 0.99848944, 0.99920258, 0.49320616],
++												 [	-6.27298507, -0.00049439, 0.00030291, 7.27249068, 0.99848968, 0.99920270, 0.49320618],
++												 [	-6.27298526, -0.00049431, 0.00030286, 7.27249095, 0.99848992, 0.99920283, 0.49320613],
++												 [	-6.27298545, -0.00049423, 0.00030281, 7.27249122, 0.99849016, 0.99920296, 0.49320620],
++												 [	-6.27298563, -0.00049415, 0.00030276, 7.27249148, 0.99849040, 0.99920309, 0.49320622],
++												 [	-6.27298582, -0.00049407, 0.00030271, 7.27249175, 0.99849064, 0.99920321, 0.49320626],
++												 [	-6.27298601, -0.00049399, 0.00030267, 7.27249202, 0.99849088, 0.99920334, 0.49320625],
++												 [	-6.27298620, -0.00049391, 0.00030262, 7.27249229, 0.99849112, 0.99920347, 0.49320640],
++												 [	-6.27298639, -0.00049384, 0.00030257, 7.27249255, 0.99849136, 0.99920360, 0.49320640],
++												 [	-6.27298658, -0.00049376, 0.00030252, 7.27249282, 0.99849161, 0.99920372, 0.49320636],
++												 [	-6.27298677, -0.00049368, 0.00030247, 7.27249309, 0.99849185, 0.99920385, 0.49320641],
++												 [	-6.27298695, -0.00049360, 0.00030242, 7.27249336, 0.99849209, 0.99920398, 0.49320644],
++												 [	-6.27298714, -0.00049352, 0.00030238, 7.27249362, 0.99849233, 0.99920410, 0.49320643],
++												 [	-6.27298733, -0.00049344, 0.00030233, 7.27249389, 0.99849257, 0.99920423, 0.49320647],
++												 [	-6.27298752, -0.00049336, 0.00030228, 7.27249416, 0.99849281, 0.99920436, 0.49320649],
++												 [	-6.27298771, -0.00049328, 0.00030223, 7.27249442, 0.99849305, 0.99920448, 0.49320659],
++												 [	-6.27298790, -0.00049321, 0.00030218, 7.27249469, 0.99849329, 0.99920461, 0.49320657],
++												 [	-6.27298808, -0.00049313, 0.00030214, 7.27249496, 0.99849353, 0.99920474, 0.49320661],
++												 [	-6.27298827, -0.00049305, 0.00030209, 7.27249522, 0.99849377, 0.99920486, 0.49320660],
++												 [	-6.27298846, -0.00049297, 0.00030204, 7.27249549, 0.99849401, 0.99920499, 0.49320663],
++												 [	-6.27298865, -0.00049289, 0.00030199, 7.27249576, 0.99849425, 0.99920512, 0.49320673],
++												 [	-6.27298883, -0.00049281, 0.00030194, 7.27249602, 0.99849449, 0.99920524, 0.49320673],
++												 [	-6.27298902, -0.00049273, 0.00030189, 7.27249629, 0.99849473, 0.99920537, 0.49320669],
++												 [	-6.27298921, -0.00049266, 0.00030185, 7.27249655, 0.99849497, 0.99920550, 0.49320677],
++												 [	-6.27298940, -0.00049258, 0.00030180, 7.27249682, 0.99849521, 0.99920562, 0.49320680],
++												 [	-6.27298959, -0.00049250, 0.00030175, 7.27249709, 0.99849545, 0.99920575, 0.49320687],
++												 [	-6.27298977, -0.00049242, 0.00030170, 7.27249735, 0.99849569, 0.99920588, 0.49320693],
++												 [	-6.27298996, -0.00049234, 0.00030165, 7.27249762, 0.99849593, 0.99920600, 0.49320681],
++												 [	-6.27299015, -0.00049226, 0.00030161, 7.27249788, 0.99849616, 0.99920613, 0.49320699],
++												 [	-6.27299033, -0.00049219, 0.00030156, 7.27249815, 0.99849640, 0.99920626, 0.49320687],
++												 [	-6.27299052, -0.00049211, 0.00030151, 7.27249841, 0.99849664, 0.99920638, 0.49320699],
++												 [	-6.27299071, -0.00049203, 0.00030146, 7.27249868, 0.99849688, 0.99920651, 0.49320705],
++												 [	-6.27299090, -0.00049195, 0.00030141, 7.27249894, 0.99849712, 0.99920663, 0.49320709],
++												 [	-6.27299108, -0.00049187, 0.00030137, 7.27249921, 0.99849736, 0.99920676, 0.49320704],
++												 [	-6.27299127, -0.00049180, 0.00030132, 7.27249948, 0.99849760, 0.99920689, 0.49320700],
++												 [	-6.27299146, -0.00049172, 0.00030127, 7.27249974, 0.99849784, 0.99920701, 0.49320709],
++												 [	-6.27299164, -0.00049164, 0.00030122, 7.27250001, 0.99849808, 0.99920714, 0.49320722],
++												 [	-6.27299183, -0.00049156, 0.00030118, 7.27250027, 0.99849831, 0.99920726, 0.49320713],
++												 [	-6.27299202, -0.00049148, 0.00030113, 7.27250053, 0.99849855, 0.99920739, 0.49320717],
++												 [	-6.27299220, -0.00049140, 0.00030108, 7.27250080, 0.99849879, 0.99920752, 0.49320720],
++												 [	-6.27299239, -0.00049133, 0.00030103, 7.27250106, 0.99849903, 0.99920764, 0.49320724],
++												 [	-6.27299258, -0.00049125, 0.00030098, 7.27250133, 0.99849927, 0.99920777, 0.49320731],
++												 [	-6.27299276, -0.00049117, 0.00030094, 7.27250159, 0.99849951, 0.99920789, 0.49320733],
++												 [	-6.27299295, -0.00049109, 0.00030089, 7.27250186, 0.99849974, 0.99920802, 0.49320736],
++												 [	-6.27299314, -0.00049102, 0.00030084, 7.27250212, 0.99849998, 0.99920814, 0.49320742],
++												 [	-6.27299332, -0.00049094, 0.00030079, 7.27250239, 0.99850022, 0.99920827, 0.49320737],
++												 [	-6.27299351, -0.00049086, 0.00030075, 7.27250265, 0.99850046, 0.99920840, 0.49320741],
++												 [	-6.27299370, -0.00049078, 0.00030070, 7.27250291, 0.99850070, 0.99920852, 0.49320747],
++												 [	-6.27299388, -0.00049070, 0.00030065, 7.27250318, 0.99850093, 0.99920865, 0.49320746],
++												 [	-6.27299407, -0.00049063, 0.00030060, 7.27250344, 0.99850117, 0.99920877, 0.49320747],
++												 [	-6.27299425, -0.00049055, 0.00030055, 7.27250371, 0.99850141, 0.99920890, 0.49320753],
++												 [	-6.27299444, -0.00049047, 0.00030051, 7.27250397, 0.99850165, 0.99920902, 0.49320754],
++												 [	-6.27299463, -0.00049039, 0.00030046, 7.27250423, 0.99850188, 0.99920915, 0.49320761],
++												 [	-6.27299481, -0.00049032, 0.00030041, 7.27250450, 0.99850212, 0.99920927, 0.49320761],
++												 [	-6.27299500, -0.00049024, 0.00030036, 7.27250476, 0.99850236, 0.99920940, 0.49320763],
++												 [	-6.27299518, -0.00049016, 0.00030032, 7.27250502, 0.99850260, 0.99920952, 0.49320763],
++												 [	-6.27299537, -0.00049008, 0.00030027, 7.27250529, 0.99850283, 0.99920965, 0.49320764],
++												 [	-6.27299556, -0.00049000, 0.00030022, 7.27250555, 0.99850307, 0.99920977, 0.49320768],
++												 [	-6.27299574, -0.00048993, 0.00030017, 7.27250581, 0.99850331, 0.99920990, 0.49320774],
++												 [	-6.27299593, -0.00048985, 0.00030013, 7.27250608, 0.99850354, 0.99921002, 0.49320770],
++												 [	-6.27299611, -0.00048977, 0.00030008, 7.27250634, 0.99850378, 0.99921015, 0.49320782],
++												 [	-6.27299630, -0.00048969, 0.00030003, 7.27250660, 0.99850402, 0.99921027, 0.49320781],
++												 [	-6.27299648, -0.00048962, 0.00029998, 7.27250687, 0.99850426, 0.99921040, 0.49320784],
++												 [	-6.27299667, -0.00048954, 0.00029994, 7.27250713, 0.99850449, 0.99921052, 0.49320787],
++												 [	-6.27299685, -0.00048946, 0.00029989, 7.27250739, 0.99850473, 0.99921065, 0.49320791],
++												 [	-6.27299704, -0.00048938, 0.00029984, 7.27250765, 0.99850496, 0.99921077, 0.49320794],
++												 [	-6.27299722, -0.00048931, 0.00029979, 7.27250792, 0.99850520, 0.99921090, 0.49320795],
++												 [	-6.27299741, -0.00048923, 0.00029975, 7.27250818, 0.99850544, 0.99921102, 0.49320801],
++												 [	-6.27299759, -0.00048915, 0.00029970, 7.27250844, 0.99850567, 0.99921115, 0.49320802],
++												 [	-6.27299778, -0.00048908, 0.00029965, 7.27250870, 0.99850591, 0.99921127, 0.49320805],
++												 [	-6.27299796, -0.00048900, 0.00029960, 7.27250896, 0.99850615, 0.99921140, 0.49320810],
++												 [	-6.27299815, -0.00048892, 0.00029956, 7.27250923, 0.99850638, 0.99921152, 0.49320806],
++												 [	-6.27299833, -0.00048884, 0.00029951, 7.27250949, 0.99850662, 0.99921165, 0.49320815],
++												 [	-6.27299852, -0.00048877, 0.00029946, 7.27250975, 0.99850685, 0.99921177, 0.49320816],
++												 [	-6.27299870, -0.00048869, 0.00029941, 7.27251001, 0.99850709, 0.99921190, 0.49320817],
++												 [	-6.27299889, -0.00048861, 0.00029937, 7.27251027, 0.99850733, 0.99921202, 0.49320820],
++												 [	-6.27299907, -0.00048854, 0.00029932, 7.27251054, 0.99850756, 0.99921214, 0.49320826],
++												 [	-6.27299926, -0.00048846, 0.00029927, 7.27251080, 0.99850780, 0.99921227, 0.49320827],
++												 [	-6.27299944, -0.00048838, 0.00029923, 7.27251106, 0.99850803, 0.99921239, 0.49320823],
++												 [	-6.27299962, -0.00048830, 0.00029918, 7.27251132, 0.99850827, 0.99921252, 0.49320833],
++												 [	-6.27299981, -0.00048823, 0.00029913, 7.27251158, 0.99850850, 0.99921264, 0.49320833],
++												 [	-6.27299999, -0.00048815, 0.00029908, 7.27251184, 0.99850874, 0.99921277, 0.49320839],
++												 [	-6.27300018, -0.00048807, 0.00029904, 7.27251210, 0.99850897, 0.99921289, 0.49320841],
++												 [	-6.27300036, -0.00048800, 0.00029899, 7.27251236, 0.99850921, 0.99921301, 0.49320850],
++												 [	-6.27300055, -0.00048792, 0.00029894, 7.27251263, 0.99850944, 0.99921314, 0.49320846],
++												 [	-6.27300073, -0.00048784, 0.00029890, 7.27251289, 0.99850968, 0.99921326, 0.49320848],
++												 [	-6.27300091, -0.00048777, 0.00029885, 7.27251315, 0.99850991, 0.99921339, 0.49320847],
++												 [	-6.27300110, -0.00048769, 0.00029880, 7.27251341, 0.99851015, 0.99921351, 0.49320858],
++												 [	-6.27300128, -0.00048761, 0.00029875, 7.27251367, 0.99851038, 0.99921363, 0.49320864],
++												 [	-6.27300146, -0.00048754, 0.00029871, 7.27251393, 0.99851062, 0.99921376, 0.49320855],
++												 [	-6.27300165, -0.00048746, 0.00029866, 7.27251419, 0.99851085, 0.99921388, 0.49320856],
++												 [	-6.27300183, -0.00048738, 0.00029861, 7.27251445, 0.99851109, 0.99921401, 0.49320863],
++												 [	-6.27300202, -0.00048730, 0.00029857, 7.27251471, 0.99851132, 0.99921413, 0.49320867],
++												 [	-6.27300220, -0.00048723, 0.00029852, 7.27251497, 0.99851156, 0.99921425, 0.49320861],
++												 [	-6.27300238, -0.00048715, 0.00029847, 7.27251523, 0.99851179, 0.99921438, 0.49320874],
++												 [	-6.27300257, -0.00048707, 0.00029842, 7.27251549, 0.99851202, 0.99921450, 0.49320874],
++												 [	-6.27300275, -0.00048700, 0.00029838, 7.27251575, 0.99851226, 0.99921462, 0.49320881],
++												 [	-6.27300293, -0.00048692, 0.00029833, 7.27251601, 0.99851249, 0.99921475, 0.49320880],
++												 [	-6.27300312, -0.00048685, 0.00029828, 7.27251627, 0.99851273, 0.99921487, 0.49320887],
++												 [	-6.27300330, -0.00048677, 0.00029824, 7.27251653, 0.99851296, 0.99921499, 0.49320886],
++												 [	-6.27300348, -0.00048669, 0.00029819, 7.27251679, 0.99851320, 0.99921512, 0.49320893],
++												 [	-6.27300367, -0.00048662, 0.00029814, 7.27251705, 0.99851343, 0.99921524, 0.49320893],
++												 [	-6.27300385, -0.00048654, 0.00029810, 7.27251731, 0.99851366, 0.99921536, 0.49320895],
++												 [	-6.27300403, -0.00048646, 0.00029805, 7.27251757, 0.99851390, 0.99921549, 0.49320892],
++												 [	-6.27300421, -0.00048639, 0.00029800, 7.27251783, 0.99851413, 0.99921561, 0.49320898],
++												 [	-6.27300440, -0.00048631, 0.00029796, 7.27251809, 0.99851436, 0.99921573, 0.49320901],
++												 [	-6.27300458, -0.00048623, 0.00029791, 7.27251835, 0.99851460, 0.99921586, 0.49320901],
++												 [	-6.27300476, -0.00048616, 0.00029786, 7.27251861, 0.99851483, 0.99921598, 0.49320912],
++												 [	-6.27300495, -0.00048608, 0.00029782, 7.27251886, 0.99851506, 0.99921610, 0.49320910],
++												 [	-6.27300513, -0.00048600, 0.00029777, 7.27251912, 0.99851530, 0.99921623, 0.49320913],
++												 [	-6.27300531, -0.00048593, 0.00029772, 7.27251938, 0.99851553, 0.99921635, 0.49320917],
++												 [	-6.27300549, -0.00048585, 0.00029768, 7.27251964, 0.99851576, 0.99921647, 0.49320916],
++												 [	-6.27300568, -0.00048578, 0.00029763, 7.27251990, 0.99851600, 0.99921660, 0.49320920],
++												 [	-6.27300586, -0.00048570, 0.00029758, 7.27252016, 0.99851623, 0.99921672, 0.49320924],
++												 [	-6.27300604, -0.00048562, 0.00029753, 7.27252042, 0.99851646, 0.99921684, 0.49320926],
++												 [	-6.27300622, -0.00048555, 0.00029749, 7.27252068, 0.99851669, 0.99921696, 0.49320930],
++												 [	-6.27300640, -0.00048547, 0.00029744, 7.27252093, 0.99851693, 0.99921709, 0.49320931],
++												 [	-6.27300659, -0.00048539, 0.00029739, 7.27252119, 0.99851716, 0.99921721, 0.49320938],
++												 [	-6.27300677, -0.00048532, 0.00029735, 7.27252145, 0.99851739, 0.99921733, 0.49320939],
++												 [	-6.27300695, -0.00048524, 0.00029730, 7.27252171, 0.99851763, 0.99921746, 0.49320948],
++												 [	-6.27300713, -0.00048517, 0.00029725, 7.27252197, 0.99851786, 0.99921758, 0.49320954],
++												 [	-6.27300732, -0.00048509, 0.00029721, 7.27252222, 0.99851809, 0.99921770, 0.49320950],
++												 [	-6.27300750, -0.00048501, 0.00029716, 7.27252248, 0.99851832, 0.99921782, 0.49320952],
++												 [	-6.27300768, -0.00048494, 0.00029712, 7.27252274, 0.99851855, 0.99921795, 0.49320954],
++												 [	-6.27300786, -0.00048486, 0.00029707, 7.27252300, 0.99851879, 0.99921807, 0.49320960],
++												 [	-6.27300804, -0.00048479, 0.00029702, 7.27252326, 0.99851902, 0.99921819, 0.49320959],
++												 [	-6.27300822, -0.00048471, 0.00029698, 7.27252351, 0.99851925, 0.99921831, 0.49320958],
++												 [	-6.27300841, -0.00048463, 0.00029693, 7.27252377, 0.99851948, 0.99921844, 0.49320965],
++												 [	-6.27300859, -0.00048456, 0.00029688, 7.27252403, 0.99851971, 0.99921856, 0.49320967],
++												 [	-6.27300877, -0.00048448, 0.00029684, 7.27252429, 0.99851995, 0.99921868, 0.49320972],
++												 [	-6.27300895, -0.00048441, 0.00029679, 7.27252454, 0.99852018, 0.99921880, 0.49320973],
++												 [	-6.27300913, -0.00048433, 0.00029674, 7.27252480, 0.99852041, 0.99921893, 0.49320972],
++												 [	-6.27300931, -0.00048426, 0.00029670, 7.27252506, 0.99852064, 0.99921905, 0.49320980],
++												 [	-6.27300949, -0.00048418, 0.00029665, 7.27252531, 0.99852087, 0.99921917, 0.49320981],
++												 [	-6.27300968, -0.00048410, 0.00029660, 7.27252557, 0.99852110, 0.99921929, 0.49320974],
++												 [	-6.27300986, -0.00048403, 0.00029656, 7.27252583, 0.99852134, 0.99921941, 0.49320985],
++												 [	-6.27301004, -0.00048395, 0.00029651, 7.27252608, 0.99852157, 0.99921954, 0.49320992],
++												 [	-6.27301022, -0.00048388, 0.00029646, 7.27252634, 0.99852180, 0.99921966, 0.49320992],
++												 [	-6.27301040, -0.00048380, 0.00029642, 7.27252660, 0.99852203, 0.99921978, 0.49320993],
++												 [	-6.27301058, -0.00048373, 0.00029637, 7.27252685, 0.99852226, 0.99921990, 0.49320993],
++												 [	-6.27301076, -0.00048365, 0.00029633, 7.27252711, 0.99852249, 0.99922002, 0.49321001],
++												 [	-6.27301094, -0.00048357, 0.00029628, 7.27252737, 0.99852272, 0.99922015, 0.49321003],
++												 [	-6.27301112, -0.00048350, 0.00029623, 7.27252762, 0.99852295, 0.99922027, 0.49321005],
++												 [	-6.27301130, -0.00048342, 0.00029619, 7.27252788, 0.99852318, 0.99922039, 0.49321008],
++												 [	-6.27301148, -0.00048335, 0.00029614, 7.27252814, 0.99852341, 0.99922051, 0.49321008],
++												 [	-6.27301166, -0.00048327, 0.00029609, 7.27252839, 0.99852364, 0.99922063, 0.49321010],
++												 [	-6.27301185, -0.00048320, 0.00029605, 7.27252865, 0.99852388, 0.99922075, 0.49321017],
++												 [	-6.27301203, -0.00048312, 0.00029600, 7.27252890, 0.99852411, 0.99922088, 0.49321023],
++												 [	-6.27301221, -0.00048305, 0.00029596, 7.27252916, 0.99852434, 0.99922100, 0.49321020],
++												 [	-6.27301239, -0.00048297, 0.00029591, 7.27252942, 0.99852457, 0.99922112, 0.49321023],
++												 [	-6.27301257, -0.00048290, 0.00029586, 7.27252967, 0.99852480, 0.99922124, 0.49321024],
++												 [	-6.27301275, -0.00048282, 0.00029582, 7.27252993, 0.99852503, 0.99922136, 0.49321030],
++												 [	-6.27301293, -0.00048275, 0.00029577, 7.27253018, 0.99852526, 0.99922148, 0.49321031],
++												 [	-6.27301311, -0.00048267, 0.00029572, 7.27253044, 0.99852549, 0.99922161, 0.49321030],
++												 [	-6.27301329, -0.00048259, 0.00029568, 7.27253069, 0.99852572, 0.99922173, 0.49321030],
++												 [	-6.27301347, -0.00048252, 0.00029563, 7.27253095, 0.99852595, 0.99922185, 0.49321039],
++												 [	-6.27301365, -0.00048244, 0.00029559, 7.27253120, 0.99852618, 0.99922197, 0.49321037],
++												 [	-6.27301383, -0.00048237, 0.00029554, 7.27253146, 0.99852641, 0.99922209, 0.49321046],
++												 [	-6.27301401, -0.00048229, 0.00029549, 7.27253171, 0.99852664, 0.99922221, 0.49321048],
++												 [	-6.27301419, -0.00048222, 0.00029545, 7.27253197, 0.99852687, 0.99922233, 0.49321049],
++												 [	-6.27301437, -0.00048214, 0.00029540, 7.27253222, 0.99852710, 0.99922245, 0.49321046],
++												 [	-6.27301455, -0.00048207, 0.00029536, 7.27253248, 0.99852732, 0.99922258, 0.49321053],
++												 [	-6.27301473, -0.00048199, 0.00029531, 7.27253273, 0.99852755, 0.99922270, 0.49321060],
++												 [	-6.27301491, -0.00048192, 0.00029526, 7.27253299, 0.99852778, 0.99922282, 0.49321066],
++												 [	-6.27301509, -0.00048184, 0.00029522, 7.27253324, 0.99852801, 0.99922294, 0.49321062],
++												 [	-6.27301526, -0.00048177, 0.00029517, 7.27253350, 0.99852824, 0.99922306, 0.49321065],
++												 [	-6.27301544, -0.00048169, 0.00029513, 7.27253375, 0.99852847, 0.99922318, 0.49321069],
++												 [	-6.27301562, -0.00048162, 0.00029508, 7.27253400, 0.99852870, 0.99922330, 0.49321066],
++												 [	-6.27301580, -0.00048154, 0.00029503, 7.27253426, 0.99852893, 0.99922342, 0.49321075],
++												 [	-6.27301598, -0.00048147, 0.00029499, 7.27253451, 0.99852916, 0.99922354, 0.49321074],
++												 [	-6.27301616, -0.00048139, 0.00029494, 7.27253477, 0.99852939, 0.99922366, 0.49321082],
++												 [	-6.27301634, -0.00048132, 0.00029490, 7.27253502, 0.99852962, 0.99922378, 0.49321081],
++												 [	-6.27301652, -0.00048124, 0.00029485, 7.27253528, 0.99852984, 0.99922391, 0.49321083],
++												 [	-6.27301670, -0.00048117, 0.00029480, 7.27253553, 0.99853007, 0.99922403, 0.49321094],
++												 [	-6.27301688, -0.00048109, 0.00029476, 7.27253578, 0.99853030, 0.99922415, 0.49321096],
++												 [	-6.27301706, -0.00048102, 0.00029471, 7.27253604, 0.99853053, 0.99922427, 0.49321093],
++												 [	-6.27301724, -0.00048095, 0.00029467, 7.27253629, 0.99853076, 0.99922439, 0.49321094],
++												 [	-6.27301741, -0.00048087, 0.00029462, 7.27253654, 0.99853099, 0.99922451, 0.49321098],
++												 [	-6.27301759, -0.00048080, 0.00029458, 7.27253680, 0.99853121, 0.99922463, 0.49321102],
++												 [	-6.27301777, -0.00048072, 0.00029453, 7.27253705, 0.99853144, 0.99922475, 0.49321101],
++												 [	-6.27301795, -0.00048065, 0.00029448, 7.27253730, 0.99853167, 0.99922487, 0.49321109],
++												 [	-6.27301813, -0.00048057, 0.00029444, 7.27253756, 0.99853190, 0.99922499, 0.49321107],
++												 [	-6.27301831, -0.00048050, 0.00029439, 7.27253781, 0.99853213, 0.99922511, 0.49321107],
++												 [	-6.27301849, -0.00048042, 0.00029435, 7.27253806, 0.99853235, 0.99922523, 0.49321110],
++												 [	-6.27301866, -0.00048035, 0.00029430, 7.27253832, 0.99853258, 0.99922535, 0.49321118],
++												 [	-6.27301884, -0.00048027, 0.00029426, 7.27253857, 0.99853281, 0.99922547, 0.49321119],
++												 [	-6.27301902, -0.00048020, 0.00029421, 7.27253882, 0.99853304, 0.99922559, 0.49321116],
++												 [	-6.27301920, -0.00048012, 0.00029416, 7.27253907, 0.99853327, 0.99922571, 0.49321127],
++												 [	-6.27301938, -0.00048005, 0.00029412, 7.27253933, 0.99853349, 0.99922583, 0.49321123],
++												 [	-6.27301956, -0.00047998, 0.00029407, 7.27253958, 0.99853372, 0.99922595, 0.49321129],
++												 [	-6.27301973, -0.00047990, 0.00029403, 7.27253983, 0.99853395, 0.99922607, 0.49321135],
++												 [	-6.27301991, -0.00047983, 0.00029398, 7.27254008, 0.99853418, 0.99922619, 0.49321135],
++												 [	-6.27302009, -0.00047975, 0.00029394, 7.27254034, 0.99853440, 0.99922631, 0.49321139],
++												 [	-6.27302027, -0.00047968, 0.00029389, 7.27254059, 0.99853463, 0.99922643, 0.49321146],
++												 [	-6.27302044, -0.00047960, 0.00029384, 7.27254084, 0.99853486, 0.99922655, 0.49321142],
++												 [	-6.27302062, -0.00047953, 0.00029380, 7.27254109, 0.99853508, 0.99922667, 0.49321144],
++												 [	-6.27302080, -0.00047946, 0.00029375, 7.27254135, 0.99853531, 0.99922679, 0.49321144],
++												 [	-6.27302098, -0.00047938, 0.00029371, 7.27254160, 0.99853554, 0.99922691, 0.49321157],
++												 [	-6.27302116, -0.00047931, 0.00029366, 7.27254185, 0.99853577, 0.99922703, 0.49321152],
++												 [	-6.27302133, -0.00047923, 0.00029362, 7.27254210, 0.99853599, 0.99922715, 0.49321153],
++												 [	-6.27302151, -0.00047916, 0.00029357, 7.27254235, 0.99853622, 0.99922727, 0.49321157],
++												 [	-6.27302169, -0.00047908, 0.00029353, 7.27254260, 0.99853645, 0.99922739, 0.49321160],
++												 [	-6.27302187, -0.00047901, 0.00029348, 7.27254286, 0.99853667, 0.99922751, 0.49321170],
++												 [	-6.27302204, -0.00047894, 0.00029344, 7.27254311, 0.99853690, 0.99922763, 0.49321172],
++												 [	-6.27302222, -0.00047886, 0.00029339, 7.27254336, 0.99853712, 0.99922775, 0.49321163],
++												 [	-6.27302240, -0.00047879, 0.00029334, 7.27254361, 0.99853735, 0.99922787, 0.49321166],
++												 [	-6.27302257, -0.00047871, 0.00029330, 7.27254386, 0.99853758, 0.99922799, 0.49321175],
++												 [	-6.27302275, -0.00047864, 0.00029325, 7.27254411, 0.99853780, 0.99922811, 0.49321177],
++												 [	-6.27302293, -0.00047857, 0.00029321, 7.27254436, 0.99853803, 0.99922823, 0.49321185],
++												 [	-6.27302311, -0.00047849, 0.00029316, 7.27254461, 0.99853826, 0.99922834, 0.49321182],
++												 [	-6.27302328, -0.00047842, 0.00029312, 7.27254486, 0.99853848, 0.99922846, 0.49321190],
++												 [	-6.27302346, -0.00047834, 0.00029307, 7.27254512, 0.99853871, 0.99922858, 0.49321191],
++												 [	-6.27302364, -0.00047827, 0.00029303, 7.27254537, 0.99853893, 0.99922870, 0.49321187],
++												 [	-6.27302381, -0.00047820, 0.00029298, 7.27254562, 0.99853916, 0.99922882, 0.49321186],
++												 [	-6.27302399, -0.00047812, 0.00029294, 7.27254587, 0.99853939, 0.99922894, 0.49321193],
++												 [	-6.27302417, -0.00047805, 0.00029289, 7.27254612, 0.99853961, 0.99922906, 0.49321201],
++												 [	-6.27302434, -0.00047797, 0.00029285, 7.27254637, 0.99853984, 0.99922918, 0.49321205],
++												 [	-6.27302452, -0.00047790, 0.00029280, 7.27254662, 0.99854006, 0.99922930, 0.49321210],
++												 [	-6.27302470, -0.00047783, 0.00029276, 7.27254687, 0.99854029, 0.99922942, 0.49321211],
++												 [	-6.27302487, -0.00047775, 0.00029271, 7.27254712, 0.99854051, 0.99922954, 0.49321206],
++												 [	-6.27302505, -0.00047768, 0.00029267, 7.27254737, 0.99854074, 0.99922965, 0.49321212],
++												 [	-6.27302523, -0.00047761, 0.00029262, 7.27254762, 0.99854096, 0.99922977, 0.49321212],
++												 [	-6.27302540, -0.00047753, 0.00029257, 7.27254787, 0.99854119, 0.99922989, 0.49321221],
++												 [	-6.27302558, -0.00047746, 0.00029253, 7.27254812, 0.99854141, 0.99923001, 0.49321218],
++												 [	-6.27302575, -0.00047739, 0.00029248, 7.27254837, 0.99854164, 0.99923013, 0.49321223],
++												 [	-6.27302593, -0.00047731, 0.00029244, 7.27254862, 0.99854186, 0.99923025, 0.49321227],
++												 [	-6.27302611, -0.00047724, 0.00029239, 7.27254887, 0.99854209, 0.99923037, 0.49321227],
++												 [	-6.27302628, -0.00047716, 0.00029235, 7.27254912, 0.99854231, 0.99923049, 0.49321226],
++												 [	-6.27302646, -0.00047709, 0.00029230, 7.27254937, 0.99854254, 0.99923060, 0.49321229],
++												 [	-6.27302664, -0.00047702, 0.00029226, 7.27254962, 0.99854276, 0.99923072, 0.49321232],
++												 [	-6.27302681, -0.00047694, 0.00029221, 7.27254987, 0.99854299, 0.99923084, 0.49321239],
++												 [	-6.27302699, -0.00047687, 0.00029217, 7.27255012, 0.99854321, 0.99923096, 0.49321240],
++												 [	-6.27302716, -0.00047680, 0.00029212, 7.27255037, 0.99854344, 0.99923108, 0.49321246],
++												 [	-6.27302734, -0.00047672, 0.00029208, 7.27255061, 0.99854366, 0.99923120, 0.49321244],
++												 [	-6.27302751, -0.00047665, 0.00029203, 7.27255086, 0.99854388, 0.99923132, 0.49321242],
++												 [	-6.27302769, -0.00047658, 0.00029199, 7.27255111, 0.99854411, 0.99923143, 0.49321242],
++												 [	-6.27302787, -0.00047650, 0.00029194, 7.27255136, 0.99854433, 0.99923155, 0.49321258],
++												 [	-6.27302804, -0.00047643, 0.00029190, 7.27255161, 0.99854456, 0.99923167, 0.49321251],
++												 [	-6.27302822, -0.00047636, 0.00029185, 7.27255186, 0.99854478, 0.99923179, 0.49321261],
++												 [	-6.27302839, -0.00047628, 0.00029181, 7.27255211, 0.99854501, 0.99923191, 0.49321264],
++												 [	-6.27302857, -0.00047621, 0.00029176, 7.27255236, 0.99854523, 0.99923203, 0.49321265],
++												 [	-6.27302874, -0.00047614, 0.00029172, 7.27255261, 0.99854545, 0.99923214, 0.49321268],
++												 [	-6.27302892, -0.00047606, 0.00029167, 7.27255285, 0.99854568, 0.99923226, 0.49321269],
++												 [	-6.27302909, -0.00047599, 0.00029163, 7.27255310, 0.99854590, 0.99923238, 0.49321277],
++												 [	-6.27302927, -0.00047592, 0.00029158, 7.27255335, 0.99854612, 0.99923250, 0.49321272],
++												 [	-6.27302944, -0.00047584, 0.00029154, 7.27255360, 0.99854635, 0.99923262, 0.49321278],
++												 [	-6.27302962, -0.00047577, 0.00029150, 7.27255385, 0.99854657, 0.99923273, 0.49321287],
++												 [	-6.27302979, -0.00047570, 0.00029145, 7.27255410, 0.99854679, 0.99923285, 0.49321280],
++												 [	-6.27302997, -0.00047562, 0.00029141, 7.27255434, 0.99854702, 0.99923297, 0.49321291],
++												 [	-6.27303014, -0.00047555, 0.00029136, 7.27255459, 0.99854724, 0.99923309, 0.49321279],
++												 [	-6.27303032, -0.00047548, 0.00029132, 7.27255484, 0.99854746, 0.99923321, 0.49321284],
++												 [	-6.27303049, -0.00047541, 0.00029127, 7.27255509, 0.99854769, 0.99923332, 0.49321288],
++												 [	-6.27303067, -0.00047533, 0.00029123, 7.27255533, 0.99854791, 0.99923344, 0.49321294],
++												 [	-6.27303084, -0.00047526, 0.00029118, 7.27255558, 0.99854813, 0.99923356, 0.49321292],
++												 [	-6.27303102, -0.00047519, 0.00029114, 7.27255583, 0.99854836, 0.99923368, 0.49321300],
++												 [	-6.27303119, -0.00047511, 0.00029109, 7.27255608, 0.99854858, 0.99923379, 0.49321302],
++												 [	-6.27303137, -0.00047504, 0.00029105, 7.27255632, 0.99854880, 0.99923391, 0.49321303],
++												 [	-6.27303154, -0.00047497, 0.00029100, 7.27255657, 0.99854903, 0.99923403, 0.49321311],
++												 [	-6.27303171, -0.00047490, 0.00029096, 7.27255682, 0.99854925, 0.99923415, 0.49321311],
++												 [	-6.27303189, -0.00047482, 0.00029091, 7.27255707, 0.99854947, 0.99923426, 0.49321315],
++												 [	-6.27303206, -0.00047475, 0.00029087, 7.27255731, 0.99854969, 0.99923438, 0.49321319],
++												 [	-6.27303224, -0.00047468, 0.00029082, 7.27255756, 0.99854992, 0.99923450, 0.49321317],
++												 [	-6.27303241, -0.00047460, 0.00029078, 7.27255781, 0.99855014, 0.99923462, 0.49321321],
++												 [	-6.27303259, -0.00047453, 0.00029073, 7.27255805, 0.99855036, 0.99923473, 0.49321326],
++												 [	-6.27303276, -0.00047446, 0.00029069, 7.27255830, 0.99855058, 0.99923485, 0.49321318],
++												 [	-6.27303293, -0.00047439, 0.00029065, 7.27255855, 0.99855081, 0.99923497, 0.49321326],
++												 [	-6.27303311, -0.00047431, 0.00029060, 7.27255879, 0.99855103, 0.99923509, 0.49321333],
++												 [	-6.27303328, -0.00047424, 0.00029056, 7.27255904, 0.99855125, 0.99923520, 0.49321333],
++												 [	-6.27303345, -0.00047417, 0.00029051, 7.27255929, 0.99855147, 0.99923532, 0.49321344],
++												 [	-6.27303363, -0.00047410, 0.00029047, 7.27255953, 0.99855169, 0.99923544, 0.49321337],
++												 [	-6.27303380, -0.00047402, 0.00029042, 7.27255978, 0.99855192, 0.99923555, 0.49321345],
++												 [	-6.27303398, -0.00047395, 0.00029038, 7.27256003, 0.99855214, 0.99923567, 0.49321337],
++												 [	-6.27303415, -0.00047388, 0.00029033, 7.27256027, 0.99855236, 0.99923579, 0.49321344],
++												 [	-6.27303432, -0.00047380, 0.00029029, 7.27256052, 0.99855258, 0.99923591, 0.49321346],
++												 [	-6.27303450, -0.00047373, 0.00029025, 7.27256076, 0.99855280, 0.99923602, 0.49321354],
++												 [	-6.27303467, -0.00047366, 0.00029020, 7.27256101, 0.99855302, 0.99923614, 0.49321353],
++												 [	-6.27303484, -0.00047359, 0.00029016, 7.27256126, 0.99855325, 0.99923626, 0.49321361],
++												 [	-6.27303502, -0.00047351, 0.00029011, 7.27256150, 0.99855347, 0.99923637, 0.49321358],
++												 [	-6.27303519, -0.00047344, 0.00029007, 7.27256175, 0.99855369, 0.99923649, 0.49321363],
++												 [	-6.27303536, -0.00047337, 0.00029002, 7.27256199, 0.99855391, 0.99923661, 0.49321367],
++												 [	-6.27303554, -0.00047330, 0.00028998, 7.27256224, 0.99855413, 0.99923672, 0.49321364],
++												 [	-6.27303571, -0.00047323, 0.00028993, 7.27256248, 0.99855435, 0.99923684, 0.49321377],
++												 [	-6.27303588, -0.00047315, 0.00028989, 7.27256273, 0.99855457, 0.99923696, 0.49321375],
++												 [	-6.27303606, -0.00047308, 0.00028985, 7.27256298, 0.99855479, 0.99923707, 0.49321379],
++												 [	-6.27303623, -0.00047301, 0.00028980, 7.27256322, 0.99855501, 0.99923719, 0.49321377],
++												 [	-6.27303640, -0.00047294, 0.00028976, 7.27256347, 0.99855524, 0.99923731, 0.49321372],
++												 [	-6.27303658, -0.00047286, 0.00028971, 7.27256371, 0.99855546, 0.99923742, 0.49321383],
++												 [	-6.27303675, -0.00047279, 0.00028967, 7.27256396, 0.99855568, 0.99923754, 0.49321384],
++												 [	-6.27303692, -0.00047272, 0.00028962, 7.27256420, 0.99855590, 0.99923766, 0.49321394],
++												 [	-6.27303709, -0.00047265, 0.00028958, 7.27256445, 0.99855612, 0.99923777, 0.49321386],
++												 [	-6.27303727, -0.00047258, 0.00028954, 7.27256469, 0.99855634, 0.99923789, 0.49321390],
++												 [	-6.27303744, -0.00047250, 0.00028949, 7.27256494, 0.99855656, 0.99923801, 0.49321401],
++												 [	-6.27303761, -0.00047243, 0.00028945, 7.27256518, 0.99855678, 0.99923812, 0.49321394],
++												 [	-6.27303778, -0.00047236, 0.00028940, 7.27256543, 0.99855700, 0.99923824, 0.49321395],
++												 [	-6.27303796, -0.00047229, 0.00028936, 7.27256567, 0.99855722, 0.99923835, 0.49321400],
++												 [	-6.27303813, -0.00047221, 0.00028931, 7.27256591, 0.99855744, 0.99923847, 0.49321392],
++												 [	-6.27303830, -0.00047214, 0.00028927, 7.27256616, 0.99855766, 0.99923859, 0.49321409],
++												 [	-6.27303847, -0.00047207, 0.00028923, 7.27256640, 0.99855788, 0.99923870, 0.49321404],
++												 [	-6.27303865, -0.00047200, 0.00028918, 7.27256665, 0.99855810, 0.99923882, 0.49321416],
++												 [	-6.27303882, -0.00047193, 0.00028914, 7.27256689, 0.99855832, 0.99923893, 0.49321409],
++												 [	-6.27303899, -0.00047185, 0.00028909, 7.27256714, 0.99855854, 0.99923905, 0.49321418],
++												 [	-6.27303916, -0.00047178, 0.00028905, 7.27256738, 0.99855876, 0.99923917, 0.49321418],
++												 [	-6.27303933, -0.00047171, 0.00028901, 7.27256762, 0.99855898, 0.99923928, 0.49321424],
++												 [	-6.27303951, -0.00047164, 0.00028896, 7.27256787, 0.99855920, 0.99923940, 0.49321434],
++												 [	-6.27303968, -0.00047157, 0.00028892, 7.27256811, 0.99855942, 0.99923951, 0.49321431],
++												 [	-6.27303985, -0.00047150, 0.00028887, 7.27256835, 0.99855964, 0.99923963, 0.49321429],
++												 [	-6.27304002, -0.00047142, 0.00028883, 7.27256860, 0.99855986, 0.99923975, 0.49321428],
++												 [	-6.27304019, -0.00047135, 0.00028879, 7.27256884, 0.99856008, 0.99923986, 0.49321434],
++												 [	-6.27304037, -0.00047128, 0.00028874, 7.27256909, 0.99856030, 0.99923998, 0.49321435],
++												 [	-6.27304054, -0.00047121, 0.00028870, 7.27256933, 0.99856052, 0.99924009, 0.49321437],
++												 [	-6.27304071, -0.00047114, 0.00028865, 7.27256957, 0.99856073, 0.99924021, 0.49321446],
++												 [	-6.27304088, -0.00047106, 0.00028861, 7.27256982, 0.99856095, 0.99924032, 0.49321442],
++												 [	-6.27304105, -0.00047099, 0.00028857, 7.27257006, 0.99856117, 0.99924044, 0.49321442],
++												 [	-6.27304122, -0.00047092, 0.00028852, 7.27257030, 0.99856139, 0.99924056, 0.49321451],
++												 [	-6.27304139, -0.00047085, 0.00028848, 7.27257054, 0.99856161, 0.99924067, 0.49321455],
++												 [	-6.27304157, -0.00047078, 0.00028843, 7.27257079, 0.99856183, 0.99924079, 0.49321455],
++												 [	-6.27304174, -0.00047071, 0.00028839, 7.27257103, 0.99856205, 0.99924090, 0.49321459],
++												 [	-6.27304191, -0.00047064, 0.00028835, 7.27257127, 0.99856227, 0.99924102, 0.49321464],
++												 [	-6.27304208, -0.00047056, 0.00028830, 7.27257152, 0.99856249, 0.99924113, 0.49321460],
++												 [	-6.27304225, -0.00047049, 0.00028826, 7.27257176, 0.99856270, 0.99924125, 0.49321463],
++												 [	-6.27304242, -0.00047042, 0.00028822, 7.27257200, 0.99856292, 0.99924136, 0.49321476],
++												 [	-6.27304259, -0.00047035, 0.00028817, 7.27257224, 0.99856314, 0.99924148, 0.49321475],
++												 [	-6.27304276, -0.00047028, 0.00028813, 7.27257249, 0.99856336, 0.99924159, 0.49321471],
++												 [	-6.27304294, -0.00047021, 0.00028808, 7.27257273, 0.99856358, 0.99924171, 0.49321475],
++												 [	-6.27304311, -0.00047013, 0.00028804, 7.27257297, 0.99856380, 0.99924183, 0.49321476],
++												 [	-6.27304328, -0.00047006, 0.00028800, 7.27257321, 0.99856401, 0.99924194, 0.49321484],
++												 [	-6.27304345, -0.00046999, 0.00028795, 7.27257346, 0.99856423, 0.99924206, 0.49321477],
++												 [	-6.27304362, -0.00046992, 0.00028791, 7.27257370, 0.99856445, 0.99924217, 0.49321483],
++												 [	-6.27304379, -0.00046985, 0.00028787, 7.27257394, 0.99856467, 0.99924229, 0.49321495],
++												 [	-6.27304396, -0.00046978, 0.00028782, 7.27257418, 0.99856489, 0.99924240, 0.49321491],
++												 [	-6.27304413, -0.00046971, 0.00028778, 7.27257442, 0.99856510, 0.99924252, 0.49321493],
++												 [	-6.27304430, -0.00046964, 0.00028773, 7.27257467, 0.99856532, 0.99924263, 0.49321498],
++												 [	-6.27304447, -0.00046956, 0.00028769, 7.27257491, 0.99856554, 0.99924275, 0.49321496],
++												 [	-6.27304464, -0.00046949, 0.00028765, 7.27257515, 0.99856576, 0.99924286, 0.49321502],
++												 [	-6.27304481, -0.00046942, 0.00028760, 7.27257539, 0.99856597, 0.99924298, 0.49321503],
++												 [	-6.27304498, -0.00046935, 0.00028756, 7.27257563, 0.99856619, 0.99924309, 0.49321507],
++												 [	-6.27304515, -0.00046928, 0.00028752, 7.27257587, 0.99856641, 0.99924320, 0.49321515],
++												 [	-6.27304532, -0.00046921, 0.00028747, 7.27257611, 0.99856663, 0.99924332, 0.49321508],
++												 [	-6.27304549, -0.00046914, 0.00028743, 7.27257636, 0.99856684, 0.99924343, 0.49321514],
++												 [	-6.27304566, -0.00046907, 0.00028738, 7.27257660, 0.99856706, 0.99924355, 0.49321526],
++												 [	-6.27304583, -0.00046900, 0.00028734, 7.27257684, 0.99856728, 0.99924366, 0.49321521],
++												 [	-6.27304600, -0.00046892, 0.00028730, 7.27257708, 0.99856750, 0.99924378, 0.49321521],
++												 [	-6.27304617, -0.00046885, 0.00028725, 7.27257732, 0.99856771, 0.99924389, 0.49321523],
++												 [	-6.27304634, -0.00046878, 0.00028721, 7.27257756, 0.99856793, 0.99924401, 0.49321526],
++												 [	-6.27304651, -0.00046871, 0.00028717, 7.27257780, 0.99856815, 0.99924412, 0.49321530],
++												 [	-6.27304668, -0.00046864, 0.00028712, 7.27257804, 0.99856836, 0.99924424, 0.49321535],
++												 [	-6.27304685, -0.00046857, 0.00028708, 7.27257828, 0.99856858, 0.99924435, 0.49321541],
++												 [	-6.27304702, -0.00046850, 0.00028704, 7.27257852, 0.99856880, 0.99924446, 0.49321529],
++												 [	-6.27304719, -0.00046843, 0.00028699, 7.27257876, 0.99856901, 0.99924458, 0.49321541],
++												 [	-6.27304736, -0.00046836, 0.00028695, 7.27257901, 0.99856923, 0.99924469, 0.49321535],
++												 [	-6.27304753, -0.00046829, 0.00028691, 7.27257925, 0.99856945, 0.99924481, 0.49321543],
++												 [	-6.27304770, -0.00046821, 0.00028686, 7.27257949, 0.99856966, 0.99924492, 0.49321548],
++												 [	-6.27304787, -0.00046814, 0.00028682, 7.27257973, 0.99856988, 0.99924504, 0.49321551],
++												 [	-6.27304804, -0.00046807, 0.00028678, 7.27257997, 0.99857010, 0.99924515, 0.49321545],
++												 [	-6.27304821, -0.00046800, 0.00028673, 7.27258021, 0.99857031, 0.99924526, 0.49321554],
++												 [	-6.27304838, -0.00046793, 0.00028669, 7.27258045, 0.99857053, 0.99924538, 0.49321557],
++												 [	-6.27304855, -0.00046786, 0.00028665, 7.27258069, 0.99857074, 0.99924549, 0.49321561],
++												 [	-6.27304872, -0.00046779, 0.00028660, 7.27258093, 0.99857096, 0.99924561, 0.49321567],
++												 [	-6.27304889, -0.00046772, 0.00028656, 7.27258117, 0.99857118, 0.99924572, 0.49321567],
++												 [	-6.27304906, -0.00046765, 0.00028652, 7.27258141, 0.99857139, 0.99924583, 0.49321571],
++												 [	-6.27304922, -0.00046758, 0.00028647, 7.27258165, 0.99857161, 0.99924595, 0.49321566],
++												 [	-6.27304939, -0.00046751, 0.00028643, 7.27258189, 0.99857182, 0.99924606, 0.49321576],
++												 [	-6.27304956, -0.00046744, 0.00028639, 7.27258213, 0.99857204, 0.99924618, 0.49321567],
++												 [	-6.27304973, -0.00046737, 0.00028634, 7.27258236, 0.99857226, 0.99924629, 0.49321585],
++												 [	-6.27304990, -0.00046730, 0.00028630, 7.27258260, 0.99857247, 0.99924640, 0.49321576],
++												 [	-6.27305007, -0.00046723, 0.00028626, 7.27258284, 0.99857269, 0.99924652, 0.49321581],
++												 [	-6.27305024, -0.00046715, 0.00028621, 7.27258308, 0.99857290, 0.99924663, 0.49321580],
++												 [	-6.27305041, -0.00046708, 0.00028617, 7.27258332, 0.99857312, 0.99924675, 0.49321590],
++												 [	-6.27305057, -0.00046701, 0.00028613, 7.27258356, 0.99857333, 0.99924686, 0.49321582],
++												 [	-6.27305074, -0.00046694, 0.00028608, 7.27258380, 0.99857355, 0.99924697, 0.49321587],
++												 [	-6.27305091, -0.00046687, 0.00028604, 7.27258404, 0.99857376, 0.99924709, 0.49321595],
++												 [	-6.27305108, -0.00046680, 0.00028600, 7.27258428, 0.99857398, 0.99924720, 0.49321595],
++												 [	-6.27305125, -0.00046673, 0.00028595, 7.27258452, 0.99857419, 0.99924731, 0.49321600],
++												 [	-6.27305142, -0.00046666, 0.00028591, 7.27258476, 0.99857441, 0.99924743, 0.49321598],
++												 [	-6.27305159, -0.00046659, 0.00028587, 7.27258499, 0.99857462, 0.99924754, 0.49321613],
++												 [	-6.27305175, -0.00046652, 0.00028582, 7.27258523, 0.99857484, 0.99924765, 0.49321611],
++												 [	-6.27305192, -0.00046645, 0.00028578, 7.27258547, 0.99857505, 0.99924777, 0.49321600],
++												 [	-6.27305209, -0.00046638, 0.00028574, 7.27258571, 0.99857527, 0.99924788, 0.49321621],
++												 [	-6.27305226, -0.00046631, 0.00028570, 7.27258595, 0.99857548, 0.99924799, 0.49321615],
++												 [	-6.27305243, -0.00046624, 0.00028565, 7.27258619, 0.99857570, 0.99924811, 0.49321620],
++												 [	-6.27305259, -0.00046617, 0.00028561, 7.27258642, 0.99857591, 0.99924822, 0.49321625],
++												 [	-6.27305276, -0.00046610, 0.00028557, 7.27258666, 0.99857613, 0.99924833, 0.49321621],
++												 [	-6.27305293, -0.00046603, 0.00028552, 7.27258690, 0.99857634, 0.99924845, 0.49321630],
++												 [	-6.27305310, -0.00046596, 0.00028548, 7.27258714, 0.99857656, 0.99924856, 0.49321623],
++												 [	-6.27305327, -0.00046589, 0.00028544, 7.27258738, 0.99857677, 0.99924867, 0.49321633],
++												 [	-6.27305343, -0.00046582, 0.00028539, 7.27258761, 0.99857698, 0.99924879, 0.49321637],
++												 [	-6.27305360, -0.00046575, 0.00028535, 7.27258785, 0.99857720, 0.99924890, 0.49321640],
++												 [	-6.27305377, -0.00046568, 0.00028531, 7.27258809, 0.99857741, 0.99924901, 0.49321641],
++												 [	-6.27305394, -0.00046561, 0.00028527, 7.27258833, 0.99857763, 0.99924913, 0.49321644],
++												 [	-6.27305410, -0.00046554, 0.00028522, 7.27258857, 0.99857784, 0.99924924, 0.49321640],
++												 [	-6.27305427, -0.00046547, 0.00028518, 7.27258880, 0.99857805, 0.99924935, 0.49321644],
++												 [	-6.27305444, -0.00046540, 0.00028514, 7.27258904, 0.99857827, 0.99924946, 0.49321647],
++												 [	-6.27305461, -0.00046533, 0.00028509, 7.27258928, 0.99857848, 0.99924958, 0.49321655],
++												 [	-6.27305477, -0.00046526, 0.00028505, 7.27258952, 0.99857870, 0.99924969, 0.49321652],
++												 [	-6.27305494, -0.00046519, 0.00028501, 7.27258975, 0.99857891, 0.99924980, 0.49321651],
++												 [	-6.27305511, -0.00046512, 0.00028497, 7.27258999, 0.99857912, 0.99924992, 0.49321656],
++												 [	-6.27305528, -0.00046505, 0.00028492, 7.27259023, 0.99857934, 0.99925003, 0.49321656],
++												 [	-6.27305544, -0.00046498, 0.00028488, 7.27259046, 0.99857955, 0.99925014, 0.49321665],
++												 [	-6.27305561, -0.00046491, 0.00028484, 7.27259070, 0.99857976, 0.99925025, 0.49321668],
++												 [	-6.27305578, -0.00046484, 0.00028479, 7.27259094, 0.99857998, 0.99925037, 0.49321665],
++												 [	-6.27305594, -0.00046477, 0.00028475, 7.27259117, 0.99858019, 0.99925048, 0.49321672],
++												 [	-6.27305611, -0.00046470, 0.00028471, 7.27259141, 0.99858040, 0.99925059, 0.49321675],
++												 [	-6.27305628, -0.00046463, 0.00028467, 7.27259165, 0.99858062, 0.99925070, 0.49321677],
++												 [	-6.27305645, -0.00046456, 0.00028462, 7.27259188, 0.99858083, 0.99925082, 0.49321675],
++												 [	-6.27305661, -0.00046449, 0.00028458, 7.27259212, 0.99858104, 0.99925093, 0.49321677],
++												 [	-6.27305678, -0.00046442, 0.00028454, 7.27259236, 0.99858126, 0.99925104, 0.49321687],
++												 [	-6.27305695, -0.00046435, 0.00028449, 7.27259259, 0.99858147, 0.99925115, 0.49321692],
++												 [	-6.27305711, -0.00046428, 0.00028445, 7.27259283, 0.99858168, 0.99925127, 0.49321690],
++												 [	-6.27305728, -0.00046421, 0.00028441, 7.27259307, 0.99858189, 0.99925138, 0.49321690],
++												 [	-6.27305745, -0.00046414, 0.00028437, 7.27259330, 0.99858211, 0.99925149, 0.49321703],
++												 [	-6.27305761, -0.00046407, 0.00028432, 7.27259354, 0.99858232, 0.99925160, 0.49321695],
++												 [	-6.27305778, -0.00046400, 0.00028428, 7.27259377, 0.99858253, 0.99925171, 0.49321702],
++												 [	-6.27305795, -0.00046393, 0.00028424, 7.27259401, 0.99858275, 0.99925183, 0.49321702],
++												 [	-6.27305811, -0.00046386, 0.00028420, 7.27259425, 0.99858296, 0.99925194, 0.49321707],
++												 [	-6.27305828, -0.00046380, 0.00028415, 7.27259448, 0.99858317, 0.99925205, 0.49321711],
++												 [	-6.27305844, -0.00046373, 0.00028411, 7.27259472, 0.99858338, 0.99925216, 0.49321702],
++												 [	-6.27305861, -0.00046366, 0.00028407, 7.27259495, 0.99858359, 0.99925227, 0.49321714],
++												 [	-6.27305878, -0.00046359, 0.00028403, 7.27259519, 0.99858381, 0.99925239, 0.49321714],
++												 [	-6.27305894, -0.00046352, 0.00028398, 7.27259543, 0.99858402, 0.99925250, 0.49321712],
++												 [	-6.27305911, -0.00046345, 0.00028394, 7.27259566, 0.99858423, 0.99925261, 0.49321724],
++												 [	-6.27305927, -0.00046338, 0.00028390, 7.27259590, 0.99858444, 0.99925272, 0.49321723],
++												 [	-6.27305944, -0.00046331, 0.00028386, 7.27259613, 0.99858465, 0.99925283, 0.49321718],
++												 [	-6.27305961, -0.00046324, 0.00028381, 7.27259637, 0.99858487, 0.99925295, 0.49321725],
++												 [	-6.27305977, -0.00046317, 0.00028377, 7.27259660, 0.99858508, 0.99925306, 0.49321729],
++												 [	-6.27305994, -0.00046310, 0.00028373, 7.27259684, 0.99858529, 0.99925317, 0.49321728],
++												 [	-6.27306010, -0.00046303, 0.00028369, 7.27259707, 0.99858550, 0.99925328, 0.49321728],
++												 [	-6.27306027, -0.00046296, 0.00028364, 7.27259731, 0.99858571, 0.99925339, 0.49321738],
++												 [	-6.27306044, -0.00046289, 0.00028360, 7.27259754, 0.99858593, 0.99925351, 0.49321730],
++												 [	-6.27306060, -0.00046282, 0.00028356, 7.27259778, 0.99858614, 0.99925362, 0.49321736],
++												 [	-6.27306077, -0.00046276, 0.00028352, 7.27259801, 0.99858635, 0.99925373, 0.49321743],
++												 [	-6.27306093, -0.00046269, 0.00028347, 7.27259825, 0.99858656, 0.99925384, 0.49321740],
++												 [	-6.27306110, -0.00046262, 0.00028343, 7.27259848, 0.99858677, 0.99925395, 0.49321757],
++												 [	-6.27306126, -0.00046255, 0.00028339, 7.27259872, 0.99858698, 0.99925406, 0.49321754],
++												 [	-6.27306143, -0.00046248, 0.00028335, 7.27259895, 0.99858719, 0.99925417, 0.49321760],
++												 [	-6.27306159, -0.00046241, 0.00028330, 7.27259918, 0.99858740, 0.99925429, 0.49321757],
++												 [	-6.27306176, -0.00046234, 0.00028326, 7.27259942, 0.99858762, 0.99925440, 0.49321761],
++												 [	-6.27306192, -0.00046227, 0.00028322, 7.27259965, 0.99858783, 0.99925451, 0.49321757],
++												 [	-6.27306209, -0.00046220, 0.00028318, 7.27259989, 0.99858804, 0.99925462, 0.49321764],
++												 [	-6.27306225, -0.00046213, 0.00028314, 7.27260012, 0.99858825, 0.99925473, 0.49321769],
++												 [	-6.27306242, -0.00046206, 0.00028309, 7.27260036, 0.99858846, 0.99925484, 0.49321767],
++												 [	-6.27306259, -0.00046200, 0.00028305, 7.27260059, 0.99858867, 0.99925495, 0.49321773],
++												 [	-6.27306275, -0.00046193, 0.00028301, 7.27260082, 0.99858888, 0.99925506, 0.49321772],
++												 [	-6.27306292, -0.00046186, 0.00028297, 7.27260106, 0.99858909, 0.99925518, 0.49321771],
++												 [	-6.27306308, -0.00046179, 0.00028292, 7.27260129, 0.99858930, 0.99925529, 0.49321779],
++												 [	-6.27306324, -0.00046172, 0.00028288, 7.27260152, 0.99858951, 0.99925540, 0.49321779],
++												 [	-6.27306341, -0.00046165, 0.00028284, 7.27260176, 0.99858972, 0.99925551, 0.49321780],
++												 [	-6.27306357, -0.00046158, 0.00028280, 7.27260199, 0.99858993, 0.99925562, 0.49321791],
++												 [	-6.27306374, -0.00046151, 0.00028275, 7.27260223, 0.99859014, 0.99925573, 0.49321791],
++												 [	-6.27306390, -0.00046144, 0.00028271, 7.27260246, 0.99859035, 0.99925584, 0.49321788],
++												 [	-6.27306407, -0.00046138, 0.00028267, 7.27260269, 0.99859056, 0.99925595, 0.49321791],
++												 [	-6.27306423, -0.00046131, 0.00028263, 7.27260293, 0.99859077, 0.99925606, 0.49321799],
++												 [	-6.27306440, -0.00046124, 0.00028259, 7.27260316, 0.99859098, 0.99925618, 0.49321795],
++												 [	-6.27306456, -0.00046117, 0.00028254, 7.27260339, 0.99859119, 0.99925629, 0.49321797],
++												 [	-6.27306473, -0.00046110, 0.00028250, 7.27260363, 0.99859140, 0.99925640, 0.49321800],
++												 [	-6.27306489, -0.00046103, 0.00028246, 7.27260386, 0.99859161, 0.99925651, 0.49321804],
++												 [	-6.27306505, -0.00046096, 0.00028242, 7.27260409, 0.99859182, 0.99925662, 0.49321800],
++												 [	-6.27306522, -0.00046090, 0.00028238, 7.27260432, 0.99859203, 0.99925673, 0.49321804],
++												 [	-6.27306538, -0.00046083, 0.00028233, 7.27260456, 0.99859224, 0.99925684, 0.49321806],
++												 [	-6.27306555, -0.00046076, 0.00028229, 7.27260479, 0.99859245, 0.99925695, 0.49321814],
++												 [	-6.27306571, -0.00046069, 0.00028225, 7.27260502, 0.99859266, 0.99925706, 0.49321818],
++												 [	-6.27306588, -0.00046062, 0.00028221, 7.27260525, 0.99859287, 0.99925717, 0.49321811],
++												 [	-6.27306604, -0.00046055, 0.00028217, 7.27260549, 0.99859308, 0.99925728, 0.49321821],
++												 [	-6.27306620, -0.00046048, 0.00028212, 7.27260572, 0.99859329, 0.99925739, 0.49321828],
++												 [	-6.27306637, -0.00046042, 0.00028208, 7.27260595, 0.99859350, 0.99925750, 0.49321829],
++												 [	-6.27306653, -0.00046035, 0.00028204, 7.27260618, 0.99859371, 0.99925761, 0.49321826],
++												 [	-6.27306670, -0.00046028, 0.00028200, 7.27260642, 0.99859392, 0.99925772, 0.49321833],
++												 [	-6.27306686, -0.00046021, 0.00028196, 7.27260665, 0.99859413, 0.99925783, 0.49321833],
++												 [	-6.27306702, -0.00046014, 0.00028191, 7.27260688, 0.99859434, 0.99925794, 0.49321830],
++												 [	-6.27306719, -0.00046007, 0.00028187, 7.27260711, 0.99859455, 0.99925805, 0.49321842],
++												 [	-6.27306735, -0.00046000, 0.00028183, 7.27260735, 0.99859475, 0.99925817, 0.49321838],
++												 [	-6.27306751, -0.00045994, 0.00028179, 7.27260758, 0.99859496, 0.99925828, 0.49321849],
++												 [	-6.27306768, -0.00045987, 0.00028175, 7.27260781, 0.99859517, 0.99925839, 0.49321848],
++												 [	-6.27306784, -0.00045980, 0.00028170, 7.27260804, 0.99859538, 0.99925850, 0.49321848],
++												 [	-6.27306800, -0.00045973, 0.00028166, 7.27260827, 0.99859559, 0.99925861, 0.49321852],
++												 [	-6.27306817, -0.00045966, 0.00028162, 7.27260850, 0.99859580, 0.99925872, 0.49321855],
++												 [	-6.27306833, -0.00045959, 0.00028158, 7.27260874, 0.99859601, 0.99925883, 0.49321849],
++												 [	-6.27306849, -0.00045953, 0.00028154, 7.27260897, 0.99859622, 0.99925894, 0.49321861],
++												 [	-6.27306866, -0.00045946, 0.00028150, 7.27260920, 0.99859642, 0.99925905, 0.49321858],
++												 [	-6.27306882, -0.00045939, 0.00028145, 7.27260943, 0.99859663, 0.99925916, 0.49321869],
++												 [	-6.27306898, -0.00045932, 0.00028141, 7.27260966, 0.99859684, 0.99925927, 0.49321873],
++												 [	-6.27306915, -0.00045925, 0.00028137, 7.27260989, 0.99859705, 0.99925938, 0.49321868],
++												 [	-6.27306931, -0.00045919, 0.00028133, 7.27261012, 0.99859726, 0.99925949, 0.49321872],
++												 [	-6.27306947, -0.00045912, 0.00028129, 7.27261035, 0.99859746, 0.99925960, 0.49321879],
++												 [	-6.27306964, -0.00045905, 0.00028124, 7.27261059, 0.99859767, 0.99925971, 0.49321873],
++												 [	-6.27306980, -0.00045898, 0.00028120, 7.27261082, 0.99859788, 0.99925982, 0.49321881],
++												 [	-6.27306996, -0.00045891, 0.00028116, 7.27261105, 0.99859809, 0.99925993, 0.49321869],
++												 [	-6.27307012, -0.00045885, 0.00028112, 7.27261128, 0.99859830, 0.99926003, 0.49321889],
++												 [	-6.27307029, -0.00045878, 0.00028108, 7.27261151, 0.99859850, 0.99926014, 0.49321883],
++												 [	-6.27307045, -0.00045871, 0.00028104, 7.27261174, 0.99859871, 0.99926025, 0.49321889],
++												 [	-6.27307061, -0.00045864, 0.00028099, 7.27261197, 0.99859892, 0.99926036, 0.49321886],
++												 [	-6.27307078, -0.00045857, 0.00028095, 7.27261220, 0.99859913, 0.99926047, 0.49321894],
++												 [	-6.27307094, -0.00045851, 0.00028091, 7.27261243, 0.99859934, 0.99926058, 0.49321894],
++												 [	-6.27307110, -0.00045844, 0.00028087, 7.27261266, 0.99859954, 0.99926069, 0.49321891],
++												 [	-6.27307126, -0.00045837, 0.00028083, 7.27261289, 0.99859975, 0.99926080, 0.49321907],
++												 [	-6.27307142, -0.00045830, 0.00028079, 7.27261312, 0.99859996, 0.99926091, 0.49321892],
++												 [	-6.27307159, -0.00045823, 0.00028074, 7.27261335, 0.99860016, 0.99926102, 0.49321904],
++												 [	-6.27307175, -0.00045817, 0.00028070, 7.27261358, 0.99860037, 0.99926113, 0.49321907],
++												 [	-6.27307191, -0.00045810, 0.00028066, 7.27261381, 0.99860058, 0.99926124, 0.49321903],
++												 [	-6.27307207, -0.00045803, 0.00028062, 7.27261404, 0.99860079, 0.99926135, 0.49321912],
++												 [	-6.27307224, -0.00045796, 0.00028058, 7.27261427, 0.99860099, 0.99926146, 0.49321912],
++												 [	-6.27307240, -0.00045790, 0.00028054, 7.27261450, 0.99860120, 0.99926157, 0.49321912],
++												 [	-6.27307256, -0.00045783, 0.00028050, 7.27261473, 0.99860141, 0.99926168, 0.49321924],
++												 [	-6.27307272, -0.00045776, 0.00028045, 7.27261496, 0.99860161, 0.99926179, 0.49321924],
++												 [	-6.27307288, -0.00045769, 0.00028041, 7.27261519, 0.99860182, 0.99926190, 0.49321921],
++												 [	-6.27307305, -0.00045762, 0.00028037, 7.27261542, 0.99860203, 0.99926200, 0.49321927],
++												 [	-6.27307321, -0.00045756, 0.00028033, 7.27261565, 0.99860223, 0.99926211, 0.49321925],
++												 [	-6.27307337, -0.00045749, 0.00028029, 7.27261588, 0.99860244, 0.99926222, 0.49321926],
++												 [	-6.27307353, -0.00045742, 0.00028025, 7.27261611, 0.99860265, 0.99926233, 0.49321932],
++												 [	-6.27307369, -0.00045735, 0.00028021, 7.27261634, 0.99860285, 0.99926244, 0.49321935],
++												 [	-6.27307386, -0.00045729, 0.00028016, 7.27261657, 0.99860306, 0.99926255, 0.49321931],
++												 [	-6.27307402, -0.00045722, 0.00028012, 7.27261680, 0.99860327, 0.99926266, 0.49321940],
++												 [	-6.27307418, -0.00045715, 0.00028008, 7.27261703, 0.99860347, 0.99926277, 0.49321940],
++												 [	-6.27307434, -0.00045708, 0.00028004, 7.27261726, 0.99860368, 0.99926288, 0.49321938],
++												 [	-6.27307450, -0.00045702, 0.00028000, 7.27261749, 0.99860389, 0.99926299, 0.49321955],
++												 [	-6.27307466, -0.00045695, 0.00027996, 7.27261771, 0.99860409, 0.99926309, 0.49321946],
++												 [	-6.27307482, -0.00045688, 0.00027992, 7.27261794, 0.99860430, 0.99926320, 0.49321952],
++												 [	-6.27307499, -0.00045681, 0.00027987, 7.27261817, 0.99860450, 0.99926331, 0.49321956],
++												 [	-6.27307515, -0.00045675, 0.00027983, 7.27261840, 0.99860471, 0.99926342, 0.49321950],
++												 [	-6.27307531, -0.00045668, 0.00027979, 7.27261863, 0.99860492, 0.99926353, 0.49321959],
++												 [	-6.27307547, -0.00045661, 0.00027975, 7.27261886, 0.99860512, 0.99926364, 0.49321954],
++												 [	-6.27307563, -0.00045654, 0.00027971, 7.27261909, 0.99860533, 0.99926375, 0.49321964],
++												 [	-6.27307579, -0.00045648, 0.00027967, 7.27261931, 0.99860553, 0.99926385, 0.49321960],
++												 [	-6.27307595, -0.00045641, 0.00027963, 7.27261954, 0.99860574, 0.99926396, 0.49321972],
++												 [	-6.27307611, -0.00045634, 0.00027959, 7.27261977, 0.99860595, 0.99926407, 0.49321973],
++												 [	-6.27307628, -0.00045628, 0.00027954, 7.27262000, 0.99860615, 0.99926418, 0.49321968],
++												 [	-6.27307644, -0.00045621, 0.00027950, 7.27262023, 0.99860636, 0.99926429, 0.49321967],
++												 [	-6.27307660, -0.00045614, 0.00027946, 7.27262046, 0.99860656, 0.99926440, 0.49321972],
++												 [	-6.27307676, -0.00045607, 0.00027942, 7.27262068, 0.99860677, 0.99926451, 0.49321981],
++												 [	-6.27307692, -0.00045601, 0.00027938, 7.27262091, 0.99860697, 0.99926461, 0.49321979],
++												 [	-6.27307708, -0.00045594, 0.00027934, 7.27262114, 0.99860718, 0.99926472, 0.49321986],
++												 [	-6.27307724, -0.00045587, 0.00027930, 7.27262137, 0.99860738, 0.99926483, 0.49321988],
++												 [	-6.27307740, -0.00045581, 0.00027926, 7.27262160, 0.99860759, 0.99926494, 0.49321990],
++												 [	-6.27307756, -0.00045574, 0.00027921, 7.27262182, 0.99860779, 0.99926505, 0.49321998],
++												 [	-6.27307772, -0.00045567, 0.00027917, 7.27262205, 0.99860800, 0.99926516, 0.49322003],
++												 [	-6.27307788, -0.00045560, 0.00027913, 7.27262228, 0.99860820, 0.99926526, 0.49321994],
++												 [	-6.27307804, -0.00045554, 0.00027909, 7.27262251, 0.99860841, 0.99926537, 0.49322002],
++												 [	-6.27307820, -0.00045547, 0.00027905, 7.27262273, 0.99860861, 0.99926548, 0.49321999],
++												 [	-6.27307836, -0.00045540, 0.00027901, 7.27262296, 0.99860882, 0.99926559, 0.49322005],
++												 [	-6.27307852, -0.00045534, 0.00027897, 7.27262319, 0.99860902, 0.99926570, 0.49322007],
++												 [	-6.27307868, -0.00045527, 0.00027893, 7.27262342, 0.99860923, 0.99926580, 0.49322002],
++												 [	-6.27307884, -0.00045520, 0.00027889, 7.27262364, 0.99860943, 0.99926591, 0.49322013],
++												 [	-6.27307900, -0.00045514, 0.00027884, 7.27262387, 0.99860964, 0.99926602, 0.49322009],
++												 [	-6.27307916, -0.00045507, 0.00027880, 7.27262410, 0.99860984, 0.99926613, 0.49322010],
++												 [	-6.27307932, -0.00045500, 0.00027876, 7.27262432, 0.99861004, 0.99926624, 0.49322020],
++												 [	-6.27307949, -0.00045493, 0.00027872, 7.27262455, 0.99861025, 0.99926634, 0.49322020],
++												 [	-6.27307964, -0.00045487, 0.00027868, 7.27262478, 0.99861045, 0.99926645, 0.49322021],
++												 [	-6.27307980, -0.00045480, 0.00027864, 7.27262500, 0.99861066, 0.99926656, 0.49322031],
++												 [	-6.27307996, -0.00045473, 0.00027860, 7.27262523, 0.99861086, 0.99926667, 0.49322031],
++												 [	-6.27308012, -0.00045467, 0.00027856, 7.27262546, 0.99861107, 0.99926677, 0.49322033],
++												 [	-6.27308028, -0.00045460, 0.00027852, 7.27262568, 0.99861127, 0.99926688, 0.49322029],
++												 [	-6.27308044, -0.00045453, 0.00027848, 7.27262591, 0.99861147, 0.99926699, 0.49322034],
++												 [	-6.27308060, -0.00045447, 0.00027844, 7.27262614, 0.99861168, 0.99926710, 0.49322033],
++												 [	-6.27308076, -0.00045440, 0.00027839, 7.27262636, 0.99861188, 0.99926721, 0.49322036],
++												 [	-6.27308092, -0.00045433, 0.00027835, 7.27262659, 0.99861209, 0.99926731, 0.49322047],
++												 [	-6.27308108, -0.00045427, 0.00027831, 7.27262682, 0.99861229, 0.99926742, 0.49322045],
++												 [	-6.27308124, -0.00045420, 0.00027827, 7.27262704, 0.99861249, 0.99926753, 0.49322049],
++												 [	-6.27308140, -0.00045413, 0.00027823, 7.27262727, 0.99861270, 0.99926764, 0.49322055],
++												 [	-6.27308156, -0.00045407, 0.00027819, 7.27262749, 0.99861290, 0.99926774, 0.49322054],
++												 [	-6.27308172, -0.00045400, 0.00027815, 7.27262772, 0.99861310, 0.99926785, 0.49322056],
++												 [	-6.27308188, -0.00045393, 0.00027811, 7.27262795, 0.99861331, 0.99926796, 0.49322059],
++												 [	-6.27308204, -0.00045387, 0.00027807, 7.27262817, 0.99861351, 0.99926807, 0.49322050],
++												 [	-6.27308220, -0.00045380, 0.00027803, 7.27262840, 0.99861371, 0.99926817, 0.49322063],
++												 [	-6.27308236, -0.00045373, 0.00027799, 7.27262862, 0.99861392, 0.99926828, 0.49322066],
++												 [	-6.27308252, -0.00045367, 0.00027795, 7.27262885, 0.99861412, 0.99926839, 0.49322063],
++												 [	-6.27308268, -0.00045360, 0.00027790, 7.27262907, 0.99861432, 0.99926849, 0.49322070],
++												 [	-6.27308284, -0.00045353, 0.00027786, 7.27262930, 0.99861453, 0.99926860, 0.49322066],
++												 [	-6.27308299, -0.00045347, 0.00027782, 7.27262953, 0.99861473, 0.99926871, 0.49322073],
++												 [	-6.27308315, -0.00045340, 0.00027778, 7.27262975, 0.99861493, 0.99926882, 0.49322074],
++												 [	-6.27308331, -0.00045334, 0.00027774, 7.27262998, 0.99861514, 0.99926892, 0.49322073],
++												 [	-6.27308347, -0.00045327, 0.00027770, 7.27263020, 0.99861534, 0.99926903, 0.49322080],
++												 [	-6.27308363, -0.00045320, 0.00027766, 7.27263043, 0.99861554, 0.99926914, 0.49322087],
++												 [	-6.27308379, -0.00045314, 0.00027762, 7.27263065, 0.99861574, 0.99926924, 0.49322079],
++												 [	-6.27308395, -0.00045307, 0.00027758, 7.27263088, 0.99861595, 0.99926935, 0.49322088],
++												 [	-6.27308411, -0.00045300, 0.00027754, 7.27263110, 0.99861615, 0.99926946, 0.49322089],
++												 [	-6.27308426, -0.00045294, 0.00027750, 7.27263133, 0.99861635, 0.99926956, 0.49322091],
++												 [	-6.27308442, -0.00045287, 0.00027746, 7.27263155, 0.99861655, 0.99926967, 0.49322099],
++												 [	-6.27308458, -0.00045281, 0.00027742, 7.27263178, 0.99861676, 0.99926978, 0.49322093],
++												 [	-6.27308474, -0.00045274, 0.00027738, 7.27263200, 0.99861696, 0.99926989, 0.49322094],
++												 [	-6.27308490, -0.00045267, 0.00027734, 7.27263223, 0.99861716, 0.99926999, 0.49322104],
++												 [	-6.27308506, -0.00045261, 0.00027729, 7.27263245, 0.99861736, 0.99927010, 0.49322101],
++												 [	-6.27308522, -0.00045254, 0.00027725, 7.27263268, 0.99861757, 0.99927021, 0.49322100],
++												 [	-6.27308537, -0.00045247, 0.00027721, 7.27263290, 0.99861777, 0.99927031, 0.49322109],
++												 [	-6.27308553, -0.00045241, 0.00027717, 7.27263312, 0.99861797, 0.99927042, 0.49322112],
++												 [	-6.27308569, -0.00045234, 0.00027713, 7.27263335, 0.99861817, 0.99927053, 0.49322118],
++												 [	-6.27308585, -0.00045228, 0.00027709, 7.27263357, 0.99861837, 0.99927063, 0.49322108],
++												 [	-6.27308601, -0.00045221, 0.00027705, 7.27263380, 0.99861858, 0.99927074, 0.49322119],
++												 [	-6.27308616, -0.00045214, 0.00027701, 7.27263402, 0.99861878, 0.99927085, 0.49322124],
++												 [	-6.27308632, -0.00045208, 0.00027697, 7.27263424, 0.99861898, 0.99927095, 0.49322120],
++												 [	-6.27308648, -0.00045201, 0.00027693, 7.27263447, 0.99861918, 0.99927106, 0.49322125],
++												 [	-6.27308664, -0.00045195, 0.00027689, 7.27263469, 0.99861938, 0.99927116, 0.49322131],
++												 [	-6.27308680, -0.00045188, 0.00027685, 7.27263492, 0.99861959, 0.99927127, 0.49322139],
++												 [	-6.27308695, -0.00045181, 0.00027681, 7.27263514, 0.99861979, 0.99927138, 0.49322128],
++												 [	-6.27308711, -0.00045175, 0.00027677, 7.27263536, 0.99861999, 0.99927148, 0.49322133],
++												 [	-6.27308727, -0.00045168, 0.00027673, 7.27263559, 0.99862019, 0.99927159, 0.49322134],
++												 [	-6.27308743, -0.00045162, 0.00027669, 7.27263581, 0.99862039, 0.99927170, 0.49322141],
++												 [	-6.27308759, -0.00045155, 0.00027665, 7.27263604, 0.99862059, 0.99927180, 0.49322137],
++												 [	-6.27308774, -0.00045148, 0.00027661, 7.27263626, 0.99862079, 0.99927191, 0.49322148],
++												 [	-6.27308790, -0.00045142, 0.00027657, 7.27263648, 0.99862099, 0.99927202, 0.49322145],
++												 [	-6.27308806, -0.00045135, 0.00027653, 7.27263671, 0.99862120, 0.99927212, 0.49322138],
++												 [	-6.27308822, -0.00045129, 0.00027649, 7.27263693, 0.99862140, 0.99927223, 0.49322155],
++												 [	-6.27308837, -0.00045122, 0.00027645, 7.27263715, 0.99862160, 0.99927233, 0.49322147],
++												 [	-6.27308853, -0.00045116, 0.00027641, 7.27263737, 0.99862180, 0.99927244, 0.49322164],
++												 [	-6.27308869, -0.00045109, 0.00027636, 7.27263760, 0.99862200, 0.99927255, 0.49322155],
++												 [	-6.27308884, -0.00045102, 0.00027632, 7.27263782, 0.99862220, 0.99927265, 0.49322156],
++												 [	-6.27308900, -0.00045096, 0.00027628, 7.27263804, 0.99862240, 0.99927276, 0.49322154],
++												 [	-6.27308916, -0.00045089, 0.00027624, 7.27263827, 0.99862260, 0.99927286, 0.49322167],
++												 [	-6.27308932, -0.00045083, 0.00027620, 7.27263849, 0.99862280, 0.99927297, 0.49322165],
++												 [	-6.27308947, -0.00045076, 0.00027616, 7.27263871, 0.99862300, 0.99927308, 0.49322177],
++												 [	-6.27308963, -0.00045070, 0.00027612, 7.27263894, 0.99862320, 0.99927318, 0.49322172],
++												 [	-6.27308979, -0.00045063, 0.00027608, 7.27263916, 0.99862340, 0.99927329, 0.49322177],
++												 [	-6.27308994, -0.00045056, 0.00027604, 7.27263938, 0.99862360, 0.99927339, 0.49322171],
++												 [	-6.27309010, -0.00045050, 0.00027600, 7.27263960, 0.99862381, 0.99927350, 0.49322172],
++												 [	-6.27309026, -0.00045043, 0.00027596, 7.27263983, 0.99862401, 0.99927360, 0.49322182],
++												 [	-6.27309042, -0.00045037, 0.00027592, 7.27264005, 0.99862421, 0.99927371, 0.49322183],
++												 [	-6.27309057, -0.00045030, 0.00027588, 7.27264027, 0.99862441, 0.99927382, 0.49322187],
++												 [	-6.27309073, -0.00045024, 0.00027584, 7.27264049, 0.99862461, 0.99927392, 0.49322184],
++												 [	-6.27309089, -0.00045017, 0.00027580, 7.27264071, 0.99862481, 0.99927403, 0.49322189],
++												 [	-6.27309104, -0.00045011, 0.00027576, 7.27264094, 0.99862501, 0.99927413, 0.49322190],
++												 [	-6.27309120, -0.00045004, 0.00027572, 7.27264116, 0.99862521, 0.99927424, 0.49322188],
++												 [	-6.27309136, -0.00044997, 0.00027568, 7.27264138, 0.99862541, 0.99927434, 0.49322197],
++												 [	-6.27309151, -0.00044991, 0.00027564, 7.27264160, 0.99862561, 0.99927445, 0.49322195],
++												 [	-6.27309167, -0.00044984, 0.00027560, 7.27264182, 0.99862581, 0.99927455, 0.49322198],
++												 [	-6.27309183, -0.00044978, 0.00027556, 7.27264205, 0.99862601, 0.99927466, 0.49322195],
++												 [	-6.27309198, -0.00044971, 0.00027552, 7.27264227, 0.99862621, 0.99927477, 0.49322211],
++												 [	-6.27309214, -0.00044965, 0.00027548, 7.27264249, 0.99862641, 0.99927487, 0.49322215],
++												 [	-6.27309229, -0.00044958, 0.00027544, 7.27264271, 0.99862660, 0.99927498, 0.49322209],
++												 [	-6.27309245, -0.00044952, 0.00027540, 7.27264293, 0.99862680, 0.99927508, 0.49322211],
++												 [	-6.27309261, -0.00044945, 0.00027536, 7.27264315, 0.99862700, 0.99927519, 0.49322213],
++												 [	-6.27309276, -0.00044939, 0.00027532, 7.27264338, 0.99862720, 0.99927529, 0.49322220],
++												 [	-6.27309292, -0.00044932, 0.00027528, 7.27264360, 0.99862740, 0.99927540, 0.49322206],
++												 [	-6.27309307, -0.00044926, 0.00027524, 7.27264382, 0.99862760, 0.99927550, 0.49322222],
++												 [	-6.27309323, -0.00044919, 0.00027520, 7.27264404, 0.99862780, 0.99927561, 0.49322230],
++												 [	-6.27309339, -0.00044913, 0.00027516, 7.27264426, 0.99862800, 0.99927571, 0.49322233],
++												 [	-6.27309354, -0.00044906, 0.00027512, 7.27264448, 0.99862820, 0.99927582, 0.49322226],
++												 [	-6.27309370, -0.00044900, 0.00027508, 7.27264470, 0.99862840, 0.99927592, 0.49322237],
++												 [	-6.27309385, -0.00044893, 0.00027504, 7.27264492, 0.99862860, 0.99927603, 0.49322238],
++												 [	-6.27309401, -0.00044887, 0.00027500, 7.27264514, 0.99862880, 0.99927613, 0.49322229],
++												 [	-6.27309417, -0.00044880, 0.00027496, 7.27264537, 0.99862899, 0.99927624, 0.49322245],
++												 [	-6.27309432, -0.00044874, 0.00027492, 7.27264559, 0.99862919, 0.99927634, 0.49322245],
++												 [	-6.27309448, -0.00044867, 0.00027488, 7.27264581, 0.99862939, 0.99927645, 0.49322246],
++												 [	-6.27309463, -0.00044861, 0.00027484, 7.27264603, 0.99862959, 0.99927655, 0.49322247],
++												 [	-6.27309479, -0.00044854, 0.00027480, 7.27264625, 0.99862979, 0.99927666, 0.49322254],
++												 [	-6.27309494, -0.00044848, 0.00027476, 7.27264647, 0.99862999, 0.99927676, 0.49322253],
++												 [	-6.27309510, -0.00044841, 0.00027472, 7.27264669, 0.99863019, 0.99927687, 0.49322258],
++												 [	-6.27309526, -0.00044835, 0.00027468, 7.27264691, 0.99863039, 0.99927697, 0.49322250],
++												 [	-6.27309541, -0.00044828, 0.00027464, 7.27264713, 0.99863058, 0.99927708, 0.49322253],
++												 [	-6.27309557, -0.00044822, 0.00027460, 7.27264735, 0.99863078, 0.99927718, 0.49322260],
++												 [	-6.27309572, -0.00044815, 0.00027456, 7.27264757, 0.99863098, 0.99927729, 0.49322265],
++												 [	-6.27309588, -0.00044809, 0.00027452, 7.27264779, 0.99863118, 0.99927739, 0.49322261],
++												 [	-6.27309603, -0.00044802, 0.00027448, 7.27264801, 0.99863138, 0.99927750, 0.49322265],
++												 [	-6.27309619, -0.00044796, 0.00027444, 7.27264823, 0.99863158, 0.99927760, 0.49322274],
++												 [	-6.27309634, -0.00044789, 0.00027440, 7.27264845, 0.99863177, 0.99927770, 0.49322271],
++												 [	-6.27309650, -0.00044783, 0.00027436, 7.27264867, 0.99863197, 0.99927781, 0.49322271],
++												 [	-6.27309665, -0.00044776, 0.00027432, 7.27264889, 0.99863217, 0.99927791, 0.49322277],
++												 [	-6.27309681, -0.00044770, 0.00027429, 7.27264911, 0.99863237, 0.99927802, 0.49322282],
++												 [	-6.27309696, -0.00044763, 0.00027425, 7.27264933, 0.99863256, 0.99927812, 0.49322277],
++												 [	-6.27309712, -0.00044757, 0.00027421, 7.27264955, 0.99863276, 0.99927823, 0.49322279],
++												 [	-6.27309727, -0.00044750, 0.00027417, 7.27264977, 0.99863296, 0.99927833, 0.49322290],
++												 [	-6.27309743, -0.00044744, 0.00027413, 7.27264999, 0.99863316, 0.99927844, 0.49322286],
++												 [	-6.27309758, -0.00044737, 0.00027409, 7.27265021, 0.99863336, 0.99927854, 0.49322289],
++												 [	-6.27309774, -0.00044731, 0.00027405, 7.27265043, 0.99863355, 0.99927864, 0.49322292],
++												 [	-6.27309789, -0.00044724, 0.00027401, 7.27265065, 0.99863375, 0.99927875, 0.49322303],
++												 [	-6.27309805, -0.00044718, 0.00027397, 7.27265087, 0.99863395, 0.99927885, 0.49322297],
++												 [	-6.27309820, -0.00044712, 0.00027393, 7.27265108, 0.99863415, 0.99927896, 0.49322299],
++												 [	-6.27309835, -0.00044705, 0.00027389, 7.27265130, 0.99863434, 0.99927906, 0.49322300],
++												 [	-6.27309851, -0.00044699, 0.00027385, 7.27265152, 0.99863454, 0.99927916, 0.49322302],
++												 [	-6.27309866, -0.00044692, 0.00027381, 7.27265174, 0.99863474, 0.99927927, 0.49322302],
++												 [	-6.27309882, -0.00044686, 0.00027377, 7.27265196, 0.99863493, 0.99927937, 0.49322309],
++												 [	-6.27309897, -0.00044679, 0.00027373, 7.27265218, 0.99863513, 0.99927948, 0.49322304],
++												 [	-6.27309913, -0.00044673, 0.00027369, 7.27265240, 0.99863533, 0.99927958, 0.49322317],
++												 [	-6.27309928, -0.00044666, 0.00027365, 7.27265262, 0.99863553, 0.99927968, 0.49322317],
++												 [	-6.27309944, -0.00044660, 0.00027361, 7.27265284, 0.99863572, 0.99927979, 0.49322320],
++												 [	-6.27309959, -0.00044653, 0.00027357, 7.27265305, 0.99863592, 0.99927989, 0.49322325],
++												 [	-6.27309974, -0.00044647, 0.00027353, 7.27265327, 0.99863612, 0.99928000, 0.49322322],
++												 [	-6.27309990, -0.00044641, 0.00027349, 7.27265349, 0.99863631, 0.99928010, 0.49322331],
++												 [	-6.27310005, -0.00044634, 0.00027345, 7.27265371, 0.99863651, 0.99928020, 0.49322327],
++												 [	-6.27310021, -0.00044628, 0.00027341, 7.27265393, 0.99863671, 0.99928031, 0.49322319],
++												 [	-6.27310036, -0.00044621, 0.00027338, 7.27265415, 0.99863690, 0.99928041, 0.49322336],
++												 [	-6.27310051, -0.00044615, 0.00027334, 7.27265436, 0.99863710, 0.99928052, 0.49322341],
++												 [	-6.27310067, -0.00044608, 0.00027330, 7.27265458, 0.99863730, 0.99928062, 0.49322335],
++												 [	-6.27310082, -0.00044602, 0.00027326, 7.27265480, 0.99863749, 0.99928072, 0.49322336],
++												 [	-6.27310097, -0.00044596, 0.00027322, 7.27265502, 0.99863769, 0.99928083, 0.49322343],
++												 [	-6.27310113, -0.00044589, 0.00027318, 7.27265524, 0.99863789, 0.99928093, 0.49322345],
++												 [	-6.27310128, -0.00044583, 0.00027314, 7.27265546, 0.99863808, 0.99928103, 0.49322341],
++												 [	-6.27310144, -0.00044576, 0.00027310, 7.27265567, 0.99863828, 0.99928114, 0.49322343],
++												 [	-6.27310159, -0.00044570, 0.00027306, 7.27265589, 0.99863847, 0.99928124, 0.49322353],
++												 [	-6.27310174, -0.00044563, 0.00027302, 7.27265611, 0.99863867, 0.99928134, 0.49322355],
++												 [	-6.27310190, -0.00044557, 0.00027298, 7.27265633, 0.99863887, 0.99928145, 0.49322359],
++												 [	-6.27310205, -0.00044551, 0.00027294, 7.27265654, 0.99863906, 0.99928155, 0.49322357],
++												 [	-6.27310220, -0.00044544, 0.00027290, 7.27265676, 0.99863926, 0.99928165, 0.49322365],
++												 [	-6.27310236, -0.00044538, 0.00027286, 7.27265698, 0.99863945, 0.99928176, 0.49322365],
++												 [	-6.27310251, -0.00044531, 0.00027282, 7.27265720, 0.99863965, 0.99928186, 0.49322366],
++												 [	-6.27310266, -0.00044525, 0.00027279, 7.27265741, 0.99863984, 0.99928196, 0.49322350],
++												 [	-6.27310282, -0.00044519, 0.00027275, 7.27265763, 0.99864004, 0.99928207, 0.49322363],
++												 [	-6.27310297, -0.00044512, 0.00027271, 7.27265785, 0.99864024, 0.99928217, 0.49322376],
++												 [	-6.27310312, -0.00044506, 0.00027267, 7.27265807, 0.99864043, 0.99928227, 0.49322376],
++												 [	-6.27310328, -0.00044499, 0.00027263, 7.27265828, 0.99864063, 0.99928238, 0.49322386],
++												 [	-6.27310343, -0.00044493, 0.00027259, 7.27265850, 0.99864082, 0.99928248, 0.49322387],
++												 [	-6.27310358, -0.00044487, 0.00027255, 7.27265872, 0.99864102, 0.99928258, 0.49322377],
++												 [	-6.27310374, -0.00044480, 0.00027251, 7.27265893, 0.99864121, 0.99928269, 0.49322371],
++												 [	-6.27310389, -0.00044474, 0.00027247, 7.27265915, 0.99864141, 0.99928279, 0.49322385],
++												 [	-6.27310404, -0.00044467, 0.00027243, 7.27265937, 0.99864160, 0.99928289, 0.49322391],
++												 [	-6.27310419, -0.00044461, 0.00027239, 7.27265958, 0.99864180, 0.99928300, 0.49322388],
++												 [	-6.27310435, -0.00044455, 0.00027235, 7.27265980, 0.99864199, 0.99928310, 0.49322387],
++												 [	-6.27310450, -0.00044448, 0.00027231, 7.27266002, 0.99864219, 0.99928320, 0.49322394],
++												 [	-6.27310465, -0.00044442, 0.00027228, 7.27266023, 0.99864238, 0.99928330, 0.49322403],
++												 [	-6.27310481, -0.00044436, 0.00027224, 7.27266045, 0.99864258, 0.99928341, 0.49322393],
++												 [	-6.27310496, -0.00044429, 0.00027220, 7.27266067, 0.99864277, 0.99928351, 0.49322396],
++												 [	-6.27310511, -0.00044423, 0.00027216, 7.27266088, 0.99864297, 0.99928361, 0.49322397],
++												 [	-6.27310526, -0.00044416, 0.00027212, 7.27266110, 0.99864316, 0.99928372, 0.49322408],
++												 [	-6.27310542, -0.00044410, 0.00027208, 7.27266132, 0.99864336, 0.99928382, 0.49322399],
++												 [	-6.27310557, -0.00044404, 0.00027204, 7.27266153, 0.99864355, 0.99928392, 0.49322405],
++												 [	-6.27310572, -0.00044397, 0.00027200, 7.27266175, 0.99864375, 0.99928402, 0.49322411],
++												 [	-6.27310587, -0.00044391, 0.00027196, 7.27266196, 0.99864394, 0.99928413, 0.49322415],
++												 [	-6.27310603, -0.00044385, 0.00027192, 7.27266218, 0.99864414, 0.99928423, 0.49322414],
++												 [	-6.27310618, -0.00044378, 0.00027189, 7.27266240, 0.99864433, 0.99928433, 0.49322429],
++												 [	-6.27310633, -0.00044372, 0.00027185, 7.27266261, 0.99864453, 0.99928444, 0.49322422],
++												 [	-6.27310648, -0.00044365, 0.00027181, 7.27266283, 0.99864472, 0.99928454, 0.49322422],
++												 [	-6.27310663, -0.00044359, 0.00027177, 7.27266304, 0.99864491, 0.99928464, 0.49322418],
++												 [	-6.27310679, -0.00044353, 0.00027173, 7.27266326, 0.99864511, 0.99928474, 0.49322426],
++												 [	-6.27310694, -0.00044346, 0.00027169, 7.27266347, 0.99864530, 0.99928485, 0.49322432],
++												 [	-6.27310709, -0.00044340, 0.00027165, 7.27266369, 0.99864550, 0.99928495, 0.49322429],
++												 [	-6.27310724, -0.00044334, 0.00027161, 7.27266391, 0.99864569, 0.99928505, 0.49322440],
++												 [	-6.27310739, -0.00044327, 0.00027157, 7.27266412, 0.99864589, 0.99928515, 0.49322431],
++												 [	-6.27310755, -0.00044321, 0.00027153, 7.27266434, 0.99864608, 0.99928526, 0.49322435],
++												 [	-6.27310770, -0.00044315, 0.00027150, 7.27266455, 0.99864627, 0.99928536, 0.49322446],
++												 [	-6.27310785, -0.00044308, 0.00027146, 7.27266477, 0.99864647, 0.99928546, 0.49322440],
++												 [	-6.27310800, -0.00044302, 0.00027142, 7.27266498, 0.99864666, 0.99928556, 0.49322441],
++												 [	-6.27310815, -0.00044296, 0.00027138, 7.27266520, 0.99864685, 0.99928566, 0.49322447],
++												 [	-6.27310831, -0.00044289, 0.00027134, 7.27266541, 0.99864705, 0.99928577, 0.49322449],
++												 [	-6.27310846, -0.00044283, 0.00027130, 7.27266563, 0.99864724, 0.99928587, 0.49322455],
++												 [	-6.27310861, -0.00044277, 0.00027126, 7.27266584, 0.99864744, 0.99928597, 0.49322455],
++												 [	-6.27310876, -0.00044270, 0.00027122, 7.27266606, 0.99864763, 0.99928607, 0.49322448],
++												 [	-6.27310891, -0.00044264, 0.00027119, 7.27266627, 0.99864782, 0.99928618, 0.49322460],
++												 [	-6.27310906, -0.00044258, 0.00027115, 7.27266649, 0.99864802, 0.99928628, 0.49322463],
++												 [	-6.27310921, -0.00044251, 0.00027111, 7.27266670, 0.99864821, 0.99928638, 0.49322466],
++												 [	-6.27310937, -0.00044245, 0.00027107, 7.27266692, 0.99864840, 0.99928648, 0.49322476],
++												 [	-6.27310952, -0.00044239, 0.00027103, 7.27266713, 0.99864860, 0.99928658, 0.49322465],
++												 [	-6.27310967, -0.00044232, 0.00027099, 7.27266735, 0.99864879, 0.99928669, 0.49322471],
++												 [	-6.27310982, -0.00044226, 0.00027095, 7.27266756, 0.99864898, 0.99928679, 0.49322475],
++												 [	-6.27310997, -0.00044220, 0.00027091, 7.27266777, 0.99864917, 0.99928689, 0.49322474],
++												 [	-6.27311012, -0.00044213, 0.00027088, 7.27266799, 0.99864937, 0.99928699, 0.49322474],
++												 [	-6.27311027, -0.00044207, 0.00027084, 7.27266820, 0.99864956, 0.99928709, 0.49322480],
++												 [	-6.27311042, -0.00044201, 0.00027080, 7.27266842, 0.99864975, 0.99928719, 0.49322485],
++												 [	-6.27311058, -0.00044194, 0.00027076, 7.27266863, 0.99864995, 0.99928730, 0.49322481],
++												 [	-6.27311073, -0.00044188, 0.00027072, 7.27266884, 0.99865014, 0.99928740, 0.49322488],
++												 [	-6.27311088, -0.00044182, 0.00027068, 7.27266906, 0.99865033, 0.99928750, 0.49322485],
++												 [	-6.27311103, -0.00044176, 0.00027064, 7.27266927, 0.99865052, 0.99928760, 0.49322488],
++												 [	-6.27311118, -0.00044169, 0.00027060, 7.27266949, 0.99865072, 0.99928770, 0.49322494],
++												 [	-6.27311133, -0.00044163, 0.00027057, 7.27266970, 0.99865091, 0.99928780, 0.49322492],
++												 [	-6.27311148, -0.00044157, 0.00027053, 7.27266991, 0.99865110, 0.99928791, 0.49322499],
++												 [	-6.27311163, -0.00044150, 0.00027049, 7.27267013, 0.99865129, 0.99928801, 0.49322490],
++												 [	-6.27311178, -0.00044144, 0.00027045, 7.27267034, 0.99865149, 0.99928811, 0.49322494],
++												 [	-6.27311193, -0.00044138, 0.00027041, 7.27267056, 0.99865168, 0.99928821, 0.49322503],
++												 [	-6.27311208, -0.00044131, 0.00027037, 7.27267077, 0.99865187, 0.99928831, 0.49322507],
++												 [	-6.27311223, -0.00044125, 0.00027033, 7.27267098, 0.99865206, 0.99928841, 0.49322506],
++												 [	-6.27311238, -0.00044119, 0.00027030, 7.27267120, 0.99865226, 0.99928852, 0.49322507],
++												 [	-6.27311253, -0.00044113, 0.00027026, 7.27267141, 0.99865245, 0.99928862, 0.49322511],
++												 [	-6.27311269, -0.00044106, 0.00027022, 7.27267162, 0.99865264, 0.99928872, 0.49322515],
++												 [	-6.27311284, -0.00044100, 0.00027018, 7.27267184, 0.99865283, 0.99928882, 0.49322525],
++												 [	-6.27311299, -0.00044094, 0.00027014, 7.27267205, 0.99865302, 0.99928892, 0.49322511],
++												 [	-6.27311314, -0.00044087, 0.00027010, 7.27267226, 0.99865322, 0.99928902, 0.49322518],
++												 [	-6.27311329, -0.00044081, 0.00027006, 7.27267247, 0.99865341, 0.99928912, 0.49322526],
++												 [	-6.27311344, -0.00044075, 0.00027003, 7.27267269, 0.99865360, 0.99928922, 0.49322521],
++												 [	-6.27311359, -0.00044069, 0.00026999, 7.27267290, 0.99865379, 0.99928933, 0.49322528],
++												 [	-6.27311374, -0.00044062, 0.00026995, 7.27267311, 0.99865398, 0.99928943, 0.49322529],
++												 [	-6.27311389, -0.00044056, 0.00026991, 7.27267333, 0.99865418, 0.99928953, 0.49322527],
++												 [	-6.27311404, -0.00044050, 0.00026987, 7.27267354, 0.99865437, 0.99928963, 0.49322539],
++												 [	-6.27311419, -0.00044044, 0.00026983, 7.27267375, 0.99865456, 0.99928973, 0.49322538],
++												 [	-6.27311434, -0.00044037, 0.00026980, 7.27267396, 0.99865475, 0.99928983, 0.49322547],
++												 [	-6.27311449, -0.00044031, 0.00026976, 7.27267418, 0.99865494, 0.99928993, 0.49322544],
++												 [	-6.27311464, -0.00044025, 0.00026972, 7.27267439, 0.99865513, 0.99929003, 0.49322545],
++												 [	-6.27311479, -0.00044018, 0.00026968, 7.27267460, 0.99865532, 0.99929013, 0.49322545],
++												 [	-6.27311494, -0.00044012, 0.00026964, 7.27267481, 0.99865551, 0.99929024, 0.49322537],
++												 [	-6.27311509, -0.00044006, 0.00026960, 7.27267503, 0.99865571, 0.99929034, 0.49322549],
++												 [	-6.27311524, -0.00044000, 0.00026957, 7.27267524, 0.99865590, 0.99929044, 0.49322552],
++												 [	-6.27311539, -0.00043993, 0.00026953, 7.27267545, 0.99865609, 0.99929054, 0.49322561],
++												 [	-6.27311554, -0.00043987, 0.00026949, 7.27267566, 0.99865628, 0.99929064, 0.49322551],
++												 [	-6.27311569, -0.00043981, 0.00026945, 7.27267588, 0.99865647, 0.99929074, 0.49322559],
++												 [	-6.27311583, -0.00043975, 0.00026941, 7.27267609, 0.99865666, 0.99929084, 0.49322564],
++												 [	-6.27311598, -0.00043968, 0.00026937, 7.27267630, 0.99865685, 0.99929094, 0.49322558],
++												 [	-6.27311613, -0.00043962, 0.00026934, 7.27267651, 0.99865704, 0.99929104, 0.49322567],
++												 [	-6.27311628, -0.00043956, 0.00026930, 7.27267672, 0.99865723, 0.99929114, 0.49322564],
++												 [	-6.27311643, -0.00043950, 0.00026926, 7.27267693, 0.99865742, 0.99929124, 0.49322573],
++												 [	-6.27311658, -0.00043944, 0.00026922, 7.27267715, 0.99865762, 0.99929134, 0.49322571],
++												 [	-6.27311673, -0.00043937, 0.00026918, 7.27267736, 0.99865781, 0.99929144, 0.49322569],
++												 [	-6.27311688, -0.00043931, 0.00026914, 7.27267757, 0.99865800, 0.99929155, 0.49322578],
++												 [	-6.27311703, -0.00043925, 0.00026911, 7.27267778, 0.99865819, 0.99929165, 0.49322578],
++												 [	-6.27311718, -0.00043919, 0.00026907, 7.27267799, 0.99865838, 0.99929175, 0.49322584],
++												 [	-6.27311733, -0.00043912, 0.00026903, 7.27267820, 0.99865857, 0.99929185, 0.49322586],
++												 [	-6.27311748, -0.00043906, 0.00026899, 7.27267842, 0.99865876, 0.99929195, 0.49322590],
++												 [	-6.27311763, -0.00043900, 0.00026895, 7.27267863, 0.99865895, 0.99929205, 0.49322588],
++												 [	-6.27311777, -0.00043894, 0.00026892, 7.27267884, 0.99865914, 0.99929215, 0.49322594],
++												 [	-6.27311792, -0.00043887, 0.00026888, 7.27267905, 0.99865933, 0.99929225, 0.49322584],
++												 [	-6.27311807, -0.00043881, 0.00026884, 7.27267926, 0.99865952, 0.99929235, 0.49322593],
++												 [	-6.27311822, -0.00043875, 0.00026880, 7.27267947, 0.99865971, 0.99929245, 0.49322593],
++												 [	-6.27311837, -0.00043869, 0.00026876, 7.27267968, 0.99865990, 0.99929255, 0.49322599],
++												 [	-6.27311852, -0.00043863, 0.00026872, 7.27267989, 0.99866009, 0.99929265, 0.49322601],
++												 [	-6.27311867, -0.00043856, 0.00026869, 7.27268010, 0.99866028, 0.99929275, 0.49322609],
++												 [	-6.27311882, -0.00043850, 0.00026865, 7.27268032, 0.99866047, 0.99929285, 0.49322605],
++												 [	-6.27311897, -0.00043844, 0.00026861, 7.27268053, 0.99866066, 0.99929295, 0.49322609],
++												 [	-6.27311911, -0.00043838, 0.00026857, 7.27268074, 0.99866085, 0.99929305, 0.49322609],
++												 [	-6.27311926, -0.00043832, 0.00026853, 7.27268095, 0.99866104, 0.99929315, 0.49322617],
++												 [	-6.27311941, -0.00043825, 0.00026850, 7.27268116, 0.99866123, 0.99929325, 0.49322622],
++												 [	-6.27311956, -0.00043819, 0.00026846, 7.27268137, 0.99866142, 0.99929335, 0.49322614],
++												 [	-6.27311971, -0.00043813, 0.00026842, 7.27268158, 0.99866161, 0.99929345, 0.49322631],
++												 [	-6.27311986, -0.00043807, 0.00026838, 7.27268179, 0.99866180, 0.99929355, 0.49322620],
++												 [	-6.27312000, -0.00043800, 0.00026834, 7.27268200, 0.99866199, 0.99929365, 0.49322616],
++												 [	-6.27312015, -0.00043794, 0.00026831, 7.27268221, 0.99866217, 0.99929375, 0.49322624],
++												 [	-6.27312030, -0.00043788, 0.00026827, 7.27268242, 0.99866236, 0.99929385, 0.49322623],
++												 [	-6.27312045, -0.00043782, 0.00026823, 7.27268263, 0.99866255, 0.99929395, 0.49322635],
++												 [	-6.27312060, -0.00043776, 0.00026819, 7.27268284, 0.99866274, 0.99929405, 0.49322632],
++												 [	-6.27312075, -0.00043770, 0.00026815, 7.27268305, 0.99866293, 0.99929415, 0.49322635],
++												 [	-6.27312089, -0.00043763, 0.00026812, 7.27268326, 0.99866312, 0.99929425, 0.49322639],
++												 [	-6.27312104, -0.00043757, 0.00026808, 7.27268347, 0.99866331, 0.99929435, 0.49322639],
++												 [	-6.27312119, -0.00043751, 0.00026804, 7.27268368, 0.99866350, 0.99929445, 0.49322638],
++												 [	-6.27312134, -0.00043745, 0.00026800, 7.27268389, 0.99866369, 0.99929455, 0.49322647],
++												 [	-6.27312149, -0.00043739, 0.00026796, 7.27268410, 0.99866388, 0.99929465, 0.49322642],
++												 [	-6.27312163, -0.00043732, 0.00026793, 7.27268431, 0.99866407, 0.99929475, 0.49322644],
++												 [	-6.27312178, -0.00043726, 0.00026789, 7.27268452, 0.99866425, 0.99929485, 0.49322646],
++												 [	-6.27312193, -0.00043720, 0.00026785, 7.27268473, 0.99866444, 0.99929495, 0.49322653],
++												 [	-6.27312208, -0.00043714, 0.00026781, 7.27268494, 0.99866463, 0.99929505, 0.49322663],
++												 [	-6.27312223, -0.00043708, 0.00026778, 7.27268515, 0.99866482, 0.99929515, 0.49322655],
++												 [	-6.27312237, -0.00043702, 0.00026774, 7.27268536, 0.99866501, 0.99929525, 0.49322658],
++												 [	-6.27312252, -0.00043695, 0.00026770, 7.27268557, 0.99866520, 0.99929535, 0.49322660],
++												 [	-6.27312267, -0.00043689, 0.00026766, 7.27268578, 0.99866539, 0.99929545, 0.49322666],
++												 [	-6.27312282, -0.00043683, 0.00026762, 7.27268599, 0.99866557, 0.99929555, 0.49322663],
++												 [	-6.27312296, -0.00043677, 0.00026759, 7.27268619, 0.99866576, 0.99929564, 0.49322672],
++												 [	-6.27312311, -0.00043671, 0.00026755, 7.27268640, 0.99866595, 0.99929574, 0.49322669],
++												 [	-6.27312326, -0.00043665, 0.00026751, 7.27268661, 0.99866614, 0.99929584, 0.49322667],
++												 [	-6.27312341, -0.00043658, 0.00026747, 7.27268682, 0.99866633, 0.99929594, 0.49322665],
++												 [	-6.27312355, -0.00043652, 0.00026744, 7.27268703, 0.99866652, 0.99929604, 0.49322678],
++												 [	-6.27312370, -0.00043646, 0.00026740, 7.27268724, 0.99866670, 0.99929614, 0.49322680],
++												 [	-6.27312385, -0.00043640, 0.00026736, 7.27268745, 0.99866689, 0.99929624, 0.49322677],
++												 [	-6.27312399, -0.00043634, 0.00026732, 7.27268766, 0.99866708, 0.99929634, 0.49322687],
++												 [	-6.27312414, -0.00043628, 0.00026728, 7.27268787, 0.99866727, 0.99929644, 0.49322695],
++												 [	-6.27312429, -0.00043622, 0.00026725, 7.27268807, 0.99866746, 0.99929654, 0.49322684],
++												 [	-6.27312444, -0.00043615, 0.00026721, 7.27268828, 0.99866764, 0.99929664, 0.49322695],
++												 [	-6.27312458, -0.00043609, 0.00026717, 7.27268849, 0.99866783, 0.99929674, 0.49322694],
++												 [	-6.27312473, -0.00043603, 0.00026713, 7.27268870, 0.99866802, 0.99929684, 0.49322694],
++												 [	-6.27312488, -0.00043597, 0.00026710, 7.27268891, 0.99866821, 0.99929693, 0.49322692],
++												 [	-6.27312502, -0.00043591, 0.00026706, 7.27268912, 0.99866839, 0.99929703, 0.49322694],
++												 [	-6.27312517, -0.00043585, 0.00026702, 7.27268932, 0.99866858, 0.99929713, 0.49322699],
++												 [	-6.27312532, -0.00043579, 0.00026698, 7.27268953, 0.99866877, 0.99929723, 0.49322697],
++												 [	-6.27312546, -0.00043572, 0.00026695, 7.27268974, 0.99866896, 0.99929733, 0.49322709],
++												 [	-6.27312561, -0.00043566, 0.00026691, 7.27268995, 0.99866914, 0.99929743, 0.49322698],
++												 [	-6.27312576, -0.00043560, 0.00026687, 7.27269016, 0.99866933, 0.99929753, 0.49322713],
++												 [	-6.27312590, -0.00043554, 0.00026683, 7.27269037, 0.99866952, 0.99929763, 0.49322708],
++												 [	-6.27312605, -0.00043548, 0.00026680, 7.27269057, 0.99866971, 0.99929773, 0.49322723],
++												 [	-6.27312620, -0.00043542, 0.00026676, 7.27269078, 0.99866989, 0.99929782, 0.49322717],
++												 [	-6.27312634, -0.00043536, 0.00026672, 7.27269099, 0.99867008, 0.99929792, 0.49322722],
++												 [	-6.27312649, -0.00043529, 0.00026668, 7.27269120, 0.99867027, 0.99929802, 0.49322714],
++												 [	-6.27312664, -0.00043523, 0.00026665, 7.27269140, 0.99867045, 0.99929812, 0.49322725],
++												 [	-6.27312678, -0.00043517, 0.00026661, 7.27269161, 0.99867064, 0.99929822, 0.49322739],
++												 [	-6.27312693, -0.00043511, 0.00026657, 7.27269182, 0.99867083, 0.99929832, 0.49322721],
++												 [	-6.27312708, -0.00043505, 0.00026653, 7.27269203, 0.99867101, 0.99929842, 0.49322728],
++												 [	-6.27312722, -0.00043499, 0.00026650, 7.27269223, 0.99867120, 0.99929852, 0.49322731],
++												 [	-6.27312737, -0.00043493, 0.00026646, 7.27269244, 0.99867139, 0.99929861, 0.49322735],
++												 [	-6.27312752, -0.00043487, 0.00026642, 7.27269265, 0.99867158, 0.99929871, 0.49322737],
++												 [	-6.27312766, -0.00043481, 0.00026638, 7.27269286, 0.99867176, 0.99929881, 0.49322735],
++												 [	-6.27312781, -0.00043474, 0.00026635, 7.27269306, 0.99867195, 0.99929891, 0.49322744],
++												 [	-6.27312795, -0.00043468, 0.00026631, 7.27269327, 0.99867214, 0.99929901, 0.49322745],
++												 [	-6.27312810, -0.00043462, 0.00026627, 7.27269348, 0.99867232, 0.99929911, 0.49322747],
++												 [	-6.27312825, -0.00043456, 0.00026623, 7.27269368, 0.99867251, 0.99929920, 0.49322750],
++												 [	-6.27312839, -0.00043450, 0.00026620, 7.27269389, 0.99867269, 0.99929930, 0.49322745],
++												 [	-6.27312854, -0.00043444, 0.00026616, 7.27269410, 0.99867288, 0.99929940, 0.49322761],
++												 [	-6.27312868, -0.00043438, 0.00026612, 7.27269431, 0.99867307, 0.99929950, 0.49322746],
++												 [	-6.27312883, -0.00043432, 0.00026608, 7.27269451, 0.99867325, 0.99929960, 0.49322757],
++												 [	-6.27312898, -0.00043426, 0.00026605, 7.27269472, 0.99867344, 0.99929970, 0.49322765],
++												 [	-6.27312912, -0.00043420, 0.00026601, 7.27269493, 0.99867363, 0.99929979, 0.49322763],
++												 [	-6.27312927, -0.00043413, 0.00026597, 7.27269513, 0.99867381, 0.99929989, 0.49322751],
++												 [	-6.27312941, -0.00043407, 0.00026593, 7.27269534, 0.99867400, 0.99929999, 0.49322758],
++												 [	-6.27312956, -0.00043401, 0.00026590, 7.27269555, 0.99867418, 0.99930009, 0.49322771],
++												 [	-6.27312970, -0.00043395, 0.00026586, 7.27269575, 0.99867437, 0.99930019, 0.49322770],
++												 [	-6.27312985, -0.00043389, 0.00026582, 7.27269596, 0.99867456, 0.99930029, 0.49322772],
++												 [	-6.27313000, -0.00043383, 0.00026579, 7.27269616, 0.99867474, 0.99930038, 0.49322775],
++												 [	-6.27313014, -0.00043377, 0.00026575, 7.27269637, 0.99867493, 0.99930048, 0.49322776],
++												 [	-6.27313029, -0.00043371, 0.00026571, 7.27269658, 0.99867511, 0.99930058, 0.49322779],
++												 [	-6.27313043, -0.00043365, 0.00026567, 7.27269678, 0.99867530, 0.99930068, 0.49322775],
++												 [	-6.27313058, -0.00043359, 0.00026564, 7.27269699, 0.99867548, 0.99930078, 0.49322782],
++												 [	-6.27313072, -0.00043353, 0.00026560, 7.27269720, 0.99867567, 0.99930087, 0.49322777],
++												 [	-6.27313087, -0.00043347, 0.00026556, 7.27269740, 0.99867586, 0.99930097, 0.49322785],
++												 [	-6.27313101, -0.00043341, 0.00026552, 7.27269761, 0.99867604, 0.99930107, 0.49322785],
++												 [	-6.27313116, -0.00043335, 0.00026549, 7.27269781, 0.99867623, 0.99930117, 0.49322792],
++												 [	-6.27313130, -0.00043328, 0.00026545, 7.27269802, 0.99867641, 0.99930127, 0.49322802],
++												 [	-6.27313145, -0.00043322, 0.00026541, 7.27269823, 0.99867660, 0.99930136, 0.49322800],
++												 [	-6.27313159, -0.00043316, 0.00026538, 7.27269843, 0.99867678, 0.99930146, 0.49322801],
++												 [	-6.27313174, -0.00043310, 0.00026534, 7.27269864, 0.99867697, 0.99930156, 0.49322793],
++												 [	-6.27313188, -0.00043304, 0.00026530, 7.27269884, 0.99867715, 0.99930166, 0.49322797],
++												 [	-6.27313203, -0.00043298, 0.00026526, 7.27269905, 0.99867734, 0.99930175, 0.49322808],
++												 [	-6.27313217, -0.00043292, 0.00026523, 7.27269925, 0.99867752, 0.99930185, 0.49322805],
++												 [	-6.27313232, -0.00043286, 0.00026519, 7.27269946, 0.99867771, 0.99930195, 0.49322811],
++												 [	-6.27313246, -0.00043280, 0.00026515, 7.27269966, 0.99867789, 0.99930205, 0.49322809],
++												 [	-6.27313261, -0.00043274, 0.00026512, 7.27269987, 0.99867808, 0.99930214, 0.49322806],
++												 [	-6.27313275, -0.00043268, 0.00026508, 7.27270007, 0.99867826, 0.99930224, 0.49322819],
++												 [	-6.27313290, -0.00043262, 0.00026504, 7.27270028, 0.99867845, 0.99930234, 0.49322820],
++												 [	-6.27313304, -0.00043256, 0.00026501, 7.27270049, 0.99867863, 0.99930244, 0.49322821],
++												 [	-6.27313319, -0.00043250, 0.00026497, 7.27270069, 0.99867882, 0.99930253, 0.49322826],
++												 [	-6.27313333, -0.00043244, 0.00026493, 7.27270090, 0.99867900, 0.99930263, 0.49322825],
++												 [	-6.27313348, -0.00043238, 0.00026489, 7.27270110, 0.99867919, 0.99930273, 0.49322828],
++												 [	-6.27313362, -0.00043232, 0.00026486, 7.27270131, 0.99867937, 0.99930283, 0.49322824],
++												 [	-6.27313377, -0.00043226, 0.00026482, 7.27270151, 0.99867955, 0.99930292, 0.49322829],
++												 [	-6.27313391, -0.00043220, 0.00026478, 7.27270171, 0.99867974, 0.99930302, 0.49322833],
++												 [	-6.27313405, -0.00043214, 0.00026475, 7.27270192, 0.99867992, 0.99930312, 0.49322832],
++												 [	-6.27313420, -0.00043207, 0.00026471, 7.27270212, 0.99868011, 0.99930322, 0.49322832],
++												 [	-6.27313434, -0.00043201, 0.00026467, 7.27270233, 0.99868029, 0.99930331, 0.49322841],
++												 [	-6.27313449, -0.00043195, 0.00026464, 7.27270253, 0.99868048, 0.99930341, 0.49322842],
++												 [	-6.27313463, -0.00043189, 0.00026460, 7.27270274, 0.99868066, 0.99930351, 0.49322850],
++												 [	-6.27313478, -0.00043183, 0.00026456, 7.27270294, 0.99868084, 0.99930360, 0.49322849],
++												 [	-6.27313492, -0.00043177, 0.00026452, 7.27270315, 0.99868103, 0.99930370, 0.49322832],
++												 [	-6.27313506, -0.00043171, 0.00026449, 7.27270335, 0.99868121, 0.99930380, 0.49322850],
++												 [	-6.27313521, -0.00043165, 0.00026445, 7.27270356, 0.99868140, 0.99930390, 0.49322849],
++												 [	-6.27313535, -0.00043159, 0.00026441, 7.27270376, 0.99868158, 0.99930399, 0.49322851],
++												 [	-6.27313550, -0.00043153, 0.00026438, 7.27270396, 0.99868176, 0.99930409, 0.49322842],
++												 [	-6.27313564, -0.00043147, 0.00026434, 7.27270417, 0.99868195, 0.99930419, 0.49322856],
++												 [	-6.27313578, -0.00043141, 0.00026430, 7.27270437, 0.99868213, 0.99930428, 0.49322852],
++												 [	-6.27313593, -0.00043135, 0.00026427, 7.27270458, 0.99868232, 0.99930438, 0.49322857],
++												 [	-6.27313607, -0.00043129, 0.00026423, 7.27270478, 0.99868250, 0.99930448, 0.49322857],
++												 [	-6.27313622, -0.00043123, 0.00026419, 7.27270498, 0.99868268, 0.99930458, 0.49322862],
++												 [	-6.27313636, -0.00043117, 0.00026416, 7.27270519, 0.99868287, 0.99930467, 0.49322867],
++												 [	-6.27313650, -0.00043111, 0.00026412, 7.27270539, 0.99868305, 0.99930477, 0.49322876],
++												 [	-6.27313665, -0.00043105, 0.00026408, 7.27270560, 0.99868323, 0.99930487, 0.49322877],
++												 [	-6.27313679, -0.00043099, 0.00026405, 7.27270580, 0.99868342, 0.99930496, 0.49322873],
++												 [	-6.27313693, -0.00043093, 0.00026401, 7.27270600, 0.99868360, 0.99930506, 0.49322870],
++												 [	-6.27313708, -0.00043087, 0.00026397, 7.27270621, 0.99868378, 0.99930516, 0.49322877],
++												 [	-6.27313722, -0.00043081, 0.00026394, 7.27270641, 0.99868397, 0.99930525, 0.49322879],
++												 [	-6.27313737, -0.00043075, 0.00026390, 7.27270661, 0.99868415, 0.99930535, 0.49322891],
++												 [	-6.27313751, -0.00043069, 0.00026386, 7.27270682, 0.99868433, 0.99930545, 0.49322887],
++												 [	-6.27313765, -0.00043063, 0.00026382, 7.27270702, 0.99868452, 0.99930554, 0.49322881],
++												 [	-6.27313780, -0.00043057, 0.00026379, 7.27270722, 0.99868470, 0.99930564, 0.49322892],
++												 [	-6.27313794, -0.00043051, 0.00026375, 7.27270743, 0.99868488, 0.99930574, 0.49322891],
++												 [	-6.27313808, -0.00043045, 0.00026371, 7.27270763, 0.99868507, 0.99930583, 0.49322891],
++												 [	-6.27313823, -0.00043039, 0.00026368, 7.27270783, 0.99868525, 0.99930593, 0.49322893],
++												 [	-6.27313837, -0.00043033, 0.00026364, 7.27270804, 0.99868543, 0.99930603, 0.49322886],
++												 [	-6.27313851, -0.00043027, 0.00026360, 7.27270824, 0.99868561, 0.99930612, 0.49322902],
++												 [	-6.27313865, -0.00043021, 0.00026357, 7.27270844, 0.99868580, 0.99930622, 0.49322900],
++												 [	-6.27313880, -0.00043015, 0.00026353, 7.27270864, 0.99868598, 0.99930632, 0.49322904],
++												 [	-6.27313894, -0.00043009, 0.00026349, 7.27270885, 0.99868616, 0.99930641, 0.49322903],
++												 [	-6.27313908, -0.00043003, 0.00026346, 7.27270905, 0.99868634, 0.99930651, 0.49322900],
++												 [	-6.27313923, -0.00042997, 0.00026342, 7.27270925, 0.99868653, 0.99930660, 0.49322904],
++												 [	-6.27313937, -0.00042991, 0.00026338, 7.27270946, 0.99868671, 0.99930670, 0.49322912],
++												 [	-6.27313951, -0.00042985, 0.00026335, 7.27270966, 0.99868689, 0.99930680, 0.49322917],
++												 [	-6.27313966, -0.00042980, 0.00026331, 7.27270986, 0.99868707, 0.99930689, 0.49322903],
++												 [	-6.27313980, -0.00042974, 0.00026328, 7.27271006, 0.99868726, 0.99930699, 0.49322919],
++												 [	-6.27313994, -0.00042968, 0.00026324, 7.27271027, 0.99868744, 0.99930709, 0.49322915],
++												 [	-6.27314008, -0.00042962, 0.00026320, 7.27271047, 0.99868762, 0.99930718, 0.49322921],
++												 [	-6.27314023, -0.00042956, 0.00026317, 7.27271067, 0.99868780, 0.99930728, 0.49322918],
++												 [	-6.27314037, -0.00042950, 0.00026313, 7.27271087, 0.99868799, 0.99930737, 0.49322930],
++												 [	-6.27314051, -0.00042944, 0.00026309, 7.27271107, 0.99868817, 0.99930747, 0.49322927],
++												 [	-6.27314065, -0.00042938, 0.00026306, 7.27271128, 0.99868835, 0.99930757, 0.49322931],
++												 [	-6.27314080, -0.00042932, 0.00026302, 7.27271148, 0.99868853, 0.99930766, 0.49322934],
++												 [	-6.27314094, -0.00042926, 0.00026298, 7.27271168, 0.99868871, 0.99930776, 0.49322928],
++												 [	-6.27314108, -0.00042920, 0.00026295, 7.27271188, 0.99868890, 0.99930785, 0.49322942],
++												 [	-6.27314122, -0.00042914, 0.00026291, 7.27271208, 0.99868908, 0.99930795, 0.49322942],
++												 [	-6.27314137, -0.00042908, 0.00026287, 7.27271229, 0.99868926, 0.99930805, 0.49322944],
++												 [	-6.27314151, -0.00042902, 0.00026284, 7.27271249, 0.99868944, 0.99930814, 0.49322951],
++												 [	-6.27314165, -0.00042896, 0.00026280, 7.27271269, 0.99868962, 0.99930824, 0.49322944],
++												 [	-6.27314179, -0.00042890, 0.00026276, 7.27271289, 0.99868980, 0.99930833, 0.49322951],
++												 [	-6.27314194, -0.00042884, 0.00026273, 7.27271309, 0.99868999, 0.99930843, 0.49322954],
++												 [	-6.27314208, -0.00042878, 0.00026269, 7.27271329, 0.99869017, 0.99930853, 0.49322961],
++												 [	-6.27314222, -0.00042872, 0.00026265, 7.27271350, 0.99869035, 0.99930862, 0.49322958],
++												 [	-6.27314236, -0.00042866, 0.00026262, 7.27271370, 0.99869053, 0.99930872, 0.49322958],
++												 [	-6.27314250, -0.00042861, 0.00026258, 7.27271390, 0.99869071, 0.99930881, 0.49322960],
++												 [	-6.27314265, -0.00042855, 0.00026255, 7.27271410, 0.99869089, 0.99930891, 0.49322954],
++												 [	-6.27314279, -0.00042849, 0.00026251, 7.27271430, 0.99869107, 0.99930900, 0.49322960],
++												 [	-6.27314293, -0.00042843, 0.00026247, 7.27271450, 0.99869125, 0.99930910, 0.49322964],
++												 [	-6.27314307, -0.00042837, 0.00026244, 7.27271470, 0.99869144, 0.99930920, 0.49322967],
++												 [	-6.27314321, -0.00042831, 0.00026240, 7.27271491, 0.99869162, 0.99930929, 0.49322963],
++												 [	-6.27314336, -0.00042825, 0.00026236, 7.27271511, 0.99869180, 0.99930939, 0.49322972],
++												 [	-6.27314350, -0.00042819, 0.00026233, 7.27271531, 0.99869198, 0.99930948, 0.49322962],
++												 [	-6.27314364, -0.00042813, 0.00026229, 7.27271551, 0.99869216, 0.99930958, 0.49322977],
++												 [	-6.27314378, -0.00042807, 0.00026226, 7.27271571, 0.99869234, 0.99930967, 0.49322982],
++												 [	-6.27314392, -0.00042801, 0.00026222, 7.27271591, 0.99869252, 0.99930977, 0.49322974],
++												 [	-6.27314406, -0.00042795, 0.00026218, 7.27271611, 0.99869270, 0.99930986, 0.49322983],
++												 [	-6.27314421, -0.00042789, 0.00026215, 7.27271631, 0.99869288, 0.99930996, 0.49322981],
++												 [	-6.27314435, -0.00042783, 0.00026211, 7.27271651, 0.99869306, 0.99931005, 0.49322987],
++												 [	-6.27314449, -0.00042778, 0.00026207, 7.27271671, 0.99869325, 0.99931015, 0.49322991],
++												 [	-6.27314463, -0.00042772, 0.00026204, 7.27271691, 0.99869343, 0.99931025, 0.49322985],
++												 [	-6.27314477, -0.00042766, 0.00026200, 7.27271711, 0.99869361, 0.99931034, 0.49322989],
++												 [	-6.27314491, -0.00042760, 0.00026197, 7.27271731, 0.99869379, 0.99931044, 0.49322995],
++												 [	-6.27314505, -0.00042754, 0.00026193, 7.27271752, 0.99869397, 0.99931053, 0.49322998],
++												 [	-6.27314520, -0.00042748, 0.00026189, 7.27271772, 0.99869415, 0.99931063, 0.49322992],
++												 [	-6.27314534, -0.00042742, 0.00026186, 7.27271792, 0.99869433, 0.99931072, 0.49322999],
++												 [	-6.27314548, -0.00042736, 0.00026182, 7.27271812, 0.99869451, 0.99931082, 0.49323014],
++												 [	-6.27314562, -0.00042730, 0.00026178, 7.27271832, 0.99869469, 0.99931091, 0.49323001],
++												 [	-6.27314576, -0.00042724, 0.00026175, 7.27271852, 0.99869487, 0.99931101, 0.49323007],
++												 [	-6.27314590, -0.00042719, 0.00026171, 7.27271872, 0.99869505, 0.99931110, 0.49323010],
++												 [	-6.27314604, -0.00042713, 0.00026168, 7.27271892, 0.99869523, 0.99931120, 0.49323018],
++												 [	-6.27314618, -0.00042707, 0.00026164, 7.27271912, 0.99869541, 0.99931129, 0.49323018],
++												 [	-6.27314633, -0.00042701, 0.00026160, 7.27271932, 0.99869559, 0.99931139, 0.49323016],
++												 [	-6.27314647, -0.00042695, 0.00026157, 7.27271952, 0.99869577, 0.99931148, 0.49323007],
++												 [	-6.27314661, -0.00042689, 0.00026153, 7.27271972, 0.99869595, 0.99931158, 0.49323022],
++												 [	-6.27314675, -0.00042683, 0.00026150, 7.27271992, 0.99869613, 0.99931167, 0.49323025],
++												 [	-6.27314689, -0.00042677, 0.00026146, 7.27272012, 0.99869631, 0.99931177, 0.49323030],
++												 [	-6.27314703, -0.00042671, 0.00026142, 7.27272032, 0.99869649, 0.99931186, 0.49323027],
++												 [	-6.27314717, -0.00042666, 0.00026139, 7.27272051, 0.99869667, 0.99931196, 0.49323031],
++												 [	-6.27314731, -0.00042660, 0.00026135, 7.27272071, 0.99869685, 0.99931205, 0.49323029],
++												 [	-6.27314745, -0.00042654, 0.00026132, 7.27272091, 0.99869703, 0.99931215, 0.49323033],
++												 [	-6.27314759, -0.00042648, 0.00026128, 7.27272111, 0.99869721, 0.99931224, 0.49323043],
++												 [	-6.27314773, -0.00042642, 0.00026124, 7.27272131, 0.99869739, 0.99931234, 0.49323035],
++												 [	-6.27314787, -0.00042636, 0.00026121, 7.27272151, 0.99869757, 0.99931243, 0.49323032],
++												 [	-6.27314801, -0.00042630, 0.00026117, 7.27272171, 0.99869775, 0.99931253, 0.49323043],
++												 [	-6.27314815, -0.00042624, 0.00026114, 7.27272191, 0.99869792, 0.99931262, 0.49323038],
++												 [	-6.27314830, -0.00042619, 0.00026110, 7.27272211, 0.99869810, 0.99931272, 0.49323055],
++												 [	-6.27314844, -0.00042613, 0.00026106, 7.27272231, 0.99869828, 0.99931281, 0.49323047],
++												 [	-6.27314858, -0.00042607, 0.00026103, 7.27272251, 0.99869846, 0.99931290, 0.49323039],
++												 [	-6.27314872, -0.00042601, 0.00026099, 7.27272271, 0.99869864, 0.99931300, 0.49323039],
++												 [	-6.27314886, -0.00042595, 0.00026096, 7.27272291, 0.99869882, 0.99931309, 0.49323057],
++												 [	-6.27314900, -0.00042589, 0.00026092, 7.27272310, 0.99869900, 0.99931319, 0.49323051],
++												 [	-6.27314914, -0.00042583, 0.00026088, 7.27272330, 0.99869918, 0.99931328, 0.49323056],
++												 [	-6.27314928, -0.00042578, 0.00026085, 7.27272350, 0.99869936, 0.99931338, 0.49323064],
++												 [	-6.27314942, -0.00042572, 0.00026081, 7.27272370, 0.99869954, 0.99931347, 0.49323065],
++												 [	-6.27314956, -0.00042566, 0.00026078, 7.27272390, 0.99869972, 0.99931357, 0.49323065],
++												 [	-6.27314970, -0.00042560, 0.00026074, 7.27272410, 0.99869989, 0.99931366, 0.49323070],
++												 [	-6.27314984, -0.00042554, 0.00026070, 7.27272430, 0.99870007, 0.99931375, 0.49323062],
++												 [	-6.27314998, -0.00042548, 0.00026067, 7.27272450, 0.99870025, 0.99931385, 0.49323063],
++												 [	-6.27315012, -0.00042542, 0.00026063, 7.27272469, 0.99870043, 0.99931394, 0.49323075],
++												 [	-6.27315026, -0.00042537, 0.00026060, 7.27272489, 0.99870061, 0.99931404, 0.49323074],
++												 [	-6.27315040, -0.00042531, 0.00026056, 7.27272509, 0.99870079, 0.99931413, 0.49323081],
++												 [	-6.27315054, -0.00042525, 0.00026052, 7.27272529, 0.99870097, 0.99931423, 0.49323082],
++												 [	-6.27315068, -0.00042519, 0.00026049, 7.27272549, 0.99870115, 0.99931432, 0.49323079],
++												 [	-6.27315082, -0.00042513, 0.00026045, 7.27272569, 0.99870132, 0.99931441, 0.49323072],
++												 [	-6.27315096, -0.00042507, 0.00026042, 7.27272588, 0.99870150, 0.99931451, 0.49323088],
++												 [	-6.27315110, -0.00042502, 0.00026038, 7.27272608, 0.99870168, 0.99931460, 0.49323096],
++												 [	-6.27315124, -0.00042496, 0.00026035, 7.27272628, 0.99870186, 0.99931470, 0.49323088],
++												 [	-6.27315138, -0.00042490, 0.00026031, 7.27272648, 0.99870204, 0.99931479, 0.49323085],
++												 [	-6.27315152, -0.00042484, 0.00026027, 7.27272668, 0.99870222, 0.99931489, 0.49323089],
++												 [	-6.27315165, -0.00042478, 0.00026024, 7.27272687, 0.99870239, 0.99931498, 0.49323085],
++												 [	-6.27315179, -0.00042472, 0.00026020, 7.27272707, 0.99870257, 0.99931507, 0.49323101],
++												 [	-6.27315193, -0.00042467, 0.00026017, 7.27272727, 0.99870275, 0.99931517, 0.49323094],
++												 [	-6.27315207, -0.00042461, 0.00026013, 7.27272747, 0.99870293, 0.99931526, 0.49323104],
++												 [	-6.27315221, -0.00042455, 0.00026010, 7.27272766, 0.99870311, 0.99931535, 0.49323100],
++												 [	-6.27315235, -0.00042449, 0.00026006, 7.27272786, 0.99870328, 0.99931545, 0.49323105],
++												 [	-6.27315249, -0.00042443, 0.00026002, 7.27272806, 0.99870346, 0.99931554, 0.49323112],
++												 [	-6.27315263, -0.00042437, 0.00025999, 7.27272826, 0.99870364, 0.99931564, 0.49323100],
++												 [	-6.27315277, -0.00042432, 0.00025995, 7.27272845, 0.99870382, 0.99931573, 0.49323104],
++												 [	-6.27315291, -0.00042426, 0.00025992, 7.27272865, 0.99870399, 0.99931582, 0.49323113],
++												 [	-6.27315305, -0.00042420, 0.00025988, 7.27272885, 0.99870417, 0.99931592, 0.49323100],
++												 [	-6.27315319, -0.00042414, 0.00025985, 7.27272905, 0.99870435, 0.99931601, 0.49323118],
++												 [	-6.27315333, -0.00042408, 0.00025981, 7.27272924, 0.99870453, 0.99931611, 0.49323122],
++												 [	-6.27315347, -0.00042403, 0.00025978, 7.27272944, 0.99870470, 0.99931620, 0.49323123],
++												 [	-6.27315360, -0.00042397, 0.00025974, 7.27272964, 0.99870488, 0.99931629, 0.49323124],
++												 [	-6.27315374, -0.00042391, 0.00025970, 7.27272983, 0.99870506, 0.99931639, 0.49323127],
++												 [	-6.27315388, -0.00042385, 0.00025967, 7.27273003, 0.99870524, 0.99931648, 0.49323133],
++												 [	-6.27315402, -0.00042379, 0.00025963, 7.27273023, 0.99870541, 0.99931657, 0.49323140],
++												 [	-6.27315416, -0.00042374, 0.00025960, 7.27273042, 0.99870559, 0.99931667, 0.49323133],
++												 [	-6.27315430, -0.00042368, 0.00025956, 7.27273062, 0.99870577, 0.99931676, 0.49323138],
++												 [	-6.27315444, -0.00042362, 0.00025953, 7.27273082, 0.99870595, 0.99931685, 0.49323140],
++												 [	-6.27315458, -0.00042356, 0.00025949, 7.27273101, 0.99870612, 0.99931695, 0.49323145],
++												 [	-6.27315472, -0.00042350, 0.00025946, 7.27273121, 0.99870630, 0.99931704, 0.49323139],
++												 [	-6.27315485, -0.00042345, 0.00025942, 7.27273141, 0.99870648, 0.99931713, 0.49323136],
++												 [	-6.27315499, -0.00042339, 0.00025938, 7.27273160, 0.99870665, 0.99931723, 0.49323144],
++												 [	-6.27315513, -0.00042333, 0.00025935, 7.27273180, 0.99870683, 0.99931732, 0.49323141],
++												 [	-6.27315527, -0.00042327, 0.00025931, 7.27273200, 0.99870701, 0.99931741, 0.49323140],
++												 [	-6.27315541, -0.00042321, 0.00025928, 7.27273219, 0.99870719, 0.99931751, 0.49323155],
++												 [	-6.27315555, -0.00042316, 0.00025924, 7.27273239, 0.99870736, 0.99931760, 0.49323157],
++												 [	-6.27315569, -0.00042310, 0.00025921, 7.27273259, 0.99870754, 0.99931769, 0.49323161],
++												 [	-6.27315582, -0.00042304, 0.00025917, 7.27273278, 0.99870772, 0.99931779, 0.49323157],
++												 [	-6.27315596, -0.00042298, 0.00025914, 7.27273298, 0.99870789, 0.99931788, 0.49323162],
++												 [	-6.27315610, -0.00042292, 0.00025910, 7.27273318, 0.99870807, 0.99931797, 0.49323164],
++												 [	-6.27315624, -0.00042287, 0.00025907, 7.27273337, 0.99870825, 0.99931807, 0.49323172],
++												 [	-6.27315638, -0.00042281, 0.00025903, 7.27273357, 0.99870842, 0.99931816, 0.49323163],
++												 [	-6.27315652, -0.00042275, 0.00025899, 7.27273376, 0.99870860, 0.99931825, 0.49323158],
++												 [	-6.27315665, -0.00042269, 0.00025896, 7.27273396, 0.99870877, 0.99931835, 0.49323168],
++												 [	-6.27315679, -0.00042264, 0.00025892, 7.27273416, 0.99870895, 0.99931844, 0.49323175],
++												 [	-6.27315693, -0.00042258, 0.00025889, 7.27273435, 0.99870913, 0.99931853, 0.49323172],
++												 [	-6.27315707, -0.00042252, 0.00025885, 7.27273455, 0.99870930, 0.99931863, 0.49323175],
++												 [	-6.27315721, -0.00042246, 0.00025882, 7.27273474, 0.99870948, 0.99931872, 0.49323179],
++												 [	-6.27315734, -0.00042241, 0.00025878, 7.27273494, 0.99870966, 0.99931881, 0.49323178],
++												 [	-6.27315748, -0.00042235, 0.00025875, 7.27273513, 0.99870983, 0.99931891, 0.49323183],
++												 [	-6.27315762, -0.00042229, 0.00025871, 7.27273533, 0.99871001, 0.99931900, 0.49323180],
++												 [	-6.27315776, -0.00042223, 0.00025868, 7.27273552, 0.99871018, 0.99931909, 0.49323181],
++												 [	-6.27315790, -0.00042218, 0.00025864, 7.27273572, 0.99871036, 0.99931918, 0.49323188],
++												 [	-6.27315803, -0.00042212, 0.00025861, 7.27273592, 0.99871054, 0.99931928, 0.49323197],
++												 [	-6.27315817, -0.00042206, 0.00025857, 7.27273611, 0.99871071, 0.99931937, 0.49323190],
++												 [	-6.27315831, -0.00042200, 0.00025854, 7.27273631, 0.99871089, 0.99931946, 0.49323185],
++												 [	-6.27315845, -0.00042194, 0.00025850, 7.27273650, 0.99871106, 0.99931956, 0.49323199],
++												 [	-6.27315858, -0.00042189, 0.00025846, 7.27273670, 0.99871124, 0.99931965, 0.49323204],
++												 [	-6.27315872, -0.00042183, 0.00025843, 7.27273689, 0.99871141, 0.99931974, 0.49323191],
++												 [	-6.27315886, -0.00042177, 0.00025839, 7.27273709, 0.99871159, 0.99931983, 0.49323202],
++												 [	-6.27315900, -0.00042171, 0.00025836, 7.27273728, 0.99871177, 0.99931993, 0.49323199],
++												 [	-6.27315913, -0.00042166, 0.00025832, 7.27273748, 0.99871194, 0.99932002, 0.49323200],
++												 [	-6.27315927, -0.00042160, 0.00025829, 7.27273767, 0.99871212, 0.99932011, 0.49323212],
++												 [	-6.27315941, -0.00042154, 0.00025825, 7.27273787, 0.99871229, 0.99932020, 0.49323215],
++												 [	-6.27315955, -0.00042149, 0.00025822, 7.27273806, 0.99871247, 0.99932030, 0.49323211],
++												 [	-6.27315968, -0.00042143, 0.00025818, 7.27273826, 0.99871264, 0.99932039, 0.49323217],
++												 [	-6.27315982, -0.00042137, 0.00025815, 7.27273845, 0.99871282, 0.99932048, 0.49323219],
++												 [	-6.27315996, -0.00042131, 0.00025811, 7.27273864, 0.99871299, 0.99932057, 0.49323223],
++												 [	-6.27316010, -0.00042126, 0.00025808, 7.27273884, 0.99871317, 0.99932067, 0.49323224],
++												 [	-6.27316023, -0.00042120, 0.00025804, 7.27273903, 0.99871334, 0.99932076, 0.49323221],
++												 [	-6.27316037, -0.00042114, 0.00025801, 7.27273923, 0.99871352, 0.99932085, 0.49323224],
++												 [	-6.27316051, -0.00042108, 0.00025797, 7.27273942, 0.99871369, 0.99932094, 0.49323220],
++												 [	-6.27316064, -0.00042103, 0.00025794, 7.27273962, 0.99871387, 0.99932104, 0.49323229],
++												 [	-6.27316078, -0.00042097, 0.00025790, 7.27273981, 0.99871404, 0.99932113, 0.49323228],
++												 [	-6.27316092, -0.00042091, 0.00025787, 7.27274001, 0.99871422, 0.99932122, 0.49323228],
++												 [	-6.27316105, -0.00042085, 0.00025783, 7.27274020, 0.99871439, 0.99932131, 0.49323234],
++												 [	-6.27316119, -0.00042080, 0.00025780, 7.27274039, 0.99871457, 0.99932141, 0.49323243],
++												 [	-6.27316133, -0.00042074, 0.00025776, 7.27274059, 0.99871474, 0.99932150, 0.49323241],
++												 [	-6.27316147, -0.00042068, 0.00025773, 7.27274078, 0.99871492, 0.99932159, 0.49323242],
++												 [	-6.27316160, -0.00042063, 0.00025769, 7.27274098, 0.99871509, 0.99932168, 0.49323234],
++												 [	-6.27316174, -0.00042057, 0.00025766, 7.27274117, 0.99871527, 0.99932177, 0.49323243],
++												 [	-6.27316188, -0.00042051, 0.00025762, 7.27274136, 0.99871544, 0.99932187, 0.49323249],
++												 [	-6.27316201, -0.00042045, 0.00025759, 7.27274156, 0.99871562, 0.99932196, 0.49323249],
++												 [	-6.27316215, -0.00042040, 0.00025755, 7.27274175, 0.99871579, 0.99932205, 0.49323255],
++												 [	-6.27316229, -0.00042034, 0.00025752, 7.27274195, 0.99871597, 0.99932214, 0.49323261],
++												 [	-6.27316242, -0.00042028, 0.00025748, 7.27274214, 0.99871614, 0.99932223, 0.49323266],
++												 [	-6.27316256, -0.00042023, 0.00025745, 7.27274233, 0.99871631, 0.99932233, 0.49323261],
++												 [	-6.27316270, -0.00042017, 0.00025741, 7.27274253, 0.99871649, 0.99932242, 0.49323265],
++												 [	-6.27316283, -0.00042011, 0.00025738, 7.27274272, 0.99871666, 0.99932251, 0.49323261],
++												 [	-6.27316297, -0.00042006, 0.00025734, 7.27274291, 0.99871684, 0.99932260, 0.49323268],
++												 [	-6.27316311, -0.00042000, 0.00025731, 7.27274311, 0.99871701, 0.99932269, 0.49323261],
++												 [	-6.27316324, -0.00041994, 0.00025727, 7.27274330, 0.99871719, 0.99932279, 0.49323277],
++												 [	-6.27316338, -0.00041988, 0.00025724, 7.27274349, 0.99871736, 0.99932288, 0.49323278],
++												 [	-6.27316351, -0.00041983, 0.00025720, 7.27274369, 0.99871753, 0.99932297, 0.49323270],
++												 [	-6.27316365, -0.00041977, 0.00025717, 7.27274388, 0.99871771, 0.99932306, 0.49323262],
++												 [	-6.27316379, -0.00041971, 0.00025713, 7.27274407, 0.99871788, 0.99932315, 0.49323267],
++												 [	-6.27316392, -0.00041966, 0.00025710, 7.27274427, 0.99871806, 0.99932325, 0.49323282],
++												 [	-6.27316406, -0.00041960, 0.00025706, 7.27274446, 0.99871823, 0.99932334, 0.49323274],
++												 [	-6.27316420, -0.00041954, 0.00025703, 7.27274465, 0.99871840, 0.99932343, 0.49323276],
++												 [	-6.27316433, -0.00041949, 0.00025699, 7.27274485, 0.99871858, 0.99932352, 0.49323279],
++												 [	-6.27316447, -0.00041943, 0.00025696, 7.27274504, 0.99871875, 0.99932361, 0.49323285],
++												 [	-6.27316460, -0.00041937, 0.00025692, 7.27274523, 0.99871892, 0.99932370, 0.49323286],
++												 [	-6.27316474, -0.00041932, 0.00025689, 7.27274542, 0.99871910, 0.99932380, 0.49323296],
++												 [	-6.27316488, -0.00041926, 0.00025685, 7.27274562, 0.99871927, 0.99932389, 0.49323294],
++												 [	-6.27316501, -0.00041920, 0.00025682, 7.27274581, 0.99871944, 0.99932398, 0.49323292],
++												 [	-6.27316515, -0.00041915, 0.00025678, 7.27274600, 0.99871962, 0.99932407, 0.49323285],
++												 [	-6.27316528, -0.00041909, 0.00025675, 7.27274619, 0.99871979, 0.99932416, 0.49323292],
++												 [	-6.27316542, -0.00041903, 0.00025671, 7.27274639, 0.99871996, 0.99932425, 0.49323303],
++												 [	-6.27316555, -0.00041898, 0.00025668, 7.27274658, 0.99872014, 0.99932435, 0.49323312],
++												 [	-6.27316569, -0.00041892, 0.00025664, 7.27274677, 0.99872031, 0.99932444, 0.49323326],
++												 [	-6.27316583, -0.00041886, 0.00025661, 7.27274696, 0.99872048, 0.99932453, 0.49323308],
++												 [	-6.27316596, -0.00041881, 0.00025658, 7.27274716, 0.99872066, 0.99932462, 0.49323307],
++												 [	-6.27316610, -0.00041875, 0.00025654, 7.27274735, 0.99872083, 0.99932471, 0.49323314],
++												 [	-6.27316623, -0.00041869, 0.00025651, 7.27274754, 0.99872100, 0.99932480, 0.49323312],
++												 [	-6.27316637, -0.00041864, 0.00025647, 7.27274773, 0.99872118, 0.99932489, 0.49323320],
++												 [	-6.27316650, -0.00041858, 0.00025644, 7.27274793, 0.99872135, 0.99932498, 0.49323311],
++												 [	-6.27316664, -0.00041852, 0.00025640, 7.27274812, 0.99872152, 0.99932508, 0.49323311],
++												 [	-6.27316677, -0.00041847, 0.00025637, 7.27274831, 0.99872170, 0.99932517, 0.49323317],
++												 [	-6.27316691, -0.00041841, 0.00025633, 7.27274850, 0.99872187, 0.99932526, 0.49323323],
++												 [	-6.27316705, -0.00041835, 0.00025630, 7.27274869, 0.99872204, 0.99932535, 0.49323325],
++												 [	-6.27316718, -0.00041830, 0.00025626, 7.27274888, 0.99872221, 0.99932544, 0.49323334],
++												 [	-6.27316732, -0.00041824, 0.00025623, 7.27274908, 0.99872239, 0.99932553, 0.49323332],
++												 [	-6.27316745, -0.00041818, 0.00025619, 7.27274927, 0.99872256, 0.99932562, 0.49323331],
++												 [	-6.27316759, -0.00041813, 0.00025616, 7.27274946, 0.99872273, 0.99932571, 0.49323331],
++												 [	-6.27316772, -0.00041807, 0.00025612, 7.27274965, 0.99872290, 0.99932581, 0.49323346],
++												 [	-6.27316786, -0.00041801, 0.00025609, 7.27274984, 0.99872308, 0.99932590, 0.49323331],
++												 [	-6.27316799, -0.00041796, 0.00025606, 7.27275003, 0.99872325, 0.99932599, 0.49323339],
++												 [	-6.27316813, -0.00041790, 0.00025602, 7.27275023, 0.99872342, 0.99932608, 0.49323343],
++												 [	-6.27316826, -0.00041784, 0.00025599, 7.27275042, 0.99872359, 0.99932617, 0.49323337],
++												 [	-6.27316840, -0.00041779, 0.00025595, 7.27275061, 0.99872377, 0.99932626, 0.49323342],
++												 [	-6.27316853, -0.00041773, 0.00025592, 7.27275080, 0.99872394, 0.99932635, 0.49323347],
++												 [	-6.27316867, -0.00041768, 0.00025588, 7.27275099, 0.99872411, 0.99932644, 0.49323353],
++												 [	-6.27316880, -0.00041762, 0.00025585, 7.27275118, 0.99872428, 0.99932653, 0.49323349],
++												 [	-6.27316894, -0.00041756, 0.00025581, 7.27275137, 0.99872446, 0.99932662, 0.49323358],
++												 [	-6.27316907, -0.00041751, 0.00025578, 7.27275157, 0.99872463, 0.99932671, 0.49323354],
++												 [	-6.27316921, -0.00041745, 0.00025574, 7.27275176, 0.99872480, 0.99932681, 0.49323350],
++												 [	-6.27316934, -0.00041739, 0.00025571, 7.27275195, 0.99872497, 0.99932690, 0.49323356],
++												 [	-6.27316948, -0.00041734, 0.00025568, 7.27275214, 0.99872514, 0.99932699, 0.49323355],
++												 [	-6.27316961, -0.00041728, 0.00025564, 7.27275233, 0.99872532, 0.99932708, 0.49323359],
++												 [	-6.27316974, -0.00041722, 0.00025561, 7.27275252, 0.99872549, 0.99932717, 0.49323360],
++												 [	-6.27316988, -0.00041717, 0.00025557, 7.27275271, 0.99872566, 0.99932726, 0.49323362],
++												 [	-6.27317001, -0.00041711, 0.00025554, 7.27275290, 0.99872583, 0.99932735, 0.49323369],
++												 [	-6.27317015, -0.00041706, 0.00025550, 7.27275309, 0.99872600, 0.99932744, 0.49323369],
++												 [	-6.27317028, -0.00041700, 0.00025547, 7.27275328, 0.99872617, 0.99932753, 0.49323368],
++												 [	-6.27317042, -0.00041694, 0.00025543, 7.27275347, 0.99872635, 0.99932762, 0.49323375],
++												 [	-6.27317055, -0.00041689, 0.00025540, 7.27275366, 0.99872652, 0.99932771, 0.49323378],
++												 [	-6.27317069, -0.00041683, 0.00025537, 7.27275385, 0.99872669, 0.99932780, 0.49323373],
++												 [	-6.27317082, -0.00041678, 0.00025533, 7.27275405, 0.99872686, 0.99932789, 0.49323370],
++												 [	-6.27317095, -0.00041672, 0.00025530, 7.27275424, 0.99872703, 0.99932798, 0.49323379],
++												 [	-6.27317109, -0.00041666, 0.00025526, 7.27275443, 0.99872720, 0.99932807, 0.49323375],
++												 [	-6.27317122, -0.00041661, 0.00025523, 7.27275462, 0.99872738, 0.99932816, 0.49323392],
++												 [	-6.27317136, -0.00041655, 0.00025519, 7.27275481, 0.99872755, 0.99932826, 0.49323391],
++												 [	-6.27317149, -0.00041649, 0.00025516, 7.27275500, 0.99872772, 0.99932835, 0.49323391],
++												 [	-6.27317163, -0.00041644, 0.00025512, 7.27275519, 0.99872789, 0.99932844, 0.49323388],
++												 [	-6.27317176, -0.00041638, 0.00025509, 7.27275538, 0.99872806, 0.99932853, 0.49323395],
++												 [	-6.27317189, -0.00041633, 0.00025506, 7.27275557, 0.99872823, 0.99932862, 0.49323385],
++												 [	-6.27317203, -0.00041627, 0.00025502, 7.27275576, 0.99872840, 0.99932871, 0.49323392],
++												 [	-6.27317216, -0.00041621, 0.00025499, 7.27275595, 0.99872857, 0.99932880, 0.49323402],
++												 [	-6.27317230, -0.00041616, 0.00025495, 7.27275614, 0.99872874, 0.99932889, 0.49323405],
++												 [	-6.27317243, -0.00041610, 0.00025492, 7.27275633, 0.99872892, 0.99932898, 0.49323405],
++												 [	-6.27317256, -0.00041605, 0.00025488, 7.27275652, 0.99872909, 0.99932907, 0.49323408],
++												 [	-6.27317270, -0.00041599, 0.00025485, 7.27275671, 0.99872926, 0.99932916, 0.49323410],
++												 [	-6.27317283, -0.00041594, 0.00025482, 7.27275690, 0.99872943, 0.99932925, 0.49323410],
++												 [	-6.27317297, -0.00041588, 0.00025478, 7.27275709, 0.99872960, 0.99932934, 0.49323416],
++												 [	-6.27317310, -0.00041582, 0.00025475, 7.27275728, 0.99872977, 0.99932943, 0.49323413],
++												 [	-6.27317323, -0.00041577, 0.00025471, 7.27275746, 0.99872994, 0.99932952, 0.49323409],
++												 [	-6.27317337, -0.00041571, 0.00025468, 7.27275765, 0.99873011, 0.99932961, 0.49323425],
++												 [	-6.27317350, -0.00041566, 0.00025465, 7.27275784, 0.99873028, 0.99932970, 0.49323426],
++												 [	-6.27317363, -0.00041560, 0.00025461, 7.27275803, 0.99873045, 0.99932979, 0.49323421],
++												 [	-6.27317377, -0.00041554, 0.00025458, 7.27275822, 0.99873062, 0.99932988, 0.49323430],
++												 [	-6.27317390, -0.00041549, 0.00025454, 7.27275841, 0.99873079, 0.99932997, 0.49323422],
++												 [	-6.27317403, -0.00041543, 0.00025451, 7.27275860, 0.99873096, 0.99933006, 0.49323429],
++												 [	-6.27317417, -0.00041538, 0.00025447, 7.27275879, 0.99873113, 0.99933015, 0.49323420],
++												 [	-6.27317430, -0.00041532, 0.00025444, 7.27275898, 0.99873130, 0.99933024, 0.49323427],
++												 [	-6.27317443, -0.00041527, 0.00025441, 7.27275917, 0.99873147, 0.99933033, 0.49323431],
++												 [	-6.27317457, -0.00041521, 0.00025437, 7.27275936, 0.99873164, 0.99933042, 0.49323443],
++												 [	-6.27317470, -0.00041515, 0.00025434, 7.27275955, 0.99873181, 0.99933051, 0.49323428],
++												 [	-6.27317483, -0.00041510, 0.00025430, 7.27275974, 0.99873198, 0.99933060, 0.49323443],
++												 [	-6.27317497, -0.00041504, 0.00025427, 7.27275992, 0.99873215, 0.99933069, 0.49323437],
++												 [	-6.27317510, -0.00041499, 0.00025424, 7.27276011, 0.99873232, 0.99933078, 0.49323454],
++												 [	-6.27317523, -0.00041493, 0.00025420, 7.27276030, 0.99873249, 0.99933087, 0.49323446],
++												 [	-6.27317537, -0.00041488, 0.00025417, 7.27276049, 0.99873266, 0.99933096, 0.49323436],
++												 [	-6.27317550, -0.00041482, 0.00025413, 7.27276068, 0.99873283, 0.99933105, 0.49323455],
++												 [	-6.27317563, -0.00041476, 0.00025410, 7.27276087, 0.99873300, 0.99933114, 0.49323443],
++												 [	-6.27317577, -0.00041471, 0.00025406, 7.27276106, 0.99873317, 0.99933123, 0.49323444],
++												 [	-6.27317590, -0.00041465, 0.00025403, 7.27276124, 0.99873334, 0.99933132, 0.49323452],
++												 [	-6.27317603, -0.00041460, 0.00025400, 7.27276143, 0.99873351, 0.99933140, 0.49323465],
++												 [	-6.27317616, -0.00041454, 0.00025396, 7.27276162, 0.99873368, 0.99933149, 0.49323452],
++												 [	-6.27317630, -0.00041449, 0.00025393, 7.27276181, 0.99873385, 0.99933158, 0.49323459],
++												 [	-6.27317643, -0.00041443, 0.00025389, 7.27276200, 0.99873402, 0.99933167, 0.49323462],
++												 [	-6.27317656, -0.00041438, 0.00025386, 7.27276219, 0.99873419, 0.99933176, 0.49323457],
++												 [	-6.27317670, -0.00041432, 0.00025383, 7.27276237, 0.99873436, 0.99933185, 0.49323468],
++												 [	-6.27317683, -0.00041427, 0.00025379, 7.27276256, 0.99873453, 0.99933194, 0.49323479],
++												 [	-6.27317696, -0.00041421, 0.00025376, 7.27276275, 0.99873470, 0.99933203, 0.49323481],
++												 [	-6.27317709, -0.00041415, 0.00025372, 7.27276294, 0.99873487, 0.99933212, 0.49323465],
++												 [	-6.27317723, -0.00041410, 0.00025369, 7.27276313, 0.99873504, 0.99933221, 0.49323467],
++												 [	-6.27317736, -0.00041404, 0.00025366, 7.27276332, 0.99873521, 0.99933230, 0.49323474],
++												 [	-6.27317749, -0.00041399, 0.00025362, 7.27276350, 0.99873538, 0.99933239, 0.49323475],
++												 [	-6.27317762, -0.00041393, 0.00025359, 7.27276369, 0.99873555, 0.99933248, 0.49323489],
++												 [	-6.27317776, -0.00041388, 0.00025355, 7.27276388, 0.99873572, 0.99933257, 0.49323478],
++												 [	-6.27317789, -0.00041382, 0.00025352, 7.27276407, 0.99873588, 0.99933266, 0.49323490],
++												 [	-6.27317802, -0.00041377, 0.00025349, 7.27276425, 0.99873605, 0.99933275, 0.49323500],
++												 [	-6.27317815, -0.00041371, 0.00025345, 7.27276444, 0.99873622, 0.99933283, 0.49323486],
++												 [	-6.27317829, -0.00041366, 0.00025342, 7.27276463, 0.99873639, 0.99933292, 0.49323491],
++												 [	-6.27317842, -0.00041360, 0.00025339, 7.27276482, 0.99873656, 0.99933301, 0.49323473],
++												 [	-6.27317855, -0.00041355, 0.00025335, 7.27276500, 0.99873673, 0.99933310, 0.49323495],
++												 [	-6.27317868, -0.00041349, 0.00025332, 7.27276519, 0.99873690, 0.99933319, 0.49323495],
++												 [	-6.27317882, -0.00041344, 0.00025328, 7.27276538, 0.99873707, 0.99933328, 0.49323487],
++												 [	-6.27317895, -0.00041338, 0.00025325, 7.27276557, 0.99873724, 0.99933337, 0.49323500],
++												 [	-6.27317908, -0.00041333, 0.00025322, 7.27276575, 0.99873740, 0.99933346, 0.49323493],
++												 [	-6.27317921, -0.00041327, 0.00025318, 7.27276594, 0.99873757, 0.99933355, 0.49323497],
++												 [	-6.27317934, -0.00041321, 0.00025315, 7.27276613, 0.99873774, 0.99933364, 0.49323507],
++												 [	-6.27317948, -0.00041316, 0.00025311, 7.27276632, 0.99873791, 0.99933373, 0.49323512],
++												 [	-6.27317961, -0.00041310, 0.00025308, 7.27276650, 0.99873808, 0.99933381, 0.49323500],
++												 [	-6.27317974, -0.00041305, 0.00025305, 7.27276669, 0.99873825, 0.99933390, 0.49323510],
++												 [	-6.27317987, -0.00041299, 0.00025301, 7.27276688, 0.99873842, 0.99933399, 0.49323520],
++												 [	-6.27318000, -0.00041294, 0.00025298, 7.27276706, 0.99873858, 0.99933408, 0.49323515],
++												 [	-6.27318014, -0.00041288, 0.00025295, 7.27276725, 0.99873875, 0.99933417, 0.49323523],
++												 [	-6.27318027, -0.00041283, 0.00025291, 7.27276744, 0.99873892, 0.99933426, 0.49323516],
++												 [	-6.27318040, -0.00041277, 0.00025288, 7.27276762, 0.99873909, 0.99933435, 0.49323517],
++												 [	-6.27318053, -0.00041272, 0.00025284, 7.27276781, 0.99873926, 0.99933444, 0.49323519],
++												 [	-6.27318066, -0.00041266, 0.00025281, 7.27276800, 0.99873942, 0.99933453, 0.49323515],
++												 [	-6.27318079, -0.00041261, 0.00025278, 7.27276818, 0.99873959, 0.99933461, 0.49323538],
++												 [	-6.27318093, -0.00041255, 0.00025274, 7.27276837, 0.99873976, 0.99933470, 0.49323529],
++												 [	-6.27318106, -0.00041250, 0.00025271, 7.27276856, 0.99873993, 0.99933479, 0.49323537],
++												 [	-6.27318119, -0.00041244, 0.00025268, 7.27276874, 0.99874010, 0.99933488, 0.49323534],
++												 [	-6.27318132, -0.00041239, 0.00025264, 7.27276893, 0.99874026, 0.99933497, 0.49323537],
++												 [	-6.27318145, -0.00041233, 0.00025261, 7.27276912, 0.99874043, 0.99933506, 0.49323540],
++												 [	-6.27318158, -0.00041228, 0.00025258, 7.27276930, 0.99874060, 0.99933515, 0.49323539],
++												 [	-6.27318171, -0.00041222, 0.00025254, 7.27276949, 0.99874077, 0.99933523, 0.49323536],
++												 [	-6.27318185, -0.00041217, 0.00025251, 7.27276968, 0.99874094, 0.99933532, 0.49323541],
++												 [	-6.27318198, -0.00041211, 0.00025247, 7.27276986, 0.99874110, 0.99933541, 0.49323529],
++												 [	-6.27318211, -0.00041206, 0.00025244, 7.27277005, 0.99874127, 0.99933550, 0.49323554],
++												 [	-6.27318224, -0.00041200, 0.00025241, 7.27277023, 0.99874144, 0.99933559, 0.49323556],
++												 [	-6.27318237, -0.00041195, 0.00025237, 7.27277042, 0.99874161, 0.99933568, 0.49323548],
++												 [	-6.27318250, -0.00041190, 0.00025234, 7.27277061, 0.99874177, 0.99933577, 0.49323555],
++												 [	-6.27318263, -0.00041184, 0.00025231, 7.27277079, 0.99874194, 0.99933585, 0.49323555],
++												 [	-6.27318276, -0.00041179, 0.00025227, 7.27277098, 0.99874211, 0.99933594, 0.49323566],
++												 [	-6.27318290, -0.00041173, 0.00025224, 7.27277117, 0.99874228, 0.99933603, 0.49323552],
++												 [	-6.27318303, -0.00041168, 0.00025221, 7.27277135, 0.99874244, 0.99933612, 0.49323561],
++												 [	-6.27318316, -0.00041162, 0.00025217, 7.27277154, 0.99874261, 0.99933621, 0.49323566],
++												 [	-6.27318329, -0.00041157, 0.00025214, 7.27277172, 0.99874278, 0.99933630, 0.49323555],
++												 [	-6.27318342, -0.00041151, 0.00025210, 7.27277191, 0.99874294, 0.99933638, 0.49323560],
++												 [	-6.27318355, -0.00041146, 0.00025207, 7.27277209, 0.99874311, 0.99933647, 0.49323570],
++												 [	-6.27318368, -0.00041140, 0.00025204, 7.27277228, 0.99874328, 0.99933656, 0.49323566],
++												 [	-6.27318381, -0.00041135, 0.00025200, 7.27277246, 0.99874345, 0.99933665, 0.49323580],
++												 [	-6.27318394, -0.00041129, 0.00025197, 7.27277265, 0.99874361, 0.99933674, 0.49323573],
++												 [	-6.27318407, -0.00041124, 0.00025194, 7.27277284, 0.99874378, 0.99933682, 0.49323588],
++												 [	-6.27318420, -0.00041118, 0.00025190, 7.27277302, 0.99874395, 0.99933691, 0.49323574],
++												 [	-6.27318434, -0.00041113, 0.00025187, 7.27277321, 0.99874411, 0.99933700, 0.49323584],
++												 [	-6.27318447, -0.00041107, 0.00025184, 7.27277339, 0.99874428, 0.99933709, 0.49323574],
++												 [	-6.27318460, -0.00041102, 0.00025180, 7.27277358, 0.99874445, 0.99933718, 0.49323586],
++												 [	-6.27318473, -0.00041097, 0.00025177, 7.27277376, 0.99874461, 0.99933726, 0.49323593],
++												 [	-6.27318486, -0.00041091, 0.00025174, 7.27277395, 0.99874478, 0.99933735, 0.49323592],
++												 [	-6.27318499, -0.00041086, 0.00025170, 7.27277413, 0.99874495, 0.99933744, 0.49323598],
++												 [	-6.27318512, -0.00041080, 0.00025167, 7.27277432, 0.99874511, 0.99933753, 0.49323589],
++												 [	-6.27318525, -0.00041075, 0.00025164, 7.27277450, 0.99874528, 0.99933762, 0.49323587],
++												 [	-6.27318538, -0.00041069, 0.00025160, 7.27277469, 0.99874545, 0.99933770, 0.49323605],
++												 [	-6.27318551, -0.00041064, 0.00025157, 7.27277487, 0.99874561, 0.99933779, 0.49323594],
++												 [	-6.27318564, -0.00041058, 0.00025154, 7.27277506, 0.99874578, 0.99933788, 0.49323599],
++												 [	-6.27318577, -0.00041053, 0.00025150, 7.27277524, 0.99874595, 0.99933797, 0.49323604],
++												 [	-6.27318590, -0.00041048, 0.00025147, 7.27277543, 0.99874611, 0.99933806, 0.49323602],
++												 [	-6.27318603, -0.00041042, 0.00025144, 7.27277561, 0.99874628, 0.99933814, 0.49323601],
++												 [	-6.27318616, -0.00041037, 0.00025140, 7.27277580, 0.99874645, 0.99933823, 0.49323601],
++												 [	-6.27318629, -0.00041031, 0.00025137, 7.27277598, 0.99874661, 0.99933832, 0.49323608],
++												 [	-6.27318642, -0.00041026, 0.00025134, 7.27277616, 0.99874678, 0.99933841, 0.49323616],
++												 [	-6.27318655, -0.00041020, 0.00025130, 7.27277635, 0.99874694, 0.99933849, 0.49323617],
++												 [	-6.27318668, -0.00041015, 0.00025127, 7.27277653, 0.99874711, 0.99933858, 0.49323615],
++												 [	-6.27318681, -0.00041009, 0.00025124, 7.27277672, 0.99874728, 0.99933867, 0.49323614],
++												 [	-6.27318694, -0.00041004, 0.00025120, 7.27277690, 0.99874744, 0.99933876, 0.49323615],
++												 [	-6.27318707, -0.00040999, 0.00025117, 7.27277709, 0.99874761, 0.99933884, 0.49323610],
++												 [	-6.27318720, -0.00040993, 0.00025114, 7.27277727, 0.99874777, 0.99933893, 0.49323628],
++												 [	-6.27318733, -0.00040988, 0.00025110, 7.27277746, 0.99874794, 0.99933902, 0.49323634],
++												 [	-6.27318746, -0.00040982, 0.00025107, 7.27277764, 0.99874811, 0.99933911, 0.49323627],
++												 [	-6.27318759, -0.00040977, 0.00025104, 7.27277782, 0.99874827, 0.99933919, 0.49323622],
++												 [	-6.27318772, -0.00040971, 0.00025100, 7.27277801, 0.99874844, 0.99933928, 0.49323631],
++												 [	-6.27318785, -0.00040966, 0.00025097, 7.27277819, 0.99874860, 0.99933937, 0.49323628],
++												 [	-6.27318798, -0.00040961, 0.00025094, 7.27277838, 0.99874877, 0.99933946, 0.49323627],
++												 [	-6.27318811, -0.00040955, 0.00025090, 7.27277856, 0.99874893, 0.99933954, 0.49323637],
++												 [	-6.27318824, -0.00040950, 0.00025087, 7.27277874, 0.99874910, 0.99933963, 0.49323632],
++												 [	-6.27318837, -0.00040944, 0.00025084, 7.27277893, 0.99874927, 0.99933972, 0.49323640],
++												 [	-6.27318850, -0.00040939, 0.00025080, 7.27277911, 0.99874943, 0.99933981, 0.49323651],
++												 [	-6.27318863, -0.00040934, 0.00025077, 7.27277929, 0.99874960, 0.99933989, 0.49323644],
++												 [	-6.27318876, -0.00040928, 0.00025074, 7.27277948, 0.99874976, 0.99933998, 0.49323637],
++												 [	-6.27318889, -0.00040923, 0.00025070, 7.27277966, 0.99874993, 0.99934007, 0.49323647],
++												 [	-6.27318902, -0.00040917, 0.00025067, 7.27277985, 0.99875009, 0.99934016, 0.49323644],
++												 [	-6.27318915, -0.00040912, 0.00025064, 7.27278003, 0.99875026, 0.99934024, 0.49323643],
++												 [	-6.27318928, -0.00040906, 0.00025060, 7.27278021, 0.99875042, 0.99934033, 0.49323648],
++												 [	-6.27318941, -0.00040901, 0.00025057, 7.27278040, 0.99875059, 0.99934042, 0.49323655],
++												 [	-6.27318954, -0.00040896, 0.00025054, 7.27278058, 0.99875075, 0.99934050, 0.49323657],
++												 [	-6.27318967, -0.00040890, 0.00025051, 7.27278076, 0.99875092, 0.99934059, 0.49323664],
++												 [	-6.27318979, -0.00040885, 0.00025047, 7.27278095, 0.99875108, 0.99934068, 0.49323657],
++												 [	-6.27318992, -0.00040879, 0.00025044, 7.27278113, 0.99875125, 0.99934077, 0.49323666],
++												 [	-6.27319005, -0.00040874, 0.00025041, 7.27278131, 0.99875141, 0.99934085, 0.49323663],
++												 [	-6.27319018, -0.00040869, 0.00025037, 7.27278150, 0.99875158, 0.99934094, 0.49323672],
++												 [	-6.27319031, -0.00040863, 0.00025034, 7.27278168, 0.99875174, 0.99934103, 0.49323665],
++												 [	-6.27319044, -0.00040858, 0.00025031, 7.27278186, 0.99875191, 0.99934111, 0.49323670],
++												 [	-6.27319057, -0.00040852, 0.00025027, 7.27278204, 0.99875207, 0.99934120, 0.49323671],
++												 [	-6.27319070, -0.00040847, 0.00025024, 7.27278223, 0.99875224, 0.99934129, 0.49323673],
++												 [	-6.27319083, -0.00040842, 0.00025021, 7.27278241, 0.99875240, 0.99934137, 0.49323684],
++												 [	-6.27319096, -0.00040836, 0.00025017, 7.27278259, 0.99875257, 0.99934146, 0.49323687],
++												 [	-6.27319109, -0.00040831, 0.00025014, 7.27278278, 0.99875273, 0.99934155, 0.49323685],
++												 [	-6.27319121, -0.00040826, 0.00025011, 7.27278296, 0.99875290, 0.99934164, 0.49323688],
++												 [	-6.27319134, -0.00040820, 0.00025008, 7.27278314, 0.99875306, 0.99934172, 0.49323675],
++												 [	-6.27319147, -0.00040815, 0.00025004, 7.27278332, 0.99875322, 0.99934181, 0.49323678],
++												 [	-6.27319160, -0.00040809, 0.00025001, 7.27278351, 0.99875339, 0.99934190, 0.49323687],
++												 [	-6.27319173, -0.00040804, 0.00024998, 7.27278369, 0.99875355, 0.99934198, 0.49323686],
++												 [	-6.27319186, -0.00040799, 0.00024994, 7.27278387, 0.99875372, 0.99934207, 0.49323698],
++												 [	-6.27319199, -0.00040793, 0.00024991, 7.27278405, 0.99875388, 0.99934216, 0.49323692],
++												 [	-6.27319212, -0.00040788, 0.00024988, 7.27278424, 0.99875405, 0.99934224, 0.49323708],
++												 [	-6.27319224, -0.00040783, 0.00024985, 7.27278442, 0.99875421, 0.99934233, 0.49323704],
++												 [	-6.27319237, -0.00040777, 0.00024981, 7.27278460, 0.99875437, 0.99934242, 0.49323700],
++												 [	-6.27319250, -0.00040772, 0.00024978, 7.27278478, 0.99875454, 0.99934250, 0.49323693],
++												 [	-6.27319263, -0.00040766, 0.00024975, 7.27278497, 0.99875470, 0.99934259, 0.49323702],
++												 [	-6.27319276, -0.00040761, 0.00024971, 7.27278515, 0.99875487, 0.99934268, 0.49323716],
++												 [	-6.27319289, -0.00040756, 0.00024968, 7.27278533, 0.99875503, 0.99934276, 0.49323703],
++												 [	-6.27319302, -0.00040750, 0.00024965, 7.27278551, 0.99875519, 0.99934285, 0.49323706],
++												 [	-6.27319314, -0.00040745, 0.00024961, 7.27278569, 0.99875536, 0.99934294, 0.49323706],
++												 [	-6.27319327, -0.00040740, 0.00024958, 7.27278588, 0.99875552, 0.99934302, 0.49323714],
++												 [	-6.27319340, -0.00040734, 0.00024955, 7.27278606, 0.99875569, 0.99934311, 0.49323706],
++												 [	-6.27319353, -0.00040729, 0.00024952, 7.27278624, 0.99875585, 0.99934320, 0.49323708],
++												 [	-6.27319366, -0.00040724, 0.00024948, 7.27278642, 0.99875601, 0.99934328, 0.49323729],
++												 [	-6.27319379, -0.00040718, 0.00024945, 7.27278660, 0.99875618, 0.99934337, 0.49323724],
++												 [	-6.27319391, -0.00040713, 0.00024942, 7.27278679, 0.99875634, 0.99934345, 0.49323721],
++												 [	-6.27319404, -0.00040707, 0.00024938, 7.27278697, 0.99875650, 0.99934354, 0.49323728],
++												 [	-6.27319417, -0.00040702, 0.00024935, 7.27278715, 0.99875667, 0.99934363, 0.49323732],
++												 [	-6.27319430, -0.00040697, 0.00024932, 7.27278733, 0.99875683, 0.99934371, 0.49323735],
++												 [	-6.27319443, -0.00040691, 0.00024929, 7.27278751, 0.99875700, 0.99934380, 0.49323736],
++												 [	-6.27319455, -0.00040686, 0.00024925, 7.27278769, 0.99875716, 0.99934389, 0.49323725],
++												 [	-6.27319468, -0.00040681, 0.00024922, 7.27278788, 0.99875732, 0.99934397, 0.49323738],
++												 [	-6.27319481, -0.00040675, 0.00024919, 7.27278806, 0.99875749, 0.99934406, 0.49323735],
++												 [	-6.27319494, -0.00040670, 0.00024916, 7.27278824, 0.99875765, 0.99934414, 0.49323731],
++												 [	-6.27319507, -0.00040665, 0.00024912, 7.27278842, 0.99875781, 0.99934423, 0.49323743],
++												 [	-6.27319519, -0.00040659, 0.00024909, 7.27278860, 0.99875798, 0.99934432, 0.49323750],
++												 [	-6.27319532, -0.00040654, 0.00024906, 7.27278878, 0.99875814, 0.99934440, 0.49323738],
++												 [	-6.27319545, -0.00040649, 0.00024902, 7.27278896, 0.99875830, 0.99934449, 0.49323751],
++												 [	-6.27319558, -0.00040643, 0.00024899, 7.27278914, 0.99875846, 0.99934457, 0.49323752],
++												 [	-6.27319571, -0.00040638, 0.00024896, 7.27278933, 0.99875863, 0.99934466, 0.49323741],
++												 [	-6.27319583, -0.00040633, 0.00024893, 7.27278951, 0.99875879, 0.99934475, 0.49323749],
++												 [	-6.27319596, -0.00040627, 0.00024889, 7.27278969, 0.99875895, 0.99934483, 0.49323755],
++												 [	-6.27319609, -0.00040622, 0.00024886, 7.27278987, 0.99875912, 0.99934492, 0.49323762],
++												 [	-6.27319622, -0.00040617, 0.00024883, 7.27279005, 0.99875928, 0.99934501, 0.49323759],
++												 [	-6.27319634, -0.00040611, 0.00024880, 7.27279023, 0.99875944, 0.99934509, 0.49323760],
++												 [	-6.27319647, -0.00040606, 0.00024876, 7.27279041, 0.99875960, 0.99934518, 0.49323757],
++												 [	-6.27319660, -0.00040601, 0.00024873, 7.27279059, 0.99875977, 0.99934526, 0.49323761],
++												 [	-6.27319673, -0.00040595, 0.00024870, 7.27279077, 0.99875993, 0.99934535, 0.49323762],
++												 [	-6.27319685, -0.00040590, 0.00024867, 7.27279095, 0.99876009, 0.99934543, 0.49323771],
++												 [	-6.27319698, -0.00040585, 0.00024863, 7.27279113, 0.99876026, 0.99934552, 0.49323775],
++												 [	-6.27319711, -0.00040579, 0.00024860, 7.27279131, 0.99876042, 0.99934561, 0.49323777],
++												 [	-6.27319724, -0.00040574, 0.00024857, 7.27279149, 0.99876058, 0.99934569, 0.49323761],
++												 [	-6.27319736, -0.00040569, 0.00024853, 7.27279168, 0.99876074, 0.99934578, 0.49323772],
++												 [	-6.27319749, -0.00040563, 0.00024850, 7.27279186, 0.99876091, 0.99934586, 0.49323767],
++												 [	-6.27319762, -0.00040558, 0.00024847, 7.27279204, 0.99876107, 0.99934595, 0.49323779],
++												 [	-6.27319774, -0.00040553, 0.00024844, 7.27279222, 0.99876123, 0.99934603, 0.49323782],
++												 [	-6.27319787, -0.00040547, 0.00024840, 7.27279240, 0.99876139, 0.99934612, 0.49323776],
++												 [	-6.27319800, -0.00040542, 0.00024837, 7.27279258, 0.99876156, 0.99934621, 0.49323782],
++												 [	-6.27319813, -0.00040537, 0.00024834, 7.27279276, 0.99876172, 0.99934629, 0.49323787],
++												 [	-6.27319825, -0.00040532, 0.00024831, 7.27279294, 0.99876188, 0.99934638, 0.49323783],
++												 [	-6.27319838, -0.00040526, 0.00024827, 7.27279312, 0.99876204, 0.99934646, 0.49323795],
++												 [	-6.27319851, -0.00040521, 0.00024824, 7.27279330, 0.99876220, 0.99934655, 0.49323788],
++												 [	-6.27319863, -0.00040516, 0.00024821, 7.27279348, 0.99876237, 0.99934663, 0.49323798],
++												 [	-6.27319876, -0.00040510, 0.00024818, 7.27279366, 0.99876253, 0.99934672, 0.49323799],
++												 [	-6.27319889, -0.00040505, 0.00024814, 7.27279384, 0.99876269, 0.99934681, 0.49323794],
++												 [	-6.27319901, -0.00040500, 0.00024811, 7.27279402, 0.99876285, 0.99934689, 0.49323812],
++												 [	-6.27319914, -0.00040494, 0.00024808, 7.27279420, 0.99876301, 0.99934698, 0.49323800],
++												 [	-6.27319927, -0.00040489, 0.00024805, 7.27279438, 0.99876318, 0.99934706, 0.49323799],
++												 [	-6.27319939, -0.00040484, 0.00024801, 7.27279456, 0.99876334, 0.99934715, 0.49323807],
++												 [	-6.27319952, -0.00040479, 0.00024798, 7.27279474, 0.99876350, 0.99934723, 0.49323804],
++												 [	-6.27319965, -0.00040473, 0.00024795, 7.27279492, 0.99876366, 0.99934732, 0.49323807],
++												 [	-6.27319977, -0.00040468, 0.00024792, 7.27279510, 0.99876382, 0.99934740, 0.49323796],
++												 [	-6.27319990, -0.00040463, 0.00024788, 7.27279527, 0.99876398, 0.99934749, 0.49323820],
++												 [	-6.27320003, -0.00040457, 0.00024785, 7.27279545, 0.99876415, 0.99934757, 0.49323815],
++												 [	-6.27320015, -0.00040452, 0.00024782, 7.27279563, 0.99876431, 0.99934766, 0.49323813],
++												 [	-6.27320028, -0.00040447, 0.00024779, 7.27279581, 0.99876447, 0.99934774, 0.49323819],
++												 [	-6.27320041, -0.00040442, 0.00024776, 7.27279599, 0.99876463, 0.99934783, 0.49323817],
++												 [	-6.27320053, -0.00040436, 0.00024772, 7.27279617, 0.99876479, 0.99934791, 0.49323809],
++												 [	-6.27320066, -0.00040431, 0.00024769, 7.27279635, 0.99876495, 0.99934800, 0.49323823],
++												 [	-6.27320079, -0.00040426, 0.00024766, 7.27279653, 0.99876511, 0.99934809, 0.49323818],
++												 [	-6.27320091, -0.00040420, 0.00024763, 7.27279671, 0.99876528, 0.99934817, 0.49323822],
++												 [	-6.27320104, -0.00040415, 0.00024759, 7.27279689, 0.99876544, 0.99934826, 0.49323828],
++												 [	-6.27320117, -0.00040410, 0.00024756, 7.27279707, 0.99876560, 0.99934834, 0.49323852],
++												 [	-6.27320129, -0.00040405, 0.00024753, 7.27279725, 0.99876576, 0.99934843, 0.49323826],
++												 [	-6.27320142, -0.00040399, 0.00024750, 7.27279743, 0.99876592, 0.99934851, 0.49323833],
++												 [	-6.27320154, -0.00040394, 0.00024746, 7.27279760, 0.99876608, 0.99934860, 0.49323832],
++												 [	-6.27320167, -0.00040389, 0.00024743, 7.27279778, 0.99876624, 0.99934868, 0.49323839],
++												 [	-6.27320180, -0.00040383, 0.00024740, 7.27279796, 0.99876640, 0.99934877, 0.49323831],
++												 [	-6.27320192, -0.00040378, 0.00024737, 7.27279814, 0.99876656, 0.99934885, 0.49323847],
++												 [	-6.27320205, -0.00040373, 0.00024733, 7.27279832, 0.99876673, 0.99934894, 0.49323846],
++												 [	-6.27320217, -0.00040368, 0.00024730, 7.27279850, 0.99876689, 0.99934902, 0.49323853],
++												 [	-6.27320230, -0.00040362, 0.00024727, 7.27279868, 0.99876705, 0.99934911, 0.49323849],
++												 [	-6.27320243, -0.00040357, 0.00024724, 7.27279886, 0.99876721, 0.99934919, 0.49323847],
++												 [	-6.27320255, -0.00040352, 0.00024721, 7.27279903, 0.99876737, 0.99934928, 0.49323843],
++												 [	-6.27320268, -0.00040347, 0.00024717, 7.27279921, 0.99876753, 0.99934936, 0.49323854],
++												 [	-6.27320280, -0.00040341, 0.00024714, 7.27279939, 0.99876769, 0.99934944, 0.49323862],
++												 [	-6.27320293, -0.00040336, 0.00024711, 7.27279957, 0.99876785, 0.99934953, 0.49323861],
++												 [	-6.27320306, -0.00040331, 0.00024708, 7.27279975, 0.99876801, 0.99934961, 0.49323862],
++												 [	-6.27320318, -0.00040326, 0.00024704, 7.27279993, 0.99876817, 0.99934970, 0.49323859],
++												 [	-6.27320331, -0.00040320, 0.00024701, 7.27280010, 0.99876833, 0.99934978, 0.49323864],
++												 [	-6.27320343, -0.00040315, 0.00024698, 7.27280028, 0.99876849, 0.99934987, 0.49323872],
++												 [	-6.27320356, -0.00040310, 0.00024695, 7.27280046, 0.99876865, 0.99934995, 0.49323853],
++												 [	-6.27320368, -0.00040305, 0.00024692, 7.27280064, 0.99876881, 0.99935004, 0.49323874],
++												 [	-6.27320381, -0.00040299, 0.00024688, 7.27280082, 0.99876897, 0.99935012, 0.49323866],
++												 [	-6.27320394, -0.00040294, 0.00024685, 7.27280099, 0.99876913, 0.99935021, 0.49323878],
++												 [	-6.27320406, -0.00040289, 0.00024682, 7.27280117, 0.99876929, 0.99935029, 0.49323872],
++												 [	-6.27320419, -0.00040284, 0.00024679, 7.27280135, 0.99876945, 0.99935038, 0.49323872],
++												 [	-6.27320431, -0.00040278, 0.00024676, 7.27280153, 0.99876961, 0.99935046, 0.49323876],
++												 [	-6.27320444, -0.00040273, 0.00024672, 7.27280171, 0.99876978, 0.99935055, 0.49323884],
++												 [	-6.27320456, -0.00040268, 0.00024669, 7.27280188, 0.99876994, 0.99935063, 0.49323875],
++												 [	-6.27320469, -0.00040263, 0.00024666, 7.27280206, 0.99877010, 0.99935071, 0.49323881],
++												 [	-6.27320481, -0.00040257, 0.00024663, 7.27280224, 0.99877026, 0.99935080, 0.49323883],
++												 [	-6.27320494, -0.00040252, 0.00024659, 7.27280242, 0.99877042, 0.99935088, 0.49323893],
++												 [	-6.27320506, -0.00040247, 0.00024656, 7.27280259, 0.99877058, 0.99935097, 0.49323897],
++												 [	-6.27320519, -0.00040242, 0.00024653, 7.27280277, 0.99877073, 0.99935105, 0.49323888],
++												 [	-6.27320532, -0.00040237, 0.00024650, 7.27280295, 0.99877089, 0.99935114, 0.49323894],
++												 [	-6.27320544, -0.00040231, 0.00024647, 7.27280313, 0.99877105, 0.99935122, 0.49323891],
++												 [	-6.27320557, -0.00040226, 0.00024643, 7.27280330, 0.99877121, 0.99935130, 0.49323883],
++												 [	-6.27320569, -0.00040221, 0.00024640, 7.27280348, 0.99877137, 0.99935139, 0.49323900],
++												 [	-6.27320582, -0.00040216, 0.00024637, 7.27280366, 0.99877153, 0.99935147, 0.49323894],
++												 [	-6.27320594, -0.00040210, 0.00024634, 7.27280384, 0.99877169, 0.99935156, 0.49323913],
++												 [	-6.27320607, -0.00040205, 0.00024631, 7.27280401, 0.99877185, 0.99935164, 0.49323892],
++												 [	-6.27320619, -0.00040200, 0.00024627, 7.27280419, 0.99877201, 0.99935173, 0.49323905],
++												 [	-6.27320632, -0.00040195, 0.00024624, 7.27280437, 0.99877217, 0.99935181, 0.49323908],
++												 [	-6.27320644, -0.00040190, 0.00024621, 7.27280455, 0.99877233, 0.99935189, 0.49323912],
++												 [	-6.27320657, -0.00040184, 0.00024618, 7.27280472, 0.99877249, 0.99935198, 0.49323907],
++												 [	-6.27320669, -0.00040179, 0.00024615, 7.27280490, 0.99877265, 0.99935206, 0.49323901],
++												 [	-6.27320682, -0.00040174, 0.00024611, 7.27280508, 0.99877281, 0.99935215, 0.49323923],
++												 [	-6.27320694, -0.00040169, 0.00024608, 7.27280525, 0.99877297, 0.99935223, 0.49323914],
++												 [	-6.27320706, -0.00040163, 0.00024605, 7.27280543, 0.99877313, 0.99935231, 0.49323921],
++												 [	-6.27320719, -0.00040158, 0.00024602, 7.27280561, 0.99877329, 0.99935240, 0.49323926],
++												 [	-6.27320731, -0.00040153, 0.00024599, 7.27280578, 0.99877345, 0.99935248, 0.49323926],
++												 [	-6.27320744, -0.00040148, 0.00024595, 7.27280596, 0.99877361, 0.99935257, 0.49323918],
++												 [	-6.27320756, -0.00040143, 0.00024592, 7.27280614, 0.99877376, 0.99935265, 0.49323936],
++												 [	-6.27320769, -0.00040137, 0.00024589, 7.27280631, 0.99877392, 0.99935273, 0.49323929],
++												 [	-6.27320781, -0.00040132, 0.00024586, 7.27280649, 0.99877408, 0.99935282, 0.49323934],
++												 [	-6.27320794, -0.00040127, 0.00024583, 7.27280667, 0.99877424, 0.99935290, 0.49323932],
++												 [	-6.27320806, -0.00040122, 0.00024580, 7.27280684, 0.99877440, 0.99935299, 0.49323931],
++												 [	-6.27320819, -0.00040117, 0.00024576, 7.27280702, 0.99877456, 0.99935307, 0.49323926],
++												 [	-6.27320831, -0.00040111, 0.00024573, 7.27280720, 0.99877472, 0.99935315, 0.49323938],
++												 [	-6.27320843, -0.00040106, 0.00024570, 7.27280737, 0.99877488, 0.99935324, 0.49323939],
++												 [	-6.27320856, -0.00040101, 0.00024567, 7.27280755, 0.99877504, 0.99935332, 0.49323934],
++												 [	-6.27320868, -0.00040096, 0.00024564, 7.27280773, 0.99877519, 0.99935341, 0.49323939],
++												 [	-6.27320881, -0.00040091, 0.00024560, 7.27280790, 0.99877535, 0.99935349, 0.49323943],
++												 [	-6.27320893, -0.00040085, 0.00024557, 7.27280808, 0.99877551, 0.99935357, 0.49323942],
++												 [	-6.27320906, -0.00040080, 0.00024554, 7.27280825, 0.99877567, 0.99935366, 0.49323947],
++												 [	-6.27320918, -0.00040075, 0.00024551, 7.27280843, 0.99877583, 0.99935374, 0.49323951],
++												 [	-6.27320930, -0.00040070, 0.00024548, 7.27280861, 0.99877599, 0.99935382, 0.49323953],
++												 [	-6.27320943, -0.00040065, 0.00024545, 7.27280878, 0.99877615, 0.99935391, 0.49323955],
++												 [	-6.27320955, -0.00040059, 0.00024541, 7.27280896, 0.99877630, 0.99935399, 0.49323962],
++												 [	-6.27320968, -0.00040054, 0.00024538, 7.27280913, 0.99877646, 0.99935408, 0.49323956],
++												 [	-6.27320980, -0.00040049, 0.00024535, 7.27280931, 0.99877662, 0.99935416, 0.49323962],
++												 [	-6.27320993, -0.00040044, 0.00024532, 7.27280949, 0.99877678, 0.99935424, 0.49323958],
++												 [	-6.27321005, -0.00040039, 0.00024529, 7.27280966, 0.99877694, 0.99935433, 0.49323965],
++												 [	-6.27321017, -0.00040034, 0.00024525, 7.27280984, 0.99877710, 0.99935441, 0.49323969],
++												 [	-6.27321030, -0.00040028, 0.00024522, 7.27281001, 0.99877725, 0.99935449, 0.49323976],
++												 [	-6.27321042, -0.00040023, 0.00024519, 7.27281019, 0.99877741, 0.99935458, 0.49323970],
++												 [	-6.27321054, -0.00040018, 0.00024516, 7.27281036, 0.99877757, 0.99935466, 0.49323974],
++												 [	-6.27321067, -0.00040013, 0.00024513, 7.27281054, 0.99877773, 0.99935474, 0.49323974],
++												 [	-6.27321079, -0.00040008, 0.00024510, 7.27281072, 0.99877789, 0.99935483, 0.49323966],
++												 [	-6.27321092, -0.00040003, 0.00024506, 7.27281089, 0.99877804, 0.99935491, 0.49323980],
++												 [	-6.27321104, -0.00039997, 0.00024503, 7.27281107, 0.99877820, 0.99935499, 0.49323982],
++												 [	-6.27321116, -0.00039992, 0.00024500, 7.27281124, 0.99877836, 0.99935508, 0.49323984],
++												 [	-6.27321129, -0.00039987, 0.00024497, 7.27281142, 0.99877852, 0.99935516, 0.49323979],
++												 [	-6.27321141, -0.00039982, 0.00024494, 7.27281159, 0.99877868, 0.99935524, 0.49323984],
++												 [	-6.27321153, -0.00039977, 0.00024491, 7.27281177, 0.99877883, 0.99935533, 0.49323987],
++												 [	-6.27321166, -0.00039972, 0.00024487, 7.27281194, 0.99877899, 0.99935541, 0.49323994],
++												 [	-6.27321178, -0.00039966, 0.00024484, 7.27281212, 0.99877915, 0.99935549, 0.49323989],
++												 [	-6.27321191, -0.00039961, 0.00024481, 7.27281229, 0.99877931, 0.99935558, 0.49323986],
++												 [	-6.27321203, -0.00039956, 0.00024478, 7.27281247, 0.99877946, 0.99935566, 0.49323995],
++												 [	-6.27321215, -0.00039951, 0.00024475, 7.27281264, 0.99877962, 0.99935574, 0.49323997],
++												 [	-6.27321228, -0.00039946, 0.00024472, 7.27281282, 0.99877978, 0.99935583, 0.49323996],
++												 [	-6.27321240, -0.00039941, 0.00024468, 7.27281299, 0.99877994, 0.99935591, 0.49323998],
++												 [	-6.27321252, -0.00039935, 0.00024465, 7.27281317, 0.99878009, 0.99935599, 0.49323996],
++												 [	-6.27321265, -0.00039930, 0.00024462, 7.27281334, 0.99878025, 0.99935608, 0.49324002],
++												 [	-6.27321277, -0.00039925, 0.00024459, 7.27281352, 0.99878041, 0.99935616, 0.49323998],
++												 [	-6.27321289, -0.00039920, 0.00024456, 7.27281369, 0.99878057, 0.99935624, 0.49324001],
++												 [	-6.27321302, -0.00039915, 0.00024453, 7.27281387, 0.99878072, 0.99935632, 0.49324014],
++												 [	-6.27321314, -0.00039910, 0.00024450, 7.27281404, 0.99878088, 0.99935641, 0.49324019],
++												 [	-6.27321326, -0.00039905, 0.00024446, 7.27281422, 0.99878104, 0.99935649, 0.49324012],
++												 [	-6.27321338, -0.00039899, 0.00024443, 7.27281439, 0.99878120, 0.99935657, 0.49324003],
++												 [	-6.27321351, -0.00039894, 0.00024440, 7.27281457, 0.99878135, 0.99935666, 0.49324013],
++												 [	-6.27321363, -0.00039889, 0.00024437, 7.27281474, 0.99878151, 0.99935674, 0.49324013],
++												 [	-6.27321375, -0.00039884, 0.00024434, 7.27281491, 0.99878167, 0.99935682, 0.49324017],
++												 [	-6.27321388, -0.00039879, 0.00024431, 7.27281509, 0.99878182, 0.99935690, 0.49324022],
++												 [	-6.27321400, -0.00039874, 0.00024427, 7.27281526, 0.99878198, 0.99935699, 0.49324015],
++												 [	-6.27321412, -0.00039869, 0.00024424, 7.27281544, 0.99878214, 0.99935707, 0.49324036],
++												 [	-6.27321425, -0.00039863, 0.00024421, 7.27281561, 0.99878229, 0.99935715, 0.49324026],
++												 [	-6.27321437, -0.00039858, 0.00024418, 7.27281579, 0.99878245, 0.99935724, 0.49324022],
++												 [	-6.27321449, -0.00039853, 0.00024415, 7.27281596, 0.99878261, 0.99935732, 0.49324031],
++												 [	-6.27321461, -0.00039848, 0.00024412, 7.27281613, 0.99878277, 0.99935740, 0.49324028],
++												 [	-6.27321474, -0.00039843, 0.00024409, 7.27281631, 0.99878292, 0.99935748, 0.49324030],
++												 [	-6.27321486, -0.00039838, 0.00024405, 7.27281648, 0.99878308, 0.99935757, 0.49324023],
++												 [	-6.27321498, -0.00039833, 0.00024402, 7.27281666, 0.99878324, 0.99935765, 0.49324037],
++												 [	-6.27321511, -0.00039828, 0.00024399, 7.27281683, 0.99878339, 0.99935773, 0.49324036],
++												 [	-6.27321523, -0.00039822, 0.00024396, 7.27281700, 0.99878355, 0.99935782, 0.49324044],
++												 [	-6.27321535, -0.00039817, 0.00024393, 7.27281718, 0.99878370, 0.99935790, 0.49324039],
++												 [	-6.27321547, -0.00039812, 0.00024390, 7.27281735, 0.99878386, 0.99935798, 0.49324042],
++												 [	-6.27321560, -0.00039807, 0.00024387, 7.27281752, 0.99878402, 0.99935806, 0.49324055],
++												 [	-6.27321572, -0.00039802, 0.00024383, 7.27281770, 0.99878417, 0.99935815, 0.49324042],
++												 [	-6.27321584, -0.00039797, 0.00024380, 7.27281787, 0.99878433, 0.99935823, 0.49324044],
++												 [	-6.27321596, -0.00039792, 0.00024377, 7.27281805, 0.99878449, 0.99935831, 0.49324041],
++												 [	-6.27321609, -0.00039787, 0.00024374, 7.27281822, 0.99878464, 0.99935839, 0.49324060],
++												 [	-6.27321621, -0.00039781, 0.00024371, 7.27281839, 0.99878480, 0.99935848, 0.49324044],
++												 [	-6.27321633, -0.00039776, 0.00024368, 7.27281857, 0.99878496, 0.99935856, 0.49324054],
++												 [	-6.27321645, -0.00039771, 0.00024365, 7.27281874, 0.99878511, 0.99935864, 0.49324046],
++												 [	-6.27321658, -0.00039766, 0.00024362, 7.27281891, 0.99878527, 0.99935872, 0.49324052],
++												 [	-6.27321670, -0.00039761, 0.00024358, 7.27281909, 0.99878542, 0.99935881, 0.49324063],
++												 [	-6.27321682, -0.00039756, 0.00024355, 7.27281926, 0.99878558, 0.99935889, 0.49324081],
++												 [	-6.27321694, -0.00039751, 0.00024352, 7.27281943, 0.99878574, 0.99935897, 0.49324067],
++												 [	-6.27321706, -0.00039746, 0.00024349, 7.27281961, 0.99878589, 0.99935905, 0.49324080],
++												 [	-6.27321719, -0.00039741, 0.00024346, 7.27281978, 0.99878605, 0.99935913, 0.49324070],
++												 [	-6.27321731, -0.00039736, 0.00024343, 7.27281995, 0.99878620, 0.99935922, 0.49324061],
++												 [	-6.27321743, -0.00039730, 0.00024340, 7.27282013, 0.99878636, 0.99935930, 0.49324072],
++												 [	-6.27321755, -0.00039725, 0.00024337, 7.27282030, 0.99878652, 0.99935938, 0.49324071],
++												 [	-6.27321767, -0.00039720, 0.00024333, 7.27282047, 0.99878667, 0.99935946, 0.49324076],
++												 [	-6.27321780, -0.00039715, 0.00024330, 7.27282064, 0.99878683, 0.99935955, 0.49324084],
++												 [	-6.27321792, -0.00039710, 0.00024327, 7.27282082, 0.99878698, 0.99935963, 0.49324086],
++												 [	-6.27321804, -0.00039705, 0.00024324, 7.27282099, 0.99878714, 0.99935971, 0.49324068],
++												 [	-6.27321816, -0.00039700, 0.00024321, 7.27282116, 0.99878729, 0.99935979, 0.49324078],
++												 [	-6.27321828, -0.00039695, 0.00024318, 7.27282134, 0.99878745, 0.99935987, 0.49324088],
++												 [	-6.27321841, -0.00039690, 0.00024315, 7.27282151, 0.99878760, 0.99935996, 0.49324077],
++												 [	-6.27321853, -0.00039685, 0.00024312, 7.27282168, 0.99878776, 0.99936004, 0.49324091],
++												 [	-6.27321865, -0.00039680, 0.00024308, 7.27282185, 0.99878792, 0.99936012, 0.49324089],
++												 [	-6.27321877, -0.00039674, 0.00024305, 7.27282203, 0.99878807, 0.99936020, 0.49324098],
++												 [	-6.27321889, -0.00039669, 0.00024302, 7.27282220, 0.99878823, 0.99936028, 0.49324089],
++												 [	-6.27321901, -0.00039664, 0.00024299, 7.27282237, 0.99878838, 0.99936037, 0.49324096],
++												 [	-6.27321914, -0.00039659, 0.00024296, 7.27282254, 0.99878854, 0.99936045, 0.49324110],
++												 [	-6.27321926, -0.00039654, 0.00024293, 7.27282272, 0.99878869, 0.99936053, 0.49324104],
++												 [	-6.27321938, -0.00039649, 0.00024290, 7.27282289, 0.99878885, 0.99936061, 0.49324115],
++												 [	-6.27321950, -0.00039644, 0.00024287, 7.27282306, 0.99878900, 0.99936069, 0.49324105],
++												 [	-6.27321962, -0.00039639, 0.00024284, 7.27282323, 0.99878916, 0.99936078, 0.49324108],
++												 [	-6.27321974, -0.00039634, 0.00024280, 7.27282341, 0.99878931, 0.99936086, 0.49324101],
++												 [	-6.27321987, -0.00039629, 0.00024277, 7.27282358, 0.99878947, 0.99936094, 0.49324102],
++												 [	-6.27321999, -0.00039624, 0.00024274, 7.27282375, 0.99878962, 0.99936102, 0.49324113],
++												 [	-6.27322011, -0.00039619, 0.00024271, 7.27282392, 0.99878978, 0.99936110, 0.49324108],
++												 [	-6.27322023, -0.00039613, 0.00024268, 7.27282409, 0.99878993, 0.99936119, 0.49324117],
++												 [	-6.27322035, -0.00039608, 0.00024265, 7.27282427, 0.99879009, 0.99936127, 0.49324125],
++												 [	-6.27322047, -0.00039603, 0.00024262, 7.27282444, 0.99879024, 0.99936135, 0.49324106],
++												 [	-6.27322059, -0.00039598, 0.00024259, 7.27282461, 0.99879040, 0.99936143, 0.49324119],
++												 [	-6.27322071, -0.00039593, 0.00024256, 7.27282478, 0.99879055, 0.99936151, 0.49324110],
++												 [	-6.27322084, -0.00039588, 0.00024252, 7.27282495, 0.99879071, 0.99936159, 0.49324126],
++												 [	-6.27322096, -0.00039583, 0.00024249, 7.27282513, 0.99879086, 0.99936168, 0.49324122],
++												 [	-6.27322108, -0.00039578, 0.00024246, 7.27282530, 0.99879102, 0.99936176, 0.49324129],
++												 [	-6.27322120, -0.00039573, 0.00024243, 7.27282547, 0.99879117, 0.99936184, 0.49324129],
++												 [	-6.27322132, -0.00039568, 0.00024240, 7.27282564, 0.99879133, 0.99936192, 0.49324124],
++												 [	-6.27322144, -0.00039563, 0.00024237, 7.27282581, 0.99879148, 0.99936200, 0.49324135],
++												 [	-6.27322156, -0.00039558, 0.00024234, 7.27282598, 0.99879163, 0.99936208, 0.49324138],
++												 [	-6.27322168, -0.00039553, 0.00024231, 7.27282616, 0.99879179, 0.99936216, 0.49324133],
++												 [	-6.27322180, -0.00039548, 0.00024228, 7.27282633, 0.99879194, 0.99936225, 0.49324140],
++												 [	-6.27322193, -0.00039543, 0.00024225, 7.27282650, 0.99879210, 0.99936233, 0.49324130],
++												 [	-6.27322205, -0.00039538, 0.00024221, 7.27282667, 0.99879225, 0.99936241, 0.49324149],
++												 [	-6.27322217, -0.00039533, 0.00024218, 7.27282684, 0.99879241, 0.99936249, 0.49324143],
++												 [	-6.27322229, -0.00039528, 0.00024215, 7.27282701, 0.99879256, 0.99936257, 0.49324140],
++												 [	-6.27322241, -0.00039522, 0.00024212, 7.27282718, 0.99879271, 0.99936265, 0.49324158],
++												 [	-6.27322253, -0.00039517, 0.00024209, 7.27282736, 0.99879287, 0.99936273, 0.49324147],
++												 [	-6.27322265, -0.00039512, 0.00024206, 7.27282753, 0.99879302, 0.99936282, 0.49324156],
++												 [	-6.27322277, -0.00039507, 0.00024203, 7.27282770, 0.99879318, 0.99936290, 0.49324153],
++												 [	-6.27322289, -0.00039502, 0.00024200, 7.27282787, 0.99879333, 0.99936298, 0.49324143],
++												 [	-6.27322301, -0.00039497, 0.00024197, 7.27282804, 0.99879349, 0.99936306, 0.49324134],
++												 [	-6.27322313, -0.00039492, 0.00024194, 7.27282821, 0.99879364, 0.99936314, 0.49324161],
++												 [	-6.27322325, -0.00039487, 0.00024191, 7.27282838, 0.99879379, 0.99936322, 0.49324161],
++												 [	-6.27322337, -0.00039482, 0.00024187, 7.27282855, 0.99879395, 0.99936330, 0.49324164],
++												 [	-6.27322349, -0.00039477, 0.00024184, 7.27282872, 0.99879410, 0.99936339, 0.49324176],
++												 [	-6.27322362, -0.00039472, 0.00024181, 7.27282889, 0.99879425, 0.99936347, 0.49324160],
++												 [	-6.27322374, -0.00039467, 0.00024178, 7.27282907, 0.99879441, 0.99936355, 0.49324157],
++												 [	-6.27322386, -0.00039462, 0.00024175, 7.27282924, 0.99879456, 0.99936363, 0.49324158],
++												 [	-6.27322398, -0.00039457, 0.00024172, 7.27282941, 0.99879472, 0.99936371, 0.49324166],
++												 [	-6.27322410, -0.00039452, 0.00024169, 7.27282958, 0.99879487, 0.99936379, 0.49324172],
++												 [	-6.27322422, -0.00039447, 0.00024166, 7.27282975, 0.99879502, 0.99936387, 0.49324177],
++												 [	-6.27322434, -0.00039442, 0.00024163, 7.27282992, 0.99879518, 0.99936395, 0.49324175],
++												 [	-6.27322446, -0.00039437, 0.00024160, 7.27283009, 0.99879533, 0.99936403, 0.49324173],
++												 [	-6.27322458, -0.00039432, 0.00024157, 7.27283026, 0.99879548, 0.99936412, 0.49324183],
++												 [	-6.27322470, -0.00039427, 0.00024154, 7.27283043, 0.99879564, 0.99936420, 0.49324189],
++												 [	-6.27322482, -0.00039422, 0.00024150, 7.27283060, 0.99879579, 0.99936428, 0.49324183],
++												 [	-6.27322494, -0.00039417, 0.00024147, 7.27283077, 0.99879594, 0.99936436, 0.49324176],
++												 [	-6.27322506, -0.00039412, 0.00024144, 7.27283094, 0.99879610, 0.99936444, 0.49324183],
++												 [	-6.27322518, -0.00039407, 0.00024141, 7.27283111, 0.99879625, 0.99936452, 0.49324186],
++												 [	-6.27322530, -0.00039402, 0.00024138, 7.27283128, 0.99879640, 0.99936460, 0.49324198],
++												 [	-6.27322542, -0.00039397, 0.00024135, 7.27283145, 0.99879656, 0.99936468, 0.49324210],
++												 [	-6.27322554, -0.00039392, 0.00024132, 7.27283162, 0.99879671, 0.99936476, 0.49324198],
++												 [	-6.27322566, -0.00039387, 0.00024129, 7.27283179, 0.99879686, 0.99936484, 0.49324205],
++												 [	-6.27322578, -0.00039382, 0.00024126, 7.27283196, 0.99879702, 0.99936492, 0.49324207],
++												 [	-6.27322590, -0.00039377, 0.00024123, 7.27283213, 0.99879717, 0.99936501, 0.49324191],
++												 [	-6.27322602, -0.00039372, 0.00024120, 7.27283230, 0.99879732, 0.99936509, 0.49324201],
++												 [	-6.27322614, -0.00039367, 0.00024117, 7.27283247, 0.99879748, 0.99936517, 0.49324194],
++												 [	-6.27322626, -0.00039362, 0.00024114, 7.27283264, 0.99879763, 0.99936525, 0.49324211],
++												 [	-6.27322638, -0.00039357, 0.00024111, 7.27283281, 0.99879778, 0.99936533, 0.49324210],
++												 [	-6.27322650, -0.00039352, 0.00024107, 7.27283298, 0.99879793, 0.99936541, 0.49324195],
++												 [	-6.27322662, -0.00039347, 0.00024104, 7.27283315, 0.99879809, 0.99936549, 0.49324205],
++												 [	-6.27322674, -0.00039342, 0.00024101, 7.27283332, 0.99879824, 0.99936557, 0.49324210],
++												 [	-6.27322686, -0.00039337, 0.00024098, 7.27283349, 0.99879839, 0.99936565, 0.49324214],
++												 [	-6.27322698, -0.00039332, 0.00024095, 7.27283366, 0.99879855, 0.99936573, 0.49324202],
++												 [	-6.27322710, -0.00039327, 0.00024092, 7.27283383, 0.99879870, 0.99936581, 0.49324209],
++												 [	-6.27322722, -0.00039322, 0.00024089, 7.27283400, 0.99879885, 0.99936589, 0.49324208],
++												 [	-6.27322734, -0.00039317, 0.00024086, 7.27283417, 0.99879900, 0.99936597, 0.49324207],
++												 [	-6.27322746, -0.00039312, 0.00024083, 7.27283434, 0.99879916, 0.99936605, 0.49324215],
++												 [	-6.27322757, -0.00039307, 0.00024080, 7.27283451, 0.99879931, 0.99936613, 0.49324220],
++												 [	-6.27322769, -0.00039302, 0.00024077, 7.27283468, 0.99879946, 0.99936621, 0.49324229],
++												 [	-6.27322781, -0.00039297, 0.00024074, 7.27283485, 0.99879961, 0.99936630, 0.49324226],
++												 [	-6.27322793, -0.00039292, 0.00024071, 7.27283502, 0.99879977, 0.99936638, 0.49324230],
++												 [	-6.27322805, -0.00039287, 0.00024068, 7.27283519, 0.99879992, 0.99936646, 0.49324236],
++												 [	-6.27322817, -0.00039282, 0.00024065, 7.27283535, 0.99880007, 0.99936654, 0.49324229],
++												 [	-6.27322829, -0.00039277, 0.00024062, 7.27283552, 0.99880022, 0.99936662, 0.49324245],
++												 [	-6.27322841, -0.00039272, 0.00024059, 7.27283569, 0.99880038, 0.99936670, 0.49324230],
++												 [	-6.27322853, -0.00039267, 0.00024055, 7.27283586, 0.99880053, 0.99936678, 0.49324241],
++												 [	-6.27322865, -0.00039262, 0.00024052, 7.27283603, 0.99880068, 0.99936686, 0.49324234],
++												 [	-6.27322877, -0.00039257, 0.00024049, 7.27283620, 0.99880083, 0.99936694, 0.49324231],
++												 [	-6.27322889, -0.00039252, 0.00024046, 7.27283637, 0.99880098, 0.99936702, 0.49324244],
++												 [	-6.27322901, -0.00039247, 0.00024043, 7.27283654, 0.99880114, 0.99936710, 0.49324243],
++												 [	-6.27322913, -0.00039242, 0.00024040, 7.27283671, 0.99880129, 0.99936718, 0.49324251],
++												 [	-6.27322924, -0.00039237, 0.00024037, 7.27283688, 0.99880144, 0.99936726, 0.49324242],
++												 [	-6.27322936, -0.00039232, 0.00024034, 7.27283704, 0.99880159, 0.99936734, 0.49324245],
++												 [	-6.27322948, -0.00039227, 0.00024031, 7.27283721, 0.99880174, 0.99936742, 0.49324248],
++												 [	-6.27322960, -0.00039222, 0.00024028, 7.27283738, 0.99880190, 0.99936750, 0.49324240],
++												 [	-6.27322972, -0.00039217, 0.00024025, 7.27283755, 0.99880205, 0.99936758, 0.49324256],
++												 [	-6.27322984, -0.00039212, 0.00024022, 7.27283772, 0.99880220, 0.99936766, 0.49324270],
++												 [	-6.27322996, -0.00039207, 0.00024019, 7.27283789, 0.99880235, 0.99936774, 0.49324265],
++												 [	-6.27323008, -0.00039202, 0.00024016, 7.27283806, 0.99880250, 0.99936782, 0.49324254],
++												 [	-6.27323020, -0.00039197, 0.00024013, 7.27283822, 0.99880265, 0.99936790, 0.49324268],
++												 [	-6.27323032, -0.00039192, 0.00024010, 7.27283839, 0.99880281, 0.99936798, 0.49324263],
++												 [	-6.27323043, -0.00039187, 0.00024007, 7.27283856, 0.99880296, 0.99936806, 0.49324257],
++												 [	-6.27323055, -0.00039182, 0.00024004, 7.27283873, 0.99880311, 0.99936814, 0.49324271],
++												 [	-6.27323067, -0.00039177, 0.00024001, 7.27283890, 0.99880326, 0.99936822, 0.49324263],
++												 [	-6.27323079, -0.00039172, 0.00023998, 7.27283907, 0.99880341, 0.99936830, 0.49324259],
++												 [	-6.27323091, -0.00039167, 0.00023995, 7.27283923, 0.99880356, 0.99936838, 0.49324272],
++												 [	-6.27323103, -0.00039162, 0.00023992, 7.27283940, 0.99880372, 0.99936846, 0.49324266],
++												 [	-6.27323115, -0.00039158, 0.00023989, 7.27283957, 0.99880387, 0.99936854, 0.49324277],
++												 [	-6.27323126, -0.00039153, 0.00023985, 7.27283974, 0.99880402, 0.99936862, 0.49324283],
++												 [	-6.27323138, -0.00039148, 0.00023982, 7.27283991, 0.99880417, 0.99936870, 0.49324288],
++												 [	-6.27323150, -0.00039143, 0.00023979, 7.27284008, 0.99880432, 0.99936878, 0.49324274],
++												 [	-6.27323162, -0.00039138, 0.00023976, 7.27284024, 0.99880447, 0.99936886, 0.49324289],
++												 [	-6.27323174, -0.00039133, 0.00023973, 7.27284041, 0.99880462, 0.99936894, 0.49324287],
++												 [	-6.27323186, -0.00039128, 0.00023970, 7.27284058, 0.99880477, 0.99936902, 0.49324285],
++												 [	-6.27323198, -0.00039123, 0.00023967, 7.27284075, 0.99880493, 0.99936910, 0.49324283],
++												 [	-6.27323209, -0.00039118, 0.00023964, 7.27284091, 0.99880508, 0.99936918, 0.49324290],
++												 [	-6.27323221, -0.00039113, 0.00023961, 7.27284108, 0.99880523, 0.99936926, 0.49324280],
++												 [	-6.27323233, -0.00039108, 0.00023958, 7.27284125, 0.99880538, 0.99936934, 0.49324296],
++												 [	-6.27323245, -0.00039103, 0.00023955, 7.27284142, 0.99880553, 0.99936942, 0.49324284],
++												 [	-6.27323257, -0.00039098, 0.00023952, 7.27284159, 0.99880568, 0.99936950, 0.49324285],
++												 [	-6.27323268, -0.00039093, 0.00023949, 7.27284175, 0.99880583, 0.99936958, 0.49324302],
++												 [	-6.27323280, -0.00039088, 0.00023946, 7.27284192, 0.99880598, 0.99936966, 0.49324295],
++												 [	-6.27323292, -0.00039083, 0.00023943, 7.27284209, 0.99880613, 0.99936974, 0.49324320],
++												 [	-6.27323304, -0.00039078, 0.00023940, 7.27284226, 0.99880628, 0.99936982, 0.49324315],
++												 [	-6.27323316, -0.00039073, 0.00023937, 7.27284242, 0.99880643, 0.99936990, 0.49324296],
++												 [	-6.27323328, -0.00039069, 0.00023934, 7.27284259, 0.99880658, 0.99936997, 0.49324298],
++												 [	-6.27323339, -0.00039064, 0.00023931, 7.27284276, 0.99880674, 0.99937005, 0.49324310],
++												 [	-6.27323351, -0.00039059, 0.00023928, 7.27284292, 0.99880689, 0.99937013, 0.49324316],
++												 [	-6.27323363, -0.00039054, 0.00023925, 7.27284309, 0.99880704, 0.99937021, 0.49324305],
++												 [	-6.27323375, -0.00039049, 0.00023922, 7.27284326, 0.99880719, 0.99937029, 0.49324317],
++												 [	-6.27323387, -0.00039044, 0.00023919, 7.27284343, 0.99880734, 0.99937037, 0.49324316],
++												 [	-6.27323398, -0.00039039, 0.00023916, 7.27284359, 0.99880749, 0.99937045, 0.49324322],
++												 [	-6.27323410, -0.00039034, 0.00023913, 7.27284376, 0.99880764, 0.99937053, 0.49324310],
++												 [	-6.27323422, -0.00039029, 0.00023910, 7.27284393, 0.99880779, 0.99937061, 0.49324325],
++												 [	-6.27323434, -0.00039024, 0.00023907, 7.27284409, 0.99880794, 0.99937069, 0.49324319],
++												 [	-6.27323445, -0.00039019, 0.00023904, 7.27284426, 0.99880809, 0.99937077, 0.49324326],
++												 [	-6.27323457, -0.00039014, 0.00023901, 7.27284443, 0.99880824, 0.99937085, 0.49324329],
++												 [	-6.27323469, -0.00039009, 0.00023898, 7.27284460, 0.99880839, 0.99937093, 0.49324333],
++												 [	-6.27323481, -0.00039005, 0.00023895, 7.27284476, 0.99880854, 0.99937101, 0.49324318],
++												 [	-6.27323493, -0.00039000, 0.00023892, 7.27284493, 0.99880869, 0.99937109, 0.49324318],
++												 [	-6.27323504, -0.00038995, 0.00023889, 7.27284510, 0.99880884, 0.99937117, 0.49324337],
++												 [	-6.27323516, -0.00038990, 0.00023886, 7.27284526, 0.99880899, 0.99937124, 0.49324337],
++												 [	-6.27323528, -0.00038985, 0.00023883, 7.27284543, 0.99880914, 0.99937132, 0.49324350],
++												 [	-6.27323540, -0.00038980, 0.00023880, 7.27284560, 0.99880929, 0.99937140, 0.49324334],
++												 [	-6.27323551, -0.00038975, 0.00023877, 7.27284576, 0.99880944, 0.99937148, 0.49324341],
++												 [	-6.27323563, -0.00038970, 0.00023874, 7.27284593, 0.99880959, 0.99937156, 0.49324338],
++												 [	-6.27323575, -0.00038965, 0.00023871, 7.27284609, 0.99880974, 0.99937164, 0.49324344],
++												 [	-6.27323587, -0.00038960, 0.00023868, 7.27284626, 0.99880989, 0.99937172, 0.49324362],
++												 [	-6.27323598, -0.00038955, 0.00023865, 7.27284643, 0.99881004, 0.99937180, 0.49324347],
++												 [	-6.27323610, -0.00038951, 0.00023862, 7.27284659, 0.99881019, 0.99937188, 0.49324345],
++												 [	-6.27323622, -0.00038946, 0.00023859, 7.27284676, 0.99881034, 0.99937196, 0.49324353],
++												 [	-6.27323633, -0.00038941, 0.00023856, 7.27284693, 0.99881049, 0.99937204, 0.49324361],
++												 [	-6.27323645, -0.00038936, 0.00023853, 7.27284709, 0.99881064, 0.99937211, 0.49324364],
++												 [	-6.27323657, -0.00038931, 0.00023850, 7.27284726, 0.99881079, 0.99937219, 0.49324360],
++												 [	-6.27323669, -0.00038926, 0.00023847, 7.27284743, 0.99881094, 0.99937227, 0.49324354],
++												 [	-6.27323680, -0.00038921, 0.00023844, 7.27284759, 0.99881109, 0.99937235, 0.49324359],
++												 [	-6.27323692, -0.00038916, 0.00023841, 7.27284776, 0.99881124, 0.99937243, 0.49324355],
++												 [	-6.27323704, -0.00038911, 0.00023838, 7.27284792, 0.99881139, 0.99937251, 0.49324369],
++												 [	-6.27323715, -0.00038907, 0.00023835, 7.27284809, 0.99881154, 0.99937259, 0.49324366],
++												 [	-6.27323727, -0.00038902, 0.00023832, 7.27284826, 0.99881169, 0.99937267, 0.49324363],
++												 [	-6.27323739, -0.00038897, 0.00023829, 7.27284842, 0.99881184, 0.99937275, 0.49324368],
++												 [	-6.27323751, -0.00038892, 0.00023826, 7.27284859, 0.99881198, 0.99937282, 0.49324385],
++												 [	-6.27323762, -0.00038887, 0.00023823, 7.27284875, 0.99881213, 0.99937290, 0.49324375],
++												 [	-6.27323774, -0.00038882, 0.00023820, 7.27284892, 0.99881228, 0.99937298, 0.49324381],
++												 [	-6.27323786, -0.00038877, 0.00023817, 7.27284908, 0.99881243, 0.99937306, 0.49324383],
++												 [	-6.27323797, -0.00038872, 0.00023814, 7.27284925, 0.99881258, 0.99937314, 0.49324389],
++												 [	-6.27323809, -0.00038867, 0.00023811, 7.27284942, 0.99881273, 0.99937322, 0.49324387],
++												 [	-6.27323821, -0.00038863, 0.00023808, 7.27284958, 0.99881288, 0.99937330, 0.49324385],
++												 [	-6.27323832, -0.00038858, 0.00023805, 7.27284975, 0.99881303, 0.99937338, 0.49324378],
++												 [	-6.27323844, -0.00038853, 0.00023802, 7.27284991, 0.99881318, 0.99937345, 0.49324377],
++												 [	-6.27323856, -0.00038848, 0.00023799, 7.27285008, 0.99881333, 0.99937353, 0.49324388],
++												 [	-6.27323867, -0.00038843, 0.00023796, 7.27285024, 0.99881348, 0.99937361, 0.49324392],
++												 [	-6.27323879, -0.00038838, 0.00023793, 7.27285041, 0.99881362, 0.99937369, 0.49324396],
++												 [	-6.27323891, -0.00038833, 0.00023790, 7.27285057, 0.99881377, 0.99937377, 0.49324387],
++												 [	-6.27323902, -0.00038828, 0.00023787, 7.27285074, 0.99881392, 0.99937385, 0.49324395],
++												 [	-6.27323914, -0.00038824, 0.00023784, 7.27285090, 0.99881407, 0.99937393, 0.49324401],
++												 [	-6.27323926, -0.00038819, 0.00023781, 7.27285107, 0.99881422, 0.99937400, 0.49324397],
++												 [	-6.27323937, -0.00038814, 0.00023778, 7.27285124, 0.99881437, 0.99937408, 0.49324409],
++												 [	-6.27323949, -0.00038809, 0.00023775, 7.27285140, 0.99881452, 0.99937416, 0.49324390],
++												 [	-6.27323961, -0.00038804, 0.00023772, 7.27285157, 0.99881467, 0.99937424, 0.49324412],
++												 [	-6.27323972, -0.00038799, 0.00023769, 7.27285173, 0.99881481, 0.99937432, 0.49324405],
++												 [	-6.27323984, -0.00038794, 0.00023766, 7.27285190, 0.99881496, 0.99937440, 0.49324413],
++												 [	-6.27323996, -0.00038789, 0.00023763, 7.27285206, 0.99881511, 0.99937448, 0.49324398],
++												 [	-6.27324007, -0.00038785, 0.00023760, 7.27285223, 0.99881526, 0.99937455, 0.49324408],
++												 [	-6.27324019, -0.00038780, 0.00023757, 7.27285239, 0.99881541, 0.99937463, 0.49324411],
++												 [	-6.27324030, -0.00038775, 0.00023754, 7.27285256, 0.99881556, 0.99937471, 0.49324404],
++												 [	-6.27324042, -0.00038770, 0.00023751, 7.27285272, 0.99881571, 0.99937479, 0.49324417],
++												 [	-6.27324054, -0.00038765, 0.00023748, 7.27285289, 0.99881585, 0.99937487, 0.49324417],
++												 [	-6.27324065, -0.00038760, 0.00023745, 7.27285305, 0.99881600, 0.99937495, 0.49324417],
++												 [	-6.27324077, -0.00038755, 0.00023742, 7.27285321, 0.99881615, 0.99937502, 0.49324410],
++												 [	-6.27324089, -0.00038751, 0.00023739, 7.27285338, 0.99881630, 0.99937510, 0.49324415],
++												 [	-6.27324100, -0.00038746, 0.00023736, 7.27285354, 0.99881645, 0.99937518, 0.49324415],
++												 [	-6.27324112, -0.00038741, 0.00023733, 7.27285371, 0.99881660, 0.99937526, 0.49324428],
++												 [	-6.27324123, -0.00038736, 0.00023730, 7.27285387, 0.99881674, 0.99937534, 0.49324427],
++												 [	-6.27324135, -0.00038731, 0.00023727, 7.27285404, 0.99881689, 0.99937541, 0.49324429],
++												 [	-6.27324147, -0.00038726, 0.00023724, 7.27285420, 0.99881704, 0.99937549, 0.49324429],
++												 [	-6.27324158, -0.00038722, 0.00023721, 7.27285437, 0.99881719, 0.99937557, 0.49324431],
++												 [	-6.27324170, -0.00038717, 0.00023718, 7.27285453, 0.99881734, 0.99937565, 0.49324418],
++												 [	-6.27324181, -0.00038712, 0.00023715, 7.27285469, 0.99881748, 0.99937573, 0.49324436],
++												 [	-6.27324193, -0.00038707, 0.00023712, 7.27285486, 0.99881763, 0.99937581, 0.49324427],
++												 [	-6.27324205, -0.00038702, 0.00023709, 7.27285502, 0.99881778, 0.99937588, 0.49324438],
++												 [	-6.27324216, -0.00038697, 0.00023706, 7.27285519, 0.99881793, 0.99937596, 0.49324441],
++												 [	-6.27324228, -0.00038693, 0.00023704, 7.27285535, 0.99881807, 0.99937604, 0.49324425],
++												 [	-6.27324239, -0.00038688, 0.00023701, 7.27285552, 0.99881822, 0.99937612, 0.49324444],
++												 [	-6.27324251, -0.00038683, 0.00023698, 7.27285568, 0.99881837, 0.99937620, 0.49324437],
++												 [	-6.27324262, -0.00038678, 0.00023695, 7.27285584, 0.99881852, 0.99937627, 0.49324451],
++												 [	-6.27324274, -0.00038673, 0.00023692, 7.27285601, 0.99881867, 0.99937635, 0.49324443],
++												 [	-6.27324286, -0.00038668, 0.00023689, 7.27285617, 0.99881881, 0.99937643, 0.49324463],
++												 [	-6.27324297, -0.00038664, 0.00023686, 7.27285634, 0.99881896, 0.99937651, 0.49324464],
++												 [	-6.27324309, -0.00038659, 0.00023683, 7.27285650, 0.99881911, 0.99937659, 0.49324460],
++												 [	-6.27324320, -0.00038654, 0.00023680, 7.27285666, 0.99881926, 0.99937666, 0.49324474],
++												 [	-6.27324332, -0.00038649, 0.00023677, 7.27285683, 0.99881940, 0.99937674, 0.49324457],
++												 [	-6.27324343, -0.00038644, 0.00023674, 7.27285699, 0.99881955, 0.99937682, 0.49324464],
++												 [	-6.27324355, -0.00038639, 0.00023671, 7.27285716, 0.99881970, 0.99937690, 0.49324452],
++												 [	-6.27324366, -0.00038635, 0.00023668, 7.27285732, 0.99881985, 0.99937697, 0.49324451],
++												 [	-6.27324378, -0.00038630, 0.00023665, 7.27285748, 0.99881999, 0.99937705, 0.49324463],
++												 [	-6.27324390, -0.00038625, 0.00023662, 7.27285765, 0.99882014, 0.99937713, 0.49324460],
++												 [	-6.27324401, -0.00038620, 0.00023659, 7.27285781, 0.99882029, 0.99937721, 0.49324461],
++												 [	-6.27324413, -0.00038615, 0.00023656, 7.27285797, 0.99882043, 0.99937729, 0.49324473],
++												 [	-6.27324424, -0.00038610, 0.00023653, 7.27285814, 0.99882058, 0.99937736, 0.49324474],
++												 [	-6.27324436, -0.00038606, 0.00023650, 7.27285830, 0.99882073, 0.99937744, 0.49324465],
++												 [	-6.27324447, -0.00038601, 0.00023647, 7.27285846, 0.99882088, 0.99937752, 0.49324475],
++												 [	-6.27324459, -0.00038596, 0.00023644, 7.27285863, 0.99882102, 0.99937760, 0.49324482],
++												 [	-6.27324470, -0.00038591, 0.00023641, 7.27285879, 0.99882117, 0.99937767, 0.49324468],
++												 [	-6.27324482, -0.00038586, 0.00023638, 7.27285895, 0.99882132, 0.99937775, 0.49324472],
++												 [	-6.27324493, -0.00038582, 0.00023636, 7.27285912, 0.99882146, 0.99937783, 0.49324478],
++												 [	-6.27324505, -0.00038577, 0.00023633, 7.27285928, 0.99882161, 0.99937791, 0.49324486],
++												 [	-6.27324516, -0.00038572, 0.00023630, 7.27285944, 0.99882176, 0.99937798, 0.49324500],
++												 [	-6.27324528, -0.00038567, 0.00023627, 7.27285961, 0.99882190, 0.99937806, 0.49324482],
++												 [	-6.27324539, -0.00038562, 0.00023624, 7.27285977, 0.99882205, 0.99937814, 0.49324496],
++												 [	-6.27324551, -0.00038558, 0.00023621, 7.27285993, 0.99882220, 0.99937822, 0.49324495],
++												 [	-6.27324562, -0.00038553, 0.00023618, 7.27286009, 0.99882234, 0.99937829, 0.49324492],
++												 [	-6.27324574, -0.00038548, 0.00023615, 7.27286026, 0.99882249, 0.99937837, 0.49324476],
++												 [	-6.27324585, -0.00038543, 0.00023612, 7.27286042, 0.99882264, 0.99937845, 0.49324499],
++												 [	-6.27324597, -0.00038538, 0.00023609, 7.27286058, 0.99882278, 0.99937853, 0.49324495],
++												 [	-6.27324608, -0.00038534, 0.00023606, 7.27286075, 0.99882293, 0.99937860, 0.49324497],
++												 [	-6.27324620, -0.00038529, 0.00023603, 7.27286091, 0.99882308, 0.99937868, 0.49324499],
++												 [	-6.27324631, -0.00038524, 0.00023600, 7.27286107, 0.99882322, 0.99937876, 0.49324496],
++												 [	-6.27324643, -0.00038519, 0.00023597, 7.27286123, 0.99882337, 0.99937884, 0.49324507],
++												 [	-6.27324654, -0.00038514, 0.00023594, 7.27286140, 0.99882352, 0.99937891, 0.49324506],
++												 [	-6.27324666, -0.00038510, 0.00023591, 7.27286156, 0.99882366, 0.99937899, 0.49324519],
++												 [	-6.27324677, -0.00038505, 0.00023588, 7.27286172, 0.99882381, 0.99937907, 0.49324510],
++												 [	-6.27324689, -0.00038500, 0.00023586, 7.27286188, 0.99882396, 0.99937914, 0.49324509],
++												 [	-6.27324700, -0.00038495, 0.00023583, 7.27286205, 0.99882410, 0.99937922, 0.49324510],
++												 [	-6.27324711, -0.00038490, 0.00023580, 7.27286221, 0.99882425, 0.99937930, 0.49324517],
++												 [	-6.27324723, -0.00038486, 0.00023577, 7.27286237, 0.99882440, 0.99937938, 0.49324527],
++												 [	-6.27324734, -0.00038481, 0.00023574, 7.27286253, 0.99882454, 0.99937945, 0.49324519],
++												 [	-6.27324746, -0.00038476, 0.00023571, 7.27286270, 0.99882469, 0.99937953, 0.49324516],
++												 [	-6.27324757, -0.00038471, 0.00023568, 7.27286286, 0.99882483, 0.99937961, 0.49324513],
++												 [	-6.27324769, -0.00038467, 0.00023565, 7.27286302, 0.99882498, 0.99937968, 0.49324519],
++												 [	-6.27324780, -0.00038462, 0.00023562, 7.27286318, 0.99882513, 0.99937976, 0.49324509],
++												 [	-6.27324792, -0.00038457, 0.00023559, 7.27286335, 0.99882527, 0.99937984, 0.49324532],
++												 [	-6.27324803, -0.00038452, 0.00023556, 7.27286351, 0.99882542, 0.99937992, 0.49324518],
++												 [	-6.27324814, -0.00038447, 0.00023553, 7.27286367, 0.99882556, 0.99937999, 0.49324537],
++												 [	-6.27324826, -0.00038443, 0.00023550, 7.27286383, 0.99882571, 0.99938007, 0.49324536],
++												 [	-6.27324837, -0.00038438, 0.00023547, 7.27286399, 0.99882586, 0.99938015, 0.49324540],
++												 [	-6.27324849, -0.00038433, 0.00023545, 7.27286416, 0.99882600, 0.99938022, 0.49324531],
++												 [	-6.27324860, -0.00038428, 0.00023542, 7.27286432, 0.99882615, 0.99938030, 0.49324544],
++												 [	-6.27324872, -0.00038424, 0.00023539, 7.27286448, 0.99882629, 0.99938038, 0.49324534],
++												 [	-6.27324883, -0.00038419, 0.00023536, 7.27286464, 0.99882644, 0.99938045, 0.49324551],
++												 [	-6.27324894, -0.00038414, 0.00023533, 7.27286480, 0.99882658, 0.99938053, 0.49324541],
++												 [	-6.27324906, -0.00038409, 0.00023530, 7.27286497, 0.99882673, 0.99938061, 0.49324551],
++												 [	-6.27324917, -0.00038405, 0.00023527, 7.27286513, 0.99882688, 0.99938068, 0.49324541],
++												 [	-6.27324929, -0.00038400, 0.00023524, 7.27286529, 0.99882702, 0.99938076, 0.49324543],
++												 [	-6.27324940, -0.00038395, 0.00023521, 7.27286545, 0.99882717, 0.99938084, 0.49324548],
++												 [	-6.27324951, -0.00038390, 0.00023518, 7.27286561, 0.99882731, 0.99938092, 0.49324547],
++												 [	-6.27324963, -0.00038385, 0.00023515, 7.27286577, 0.99882746, 0.99938099, 0.49324552],
++												 [	-6.27324974, -0.00038381, 0.00023512, 7.27286594, 0.99882760, 0.99938107, 0.49324561],
++												 [	-6.27324986, -0.00038376, 0.00023509, 7.27286610, 0.99882775, 0.99938115, 0.49324575],
++												 [	-6.27324997, -0.00038371, 0.00023507, 7.27286626, 0.99882789, 0.99938122, 0.49324555],
++												 [	-6.27325008, -0.00038366, 0.00023504, 7.27286642, 0.99882804, 0.99938130, 0.49324561],
++												 [	-6.27325020, -0.00038362, 0.00023501, 7.27286658, 0.99882818, 0.99938138, 0.49324560],
++												 [	-6.27325031, -0.00038357, 0.00023498, 7.27286674, 0.99882833, 0.99938145, 0.49324567],
++												 [	-6.27325043, -0.00038352, 0.00023495, 7.27286690, 0.99882847, 0.99938153, 0.49324557],
++												 [	-6.27325054, -0.00038347, 0.00023492, 7.27286706, 0.99882862, 0.99938161, 0.49324572],
++												 [	-6.27325065, -0.00038343, 0.00023489, 7.27286723, 0.99882877, 0.99938168, 0.49324570],
++												 [	-6.27325077, -0.00038338, 0.00023486, 7.27286739, 0.99882891, 0.99938176, 0.49324576],
++												 [	-6.27325088, -0.00038333, 0.00023483, 7.27286755, 0.99882906, 0.99938184, 0.49324591],
++												 [	-6.27325099, -0.00038328, 0.00023480, 7.27286771, 0.99882920, 0.99938191, 0.49324569],
++												 [	-6.27325111, -0.00038324, 0.00023477, 7.27286787, 0.99882935, 0.99938199, 0.49324559],
++												 [	-6.27325122, -0.00038319, 0.00023475, 7.27286803, 0.99882949, 0.99938207, 0.49324564],
++												 [	-6.27325133, -0.00038314, 0.00023472, 7.27286819, 0.99882964, 0.99938214, 0.49324576],
++												 [	-6.27325145, -0.00038309, 0.00023469, 7.27286835, 0.99882978, 0.99938222, 0.49324581],
++												 [	-6.27325156, -0.00038305, 0.00023466, 7.27286851, 0.99882993, 0.99938229, 0.49324590],
++												 [	-6.27325168, -0.00038300, 0.00023463, 7.27286868, 0.99883007, 0.99938237, 0.49324573],
++												 [	-6.27325179, -0.00038295, 0.00023460, 7.27286884, 0.99883021, 0.99938245, 0.49324578],
++												 [	-6.27325190, -0.00038291, 0.00023457, 7.27286900, 0.99883036, 0.99938252, 0.49324585],
++												 [	-6.27325202, -0.00038286, 0.00023454, 7.27286916, 0.99883050, 0.99938260, 0.49324579],
++												 [	-6.27325213, -0.00038281, 0.00023451, 7.27286932, 0.99883065, 0.99938268, 0.49324589],
++												 [	-6.27325224, -0.00038276, 0.00023448, 7.27286948, 0.99883079, 0.99938275, 0.49324588],
++												 [	-6.27325236, -0.00038272, 0.00023446, 7.27286964, 0.99883094, 0.99938283, 0.49324586],
++												 [	-6.27325247, -0.00038267, 0.00023443, 7.27286980, 0.99883108, 0.99938291, 0.49324588],
++												 [	-6.27325258, -0.00038262, 0.00023440, 7.27286996, 0.99883123, 0.99938298, 0.49324600],
++												 [	-6.27325269, -0.00038257, 0.00023437, 7.27287012, 0.99883137, 0.99938306, 0.49324602],
++												 [	-6.27325281, -0.00038253, 0.00023434, 7.27287028, 0.99883152, 0.99938313, 0.49324593],
++												 [	-6.27325292, -0.00038248, 0.00023431, 7.27287044, 0.99883166, 0.99938321, 0.49324600],
++												 [	-6.27325303, -0.00038243, 0.00023428, 7.27287060, 0.99883180, 0.99938329, 0.49324594],
++												 [	-6.27325315, -0.00038238, 0.00023425, 7.27287076, 0.99883195, 0.99938336, 0.49324594],
++												 [	-6.27325326, -0.00038234, 0.00023422, 7.27287092, 0.99883209, 0.99938344, 0.49324616],
++												 [	-6.27325337, -0.00038229, 0.00023419, 7.27287108, 0.99883224, 0.99938352, 0.49324609],
++												 [	-6.27325349, -0.00038224, 0.00023417, 7.27287124, 0.99883238, 0.99938359, 0.49324615],
++												 [	-6.27325360, -0.00038220, 0.00023414, 7.27287140, 0.99883253, 0.99938367, 0.49324616],
++												 [	-6.27325371, -0.00038215, 0.00023411, 7.27287156, 0.99883267, 0.99938374, 0.49324616],
++												 [	-6.27325383, -0.00038210, 0.00023408, 7.27287172, 0.99883281, 0.99938382, 0.49324603],
++												 [	-6.27325394, -0.00038205, 0.00023405, 7.27287188, 0.99883296, 0.99938390, 0.49324614],
++												 [	-6.27325405, -0.00038201, 0.00023402, 7.27287204, 0.99883310, 0.99938397, 0.49324629],
++												 [	-6.27325416, -0.00038196, 0.00023399, 7.27287220, 0.99883325, 0.99938405, 0.49324628],
++												 [	-6.27325428, -0.00038191, 0.00023396, 7.27287236, 0.99883339, 0.99938412, 0.49324634],
++												 [	-6.27325439, -0.00038187, 0.00023393, 7.27287252, 0.99883353, 0.99938420, 0.49324618],
++												 [	-6.27325450, -0.00038182, 0.00023391, 7.27287268, 0.99883368, 0.99938428, 0.49324620],
++												 [	-6.27325462, -0.00038177, 0.00023388, 7.27287284, 0.99883382, 0.99938435, 0.49324621],
++												 [	-6.27325473, -0.00038172, 0.00023385, 7.27287300, 0.99883397, 0.99938443, 0.49324620],
++												 [	-6.27325484, -0.00038168, 0.00023382, 7.27287316, 0.99883411, 0.99938450, 0.49324631],
++												 [	-6.27325495, -0.00038163, 0.00023379, 7.27287332, 0.99883425, 0.99938458, 0.49324616],
++												 [	-6.27325507, -0.00038158, 0.00023376, 7.27287348, 0.99883440, 0.99938466, 0.49324629],
++												 [	-6.27325518, -0.00038154, 0.00023373, 7.27287364, 0.99883454, 0.99938473, 0.49324635],
++												 [	-6.27325529, -0.00038149, 0.00023370, 7.27287380, 0.99883469, 0.99938481, 0.49324648],
++												 [	-6.27325540, -0.00038144, 0.00023367, 7.27287396, 0.99883483, 0.99938488, 0.49324638],
++												 [	-6.27325552, -0.00038140, 0.00023365, 7.27287412, 0.99883497, 0.99938496, 0.49324637],
++												 [	-6.27325563, -0.00038135, 0.00023362, 7.27287428, 0.99883512, 0.99938503, 0.49324641],
++												 [	-6.27325574, -0.00038130, 0.00023359, 7.27287444, 0.99883526, 0.99938511, 0.49324645],
++												 [	-6.27325585, -0.00038125, 0.00023356, 7.27287460, 0.99883540, 0.99938519, 0.49324647],
++												 [	-6.27325597, -0.00038121, 0.00023353, 7.27287476, 0.99883555, 0.99938526, 0.49324642],
++												 [	-6.27325608, -0.00038116, 0.00023350, 7.27287492, 0.99883569, 0.99938534, 0.49324651],
++												 [	-6.27325619, -0.00038111, 0.00023347, 7.27287508, 0.99883583, 0.99938541, 0.49324649],
++												 [	-6.27325630, -0.00038107, 0.00023344, 7.27287524, 0.99883598, 0.99938549, 0.49324647],
++												 [	-6.27325642, -0.00038102, 0.00023342, 7.27287540, 0.99883612, 0.99938556, 0.49324658],
++												 [	-6.27325653, -0.00038097, 0.00023339, 7.27287555, 0.99883626, 0.99938564, 0.49324664],
++												 [	-6.27325664, -0.00038093, 0.00023336, 7.27287571, 0.99883641, 0.99938572, 0.49324649],
++												 [	-6.27325675, -0.00038088, 0.00023333, 7.27287587, 0.99883655, 0.99938579, 0.49324658],
++												 [	-6.27325686, -0.00038083, 0.00023330, 7.27287603, 0.99883669, 0.99938587, 0.49324653],
++												 [	-6.27325698, -0.00038079, 0.00023327, 7.27287619, 0.99883684, 0.99938594, 0.49324658],
++												 [	-6.27325709, -0.00038074, 0.00023324, 7.27287635, 0.99883698, 0.99938602, 0.49324649],
++												 [	-6.27325720, -0.00038069, 0.00023321, 7.27287651, 0.99883712, 0.99938609, 0.49324663],
++												 [	-6.27325731, -0.00038065, 0.00023319, 7.27287667, 0.99883727, 0.99938617, 0.49324670],
++												 [	-6.27325742, -0.00038060, 0.00023316, 7.27287683, 0.99883741, 0.99938624, 0.49324665],
++												 [	-6.27325754, -0.00038055, 0.00023313, 7.27287699, 0.99883755, 0.99938632, 0.49324681],
++												 [	-6.27325765, -0.00038050, 0.00023310, 7.27287714, 0.99883769, 0.99938640, 0.49324678],
++												 [	-6.27325776, -0.00038046, 0.00023307, 7.27287730, 0.99883784, 0.99938647, 0.49324668],
++												 [	-6.27325787, -0.00038041, 0.00023304, 7.27287746, 0.99883798, 0.99938655, 0.49324676],
++												 [	-6.27325798, -0.00038036, 0.00023301, 7.27287762, 0.99883812, 0.99938662, 0.49324679],
++												 [	-6.27325810, -0.00038032, 0.00023299, 7.27287778, 0.99883827, 0.99938670, 0.49324680],
++												 [	-6.27325821, -0.00038027, 0.00023296, 7.27287794, 0.99883841, 0.99938677, 0.49324686],
++												 [	-6.27325832, -0.00038022, 0.00023293, 7.27287810, 0.99883855, 0.99938685, 0.49324703],
++												 [	-6.27325843, -0.00038018, 0.00023290, 7.27287825, 0.99883869, 0.99938692, 0.49324683],
++												 [	-6.27325854, -0.00038013, 0.00023287, 7.27287841, 0.99883884, 0.99938700, 0.49324688],
++												 [	-6.27325866, -0.00038008, 0.00023284, 7.27287857, 0.99883898, 0.99938707, 0.49324687],
++												 [	-6.27325877, -0.00038004, 0.00023281, 7.27287873, 0.99883912, 0.99938715, 0.49324692],
++												 [	-6.27325888, -0.00037999, 0.00023279, 7.27287889, 0.99883926, 0.99938722, 0.49324678],
++												 [	-6.27325899, -0.00037994, 0.00023276, 7.27287905, 0.99883941, 0.99938730, 0.49324693],
++												 [	-6.27325910, -0.00037990, 0.00023273, 7.27287920, 0.99883955, 0.99938737, 0.49324693],
++												 [	-6.27325921, -0.00037985, 0.00023270, 7.27287936, 0.99883969, 0.99938745, 0.49324695],
++												 [	-6.27325932, -0.00037980, 0.00023267, 7.27287952, 0.99883983, 0.99938752, 0.49324704],
++												 [	-6.27325944, -0.00037976, 0.00023264, 7.27287968, 0.99883998, 0.99938760, 0.49324699],
++												 [	-6.27325955, -0.00037971, 0.00023261, 7.27287984, 0.99884012, 0.99938768, 0.49324702],
++												 [	-6.27325966, -0.00037966, 0.00023259, 7.27287999, 0.99884026, 0.99938775, 0.49324694],
++												 [	-6.27325977, -0.00037962, 0.00023256, 7.27288015, 0.99884040, 0.99938783, 0.49324708],
++												 [	-6.27325988, -0.00037957, 0.00023253, 7.27288031, 0.99884055, 0.99938790, 0.49324716],
++												 [	-6.27325999, -0.00037953, 0.00023250, 7.27288047, 0.99884069, 0.99938798, 0.49324712],
++												 [	-6.27326011, -0.00037948, 0.00023247, 7.27288063, 0.99884083, 0.99938805, 0.49324715],
++												 [	-6.27326022, -0.00037943, 0.00023244, 7.27288078, 0.99884097, 0.99938813, 0.49324707],
++												 [	-6.27326033, -0.00037939, 0.00023241, 7.27288094, 0.99884111, 0.99938820, 0.49324704],
++												 [	-6.27326044, -0.00037934, 0.00023239, 7.27288110, 0.99884126, 0.99938828, 0.49324718],
++												 [	-6.27326055, -0.00037929, 0.00023236, 7.27288126, 0.99884140, 0.99938835, 0.49324714],
++												 [	-6.27326066, -0.00037925, 0.00023233, 7.27288142, 0.99884154, 0.99938843, 0.49324726],
++												 [	-6.27326077, -0.00037920, 0.00023230, 7.27288157, 0.99884168, 0.99938850, 0.49324702],
++												 [	-6.27326088, -0.00037915, 0.00023227, 7.27288173, 0.99884182, 0.99938858, 0.49324721],
++												 [	-6.27326100, -0.00037911, 0.00023224, 7.27288189, 0.99884197, 0.99938865, 0.49324723],
++												 [	-6.27326111, -0.00037906, 0.00023221, 7.27288205, 0.99884211, 0.99938873, 0.49324718],
++												 [	-6.27326122, -0.00037901, 0.00023219, 7.27288220, 0.99884225, 0.99938880, 0.49324712],
++												 [	-6.27326133, -0.00037897, 0.00023216, 7.27288236, 0.99884239, 0.99938887, 0.49324742],
++												 [	-6.27326144, -0.00037892, 0.00023213, 7.27288252, 0.99884253, 0.99938895, 0.49324731],
++												 [	-6.27326155, -0.00037887, 0.00023210, 7.27288268, 0.99884267, 0.99938902, 0.49324731],
++												 [	-6.27326166, -0.00037883, 0.00023207, 7.27288283, 0.99884282, 0.99938910, 0.49324735],
++												 [	-6.27326177, -0.00037878, 0.00023204, 7.27288299, 0.99884296, 0.99938917, 0.49324724],
++												 [	-6.27326188, -0.00037874, 0.00023202, 7.27288315, 0.99884310, 0.99938925, 0.49324733],
++												 [	-6.27326199, -0.00037869, 0.00023199, 7.27288331, 0.99884324, 0.99938932, 0.49324726],
++												 [	-6.27326211, -0.00037864, 0.00023196, 7.27288346, 0.99884338, 0.99938940, 0.49324734],
++												 [	-6.27326222, -0.00037860, 0.00023193, 7.27288362, 0.99884352, 0.99938947, 0.49324737],
++												 [	-6.27326233, -0.00037855, 0.00023190, 7.27288378, 0.99884367, 0.99938955, 0.49324746],
++												 [	-6.27326244, -0.00037850, 0.00023187, 7.27288393, 0.99884381, 0.99938962, 0.49324742],
++												 [	-6.27326255, -0.00037846, 0.00023185, 7.27288409, 0.99884395, 0.99938970, 0.49324750],
++												 [	-6.27326266, -0.00037841, 0.00023182, 7.27288425, 0.99884409, 0.99938977, 0.49324754],
++												 [	-6.27326277, -0.00037837, 0.00023179, 7.27288441, 0.99884423, 0.99938985, 0.49324741],
++												 [	-6.27326288, -0.00037832, 0.00023176, 7.27288456, 0.99884437, 0.99938992, 0.49324760],
++												 [	-6.27326299, -0.00037827, 0.00023173, 7.27288472, 0.99884451, 0.99939000, 0.49324751],
++												 [	-6.27326310, -0.00037823, 0.00023170, 7.27288488, 0.99884466, 0.99939007, 0.49324747],
++												 [	-6.27326321, -0.00037818, 0.00023168, 7.27288503, 0.99884480, 0.99939014, 0.49324756],
++												 [	-6.27326332, -0.00037813, 0.00023165, 7.27288519, 0.99884494, 0.99939022, 0.49324744],
++												 [	-6.27326343, -0.00037809, 0.00023162, 7.27288535, 0.99884508, 0.99939029, 0.49324765],
++												 [	-6.27326354, -0.00037804, 0.00023159, 7.27288550, 0.99884522, 0.99939037, 0.49324755],
++												 [	-6.27326366, -0.00037800, 0.00023156, 7.27288566, 0.99884536, 0.99939044, 0.49324760],
++												 [	-6.27326377, -0.00037795, 0.00023153, 7.27288582, 0.99884550, 0.99939052, 0.49324764],
++												 [	-6.27326388, -0.00037790, 0.00023151, 7.27288597, 0.99884564, 0.99939059, 0.49324764],
++												 [	-6.27326399, -0.00037786, 0.00023148, 7.27288613, 0.99884578, 0.99939067, 0.49324768],
++												 [	-6.27326410, -0.00037781, 0.00023145, 7.27288629, 0.99884592, 0.99939074, 0.49324772],
++												 [	-6.27326421, -0.00037777, 0.00023142, 7.27288644, 0.99884607, 0.99939081, 0.49324775],
++												 [	-6.27326432, -0.00037772, 0.00023139, 7.27288660, 0.99884621, 0.99939089, 0.49324763],
++												 [	-6.27326443, -0.00037767, 0.00023136, 7.27288676, 0.99884635, 0.99939096, 0.49324773],
++												 [	-6.27326454, -0.00037763, 0.00023134, 7.27288691, 0.99884649, 0.99939104, 0.49324770],
++												 [	-6.27326465, -0.00037758, 0.00023131, 7.27288707, 0.99884663, 0.99939111, 0.49324772],
++												 [	-6.27326476, -0.00037753, 0.00023128, 7.27288722, 0.99884677, 0.99939119, 0.49324778],
++												 [	-6.27326487, -0.00037749, 0.00023125, 7.27288738, 0.99884691, 0.99939126, 0.49324783],
++												 [	-6.27326498, -0.00037744, 0.00023122, 7.27288754, 0.99884705, 0.99939133, 0.49324780],
++												 [	-6.27326509, -0.00037740, 0.00023120, 7.27288769, 0.99884719, 0.99939141, 0.49324776],
++												 [	-6.27326520, -0.00037735, 0.00023117, 7.27288785, 0.99884733, 0.99939148, 0.49324786],
++												 [	-6.27326531, -0.00037730, 0.00023114, 7.27288801, 0.99884747, 0.99939156, 0.49324788],
++												 [	-6.27326542, -0.00037726, 0.00023111, 7.27288816, 0.99884761, 0.99939163, 0.49324776],
++												 [	-6.27326553, -0.00037721, 0.00023108, 7.27288832, 0.99884775, 0.99939171, 0.49324788],
++												 [	-6.27326564, -0.00037717, 0.00023105, 7.27288847, 0.99884789, 0.99939178, 0.49324801],
++												 [	-6.27326575, -0.00037712, 0.00023103, 7.27288863, 0.99884803, 0.99939185, 0.49324790],
++												 [	-6.27326586, -0.00037707, 0.00023100, 7.27288879, 0.99884817, 0.99939193, 0.49324783],
++												 [	-6.27326597, -0.00037703, 0.00023097, 7.27288894, 0.99884831, 0.99939200, 0.49324795],
++												 [	-6.27326608, -0.00037698, 0.00023094, 7.27288910, 0.99884846, 0.99939208, 0.49324808],
++												 [	-6.27326619, -0.00037694, 0.00023091, 7.27288925, 0.99884860, 0.99939215, 0.49324796],
++												 [	-6.27326630, -0.00037689, 0.00023089, 7.27288941, 0.99884874, 0.99939222, 0.49324802],
++												 [	-6.27326641, -0.00037685, 0.00023086, 7.27288956, 0.99884888, 0.99939230, 0.49324786],
++												 [	-6.27326652, -0.00037680, 0.00023083, 7.27288972, 0.99884902, 0.99939237, 0.49324795],
++												 [	-6.27326663, -0.00037675, 0.00023080, 7.27288988, 0.99884916, 0.99939245, 0.49324822],
++												 [	-6.27326674, -0.00037671, 0.00023077, 7.27289003, 0.99884930, 0.99939252, 0.49324803],
++												 [	-6.27326685, -0.00037666, 0.00023074, 7.27289019, 0.99884944, 0.99939259, 0.49324799],
++												 [	-6.27326696, -0.00037662, 0.00023072, 7.27289034, 0.99884958, 0.99939267, 0.49324798],
++												 [	-6.27326707, -0.00037657, 0.00023069, 7.27289050, 0.99884972, 0.99939274, 0.49324802],
++												 [	-6.27326718, -0.00037652, 0.00023066, 7.27289065, 0.99884986, 0.99939282, 0.49324803],
++												 [	-6.27326729, -0.00037648, 0.00023063, 7.27289081, 0.99885000, 0.99939289, 0.49324811],
++												 [	-6.27326740, -0.00037643, 0.00023060, 7.27289096, 0.99885014, 0.99939296, 0.49324817],
++												 [	-6.27326751, -0.00037639, 0.00023058, 7.27289112, 0.99885028, 0.99939304, 0.49324821],
++												 [	-6.27326762, -0.00037634, 0.00023055, 7.27289127, 0.99885042, 0.99939311, 0.49324821],
++												 [	-6.27326773, -0.00037630, 0.00023052, 7.27289143, 0.99885056, 0.99939318, 0.49324827],
++												 [	-6.27326783, -0.00037625, 0.00023049, 7.27289159, 0.99885070, 0.99939326, 0.49324820],
++												 [	-6.27326794, -0.00037620, 0.00023046, 7.27289174, 0.99885084, 0.99939333, 0.49324832],
++												 [	-6.27326805, -0.00037616, 0.00023044, 7.27289190, 0.99885097, 0.99939341, 0.49324834],
++												 [	-6.27326816, -0.00037611, 0.00023041, 7.27289205, 0.99885111, 0.99939348, 0.49324841],
++												 [	-6.27326827, -0.00037607, 0.00023038, 7.27289221, 0.99885125, 0.99939355, 0.49324834],
++												 [	-6.27326838, -0.00037602, 0.00023035, 7.27289236, 0.99885139, 0.99939363, 0.49324834],
++												 [	-6.27326849, -0.00037598, 0.00023032, 7.27289252, 0.99885153, 0.99939370, 0.49324836],
++												 [	-6.27326860, -0.00037593, 0.00023030, 7.27289267, 0.99885167, 0.99939377, 0.49324838],
++												 [	-6.27326871, -0.00037588, 0.00023027, 7.27289283, 0.99885181, 0.99939385, 0.49324843],
++												 [	-6.27326882, -0.00037584, 0.00023024, 7.27289298, 0.99885195, 0.99939392, 0.49324818],
++												 [	-6.27326893, -0.00037579, 0.00023021, 7.27289314, 0.99885209, 0.99939399, 0.49324852],
++												 [	-6.27326904, -0.00037575, 0.00023018, 7.27289329, 0.99885223, 0.99939407, 0.49324850],
++												 [	-6.27326915, -0.00037570, 0.00023016, 7.27289345, 0.99885237, 0.99939414, 0.49324851],
++												 [	-6.27326926, -0.00037566, 0.00023013, 7.27289360, 0.99885251, 0.99939422, 0.49324838],
++												 [	-6.27326937, -0.00037561, 0.00023010, 7.27289375, 0.99885265, 0.99939429, 0.49324847],
++												 [	-6.27326947, -0.00037557, 0.00023007, 7.27289391, 0.99885279, 0.99939436, 0.49324849],
++												 [	-6.27326958, -0.00037552, 0.00023004, 7.27289406, 0.99885293, 0.99939444, 0.49324851],
++												 [	-6.27326969, -0.00037547, 0.00023002, 7.27289422, 0.99885307, 0.99939451, 0.49324844],
++												 [	-6.27326980, -0.00037543, 0.00022999, 7.27289437, 0.99885321, 0.99939458, 0.49324862],
++												 [	-6.27326991, -0.00037538, 0.00022996, 7.27289453, 0.99885334, 0.99939466, 0.49324845],
++												 [	-6.27327002, -0.00037534, 0.00022993, 7.27289468, 0.99885348, 0.99939473, 0.49324866],
++												 [	-6.27327013, -0.00037529, 0.00022991, 7.27289484, 0.99885362, 0.99939480, 0.49324850],
++												 [	-6.27327024, -0.00037525, 0.00022988, 7.27289499, 0.99885376, 0.99939488, 0.49324874],
++												 [	-6.27327035, -0.00037520, 0.00022985, 7.27289514, 0.99885390, 0.99939495, 0.49324863],
++												 [	-6.27327045, -0.00037516, 0.00022982, 7.27289530, 0.99885404, 0.99939502, 0.49324861],
++												 [	-6.27327056, -0.00037511, 0.00022979, 7.27289545, 0.99885418, 0.99939510, 0.49324863],
++												 [	-6.27327067, -0.00037506, 0.00022977, 7.27289561, 0.99885432, 0.99939517, 0.49324878],
++												 [	-6.27327078, -0.00037502, 0.00022974, 7.27289576, 0.99885446, 0.99939524, 0.49324852],
++												 [	-6.27327089, -0.00037497, 0.00022971, 7.27289592, 0.99885459, 0.99939532, 0.49324868],
++												 [	-6.27327100, -0.00037493, 0.00022968, 7.27289607, 0.99885473, 0.99939539, 0.49324870],
++												 [	-6.27327111, -0.00037488, 0.00022965, 7.27289622, 0.99885487, 0.99939546, 0.49324867],
++												 [	-6.27327122, -0.00037484, 0.00022963, 7.27289638, 0.99885501, 0.99939554, 0.49324861],
++												 [	-6.27327132, -0.00037479, 0.00022960, 7.27289653, 0.99885515, 0.99939561, 0.49324879],
++												 [	-6.27327143, -0.00037475, 0.00022957, 7.27289669, 0.99885529, 0.99939568, 0.49324878],
++												 [	-6.27327154, -0.00037470, 0.00022954, 7.27289684, 0.99885543, 0.99939576, 0.49324873],
++												 [	-6.27327165, -0.00037466, 0.00022952, 7.27289699, 0.99885557, 0.99939583, 0.49324877],
++												 [	-6.27327176, -0.00037461, 0.00022949, 7.27289715, 0.99885570, 0.99939590, 0.49324893],
++												 [	-6.27327187, -0.00037457, 0.00022946, 7.27289730, 0.99885584, 0.99939597, 0.49324876],
++												 [	-6.27327198, -0.00037452, 0.00022943, 7.27289746, 0.99885598, 0.99939605, 0.49324876],
++												 [	-6.27327208, -0.00037447, 0.00022940, 7.27289761, 0.99885612, 0.99939612, 0.49324883],
++												 [	-6.27327219, -0.00037443, 0.00022938, 7.27289776, 0.99885626, 0.99939619, 0.49324897],
++												 [	-6.27327230, -0.00037438, 0.00022935, 7.27289792, 0.99885640, 0.99939627, 0.49324903],
++												 [	-6.27327241, -0.00037434, 0.00022932, 7.27289807, 0.99885653, 0.99939634, 0.49324897],
++												 [	-6.27327252, -0.00037429, 0.00022929, 7.27289822, 0.99885667, 0.99939641, 0.49324915],
++												 [	-6.27327263, -0.00037425, 0.00022927, 7.27289838, 0.99885681, 0.99939649, 0.49324899],
++												 [	-6.27327273, -0.00037420, 0.00022924, 7.27289853, 0.99885695, 0.99939656, 0.49324895],
++												 [	-6.27327284, -0.00037416, 0.00022921, 7.27289869, 0.99885709, 0.99939663, 0.49324901],
++												 [	-6.27327295, -0.00037411, 0.00022918, 7.27289884, 0.99885723, 0.99939671, 0.49324899],
++												 [	-6.27327306, -0.00037407, 0.00022915, 7.27289899, 0.99885736, 0.99939678, 0.49324910],
++												 [	-6.27327317, -0.00037402, 0.00022913, 7.27289915, 0.99885750, 0.99939685, 0.49324893],
++												 [	-6.27327328, -0.00037398, 0.00022910, 7.27289930, 0.99885764, 0.99939692, 0.49324897],
++												 [	-6.27327338, -0.00037393, 0.00022907, 7.27289945, 0.99885778, 0.99939700, 0.49324903],
++												 [	-6.27327349, -0.00037389, 0.00022904, 7.27289961, 0.99885792, 0.99939707, 0.49324907],
++												 [	-6.27327360, -0.00037384, 0.00022902, 7.27289976, 0.99885805, 0.99939714, 0.49324912],
++												 [	-6.27327371, -0.00037380, 0.00022899, 7.27289991, 0.99885819, 0.99939722, 0.49324911],
++												 [	-6.27327382, -0.00037375, 0.00022896, 7.27290007, 0.99885833, 0.99939729, 0.49324918],
++												 [	-6.27327392, -0.00037371, 0.00022893, 7.27290022, 0.99885847, 0.99939736, 0.49324911],
++												 [	-6.27327403, -0.00037366, 0.00022891, 7.27290037, 0.99885861, 0.99939743, 0.49324922],
++												 [	-6.27327414, -0.00037362, 0.00022888, 7.27290052, 0.99885874, 0.99939751, 0.49324912],
++												 [	-6.27327425, -0.00037357, 0.00022885, 7.27290068, 0.99885888, 0.99939758, 0.49324914],
++												 [	-6.27327436, -0.00037353, 0.00022882, 7.27290083, 0.99885902, 0.99939765, 0.49324919],
++												 [	-6.27327446, -0.00037348, 0.00022880, 7.27290098, 0.99885916, 0.99939772, 0.49324915],
++												 [	-6.27327457, -0.00037344, 0.00022877, 7.27290114, 0.99885929, 0.99939780, 0.49324920],
++												 [	-6.27327468, -0.00037339, 0.00022874, 7.27290129, 0.99885943, 0.99939787, 0.49324914],
++												 [	-6.27327479, -0.00037335, 0.00022871, 7.27290144, 0.99885957, 0.99939794, 0.49324927],
++												 [	-6.27327490, -0.00037330, 0.00022868, 7.27290160, 0.99885971, 0.99939801, 0.49324924],
++												 [	-6.27327500, -0.00037326, 0.00022866, 7.27290175, 0.99885984, 0.99939809, 0.49324926],
++												 [	-6.27327511, -0.00037321, 0.00022863, 7.27290190, 0.99885998, 0.99939816, 0.49324920],
++												 [	-6.27327522, -0.00037317, 0.00022860, 7.27290205, 0.99886012, 0.99939823, 0.49324932],
++												 [	-6.27327533, -0.00037312, 0.00022857, 7.27290221, 0.99886026, 0.99939831, 0.49324939],
++												 [	-6.27327543, -0.00037308, 0.00022855, 7.27290236, 0.99886039, 0.99939838, 0.49324946],
++												 [	-6.27327554, -0.00037303, 0.00022852, 7.27290251, 0.99886053, 0.99939845, 0.49324935],
++												 [	-6.27327565, -0.00037299, 0.00022849, 7.27290266, 0.99886067, 0.99939852, 0.49324930],
++												 [	-6.27327576, -0.00037294, 0.00022846, 7.27290282, 0.99886081, 0.99939860, 0.49324950],
++												 [	-6.27327586, -0.00037290, 0.00022844, 7.27290297, 0.99886094, 0.99939867, 0.49324938],
++												 [	-6.27327597, -0.00037285, 0.00022841, 7.27290312, 0.99886108, 0.99939874, 0.49324942],
++												 [	-6.27327608, -0.00037281, 0.00022838, 7.27290327, 0.99886122, 0.99939881, 0.49324944],
++												 [	-6.27327619, -0.00037276, 0.00022835, 7.27290343, 0.99886136, 0.99939888, 0.49324942],
++												 [	-6.27327629, -0.00037272, 0.00022833, 7.27290358, 0.99886149, 0.99939896, 0.49324940],
++												 [	-6.27327640, -0.00037267, 0.00022830, 7.27290373, 0.99886163, 0.99939903, 0.49324954],
++												 [	-6.27327651, -0.00037263, 0.00022827, 7.27290388, 0.99886177, 0.99939910, 0.49324936],
++												 [	-6.27327662, -0.00037258, 0.00022824, 7.27290404, 0.99886190, 0.99939917, 0.49324945],
++												 [	-6.27327672, -0.00037254, 0.00022822, 7.27290419, 0.99886204, 0.99939925, 0.49324953],
++												 [	-6.27327683, -0.00037249, 0.00022819, 7.27290434, 0.99886218, 0.99939932, 0.49324957],
++												 [	-6.27327694, -0.00037245, 0.00022816, 7.27290449, 0.99886231, 0.99939939, 0.49324952],
++												 [	-6.27327705, -0.00037240, 0.00022813, 7.27290464, 0.99886245, 0.99939946, 0.49324959],
++												 [	-6.27327715, -0.00037236, 0.00022811, 7.27290480, 0.99886259, 0.99939954, 0.49324957],
++												 [	-6.27327726, -0.00037231, 0.00022808, 7.27290495, 0.99886273, 0.99939961, 0.49324964],
++												 [	-6.27327737, -0.00037227, 0.00022805, 7.27290510, 0.99886286, 0.99939968, 0.49324963],
++												 [	-6.27327747, -0.00037222, 0.00022802, 7.27290525, 0.99886300, 0.99939975, 0.49324974],
++												 [	-6.27327758, -0.00037218, 0.00022800, 7.27290540, 0.99886314, 0.99939982, 0.49324966],
++												 [	-6.27327769, -0.00037213, 0.00022797, 7.27290556, 0.99886327, 0.99939990, 0.49324952],
++												 [	-6.27327780, -0.00037209, 0.00022794, 7.27290571, 0.99886341, 0.99939997, 0.49324969],
++												 [	-6.27327790, -0.00037204, 0.00022791, 7.27290586, 0.99886355, 0.99940004, 0.49324970],
++												 [	-6.27327801, -0.00037200, 0.00022789, 7.27290601, 0.99886368, 0.99940011, 0.49324976],
++												 [	-6.27327812, -0.00037195, 0.00022786, 7.27290616, 0.99886382, 0.99940019, 0.49324984],
++												 [	-6.27327822, -0.00037191, 0.00022783, 7.27290631, 0.99886396, 0.99940026, 0.49324963],
++												 [	-6.27327833, -0.00037187, 0.00022781, 7.27290647, 0.99886409, 0.99940033, 0.49324968],
++												 [	-6.27327844, -0.00037182, 0.00022778, 7.27290662, 0.99886423, 0.99940040, 0.49324978],
++												 [	-6.27327855, -0.00037178, 0.00022775, 7.27290677, 0.99886436, 0.99940047, 0.49324985],
++												 [	-6.27327865, -0.00037173, 0.00022772, 7.27290692, 0.99886450, 0.99940055, 0.49325000],
++												 [	-6.27327876, -0.00037169, 0.00022770, 7.27290707, 0.99886464, 0.99940062, 0.49324984],
++												 [	-6.27327887, -0.00037164, 0.00022767, 7.27290722, 0.99886477, 0.99940069, 0.49324982],
++												 [	-6.27327897, -0.00037160, 0.00022764, 7.27290737, 0.99886491, 0.99940076, 0.49324988],
++												 [	-6.27327908, -0.00037155, 0.00022761, 7.27290753, 0.99886505, 0.99940083, 0.49325015],
++												 [	-6.27327919, -0.00037151, 0.00022759, 7.27290768, 0.99886518, 0.99940091, 0.49324977],
++												 [	-6.27327929, -0.00037146, 0.00022756, 7.27290783, 0.99886532, 0.99940098, 0.49324993],
++												 [	-6.27327940, -0.00037142, 0.00022753, 7.27290798, 0.99886546, 0.99940105, 0.49325002],
++												 [	-6.27327951, -0.00037137, 0.00022750, 7.27290813, 0.99886559, 0.99940112, 0.49324999],
++												 [	-6.27327961, -0.00037133, 0.00022748, 7.27290828, 0.99886573, 0.99940119, 0.49325000],
++												 [	-6.27327972, -0.00037129, 0.00022745, 7.27290843, 0.99886586, 0.99940126, 0.49325006],
++												 [	-6.27327983, -0.00037124, 0.00022742, 7.27290858, 0.99886600, 0.99940134, 0.49324994],
++												 [	-6.27327993, -0.00037120, 0.00022740, 7.27290874, 0.99886614, 0.99940141, 0.49324986],
++												 [	-6.27328004, -0.00037115, 0.00022737, 7.27290889, 0.99886627, 0.99940148, 0.49325009],
++												 [	-6.27328015, -0.00037111, 0.00022734, 7.27290904, 0.99886641, 0.99940155, 0.49325012],
++												 [	-6.27328025, -0.00037106, 0.00022731, 7.27290919, 0.99886654, 0.99940162, 0.49325015],
++												 [	-6.27328036, -0.00037102, 0.00022729, 7.27290934, 0.99886668, 0.99940170, 0.49325010],
++												 [	-6.27328047, -0.00037097, 0.00022726, 7.27290949, 0.99886682, 0.99940177, 0.49325020],
++												 [	-6.27328057, -0.00037093, 0.00022723, 7.27290964, 0.99886695, 0.99940184, 0.49325004],
++												 [	-6.27328068, -0.00037089, 0.00022720, 7.27290979, 0.99886709, 0.99940191, 0.49325014],
++												 [	-6.27328078, -0.00037084, 0.00022718, 7.27290994, 0.99886722, 0.99940198, 0.49325025],
++												 [	-6.27328089, -0.00037080, 0.00022715, 7.27291009, 0.99886736, 0.99940205, 0.49325008],
++												 [	-6.27328100, -0.00037075, 0.00022712, 7.27291024, 0.99886749, 0.99940213, 0.49325032],
++												 [	-6.27328110, -0.00037071, 0.00022710, 7.27291040, 0.99886763, 0.99940220, 0.49325016],
++												 [	-6.27328121, -0.00037066, 0.00022707, 7.27291055, 0.99886777, 0.99940227, 0.49325010],
++												 [	-6.27328132, -0.00037062, 0.00022704, 7.27291070, 0.99886790, 0.99940234, 0.49325006],
++												 [	-6.27328142, -0.00037057, 0.00022701, 7.27291085, 0.99886804, 0.99940241, 0.49325022],
++												 [	-6.27328153, -0.00037053, 0.00022699, 7.27291100, 0.99886817, 0.99940248, 0.49325031],
++												 [	-6.27328163, -0.00037049, 0.00022696, 7.27291115, 0.99886831, 0.99940255, 0.49325037],
++												 [	-6.27328174, -0.00037044, 0.00022693, 7.27291130, 0.99886844, 0.99940263, 0.49325027],
++												 [	-6.27328185, -0.00037040, 0.00022691, 7.27291145, 0.99886858, 0.99940270, 0.49325034],
++												 [	-6.27328195, -0.00037035, 0.00022688, 7.27291160, 0.99886871, 0.99940277, 0.49325020],
++												 [	-6.27328206, -0.00037031, 0.00022685, 7.27291175, 0.99886885, 0.99940284, 0.49325035],
++												 [	-6.27328217, -0.00037026, 0.00022682, 7.27291190, 0.99886898, 0.99940291, 0.49325022],
++												 [	-6.27328227, -0.00037022, 0.00022680, 7.27291205, 0.99886912, 0.99940298, 0.49325038],
++												 [	-6.27328238, -0.00037018, 0.00022677, 7.27291220, 0.99886926, 0.99940305, 0.49325045],
++												 [	-6.27328248, -0.00037013, 0.00022674, 7.27291235, 0.99886939, 0.99940313, 0.49325055],
++												 [	-6.27328259, -0.00037009, 0.00022672, 7.27291250, 0.99886953, 0.99940320, 0.49325042],
++												 [	-6.27328269, -0.00037004, 0.00022669, 7.27291265, 0.99886966, 0.99940327, 0.49325036],
++												 [	-6.27328280, -0.00037000, 0.00022666, 7.27291280, 0.99886980, 0.99940334, 0.49325057],
++												 [	-6.27328291, -0.00036995, 0.00022663, 7.27291295, 0.99886993, 0.99940341, 0.49325047],
++												 [	-6.27328301, -0.00036991, 0.00022661, 7.27291310, 0.99887007, 0.99940348, 0.49325050],
++												 [	-6.27328312, -0.00036987, 0.00022658, 7.27291325, 0.99887020, 0.99940355, 0.49325044],
++												 [	-6.27328322, -0.00036982, 0.00022655, 7.27291340, 0.99887034, 0.99940363, 0.49325060],
++												 [	-6.27328333, -0.00036978, 0.00022653, 7.27291355, 0.99887047, 0.99940370, 0.49325046],
++												 [	-6.27328344, -0.00036973, 0.00022650, 7.27291370, 0.99887061, 0.99940377, 0.49325049],
++												 [	-6.27328354, -0.00036969, 0.00022647, 7.27291385, 0.99887074, 0.99940384, 0.49325054],
++												 [	-6.27328365, -0.00036965, 0.00022644, 7.27291400, 0.99887088, 0.99940391, 0.49325051],
++												 [	-6.27328375, -0.00036960, 0.00022642, 7.27291415, 0.99887101, 0.99940398, 0.49325068],
++												 [	-6.27328386, -0.00036956, 0.00022639, 7.27291430, 0.99887115, 0.99940405, 0.49325059],
++												 [	-6.27328396, -0.00036951, 0.00022636, 7.27291445, 0.99887128, 0.99940412, 0.49325082],
++												 [	-6.27328407, -0.00036947, 0.00022634, 7.27291460, 0.99887142, 0.99940419, 0.49325077],
++												 [	-6.27328418, -0.00036942, 0.00022631, 7.27291475, 0.99887155, 0.99940427, 0.49325076],
++												 [	-6.27328428, -0.00036938, 0.00022628, 7.27291490, 0.99887168, 0.99940434, 0.49325073],
++												 [	-6.27328439, -0.00036934, 0.00022626, 7.27291505, 0.99887182, 0.99940441, 0.49325073],
++												 [	-6.27328449, -0.00036929, 0.00022623, 7.27291520, 0.99887195, 0.99940448, 0.49325059],
++												 [	-6.27328460, -0.00036925, 0.00022620, 7.27291535, 0.99887209, 0.99940455, 0.49325071],
++												 [	-6.27328470, -0.00036920, 0.00022617, 7.27291550, 0.99887222, 0.99940462, 0.49325075],
++												 [	-6.27328481, -0.00036916, 0.00022615, 7.27291565, 0.99887236, 0.99940469, 0.49325074],
++												 [	-6.27328491, -0.00036912, 0.00022612, 7.27291580, 0.99887249, 0.99940476, 0.49325076],
++												 [	-6.27328502, -0.00036907, 0.00022609, 7.27291595, 0.99887263, 0.99940483, 0.49325069],
++												 [	-6.27328512, -0.00036903, 0.00022607, 7.27291610, 0.99887276, 0.99940491, 0.49325089],
++												 [	-6.27328523, -0.00036898, 0.00022604, 7.27291624, 0.99887290, 0.99940498, 0.49325087],
++												 [	-6.27328533, -0.00036894, 0.00022601, 7.27291639, 0.99887303, 0.99940505, 0.49325089],
++												 [	-6.27328544, -0.00036890, 0.00022599, 7.27291654, 0.99887316, 0.99940512, 0.49325087],
++												 [	-6.27328555, -0.00036885, 0.00022596, 7.27291669, 0.99887330, 0.99940519, 0.49325085],
++												 [	-6.27328565, -0.00036881, 0.00022593, 7.27291684, 0.99887343, 0.99940526, 0.49325080],
++												 [	-6.27328576, -0.00036876, 0.00022590, 7.27291699, 0.99887357, 0.99940533, 0.49325071],
++												 [	-6.27328586, -0.00036872, 0.00022588, 7.27291714, 0.99887370, 0.99940540, 0.49325095],
++												 [	-6.27328597, -0.00036868, 0.00022585, 7.27291729, 0.99887384, 0.99940547, 0.49325080],
++												 [	-6.27328607, -0.00036863, 0.00022582, 7.27291744, 0.99887397, 0.99940554, 0.49325088],
++												 [	-6.27328618, -0.00036859, 0.00022580, 7.27291759, 0.99887410, 0.99940561, 0.49325100],
++												 [	-6.27328628, -0.00036855, 0.00022577, 7.27291774, 0.99887424, 0.99940568, 0.49325106],
++												 [	-6.27328639, -0.00036850, 0.00022574, 7.27291789, 0.99887437, 0.99940576, 0.49325085],
++												 [	-6.27328649, -0.00036846, 0.00022572, 7.27291803, 0.99887451, 0.99940583, 0.49325087],
++												 [	-6.27328660, -0.00036841, 0.00022569, 7.27291818, 0.99887464, 0.99940590, 0.49325084],
++												 [	-6.27328670, -0.00036837, 0.00022566, 7.27291833, 0.99887477, 0.99940597, 0.49325118],
++												 [	-6.27328681, -0.00036833, 0.00022564, 7.27291848, 0.99887491, 0.99940604, 0.49325112],
++												 [	-6.27328691, -0.00036828, 0.00022561, 7.27291863, 0.99887504, 0.99940611, 0.49325104],
++												 [	-6.27328702, -0.00036824, 0.00022558, 7.27291878, 0.99887518, 0.99940618, 0.49325104],
++												 [	-6.27328712, -0.00036819, 0.00022556, 7.27291893, 0.99887531, 0.99940625, 0.49325116],
++												 [	-6.27328723, -0.00036815, 0.00022553, 7.27291907, 0.99887544, 0.99940632, 0.49325111],
++												 [	-6.27328733, -0.00036811, 0.00022550, 7.27291922, 0.99887558, 0.99940639, 0.49325116],
++												 [	-6.27328744, -0.00036806, 0.00022547, 7.27291937, 0.99887571, 0.99940646, 0.49325108],
++												 [	-6.27328754, -0.00036802, 0.00022545, 7.27291952, 0.99887584, 0.99940653, 0.49325111],
++												 [	-6.27328764, -0.00036798, 0.00022542, 7.27291967, 0.99887598, 0.99940660, 0.49325113],
++												 [	-6.27328775, -0.00036793, 0.00022539, 7.27291982, 0.99887611, 0.99940667, 0.49325130],
++												 [	-6.27328785, -0.00036789, 0.00022537, 7.27291997, 0.99887625, 0.99940674, 0.49325114],
++												 [	-6.27328796, -0.00036784, 0.00022534, 7.27292011, 0.99887638, 0.99940681, 0.49325125],
++												 [	-6.27328806, -0.00036780, 0.00022531, 7.27292026, 0.99887651, 0.99940689, 0.49325120],
++												 [	-6.27328817, -0.00036776, 0.00022529, 7.27292041, 0.99887665, 0.99940696, 0.49325118],
++												 [	-6.27328827, -0.00036771, 0.00022526, 7.27292056, 0.99887678, 0.99940703, 0.49325120],
++												 [	-6.27328838, -0.00036767, 0.00022523, 7.27292071, 0.99887691, 0.99940710, 0.49325135],
++												 [	-6.27328848, -0.00036763, 0.00022521, 7.27292086, 0.99887705, 0.99940717, 0.49325134],
++												 [	-6.27328859, -0.00036758, 0.00022518, 7.27292100, 0.99887718, 0.99940724, 0.49325139],
++												 [	-6.27328869, -0.00036754, 0.00022515, 7.27292115, 0.99887731, 0.99940731, 0.49325135],
++												 [	-6.27328880, -0.00036749, 0.00022513, 7.27292130, 0.99887745, 0.99940738, 0.49325126],
++												 [	-6.27328890, -0.00036745, 0.00022510, 7.27292145, 0.99887758, 0.99940745, 0.49325131],
++												 [	-6.27328900, -0.00036741, 0.00022507, 7.27292160, 0.99887771, 0.99940752, 0.49325136],
++												 [	-6.27328911, -0.00036736, 0.00022505, 7.27292174, 0.99887785, 0.99940759, 0.49325152],
++												 [	-6.27328921, -0.00036732, 0.00022502, 7.27292189, 0.99887798, 0.99940766, 0.49325159],
++												 [	-6.27328932, -0.00036728, 0.00022499, 7.27292204, 0.99887811, 0.99940773, 0.49325140],
++												 [	-6.27328942, -0.00036723, 0.00022497, 7.27292219, 0.99887825, 0.99940780, 0.49325141],
++												 [	-6.27328953, -0.00036719, 0.00022494, 7.27292234, 0.99887838, 0.99940787, 0.49325131],
++												 [	-6.27328963, -0.00036715, 0.00022491, 7.27292248, 0.99887851, 0.99940794, 0.49325145],
++												 [	-6.27328973, -0.00036710, 0.00022489, 7.27292263, 0.99887864, 0.99940801, 0.49325145],
++												 [	-6.27328984, -0.00036706, 0.00022486, 7.27292278, 0.99887878, 0.99940808, 0.49325157],
++												 [	-6.27328994, -0.00036702, 0.00022483, 7.27292293, 0.99887891, 0.99940815, 0.49325149],
++												 [	-6.27329005, -0.00036697, 0.00022481, 7.27292307, 0.99887904, 0.99940822, 0.49325164],
++												 [	-6.27329015, -0.00036693, 0.00022478, 7.27292322, 0.99887918, 0.99940829, 0.49325155],
++												 [	-6.27329025, -0.00036689, 0.00022475, 7.27292337, 0.99887931, 0.99940836, 0.49325164],
++												 [	-6.27329036, -0.00036684, 0.00022473, 7.27292352, 0.99887944, 0.99940843, 0.49325151],
++												 [	-6.27329046, -0.00036680, 0.00022470, 7.27292366, 0.99887958, 0.99940850, 0.49325168],
++												 [	-6.27329057, -0.00036675, 0.00022467, 7.27292381, 0.99887971, 0.99940857, 0.49325138],
++												 [	-6.27329067, -0.00036671, 0.00022465, 7.27292396, 0.99887984, 0.99940864, 0.49325171],
++												 [	-6.27329078, -0.00036667, 0.00022462, 7.27292411, 0.99887997, 0.99940871, 0.49325159],
++												 [	-6.27329088, -0.00036662, 0.00022459, 7.27292425, 0.99888011, 0.99940878, 0.49325160],
++												 [	-6.27329098, -0.00036658, 0.00022457, 7.27292440, 0.99888024, 0.99940885, 0.49325177],
++												 [	-6.27329109, -0.00036654, 0.00022454, 7.27292455, 0.99888037, 0.99940892, 0.49325177],
++												 [	-6.27329119, -0.00036649, 0.00022451, 7.27292470, 0.99888050, 0.99940899, 0.49325164],
++												 [	-6.27329129, -0.00036645, 0.00022449, 7.27292484, 0.99888064, 0.99940906, 0.49325172],
++												 [	-6.27329140, -0.00036641, 0.00022446, 7.27292499, 0.99888077, 0.99940913, 0.49325179],
++												 [	-6.27329150, -0.00036636, 0.00022443, 7.27292514, 0.99888090, 0.99940920, 0.49325181],
++												 [	-6.27329161, -0.00036632, 0.00022441, 7.27292529, 0.99888103, 0.99940927, 0.49325178],
++												 [	-6.27329171, -0.00036628, 0.00022438, 7.27292543, 0.99888117, 0.99940934, 0.49325178],
++												 [	-6.27329181, -0.00036623, 0.00022435, 7.27292558, 0.99888130, 0.99940941, 0.49325183],
++												 [	-6.27329192, -0.00036619, 0.00022433, 7.27292573, 0.99888143, 0.99940948, 0.49325179],
++												 [	-6.27329202, -0.00036615, 0.00022430, 7.27292587, 0.99888156, 0.99940955, 0.49325183],
++												 [	-6.27329212, -0.00036610, 0.00022427, 7.27292602, 0.99888170, 0.99940962, 0.49325178],
++												 [	-6.27329223, -0.00036606, 0.00022425, 7.27292617, 0.99888183, 0.99940969, 0.49325167],
++												 [	-6.27329233, -0.00036602, 0.00022422, 7.27292631, 0.99888196, 0.99940976, 0.49325180],
++												 [	-6.27329244, -0.00036597, 0.00022419, 7.27292646, 0.99888209, 0.99940983, 0.49325201],
++												 [	-6.27329254, -0.00036593, 0.00022417, 7.27292661, 0.99888222, 0.99940990, 0.49325190],
++												 [	-6.27329264, -0.00036589, 0.00022414, 7.27292675, 0.99888236, 0.99940997, 0.49325201],
++												 [	-6.27329275, -0.00036584, 0.00022412, 7.27292690, 0.99888249, 0.99941004, 0.49325203],
++												 [	-6.27329285, -0.00036580, 0.00022409, 7.27292705, 0.99888262, 0.99941011, 0.49325195],
++												 [	-6.27329295, -0.00036576, 0.00022406, 7.27292720, 0.99888275, 0.99941018, 0.49325194],
++												 [	-6.27329306, -0.00036571, 0.00022404, 7.27292734, 0.99888289, 0.99941025, 0.49325187],
++												 [	-6.27329316, -0.00036567, 0.00022401, 7.27292749, 0.99888302, 0.99941032, 0.49325203],
++												 [	-6.27329326, -0.00036563, 0.00022398, 7.27292764, 0.99888315, 0.99941039, 0.49325193],
++												 [	-6.27329337, -0.00036559, 0.00022396, 7.27292778, 0.99888328, 0.99941046, 0.49325192],
++												 [	-6.27329347, -0.00036554, 0.00022393, 7.27292793, 0.99888341, 0.99941053, 0.49325212],
++												 [	-6.27329357, -0.00036550, 0.00022390, 7.27292807, 0.99888355, 0.99941060, 0.49325192],
++												 [	-6.27329368, -0.00036546, 0.00022388, 7.27292822, 0.99888368, 0.99941067, 0.49325204],
++												 [	-6.27329378, -0.00036541, 0.00022385, 7.27292837, 0.99888381, 0.99941074, 0.49325210],
++												 [	-6.27329388, -0.00036537, 0.00022382, 7.27292851, 0.99888394, 0.99941081, 0.49325200],
++												 [	-6.27329399, -0.00036533, 0.00022380, 7.27292866, 0.99888407, 0.99941088, 0.49325216],
++												 [	-6.27329409, -0.00036528, 0.00022377, 7.27292881, 0.99888420, 0.99941095, 0.49325212],
++												 [	-6.27329419, -0.00036524, 0.00022374, 7.27292895, 0.99888434, 0.99941102, 0.49325214],
++												 [	-6.27329430, -0.00036520, 0.00022372, 7.27292910, 0.99888447, 0.99941108, 0.49325208],
++												 [	-6.27329440, -0.00036515, 0.00022369, 7.27292925, 0.99888460, 0.99941115, 0.49325230],
++												 [	-6.27329450, -0.00036511, 0.00022367, 7.27292939, 0.99888473, 0.99941122, 0.49325225],
++												 [	-6.27329461, -0.00036507, 0.00022364, 7.27292954, 0.99888486, 0.99941129, 0.49325212],
++												 [	-6.27329471, -0.00036502, 0.00022361, 7.27292968, 0.99888499, 0.99941136, 0.49325221],
++												 [	-6.27329481, -0.00036498, 0.00022359, 7.27292983, 0.99888513, 0.99941143, 0.49325215],
++												 [	-6.27329491, -0.00036494, 0.00022356, 7.27292998, 0.99888526, 0.99941150, 0.49325228],
++												 [	-6.27329502, -0.00036490, 0.00022353, 7.27293012, 0.99888539, 0.99941157, 0.49325236],
++												 [	-6.27329512, -0.00036485, 0.00022351, 7.27293027, 0.99888552, 0.99941164, 0.49325238],
++												 [	-6.27329522, -0.00036481, 0.00022348, 7.27293041, 0.99888565, 0.99941171, 0.49325230],
++												 [	-6.27329533, -0.00036477, 0.00022345, 7.27293056, 0.99888578, 0.99941178, 0.49325233],
++												 [	-6.27329543, -0.00036472, 0.00022343, 7.27293071, 0.99888591, 0.99941185, 0.49325243],
++												 [	-6.27329553, -0.00036468, 0.00022340, 7.27293085, 0.99888605, 0.99941192, 0.49325248],
++												 [	-6.27329564, -0.00036464, 0.00022338, 7.27293100, 0.99888618, 0.99941199, 0.49325226],
++												 [	-6.27329574, -0.00036460, 0.00022335, 7.27293114, 0.99888631, 0.99941206, 0.49325247],
++												 [	-6.27329584, -0.00036455, 0.00022332, 7.27293129, 0.99888644, 0.99941213, 0.49325235],
++												 [	-6.27329594, -0.00036451, 0.00022330, 7.27293143, 0.99888657, 0.99941219, 0.49325238],
++												 [	-6.27329605, -0.00036447, 0.00022327, 7.27293158, 0.99888670, 0.99941226, 0.49325236],
++												 [	-6.27329615, -0.00036442, 0.00022324, 7.27293173, 0.99888683, 0.99941233, 0.49325251],
++												 [	-6.27329625, -0.00036438, 0.00022322, 7.27293187, 0.99888696, 0.99941240, 0.49325244],
++												 [	-6.27329635, -0.00036434, 0.00022319, 7.27293202, 0.99888709, 0.99941247, 0.49325243],
++												 [	-6.27329646, -0.00036429, 0.00022317, 7.27293216, 0.99888723, 0.99941254, 0.49325235],
++												 [	-6.27329656, -0.00036425, 0.00022314, 7.27293231, 0.99888736, 0.99941261, 0.49325265],
++												 [	-6.27329666, -0.00036421, 0.00022311, 7.27293245, 0.99888749, 0.99941268, 0.49325266],
++												 [	-6.27329677, -0.00036417, 0.00022309, 7.27293260, 0.99888762, 0.99941275, 0.49325241],
++												 [	-6.27329687, -0.00036412, 0.00022306, 7.27293274, 0.99888775, 0.99941282, 0.49325251],
++												 [	-6.27329697, -0.00036408, 0.00022303, 7.27293289, 0.99888788, 0.99941289, 0.49325244],
++												 [	-6.27329707, -0.00036404, 0.00022301, 7.27293304, 0.99888801, 0.99941295, 0.49325256],
++												 [	-6.27329718, -0.00036399, 0.00022298, 7.27293318, 0.99888814, 0.99941302, 0.49325261],
++												 [	-6.27329728, -0.00036395, 0.00022296, 7.27293333, 0.99888827, 0.99941309, 0.49325262],
++												 [	-6.27329738, -0.00036391, 0.00022293, 7.27293347, 0.99888840, 0.99941316, 0.49325272],
++												 [	-6.27329748, -0.00036387, 0.00022290, 7.27293362, 0.99888853, 0.99941323, 0.49325264],
++												 [	-6.27329758, -0.00036382, 0.00022288, 7.27293376, 0.99888866, 0.99941330, 0.49325271],
++												 [	-6.27329769, -0.00036378, 0.00022285, 7.27293391, 0.99888879, 0.99941337, 0.49325250],
++												 [	-6.27329779, -0.00036374, 0.00022282, 7.27293405, 0.99888893, 0.99941344, 0.49325276],
++												 [	-6.27329789, -0.00036370, 0.00022280, 7.27293420, 0.99888906, 0.99941351, 0.49325279],
++												 [	-6.27329799, -0.00036365, 0.00022277, 7.27293434, 0.99888919, 0.99941358, 0.49325256],
++												 [	-6.27329810, -0.00036361, 0.00022275, 7.27293449, 0.99888932, 0.99941364, 0.49325269],
++												 [	-6.27329820, -0.00036357, 0.00022272, 7.27293463, 0.99888945, 0.99941371, 0.49325274],
++												 [	-6.27329830, -0.00036352, 0.00022269, 7.27293478, 0.99888958, 0.99941378, 0.49325276],
++												 [	-6.27329840, -0.00036348, 0.00022267, 7.27293492, 0.99888971, 0.99941385, 0.49325275],
++												 [	-6.27329851, -0.00036344, 0.00022264, 7.27293507, 0.99888984, 0.99941392, 0.49325266],
++												 [	-6.27329861, -0.00036340, 0.00022261, 7.27293521, 0.99888997, 0.99941399, 0.49325274],
++												 [	-6.27329871, -0.00036335, 0.00022259, 7.27293536, 0.99889010, 0.99941406, 0.49325275],
++												 [	-6.27329881, -0.00036331, 0.00022256, 7.27293550, 0.99889023, 0.99941413, 0.49325279],
++												 [	-6.27329891, -0.00036327, 0.00022254, 7.27293565, 0.99889036, 0.99941420, 0.49325277],
++												 [	-6.27329902, -0.00036323, 0.00022251, 7.27293579, 0.99889049, 0.99941426, 0.49325299],
++												 [	-6.27329912, -0.00036318, 0.00022248, 7.27293593, 0.99889062, 0.99941433, 0.49325298],
++												 [	-6.27329922, -0.00036314, 0.00022246, 7.27293608, 0.99889075, 0.99941440, 0.49325274],
++												 [	-6.27329932, -0.00036310, 0.00022243, 7.27293622, 0.99889088, 0.99941447, 0.49325294],
++												 [	-6.27329942, -0.00036306, 0.00022241, 7.27293637, 0.99889101, 0.99941454, 0.49325297],
++												 [	-6.27329953, -0.00036301, 0.00022238, 7.27293651, 0.99889114, 0.99941461, 0.49325278],
++												 [	-6.27329963, -0.00036297, 0.00022235, 7.27293666, 0.99889127, 0.99941468, 0.49325281],
++												 [	-6.27329973, -0.00036293, 0.00022233, 7.27293680, 0.99889140, 0.99941474, 0.49325304],
++												 [	-6.27329983, -0.00036289, 0.00022230, 7.27293695, 0.99889153, 0.99941481, 0.49325295],
++												 [	-6.27329993, -0.00036284, 0.00022228, 7.27293709, 0.99889166, 0.99941488, 0.49325311],
++												 [	-6.27330004, -0.00036280, 0.00022225, 7.27293723, 0.99889179, 0.99941495, 0.49325291],
++												 [	-6.27330014, -0.00036276, 0.00022222, 7.27293738, 0.99889192, 0.99941502, 0.49325317],
++												 [	-6.27330024, -0.00036272, 0.00022220, 7.27293752, 0.99889205, 0.99941509, 0.49325298],
++												 [	-6.27330034, -0.00036267, 0.00022217, 7.27293767, 0.99889218, 0.99941516, 0.49325316],
++												 [	-6.27330044, -0.00036263, 0.00022215, 7.27293781, 0.99889231, 0.99941522, 0.49325310],
++												 [	-6.27330054, -0.00036259, 0.00022212, 7.27293796, 0.99889244, 0.99941529, 0.49325314],
++												 [	-6.27330065, -0.00036255, 0.00022209, 7.27293810, 0.99889257, 0.99941536, 0.49325310],
++												 [	-6.27330075, -0.00036250, 0.00022207, 7.27293824, 0.99889270, 0.99941543, 0.49325300],
++												 [	-6.27330085, -0.00036246, 0.00022204, 7.27293839, 0.99889283, 0.99941550, 0.49325323],
++												 [	-6.27330095, -0.00036242, 0.00022202, 7.27293853, 0.99889296, 0.99941557, 0.49325313],
++												 [	-6.27330105, -0.00036238, 0.00022199, 7.27293868, 0.99889309, 0.99941564, 0.49325318],
++												 [	-6.27330115, -0.00036233, 0.00022196, 7.27293882, 0.99889322, 0.99941570, 0.49325325],
++												 [	-6.27330126, -0.00036229, 0.00022194, 7.27293896, 0.99889335, 0.99941577, 0.49325315],
++												 [	-6.27330136, -0.00036225, 0.00022191, 7.27293911, 0.99889348, 0.99941584, 0.49325312],
++												 [	-6.27330146, -0.00036221, 0.00022189, 7.27293925, 0.99889361, 0.99941591, 0.49325327],
++												 [	-6.27330156, -0.00036216, 0.00022186, 7.27293940, 0.99889374, 0.99941598, 0.49325334],
++												 [	-6.27330166, -0.00036212, 0.00022183, 7.27293954, 0.99889387, 0.99941605, 0.49325318],
++												 [	-6.27330176, -0.00036208, 0.00022181, 7.27293968, 0.99889400, 0.99941611, 0.49325339],
++												 [	-6.27330186, -0.00036204, 0.00022178, 7.27293983, 0.99889412, 0.99941618, 0.49325320],
++												 [	-6.27330197, -0.00036199, 0.00022176, 7.27293997, 0.99889425, 0.99941625, 0.49325327],
++												 [	-6.27330207, -0.00036195, 0.00022173, 7.27294011, 0.99889438, 0.99941632, 0.49325329],
++												 [	-6.27330217, -0.00036191, 0.00022170, 7.27294026, 0.99889451, 0.99941639, 0.49325333],
++												 [	-6.27330227, -0.00036187, 0.00022168, 7.27294040, 0.99889464, 0.99941646, 0.49325330],
++												 [	-6.27330237, -0.00036182, 0.00022165, 7.27294055, 0.99889477, 0.99941652, 0.49325321],
++												 [	-6.27330247, -0.00036178, 0.00022163, 7.27294069, 0.99889490, 0.99941659, 0.49325343],
++												 [	-6.27330257, -0.00036174, 0.00022160, 7.27294083, 0.99889503, 0.99941666, 0.49325334],
++												 [	-6.27330267, -0.00036170, 0.00022157, 7.27294098, 0.99889516, 0.99941673, 0.49325333],
++												 [	-6.27330278, -0.00036166, 0.00022155, 7.27294112, 0.99889529, 0.99941680, 0.49325328],
++												 [	-6.27330288, -0.00036161, 0.00022152, 7.27294126, 0.99889542, 0.99941686, 0.49325344],
++												 [	-6.27330298, -0.00036157, 0.00022150, 7.27294141, 0.99889555, 0.99941693, 0.49325340],
++												 [	-6.27330308, -0.00036153, 0.00022147, 7.27294155, 0.99889568, 0.99941700, 0.49325337],
++												 [	-6.27330318, -0.00036149, 0.00022144, 7.27294169, 0.99889580, 0.99941707, 0.49325346],
++												 [	-6.27330328, -0.00036144, 0.00022142, 7.27294184, 0.99889593, 0.99941714, 0.49325350],
++												 [	-6.27330338, -0.00036140, 0.00022139, 7.27294198, 0.99889606, 0.99941720, 0.49325355],
++												 [	-6.27330348, -0.00036136, 0.00022137, 7.27294212, 0.99889619, 0.99941727, 0.49325362],
++												 [	-6.27330358, -0.00036132, 0.00022134, 7.27294227, 0.99889632, 0.99941734, 0.49325356],
++												 [	-6.27330368, -0.00036128, 0.00022132, 7.27294241, 0.99889645, 0.99941741, 0.49325360],
++												 [	-6.27330379, -0.00036123, 0.00022129, 7.27294255, 0.99889658, 0.99941748, 0.49325348],
++												 [	-6.27330389, -0.00036119, 0.00022126, 7.27294269, 0.99889671, 0.99941754, 0.49325378],
++												 [	-6.27330399, -0.00036115, 0.00022124, 7.27294284, 0.99889684, 0.99941761, 0.49325364],
++												 [	-6.27330409, -0.00036111, 0.00022121, 7.27294298, 0.99889696, 0.99941768, 0.49325361],
++												 [	-6.27330419, -0.00036107, 0.00022119, 7.27294312, 0.99889709, 0.99941775, 0.49325386],
++												 [	-6.27330429, -0.00036102, 0.00022116, 7.27294327, 0.99889722, 0.99941782, 0.49325359],
++												 [	-6.27330439, -0.00036098, 0.00022113, 7.27294341, 0.99889735, 0.99941788, 0.49325371],
++												 [	-6.27330449, -0.00036094, 0.00022111, 7.27294355, 0.99889748, 0.99941795, 0.49325375],
++												 [	-6.27330459, -0.00036090, 0.00022108, 7.27294370, 0.99889761, 0.99941802, 0.49325371],
++												 [	-6.27330469, -0.00036085, 0.00022106, 7.27294384, 0.99889774, 0.99941809, 0.49325378],
++												 [	-6.27330479, -0.00036081, 0.00022103, 7.27294398, 0.99889786, 0.99941816, 0.49325370],
++												 [	-6.27330489, -0.00036077, 0.00022101, 7.27294412, 0.99889799, 0.99941822, 0.49325364],
++												 [	-6.27330499, -0.00036073, 0.00022098, 7.27294427, 0.99889812, 0.99941829, 0.49325373],
++												 [	-6.27330510, -0.00036069, 0.00022095, 7.27294441, 0.99889825, 0.99941836, 0.49325372],
++												 [	-6.27330520, -0.00036064, 0.00022093, 7.27294455, 0.99889838, 0.99941843, 0.49325391],
++												 [	-6.27330530, -0.00036060, 0.00022090, 7.27294469, 0.99889851, 0.99941849, 0.49325378],
++												 [	-6.27330540, -0.00036056, 0.00022088, 7.27294484, 0.99889863, 0.99941856, 0.49325387],
++												 [	-6.27330550, -0.00036052, 0.00022085, 7.27294498, 0.99889876, 0.99941863, 0.49325370],
++												 [	-6.27330560, -0.00036048, 0.00022083, 7.27294512, 0.99889889, 0.99941870, 0.49325386],
++												 [	-6.27330570, -0.00036043, 0.00022080, 7.27294526, 0.99889902, 0.99941877, 0.49325387],
++												 [	-6.27330580, -0.00036039, 0.00022077, 7.27294541, 0.99889915, 0.99941883, 0.49325384],
++												 [	-6.27330590, -0.00036035, 0.00022075, 7.27294555, 0.99889928, 0.99941890, 0.49325392],
++												 [	-6.27330600, -0.00036031, 0.00022072, 7.27294569, 0.99889940, 0.99941897, 0.49325387],
++												 [	-6.27330610, -0.00036027, 0.00022070, 7.27294583, 0.99889953, 0.99941904, 0.49325390],
++												 [	-6.27330620, -0.00036023, 0.00022067, 7.27294598, 0.99889966, 0.99941910, 0.49325400],
++												 [	-6.27330630, -0.00036018, 0.00022065, 7.27294612, 0.99889979, 0.99941917, 0.49325409],
++												 [	-6.27330640, -0.00036014, 0.00022062, 7.27294626, 0.99889992, 0.99941924, 0.49325386],
++												 [	-6.27330650, -0.00036010, 0.00022059, 7.27294640, 0.99890004, 0.99941931, 0.49325408],
++												 [	-6.27330660, -0.00036006, 0.00022057, 7.27294654, 0.99890017, 0.99941937, 0.49325391],
++												 [	-6.27330670, -0.00036002, 0.00022054, 7.27294669, 0.99890030, 0.99941944, 0.49325389],
++												 [	-6.27330680, -0.00035997, 0.00022052, 7.27294683, 0.99890043, 0.99941951, 0.49325379],
++												 [	-6.27330690, -0.00035993, 0.00022049, 7.27294697, 0.99890056, 0.99941958, 0.49325409],
++												 [	-6.27330700, -0.00035989, 0.00022047, 7.27294711, 0.99890068, 0.99941964, 0.49325388],
++												 [	-6.27330710, -0.00035985, 0.00022044, 7.27294726, 0.99890081, 0.99941971, 0.49325402],
++												 [	-6.27330720, -0.00035981, 0.00022041, 7.27294740, 0.99890094, 0.99941978, 0.49325423],
++												 [	-6.27330730, -0.00035976, 0.00022039, 7.27294754, 0.99890107, 0.99941985, 0.49325405],
++												 [	-6.27330740, -0.00035972, 0.00022036, 7.27294768, 0.99890119, 0.99941991, 0.49325402],
++												 [	-6.27330750, -0.00035968, 0.00022034, 7.27294782, 0.99890132, 0.99941998, 0.49325409],
++												 [	-6.27330760, -0.00035964, 0.00022031, 7.27294796, 0.99890145, 0.99942005, 0.49325408],
++												 [	-6.27330770, -0.00035960, 0.00022029, 7.27294811, 0.99890158, 0.99942012, 0.49325430],
++												 [	-6.27330780, -0.00035956, 0.00022026, 7.27294825, 0.99890171, 0.99942018, 0.49325412],
++												 [	-6.27330790, -0.00035951, 0.00022024, 7.27294839, 0.99890183, 0.99942025, 0.49325410],
++												 [	-6.27330800, -0.00035947, 0.00022021, 7.27294853, 0.99890196, 0.99942032, 0.49325444],
++												 [	-6.27330810, -0.00035943, 0.00022018, 7.27294867, 0.99890209, 0.99942039, 0.49325431],
++												 [	-6.27330820, -0.00035939, 0.00022016, 7.27294882, 0.99890222, 0.99942045, 0.49325422],
++												 [	-6.27330830, -0.00035935, 0.00022013, 7.27294896, 0.99890234, 0.99942052, 0.49325435],
++												 [	-6.27330840, -0.00035931, 0.00022011, 7.27294910, 0.99890247, 0.99942059, 0.49325426],
++												 [	-6.27330850, -0.00035926, 0.00022008, 7.27294924, 0.99890260, 0.99942065, 0.49325433],
++												 [	-6.27330860, -0.00035922, 0.00022006, 7.27294938, 0.99890273, 0.99942072, 0.49325432],
++												 [	-6.27330870, -0.00035918, 0.00022003, 7.27294952, 0.99890285, 0.99942079, 0.49325444],
++												 [	-6.27330880, -0.00035914, 0.00022001, 7.27294966, 0.99890298, 0.99942086, 0.49325435],
++												 [	-6.27330890, -0.00035910, 0.00021998, 7.27294981, 0.99890311, 0.99942092, 0.49325422],
++												 [	-6.27330900, -0.00035906, 0.00021995, 7.27294995, 0.99890323, 0.99942099, 0.49325439],
++												 [	-6.27330910, -0.00035901, 0.00021993, 7.27295009, 0.99890336, 0.99942106, 0.49325438],
++												 [	-6.27330920, -0.00035897, 0.00021990, 7.27295023, 0.99890349, 0.99942113, 0.49325454],
++												 [	-6.27330930, -0.00035893, 0.00021988, 7.27295037, 0.99890362, 0.99942119, 0.49325448],
++												 [	-6.27330940, -0.00035889, 0.00021985, 7.27295051, 0.99890374, 0.99942126, 0.49325441],
++												 [	-6.27330950, -0.00035885, 0.00021983, 7.27295065, 0.99890387, 0.99942133, 0.49325438],
++												 [	-6.27330960, -0.00035881, 0.00021980, 7.27295079, 0.99890400, 0.99942139, 0.49325444],
++												 [	-6.27330970, -0.00035876, 0.00021978, 7.27295094, 0.99890412, 0.99942146, 0.49325455],
++												 [	-6.27330980, -0.00035872, 0.00021975, 7.27295108, 0.99890425, 0.99942153, 0.49325435],
++												 [	-6.27330990, -0.00035868, 0.00021972, 7.27295122, 0.99890438, 0.99942159, 0.49325446],
++												 [	-6.27331000, -0.00035864, 0.00021970, 7.27295136, 0.99890451, 0.99942166, 0.49325463],
++												 [	-6.27331010, -0.00035860, 0.00021967, 7.27295150, 0.99890463, 0.99942173, 0.49325459],
++												 [	-6.27331020, -0.00035856, 0.00021965, 7.27295164, 0.99890476, 0.99942180, 0.49325444],
++												 [	-6.27331030, -0.00035851, 0.00021962, 7.27295178, 0.99890489, 0.99942186, 0.49325446],
++												 [	-6.27331040, -0.00035847, 0.00021960, 7.27295192, 0.99890501, 0.99942193, 0.49325470],
++												 [	-6.27331050, -0.00035843, 0.00021957, 7.27295206, 0.99890514, 0.99942200, 0.49325447],
++												 [	-6.27331059, -0.00035839, 0.00021955, 7.27295220, 0.99890527, 0.99942206, 0.49325451],
++												 [	-6.27331069, -0.00035835, 0.00021952, 7.27295235, 0.99890539, 0.99942213, 0.49325471],
++												 [	-6.27331079, -0.00035831, 0.00021950, 7.27295249, 0.99890552, 0.99942220, 0.49325479],
++												 [	-6.27331089, -0.00035827, 0.00021947, 7.27295263, 0.99890565, 0.99942226, 0.49325465],
++												 [	-6.27331099, -0.00035822, 0.00021944, 7.27295277, 0.99890577, 0.99942233, 0.49325460],
++												 [	-6.27331109, -0.00035818, 0.00021942, 7.27295291, 0.99890590, 0.99942240, 0.49325463],
++												 [	-6.27331119, -0.00035814, 0.00021939, 7.27295305, 0.99890603, 0.99942246, 0.49325475],
++												 [	-6.27331129, -0.00035810, 0.00021937, 7.27295319, 0.99890615, 0.99942253, 0.49325484],
++												 [	-6.27331139, -0.00035806, 0.00021934, 7.27295333, 0.99890628, 0.99942260, 0.49325478],
++												 [	-6.27331149, -0.00035802, 0.00021932, 7.27295347, 0.99890641, 0.99942267, 0.49325476],
++												 [	-6.27331159, -0.00035798, 0.00021929, 7.27295361, 0.99890653, 0.99942273, 0.49325474],
++												 [	-6.27331169, -0.00035793, 0.00021927, 7.27295375, 0.99890666, 0.99942280, 0.49325471],
++												 [	-6.27331179, -0.00035789, 0.00021924, 7.27295389, 0.99890679, 0.99942287, 0.49325479],
++												 [	-6.27331188, -0.00035785, 0.00021922, 7.27295403, 0.99890691, 0.99942293, 0.49325475],
++												 [	-6.27331198, -0.00035781, 0.00021919, 7.27295417, 0.99890704, 0.99942300, 0.49325483],
++												 [	-6.27331208, -0.00035777, 0.00021917, 7.27295431, 0.99890717, 0.99942307, 0.49325488],
++												 [	-6.27331218, -0.00035773, 0.00021914, 7.27295445, 0.99890729, 0.99942313, 0.49325468],
++												 [	-6.27331228, -0.00035769, 0.00021911, 7.27295459, 0.99890742, 0.99942320, 0.49325487],
++												 [	-6.27331238, -0.00035764, 0.00021909, 7.27295473, 0.99890754, 0.99942327, 0.49325491],
++												 [	-6.27331248, -0.00035760, 0.00021906, 7.27295487, 0.99890767, 0.99942333, 0.49325485],
++												 [	-6.27331258, -0.00035756, 0.00021904, 7.27295501, 0.99890780, 0.99942340, 0.49325494],
++												 [	-6.27331268, -0.00035752, 0.00021901, 7.27295515, 0.99890792, 0.99942347, 0.49325489],
++												 [	-6.27331277, -0.00035748, 0.00021899, 7.27295529, 0.99890805, 0.99942353, 0.49325507],
++												 [	-6.27331287, -0.00035744, 0.00021896, 7.27295544, 0.99890818, 0.99942360, 0.49325487],
++												 [	-6.27331297, -0.00035740, 0.00021894, 7.27295558, 0.99890830, 0.99942367, 0.49325485],
++												 [	-6.27331307, -0.00035736, 0.00021891, 7.27295572, 0.99890843, 0.99942373, 0.49325494],
++												 [	-6.27331317, -0.00035731, 0.00021889, 7.27295586, 0.99890855, 0.99942380, 0.49325502],
++												 [	-6.27331327, -0.00035727, 0.00021886, 7.27295600, 0.99890868, 0.99942386, 0.49325506],
++												 [	-6.27331337, -0.00035723, 0.00021884, 7.27295614, 0.99890881, 0.99942393, 0.49325501],
++												 [	-6.27331347, -0.00035719, 0.00021881, 7.27295628, 0.99890893, 0.99942400, 0.49325503],
++												 [	-6.27331356, -0.00035715, 0.00021879, 7.27295642, 0.99890906, 0.99942406, 0.49325490],
++												 [	-6.27331366, -0.00035711, 0.00021876, 7.27295655, 0.99890918, 0.99942413, 0.49325500],
++												 [	-6.27331376, -0.00035707, 0.00021874, 7.27295669, 0.99890931, 0.99942420, 0.49325510],
++												 [	-6.27331386, -0.00035703, 0.00021871, 7.27295683, 0.99890943, 0.99942426, 0.49325499],
++												 [	-6.27331396, -0.00035698, 0.00021869, 7.27295697, 0.99890956, 0.99942433, 0.49325505],
++												 [	-6.27331406, -0.00035694, 0.00021866, 7.27295711, 0.99890969, 0.99942440, 0.49325506],
++												 [	-6.27331416, -0.00035690, 0.00021863, 7.27295725, 0.99890981, 0.99942446, 0.49325523],
++												 [	-6.27331425, -0.00035686, 0.00021861, 7.27295739, 0.99890994, 0.99942453, 0.49325511],
++												 [	-6.27331435, -0.00035682, 0.00021858, 7.27295753, 0.99891006, 0.99942460, 0.49325502],
++												 [	-6.27331445, -0.00035678, 0.00021856, 7.27295767, 0.99891019, 0.99942466, 0.49325512],
++												 [	-6.27331455, -0.00035674, 0.00021853, 7.27295781, 0.99891032, 0.99942473, 0.49325535],
++												 [	-6.27331465, -0.00035670, 0.00021851, 7.27295795, 0.99891044, 0.99942479, 0.49325526],
++												 [	-6.27331475, -0.00035666, 0.00021848, 7.27295809, 0.99891057, 0.99942486, 0.49325504],
++												 [	-6.27331485, -0.00035661, 0.00021846, 7.27295823, 0.99891069, 0.99942493, 0.49325512],
++												 [	-6.27331494, -0.00035657, 0.00021843, 7.27295837, 0.99891082, 0.99942499, 0.49325533],
++												 [	-6.27331504, -0.00035653, 0.00021841, 7.27295851, 0.99891094, 0.99942506, 0.49325523],
++												 [	-6.27331514, -0.00035649, 0.00021838, 7.27295865, 0.99891107, 0.99942513, 0.49325528],
++												 [	-6.27331524, -0.00035645, 0.00021836, 7.27295879, 0.99891119, 0.99942519, 0.49325526],
++												 [	-6.27331534, -0.00035641, 0.00021833, 7.27295893, 0.99891132, 0.99942526, 0.49325527],
++												 [	-6.27331543, -0.00035637, 0.00021831, 7.27295907, 0.99891144, 0.99942532, 0.49325541],
++												 [	-6.27331553, -0.00035633, 0.00021828, 7.27295921, 0.99891157, 0.99942539, 0.49325526],
++												 [	-6.27331563, -0.00035629, 0.00021826, 7.27295935, 0.99891169, 0.99942546, 0.49325518],
++												 [	-6.27331573, -0.00035625, 0.00021823, 7.27295948, 0.99891182, 0.99942552, 0.49325527],
++												 [	-6.27331583, -0.00035620, 0.00021821, 7.27295962, 0.99891195, 0.99942559, 0.49325543],
++												 [	-6.27331593, -0.00035616, 0.00021818, 7.27295976, 0.99891207, 0.99942566, 0.49325535],
++												 [	-6.27331602, -0.00035612, 0.00021816, 7.27295990, 0.99891220, 0.99942572, 0.49325531],
++												 [	-6.27331612, -0.00035608, 0.00021813, 7.27296004, 0.99891232, 0.99942579, 0.49325537],
++												 [	-6.27331622, -0.00035604, 0.00021811, 7.27296018, 0.99891245, 0.99942585, 0.49325536],
++												 [	-6.27331632, -0.00035600, 0.00021808, 7.27296032, 0.99891257, 0.99942592, 0.49325546],
++												 [	-6.27331642, -0.00035596, 0.00021806, 7.27296046, 0.99891270, 0.99942599, 0.49325549],
++												 [	-6.27331651, -0.00035592, 0.00021803, 7.27296060, 0.99891282, 0.99942605, 0.49325546],
++												 [	-6.27331661, -0.00035588, 0.00021801, 7.27296074, 0.99891295, 0.99942612, 0.49325542],
++												 [	-6.27331671, -0.00035584, 0.00021798, 7.27296087, 0.99891307, 0.99942618, 0.49325537],
++												 [	-6.27331681, -0.00035579, 0.00021796, 7.27296101, 0.99891320, 0.99942625, 0.49325535],
++												 [	-6.27331691, -0.00035575, 0.00021793, 7.27296115, 0.99891332, 0.99942632, 0.49325540],
++												 [	-6.27331700, -0.00035571, 0.00021791, 7.27296129, 0.99891345, 0.99942638, 0.49325546],
++												 [	-6.27331710, -0.00035567, 0.00021788, 7.27296143, 0.99891357, 0.99942645, 0.49325545],
++												 [	-6.27331720, -0.00035563, 0.00021786, 7.27296157, 0.99891370, 0.99942651, 0.49325569],
++												 [	-6.27331730, -0.00035559, 0.00021783, 7.27296171, 0.99891382, 0.99942658, 0.49325550],
++												 [	-6.27331740, -0.00035555, 0.00021781, 7.27296185, 0.99891395, 0.99942664, 0.49325563],
++												 [	-6.27331749, -0.00035551, 0.00021778, 7.27296198, 0.99891407, 0.99942671, 0.49325568],
++												 [	-6.27331759, -0.00035547, 0.00021776, 7.27296212, 0.99891420, 0.99942678, 0.49325547],
++												 [	-6.27331769, -0.00035543, 0.00021773, 7.27296226, 0.99891432, 0.99942684, 0.49325550],
++												 [	-6.27331779, -0.00035539, 0.00021771, 7.27296240, 0.99891444, 0.99942691, 0.49325571],
++												 [	-6.27331788, -0.00035535, 0.00021768, 7.27296254, 0.99891457, 0.99942697, 0.49325568],
++												 [	-6.27331798, -0.00035530, 0.00021766, 7.27296268, 0.99891469, 0.99942704, 0.49325562],
++												 [	-6.27331808, -0.00035526, 0.00021763, 7.27296281, 0.99891482, 0.99942711, 0.49325569],
++												 [	-6.27331818, -0.00035522, 0.00021761, 7.27296295, 0.99891494, 0.99942717, 0.49325576],
++												 [	-6.27331827, -0.00035518, 0.00021758, 7.27296309, 0.99891507, 0.99942724, 0.49325584],
++												 [	-6.27331837, -0.00035514, 0.00021756, 7.27296323, 0.99891519, 0.99942730, 0.49325572],
++												 [	-6.27331847, -0.00035510, 0.00021753, 7.27296337, 0.99891532, 0.99942737, 0.49325557],
++												 [	-6.27331857, -0.00035506, 0.00021751, 7.27296351, 0.99891544, 0.99942743, 0.49325555],
++												 [	-6.27331866, -0.00035502, 0.00021748, 7.27296364, 0.99891557, 0.99942750, 0.49325590],
++												 [	-6.27331876, -0.00035498, 0.00021746, 7.27296378, 0.99891569, 0.99942757, 0.49325582],
++												 [	-6.27331886, -0.00035494, 0.00021743, 7.27296392, 0.99891581, 0.99942763, 0.49325599],
++												 [	-6.27331896, -0.00035490, 0.00021741, 7.27296406, 0.99891594, 0.99942770, 0.49325596],
++												 [	-6.27331905, -0.00035486, 0.00021738, 7.27296420, 0.99891606, 0.99942776, 0.49325600],
++												 [	-6.27331915, -0.00035482, 0.00021736, 7.27296434, 0.99891619, 0.99942783, 0.49325578],
++												 [	-6.27331925, -0.00035478, 0.00021733, 7.27296447, 0.99891631, 0.99942789, 0.49325597],
++												 [	-6.27331935, -0.00035473, 0.00021731, 7.27296461, 0.99891644, 0.99942796, 0.49325578],
++												 [	-6.27331944, -0.00035469, 0.00021728, 7.27296475, 0.99891656, 0.99942802, 0.49325601],
++												 [	-6.27331954, -0.00035465, 0.00021726, 7.27296489, 0.99891668, 0.99942809, 0.49325574],
++												 [	-6.27331964, -0.00035461, 0.00021723, 7.27296503, 0.99891681, 0.99942816, 0.49325598],
++												 [	-6.27331974, -0.00035457, 0.00021721, 7.27296516, 0.99891693, 0.99942822, 0.49325602],
++												 [	-6.27331983, -0.00035453, 0.00021718, 7.27296530, 0.99891706, 0.99942829, 0.49325595],
++												 [	-6.27331993, -0.00035449, 0.00021716, 7.27296544, 0.99891718, 0.99942835, 0.49325608],
++												 [	-6.27332003, -0.00035445, 0.00021713, 7.27296558, 0.99891730, 0.99942842, 0.49325597],
++												 [	-6.27332012, -0.00035441, 0.00021711, 7.27296571, 0.99891743, 0.99942848, 0.49325598],
++												 [	-6.27332022, -0.00035437, 0.00021708, 7.27296585, 0.99891755, 0.99942855, 0.49325613],
++												 [	-6.27332032, -0.00035433, 0.00021706, 7.27296599, 0.99891768, 0.99942861, 0.49325588],
++												 [	-6.27332042, -0.00035429, 0.00021703, 7.27296613, 0.99891780, 0.99942868, 0.49325598],
++												 [	-6.27332051, -0.00035425, 0.00021701, 7.27296626, 0.99891792, 0.99942874, 0.49325592],
++												 [	-6.27332061, -0.00035421, 0.00021698, 7.27296640, 0.99891805, 0.99942881, 0.49325612],
++												 [	-6.27332071, -0.00035417, 0.00021696, 7.27296654, 0.99891817, 0.99942888, 0.49325620],
++												 [	-6.27332080, -0.00035413, 0.00021693, 7.27296668, 0.99891830, 0.99942894, 0.49325610],
++												 [	-6.27332090, -0.00035409, 0.00021691, 7.27296681, 0.99891842, 0.99942901, 0.49325614],
++												 [	-6.27332100, -0.00035405, 0.00021688, 7.27296695, 0.99891854, 0.99942907, 0.49325612],
++												 [	-6.27332109, -0.00035400, 0.00021686, 7.27296709, 0.99891867, 0.99942914, 0.49325613],
++												 [	-6.27332119, -0.00035396, 0.00021683, 7.27296723, 0.99891879, 0.99942920, 0.49325604],
++												 [	-6.27332129, -0.00035392, 0.00021681, 7.27296736, 0.99891891, 0.99942927, 0.49325626],
++												 [	-6.27332139, -0.00035388, 0.00021678, 7.27296750, 0.99891904, 0.99942933, 0.49325625],
++												 [	-6.27332148, -0.00035384, 0.00021676, 7.27296764, 0.99891916, 0.99942940, 0.49325605],
++												 [	-6.27332158, -0.00035380, 0.00021673, 7.27296778, 0.99891928, 0.99942946, 0.49325626],
++												 [	-6.27332168, -0.00035376, 0.00021671, 7.27296791, 0.99891941, 0.99942953, 0.49325629],
++												 [	-6.27332177, -0.00035372, 0.00021669, 7.27296805, 0.99891953, 0.99942959, 0.49325630],
++												 [	-6.27332187, -0.00035368, 0.00021666, 7.27296819, 0.99891966, 0.99942966, 0.49325628],
++												 [	-6.27332197, -0.00035364, 0.00021664, 7.27296833, 0.99891978, 0.99942972, 0.49325635],
++												 [	-6.27332206, -0.00035360, 0.00021661, 7.27296846, 0.99891990, 0.99942979, 0.49325625],
++												 [	-6.27332216, -0.00035356, 0.00021659, 7.27296860, 0.99892003, 0.99942985, 0.49325617],
++												 [	-6.27332226, -0.00035352, 0.00021656, 7.27296874, 0.99892015, 0.99942992, 0.49325641],
++												 [	-6.27332235, -0.00035348, 0.00021654, 7.27296887, 0.99892027, 0.99942998, 0.49325636],
++												 [	-6.27332245, -0.00035344, 0.00021651, 7.27296901, 0.99892040, 0.99943005, 0.49325630],
++												 [	-6.27332255, -0.00035340, 0.00021649, 7.27296915, 0.99892052, 0.99943011, 0.49325637],
++												 [	-6.27332264, -0.00035336, 0.00021646, 7.27296928, 0.99892064, 0.99943018, 0.49325631],
++												 [	-6.27332274, -0.00035332, 0.00021644, 7.27296942, 0.99892077, 0.99943024, 0.49325656],
++												 [	-6.27332284, -0.00035328, 0.00021641, 7.27296956, 0.99892089, 0.99943031, 0.49325631],
++												 [	-6.27332293, -0.00035324, 0.00021639, 7.27296970, 0.99892101, 0.99943037, 0.49325638],
++												 [	-6.27332303, -0.00035320, 0.00021636, 7.27296983, 0.99892114, 0.99943044, 0.49325647],
++												 [	-6.27332313, -0.00035316, 0.00021634, 7.27296997, 0.99892126, 0.99943050, 0.49325639],
++												 [	-6.27332322, -0.00035312, 0.00021631, 7.27297011, 0.99892138, 0.99943057, 0.49325638],
++												 [	-6.27332332, -0.00035308, 0.00021629, 7.27297024, 0.99892150, 0.99943063, 0.49325638],
++												 [	-6.27332341, -0.00035304, 0.00021626, 7.27297038, 0.99892163, 0.99943070, 0.49325643],
++												 [	-6.27332351, -0.00035300, 0.00021624, 7.27297052, 0.99892175, 0.99943076, 0.49325659],
++												 [	-6.27332361, -0.00035296, 0.00021622, 7.27297065, 0.99892187, 0.99943083, 0.49325672],
++												 [	-6.27332370, -0.00035291, 0.00021619, 7.27297079, 0.99892200, 0.99943089, 0.49325654],
++												 [	-6.27332380, -0.00035287, 0.00021617, 7.27297093, 0.99892212, 0.99943096, 0.49325642],
++												 [	-6.27332390, -0.00035283, 0.00021614, 7.27297106, 0.99892224, 0.99943102, 0.49325660],
++												 [	-6.27332399, -0.00035279, 0.00021612, 7.27297120, 0.99892237, 0.99943109, 0.49325667],
++												 [	-6.27332409, -0.00035275, 0.00021609, 7.27297133, 0.99892249, 0.99943115, 0.49325649],
++												 [	-6.27332418, -0.00035271, 0.00021607, 7.27297147, 0.99892261, 0.99943122, 0.49325655],
++												 [	-6.27332428, -0.00035267, 0.00021604, 7.27297161, 0.99892273, 0.99943128, 0.49325662],
++												 [	-6.27332438, -0.00035263, 0.00021602, 7.27297174, 0.99892286, 0.99943135, 0.49325664],
++												 [	-6.27332447, -0.00035259, 0.00021599, 7.27297188, 0.99892298, 0.99943141, 0.49325657],
++												 [	-6.27332457, -0.00035255, 0.00021597, 7.27297202, 0.99892310, 0.99943148, 0.49325670],
++												 [	-6.27332467, -0.00035251, 0.00021594, 7.27297215, 0.99892322, 0.99943154, 0.49325664],
++												 [	-6.27332476, -0.00035247, 0.00021592, 7.27297229, 0.99892335, 0.99943161, 0.49325680],
++												 [	-6.27332486, -0.00035243, 0.00021590, 7.27297243, 0.99892347, 0.99943167, 0.49325677],
++												 [	-6.27332495, -0.00035239, 0.00021587, 7.27297256, 0.99892359, 0.99943174, 0.49325674],
++												 [	-6.27332505, -0.00035235, 0.00021585, 7.27297270, 0.99892371, 0.99943180, 0.49325673],
++												 [	-6.27332515, -0.00035231, 0.00021582, 7.27297283, 0.99892384, 0.99943187, 0.49325687],
++												 [	-6.27332524, -0.00035227, 0.00021580, 7.27297297, 0.99892396, 0.99943193, 0.49325676],
++												 [	-6.27332534, -0.00035223, 0.00021577, 7.27297311, 0.99892408, 0.99943200, 0.49325694],
++												 [	-6.27332543, -0.00035219, 0.00021575, 7.27297324, 0.99892420, 0.99943206, 0.49325684],
++												 [	-6.27332553, -0.00035215, 0.00021572, 7.27297338, 0.99892433, 0.99943212, 0.49325673],
++												 [	-6.27332563, -0.00035211, 0.00021570, 7.27297351, 0.99892445, 0.99943219, 0.49325679],
++												 [	-6.27332572, -0.00035207, 0.00021567, 7.27297365, 0.99892457, 0.99943225, 0.49325687],
++												 [	-6.27332582, -0.00035203, 0.00021565, 7.27297379, 0.99892469, 0.99943232, 0.49325682],
++												 [	-6.27332591, -0.00035199, 0.00021563, 7.27297392, 0.99892482, 0.99943238, 0.49325693],
++												 [	-6.27332601, -0.00035195, 0.00021560, 7.27297406, 0.99892494, 0.99943245, 0.49325706],
++												 [	-6.27332611, -0.00035191, 0.00021558, 7.27297419, 0.99892506, 0.99943251, 0.49325679],
++												 [	-6.27332620, -0.00035187, 0.00021555, 7.27297433, 0.99892518, 0.99943258, 0.49325693],
++												 [	-6.27332630, -0.00035183, 0.00021553, 7.27297446, 0.99892531, 0.99943264, 0.49325690],
++												 [	-6.27332639, -0.00035179, 0.00021550, 7.27297460, 0.99892543, 0.99943271, 0.49325679],
++												 [	-6.27332649, -0.00035175, 0.00021548, 7.27297474, 0.99892555, 0.99943277, 0.49325703],
++												 [	-6.27332658, -0.00035171, 0.00021545, 7.27297487, 0.99892567, 0.99943283, 0.49325709],
++												 [	-6.27332668, -0.00035167, 0.00021543, 7.27297501, 0.99892579, 0.99943290, 0.49325716],
++												 [	-6.27332678, -0.00035163, 0.00021540, 7.27297514, 0.99892592, 0.99943296, 0.49325688],
++												 [	-6.27332687, -0.00035159, 0.00021538, 7.27297528, 0.99892604, 0.99943303, 0.49325701],
++												 [	-6.27332697, -0.00035155, 0.00021536, 7.27297541, 0.99892616, 0.99943309, 0.49325699],
++												 [	-6.27332706, -0.00035151, 0.00021533, 7.27297555, 0.99892628, 0.99943316, 0.49325716],
++												 [	-6.27332716, -0.00035147, 0.00021531, 7.27297569, 0.99892640, 0.99943322, 0.49325705],
++												 [	-6.27332725, -0.00035143, 0.00021528, 7.27297582, 0.99892653, 0.99943329, 0.49325714],
++												 [	-6.27332735, -0.00035139, 0.00021526, 7.27297596, 0.99892665, 0.99943335, 0.49325697],
++												 [	-6.27332744, -0.00035135, 0.00021523, 7.27297609, 0.99892677, 0.99943341, 0.49325706],
++												 [	-6.27332754, -0.00035131, 0.00021521, 7.27297623, 0.99892689, 0.99943348, 0.49325710],
++												 [	-6.27332763, -0.00035127, 0.00021518, 7.27297636, 0.99892701, 0.99943354, 0.49325718],
++												 [	-6.27332773, -0.00035123, 0.00021516, 7.27297650, 0.99892714, 0.99943361, 0.49325714],
++												 [	-6.27332783, -0.00035119, 0.00021514, 7.27297663, 0.99892726, 0.99943367, 0.49325704],
++												 [	-6.27332792, -0.00035115, 0.00021511, 7.27297677, 0.99892738, 0.99943374, 0.49325724],
++												 [	-6.27332802, -0.00035111, 0.00021509, 7.27297690, 0.99892750, 0.99943380, 0.49325727],
++												 [	-6.27332811, -0.00035107, 0.00021506, 7.27297704, 0.99892762, 0.99943386, 0.49325718],
++												 [	-6.27332821, -0.00035103, 0.00021504, 7.27297717, 0.99892774, 0.99943393, 0.49325715],
++												 [	-6.27332830, -0.00035099, 0.00021501, 7.27297731, 0.99892787, 0.99943399, 0.49325736],
++												 [	-6.27332840, -0.00035095, 0.00021499, 7.27297744, 0.99892799, 0.99943406, 0.49325725],
++												 [	-6.27332849, -0.00035091, 0.00021496, 7.27297758, 0.99892811, 0.99943412, 0.49325737],
++												 [	-6.27332859, -0.00035087, 0.00021494, 7.27297771, 0.99892823, 0.99943418, 0.49325733],
++												 [	-6.27332868, -0.00035084, 0.00021492, 7.27297785, 0.99892835, 0.99943425, 0.49325727],
++												 [	-6.27332878, -0.00035080, 0.00021489, 7.27297798, 0.99892847, 0.99943431, 0.49325722],
++												 [	-6.27332887, -0.00035076, 0.00021487, 7.27297812, 0.99892859, 0.99943438, 0.49325726],
++												 [	-6.27332897, -0.00035072, 0.00021484, 7.27297825, 0.99892872, 0.99943444, 0.49325746],
++												 [	-6.27332906, -0.00035068, 0.00021482, 7.27297839, 0.99892884, 0.99943451, 0.49325735],
++												 [	-6.27332916, -0.00035064, 0.00021479, 7.27297852, 0.99892896, 0.99943457, 0.49325729],
++												 [	-6.27332925, -0.00035060, 0.00021477, 7.27297866, 0.99892908, 0.99943463, 0.49325733],
++												 [	-6.27332935, -0.00035056, 0.00021475, 7.27297879, 0.99892920, 0.99943470, 0.49325743],
++												 [	-6.27332944, -0.00035052, 0.00021472, 7.27297893, 0.99892932, 0.99943476, 0.49325745],
++												 [	-6.27332954, -0.00035048, 0.00021470, 7.27297906, 0.99892944, 0.99943483, 0.49325763],
++												 [	-6.27332963, -0.00035044, 0.00021467, 7.27297920, 0.99892956, 0.99943489, 0.49325734],
++												 [	-6.27332973, -0.00035040, 0.00021465, 7.27297933, 0.99892969, 0.99943495, 0.49325743],
++												 [	-6.27332982, -0.00035036, 0.00021462, 7.27297947, 0.99892981, 0.99943502, 0.49325746],
++												 [	-6.27332992, -0.00035032, 0.00021460, 7.27297960, 0.99892993, 0.99943508, 0.49325750],
++												 [	-6.27333001, -0.00035028, 0.00021458, 7.27297973, 0.99893005, 0.99943515, 0.49325754],
++												 [	-6.27333011, -0.00035024, 0.00021455, 7.27297987, 0.99893017, 0.99943521, 0.49325751],
++												 [	-6.27333020, -0.00035020, 0.00021453, 7.27298000, 0.99893029, 0.99943527, 0.49325761],
++												 [	-6.27333030, -0.00035016, 0.00021450, 7.27298014, 0.99893041, 0.99943534, 0.49325752],
++												 [	-6.27333039, -0.00035012, 0.00021448, 7.27298027, 0.99893053, 0.99943540, 0.49325748],
++												 [	-6.27333049, -0.00035008, 0.00021445, 7.27298041, 0.99893065, 0.99943546, 0.49325770],
++												 [	-6.27333058, -0.00035004, 0.00021443, 7.27298054, 0.99893078, 0.99943553, 0.49325749],
++												 [	-6.27333068, -0.00035000, 0.00021441, 7.27298068, 0.99893090, 0.99943559, 0.49325754],
++												 [	-6.27333077, -0.00034996, 0.00021438, 7.27298081, 0.99893102, 0.99943566, 0.49325757],
++												 [	-6.27333087, -0.00034992, 0.00021436, 7.27298094, 0.99893114, 0.99943572, 0.49325772],
++												 [	-6.27333096, -0.00034988, 0.00021433, 7.27298108, 0.99893126, 0.99943578, 0.49325749],
++												 [	-6.27333106, -0.00034984, 0.00021431, 7.27298121, 0.99893138, 0.99943585, 0.49325746],
++												 [	-6.27333115, -0.00034980, 0.00021428, 7.27298135, 0.99893150, 0.99943591, 0.49325763],
++												 [	-6.27333125, -0.00034976, 0.00021426, 7.27298148, 0.99893162, 0.99943597, 0.49325780],
++												 [	-6.27333134, -0.00034973, 0.00021424, 7.27298162, 0.99893174, 0.99943604, 0.49325773],
++												 [	-6.27333144, -0.00034969, 0.00021421, 7.27298175, 0.99893186, 0.99943610, 0.49325774],
++												 [	-6.27333153, -0.00034965, 0.00021419, 7.27298188, 0.99893198, 0.99943617, 0.49325768],
++												 [	-6.27333162, -0.00034961, 0.00021416, 7.27298202, 0.99893210, 0.99943623, 0.49325772],
++												 [	-6.27333172, -0.00034957, 0.00021414, 7.27298215, 0.99893223, 0.99943629, 0.49325780],
++												 [	-6.27333181, -0.00034953, 0.00021412, 7.27298229, 0.99893235, 0.99943636, 0.49325790],
++												 [	-6.27333191, -0.00034949, 0.00021409, 7.27298242, 0.99893247, 0.99943642, 0.49325769],
++												 [	-6.27333200, -0.00034945, 0.00021407, 7.27298255, 0.99893259, 0.99943648, 0.49325784],
++												 [	-6.27333210, -0.00034941, 0.00021404, 7.27298269, 0.99893271, 0.99943655, 0.49325781],
++												 [	-6.27333219, -0.00034937, 0.00021402, 7.27298282, 0.99893283, 0.99943661, 0.49325781],
++												 [	-6.27333229, -0.00034933, 0.00021399, 7.27298296, 0.99893295, 0.99943668, 0.49325775],
++												 [	-6.27333238, -0.00034929, 0.00021397, 7.27298309, 0.99893307, 0.99943674, 0.49325777],
++												 [	-6.27333247, -0.00034925, 0.00021395, 7.27298322, 0.99893319, 0.99943680, 0.49325794],
++												 [	-6.27333257, -0.00034921, 0.00021392, 7.27298336, 0.99893331, 0.99943687, 0.49325786],
++												 [	-6.27333266, -0.00034917, 0.00021390, 7.27298349, 0.99893343, 0.99943693, 0.49325783],
++												 [	-6.27333276, -0.00034913, 0.00021387, 7.27298362, 0.99893355, 0.99943699, 0.49325777],
++												 [	-6.27333285, -0.00034909, 0.00021385, 7.27298376, 0.99893367, 0.99943706, 0.49325800],
++												 [	-6.27333295, -0.00034905, 0.00021383, 7.27298389, 0.99893379, 0.99943712, 0.49325788],
++												 [	-6.27333304, -0.00034902, 0.00021380, 7.27298402, 0.99893391, 0.99943718, 0.49325796],
++												 [	-6.27333313, -0.00034898, 0.00021378, 7.27298416, 0.99893403, 0.99943725, 0.49325777],
++												 [	-6.27333323, -0.00034894, 0.00021375, 7.27298429, 0.99893415, 0.99943731, 0.49325803],
++												 [	-6.27333332, -0.00034890, 0.00021373, 7.27298443, 0.99893427, 0.99943737, 0.49325799],
++												 [	-6.27333342, -0.00034886, 0.00021370, 7.27298456, 0.99893439, 0.99943744, 0.49325815],
++												 [	-6.27333351, -0.00034882, 0.00021368, 7.27298469, 0.99893451, 0.99943750, 0.49325810],
++												 [	-6.27333360, -0.00034878, 0.00021366, 7.27298483, 0.99893463, 0.99943756, 0.49325805],
++												 [	-6.27333370, -0.00034874, 0.00021363, 7.27298496, 0.99893475, 0.99943763, 0.49325805],
++												 [	-6.27333379, -0.00034870, 0.00021361, 7.27298509, 0.99893487, 0.99943769, 0.49325810],
++												 [	-6.27333389, -0.00034866, 0.00021358, 7.27298523, 0.99893499, 0.99943775, 0.49325812],
++												 [	-6.27333398, -0.00034862, 0.00021356, 7.27298536, 0.99893511, 0.99943782, 0.49325800],
++												 [	-6.27333408, -0.00034858, 0.00021354, 7.27298549, 0.99893523, 0.99943788, 0.49325798],
++												 [	-6.27333417, -0.00034854, 0.00021351, 7.27298563, 0.99893535, 0.99943794, 0.49325819],
++												 [	-6.27333426, -0.00034850, 0.00021349, 7.27298576, 0.99893547, 0.99943801, 0.49325809],
++												 [	-6.27333436, -0.00034847, 0.00021346, 7.27298589, 0.99893559, 0.99943807, 0.49325811],
++												 [	-6.27333445, -0.00034843, 0.00021344, 7.27298602, 0.99893571, 0.99943813, 0.49325804],
++												 [	-6.27333454, -0.00034839, 0.00021342, 7.27298616, 0.99893583, 0.99943820, 0.49325814],
++												 [	-6.27333464, -0.00034835, 0.00021339, 7.27298629, 0.99893595, 0.99943826, 0.49325817],
++												 [	-6.27333473, -0.00034831, 0.00021337, 7.27298642, 0.99893607, 0.99943832, 0.49325810],
++												 [	-6.27333483, -0.00034827, 0.00021334, 7.27298656, 0.99893619, 0.99943839, 0.49325810],
++												 [	-6.27333492, -0.00034823, 0.00021332, 7.27298669, 0.99893631, 0.99943845, 0.49325813],
++												 [	-6.27333501, -0.00034819, 0.00021330, 7.27298682, 0.99893643, 0.99943851, 0.49325821],
++												 [	-6.27333511, -0.00034815, 0.00021327, 7.27298696, 0.99893655, 0.99943858, 0.49325825],
++												 [	-6.27333520, -0.00034811, 0.00021325, 7.27298709, 0.99893667, 0.99943864, 0.49325802],
++												 [	-6.27333530, -0.00034807, 0.00021322, 7.27298722, 0.99893679, 0.99943870, 0.49325839],
++												 [	-6.27333539, -0.00034803, 0.00021320, 7.27298735, 0.99893691, 0.99943877, 0.49325824],
++												 [	-6.27333548, -0.00034800, 0.00021318, 7.27298749, 0.99893703, 0.99943883, 0.49325827],
++												 [	-6.27333558, -0.00034796, 0.00021315, 7.27298762, 0.99893715, 0.99943889, 0.49325830],
++												 [	-6.27333567, -0.00034792, 0.00021313, 7.27298775, 0.99893727, 0.99943895, 0.49325817],
++												 [	-6.27333576, -0.00034788, 0.00021310, 7.27298789, 0.99893739, 0.99943902, 0.49325841],
++												 [	-6.27333586, -0.00034784, 0.00021308, 7.27298802, 0.99893751, 0.99943908, 0.49325836],
++												 [	-6.27333595, -0.00034780, 0.00021306, 7.27298815, 0.99893763, 0.99943914, 0.49325836],
++												 [	-6.27333604, -0.00034776, 0.00021303, 7.27298828, 0.99893774, 0.99943921, 0.49325838],
++												 [	-6.27333614, -0.00034772, 0.00021301, 7.27298842, 0.99893786, 0.99943927, 0.49325845],
++												 [	-6.27333623, -0.00034768, 0.00021298, 7.27298855, 0.99893798, 0.99943933, 0.49325848],
++												 [	-6.27333632, -0.00034764, 0.00021296, 7.27298868, 0.99893810, 0.99943940, 0.49325833],
++												 [	-6.27333642, -0.00034760, 0.00021294, 7.27298881, 0.99893822, 0.99943946, 0.49325843],
++												 [	-6.27333651, -0.00034757, 0.00021291, 7.27298895, 0.99893834, 0.99943952, 0.49325849],
++												 [	-6.27333661, -0.00034753, 0.00021289, 7.27298908, 0.99893846, 0.99943958, 0.49325841],
++												 [	-6.27333670, -0.00034749, 0.00021286, 7.27298921, 0.99893858, 0.99943965, 0.49325856],
++												 [	-6.27333679, -0.00034745, 0.00021284, 7.27298934, 0.99893870, 0.99943971, 0.49325841],
++												 [	-6.27333689, -0.00034741, 0.00021282, 7.27298948, 0.99893882, 0.99943977, 0.49325845],
++												 [	-6.27333698, -0.00034737, 0.00021279, 7.27298961, 0.99893894, 0.99943984, 0.49325852],
++												 [	-6.27333707, -0.00034733, 0.00021277, 7.27298974, 0.99893906, 0.99943990, 0.49325863],
++												 [	-6.27333717, -0.00034729, 0.00021275, 7.27298987, 0.99893918, 0.99943996, 0.49325866],
++												 [	-6.27333726, -0.00034725, 0.00021272, 7.27299000, 0.99893929, 0.99944002, 0.49325856],
++												 [	-6.27333735, -0.00034721, 0.00021270, 7.27299014, 0.99893941, 0.99944009, 0.49325854],
++												 [	-6.27333745, -0.00034718, 0.00021267, 7.27299027, 0.99893953, 0.99944015, 0.49325858],
++												 [	-6.27333754, -0.00034714, 0.00021265, 7.27299040, 0.99893965, 0.99944021, 0.49325856],
++												 [	-6.27333763, -0.00034710, 0.00021263, 7.27299053, 0.99893977, 0.99944028, 0.49325873],
++												 [	-6.27333772, -0.00034706, 0.00021260, 7.27299067, 0.99893989, 0.99944034, 0.49325877],
++												 [	-6.27333782, -0.00034702, 0.00021258, 7.27299080, 0.99894001, 0.99944040, 0.49325864],
++												 [	-6.27333791, -0.00034698, 0.00021255, 7.27299093, 0.99894013, 0.99944046, 0.49325857],
++												 [	-6.27333800, -0.00034694, 0.00021253, 7.27299106, 0.99894025, 0.99944053, 0.49325852],
++												 [	-6.27333810, -0.00034690, 0.00021251, 7.27299119, 0.99894036, 0.99944059, 0.49325872],
++												 [	-6.27333819, -0.00034686, 0.00021248, 7.27299133, 0.99894048, 0.99944065, 0.49325865],
++												 [	-6.27333828, -0.00034683, 0.00021246, 7.27299146, 0.99894060, 0.99944072, 0.49325884],
++												 [	-6.27333838, -0.00034679, 0.00021244, 7.27299159, 0.99894072, 0.99944078, 0.49325864],
++												 [	-6.27333847, -0.00034675, 0.00021241, 7.27299172, 0.99894084, 0.99944084, 0.49325865],
++												 [	-6.27333856, -0.00034671, 0.00021239, 7.27299185, 0.99894096, 0.99944090, 0.49325871],
++												 [	-6.27333866, -0.00034667, 0.00021236, 7.27299199, 0.99894108, 0.99944097, 0.49325862],
++												 [	-6.27333875, -0.00034663, 0.00021234, 7.27299212, 0.99894120, 0.99944103, 0.49325892],
++												 [	-6.27333884, -0.00034659, 0.00021232, 7.27299225, 0.99894131, 0.99944109, 0.49325886],
++												 [	-6.27333893, -0.00034655, 0.00021229, 7.27299238, 0.99894143, 0.99944115, 0.49325892],
++												 [	-6.27333903, -0.00034652, 0.00021227, 7.27299251, 0.99894155, 0.99944122, 0.49325878],
++												 [	-6.27333912, -0.00034648, 0.00021225, 7.27299264, 0.99894167, 0.99944128, 0.49325893],
++												 [	-6.27333921, -0.00034644, 0.00021222, 7.27299278, 0.99894179, 0.99944134, 0.49325882],
++												 [	-6.27333931, -0.00034640, 0.00021220, 7.27299291, 0.99894191, 0.99944140, 0.49325880],
++												 [	-6.27333940, -0.00034636, 0.00021217, 7.27299304, 0.99894202, 0.99944147, 0.49325884],
++												 [	-6.27333949, -0.00034632, 0.00021215, 7.27299317, 0.99894214, 0.99944153, 0.49325871],
++												 [	-6.27333958, -0.00034628, 0.00021213, 7.27299330, 0.99894226, 0.99944159, 0.49325888],
++												 [	-6.27333968, -0.00034624, 0.00021210, 7.27299343, 0.99894238, 0.99944165, 0.49325907],
++												 [	-6.27333977, -0.00034620, 0.00021208, 7.27299356, 0.99894250, 0.99944172, 0.49325884],
++												 [	-6.27333986, -0.00034617, 0.00021206, 7.27299370, 0.99894262, 0.99944178, 0.49325906],
++												 [	-6.27333995, -0.00034613, 0.00021203, 7.27299383, 0.99894273, 0.99944184, 0.49325903],
++												 [	-6.27334005, -0.00034609, 0.00021201, 7.27299396, 0.99894285, 0.99944190, 0.49325895],
++												 [	-6.27334014, -0.00034605, 0.00021198, 7.27299409, 0.99894297, 0.99944197, 0.49325883],
++												 [	-6.27334023, -0.00034601, 0.00021196, 7.27299422, 0.99894309, 0.99944203, 0.49325893],
++												 [	-6.27334033, -0.00034597, 0.00021194, 7.27299435, 0.99894321, 0.99944209, 0.49325903],
++												 [	-6.27334042, -0.00034593, 0.00021191, 7.27299448, 0.99894333, 0.99944215, 0.49325919],
++												 [	-6.27334051, -0.00034590, 0.00021189, 7.27299461, 0.99894344, 0.99944222, 0.49325911],
++												 [	-6.27334060, -0.00034586, 0.00021187, 7.27299475, 0.99894356, 0.99944228, 0.49325916],
++												 [	-6.27334070, -0.00034582, 0.00021184, 7.27299488, 0.99894368, 0.99944234, 0.49325910],
++												 [	-6.27334079, -0.00034578, 0.00021182, 7.27299501, 0.99894380, 0.99944240, 0.49325905],
++												 [	-6.27334088, -0.00034574, 0.00021179, 7.27299514, 0.99894392, 0.99944246, 0.49325907],
++												 [	-6.27334097, -0.00034570, 0.00021177, 7.27299527, 0.99894403, 0.99944253, 0.49325918],
++												 [	-6.27334107, -0.00034566, 0.00021175, 7.27299540, 0.99894415, 0.99944259, 0.49325910],
++												 [	-6.27334116, -0.00034563, 0.00021172, 7.27299553, 0.99894427, 0.99944265, 0.49325909],
++												 [	-6.27334125, -0.00034559, 0.00021170, 7.27299566, 0.99894439, 0.99944271, 0.49325903],
++												 [	-6.27334134, -0.00034555, 0.00021168, 7.27299579, 0.99894451, 0.99944278, 0.49325934],
++												 [	-6.27334143, -0.00034551, 0.00021165, 7.27299593, 0.99894462, 0.99944284, 0.49325921],
++												 [	-6.27334153, -0.00034547, 0.00021163, 7.27299606, 0.99894474, 0.99944290, 0.49325916],
++												 [	-6.27334162, -0.00034543, 0.00021161, 7.27299619, 0.99894486, 0.99944296, 0.49325905],
++												 [	-6.27334171, -0.00034539, 0.00021158, 7.27299632, 0.99894498, 0.99944302, 0.49325932],
++												 [	-6.27334180, -0.00034536, 0.00021156, 7.27299645, 0.99894509, 0.99944309, 0.49325918],
++												 [	-6.27334190, -0.00034532, 0.00021153, 7.27299658, 0.99894521, 0.99944315, 0.49325928],
++												 [	-6.27334199, -0.00034528, 0.00021151, 7.27299671, 0.99894533, 0.99944321, 0.49325927],
++												 [	-6.27334208, -0.00034524, 0.00021149, 7.27299684, 0.99894545, 0.99944327, 0.49325910],
++												 [	-6.27334217, -0.00034520, 0.00021146, 7.27299697, 0.99894557, 0.99944334, 0.49325933],
++												 [	-6.27334226, -0.00034516, 0.00021144, 7.27299710, 0.99894568, 0.99944340, 0.49325931],
++												 [	-6.27334236, -0.00034512, 0.00021142, 7.27299723, 0.99894580, 0.99944346, 0.49325913],
++												 [	-6.27334245, -0.00034509, 0.00021139, 7.27299736, 0.99894592, 0.99944352, 0.49325935],
++												 [	-6.27334254, -0.00034505, 0.00021137, 7.27299749, 0.99894604, 0.99944358, 0.49325926],
++												 [	-6.27334263, -0.00034501, 0.00021135, 7.27299762, 0.99894615, 0.99944365, 0.49325931],
++												 [	-6.27334273, -0.00034497, 0.00021132, 7.27299776, 0.99894627, 0.99944371, 0.49325923],
++												 [	-6.27334282, -0.00034493, 0.00021130, 7.27299789, 0.99894639, 0.99944377, 0.49325932],
++												 [	-6.27334291, -0.00034489, 0.00021128, 7.27299802, 0.99894651, 0.99944383, 0.49325937],
++												 [	-6.27334300, -0.00034486, 0.00021125, 7.27299815, 0.99894662, 0.99944389, 0.49325925],
++												 [	-6.27334309, -0.00034482, 0.00021123, 7.27299828, 0.99894674, 0.99944396, 0.49325938],
++												 [	-6.27334319, -0.00034478, 0.00021120, 7.27299841, 0.99894686, 0.99944402, 0.49325937],
++												 [	-6.27334328, -0.00034474, 0.00021118, 7.27299854, 0.99894697, 0.99944408, 0.49325933],
++												 [	-6.27334337, -0.00034470, 0.00021116, 7.27299867, 0.99894709, 0.99944414, 0.49325964],
++												 [	-6.27334346, -0.00034466, 0.00021113, 7.27299880, 0.99894721, 0.99944420, 0.49325932],
++												 [	-6.27334355, -0.00034462, 0.00021111, 7.27299893, 0.99894733, 0.99944426, 0.49325939],
++												 [	-6.27334364, -0.00034459, 0.00021109, 7.27299906, 0.99894744, 0.99944433, 0.49325953],
++												 [	-6.27334374, -0.00034455, 0.00021106, 7.27299919, 0.99894756, 0.99944439, 0.49325955],
++												 [	-6.27334383, -0.00034451, 0.00021104, 7.27299932, 0.99894768, 0.99944445, 0.49325952],
++												 [	-6.27334392, -0.00034447, 0.00021102, 7.27299945, 0.99894780, 0.99944451, 0.49325957],
++												 [	-6.27334401, -0.00034443, 0.00021099, 7.27299958, 0.99894791, 0.99944457, 0.49325952],
++												 [	-6.27334410, -0.00034439, 0.00021097, 7.27299971, 0.99894803, 0.99944464, 0.49325948],
++												 [	-6.27334420, -0.00034436, 0.00021095, 7.27299984, 0.99894815, 0.99944470, 0.49325953],
++												 [	-6.27334429, -0.00034432, 0.00021092, 7.27299997, 0.99894826, 0.99944476, 0.49325969],
++												 [	-6.27334438, -0.00034428, 0.00021090, 7.27300010, 0.99894838, 0.99944482, 0.49325951],
++												 [	-6.27334447, -0.00034424, 0.00021088, 7.27300023, 0.99894850, 0.99944488, 0.49325964],
++												 [	-6.27334456, -0.00034420, 0.00021085, 7.27300036, 0.99894861, 0.99944494, 0.49325959],
++												 [	-6.27334465, -0.00034417, 0.00021083, 7.27300049, 0.99894873, 0.99944501, 0.49325984],
++												 [	-6.27334475, -0.00034413, 0.00021081, 7.27300062, 0.99894885, 0.99944507, 0.49325961],
++												 [	-6.27334484, -0.00034409, 0.00021078, 7.27300075, 0.99894897, 0.99944513, 0.49325970],
++												 [	-6.27334493, -0.00034405, 0.00021076, 7.27300088, 0.99894908, 0.99944519, 0.49325973],
++												 [	-6.27334502, -0.00034401, 0.00021073, 7.27300101, 0.99894920, 0.99944525, 0.49325965],
++												 [	-6.27334511, -0.00034397, 0.00021071, 7.27300114, 0.99894932, 0.99944531, 0.49325961],
++												 [	-6.27334520, -0.00034394, 0.00021069, 7.27300127, 0.99894943, 0.99944538, 0.49325970],
++												 [	-6.27334529, -0.00034390, 0.00021066, 7.27300140, 0.99894955, 0.99944544, 0.49325947],
++												 [	-6.27334539, -0.00034386, 0.00021064, 7.27300153, 0.99894967, 0.99944550, 0.49325970],
++												 [	-6.27334548, -0.00034382, 0.00021062, 7.27300166, 0.99894978, 0.99944556, 0.49325986],
++												 [	-6.27334557, -0.00034378, 0.00021059, 7.27300179, 0.99894990, 0.99944562, 0.49325975],
++												 [	-6.27334566, -0.00034374, 0.00021057, 7.27300192, 0.99895002, 0.99944568, 0.49325973],
++												 [	-6.27334575, -0.00034371, 0.00021055, 7.27300205, 0.99895013, 0.99944575, 0.49325990],
++												 [	-6.27334584, -0.00034367, 0.00021052, 7.27300217, 0.99895025, 0.99944581, 0.49325987],
++												 [	-6.27334593, -0.00034363, 0.00021050, 7.27300230, 0.99895037, 0.99944587, 0.49325975],
++												 [	-6.27334603, -0.00034359, 0.00021048, 7.27300243, 0.99895048, 0.99944593, 0.49325986],
++												 [	-6.27334612, -0.00034355, 0.00021045, 7.27300256, 0.99895060, 0.99944599, 0.49325980],
++												 [	-6.27334621, -0.00034352, 0.00021043, 7.27300269, 0.99895072, 0.99944605, 0.49325999],
++												 [	-6.27334630, -0.00034348, 0.00021041, 7.27300282, 0.99895083, 0.99944611, 0.49326005],
++												 [	-6.27334639, -0.00034344, 0.00021038, 7.27300295, 0.99895095, 0.99944618, 0.49325989],
++												 [	-6.27334648, -0.00034340, 0.00021036, 7.27300308, 0.99895106, 0.99944624, 0.49325982],
++												 [	-6.27334657, -0.00034336, 0.00021034, 7.27300321, 0.99895118, 0.99944630, 0.49326004],
++												 [	-6.27334666, -0.00034333, 0.00021031, 7.27300334, 0.99895130, 0.99944636, 0.49325987],
++												 [	-6.27334676, -0.00034329, 0.00021029, 7.27300347, 0.99895141, 0.99944642, 0.49326003],
++												 [	-6.27334685, -0.00034325, 0.00021027, 7.27300360, 0.99895153, 0.99944648, 0.49325986],
++												 [	-6.27334694, -0.00034321, 0.00021024, 7.27300373, 0.99895165, 0.99944654, 0.49326013],
++												 [	-6.27334703, -0.00034317, 0.00021022, 7.27300386, 0.99895176, 0.99944661, 0.49326001],
++												 [	-6.27334712, -0.00034313, 0.00021020, 7.27300399, 0.99895188, 0.99944667, 0.49325997],
++												 [	-6.27334721, -0.00034310, 0.00021017, 7.27300411, 0.99895199, 0.99944673, 0.49325982],
++												 [	-6.27334730, -0.00034306, 0.00021015, 7.27300424, 0.99895211, 0.99944679, 0.49326004],
++												 [	-6.27334739, -0.00034302, 0.00021013, 7.27300437, 0.99895223, 0.99944685, 0.49326000],
++												 [	-6.27334748, -0.00034298, 0.00021010, 7.27300450, 0.99895234, 0.99944691, 0.49326002],
++												 [	-6.27334758, -0.00034294, 0.00021008, 7.27300463, 0.99895246, 0.99944697, 0.49326019],
++												 [	-6.27334767, -0.00034291, 0.00021006, 7.27300476, 0.99895258, 0.99944704, 0.49326022],
++												 [	-6.27334776, -0.00034287, 0.00021003, 7.27300489, 0.99895269, 0.99944710, 0.49325991],
++												 [	-6.27334785, -0.00034283, 0.00021001, 7.27300502, 0.99895281, 0.99944716, 0.49326017],
++												 [	-6.27334794, -0.00034279, 0.00020999, 7.27300515, 0.99895292, 0.99944722, 0.49326012],
++												 [	-6.27334803, -0.00034276, 0.00020996, 7.27300527, 0.99895304, 0.99944728, 0.49326022],
++												 [	-6.27334812, -0.00034272, 0.00020994, 7.27300540, 0.99895316, 0.99944734, 0.49326001],
++												 [	-6.27334821, -0.00034268, 0.00020992, 7.27300553, 0.99895327, 0.99944740, 0.49326024],
++												 [	-6.27334830, -0.00034264, 0.00020989, 7.27300566, 0.99895339, 0.99944746, 0.49326021],
++												 [	-6.27334839, -0.00034260, 0.00020987, 7.27300579, 0.99895350, 0.99944753, 0.49326029],
++												 [	-6.27334848, -0.00034257, 0.00020985, 7.27300592, 0.99895362, 0.99944759, 0.49326016],
++												 [	-6.27334857, -0.00034253, 0.00020983, 7.27300605, 0.99895373, 0.99944765, 0.49326016],
++												 [	-6.27334867, -0.00034249, 0.00020980, 7.27300618, 0.99895385, 0.99944771, 0.49326045],
++												 [	-6.27334876, -0.00034245, 0.00020978, 7.27300630, 0.99895397, 0.99944777, 0.49326011],
++												 [	-6.27334885, -0.00034241, 0.00020976, 7.27300643, 0.99895408, 0.99944783, 0.49326023],
++												 [	-6.27334894, -0.00034238, 0.00020973, 7.27300656, 0.99895420, 0.99944789, 0.49326007],
++												 [	-6.27334903, -0.00034234, 0.00020971, 7.27300669, 0.99895431, 0.99944795, 0.49326021],
++												 [	-6.27334912, -0.00034230, 0.00020969, 7.27300682, 0.99895443, 0.99944801, 0.49326027],
++												 [	-6.27334921, -0.00034226, 0.00020966, 7.27300695, 0.99895454, 0.99944807, 0.49326040],
++												 [	-6.27334930, -0.00034222, 0.00020964, 7.27300708, 0.99895466, 0.99944814, 0.49326032],
++												 [	-6.27334939, -0.00034219, 0.00020962, 7.27300720, 0.99895478, 0.99944820, 0.49326028],
++												 [	-6.27334948, -0.00034215, 0.00020959, 7.27300733, 0.99895489, 0.99944826, 0.49326022],
++												 [	-6.27334957, -0.00034211, 0.00020957, 7.27300746, 0.99895501, 0.99944832, 0.49326044],
++												 [	-6.27334966, -0.00034207, 0.00020955, 7.27300759, 0.99895512, 0.99944838, 0.49326036],
++												 [	-6.27334975, -0.00034204, 0.00020952, 7.27300772, 0.99895524, 0.99944844, 0.49326052],
++												 [	-6.27334984, -0.00034200, 0.00020950, 7.27300785, 0.99895535, 0.99944850, 0.49326050],
++												 [	-6.27334993, -0.00034196, 0.00020948, 7.27300797, 0.99895547, 0.99944856, 0.49326047],
++												 [	-6.27335002, -0.00034192, 0.00020945, 7.27300810, 0.99895558, 0.99944862, 0.49326049],
++												 [	-6.27335011, -0.00034188, 0.00020943, 7.27300823, 0.99895570, 0.99944868, 0.49326038],
++												 [	-6.27335021, -0.00034185, 0.00020941, 7.27300836, 0.99895582, 0.99944875, 0.49326054],
++												 [	-6.27335030, -0.00034181, 0.00020938, 7.27300849, 0.99895593, 0.99944881, 0.49326041],
++												 [	-6.27335039, -0.00034177, 0.00020936, 7.27300861, 0.99895605, 0.99944887, 0.49326059],
++												 [	-6.27335048, -0.00034173, 0.00020934, 7.27300874, 0.99895616, 0.99944893, 0.49326058],
++												 [	-6.27335057, -0.00034170, 0.00020932, 7.27300887, 0.99895628, 0.99944899, 0.49326043],
++												 [	-6.27335066, -0.00034166, 0.00020929, 7.27300900, 0.99895639, 0.99944905, 0.49326062],
++												 [	-6.27335075, -0.00034162, 0.00020927, 7.27300913, 0.99895651, 0.99944911, 0.49326067],
++												 [	-6.27335084, -0.00034158, 0.00020925, 7.27300925, 0.99895662, 0.99944917, 0.49326078],
++												 [	-6.27335093, -0.00034154, 0.00020922, 7.27300938, 0.99895674, 0.99944923, 0.49326065],
++												 [	-6.27335102, -0.00034151, 0.00020920, 7.27300951, 0.99895685, 0.99944929, 0.49326059],
++												 [	-6.27335111, -0.00034147, 0.00020918, 7.27300964, 0.99895697, 0.99944935, 0.49326055],
++												 [	-6.27335120, -0.00034143, 0.00020915, 7.27300977, 0.99895708, 0.99944941, 0.49326066],
++												 [	-6.27335129, -0.00034139, 0.00020913, 7.27300989, 0.99895720, 0.99944948, 0.49326077],
++												 [	-6.27335138, -0.00034136, 0.00020911, 7.27301002, 0.99895731, 0.99944954, 0.49326066],
++												 [	-6.27335147, -0.00034132, 0.00020908, 7.27301015, 0.99895743, 0.99944960, 0.49326075],
++												 [	-6.27335156, -0.00034128, 0.00020906, 7.27301028, 0.99895754, 0.99944966, 0.49326055],
++												 [	-6.27335165, -0.00034124, 0.00020904, 7.27301040, 0.99895766, 0.99944972, 0.49326086],
++												 [	-6.27335174, -0.00034121, 0.00020902, 7.27301053, 0.99895777, 0.99944978, 0.49326055],
++												 [	-6.27335183, -0.00034117, 0.00020899, 7.27301066, 0.99895789, 0.99944984, 0.49326069],
++												 [	-6.27335192, -0.00034113, 0.00020897, 7.27301079, 0.99895800, 0.99944990, 0.49326076],
++												 [	-6.27335201, -0.00034109, 0.00020895, 7.27301092, 0.99895812, 0.99944996, 0.49326064],
++												 [	-6.27335210, -0.00034106, 0.00020892, 7.27301104, 0.99895823, 0.99945002, 0.49326064],
++												 [	-6.27335219, -0.00034102, 0.00020890, 7.27301117, 0.99895835, 0.99945008, 0.49326079],
++												 [	-6.27335228, -0.00034098, 0.00020888, 7.27301130, 0.99895846, 0.99945014, 0.49326094],
++												 [	-6.27335237, -0.00034094, 0.00020885, 7.27301143, 0.99895858, 0.99945020, 0.49326073],
++												 [	-6.27335246, -0.00034091, 0.00020883, 7.27301155, 0.99895869, 0.99945026, 0.49326067],
++												 [	-6.27335255, -0.00034087, 0.00020881, 7.27301168, 0.99895881, 0.99945032, 0.49326096],
++												 [	-6.27335264, -0.00034083, 0.00020878, 7.27301181, 0.99895892, 0.99945038, 0.49326074],
++												 [	-6.27335273, -0.00034079, 0.00020876, 7.27301194, 0.99895903, 0.99945045, 0.49326072],
++												 [	-6.27335282, -0.00034076, 0.00020874, 7.27301206, 0.99895915, 0.99945051, 0.49326097],
++												 [	-6.27335291, -0.00034072, 0.00020872, 7.27301219, 0.99895926, 0.99945057, 0.49326095],
++												 [	-6.27335300, -0.00034068, 0.00020869, 7.27301232, 0.99895938, 0.99945063, 0.49326083],
++												 [	-6.27335309, -0.00034064, 0.00020867, 7.27301244, 0.99895949, 0.99945069, 0.49326094],
++												 [	-6.27335318, -0.00034061, 0.00020865, 7.27301257, 0.99895961, 0.99945075, 0.49326071],
++												 [	-6.27335327, -0.00034057, 0.00020862, 7.27301270, 0.99895972, 0.99945081, 0.49326094],
++												 [	-6.27335336, -0.00034053, 0.00020860, 7.27301283, 0.99895984, 0.99945087, 0.49326119],
++												 [	-6.27335345, -0.00034049, 0.00020858, 7.27301295, 0.99895995, 0.99945093, 0.49326102],
++												 [	-6.27335354, -0.00034046, 0.00020856, 7.27301308, 0.99896007, 0.99945099, 0.49326095],
++												 [	-6.27335363, -0.00034042, 0.00020853, 7.27301321, 0.99896018, 0.99945105, 0.49326111],
++												 [	-6.27335372, -0.00034038, 0.00020851, 7.27301333, 0.99896029, 0.99945111, 0.49326093],
++												 [	-6.27335380, -0.00034034, 0.00020849, 7.27301346, 0.99896041, 0.99945117, 0.49326092],
++												 [	-6.27335389, -0.00034031, 0.00020846, 7.27301359, 0.99896052, 0.99945123, 0.49326086],
++												 [	-6.27335398, -0.00034027, 0.00020844, 7.27301372, 0.99896064, 0.99945129, 0.49326111],
++												 [	-6.27335407, -0.00034023, 0.00020842, 7.27301384, 0.99896075, 0.99945135, 0.49326085],
++												 [	-6.27335416, -0.00034019, 0.00020839, 7.27301397, 0.99896087, 0.99945141, 0.49326107],
++												 [	-6.27335425, -0.00034016, 0.00020837, 7.27301410, 0.99896098, 0.99945147, 0.49326138],
++												 [	-6.27335434, -0.00034012, 0.00020835, 7.27301422, 0.99896109, 0.99945153, 0.49326107],
++												 [	-6.27335443, -0.00034008, 0.00020833, 7.27301435, 0.99896121, 0.99945159, 0.49326110],
++												 [	-6.27335452, -0.00034004, 0.00020830, 7.27301448, 0.99896132, 0.99945165, 0.49326107],
++												 [	-6.27335461, -0.00034001, 0.00020828, 7.27301460, 0.99896144, 0.99945171, 0.49326111],
++												 [	-6.27335470, -0.00033997, 0.00020826, 7.27301473, 0.99896155, 0.99945177, 0.49326094],
++												 [	-6.27335479, -0.00033993, 0.00020823, 7.27301486, 0.99896166, 0.99945183, 0.49326116],
++												 [	-6.27335488, -0.00033989, 0.00020821, 7.27301498, 0.99896178, 0.99945189, 0.49326119],
++												 [	-6.27335497, -0.00033986, 0.00020819, 7.27301511, 0.99896189, 0.99945195, 0.49326130],
++												 [	-6.27335506, -0.00033982, 0.00020817, 7.27301524, 0.99896201, 0.99945201, 0.49326119],
++												 [	-6.27335515, -0.00033978, 0.00020814, 7.27301536, 0.99896212, 0.99945207, 0.49326105],
++												 [	-6.27335524, -0.00033975, 0.00020812, 7.27301549, 0.99896223, 0.99945213, 0.49326119],
++												 [	-6.27335533, -0.00033971, 0.00020810, 7.27301562, 0.99896235, 0.99945219, 0.49326118],
++												 [	-6.27335541, -0.00033967, 0.00020807, 7.27301574, 0.99896246, 0.99945225, 0.49326126],
++												 [	-6.27335550, -0.00033963, 0.00020805, 7.27301587, 0.99896258, 0.99945231, 0.49326104],
++												 [	-6.27335559, -0.00033960, 0.00020803, 7.27301600, 0.99896269, 0.99945237, 0.49326124],
++												 [	-6.27335568, -0.00033956, 0.00020801, 7.27301612, 0.99896280, 0.99945243, 0.49326121],
++												 [	-6.27335577, -0.00033952, 0.00020798, 7.27301625, 0.99896292, 0.99945249, 0.49326126],
++												 [	-6.27335586, -0.00033948, 0.00020796, 7.27301638, 0.99896303, 0.99945255, 0.49326146],
++												 [	-6.27335595, -0.00033945, 0.00020794, 7.27301650, 0.99896315, 0.99945261, 0.49326123],
++												 [	-6.27335604, -0.00033941, 0.00020791, 7.27301663, 0.99896326, 0.99945267, 0.49326137],
++												 [	-6.27335613, -0.00033937, 0.00020789, 7.27301675, 0.99896337, 0.99945274, 0.49326124],
++												 [	-6.27335622, -0.00033934, 0.00020787, 7.27301688, 0.99896349, 0.99945279, 0.49326144],
++												 [	-6.27335631, -0.00033930, 0.00020785, 7.27301701, 0.99896360, 0.99945286, 0.49326118],
++												 [	-6.27335639, -0.00033926, 0.00020782, 7.27301713, 0.99896371, 0.99945291, 0.49326131],
++												 [	-6.27335648, -0.00033922, 0.00020780, 7.27301726, 0.99896383, 0.99945297, 0.49326131],
++												 [	-6.27335657, -0.00033919, 0.00020778, 7.27301739, 0.99896394, 0.99945303, 0.49326137],
++												 [	-6.27335666, -0.00033915, 0.00020776, 7.27301751, 0.99896405, 0.99945309, 0.49326160],
++												 [	-6.27335675, -0.00033911, 0.00020773, 7.27301764, 0.99896417, 0.99945315, 0.49326160],
++												 [	-6.27335684, -0.00033908, 0.00020771, 7.27301776, 0.99896428, 0.99945321, 0.49326123],
++												 [	-6.27335693, -0.00033904, 0.00020769, 7.27301789, 0.99896439, 0.99945327, 0.49326161],
++												 [	-6.27335702, -0.00033900, 0.00020766, 7.27301802, 0.99896451, 0.99945333, 0.49326152],
++												 [	-6.27335711, -0.00033896, 0.00020764, 7.27301814, 0.99896462, 0.99945339, 0.49326143],
++												 [	-6.27335720, -0.00033893, 0.00020762, 7.27301827, 0.99896473, 0.99945345, 0.49326145],
++												 [	-6.27335728, -0.00033889, 0.00020760, 7.27301839, 0.99896485, 0.99945351, 0.49326173],
++												 [	-6.27335737, -0.00033885, 0.00020757, 7.27301852, 0.99896496, 0.99945357, 0.49326144],
++												 [	-6.27335746, -0.00033882, 0.00020755, 7.27301865, 0.99896507, 0.99945363, 0.49326151],
++												 [	-6.27335755, -0.00033878, 0.00020753, 7.27301877, 0.99896519, 0.99945369, 0.49326137],
++												 [	-6.27335764, -0.00033874, 0.00020751, 7.27301890, 0.99896530, 0.99945375, 0.49326159],
++												 [	-6.27335773, -0.00033870, 0.00020748, 7.27301902, 0.99896541, 0.99945381, 0.49326170],
++												 [	-6.27335782, -0.00033867, 0.00020746, 7.27301915, 0.99896553, 0.99945387, 0.49326167],
++												 [	-6.27335791, -0.00033863, 0.00020744, 7.27301927, 0.99896564, 0.99945393, 0.49326166],
++												 [	-6.27335799, -0.00033859, 0.00020741, 7.27301940, 0.99896575, 0.99945399, 0.49326169],
++												 [	-6.27335808, -0.00033856, 0.00020739, 7.27301953, 0.99896587, 0.99945405, 0.49326162],
++												 [	-6.27335817, -0.00033852, 0.00020737, 7.27301965, 0.99896598, 0.99945411, 0.49326183],
++												 [	-6.27335826, -0.00033848, 0.00020735, 7.27301978, 0.99896609, 0.99945417, 0.49326173],
++												 [	-6.27335835, -0.00033845, 0.00020732, 7.27301990, 0.99896621, 0.99945423, 0.49326171],
++												 [	-6.27335844, -0.00033841, 0.00020730, 7.27302003, 0.99896632, 0.99945429, 0.49326166],
++												 [	-6.27335853, -0.00033837, 0.00020728, 7.27302015, 0.99896643, 0.99945435, 0.49326165],
++												 [	-6.27335861, -0.00033833, 0.00020726, 7.27302028, 0.99896655, 0.99945441, 0.49326181],
++												 [	-6.27335870, -0.00033830, 0.00020723, 7.27302041, 0.99896666, 0.99945447, 0.49326156],
++												 [	-6.27335879, -0.00033826, 0.00020721, 7.27302053, 0.99896677, 0.99945453, 0.49326193],
++												 [	-6.27335888, -0.00033822, 0.00020719, 7.27302066, 0.99896688, 0.99945459, 0.49326181],
++												 [	-6.27335897, -0.00033819, 0.00020716, 7.27302078, 0.99896700, 0.99945465, 0.49326163],
++												 [	-6.27335906, -0.00033815, 0.00020714, 7.27302091, 0.99896711, 0.99945471, 0.49326173],
++												 [	-6.27335915, -0.00033811, 0.00020712, 7.27302103, 0.99896722, 0.99945477, 0.49326188],
++												 [	-6.27335923, -0.00033808, 0.00020710, 7.27302116, 0.99896734, 0.99945483, 0.49326193],
++												 [	-6.27335932, -0.00033804, 0.00020707, 7.27302128, 0.99896745, 0.99945489, 0.49326203],
++												 [	-6.27335941, -0.00033800, 0.00020705, 7.27302141, 0.99896756, 0.99945495, 0.49326181],
++												 [	-6.27335950, -0.00033797, 0.00020703, 7.27302153, 0.99896767, 0.99945501, 0.49326178],
++												 [	-6.27335959, -0.00033793, 0.00020701, 7.27302166, 0.99896779, 0.99945507, 0.49326183],
++												 [	-6.27335968, -0.00033789, 0.00020698, 7.27302178, 0.99896790, 0.99945512, 0.49326183],
++												 [	-6.27335976, -0.00033785, 0.00020696, 7.27302191, 0.99896801, 0.99945518, 0.49326190],
++												 [	-6.27335985, -0.00033782, 0.00020694, 7.27302203, 0.99896813, 0.99945524, 0.49326204],
++												 [	-6.27335994, -0.00033778, 0.00020692, 7.27302216, 0.99896824, 0.99945530, 0.49326197],
++												 [	-6.27336003, -0.00033774, 0.00020689, 7.27302228, 0.99896835, 0.99945536, 0.49326200],
++												 [	-6.27336012, -0.00033771, 0.00020687, 7.27302241, 0.99896846, 0.99945542, 0.49326187],
++												 [	-6.27336021, -0.00033767, 0.00020685, 7.27302253, 0.99896858, 0.99945548, 0.49326214],
++												 [	-6.27336029, -0.00033763, 0.00020683, 7.27302266, 0.99896869, 0.99945554, 0.49326210],
++												 [	-6.27336038, -0.00033760, 0.00020680, 7.27302278, 0.99896880, 0.99945560, 0.49326210],
++												 [	-6.27336047, -0.00033756, 0.00020678, 7.27302291, 0.99896891, 0.99945566, 0.49326201],
++												 [	-6.27336056, -0.00033752, 0.00020676, 7.27302303, 0.99896903, 0.99945572, 0.49326223],
++												 [	-6.27336065, -0.00033749, 0.00020674, 7.27302316, 0.99896914, 0.99945578, 0.49326214],
++												 [	-6.27336073, -0.00033745, 0.00020671, 7.27302328, 0.99896925, 0.99945584, 0.49326184],
++												 [	-6.27336082, -0.00033741, 0.00020669, 7.27302341, 0.99896936, 0.99945590, 0.49326190],
++												 [	-6.27336091, -0.00033738, 0.00020667, 7.27302353, 0.99896948, 0.99945596, 0.49326192],
++												 [	-6.27336100, -0.00033734, 0.00020665, 7.27302366, 0.99896959, 0.99945602, 0.49326215],
++												 [	-6.27336109, -0.00033730, 0.00020662, 7.27302378, 0.99896970, 0.99945607, 0.49326198],
++												 [	-6.27336117, -0.00033727, 0.00020660, 7.27302391, 0.99896981, 0.99945613, 0.49326211],
++												 [	-6.27336126, -0.00033723, 0.00020658, 7.27302403, 0.99896992, 0.99945619, 0.49326202],
++												 [	-6.27336135, -0.00033719, 0.00020656, 7.27302416, 0.99897004, 0.99945625, 0.49326208],
++												 [	-6.27336144, -0.00033716, 0.00020653, 7.27302428, 0.99897015, 0.99945631, 0.49326216],
++												 [	-6.27336153, -0.00033712, 0.00020651, 7.27302441, 0.99897026, 0.99945637, 0.49326199],
++												 [	-6.27336161, -0.00033708, 0.00020649, 7.27302453, 0.99897037, 0.99945643, 0.49326218],
++												 [	-6.27336170, -0.00033705, 0.00020647, 7.27302466, 0.99897049, 0.99945649, 0.49326214],
++												 [	-6.27336179, -0.00033701, 0.00020644, 7.27302478, 0.99897060, 0.99945655, 0.49326240],
++												 [	-6.27336188, -0.00033697, 0.00020642, 7.27302491, 0.99897071, 0.99945661, 0.49326199],
++												 [	-6.27336197, -0.00033694, 0.00020640, 7.27302503, 0.99897082, 0.99945667, 0.49326203],
++												 [	-6.27336205, -0.00033690, 0.00020638, 7.27302515, 0.99897093, 0.99945673, 0.49326224],
++												 [	-6.27336214, -0.00033686, 0.00020635, 7.27302528, 0.99897105, 0.99945679, 0.49326220],
++												 [	-6.27336223, -0.00033683, 0.00020633, 7.27302540, 0.99897116, 0.99945684, 0.49326222],
++												 [	-6.27336232, -0.00033679, 0.00020631, 7.27302553, 0.99897127, 0.99945690, 0.49326242],
++												 [	-6.27336240, -0.00033675, 0.00020629, 7.27302565, 0.99897138, 0.99945696, 0.49326213],
++												 [	-6.27336249, -0.00033672, 0.00020626, 7.27302578, 0.99897149, 0.99945702, 0.49326219],
++												 [	-6.27336258, -0.00033668, 0.00020624, 7.27302590, 0.99897161, 0.99945708, 0.49326219],
++												 [	-6.27336267, -0.00033664, 0.00020622, 7.27302603, 0.99897172, 0.99945714, 0.49326250],
++												 [	-6.27336275, -0.00033661, 0.00020620, 7.27302615, 0.99897183, 0.99945720, 0.49326244],
++												 [	-6.27336284, -0.00033657, 0.00020617, 7.27302627, 0.99897194, 0.99945726, 0.49326221],
++												 [	-6.27336293, -0.00033653, 0.00020615, 7.27302640, 0.99897205, 0.99945732, 0.49326264],
++												 [	-6.27336302, -0.00033650, 0.00020613, 7.27302652, 0.99897216, 0.99945738, 0.49326232],
++												 [	-6.27336311, -0.00033646, 0.00020611, 7.27302665, 0.99897228, 0.99945743, 0.49326230],
++												 [	-6.27336319, -0.00033642, 0.00020608, 7.27302677, 0.99897239, 0.99945749, 0.49326227],
++												 [	-6.27336328, -0.00033639, 0.00020606, 7.27302689, 0.99897250, 0.99945755, 0.49326245],
++												 [	-6.27336337, -0.00033635, 0.00020604, 7.27302702, 0.99897261, 0.99945761, 0.49326242],
++												 [	-6.27336346, -0.00033631, 0.00020602, 7.27302714, 0.99897272, 0.99945767, 0.49326246],
++												 [	-6.27336354, -0.00033628, 0.00020599, 7.27302727, 0.99897283, 0.99945773, 0.49326241],
++												 [	-6.27336363, -0.00033624, 0.00020597, 7.27302739, 0.99897295, 0.99945779, 0.49326240],
++												 [	-6.27336372, -0.00033620, 0.00020595, 7.27302751, 0.99897306, 0.99945785, 0.49326249],
++												 [	-6.27336381, -0.00033617, 0.00020593, 7.27302764, 0.99897317, 0.99945791, 0.49326270],
++												 [	-6.27336389, -0.00033613, 0.00020590, 7.27302776, 0.99897328, 0.99945797, 0.49326235],
++												 [	-6.27336398, -0.00033609, 0.00020588, 7.27302789, 0.99897339, 0.99945802, 0.49326239],
++												 [	-6.27336407, -0.00033606, 0.00020586, 7.27302801, 0.99897350, 0.99945808, 0.49326248],
++												 [	-6.27336415, -0.00033602, 0.00020584, 7.27302813, 0.99897362, 0.99945814, 0.49326264],
++												 [	-6.27336424, -0.00033598, 0.00020582, 7.27302826, 0.99897373, 0.99945820, 0.49326263],
++												 [	-6.27336433, -0.00033595, 0.00020579, 7.27302838, 0.99897384, 0.99945826, 0.49326243],
++												 [	-6.27336442, -0.00033591, 0.00020577, 7.27302851, 0.99897395, 0.99945832, 0.49326267],
++												 [	-6.27336450, -0.00033587, 0.00020575, 7.27302863, 0.99897406, 0.99945838, 0.49326234],
++												 [	-6.27336459, -0.00033584, 0.00020573, 7.27302875, 0.99897417, 0.99945844, 0.49326251],
++												 [	-6.27336468, -0.00033580, 0.00020570, 7.27302888, 0.99897428, 0.99945849, 0.49326259],
++												 [	-6.27336477, -0.00033577, 0.00020568, 7.27302900, 0.99897439, 0.99945855, 0.49326266],
++												 [	-6.27336485, -0.00033573, 0.00020566, 7.27302912, 0.99897451, 0.99945861, 0.49326257],
++												 [	-6.27336494, -0.00033569, 0.00020564, 7.27302925, 0.99897462, 0.99945867, 0.49326257],
++												 [	-6.27336503, -0.00033566, 0.00020561, 7.27302937, 0.99897473, 0.99945873, 0.49326264],
++												 [	-6.27336511, -0.00033562, 0.00020559, 7.27302949, 0.99897484, 0.99945879, 0.49326274],
++												 [	-6.27336520, -0.00033558, 0.00020557, 7.27302962, 0.99897495, 0.99945885, 0.49326286],
++												 [	-6.27336529, -0.00033555, 0.00020555, 7.27302974, 0.99897506, 0.99945891, 0.49326289],
++												 [	-6.27336538, -0.00033551, 0.00020553, 7.27302986, 0.99897517, 0.99945896, 0.49326274],
++												 [	-6.27336546, -0.00033547, 0.00020550, 7.27302999, 0.99897528, 0.99945902, 0.49326267],
++												 [	-6.27336555, -0.00033544, 0.00020548, 7.27303011, 0.99897540, 0.99945908, 0.49326282],
++												 [	-6.27336564, -0.00033540, 0.00020546, 7.27303023, 0.99897551, 0.99945914, 0.49326268],
++												 [	-6.27336572, -0.00033537, 0.00020544, 7.27303036, 0.99897562, 0.99945920, 0.49326305],
++												 [	-6.27336581, -0.00033533, 0.00020541, 7.27303048, 0.99897573, 0.99945926, 0.49326276],
++												 [	-6.27336590, -0.00033529, 0.00020539, 7.27303060, 0.99897584, 0.99945932, 0.49326281],
++												 [	-6.27336598, -0.00033526, 0.00020537, 7.27303073, 0.99897595, 0.99945937, 0.49326294],
++												 [	-6.27336607, -0.00033522, 0.00020535, 7.27303085, 0.99897606, 0.99945943, 0.49326286],
++												 [	-6.27336616, -0.00033518, 0.00020532, 7.27303097, 0.99897617, 0.99945949, 0.49326281],
++												 [	-6.27336625, -0.00033515, 0.00020530, 7.27303110, 0.99897628, 0.99945955, 0.49326286],
++												 [	-6.27336633, -0.00033511, 0.00020528, 7.27303122, 0.99897639, 0.99945961, 0.49326297],
++												 [	-6.27336642, -0.00033508, 0.00020526, 7.27303134, 0.99897650, 0.99945967, 0.49326279],
++												 [	-6.27336651, -0.00033504, 0.00020524, 7.27303147, 0.99897662, 0.99945973, 0.49326311],
++												 [	-6.27336659, -0.00033500, 0.00020521, 7.27303159, 0.99897673, 0.99945978, 0.49326289],
++												 [	-6.27336668, -0.00033497, 0.00020519, 7.27303171, 0.99897684, 0.99945984, 0.49326305],
++												 [	-6.27336677, -0.00033493, 0.00020517, 7.27303184, 0.99897695, 0.99945990, 0.49326297],
++												 [	-6.27336685, -0.00033489, 0.00020515, 7.27303196, 0.99897706, 0.99945996, 0.49326277],
++												 [	-6.27336694, -0.00033486, 0.00020512, 7.27303208, 0.99897717, 0.99946002, 0.49326308],
++												 [	-6.27336703, -0.00033482, 0.00020510, 7.27303221, 0.99897728, 0.99946008, 0.49326289],
++												 [	-6.27336711, -0.00033479, 0.00020508, 7.27303233, 0.99897739, 0.99946013, 0.49326298],
++												 [	-6.27336720, -0.00033475, 0.00020506, 7.27303245, 0.99897750, 0.99946019, 0.49326300],
++												 [	-6.27336729, -0.00033471, 0.00020504, 7.27303257, 0.99897761, 0.99946025, 0.49326304],
++												 [	-6.27336737, -0.00033468, 0.00020501, 7.27303270, 0.99897772, 0.99946031, 0.49326311],
++												 [	-6.27336746, -0.00033464, 0.00020499, 7.27303282, 0.99897783, 0.99946037, 0.49326309],
++												 [	-6.27336755, -0.00033460, 0.00020497, 7.27303294, 0.99897794, 0.99946043, 0.49326303],
++												 [	-6.27336763, -0.00033457, 0.00020495, 7.27303306, 0.99897805, 0.99946048, 0.49326308],
++												 [	-6.27336772, -0.00033453, 0.00020493, 7.27303319, 0.99897816, 0.99946054, 0.49326287],
++												 [	-6.27336781, -0.00033450, 0.00020490, 7.27303331, 0.99897827, 0.99946060, 0.49326314],
++												 [	-6.27336789, -0.00033446, 0.00020488, 7.27303343, 0.99897839, 0.99946066, 0.49326307],
++												 [	-6.27336798, -0.00033442, 0.00020486, 7.27303356, 0.99897850, 0.99946072, 0.49326307],
++												 [	-6.27336807, -0.00033439, 0.00020484, 7.27303368, 0.99897861, 0.99946078, 0.49326322],
++												 [	-6.27336815, -0.00033435, 0.00020481, 7.27303380, 0.99897872, 0.99946083, 0.49326311],
++												 [	-6.27336824, -0.00033432, 0.00020479, 7.27303392, 0.99897883, 0.99946089, 0.49326322],
++												 [	-6.27336833, -0.00033428, 0.00020477, 7.27303405, 0.99897894, 0.99946095, 0.49326339],
++												 [	-6.27336841, -0.00033424, 0.00020475, 7.27303417, 0.99897905, 0.99946101, 0.49326319],
++												 [	-6.27336850, -0.00033421, 0.00020473, 7.27303429, 0.99897916, 0.99946107, 0.49326315],
++												 [	-6.27336858, -0.00033417, 0.00020470, 7.27303441, 0.99897927, 0.99946113, 0.49326326],
++												 [	-6.27336867, -0.00033413, 0.00020468, 7.27303454, 0.99897938, 0.99946118, 0.49326320],
++												 [	-6.27336876, -0.00033410, 0.00020466, 7.27303466, 0.99897949, 0.99946124, 0.49326335],
++												 [	-6.27336884, -0.00033406, 0.00020464, 7.27303478, 0.99897960, 0.99946130, 0.49326321],
++												 [	-6.27336893, -0.00033403, 0.00020462, 7.27303490, 0.99897971, 0.99946136, 0.49326341],
++												 [	-6.27336902, -0.00033399, 0.00020459, 7.27303503, 0.99897982, 0.99946142, 0.49326319],
++												 [	-6.27336910, -0.00033395, 0.00020457, 7.27303515, 0.99897993, 0.99946147, 0.49326349],
++												 [	-6.27336919, -0.00033392, 0.00020455, 7.27303527, 0.99898004, 0.99946153, 0.49326330],
++												 [	-6.27336927, -0.00033388, 0.00020453, 7.27303539, 0.99898015, 0.99946159, 0.49326316],
++												 [	-6.27336936, -0.00033385, 0.00020451, 7.27303551, 0.99898026, 0.99946165, 0.49326319],
++												 [	-6.27336945, -0.00033381, 0.00020448, 7.27303564, 0.99898037, 0.99946171, 0.49326337],
++												 [	-6.27336953, -0.00033377, 0.00020446, 7.27303576, 0.99898048, 0.99946176, 0.49326350],
++												 [	-6.27336962, -0.00033374, 0.00020444, 7.27303588, 0.99898059, 0.99946182, 0.49326333],
++												 [	-6.27336971, -0.00033370, 0.00020442, 7.27303600, 0.99898070, 0.99946188, 0.49326343],
++												 [	-6.27336979, -0.00033367, 0.00020439, 7.27303613, 0.99898081, 0.99946194, 0.49326342],
++												 [	-6.27336988, -0.00033363, 0.00020437, 7.27303625, 0.99898092, 0.99946200, 0.49326348],
++												 [	-6.27336996, -0.00033359, 0.00020435, 7.27303637, 0.99898103, 0.99946205, 0.49326358],
++												 [	-6.27337005, -0.00033356, 0.00020433, 7.27303649, 0.99898114, 0.99946211, 0.49326344],
++												 [	-6.27337014, -0.00033352, 0.00020431, 7.27303661, 0.99898125, 0.99946217, 0.49326333],
++												 [	-6.27337022, -0.00033349, 0.00020428, 7.27303674, 0.99898136, 0.99946223, 0.49326344],
++												 [	-6.27337031, -0.00033345, 0.00020426, 7.27303686, 0.99898147, 0.99946229, 0.49326346],
++												 [	-6.27337039, -0.00033342, 0.00020424, 7.27303698, 0.99898158, 0.99946234, 0.49326354],
++												 [	-6.27337048, -0.00033338, 0.00020422, 7.27303710, 0.99898169, 0.99946240, 0.49326336],
++												 [	-6.27337057, -0.00033334, 0.00020420, 7.27303722, 0.99898180, 0.99946246, 0.49326349],
++												 [	-6.27337065, -0.00033331, 0.00020417, 7.27303734, 0.99898191, 0.99946252, 0.49326348],
++												 [	-6.27337074, -0.00033327, 0.00020415, 7.27303747, 0.99898202, 0.99946258, 0.49326342],
++												 [	-6.27337082, -0.00033324, 0.00020413, 7.27303759, 0.99898213, 0.99946263, 0.49326343],
++												 [	-6.27337091, -0.00033320, 0.00020411, 7.27303771, 0.99898224, 0.99946269, 0.49326362],
++												 [	-6.27337100, -0.00033316, 0.00020409, 7.27303783, 0.99898234, 0.99946275, 0.49326356],
++												 [	-6.27337108, -0.00033313, 0.00020406, 7.27303795, 0.99898245, 0.99946281, 0.49326362],
++												 [	-6.27337117, -0.00033309, 0.00020404, 7.27303808, 0.99898256, 0.99946287, 0.49326353],
++												 [	-6.27337125, -0.00033306, 0.00020402, 7.27303820, 0.99898267, 0.99946292, 0.49326384],
++												 [	-6.27337134, -0.00033302, 0.00020400, 7.27303832, 0.99898278, 0.99946298, 0.49326355],
++												 [	-6.27337142, -0.00033298, 0.00020398, 7.27303844, 0.99898289, 0.99946304, 0.49326361],
++												 [	-6.27337151, -0.00033295, 0.00020395, 7.27303856, 0.99898300, 0.99946310, 0.49326362],
++												 [	-6.27337160, -0.00033291, 0.00020393, 7.27303868, 0.99898311, 0.99946315, 0.49326349],
++												 [	-6.27337168, -0.00033288, 0.00020391, 7.27303880, 0.99898322, 0.99946321, 0.49326369],
++												 [	-6.27337177, -0.00033284, 0.00020389, 7.27303893, 0.99898333, 0.99946327, 0.49326369],
++												 [	-6.27337185, -0.00033281, 0.00020387, 7.27303905, 0.99898344, 0.99946333, 0.49326369],
++												 [	-6.27337194, -0.00033277, 0.00020385, 7.27303917, 0.99898355, 0.99946338, 0.49326367],
++												 [	-6.27337202, -0.00033273, 0.00020382, 7.27303929, 0.99898366, 0.99946344, 0.49326359],
++												 [	-6.27337211, -0.00033270, 0.00020380, 7.27303941, 0.99898377, 0.99946350, 0.49326376],
++												 [	-6.27337220, -0.00033266, 0.00020378, 7.27303953, 0.99898388, 0.99946356, 0.49326382],
++												 [	-6.27337228, -0.00033263, 0.00020376, 7.27303965, 0.99898399, 0.99946362, 0.49326384],
++												 [	-6.27337237, -0.00033259, 0.00020374, 7.27303978, 0.99898409, 0.99946367, 0.49326379],
++												 [	-6.27337245, -0.00033256, 0.00020371, 7.27303990, 0.99898420, 0.99946373, 0.49326389],
++												 [	-6.27337254, -0.00033252, 0.00020369, 7.27304002, 0.99898431, 0.99946379, 0.49326390],
++												 [	-6.27337262, -0.00033248, 0.00020367, 7.27304014, 0.99898442, 0.99946385, 0.49326379],
++												 [	-6.27337271, -0.00033245, 0.00020365, 7.27304026, 0.99898453, 0.99946390, 0.49326384],
++												 [	-6.27337279, -0.00033241, 0.00020363, 7.27304038, 0.99898464, 0.99946396, 0.49326381],
++												 [	-6.27337288, -0.00033238, 0.00020360, 7.27304050, 0.99898475, 0.99946402, 0.49326372],
++												 [	-6.27337297, -0.00033234, 0.00020358, 7.27304062, 0.99898486, 0.99946408, 0.49326377],
++												 [	-6.27337305, -0.00033231, 0.00020356, 7.27304075, 0.99898497, 0.99946413, 0.49326406],
++												 [	-6.27337314, -0.00033227, 0.00020354, 7.27304087, 0.99898508, 0.99946419, 0.49326380],
++												 [	-6.27337322, -0.00033223, 0.00020352, 7.27304099, 0.99898519, 0.99946425, 0.49326407],
++												 [	-6.27337331, -0.00033220, 0.00020350, 7.27304111, 0.99898529, 0.99946431, 0.49326377],
++												 [	-6.27337339, -0.00033216, 0.00020347, 7.27304123, 0.99898540, 0.99946436, 0.49326399],
++												 [	-6.27337348, -0.00033213, 0.00020345, 7.27304135, 0.99898551, 0.99946442, 0.49326392],
++												 [	-6.27337356, -0.00033209, 0.00020343, 7.27304147, 0.99898562, 0.99946448, 0.49326402],
++												 [	-6.27337365, -0.00033206, 0.00020341, 7.27304159, 0.99898573, 0.99946454, 0.49326407],
++												 [	-6.27337373, -0.00033202, 0.00020339, 7.27304171, 0.99898584, 0.99946459, 0.49326397],
++												 [	-6.27337382, -0.00033198, 0.00020336, 7.27304183, 0.99898595, 0.99946465, 0.49326388],
++												 [	-6.27337390, -0.00033195, 0.00020334, 7.27304196, 0.99898606, 0.99946471, 0.49326400],
++												 [	-6.27337399, -0.00033191, 0.00020332, 7.27304208, 0.99898616, 0.99946477, 0.49326405],
++												 [	-6.27337407, -0.00033188, 0.00020330, 7.27304220, 0.99898627, 0.99946482, 0.49326405],
++												 [	-6.27337416, -0.00033184, 0.00020328, 7.27304232, 0.99898638, 0.99946488, 0.49326395],
++												 [	-6.27337425, -0.00033181, 0.00020326, 7.27304244, 0.99898649, 0.99946494, 0.49326406],
++												 [	-6.27337433, -0.00033177, 0.00020323, 7.27304256, 0.99898660, 0.99946500, 0.49326412],
++												 [	-6.27337442, -0.00033174, 0.00020321, 7.27304268, 0.99898671, 0.99946505, 0.49326418],
++												 [	-6.27337450, -0.00033170, 0.00020319, 7.27304280, 0.99898682, 0.99946511, 0.49326405],
++												 [	-6.27337459, -0.00033166, 0.00020317, 7.27304292, 0.99898693, 0.99946517, 0.49326394],
++												 [	-6.27337467, -0.00033163, 0.00020315, 7.27304304, 0.99898703, 0.99946522, 0.49326407],
++												 [	-6.27337476, -0.00033159, 0.00020312, 7.27304316, 0.99898714, 0.99946528, 0.49326381],
++												 [	-6.27337484, -0.00033156, 0.00020310, 7.27304328, 0.99898725, 0.99946534, 0.49326400],
++												 [	-6.27337493, -0.00033152, 0.00020308, 7.27304340, 0.99898736, 0.99946540, 0.49326414],
++												 [	-6.27337501, -0.00033149, 0.00020306, 7.27304352, 0.99898747, 0.99946545, 0.49326426],
++												 [	-6.27337510, -0.00033145, 0.00020304, 7.27304364, 0.99898758, 0.99946551, 0.49326422],
++												 [	-6.27337518, -0.00033142, 0.00020302, 7.27304376, 0.99898768, 0.99946557, 0.49326412],
++												 [	-6.27337527, -0.00033138, 0.00020299, 7.27304389, 0.99898779, 0.99946563, 0.49326410],
++												 [	-6.27337535, -0.00033135, 0.00020297, 7.27304401, 0.99898790, 0.99946568, 0.49326415],
++												 [	-6.27337544, -0.00033131, 0.00020295, 7.27304413, 0.99898801, 0.99946574, 0.49326422],
++												 [	-6.27337552, -0.00033127, 0.00020293, 7.27304425, 0.99898812, 0.99946580, 0.49326416],
++												 [	-6.27337561, -0.00033124, 0.00020291, 7.27304437, 0.99898823, 0.99946585, 0.49326449],
++												 [	-6.27337569, -0.00033120, 0.00020289, 7.27304449, 0.99898833, 0.99946591, 0.49326425],
++												 [	-6.27337578, -0.00033117, 0.00020286, 7.27304461, 0.99898844, 0.99946597, 0.49326435],
++												 [	-6.27337586, -0.00033113, 0.00020284, 7.27304473, 0.99898855, 0.99946603, 0.49326445],
++												 [	-6.27337594, -0.00033110, 0.00020282, 7.27304485, 0.99898866, 0.99946608, 0.49326455],
++												 [	-6.27337603, -0.00033106, 0.00020280, 7.27304497, 0.99898877, 0.99946614, 0.49326433],
++												 [	-6.27337611, -0.00033103, 0.00020278, 7.27304509, 0.99898888, 0.99946620, 0.49326418],
++												 [	-6.27337620, -0.00033099, 0.00020275, 7.27304521, 0.99898898, 0.99946625, 0.49326429],
++												 [	-6.27337628, -0.00033096, 0.00020273, 7.27304533, 0.99898909, 0.99946631, 0.49326433],
++												 [	-6.27337637, -0.00033092, 0.00020271, 7.27304545, 0.99898920, 0.99946637, 0.49326438],
++												 [	-6.27337645, -0.00033088, 0.00020269, 7.27304557, 0.99898931, 0.99946643, 0.49326440],
++												 [	-6.27337654, -0.00033085, 0.00020267, 7.27304569, 0.99898942, 0.99946648, 0.49326448],
++												 [	-6.27337662, -0.00033081, 0.00020265, 7.27304581, 0.99898952, 0.99946654, 0.49326440],
++												 [	-6.27337671, -0.00033078, 0.00020262, 7.27304593, 0.99898963, 0.99946660, 0.49326441],
++												 [	-6.27337679, -0.00033074, 0.00020260, 7.27304605, 0.99898974, 0.99946665, 0.49326439],
++												 [	-6.27337688, -0.00033071, 0.00020258, 7.27304617, 0.99898985, 0.99946671, 0.49326444],
++												 [	-6.27337696, -0.00033067, 0.00020256, 7.27304629, 0.99898996, 0.99946677, 0.49326437],
++												 [	-6.27337705, -0.00033064, 0.00020254, 7.27304641, 0.99899006, 0.99946682, 0.49326463],
++												 [	-6.27337713, -0.00033060, 0.00020252, 7.27304653, 0.99899017, 0.99946688, 0.49326433],
++												 [	-6.27337721, -0.00033057, 0.00020250, 7.27304665, 0.99899028, 0.99946694, 0.49326452],
++												 [	-6.27337730, -0.00033053, 0.00020247, 7.27304677, 0.99899039, 0.99946700, 0.49326464],
++												 [	-6.27337738, -0.00033050, 0.00020245, 7.27304689, 0.99899050, 0.99946705, 0.49326462],
++												 [	-6.27337747, -0.00033046, 0.00020243, 7.27304701, 0.99899060, 0.99946711, 0.49326446],
++												 [	-6.27337755, -0.00033043, 0.00020241, 7.27304713, 0.99899071, 0.99946717, 0.49326448],
++												 [	-6.27337764, -0.00033039, 0.00020239, 7.27304725, 0.99899082, 0.99946722, 0.49326479],
++												 [	-6.27337772, -0.00033035, 0.00020237, 7.27304737, 0.99899093, 0.99946728, 0.49326445],
++												 [	-6.27337781, -0.00033032, 0.00020234, 7.27304749, 0.99899103, 0.99946734, 0.49326446],
++												 [	-6.27337789, -0.00033028, 0.00020232, 7.27304761, 0.99899114, 0.99946739, 0.49326446],
++												 [	-6.27337797, -0.00033025, 0.00020230, 7.27304773, 0.99899125, 0.99946745, 0.49326456],
++												 [	-6.27337806, -0.00033021, 0.00020228, 7.27304785, 0.99899136, 0.99946751, 0.49326462],
++												 [	-6.27337814, -0.00033018, 0.00020226, 7.27304796, 0.99899146, 0.99946756, 0.49326466],
++												 [	-6.27337823, -0.00033014, 0.00020224, 7.27304808, 0.99899157, 0.99946762, 0.49326469],
++												 [	-6.27337831, -0.00033011, 0.00020221, 7.27304820, 0.99899168, 0.99946768, 0.49326455],
++												 [	-6.27337840, -0.00033007, 0.00020219, 7.27304832, 0.99899179, 0.99946773, 0.49326445],
++												 [	-6.27337848, -0.00033004, 0.00020217, 7.27304844, 0.99899190, 0.99946779, 0.49326466],
++												 [	-6.27337856, -0.00033000, 0.00020215, 7.27304856, 0.99899200, 0.99946785, 0.49326467],
++												 [	-6.27337865, -0.00032997, 0.00020213, 7.27304868, 0.99899211, 0.99946790, 0.49326472],
++												 [	-6.27337873, -0.00032993, 0.00020211, 7.27304880, 0.99899222, 0.99946796, 0.49326465],
++												 [	-6.27337882, -0.00032990, 0.00020208, 7.27304892, 0.99899233, 0.99946802, 0.49326487],
++												 [	-6.27337890, -0.00032986, 0.00020206, 7.27304904, 0.99899243, 0.99946807, 0.49326453],
++												 [	-6.27337899, -0.00032983, 0.00020204, 7.27304916, 0.99899254, 0.99946813, 0.49326462],
++												 [	-6.27337907, -0.00032979, 0.00020202, 7.27304928, 0.99899265, 0.99946819, 0.49326466],
++												 [	-6.27337915, -0.00032976, 0.00020200, 7.27304940, 0.99899275, 0.99946824, 0.49326470],
++												 [	-6.27337924, -0.00032972, 0.00020198, 7.27304952, 0.99899286, 0.99946830, 0.49326485],
++												 [	-6.27337932, -0.00032969, 0.00020196, 7.27304964, 0.99899297, 0.99946836, 0.49326493],
++												 [	-6.27337941, -0.00032965, 0.00020193, 7.27304976, 0.99899308, 0.99946841, 0.49326472],
++												 [	-6.27337949, -0.00032962, 0.00020191, 7.27304987, 0.99899318, 0.99946847, 0.49326466],
++												 [	-6.27337957, -0.00032958, 0.00020189, 7.27304999, 0.99899329, 0.99946853, 0.49326475],
++												 [	-6.27337966, -0.00032955, 0.00020187, 7.27305011, 0.99899340, 0.99946858, 0.49326474],
++												 [	-6.27337974, -0.00032951, 0.00020185, 7.27305023, 0.99899351, 0.99946864, 0.49326494],
++												 [	-6.27337983, -0.00032948, 0.00020183, 7.27305035, 0.99899361, 0.99946870, 0.49326475],
++												 [	-6.27337991, -0.00032944, 0.00020181, 7.27305047, 0.99899372, 0.99946875, 0.49326504],
++												 [	-6.27337999, -0.00032941, 0.00020178, 7.27305059, 0.99899383, 0.99946881, 0.49326510],
++												 [	-6.27338008, -0.00032937, 0.00020176, 7.27305071, 0.99899393, 0.99946887, 0.49326506],
++												 [	-6.27338016, -0.00032934, 0.00020174, 7.27305083, 0.99899404, 0.99946892, 0.49326491],
++												 [	-6.27338025, -0.00032930, 0.00020172, 7.27305095, 0.99899415, 0.99946898, 0.49326495],
++												 [	-6.27338033, -0.00032927, 0.00020170, 7.27305106, 0.99899425, 0.99946904, 0.49326488],
++												 [	-6.27338041, -0.00032923, 0.00020168, 7.27305118, 0.99899436, 0.99946909, 0.49326492],
++												 [	-6.27338050, -0.00032920, 0.00020165, 7.27305130, 0.99899447, 0.99946915, 0.49326492],
++												 [	-6.27338058, -0.00032916, 0.00020163, 7.27305142, 0.99899458, 0.99946921, 0.49326493],
++												 [	-6.27338067, -0.00032913, 0.00020161, 7.27305154, 0.99899468, 0.99946926, 0.49326498],
++												 [	-6.27338075, -0.00032909, 0.00020159, 7.27305166, 0.99899479, 0.99946932, 0.49326509],
++												 [	-6.27338083, -0.00032906, 0.00020157, 7.27305178, 0.99899490, 0.99946938, 0.49326511],
++												 [	-6.27338092, -0.00032902, 0.00020155, 7.27305190, 0.99899500, 0.99946943, 0.49326491],
++												 [	-6.27338100, -0.00032899, 0.00020153, 7.27305201, 0.99899511, 0.99946949, 0.49326497],
++												 [	-6.27338108, -0.00032895, 0.00020150, 7.27305213, 0.99899522, 0.99946954, 0.49326517],
++												 [	-6.27338117, -0.00032892, 0.00020148, 7.27305225, 0.99899532, 0.99946960, 0.49326501],
++												 [	-6.27338125, -0.00032888, 0.00020146, 7.27305237, 0.99899543, 0.99946966, 0.49326506],
++												 [	-6.27338134, -0.00032885, 0.00020144, 7.27305249, 0.99899554, 0.99946971, 0.49326507],
++												 [	-6.27338142, -0.00032881, 0.00020142, 7.27305261, 0.99899564, 0.99946977, 0.49326497],
++												 [	-6.27338150, -0.00032878, 0.00020140, 7.27305273, 0.99899575, 0.99946983, 0.49326508],
++												 [	-6.27338159, -0.00032874, 0.00020138, 7.27305284, 0.99899586, 0.99946988, 0.49326522],
++												 [	-6.27338167, -0.00032871, 0.00020135, 7.27305296, 0.99899596, 0.99946994, 0.49326525],
++												 [	-6.27338175, -0.00032867, 0.00020133, 7.27305308, 0.99899607, 0.99946999, 0.49326527],
++												 [	-6.27338184, -0.00032864, 0.00020131, 7.27305320, 0.99899618, 0.99947005, 0.49326512],
++												 [	-6.27338192, -0.00032860, 0.00020129, 7.27305332, 0.99899628, 0.99947011, 0.49326544],
++												 [	-6.27338200, -0.00032857, 0.00020127, 7.27305344, 0.99899639, 0.99947016, 0.49326511],
++												 [	-6.27338209, -0.00032853, 0.00020125, 7.27305356, 0.99899650, 0.99947022, 0.49326525],
++												 [	-6.27338217, -0.00032850, 0.00020123, 7.27305367, 0.99899660, 0.99947028, 0.49326517],
++												 [	-6.27338225, -0.00032846, 0.00020121, 7.27305379, 0.99899671, 0.99947033, 0.49326515],
++												 [	-6.27338234, -0.00032843, 0.00020118, 7.27305391, 0.99899682, 0.99947039, 0.49326512],
++												 [	-6.27338242, -0.00032839, 0.00020116, 7.27305403, 0.99899692, 0.99947045, 0.49326510],
++												 [	-6.27338250, -0.00032836, 0.00020114, 7.27305415, 0.99899703, 0.99947050, 0.49326538],
++												 [	-6.27338259, -0.00032832, 0.00020112, 7.27305427, 0.99899714, 0.99947056, 0.49326526],
++												 [	-6.27338267, -0.00032829, 0.00020110, 7.27305438, 0.99899724, 0.99947061, 0.49326555],
++												 [	-6.27338275, -0.00032825, 0.00020108, 7.27305450, 0.99899735, 0.99947067, 0.49326559],
++												 [	-6.27338284, -0.00032822, 0.00020106, 7.27305462, 0.99899745, 0.99947073, 0.49326528],
++												 [	-6.27338292, -0.00032818, 0.00020103, 7.27305474, 0.99899756, 0.99947078, 0.49326542],
++												 [	-6.27338300, -0.00032815, 0.00020101, 7.27305486, 0.99899767, 0.99947084, 0.49326519],
++												 [	-6.27338309, -0.00032811, 0.00020099, 7.27305497, 0.99899777, 0.99947089, 0.49326536],
++												 [	-6.27338317, -0.00032808, 0.00020097, 7.27305509, 0.99899788, 0.99947095, 0.49326533],
++												 [	-6.27338325, -0.00032804, 0.00020095, 7.27305521, 0.99899799, 0.99947101, 0.49326540],
++												 [	-6.27338334, -0.00032801, 0.00020093, 7.27305533, 0.99899809, 0.99947106, 0.49326552],
++												 [	-6.27338342, -0.00032797, 0.00020091, 7.27305545, 0.99899820, 0.99947112, 0.49326543],
++												 [	-6.27338350, -0.00032794, 0.00020089, 7.27305556, 0.99899830, 0.99947117, 0.49326548],
++												 [	-6.27338359, -0.00032791, 0.00020086, 7.27305568, 0.99899841, 0.99947123, 0.49326555],
++												 [	-6.27338367, -0.00032787, 0.00020084, 7.27305580, 0.99899852, 0.99947129, 0.49326550],
++												 [	-6.27338375, -0.00032784, 0.00020082, 7.27305592, 0.99899862, 0.99947134, 0.49326539],
++												 [	-6.27338384, -0.00032780, 0.00020080, 7.27305604, 0.99899873, 0.99947140, 0.49326537],
++												 [	-6.27338392, -0.00032777, 0.00020078, 7.27305615, 0.99899884, 0.99947145, 0.49326540],
++												 [	-6.27338400, -0.00032773, 0.00020076, 7.27305627, 0.99899894, 0.99947151, 0.49326552],
++												 [	-6.27338409, -0.00032770, 0.00020074, 7.27305639, 0.99899905, 0.99947157, 0.49326544],
++												 [	-6.27338417, -0.00032766, 0.00020072, 7.27305651, 0.99899915, 0.99947162, 0.49326541],
++												 [	-6.27338425, -0.00032763, 0.00020069, 7.27305662, 0.99899926, 0.99947168, 0.49326544],
++												 [	-6.27338433, -0.00032759, 0.00020067, 7.27305674, 0.99899937, 0.99947173, 0.49326555],
++												 [	-6.27338442, -0.00032756, 0.00020065, 7.27305686, 0.99899947, 0.99947179, 0.49326592],
++												 [	-6.27338450, -0.00032752, 0.00020063, 7.27305698, 0.99899958, 0.99947185, 0.49326555],
++												 [	-6.27338458, -0.00032749, 0.00020061, 7.27305709, 0.99899968, 0.99947190, 0.49326556],
++												 [	-6.27338467, -0.00032745, 0.00020059, 7.27305721, 0.99899979, 0.99947196, 0.49326577],
++												 [	-6.27338475, -0.00032742, 0.00020057, 7.27305733, 0.99899989, 0.99947201, 0.49326572],
++												 [	-6.27338483, -0.00032739, 0.00020055, 7.27305745, 0.99900000, 0.99947207, 0.49326564],
++												 [	-6.27338492, -0.00032735, 0.00020052, 7.27305756, 0.99900011, 0.99947213, 0.49326574],
++												 [	-6.27338500, -0.00032732, 0.00020050, 7.27305768, 0.99900021, 0.99947218, 0.49326570],
++												 [	-6.27338508, -0.00032728, 0.00020048, 7.27305780, 0.99900032, 0.99947224, 0.49326585],
++												 [	-6.27338516, -0.00032725, 0.00020046, 7.27305792, 0.99900042, 0.99947229, 0.49326561],
++												 [	-6.27338525, -0.00032721, 0.00020044, 7.27305804, 0.99900053, 0.99947235, 0.49326554],
++												 [	-6.27338533, -0.00032718, 0.00020042, 7.27305815, 0.99900063, 0.99947240, 0.49326565],
++												 [	-6.27338541, -0.00032714, 0.00020040, 7.27305827, 0.99900074, 0.99947246, 0.49326560],
++												 [	-6.27338550, -0.00032711, 0.00020038, 7.27305839, 0.99900085, 0.99947252, 0.49326561],
++												 [	-6.27338558, -0.00032707, 0.00020035, 7.27305850, 0.99900095, 0.99947257, 0.49326588],
++												 [	-6.27338566, -0.00032704, 0.00020033, 7.27305862, 0.99900106, 0.99947263, 0.49326567],
++												 [	-6.27338574, -0.00032700, 0.00020031, 7.27305874, 0.99900116, 0.99947268, 0.49326573],
++												 [	-6.27338583, -0.00032697, 0.00020029, 7.27305886, 0.99900127, 0.99947274, 0.49326588],
++												 [	-6.27338591, -0.00032694, 0.00020027, 7.27305897, 0.99900137, 0.99947279, 0.49326587],
++												 [	-6.27338599, -0.00032690, 0.00020025, 7.27305909, 0.99900148, 0.99947285, 0.49326591],
++												 [	-6.27338607, -0.00032687, 0.00020023, 7.27305921, 0.99900158, 0.99947291, 0.49326568],
++												 [	-6.27338616, -0.00032683, 0.00020021, 7.27305932, 0.99900169, 0.99947296, 0.49326586],
++												 [	-6.27338624, -0.00032680, 0.00020019, 7.27305944, 0.99900180, 0.99947302, 0.49326595],
++												 [	-6.27338632, -0.00032676, 0.00020016, 7.27305956, 0.99900190, 0.99947307, 0.49326594],
++												 [	-6.27338640, -0.00032673, 0.00020014, 7.27305968, 0.99900201, 0.99947313, 0.49326576],
++												 [	-6.27338649, -0.00032669, 0.00020012, 7.27305979, 0.99900211, 0.99947318, 0.49326600],
++												 [	-6.27338657, -0.00032666, 0.00020010, 7.27305991, 0.99900222, 0.99947324, 0.49326567],
++												 [	-6.27338665, -0.00032663, 0.00020008, 7.27306003, 0.99900232, 0.99947330, 0.49326591],
++												 [	-6.27338674, -0.00032659, 0.00020006, 7.27306014, 0.99900243, 0.99947335, 0.49326584],
++												 [	-6.27338682, -0.00032656, 0.00020004, 7.27306026, 0.99900253, 0.99947341, 0.49326591],
++												 [	-6.27338690, -0.00032652, 0.00020002, 7.27306038, 0.99900264, 0.99947346, 0.49326598],
++												 [	-6.27338698, -0.00032649, 0.00020000, 7.27306050, 0.99900274, 0.99947352, 0.49326605],
++												 [	-6.27338706, -0.00032645, 0.00019997, 7.27306061, 0.99900285, 0.99947357, 0.49326584],
++												 [	-6.27338715, -0.00032642, 0.00019995, 7.27306073, 0.99900295, 0.99947363, 0.49326610],
++												 [	-6.27338723, -0.00032638, 0.00019993, 7.27306085, 0.99900306, 0.99947368, 0.49326584],
++												 [	-6.27338731, -0.00032635, 0.00019991, 7.27306096, 0.99900316, 0.99947374, 0.49326595],
++												 [	-6.27338739, -0.00032632, 0.00019989, 7.27306108, 0.99900327, 0.99947379, 0.49326574],
++												 [	-6.27338748, -0.00032628, 0.00019987, 7.27306120, 0.99900337, 0.99947385, 0.49326593],
++												 [	-6.27338756, -0.00032625, 0.00019985, 7.27306131, 0.99900348, 0.99947391, 0.49326617],
++												 [	-6.27338764, -0.00032621, 0.00019983, 7.27306143, 0.99900358, 0.99947396, 0.49326608],
++												 [	-6.27338772, -0.00032618, 0.00019981, 7.27306155, 0.99900369, 0.99947402, 0.49326601],
++												 [	-6.27338781, -0.00032614, 0.00019978, 7.27306166, 0.99900379, 0.99947407, 0.49326595],
++												 [	-6.27338789, -0.00032611, 0.00019976, 7.27306178, 0.99900390, 0.99947413, 0.49326615],
++												 [	-6.27338797, -0.00032607, 0.00019974, 7.27306190, 0.99900400, 0.99947418, 0.49326594],
++												 [	-6.27338805, -0.00032604, 0.00019972, 7.27306201, 0.99900411, 0.99947424, 0.49326623],
++												 [	-6.27338814, -0.00032601, 0.00019970, 7.27306213, 0.99900421, 0.99947429, 0.49326628],
++												 [	-6.27338822, -0.00032597, 0.00019968, 7.27306225, 0.99900432, 0.99947435, 0.49326618],
++												 [	-6.27338830, -0.00032594, 0.00019966, 7.27306236, 0.99900442, 0.99947440, 0.49326621],
++												 [	-6.27338838, -0.00032590, 0.00019964, 7.27306248, 0.99900453, 0.99947446, 0.49326598],
++												 [	-6.27338846, -0.00032587, 0.00019962, 7.27306260, 0.99900463, 0.99947452, 0.49326615],
++												 [	-6.27338855, -0.00032583, 0.00019960, 7.27306271, 0.99900474, 0.99947457, 0.49326647],
++												 [	-6.27338863, -0.00032580, 0.00019957, 7.27306283, 0.99900484, 0.99947463, 0.49326621],
++												 [	-6.27338871, -0.00032577, 0.00019955, 7.27306294, 0.99900495, 0.99947468, 0.49326643],
++												 [	-6.27338879, -0.00032573, 0.00019953, 7.27306306, 0.99900505, 0.99947474, 0.49326629],
++												 [	-6.27338887, -0.00032570, 0.00019951, 7.27306318, 0.99900516, 0.99947479, 0.49326635],
++												 [	-6.27338896, -0.00032566, 0.00019949, 7.27306329, 0.99900526, 0.99947485, 0.49326632],
++												 [	-6.27338904, -0.00032563, 0.00019947, 7.27306341, 0.99900537, 0.99947490, 0.49326626],
++												 [	-6.27338912, -0.00032559, 0.00019945, 7.27306353, 0.99900547, 0.99947496, 0.49326639],
++												 [	-6.27338920, -0.00032556, 0.00019943, 7.27306364, 0.99900558, 0.99947501, 0.49326627],
++												 [	-6.27338928, -0.00032553, 0.00019941, 7.27306376, 0.99900568, 0.99947507, 0.49326645],
++												 [	-6.27338937, -0.00032549, 0.00019939, 7.27306387, 0.99900578, 0.99947512, 0.49326623],
++												 [	-6.27338945, -0.00032546, 0.00019936, 7.27306399, 0.99900589, 0.99947518, 0.49326607],
++												 [	-6.27338953, -0.00032542, 0.00019934, 7.27306411, 0.99900599, 0.99947523, 0.49326641],
++												 [	-6.27338961, -0.00032539, 0.00019932, 7.27306422, 0.99900610, 0.99947529, 0.49326644],
++												 [	-6.27338969, -0.00032536, 0.00019930, 7.27306434, 0.99900620, 0.99947534, 0.49326635],
++												 [	-6.27338978, -0.00032532, 0.00019928, 7.27306446, 0.99900631, 0.99947540, 0.49326617],
++												 [	-6.27338986, -0.00032529, 0.00019926, 7.27306457, 0.99900641, 0.99947545, 0.49326647],
++												 [	-6.27338994, -0.00032525, 0.00019924, 7.27306469, 0.99900652, 0.99947551, 0.49326638],
++												 [	-6.27339002, -0.00032522, 0.00019922, 7.27306480, 0.99900662, 0.99947556, 0.49326625],
++												 [	-6.27339010, -0.00032518, 0.00019920, 7.27306492, 0.99900673, 0.99947562, 0.49326654],
++												 [	-6.27339019, -0.00032515, 0.00019918, 7.27306504, 0.99900683, 0.99947567, 0.49326643],
++												 [	-6.27339027, -0.00032512, 0.00019915, 7.27306515, 0.99900693, 0.99947573, 0.49326639],
++												 [	-6.27339035, -0.00032508, 0.00019913, 7.27306527, 0.99900704, 0.99947578, 0.49326643],
++												 [	-6.27339043, -0.00032505, 0.00019911, 7.27306538, 0.99900714, 0.99947584, 0.49326613],
++												 [	-6.27339051, -0.00032501, 0.00019909, 7.27306550, 0.99900725, 0.99947589, 0.49326635],
++												 [	-6.27339059, -0.00032498, 0.00019907, 7.27306561, 0.99900735, 0.99947595, 0.49326654],
++												 [	-6.27339068, -0.00032495, 0.00019905, 7.27306573, 0.99900746, 0.99947600, 0.49326649],
++												 [	-6.27339076, -0.00032491, 0.00019903, 7.27306585, 0.99900756, 0.99947606, 0.49326645],
++												 [	-6.27339084, -0.00032488, 0.00019901, 7.27306596, 0.99900766, 0.99947611, 0.49326635],
++												 [	-6.27339092, -0.00032484, 0.00019899, 7.27306608, 0.99900777, 0.99947617, 0.49326646],
++												 [	-6.27339100, -0.00032481, 0.00019897, 7.27306619, 0.99900787, 0.99947622, 0.49326660],
++												 [	-6.27339108, -0.00032477, 0.00019895, 7.27306631, 0.99900798, 0.99947628, 0.49326653],
++												 [	-6.27339117, -0.00032474, 0.00019892, 7.27306642, 0.99900808, 0.99947633, 0.49326655],
++												 [	-6.27339125, -0.00032471, 0.00019890, 7.27306654, 0.99900818, 0.99947639, 0.49326642],
++												 [	-6.27339133, -0.00032467, 0.00019888, 7.27306666, 0.99900829, 0.99947644, 0.49326648],
++												 [	-6.27339141, -0.00032464, 0.00019886, 7.27306677, 0.99900839, 0.99947650, 0.49326679],
++												 [	-6.27339149, -0.00032460, 0.00019884, 7.27306689, 0.99900850, 0.99947655, 0.49326686],
++												 [	-6.27339157, -0.00032457, 0.00019882, 7.27306700, 0.99900860, 0.99947661, 0.49326656],
++												 [	-6.27339165, -0.00032454, 0.00019880, 7.27306712, 0.99900870, 0.99947666, 0.49326662],
++												 [	-6.27339174, -0.00032450, 0.00019878, 7.27306723, 0.99900881, 0.99947672, 0.49326679],
++												 [	-6.27339182, -0.00032447, 0.00019876, 7.27306735, 0.99900891, 0.99947677, 0.49326673],
++												 [	-6.27339190, -0.00032443, 0.00019874, 7.27306746, 0.99900902, 0.99947683, 0.49326675],
++												 [	-6.27339198, -0.00032440, 0.00019872, 7.27306758, 0.99900912, 0.99947688, 0.49326682],
++												 [	-6.27339206, -0.00032437, 0.00019870, 7.27306770, 0.99900922, 0.99947694, 0.49326647],
++												 [	-6.27339214, -0.00032433, 0.00019867, 7.27306781, 0.99900933, 0.99947699, 0.49326653],
++												 [	-6.27339222, -0.00032430, 0.00019865, 7.27306793, 0.99900943, 0.99947705, 0.49326669],
++												 [	-6.27339231, -0.00032426, 0.00019863, 7.27306804, 0.99900954, 0.99947710, 0.49326657],
++												 [	-6.27339239, -0.00032423, 0.00019861, 7.27306816, 0.99900964, 0.99947716, 0.49326679],
++												 [	-6.27339247, -0.00032420, 0.00019859, 7.27306827, 0.99900974, 0.99947721, 0.49326690],
++												 [	-6.27339255, -0.00032416, 0.00019857, 7.27306839, 0.99900985, 0.99947727, 0.49326680],
++												 [	-6.27339263, -0.00032413, 0.00019855, 7.27306850, 0.99900995, 0.99947732, 0.49326670],
++												 [	-6.27339271, -0.00032409, 0.00019853, 7.27306862, 0.99901005, 0.99947738, 0.49326690],
++												 [	-6.27339279, -0.00032406, 0.00019851, 7.27306873, 0.99901016, 0.99947743, 0.49326682],
++												 [	-6.27339287, -0.00032403, 0.00019849, 7.27306885, 0.99901026, 0.99947749, 0.49326670],
++												 [	-6.27339296, -0.00032399, 0.00019847, 7.27306896, 0.99901036, 0.99947754, 0.49326689],
++												 [	-6.27339304, -0.00032396, 0.00019845, 7.27306908, 0.99901047, 0.99947760, 0.49326683],
++												 [	-6.27339312, -0.00032393, 0.00019843, 7.27306919, 0.99901057, 0.99947765, 0.49326682],
++												 [	-6.27339320, -0.00032389, 0.00019840, 7.27306931, 0.99901068, 0.99947770, 0.49326694],
++												 [	-6.27339328, -0.00032386, 0.00019838, 7.27306942, 0.99901078, 0.99947776, 0.49326682],
++												 [	-6.27339336, -0.00032382, 0.00019836, 7.27306954, 0.99901088, 0.99947781, 0.49326696],
++												 [	-6.27339344, -0.00032379, 0.00019834, 7.27306965, 0.99901099, 0.99947787, 0.49326703],
++												 [	-6.27339352, -0.00032376, 0.00019832, 7.27306977, 0.99901109, 0.99947792, 0.49326705],
++												 [	-6.27339360, -0.00032372, 0.00019830, 7.27306988, 0.99901119, 0.99947798, 0.49326683],
++												 [	-6.27339369, -0.00032369, 0.00019828, 7.27307000, 0.99901130, 0.99947803, 0.49326692],
++												 [	-6.27339377, -0.00032365, 0.00019826, 7.27307011, 0.99901140, 0.99947809, 0.49326694],
++												 [	-6.27339385, -0.00032362, 0.00019824, 7.27307023, 0.99901150, 0.99947814, 0.49326688],
++												 [	-6.27339393, -0.00032359, 0.00019822, 7.27307034, 0.99901161, 0.99947820, 0.49326687],
++												 [	-6.27339401, -0.00032355, 0.00019820, 7.27307046, 0.99901171, 0.99947825, 0.49326697],
++												 [	-6.27339409, -0.00032352, 0.00019818, 7.27307057, 0.99901181, 0.99947830, 0.49326717],
++												 [	-6.27339417, -0.00032349, 0.00019816, 7.27307069, 0.99901192, 0.99947836, 0.49326712],
++												 [	-6.27339425, -0.00032345, 0.00019813, 7.27307080, 0.99901202, 0.99947841, 0.49326703],
++												 [	-6.27339433, -0.00032342, 0.00019811, 7.27307092, 0.99901212, 0.99947847, 0.49326706],
++												 [	-6.27339441, -0.00032338, 0.00019809, 7.27307103, 0.99901223, 0.99947852, 0.49326716],
++												 [	-6.27339450, -0.00032335, 0.00019807, 7.27307115, 0.99901233, 0.99947858, 0.49326689],
++												 [	-6.27339458, -0.00032332, 0.00019805, 7.27307126, 0.99901243, 0.99947863, 0.49326699],
++												 [	-6.27339466, -0.00032328, 0.00019803, 7.27307137, 0.99901254, 0.99947869, 0.49326696],
++												 [	-6.27339474, -0.00032325, 0.00019801, 7.27307149, 0.99901264, 0.99947874, 0.49326718],
++												 [	-6.27339482, -0.00032321, 0.00019799, 7.27307160, 0.99901274, 0.99947880, 0.49326717],
++												 [	-6.27339490, -0.00032318, 0.00019797, 7.27307172, 0.99901285, 0.99947885, 0.49326705],
++												 [	-6.27339498, -0.00032315, 0.00019795, 7.27307183, 0.99901295, 0.99947890, 0.49326716],
++												 [	-6.27339506, -0.00032311, 0.00019793, 7.27307195, 0.99901305, 0.99947896, 0.49326730],
++												 [	-6.27339514, -0.00032308, 0.00019791, 7.27307206, 0.99901315, 0.99947901, 0.49326718],
++												 [	-6.27339522, -0.00032305, 0.00019789, 7.27307218, 0.99901326, 0.99947907, 0.49326722],
++												 [	-6.27339530, -0.00032301, 0.00019787, 7.27307229, 0.99901336, 0.99947912, 0.49326715],
++												 [	-6.27339538, -0.00032298, 0.00019785, 7.27307241, 0.99901346, 0.99947918, 0.49326728],
++												 [	-6.27339546, -0.00032295, 0.00019782, 7.27307252, 0.99901357, 0.99947923, 0.49326724],
++												 [	-6.27339555, -0.00032291, 0.00019780, 7.27307263, 0.99901367, 0.99947928, 0.49326701],
++												 [	-6.27339563, -0.00032288, 0.00019778, 7.27307275, 0.99901377, 0.99947934, 0.49326708],
++												 [	-6.27339571, -0.00032284, 0.00019776, 7.27307286, 0.99901388, 0.99947939, 0.49326726],
++												 [	-6.27339579, -0.00032281, 0.00019774, 7.27307298, 0.99901398, 0.99947945, 0.49326720],
++												 [	-6.27339587, -0.00032278, 0.00019772, 7.27307309, 0.99901408, 0.99947950, 0.49326714],
++												 [	-6.27339595, -0.00032274, 0.00019770, 7.27307321, 0.99901418, 0.99947956, 0.49326729],
++												 [	-6.27339603, -0.00032271, 0.00019768, 7.27307332, 0.99901429, 0.99947961, 0.49326744],
++												 [	-6.27339611, -0.00032268, 0.00019766, 7.27307343, 0.99901439, 0.99947966, 0.49326726],
++												 [	-6.27339619, -0.00032264, 0.00019764, 7.27307355, 0.99901449, 0.99947972, 0.49326746],
++												 [	-6.27339627, -0.00032261, 0.00019762, 7.27307366, 0.99901459, 0.99947977, 0.49326747],
++												 [	-6.27339635, -0.00032258, 0.00019760, 7.27307378, 0.99901470, 0.99947983, 0.49326746],
++												 [	-6.27339643, -0.00032254, 0.00019758, 7.27307389, 0.99901480, 0.99947988, 0.49326737],
++												 [	-6.27339651, -0.00032251, 0.00019756, 7.27307400, 0.99901490, 0.99947994, 0.49326725],
++												 [	-6.27339659, -0.00032247, 0.00019754, 7.27307412, 0.99901501, 0.99947999, 0.49326744],
++												 [	-6.27339667, -0.00032244, 0.00019752, 7.27307423, 0.99901511, 0.99948004, 0.49326734],
++												 [	-6.27339675, -0.00032241, 0.00019749, 7.27307435, 0.99901521, 0.99948010, 0.49326748],
++												 [	-6.27339683, -0.00032237, 0.00019747, 7.27307446, 0.99901531, 0.99948015, 0.49326735],
++												 [	-6.27339691, -0.00032234, 0.00019745, 7.27307457, 0.99901542, 0.99948021, 0.49326718],
++												 [	-6.27339699, -0.00032231, 0.00019743, 7.27307469, 0.99901552, 0.99948026, 0.49326726],
++												 [	-6.27339708, -0.00032227, 0.00019741, 7.27307480, 0.99901562, 0.99948031, 0.49326739],
++												 [	-6.27339716, -0.00032224, 0.00019739, 7.27307492, 0.99901572, 0.99948037, 0.49326736],
++												 [	-6.27339724, -0.00032221, 0.00019737, 7.27307503, 0.99901583, 0.99948042, 0.49326751],
++												 [	-6.27339732, -0.00032217, 0.00019735, 7.27307514, 0.99901593, 0.99948048, 0.49326746],
++												 [	-6.27339740, -0.00032214, 0.00019733, 7.27307526, 0.99901603, 0.99948053, 0.49326750],
++												 [	-6.27339748, -0.00032210, 0.00019731, 7.27307537, 0.99901613, 0.99948059, 0.49326720],
++												 [	-6.27339756, -0.00032207, 0.00019729, 7.27307549, 0.99901624, 0.99948064, 0.49326742],
++												 [	-6.27339764, -0.00032204, 0.00019727, 7.27307560, 0.99901634, 0.99948069, 0.49326770],
++												 [	-6.27339772, -0.00032200, 0.00019725, 7.27307571, 0.99901644, 0.99948075, 0.49326757],
++												 [	-6.27339780, -0.00032197, 0.00019723, 7.27307583, 0.99901654, 0.99948080, 0.49326750],
++												 [	-6.27339788, -0.00032194, 0.00019721, 7.27307594, 0.99901664, 0.99948086, 0.49326781],
++												 [	-6.27339796, -0.00032190, 0.00019719, 7.27307605, 0.99901675, 0.99948091, 0.49326776],
++												 [	-6.27339804, -0.00032187, 0.00019717, 7.27307617, 0.99901685, 0.99948096, 0.49326747],
++												 [	-6.27339812, -0.00032184, 0.00019715, 7.27307628, 0.99901695, 0.99948102, 0.49326778],
++												 [	-6.27339820, -0.00032180, 0.00019713, 7.27307639, 0.99901705, 0.99948107, 0.49326749],
++												 [	-6.27339828, -0.00032177, 0.00019710, 7.27307651, 0.99901716, 0.99948113, 0.49326751],
++												 [	-6.27339836, -0.00032174, 0.00019708, 7.27307662, 0.99901726, 0.99948118, 0.49326780],
++												 [	-6.27339844, -0.00032170, 0.00019706, 7.27307674, 0.99901736, 0.99948123, 0.49326747],
++												 [	-6.27339852, -0.00032167, 0.00019704, 7.27307685, 0.99901746, 0.99948129, 0.49326772],
++												 [	-6.27339860, -0.00032164, 0.00019702, 7.27307696, 0.99901756, 0.99948134, 0.49326768],
++												 [	-6.27339868, -0.00032160, 0.00019700, 7.27307708, 0.99901767, 0.99948139, 0.49326756],
++												 [	-6.27339876, -0.00032157, 0.00019698, 7.27307719, 0.99901777, 0.99948145, 0.49326753],
++												 [	-6.27339884, -0.00032154, 0.00019696, 7.27307730, 0.99901787, 0.99948150, 0.49326754],
++												 [	-6.27339892, -0.00032150, 0.00019694, 7.27307742, 0.99901797, 0.99948156, 0.49326763],
++												 [	-6.27339900, -0.00032147, 0.00019692, 7.27307753, 0.99901807, 0.99948161, 0.49326773],
++												 [	-6.27339908, -0.00032144, 0.00019690, 7.27307764, 0.99901818, 0.99948166, 0.49326760],
++												 [	-6.27339916, -0.00032140, 0.00019688, 7.27307776, 0.99901828, 0.99948172, 0.49326795],
++												 [	-6.27339924, -0.00032137, 0.00019686, 7.27307787, 0.99901838, 0.99948177, 0.49326781],
++												 [	-6.27339932, -0.00032134, 0.00019684, 7.27307798, 0.99901848, 0.99948183, 0.49326791],
++												 [	-6.27339940, -0.00032130, 0.00019682, 7.27307810, 0.99901858, 0.99948188, 0.49326782],
++												 [	-6.27339948, -0.00032127, 0.00019680, 7.27307821, 0.99901869, 0.99948193, 0.49326774],
++												 [	-6.27339956, -0.00032124, 0.00019678, 7.27307832, 0.99901879, 0.99948199, 0.49326801],
++												 [	-6.27339964, -0.00032120, 0.00019676, 7.27307843, 0.99901889, 0.99948204, 0.49326796],
++												 [	-6.27339972, -0.00032117, 0.00019674, 7.27307855, 0.99901899, 0.99948209, 0.49326796],
++												 [	-6.27339980, -0.00032114, 0.00019672, 7.27307866, 0.99901909, 0.99948215, 0.49326764],
++												 [	-6.27339988, -0.00032110, 0.00019670, 7.27307877, 0.99901920, 0.99948220, 0.49326786],
++												 [	-6.27339996, -0.00032107, 0.00019668, 7.27307889, 0.99901930, 0.99948226, 0.49326797],
++												 [	-6.27340004, -0.00032104, 0.00019665, 7.27307900, 0.99901940, 0.99948231, 0.49326772],
++												 [	-6.27340012, -0.00032100, 0.00019663, 7.27307911, 0.99901950, 0.99948236, 0.49326808],
++												 [	-6.27340020, -0.00032097, 0.00019661, 7.27307923, 0.99901960, 0.99948242, 0.49326793],
++												 [	-6.27340028, -0.00032094, 0.00019659, 7.27307934, 0.99901970, 0.99948247, 0.49326800],
++												 [	-6.27340036, -0.00032090, 0.00019657, 7.27307945, 0.99901981, 0.99948252, 0.49326818],
++												 [	-6.27340043, -0.00032087, 0.00019655, 7.27307956, 0.99901991, 0.99948258, 0.49326800],
++												 [	-6.27340051, -0.00032084, 0.00019653, 7.27307968, 0.99902001, 0.99948263, 0.49326833],
++												 [	-6.27340059, -0.00032080, 0.00019651, 7.27307979, 0.99902011, 0.99948268, 0.49326799],
++												 [	-6.27340067, -0.00032077, 0.00019649, 7.27307990, 0.99902021, 0.99948274, 0.49326805],
++												 [	-6.27340075, -0.00032074, 0.00019647, 7.27308002, 0.99902031, 0.99948279, 0.49326790],
++												 [	-6.27340083, -0.00032070, 0.00019645, 7.27308013, 0.99902042, 0.99948285, 0.49326822],
++												 [	-6.27340091, -0.00032067, 0.00019643, 7.27308024, 0.99902052, 0.99948290, 0.49326817],
++												 [	-6.27340099, -0.00032064, 0.00019641, 7.27308035, 0.99902062, 0.99948295, 0.49326820],
++												 [	-6.27340107, -0.00032060, 0.00019639, 7.27308047, 0.99902072, 0.99948301, 0.49326814],
++												 [	-6.27340115, -0.00032057, 0.00019637, 7.27308058, 0.99902082, 0.99948306, 0.49326794],
++												 [	-6.27340123, -0.00032054, 0.00019635, 7.27308069, 0.99902092, 0.99948311, 0.49326788],
++												 [	-6.27340131, -0.00032050, 0.00019633, 7.27308081, 0.99902102, 0.99948317, 0.49326824],
++												 [	-6.27340139, -0.00032047, 0.00019631, 7.27308092, 0.99902113, 0.99948322, 0.49326821],
++												 [	-6.27340147, -0.00032044, 0.00019629, 7.27308103, 0.99902123, 0.99948327, 0.49326804],
++												 [	-6.27340155, -0.00032040, 0.00019627, 7.27308114, 0.99902133, 0.99948333, 0.49326826],
++												 [	-6.27340163, -0.00032037, 0.00019625, 7.27308126, 0.99902143, 0.99948338, 0.49326837],
++												 [	-6.27340171, -0.00032034, 0.00019623, 7.27308137, 0.99902153, 0.99948343, 0.49326808],
++												 [	-6.27340179, -0.00032031, 0.00019621, 7.27308148, 0.99902163, 0.99948349, 0.49326814],
++												 [	-6.27340187, -0.00032027, 0.00019619, 7.27308159, 0.99902173, 0.99948354, 0.49326823],
++												 [	-6.27340194, -0.00032024, 0.00019617, 7.27308171, 0.99902183, 0.99948359, 0.49326820],
++												 [	-6.27340202, -0.00032021, 0.00019615, 7.27308182, 0.99902194, 0.99948365, 0.49326819],
++												 [	-6.27340210, -0.00032017, 0.00019613, 7.27308193, 0.99902204, 0.99948370, 0.49326828],
++												 [	-6.27340218, -0.00032014, 0.00019611, 7.27308204, 0.99902214, 0.99948376, 0.49326815],
++												 [	-6.27340226, -0.00032011, 0.00019608, 7.27308216, 0.99902224, 0.99948381, 0.49326833],
++												 [	-6.27340234, -0.00032007, 0.00019606, 7.27308227, 0.99902234, 0.99948386, 0.49326820],
++												 [	-6.27340242, -0.00032004, 0.00019604, 7.27308238, 0.99902244, 0.99948392, 0.49326839],
++												 [	-6.27340250, -0.00032001, 0.00019602, 7.27308249, 0.99902254, 0.99948397, 0.49326825],
++												 [	-6.27340258, -0.00031997, 0.00019600, 7.27308261, 0.99902264, 0.99948402, 0.49326820],
++												 [	-6.27340266, -0.00031994, 0.00019598, 7.27308272, 0.99902274, 0.99948408, 0.49326829],
++												 [	-6.27340274, -0.00031991, 0.00019596, 7.27308283, 0.99902285, 0.99948413, 0.49326838],
++												 [	-6.27340282, -0.00031987, 0.00019594, 7.27308294, 0.99902295, 0.99948418, 0.49326829],
++												 [	-6.27340290, -0.00031984, 0.00019592, 7.27308305, 0.99902305, 0.99948424, 0.49326812],
++												 [	-6.27340297, -0.00031981, 0.00019590, 7.27308317, 0.99902315, 0.99948429, 0.49326825],
++												 [	-6.27340305, -0.00031978, 0.00019588, 7.27308328, 0.99902325, 0.99948434, 0.49326844],
++												 [	-6.27340313, -0.00031974, 0.00019586, 7.27308339, 0.99902335, 0.99948440, 0.49326822],
++												 [	-6.27340321, -0.00031971, 0.00019584, 7.27308350, 0.99902345, 0.99948445, 0.49326848],
++												 [	-6.27340329, -0.00031968, 0.00019582, 7.27308361, 0.99902355, 0.99948450, 0.49326823],
++												 [	-6.27340337, -0.00031964, 0.00019580, 7.27308373, 0.99902365, 0.99948455, 0.49326831],
++												 [	-6.27340345, -0.00031961, 0.00019578, 7.27308384, 0.99902375, 0.99948461, 0.49326842],
++												 [	-6.27340353, -0.00031958, 0.00019576, 7.27308395, 0.99902385, 0.99948466, 0.49326833],
++												 [	-6.27340361, -0.00031954, 0.00019574, 7.27308406, 0.99902396, 0.99948471, 0.49326844],
++												 [	-6.27340369, -0.00031951, 0.00019572, 7.27308417, 0.99902406, 0.99948477, 0.49326841],
++												 [	-6.27340377, -0.00031948, 0.00019570, 7.27308429, 0.99902416, 0.99948482, 0.49326813],
++												 [	-6.27340384, -0.00031945, 0.00019568, 7.27308440, 0.99902426, 0.99948487, 0.49326861],
++												 [	-6.27340392, -0.00031941, 0.00019566, 7.27308451, 0.99902436, 0.99948493, 0.49326836],
++												 [	-6.27340400, -0.00031938, 0.00019564, 7.27308462, 0.99902446, 0.99948498, 0.49326869],
++												 [	-6.27340408, -0.00031935, 0.00019562, 7.27308473, 0.99902456, 0.99948503, 0.49326883],
++												 [	-6.27340416, -0.00031931, 0.00019560, 7.27308485, 0.99902466, 0.99948509, 0.49326857],
++												 [	-6.27340424, -0.00031928, 0.00019558, 7.27308496, 0.99902476, 0.99948514, 0.49326861],
++												 [	-6.27340432, -0.00031925, 0.00019556, 7.27308507, 0.99902486, 0.99948519, 0.49326841],
++												 [	-6.27340440, -0.00031922, 0.00019554, 7.27308518, 0.99902496, 0.99948525, 0.49326856],
++												 [	-6.27340448, -0.00031918, 0.00019552, 7.27308529, 0.99902506, 0.99948530, 0.49326867],
++												 [	-6.27340455, -0.00031915, 0.00019550, 7.27308540, 0.99902516, 0.99948535, 0.49326859],
++												 [	-6.27340463, -0.00031912, 0.00019548, 7.27308552, 0.99902526, 0.99948541, 0.49326854],
++												 [	-6.27340471, -0.00031908, 0.00019546, 7.27308563, 0.99902536, 0.99948546, 0.49326869],
++												 [	-6.27340479, -0.00031905, 0.00019544, 7.27308574, 0.99902546, 0.99948551, 0.49326853],
++												 [	-6.27340487, -0.00031902, 0.00019542, 7.27308585, 0.99902557, 0.99948556, 0.49326880],
++												 [	-6.27340495, -0.00031899, 0.00019540, 7.27308596, 0.99902567, 0.99948562, 0.49326872],
++												 [	-6.27340503, -0.00031895, 0.00019538, 7.27308607, 0.99902577, 0.99948567, 0.49326861],
++												 [	-6.27340511, -0.00031892, 0.00019536, 7.27308619, 0.99902587, 0.99948572, 0.49326878],
++												 [	-6.27340518, -0.00031889, 0.00019534, 7.27308630, 0.99902597, 0.99948578, 0.49326876],
++												 [	-6.27340526, -0.00031885, 0.00019532, 7.27308641, 0.99902607, 0.99948583, 0.49326873],
++												 [	-6.27340534, -0.00031882, 0.00019530, 7.27308652, 0.99902617, 0.99948588, 0.49326869],
++												 [	-6.27340542, -0.00031879, 0.00019528, 7.27308663, 0.99902627, 0.99948594, 0.49326868],
++												 [	-6.27340550, -0.00031876, 0.00019526, 7.27308674, 0.99902637, 0.99948599, 0.49326886],
++												 [	-6.27340558, -0.00031872, 0.00019524, 7.27308685, 0.99902647, 0.99948604, 0.49326868],
++												 [	-6.27340566, -0.00031869, 0.00019522, 7.27308697, 0.99902657, 0.99948609, 0.49326883],
++												 [	-6.27340573, -0.00031866, 0.00019520, 7.27308708, 0.99902667, 0.99948615, 0.49326876],
++												 [	-6.27340581, -0.00031862, 0.00019518, 7.27308719, 0.99902677, 0.99948620, 0.49326874],
++												 [	-6.27340589, -0.00031859, 0.00019516, 7.27308730, 0.99902687, 0.99948625, 0.49326882],
++												 [	-6.27340597, -0.00031856, 0.00019514, 7.27308741, 0.99902697, 0.99948631, 0.49326866],
++												 [	-6.27340605, -0.00031853, 0.00019512, 7.27308752, 0.99902707, 0.99948636, 0.49326860],
++												 [	-6.27340613, -0.00031849, 0.00019510, 7.27308763, 0.99902717, 0.99948641, 0.49326865],
++												 [	-6.27340621, -0.00031846, 0.00019508, 7.27308775, 0.99902727, 0.99948646, 0.49326872],
++												 [	-6.27340628, -0.00031843, 0.00019506, 7.27308786, 0.99902737, 0.99948652, 0.49326863],
++												 [	-6.27340636, -0.00031839, 0.00019504, 7.27308797, 0.99902747, 0.99948657, 0.49326869],
++												 [	-6.27340644, -0.00031836, 0.00019502, 7.27308808, 0.99902757, 0.99948662, 0.49326888],
++												 [	-6.27340652, -0.00031833, 0.00019500, 7.27308819, 0.99902767, 0.99948668, 0.49326895],
++												 [	-6.27340660, -0.00031830, 0.00019498, 7.27308830, 0.99902777, 0.99948673, 0.49326876],
++												 [	-6.27340668, -0.00031826, 0.00019496, 7.27308841, 0.99902787, 0.99948678, 0.49326889],
++												 [	-6.27340675, -0.00031823, 0.00019494, 7.27308852, 0.99902797, 0.99948683, 0.49326878],
++												 [	-6.27340683, -0.00031820, 0.00019492, 7.27308863, 0.99902807, 0.99948689, 0.49326887],
++												 [	-6.27340691, -0.00031817, 0.00019490, 7.27308875, 0.99902817, 0.99948694, 0.49326916],
++												 [	-6.27340699, -0.00031813, 0.00019488, 7.27308886, 0.99902827, 0.99948699, 0.49326908],
++												 [	-6.27340707, -0.00031810, 0.00019486, 7.27308897, 0.99902837, 0.99948704, 0.49326893],
++												 [	-6.27340715, -0.00031807, 0.00019484, 7.27308908, 0.99902847, 0.99948710, 0.49326890],
++												 [	-6.27340722, -0.00031803, 0.00019482, 7.27308919, 0.99902857, 0.99948715, 0.49326887],
++												 [	-6.27340730, -0.00031800, 0.00019480, 7.27308930, 0.99902867, 0.99948720, 0.49326878],
++												 [	-6.27340738, -0.00031797, 0.00019478, 7.27308941, 0.99902877, 0.99948726, 0.49326894],
++												 [	-6.27340746, -0.00031794, 0.00019476, 7.27308952, 0.99902887, 0.99948731, 0.49326894],
++												 [	-6.27340754, -0.00031790, 0.00019474, 7.27308963, 0.99902897, 0.99948736, 0.49326908],
++												 [	-6.27340761, -0.00031787, 0.00019472, 7.27308974, 0.99902907, 0.99948741, 0.49326876],
++												 [	-6.27340769, -0.00031784, 0.00019470, 7.27308985, 0.99902917, 0.99948747, 0.49326912],
++												 [	-6.27340777, -0.00031781, 0.00019468, 7.27308996, 0.99902927, 0.99948752, 0.49326904],
++												 [	-6.27340785, -0.00031777, 0.00019466, 7.27309008, 0.99902937, 0.99948757, 0.49326901],
++												 [	-6.27340793, -0.00031774, 0.00019464, 7.27309019, 0.99902947, 0.99948762, 0.49326930],
++												 [	-6.27340801, -0.00031771, 0.00019462, 7.27309030, 0.99902957, 0.99948768, 0.49326907],
++												 [	-6.27340808, -0.00031768, 0.00019460, 7.27309041, 0.99902967, 0.99948773, 0.49326924],
++												 [	-6.27340816, -0.00031764, 0.00019458, 7.27309052, 0.99902977, 0.99948778, 0.49326904],
++												 [	-6.27340824, -0.00031761, 0.00019456, 7.27309063, 0.99902987, 0.99948783, 0.49326893],
++												 [	-6.27340832, -0.00031758, 0.00019454, 7.27309074, 0.99902997, 0.99948789, 0.49326909],
++												 [	-6.27340840, -0.00031755, 0.00019452, 7.27309085, 0.99903006, 0.99948794, 0.49326930],
++												 [	-6.27340847, -0.00031751, 0.00019450, 7.27309096, 0.99903016, 0.99948799, 0.49326922],
++												 [	-6.27340855, -0.00031748, 0.00019448, 7.27309107, 0.99903026, 0.99948804, 0.49326913],
++												 [	-6.27340863, -0.00031745, 0.00019446, 7.27309118, 0.99903036, 0.99948810, 0.49326905],
++												 [	-6.27340871, -0.00031742, 0.00019444, 7.27309129, 0.99903046, 0.99948815, 0.49326923],
++												 [	-6.27340879, -0.00031738, 0.00019442, 7.27309140, 0.99903056, 0.99948820, 0.49326938],
++												 [	-6.27340886, -0.00031735, 0.00019440, 7.27309151, 0.99903066, 0.99948825, 0.49326909],
++												 [	-6.27340894, -0.00031732, 0.00019438, 7.27309162, 0.99903076, 0.99948831, 0.49326912],
++												 [	-6.27340902, -0.00031728, 0.00019436, 7.27309173, 0.99903086, 0.99948836, 0.49326920],
++												 [	-6.27340910, -0.00031725, 0.00019434, 7.27309184, 0.99903096, 0.99948841, 0.49326917],
++												 [	-6.27340917, -0.00031722, 0.00019432, 7.27309196, 0.99903106, 0.99948846, 0.49326921],
++												 [	-6.27340925, -0.00031719, 0.00019430, 7.27309207, 0.99903116, 0.99948852, 0.49326919],
++												 [	-6.27340933, -0.00031715, 0.00019428, 7.27309218, 0.99903126, 0.99948857, 0.49326928],
++												 [	-6.27340941, -0.00031712, 0.00019426, 7.27309229, 0.99903136, 0.99948862, 0.49326918],
++												 [	-6.27340949, -0.00031709, 0.00019424, 7.27309240, 0.99903146, 0.99948867, 0.49326958],
++												 [	-6.27340956, -0.00031706, 0.00019422, 7.27309251, 0.99903156, 0.99948873, 0.49326936],
++												 [	-6.27340964, -0.00031702, 0.00019420, 7.27309262, 0.99903165, 0.99948878, 0.49326927],
++												 [	-6.27340972, -0.00031699, 0.00019418, 7.27309273, 0.99903175, 0.99948883, 0.49326942],
++												 [	-6.27340980, -0.00031696, 0.00019416, 7.27309284, 0.99903185, 0.99948888, 0.49326912],
++												 [	-6.27340987, -0.00031693, 0.00019414, 7.27309295, 0.99903195, 0.99948894, 0.49326924],
++												 [	-6.27340995, -0.00031690, 0.00019412, 7.27309306, 0.99903205, 0.99948899, 0.49326951],
++												 [	-6.27341003, -0.00031686, 0.00019410, 7.27309317, 0.99903215, 0.99948904, 0.49326942],
++												 [	-6.27341011, -0.00031683, 0.00019408, 7.27309328, 0.99903225, 0.99948909, 0.49326925],
++												 [	-6.27341019, -0.00031680, 0.00019406, 7.27309339, 0.99903235, 0.99948914, 0.49326927],
++												 [	-6.27341026, -0.00031677, 0.00019404, 7.27309350, 0.99903245, 0.99948920, 0.49326936],
++												 [	-6.27341034, -0.00031673, 0.00019402, 7.27309361, 0.99903255, 0.99948925, 0.49326944],
++												 [	-6.27341042, -0.00031670, 0.00019400, 7.27309372, 0.99903265, 0.99948930, 0.49326949],
++												 [	-6.27341050, -0.00031667, 0.00019398, 7.27309383, 0.99903274, 0.99948935, 0.49326915],
++												 [	-6.27341057, -0.00031664, 0.00019396, 7.27309394, 0.99903284, 0.99948941, 0.49326929],
++												 [	-6.27341065, -0.00031660, 0.00019394, 7.27309405, 0.99903294, 0.99948946, 0.49326955],
++												 [	-6.27341073, -0.00031657, 0.00019392, 7.27309416, 0.99903304, 0.99948951, 0.49326921],
++												 [	-6.27341081, -0.00031654, 0.00019390, 7.27309427, 0.99903314, 0.99948956, 0.49326941],
++												 [	-6.27341088, -0.00031651, 0.00019388, 7.27309438, 0.99903324, 0.99948961, 0.49326954],
++												 [	-6.27341096, -0.00031647, 0.00019386, 7.27309449, 0.99903334, 0.99948967, 0.49326935],
++												 [	-6.27341104, -0.00031644, 0.00019384, 7.27309460, 0.99903344, 0.99948972, 0.49326969],
++												 [	-6.27341112, -0.00031641, 0.00019382, 7.27309471, 0.99903354, 0.99948977, 0.49326971],
++												 [	-6.27341119, -0.00031638, 0.00019380, 7.27309482, 0.99903363, 0.99948982, 0.49326945],
++												 [	-6.27341127, -0.00031634, 0.00019378, 7.27309493, 0.99903373, 0.99948988, 0.49326964],
++												 [	-6.27341135, -0.00031631, 0.00019376, 7.27309504, 0.99903383, 0.99948993, 0.49326955],
++												 [	-6.27341143, -0.00031628, 0.00019374, 7.27309515, 0.99903393, 0.99948998, 0.49326931],
++												 [	-6.27341150, -0.00031625, 0.00019372, 7.27309526, 0.99903403, 0.99949003, 0.49326939],
++												 [	-6.27341158, -0.00031622, 0.00019370, 7.27309537, 0.99903413, 0.99949008, 0.49326953],
++												 [	-6.27341166, -0.00031618, 0.00019368, 7.27309547, 0.99903423, 0.99949014, 0.49326974],
++												 [	-6.27341173, -0.00031615, 0.00019366, 7.27309558, 0.99903433, 0.99949019, 0.49326980],
++												 [	-6.27341181, -0.00031612, 0.00019364, 7.27309569, 0.99903442, 0.99949024, 0.49326965],
++												 [	-6.27341189, -0.00031609, 0.00019362, 7.27309580, 0.99903452, 0.99949029, 0.49326969],
++												 [	-6.27341197, -0.00031605, 0.00019360, 7.27309591, 0.99903462, 0.99949034, 0.49326954],
++												 [	-6.27341204, -0.00031602, 0.00019358, 7.27309602, 0.99903472, 0.99949040, 0.49326953],
++												 [	-6.27341212, -0.00031599, 0.00019356, 7.27309613, 0.99903482, 0.99949045, 0.49326986],
++												 [	-6.27341220, -0.00031596, 0.00019354, 7.27309624, 0.99903492, 0.99949050, 0.49326990],
++												 [	-6.27341228, -0.00031592, 0.00019352, 7.27309635, 0.99903502, 0.99949055, 0.49326950],
++												 [	-6.27341235, -0.00031589, 0.00019350, 7.27309646, 0.99903511, 0.99949060, 0.49326968],
++												 [	-6.27341243, -0.00031586, 0.00019348, 7.27309657, 0.99903521, 0.99949066, 0.49326946],
++												 [	-6.27341251, -0.00031583, 0.00019346, 7.27309668, 0.99903531, 0.99949071, 0.49326958],
++												 [	-6.27341258, -0.00031580, 0.00019344, 7.27309679, 0.99903541, 0.99949076, 0.49326990],
++												 [	-6.27341266, -0.00031576, 0.00019342, 7.27309690, 0.99903551, 0.99949081, 0.49326972],
++												 [	-6.27341274, -0.00031573, 0.00019340, 7.27309701, 0.99903561, 0.99949086, 0.49326980],
++												 [	-6.27341282, -0.00031570, 0.00019338, 7.27309712, 0.99903570, 0.99949092, 0.49327001],
++												 [	-6.27341289, -0.00031567, 0.00019336, 7.27309723, 0.99903580, 0.99949097, 0.49326985],
++												 [	-6.27341297, -0.00031563, 0.00019334, 7.27309734, 0.99903590, 0.99949102, 0.49326983],
++												 [	-6.27341305, -0.00031560, 0.00019333, 7.27309744, 0.99903600, 0.99949107, 0.49326985],
++												 [	-6.27341312, -0.00031557, 0.00019331, 7.27309755, 0.99903610, 0.99949112, 0.49327005],
++												 [	-6.27341320, -0.00031554, 0.00019329, 7.27309766, 0.99903620, 0.99949118, 0.49326985],
++												 [	-6.27341328, -0.00031551, 0.00019327, 7.27309777, 0.99903629, 0.99949123, 0.49326980],
++												 [	-6.27341336, -0.00031547, 0.00019325, 7.27309788, 0.99903639, 0.99949128, 0.49326990],
++												 [	-6.27341343, -0.00031544, 0.00019323, 7.27309799, 0.99903649, 0.99949133, 0.49326985],
++												 [	-6.27341351, -0.00031541, 0.00019321, 7.27309810, 0.99903659, 0.99949138, 0.49326999],
++												 [	-6.27341359, -0.00031538, 0.00019319, 7.27309821, 0.99903669, 0.99949144, 0.49326989],
++												 [	-6.27341366, -0.00031535, 0.00019317, 7.27309832, 0.99903679, 0.99949149, 0.49326987],
++												 [	-6.27341374, -0.00031531, 0.00019315, 7.27309843, 0.99903688, 0.99949154, 0.49327012],
++												 [	-6.27341382, -0.00031528, 0.00019313, 7.27309854, 0.99903698, 0.99949159, 0.49326994],
++												 [	-6.27341389, -0.00031525, 0.00019311, 7.27309864, 0.99903708, 0.99949164, 0.49327001],
++												 [	-6.27341397, -0.00031522, 0.00019309, 7.27309875, 0.99903718, 0.99949169, 0.49327008],
++												 [	-6.27341405, -0.00031519, 0.00019307, 7.27309886, 0.99903728, 0.99949175, 0.49327008],
++												 [	-6.27341412, -0.00031515, 0.00019305, 7.27309897, 0.99903737, 0.99949180, 0.49326970],
++												 [	-6.27341420, -0.00031512, 0.00019303, 7.27309908, 0.99903747, 0.99949185, 0.49326989],
++												 [	-6.27341428, -0.00031509, 0.00019301, 7.27309919, 0.99903757, 0.99949190, 0.49326992],
++												 [	-6.27341435, -0.00031506, 0.00019299, 7.27309930, 0.99903767, 0.99949195, 0.49327000],
++												 [	-6.27341443, -0.00031502, 0.00019297, 7.27309941, 0.99903777, 0.99949200, 0.49327006],
++												 [	-6.27341451, -0.00031499, 0.00019295, 7.27309952, 0.99903786, 0.99949206, 0.49327023],
++												 [	-6.27341459, -0.00031496, 0.00019293, 7.27309962, 0.99903796, 0.99949211, 0.49327002],
++												 [	-6.27341466, -0.00031493, 0.00019291, 7.27309973, 0.99903806, 0.99949216, 0.49327004],
++												 [	-6.27341474, -0.00031490, 0.00019289, 7.27309984, 0.99903816, 0.99949221, 0.49327010],
++												 [	-6.27341482, -0.00031486, 0.00019287, 7.27309995, 0.99903826, 0.99949226, 0.49327000],
++												 [	-6.27341489, -0.00031483, 0.00019285, 7.27310006, 0.99903835, 0.99949231, 0.49326994],
++												 [	-6.27341497, -0.00031480, 0.00019283, 7.27310017, 0.99903845, 0.99949237, 0.49327008],
++												 [	-6.27341505, -0.00031477, 0.00019281, 7.27310028, 0.99903855, 0.99949242, 0.49327002],
++												 [	-6.27341512, -0.00031474, 0.00019279, 7.27310039, 0.99903865, 0.99949247, 0.49327015],
++												 [	-6.27341520, -0.00031470, 0.00019277, 7.27310049, 0.99903874, 0.99949252, 0.49326998],
++												 [	-6.27341528, -0.00031467, 0.00019275, 7.27310060, 0.99903884, 0.99949257, 0.49327030],
++												 [	-6.27341535, -0.00031464, 0.00019274, 7.27310071, 0.99903894, 0.99949262, 0.49326995],
++												 [	-6.27341543, -0.00031461, 0.00019272, 7.27310082, 0.99903904, 0.99949268, 0.49327013],
++												 [	-6.27341550, -0.00031458, 0.00019270, 7.27310093, 0.99903914, 0.99949273, 0.49327030],
++												 [	-6.27341558, -0.00031454, 0.00019268, 7.27310104, 0.99903923, 0.99949278, 0.49327016],
++												 [	-6.27341566, -0.00031451, 0.00019266, 7.27310115, 0.99903933, 0.99949283, 0.49327003],
++												 [	-6.27341573, -0.00031448, 0.00019264, 7.27310125, 0.99903943, 0.99949288, 0.49327020],
++												 [	-6.27341581, -0.00031445, 0.00019262, 7.27310136, 0.99903953, 0.99949293, 0.49327016],
++												 [	-6.27341589, -0.00031442, 0.00019260, 7.27310147, 0.99903962, 0.99949298, 0.49327038],
++												 [	-6.27341596, -0.00031438, 0.00019258, 7.27310158, 0.99903972, 0.99949304, 0.49327020],
++												 [	-6.27341604, -0.00031435, 0.00019256, 7.27310169, 0.99903982, 0.99949309, 0.49326989],
++												 [	-6.27341612, -0.00031432, 0.00019254, 7.27310180, 0.99903992, 0.99949314, 0.49327033],
++												 [	-6.27341619, -0.00031429, 0.00019252, 7.27310190, 0.99904001, 0.99949319, 0.49327021],
++												 [	-6.27341627, -0.00031426, 0.00019250, 7.27310201, 0.99904011, 0.99949324, 0.49327047],
++												 [	-6.27341635, -0.00031423, 0.00019248, 7.27310212, 0.99904021, 0.99949329, 0.49327024],
++												 [	-6.27341642, -0.00031419, 0.00019246, 7.27310223, 0.99904031, 0.99949335, 0.49327034],
++												 [	-6.27341650, -0.00031416, 0.00019244, 7.27310234, 0.99904040, 0.99949340, 0.49327024],
++												 [	-6.27341658, -0.00031413, 0.00019242, 7.27310245, 0.99904050, 0.99949345, 0.49327049],
++												 [	-6.27341665, -0.00031410, 0.00019240, 7.27310255, 0.99904060, 0.99949350, 0.49327029],
++												 [	-6.27341673, -0.00031407, 0.00019238, 7.27310266, 0.99904070, 0.99949355, 0.49327027],
++												 [	-6.27341680, -0.00031403, 0.00019236, 7.27310277, 0.99904079, 0.99949360, 0.49327052],
++												 [	-6.27341688, -0.00031400, 0.00019234, 7.27310288, 0.99904089, 0.99949365, 0.49327062],
++												 [	-6.27341696, -0.00031397, 0.00019232, 7.27310299, 0.99904099, 0.99949370, 0.49327051],
++												 [	-6.27341703, -0.00031394, 0.00019231, 7.27310309, 0.99904108, 0.99949376, 0.49327035],
++												 [	-6.27341711, -0.00031391, 0.00019229, 7.27310320, 0.99904118, 0.99949381, 0.49327029],
++												 [	-6.27341719, -0.00031387, 0.00019227, 7.27310331, 0.99904128, 0.99949386, 0.49327040],
++												 [	-6.27341726, -0.00031384, 0.00019225, 7.27310342, 0.99904138, 0.99949391, 0.49327054],
++												 [	-6.27341734, -0.00031381, 0.00019223, 7.27310353, 0.99904147, 0.99949396, 0.49327057],
++												 [	-6.27341741, -0.00031378, 0.00019221, 7.27310363, 0.99904157, 0.99949401, 0.49327065],
++												 [	-6.27341749, -0.00031375, 0.00019219, 7.27310374, 0.99904167, 0.99949406, 0.49327055],
++												 [	-6.27341757, -0.00031372, 0.00019217, 7.27310385, 0.99904177, 0.99949412, 0.49327044],
++												 [	-6.27341764, -0.00031368, 0.00019215, 7.27310396, 0.99904186, 0.99949417, 0.49327060],
++												 [	-6.27341772, -0.00031365, 0.00019213, 7.27310407, 0.99904196, 0.99949422, 0.49327062],
++												 [	-6.27341779, -0.00031362, 0.00019211, 7.27310417, 0.99904206, 0.99949427, 0.49327057],
++												 [	-6.27341787, -0.00031359, 0.00019209, 7.27310428, 0.99904215, 0.99949432, 0.49327068],
++												 [	-6.27341795, -0.00031356, 0.00019207, 7.27310439, 0.99904225, 0.99949437, 0.49327087],
++												 [	-6.27341802, -0.00031353, 0.00019205, 7.27310450, 0.99904235, 0.99949442, 0.49327065],
++												 [	-6.27341810, -0.00031349, 0.00019203, 7.27310461, 0.99904244, 0.99949447, 0.49327040],
++												 [	-6.27341817, -0.00031346, 0.00019201, 7.27310471, 0.99904254, 0.99949453, 0.49327056],
++												 [	-6.27341825, -0.00031343, 0.00019199, 7.27310482, 0.99904264, 0.99949458, 0.49327057],
++												 [	-6.27341833, -0.00031340, 0.00019197, 7.27310493, 0.99904274, 0.99949463, 0.49327059],
++												 [	-6.27341840, -0.00031337, 0.00019195, 7.27310504, 0.99904283, 0.99949468, 0.49327075],
++												 [	-6.27341848, -0.00031333, 0.00019194, 7.27310514, 0.99904293, 0.99949473, 0.49327058],
++												 [	-6.27341855, -0.00031330, 0.00019192, 7.27310525, 0.99904303, 0.99949478, 0.49327073],
++												 [	-6.27341863, -0.00031327, 0.00019190, 7.27310536, 0.99904312, 0.99949483, 0.49327054],
++												 [	-6.27341871, -0.00031324, 0.00019188, 7.27310547, 0.99904322, 0.99949488, 0.49327048],
++												 [	-6.27341878, -0.00031321, 0.00019186, 7.27310557, 0.99904332, 0.99949493, 0.49327086],
++												 [	-6.27341886, -0.00031318, 0.00019184, 7.27310568, 0.99904341, 0.99949499, 0.49327056],
++												 [	-6.27341893, -0.00031314, 0.00019182, 7.27310579, 0.99904351, 0.99949504, 0.49327071],
++												 [	-6.27341901, -0.00031311, 0.00019180, 7.27310590, 0.99904361, 0.99949509, 0.49327045],
++												 [	-6.27341909, -0.00031308, 0.00019178, 7.27310600, 0.99904370, 0.99949514, 0.49327067],
++												 [	-6.27341916, -0.00031305, 0.00019176, 7.27310611, 0.99904380, 0.99949519, 0.49327067],
++												 [	-6.27341924, -0.00031302, 0.00019174, 7.27310622, 0.99904390, 0.99949524, 0.49327074],
++												 [	-6.27341931, -0.00031299, 0.00019172, 7.27310633, 0.99904399, 0.99949529, 0.49327107],
++												 [	-6.27341939, -0.00031295, 0.00019170, 7.27310643, 0.99904409, 0.99949534, 0.49327064],
++												 [	-6.27341946, -0.00031292, 0.00019168, 7.27310654, 0.99904419, 0.99949539, 0.49327063],
++												 [	-6.27341954, -0.00031289, 0.00019166, 7.27310665, 0.99904428, 0.99949545, 0.49327050],
++												 [	-6.27341962, -0.00031286, 0.00019164, 7.27310676, 0.99904438, 0.99949550, 0.49327069],
++												 [	-6.27341969, -0.00031283, 0.00019162, 7.27310686, 0.99904448, 0.99949555, 0.49327081],
++												 [	-6.27341977, -0.00031280, 0.00019161, 7.27310697, 0.99904457, 0.99949560, 0.49327077],
++												 [	-6.27341984, -0.00031276, 0.00019159, 7.27310708, 0.99904467, 0.99949565, 0.49327081],
++												 [	-6.27341992, -0.00031273, 0.00019157, 7.27310719, 0.99904477, 0.99949570, 0.49327088],
++												 [	-6.27341999, -0.00031270, 0.00019155, 7.27310729, 0.99904486, 0.99949575, 0.49327082],
++												 [	-6.27342007, -0.00031267, 0.00019153, 7.27310740, 0.99904496, 0.99949580, 0.49327067],
++												 [	-6.27342015, -0.00031264, 0.00019151, 7.27310751, 0.99904506, 0.99949585, 0.49327061],
++												 [	-6.27342022, -0.00031261, 0.00019149, 7.27310761, 0.99904515, 0.99949590, 0.49327079],
++												 [	-6.27342030, -0.00031258, 0.00019147, 7.27310772, 0.99904525, 0.99949595, 0.49327103],
++												 [	-6.27342037, -0.00031254, 0.00019145, 7.27310783, 0.99904535, 0.99949601, 0.49327107],
++												 [	-6.27342045, -0.00031251, 0.00019143, 7.27310794, 0.99904544, 0.99949606, 0.49327084],
++												 [	-6.27342052, -0.00031248, 0.00019141, 7.27310804, 0.99904554, 0.99949611, 0.49327096],
++												 [	-6.27342060, -0.00031245, 0.00019139, 7.27310815, 0.99904563, 0.99949616, 0.49327062],
++												 [	-6.27342067, -0.00031242, 0.00019137, 7.27310826, 0.99904573, 0.99949621, 0.49327088],
++												 [	-6.27342075, -0.00031239, 0.00019135, 7.27310836, 0.99904583, 0.99949626, 0.49327094],
++												 [	-6.27342083, -0.00031235, 0.00019133, 7.27310847, 0.99904592, 0.99949631, 0.49327095],
++												 [	-6.27342090, -0.00031232, 0.00019132, 7.27310858, 0.99904602, 0.99949636, 0.49327111],
++												 [	-6.27342098, -0.00031229, 0.00019130, 7.27310869, 0.99904612, 0.99949641, 0.49327066],
++												 [	-6.27342105, -0.00031226, 0.00019128, 7.27310879, 0.99904621, 0.99949646, 0.49327112],
++												 [	-6.27342113, -0.00031223, 0.00019126, 7.27310890, 0.99904631, 0.99949651, 0.49327094],
++												 [	-6.27342120, -0.00031220, 0.00019124, 7.27310901, 0.99904641, 0.99949656, 0.49327097],
++												 [	-6.27342128, -0.00031217, 0.00019122, 7.27310911, 0.99904650, 0.99949662, 0.49327094],
++												 [	-6.27342135, -0.00031213, 0.00019120, 7.27310922, 0.99904660, 0.99949667, 0.49327120],
++												 [	-6.27342143, -0.00031210, 0.00019118, 7.27310933, 0.99904669, 0.99949672, 0.49327123],
++												 [	-6.27342150, -0.00031207, 0.00019116, 7.27310943, 0.99904679, 0.99949677, 0.49327124],
++												 [	-6.27342158, -0.00031204, 0.00019114, 7.27310954, 0.99904689, 0.99949682, 0.49327089],
++												 [	-6.27342166, -0.00031201, 0.00019112, 7.27310965, 0.99904698, 0.99949687, 0.49327096],
++												 [	-6.27342173, -0.00031198, 0.00019110, 7.27310975, 0.99904708, 0.99949692, 0.49327093],
++												 [	-6.27342181, -0.00031195, 0.00019108, 7.27310986, 0.99904717, 0.99949697, 0.49327128],
++												 [	-6.27342188, -0.00031191, 0.00019106, 7.27310997, 0.99904727, 0.99949702, 0.49327122],
++												 [	-6.27342196, -0.00031188, 0.00019105, 7.27311007, 0.99904737, 0.99949707, 0.49327128],
++												 [	-6.27342203, -0.00031185, 0.00019103, 7.27311018, 0.99904746, 0.99949712, 0.49327113],
++												 [	-6.27342211, -0.00031182, 0.00019101, 7.27311029, 0.99904756, 0.99949717, 0.49327121],
++												 [	-6.27342218, -0.00031179, 0.00019099, 7.27311039, 0.99904765, 0.99949722, 0.49327115],
++												 [	-6.27342226, -0.00031176, 0.00019097, 7.27311050, 0.99904775, 0.99949727, 0.49327114],
++												 [	-6.27342233, -0.00031173, 0.00019095, 7.27311061, 0.99904785, 0.99949733, 0.49327102],
++												 [	-6.27342241, -0.00031169, 0.00019093, 7.27311071, 0.99904794, 0.99949738, 0.49327120],
++												 [	-6.27342248, -0.00031166, 0.00019091, 7.27311082, 0.99904804, 0.99949743, 0.49327130],
++												 [	-6.27342256, -0.00031163, 0.00019089, 7.27311093, 0.99904813, 0.99949748, 0.49327109],
++												 [	-6.27342263, -0.00031160, 0.00019087, 7.27311103, 0.99904823, 0.99949753, 0.49327132],
++												 [	-6.27342271, -0.00031157, 0.00019085, 7.27311114, 0.99904833, 0.99949758, 0.49327146],
++												 [	-6.27342278, -0.00031154, 0.00019083, 7.27311125, 0.99904842, 0.99949763, 0.49327090],
++												 [	-6.27342286, -0.00031151, 0.00019081, 7.27311135, 0.99904852, 0.99949768, 0.49327123],
++												 [	-6.27342293, -0.00031147, 0.00019080, 7.27311146, 0.99904861, 0.99949773, 0.49327134],
++												 [	-6.27342301, -0.00031144, 0.00019078, 7.27311156, 0.99904871, 0.99949778, 0.49327133],
++												 [	-6.27342308, -0.00031141, 0.00019076, 7.27311167, 0.99904880, 0.99949783, 0.49327117],
++												 [	-6.27342316, -0.00031138, 0.00019074, 7.27311178, 0.99904890, 0.99949788, 0.49327124],
++												 [	-6.27342323, -0.00031135, 0.00019072, 7.27311188, 0.99904900, 0.99949793, 0.49327116],
++												 [	-6.27342331, -0.00031132, 0.00019070, 7.27311199, 0.99904909, 0.99949798, 0.49327125],
++												 [	-6.27342338, -0.00031129, 0.00019068, 7.27311210, 0.99904919, 0.99949803, 0.49327132],
++												 [	-6.27342346, -0.00031126, 0.00019066, 7.27311220, 0.99904928, 0.99949808, 0.49327161],
++												 [	-6.27342353, -0.00031122, 0.00019064, 7.27311231, 0.99904938, 0.99949813, 0.49327137],
++												 [	-6.27342361, -0.00031119, 0.00019062, 7.27311242, 0.99904947, 0.99949818, 0.49327141],
++												 [	-6.27342368, -0.00031116, 0.00019060, 7.27311252, 0.99904957, 0.99949824, 0.49327151],
++												 [	-6.27342376, -0.00031113, 0.00019058, 7.27311263, 0.99904966, 0.99949829, 0.49327147],
++												 [	-6.27342383, -0.00031110, 0.00019057, 7.27311273, 0.99904976, 0.99949834, 0.49327157],
++												 [	-6.27342391, -0.00031107, 0.00019055, 7.27311284, 0.99904986, 0.99949839, 0.49327158],
++												 [	-6.27342398, -0.00031104, 0.00019053, 7.27311295, 0.99904995, 0.99949844, 0.49327140],
++												 [	-6.27342406, -0.00031101, 0.00019051, 7.27311305, 0.99905005, 0.99949849, 0.49327149],
++												 [	-6.27342413, -0.00031097, 0.00019049, 7.27311316, 0.99905014, 0.99949854, 0.49327130],
++												 [	-6.27342421, -0.00031094, 0.00019047, 7.27311326, 0.99905024, 0.99949859, 0.49327138],
++												 [	-6.27342428, -0.00031091, 0.00019045, 7.27311337, 0.99905033, 0.99949864, 0.49327154],
++												 [	-6.27342436, -0.00031088, 0.00019043, 7.27311348, 0.99905043, 0.99949869, 0.49327144],
++												 [	-6.27342443, -0.00031085, 0.00019041, 7.27311358, 0.99905052, 0.99949874, 0.49327149],
++												 [	-6.27342451, -0.00031082, 0.00019039, 7.27311369, 0.99905062, 0.99949879, 0.49327160],
++												 [	-6.27342458, -0.00031079, 0.00019037, 7.27311379, 0.99905071, 0.99949884, 0.49327162],
++												 [	-6.27342466, -0.00031076, 0.00019035, 7.27311390, 0.99905081, 0.99949889, 0.49327146],
++												 [	-6.27342473, -0.00031072, 0.00019034, 7.27311401, 0.99905091, 0.99949894, 0.49327178],
++												 [	-6.27342480, -0.00031069, 0.00019032, 7.27311411, 0.99905100, 0.99949899, 0.49327156],
++												 [	-6.27342488, -0.00031066, 0.00019030, 7.27311422, 0.99905110, 0.99949904, 0.49327151],
++												 [	-6.27342495, -0.00031063, 0.00019028, 7.27311432, 0.99905119, 0.99949909, 0.49327157],
++												 [	-6.27342503, -0.00031060, 0.00019026, 7.27311443, 0.99905129, 0.99949914, 0.49327162],
++												 [	-6.27342510, -0.00031057, 0.00019024, 7.27311453, 0.99905138, 0.99949919, 0.49327180],
++												 [	-6.27342518, -0.00031054, 0.00019022, 7.27311464, 0.99905148, 0.99949924, 0.49327153],
++												 [	-6.27342525, -0.00031051, 0.00019020, 7.27311475, 0.99905157, 0.99949929, 0.49327170],
++												 [	-6.27342533, -0.00031047, 0.00019018, 7.27311485, 0.99905167, 0.99949934, 0.49327164],
++												 [	-6.27342540, -0.00031044, 0.00019016, 7.27311496, 0.99905176, 0.99949939, 0.49327177],
++												 [	-6.27342548, -0.00031041, 0.00019014, 7.27311506, 0.99905186, 0.99949944, 0.49327171],
++												 [	-6.27342555, -0.00031038, 0.00019013, 7.27311517, 0.99905195, 0.99949949, 0.49327163],
++												 [	-6.27342563, -0.00031035, 0.00019011, 7.27311527, 0.99905205, 0.99949954, 0.49327148],
++												 [	-6.27342570, -0.00031032, 0.00019009, 7.27311538, 0.99905214, 0.99949959, 0.49327177],
++												 [	-6.27342577, -0.00031029, 0.00019007, 7.27311549, 0.99905224, 0.99949964, 0.49327190],
++												 [	-6.27342585, -0.00031026, 0.00019005, 7.27311559, 0.99905233, 0.99949969, 0.49327174],
++												 [	-6.27342592, -0.00031023, 0.00019003, 7.27311570, 0.99905243, 0.99949974, 0.49327179],
++												 [	-6.27342600, -0.00031019, 0.00019001, 7.27311580, 0.99905252, 0.99949979, 0.49327165],
++												 [	-6.27342607, -0.00031016, 0.00018999, 7.27311591, 0.99905262, 0.99949984, 0.49327180],
++												 [	-6.27342615, -0.00031013, 0.00018997, 7.27311601, 0.99905271, 0.99949989, 0.49327176],
++												 [	-6.27342622, -0.00031010, 0.00018995, 7.27311612, 0.99905281, 0.99949994, 0.49327155],
++												 [	-6.27342630, -0.00031007, 0.00018993, 7.27311622, 0.99905290, 0.99949999, 0.49327169],
++												 [	-6.27342637, -0.00031004, 0.00018992, 7.27311633, 0.99905300, 0.99950004, 0.49327184],
++												 [	-6.27342644, -0.00031001, 0.00018990, 7.27311644, 0.99905309, 0.99950009, 0.49327184],
++												 [	-6.27342652, -0.00030998, 0.00018988, 7.27311654, 0.99905319, 0.99950014, 0.49327176],
++												 [	-6.27342659, -0.00030995, 0.00018986, 7.27311665, 0.99905328, 0.99950019, 0.49327184],
++												 [	-6.27342667, -0.00030992, 0.00018984, 7.27311675, 0.99905338, 0.99950024, 0.49327166],
++												 [	-6.27342674, -0.00030988, 0.00018982, 7.27311686, 0.99905347, 0.99950029, 0.49327222],
++												 [	-6.27342682, -0.00030985, 0.00018980, 7.27311696, 0.99905357, 0.99950034, 0.49327211],
++												 [	-6.27342689, -0.00030982, 0.00018978, 7.27311707, 0.99905366, 0.99950039, 0.49327202],
++												 [	-6.27342696, -0.00030979, 0.00018976, 7.27311717, 0.99905376, 0.99950044, 0.49327179],
++												 [	-6.27342704, -0.00030976, 0.00018974, 7.27311728, 0.99905385, 0.99950049, 0.49327176],
++												 [	-6.27342711, -0.00030973, 0.00018973, 7.27311738, 0.99905394, 0.99950054, 0.49327202],
++												 [	-6.27342719, -0.00030970, 0.00018971, 7.27311749, 0.99905404, 0.99950059, 0.49327184],
++												 [	-6.27342726, -0.00030967, 0.00018969, 7.27311759, 0.99905413, 0.99950064, 0.49327198],
++												 [	-6.27342733, -0.00030964, 0.00018967, 7.27311770, 0.99905423, 0.99950069, 0.49327205],
++												 [	-6.27342741, -0.00030961, 0.00018965, 7.27311780, 0.99905432, 0.99950074, 0.49327200],
++												 [	-6.27342748, -0.00030957, 0.00018963, 7.27311791, 0.99905442, 0.99950079, 0.49327197],
++												 [	-6.27342756, -0.00030954, 0.00018961, 7.27311801, 0.99905451, 0.99950084, 0.49327183],
++												 [	-6.27342763, -0.00030951, 0.00018959, 7.27311812, 0.99905461, 0.99950089, 0.49327208],
++												 [	-6.27342771, -0.00030948, 0.00018957, 7.27311822, 0.99905470, 0.99950094, 0.49327205],
++												 [	-6.27342778, -0.00030945, 0.00018956, 7.27311833, 0.99905480, 0.99950099, 0.49327194]]);
+ 
++
+ 	if value=='h':
+ 		series=love_numbers[:,0];
+ 	elif value=='k':
+Index: ../trunk-jpl/src/m/plot/processmesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/processmesh.py	(revision 21409)
++++ ../trunk-jpl/src/m/plot/processmesh.py	(revision 21410)
+@@ -37,7 +37,7 @@
+ 			z=np.zeros_like(md.mesh.x)
+ 		
+ 		try:
+-			elements2d=md.mesh.elements2d-1
++			elements=md.mesh.elements2d-1
+ 		except AttributeError:
+ 			elements=md.mesh.elements-1
+ 
+Index: ../trunk-jpl/scripts/BinRead.py
+===================================================================
+--- ../trunk-jpl/scripts/BinRead.py	(revision 21409)
++++ ../trunk-jpl/scripts/BinRead.py	(revision 21410)
+@@ -128,23 +128,23 @@
+ 	sent.
+ 	"""
+ 
+-	if   strcmpi(format,'Boolean'):
++	if format=='Boolean':
+ 		code=1
+-	elif strcmpi(format,'Integer'):
++	elif format=='Integer':
+ 		code=2
+-	elif strcmpi(format,'Double'):
++	elif format=='Double':
+ 		code=3
+-	elif strcmpi(format,'String'):
++	elif format=='String':
+ 		code=4
+-	elif strcmpi(format,'BooleanMat'):
++	elif format=='BooleanMat':
+ 		code=5
+-	elif strcmpi(format,'IntMat'):
++	elif format=='IntMat':
+ 		code=6
+-	elif strcmpi(format,'DoubleMat'):
++	elif format=='DoubleMat':
+ 		code=7
+-	elif strcmpi(format,'MatArray'):
++	elif format=='MatArray':
+ 		code=8
+-	elif strcmpi(format,'StringArray'):
++	elif format=='StringArray':
+ 		code=9
+ 	else:
+ 		raise InputError('FormatToCode error message: data type not supported yet!')
+@@ -200,7 +200,5 @@
+ 	parser.add_argument('-v','--verbose', help='optional level of output', default=0)
+ 	args = parser.parse_args()
+ 
+-	from MatlabFuncs import *
+-
+ 	BinRead(args.filin, args.filout,args.verbose)
+ #}}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21410-21411.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21410-21411.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21410-21411.diff	(revision 21726)
@@ -0,0 +1,845 @@
+Index: ../trunk-jpl/test/NightlyRun/test273.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test273.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test273.py	(revision 21411)
+@@ -1,7 +1,7 @@
+ #Test Name: SquareShelfStressSSA2dDamageUpdate
+ import numpy as np
+ from model import *
+- from socket import gethostnamemodel
++from socket import gethostname
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+@@ -30,10 +30,8 @@
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vel','Pressure','NewDamage']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	md.results.StressbalanceSolution.NewDamage,\
+-	]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.NewDamage]
+Index: ../trunk-jpl/test/NightlyRun/test1101.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1101.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1101.py	(revision 21411)
+@@ -34,9 +34,9 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create dirichlet on the bed only
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ 	pos=np.where(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+Index: ../trunk-jpl/test/NightlyRun/test211.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test211.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test211.py	(revision 21411)
+@@ -1,5 +1,4 @@
+ #Test Name: SquareShelfTranFS
+-
+ from model import *
+ from socket import gethostname
+ import numpy as np
+@@ -15,50 +14,46 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md.extrude(3,1.)
+ md=setflowequation(md,'FS','all')
+-md.stressbalance.reltol=NaN
++md.stressbalance.reltol=np.NaN
+ md.cluster=generic('name',gethostname(),'np',3)
+ md=solve(md,'Transient')
+ 
+ 
+ # Fields and tolerances to track changes
+ 
+-field_names=[\
+-	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
+-field_tolerances=[\
+-		2e-08,2e-08,5e-05,2e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,\
+-		5e-06,5e-06,8e-05,5e-06,1e-07,5e-07,5e-07,5e-07,3e-06,5e-05,\
+-		8e-06,8e-06,8e-05,8e-06,5e-07,8e-07,8e-07,8e-07,5e-06,8e-05]
+-field_values=[\
+-	md.results.TransientSolution[0].Vx,\
+-	md.results.TransientSolution[0].Vy,\
+-	md.results.TransientSolution[0].Vz,\
+-	md.results.TransientSolution[0].Vel,\
+-	md.results.TransientSolution[0].Pressure,\
+-	md.results.TransientSolution[0].Base,\
+-	md.results.TransientSolution[0].Surface,\
+-	md.results.TransientSolution[0].Thickness,\
+-	md.results.TransientSolution[0].Temperature,\
+-	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
+-	md.results.TransientSolution[1].Vx,\
+-	md.results.TransientSolution[1].Vy,\
+-	md.results.TransientSolution[1].Vz,\
+-	md.results.TransientSolution[1].Vel,\
+-	md.results.TransientSolution[1].Pressure,\
+-	md.results.TransientSolution[1].Base,\
+-	md.results.TransientSolution[1].Surface,\
+-	md.results.TransientSolution[1].Thickness,\
+-	md.results.TransientSolution[1].Temperature,\
+-	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
+-	md.results.TransientSolution[2].Vx,\
+-	md.results.TransientSolution[2].Vy,\
+-	md.results.TransientSolution[2].Vz,\
+-	md.results.TransientSolution[2].Vel,\
+-	md.results.TransientSolution[2].Pressure,\
+-	md.results.TransientSolution[2].Base,\
+-	md.results.TransientSolution[2].Surface,\
+-	md.results.TransientSolution[2].Thickness,\
+-	md.results.TransientSolution[2].Temperature,\
+-	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
+-	]
++field_names=['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',
++						 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2',
++						 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
++field_tolerances=[2e-08,2e-08,5e-05,2e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,
++									5e-06,5e-06,8e-05,5e-06,1e-07,5e-07,5e-07,5e-07,3e-06,5e-05,
++									8e-06,8e-06,8e-05,8e-06,5e-07,8e-07,8e-07,8e-07,5e-06,8e-05]
++field_values=[md.results.TransientSolution[0].Vx,
++							md.results.TransientSolution[0].Vy,
++							md.results.TransientSolution[0].Vz,
++							md.results.TransientSolution[0].Vel,
++							md.results.TransientSolution[0].Pressure,
++							md.results.TransientSolution[0].Base,
++							md.results.TransientSolution[0].Surface,
++							md.results.TransientSolution[0].Thickness,
++							md.results.TransientSolution[0].Temperature,
++							md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,
++							md.results.TransientSolution[1].Vx,
++							md.results.TransientSolution[1].Vy,
++							md.results.TransientSolution[1].Vz,
++							md.results.TransientSolution[1].Vel,
++							md.results.TransientSolution[1].Pressure,
++							md.results.TransientSolution[1].Base,
++							md.results.TransientSolution[1].Surface,
++							md.results.TransientSolution[1].Thickness,
++							md.results.TransientSolution[1].Temperature,
++							md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,
++							md.results.TransientSolution[2].Vx,
++							md.results.TransientSolution[2].Vy,
++							md.results.TransientSolution[2].Vz,
++							md.results.TransientSolution[2].Vel,
++							md.results.TransientSolution[2].Pressure,
++							md.results.TransientSolution[2].Base,
++							md.results.TransientSolution[2].Surface,
++							md.results.TransientSolution[2].Thickness,
++							md.results.TransientSolution[2].Temperature,
++							md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate]
+Index: ../trunk-jpl/test/NightlyRun/test274.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test274.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test274.py	(revision 21411)
+@@ -1,7 +1,7 @@
+ #Test Name: SquareShelfStressSSA2dDamageRift
+ import numpy as np
+ from model import *
+- from socket import gethostnamemodel
++from socket import gethostname
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+@@ -29,9 +29,7 @@
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vel','Pressure']
+ field_tolerances=[7e-8,3e-8,3e-8,1e-11]
+-field_values=[\
+-	   md.results.StressbalanceSolution.Vx,\
+-	   md.results.StressbalanceSolution.Vy,\
+-	   md.results.StressbalanceSolution.Vel,\
+-	   md.results.StressbalanceSolution.Pressure,\
+-	   ]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure]
+Index: ../trunk-jpl/test/NightlyRun/test1102.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1102.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1102.py	(revision 21411)
+@@ -46,8 +46,8 @@
+ 	md.stressbalance.spcvz[pos]=0.
+ 
+ 	#Compute the stressbalance
+-	md.stressbalance.abstol=float('NaN')
+-	md.stressbalance.reltol=float('NaN')
++	md.stressbalance.abstol=np.nan
++	md.stressbalance.reltol=np.nan
+ 	md.stressbalance.restol=1.
+ 	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+Index: ../trunk-jpl/test/NightlyRun/test212.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test212.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test212.py	(revision 21411)
+@@ -1,5 +1,4 @@
+ #Test Name: SquareShelfCMBSSA2d
+-
+ from model import *
+ from socket import gethostname
+ import numpy as np
+@@ -15,19 +14,18 @@
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+ 
+-
+ # control parameters
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
++md.inversion.min_parameters=1.0e6*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.0e9*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=1.0e7*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+@@ -40,12 +38,10 @@
+ 
+ field_names     =['Gradient','Misfits','MaterialsRheologyBbar','Pressure','Vel','Vx','Vy']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-md.results.StressbalanceSolution.Gradient1,\
+-md.results.StressbalanceSolution.J,\
+-md.results.StressbalanceSolution.MaterialsRheologyBbar,\
+-md.results.StressbalanceSolution.Pressure,\
+-md.results.StressbalanceSolution.Vel,\
+-md.results.StressbalanceSolution.Vx,\
+-md.results.StressbalanceSolution.Vy,\
+-]
++field_values=[md.results.StressbalanceSolution.Gradient1,
++							md.results.StressbalanceSolution.J,
++							md.results.StressbalanceSolution.MaterialsRheologyBbar,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy]
+Index: ../trunk-jpl/test/NightlyRun/test1201.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1201.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1201.py	(revision 21411)
+@@ -38,7 +38,7 @@
+ 	#spc thickness
+ 	pos=np.where(md.mesh.y>199999.9)[0]
+ 	times=np.arange(0,501)
+-	md.masstransport.spcthickness=float('NaN')*np.ones((md.mesh.numberofvertices+1,np.size(times)))
++	md.masstransport.spcthickness=np.nan*np.ones((md.mesh.numberofvertices+1,np.size(times)))
+ 	md.masstransport.spcthickness[-1,:]=times
+ 	md.masstransport.spcthickness[pos,:]=500.+100.*np.sin(2.*np.pi*times/200.)
+ 	if stabilization==3:
+Index: ../trunk-jpl/test/NightlyRun/test275.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test275.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test275.py	(revision 21411)
+@@ -2,7 +2,7 @@
+ import numpy as np
+ from triangle import triangle
+ from model import *
+- from socket import gethostnamemodel
++from socket import gethostname
+ from setmask import setmask
+ from parameterize import parameterize
+ from verbose import verbose
+@@ -36,7 +36,5 @@
+ 
+ field_names=['D','F']
+ field_tolerances=[1.e-13,1.e-13]
+-field_values=[\
+-		md.results.DamageEvolutionSolution.DamageDbar,\
+-		md.results.DamageEvolutionSolution.DamageF,\
+-		]
++field_values=[md.results.DamageEvolutionSolution.DamageDbar,
++							md.results.DamageEvolutionSolution.DamageF]
+Index: ../trunk-jpl/test/NightlyRun/test1103.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1103.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1103.py	(revision 21411)
+@@ -33,9 +33,9 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create dirichlet on the bed only
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 	pos=np.nonzero(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+ 	md.stressbalance.spcvy[pos]=0.
+Index: ../trunk-jpl/test/NightlyRun/test213.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test213.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test213.py	(revision 21411)
+@@ -21,14 +21,14 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
++md.inversion.min_parameters=10**6*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*10**9*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=10**7*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+@@ -42,12 +42,10 @@
+ field_names     =['Gradient','Misfits','MaterialsRheologyBbar','Pressure','Vel','Vx','Vy']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+ #field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.StressbalanceSolution.Gradient1,\
+-	md.results.StressbalanceSolution.J,\
+-	md.results.StressbalanceSolution.MaterialsRheologyBbar,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-]
++field_values=[md.results.StressbalanceSolution.Gradient1,
++							md.results.StressbalanceSolution.J,
++							md.results.StressbalanceSolution.MaterialsRheologyBbar,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy]
+Index: ../trunk-jpl/test/NightlyRun/test1104.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1104.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1104.py	(revision 21411)
+@@ -27,9 +27,9 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create dirichlet on the bed only
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ 	pos=np.where(md.mesh.vertexonbase)
+ 	md.stressbalance.spcvx[pos]=0.
+@@ -45,7 +45,7 @@
+ 	md.stressbalance.vertex_pairing=np.vstack((np.vstack((posx+1,posx2+1)).T,np.vstack((posy+1,posy2+1)).T))
+ 	print np.shape(md.stressbalance.vertex_pairing)
+ 	#Compute the stressbalance
+-	md.stressbalance.abstol=float('NaN')
++	md.stressbalance.abstol=np.nan
+ 	md.cluster=generic('name',gethostname(),'np',8)
+ 	md=solve(md,'Stressbalance')
+ 	pos=np.where(np.logical_or.reduce((md.mesh.x==0.,md.mesh.y==0.,md.mesh.x==np.max(md.mesh.x),md.mesh.y==np.max(md.mesh.y))))
+Index: ../trunk-jpl/test/NightlyRun/test214.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test214.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test214.py	(revision 21411)
+@@ -21,14 +21,14 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
++md.inversion.min_parameters=1e6*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2.*1e9*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=1e7*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+@@ -41,12 +41,10 @@
+ 
+ field_names     =['Gradient','Misfits','MaterialsRheologyBbar','Pressure','Vel','Vx','Vy']
+ field_tolerances=[1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08]
+-field_values=[\
+-	md.results.StressbalanceSolution.Gradient1,\
+-	md.results.StressbalanceSolution.J,\
+-	md.results.StressbalanceSolution.MaterialsRheologyBbar,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy
+-]
++field_values=[md.results.StressbalanceSolution.Gradient1,
++							md.results.StressbalanceSolution.J,
++							md.results.StressbalanceSolution.MaterialsRheologyBbar,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy]
+Index: ../trunk-jpl/test/NightlyRun/test806.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test806.py	(revision 21411)
+@@ -37,7 +37,7 @@
+ md.calving=calvinglevermann()
+ md.calving.coeff=4.89e13*np.ones((md.mesh.numberofvertices))
+ md.calving.meltingrate=np.zeros((md.mesh.numberofvertices))
+-md.levelset.spclevelset=np.float('NaN')*np.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ md.transient.requested_outputs=['default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate']
+ 
+Index: ../trunk-jpl/test/NightlyRun/test1105.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1105.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1105.py	(revision 21411)
+@@ -33,9 +33,9 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#Create MPCs to have periodic boundary conditions
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ 	posx=np.where(np.logical_and.reduce((md.mesh.x==0.,md.mesh.y!=0.,md.mesh.y!=L)))[0]
+ 	posx2=np.where(np.logical_and.reduce((md.mesh.x==L,md.mesh.y!=0.,md.mesh.y!=L)))[0]
+Index: ../trunk-jpl/test/NightlyRun/test215.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test215.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test215.py	(revision 21411)
+@@ -21,14 +21,14 @@
+ 
+ md.inversion.iscontrol=1
+ md.inversion.control_parameters=['MaterialsRheologyBbar']
+-md.inversion.min_parameters=10**6*ones((md.mesh.numberofvertices))
+-md.inversion.max_parameters=2.*10**9*ones((md.mesh.numberofvertices))
++md.inversion.min_parameters=1e6*np.ones((md.mesh.numberofvertices))
++md.inversion.max_parameters=2e9*np.ones((md.mesh.numberofvertices))
+ md.inversion.nsteps=2
+ md.inversion.cost_functions=[101]
+-md.inversion.cost_functions_coefficients=ones((md.mesh.numberofvertices))
+-md.inversion.gradient_scaling=10**7*ones((md.inversion.nsteps))
+-md.inversion.maxiter_per_step=2.*ones((md.inversion.nsteps))
+-md.inversion.step_threshold=0.3*ones((md.inversion.nsteps))
++md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
++md.inversion.gradient_scaling=1e7*np.ones((md.inversion.nsteps))
++md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
++md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
+ md.inversion.vx_obs=md.initialization.vx
+ md.inversion.vy_obs=md.initialization.vy
+ 
+@@ -41,12 +41,10 @@
+ 
+ field_names     =['Gradient','Misfits','MaterialsRheologyBbar','Pressure','Vel','Vx','Vy']
+ field_tolerances=[4.6e-08,1e-08,2e-09,1e-08,2e-09,5e-09,2e-09]
+-field_values=[\
+-	md.results.StressbalanceSolution.Gradient1,\
+-	md.results.StressbalanceSolution.J,\
+-	md.results.StressbalanceSolution.MaterialsRheologyBbar,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy
+-]
++field_values=[md.results.StressbalanceSolution.Gradient1,
++							md.results.StressbalanceSolution.J,
++							md.results.StressbalanceSolution.MaterialsRheologyBbar,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy]
+Index: ../trunk-jpl/test/NightlyRun/test807.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test807.py	(revision 21411)
+@@ -36,7 +36,7 @@
+ 
+ md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
+ md.calving.meltingrate=10000*np.ones((md.mesh.numberofvertices))
+-md.levelset.spclevelset=np.float('NaN')*np.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test332.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test332.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test332.py	(revision 21411)
+@@ -28,7 +28,7 @@
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=8000.0
+ md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+ pos=np.nonzero(md.mesh.y==0.)[0]
+ md.hydrology.spcsediment_head[pos]=0.0
+ md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test1107.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1107.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1107.py	(revision 21411)
+@@ -33,9 +33,9 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#We need one grd on dirichlet: the 4 corners are set to zero
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ 	#Create MPCs to have periodic boundary conditions
+ #	posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase))
+Index: ../trunk-jpl/test/NightlyRun/test3300.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test3300.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test3300.py	(revision 21411)
+@@ -27,13 +27,13 @@
+ md.hydrology.sedimentlimit=400.0
+ md.hydrology.sediment_thickness=20.0
+ md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+ md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
+ md.hydrology.sediment_transmitivity=1.5e-4*np.ones((md.mesh.numberofvertices))
+ 
+ md.initialization.epl_head=np.zeros((md.mesh.numberofvertices))
+ md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices))
+-md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcepl_head=np.nan*np.ones((md.mesh.numberofvertices))
+ md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices))
+ 
+ md.hydrology.epl_conductivity=1.5e-2
+Index: ../trunk-jpl/test/NightlyRun/test217.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test217.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test217.py	(revision 21411)
+@@ -1,5 +1,4 @@
+ #Test Name: SquareShelfConstrained
+-
+ from model import *
+ from socket import gethostname
+ import numpy as np
+@@ -22,7 +21,7 @@
+ # from 0 m/yr at the grounding line.
+ 
+ # tighten
+-md.stressbalance.restol=10**-4
++md.stressbalance.restol=1e-4
+ 
+ # needed later
+ ymin=min(md.mesh.y)
+@@ -33,39 +32,39 @@
+ di=md.materials.rho_ice/md.materials.rho_water
+ 
+ h=1000.
+-md.geometry.thickness=h*ones((md.mesh.numberofvertices))
++md.geometry.thickness=h*np.ones((md.mesh.numberofvertices))
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+ # Initial velocity and pressure
+-md.initialization.vx=zeros((md.mesh.numberofvertices))
+-md.initialization.vy=zeros((md.mesh.numberofvertices))
+-md.initialization.vz=zeros((md.mesh.numberofvertices))
+-md.initialization.pressure=zeros((md.mesh.numberofvertices))
++md.initialization.vx=np.zeros((md.mesh.numberofvertices))
++md.initialization.vy=np.zeros((md.mesh.numberofvertices))
++md.initialization.vz=np.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices))
+ 
+ # Materials
+-md.initialization.temperature=(273.-20.)*ones((md.mesh.numberofvertices))
++md.initialization.temperature=(273.-20.)*np.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*ones((md.mesh.numberofelements))
++md.materials.rheology_n=3.*np.ones((md.mesh.numberofelements))
+ 
+ # Boundary conditions:
+-md.stressbalance.spcvx=float(nan)*ones((md.mesh.numberofvertices))
+-md.stressbalance.spcvy=float(nan)*ones((md.mesh.numberofvertices))
+-md.stressbalance.spcvz=float(nan)*ones((md.mesh.numberofvertices))
++md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ # constrain flanks to 0 normal velocity
+-pos=np.nonzero(np.logical_or.reduce(md.mesh.x==xmin,md.mesh.x==xmax))
++pos=np.where(np.logical_or(md.mesh.x==xmin,md.mesh.x==xmax))
+ md.stressbalance.spcvx[pos]=0
+-md.stressbalance.spcvz[pos]=float(nan)
++md.stressbalance.spcvz[pos]=np.nan
+ 
+ # constrain grounding line to 0 velocity
+-pos=np.nonzero(md.mesh.y==ymin)
++pos=np.where(md.mesh.y==ymin)
+ md.stressbalance.spcvx[pos]=0
+ md.stressbalance.spcvy[pos]=0
+ 
+ # icefront
+-nodeonicefront=zeros(md.mesh.numberofvertices)
+-pos=np.nonzero(md.mesh.y==ymax)
++nodeonicefront=np.zeros(md.mesh.numberofvertices)
++pos=np.where(md.mesh.y==ymax)
+ nodeonicefront[pos]=1
+ md.mask.ice_levelset=-1+nodeonicefront
+ 
+@@ -78,6 +77,4 @@
+ # Fields and tolerances to track changes
+ field_names     =['Vy']
+ field_tolerances=[1e-13]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vy,\
+-	]
++field_values=[md.results.StressbalanceSolution.Vy]
+Index: ../trunk-jpl/test/NightlyRun/test333.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test333.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test333.py	(revision 21411)
+@@ -27,7 +27,7 @@
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=800.0
+ md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
+ md.basalforcings.floatingice_melting_rate = 0.0*np.ones((md.mesh.numberofvertices))
+@@ -35,7 +35,7 @@
+ 
+ md.initialization.epl_head=np.zeros((md.mesh.numberofvertices))
+ md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices))
+-md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcepl_head=np.nan*np.ones((md.mesh.numberofvertices))
+ md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices))
+ md.hydrology.epl_conductivity=30
+ md.hydrology.epl_initial_thickness=1
+Index: ../trunk-jpl/test/NightlyRun/test1108.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1108.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1108.py	(revision 21411)
+@@ -30,9 +30,9 @@
+ 	md=setflowequation(md,'HO','all')
+ 
+ 	#We need one grd on dirichlet: the 4 corners are set to zero
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 	
+ 	pos=np.nonzero(logical_and.reduce_n(md.mesh.vertexonbase,np.logical_or.reduce(md.mesh.x==0.,md.mesh.x==np.max(md.mesh.x)),np.logical_or.reduce(md.mesh.y==0.,md.mesh.y==np.max(md.mesh.y))))
+ 	md.stressbalance.spcvx[pos]=0.
+@@ -52,13 +52,13 @@
+ 	md.cluster=generic('name',gethostname(),'np',8)
+ 	md.verbose=verbose('convergence',True)
+ 	md=solve(md,'Stressbalance')
+-	md.stressbalance.reltol=float('NaN')
+-	md.stressbalance.abstol=float('NaN')
++	md.stressbalance.reltol=np.nan
++	md.stressbalance.abstol=np.nan
+ 	md.stressbalance.vertex_pairing=np.empty((0,2))
+ 	#We need one grid on dirichlet: the 4 corners are set to zero
+-	md.stressbalance.spcvx=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvy=float('NaN')*np.ones((md.mesh.numberofvertices))
+-	md.stressbalance.spcvz=float('NaN')*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvx=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvy=np.nan*np.ones((md.mesh.numberofvertices))
++	md.stressbalance.spcvz=np.nan*np.ones((md.mesh.numberofvertices))
+ 	pos=np.nonzero(logical_or.reduce_n(md.mesh.y==0.,md.mesh.x==0.,md.mesh.x==np.max(md.mesh.x),md.mesh.y==np.max(md.mesh.y)))    #Don't take the same nodes two times
+ 	md.stressbalance.spcvx[pos]=md.results.StressbalanceSolution.Vx[pos]
+ 	md.stressbalance.spcvy[pos]=md.results.StressbalanceSolution.Vy[pos]
+Index: ../trunk-jpl/test/NightlyRun/test270.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test270.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test270.py	(revision 21411)
+@@ -1,7 +1,7 @@
+ #Test Name: SquareShelfStressSSA2dDamage
+ import numpy as np
+ from model import *
+- from socket import gethostnamemodel
++from socket import gethostname
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+@@ -25,9 +25,7 @@
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vel','Pressure']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure]
+Index: ../trunk-jpl/test/NightlyRun/test334.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test334.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test334.py	(revision 21411)
+@@ -26,7 +26,7 @@
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=8000.0
+ md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+ md.hydrology.spcsediment_head[np.where(md.mesh.y==0)]=0.0
+ 
+ md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test1601.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21411)
+@@ -14,7 +14,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=float('NaN')
++md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=np.nan
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+ md.initialization.vel=np.zeros_like(md.initialization.vx)
+@@ -39,7 +39,7 @@
+ 
+ #Now, put CS back to normal except on the side where the spc are applied
+ pos=np.nonzero(np.logical_or.reduce(x==0.,x==1000000.))[0]
+-md.stressbalance.referential[:]=float('NaN')
++md.stressbalance.referential[:]=np.nan
+ md.stressbalance.referential[pos,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(len(pos)))
+ md.stressbalance.referential[pos,3: ]=np.tile([0,0,1],(len(pos)))
+ md=solve(md,'Stressbalance')
+Index: ../trunk-jpl/test/NightlyRun/test514.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test514.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test514.py	(revision 21411)
+@@ -38,7 +38,7 @@
+ y4=md2.mesh.y
+ 
+ #refine existing mesh 3
+-hVertices=float('nan')*np.ones((md.mesh.numberofvertices))
++hVertices=np.nan*np.ones((md.mesh.numberofvertices))
+ hVertices[np.nonzero(md.mesh.vertexonboundary)]=500.
+ md2=bamg(copy.deepcopy(md),'metric',md.miscellaneous.dummy,'hmin',1000.,'hmax',20000.,'gradation',3.,'geometricalmetric',1,'anisomax',1.,'hVertices',hVertices)
+ x5=md2.mesh.x
+@@ -57,12 +57,4 @@
+ #Fields and tolerances to track changes
+ field_names     =['x1','y1','x2','y2','x3','y3','x4','y4','x5','y5','x6','y6','x7','y7']
+ field_tolerances = [2e-10,7e-10,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	x1, y1,\
+-	y2, y2,\
+-	y3, y3,\
+-	y4, y4,\
+-	y5, y5,\
+-	y6, y6,\
+-	y7, y7,\
+-	]
++field_values=[x1, y1,	y2, y2,	y3, y3,	y4, y4,	y5, y5,	y6, y6,	y7, y7]
+Index: ../trunk-jpl/test/NightlyRun/test335.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test335.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test335.py	(revision 21411)
+@@ -27,14 +27,14 @@
+ md.hydrology.sedimentlimit_flag=1
+ md.hydrology.sedimentlimit=800.0
+ md.initialization.sediment_head=np.zeros((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+ md.basalforcings.groundedice_melting_rate = 2.0*np.ones((md.mesh.numberofvertices))
+ md.basalforcings.floatingice_melting_rate = np.zeros((md.mesh.numberofvertices))
+ md.hydrology.sediment_transmitivity=3*np.ones((md.mesh.numberofvertices))
+ 
+ md.initialization.epl_head=np.zeros((md.mesh.numberofvertices))
+ md.initialization.epl_thickness=np.ones((md.mesh.numberofvertices))
+-md.hydrology.spcepl_head=float('NaN')*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcepl_head=np.nan*np.ones((md.mesh.numberofvertices))
+ md.hydrology.mask_eplactive_node=np.zeros((md.mesh.numberofvertices))
+ md.hydrology.epl_conductivity=30
+ md.hydrology.epl_initial_thickness=1
+Index: ../trunk-jpl/test/NightlyRun/test1602.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1602.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test1602.py	(revision 21411)
+@@ -15,7 +15,7 @@
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.extrude(5,1.)
+ md=setflowequation(md,'HO','all')
+-md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=float('NaN')
++md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=np.nan
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+ md.initialization.vel=np.zeros_like(md.initialization.vx)
+Index: ../trunk-jpl/test/NightlyRun/test272.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test272.py	(revision 21410)
++++ ../trunk-jpl/test/NightlyRun/test272.py	(revision 21411)
+@@ -1,7 +1,7 @@
+ #Test Name: SquareShelfCMDSSA2dDamage
+ import numpy as np
+ from model import *
+- from socket import gethostnamemodel
++from socket import gethostname
+ from triangle import triangle
+ from setmask import setmask
+ from parameterize import parameterize
+@@ -40,12 +40,10 @@
+ #Fields and tolerances to track changes
+ field_names     =['Gradient','Misfits','DamageDbar','Pressure','Vel','Vx','Vy']
+ field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12]
+-field_values=[\
+-   md.results.StressbalanceSolution.Gradient1,\
+-   md.results.StressbalanceSolution.J,\
+-   md.results.StressbalanceSolution.DamageDbar,\
+-   md.results.StressbalanceSolution.Pressure,\
+-   md.results.StressbalanceSolution.Vel,\
+-   md.results.StressbalanceSolution.Vx,\
+-   md.results.StressbalanceSolution.Vy,\
+-]
++field_values=[md.results.StressbalanceSolution.Gradient1,
++							md.results.StressbalanceSolution.J,
++							md.results.StressbalanceSolution.DamageDbar,
++							md.results.StressbalanceSolution.Pressure,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy]
Index: /issm/oecreview/Archive/21337-21723/ISSM-21411-21412.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21411-21412.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21411-21412.diff	(revision 21726)
@@ -0,0 +1,128 @@
+Index: ../trunk-jpl/test/NightlyRun/test807.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.py	(revision 21411)
++++ ../trunk-jpl/test/NightlyRun/test807.py	(revision 21412)
+@@ -36,7 +36,7 @@
+ 
+ md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
+ md.calving.meltingrate=10000*np.ones((md.mesh.numberofvertices))
+-md.levelset.spclevelset=np.np.nan*np.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/runme.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/runme.py	(revision 21411)
++++ ../trunk-jpl/test/NightlyRun/runme.py	(revision 21412)
+@@ -53,17 +53,17 @@
+ 	#Process options
+ 	#GET benchmark {{{
+ 	if not benchmark in ['all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing','adolc','slr']:
+-		print "runme warning: benchmark '%s' not supported, defaulting to test 'nightly'." % benchmark
++		print("runme warning: benchmark '{}' not supported, defaulting to test 'nightly'.".format(benchmark))
+ 		benchmark='nightly'
+ 	# }}}
+ 	#GET procedure {{{
+ 	if not procedure in ['check','update']:
+-		print "runme warning: procedure '%s' not supported, defaulting to test 'check'." % procedure
++		print("runme warning: procedure '{}' not supported, defaulting to test 'check'.".format(procedure))
+ 		procedure='check'
+ 	# }}}
+ 	#GET output {{{
+ 	if not output in ['nightly','none']:
+-		print "runme warning: output '%s' not supported, defaulting to test 'none'." % output
++		print("runme warning: output '{}' not supported, defaulting to test 'none'.".format(output))
+ 		output='none'
+ 	# }}}
+ 	#GET RANK and NUMPROCS for multithreaded runs {{{
+@@ -166,8 +166,9 @@
+ 					raise IOError("Archive file '"+os.path.join('..','Archives',archive_name+'.arch')+"' does not exist.")
+ 
+ 				for k,fieldname in enumerate(field_names):
+-
++					print fieldname
+ 					try:
++						print('getting {}'.format(fieldname))
+ 						#Get field and tolerance
+ 						field=np.array(field_values[k])
+ 						if len(field.shape) == 1:
+@@ -182,16 +183,13 @@
+ 						archive=np.array(archread(archive_file,archive_name+'_field'+str(k+1)))
+ 						if archive == None:
+ 							raise NameError("Field name '"+archive_name+'_field'+str(k+1)+"' does not exist in archive file.")
+-						error_diff=np.amax(np.abs(archive-field),axis=0)/ \
+-								   (np.amax(np.abs(archive),axis=0)+float_info.epsilon)
++						error_diff=np.amax(np.abs(archive-field),axis=0)/(np.amax(np.abs(archive),axis=0)+float_info.epsilon)
+ 
+ 						#disp test result
+ 						if (np.any(error_diff>tolerance) or np.isnan(error_diff)):
+-							print 'ERROR   difference: %-7.2g > %7.2g test id: %i test name: %s field: %s' % \
+-								(error_diff,tolerance,id,id_string,fieldname)
++							print('ERROR   difference: {} > {} test id: {} test name: {} field: {}'.format(error_diff,tolerance,id,id_string,fieldname))
+ 						else:
+-							print 'SUCCESS difference: %-7.2g < %7.2g test id: %i test name: %s field: %s' % \
+-								(error_diff,tolerance,id,id_string,fieldname)
++							print('SUCCESS difference: {} < {} test id: {} test name: {} field: {}'.format(error_diff,tolerance,id,id_string,fieldname))
+ 
+ 					except Exception as message:
+ 
+@@ -203,9 +201,9 @@
+ 							fid.write('%s' % message)
+ 							fid.write('\n------------------------------------------------------------------\n')
+ 							fid.close()
+-							print 'FAILURE difference: N/A test id: %i test name: %s field: %s' % (id,id_string,fieldname)
++							print('FAILURE difference: N/A test id: {} test name: {} field: {}'.format(id,id_string,fieldname))
+ 						else:
+-							print 'FAILURE difference: N/A test id: %i test name: %s field: %s' % (id,id_string,fieldname)
++							print('FAILURE difference: N/A test id: {} test name: {} field: {}'.format(id,id_string,fieldname))
+ 							raise RuntimeError(message)
+ 
+ 
+@@ -219,9 +217,9 @@
+ 				fid.write('%s' % message)
+ 				fid.write('\n------------------------------------------------------------------\n')
+ 				fid.close()
+-				print 'FAILURE difference: N/A test id: %i test name: %s field: %s' % (id,id_string,'N/A')
++				print('FAILURE difference: N/A test id: {} test name: {} field: {}'.format(id,id_string,'N/A'))
+ 			else:
+-				print 'FAILURE difference: N/A test id: %i test name: %s field: %s' % (id,id_string,'N/A')
++				print('FAILURE difference: N/A test id: {} test name: {} field: {}'.format(id,id_string,'N/A'))
+ 				raise RuntimeError(message)
+ 
+ 		print "----------------finished:%i-----------------------" % id
+@@ -238,7 +236,7 @@
+ 			except Exception as e:
+ 				print "PYTHONSTARTUP error: ",e
+ 		else:
+-			print "PYTHONSTARTUP file '%s' does not exist." % PYTHONSTARTUP
++			print("PYTHONSTARTUP file '{}' does not exist.".format(PYTHONSTARTUP))
+ 
+ 	parser = argparse.ArgumentParser(description='RUNME - test deck for ISSM nightly runs')
+ 	parser.add_argument('-i','--id', nargs='*', type=int, help='followed by the list of ids requested', default=[])
+Index: ../trunk-jpl/test/NightlyRun/test803.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test803.py	(revision 21411)
++++ ../trunk-jpl/test/NightlyRun/test803.py	(revision 21412)
+@@ -16,7 +16,7 @@
+ md.cluster=generic('name',gethostname(),'np',3)
+ 
+ #Thermal model
+-pos_surf=np.nonzero(md.mesh.vertexonsurface)[0]
++pos_surf=np.where(md.mesh.vertexonsurface)[0]
+ md.thermal.spctemperature[pos_surf]=md.initialization.temperature[pos_surf]
+ md.thermal.isenthalpy=True
+ md.thermal.isdynamicbasalspc=True
+Index: ../trunk-jpl/test/NightlyRun/test806.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.py	(revision 21411)
++++ ../trunk-jpl/test/NightlyRun/test806.py	(revision 21412)
+@@ -37,7 +37,7 @@
+ md.calving=calvinglevermann()
+ md.calving.coeff=4.89e13*np.ones((md.mesh.numberofvertices))
+ md.calving.meltingrate=np.zeros((md.mesh.numberofvertices))
+-md.levelset.spclevelset=np.np.nan*np.ones((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ md.transient.requested_outputs=['default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate']
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21412-21413.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21412-21413.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21412-21413.diff	(revision 21726)
@@ -0,0 +1,8 @@
+Index: ../trunk-jpl/test/Archives/Archive803.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive805.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21413-21414.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21413-21414.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21413-21414.diff	(revision 21726)
@@ -0,0 +1,8 @@
+Index: ../trunk-jpl/test/Archives/Archive803.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive805.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21414-21415.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21414-21415.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21414-21415.diff	(revision 21726)
@@ -0,0 +1,43 @@
+Index: ../trunk-jpl/src/m/classes/clusters/vilje.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21414)
++++ ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21415)
+@@ -40,12 +40,10 @@
+ 
+ 		#initialize cluster using user settings if provided
+ 		self=vilje_settings(self)
+-		self.np=self.numnodes*self.procspernodes
+ 		#OK get other fields
+ 		self=options.AssignObjectFields(self)
+-		
++		self.np=self.numnodes*self.procspernodes		
+ 		# }}}
+-
+ 	def __repr__(self):
+ 		# {{{
+ 		#  display the object
+@@ -64,7 +62,6 @@
+ 		s = "%s\n%s"%(s,fielddisplay(self,'accountname','your cluster account'))
+ 		return s
+                 # }}}
+-
+ 	def checkconsistency(self,md,solution,analyses):
+ 		# {{{
+                 #Queue dictionarry  gives queu name as key and max walltime and cpus as var
+Index: ../trunk-jpl/src/m/classes/clusters/hexagon.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/hexagon.py	(revision 21414)
++++ ../trunk-jpl/src/m/classes/clusters/hexagon.py	(revision 21415)
+@@ -40,10 +40,10 @@
+ 
+ 		#initialize cluster using user settings if provided
+ 		self=hexagon_settings(self)
+-		self.np=self.numnodes*self.procspernodes
++
+ 		#OK get other fields
+ 		self=options.AssignObjectFields(self)
+-		
++		self.np=self.numnodes*self.procspernodes
+ 		# }}}
+ 	def __repr__(self):
+ 		# {{{
Index: /issm/oecreview/Archive/21337-21723/ISSM-21415-21416.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21415-21416.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21415-21416.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 21415)
++++ ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 21416)
+@@ -80,7 +80,7 @@
+ 	_printf_("---savedvalues: \n");if (savedvalues) savedvalues->Echo();
+ 	_printf_("---minvalues: \n");  if (minvalues)   minvalues->Echo();
+ 	_printf_("---maxvalues: \n");  if (maxvalues)   maxvalues->Echo();
+-	_printf_("---gradient: \n");   if (gradient)    gradient->Echo();
++	_printf_("---gradient: \n");   if (gradient){    gradient->Echo();} else{_printf_("     Not set yet\n");}
+ }
+ /*}}}*/
+ void ControlInput::Echo(void){/*{{{*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21416-21417.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21416-21417.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21416-21417.diff	(revision 21726)
@@ -0,0 +1,67 @@
+Index: ../trunk-jpl/src/m/classes/mesh3dprisms.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 21416)
++++ ../trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 21417)
+@@ -103,9 +103,20 @@
+ 			md = checkfield(md,'fieldname','mesh.numberofvertices','>',0);
+ 			md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices 1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
++			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
++
++			%Check that mesh follows the geometry
+ 			md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock');
+ 			md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation');
+-			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
++			if any(max(abs(project2d(md,md.mesh.z,1)-project2d(md,md.geometry.base,1)))>1e-11),
++				md = checkmessage(md,'md.mesh.z is not consistent with md.geometry.base, you changed the geometry after extrusion');
++			end
++			if any(max(abs(project2d(md,md.mesh.z,md.mesh.numberoflayers)-project2d(md,md.geometry.surface,1)))>1e-11),
++				md = checkmessage(md,'md.mesh.z is not consistent with md.geometry.surface, you changed the geometry after extrusion !!');
++			end
++			if any(max(abs(project2d(md,md.mesh.z,md.mesh.numberoflayers)-project2d(md,md.mesh.z,1) - project2d(md,md.geometry.thickness,1)))>1e-11),
++				md = checkmessage(md,'md.mesh.z is not consistent with md.geometry.thickness, you changed the geometry after extrusion !!');
++			end
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   3D prism Mesh:')); 
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21416)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21417)
+@@ -222,6 +222,8 @@
+ 			if ~isnan(md.initialization.sediment_head),md.initialization.sediment_head=project2d(md,md.initialization.sediment_head,1);end;
+ 			if ~isnan(md.initialization.epl_head),md.initialization.epl_head=project2d(md,md.initialization.epl_head,1);end;
+ 			if ~isnan(md.initialization.epl_thickness),md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1);end;
++			if ~isnan(md.initialization.waterfraction),md.initialization.waterfraction=project2d(md,md.initialization.waterfraction,1);end;
++			if ~isnan(md.initialization.watercolumn),md.initialization.watercolumn=project2d(md,md.initialization.watercolumn,1);end;
+ 			%gia
+ 			if ~isnan(md.gia.mantle_viscosity), md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1); end
+ 			if ~isnan(md.gia.lithosphere_thickness), md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1); end
+@@ -243,6 +245,7 @@
+ 			md.stressbalance.loadingforce=project2d(md,md.stressbalance.loadingforce,md.mesh.numberoflayers);
+ 			md.masstransport.spcthickness=project2d(md,md.masstransport.spcthickness,md.mesh.numberoflayers);
+ 			if ~isnan(md.damage.spcdamage), md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers); end
++			if numel(md.levelset.spclevelset)>1, md.levelset.spclevelset=project2d(md,md.levelset.spclevelset,md.mesh.numberoflayers); end
+ 			md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers);
+ 
+ 			% Hydrologydc variables
+@@ -269,11 +272,18 @@
+ 			if ~isnan(md.basalforcings.groundedice_melting_rate),
+ 				md.basalforcings.groundedice_melting_rate=project2d(md,md.basalforcings.groundedice_melting_rate,1); 
+ 			end
+-			if ~isnan(md.basalforcings.floatingice_melting_rate),
++			if isprop(md.basalforcings,'floatingice_melting_rate') & ~isnan(md.basalforcings.floatingice_melting_rate),
+ 				md.basalforcings.floatingice_melting_rate=project2d(md,md.basalforcings.floatingice_melting_rate,1); 
+ 			end
+ 			md.basalforcings.geothermalflux=project2d(md,md.basalforcings.geothermalflux,1); %bedrock only gets geothermal flux
+ 
++			if isprop(md.calving,'coeff') & ~isnan(md.calving.coeff),
++				md.calving.coeff=project2d(md,md.calving.coeff,1); 
++			end
++			if isprop(md.calving,'meltingrate') & ~isnan(md.calving.meltingrate),
++				md.calving.meltingrate=project2d(md,md.calving.meltingrate,1); 
++			end
++
+ 			%update of connectivity matrix
+ 			md.mesh.average_vertex_connectivity=25;
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21417-21418.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21417-21418.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21417-21418.diff	(revision 21726)
@@ -0,0 +1,40 @@
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21417)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21418)
+@@ -247,6 +247,7 @@
+ 			if ~isnan(md.damage.spcdamage), md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers); end
+ 			if numel(md.levelset.spclevelset)>1, md.levelset.spclevelset=project2d(md,md.levelset.spclevelset,md.mesh.numberoflayers); end
+ 			md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers);
++			md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers);
+ 
+ 			% Hydrologydc variables
+ 			if isa(md.hydrology,'hydrologydc');
+Index: ../trunk-jpl/src/m/classes/linearbasalforcings.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 21417)
++++ ../trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 21418)
+@@ -6,9 +6,9 @@
+ classdef linearbasalforcings
+ 	properties (SetAccess=public) 
+ 		groundedice_melting_rate  = NaN;
+-		deepwater_melting_rate    = NaN;
+-		deepwater_elevation       = NaN;
+-		upperwater_elevation      = NaN;
++		deepwater_melting_rate    = 0.;
++		deepwater_elevation       = 0.;
++		upperwater_elevation      = 0.;
+ 		geothermalflux            = NaN;
+ 	end
+ 	methods
+@@ -22,6 +22,10 @@
+ 					error('constructor not supported');
+ 			end
+ 		end % }}}
++		function self = extrude(self,md) % {{{
++			self.groundedice_melting_rate=project3d(md,'vector',self.groundedice_melting_rate,'type','node','layer',1); 
++			self.geothermalflux=project3d(md,'vector',self.geothermalflux,'type','node','layer',1); %bedrock only gets geothermal flux
++		end % }}}
+ 		function self = initialize(self,md) % {{{
+ 
+ 			if isnan(self.groundedice_melting_rate),
Index: /issm/oecreview/Archive/21337-21723/ISSM-21418-21419.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21418-21419.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21418-21419.diff	(revision 21726)
@@ -0,0 +1,69 @@
+Index: ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp	(revision 21418)
++++ ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp	(revision 21419)
+@@ -83,9 +83,9 @@
+ ElementMatrix* ExtrapolationAnalysis::CreateKMatrix(Element* element){/*{{{*/
+ 
+ 	/*Intermediaries */
++	bool	      extrapolatebydiffusion = true;
+ 	int	      dim, domaintype, extrapolationcase;
+ 	int	      i,row,col,stabilization;
+-	bool	      extrapolatebydiffusion;
+ 	IssmDouble  Jdet,D_scalar,h;
+ 	IssmDouble  norm_dlsf;
+ 	IssmDouble  hx,hy,hz,kappa;
+@@ -127,6 +127,11 @@
+ 	Input* lsf_slopey_input=workelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
+ 	workelement->GetVerticesCoordinates(&xyz_list);
+ 
++	if(element->ObjectEnum()==PentaEnum){
++		for(i=0;i<3;i++) xyz_list[3*i+2] = 0.;
++		for(i=3;i<6;i++) xyz_list[3*i+2] = 1.;
++	}
++
+ 	/* Start  looping on the number of gaussian points: */
+ 	Gauss* gauss=workelement->NewGauss(2);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+@@ -138,7 +143,6 @@
+ 		
+ 		D_scalar=gauss->weight*Jdet;
+ 
+-		extrapolatebydiffusion=true;
+ 		if(extrapolatebydiffusion){
+ 
+ 			/* diffuse values outward only along the xy-plane*/
+@@ -213,32 +217,8 @@
+ 
+ }/*}}}*/
+ ElementVector* ExtrapolationAnalysis::CreatePVector(Element* element){/*{{{*/
++	return NULL;
+ 
+-	/*Intermediaries */
+-	Element* workelement=NULL;
+-
+-	/*Get problem dimension*/
+-	int extrapolationcase=GetExtrapolationCase(element);
+-	switch(extrapolationcase){
+-		case 0: 
+-			if(!element->IsOnBase()) return NULL; 
+-			workelement = element->SpawnBasalElement(); 
+-			break;
+-		case 1: case 2: case 3: workelement=element; break;
+-	}
+-
+-	/*Fetch number of nodes */
+-	int numnodes = workelement->GetNumberOfNodes();
+-
+-	/*Initialize Element vector*/
+-	ElementVector* pe = workelement->NewElementVector();
+-
+-	if(extrapolationcase==0){
+-      workelement->DeleteMaterials();
+-      delete workelement;
+-   }
+-
+-	return pe;
+ }/*}}}*/
+ void           ExtrapolationAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss, int dim){/*{{{*/
+ 	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21419-21420.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21419-21420.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21419-21420.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp	(revision 21419)
++++ ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp	(revision 21420)
+@@ -127,6 +127,10 @@
+ 	Input* lsf_slopey_input=workelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
+ 	workelement->GetVerticesCoordinates(&xyz_list);
+ 
++	/* In 3d we are going to extrude using horizontal diffusion. Since the layers are 3d,
++	 * we change the geometry of the element to make it flat. That way, the diffusion is
++	 * handled along the layers
++	 */
+ 	if(element->ObjectEnum()==PentaEnum){
+ 		for(i=0;i<3;i++) xyz_list[3*i+2] = 0.;
+ 		for(i=3;i<6;i++) xyz_list[3*i+2] = 1.;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21423-21424.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21423-21424.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21423-21424.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/test/Archives/Archive803.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive805.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/Archives/Archive802.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21424-21425.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21424-21425.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21424-21425.diff	(revision 21726)
@@ -0,0 +1,32 @@
+Index: ../trunk-jpl/src/m/classes/clusters/vilje.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21424)
++++ ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21425)
+@@ -97,7 +97,10 @@
+ 		fid.write('#PBS -N %s \n' % shortname)
+ 		fid.write('#PBS -q %s \n' % self.queue)
+ 		fid.write('#PBS -l select=%i:ncpus=%i:mpiprocs=%s\n' % (self.numnodes,self.cpuspernode,self.procspernodes))
+-                timestring= str(datetime.timedelta(minutes=self.time))
++                timeobj=datetime.timedelta(minutes=self.time)
++                m,s=divmod(timeobj.total_seconds(), 60)
++                h,m=divmod(m, 60)
++                timestring="%02d:%02d:%02d" % (h, m, s)
+ 		fid.write('#PBS -l walltime=%s\n' % timestring) #walltime is hh:mm:ss
+ 		#fid.write('#PBS -l mem=%igb\n' % self.mem)
+ 		fid.write('#PBS -A %s\n' % self.accountname) 
+Index: ../trunk-jpl/src/m/classes/clusters/hexagon.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/hexagon.py	(revision 21424)
++++ ../trunk-jpl/src/m/classes/clusters/hexagon.py	(revision 21425)
+@@ -96,7 +96,10 @@
+ 		fid.write('#!/bin/bash\n')
+ 		fid.write('#PBS -N %s \n' % shortname)
+ 		fid.write('#PBS -l mppwidth=%i,mppnppn=%i\n' % (self.np,self.procspernodes))
+-		timestring= str(datetime.timedelta(minutes=self.time))
++                timeobj=datetime.timedelta(minutes=self.time)
++                m,s=divmod(timeobj.total_seconds(), 60)
++                h,m=divmod(m, 60)
++                timestring="%02d:%02d:%02d" % (h, m, s)
+ 		fid.write('#PBS -l walltime=%s\n' % timestring) #walltime is hh:mm:ss
+ 		fid.write('#PBS -l mppmem=%imb\n' % int(self.mem/self.procspernodes))
+ 		fid.write('#PBS -A %s\n' % self.accountname) 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21425-21426.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21425-21426.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21425-21426.diff	(revision 21726)
@@ -0,0 +1,67 @@
+Index: ../trunk-jpl/src/m/plot/plotmodel.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotmodel.py	(revision 21425)
++++ ../trunk-jpl/src/m/plot/plotmodel.py	(revision 21426)
+@@ -5,7 +5,7 @@
+ try:
+ 	import pylab as p
+ 	import matplotlib.pyplot as plt
+-	from mpl_toolkits.axes_grid1 import ImageGrid, AxesGrid
++        from mpl_toolkits.axes_grid1 import ImageGrid, AxesGrid
+ except ImportError:
+ 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
+ 
+@@ -16,7 +16,7 @@
+ 	'''	at command prompt, type 'plotdoc()' for additional documentation
+ 	'''
+ 
+-	#First process options 
++	#First process options
+ 	options=plotoptions(*args)
+ 
+ 	#get number of subplots
+@@ -35,7 +35,7 @@
+ 	else:
+ 		nrows=np.ceil(numberofplots/subplotwidth)
+ 		nr=False
+-	
++
+ 	if options.list[0].exist('ncols'):
+ 		ncols=options.list[0].getfieldvalue('ncols')
+ 		nc=True
+@@ -44,11 +44,11 @@
+ 		nc=False
+ 	ncols=int(ncols)
+ 	nrows=int(nrows)
+-	
++
+ 	#check that nrows and ncols were given at the same time!
+ 	if not nr==nc:
+ 		raise StandardError('error: nrows and ncols need to be specified together, or not at all')
+-	
++
+ 	#Go through plots
+ 	if numberofplots:
+ 		#if plt.fignum_exists(figurenumber): 
+@@ -81,7 +81,7 @@
+ 		cbar_location=options.list[0].getfieldvalue('colorbarpos','right') # right,top
+ 		cbar_size=options.list[0].getfieldvalue('colorbarsize','5%')
+ 		cbar_pad=options.list[0].getfieldvalue('colorbarpad','2.5%') # None or %
+-		
++
+ 		axgrid=ImageGrid(fig, 111,
+ 				nrows_ncols=(nrows,ncols),
+ 				ngrids=plotnum,
+Index: ../trunk-jpl/src/m/plot/plot_unit.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21425)
++++ ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21426)
+@@ -28,7 +28,7 @@
+ 	# }}}
+ 	# {{{ define wich colormap to use 
+ 	try:
+-		defaultmap=plt.cm.get_cmap('viridis')
++		defaultmap=plt.cm.get_cmap('viridis',colorlevels)
+ 	except AttributeError:
+ 		print("Viridis can't be found (probably too old Matplotlib) reverting to gnuplot colormap")
+ 		defaultmap=truncate_colormap('gnuplot2',0.1,0.9,colorlevels)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21426-21427.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21426-21427.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21426-21427.diff	(revision 21726)
@@ -0,0 +1,378 @@
+Index: ../trunk-jpl/src/m/plot/plot_unit.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21426)
++++ ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21427)
+@@ -41,6 +41,15 @@
+ 		cmap.set_under(under)
+ 	options.addfield('colormap',cmap)
+ 	# }}}	
++	# {{{ if plotting only one of several layers reduce dataset
++	if options.getfieldvalue('layer',0)>=1:
++		plotlayer=options.getfieldvalue('layer',1)
++		if datatype==1:
++			slicesize=np.shape(elements)[0]
++		elif datatype in [2,3]:
++			slicesize=len(x)
++		data=data[(plotlayer-1)*slicesize:plotlayer*slicesize]
++	# }}}
+ 	# {{{ Get the colormap limits
+ 	if options.exist('clim'):
+ 		lims=options.getfieldvalue('clim',[np.amin(data),np.amax(data)])
+@@ -85,14 +94,14 @@
+ 				triangles=mpl.tri.Triangulation(x,y,elements,EltMask)
+ 			else:
+ 				triangles=mpl.tri.Triangulation(x,y,elements)
+-			ax.tricontourf(triangles,data,colorlevels,cmap=cmap,norm=norm,alpha=alpha)
++			tri=ax.tricontourf(triangles,data,colorlevels,cmap=cmap,norm=norm,alpha=alpha)
+ 			if edgecolor != 'None':
+ 				ax.triplot(x,y,elements,color=edgecolor)
+ 		else:
+ 			raise ValueError('plot_unit error: 3D node plot not supported yet')
+ 		return
+ 	# }}}
+-	# {{{ plotting quiver (TODO)
++	# {{{ plotting quiver
+ 	elif datatype==3:
+ 		if is2d:
+ 			Q=plot_quiver(x,y,data,options,ax)
+@@ -102,14 +111,18 @@
+ 	
+ 	# }}}
+ 	# {{{ plotting P1 Patch (TODO)
++
+ 	elif datatype==4:
+ 		print 'plot_unit message: P1 patch plot not implemented yet'
+ 		return
++
+ 	# }}}
+ 	# {{{ plotting P0 Patch (TODO)
++
+ 	elif datatype==5:
+ 		print 'plot_unit message: P0 patch plot not implemented yet'
+ 		return
++
+ 	# }}}
+ 	else:
+ 		raise ValueError('datatype=%d not supported' % datatype)
+Index: ../trunk-jpl/src/m/plot/processmesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/processmesh.py	(revision 21426)
++++ ../trunk-jpl/src/m/plot/processmesh.py	(revision 21427)
+@@ -4,18 +4,18 @@
+ def processmesh(md,data,options):
+ 	"""
+ 	PROCESSMESH - process the mesh for plotting
+-
++	
+ 	Usage:
+-		x,y,z,elements,is2d=processmech(md,data,options)
+-
++	x,y,z,elements,is2d=processmech(md,data,options)
++	
+ 	See also: PLOTMODEL, PROCESSDATA
+ 	"""
+-
++	
+ 	# {{{ check mesh size parameters
+ 	if md.mesh.numberofvertices==0:
+ 		raise ValueError('processmesh error: mesh is empty')
+-	if md.mesh.numberofvertices==md.mesh.numberofelements:
+-		raise ValueError('processmesh error: the number of elements is the same as the number of nodes')
++		if md.mesh.numberofvertices==md.mesh.numberofelements:
++			raise ValueError('processmesh error: the number of elements is the same as the number of nodes')
+ 	# }}}
+ 	# {{{ treating non data plots mesh
+ 	if len(data)==0 or not isinstance(data,dict):
+@@ -25,7 +25,7 @@
+ 			except AttributeError:
+ 				x=md.mesh.x
+ 			try:
+-				y=md.mesh.x2d
++				y=md.mesh.y2d
+ 			except AttributeError:				
+ 				y=md.mesh.y
+ 		else:
+@@ -52,11 +52,8 @@
+ 			 if 'latlon' in options.getfieldvalue('coord','xy').lower():
+ 				 raise ValueError('processmesh error: cannot work with 3D mesh in lat-lon coords')
+ 			 #we modify the mesh temporarily to a 2D mesh from which the 3D mesh was extruded
+-		   #Basile: does not seem necessary as we already picked x as x2d
+-		   # x=x2d
+-			 # y=y2d
+-			 # z=zeros(size(x2d))
+-			 # elements=elements2d
++			 z=np.zeros(np.size(x))
++			 elements=elements
+ 	else:
+ 		#Process mesh for plotting 
+ 		if md.mesh.dimension()==2:
+@@ -64,7 +61,6 @@
+ 		else:
+ 			# process polycollection here for 3D plot
+ 			is2d=0
+-	
+ 	#units
+ 	if options.exist('unit'):
+ 		unit=options.getfieldvalue('unit')
+Index: ../trunk-jpl/src/m/plot/plotdoc.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21426)
++++ ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21427)
+@@ -9,42 +9,42 @@
+ 					'BC':' this will draw all the boundary conditions (Dirichlet and Neumann).',
+ 					'elementnumbering':' numbering of elements (matlab indices)'}
+ 	TODOdata={'basal_drag':' plot the basal drag on the bed (in kPa) based on the velocity in md.initialization',
+-				'basal_dragx or basal_dragy' :' plot a component of the basal drag on the bed (in kPa)',
+-				'boundaries':' this will draw all the segment boundaries to the model, including rifts.',
+-				'icefront':' this will show segments that are used to define the icefront of the model (Neumann boundary conditions).',
+-				'deviatoricstress_tensor':' plot the components of the deviatoric stress tensor (tauxx,tauyy,tauzz,tauxy,tauxz,tauyz, if computed',
+-				'deviatoricstress_principal':' plot the deviatoricstress tensor principal axis and principal values',
+-				'deviatoricstress_principalaxis1':' arrow plot the first principal axis of the deviatoricstress tensor(replace 1 by 2 or 3 if needed)',
+-				'driving_stress':' plot the driving stress (in kPa)',
+-				'elements_type':' model used for each element',
+-				'vertexnumbering':' numbering of vertices',
+-				'highlightelements':' to highlight elements to highlight the element list',
+-				'highlightvertices':' to highlight vertices (use highlight option to enter the vertex list',
+-				'referential':' stressbalance referential',
+-				'riftvel':' velocities along rifts',
+-				'riftrelvel':' relative velocities along rifts',
+-				'riftpenetration':' penetration levels for a fault',
+-				'riftfraction':' fill fractions for every node of the rifts',
+-				'rifts':' plot mesh with an offset so that rifts are visible',
+-				'strainrate_tensor':' plot the components of the strainrate tensor (exx,eyy,ezz,exy,exz,eyz) if computed',
+-				'strainrate_principal':' plot the strainrate tensor principal axis and principal values)',
+-				'strainrate_principalaxis1':' arrow plot the first principal axis of the strainrate tensor(replace 1 by 2 or 3 if needed)',
+-				'stress_tensor':' plot the components of stress tensor (sxx,syy,szz,sxy,sxz,syz) if computed',
+-				'stress_principal':' plot the stress tensor principal axis and principal values',
+-				'stress_principalaxis1':' arrow plot the first principal axis of the stress tensor(replace 1 by 2 or 3 if needed)',
+-				'transient_results':' this will printlay all the time steps of a transient run (use steps to specify the steps requested)',
+-				'transient_vel':' this will printlay the velocity for the time steps requested in ''steps'' of a transient run',
+-				'transient_vel':' vel can be by any field of the transient results (vx, vy, vz, vel, temperature, melting, pressure, bed, thickness, surface)',
+-				'transient_field':' dynamic plot of results. specify ''steps'' option, as fell as ''field'' (defaults are all steps, for ''Vel'' field)',
+-				'transient_movie':' this will printlay the time steps of a given field of a transient run',
+-				'transient_movie_field':' field to be printlayed when doing  transient_movie data printlay',
+-				'transient_movie_output':' filename if output is desired for movie',
+-				'transient_movie_time':' time for each image (default 2 seconds)',
+-				'thermaltransient_results':' this will printlay all the time steps of a thermal transient run',
+-				'qmuhistnorm':' histogram normal distribution. needs option qmudata',
+-				'qmumean':' plot of mean distribution in sampling analysis with scaled response. needs option qmudata for descriptor',
+-				'qmustddev':' plot of stddev distribution in sampling analysis with scaled response. needs option qmudata for descriptor',
+-				'part_hist':' partitioning node and area histogram'}
++						'basal_dragx or basal_dragy' :' plot a component of the basal drag on the bed (in kPa)',
++						'boundaries':' this will draw all the segment boundaries to the model, including rifts.',
++						'icefront':' this will show segments that are used to define the icefront of the model (Neumann boundary conditions).',
++						'deviatoricstress_tensor':' plot the components of the deviatoric stress tensor (tauxx,tauyy,tauzz,tauxy,tauxz,tauyz, if computed',
++						'deviatoricstress_principal':' plot the deviatoricstress tensor principal axis and principal values',
++						'deviatoricstress_principalaxis1':' arrow plot the first principal axis of the deviatoricstress tensor(replace 1 by 2 or 3 if needed)',
++						'driving_stress':' plot the driving stress (in kPa)',
++						'elements_type':' model used for each element',
++						'vertexnumbering':' numbering of vertices',
++						'highlightelements':' to highlight elements to highlight the element list',
++						'highlightvertices':' to highlight vertices (use highlight option to enter the vertex list',
++						'referential':' stressbalance referential',
++						'riftvel':' velocities along rifts',
++						'riftrelvel':' relative velocities along rifts',
++						'riftpenetration':' penetration levels for a fault',
++						'riftfraction':' fill fractions for every node of the rifts',
++						'rifts':' plot mesh with an offset so that rifts are visible',
++						'strainrate_tensor':' plot the components of the strainrate tensor (exx,eyy,ezz,exy,exz,eyz) if computed',
++						'strainrate_principal':' plot the strainrate tensor principal axis and principal values)',
++						'strainrate_principalaxis1':' arrow plot the first principal axis of the strainrate tensor(replace 1 by 2 or 3 if needed)',
++						'stress_tensor':' plot the components of stress tensor (sxx,syy,szz,sxy,sxz,syz) if computed',
++						'stress_principal':' plot the stress tensor principal axis and principal values',
++						'stress_principalaxis1':' arrow plot the first principal axis of the stress tensor(replace 1 by 2 or 3 if needed)',
++						'transient_results':' this will printlay all the time steps of a transient run (use steps to specify the steps requested)',
++						'transient_vel':' this will printlay the velocity for the time steps requested in ''steps'' of a transient run',
++						'transient_vel':' vel can be by any field of the transient results (vx, vy, vz, vel, temperature, melting, pressure, bed, thickness, surface)',
++						'transient_field':' dynamic plot of results. specify ''steps'' option, as fell as ''field'' (defaults are all steps, for ''Vel'' field)',
++						'transient_movie':' this will printlay the time steps of a given field of a transient run',
++						'transient_movie_field':' field to be printlayed when doing  transient_movie data printlay',
++						'transient_movie_output':' filename if output is desired for movie',
++						'transient_movie_time':' time for each image (default 2 seconds)',
++						'thermaltransient_results':' this will printlay all the time steps of a thermal transient run',
++						'qmuhistnorm':' histogram normal distribution. needs option qmudata',
++						'qmumean':' plot of mean distribution in sampling analysis with scaled response. needs option qmudata for descriptor',
++						'qmustddev':' plot of stddev distribution in sampling analysis with scaled response. needs option qmudata for descriptor',
++						'part_hist':' partitioning node and area histogram'}
+ 	
+ 	pyoptions={'axis':" show ('on') or hide ('off') axes",
+ 						 'caxis':" modify  colorbar range. (array of type [a b] where b>=a)",
+@@ -76,96 +76,93 @@
+ 						 'mask':" condition. Only 'true' values are plotted ",
+ 						 'log':" cutoff value for log",
+ 						 'backgroundcolor':" plot background color. RGB tuple or standard string",
+-                                                 'expdisp':" path (or list of paths) to the exp file to be plotted ",
+-                                                 'explinewidth':" linewidth ",
+-                                                 'explinestyle':" matplotlib linestyle string ",
+-                                                 'explinecolor':" matplotlib color string ",
+-                                                 'expfill':" (True/False) fill a closed contour ",
+-                                                 'expfillcolor':" Color for a filled contour, only used if expfill is True ",
+-                                                 'expfillalpha':" alpha transparency for filled contour ",
+-                                                 'overlay':" True/False. Overlay a georeferenced image (radar/visible) ",
+-                                                 'overlay_image':" path to overlay image ",
+-                                                 'overlayhist':" plot a histogram of overlay image, used for setting overlaylims ",
+-                                                 'overlaylims':" normalized limits to clip and stretch contrast of overlay image (in [0,1], ex. [0.25,0.75]) ",
+-                                                 'alpha':" set transparency of plotted data (in [0,1]) "
+-                                                 }
++						 'expdisp':" path (or list of paths) to the exp file to be plotted ",
++						 'explinewidth':" linewidth ",
++						 'explinestyle':" matplotlib linestyle string ",
++						 'explinecolor':" matplotlib color string ",
++						 'expfill':" (True/False) fill a closed contour ",
++						 'expfillcolor':" Color for a filled contour, only used if expfill is True ",
++						 'expfillalpha':" alpha transparency for filled contour ",
++						 'overlay':" True/False. Overlay a georeferenced image (radar/visible) ",
++						 'overlay_image':" path to overlay image ",
++						 'overlayhist':" plot a histogram of overlay image, used for setting overlaylims ",
++						 'overlaylims':" normalized limits to clip and stretch contrast of overlay image (in [0,1], ex. [0.25,0.75]) ",
++						 'alpha':" set transparency of plotted data (in [0,1]) ",
++						 'layer':"number of the layer to display for 3D runs"}
+ 
+ 	TODOoptions={'basin':" zoom on a given basin ('pineislandglacier','ronneiceshelf', use isbasin to identify a basin",
+-					 'figurebackgroundcolor':" figure background color. (default is 'none',",
+-					 'coord':"  'xy' (default) or 'latlon'",
+-					 'colorbarpos':" [x,y,dx,dy] where x,y,dx and dy are within [0 1]",
+-					 'colorbarcornerposition':" 'West','North',etc ...",
+-					 'colorbartitlerotation':" -90, etc ...",
+-					 'colorbarfontsize':" specify colorbar fontsize",
+-					 'colorbarwidth':" multiplier (default 1) to the default width colorbar",
+-					 'colorbarheight':" multiplier (default 1) to the default height colorbar",
+-					 'contourticks':" 'on' or 'off' to printlay the ticks of the contours",
+-					 'contouronly':" 'on' or 'off' to printlay the contours on a white background",
+-					 'contourcolor':" ticks and contour color",
+-					 'density':" density of quivers (one arrow every N nodes, N integer)",
+-					 'inset':" add an inset (zoom) of the current figure if 1 (use 'insetx', 'insety' and 'insetpos' to determine the inset position and content)",
+-					 'insetx':" [min(x) max(x)] where min(x) and max(x) are values determining the inset content",
+-					 'insety':" [min(y) max(y)] where min(y) and max(y) are values determining the inset content",
+-					 'insetpos':" [x,y,dx,dy] where x,y,dx and dy are within [0 1]",
+-					 'resolution':" resolution used by section value (array of type [horizontal_resolution vertical_resolution])",
+-					 'showsection':" show section used by 'sectionvalue' (string 'on' or a number of labels)",
+-					 'sectionvalue':" give the value of data on a profile given by an Argus file (string 'Argusfile_name.exp',",
+-					 'profile':" give the value of data along a vertical profile ([xlocation ylocation])",
+-					 'smooth':" smooth element data (string 'yes' or integer)",
++							 'figurebackgroundcolor':" figure background color. (default is 'none',",
++							 'coord':"  'xy' (default) or 'latlon'",
++							 'colorbarpos':" [x,y,dx,dy] where x,y,dx and dy are within [0 1]",
++							 'colorbarcornerposition':" 'West','North',etc ...",
++							 'colorbartitlerotation':" -90, etc ...",
++							 'colorbarfontsize':" specify colorbar fontsize",
++							 'colorbarwidth':" multiplier (default 1) to the default width colorbar",
++							 'colorbarheight':" multiplier (default 1) to the default height colorbar",
++							 'contourticks':" 'on' or 'off' to printlay the ticks of the contours",
++							 'contouronly':" 'on' or 'off' to printlay the contours on a white background",
++							 'contourcolor':" ticks and contour color",
++							 'density':" density of quivers (one arrow every N nodes, N integer)",
++							 'inset':" add an inset (zoom) of the current figure if 1 (use 'insetx', 'insety' and 'insetpos' to determine the inset position and content)",
++							 'insetx':" [min(x) max(x)] where min(x) and max(x) are values determining the inset content",
++							 'insety':" [min(y) max(y)] where min(y) and max(y) are values determining the inset content",
++							 'insetpos':" [x,y,dx,dy] where x,y,dx and dy are within [0 1]",
++							 'resolution':" resolution used by section value (array of type [horizontal_resolution vertical_resolution])",
++							 'showsection':" show section used by 'sectionvalue' (string 'on' or a number of labels)",
++							 'sectionvalue':" give the value of data on a profile given by an Argus file (string 'Argusfile_name.exp',",
++							 'profile':" give the value of data along a vertical profile ([xlocation ylocation])",
++							 'smooth':" smooth element data (string 'yes' or integer)",
++							 'view':" same as standard matlab option (ex: 2, 3 or [90 180]",
++							 'zlim':" same as standard matlab option",
++							 'xticklabel':" specifiy xticklabel",
++							 'yticklabel':" specifiy yticklabel",
++							 'contrast':" (default 1) coefficient to add contrast to the radar amplitude image used in overlays",
++							 'highres':" resolution of overlayed radar amplitude image (default is 0, high resolution is 1).",
++							 'alpha':" transparency coefficient (the higher, the more transparent). Default is 1.5",
++							 'scaling':" scaling factor used by quiver plots. Default is 0.4",
++							 'autoscale':" set to 'off' to have all the quivers with the same size. Default is 'on'",
++							 'linewidth':" line width for expprint plot (use a cell of strings if more than one)",
++							 'border':" size of printlay border (in pixels). active only for overlay plots",
++							 'nan':" value assigned to NaNs (convenient when plotting BC)",
++							 'partitionedges':" 'off' by default. overlay plot of partition edges",
++							 'latlon':" 'on' or {latstep lonstep [resolution [color]]} where latstep,longstep and resolution are in degrees, color is a [r g b] array",
++							 'latlonnumbering':" 'on' or {latgap longap colornumber latangle lonangle} where latgap and longap are pixel gaps for the numbers", 
++							 'latlonclick':" 'on' to click on latlon ticks positions colornumber is a [r g b] array and latangle and lonangle are angles to flip the numbers",
++							 'northarrow':" add an arrow pointing north, 'on' for default value or [x0 y0 length [ratio width fontsize]] where (x0,y0) are the coordinates of the base, ratio=headlength/length",
++							 'offset':" mesh offset used by 'rifts', default is 500",
++							 'scaleruler':" add a scale ruler, 'on' for default value or [x0 y0 length width numberofticks] where (x0,y0) are the coordinates of the lower left corner",
++							 'showregion':" show domain in Antarctica on an inset, use 'insetpos' properties",
++							 'visible':" 'off' to make figure unvisible, default is 'on'",
++							 'wrapping':" repeat 'n' times the colormap ('n' must be an integer)",
++							 'unit':" by default, in m, otherwise, 'km' is available",
++							 'legend_position':" by default, 'NorthEasth'",
++							 'qmudata':" ",
++							 'figposition':" position of figure: 'fullscreen', 'halfright', 'halfleft', 'portrait', 'landscape',... (hardcoded in applyoptions.m)",
++							 'offsetaxispos':" offset of current axis position to get more space (ex: [-0.02 0  0.04 0])",
++							 'axispos':" axis position to get more space",
++							 'hmin':" (numeric, minimum for histogram)",
++							 'hmax':" (numeric, maximum for histogram)",
++							 'hnint':" (numeric, number of intervals for histogram)",
++							 'ymin1':" (numeric, minimum of histogram y-axis)",
++							 'ymax1':" (numeric, maximum of histogram y-axis)",
++							 'ymin2':" (numeric, minimum of cdf y-axis)",
++							 'ymax2':" (numeric, maximum of cdf y-axis)",
++							 'cdfplt':" (char, 'off' to turn off cdf line plots)",
++							 'cdfleg':" (char, 'off' to turn off cdf legends)",
++							 'segmentnumbering':" ('off' by default)",
++							 'kmlgroundoverlay':" ('off' by default)",
++							 'kmlfilename':" ('tempfile.kml' by default)",
++							 'kmlroot':" ('./' by default)",
++							 'kmlimagename':" ('tempimage' by default)",
++							 'kmlimagetype':" ('png' by default)",
++							 'kmlresolution':" (1 by default)",
++							 'kmlfolder':" ('Ground Overlay' by default)",
++							 'kmlfolderdescription':" ('' by default)",
++							 'kmlgroundoverlayname':" ('' by default)",
++							 'kmlgroundoverlaydescription':"N/A by default')"}
+ 
+-					 'view':" same as standard matlab option (ex: 2, 3 or [90 180]",
+-					 'zlim':" same as standard matlab option",
+-					 'xticklabel':" specifiy xticklabel",
+-					 'yticklabel':" specifiy yticklabel",
+-					 'contrast':" (default 1) coefficient to add contrast to the radar amplitude image used in overlays",
+-					 'highres':" resolution of overlayed radar amplitude image (default is 0, high resolution is 1).",
+-					 'alpha':" transparency coefficient (the higher, the more transparent). Default is 1.5",
+-					 'scaling':" scaling factor used by quiver plots. Default is 0.4",
+-					 'autoscale':" set to 'off' to have all the quivers with the same size. Default is 'on'",
+-                                        					 'linewidth':" line width for expprint plot (use a cell of strings if more than one)",
+-					 'border':" size of printlay border (in pixels). active only for overlay plots",
+ 
+-					 'nan':" value assigned to NaNs (convenient when plotting BC)",
+-					 'partitionedges':" 'off' by default. overlay plot of partition edges",
+ 
+-					 'latlon':" 'on' or {latstep lonstep [resolution [color]]} where latstep,longstep and resolution are in degrees, color is a [r g b] array",
+-					 'latlonnumbering':" 'on' or {latgap longap colornumber latangle lonangle} where latgap and longap are pixel gaps for the numbers", 
+-					 'latlonclick':" 'on' to click on latlon ticks positions colornumber is a [r g b] array and latangle and lonangle are angles to flip the numbers",
+-					 'northarrow':" add an arrow pointing north, 'on' for default value or [x0 y0 length [ratio width fontsize]] where (x0,y0) are the coordinates of the base, ratio=headlength/length",
+-					 'offset':" mesh offset used by 'rifts', default is 500",
+-					 'scaleruler':" add a scale ruler, 'on' for default value or [x0 y0 length width numberofticks] where (x0,y0) are the coordinates of the lower left corner",
+-					 'showregion':" show domain in Antarctica on an inset, use 'insetpos' properties",
+-					 'visible':" 'off' to make figure unvisible, default is 'on'",
+-					 'wrapping':" repeat 'n' times the colormap ('n' must be an integer)",
+-					 'unit':" by default, in m, otherwise, 'km' is available",
+-					 'legend_position':" by default, 'NorthEasth'",
+-					 'qmudata':" ",
+-					 'figposition':" position of figure: 'fullscreen', 'halfright', 'halfleft', 'portrait', 'landscape',... (hardcoded in applyoptions.m)",
+-					 'offsetaxispos':" offset of current axis position to get more space (ex: [-0.02 0  0.04 0])",
+-					 'axispos':" axis position to get more space",
+-					 'hmin':" (numeric, minimum for histogram)",
+-					 'hmax':" (numeric, maximum for histogram)",
+-					 'hnint':" (numeric, number of intervals for histogram)",
+-					 'ymin1':" (numeric, minimum of histogram y-axis)",
+-					 'ymax1':" (numeric, maximum of histogram y-axis)",
+-					 'ymin2':" (numeric, minimum of cdf y-axis)",
+-					 'ymax2':" (numeric, maximum of cdf y-axis)",
+-					 'cdfplt':" (char, 'off' to turn off cdf line plots)",
+-					 'cdfleg':" (char, 'off' to turn off cdf legends)",
+-					 'segmentnumbering':" ('off' by default)",
+-					 'kmlgroundoverlay':" ('off' by default)",
+-					 'kmlfilename':" ('tempfile.kml' by default)",
+-					 'kmlroot':" ('./' by default)",
+-					 'kmlimagename':" ('tempimage' by default)",
+-					 'kmlimagetype':" ('png' by default)",
+-					 'kmlresolution':" (1 by default)",
+-					 'kmlfolder':" ('Ground Overlay' by default)",
+-					 'kmlfolderdescription':" ('' by default)",
+-					 'kmlgroundoverlayname':" ('' by default)",
+-					 'kmlgroundoverlaydescription':"N/A by default')"}
+-
+-
+-
+ 	print("   Plot usage: plotmodel(model,varargin)")
+ 	print("   plotting is done with couples of keywords values, the type and style of data to display is given by one (or several) of the followings")
+ 	print("   Options: ")
Index: /issm/oecreview/Archive/21337-21723/ISSM-21427-21428.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21427-21428.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21427-21428.diff	(revision 21726)
@@ -0,0 +1,22 @@
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21427)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21428)
+@@ -425,6 +425,8 @@
+ 						%size = number of elements * n
+ 						elseif fieldsize(1)==numberofelements1
+ 							md2.(model_fields{i}).(object_fields{j})=field(pos_elem,:);
++                        elseif (fieldsize(1)==numberofelements1+1)
++                            md2.(model_fields{i}).(object_fields{j})=[field(pos_elem,:); field(end,:)];
+ 						end
+ 					end
+ 				else
+@@ -436,6 +438,8 @@
+ 					%size = number of elements * n
+ 					elseif fieldsize(1)==numberofelements1
+ 						md2.(model_fields{i})=field(pos_elem,:);
++                    elseif (fieldsize(1)==numberofelements1+1)
++						md2.(model_fields{i})=[field(pos_elem,:); field(end,:)];
+ 					end
+ 				end
+ 			end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21428-21429.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21428-21429.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21428-21429.diff	(revision 21726)
@@ -0,0 +1,60 @@
+Index: ../trunk-jpl/src/m/plot/plotgemb.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotgemb.m	(revision 21428)
++++ ../trunk-jpl/src/m/plot/plotgemb.m	(revision 21429)
+@@ -19,17 +19,17 @@
+ 		if i<nt,
+ 			deltat=results(i+1).time-time;
+ 		else
+-			deltat=time-results(i-1).time;
++			deltat=time-results(i-1).time;			
+ 		end
+ 
+ 		%figure out number of levels: 
+-		dz=flipud(results(i).SmbDz(element,:)') ;
++		dz=results(i).SmbDz(element,:);
+ 		if numlevels==-1,
+ 			nlevels=length(dz); 
+ 		else
+ 			nlevels=numlevels;
+ 		end
+-		dz=dz(1:nlevels);
++        dz=flipud(dz(1:nlevels)') ;
+ 
+ 		%retrieve values: 
+ 		field=results(i).(fieldname);
+@@ -37,10 +37,6 @@
+ 
+ 		%build vertical values: 
+ 		nz=length(dz); 
+-		%for j=1:nz, 
+-		%	patch([time-deltat/2 ;time+deltat/2; time+deltat/2; time-deltat/2],[z0; z0; z0+dz(j); z0+dz(j)],[T(j);T(j);T(j);T(j)]);
+-		%	z0=z0+dz(j);
+-		%end
+ 
+ 		xA=(time-deltat/2)*ones(nz,1);
+ 		xB=(time+deltat/2)*ones(nz,1);
+@@ -52,17 +48,20 @@
+ 		zC=zeros(nz,1);
+ 		zD=zeros(nz,1);
+ 		
++        
+ 		for j=1:nz, 
+ 			zA(j)=z0;
+ 			zB(j)=z0;
+ 			zC(j)=z0+dz(j);
+ 			zD(j)=z0+dz(j);
+ 			z0=z0+dz(j);
+-		end
++        end       
++    
+ 
+-		patch([xA,xB,xC,xD]',[zA,zB,zC,zD]',[T,T,T,T]');
++		patch([xA,xB,xC,xD]',[zA,zB,zC,zD]',[T,T,T,T]','EdgeColor','none');
+ 
+ 		if i>=maxstep,
+ 			break;
+ 		end
+-	end
++    end
++    
Index: /issm/oecreview/Archive/21337-21723/ISSM-21429-21430.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21429-21430.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21429-21430.diff	(revision 21726)
@@ -0,0 +1,626 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21429)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21430)
+@@ -18,10 +18,10 @@
+ 	int         penalty_lock;
+ 	int         hydro_maxiter;
+ 	bool        isefficientlayer;
+-	IssmDouble  sedimentlimit;
+ 	IssmDouble  penalty_factor;
+-	IssmDouble  leakagefactor;
+ 	IssmDouble  rel_tol;
++	IssmDouble  leakagefactor;
++	IssmDouble  sedimentlimit;
+ 
+ 	/*retrieve some parameters: */
+ 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
+@@ -29,32 +29,30 @@
+ 	/*Now, do we really want DC?*/
+ 	if(hydrology_model!=HydrologydcEnum) return;
+ 
+-	iomodel->FetchData(&isefficientlayer,   "md.hydrology.isefficientlayer");
+ 	iomodel->FetchData(&sedimentlimit_flag, "md.hydrology.sedimentlimit_flag" );
+ 	iomodel->FetchData(&transfer_flag,      "md.hydrology.transfer_flag" );
+ 	iomodel->FetchData(&penalty_factor,     "md.hydrology.penalty_factor" );
+-	iomodel->FetchData(&rel_tol,            "md.hydrology.rel_tol" );
+-	iomodel->FetchData(&penalty_lock,       "md.hydrology.penalty_lock" );
++	iomodel->FetchData(&isefficientlayer,   "md.hydrology.isefficientlayer");
+ 	iomodel->FetchData(&hydro_maxiter,      "md.hydrology.max_iter" );
++	iomodel->FetchData(&penalty_lock,       "md.hydrology.penalty_lock" );
++	iomodel->FetchData(&rel_tol,            "md.hydrology.rel_tol" );
+ 
+-	if(sedimentlimit_flag==1){
+-		iomodel->FetchData(&sedimentlimit,"md.hydrology.sedimentlimit");
+-		parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit));
+-	}
+-
+-	if(transfer_flag==1){
+-		iomodel->FetchData(&leakagefactor,"md.hydrology.leakage_factor");
+-		parameters->AddObject(new DoubleParam(HydrologydcLeakageFactorEnum,leakagefactor));
+-	}
+-
+-	parameters->AddObject(new DoubleParam(HydrologydcPenaltyFactorEnum,penalty_factor));
+ 	parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model));
+-	parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer));
+ 	parameters->AddObject(new IntParam(HydrologydcSedimentlimitFlagEnum,sedimentlimit_flag));
+ 	parameters->AddObject(new IntParam(HydrologydcTransferFlagEnum,transfer_flag));
+-	parameters->AddObject(new DoubleParam(HydrologydcRelTolEnum,rel_tol));
+ 	parameters->AddObject(new IntParam(HydrologydcPenaltyLockEnum,penalty_lock));
+ 	parameters->AddObject(new IntParam(HydrologydcMaxIterEnum,hydro_maxiter));
++	parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer));
++	parameters->AddObject(new DoubleParam(HydrologydcPenaltyFactorEnum,penalty_factor));
++	parameters->AddObject(new DoubleParam(HydrologydcRelTolEnum,rel_tol));
++	if(transfer_flag==1){
++		iomodel->FetchData(&leakagefactor,"md.hydrology.leakage_factor");
++		parameters->AddObject(new DoubleParam(HydrologydcLeakageFactorEnum,leakagefactor));
++	}
++	if(sedimentlimit_flag==1){
++		iomodel->FetchData(&sedimentlimit,"md.hydrology.sedimentlimit");
++		parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit));
++	}
+ }/*}}}*/
+ 
+ void HydrologyDCInefficientAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
+@@ -108,7 +106,9 @@
+ 	/*Now, do we really want DC?*/
+ 	if(hydrology_model!=HydrologydcEnum) return;
+ 
+-	if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
++	if(iomodel->domaintype!=Domain2DhorizontalEnum){
++		iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
++	}
+ 	::CreateNodes(nodes,iomodel,HydrologyDCInefficientAnalysisEnum,P1Enum);
+ 	iomodel->DeleteData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
+ }/*}}}*/
+@@ -130,8 +130,9 @@
+ 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
+ 	if(hydrology_model!=HydrologydcEnum) return;
+ 
+-	if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(1,"md.mesh.vertexonbase");
+-
++	if(iomodel->domaintype==Domain3DEnum){
++		iomodel->FetchData(1,"md.mesh.vertexonbase");
++	}
+ 	//create penalties for nodes: no node can have water above the max
+ 	CreateSingleNodeToElementConnectivity(iomodel);
+ 	for(int i=0;i<iomodel->numberofvertices;i++){
+@@ -189,7 +190,7 @@
+ 	bool        active_element,isefficientlayer;
+ 	IssmDouble  D_scalar,Jdet,dt;
+ 	IssmDouble  sediment_transmitivity;
+-	IssmDouble  prestep_head,base_elev;
++	IssmDouble  base_elev;
+ 	IssmDouble  transfer,sediment_storing;
+ 	IssmDouble *xyz_list  = NULL;
+ 
+@@ -300,7 +301,6 @@
+ 	IssmDouble Jdet;
+ 
+ 	IssmDouble *xyz_list             = NULL;
+-	Input*      old_wh_input         = NULL;
+ 	Input*      active_element_input = NULL;
+ 
+ 	/*Fetch number of nodes and dof for this finite element*/
+@@ -320,19 +320,16 @@
+ 	Input* thick_input	  = basalelement->GetInput(ThicknessEnum);
+ 	Input* base_input		  = basalelement->GetInput(BaseEnum);
+ 	Input* water_input	  = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input);
+-	if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum);                     _assert_(old_wh_input);}
+ 
+ 	/*Transfer related Inputs*/
+ 	if(isefficientlayer){
+ 		active_element_input = basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input);
+ 	}
+ 
+-
+ 	/* Start  looping on the number of gaussian points: */
+ 	Gauss* gauss=basalelement->NewGauss(2);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss->GaussPoint(ig);
+-	
+ 		basalelement->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		basalelement->NodalFunctions(basis,gauss);
+ 
+@@ -358,11 +355,9 @@
+ 			}
+ 		}
+ 
+-
+ 		/*Transient and transfer terms*/
+ 		if(dt!=0.){
+-			old_wh_input    ->GetInputValue(&water_head,gauss);
+-			sediment_storing = SedimentStoring(basalelement,gauss,sed_head_input,base_input);//sed_head_input
++			sediment_storing = SedimentStoring(basalelement,gauss,sed_head_input,base_input);
+ 			if(isefficientlayer){
+ 				/*Dealing with the sediment part of the transfer term*/
+ 				active_element_input->GetInputValue(&active_element);
+@@ -427,20 +422,26 @@
+ 
+ void HydrologyDCInefficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
+ 
+-	int        domaintype;
+-	bool       converged;
+-	int*       doflist=NULL;
+-	Element*   basalelement=NULL;
++	/*Intermediaries*/
++	int						domaintype;
++	Element*			basalelement;
++	bool					converged;
++	int*					doflist	=	NULL;
+ 
++	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+-	if(domaintype!=Domain2DhorizontalEnum){
+-		if(!element->IsOnBase()) return;
+-		basalelement=element->SpawnBasalElement();
++	switch(domaintype){
++		case Domain2DhorizontalEnum:
++			basalelement = element;
++			break;
++		case Domain3DEnum:
++			if(!element->IsOnBase()) return NULL;
++			basalelement = element->SpawnBasalElement();
++			break;
++		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+ 	}
+-	else{
+-		basalelement = element;
+-	}
+ 
++
+ 	/*Fetch number of nodes for this finite element*/
+ 	int numnodes = basalelement->GetNumberOfNodes();
+ 
+@@ -478,7 +479,6 @@
+ 		kappa=kmax*pow(10.,penalty_factor);
+ 
+ 		for(int i=0;i<numnodes;i++){
+-
+ 			GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->GetNode(i));
+ 			if(values[i]>h_max) {
+ 				residual[i] = kappa*(values[i]-h_max);
+@@ -526,18 +526,22 @@
+ 	sed_head_input->GetInputValue(&prestep_head,gauss);
+ 	water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
+ 	specific_porosity=sediment_porosity-rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
+-	if (water_sheet<=0.9*sediment_thickness){//porosity for unconfined region
++	//porosity for unconfined region
++	if (water_sheet<=0.9*sediment_thickness){
+ 		sediment_storing=sediment_porosity;
+ 	}
+-	else if((water_sheet<sediment_thickness) && (water_sheet>0.9*sediment_thickness)){//continuity ramp
++	//continuity ramp
++	else if((water_sheet<sediment_thickness) && (water_sheet>0.9*sediment_thickness)){
+ 		sediment_storing=(sediment_thickness-water_sheet)*specific_porosity/(0.1*sediment_thickness)+
+ 			rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
+ 	}
+-	else{//storing coefficient for confined
++	//storing coefficient for confined
++	else{
+ 		sediment_storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
+ 	}
+ 	return sediment_storing;
+ }/*}}}*/
++
+ IssmDouble HydrologyDCInefficientAnalysis::SedimentTransmitivity(Element* element,Gauss* gauss,Input* sed_head_input, Input* base_input,Input* SedTrans_input){/*{{{*/
+ 	IssmDouble sediment_transmitivity;
+ 	IssmDouble FullLayer_transmitivity;
+@@ -573,13 +577,10 @@
+ 		element->FindParam(&h_max,HydrologydcSedimentlimitEnum);
+ 		break;
+ 	case 2:
+-	
+ 		rho_water = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+ 		rho_ice   = element->GetMaterialParameter(MaterialsRhoIceEnum);
+-
+ 		_assert_(thick_input);
+ 		_assert_(base_input);
+-
+ 		/*Compute max*/
+ 		thick_input->GetInputValue(&thickness,gauss);
+ 		base_input->GetInputValue(&bed,gauss);
+@@ -633,11 +634,7 @@
+ IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyKMatrixTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
+ 
+ 	int transfermethod;
+-	IssmDouble hmax;
+-	IssmDouble epl_head,sediment_head;
+ 	IssmDouble leakage,transfer;
+-	IssmDouble continuum, factor;
+-	
+ 	element->FindParam(&transfermethod,HydrologydcTransferFlagEnum);
+ 
+ 	/*Switch between the different transfer methods cases*/
+@@ -647,23 +644,8 @@
+ 		transfer=0.0;
+ 		break;
+ 	case 1:
+-		_assert_(sed_head_input);
+-		_assert_(epl_head_input);
+-		
+-		sed_head_input->GetInputValue(&sediment_head,gauss);
+-		epl_head_input->GetInputValue(&epl_head,gauss);
+ 		element->FindParam(&leakage,HydrologydcLeakageFactorEnum);
+-
+-		hmax=GetHydrologyDCInefficientHmax(element, gauss, thick_input, base_input);
+-	
+-		//Computing continuum function to apply to transfer term, transfer is null only if
+-		//epl_head>sediment_head AND sediment_head>h_max
+-		//let's try without that for a while
+-		/* continuum=((1.0/(1.0+exp(-20.0*(sediment_head-epl_head)))))+(1.0/(1.0+exp(-20.0*(hmax-sediment_head)))); */
+-		/* factor=min(continuum,1.0); */
+-		/* transfer=leakage*factor; */
+ 		transfer=leakage; 
+-
+ 		break;
+ 	default:
+ 		_error_("no case higher than 1 for the Transfer method");
+@@ -674,11 +656,8 @@
+ IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
+ 
+ 	int transfermethod;
+-	IssmDouble hmax;
+-	IssmDouble epl_head,sediment_head;
++	IssmDouble epl_head;
+ 	IssmDouble leakage,transfer;
+-	IssmDouble continuum, factor;
+-	
+ 	element->FindParam(&transfermethod,HydrologydcTransferFlagEnum);
+ 
+ 	/*Switch between the different transfer methods cases*/
+@@ -688,24 +667,10 @@
+ 		transfer=0.0;
+ 		break;
+ 	case 1:
+-		_assert_(sed_head_input);
+ 		_assert_(epl_head_input);
+-		
+-		sed_head_input->GetInputValue(&sediment_head,gauss);
+ 		epl_head_input->GetInputValue(&epl_head,gauss);
+ 		element->FindParam(&leakage,HydrologydcLeakageFactorEnum);
+-
+-		hmax=GetHydrologyDCInefficientHmax(element, gauss, thick_input, base_input);
+-		
+-		//Computing continuum function to apply to transfer term, transfer is null only if
+-		//epl_head>sediment_head AND sediment_head>h_max
+-		//let's try without that for a while
+-		/* continuum=((1.0/(1.0+exp(-20.0*(sediment_head-epl_head)))))+(1.0/(1.0+exp(-20.0*(hmax-sediment_head)))); */
+-		/* factor=min(continuum,1.0); */
+-		/* transfer=epl_head*leakage*factor; */
+-
+ 		transfer=epl_head*leakage;
+-
+ 		break;
+ 	default:
+ 		_error_("no case higher than 1 for the Transfer method");
+@@ -730,4 +695,5 @@
+ 		}
+ 		element->AddInput(new BoolInput(HydrologydcMaskEplactiveEltEnum,element_active));
+ 	}
++	delete element;
+ }/*}}}*/
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21429)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21430)
+@@ -8,6 +8,7 @@
+ int  HydrologyDCEfficientAnalysis::DofsPerNode(int** doflist,int domaintype,int approximation){/*{{{*/
+ 	return 1;
+ }/*}}}*/
++
+ void HydrologyDCEfficientAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
+ 
+ 	int         hydrology_model;
+@@ -32,9 +33,8 @@
+ 
+ 	iomodel->FetchData(&eplthickcomp,"md.hydrology.epl_thick_comp");
+ 	parameters->AddObject(new IntParam(HydrologydcEplThickCompEnum,eplthickcomp));
+-
+-	
+ }/*}}}*/
++
+ void HydrologyDCEfficientAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
+ 
+ 	bool   isefficientlayer;
+@@ -82,7 +82,9 @@
+ 	iomodel->FindConstant(&isefficientlayer,"md.hydrology.isefficientlayer");
+ 	if(!isefficientlayer) return;
+ 
+-	if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
++	if(iomodel->domaintype!=Domain2DhorizontalEnum){
++		iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
++	}
+ 	::CreateNodes(nodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum);
+ 	iomodel->DeleteData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
+ }/*}}}*/
+@@ -105,14 +107,22 @@
+ void HydrologyDCEfficientAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/
+ 	/*Nothing for now*/
+ 
+-	/*Fetch parameters: */
++	/*Do we really want DC?*/
+ 	int hydrology_model;
+ 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
+ 	if(hydrology_model!=HydrologydcEnum) return;
+ 
+-	if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(1,"md.mesh.vertexonbase");
++	/*Do we want an efficient layer*/
++	bool isefficientlayer;
++	iomodel->FindConstant(&isefficientlayer,"md.hydrology.isefficientlayer");
++	if(!isefficientlayer) return;
+ 
+-	//create penalties for nodes: no node can have water above the max
++	/*Fetch parameters: */
++	if(iomodel->domaintype==Domain3DEnum){
++		iomodel->FetchData(1,"md.mesh.vertexonbase");
++	}
++
++	//Add moulin inputs as loads
+ 	CreateSingleNodeToElementConnectivity(iomodel);
+ 	for(int i=0;i<iomodel->numberofvertices;i++){
+ 		if (iomodel->domaintype!=Domain3DEnum){
+@@ -131,8 +141,8 @@
+ }/*}}}*/
+ 
+ void HydrologyDCEfficientAnalysis::InitZigZagCounter(FemModel* femmodel){/*{{{*/
++
+ 	int*   eplzigzag_counter =NULL;
+-	
+ 	eplzigzag_counter=xNewZeroInit<int>(femmodel->nodes->Size());
+ 	femmodel->parameters->AddObject(new IntVecParam(EplZigZagCounterEnum,eplzigzag_counter,femmodel->nodes->Size()));
+ 	xDelete<int>(eplzigzag_counter);
+@@ -141,11 +151,8 @@
+ void HydrologyDCEfficientAnalysis::ResetCounter(FemModel* femmodel){/*{{{*/
+ 
+ 	int*     eplzigzag_counter=NULL;
+-	Element* element=NULL;
+-
+ 	femmodel->parameters->FindParam(&eplzigzag_counter,NULL,EplZigZagCounterEnum);
+ 	for(int i=0;i<femmodel->nodes->Size();i++){
+-
+ 		eplzigzag_counter[i]=0;
+ 	}
+ 	femmodel->parameters->SetParam(eplzigzag_counter,femmodel->nodes->Size(),EplZigZagCounterEnum);
+@@ -298,7 +305,7 @@
+ 
+ 	/*Check that all nodes are active, else return empty matrix*/
+ 	if(!active_element) {
+-	if(domaintype!=Domain2DhorizontalEnum){
++		if(domaintype!=Domain2DhorizontalEnum){
+ 			basalelement->DeleteMaterials(); 
+ 			delete basalelement;
+ 		}
+@@ -341,7 +348,6 @@
+ 	Gauss* gauss=basalelement->NewGauss(2);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss->GaussPoint(ig);
+-
+ 		basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		basalelement ->NodalFunctions(basis,gauss);
+ 
+@@ -395,20 +401,24 @@
+ 
+ void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
+ 
+-	bool active_element;
+-	int domaintype,i;
+-	Element*   basalelement=NULL;
++	/*Intermediaries*/
++	bool     active_element;
++	int      domaintype;
++	Element* basalelement;
+ 
++	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+-
+-	if(domaintype!=Domain2DhorizontalEnum){
+-		if(!element->IsOnBase()) return;
+-		basalelement=element->SpawnBasalElement();
++	switch(domaintype){
++		case Domain2DhorizontalEnum:
++			basalelement = element;
++			break;
++		case Domain3DEnum:
++			if(!element->IsOnBase()) return NULL;
++			basalelement = element->SpawnBasalElement();
++			break;
++		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+ 	}
+-	else{
+-		basalelement = element;
+-	}
+-	
++
+ 	/*Intermediary*/
+ 	int* doflist = NULL;
+ 
+@@ -469,11 +479,7 @@
+ IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyKMatrixTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
+ 
+ 	int transfermethod;
+-	IssmDouble hmax;
+-	IssmDouble epl_head,sediment_head;
+ 	IssmDouble leakage,transfer;
+-	IssmDouble continuum, factor;
+-	HydrologyDCInefficientAnalysis* inefanalysis = NULL;
+ 
+ 	element->FindParam(&transfermethod,HydrologydcTransferFlagEnum);
+ 
+@@ -484,23 +490,7 @@
+ 		transfer=0.0;
+ 		break;
+ 	case 1:
+-		_assert_(sed_head_input);
+-		_assert_(epl_head_input);
+-		
+-		inefanalysis = new HydrologyDCInefficientAnalysis();
+-		hmax = inefanalysis->GetHydrologyDCInefficientHmax(element,gauss,thick_input,base_input);
+-		delete inefanalysis;
+-
+-		sed_head_input->GetInputValue(&sediment_head,gauss);
+-		epl_head_input->GetInputValue(&epl_head,gauss);
+ 		element->FindParam(&leakage,HydrologydcLeakageFactorEnum);
+-		
+-		//Computing continuum function to apply to transfer term, transfer is null only if
+-		// epl_head>sediment_head AND sediment_head>h_max
+-		//let's try without that for a while
+-		/* continuum=((1.0/(1.0+exp(-20.0*(sediment_head-epl_head)))))+(1.0/(1.0+exp(-20.0*(hmax-sediment_head)))); */
+-		/* factor=min(continuum,1.0); */
+-		/* transfer=leakage*factor; */
+ 		transfer=leakage;
+ 		break;
+ 	default:
+@@ -512,13 +502,9 @@
+ IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
+ 
+ 	int transfermethod;
+-	IssmDouble hmax;
+-	IssmDouble epl_head,sediment_head;
++	IssmDouble sediment_head;
+ 	IssmDouble leakage,transfer;
+-	IssmDouble continuum, factor;
+ 
+-	HydrologyDCInefficientAnalysis* inefanalysis = NULL;
+-
+ 	element->FindParam(&transfermethod,HydrologydcTransferFlagEnum);
+ 
+ 	/*Switch between the different transfer methods cases*/
+@@ -529,24 +515,9 @@
+ 		break;
+ 	case 1:
+ 		_assert_(sed_head_input);
+-		_assert_(epl_head_input);
+-
+-		inefanalysis = new HydrologyDCInefficientAnalysis();
+-		hmax = inefanalysis->GetHydrologyDCInefficientHmax(element,gauss,thick_input,base_input);
+-		delete inefanalysis;
+-		
+ 		sed_head_input->GetInputValue(&sediment_head,gauss);
+-		epl_head_input->GetInputValue(&epl_head,gauss);
+ 		element->FindParam(&leakage,HydrologydcLeakageFactorEnum);
+-
+-		//Computing continuum function to apply to transfer term, transfer is null only if
+-		// epl_head>sediment_head AND sediment_head>h_max
+-		//let's try without that for a while
+-		/* continuum=((1.0/(1.0+exp(-20.0*(sediment_head-epl_head)))))+(1.0/(1.0+exp(-20.0*(hmax-sediment_head)))); */
+-		/* factor=min(continuum,1.0); */
+-		/* transfer=sediment_head*leakage*factor; */
+ 		transfer=sediment_head*leakage;
+-
+ 		break;
+ 	default:
+ 		_error_("no case higher than 1 for the Transfer method");
+@@ -563,7 +534,6 @@
+ 	IssmDouble  dt,A,B;
+ 	IssmDouble  EPLgrad2;
+ 	IssmDouble  EPL_N;
+-
+ 	
+ 	femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
+ 
+@@ -618,7 +588,6 @@
+ 		element->GetInputListOnVertices(&bed[0],BaseEnum);
+ 		
+ 		if(!active_element){
+-			
+ 			/*Keeping thickness to initial value if EPL is not active*/
+ 			for(int i=0;i<numnodes;i++){
+ 				thickness[i]=init_thick;
+@@ -626,22 +595,15 @@
+ 		}
+ 		else{
+ 			for(int i=0;i<numnodes;i++){
+-				
+ 				/*Compute first the effective pressure in the EPL*/
+-				//EPL_N=gravity*((rho_ice*ice_thickness[i])-(rho_water*max(0.0,(eplhead[i]-bed[i]))));
+-				//allowing EPLN larger than Pi
+ 				EPL_N=gravity*((rho_ice*ice_thickness[i])-(rho_water*(eplhead[i]-bed[i])));
+ 				if(EPL_N<0.0)EPL_N=0.0;
+ 				/*Get then the square of the gradient of EPL heads*/
+ 				EPLgrad2 = (epl_slopeX[i]*epl_slopeX[i])+(epl_slopeY[i]*epl_slopeY[i]);
+-				
+ 				/*And proceed to the real thing*/
+-				/* thickness[i] = old_thickness[i]*(1.0+((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*EPLgrad2- */
+-				/* 																 (2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n)))); */
+ 				thickness[i] = old_thickness[i]*
+ 					(2.0+((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*EPLgrad2-(2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n))))/
+ 					(2.0-((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*EPLgrad2+(2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n))));
+-				//thickness[i] = 0.5*(thickness[i]+old_thickness[i]);
+ 				/*Take care of otherthikening*/
+ 				if(thickness[i]>max_thick){
+ 					thickness[i] = max_thick;
+@@ -694,7 +656,7 @@
+ 	int         domaintype;
+ 	IssmDouble  h_max;
+ 	IssmDouble  sedheadmin;
+-	Element*    basalelement=NULL;
++	Element*    basalelement;
+ 
+ 	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+@@ -703,7 +665,7 @@
+ 			basalelement = element;
+ 			break;
+ 		case Domain3DEnum:
+-			if(!element->IsOnBase()) return;
++			if(!element->IsOnBase()) return NULL;
+ 			basalelement = element->SpawnBasalElement();
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+@@ -736,11 +698,12 @@
+ 		if (old_active[i]==0.){
+ 			epl_thickness[i]=init_thick;
+ 		}
+-
+ 		/*Now starting to look at the activations*/
+ 		if(residual[i]>0.){
+ 			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			if(old_active[i]==0.)	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			if(old_active[i]==0.){
++				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			}
+ 		}
+ 		/*If mask was already one, keep one or colapse*/
+ 		else if(old_active[i]>0.){
+@@ -758,7 +721,9 @@
+ 				/*Increase of the domain is on the downstream node in term of sediment head*/
+ 				if(sedhead[j] == sedheadmin){
+ 					vec_mask->SetValue(basalelement->nodes[j]->Sid(),1.,INS_VAL);
+-					if(old_active[i]==0.)	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++					if(old_active[i]==0.){
++						recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++					}
+ 				}
+ 			}
+ 		}
+@@ -777,7 +742,7 @@
+ void HydrologyDCEfficientAnalysis::HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element){
+ 	/*Constants*/
+ 	int      domaintype;
+-	Element*   basalelement=NULL;
++	Element*   basalelement;
+ 
+ 	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+@@ -786,7 +751,7 @@
+ 			basalelement = element;
+ 			break;
+ 		case Domain3DEnum:
+-			if(!element->IsOnBase()) return;
++			if(!element->IsOnBase()) return NULL;
+ 			basalelement = element->SpawnBasalElement();
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+@@ -795,10 +760,10 @@
+ 	const int   numnodes = basalelement->GetNumberOfNodes();
+ 	IssmDouble  flag     = 0.;
+ 	IssmDouble* active   = xNew<IssmDouble>(numnodes);
++	bool active_element;
+ 
+ 	/*Pass the activity mask from elements to nodes*/
+ 	basalelement->GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveNodeEnum);
+-	bool active_element;
+ 	Input* 	active_element_input=basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input);		
+ 	active_element_input->GetInputValue(&active_element);
+ 	
Index: /issm/oecreview/Archive/21337-21723/ISSM-21430-21431.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21430-21431.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21430-21431.diff	(revision 21726)
@@ -0,0 +1,113 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21430)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21431)
+@@ -424,7 +424,7 @@
+ 
+ 	/*Intermediaries*/
+ 	int						domaintype;
+-	Element*			basalelement;
++	Element*			basalelement=NULL;
+ 	bool					converged;
+ 	int*					doflist	=	NULL;
+ 
+@@ -435,7 +435,7 @@
+ 			basalelement = element;
+ 			break;
+ 		case Domain3DEnum:
+-			if(!element->IsOnBase()) return NULL;
++			if(!element->IsOnBase()) return;
+ 			basalelement = element->SpawnBasalElement();
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21430)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21431)
+@@ -404,7 +404,7 @@
+ 	/*Intermediaries*/
+ 	bool     active_element;
+ 	int      domaintype;
+-	Element* basalelement;
++	Element* basalelement=NULL;
+ 
+ 	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+@@ -413,7 +413,7 @@
+ 			basalelement = element;
+ 			break;
+ 		case Domain3DEnum:
+-			if(!element->IsOnBase()) return NULL;
++			if(!element->IsOnBase()) return;
+ 			basalelement = element->SpawnBasalElement();
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+@@ -436,7 +436,7 @@
+ 	active_element_input->GetInputValue(&active_element);
+ 
+ 	/*Use the dof list to index into the solution vector: */
+-	for(i=0;i<numnodes;i++){
++	for(int i=0;i<numnodes;i++){
+ 		eplHeads[i]=solution[doflist[i]];
+ 		if(xIsNan<IssmDouble>(eplHeads[i])) _error_("NaN found in solution vector");
+ 		if(xIsInf<IssmDouble>(eplHeads[i])) _error_("Inf found in solution vector");
+@@ -652,11 +652,10 @@
+ void  HydrologyDCEfficientAnalysis::HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask, Vector<IssmDouble>* recurence, int* eplzigzag_counter, Element* element){
+ 
+ 	bool        active_element;
+-	int         i,j;
+ 	int         domaintype;
+ 	IssmDouble  h_max;
+ 	IssmDouble  sedheadmin;
+-	Element*    basalelement;
++	Element*    basalelement=NULL;
+ 
+ 	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+@@ -665,7 +664,7 @@
+ 			basalelement = element;
+ 			break;
+ 		case Domain3DEnum:
+-			if(!element->IsOnBase()) return NULL;
++			if(!element->IsOnBase()) return;
+ 			basalelement = element->SpawnBasalElement();
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+@@ -692,8 +691,8 @@
+ 
+ 	/*Get minimum sediment head of the element*/
+ 	sedheadmin=sedhead[0];
+-	for(i=1;i<numnodes;i++) if(sedhead[i]<=sedheadmin)sedheadmin=sedhead[i];
+-	for(i=0;i<numnodes;i++){
++	for(int i=1;i<numnodes;i++) if(sedhead[i]<=sedheadmin)sedheadmin=sedhead[i];
++	for(int i=0;i<numnodes;i++){
+ 		/*If node is now closed bring its thickness back to initial*/
+ 		if (old_active[i]==0.){
+ 			epl_thickness[i]=init_thick;
+@@ -717,7 +716,7 @@
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+ 		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
+ 		if(eplhead[i]>=h_max && active_element){
+-			for(j=0;j<numnodes;j++){
++			for(int j=0;j<numnodes;j++){
+ 				/*Increase of the domain is on the downstream node in term of sediment head*/
+ 				if(sedhead[j] == sedheadmin){
+ 					vec_mask->SetValue(basalelement->nodes[j]->Sid(),1.,INS_VAL);
+@@ -742,7 +741,7 @@
+ void HydrologyDCEfficientAnalysis::HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element){
+ 	/*Constants*/
+ 	int      domaintype;
+-	Element*   basalelement;
++	Element*   basalelement=NULL;
+ 
+ 	/*Get basal element*/
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+@@ -751,7 +750,7 @@
+ 			basalelement = element;
+ 			break;
+ 		case Domain3DEnum:
+-			if(!element->IsOnBase()) return NULL;
++			if(!element->IsOnBase()) return;
+ 			basalelement = element->SpawnBasalElement();
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21431-21432.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21431-21432.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21431-21432.diff	(revision 21726)
@@ -0,0 +1,10 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21431)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21432)
+@@ -695,5 +695,4 @@
+ 		}
+ 		element->AddInput(new BoolInput(HydrologydcMaskEplactiveEltEnum,element_active));
+ 	}
+-	delete element;
+ }/*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21432-21433.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21432-21433.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21432-21433.diff	(revision 21726)
@@ -0,0 +1,61 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21432)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21433)
+@@ -105,7 +105,6 @@
+ }/*}}}*/
+ 
+ void HydrologyDCEfficientAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/
+-	/*Nothing for now*/
+ 
+ 	/*Do we really want DC?*/
+ 	int hydrology_model;
+@@ -151,6 +150,7 @@
+ void HydrologyDCEfficientAnalysis::ResetCounter(FemModel* femmodel){/*{{{*/
+ 
+ 	int*     eplzigzag_counter=NULL;
++	Element* element=NULL;
+ 	femmodel->parameters->FindParam(&eplzigzag_counter,NULL,EplZigZagCounterEnum);
+ 	for(int i=0;i<femmodel->nodes->Size();i++){
+ 		eplzigzag_counter[i]=0;
+@@ -376,11 +376,9 @@
+ 	gauss=basalelement->NewGauss();
+ 	for(int iv=0;iv<numvertices;iv++){
+ 		gauss->GaussVertex(iv);
+-
+ 		connectivity = IssmDouble(basalelement->VertexConnectivity(iv));
+ 		residual_input->GetInputValue(&residual,gauss);
+ 		pe->values[iv]+=residual/connectivity;
+-
+ 	}
+ 
+ 	/*Clean up and return*/
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21432)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21433)
+@@ -302,6 +302,7 @@
+ 
+ 	IssmDouble *xyz_list             = NULL;
+ 	Input*      active_element_input = NULL;
++	Input*      old_wh_input = NULL;
+ 
+ 	/*Fetch number of nodes and dof for this finite element*/
+ 	int numnodes = basalelement->GetNumberOfNodes();
+@@ -320,7 +321,7 @@
+ 	Input* thick_input	  = basalelement->GetInput(ThicknessEnum);
+ 	Input* base_input		  = basalelement->GetInput(BaseEnum);
+ 	Input* water_input	  = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input);
+-
++	if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum);                  _assert_(old_wh_input);}
+ 	/*Transfer related Inputs*/
+ 	if(isefficientlayer){
+ 		active_element_input = basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input);
+@@ -357,6 +358,7 @@
+ 
+ 		/*Transient and transfer terms*/
+ 		if(dt!=0.){
++			old_wh_input->GetInputValue(&water_head,gauss);
+ 			sediment_storing = SedimentStoring(basalelement,gauss,sed_head_input,base_input);
+ 			if(isefficientlayer){
+ 				/*Dealing with the sediment part of the transfer term*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21433-21434.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21433-21434.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21433-21434.diff	(revision 21726)
@@ -0,0 +1,79 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21433)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21434)
+@@ -150,7 +150,6 @@
+ void HydrologyDCEfficientAnalysis::ResetCounter(FemModel* femmodel){/*{{{*/
+ 
+ 	int*     eplzigzag_counter=NULL;
+-	Element* element=NULL;
+ 	femmodel->parameters->FindParam(&eplzigzag_counter,NULL,EplZigZagCounterEnum);
+ 	for(int i=0;i<femmodel->nodes->Size();i++){
+ 		eplzigzag_counter[i]=0;
+@@ -380,7 +379,6 @@
+ 		residual_input->GetInputValue(&residual,gauss);
+ 		pe->values[iv]+=residual/connectivity;
+ 	}
+-
+ 	/*Clean up and return*/
+ 	xDelete<IssmDouble>(xyz_list);
+ 	xDelete<IssmDouble>(basis);
+@@ -398,7 +396,6 @@
+ }/*}}}*/
+ 
+ void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
+-
+ 	/*Intermediaries*/
+ 	bool     active_element;
+ 	int      domaintype;
+@@ -416,7 +413,6 @@
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+ 	}
+-
+ 	/*Intermediary*/
+ 	int* doflist = NULL;
+ 
+@@ -424,27 +420,33 @@
+ 	int numnodes = basalelement->GetNumberOfNodes();
+ 
+ 	/*Fetch dof list and allocate solution vector*/
+-	IssmDouble* sedhead     = xNew<IssmDouble>(numnodes);
+ 	IssmDouble* eplHeads    = xNew<IssmDouble>(numnodes);
+-
+ 	basalelement->GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
+-	basalelement->GetInputListOnVertices(&sedhead[0],SedimentHeadEnum);
+ 
+ 	Input* active_element_input=basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input);
+ 	active_element_input->GetInputValue(&active_element);
+ 
+ 	/*Use the dof list to index into the solution vector: */
+-	for(int i=0;i<numnodes;i++){
+-		eplHeads[i]=solution[doflist[i]];
+-		if(xIsNan<IssmDouble>(eplHeads[i])) _error_("NaN found in solution vector");
+-		if(xIsInf<IssmDouble>(eplHeads[i])) _error_("Inf found in solution vector");
++	/*If the EPL is not active we revert to the initialisation vallue*/
++	/*       For now we keep OldValue but it is probably not the best*/
++	if(active_element){
++		for(int i=0;i<numnodes;i++){
++			eplHeads[i]=solution[doflist[i]];
++			if(xIsNan<IssmDouble>(eplHeads[i])) _error_("NaN found in solution vector");
++			if(xIsInf<IssmDouble>(eplHeads[i])) _error_("Inf found in solution vector");
++		}
+ 	}
++	else{
++		basalelement->GetInputListOnVertices(&eplHeads[0],EplHeadOldEnum);
++		for(int i=0;i<numnodes;i++){
++			if(xIsNan<IssmDouble>(eplHeads[i])) _error_("NaN found in solution vector");
++			if(xIsInf<IssmDouble>(eplHeads[i])) _error_("Inf found in solution vector");
++		}
++	}
+ 	/*Add input to the element: */
+ 	element->AddBasalInput(EplHeadEnum,eplHeads,P1Enum);
+-
+ 	/*Free ressources:*/
+ 	xDelete<IssmDouble>(eplHeads);
+-	xDelete<IssmDouble>(sedhead);
+ 	xDelete<int>(doflist);
+ 	if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
+ } /*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21434-21435.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21434-21435.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21434-21435.diff	(revision 21726)
@@ -0,0 +1,57 @@
+Index: ../trunk-jpl/src/m/plot/applyoptions.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/applyoptions.py	(revision 21434)
++++ ../trunk-jpl/src/m/plot/applyoptions.py	(revision 21435)
+@@ -233,6 +233,14 @@
+ 		cb.update_ticks()
+ 		cb.set_alpha(1)
+ 		cb.draw_all()
++                if options.exist('colorbarfontsize'):
++                        colorbarfontsize=options.getfieldvalue('colorbarfontsize')
++                        cb.ax.tick_params(labelsize=colorbarfontsize)
++                        # cb.set_ticks([0,-10])
++                        # cb.set_ticklabels([-10,0,10])
++                if options.exist('colorbarticks'):
++                        colorbarticks=options.getfieldvalue('colorbarticks')
++                        cb.set_ticks(colorbarticks)
+ 		plt.sca(ax) # return to original axes control
+ 	# }}}
+ 	# {{{ expdisp 
+Index: ../trunk-jpl/src/m/plot/plotdoc.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21434)
++++ ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21435)
+@@ -47,13 +47,15 @@
+ 						'part_hist':' partitioning node and area histogram'}
+ 	
+ 	pyoptions={'axis':" show ('on') or hide ('off') axes",
+-						 'caxis':" modify  colorbar range. (array of type [a b] where b>=a)",
++                                                 'caxis':" modify  colorbar range. (array of type [a b] where b>=a)",
+ 						 'colorlevels':" N, number of levels to use",
+ 						 'colorbar':" add colorbar (string 'on','off' or 'one')",
+ 						 'axes_pad':" spacing between axes (default is 0.25)",
+ 						 'colorbartitle':" colorbar title (string)",
++                                                 'colorbarticks':" set colorbar ticks manually (list)",
++                                                 'colorbarfontsize':" specify colorbar fontsize",
+ 						 'colormap':" change the default colormap ('viridis' is the default)",
+-						 'contourlevels':" N or [value1,...] add the contours of the specified values or N contours",
++                                                 'contourlevels':" N or [value1,...] add the contours of the specified values or N contours",
+ 						 'streamlines':" TOFIX argument does nothing",
+ 						 'edgecolor':" color of mesh edges. RGB tuple or standard string",
+ 						 'fontsize':" fontsize for the title",
+@@ -96,7 +98,6 @@
+ 							 'colorbarpos':" [x,y,dx,dy] where x,y,dx and dy are within [0 1]",
+ 							 'colorbarcornerposition':" 'West','North',etc ...",
+ 							 'colorbartitlerotation':" -90, etc ...",
+-							 'colorbarfontsize':" specify colorbar fontsize",
+ 							 'colorbarwidth':" multiplier (default 1) to the default width colorbar",
+ 							 'colorbarheight':" multiplier (default 1) to the default height colorbar",
+ 							 'contourticks':" 'on' or 'off' to printlay the ticks of the contours",
+@@ -162,7 +163,6 @@
+ 							 'kmlgroundoverlaydescription':"N/A by default')"}
+ 
+ 
+-
+ 	print("   Plot usage: plotmodel(model,varargin)")
+ 	print("   plotting is done with couples of keywords values, the type and style of data to display is given by one (or several) of the followings")
+ 	print("   Options: ")
Index: /issm/oecreview/Archive/21337-21723/ISSM-21435-21436.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21435-21436.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21435-21436.diff	(revision 21726)
@@ -0,0 +1,435 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h	(revision 21435)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h	(revision 21436)
+@@ -35,10 +35,10 @@
+ 
+ 		/*Intermediaries*/
+ 		void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
+-		IssmDouble EplSpecificStoring(Element* element);
+-		IssmDouble SedimentStoring(Element* element);
+-		IssmDouble GetHydrologyKMatrixTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input);
+-		IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input);
++		IssmDouble GetHydrologyKMatrixTransfer(Element* element);
++		IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input);
++		IssmDouble EplStoring(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input);
++		IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input);
+ 		void HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask, Vector<IssmDouble>* recurence, int* eplzigzag_counter, Element* element);
+ 		void HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element);
+ 		void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode);
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21435)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21436)
+@@ -206,8 +206,9 @@
+ 
+ 	/* Intermediaries */
+ 	IssmDouble  D_scalar,Jdet,dt;
+-	IssmDouble  epl_thickness;
+ 	IssmDouble  transfer;
++	IssmDouble  epl_transmitivity;
++	IssmDouble  epl_storing;
+ 	IssmDouble *xyz_list = NULL;
+ 
+ 	/*Fetch number of nodes and dof for this finite element*/
+@@ -224,23 +225,20 @@
+ 	basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
+ 
+ 	Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThicknessEnum); _assert_(epl_thick_input);
+-	Input* sed_head_input  = basalelement->GetInput(SedimentHeadEnum);
+-	Input* epl_head_input  = basalelement->GetInput(EplHeadEnum);
+-	Input* thick_input     = basalelement->GetInput(ThicknessEnum);
+-	Input* base_input      = basalelement->GetInput(BaseEnum);
++	Input* epl_head_input	= basalelement->GetInput(EplHeadEnum);  _assert_(epl_head_input);
++	Input* base_input			= basalelement->GetInput(BaseEnum); _assert_(base_input);
+ 
+-	IssmDouble epl_specificstoring   = EplSpecificStoring(basalelement);
+-	IssmDouble epl_conductivity      = basalelement->GetMaterialParameter(HydrologydcEplConductivityEnum);
+-
+ 	/* Start  looping on the number of gaussian points: */
+-	Gauss* gauss=basalelement->NewGauss(2);
++	Gauss* gauss					= basalelement->NewGauss(2);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss           ->GaussPoint(ig);
+ 		basalelement    ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+-		epl_thick_input ->GetInputValue(&epl_thickness,gauss);
+ 
++		epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_head_input,epl_thick_input,base_input);
++		epl_storing				= EplStoring(basalelement,gauss,epl_head_input,epl_thick_input,base_input);
++
+ 		/*Diffusivity*/
+-		D_scalar=epl_conductivity*epl_thickness*gauss->weight*Jdet;
++		D_scalar=epl_transmitivity*gauss->weight*Jdet;
+ 		if(dt!=0.) D_scalar=D_scalar*dt;
+ 		D[0][0]=D_scalar;
+ 		D[1][1]=D_scalar;
+@@ -253,7 +251,7 @@
+ 		/*Transient*/
+ 		if(dt!=0.){
+ 			basalelement->NodalFunctions(&basis[0],gauss);
+-			D_scalar=epl_specificstoring*epl_thickness*gauss->weight*Jdet;
++			D_scalar=epl_storing*gauss->weight*Jdet;
+ 			TripleMultiply(basis,numnodes,1,0,
+ 						&D_scalar,1,1,0,
+ 						basis,1,numnodes,0,
+@@ -261,7 +259,7 @@
+ 			
+ 			
+ 			/*Transfer EPL part*/
+-			transfer=GetHydrologyKMatrixTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input);
++			transfer=GetHydrologyKMatrixTransfer(basalelement);
+ 			D_scalar=dt*transfer*gauss->weight*Jdet;
+ 			TripleMultiply(basis,numnodes,1,0,
+ 										 &D_scalar,1,1,0,
+@@ -313,7 +311,7 @@
+ 	/*Intermediaries */
+ 	IssmDouble dt,scalar,water_head;
+ 	IssmDouble water_load,transfer;
+-	IssmDouble epl_thickness;
++	IssmDouble epl_storing;
+ 	IssmDouble Jdet;
+ 	IssmDouble residual,connectivity;
+ 
+@@ -333,23 +331,23 @@
+ 	basalelement->FindParam(&dt,TimesteppingTimeStepEnum);	
+ 
+ 	Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThicknessEnum); _assert_(epl_thick_input);
+-	Input* sed_head_input  = basalelement->GetInput(SedimentHeadEnum);
+-	Input* epl_head_input  = basalelement->GetInput(EplHeadEnum);
+-	Input* thick_input     = basalelement->GetInput(ThicknessEnum);
+-	Input* base_input      = basalelement->GetInput(BaseEnum);
++	Input* sed_head_input  = basalelement->GetInput(SedimentHeadEnum); _assert_(sed_head_input);
++	Input* epl_head_input	 = basalelement->GetInput(EplHeadEnum); _assert_(epl_head_input);
+ 	Input* water_input		 = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input);
+-	Input* residual_input  = basalelement->GetInput(SedimentHeadResidualEnum);    _assert_(residual_input);
+-	if(dt!= 0.){old_wh_input = basalelement->GetInput(EplHeadOldEnum);            _assert_(old_wh_input);}
++	Input* residual_input  = basalelement->GetInput(SedimentHeadResidualEnum); _assert_(residual_input);
++	Input* base_input			 = basalelement->GetInput(BaseEnum); _assert_(base_input);
+ 
+-	IssmDouble epl_specificstoring = EplSpecificStoring(basalelement);
+-
++	if(dt!= 0.){
++		old_wh_input = basalelement->GetInput(EplHeadOldEnum);            _assert_(old_wh_input);
++	}
+ 	/* Start  looping on the number of gaussian points: */
+-	Gauss* gauss=basalelement->NewGauss(2);
++	Gauss* gauss           = basalelement->NewGauss(2);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss->GaussPoint(ig);
+ 		basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		basalelement ->NodalFunctions(basis,gauss);
+ 
++		epl_storing	= EplStoring(basalelement,gauss,epl_head_input,epl_thick_input,base_input);
+ 		/*Loading term*/
+ 		water_input->GetInputValue(&water_load,gauss);
+ 		scalar = Jdet*gauss->weight*(water_load);
+@@ -361,11 +359,10 @@
+ 		/*Transient and transfer terms*/
+ 		if(dt!=0.){
+ 			old_wh_input    ->GetInputValue(&water_head,gauss);
+-			epl_thick_input ->GetInputValue(&epl_thickness,gauss);
+ 			
+ 			/*Dealing with the epl part of the transfer term*/
+-			transfer=GetHydrologyPVectorTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input);
+-			scalar = Jdet*gauss->weight*((water_head*epl_specificstoring*epl_thickness)+(dt*transfer));
++			transfer=GetHydrologyPVectorTransfer(basalelement,gauss,sed_head_input);
++			scalar = Jdet*gauss->weight*((water_head*epl_storing)+(dt*transfer));
+ 			for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i];
+ 		}
+ 	}
+@@ -457,32 +454,12 @@
+ }/*}}}*/
+ 
+ /*Intermediaries*/
+-IssmDouble HydrologyDCEfficientAnalysis::EplSpecificStoring(Element* element){/*{{{*/
+-	IssmDouble rho_freshwater        = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+-	IssmDouble g                     = element->GetMaterialParameter(ConstantsGEnum);
+-	IssmDouble epl_porosity          = element->GetMaterialParameter(HydrologydcEplPorosityEnum);
+-	IssmDouble epl_compressibility   = element->GetMaterialParameter(HydrologydcEplCompressibilityEnum);
+-	IssmDouble water_compressibility = element->GetMaterialParameter(HydrologydcWaterCompressibilityEnum);
+-	return rho_freshwater*g*epl_porosity*(water_compressibility+(epl_compressibility/epl_porosity));		 
+-}/*}}}*/
++IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyKMatrixTransfer(Element* element){/*{{{*/
+ 
+-IssmDouble HydrologyDCEfficientAnalysis::SedimentStoring(Element* element){/*{{{*/
+-	IssmDouble rho_freshwater           = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+-	IssmDouble g                        = element->GetMaterialParameter(ConstantsGEnum);
+-	IssmDouble sediment_porosity        = element->GetMaterialParameter(HydrologydcSedimentPorosityEnum);
+-	IssmDouble sediment_thickness       = element->GetMaterialParameter(HydrologydcSedimentThicknessEnum);
+-	IssmDouble sediment_compressibility = element->GetMaterialParameter(HydrologydcSedimentCompressibilityEnum);
+-	IssmDouble water_compressibility    = element->GetMaterialParameter(HydrologydcWaterCompressibilityEnum);
+-	return rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));		 
+-}/*}}}*/
+-
+-IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyKMatrixTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
+-
+ 	int transfermethod;
+ 	IssmDouble leakage,transfer;
+ 
+ 	element->FindParam(&transfermethod,HydrologydcTransferFlagEnum);
+-
+ 	/*Switch between the different transfer methods cases*/
+ 	switch(transfermethod){
+ 	case 0:
+@@ -499,14 +476,13 @@
+ 	return transfer;
+ }/*}}}*/
+ 
+-IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
++IssmDouble HydrologyDCEfficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input){/*{{{*/
+ 
+ 	int transfermethod;
+ 	IssmDouble sediment_head;
+ 	IssmDouble leakage,transfer;
+ 
+ 	element->FindParam(&transfermethod,HydrologydcTransferFlagEnum);
+-
+ 	/*Switch between the different transfer methods cases*/
+ 	switch(transfermethod){
+ 	case 0:
+@@ -536,12 +512,14 @@
+ 	IssmDouble  EPL_N;
+ 	
+ 	femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
++	femmodel->parameters->FindParam(&iseplthickcomp,HydrologydcEplThickCompEnum);
++	if(iseplthickcomp==0) return;
+ 
+ 	for(int j=0;j<femmodel->elements->Size();j++){
+ 		
+ 		Element* element=(Element*)femmodel->elements->GetObjectByOffset(j);
+-		element->parameters->FindParam(&iseplthickcomp,HydrologydcEplThickCompEnum);
+-		if(iseplthickcomp==0) return;
++		/* element->parameters->FindParam(&iseplthickcomp,HydrologydcEplThickCompEnum); */
++		/* if(iseplthickcomp==0) return; */
+ 		
+ 		switch(domaintype){
+ 		case Domain2DhorizontalEnum:
+@@ -737,8 +715,54 @@
+ 	xDelete<IssmDouble>(residual);
+ }
+ /*}}}*/
++IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input){/*{{{*/
++	IssmDouble epl_storing;
++	IssmDouble storing,water_sheet;
++	IssmDouble base_elev,prestep_head,epl_thick;
++	IssmDouble rho_freshwater        = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
++	IssmDouble g                     = element->GetMaterialParameter(ConstantsGEnum);
++	IssmDouble epl_porosity					 = element->GetMaterialParameter(HydrologydcEplPorosityEnum);
++	IssmDouble epl_compressibility	 = element->GetMaterialParameter(HydrologydcEplCompressibilityEnum);
++	IssmDouble water_compressibility = element->GetMaterialParameter(HydrologydcWaterCompressibilityEnum);
+ 
+-void HydrologyDCEfficientAnalysis::HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element){
++	base_input->GetInputValue(&base_elev,gauss);
++	epl_head_input->GetInputValue(&prestep_head,gauss);
++	epl_thick_input->GetInputValue(&epl_thick,gauss);
++	
++	water_sheet=max(0.0,(prestep_head-base_elev));
++	
++	storing=rho_freshwater*g*epl_porosity*epl_thick*(water_compressibility+(epl_compressibility/epl_porosity));
++	//porosity for unconfined region
++	if (water_sheet<=0.9*epl_thick){
++		epl_storing=epl_porosity;
++	}
++	//continuity ramp
++	else if((water_sheet<epl_thick) && (water_sheet>0.9*epl_thick)){
++		epl_storing=(epl_thick-water_sheet)*(epl_porosity-storing)/(0.1*epl_thick)+storing;
++	}
++	//storing coefficient for confined
++	else{
++		epl_storing=storing;
++	}
++	return epl_storing;
++}/*}}}*/
++
++IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input){/*{{{*/
++	IssmDouble epl_transmitivity;
++	IssmDouble base_elev,prestep_head,epl_thick;
++	IssmDouble water_sheet;
++	IssmDouble epl_conductivity      = element->GetMaterialParameter(HydrologydcEplConductivityEnum);
++	base_input->GetInputValue(&base_elev,gauss);
++	epl_head_input->GetInputValue(&prestep_head,gauss);
++	epl_thick_input->GetInputValue(&epl_thick,gauss);
++
++	water_sheet=max(0.0,(prestep_head-base_elev));
++	epl_transmitivity=epl_conductivity*min(water_sheet,epl_thick);
++
++	return epl_transmitivity;
++}/*}}}*/
++
++void HydrologyDCEfficientAnalysis::HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element){/*{{{*/
+ 	/*Constants*/
+ 	int      domaintype;
+ 	Element*   basalelement=NULL;
+@@ -786,6 +810,7 @@
+ 	if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
+ 	xDelete<IssmDouble>(active);
+ }
++/*}}}*/
+ 
+ void HydrologyDCEfficientAnalysis::GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode){/*{{{*/
+ 	
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21435)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21436)
+@@ -190,7 +190,6 @@
+ 	bool        active_element,isefficientlayer;
+ 	IssmDouble  D_scalar,Jdet,dt;
+ 	IssmDouble  sediment_transmitivity;
+-	IssmDouble  base_elev;
+ 	IssmDouble  transfer,sediment_storing;
+ 	IssmDouble *xyz_list  = NULL;
+ 
+@@ -212,8 +211,6 @@
+ 	basalelement ->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum);
+ 	Input* SedTrans_input = basalelement->GetInput(HydrologydcSedimentTransmitivityEnum); _assert_(SedTrans_input);
+ 	Input* sed_head_input = basalelement->GetInput(SedimentHeadEnum);
+-	Input* epl_head_input = basalelement->GetInput(EplHeadEnum);
+-	Input* thick_input    = basalelement->GetInput(ThicknessEnum);
+ 	Input* base_input     = basalelement->GetInput(BaseEnum);
+ 
+ 	/*Transfer related Inputs*/
+@@ -254,7 +251,7 @@
+ 			if(isefficientlayer){
+ 				active_element_input->GetInputValue(&active_element);
+ 				if(active_element){
+-					transfer=GetHydrologyKMatrixTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input);
++					transfer=GetHydrologyKMatrixTransfer(basalelement);
+ 					basalelement->NodalFunctions(&basis[0],gauss);
+ 					D_scalar=dt*transfer*gauss->weight*Jdet;
+ 					TripleMultiply(basis,numnodes,1,0,
+@@ -318,10 +315,11 @@
+ 
+ 	Input* sed_head_input = basalelement->GetInput(SedimentHeadEnum);
+ 	Input* epl_head_input = basalelement->GetInput(EplHeadEnum);
+-	Input* thick_input	  = basalelement->GetInput(ThicknessEnum);
+ 	Input* base_input		  = basalelement->GetInput(BaseEnum);
+ 	Input* water_input	  = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input);
+-	if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum);                  _assert_(old_wh_input);}
++	if(dt!= 0.){
++		old_wh_input = basalelement->GetInput(SedimentHeadOldEnum);                  _assert_(old_wh_input);
++	}
+ 	/*Transfer related Inputs*/
+ 	if(isefficientlayer){
+ 		active_element_input = basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input);
+@@ -364,7 +362,7 @@
+ 				/*Dealing with the sediment part of the transfer term*/
+ 				active_element_input->GetInputValue(&active_element);
+ 				if(active_element){
+-					transfer=GetHydrologyPVectorTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input);
++					transfer=GetHydrologyPVectorTransfer(basalelement,gauss,epl_head_input);
+ 				}
+ 				else{
+ 					transfer=0.0;
+@@ -513,10 +511,9 @@
+ 	return;
+ }/*}}}*/
+ 
+-/*Intermediaries*/
+ IssmDouble HydrologyDCInefficientAnalysis::SedimentStoring(Element* element,Gauss* gauss,Input* sed_head_input, Input* base_input){/*{{{*/
+ 	IssmDouble sediment_storing;
+-	IssmDouble specific_porosity;
++	IssmDouble storing;
+ 	IssmDouble base_elev,prestep_head,water_sheet;
+ 	IssmDouble rho_freshwater           = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+ 	IssmDouble g                        = element->GetMaterialParameter(ConstantsGEnum);
+@@ -527,19 +524,18 @@
+ 	base_input->GetInputValue(&base_elev,gauss);
+ 	sed_head_input->GetInputValue(&prestep_head,gauss);
+ 	water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
+-	specific_porosity=sediment_porosity-rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
++	storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
+ 	//porosity for unconfined region
+ 	if (water_sheet<=0.9*sediment_thickness){
+ 		sediment_storing=sediment_porosity;
+ 	}
+ 	//continuity ramp
+ 	else if((water_sheet<sediment_thickness) && (water_sheet>0.9*sediment_thickness)){
+-		sediment_storing=(sediment_thickness-water_sheet)*specific_porosity/(0.1*sediment_thickness)+
+-			rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
++		sediment_storing=(sediment_thickness-water_sheet)*(sediment_porosity-storing)/(0.1*sediment_thickness)+storing;
+ 	}
+ 	//storing coefficient for confined
+ 	else{
+-		sediment_storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
++		sediment_storing=storing;
+ 	}
+ 	return sediment_storing;
+ }/*}}}*/
+@@ -562,41 +558,6 @@
+ 	return sediment_transmitivity;
+ }/*}}}*/
+ 
+-IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyDCInefficientHmax(Element* element, Gauss* gauss, Input* thick_input, Input* base_input){/*{{{*/
+-	int        hmax_flag;
+-	IssmDouble h_max;
+-	IssmDouble rho_ice,rho_water;
+-	IssmDouble thickness,bed;
+-	/*Get the flag to the limitation method*/
+-	element->FindParam(&hmax_flag,HydrologydcSedimentlimitFlagEnum);
+-	
+-	/*Switch between the different cases*/
+-	switch(hmax_flag){
+-	case 0:
+-		h_max=1.0e+10;
+-		break;
+-	case 1:
+-		element->FindParam(&h_max,HydrologydcSedimentlimitEnum);
+-		break;
+-	case 2:
+-		rho_water = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+-		rho_ice   = element->GetMaterialParameter(MaterialsRhoIceEnum);
+-		_assert_(thick_input);
+-		_assert_(base_input);
+-		/*Compute max*/
+-		thick_input->GetInputValue(&thickness,gauss);
+-		base_input->GetInputValue(&bed,gauss);
+-		h_max=((rho_ice*thickness)/rho_water)+bed;
+-		break;
+-	case 3:
+-		_error_("Using normal stress  not supported yet");
+-		break;
+-	default:
+-		_error_("no case higher than 3 for SedimentlimitFlag");
+-	}
+-	return h_max;
+-}/*}}}*/
+-
+ void  HydrologyDCInefficientAnalysis::GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode){/*{{{*/
+ 	
+ 	int        hmax_flag;
+@@ -633,7 +594,7 @@
+ }
+ /*}}}*/
+ 
+-IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyKMatrixTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
++IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyKMatrixTransfer(Element* element){/*{{{*/
+ 
+ 	int transfermethod;
+ 	IssmDouble leakage,transfer;
+@@ -655,7 +616,7 @@
+ 	return transfer;
+ }/*}}}*/
+ 
+-IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input){/*{{{*/
++IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* epl_head_input){/*{{{*/
+ 
+ 	int transfermethod;
+ 	IssmDouble epl_head;
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h	(revision 21435)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h	(revision 21436)
+@@ -35,10 +35,9 @@
+ 		void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
+ 		IssmDouble SedimentStoring(Element* element, Gauss* gauss, Input* sed_head_input, Input* base_input);
+ 		IssmDouble SedimentTransmitivity(Element* element,Gauss* gauss,Input* sed_head_input, Input* base_input,Input* SedTrans_input);
+-		IssmDouble GetHydrologyDCInefficientHmax(Element* element, Gauss* gauss, Input* thickness_input, Input* base_input);
+ 		void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode);
+-		IssmDouble GetHydrologyKMatrixTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input);
+-		IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input, Input* epl_head_input, Input* thick_input, Input* base_input);
++		IssmDouble GetHydrologyKMatrixTransfer(Element* element);
++		IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* epl_head_input);
+ 		void ElementizeEplMask(FemModel* femmodel);
+ };
+ #endif
Index: /issm/oecreview/Archive/21337-21723/ISSM-21436-21437.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21436-21437.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21436-21437.diff	(revision 21726)
@@ -0,0 +1,546 @@
+Index: ../trunk-jpl/src/m/plot/plot_manager.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.js	(revision 21436)
++++ ../trunk-jpl/src/m/plot/plot_manager.js	(revision 21437)
+@@ -14,10 +14,9 @@
+ 	var canvas = initCanvas(options);
+ 	var gl = canvas.gl;
+ 	//TODO: each plot_ should add their node to the canvas.node array
+-
+ 	//figure out if this is a special plot
+ 	if (typeof data === 'string'){
+-
++		
+ 		switch(data){
+ 
+ 			case 'boundaries':
+Index: ../trunk-jpl/src/m/plot/webgl.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/webgl.js	(revision 21436)
++++ ../trunk-jpl/src/m/plot/webgl.js	(revision 21437)
+@@ -1,5 +1,7 @@
+ /*This is where we have all our webgl relevant functionality for the plotting routines: */
+ 
++/*This is where we have all our webgl relevant functionality for the plotting routines: */
++
+ //{{{ Canvas Initialization
+ function initCanvas(options) {
+ 	//Initialize open Gl for each canvas, if needed: 
+@@ -91,9 +93,50 @@
+ 	var backgroundcolor = new RGBColor(options.getfieldvalue('backgroundcolor','lightcyan'));
+ 	if (backgroundcolor.ok) { canvas.backgroundcolor = [backgroundcolor.r/255.0, backgroundcolor.g/255.0, backgroundcolor.b/255.0, 1.0]; }
+ 	else { throw Error(sprintf('s%s%s\n','initWebGL error message: cound not find out background color for curent canvas ',canvas)); }
+-	
++
++	//TODO: Make permalinks more robust and less interdependent on UI
++	//Override with parameters from URL, if any
++	if (!canvas.usedparemters) {
++		function getJsonFromUrl() {
++			var query = location.search.substr(1);
++			var result = {};
++			query.split("&").forEach(function(part) {
++				var item = part.split("=");
++				result[item[0]] = decodeURIComponent(item[1]);
++			});
++			return result;
++		}
++		parameters = getJsonFromUrl();
++		
++		if (parameters["rotation"]) {
++			canvas.rotation = JSON.parse(parameters["rotation"]);
++		}
++		if (parameters["view"]) {
++			canvas.view = JSON.parse(parameters["view"]);
++		}
++		if (parameters["zoom"]) {
++			canvas.zoom = JSON.parse(parameters["zoom"]);
++		}
++		if (parameters["initial"]) {
++			initial = JSON.parse(parameters["initial"]);
++			if (!initial) {
++				if (typeof SolveGlacier == 'function') {
++					SolveGlacier();
++				}
++				if (typeof SolveSlr == 'function') {
++					SolveSlr();
++				}
++			}
++		}
++		canvas.usedparemters = true;
++	}
++
+ 	return gl;
+ } //}}}
++function generatePermalink() { //{{{
++	var permalink = window.location.origin + window.location.pathname + "?rotation=" + JSON.stringify(canvas.rotation) + "&view=" + JSON.stringify(canvas.view) + "&zoom=" + JSON.stringify(canvas.zoom) + "&initial=" + JSON.stringify(initial);
++	window.prompt("Share this simulation: ", permalink);
++} //}}}
+ function loadShaders(gl,rootPath) { //{{{
+ 	var shaders = {};
+ 	shaders.Colored = new GL.Shader.fromURL(rootPath+'shaders/Colored.vsh', rootPath+'shaders/Colored.fsh', null, gl);
+Index: ../trunk-jpl/src/m/plot/plot_quiver.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_quiver.js	(revision 21436)
++++ ../trunk-jpl/src/m/plot/plot_quiver.js	(revision 21437)
+@@ -1,32 +1,30 @@
+-function plot_quiver(md,options,canvas) { //{{{
+-	//PLOT_QUIVER - quiver plot with colors
++function plot_unit(md,data,datatype,options,canvas) { //{{{
++	//PLOT_UNIT - unit plot, display data
+ 	//
+ 	//   Usage:
+-	//      plot_quiver(md,options,canvas)
++	//      plot_unit(md,data,options,canvas);
+ 	//
+ 	//   See also: PLOTMODEL, PLOT_MANAGER
+ 
+ 	//declare variables:  {{{
+-	var vertices = [];
+-	var indices = [];
+-	var colors = [];
+-	var xmin,xmax;
+-	var ymin,ymax;
+-	var zmin,zmax;
+-	var scale,matrixscale,vertexscale;
+-	
+ 	//Process data and model
+-	var meshresults = processmesh(md,[],options);
++	var meshresults = processmesh(md,data,options);
+ 	var x = meshresults[0]; 
+ 	var y = meshresults[1]; 
+ 	var z = meshresults[2]; 
+-	var elements = meshresults[3]; 
++	var elements = meshresults[3];
+ 	var is2d = meshresults[4]; 
+ 	var isplanet = meshresults[5];
+-	var v = md.initialization.vel;
+-	var vx = md.initialization.vx;
+-	var vy = md.initialization.vy;
+-		
++	
++	var vertices = new Float32Array(x.length * 3);
++	var texcoords = new Float32Array(x.length * 2);
++	var indices = new Uint16Array(elements.length * 3);
++	var nanindices = {};
++	var xmin,xmax;
++	var ymin,ymax;
++	var zmin,zmax;
++	var datamin,datamax,datadelta;
++	var matrixscale,vertexscale;
+ 	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
+ 	if (!md.geometry.surface) {
+ 		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
+@@ -57,81 +55,243 @@
+ 	ymax = ylim[1];
+ 	zmin = zlim[0];
+ 	zmax = zlim[1];
++	var caxis;
+ 
+ 	//Compute gl variables:
+ 	var gl = canvas.gl;
+ 	var node = Node(gl);
+ 	canvas.nodes[canvas.nodes.length] = node;
+-	node.name = "quiver";
+-	node.shaderName = "Colored";
++	canvas.unitNode = node;
++	node.name = "unit";
++	node.shaderName = "Textured";
+ 	node.shader = gl.shaders[node.shaderName];
+-	node.lineWidth = options.getfieldvalue('linewidth',1);
+ 	node.scale = [1, 1, matrixscale];
+ 	node.rotation = [-90, 0, 0];
+ 	node.translation = [0, 0, 0];
+ 	node.center = [(xmin + xmax) / 2, (ymin + ymax) / 2, (zmin + zmax) / 2];
+-	node.drawMode = gl.LINES;
+-	node.useIndexBuffer = false;
+-	node.drawOrder = 0;
++	node.alpha = options.getfieldvalue('alpha',1.0);
++	node.drawOrder = 1;
+ 	node.maskEnabled = options.getfieldvalue('innermask','off') == 'on';
+-	node.maskHeight = options.getfieldvalue('innermaskheight',150.0)*options.getfieldvalue('heightscale',1);
++	node.maskHeight = options.getfieldvalue('innermaskheight',150.0);
+ 	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0,0.0,1.0,1.0]);
++	node.enabled = options.getfieldvalue('nodata','off') == 'off';
+ 	updateModelMatrix(node);
+ 
+-	//retrieve some options
+-	var edgecolor=new RGBColor(options.getfieldvalue('edgecolor','black'));
+-	if (edgecolor.ok) edgecolor = [edgecolor.r/255.0, edgecolor.g/255.0, edgecolor.b/255.0, 1.0];
+-	else throw Error(sprintf("s%s%s\n","initWebGL error message: cound not find out edgecolor color for curent canvas ",canvas));
++	switch(datatype){
++		//element plot {{{
++		case 1:
++			pos=ArrayFindNot(data,NaN); //needed for element on water
++			if (elements[0].length==6){ //prisms
++			}
++			else if (elements[0].length==4){ //tetras
++			}
++			else{ //2D triangular elements
++			}
++			break;
++		//}}}
++		//node plot {{{
++		case 2:
++			if (elements[0].length==6){ //prisms
++			}
++			else if (elements[0].length==4){ //tetras
++			}
++			else{ //triangular elements	
++				caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
++				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10)),Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log',10))];
++				datamin = caxis[0];
++				datamax = caxis[1];
++				datadelta = datamax - datamin;
+ 
+-	//node plot {{{
+-	if (elements[0].length==6){ //prisms
+-	}
+-	else if (elements[0].length==4){ //tetras
+-	}
+-	else{ //2D triangular elements
+-		var xyz = vec3.create();
+-		var xyz = vec3.create();
+-		var direction = vec3.create();
+-		var vertex = vec3.create();
+-		var vertexBase = vec3.create();
+-		var verticesArrow = [vec3.fromValues(0.0, 0.0, 0.0), vec3.fromValues(1.0, 0.0, 0.0), vec3.fromValues(0.667, -0.167, 0.0), vec3.fromValues(1.0, 0.0, 0.0), vec3.fromValues(0.667, 0.166, 0.0), vec3.fromValues(1.0, 0.0, 0.0)];
+-		var magnitude;
+-		var color = edgecolor;
+-		var scaling = options.getfieldvalue('scaling',1);
+-		var scale;
+-		for(var i = 0; i < x.length; i++){
+-			//Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
+-			if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i])) continue;
+-			//Scale vertices
+-			xyz = vec3.fromValues(x[i], y[i], z[i]);
+-			magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
+-			vec3.normalize(direction, xyz);
+-			vec3.scale(vertex, direction, magnitude);
+-			vec3.copy(vertexBase, vertex);
+-			
+-			scale = scaling*v[i];
+-			var modelMatrix = mat4.create();
+-			var scaleMatrix = mat4.create();
+-			var rotationMatrix = mat4.create();
+-			mat4.scale(scaleMatrix, scaleMatrix, vec3.fromValues(scale, scale, scale));
+-			mat4.rotate(rotationMatrix, rotationMatrix, Math.atan2(vy[i], vx[i]), [0.0, 0.0, 1.0]);
+-			mat4.multiply(modelMatrix, rotationMatrix, scaleMatrix);
++				var xyz = vec3.create();
++				var direction = vec3.create();
++				var vertex = vec3.create();
++				var magnitude;
+ 
+-			var temp = vec3.fromValues(0.0, 0.0, 0.0);
+-			for (var j = 0; j < 6; j++){
+-				vec3.transformMat4(vertex, verticesArrow[j], modelMatrix);
+-				vec3.add(vertex, vertex, vertexBase);
+-				vertices[vertices.length] = vertex[0];
+-				vertices[vertices.length] = vertex[1];
+-				vertices[vertices.length] = vertex[2];
++				for(var i = 0, vindex = 0, tindex = 0; i < x.length; i++){
++					//Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
++					if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i]) || isNaN(data[i])) {
++						nanindices[i] = i;
++						vertices[vindex++] = vertex[0];
++						vertices[vindex++] = vertex[1];
++						vertices[vindex++] = vertex[2];
++						
++						texcoords[tindex++] = 0.5;
++						texcoords[tindex++] = 0.0;
++						continue;
++					}
++
++					//Scale vertices
++					xyz = vec3.fromValues(x[i], y[i], z[i]);
++					magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
++					vec3.normalize(direction, xyz);
++					vec3.scale(vertex, direction, magnitude);
++					vertices[vindex++] = vertex[0];
++					vertices[vindex++] = vertex[1];
++					vertices[vindex++] = vertex[2];
++
++					texcoords[tindex++] = 0.5;
++					texcoords[tindex++] = clamp((data[i] - datamin) / datadelta, 0.0, 1.0);
++				}
++
++				//linearize the elements array: 
++				var element;
++				for(var i = 0, iindex = 0; i < elements.length; i++){
++					element = [elements[i][0] - 1, elements[i][1] - 1, elements[i][2] - 1];
++					if (element[0] in nanindices || element[1] in nanindices || element[2] in nanindices) continue;
++					indices[iindex++] = element[0];
++					indices[iindex++] = element[1];
++					indices[iindex++] = element[2];
++				}
++			}
++			node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords, triangles:indices}, null, null, gl);
++			node.mesh.octree = new GL.Octree(node.mesh);
++			break;
++		//}}}
++		//quiver plot {{{
++		case 3:
++			if (is2d){
++				//plot_quiver(x,y,data(:,1),data(:,2),options);
++			}
++			else{
++				//plot_quiver3(x,y,z,data(:,1),data(:,2),data(:,3),options);
++			}
++			break;
++		//}}}
++		//node transient plot {{{
++		case 5:
++			if (elements[0].length==6){ //prisms
++			}
++			else if (elements[0].length==4){//tetras
++			}
++			else{ //triangular elements
++				var xyz = vec3.create();
++				var direction = vec3.create();
++				var vertex = vec3.create();
++				var magnitude;
++				var timestamps = data[data.length-1];
++				for(var i = 0, vindex = 0, tindex = 0; i < x.length; i++){
++					//Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
++					if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i]) || isNaN(data[i][0])) {
++						nanindices[i] = i;
++					}
++					else {
++						//Scale vertices
++						xyz = vec3.fromValues(x[i], y[i], z[i]);
++						magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
++						vec3.normalize(direction, xyz);
++						vec3.scale(vertex, direction, magnitude);
++					}
++					vertices[vindex++] = vertex[0];
++					vertices[vindex++] = vertex[1];
++					vertices[vindex++] = vertex[2];
++				}	
++				//Transpose data to obtain column addressable data matrix
++				data = data[0].map(function(col, i) { 
++					return data.map(function(row) { 
++						return row[i]
++					})
++				});
++				//Prevent evaluation of datasubarray min/max if caxis exists
++				if (options.exist('caxis')) caxis = options.getfieldvalue('caxis');
++				else caxis = [ArrayMin(data[0]),ArrayMax(data[0].slice(0,-1))];
++				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10)),Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log',10))];
++				//Prepare texcoords to hold array of data values
++				texcoords = [];
++				for(var i = 0; i < data.length; i++){					
++					datamin = caxis[0];
++					datamax = caxis[1];
++					datadelta = datamax - datamin;
++					//Precalculate arrays for each datasubarray, trimming off timestamp value by using x.length instead of data[i].length
++					texcoords[i] = new Float32Array(x.length * 2);
++					for(var j = 0, index = 0; j < x.length; j++){
++						texcoords[i][index++] = 0.5;
++						texcoords[i][index++] = clamp((data[i][j] - datamin) / datadelta, 0.0, 1.0);
++					}
++				}
+ 				
+-				colors[colors.length] = color[0];
+-				colors[colors.length] = color[1];
+-				colors[colors.length] = color[2];
+-				colors[colors.length] = color[3];
++				//linearize the elements array:
++				var element;
++				for(var i = 0, iindex = 0; i < elements.length; i++){
++					element = [elements[i][0] - 1, elements[i][1] - 1, elements[i][2] - 1];
++					if (element[0] in nanindices || element[1] in nanindices || element[2] in nanindices) continue;
++					indices[iindex++] = element[0];
++					indices[iindex++] = element[1];
++					indices[iindex++] = element[2];
++				}
++				var frame =
++				//Initialize movie loop
++				node.movieLoop = canvas.movieOptions.loop;
++				node.movieInterval = 1000 / canvas.movieOptions.fps;
++				node.movieTimestamps = timestamps;
++				node.movieLength = timestamps.length;
++				node.movieFrame = 0;
++
++				var quiverVelFrames = {};
++				for(var i=0; i < md.results.length; i++){
++					quiverVelFrames[Math.floor(md.results[i].time)] = md.results[i];
++				}
++
++				if (canvas.movieHandler) { clearInterval(canvas.movieHandler); }
++				canvas.movieHandler = setInterval(function () {
++						node.movieFrame = canvas.movieFrame;
++						if (canvas.moviePlay && canvas.movieIncrement) {
++							if (canvas.movieReverse) {
++								if (node.movieFrame == 0) {
++									if (node.movieLoop) {
++										node.movieFrame = node.movieLength - 1;
++									}
++									else {
++										toggleMoviePlay(canvas);
++									}
++								}
++								else {
++									node.movieFrame = node.movieFrame - 1;
++								}
++							}
++							else { 
++								if (node.movieFrame == node.movieLength - 1) {
++									if (node.movieLoop) {
++										node.movieFrame = 0;
++									}
++									else { 
++										toggleMoviePlay(canvas);
++									}
++								}
++								else {
++									node.movieFrame = node.movieFrame + 1;
++								}
++							}
++						}
++						if (canvas.progressBar) {
++							canvas.progressBar.val(node.movieFrame);
++							canvas.progressBar.slider('refresh');
++						}
++						if (canvas.timeLabel) { canvas.timeLabel.html(node.movieTimestamps[node.movieFrame].toFixed(0) + " " + options.getfieldvalue("movietimeunit","yr")); }
++
++						var buffer = node.mesh.getBuffer("coords");
++						buffer.data = texcoords[node.movieFrame];
++						buffer.upload(canvas.gl.DYNAMIC_DRAW);
++						node.mesh.octree = new GL.Octree(node.mesh);
++					
++						if(options.getfieldvalue('quiver') == 'data'){
++							plot_quiver(md,options,canvas, {vel:quiverVelFrames[node.movieFrame].Vel, vx:quiverVelFrames[node.movieFrame].Vx, vy:quiverVelFrames[node.movieFrame].Vy});
++
++						}
++						canvas.movieFrame = node.movieFrame;
++					}, node.movieInterval);
++				if (canvas.progressBar) {
++					canvas.movieFrame = 0;
++					canvas.progressBar.val(0);
++					canvas.progressBar.attr('max', node.movieLength-1);
++					canvas.progressBar.slider('refresh');
++				}
++				
+ 			}
+-		}
++			node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords[0], triangles:indices}, null, null, gl);
++			node.mesh.octree = new GL.Octree(node.mesh);
++			break;
++		//}}}
++		default:
++			throw Error(sprintf("%s%i%s\n",'case ',datatype,' not supported'));
+ 	}
+-	//}}}
+-	node.mesh = GL.Mesh.load({vertices:vertices, colors:colors}, null, null, gl);
+ } //}}}
+Index: ../trunk-jpl/src/m/plot/plot_unit.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.js	(revision 21436)
++++ ../trunk-jpl/src/m/plot/plot_unit.js	(revision 21437)
+@@ -25,7 +25,6 @@
+ 	var zmin,zmax;
+ 	var datamin,datamax,datadelta;
+ 	var matrixscale,vertexscale;
+-
+ 	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
+ 	if (!md.geometry.surface) {
+ 		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
+@@ -219,13 +218,19 @@
+ 					indices[iindex++] = element[1];
+ 					indices[iindex++] = element[2];
+ 				}
+-			
++				var frame =
+ 				//Initialize movie loop
+ 				node.movieLoop = canvas.movieOptions.loop;
+ 				node.movieInterval = 1000 / canvas.movieOptions.fps;
+ 				node.movieTimestamps = timestamps;
+ 				node.movieLength = timestamps.length;
+ 				node.movieFrame = 0;
++
++				var quiverVelFrames = {};
++				for(var i=0; i < md.results.length; i++){
++					quiverVelFrames[Math.floor(md.results[i].time)] = md.results[i];
++				}
++
+ 				if (canvas.movieHandler) { clearInterval(canvas.movieHandler); }
+ 				canvas.movieHandler = setInterval(function () {
+ 						node.movieFrame = canvas.movieFrame;
+@@ -267,7 +272,11 @@
+ 						buffer.data = texcoords[node.movieFrame];
+ 						buffer.upload(canvas.gl.DYNAMIC_DRAW);
+ 						node.mesh.octree = new GL.Octree(node.mesh);
++					
++						if(options.getfieldvalue('quiver') == 'data'){
++							plot_quiver(md,options,canvas, {vel:quiverVelFrames[node.movieFrame].Vel, vx:quiverVelFrames[node.movieFrame].Vx, vy:quiverVelFrames[node.movieFrame].Vy});
+ 
++						}
+ 						canvas.movieFrame = node.movieFrame;
+ 					}, node.movieInterval);
+ 				if (canvas.progressBar) {
+Index: ../trunk-jpl/src/m/classes/clusters/generic.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic.js	(revision 21436)
++++ ../trunk-jpl/src/m/classes/clusters/generic.js	(revision 21437)
+@@ -42,7 +42,7 @@
+ 
+ 			fid=fopen(modelname+'.queue','w');
+ 			fprintf(fid,'#!%s\n',cluster.shell);
+-			fprintf(fid,'mpiexec -np %i %s/%s %s %s %s 2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,executable,solution,cluster.executionpath+'/'+dirname,modelname,modelname,modelname);					
++			fprintf(fid,'mpiexec -np %i %s/%s %s %s %s 2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,executable,EnumToString(solution),cluster.executionpath+'/'+dirname,modelname,modelname,modelname);					
+ 			fclose(fid);
+ 	} //}}}
+ 	this.UploadAndRun = function (md,callbackfunction,callbackerrorfunction,callbackid,fid,toolkitsstring,solutionstring,name,runtimename) { //{{{
+@@ -91,7 +91,7 @@
+ 				return buf;
+ 			}
+ 			var responseText = window.atob(request.responseText.slice(request.position + 10).replace(/\s/g, ''));
+-            var buffer = str2ab(responseText);
++            var buffer = pako.inflate(str2ab(responseText));
+ 			var returnBuffer = new Uint8Array(buffer);
+ 			var returnBuffer_size = returnBuffer.byteLength;
+ 			try {
+@@ -114,35 +114,42 @@
+ 		}; //}}}
+ 		
+ 		var npbuffer = this.str2ab(md.cluster.np.toString());
++		npbuffer = pako.deflate(npbuffer);
+ 		var nplength = new Uint32Array(1);
+ 		nplength[0] = npbuffer.byteLength;
+ 		
+ 		var codeversionbuffer = this.str2ab(md.cluster.codeversion.toString());
++		codeversionbuffer = pako.deflate(codeversionbuffer);
+ 		var codeversionlength = new Uint32Array(1);
+ 		codeversionlength[0] = codeversionbuffer.byteLength;
+ 		
+ 		var runtimenamebuffer = this.str2ab(runtimename);
++		runtimenamebuffer = pako.deflate(runtimenamebuffer);
+ 		var runtimenamelength = new Uint32Array(1);
+ 		runtimenamelength[0] = runtimenamebuffer.byteLength;
+ 		
+ 		var namebuffer = this.str2ab(name);
++		namebuffer = pako.deflate(namebuffer);
+ 		var namelength = new Uint32Array(1);
+ 		namelength[0] = namebuffer.byteLength;
+ 		
+ 		var toolkitsbuffer = this.str2ab(toolkitsstring);
++		toolkitsbuffer = pako.deflate(toolkitsbuffer);
+ 		var toolkitslength = new Uint32Array(1);
+ 		toolkitslength[0] = toolkitsbuffer.byteLength;
+ 		
+ 		var solutionbuffer = this.str2ab(solutionstring);
++		solutionbuffer = pako.deflate(solutionbuffer);
+ 		var solutionlength = new Uint32Array(1);
+ 		solutionlength[0] = solutionbuffer.byteLength;
+ 		
+-		var binbuffer = new Uint8Array(fid.rawbuffer()); //seems that 16 array bytes length could be incompatible.
++		var binbuffer = new Uint8Array(fid.rawbuffer()); //seems that 16 bits length could be incompatible.
++		binbuffer = pako.deflate(binbuffer);
+ 		var binlength = new Uint32Array(1);
+ 		binlength[0] = binbuffer.byteLength;
+ 		
+ 		var data = new Blob([nplength,npbuffer,codeversionlength,codeversionbuffer,runtimenamelength,runtimenamebuffer,namelength,namebuffer,toolkitslength,toolkitsbuffer,solutionlength,solutionbuffer,binlength,binbuffer]);
+-	
++		
+ 		request.open("POST", this.url, true);
+ 		request.responseType = 'application/octet-stream';
+ 		request.send(data);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21437-21438.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21437-21438.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21437-21438.diff	(revision 21726)
@@ -0,0 +1,126 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21437)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21438)
+@@ -234,8 +234,8 @@
+ 		gauss           ->GaussPoint(ig);
+ 		basalelement    ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 
+-		epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_head_input,epl_thick_input,base_input);
+-		epl_storing				= EplStoring(basalelement,gauss,epl_head_input,epl_thick_input,base_input);
++		epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input);
++		epl_storing				= EplStoring(basalelement,gauss,epl_thick_input);
+ 
+ 		/*Diffusivity*/
+ 		D_scalar=epl_transmitivity*gauss->weight*Jdet;
+@@ -347,7 +347,7 @@
+ 		basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		basalelement ->NodalFunctions(basis,gauss);
+ 
+-		epl_storing	= EplStoring(basalelement,gauss,epl_head_input,epl_thick_input,base_input);
++		epl_storing	= EplStoring(basalelement,gauss,epl_thick_input);
+ 		/*Loading term*/
+ 		water_input->GetInputValue(&water_load,gauss);
+ 		scalar = Jdet*gauss->weight*(water_load);
+@@ -654,6 +654,7 @@
+ 	IssmDouble* sedhead       =xNew<IssmDouble>(numnodes);
+ 	IssmDouble* eplhead       =xNew<IssmDouble>(numnodes);
+ 	IssmDouble* residual      =xNew<IssmDouble>(numnodes);
++	IssmDouble* base          =xNew<IssmDouble>(numnodes);
+ 	
+ 	IssmDouble init_thick    =basalelement->GetMaterialParameter(HydrologydcEplInitialThicknessEnum);
+ 	IssmDouble colapse_thick =basalelement->GetMaterialParameter(HydrologydcEplColapseThicknessEnum);
+@@ -666,6 +667,7 @@
+ 	basalelement-> GetInputListOnVertices(&sedhead[0],SedimentHeadEnum);
+ 	basalelement-> GetInputListOnVertices(&eplhead[0],EplHeadEnum);
+ 	basalelement-> GetInputListOnVertices(&residual[0],SedimentHeadResidualEnum);
++	basalelement-> GetInputListOnVertices(&base[0],BaseEnum);
+ 
+ 	/*Get minimum sediment head of the element*/
+ 	sedheadmin=sedhead[0];
+@@ -690,6 +692,11 @@
+ 				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+ 				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+ 			}
++			/*If epl head gets under base elevation, close the layer*/
++			else if(eplhead[i]<base[i]){
++				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
++				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			}
+ 		}
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+ 		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
+@@ -713,51 +720,31 @@
+ 	xDelete<IssmDouble>(sedhead);
+ 	xDelete<IssmDouble>(eplhead);
+ 	xDelete<IssmDouble>(residual);
++	xDelete<IssmDouble>(base);
+ }
+ /*}}}*/
+-IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input){/*{{{*/
++IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input* epl_thick_input){/*{{{*/
+ 	IssmDouble epl_storing;
+-	IssmDouble storing,water_sheet;
+-	IssmDouble base_elev,prestep_head,epl_thick;
++	IssmDouble epl_thick;
+ 	IssmDouble rho_freshwater        = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+ 	IssmDouble g                     = element->GetMaterialParameter(ConstantsGEnum);
+ 	IssmDouble epl_porosity					 = element->GetMaterialParameter(HydrologydcEplPorosityEnum);
+ 	IssmDouble epl_compressibility	 = element->GetMaterialParameter(HydrologydcEplCompressibilityEnum);
+ 	IssmDouble water_compressibility = element->GetMaterialParameter(HydrologydcWaterCompressibilityEnum);
+ 
+-	base_input->GetInputValue(&base_elev,gauss);
+-	epl_head_input->GetInputValue(&prestep_head,gauss);
+ 	epl_thick_input->GetInputValue(&epl_thick,gauss);
+ 	
+-	water_sheet=max(0.0,(prestep_head-base_elev));
+-	
+-	storing=rho_freshwater*g*epl_porosity*epl_thick*(water_compressibility+(epl_compressibility/epl_porosity));
+-	//porosity for unconfined region
+-	if (water_sheet<=0.9*epl_thick){
+-		epl_storing=epl_porosity;
+-	}
+-	//continuity ramp
+-	else if((water_sheet<epl_thick) && (water_sheet>0.9*epl_thick)){
+-		epl_storing=(epl_thick-water_sheet)*(epl_porosity-storing)/(0.1*epl_thick)+storing;
+-	}
+-	//storing coefficient for confined
+-	else{
+-		epl_storing=storing;
+-	}
++	epl_storing=rho_freshwater*g*epl_porosity*epl_thick*(water_compressibility+(epl_compressibility/epl_porosity));
+ 	return epl_storing;
+ }/*}}}*/
+ 
+-IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input){/*{{{*/
++IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input){/*{{{*/
+ 	IssmDouble epl_transmitivity;
+-	IssmDouble base_elev,prestep_head,epl_thick;
+-	IssmDouble water_sheet;
++	IssmDouble epl_thick;
+ 	IssmDouble epl_conductivity      = element->GetMaterialParameter(HydrologydcEplConductivityEnum);
+-	base_input->GetInputValue(&base_elev,gauss);
+-	epl_head_input->GetInputValue(&prestep_head,gauss);
+ 	epl_thick_input->GetInputValue(&epl_thick,gauss);
+ 
+-	water_sheet=max(0.0,(prestep_head-base_elev));
+-	epl_transmitivity=epl_conductivity*min(water_sheet,epl_thick);
++	epl_transmitivity=epl_conductivity*epl_thick;
+ 
+ 	return epl_transmitivity;
+ }/*}}}*/
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h	(revision 21437)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h	(revision 21438)
+@@ -37,8 +37,8 @@
+ 		void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
+ 		IssmDouble GetHydrologyKMatrixTransfer(Element* element);
+ 		IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input);
+-		IssmDouble EplStoring(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input);
+-		IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input* epl_head_input, Input* epl_thick_input, Input* base_input);
++		IssmDouble EplStoring(Element* element,Gauss* gauss, Input* epl_thick_input);
++		IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input);
+ 		void HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask, Vector<IssmDouble>* recurence, int* eplzigzag_counter, Element* element);
+ 		void HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element);
+ 		void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21438-21439.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21438-21439.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21438-21439.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21438)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21439)
+@@ -692,11 +692,11 @@
+ 				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+ 				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+ 			}
+-			/*If epl head gets under base elevation, close the layer*/
+-			else if(eplhead[i]<base[i]){
+-				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+-				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			}
++			/* /\*If epl head gets under base elevation, close the layer*\/ */
++			/* else if(eplhead[i]<base[i]){ */
++			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
++			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
++			/* } */
+ 		}
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+ 		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21439-21440.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21439-21440.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21439-21440.diff	(revision 21726)
@@ -0,0 +1,237 @@
+Index: ../trunk-jpl/src/m/plot/plotmodel.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotmodel.py	(revision 21439)
++++ ../trunk-jpl/src/m/plot/plotmodel.py	(revision 21440)
+@@ -1,17 +1,17 @@
+ import numpy as  np
+ from plotoptions import plotoptions
+ from plotdoc import plotdoc
++from plot_manager import plot_manager
++from math import ceil, sqrt
+ 
+ try:
+ 	import pylab as p
+ 	import matplotlib.pyplot as plt
+-        from mpl_toolkits.axes_grid1 import ImageGrid, AxesGrid
++	from mpl_toolkits.axes_grid1 import ImageGrid, AxesGrid
++	from mpl_toolkits.mplot3d import Axes3D
+ except ImportError:
+ 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
+ 
+-from plot_manager import plot_manager
+-from math import ceil, sqrt
+-
+ def plotmodel(md,*args):
+ 	'''	at command prompt, type 'plotdoc()' for additional documentation
+ 	'''
+@@ -82,7 +82,7 @@
+ 		cbar_size=options.list[0].getfieldvalue('colorbarsize','5%')
+ 		cbar_pad=options.list[0].getfieldvalue('colorbarpad','2.5%') # None or %
+ 
+-		axgrid=ImageGrid(fig, 111,
++		axgrid=ImageGrid(fig,111,
+ 				nrows_ncols=(nrows,ncols),
+ 				ngrids=plotnum,
+ 				direction=direction,
+@@ -93,16 +93,14 @@
+ 				cbar_mode=cbar_mode,
+ 				cbar_location=cbar_location,
+ 				cbar_size=cbar_size,
+-				cbar_pad=cbar_pad
+-				)
++				cbar_pad=cbar_pad)
+ 
+ 		if cbar_mode=='None':
+ 			for ax in axgrid.cbar_axes: 
+ 				fig._axstack.remove(ax)
+ 
+-		for i in xrange(numberofplots):
+-			plot_manager(options.list[i].getfieldvalue('model',md),options.list[i],fig,axgrid[i])
+-
++		for i,ax in enumerate(axgrid.axes_all):
++			plot_manager(options.list[i].getfieldvalue('model',md),options.list[i],fig,axgrid,i)
+ 		fig.show()
+ 	else:
+ 		raise StandardError('plotmodel error message: no output data found.')
+Index: ../trunk-jpl/src/m/plot/plot_manager.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21439)
++++ ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21440)
+@@ -23,7 +23,7 @@
+ if overlaysupport:
+ 	from plot_overlay import plot_overlay
+ 
+-def plot_manager(md,options,fig,ax):
++def plot_manager(md,options,fig,axgrid,gridindex):
+ 	'''
+ 	PLOT_MANAGER - distribute the plots called by plotmodel
+ 
+@@ -45,6 +45,7 @@
+ 	#add ticklabel has a default option
+ 	options.addfielddefault('ticklabels','on')
+ 
++	ax=axgrid[gridindex]
+ 	# {{{ basemap plot TOFIX
+ 	#if options.exist('basemap'):
+ 	#	plot_basemap(md,data,options,nrows,ncols,i)
+@@ -59,7 +60,8 @@
+ 	# {{{ dealing with special plot
+ 	if isinstance(data,(str,unicode)):
+ 		if data=='mesh': 
+-			plot_mesh(md,options,fig,ax)
++			plot_mesh(md,options,fig,axgrid,gridindex)
++
+ 			#fig.delaxes(fig.axes[1]) # hack to remove colorbar after the fact
+ 			return
+ 		elif data=='BC': 
+Index: ../trunk-jpl/src/m/plot/processmesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/processmesh.py	(revision 21439)
++++ ../trunk-jpl/src/m/plot/processmesh.py	(revision 21440)
+@@ -14,53 +14,35 @@
+ 	# {{{ check mesh size parameters
+ 	if md.mesh.numberofvertices==0:
+ 		raise ValueError('processmesh error: mesh is empty')
+-		if md.mesh.numberofvertices==md.mesh.numberofelements:
+-			raise ValueError('processmesh error: the number of elements is the same as the number of nodes')
++	if md.mesh.numberofvertices==md.mesh.numberofelements:
++		raise ValueError('processmesh error: the number of elements is the same as the number of nodes')
+ 	# }}}
+-	# {{{ treating non data plots mesh
+-	if len(data)==0 or not isinstance(data,dict):
+-		if 'latlon' not in options.getfieldvalue('coord','xy').lower(): #convert to lower case for comparison
+-			try:
+-				x=md.mesh.x2d
+-			except AttributeError:
+-				x=md.mesh.x
+-			try:
+-				y=md.mesh.y2d
+-			except AttributeError:				
+-				y=md.mesh.y
+-		else:
+-			x=md.mesh.long
+-			y=md.mesh.lat
+-		try:
+-			z=md.mesh.z
+-		except AttributeError:
+-			z=np.zeros_like(md.mesh.x)
+-		
+-		try:
+-			elements=md.mesh.elements2d-1
+-		except AttributeError:
+-			elements=md.mesh.elements-1
++  # {{{ treating coordinates
+ 
+-		#is it a 2D plot?
+-		if md.mesh.dimension()==2 or options.getfieldvalue('layer',0)>=1:
+-			is2d=1
+-		else:
+-			is2d=0
++	try:
++		z=md.mesh.z
++	except AttributeError:
++		z=np.zeros(np.shape(md.mesh.x))
++	elements=md.mesh.elements-1
++	
++	if options.getfieldvalue('layer',0)>=1:
++		x=md.mesh.x2d
++		y=md.mesh.y2d
++		z=np.zeros(np.shape(x))
++		elements=md.mesh.elements2d-1
++	elif 'latlon' in options.getfieldvalue('coord','xy'):
++		x=md.mesh.long
++		y=md.mesh.lat
++	else:
++		x=md.mesh.x
++		y=md.mesh.y
+ 
+-		#layer projection?
+-		if options.getfieldvalue('layer',0)>=1:
+-			 if 'latlon' in options.getfieldvalue('coord','xy').lower():
+-				 raise ValueError('processmesh error: cannot work with 3D mesh in lat-lon coords')
+-			 #we modify the mesh temporarily to a 2D mesh from which the 3D mesh was extruded
+-			 z=np.zeros(np.size(x))
+-			 elements=elements
++	#is it a 2D plot?
++	if md.mesh.dimension()==2 or options.getfieldvalue('layer',0)>=1:
++		is2d=1
+ 	else:
+-		#Process mesh for plotting 
+-		if md.mesh.dimension()==2:
+-			is2d=1
+-		else:
+-			# process polycollection here for 3D plot
+-			is2d=0
++		is2d=0
++		
+ 	#units
+ 	if options.exist('unit'):
+ 		unit=options.getfieldvalue('unit')
+Index: ../trunk-jpl/src/m/plot/plot_mesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21439)
++++ ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21440)
+@@ -2,11 +2,13 @@
+ 	import pylab as p
+ except ImportError:
+ 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
+-
++import numpy as np
++import matplotlib as mpl
+ from processmesh import processmesh
+ from applyoptions import applyoptions
+-
+-def plot_mesh(md,options,fig,ax):
++from matplotlib.patches import Polygon
++from mpl_toolkits.mplot3d.art3d import Line3DCollection
++def plot_mesh(md,options,fig,axgrid,gridindex):
+ 	'''
+ 	PLOT_MESH - plot model mesh
+ 
+@@ -15,14 +17,42 @@
+ 
+ 		See also: PLOTMODEL
+ 	'''
++	x,y,z,elements,is2d,isplanet=processmesh(md,'mesh',options)
+ 
+-	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
+-
++	ax=axgrid[gridindex]
++	fig.delaxes(axgrid.cbar_axes[gridindex])
++	
+ 	if is2d:
+ 		ax.triplot(x,y,elements)
+ 	else:
+-		print 'WARNING: only 2D mesh plot is currently implemented'
+-	
++		fig.delaxes(ax)
++		geom=int(str(axgrid.get_geometry()[0])+str(axgrid.get_geometry()[1])+str(gridindex+1))
++		ax = fig.add_subplot(geom,projection='3d')
++
++		AB=elements[:,0:2]
++		BC=elements[:,1:3]
++		CA=np.vstack((elements[:,2],elements[:,0])).T
++		DE=elements[:,3:5]
++		EF=elements[:,4:]
++		FD=np.vstack((elements[:,5],elements[:,3])).T
++		AD=np.vstack((elements[:,0],elements[:,3])).T
++		BE=np.vstack((elements[:,1],elements[:,4])).T
++		CF=np.vstack((elements[:,2],elements[:,5])).T
++
++		tmpa=np.vstack((AB,BC,CA,DE,EF,FD,AD,BE,CF))
++		#deleting segments that appear multiple times
++		tmpb = np.ascontiguousarray(tmpa).view(np.dtype((np.void, tmpa.dtype.itemsize * tmpa.shape[1])))
++		_, idx = np.unique(tmpb, return_index=True)
++		triel= tmpa[idx]
++		
++		for triangle in triel:
++			tri=zip(x[triangle],y[triangle],z[triangle])
++			pl3=Line3DCollection([tri],edgecolor='r')
++			ax.add_collection3d(pl3)
++
++		ax.set_xlim([min(x),max(x)])
++		ax.set_ylim([min(y),max(y)])
++		ax.set_zlim([min(z),max(z)])
+ 	#apply options
+ 	options.addfielddefault('title','Mesh')
+ 	options.addfielddefault('colorbar','off')
Index: /issm/oecreview/Archive/21337-21723/ISSM-21440-21441.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21440-21441.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21440-21441.diff	(revision 21726)
@@ -0,0 +1,53 @@
+Index: ../trunk-jpl/src/m/plot/plot_vertexnumbering.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_vertexnumbering.py	(revision 0)
++++ ../trunk-jpl/src/m/plot/plot_vertexnumbering.py	(revision 21441)
+@@ -0,0 +1,48 @@
++
++
++
++try:
++	import pylab as p
++except ImportError:
++	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
++
++import numpy as  np
++from processmesh import processmesh
++from applyoptions import applyoptions
++from plot_icefront import plot_icefront
++
++def plot_vertexnumbering(md,options,fig,ax):
++    '''
++	PLOT_VERTEXNUMBERING - plot vertex numbering
++
++   	Usage:
++      	plot_vertexnumbering(md,options,fig,axes);
++
++ 	See also: PLOTMODEL
++
++	'''
++	#process data and model
++    x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
++    XLims=[np.min(x),np.max(x)]
++    YLims=[np.min(y),np.max(y)]
++    #plot mesh
++    ax.triplot(x,y,elements)
++    highlightpos=options.getfieldvalue('highlight','none')
++    if highlightpos!='none':
++        #if just one element duplicate it to avoid coloring issues
++        if type(highlightpos)==int:
++            highlightpos=[highlightpos,highlightpos]
++        #convert from to matlab numbering
++        highlightpos=[pos-1 for pos in highlightpos]
++        colors=np.asarray([0.5 for element in elements[highlightpos]])
++        ax.tripcolor(x,y,vertices[highlightpos],facecolors=colors,alpha=0.5)
++    # and numbers
++	
++    for i,element in enumerate(elements):
++        for j in [0,1,2]:
++            ax.text(x[element][j],y[element][j],str(element[j]))	
++	
++    #apply options
++    options.addfielddefault('title','Vertex numbers')
++    options.addfielddefault('colorbar','off')
++    applyoptions(md,[],options,fig,ax)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21441-21442.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21441-21442.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21441-21442.diff	(revision 21726)
@@ -0,0 +1,22 @@
+Index: ../trunk-jpl/src/m/plot/plot_manager.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21441)
++++ ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21442)
+@@ -8,6 +8,7 @@
+ from plot_mesh import plot_mesh
+ from plot_BC import plot_BC
+ from plot_elementnumbering import plot_elementnumbering
++from plot_vertexnumbering import plot_vertexnumbering
+ from processmesh import processmesh
+ from processdata import processdata
+ from plot_unit import plot_unit
+@@ -70,6 +71,9 @@
+ 		elif data=='elementnumbering': 
+ 			plot_elementnumbering(md,options,fig,ax)
+ 			return
++		elif data=='vertexnumbering': 
++			plot_vertexnumbering(md,options,fig,ax)
++			return
+ 		elif data=='none':
+ 			print 'no data provided to plot (TODO: write plot_none.py)'
+ 			applyoptions(md,[],options,fig,ax)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21442-21443.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21442-21443.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21442-21443.diff	(revision 21726)
@@ -0,0 +1,33 @@
+Index: ../trunk-jpl/src/m/plot/plotdoc.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21442)
++++ ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21443)
+@@ -17,8 +17,7 @@
+ 						'deviatoricstress_principalaxis1':' arrow plot the first principal axis of the deviatoricstress tensor(replace 1 by 2 or 3 if needed)',
+ 						'driving_stress':' plot the driving stress (in kPa)',
+ 						'elements_type':' model used for each element',
+-						'vertexnumbering':' numbering of vertices',
+-						'highlightelements':' to highlight elements to highlight the element list',
++						
+ 						'highlightvertices':' to highlight vertices (use highlight option to enter the vertex list',
+ 						'referential':' stressbalance referential',
+ 						'riftvel':' velocities along rifts',
+@@ -61,7 +60,7 @@
+ 						 'fontsize':" fontsize for the title",
+ 						 'fontweight':" fontweight for the title 'normal', 'bold'",
+ 						 'fontcolor':" TODO",
+-						 'highlight':" highlights certain nodes or elements when using 'nodenumbering' or 'elementnumbering' or 'highlightnodes ' or 'highlightelements' option",
++						 'highlight':" highlights certain nodes or elements when using 'vetrexnumbering' or 'elementnumbering' or 'highlightvertices ' or 'highlightelements' option",
+ 						 'title':" subplot title (string)",
+ 						 'xlim':" limits of X axis (all subplots) (ex: [0,500])",
+ 						 'ylim':" limits of Y axis (all subplots) (ex: [0,500])",
+@@ -90,6 +89,9 @@
+ 						 'overlayhist':" plot a histogram of overlay image, used for setting overlaylims ",
+ 						 'overlaylims':" normalized limits to clip and stretch contrast of overlay image (in [0,1], ex. [0.25,0.75]) ",
+ 						 'alpha':" set transparency of plotted data (in [0,1]) ",
++						 'vertexnumbering':' numbering of vertices',
++						 'elementnumbering':' numbering of elements (matlab indices)',
++						 'highlightelements':' to highlight elements to highlight the element list',
+ 						 'layer':"number of the layer to display for 3D runs"}
+ 
+ 	TODOoptions={'basin':" zoom on a given basin ('pineislandglacier','ronneiceshelf', use isbasin to identify a basin",
Index: /issm/oecreview/Archive/21337-21723/ISSM-21443-21444.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21443-21444.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21443-21444.diff	(revision 21726)
@@ -0,0 +1,306 @@
+Index: ../trunk-jpl/src/m/plot/plot_mesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21443)
++++ ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21444)
+@@ -8,6 +8,8 @@
+ from applyoptions import applyoptions
+ from matplotlib.patches import Polygon
+ from mpl_toolkits.mplot3d.art3d import Line3DCollection
++from mpl_toolkits.axes_grid1 import inset_locator
++from mpl_toolkits.mplot3d import Axes3D
+ def plot_mesh(md,options,fig,axgrid,gridindex):
+ 	'''
+ 	PLOT_MESH - plot model mesh
+@@ -24,11 +26,14 @@
+ 	
+ 	if is2d:
+ 		ax.triplot(x,y,elements)
++
+ 	else:
+-		fig.delaxes(ax)
+-		geom=int(str(axgrid.get_geometry()[0])+str(axgrid.get_geometry()[1])+str(gridindex+1))
+-		ax = fig.add_subplot(geom,projection='3d')
+-
++		# fig.delaxes(ax)
++		# geom=int(str(axgrid.get_geometry()[0])+str(axgrid.get_geometry()[1])+str(gridindex+1))
++		# ax = fig.add_subplot(geom,projection='3d')
++		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++		
++		
+ 		AB=elements[:,0:2]
+ 		BC=elements[:,1:3]
+ 		CA=np.vstack((elements[:,2],elements[:,0])).T
+@@ -38,7 +43,7 @@
+ 		AD=np.vstack((elements[:,0],elements[:,3])).T
+ 		BE=np.vstack((elements[:,1],elements[:,4])).T
+ 		CF=np.vstack((elements[:,2],elements[:,5])).T
+-
++		
+ 		tmpa=np.vstack((AB,BC,CA,DE,EF,FD,AD,BE,CF))
+ 		#deleting segments that appear multiple times
+ 		tmpb = np.ascontiguousarray(tmpa).view(np.dtype((np.void, tmpa.dtype.itemsize * tmpa.shape[1])))
+@@ -49,7 +54,7 @@
+ 			tri=zip(x[triangle],y[triangle],z[triangle])
+ 			pl3=Line3DCollection([tri],edgecolor='r')
+ 			ax.add_collection3d(pl3)
+-
++			
+ 		ax.set_xlim([min(x),max(x)])
+ 		ax.set_ylim([min(y),max(y)])
+ 		ax.set_zlim([min(z),max(z)])
+@@ -57,4 +62,4 @@
+ 	options.addfielddefault('title','Mesh')
+ 	options.addfielddefault('colorbar','off')
+ 	options.addfielddefault('ticklabels','on')
+-	applyoptions(md,[],options,fig,ax)
++	applyoptions(md,[],options,fig,axgrid,gridindex)
+Index: ../trunk-jpl/src/m/plot/applyoptions.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/applyoptions.py	(revision 21443)
++++ ../trunk-jpl/src/m/plot/applyoptions.py	(revision 21444)
+@@ -9,12 +9,11 @@
+ 	from mpl_toolkits.axes_grid1 import make_axes_locatable
+ 	from mpl_toolkits.mplot3d import Axes3D
+ 	import matplotlib as mpl
+-	import pylab as p
+ 	import matplotlib.pyplot as plt
+ except ImportError:
+ 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
+ 
+-def applyoptions(md,data,options,fig,ax):
++def applyoptions(md,data,options,fig,axgrid,gridindex):
+ 	'''
+ 	APPLYOPTIONS - apply options to current plot
+ 
+@@ -29,7 +28,7 @@
+ 
+ 	# get handle to current figure and axes instance
+ 	#fig = p.gcf()
+-	#ax=p.gca()
++	ax=	axgrid[gridindex]
+ 
+ 	# {{{ font
+ 	fontsize=options.getfieldvalue('fontsize',8)
+Index: ../trunk-jpl/src/m/plot/plotmodel.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotmodel.py	(revision 21443)
++++ ../trunk-jpl/src/m/plot/plotmodel.py	(revision 21444)
+@@ -57,9 +57,9 @@
+ 		#if figsize specified
+ 		if options.list[0].exist('figsize'):
+ 			figsize=options.list[0].getfieldvalue('figsize')
+-			fig=plt.figure(figurenumber,figsize=(figsize[0],figsize[1]),tight_layout=True)
++			fig=plt.figure(figurenumber,figsize=(figsize[0],figsize[1]))#,tight_layout=True)
+ 		else:
+-			fig=plt.figure(figurenumber,tight_layout=True)
++			fig=plt.figure(figurenumber)#,tight_layout=True)
+ 		fig.clf()
+ 
+ 		backgroundcolor=options.list[0].getfieldvalue('backgroundcolor',(0.7,0.7,0.7))
+Index: ../trunk-jpl/src/m/plot/plot_manager.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21443)
++++ ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21444)
+@@ -92,9 +92,9 @@
+ 	x,y,z,elements,is2d,isplanet=processmesh(md,data,options)
+ 	data2,datatype=processdata(md,data,options)
+ 	#plot unit
+-	plot_unit(x,y,z,elements,data2,is2d,isplanet,datatype,options,ax)
++	plot_unit(x,y,z,elements,data2,is2d,isplanet,datatype,options,fig,axgrid,gridindex)
+ 	#apply all options
+-	applyoptions(md,data2,options,fig,ax)
++	applyoptions(md,data2,options,fig,axgrid,gridindex)
+ 	
+ 	#ground overlay on kml plot_unit
+ 
+Index: ../trunk-jpl/src/m/plot/plot_unit.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21443)
++++ ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21444)
+@@ -1,14 +1,16 @@
+ from cmaptools import truncate_colormap
+ from plot_quiver import plot_quiver
++import numpy as  np
+ try:
+-	import pylab as p
+ 	import matplotlib as mpl
+ 	import matplotlib.pyplot as plt
+-	import numpy as  np
++	from mpl_toolkits.axes_grid1 import inset_locator
++	from mpl_toolkits.mplot3d import Axes3D
++	from mpl_toolkits.mplot3d.art3d import Poly3DCollection
+ except ImportError:
+ 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
+ 	
+-def plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options,ax):
++def plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options,fig,axgrid,gridindex):
+ 	"""
+ 	PLOT_UNIT - unit plot, display data
+ 	
+@@ -17,7 +19,12 @@
+ 
+ 	See also: PLOTMODEL, PLOT_MANAGER
+ 	"""
+-	
++	#if we are plotting 3d replace the current axis
++	if not is2d:
++		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++	else:
++		ax=axgrid[gridindex]
++
+ 	#edgecolor
+ 	edgecolor=options.getfieldvalue('edgecolor','None')
+ 
+@@ -41,9 +48,9 @@
+ 		cmap.set_under(under)
+ 	options.addfield('colormap',cmap)
+ 	# }}}	
+-	# {{{ if plotting only one of several layers reduce dataset
++	# {{{ if plotting only one of several layers reduce dataset, same for surface
+ 	if options.getfieldvalue('layer',0)>=1:
+-		plotlayer=options.getfieldvalue('layer',1)
++		plotlayer=options.getfieldvalue('layer',0)
+ 		if datatype==1:
+ 			slicesize=np.shape(elements)[0]
+ 		elif datatype in [2,3]:
+@@ -83,7 +90,51 @@
+ 				triangles=mpl.tri.Triangulation(x,y,elements)
+ 			tri=ax.tripcolor(triangles,data,colorlevels,cmap=cmap,norm=norm,alpha=alpha,edgecolors=edgecolor)
+ 		else:
+-			raise ValueError('plot_unit error: 3D element plot not supported yet')
++			#first deal with colormap
++			loccmap = plt.cm.ScalarMappable(cmap=cmap)
++			loccmap.set_array([min(data),max(data)])
++			loccmap.set_clim(vmin=min(data),vmax=max(data))
++
++			#dealing with prism sides
++			recface=np.vstack((elements[:,0],elements[:,1],elements[:,4],elements[:,3])).T
++			eltind=np.arange(0,np.shape(elements)[0])
++			recface=np.vstack((recface,np.vstack((elements[:,1],elements[:,2],elements[:,5],elements[:,4])).T))
++			eltind=np.hstack((eltind,np.arange(0,np.shape(elements)[0])))
++			recface=np.vstack((recface,np.vstack((elements[:,2],elements[:,0],elements[:,3],elements[:,5])).T))
++			eltind=np.hstack((eltind,np.arange(0,np.shape(elements)[0])))
++			tmp = np.ascontiguousarray(recface).view(np.dtype((np.void, recface.dtype.itemsize * recface.shape[1])))
++			_, idx = np.unique(tmp, return_index=True)
++			recel= recface[idx]
++			recindex=eltind[idx]
++			for i,rectangle in enumerate(recel):
++				rec=zip(x[rectangle],y[rectangle],z[rectangle])
++				pl3=Poly3DCollection([rec])
++				color=loccmap.to_rgba(data[recindex[i]])
++				pl3.set_edgecolor(color)
++				pl3.set_color(color)
++				ax.add_collection3d(pl3)
++
++			#dealing with prism bases
++			triface=np.vstack((elements[:,0:3],elements[:,3:6]))
++			eltind=np.arange(0,np.shape(elements)[0])
++			eltind=np.hstack((eltind,np.arange(0,np.shape(elements)[0])))
++			tmp = np.ascontiguousarray(triface).view(np.dtype((np.void, triface.dtype.itemsize * triface.shape[1])))
++			_, idx = np.unique(tmp, return_index=True)
++			triel= triface[idx]
++			triindex=eltind[idx]
++			for i,triangle in enumerate(triel):
++				tri=zip(x[triangle],y[triangle],z[triangle])
++				pl3=Poly3DCollection([tri])
++				color=loccmap.to_rgba(data[triindex[i]])
++				pl3.set_edgecolor(color)
++				pl3.set_color(color)
++				ax.add_collection3d(pl3)
++	
++			ax.set_xlim([min(x),max(x)])
++			ax.set_ylim([min(y),max(y)])
++			ax.set_zlim([min(z),max(z)])
++
++			#raise ValueError('plot_unit error: 3D element plot not supported yet')
+ 		return 
+ 	# }}}
+ 	# {{{ data are on nodes
+@@ -98,7 +149,44 @@
+ 			if edgecolor != 'None':
+ 				ax.triplot(x,y,elements,color=edgecolor)
+ 		else:
+-			raise ValueError('plot_unit error: 3D node plot not supported yet')
++			#first deal with the colormap
++			loccmap = plt.cm.ScalarMappable(cmap=cmap)
++			loccmap.set_array([min(data),max(data)])
++			loccmap.set_clim(vmin=min(data),vmax=max(data))
++
++			#deal with prism sides
++			recface=np.vstack((elements[:,0],elements[:,1],elements[:,4],elements[:,3])).T
++			recface=np.vstack((recface,np.vstack((elements[:,1],elements[:,2],elements[:,5],elements[:,4])).T))
++			recface=np.vstack((recface,np.vstack((elements[:,2],elements[:,0],elements[:,3],elements[:,5])).T))
++			tmp = np.ascontiguousarray(recface).view(np.dtype((np.void, recface.dtype.itemsize * recface.shape[1])))
++			_, idx = np.unique(tmp, return_index=True)
++			recel= recface[idx]					
++			for rectangle in recel:
++				rec=zip(x[rectangle],y[rectangle],z[rectangle])
++				pl3=Poly3DCollection([rec])
++				color=loccmap.to_rgba(np.mean(data[rectangle]))
++				pl3.set_edgecolor(color)
++				pl3.set_color(color)
++				ax.add_collection3d(pl3)
++
++			#deal with prism faces
++			triface=np.vstack((elements[:,0:3],elements[:,3:6]))
++			tmp = np.ascontiguousarray(triface).view(np.dtype((np.void, triface.dtype.itemsize * triface.shape[1])))
++			_, idx = np.unique(tmp, return_index=True)
++			triel= triface[idx]
++			for triangle in triel:
++				tri=zip(x[triangle],y[triangle],z[triangle])
++				pl3=Poly3DCollection([tri])
++				color=loccmap.to_rgba(np.mean(data[triangle]))
++				pl3.set_edgecolor(color)
++				pl3.set_color(color)
++				ax.add_collection3d(pl3)
++	
++			ax.set_xlim([min(x),max(x)])
++			ax.set_ylim([min(y),max(y)])
++			ax.set_zlim([min(z),max(z)])
++
++			#raise ValueError('plot_unit error: 3D element plot not supported yet')
+ 		return
+ 	# }}}
+ 	# {{{ plotting quiver
+Index: ../trunk-jpl/src/m/plot/plotdoc.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21443)
++++ ../trunk-jpl/src/m/plot/plotdoc.py	(revision 21444)
+@@ -7,7 +7,8 @@
+ 	pydata={'quiver':' quiver plot give data and a vector array [Vx,Vy]',
+ 					'mesh':' draw mesh using trisurf',
+ 					'BC':' this will draw all the boundary conditions (Dirichlet and Neumann).',
+-					'elementnumbering':' numbering of elements (matlab indices)'}
++					'elementnumbering':' numbering of elements (matlab indices)',
++					'3D disclaimer':'3D is implemented with plot3d for now this is not optimal and may change to mayavi at some point. The impelementation is on the development side for now so expect some issue and question your plotting before you results.'}
+ 	TODOdata={'basal_drag':' plot the basal drag on the bed (in kPa) based on the velocity in md.initialization',
+ 						'basal_dragx or basal_dragy' :' plot a component of the basal drag on the bed (in kPa)',
+ 						'boundaries':' this will draw all the segment boundaries to the model, including rifts.',
+@@ -17,7 +18,6 @@
+ 						'deviatoricstress_principalaxis1':' arrow plot the first principal axis of the deviatoricstress tensor(replace 1 by 2 or 3 if needed)',
+ 						'driving_stress':' plot the driving stress (in kPa)',
+ 						'elements_type':' model used for each element',
+-						
+ 						'highlightvertices':' to highlight vertices (use highlight option to enter the vertex list',
+ 						'referential':' stressbalance referential',
+ 						'riftvel':' velocities along rifts',
+@@ -46,15 +46,15 @@
+ 						'part_hist':' partitioning node and area histogram'}
+ 	
+ 	pyoptions={'axis':" show ('on') or hide ('off') axes",
+-                                                 'caxis':" modify  colorbar range. (array of type [a b] where b>=a)",
++						 'caxis':" modify  colorbar range. (array of type [a b] where b>=a)",
+ 						 'colorlevels':" N, number of levels to use",
+ 						 'colorbar':" add colorbar (string 'on','off' or 'one')",
+ 						 'axes_pad':" spacing between axes (default is 0.25)",
+ 						 'colorbartitle':" colorbar title (string)",
+-                                                 'colorbarticks':" set colorbar ticks manually (list)",
+-                                                 'colorbarfontsize':" specify colorbar fontsize",
++						 'colorbarticks':" set colorbar ticks manually (list)",
++						 'colorbarfontsize':" specify colorbar fontsize",
+ 						 'colormap':" change the default colormap ('viridis' is the default)",
+-                                                 'contourlevels':" N or [value1,...] add the contours of the specified values or N contours",
++						 'contourlevels':" N or [value1,...] add the contours of the specified values or N contours",
+ 						 'streamlines':" TOFIX argument does nothing",
+ 						 'edgecolor':" color of mesh edges. RGB tuple or standard string",
+ 						 'fontsize':" fontsize for the title",
Index: /issm/oecreview/Archive/21337-21723/ISSM-21444-21445.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21444-21445.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21444-21445.diff	(revision 21726)
@@ -0,0 +1,72 @@
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21444)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21445)
+@@ -52,9 +52,8 @@
+ 				}
+ 				/*Free ressources:*/
+ 				for(j=0;j<numgates;j++){
+-					char*       string = gatenames[j];             xDelete<char>(string);
+-					char*       string2= gatedefinitionstrings[j]; xDelete<char>(string2);
+-					IssmDouble* gate   = gatesegments[j];          xDelete<IssmDouble>(gate);
++					char*       string = gatenames[j];    xDelete<char>(string);
++					IssmDouble* gate   = gatesegments[j]; xDelete<IssmDouble>(gate);
+ 				}
+ 				xDelete<char*>(gatenames);
+ 				xDelete<IssmDouble*>(gatesegments);
+@@ -141,20 +140,20 @@
+ 				/*nodal value variables: */
+ 				int          numnodalvalues;
+ 				char**       nodalvalue_name_s             = NULL;    
+-				int*         nodalvalue_definitionenums_s             = NULL;    
+-				int*         nodalvalue_model_enum_s        = NULL;
++				char**       nodalvalue_definitionstrings             = NULL;    
++				char**       nodalvalue_modelstrings        = NULL;
+ 				int*         nodalvalue_node_s = NULL;
+ 
+ 				/*Fetch name, model_enum, etc ... (see src/m/classes/nodalvalue.m): */
+ 				iomodel->FetchMultipleData(&nodalvalue_name_s,&numnodalvalues,            "md.nodalvalue.name");
+-				iomodel->FetchMultipleData(&nodalvalue_definitionenums_s,&numnodalvalues, "md.nodalvalue.definitionenum");
+-				iomodel->FetchMultipleData(&nodalvalue_model_enum_s,&numnodalvalues,      "md.nodalvalue.model_enum");
++				iomodel->FetchMultipleData(&nodalvalue_definitionstrings,&numnodalvalues, "md.nodalvalue.definitionenum");
++				iomodel->FetchMultipleData(&nodalvalue_modelstrings,&numnodalvalues,      "md.nodalvalue.model_enum");
+ 				iomodel->FetchMultipleData(&nodalvalue_node_s,&numnodalvalues,            "md.nodalvalue.node");
+ 
+ 				for(j=0;j<numnodalvalues;j++){
+ 
+ 					/*First create a nodalvalue object for that specific enum (nodalvalue_model_enum_s[j]):*/
+-					output_definitions->AddObject(new Nodalvalue(nodalvalue_name_s[j],nodalvalue_definitionenums_s[j],nodalvalue_model_enum_s[j],nodalvalue_node_s[j]-1)); //-1 because matlab to c indexing.
++					output_definitions->AddObject(new Nodalvalue(nodalvalue_name_s[j],StringToEnumx(nodalvalue_definitionstrings[j]),StringToEnumx(nodalvalue_modelstrings[j]),nodalvalue_node_s[j]-1)); //-1 because matlab to c indexing.
+ 				}
+ 					
+ 				/*Free ressources:*/
+@@ -164,8 +163,8 @@
+ 					string = nodalvalue_name_s[j];    xDelete<char>(string);
+ 				}
+ 				xDelete<char*>(nodalvalue_name_s);
+-				xDelete<int>(nodalvalue_model_enum_s);
+-				xDelete<int>(nodalvalue_definitionenums_s);
++				xDelete<char*>(nodalvalue_modelstrings);
++				xDelete<char*>(nodalvalue_definitionstrings);
+ 				xDelete<int>(nodalvalue_node_s);
+ 				/*}}}*/
+ 			}
+Index: ../trunk-jpl/src/m/classes/nodalvalue.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/nodalvalue.m	(revision 21444)
++++ ../trunk-jpl/src/m/classes/nodalvalue.m	(revision 21445)
+@@ -59,10 +59,10 @@
+ 		end % }}}
+ 		function md = marshall(self,prefix,md,fid) % {{{
+ 
+-		WriteData(fid,prefix,'object',self,'fieldname','name','format','String');
+-		WriteData(fid,prefix,'object',self,'fieldname','definitionstring','format','String');
+-		WriteData(fid,prefix,'object',self,'fieldname','model_string','format','String');
+-		WriteData(fid,prefix,'object',self,'fieldname','node','format','Integer');
++		WriteData(fid,prefix,'data',self.name,'name','md.nodalvalue.name','format','String');
++		WriteData(fid,prefix,'data',self.definitionstring,'name','md.nodalvalue.definitionenum','format','String');
++		WriteData(fid,prefix,'data',self.model_string,'name','md.nodalvalue.model_enum','format','String');
++		WriteData(fid,prefix,'data',self.node,'name','md.nodalvalue.node','format','Integer');
+ 
+ 		end % }}}
+ 	end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21445-21446.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21445-21446.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21445-21446.diff	(revision 21726)
@@ -0,0 +1,104 @@
+Index: ../trunk-jpl/src/m/plot/plot_unit.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21445)
++++ ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21446)
+@@ -1,5 +1,6 @@
+ from cmaptools import truncate_colormap
+ from plot_quiver import plot_quiver
++from scipy.interpolate import griddata
+ import numpy as  np
+ try:
+ 	import matplotlib as mpl
+@@ -21,7 +22,9 @@
+ 	"""
+ 	#if we are plotting 3d replace the current axis
+ 	if not is2d:
++		axgrid[gridindex].axis('off')
+ 		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++		ax.set_axis_bgcolor((0.7,0.7,0.7))
+ 	else:
+ 		ax=axgrid[gridindex]
+ 
+@@ -90,6 +93,8 @@
+ 				triangles=mpl.tri.Triangulation(x,y,elements)
+ 			tri=ax.tripcolor(triangles,data,colorlevels,cmap=cmap,norm=norm,alpha=alpha,edgecolors=edgecolor)
+ 		else:
++
++
+ 			#first deal with colormap
+ 			loccmap = plt.cm.ScalarMappable(cmap=cmap)
+ 			loccmap.set_array([min(data),max(data)])
+@@ -102,10 +107,10 @@
+ 			eltind=np.hstack((eltind,np.arange(0,np.shape(elements)[0])))
+ 			recface=np.vstack((recface,np.vstack((elements[:,2],elements[:,0],elements[:,3],elements[:,5])).T))
+ 			eltind=np.hstack((eltind,np.arange(0,np.shape(elements)[0])))
+-			tmp = np.ascontiguousarray(recface).view(np.dtype((np.void, recface.dtype.itemsize * recface.shape[1])))
+-			_, idx = np.unique(tmp, return_index=True)
+-			recel= recface[idx]
+-			recindex=eltind[idx]
++			tmp = np.ascontiguousarray(np.sort(recface)).view(np.dtype((np.void, recface.dtype.itemsize * recface.shape[1])))
++			_, idx, recur = np.unique(tmp, return_index=True, return_counts=True)
++			recel= recface[idx[np.where(recur==1)]]
++			recindex=eltind[idx[np.where(recur==1)]]
+ 			for i,rectangle in enumerate(recel):
+ 				rec=zip(x[rectangle],y[rectangle],z[rectangle])
+ 				pl3=Poly3DCollection([rec])
+@@ -119,9 +124,10 @@
+ 			eltind=np.arange(0,np.shape(elements)[0])
+ 			eltind=np.hstack((eltind,np.arange(0,np.shape(elements)[0])))
+ 			tmp = np.ascontiguousarray(triface).view(np.dtype((np.void, triface.dtype.itemsize * triface.shape[1])))
+-			_, idx = np.unique(tmp, return_index=True)
+-			triel= triface[idx]
+-			triindex=eltind[idx]
++			_, idx,recur = np.unique(tmp, return_index=True,return_counts=True)
++			#we keep only top and bottom elements
++			triel= triface[idx[np.where(recur==1)]]
++			triindex=eltind[idx[np.where(recur==1)]]
+ 			for i,triangle in enumerate(triel):
+ 				tri=zip(x[triangle],y[triangle],z[triangle])
+ 				pl3=Poly3DCollection([tri])
+@@ -153,14 +159,14 @@
+ 			loccmap = plt.cm.ScalarMappable(cmap=cmap)
+ 			loccmap.set_array([min(data),max(data)])
+ 			loccmap.set_clim(vmin=min(data),vmax=max(data))
+-
++			
+ 			#deal with prism sides
+ 			recface=np.vstack((elements[:,0],elements[:,1],elements[:,4],elements[:,3])).T
+ 			recface=np.vstack((recface,np.vstack((elements[:,1],elements[:,2],elements[:,5],elements[:,4])).T))
+ 			recface=np.vstack((recface,np.vstack((elements[:,2],elements[:,0],elements[:,3],elements[:,5])).T))
+-			tmp = np.ascontiguousarray(recface).view(np.dtype((np.void, recface.dtype.itemsize * recface.shape[1])))
+-			_, idx = np.unique(tmp, return_index=True)
+-			recel= recface[idx]					
++			tmp = np.ascontiguousarray(np.sort(recface)).view(np.dtype((np.void, recface.dtype.itemsize * recface.shape[1])))
++			_, idx, recur = np.unique(tmp, return_index=True, return_counts=True)
++			recel= recface[idx[np.where(recur==1)]]
+ 			for rectangle in recel:
+ 				rec=zip(x[rectangle],y[rectangle],z[rectangle])
+ 				pl3=Poly3DCollection([rec])
+@@ -168,12 +174,13 @@
+ 				pl3.set_edgecolor(color)
+ 				pl3.set_color(color)
+ 				ax.add_collection3d(pl3)
+-
++				
+ 			#deal with prism faces
+ 			triface=np.vstack((elements[:,0:3],elements[:,3:6]))
+ 			tmp = np.ascontiguousarray(triface).view(np.dtype((np.void, triface.dtype.itemsize * triface.shape[1])))
+-			_, idx = np.unique(tmp, return_index=True)
+-			triel= triface[idx]
++			_, idx,recur = np.unique(tmp, return_index=True,return_counts=True)
++			#we keep only top and bottom elements
++			triel= triface[idx[np.where(recur==1)]]
+ 			for triangle in triel:
+ 				tri=zip(x[triangle],y[triangle],z[triangle])
+ 				pl3=Poly3DCollection([tri])
+@@ -181,7 +188,7 @@
+ 				pl3.set_edgecolor(color)
+ 				pl3.set_color(color)
+ 				ax.add_collection3d(pl3)
+-	
++				
+ 			ax.set_xlim([min(x),max(x)])
+ 			ax.set_ylim([min(y),max(y)])
+ 			ax.set_zlim([min(z),max(z)])
Index: /issm/oecreview/Archive/21337-21723/ISSM-21446-21447.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21446-21447.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21446-21447.diff	(revision 21726)
@@ -0,0 +1,54 @@
+Index: ../trunk-jpl/src/m/miscellaneous/diagnostics.m
+===================================================================
+--- ../trunk-jpl/src/m/miscellaneous/diagnostics.m	(revision 0)
++++ ../trunk-jpl/src/m/miscellaneous/diagnostics.m	(revision 21447)
+@@ -0,0 +1,49 @@
++function diagnostics(md,varargin) 
++%DIAGNOSTICS: output all sort of information as shape files.
++
++	%process options: 
++	options=pairoptions(varargin{:});
++	path=getfieldvalue(options,'path','./');
++
++	%mesh:
++	if getfieldvalue(options,'mesh',0),
++		mesh2shp(md,[path '/mesh']);
++	end
++
++	%grounding line : 
++	if getfieldvalue(options,'gl',0),
++		contours=contourlevelzero(md,md.mask.groundedice_levelset,0);
++		expwrite(contours,[path '/groundingline.exp']);
++		exp2shp([path '/groundingline.shp'],[path '/groundingline.exp']);
++	end
++
++	%velocity: 
++	if exist(options,'vel'),
++		vel=getfieldvalue(options,'vel',md.initialization.vel);
++		xposting=getfieldvalue(options,'velposting',500);
++		yposting=getfieldvalue(options,'velposting',500);
++
++		xmin=min(md.mesh.x); ymax=max(md.mesh.y); 
++		ncols=(max(md.mesh.x)-min(md.mesh.x))/xposting+1;
++		nlines=(max(md.mesh.y)-min(md.mesh.y))/yposting+1;
++		
++		[xm,ym,vel]=InterpFromMeshToGrid(md.mesh.elements,md.mesh.x,md.mesh.y,vel,xmin,ymax,xposting,yposting,nlines,ncols,0);
++		vel=uint16(flipud(vel));
++
++		imwrite(vel,[path '/vel.tif'],'tiff');
++
++		string=sprintf('!gdal_translate -a_srs EPSG:3031 -a_ullr %g %g %g %g %s/vel.tif %s/velg.tif',...
++		min(md.mesh.x),max(md.mesh.y),max(md.mesh.x),min(md.mesh.y),path,path);
++		eval(string);
++
++	end
++
++	%hot spots: 
++	if getfieldvalue(options,'hotspots',0),
++		threshold=getfieldvalue(options,'threshold',5000);
++		i=getfieldvalue(options,'hotspotsi',length(md.results.TransientSolution));
++		pos=find(md.results.TransientSolution(i).Vel>threshold);
++		contour.x=md.mesh.x(pos); contour.y=md.mesh.y(pos); contour.density=1;
++		expwrite(contour,[path '/hotspots.exp']);
++		exp2shp([path '/hotspots.shp'],[path '/hotspots.exp']);
++	end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21447-21448.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21447-21448.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21447-21448.diff	(revision 21726)
@@ -0,0 +1,22 @@
+Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21447)
++++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21448)
+@@ -1300,7 +1300,7 @@
+ 	Input* gllevelset_input = NULL;
+ 
+ 	/*build friction object, used later on: */
+-	Friction* friction=new Friction(element,1);
++	Friction* friction=new Friction(element,dim);
+ 
+ 	/*Recover portion of element that is grounded*/
+ 	if(migration_style==SubelementMigrationEnum) phi=element->GetGroundedPortion(xyz_list);
+@@ -2329,7 +2329,7 @@
+ 	Input* gllevelset_input = NULL;
+ 
+ 	/*build friction object, used later on: */
+-	Friction* friction=new Friction(element,2);
++	Friction* friction=new Friction(element,dim==3?2:1);
+ 
+ 	/*Recover portion of element that is grounded*/
+ 	if(migration_style==SubelementMigrationEnum) phi=element->GetGroundedPortion(xyz_list_base);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21448-21449.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21448-21449.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21448-21449.diff	(revision 21726)
@@ -0,0 +1,182 @@
+Index: ../trunk-jpl/src/c/cores/controlm1qn3_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/controlm1qn3_core.cpp	(revision 21448)
++++ ../trunk-jpl/src/c/cores/controlm1qn3_core.cpp	(revision 21449)
+@@ -25,13 +25,22 @@
+ /*Cost function prototype*/
+ void simul(long* indic,long* n,double* X,double* pf,double* G,long izs[1],float rzs[1],void* dzs);
+ 
++/*Use struct to provide arguments*/
++typedef struct{
++	FemModel  * femmodel;
++	IssmDouble* Jlist;
++	int         M;
++	int         N;
++	int*        i;
++} m1qn3_struct;
++
+ void controlm1qn3_core(FemModel* femmodel){
+ 
+ 	/*Intermediaries*/
+ 	long         omode;
+ 	double       f,dxmin,gttol; 
+ 	int          maxsteps,maxiter;
+-	int          intn,numberofvertices,num_controls,solution_type;
++	int          intn,numberofvertices,num_controls,num_cost_functions,solution_type;
+ 	IssmDouble  *scaling_factors = NULL;
+ 	IssmDouble  *X  = NULL;
+ 	IssmDouble  *G  = NULL;
+@@ -39,6 +48,7 @@
+ 	/*Recover some parameters*/
+ 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ 	femmodel->parameters->FindParam(&num_controls,InversionNumControlParametersEnum);
++	femmodel->parameters->FindParam(&num_cost_functions,InversionNumCostFunctionsEnum);
+ 	femmodel->parameters->FindParam(&maxsteps,InversionMaxstepsEnum);
+ 	femmodel->parameters->FindParam(&maxiter,InversionMaxiterEnum);
+ 	femmodel->parameters->FindParam(&dxmin,InversionDxminEnum);
+@@ -85,7 +95,7 @@
+ 		}
+ 	}
+ 
+-	/*Allocate m1qn3 working arrays (see doc)*/
++	/*Allocate m1qn3 working arrays (see documentation)*/
+ 	long      m   = 100;
+ 	long      ndz = 4*n+m*(2*n+1);
+ 	double*   dz  = xNew<double>(ndz);
+@@ -95,9 +105,17 @@
+ 	_printf0_("Cost function f(x)   | Gradient norm |g(x)| |  List of contributions\n");
+ 	_printf0_("____________________________________________________________________\n");
+ 
++	/*Prepare structure for m1qn3*/
++	m1qn3_struct mystruct;
++	mystruct.femmodel = femmodel;
++	mystruct.M        = maxiter;
++	mystruct.N        = num_cost_functions+1;
++	mystruct.Jlist    = xNewZeroInit<IssmDouble>(mystruct.M*mystruct.N);
++	mystruct.i        = xNewZeroInit<int>(1);
++
+ 	/*Initialize Gradient and cost function of M1QN3*/
+-	indic = 4; //adjoint and gradient required
+-	simul(&indic,&n,X,&f,G,izs,rzs,(void*)femmodel);
++	indic = 4; /*gradient required*/
++	simul(&indic,&n,X,&f,G,izs,rzs,(void*)&mystruct);
+ 
+ 	/*Estimation of the expected decrease in f during the first iteration*/
+ 	double df1=f;
+@@ -106,7 +124,7 @@
+ 	m1qn3_(costfuncion,prosca,&ctonbe_,&ctcabe_,
+ 				&n,X,&f,G,&dxmin,&df1,
+ 				&gttol,normtype,&impres,&io,imode,&omode,&niter,&nsim,iz,dz,&ndz,
+-				&reverse,&indic,izs,rzs,(void*)femmodel);
++				&reverse,&indic,izs,rzs,(void*)&mystruct);
+ 
+ 	switch(int(omode)){
+ 		case 0:  _printf0_("   Stop requested (indic = 0)\n"); break;
+@@ -136,7 +154,7 @@
+ 	SetControlInputsFromVectorx(femmodel,X);
+ 	ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,G);
+ 	femmodel->OutputControlsx(&femmodel->results);
+-	femmodel->results->AddObject(new GenericExternalResult<double>(femmodel->results->Size()+1,JEnum,f));
++	femmodel->results->AddObject(new GenericExternalResult<double*>(femmodel->results->Size()+1,JEnum,mystruct.Jlist,mystruct.M,mystruct.N,0,0));
+ 
+ 	/*Finalize*/
+ 	if(VerboseControl()) _printf0_("   preparing final solution\n");
+@@ -152,24 +170,31 @@
+ 	xDelete<double>(XU);
+ 	xDelete<double>(XL);
+ 	xDelete<double>(scaling_factors);
++	xDelete<double>(mystruct.Jlist);
++	xDelete<int>(mystruct.i);
+ }
+ 
+ /*Cost function definition*/
+ void simul(long* indic,long* n,double* X,double* pf,double* G,long izs[1],float rzs[1],void* dzs){
+ 
+-	/*Recover Femmodel*/
+-	int         solution_type;
+-	FemModel   *femmodel  = (FemModel*)dzs;
++	/*Recover Arguments*/
++	m1qn3_struct *input_struct = (m1qn3_struct*)dzs;
++	FemModel     *femmodel     = input_struct->femmodel;
++	IssmDouble   *Jlist        = input_struct->Jlist;
++	int           JlistM       = input_struct->M;
++	int           JlistN       = input_struct->N;
++	int          *Jlisti       = input_struct->i;
+ 
+-	/*Recover number of cost functions responses*/
+-	int num_responses,num_controls,numberofvertices;
++	/*Recover some parameters*/
++	int num_responses,num_controls,numberofvertices,solution_type;
+ 	IssmDouble* scaling_factors = NULL;
+ 	femmodel->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
+ 	femmodel->parameters->FindParam(&num_controls,InversionNumControlParametersEnum);
+ 	femmodel->parameters->FindParam(&scaling_factors,NULL,InversionControlScalingFactorsEnum);
++	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ 	numberofvertices=femmodel->vertices->NumberOfVertices();
+ 
+-	/*Constrain input vector*/
++	/*Constrain input vector and update controls*/
+ 	IssmDouble  *XL = NULL;
+ 	IssmDouble  *XU = NULL;
+ 	GetVectorFromControlInputsx(&XL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"lowerbound");
+@@ -182,33 +207,37 @@
+ 			if(X[index]<XL[index]) X[index]=XL[index];
+ 		}
+ 	}
+-
+-	/*Update control input*/
+ 	SetControlInputsFromVectorx(femmodel,X);
+ 
+-	/*Recover some parameters*/
+-	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+-
+ 	/*Compute solution and adjoint*/
+ 	void (*solutioncore)(FemModel*)=NULL;
+ 	void (*adjointcore)(FemModel*)=NULL;
+ 	CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
+ 	solutioncore(femmodel);
+ 
++	/*Check size of Jlist to avoid crashes*/
++	_assert_((*Jlisti)<JlistM);
++	_assert_(JlistN==num_responses+1);
++
+ 	/*Compute objective function*/
+-	IssmDouble* Jlist = NULL;
+-	femmodel->CostFunctionx(pf,&Jlist,NULL);
++	IssmDouble* Jtemp = NULL;
++	femmodel->CostFunctionx(pf,&Jtemp,NULL);
+ 	_printf0_("f(x) = "<<setw(12)<<setprecision(7)<<*pf<<"  |  ");
+ 
++	/*Record cost function values and delete Jtemp*/
++	for(int i=0;i<num_responses;i++) Jlist[(*Jlisti)*JlistN+i] = Jtemp[i];
++	Jlist[(*Jlisti)*JlistN+num_responses] = *pf;
++	xDelete<IssmDouble>(Jtemp);
++
+ 	if(*indic==0){
+ 		/*dry run, no gradient required*/
+ 
+ 		/*Retrieve objective functions independently*/
+ 		_printf0_("            N/A |\n");
+-		for(int i=0;i<num_responses;i++) _printf0_(" "<<setw(12)<<setprecision(7)<<Jlist[i]);
++		for(int i=0;i<num_responses;i++) _printf0_(" "<<setw(12)<<setprecision(7)<<Jlist[(*Jlisti)*JlistN+i]);
+ 		_printf0_("\n");
+ 
+-		xDelete<IssmDouble>(Jlist);
++		*Jlisti = (*Jlisti) +1;
+ 		xDelete<IssmDouble>(XU);
+ 		xDelete<IssmDouble>(XL);
+ 		return;
+@@ -240,11 +269,11 @@
+ 
+ 	/*Print info*/
+ 	_printf0_("       "<<setw(12)<<setprecision(7)<<Gnorm<<" |");
+-	for(int i=0;i<num_responses;i++) _printf0_(" "<<setw(12)<<setprecision(7)<<Jlist[i]);
++	for(int i=0;i<num_responses;i++) _printf0_(" "<<setw(12)<<setprecision(7)<<Jlist[(*Jlisti)*JlistN+i]);
+ 	_printf0_("\n");
+ 
+ 	/*Clean-up and return*/
+-	xDelete<IssmDouble>(Jlist);
++	*Jlisti = (*Jlisti) +1;
+ 	xDelete<IssmDouble>(XU);
+ 	xDelete<IssmDouble>(XL);
+ 	xDelete<IssmDouble>(scaling_factors);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21449-21450.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21449-21450.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21449-21450.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/cores/controlm1qn3_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/controlm1qn3_core.cpp	(revision 21449)
++++ ../trunk-jpl/src/c/cores/controlm1qn3_core.cpp	(revision 21450)
+@@ -154,7 +154,7 @@
+ 	SetControlInputsFromVectorx(femmodel,X);
+ 	ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,G);
+ 	femmodel->OutputControlsx(&femmodel->results);
+-	femmodel->results->AddObject(new GenericExternalResult<double*>(femmodel->results->Size()+1,JEnum,mystruct.Jlist,mystruct.M,mystruct.N,0,0));
++	femmodel->results->AddObject(new GenericExternalResult<double*>(femmodel->results->Size()+1,JEnum,mystruct.Jlist,(*mystruct.i),mystruct.N,0,0));
+ 
+ 	/*Finalize*/
+ 	if(VerboseControl()) _printf0_("   preparing final solution\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21450-21451.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21450-21451.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21450-21451.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp
+===================================================================
+--- ../trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp	(revision 21450)
++++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp	(revision 21451)
+@@ -100,7 +100,7 @@
+ 		}
+ 	}
+ 
+-	if(VerboseConvergence()) _printf0_("\n   total number of iterations: " << count-1 << "\n");
++	if(VerboseConvergence()) _printf0_("\n   total number of iterations: " << count << "\n");
+ 
+ 	/*clean-up*/
+ 	if(conserve_loads){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21451-21452.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21451-21452.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21451-21452.diff	(revision 21726)
@@ -0,0 +1,39 @@
+Index: ../trunk-jpl/src/m/mesh/bamg.m
+===================================================================
+--- ../trunk-jpl/src/m/mesh/bamg.m	(revision 21451)
++++ ../trunk-jpl/src/m/mesh/bamg.m	(revision 21452)
+@@ -121,10 +121,14 @@
+ 
+ 		%Check that file exists
+ 		riftfile=getfieldvalue(options,'rifts');
++		[pathr,namer,extr]=fileparts(riftfile);
+ 		if ~exist(riftfile,'file')
+ 			error(['bamg error message: file ' riftfile ' not found ']);
++		elseif strcmp(extr,'.exp'),
++			rift=expread(riftfile);
++		elseif strcmp(extr,'.shp'),
++			rift=shpread(riftfile);
+ 		end
+-		rift=expread(riftfile);
+ 
+ 		for i=1:length(rift),
+ 
+Index: ../trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m
+===================================================================
+--- ../trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m	(revision 21451)
++++ ../trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m	(revision 21452)
+@@ -3,7 +3,13 @@
+ %                rifts.
+ 
+ %read rifts from outline file
+-rifts=expread(riftoutline);
++%rifts=expread(riftoutline);
++[pathr,namer,extr]=fileparts(riftoutline);
++if strcmp(extr,'.exp'),
++	rifts=expread(riftoutline);
++elseif strcmp(extr,'.shp'),
++	rifts=shpread(riftoutline);
++end
+ 
+ tips=[];
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21452-21453.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21452-21453.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21452-21453.diff	(revision 21726)
@@ -0,0 +1,20 @@
+Index: ../trunk-jpl/src/m/mesh/bamg.m
+===================================================================
+--- ../trunk-jpl/src/m/mesh/bamg.m	(revision 21452)
++++ ../trunk-jpl/src/m/mesh/bamg.m	(revision 21453)
+@@ -129,6 +129,15 @@
+ 		elseif strcmp(extr,'.shp'),
+ 			rift=shpread(riftfile);
+ 		end
++		%read rift file according to its extension: 
++		[path,name,ext]=fileparts(riftfile);
++		if strcmp(ext,'.exp'),
++			rift=expread(riftfile);
++		elseif strcmp(ext,'.shp'),
++			rift=shpread(riftfile);
++		else
++			error(['bamg error message: file ' riftfile ' format not supported (.shp or .exp)']);
++		end
+ 
+ 		for i=1:length(rift),
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21453-21454.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21453-21454.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21453-21454.diff	(revision 21726)
@@ -0,0 +1,24 @@
+Index: ../trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m
+===================================================================
+--- ../trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m	(revision 21453)
++++ ../trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m	(revision 21454)
+@@ -2,13 +2,14 @@
+ %RIFTTIPSONMESH: identify, using a rift outline, the nodes that are tips of 
+ %                rifts.
+ 
+-%read rifts from outline file
+-%rifts=expread(riftoutline);
+-[pathr,namer,extr]=fileparts(riftoutline);
+-if strcmp(extr,'.exp'),
++%read rift file according to its extension: 
++[path,name,ext]=fileparts(riftoutline);
++if strcmp(ext,'.exp'),
+ 	rifts=expread(riftoutline);
+-elseif strcmp(extr,'.shp'),
++elseif strcmp(ext,'.shp'),
+ 	rifts=shpread(riftoutline);
++else
++	error(['bamg error message: file ' riftoutline ' format not supported (.shp or .exp)']);
+ end
+ 
+ tips=[];
Index: /issm/oecreview/Archive/21337-21723/ISSM-21454-21455.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21454-21455.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21454-21455.diff	(revision 21726)
@@ -0,0 +1,50 @@
+Index: ../trunk-jpl/src/m/miscellaneous/diagnostics.m
+===================================================================
+--- ../trunk-jpl/src/m/miscellaneous/diagnostics.m	(revision 21454)
++++ ../trunk-jpl/src/m/miscellaneous/diagnostics.m	(revision 21455)
+@@ -1,6 +1,28 @@
+ function diagnostics(md,varargin) 
+-%DIAGNOSTICS: output all sort of information as shape files.
++%DIAGNOSTICS - output diagnostics for use in qgis
++%
++%
++%   Usage:
++%      diagnostics(md,options)
++%   
++%      where options include: 
++%            'path': where are the diagnostics file output
++%            'mesh': 0 or 1 (output mesh?, default 0)
++%            'gl': 0 or 1 (output grounding line position?, default 0)
++%            'vel': defaults to md.initialization.vel (can suplly another field if need be)
++%                Suboptions include:
++%                 'velposting': resolution at which the tiff file will be printed.
++%            'hotspots' (0 or 1, default 0). spots where md.results.TransientSolution(i).Vel>threshold
++%                Suboptions include:
++%                 'threshold': vel value
++%                 'hotspotsi': index into results.TransientSolution
++%
++%           
++%
++%   Examples:
++%      diagnostics(md,'vel',md.initialization.vel,'gl',1,'hotspots',1,'hotspotsi',10,'threshold',500);
+ 
++
+ 	%process options: 
+ 	options=pairoptions(varargin{:});
+ 	path=getfieldvalue(options,'path','./');
+@@ -30,12 +52,12 @@
+ 		[xm,ym,vel]=InterpFromMeshToGrid(md.mesh.elements,md.mesh.x,md.mesh.y,vel,xmin,ymax,xposting,yposting,nlines,ncols,0);
+ 		vel=uint16(flipud(vel));
+ 
+-		imwrite(vel,[path '/vel.tif'],'tiff');
++		imwrite(vel,[path '/veltemp.tif'],'tiff');
+ 
+-		string=sprintf('!gdal_translate -a_srs EPSG:3031 -a_ullr %g %g %g %g %s/vel.tif %s/velg.tif',...
++		string=sprintf('!gdal_translate -a_srs EPSG:3031 -a_ullr %g %g %g %g %s/veltemp.tif %s/vel.tif',...
+ 		min(md.mesh.x),max(md.mesh.y),max(md.mesh.x),min(md.mesh.y),path,path);
+ 		eval(string);
+-
++		delete([path '/veltemp.tif']);
+ 	end
+ 
+ 	%hot spots: 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21455-21456.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21455-21456.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21455-21456.diff	(revision 21726)
@@ -0,0 +1,149 @@
+Index: ../trunk-jpl/src/m/plot/plot_contour.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_contour.m	(revision 21455)
++++ ../trunk-jpl/src/m/plot/plot_contour.m	(revision 21456)
+@@ -13,7 +13,7 @@
+ if isempty(data), error('data provided is empty'); end
+ 
+ %check is2d
+-if ~is2d,
++if ~is2d & ~isplanet,
+ 	error('plot_contour error message: contour not supported for 3d meshes, project on a layer');
+ end
+ 
+@@ -114,6 +114,9 @@
+ 	x2=zeros(numelems,1);
+ 	y1=zeros(numelems,1);
+ 	y2=zeros(numelems,1);
++	z1=zeros(numelems,1);
++	z2=zeros(numelems,1);
++
+ 	edge_l=zeros(numelems,2);
+ 
+ 	for j=1:numelems,
+@@ -128,6 +131,8 @@
+ 			x2(j)=x(Seg2(poselem(j),1))+weight2*(x(Seg2(poselem(j),2))-x(Seg2(poselem(j),1)));
+ 			y1(j)=y(Seg1(poselem(j),1))+weight1*(y(Seg1(poselem(j),2))-y(Seg1(poselem(j),1)));
+ 			y2(j)=y(Seg2(poselem(j),1))+weight2*(y(Seg2(poselem(j),2))-y(Seg2(poselem(j),1)));
++			z1(j)=z(Seg1(poselem(j),1))+weight1*(z(Seg1(poselem(j),2))-z(Seg1(poselem(j),1)));
++			z2(j)=z(Seg2(poselem(j),1))+weight2*(z(Seg2(poselem(j),2))-z(Seg2(poselem(j),1)));
+ 			edge_l(j,1)=Seg1_num(poselem(j));
+ 			edge_l(j,2)=Seg2_num(poselem(j));
+ 
+@@ -137,6 +142,9 @@
+ 			x2(j)=x(Seg3(poselem(j),1))+weight3*(x(Seg3(poselem(j),2))-x(Seg3(poselem(j),1)));
+ 			y1(j)=y(Seg1(poselem(j),1))+weight1*(y(Seg1(poselem(j),2))-y(Seg1(poselem(j),1)));
+ 			y2(j)=y(Seg3(poselem(j),1))+weight3*(y(Seg3(poselem(j),2))-y(Seg3(poselem(j),1)));
++			z1(j)=z(Seg1(poselem(j),1))+weight1*(z(Seg1(poselem(j),2))-z(Seg1(poselem(j),1)));
++			z2(j)=z(Seg3(poselem(j),1))+weight3*(z(Seg3(poselem(j),2))-z(Seg3(poselem(j),1)));
++
+ 			edge_l(j,1)=Seg1_num(poselem(j));
+ 			edge_l(j,2)=Seg3_num(poselem(j));
+ 
+@@ -146,6 +154,8 @@
+ 			x2(j)=x(Seg3(poselem(j),1))+weight3*(x(Seg3(poselem(j),2))-x(Seg3(poselem(j),1)));
+ 			y1(j)=y(Seg2(poselem(j),1))+weight2*(y(Seg2(poselem(j),2))-y(Seg2(poselem(j),1)));
+ 			y2(j)=y(Seg3(poselem(j),1))+weight3*(y(Seg3(poselem(j),2))-y(Seg3(poselem(j),1)));
++			z1(j)=z(Seg2(poselem(j),1))+weight2*(z(Seg2(poselem(j),2))-z(Seg2(poselem(j),1)));
++			z2(j)=z(Seg3(poselem(j),1))+weight3*(z(Seg3(poselem(j),2))-z(Seg3(poselem(j),1)));
+ 			edge_l(j,1)=Seg2_num(poselem(j));
+ 			edge_l(j,2)=Seg3_num(poselem(j));
+ 		else
+@@ -160,25 +170,26 @@
+ 
+ 		%take the right edge of the second segment and connect it to the next segments if any
+ 		e1=edge_l(1,1);   e2=edge_l(1,2);
+-		xc=[x1(1);x2(1)]; yc=[y1(1);y2(1)];
++		xc=[x1(1);x2(1)]; yc=[y1(1);y2(1)]; zc=[z1(1);z2(1)]; 
+ 
+ 		%erase the lines corresponding to this edge
+ 		edge_l(1,:)=[];
+ 		x1(1)=[]; x2(1)=[];
+ 		y1(1)=[]; y2(1)=[];
++		z1(1)=[]; z2(1)=[];
+ 
+ 		[ro1,co1]=find(edge_l==e1);
+ 
+ 		while ~isempty(ro1)
+ 
+ 			if co1==1,
+-				xc=[x2(ro1);xc]; yc=[y2(ro1);yc];
++				xc=[x2(ro1);xc]; yc=[y2(ro1);yc]; zc=[z2(ro1);zc];
+ 
+ 				%next edge:
+ 				e1=edge_l(ro1,2);
+ 
+ 			else
+-				xc=[x1(ro1);xc]; yc=[y1(ro1);yc];
++				xc=[x1(ro1);xc]; yc=[y1(ro1);yc]; zc=[z1(ro1);zc];
+ 
+ 				%next edge:
+ 				e1=edge_l(ro1,1);
+@@ -188,6 +199,7 @@
+ 			edge_l(ro1,:)=[];
+ 			x1(ro1)=[]; x2(ro1)=[];
+ 			y1(ro1)=[]; y2(ro1)=[];
++			z1(ro1)=[]; z2(ro1)=[];
+ 
+ 			%next connection
+ 			[ro1,co1]=find(edge_l==e1);
+@@ -199,12 +211,12 @@
+ 		while ~isempty(ro2)
+ 
+ 			if co2==1,
+-				xc=[xc;x2(ro2)]; yc=[yc;y2(ro2)];
++				xc=[xc;x2(ro2)]; yc=[yc;y2(ro2)]; zc=[zc;z2(ro2)];
+ 
+ 				%next edge:
+ 				e2=edge_l(ro2,2);
+ 			else
+-				xc=[xc;x1(ro2)]; yc=[yc;y1(ro2)];
++				xc=[xc;x1(ro2)]; yc=[yc;y1(ro2)]; zc=[zc;z1(ro2)];
+ 
+ 				%next edge:
+ 				e2=edge_l(ro2,1);
+@@ -214,21 +226,31 @@
+ 			edge_l(ro2,:)=[];
+ 			x1(ro2)=[]; x2(ro2)=[];
+ 			y1(ro2)=[]; y2(ro2)=[];
++			z1(ro2)=[]; z2(ro2)=[];
+ 
+ 			%next connection
+ 			[ro2,co2]=find(edge_l==e2);
+ 		end
+ 
+ 		%we now have one subcontour ready to be plotted
+-		zc=level*ones(length(xc)+1,1);
+ 		if getfieldvalue(options,'contouronly',0),
+-			h=[h;patch('Xdata',[xc;NaN],'Ydata',[yc;NaN],'Zdata',zc,'Cdata',zc,'facecolor','none','edgecolor','flat','linewidth',linewidth)];
++			if isplanet,
++				h=[h;patch('Xdata',[xc;NaN],'Ydata',[yc;NaN],'Zdata',[zc;NaN],'facecolor','none','linewidth',linewidth)];
++			else
++				h=[h;patch('Xdata',[xc;NaN],'Ydata',[yc;NaN],'Zdata',zc,'Cdata',zc,'facecolor','none','edgecolor','flat','linewidth',linewidth)];
++			end
+ 			hold on      
+ 		else
+ 			dist = 5000;
+-			if (max(xc)-min(xc)+max(yc)-min(yc))<dist, continue; end
+-			h=patch('Xdata',[xc;NaN],'Ydata',[yc;NaN],'facecolor','none','edgecolor',color,'linewidth',linewidth);
+-			c = horzcat([level, xc'; length(xc), yc']);
++			if isplanet,
++				if (max(xc)-min(xc)+max(yc)-min(yc)+max(zc)-min(zc))<dist, continue; end
++				h=[h;patch('Xdata',[xc;NaN],'Ydata',[yc;NaN],'Zdata',[zc;NaN],'facecolor','none','linewidth',linewidth)];
++				c = horzcat([level, xc'; length(xc), yc'; length(xc), zc']);
++			else
++				if (max(xc)-min(xc)+max(yc)-min(yc))<dist, continue; end
++				h=patch('Xdata',[xc;NaN],'Ydata',[yc;NaN],'facecolor','none','edgecolor',color,'linewidth',linewidth);
++				c = horzcat([level, xc'; length(xc), yc']);
++			end
+ 			%clabel(c,h,'FontSize',10,'labelspacing',20000,'color',color);
+ 			hold on
+ 		end
+@@ -246,6 +268,6 @@
+ 		clabel(c,h);
+ 	else
+ 		%clabel(c,h,'color',color,'FontSize',10,'labelspacing',20000);
+-		clabel(c,h,'FontSize',10,'labelspacing',20000);
++		%clabel(c,h,'FontSize',10,'labelspacing',20000);
+ 	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21456-21457.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21456-21457.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21456-21457.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/m/plot/plot_contour.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_contour.m	(revision 21456)
++++ ../trunk-jpl/src/m/plot/plot_contour.m	(revision 21457)
+@@ -268,6 +268,6 @@
+ 		clabel(c,h);
+ 	else
+ 		%clabel(c,h,'color',color,'FontSize',10,'labelspacing',20000);
+-		%clabel(c,h,'FontSize',10,'labelspacing',20000);
++		clabel(c,h,'FontSize',10,'labelspacing',20000);
+ 	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21457-21458.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21457-21458.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21457-21458.diff	(revision 21726)
@@ -0,0 +1,48 @@
+Index: ../trunk-jpl/src/m/classes/slr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.py	(revision 21457)
++++ ../trunk-jpl/src/m/classes/slr.py	(revision 21458)
+@@ -24,6 +24,9 @@
+ 		self.love_l            = 0 #ideam
+ 		self.tide_love_h       = 0
+ 		self.tide_love_k       = 0
++		self.fluid_love        = 0; 
++		self.equatorial_moi    = 0; 
++		self.polar_moi	       = 0; 
+ 		self.angular_velocity  = 0;
+ 		self.rigid             = 0
+ 		self.elastic           = 0
+@@ -76,6 +79,13 @@
+ 		#tidal love numbers: 
+ 		self.tide_love_h=0.6149; #degree 2
+ 		self.tide_love_k=0.3055; #degree 2
++		
++                #secular fluid love number: 
++		self.fluid_love=0.942; 
++		
++		#moment of inertia: 
++		self.equatorial_moi=8.0077*10^37; % [kg m^2] 
++		self.polar_moi	   =8.0345*10^37; % [kg m^2] 
+ 
+ 		#mean rotational velocity of earth 
+ 		self.angular_velocity=7.2921*10**-5; # [s^-1] 
+@@ -106,6 +116,9 @@
+ 		md = checkfield(md,'fieldname','slr.love_l','NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1)
++		md = checkfield(md,'fieldname','slr.fluid_love','NaN',1,'Inf',1)
++		md = checkfield(md,'fieldname','slr.equatorial_moi','NaN',1,'Inf',1)
++		md = checkfield(md,'fieldname','slr.polar_moi','NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','slr.angular_velocity','NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','slr.reltol','size',[1,1])
+ 		md = checkfield(md,'fieldname','slr.abstol','size',[1,1])
+@@ -132,6 +145,9 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','love_l','format','DoubleMat','mattype',1)
+ 		WriteData(fid,prefix,'object',self,'fieldname','tide_love_h','format','Double');
+ 		WriteData(fid,prefix,'object',self,'fieldname','tide_love_k','format','Double');
++		WriteData(fid,prefix,'object',self,'fieldname','fluid_love','format','Double');
++		WriteData(fid,prefix,'object',self,'fieldname','equatorial_moi','format','Double');
++		WriteData(fid,prefix,'object',self,'fieldname','polar_moi','format','Double');
+ 		WriteData(fid,prefix,'object',self,'fieldname','angular_velocity','format','Double');
+ 		WriteData(fid,prefix,'object',self,'fieldname','rigid','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','elastic','format','Boolean')
Index: /issm/oecreview/Archive/21337-21723/ISSM-21458-21459.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21458-21459.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21458-21459.diff	(revision 21726)
@@ -0,0 +1,14 @@
+Index: ../trunk-jpl/src/m/classes/slr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.py	(revision 21458)
++++ ../trunk-jpl/src/m/classes/slr.py	(revision 21459)
+@@ -50,6 +50,9 @@
+ 			string="%s\n%s"%(string,fielddisplay(self,'love_l','load Love number for horizontal displaements'))
+ 			string="%s\n%s"%(string,fielddisplay(self,'tide_love_k','tidal load Love number (degree 2)'))
+ 			string="%s\n%s"%(string,fielddisplay(self,'tide_love_h','tidal load Love number (degree 2)'))
++			string="%s\n%s"%(string,fielddisplay(self,'fluid_love','secular fluid Love number'))
++			string="%s\n%s"%(string,fielddisplay(self,'equatorial_moi','mean equatorial moment of inertia [kg m^2]'))
++			string="%s\n%s"%(string,fielddisplay(self,'polar_moi','polar moment of inertia [kg m^2]'))
+ 			string="%s\n%s"%(string,fielddisplay(self,'angular_velocity','mean rotational velocity of earth [per second]')); 
+ 			string="%s\n%s"%(string,fielddisplay(self,'rigid','rigid earth graviational potential perturbation'))
+ 			string="%s\n%s"%(string,fielddisplay(self,'elastic','elastic earth graviational potential perturbation'))
Index: /issm/oecreview/Archive/21337-21723/ISSM-21459-21460.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21459-21460.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21459-21460.diff	(revision 21726)
@@ -0,0 +1,68 @@
+Index: ../trunk-jpl/src/m/classes/slr.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.js	(revision 21459)
++++ ../trunk-jpl/src/m/classes/slr.js	(revision 21460)
+@@ -24,6 +24,13 @@
+ 		this.tide_love_h=0.6149; //degree 2
+ 		this.tide_love_k=0.3055; //degree 2
+ 	
++		//secular fluid love number: 
++		this.fluid_love=0.942; 
++		
++		//moment of inertia: 
++		this.equatorial_moi=8.0077*10^37; // [kg m^2] 
++		this.polar_moi		 =8.0345*10^37; // [kg m^2] 
++
+ 		// mean rotational velocity of earth:
+ 		this.angular_velocity=7.2921*10^-5; // [s^-1] 
+ 
+@@ -49,6 +56,9 @@
+ 			md = checkfield(md,'fieldname','slr.love_l','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','slr.fluid_love','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','slr.equatorial_moi','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','slr.polar_moi','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.angular_velocity','NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','slr.reltol','size',[1, 1]);
+ 			md = checkfield(md,'fieldname','slr.abstol','size',[1, 1]);
+@@ -82,6 +92,9 @@
+ 		fielddisplay(this,'love_l','load Love number for horizontal displacements'); 
+ 		fielddisplay(this,'tide_love_h','tidal love number (degree 2)');
+ 		fielddisplay(this,'tide_love_k','tidal love number (degree 2)');
++		fielddisplay(this,'fluid_love','secular fluid Love number');
++		fielddisplay(this,'equatorial_moi','mean equatorial moment of inertia [kg m^2]');
++		fielddisplay(this,'polar_moi','polar moment of inertia [kg m^2]');
+ 		fielddisplay(this,'angular_velocity','mean rotational velocity of earth [per second]'); 
+ 		fielddisplay(this,'rigid','rigid earth graviational potential perturbation');
+ 		fielddisplay(this,'elastic','elastic earth graviational potential perturbation');
+@@ -103,6 +116,9 @@
+ 			WriteData(fid,prefix,'object',this,'fieldname','love_l','format','DoubleMat','mattype',1);
+ 			WriteData(fid,prefix,'object',this,'fieldname','tide_love_h','format','Double');
+ 			WriteData(fid,prefix,'object',this,'fieldname','tide_love_k','format','Double');
++			WriteData(fid,prefix,'object',this,'fieldname','fluid_love','format','Double');
++			WriteData(fid,prefix,'object',this,'fieldname','equatorial_moi','format','Double');
++			WriteData(fid,prefix,'object',this,'fieldname','polar_moi','format','Double');
+ 			WriteData(fid,prefix,'object',this,'fieldname','angular_velocity','format','Double');
+ 			WriteData(fid,prefix,'object',this,'fieldname','rigid','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','elastic','format','Boolean');
+@@ -133,6 +149,9 @@
+ 			this.love_l=NullFix(this.love_l,NaN);
+ 			this.tide_love_h=NullFix(this.tide_love_h,NaN);
+ 			this.tide_love_k=NullFix(this.tide_love_k,NaN);
++			this.fluid_love=NullFix(this.fluid_love,NaN);
++			this.equatorial_moi=NullFix(this.equatorial_moi,NaN);
++			this.polar_moi=NullFix(this.polar_moi,NaN);
+ 			this.angular_velocity=NullFix(this.angular_velocity,NaN);
+ 			this.rigid=NullFix(this.rigid,NaN);
+ 			this.elastic=NullFix(this.elastic,NaN);
+@@ -152,6 +171,9 @@
+ 	this.love_l         = 0; //idam
+ 	this.tide_love_h    = 0; 
+ 	this.tide_love_k    = 0; 
++	this.fluid_love	  = 0; 
++	this.equatorial_moi	= 0; 
++	this.polar_moi			= 0; 
+ 	this.angular_velocity = 0; 
+ 	this.rigid          = 0;
+ 	this.elastic        = 0;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21460-21461.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21460-21461.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21460-21461.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/m/classes/slr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.py	(revision 21460)
++++ ../trunk-jpl/src/m/classes/slr.py	(revision 21461)
+@@ -87,8 +87,8 @@
+ 		self.fluid_love=0.942; 
+ 		
+ 		#moment of inertia: 
+-		self.equatorial_moi=8.0077*10^37; % [kg m^2] 
+-		self.polar_moi	   =8.0345*10^37; % [kg m^2] 
++		self.equatorial_moi=8.0077*10^37; # [kg m^2] 
++		self.polar_moi	   =8.0345*10^37; # [kg m^2] 
+ 
+ 		#mean rotational velocity of earth 
+ 		self.angular_velocity=7.2921*10**-5; # [s^-1] 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21461-21462.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21461-21462.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21461-21462.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/m/classes/slr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.py	(revision 21461)
++++ ../trunk-jpl/src/m/classes/slr.py	(revision 21462)
+@@ -87,8 +87,8 @@
+ 		self.fluid_love=0.942; 
+ 		
+ 		#moment of inertia: 
+-		self.equatorial_moi=8.0077*10^37; # [kg m^2] 
+-		self.polar_moi	   =8.0345*10^37; # [kg m^2] 
++		self.equatorial_moi=8.0077*10**37; # [kg m^2] 
++		self.polar_moi	   =8.0345*10**37; # [kg m^2] 
+ 
+ 		#mean rotational velocity of earth 
+ 		self.angular_velocity=7.2921*10**-5; # [s^-1] 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21462-21463.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21462-21463.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21462-21463.diff	(revision 21726)
@@ -0,0 +1,198 @@
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21462)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21463)
+@@ -173,6 +173,8 @@
+ 	HydrologyMoulinInputEnum,
+ 	HydrologyReynoldsEnum,
+ 	HydrologyNeumannfluxEnum,
++   HydrologyRelaxationEnum,
++	HydrologyBasalFluxEnum,
+ 	InversionControlParametersEnum,
+ 	InversionControlScalingFactorsEnum,
+ 	InversionCostFunctionThresholdEnum,
+Index: ../trunk-jpl/src/c/cores/hydrology_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 21462)
++++ ../trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 21463)
+@@ -88,8 +88,8 @@
+ 		
+ 		if(save_results){
+ 			if(VerboseSolution()) _printf0_("   saving results \n");
+-			int outputs[3] = {HydrologyHeadEnum,HydrologyGapHeightEnum,EffectivePressureEnum};
+-			femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3);
++			int outputs[4] = {HydrologyHeadEnum,HydrologyGapHeightEnum,EffectivePressureEnum,HydrologyBasalFluxEnum};
++			femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],4);
+ 			
+ 			/*unload results*/
+ 			if(VerboseSolution()) _printf0_("   saving temporary results\n");
+Index: ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 21462)
++++ ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 21463)
+@@ -119,8 +119,8 @@
+ 	iomodel->FetchDataToInput(elements,"md.hydrology.neumannflux",HydrologyNeumannfluxEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.vx",VxEnum);
+ 	iomodel->FetchDataToInput(elements,"md.initialization.vy",VyEnum);
+-	//iomodel->FetchDataToInput(elements,"md.hydrology.eff_pressure",EffectivePressureEnum);
+ 	iomodel->FindConstant(&frictionlaw,"md.friction.law");
++
+ 	/*Friction law variables*/
+ 	switch(frictionlaw){
+ 		case 1:
+@@ -146,6 +146,7 @@
+ 
+ 	parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.friction.law",FrictionLawEnum));
++   parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.relaxation",HydrologyRelaxationEnum));
+ }/*}}}*/
+ 
+ /*Finite Element Analysis*/
+@@ -177,9 +178,6 @@
+ 
+ 	/*Get conductivity from inputs*/
+ 	IssmDouble conductivity = GetConductivity(element);
+-//if(element->Id()==1){
+-//	printf("Conductivity at CreateKMatrix: %g \n",conductivity);
+-//}
+ 
+ 	/* Start  looping on the number of gaussian points: */
+ 	Gauss* gauss=element->NewGauss(1);
+@@ -244,9 +242,6 @@
+ 
+ 	/*Get conductivity from inputs*/
+ 	IssmDouble conductivity = GetConductivity(element);
+-//if(element->Id()==1){
+-//	printf("Conductivity in CreatePVector: %g \n",conductivity);
+-//}
+ 
+ 	/*Build friction element, needed later: */
+ 	Friction* friction=new Friction(element,2);
+@@ -305,11 +300,11 @@
+ 
+ 		meltrate = 1/latentheat*(G+frictionheat+rho_water*g*conductivity*(dh[0]*dh[0]+dh[1]*dh[1])-PMPheat);
+ 		_assert_(meltrate>0.);
+-		
++	
+ 		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*
+ 		 (
+ 		  meltrate*(1/rho_water-1/rho_ice)
+-		  +A*pow(fabs(pressure_ice - pressure_water_old),n-1)*(pressure_ice - pressure_water_old)*gap
++		  +A*pow(fabs(pressure_ice - pressure_water),n-1)*(pressure_ice - pressure_water)*gap
+ 		  -beta*sqrt(vx*vx+vy*vy)
+ 		  +ieb
+ 		  )*basis[i];     	
+@@ -353,6 +348,12 @@
+ 	element->GetInputListOnNodes(&thickness[0],ThicknessEnum);
+ 	element->GetInputListOnNodes(&bed[0],BaseEnum);
+ 
++	/*Get head from previous time-step and under-relaxation coefficient to use in under-relaxation for nonlinear convergence*/
++   IssmDouble* head_old  = xNew<IssmDouble>(numnodes); 
++	element->GetInputListOnNodes(&head_old[0],HydrologyHeadEnum);
++   IssmDouble relaxation; 
++	element->FindParam(&relaxation,HydrologyRelaxationEnum);
++
+ 	/*Use the dof list to index into the solution vector: */
+ 	for(int i=0;i<numnodes;i++){
+ 		values[i]=solution[doflist[i]];
+@@ -367,6 +368,9 @@
+ 			values[i] = bed[i];
+ 		}
+ 
++		/*Under-relaxation*/
++	   values[i] = head_old[i] - relaxation*(head_old[i]-values[i]);
++
+ 		/*Calculate effective pressure*/
+ 		eff_pressure[i] = rho_ice*g*thickness[i] - rho_water*g*(values[i]-bed[i]);
+ 	
+@@ -384,16 +388,21 @@
+ 	head_input->GetInputDerivativeAverageValue(&dh[0],xyz_list);
+ 	IssmDouble conductivity = GetConductivity(element);
+ 
+-	IssmDouble reynolds = conductivity*sqrt(dh[0]*dh[0]+dh[1]*dh[1])/(2.*NU);
++	IssmDouble reynolds = conductivity*sqrt(dh[0]*dh[0]+dh[1]*dh[1])/NU;
+ 	element->AddInput(HydrologyReynoldsEnum,&reynolds,P0Enum);
+ 
+-	/*Free ressources:*/
++	/*Calculate basal flux for output*/
++	IssmDouble q = conductivity*sqrt(dh[0]*dh[0]+dh[1]*dh[1]);
++	element->AddInput(HydrologyBasalFluxEnum,&q,P1Enum);
++
++	/*Free resources:*/
+ 	xDelete<IssmDouble>(values);
+ 	xDelete<IssmDouble>(thickness);
+ 	xDelete<IssmDouble>(bed);
+ 	xDelete<IssmDouble>(xyz_list);
+ 	xDelete<int>(doflist);
+ 	xDelete<IssmDouble>(eff_pressure);
++   xDelete<IssmDouble>(head_old);
+ }/*}}}*/
+ void           HydrologySommersAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
+ 	/*Default, do nothing*/
+@@ -467,9 +476,7 @@
+ 
+ 	/*Get conductivity from inputs*/
+ 	IssmDouble conductivity = GetConductivity(element);
+-//if(element->Id()==1){
+-//	printf("Conductivity at gap update: %g \n",conductivity);
+-//}
++
+ 	/*Build friction element, needed later: */
+ 	Friction* friction=new Friction(element,2);
+ 
+@@ -536,7 +543,7 @@
+ 
+ 	/*Divide by connectivity*/
+ 	newgap = newgap/totalweights;
+-	IssmDouble mingap = 1e-5;
++	IssmDouble mingap = 1e-6;
+ 	if(newgap<mingap) newgap=mingap;
+ 
+ 	/*Limit gap height to grow to surface*/
+Index: ../trunk-jpl/src/m/classes/hydrologysommers.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/hydrologysommers.m	(revision 21462)
++++ ../trunk-jpl/src/m/classes/hydrologysommers.m	(revision 21463)
+@@ -14,6 +14,7 @@
+ 		reynolds        = NaN;
+ 		spchead         = NaN;
+ 		neumannflux     = NaN;
++		relaxation      = 0;
+ 	end
+ 	methods
+ 		function self = extrude(self,md) % {{{
+@@ -29,6 +30,8 @@
+ 			end
+ 		end % }}}
+ 		function self = setdefaultparameters(self) % {{{
++	      % Set under-relaxation parameter to be 1 (no under-relaxation of nonlinear iteration)	
++			self.relaxation=1;
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+@@ -45,7 +48,8 @@
+ 			md = checkfield(md,'fieldname','hydrology.moulin_input','>=',0,'NaN',1,'Inf',1,'timeseries',1);
+ 			md = checkfield(md,'fieldname','hydrology.reynolds','>',0,'size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','hydrology.neumannflux','timeseries',1,'NaN',1,'Inf',1);
+-			md = checkfield(md,'fieldname','hydrology.spchead','size',[md.mesh.numberofvertices 1]);
++			md = checkfield(md,'fieldname','hydrology.spchead','size',[md.mesh.numberofvertices 1]);	
++         md = checkfield(md,'fieldname','hydrology.relaxation','>=',0);	
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   hydrologysommers solution parameters:'));
+@@ -58,6 +62,7 @@
+ 			fielddisplay(self,'reynolds','Reynolds'' number');
+ 			fielddisplay(self,'neumannflux','water flux applied along the model boundary (m^2/s)');
+ 			fielddisplay(self,'spchead','water head constraints (NaN means no constraint) (m)');
++			fielddisplay(self,'relaxation','under-relaxation coefficient for nonlinear iteration');
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+ 
+@@ -73,6 +78,7 @@
+ 			WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','reynolds','format','DoubleMat','mattype',2);
+ 			WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','neumannflux','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1,'yts',md.constants.yts);
+ 			WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','spchead','format','DoubleMat','mattype',1);
++         WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','relaxation','format','Double');
+ 		end % }}}
+ 	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21463-21464.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21463-21464.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21463-21464.diff	(revision 21726)
@@ -0,0 +1,122 @@
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21463)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21464)
+@@ -179,6 +179,8 @@
+ 		case HydrologyMoulinInputEnum : return "HydrologyMoulinInput";
+ 		case HydrologyReynoldsEnum : return "HydrologyReynolds";
+ 		case HydrologyNeumannfluxEnum : return "HydrologyNeumannflux";
++		case HydrologyRelaxationEnum : return "HydrologyRelaxation";
++		case HydrologyBasalFluxEnum : return "HydrologyBasalFlux";
+ 		case InversionControlParametersEnum : return "InversionControlParameters";
+ 		case InversionControlScalingFactorsEnum : return "InversionControlScalingFactors";
+ 		case InversionCostFunctionThresholdEnum : return "InversionCostFunctionThreshold";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21463)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21464)
+@@ -182,6 +182,8 @@
+ 	      else if (strcmp(name,"HydrologyMoulinInput")==0) return HydrologyMoulinInputEnum;
+ 	      else if (strcmp(name,"HydrologyReynolds")==0) return HydrologyReynoldsEnum;
+ 	      else if (strcmp(name,"HydrologyNeumannflux")==0) return HydrologyNeumannfluxEnum;
++	      else if (strcmp(name,"HydrologyRelaxation")==0) return HydrologyRelaxationEnum;
++	      else if (strcmp(name,"HydrologyBasalFlux")==0) return HydrologyBasalFluxEnum;
+ 	      else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum;
+ 	      else if (strcmp(name,"InversionControlScalingFactors")==0) return InversionControlScalingFactorsEnum;
+ 	      else if (strcmp(name,"InversionCostFunctionThreshold")==0) return InversionCostFunctionThresholdEnum;
+@@ -257,12 +259,12 @@
+ 	      else if (strcmp(name,"CalvingMinthickness")==0) return CalvingMinthicknessEnum;
+ 	      else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum;
+ 	      else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
+-	      else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
+-	      else if (strcmp(name,"CalvingdevCoeff")==0) return CalvingdevCoeffEnum;
+          else stage=3;
+    }
+    if(stage==3){
+-	      if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
++	      if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
++	      else if (strcmp(name,"CalvingdevCoeff")==0) return CalvingdevCoeffEnum;
++	      else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
+ 	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
+ 	      else if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
+ 	      else if (strcmp(name,"CalvingrateyAverage")==0) return CalvingrateyAverageEnum;
+@@ -380,12 +382,12 @@
+ 	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
+ 	      else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
+ 	      else if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
+-	      else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
+-	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
++	      if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
++	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
++	      else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
+ 	      else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
+ 	      else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
+ 	      else if (strcmp(name,"SmbTa")==0) return SmbTaEnum;
+@@ -503,12 +505,12 @@
+ 	      else if (strcmp(name,"SurfaceAbsMisfit")==0) return SurfaceAbsMisfitEnum;
+ 	      else if (strcmp(name,"Vel")==0) return VelEnum;
+ 	      else if (strcmp(name,"Velocity")==0) return VelocityEnum;
+-	      else if (strcmp(name,"VxAverage")==0) return VxAverageEnum;
+-	      else if (strcmp(name,"Vx")==0) return VxEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
++	      if (strcmp(name,"VxAverage")==0) return VxAverageEnum;
++	      else if (strcmp(name,"Vx")==0) return VxEnum;
++	      else if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
+ 	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
+ 	      else if (strcmp(name,"Vy")==0) return VyEnum;
+ 	      else if (strcmp(name,"VyPicard")==0) return VyPicardEnum;
+@@ -626,12 +628,12 @@
+ 	      else if (strcmp(name,"Outputdefinition43")==0) return Outputdefinition43Enum;
+ 	      else if (strcmp(name,"Outputdefinition44")==0) return Outputdefinition44Enum;
+ 	      else if (strcmp(name,"Outputdefinition45")==0) return Outputdefinition45Enum;
+-	      else if (strcmp(name,"Outputdefinition46")==0) return Outputdefinition46Enum;
+-	      else if (strcmp(name,"Outputdefinition47")==0) return Outputdefinition47Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
++	      if (strcmp(name,"Outputdefinition46")==0) return Outputdefinition46Enum;
++	      else if (strcmp(name,"Outputdefinition47")==0) return Outputdefinition47Enum;
++	      else if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
+ 	      else if (strcmp(name,"Outputdefinition49")==0) return Outputdefinition49Enum;
+ 	      else if (strcmp(name,"Outputdefinition50")==0) return Outputdefinition50Enum;
+ 	      else if (strcmp(name,"Outputdefinition51")==0) return Outputdefinition51Enum;
+@@ -749,12 +751,12 @@
+ 	      else if (strcmp(name,"CuffeyTemperate")==0) return CuffeyTemperateEnum;
+ 	      else if (strcmp(name,"Paterson")==0) return PatersonEnum;
+ 	      else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
+-	      else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
+-	      else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
++	      if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
++	      else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
++	      else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
+ 	      else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum;
+ 	      else if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum;
+ 	      else if (strcmp(name,"LevelsetfunctionPicard")==0) return LevelsetfunctionPicardEnum;
+@@ -872,12 +874,12 @@
+ 	      else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;
+ 	      else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
+-	      else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
+-	      else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
++	      if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
++	      else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
++	      else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
+ 	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
+ 	      else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
+ 	      else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21464-21465.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21464-21465.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21464-21465.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/test/NightlyRun/test513.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test513.m	(revision 21464)
++++ ../trunk-jpl/test/NightlyRun/test513.m	(revision 21465)
+@@ -6,7 +6,7 @@
+ md=setflowequation(md,'SSA','all');
+ 
+ %control parameters
+-md.inversion.iscontrol=1;
++md.inversion.iscontrol=0;
+ md.inversion.control_parameters={'FrictionCoefficient'};
+ md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+ md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21465-21466.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21465-21466.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21465-21466.diff	(revision 21726)
@@ -0,0 +1,17 @@
+Index: ../trunk-jpl/test/NightlyRun/test513.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test513.m	(revision 21465)
++++ ../trunk-jpl/test/NightlyRun/test513.m	(revision 21466)
+@@ -6,7 +6,7 @@
+ md=setflowequation(md,'SSA','all');
+ 
+ %control parameters
+-md.inversion.iscontrol=0;
++md.inversion.iscontrol=1;
+ md.inversion.control_parameters={'FrictionCoefficient'};
+ md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+ md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/Archives/Archive350.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21466-21467.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21466-21467.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21466-21467.diff	(revision 21726)
@@ -0,0 +1,59 @@
+Index: ../trunk-jpl/src/c/shared/Elements/BuddJacka.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Elements/BuddJacka.cpp	(revision 21466)
++++ ../trunk-jpl/src/c/shared/Elements/BuddJacka.cpp	(revision 21467)
+@@ -14,39 +14,44 @@
+ 
+ 	/*Switch to celsius from Kelvin: */
+ 	T=temperature-273.15;
++
+ 	if(T<=-40.){
+ 		B=1e8*(-0.000237326134296*pow(T+50.,3)+ 0.017054655749852*pow(T+50.,2)-0.496435984007500*(T+50.)+7.670967258739796);
+ 	}
+-	else if(-40.<T & T<=-35.){
++	else if((-40.<T)  &&  (T<=-35.)){
+ 	 B=1e8*(-0.000237326134296*pow(T+40.,3)+ 0.009934871720961*pow(T+40.,2)-0.226540709299368*(T+40.)+4.174746859353635);
+ 	}
+-	else if(-35.<T & T<=-30.){
++	else if((-35.<T)  &&  (T<=-30.)){
+ 		B=1e8*(-0.000293001369376*pow(T+35.,3)+ 0.006374979706516*pow(T+35.,2)-0.144991452161983*(T+35.)+3.260749339093782);
+ 	}
+-	else if(-30.<T & T<=-25.){
++	else if((-30.<T)  &&  (T<=-25.)){
+ 		B=1e8*(-0.000053702836500*pow(T+30.,3)+ 0.001979959165871*pow(T+30.,2)-0.103216757800049*(T+30.)+2.658541399774723);
+ 	}
+-	else if(-25.<T & T<=-20.){
++	else if((-25.<T)  &&  (T<=-20.)){
+ 		B=1e8*( 0.000006906867543*pow(T+25.,3)+ 0.001174416618375*pow(T+25.,2)-0.087444878878821*(T+25.)+2.185243735358781);
+ 	}
+-	else if(-20.<T & T<=-15.){
++	else if((-20.<T)  &&  (T<=-15.)){
+ 		B=1e8*(-0.000015460250554*pow(T+20.,3)+ 0.001278019631513*pow(T+20.,2)-0.075182697629382*(T+20.)+1.778243114866868);
+ 	}
+-	else if(-15.<T & T<=-10.){
++	else if((-15.<T)  &&  (T<=-10.)){
+ 		B=1e8*(-0.000110386100241*pow(T+15.,3)+ 0.001046115873209*pow(T+15.,2)-0.063562020105772*(T+15.)+1.432347586188582);
+ 	}
+-	else if(-10.<T & T<=-5.){
++	else if((-10.<T)  &&  (T<=-5.)){
+ 		B=1e8*(-0.000108595885218*pow(T+10.,3)+-0.000609675630408*pow(T+10.,2)-0.061379818891767*(T+10.)+1.126892119959808);
+ 	}
+-	else if(-5.<T & T<=-2.){
++	else if((-5.<T)  &&  (T<=-2.)){
+ 		B=1e8*( 0.000173187986430*pow(T+5.,3)+-0.002238613908676*pow(T+5.,2)-0.075621266587187*(T+5. )+0.791176649088537);
+ 	}
+-	else if(-2.<T & T<=-1.){
++	else if((-2.<T)  &&  (T<=-1.)){
+ 		B=1e8*( 0.000429499435151*pow(T+2.,3)+-0.000679922030808*pow(T+2.,2)-0.084376874405640*(T+2. )+0.548841399782495);
+ 	}
+-	else if(-1.<T){
++	else if((-1.<T)){
+ 		B=1e8*( 0.000429499435151*pow(T+1.,3)+ 0.000608576274646*pow(T+1.,2)-0.084448220161802*(T+1. )+0.464214102781199);
+ 	}
++	else{
++		/*FIXME: just copying previous case for now.... Felicity?*/
++		B=1e8*( 0.000429499435151*pow(T+1.,3)+ 0.000608576274646*pow(T+1.,2)-0.084448220161802*(T+1. )+0.464214102781199);
++	}
+ 
+ 	/*B cannot be negative!*/
+ 	if(B<0) B=1.e+6;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21467-21468.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21467-21468.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21467-21468.diff	(revision 21726)
@@ -0,0 +1,200 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21467)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21468)
+@@ -234,8 +234,8 @@
+ 		gauss           ->GaussPoint(ig);
+ 		basalelement    ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 
+-		epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input);
+-		epl_storing				= EplStoring(basalelement,gauss,epl_thick_input);
++		epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input,epl_head_input,base_input);
++		epl_storing				= EplStoring(basalelement,gauss,epl_thick_input,epl_head_input,base_input);
+ 
+ 		/*Diffusivity*/
+ 		D_scalar=epl_transmitivity*gauss->weight*Jdet;
+@@ -347,19 +347,16 @@
+ 		basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		basalelement ->NodalFunctions(basis,gauss);
+ 
+-		epl_storing	= EplStoring(basalelement,gauss,epl_thick_input);
++		epl_storing	= EplStoring(basalelement,gauss,epl_thick_input,epl_head_input,base_input);
+ 		/*Loading term*/
+ 		water_input->GetInputValue(&water_load,gauss);
+ 		scalar = Jdet*gauss->weight*(water_load);
+ 		if(dt!=0.) scalar = scalar*dt;
+-		for(int i=0;i<numnodes;i++){
+-			pe->values[i]+=scalar*basis[i];
+-		}
++		for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i];
+ 		
+ 		/*Transient and transfer terms*/
+ 		if(dt!=0.){
+-			old_wh_input    ->GetInputValue(&water_head,gauss);
+-			
++			old_wh_input->GetInputValue(&water_head,gauss);
+ 			/*Dealing with the epl part of the transfer term*/
+ 			transfer=GetHydrologyPVectorTransfer(basalelement,gauss,sed_head_input);
+ 			scalar = Jdet*gauss->weight*((water_head*epl_storing)+(dt*transfer));
+@@ -424,8 +421,7 @@
+ 	active_element_input->GetInputValue(&active_element);
+ 
+ 	/*Use the dof list to index into the solution vector: */
+-	/*If the EPL is not active we revert to the initialisation vallue*/
+-	/*       For now we keep OldValue but it is probably not the best*/
++	/*If the EPL is not active we revert to the bedrock elevation*/
+ 	if(active_element){
+ 		for(int i=0;i<numnodes;i++){
+ 			eplHeads[i]=solution[doflist[i]];
+@@ -434,7 +430,7 @@
+ 		}
+ 	}
+ 	else{
+-		basalelement->GetInputListOnVertices(&eplHeads[0],EplHeadOldEnum);
++		basalelement->GetInputListOnVertices(&eplHeads[0],BaseEnum);
+ 		for(int i=0;i<numnodes;i++){
+ 			if(xIsNan<IssmDouble>(eplHeads[i])) _error_("NaN found in solution vector");
+ 			if(xIsInf<IssmDouble>(eplHeads[i])) _error_("Inf found in solution vector");
+@@ -518,8 +514,6 @@
+ 	for(int j=0;j<femmodel->elements->Size();j++){
+ 		
+ 		Element* element=(Element*)femmodel->elements->GetObjectByOffset(j);
+-		/* element->parameters->FindParam(&iseplthickcomp,HydrologydcEplThickCompEnum); */
+-		/* if(iseplthickcomp==0) return; */
+ 		
+ 		switch(domaintype){
+ 		case Domain2DhorizontalEnum:
+@@ -575,7 +569,7 @@
+ 			for(int i=0;i<numnodes;i++){
+ 				/*Compute first the effective pressure in the EPL*/
+ 				EPL_N=gravity*((rho_ice*ice_thickness[i])-(rho_water*(eplhead[i]-bed[i])));
+-				if(EPL_N<0.0)EPL_N=0.0;
++				//				if(EPL_N<0.0)EPL_N=0.0;
+ 				/*Get then the square of the gradient of EPL heads*/
+ 				EPLgrad2 = (epl_slopeX[i]*epl_slopeX[i])+(epl_slopeY[i]*epl_slopeY[i]);
+ 				/*And proceed to the real thing*/
+@@ -687,16 +681,16 @@
+ 		/*If mask was already one, keep one or colapse*/
+ 		else if(old_active[i]>0.){
+ 			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			/*If epl thickness gets under colapse thickness, close the layer*/
++			/* If epl thickness gets under colapse thickness, close the layer */
+ 			if(epl_thickness[i]<colapse_thick){
+ 				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+ 				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+ 			}
+-			/* /\*If epl head gets under base elevation, close the layer*\/ */
+-			/* else if(eplhead[i]<base[i]){ */
+-			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
+-			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
+-			/* } */
++			/*If epl head gets under base elevation, close the layer*/
++			else if(eplhead[i]<base[i]){
++				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
++				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			}
+ 		}
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+ 		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
+@@ -723,29 +717,52 @@
+ 	xDelete<IssmDouble>(base);
+ }
+ /*}}}*/
+-IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input* epl_thick_input){/*{{{*/
++IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input* epl_thick_input, Input* epl_head_input, Input* base_input){/*{{{*/
+ 	IssmDouble epl_storing;
+-	IssmDouble epl_thick;
++	IssmDouble water_sheet,storing;
++	IssmDouble epl_thickness,prestep_head,base_elev;
+ 	IssmDouble rho_freshwater        = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+ 	IssmDouble g                     = element->GetMaterialParameter(ConstantsGEnum);
+ 	IssmDouble epl_porosity					 = element->GetMaterialParameter(HydrologydcEplPorosityEnum);
+ 	IssmDouble epl_compressibility	 = element->GetMaterialParameter(HydrologydcEplCompressibilityEnum);
+ 	IssmDouble water_compressibility = element->GetMaterialParameter(HydrologydcWaterCompressibilityEnum);
+ 
+-	epl_thick_input->GetInputValue(&epl_thick,gauss);
+-	
+-	epl_storing=rho_freshwater*g*epl_porosity*epl_thick*(water_compressibility+(epl_compressibility/epl_porosity));
+-	return epl_storing;
++	epl_thick_input->GetInputValue(&epl_thickness,gauss);
++	epl_head_input->GetInputValue(&prestep_head,gauss);
++	base_input->GetInputValue(&base_elev,gauss);
++	water_sheet=max(0.0,(prestep_head-base_elev));
++
++	storing=rho_freshwater*g*epl_porosity*epl_thickness*(water_compressibility+(epl_compressibility/epl_porosity));
++
++	//porosity for unconfined region
++	if (water_sheet<=0.9*epl_thickness){
++		epl_storing=epl_porosity;
++	}
++	//continuity ramp
++	else if((water_sheet<epl_thickness) && (water_sheet>0.9*epl_thickness)){
++		epl_storing=(epl_thickness-water_sheet)*(epl_porosity-storing)/(0.1*epl_thickness)+storing;
++	}
++	//storing coefficient for confined
++	else{
++		epl_storing=storing;
++	}
++	//return storing;
++ 	return epl_storing;
+ }/*}}}*/
+ 
+-IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input){/*{{{*/
++IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input, Input* epl_head_input, Input* base_input){/*{{{*/
+ 	IssmDouble epl_transmitivity;
+-	IssmDouble epl_thick;
++	IssmDouble water_sheet;
++	IssmDouble epl_thickness,base_elev,prestep_head;
+ 	IssmDouble epl_conductivity      = element->GetMaterialParameter(HydrologydcEplConductivityEnum);
+-	epl_thick_input->GetInputValue(&epl_thick,gauss);
++	epl_thick_input->GetInputValue(&epl_thickness,gauss);
++	epl_head_input->GetInputValue(&prestep_head,gauss);
++	base_input->GetInputValue(&base_elev,gauss);
+ 
+-	epl_transmitivity=epl_conductivity*epl_thick;
+-
++	water_sheet=max(0.0,(prestep_head-base_elev));
++	
++	//epl_transmitivity=epl_conductivity*epl_thickness;
++	epl_transmitivity=epl_conductivity*min(water_sheet,epl_thickness);
+ 	return epl_transmitivity;
+ }/*}}}*/
+ 
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h	(revision 21467)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h	(revision 21468)
+@@ -37,8 +37,8 @@
+ 		void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
+ 		IssmDouble GetHydrologyKMatrixTransfer(Element* element);
+ 		IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* sed_head_input);
+-		IssmDouble EplStoring(Element* element,Gauss* gauss, Input* epl_thick_input);
+-		IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input);
++		IssmDouble EplStoring(Element* element,Gauss* gauss, Input* epl_thick_input, Input* epl_head_input, Input* base_input);
++		IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input, Input* epl_head_input, Input* base_input);
+ 		void HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask, Vector<IssmDouble>* recurence, int* eplzigzag_counter, Element* element);
+ 		void HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element);
+ 		void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode);
+Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
+===================================================================
+--- ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 21467)
++++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 21468)
+@@ -169,7 +169,6 @@
+ 				ug_epl->Copy(ug_epl_sub_iter);
+ 				/*{{{*//*Retrieve the EPL head slopes and compute EPL Thickness*/
+ 				if(VerboseSolution()) _printf0_("computing EPL Head slope...\n");
+-				//inefanalysis->ElementizeEplMask(femmodel);
+ 				femmodel->SetCurrentConfiguration(L2ProjectionEPLAnalysisEnum);
+ 				femmodel->UpdateConstraintsL2ProjectionEPLx(&L2Count);
+ 				inefanalysis->ElementizeEplMask(femmodel);
+@@ -181,8 +180,8 @@
+ 				femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
+ 				effanalysis->ComputeEPLThickness(femmodel);
+ 				//updating mask after the computation of the epl thickness (Allow to close too thin EPL)
+-				femmodel->HydrologyEPLupdateDomainx(&ThickCount);
+-				inefanalysis->ElementizeEplMask(femmodel);
++				/* femmodel->HydrologyEPLupdateDomainx(&ThickCount); */
++				/* inefanalysis->ElementizeEplMask(femmodel); */
+ 				/*}}}*/
+ 					
+ 				if(VerboseSolution()) _printf0_("Building EPL Matrix...\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21468-21469.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21468-21469.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21468-21469.diff	(revision 21726)
@@ -0,0 +1,615 @@
+Index: ../trunk-jpl/test/NightlyRun/test343.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test343.m	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test343.m	(revision 21469)
+@@ -0,0 +1,50 @@
++%Test Name: SquareSheetConstrainedSmbGradientsEla2d
++md=triangle(model(),'../Exp/Square.exp',150000.);
++md=setmask(md,'','');
++md=parameterize(md,'../Par/SquareSheetConstrained.par');
++md=setflowequation(md,'SSA','all');
++md.smb = SMBgradientsela();
++md.smb.ela=1500.*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_pos=0.002.*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_neg=0.005.*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_max=4.*(md.materials.rho_freshwater/md.materials.rho_ice).*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_min=-4.*(md.materials.rho_freshwater/md.materials.rho_ice).*ones(md.mesh.numberofvertices+1,1);
++
++%Change geometry
++md.geometry.thickness=md.geometry.surface*30;
++md.geometry.surface=md.geometry.base+md.geometry.thickness;
++
++%Transient options
++md.transient.requested_outputs={'default','TotalSmb'};
++md.cluster=generic('name',oshostname(),'np',3);
++md=solve(md,'Transient');
++
++%Fields and tolerances to track changes
++field_names     ={'Vx1','Vy1','Vel1','Bed1','Surface1','Thickness1','SMB1','TotalSmb1','Vx2','Vy2','Vel2','Bed2','Surface2','Thickness2','SMB2','TotalSmb2','Vx3','Vy3','Vel3','Bed3','Surface3','Thickness3','SMB3','TotalSmb3'};
++field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1.5e-13,1e-13};
++field_values={...
++	(md.results.TransientSolution(1).Vx),...
++	(md.results.TransientSolution(1).Vy),...
++	(md.results.TransientSolution(1).Vel),...
++	(md.results.TransientSolution(1).Base),...
++	(md.results.TransientSolution(1).Surface),...
++	(md.results.TransientSolution(1).Thickness),...
++	(md.results.TransientSolution(1).SmbMassBalance),...
++	(md.results.TransientSolution(1).TotalSmb),...
++	(md.results.TransientSolution(2).Vx),...
++	(md.results.TransientSolution(2).Vy),...
++	(md.results.TransientSolution(2).Vel),...
++	(md.results.TransientSolution(2).Base),...
++	(md.results.TransientSolution(2).Surface),...
++	(md.results.TransientSolution(2).Thickness),...
++	(md.results.TransientSolution(2).TotalSmb),...
++	(md.results.TransientSolution(2).SmbMassBalance),...
++	(md.results.TransientSolution(3).Vx),...
++	(md.results.TransientSolution(3).Vy),...
++	(md.results.TransientSolution(3).Vel),...
++	(md.results.TransientSolution(3).Base),...
++	(md.results.TransientSolution(3).Surface),...
++	(md.results.TransientSolution(3).Thickness),...
++	(md.results.TransientSolution(3).SmbMassBalance),...
++	(md.results.TransientSolution(3).TotalSmb),...
++	};
+Index: ../trunk-jpl/test/NightlyRun/test344.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test344.m	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test344.m	(revision 21469)
+@@ -0,0 +1,61 @@
++%Test Name: SquareSheetConstrainedSmbGradientsEla3d
++md=triangle(model(),'../Exp/Square.exp',150000.);
++md=setmask(md,'','');
++md=parameterize(md,'../Par/SquareSheetConstrained.par');
++
++%Change geometry
++md.geometry.thickness=md.geometry.surface*30;
++md.geometry.surface=md.geometry.base+md.geometry.thickness;
++
++md=extrude(md,3,1.);
++md=setflowequation(md,'HO','all');
++md.smb = SMBgradientsela();
++md.smb.ela=1500.*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_pos=0.002.*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_neg=0.005.*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_max=4.*(md.materials.rho_freshwater/md.materials.rho_ice).*ones(md.mesh.numberofvertices+1,1);
++md.smb.b_min=-4.*(md.materials.rho_freshwater/md.materials.rho_ice).*ones(md.mesh.numberofvertices+1,1);
++
++
++%Transient options
++md.transient.requested_outputs={'default','TotalSmb'};
++md.cluster=generic('name',oshostname(),'np',3);
++md=solve(md,'Transient');
++
++%Fields and tolerances to track changes
++field_names     ={'Vx1','Vy1','Vz1','Vel1','Bed1','Surface1','Thickness1','Temperature1','SMB1','TotalSmb1','Vx2','Vy2','Vz2','Vel2','Bed2','Surface2','Thickness2','Temperature2','SMB2','TotalSmb2','Vx3','Vy3','Vz3','Vel3','Bed3','Surface3','Thickness3','Temperature3','SMB3','TotalSmb3'};
++field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
++	1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
++	1e-09,5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
++field_values={...
++	(md.results.TransientSolution(1).Vx),...
++	(md.results.TransientSolution(1).Vy),...
++	(md.results.TransientSolution(1).Vz),...
++	(md.results.TransientSolution(1).Vel),...
++	(md.results.TransientSolution(1).Base),...
++	(md.results.TransientSolution(1).Surface),...
++	(md.results.TransientSolution(1).Thickness),...
++	(md.results.TransientSolution(1).Temperature),...
++	(md.results.TransientSolution(1).SmbMassBalance),...
++	(md.results.TransientSolution(1).TotalSmb),...
++	(md.results.TransientSolution(2).Vx),...
++	(md.results.TransientSolution(2).Vy),...
++	(md.results.TransientSolution(2).Vz),...
++	(md.results.TransientSolution(2).Vel),...
++	(md.results.TransientSolution(2).Base),...
++	(md.results.TransientSolution(2).Surface),...
++	(md.results.TransientSolution(2).Thickness),...
++	(md.results.TransientSolution(2).Temperature),...
++	(md.results.TransientSolution(2).SmbMassBalance),...
++	(md.results.TransientSolution(2).TotalSmb),...
++	(md.results.TransientSolution(3).Vx),...
++	(md.results.TransientSolution(3).Vy),...
++	(md.results.TransientSolution(3).Vz),...
++	(md.results.TransientSolution(3).Vel),...
++	(md.results.TransientSolution(3).Base),...
++	(md.results.TransientSolution(3).Surface),...
++	(md.results.TransientSolution(3).Thickness),...
++	(md.results.TransientSolution(3).Temperature),...
++	(md.results.TransientSolution(3).SmbMassBalance),...
++	(md.results.TransientSolution(3).TotalSmb),...
++	};
+Index: ../trunk-jpl/test/Archives/Archive343.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: ../trunk-jpl/test/Archives/Archive343.arch
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
+Index: ../trunk-jpl/test/Archives/Archive344.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: ../trunk-jpl/test/Archives/Archive344.arch
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
+Index: ../trunk-jpl/src/c/analyses/SmbAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/SmbAnalysis.cpp	(revision 21468)
++++ ../trunk-jpl/src/c/analyses/SmbAnalysis.cpp	(revision 21469)
+@@ -104,6 +104,13 @@
+ 			iomodel->FetchDataToInput(elements,"md.smb.b_pos",SmbBPosEnum);
+ 			iomodel->FetchDataToInput(elements,"md.smb.b_neg",SmbBNegEnum);
+ 			break;
++		case SMBgradientselaEnum:
++			iomodel->FetchDataToInput(elements,"md.smb.ela",SmbElaEnum);
++			iomodel->FetchDataToInput(elements,"md.smb.b_pos",SmbBPosEnum);
++			iomodel->FetchDataToInput(elements,"md.smb.b_neg",SmbBNegEnum);
++			iomodel->FetchDataToInput(elements,"md.smb.b_max",SmbBMaxEnum);
++			iomodel->FetchDataToInput(elements,"md.smb.b_min",SmbBMinEnum);
++			break;
+ 		case SMBhenningEnum:
+ 			iomodel->FetchDataToInput(elements,"md.smb.smbref",SmbSmbrefEnum,0.);
+ 			break;
+@@ -216,6 +223,9 @@
+ 		case SMBgradientsEnum:
+ 			/*Nothing to add to parameters*/
+ 			break;
++		case SMBgradientselaEnum:
++			/*Nothing to add to parameters*/
++			break;
+ 		case SMBhenningEnum:
+ 			/*Nothing to add to parameters*/
+ 			break;
+@@ -281,6 +291,10 @@
+ 			if(VerboseSolution())_printf0_("	call smb gradients module\n");
+ 			SmbGradientsx(femmodel);
+ 			break;
++		case SMBgradientselaEnum:
++			if(VerboseSolution())_printf0_("	call smb gradients ela module\n");
++			SmbGradientsElax(femmodel);
++			break;
+ 		case SMBhenningEnum:
+ 			if(VerboseSolution())_printf0_("  call smb Henning module\n");
+ 			SmbHenningx(femmodel);
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21468)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21469)
+@@ -463,6 +463,11 @@
+ 	SmbMeltEnum,
+ 	SmbRefreezeEnum,
+ 	SMBgcmEnum,
++	/*SMBgradientsela*/
++	SMBgradientselaEnum,
++	SmbElaEnum,
++	SmbBMaxEnum,
++	SmbBMinEnum,
+ 	/*}}}*/
+ 	/*Inputs {{{*/
+ 	AdjointpEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21468)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21469)
+@@ -464,6 +464,10 @@
+ 		case SmbMeltEnum : return "SmbMelt";
+ 		case SmbRefreezeEnum : return "SmbRefreeze";
+ 		case SMBgcmEnum : return "SMBgcm";
++		case SMBgradientselaEnum : return "SMBgradientsela";
++		case SmbElaEnum : return "SmbEla";
++		case SmbBMaxEnum : return "SmbBMax";
++		case SmbBMinEnum : return "SmbBMin";
+ 		case AdjointpEnum : return "Adjointp";
+ 		case AdjointxEnum : return "Adjointx";
+ 		case AdjointyEnum : return "Adjointy";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21468)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21469)
+@@ -473,6 +473,10 @@
+ 	      else if (strcmp(name,"SmbMelt")==0) return SmbMeltEnum;
+ 	      else if (strcmp(name,"SmbRefreeze")==0) return SmbRefreezeEnum;
+ 	      else if (strcmp(name,"SMBgcm")==0) return SMBgcmEnum;
++	      else if (strcmp(name,"SMBgradientsela")==0) return SMBgradientselaEnum;
++	      else if (strcmp(name,"SmbEla")==0) return SmbElaEnum;
++	      else if (strcmp(name,"SmbBMax")==0) return SmbBMaxEnum;
++	      else if (strcmp(name,"SmbBMin")==0) return SmbBMinEnum;
+ 	      else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
+ 	      else if (strcmp(name,"Adjointx")==0) return AdjointxEnum;
+ 	      else if (strcmp(name,"Adjointy")==0) return AdjointyEnum;
+@@ -501,14 +505,14 @@
+ 	      else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
+ 	      else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
+ 	      else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
+-	      else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
++         else stage=5;
++   }
++   if(stage==5){
++	      if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceAbsMisfit")==0) return SurfaceAbsMisfitEnum;
+ 	      else if (strcmp(name,"Vel")==0) return VelEnum;
+ 	      else if (strcmp(name,"Velocity")==0) return VelocityEnum;
+-         else stage=5;
+-   }
+-   if(stage==5){
+-	      if (strcmp(name,"VxAverage")==0) return VxAverageEnum;
++	      else if (strcmp(name,"VxAverage")==0) return VxAverageEnum;
+ 	      else if (strcmp(name,"Vx")==0) return VxEnum;
+ 	      else if (strcmp(name,"VxPicard")==0) return VxPicardEnum;
+ 	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
+@@ -624,14 +628,14 @@
+ 	      else if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum;
+ 	      else if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum;
+ 	      else if (strcmp(name,"Outputdefinition41")==0) return Outputdefinition41Enum;
+-	      else if (strcmp(name,"Outputdefinition42")==0) return Outputdefinition42Enum;
++         else stage=6;
++   }
++   if(stage==6){
++	      if (strcmp(name,"Outputdefinition42")==0) return Outputdefinition42Enum;
+ 	      else if (strcmp(name,"Outputdefinition43")==0) return Outputdefinition43Enum;
+ 	      else if (strcmp(name,"Outputdefinition44")==0) return Outputdefinition44Enum;
+ 	      else if (strcmp(name,"Outputdefinition45")==0) return Outputdefinition45Enum;
+-         else stage=6;
+-   }
+-   if(stage==6){
+-	      if (strcmp(name,"Outputdefinition46")==0) return Outputdefinition46Enum;
++	      else if (strcmp(name,"Outputdefinition46")==0) return Outputdefinition46Enum;
+ 	      else if (strcmp(name,"Outputdefinition47")==0) return Outputdefinition47Enum;
+ 	      else if (strcmp(name,"Outputdefinition48")==0) return Outputdefinition48Enum;
+ 	      else if (strcmp(name,"Outputdefinition49")==0) return Outputdefinition49Enum;
+@@ -747,14 +751,14 @@
+ 	      else if (strcmp(name,"Mumps")==0) return MumpsEnum;
+ 	      else if (strcmp(name,"Gsl")==0) return GslEnum;
+ 	      else if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
+-	      else if (strcmp(name,"BuddJacka")==0) return BuddJackaEnum;
++         else stage=7;
++   }
++   if(stage==7){
++	      if (strcmp(name,"BuddJacka")==0) return BuddJackaEnum;
+ 	      else if (strcmp(name,"CuffeyTemperate")==0) return CuffeyTemperateEnum;
+ 	      else if (strcmp(name,"Paterson")==0) return PatersonEnum;
+ 	      else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
+-         else stage=7;
+-   }
+-   if(stage==7){
+-	      if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
++	      else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
+ 	      else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
+ 	      else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
+ 	      else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum;
+@@ -870,14 +874,14 @@
+ 	      else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
+ 	      else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
+-	      else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
++         else stage=8;
++   }
++   if(stage==8){
++	      if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;
+ 	      else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
+-         else stage=8;
+-   }
+-   if(stage==8){
+-	      if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
++	      else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
+ 	      else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
+ 	      else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
+ 	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
+@@ -993,10 +997,13 @@
+ 	      else if (strcmp(name,"Contours")==0) return ContoursEnum;
+ 	      else if (strcmp(name,"Parameters")==0) return ParametersEnum;
+ 	      else if (strcmp(name,"Vertices")==0) return VerticesEnum;
+-	      else if (strcmp(name,"Results")==0) return ResultsEnum;
+-	      else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
+          else stage=9;
+    }
++   if(stage==9){
++	      if (strcmp(name,"Results")==0) return ResultsEnum;
++	      else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
++         else stage=10;
++   }
+ 	/*If we reach this point, the string provided has not been found*/
+ 	if(notfounderror)
+ 		_error_("Enum " << name << " not found");
+Index: ../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp	(revision 21468)
++++ ../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp	(revision 21469)
+@@ -16,6 +16,7 @@
+ 	int v;
+ 	IssmDouble rho_water;                   // density of fresh water
+ 	IssmDouble rho_ice;                     // density of ice
++	IssmDouble yts;								// conversion factor year to second
+ 
+ 	/*Loop over all the elements of this partition*/
+ 	for(int i=0;i<femmodel->elements->Size();i++){
+@@ -43,6 +44,9 @@
+ 		rho_ice=element->matpar->GetMaterialParameter(MaterialsRhoIceEnum);
+ 		rho_water=element->matpar->GetMaterialParameter(MaterialsRhoFreshwaterEnum);
+ 
++		/* Get constants */
++		femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
++
+ 		// loop over all vertices
+ 		for(v=0;v<numvertices;v++){
+ 			if(Smbref[v]>0){
+@@ -51,6 +55,7 @@
+ 			else{
+ 				smb[v]=Smbref[v]+b_neg[v]*(s[v]-Href[v]);
+ 			}
++
+ 			smb[v]=smb[v]/1000*rho_water/rho_ice;      // SMB in m/y ice
+ 		}  //end of the loop over the vertices
+ 
+@@ -65,6 +70,72 @@
+ 	}
+ 
+ }/*}}}*/
++void SmbGradientsElax(FemModel* femmodel){/*{{{*/
++
++	// void SurfaceMassBalancex(hd,agd,ni){
++	//    INPUT parameters: ni: working size of arrays
++	//    INPUT: surface elevation (m): hd(NA)
++	//    OUTPUT: surface mass-balance (m/yr ice): agd(NA)
++	int v;
++
++	/*Loop over all the elements of this partition*/
++	for(int i=0;i<femmodel->elements->Size();i++){
++		Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++
++		/*Allocate all arrays*/
++		int         numvertices = element->GetNumberOfVertices();
++		IssmDouble* ela       = xNew<IssmDouble>(numvertices); // Equilibrium Line Altitude (m a.s.l) to which deviations are used to calculate the SMB
++		IssmDouble* b_pos       = xNew<IssmDouble>(numvertices); // SMB gradient above ELA (m ice eq. per m elevation change)
++		IssmDouble* b_neg       = xNew<IssmDouble>(numvertices); // SMB gradient below ELA (m ice eq. per m elevation change)
++		IssmDouble* b_max       = xNew<IssmDouble>(numvertices); // Upper cap on SMB rate (m/y ice eq.)
++		IssmDouble* b_min       = xNew<IssmDouble>(numvertices); // Lower cap on SMB rate (m/y ice eq.)
++		IssmDouble* s           = xNew<IssmDouble>(numvertices); // Surface elevation (m a.s.l.)
++		IssmDouble* smb         = xNew<IssmDouble>(numvertices); // SMB (m/y ice eq.)
++
++		/*Recover ELA, SMB gradients, and caps*/
++		element->GetInputListOnVertices(ela,SmbElaEnum);
++		element->GetInputListOnVertices(b_pos,SmbBPosEnum);
++		element->GetInputListOnVertices(b_neg,SmbBNegEnum);
++		element->GetInputListOnVertices(b_max,SmbBMaxEnum);
++		element->GetInputListOnVertices(b_min,SmbBMinEnum);
++
++		/*Recover surface elevation at vertices: */
++		element->GetInputListOnVertices(s,SurfaceEnum);
++
++		/*Loop over all vertices, calculate SMB*/
++		for(v=0;v<numvertices;v++){
++			// if surface is above the ELA
++			if(s[v]>ela[v]){		
++				smb[v]=b_pos[v]*(s[v]-ela[v]);
++			}
++			// if surface is below or equal to the ELA
++			else{
++				smb[v]=b_neg[v]*(s[v]-ela[v]);
++			}
++
++			// if SMB is larger than upper cap, set SMB to upper cap
++			if(smb[v]>b_max[v]){
++				smb[v]=b_max[v];
++			}
++			// if SMB is smaller than lower cap, set SMB to lower cap
++			if(smb[v]<b_min[v]){
++				smb[v]=b_min[v];
++			}
++		}  //end of the loop over the vertices
++
++		/*Add input to element and Free memory*/
++		element->AddInput(SmbMassBalanceEnum,smb,P1Enum);
++		xDelete<IssmDouble>(ela);
++		xDelete<IssmDouble>(b_pos);
++		xDelete<IssmDouble>(b_neg);
++		xDelete<IssmDouble>(b_max);
++		xDelete<IssmDouble>(b_min);
++		xDelete<IssmDouble>(s);
++		xDelete<IssmDouble>(smb);
++
++	}
++
++}/*}}}*/
+ void Delta18oParameterizationx(FemModel* femmodel){/*{{{*/
+ 
+ 	for(int i=0;i<femmodel->elements->Size();i++){
+Index: ../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h
+===================================================================
+--- ../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h	(revision 21468)
++++ ../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h	(revision 21469)
+@@ -10,6 +10,7 @@
+ /* local prototypes: */
+ void SurfaceMassBalancex(FemModel* femmodel);
+ void SmbGradientsx(FemModel* femmodel);
++void SmbGradientsElax(FemModel* femmodel);
+ void Delta18oParameterizationx(FemModel* femmodel);
+ void MungsmtpParameterizationx(FemModel* femmodel);
+ void Delta18opdParameterizationx(FemModel* femmodel);
+Index: ../trunk-jpl/src/m/classes/SMBgradientsela.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBgradientsela.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/SMBgradientsela.m	(revision 21469)
+@@ -0,0 +1,88 @@
++%SMBgradientsela Class definition
++%
++%   Usage:
++%      SMBgradientsela=SMBgradientsela();
++
++classdef SMBgradientsela
++	properties (SetAccess=public) 
++		ela    = NaN;
++		b_pos  = NaN;
++		b_neg  = NaN;
++		b_max  = NaN;
++		b_min  = NaN;
++		requested_outputs      = {};
++	end
++	methods
++		function self = SMBgradientsela(varargin) % {{{
++			switch nargin
++				case 0
++					self=setdefaultparameters(self);
++				otherwise
++					error('constructor not supported');
++			end
++		end % }}}
++		function self = extrude(self,md) % {{{
++
++			%Nothing for now
++
++		end % }}}
++		function list = defaultoutputs(self,md) % {{{
++			list = {''};
++		end % }}}
++		function self = initialize(self,md) % {{{
++
++			%Nothing done for now
++
++		end % }}}
++		function self = setdefaultparameters(self) % {{{
++
++			self.b_max=9999;
++			self.b_min=-9999;
++
++		end % }}}
++		function md = checkconsistency(self,md,solution,analyses) % {{{
++
++			if ismember('MasstransportAnalysis',analyses),
++				md = checkfield(md,'fieldname','smb.ela','timeseries',1,'NaN',1,'Inf',1);
++				md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1,'Inf',1);
++				md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1,'Inf',1);
++				md = checkfield(md,'fieldname','smb.b_max','timeseries',1,'NaN',1,'Inf',1);
++				md = checkfield(md,'fieldname','smb.b_min','timeseries',1,'NaN',1,'Inf',1);
++			end
++			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
++		end % }}}
++		function disp(self) % {{{
++			disp(sprintf('   surface forcings parameters:'));
++
++			disp(sprintf('\n   SMB gradients ela parameters:'));
++			fielddisplay(self,'ela',' equilibrium line altitude from which deviation is used to calculate smb using the smb gradients ela method [m a.s.l.]');
++			fielddisplay(self,'b_pos',' vertical smb gradient (dB/dz) above ela');
++			fielddisplay(self,'b_neg',' vertical smb gradient (dB/dz) below ela');
++			fielddisplay(self,'b_max',' upper cap on smb rate, default: 9999 (no cap) [m ice eq./yr] ');
++			fielddisplay(self,'b_min',' lower cap on smb rate, default: -9999 (no cap) [m ice eq./yr]');
++			fielddisplay(self,' requested_outputs','additional outputs requested');
++
++		end % }}}
++		function marshall(self,prefix,md,fid) % {{{
++
++			yts=md.constants.yts;
++
++			WriteData(fid,prefix,'name','md.smb.model','data',9,'format','Integer');
++			WriteData(fid,prefix,'object',self,'class','smb','fieldname','ela','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_max','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_min','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			
++			%process requested outputs
++			outputs = self.requested_outputs;
++			pos  = find(ismember(outputs,'default'));
++			if ~isempty(pos),
++				outputs(pos) = [];                         %remove 'default' from outputs
++				outputs      = [outputs defaultoutputs(self,md)]; %add defaults
++			end
++			WriteData(fid,prefix,'data',outputs,'name','md.smb.requested_outputs','format','StringArray');
++
++		end % }}}
++	end
++end
+Index: ../trunk-jpl/src/m/classes/SMBgradientsela.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBgradientsela.py	(revision 0)
++++ ../trunk-jpl/src/m/classes/SMBgradientsela.py	(revision 21469)
+@@ -0,0 +1,80 @@
++from fielddisplay import fielddisplay
++from checkfield import checkfield
++from WriteData import WriteData
++from project3d import project3d
++
++class SMBgradientsela(object):
++	"""
++	SMBgradientsela Class definition
++
++	   Usage:
++	      SMBgradientsela=SMBgradientsela();
++	"""
++
++	def __init__(self): # {{{
++		self.ela     = float('NaN')
++		self.b_pos   = float('NaN')
++		self.b_neg   = float('NaN')
++		self.b_max   = float('NaN')
++		self.b_min   = float('NaN')
++		self.requested_outputs      = []
++		#}}}
++	def __repr__(self): # {{{
++		string="   surface forcings parameters:"
++
++		string="%s\n%s"%(string,fielddisplay(self,'issmbgradientsela','is smb gradients ela method activated (0 or 1, default is 0)'))
++		string="%s\n%s"%(string,fielddisplay(self,'ela',' equilibrium line altitude from which deviation is used to calculate smb using the smb gradients ela method [m a.s.l.]'))
++		string="%s\n%s"%(string,fielddisplay(self,'b_pos',' vertical smb gradient (dB/dz) above ela'))
++		string="%s\n%s"%(string,fielddisplay(self,'b_neg',' vertical smb gradient (dB/dz) below ela'))
++		string="%s\n%s"%(string,fielddisplay(self,'b_max',' upper cap on smb rate, default: 9999 (no cap) [m ice eq./yr]'))
++		string="%s\n%s"%(string,fielddisplay(self,'b_min',' lower cap on smb rate, default: -9999 (no cap) [m ice eq./yr]'))
++		string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested'))
++
++		return string
++		#}}}
++	def extrude(self,md): # {{{
++
++		#Nothing for now
++		return self
++	#}}}
++	def defaultoutputs(self,md): # {{{
++		return []
++	#}}}
++	def initialize(self,md): # {{{
++
++		#Nothing for now
++
++		return self
++	#}}}
++	def checkconsistency(self,md,solution,analyses):    # {{{
++
++		if 'MasstransportAnalysis' in analyses:
++			md = checkfield(md,'fieldname','smb.ela','timeseries',1,'NaN',1,'Inf',1)
++			md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1,'Inf',1)
++			md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1,'Inf',1)
++			md = checkfield(md,'fieldname','smb.b_max','timeseries',1,'NaN',1,'Inf',1)
++			md = checkfield(md,'fieldname','smb.b_min','timeseries',1,'NaN',1,'Inf',1)
++
++		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
++		return md
++	# }}}
++	def marshall(self,prefix,md,fid):    # {{{
++
++		yts=md.constants.yts
++
++		WriteData(fid,prefix,'name','md.smb.model','data',9,'format','Integer');
++		WriteData(fid,prefix,'object',self,'class','smb','fieldname','ela','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
++		WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
++		WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
++		WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_max','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
++		WriteData(fid,prefix,'object',self,'class','smb','fieldname','b_min','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
++		
++		#process requested outputs
++		outputs = self.requested_outputs
++		indices = [i for i, x in enumerate(outputs) if x == 'default']
++		if len(indices) > 0:
++			outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:]
++			outputs    =outputscopy
++		WriteData(fid,prefix,'data',outputs,'name','md.smb.requested_outputs','format','StringArray')
++
++	# }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21469-21470.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21469-21470.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21469-21470.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/classes/SMBgradientsela.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBgradientsela.m	(revision 21469)
++++ ../trunk-jpl/src/m/classes/SMBgradientsela.m	(revision 21470)
+@@ -60,7 +60,7 @@
+ 			fielddisplay(self,'b_neg',' vertical smb gradient (dB/dz) below ela');
+ 			fielddisplay(self,'b_max',' upper cap on smb rate, default: 9999 (no cap) [m ice eq./yr] ');
+ 			fielddisplay(self,'b_min',' lower cap on smb rate, default: -9999 (no cap) [m ice eq./yr]');
+-			fielddisplay(self,' requested_outputs','additional outputs requested');
++			fielddisplay(self,'requested_outputs','additional outputs requested');
+ 
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
Index: /issm/oecreview/Archive/21337-21723/ISSM-21470-21471.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21470-21471.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21470-21471.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/src/c/classes/DofIndexing.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/DofIndexing.cpp	(revision 21470)
++++ ../trunk-jpl/src/c/classes/DofIndexing.cpp	(revision 21471)
+@@ -250,10 +250,12 @@
+ 	_printf_("   active: " << active << "\n");
+ 	_printf_("   freeze: " << freeze << "\n");
+ 
+-	_printf_("   set membership: f,s sets \n");
+-	for(i=0;i<gsize;i++){
+-		_printf_("      dof " << i << ": " <<(f_set[i]?"true":"false")<< " " <<(s_set[i]?"true":"false") << "\n");
+-	}
++	_printf_("   f_set = [ ");
++	for(i=0;i<gsize;i++) _printf_((f_set[i]?1:0)<< " ");
++	_printf_("]\n");
++	_printf_("   s_set = [ ");
++	for(i=0;i<gsize;i++) _printf_((s_set[i]?1:0)<< " ");
++	_printf_("]\n");
+ 
+ 	_printf_("   svalues (" << this->ssize << "): |");
+ 	for(i=0;i<this->gsize;i++){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21471-21472.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21471-21472.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21471-21472.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21471)
++++ ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21472)
+@@ -51,6 +51,7 @@
+ 		case 6: return SMBgradientsEnum;
+ 		case 7: return SMBhenningEnum;
+ 		case 8: return SMBgembEnum;
++		case 9: return SMBgradientselaEnum;
+ 		default: _error_("Marshalled SMB code \""<<enum_in<<"\" not supported yet");
+ 	}
+ }/*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21472-21473.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21472-21473.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21472-21473.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21472)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21473)
+@@ -120,6 +120,10 @@
+ 					break;
+ 					/*Nothing to add*/
+ 					break;
++				case SMBgradientselaEnum:
++					break;
++					/*Nothing to add*/
++					break;
+ 				case SMBhenningEnum:
+ 					/*Nothing to add*/
+ 					break;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21473-21474.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21473-21474.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21473-21474.diff	(revision 21726)
@@ -0,0 +1,16 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21473)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21474)
+@@ -117,11 +117,9 @@
+ 					iomodel->FindConstant(&this->rlapslgm,"md.smb.rlapslgm");
+ 					iomodel->FindConstant(&this->dpermil,"md.smb.dpermil");					
+ 				case SMBgradientsEnum:
+-					break;
+ 					/*Nothing to add*/
+ 					break;
+ 				case SMBgradientselaEnum:
+-					break;
+ 					/*Nothing to add*/
+ 					break;
+ 				case SMBhenningEnum:
Index: /issm/oecreview/Archive/21337-21723/ISSM-21474-21475.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21474-21475.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21474-21475.diff	(revision 21726)
@@ -0,0 +1,172 @@
+Index: ../trunk-jpl/src/m/plot/plot_mesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21474)
++++ ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21475)
+@@ -26,11 +26,7 @@
+ 	
+ 	if is2d:
+ 		ax.triplot(x,y,elements)
+-
+ 	else:
+-		# fig.delaxes(ax)
+-		# geom=int(str(axgrid.get_geometry()[0])+str(axgrid.get_geometry()[1])+str(gridindex+1))
+-		# ax = fig.add_subplot(geom,projection='3d')
+ 		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
+ 		
+ 		
+Index: ../trunk-jpl/src/m/plot/plot_elementnumbering.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_elementnumbering.py	(revision 21474)
++++ ../trunk-jpl/src/m/plot/plot_elementnumbering.py	(revision 21475)
+@@ -8,7 +8,7 @@
+ from applyoptions import applyoptions
+ from plot_icefront import plot_icefront
+ 
+-def plot_elementnumbering(md,options,fig,ax):
++def plot_elementnumbering(md,options,fig,axgrid,gridindex):
+ 	'''
+ 	plot_elementnumbering - plot element numberign (starting at 1 matlab and c convention)
+ 
+@@ -17,8 +17,16 @@
+ 
+ 		See also: PLOTMODEL
+ 	'''
++	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
++
++	ax=axgrid[gridindex]
++	fig.delaxes(axgrid.cbar_axes[gridindex])
+ 	
+-	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
++	if is2d:
++		ax.triplot(x,y,elements)
++	else:
++		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++
+ 	XLims=[np.min(x),np.max(x)]
+ 	YLims=[np.min(y),np.max(y)]
+ 	#plot mesh
+@@ -36,9 +44,8 @@
+ 	for i,element in enumerate(elements):
+ 		ax.text(np.mean(x[element]),np.mean(y[element]),str(i+1),ha='center',va='center')
+ 		
+-
+ 	#apply options
+-	options.addfielddefault('title','Element numbers')
++	options.addfielddefault('title','Element numbers (matlab indexation)')
+ 	options.addfielddefault('colorbar','off')
+-	applyoptions(md,[],options,fig,ax)
++	applyoptions(md,[],options,fig,axgrid,gridindex)
+ 	
+Index: ../trunk-jpl/src/m/plot/plot_vertexnumbering.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_vertexnumbering.py	(revision 21474)
++++ ../trunk-jpl/src/m/plot/plot_vertexnumbering.py	(revision 21475)
+@@ -1,6 +1,3 @@
+-
+-
+-
+ try:
+ 	import pylab as p
+ except ImportError:
+@@ -11,38 +8,46 @@
+ from applyoptions import applyoptions
+ from plot_icefront import plot_icefront
+ 
+-def plot_vertexnumbering(md,options,fig,ax):
+-    '''
++def plot_vertexnumbering(md,options,fig,axgrid,gridindex):
++	'''
+ 	PLOT_VERTEXNUMBERING - plot vertex numbering
+-
+-   	Usage:
+-      	plot_vertexnumbering(md,options,fig,axes);
+-
++	
++	Usage:
++	plot_vertexnumbering(md,options,fig,axes);
++	
+  	See also: PLOTMODEL
+-
++	
+ 	'''
+ 	#process data and model
+-    x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
+-    XLims=[np.min(x),np.max(x)]
+-    YLims=[np.min(y),np.max(y)]
+-    #plot mesh
+-    ax.triplot(x,y,elements)
+-    highlightpos=options.getfieldvalue('highlight','none')
+-    if highlightpos!='none':
+-        #if just one element duplicate it to avoid coloring issues
+-        if type(highlightpos)==int:
+-            highlightpos=[highlightpos,highlightpos]
+-        #convert from to matlab numbering
+-        highlightpos=[pos-1 for pos in highlightpos]
+-        colors=np.asarray([0.5 for element in elements[highlightpos]])
+-        ax.tripcolor(x,y,vertices[highlightpos],facecolors=colors,alpha=0.5)
+-    # and numbers
++	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
++
++	ax=axgrid[gridindex]
++	fig.delaxes(axgrid.cbar_axes[gridindex])
+ 	
+-    for i,element in enumerate(elements):
+-        for j in [0,1,2]:
+-            ax.text(x[element][j],y[element][j],str(element[j]))	
++	if is2d:
++		ax.triplot(x,y,elements)
++	else:
++		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++
++
++	XLims=[np.min(x),np.max(x)]
++	YLims=[np.min(y),np.max(y)]
++	#plot mesh
++	ax.triplot(x,y,elements)
++	highlightpos=options.getfieldvalue('highlight','none')
++	if highlightpos!='none':
++		#if just one element duplicate it to avoid coloring issues
++		if type(highlightpos)==int:
++			highlightpos=[highlightpos,highlightpos]
++		#convert from to matlab numbering
++		highlightpos=[pos-1 for pos in highlightpos]
++		colors=np.asarray([0.5 for element in elements[highlightpos]])
++		ax.tripcolor(x,y,vertices[highlightpos],facecolors=colors,alpha=0.5)
++	# and numbers
++	for i,Xcoord in enumerate(x):
++		ax.text(x[i],y[i],str(i+1))	
+ 	
+-    #apply options
+-    options.addfielddefault('title','Vertex numbers')
+-    options.addfielddefault('colorbar','off')
+-    applyoptions(md,[],options,fig,ax)
++	#apply options
++	options.addfielddefault('title','Vertex numbers (matlab indexation)')
++	options.addfielddefault('colorbar','off')
++	applyoptions(md,[],options,fig,axgrid,gridindex)
+Index: ../trunk-jpl/src/m/plot/plot_manager.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21474)
++++ ../trunk-jpl/src/m/plot/plot_manager.py	(revision 21475)
+@@ -66,17 +66,17 @@
+ 			#fig.delaxes(fig.axes[1]) # hack to remove colorbar after the fact
+ 			return
+ 		elif data=='BC': 
+-			plot_BC(md,options,fig,ax)
++			plot_BC(md,options,fig,axgrid,gridindex)
+ 			return
+ 		elif data=='elementnumbering': 
+-			plot_elementnumbering(md,options,fig,ax)
++			plot_elementnumbering(md,options,fig,axgrid,gridindex)
+ 			return
+ 		elif data=='vertexnumbering': 
+-			plot_vertexnumbering(md,options,fig,ax)
++			plot_vertexnumbering(md,options,fig,axgrid,gridindex)
+ 			return
+ 		elif data=='none':
+ 			print 'no data provided to plot (TODO: write plot_none.py)'
+-			applyoptions(md,[],options,fig,ax)
++			applyoptions(md,[],options,fig,axgrid,gridindex)
+ 			return
+ 		else:
+ 			print "WARNING: '%s' is not implemented or is not a valid string for option 'data'" % data
Index: /issm/oecreview/Archive/21337-21723/ISSM-21475-21476.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21475-21476.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21475-21476.diff	(revision 21726)
@@ -0,0 +1,102 @@
+Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
+===================================================================
+--- ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 21475)
++++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp	(revision 21476)
+@@ -157,6 +157,7 @@
+ 		if(isefficientlayer){
+ 			femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
+ 			/*updating mask*/
++			if(VerboseSolution()) _printf0_("==updating mask...\n");
+ 			femmodel->HydrologyEPLupdateDomainx(&ThickCount);
+ 			inefanalysis->ElementizeEplMask(femmodel);
+ 			InputUpdateFromConstantx(femmodel,true,ResetPenaltiesEnum);
+@@ -180,8 +181,8 @@
+ 				femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
+ 				effanalysis->ComputeEPLThickness(femmodel);
+ 				//updating mask after the computation of the epl thickness (Allow to close too thin EPL)
+-				/* femmodel->HydrologyEPLupdateDomainx(&ThickCount); */
+-				/* inefanalysis->ElementizeEplMask(femmodel); */
++				femmodel->HydrologyEPLupdateDomainx(&ThickCount);
++				inefanalysis->ElementizeEplMask(femmodel);
+ 				/*}}}*/
+ 					
+ 				if(VerboseSolution()) _printf0_("Building EPL Matrix...\n");
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21475)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21476)
+@@ -678,20 +678,6 @@
+ 				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+ 			}
+ 		}
+-		/*If mask was already one, keep one or colapse*/
+-		else if(old_active[i]>0.){
+-			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			/* If epl thickness gets under colapse thickness, close the layer */
+-			if(epl_thickness[i]<colapse_thick){
+-				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+-				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			}
+-			/*If epl head gets under base elevation, close the layer*/
+-			else if(eplhead[i]<base[i]){
+-				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+-				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			}
+-		}
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+ 		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
+ 		if(eplhead[i]>=h_max && active_element){
+@@ -705,6 +691,20 @@
+ 				}
+ 			}
+ 		}
++		/*If mask was already one, keep one or colapse*/
++		else if(old_active[i]>0.){
++			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			/* If epl thickness gets under colapse thickness, close the layer */
++			if(epl_thickness[i]<colapse_thick){
++				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
++				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			}
++			/*If epl head gets under base elevation, close the layer*/
++			/* else if(eplhead[i]<(base[i]-1.0e-8)){ */
++			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
++			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
++			/* }*/
++		}
+ 	}
+ 	basalelement->AddInput(HydrologydcEplThicknessEnum,epl_thickness,basalelement->GetElementType());
+ 
+@@ -759,9 +759,11 @@
+ 	epl_head_input->GetInputValue(&prestep_head,gauss);
+ 	base_input->GetInputValue(&base_elev,gauss);
+ 
+-	water_sheet=max(0.0,(prestep_head-base_elev));
++	//water_sheet=max(0.0,(prestep_head-base_elev));
++	water_sheet=prestep_head-base_elev;
+ 	
+ 	//epl_transmitivity=epl_conductivity*epl_thickness;
++	//if (element->Sid()==8)printf("water sheet is %f for Elt %i\n",water_sheet,element->Sid());
+ 	epl_transmitivity=epl_conductivity*min(water_sheet,epl_thickness);
+ 	return epl_transmitivity;
+ }/*}}}*/
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21475)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21476)
+@@ -524,6 +524,7 @@
+ 	base_input->GetInputValue(&base_elev,gauss);
+ 	sed_head_input->GetInputValue(&prestep_head,gauss);
+ 	water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
++
+ 	storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
+ 	//porosity for unconfined region
+ 	if (water_sheet<=0.9*sediment_thickness){
+@@ -549,6 +550,7 @@
+ 	sed_head_input->GetInputValue(&prestep_head,gauss);
+ 	SedTrans_input->GetInputValue(&FullLayer_transmitivity,gauss);
+ 	water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
++
+ 	if (water_sheet<=sediment_thickness){
+ 		sediment_transmitivity=FullLayer_transmitivity*water_sheet/sediment_thickness;
+ 	}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21476-21477.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21476-21477.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21476-21477.diff	(revision 21726)
@@ -0,0 +1,48 @@
+Index: ../trunk-jpl/test/NightlyRun/test102.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test102.py	(revision 21476)
++++ ../trunk-jpl/test/NightlyRun/test102.py	(revision 21477)
+@@ -19,11 +19,9 @@
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vz','Vel','Pressure']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vz,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vz,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure]
+ 
+Index: ../trunk-jpl/test/NightlyRun/test333.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test333.py	(revision 21476)
++++ ../trunk-jpl/test/NightlyRun/test333.py	(revision 21477)
+@@ -47,14 +47,14 @@
+ 
+ md=solve(md,'Transient')
+ 
+-sedvol=np.zeros(10)
+-eplvol=np.zeros(10)
+-time=np.arange(0.2,2.1,0.2)
+-store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility)
+-sedstore=20.0*store
+-for i in range(0,10):
+-	sedvol[i]=np.mean(md.results.TransientSolution[i].SedimentHead)*sedstore
+-	eplvol[i]=np.mean(md.results.TransientSolution[i].EplHead)*store*np.mean(md.results.TransientSolution[i].HydrologydcEplThickness)
++# sedvol=np.zeros(10)
++# eplvol=np.zeros(10)
++# time=np.arange(0.2,2.1,0.2)
++# store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility)
++# sedstore=20.0*store
++# for i in range(0,10):
++# 	sedvol[i]=np.mean(md.results.TransientSolution[i].SedimentHead)*sedstore
++# 	eplvol[i]=np.mean(md.results.TransientSolution[i].EplHead)*store*np.mean(md.results.TransientSolution[i].HydrologydcEplThickness)
+ 
+ field_names=['SedimentWaterHead1','EplWaterHead1','SedimentHeadResidual1',
+ 						 'SedimentWaterHead4','EplWaterHead4','SedimentHeadResidual4',
Index: /issm/oecreview/Archive/21337-21723/ISSM-21477-21478.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21477-21478.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21477-21478.diff	(revision 21726)
@@ -0,0 +1,67 @@
+Index: ../trunk-jpl/src/m/plot/plot_elementnumbering.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_elementnumbering.py	(revision 21477)
++++ ../trunk-jpl/src/m/plot/plot_elementnumbering.py	(revision 21478)
+@@ -25,7 +25,7 @@
+ 	if is2d:
+ 		ax.triplot(x,y,elements)
+ 	else:
+-		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++		print 'Not Implemented Yet'
+ 
+ 	XLims=[np.min(x),np.max(x)]
+ 	YLims=[np.min(y),np.max(y)]
+@@ -42,7 +42,7 @@
+ 		ax.tripcolor(x,y,elements[highlightpos],facecolors=colors,alpha=0.5)
+ 	# and numbers
+ 	for i,element in enumerate(elements):
+-		ax.text(np.mean(x[element]),np.mean(y[element]),str(i+1),ha='center',va='center')
++		ax.text(np.mean(x[element]),np.mean(y[element]),str(i+1),ha='center',va='center',clip_on=True)
+ 		
+ 	#apply options
+ 	options.addfielddefault('title','Element numbers (matlab indexation)')
+Index: ../trunk-jpl/src/m/plot/plot_vertexnumbering.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_vertexnumbering.py	(revision 21477)
++++ ../trunk-jpl/src/m/plot/plot_vertexnumbering.py	(revision 21478)
+@@ -27,26 +27,31 @@
+ 	if is2d:
+ 		ax.triplot(x,y,elements)
+ 	else:
+-		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++		print 'Not Implemented Yet'
+ 
+-
+-	XLims=[np.min(x),np.max(x)]
+-	YLims=[np.min(y),np.max(y)]
++	XPad=0.1*(np.max(x)-np.min(x))
++	YPad=0.1*(np.max(y)-np.min(y))
+ 	#plot mesh
+ 	ax.triplot(x,y,elements)
+-	highlightpos=options.getfieldvalue('highlight','none')
++	ax.set_xlim((np.min(x)-XPad,np.max(x)+XPad))
++	ax.set_ylim((np.min(y)-XPad,np.max(y)+XPad))
++
++	highlightpos=options.getfieldvalue('highlight',[])
+ 	if highlightpos!='none':
+ 		#if just one element duplicate it to avoid coloring issues
+ 		if type(highlightpos)==int:
+ 			highlightpos=[highlightpos,highlightpos]
+ 		#convert from to matlab numbering
+ 		highlightpos=[pos-1 for pos in highlightpos]
+-		colors=np.asarray([0.5 for element in elements[highlightpos]])
+-		ax.tripcolor(x,y,vertices[highlightpos],facecolors=colors,alpha=0.5)
++
+ 	# and numbers
+ 	for i,Xcoord in enumerate(x):
+-		ax.text(x[i],y[i],str(i+1))	
+-	
++		if i in highlightpos:
++			props = dict(boxstyle='circle', pad=0.1,color='r')
++		else:
++			props = dict(boxstyle='circle', pad=0.1,color='w')
++		ax.text(x[i],y[i],str(i+1),ha='center',va='center',backgroundcolor='w',clip_on=True,bbox=props)	
++		
+ 	#apply options
+ 	options.addfielddefault('title','Vertex numbers (matlab indexation)')
+ 	options.addfielddefault('colorbar','off')
Index: /issm/oecreview/Archive/21337-21723/ISSM-21478-21479.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21478-21479.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21478-21479.diff	(revision 21726)
@@ -0,0 +1,77 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21478)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21479)
+@@ -346,7 +346,6 @@
+ 		gauss->GaussPoint(ig);
+ 		basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		basalelement ->NodalFunctions(basis,gauss);
+-
+ 		epl_storing	= EplStoring(basalelement,gauss,epl_thick_input,epl_head_input,base_input);
+ 		/*Loading term*/
+ 		water_input->GetInputValue(&water_load,gauss);
+@@ -569,13 +568,11 @@
+ 			for(int i=0;i<numnodes;i++){
+ 				/*Compute first the effective pressure in the EPL*/
+ 				EPL_N=gravity*((rho_ice*ice_thickness[i])-(rho_water*(eplhead[i]-bed[i])));
+-				//				if(EPL_N<0.0)EPL_N=0.0;
++				if(EPL_N<0.0)EPL_N=0.0;
+ 				/*Get then the square of the gradient of EPL heads*/
+ 				EPLgrad2 = (epl_slopeX[i]*epl_slopeX[i])+(epl_slopeY[i]*epl_slopeY[i]);
+ 				/*And proceed to the real thing*/
+-				thickness[i] = old_thickness[i]*
+-					(2.0+((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*EPLgrad2-(2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n))))/
+-					(2.0-((rho_water*gravity*dt)/(rho_ice*latentheat))*epl_conductivity*EPLgrad2+(2.0*(A*dt/(pow(n,n)))*(pow(EPL_N,n))));
++				thickness[i] = old_thickness[i]/(1.0-((rho_water*gravity*epl_conductivity*EPLgrad2*dt)/(rho_ice*latentheat))+((2.0*A*dt*pow(EPL_N,n))/(pow(n,n))));
+ 				/*Take care of otherthikening*/
+ 				if(thickness[i]>max_thick){
+ 					thickness[i] = max_thick;
+@@ -734,20 +731,20 @@
+ 
+ 	storing=rho_freshwater*g*epl_porosity*epl_thickness*(water_compressibility+(epl_compressibility/epl_porosity));
+ 
+-	//porosity for unconfined region
+-	if (water_sheet<=0.9*epl_thickness){
+-		epl_storing=epl_porosity;
+-	}
+-	//continuity ramp
+-	else if((water_sheet<epl_thickness) && (water_sheet>0.9*epl_thickness)){
+-		epl_storing=(epl_thickness-water_sheet)*(epl_porosity-storing)/(0.1*epl_thickness)+storing;
+-	}
+-	//storing coefficient for confined
+-	else{
+-		epl_storing=storing;
+-	}
+-	//return storing;
+- 	return epl_storing;
++	/* //porosity for unconfined region */
++	/* if (water_sheet<=0.9*epl_thickness){ */
++	/* 	epl_storing=epl_porosity; */
++	/* } */
++	/* //continuity ramp */
++	/* else if((water_sheet<epl_thickness) && (water_sheet>0.9*epl_thickness)){ */
++	/* 	epl_storing=(epl_thickness-water_sheet)*(epl_porosity-storing)/(0.1*epl_thickness)+storing; */
++	/* } */
++	/* //storing coefficient for confined */
++	/* else{ */
++	/* 	epl_storing=storing; */
++	/* } */
++	return storing;
++ 	//return epl_storing;
+ }/*}}}*/
+ 
+ IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input, Input* epl_head_input, Input* base_input){/*{{{*/
+@@ -759,11 +756,10 @@
+ 	epl_head_input->GetInputValue(&prestep_head,gauss);
+ 	base_input->GetInputValue(&base_elev,gauss);
+ 
+-	//water_sheet=max(0.0,(prestep_head-base_elev));
+-	water_sheet=prestep_head-base_elev;
++	water_sheet=max(0.0,(prestep_head-base_elev));
++	//water_sheet=prestep_head-base_elev;
+ 	
+ 	//epl_transmitivity=epl_conductivity*epl_thickness;
+-	//if (element->Sid()==8)printf("water sheet is %f for Elt %i\n",water_sheet,element->Sid());
+ 	epl_transmitivity=epl_conductivity*min(water_sheet,epl_thickness);
+ 	return epl_transmitivity;
+ }/*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21479-21480.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21479-21480.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21479-21480.diff	(revision 21726)
@@ -0,0 +1,238 @@
+Index: ../trunk-jpl/test/Par/IceCube.py
+===================================================================
+--- ../trunk-jpl/test/Par/IceCube.py	(revision 0)
++++ ../trunk-jpl/test/Par/IceCube.py	(revision 21480)
+@@ -0,0 +1,55 @@
++import os.path
++import numpy as np
++import inspect
++from verbose import verbose
++from InterpFromMeshToMesh2d import InterpFromMeshToMesh2d
++from paterson import paterson
++from SetIceSheetBC import SetIceSheetBC
++from arch import *
++
++#Start defining model parameters here
++
++#Geometry
++md.geometry.thickness=1000.0*np.ones((md.mesh.numberofvertices))
++md.geometry.base=np.zeros((md.mesh.numberofvertices))
++md.geometry.surface=md.geometry.base+md.geometry.thickness
++
++md.initialization.vx=np.zeros((md.mesh.numberofvertices))
++md.initialization.vy=np.zeros((md.mesh.numberofvertices))
++md.initialization.vz=np.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices))
++
++#Materials
++md.initialization.temperature=(273.-20.)*np.ones((md.mesh.numberofvertices))
++md.materials.rheology_B=paterson(md.initialization.temperature)
++md.materials.rheology_n=3.*np.ones((md.mesh.numberofelements))
++
++#Calving
++md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.nan*np.ones((md.mesh.numberofvertices))
++
++#Friction
++md.friction.coefficient=20.*np.ones((md.mesh.numberofvertices))
++md.friction.coefficient[np.where(md.mask.groundedice_levelset<0.)[0]]=0.
++md.friction.p=np.ones((md.mesh.numberofelements))
++md.friction.q=np.ones((md.mesh.numberofelements))
++
++#Numerical parameters
++md.stressbalance.viscosity_overshoot=0.0
++md.masstransport.stabilization=1.
++md.thermal.stabilization=1.
++md.verbose=verbose(0)
++md.settings.waitonlock=30
++md.stressbalance.restol=0.05
++md.steadystate.reltol=0.05
++md.stressbalance.reltol=0.05
++md.stressbalance.abstol=float('NaN')
++md.timestepping.time_step=1.
++md.timestepping.final_time=3.
++
++#Boundary conditions:
++md=SetIceSheetBC(md)
++
++#Change name so that no test have the same name
++if len(inspect.stack()) > 2:
++	md.miscellaneous.name = os.path.basename(inspect.stack()[2][1]).split('.')[0]
+
+Property changes on: ../trunk-jpl/test/Par/IceCube.py
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/test/Par/IceCube.par
+===================================================================
+--- ../trunk-jpl/test/Par/IceCube.par	(revision 0)
++++ ../trunk-jpl/test/Par/IceCube.par	(revision 21480)
+@@ -0,0 +1,46 @@
++%Start defining model parameters here
++
++%Geometry
++md.geometry.thickness=1000.0*ones(md.mesh.numberofvertices,1);
++md.geometry.base=zeros(md.mesh.numberofvertices,1);
++md.geometry.surface=md.geometry.base+md.geometry.thickness;
++
++md.initialization.vx=zeros(md.mesh.numberofvertices,1);
++md.initialization.vy=zeros(md.mesh.numberofvertices,1);
++md.initialization.vz=zeros(md.mesh.numberofvertices,1);
++md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
++
++%Materials
++md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_B=paterson(md.initialization.temperature);
++md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1);
++
++%Calving
++md.calving.calvingrate=zeros(md.mesh.numberofvertices,1);
++md.levelset.spclevelset=NaN(md.mesh.numberofvertices,1);
++
++%Friction
++md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
++md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
++md.friction.p=ones(md.mesh.numberofelements,1);
++md.friction.q=ones(md.mesh.numberofelements,1);
++
++%Numerical parameters
++md.stressbalance.viscosity_overshoot=0.0;
++md.masstransport.stabilization=1.;
++md.thermal.stabilization=1.;
++md.verbose=verbose(0);
++md.settings.waitonlock=30;
++md.stressbalance.restol=0.05;
++md.steadystate.reltol=0.05;
++md.stressbalance.reltol=0.05;
++md.stressbalance.abstol=NaN;
++md.timestepping.time_step=1.;
++md.timestepping.final_time=3.;
++
++%Boundary conditions:
++md=SetIceSheetBC(md);
++
++%Change name so that no test have the same name
++A=dbstack;
++if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
+
+Property changes on: ../trunk-jpl/test/Par/IceCube.par
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/test/NightlyRun/test332.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test332.py	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test332.py	(revision 21480)
+@@ -14,7 +14,7 @@
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'','')
+-md=parameterize(md,'../Par/SquareSheetConstrained.py')
++md=parameterize(md,'../Par/IceCube.py')
+ 
+ md.transient=transient.setallnullparameters(md.transient)
+ md.transient.ishydrology=True
+@@ -41,7 +41,7 @@
+ #Fields and tolerances to track changes
+ #you can also compare with an analitic solution, but it is exact
+ #only if no limits are applied
+-#analitic=(md.mesh.y.^2-2*md.mesh.y*1.0e6)*(-2.0/(2*md.constants.yts*md.hydrology.sediment_transmitivity))
++#analitic=(md.mesh.y**2-2*md.mesh.y*1.0e6)*(-2.0/(2*md.constants.yts*md.hydrology.sediment_transmitivity))
+ field_names     =['SedimentWaterHead','SedimentHeadResidual']
+ field_tolerances=[1e-13, 3e-10]
+ field_values=[md.results.HydrologySolution.SedimentHead,md.results.HydrologySolution.SedimentHeadResidual]
+Index: ../trunk-jpl/test/NightlyRun/test333.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test333.py	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test333.py	(revision 21480)
+@@ -14,7 +14,9 @@
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'','')
+-md=parameterize(md,'../Par/SquareSheetConstrained.py')
++md=parameterize(md,'../Par/IceCube.py')
++
++
+ md.transient=transient.setallnullparameters(md.transient)
+ md.transient.ishydrology=True
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test334.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test334.py	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test334.py	(revision 21480)
+@@ -14,7 +14,7 @@
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'','')
+-md=parameterize(md,'../Par/SquareSheetConstrained.py')
++md=parameterize(md,'../Par/IceCube.py')
+ md.transient=transient.setallnullparameters(md.transient)
+ md.transient.ishydrology=True
+ md=setflowequation(md,'SSA','all')
+Index: ../trunk-jpl/test/NightlyRun/test335.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test335.py	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test335.py	(revision 21480)
+@@ -14,7 +14,7 @@
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'','')
+-md=parameterize(md,'../Par/SquareSheetConstrained.py')
++md=parameterize(md,'../Par/IceCube.py')
+ md.transient=transient.setallnullparameters(md.transient)
+ md.transient.ishydrology=True
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test332.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test332.m	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test332.m	(revision 21480)
+@@ -1,7 +1,7 @@
+ %Test Name: SquareSheetConstrainedHydrologyDC
+ md=triangle(model(),'../Exp/Square.exp',100000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/SquareSheetConstrained.par');
++md=parameterize(md,'../Par/IceCube.par');
+ md.transient=deactivateall(md.transient);
+ md.transient.ishydrology=1;
+ md=setflowequation(md,'SSA','all');
+Index: ../trunk-jpl/test/NightlyRun/test333.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test333.m	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test333.m	(revision 21480)
+@@ -1,7 +1,7 @@
+ %Test Name: SquareSheetHydrologyDCTwoLayers
+ md=triangle(model(),'../Exp/Square.exp',100000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/SquareSheetConstrained.par');
++md=parameterize(md,'../Par/IceCube.par');
+ md.transient=deactivateall(md.transient);
+ md.transient.ishydrology=1;
+ md.transient.issmb=1;
+Index: ../trunk-jpl/test/NightlyRun/test334.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test334.m	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test334.m	(revision 21480)
+@@ -3,7 +3,7 @@
+ md=setmask(md,'','');
+ md.transient=deactivateall(md.transient);
+ md.transient.ishydrology=1;
+-md=parameterize(md,'../Par/SquareSheetConstrained.par');
++md=parameterize(md,'../Par/IceCube.par');
+ md=setflowequation(md,'SSA','all');
+ md.cluster=generic('name',oshostname(),'np',1);
+ md.hydrology=(hydrologydc);
+Index: ../trunk-jpl/test/NightlyRun/test335.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test335.m	(revision 21479)
++++ ../trunk-jpl/test/NightlyRun/test335.m	(revision 21480)
+@@ -4,7 +4,7 @@
+ md.transient=deactivateall(md.transient);
+ md.transient.ishydrology=1;
+ md.transient.issmb=1;
+-md=parameterize(md,'../Par/SquareSheetConstrained.par');
++md=parameterize(md,'../Par/IceCube.par');
+ md=setflowequation(md,'SSA','all');
+ md.cluster=generic('name',oshostname(),'np',1);
+ md.hydrology=(hydrologydc);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21480-21481.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21480-21481.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21480-21481.diff	(revision 21726)
@@ -0,0 +1,31 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21480)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21481)
+@@ -266,9 +266,7 @@
+ /*Finite Element Analysis*/
+ void           EnthalpyAnalysis::ApplyBasalConstraints(IssmDouble* serial_spc,Element* element){/*{{{*/
+ 
+-	/* Check if ice in element */
+-	if(!element->IsIceInElement()) return;
+-
++	/* Do not check if ice in element, this may lead to inconsistencies between cpu partitions */
+ 	/* Only update constraints at the base. */
+ 	if(!(element->IsOnBase())) return;
+ 
+@@ -298,12 +296,14 @@
+ 
+ 		/*apply or release spc*/
+ 		node=element->GetNode(indices[i]);
++		if(!node->IsActive()) continue;
+ 		if(serial_spc[node->Sid()]==1.){
+ 			pressure_input->GetInputValue(&pressure, gauss);
+ 			node->ApplyConstraint(0,PureIceEnthalpy(element,pressure));
+ 		}
+-		else			
++		else {
+ 			node->DofInFSet(0);
++		}
+ 	}
+ 
+ 	/*Free ressources:*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21481-21482.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21481-21482.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21481-21482.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/c/classes/Node.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Node.cpp	(revision 21481)
++++ ../trunk-jpl/src/c/classes/Node.cpp	(revision 21482)
+@@ -457,8 +457,9 @@
+ void Node::DofInFSet(int dof){/*{{{*/
+ 
+ 	/*Put dof for this node into the f set (ie, this dof will NOT be constrained 
+-	 * to a fixed value during computations. */
++	 * to a fixed value during computations. Only do this for active nodes. */
+ 	_assert_(dof<this->indexing.gsize);
++	_assert_(this->indexing.active);
+ 
+ 	if(this->indexing.f_set[dof] == 0){
+ 		if(this->indexing.freeze) _error_("Cannot change dof of frozen node");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21482-21483.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21482-21483.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21482-21483.diff	(revision 21726)
@@ -0,0 +1,11 @@
+Index: ../trunk-jpl/jenkins/windows
+===================================================================
+--- ../trunk-jpl/jenkins/windows	(revision 21482)
++++ ../trunk-jpl/jenkins/windows	(revision 21483)
+@@ -59,5 +59,5 @@
+ #ex: "'id',[101 102 103]"
+ 
+ #In Windows, we don't yet have MUMPS, can't do full stokes, so exclude all FS runs. Also exclude all runs with Dakota. And exclude higher order runs that have penalties. And 800+ tests because we don't want to have --with-development since we do the binaries with this version
+-MATLAB_NROPTIONS="'exclude',[104, 124,125,126, 204, 211, 215, 220, 221, 285, 290, 308, 322, 404, 421, 422, 503, 507, 510, 511, 513, 701, 702, 703, 218, 234, 235, 250, 251, 412, 413, 414, 417, 418, 420, 440, 205, 274, 331, 405, 409, 455, 612, 514, 435, 280,801,802,803,804,805,291,340,341,460]"
++MATLAB_NROPTIONS="'exclude',[104, 124,125,126, 204, 211, 215, 220, 221, 285, 290, 308, 322, 404, 421, 422, 503, 507, 510, 511, 513, 701, 702, 703, 218, 234, 235, 250, 251, 412, 413, 414, 417, 418, 420, 440, 205, 274, 331, 405, 409, 455, 612, 514, 435, 280,801,802,803,804,805,291,340,341,460,243]"
+ PYTHON_NROPTIONS=""
Index: /issm/oecreview/Archive/21337-21723/ISSM-21483-21484.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21483-21484.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21483-21484.diff	(revision 21726)
@@ -0,0 +1,1539 @@
+Index: ../trunk-jpl/m4/issm_options.m4
+===================================================================
+--- ../trunk-jpl/m4/issm_options.m4	(revision 21483)
++++ ../trunk-jpl/m4/issm_options.m4	(revision 21484)
+@@ -1895,6 +1895,20 @@
+ 	AM_CONDITIONAL([KRIGING], [test x$HAVE_KRIGING = xyes])
+ 	AC_MSG_RESULT($HAVE_KRIGING)
+ 	dnl }}}
++	dnl with-amr{{{
++	AC_ARG_WITH([amr],
++		AS_HELP_STRING([--with-amr = YES],[compile with Adaptive Mesh Refinment capability (default is no)]),
++		[AMR=$withval],[AMR=no]) 
++	AC_MSG_CHECKING(for AMR capability compilation)
++
++	HAVE_AMR=no
++	if test "x$AMR" = "xyes"; then
++		HAVE_AMR=yes
++		AC_DEFINE([_HAVE_AMR_],[1],[with amr capability])
++	fi
++	AM_CONDITIONAL([AMR], [test x$HAVE_AMR = xyes])
++	AC_MSG_RESULT($HAVE_AMR)
++	dnl }}}
+ 	AX_ANALYSES_SELECTION
+ 
+ 	dnl Platform specifics
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21483)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21484)
+@@ -529,6 +529,9 @@
+ 				  ./kml/KML_Unknown.cpp\
+ 				  ./kml/KMLFileReadUtils.cpp
+ #}}}
++#AMR sources  {{{
++amr_sources = ./classes/AdaptiveMeshRefinement.cpp
++#}}}
+ #Modules sources{{{
+ modules_sources= ./shared/Threads/LaunchThread.cpp\
+ 			./shared/Threads/PartitionRange.cpp\
+@@ -612,6 +615,9 @@
+ if KML
+ libISSMModules_la_SOURCES += $(kml_sources)
+ endif
++if AMR
++libISSMModules_la_SOURCES += $(amr_sources)
++endif
+ libISSMModules_la_CXXFLAGS = $(ALLCXXFLAGS)
+ if !WINDOWS
+ if STANDALONE_LIBRARIES
+Index: ../trunk-jpl/src/c/classes/Node.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Node.h	(revision 21483)
++++ ../trunk-jpl/src/c/classes/Node.h	(revision 21484)
+@@ -84,6 +84,7 @@
+ 		void  UpdateCloneDofs(int* alltruerows,int ncols,int setenum);
+ 		void  VecMerge(Vector<IssmDouble>* ug, IssmDouble* vector_serial,int setenum);
+ 		void  VecReduce(Vector<IssmDouble>* vector, IssmDouble* ug_serial,int setnum);
++		void  SetApproximation(int in_approximation);
+ };
+ 
+ /*Methods inherent to Node: */
+Index: ../trunk-jpl/src/c/classes/Node.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Node.cpp	(revision 21483)
++++ ../trunk-jpl/src/c/classes/Node.cpp	(revision 21484)
+@@ -496,6 +496,11 @@
+ 	return approximation;
+ }
+ /*}}}*/
++void  Node::SetApproximation(int in_approximation){/*{{{*/
++	
++	this->approximation = in_approximation;
++}
++/*}}}*/
+ int  Node::GetNumberOfDofs(int approximation_enum,int setenum){/*{{{*/
+ 
+ 	/*Get number of degrees of freedom in a node, for a certain set (g,f or s-set)
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 0)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21484)
+@@ -0,0 +1,70 @@
++#ifndef ADAPTIVEMESHREFINEMENT
++#define ADAPTIVEMESHREFINEMENT
++
++#include <iostream>
++#include <fstream>
++#include <string>
++
++#include "pzsave.h"
++#include "pzgmesh.h"
++#include "pzreal.h"
++#include "pzvec.h"
++#include "pzeltype.h"
++
++#include "TPZRefPatternTools.h"
++#include "TPZRefPatternDataBase.h"
++#include "TPZRefPattern.h"
++
++#include "tpzchangeel.h"
++#include "TPZGeoElement.h"
++#include "pzreftriangle.h"
++#include "tpzgeoelrefpattern.h"
++#include "TPZRefPattern.h"
++
++class AdaptiveMeshRefinement : public TPZSaveable {
++
++public:
++
++	/*Public methods*/
++	/* Constructor, destructor etc*/
++	AdaptiveMeshRefinement();															// Default constructor
++	AdaptiveMeshRefinement(const AdaptiveMeshRefinement &cp); 							// Copy constructor
++	AdaptiveMeshRefinement & operator= (const AdaptiveMeshRefinement &cp);				// Operator of copy
++	virtual ~AdaptiveMeshRefinement();													// Destructor
++
++    /*Savable methods*/
++    virtual int ClassId() const;                                                        // ClassId to save the class
++    virtual void Read(TPZStream &buf, void *context);                                   // Read this class
++    virtual void Write(TPZStream &buf, int withclassid);                                // Write this class, using ClassId to identify
++    
++	/*General methods*/
++	void CleanUp();																		//Clean all attributes
++    void SetHMax(int &h);                                                               //Define the max level of refinement
++    void SetElementWidth(int &width);                                                   //Define elements width
++	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL);           //A new mesh will be created and refined. This returns the new mesh
++	void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Create a NeoPZ geometric mesh by coords and elements
++    void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Check the consistency of the mesh
++
++private:
++
++	/*Private attributes*/
++    int elementswidth;                                                                 	// geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta
++    int hmax;                                                                          	// max level of refinement
++	TPZGeoMesh *fathermesh;																// Father Mesh is the entire mesh without refinement
++	TPZGeoMesh *previousmesh;															// Previous mesh is a refined mesh of last step
++
++	/*Private methods*/
++    void RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec);        // Start the refinement process
++	void RefineMesh(TPZGeoMesh *gmesh, std::vector<long> &ElemVec); 					// Refine the elements in ElemVec
++    void RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh);                              // Refine the elements to avoid hanging nodes
++	void SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel, std::vector<long> &ElemVec); 	//Define wich elements will be refined
++    void TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec);                  // This tag all elements to be refined, that is, refine all elements
++    void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec);    //This tag elements near the grounding line
++    void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);// calculate the grounding line position using previous mesh
++	void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); //Return coords and elements in ISSM data structure
++    inline int GetElemMaterialID(){return 1;}                                           // Return element material ID
++    inline int GetBoundaryMaterialID(){return 2;}                                       // Return segment (2D boundary) material ID
++
++};
++
++#endif
+\ No newline at end of file
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21483)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21484)
+@@ -136,6 +136,12 @@
+ 		void CleanUpJs(char** poutput, size_t* psize);
+ 		void InitFromBuffers(char* buffer, int buffersize, char* toolkits, int solution_type,bool trace,IssmPDouble* X=NULL);
+ 		#endif
++
++		#ifdef _HAVE_AMR_
++		/*Adaptive mesh refinement methods*/
++		void InitializeAdaptiveRefinement(void);
++		FemModel* ReMesh(void);
++		#endif
+ };
+ 		
+ 
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21483)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21484)
+@@ -36,42 +36,53 @@
+ /*}}}*/
+ Matice::Matice(int matice_mid,int index, IoModel* iomodel){/*{{{*/
+ 
+-	/*Intermediaries:*/
+-	int    matice_eid;
++	 /*Get material type and initialize object*/
++   int materialtype;
++   iomodel->FindConstant(&materialtype,"md.materials.type");
++	this->Init(matice_mid,index,materialtype);
+ 
++}
++/*}}}*/
++Matice::Matice(int matice_mid,int index,int materialtype){/*{{{*/
++
++	this->Init(matice_mid,index,materialtype);
++	return;
++} /*}}}*/
++Matice::~Matice(){/*{{{*/
++	delete helement;
++	return;
++}
++/*}}}*/
++void Matice::Init(int matice_mid,int index,int materialtype){/*{{{*/
++
+ 	/*Initialize id*/
+ 	this->mid=matice_mid;
+ 
+ 	/*Hooks: */
+-	matice_eid=index+1;
++	int matice_eid=index+1;
+ 	this->helement=new Hook(&matice_eid,1);
+ 	this->element=NULL;
+ 
+-	 /*Other perporties*/
+-   int    materialtype;
+-   iomodel->FindConstant(&materialtype,"md.materials.type");
+-   if(materialtype==MatdamageiceEnum){
+-		this->isdamaged = true;
+-		this->isenhanced = false;
++	/*Material specific properties*/
++	switch(materialtype){
++		case MatdamageiceEnum:
++			this->isdamaged = true;
++			this->isenhanced = false;
++			break;
++		case MaticeEnum:
++			this->isdamaged = false;
++			this->isenhanced = false;
++			break;
++		case MatenhancediceEnum:
++			this->isdamaged = false;
++			this->isenhanced = true;
++			break;
++		default:
++			_error_("Material type not recognized");
+ 	}
+-	else if(materialtype==MaticeEnum){
+-		this->isdamaged = false;
+-		this->isenhanced = false;
+-	}
+-	else if(materialtype==MatenhancediceEnum){
+-		this->isdamaged = false;
+-		this->isenhanced = true;
+-	}
+-   else _error_("Material type not recognized");
+-	return;
+ 
+-}
+-/*}}}*/
+-Matice::~Matice(){/*{{{*/
+-	delete helement;
+ 	return;
+-}
+-/*}}}*/
++} /*}}}*/
+ 
+ /*Object virtual functions definitions:*/
+ Object*   Matice::copy() {/*{{{*/
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.h	(revision 21483)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.h	(revision 21484)
+@@ -34,7 +34,9 @@
+ 		/*Matice constructors, destructors: {{{*/
+ 		Matice();
+ 		Matice(int mid,int i, IoModel* iomodel);
++		Matice(int mid,int i, int materialtype);
+ 		~Matice();
++		void Init(int mid,int i, int materialtype);
+ 		/*}}}*/
+ 		/*Object virtual functions definitions:{{{ */
+ 		Object* copy();
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 0)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21484)
+@@ -0,0 +1,560 @@
++/*!\file AdaptiveMeshrefinement.cpp
++ * \brief: implementation of the adaptive mesh refinement tool based on NeoPZ library: github.com/labmec/neopz
++ */
++
++ #ifdef HAVE_CONFIG_H
++    #include <config.h>
++#else
++#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
++#endif
++
++#include "./AdaptiveMeshRefinement.h"
++
++/*Constructor, copy, clean up and destructor*/
++AdaptiveMeshRefinement::AdaptiveMeshRefinement(){/*{{{*/
++
++    /*Set pointers to NULL*/
++    this->fathermesh    = NULL;
++    this->previousmesh  = NULL;
++    this->hmax          = -1;
++    this->elementswidth = -1;
++
++}
++/*}}}*/
++AdaptiveMeshRefinement::AdaptiveMeshRefinement(const AdaptiveMeshRefinement &cp){/*{{{*/
++    this->operator =(cp);
++}
++/*}}}*/
++AdaptiveMeshRefinement & AdaptiveMeshRefinement::operator =(const AdaptiveMeshRefinement &cp){/*{{{*/
++
++    /*Clean all attributes*/
++    this->CleanUp();
++
++    /*Copy all data*/
++    this->fathermesh    = cp.fathermesh;
++    this->previousmesh  = cp.previousmesh;
++    this->hmax          = cp.hmax;
++    this->elementswidth = cp.elementswidth;
++
++    return *this;
++
++}
++/*}}}*/
++AdaptiveMeshRefinement::~AdaptiveMeshRefinement(){/*{{{*/
++    this->CleanUp();
++}
++/*}}}*/
++void AdaptiveMeshRefinement::CleanUp(){/*{{{*/
++
++    /*Verify and delete all data*/
++    if(this->fathermesh)    delete this->fathermesh;
++    if(this->previousmesh)  delete this->previousmesh;
++
++}
++/*}}}*/
++int AdaptiveMeshRefinement::ClassId() const{/*{{{*/
++    return 13829430; //Antartic area with ice shelves (km^2)
++}
++/*}}}*/
++void AdaptiveMeshRefinement::Read(TPZStream &buf, void *context){/*{{{*/
++
++    try
++    {
++        /* Read the id context*/
++        TPZSaveable::Read(buf,context);
++
++        /* Read class id*/
++        int classid;
++        buf.Read(&classid,1);
++        
++        /* Verify the class id*/
++        if (classid != this->ClassId() )
++        {
++            std::cout << "Error in restoring AdaptiveMeshRefinement!\n";
++            std::cout.flush();
++            DebugStop();
++        }
++        
++        /* Read simple attributes */
++        buf.Read(&this->hmax,1);
++        buf.Read(&this->elementswidth,1);
++        
++        /* Read geometric mesh*/
++        TPZSaveable *sv1 = TPZSaveable::Restore(buf,0);
++        this->fathermesh = dynamic_cast<TPZGeoMesh*>(sv1);
++        
++        TPZSaveable *sv2 = TPZSaveable::Restore(buf,0);
++        this->previousmesh = dynamic_cast<TPZGeoMesh*>(sv2);
++    }
++    catch(const std::exception& e)
++    {
++        std::cout << "Exception catched! " << e.what() << std::endl;
++        std::cout.flush();
++        DebugStop();
++    }
++}
++/*}}}*/
++template class TPZRestoreClass<AdaptiveMeshRefinement,13829430>;/*{{{*/
++/*}}}*/
++void AdaptiveMeshRefinement::Write(TPZStream &buf, int withclassid){/*{{{*/
++    
++    try
++    {
++        /* Write context (this class) class ID*/
++        TPZSaveable::Write(buf,withclassid);
++
++        /* Write this class id*/
++        int classid = ClassId();
++        buf.Write(&classid,1);
++
++        /* Write simple attributes */
++        buf.Write(&this->hmax,1);
++        buf.Write(&this->elementswidth,1);
++        
++        /* Write the geometric mesh*/
++        this->fathermesh->Write(buf, this->ClassId());
++        this->previousmesh->Write(buf, this->ClassId());
++    }
++    catch(const std::exception& e)
++    {
++        std::cout << "Exception catched! " << e.what() << std::endl;
++        std::cout.flush();
++        DebugStop();
++    }
++}
++/*}}}*/
++
++/*Mesh refinement methods*/
++#include "TPZVTKGeoMesh.h" //itapopo
++void AdaptiveMeshRefinement::ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments){/*{{{*/
++
++    //ITAPOPO _assert_(this->fathermesh);
++    //ITAPOPO _assert_(this->previousmesh);
++    
++    /*Calculate the position of the grounding line using previous mesh*/
++    std::vector<TPZVec<REAL> > GLvec;
++    this->CalcGroundingLinePosition(masklevelset, GLvec);
++
++    
++    //std::ofstream file1("/Users/santos/Desktop/mesh0.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file1 );
++    
++    /*run refinement or unrefinement process*/
++    TPZGeoMesh *newmesh;
++    switch (type_process) {
++        case 0: newmesh = this->previousmesh; break;                    // refine previous mesh
++        case 1: newmesh = new TPZGeoMesh(*this->fathermesh); break;     // refine mesh 0 (unrefine process)
++        default: DebugStop(); break;//itapopo verificar se irá usar _assert_
++    }
++    
++    this->RefinementProcess(newmesh,GLvec);
++    
++    //std::ofstream file2("/Users/santos/Desktop/mesh1.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file2 );
++    
++    /*Set new mesh pointer. Previous mesh just have uniform elements*/
++    if(type_process==1){
++        if(this->previousmesh) delete this->previousmesh;
++        this->previousmesh = newmesh;
++    }
++    
++    /*Refine elements to avoid hanging nodes*/
++    TPZGeoMesh *nohangingnodesmesh = new TPZGeoMesh(*newmesh);
++    
++    
++    //std::ofstream file3("/Users/santos/Desktop/mesh2.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(newmesh,file3);
++    
++    this->RefineMeshToAvoidHangingNodes(nohangingnodesmesh);
++    
++    
++    //std::ofstream file4("/Users/santos/Desktop/mesh3.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(nohangingnodesmesh,file4);
++    
++    
++    /*Get new geometric mesh in ISSM data structure*/
++    this->GetMesh(nohangingnodesmesh,nvertices,nelements,nsegments,x,y,z,elements,segments);
++
++    /*Verify the new geometry*/
++    this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,(*x),(*y),(*z),(*elements),(*segments));
++    
++    delete nohangingnodesmesh;
++
++}
++/*}}}*/
++void AdaptiveMeshRefinement::RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec){/*{{{*/
++    
++    /*Refine mesh hmax times*/
++    for(int hlevel=1;hlevel<=this->hmax;hlevel++){
++        
++        /*Set elements to be refined using some criteria*/
++        std::vector<long> ElemVec; //elements without children
++        this->SetElementsToRefine(gmesh,GLvec,hlevel,ElemVec);
++        
++        /*Refine the mesh*/
++        this->RefineMesh(gmesh, ElemVec);
++    }
++    
++}
++/*}}}*/
++void AdaptiveMeshRefinement::RefineMesh(TPZGeoMesh *gmesh, std::vector<long> &ElemVec){/*{{{*/
++
++	/*Refine elements in ElemVec: uniform pattern refinement*/
++	for(long i = 0; i < ElemVec.size(); i++){
++		
++        /*Get geometric element and verify if it has already been refined*/
++        long index = ElemVec[i];
++        TPZGeoEl * geoel = gmesh->Element(index);
++        if(geoel->HasSubElement()) DebugStop();                              //itapopo _assert_(!geoel->HasSubElement());
++        if(geoel->MaterialId() != this->GetElemMaterialID()) DebugStop();   //itapopo verificar se usará _assert_
++        
++        /*Divide geoel*/
++        TPZVec<TPZGeoEl *> Sons;
++	 	geoel->Divide(Sons);
++        
++        /*If a 1D segment is neighbor, it must be divided too*/
++        if(this->elementswidth != 3) DebugStop(); //itapopo verificar o segment para malha 3D
++        
++        std::vector<int> sides(3);
++        sides[0] = 3; sides[1] = 4; sides[2] = 5;
++        for(int j = 0; j < sides.size(); j++ ){
++            
++            TPZGeoElSide Neighbour = geoel->Neighbour(sides[j]);
++            
++            if( Neighbour.Element()->MaterialId() == this->GetBoundaryMaterialID() && !Neighbour.Element()->HasSubElement() ){
++                TPZVec<TPZGeoEl *> pv2;
++                Neighbour.Element()->Divide(pv2);
++            }
++        }
++	}
++    
++    gmesh->BuildConnectivity();
++
++}
++/*}}}*/
++void AdaptiveMeshRefinement::RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh){/*{{{*/
++    
++    /*Refine elements to avoid hanging nodes: non-uniform refinement*/
++   	const long NElem = gmesh->NElements();
++    for(long i = 0; i < NElem; i++){
++        
++        /*Get geometric element and verify if it has already been refined. Geoel may not have been previously refined*/
++        TPZGeoEl * geoel = gmesh->Element(i);
++        if(!geoel) continue;
++        if(geoel->HasSubElement()) continue;
++        if(geoel->MaterialId() != this->GetElemMaterialID()) continue;
++        
++        /*Get the refinement pattern for this element and refine it*/
++        TPZAutoPointer<TPZRefPattern> refp = TPZRefPatternTools::PerfectMatchRefPattern(geoel);
++        if(refp){
++            TPZVec<TPZGeoEl *> Sons;
++            geoel->SetRefPattern(refp);
++            geoel->Divide(Sons);
++        }
++        
++   	}
++    
++    gmesh->BuildConnectivity();
++    
++}
++/*}}}*/
++void AdaptiveMeshRefinement::GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments){/*{{{*/
++
++	/* vertices */
++    long ntotalvertices = gmesh->NNodes();//total
++    
++    /* mesh coords */
++    double *newmeshX = new double[ntotalvertices];
++    double *newmeshY = new double[ntotalvertices];
++    double *newmeshZ = new double[ntotalvertices];
++   	
++   	/* getting mesh coords */
++    for(long i = 0; i < ntotalvertices; i++ ){
++        TPZVec<REAL> coords(3,0.);
++        gmesh->NodeVec()[i].GetCoordinates(coords);
++        newmeshX[i] = coords[0];
++        newmeshY[i] = coords[1];
++        newmeshZ[i] = coords[2];
++    }
++    
++	/* elements */
++    std::vector<TPZGeoEl*> GeoVec; GeoVec.clear();
++    for(long i = 0; i < gmesh->NElements(); i++){
++    
++        if( gmesh->ElementVec()[i]->HasSubElement() ) continue;
++        if( gmesh->ElementVec()[i]->MaterialId() != this->GetElemMaterialID() ) continue;
++        GeoVec.push_back( gmesh->ElementVec()[i]);
++               
++    }
++    
++    long ntotalelements = GeoVec.size();
++    long ** newelements = new long*[ntotalelements];
++
++    if ( !(this->elementswidth == 3) && !(this->elementswidth == 4) && !(this->elementswidth == 6) ) DebugStop();
++
++    for(long i = 0; i < GeoVec.size(); i++){
++
++        newelements[i] = new long[this->elementswidth];
++        for(int j = 0; j < this->elementswidth; j++) newelements[i][j] = GeoVec[i]->NodeIndex(j);
++    }
++    
++    /* segments */
++    std::vector<TPZGeoEl*> SegVec; SegVec.clear();
++    for(long i = 0; i < gmesh->NElements(); i++){
++        
++        if( gmesh->ElementVec()[i]->HasSubElement() ) continue;
++        if( gmesh->ElementVec()[i]->MaterialId() != this->GetBoundaryMaterialID() ) continue;
++        SegVec.push_back( gmesh->ElementVec()[i]);
++        
++    }
++    
++    long ntotalsegments = SegVec.size();
++    long ** newsegments = new long*[ntotalsegments];
++    
++    for(long i = 0; i < SegVec.size(); i++){
++        
++        newsegments[i] = new long[3];
++        for(int j = 0; j < 2; j++) newsegments[i][j] = SegVec[i]->NodeIndex(j);
++        
++        long neighborindex = SegVec[i]->Neighbour(2).Element()->Index();
++        long neighbourid = -1;
++        
++        for(long j = 0; j < GeoVec.size(); j++){
++            if( GeoVec[j]->Index() == neighborindex || GeoVec[j]->FatherIndex() == neighborindex){
++                neighbourid = j;
++                break;
++            }
++        }
++        
++        if(neighbourid==-1) DebugStop(); //itapopo talvez passar para _assert_
++        newsegments[i][2] = neighbourid;
++    }
++    
++    //setting outputs
++    nvertices   = ntotalvertices;
++    nelements   = ntotalelements;
++    nsegments   = ntotalsegments;
++    *meshX      = newmeshX;
++    *meshY      = newmeshY;
++    *meshZ      = newmeshZ;
++    *elements   = newelements;
++    *segments   = newsegments;
++    
++}
++/*}}}*/
++void AdaptiveMeshRefinement::CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec){/*{{{*/
++    
++    /* Find grounding line using elments center point */
++    GLvec.clear();
++    for(long i=0;i<this->previousmesh->NElements();i++){
++        
++        if(this->previousmesh->Element(i)->MaterialId()!=this->GetElemMaterialID()) continue;
++        if(this->previousmesh->Element(i)->HasSubElement()) continue;
++        
++        //itapopo apenas malha 2D triangular!
++        long vertex0 = this->previousmesh->Element(i)->NodeIndex(0);
++        long vertex1 = this->previousmesh->Element(i)->NodeIndex(1);
++        long vertex2 = this->previousmesh->Element(i)->NodeIndex(2);
++        
++        double mls0 = masklevelset[vertex0];
++        double mls1 = masklevelset[vertex1];
++        double mls2 = masklevelset[vertex2];
++        
++        if( mls0*mls1 < 0. || mls1*mls2 < 0. ){
++            const int side = 6;
++            TPZVec<double> qsi(2,0.);
++            TPZVec<double> X(3,0.);
++            this->previousmesh->Element(i)->CenterPoint(side, qsi);
++            this->previousmesh->Element(i)->X(qsi, X);
++            GLvec.push_back(X);
++        }
++    }
++    
++//    itapopo apenas para debugar
++//    std::ofstream fileGL("/Users/santos/Desktop/gl.nb");
++//    fileGL << "ListPlot[{";
++//    for(int i = 0; i < GLvec.size(); i++){
++//        fileGL << "{" << GLvec[i][0] << "," << GLvec[i][1] << /*"," << 0. << */"}";
++//        if(i != GLvec.size()-1) fileGL << ",";
++//    }
++//    fileGL << "}]";
++//    fileGL.flush();
++//    fileGL.close();
++    
++}
++/*}}}*/
++void AdaptiveMeshRefinement::SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec){/*{{{*/
++
++    if(!gmesh) DebugStop(); //itapopo verificar se usará _assert_
++
++    ElemVec.clear();
++    
++    // itapopo inserir modo de encontrar criterio
++    if(false) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
++
++    /* Adaptive refinement. This refines some elements following some criteria*/
++    this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
++
++}
++/*}}}*/
++void AdaptiveMeshRefinement::TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec){/*{{{*/
++    
++    /* Uniform refinement. This refines the entire mesh */
++    long nelements = gmesh->NElements();
++    for(long i=0;i<nelements;i++){
++        if(gmesh->Element(i)->MaterialId()!=this->GetElemMaterialID()) continue;
++        if(gmesh->Element(i)->HasSubElement()) continue;
++        ElemVec.push_back(i);
++    }
++}
++/*}}}*/
++void AdaptiveMeshRefinement::TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec){/*{{{*/
++    
++    /* Tag elements near grounding line */
++    double MaxRegion = 20000.; //itapopo
++    double alpha = 1.0;         //itapopo
++    double MaxDistance = MaxRegion / std::exp(alpha*(hlevel-1));
++    
++    for(long i=0;i<gmesh->NElements();i++){
++        
++        if(gmesh->Element(i)->MaterialId()!=this->GetElemMaterialID()) continue;
++        if(gmesh->Element(i)->HasSubElement()) continue;
++        if(gmesh->Element(i)->Level()>=hlevel) continue;
++        
++        const int side2D = 6;
++        TPZVec<REAL> qsi(2,0.);
++        TPZVec<REAL> centerPoint(3,0.);
++        gmesh->Element(i)->CenterPoint(side2D, qsi);
++        gmesh->Element(i)->X(qsi, centerPoint);
++        
++        REAL distance = MaxDistance;
++        
++        for (long j = 0; j < GLvec.size(); j++) {
++            
++            REAL value = ( GLvec[j][0] - centerPoint[0] ) * ( GLvec[j][0] - centerPoint[0] ); // (x2-x1)^2
++            value += ( GLvec[j][1] - centerPoint[1] ) * ( GLvec[j][1] - centerPoint[1] );// (y2-y1)^2
++            value = std::sqrt(value); ///Radius
++            
++            //finding the min distance to the grounding line
++            if(value < distance) distance = value;
++            
++        }
++        
++        if(distance < MaxDistance) ElemVec.push_back(i);
++    }
++    
++}
++/*}}}*/
++void AdaptiveMeshRefinement::CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments){/*{{{*/
++
++	// itapopo _assert_(nvertices>0);
++    // itapoo _assert_(nelements>0);
++    this->SetElementWidth(width);
++
++    /*Verify and creating initial mesh*/
++    //itapopo if(this->fathermesh) _error_("Initial mesh already exists!");
++    
++    this->fathermesh = new TPZGeoMesh();
++	this->fathermesh->NodeVec().Resize( nvertices );
++
++    /*Set the vertices (geometric nodes in NeoPZ context)*/
++	for(long i=0;i<nvertices;i++){
++        
++        /*x,y,z coords*/
++        TPZManVector<REAL,3> coord(3,0.);
++        coord[0]= x[i];
++        coord[1]= y[i];
++        coord[2]= z[i];
++		
++        /*Insert in the mesh*/
++        this->fathermesh->NodeVec()[i].SetCoord(coord);
++		this->fathermesh->NodeVec()[i].SetNodeId(i);
++	}
++	
++	/*Generate the elements*/
++    long index;
++    const int mat = this->GetElemMaterialID();
++    TPZManVector<long> elem(this->elementswidth,0);
++    
++	for(long iel=0;iel<nelements;iel++){
++
++		for(int jel=0;jel<this->elementswidth;jel++) elem[jel]=elements[iel][jel];
++
++        /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
++        const int reftype = 1;
++        switch(this->elementswidth){
++			case 3: this->fathermesh->CreateGeoElement(ETriangle, elem, mat, index, reftype);			break;
++            case 4:	this->fathermesh->CreateGeoElement(ETetraedro, elem, mat, index, reftype); DebugStop(); break;// itapopo _error_("tetra elements must be verified!")	break;
++			case 6:	this->fathermesh->CreateGeoElement(EPrisma, elem, mat, index, reftype);		break;
++            default:	DebugStop();//itapopo _error_("mesh not supported yet");
++		}
++        
++        /*Define the element ID*/        
++        this->fathermesh->ElementVec()[index]->SetId(iel);
++        
++	}
++    
++    /*Generate the 1D segments elements (boundary)*/
++    const int matboundary = this->GetBoundaryMaterialID();
++    TPZManVector<long> boundary(2,0.);
++    
++    for(long iel=nelements;iel<nelements+nsegments;iel++){
++        
++        boundary[0] = segments[iel-nelements][0];
++        boundary[1] = segments[iel-nelements][1];
++        
++        /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
++        const int reftype = 0;
++        this->fathermesh->CreateGeoElement(EOned, boundary, matboundary, index, reftype);//cria elemento unidimensional
++        this->fathermesh->ElementVec()[index]->SetId(iel);
++        
++    }
++    
++    /*Build element and node connectivities*/
++    this->fathermesh->BuildConnectivity();
++    /*Create previous mesh as a copy of father mesh*/
++    this->previousmesh = new TPZGeoMesh(*this->fathermesh);
++    
++}
++/*}}}*/
++void AdaptiveMeshRefinement::SetHMax(int &h){/*{{{*/
++    this->hmax = h;
++}
++/*}}}*/
++void AdaptiveMeshRefinement::SetElementWidth(int &width){/*{{{*/
++    this->elementswidth = width;
++}
++/*}}}*/
++void AdaptiveMeshRefinement::CheckMesh(long &nvertices, long &nelements, long &nsegments,int &width, double* x, double* y, double* z, long** elements, long** segments){/*{{{*/
++
++    /*Basic verification*/
++    if( !(nvertices > 0) || !(nelements > 0) ) DebugStop(); //itapopo verificar se irá usar o _assert_
++    
++    if ( !(width == 3) && !(width == 4) && !(width == 6) ) DebugStop(); // itapopo verifcar se irá usar o _assert_
++    
++    if( !x || !y || !z || !elements ) DebugStop(); // itapopo verifcar se irá usar o _assert_
++    
++    /*Verify if there are orphan nodes*/
++    std::set<long> elemvertices;
++    elemvertices.clear();
++    
++    for(long i = 0; i < nelements; i++){
++        for(long j = 0; j < width; j++) {
++            elemvertices.insert(elements[i][j]);
++        }
++    }
++    
++    if( elemvertices.size() != nvertices ) DebugStop();//itapopo verificar se irá usar o _assert_
++    
++    //Verify if there are inf or NaN in coords
++    for(long i = 0; i < nvertices; i++) if(isnan(x[i]) || isinf(x[i])) DebugStop();
++    for(long i = 0; i < nvertices; i++) if(isnan(y[i]) || isinf(y[i])) DebugStop();
++    for(long i = 0; i < nvertices; i++) if(isnan(z[i]) || isinf(z[i])) DebugStop();
++    for(long i = 0; i < nvertices; i++){
++        for(long j = 0; j < width; j++){
++            if( isnan(elements[i][j]) || isinf(elements[i][j]) ) DebugStop();
++        }
++    }
++    
++}
++/*}}}*/
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21483)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21484)
+@@ -80,6 +80,10 @@
+ 	/*Save communicator in the parameters dataset: */
+ 	this->parameters->AddObject(new GenericParam<ISSM_MPI_Comm>(incomm,FemModelCommEnum));
+ 
++	#ifdef _HAVE_AMR_
++	this->InitializeAdaptiveRefinement();
++	#endif
++
+ 	/*Free resources */
+ 	xDelete<char>(lockfilename);
+ 	xDelete<char>(binfilename);
+@@ -2910,3 +2914,691 @@
+ 
+ }/*}}}*/
+ #endif
++
++#ifdef _HAVE_AMR_
++void FemModel::InitializeAdaptiveRefinement(void){/*{{{*/
++	
++	int my_rank=IssmComm::GetRank();
++	
++	/*Initialize AMR*/
++	//AdaptiveMeshRefinement *AMR = new AdaptiveMeshRefinement();
++	
++	/*Set max level of refinement*/
++	int hmax = 2;
++	//AMR->SetHMax(hmax);
++	
++	/*Get initial mesh*/
++	/*Get total number of elements and total numbers of elements in the initial mesh*/
++	int numberofvertices, numberofelements, numberofsegments;
++	numberofvertices = this->vertices->NumberOfVertices();
++	numberofelements = this->elements->NumberOfElements();
++	numberofsegments = -1; //used on matlab
++
++	/*Get vertices coordinates*/
++	IssmDouble *x = NULL;
++	IssmDouble *y = NULL;
++	IssmDouble *z = NULL;
++	VertexCoordinatesx(&x, &y, &z, this->vertices,false) ;
++
++	/*Get element vertices*/
++	int elementswidth = 3; //just 2D mesh in this version (just tria elements)
++	int* elem_vertices=xNew<int>(elementswidth);
++	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements);
++	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements);
++	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
++
++	/*Go through elements, and for each element, object*/
++    for(int i=0;i<this->elements->Size();i++){
++    	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
++    	element->GetVerticesSidList(elem_vertices);
++    	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
++    	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
++    	vid3->SetValue(element->sid,elem_vertices[2],INS_VAL);
++    }
++		
++	/*Assemble*/
++    vid1->Assemble();
++    vid2->Assemble();
++    vid3->Assemble();
++
++    /*Serialize*/
++	IssmDouble *id1 = vid1->ToMPISerial();
++   IssmDouble *id2 = vid2->ToMPISerial();
++	IssmDouble *id3 = vid3->ToMPISerial();
++	
++	int **elementsptr;
++	elementsptr = new int*[numberofelements];
++    for(int i=0;i<numberofelements;i++){
++        elementsptr[i] = new int[elementswidth];
++        elementsptr[i][0] = (int)id1[i];
++        elementsptr[i][1] = (int)id2[i];
++        elementsptr[i][2] = (int)id3[i];
++    }
++
++	//if(my_rank==0){
++	//	_printf_("   PRINTING COORDINATES... \n");	    
++   // 		for(long i=0;i<numberofvertices;i++) _printf_("ID: " << i << "\t" << "X: " << x[i] << "\t" << "Y: " << y[i] << "\n");
++   // 	_printf_("   PRINTING ELEMENTS... \n");	   
++   // 	for(int i=0;i<numberofelements;i++) _printf_("El: " << i << "\t" << elementsptr[i][0] << "\t" << elementsptr[i][1] << "\t" << elementsptr[i][2] << "\n");
++	//}
++
++    //AMR->CreateInitialMesh(numberofvertices, numberofelements, 0, elementswidth, x, y, z, elementsptr, NULL);
++
++	/*Free the vectors*/
++	delete x;
++	delete y;
++	delete z;
++	delete vid1;
++	delete vid2;
++	delete vid3;
++	delete id1;
++	delete id2;
++	delete id3;
++	for(int i=0;i<numberofelements;i++) delete elementsptr[i];
++   if(elementsptr) delete elementsptr;
++	xDelete<int>(elem_vertices); 
++}
++/*}}}*/
++FemModel* FemModel::ReMesh(void){/*{{{*/
++	
++	/*All indexing here is in C type: 0..n-1*/
++
++	//////// to test! using the current femmodel
++	int numberofvertices2, numberofelements2;
++	numberofvertices2 = this->vertices->NumberOfVertices();
++	numberofelements2 = this->elements->NumberOfElements();
++
++	/*Get vertices coordinates*/
++	IssmDouble *x = NULL;
++	IssmDouble *y = NULL;
++	IssmDouble *z = NULL;
++	VertexCoordinatesx(&x, &y, &z, this->vertices,false) ;
++
++	/*Get element vertices*/
++	int elementswidth2 = 3; //just 2D mesh in this version (just tria elements)
++	int* elem_vertices2=xNew<int>(elementswidth2);
++	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements2);
++	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements2);
++	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements2);
++
++	/*Go through elements, and for each element, object, report it cpu:*/
++    for(int i=0;i<this->elements->Size();i++){
++    	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
++    	element->GetVerticesSidList(elem_vertices2);
++    	vid1->SetValue(element->sid,elem_vertices2[0],INS_VAL);
++    	vid2->SetValue(element->sid,elem_vertices2[1],INS_VAL);
++    	vid3->SetValue(element->sid,elem_vertices2[2],INS_VAL);
++    }
++		
++	/*Assemble*/
++    vid1->Assemble();
++    vid2->Assemble();
++    vid3->Assemble();
++
++    /*Serialize*/
++	IssmDouble *id1 = vid1->ToMPISerial();
++    IssmDouble *id2 = vid2->ToMPISerial();
++	IssmDouble *id3 = vid3->ToMPISerial();
++
++	delete vid1;
++	delete vid2;
++	delete vid3;
++	
++	int **elementsptr;
++	elementsptr = new int*[numberofelements2];
++    for(int i=0;i<numberofelements2;i++){
++        elementsptr[i] = new int[elementswidth2];
++        elementsptr[i][0] = (int)id1[i];
++        elementsptr[i][1] = (int)id2[i];
++        elementsptr[i][2] = (int)id3[i];
++    }
++
++   delete id1;
++	delete id2;
++	delete id3;
++	//////////////////////////////////////////////
++
++	int my_rank=IssmComm::GetRank();
++
++	/*Solutions which will be used to refine the elements*/
++	double *vx = NULL;
++	double *vy = NULL;
++	double *masklevelset = NULL;
++
++	int elementswidth = 3;//just 2D mesh, tria elements
++	int numberofelements = this->elements->NumberOfElements();
++	int numberofvertices = this->vertices->NumberOfVertices();
++
++	IssmDouble* elementlevelset = xNew<IssmDouble>(elementswidth);
++	int* elem_vertices = xNew<int>(elementswidth);
++	Vector<IssmDouble>* vmasklevelset = new Vector<IssmDouble>(numberofvertices);
++
++	for(int i=0;i<this->elements->Size();i++){
++		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
++		element->GetInputListOnVertices(elementlevelset,MaskIceLevelsetEnum);
++		element->GetVerticesSidList(elem_vertices);
++		vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
++    	vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL);
++    	vmasklevelset->SetValue(elem_vertices[2],elementlevelset[2],INS_VAL);
++	}
++
++	/*Assemble*/
++	vmasklevelset->Assemble();
++
++	/*Serialize*/
++	masklevelset = vmasklevelset->ToMPISerial();
++
++	xDelete<IssmDouble>(elementlevelset);
++	xDelete<int>(elem_vertices);
++	delete vmasklevelset;
++
++	//_printf_("   PRINTING MASKLEVELSET... \n");	    
++	//if(my_rank==0){
++	//	for(int i=0;i<numberofvertices;i++) _printf_("vertex: " << i << "\t" << masklevelset[i] << "\n");
++	//}
++
++	/*Refine the mesh*/
++	double *newx;
++	double *newy;
++	double *newz;
++	int **newelements;
++	int **newsegments;
++	int newnumberofvertices, newnumberofelements, newnumberofsegments;
++	int type_process=1;
++	//AMR->ExecuteRefinement(type_process,vx,vy,masklevelset,newnumberofvertices,newnumberofelements,newnumberofsegments,&newx,&newy,&newz,&newelements,&newsegments);
++	
++	//if(newnumberofvertices<=0 || newnumberofelements<=0 || newnumberofsegments=<0) _error_("Error in the mesh refinement process.");
++
++	delete masklevelset;
++
++	///////////////////////// to test using the current femmodel
++	newx = x;
++	newy = y;
++	newz = z;
++	newelements = elementsptr;
++	newnumberofvertices = numberofvertices2;
++	newnumberofelements = numberofelements2;
++
++	//if(my_rank==0){
++	//	_printf_("   PRINTING COORDINATES... \n");	    
++   // 		for(int i=0;i<newnumberofvertices;i++) _printf_("ID: " << i << "\t" << "X: " << newx[i] << "\t" << "Y: " << newy[i] << "\n");
++   // 	_printf_("   PRINTING ELEMENTS... \n");	   
++   // 	for(int i=0;i<newnumberofelements;i++) _printf_("El: " << i << "\t" << newelements[i][0] << "\t" << newelements[i][1] << "\t" << newelements[i][2] << "\n");
++	//}
++	/////////////////////////
++
++	/*Partitioning the new mesh*/
++	int        *epart          		= NULL; //element partitioning.
++	int        *npart          		= NULL; //node partitioning.
++	int        *newelementslist     = NULL;
++	int        	edgecut				= 1;
++	int 		numflag				= 0;
++	int 		etype 	 			= 1;
++	int 		numprocs 			= IssmComm::GetSize();
++	bool 		*my_elements 		= NULL;
++	int  		*my_vertices 		= NULL;
++	
++	epart 							= xNew<int>(newnumberofelements);
++	npart 							= xNew<int>(newnumberofvertices);
++	newelementslist 				= xNew<int>(newnumberofelements*elementswidth);
++
++	/*Fill the element list to partitioning*/
++	for(int i=0;i<newnumberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
++		for(int j=0;j<elementswidth;j++){
++			newelementslist[elementswidth*i+j] = newelements[i][j]; //C indexing
++		}
++	}
++
++	//if(my_rank==0){
++	//	_printf_("   PRINTING ELEMENTS in ELEMENTLIST... \n");	   
++   // 	for(int i=0;i<newnumberofelements;i++) _printf_("El: " << i << "\t" << newelementslist[i*elementswidth+0] << "\t" << newelementslist[i*elementswidth+1] << "\t" << newelementslist[i*elementswidth+2] << "\n");
++    //}
++
++	/*Partition using Metis:*/
++	if (numprocs>1){
++#ifdef _HAVE_METIS_
++		METIS_PartMeshNodalPatch(&newnumberofelements,&newnumberofvertices, newelementslist, &etype, &numflag, &numprocs, &edgecut, epart, npart);
++#else
++		_error_("metis has not beed installed. Cannot run with more than 1 cpu");
++#endif
++	}
++	else if (numprocs==1){
++		/*METIS does not know how to deal with one cpu only!*/
++		for (int i=0;i<newnumberofelements;i++)	epart[i]=0;
++		for (int i=0;i<newnumberofvertices;i++)	npart[i]=0;
++	}
++	else _error_("At least one processor is required");
++
++	//_printf_("   PRINTING AFTER MESTIS... \n");	    
++
++	my_vertices=xNew<int>(newnumberofvertices);
++	my_elements=xNew<bool>(newnumberofelements);
++	for(int i=0;i<newnumberofvertices;i++) my_vertices[i] = 0;
++	for(int i=0;i<newnumberofelements;i++) my_elements[i] = false;
++
++	/*Start figuring out, out of the partition, which elements belong to this cpu: */
++	for(int i=0;i<newnumberofelements;i++){
++
++		/*!All elements have been partitioned above, only deal with elements for this cpu: */
++		if(my_rank==epart[i]){ 
++			my_elements[i]=true;
++			/*Now that we are here, we can also start building the list of vertices belonging to this cpu partition: we use 
++			 *the  element index to do this. For each element n, we know index[n][0:2] holds the indices (matlab indexing) 
++			 into the vertices coordinates. If we start plugging 1 into my_vertices for each index[n][i] (i=0:2), then my_vertices 
++			 will hold which vertices belong to this partition*/
++			for(int j=0;j<elementswidth;j++){
++				my_vertices[newelementslist[elementswidth*i+j]]=1;
++			}
++		}
++	}
++
++	xDelete<int>(epart);
++	xDelete<int>(npart);
++
++	//_printf_("   PRINTING AFTER MY_VERTICES... \n");	    
++
++	/*Creating new femmodel with new mesh*/
++	FemModel* output = NULL;
++	int       analysis_type;
++
++	output = new FemModel(*this);
++
++	//_printf_("   PRINTING AFTER FEMMODEL... \n");	    
++
++	/*Copy basic attributes:*/
++	output->nummodels = this->nummodels;
++	output->solution_type = this->solution_type;
++	output->analysis_counter = this->analysis_counter;
++
++	//_printf_("   PRINTING AFTER BASIC COPIES... \n");	    
++
++	/*Now, deep copy arrays:*/
++	output->analysis_type_list=xNew<int>(this->nummodels);
++	xMemCpy<int>(output->analysis_type_list,this->analysis_type_list,this->nummodels);
++
++	output->profiler=static_cast<Profiler*>(this->profiler->copy());
++	output->parameters=static_cast<Parameters*>(this->parameters->Copy());
++
++	//_printf_("   PRINTING AFTER PARAMETERS... \n");	    
++
++	/*Creating connectivity table*/
++	int* connectivity = xNew<int>(newnumberofvertices);
++	for(int i=0;i<newnumberofvertices;i++) connectivity[i] = 0;
++
++	for (int i=0;i<newnumberofelements;i++){
++		for (int j=0;j<elementswidth;j++){
++			int vertexid = newelementslist[elementswidth*i+j];
++			_assert_(vertexid>-1 && vertexid<newnumberofvertices);
++			connectivity[vertexid]+=1;
++		}
++	}	
++
++	//_printf_("   PRINTING AFTER CONNECTIVITY... \n");	    
++
++	/*Creating vertices*/
++	output->vertices = new Vertices();
++
++	for(int i=0;i<newnumberofvertices;i++){
++		if(my_vertices[i]){
++			Vertex *newvertex = new Vertex();
++			
++			newvertex->id 		= i+1;
++			newvertex->sid 		= i;
++			newvertex->pid 		= UNDEF;
++
++			newvertex->x         	= newx[i];
++			newvertex->y         	= newy[i];
++			newvertex->z         	= newz[i];
++			newvertex->domaintype	= Domain2DhorizontalEnum;
++			newvertex->sigma		= 0.;
++
++			newvertex->connectivity = connectivity[i];
++
++			output->vertices->AddObject(newvertex);	
++		} 
++	}
++
++	xDelete<int>(connectivity);
++
++	//_printf_("   PRINTING AFTER VERTICES... \n");	    
++
++	/*Creating elements*/
++	/*Just Tria in this version*/
++	output->elements = new Elements();
++
++	for(int i=0;i<newnumberofelements;i++){
++		if(my_elements[i]){
++
++			Tria *newtria = new Tria();
++
++			newtria->id  = i+1;
++			newtria->sid = i;
++			newtria->parameters = NULL;
++
++			newtria->inputs  = new Inputs();
++
++			newtria->nodes    = NULL;
++			newtria->vertices = NULL;
++			newtria->material = NULL;
++			newtria->matpar   = NULL;
++
++			if(this->nummodels>0){
++				newtria->element_type_list=xNew<int>(this->nummodels);
++				for(int j=0;j<nummodels;j++) newtria->element_type_list[j] = 0;
++			}
++			else newtria->element_type_list = NULL;
++
++			/*Element hook*/
++			int matpar_id		= newnumberofelements+1; //retrieve material parameter id (last pointer in femodel->materials)
++			int material_id 	= i+1; // retrieve material_id = i+1;
++
++			/*retrieve vertices ids*/
++			int* vertex_ids = xNew<int>(elementswidth);
++			
++			for(int j=0;j<elementswidth;j++){ 
++				vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j]);
++			}
++
++			newtria->numanalyses = this->nummodels;
++			newtria->hnodes      = new Hook*[this->nummodels];
++			newtria->hvertices   = new Hook(&vertex_ids[0],elementswidth);
++			newtria->hmaterial   = new Hook(&material_id,1);
++			newtria->hmatpar     = new Hook(&matpar_id,1);
++			newtria->hneighbors  = NULL;
++
++			/*Initialize hnodes as NULL*/
++			for(int j=0;j<this->nummodels;j++){
++				newtria->hnodes[j]=NULL;
++			}
++
++			/*Clean up*/
++			xDelete<int>(vertex_ids);
++			output->elements->AddObject(newtria);	
++		} 
++	}
++
++	xDelete<int>(newelementslist);
++	//_printf_("   PRINTING AFTER ELEMENTS... \n");	    
++
++	/*Creating materials*/
++	/*Just Matice in this version*/
++	output->materials = new Materials();
++
++	for(int i=0;i<newnumberofelements;i++){
++		if(my_elements[i]){
++			output->materials->AddObject(new Matice(i+1,i,MaticeEnum));	
++		} 
++	}
++	/*This is done to follow CreateElementsVerticesAndMaterials, line 57*/
++	//output->elements->InputDuplicate(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
++
++	/*Add new constant material property to materials, at the end: */
++	Matpar *newmatpar = static_cast<Matpar*>(this->materials->GetObjectByOffset(this->materials->Size()-1)->copy());
++	output->materials->AddObject(newmatpar);//put it at the end of the materials
++
++	//_printf_("   PRINTING AFTER MATERIALS... \n");	    
++
++	delete x;
++	delete y;
++	delete z;
++	for(int i=0;i<numberofelements;i++) delete elementsptr[i];
++    if(elementsptr) delete elementsptr;
++
++	//itapopo to test and print the elements and coordinates
++	//output->InitializeAdaptiveRefinement();
++
++	/*Creating nodes*/
++	/*Just SSA (2D) and P1 in this version*/
++	output->nodes = new Nodes();
++
++	int nodecounter = 0;
++	int lid 		= 0;
++	for(int i=0;i<output->nummodels;i++){
++		
++		int analysis_enum = output->analysis_type_list[i];
++
++		//_printf_("   	Analysis type:" << EnumToStringx(analysis_enum) << "\n");
++
++		//itapopo as the domain is 2D, it is not necessary to create nodes for this analysis
++		if(analysis_enum==StressbalanceVerticalAnalysisEnum) continue;	    
++
++		for(int j=0;j<newnumberofvertices;j++){
++			if(my_vertices[j]){
++				
++				Node* newnode = new Node();	
++
++				/*id: */
++				newnode->id            = nodecounter+j+1;
++				newnode->sid           = j;
++				newnode->lid           = lid++;
++				newnode->analysis_enum = analysis_enum;
++
++				/*Initialize coord_system: Identity matrix by default*/
++				for(int k=0;k<3;k++) for(int l=0;l<3;l++) newnode->coord_system[k][l]=0.0;
++				for(int k=0;k<3;k++) newnode->coord_system[k][k]=1.0;
++
++				/*indexing:*/
++				newnode->indexingupdate = true;
++
++				Analysis* analysis = EnumToAnalysis(analysis_enum);
++				int *doftypes = NULL;
++				int numdofs        = analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum);
++				newnode->indexing.Init(numdofs,doftypes);
++				xDelete<int>(doftypes);
++				delete analysis;
++
++				if(analysis_enum==StressbalanceAnalysisEnum)
++				 newnode->SetApproximation(SSAApproximationEnum);
++				else
++				 newnode->SetApproximation(0);
++
++				/*Stressbalance Horiz*/
++				if(analysis_enum==StressbalanceAnalysisEnum){
++					// itapopo
++					/*Coordinate system provided, convert to coord_system matrix*/
++					//XZvectorsToCoordinateSystem(&this->coord_system[0][0],&iomodel->Data(StressbalanceReferentialEnum)[j*6]);
++					//_assert_(sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[1][0]*coord_system[1][0]) >1.e-4);
++
++				}
++
++				output->nodes->AddObject(newnode);
++			}
++		}
++
++		if(output->nodes->Size()) nodecounter = output->nodes->MaximumId();
++	}
++	
++	//_printf_("   Old node size: " << this->nodes->Size() << " \n");	    
++
++	//for(int i=0;i<this->nummodels;i++){
++	//	int analysis_type = this->analysis_type_list[i];
++	//	_printf_("   	Analysis type:" << EnumToStringx(analysis_type) << " size: "<< this->nodes->NumberOfNodes(analysis_type) << " NDofs: " <<  this->nodes->NumberOfDofs(analysis_type, GsetEnum) << " \n");
++	//}
++	
++	//_printf_("   New number of nodes: " << output->nodes->Size() << " \n");	    
++	//for(int i=0;i<output->nummodels;i++){
++	//	int analysis_type = output->analysis_type_list[i];
++	//	_printf_("   	Analysis type:" << EnumToStringx(analysis_type) << " size: "<< output->nodes->NumberOfNodes(analysis_type) << " NDofs: " <<  this->nodes->NumberOfDofs(analysis_type, GsetEnum) << " \n");
++	//}
++	
++	//_printf_("		Old nodes deep echo: \n");
++	//this->nodes->DeepEcho();
++
++	//_printf_("		New nodes deep echo: \n");
++	//output->nodes->DeepEcho();
++
++	//_printf_("   PRINTING AFTER NODES... \n");	    
++
++	/*Create constraints*/
++	IssmDouble *spcvx = NULL;
++	IssmDouble *spcvy = NULL;
++
++	int numberofnodes_analysistype 	= this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
++	
++	//_printf_("   Number of nodes: " << numberofnodes_analysistype << " \n");	    
++
++	Vector<IssmDouble>* vspcvx 		= new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvy		= new Vector<IssmDouble>(numberofnodes_analysistype);
++
++	IssmDouble BigNumber 			= 1.e8;
++
++	for(int i=0;i<numberofnodes_analysistype;i++){
++		vspcvx->SetValue(i,BigNumber,INS_VAL);
++		vspcvy->SetValue(i,BigNumber,INS_VAL);
++	}
++
++	IssmDouble absmaxspcvx = 0;
++	IssmDouble absmaxspcvy = 0;
++
++	for(int i=0;i<this->constraints->Size();i++){
++		SpcStatic* spc 		= xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
++		int dof 			= spc->GetDof();
++		int node 			= spc->GetNodeId();
++		IssmDouble spcvalue	= spc->GetValue(); 
++		int nodeindex		= node-1;
++
++		if(dof==0) {
++			vspcvx->SetValue(nodeindex,spcvalue,INS_VAL);
++			if(fabs(spcvalue)>absmaxspcvx) absmaxspcvx = fabs(spcvalue);
++		}
++		else {
++			vspcvy->SetValue(nodeindex,spcvalue,INS_VAL);
++			if(fabs(spcvalue)>absmaxspcvy) absmaxspcvy = fabs(spcvalue);
++		}
++	}
++
++	/*Assemble*/
++	vspcvx->Assemble();
++	vspcvy->Assemble();
++
++	/*Serialize*/
++	spcvx = vspcvx->ToMPISerial();
++	spcvy = vspcvy->ToMPISerial();
++
++	/*Free the data*/
++	delete vspcvx;
++	delete vspcvy;
++	
++	double *newspcvx 	= NULL;
++	double *newspcvy 	= NULL;
++	int *oldelements 	= newelementslist; //itapopo
++	double *oldx		= x; //itapopo
++	double *oldy		= y; //itapopo
++	int nods_data		= numberofnodes_analysistype;
++	int nels_data 		= newnumberofelements;
++	int M_data 			= numberofnodes_analysistype;
++	int N_data  		= 1;
++	int N_interp 		= newnumberofvertices;//itapopo
++	Options *options   	= NULL;
++
++	//itapopo voltar aqui
++	InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++
++	output->constraints = new Constraints();
++
++	nodecounter 			= 0; //itapopo deve começar pelo primeiro nó do StressbalanceAnalysis
++	int count 				= 0;
++	int constraintcounter 	= 0; //itapopo
++	IssmDouble eps			= 1.e-2;
++
++	for(int i=0;i<newnumberofvertices;i++){
++		if(my_vertices[i])
++		/*spcvx*/
++		if(fabs(spcvx[i]) < absmaxspcvx+eps){//itapopo
++			output->constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,0,spcvx[i],StressbalanceAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
++			count++;
++		}
++	}
++	count=0;
++	for(int i=0;i<newnumberofvertices;i++){
++		if(my_vertices[i])
++		/*spcvy*/
++		if(fabs(spcvy[i]) < absmaxspcvy+eps){//itapopo
++			output->constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,1,spcvy[i],StressbalanceAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
++			count++;
++		}
++
++	}
++
++	//_printf_("   Old constraints size: " << this->constraints->Size() << " \n");	    
++	//this->constraints->DeepEcho();
++
++	//_printf_("\n");
++
++	//_printf_("   New constraints size: " << output->constraints->Size() << " \n");
++	
++	//_printf_("SPCVX\n");
++	//for(int i = 0;i<newnumberofvertices;i++){
++	//	_printf_("value: " << spcvx[i] << "\n");
++	//}	    
++	//_printf_("SPCVY\n");
++	//for(int i = 0;i<newnumberofvertices;i++){
++	//	_printf_("value: " << spcvy[i] << "\n");
++	//}
++
++	//output->constraints->DeepEcho();
++
++	//_printf_("   PRINTING AFTER CONSTRAINTS... \n");	    
++
++	//_printf_("   Old loads size: " << this->loads->Size() << " \n");	    
++	//this->loads->DeepEcho();
++
++	//_printf_("   PRINTING AFTER LOADS... \n");	    
++
++	// output->loads=static_cast<Loads*>(this->loads->Copy());
++	// output->constraints=static_cast<Constraints*>(this->constraints->Copy());
++	// output->results=static_cast<Results*>(this->results->Copy());
++
++	// /*reset hooks for elements, loads and nodes: */
++	// output->elements->ResetHooks();
++	// output->loads->ResetHooks();
++	// output->materials->ResetHooks();
++
++	// /*do the post-processing of the datasets to get an FemModel that can actually run analyses: */
++	// for(i=0;i<nummodels;i++){
++	// 	analysis_type=output->analysis_type_list[i];
++	// 	output->SetCurrentConfiguration(analysis_type);
++	// 	if(i==0) VerticesDofx(output->vertices,output->parameters); //only call once, we only have one set of vertices
++	// 	SpcNodesx(output->nodes,output->constraints,output->parameters,analysis_type);
++	// 	NodesDofx(output->nodes,output->parameters,analysis_type);
++	// 	ConfigureObjectsx(output->elements,output->loads,output->nodes,output->vertices,output->materials,output->parameters);
++	// }
++
++	// /*Reset current configuration: */
++	// analysis_type=output->analysis_type_list[analysis_counter];
++	// output->SetCurrentConfiguration(analysis_type);
++
++	/** TODO
++
++	- generate the required input objects for NeoPZ
++		AMR has fathermesh and previousmesh. On first call, these meshes are generated. 
++
++	- call NeoPZ
++		This creates a newmesh which will be refined. 
++
++	- get the new mesh (index,x,y) from NeoPZ
++		Is is doing by GetNewMesh method.
++
++	- Create a new FemModel* that will be consistent with the new mesh
++		It can be done by a method. (attention with CPU #)
++
++	- Initialize new FemModel based on new mesh (and copy the old FemModel parameters)
++		It can be done by a method. (attention with CPU #)
++
++	- The last and most difficult thing to do is to update the inputs of the elements of the new mesh:
++		It can be done in just one method, which calls GatherInputs, InterpFromMeshToMesh and InputUpdateFromVector
++
++		- CPU #0 will gather all inputs from FemModel
++        	- call InterpFromMeshToMesh to interpolate them onto the new Mesh
++        	- broadcast the new fields to all cpus
++		- call InputUpdateFromVector so that all inputs are updated
++	
++	- return new FemModel
++	
++	*/
++
++	return output;
++}
++/*}}}*/
++#endif
Index: /issm/oecreview/Archive/21337-21723/ISSM-21484-21485.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21484-21485.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21484-21485.diff	(revision 21726)
@@ -0,0 +1,49 @@
+Index: ../trunk-jpl/externalpackages/neopz/install.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/neopz/install.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/neopz/install.sh	(revision 21485)
+@@ -0,0 +1,38 @@
++#!/bin/bash
++set -eu
++
++#Erase install
++rm -rf install
++mkdir install
++
++#Download from GitHub server
++#GIT must be installed first. See $ISSM_DIR/externalpackages/git
++git clone https://github.com/labmec/neopz.git
++
++#Untar and set src directory
++mv neopz/ install/
++
++#Set neopz CMake variables
++#CMake must be installed first. See $ISSM_DIR/externalpackages/git
++export PROJECT_SOURCE_DIR=$ISSM_DIR/externalpackages/neopz/install/neopz
++export PROJECT_BINARY_DIR=$ISSM_DIR/externalpackages/neopz/install/
++
++#Configure neopz using cmake
++cd $PROJECT_SOURCE_DIR
++cmake -DCMAKE_INSTALL_PREFIX:PATH=$PROJECT_BINARY_DIR
++
++cd $PROJECT_SOURCE_DIR
++#Compile and install 
++if [ $# -eq 0 ]; then
++	make
++	make install
++else
++	make -j $1
++	make -j $1 install
++fi
++cd $PROJECT_BINARY_DIR/pzlib
++mv lib ../
++mv include ../
++cd ..
++rm -rf pzlib
++cd ..
+
+Property changes on: ../trunk-jpl/externalpackages/neopz/install.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21485-21486.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21485-21486.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21485-21486.diff	(revision 21726)
@@ -0,0 +1,14 @@
+Index: ../trunk-jpl/etc/environment.sh
+===================================================================
+--- ../trunk-jpl/etc/environment.sh	(revision 21485)
++++ ../trunk-jpl/etc/environment.sh	(revision 21486)
+@@ -327,3 +327,9 @@
+ 
+ #GMT
+ pathprepend "$ISSM_DIR/externalpackages/gmt/install/bin"
++
++#NEOPZ
++NEOPZ_DIR="$ISSM_DIR/externalpackages/neopz/install"
++if [ -d "$NEOPZ_DIR" ]; then
++	export REFPATTERNDIR="$NEOPZ_DIR/include/refpattern"
++fi
Index: /issm/oecreview/Archive/21337-21723/ISSM-21486-21487.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21486-21487.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21486-21487.diff	(revision 21726)
@@ -0,0 +1,115 @@
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21486)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21487)
+@@ -1,25 +1,28 @@
+ #ifndef ADAPTIVEMESHREFINEMENT
+ #define ADAPTIVEMESHREFINEMENT
+ 
++/*Common includes*/
++/*{{{*/
+ #include <iostream>
+ #include <fstream>
+ #include <string>
+ 
+-#include "pzsave.h"
+-#include "pzgmesh.h"
+-#include "pzreal.h"
+-#include "pzvec.h"
+-#include "pzeltype.h"
++/*NeoPZ includes*/
++#include <pzsave.h>
++#include <pzgmesh.h>
++#include <pzreal.h>
++#include <pzvec.h>
++#include <pzeltype.h>
+ 
+-#include "TPZRefPatternTools.h"
+-#include "TPZRefPatternDataBase.h"
+-#include "TPZRefPattern.h"
++#include <TPZRefPatternTools.h>
++#include <TPZRefPatternDataBase.h>
++#include <TPZRefPattern.h>
+ 
+-#include "tpzchangeel.h"
+-#include "TPZGeoElement.h"
+-#include "pzreftriangle.h"
+-#include "tpzgeoelrefpattern.h"
+-#include "TPZRefPattern.h"
++#include <tpzchangeel.h>
++#include <TPZGeoElement.h>
++#include <pzreftriangle.h>
++#include <tpzgeoelrefpattern.h>
++/*}}}*/
+ 
+ class AdaptiveMeshRefinement : public TPZSaveable {
+ 
+@@ -27,44 +30,44 @@
+ 
+ 	/*Public methods*/
+ 	/* Constructor, destructor etc*/
+-	AdaptiveMeshRefinement();															// Default constructor
+-	AdaptiveMeshRefinement(const AdaptiveMeshRefinement &cp); 							// Copy constructor
+-	AdaptiveMeshRefinement & operator= (const AdaptiveMeshRefinement &cp);				// Operator of copy
++	AdaptiveMeshRefinement();																// Default constructor
++	AdaptiveMeshRefinement(const AdaptiveMeshRefinement &cp); 					// Copy constructor
++	AdaptiveMeshRefinement & operator= (const AdaptiveMeshRefinement &cp);	// Operator of copy
+ 	virtual ~AdaptiveMeshRefinement();													// Destructor
+ 
+     /*Savable methods*/
+-    virtual int ClassId() const;                                                        // ClassId to save the class
+-    virtual void Read(TPZStream &buf, void *context);                                   // Read this class
+-    virtual void Write(TPZStream &buf, int withclassid);                                // Write this class, using ClassId to identify
++	virtual int ClassId() const;                                            // ClassId to save the class
++   virtual void Read(TPZStream &buf, void *context);								// Read this class
++   virtual void Write(TPZStream &buf, int withclassid);                    // Write this class, using ClassId to identify
+     
+ 	/*General methods*/
+-	void CleanUp();																		//Clean all attributes
+-    void SetHMax(int &h);                                                               //Define the max level of refinement
+-    void SetElementWidth(int &width);                                                   //Define elements width
+-	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL);           //A new mesh will be created and refined. This returns the new mesh
++	void CleanUp();																			//Clean all attributes
++   void SetHMax(int &h);                                                   //Define the max level of refinement
++   void SetElementWidth(int &width);                                       //Define elements width
++	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL);					//A new mesh will be created and refined. This returns the new mesh
+ 	void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Create a NeoPZ geometric mesh by coords and elements
+-    void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Check the consistency of the mesh
++   void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Check the consistency of the mesh
+ 
+ private:
+ 
+ 	/*Private attributes*/
+-    int elementswidth;                                                                 	// geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta
+-    int hmax;                                                                          	// max level of refinement
+-	TPZGeoMesh *fathermesh;																// Father Mesh is the entire mesh without refinement
+-	TPZGeoMesh *previousmesh;															// Previous mesh is a refined mesh of last step
++   int elementswidth;                                                      // geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta
++   int hmax;                                                               // max level of refinement
++	TPZGeoMesh *fathermesh;																	// Father Mesh is the entire mesh without refinement
++	TPZGeoMesh *previousmesh;																// Previous mesh is a refined mesh of last step
+ 
+ 	/*Private methods*/
+-    void RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec);        // Start the refinement process
++   void RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec);  // Start the refinement process
+ 	void RefineMesh(TPZGeoMesh *gmesh, std::vector<long> &ElemVec); 					// Refine the elements in ElemVec
+-    void RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh);                              // Refine the elements to avoid hanging nodes
++   void RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh);                        // Refine the elements to avoid hanging nodes
+ 	void SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel, std::vector<long> &ElemVec); 	//Define wich elements will be refined
+-    void TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec);                  // This tag all elements to be refined, that is, refine all elements
+-    void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec);    //This tag elements near the grounding line
+-    void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);// calculate the grounding line position using previous mesh
++   void TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec);				 // This tag all elements to be refined, that is, refine all elements
++   void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec);    //This tag elements near the grounding line
++   void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);	// calculate the grounding line position using previous mesh
+ 	void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); //Return coords and elements in ISSM data structure
+-    inline int GetElemMaterialID(){return 1;}                                           // Return element material ID
+-    inline int GetBoundaryMaterialID(){return 2;}                                       // Return segment (2D boundary) material ID
++   inline int GetElemMaterialID(){return 1;}                               // Return element material ID
++   inline int GetBoundaryMaterialID(){return 2;}                           // Return segment (2D boundary) material ID
+ 
+ };
+ 
+-#endif
+\ No newline at end of file
++#endif
Index: /issm/oecreview/Archive/21337-21723/ISSM-21487-21488.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21487-21488.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21487-21488.diff	(revision 21726)
@@ -0,0 +1,104 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21487)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21488)
+@@ -2718,8 +2718,6 @@
+ 			mask->SetValue(node->Sid(),old_active[node->Sid()],INS_VAL);
+ 		}
+ 	}
+-
+-	
+ 	this->parameters->SetParam(eplzigzag_counter,this->nodes->Size(),EplZigZagCounterEnum);
+ 	/*Assemble and serialize*/
+ 	mask->Assemble();
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21487)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21488)
+@@ -233,7 +233,7 @@
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+ 		gauss           ->GaussPoint(ig);
+ 		basalelement    ->JacobianDeterminant(&Jdet,xyz_list,gauss);
+-
++		
+ 		epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input,epl_head_input,base_input);
+ 		epl_storing				= EplStoring(basalelement,gauss,epl_thick_input,epl_head_input,base_input);
+ 
+@@ -664,11 +664,26 @@
+ 	sedheadmin=sedhead[0];
+ 	for(int i=1;i<numnodes;i++) if(sedhead[i]<=sedheadmin)sedheadmin=sedhead[i];
+ 	for(int i=0;i<numnodes;i++){
++		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
++		/*If mask was already one, keep one or colapse*/
++		if(old_active[i]>0.){
++			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			/* If epl thickness gets under colapse thickness, close the layer */
++			if(epl_thickness[i]<colapse_thick){
++				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
++				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			}
++			/* If epl head gets under base elevation, close the layer */
++			/* else if(eplhead[i]<(base[i]-1.0e-8)){ */
++			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
++			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
++			/* } */
++		}
+ 		/*If node is now closed bring its thickness back to initial*/
+ 		if (old_active[i]==0.){
+ 			epl_thickness[i]=init_thick;
+ 		}
+-		/*Now starting to look at the activations*/
++		/*Activate if we have a residual from sediment*/
+ 		if(residual[i]>0.){
+ 			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+ 			if(old_active[i]==0.){
+@@ -676,32 +691,18 @@
+ 			}
+ 		}
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+-		GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
+ 		if(eplhead[i]>=h_max && active_element){
+ 			for(int j=0;j<numnodes;j++){
+ 				/*Increase of the domain is on the downstream node in term of sediment head*/
+-				if(sedhead[j] == sedheadmin){
++				if((sedhead[j] == sedheadmin) && (i!=j)){
+ 					vec_mask->SetValue(basalelement->nodes[j]->Sid(),1.,INS_VAL);
+-					if(old_active[i]==0.){
+-						recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++					if(old_active[j]==0.){
++						recurence->SetValue(basalelement->nodes[j]->Sid(),1.,INS_VAL);
+ 					}
+ 				}
+ 			}
+ 		}
+-		/*If mask was already one, keep one or colapse*/
+-		else if(old_active[i]>0.){
+-			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			/* If epl thickness gets under colapse thickness, close the layer */
+-			if(epl_thickness[i]<colapse_thick){
+-				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+-				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			}
+-			/*If epl head gets under base elevation, close the layer*/
+-			/* else if(eplhead[i]<(base[i]-1.0e-8)){ */
+-			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
+-			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
+-			/* }*/
+-		}
++		
+ 	}
+ 	basalelement->AddInput(HydrologydcEplThicknessEnum,epl_thickness,basalelement->GetElementType());
+ 
+@@ -757,10 +758,9 @@
+ 	base_input->GetInputValue(&base_elev,gauss);
+ 
+ 	water_sheet=max(0.0,(prestep_head-base_elev));
+-	//water_sheet=prestep_head-base_elev;
+ 	
+-	//epl_transmitivity=epl_conductivity*epl_thickness;
+-	epl_transmitivity=epl_conductivity*min(water_sheet,epl_thickness);
++	epl_transmitivity=epl_conductivity*epl_thickness;
++	/* epl_transmitivity=max(1.0e-6,(epl_conductivity*min(water_sheet,epl_thickness))); */
+ 	return epl_transmitivity;
+ }/*}}}*/
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21488-21489.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21488-21489.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21488-21489.diff	(revision 21726)
@@ -0,0 +1,59 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21488)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21489)
+@@ -673,7 +673,7 @@
+ 				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
+ 				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+ 			}
+-			/* If epl head gets under base elevation, close the layer */
++			/* //If epl head gets under base elevation, close the layer */
+ 			/* else if(eplhead[i]<(base[i]-1.0e-8)){ */
+ 			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
+ 			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
+@@ -682,12 +682,12 @@
+ 		/*If node is now closed bring its thickness back to initial*/
+ 		if (old_active[i]==0.){
+ 			epl_thickness[i]=init_thick;
+-		}
+-		/*Activate if we have a residual from sediment*/
+-		if(residual[i]>0.){
+-			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
+-			if(old_active[i]==0.){
+-				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++			/*Activate if we have a residual from sediment*/
++			if(residual[i]>0.){
++				vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++				if(old_active[i]==0.){
++					recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
++				}
+ 			}
+ 		}
+ 		/*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
+@@ -702,7 +702,6 @@
+ 				}
+ 			}
+ 		}
+-		
+ 	}
+ 	basalelement->AddInput(HydrologydcEplThicknessEnum,epl_thickness,basalelement->GetElementType());
+ 
+@@ -744,8 +743,8 @@
+ 	/* else{ */
+ 	/* 	epl_storing=storing; */
+ 	/* } */
++ 	/* return epl_storing; */
+ 	return storing;
+- 	//return epl_storing;
+ }/*}}}*/
+ 
+ IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input* epl_thick_input, Input* epl_head_input, Input* base_input){/*{{{*/
+@@ -760,7 +759,7 @@
+ 	water_sheet=max(0.0,(prestep_head-base_elev));
+ 	
+ 	epl_transmitivity=epl_conductivity*epl_thickness;
+-	/* epl_transmitivity=max(1.0e-6,(epl_conductivity*min(water_sheet,epl_thickness))); */
++	//epl_transmitivity=max(1.0e-6,(epl_conductivity*min(water_sheet,epl_thickness)));
+ 	return epl_transmitivity;
+ }/*}}}*/
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21489-21490.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21489-21490.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21489-21490.diff	(revision 21726)
@@ -0,0 +1,136 @@
+Index: ../trunk-jpl/m4/issm_options.m4
+===================================================================
+--- ../trunk-jpl/m4/issm_options.m4	(revision 21489)
++++ ../trunk-jpl/m4/issm_options.m4	(revision 21490)
+@@ -1851,7 +1851,34 @@
+ 	fi
+ 	AM_CONDITIONAL([SNOWPACK], [test x$HAVE_SNOWPACK = xyes])
+ 	dnl }}}
++	dnl neopz{{{
++	AC_ARG_WITH([neopz-dir],
++		AS_HELP_STRING([--with-neopz-dir=DIR], [neopz root directory.]),
++		[NEOPZ_ROOT=$withval],[NEOPZ_ROOT="no"]) 
+ 
++	dnl Check whether neopz is enabled
++	AC_MSG_CHECKING([for neopz])
++	if test "x$NEOPZ_ROOT" = "xno" ; then
++		HAVE_NEOPZ=no
++	else
++		HAVE_NEOPZ=yes
++		if ! test -d "$NEOPZ_ROOT"; then
++			AC_MSG_ERROR([neopz directory provided ($NEOPZ_ROOT) does not exist]);
++		fi
++	fi
++	AC_MSG_RESULT($HAVE_NEOPZ)
++	
++	dnl neopz headers and libraries
++	if test "x$HAVE_NEOPZ" == "xyes"; then
++	  NEOPZLIB="$NEOPZ_ROOT/lib/libpz.a"
++     NEOPZINCL=-I"$NEOPZ_ROOT/include"
++	  AC_DEFINE([_HAVE_NEOPZ_],[1],[with NEOPZ in ISSM src])
++	  AC_SUBST([NEOPZINCL])
++	  AC_SUBST([NEOPZLIB])
++	fi
++	AM_CONDITIONAL([NEOPZ], [test x$HAVE_NEOPZ = xyes])
++	dnl }}}
++
+ 	dnl Capabilities
+ 	dnl with-bamg{{{
+ 	AC_ARG_WITH([bamg],
+@@ -1895,20 +1922,6 @@
+ 	AM_CONDITIONAL([KRIGING], [test x$HAVE_KRIGING = xyes])
+ 	AC_MSG_RESULT($HAVE_KRIGING)
+ 	dnl }}}
+-	dnl with-amr{{{
+-	AC_ARG_WITH([amr],
+-		AS_HELP_STRING([--with-amr = YES],[compile with Adaptive Mesh Refinment capability (default is no)]),
+-		[AMR=$withval],[AMR=no]) 
+-	AC_MSG_CHECKING(for AMR capability compilation)
+-
+-	HAVE_AMR=no
+-	if test "x$AMR" = "xyes"; then
+-		HAVE_AMR=yes
+-		AC_DEFINE([_HAVE_AMR_],[1],[with amr capability])
+-	fi
+-	AM_CONDITIONAL([AMR], [test x$HAVE_AMR = xyes])
+-	AC_MSG_RESULT($HAVE_AMR)
+-	dnl }}}
+ 	AX_ANALYSES_SELECTION
+ 
+ 	dnl Platform specifics
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21489)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21490)
+@@ -1,4 +1,4 @@
+-AM_CPPFLAGS = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJ4INCL@
++AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJ4INCL@
+ 
+ AUTOMAKE_OPTIONS = subdir-objects
+ 
+@@ -529,8 +529,8 @@
+ 				  ./kml/KML_Unknown.cpp\
+ 				  ./kml/KMLFileReadUtils.cpp
+ #}}}
+-#AMR sources  {{{
+-amr_sources = ./classes/AdaptiveMeshRefinement.cpp
++#NEOPZ sources  {{{
++neopz_sources = ./classes/AdaptiveMeshRefinement.cpp
+ #}}}
+ #Modules sources{{{
+ modules_sources= ./shared/Threads/LaunchThread.cpp\
+@@ -615,8 +615,8 @@
+ if KML
+ libISSMModules_la_SOURCES += $(kml_sources)
+ endif
+-if AMR
+-libISSMModules_la_SOURCES += $(amr_sources)
++if NEOPZ
++libISSMModules_la_SOURCES += $(neopz_sources)
+ endif
+ libISSMModules_la_CXXFLAGS = $(ALLCXXFLAGS)
+ if !WINDOWS
+@@ -679,7 +679,7 @@
+ endif
+ 
+ #External packages
+-LDADD +=  $(TAOLIB) $(M1QN3LIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB)  $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJ4LIB)
++LDADD +=  $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB)  $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJ4LIB)
+ 
+ if FORTRAN
+ LDADD += $(FLIBS) $(FORTRANLIB)
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21489)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21490)
+@@ -137,7 +137,7 @@
+ 		void InitFromBuffers(char* buffer, int buffersize, char* toolkits, int solution_type,bool trace,IssmPDouble* X=NULL);
+ 		#endif
+ 
+-		#ifdef _HAVE_AMR_
++		#ifdef _HAVE_NEOPZ_
+ 		/*Adaptive mesh refinement methods*/
+ 		void InitializeAdaptiveRefinement(void);
+ 		FemModel* ReMesh(void);
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21489)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21490)
+@@ -80,7 +80,7 @@
+ 	/*Save communicator in the parameters dataset: */
+ 	this->parameters->AddObject(new GenericParam<ISSM_MPI_Comm>(incomm,FemModelCommEnum));
+ 
+-	#ifdef _HAVE_AMR_
++	#ifdef _HAVE_NEOPZ_
+ 	this->InitializeAdaptiveRefinement();
+ 	#endif
+ 
+@@ -2913,7 +2913,7 @@
+ }/*}}}*/
+ #endif
+ 
+-#ifdef _HAVE_AMR_
++#ifdef _HAVE_NEOPZ_
+ void FemModel::InitializeAdaptiveRefinement(void){/*{{{*/
+ 	
+ 	int my_rank=IssmComm::GetRank();
Index: /issm/oecreview/Archive/21337-21723/ISSM-21490-21491.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21490-21491.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21490-21491.diff	(revision 21726)
@@ -0,0 +1,33 @@
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21490)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21491)
+@@ -1,16 +1,26 @@
+ #ifndef ADAPTIVEMESHREFINEMENT
+ #define ADAPTIVEMESHREFINEMENT
+ 
++/*Includes*/
++/*{{{*/
+ /*Common includes*/
+-/*{{{*/
+ #include <iostream>
+ #include <fstream>
+ #include <string>
+ 
+ /*NeoPZ includes*/
++/*REAL and STATE definitions, NeoPZ variables*/
++#ifndef REALdouble
++	#define REALdouble
++#endif
++
++#ifndef STATEdouble
++	#define STATEdouble
++#endif
++
++#include <pzreal.h>
+ #include <pzsave.h>
+ #include <pzgmesh.h>
+-#include <pzreal.h>
+ #include <pzvec.h>
+ #include <pzeltype.h>
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21491-21492.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21491-21492.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21491-21492.diff	(revision 21726)
@@ -0,0 +1,11 @@
+Index: ../trunk-jpl/etc/environment.sh
+===================================================================
+--- ../trunk-jpl/etc/environment.sh	(revision 21491)
++++ ../trunk-jpl/etc/environment.sh	(revision 21492)
+@@ -331,5 +331,5 @@
+ #NEOPZ
+ NEOPZ_DIR="$ISSM_DIR/externalpackages/neopz/install"
+ if [ -d "$NEOPZ_DIR" ]; then
+-	export REFPATTERNDIR="$NEOPZ_DIR/include/refpattern"
++	export REFPATTERNDIR="$NEOPZ_DIR/include/refpatterns"
+ fi
Index: /issm/oecreview/Archive/21337-21723/ISSM-21492-21493.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21492-21493.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21492-21493.diff	(revision 21726)
@@ -0,0 +1,10 @@
+Index: ../trunk-jpl/src/wrappers/matlab/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 21492)
++++ ../trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 21493)
+@@ -1,4 +1,4 @@
+-AM_CPPFLAGS = @DAKOTAINCL@ @MATLABINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@
++AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @MATLABINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@
+ AUTOMAKE_OPTIONS = subdir-objects
+ 
+ EXEEXT=$(MATLABWRAPPEREXT)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21493-21494.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21493-21494.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21493-21494.diff	(revision 21726)
@@ -0,0 +1,44 @@
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21493)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21494)
+@@ -51,18 +51,18 @@
+    virtual void Write(TPZStream &buf, int withclassid);                    // Write this class, using ClassId to identify
+     
+ 	/*General methods*/
+-	void CleanUp();																			//Clean all attributes
+-   void SetHMax(int &h);                                                   //Define the max level of refinement
+-   void SetElementWidth(int &width);                                       //Define elements width
+-	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL);					//A new mesh will be created and refined. This returns the new mesh
+-	void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Create a NeoPZ geometric mesh by coords and elements
+-   void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); //Check the consistency of the mesh
++	void CleanUp();																			// Clean all attributes
++   void SetHMax(int &h);                                                   // Define the max level of refinement
++   void SetElementWidth(int &width);                                       // Define elements width
++	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL);					// A new mesh will be created and refined. This returns the new mesh
++	void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
++   void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Check the consistency of the mesh
+ 
+ private:
+ 
+ 	/*Private attributes*/
+-   int elementswidth;                                                      // geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta
+-   int hmax;                                                               // max level of refinement
++   int elementswidth;                                                      // Geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta
++   int hmax;                                                               // Max level of refinement
+ 	TPZGeoMesh *fathermesh;																	// Father Mesh is the entire mesh without refinement
+ 	TPZGeoMesh *previousmesh;																// Previous mesh is a refined mesh of last step
+ 
+@@ -72,9 +72,9 @@
+    void RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh);                        // Refine the elements to avoid hanging nodes
+ 	void SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel, std::vector<long> &ElemVec); 	//Define wich elements will be refined
+    void TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec);				 // This tag all elements to be refined, that is, refine all elements
+-   void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec);    //This tag elements near the grounding line
+-   void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);	// calculate the grounding line position using previous mesh
+-	void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); //Return coords and elements in ISSM data structure
++   void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec);    // This tag elements near the grounding line
++   void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);	// Calculate the grounding line position using previous mesh
++	void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); // Return coords and elements in ISSM data structure
+    inline int GetElemMaterialID(){return 1;}                               // Return element material ID
+    inline int GetBoundaryMaterialID(){return 2;}                           // Return segment (2D boundary) material ID
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21494-21495.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21494-21495.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21494-21495.diff	(revision 21726)
@@ -0,0 +1,26 @@
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21494)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21495)
+@@ -606,6 +606,10 @@
+ endif
+ endif
+ 
++if NEOPZ
++libISSMCore_la_SOURCES += $(neopz_sources)
++endif
++
+ if WRAPPERS
+ libISSMModules_la_SOURCES = $(modules_sources)
+ libISSMModules_la_SOURCES += $(bamg_sources)
+@@ -615,9 +619,7 @@
+ if KML
+ libISSMModules_la_SOURCES += $(kml_sources)
+ endif
+-if NEOPZ
+-libISSMModules_la_SOURCES += $(neopz_sources)
+-endif
++
+ libISSMModules_la_CXXFLAGS = $(ALLCXXFLAGS)
+ if !WINDOWS
+ if STANDALONE_LIBRARIES
Index: /issm/oecreview/Archive/21337-21723/ISSM-21495-21496.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21495-21496.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21495-21496.diff	(revision 21726)
@@ -0,0 +1,163 @@
+Index: ../trunk-jpl/src/wrappers/matlab/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 21495)
++++ ../trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 21496)
+@@ -114,16 +114,16 @@
+ #}}}
+ # Module sources and dependencies {{{
+ if !WINDOWS
+-libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(MPILIB) $(PETSCLIB) $(MKLLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB) $(MEXLIB) 
++libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB) $(MEXLIB) 
+ endif
+ 
+ if STANDALONE_LIBRARIES
+ libISSMMatlab_la_LDFLAGS = -static 
+-deps += $(PETSCLIB) $(TAOLIB) $(M1QN3LIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB)   $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
++deps += $(PETSCLIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB)   $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
+ endif
+ 
+ if !WINDOWS
+-libISSMApi_la_LIBADD = $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB) $(MEXLIB)
++libISSMApi_la_LIBADD = $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB) $(MEXLIB)
+ endif
+ 
+ if STANDALONE_LIBRARIES
+@@ -132,111 +132,111 @@
+ 
+ BamgMesher_matlab_la_SOURCES = ../BamgMesher/BamgMesher.cpp
+ BamgMesher_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-BamgMesher_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++BamgMesher_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ BamgConvertMesh_matlab_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp
+ BamgConvertMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-BamgConvertMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++BamgConvertMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ BamgTriangulate_matlab_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp
+ BamgTriangulate_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-BamgTriangulate_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++BamgTriangulate_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ if CHACO
+ Chaco_matlab_la_SOURCES = ../Chaco/Chaco.cpp
+ Chaco_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-Chaco_matlab_la_LIBADD = ${deps} $(MPILIB) $(CHACOLIB) $(GSLLIB) $(PROJ4LIB) $(PETSCLIB)
++Chaco_matlab_la_LIBADD = ${deps} $(MPILIB) $(CHACOLIB) $(GSLLIB) $(PROJ4LIB) $(PETSCLIB) $(NEOPZLIB)
+ endif
+ 
+ ContourToMesh_matlab_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp
+ ContourToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-ContourToMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++ContourToMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ ExpToLevelSet_matlab_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp
+ ExpToLevelSet_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-ExpToLevelSet_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++ExpToLevelSet_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ ContourToNodes_matlab_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp
+ ContourToNodes_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-ContourToNodes_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++ContourToNodes_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ DistanceToMaskBoundary_matlab_la_SOURCES = ../DistanceToMaskBoundary/DistanceToMaskBoundary.cpp
+ DistanceToMaskBoundary_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ ElementConnectivity_matlab_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp
+ ElementConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-ElementConnectivity_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++ElementConnectivity_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ InterpFromGridToMesh_matlab_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp
+ InterpFromGridToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ InterpFromMeshToMesh2d_matlab_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
+ InterpFromMeshToMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ InterpFromMeshToMesh3d_matlab_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
+ InterpFromMeshToMesh3d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ InterpFromMeshToGrid_matlab_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
+ InterpFromMeshToGrid_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ InterpFromMesh2d_matlab_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp
+ InterpFromMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-InterpFromMesh2d_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++InterpFromMesh2d_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ IssmConfig_matlab_la_SOURCES = ../IssmConfig/IssmConfig.cpp
+ IssmConfig_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-IssmConfig_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB)
++IssmConfig_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB)
+ 
+ ExpSimplify_matlab_la_SOURCES = ../ExpSimplify/ExpSimplify.cpp
+ ExpSimplify_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-ExpSimplify_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++ExpSimplify_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ Kriging_matlab_la_SOURCES = ../Kriging/Kriging.cpp
+ Kriging_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-Kriging_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++Kriging_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ MeshPartition_matlab_la_SOURCES = ../MeshPartition/MeshPartition.cpp
+ MeshPartition_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-MeshPartition_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(METISLIB) $(GSLLIB) $(PROJ4LIB)
++MeshPartition_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(METISLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ M1qn3_matlab_la_SOURCES = ../M1qn3/M1qn3.cpp
+ M1qn3_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-M1qn3_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(METISLIB) $(M1QN3LIB) $(GSLLIB) $(PROJ4LIB)
++M1qn3_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(METISLIB) $(M1QN3LIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ MeshProfileIntersection_matlab_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp
+ MeshProfileIntersection_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-MeshProfileIntersection_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++MeshProfileIntersection_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ NodeConnectivity_matlab_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp
+ NodeConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-NodeConnectivity_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++NodeConnectivity_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ PointCloudFindNeighbors_matlab_la_SOURCES = ../PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
+ PointCloudFindNeighbors_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
++PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ PropagateFlagsFromConnectivity_matlab_la_SOURCES = ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
+ PropagateFlagsFromConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ Scotch_matlab_la_SOURCES = ../Scotch/Scotch.cpp
+ Scotch_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-Scotch_matlab_la_LIBADD = ${deps} $(SCOTCHLIB) $(MPILIB) $(PETSCLIB) $(BLASLAPACKLIB)
++Scotch_matlab_la_LIBADD = ${deps} $(SCOTCHLIB) $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(BLASLAPACKLIB)
+ 
+ ShpRead_matlab_la_SOURCES = ../ShpRead/ShpRead.cpp
+ ShpRead_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-ShpRead_matlab_la_LIBADD = ${deps} $(SHAPELIBLIB) $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++ShpRead_matlab_la_LIBADD = ${deps} $(SHAPELIBLIB) $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ TriMesh_matlab_la_SOURCES = ../TriMesh/TriMesh.cpp
+ TriMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-TriMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(TRIANGLELIB) $(GSLLIB) $(PROJ4LIB)
++TriMesh_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(TRIANGLELIB) $(GSLLIB) $(PROJ4LIB)
+ 
+ TriMeshProcessRifts_matlab_la_SOURCES = ../TriMeshProcessRifts/TriMeshProcessRifts.cpp
+ TriMeshProcessRifts_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
+-TriMeshProcessRifts_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
++TriMeshProcessRifts_matlab_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
+ #}}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21496-21497.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21496-21497.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21496-21497.diff	(revision 21726)
@@ -0,0 +1,164 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21496)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21497)
+@@ -19,6 +19,9 @@
+ class Materials;
+ class Profiler;
+ class Elements;
++#ifdef _HAVE_NEOPZ_
++#include "./AdaptiveMeshRefinement.h"
++#endif
+ /*}}}*/
+ 
+ class FemModel {
+@@ -43,6 +46,10 @@
+ 		Results     *results;              //results that cannot be fit into the elements 
+ 		Vertices    *vertices;             //one set of vertices
+ 
++		#ifdef _HAVE_NEOPZ_
++		AdaptiveMeshRefinement *amr;		  //adaptive mesh refinement object. It keeps coarse mesh and execute refinement process
++		#endif
++
+ 		/*constructors, destructors: */
+ 		FemModel(int argc,char** argv,ISSM_MPI_Comm comm_init,bool trace=false);
+ 		FemModel(char* rootpath, char* inputfilename, char* outputfilename, char* toolkitsfilename, char* lockfilename, char* restartfilename, ISSM_MPI_Comm incomm, int solution_type,IssmPDouble* X);
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21496)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21497)
+@@ -137,6 +137,10 @@
+ 	if(materials)delete materials;
+ 	if(parameters)delete parameters;
+ 	if(results)delete results;
++	
++	#ifdef _HAVE_NEOPZ_
++	if(amr)delete amr;
++	#endif
+ 
+ 	/*Now delete: */
+ 	if(profiler)delete profiler;
+@@ -2919,15 +2923,19 @@
+ 	int my_rank=IssmComm::GetRank();
+ 	
+ 	/*Initialize AMR*/
+-	//AdaptiveMeshRefinement *AMR = new AdaptiveMeshRefinement();
++	if(my_rank==0){
++		/*Just CPU #0 should keep AMR object*/
++		this->amr = new AdaptiveMeshRefinement();
++		int hmax = 2; //itapopo: it must be defined by interface. Using 2 just to test
++		this->amr->SetHMax(hmax); //Set max level of refinement
++	} 
++	else{
++		this->amr=NULL;
++	}
+ 	
+-	/*Set max level of refinement*/
+-	int hmax = 2;
+-	//AMR->SetHMax(hmax);
+-	
+ 	/*Get initial mesh*/
+ 	/*Get total number of elements and total numbers of elements in the initial mesh*/
+-	int numberofvertices, numberofelements, numberofsegments;
++	long numberofvertices, numberofelements, numberofsegments;
+ 	numberofvertices = this->vertices->NumberOfVertices();
+ 	numberofelements = this->elements->NumberOfElements();
+ 	numberofsegments = -1; //used on matlab
+@@ -2945,56 +2953,54 @@
+ 	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements);
+ 	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
+ 
+-	/*Go through elements, and for each element, object*/
+-    for(int i=0;i<this->elements->Size();i++){
++	/*Go through elements, and for each element, get vertices*/
++   for(int i=0;i<this->elements->Size();i++){
+     	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
+     	element->GetVerticesSidList(elem_vertices);
+     	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
+     	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
+     	vid3->SetValue(element->sid,elem_vertices[2],INS_VAL);
+-    }
++   }
+ 		
+ 	/*Assemble*/
+-    vid1->Assemble();
+-    vid2->Assemble();
+-    vid3->Assemble();
++   vid1->Assemble();
++   vid2->Assemble();
++   vid3->Assemble();
+ 
+-    /*Serialize*/
++   /*Serialize*/
+ 	IssmDouble *id1 = vid1->ToMPISerial();
+    IssmDouble *id2 = vid2->ToMPISerial();
+ 	IssmDouble *id3 = vid3->ToMPISerial();
+ 	
+-	int **elementsptr;
+-	elementsptr = new int*[numberofelements];
+-    for(int i=0;i<numberofelements;i++){
+-        elementsptr[i] = new int[elementswidth];
+-        elementsptr[i][0] = (int)id1[i];
+-        elementsptr[i][1] = (int)id2[i];
+-        elementsptr[i][2] = (int)id3[i];
+-    }
++	long **elementsptr;
++	elementsptr = new long*[numberofelements];
++   for(int i=0;i<numberofelements;i++){
++		elementsptr[i] = new long[elementswidth];
++      elementsptr[i][0] = (long)id1[i];
++		elementsptr[i][1] = (long)id2[i];
++      elementsptr[i][2] = (long)id3[i];
++	}
+ 
+-	//if(my_rank==0){
+-	//	_printf_("   PRINTING COORDINATES... \n");	    
+-   // 		for(long i=0;i<numberofvertices;i++) _printf_("ID: " << i << "\t" << "X: " << x[i] << "\t" << "Y: " << y[i] << "\n");
+-   // 	_printf_("   PRINTING ELEMENTS... \n");	   
+-   // 	for(int i=0;i<numberofelements;i++) _printf_("El: " << i << "\t" << elementsptr[i][0] << "\t" << elementsptr[i][1] << "\t" << elementsptr[i][2] << "\n");
+-	//}
++	/*Create initial mesh (coarse mesh) in neopz data structure*/ 
++   if(my_rank==0){ 
++		long nsegments=0;
++		this->amr->CreateInitialMesh(numberofvertices, numberofelements, nsegments, elementswidth, x, y, z, elementsptr, NULL);
++	}
+ 
+-    //AMR->CreateInitialMesh(numberofvertices, numberofelements, 0, elementswidth, x, y, z, elementsptr, NULL);
+-
+ 	/*Free the vectors*/
+-	delete x;
+-	delete y;
+-	delete z;
++	xDelete<IssmDouble>(x);
++	xDelete<IssmDouble>(y);
++	xDelete<IssmDouble>(z);
+ 	delete vid1;
+ 	delete vid2;
+ 	delete vid3;
+-	delete id1;
+-	delete id2;
+-	delete id3;
+-	for(int i=0;i<numberofelements;i++) delete elementsptr[i];
+-   if(elementsptr) delete elementsptr;
+-	xDelete<int>(elem_vertices); 
++	xDelete<IssmDouble>(id1);
++	xDelete<IssmDouble>(id2);
++	xDelete<IssmDouble>(id3);			
++	for(int i=0;i<numberofelements;i++) delete [] elementsptr[i];
++   if(elementsptr) delete [] elementsptr;
++	xDelete<int>(elem_vertices);
++
+ }
+ /*}}}*/
+ FemModel* FemModel::ReMesh(void){/*{{{*/
+@@ -3490,8 +3496,8 @@
+ 	Options *options   	= NULL;
+ 
+ 	//itapopo voltar aqui
+-	InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
+-	InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++	//InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++	//InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
+ 
+ 	output->constraints = new Constraints();
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21499-21500.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21499-21500.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21499-21500.diff	(revision 21726)
@@ -0,0 +1,29 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21499)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 21500)
+@@ -572,7 +572,9 @@
+ 				/*Get then the square of the gradient of EPL heads*/
+ 				EPLgrad2 = (epl_slopeX[i]*epl_slopeX[i])+(epl_slopeY[i]*epl_slopeY[i]);
+ 				/*And proceed to the real thing*/
+-				thickness[i] = old_thickness[i]/(1.0-((rho_water*gravity*epl_conductivity*EPLgrad2*dt)/(rho_ice*latentheat))+((2.0*A*dt*pow(EPL_N,n))/(pow(n,n))));
++				thickness[i] = old_thickness[i]/(1.0
++																				 -((rho_water*gravity*epl_conductivity*EPLgrad2*dt)/(rho_ice*latentheat))
++																				 +((2.0*A*dt*pow(EPL_N,n))/(pow(n,n))));
+ 				/*Take care of otherthikening*/
+ 				if(thickness[i]>max_thick){
+ 					thickness[i] = max_thick;
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21499)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21500)
+@@ -487,7 +487,8 @@
+ 				residual[i] = 0.;
+ 			}
+ 			//adding base in min to take into account heads under bed wich don't change N
+-			pressure[i]=(rho_ice*g*thickness[i])-(rho_freshwater*g*(max((min(h_max,values[i])-base[i]),0.0)));
++			//pressure[i]=(rho_ice*g*thickness[i])-(rho_freshwater*g*(max((min(h_max,values[i])-base[i]),0.0)));
++			pressure[i]=(rho_ice*g*thickness[i])-(rho_freshwater*g*(values[i]-base[i]));
+ 		}
+ 		xDelete<IssmDouble>(thickness);
+ 		xDelete<IssmDouble>(base);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21500-21501.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21500-21501.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21500-21501.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/src/m/classes/mesh3dprisms.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 21500)
++++ ../trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 21501)
+@@ -108,13 +108,13 @@
+ 			%Check that mesh follows the geometry
+ 			md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock');
+ 			md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation');
+-			if any(max(abs(project2d(md,md.mesh.z,1)-project2d(md,md.geometry.base,1)))>1e-11),
++			if any(max(abs(project2d(md,md.mesh.z,1)-project2d(md,md.geometry.base,1)))>1e-10),
+ 				md = checkmessage(md,'md.mesh.z is not consistent with md.geometry.base, you changed the geometry after extrusion');
+ 			end
+-			if any(max(abs(project2d(md,md.mesh.z,md.mesh.numberoflayers)-project2d(md,md.geometry.surface,1)))>1e-11),
++			if any(max(abs(project2d(md,md.mesh.z,md.mesh.numberoflayers)-project2d(md,md.geometry.surface,1)))>1e-10),
+ 				md = checkmessage(md,'md.mesh.z is not consistent with md.geometry.surface, you changed the geometry after extrusion !!');
+ 			end
+-			if any(max(abs(project2d(md,md.mesh.z,md.mesh.numberoflayers)-project2d(md,md.mesh.z,1) - project2d(md,md.geometry.thickness,1)))>1e-11),
++			if any(max(abs(project2d(md,md.mesh.z,md.mesh.numberoflayers)-project2d(md,md.mesh.z,1) - project2d(md,md.geometry.thickness,1)))>1e-10),
+ 				md = checkmessage(md,'md.mesh.z is not consistent with md.geometry.thickness, you changed the geometry after extrusion !!');
+ 			end
+ 		end % }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21501-21502.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21501-21502.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21501-21502.diff	(revision 21726)
@@ -0,0 +1,9 @@
+Index: ../trunk-jpl/src/m/solve/loadresultsslm.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/loadresultsslm.m	(revision 0)
++++ ../trunk-jpl/src/m/solve/loadresultsslm.m	(revision 21502)
+@@ -0,0 +1,4 @@
++function slm=loadresultslm(slm)
++
++	for i=1:length(slm.icecaps), slm.icecaps{i}=loadresultsfromcluster(slm.icecaps{i});end;
++	slm.earth=loadresultsfromcluster(slm.earth);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21502-21503.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21502-21503.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21502-21503.diff	(revision 21726)
@@ -0,0 +1,428 @@
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21502)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21503)
+@@ -49,7 +49,8 @@
+     /*Verify and delete all data*/
+     if(this->fathermesh)    delete this->fathermesh;
+     if(this->previousmesh)  delete this->previousmesh;
+-
++	 this->hmax=-1;
++	 this->elementswidth=-1;
+ }
+ /*}}}*/
+ int AdaptiveMeshRefinement::ClassId() const{/*{{{*/
+@@ -126,18 +127,17 @@
+ 
+ /*Mesh refinement methods*/
+ #include "TPZVTKGeoMesh.h" //itapopo
+-void AdaptiveMeshRefinement::ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments){/*{{{*/
++void AdaptiveMeshRefinement::ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, int &nvertices, int &nelements, int &nsegments, double** x, double** y, double** z, int*** elements, int*** segments){/*{{{*/
+ 
+-    //ITAPOPO _assert_(this->fathermesh);
+-    //ITAPOPO _assert_(this->previousmesh);
++    //itapopo _assert_(this->fathermesh);
++    //itapopo _assert_(this->previousmesh);
+     
+     /*Calculate the position of the grounding line using previous mesh*/
+     std::vector<TPZVec<REAL> > GLvec;
+     this->CalcGroundingLinePosition(masklevelset, GLvec);
+-
+     
+-    //std::ofstream file1("/Users/santos/Desktop/mesh0.vtk");
+-    //TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file1 );
++    std::ofstream file1("/ronne_1/home/santos/mesh0.vtk");
++    TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file1 );
+     
+     /*run refinement or unrefinement process*/
+     TPZGeoMesh *newmesh;
+@@ -148,10 +148,10 @@
+     }
+     
+     this->RefinementProcess(newmesh,GLvec);
++	
++    std::ofstream file2("/ronne_1/home/santos/mesh1.vtk");
++    TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file2 );
+     
+-    //std::ofstream file2("/Users/santos/Desktop/mesh1.vtk");
+-    //TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file2 );
+-    
+     /*Set new mesh pointer. Previous mesh just have uniform elements*/
+     if(type_process==1){
+         if(this->previousmesh) delete this->previousmesh;
+@@ -161,25 +161,21 @@
+     /*Refine elements to avoid hanging nodes*/
+     TPZGeoMesh *nohangingnodesmesh = new TPZGeoMesh(*newmesh);
+     
++    std::ofstream file3("/ronne_1/home/santos/mesh2.vtk");
++    TPZVTKGeoMesh::PrintGMeshVTK(newmesh,file3);
+     
+-    //std::ofstream file3("/Users/santos/Desktop/mesh2.vtk");
+-    //TPZVTKGeoMesh::PrintGMeshVTK(newmesh,file3);
+-    
+     this->RefineMeshToAvoidHangingNodes(nohangingnodesmesh);
+     
++    std::ofstream file4("/ronne_1/home/santos/mesh3.vtk");
++    TPZVTKGeoMesh::PrintGMeshVTK(nohangingnodesmesh,file4);
+     
+-    //std::ofstream file4("/Users/santos/Desktop/mesh3.vtk");
+-    //TPZVTKGeoMesh::PrintGMeshVTK(nohangingnodesmesh,file4);
+-    
+-    
+     /*Get new geometric mesh in ISSM data structure*/
+     this->GetMesh(nohangingnodesmesh,nvertices,nelements,nsegments,x,y,z,elements,segments);
+-
++	 
+     /*Verify the new geometry*/
+-    this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,(*x),(*y),(*z),(*elements),(*segments));
+-    
++    this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,x,y,z,elements,segments);
++     
+     delete nohangingnodesmesh;
+-
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec){/*{{{*/
+@@ -188,7 +184,7 @@
+     for(int hlevel=1;hlevel<=this->hmax;hlevel++){
+         
+         /*Set elements to be refined using some criteria*/
+-        std::vector<long> ElemVec; //elements without children
++        std::vector<int> ElemVec; //elements without children
+         this->SetElementsToRefine(gmesh,GLvec,hlevel,ElemVec);
+         
+         /*Refine the mesh*/
+@@ -197,20 +193,20 @@
+     
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::RefineMesh(TPZGeoMesh *gmesh, std::vector<long> &ElemVec){/*{{{*/
++void AdaptiveMeshRefinement::RefineMesh(TPZGeoMesh *gmesh, std::vector<int> &ElemVec){/*{{{*/
+ 
+ 	/*Refine elements in ElemVec: uniform pattern refinement*/
+-	for(long i = 0; i < ElemVec.size(); i++){
++	for(int i = 0; i < ElemVec.size(); i++){
+ 		
+         /*Get geometric element and verify if it has already been refined*/
+-        long index = ElemVec[i];
++        int index = ElemVec[i];
+         TPZGeoEl * geoel = gmesh->Element(index);
+         if(geoel->HasSubElement()) DebugStop();                              //itapopo _assert_(!geoel->HasSubElement());
+         if(geoel->MaterialId() != this->GetElemMaterialID()) DebugStop();   //itapopo verificar se usará _assert_
+         
+         /*Divide geoel*/
+         TPZVec<TPZGeoEl *> Sons;
+-	 	geoel->Divide(Sons);
++		  geoel->Divide(Sons);
+         
+         /*If a 1D segment is neighbor, it must be divided too*/
+         if(this->elementswidth != 3) DebugStop(); //itapopo verificar o segment para malha 3D
+@@ -235,8 +231,8 @@
+ void AdaptiveMeshRefinement::RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh){/*{{{*/
+     
+     /*Refine elements to avoid hanging nodes: non-uniform refinement*/
+-   	const long NElem = gmesh->NElements();
+-    for(long i = 0; i < NElem; i++){
++	 const int NElem = gmesh->NElements();
++    for(int i = 0; i < NElem; i++){
+         
+         /*Get geometric element and verify if it has already been refined. Geoel may not have been previously refined*/
+         TPZGeoEl * geoel = gmesh->Element(i);
+@@ -252,24 +248,24 @@
+             geoel->Divide(Sons);
+         }
+         
+-   	}
++    }
+     
+     gmesh->BuildConnectivity();
+     
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments){/*{{{*/
++void AdaptiveMeshRefinement::GetMesh(TPZGeoMesh *gmesh, int &nvertices, int &nelements, int &nsegments, double** meshX, double** meshY, double** meshZ, int*** elements, int*** segments){/*{{{*/
+ 
+ 	/* vertices */
+-    long ntotalvertices = gmesh->NNodes();//total
++    int ntotalvertices = gmesh->NNodes();//total
+     
+     /* mesh coords */
+     double *newmeshX = new double[ntotalvertices];
+     double *newmeshY = new double[ntotalvertices];
+     double *newmeshZ = new double[ntotalvertices];
+    	
+-   	/* getting mesh coords */
+-    for(long i = 0; i < ntotalvertices; i++ ){
++   /* getting mesh coords */
++    for(int i = 0; i < ntotalvertices; i++ ){
+         TPZVec<REAL> coords(3,0.);
+         gmesh->NodeVec()[i].GetCoordinates(coords);
+         newmeshX[i] = coords[0];
+@@ -279,47 +275,42 @@
+     
+ 	/* elements */
+     std::vector<TPZGeoEl*> GeoVec; GeoVec.clear();
+-    for(long i = 0; i < gmesh->NElements(); i++){
+-    
++    for(int i = 0; i < gmesh->NElements(); i++){ 
+         if( gmesh->ElementVec()[i]->HasSubElement() ) continue;
+         if( gmesh->ElementVec()[i]->MaterialId() != this->GetElemMaterialID() ) continue;
+         GeoVec.push_back( gmesh->ElementVec()[i]);
+-               
+     }
+     
+-    long ntotalelements = GeoVec.size();
+-    long ** newelements = new long*[ntotalelements];
++    int ntotalelements = (int)GeoVec.size();
++    int ** newelements = new int*[ntotalelements];
+ 
+     if ( !(this->elementswidth == 3) && !(this->elementswidth == 4) && !(this->elementswidth == 6) ) DebugStop();
+ 
+-    for(long i = 0; i < GeoVec.size(); i++){
+-
+-        newelements[i] = new long[this->elementswidth];
+-        for(int j = 0; j < this->elementswidth; j++) newelements[i][j] = GeoVec[i]->NodeIndex(j);
++    for(int i = 0; i < GeoVec.size(); i++){
++        newelements[i] = new int[this->elementswidth];
++        for(int j = 0; j < this->elementswidth; j++) newelements[i][j] = (int)GeoVec[i]->NodeIndex(j);
+     }
+     
+     /* segments */
+     std::vector<TPZGeoEl*> SegVec; SegVec.clear();
+-    for(long i = 0; i < gmesh->NElements(); i++){
+-        
++    for(int i = 0; i < gmesh->NElements(); i++){
+         if( gmesh->ElementVec()[i]->HasSubElement() ) continue;
+         if( gmesh->ElementVec()[i]->MaterialId() != this->GetBoundaryMaterialID() ) continue;
+         SegVec.push_back( gmesh->ElementVec()[i]);
+-        
+     }
+     
+-    long ntotalsegments = SegVec.size();
+-    long ** newsegments = new long*[ntotalsegments];
++    int ntotalsegments = (int)SegVec.size();
++    int ** newsegments = new int*[ntotalsegments];
+     
+-    for(long i = 0; i < SegVec.size(); i++){
++    for(int i = 0; i < SegVec.size(); i++){
+         
+-        newsegments[i] = new long[3];
++        newsegments[i] = new int[3];
+         for(int j = 0; j < 2; j++) newsegments[i][j] = SegVec[i]->NodeIndex(j);
+         
+-        long neighborindex = SegVec[i]->Neighbour(2).Element()->Index();
+-        long neighbourid = -1;
++        int neighborindex = SegVec[i]->Neighbour(2).Element()->Index();
++        int neighbourid = -1;
+         
+-        for(long j = 0; j < GeoVec.size(); j++){
++        for(int j = 0; j < GeoVec.size(); j++){
+             if( GeoVec[j]->Index() == neighborindex || GeoVec[j]->FatherIndex() == neighborindex){
+                 neighbourid = j;
+                 break;
+@@ -346,15 +337,15 @@
+     
+     /* Find grounding line using elments center point */
+     GLvec.clear();
+-    for(long i=0;i<this->previousmesh->NElements();i++){
++    for(int i=0;i<this->previousmesh->NElements();i++){
+         
+         if(this->previousmesh->Element(i)->MaterialId()!=this->GetElemMaterialID()) continue;
+         if(this->previousmesh->Element(i)->HasSubElement()) continue;
+         
+         //itapopo apenas malha 2D triangular!
+-        long vertex0 = this->previousmesh->Element(i)->NodeIndex(0);
+-        long vertex1 = this->previousmesh->Element(i)->NodeIndex(1);
+-        long vertex2 = this->previousmesh->Element(i)->NodeIndex(2);
++        int vertex0 = this->previousmesh->Element(i)->NodeIndex(0);
++        int vertex1 = this->previousmesh->Element(i)->NodeIndex(1);
++        int vertex2 = this->previousmesh->Element(i)->NodeIndex(2);
+         
+         double mls0 = masklevelset[vertex0];
+         double mls1 = masklevelset[vertex1];
+@@ -383,7 +374,7 @@
+     
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec){/*{{{*/
++void AdaptiveMeshRefinement::SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<int> &ElemVec){/*{{{*/
+ 
+     if(!gmesh) DebugStop(); //itapopo verificar se usará _assert_
+ 
+@@ -397,25 +388,25 @@
+ 
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec){/*{{{*/
++void AdaptiveMeshRefinement::TagAllElements(TPZGeoMesh *gmesh,std::vector<int> &ElemVec){/*{{{*/
+     
+     /* Uniform refinement. This refines the entire mesh */
+-    long nelements = gmesh->NElements();
+-    for(long i=0;i<nelements;i++){
++    int nelements = gmesh->NElements();
++    for(int i=0;i<nelements;i++){
+         if(gmesh->Element(i)->MaterialId()!=this->GetElemMaterialID()) continue;
+         if(gmesh->Element(i)->HasSubElement()) continue;
+         ElemVec.push_back(i);
+     }
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec){/*{{{*/
++void AdaptiveMeshRefinement::TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<int> &ElemVec){/*{{{*/
+     
+     /* Tag elements near grounding line */
+     double MaxRegion = 20000.; //itapopo
+     double alpha = 1.0;         //itapopo
+     double MaxDistance = MaxRegion / std::exp(alpha*(hlevel-1));
+     
+-    for(long i=0;i<gmesh->NElements();i++){
++    for(int i=0;i<gmesh->NElements();i++){
+         
+         if(gmesh->Element(i)->MaterialId()!=this->GetElemMaterialID()) continue;
+         if(gmesh->Element(i)->HasSubElement()) continue;
+@@ -429,7 +420,7 @@
+         
+         REAL distance = MaxDistance;
+         
+-        for (long j = 0; j < GLvec.size(); j++) {
++        for (int j = 0; j < GLvec.size(); j++) {
+             
+             REAL value = ( GLvec[j][0] - centerPoint[0] ) * ( GLvec[j][0] - centerPoint[0] ); // (x2-x1)^2
+             value += ( GLvec[j][1] - centerPoint[1] ) * ( GLvec[j][1] - centerPoint[1] );// (y2-y1)^2
+@@ -445,20 +436,20 @@
+     
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments){/*{{{*/
++void AdaptiveMeshRefinement::CreateInitialMesh(int &nvertices, int &nelements, int &nsegments, int &width, double* x, double* y, double* z, int** elements, int** segments){/*{{{*/
+ 
+ 	// itapopo _assert_(nvertices>0);
+     // itapoo _assert_(nelements>0);
+-    this->SetElementWidth(width);
++   this->SetElementWidth(width);
+ 
+     /*Verify and creating initial mesh*/
+     //itapopo if(this->fathermesh) _error_("Initial mesh already exists!");
+     
+-    this->fathermesh = new TPZGeoMesh();
++   this->fathermesh = new TPZGeoMesh();
+ 	this->fathermesh->NodeVec().Resize( nvertices );
+ 
+     /*Set the vertices (geometric nodes in NeoPZ context)*/
+-	for(long i=0;i<nvertices;i++){
++	for(int i=0;i<nvertices;i++){
+         
+         /*x,y,z coords*/
+         TPZManVector<REAL,3> coord(3,0.);
+@@ -468,7 +459,7 @@
+ 		
+         /*Insert in the mesh*/
+         this->fathermesh->NodeVec()[i].SetCoord(coord);
+-		this->fathermesh->NodeVec()[i].SetNodeId(i);
++		  this->fathermesh->NodeVec()[i].SetNodeId(i);
+ 	}
+ 	
+ 	/*Generate the elements*/
+@@ -476,7 +467,7 @@
+     const int mat = this->GetElemMaterialID();
+     TPZManVector<long> elem(this->elementswidth,0);
+     
+-	for(long iel=0;iel<nelements;iel++){
++	for(int iel=0;iel<nelements;iel++){
+ 
+ 		for(int jel=0;jel<this->elementswidth;jel++) elem[jel]=elements[iel][jel];
+ 
+@@ -498,7 +489,7 @@
+     const int matboundary = this->GetBoundaryMaterialID();
+     TPZManVector<long> boundary(2,0.);
+     
+-    for(long iel=nelements;iel<nelements+nsegments;iel++){
++    for(int iel=nelements;iel<nelements+nsegments;iel++){
+         
+         boundary[0] = segments[iel-nelements][0];
+         boundary[1] = segments[iel-nelements][1];
+@@ -525,7 +516,7 @@
+     this->elementswidth = width;
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::CheckMesh(long &nvertices, long &nelements, long &nsegments,int &width, double* x, double* y, double* z, long** elements, long** segments){/*{{{*/
++void AdaptiveMeshRefinement::CheckMesh(int &nvertices, int &nelements, int &nsegments,int &width, double** x, double** y, double** z, int*** elements, int*** segments){/*{{{*/
+ 
+     /*Basic verification*/
+     if( !(nvertices > 0) || !(nelements > 0) ) DebugStop(); //itapopo verificar se irá usar o _assert_
+@@ -535,24 +526,24 @@
+     if( !x || !y || !z || !elements ) DebugStop(); // itapopo verifcar se irá usar o _assert_
+     
+     /*Verify if there are orphan nodes*/
+-    std::set<long> elemvertices;
+-    elemvertices.clear();
++    std::set<int> elemvertices;
++    elemvertices.clear(); 
++    for(int i = 0; i < nelements; i++){
++        for(int j = 0; j < width; j++) {
++            elemvertices.insert((*elements)[i][j]);
++		  }
++	 }
+     
+-    for(long i = 0; i < nelements; i++){
+-        for(long j = 0; j < width; j++) {
+-            elemvertices.insert(elements[i][j]);
+-        }
+-    }
+-    
+     if( elemvertices.size() != nvertices ) DebugStop();//itapopo verificar se irá usar o _assert_
+-    
++	
+     //Verify if there are inf or NaN in coords
+-    for(long i = 0; i < nvertices; i++) if(isnan(x[i]) || isinf(x[i])) DebugStop();
+-    for(long i = 0; i < nvertices; i++) if(isnan(y[i]) || isinf(y[i])) DebugStop();
+-    for(long i = 0; i < nvertices; i++) if(isnan(z[i]) || isinf(z[i])) DebugStop();
+-    for(long i = 0; i < nvertices; i++){
+-        for(long j = 0; j < width; j++){
+-            if( isnan(elements[i][j]) || isinf(elements[i][j]) ) DebugStop();
++    for(int i = 0; i < nvertices; i++) if(isnan((*x)[i]) || isinf((*x)[i])) DebugStop();
++    for(int i = 0; i < nvertices; i++) if(isnan((*y)[i]) || isinf((*y)[i])) DebugStop();
++    for(int i = 0; i < nvertices; i++) if(isnan((*z)[i]) || isinf((*z)[i])) DebugStop();
++   
++	 for(int i = 0; i < nelements; i++){
++        for(int j = 0; j < width; j++){
++            if( isnan((*elements)[i][j]) || isinf((*elements)[i][j]) ) DebugStop();
+         }
+     }
+     
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21502)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21503)
+@@ -54,9 +54,9 @@
+ 	void CleanUp();																			// Clean all attributes
+    void SetHMax(int &h);                                                   // Define the max level of refinement
+    void SetElementWidth(int &width);                                       // Define elements width
+-	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL);					// A new mesh will be created and refined. This returns the new mesh
+-	void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
+-   void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Check the consistency of the mesh
++	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, int &nvertices, int &nelements, int &nsegments, double** x, double** y, double** z, int*** elements, int*** segments=NULL);					// A new mesh will be created and refined. This returns the new mesh
++	void CreateInitialMesh(int &nvertices, int &nelements, int &nsegments, int &width, double* x, double* y, double* z, int** elements, int** segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
++   void CheckMesh(int &nvertices, int &nelements, int &nsegments, int &width, double** x, double** y, double** z, int*** elements, int*** segments=NULL); // Check the consistency of the mesh
+ 
+ private:
+ 
+@@ -68,13 +68,13 @@
+ 
+ 	/*Private methods*/
+    void RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec);  // Start the refinement process
+-	void RefineMesh(TPZGeoMesh *gmesh, std::vector<long> &ElemVec); 					// Refine the elements in ElemVec
++	void RefineMesh(TPZGeoMesh *gmesh, std::vector<int> &ElemVec); 					// Refine the elements in ElemVec
+    void RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh);                        // Refine the elements to avoid hanging nodes
+-	void SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel, std::vector<long> &ElemVec); 	//Define wich elements will be refined
+-   void TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec);				 // This tag all elements to be refined, that is, refine all elements
+-   void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec);    // This tag elements near the grounding line
++	void SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel, std::vector<int> &ElemVec); 	//Define wich elements will be refined
++   void TagAllElements(TPZGeoMesh *gmesh,std::vector<int> &ElemVec);				 // This tag all elements to be refined, that is, refine all elements
++   void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<int> &ElemVec);    // This tag elements near the grounding line
+    void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);	// Calculate the grounding line position using previous mesh
+-	void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); // Return coords and elements in ISSM data structure
++	void GetMesh(TPZGeoMesh *gmesh, int &nvertices, int &nelements, int &nsegments, double** meshX, double** meshY, double** meshZ, int*** elements, int*** segments=NULL); // Return coords and elements in ISSM data structure
+    inline int GetElemMaterialID(){return 1;}                               // Return element material ID
+    inline int GetBoundaryMaterialID(){return 2;}                           // Return segment (2D boundary) material ID
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21503-21504.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21503-21504.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21503-21504.diff	(revision 21726)
@@ -0,0 +1,900 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21503)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21504)
+@@ -82,6 +82,12 @@
+ 
+ 	#ifdef _HAVE_NEOPZ_
+ 	this->InitializeAdaptiveRefinement();
++	FemModel *Test=this->ReMesh();//itapopo: just to test!;
++	printf("   AFTER REMESH!!!\n");
++	//Test->CleanUp();
++	printf("   AFTER CLEANUP!!!\n");
++	//delete Test;
++	printf("   AFTER DELETE!!!\n");
+ 	#endif
+ 
+ 	/*Free resources */
+@@ -2935,7 +2941,7 @@
+ 	
+ 	/*Get initial mesh*/
+ 	/*Get total number of elements and total numbers of elements in the initial mesh*/
+-	long numberofvertices, numberofelements, numberofsegments;
++	int numberofvertices, numberofelements, numberofsegments;
+ 	numberofvertices = this->vertices->NumberOfVertices();
+ 	numberofelements = this->elements->NumberOfElements();
+ 	numberofsegments = -1; //used on matlab
+@@ -2972,18 +2978,18 @@
+    IssmDouble *id2 = vid2->ToMPISerial();
+ 	IssmDouble *id3 = vid3->ToMPISerial();
+ 	
+-	long **elementsptr;
+-	elementsptr = new long*[numberofelements];
++	int **elementsptr;
++	elementsptr = new int*[numberofelements];
+    for(int i=0;i<numberofelements;i++){
+-		elementsptr[i] = new long[elementswidth];
+-      elementsptr[i][0] = (long)id1[i];
+-		elementsptr[i][1] = (long)id2[i];
+-      elementsptr[i][2] = (long)id3[i];
++		elementsptr[i] = new int[elementswidth];
++      elementsptr[i][0] = (int)id1[i];
++		elementsptr[i][1] = (int)id2[i];
++      elementsptr[i][2] = (int)id3[i];
+ 	}
+ 
+ 	/*Create initial mesh (coarse mesh) in neopz data structure*/ 
+    if(my_rank==0){ 
+-		long nsegments=0;
++		int nsegments=0;
+ 		this->amr->CreateInitialMesh(numberofvertices, numberofelements, nsegments, elementswidth, x, y, z, elementsptr, NULL);
+ 	}
+ 
+@@ -3006,395 +3012,127 @@
+ FemModel* FemModel::ReMesh(void){/*{{{*/
+ 	
+ 	/*All indexing here is in C type: 0..n-1*/
+-
+-	//////// to test! using the current femmodel
+-	int numberofvertices2, numberofelements2;
+-	numberofvertices2 = this->vertices->NumberOfVertices();
+-	numberofelements2 = this->elements->NumberOfElements();
+-
+-	/*Get vertices coordinates*/
+-	IssmDouble *x = NULL;
+-	IssmDouble *y = NULL;
+-	IssmDouble *z = NULL;
+-	VertexCoordinatesx(&x, &y, &z, this->vertices,false) ;
+-
+-	/*Get element vertices*/
+-	int elementswidth2 = 3; //just 2D mesh in this version (just tria elements)
+-	int* elem_vertices2=xNew<int>(elementswidth2);
+-	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements2);
+-	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements2);
+-	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements2);
+-
+-	/*Go through elements, and for each element, object, report it cpu:*/
+-    for(int i=0;i<this->elements->Size();i++){
+-    	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
+-    	element->GetVerticesSidList(elem_vertices2);
+-    	vid1->SetValue(element->sid,elem_vertices2[0],INS_VAL);
+-    	vid2->SetValue(element->sid,elem_vertices2[1],INS_VAL);
+-    	vid3->SetValue(element->sid,elem_vertices2[2],INS_VAL);
+-    }
+-		
+-	/*Assemble*/
+-    vid1->Assemble();
+-    vid2->Assemble();
+-    vid3->Assemble();
+-
+-    /*Serialize*/
+-	IssmDouble *id1 = vid1->ToMPISerial();
+-    IssmDouble *id2 = vid2->ToMPISerial();
+-	IssmDouble *id3 = vid3->ToMPISerial();
+-
+-	delete vid1;
+-	delete vid2;
+-	delete vid3;
+-	
+-	int **elementsptr;
+-	elementsptr = new int*[numberofelements2];
+-    for(int i=0;i<numberofelements2;i++){
+-        elementsptr[i] = new int[elementswidth2];
+-        elementsptr[i][0] = (int)id1[i];
+-        elementsptr[i][1] = (int)id2[i];
+-        elementsptr[i][2] = (int)id3[i];
+-    }
+-
+-   delete id1;
+-	delete id2;
+-	delete id3;
+-	//////////////////////////////////////////////
+-
+ 	int my_rank=IssmComm::GetRank();
+-
++   const int elementswidth=3;//just 2D mesh, tria elements
++	
+ 	/*Solutions which will be used to refine the elements*/
+-	double *vx = NULL;
+-	double *vy = NULL;
+-	double *masklevelset = NULL;
++	IssmDouble *vx=NULL; //This will be used in constraints
++	IssmDouble *vy=NULL; //This will be used in constraints
++	IssmDouble *masklevelset=NULL;
++ 
++	this->GetMaskLevelSet(&masklevelset);
++	// #1: TEST MASK LEVEL SET
++	_printf_("   PRINTING MASKLEVELSET... \n");
++	int numberofvertices=this->vertices->NumberOfVertices();	    
++	if(my_rank==0) for(int i=0;i<numberofvertices;i++) _printf_("vertex: " << i << "\t" << masklevelset[i] << "\n");
+ 
+-	int elementswidth = 3;//just 2D mesh, tria elements
+-	int numberofelements = this->elements->NumberOfElements();
+-	int numberofvertices = this->vertices->NumberOfVertices();
+-
+-	IssmDouble* elementlevelset = xNew<IssmDouble>(elementswidth);
+-	int* elem_vertices = xNew<int>(elementswidth);
+-	Vector<IssmDouble>* vmasklevelset = new Vector<IssmDouble>(numberofvertices);
+-
+-	for(int i=0;i<this->elements->Size();i++){
+-		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
+-		element->GetInputListOnVertices(elementlevelset,MaskIceLevelsetEnum);
+-		element->GetVerticesSidList(elem_vertices);
+-		vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
+-    	vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL);
+-    	vmasklevelset->SetValue(elem_vertices[2],elementlevelset[2],INS_VAL);
+-	}
+-
+-	/*Assemble*/
+-	vmasklevelset->Assemble();
+-
+-	/*Serialize*/
+-	masklevelset = vmasklevelset->ToMPISerial();
+-
+-	xDelete<IssmDouble>(elementlevelset);
+-	xDelete<int>(elem_vertices);
+-	delete vmasklevelset;
+-
+-	//_printf_("   PRINTING MASKLEVELSET... \n");	    
+-	//if(my_rank==0){
+-	//	for(int i=0;i<numberofvertices;i++) _printf_("vertex: " << i << "\t" << masklevelset[i] << "\n");
+-	//}
+-
+-	/*Refine the mesh*/
+-	double *newx;
+-	double *newy;
+-	double *newz;
++	/*Refine the mesh and get the new mesh*/
++	IssmDouble *newx;
++	IssmDouble *newy;
++	IssmDouble *newz;
+ 	int **newelements;
+ 	int **newsegments;
+ 	int newnumberofvertices, newnumberofelements, newnumberofsegments;
+-	int type_process=1;
+-	//AMR->ExecuteRefinement(type_process,vx,vy,masklevelset,newnumberofvertices,newnumberofelements,newnumberofsegments,&newx,&newy,&newz,&newelements,&newsegments);
++	int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
++	if(my_rank==0) this->amr->ExecuteRefinement(type_process,vx,vy,masklevelset,newnumberofvertices,newnumberofelements,newnumberofsegments,&newx,&newy,&newz,&newelements,&newsegments);
+ 	
+-	//if(newnumberofvertices<=0 || newnumberofelements<=0 || newnumberofsegments=<0) _error_("Error in the mesh refinement process.");
+-
+-	delete masklevelset;
+-
+-	///////////////////////// to test using the current femmodel
+-	newx = x;
+-	newy = y;
+-	newz = z;
+-	newelements = elementsptr;
+-	newnumberofvertices = numberofvertices2;
+-	newnumberofelements = numberofelements2;
+-
+-	//if(my_rank==0){
+-	//	_printf_("   PRINTING COORDINATES... \n");	    
+-   // 		for(int i=0;i<newnumberofvertices;i++) _printf_("ID: " << i << "\t" << "X: " << newx[i] << "\t" << "Y: " << newy[i] << "\n");
+-   // 	_printf_("   PRINTING ELEMENTS... \n");	   
+-   // 	for(int i=0;i<newnumberofelements;i++) _printf_("El: " << i << "\t" << newelements[i][0] << "\t" << newelements[i][1] << "\t" << newelements[i][2] << "\n");
+-	//}
+-	/////////////////////////
+-
+-	/*Partitioning the new mesh*/
+-	int        *epart          		= NULL; //element partitioning.
+-	int        *npart          		= NULL; //node partitioning.
+-	int        *newelementslist     = NULL;
+-	int        	edgecut				= 1;
+-	int 		numflag				= 0;
+-	int 		etype 	 			= 1;
+-	int 		numprocs 			= IssmComm::GetSize();
+-	bool 		*my_elements 		= NULL;
+-	int  		*my_vertices 		= NULL;
++	if(newnumberofvertices<=0 || newnumberofelements<=0 /*|| newnumberofsegments<=0*/) _error_("Error in the refinement process.");
+ 	
+-	epart 							= xNew<int>(newnumberofelements);
+-	npart 							= xNew<int>(newnumberofvertices);
+-	newelementslist 				= xNew<int>(newnumberofelements*elementswidth);
++	/*Cleanup masklevetset*/
++	xDelete<IssmDouble>(masklevelset);
+ 
+-	/*Fill the element list to partitioning*/
++	// #2: TEST NEW MESH
++	if(my_rank==0){
++		_printf_("   PRINTING COORDINATES... \n");	    
++ 		for(int i=0;i<newnumberofvertices;i++) _printf_("ID: " << i << "\t" << "X: " << newx[i] << "\t" << "Y: " << newy[i] << "\n");
++    	_printf_("   PRINTING ELEMENTS... \n");	   
++   	for(int i=0;i<newnumberofelements;i++) _printf_("El: " << i << "\t" << newelements[i][0] << "\t" << newelements[i][1] << "\t" << newelements[i][2] << "\n");
++	}
++	
++	/*Partitioning the new mesh. Maybe ElementsAndVerticesPartitioning.cpp could be modified to set this without iomodel.*/
++	/*Fill the element list to partitioning*/	
++	int* newelementslist=NULL;
++	newelementslist=xNew<int>(newnumberofelements*elementswidth);
+ 	for(int i=0;i<newnumberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
+ 		for(int j=0;j<elementswidth;j++){
+-			newelementslist[elementswidth*i+j] = newelements[i][j]; //C indexing
++			newelementslist[elementswidth*i+j]=newelements[i][j]; //C indexing
+ 		}
+-	}
++	}	
++	bool* my_elements=NULL; 
++	int* my_vertices=NULL;
+ 
+-	//if(my_rank==0){
+-	//	_printf_("   PRINTING ELEMENTS in ELEMENTLIST... \n");	   
+-   // 	for(int i=0;i<newnumberofelements;i++) _printf_("El: " << i << "\t" << newelementslist[i*elementswidth+0] << "\t" << newelementslist[i*elementswidth+1] << "\t" << newelementslist[i*elementswidth+2] << "\n");
+-    //}
+-
+-	/*Partition using Metis:*/
+-	if (numprocs>1){
+-#ifdef _HAVE_METIS_
+-		METIS_PartMeshNodalPatch(&newnumberofelements,&newnumberofvertices, newelementslist, &etype, &numflag, &numprocs, &edgecut, epart, npart);
+-#else
+-		_error_("metis has not beed installed. Cannot run with more than 1 cpu");
+-#endif
+-	}
+-	else if (numprocs==1){
+-		/*METIS does not know how to deal with one cpu only!*/
+-		for (int i=0;i<newnumberofelements;i++)	epart[i]=0;
+-		for (int i=0;i<newnumberofvertices;i++)	npart[i]=0;
+-	}
+-	else _error_("At least one processor is required");
+-
+-	//_printf_("   PRINTING AFTER MESTIS... \n");	    
+-
+-	my_vertices=xNew<int>(newnumberofvertices);
+-	my_elements=xNew<bool>(newnumberofelements);
+-	for(int i=0;i<newnumberofvertices;i++) my_vertices[i] = 0;
+-	for(int i=0;i<newnumberofelements;i++) my_elements[i] = false;
+-
+-	/*Start figuring out, out of the partition, which elements belong to this cpu: */
+-	for(int i=0;i<newnumberofelements;i++){
+-
+-		/*!All elements have been partitioned above, only deal with elements for this cpu: */
+-		if(my_rank==epart[i]){ 
+-			my_elements[i]=true;
+-			/*Now that we are here, we can also start building the list of vertices belonging to this cpu partition: we use 
+-			 *the  element index to do this. For each element n, we know index[n][0:2] holds the indices (matlab indexing) 
+-			 into the vertices coordinates. If we start plugging 1 into my_vertices for each index[n][i] (i=0:2), then my_vertices 
+-			 will hold which vertices belong to this partition*/
+-			for(int j=0;j<elementswidth;j++){
+-				my_vertices[newelementslist[elementswidth*i+j]]=1;
+-			}
+-		}
+-	}
+-
+-	xDelete<int>(epart);
+-	xDelete<int>(npart);
+-
+-	//_printf_("   PRINTING AFTER MY_VERTICES... \n");	    
+-
++	this->ElementsAndVerticesPartitioning(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,&my_elements,&my_vertices);
++	
+ 	/*Creating new femmodel with new mesh*/
+-	FemModel* output = NULL;
+-	int       analysis_type;
++	FemModel* output=NULL;
++	output=new FemModel(*this);
+ 
+-	output = new FemModel(*this);
+-
+-	//_printf_("   PRINTING AFTER FEMMODEL... \n");	    
+-
+ 	/*Copy basic attributes:*/
+-	output->nummodels = this->nummodels;
+-	output->solution_type = this->solution_type;
+-	output->analysis_counter = this->analysis_counter;
++	output->nummodels=this->nummodels;
++	output->solution_type=this->solution_type;
++	output->analysis_counter=this->analysis_counter;
+ 
+-	//_printf_("   PRINTING AFTER BASIC COPIES... \n");	    
+-
+ 	/*Now, deep copy arrays:*/
+ 	output->analysis_type_list=xNew<int>(this->nummodels);
+ 	xMemCpy<int>(output->analysis_type_list,this->analysis_type_list,this->nummodels);
+ 
+ 	output->profiler=static_cast<Profiler*>(this->profiler->copy());
+-	output->parameters=static_cast<Parameters*>(this->parameters->Copy());
++	output->parameters=static_cast<Parameters*>(this->parameters->Copy());	    
+ 
+-	//_printf_("   PRINTING AFTER PARAMETERS... \n");	    
++	/*Create vertices*/
++	output->vertices=new Vertices();
++	this->CreateVertices(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,my_vertices,newx,newy,newz,output->vertices);
++ 
++	/* #4: TEST THE VERTICES!*/
++  	//_printf_("     Old vertices deep echo: \n");
++   //this->vertices->DeepEcho();
++   //_printf_("     New vertices deep echo: \n");
++   //output->vertices->DeepEcho();
+ 
+-	/*Creating connectivity table*/
+-	int* connectivity = xNew<int>(newnumberofvertices);
+-	for(int i=0;i<newnumberofvertices;i++) connectivity[i] = 0;
+-
+-	for (int i=0;i<newnumberofelements;i++){
+-		for (int j=0;j<elementswidth;j++){
+-			int vertexid = newelementslist[elementswidth*i+j];
+-			_assert_(vertexid>-1 && vertexid<newnumberofvertices);
+-			connectivity[vertexid]+=1;
+-		}
+-	}	
+-
+-	//_printf_("   PRINTING AFTER CONNECTIVITY... \n");	    
+-
+-	/*Creating vertices*/
+-	output->vertices = new Vertices();
+-
+-	for(int i=0;i<newnumberofvertices;i++){
+-		if(my_vertices[i]){
+-			Vertex *newvertex = new Vertex();
+-			
+-			newvertex->id 		= i+1;
+-			newvertex->sid 		= i;
+-			newvertex->pid 		= UNDEF;
+-
+-			newvertex->x         	= newx[i];
+-			newvertex->y         	= newy[i];
+-			newvertex->z         	= newz[i];
+-			newvertex->domaintype	= Domain2DhorizontalEnum;
+-			newvertex->sigma		= 0.;
+-
+-			newvertex->connectivity = connectivity[i];
+-
+-			output->vertices->AddObject(newvertex);	
+-		} 
+-	}
+-
+-	xDelete<int>(connectivity);
+-
+-	//_printf_("   PRINTING AFTER VERTICES... \n");	    
+-
+ 	/*Creating elements*/
+ 	/*Just Tria in this version*/
+-	output->elements = new Elements();
++	output->elements=new Elements();
++	this->CreateElements(newnumberofelements,elementswidth,newelementslist,my_elements,output->elements);
+ 
+-	for(int i=0;i<newnumberofelements;i++){
+-		if(my_elements[i]){
++	/*Cleanup*/
++	xDelete<int>(newelementslist);	    
+ 
+-			Tria *newtria = new Tria();
+-
+-			newtria->id  = i+1;
+-			newtria->sid = i;
+-			newtria->parameters = NULL;
+-
+-			newtria->inputs  = new Inputs();
+-
+-			newtria->nodes    = NULL;
+-			newtria->vertices = NULL;
+-			newtria->material = NULL;
+-			newtria->matpar   = NULL;
+-
+-			if(this->nummodels>0){
+-				newtria->element_type_list=xNew<int>(this->nummodels);
+-				for(int j=0;j<nummodels;j++) newtria->element_type_list[j] = 0;
+-			}
+-			else newtria->element_type_list = NULL;
+-
+-			/*Element hook*/
+-			int matpar_id		= newnumberofelements+1; //retrieve material parameter id (last pointer in femodel->materials)
+-			int material_id 	= i+1; // retrieve material_id = i+1;
+-
+-			/*retrieve vertices ids*/
+-			int* vertex_ids = xNew<int>(elementswidth);
+-			
+-			for(int j=0;j<elementswidth;j++){ 
+-				vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j]);
+-			}
+-
+-			newtria->numanalyses = this->nummodels;
+-			newtria->hnodes      = new Hook*[this->nummodels];
+-			newtria->hvertices   = new Hook(&vertex_ids[0],elementswidth);
+-			newtria->hmaterial   = new Hook(&material_id,1);
+-			newtria->hmatpar     = new Hook(&matpar_id,1);
+-			newtria->hneighbors  = NULL;
+-
+-			/*Initialize hnodes as NULL*/
+-			for(int j=0;j<this->nummodels;j++){
+-				newtria->hnodes[j]=NULL;
+-			}
+-
+-			/*Clean up*/
+-			xDelete<int>(vertex_ids);
+-			output->elements->AddObject(newtria);	
+-		} 
+-	}
+-
+-	xDelete<int>(newelementslist);
+-	//_printf_("   PRINTING AFTER ELEMENTS... \n");	    
+-
+ 	/*Creating materials*/
+-	/*Just Matice in this version*/
+-	output->materials = new Materials();
+-
+-	for(int i=0;i<newnumberofelements;i++){
+-		if(my_elements[i]){
+-			output->materials->AddObject(new Matice(i+1,i,MaticeEnum));	
+-		} 
+-	}
+-	/*This is done to follow CreateElementsVerticesAndMaterials, line 57*/
+-	//output->elements->InputDuplicate(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
+-
+-	/*Add new constant material property to materials, at the end: */
+-	Matpar *newmatpar = static_cast<Matpar*>(this->materials->GetObjectByOffset(this->materials->Size()-1)->copy());
+-	output->materials->AddObject(newmatpar);//put it at the end of the materials
+-
+-	//_printf_("   PRINTING AFTER MATERIALS... \n");	    
+-
+-	delete x;
+-	delete y;
+-	delete z;
+-	for(int i=0;i<numberofelements;i++) delete elementsptr[i];
+-    if(elementsptr) delete elementsptr;
+-
+-	//itapopo to test and print the elements and coordinates
+-	//output->InitializeAdaptiveRefinement();
+-
++	output->materials=new Materials();
++	this->CreateMaterials(newnumberofelements,my_elements,output->materials);
+ 	/*Creating nodes*/
+ 	/*Just SSA (2D) and P1 in this version*/
+-	output->nodes = new Nodes();
++	output->nodes=new Nodes();
+ 
+-	int nodecounter = 0;
+-	int lid 		= 0;
++	int nodecounter=0;
++	int lid=0;
+ 	for(int i=0;i<output->nummodels;i++){
+-		
+ 		int analysis_enum = output->analysis_type_list[i];
+-
+-		//_printf_("   	Analysis type:" << EnumToStringx(analysis_enum) << "\n");
+-
+ 		//itapopo as the domain is 2D, it is not necessary to create nodes for this analysis
+ 		if(analysis_enum==StressbalanceVerticalAnalysisEnum) continue;	    
+-
+ 		for(int j=0;j<newnumberofvertices;j++){
+-			if(my_vertices[j]){
+-				
+-				Node* newnode = new Node();	
+-
++			if(my_vertices[j]){				
++				Node* newnode=new Node();	
+ 				/*id: */
+-				newnode->id            = nodecounter+j+1;
+-				newnode->sid           = j;
+-				newnode->lid           = lid++;
+-				newnode->analysis_enum = analysis_enum;
+-
++				newnode->id=nodecounter+j+1;
++				newnode->sid=j;
++				newnode->lid=lid++;
++				newnode->analysis_enum=analysis_enum;
+ 				/*Initialize coord_system: Identity matrix by default*/
+ 				for(int k=0;k<3;k++) for(int l=0;l<3;l++) newnode->coord_system[k][l]=0.0;
+ 				for(int k=0;k<3;k++) newnode->coord_system[k][k]=1.0;
+-
+ 				/*indexing:*/
+-				newnode->indexingupdate = true;
+-
+-				Analysis* analysis = EnumToAnalysis(analysis_enum);
+-				int *doftypes = NULL;
+-				int numdofs        = analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum);
++				newnode->indexingupdate=true;
++				Analysis* analysis=EnumToAnalysis(analysis_enum);
++				int *doftypes=NULL;
++				int numdofs=analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum);
+ 				newnode->indexing.Init(numdofs,doftypes);
+ 				xDelete<int>(doftypes);
+ 				delete analysis;
+-
+ 				if(analysis_enum==StressbalanceAnalysisEnum)
+-				 newnode->SetApproximation(SSAApproximationEnum);
++					newnode->SetApproximation(SSAApproximationEnum);
+ 				else
+-				 newnode->SetApproximation(0);
++					newnode->SetApproximation(0);
+ 
+ 				/*Stressbalance Horiz*/
+ 				if(analysis_enum==StressbalanceAnalysisEnum){
+@@ -3404,7 +3142,6 @@
+ 					//_assert_(sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[1][0]*coord_system[1][0]) >1.e-4);
+ 
+ 				}
+-
+ 				output->nodes->AddObject(newnode);
+ 			}
+ 		}
+@@ -3412,62 +3149,45 @@
+ 		if(output->nodes->Size()) nodecounter = output->nodes->MaximumId();
+ 	}
+ 	
+-	//_printf_("   Old node size: " << this->nodes->Size() << " \n");	    
++	/* #4: TEST THE NODES!*/
++	_printf_("		Old nodes deep echo: \n");
++	this->nodes->DeepEcho();
++	_printf_("		New nodes deep echo: \n");
++	output->nodes->DeepEcho();
+ 
+-	//for(int i=0;i<this->nummodels;i++){
+-	//	int analysis_type = this->analysis_type_list[i];
+-	//	_printf_("   	Analysis type:" << EnumToStringx(analysis_type) << " size: "<< this->nodes->NumberOfNodes(analysis_type) << " NDofs: " <<  this->nodes->NumberOfDofs(analysis_type, GsetEnum) << " \n");
+-	//}
+-	
+-	//_printf_("   New number of nodes: " << output->nodes->Size() << " \n");	    
+-	//for(int i=0;i<output->nummodels;i++){
+-	//	int analysis_type = output->analysis_type_list[i];
+-	//	_printf_("   	Analysis type:" << EnumToStringx(analysis_type) << " size: "<< output->nodes->NumberOfNodes(analysis_type) << " NDofs: " <<  this->nodes->NumberOfDofs(analysis_type, GsetEnum) << " \n");
+-	//}
+-	
+-	//_printf_("		Old nodes deep echo: \n");
+-	//this->nodes->DeepEcho();
++	printf(" I arrived here!!!!!!!\n");
++#ifdef _CONTINUE_NEOPZ_
+ 
+-	//_printf_("		New nodes deep echo: \n");
+-	//output->nodes->DeepEcho();
+-
+-	//_printf_("   PRINTING AFTER NODES... \n");	    
+-
+ 	/*Create constraints*/
+-	IssmDouble *spcvx = NULL;
+-	IssmDouble *spcvy = NULL;
++	IssmDouble *spcvx=NULL;
++	IssmDouble *spcvy=NULL;
++	int numberofnodes_analysistype=this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
++	Vector<IssmDouble>* vspcvx=new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvy=new Vector<IssmDouble>(numberofnodes_analysistype);
+ 
+-	int numberofnodes_analysistype 	= this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
+-	
+-	//_printf_("   Number of nodes: " << numberofnodes_analysistype << " \n");	    
++	IssmDouble BigNumber=1.e8;
+ 
+-	Vector<IssmDouble>* vspcvx 		= new Vector<IssmDouble>(numberofnodes_analysistype);
+-	Vector<IssmDouble>* vspcvy		= new Vector<IssmDouble>(numberofnodes_analysistype);
+-
+-	IssmDouble BigNumber 			= 1.e8;
+-
+ 	for(int i=0;i<numberofnodes_analysistype;i++){
+ 		vspcvx->SetValue(i,BigNumber,INS_VAL);
+ 		vspcvy->SetValue(i,BigNumber,INS_VAL);
+ 	}
+ 
+-	IssmDouble absmaxspcvx = 0;
+-	IssmDouble absmaxspcvy = 0;
++	IssmDouble absmaxspcvx=0;
++	IssmDouble absmaxspcvy=0;
+ 
+ 	for(int i=0;i<this->constraints->Size();i++){
+-		SpcStatic* spc 		= xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
+-		int dof 			= spc->GetDof();
+-		int node 			= spc->GetNodeId();
+-		IssmDouble spcvalue	= spc->GetValue(); 
+-		int nodeindex		= node-1;
+-
++		SpcStatic* spc=xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
++		int dof=spc->GetDof();
++		int node=spc->GetNodeId();
++		IssmDouble spcvalue=spc->GetValue(); 
++		int nodeindex=node-1;
+ 		if(dof==0) {
+ 			vspcvx->SetValue(nodeindex,spcvalue,INS_VAL);
+-			if(fabs(spcvalue)>absmaxspcvx) absmaxspcvx = fabs(spcvalue);
++			if(fabs(spcvalue)>absmaxspcvx) absmaxspcvx=fabs(spcvalue);
+ 		}
+ 		else {
+ 			vspcvy->SetValue(nodeindex,spcvalue,INS_VAL);
+-			if(fabs(spcvalue)>absmaxspcvy) absmaxspcvy = fabs(spcvalue);
++			if(fabs(spcvalue)>absmaxspcvy) absmaxspcvy=fabs(spcvalue);
+ 		}
+ 	}
+ 
+@@ -3476,28 +3196,26 @@
+ 	vspcvy->Assemble();
+ 
+ 	/*Serialize*/
+-	spcvx = vspcvx->ToMPISerial();
+-	spcvy = vspcvy->ToMPISerial();
++	spcvx=vspcvx->ToMPISerial();
++	spcvy=vspcvy->ToMPISerial();
+ 
+ 	/*Free the data*/
+ 	delete vspcvx;
+ 	delete vspcvy;
+ 	
+-	double *newspcvx 	= NULL;
+-	double *newspcvy 	= NULL;
+-	int *oldelements 	= newelementslist; //itapopo
+-	double *oldx		= x; //itapopo
+-	double *oldy		= y; //itapopo
+-	int nods_data		= numberofnodes_analysistype;
+-	int nels_data 		= newnumberofelements;
+-	int M_data 			= numberofnodes_analysistype;
+-	int N_data  		= 1;
+-	int N_interp 		= newnumberofvertices;//itapopo
+-	Options *options   	= NULL;
++	IssmDouble *newspcvx=NULL;
++	IssmDouble *newspcvy=NULL;
++	int *oldelements=newelementslist; //itapopo
++	int nods_data=numberofnodes_analysistype;
++	int nels_data=newnumberofelements;
++	int M_data=numberofnodes_analysistype;
++	int N_data=1;
++	int N_interp=newnumberofvertices;//itapopo
++	Options *options=NULL;
+ 
+-	//itapopo voltar aqui
+-	//InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
+-	//InterpFromMeshToMesh2dx(&newspcvx,oldelements,oldx,oldy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvx,oldelements,vx,vy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvx,oldelements,vx,vy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++// TEST: New SPCVX and VY must be tested!
+ 
+ 	output->constraints = new Constraints();
+ 
+@@ -3525,31 +3243,10 @@
+ 
+ 	}
+ 
+-	//_printf_("   Old constraints size: " << this->constraints->Size() << " \n");	    
+-	//this->constraints->DeepEcho();
++	/* #5: TEST CONSTRAINTS*/	    
++	this->constraints->DeepEcho();
++	output->constraints->DeepEcho();
+ 
+-	//_printf_("\n");
+-
+-	//_printf_("   New constraints size: " << output->constraints->Size() << " \n");
+-	
+-	//_printf_("SPCVX\n");
+-	//for(int i = 0;i<newnumberofvertices;i++){
+-	//	_printf_("value: " << spcvx[i] << "\n");
+-	//}	    
+-	//_printf_("SPCVY\n");
+-	//for(int i = 0;i<newnumberofvertices;i++){
+-	//	_printf_("value: " << spcvy[i] << "\n");
+-	//}
+-
+-	//output->constraints->DeepEcho();
+-
+-	//_printf_("   PRINTING AFTER CONSTRAINTS... \n");	    
+-
+-	//_printf_("   Old loads size: " << this->loads->Size() << " \n");	    
+-	//this->loads->DeepEcho();
+-
+-	//_printf_("   PRINTING AFTER LOADS... \n");	    
+-
+ 	// output->loads=static_cast<Loads*>(this->loads->Copy());
+ 	// output->constraints=static_cast<Constraints*>(this->constraints->Copy());
+ 	// output->results=static_cast<Results*>(this->results->Copy());
+@@ -3601,8 +3298,189 @@
+ 	- return new FemModel
+ 	
+ 	*/
+-
++#endif
+ 	return output;
+ }
+ /*}}}*/
++void FemModel::GetMaskLevelSet(IssmDouble **pmasklevelset){/*{{{*/
++
++	int elementswidth=3;//just 2D mesh, tria elements
++	int numberofelements=this->elements->NumberOfElements();
++	int numberofvertices=this->vertices->NumberOfVertices();
++
++	IssmDouble* elementlevelset=xNew<IssmDouble>(elementswidth);
++	int* elem_vertices=xNew<int>(elementswidth);
++	Vector<IssmDouble>* vmasklevelset=new Vector<IssmDouble>(numberofvertices);
++
++	for(int i=0;i<this->elements->Size();i++){
++		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
++		element->GetInputListOnVertices(elementlevelset,MaskIceLevelsetEnum);
++		element->GetVerticesSidList(elem_vertices);
++		vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
++      vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL);
++      vmasklevelset->SetValue(elem_vertices[2],elementlevelset[2],INS_VAL);
++	}
++
++   /*Assemble*/
++	vmasklevelset->Assemble();
++	
++	/*Serialize and set output*/
++	(*pmasklevelset)=vmasklevelset->ToMPISerial();
++
++	/*Cleanup*/
++	xDelete<IssmDouble>(elementlevelset);
++	xDelete<int>(elem_vertices);
++	delete vmasklevelset;
++
++}
++/*}}}*/
++void FemModel::CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices){/*{{{*/
++
++	/*Creating connectivity table*/
++	int* connectivity=xNew<int>(newnumberofvertices);
++	for(int i=0;i<newnumberofvertices;i++) connectivity[i]=0;
++
++	for (int i=0;i<newnumberofelements;i++){
++		for (int j=0;j<elementswidth;j++){
++			int vertexid = newelementslist[elementswidth*i+j];
++			_assert_(vertexid>-1 && vertexid<newnumberofvertices);
++			connectivity[vertexid]+=1;
++		}
++	}	
++
++	/*Create vertex and insert in vertices*/
++	for(int i=0;i<newnumberofvertices;i++){
++		if(my_vertices[i]){
++			Vertex *newvertex=new Vertex();	
++			newvertex->id=i+1;
++			newvertex->sid=i;
++			newvertex->pid=UNDEF;
++			newvertex->x=newx[i];
++			newvertex->y=newy[i];
++			newvertex->z=newz[i];
++			newvertex->domaintype=Domain2DhorizontalEnum;
++			newvertex->sigma=0.;
++			newvertex->connectivity=connectivity[i];
++			vertices->AddObject(newvertex);	
++		} 
++	}
++
++	xDelete<int>(connectivity);
++}
++/*}}}*/
++void FemModel::CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements){/*{{{*/
++
++	for(int i=0;i<newnumberofelements;i++){
++		if(my_elements[i]){
++			Tria *newtria=new Tria();
++			newtria->id=i+1;
++			newtria->sid=i;
++			newtria->parameters=NULL;
++			newtria->inputs=new Inputs();
++			newtria->nodes=NULL;
++			newtria->vertices=NULL;
++			newtria->material=NULL;
++			newtria->matpar=NULL;
++			if(this->nummodels>0){
++				newtria->element_type_list=xNew<int>(this->nummodels);
++				for(int j=0;j<nummodels;j++) newtria->element_type_list[j]=0;
++			}
++			else newtria->element_type_list=NULL;
++			/*Element hook*/
++			int matpar_id=newnumberofelements+1; //retrieve material parameter id (last pointer in femodel->materials)
++			int material_id=i+1; // retrieve material_id = i+1;
++			/*retrieve vertices ids*/
++			int* vertex_ids=xNew<int>(elementswidth);
++			for(int j=0;j<elementswidth;j++)	vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j]);	
++			/*Setting the hooks*/
++			newtria->numanalyses =this->nummodels;
++			newtria->hnodes		=new Hook*[this->nummodels];
++			newtria->hvertices   =new Hook(&vertex_ids[0],elementswidth);
++			newtria->hmaterial   =new Hook(&material_id,1);
++			newtria->hmatpar     =new Hook(&matpar_id,1);
++			newtria->hneighbors  =NULL;
++			/*Initialize hnodes as NULL*/
++			for(int j=0;j<this->nummodels;j++) newtria->hnodes[j]=NULL;
++			/*Clean up*/
++			xDelete<int>(vertex_ids);
++			elements->AddObject(newtria);	
++		} 
++	}
++}
++/*}}}*/
++void FemModel::CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials){/*{{{*/
++
++	/*Just Matice in this version*/
++	for(int i=0;i<newnumberofelements;i++){
++		if(my_elements[i]){
++			materials->AddObject(new Matice(i+1,i,MaticeEnum));	
++		} 
++	}
++	
++	/*Add new constant material property to materials, at the end: */
++	Matpar *newmatpar=static_cast<Matpar*>(this->materials->GetObjectByOffset(this->materials->Size()-1)->copy());
++	materials->AddObject(newmatpar);//put it at the end of the materials	    
++
++}
++/*}}}*/
++void FemModel::ElementsAndVerticesPartitioning(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices){/*{{{*/
++
++	int *epart=NULL; //element partitioning.
++	int *npart=NULL; //node partitioning.
++	int edgecut=1;
++	int numflag=0;
++	int etype=1;
++	int my_rank = IssmComm::GetRank();
++	int numprocs=IssmComm::GetSize();
++	bool *my_elements=NULL;
++	int *my_vertices=NULL;
++	
++	epart=xNew<int>(newnumberofelements);
++	npart=xNew<int>(newnumberofvertices);
++
++	/*Partition using Metis:*/
++	if (numprocs>1){
++#ifdef _HAVE_METIS_
++		METIS_PartMeshNodalPatch(&newnumberofelements,&newnumberofvertices, newelementslist, &etype, &numflag, &numprocs, &edgecut, epart, npart);
++#else
++		_error_("metis has not beed installed. Cannot run with more than 1 cpu");
+ #endif
++	}
++	else if (numprocs==1){
++		/*METIS does not know how to deal with one cpu only!*/
++		for (int i=0;i<newnumberofelements;i++) epart[i]=0;
++		for (int i=0;i<newnumberofvertices;i++) npart[i]=0;
++	}
++	else _error_("At least one processor is required");	    
++
++	my_vertices=xNew<int>(newnumberofvertices);
++	my_elements=xNew<bool>(newnumberofelements);
++	for(int i=0;i<newnumberofvertices;i++) my_vertices[i]=0;
++	for(int i=0;i<newnumberofelements;i++) my_elements[i]=false;
++
++	/*Start figuring out, out of the partition, which elements belong to this cpu: */
++	for(int i=0;i<newnumberofelements;i++){
++		/*!All elements have been partitioned above, only deal with elements for this cpu: */
++		if(my_rank==epart[i]){ 
++			my_elements[i]=true;
++			/*Now that we are here, we can also start building the list of vertices belonging to this cpu partition: we use 
++			 *the  element index to do this. For each element n, we know index[n][0:2] holds the indices (matlab indexing) 
++			 into the vertices coordinates. If we start plugging 1 into my_vertices for each index[n][i] (i=0:2), then my_vertices 
++			 will hold which vertices belong to this partition*/
++			for(int j=0;j<elementswidth;j++){
++				my_vertices[newelementslist[elementswidth*i+j]]=1;
++			}
++		}
++	}
++
++	/*Free ressources:*/
++	xDelete<int>(epart);
++	xDelete<int>(npart);	    
++
++	/*Assign output pointers:*/
++	*pmy_elements=my_elements;
++	*pmy_vertices=my_vertices;
++
++}
++/*}}}*/
++#endif
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21503)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21504)
+@@ -148,6 +148,11 @@
+ 		/*Adaptive mesh refinement methods*/
+ 		void InitializeAdaptiveRefinement(void);
+ 		FemModel* ReMesh(void);
++		void GetMaskLevelSet(IssmDouble** pmasklevelset);
++		void CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices);
++		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
++		void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
++		void ElementsAndVerticesPartitioning(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices);
+ 		#endif
+ };
+ 		
Index: /issm/oecreview/Archive/21337-21723/ISSM-21504-21505.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21504-21505.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21504-21505.diff	(revision 21726)
@@ -0,0 +1,40 @@
+Index: ../trunk-jpl/test/NightlyRun/test1501.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1501.m	(revision 21504)
++++ ../trunk-jpl/test/NightlyRun/test1501.m	(revision 21505)
+@@ -107,7 +107,7 @@
+ 	velocity = [];
+ 	for t=starttime:endtime
+ 		thickness = [thickness (md.results.TransientSolution(t).Thickness)];
+-		volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas];
++		volume = [volume mean(md.results.TransientSolution(t).Thickness(md.mesh.elements),2).*areas];
+ 		massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)];
+ 		velocity = [velocity (md.results.TransientSolution(t).Vel)];
+ 	end
+@@ -131,7 +131,7 @@
+ 		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options);
+ 		[data datatype]=processdata(md,results(i).(field),options);
+ 
+-		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
++		titlestring=[field ' at time ' num2str(results(i).time) ' year'];
+ 		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+ 		options=changefieldvalue(options,'title',titlestring);
+ 		options=addfielddefault(options,'colorbar',1);
+@@ -146,7 +146,7 @@
+ 		[x y z elements is2d isplanet]=processmesh(md,results(i).(field),options);
+ 		[data datatype]=processdata(md,results(i).(field),options);
+ 
+-		titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
++		titlestring=[field ' at time ' num2str(results(i).time) ' year'];
+ 		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+ 		options=changefieldvalue(options,'title',titlestring);
+ 		options=addfielddefault(options,'colorbar',1);
+@@ -195,7 +195,7 @@
+ 			images(1,1,1,length(ts))=0;
+ 		else
+ 			frame=getframe(gcf);
+-			images(:,:,1,count) = rgb2ind(frame.cdata,map,'nodither');
++			images(:,:,1,count) = rgb2ind(frame.cdata,[map; map],'nodither');
+ 		end
+ 
+ 		count = count+1;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21505-21506.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21505-21506.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21505-21506.diff	(revision 21726)
@@ -0,0 +1,48 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 21505)
++++ ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 21506)
+@@ -391,10 +391,6 @@
+ 	IssmDouble reynolds = conductivity*sqrt(dh[0]*dh[0]+dh[1]*dh[1])/NU;
+ 	element->AddInput(HydrologyReynoldsEnum,&reynolds,P0Enum);
+ 
+-	/*Calculate basal flux for output*/
+-	IssmDouble q = conductivity*sqrt(dh[0]*dh[0]+dh[1]*dh[1]);
+-	element->AddInput(HydrologyBasalFluxEnum,&q,P1Enum);
+-
+ 	/*Free resources:*/
+ 	xDelete<IssmDouble>(values);
+ 	xDelete<IssmDouble>(thickness);
+@@ -453,6 +449,7 @@
+ 	IssmDouble  alpha2,frictionheat;
+ 	IssmDouble* xyz_list = NULL;
+    IssmDouble  dpressure_water[2],dbed[2],PMPheat;
++	IssmDouble q = 0.;
+ 
+ 	/*Retrieve all inputs and parameters*/
+ 	element->GetVerticesCoordinates(&xyz_list);
+@@ -539,6 +536,9 @@
+ 					+beta*sqrt(vx*vx+vy*vy)
+ 					));
+ 		totalweights +=gauss->weight*Jdet;
++
++		/* Compute basal water flux */
++      q += gauss->weight*Jdet*(conductivity*sqrt(dh[0]*dh[0]+dh[1]*dh[1]));
+ 	}
+ 
+ 	/*Divide by connectivity*/
+@@ -549,10 +549,13 @@
+ 	/*Limit gap height to grow to surface*/
+ 	if(newgap>thickness)
+ 	 newgap = thickness;
+-	
+ 	 
+ 	/*Add new gap as an input*/
+ 	element->AddInput(HydrologyGapHeightEnum,&newgap,P0Enum);
++ 
++	/*Divide by connectivity, add basal flux as an input*/
++	q = q/totalweights;
++	element->AddInput(HydrologyBasalFluxEnum,&q,P0Enum);
+ 
+ 	/*Clean up and return*/
+ 	xDelete<IssmDouble>(xyz_list);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21506-21507.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21506-21507.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21506-21507.diff	(revision 21726)
@@ -0,0 +1,41 @@
+Index: ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh	(revision 21507)
+@@ -0,0 +1,30 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf src install mpich-3.2
++mkdir src install
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/mpich-3.2.tar.gz' 'mpich-3.2.tar.gz'
++
++#Untar 
++tar -zxvf  mpich-3.2.tar.gz
++
++#Move mpich into src directory
++mv mpich-3.2/* src
++rm -rf mpich-3.2
++
++#Configure mpich
++cd src
++./configure \
++	--prefix="$ISSM_DIR/externalpackages/mpich/install" \
++	--enable-shared
++
++#Compile mpich (this new version supports parallel make)
++if [ $# -eq 0 ]; then
++	make
++else
++	make -j $1
++fi
++make install 
+
+Property changes on: ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21507-21508.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21507-21508.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21507-21508.diff	(revision 21726)
@@ -0,0 +1,211 @@
+Index: ../trunk-jpl/src/c/classes/Params/Parameters.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 21507)
++++ ../trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 21508)
+@@ -90,12 +90,18 @@
+ 	return output;
+ }
+ /*}}}*/
+-void Parameters::DeepEcho(void){/*{{{*/
+-	_error_("not implemented yet");
++void Parameters::DeepEcho(void){/*{{{*/	
++	for(int i=0;i<NUMPARAMS;i++) {
++		if(this->params[i]) this->params[i]->DeepEcho();
++	}
++	return;
+ }
+ /*}}}*/
+-void Parameters::Echo(void){/*{{{*/
+-	_error_("not implemented yet");
++void Parameters::Echo(void){/*{{{*/	
++	for(int i=0;i<NUMPARAMS;i++) {
++		if(this->params[i]) this->params[i]->Echo();
++	}
++	return;
+ }
+ /*}}}*/
+ void Parameters::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){/*{{{*/
+Index: ../trunk-jpl/src/c/classes/Params/Param.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Params/Param.h	(revision 21507)
++++ ../trunk-jpl/src/c/classes/Params/Param.h	(revision 21508)
+@@ -24,6 +24,7 @@
+ 		virtual        ~Param(){};
+ 
+ 		/*Virtual functions:*/
++		virtual void  DeepEcho()=0;
+ 		virtual Param* copy()=0;
+ 		virtual void  Echo()=0;
+ 		virtual void  GetParameterValue(bool* pbool)=0;
+Index: ../trunk-jpl/src/c/classes/Elements/ElementHook.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 21507)
++++ ../trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 21508)
+@@ -23,7 +23,9 @@
+ 		ElementHook(int in_numanalyses,int material_id,int numvertices,IoModel* iomodel);
+ 		~ElementHook();
+ 		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
+-
++		
++		void DeepEcho();
++		void Echo();
+ 		void InitHookNeighbors(int* element_ids);               //3d only
+ 		void SetHookNodes(int* node_ids,int numnodes,int analysis_counter);
+ 		void SpawnSegHook(ElementHook* triahook,int ndex1,int index2); //2d only
+Index: ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 21507)
++++ ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 21508)
+@@ -135,6 +135,70 @@
+ }
+ /*}}}*/
+ 
++void ElementHook::DeepEcho(){/*{{{*/
++
++	_printf_(" ElementHook DeepEcho:\n");
++	_printf_("  numanalyses : "<< this->numanalyses <<"\n");
++	
++	_printf_("  hnodes:\n");
++	if(hnodes){
++		for(int i=0;i<this->numanalyses;i++) {
++			if(hnodes[i]) hnodes[i]->DeepEcho();
++		}
++	}
++	else _printf_("  hnodes = NULL\n");
++	
++	_printf_("  hvertices:\n");
++	if(hvertices) hvertices->DeepEcho();
++	else _printf_("  hvertices = NULL\n");
++	
++	_printf_("  hmaterial:\n");
++	if(hmaterial) hmaterial->DeepEcho();
++   else _printf_("  hmaterial = NULL\n");
++
++	_printf_("  hmatpar:\n");
++	if(hmatpar) hmatpar->DeepEcho();
++   else _printf_("  hmatpar = NULL\n");
++
++	_printf_("  hneighbors:\n");
++	if(hneighbors) hneighbors->DeepEcho();
++   else _printf_("  hneighbors = NULL\n");
++
++	return;
++}
++/*}}}*/
++void ElementHook::Echo(){/*{{{*/
++	
++	_printf_(" ElementHook Echo:\n");
++	_printf_("  numanalyses : "<< this->numanalyses <<"\n");
++	
++	_printf_("  hnodes:\n");
++	if(hnodes){
++		for(int i=0;i<this->numanalyses;i++) {
++			if(hnodes[i]) hnodes[i]->Echo();
++		}
++	}
++	else _printf_("  hnodes = NULL\n");
++	
++	_printf_("  hvertices:\n");
++	if(hvertices) hvertices->Echo();
++	else _printf_("  hvertices = NULL\n");
++	
++	_printf_("  hmaterial:\n");
++	if(hmaterial) hmaterial->Echo();
++   else _printf_("  hmaterial = NULL\n");
++
++	_printf_("  hmatpar:\n");
++	if(hmatpar) hmatpar->Echo();
++   else _printf_("  hmatpar = NULL\n");
++
++	_printf_("  hneighbors:\n");
++	if(hneighbors) hneighbors->Echo();
++   else _printf_("  hneighbors = NULL\n");
++
++	return;
++}
++/*}}}*/
+ void ElementHook::InitHookNeighbors(int* element_ids){/*{{{*/
+ 	this->hneighbors=new Hook(element_ids,2);
+ }
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21507)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21508)
+@@ -125,16 +125,32 @@
+ 
+ 	_printf_("Matice:\n");
+ 	_printf_("   mid: " << mid << "\n");
++	_printf_("   isdamaged: " << isdamaged << "\n");
++	_printf_("   isenhanced: " << isenhanced << "\n");
++	
++	_printf_("   helement:\n");
++	if(helement) helement->DeepEcho();
++	else _printf_("   helement = NULL\n");
++	
+ 	_printf_("   element:\n");
+-	helement->Echo();
++	if(element) element->DeepEcho();
++	else _printf_("   element = NULL\n");
+ }		
+ /*}}}*/
+ void      Matice::Echo(void){/*{{{*/
+-
++	
+ 	_printf_("Matice:\n");
+ 	_printf_("   mid: " << mid << "\n");
++	_printf_("   isdamaged: " << isdamaged << "\n");
++	_printf_("   isenhanced: " << isenhanced << "\n");
++	
++	_printf_("   helement:\n");
++	if(helement) helement->Echo();
++	else _printf_("   helement = NULL\n");
++	
+ 	_printf_("   element:\n");
+-	helement->Echo();
++	if(element) element->Echo();
++	else _printf_("   element = NULL\n");
+ }
+ /*}}}*/
+ int       Matice::Id(void){ return mid; }/*{{{*/
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21507)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21508)
+@@ -255,10 +255,37 @@
+ 	_printf_("   mixed_layer_capacity: " << mixed_layer_capacity << "\n");
+ 	_printf_("   thermal_exchange_velocity: " << thermal_exchange_velocity << "\n");
+ 	_printf_("   g: " << g << "\n");
++	_printf_("   omega: " << omega << "\n");
+ 	_printf_("   desfac: " << desfac << "\n");
+ 	_printf_("   rlaps: " << rlaps << "\n");
+ 	_printf_("   rlapslgm: " << rlapslgm << "\n");
+ 	_printf_("   dpermil: " << dpermil << "\n");
++	_printf_("   albedo_ice: " << albedo_ice << "\n");
++	_printf_("   albedo_snow: " << albedo_snow << "\n");
++	_printf_("   sediment_compressibility: " << sediment_compressibility << "\n");
++	_printf_("   sediment_porosity: " << sediment_porosity << "\n");
++	_printf_("   sediment_thickness: " << sediment_thickness << "\n");
++	_printf_("   water_compressibility: " << water_compressibility << "\n");	
++	_printf_("   epl_compressibility: " << epl_compressibility << "\n");	
++	_printf_("   epl_porosity: " << epl_porosity << "\n");	
++	_printf_("   epl_init_thickness: " << epl_init_thickness << "\n");	
++	_printf_("   epl_colapse_thickness: " << epl_colapse_thickness << "\n");	
++	_printf_("   epl_max_thickness: " << epl_max_thickness << "\n");	
++	_printf_("   epl_conductivity: " << epl_conductivity << "\n");	
++	_printf_("   lithosphere_shear_modulus: " << lithosphere_shear_modulus << "\n");	
++	_printf_("   lithosphere_density: " << lithosphere_density << "\n");	
++	_printf_("   mantle_shear_modulus: " << mantle_shear_modulus << "\n");	
++	_printf_("   mantle_density: " << mantle_density << "\n");	
++	_printf_("   earth_density: " << earth_density << "\n");	
++	_printf_("   poisson: " << poisson << "\n");	
++	_printf_("   young_modulus: " << young_modulus << "\n");	
++	_printf_("   ridging_exponent: " << ridging_exponent << "\n");	
++	_printf_("   cohesion: " << cohesion << "\n");	
++	_printf_("   internal_friction_coef: " << internal_friction_coef << "\n");	
++	_printf_("   compression_coef: " << compression_coef << "\n");	
++	_printf_("   traction_coef: " << traction_coef << "\n");	
++	_printf_("   time_relaxation_stress: " << time_relaxation_stress << "\n");	
++	_printf_("   time_relaxation_damage: " << time_relaxation_damage << "\n");	
+ 	return;
+ }
+ /*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21508-21509.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21508-21509.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21508-21509.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/Node.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Node.cpp	(revision 21508)
++++ ../trunk-jpl/src/c/classes/Node.cpp	(revision 21509)
+@@ -58,7 +58,7 @@
+ 		XZvectorsToCoordinateSystem(&this->coord_system[0][0],&iomodel->Data("md.stressbalance.referential")[io_index*6]);
+ 		_assert_(sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[1][0]*coord_system[1][0]) >1.e-4);
+ 
+-		if(iomodel->domaintype!=Domain2DhorizontalEnum & iomodel->domaintype!=Domain3DsurfaceEnum){
++		if(iomodel->domaintype!=Domain2DhorizontalEnum && iomodel->domaintype!=Domain3DsurfaceEnum){
+ 			/*We have a  3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */
+ 			_assert_(iomodel->Data("md.mesh.vertexonbase")); 
+ 			_assert_(iomodel->Data("md.flowequation.vertex_equation"));
Index: /issm/oecreview/Archive/21337-21723/ISSM-21509-21510.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21509-21510.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21509-21510.diff	(revision 21726)
@@ -0,0 +1,315 @@
+Index: ../trunk-jpl/src/m/classes/settings.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/settings.py	(revision 21509)
++++ ../trunk-jpl/src/m/classes/settings.py	(revision 21510)
+@@ -17,6 +17,7 @@
+ 		self.output_frequency    = 0
+ 		self.recording_frequency = 0
+ 		self.waitonlock          = 0
++		self.solver_residue_threshold = 0
+ 
+ 		#set defaults
+ 		self.setdefaultparameters()
+@@ -31,6 +32,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,"output_frequency","frequency at which results are saved in all solutions with multiple time_steps"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"recording_frequency","frequency at which the runs are being recorded, allowing for a restart"))
+ 		string="%s\n%s"%(string,fielddisplay(self,"waitonlock","maximum number of minutes to wait for batch results, or return 0"))
++		string="%s\n%s"%(string,fielddisplay(self,"solver_residue_threshold","throw an error if solver residue exceeds this value (NaN to deactivate)"))
+ 		return string
+ 		#}}}
+ 	def setdefaultparameters(self): # {{{
+@@ -54,6 +56,9 @@
+ 		#0 to deactivate
+ 		self.waitonlock=2**31-1
+ 
++      #throw an error if solver residue exceeds this value
++		self.solver_residue_threshold=1e-6;
++
+ 		return self
+ 	#}}}
+ 	def checkconsistency(self,md,solution,analyses):    # {{{
+@@ -63,6 +68,7 @@
+ 		md = checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1)
+ 		md = checkfield(md,'fieldname','settings.recording_frequency','numel',[1],'>=',0)
+ 		md = checkfield(md,'fieldname','settings.waitonlock','numel',[1])
++		md = checkfield(md,'fieldname','settings.solver_residue_threshold','numel',[1],'>',0)
+ 
+ 		return md
+ 	# }}}
+@@ -72,6 +78,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','lowmem','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','output_frequency','format','Integer')
+ 		WriteData(fid,prefix,'object',self,'fieldname','recording_frequency','format','Integer')
++		WriteData(fid,prefix,'object',self,'fieldname','solver_residue_threshold','format','Double')
+ 		if self.waitonlock>0:
+ 			WriteData(fid,prefix,'name','md.settings.waitonlock','data',True,'format','Boolean');
+ 		else:
+Index: ../trunk-jpl/src/m/classes/settings.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/settings.m	(revision 21509)
++++ ../trunk-jpl/src/m/classes/settings.m	(revision 21510)
+@@ -16,6 +16,7 @@
+ 		upload_login        = '';
+ 		upload_port         = 0;
+ 		upload_filename     = '';
++		solver_residue_threshold = 0;
+ 	end
+ 	methods
+ 		function self = settings(varargin) % {{{
+@@ -47,8 +48,11 @@
+ 			self.waitonlock=Inf;
+ 
+ 			%upload options: 
+-			upload_port         = 0;
++			self.upload_port         = 0;
+ 
++			%throw an error if solver residue exceeds this value
++			self.solver_residue_threshold = 1e-6;
++
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+@@ -58,6 +62,7 @@
+ 			md = checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1);
+ 			md = checkfield(md,'fieldname','settings.recording_frequency','numel',[1],'>=',0);
+ 			md = checkfield(md,'fieldname','settings.waitonlock','numel',[1]);
++			md = checkfield(md,'fieldname','settings.solver_residue_threshold','numel',[1],'>',0);
+ 
+ 		end % }}}
+ 		function disp(self) % {{{
+@@ -74,6 +79,7 @@
+ 			fielddisplay(self,'upload_login','server login');
+ 			fielddisplay(self,'upload_port','port login (default is 0)');
+ 			fielddisplay(self,'upload_filename','unique id generated when uploading the file to server');
++			fielddisplay(self,'solver_residue_threshold','throw an error if solver residue exceeds this value (NaN to deactivate)');
+ 
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+@@ -83,6 +89,7 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','output_frequency','format','Integer');
+ 			WriteData(fid,prefix,'object',self,'fieldname','recording_frequency','format','Integer');
+ 			WriteData(fid,prefix,'object',self,'fieldname','waitonlock','data',self.waitonlock>0,'format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','solver_residue_threshold','format','Double');
+ 		end % }}}
+ 		function savemodeljs(self,fid,modelname) % {{{
+ 		
+@@ -97,7 +104,7 @@
+ 			writejsstring(fid,[modelname '.settings.upload_login'],self.upload_login);
+ 			writejsdouble(fid,[modelname '.settings.upload_port'],self.upload_port);
+ 			writejsstring(fid,[modelname '.settings.upload_filename'],self.upload_filename);
+-
++			writejsstring(fid,[modelname '.settings.solver_residue_threshold'],self.solver_residue_threshold);
+ 		end % }}}
+ 	end
+ end
+Index: ../trunk-jpl/src/m/classes/settings.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/settings.js	(revision 21509)
++++ ../trunk-jpl/src/m/classes/settings.js	(revision 21510)
+@@ -26,6 +26,9 @@
+ 
+ 		//upload options: 
+ 		upload_port         = 0;
++		
++		//throw an error if solver residue exceeds this value
++		self.solver_residue_threshold=1e-6;
+ 
+ 	}// }}}
+ 	this.disp= function(){// {{{
+@@ -42,6 +45,7 @@
+ 		fielddisplay(this,'upload_login','server login');
+ 		fielddisplay(this,'upload_port','port login (default is 0)');
+ 		fielddisplay(this,'upload_filename','unique id generated when uploading the file to server');
++		fielddisplay(this,'solver_residue_threshold','throw an error if solver residue exceeds this value');
+ 
+ 
+ 	}// }}}
+@@ -57,6 +61,7 @@
+ 			checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1);
+ 			checkfield(md,'fieldname','settings.recording_frequency','numel',[1],'>=',0);
+ 			checkfield(md,'fieldname','settings.waitonlock','numel',[1]);
++			checkfield(md,'fieldname','settings.solver_residue_threshold','numel',[1],'>',0);
+ 		} // }}}
+ 		this.marshall=function(md,prefix,fid) { //{{{
+ 			WriteData(fid,prefix,'object',this,'fieldname','results_on_nodes','format','Boolean');
+@@ -64,6 +69,7 @@
+ 			WriteData(fid,prefix,'object',this,'fieldname','lowmem','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','output_frequency','format','Integer');
+ 			WriteData(fid,prefix,'object',this,'fieldname','recording_frequency','format','Integer');
++			WriteData(fid,prefix,'object',this,'fieldname','solver_residue_threshold','format','Double');
+ 			if (this.waitonlock>0) WriteData(fid,prefix,'name','md.settings.waitonlock','data',true,'format','Boolean');
+ 			else WriteData(fid,prefix,'name','md.settings.waitonlock','data',false,'format','Boolean');
+ 		}//}}}
+@@ -82,6 +88,7 @@
+ 	this.upload_login        = '';
+ 	this.upload_port         = 0;
+ 	this.upload_filename     = '';
++	this.solver_residue_threshold = 0;
+ 	this.setdefaultparameters();
+ 	//}}}
+ }
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21509)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21510)
+@@ -308,6 +308,7 @@
+ 	SettingsOutputFrequencyEnum,
+ 	SettingsRecordingFrequencyEnum,
+ 	SettingsWaitonlockEnum,
++	SettingsSolverResidueThresholdEnum,
+ 	DebugProfilingEnum,
+ 	ProfilingCurrentMemEnum,
+ 	ProfilingCurrentFlopsEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21509)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21510)
+@@ -314,6 +314,7 @@
+ 		case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency";
+ 		case SettingsRecordingFrequencyEnum : return "SettingsRecordingFrequency";
+ 		case SettingsWaitonlockEnum : return "SettingsWaitonlock";
++		case SettingsSolverResidueThresholdEnum : return "SettingsSolverResidueThreshold";
+ 		case DebugProfilingEnum : return "DebugProfiling";
+ 		case ProfilingCurrentMemEnum : return "ProfilingCurrentMem";
+ 		case ProfilingCurrentFlopsEnum : return "ProfilingCurrentFlops";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21509)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21510)
+@@ -320,6 +320,7 @@
+ 	      else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum;
+ 	      else if (strcmp(name,"SettingsRecordingFrequency")==0) return SettingsRecordingFrequencyEnum;
+ 	      else if (strcmp(name,"SettingsWaitonlock")==0) return SettingsWaitonlockEnum;
++	      else if (strcmp(name,"SettingsSolverResidueThreshold")==0) return SettingsSolverResidueThresholdEnum;
+ 	      else if (strcmp(name,"DebugProfiling")==0) return DebugProfilingEnum;
+ 	      else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum;
+ 	      else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
+@@ -381,11 +382,11 @@
+ 	      else if (strcmp(name,"SmbECini")==0) return SmbECiniEnum;
+ 	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
+ 	      else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
+-	      else if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
++	      if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
++	      else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
+ 	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
+ 	      else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
+ 	      else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
+@@ -504,11 +505,11 @@
+ 	      else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
+ 	      else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
+ 	      else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
+-	      else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
++	      if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
++	      else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceAbsMisfit")==0) return SurfaceAbsMisfitEnum;
+ 	      else if (strcmp(name,"Vel")==0) return VelEnum;
+ 	      else if (strcmp(name,"Velocity")==0) return VelocityEnum;
+@@ -627,11 +628,11 @@
+ 	      else if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum;
+ 	      else if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum;
+ 	      else if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum;
+-	      else if (strcmp(name,"Outputdefinition41")==0) return Outputdefinition41Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition42")==0) return Outputdefinition42Enum;
++	      if (strcmp(name,"Outputdefinition41")==0) return Outputdefinition41Enum;
++	      else if (strcmp(name,"Outputdefinition42")==0) return Outputdefinition42Enum;
+ 	      else if (strcmp(name,"Outputdefinition43")==0) return Outputdefinition43Enum;
+ 	      else if (strcmp(name,"Outputdefinition44")==0) return Outputdefinition44Enum;
+ 	      else if (strcmp(name,"Outputdefinition45")==0) return Outputdefinition45Enum;
+@@ -750,11 +751,11 @@
+ 	      else if (strcmp(name,"Mpi")==0) return MpiEnum;
+ 	      else if (strcmp(name,"Mumps")==0) return MumpsEnum;
+ 	      else if (strcmp(name,"Gsl")==0) return GslEnum;
+-	      else if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"BuddJacka")==0) return BuddJackaEnum;
++	      if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
++	      else if (strcmp(name,"BuddJacka")==0) return BuddJackaEnum;
+ 	      else if (strcmp(name,"CuffeyTemperate")==0) return CuffeyTemperateEnum;
+ 	      else if (strcmp(name,"Paterson")==0) return PatersonEnum;
+ 	      else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
+@@ -873,11 +874,11 @@
+ 	      else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
+-	      else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
++	      if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
++	      else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;
+ 	      else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
+@@ -996,11 +997,11 @@
+ 	      else if (strcmp(name,"Nodes")==0) return NodesEnum;
+ 	      else if (strcmp(name,"Contours")==0) return ContoursEnum;
+ 	      else if (strcmp(name,"Parameters")==0) return ParametersEnum;
+-	      else if (strcmp(name,"Vertices")==0) return VerticesEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"Results")==0) return ResultsEnum;
++	      if (strcmp(name,"Vertices")==0) return VerticesEnum;
++	      else if (strcmp(name,"Results")==0) return ResultsEnum;
+ 	      else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
+          else stage=10;
+    }
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21509)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21510)
+@@ -59,6 +59,7 @@
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.mesh.numberofvertices",MeshNumberofverticesEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.settings.results_on_nodes",SettingsResultsOnNodesEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.settings.io_gather",SettingsIoGatherEnum));
++	parameters->AddObject(iomodel->CopyConstantObject("md.settings.solver_residue_threshold",SettingsSolverResidueThresholdEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.autodiff.isautodiff",AutodiffIsautodiffEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.qmu.isdakota",QmuIsdakotaEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.inversion.iscontrol",InversionIscontrolEnum));
+Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp
+===================================================================
+--- ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp	(revision 21509)
++++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp	(revision 21510)
+@@ -18,6 +18,7 @@
+ 	Vector<IssmDouble>*  df  = NULL;
+ 	Vector<IssmDouble>*  ys  = NULL;
+ 	int  configuration_type;
++	IssmDouble solver_residue_threshold;
+ 	
+ 	/*solver convergence test: */
+ 	IssmDouble nKUF;
+@@ -26,10 +27,9 @@
+ 	Vector<IssmDouble>* KU=NULL;
+ 	Vector<IssmDouble>* KUF=NULL;
+ 
+-
+-
+ 	/*Recover parameters: */
+ 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
++	femmodel->parameters->FindParam(&solver_residue_threshold,SettingsSolverResidueThresholdEnum);
+ 	femmodel->UpdateConstraintsx();
+ 	SystemMatricesx(&Kff,&Kfs,&pf,&df,NULL,femmodel);
+ 	CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
+@@ -46,7 +46,7 @@
+ 	nKUF=KUF->Norm(NORM_TWO);
+ 	nF=pf->Norm(NORM_TWO);
+ 	solver_residue=nKUF/nF;
+-	if(solver_residue>1.e-6)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
++	if(isnan(solver_residue_threshold) == false && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
+ 
+ 	//clean up
+ 	delete KU; delete KUF;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21510-21511.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21510-21511.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21510-21511.diff	(revision 21726)
@@ -0,0 +1,50 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21510)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 21511)
+@@ -127,14 +127,18 @@
+ 	_printf_("   mid: " << mid << "\n");
+ 	_printf_("   isdamaged: " << isdamaged << "\n");
+ 	_printf_("   isenhanced: " << isenhanced << "\n");
+-	
++
++	/*helement and element DeepEcho were commented to avoid recursion.*/
++	/*Example: element->DeepEcho calls matice->DeepEcho which calls element->DeepEcho etc*/
+ 	_printf_("   helement:\n");
+-	if(helement) helement->DeepEcho();
+-	else _printf_("   helement = NULL\n");
++	_printf_("		note: helement not printed to avoid recursion.\n");
++	//if(helement) helement->DeepEcho();
++	//else _printf_("   helement = NULL\n");
+ 	
+ 	_printf_("   element:\n");
+-	if(element) element->DeepEcho();
+-	else _printf_("   element = NULL\n");
++	_printf_("     note: element not printed to avoid recursion.\n");
++	//if(element) element->DeepEcho();
++	//else _printf_("   element = NULL\n");
+ }		
+ /*}}}*/
+ void      Matice::Echo(void){/*{{{*/
+@@ -144,13 +148,17 @@
+ 	_printf_("   isdamaged: " << isdamaged << "\n");
+ 	_printf_("   isenhanced: " << isenhanced << "\n");
+ 	
++	/*helement and element Echo were commented to avoid recursion.*/
++	/*Example: element->Echo calls matice->Echo which calls element->Echo etc*/
+ 	_printf_("   helement:\n");
+-	if(helement) helement->Echo();
+-	else _printf_("   helement = NULL\n");
++	_printf_("     note: helement not printed to avoid recursion.\n");
++	//if(helement) helement->Echo();
++	//else _printf_("   helement = NULL\n");
+ 	
+ 	_printf_("   element:\n");
+-	if(element) element->Echo();
+-	else _printf_("   element = NULL\n");
++	_printf_("     note: element not printed to avoid recursion.\n");
++	//if(element) element->Echo();
++	//else _printf_("   element = NULL\n");
+ }
+ /*}}}*/
+ int       Matice::Id(void){ return mid; }/*{{{*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21511-21512.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21511-21512.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21511-21512.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 21511)
++++ ../trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 21512)
+@@ -144,6 +144,7 @@
+ 	if(hnodes){
+ 		for(int i=0;i<this->numanalyses;i++) {
+ 			if(hnodes[i]) hnodes[i]->DeepEcho();
++			else _printf_("  hnodes["<< i << "] = NULL\n"); 
+ 		}
+ 	}
+ 	else _printf_("  hnodes = NULL\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21512-21513.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21512-21513.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21512-21513.diff	(revision 21726)
@@ -0,0 +1,35 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21512)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21513)
+@@ -1042,6 +1042,30 @@
+ 	input->GetInputValue(pvalue,gauss);
+ 
+ }/*}}}*/
++void       Element::GetInputsInterpolations(Vector<IssmDouble>* interpolations){/*{{{*/
++
++	int interpolation;
++
++	/*Go through all inputs and assign interpolation in vector*/
++	_assert_(this->inputs);
++	for(int i=0;i<this->inputs->Size();i++){
++		Input* input=xDynamicCast<Input*>(this->inputs->GetObjectByOffset(i));
++		switch(input->ObjectEnum()){
++			case BoolInputEnum:
++			case DoubleInputEnum:
++			case IntInputEnum:
++				interpolations->SetValue(input->InstanceEnum(),reCast<IssmDouble>(input->ObjectEnum()),INS_VAL);
++				break;
++			case TriaInputEnum:
++				interpolation = input->GetResultInterpolation();
++				interpolations->SetValue(input->InstanceEnum(),interpolation,INS_VAL);
++				break;
++			default:
++				_error_("Input "<<EnumToStringx(input->ObjectEnum())<<" not supported yet");
++		}
++	}
++
++}/*}}}*/
+ IssmDouble Element::GetMaterialParameter(int enum_in){/*{{{*/
+ 
+ 	_assert_(this->matpar);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21513-21514.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21513-21514.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21513-21514.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21513)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21514)
+@@ -94,6 +94,7 @@
+ 		void               GetInputValue(int* pvalue,int enum_type);
+ 		void               GetInputValue(IssmDouble* pvalue,int enum_type);
+ 		void               GetInputValue(IssmDouble* pvalue,Gauss* gauss,int enum_type);
++		void               GetInputsInterpolations(Vector<IssmDouble>* interps);
+ 		IssmDouble         GetMaterialParameter(int enum_in);
+ 		void               GetNodesLidList(int* lidlist);
+ 		void               GetNodesSidList(int* sidlist);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21514-21515.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21514-21515.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21514-21515.diff	(revision 21726)
@@ -0,0 +1,24 @@
+Index: ../trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 21514)
++++ ../trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 21515)
+@@ -36,13 +36,13 @@
+ 	}
+ 
+ 	/*Get default*/
+-	if(options->GetOption("default")){
+-		isdefault=true;
+-		options->Get(&defaultvalue,"default");
++	isdefault = false;
++	if(options){
++		if(options->GetOption("default")){
++			isdefault=true;
++			options->Get(&defaultvalue,"default");
++		}
+ 	}
+-	else{
+-		isdefault=false;
+-	}
+ 
+ 	/*Initialize output*/
+ 	data_interp=xNew<double>(N_interp*N_data);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21515-21516.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21515-21516.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21515-21516.diff	(revision 21726)
@@ -0,0 +1,851 @@
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21515)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21516)
+@@ -263,7 +263,8 @@
+ 					./classes/Loads/Riftfront.cpp\
+ 					./modules/ConstraintsStatex/RiftConstraintsState.cpp\
+ 					./modules/ModelProcessorx/CreateOutputDefinitions.cpp\
+-					./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp\
++					./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp\	
++					./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp\
+ 					./classes/Inputs/PentaInput.cpp\
+ 					./classes/Inputs/TetraInput.cpp
+ #}}}
+@@ -548,7 +549,6 @@
+ 			./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/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp\
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21515)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21516)
+@@ -148,11 +148,16 @@
+ 		/*Adaptive mesh refinement methods*/
+ 		void InitializeAdaptiveRefinement(void);
+ 		FemModel* ReMesh(void);
++		void ExecuteRefinement(int &newnumberofvertices,int &newnumberofelements,IssmDouble** newx,IssmDouble** newy,IssmDouble** newz,int** newelementslist);
+ 		void GetMaskLevelSet(IssmDouble** pmasklevelset);
+ 		void CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices);
+ 		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
+ 		void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
+-		void ElementsAndVerticesPartitioning(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices);
++		void CreateNodes(int newnumberofvertices,int* my_vertices,int nodecounter,int analysis_enum,Nodes* nodes);
++		void CreateConstraints(int newnumberofvertices,int newnumberofelements,int* newelementslist,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints);
++		void InterpolateInputs(FemModel* femmodel);
++		void UpdateElements(int newnumberofelements,int* newelementslist,bool* my_elements,int nodecounter,int analysis_counter,Elements* newelements);
++		void ElementsAndVerticesPartitioning(int& newnumberofvertices,int& newnumberofelements,int& elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices);
+ 		#endif
+ };
+ 		
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21515)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21516)
+@@ -83,11 +83,9 @@
+ 	#ifdef _HAVE_NEOPZ_
+ 	this->InitializeAdaptiveRefinement();
+ 	FemModel *Test=this->ReMesh();//itapopo: just to test!;
+-	printf("   AFTER REMESH!!!\n");
++	//Test->elements->DeepEcho();
+ 	//Test->CleanUp();
+-	printf("   AFTER CLEANUP!!!\n");
+ 	//delete Test;
+-	printf("   AFTER DELETE!!!\n");
+ 	#endif
+ 
+ 	/*Free resources */
+@@ -3011,295 +3009,264 @@
+ /*}}}*/
+ FemModel* FemModel::ReMesh(void){/*{{{*/
+ 	
+-	/*All indexing here is in C type: 0..n-1*/
+-	int my_rank=IssmComm::GetRank();
+-   const int elementswidth=3;//just 2D mesh, tria elements
++	int numprocs=IssmComm::GetSize();
++	if(numprocs>1) _error_("Multithreading not tested yet. Run with 1 cpu.");
+ 	
+-	/*Solutions which will be used to refine the elements*/
+-	IssmDouble *vx=NULL; //This will be used in constraints
+-	IssmDouble *vy=NULL; //This will be used in constraints
+-	IssmDouble *masklevelset=NULL;
+- 
+-	this->GetMaskLevelSet(&masklevelset);
+-	// #1: TEST MASK LEVEL SET
+-	_printf_("   PRINTING MASKLEVELSET... \n");
+-	int numberofvertices=this->vertices->NumberOfVertices();	    
+-	if(my_rank==0) for(int i=0;i<numberofvertices;i++) _printf_("vertex: " << i << "\t" << masklevelset[i] << "\n");
++	/*Variables*/
++	IssmDouble *newx=NULL;
++	IssmDouble *newy=NULL;
++	IssmDouble *newz=NULL;
++	int *newelementslist=NULL;
++	int newnumberofvertices=-1;
++	int newnumberofelements=-1;
++	bool* my_elements=NULL; 
++	int* my_vertices=NULL;
++	int elementswidth=3;//just tria elements in this version
+ 
+-	/*Refine the mesh and get the new mesh*/
+-	IssmDouble *newx;
+-	IssmDouble *newy;
+-	IssmDouble *newz;
+-	int **newelements;
+-	int **newsegments;
+-	int newnumberofvertices, newnumberofelements, newnumberofsegments;
+-	int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
+-	if(my_rank==0) this->amr->ExecuteRefinement(type_process,vx,vy,masklevelset,newnumberofvertices,newnumberofelements,newnumberofsegments,&newx,&newy,&newz,&newelements,&newsegments);
+-	
+-	if(newnumberofvertices<=0 || newnumberofelements<=0 /*|| newnumberofsegments<=0*/) _error_("Error in the refinement process.");
+-	
+-	/*Cleanup masklevetset*/
+-	xDelete<IssmDouble>(masklevelset);
++	/*Execute refinement and get the new mesh*/
++	this->ExecuteRefinement(newnumberofvertices,newnumberofelements,&newx,&newy,&newz,&newelementslist);
+ 
+-	// #2: TEST NEW MESH
+-	if(my_rank==0){
+-		_printf_("   PRINTING COORDINATES... \n");	    
+- 		for(int i=0;i<newnumberofvertices;i++) _printf_("ID: " << i << "\t" << "X: " << newx[i] << "\t" << "Y: " << newy[i] << "\n");
+-    	_printf_("   PRINTING ELEMENTS... \n");	   
+-   	for(int i=0;i<newnumberofelements;i++) _printf_("El: " << i << "\t" << newelements[i][0] << "\t" << newelements[i][1] << "\t" << newelements[i][2] << "\n");
+-	}
+-	
+ 	/*Partitioning the new mesh. Maybe ElementsAndVerticesPartitioning.cpp could be modified to set this without iomodel.*/
+-	/*Fill the element list to partitioning*/	
+-	int* newelementslist=NULL;
+-	newelementslist=xNew<int>(newnumberofelements*elementswidth);
+-	for(int i=0;i<newnumberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
+-		for(int j=0;j<elementswidth;j++){
+-			newelementslist[elementswidth*i+j]=newelements[i][j]; //C indexing
+-		}
+-	}	
+-	bool* my_elements=NULL; 
+-	int* my_vertices=NULL;
+-
+ 	this->ElementsAndVerticesPartitioning(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,&my_elements,&my_vertices);
+ 	
+ 	/*Creating new femmodel with new mesh*/
+-	FemModel* output=NULL;
+-	output=new FemModel(*this);
++	FemModel* output=new FemModel(*this);
+ 
+ 	/*Copy basic attributes:*/
+-	output->nummodels=this->nummodels;
+-	output->solution_type=this->solution_type;
+-	output->analysis_counter=this->analysis_counter;
++	output->nummodels        = this->nummodels;
++	output->solution_type    = this->solution_type;
++	output->analysis_counter = this->analysis_counter;
+ 
+ 	/*Now, deep copy arrays:*/
+ 	output->analysis_type_list=xNew<int>(this->nummodels);
+ 	xMemCpy<int>(output->analysis_type_list,this->analysis_type_list,this->nummodels);
+-
+ 	output->profiler=static_cast<Profiler*>(this->profiler->copy());
+ 	output->parameters=static_cast<Parameters*>(this->parameters->Copy());	    
+-
++	if(this->loads->Size()!=0){
++		_error_("not supported yet");
++	}
++	else{
++		output->loads=new Loads();
++	}
++	
++	//itapopo
++	// output->results=static_cast<Results*>(this->results->Copy());
++	
+ 	/*Create vertices*/
+ 	output->vertices=new Vertices();
+ 	this->CreateVertices(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,my_vertices,newx,newy,newz,output->vertices);
+- 
+-	/* #4: TEST THE VERTICES!*/
+-  	//_printf_("     Old vertices deep echo: \n");
+-   //this->vertices->DeepEcho();
+-   //_printf_("     New vertices deep echo: \n");
+-   //output->vertices->DeepEcho();
+ 
+ 	/*Creating elements*/
+ 	/*Just Tria in this version*/
+ 	output->elements=new Elements();
+ 	this->CreateElements(newnumberofelements,elementswidth,newelementslist,my_elements,output->elements);
+-
+ 	/*Cleanup*/
+-	xDelete<int>(newelementslist);	    
++//	xDelete<int>(newelementslist); itapopo	    
+ 
+ 	/*Creating materials*/
+ 	output->materials=new Materials();
+ 	this->CreateMaterials(newnumberofelements,my_elements,output->materials);
++	
+ 	/*Creating nodes*/
+ 	/*Just SSA (2D) and P1 in this version*/
+ 	output->nodes=new Nodes();
+-
++	
+ 	int nodecounter=0;
+-	int lid=0;
+-	for(int i=0;i<output->nummodels;i++){
++	
++	for(int i=0;i<output->nummodels;i++){//create nodes for each analysis in analysis_type_list
++	
+ 		int analysis_enum = output->analysis_type_list[i];
+-		//itapopo as the domain is 2D, it is not necessary to create nodes for this analysis
++		
++		/*As the domain is 2D, it is not necessary to create nodes for this analysis*/
++		/*itapopo must verify if domain is not 3D. Only 2D in this version!*/
+ 		if(analysis_enum==StressbalanceVerticalAnalysisEnum) continue;	    
+-		for(int j=0;j<newnumberofvertices;j++){
+-			if(my_vertices[j]){				
+-				Node* newnode=new Node();	
+-				/*id: */
+-				newnode->id=nodecounter+j+1;
+-				newnode->sid=j;
+-				newnode->lid=lid++;
+-				newnode->analysis_enum=analysis_enum;
+-				/*Initialize coord_system: Identity matrix by default*/
+-				for(int k=0;k<3;k++) for(int l=0;l<3;l++) newnode->coord_system[k][l]=0.0;
+-				for(int k=0;k<3;k++) newnode->coord_system[k][k]=1.0;
+-				/*indexing:*/
+-				newnode->indexingupdate=true;
+-				Analysis* analysis=EnumToAnalysis(analysis_enum);
+-				int *doftypes=NULL;
+-				int numdofs=analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum);
+-				newnode->indexing.Init(numdofs,doftypes);
+-				xDelete<int>(doftypes);
+-				delete analysis;
+-				if(analysis_enum==StressbalanceAnalysisEnum)
+-					newnode->SetApproximation(SSAApproximationEnum);
+-				else
+-					newnode->SetApproximation(0);
++		
++		this->CreateNodes(newnumberofvertices,my_vertices,nodecounter,analysis_enum,output->nodes);
++		this->UpdateElements(newnumberofelements,newelementslist,my_elements,nodecounter,i,output->elements);
+ 
+-				/*Stressbalance Horiz*/
+-				if(analysis_enum==StressbalanceAnalysisEnum){
+-					// itapopo
+-					/*Coordinate system provided, convert to coord_system matrix*/
+-					//XZvectorsToCoordinateSystem(&this->coord_system[0][0],&iomodel->Data(StressbalanceReferentialEnum)[j*6]);
+-					//_assert_(sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[1][0]*coord_system[1][0]) >1.e-4);
+-
+-				}
+-				output->nodes->AddObject(newnode);
+-			}
+-		}
+-
+ 		if(output->nodes->Size()) nodecounter = output->nodes->MaximumId();
+ 	}
+-	
+-	/* #4: TEST THE NODES!*/
+-	_printf_("		Old nodes deep echo: \n");
+-	this->nodes->DeepEcho();
+-	_printf_("		New nodes deep echo: \n");
+-	output->nodes->DeepEcho();
+ 
+-	printf(" I arrived here!!!!!!!\n");
+-#ifdef _CONTINUE_NEOPZ_
+-
+ 	/*Create constraints*/
+-	IssmDouble *spcvx=NULL;
+-	IssmDouble *spcvy=NULL;
+-	int numberofnodes_analysistype=this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
+-	Vector<IssmDouble>* vspcvx=new Vector<IssmDouble>(numberofnodes_analysistype);
+-	Vector<IssmDouble>* vspcvy=new Vector<IssmDouble>(numberofnodes_analysistype);
++	output->constraints=new Constraints();
++	this->CreateConstraints(newnumberofvertices,newnumberofelements,newelementslist,newx,newy,my_vertices,output->constraints);
++	
++	output->elements->Presort();
++	output->nodes->Presort();
++	output->vertices->Presort();
++	output->loads->Presort();
++	output->materials->Presort();
++	output->constraints->Presort();
+ 
+-	IssmDouble BigNumber=1.e8;
++	/*reset hooks for elements, loads and nodes: */
++	output->elements->ResetHooks();
++	output->loads->ResetHooks();
++	output->materials->ResetHooks();
+ 
+-	for(int i=0;i<numberofnodes_analysistype;i++){
+-		vspcvx->SetValue(i,BigNumber,INS_VAL);
+-		vspcvy->SetValue(i,BigNumber,INS_VAL);
+-	}
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	/*Finally: interpolate all inputs*/
++//	this->InterpolateInputs(output);
+ 
+-	IssmDouble absmaxspcvx=0;
+-	IssmDouble absmaxspcvy=0;
+-
+-	for(int i=0;i<this->constraints->Size();i++){
+-		SpcStatic* spc=xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
+-		int dof=spc->GetDof();
+-		int node=spc->GetNodeId();
+-		IssmDouble spcvalue=spc->GetValue(); 
+-		int nodeindex=node-1;
+-		if(dof==0) {
+-			vspcvx->SetValue(nodeindex,spcvalue,INS_VAL);
+-			if(fabs(spcvalue)>absmaxspcvx) absmaxspcvx=fabs(spcvalue);
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	/*do the post-processing of the datasets to get an FemModel that can actually run analyses: */
++	int analysis_type;
++	for(int i=0;i<output->nummodels;i++){
++		analysis_type=output->analysis_type_list[i];
++		output->SetCurrentConfiguration(analysis_type);
++		ConfigureObjectsx(output->elements,output->loads,output->nodes,output->vertices,output->materials,output->parameters);
++		if(i==0){ 
++			VerticesDofx(output->vertices,output->parameters); //only call once, we only have one set of vertices
++			//GetMaskOfIceVerticesLSMx(output); //itapopo it needs element->inputs
+ 		}
+-		else {
+-			vspcvy->SetValue(nodeindex,spcvalue,INS_VAL);
+-			if(fabs(spcvalue)>absmaxspcvy) absmaxspcvy=fabs(spcvalue);
+-		}
++		SpcNodesx(output->nodes,output->constraints,output->parameters,analysis_type);
++		NodesDofx(output->nodes,output->parameters,analysis_type);
+ 	}
+ 
+-	/*Assemble*/
+-	vspcvx->Assemble();
+-	vspcvy->Assemble();
++	/*Reset current configuration: */
++	analysis_type=output->analysis_type_list[this->analysis_counter];
++	output->SetCurrentConfiguration(analysis_type);
+ 
+-	/*Serialize*/
+-	spcvx=vspcvx->ToMPISerial();
+-	spcvy=vspcvy->ToMPISerial();
+ 
+-	/*Free the data*/
+-	delete vspcvx;
+-	delete vspcvy;
+-	
+-	IssmDouble *newspcvx=NULL;
+-	IssmDouble *newspcvy=NULL;
+-	int *oldelements=newelementslist; //itapopo
+-	int nods_data=numberofnodes_analysistype;
+-	int nels_data=newnumberofelements;
+-	int M_data=numberofnodes_analysistype;
+-	int N_data=1;
+-	int N_interp=newnumberofvertices;//itapopo
+-	Options *options=NULL;
++	return output;
++}
++/*}}}*/
++void FemModel::InterpolateInputs(FemModel* newfemmodel){/*{{{*/
+ 
+-	InterpFromMeshToMesh2dx(&newspcvx,oldelements,vx,vy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
+-	InterpFromMeshToMesh2dx(&newspcvx,oldelements,vx,vy,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
+-// TEST: New SPCVX and VY must be tested!
++	int maxinputs = MaximumNumberOfDefinitionsEnum;
+ 
+-	output->constraints = new Constraints();
++	/*Figure out how many inputs we have and their respective interpolation*/
++	Vector<IssmDouble>* input_interpolations=new Vector<IssmDouble>(maxinputs);
++	if(this->elements->Size()){
++		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(0));
++		element->GetInputsInterpolations(input_interpolations);
++	}
++	input_interpolations->Assemble();
++	
++	/*Serialize and set output*/
++	IssmDouble* input_interpolations_serial = input_interpolations->ToMPISerial();
++	delete input_interpolations;
+ 
+-	nodecounter 			= 0; //itapopo deve começar pelo primeiro nó do StressbalanceAnalysis
+-	int count 				= 0;
+-	int constraintcounter 	= 0; //itapopo
+-	IssmDouble eps			= 1.e-2;
+-
+-	for(int i=0;i<newnumberofvertices;i++){
+-		if(my_vertices[i])
+-		/*spcvx*/
+-		if(fabs(spcvx[i]) < absmaxspcvx+eps){//itapopo
+-			output->constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,0,spcvx[i],StressbalanceAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
+-			count++;
++	/*Count and get enums of all inputs in old mesh*/
++	int  numP0inputs;
++	int  numP1inputs;
++	int *P0input_enums  = NULL;
++	int *P1input_enums  = NULL;
++	int *P0input_interp = NULL;
++	int *P1input_interp = NULL;
++	for(int step=0;step<2;step++){
++		if(step){
++			P0input_enums = xNew<int>(numP0inputs);
++			P1input_enums = xNew<int>(numP1inputs);
+ 		}
+-	}
+-	count=0;
+-	for(int i=0;i<newnumberofvertices;i++){
+-		if(my_vertices[i])
+-		/*spcvy*/
+-		if(fabs(spcvy[i]) < absmaxspcvy+eps){//itapopo
+-			output->constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,1,spcvy[i],StressbalanceAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
+-			count++;
++		numP0inputs = 0;
++		numP1inputs = 0;
++		for(int i=0;i<maxinputs;i++){
++			int inputinterp = reCast<int>(input_interpolations_serial[i]);
++			switch(inputinterp){
++				case 0:
++					/*Input not found, go to the next*/
++					break;
++				case P1Enum:
++					if(step){
++						P1input_enums[numP1inputs]  = i;
++						P1input_interp[numP1inputs] = inputinterp;
++					}
++					 numP1inputs++;
++					break;
++				case P0Enum:
++				case DoubleInputEnum:
++				case IntInputEnum:
++				case BoolInputEnum:
++					if(step){
++						P0input_enums[numP0inputs]  = i;
++						P0input_interp[numP0inputs] = inputinterp;
++					}
++					numP0inputs++;
++					break;
++				default:
++					_error_(EnumToStringx(inputinterp)<<" Not supported yet");
++			}
+ 		}
+-
+ 	}
+ 
+-	/* #5: TEST CONSTRAINTS*/	    
+-	this->constraints->DeepEcho();
+-	output->constraints->DeepEcho();
++	printf("Found %i %i inputs\n",numP0inputs,numP1inputs);
+ 
+-	// output->loads=static_cast<Loads*>(this->loads->Copy());
+-	// output->constraints=static_cast<Constraints*>(this->constraints->Copy());
+-	// output->results=static_cast<Results*>(this->results->Copy());
++	/*========== Deal with P0 inputs ==========*/
++	int numelementsold = this->elements->NumberOfElements();
++	int numelementsnew = newfemmodel->elements->NumberOfElements();
++	int numverticesold = this->vertices->NumberOfVertices();
++	int numverticesnew = newfemmodel->vertices->NumberOfVertices();
++	IssmDouble* P0inputsold = xNew<IssmDouble>(numelementsold*numP0inputs);
++	IssmDouble* P0inputsnew = NULL;
+ 
+-	// /*reset hooks for elements, loads and nodes: */
+-	// output->elements->ResetHooks();
+-	// output->loads->ResetHooks();
+-	// output->materials->ResetHooks();
++	for(int i=0;i<numP0inputs;i++){
++		printf("Dealing with %s (type: %s)\n",EnumToStringx(P0input_enums[i]),EnumToStringx(P0input_interp[i]));
++	}
+ 
+-	// /*do the post-processing of the datasets to get an FemModel that can actually run analyses: */
+-	// for(i=0;i<nummodels;i++){
+-	// 	analysis_type=output->analysis_type_list[i];
+-	// 	output->SetCurrentConfiguration(analysis_type);
+-	// 	if(i==0) VerticesDofx(output->vertices,output->parameters); //only call once, we only have one set of vertices
+-	// 	SpcNodesx(output->nodes,output->constraints,output->parameters,analysis_type);
+-	// 	NodesDofx(output->nodes,output->parameters,analysis_type);
+-	// 	ConfigureObjectsx(output->elements,output->loads,output->nodes,output->vertices,output->materials,output->parameters);
+-	// }
++	_error_("stop");
++	/*Old mesh coordinates*/
++	IssmDouble *Xold     = NULL;
++	IssmDouble *Yold     = NULL;
++	int        *Indexold = NULL;
++	IssmDouble *Xnew     = NULL;
++	IssmDouble *Ynew     = NULL;
+ 
+-	// /*Reset current configuration: */
+-	// analysis_type=output->analysis_type_list[analysis_counter];
+-	// output->SetCurrentConfiguration(analysis_type);
+ 
+-	/** TODO
++	InterpFromMeshToMesh2dx(&P0inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
++				P0inputsold,numelementsold,numP0inputs,
++				Xnew,Ynew,numelementsnew,NULL);
+ 
+-	- generate the required input objects for NeoPZ
+-		AMR has fathermesh and previousmesh. On first call, these meshes are generated. 
++	_error_("STOP");
+ 
+-	- call NeoPZ
+-		This creates a newmesh which will be refined. 
++	xDelete<IssmDouble>(P0inputsold);
++	xDelete<IssmDouble>(P0inputsnew);
+ 
+-	- get the new mesh (index,x,y) from NeoPZ
+-		Is is doing by GetNewMesh method.
+ 
+-	- Create a new FemModel* that will be consistent with the new mesh
+-		It can be done by a method. (attention with CPU #)
++	_error_("STOP");
++}
++/*}}}*/
++void FemModel::ExecuteRefinement(int &newnumberofvertices,int &newnumberofelements,IssmDouble** newx,IssmDouble** newy,IssmDouble** newz,int** pnewelementslist){/*{{{*/
+ 
+-	- Initialize new FemModel based on new mesh (and copy the old FemModel parameters)
+-		It can be done by a method. (attention with CPU #)
++	int **newelements=NULL;
++	int **newsegments=NULL;	
++	int newnumberofsegments=-1;
++	
++	/*All indexing here is in C type: 0..n-1*/
++	int my_rank=IssmComm::GetRank();
++   const int elementswidth=3;//just 2D mesh, tria elements
++	
++	/*Solutions which will be used to refine the elements*/
++	IssmDouble* vx=NULL; //itapopo this is not being used
++	IssmDouble* vy=NULL; //itapopo this is not being used
++	IssmDouble* masklevelset=NULL;
++	int* newelementslist=NULL;
+ 
+-	- The last and most difficult thing to do is to update the inputs of the elements of the new mesh:
+-		It can be done in just one method, which calls GatherInputs, InterpFromMeshToMesh and InputUpdateFromVector
+-
+-		- CPU #0 will gather all inputs from FemModel
+-        	- call InterpFromMeshToMesh to interpolate them onto the new Mesh
+-        	- broadcast the new fields to all cpus
+-		- call InputUpdateFromVector so that all inputs are updated
++	this->GetMaskLevelSet(&masklevelset);//itapopo verificar se já existe um método igual a esse
+ 	
+-	- return new FemModel
++	int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
++	if(my_rank==0){
++		this->amr->ExecuteRefinement(type_process,vx,vy,masklevelset,newnumberofvertices,newnumberofelements,newnumberofsegments,newx,newy,newz,&newelements,&newsegments);
++		if(newnumberofvertices<=0 || newnumberofelements<=0 /*|| newnumberofsegments<=0*/) _error_("Error in the refinement process.");
++		
++//		printf("   PRINTING COORDINATES... \n");	    
++ //		for(int i=0;i<newnumberofvertices;i++) std::cout << "ID: " << i << "\t" << "X: " << newx[i] << "\t" << "Y: " << newy[i] << "\n";
++  //  	printf("   PRINTING ELEMENTS... \n");	   
++  // 	for(int i=0;i<newnumberofelements;i++) std::cout << "El: " << i << "\t" << newelements[i][0] << "\t" << newelements[i][1] << "\t" << newelements[i][2] << "\n";
++	}
+ 	
+-	*/
+-#endif
+-	return output;
++	/*Fill the element list to partitioning*/	
++	if(my_rank==0){
++		newelementslist=xNew<int>(newnumberofelements*elementswidth);
++		for(int i=0;i<newnumberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
++			for(int j=0;j<elementswidth;j++){
++				newelementslist[elementswidth*i+j]=newelements[i][j]; //C indexing
++			}
++		}	
++		(*pnewelementslist)=newelementslist;
++	}
++
++	/*Cleanup masklevetset*/
++	xDelete<IssmDouble>(masklevelset);
+ }
+ /*}}}*/
+ void FemModel::GetMaskLevelSet(IssmDouble **pmasklevelset){/*{{{*/
+@@ -3337,12 +3304,12 @@
+ void FemModel::CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices){/*{{{*/
+ 
+ 	/*Creating connectivity table*/
+-	int* connectivity=xNew<int>(newnumberofvertices);
+-	for(int i=0;i<newnumberofvertices;i++) connectivity[i]=0;
++	int* connectivity=NULL;
++	connectivity=xNewZeroInit<int>(newnumberofvertices);
+ 
+ 	for (int i=0;i<newnumberofelements;i++){
+ 		for (int j=0;j<elementswidth;j++){
+-			int vertexid = newelementslist[elementswidth*i+j];
++			int vertexid = newelementslist[elementswidth*i+j];//C indexing
+ 			_assert_(vertexid>-1 && vertexid<newnumberofvertices);
+ 			connectivity[vertexid]+=1;
+ 		}
+@@ -3361,6 +3328,7 @@
+ 			newvertex->domaintype=Domain2DhorizontalEnum;
+ 			newvertex->sigma=0.;
+ 			newvertex->connectivity=connectivity[i];
++			newvertex->clone=false;//itapopo check this
+ 			vertices->AddObject(newvertex);	
+ 		} 
+ 	}
+@@ -3372,6 +3340,7 @@
+ 
+ 	for(int i=0;i<newnumberofelements;i++){
+ 		if(my_elements[i]){
++			/*Create element - just tria in this version*/
+ 			Tria *newtria=new Tria();
+ 			newtria->id=i+1;
+ 			newtria->sid=i;
+@@ -3386,12 +3355,13 @@
+ 				for(int j=0;j<nummodels;j++) newtria->element_type_list[j]=0;
+ 			}
+ 			else newtria->element_type_list=NULL;
++			
+ 			/*Element hook*/
+ 			int matpar_id=newnumberofelements+1; //retrieve material parameter id (last pointer in femodel->materials)
+ 			int material_id=i+1; // retrieve material_id = i+1;
+ 			/*retrieve vertices ids*/
+ 			int* vertex_ids=xNew<int>(elementswidth);
+-			for(int j=0;j<elementswidth;j++)	vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j]);	
++			for(int j=0;j<elementswidth;j++)	vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j])+1;//this Hook wants Matlab indexing	
+ 			/*Setting the hooks*/
+ 			newtria->numanalyses =this->nummodels;
+ 			newtria->hnodes		=new Hook*[this->nummodels];
+@@ -3406,6 +3376,9 @@
+ 			elements->AddObject(newtria);	
+ 		} 
+ 	}
++
++	//itapopo there is this line in CreateElementsVerticesAndMaterials.
++	//elements->InputDuplicate(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
+ }
+ /*}}}*/
+ void FemModel::CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials){/*{{{*/
+@@ -3423,8 +3396,227 @@
+ 
+ }
+ /*}}}*/
+-void FemModel::ElementsAndVerticesPartitioning(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices){/*{{{*/
++void FemModel::CreateNodes(int newnumberofvertices,int* my_vertices,int nodecounter,int analysis_enum,Nodes* nodes){/*{{{*/
+ 
++	int lid=0;
++
++	for(int j=0;j<newnumberofvertices;j++){
++		if(my_vertices[j]){				
++			
++			Node* newnode=new Node();	
++			
++			/*id: */
++			newnode->id=nodecounter+j+1;
++			newnode->sid=j;
++			newnode->lid=lid++;
++			newnode->analysis_enum=analysis_enum;
++			
++			/*Initialize coord_system: Identity matrix by default*/
++			for(int k=0;k<3;k++) for(int l=0;l<3;l++) newnode->coord_system[k][l]=0.0;
++			for(int k=0;k<3;k++) newnode->coord_system[k][k]=1.0;
++			
++			/*indexing:*/
++			newnode->indexingupdate=true;
++			
++			Analysis* analysis=EnumToAnalysis(analysis_enum);
++			int *doftypes=NULL;
++			int numdofs=analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum);
++			newnode->indexing.Init(numdofs,doftypes);
++			xDelete<int>(doftypes);
++			delete analysis;
++			if(analysis_enum==StressbalanceAnalysisEnum)
++				newnode->SetApproximation(SSAApproximationEnum);
++			else
++				newnode->SetApproximation(0);
++
++			/*Stressbalance Horiz*/
++			if(analysis_enum==StressbalanceAnalysisEnum){
++				// itapopo this code is rarely used. 
++				/*Coordinate system provided, convert to coord_system matrix*/
++				//XZvectorsToCoordinateSystem(&this->coord_system[0][0],&iomodel->Data(StressbalanceReferentialEnum)[j*6]);
++				//_assert_(sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[1][0]*coord_system[1][0]) >1.e-4);
++
++			}
++			nodes->AddObject(newnode);
++		}
++	}
++	return;
++}
++/*}}}*/
++void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,int* newelementslist,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
++
++	/*Get x and y of the mesh i-1*/
++	int numberofvertices, numberofelements;
++	numberofvertices = this->vertices->NumberOfVertices();
++	numberofelements = this->elements->NumberOfElements();
++
++	/*Get vertices coordinates*/
++	IssmDouble *x = NULL;
++	IssmDouble *y = NULL;
++	IssmDouble *z = NULL;
++	VertexCoordinatesx(&x, &y, &z, this->vertices,false) ;
++
++	/*Get element vertices*/
++	int elementswidth = 3; //just 2D mesh in this version (just tria elements)
++	int* elem_vertices=xNew<int>(elementswidth);
++	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements);
++	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements);
++	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
++
++	/*Go through elements, and for each element, get vertices*/
++   for(int i=0;i<this->elements->Size();i++){
++    	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
++    	element->GetVerticesSidList(elem_vertices);
++    	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
++    	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
++    	vid3->SetValue(element->sid,elem_vertices[2],INS_VAL);
++   }
++		
++	/*Assemble*/
++   vid1->Assemble();
++   vid2->Assemble();
++   vid3->Assemble();
++
++   /*Serialize*/
++	IssmDouble *id1 = vid1->ToMPISerial();
++   IssmDouble *id2 = vid2->ToMPISerial();
++	IssmDouble *id3 = vid3->ToMPISerial();
++	
++	/*Construct elements list (mesh i-1)*/
++	int* elementslist=NULL;
++	elementslist=xNew<int>(numberofelements*elementswidth);
++	for(int i=0;i<numberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
++		elementslist[elementswidth*i+0] = (int)id1[i]+1; //InterpMesh wants Matlab indexing
++		elementslist[elementswidth*i+1] = (int)id2[i]+1; //InterpMesh wants Matlab indexing
++		elementslist[elementswidth*i+2] = (int)id3[i]+1; //InterpMesh wants Matlab indexinf
++	}	
++
++	/*itapopo ATTENTION: JUST SPCVX AND SPCVY TO TEST!!!*/
++	/*OTHERS CONSTRAINTS MUST BE IMPLEMENTED!!!*/
++
++	/*Get spcvx and spcvy for mesh i-1*/
++	IssmDouble *spcvx=NULL;
++	IssmDouble *spcvy=NULL;
++	IssmDouble *spcvxflag=NULL;
++	IssmDouble *spcvyflag=NULL;
++	int numberofnodes_analysistype=this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
++	Vector<IssmDouble>* vspcvx=new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvy=new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvxflag=new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvyflag=new Vector<IssmDouble>(numberofnodes_analysistype);
++	for(int i=0;i<numberofnodes_analysistype;i++){ 
++		vspcvx->SetValue(i,0.,INS_VAL);
++		vspcvy->SetValue(i,0.,INS_VAL);
++		vspcvxflag->SetValue(i,0.,INS_VAL);
++		vspcvyflag->SetValue(i,0.,INS_VAL);
++	}
++
++	for(int i=0;i<this->constraints->Size();i++){
++		SpcStatic* spc=xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
++		int dof=spc->GetDof();
++		int node=spc->GetNodeId();
++		IssmDouble spcvalue=spc->GetValue(); 
++		int nodeindex=node-1;
++		if(dof==0) {//vx
++			vspcvx->SetValue(nodeindex,spcvalue,INS_VAL);
++			vspcvxflag->SetValue(nodeindex,1,INS_VAL);
++		} 
++		else if(dof==1){//vy
++			vspcvy->SetValue(nodeindex,spcvalue,INS_VAL);
++			vspcvyflag->SetValue(nodeindex,1,INS_VAL);
++		}
++		else{
++			/*nothing here*/
++		}
++	}
++
++	/*Assemble*/
++	vspcvx->Assemble();
++	vspcvy->Assemble();
++	vspcvxflag->Assemble();
++	vspcvyflag->Assemble();
++
++	/*Serialize*/
++	spcvx=vspcvx->ToMPISerial();
++	spcvy=vspcvy->ToMPISerial();
++	spcvxflag=vspcvxflag->ToMPISerial();
++	spcvyflag=vspcvyflag->ToMPISerial();
++	/*Free the data*/
++	delete vspcvx;
++	delete vspcvy;	
++	delete vspcvxflag;
++	delete vspcvyflag;
++	
++	IssmDouble *newspcvx=NULL;
++	IssmDouble *newspcvy=NULL;
++	IssmDouble *newspcvxflag=NULL;
++	IssmDouble *newspcvyflag=NULL;
++	int nods_data=numberofvertices;
++	int nels_data=numberofelements;
++	int M_data=numberofvertices;
++	int N_data=1;
++	int N_interp=newnumberofvertices;
++	Options *options=new Options();
++
++  /*Interpolate spcvx and spcvy in the new mesh*/
++	InterpFromMeshToMesh2dx(&newspcvx,elementslist,x,y,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvy,elementslist,x,y,nods_data,nels_data,spcvy,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvxflag,elementslist,x,y,nods_data,nels_data,spcvxflag,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvyflag,elementslist,x,y,nods_data,nels_data,spcvyflag,M_data,N_data,newx,newy,N_interp,options);
++	
++	int nodecounter			= 0; //itapopo deve começar pelo primeiro nó do StressbalanceAnalysis
++	int count					= 0;
++	int constraintcounter 	= 0; //itapopo
++	IssmDouble eps				= 1.e-8;
++
++	/*Now, insert the interpolated constraints in the data set (constraints)*/
++	for(int i=0;i<newnumberofvertices;i++){
++		if(my_vertices[i])
++		/*spcvx*/
++		if(!xIsNan<IssmDouble>(newspcvx[i]) && newspcvxflag[i]>(1-eps)){
++			constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,0,newspcvx[i],StressbalanceAnalysisEnum));
++			//add count'th spc, on node i+1, setting dof 1 to vx.
++			count++;
++		}
++	}
++	count=0;
++	for(int i=0;i<newnumberofvertices;i++){
++		if(my_vertices[i])
++		/*spcvy*/
++		if(!xIsNan<IssmDouble>(newspcvy[i]) && newspcvyflag[i]>(1-eps) ){
++			constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,1,newspcvy[i],StressbalanceAnalysisEnum)); 
++			//add count'th spc, on node i+1, setting dof 1 to vx.
++			count++;
++		}
++
++	}
++}
++/*}}}*/
++void FemModel::UpdateElements(int newnumberofelements,int* newelementslist,bool* my_elements,int nodecounter,int analysis_counter,Elements* newelements){/*{{{*/
++
++	/*Update elements, set hnode.
++	This code is in all analysis */
++	int elemcounter=0;
++	for(int iel=0;iel<newnumberofelements;iel++){
++		if(my_elements[iel]){
++			Tria* tria=(Tria*)newelements->GetObjectByOffset(elemcounter);
++			//element update
++			tria->element_type_list[analysis_counter]=P1Enum;
++			int numnodes=3;
++         int* tria_node_ids=xNew<int>(numnodes);
++         tria_node_ids[0]=nodecounter+newelementslist[3*iel+0]+1; //matlab indexing
++         tria_node_ids[1]=nodecounter+newelementslist[3*iel+1]+1; //matlab indexing
++         tria_node_ids[2]=nodecounter+newelementslist[3*iel+2]+1; //matlab indexing
++			tria->SetHookNodes(tria_node_ids,numnodes,analysis_counter); tria->nodes=NULL;
++   		xDelete<int>(tria_node_ids);
++			elemcounter++;
++		}
++	}
++	return;
++}
++/*}}}*/
++void FemModel::ElementsAndVerticesPartitioning(int& newnumberofvertices,int& newnumberofelements,int& elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices){/*{{{*/
++
+ 	int *epart=NULL; //element partitioning.
+ 	int *npart=NULL; //node partitioning.
+ 	int edgecut=1;
+@@ -3435,6 +3627,8 @@
+ 	bool *my_elements=NULL;
+ 	int *my_vertices=NULL;
+ 	
++	_assert_(newnumberofvertices>0); 
++	_assert_(newnumberofelements>0); 
+ 	epart=xNew<int>(newnumberofelements);
+ 	npart=xNew<int>(newnumberofvertices);
+ 
+@@ -3468,6 +3662,7 @@
+ 			 into the vertices coordinates. If we start plugging 1 into my_vertices for each index[n][i] (i=0:2), then my_vertices 
+ 			 will hold which vertices belong to this partition*/
+ 			for(int j=0;j<elementswidth;j++){
++				_assert_(newelementslist[elementswidth*i+j]<newnumberofvertices); 
+ 				my_vertices[newelementslist[elementswidth*i+j]]=1;
+ 			}
+ 		}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21516-21517.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21516-21517.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21516-21517.diff	(revision 21726)
@@ -0,0 +1,42 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21516)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21517)
+@@ -3105,7 +3105,7 @@
+ 
+ 	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	/*Finally: interpolate all inputs*/
+-//	this->InterpolateInputs(output);
++	this->InterpolateInputs(output);
+ 
+ 	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	/*do the post-processing of the datasets to get an FemModel that can actually run analyses: */
+@@ -3155,8 +3155,10 @@
+ 	int *P1input_interp = NULL;
+ 	for(int step=0;step<2;step++){
+ 		if(step){
+-			P0input_enums = xNew<int>(numP0inputs);
+-			P1input_enums = xNew<int>(numP1inputs);
++			P0input_enums  = xNew<int>(numP0inputs);
++			P1input_enums  = xNew<int>(numP1inputs);
++			P0input_interp = xNew<int>(numP0inputs);
++			P1input_interp = xNew<int>(numP1inputs);	
+ 		}
+ 		numP0inputs = 0;
+ 		numP1inputs = 0;
+@@ -3189,6 +3191,7 @@
+ 		}
+ 	}
+ 
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	printf("Found %i %i inputs\n",numP0inputs,numP1inputs);
+ 
+ 	/*========== Deal with P0 inputs ==========*/
+@@ -3212,6 +3215,7 @@
+ 	IssmDouble *Ynew     = NULL;
+ 
+ 
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	InterpFromMeshToMesh2dx(&P0inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
+ 				P0inputsold,numelementsold,numP0inputs,
+ 				Xnew,Ynew,numelementsnew,NULL);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21517-21518.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21517-21518.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21517-21518.diff	(revision 21726)
@@ -0,0 +1,187 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21517)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21518)
+@@ -14,7 +14,6 @@
+ #include "./classes.h"
+ #include "./modules/modules.h"
+ #include "../shared/Enum/Enum.h"
+-
+ #include "../analyses/analyses.h"
+ 
+ /*module includes: {{{*/
+@@ -3201,10 +3200,18 @@
+ 	int numverticesnew = newfemmodel->vertices->NumberOfVertices();
+ 	IssmDouble* P0inputsold = xNew<IssmDouble>(numelementsold*numP0inputs);
+ 	IssmDouble* P0inputsnew = NULL;
++	IssmDouble* vector      = NULL;
+ 
+ 	for(int i=0;i<numP0inputs;i++){
+ 		printf("Dealing with %s (type: %s)\n",EnumToStringx(P0input_enums[i]),EnumToStringx(P0input_interp[i]));
++		GetVectorFromInputsx(&vector,this,P0input_enums[i],ElementSIdEnum);
++
++		/*Copy vector in matrix*/
++		xMemCpy<int>(&P0inputsold[i*numelementsold],vector,numelementsold);
++		xDelete<IssmDouble>(vector);
+ 	}
++	printf("Printing array to make sure it looks alright\n");
++	printarray(P0inputsold,numelementsold,numP0inputs);
+ 
+ 	_error_("stop");
+ 	/*Old mesh coordinates*/
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21517)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21518)
+@@ -1161,45 +1161,52 @@
+ 	int         numvertices = this->GetNumberOfVertices();
+ 	int         numnodes    = this->GetNumberOfNodes();
+ 	int*        doflist     = NULL;
++	IssmDouble  value;
+ 	IssmDouble* values      = NULL;
++	Input*      input       = NULL;
+ 
+ 	switch(type){
+-	case VertexPIdEnum:
+-		doflist = xNew<int>(numvertices);
+-		values = xNew<IssmDouble>(numvertices);
+-		/*Fill in values*/
+-		this->GetVertexPidList(doflist);
+-		this->GetInputListOnVertices(values,input_enum);
+-		vector->SetValues(numvertices,doflist,values,INS_VAL);
+-		break;
+-	case VertexSIdEnum:
+-		doflist = xNew<int>(numvertices);
+-		values = xNew<IssmDouble>(numvertices);
+-		/*Fill in values*/
+-		this->GetVerticesSidList(doflist);
+-		this->GetInputListOnVertices(values,input_enum);
+-		vector->SetValues(numvertices,doflist,values,INS_VAL);
+-		break;
+-	case NodesEnum:
+-		doflist = xNew<int>(numnodes);
+-		values = xNew<IssmDouble>(numnodes);
+-		/*Fill in values*/
+-		this->GetInputListOnNodes(values,input_enum);
+-		this->GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
+-		vector->SetValues(numnodes,doflist,values,INS_VAL);
+-		break;
+-	case NodeSIdEnum:
+-		doflist = xNew<int>(numnodes);
+-		values = xNew<IssmDouble>(numnodes);
+-		/*Fill in values*/
+-		this->GetNodesSidList(doflist);
+-		this->GetInputListOnNodes(values,input_enum);
+-		vector->SetValues(numnodes,doflist,values,INS_VAL);
+-		break;
+-	default:
+-		_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
++		case ElementSIdEnum:
++			input=inputs->GetInput(input_enum); _assert_(input);
++			input->GetInputAverage(&value);
++			vector->SetValue(this->sid,value,INS_VAL);
++			break;
++		case VertexPIdEnum:
++			doflist = xNew<int>(numvertices);
++			values = xNew<IssmDouble>(numvertices);
++			/*Fill in values*/
++			this->GetVertexPidList(doflist);
++			this->GetInputListOnVertices(values,input_enum);
++			vector->SetValues(numvertices,doflist,values,INS_VAL);
++			break;
++		case VertexSIdEnum:
++			doflist = xNew<int>(numvertices);
++			values = xNew<IssmDouble>(numvertices);
++			/*Fill in values*/
++			this->GetVerticesSidList(doflist);
++			this->GetInputListOnVertices(values,input_enum);
++			vector->SetValues(numvertices,doflist,values,INS_VAL);
++			break;
++		case NodesEnum:
++			doflist = xNew<int>(numnodes);
++			values = xNew<IssmDouble>(numnodes);
++			/*Fill in values*/
++			this->GetInputListOnNodes(values,input_enum);
++			this->GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
++			vector->SetValues(numnodes,doflist,values,INS_VAL);
++			break;
++		case NodeSIdEnum:
++			doflist = xNew<int>(numnodes);
++			values = xNew<IssmDouble>(numnodes);
++			/*Fill in values*/
++			this->GetNodesSidList(doflist);
++			this->GetInputListOnNodes(values,input_enum);
++			vector->SetValues(numnodes,doflist,values,INS_VAL);
++			break;
++		default:
++			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+ 	}
+-	
++
+ 	/*Clean up*/
+ 	xDelete<int>(doflist);
+ 	xDelete<IssmDouble>(values);
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21517)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21518)
+@@ -852,6 +852,7 @@
+ 	MassconEnum,
+ 	MassconaxpbyEnum,
+ 	NodeSIdEnum,
++	ElementSIdEnum,
+ 	VectorParamEnum,
+ 	RiftfrontEnum,
+ 	SegmentEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21517)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21518)
+@@ -826,6 +826,7 @@
+ 		case MassconEnum : return "Masscon";
+ 		case MassconaxpbyEnum : return "Massconaxpby";
+ 		case NodeSIdEnum : return "NodeSId";
++		case ElementSIdEnum : return "ElementSId";
+ 		case VectorParamEnum : return "VectorParam";
+ 		case RiftfrontEnum : return "Riftfront";
+ 		case SegmentEnum : return "Segment";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21517)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21518)
+@@ -844,6 +844,7 @@
+ 	      else if (strcmp(name,"Masscon")==0) return MassconEnum;
+ 	      else if (strcmp(name,"Massconaxpby")==0) return MassconaxpbyEnum;
+ 	      else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
++	      else if (strcmp(name,"ElementSId")==0) return ElementSIdEnum;
+ 	      else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;
+ 	      else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
+ 	      else if (strcmp(name,"Segment")==0) return SegmentEnum;
+@@ -873,11 +874,11 @@
+ 	      else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
+ 	      else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
+-	      else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
++	      if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
++	      else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
+ 	      else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;
+@@ -996,11 +997,11 @@
+ 	      else if (strcmp(name,"Materials")==0) return MaterialsEnum;
+ 	      else if (strcmp(name,"Nodes")==0) return NodesEnum;
+ 	      else if (strcmp(name,"Contours")==0) return ContoursEnum;
+-	      else if (strcmp(name,"Parameters")==0) return ParametersEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"Vertices")==0) return VerticesEnum;
++	      if (strcmp(name,"Parameters")==0) return ParametersEnum;
++	      else if (strcmp(name,"Vertices")==0) return VerticesEnum;
+ 	      else if (strcmp(name,"Results")==0) return ResultsEnum;
+ 	      else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
+          else stage=10;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21518-21519.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21518-21519.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21518-21519.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21518)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21519)
+@@ -3207,7 +3207,7 @@
+ 		GetVectorFromInputsx(&vector,this,P0input_enums[i],ElementSIdEnum);
+ 
+ 		/*Copy vector in matrix*/
+-		xMemCpy<int>(&P0inputsold[i*numelementsold],vector,numelementsold);
++		xMemCpy<IssmDouble>(&P0inputsold[i*numelementsold],vector,numelementsold);
+ 		xDelete<IssmDouble>(vector);
+ 	}
+ 	printf("Printing array to make sure it looks alright\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21519-21520.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21519-21520.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21519-21520.diff	(revision 21726)
@@ -0,0 +1,28 @@
+Index: ../trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 21519)
++++ ../trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 21520)
+@@ -12,13 +12,16 @@
+ 	Vector<IssmDouble>* vector=NULL;
+ 
+ 	switch(type){
+-	case VertexPIdEnum: case VertexSIdEnum:
+-		vector=new Vector<IssmDouble>(femmodel->vertices->NumberOfVertices());
+-		break;
+-	case NodesEnum:case NodeSIdEnum:
+-		vector=new Vector<IssmDouble>(femmodel->nodes->NumberOfNodes());
+-		break;
+-	default:
++		case ElementSIdEnum:
++			vector=new Vector<IssmDouble>(femmodel->elements->NumberOfElements());
++			break;
++		case VertexPIdEnum: case VertexSIdEnum:
++			vector=new Vector<IssmDouble>(femmodel->vertices->NumberOfVertices());
++			break;
++		case NodesEnum:case NodeSIdEnum:
++			vector=new Vector<IssmDouble>(femmodel->nodes->NumberOfNodes());
++			break;
++		default:
+ 			_error_("vector type: " << EnumToStringx(type) << " not supported yet!");
+ 	}
+ 	/*Look up in elements*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21520-21521.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21520-21521.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21520-21521.diff	(revision 21726)
@@ -0,0 +1,56 @@
+Index: ../trunk-jpl/src/c/classes/Inputs/IntInput.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 21520)
++++ ../trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 21521)
+@@ -53,7 +53,7 @@
+ 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
+ 		void Extrude(int start){_error_("not supported yet");};
+ 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
+-		void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");};
++		void GetInputAverage(IssmDouble* pvalue);
+ 		void GetInputDerivativeAverageValue(IssmDouble* derivativevalues, IssmDouble* xyz_list){_error_("not implemented yet");};
+ 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
+ 		void GetInputValue(bool* pvalue);
+Index: ../trunk-jpl/src/c/classes/Inputs/BoolInput.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 21520)
++++ ../trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 21521)
+@@ -49,7 +49,7 @@
+ 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
+ 		void Extrude(int start);
+ 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
+-		void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");};
++		void GetInputAverage(IssmDouble* pvalue);
+ 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
+ 		void GetInputDerivativeAverageValue(IssmDouble* derivativevalues, IssmDouble* xyz_list){_error_("not implemented yet");};
+ 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
+Index: ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 21520)
++++ ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 21521)
+@@ -133,6 +133,10 @@
+ 
+ }
+ /*}}}*/
++void IntInput::GetInputAverage(IssmDouble* pvalue){/*{{{*/
++	*pvalue=reCast<IssmDouble>(value);
++}
++/*}}}*/
+ void IntInput::GetInputValue(bool* pvalue){_error_("not supported yet!");}/*{{{*/
+ /*}}}*/
+ void IntInput::GetInputValue(int* pvalue){/*{{{*/
+Index: ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 21520)
++++ ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 21521)
+@@ -132,6 +132,10 @@
+ 	return;
+ }
+ /*}}}*/
++void BoolInput::GetInputAverage(IssmDouble* pvalue){/*{{{*/
++	*pvalue=reCast<IssmDouble>(value);
++}
++/*}}}*/
+ void BoolInput::GetInputValue(bool* pvalue){/*{{{*/
+ 	*pvalue=value;
+ }
Index: /issm/oecreview/Archive/21337-21723/ISSM-21521-21522.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21521-21522.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21521-21522.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21521)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21522)
+@@ -3207,7 +3207,7 @@
+ 		GetVectorFromInputsx(&vector,this,P0input_enums[i],ElementSIdEnum);
+ 
+ 		/*Copy vector in matrix*/
+-		xMemCpy<IssmDouble>(&P0inputsold[i*numelementsold],vector,numelementsold);
++		for(j=0;j<numelementsold;j++) P0inputsold[j*numelementsold+i] = vector[j]
+ 		xDelete<IssmDouble>(vector);
+ 	}
+ 	printf("Printing array to make sure it looks alright\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21522-21523.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21522-21523.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21522-21523.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21522)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21523)
+@@ -3207,7 +3207,7 @@
+ 		GetVectorFromInputsx(&vector,this,P0input_enums[i],ElementSIdEnum);
+ 
+ 		/*Copy vector in matrix*/
+-		for(j=0;j<numelementsold;j++) P0inputsold[j*numelementsold+i] = vector[j]
++		for(int j=0;j<numelementsold;j++) P0inputsold[j*numP0inputs+i] = vector[j];
+ 		xDelete<IssmDouble>(vector);
+ 	}
+ 	printf("Printing array to make sure it looks alright\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21523-21524.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21523-21524.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21523-21524.diff	(revision 21726)
@@ -0,0 +1,182 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21523)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21524)
+@@ -148,6 +148,7 @@
+ 		/*Adaptive mesh refinement methods*/
+ 		void InitializeAdaptiveRefinement(void);
+ 		FemModel* ReMesh(void);
++		void GetMesh(FemModel* femmodel,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist);
+ 		void ExecuteRefinement(int &newnumberofvertices,int &newnumberofelements,IssmDouble** newx,IssmDouble** newy,IssmDouble** newz,int** newelementslist);
+ 		void GetMaskLevelSet(IssmDouble** pmasklevelset);
+ 		void CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices);
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21523)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21524)
+@@ -3102,11 +3102,6 @@
+ 	output->loads->ResetHooks();
+ 	output->materials->ResetHooks();
+ 
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+-	/*Finally: interpolate all inputs*/
+-	this->InterpolateInputs(output);
+-
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	/*do the post-processing of the datasets to get an FemModel that can actually run analyses: */
+ 	int analysis_type;
+ 	for(int i=0;i<output->nummodels;i++){
+@@ -3121,6 +3116,10 @@
+ 		NodesDofx(output->nodes,output->parameters,analysis_type);
+ 	}
+ 
++	/*Finally: interpolate all inputs*/
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	this->InterpolateInputs(output);
++	
+ 	/*Reset current configuration: */
+ 	analysis_type=output->analysis_type_list[this->analysis_counter];
+ 	output->SetCurrentConfiguration(analysis_type);
+@@ -3213,26 +3212,64 @@
+ 	printf("Printing array to make sure it looks alright\n");
+ 	printarray(P0inputsold,numelementsold,numP0inputs);
+ 
+-	_error_("stop");
++	/*========== Deal with P1 inputs ==========*/
++	IssmDouble* P1inputsold = xNew<IssmDouble>(numverticesold*numP1inputs);
++	IssmDouble* P1inputsnew = NULL;
++	vector      = NULL;
++
++	for(int i=0;i<numP1inputs;i++){
++		printf("Dealing with %s (type: %s)\n",EnumToStringx(P1input_enums[i]),EnumToStringx(P1input_interp[i]));
++		GetVectorFromInputsx(&vector,this,P1input_enums[i],VertexSIdEnum);
++
++		/*Copy vector in matrix*/
++		for(int j=0;j<numverticesold;j++) P1inputsold[j*numP1inputs+i] = vector[j];
++		xDelete<IssmDouble>(vector);
++	}
++	printf("Printing array to make sure it looks alright\n");
++	printarray(P1inputsold,numverticesold,numP1inputs);
++	
+ 	/*Old mesh coordinates*/
+ 	IssmDouble *Xold     = NULL;
+ 	IssmDouble *Yold     = NULL;
++	IssmDouble *Zold		= NULL;
+ 	int        *Indexold = NULL;
++	int        *Indexnew = NULL;
+ 	IssmDouble *Xnew     = NULL;
+ 	IssmDouble *Ynew     = NULL;
++	IssmDouble *Znew		= NULL;
++	
++	/*Get the old mesh*/
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	this->GetMesh(this,&Xold,&Yold,&Zold,&Indexold);
+ 
+-
++	/*Get the new mesh*/
+ 	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	this->GetMesh(newfemmodel,&Xnew,&Ynew,&Znew,&Indexnew);
++	
++	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	/*Interplate P0 inputs in the new mesh*/
+ 	InterpFromMeshToMesh2dx(&P0inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
+ 				P0inputsold,numelementsold,numP0inputs,
+ 				Xnew,Ynew,numelementsnew,NULL);
++	
++	printf("Printing array AFTER INTERP - P0 INPUTS - to make sure it looks alright\n");
++	printarray(P0inputsnew,numelementsnew,numP0inputs);
++	
++	/*Interpolate P1 inputs in the new mesh*/
++	InterpFromMeshToMesh2dx(&P1inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
++				P1inputsold,numverticesold,numP1inputs,
++				Xnew,Ynew,numverticesnew,NULL);
+ 
++	printf("Printing array AFTER INTERP - P1 INPUTS - to make sure it looks alright\n");
++	printarray(P1inputsnew,numverticesnew,numP1inputs);
++	
+ 	_error_("STOP");
+ 
+ 	xDelete<IssmDouble>(P0inputsold);
+ 	xDelete<IssmDouble>(P0inputsnew);
++	xDelete<IssmDouble>(P1inputsold);
++	xDelete<IssmDouble>(P1inputsnew);
+ 
+-
+ 	_error_("STOP");
+ }
+ /*}}}*/
+@@ -3410,7 +3447,7 @@
+ void FemModel::CreateNodes(int newnumberofvertices,int* my_vertices,int nodecounter,int analysis_enum,Nodes* nodes){/*{{{*/
+ 
+ 	int lid=0;
+-
++//itapopo use the GetMesh!!
+ 	for(int j=0;j<newnumberofvertices;j++){
+ 		if(my_vertices[j]){				
+ 			
+@@ -3454,6 +3491,65 @@
+ 	return;
+ }
+ /*}}}*/
++void FemModel::GetMesh(FemModel* femmodel,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist){/*{{{*/
++
++	if(!femmodel) _error_("GetMesh: NULL femmodel.");
++	
++	int numberofvertices, numberofelements;
++	int elementswidth = 3; //itapopo just 2D mesh in this version (just tria elements)
++	IssmDouble *x		= NULL;
++	IssmDouble *y		= NULL;
++	IssmDouble *z		= NULL;	
++	int* elementslist = NULL;
++	
++	/*Get vertices coordinates*/
++	VertexCoordinatesx(&x, &y, &z, femmodel->vertices,false) ;
++
++	numberofvertices = femmodel->vertices->NumberOfVertices();
++	numberofelements = femmodel->elements->NumberOfElements();
++	
++	/*Get element vertices*/
++	int* elem_vertices=xNew<int>(elementswidth);
++	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements);
++	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements);
++	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
++
++	/*Go through elements, and for each element, get vertices*/
++   for(int i=0;i<femmodel->elements->Size();i++){
++    	Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++    	element->GetVerticesSidList(elem_vertices);
++    	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
++    	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
++    	vid3->SetValue(element->sid,elem_vertices[2],INS_VAL);
++   }
++		
++	/*Assemble*/
++   vid1->Assemble();
++   vid2->Assemble();
++   vid3->Assemble();
++
++   /*Serialize*/
++	IssmDouble *id1 = vid1->ToMPISerial();
++   IssmDouble *id2 = vid2->ToMPISerial();
++	IssmDouble *id3 = vid3->ToMPISerial();
++	
++	/*Construct elements list*/
++	elementslist=xNew<int>(numberofelements*elementswidth);
++	if(numberofelements*elementswidth<0) _error_("numberofelements negative.");
++	for(int i=0;i<numberofelements;i++){
++		std::cout << (int)id1[i]+1 << " " << (int)id2[i]+1 <<" " << (int)id3[i]+1 <<  std::endl;
++		elementslist[elementswidth*i+0] = (int)id1[i]+1; //InterpMesh wants Matlab indexing
++		elementslist[elementswidth*i+1] = (int)id2[i]+1; //InterpMesh wants Matlab indexing
++		elementslist[elementswidth*i+2] = (int)id3[i]+1; //InterpMesh wants Matlab indexinf
++	}
++	
++	/*Assign pointers*/
++	*px				= x;
++	*py				= y;
++	*pz				= z;
++	*pelementslist = elementslist;
++}
++/*}}}*/
+ void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,int* newelementslist,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
+ 
+ 	/*Get x and y of the mesh i-1*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21524-21525.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21524-21525.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21524-21525.diff	(revision 21726)
@@ -0,0 +1,187 @@
+Index: ../trunk-jpl/m4/issm_options.m4
+===================================================================
+--- ../trunk-jpl/m4/issm_options.m4	(revision 21524)
++++ ../trunk-jpl/m4/issm_options.m4	(revision 21525)
+@@ -1894,6 +1894,20 @@
+ 	AM_CONDITIONAL([BAMG], [test x$HAVE_BAMG = xyes])
+ 	AC_MSG_RESULT($HAVE_BAMG)
+ 	dnl }}}
++	dnl with-ocean{{{
++	AC_ARG_WITH([ocean],
++		AS_HELP_STRING([--with-ocean = YES],[compile with ice/ocean coupling (default is no)]),
++		[OCEAN=$withval],[OCEAN=no]) 
++	AC_MSG_CHECKING(for ice/ocean capability compilation)
++
++	HAVE_OCEAN=no
++	if test "x$OCEAN" = "xyes"; then
++		HAVE_OCEAN=yes
++		AC_DEFINE([_HAVE_OCEAN_],[1],[with ice/ocean coupling capability])
++	fi
++	AM_CONDITIONAL([OCEAN], [test x$HAVE_OCEAN = xyes])
++	AC_MSG_RESULT($HAVE_OCEAN)
++	dnl }}}
+ 	dnl with-kml{{{
+ 	AC_ARG_WITH([kml],
+ 		AS_HELP_STRING([--with-kml = YES],[compile with kml capabilities (default is yes)]),
+Index: ../trunk-jpl/src/c/main/issm_ocean.cpp
+===================================================================
+--- ../trunk-jpl/src/c/main/issm_ocean.cpp	(revision 0)
++++ ../trunk-jpl/src/c/main/issm_ocean.cpp	(revision 21525)
+@@ -0,0 +1,132 @@
++/*!\file:  issm_ocean.cpp
++ * \brief: ISSM OCEAN main program. 
++ */ 
++
++#include "./issm.h"
++
++int main(int argc,char **argv){
++
++//	/*diverse:*/
++//	int    nummodels = 2;
++//	int*   commsizes=xNew<int>(nummodels);
++//	int*   rankzeros=xNew<int>(nummodels);
++//	char** modelnames=xNew<char*>(nummodels);
++//	char** dirnames=xNew<char*>(nummodels);
++//	int    iceid=0; 
++//	int    oceanid=1; 
++//	int    modelid;
++//	int    my_rank;
++//	int    count=0;
++//	ISSM_MPI_Comm worldcomm;
++//	ISSM_MPI_Comm modelcomm;
++//	ISSM_MPI_Comm toonceancomm;
++//	ISSM_MPI_Comm fromicecomms;
++
++	/*Initialize exception trapping: */
++	ExceptionTrapBegin();
++
++//	/*Initialize environment (MPI, PETSC, MUMPS, etc ...)*/
++//	worldcomm=EnvironmentInit(argc,argv);
++//	
++//	/*What is my rank?:*/
++//	ISSM_MPI_Comm_rank(worldcomm,&my_rank);
++//
++//	/*First model is ice, second is ocean*/
++//	for(int i=0;i<nummodels;i++){
++//		char* string=NULL;
++//		
++//		string=xNew<char>(strlen(argv[5+3*i])+1);
++//		xMemCpy<char>(string,argv[5+3*i],strlen(argv[5+3*i])+1);
++//		dirnames[i]=string;
++//		
++//		string=xNew<char>(strlen(argv[5+3*i+1])+1);
++//		xMemCpy<char>(string,argv[5+3*i+1],strlen(argv[5+3*i+1])+1);
++//		modelnames[i]=string;
++//
++//		commsizes[i]=(int) strtol(argv[5+3*i+2], (char **)NULL, 10);
++//	}
++//
++//	/*Figure out which model each cpu will belong to: */
++//	count=0;
++//	for(int i=0;i<nummodels;i++){
++//		if(my_rank>=count && my_rank<(count+commsizes[i])){
++//			modelid=i;
++//			break;
++//		}
++//		count+=commsizes[i];
++//	} 
++//	/*Buil array of who is rank 0 of their own group:*/
++//	count=0;
++//	for(int i=0;i<nummodels;i++){
++//		rankzeros[i]=count;
++//		count+=commsizes[i];
++//	}
++//	/*}}}*/
++//
++//	/*Split world into sub-communicators for each and every model:*/
++//	ISSM_MPI_Comm_split(worldcomm,modelid, my_rank, &modelcomm);
++//
++//	/*Build inter communicators:*/ // change to Dimitris solution
++//	if(modelid==iceid){
++//		ISSM_MPI_Intercomm_create( modelcomm, 0, worldcomm, rankzeros[oceanid], iceid, fromicecomms+i); //communicate from local erth comm 9rank 0) to ice comm (rank 0) using modelid tag.
++//	}
++//	else{
++//		ISSM_MPI_Intercomm_create( modelcomm, 0, worldcomm, rankzeros[iceid], oceanid, &toearthcomm); //communicate from local ice comm (rank 0) to earth comm (rank 0) using modelid tag.
++//	}
++
++//	/*Supply specific argc and argv for each sub-communicator (corresponding to each  model specificatiions):{{{*/
++//	char** arguments=xNew<char*>(4);
++//	arguments[0]=xNew<char>(strlen(argv[0])+1); xMemCpy<char>(arguments[0],argv[0],strlen(argv[0])+1); //executable name
++//	arguments[1]=xNew<char>(strlen(argv[1])+1); xMemCpy<char>(arguments[1],argv[1],strlen(argv[1])+1); //solution name
++//	arguments[2]=xNew<char>(strlen(argv[5+3*modelid])+1); xMemCpy<char>(arguments[2],argv[5+3*modelid],strlen(argv[5+3*modelid])+1); //directory name
++//	arguments[3]=xNew<char>(strlen(argv[5+3*modelid+1])+1); xMemCpy<char>(arguments[3],argv[5+3*modelid+1],strlen(argv[5+3*modelid+1])+1); //model name
++//	/*}}}*/
++//
++
++	//REMOVE
++	/*Initialize environment (MPI, PETSC, MUMPS, etc ...)*/
++	ISSM_MPI_Comm comm_init=EnvironmentInit(argc,argv);
++	/*Initialize femmodel from arguments provided command line: */
++	FemModel *femmodel = new FemModel(argc,argv,comm_init);
++	///*Initialize femmodel from arguments provided command line: */
++	//FemModel *femmodel = new FemModel(1,arguments,modelcomm);
++	
++//	/*Now that the models are initialized, keep communicator information in the parameters datasets of each model: */
++//	femmodel->parameters->AddObject(new GenericParam<ISSM_MPI_Comm>(worldcomm,WorldCommEnum));
++//	femmodel->parameters->AddObject(new IntParam(NumModelsEnum,nummodels));
++//	femmodel->parameters->AddObject(new IntParam(ModelIdEnum,oceanid));
++//	femmodel->parameters->AddObject(new IntParam(EarthIdEnum,iceid));
++//	if(modelid==earthid) femmodel->parameters->AddObject(new GenericParam<ISSM_MPI_Comm*>(fromicecomms,IcecapToEarthCommEnum));
++//	else femmodel->parameters->AddObject(new GenericParam<ISSM_MPI_Comm>(toearthcomm,IcecapToEarthCommEnum));
++
++	/*Solve: */
++	femmodel->Solve();
++
++	/*Output results: */
++	OutputResultsx(femmodel);
++
++	/*Wrap up: */
++	femmodel->CleanUp();
++
++	/*Delete Model: */
++	delete femmodel;
++
++	/*Finalize environment:*/
++	EnvironmentFinalize();
++
++	/*Finalize exception trapping: */
++	ExceptionTrapEnd();
++
++//	/*Free ressources:*/
++//	xDelete<int>(commsizes);
++//	for(int i=0;i<nummodels;i++){
++//		char* string=NULL;
++//		string=dirnames[i]; xDelete<char>(string);
++//		string=modelnames[i]; xDelete<char>(string);
++//	}
++//	xDelete<char*>(dirnames);
++//	xDelete<char*>(modelnames);
++
++	/*Return unix success: */
++	return 0; 
++}
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21524)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21525)
+@@ -263,7 +263,7 @@
+ 					./classes/Loads/Riftfront.cpp\
+ 					./modules/ConstraintsStatex/RiftConstraintsState.cpp\
+ 					./modules/ModelProcessorx/CreateOutputDefinitions.cpp\
+-					./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp\	
++					./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp\
+ 					./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp\
+ 					./classes/Inputs/PentaInput.cpp\
+ 					./classes/Inputs/TetraInput.cpp
+@@ -693,6 +693,11 @@
+ issm_slr_SOURCES = main/issm_slr.cpp
+ issm_slr_CXXFLAGS= $(CXXFLAGS) $(CXXOPTFLAGS)
+ 
++if OCEAN
++bin_PROGRAMS += issm_ocean
++issm_ocean_SOURCES = main/issm_ocean.cpp
++issm_ocean_CXXFLAGS= $(CXXFLAGS) $(CXXOPTFLAGS)
++endif
+ 
+ if KRIGING
+ bin_PROGRAMS += kriging
Index: /issm/oecreview/Archive/21337-21723/ISSM-21525-21526.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21525-21526.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21525-21526.diff	(revision 21726)
@@ -0,0 +1,244 @@
+Index: ../trunk-jpl/src/m/classes/hydrologysommers.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/hydrologysommers.m	(revision 21525)
++++ ../trunk-jpl/src/m/classes/hydrologysommers.m	(revision 21526)
+@@ -15,6 +15,7 @@
+ 		spchead         = NaN;
+ 		neumannflux     = NaN;
+ 		relaxation      = 0;
++		storage         = 0;
+ 	end
+ 	methods
+ 		function self = extrude(self,md) % {{{
+@@ -32,6 +33,7 @@
+ 		function self = setdefaultparameters(self) % {{{
+ 	      % Set under-relaxation parameter to be 1 (no under-relaxation of nonlinear iteration)	
+ 			self.relaxation=1;
++			self.storage=0;
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+@@ -50,6 +52,7 @@
+ 			md = checkfield(md,'fieldname','hydrology.neumannflux','timeseries',1,'NaN',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','hydrology.spchead','size',[md.mesh.numberofvertices 1]);	
+          md = checkfield(md,'fieldname','hydrology.relaxation','>=',0);	
++			md = checkfield(md,'fieldname','hydrology.storage','>=',0);
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   hydrologysommers solution parameters:'));
+@@ -63,6 +66,7 @@
+ 			fielddisplay(self,'neumannflux','water flux applied along the model boundary (m^2/s)');
+ 			fielddisplay(self,'spchead','water head constraints (NaN means no constraint) (m)');
+ 			fielddisplay(self,'relaxation','under-relaxation coefficient for nonlinear iteration');
++			fielddisplay(self,'storage','englacial storage coefficient (void ratio)');
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+ 
+@@ -79,6 +83,7 @@
+ 			WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','neumannflux','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1,'yts',md.constants.yts);
+ 			WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','spchead','format','DoubleMat','mattype',1);
+          WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','relaxation','format','Double');
++			WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','storage','format','Double');
+ 		end % }}}
+ 	end
+ end
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21525)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21526)
+@@ -175,6 +175,7 @@
+ 	HydrologyNeumannfluxEnum,
+    HydrologyRelaxationEnum,
+ 	HydrologyBasalFluxEnum,
++	HydrologyStorageEnum,
+ 	InversionControlParametersEnum,
+ 	InversionControlScalingFactorsEnum,
+ 	InversionCostFunctionThresholdEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21525)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21526)
+@@ -181,6 +181,7 @@
+ 		case HydrologyNeumannfluxEnum : return "HydrologyNeumannflux";
+ 		case HydrologyRelaxationEnum : return "HydrologyRelaxation";
+ 		case HydrologyBasalFluxEnum : return "HydrologyBasalFlux";
++		case HydrologyStorageEnum : return "HydrologyStorage";
+ 		case InversionControlParametersEnum : return "InversionControlParameters";
+ 		case InversionControlScalingFactorsEnum : return "InversionControlScalingFactors";
+ 		case InversionCostFunctionThresholdEnum : return "InversionCostFunctionThreshold";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21525)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21526)
+@@ -184,6 +184,7 @@
+ 	      else if (strcmp(name,"HydrologyNeumannflux")==0) return HydrologyNeumannfluxEnum;
+ 	      else if (strcmp(name,"HydrologyRelaxation")==0) return HydrologyRelaxationEnum;
+ 	      else if (strcmp(name,"HydrologyBasalFlux")==0) return HydrologyBasalFluxEnum;
++	      else if (strcmp(name,"HydrologyStorage")==0) return HydrologyStorageEnum;
+ 	      else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum;
+ 	      else if (strcmp(name,"InversionControlScalingFactors")==0) return InversionControlScalingFactorsEnum;
+ 	      else if (strcmp(name,"InversionCostFunctionThreshold")==0) return InversionCostFunctionThresholdEnum;
+@@ -258,11 +259,11 @@
+ 	      else if (strcmp(name,"CalvingDev")==0) return CalvingDevEnum;
+ 	      else if (strcmp(name,"CalvingMinthickness")==0) return CalvingMinthicknessEnum;
+ 	      else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum;
+-	      else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
+          else stage=3;
+    }
+    if(stage==3){
+-	      if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
++	      if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
++	      else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
+ 	      else if (strcmp(name,"CalvingdevCoeff")==0) return CalvingdevCoeffEnum;
+ 	      else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
+ 	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
+@@ -381,11 +382,11 @@
+ 	      else if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
+ 	      else if (strcmp(name,"SmbECini")==0) return SmbECiniEnum;
+ 	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
+-	      else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
++	      if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
++	      else if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
+ 	      else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
+ 	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
+ 	      else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
+@@ -504,11 +505,11 @@
+ 	      else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
+ 	      else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
+ 	      else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
+-	      else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
++	      if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
++	      else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
+ 	      else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceAbsMisfit")==0) return SurfaceAbsMisfitEnum;
+ 	      else if (strcmp(name,"Vel")==0) return VelEnum;
+@@ -627,11 +628,11 @@
+ 	      else if (strcmp(name,"Outputdefinition37")==0) return Outputdefinition37Enum;
+ 	      else if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum;
+ 	      else if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum;
+-	      else if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition41")==0) return Outputdefinition41Enum;
++	      if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum;
++	      else if (strcmp(name,"Outputdefinition41")==0) return Outputdefinition41Enum;
+ 	      else if (strcmp(name,"Outputdefinition42")==0) return Outputdefinition42Enum;
+ 	      else if (strcmp(name,"Outputdefinition43")==0) return Outputdefinition43Enum;
+ 	      else if (strcmp(name,"Outputdefinition44")==0) return Outputdefinition44Enum;
+@@ -750,11 +751,11 @@
+ 	      else if (strcmp(name,"Seq")==0) return SeqEnum;
+ 	      else if (strcmp(name,"Mpi")==0) return MpiEnum;
+ 	      else if (strcmp(name,"Mumps")==0) return MumpsEnum;
+-	      else if (strcmp(name,"Gsl")==0) return GslEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
++	      if (strcmp(name,"Gsl")==0) return GslEnum;
++	      else if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
+ 	      else if (strcmp(name,"BuddJacka")==0) return BuddJackaEnum;
+ 	      else if (strcmp(name,"CuffeyTemperate")==0) return CuffeyTemperateEnum;
+ 	      else if (strcmp(name,"Paterson")==0) return PatersonEnum;
+@@ -873,11 +874,11 @@
+ 	      else if (strcmp(name,"AdjointBalancethickness2Analysis")==0) return AdjointBalancethickness2AnalysisEnum;
+ 	      else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
+ 	      else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum;
+-	      else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
++	      if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
++	      else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
+ 	      else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
+ 	      else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
+ 	      else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum;
+@@ -996,11 +997,11 @@
+ 	      else if (strcmp(name,"Loads")==0) return LoadsEnum;
+ 	      else if (strcmp(name,"Materials")==0) return MaterialsEnum;
+ 	      else if (strcmp(name,"Nodes")==0) return NodesEnum;
+-	      else if (strcmp(name,"Contours")==0) return ContoursEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"Parameters")==0) return ParametersEnum;
++	      if (strcmp(name,"Contours")==0) return ContoursEnum;
++	      else if (strcmp(name,"Parameters")==0) return ParametersEnum;
+ 	      else if (strcmp(name,"Vertices")==0) return VerticesEnum;
+ 	      else if (strcmp(name,"Results")==0) return ResultsEnum;
+ 	      else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
+Index: ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 21525)
++++ ../trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp	(revision 21526)
+@@ -147,6 +147,7 @@
+ 	parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.friction.law",FrictionLawEnum));
+    parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.relaxation",HydrologyRelaxationEnum));
++	parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.storage",HydrologyStorageEnum));
+ }/*}}}*/
+ 
+ /*Finite Element Analysis*/
+@@ -172,6 +173,7 @@
+ 	/*Initialize Element vector and other vectors*/
+ 	ElementMatrix* Ke     = element->NewElementMatrix();
+ 	IssmDouble*    dbasis = xNew<IssmDouble>(2*numnodes);
++	IssmDouble*    basis  = xNew<IssmDouble>(numnodes);
+ 
+ 	/*Retrieve all inputs and parameters*/
+ 	element->GetVerticesCoordinates(&xyz_list);
+@@ -179,6 +181,11 @@
+ 	/*Get conductivity from inputs*/
+ 	IssmDouble conductivity = GetConductivity(element);
+ 
++	/*Get englacial storage coefficient*/
++	IssmDouble storage,dt;
++	element->FindParam(&storage,HydrologyStorageEnum);
++	element->FindParam(&dt,TimesteppingTimeStepEnum);
++
+ 	/* Start  looping on the number of gaussian points: */
+ 	Gauss* gauss=element->NewGauss(1);
+ 	for(int ig=gauss->begin();ig<gauss->end();ig++){
+@@ -186,10 +193,12 @@
+ 
+ 		element->JacobianDeterminant(&Jdet,xyz_list,gauss);
+ 		element->NodalFunctionsDerivatives(dbasis,xyz_list,gauss);
++		element->NodalFunctions(basis,gauss);
+ 
+ 		for(int i=0;i<numnodes;i++){
+ 			for(int j=0;j<numnodes;j++){
+-				Ke->values[i*numnodes+j] += conductivity*gauss->weight*Jdet*(dbasis[0*numnodes+i]*dbasis[0*numnodes+j] + dbasis[1*numnodes+i]*dbasis[1*numnodes+j]);
++				Ke->values[i*numnodes+j] += conductivity*gauss->weight*Jdet*(dbasis[0*numnodes+i]*dbasis[0*numnodes+j] + dbasis[1*numnodes+i]*dbasis[1*numnodes+j])
++				  + gauss->weight*Jdet*storage/dt*basis[i]*basis[j];
+ 			}
+ 		}
+ 	}
+@@ -243,6 +252,11 @@
+ 	/*Get conductivity from inputs*/
+ 	IssmDouble conductivity = GetConductivity(element);
+ 
++	/*Get englacial storage coefficient*/
++	IssmDouble storage,dt;
++   element->FindParam(&storage,HydrologyStorageEnum);
++   element->FindParam(&dt,TimesteppingTimeStepEnum);
++
+ 	/*Build friction element, needed later: */
+ 	Friction* friction=new Friction(element,2);
+ 
+@@ -307,6 +321,7 @@
+ 		  +A*pow(fabs(pressure_ice - pressure_water),n-1)*(pressure_ice - pressure_water)*gap
+ 		  -beta*sqrt(vx*vx+vy*vy)
+ 		  +ieb
++		  +storage*head_old/dt
+ 		  )*basis[i];     	
+ 	}
+ 	/*Clean up and return*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21526-21527.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21526-21527.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21526-21527.diff	(revision 21726)
@@ -0,0 +1,16 @@
+Index: ../trunk-jpl/src/m/plot/applyoptions.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/applyoptions.m	(revision 21526)
++++ ../trunk-jpl/src/m/plot/applyoptions.m	(revision 21527)
+@@ -349,11 +349,6 @@
+ 	set(gca,'pos',Axis);
+ end
+ 
+-%axes position
+-if exist(options,'axesPosition')
+-	set(gca,'Position',getfieldvalue(options,'axesPosition'));
+-end
+-
+ %showregion
+ if strcmpi(getfieldvalue(options,'showregion','off'),'on'),
+ 	%Keep pointer of main axis
Index: /issm/oecreview/Archive/21337-21723/ISSM-21527-21528.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21527-21528.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21527-21528.diff	(revision 21726)
@@ -0,0 +1,1234 @@
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21527)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21528)
+@@ -2,7 +2,7 @@
+  * \brief: implementation of the adaptive mesh refinement tool based on NeoPZ library: github.com/labmec/neopz
+  */
+ 
+- #ifdef HAVE_CONFIG_H
++#ifdef HAVE_CONFIG_H
+     #include <config.h>
+ #else
+ #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+@@ -51,6 +51,7 @@
+     if(this->previousmesh)  delete this->previousmesh;
+ 	 this->hmax=-1;
+ 	 this->elementswidth=-1;
++	 gRefDBase.clear();
+ }
+ /*}}}*/
+ int AdaptiveMeshRefinement::ClassId() const{/*{{{*/
+@@ -127,8 +128,12 @@
+ 
+ /*Mesh refinement methods*/
+ #include "TPZVTKGeoMesh.h" //itapopo
+-void AdaptiveMeshRefinement::ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, int &nvertices, int &nelements, int &nsegments, double** x, double** y, double** z, int*** elements, int*** segments){/*{{{*/
++#include "../shared/shared.h" //itapopo
++void AdaptiveMeshRefinement::ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, int &nvertices, int &nelements, int &nsegments, double** px, double** py, double** pz, int** pelements, int** psegments){/*{{{*/
+ 
++	/*IMPORTANT! pelements (and psegments) are in Matlab indexing*/
++	/*NEOPZ works only in C indexing*/
++
+     //itapopo _assert_(this->fathermesh);
+     //itapopo _assert_(this->previousmesh);
+     
+@@ -170,10 +175,10 @@
+     TPZVTKGeoMesh::PrintGMeshVTK(nohangingnodesmesh,file4);
+     
+     /*Get new geometric mesh in ISSM data structure*/
+-    this->GetMesh(nohangingnodesmesh,nvertices,nelements,nsegments,x,y,z,elements,segments);
++    this->GetMesh(nohangingnodesmesh,nvertices,nelements,nsegments,px,py,pz,pelements,psegments);
+ 	 
+     /*Verify the new geometry*/
+-    this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,x,y,z,elements,segments);
++    this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,px,py,pz,pelements,psegments);
+      
+     delete nohangingnodesmesh;
+ }
+@@ -254,15 +259,18 @@
+     
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::GetMesh(TPZGeoMesh *gmesh, int &nvertices, int &nelements, int &nsegments, double** meshX, double** meshY, double** meshZ, int*** elements, int*** segments){/*{{{*/
++void AdaptiveMeshRefinement::GetMesh(TPZGeoMesh *gmesh,int &nvertices,int &nelements,int &nsegments,double** px,double** py,double** pz, int** pelements, int** psegments){/*{{{*/
+ 
++	/*IMPORTANT! pelements (and psegments) are in Matlab indexing*/
++	/*NEOPZ works only in C indexing*/
++
+ 	/* vertices */
+     int ntotalvertices = gmesh->NNodes();//total
+     
+     /* mesh coords */
+-    double *newmeshX = new double[ntotalvertices];
+-    double *newmeshY = new double[ntotalvertices];
+-    double *newmeshZ = new double[ntotalvertices];
++	 double* newmeshX = xNew<IssmDouble>(ntotalvertices);
++    double* newmeshY = xNew<IssmDouble>(ntotalvertices);
++    double* newmeshZ = xNew<IssmDouble>(ntotalvertices);
+    	
+    /* getting mesh coords */
+     for(int i = 0; i < ntotalvertices; i++ ){
+@@ -282,14 +290,13 @@
+     }
+     
+     int ntotalelements = (int)GeoVec.size();
+-    int ** newelements = new int*[ntotalelements];
++    int* newelements = xNew<int>(ntotalelements*this->elementswidth);
+ 
+     if ( !(this->elementswidth == 3) && !(this->elementswidth == 4) && !(this->elementswidth == 6) ) DebugStop();
+ 
+-    for(int i = 0; i < GeoVec.size(); i++){
+-        newelements[i] = new int[this->elementswidth];
+-        for(int j = 0; j < this->elementswidth; j++) newelements[i][j] = (int)GeoVec[i]->NodeIndex(j);
+-    }
++    for(int i=0;i<GeoVec.size();i++){
++        for(int j=0;j<this->elementswidth;j++) newelements[i*this->elementswidth+j]=(int)GeoVec[i]->NodeIndex(j)+1;//C to Matlab indexing
++	 }
+     
+     /* segments */
+     std::vector<TPZGeoEl*> SegVec; SegVec.clear();
+@@ -300,12 +307,12 @@
+     }
+     
+     int ntotalsegments = (int)SegVec.size();
+-    int ** newsegments = new int*[ntotalsegments];
++    int *newsegments=NULL;
++	 if(ntotalsegments>0) newsegments=xNew<int>(ntotalsegments*3);
+     
+-    for(int i = 0; i < SegVec.size(); i++){
++    for(int i=0;i<SegVec.size();i++){
+         
+-        newsegments[i] = new int[3];
+-        for(int j = 0; j < 2; j++) newsegments[i][j] = SegVec[i]->NodeIndex(j);
++        for(int j=0;j<2;j++) newsegments[i*3+j]=(int)SegVec[i]->NodeIndex(j)+1;//C to Matlab indexing
+         
+         int neighborindex = SegVec[i]->Neighbour(2).Element()->Index();
+         int neighbourid = -1;
+@@ -318,18 +325,18 @@
+         }
+         
+         if(neighbourid==-1) DebugStop(); //itapopo talvez passar para _assert_
+-        newsegments[i][2] = neighbourid;
++        newsegments[i*3+2] = neighbourid+1;//C to Matlab indexing
+     }
+     
+     //setting outputs
+-    nvertices   = ntotalvertices;
+-    nelements   = ntotalelements;
+-    nsegments   = ntotalsegments;
+-    *meshX      = newmeshX;
+-    *meshY      = newmeshY;
+-    *meshZ      = newmeshZ;
+-    *elements   = newelements;
+-    *segments   = newsegments;
++    nvertices  = ntotalvertices;
++    nelements  = ntotalelements;
++    nsegments  = ntotalsegments;
++    *px		   = newmeshX;
++    *py		   = newmeshY;
++    *pz		   = newmeshZ;
++    *pelements = newelements;
++    *psegments = newsegments;
+     
+ }
+ /*}}}*/
+@@ -380,11 +387,11 @@
+ 
+     ElemVec.clear();
+     
+-    // itapopo inserir modo de encontrar criterio
+-    if(false) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
++    // itapopo inserir modo de encontrar criterio TESTING!!!! Come to false!
++	 if(true) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
+ 
+     /* Adaptive refinement. This refines some elements following some criteria*/
+-    this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
++    //this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
+ 
+ }
+ /*}}}*/
+@@ -436,11 +443,14 @@
+     
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::CreateInitialMesh(int &nvertices, int &nelements, int &nsegments, int &width, double* x, double* y, double* z, int** elements, int** segments){/*{{{*/
++void AdaptiveMeshRefinement::CreateInitialMesh(int &nvertices,int &nelements,int &nsegments,int &width,double* x,double* y,double* z,int* elements,int* segments){/*{{{*/
+ 
++	/*IMPORTANT! elements come in Matlab indexing*/
++	/*NEOPZ works only in C indexing*/
++	
+ 	// itapopo _assert_(nvertices>0);
+     // itapoo _assert_(nelements>0);
+-   this->SetElementWidth(width);
++	this->SetElementWidth(width);
+ 
+     /*Verify and creating initial mesh*/
+     //itapopo if(this->fathermesh) _error_("Initial mesh already exists!");
+@@ -449,63 +459,61 @@
+ 	this->fathermesh->NodeVec().Resize( nvertices );
+ 
+     /*Set the vertices (geometric nodes in NeoPZ context)*/
+-	for(int i=0;i<nvertices;i++){
+-        
+-        /*x,y,z coords*/
+-        TPZManVector<REAL,3> coord(3,0.);
+-        coord[0]= x[i];
+-        coord[1]= y[i];
+-        coord[2]= z[i];
+-		
+-        /*Insert in the mesh*/
+-        this->fathermesh->NodeVec()[i].SetCoord(coord);
+-		  this->fathermesh->NodeVec()[i].SetNodeId(i);
++	for(int i=0;i<nvertices;i++){  
++      /*x,y,z coords*/
++		TPZManVector<REAL,3> coord(3,0.);
++      coord[0]= x[i];
++      coord[1]= y[i];
++      coord[2]= z[i];
++      /*Insert in the mesh*/
++      this->fathermesh->NodeVec()[i].SetCoord(coord);
++		this->fathermesh->NodeVec()[i].SetNodeId(i);
+ 	}
+ 	
+ 	/*Generate the elements*/
+-    long index;
+-    const int mat = this->GetElemMaterialID();
+-    TPZManVector<long> elem(this->elementswidth,0);
++	long index;
++   const int mat = this->GetElemMaterialID();
++   TPZManVector<long> elem(this->elementswidth,0);
+     
+ 	for(int iel=0;iel<nelements;iel++){
+ 
+-		for(int jel=0;jel<this->elementswidth;jel++) elem[jel]=elements[iel][jel];
++		for(int jel=0;jel<this->elementswidth;jel++) elem[jel]=elements[iel*this->elementswidth+jel]-1;//Convert Matlab to C indexing
+ 
+-        /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
+-        const int reftype = 1;
+-        switch(this->elementswidth){
+-			case 3: this->fathermesh->CreateGeoElement(ETriangle, elem, mat, index, reftype);			break;
+-            case 4:	this->fathermesh->CreateGeoElement(ETetraedro, elem, mat, index, reftype); DebugStop(); break;// itapopo _error_("tetra elements must be verified!")	break;
+-			case 6:	this->fathermesh->CreateGeoElement(EPrisma, elem, mat, index, reftype);		break;
+-            default:	DebugStop();//itapopo _error_("mesh not supported yet");
++      /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
++      const int reftype = 1;
++      switch(this->elementswidth){
++			case 3: this->fathermesh->CreateGeoElement(ETriangle, elem, mat, index, reftype);	break;
++         case 4: this->fathermesh->CreateGeoElement(ETetraedro, elem, mat, index, reftype); DebugStop(); break;
++			case 6: this->fathermesh->CreateGeoElement(EPrisma, elem, mat, index, reftype); DebugStop(); break;
++         default:	DebugStop();//itapopo _error_("mesh not supported yet");
+ 		}
+         
+-        /*Define the element ID*/        
+-        this->fathermesh->ElementVec()[index]->SetId(iel);
+-        
++      /*Define the element ID*/        
++      this->fathermesh->ElementVec()[index]->SetId(iel); 
+ 	}
+     
+-    /*Generate the 1D segments elements (boundary)*/
+-    const int matboundary = this->GetBoundaryMaterialID();
+-    TPZManVector<long> boundary(2,0.);
++   /*Generate the 1D segments elements (boundary)*/
++   const int matboundary = this->GetBoundaryMaterialID();
++   TPZManVector<long> boundary(2,0.);
+     
+-    for(int iel=nelements;iel<nelements+nsegments;iel++){
+-        
+-        boundary[0] = segments[iel-nelements][0];
+-        boundary[1] = segments[iel-nelements][1];
+-        
+-        /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
+-        const int reftype = 0;
+-        this->fathermesh->CreateGeoElement(EOned, boundary, matboundary, index, reftype);//cria elemento unidimensional
+-        this->fathermesh->ElementVec()[index]->SetId(iel);
+-        
+-    }
++   for(int iel=nelements;iel<nelements+nsegments;iel++){     
++		boundary[0] = segments[(iel-nelements)*2+0]-1;//Convert Matlab to C indexing
++      boundary[1] = segments[(iel-nelements)*2+1]-1;//Convert Matlab to C indexing
++      /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
++      const int reftype = 0;
++      this->fathermesh->CreateGeoElement(EOned, boundary, matboundary, index, reftype);//cria elemento unidimensional
++      this->fathermesh->ElementVec()[index]->SetId(iel);
++	}
+     
+-    /*Build element and node connectivities*/
+-    this->fathermesh->BuildConnectivity();
+-    /*Create previous mesh as a copy of father mesh*/
+-    this->previousmesh = new TPZGeoMesh(*this->fathermesh);
++   /*Build element and node connectivities*/
++   this->fathermesh->BuildConnectivity();
+     
++	/*Create previous mesh as a copy of father mesh*/
++   this->previousmesh = new TPZGeoMesh(*this->fathermesh);
++	 
++	/*Set refinement patterns*/
++	this->SetRefPatterns();
++
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::SetHMax(int &h){/*{{{*/
+@@ -516,34 +524,68 @@
+     this->elementswidth = width;
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::CheckMesh(int &nvertices, int &nelements, int &nsegments,int &width, double** x, double** y, double** z, int*** elements, int*** segments){/*{{{*/
++void AdaptiveMeshRefinement::SetRefPatterns(){/*{{{*/
+ 
++	/*Initialize the global variable of refinement patterns*/ 
++	gRefDBase.InitializeUniformRefPattern(EOned);
++	gRefDBase.InitializeUniformRefPattern(ETriangle);
++    
++    //gRefDBase.InitializeRefPatterns();
++	/*Insert specifics patterns to ISSM core*/
++	std::string filepath	 = REFPATTERNDIR;
++   std::string filename1 = filepath + "/2D_Triang_Rib_3.rpt";
++   std::string filename2 = filepath + "/2D_Triang_Rib_4.rpt";
++   std::string filename3 = filepath + "/2D_Triang_Rib2_Side_3_4.rpt";
++   std::string filename4 = filepath + "/2D_Triang_Rib2_Side_3_4permuted.rpt";
++   std::string filename5 = filepath + "/2D_Triang_Rib2_Side_3_5.rpt";
++	std::string filename6 = filepath + "/2D_Triang_Rib2_Side_3_5permuted.rpt";
++   std::string filename7 = filepath + "/2D_Triang_Rib_5.rpt";
++
++   TPZAutoPointer<TPZRefPattern> refpat1 = new TPZRefPattern(filename1);
++   TPZAutoPointer<TPZRefPattern> refpat2 = new TPZRefPattern(filename2);
++   TPZAutoPointer<TPZRefPattern> refpat3 = new TPZRefPattern(filename3);
++	TPZAutoPointer<TPZRefPattern> refpat4 = new TPZRefPattern(filename4);
++   TPZAutoPointer<TPZRefPattern> refpat5 = new TPZRefPattern(filename5);
++   TPZAutoPointer<TPZRefPattern> refpat6 = new TPZRefPattern(filename6);
++   TPZAutoPointer<TPZRefPattern> refpat7 = new TPZRefPattern(filename7);
++   
++   if(!gRefDBase.FindRefPattern(refpat1)) gRefDBase.InsertRefPattern(refpat1);
++   if(!gRefDBase.FindRefPattern(refpat2)) gRefDBase.InsertRefPattern(refpat2);
++   if(!gRefDBase.FindRefPattern(refpat3)) gRefDBase.InsertRefPattern(refpat3);
++   if(!gRefDBase.FindRefPattern(refpat4)) gRefDBase.InsertRefPattern(refpat4);
++   if(!gRefDBase.FindRefPattern(refpat5)) gRefDBase.InsertRefPattern(refpat5);
++   if(!gRefDBase.FindRefPattern(refpat6)) gRefDBase.InsertRefPattern(refpat6);
++   if(!gRefDBase.FindRefPattern(refpat7)) gRefDBase.InsertRefPattern(refpat7);
++}
++/*}}}*/
++void AdaptiveMeshRefinement::CheckMesh(int &nvertices,int &nelements,int &nsegments,int &width,double** px,double** py,double** pz,int** pelements, int** psegments){/*{{{*/
++
+     /*Basic verification*/
+     if( !(nvertices > 0) || !(nelements > 0) ) DebugStop(); //itapopo verificar se irá usar o _assert_
+     
+     if ( !(width == 3) && !(width == 4) && !(width == 6) ) DebugStop(); // itapopo verifcar se irá usar o _assert_
+     
+-    if( !x || !y || !z || !elements ) DebugStop(); // itapopo verifcar se irá usar o _assert_
++    if( !px || !py || !pz || !pelements ) DebugStop(); // itapopo verifcar se irá usar o _assert_
+     
+     /*Verify if there are orphan nodes*/
+     std::set<int> elemvertices;
+     elemvertices.clear(); 
+     for(int i = 0; i < nelements; i++){
+         for(int j = 0; j < width; j++) {
+-            elemvertices.insert((*elements)[i][j]);
++            elemvertices.insert((*pelements)[i*width+j]);
+ 		  }
+ 	 }
+     
+     if( elemvertices.size() != nvertices ) DebugStop();//itapopo verificar se irá usar o _assert_
+ 	
+     //Verify if there are inf or NaN in coords
+-    for(int i = 0; i < nvertices; i++) if(isnan((*x)[i]) || isinf((*x)[i])) DebugStop();
+-    for(int i = 0; i < nvertices; i++) if(isnan((*y)[i]) || isinf((*y)[i])) DebugStop();
+-    for(int i = 0; i < nvertices; i++) if(isnan((*z)[i]) || isinf((*z)[i])) DebugStop();
++    for(int i = 0; i < nvertices; i++) if(isnan((*px)[i]) || isinf((*px)[i])) DebugStop();
++    for(int i = 0; i < nvertices; i++) if(isnan((*py)[i]) || isinf((*py)[i])) DebugStop();
++    for(int i = 0; i < nvertices; i++) if(isnan((*pz)[i]) || isinf((*pz)[i])) DebugStop();
+    
+ 	 for(int i = 0; i < nelements; i++){
+         for(int j = 0; j < width; j++){
+-            if( isnan((*elements)[i][j]) || isinf((*elements)[i][j]) ) DebugStop();
++            if( isnan((*pelements)[i*width+j]) || isinf((*pelements)[i*width+j]) ) DebugStop();
+         }
+     }
+     
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21527)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21528)
+@@ -81,10 +81,8 @@
+ 
+ 	#ifdef _HAVE_NEOPZ_
+ 	this->InitializeAdaptiveRefinement();
+-	FemModel *Test=this->ReMesh();//itapopo: just to test!;
+-	//Test->elements->DeepEcho();
+-	//Test->CleanUp();
+-	//delete Test;
++	FemModel *Test=this->ReMesh();//itapopo: just to test!;;
++	//if(IssmComm::GetRank()==0) Test->elements->DeepEcho();
+ 	#endif
+ 
+ 	/*Free resources */
+@@ -2923,113 +2921,61 @@
+ #ifdef _HAVE_NEOPZ_
+ void FemModel::InitializeAdaptiveRefinement(void){/*{{{*/
+ 	
+-	int my_rank=IssmComm::GetRank();
+-	
+-	/*Initialize AMR*/
+-	if(my_rank==0){
+-		/*Just CPU #0 should keep AMR object*/
+-		this->amr = new AdaptiveMeshRefinement();
+-		int hmax = 2; //itapopo: it must be defined by interface. Using 2 just to test
+-		this->amr->SetHMax(hmax); //Set max level of refinement
+-	} 
+-	else{
+-		this->amr=NULL;
+-	}
+-	
+-	/*Get initial mesh*/
+-	/*Get total number of elements and total numbers of elements in the initial mesh*/
+-	int numberofvertices, numberofelements, numberofsegments;
+-	numberofvertices = this->vertices->NumberOfVertices();
+-	numberofelements = this->elements->NumberOfElements();
+-	numberofsegments = -1; //used on matlab
++	/*Define variables*/
++	int my_rank				= IssmComm::GetRank();
++	this->amr				= NULL;//initialize amr as NULL
++	int numberofvertices = this->vertices->NumberOfVertices();
++	int numberofelements = this->elements->NumberOfElements();
++	int numberofsegments = 0; //used on matlab
++	IssmDouble* x			= NULL;
++	IssmDouble* y			= NULL;
++	IssmDouble* z			= NULL;
++	int* elements			= NULL;
++	int elementswidth		= this->GetElementsWidth(); //just tria elements in this version. Itapopo:
+ 
+-	/*Get vertices coordinates*/
+-	IssmDouble *x = NULL;
+-	IssmDouble *y = NULL;
+-	IssmDouble *z = NULL;
+-	VertexCoordinatesx(&x, &y, &z, this->vertices,false) ;
+-
+-	/*Get element vertices*/
+-	int elementswidth = 3; //just 2D mesh in this version (just tria elements)
+-	int* elem_vertices=xNew<int>(elementswidth);
+-	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements);
+-	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements);
+-	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
+-
+-	/*Go through elements, and for each element, get vertices*/
+-   for(int i=0;i<this->elements->Size();i++){
+-    	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
+-    	element->GetVerticesSidList(elem_vertices);
+-    	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
+-    	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
+-    	vid3->SetValue(element->sid,elem_vertices[2],INS_VAL);
+-   }
+-		
+-	/*Assemble*/
+-   vid1->Assemble();
+-   vid2->Assemble();
+-   vid3->Assemble();
+-
+-   /*Serialize*/
+-	IssmDouble *id1 = vid1->ToMPISerial();
+-   IssmDouble *id2 = vid2->ToMPISerial();
+-	IssmDouble *id3 = vid3->ToMPISerial();
++	/*Get vertices coordinates of the coarse mesh (father mesh)*/
++	/*elements comes in Matlab indexing*/
++	this->GetMesh(this,&x,&y,&z,&elements);
+ 	
+-	int **elementsptr;
+-	elementsptr = new int*[numberofelements];
+-   for(int i=0;i<numberofelements;i++){
+-		elementsptr[i] = new int[elementswidth];
+-      elementsptr[i][0] = (int)id1[i];
+-		elementsptr[i][1] = (int)id2[i];
+-      elementsptr[i][2] = (int)id3[i];
+-	}
+-
+ 	/*Create initial mesh (coarse mesh) in neopz data structure*/ 
++	/*Just CPU #0 should keep AMR object*/
+    if(my_rank==0){ 
+-		int nsegments=0;
+-		this->amr->CreateInitialMesh(numberofvertices, numberofelements, nsegments, elementswidth, x, y, z, elementsptr, NULL);
++		this->amr = new AdaptiveMeshRefinement();
++		int hmax	 = 0; //itapopo: it must be defined by interface. Using 2 just to test
++		this->amr->SetHMax(hmax); //Set max level of refinement
++		this->amr->CreateInitialMesh(numberofvertices,numberofelements,numberofsegments,elementswidth,x,y,z,elements,NULL);
+ 	}
+ 
+ 	/*Free the vectors*/
+ 	xDelete<IssmDouble>(x);
+ 	xDelete<IssmDouble>(y);
+ 	xDelete<IssmDouble>(z);
+-	delete vid1;
+-	delete vid2;
+-	delete vid3;
+-	xDelete<IssmDouble>(id1);
+-	xDelete<IssmDouble>(id2);
+-	xDelete<IssmDouble>(id3);			
+-	for(int i=0;i<numberofelements;i++) delete [] elementsptr[i];
+-   if(elementsptr) delete [] elementsptr;
+-	xDelete<int>(elem_vertices);
++	xDelete<int>(elements);
+ 
+ }
+ /*}}}*/
+ FemModel* FemModel::ReMesh(void){/*{{{*/
+ 	
+-	int numprocs=IssmComm::GetSize();
+-	if(numprocs>1) _error_("Multithreading not tested yet. Run with 1 cpu.");
+-	
+ 	/*Variables*/
+-	IssmDouble *newx=NULL;
+-	IssmDouble *newy=NULL;
+-	IssmDouble *newz=NULL;
+-	int *newelementslist=NULL;
+-	int newnumberofvertices=-1;
+-	int newnumberofelements=-1;
+-	bool* my_elements=NULL; 
+-	int* my_vertices=NULL;
+-	int elementswidth=3;//just tria elements in this version
++	IssmDouble *newx			= NULL;
++	IssmDouble *newy			= NULL;
++	IssmDouble *newz			= NULL;
++	int *newelementslist		= NULL;
++	int newnumberofvertices	= -1;
++	int newnumberofelements = -1;
++	bool* my_elements			= NULL; 
++	int* my_vertices			= NULL;
++	int elementswidth			= this->GetElementsWidth();//just tria elements in this version
+ 
+ 	/*Execute refinement and get the new mesh*/
++	/*newelementslist come in Matlab indexing*/
+ 	this->ExecuteRefinement(newnumberofvertices,newnumberofelements,&newx,&newy,&newz,&newelementslist);
+ 
+ 	/*Partitioning the new mesh. Maybe ElementsAndVerticesPartitioning.cpp could be modified to set this without iomodel.*/
+ 	this->ElementsAndVerticesPartitioning(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,&my_elements,&my_vertices);
+-	
++
+ 	/*Creating new femmodel with new mesh*/
+-	FemModel* output=new FemModel(*this);
++	FemModel* output = new FemModel(*this);
+ 
+ 	/*Copy basic attributes:*/
+ 	output->nummodels        = this->nummodels;
+@@ -3054,13 +3000,11 @@
+ 	/*Create vertices*/
+ 	output->vertices=new Vertices();
+ 	this->CreateVertices(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,my_vertices,newx,newy,newz,output->vertices);
+-
++ 
+ 	/*Creating elements*/
+ 	/*Just Tria in this version*/
+ 	output->elements=new Elements();
+-	this->CreateElements(newnumberofelements,elementswidth,newelementslist,my_elements,output->elements);
+-	/*Cleanup*/
+-//	xDelete<int>(newelementslist); itapopo	    
++	this->CreateElements(newnumberofelements,elementswidth,newelementslist,my_elements,output->elements); 
+ 
+ 	/*Creating materials*/
+ 	output->materials=new Materials();
+@@ -3088,7 +3032,7 @@
+ 
+ 	/*Create constraints*/
+ 	output->constraints=new Constraints();
+-	this->CreateConstraints(newnumberofvertices,newnumberofelements,newelementslist,newx,newy,my_vertices,output->constraints);
++	this->CreateConstraints(newnumberofvertices,newnumberofelements,newx,newy,my_vertices,output->constraints);
+ 	
+ 	output->elements->Presort();
+ 	output->nodes->Presort();
+@@ -3116,16 +3060,24 @@
+ 		NodesDofx(output->nodes,output->parameters,analysis_type);
+ 	}
+ 
+-	/*Finally: interpolate all inputs*/
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++	/*Finally: interpolate all inputs and insert them into the new elements.*/
+ 	this->InterpolateInputs(output);
+-	
++	GetMaskOfIceVerticesLSMx(output);
++
+ 	/*Reset current configuration: */
+ 	analysis_type=output->analysis_type_list[this->analysis_counter];
+ 	output->SetCurrentConfiguration(analysis_type);
+ 
++	/*Cleanup*/
++	xDelete<IssmDouble>(newx);
++	xDelete<IssmDouble>(newy);
++	xDelete<IssmDouble>(newz);
++	xDelete<int>(newelementslist);
++	xDelete<int>(my_vertices);
++	xDelete<bool>(my_elements);
+ 
+ 	return output;
++
+ }
+ /*}}}*/
+ void FemModel::InterpolateInputs(FemModel* newfemmodel){/*{{{*/
+@@ -3189,9 +3141,6 @@
+ 		}
+ 	}
+ 
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+-	printf("Found %i %i inputs\n",numP0inputs,numP1inputs);
+-
+ 	/*========== Deal with P0 inputs ==========*/
+ 	int numelementsold = this->elements->NumberOfElements();
+ 	int numelementsnew = newfemmodel->elements->NumberOfElements();
+@@ -3202,15 +3151,12 @@
+ 	IssmDouble* vector      = NULL;
+ 
+ 	for(int i=0;i<numP0inputs;i++){
+-		printf("Dealing with %s (type: %s)\n",EnumToStringx(P0input_enums[i]),EnumToStringx(P0input_interp[i]));
+ 		GetVectorFromInputsx(&vector,this,P0input_enums[i],ElementSIdEnum);
+ 
+ 		/*Copy vector in matrix*/
+ 		for(int j=0;j<numelementsold;j++) P0inputsold[j*numP0inputs+i] = vector[j];
+ 		xDelete<IssmDouble>(vector);
+ 	}
+-	printf("Printing array to make sure it looks alright\n");
+-	printarray(P0inputsold,numelementsold,numP0inputs);
+ 
+ 	/*========== Deal with P1 inputs ==========*/
+ 	IssmDouble* P1inputsold = xNew<IssmDouble>(numverticesold*numP1inputs);
+@@ -3218,110 +3164,180 @@
+ 	vector      = NULL;
+ 
+ 	for(int i=0;i<numP1inputs;i++){
+-		printf("Dealing with %s (type: %s)\n",EnumToStringx(P1input_enums[i]),EnumToStringx(P1input_interp[i]));
+ 		GetVectorFromInputsx(&vector,this,P1input_enums[i],VertexSIdEnum);
+ 
+ 		/*Copy vector in matrix*/
+ 		for(int j=0;j<numverticesold;j++) P1inputsold[j*numP1inputs+i] = vector[j];
+ 		xDelete<IssmDouble>(vector);
+ 	}
+-	printf("Printing array to make sure it looks alright\n");
+-	printarray(P1inputsold,numverticesold,numP1inputs);
+ 	
+ 	/*Old mesh coordinates*/
+ 	IssmDouble *Xold     = NULL;
+ 	IssmDouble *Yold     = NULL;
+ 	IssmDouble *Zold		= NULL;
+ 	int        *Indexold = NULL;
+-	int        *Indexnew = NULL;
+ 	IssmDouble *Xnew     = NULL;
+ 	IssmDouble *Ynew     = NULL;
+ 	IssmDouble *Znew		= NULL;
++	IssmDouble* XC_new   = NULL;
++	IssmDouble* YC_new   = NULL;
++	int        *Indexnew = NULL;
+ 	
+ 	/*Get the old mesh*/
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	this->GetMesh(this,&Xold,&Yold,&Zold,&Indexold);
+ 
+ 	/*Get the new mesh*/
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
+ 	this->GetMesh(newfemmodel,&Xnew,&Ynew,&Znew,&Indexnew);
+-	
+-	printf("-------------- file: FemModel.cpp line: %i\n",__LINE__); 
++
++	/*Calculate the center points xc and xy*/
++	int elementswidth = this->GetElementsWidth(); //just tria in this version
++	/*new mesh*/
++	XC_new=xNewZeroInit<IssmDouble>(numelementsnew);
++	YC_new=xNewZeroInit<IssmDouble>(numelementsnew);
++	for(int i=0;i<numelementsnew;i++){
++		for(int j=0;j<elementswidth;j++){
++			int vid = Indexnew[i*elementswidth+j]-1;//Transform to C indexing
++			XC_new[i]+=Xnew[vid];
++			YC_new[i]+=Ynew[vid];
++		}
++		XC_new[i]=XC_new[i]/3;
++		YC_new[i]=YC_new[i]/3;
++	}
++
+ 	/*Interplate P0 inputs in the new mesh*/
+ 	InterpFromMeshToMesh2dx(&P0inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
+ 				P0inputsold,numelementsold,numP0inputs,
+-				Xnew,Ynew,numelementsnew,NULL);
++				XC_new,YC_new,numelementsnew,NULL);
+ 	
+-	printf("Printing array AFTER INTERP - P0 INPUTS - to make sure it looks alright\n");
+-	printarray(P0inputsnew,numelementsnew,numP0inputs);
+-	
+ 	/*Interpolate P1 inputs in the new mesh*/
+ 	InterpFromMeshToMesh2dx(&P1inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
+ 				P1inputsold,numverticesold,numP1inputs,
+ 				Xnew,Ynew,numverticesnew,NULL);
+ 
+-	printf("Printing array AFTER INTERP - P1 INPUTS - to make sure it looks alright\n");
+-	printarray(P1inputsnew,numverticesnew,numP1inputs);
+-	
+-	_error_("STOP");
++	/*Insert P0 inputs into the new elements.*/
++	vector=NULL;
++	for(int i=0;i<numP0inputs;i++){
++		
++		/*Get P0 input vector from the interpolated matrix*/
++		vector=xNew<IssmDouble>(numelementsnew);
++		for(int j=0;j<numelementsnew;j++) vector[j]=P0inputsnew[j*numP0inputs+i];//vector has values for all elements (serial)
+ 
++		/*Update elements from inputs: */
++		for(int j=0;j<newfemmodel->elements->Size();j++){
++			Element* element=xDynamicCast<Element*>(newfemmodel->elements->GetObjectByOffset(j));
++			switch(P0input_interp[i]){	
++				case P0Enum:
++				case DoubleInputEnum:
++					element->AddInput(new DoubleInput(P0input_enums[i],vector[element->sid]));//sid because newfemmodel has just a partitioning 
++					break;
++				case IntInputEnum: 
++					element->AddInput(new IntInput(P0input_enums[i],vector[element->sid]));//sid because newfemmodel has just a partitioning
++					break;
++				case BoolInputEnum:
++					element->AddInput(new BoolInput(P0input_enums[i],vector[element->sid]));//sid because newfemmodel has just a partitioning
++					break;
++				default:
++					_error_(EnumToStringx(P0input_enums[i])<<" Not supported yet");
++			}
++		}
++
++		xDelete<IssmDouble>(vector);
++	}
++
++	/*Insert P1 inputs into the new elements.*/
++	vector=NULL;
++	for(int i=0;i<numP1inputs;i++){
++
++		/*Get P0 input vector from the interpolated matrix*/
++		vector=xNew<IssmDouble>(numverticesnew);
++		for(int j=0;j<numverticesnew;j++) vector[j]=P1inputsnew[j*numP1inputs+i];//vector has all vertices	(serial)
++
++		/*Update elements from inputs: */
++		InputUpdateFromVectorx(newfemmodel,vector,P1input_enums[i],VertexSIdEnum);//VertexSId because vector is serial in SId indexing
++		
++		xDelete<IssmDouble>(vector);
++	}
++
++	/*Cleanup*/
++	xDelete<IssmDouble>(input_interpolations_serial);
+ 	xDelete<IssmDouble>(P0inputsold);
+ 	xDelete<IssmDouble>(P0inputsnew);
++	xDelete<int>(P0input_enums);
++	xDelete<int>(P0input_interp);
+ 	xDelete<IssmDouble>(P1inputsold);
+ 	xDelete<IssmDouble>(P1inputsnew);
++	xDelete<int>(P1input_enums);
++	xDelete<int>(P1input_interp);
++	xDelete<IssmDouble>(Xold);
++	xDelete<IssmDouble>(Yold);
++	xDelete<IssmDouble>(Zold);
++	xDelete<int>(Indexold);
++	xDelete<IssmDouble>(Xnew);
++	xDelete<IssmDouble>(Ynew);
++	xDelete<IssmDouble>(Znew);
++	xDelete<IssmDouble>(XC_new);
++	xDelete<IssmDouble>(YC_new);
++	xDelete<int>(Indexnew);
+ 
+-	_error_("STOP");
+ }
+ /*}}}*/
+-void FemModel::ExecuteRefinement(int &newnumberofvertices,int &newnumberofelements,IssmDouble** newx,IssmDouble** newy,IssmDouble** newz,int** pnewelementslist){/*{{{*/
+-
+-	int **newelements=NULL;
+-	int **newsegments=NULL;	
+-	int newnumberofsegments=-1;
++void FemModel::ExecuteRefinement(int &numberofvertices,int &numberofelements,IssmDouble** px,IssmDouble** py,IssmDouble** pz,int** pelementslist){/*{{{*/
+ 	
+-	/*All indexing here is in C type: 0..n-1*/
+-	int my_rank=IssmComm::GetRank();
+-   const int elementswidth=3;//just 2D mesh, tria elements
++	/*elements is in Matlab indexing*/
+ 	
++	int my_rank					 = IssmComm::GetRank();
++	int numberofsegments		 = -1;
++	IssmDouble* vx				 = NULL; //itapopo this is not being used
++	IssmDouble* vy				 = NULL; //itapopo this is not being used
++	IssmDouble* x				 = NULL;
++	IssmDouble* y				 = NULL;
++	IssmDouble* z				 = NULL;
++	int* elementslist			 = NULL;
++	int* segments				 = NULL;
++	IssmDouble* masklevelset = NULL;
++   const int elementswidth  = this->GetElementsWidth();//just 2D mesh, tria elements
++	
+ 	/*Solutions which will be used to refine the elements*/
+-	IssmDouble* vx=NULL; //itapopo this is not being used
+-	IssmDouble* vy=NULL; //itapopo this is not being used
+-	IssmDouble* masklevelset=NULL;
+-	int* newelementslist=NULL;
+-
+ 	this->GetMaskLevelSet(&masklevelset);//itapopo verificar se já existe um método igual a esse
+ 	
+-	int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
+ 	if(my_rank==0){
+-		this->amr->ExecuteRefinement(type_process,vx,vy,masklevelset,newnumberofvertices,newnumberofelements,newnumberofsegments,newx,newy,newz,&newelements,&newsegments);
+-		if(newnumberofvertices<=0 || newnumberofelements<=0 /*|| newnumberofsegments<=0*/) _error_("Error in the refinement process.");
+-		
+-//		printf("   PRINTING COORDINATES... \n");	    
+- //		for(int i=0;i<newnumberofvertices;i++) std::cout << "ID: " << i << "\t" << "X: " << newx[i] << "\t" << "Y: " << newy[i] << "\n";
+-  //  	printf("   PRINTING ELEMENTS... \n");	   
+-  // 	for(int i=0;i<newnumberofelements;i++) std::cout << "El: " << i << "\t" << newelements[i][0] << "\t" << newelements[i][1] << "\t" << newelements[i][2] << "\n";
++		int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
++		this->amr->ExecuteRefinement(type_process,vx,vy,masklevelset,
++												numberofvertices,numberofelements,numberofsegments,&x,&y,&z,&elementslist,&segments);
++		if(numberofvertices<=0 || numberofelements<=0 /*|| newnumberofsegments<=0*/) _error_("Error in the refinement process.");
+ 	}
+-	
+-	/*Fill the element list to partitioning*/	
+-	if(my_rank==0){
+-		newelementslist=xNew<int>(newnumberofelements*elementswidth);
+-		for(int i=0;i<newnumberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
+-			for(int j=0;j<elementswidth;j++){
+-				newelementslist[elementswidth*i+j]=newelements[i][j]; //C indexing
+-			}
+-		}	
+-		(*pnewelementslist)=newelementslist;
++	else{
++		x=xNew<IssmDouble>(numberofvertices);
++		y=xNew<IssmDouble>(numberofvertices);
++		z=xNew<IssmDouble>(numberofvertices);
++		elementslist=xNew<int>(numberofelements*this->GetElementsWidth());
+ 	}
+ 
+-	/*Cleanup masklevetset*/
++	/*Send new mesh to others CPU*/
++	ISSM_MPI_Bcast(&numberofvertices,1,ISSM_MPI_INT,0,IssmComm::GetComm());
++	ISSM_MPI_Bcast(&numberofelements,1,ISSM_MPI_INT,0,IssmComm::GetComm());
++	ISSM_MPI_Bcast(x,numberofvertices,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm());	
++	ISSM_MPI_Bcast(y,numberofvertices,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm());	
++	ISSM_MPI_Bcast(z,numberofvertices,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm());	
++	ISSM_MPI_Bcast(elementslist,numberofelements*this->GetElementsWidth(),ISSM_MPI_INT,0,IssmComm::GetComm());	
++
++	/*Assign the pointers*/	
++	(*pelementslist) = elementslist; //Matlab indexing
++	(*px)				  = x;
++	(*py)				  = y;
++	(*pz)				  = z;
++
++	/*Cleanup*/
++	if(segments) xDelete<int>(segments);
+ 	xDelete<IssmDouble>(masklevelset);
++
+ }
+ /*}}}*/
+ void FemModel::GetMaskLevelSet(IssmDouble **pmasklevelset){/*{{{*/
+ 
+-	int elementswidth=3;//just 2D mesh, tria elements
+-	int numberofelements=this->elements->NumberOfElements();
+-	int numberofvertices=this->vertices->NumberOfVertices();
++	int elementswidth		= this->GetElementsWidth();//just 2D mesh, tria elements
++	int numberofelements = this->elements->NumberOfElements();
++	int numberofvertices = this->vertices->NumberOfVertices();
+ 
+ 	IssmDouble* elementlevelset=xNew<IssmDouble>(elementswidth);
+ 	int* elem_vertices=xNew<int>(elementswidth);
+@@ -3351,15 +3367,17 @@
+ /*}}}*/
+ void FemModel::CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices){/*{{{*/
+ 
++	/*newelementslist is in Matlab indexing*/
++	
+ 	/*Creating connectivity table*/
+ 	int* connectivity=NULL;
+ 	connectivity=xNewZeroInit<int>(newnumberofvertices);
+ 
+ 	for (int i=0;i<newnumberofelements;i++){
+ 		for (int j=0;j<elementswidth;j++){
+-			int vertexid = newelementslist[elementswidth*i+j];//C indexing
+-			_assert_(vertexid>-1 && vertexid<newnumberofvertices);
+-			connectivity[vertexid]+=1;
++			int vertexid = newelementslist[elementswidth*i+j];
++			_assert_(vertexid>0 && vertexid-1<newnumberofvertices);//Matlab indexing
++			connectivity[vertexid-1]+=1;//Matlab to C indexing
+ 		}
+ 	}	
+ 
+@@ -3386,6 +3404,8 @@
+ /*}}}*/
+ void FemModel::CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements){/*{{{*/
+ 
++	/*newlementslist is in Matlab indexing*/
++
+ 	for(int i=0;i<newnumberofelements;i++){
+ 		if(my_elements[i]){
+ 			/*Create element - just tria in this version*/
+@@ -3409,7 +3429,7 @@
+ 			int material_id=i+1; // retrieve material_id = i+1;
+ 			/*retrieve vertices ids*/
+ 			int* vertex_ids=xNew<int>(elementswidth);
+-			for(int j=0;j<elementswidth;j++)	vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j])+1;//this Hook wants Matlab indexing	
++			for(int j=0;j<elementswidth;j++)	vertex_ids[j]=reCast<int>(newelementslist[elementswidth*i+j]);//this Hook wants Matlab indexing	
+ 			/*Setting the hooks*/
+ 			newtria->numanalyses =this->nummodels;
+ 			newtria->hnodes		=new Hook*[this->nummodels];
+@@ -3425,8 +3445,6 @@
+ 		} 
+ 	}
+ 
+-	//itapopo there is this line in CreateElementsVerticesAndMaterials.
+-	//elements->InputDuplicate(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
+ }
+ /*}}}*/
+ void FemModel::CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials){/*{{{*/
+@@ -3440,6 +3458,7 @@
+ 	
+ 	/*Add new constant material property to materials, at the end: */
+ 	Matpar *newmatpar=static_cast<Matpar*>(this->materials->GetObjectByOffset(this->materials->Size()-1)->copy());
++	newmatpar->mid = newnumberofelements+1;//itapopo testando
+ 	materials->AddObject(newmatpar);//put it at the end of the materials	    
+ 
+ }
+@@ -3447,7 +3466,6 @@
+ void FemModel::CreateNodes(int newnumberofvertices,int* my_vertices,int nodecounter,int analysis_enum,Nodes* nodes){/*{{{*/
+ 
+ 	int lid=0;
+-//itapopo use the GetMesh!!
+ 	for(int j=0;j<newnumberofvertices;j++){
+ 		if(my_vertices[j]){				
+ 			
+@@ -3496,7 +3514,7 @@
+ 	if(!femmodel) _error_("GetMesh: NULL femmodel.");
+ 	
+ 	int numberofvertices, numberofelements;
+-	int elementswidth = 3; //itapopo just 2D mesh in this version (just tria elements)
++	int elementswidth = this->GetElementsWidth(); // just 2D mesh in this version (just tria elements)
+ 	IssmDouble *x		= NULL;
+ 	IssmDouble *y		= NULL;
+ 	IssmDouble *z		= NULL;	
+@@ -3537,7 +3555,6 @@
+ 	elementslist=xNew<int>(numberofelements*elementswidth);
+ 	if(numberofelements*elementswidth<0) _error_("numberofelements negative.");
+ 	for(int i=0;i<numberofelements;i++){
+-		std::cout << (int)id1[i]+1 << " " << (int)id2[i]+1 <<" " << (int)id3[i]+1 <<  std::endl;
+ 		elementslist[elementswidth*i+0] = (int)id1[i]+1; //InterpMesh wants Matlab indexing
+ 		elementslist[elementswidth*i+1] = (int)id2[i]+1; //InterpMesh wants Matlab indexing
+ 		elementslist[elementswidth*i+2] = (int)id3[i]+1; //InterpMesh wants Matlab indexinf
+@@ -3547,57 +3564,32 @@
+ 	*px				= x;
+ 	*py				= y;
+ 	*pz				= z;
+-	*pelementslist = elementslist;
++	*pelementslist = elementslist; //Matlab indexing. InterMesh uses this type.
++
++	/*Cleanup*/
++	xDelete<int>(elem_vertices);
++	xDelete<IssmDouble>(id1);
++	xDelete<IssmDouble>(id2);
++	xDelete<IssmDouble>(id3);
++	delete vid1;
++	delete vid2;
++	delete vid3;
+ }
+ /*}}}*/
+-void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,int* newelementslist,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
++void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
+ 
+ 	/*Get x and y of the mesh i-1*/
+-	int numberofvertices, numberofelements;
+-	numberofvertices = this->vertices->NumberOfVertices();
+-	numberofelements = this->elements->NumberOfElements();
++	int my_rank						= IssmComm::GetRank();
++	int numberofvertices			= this->vertices->NumberOfVertices();
++	int numberofelements			= this->elements->NumberOfElements();
++	IssmDouble *x					= NULL;
++	IssmDouble *y					= NULL;
++	IssmDouble *z					= NULL;
++	int        *elementslist	= NULL;
+ 
+-	/*Get vertices coordinates*/
+-	IssmDouble *x = NULL;
+-	IssmDouble *y = NULL;
+-	IssmDouble *z = NULL;
+-	VertexCoordinatesx(&x, &y, &z, this->vertices,false) ;
+-
+-	/*Get element vertices*/
+-	int elementswidth = 3; //just 2D mesh in this version (just tria elements)
+-	int* elem_vertices=xNew<int>(elementswidth);
+-	Vector<IssmDouble>* vid1= new Vector<IssmDouble>(numberofelements);
+-	Vector<IssmDouble>* vid2= new Vector<IssmDouble>(numberofelements);
+-	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
+-
+-	/*Go through elements, and for each element, get vertices*/
+-   for(int i=0;i<this->elements->Size();i++){
+-    	Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
+-    	element->GetVerticesSidList(elem_vertices);
+-    	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
+-    	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
+-    	vid3->SetValue(element->sid,elem_vertices[2],INS_VAL);
+-   }
+-		
+-	/*Assemble*/
+-   vid1->Assemble();
+-   vid2->Assemble();
+-   vid3->Assemble();
+-
+-   /*Serialize*/
+-	IssmDouble *id1 = vid1->ToMPISerial();
+-   IssmDouble *id2 = vid2->ToMPISerial();
+-	IssmDouble *id3 = vid3->ToMPISerial();
++	/*elementslist is in Matlab indexing*/
++	this->GetMesh(this,&x,&y,&z,&elementslist);
+ 	
+-	/*Construct elements list (mesh i-1)*/
+-	int* elementslist=NULL;
+-	elementslist=xNew<int>(numberofelements*elementswidth);
+-	for(int i=0;i<numberofelements;i++){ //itapopo os elementos poderão sair do ExecuteRefinement nesse formato
+-		elementslist[elementswidth*i+0] = (int)id1[i]+1; //InterpMesh wants Matlab indexing
+-		elementslist[elementswidth*i+1] = (int)id2[i]+1; //InterpMesh wants Matlab indexing
+-		elementslist[elementswidth*i+2] = (int)id3[i]+1; //InterpMesh wants Matlab indexinf
+-	}	
+-
+ 	/*itapopo ATTENTION: JUST SPCVX AND SPCVY TO TEST!!!*/
+ 	/*OTHERS CONSTRAINTS MUST BE IMPLEMENTED!!!*/
+ 
+@@ -3644,32 +3636,26 @@
+ 	vspcvyflag->Assemble();
+ 
+ 	/*Serialize*/
+-	spcvx=vspcvx->ToMPISerial();
+-	spcvy=vspcvy->ToMPISerial();
+-	spcvxflag=vspcvxflag->ToMPISerial();
+-	spcvyflag=vspcvyflag->ToMPISerial();
+-	/*Free the data*/
+-	delete vspcvx;
+-	delete vspcvy;	
+-	delete vspcvxflag;
+-	delete vspcvyflag;
++	spcvx		 = vspcvx->ToMPISerial();
++	spcvy		 = vspcvy->ToMPISerial();
++	spcvxflag = vspcvxflag->ToMPISerial();
++	spcvyflag = vspcvyflag->ToMPISerial();
+ 	
+-	IssmDouble *newspcvx=NULL;
+-	IssmDouble *newspcvy=NULL;
+-	IssmDouble *newspcvxflag=NULL;
+-	IssmDouble *newspcvyflag=NULL;
+-	int nods_data=numberofvertices;
+-	int nels_data=numberofelements;
+-	int M_data=numberofvertices;
+-	int N_data=1;
+-	int N_interp=newnumberofvertices;
+-	Options *options=new Options();
++	IssmDouble *newspcvx		 = NULL;
++	IssmDouble *newspcvy		 = NULL;
++	IssmDouble *newspcvxflag = NULL;
++	IssmDouble *newspcvyflag = NULL;
++	int nods_data				 = numberofvertices;
++	int nels_data				 = numberofelements;
++	int M_data					 = numberofvertices;
++	int N_data					 = 1;
++	int N_interp				 = newnumberofvertices;
+ 
+   /*Interpolate spcvx and spcvy in the new mesh*/
+-	InterpFromMeshToMesh2dx(&newspcvx,elementslist,x,y,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,options);
+-	InterpFromMeshToMesh2dx(&newspcvy,elementslist,x,y,nods_data,nels_data,spcvy,M_data,N_data,newx,newy,N_interp,options);
+-	InterpFromMeshToMesh2dx(&newspcvxflag,elementslist,x,y,nods_data,nels_data,spcvxflag,M_data,N_data,newx,newy,N_interp,options);
+-	InterpFromMeshToMesh2dx(&newspcvyflag,elementslist,x,y,nods_data,nels_data,spcvyflag,M_data,N_data,newx,newy,N_interp,options);
++	InterpFromMeshToMesh2dx(&newspcvx,elementslist,x,y,nods_data,nels_data,spcvx,M_data,N_data,newx,newy,N_interp,NULL);
++	InterpFromMeshToMesh2dx(&newspcvy,elementslist,x,y,nods_data,nels_data,spcvy,M_data,N_data,newx,newy,N_interp,NULL);
++	InterpFromMeshToMesh2dx(&newspcvxflag,elementslist,x,y,nods_data,nels_data,spcvxflag,M_data,N_data,newx,newy,N_interp,NULL);
++	InterpFromMeshToMesh2dx(&newspcvyflag,elementslist,x,y,nods_data,nels_data,spcvyflag,M_data,N_data,newx,newy,N_interp,NULL);
+ 	
+ 	int nodecounter			= 0; //itapopo deve começar pelo primeiro nó do StressbalanceAnalysis
+ 	int count					= 0;
+@@ -3695,12 +3681,32 @@
+ 			//add count'th spc, on node i+1, setting dof 1 to vx.
+ 			count++;
+ 		}
++	}
+ 
+-	}
++	/*Cleanup*/
++	xDelete<IssmDouble>(x);
++	xDelete<IssmDouble>(y);
++	xDelete<IssmDouble>(z);
++	xDelete<int>(elementslist);
++	xDelete<IssmDouble>(spcvx);
++	xDelete<IssmDouble>(spcvy);
++	xDelete<IssmDouble>(spcvxflag);
++	xDelete<IssmDouble>(spcvyflag);
++	xDelete<IssmDouble>(newspcvx);
++	xDelete<IssmDouble>(newspcvy);
++	xDelete<IssmDouble>(newspcvxflag);
++	xDelete<IssmDouble>(newspcvyflag);
++	delete vspcvx;
++	delete vspcvy;	
++	delete vspcvxflag;
++	delete vspcvyflag;
++
+ }
+ /*}}}*/
+ void FemModel::UpdateElements(int newnumberofelements,int* newelementslist,bool* my_elements,int nodecounter,int analysis_counter,Elements* newelements){/*{{{*/
+ 
++	/*newelementslist is in Matlab indexing*/
++
+ 	/*Update elements, set hnode.
+ 	This code is in all analysis */
+ 	int elemcounter=0;
+@@ -3711,9 +3717,9 @@
+ 			tria->element_type_list[analysis_counter]=P1Enum;
+ 			int numnodes=3;
+          int* tria_node_ids=xNew<int>(numnodes);
+-         tria_node_ids[0]=nodecounter+newelementslist[3*iel+0]+1; //matlab indexing
+-         tria_node_ids[1]=nodecounter+newelementslist[3*iel+1]+1; //matlab indexing
+-         tria_node_ids[2]=nodecounter+newelementslist[3*iel+2]+1; //matlab indexing
++         tria_node_ids[0]=nodecounter+newelementslist[3*iel+0]; //matlab indexing
++         tria_node_ids[1]=nodecounter+newelementslist[3*iel+1]; //matlab indexing
++         tria_node_ids[2]=nodecounter+newelementslist[3*iel+2]; //matlab indexing
+ 			tria->SetHookNodes(tria_node_ids,numnodes,analysis_counter); tria->nodes=NULL;
+    		xDelete<int>(tria_node_ids);
+ 			elemcounter++;
+@@ -3724,25 +3730,35 @@
+ /*}}}*/
+ void FemModel::ElementsAndVerticesPartitioning(int& newnumberofvertices,int& newnumberofelements,int& elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices){/*{{{*/
+ 
+-	int *epart=NULL; //element partitioning.
+-	int *npart=NULL; //node partitioning.
+-	int edgecut=1;
+-	int numflag=0;
+-	int etype=1;
+-	int my_rank = IssmComm::GetRank();
+-	int numprocs=IssmComm::GetSize();
+-	bool *my_elements=NULL;
+-	int *my_vertices=NULL;
++	/*newelementslist come in Matlab indexing*/
++
++	int *epart			= NULL; //element partitioning.
++	int *npart			= NULL; //node partitioning.
++	int *index 			= NULL; //elements in C indexing
++	int edgecut			= 1;
++	int numflag			= 0;
++	int etype			= 1;
++	int my_rank			= IssmComm::GetRank();
++	int numprocs		= IssmComm::GetSize();
++	bool *my_elements = NULL;
++	int *my_vertices  = NULL;
+ 	
+ 	_assert_(newnumberofvertices>0); 
+ 	_assert_(newnumberofelements>0); 
+ 	epart=xNew<int>(newnumberofelements);
+ 	npart=xNew<int>(newnumberofvertices);
++   index=xNew<int>(elementswidth*newnumberofelements);
++   
++	for (int i=0;i<newnumberofelements;i++){
++   	for (int j=0;j<elementswidth;j++){
++      	*(index+elementswidth*i+j)=(*(newelementslist+elementswidth*i+j))-1; //-1 for C indexing in Metis
++      }
++   }
+ 
+ 	/*Partition using Metis:*/
+ 	if (numprocs>1){
+ #ifdef _HAVE_METIS_
+-		METIS_PartMeshNodalPatch(&newnumberofelements,&newnumberofvertices, newelementslist, &etype, &numflag, &numprocs, &edgecut, epart, npart);
++		METIS_PartMeshNodalPatch(&newnumberofelements,&newnumberofvertices, index, &etype, &numflag, &numprocs, &edgecut, epart, npart);
+ #else
+ 		_error_("metis has not beed installed. Cannot run with more than 1 cpu");
+ #endif
+@@ -3769,20 +3785,21 @@
+ 			 into the vertices coordinates. If we start plugging 1 into my_vertices for each index[n][i] (i=0:2), then my_vertices 
+ 			 will hold which vertices belong to this partition*/
+ 			for(int j=0;j<elementswidth;j++){
+-				_assert_(newelementslist[elementswidth*i+j]<newnumberofvertices); 
+-				my_vertices[newelementslist[elementswidth*i+j]]=1;
++				_assert_(newelementslist[elementswidth*i+j]-1<newnumberofvertices);//newelementslist is in Matlab indexing 
++				my_vertices[newelementslist[elementswidth*i+j]-1]=1;//newelementslist is in Matlab indexing
+ 			}
+ 		}
+ 	}
+ 
++	/*Assign output pointers:*/
++	*pmy_elements=my_elements;
++	*pmy_vertices=my_vertices;
++
+ 	/*Free ressources:*/
+ 	xDelete<int>(epart);
+ 	xDelete<int>(npart);	    
++	xDelete<int>(index);
+ 
+-	/*Assign output pointers:*/
+-	*pmy_elements=my_elements;
+-	*pmy_vertices=my_vertices;
+-
+ }
+ /*}}}*/
+ #endif
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21527)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21528)
+@@ -1577,7 +1577,11 @@
+ 				name==HydrologyHeadEnum ||
+ 	         name==HydrologyHeadOldEnum ||		
+ 				name==StressbalanceConvergenceNumStepsEnum || 
+-				name==MeshVertexonbaseEnum 
++				name==MeshVertexonbaseEnum || 
++				name==FrictionPEnum ||
++				name==FrictionQEnum ||
++				name==LoadingforceXEnum ||
++				name==LoadingforceYEnum
+ 
+ 				) {
+ 					return true;
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21527)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21528)
+@@ -9,7 +9,11 @@
+ #include <string>
+ 
+ /*NeoPZ includes*/
+-/*REAL and STATE definitions, NeoPZ variables*/
++/*REAL and STATE definitions, NeoPZ variables itapopo should be read by NeoPZ's config.h*/
++#ifndef REFPATTERNDIR
++	# define REFPATTERNDIR "/home/santos/trunk-jpl/externalpackages/neopz/install/include/refpatterns"
++#endif
++
+ #ifndef REALdouble
+ 	#define REALdouble
+ #endif
+@@ -54,9 +58,9 @@
+ 	void CleanUp();																			// Clean all attributes
+    void SetHMax(int &h);                                                   // Define the max level of refinement
+    void SetElementWidth(int &width);                                       // Define elements width
+-	void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, int &nvertices, int &nelements, int &nsegments, double** x, double** y, double** z, int*** elements, int*** segments=NULL);					// A new mesh will be created and refined. This returns the new mesh
+-	void CreateInitialMesh(int &nvertices, int &nelements, int &nsegments, int &width, double* x, double* y, double* z, int** elements, int** segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
+-   void CheckMesh(int &nvertices, int &nelements, int &nsegments, int &width, double** x, double** y, double** z, int*** elements, int*** segments=NULL); // Check the consistency of the mesh
++	void ExecuteRefinement(int &type_process,double *vx,double *vy,double *masklevelset,int &nvertices,int &nelements,int &nsegments,double** px,double** py,double** pz,int** pelements,int** psegments=NULL);					// A new mesh will be created and refined. This returns the new mesh
++	void CreateInitialMesh(int &nvertices,int &nelements,int &nsegments,int &width,double* x,double* y,double* z,int* elements,int* segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
++   void CheckMesh(int &nvertices,int &nelements,int &nsegments,int &width,double** px,double** py,double** pz,int** pelements,int** psegments=NULL); // Check the consistency of the mesh
+ 
+ private:
+ 
+@@ -74,10 +78,10 @@
+    void TagAllElements(TPZGeoMesh *gmesh,std::vector<int> &ElemVec);				 // This tag all elements to be refined, that is, refine all elements
+    void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<int> &ElemVec);    // This tag elements near the grounding line
+    void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec);	// Calculate the grounding line position using previous mesh
+-	void GetMesh(TPZGeoMesh *gmesh, int &nvertices, int &nelements, int &nsegments, double** meshX, double** meshY, double** meshZ, int*** elements, int*** segments=NULL); // Return coords and elements in ISSM data structure
++	void GetMesh(TPZGeoMesh *gmesh,int &nvertices,int &nelements,int &nsegments,double** px,double** py,double** pz,int** pelements,int** psegments=NULL); // Return coords and elements in ISSM data structure
+    inline int GetElemMaterialID(){return 1;}                               // Return element material ID
+    inline int GetBoundaryMaterialID(){return 2;}                           // Return segment (2D boundary) material ID
+-
++	void SetRefPatterns();																	// Initialize and insert the refinement patterns
+ };
+ 
+ #endif
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21527)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21528)
+@@ -149,13 +149,14 @@
+ 		void InitializeAdaptiveRefinement(void);
+ 		FemModel* ReMesh(void);
+ 		void GetMesh(FemModel* femmodel,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist);
+-		void ExecuteRefinement(int &newnumberofvertices,int &newnumberofelements,IssmDouble** newx,IssmDouble** newy,IssmDouble** newz,int** newelementslist);
++		int GetElementsWidth(){return 3;};//just tria elements in this first version
++		void ExecuteRefinement(int &numberofvertices,int &numberofelements,IssmDouble** px,IssmDouble** py,IssmDouble** pz,int** pelementslist);
+ 		void GetMaskLevelSet(IssmDouble** pmasklevelset);
+ 		void CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices);
+ 		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
+ 		void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
+ 		void CreateNodes(int newnumberofvertices,int* my_vertices,int nodecounter,int analysis_enum,Nodes* nodes);
+-		void CreateConstraints(int newnumberofvertices,int newnumberofelements,int* newelementslist,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints);
++		void CreateConstraints(int newnumberofvertices,int newnumberofelements,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints);
+ 		void InterpolateInputs(FemModel* femmodel);
+ 		void UpdateElements(int newnumberofelements,int* newelementslist,bool* my_elements,int nodecounter,int analysis_counter,Elements* newelements);
+ 		void ElementsAndVerticesPartitioning(int& newnumberofvertices,int& newnumberofelements,int& elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21528-21529.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21528-21529.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21528-21529.diff	(revision 21726)
@@ -0,0 +1,582 @@
+Index: ../trunk-jpl/src/c/analyses/EnumToAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnumToAnalysis.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/analyses/EnumToAnalysis.cpp	(revision 21529)
+@@ -103,8 +103,8 @@
+ 		#ifdef _HAVE_UZAWAPRESSURE_
+ 		case UzawaPressureAnalysisEnum : return new UzawaPressureAnalysis();
+ 		#endif
+-		#ifdef _HAVE_GIA_
+-		case GiaAnalysisEnum : return new GiaAnalysis();
++		#ifdef _HAVE_GIAIVINS_
++		case GiaIvinsAnalysisEnum : return new GiaIvinsAnalysis();
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		case EsaAnalysisEnum : return new EsaAnalysis();
+Index: ../trunk-jpl/src/c/analyses/analyses.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/analyses.h	(revision 21528)
++++ ../trunk-jpl/src/c/analyses/analyses.h	(revision 21529)
+@@ -22,7 +22,7 @@
+ #include "./ExtrapolationAnalysis.h"
+ #include "./FreeSurfaceBaseAnalysis.h"
+ #include "./FreeSurfaceTopAnalysis.h"
+-#include "./GiaAnalysis.h"
++#include "./GiaIvinsAnalysis.h"
+ #include "./EsaAnalysis.h"
+ #include "./HydrologyDCEfficientAnalysis.h"
+ #include "./HydrologyDCInefficientAnalysis.h"
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21528)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21529)
+@@ -330,8 +330,8 @@
+ 	ThermalStabilizationEnum,
+ 	ThermalNumRequestedOutputsEnum,
+ 	ThermalRequestedOutputsEnum,
+-	GiaMantleViscosityEnum,
+-	GiaLithosphereThicknessEnum,
++	GiaIvinsMantleViscosityEnum,
++	GiaIvinsLithosphereThicknessEnum,
+ 	ThicknessEnum,
+ 	TimesteppingStartTimeEnum,
+ 	TimesteppingFinalTimeEnum,
+@@ -345,7 +345,7 @@
+ 	TransientIsgroundinglineEnum,
+ 	TransientIsmasstransportEnum,
+ 	TransientIsthermalEnum,
+-	TransientIsgiaEnum,
++	TransientIsgiaivinsEnum,
+ 	TransientIsesaEnum,
+ 	TransientIsdamageevolutionEnum,
+ 	TransientIshydrologyEnum,
+@@ -563,9 +563,9 @@
+ 	StrainRatezzEnum,
+ 	DivergenceEnum,
+ 	MaxDivergenceEnum,
+-	GiaCrossSectionShapeEnum,
+-	GiadWdtEnum,
+-	GiaWEnum, 
++	GiaIvinsCrossSectionShapeEnum,
++	GiaIvinsdWdtEnum,
++	GiaIvinsWEnum, 
+ 	/*}}}*/
+ 	/*Results{{{*/
+ 	SaveResultsEnum,
+@@ -926,8 +926,8 @@
+ 	ThermalSolutionEnum,
+ 	TransientSolutionEnum,
+ 	UzawaPressureAnalysisEnum,
+-	GiaSolutionEnum,
+-	GiaAnalysisEnum,
++	GiaIvinsSolutionEnum,
++	GiaIvinsAnalysisEnum,
+ 	EsaSolutionEnum,
+ 	EsaAnalysisEnum,
+ 	MeshdeformationAnalysisEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21529)
+@@ -336,8 +336,8 @@
+ 		case ThermalStabilizationEnum : return "ThermalStabilization";
+ 		case ThermalNumRequestedOutputsEnum : return "ThermalNumRequestedOutputs";
+ 		case ThermalRequestedOutputsEnum : return "ThermalRequestedOutputs";
+-		case GiaMantleViscosityEnum : return "GiaMantleViscosity";
+-		case GiaLithosphereThicknessEnum : return "GiaLithosphereThickness";
++		case GiaIvinsMantleViscosityEnum : return "GiaIvinsMantleViscosity";
++		case GiaIvinsLithosphereThicknessEnum : return "GiaIvinsLithosphereThickness";
+ 		case ThicknessEnum : return "Thickness";
+ 		case TimesteppingStartTimeEnum : return "TimesteppingStartTime";
+ 		case TimesteppingFinalTimeEnum : return "TimesteppingFinalTime";
+@@ -351,7 +351,7 @@
+ 		case TransientIsgroundinglineEnum : return "TransientIsgroundingline";
+ 		case TransientIsmasstransportEnum : return "TransientIsmasstransport";
+ 		case TransientIsthermalEnum : return "TransientIsthermal";
+-		case TransientIsgiaEnum : return "TransientIsgia";
++		case TransientIsgiaivinsEnum : return "TransientIsgiaivins";
+ 		case TransientIsesaEnum : return "TransientIsesa";
+ 		case TransientIsdamageevolutionEnum : return "TransientIsdamageevolution";
+ 		case TransientIshydrologyEnum : return "TransientIshydrology";
+@@ -561,9 +561,9 @@
+ 		case StrainRatezzEnum : return "StrainRatezz";
+ 		case DivergenceEnum : return "Divergence";
+ 		case MaxDivergenceEnum : return "MaxDivergence";
+-		case GiaCrossSectionShapeEnum : return "GiaCrossSectionShape";
+-		case GiadWdtEnum : return "GiadWdt";
+-		case GiaWEnum : return "GiaW";
++		case GiaIvinsCrossSectionShapeEnum : return "GiaIvinsCrossSectionShape";
++		case GiaIvinsdWdtEnum : return "GiaIvinsdWdt";
++		case GiaIvinsWEnum : return "GiaIvinsW";
+ 		case SaveResultsEnum : return "SaveResults";
+ 		case BoolExternalResultEnum : return "BoolExternalResult";
+ 		case DoubleExternalResultEnum : return "DoubleExternalResult";
+@@ -896,8 +896,8 @@
+ 		case ThermalSolutionEnum : return "ThermalSolution";
+ 		case TransientSolutionEnum : return "TransientSolution";
+ 		case UzawaPressureAnalysisEnum : return "UzawaPressureAnalysis";
+-		case GiaSolutionEnum : return "GiaSolution";
+-		case GiaAnalysisEnum : return "GiaAnalysis";
++		case GiaIvinsSolutionEnum : return "GiaIvinsSolution";
++		case GiaIvinsAnalysisEnum : return "GiaIvinsAnalysis";
+ 		case EsaSolutionEnum : return "EsaSolution";
+ 		case EsaAnalysisEnum : return "EsaAnalysis";
+ 		case MeshdeformationAnalysisEnum : return "MeshdeformationAnalysis";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21529)
+@@ -342,8 +342,8 @@
+ 	      else if (strcmp(name,"ThermalStabilization")==0) return ThermalStabilizationEnum;
+ 	      else if (strcmp(name,"ThermalNumRequestedOutputs")==0) return ThermalNumRequestedOutputsEnum;
+ 	      else if (strcmp(name,"ThermalRequestedOutputs")==0) return ThermalRequestedOutputsEnum;
+-	      else if (strcmp(name,"GiaMantleViscosity")==0) return GiaMantleViscosityEnum;
+-	      else if (strcmp(name,"GiaLithosphereThickness")==0) return GiaLithosphereThicknessEnum;
++	      else if (strcmp(name,"GiaIvinsMantleViscosity")==0) return GiaIvinsMantleViscosityEnum;
++	      else if (strcmp(name,"GiaIvinsLithosphereThickness")==0) return GiaIvinsLithosphereThicknessEnum;
+ 	      else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
+ 	      else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
+ 	      else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
+@@ -357,7 +357,7 @@
+ 	      else if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum;
+ 	      else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum;
+ 	      else if (strcmp(name,"TransientIsthermal")==0) return TransientIsthermalEnum;
+-	      else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum;
++	      else if (strcmp(name,"TransientIsgiaivins")==0) return TransientIsgiaivinsEnum;
+ 	      else if (strcmp(name,"TransientIsesa")==0) return TransientIsesaEnum;
+ 	      else if (strcmp(name,"TransientIsdamageevolution")==0) return TransientIsdamageevolutionEnum;
+ 	      else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum;
+@@ -573,9 +573,9 @@
+ 	      else if (strcmp(name,"StrainRatezz")==0) return StrainRatezzEnum;
+ 	      else if (strcmp(name,"Divergence")==0) return DivergenceEnum;
+ 	      else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
+-	      else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
+-	      else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
+-	      else if (strcmp(name,"GiaW")==0) return GiaWEnum;
++	      else if (strcmp(name,"GiaIvinsCrossSectionShape")==0) return GiaIvinsCrossSectionShapeEnum;
++	      else if (strcmp(name,"GiaIvinsdWdt")==0) return GiaIvinsdWdtEnum;
++	      else if (strcmp(name,"GiaIvinsW")==0) return GiaIvinsWEnum;
+ 	      else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
+ 	      else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
+ 	      else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
+@@ -917,8 +917,8 @@
+ 	      else if (strcmp(name,"ThermalSolution")==0) return ThermalSolutionEnum;
+ 	      else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
+ 	      else if (strcmp(name,"UzawaPressureAnalysis")==0) return UzawaPressureAnalysisEnum;
+-	      else if (strcmp(name,"GiaSolution")==0) return GiaSolutionEnum;
+-	      else if (strcmp(name,"GiaAnalysis")==0) return GiaAnalysisEnum;
++	      else if (strcmp(name,"GiaIvinsSolution")==0) return GiaIvinsSolutionEnum;
++	      else if (strcmp(name,"GiaIvinsAnalysis")==0) return GiaIvinsAnalysisEnum;
+ 	      else if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum;
+ 	      else if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum;
+ 	      else if (strcmp(name,"MeshdeformationAnalysis")==0) return MeshdeformationAnalysisEnum;
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21529)
+@@ -76,7 +76,7 @@
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.issmb",TransientIssmbEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isthermal",TransientIsthermalEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isgroundingline",TransientIsgroundinglineEnum));
+-		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isgia",TransientIsgiaEnum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isgiaivins",TransientIsgiaivinsEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isesa",TransientIsesaEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isdamageevolution",TransientIsdamageevolutionEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.ishydrology",TransientIshydrologyEnum));
+@@ -84,7 +84,7 @@
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isslr",TransientIsslrEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.iscoupler",TransientIscouplerEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.materials.rheology_law",MaterialsRheologyLawEnum));
+-		parameters->AddObject(iomodel->CopyConstantObject("md.gia.cross_section_shape",GiaCrossSectionShapeEnum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.giaivins.cross_section_shape",GiaIvinsCrossSectionShapeEnum));
+ 
+ 		/*For stress balance only*/
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isFS",FlowequationIsFSEnum));
+Index: ../trunk-jpl/src/c/modules/modules.h
+===================================================================
+--- ../trunk-jpl/src/c/modules/modules.h	(revision 21528)
++++ ../trunk-jpl/src/c/modules/modules.h	(revision 21529)
+@@ -28,7 +28,7 @@
+ #include "./GetSolutionFromInputsx/GetSolutionFromInputsx.h"
+ #include "./GetVectorFromInputsx/GetVectorFromInputsx.h"
+ #include "./GetVectorFromControlInputsx/GetVectorFromControlInputsx.h"
+-#include "./GiaDeflectionCorex/GiaDeflectionCorex.h"
++#include "./GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h"
+ #include "./SetControlInputsFromVectorx/SetControlInputsFromVectorx.h"
+ #include "./SetActiveNodesLSMx/SetActiveNodesLSMx.h"
+ #include "./Gradjx/Gradjx.h"
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21528)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21529)
+@@ -452,18 +452,18 @@
+ issm_sources += ./analyses/ExtrapolationAnalysis.cpp
+ endif
+ #}}}
+-#Gia sources  {{{
+-if GIA
+-issm_sources +=  ./cores/gia_core.cpp\
+-					./analyses/GiaAnalysis.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
++#GiaIvins sources  {{{
++if GIAIVINS
++issm_sources +=  ./cores/giaivins_core.cpp\
++					./analyses/GiaIvinsAnalysis.cpp\
++					./modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp\
++					./modules/GiaIvinsDeflectionCorex/distme.f\
++					./modules/GiaIvinsDeflectionCorex/freed.f\
++					./modules/GiaIvinsDeflectionCorex/ojrule.f\
++					./modules/GiaIvinsDeflectionCorex/pwise.f\
++					./modules/GiaIvinsDeflectionCorex/qwise.f\
++					./modules/GiaIvinsDeflectionCorex/stot.f\
++					./modules/GiaIvinsDeflectionCorex/what0.f
+ endif
+ #}}}
+ #Esa sources  {{{
+Index: ../trunk-jpl/src/c/cores/cores.h
+===================================================================
+--- ../trunk-jpl/src/c/cores/cores.h	(revision 21528)
++++ ../trunk-jpl/src/c/cores/cores.h	(revision 21529)
+@@ -45,7 +45,7 @@
+ void ad_core(FemModel* femmodel);
+ void adgradient_core(FemModel* femmodel);
+ void dummy_core(FemModel* femmodel);
+-void gia_core(FemModel* femmodel);
++void giaivins_core(FemModel* femmodel);
+ void esa_core(FemModel* femmodel);
+ void smb_core(FemModel* femmodel);
+ void damage_core(FemModel* femmodel);
+Index: ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp	(revision 21529)
+@@ -64,11 +64,11 @@
+ 		case EsaSolutionEnum:
+ 			solutioncore=&esa_core;
+ 			break;
+-		case GiaSolutionEnum:
+-			#if _HAVE_GIA_
+-			solutioncore=&gia_core;
++		case GiaIvinsSolutionEnum:
++			#if _HAVE_GIAIVINS_
++			solutioncore=&giaivins_core;
+ 			#else
+-			_error_("ISSM not compiled with Gia capability");
++			_error_("ISSM not compiled with Gia Ivins capability");
+ 			#endif
+ 			break;
+ 		case DamageEvolutionSolutionEnum:
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21529)
+@@ -20,7 +20,7 @@
+ 
+ 	/*parameters: */
+ 	IssmDouble finaltime,dt,yts;
+-	bool       isstressbalance,ismasstransport,issmb,isFS,isthermal,isgroundingline,isgia,isslr,iscoupler,ismovingfront,isdamageevolution,ishydrology;
++	bool       isstressbalance,ismasstransport,issmb,isFS,isthermal,isgroundingline,isgiaivins,isslr,iscoupler,ismovingfront,isdamageevolution,ishydrology;
+ 	bool       save_results,dakota_analysis;
+ 	bool       time_adapt;
+ 	int        output_frequency;
+@@ -52,7 +52,7 @@
+ 	femmodel->parameters->FindParam(&ismasstransport,TransientIsmasstransportEnum);
+ 	femmodel->parameters->FindParam(&issmb,TransientIssmbEnum);
+ 	femmodel->parameters->FindParam(&isthermal,TransientIsthermalEnum);
+-	femmodel->parameters->FindParam(&isgia,TransientIsgiaEnum);
++	femmodel->parameters->FindParam(&isgiaivins,TransientIsgiaivinsEnum);
+ 	femmodel->parameters->FindParam(&isslr,TransientIsslrEnum);
+ 	femmodel->parameters->FindParam(&iscoupler,TransientIscouplerEnum);
+ 	femmodel->parameters->FindParam(&isgroundingline,TransientIsgroundinglineEnum);
+@@ -129,10 +129,10 @@
+ 		/*Calculate new basal melting on floating ice*/
+ 		FloatingiceMeltingRatex(femmodel);
+ 		
+-		if(isgia){
++		if(isgiaivins){
+ 			if(VerboseSolution()) _printf0_("   computing glacial isostatic adjustment\n");
+-			#ifdef _HAVE_GIA_
+-			gia_core(femmodel);
++			#ifdef _HAVE_GIAIVINS_
++			giaivins_core(femmodel);
+ 			#else
+ 			_error_("ISSM was not compiled with gia capabilities. Exiting");
+ 			#endif
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21529)
+@@ -116,7 +116,7 @@
+ 		void SurfaceAbsMisfitx( IssmDouble* pJ);
+ 		void ThicknessAbsGradientx( IssmDouble* pJ);
+ 		void ThicknessPositivex(IssmDouble* pJ);
+-		#ifdef _HAVE_GIA_
++		#ifdef _HAVE_GIAIVINS_
+ 		void Deflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt, IssmDouble* x, IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/classes.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/classes.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/classes.h	(revision 21529)
+@@ -125,7 +125,7 @@
+ #include "./IoModel.h"
+ #include "./Update.h"
+ #include "./FemModel.h"
+-#include "./GiaDeflectionCoreArgs.h"
++#include "./GiaIvinsDeflectionCoreArgs.h"
+ #include "./RiftStruct.h"
+ 
+ #endif
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21529)
+@@ -629,8 +629,8 @@
+ 			analyses_temp[numanalyses++]=L2ProjectionBaseAnalysisEnum;
+ 			break;
+ 
+-		case GiaSolutionEnum:
+-			analyses_temp[numanalyses++]=GiaAnalysisEnum;
++		case GiaIvinsSolutionEnum:
++			analyses_temp[numanalyses++]=GiaIvinsAnalysisEnum;
+ 			break;
+ 		
+ 		case EsaSolutionEnum:
+@@ -650,7 +650,7 @@
+ 			break;
+ 
+ 		case TransientSolutionEnum:{
+-			bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslr,isesa,isgia;
++			bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslr,isesa,isgiaivins;
+ 			iomodel->FindConstant(&isSIA,"md.flowequation.isSIA");
+ 			iomodel->FindConstant(&isFS,"md.flowequation.isFS");
+ 			iomodel->FindConstant(&isthermal,"md.transient.isthermal");
+@@ -664,7 +664,7 @@
+ 			iomodel->FindConstant(&issmb,"md.transient.issmb");
+ 			iomodel->FindConstant(&isslr,"md.transient.isslr");
+ 			iomodel->FindConstant(&isesa,"md.transient.isesa");
+-			iomodel->FindConstant(&isgia,"md.transient.isgia");
++			iomodel->FindConstant(&isgiaivins,"md.transient.isgiaivins");
+ 			if(isstressbalance){
+ 				int  fe_FS;
+ 				iomodel->FindConstant(&fe_FS,"md.flowequation.fe_FS");
+@@ -711,8 +711,8 @@
+ 			if(isesa){
+ 				analyses_temp[numanalyses++]=EsaAnalysisEnum;
+ 			}
+-			if(isgia){
+-				analyses_temp[numanalyses++]=GiaAnalysisEnum;
++			if(isgiaivins){
++				analyses_temp[numanalyses++]=GiaIvinsAnalysisEnum;
+ 			}
+ 
+ 			if(iomodel->domaintype==Domain2DverticalEnum || iomodel->domaintype==Domain3DEnum){
+@@ -2318,13 +2318,13 @@
+ }
+ /*}}}*/
+ #endif
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ void FemModel::Deflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt, IssmDouble* x, IssmDouble* y){ /*{{{*/
+ 
+ 	/*Go through elements, and add contribution from each element to the deflection vector wg:*/
+ 	for(int i=0;i<elements->Size();i++){
+ 		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
+-		element->GiaDeflection(wg,dwgdt, x,y);
++		element->GiaIvinsDeflection(wg,dwgdt, x,y);
+ 	}
+ }
+ /*}}}*/
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21529)
+@@ -181,8 +181,8 @@
+ 		void           InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type);
+ 		#endif
+ 
+-		#ifdef _HAVE_GIA_
+-		void           GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
++		#ifdef _HAVE_GIAIVINS_
++		void           GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21529)
+@@ -164,8 +164,8 @@
+ 		IssmDouble     GetArea3D(void){_error_("not implemented yet!");};
+ 		IssmDouble     GetAreaSpherical(void){_error_("not implemented yet!");};
+ 
+-#ifdef _HAVE_GIA_
+-		void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
++#ifdef _HAVE_GIAIVINS_
++		void        GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
+ #endif
+ #ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21529)
+@@ -171,8 +171,8 @@
+ 		void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+-#ifdef _HAVE_GIA_
+-		void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
++#ifdef _HAVE_GIAIVINS_
++		void        GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
+ #endif
+ #ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21529)
+@@ -1561,8 +1561,8 @@
+ 				name==EsaNmotionEnum || 
+ 				name==EsaEmotionEnum || 
+ 				name==EsaDeltathicknessEnum || 
+-				name==GiaWEnum || 
+-				name==GiadWdtEnum ||
++				name==GiaIvinsWEnum || 
++				name==GiaIvinsdWdtEnum ||
+ 				name==SedimentHeadEnum ||
+ 				name==EplHeadEnum ||
+ 				name==SedimentHeadOldEnum ||
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21529)
+@@ -293,8 +293,8 @@
+ 		virtual void       WriteLevelsetSegment(DataSet* segments){_error_("not implemented yet");};
+ 		virtual void       ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum)=0;
+ 
+-		#ifdef _HAVE_GIA_
+-		virtual void       GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y)=0;
++		#ifdef _HAVE_GIAIVINS_
++		virtual void       GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y)=0;
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		virtual void          EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy)=0;
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21529)
+@@ -14,8 +14,8 @@
+ #include <math.h>
+ #include "../classes.h"
+ #include "../../shared/shared.h"
+-#ifdef _HAVE_GIA_
+-#include "../../modules/GiaDeflectionCorex/GiaDeflectionCorex.h"
++#ifdef _HAVE_GIAIVINS_
++#include "../../modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h"
+ #endif
+ /*}}}*/
+ 
+@@ -3452,8 +3452,8 @@
+ }
+ /*}}}*/
+ 
+-#ifdef _HAVE_GIA_
+-void       Tria::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){/*{{{*/
++#ifdef _HAVE_GIAIVINS_
++void       Tria::GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){/*{{{*/
+ 
+ 	int i;
+ 	int gsize;
+@@ -3491,15 +3491,15 @@
+ 	IssmDouble  wi;
+ 	IssmDouble  dwidt;
+ 
+-	/*arguments to GiaDeflectionCorex: */
+-	GiaDeflectionCoreArgs arguments;
++	/*arguments to GiaIvinsDeflectionCorex: */
++	GiaIvinsDeflectionCoreArgs arguments;
+ 
+ 	/*how many dofs are we working with here? */
+ 	this->parameters->FindParam(&gsize,MeshNumberofverticesEnum);
+ 	this->parameters->FindParam(&yts,ConstantsYtsEnum);
+ 
+ 	/*recover gia solution parameters: */
+-	this->parameters->FindParam(&cross_section_shape,GiaCrossSectionShapeEnum);
++	this->parameters->FindParam(&cross_section_shape,GiaIvinsCrossSectionShapeEnum);
+ 
+ 	/*what time is it? :*/
+ 	this->parameters->FindParam(&currenttime,TimeEnum);
+@@ -3517,12 +3517,12 @@
+ 	thickness_input->GetInputUpToCurrentTimeAverages(&hes,&times,&numtimes,currenttime);
+ 
+ 	/*recover mantle viscosity: */
+-	mantle_viscosity_input=inputs->GetInput(GiaMantleViscosityEnum);
++	mantle_viscosity_input=inputs->GetInput(GiaIvinsMantleViscosityEnum);
+ 	if (!mantle_viscosity_input)_error_("mantle viscosity input needed to compute gia deflection!");
+ 	mantle_viscosity_input->GetInputAverage(&mantle_viscosity);
+ 
+ 	/*recover lithosphere thickness: */
+-	lithosphere_thickness_input=inputs->GetInput(GiaLithosphereThicknessEnum);
++	lithosphere_thickness_input=inputs->GetInput(GiaIvinsLithosphereThicknessEnum);
+ 	if (!lithosphere_thickness_input)_error_("lithosphere thickness input needed to compute gia deflection!");
+ 	lithosphere_thickness_input->GetInputAverage(&lithosphere_thickness);
+ 
+@@ -3537,7 +3537,7 @@
+ 	x0=(xyz_list[0][0]+xyz_list[1][0]+xyz_list[2][0])/3.0;
+ 	y0=(xyz_list[0][1]+xyz_list[1][1]+xyz_list[2][1])/3.0;
+ 
+-	/*start loading GiaDeflectionCore arguments: */
++	/*start loading GiaIvinsDeflectionCore arguments: */
+ 	arguments.re=re;
+ 	arguments.hes=hes;
+ 	arguments.times=times;
+@@ -3563,7 +3563,7 @@
+ 		arguments.ri=ri;
+ 
+ 		/*for this Tria, compute contribution to rebound at vertex i: */
+-		GiaDeflectionCorex(&wi,&dwidt,&arguments);
++		GiaIvinsDeflectionCorex(&wi,&dwidt,&arguments);
+ 
+ 		/*plug value into solution vector: */
+ 		wg->SetValue(i,wi,ADD_VAL);
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21529)
+@@ -140,8 +140,8 @@
+ 		void			WriteLevelsetSegment(DataSet* segments);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+-		#ifdef _HAVE_GIA_
+-		void   GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
++		#ifdef _HAVE_GIAIVINS_
++		void   GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy);
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21528)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21529)
+@@ -3535,9 +3535,9 @@
+ }
+ /*}}}*/
+ 
+-#ifdef _HAVE_GIA_
+-void       Penta::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){/*{{{*/
+-	_error_("GIA deflection not implemented yet!");
++#ifdef _HAVE_GIAIVINS_
++void       Penta::GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){/*{{{*/
++	_error_("GIAIVINS deflection not implemented yet!");
+ }
+ /*}}}*/
+ #endif
Index: /issm/oecreview/Archive/21337-21723/ISSM-21529-21530.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21529-21530.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21529-21530.diff	(revision 21726)
@@ -0,0 +1,604 @@
+Index: ../trunk-jpl/src/m/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/m/Makefile.am	(revision 21529)
++++ ../trunk-jpl/src/m/Makefile.am	(revision 21530)
+@@ -94,7 +94,7 @@
+ 				${ISSM_DIR}/src/m/classes/flowequation.js \
+ 				${ISSM_DIR}/src/m/classes/friction.js \
+ 				${ISSM_DIR}/src/m/classes/geometry.js \
+-				${ISSM_DIR}/src/m/classes/gia.js \
++				${ISSM_DIR}/src/m/classes/giaivins.js \
+ 				${ISSM_DIR}/src/m/classes/esa.js \
+ 				${ISSM_DIR}/src/m/classes/groundingline.js \
+ 				${ISSM_DIR}/src/m/classes/hydrologyshreve.js \
+Index: ../trunk-jpl/src/m/solve/solve.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.py	(revision 21529)
++++ ../trunk-jpl/src/m/solve/solve.py	(revision 21530)
+@@ -27,7 +27,7 @@
+ 		 - 'SurfaceSlope'     or 'ssl'
+ 		 - 'Hydrology'        or 'hy'
+ 		 - 'DamageEvolution'  or 'da'
+-		 - 'Gia'              or 'gia'
++		 - 'GiaIvins'              or 'giaivins'
+ 		 - 'Sealevelrise'     or 'slr'
+ 
+ 	   extra options:
+@@ -63,8 +63,8 @@
+ 		solutionstring = 'HydrologySolution';
+ 	elif solutionstring.lower() == 'da' or solutionstring.lower() == 'damageevolution':
+ 		solutionstring = 'DamageEvolutionSolution';
+-	elif solutionstring.lower() == 'gia' or solutionstring.lower() == 'gia':
+-		solutionstring = 'GiaSolution';
++	elif solutionstring.lower() == 'giaivins' or solutionstring.lower() == 'giaivins':
++		solutionstring = 'GiaIvinsSolution';
+ 	elif solutionstring.lower() == 'slr' or solutionstring.lower() == 'sealevelrise':
+ 		solutionstring = 'SealevelriseSolution';
+ 	else: 	
+Index: ../trunk-jpl/src/m/solve/solve.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.m	(revision 21529)
++++ ../trunk-jpl/src/m/solve/solve.m	(revision 21530)
+@@ -17,7 +17,7 @@
+ %		 - 'SurfaceSlope'       or 'ssl'
+ %		 - 'Hydrology'          or 'hy'
+ %      - 'DamageEvolution'    or 'da'
+-%		 - 'Gia'                or 'gia'
++%		 - 'GiaIvins'           or 'giaivins'
+ %		 - 'Esa'                or 'esa'
+ %		 - 'Sealevelrise'       or 'slr'
+ %
+@@ -61,8 +61,8 @@
+ 	solutionstring = 'HydrologySolution';
+ elseif strcmpi(solutionstring,'da') || strcmpi(solutionstring,'DamageEvolution')
+ 	solutionstring = 'DamageEvolutionSolution';
+-elseif strcmpi(solutionstring,'gia') || strcmpi(solutionstring,'Gia')
+-	solutionstring = 'GiaSolution';
++elseif strcmpi(solutionstring,'giaivins') || strcmpi(solutionstring,'GiaIvins')
++	solutionstring = 'GiaIvinsSolution';
+ elseif strcmpi(solutionstring,'esa') || strcmpi(solutionstring,'Esa')
+ 	solutionstring = 'EsaSolution';
+ elseif strcmpi(solutionstring,'slr') || strcmpi(solutionstring,'Sealevelrise')
+Index: ../trunk-jpl/src/m/solve/solve.js
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.js	(revision 21529)
++++ ../trunk-jpl/src/m/solve/solve.js	(revision 21530)
+@@ -17,7 +17,7 @@
+ //		 - 'SurfaceSlope'       or 'ssl'
+ //		 - 'Hydrology'          or 'hy'
+ //      - 'DamageEvolution'   or 'da'
+-//		 - 'Gia'                or 'gia'
++//		 - 'GiaIvins'                or 'giaivins'
+ //		 - 'Sealevelrise'       or 'slr'
+ //
+ //  extra options:
+@@ -58,8 +58,8 @@
+ 		solutionstring = 'HydrologySolution';
+ 	}else if((solutionstring.toLowerCase() === 'da') || (solutionstring.toLowerCase() === 'damageevolution')){
+ 		solutionstring = 'DamageEvolutionSolution';
+-	}else if((solutionstring.toLowerCase() === 'gia') || (solutionstring.toLowerCase() === 'gia')){
+-		solutionstring = 'GiaSolution';
++	}else if((solutionstring.toLowerCase() === 'giaivins') || (solutionstring.toLowerCase() === 'giaivins')){
++		solutionstring = 'GiaIvinsSolution';
+ 	}else if((solutionstring.toLowerCase() === 'slr') || (solutionstring.toLowerCase() === 'sealevelrise')){
+ 		solutionstring = 'SealevelriseSolution';
+ 	}else{
+Index: ../trunk-jpl/src/m/consistency/ismodelselfconsistent.js
+===================================================================
+--- ../trunk-jpl/src/m/consistency/ismodelselfconsistent.js	(revision 21529)
++++ ../trunk-jpl/src/m/consistency/ismodelselfconsistent.js	(revision 21530)
+@@ -74,8 +74,8 @@
+ 	}else if(solutiontype ==='BedSlopeSolution'){
+ 		analyses=['L2ProjectionBaseAnalysis'];
+ 		
+-	}else if(solutiontype ==='GiaSolution'){
+-		analyses=['GiaAnalysis'];
++	}else if(solutiontype ==='GiaIvinsSolution'){
++		analyses=['GiaIvinsAnalysis'];
+ 		
+ 	}else if(solutiontype ==='TransientSolution'){
+ 		analyses=['StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis','MasstransportAnalysis','HydrologySommersAnalysis'];
+Index: ../trunk-jpl/src/m/consistency/ismodelselfconsistent.m
+===================================================================
+--- ../trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21529)
++++ ../trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21530)
+@@ -63,8 +63,8 @@
+ 		analyses={'L2ProjectionBaseAnalysis'};
+ 	elseif strcmp(solutiontype,'BedSlopeSolution')
+ 		analyses={'L2ProjectionBaseAnalysis'};
+-	elseif strcmp(solutiontype,'GiaSolution')
+-		analyses={'GiaAnalysis'};
++	elseif strcmp(solutiontype,'GiaIvinsSolution')
++		analyses={'GiaIvinsAnalysis'};
+ 	elseif strcmp(solutiontype,'EsaSolution')
+ 		analyses={'EsaAnalysis'};
+ 	elseif strcmp(solutiontype,'TransientSolution')
+Index: ../trunk-jpl/src/m/consistency/ismodelselfconsistent.py
+===================================================================
+--- ../trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21529)
++++ ../trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21530)
+@@ -30,8 +30,8 @@
+ 	elif solutiontype == 'BedSlopeSolution':
+ 		analyses=['L2ProjectionBaseAnalysis']
+ 
+-	elif solutiontype == 'GiaSolution':
+-		analyses=['GiaAnalysis']
++	elif solutiontype == 'GiaIvinsSolution':
++		analyses=['GiaIvinsAnalysis']
+ 
+ 	elif solutiontype == 'TransientSolution':
+ 		analyses=['StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis','MasstransportAnalysis']
+Index: ../trunk-jpl/src/m/classes/geometry.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/geometry.py	(revision 21529)
++++ ../trunk-jpl/src/m/classes/geometry.py	(revision 21530)
+@@ -44,7 +44,7 @@
+ 	#}}}
+ 	def checkconsistency(self,md,solution,analyses):    # {{{
+ 
+-		if (solution=='TransientSolution' and md.transient.isgia) or (solution=='GiaSolution'):
++		if (solution=='TransientSolution' and md.transient.isgiaivins) or (solution=='GiaIvinsSolution'):
+ 			md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'Inf',1,'>=',0,'timeseries',1)
+ 		else:
+ 			md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21530)
+@@ -39,7 +39,7 @@
+ 		transient        = 0;
+ 		levelset			  = 0;
+ 		calving          = 0;
+-		gia              = 0;
++		giaivins              = 0;
+ 		esa              = 0;
+ 
+ 		autodiff         = 0;
+@@ -224,9 +224,9 @@
+ 			if ~isnan(md.initialization.epl_thickness),md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1);end;
+ 			if ~isnan(md.initialization.waterfraction),md.initialization.waterfraction=project2d(md,md.initialization.waterfraction,1);end;
+ 			if ~isnan(md.initialization.watercolumn),md.initialization.watercolumn=project2d(md,md.initialization.watercolumn,1);end;
+-			%gia
+-			if ~isnan(md.gia.mantle_viscosity), md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1); end
+-			if ~isnan(md.gia.lithosphere_thickness), md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1); end
++			%giaivins
++			if ~isnan(md.giaivins.mantle_viscosity), md.giaivins.mantle_viscosity=project2d(md,md.giaivins.mantle_viscosity,1); end
++			if ~isnan(md.giaivins.lithosphere_thickness), md.giaivins.lithosphere_thickness=project2d(md,md.giaivins.lithosphere_thickness,1); end
+ 
+ 			%elementstype
+ 			if ~isnan(md.flowequation.element_equation)
+@@ -1111,7 +1111,7 @@
+ 			md.transient        = transient();
+ 			md.levelset			  = levelset();
+ 			md.calving          = calving();
+-			md.gia              = gia();
++			md.giaivins              = giaivins();
+ 			md.esa              = esa();
+ 			md.autodiff         = autodiff();
+ 			md.inversion        = inversion();
+@@ -1283,7 +1283,7 @@
+ 			disp(sprintf('%19s: %-22s -- %s','transient'       ,['[1x1 ' class(self.transient) ']'],'parameters for transient solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','levelset'         ,['[1x1 ' class(self.levelset) ']'],'parameters for moving boundaries (level-set method)'));
+ 			disp(sprintf('%19s: %-22s -- %s','calving'         ,['[1x1 ' class(self.calving) ']'],'parameters for calving'));
+-			disp(sprintf('%19s: %-22s -- %s','gia'             ,['[1x1 ' class(self.gia) ']'],'parameters for gia solution'));
++			disp(sprintf('%19s: %-22s -- %s','giaivins'             ,['[1x1 ' class(self.giaivins) ']'],'parameters for giaivins solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','esa'             ,['[1x1 ' class(self.esa) ']'],'parameters for elastic adjustment solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','autodiff'        ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters'));
+ 			disp(sprintf('%19s: %-22s -- %s','inversion'       ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods'));
+Index: ../trunk-jpl/src/m/classes/model.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.js	(revision 21529)
++++ ../trunk-jpl/src/m/classes/model.js	(revision 21530)
+@@ -36,7 +36,7 @@
+ 			console.log(sprintf("//19s: //-22s -- //s","trans"       ,"[1x1 " + typeof(this.trans) + "]","parameters for trans solution"));
+ 			console.log(sprintf("//19s: //-22s -- //s","levelset"        ,"[1x1 " + typeof(this.levelset) + "]","parameters for moving boundaries (level-set method)"));
+ 			console.log(sprintf("//19s: //-22s -- //s","calving"         ,"[1x1 " + typeof(this.calving) + "]","parameters for calving"));
+-			console.log(sprintf("//19s: //-22s -- //s","gia"             ,"[1x1 " + typeof(this.gia) + "]","parameters for gia solution"));
++			console.log(sprintf("//19s: //-22s -- //s","giaivins"             ,"[1x1 " + typeof(this.giaivins) + "]","parameters for giaivins solution"));
+ 			console.log(sprintf("//19s: //-22s -- //s","autodiff"        ,"[1x1 " + typeof(this.autodiff) + "]","automatic differentiation parameters"));
+ 			console.log(sprintf("//19s: //-22s -- //s","inversion"       ,"[1x1 " + typeof(this.inversion) + "]","parameters for inverse methods"));
+ 			console.log(sprintf("//19s: //-22s -- //s","qmu"             ,"[1x1 " + typeof(this.qmu) + "]","dakota properties"));
+@@ -77,7 +77,7 @@
+ 			this.trans            = new trans();
+ 			this.levelset		  = new levelset();
+ 			this.calving          = new calving();
+-			this.gia              = new gia();
++			this.giaivins              = new giaivins();
+ 			this.autodiff         = new autodiff();
+ 			this.inversion        = new inversion();
+ 			this.qmu              = new qmu();
+@@ -471,11 +471,11 @@
+             if (!isNaN(md.initialization.epl_thickness))
+                 md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1);
+ 
+-            // gia
+-            if (!isNaN(md.gia.mantle_viscosity))
+-                md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1);
+-            if (!isNaN(md.gia.lithosphere_thickness))
+-                md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1);
++            // giaivins
++            if (!isNaN(md.giaivins.mantle_viscosity))
++                md.giaivins.mantle_viscosity=project2d(md,md.giaivins.mantle_viscosity,1);
++            if (!isNaN(md.giaivins.lithosphere_thickness))
++                md.giaivins.lithosphere_thickness=project2d(md,md.giaivins.lithosphere_thickness,1);
+ 
+             // elementstype
+             if (!isNaN(md.flowequation.element_equation)) {
+@@ -606,7 +606,7 @@
+ 		this.trans            = 0;
+ 		this.levelset         = 0;
+ 		this.calving          = 0;
+-		this.gia              = 0;
++		this.giaivins              = 0;
+ 
+ 		this.autodiff         = 0;
+ 		this.inversion        = 0;
+Index: ../trunk-jpl/src/m/classes/geometry.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/geometry.js	(revision 21529)
++++ ../trunk-jpl/src/m/classes/geometry.js	(revision 21530)
+@@ -28,7 +28,7 @@
+ 		} //}}}
+ 		this.checkconsistency = function(md,solution,analyses) { //{{{
+ 
+-			if ((solution=='TransientSolution' & md.trans.isgia) | (solution=='GiaSolution')){
++			if ((solution=='TransientSolution' & md.trans.isgiaivins) | (solution=='GiaIvinsSolution')){
+ 				checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'Inf',1,'>=',0);
+ 			}
+ 			else{
+Index: ../trunk-jpl/src/m/classes/matenhancedice.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matenhancedice.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matenhancedice.m	(revision 21530)
+@@ -22,7 +22,7 @@
+ 		rheology_n   = NaN;
+ 		rheology_law = '';
+ 
+-		%gia: 
++		%giaivins: 
+ 		lithosphere_shear_modulus  = 0.;
+ 		lithosphere_density        = 0.;
+ 		mantle_shear_modulus       = 0.;
+Index: ../trunk-jpl/src/m/classes/matice.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matice.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matice.m	(revision 21530)
+@@ -21,7 +21,7 @@
+ 		rheology_n   = NaN;
+ 		rheology_law = '';
+ 
+-		%gia: 
++		%giaivins: 
+ 		lithosphere_shear_modulus  = 0.;
+ 		lithosphere_density        = 0.;
+ 		mantle_shear_modulus       = 0.;
+Index: ../trunk-jpl/src/m/classes/matestar.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matestar.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matestar.m	(revision 21530)
+@@ -22,7 +22,7 @@
+ 		rheology_Es   = NaN;
+ 		rheology_law = '';
+ 
+-		%gia: 
++		%giaivins: 
+ 		lithosphere_shear_modulus  = 0.;
+ 		lithosphere_density        = 0.;
+ 		mantle_shear_modulus       = 0.;
+Index: ../trunk-jpl/src/m/classes/matice.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/matice.py	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matice.py	(revision 21530)
+@@ -28,7 +28,7 @@
+ 		self.rheology_n                = float('NaN')
+ 		self.rheology_law              = ''
+ 
+-		#gia: 
++		#giaivins: 
+ 		self.lithosphere_shear_modulus  = 0.
+ 		self.lithosphere_density        = 0.
+ 		self.mantle_shear_modulus       = 0.
+Index: ../trunk-jpl/src/m/classes/matdamageice.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/matdamageice.py	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matdamageice.py	(revision 21530)
+@@ -28,7 +28,7 @@
+ 		self.rheology_n                = float('NaN')
+ 		self.rheology_law              = ''
+ 
+-		#gia: 
++		#giaivins: 
+ 		self.lithosphere_shear_modulus  = 0.
+ 		self.lithosphere_density        = 0.
+ 		self.mantle_shear_modulus       = 0.
+Index: ../trunk-jpl/src/m/classes/matdamageice.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/matdamageice.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matdamageice.m	(revision 21530)
+@@ -21,7 +21,7 @@
+ 		rheology_n   = NaN;
+ 		rheology_law = '';
+ 
+-		%gia: 
++		%giaivins: 
+ 		lithosphere_shear_modulus  = 0.;
+ 		lithosphere_density        = 0.;
+ 		mantle_shear_modulus       = 0.;
+Index: ../trunk-jpl/src/m/classes/transient.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.py	(revision 21529)
++++ ../trunk-jpl/src/m/classes/transient.py	(revision 21530)
+@@ -16,7 +16,7 @@
+ 		self.isstressbalance   = False
+ 		self.isthermal         = False
+ 		self.isgroundingline   = False
+-		self.isgia             = False
++		self.isgiaivins             = False
+ 		self.isesa             = False
+ 		self.isdamageevolution = False
+ 		self.ismovingfront     = False
+@@ -36,7 +36,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,'isstressbalance','indicates if a stressbalance solution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isthermal','indicates if a thermal solution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isgroundingline','indicates if a groundingline migration is used in the transient'))
+-		string="%s\n%s"%(string,fielddisplay(self,'isgia','indicates if a postglacial rebound is used in the transient'))
++		string="%s\n%s"%(string,fielddisplay(self,'isgiaivins','indicates if a postglacial rebound is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isesa','indicates whether an elastic adjustment model is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isdamageevolution','indicates whether damage evolution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient'))
+@@ -62,7 +62,7 @@
+ 		self.isstressbalance   = False
+ 		self.isthermal         = False
+ 		self.isgroundingline   = False
+-		self.isgia             = False
++		self.isgiaivins             = False
+ 		self.isesa             = False
+ 		self.isdamageevolution = False
+ 		self.ismovingfront     = False
+@@ -82,7 +82,7 @@
+ 		self.isstressbalance = True
+ 		self.isthermal       = True
+ 		self.isgroundingline = False
+-		self.isgia           = False
++		self.isgiaivins           = False
+ 		self.isesa           = False
+ 		self.isdamageevolution = False
+ 		self.ismovingfront   = False
+@@ -105,7 +105,7 @@
+ 		md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0,1])
+-		md = checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0,1])
++		md = checkfield(md,'fieldname','transient.isgiaivins','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isesa','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isdamageevolution','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0,1])
+@@ -122,7 +122,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','isstressbalance','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isthermal','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isgroundingline','format','Boolean')
+-		WriteData(fid,prefix,'object',self,'fieldname','isgia','format','Boolean')
++		WriteData(fid,prefix,'object',self,'fieldname','isgiaivins','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isesa','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isdamageevolution','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean')
+Index: ../trunk-jpl/src/m/classes/matice.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/matice.js	(revision 21529)
++++ ../trunk-jpl/src/m/classes/matice.js	(revision 21530)
+@@ -156,7 +156,7 @@
+ 		this.rheology_n   = NaN;
+ 		this.rheology_law = '';
+ 
+-		//gia: 
++		//giaivins: 
+ 		this.lithosphere_shear_modulus  = 0.;
+ 		this.lithosphere_density        = 0.;
+ 		this.mantle_shear_modulus       = 0.;
+Index: ../trunk-jpl/src/m/classes/geometry.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/geometry.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/geometry.m	(revision 21530)
+@@ -52,7 +52,7 @@
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+-			if (strcmp(solution,'TransientSolution') & md.transient.isgia) | strcmp(solution,'GiaSolution'),
++			if (strcmp(solution,'TransientSolution') & md.transient.isgiaivins) | strcmp(solution,'GiaIvinsSolution'),
+ 				md = checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'Inf',1,'>=',0);
+ 			else
+ 				md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+Index: ../trunk-jpl/src/m/classes/slr.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/slr.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/slr.m	(revision 21530)
+@@ -140,6 +140,7 @@
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+ 			WriteData(fid,prefix,'object',self,'fieldname','deltathickness','format','DoubleMat','mattype',2);
++			%WriteData(fid,prefix,'object',self,'fieldname','deltathickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofelements+1);
+ 			WriteData(fid,prefix,'object',self,'fieldname','sealevel','mattype',1,'format','DoubleMat','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 			WriteData(fid,prefix,'object',self,'fieldname','reltol','format','Double');
+ 			WriteData(fid,prefix,'object',self,'fieldname','abstol','format','Double');
+Index: ../trunk-jpl/src/m/classes/trans.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/trans.js	(revision 21529)
++++ ../trunk-jpl/src/m/classes/trans.js	(revision 21530)
+@@ -13,7 +13,7 @@
+ 		this.isstressbalance = 1;
+ 		this.isthermal       = 1;
+ 		this.isgroundingline = 0;
+-		this.isgia           = 0;
++		this.isgiaivins           = 0;
+ 		this.isdamageevolution = 0;
+ 		this.ismovingfront   = 0;
+ 		this.ishydrology     = 0;
+@@ -33,7 +33,7 @@
+ 		fielddisplay(this,'isstressbalance','indicates whether a stressbalance solution is used in the transient');
+ 		fielddisplay(this,'isthermal','indicates whether a thermal solution is used in the transient');
+ 		fielddisplay(this,'isgroundingline','indicates whether a groundingline migration is used in the transient');
+-		fielddisplay(this,'isgia','indicates whether a postglacial rebound model is used in the transient');
++		fielddisplay(this,'isgiaivins','indicates whether a postglacial rebound model is used in the transient');
+ 		fielddisplay(this,'isdamageevolution','indicates whether damage evolution is used in the transient');
+ 		fielddisplay(this,'ismovingfront','indicates whether a moving front capability is used in the transient');
+ 		fielddisplay(this,'ishydrology','indicates whether an hydrology model is used');
+@@ -56,7 +56,7 @@
+ 			checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.isgroundingline','numel',[1],'values',[0, 1]);
+-			checkfield(md,'fieldname','trans.isgia','numel',[1],'values',[0, 1]);
++			checkfield(md,'fieldname','trans.isgiaivins','numel',[1],'values',[0, 1]);
+ 			checkfield(md,'fieldname','trans.isdamageevolution','numel',[1],'values',[0, 1]);
+ 			checkfield(md,'fieldname','trans.ismovingfront','numel',[1],'values',[0, 1]);
+ 			checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0 ,1]);
+@@ -72,7 +72,7 @@
+ 			WriteData(fid,prefix,'object',this,'fieldname','isstressbalance','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isthermal','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isgroundingline','format','Boolean');
+-			WriteData(fid,prefix,'object',this,'fieldname','isgia','format','Boolean');
++			WriteData(fid,prefix,'object',this,'fieldname','isgiaivins','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isdamageevolution','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','ishydrology','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','ismovingfront','format','Boolean');
+@@ -104,7 +104,7 @@
+ 	this.isstressbalance   = 0;
+ 	this.isthermal         = 0;
+ 	this.isgroundingline   = 0;
+-	this.isgia             = 0;
++	this.isgiaivins             = 0;
+ 	this.isdamageevolution = 0;
+ 	this.ismovingfront     = 0;
+ 	this.ishydrology       = 0;
+Index: ../trunk-jpl/src/m/classes/model.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.py	(revision 21529)
++++ ../trunk-jpl/src/m/classes/model.py	(revision 21530)
+@@ -44,7 +44,7 @@
+ from thermal import thermal
+ from steadystate import steadystate
+ from transient import transient
+-from gia import gia
++from giaivins import giaivins
+ from autodiff import autodiff
+ from inversion import inversion
+ from outputdefinition import outputdefinition
+@@ -106,7 +106,7 @@
+ 		self.transient        = transient()
+ 		self.levelset         = levelset()
+ 		self.calving          = calving()
+-		self.gia              = gia()
++		self.giaivins              = giaivins()
+ 
+ 		self.autodiff         = autodiff()
+ 		self.inversion        = inversion()
+@@ -149,7 +149,7 @@
+ 		        'transient',\
+ 		        'levelset',\
+ 		        'calving',\
+-						'gia',\
++						'giaivins',\
+ 		        'autodiff',\
+ 		        'inversion',\
+ 		        'qmu',\
+@@ -639,7 +639,7 @@
+ 
+ 		md.materials.extrude(md)
+ 		md.damage.extrude(md)
+-		md.gia.extrude(md)
++		md.giaivins.extrude(md)
+ 		md.mask.extrude(md)
+ 		md.qmu.extrude(md)
+ 		md.basalforcings.extrude(md)
+@@ -695,9 +695,9 @@
+                 if not np.isnan(md.initialization.epl_head).all(): md.initialization.epl_head=project2d(md,md.initialization.epl_head,1)
+                 if not np.isnan(md.initialization.epl_thickness).all(): md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1)
+ 
+-		#gia
+-		if not np.isnan(md.gia.mantle_viscosity).all(): md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1) 
+-		if not np.isnan(md.gia.lithosphere_thickness).all(): md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1) 
++		#giaivins
++		if not np.isnan(md.giaivins.mantle_viscosity).all(): md.giaivins.mantle_viscosity=project2d(md,md.giaivins.mantle_viscosity,1) 
++		if not np.isnan(md.giaivins.lithosphere_thickness).all(): md.giaivins.lithosphere_thickness=project2d(md,md.giaivins.lithosphere_thickness,1) 
+ 
+ 		#elementstype
+ 		if not np.isnan(md.flowequation.element_equation).all():
+Index: ../trunk-jpl/src/m/classes/transient.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.m	(revision 21529)
++++ ../trunk-jpl/src/m/classes/transient.m	(revision 21530)
+@@ -10,7 +10,7 @@
+ 		isstressbalance   = 0;
+ 		isthermal         = 0;
+ 		isgroundingline   = 0;
+-		isgia             = 0;
++		isgiaivins             = 0;
+ 		isesa             = 0;
+ 		isdamageevolution = 0;
+ 		ismovingfront     = 0;
+@@ -36,7 +36,7 @@
+ 			self.isstressbalance = 0;
+ 			self.isthermal       = 0;
+ 			self.isgroundingline = 0;
+-			self.isgia           = 0;
++			self.isgiaivins           = 0;
+ 			self.isesa           = 0;
+ 			self.isdamageevolution = 0;
+ 			self.ismovingfront   =0;
+@@ -55,7 +55,7 @@
+ 			self.isstressbalance = 1;
+ 			self.isthermal       = 1;
+ 			self.isgroundingline = 0;
+-			self.isgia           = 0;
++			self.isgiaivins           = 0;
+ 			self.isesa           = 0;
+ 			self.isdamageevolution = 0;
+ 			self.ismovingfront   = 0;
+@@ -83,7 +83,7 @@
+ 			md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0 1]);
+-			md = checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0 1]);
++			md = checkfield(md,'fieldname','transient.isgiaivins','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isesa','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isdamageevolution','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.ismovingfront','numel',[1],'values',[0 1]);
+@@ -101,7 +101,7 @@
+ 			fielddisplay(self,'isstressbalance','indicates whether a stressbalance solution is used in the transient');
+ 			fielddisplay(self,'isthermal','indicates whether a thermal solution is used in the transient');
+ 			fielddisplay(self,'isgroundingline','indicates whether a groundingline migration is used in the transient');
+-			fielddisplay(self,'isgia','indicates whether a postglacial rebound model is used in the transient');
++			fielddisplay(self,'isgiaivins','indicates whether a postglacial rebound model is used in the transient');
+ 			fielddisplay(self,'isesa','indicates whether an elastic adjustment model is used in the transient');
+ 			fielddisplay(self,'isdamageevolution','indicates whether damage evolution is used in the transient');
+ 			fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient');
+@@ -117,7 +117,7 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','isstressbalance','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isthermal','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isgroundingline','format','Boolean');
+-			WriteData(fid,prefix,'object',self,'fieldname','isgia','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','isgiaivins','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isesa','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isdamageevolution','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean');
+@@ -141,7 +141,7 @@
+ 			writejsdouble(fid,[modelname '.trans.isstressbalance'],self.isstressbalance);
+ 			writejsdouble(fid,[modelname '.trans.isthermal'],self.isthermal);
+ 			writejsdouble(fid,[modelname '.trans.isgroundingline'],self.isgroundingline);
+-			writejsdouble(fid,[modelname '.trans.isgia'],self.isgia);
++			writejsdouble(fid,[modelname '.trans.isgiaivins'],self.isgiaivins);
+ 			writejsdouble(fid,[modelname '.trans.isesa'],self.isesa);
+ 			writejsdouble(fid,[modelname '.trans.isdamageevolution'],self.isdamageevolution);
+ 			writejsdouble(fid,[modelname '.trans.ismovingfront'],self.ismovingfront);
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py	(revision 21529)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py	(revision 21530)
+@@ -69,7 +69,7 @@
+ 		        'steadystate':'steadystate',\
+ 		        'transient':'transient',\
+ 		        'calving':'calving',\
+-						'gia':'gia',\
++				  'giaivins':'giaivins',\
+ 		        'autodiff':'autodiff',\
+ 		        'inversion':'inversion',\
+ 		        'qmu':'qmu',\
Index: /issm/oecreview/Archive/21337-21723/ISSM-21530-21531.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21530-21531.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21530-21531.diff	(revision 21726)
@@ -0,0 +1,428 @@
+Index: ../trunk-jpl/src/m/classes/gia.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/gia.py	(revision 21530)
++++ ../trunk-jpl/src/m/classes/gia.py	(revision 21531)
+@@ -1,63 +0,0 @@
+-from fielddisplay import fielddisplay
+-from project3d import project3d
+-from checkfield import checkfield
+-from WriteData import WriteData
+-
+-class gia(object):
+-	"""
+-	GIA class definition
+-
+-	   Usage:
+-	      gia=gia();
+-	"""
+-
+-	def __init__(self): # {{{
+-		self.mantle_viscosity              = float('NaN');
+-		self.lithosphere_thickness         = float('NaN');
+-		self.cross_section_shape           = 0;
+-	
+-		#set defaults
+-		self.setdefaultparameters()
+-
+-		#}}}
+-	def __repr__(self): # {{{
+-		
+-		string='   gia solution parameters:' 
+-		
+-		string="%s\n%s"%(string,fielddisplay(self,'mantle_viscosity','mantle viscosity constraints (NaN means no constraint) (Pa s)'))
+-		string="%s\n%s"%(string,fielddisplay(self,'lithosphere_thickness','lithosphere thickness constraints (NaN means no constraint) (m)'))
+-		string="%s\n%s"%(string,fielddisplay(self,'cross_section_shape',"1: square-edged, 2: elliptical-edged surface"))
+-		return string
+-		#}}}
+-	def extrude(self,md): # {{{
+-		self.mantle_viscosity=project3d(md,'vector',self.mantle_viscosity,'type','node')
+-		self.lithosphere_thickness=project3d(md,'vector',self.lithosphere_thickness,'type','node')
+-		return self
+-	#}}}
+-	def setdefaultparameters(self): # {{{
+-
+-		self.cross_section_shape=1; 
+-
+-		return self
+-	#}}}
+-	def checkconsistency(self,md,solution,analyses):    # {{{
+-
+-		# Early return 
+-		if ('GiaAnalysis' not in  analyses):
+-			return md 
+-		
+-		md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
+-		md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
+-		md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2])
+-
+-		#be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 
+-		#are not provided into the future.
+-
+-		return md
+-	# }}}
+-	def marshall(self,prefix,md,fid):    # {{{
+-
+-		WriteData(fid,prefix,'object',self,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
+-		WriteData(fid,prefix,'object',self,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',10.**3.);
+-		WriteData(fid,prefix,'object',self,'fieldname','cross_section_shape','format','Integer');
+-	# }}}
+Index: ../trunk-jpl/src/m/classes/gia.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/gia.js	(revision 21530)
++++ ../trunk-jpl/src/m/classes/gia.js	(revision 21531)
+@@ -1,64 +0,0 @@
+-//GIA class definition
+-//
+-//   Usage:
+-//      gia=new gia();
+-
+-function gia (){
+-	//methods
+-	this.setdefaultparameters = function(){// {{{
+-
+-		this.cross_section_shape=1; //square as default (see iedge in GiaDeflectionCorex)
+-	
+-	}// }}}
+-	this.disp= function(){// {{{
+-
+-		console.log(sprintf('   gia parameters:'));
+-
+-		fielddisplay(this,'mantle_viscosity','mantle viscosity[Pa s]');
+-		fielddisplay(this,'lithosphere_thickness','lithosphere thickness (km)');
+-		fielddisplay(this,'cross_section_shape','1: square-edged (default). 2: elliptical.  See iedge in GiaDeflectionCore');
+-
+-	}// }}}
+-	this.classname= function(){// {{{
+-		return "gia";
+-	}// }}}
+-	this.checkconsistency = function(md,solution,analyses) { // {{{
+-
+-		if(!ArrayAnyEqual(ArrayIsMember('GiaAnalysis',analyses),1))return;
+-
+-		checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
+-		checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
+-		checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]);
+-
+-		//be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 
+-		//are not provided into the future.
+-		if (solution=='TransientSolution' & md.trans.ismasstransport & md.trans.isgia){
+-			//figure out if thickness is a transient forcing: 
+-			if (md.geometry.thickness.length == (md.mesh.numberofvertices+1)){
+-				//recover the furthest time "in time": 
+-				t=md.geometry.thickness[0].length;
+-				if(md.geometry.thickness[md.geometry.thickness.length-1][t-1]!=md.timestepping.start_time){
+-					md.checkmessage('if ismasstransport is on, transient thickness forcing for the gia model should not be provided in the future. Synchronize your start_time to correspond to the most recent transient thickness forcing timestep');
+-				}
+-			}
+-		}
+-	} // }}}
+-		this.marshall=function(md,prefix,fid) { //{{{
+-			WriteData(fid,prefix,'object',this,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
+-			WriteData(fid,prefix,'object',this,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',Math.pow(10,3)); //from km to m
+-			WriteData(fid,prefix,'object',this,'fieldname','cross_section_shape','format','Integer');
+-		}//}}}
+-		this.fix=function() { //{{{
+-			this.mantle_viscosity=NullFix(this.mantle_viscosity,NaN);
+-			this.lithosphere_thickness=NullFix(this.lithosphere_thickness,NaN);
+-		}//}}}
+-	//properties 
+-	// {{{
+-
+-	this.mantle_viscosity              = NaN;
+-	this.lithosphere_thickness         = NaN;
+-	this.cross_section_shape           = 0;
+-
+-	this.setdefaultparameters();
+-	//}}}
+-}
+Index: ../trunk-jpl/src/m/classes/gia.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/gia.m	(revision 21530)
++++ ../trunk-jpl/src/m/classes/gia.m	(revision 21531)
+@@ -1,72 +0,0 @@
+-%GIA class definition
+-%
+-%   Usage:
+-%      gia=gia();
+-
+-classdef gia
+-	properties (SetAccess=public) 
+-		mantle_viscosity              = NaN;
+-		lithosphere_thickness         = NaN;
+-		cross_section_shape           = 0;
+-	end
+-	methods
+-		function self = extrude(self,md) % {{{
+-			self.mantle_viscosity=project3d(md,'vector',self.mantle_viscosity,'type','node');
+-			self.lithosphere_thickness=project3d(md,'vector',self.lithosphere_thickness,'type','node');
+-		end % }}}
+-		function self = gia(varargin) % {{{
+-			switch nargin
+-				case 0
+-					self=setdefaultparameters(self);
+-				otherwise
+-					error('constructor not supported');
+-			end
+-		end % }}}
+-		function self = setdefaultparameters(self) % {{{
+-		self.cross_section_shape=1; %square as default (see iedge in GiaDeflectionCorex)
+-		end % }}}
+-		function md = checkconsistency(self,md,solution,analyses) % {{{
+-
+-			if ~ismember('GiaAnalysis',analyses), return; end
+-			md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
+-			md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
+-			md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]);
+-
+-			%be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 
+-			%are not provided into the future.
+-			if strcmp(solution,'TransientSolution') & md.transient.ismasstransport & md.transient.isgia,
+-				%figure out if thickness is a transient forcing: 
+-				if size(md.geometry.thickness,1)==md.mesh.numberofvertices+1,
+-					%recover the furthest time "in time": 
+-					if(thickness(end,end)~=md.timestepping.start_time),
+-						md = checkmessage(md,['if ismasstransport is on, transient thickness forcing'...
+-							' for the gia model should not be provided in the future.'...
+-							' Synchronize your start_time to correspond to the most recent transient'...
+-							' thickness forcing timestep']);
+-					end
+-				end
+-			end
+-
+-		end % }}}
+-		function disp(self) % {{{
+-			disp(sprintf('   gia parameters:'));
+-
+-			fielddisplay(self,'mantle_viscosity','mantle viscosity[Pa s]');
+-			fielddisplay(self,'lithosphere_thickness','lithosphere thickness (km)');
+-			fielddisplay(self,'cross_section_shape','1: square-edged (default). 2: elliptical.  See iedge in GiaDeflectionCore');
+-
+-		end % }}}
+-		function marshall(self,prefix,md,fid) % {{{
+-			WriteData(fid,prefix,'object',self,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
+-			WriteData(fid,prefix,'object',self,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',10^3); %from km to m
+-			WriteData(fid,prefix,'object',self,'fieldname','cross_section_shape','format','Integer');
+-		end % }}}
+-		function savemodeljs(self,fid,modelname) % {{{
+-		
+-			writejsdouble(fid,[modelname '.gia.mantle_viscosity'],self.mantle_viscosity);
+-			writejsdouble(fid,[modelname '.gia.lithosphere_thickness'],self.lithosphere_thickness);
+-			writejsdouble(fid,[modelname '.gia.cross_section_shape'],self.cross_section_shape);
+-
+-		end % }}}
+-	end
+-end
+Index: ../trunk-jpl/src/m/classes/giaivins.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/giaivins.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/giaivins.m	(revision 21531)
+@@ -0,0 +1,72 @@
++%GIA class definition for Ivins and James model 
++%
++%   Usage:
++%      giaivins=giaivins();
++
++classdef giaivins
++	properties (SetAccess=public) 
++		mantle_viscosity              = NaN;
++		lithosphere_thickness         = NaN;
++		cross_section_shape           = 0;
++	end
++	methods
++		function self = extrude(self,md) % {{{
++			self.mantle_viscosity=project3d(md,'vector',self.mantle_viscosity,'type','node');
++			self.lithosphere_thickness=project3d(md,'vector',self.lithosphere_thickness,'type','node');
++		end % }}}
++		function self = giaivins(varargin) % {{{
++			switch nargin
++				case 0
++					self=setdefaultparameters(self);
++				otherwise
++					error('constructor not supported');
++			end
++		end % }}}
++		function self = setdefaultparameters(self) % {{{
++		self.cross_section_shape=1; %square as default (see iedge in GiaDeflectionCorex)
++		end % }}}
++		function md = checkconsistency(self,md,solution,analyses) % {{{
++
++			if ~ismember('GiaAnalysis',analyses), return; end
++			md = checkfield(md,'fieldname','giaivins.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
++			md = checkfield(md,'fieldname','giaivins.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
++			md = checkfield(md,'fieldname','giaivins.cross_section_shape','numel',[1],'values',[1,2]);
++
++			%be sure that if we are running a masstransport ice flow model coupled with giaivins, that thickness forcings 
++			%are not provided into the future.
++			if strcmp(solution,'TransientSolution') & md.transient.ismasstransport & md.transient.isgiaivins,
++				%figure out if thickness is a transient forcing: 
++				if size(md.geometry.thickness,1)==md.mesh.numberofvertices+1,
++					%recover the furthest time "in time": 
++					if(thickness(end,end)~=md.timestepping.start_time),
++						md = checkmessage(md,['if ismasstransport is on, transient thickness forcing'...
++							' for the giaivins model should not be provided in the future.'...
++							' Synchronize your start_time to correspond to the most recent transient'...
++							' thickness forcing timestep']);
++					end
++				end
++			end
++
++		end % }}}
++		function disp(self) % {{{
++			disp(sprintf('   giaivins parameters:'));
++
++			fielddisplay(self,'mantle_viscosity','mantle viscosity[Pa s]');
++			fielddisplay(self,'lithosphere_thickness','lithosphere thickness (km)');
++			fielddisplay(self,'cross_section_shape','1: square-edged (default). 2: elliptical.  See iedge in GiaDeflectionCore');
++
++		end % }}}
++		function marshall(self,prefix,md,fid) % {{{
++			WriteData(fid,prefix,'object',self,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',10^3); %from km to m
++			WriteData(fid,prefix,'object',self,'fieldname','cross_section_shape','format','Integer');
++		end % }}}
++		function savemodeljs(self,fid,modelname) % {{{
++		
++			writejsdouble(fid,[modelname '.giaivins.mantle_viscosity'],self.mantle_viscosity);
++			writejsdouble(fid,[modelname '.giaivins.lithosphere_thickness'],self.lithosphere_thickness);
++			writejsdouble(fid,[modelname '.giaivins.cross_section_shape'],self.cross_section_shape);
++
++		end % }}}
++	end
++end
+Index: ../trunk-jpl/src/m/classes/giaivins.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/giaivins.py	(revision 0)
++++ ../trunk-jpl/src/m/classes/giaivins.py	(revision 21531)
+@@ -0,0 +1,63 @@
++from fielddisplay import fielddisplay
++from project3d import project3d
++from checkfield import checkfield
++from WriteData import WriteData
++
++class giaivins(object):
++	"""
++	GIA class definition
++
++	   Usage:
++	      giaivins=giaivins();
++	"""
++
++	def __init__(self): # {{{
++		self.mantle_viscosity              = float('NaN');
++		self.lithosphere_thickness         = float('NaN');
++		self.cross_section_shape           = 0;
++	
++		#set defaults
++		self.setdefaultparameters()
++
++		#}}}
++	def __repr__(self): # {{{
++		
++		string='   giaivins solution parameters:' 
++		
++		string="%s\n%s"%(string,fielddisplay(self,'mantle_viscosity','mantle viscosity constraints (NaN means no constraint) (Pa s)'))
++		string="%s\n%s"%(string,fielddisplay(self,'lithosphere_thickness','lithosphere thickness constraints (NaN means no constraint) (m)'))
++		string="%s\n%s"%(string,fielddisplay(self,'cross_section_shape',"1: square-edged, 2: elliptical-edged surface"))
++		return string
++		#}}}
++	def extrude(self,md): # {{{
++		self.mantle_viscosity=project3d(md,'vector',self.mantle_viscosity,'type','node')
++		self.lithosphere_thickness=project3d(md,'vector',self.lithosphere_thickness,'type','node')
++		return self
++	#}}}
++	def setdefaultparameters(self): # {{{
++
++		self.cross_section_shape=1; 
++
++		return self
++	#}}}
++	def checkconsistency(self,md,solution,analyses):    # {{{
++
++		# Early return 
++		if ('GiaAnalysis' not in  analyses):
++			return md 
++		
++		md = checkfield(md,'fieldname','giaivins.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
++		md = checkfield(md,'fieldname','giaivins.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
++		md = checkfield(md,'fieldname','giaivins.cross_section_shape','numel',[1],'values',[1,2])
++
++		#be sure that if we are running a masstransport ice flow model coupled with giaivins, that thickness forcings 
++		#are not provided into the future.
++
++		return md
++	# }}}
++	def marshall(self,prefix,md,fid):    # {{{
++
++		WriteData(fid,prefix,'object',self,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
++		WriteData(fid,prefix,'object',self,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',10.**3.);
++		WriteData(fid,prefix,'object',self,'fieldname','cross_section_shape','format','Integer');
++	# }}}
+Index: ../trunk-jpl/src/m/classes/giaivins.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/giaivins.js	(revision 0)
++++ ../trunk-jpl/src/m/classes/giaivins.js	(revision 21531)
+@@ -0,0 +1,64 @@
++//GIA class definition for Ivins and James model 
++//
++//   Usage:
++//      giaivins=new giaivins();
++
++function giaivins (){
++	//methods
++	this.setdefaultparameters = function(){// {{{
++
++		this.cross_section_shape=1; //square as default (see iedge in GiaDeflectionCorex)
++	
++	}// }}}
++	this.disp= function(){// {{{
++
++		console.log(sprintf('   giaivins parameters:'));
++
++		fielddisplay(this,'mantle_viscosity','mantle viscosity[Pa s]');
++		fielddisplay(this,'lithosphere_thickness','lithosphere thickness (km)');
++		fielddisplay(this,'cross_section_shape','1: square-edged (default). 2: elliptical.  See iedge in GiaDeflectionCore');
++
++	}// }}}
++	this.classname= function(){// {{{
++		return "giaivins";
++	}// }}}
++	this.checkconsistency = function(md,solution,analyses) { // {{{
++
++		if(!ArrayAnyEqual(ArrayIsMember('GiaAnalysis',analyses),1))return;
++
++		checkfield(md,'fieldname','giaivins.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
++		checkfield(md,'fieldname','giaivins.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
++		checkfield(md,'fieldname','giaivins.cross_section_shape','numel',[1],'values',[1,2]);
++
++		//be sure that if we are running a masstransport ice flow model coupled with giaivins, that thickness forcings 
++		//are not provided into the future.
++		if (solution=='TransientSolution' & md.trans.ismasstransport & md.trans.isgiaivins){
++			//figure out if thickness is a transient forcing: 
++			if (md.geometry.thickness.length == (md.mesh.numberofvertices+1)){
++				//recover the furthest time "in time": 
++				t=md.geometry.thickness[0].length;
++				if(md.geometry.thickness[md.geometry.thickness.length-1][t-1]!=md.timestepping.start_time){
++					md.checkmessage('if ismasstransport is on, transient thickness forcing for the giaivins model should not be provided in the future. Synchronize your start_time to correspond to the most recent transient thickness forcing timestep');
++				}
++			}
++		}
++	} // }}}
++		this.marshall=function(md,prefix,fid) { //{{{
++			WriteData(fid,prefix,'object',this,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',this,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',Math.pow(10,3)); //from km to m
++			WriteData(fid,prefix,'object',this,'fieldname','cross_section_shape','format','Integer');
++		}//}}}
++		this.fix=function() { //{{{
++			this.mantle_viscosity=NullFix(this.mantle_viscosity,NaN);
++			this.lithosphere_thickness=NullFix(this.lithosphere_thickness,NaN);
++		}//}}}
++	//properties 
++	// {{{
++
++	this.mantle_viscosity              = NaN;
++	this.lithosphere_thickness         = NaN;
++	this.cross_section_shape           = 0;
++
++	this.setdefaultparameters();
++	//}}}
++}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21531-21532.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21531-21532.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21531-21532.diff	(revision 21726)
@@ -0,0 +1,2596 @@
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp	(revision 21532)
+@@ -0,0 +1,171 @@
++/*!\file GiaIvinsDeflectionCorex
++ * \brief: GIA solution from Erik Ivins. 
++ * Compute deflection wi from a single disk of radius re, load history hes for 
++ * numtimes time steps. 
++ */
++
++#include "./GiaIvinsDeflectionCorex.h"
++
++#include "../../classes/classes.h"
++#include "../../shared/shared.h"
++#include "../../toolkits/toolkits.h"
++#include "../InputUpdateFromConstantx/InputUpdateFromConstantx.h"
++
++/*External blocks: {{{*/
++struct blockp{
++	double pset[7];
++};
++
++struct blocko{
++	double rhoi;
++};
++
++struct blockrad{
++	double distrad; 
++};
++
++struct blocks{
++	double aswokm_w; 
++	double aswokm_dwdt; 
++};
++
++extern "C" { 
++	int distme_(int* pNtime,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi,double* zhload);
++
++	int what0_(int* piedge,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi);
++	extern struct blockp blockp_;
++	extern struct blocko blocko_;
++	extern struct blockrad blockrad_;
++	extern struct blocks blocks_;
++}
++
++/*}}}*/
++
++void GiaIvinsDeflectionCorex( IssmDouble* pwi, IssmDouble* pdwidt, GiaIvinsDeflectionCoreArgs* arguments){
++
++	/*intermediary: */
++	int i;
++
++	/*output: */
++	IssmDouble wi=0;
++	IssmDouble dwidt=0;
++
++	/*inputs: {{{*/
++	/*constant: */
++	int idisk=1; // disk #
++	IssmDouble yts;
++
++	/*coming from the model structure, runtime configurable:*/
++	/*gia solution parameters: */
++	int iedge=0; 
++
++	/*gia inputs: */
++	IssmDouble ri; //radial distance from center of disk to vertex  i
++	IssmDouble re; //radius of disk
++	IssmDouble* hes; //loading history (in ice thickness)
++	IssmDouble* times; //loading history times
++	int numtimes; //loading history length
++	IssmDouble currenttime;
++	int Ntime; // number of times with load history 
++	int Ntimm; // Ntime-1 : for slope/y-cept of load segments 
++	int Ntimp; // Ntime+1 : for evaluation time  
++	IssmDouble* blockt_time=NULL;
++	IssmDouble* blockt_bi=NULL;
++	IssmDouble* blockt_dmi=NULL;
++	IssmDouble* blocky_zhload=NULL;
++
++	/*gia material parameters: */
++	IssmDouble lithosphere_shear_modulus;
++	IssmDouble lithosphere_density;
++	IssmDouble mantle_shear_modulus;
++	IssmDouble mantle_viscosity;
++	IssmDouble mantle_density;
++	IssmDouble lithosphere_thickness;
++
++	/*ice properties: */
++	IssmDouble rho_ice;
++
++	/*some debug info: */
++	int disk_id;
++
++/*}}}*/
++
++	/*Recover material parameters and loading history: see GiaIvinsDeflectionCoreArgs for more details {{{*/
++	ri                        = arguments->ri;
++	re                        = arguments->re;
++	hes                       = arguments->hes;
++	times                     = arguments->times;
++	numtimes                  = arguments->numtimes;
++	currenttime               = arguments->currenttime;
++	lithosphere_shear_modulus = arguments->lithosphere_shear_modulus;
++	lithosphere_density       = arguments->lithosphere_density;
++	mantle_shear_modulus      = arguments->mantle_shear_modulus;
++	mantle_viscosity          = arguments->mantle_viscosity;
++	mantle_density            = arguments->mantle_density;
++	lithosphere_thickness     = arguments->lithosphere_thickness;
++	rho_ice                   = arguments->rho_ice;
++	disk_id                   = arguments->idisk;
++	iedge                     = arguments->iedge;
++	yts                       = arguments->yts;
++
++	/*}}}*/
++
++	/*Modify inputs to match naruse code: */
++	Ntime=numtimes;
++	Ntimm=Ntime-1;
++	Ntimp=Ntime+1;
++
++	/*Prepare block inputs for fortran distme and what0 routines of the naruse code: {{{*/
++	/*Now, let's set pset from the data that we got in input to GiaIvinsDeflectionCorex: */
++	blockp_.pset[0]=lithosphere_thickness;
++	blockp_.pset[1]=mantle_viscosity;
++	blockp_.pset[2]=lithosphere_shear_modulus;
++	blockp_.pset[3]=mantle_shear_modulus;
++	blockp_.pset[4]=lithosphere_density;
++	blockp_.pset[5]=mantle_density;
++	blockp_.pset[6]=re;
++	blocko_.rhoi=rho_ice; 
++
++	/*loading history: */
++	blocky_zhload=xNew<IssmDouble>(Ntime);
++	for(i=0;i<Ntime;i++){
++	blocky_zhload[i]=hes[i];
++	}
++
++	/*times in kyr: */
++	blockt_time=xNew<IssmDouble>(Ntimp);
++	for (i=0;i<Ntimp;i++){
++		blockt_time[i]=times[i]/1000.0/yts; 
++		if(i==numtimes-1)blockt_time[i]=times[numtimes-1]/1000.0/yts; // final loading time, same as evaluation time
++		if(i==numtimes)blockt_time[i]=times[numtimes-1]/1000.0/yts;   // evaluation time
++	}
++
++	/*bi: */
++	blockt_bi=xNew<IssmDouble>(Ntimm);
++
++	/*dmi: */
++	blockt_dmi=xNew<IssmDouble>(Ntimm);
++
++	/*radial distance of i-th element: */
++	blockrad_.distrad=ri/1000.0; // in km
++	/*}}}*/
++
++	/*Call distme driver: */
++	distme_(&Ntime,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi,blocky_zhload); 
++
++	/*Call what0 driver: */
++	what0_(&iedge,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi); 
++
++	/*output solution: */
++	wi = blocks_.aswokm_w;
++	dwidt = blocks_.aswokm_dwdt;
++	*pwi=wi;
++	*pdwidt=dwidt;
++
++	/*Free ressources: */
++	xDelete<IssmDouble>(blockt_time);
++	xDelete<IssmDouble>(blockt_bi);
++	xDelete<IssmDouble>(blockt_dmi);
++	xDelete<IssmDouble>(blocky_zhload);
++
++}
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps/libISSMCore_la-GiaIvinsDeflectionCorex.Plo
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps/libISSMCore_la-GiaIvinsDeflectionCorex.Plo	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps/libISSMCore_la-GiaIvinsDeflectionCorex.Plo	(revision 21532)
+@@ -0,0 +1,1243 @@
++./modules/GiaIvinsDeflectionCorex/libISSMCore_la-GiaIvinsDeflectionCorex.lo: \
++  modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp \
++  modules/GiaIvinsDeflectionCorex/./GiaIvinsDeflectionCorex.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/classes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Contour.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/shared.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/fsanalyticals.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/types.h \
++  ../.././config.h /usr/include/stdio.h /usr/include/sys/cdefs.h \
++  /usr/include/sys/_symbol_aliasing.h \
++  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
++  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
++  /usr/include/sys/_types.h /usr/include/machine/_types.h \
++  /usr/include/i386/_types.h /usr/include/sys/_pthread/_pthread_types.h \
++  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h \
++  /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h \
++  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./MemOps/MemOps.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cassert \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config \
++  /usr/include/unistd.h /usr/include/sys/unistd.h \
++  /usr/include/sys/_types/_posix_vdisable.h \
++  /usr/include/sys/_types/_seek_set.h /usr/include/_types/_uint64_t.h \
++  /usr/include/sys/_types/_uid_t.h /usr/include/sys/_types/_gid_t.h \
++  /usr/include/sys/_types/_intptr_t.h /usr/include/sys/_types/_pid_t.h \
++  /usr/include/sys/_types/_useconds_t.h /usr/include/sys/select.h \
++  /usr/include/sys/appleapiopts.h /usr/include/sys/_types/_fd_def.h \
++  /usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_timeval.h \
++  /usr/include/sys/_types/_time_t.h \
++  /usr/include/sys/_types/_suseconds_t.h \
++  /usr/include/sys/_types/_sigset_t.h \
++  /usr/include/sys/_types/_fd_setsize.h \
++  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
++  /usr/include/sys/_types/_fd_isset.h /usr/include/sys/_types/_fd_zero.h \
++  /usr/include/sys/_types/_fd_copy.h /usr/include/sys/_select.h \
++  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
++  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
++  /usr/include/assert.h /usr/include/stdlib.h /usr/include/sys/wait.h \
++  /usr/include/sys/_types/_id_t.h /usr/include/sys/signal.h \
++  /usr/include/machine/signal.h /usr/include/i386/signal.h \
++  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
++  /usr/include/mach/i386/_structs.h \
++  /usr/include/sys/_pthread/_pthread_attr_t.h \
++  /usr/include/sys/_types/_sigaltstack.h \
++  /usr/include/sys/_types/_ucontext.h /usr/include/sys/resource.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/stdint.h \
++  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
++  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
++  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
++  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
++  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
++  /usr/include/_types/_uintmax_t.h /usr/include/machine/endian.h \
++  /usr/include/i386/endian.h /usr/include/sys/_endian.h \
++  /usr/include/libkern/_OSByteOrder.h \
++  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
++  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
++  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
++  /usr/include/i386/types.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/shared.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/Abs.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/BigPrimeNumber.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/BinaryRand.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstdlib \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/Exchange.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/extrema.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/HeapSort.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/OppositeAngle.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/../Numerics/constants.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Elements/elements.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Enum/Enum.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Enum/./EnumDefinitions.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Exceptions/exceptions.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/exception \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstddef \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/stddef.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd \
++  /usr/include/wchar.h /usr/include/sys/_types/_mbstate_t.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/stdarg.h \
++  /usr/include/time.h /usr/include/sys/_types/_clock_t.h \
++  /usr/include/_wctype.h /usr/include/sys/_types/_wint_t.h \
++  /usr/include/_types/_wctype_t.h /usr/include/ctype.h \
++  /usr/include/runetype.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstring \
++  /usr/include/string.h /usr/include/sys/_types/_rsize_t.h \
++  /usr/include/sys/_types/_errno_t.h /usr/include/strings.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstdio \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cwchar \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cwctype \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype \
++  /usr/include/wctype.h /usr/include/_types/_wctrans_t.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/initializer_list \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple_03 \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/typeinfo \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstdint \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/new \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/limits \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__undef_min_max \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_base \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_base_03 \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__debug \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/tuple \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/stdexcept \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iostream \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/mutex \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__mutex_base \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/chrono \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ctime \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ratio \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/climits \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/limits.h \
++  /usr/include/limits.h /usr/include/machine/limits.h \
++  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
++  /usr/include/sys/syslimits.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/system_error \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cerrno \
++  /usr/include/errno.h /usr/include/sys/errno.h /usr/include/pthread.h \
++  /usr/include/pthread/pthread_impl.h /usr/include/pthread/sched.h \
++  /usr/include/sys/_pthread/_pthread_cond_t.h \
++  /usr/include/sys/_pthread/_pthread_condattr_t.h \
++  /usr/include/sys/_pthread/_pthread_key_t.h \
++  /usr/include/sys/_pthread/_pthread_mutex_t.h \
++  /usr/include/sys/_pthread/_pthread_mutexattr_t.h \
++  /usr/include/sys/_pthread/_pthread_once_t.h \
++  /usr/include/sys/_pthread/_pthread_rwlock_t.h \
++  /usr/include/sys/_pthread/_pthread_rwlockattr_t.h \
++  /usr/include/sys/_pthread/_pthread_t.h /usr/include/pthread/qos.h \
++  /usr/include/sys/qos.h /usr/include/sys/_types/_mach_port_t.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03 \
++  /usr/include/locale.h /usr/include/_locale.h /usr/include/xlocale.h \
++  /usr/include/_xlocale.h /usr/include/xlocale/_ctype.h \
++  /usr/include/xlocale/__wctype.h /usr/include/xlocale/_stdio.h \
++  /usr/include/xlocale/_stdlib.h /usr/include/xlocale/_string.h \
++  /usr/include/xlocale/_time.h /usr/include/xlocale/_wchar.h \
++  /usr/include/xlocale/_wctype.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/streambuf \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/istream \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/locale \
++  /usr/include/nl_types.h /usr/include/sys/types.h \
++  /usr/include/sys/_types/_blkcnt_t.h \
++  /usr/include/sys/_types/_blksize_t.h \
++  /usr/include/sys/_types/_in_addr_t.h \
++  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
++  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
++  /usr/include/sys/_types/_nlink_t.h \
++  /usr/include/sys/_types/_fsblkcnt_t.h \
++  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/_types/_nl_item.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/bitset \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__bit_reference \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/sstream \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iomanip \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/io.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/IssmComm.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/issmmpi.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/mpich/install/include/mpi.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/mpich/install/include/mpio.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/mpich/install/include/mpicxx.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/./commops/commops.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../../shared/io/Comm/IssmComm.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../mpi/issmmpi.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Disk/diskio.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Print/Print.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Marshalling/Marshalling.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Marshalling/IoCodeConversions.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Exp/exp.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Exp/../Numerics/recast.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Matrix/matrix.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Numerics/numerics.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./Verbosity.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./GaussPoints.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./isnan.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath \
++  /usr/include/math.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./OptPars.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Sorting/sorting.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./String/sharedstring.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Threads/issm_threads.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./TriMesh/trimesh.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../shared/./LatLong/latlong.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../datastructures/datastructures.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../datastructures/./DataSet.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__split_buffer \
++  modules/GiaIvinsDeflectionCorex/../../classes/../datastructures/./Object.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Vertices.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Vertex.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./classes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/toolkits.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/petscincludes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscmat.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscvec.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscis.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscsys.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscconf.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscfix.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscversion.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscmath.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscerror.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscviewertypes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscoptions.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petsclog.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/xmmintrin.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/mmintrin.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/mm_malloc.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/emmintrin.h \
++  /usr/include/sys/param.h /usr/include/machine/param.h \
++  /usr/include/i386/param.h /usr/include/i386/_param.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscsftypes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscistypes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscviewer.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscdrawtypes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscksp.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscpc.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscpctypes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscdmtypes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/patches/petscpatches.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/patches/./SolverEnum.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/patches/../../toolkitsenums.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/petscobjects.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/./PetscMat.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/../petscincludes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/./PetscVec.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/./PetscSolver.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./metis/metisincludes.h \
++  /Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/metis.h \
++  /usr/include/inttypes.h /usr/include/xlocale/_inttypes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./metis/patches/metispatches.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./triangle/triangleincludes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/toolkitobjects.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/./Vector.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/issmtoolkit.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmAbsMat.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmAbsVec.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmDenseMat.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmSeqVec.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/../gsl/gslincludes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMat.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/../ToolkitOptions.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmToolkitUtils.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmVec.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmSolver.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMpiDenseMat.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/../mumps/mumpsincludes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./Bucket.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMpiVec.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMpiSparseMat.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./SparseRow.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/./Matrix.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/./Solver.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Nodes.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Contours.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Node.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./DofIndexing.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Update.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Profiler.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./DependentObject.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Segment.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Massfluxatgate.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Definition.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Element.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Elements.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./FemModel.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Misfit.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../modules/SurfaceAreax/SurfaceAreax.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/Params/Parameters.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/Inputs/Input.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/Gauss.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Nodalvalue.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Masscon.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Massconaxpby.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/Constraints.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/Constraint.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/SpcStatic.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/SpcTransient.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/SpcDynamic.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Loads.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Load.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Friction.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Numericalflux.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Neumannflux.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Riftfront.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Penpair.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Pengrid.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Moulin.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Penta.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./ElementHook.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./PentaRef.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Seg.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./SegRef.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Tria.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./TriaRef.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Tetra.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./TetraRef.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Options/Option.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Options/Options.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Options/./GenericOption.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Options/./OptionUtilities.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/Inputs.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/BoolInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/DoubleInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/DoubleArrayInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/IntInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/TetraInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/PentaInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/TriaInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/SegInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/ControlInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/DatasetInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/TransientInput.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./ExternalResults/Results.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./ExternalResults/ExternalResult.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./ExternalResults/GenericExternalResult.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Materials.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Material.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Matice.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Materials/../Hook.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Matestar.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Matpar.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/GenericParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/Params/./Param.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/BoolParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleMatParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleTransientMatParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleMatArrayParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleVecParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/IntParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/IntVecParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/IntMatParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/FileParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/MatrixParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/VectorParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/StringArrayParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/StringParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/TransientParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Params/DataSetParam.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./matrix/matrixobjects.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./matrix/./ElementMatrix.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./matrix/./ElementVector.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./gauss/gaussobjects.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussSeg.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussTria.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussTetra.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussPenta.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/krigingobjects.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Variogram.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./GaussianVariogram.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./ExponentialVariogram.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./SphericalVariogram.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./PowerVariogram.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Quadtree.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Covertree.h \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map \
++  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tree \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Observation.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Observations.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Dakota/IssmDirectApplicInterface.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./Dakota/IssmParallelDirectApplicInterface.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./IoModel.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./GiaIvinsDeflectionCoreArgs.h \
++  modules/GiaIvinsDeflectionCorex/../../classes/./RiftStruct.h \
++  modules/GiaIvinsDeflectionCorex/../InputUpdateFromConstantx/InputUpdateFromConstantx.h
++
++modules/GiaIvinsDeflectionCorex/./GiaIvinsDeflectionCorex.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/classes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Contour.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/shared.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/fsanalyticals.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/types.h:
++
++../.././config.h:
++
++/usr/include/stdio.h:
++
++/usr/include/sys/cdefs.h:
++
++/usr/include/sys/_symbol_aliasing.h:
++
++/usr/include/sys/_posix_availability.h:
++
++/usr/include/Availability.h:
++
++/usr/include/AvailabilityInternal.h:
++
++/usr/include/_types.h:
++
++/usr/include/sys/_types.h:
++
++/usr/include/machine/_types.h:
++
++/usr/include/i386/_types.h:
++
++/usr/include/sys/_pthread/_pthread_types.h:
++
++/usr/include/sys/_types/_va_list.h:
++
++/usr/include/sys/_types/_size_t.h:
++
++/usr/include/sys/_types/_null.h:
++
++/usr/include/sys/stdio.h:
++
++/usr/include/sys/_types/_off_t.h:
++
++/usr/include/sys/_types/_ssize_t.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./MemOps/MemOps.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cassert:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:
++
++/usr/include/unistd.h:
++
++/usr/include/sys/unistd.h:
++
++/usr/include/sys/_types/_posix_vdisable.h:
++
++/usr/include/sys/_types/_seek_set.h:
++
++/usr/include/_types/_uint64_t.h:
++
++/usr/include/sys/_types/_uid_t.h:
++
++/usr/include/sys/_types/_gid_t.h:
++
++/usr/include/sys/_types/_intptr_t.h:
++
++/usr/include/sys/_types/_pid_t.h:
++
++/usr/include/sys/_types/_useconds_t.h:
++
++/usr/include/sys/select.h:
++
++/usr/include/sys/appleapiopts.h:
++
++/usr/include/sys/_types/_fd_def.h:
++
++/usr/include/sys/_types/_timespec.h:
++
++/usr/include/sys/_types/_timeval.h:
++
++/usr/include/sys/_types/_time_t.h:
++
++/usr/include/sys/_types/_suseconds_t.h:
++
++/usr/include/sys/_types/_sigset_t.h:
++
++/usr/include/sys/_types/_fd_setsize.h:
++
++/usr/include/sys/_types/_fd_set.h:
++
++/usr/include/sys/_types/_fd_clr.h:
++
++/usr/include/sys/_types/_fd_isset.h:
++
++/usr/include/sys/_types/_fd_zero.h:
++
++/usr/include/sys/_types/_fd_copy.h:
++
++/usr/include/sys/_select.h:
++
++/usr/include/sys/_types/_dev_t.h:
++
++/usr/include/sys/_types/_mode_t.h:
++
++/usr/include/sys/_types/_uuid_t.h:
++
++/usr/include/gethostuuid.h:
++
++/usr/include/assert.h:
++
++/usr/include/stdlib.h:
++
++/usr/include/sys/wait.h:
++
++/usr/include/sys/_types/_id_t.h:
++
++/usr/include/sys/signal.h:
++
++/usr/include/machine/signal.h:
++
++/usr/include/i386/signal.h:
++
++/usr/include/machine/_mcontext.h:
++
++/usr/include/i386/_mcontext.h:
++
++/usr/include/mach/i386/_structs.h:
++
++/usr/include/sys/_pthread/_pthread_attr_t.h:
++
++/usr/include/sys/_types/_sigaltstack.h:
++
++/usr/include/sys/_types/_ucontext.h:
++
++/usr/include/sys/resource.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/stdint.h:
++
++/usr/include/stdint.h:
++
++/usr/include/sys/_types/_int8_t.h:
++
++/usr/include/sys/_types/_int16_t.h:
++
++/usr/include/sys/_types/_int32_t.h:
++
++/usr/include/sys/_types/_int64_t.h:
++
++/usr/include/_types/_uint8_t.h:
++
++/usr/include/_types/_uint16_t.h:
++
++/usr/include/_types/_uint32_t.h:
++
++/usr/include/sys/_types/_uintptr_t.h:
++
++/usr/include/_types/_intmax_t.h:
++
++/usr/include/_types/_uintmax_t.h:
++
++/usr/include/machine/endian.h:
++
++/usr/include/i386/endian.h:
++
++/usr/include/sys/_endian.h:
++
++/usr/include/libkern/_OSByteOrder.h:
++
++/usr/include/libkern/i386/_OSByteOrder.h:
++
++/usr/include/alloca.h:
++
++/usr/include/sys/_types/_ct_rune_t.h:
++
++/usr/include/sys/_types/_rune_t.h:
++
++/usr/include/sys/_types/_wchar_t.h:
++
++/usr/include/machine/types.h:
++
++/usr/include/i386/types.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/shared.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/Abs.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/BigPrimeNumber.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/BinaryRand.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstdlib:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/Exchange.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/extrema.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/HeapSort.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/OppositeAngle.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Bamg/../Numerics/constants.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Elements/elements.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Enum/Enum.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Enum/./EnumDefinitions.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Exceptions/exceptions.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/exception:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstddef:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/stddef.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:
++
++/usr/include/wchar.h:
++
++/usr/include/sys/_types/_mbstate_t.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/stdarg.h:
++
++/usr/include/time.h:
++
++/usr/include/sys/_types/_clock_t.h:
++
++/usr/include/_wctype.h:
++
++/usr/include/sys/_types/_wint_t.h:
++
++/usr/include/_types/_wctype_t.h:
++
++/usr/include/ctype.h:
++
++/usr/include/runetype.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstring:
++
++/usr/include/string.h:
++
++/usr/include/sys/_types/_rsize_t.h:
++
++/usr/include/sys/_types/_errno_t.h:
++
++/usr/include/strings.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstdio:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cwchar:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cwctype:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:
++
++/usr/include/wctype.h:
++
++/usr/include/_types/_wctrans_t.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/initializer_list:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple_03:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/typeinfo:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstdint:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/new:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/limits:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__undef_min_max:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_base:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_base_03:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__debug:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/tuple:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/stdexcept:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iostream:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/mutex:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__mutex_base:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/chrono:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ctime:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ratio:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/climits:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/limits.h:
++
++/usr/include/limits.h:
++
++/usr/include/machine/limits.h:
++
++/usr/include/i386/limits.h:
++
++/usr/include/i386/_limits.h:
++
++/usr/include/sys/syslimits.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/system_error:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cerrno:
++
++/usr/include/errno.h:
++
++/usr/include/sys/errno.h:
++
++/usr/include/pthread.h:
++
++/usr/include/pthread/pthread_impl.h:
++
++/usr/include/pthread/sched.h:
++
++/usr/include/sys/_pthread/_pthread_cond_t.h:
++
++/usr/include/sys/_pthread/_pthread_condattr_t.h:
++
++/usr/include/sys/_pthread/_pthread_key_t.h:
++
++/usr/include/sys/_pthread/_pthread_mutex_t.h:
++
++/usr/include/sys/_pthread/_pthread_mutexattr_t.h:
++
++/usr/include/sys/_pthread/_pthread_once_t.h:
++
++/usr/include/sys/_pthread/_pthread_rwlock_t.h:
++
++/usr/include/sys/_pthread/_pthread_rwlockattr_t.h:
++
++/usr/include/sys/_pthread/_pthread_t.h:
++
++/usr/include/pthread/qos.h:
++
++/usr/include/sys/qos.h:
++
++/usr/include/sys/_types/_mach_port_t.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03:
++
++/usr/include/locale.h:
++
++/usr/include/_locale.h:
++
++/usr/include/xlocale.h:
++
++/usr/include/_xlocale.h:
++
++/usr/include/xlocale/_ctype.h:
++
++/usr/include/xlocale/__wctype.h:
++
++/usr/include/xlocale/_stdio.h:
++
++/usr/include/xlocale/_stdlib.h:
++
++/usr/include/xlocale/_string.h:
++
++/usr/include/xlocale/_time.h:
++
++/usr/include/xlocale/_wchar.h:
++
++/usr/include/xlocale/_wctype.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/streambuf:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/istream:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/locale:
++
++/usr/include/nl_types.h:
++
++/usr/include/sys/types.h:
++
++/usr/include/sys/_types/_blkcnt_t.h:
++
++/usr/include/sys/_types/_blksize_t.h:
++
++/usr/include/sys/_types/_in_addr_t.h:
++
++/usr/include/sys/_types/_in_port_t.h:
++
++/usr/include/sys/_types/_ino_t.h:
++
++/usr/include/sys/_types/_ino64_t.h:
++
++/usr/include/sys/_types/_key_t.h:
++
++/usr/include/sys/_types/_nlink_t.h:
++
++/usr/include/sys/_types/_fsblkcnt_t.h:
++
++/usr/include/sys/_types/_fsfilcnt_t.h:
++
++/usr/include/_types/_nl_item.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/bitset:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__bit_reference:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/sstream:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iomanip:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/io.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/IssmComm.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/issmmpi.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/mpich/install/include/mpi.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/mpich/install/include/mpio.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/mpich/install/include/mpicxx.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/./commops/commops.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../../shared/io/Comm/IssmComm.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../mpi/issmmpi.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Disk/diskio.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Print/Print.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Marshalling/Marshalling.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./io/./Marshalling/IoCodeConversions.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Exp/exp.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Exp/../Numerics/recast.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Matrix/matrix.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Numerics/numerics.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./Verbosity.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./GaussPoints.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./isnan.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:
++
++/usr/include/math.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./FSanalyticals/../Numerics/./OptPars.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Sorting/sorting.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./String/sharedstring.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./Threads/issm_threads.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./TriMesh/trimesh.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../shared/./LatLong/latlong.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../datastructures/datastructures.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../datastructures/./DataSet.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__split_buffer:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../datastructures/./Object.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Vertices.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Vertex.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./classes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/toolkits.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/petscincludes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscmat.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscvec.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscis.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscsys.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscconf.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscfix.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscversion.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscmath.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscerror.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscviewertypes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscoptions.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petsclog.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/xmmintrin.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/mmintrin.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/mm_malloc.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include/emmintrin.h:
++
++/usr/include/sys/param.h:
++
++/usr/include/machine/param.h:
++
++/usr/include/i386/param.h:
++
++/usr/include/i386/_param.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscsftypes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscistypes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscviewer.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscdrawtypes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscksp.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscpc.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscpctypes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/petscdmtypes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/patches/petscpatches.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/patches/./SolverEnum.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/patches/../../toolkitsenums.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/petscobjects.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/./PetscMat.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/../petscincludes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/./PetscVec.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./petsc/objects/./PetscSolver.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./metis/metisincludes.h:
++
++/Users/adhikari/issm/trunk-jpl-sesaw/externalpackages/petsc/install/include/metis.h:
++
++/usr/include/inttypes.h:
++
++/usr/include/xlocale/_inttypes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./metis/patches/metispatches.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./triangle/triangleincludes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/toolkitobjects.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/./Vector.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/issmtoolkit.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmAbsMat.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmAbsVec.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmDenseMat.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmSeqVec.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/../gsl/gslincludes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMat.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/../ToolkitOptions.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmToolkitUtils.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmVec.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmSolver.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMpiDenseMat.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/../mumps/mumpsincludes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./Bucket.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMpiVec.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./IssmMpiSparseMat.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/../issm/./SparseRow.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/./Matrix.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../toolkits/./objects/./Solver.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Nodes.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Contours.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Node.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./DofIndexing.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Update.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Profiler.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./DependentObject.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Segment.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Massfluxatgate.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Definition.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Element.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Elements.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./FemModel.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Misfit.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../modules/SurfaceAreax/SurfaceAreax.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/Params/Parameters.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/Inputs/Input.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/Gauss.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Nodalvalue.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Masscon.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Massconaxpby.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/Constraints.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/Constraint.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/SpcStatic.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/SpcTransient.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Constraints/SpcDynamic.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Loads.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Load.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Friction.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Numericalflux.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Neumannflux.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Riftfront.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Penpair.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Pengrid.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Loads/Moulin.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Penta.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./ElementHook.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./PentaRef.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Seg.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./SegRef.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Tria.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./TriaRef.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/Tetra.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Elements/./TetraRef.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Options/Option.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Options/Options.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Options/./GenericOption.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Options/./OptionUtilities.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/Inputs.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/BoolInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/DoubleInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/DoubleArrayInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/IntInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/TetraInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/PentaInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/TriaInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/SegInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/ControlInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/DatasetInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Inputs/TransientInput.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./ExternalResults/Results.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./ExternalResults/ExternalResult.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./ExternalResults/GenericExternalResult.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Materials.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Material.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Matice.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Materials/../Hook.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Matestar.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Materials/Matpar.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/GenericParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/Params/./Param.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/BoolParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleMatParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleTransientMatParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleMatArrayParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/DoubleVecParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/IntParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/IntVecParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/IntMatParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/FileParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/MatrixParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/VectorParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/StringArrayParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/StringParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/TransientParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Params/DataSetParam.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./matrix/matrixobjects.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./matrix/./ElementMatrix.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./matrix/./ElementVector.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./gauss/gaussobjects.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussSeg.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussTria.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussTetra.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/../classes/gauss/./GaussPenta.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/krigingobjects.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Variogram.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./GaussianVariogram.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./ExponentialVariogram.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./SphericalVariogram.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./PowerVariogram.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Quadtree.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Covertree.h:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:
++
++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tree:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Observation.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./kriging/./Observations.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Dakota/IssmDirectApplicInterface.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./Dakota/IssmParallelDirectApplicInterface.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./IoModel.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./GiaIvinsDeflectionCoreArgs.h:
++
++modules/GiaIvinsDeflectionCorex/../../classes/./RiftStruct.h:
++
++modules/GiaIvinsDeflectionCorex/../InputUpdateFromConstantx/InputUpdateFromConstantx.h:
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps/.dirstamp
+===================================================================
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/distme.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/distme.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/distme.f	(revision 21532)
+@@ -0,0 +1,73 @@
++      subroutine distme(Ntime,Ntimp,Ntimm,time,bi,dmi,zhload)
++      implicit double precision (a-h,o-y)
++      integer Ntime,Ntimp,Ntimm
++      parameter (Nafter=1)
++      double precision pset(7)
++      double precision time(Ntimp),dmi(Ntimm),bi(Ntimm),dumbt(Ntimp)
++      double precision hload(Ntime),qpat(Ntime),qt(Ntime)
++      double precision zhload(Ntime),rhoi,distrad
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockp/ pset
++      common /blockrad/ distrad 
++      common /blocko/ rhoi
++      data g /9.832186d0/, yearco /3.15576d7/, eradm/6.371d6/
++      data dpi /3.1415926535897932d0/, dzero/0.0d0/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c The units of time(Ntimp) are ka and the height of the load in meters.
++c The slope, then for example, is in units of meters per ka.
++c Note that "dumbt( )" is designed to perserve the initial "time( )" variable.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 776 k = 1, Ntimp
++      dumbt(k) = time(k)
++  776 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 39 itime = 1, Ntime
++      hload(itime) = dble( zhload(itime) )
++   39 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c now set up a piece-wise history: bi() = y-intercept 
++c                                 dmi() = slope 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 70 i = 2, Ntime
++      dmi(i-1) = ( hload(i) - hload(i-1) )/( dumbt(i)  - dumbt(i-1) )
++      bi(i-1) = hload(i-1) - ( dmi(i)*dumbt(i-1) )  
++   70 continue
++c      write(6,*) zhload(1,1), zhload(1,2) 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c With pset(6) in mks units, lets convert the piecewise linear formulas
++c for the time-dependent ice load heights to dimensionless values w.r.t. time.
++c (tfact is in seconds)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      tfact = pset(2)/pset(4)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c get all times as dimensionless 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 20 jt = 1, Nafter
++      time(Ntime + jt) = ( dumbt(Ntime + jt) * yearco * 1.0d3 ) / tfact
++   20 continue
++      do 75 ind = 1, Ntimm 
++      dmi(ind) =  dmi(ind) / (( yearco * 1.0d3 ) / tfact )
++   75 continue
++      do 77 j = 1, Ntime 
++      time(j) = ( dumbt(j) * yearco * 1.0d3 ) / tfact
++   77 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c create an incremental load in Pa and non-dimensionalized:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 80 iq = 1, Ntime
++      qpat(iq) = hload(iq)*rhoi*g
++      qt(iq) = qpat(iq) / pset(4)
++   80 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c As the final step in this routine, create a dimensionless stress load from
++c qp.  Here we'll use bi( ) and dmi( ) vectors with dimensionless time.  Then
++c qp (and it's piece-wise decomposition) is ready for the direct dimensionless
++c integrals for the inverse Laplace transform and inverse Hankel transform
++c without further mutiplicative factors.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 85 i = 2, Ntime
++      dmi(i-1) = ( qt(i) - qt(i-1) )/( time(i)  - time(i-1) )
++      bi(i-1) = qt(i-1) - ( dmi(i-1)*time(i-1) )  
++   85 continue
++  999 return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/freed.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/freed.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/freed.f	(revision 21532)
+@@ -0,0 +1,222 @@
++      subroutine freed(r2,u2,r1,u1,h,zk,e1,e2,e4,b0,b1,a2,a1,a0,decay
++     1,amps)        
++      implicit double precision (a-h,o-z)
++      double precision decay(2),amps(5)
++      double precision ac0,ac1,ac2,ac3,ac4,ac5,ac6,ac7,ac8,ac9,ac10,
++     1ac11
++      common /blockz/ zkp
++      data zero /0.0d0/, g /9.832186d0/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Given the inputs to this subroutine(r2 through zk in the call
++c statement above), the outputs are coefficients of "s" that
++c are crucial to the Laplace transform inversion. From b0 and b1
++c we can compute the decay poles (or eigenvalues).    
++c 
++c  This is NOT true in our case, though. - SA
++c  NOTE IN THE CODE THAT A CALL TO THIS SUBROUTINE NEED NOT
++c  BE MADE AT EACH TIME STEP --- BUT WILL HAVE TO BE CALLED
++c  IN THE NUMERICAL INTEGRATION FOR COMPUTING THE INVERSE HANKEL
++c  TRANSFORM  ****
++c
++c Each term should be returned as dimensionless 
++c h => length   u2 => stress     taumx2 => time
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      zkp2 = zkp*zkp
++      ur = u1/u2
++      ghu2 = (g*h) / u2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac0 dimensional units are stress times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac0 = 4.0d0*ur*zkp2*( 1.0d0 + e4 +
++     1    2.0d0*e2*(1.0d0 + 2.0d0*zkp2) )
++c    DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac1 dimensional units are stress times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac1 = 2.0d0*r1*ghu2*zkp*(1.0d0 - e4 + 4.0d0*zkp*e2)
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac2 dimensional units are stress^2 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac2 = 8.0d0*ur*ur*(-1.0d0 + e1)*
++     1                     (1.0d0 + e1)*(1.0d0 + e2)*zkp2
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac3  dimensional units are stress^2 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac3 =
++     1   2.0d0*zkp*ghu2*ur*((r1 + r2)*(1.0d0 + e4) + 
++     2       2.0d0*(r2 - r1)*e2*( 1.0d0 + 2.0d0*zkp2 ))
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac4 dimensional units are stress^2 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac4 = ghu2*ghu2*r1*(r2 - r1)*
++     1      (1.0d0 - e4 + 4.0d0*zkp*e2)
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac5 dimensional units are stress^3 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac5 = 
++     1    4.0d0*zkp2*ur*ur*ur*(1.0d0 - e2 - 2.0d0*e1*zkp)*
++     2                (1.0d0 - e2 + 2.0d0*e1*zkp)
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac6 dimensional units are stress^3 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac6 =
++     1   2.0d0*zkp*ur*ur*(1.0d0 - e4
++     2               - 4.0d0*e2*zkp)*ghu2*r2
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac7 dimensional units are stress^3 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac7 =
++     1 ur * ( ( (1.0d0 - e1)*(1.0d0 + e1) )**2)*r1*(r2 - r1)
++     2 * ( ghu2*ghu2 )
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac8 dimensional units are stress^0 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac8 = -2.0d0*zkp*(1.0d0 + e2*(1.0d0 + 2.0d0*zkp*(1.0d0 + zkp))) 
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac9 dimensional units are stress^1 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac9 = 
++     1  ( 4.0d0*zkp*u1 -
++     2 g*h*(r2 - r1)*(1.0d0 + e2*(1.0d0 + 2.0d0*zkp*(1.0d0 + zkp)))
++     3    ) / u2
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac10 dimensional units are stress^2 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac10 =
++     1   -2.0d0*zkp*ur*ur*( 1.0d0 - e2
++     2  - 2.0d0*zkp*e2*(1.0d0 + zkp) )
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac11 dimensional units are stress^2 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac11 =
++     1 ghu2*ur*(r2 - r1)*(1.0d0 - e2*(1.0d0 + 2.0d0*zkp))
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Other functions may be found in file "apcw0.record"
++c (Nov. 9 1996)
++c The following is a Mathematica version of the isolation of the
++c  coefficeints of the L transform variable s in the denominator.  
++c  Here is where the set-up is performed to obtain the "free decay"
++c  times (with the Hankel transform variable "zk" embedded.  Note that
++c  some greater efficency could be achieved by further simplifying the
++c  combinations of "acn" functions which are now a series of function
++c  subroutines in the fortran code.  The corresponding Mathematica
++c  session is "twolayer.Linversion" dated Nov. 23, 1996.
++c
++c In[59]:=
++c Together[%]
++c Out[59]=
++c    ac2 + ac3 - ac4 + 2 ac5 - 2 ac6 + 2 ac7
++c ---------------------------------------------
++c ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c In[61]:=
++c Simplify[Coefficient[els,s^2]]
++c Out[61]=
++c 1
++c In[65]:=
++c eslnos =
++c ac5/(ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7) - 
++c    ac6/(ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7) + 
++c 
++c   ac7/(ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7)
++c    
++c Out[65]=
++c                      ac5
++c --------------------------------------------- - 
++c ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c 
++c                        ac6
++c  --------------------------------------------- + 
++c   ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c 
++c                        ac7
++c  ---------------------------------------------
++c  ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c In[66]:=
++c Simplify[%]
++c Out[66]=
++c                ac5 - ac6 + ac7
++c ---------------------------------------------
++c ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c a common denominator factor is: bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bc =  (   ac0 - ac1 +
++     1                     ac2 + ac3
++     2                                 - ac4 + ac5 -
++     3           ac6 + ac7  )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c b1: Denominator coefficent of s:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      b1 =
++     1  (  ac2 + ac3
++     2               - ac4 + ( 2.0d0 * ac5 )
++     3                                       - ( 2.0d0 * ac6 )
++     4                                       + ( 2.0d0 * ac7 )   ) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c b0: Denominator coefficent of s^0:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      b0 =
++     1 (  ac5 - ac6 +
++     2                 ac7  ) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c the eigenvaules are just the solution of the quadratic in s:
++c so return as "decay"
++c  *** Note that the decay times are defined as positive ***
++c      if a negative inverse decay time is returned there is an error!
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      sb1 = b1*b1
++      fb0 = 4.0d0*b0
++      diff =  sb1 - fb0          
++      if(diff.le.zero) go to 25
++      rs =  dsqrt( diff )          
++      decay(1) = -( - b1 - rs ) / 2.0d0
++      decay(2) = -( - b1 + rs ) / 2.0d0          
++      go to 26
++   25 idgen = 100
++      go to 9990
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c and for the numerator part of the quadratic s dependence
++c the Mathematica session is:
++c
++c Out[14]=
++c                                                                      2
++c ac10 + ac11 + (2 ac10 + 2 ac11 + ac9) s + (ac10 + ac11 + ac8 + ac9) s
++c----------------------------------------------------------------------
++c            ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++   26 a0 = ( ac10 + ac11 ) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      a1 = ( 2.0d0*( ac10 + ac11 )
++     1                             + ac9 )  / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      a2 =  (ac10 + ac11
++     1                   + ac8 + ac9) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c and the following terms are the amplitudes of the inverse Laplace
++c transform solution for the non-q part.  (See the boxed equation on
++c page 4 of the Nov. 23 1996 notes.)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      decdif = 1.0d0/(decay(2) - decay(1))
++      amps(1) = -decdif*( decay(1) * ( a1 - a2*decay(1) ) - a0 )
++      amps(2) =  decdif*( decay(2) * ( a1 - a2*decay(2) ) - a0 )
++      amps(3) = a2
++      amps(4) = - decay(1) * amps(1) 
++      amps(5) = - decay(2) * amps(2)
++      go to 999
++ 9990 write(6,998) idgen
++  998 format(' idgen val ** fatal error ** degenerate e.v.'/1h ,1p,1i12) 
++  999 return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/pwise.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/pwise.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/pwise.f	(revision 21532)
+@@ -0,0 +1,42 @@
++      subroutine pwise(t,ta,tb,xi1,xi2,xi3,xi4,slope,ycept,decay,
++     1bhaq_w,bhaq_dwdt)
++      implicit double precision (a-h,o-z)
++      double precision decay(2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c This subroutine retrieves the convolution for the ith linear piece-wise
++c q hat function (the load shape or Bessel function part having
++c been removed) with the free-decay solution. (see notes of
++c 12-31-96 "Convolution in time").  The convolution is returned as "bhaq".
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      tbt = tb - t
++      tat = ta - t
++      gat1 = tat * decay(1)
++      gat2 = tat * decay(2)
++      gbt1 = tbt * decay(1)
++      gbt2 = tbt * decay(2)
++      ea1 = dexp(gat1)
++      ea2 = dexp(gat2)
++      eb1 = dexp(gbt1)
++      eb2 = dexp(gbt2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit1 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit1 =(ycept/decay(1)) * (eb1 - ea1) -
++     1(slope/(decay(1)*decay(1))) *
++     2                            ( (1.0d0 - tb*decay(1))*eb1 
++     3                            - (1.0d0 - ta*decay(1))*ea1 )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit2 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit2 =(ycept/decay(2)) * (eb2 - ea2) -
++     1(slope/(decay(2)*decay(2))) *
++     2                            ( (1.0d0 - tb*decay(2))*eb2 
++     3                            - (1.0d0 - ta*decay(2))*ea2 )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c add terms for the i-th interval contribution. 
++c ABOVE IS THE NON-DEGENERATE CASE
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bhaq_w = (xi1 * xit1) + (xi2 * xit2)    
++      bhaq_dwdt = (xi3 * xit1) + (xi4 * xit2)    
++      return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/qwise.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/qwise.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/qwise.f	(revision 21532)
+@@ -0,0 +1,65 @@
++      subroutine qwise(t,ta,qjadon,xi0,xi1,xi2,xi3,xi4,slope,ycept,
++     1decay,bhaq_w,bhaq_dwdt)
++      implicit double precision (a-h,o-z)
++      double precision decay(2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c This subroutine retrieves the convolution for the J-th linear piece-wise
++c q hat function (the load shape or Bessel function part having been removed)
++c with the free-decay solution. (see notes of 3-27-97 "convo.ice" Mathematica
++c session).  The convolution is returned as "bhaq".
++c
++c  THIS ROUTINE REPLACES pwise.f ONLY FOR t <  time(Ntime) *
++c  (such that the load is still in place at time t).       *
++c
++c Note irate = 1 case has to be applied to the linear term only (freed.f applies
++c this correction to exponential terms)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xg1 = xi1/(decay(1)*decay(1))
++      xg2 = xi2/(decay(2)*decay(2))
++      xg3 = xi3/(decay(1)*decay(1))
++      xg4 = xi4/(decay(2)*decay(2))
++      gb1 = decay(1)*ycept
++      gb2 = decay(2)*ycept
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit0 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit0_w = (xi0 + qjadon) * ( ( slope * t ) + ycept )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit1 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit1_w = xg1 * (
++     1              gb1 + slope * ( ( t * decay(1) ) - 1.0d0 )
++     2          - ( gb1 + slope * ( ( ta * decay(1) ) - 1.0d0 ))
++     3                                   * dexp( decay(1) * (ta - t) )
++     4                       )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit2 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit2_w = xg2 * (
++     1              gb2 + slope * ( ( t * decay(2) ) - 1.0d0 )
++     2          - ( gb2 + slope * ( ( ta * decay(2) ) - 1.0d0 ) )
++     3                                   * dexp( decay(2) * (ta - t) )
++     4                       )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c And the rate equivalents:
++c (sign switch due to freed.f already
++c having corrected in x1t, x2t pass).
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit0_dwdt = (xi0 + qjadon) * slope 
++      xit1_dwdt =-xg3 * (
++     1              slope  
++     2     + ( gb1 + slope * ( ( ta * decay(1) ) - 1.0d0 ))
++     3                                   * dexp( decay(1) * (ta - t) )
++     4                       )
++      xit2_dwdt =-xg4 * (
++     1              slope 
++     2     + ( gb2 + slope * ( ( ta * decay(2) ) - 1.0d0 ))
++     3                                   * dexp( decay(2) * (ta - t) )
++     4                       )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c add terms for the J-th (and final) interval contribution.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bhaq_w = xit0_w + xit1_w + xit2_w
++      bhaq_dwdt = xit0_dwdt + xit1_dwdt + xit2_dwdt
++      return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h	(revision 21532)
+@@ -0,0 +1,13 @@
++/*!\file:  GiaIvinsDeflectionCorex.h
++ * \brief header file for ...
++ */ 
++
++#ifndef _GIAIVINSDEFLECTIONCOREX_H
++#define _GIAIVINSDEFLECTIONCOREX_H
++
++#include "../../classes/classes.h"
++
++/* local prototypes: */
++void GiaIvinsDeflectionCorex( IssmDouble* pwi, IssmDouble* pdwidt, GiaIvinsDeflectionCoreArgs* arguments);
++
++#endif  /* _GIAIVINSDEFLECTIONCOREX_H */
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/stot.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/stot.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/stot.f	(revision 21532)
+@@ -0,0 +1,79 @@
++      subroutine stot(ikval,qjadon,fltng_w,fltng_dwdt,Ntimp,Ntimm,
++     1time,bi,dmi)
++      implicit double precision (a-h,o-z)
++      integer Ntimp,Ntimm
++      parameter (Nafter = 1)
++      parameter (nhank = 1024)
++      double precision decay(2)
++      double precision pset(7)
++      double precision time(Ntimp),bi(Ntimm),dmi(Ntimm)
++      double precision dekay1(nhank),dekay2(nhank),amp0(nhank),
++     1amp1(nhank),amp2(nhank),amp3(nhank),amp4(nhank)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockm/ dekay1,dekay2,amp0,amp1,amp2,amp3,amp4
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c  This subroutine returns the inverse Laplace transform to the
++c  time-domain for the vertical displacement at time t for Hankel wavenumber
++c  ikval.  (In general this routine needs to be called nhank times).
++c  The main derivation uses the Faltung theorem of Laplace transforms.
++c  (1-1-97)  NEW CASE OF 3-27-97 IS FOR t(Ntime + i) < t(Ntime) OR IN OTHER
++c  WORDS, THE LOAD STILL IN PLACE AT t.  OPTION CALL to qwise.f
++c  PERFORMS THIS. 
++c 
++c  A theory for the degenerate case was worked out but has been removed
++c  as an option from this code.
++c
++c  Definition of tspan: nondimensional time span backwards form present
++c                       when this routine is first called the dimensional
++c                       equivalent might be say tspan = 12 ka, then 11 and
++c                       then finally tspan = 0.
++c  Additional note for r.s.l calculations: the routines qwise and pwise
++c  are identical to the previous case for computations of present-day only
++c  vertical deformation field.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      decay(1) = dekay1(ikval)
++      decay(2) = dekay2(ikval)
++      xi0 = amp0(ikval)
++      xi1 = amp1(ikval)
++      xi2 = amp2(ikval)
++      xi3 = amp3(ikval)
++      xi4 = amp4(ikval)
++
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c note that tspan must be updated in the calling routine "what0.f"
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      t = time(Ntimp)
++      sumb_w = 0.0d0
++      sumb_dwdt = 0.0d0
++      ta = time(1)
++      tb = time(2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 97 i = 1,Ntimm
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c note that this "if" prevents adding load
++c segments of "future" times when computing
++c an r.s.l. history (10-06-98).
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      if(t.lt.ta) go to 97
++      slope=dmi(i)
++      ycept=bi(i)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      if( t . gt . ta . and . t . le . tb) go to 38
++      call pwise(t,ta,tb,xi1,xi2,xi3,xi4,slope,ycept,decay,
++     1bhaq_w,bhaq_dwdt)
++      go to 39
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Note that qwise is employed only for the J-th Q hat term when t for
++c evaluation still has to consider the load itself
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++   38 call qwise(t,ta,qjadon,xi0,xi1,xi2,xi3,xi4,slope,ycept,decay,
++     1bhaq_w,bhaq_dwdt)
++   39 sumb_w = bhaq_w + sumb_w
++      sumb_dwdt = bhaq_dwdt + sumb_dwdt
++      ta = time(i + 1)
++      tb = time(i + 2)
++   97 continue
++      fltng_w = sumb_w
++      fltng_dwdt = sumb_dwdt
++      return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.dirstamp
+===================================================================
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/ojrule.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/ojrule.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/ojrule.f	(revision 21532)
+@@ -0,0 +1,63 @@
++      subroutine ojrule(dk,bcin_w,bcin_dwdt)
++      implicit double precision(a-h,o-z)
++      parameter (nhank = 1024)
++      double precision yvalue_w(nhank),yvalue_dwdt(nhank)
++      double precision bcin_w(nhank),bcin_dwdt(nhank)
++      double precision wok_w,wok_dwdt,rpos
++      double precision swok_w,swok_dwdt
++      double precision pset(7)
++      double precision aswokm_w,aswokm_dwdt,distrad
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockrad/ distrad
++      common /blockp/ pset
++      common /blocks/ aswokm_w,aswokm_dwdt
++      data zero /0.0d0/, one /1.0d0/, two /2.0d0/, three /3.0d0/,
++     1rescal/ 1.0d0/
++      data yearco /3.15576d7/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bath = dk / three
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c rpos should be normalized wrt lithosphere thickness 
++c give r is normalized dist_rad :: r == dist_rad / h
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      r = distrad / (pset(1) / 1.0d3)
++      rpos = r 
++      ak = zero
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c form the yvalue's for the Simpson's rule formulas
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 425 ik = 1, nhank
++      ak = ak + dk
++      rak = ak * r
++      rarg = dbesj0( rak )
++      yvalue_w(ik) = bcin_w(ik) * rarg
++      yvalue_dwdt(ik) = bcin_dwdt(ik) * rarg
++  425 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c correct to end point val. in Simp. Rule
++c      yvalue(nhank) = bcin(nhank) * rarg / two
++c find the area under the curve using the Simpson's rule formulas
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      sumde_w = zero
++      sumde_dwdt = zero
++      do 300 int = 1, nhank
++      intp1 = int + 1
++      ide = 2 + ( (-1)**intp1 + 1 )
++      fide = dfloat(ide)
++      sumde_w = ( fide * yvalue_w(int) ) + sumde_w
++      sumde_dwdt = ( fide * yvalue_dwdt(int) ) + sumde_dwdt
++  300 continue
++      wok_w = bath * sumde_w
++      wok_dwdt = bath * sumde_dwdt
++      
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      hscale = sngl(pset(1))
++      hsckm = hscale / 1.0e3
++      swok_w = hscale * sngl(wok_w)
++      aswokm_w = swok_w
++      swok_dwdt = (hscale * yearco * 1.0e3 * sngl(wok_dwdt))
++     1                  * ( sngl(pset(4))/ sngl(pset(2)) )
++      aswokm_dwdt = swok_dwdt
++      return
++
++      end
+Index: ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/what0.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/what0.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/what0.f	(revision 21532)
+@@ -0,0 +1,127 @@
++      subroutine what0(iedge,Ntimp,Ntimm,time,bi,dmi)
++      implicit double precision (a-h,o-z)
++      integer Ntimp,Ntimm
++      parameter (nhank = 1024)
++      parameter (N = nhank/2)
++      double precision dekay1(nhank),dekay2(nhank),amp0(nhank),
++     1amp1(nhank),amp2(nhank),amp3(nhank),amp4(nhank),
++     1zksam(nhank),zksamp(nhank)
++      double precision decay(2),pset(7),amps(5),
++     1decta(2),dyri1(nhank),dyri2(nhank),sna(nhank)
++      double precision cinner_w(nhank),cinner_dwdt(nhank)
++      double precision bcin_w(nhank),bcin_dwdt(nhank)
++      double precision time(Ntimp),bi(Ntimm),dmi(Ntimm)
++      integer maxk
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockp/ pset
++      common /blockz/ zkp
++      common /blockm/ dekay1,dekay2,amp0,amp1,amp2,amp3,amp4
++      data yearco /3.15576d7/, pi /3.1415926535897932384d0/
++      data g /9.832186d0/, four /4.d0/, two /2.0d0/,
++     1 one /1.0d0/, zero/0.0d0/ , maxk/64/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      twopi = two * pi
++      r2 = pset(6)
++      u2 = pset(4)
++      r1 = pset(5)
++      u1 = pset(3)
++      h  = pset(1)
++      urat = u1/u2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c  alphap is dimensionless disk radius
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      alphap = pset(7)/pset(1)
++      twoap = two * alphap
++      rghm = ( r1 * g * h * alphap ) / (two * u2)
++      taumx = pset(2)/pset(4)
++      tmxyr = taumx / yearco
++c
++      dfac = dfloat(nhank)/dfloat(maxk)
++      endk = dfloat(nhank)/dfac
++      dk = endk/dfloat(nhank)
++c
++      ak = zero
++      do 7000 ik = 1,nhank
++      ak = ak + dk
++      zkp = ak
++      pikn = (6.371d6 * zkp) / h
++      zkd = pikn / 6.371d6
++c
++      zkp2 = 2.0d0 * zkp
++      zkp4 = 4.0d0 * zkp
++      e1 = dexp(zkp)
++      e2 = dexp(zkp2)
++      e4 = dexp(zkp4)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      call freed(r2,u2,r1,u1,h,zkd,e1,e2,e4,b0,b1,a2,a1,a0,decay,amps)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      decta(1) = decay(1)/tmxyr
++      decta(2) = decay(2)/tmxyr
++      dyri1(ik) = decta(1)
++      dyri2(ik) = decta(2)
++      sna(ik) = pikn
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Form vectors for full construction in pwise.f and stot.f
++c Note that freed will produce decay spectra defined as positive, 
++c ie. negative decay must reinsert a minus sign.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      dekay1(ik) = decay(1)
++      dekay2(ik) = decay(2)
++      amp0(ik) = amps(3)  
++      amp1(ik) = amps(1)  
++      amp2(ik) = amps(2)  
++      amp3(ik) = amps(4)  
++      amp4(ik) = amps(5)  
++      zksam(ik) = zkd
++      zksamp(ik) = zkp
++ 7000 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c The following looped call sets up the free solution convolved with the
++c load function q hat.  Note that the returned vector set "cinner" is the
++c inner-most part of the arguement of the inverse Hankel trans. integral.
++c It is time-dependent and the loop is for the k-dependancy. The time for
++c calculation is given in the vector "time(Ntimp)" in the routine stot.f that is
++c called below. Note that the sign on cinner(ik) below is for a load directed
++c downward.   ** For iedge = 1 assume sq. edge load and for iedge = 2 assume an
++c elliptical cross section.  Note loops 8500,8000 and 9500,9000 for the two
++c cases, respectively.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++   49 go to (8499,9499), iedge
++ 8499 do 8000 ik = 1, nhank
++      xakap = zksamp(ik)*alphap
++      diku = xakap * urat
++      pref = diku / ( diku + rghm )
++      qjadon = one / ( four * zksamp(ik) * urat )
++      call stot(ik,qjadon,fltng_w,fltng_dwdt,Ntimp,Ntimm,time,bi,dmi)
++      cinner_w(ik) = - fltng_w * pref * twoap
++      cinner_dwdt(ik) = - fltng_dwdt * pref * twoap
++      bcin_w(ik) = cinner_w(ik) * dbesj1(xakap)
++      bcin_dwdt(ik) = cinner_dwdt(ik) * dbesj1(xakap)
++ 8000 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c "ojrule.f" computes the inverse Hankel trasform with a simple
++c Simpson's rule.  The routine "ojrule" is buliding a set of solutions stored
++c in common "blocks" in r or "asrpos(nrv) ", and computed rate or displacement
++c for each of N3G disks in "aswokm(nrv,N3G)" . 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      call ojrule(dk,bcin_w,bcin_dwdt)
++      go to 999
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ 9499 do 9000 ik = 1, nhank
++      xakap = zksamp(ik)*alphap
++      oxakap = one/xakap
++      diku = xakap * urat
++      pref = diku / ( diku + rghm )
++      qjadon = one / ( four * zksamp(ik) * urat )
++      call stot(ik,qjadon,fltng_w,fltng_dwdt,Ntimp,Ntimm,time,bi,dmi)
++      cinner_w(ik) = - fltng_w * pref * twoap
++      cinner_dwdt(ik) = - fltng_dwdt * pref * twoap
++      bcin_w(ik) = cinner_w(ik) * oxakap * ( dsin(xakap) * oxakap
++     1 - dcos(xakap) )
++      bcin_dwdt(ik) = cinner_dwdt(ik) * oxakap * ( dsin(xakap) * oxakap
++     1 - dcos(xakap) )
++ 9000 continue
++      call ojrule(dk,bcin_w,bcin_dwdt)
++  999 return
++
++      end
+Index: ../trunk-jpl/src/c/cores/gia_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/gia_core.cpp	(revision 21531)
++++ ../trunk-jpl/src/c/cores/gia_core.cpp	(revision 21532)
+@@ -1,60 +0,0 @@
+-/*!\file: gia_core.cpp
+- * \brief: core of the GIA solution 
+- */ 
+-
+-#include "./cores.h"
+-#include "../toolkits/toolkits.h"
+-#include "../classes/classes.h"
+-#include "../shared/shared.h"
+-#include "../modules/modules.h"
+-#include "../solutionsequences/solutionsequences.h"
+-void gia_core(FemModel* femmodel){
+-
+-	Vector<IssmDouble> *wg    = NULL;
+-	Vector<IssmDouble> *dwdtg = NULL;
+-	IssmDouble          *x    = NULL;
+-	IssmDouble          *y    = NULL;
+-
+-	/*parameters: */
+-	bool save_results;
+-	int  gsize;
+-	int  configuration_type;
+-
+-	/*Recover some parameters: */
+-	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
+-	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
+-
+-	if(VerboseSolution()) _printf0_("   computing GIA\n");
+-
+-	/*Call on core computations: */
+-	femmodel->SetCurrentConfiguration(GiaAnalysisEnum);
+-
+-	/*Figure out size of g-set deflection vector and allocate solution vector: */
+-	gsize      = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum);
+-	wg = new Vector<IssmDouble>(gsize);
+-	dwdtg = new Vector<IssmDouble>(gsize);
+-
+-	/*first, recover x and y vectors from vertices: */
+-	VertexCoordinatesx(&x,&y,NULL,femmodel->vertices); //no need for z coordinate
+-
+-	/*call the main module: */
+-	femmodel->Deflection(wg,dwdtg,x,y);
+-
+-	/*assemble vector: */
+-	wg->Assemble();
+-	dwdtg->Assemble();
+-
+-	InputUpdateFromVectorx(femmodel,wg,GiaWEnum,VertexSIdEnum);
+-	InputUpdateFromVectorx(femmodel,dwdtg,GiadWdtEnum,VertexSIdEnum);
+-
+-	if(save_results){
+-		if(VerboseSolution()) _printf0_("   saving results\n");
+-		int outputs[2] = {GiaWEnum,GiadWdtEnum};
+-		femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2);
+-	}
+-	
+-	xDelete<IssmDouble>(x);
+-	xDelete<IssmDouble>(y);
+-
+-
+-}
+Index: ../trunk-jpl/src/c/cores/giaivins_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/giaivins_core.cpp	(revision 0)
++++ ../trunk-jpl/src/c/cores/giaivins_core.cpp	(revision 21532)
+@@ -0,0 +1,60 @@
++/*!\file: giaivins_core.cpp
++ * \brief: core of the GIAIVINS solution 
++ */ 
++
++#include "./cores.h"
++#include "../toolkits/toolkits.h"
++#include "../classes/classes.h"
++#include "../shared/shared.h"
++#include "../modules/modules.h"
++#include "../solutionsequences/solutionsequences.h"
++void giaivins_core(FemModel* femmodel){
++
++	Vector<IssmDouble> *wg    = NULL;
++	Vector<IssmDouble> *dwdtg = NULL;
++	IssmDouble          *x    = NULL;
++	IssmDouble          *y    = NULL;
++
++	/*parameters: */
++	bool save_results;
++	int  gsize;
++	int  configuration_type;
++
++	/*Recover some parameters: */
++	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
++	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
++
++	if(VerboseSolution()) _printf0_("   computing GIAIVINS\n");
++
++	/*Call on core computations: */
++	femmodel->SetCurrentConfiguration(GiaIvinsAnalysisEnum);
++
++	/*Figure out size of g-set deflection vector and allocate solution vector: */
++	gsize      = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum);
++	wg = new Vector<IssmDouble>(gsize);
++	dwdtg = new Vector<IssmDouble>(gsize);
++
++	/*first, recover x and y vectors from vertices: */
++	VertexCoordinatesx(&x,&y,NULL,femmodel->vertices); //no need for z coordinate
++
++	/*call the main module: */
++	femmodel->Deflection(wg,dwdtg,x,y);
++
++	/*assemble vector: */
++	wg->Assemble();
++	dwdtg->Assemble();
++
++	InputUpdateFromVectorx(femmodel,wg,GiaIvinsWEnum,VertexSIdEnum);
++	InputUpdateFromVectorx(femmodel,dwdtg,GiaIvinsdWdtEnum,VertexSIdEnum);
++
++	if(save_results){
++		if(VerboseSolution()) _printf0_("   saving results\n");
++		int outputs[2] = {GiaIvinsWEnum,GiaIvinsdWdtEnum};
++		femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2);
++	}
++	
++	xDelete<IssmDouble>(x);
++	xDelete<IssmDouble>(y);
++
++
++}
+Index: ../trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h	(revision 21531)
++++ ../trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h	(revision 21532)
+@@ -1,40 +0,0 @@
+-/*!\file:  GiaDeflectionCoreArgs.h
+- * \brief place holder for arguments to the GiaDeflectionCoreArgs routine
+- */ 
+-
+-#ifndef _GIADEFLECTIONCOREARGS_H_
+-#define _GIADEFLECTIONCOREARGS_H_
+-
+-struct GiaDeflectionCoreArgs{
+-
+-	/*inputs: */
+-	IssmDouble currenttime; 
+-	IssmDouble* hes; //loading history (in ice thickness)
+-	int numtimes; //loading history length
+-	IssmDouble ri; //radial distance from center of disk to vertex  i
+-	IssmDouble re; //radius of disk
+-	IssmDouble* times; //loading history times
+-
+-	/*gia material parameters: */
+-	IssmDouble lithosphere_density;
+-	IssmDouble lithosphere_shear_modulus;
+-	IssmDouble lithosphere_thickness;
+-	IssmDouble mantle_density;
+-	IssmDouble mantle_shear_modulus;
+-	IssmDouble mantle_viscosity;
+-
+-	/*gia solution parameters: */
+-	int iedge;
+-
+-	/*ice properties: */
+-	IssmDouble rho_ice;
+-
+-	/*constants: */
+-	IssmDouble yts;
+-
+-	/*debug info: */
+-	int        idisk; //id of the element we are running the gia code in.
+-
+-};
+-
+-#endif
+Index: ../trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h	(revision 0)
++++ ../trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h	(revision 21532)
+@@ -0,0 +1,40 @@
++/*!\file:  GiaIvinsDeflectionCoreArgs.h
++ * \brief place holder for arguments to the GiaIvinsDeflectionCoreArgs routine
++ */ 
++
++#ifndef _GIAIVINSDEFLECTIONCOREARGS_H_
++#define _GIAIVINSDEFLECTIONCOREARGS_H_
++
++struct GiaIvinsDeflectionCoreArgs{
++
++	/*inputs: */
++	IssmDouble currenttime; 
++	IssmDouble* hes; //loading history (in ice thickness)
++	int numtimes; //loading history length
++	IssmDouble ri; //radial distance from center of disk to vertex  i
++	IssmDouble re; //radius of disk
++	IssmDouble* times; //loading history times
++
++	/*gia material parameters: */
++	IssmDouble lithosphere_density;
++	IssmDouble lithosphere_shear_modulus;
++	IssmDouble lithosphere_thickness;
++	IssmDouble mantle_density;
++	IssmDouble mantle_shear_modulus;
++	IssmDouble mantle_viscosity;
++
++	/*gia solution parameters: */
++	int iedge;
++
++	/*ice properties: */
++	IssmDouble rho_ice;
++
++	/*constants: */
++	IssmDouble yts;
++
++	/*debug info: */
++	int        idisk; //id of the element we are running the gia code in.
++
++};
++
++#endif
+Index: ../trunk-jpl/src/c/analyses/GiaAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/GiaAnalysis.h	(revision 21531)
++++ ../trunk-jpl/src/c/analyses/GiaAnalysis.h	(revision 21532)
+@@ -1,33 +0,0 @@
+-/*! \file GiaAnalysis.h 
+- *  \brief: header file for generic external result object
+- */
+-
+-#ifndef _GiaAnalysis_
+-#define _GiaAnalysis_
+-
+-/*Headers*/
+-#include "./Analysis.h"
+-
+-class GiaAnalysis: public Analysis{
+-
+-	public:
+-		/*Model processing*/
+-		void CreateConstraints(Constraints* constraints,IoModel* iomodel);
+-		void CreateLoads(Loads* loads, IoModel* iomodel);
+-		void CreateNodes(Nodes* nodes,IoModel* iomodel);
+-		int  DofsPerNode(int** doflist,int domaintype,int approximation);
+-		void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
+-		void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum);
+-
+-		/*Finite element Analysis*/
+-		void           Core(FemModel* femmodel);
+-		ElementVector* CreateDVector(Element* element);
+-		ElementMatrix* CreateJacobianMatrix(Element* element);
+-		ElementMatrix* CreateKMatrix(Element* element);
+-		ElementVector* CreatePVector(Element* element);
+-		void           GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
+-		void           GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index);
+-		void           InputUpdateFromSolution(IssmDouble* solution,Element* element);
+-		void           UpdateConstraints(FemModel* femmodel);
+-};
+-#endif
+Index: ../trunk-jpl/src/c/analyses/GiaAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/GiaAnalysis.cpp	(revision 21531)
++++ ../trunk-jpl/src/c/analyses/GiaAnalysis.cpp	(revision 21532)
+@@ -1,69 +0,0 @@
+-#include "./GiaAnalysis.h"
+-#include "../toolkits/toolkits.h"
+-#include "../classes/classes.h"
+-#include "../shared/shared.h"
+-#include "../modules/modules.h"
+-
+-/*Model processing*/
+-void GiaAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
+-	/*No constraints*/
+-}/*}}}*/
+-void GiaAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/
+-	/*No loads*/
+-}/*}}}*/
+-void GiaAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
+-	::CreateNodes(nodes,iomodel,GiaAnalysisEnum,P1Enum);
+-}/*}}}*/
+-int  GiaAnalysis::DofsPerNode(int** doflist,int domaintype,int approximation){/*{{{*/
+-	return 1;
+-}/*}}}*/
+-void GiaAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
+-
+-	/*Update elements: */
+-	int counter=0;
+-	for(int i=0;i<iomodel->numberofelements;i++){
+-		if(iomodel->my_elements[i]){
+-			Element* element=(Element*)elements->GetObjectByOffset(counter);
+-			element->Update(i,iomodel,analysis_counter,analysis_type,P1Enum);
+-			counter++;
+-		}
+-	}
+-
+-	iomodel->FetchDataToInput(elements,"md.geometry.thickness",ThicknessEnum);
+-	iomodel->FetchDataToInput(elements,"md.gia.mantle_viscosity",GiaMantleViscosityEnum);
+-	iomodel->FetchDataToInput(elements,"md.gia.lithosphere_thickness",GiaLithosphereThicknessEnum);
+-	iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
+-}/*}}}*/
+-void GiaAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
+-}/*}}}*/
+-
+-/*Finite Element Analysis*/
+-void           GiaAnalysis::Core(FemModel* femmodel){/*{{{*/
+-	_error_("not implemented");
+-}/*}}}*/
+-ElementVector* GiaAnalysis::CreateDVector(Element* element){/*{{{*/
+-	/*Default, return NULL*/
+-	return NULL;
+-}/*}}}*/
+-ElementMatrix* GiaAnalysis::CreateJacobianMatrix(Element* element){/*{{{*/
+-_error_("Not implemented");
+-}/*}}}*/
+-ElementMatrix* GiaAnalysis::CreateKMatrix(Element* element){/*{{{*/
+-	_error_("not implemented yet");
+-}/*}}}*/
+-ElementVector* GiaAnalysis::CreatePVector(Element* element){/*{{{*/
+-_error_("not implemented yet");
+-}/*}}}*/
+-void           GiaAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
+-	   _error_("not implemented yet");
+-}/*}}}*/
+-void           GiaAnalysis::GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index){/*{{{*/
+-	_error_("Not implemented yet");
+-}/*}}}*/
+-void           GiaAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
+-	_error_("not implemented yet");
+-}/*}}}*/
+-void           GiaAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
+-	/*Default, do nothing*/
+-	return;
+-}/*}}}*/
+Index: ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp	(revision 0)
++++ ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp	(revision 21532)
+@@ -0,0 +1,69 @@
++#include "./GiaIvinsAnalysis.h"
++#include "../toolkits/toolkits.h"
++#include "../classes/classes.h"
++#include "../shared/shared.h"
++#include "../modules/modules.h"
++
++/*Model processing*/
++void GiaIvinsAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
++	/*No constraints*/
++}/*}}}*/
++void GiaIvinsAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/
++	/*No loads*/
++}/*}}}*/
++void GiaIvinsAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
++	::CreateNodes(nodes,iomodel,GiaIvinsAnalysisEnum,P1Enum);
++}/*}}}*/
++int  GiaIvinsAnalysis::DofsPerNode(int** doflist,int domaintype,int approximation){/*{{{*/
++	return 1;
++}/*}}}*/
++void GiaIvinsAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
++
++	/*Update elements: */
++	int counter=0;
++	for(int i=0;i<iomodel->numberofelements;i++){
++		if(iomodel->my_elements[i]){
++			Element* element=(Element*)elements->GetObjectByOffset(counter);
++			element->Update(i,iomodel,analysis_counter,analysis_type,P1Enum);
++			counter++;
++		}
++	}
++
++	iomodel->FetchDataToInput(elements,"md.geometry.thickness",ThicknessEnum);
++	iomodel->FetchDataToInput(elements,"md.giaivins.mantle_viscosity",GiaIvinsMantleViscosityEnum);
++	iomodel->FetchDataToInput(elements,"md.giaivins.lithosphere_thickness",GiaIvinsLithosphereThicknessEnum);
++	iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
++}/*}}}*/
++void GiaIvinsAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
++}/*}}}*/
++
++/*Finite Element Analysis*/
++void           GiaIvinsAnalysis::Core(FemModel* femmodel){/*{{{*/
++	_error_("not implemented");
++}/*}}}*/
++ElementVector* GiaIvinsAnalysis::CreateDVector(Element* element){/*{{{*/
++	/*Default, return NULL*/
++	return NULL;
++}/*}}}*/
++ElementMatrix* GiaIvinsAnalysis::CreateJacobianMatrix(Element* element){/*{{{*/
++_error_("Not implemented");
++}/*}}}*/
++ElementMatrix* GiaIvinsAnalysis::CreateKMatrix(Element* element){/*{{{*/
++	_error_("not implemented yet");
++}/*}}}*/
++ElementVector* GiaIvinsAnalysis::CreatePVector(Element* element){/*{{{*/
++_error_("not implemented yet");
++}/*}}}*/
++void           GiaIvinsAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
++	   _error_("not implemented yet");
++}/*}}}*/
++void           GiaIvinsAnalysis::GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index){/*{{{*/
++	_error_("Not implemented yet");
++}/*}}}*/
++void           GiaIvinsAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
++	_error_("not implemented yet");
++}/*}}}*/
++void           GiaIvinsAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
++	/*Default, do nothing*/
++	return;
++}/*}}}*/
+Index: ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.h	(revision 0)
++++ ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.h	(revision 21532)
+@@ -0,0 +1,33 @@
++/*! \file GiaIvinsAnalysis.h 
++ *  \brief: header file for generic external result object
++ */
++
++#ifndef _GiaIvinsAnalysis_
++#define _GiaIvinsAnalysis_
++
++/*Headers*/
++#include "./Analysis.h"
++
++class GiaIvinsAnalysis: public Analysis{
++
++	public:
++		/*Model processing*/
++		void CreateConstraints(Constraints* constraints,IoModel* iomodel);
++		void CreateLoads(Loads* loads, IoModel* iomodel);
++		void CreateNodes(Nodes* nodes,IoModel* iomodel);
++		int  DofsPerNode(int** doflist,int domaintype,int approximation);
++		void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
++		void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum);
++
++		/*Finite element Analysis*/
++		void           Core(FemModel* femmodel);
++		ElementVector* CreateDVector(Element* element);
++		ElementMatrix* CreateJacobianMatrix(Element* element);
++		ElementMatrix* CreateKMatrix(Element* element);
++		ElementVector* CreatePVector(Element* element);
++		void           GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
++		void           GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index);
++		void           InputUpdateFromSolution(IssmDouble* solution,Element* element);
++		void           UpdateConstraints(FemModel* femmodel);
++};
++#endif
Index: /issm/oecreview/Archive/21337-21723/ISSM-21532-21533.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21532-21533.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21532-21533.diff	(revision 21726)
@@ -0,0 +1,750 @@
+Index: ../trunk-jpl/test/NightlyRun/test2001.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21533)
+@@ -1,4 +1,4 @@
+-#Test Name: SquareSheetConstrainedGia2d
++#Test Name: SquareSheetConstrainedGiaIvins2d
+ import numpy as np
+ import copy
+ from model import *
+@@ -17,7 +17,7 @@
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ 
+ #Indicate what you want to compute 
+-md.gia.cross_section_shape=1    # for square-edged x-section 
++md.giaivins.cross_section_shape=1    # for square-edged x-section 
+ 
+ #Define loading history (see test2001.m for the description)
+ md.timestepping.start_time=2400000 # 2,400 kyr
+@@ -30,11 +30,11 @@
+ 
+ #Solve for GIA deflection 
+ md.cluster=generic('name',gethostname(),'np',3)
+-md=solve(md,'Gia')
++md=solve(md,'GiaIvins')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['GiaW','GiadWdt']
++field_names     =['GiaIvinsW','GiaIvinsdWdt']
+ field_tolerances=[1e-13,1e-13]
+-field_values    =[md.results.GiaSolution.GiaW,
+-									md.results.GiaSolution.GiadWdt]
++field_values    =[md.results.GiaIvinsSolution.GiaIvinsW,
++									md.results.GiaIvinsSolution.GiaIvinsdWdt]
+ 
+Index: ../trunk-jpl/test/NightlyRun/test2051.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2051.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2051.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dA1
++%Test Name: GiaIvinsBenchmarksAB2dA1
+ % Benchmark experiments (Figure A2a Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksAB.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksAB.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2002100; % after 2 kyr of deglaciation 
+@@ -21,12 +21,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2052.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2052.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2052.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dA2
++%Test Name: GiaIvinsBenchmarksAB2dA2
+ % Benchmark experiments (Figure A2a Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksAB.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksAB.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2005100; % after 5 kyr of deglaciation 
+@@ -21,12 +21,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2053.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2053.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2053.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dA3
++%Test Name: GiaIvinsBenchmarksAB2dA3
+ % Benchmark experiments (Figure A2a Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksAB.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksAB.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2010100; % after 10 kyr of deglaciation 
+@@ -21,12 +21,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2071.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2071.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2071.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dC1
++%Test Name: GiaIvinsBenchmarksAB2dC1
+ % Benchmark experiments (Figure A2c Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksCD.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=0.3;     % for t \approx 0 kyr : to get eleastic response!   
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2072.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2072.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2072.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dC2
++%Test Name: GiaIvinsBenchmarksAB2dC2
+ % Benchmark experiments (Figure A2c Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksCD.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=1000.3;  % for t \approx 1 kyr 
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2081.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2081.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2081.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dD1
++%Test Name: GiaIvinsBenchmarksAB2dD1
+ % Benchmark experiments (Figure A2d Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksCD.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=2;    % for elliptical edge  
++md.giaivins.cross_section_shape=2;    % for elliptical edge  
+ 
+ %% define loading history 
+ md.timestepping.start_time=0.3;     % for t \approx 0 kyr : to get eleastic response!   
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2073.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2073.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2073.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dC3
++%Test Name: GiaIvinsBenchmarksAB2dC3
+ % Benchmark experiments (Figure A2c Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksCD.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2400000; % for t \approx \infty 
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2082.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2082.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2082.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dD2
++%Test Name: GiaIvinsBenchmarksAB2dD2
+ % Benchmark experiments (Figure A2d Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksCD.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=2;    % for elliptical edge 
++md.giaivins.cross_section_shape=2;    % for elliptical edge 
+ 
+ %% define loading history 
+ md.timestepping.start_time=1000.3;  % for t \approx 1 kyr 
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2083.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2083.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2083.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: GiaBenchmarksAB2dD3
++%Test Name: GiaIvinsBenchmarksAB2dD3
+ % Benchmark experiments (Figure A2d Ivins and James, 1999, Geophys. J. Int.) 
+ md=triangle(model(),'../Exp/RoundFrontEISMINT.exp',200000.);
+ md=setmask(md,'','');
+-md=parameterize(md,'../Par/GiaBenchmarksCD.par');
++md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=2;    % for elliptical edge 
++md.giaivins.cross_section_shape=2;    % for elliptical edge 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2400000; % for t \approx \infty 
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2001.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.m	(revision 21532)
++++ ../trunk-jpl/test/NightlyRun/test2001.m	(revision 21533)
+@@ -1,11 +1,11 @@
+-%Test Name: SquareSheetConstrainedGia2d
++%Test Name: SquareSheetConstrainedGiaIvins2d
+ %GIA test, inspired on test101
+ md=triangle(model(),'../Exp/Square.exp',100000.);
+ md=setmask(md,'','');
+ md=parameterize(md,'../Par/SquareSheetConstrained.par');
+ 
+ %% indicate what you want to compute 
+-md.gia.cross_section_shape=1;    % for square-edged x-section 
++md.giaivins.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2400000; %2,400 kyr :: EVALUATION TIME
+@@ -19,12 +19,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'Gia');
++md=solve(md,'GiaIvins');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaW','GiadWdt'};
++field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaSolution.GiaW),...
+-	(md.results.GiaSolution.GiadWdt),...
++	(md.results.GiaIvinsSolution.GiaIvinsW),...
++	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
+ 	};
+Index: ../trunk-jpl/test/Par/GiaBenchmarksAB.par
+===================================================================
+--- ../trunk-jpl/test/Par/GiaBenchmarksAB.par	(revision 21532)
++++ ../trunk-jpl/test/Par/GiaBenchmarksAB.par	(revision 21533)
+@@ -1,77 +0,0 @@
+-%Geometry specific to Experiments A and B 
+-rad=600000;
+-nv=md.mesh.numberofvertices; 
+-for i=1:nv,
+-	dist=sqrt(md.mesh.x(i).^2+md.mesh.y(i)^2);
+-	if (dist <= rad)
+-		md.geometry.thickness(i)=2000.0;
+-	else
+-		md.geometry.thickness(i)=1.0; % non-zero thickness
+-	end
+-end
+-md.geometry.thickness=md.geometry.thickness';
+-md.geometry.base=zeros(md.mesh.numberofvertices,1); 
+-md.geometry.surface=md.geometry.thickness+md.geometry.base; 
+-
+-%Ice density used for benchmarking, not 917 kg/m^3
+-md.materials.rho_ice=1000; %kg m^3
+-
+-%GIA parameters specific to Experiments A  and B
+-md.gia.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
+-md.gia.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
+-md.materials.lithosphere_shear_modulus=6.7*10^10;                  %in Pa
+-md.materials.lithosphere_density=3.36;                             %in g/cm^3
+-md.materials.mantle_shear_modulus=1.45*10^11;                      %in Pa
+-md.materials.mantle_density=3.38;                                  %in g/cm^3
+-
+-
+-%Initial velocity 
+-x     = archread('../Data/SquareSheetConstrained.arch','x');
+-y     = archread('../Data/SquareSheetConstrained.arch','y');
+-vx    = archread('../Data/SquareSheetConstrained.arch','vx');
+-vy    = archread('../Data/SquareSheetConstrained.arch','vy');
+-index = archread('../Data/SquareSheetConstrained.arch','index');
+-
+-x = x{1};
+-y = y{1};
+-vx = vx{1};
+-vy = vy{1};
+-index = index{1};
+-
+-md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y);
+-md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y);
+-clear vx vy x y index;
+-md.initialization.vz=zeros(md.mesh.numberofvertices,1);
+-md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
+-
+-%Materials
+-md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1);
+-md.materials.rheology_B=paterson(md.initialization.temperature);
+-md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1);
+-
+-%Friction
+-md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
+-md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
+-md.friction.p=ones(md.mesh.numberofelements,1);
+-md.friction.q=ones(md.mesh.numberofelements,1);
+-
+-%Numerical parameters
+-md.stressbalance.viscosity_overshoot=0.0;
+-md.masstransport.stabilization=1.;
+-md.thermal.stabilization=1.;
+-md.verbose=verbose(0);
+-md.settings.waitonlock=30;
+-md.stressbalance.restol=0.05;
+-md.steadystate.reltol=0.05;
+-md.stressbalance.reltol=0.05;
+-md.stressbalance.abstol=NaN;
+-md.timestepping.time_step=1.;
+-md.timestepping.final_time=3.;
+-
+-%Boundary conditions:
+-md=SetIceSheetBC(md);
+-
+-%Change name so that no test have the same name
+-A=dbstack;
+-if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
+-
+Index: ../trunk-jpl/test/Par/GiaBenchmarksCD.par
+===================================================================
+--- ../trunk-jpl/test/Par/GiaBenchmarksCD.par	(revision 21532)
++++ ../trunk-jpl/test/Par/GiaBenchmarksCD.par	(revision 21533)
+@@ -1,76 +0,0 @@
+-%Geometry specific to Experiments C and D  
+-rad=800000;
+-nv=md.mesh.numberofvertices; 
+-for i=1:nv,
+-	dist=sqrt(md.mesh.x(i).^2+md.mesh.y(i)^2);
+-	if (dist <= rad)
+-		md.geometry.thickness(i)=3000.0;
+-	else
+-		md.geometry.thickness(i)=1.0; % non-zero thickness
+-	end
+-end
+-md.geometry.thickness=md.geometry.thickness';
+-md.geometry.base=zeros(md.mesh.numberofvertices,1); 
+-md.geometry.surface=md.geometry.thickness+md.geometry.base; 
+-
+-%Ice density used for benchmarking, not 917 kg/m^3
+-md.materials.rho_ice=1000; %kg m^3
+-
+-%GIA parameters specific to Experiments A  and B
+-md.gia.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
+-md.gia.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
+-md.materials.lithosphere_shear_modulus=6.7*10^10;                  %in Pa
+-md.materials.lithosphere_density=3.32;                             %in g/cm^3
+-md.materials.mantle_shear_modulus=1.45*10^11;                      %in Pa
+-md.materials.mantle_density=3.34;                                  %in g/cm^3
+-
+-%Initial velocity 
+-x     = archread('../Data/SquareSheetConstrained.arch','x');
+-y     = archread('../Data/SquareSheetConstrained.arch','y');
+-vx    = archread('../Data/SquareSheetConstrained.arch','vx');
+-vy    = archread('../Data/SquareSheetConstrained.arch','vy');
+-index = archread('../Data/SquareSheetConstrained.arch','index');
+-
+-x = x{1};
+-y = y{1};
+-vx = vx{1};
+-vy = vy{1};
+-index = index{1};
+-
+-md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y);
+-md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y);
+-clear vx vy x y index;
+-md.initialization.vz=zeros(md.mesh.numberofvertices,1);
+-md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
+-
+-%Materials
+-md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1);
+-md.materials.rheology_B=paterson(md.initialization.temperature);
+-md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1);
+-
+-%Friction
+-md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
+-md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
+-md.friction.p=ones(md.mesh.numberofelements,1);
+-md.friction.q=ones(md.mesh.numberofelements,1);
+-
+-%Numerical parameters
+-md.stressbalance.viscosity_overshoot=0.0;
+-md.masstransport.stabilization=1.;
+-md.thermal.stabilization=1.;
+-md.verbose=verbose(0);
+-md.settings.waitonlock=30;
+-md.stressbalance.restol=0.05;
+-md.steadystate.reltol=0.05;
+-md.stressbalance.reltol=0.05;
+-md.stressbalance.abstol=NaN;
+-md.timestepping.time_step=1.;
+-md.timestepping.final_time=3.;
+-
+-%Boundary conditions:
+-md=SetIceSheetBC(md);
+-
+-%Change name so that no test have the same name
+-A=dbstack;
+-if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
+-
+Index: ../trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par
+===================================================================
+--- ../trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par	(revision 0)
++++ ../trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par	(revision 21533)
+@@ -0,0 +1,77 @@
++%Geometry specific to Experiments A and B 
++rad=600000;
++nv=md.mesh.numberofvertices; 
++for i=1:nv,
++	dist=sqrt(md.mesh.x(i).^2+md.mesh.y(i)^2);
++	if (dist <= rad)
++		md.geometry.thickness(i)=2000.0;
++	else
++		md.geometry.thickness(i)=1.0; % non-zero thickness
++	end
++end
++md.geometry.thickness=md.geometry.thickness';
++md.geometry.base=zeros(md.mesh.numberofvertices,1); 
++md.geometry.surface=md.geometry.thickness+md.geometry.base; 
++
++%Ice density used for benchmarking, not 917 kg/m^3
++md.materials.rho_ice=1000; %kg m^3
++
++%GIA parameters specific to Experiments A  and B
++md.giaivins.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
++md.giaivins.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
++md.materials.lithosphere_shear_modulus=6.7*10^10;                  %in Pa
++md.materials.lithosphere_density=3.36;                             %in g/cm^3
++md.materials.mantle_shear_modulus=1.45*10^11;                      %in Pa
++md.materials.mantle_density=3.38;                                  %in g/cm^3
++
++
++%Initial velocity 
++x     = archread('../Data/SquareSheetConstrained.arch','x');
++y     = archread('../Data/SquareSheetConstrained.arch','y');
++vx    = archread('../Data/SquareSheetConstrained.arch','vx');
++vy    = archread('../Data/SquareSheetConstrained.arch','vy');
++index = archread('../Data/SquareSheetConstrained.arch','index');
++
++x = x{1};
++y = y{1};
++vx = vx{1};
++vy = vy{1};
++index = index{1};
++
++md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y);
++md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y);
++clear vx vy x y index;
++md.initialization.vz=zeros(md.mesh.numberofvertices,1);
++md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
++
++%Materials
++md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_B=paterson(md.initialization.temperature);
++md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1);
++
++%Friction
++md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
++md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
++md.friction.p=ones(md.mesh.numberofelements,1);
++md.friction.q=ones(md.mesh.numberofelements,1);
++
++%Numerical parameters
++md.stressbalance.viscosity_overshoot=0.0;
++md.masstransport.stabilization=1.;
++md.thermal.stabilization=1.;
++md.verbose=verbose(0);
++md.settings.waitonlock=30;
++md.stressbalance.restol=0.05;
++md.steadystate.reltol=0.05;
++md.stressbalance.reltol=0.05;
++md.stressbalance.abstol=NaN;
++md.timestepping.time_step=1.;
++md.timestepping.final_time=3.;
++
++%Boundary conditions:
++md=SetIceSheetBC(md);
++
++%Change name so that no test have the same name
++A=dbstack;
++if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
++
+Index: ../trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par
+===================================================================
+--- ../trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par	(revision 0)
++++ ../trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par	(revision 21533)
+@@ -0,0 +1,76 @@
++%Geometry specific to Experiments C and D  
++rad=800000;
++nv=md.mesh.numberofvertices; 
++for i=1:nv,
++	dist=sqrt(md.mesh.x(i).^2+md.mesh.y(i)^2);
++	if (dist <= rad)
++		md.geometry.thickness(i)=3000.0;
++	else
++		md.geometry.thickness(i)=1.0; % non-zero thickness
++	end
++end
++md.geometry.thickness=md.geometry.thickness';
++md.geometry.base=zeros(md.mesh.numberofvertices,1); 
++md.geometry.surface=md.geometry.thickness+md.geometry.base; 
++
++%Ice density used for benchmarking, not 917 kg/m^3
++md.materials.rho_ice=1000; %kg m^3
++
++%GIA parameters specific to Experiments A  and B
++md.giaivins.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
++md.giaivins.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
++md.materials.lithosphere_shear_modulus=6.7*10^10;                  %in Pa
++md.materials.lithosphere_density=3.32;                             %in g/cm^3
++md.materials.mantle_shear_modulus=1.45*10^11;                      %in Pa
++md.materials.mantle_density=3.34;                                  %in g/cm^3
++
++%Initial velocity 
++x     = archread('../Data/SquareSheetConstrained.arch','x');
++y     = archread('../Data/SquareSheetConstrained.arch','y');
++vx    = archread('../Data/SquareSheetConstrained.arch','vx');
++vy    = archread('../Data/SquareSheetConstrained.arch','vy');
++index = archread('../Data/SquareSheetConstrained.arch','index');
++
++x = x{1};
++y = y{1};
++vx = vx{1};
++vy = vy{1};
++index = index{1};
++
++md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y);
++md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y);
++clear vx vy x y index;
++md.initialization.vz=zeros(md.mesh.numberofvertices,1);
++md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
++
++%Materials
++md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1);
++md.materials.rheology_B=paterson(md.initialization.temperature);
++md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1);
++
++%Friction
++md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
++md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
++md.friction.p=ones(md.mesh.numberofelements,1);
++md.friction.q=ones(md.mesh.numberofelements,1);
++
++%Numerical parameters
++md.stressbalance.viscosity_overshoot=0.0;
++md.masstransport.stabilization=1.;
++md.thermal.stabilization=1.;
++md.verbose=verbose(0);
++md.settings.waitonlock=30;
++md.stressbalance.restol=0.05;
++md.steadystate.reltol=0.05;
++md.stressbalance.reltol=0.05;
++md.stressbalance.abstol=NaN;
++md.timestepping.time_step=1.;
++md.timestepping.final_time=3.;
++
++%Boundary conditions:
++md=SetIceSheetBC(md);
++
++%Change name so that no test have the same name
++A=dbstack;
++if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
++
+Index: ../trunk-jpl/test/Par/SquareSheetConstrained.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21532)
++++ ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21533)
+@@ -61,8 +61,8 @@
+ md.timestepping.final_time=3.
+ 
+ #GIA:
+-md.gia.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices)); # in km
+-md.gia.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices)); # in Pa.s
++md.giaivins.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices)); # in km
++md.giaivins.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices)); # in Pa.s
+ md.materials.lithosphere_shear_modulus=6.7*10**10;                          # in Pa
+ md.materials.lithosphere_density=3.32;                                      # in g/cm^-3
+ md.materials.mantle_shear_modulus=1.45*10**11;                              # in Pa
+Index: ../trunk-jpl/test/Par/SquareSheetConstrained.par
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetConstrained.par	(revision 21532)
++++ ../trunk-jpl/test/Par/SquareSheetConstrained.par	(revision 21533)
+@@ -59,8 +59,8 @@
+ md.timestepping.final_time=3.;
+ 
+ %GIA: 
+-md.gia.lithosphere_thickness=100.*ones(md.mesh.numberofvertices,1); % in km
+-md.gia.mantle_viscosity=1.0*10^21*ones(md.mesh.numberofvertices,1); % in Pa.s
++md.giaivins.lithosphere_thickness=100.*ones(md.mesh.numberofvertices,1); % in km
++md.giaivins.mantle_viscosity=1.0*10^21*ones(md.mesh.numberofvertices,1); % in Pa.s
+ md.materials.lithosphere_shear_modulus=6.7*10^10;                   % in Pa
+ md.materials.lithosphere_density=3.32;                              % in g/cm^-3
+ md.materials.mantle_shear_modulus=1.45*10^11;                       % in Pa
Index: /issm/oecreview/Archive/21337-21723/ISSM-21533-21534.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21533-21534.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21533-21534.diff	(revision 21726)
@@ -0,0 +1,46 @@
+Index: ../trunk-jpl/m4/analyses.m4
+===================================================================
+--- ../trunk-jpl/m4/analyses.m4	(revision 21533)
++++ ../trunk-jpl/m4/analyses.m4	(revision 21534)
+@@ -789,30 +789,30 @@
+ AC_MSG_RESULT($HAVE_UZAWAPRESSURE)
+ 
+ dnl }}}
+-dnl with-Gia{{{
++dnl with-GiaIvins{{{
+ 
+-AC_ARG_WITH([Gia],
++AC_ARG_WITH([GiaIvins],
+ 
+-	AS_HELP_STRING([--with-Gia = YES], [compile with Gia capabilities (default is yes)]),
++	AS_HELP_STRING([--with-GiaIvins = YES], [compile with GiaIvins capabilities (default is yes)]),
+ 
+-	[GIA=$withval],[GIA=yes])
++	[GIAIVINS=$withval],[GIAIVINS=yes])
+ 
+-AC_MSG_CHECKING(for Gia capability compilation)
++AC_MSG_CHECKING(for GiaIvins capability compilation)
+ 
+ 
+-HAVE_GIA=no 
++HAVE_GIAIVINS=no 
+ 
+-if test "x$GIA" = "xyes"; then
++if test "x$GIAIVINS" = "xyes"; then
+ 
+-	HAVE_GIA=yes
++	HAVE_GIAIVINS=yes
+ 
+-	AC_DEFINE([_HAVE_GIA_],[1],[with Gia capability])
++	AC_DEFINE([_HAVE_GIAIVINS_],[1],[with GiaIvins capability])
+ 
+ fi
+ 
+-AM_CONDITIONAL([GIA], [test x$HAVE_GIA = xyes])
++AM_CONDITIONAL([GIAIVINS], [test x$HAVE_GIAIVINS = xyes])
+ 
+-AC_MSG_RESULT($HAVE_GIA)
++AC_MSG_RESULT($HAVE_GIAIVINS)
+ 
+ dnl }}}
+ dnl with-Esa{{{
Index: /issm/oecreview/Archive/21337-21723/ISSM-21535-21536.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21535-21536.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21535-21536.diff	(revision 21726)
@@ -0,0 +1,26 @@
+Index: ../trunk-jpl/test/Par/ValleyGlacierShelf.par
+===================================================================
+--- ../trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 21535)
++++ ../trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 21536)
+@@ -64,7 +64,7 @@
+ md.transient.ismasstransport = 0;
+ md.transient.isthermal = 0;
+ md.transient.isgroundingline = 1;
+-md.transient.isgia = 0;
++md.transient.isgiaivins = 0;
+ 
+ %Stressbalance
+ md.stressbalance.maxiter = 100;
+Index: ../trunk-jpl/test/Par/ValleyGlacierShelf.py
+===================================================================
+--- ../trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 21535)
++++ ../trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 21536)
+@@ -71,7 +71,7 @@
+ md.transient.ismasstransport=False
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ 
+ #Stressbalance
+ md.stressbalance.maxiter=100
Index: /issm/oecreview/Archive/21337-21723/ISSM-21536-21537.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21536-21537.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21536-21537.diff	(revision 21726)
@@ -0,0 +1,195 @@
+Index: ../trunk-jpl/test/NightlyRun/test805.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test805.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test805.py	(revision 21537)
+@@ -27,7 +27,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ md.transient.ismovingfront=True
+ 
+ md.calving.calvingrate=1000.*np.ones((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test801.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test801.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test801.m	(revision 21537)
+@@ -12,7 +12,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=1;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ 
+ md=solve(md,'Transient');
+ 
+Index: ../trunk-jpl/test/NightlyRun/test802.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test802.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test802.m	(revision 21537)
+@@ -17,7 +17,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=1;
+ md.transient.isgroundingline=1;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ 
+ md=solve(md,'Transient');
+ 
+Index: ../trunk-jpl/test/NightlyRun/test806.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test806.py	(revision 21537)
+@@ -31,7 +31,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=False
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ md.transient.ismovingfront=True
+ 
+ md.calving=calvinglevermann()
+Index: ../trunk-jpl/test/NightlyRun/test803.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test803.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test803.m	(revision 21537)
+@@ -19,7 +19,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=1;
+ md.transient.isgroundingline=1;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ 
+ md=solve(md,'Transient');
+ 
+Index: ../trunk-jpl/test/NightlyRun/test807.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test807.py	(revision 21537)
+@@ -31,7 +31,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=False
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ md.transient.ismovingfront=True
+ 
+ md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test804.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test804.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test804.m	(revision 21537)
+@@ -11,7 +11,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=1;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving.calvingrate=1000.*ones(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test805.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test805.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test805.m	(revision 21537)
+@@ -18,7 +18,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=1;
+ md.transient.isgroundingline=1;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving.calvingrate=1000.*ones(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test806.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test806.m	(revision 21537)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=0;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving=calvinglevermann();
+Index: ../trunk-jpl/test/NightlyRun/test807.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test807.m	(revision 21537)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=0;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving.calvingrate=zeros(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test808.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test808.m	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test808.m	(revision 21537)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=0;
+-md.transient.isgia=0;
++md.transient.isgiaivins=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving=calvingminthickness();
+Index: ../trunk-jpl/test/NightlyRun/test801.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test801.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test801.py	(revision 21537)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test802.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test802.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test802.py	(revision 21537)
+@@ -26,7 +26,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test803.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test803.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test803.py	(revision 21537)
+@@ -28,7 +28,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test804.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test804.py	(revision 21536)
++++ ../trunk-jpl/test/NightlyRun/test804.py	(revision 21537)
+@@ -20,7 +20,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+-md.transient.isgia=False
++md.transient.isgiaivins=False
+ md.transient.ismovingfront=True
+ 
+ md.calving.calvingrate=1000.*np.ones((md.mesh.numberofvertices))
Index: /issm/oecreview/Archive/21337-21723/ISSM-21537-21538.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21537-21538.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21537-21538.diff	(revision 21726)
@@ -0,0 +1,95 @@
+Index: ../trunk-jpl/externalpackages/chaco/chaco_njs_notes.txt
+===================================================================
+--- ../trunk-jpl/externalpackages/chaco/chaco_njs_notes.txt	(revision 21537)
++++ ../trunk-jpl/externalpackages/chaco/chaco_njs_notes.txt	(revision 21538)
+@@ -1,3 +1,8 @@
+ chaco build must be able to see malloc.h
+ sudo ln -s /usr/include/malloc/malloc.h /usr/include/malloc.h
+ or else make sure you include the malloc directory in path
++
++if on sierra, you must download a version of malloc.h -
++one can be found here: http://web.mit.edu/jhawk/mnt/spo/phone-project/include/malloc.h
++place this file in /usr/local/include/, and run the sierra install script 
++
+Index: ../trunk-jpl/externalpackages/chaco/install-macosx64-sierra.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/chaco/install-macosx64-sierra.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/chaco/install-macosx64-sierra.sh	(revision 21538)
+@@ -0,0 +1,55 @@
++#!/bin/bash
++set -eu
++
++# Some cleanup
++rm -rf Chaco-2.2
++rm -rf src 
++rm -rf install 
++mkdir src install 
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/Chaco-2.2.tar.gz' 'Chaco-2.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/docs/chaco_guide.pdf' 'chaco_guide.pdf'
++
++# Untar 
++tar -xvzf Chaco-2.2.tar.gz
++
++# Move chaco to src directory
++mv Chaco-2.2/* src
++rm -rf Chaco-2.2
++
++# Apply patches (all at once)
++# (written by diff -rc src ~/Libs/Chaco-2.2 > chaco.patch)
++patch -R -p0 < chaco.patch
++
++# Patch src/code/Makefile
++patch ./src/code/Makefile ./patches/Makefile.macosx64-sierra.patch
++
++
++# Build chaco
++cd src/code
++if [ $# -eq 0 ]; then
++	make
++else
++	make -j $1
++fi
++make chacominusblas.a
++
++# Clean up objects (but not library or executable)
++make clean
++cd ../..
++
++# Populate install directory
++cp -p src/exec/README install
++cp -p src/exec/User_Params install
++cp -p src/exec/*.coords install
++cp -p src/exec/*.graph install
++mkdir install/include
++cp -p src/code/main/defs.h install/include/defs.h
++cp -p src/code/main/params.h install/include/params.h
++cp -p chaco.h install/include/chaco.h
++mkdir install/lib
++mv src/code/chaco.a install/lib/libchaco.a
++mv src/code/chacominusblas.a install/lib/libchacominusblas.a
++mkdir install/exec
++mv src/exec/chaco install/exec
+
+Property changes on: ../trunk-jpl/externalpackages/chaco/install-macosx64-sierra.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/externalpackages/chaco/patches/Makefile.macosx64-sierra.patch
+===================================================================
+--- ../trunk-jpl/externalpackages/chaco/patches/Makefile.macosx64-sierra.patch	(revision 0)
++++ ../trunk-jpl/externalpackages/chaco/patches/Makefile.macosx64-sierra.patch	(revision 21538)
+@@ -0,0 +1,11 @@
++--- ./src/code/Makefile	2016-02-16 19:39:30.000000000 -0800
+++++ ./Makefile	2016-02-16 19:37:49.000000000 -0800
++@@ -6,7 +6,7 @@
++ #CFLAGS =	-O2
++ #OFLAGS =	-O2
++ #CFLAGS =	-fPIC -fno-omit-frame-pointer -D_GNU_SOURCE -pthread -fexceptions
++-CFLAGS =	-fPIC -fno-omit-frame-pointer -pthread -fexceptions -g
+++CFLAGS =	-fPIC -fno-omit-frame-pointer -pthread -fexceptions -g -I/usr/local/include/
++ #CFLAGS =	-fPIC -fno-omit-frame-pointer -pthread -fexceptions -DMATLAB
++ OFLAGS =	-O2 
++ #AR =             /usr/ccs/bin/ar rcv   # for solaris 2
Index: /issm/oecreview/Archive/21337-21723/ISSM-21538-21539.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21538-21539.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21538-21539.diff	(revision 21726)
@@ -0,0 +1,35 @@
+Index: ../trunk-jpl/externalpackages/git/install-macosx64-sierra.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/git/install-macosx64-sierra.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/git/install-macosx64-sierra.sh	(revision 21539)
+@@ -0,0 +1,24 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf src install git-1.7.10.2
++mkdir install src
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/git-1.7.10.2.tar.gz' 'git-1.7.10.2.tar.gz'
++
++#Untar 
++tar -zxvf  git-1.7.10.2.tar.gz
++
++#Move git into install directory
++mv git-1.7.10.2/* src
++rm -rf git-1.7.10.2
++
++#install
++cd src 
++./configure  CFLAGS="-I/usr/local/include" --prefix="$ISSM_DIR/externalpackages/git/install" 
++# --with-python="$ISSM_DIR/externalpackages/python/install/bin/python" #Do we really need this line?
++	
++#Compile
++make install
+
+Property changes on: ../trunk-jpl/externalpackages/git/install-macosx64-sierra.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21539-21540.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21539-21540.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21539-21540.diff	(revision 21726)
@@ -0,0 +1,134 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21539)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21540)
+@@ -151,7 +151,7 @@
+ 		void GetMesh(FemModel* femmodel,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist);
+ 		int GetElementsWidth(){return 3;};//just tria elements in this first version
+ 		void ExecuteRefinement(int &numberofvertices,int &numberofelements,IssmDouble** px,IssmDouble** py,IssmDouble** pz,int** pelementslist);
+-		void GetMaskLevelSet(IssmDouble** pmasklevelset);
++		void GetGroundediceLevelSet(IssmDouble** pmasklevelset);
+ 		void CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices);
+ 		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
+ 		void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21539)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21540)
+@@ -179,14 +179,18 @@
+ 	 
+     /*Verify the new geometry*/
+     this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,px,py,pz,pelements,psegments);
+-     
++
++	 _printf_("\trefinement process done!\n\n");
++
+     delete nohangingnodesmesh;
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec){/*{{{*/
+     
+     /*Refine mesh hmax times*/
+-    for(int hlevel=1;hlevel<=this->hmax;hlevel++){
++   _printf_("\n\trefinement process (hmax = " << this->hmax << ")\n");
++	_printf_("\tprogress:  ");
++	for(int hlevel=1;hlevel<=this->hmax;hlevel++){
+         
+         /*Set elements to be refined using some criteria*/
+         std::vector<int> ElemVec; //elements without children
+@@ -194,8 +198,10 @@
+         
+         /*Refine the mesh*/
+         this->RefineMesh(gmesh, ElemVec);
++		  
++		  _printf_("*  ");
+     }
+-    
++    _printf_("\n");
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::RefineMesh(TPZGeoMesh *gmesh, std::vector<int> &ElemVec){/*{{{*/
+@@ -234,7 +240,8 @@
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh){/*{{{*/
+-    
++   
++	 _printf_("\trefine to avoid hanging nodes...\n");
+     /*Refine elements to avoid hanging nodes: non-uniform refinement*/
+ 	 const int NElem = gmesh->NElements();
+     for(int i = 0; i < NElem; i++){
+@@ -388,10 +395,10 @@
+     ElemVec.clear();
+     
+     // itapopo inserir modo de encontrar criterio TESTING!!!! Come to false!
+-	 if(true) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
++	 if(false) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
+ 
+     /* Adaptive refinement. This refines some elements following some criteria*/
+-    //this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
++    this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
+ 
+ }
+ /*}}}*/
+@@ -409,8 +416,8 @@
+ void AdaptiveMeshRefinement::TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<int> &ElemVec){/*{{{*/
+     
+     /* Tag elements near grounding line */
+-    double MaxRegion = 20000.; //itapopo
+-    double alpha = 1.0;         //itapopo
++    double MaxRegion = 40000.; //itapopo
++    double alpha = log(1.5);         //itapopo
+     double MaxDistance = MaxRegion / std::exp(alpha*(hlevel-1));
+     
+     for(int i=0;i<gmesh->NElements();i++){
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21539)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21540)
+@@ -2941,7 +2941,7 @@
+ 	/*Just CPU #0 should keep AMR object*/
+    if(my_rank==0){ 
+ 		this->amr = new AdaptiveMeshRefinement();
+-		int hmax	 = 0; //itapopo: it must be defined by interface. Using 2 just to test
++		int hmax	 = 3; //itapopo: it must be defined by interface. Using 2 just to test
+ 		this->amr->SetHMax(hmax); //Set max level of refinement
+ 		this->amr->CreateInitialMesh(numberofvertices,numberofelements,numberofsegments,elementswidth,x,y,z,elements,NULL);
+ 	}
+@@ -3298,8 +3298,8 @@
+    const int elementswidth  = this->GetElementsWidth();//just 2D mesh, tria elements
+ 	
+ 	/*Solutions which will be used to refine the elements*/
+-	this->GetMaskLevelSet(&masklevelset);//itapopo verificar se já existe um método igual a esse
+-	
++	this->GetGroundediceLevelSet(&masklevelset);//itapopo verificar se já existe um método igual a esse
++
+ 	if(my_rank==0){
+ 		int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
+ 		this->amr->ExecuteRefinement(type_process,vx,vy,masklevelset,
+@@ -3333,7 +3333,7 @@
+ 
+ }
+ /*}}}*/
+-void FemModel::GetMaskLevelSet(IssmDouble **pmasklevelset){/*{{{*/
++void FemModel::GetGroundediceLevelSet(IssmDouble **pmasklevelset){/*{{{*/
+ 
+ 	int elementswidth		= this->GetElementsWidth();//just 2D mesh, tria elements
+ 	int numberofelements = this->elements->NumberOfElements();
+@@ -3345,7 +3345,7 @@
+ 
+ 	for(int i=0;i<this->elements->Size();i++){
+ 		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
+-		element->GetInputListOnVertices(elementlevelset,MaskIceLevelsetEnum);
++		element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum);
+ 		element->GetVerticesSidList(elem_vertices);
+ 		vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
+       vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL);
+@@ -3579,7 +3579,6 @@
+ void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
+ 
+ 	/*Get x and y of the mesh i-1*/
+-	int my_rank						= IssmComm::GetRank();
+ 	int numberofvertices			= this->vertices->NumberOfVertices();
+ 	int numberofelements			= this->elements->NumberOfElements();
+ 	IssmDouble *x					= NULL;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21540-21541.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21540-21541.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21540-21541.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21540)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21541)
+@@ -139,7 +139,7 @@
+ 		}
+ 
+ 		/*Sea level rise: */
+-		if(isslr | iscoupler) sealevelrise_core(femmodel);
++		if(isslr || iscoupler) sealevelrise_core(femmodel);
+ 
+ 		/*unload results*/
+ 		if(VerboseSolution()) _printf0_("   computing requested outputs\n");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21541-21542.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21541-21542.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21541-21542.diff	(revision 21726)
@@ -0,0 +1,173 @@
+Index: ../trunk-jpl/src/m/classes/thermal.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/thermal.py	(revision 21541)
++++ ../trunk-jpl/src/m/classes/thermal.py	(revision 21542)
+@@ -22,6 +22,7 @@
+ 		self.penalty_factor    = 0
+ 		self.isenthalpy        = 0
+ 		self.isdynamicbasalspc = 0;
++		self.fe                = 'P1';
+ 		self.requested_outputs = []
+ 
+ 		#set defaults
+@@ -78,8 +79,11 @@
+ 		self.isenthalpy=0
+ 
+ 		#will basal boundary conditions be set dynamically
+-		self.isdynamicbasalspc=0;
++		self.isdynamicbasalspc=0
+ 
++		#Finite element interpolation
++		self.fe='P1'
++
+ 		#default output
+ 		self.requested_outputs=['default']
+ 		return self
+@@ -123,6 +127,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','penalty_lock','format','Integer')
+ 		WriteData(fid,prefix,'object',self,'fieldname','penalty_factor','format','Double')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isenthalpy','format','Boolean')
++		WriteData(fid,prefix,'object',self,'fieldname','fe','format','String');
+ 		WriteData(fid,prefix,'object',self,'fieldname','isdynamicbasalspc','format','Boolean');
+ 
+ 		#process requested outputs
+Index: ../trunk-jpl/src/m/classes/thermal.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/thermal.m	(revision 21541)
++++ ../trunk-jpl/src/m/classes/thermal.m	(revision 21542)
+@@ -14,6 +14,7 @@
+ 		penalty_factor    = 0;
+ 		isenthalpy        = 0;
+ 		isdynamicbasalspc = 0;
++		fe                = 'P1';
+ 		requested_outputs = {};
+ 	end
+ 	methods
+@@ -65,6 +66,9 @@
+ 			%will basal boundary conditions be set dynamically
+ 			self.isdynamicbasalspc=0;
+ 
++			%Linear elements by default
++			self.fe='P1';
++
+ 			%default output
+ 			self.requested_outputs={'default'};
+ 		end % }}}
+@@ -75,6 +79,7 @@
+ 
+ 			md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 1 2]);
+ 			md = checkfield(md,'fieldname','thermal.spctemperature','Inf',1,'timeseries',1,'>=',0);
++			md = checkfield(md,'fieldname','thermal.fe','values',{'P1','P1xP2'});
+ 			if (ismember('EnthalpyAnalysis',analyses) & md.thermal.isenthalpy & dimension(md.mesh)==3),
+ 
+ 				%Make sure the spc are less than melting point
+@@ -109,6 +114,7 @@
+ 			fielddisplay(self,'penalty_factor','scaling exponent (default is 3)');
+ 			fielddisplay(self,'isenthalpy','use an enthalpy formulation to include temperate ice (default is 0)');
+ 			fielddisplay(self,'isdynamicbasalspc',['enable dynamic setting of basal forcing. required for enthalpy formulation (default is 0)']);
++			fielddisplay(self,'fe','Finite Element type: ''P1'' (default), ''P1xP2''');
+ 			fielddisplay(self,'requested_outputs','additional outputs requested');
+ 
+ 		end % }}}
+@@ -121,6 +127,7 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','penalty_lock','format','Integer');
+ 			WriteData(fid,prefix,'object',self,'fieldname','penalty_factor','format','Double');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isenthalpy','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','fe','format','String');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isdynamicbasalspc','format','Boolean');
+ 
+ 			%process requested outputs
+Index: ../trunk-jpl/src/c/classes/IoModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21541)
++++ ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21542)
+@@ -656,6 +656,8 @@
+ 						this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
+ 					} else if(strcmp(record_name,"md.flowequation.fe_FS")==0){
+ 						this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
++					} else if(strcmp(record_name,"md.thermal.fe")==0){
++						this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
+ 					} else if(strcmp(record_name,"md.groundingline.migration")==0){
+ 						this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
+ 					} else if(strcmp(record_name,"md.masstransport.hydrostatic_adjustment")==0){
+@@ -796,6 +798,8 @@
+ 							this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
+ 						} else if(strcmp(record_name,"md.flowequation.fe_FS")==0){
+ 							this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
++						} else if(strcmp(record_name,"md.thermal.fe")==0){
++							this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
+ 						} else if(strcmp(record_name,"md.groundingline.migration")==0){
+ 							this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
+ 						} else if(strcmp(record_name,"md.masstransport.hydrostatic_adjustment")==0){
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21541)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21542)
+@@ -97,8 +97,11 @@
+ }/*}}}*/
+ void EnthalpyAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
+ 
++	int finiteelement;
++	iomodel->FindConstant(&finiteelement,"md.thermal.fe");
++
+ 	if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
+-	::CreateNodes(nodes,iomodel,EnthalpyAnalysisEnum,P1Enum);
++	::CreateNodes(nodes,iomodel,EnthalpyAnalysisEnum,finiteelement);
+ 	iomodel->DeleteData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
+ }/*}}}*/
+ int  EnthalpyAnalysis::DofsPerNode(int** doflist,int domaintype,int approximation){/*{{{*/
+@@ -120,12 +123,16 @@
+ 	/*Fetch data needed: */
+ 	iomodel->FetchData(3,"md.initialization.temperature","md.initialization.waterfraction","md.initialization.pressure");
+ 
++	/*Finite element type*/
++	int finiteelement;
++	iomodel->FindConstant(&finiteelement,"md.thermal.fe");
++
+ 	/*Update elements: */
+ 	int counter=0;
+ 	for(int i=0;i<iomodel->numberofelements;i++){
+ 		if(iomodel->my_elements[i]){
+ 			Element* element=(Element*)elements->GetObjectByOffset(counter);
+-			element->Update(i,iomodel,analysis_counter,analysis_type,P1Enum);
++			element->Update(i,iomodel,analysis_counter,analysis_type,finiteelement);
+ 			counter++;
+ 		}
+ 	}
+Index: ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 21541)
++++ ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 21542)
+@@ -8,7 +8,9 @@
+ void ThermalAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
+ 
+ 	/*Intermediary*/
+-	int finiteelement = P1Enum;
++	int finiteelement;
++	iomodel->FindConstant(&finiteelement,"md.thermal.fe");
++	_assert_(finiteelement==P1Enum); 
+ 
+ 	/*Only 3d mesh supported*/
+ 	if(iomodel->domaintype!=Domain3DEnum) _error_("not supported yet");
+@@ -61,7 +63,9 @@
+ }/*}}}*/
+ void ThermalAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
+ 
+-	int finiteelement = P1Enum;
++	int finiteelement;
++	iomodel->FindConstant(&finiteelement,"md.thermal.fe");
++	_assert_(finiteelement==P1Enum); 
+ 	
+ 	if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
+ 	::CreateNodes(nodes,iomodel,ThermalAnalysisEnum,finiteelement);
+@@ -78,7 +82,9 @@
+ 	if(iomodel->domaintype==Domain2DhorizontalEnum)return;
+ 
+ 	/*Update elements: */
+-	int finiteelement = P1Enum;
++	int finiteelement;
++	iomodel->FindConstant(&finiteelement,"md.thermal.fe");
++	_assert_(finiteelement==P1Enum); 
+ 	int counter=0;
+ 	for(int i=0;i<iomodel->numberofelements;i++){
+ 		if(iomodel->my_elements[i]){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21542-21543.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21542-21543.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21542-21543.diff	(revision 21726)
@@ -0,0 +1,57 @@
+Index: ../trunk-jpl/src/m/classes/frictionjosh.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/frictionjosh.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/frictionjosh.m	(revision 21543)
+@@ -0,0 +1,52 @@
++%FRICTIONTEMP class definition
++%
++%   Usage:
++%      frictionjosh=frictionjosh();
++
++classdef frictionjosh
++	properties (SetAccess=public) 
++		coefficient = NaN;
++		temperature = NaN;
++	end
++	methods
++		function self = extrude(self,md) % {{{
++			self.coefficient=project3d(md,'vector',self.coefficient,'type','node','layer',1);
++			self.temperature=project3d(md,'vector',self.temperature,'type','node','layer',1);
++		end % }}}
++		function self = frictionjosh(varargin) % {{{
++			switch nargin
++				case 0
++					self=setdefaultparameters(self);
++				case 1
++					self=structtoobj(frictionjosh(),varargin{1});
++				otherwise
++					error('constructor not supported');
++			end
++		end % }}}
++		function self = setdefaultparameters(self) % {{{
++
++		end % }}}
++		function md = checkconsistency(self,md,solution,analyses) % {{{
++
++			%Early return
++			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
++
++			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','friction.temperature','timeseries',1,'NaN',1,'Inf',1);
++
++			%Check that temperature is provided
++			md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
++		end % }}}
++		function disp(self) % {{{
++			disp(sprintf('Basal shear stress parameters: tau_b = coefficient^2 * Neff ^r * |u_b|^(s-1) * u_b * 1/f(T)\n(effective stress Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p)'));
++			fielddisplay(self,'coefficient','friction coefficient [SI]');
++			fielddisplay(self,'temperature','friction temperature [K]');
++		end % }}}
++		function marshall(self,prefix,md,fid) % {{{
++
++			WriteData(fid,prefix,'name','md.friction.law','data',9,'format','Integer');
++			WriteData(fid,prefix,'class','friction','object',self,'fieldname','coefficient','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'class','friction','object',self,'fieldname','temperature','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++		end % }}}
++	end
++end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21543-21544.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21543-21544.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21543-21544.diff	(revision 21726)
@@ -0,0 +1,58 @@
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21543)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21544)
+@@ -39,7 +39,7 @@
+ 		transient        = 0;
+ 		levelset			  = 0;
+ 		calving          = 0;
+-		giaivins              = 0;
++		giaivins         = 0;
+ 		esa              = 0;
+ 
+ 		autodiff         = 0;
+@@ -244,10 +244,9 @@
+ 			md.stressbalance.referential=project2d(md,md.stressbalance.referential,md.mesh.numberoflayers);
+ 			md.stressbalance.loadingforce=project2d(md,md.stressbalance.loadingforce,md.mesh.numberoflayers);
+ 			md.masstransport.spcthickness=project2d(md,md.masstransport.spcthickness,md.mesh.numberoflayers);
+-			if ~isnan(md.damage.spcdamage), md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers); end
++			if numel(md.damage.spcdamage)>1, md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers); end
+ 			if numel(md.levelset.spclevelset)>1, md.levelset.spclevelset=project2d(md,md.levelset.spclevelset,md.mesh.numberoflayers); end
+ 			md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers);
+-			md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers);
+ 
+ 			% Hydrologydc variables
+ 			if isa(md.hydrology,'hydrologydc');
+@@ -1111,7 +1110,7 @@
+ 			md.transient        = transient();
+ 			md.levelset			  = levelset();
+ 			md.calving          = calving();
+-			md.giaivins              = giaivins();
++			md.giaivins         = giaivins();
+ 			md.esa              = esa();
+ 			md.autodiff         = autodiff();
+ 			md.inversion        = inversion();
+@@ -1281,9 +1280,9 @@
+ 			disp(sprintf('%19s: %-22s -- %s','thermal'         ,['[1x1 ' class(self.thermal) ']'],'parameters for thermal solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','steadystate'     ,['[1x1 ' class(self.steadystate) ']'],'parameters for steadystate solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','transient'       ,['[1x1 ' class(self.transient) ']'],'parameters for transient solution'));
+-			disp(sprintf('%19s: %-22s -- %s','levelset'         ,['[1x1 ' class(self.levelset) ']'],'parameters for moving boundaries (level-set method)'));
++			disp(sprintf('%19s: %-22s -- %s','levelset'        ,['[1x1 ' class(self.levelset) ']'],'parameters for moving boundaries (level-set method)'));
+ 			disp(sprintf('%19s: %-22s -- %s','calving'         ,['[1x1 ' class(self.calving) ']'],'parameters for calving'));
+-			disp(sprintf('%19s: %-22s -- %s','giaivins'             ,['[1x1 ' class(self.giaivins) ']'],'parameters for giaivins solution'));
++			disp(sprintf('%19s: %-22s -- %s','giaivins'        ,['[1x1 ' class(self.giaivins) ']'],'parameters for giaivins solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','esa'             ,['[1x1 ' class(self.esa) ']'],'parameters for elastic adjustment solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','autodiff'        ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters'));
+ 			disp(sprintf('%19s: %-22s -- %s','inversion'       ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods'));
+Index: ../trunk-jpl/src/m/classes/oldclasses/gia.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/oldclasses/gia.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/oldclasses/gia.m	(revision 21544)
+@@ -0,0 +1,7 @@
++classdef gia
++	properties (SetAccess=public) 
++		mantle_viscosity              = NaN;
++		lithosphere_thickness         = NaN;
++		cross_section_shape           = 0;
++	end
++end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21544-21545.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21544-21545.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21544-21545.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21544)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21545)
+@@ -131,6 +131,10 @@
+ 			if isa(md.esa,'double');
+ 				md.esa=esa();
+ 			end
++			%2017 February 10th
++			if md.settings.solver_residue_threshold==0,
++				md.settings.solver_residue_threshold = 1e-6;
++			end
+ 
+ 		end% }}}
+ 	end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21545-21546.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21545-21546.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21545-21546.diff	(revision 21726)
@@ -0,0 +1,89 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21545)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21546)
+@@ -12,6 +12,7 @@
+ 	int        count;
+ 	int        M,N;
+ 	bool       spcpresent = false;
++	int        finiteelement;
+ 	IssmDouble heatcapacity;
+ 	IssmDouble referencetemperature;
+ 
+@@ -23,6 +24,7 @@
+ 	/*Fetch parameters: */
+ 	iomodel->FindConstant(&heatcapacity,"md.materials.heatcapacity");
+ 	iomodel->FindConstant(&referencetemperature,"md.constants.referencetemperature");
++	iomodel->FindConstant(&finiteelement,"md.thermal.fe");
+ 
+ 	/*return if 2d mesh*/
+ 	if(iomodel->domaintype==Domain2DhorizontalEnum) return;
+@@ -30,62 +32,15 @@
+ 	/*Fetch data: */
+ 	iomodel->FetchData(&spcvector,&M,&N,"md.thermal.spctemperature");
+ 
+-	//FIX ME: SHOULD USE IOMODELCREATECONSTRAINTS 
+-	/*Transient or static?:*/
+-	if(M==iomodel->numberofvertices){
+-		/*static: just create Constraints objects*/
+-		count=0;
+-
+-		for(int i=0;i<iomodel->numberofvertices;i++){
+-			/*keep only this partition's nodes:*/
+-			if((iomodel->my_vertices[i])){
+-
+-				if (!xIsNan<IssmDouble>(spcvector[i])){
+-
+-					constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,0,heatcapacity*(spcvector[i]-referencetemperature),EnthalpyAnalysisEnum));
+-					count++;
+-
+-				}
+-			}
++	/*Convert spcs from temperatures to enthalpy*/
++	_assert_(N>0); _assert_(M>=iomodel->numberofvertices);
++	for(int i=0;i<iomodel->numberofvertices;i++){
++		for(int j=0;i<N;j++){
++			spcvector[i*N+j] = heatcapacity*(spcvector[i]-referencetemperature);
+ 		}
+ 	}
+-	else if (M==(iomodel->numberofvertices+1)){
+-		/*transient: create transient SpcTransient objects. Same logic, except we need to retrieve 
+-		 * various times and values to initialize an SpcTransient object: */
+-		count=0;
++	IoModelToConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement,2);
+ 
+-		/*figure out times: */
+-		times=xNew<IssmDouble>(N);
+-		for(int j=0;j<N;j++){
+-			times[j]=spcvector[(M-1)*N+j];
+-		}
+-
+-		/*Create constraints from x,y,z: */
+-		for(int i=0;i<iomodel->numberofvertices;i++){
+-
+-			/*keep only this partition's nodes:*/
+-			if((iomodel->my_vertices[i])){
+-
+-				/*figure out times and values: */
+-				values=xNew<IssmDouble>(N);
+-				spcpresent=false;
+-				for(int j=0;j<N;j++){
+-					values[j]=heatcapacity*(spcvector[i*N+j]-referencetemperature);
+-					if(!xIsNan<IssmDouble>(values[j]))spcpresent=true; //NaN means no spc by default
+-				}
+-
+-				if(spcpresent){
+-					constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,0,N,times,values,EnthalpyAnalysisEnum));
+-					count++;
+-				}
+-				xDelete<IssmDouble>(values);
+-			}
+-		}
+-	}
+-	else{
+-		_error_("Size of field " << EnumToStringx(ThermalSpctemperatureEnum) << " not supported");
+-	}
+-
+ 	/*Free ressources:*/
+ 	iomodel->DeleteData(spcvector,"md.thermal.spctemperature");
+ 	xDelete<IssmDouble>(times);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21546-21547.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21546-21547.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21546-21547.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21546)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21547)
+@@ -39,7 +39,7 @@
+ 			spcvector[i*N+j] = heatcapacity*(spcvector[i]-referencetemperature);
+ 		}
+ 	}
+-	IoModelToConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement,2);
++	IoModelToConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement,0);
+ 
+ 	/*Free ressources:*/
+ 	iomodel->DeleteData(spcvector,"md.thermal.spctemperature");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21547-21548.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21547-21548.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21547-21548.diff	(revision 21726)
@@ -0,0 +1,29 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21547)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21548)
+@@ -39,8 +39,23 @@
+ 			spcvector[i*N+j] = heatcapacity*(spcvector[i]-referencetemperature);
+ 		}
+ 	}
+-	IoModelToConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement,0);
+ 
++	/*Specific case for PDD, we want the constaints to be updated by the PDD scheme itself*/
++	bool isdynamic = false;
++	if (iomodel->solution_enum==TransientSolutionEnum){
++		int smb_model;
++		iomodel->FindConstant(&smb_model,"md.smb.model");
++		if(smb_model==SMBpddEnum)     isdynamic=true;
++		if(smb_model==SMBd18opddEnum) isdynamic=true;
++	}
++
++	if(isdynamic){
++		IoModelToDynamicConstraintsx(constraints,iomodel,"md.thermal.spctemperature",ThermalAnalysisEnum,finiteelement);
++	}
++	else{
++		IoModelToConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement);
++	}
++
+ 	/*Free ressources:*/
+ 	iomodel->DeleteData(spcvector,"md.thermal.spctemperature");
+ 	xDelete<IssmDouble>(times);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21548-21549.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21548-21549.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21548-21549.diff	(revision 21726)
@@ -0,0 +1,39 @@
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21548)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21549)
+@@ -85,9 +85,17 @@
+ 
+ 		if(isthermal && domaintype==Domain3DEnum){ 
+ 			if(issmb){
++				bool isenthalpy;
++				femmodel->parameters->FindParam(&isenthalpy,ThermalIsenthalpyEnum);
+ 				femmodel->parameters->FindParam(&smb_model,SmbEnum);
+-				if(smb_model==SMBpddEnum) ResetBoundaryConditions(femmodel,ThermalAnalysisEnum);
+-				if(smb_model==SMBd18opddEnum) ResetBoundaryConditions(femmodel,ThermalAnalysisEnum);
++				if(isenthalpy){
++					if(smb_model==SMBpddEnum)     ResetBoundaryConditions(femmodel,EnthalpyAnalysisEnum);
++					if(smb_model==SMBd18opddEnum) ResetBoundaryConditions(femmodel,EnthalpyAnalysisEnum);
++				}
++				else{
++					if(smb_model==SMBpddEnum)     ResetBoundaryConditions(femmodel,ThermalAnalysisEnum);
++					if(smb_model==SMBd18opddEnum) ResetBoundaryConditions(femmodel,ThermalAnalysisEnum);
++				}
+ 			}
+ 			if(VerboseSolution()) _printf0_("   computing thermal regime\n");
+ 			thermal_core(femmodel);
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21548)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21549)
+@@ -35,8 +35,8 @@
+ 	/*Convert spcs from temperatures to enthalpy*/
+ 	_assert_(N>0); _assert_(M>=iomodel->numberofvertices);
+ 	for(int i=0;i<iomodel->numberofvertices;i++){
+-		for(int j=0;i<N;j++){
+-			spcvector[i*N+j] = heatcapacity*(spcvector[i]-referencetemperature);
++		for(int j=0;j<N;j++){
++			spcvector[i*N+j] = heatcapacity*(spcvector[i*N+j]-referencetemperature);
+ 		}
+ 	}
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21549-21550.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21549-21550.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21549-21550.diff	(revision 21726)
@@ -0,0 +1,92 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21549)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21550)
+@@ -1992,9 +1992,9 @@
+ 					pdds, pds, &melt[iv], &accu[iv], signorm, yts, h[iv], s[iv],
+ 					desfac, s0t[iv], s0p[iv],rlaps,rlapslgm,TdiffTime,sealevTime,
+ 					rho_water,rho_ice);
+-	/*Get yearlytemperatures */
++		/*Get yearlytemperatures */
+ 		for(int month=0;month<12;month++) {
+-		  yearlytemperatures[iv]=yearlytemperatures[iv]+(monthlytemperatures[iv*12+month]+273.15)*mavg; // Has to be in Kelvin
++			yearlytemperatures[iv]=yearlytemperatures[iv]+(monthlytemperatures[iv*12+month]+273.15)*mavg; // Has to be in Kelvin
+ 		}
+ 	}
+ 
+@@ -2015,38 +2015,49 @@
+ 
+ 	switch(this->ObjectEnum()){
+ 		case TriaEnum:  
+-		        // this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
+-		        this->inputs->AddInput(new TriaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
++			// this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
++			this->inputs->AddInput(new TriaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
+ 			this->inputs->AddInput(new TriaInput(SmbMassBalanceEnum,&agd[0],P1Enum));
+ 			this->inputs->AddInput(new TriaInput(SmbAccumulationEnum,&accu[0],P1Enum));
+ 			this->inputs->AddInput(new TriaInput(SmbMeltEnum,&melt[0],P1Enum));
+ 			break;
+ 		case PentaEnum:
+-		        if(IsOnSurface()){
+-		              GetInputListOnVertices(&s[0],TemperatureEnum);
+-		              yearlytemperatures[0] = s[0];
+-		              yearlytemperatures[1] = s[1];
+-		              yearlytemperatures[2] = s[2];
+-		              this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
+-		        }
+-		        this->inputs->AddInput(new PentaInput(SmbMassBalanceEnum,&agd[0],P1Enum));
+-		        this->inputs->AddInput(new PentaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
+-		        this->InputExtrude(TemperaturePDDEnum,-1);
+-		        this->InputExtrude(SmbMassBalanceEnum,-1);
+-		        break;
++			if(IsOnSurface()){
++				/*Here, we want to change the BC of the thermal model, keep
++				 * the temperatures as they are for the base of the penta and
++				 * yse yearlytemperatures for the top*/
++				GetInputListOnVertices(&s[0],TemperatureEnum);
++				yearlytemperatures[0] = s[0];
++				yearlytemperatures[1] = s[1];
++				yearlytemperatures[2] = s[2];
++				this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
++
++				/*Convert that to enthalpy for the enthalpy model*/
++				IssmDouble enthalpy[6];
++				GetInputListOnVertices(&enthalpy[0],EnthalpyEnum);
++				ThermalToEnthalpy(&enthalpy[3],yearlytemperatures[3],0.,0.);
++				ThermalToEnthalpy(&enthalpy[4],yearlytemperatures[3],0.,0.);
++				ThermalToEnthalpy(&enthalpy[5],yearlytemperatures[3],0.,0.);
++				this->inputs->AddInput(new PentaInput(EnthalpyEnum,&enthalpy[0],P1Enum));
++			}
++			this->inputs->AddInput(new PentaInput(SmbMassBalanceEnum,&agd[0],P1Enum));
++			this->inputs->AddInput(new PentaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
++			this->InputExtrude(TemperaturePDDEnum,-1);
++			this->InputExtrude(SmbMassBalanceEnum,-1);
++			break;
+ 		case TetraEnum: 
+-		        if(IsOnSurface()){
+-		              GetInputListOnVertices(&s[0],TemperatureEnum);
+-		              yearlytemperatures[0] = s[0];
+-		              yearlytemperatures[1] = s[1];
+-		              yearlytemperatures[2] = s[2];
+-		              this->inputs->AddInput(new TetraInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
+-		        }
+-		        this->inputs->AddInput(new TetraInput(SmbMassBalanceEnum,&agd[0],P1Enum));
+-		        this->inputs->AddInput(new TetraInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
+-		        this->InputExtrude(TemperaturePDDEnum,-1);
+-		        this->InputExtrude(SmbMassBalanceEnum,-1);
+-		        break;
++			if(IsOnSurface()){
++				GetInputListOnVertices(&s[0],TemperatureEnum);
++				yearlytemperatures[0] = s[0];
++				yearlytemperatures[1] = s[1];
++				yearlytemperatures[2] = s[2];
++				this->inputs->AddInput(new TetraInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
++			}
++			this->inputs->AddInput(new TetraInput(SmbMassBalanceEnum,&agd[0],P1Enum));
++			this->inputs->AddInput(new TetraInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
++			this->InputExtrude(TemperaturePDDEnum,-1);
++			this->InputExtrude(SmbMassBalanceEnum,-1);
++			break;
+ 		default: _error_("Not implemented yet");
+ 	}
+ 	// this->inputs->AddInput(NewTemperatureInput);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21550-21551.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21550-21551.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21550-21551.diff	(revision 21726)
@@ -0,0 +1,378 @@
+Index: ../trunk-jpl/src/m/classes/frictionjosh.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/frictionjosh.m	(revision 21550)
++++ ../trunk-jpl/src/m/classes/frictionjosh.m	(revision 21551)
+@@ -6,12 +6,12 @@
+ classdef frictionjosh
+ 	properties (SetAccess=public) 
+ 		coefficient = NaN;
+-		temperature = NaN;
++		pressure_adjusted_temperature = NaN;
+ 	end
+ 	methods
+ 		function self = extrude(self,md) % {{{
+ 			self.coefficient=project3d(md,'vector',self.coefficient,'type','node','layer',1);
+-			self.temperature=project3d(md,'vector',self.temperature,'type','node','layer',1);
++			self.pressure_adjusted_temperature=project3d(md,'vector',self.pressure_adjusted_temperature,'type','node','layer',1);
+ 		end % }}}
+ 		function self = frictionjosh(varargin) % {{{
+ 			switch nargin
+@@ -31,8 +31,8 @@
+ 			%Early return
+ 			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
+ 
+-			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
+-			md = checkfield(md,'fieldname','friction.temperature','timeseries',1,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','friction.coefficient','NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','friction.pressure_adjusted_temperature','NaN',1,'Inf',1);
+ 
+ 			%Check that temperature is provided
+ 			md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+@@ -40,13 +40,13 @@
+ 		function disp(self) % {{{
+ 			disp(sprintf('Basal shear stress parameters: tau_b = coefficient^2 * Neff ^r * |u_b|^(s-1) * u_b * 1/f(T)\n(effective stress Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p)'));
+ 			fielddisplay(self,'coefficient','friction coefficient [SI]');
+-			fielddisplay(self,'temperature','friction temperature [K]');
++			fielddisplay(self,'pressure_adjusted_temperature','friction pressure_adjusted_temperature (T - Tpmp) [K]');
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+ 
+ 			WriteData(fid,prefix,'name','md.friction.law','data',9,'format','Integer');
+ 			WriteData(fid,prefix,'class','friction','object',self,'fieldname','coefficient','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+-			WriteData(fid,prefix,'class','friction','object',self,'fieldname','temperature','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'class','friction','object',self,'fieldname','pressure_adjusted_temperature','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 		end % }}}
+ 	end
+ end
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21550)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21551)
+@@ -2032,13 +2032,17 @@
+ 				yearlytemperatures[2] = s[2];
+ 				this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
+ 
+-				/*Convert that to enthalpy for the enthalpy model*/
+-				IssmDouble enthalpy[6];
+-				GetInputListOnVertices(&enthalpy[0],EnthalpyEnum);
+-				ThermalToEnthalpy(&enthalpy[3],yearlytemperatures[3],0.,0.);
+-				ThermalToEnthalpy(&enthalpy[4],yearlytemperatures[3],0.,0.);
+-				ThermalToEnthalpy(&enthalpy[5],yearlytemperatures[3],0.,0.);
+-				this->inputs->AddInput(new PentaInput(EnthalpyEnum,&enthalpy[0],P1Enum));
++				bool isenthalpy;
++				this->parameters->FindParam(&isenthalpy,ThermalIsenthalpyEnum);
++				if(isenthalpy){
++					/*Convert that to enthalpy for the enthalpy model*/
++					IssmDouble enthalpy[6];
++					GetInputListOnVertices(&enthalpy[0],EnthalpyEnum);
++					ThermalToEnthalpy(&enthalpy[3],yearlytemperatures[3],0.,0.);
++					ThermalToEnthalpy(&enthalpy[4],yearlytemperatures[3],0.,0.);
++					ThermalToEnthalpy(&enthalpy[5],yearlytemperatures[3],0.,0.);
++					this->inputs->AddInput(new PentaInput(EnthalpyEnum,&enthalpy[0],P1Enum));
++				}
+ 			}
+ 			this->inputs->AddInput(new PentaInput(SmbMassBalanceEnum,&agd[0],P1Enum));
+ 			this->inputs->AddInput(new PentaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
+Index: ../trunk-jpl/src/c/classes/Loads/Friction.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 21550)
++++ ../trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 21551)
+@@ -246,6 +246,9 @@
+ 		case 8:
+ 			GetAlpha2Sommers(palpha2,gauss);
+ 			break;
++		case 9:
++			GetAlpha2Josh(palpha2,gauss);
++			break;
+ 	  default:
+ 			_error_("Friction law "<< this->law <<" not supported");
+ 	}
+@@ -462,6 +465,47 @@
+ 	/*Assign output pointers:*/
+ 	*palpha2=alpha2;
+ }/*}}}*/
++void Friction::GetAlpha2Josh(IssmDouble* palpha2, Gauss* gauss){/*{{{*/
++	/*Here, we want to parameterize the friction as a function of temperature
++	 *
++	 * alpha2 = alpha2_viscous * 1/f(T)
++	 *
++	 * where f(T) = exp((T-Tpmp)/gamma)
++	 */
++
++	/*Intermediaries: */
++	IssmDouble  T,Tpmp,deltaT,deltaTref,pressure;
++	IssmDouble  alpha2,time,gamma;
++	const IssmDouble yts = 365*24*3600.;
++
++	/*Get viscous part*/
++	this->GetAlpha2Viscous(&alpha2,gauss);
++
++	/*Get delta Refs*/
++	element->GetInputValue(&deltaTref,gauss,FrictionPressureAdjustedTemperatureEnum);
++
++	/*Compute delta T*/
++	element->GetInputValue(&T,gauss,TemperatureEnum);
++	element->GetInputValue(&pressure,gauss,PressureEnum);
++	Tpmp = element->TMeltingPoint(pressure);
++	deltaT = T-Tpmp;
++
++	/*Compute gamma*/
++	element->parameters->FindParam(&time,TimeEnum);
++	if(time<25e3*yts){
++		gamma = 10.;
++	}
++	else{
++		gamma = 5.;
++	}
++	gamma = 5.;
++
++	/*Compute scaling parameter*/
++	alpha2 = alpha2 * exp((deltaTref - deltaT)/(2*gamma));
++
++	/*Assign output pointers:*/
++	*palpha2=alpha2;
++}/*}}}*/
+ void Friction::GetAlpha2Viscous(IssmDouble* palpha2, Gauss* gauss){/*{{{*/
+ 
+ 	/*This routine calculates the basal friction coefficient 
+Index: ../trunk-jpl/src/c/classes/Loads/Friction.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Loads/Friction.h	(revision 21550)
++++ ../trunk-jpl/src/c/classes/Loads/Friction.h	(revision 21551)
+@@ -35,6 +35,7 @@
+ 		void  GetAlpha2(IssmDouble* palpha2,Gauss* gauss);
+ 		void  GetAlpha2Coulomb(IssmDouble* palpha2,Gauss* gauss);
+ 		void  GetAlpha2Hydro(IssmDouble* palpha2,Gauss* gauss);
++		void  GetAlpha2Josh(IssmDouble* palpha2,Gauss* gauss);
+ 		void  GetAlpha2Sommers(IssmDouble* palpha2,Gauss* gauss);
+ 		void  GetAlpha2Temp(IssmDouble* palpha2,Gauss* gauss);
+ 		void  GetAlpha2Viscous(IssmDouble* palpha2,Gauss* gauss);
+Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21550)
++++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21551)
+@@ -822,6 +822,10 @@
+ 			iomodel->FetchDataToInput(elements,"md.friction.p",FrictionPEnum);
+ 			iomodel->FetchDataToInput(elements,"md.friction.q",FrictionQEnum);
+ 			break;
++		case 9:
++			iomodel->FetchDataToInput(elements,"md.friction.coefficient",FrictionCoefficientEnum);
++			iomodel->FetchDataToInput(elements,"md.friction.pressure_adjusted_temperature",FrictionPressureAdjustedTemperatureEnum);
++			break;
+ 		default:
+ 			_error_("not supported");
+ 	}
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21550)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21551)
+@@ -108,6 +108,7 @@
+ 	FrictionAsEnum,
+ 	FrictionCoefficientEnum,
+ 	FrictionCoefficientcoulombEnum,
++	FrictionPressureAdjustedTemperatureEnum,
+ 	FrictionPEnum,
+ 	FrictionQEnum,
+ 	FrictionMEnum,
+@@ -273,6 +274,9 @@
+ 	MaterialsMantleDensityEnum,
+ 	MaterialsEarthDensityEnum,
+ 	MeshAverageVertexConnectivityEnum,
++	MeshXEnum,
++	MeshYEnum,
++	MeshZEnum,
+ 	MeshElementsEnum,
+ 	MeshNumberofelementsEnum,
+ 	MeshNumberoflayersEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21550)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21551)
+@@ -114,6 +114,7 @@
+ 		case FrictionAsEnum : return "FrictionAs";
+ 		case FrictionCoefficientEnum : return "FrictionCoefficient";
+ 		case FrictionCoefficientcoulombEnum : return "FrictionCoefficientcoulomb";
++		case FrictionPressureAdjustedTemperatureEnum : return "FrictionPressureAdjustedTemperature";
+ 		case FrictionPEnum : return "FrictionP";
+ 		case FrictionQEnum : return "FrictionQ";
+ 		case FrictionMEnum : return "FrictionM";
+@@ -279,6 +280,9 @@
+ 		case MaterialsMantleDensityEnum : return "MaterialsMantleDensity";
+ 		case MaterialsEarthDensityEnum : return "MaterialsEarthDensity";
+ 		case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity";
++		case MeshXEnum : return "MeshX";
++		case MeshYEnum : return "MeshY";
++		case MeshZEnum : return "MeshZ";
+ 		case MeshElementsEnum : return "MeshElements";
+ 		case MeshNumberofelementsEnum : return "MeshNumberofelements";
+ 		case MeshNumberoflayersEnum : return "MeshNumberoflayers";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21550)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21551)
+@@ -114,6 +114,7 @@
+ 	      else if (strcmp(name,"FrictionAs")==0) return FrictionAsEnum;
+ 	      else if (strcmp(name,"FrictionCoefficient")==0) return FrictionCoefficientEnum;
+ 	      else if (strcmp(name,"FrictionCoefficientcoulomb")==0) return FrictionCoefficientcoulombEnum;
++	      else if (strcmp(name,"FrictionPressureAdjustedTemperature")==0) return FrictionPressureAdjustedTemperatureEnum;
+ 	      else if (strcmp(name,"FrictionP")==0) return FrictionPEnum;
+ 	      else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
+ 	      else if (strcmp(name,"FrictionM")==0) return FrictionMEnum;
+@@ -135,11 +136,11 @@
+ 	      else if (strcmp(name,"EffectivePressure")==0) return EffectivePressureEnum;
+ 	      else if (strcmp(name,"EplHead")==0) return EplHeadEnum;
+ 	      else if (strcmp(name,"EplHeadOld")==0) return EplHeadOldEnum;
+-	      else if (strcmp(name,"EplHeadSlopeX")==0) return EplHeadSlopeXEnum;
+          else stage=2;
+    }
+    if(stage==2){
+-	      if (strcmp(name,"EplHeadSlopeY")==0) return EplHeadSlopeYEnum;
++	      if (strcmp(name,"EplHeadSlopeX")==0) return EplHeadSlopeXEnum;
++	      else if (strcmp(name,"EplHeadSlopeY")==0) return EplHeadSlopeYEnum;
+ 	      else if (strcmp(name,"EplZigZagCounter")==0) return EplZigZagCounterEnum;
+ 	      else if (strcmp(name,"HydrologydcMaxIter")==0) return HydrologydcMaxIterEnum;
+ 	      else if (strcmp(name,"HydrologydcRelTol")==0) return HydrologydcRelTolEnum;
+@@ -258,11 +259,11 @@
+ 	      else if (strcmp(name,"CalvingLevermann")==0) return CalvingLevermannEnum;
+ 	      else if (strcmp(name,"CalvingDev")==0) return CalvingDevEnum;
+ 	      else if (strcmp(name,"CalvingMinthickness")==0) return CalvingMinthicknessEnum;
+-	      else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum;
+          else stage=3;
+    }
+    if(stage==3){
+-	      if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
++	      if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum;
++	      else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
+ 	      else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
+ 	      else if (strcmp(name,"CalvingdevCoeff")==0) return CalvingdevCoeffEnum;
+ 	      else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
+@@ -285,6 +286,9 @@
+ 	      else if (strcmp(name,"MaterialsMantleDensity")==0) return MaterialsMantleDensityEnum;
+ 	      else if (strcmp(name,"MaterialsEarthDensity")==0) return MaterialsEarthDensityEnum;
+ 	      else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;
++	      else if (strcmp(name,"MeshX")==0) return MeshXEnum;
++	      else if (strcmp(name,"MeshY")==0) return MeshYEnum;
++	      else if (strcmp(name,"MeshZ")==0) return MeshZEnum;
+ 	      else if (strcmp(name,"MeshElements")==0) return MeshElementsEnum;
+ 	      else if (strcmp(name,"MeshNumberofelements")==0) return MeshNumberofelementsEnum;
+ 	      else if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
+@@ -378,14 +382,14 @@
+ 	      else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
+ 	      else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum;
+ 	      else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum;
+-	      else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
++         else stage=4;
++   }
++   if(stage==4){
++	      if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
+ 	      else if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
+ 	      else if (strcmp(name,"SmbECini")==0) return SmbECiniEnum;
+ 	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
+-         else stage=4;
+-   }
+-   if(stage==4){
+-	      if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
++	      else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
+ 	      else if (strcmp(name,"SmbTini")==0) return SmbTiniEnum;
+ 	      else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum;
+ 	      else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum;
+@@ -501,14 +505,14 @@
+ 	      else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
+-	      else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
++         else stage=5;
++   }
++   if(stage==5){
++	      if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
+ 	      else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
+ 	      else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
+-         else stage=5;
+-   }
+-   if(stage==5){
+-	      if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
++	      else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
+ 	      else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
+ 	      else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceAbsMisfit")==0) return SurfaceAbsMisfitEnum;
+@@ -624,14 +628,14 @@
+ 	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
+ 	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
+ 	      else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum;
+-	      else if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum;
++         else stage=6;
++   }
++   if(stage==6){
++	      if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum;
+ 	      else if (strcmp(name,"Outputdefinition37")==0) return Outputdefinition37Enum;
+ 	      else if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum;
+ 	      else if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum;
+-         else stage=6;
+-   }
+-   if(stage==6){
+-	      if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum;
++	      else if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum;
+ 	      else if (strcmp(name,"Outputdefinition41")==0) return Outputdefinition41Enum;
+ 	      else if (strcmp(name,"Outputdefinition42")==0) return Outputdefinition42Enum;
+ 	      else if (strcmp(name,"Outputdefinition43")==0) return Outputdefinition43Enum;
+@@ -747,14 +751,14 @@
+ 	      else if (strcmp(name,"Sset")==0) return SsetEnum;
+ 	      else if (strcmp(name,"Dense")==0) return DenseEnum;
+ 	      else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;
+-	      else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;
++         else stage=7;
++   }
++   if(stage==7){
++	      if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;
+ 	      else if (strcmp(name,"Seq")==0) return SeqEnum;
+ 	      else if (strcmp(name,"Mpi")==0) return MpiEnum;
+ 	      else if (strcmp(name,"Mumps")==0) return MumpsEnum;
+-         else stage=7;
+-   }
+-   if(stage==7){
+-	      if (strcmp(name,"Gsl")==0) return GslEnum;
++	      else if (strcmp(name,"Gsl")==0) return GslEnum;
+ 	      else if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
+ 	      else if (strcmp(name,"BuddJacka")==0) return BuddJackaEnum;
+ 	      else if (strcmp(name,"CuffeyTemperate")==0) return CuffeyTemperateEnum;
+@@ -870,14 +874,14 @@
+ 	      else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
+ 	      else if (strcmp(name,"OptionCell")==0) return OptionCellEnum;
+ 	      else if (strcmp(name,"OptionStruct")==0) return OptionStructEnum;
+-	      else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
++         else stage=8;
++   }
++   if(stage==8){
++	      if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
+ 	      else if (strcmp(name,"AdjointBalancethickness2Analysis")==0) return AdjointBalancethickness2AnalysisEnum;
+ 	      else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
+ 	      else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum;
+-         else stage=8;
+-   }
+-   if(stage==8){
+-	      if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
++	      else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
+ 	      else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
+ 	      else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
+ 	      else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
+@@ -993,14 +997,14 @@
+ 	      else if (strcmp(name,"Melange")==0) return MelangeEnum;
+ 	      else if (strcmp(name,"Water")==0) return WaterEnum;
+ 	      else if (strcmp(name,"DataSet")==0) return DataSetEnum;
+-	      else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
++         else stage=9;
++   }
++   if(stage==9){
++	      if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
+ 	      else if (strcmp(name,"Loads")==0) return LoadsEnum;
+ 	      else if (strcmp(name,"Materials")==0) return MaterialsEnum;
+ 	      else if (strcmp(name,"Nodes")==0) return NodesEnum;
+-         else stage=9;
+-   }
+-   if(stage==9){
+-	      if (strcmp(name,"Contours")==0) return ContoursEnum;
++	      else if (strcmp(name,"Contours")==0) return ContoursEnum;
+ 	      else if (strcmp(name,"Parameters")==0) return ParametersEnum;
+ 	      else if (strcmp(name,"Vertices")==0) return VerticesEnum;
+ 	      else if (strcmp(name,"Results")==0) return ResultsEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21551-21552.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21551-21552.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21551-21552.diff	(revision 21726)
@@ -0,0 +1,26 @@
+Index: ../trunk-jpl/src/m/dev/issmversion.py
+===================================================================
+--- ../trunk-jpl/src/m/dev/issmversion.py	(revision 21551)
++++ ../trunk-jpl/src/m/dev/issmversion.py	(revision 21552)
+@@ -14,7 +14,7 @@
+ print '(website: '+IssmConfig('PACKAGE_URL')[0]+' contact: '+IssmConfig('PACKAGE_BUGREPORT')[0]+')'
+ print ' '
+ print 'Build date: '+IssmConfig('PACKAGE_BUILD_DATE')[0]
+-print 'Copyright (c) 2009-2016 California Institute of Technology'
++print 'Copyright (c) 2009-2017 California Institute of Technology'
+ print ' '
+ print '    to get started type: issmdoc'
+ print ' '
+Index: ../trunk-jpl/src/m/dev/issmversion.m
+===================================================================
+--- ../trunk-jpl/src/m/dev/issmversion.m	(revision 21551)
++++ ../trunk-jpl/src/m/dev/issmversion.m	(revision 21552)
+@@ -16,7 +16,7 @@
+ disp(['Build date: ' IssmConfig('PACKAGE_BUILD_DATE')]);
+ disp(['Compiled on ' IssmConfig('HOST_VENDOR') ' ' IssmConfig('HOST_OS') ' ' IssmConfig('HOST_ARCH') ' by ' IssmConfig('USER_NAME')]);
+ disp([' ']);
+-disp(['Copyright (c) 2009-2016 California Institute of Technology']);
++disp(['Copyright (c) 2009-2017 California Institute of Technology']);
+ disp([' ']);
+ disp(['    to get started type: issmdoc']);
+ disp([' ']);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21552-21553.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21552-21553.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21552-21553.diff	(revision 21726)
@@ -0,0 +1,34 @@
+Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21552)
++++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21553)
+@@ -584,6 +584,29 @@
+ 					}
+ 				}
+ 				break;
++			case P1xP2Enum:
++				for(i=0;i<iomodel->numberofvertices;i++){
++					if((iomodel->my_vertices[i])){
++						if (!xIsNan<IssmDouble>(spcdata[i])){
++							constraints->AddObject(new SpcDynamic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,dof,analysis_type));
++							count++;
++						}
++					}
++				}
++				for(i=0;i<iomodel->numberofedges;i++){
++					if(iomodel->edges[i*3+2]==2){
++						if(my_edges[i]){
++							v1 = iomodel->edges[3*i+0]-1;
++							v2 = iomodel->edges[3*i+1]-1;
++							if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){
++								constraints->AddObject(new SpcDynamic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+i+1,
++												dof,analysis_type));
++								count++;
++							}
++						}
++					}
++				}
++				break;
+ 			default:
+ 				_error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
+ 		}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21553-21554.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21553-21554.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21553-21554.diff	(revision 21726)
@@ -0,0 +1,85 @@
+Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21553)
++++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21554)
+@@ -561,16 +561,79 @@
+ void IoModelToDynamicConstraintsx(Constraints* constraints,IoModel* iomodel,IssmDouble* spcdata,int M,int N,int analysis_type,int finite_element,int dof){/*{{{*/
+ 
+ 	/*intermediary: */
+-	int i,count;
++	int         i,j,count,elementnbv,numfacevertices;
++	IssmDouble  value;
++	IssmDouble *times            = NULL;
++	IssmDouble *values           = NULL;
++	bool        spcpresent       = false;
+ 
++	/*Higher-order finite elements*/
++	int   v1,v2;
++	bool *my_edges = NULL;
++	bool *my_faces = NULL;
++	bool *boundaryedge = NULL;
++
+ 	switch(finite_element){
+ 		case P1Enum: 
+ 			/*Nothing else to do*/
+ 			break;
++		case P1bubbleEnum:
++			switch(iomodel->meshelementtype){
++				case TriaEnum:  elementnbv = 3; break;
++				case TetraEnum: elementnbv = 4; break;
++				case PentaEnum: elementnbv = 6; break;
++				default: _error_("mesh type not supported yet");
++			}
++			break;
++		case P1bubblecondensedEnum: 
++			/*Nothing else to do*/
++			break;
++		case P1xP2Enum:
++			EdgesPartitioning(&my_edges,iomodel);
++			break;
++		case P1xP3Enum:
++			EdgesPartitioning(&my_edges,iomodel);
++			break;
++		case P2xP1Enum:
++			EdgesPartitioning(&my_edges,iomodel);
++			break;
++		case P2Enum:
++			EdgesPartitioning(&my_edges,iomodel);
++			if(iomodel->meshelementtype==PentaEnum){
++				FacesPartitioning(&my_faces,iomodel);
++			}
++			EdgeOnBoundaryFlags(&boundaryedge,iomodel);
++			break;
++		case P2bubbleEnum:
++			EdgesPartitioning(&my_edges,iomodel);
++			if(iomodel->meshelementtype==PentaEnum){
++				FacesPartitioning(&my_faces,iomodel);
++			}
++			EdgeOnBoundaryFlags(&boundaryedge,iomodel);
++			switch(iomodel->meshelementtype){
++				case TriaEnum:  elementnbv = 3; break;
++				case TetraEnum: elementnbv = 4; break;
++				case PentaEnum: elementnbv = 6; break;
++				default: _error_("mesh type not supported yet");
++			}
++			break;
++		case P2xP4Enum:
++			EdgesPartitioning(&my_edges,iomodel);
++			FacesPartitioning(&my_faces,iomodel);
++			break;
+ 		default:
+ 			_error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
+ 	}
+ 
++
++	switch(finite_element){
++		case P1Enum: 
++			/*Nothing else to do*/
++			break;
++		default:
++			_error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
++	}
++
+ 	count=0;
+ 	if(M==iomodel->numberofvertices){
+ 		switch(finite_element){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21554-21555.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21554-21555.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21554-21555.diff	(revision 21726)
@@ -0,0 +1,20 @@
+Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21554)
++++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21555)
+@@ -625,15 +625,6 @@
+ 			_error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
+ 	}
+ 
+-
+-	switch(finite_element){
+-		case P1Enum: 
+-			/*Nothing else to do*/
+-			break;
+-		default:
+-			_error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
+-	}
+-
+ 	count=0;
+ 	if(M==iomodel->numberofvertices){
+ 		switch(finite_element){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21555-21556.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21555-21556.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21555-21556.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21555)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21556)
+@@ -208,6 +208,10 @@
+ 			iomodel->FetchDataToInput(elements,"md.initialization.pressure",PressureEnum);
+ 			iomodel->FetchDataToInput(elements,"md.initialization.temperature",TemperatureEnum);
+ 			break;
++		case 9:
++			iomodel->FetchDataToInput(elements,"md.friction.coefficient",FrictionCoefficientEnum);
++			iomodel->FetchDataToInput(elements,"md.friction.pressure_adjusted_temperature",FrictionPressureAdjustedTemperatureEnum);
++			break;
+ 		default:
+ 			_error_("not supported");
+ 	}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21556-21557.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21556-21557.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21556-21557.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21556)
++++ ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21557)
+@@ -1115,7 +1115,7 @@
+ 			indices[0] = 3;
+ 			indices[1] = 4;
+ 			indices[2] = 5;
+-			return;
++			break;
+ 		case P2Enum:
+ 			numindices = 6;
+ 			indices    = xNew<int>(numindices);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21557-21558.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21557-21558.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21557-21558.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21557)
++++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21558)
+@@ -825,6 +825,8 @@
+ 		case 9:
+ 			iomodel->FetchDataToInput(elements,"md.friction.coefficient",FrictionCoefficientEnum);
+ 			iomodel->FetchDataToInput(elements,"md.friction.pressure_adjusted_temperature",FrictionPressureAdjustedTemperatureEnum);
++			InputUpdateFromConstantx(elements,1.,FrictionPEnum);
++			InputUpdateFromConstantx(elements,1.,FrictionQEnum);
+ 			break;
+ 		default:
+ 			_error_("not supported");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21558-21559.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21558-21559.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21558-21559.diff	(revision 21726)
@@ -0,0 +1,16 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21558)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21559)
+@@ -2039,8 +2039,9 @@
+ 					IssmDouble enthalpy[6];
+ 					GetInputListOnVertices(&enthalpy[0],EnthalpyEnum);
+ 					ThermalToEnthalpy(&enthalpy[3],yearlytemperatures[3],0.,0.);
+-					ThermalToEnthalpy(&enthalpy[4],yearlytemperatures[3],0.,0.);
+-					ThermalToEnthalpy(&enthalpy[5],yearlytemperatures[3],0.,0.);
++					ThermalToEnthalpy(&enthalpy[4],yearlytemperatures[4],0.,0.);
++					ThermalToEnthalpy(&enthalpy[5],yearlytemperatures[5],0.,0.);
++					printarray(enthalpy,1,6);
+ 					this->inputs->AddInput(new PentaInput(EnthalpyEnum,&enthalpy[0],P1Enum));
+ 				}
+ 			}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21559-21560.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21559-21560.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21559-21560.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21559)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21560)
+@@ -50,7 +50,7 @@
+ 	}
+ 
+ 	if(isdynamic){
+-		IoModelToDynamicConstraintsx(constraints,iomodel,"md.thermal.spctemperature",ThermalAnalysisEnum,finiteelement);
++		IoModelToDynamicConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement);
+ 	}
+ 	else{
+ 		IoModelToConstraintsx(constraints,iomodel,spcvector,M,N,EnthalpyAnalysisEnum,finiteelement);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21560-21561.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21560-21561.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21560-21561.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21560)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21561)
+@@ -2041,7 +2041,6 @@
+ 					ThermalToEnthalpy(&enthalpy[3],yearlytemperatures[3],0.,0.);
+ 					ThermalToEnthalpy(&enthalpy[4],yearlytemperatures[4],0.,0.);
+ 					ThermalToEnthalpy(&enthalpy[5],yearlytemperatures[5],0.,0.);
+-					printarray(enthalpy,1,6);
+ 					this->inputs->AddInput(new PentaInput(EnthalpyEnum,&enthalpy[0],P1Enum));
+ 				}
+ 			}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21561-21562.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21561-21562.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21561-21562.diff	(revision 21726)
@@ -0,0 +1,183 @@
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21561)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21562)
+@@ -166,8 +166,19 @@
+ 			if(VerboseSolution()) _printf0_("   checkpointing model \n");
+ 			femmodel->CheckPoint();
+ 		}
++
++		/*Adaptive mesh refinement*/
++		#ifdef _HAVE_NEOPZ_
++		int isamr=true;
++		if(isamr){
++			FemModel* newfemmodel = femmodel->ReMesh();
++			delete femmodel;
++			femmodel = newfemmodel;
++		}
++		#endif
++	
+ 	}
+-
++	
+ 	femmodel->RequestedDependentsx();
+ 
+ 	/*Free ressources:*/	
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21561)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21562)
+@@ -56,7 +56,8 @@
+     
+ 	/*General methods*/
+ 	void CleanUp();																			// Clean all attributes
+-   void SetHMax(int &h);                                                   // Define the max level of refinement
++	void Initialize();																		// Initialize the attributes with NULL and values out of usually range
++	void SetHMax(int &h);                                                   // Define the max level of refinement
+    void SetElementWidth(int &width);                                       // Define elements width
+ 	void ExecuteRefinement(int &type_process,double *vx,double *vy,double *masklevelset,int &nvertices,int &nelements,int &nsegments,double** px,double** py,double** pz,int** pelements,int** psegments=NULL);					// A new mesh will be created and refined. This returns the new mesh
+ 	void CreateInitialMesh(int &nvertices,int &nelements,int &nsegments,int &width,double* x,double* y,double* z,int* elements,int* segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21561)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21562)
+@@ -12,48 +12,51 @@
+ 
+ /*Constructor, copy, clean up and destructor*/
+ AdaptiveMeshRefinement::AdaptiveMeshRefinement(){/*{{{*/
+-
+-    /*Set pointers to NULL*/
+-    this->fathermesh    = NULL;
+-    this->previousmesh  = NULL;
+-    this->hmax          = -1;
+-    this->elementswidth = -1;
+-
++	this->Initialize();
+ }
+ /*}}}*/
+ AdaptiveMeshRefinement::AdaptiveMeshRefinement(const AdaptiveMeshRefinement &cp){/*{{{*/
+-    this->operator =(cp);
++   this->Initialize(); 
++	this->operator =(cp);
+ }
+ /*}}}*/
+ AdaptiveMeshRefinement & AdaptiveMeshRefinement::operator =(const AdaptiveMeshRefinement &cp){/*{{{*/
+ 
+-    /*Clean all attributes*/
+-    this->CleanUp();
++	/*Clean all attributes*/
++	this->CleanUp();
+ 
+-    /*Copy all data*/
+-    this->fathermesh    = cp.fathermesh;
+-    this->previousmesh  = cp.previousmesh;
+-    this->hmax          = cp.hmax;
+-    this->elementswidth = cp.elementswidth;
++	/*Copy all data*/
++	this->fathermesh    = new TPZGeoMesh(*cp.fathermesh);
++	this->previousmesh  = new TPZGeoMesh(*cp.previousmesh); 
++	this->hmax          = cp.hmax;
++	this->elementswidth = cp.elementswidth;
++	return *this;
+ 
+-    return *this;
+-
+ }
+ /*}}}*/
+ AdaptiveMeshRefinement::~AdaptiveMeshRefinement(){/*{{{*/
+-    this->CleanUp();
++	this->CleanUp();
++	gRefDBase.clear();
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::CleanUp(){/*{{{*/
+ 
+     /*Verify and delete all data*/
+-    if(this->fathermesh)    delete this->fathermesh;
+-    if(this->previousmesh)  delete this->previousmesh;
+-	 this->hmax=-1;
+-	 this->elementswidth=-1;
+-	 gRefDBase.clear();
++	if(this->fathermesh)    delete this->fathermesh;
++   if(this->previousmesh)  delete this->previousmesh;
++	this->hmax=-1;
++	this->elementswidth=-1;
+ }
+ /*}}}*/
++void AdaptiveMeshRefinement::Initialize(){/*{{{*/
++
++	/*Set pointers to NULL*/
++	this->fathermesh    = NULL;
++	this->previousmesh  = NULL;
++	this->hmax          = -1;
++	this->elementswidth = -1;
++}
++/*}}}*/
+ int AdaptiveMeshRefinement::ClassId() const{/*{{{*/
+     return 13829430; //Antartic area with ice shelves (km^2)
+ }
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21561)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21562)
+@@ -81,8 +81,6 @@
+ 
+ 	#ifdef _HAVE_NEOPZ_
+ 	this->InitializeAdaptiveRefinement();
+-	FemModel *Test=this->ReMesh();//itapopo: just to test!;;
+-	//if(IssmComm::GetRank()==0) Test->elements->DeepEcho();
+ 	#endif
+ 
+ 	/*Free resources */
+@@ -2941,7 +2939,7 @@
+ 	/*Just CPU #0 should keep AMR object*/
+    if(my_rank==0){ 
+ 		this->amr = new AdaptiveMeshRefinement();
+-		int hmax	 = 3; //itapopo: it must be defined by interface. Using 2 just to test
++		int hmax	 = 0; //itapopo: it must be defined by interface. Using 2 just to test
+ 		this->amr->SetHMax(hmax); //Set max level of refinement
+ 		this->amr->CreateInitialMesh(numberofvertices,numberofelements,numberofsegments,elementswidth,x,y,z,elements,NULL);
+ 	}
+@@ -2993,10 +2991,14 @@
+ 	else{
+ 		output->loads=new Loads();
+ 	}
+-	
+-	//itapopo
+-	// output->results=static_cast<Results*>(this->results->Copy());
+-	
++	output->results=new Results();
++	output->amr = NULL;
++	if(IssmComm::GetRank()==0){
++		if(!this->amr) _error_("this->amr is NULL!");
++		output->amr = new AdaptiveMeshRefinement(*this->amr);
++		if(!output->amr) _error_("output->amr is NULL!");
++	}
++
+ 	/*Create vertices*/
+ 	output->vertices=new Vertices();
+ 	this->CreateVertices(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,my_vertices,newx,newy,newz,output->vertices);
+@@ -3015,7 +3017,6 @@
+ 	output->nodes=new Nodes();
+ 	
+ 	int nodecounter=0;
+-	
+ 	for(int i=0;i<output->nummodels;i++){//create nodes for each analysis in analysis_type_list
+ 	
+ 		int analysis_enum = output->analysis_type_list[i];
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21561)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21562)
+@@ -1581,7 +1581,10 @@
+ 				name==FrictionPEnum ||
+ 				name==FrictionQEnum ||
+ 				name==LoadingforceXEnum ||
+-				name==LoadingforceYEnum
++				name==LoadingforceYEnum ||
++				name==VelEnum ||
++				name==VxPicardEnum ||
++				name==VyPicardEnum
+ 
+ 				) {
+ 					return true;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21562-21563.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21562-21563.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21562-21563.diff	(revision 21726)
@@ -0,0 +1,16 @@
+Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21562)
++++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21563)
+@@ -668,4 +668,11 @@
+ 	else{
+ 		_error_("Size of spc field not supported");
+ 	}
++
++	/*Free ressources:*/
++	xDelete<IssmDouble>(times);
++	xDelete<IssmDouble>(values);
++	xDelete<bool>(my_edges);
++	xDelete<bool>(my_faces);
++	xDelete<bool>(boundaryedge);
+ }/*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21563-21564.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21563-21564.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21563-21564.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 21563)
++++ ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 21564)
+@@ -432,6 +432,7 @@
+ 	switch(this->interpolation_type){
+ 		case P1Enum:
+ 		case P1bubbleEnum:
++		case P1xP2Enum:
+ 		case P2Enum:
+ 			  {
+ 				this->interpolation_type=P1Enum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21564-21565.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21564-21565.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21564-21565.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21564)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21565)
+@@ -211,6 +211,8 @@
+ 		case 9:
+ 			iomodel->FetchDataToInput(elements,"md.friction.coefficient",FrictionCoefficientEnum);
+ 			iomodel->FetchDataToInput(elements,"md.friction.pressure_adjusted_temperature",FrictionPressureAdjustedTemperatureEnum);
++			InputUpdateFromConstantx(elements,1.,FrictionPEnum);
++			InputUpdateFromConstantx(elements,1.,FrictionQEnum);
+ 			break;
+ 		default:
+ 			_error_("not supported");
Index: /issm/oecreview/Archive/21337-21723/ISSM-21565-21566.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21565-21566.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21565-21566.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/jenkins/windows
+===================================================================
+--- ../trunk-jpl/jenkins/windows	(revision 21565)
++++ ../trunk-jpl/jenkins/windows	(revision 21566)
+@@ -13,7 +13,7 @@
+    --disable-static \
+ 	--enable-standalone-libraries \
+ 	--with-fortran=no  \
+-	--without-Gia \
++	--without-GiaIvins \
+ 	--without-kriging \
+ 	--without-kml \
+ 	--with-matlab-dir=$MATLAB_PATH \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21568-21569.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21568-21569.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21568-21569.diff	(revision 21726)
@@ -0,0 +1,33 @@
+Index: ../trunk-jpl/externalpackages/adjoinablempi/install.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adjoinablempi/install.sh	(revision 21568)
++++ ../trunk-jpl/externalpackages/adjoinablempi/install.sh	(revision 21569)
+@@ -5,7 +5,7 @@
+ rm -rf src  install
+ 
+ #Mercurial cloning: 
+-hg clone http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
++hg clone -r 268 http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
+ 
+ #Configure adjoinablempi
+ cd src
+Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp
+===================================================================
+--- ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp	(revision 21568)
++++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp	(revision 21569)
+@@ -46,8 +46,14 @@
+ 	nKUF=KUF->Norm(NORM_TWO);
+ 	nF=pf->Norm(NORM_TWO);
+ 	solver_residue=nKUF/nF;
+-	if(isnan(solver_residue_threshold) == false && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
+ 
++#ifdef _HAVE_ADOLC_
++	if(!isnan(solver_residue_threshold.getValue()) && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
++#else
++	if(!isnan(solver_residue_threshold) && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
++#endif
++
++
+ 	//clean up
+ 	delete KU; delete KUF;
+ 	delete Kff; delete pf; delete df;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21569-21570.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21569-21570.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21569-21570.diff	(revision 21726)
@@ -0,0 +1,17 @@
+Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp
+===================================================================
+--- ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp	(revision 21569)
++++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_linear.cpp	(revision 21570)
+@@ -47,11 +47,7 @@
+ 	nF=pf->Norm(NORM_TWO);
+ 	solver_residue=nKUF/nF;
+ 
+-#ifdef _HAVE_ADOLC_
+-	if(!isnan(solver_residue_threshold.getValue()) && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
+-#else
+-	if(!isnan(solver_residue_threshold) && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
+-#endif
++	if(!xIsNan(solver_residue_threshold) && solver_residue>solver_residue_threshold)_error_("   solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue << "\n");
+ 
+ 
+ 	//clean up
Index: /issm/oecreview/Archive/21337-21723/ISSM-21570-21571.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21570-21571.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21570-21571.diff	(revision 21726)
@@ -0,0 +1,26 @@
+Index: ../trunk-jpl/jenkins/linux64_ross_ad
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_ad	(revision 21570)
++++ ../trunk-jpl/jenkins/linux64_ross_ad	(revision 21571)
+@@ -12,7 +12,7 @@
+ 				--prefix=$ISSM_DIR \
+ 				--without-kriging \
+ 				--without-kml \
+-				--without-Gia \
++				--without-GiaIvins \
+ 				--with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install \
+ 				--with-adolc-dir=$ISSM_DIR/externalpackages/adolc/install \
+ 				--with-matlab-dir=$MATLAB_PATH \
+Index: ../trunk-jpl/jenkins/linux64_ross_ampi
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_ampi	(revision 21570)
++++ ../trunk-jpl/jenkins/linux64_ross_ampi	(revision 21571)
+@@ -11,7 +11,7 @@
+ 				--disable-static \
+ 				--without-kriging \
+ 				--without-kml \
+-				--without-Gia \
++				--without-GiaIvins \
+ 				--with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install \
+ 				--with-adolc-dir=$ISSM_DIR/externalpackages/adolc/install \
+ 				--with-ampi-dir=$ISSM_DIR/externalpackages/adjoinablempi/install \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21571-21572.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21571-21572.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21571-21572.diff	(revision 21726)
@@ -0,0 +1,27 @@
+Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21571)
++++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 21572)
+@@ -527,18 +527,10 @@
+ 	water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
+ 
+ 	storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
+-	//porosity for unconfined region
+-	if (water_sheet<=0.9*sediment_thickness){
+-		sediment_storing=sediment_porosity;
+-	}
+-	//continuity ramp
+-	else if((water_sheet<sediment_thickness) && (water_sheet>0.9*sediment_thickness)){
+-		sediment_storing=(sediment_thickness-water_sheet)*(sediment_porosity-storing)/(0.1*sediment_thickness)+storing;
+-	}
+-	//storing coefficient for confined
+-	else{
+-		sediment_storing=storing;
+-	}
++	
++	//Heavyside approximation (1/(1+exp(-2kx))) with k=25 centering at thickness minus 1%
++	sediment_storing=(sediment_porosity*exp(-20.*(water_sheet-0.99*sediment_thickness))+storing)/(1+exp(-20.*(water_sheet-0.99*sediment_thickness)));
++
+ 	return sediment_storing;
+ }/*}}}*/
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21572-21573.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21572-21573.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21572-21573.diff	(revision 21726)
@@ -0,0 +1,502 @@
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21572)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21573)
+@@ -170,11 +170,7 @@
+ 		/*Adaptive mesh refinement*/
+ 		#ifdef _HAVE_NEOPZ_
+ 		int isamr=true;
+-		if(isamr){
+-			FemModel* newfemmodel = femmodel->ReMesh();
+-			delete femmodel;
+-			femmodel = newfemmodel;
+-		}
++		if(isamr) femmodel->ReMesh();
+ 		#endif
+ 	
+ 	}
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21572)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21573)
+@@ -545,10 +545,10 @@
+ 	std::string filepath	 = REFPATTERNDIR;
+    std::string filename1 = filepath + "/2D_Triang_Rib_3.rpt";
+    std::string filename2 = filepath + "/2D_Triang_Rib_4.rpt";
+-   std::string filename3 = filepath + "/2D_Triang_Rib2_Side_3_4.rpt";
+-   std::string filename4 = filepath + "/2D_Triang_Rib2_Side_3_4permuted.rpt";
+-   std::string filename5 = filepath + "/2D_Triang_Rib2_Side_3_5.rpt";
+-	std::string filename6 = filepath + "/2D_Triang_Rib2_Side_3_5permuted.rpt";
++   std::string filename3 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_4.rpt";
++   std::string filename4 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_4_permuted.rpt";
++   std::string filename5 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_5.rpt";
++	std::string filename6 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_5_permuted.rpt";
+    std::string filename7 = filepath + "/2D_Triang_Rib_5.rpt";
+ 
+    TPZAutoPointer<TPZRefPattern> refpat1 = new TPZRefPattern(filename1);
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21572)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21573)
+@@ -2933,7 +2933,7 @@
+ 
+ 	/*Get vertices coordinates of the coarse mesh (father mesh)*/
+ 	/*elements comes in Matlab indexing*/
+-	this->GetMesh(this,&x,&y,&z,&elements);
++	this->GetMesh(this->vertices,this->elements,&x,&y,&z,&elements);
+ 	
+ 	/*Create initial mesh (coarse mesh) in neopz data structure*/ 
+ 	/*Just CPU #0 should keep AMR object*/
+@@ -2952,7 +2952,7 @@
+ 
+ }
+ /*}}}*/
+-FemModel* FemModel::ReMesh(void){/*{{{*/
++void FemModel::ReMesh(void){/*{{{*/
+ 	
+ 	/*Variables*/
+ 	IssmDouble *newx			= NULL;
+@@ -2972,102 +2972,123 @@
+ 	/*Partitioning the new mesh. Maybe ElementsAndVerticesPartitioning.cpp could be modified to set this without iomodel.*/
+ 	this->ElementsAndVerticesPartitioning(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,&my_elements,&my_vertices);
+ 
+-	/*Creating new femmodel with new mesh*/
+-	FemModel* output = new FemModel(*this);
+-
+-	/*Copy basic attributes:*/
+-	output->nummodels        = this->nummodels;
+-	output->solution_type    = this->solution_type;
+-	output->analysis_counter = this->analysis_counter;
+-
+-	/*Now, deep copy arrays:*/
+-	output->analysis_type_list=xNew<int>(this->nummodels);
+-	xMemCpy<int>(output->analysis_type_list,this->analysis_type_list,this->nummodels);
+-	output->profiler=static_cast<Profiler*>(this->profiler->copy());
+-	output->parameters=static_cast<Parameters*>(this->parameters->Copy());	    
+ 	if(this->loads->Size()!=0){
+ 		_error_("not supported yet");
+ 	}
+-	else{
+-		output->loads=new Loads();
+-	}
+-	output->results=new Results();
+-	output->amr = NULL;
+-	if(IssmComm::GetRank()==0){
+-		if(!this->amr) _error_("this->amr is NULL!");
+-		output->amr = new AdaptiveMeshRefinement(*this->amr);
+-		if(!output->amr) _error_("output->amr is NULL!");
+-	}
+ 
+ 	/*Create vertices*/
+-	output->vertices=new Vertices();
+-	this->CreateVertices(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,my_vertices,newx,newy,newz,output->vertices);
++	Vertices* new_vertices=new Vertices();
++	this->CreateVertices(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,my_vertices,newx,newy,newz,new_vertices);
+  
+ 	/*Creating elements*/
+ 	/*Just Tria in this version*/
+-	output->elements=new Elements();
+-	this->CreateElements(newnumberofelements,elementswidth,newelementslist,my_elements,output->elements); 
++	Elements* new_elements=new Elements();
++	this->CreateElements(newnumberofelements,elementswidth,newelementslist,my_elements,new_elements);
+ 
+ 	/*Creating materials*/
+-	output->materials=new Materials();
+-	this->CreateMaterials(newnumberofelements,my_elements,output->materials);
++	Materials* new_materials=new Materials();
++	this->CreateMaterials(newnumberofelements,my_elements,new_materials);
+ 	
+-	/*Creating nodes*/
++	/*Creating nodes and constraints*/
+ 	/*Just SSA (2D) and P1 in this version*/
+-	output->nodes=new Nodes();
+-	
++	Nodes* new_nodes=new Nodes();
++	Constraints* new_constraints=new Constraints();
++
+ 	int nodecounter=0;
+-	for(int i=0;i<output->nummodels;i++){//create nodes for each analysis in analysis_type_list
++	int constraintcounter=0;
++	for(int i=0;i<this->nummodels;i++){//create nodes for each analysis in analysis_type_list
+ 	
+-		int analysis_enum = output->analysis_type_list[i];
++		int analysis_enum = this->analysis_type_list[i];
+ 		
+ 		/*As the domain is 2D, it is not necessary to create nodes for this analysis*/
+ 		/*itapopo must verify if domain is not 3D. Only 2D in this version!*/
+ 		if(analysis_enum==StressbalanceVerticalAnalysisEnum) continue;	    
+ 		
+-		this->CreateNodes(newnumberofvertices,my_vertices,nodecounter,analysis_enum,output->nodes);
+-		this->UpdateElements(newnumberofelements,newelementslist,my_elements,nodecounter,i,output->elements);
++		this->CreateNodes(newnumberofvertices,my_vertices,nodecounter,analysis_enum,new_nodes);
++		if(analysis_enum==StressbalanceAnalysisEnum) this->CreateConstraints(newnumberofvertices,newnumberofelements,nodecounter,constraintcounter,newx,newy,my_vertices,new_constraints);
++		this->UpdateElements(newnumberofelements,newelementslist,my_elements,nodecounter,i,new_elements);
+ 
+-		if(output->nodes->Size()) nodecounter = output->nodes->MaximumId();
++
++		if(IssmComm::GetRank()==2){
++			_printf_("New constraints: CPU 1\n");
++			//this->constraints->DeepEcho();
++			new_constraints->DeepEcho();
++			printarray(my_vertices,newnumberofvertices,1);
++			_error_("stop!");
++		}
++
++
++		if(new_nodes->Size()) nodecounter=new_nodes->MaximumId();
++		constraintcounter = new_constraints->NumberOfConstraints();
++		/*Make sure nodecounter is at least 0 (if no node exists, maxid will be -1*/
++		_assert_(nodecounter>=0);
+ 	}
+ 
+-	/*Create constraints*/
+-	output->constraints=new Constraints();
+-	this->CreateConstraints(newnumberofvertices,newnumberofelements,newx,newy,my_vertices,output->constraints);
+-	
+-	output->elements->Presort();
+-	output->nodes->Presort();
+-	output->vertices->Presort();
+-	output->loads->Presort();
+-	output->materials->Presort();
+-	output->constraints->Presort();
++	new_elements->Presort();
++	new_nodes->Presort();
++	new_vertices->Presort();
++	this->loads->Presort();
++	new_materials->Presort();
++	new_constraints->Presort();
+ 
+ 	/*reset hooks for elements, loads and nodes: */
+-	output->elements->ResetHooks();
+-	output->loads->ResetHooks();
+-	output->materials->ResetHooks();
++	new_elements->ResetHooks();
++	this->loads->ResetHooks();
++	new_materials->ResetHooks();
+ 
+ 	/*do the post-processing of the datasets to get an FemModel that can actually run analyses: */
+ 	int analysis_type;
+-	for(int i=0;i<output->nummodels;i++){
+-		analysis_type=output->analysis_type_list[i];
+-		output->SetCurrentConfiguration(analysis_type);
+-		ConfigureObjectsx(output->elements,output->loads,output->nodes,output->vertices,output->materials,output->parameters);
++	for(int i=0;i<this->nummodels;i++){
++		analysis_type=this->analysis_type_list[i];
++		//SetCurrentConfiguration(analysis_type);
++
++		this->analysis_counter=i;	
++		/*Now, plug analysis_counter and analysis_type inside the parameters: */
++		this->parameters->SetParam(this->analysis_counter,AnalysisCounterEnum);
++		this->parameters->SetParam(analysis_type,AnalysisTypeEnum);
++		this->parameters->SetParam(analysis_type,ConfigurationTypeEnum);
++
++		/*configure elements, loads and nodes, for this new analysis: */
++		new_elements->SetCurrentConfiguration(new_elements,this->loads,new_nodes,new_vertices,new_materials,this->parameters);
++		this->loads->SetCurrentConfiguration(new_elements,this->loads,new_nodes,new_vertices,new_materials,this->parameters);
++
++		/*take care of toolkits options, that depend on this analysis type (present only after model processor)*/
++		if(this->parameters->Exist(ToolkitsOptionsStringsEnum)){
++			ToolkitsOptionsFromAnalysis(this->parameters,analysis_type);
++			if(VerboseSolver()) _printf0_("      toolkits Options set for analysis type: " << EnumToStringx(analysis_type) << "\n");
++		}
++		
++		ConfigureObjectsx(new_elements,this->loads,new_nodes,new_vertices,new_materials,this->parameters);
+ 		if(i==0){ 
+-			VerticesDofx(output->vertices,output->parameters); //only call once, we only have one set of vertices
+-			//GetMaskOfIceVerticesLSMx(output); //itapopo it needs element->inputs
++			VerticesDofx(new_vertices,this->parameters); //only call once, we only have one set of vertices
+ 		}
+-		SpcNodesx(output->nodes,output->constraints,output->parameters,analysis_type);
+-		NodesDofx(output->nodes,output->parameters,analysis_type);
++		SpcNodesx(new_nodes,new_constraints,this->parameters,analysis_type);
++		NodesDofx(new_nodes,this->parameters,analysis_type);
+ 	}
+ 
+ 	/*Finally: interpolate all inputs and insert them into the new elements.*/
+-	this->InterpolateInputs(output);
+-	GetMaskOfIceVerticesLSMx(output);
++	this->InterpolateInputs(new_vertices,new_elements);
+ 
++	if(IssmComm::GetRank()==2){
++		_printf_("New constraints: CPU 1\n");
++		//this->constraints->DeepEcho();
++		new_constraints->DeepEcho();
++		_error_("stop!");
++	}
++
++
++	/*Delete old structure and set new pointers*/
++	delete this->vertices;		this->vertices		= new_vertices;
++	delete this->elements;		this->elements		= new_elements;
++	delete this->nodes;			this->nodes			= new_nodes;
++	delete this->constraints;	this->constraints	= new_constraints;
++	delete this->materials;		this->materials	= new_materials;
++	
++	GetMaskOfIceVerticesLSMx(this);
++
+ 	/*Reset current configuration: */
+-	analysis_type=output->analysis_type_list[this->analysis_counter];
+-	output->SetCurrentConfiguration(analysis_type);
++	analysis_type=this->analysis_type_list[this->analysis_counter];
++	SetCurrentConfiguration(analysis_type);
+ 
+ 	/*Cleanup*/
+ 	xDelete<IssmDouble>(newx);
+@@ -3077,11 +3098,11 @@
+ 	xDelete<int>(my_vertices);
+ 	xDelete<bool>(my_elements);
+ 
+-	return output;
++	return;
+ 
+ }
+ /*}}}*/
+-void FemModel::InterpolateInputs(FemModel* newfemmodel){/*{{{*/
++void FemModel::InterpolateInputs(Vertices* newfemmodel_vertices,Elements* newfemmodel_elements){/*{{{*/
+ 
+ 	int maxinputs = MaximumNumberOfDefinitionsEnum;
+ 
+@@ -3144,9 +3165,9 @@
+ 
+ 	/*========== Deal with P0 inputs ==========*/
+ 	int numelementsold = this->elements->NumberOfElements();
+-	int numelementsnew = newfemmodel->elements->NumberOfElements();
++	int numelementsnew = newfemmodel_elements->NumberOfElements();
+ 	int numverticesold = this->vertices->NumberOfVertices();
+-	int numverticesnew = newfemmodel->vertices->NumberOfVertices();
++	int numverticesnew = newfemmodel_vertices->NumberOfVertices();
+ 	IssmDouble* P0inputsold = xNew<IssmDouble>(numelementsold*numP0inputs);
+ 	IssmDouble* P0inputsnew = NULL;
+ 	IssmDouble* vector      = NULL;
+@@ -3185,10 +3206,10 @@
+ 	int        *Indexnew = NULL;
+ 	
+ 	/*Get the old mesh*/
+-	this->GetMesh(this,&Xold,&Yold,&Zold,&Indexold);
++	this->GetMesh(this->vertices,this->elements,&Xold,&Yold,&Zold,&Indexold);
+ 
+ 	/*Get the new mesh*/
+-	this->GetMesh(newfemmodel,&Xnew,&Ynew,&Znew,&Indexnew);
++	this->GetMesh(newfemmodel_vertices,newfemmodel_elements,&Xnew,&Ynew,&Znew,&Indexnew);
+ 
+ 	/*Calculate the center points xc and xy*/
+ 	int elementswidth = this->GetElementsWidth(); //just tria in this version
+@@ -3224,8 +3245,8 @@
+ 		for(int j=0;j<numelementsnew;j++) vector[j]=P0inputsnew[j*numP0inputs+i];//vector has values for all elements (serial)
+ 
+ 		/*Update elements from inputs: */
+-		for(int j=0;j<newfemmodel->elements->Size();j++){
+-			Element* element=xDynamicCast<Element*>(newfemmodel->elements->GetObjectByOffset(j));
++		for(int j=0;j<newfemmodel_elements->Size();j++){
++			Element* element=xDynamicCast<Element*>(newfemmodel_elements->GetObjectByOffset(j));
+ 			switch(P0input_interp[i]){	
+ 				case P0Enum:
+ 				case DoubleInputEnum:
+@@ -3254,8 +3275,12 @@
+ 		for(int j=0;j<numverticesnew;j++) vector[j]=P1inputsnew[j*numP1inputs+i];//vector has all vertices	(serial)
+ 
+ 		/*Update elements from inputs: */
+-		InputUpdateFromVectorx(newfemmodel,vector,P1input_enums[i],VertexSIdEnum);//VertexSId because vector is serial in SId indexing
+-		
++		//InputUpdateFromVectorx(newfemmodel,vector,P1input_enums[i],VertexSIdEnum);//VertexSId because vector is serial in SId indexing
++		for(int j=0;j<newfemmodel_elements->Size();j++){
++			Element* element=xDynamicCast<Element*>(newfemmodel_elements->GetObjectByOffset(j));
++			element->InputUpdateFromVector(vector,P1input_enums[i],VertexSIdEnum);
++		}
++
+ 		xDelete<IssmDouble>(vector);
+ 	}
+ 
+@@ -3510,9 +3535,10 @@
+ 	return;
+ }
+ /*}}}*/
+-void FemModel::GetMesh(FemModel* femmodel,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist){/*{{{*/
++void FemModel::GetMesh(Vertices* femmodel_vertices, Elements* femmodel_elements,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist){/*{{{*/
+ 
+-	if(!femmodel) _error_("GetMesh: NULL femmodel.");
++	if(!femmodel_vertices) _error_("GetMesh: vertices are NULL.");
++	if(!femmodel_elements) _error_("GetMesh: elements are NULL.");
+ 	
+ 	int numberofvertices, numberofelements;
+ 	int elementswidth = this->GetElementsWidth(); // just 2D mesh in this version (just tria elements)
+@@ -3522,10 +3548,10 @@
+ 	int* elementslist = NULL;
+ 	
+ 	/*Get vertices coordinates*/
+-	VertexCoordinatesx(&x, &y, &z, femmodel->vertices,false) ;
++	VertexCoordinatesx(&x, &y, &z, femmodel_vertices,false) ;
+ 
+-	numberofvertices = femmodel->vertices->NumberOfVertices();
+-	numberofelements = femmodel->elements->NumberOfElements();
++	numberofvertices = femmodel_vertices->NumberOfVertices();
++	numberofelements = femmodel_elements->NumberOfElements();
+ 	
+ 	/*Get element vertices*/
+ 	int* elem_vertices=xNew<int>(elementswidth);
+@@ -3534,8 +3560,8 @@
+ 	Vector<IssmDouble>* vid3= new Vector<IssmDouble>(numberofelements);
+ 
+ 	/*Go through elements, and for each element, get vertices*/
+-   for(int i=0;i<femmodel->elements->Size();i++){
+-    	Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++   for(int i=0;i<femmodel_elements->Size();i++){
++    	Element* element=xDynamicCast<Element*>(femmodel_elements->GetObjectByOffset(i));
+     	element->GetVerticesSidList(elem_vertices);
+     	vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
+     	vid2->SetValue(element->sid,elem_vertices[1],INS_VAL);
+@@ -3577,8 +3603,11 @@
+ 	delete vid3;
+ }
+ /*}}}*/
+-void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
++void FemModel::CreateConstraints(int newnumberofvertices,int newnumberofelements,int nodecounter,int constraintcounter,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints){/*{{{*/
+ 
++	/*itapopo ATTENTION: JUST SPCVX AND SPCVY TO TEST!!!*/
++	/*OTHERS CONSTRAINTS MUST BE IMPLEMENTED!!!*/
++	
+ 	/*Get x and y of the mesh i-1*/
+ 	int numberofvertices			= this->vertices->NumberOfVertices();
+ 	int numberofelements			= this->elements->NumberOfElements();
+@@ -3588,21 +3617,19 @@
+ 	int        *elementslist	= NULL;
+ 
+ 	/*elementslist is in Matlab indexing*/
+-	this->GetMesh(this,&x,&y,&z,&elementslist);
++	this->GetMesh(this->vertices,this->elements,&x,&y,&z,&elementslist);
+ 	
+-	/*itapopo ATTENTION: JUST SPCVX AND SPCVY TO TEST!!!*/
+-	/*OTHERS CONSTRAINTS MUST BE IMPLEMENTED!!!*/
+-
+ 	/*Get spcvx and spcvy for mesh i-1*/
+-	IssmDouble *spcvx=NULL;
+-	IssmDouble *spcvy=NULL;
+-	IssmDouble *spcvxflag=NULL;
+-	IssmDouble *spcvyflag=NULL;
+-	int numberofnodes_analysistype=this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
+-	Vector<IssmDouble>* vspcvx=new Vector<IssmDouble>(numberofnodes_analysistype);
+-	Vector<IssmDouble>* vspcvy=new Vector<IssmDouble>(numberofnodes_analysistype);
+-	Vector<IssmDouble>* vspcvxflag=new Vector<IssmDouble>(numberofnodes_analysistype);
+-	Vector<IssmDouble>* vspcvyflag=new Vector<IssmDouble>(numberofnodes_analysistype);
++	IssmDouble *spcvx						= NULL;
++	IssmDouble *spcvy						= NULL;
++	IssmDouble *spcvxflag				= NULL;
++	IssmDouble *spcvyflag				= NULL;
++	int numberofnodes_analysistype	= this->nodes->NumberOfNodes(StressbalanceAnalysisEnum);
++	Vector<IssmDouble>* vspcvx			= new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvy			= new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvxflag	= new Vector<IssmDouble>(numberofnodes_analysistype);
++	Vector<IssmDouble>* vspcvyflag	= new Vector<IssmDouble>(numberofnodes_analysistype);
++	
+ 	for(int i=0;i<numberofnodes_analysistype;i++){ 
+ 		vspcvx->SetValue(i,0.,INS_VAL);
+ 		vspcvy->SetValue(i,0.,INS_VAL);
+@@ -3611,30 +3638,47 @@
+ 	}
+ 
+ 	for(int i=0;i<this->constraints->Size();i++){
+-		SpcStatic* spc=xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
+-		int dof=spc->GetDof();
+-		int node=spc->GetNodeId();
+-		IssmDouble spcvalue=spc->GetValue(); 
+-		int nodeindex=node-1;
+-		if(dof==0) {//vx
++		SpcStatic* spc			= xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
++		int dof					= spc->GetDof();
++		int node					= spc->GetNodeId();
++		IssmDouble spcvalue	= spc->GetValue(); 
++		int nodeindex			= node-1;
++		
++		if(IssmComm::GetRank()==0)	
++		  {//itapopo
++		 if(dof==0) {//vx
++			if(IssmComm::GetRank()==0) _printf_("Node: " << nodeindex << "\tdof: " << dof << "\tspcvalue: " << spcvalue << "\n") ;
+ 			vspcvx->SetValue(nodeindex,spcvalue,INS_VAL);
+ 			vspcvxflag->SetValue(nodeindex,1,INS_VAL);
+ 		} 
+-		else if(dof==1){//vy
++		if(dof==1){//vy
+ 			vspcvy->SetValue(nodeindex,spcvalue,INS_VAL);
+ 			vspcvyflag->SetValue(nodeindex,1,INS_VAL);
+ 		}
+-		else{
+-			/*nothing here*/
+-		}
++
++		  }//itapopo
+ 	}
+ 
++	#ifdef _HAVE_PETSC_
++		_printf_("Tem PETSC\n");
++	#endif
++
+ 	/*Assemble*/
+ 	vspcvx->Assemble();
+ 	vspcvy->Assemble();
+ 	vspcvxflag->Assemble();
+ 	vspcvyflag->Assemble();
+ 
++	IssmDouble pvalue1,pvalue2;
++	vspcvx->GetValue(&pvalue1,0);
++	vspcvxflag->GetValue(&pvalue2,0);
++	if(IssmComm::GetRank()==0) _printf_("Node: " << 0 << "\tspcvalue: " << pvalue1 << "\tflag: " << pvalue2 << "\n") ;
++	vspcvx->GetValue(&pvalue1,5);
++	vspcvxflag->GetValue(&pvalue2,5);
++	if(IssmComm::GetRank()==0) _printf_("Node: " << 5 << "\tspcvalue: " << pvalue1 << "\tflag: " << pvalue2 << "\n") ;
++	
++	
++	
+ 	/*Serialize*/
+ 	spcvx		 = vspcvx->ToMPISerial();
+ 	spcvy		 = vspcvy->ToMPISerial();
+@@ -3656,10 +3700,21 @@
+ 	InterpFromMeshToMesh2dx(&newspcvy,elementslist,x,y,nods_data,nels_data,spcvy,M_data,N_data,newx,newy,N_interp,NULL);
+ 	InterpFromMeshToMesh2dx(&newspcvxflag,elementslist,x,y,nods_data,nels_data,spcvxflag,M_data,N_data,newx,newy,N_interp,NULL);
+ 	InterpFromMeshToMesh2dx(&newspcvyflag,elementslist,x,y,nods_data,nels_data,spcvyflag,M_data,N_data,newx,newy,N_interp,NULL);
+-	
+-	int nodecounter			= 0; //itapopo deve começar pelo primeiro nó do StressbalanceAnalysis
++
++	if(IssmComm::GetRank()==1){
++		_printf_("CPU 1:\n");
++		_printf_("Old spcvx:\n");
++		printarray(spcvx,nods_data,1);
++		_printf_("Old spcvxflag:\n");
++		printarray(spcvxflag,nods_data,1);
++		_error_("Stop!!");
++	}
++
++
++
++
++
+ 	int count					= 0;
+-	int constraintcounter 	= 0; //itapopo
+ 	IssmDouble eps				= 1.e-8;
+ 
+ 	/*Now, insert the interpolated constraints in the data set (constraints)*/
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21572)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21573)
+@@ -147,8 +147,8 @@
+ 		#ifdef _HAVE_NEOPZ_
+ 		/*Adaptive mesh refinement methods*/
+ 		void InitializeAdaptiveRefinement(void);
+-		FemModel* ReMesh(void);
+-		void GetMesh(FemModel* femmodel,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist);
++		void ReMesh(void);
++		void GetMesh(Vertices* femmodel_vertices,Elements* femmodel_elements,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist);
+ 		int GetElementsWidth(){return 3;};//just tria elements in this first version
+ 		void ExecuteRefinement(int &numberofvertices,int &numberofelements,IssmDouble** px,IssmDouble** py,IssmDouble** pz,int** pelementslist);
+ 		void GetGroundediceLevelSet(IssmDouble** pmasklevelset);
+@@ -156,8 +156,8 @@
+ 		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
+ 		void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
+ 		void CreateNodes(int newnumberofvertices,int* my_vertices,int nodecounter,int analysis_enum,Nodes* nodes);
+-		void CreateConstraints(int newnumberofvertices,int newnumberofelements,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints);
+-		void InterpolateInputs(FemModel* femmodel);
++		void CreateConstraints(int newnumberofvertices,int newnumberofelements,int nodecounter,int constraintcounter,IssmDouble* newx,IssmDouble* newy,int* my_vertices,Constraints* constraints);
++		void InterpolateInputs(Vertices* newfemmodel_vertices,Elements* newfemmodel_elements);
+ 		void UpdateElements(int newnumberofelements,int* newelementslist,bool* my_elements,int nodecounter,int analysis_counter,Elements* newelements);
+ 		void ElementsAndVerticesPartitioning(int& newnumberofvertices,int& newnumberofelements,int& elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices);
+ 		#endif
Index: /issm/oecreview/Archive/21337-21723/ISSM-21573-21574.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21573-21574.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21573-21574.diff	(revision 21726)
@@ -0,0 +1,168 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21573)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21574)
+@@ -2953,7 +2953,7 @@
+ }
+ /*}}}*/
+ void FemModel::ReMesh(void){/*{{{*/
+-	
++
+ 	/*Variables*/
+ 	IssmDouble *newx			= NULL;
+ 	IssmDouble *newy			= NULL;
+@@ -2972,9 +2972,7 @@
+ 	/*Partitioning the new mesh. Maybe ElementsAndVerticesPartitioning.cpp could be modified to set this without iomodel.*/
+ 	this->ElementsAndVerticesPartitioning(newnumberofvertices,newnumberofelements,elementswidth,newelementslist,&my_elements,&my_vertices);
+ 
+-	if(this->loads->Size()!=0){
+-		_error_("not supported yet");
+-	}
++	if(this->loads->Size()!=0) _error_("not supported yet");
+ 
+ 	/*Create vertices*/
+ 	Vertices* new_vertices=new Vertices();
+@@ -3008,16 +3006,6 @@
+ 		if(analysis_enum==StressbalanceAnalysisEnum) this->CreateConstraints(newnumberofvertices,newnumberofelements,nodecounter,constraintcounter,newx,newy,my_vertices,new_constraints);
+ 		this->UpdateElements(newnumberofelements,newelementslist,my_elements,nodecounter,i,new_elements);
+ 
+-
+-		if(IssmComm::GetRank()==2){
+-			_printf_("New constraints: CPU 1\n");
+-			//this->constraints->DeepEcho();
+-			new_constraints->DeepEcho();
+-			printarray(my_vertices,newnumberofvertices,1);
+-			_error_("stop!");
+-		}
+-
+-
+ 		if(new_nodes->Size()) nodecounter=new_nodes->MaximumId();
+ 		constraintcounter = new_constraints->NumberOfConstraints();
+ 		/*Make sure nodecounter is at least 0 (if no node exists, maxid will be -1*/
+@@ -3069,14 +3057,6 @@
+ 	/*Finally: interpolate all inputs and insert them into the new elements.*/
+ 	this->InterpolateInputs(new_vertices,new_elements);
+ 
+-	if(IssmComm::GetRank()==2){
+-		_printf_("New constraints: CPU 1\n");
+-		//this->constraints->DeepEcho();
+-		new_constraints->DeepEcho();
+-		_error_("stop!");
+-	}
+-
+-
+ 	/*Delete old structure and set new pointers*/
+ 	delete this->vertices;		this->vertices		= new_vertices;
+ 	delete this->elements;		this->elements		= new_elements;
+@@ -3630,13 +3610,6 @@
+ 	Vector<IssmDouble>* vspcvxflag	= new Vector<IssmDouble>(numberofnodes_analysistype);
+ 	Vector<IssmDouble>* vspcvyflag	= new Vector<IssmDouble>(numberofnodes_analysistype);
+ 	
+-	for(int i=0;i<numberofnodes_analysistype;i++){ 
+-		vspcvx->SetValue(i,0.,INS_VAL);
+-		vspcvy->SetValue(i,0.,INS_VAL);
+-		vspcvxflag->SetValue(i,0.,INS_VAL);
+-		vspcvyflag->SetValue(i,0.,INS_VAL);
+-	}
+-
+ 	for(int i=0;i<this->constraints->Size();i++){
+ 		SpcStatic* spc			= xDynamicCast<SpcStatic*>(this->constraints->GetObjectByOffset(i));
+ 		int dof					= spc->GetDof();
+@@ -3644,10 +3617,7 @@
+ 		IssmDouble spcvalue	= spc->GetValue(); 
+ 		int nodeindex			= node-1;
+ 		
+-		if(IssmComm::GetRank()==0)	
+-		  {//itapopo
+-		 if(dof==0) {//vx
+-			if(IssmComm::GetRank()==0) _printf_("Node: " << nodeindex << "\tdof: " << dof << "\tspcvalue: " << spcvalue << "\n") ;
++		if(dof==0) {//vx
+ 			vspcvx->SetValue(nodeindex,spcvalue,INS_VAL);
+ 			vspcvxflag->SetValue(nodeindex,1,INS_VAL);
+ 		} 
+@@ -3655,30 +3625,14 @@
+ 			vspcvy->SetValue(nodeindex,spcvalue,INS_VAL);
+ 			vspcvyflag->SetValue(nodeindex,1,INS_VAL);
+ 		}
+-
+-		  }//itapopo
+ 	}
+ 
+-	#ifdef _HAVE_PETSC_
+-		_printf_("Tem PETSC\n");
+-	#endif
+-
+ 	/*Assemble*/
+ 	vspcvx->Assemble();
+ 	vspcvy->Assemble();
+ 	vspcvxflag->Assemble();
+ 	vspcvyflag->Assemble();
+ 
+-	IssmDouble pvalue1,pvalue2;
+-	vspcvx->GetValue(&pvalue1,0);
+-	vspcvxflag->GetValue(&pvalue2,0);
+-	if(IssmComm::GetRank()==0) _printf_("Node: " << 0 << "\tspcvalue: " << pvalue1 << "\tflag: " << pvalue2 << "\n") ;
+-	vspcvx->GetValue(&pvalue1,5);
+-	vspcvxflag->GetValue(&pvalue2,5);
+-	if(IssmComm::GetRank()==0) _printf_("Node: " << 5 << "\tspcvalue: " << pvalue1 << "\tflag: " << pvalue2 << "\n") ;
+-	
+-	
+-	
+ 	/*Serialize*/
+ 	spcvx		 = vspcvx->ToMPISerial();
+ 	spcvy		 = vspcvy->ToMPISerial();
+@@ -3701,40 +3655,29 @@
+ 	InterpFromMeshToMesh2dx(&newspcvxflag,elementslist,x,y,nods_data,nels_data,spcvxflag,M_data,N_data,newx,newy,N_interp,NULL);
+ 	InterpFromMeshToMesh2dx(&newspcvyflag,elementslist,x,y,nods_data,nels_data,spcvyflag,M_data,N_data,newx,newy,N_interp,NULL);
+ 
+-	if(IssmComm::GetRank()==1){
+-		_printf_("CPU 1:\n");
+-		_printf_("Old spcvx:\n");
+-		printarray(spcvx,nods_data,1);
+-		_printf_("Old spcvxflag:\n");
+-		printarray(spcvxflag,nods_data,1);
+-		_error_("Stop!!");
+-	}
+-
+-
+-
+-
+-
+ 	int count					= 0;
+ 	IssmDouble eps				= 1.e-8;
+ 
+ 	/*Now, insert the interpolated constraints in the data set (constraints)*/
+ 	for(int i=0;i<newnumberofvertices;i++){
+-		if(my_vertices[i])
+-		/*spcvx*/
+-		if(!xIsNan<IssmDouble>(newspcvx[i]) && newspcvxflag[i]>(1-eps)){
+-			constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,0,newspcvx[i],StressbalanceAnalysisEnum));
+-			//add count'th spc, on node i+1, setting dof 1 to vx.
+-			count++;
++		if(my_vertices[i]){ 
++			/*spcvx*/
++			if(!xIsNan<IssmDouble>(newspcvx[i]) && newspcvxflag[i]>(1-eps)){
++				constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,0,newspcvx[i],StressbalanceAnalysisEnum));
++				//add count'th spc, on node i+1, setting dof 1 to vx.
++				count++;
++			}
+ 		}
+ 	}
+ 	count=0;
+ 	for(int i=0;i<newnumberofvertices;i++){
+-		if(my_vertices[i])
+-		/*spcvy*/
+-		if(!xIsNan<IssmDouble>(newspcvy[i]) && newspcvyflag[i]>(1-eps) ){
+-			constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,1,newspcvy[i],StressbalanceAnalysisEnum)); 
+-			//add count'th spc, on node i+1, setting dof 1 to vx.
+-			count++;
++		if(my_vertices[i]){
++			/*spcvy*/
++			if(!xIsNan<IssmDouble>(newspcvy[i]) && newspcvyflag[i]>(1-eps) ){
++				constraints->AddObject(new SpcStatic(constraintcounter+count+1,nodecounter+i+1,1,newspcvy[i],StressbalanceAnalysisEnum)); 
++				//add count'th spc, on node i+1, setting dof 1 to vx.
++				count++;
++			}
+ 		}
+ 	}
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21574-21575.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21574-21575.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21574-21575.diff	(revision 21726)
@@ -0,0 +1,18 @@
+Index: ../trunk-jpl/src/m/classes/mesh2d.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/mesh2d.py	(revision 21574)
++++ ../trunk-jpl/src/m/classes/mesh2d.py	(revision 21575)
+@@ -91,6 +91,7 @@
+ 		md = checkfield(md,'fieldname','mesh.numberofelements','>',0)
+ 		md = checkfield(md,'fieldname','mesh.numberofvertices','>',0)
+ 		md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message',"'mesh.average_vertex_connectivity' should be at least 9 in 2d")
++		md = checkfield(md,'fieldname','mesh.segments','NaN',1,'Inf',1,'>',0,'size',[np.nan,3]);
+ 		if solution=='ThermalSolution':
+ 			md.checkmessage("thermal not supported for 2d mesh")
+ 
+@@ -116,4 +117,5 @@
+ 		WriteData(fid,prefix,'object',self,'class','mesh','fieldname','numberofelements','format','Integer')
+ 		WriteData(fid,prefix,'object',self,'class','mesh','fieldname','numberofvertices','format','Integer')
+ 		WriteData(fid,prefix,'object',self,'class','mesh','fieldname','average_vertex_connectivity','format','Integer')
++		WriteData(fid,prefix,'object',self,'class','mesh','fieldname','segments','format','DoubleMat','mattype',3);
+ 	# }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21575-21576.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21575-21576.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21575-21576.diff	(revision 21726)
@@ -0,0 +1,518 @@
+Index: ../trunk-jpl/src/m/classes/transient.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/transient.m	(revision 21576)
+@@ -17,6 +17,7 @@
+ 		ishydrology       = 0;
+ 		isslr             = 0;
+ 		iscoupler         = 0;
++		isoceancoupling   = 0;
+ 		requested_outputs = {};
+ 	end
+ 	methods
+@@ -42,6 +43,7 @@
+ 			self.ismovingfront   =0;
+ 			self.ishydrology     = 0;
+ 			self.isslr           = 0;
++			self.isoceancoupling = 0;
+ 			self.iscoupler       = 0;
+ 
+ 			%default output
+@@ -61,6 +63,7 @@
+ 			self.ismovingfront   = 0;
+ 			self.ishydrology     = 0;
+ 			self.isslr           = 0;
++			self.isoceancoupling = 0;
+ 			self.iscoupler       = 0;
+ 
+ 			%default output
+@@ -90,8 +93,12 @@
+ 			md = checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1);
+ 			md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0 1]);
++			md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0 1]);
+ 
++			if (~strcmp(solution,'TransientSolution') & md.transient.iscoupling==1), 
++				md = checkmessage(md,['Coupling with ocean model can only be performed for transient simulations!']);
++			end
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   transient solution parameters:'));
+@@ -107,6 +114,7 @@
+ 			fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient');
+ 			fielddisplay(self,'ishydrology','indicates whether an hydrology model is used');
+ 			fielddisplay(self,'isslr','indicates whether a sea-level rise solution is used in the transient');
++			fielddisplay(self,'isoceancoupling','indicates whether a coupling with an ocean model is used in the transient');
+ 			fielddisplay(self,'iscoupler','indicates whether different models are being run with need for coupling');
+ 			fielddisplay(self,'requested_outputs','list of additional outputs requested');
+ 
+@@ -123,6 +131,7 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','ismovingfront','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isslr','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','isoceancoupling','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','iscoupler','format','Boolean');
+ 
+ 			%process requested outputs
+@@ -147,6 +156,7 @@
+ 			writejsdouble(fid,[modelname '.trans.ismovingfront'],self.ismovingfront);
+ 			writejsdouble(fid,[modelname '.trans.ishydrology'],self.ishydrology);
+ 			writejsdouble(fid,[modelname '.trans.isslr'],self.isslr);
++			writejsdouble(fid,[modelname '.trans.isoceancoupling'],self.isoceancoupling);
+ 			writejsdouble(fid,[modelname '.trans.iscoupler'],self.iscoupler);
+ 			writejscellstring(fid,[modelname '.trans.requested_outputs'],self.requested_outputs);
+ 
+Index: ../trunk-jpl/src/m/classes/clusters/generic_static.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic_static.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/generic_static.m	(revision 21576)
+@@ -48,7 +48,7 @@
+ 			end
+ 		end
+ 		%}}}
+-		function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			%Check that issm.exe exists in the right path
+ 			if ~exist([cluster.codepath '/issm.exe'],'file'),
+@@ -67,6 +67,9 @@
+ 					executable='issm_dakota.exe';
+ 				end
+ 			end
++			if isoceancoupling,
++				executable='issm_ocean.exe';
++			end
+ 
+ 			%write queuing script 
+ 			fid=fopen([modelname '.queue'],'w');
+Index: ../trunk-jpl/src/m/classes/clusters/pollux.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/pollux.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/pollux.m	(revision 21576)
+@@ -45,7 +45,7 @@
+ 			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/hexagon.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/hexagon.py	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/hexagon.py	(revision 21576)
+@@ -80,7 +80,7 @@
+ 			md = md.checkmessage('asking too much memory max is 32000 per node')
+ 		return self
+                 # }}}
+-	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota):
++	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling):
+ 		# {{{
+ 
+ 		executable='issm.exe'
+@@ -89,6 +89,8 @@
+ 			version=float(version)
+ 			if version>=6:
+ 				executable='issm_dakota.exe'
++		if isoceancoupling:
++			executable='issm_ocean.exe'
+ 
+ 		#write queuing script 
+ 		shortname=modelname[0:min(12,len(modelname))]
+Index: ../trunk-jpl/src/m/classes/clusters/lonestar.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/lonestar.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/lonestar.m	(revision 21576)
+@@ -95,7 +95,7 @@
+ 			 fclose(fid);
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+@@ -107,6 +107,9 @@
+ 					 executable='issm_dakota.exe';
+ 				 end
+ 			 end
++			 if isoceancoupling,
++				 executable='issm_ocean.exe';
++			 end
+ 
+ 			 %write queuing script 
+ 			 fid=fopen([modelname '.queue'],'w');
+Index: ../trunk-jpl/src/m/classes/clusters/cyclone.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/cyclone.py	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/cyclone.py	(revision 21576)
+@@ -71,7 +71,7 @@
+ 
+ 		return self
+                 # }}}
+-	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota):
++	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling):
+ 		# {{{
+ 
+ 		executable='issm.exe'
+Index: ../trunk-jpl/src/m/classes/clusters/castor.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/castor.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/castor.m	(revision 21576)
+@@ -45,7 +45,7 @@
+ 			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/camhpc.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/camhpc.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/camhpc.m	(revision 21576)
+@@ -70,7 +70,7 @@
+ 
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/acenet.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/acenet.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/acenet.m	(revision 21576)
+@@ -55,7 +55,7 @@
+ 			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/cosmos.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/cosmos.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/cosmos.m	(revision 21576)
+@@ -45,7 +45,7 @@
+ 			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/greenplanet.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/greenplanet.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/greenplanet.m	(revision 21576)
+@@ -68,7 +68,7 @@
+ 
+ 		 end
+ 		 %}}}
+-		 function BuildKrigingQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildKrigingQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/vilje.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/vilje.py	(revision 21576)
+@@ -80,7 +80,7 @@
+ 			md = md.checkmessage('interactive mode not implemented')
+ 		return self
+                 # }}}
+-	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota):
++	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling):
+ 		# {{{
+ 
+ 		executable='issm.exe'
+@@ -89,6 +89,8 @@
+ 			version=float(version)
+ 			if version>=6:
+ 				executable='issm_dakota.exe'
++		if isoceancoupling:
++			executable='issm_ocean.exe'
+ 
+ 		#write queuing script 
+ 		shortname=modelname[0:min(12,len(modelname))]
+Index: ../trunk-jpl/src/m/classes/clusters/pfe.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/pfe.py	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/pfe.py	(revision 21576)
+@@ -132,7 +132,7 @@
+ 			
+ 		return self
+ 	# }}}
+-	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota):
++	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling):
+ 		# {{{
+ 
+ 		executable='issm.exe'
+@@ -141,6 +141,8 @@
+ 			version=float(version)
+ 			if version>=6:
+ 				executable='issm_dakota.exe'
++		if isoceancoupling:
++			executable='issm_ocean.exe'
+ 
+ 		#write queuing script 
+ 		fid=open(modelname+'.queue','w')
+Index: ../trunk-jpl/src/m/classes/clusters/cloud.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/cloud.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/cloud.m	(revision 21576)
+@@ -47,7 +47,7 @@
+ 			end
+ 		end
+ 		%}}}
+-		function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			%write queuing script 
+ 			fid=fopen([modelname '.queue'],'w');
+Index: ../trunk-jpl/src/m/classes/clusters/gemini.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/gemini.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/gemini.m	(revision 21576)
+@@ -45,7 +45,7 @@
+ 			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/generic.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic.py	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/generic.py	(revision 21576)
+@@ -67,7 +67,7 @@
+ 
+ 		return md
+ 	# }}}
+-	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota):    # {{{
++	def BuildQueueScript(self,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling):    # {{{
+ 
+ 		executable='issm.exe';
+ 		if isdakota:
+@@ -75,6 +75,8 @@
+ 			version=float(version)
+ 			if version>=6:
+ 				executable='issm_dakota.exe'
++		if isoceancoupling:
++			executable='issm_ocean.exe'
+ 
+ 		#write queuing script 
+ 		if not m.ispc():
+Index: ../trunk-jpl/src/m/classes/clusters/vilje.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/vilje.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/vilje.m	(revision 21576)
+@@ -98,7 +98,7 @@
+ 			 fclose(fid);
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+@@ -110,6 +110,9 @@
+ 					 executable='issm_dakota.exe';
+ 				 end
+ 			 end
++			 if isoceancoupling,
++				 executable='issm_ocean.exe';
++			 end
+ 
+ 			 %compute number of processors
+ 			 cluster.np=cluster.numnodes*cluster.cpuspernode;                     
+Index: ../trunk-jpl/src/m/classes/clusters/pfe.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/pfe.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/pfe.m	(revision 21576)
+@@ -135,7 +135,7 @@
+ 
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+ 
+@@ -146,6 +146,9 @@
+ 					 executable='issm_dakota.exe';
+ 				 end
+ 			 end
++			 if isoceancoupling,
++				 executable='issm_ocean.exe';
++			 end
+ 
+ 			 %write queuing script 
+ 			 fid=fopen([modelname '.queue'],'w');
+Index: ../trunk-jpl/src/m/classes/clusters/hpc.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/hpc.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/hpc.m	(revision 21576)
+@@ -89,7 +89,7 @@
+ 			 fclose(fid);
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/raijin.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/raijin.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/raijin.m	(revision 21576)
+@@ -62,7 +62,7 @@
+ 
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+                      
+ 			 if(isvalgrind), disp('valgrind not supported by cluster, ignoring...'); end
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+Index: ../trunk-jpl/src/m/classes/clusters/generic.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/generic.m	(revision 21576)
+@@ -71,7 +71,7 @@
+ 			end
+ 		end
+ 		%}}}
+-		function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
+ 
+ 			%write queuing script 
+ 			%what is the executable being called? 
+@@ -82,6 +82,9 @@
+ 					executable='issm_dakota.exe';
+ 				end
+ 			end
++			if isoceancoupling,
++				executable='issm_ocean.exe';
++			end
+ 
+ 			if ~ispc(),
+ 
+Index: ../trunk-jpl/src/m/classes/clusters/discover.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/discover.m	(revision 21575)
++++ ../trunk-jpl/src/m/classes/clusters/discover.m	(revision 21576)
+@@ -89,7 +89,7 @@
+ 
+ 		 end
+ 		 %}}}
+-		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota) % {{{
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,ioceancoupling) % {{{
+ 
+ 			 if(isgprof),    disp('gprof not supported by cluster, ignoring...'); end
+ 
+@@ -100,6 +100,9 @@
+ 					 executable='issm_dakota.exe';
+ 				 end
+ 			 end
++			 if isoceancoupling,
++				 executable='issm_ocean.exe';
++			 end
+ 
+ 			 %write queuing script
+ 			 fid=fopen([modelname '.queue'],'w');
+Index: ../trunk-jpl/src/m/classes/transient.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.py	(revision 21575)
++++ ../trunk-jpl/src/m/classes/transient.py	(revision 21576)
+@@ -22,6 +22,7 @@
+ 		self.ismovingfront     = False
+ 		self.ishydrology       = False
+ 		self.isslr             = False
++		self.isoceancoupling   = False
+ 		self.iscoupler         = False
+ 		self.requested_outputs = []
+ 
+@@ -42,6 +43,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'ishydrology','indicates whether an hydrology model is used'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isslr','indicates if a sea level rise solution is used in the transient'))
++		string="%s\n%s"%(string,fielddisplay(self,'isoceancoupling','indicates whether coupling with an ocean model is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'iscoupler','indicates whether different models are being run with need for coupling'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','list of additional outputs requested'))
+ 		return string
+@@ -67,6 +69,7 @@
+ 		self.isdamageevolution = False
+ 		self.ismovingfront     = False
+ 		self.ishydrology       = False
++		self.isoceancoupling   = False
+ 		self.isslr             = False
+ 		self.iscoupler         = False
+ 
+@@ -88,6 +91,7 @@
+ 		self.ismovingfront   = False
+ 		self.ishydrology     = False
+ 		self.isslr           = False
++		self.isoceancoupling = False
+ 		self.iscoupler       = False
+ 
+ 		#default output
+@@ -111,9 +115,13 @@
+ 		md = checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.ismovingfront','numel',[1],'values',[0,1]);
+ 		md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0,1])
++		md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1)
+ 
++		if (solution!='TransientSolution') and (md.transient.iscoupling):
++				md.checkmessage("Coupling with ocean can only be done in transient simulations!")
++
+ 		return md
+ 	# }}}
+ 	def marshall(self,prefix,md,fid):    # {{{
+@@ -128,6 +136,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','ismovingfront','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isslr','format','Boolean')
++		WriteData(fid,prefix,'object',self,'fieldname','isoceancoupling','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','iscoupler','format','Boolean')
+ 
+ 		#process requested outputs
+Index: ../trunk-jpl/src/m/solve/solve.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.m	(revision 21575)
++++ ../trunk-jpl/src/m/solve/solve.m	(revision 21576)
+@@ -116,7 +116,7 @@
+ %Write all input files
+ marshall(md);                                          % bin file
+ ToolkitsFile(md.toolkits,[md.miscellaneous.name '.toolkits']); % toolkits file
+-BuildQueueScript(cluster,md.private.runtimename,md.miscellaneous.name,md.private.solution,md.settings.io_gather,md.debug.valgrind,md.debug.gprof,md.qmu.isdakota); % queue file
++BuildQueueScript(cluster,md.private.runtimename,md.miscellaneous.name,md.private.solution,md.settings.io_gather,md.debug.valgrind,md.debug.gprof,md.qmu.isdakota,md.transient.isoceancoupling); % queue file
+ 
+ %Upload all required files
+ modelname = md.miscellaneous.name;
+Index: ../trunk-jpl/src/m/solve/solve.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.py	(revision 21575)
++++ ../trunk-jpl/src/m/solve/solve.py	(revision 21576)
+@@ -112,7 +112,7 @@
+ 	#Write all input files
+ 	marshall(md)                                           # bin file
+ 	md.toolkits.ToolkitsFile(md.miscellaneous.name+'.toolkits')    # toolkits file
+-	cluster.BuildQueueScript(md.private.runtimename,md.miscellaneous.name,md.private.solution,md.settings.io_gather,md.debug.valgrind,md.debug.gprof,md.qmu.isdakota)    # queue file
++	cluster.BuildQueueScript(md.private.runtimename,md.miscellaneous.name,md.private.solution,md.settings.io_gather,md.debug.valgrind,md.debug.gprof,md.qmu.isdakotai,md.transient.isoceancoupling)    # queue file
+ 
+ 	#Stop here if batch mode
+ 	if options.getfieldvalue('batch','no')=='yes':
Index: /issm/oecreview/Archive/21337-21723/ISSM-21576-21577.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21576-21577.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21576-21577.diff	(revision 21726)
@@ -0,0 +1,935 @@
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/pwise.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/pwise.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/pwise.f	(revision 21577)
+@@ -0,0 +1,42 @@
++      subroutine pwise(t,ta,tb,xi1,xi2,xi3,xi4,slope,ycept,decay,
++     1bhaq_w,bhaq_dwdt)
++      implicit double precision (a-h,o-z)
++      double precision decay(2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c This subroutine retrieves the convolution for the ith linear piece-wise
++c q hat function (the load shape or Bessel function part having
++c been removed) with the free-decay solution. (see notes of
++c 12-31-96 "Convolution in time").  The convolution is returned as "bhaq".
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      tbt = tb - t
++      tat = ta - t
++      gat1 = tat * decay(1)
++      gat2 = tat * decay(2)
++      gbt1 = tbt * decay(1)
++      gbt2 = tbt * decay(2)
++      ea1 = dexp(gat1)
++      ea2 = dexp(gat2)
++      eb1 = dexp(gbt1)
++      eb2 = dexp(gbt2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit1 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit1 =(ycept/decay(1)) * (eb1 - ea1) -
++     1(slope/(decay(1)*decay(1))) *
++     2                            ( (1.0d0 - tb*decay(1))*eb1 
++     3                            - (1.0d0 - ta*decay(1))*ea1 )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit2 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit2 =(ycept/decay(2)) * (eb2 - ea2) -
++     1(slope/(decay(2)*decay(2))) *
++     2                            ( (1.0d0 - tb*decay(2))*eb2 
++     3                            - (1.0d0 - ta*decay(2))*ea2 )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c add terms for the i-th interval contribution. 
++c ABOVE IS THE NON-DEGENERATE CASE
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bhaq_w = (xi1 * xit1) + (xi2 * xit2)    
++      bhaq_dwdt = (xi3 * xit1) + (xi4 * xit2)    
++      return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/qwise.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/qwise.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/qwise.f	(revision 21577)
+@@ -0,0 +1,65 @@
++      subroutine qwise(t,ta,qjadon,xi0,xi1,xi2,xi3,xi4,slope,ycept,
++     1decay,bhaq_w,bhaq_dwdt)
++      implicit double precision (a-h,o-z)
++      double precision decay(2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c This subroutine retrieves the convolution for the J-th linear piece-wise
++c q hat function (the load shape or Bessel function part having been removed)
++c with the free-decay solution. (see notes of 3-27-97 "convo.ice" Mathematica
++c session).  The convolution is returned as "bhaq".
++c
++c  THIS ROUTINE REPLACES pwise.f ONLY FOR t <  time(Ntime) *
++c  (such that the load is still in place at time t).       *
++c
++c Note irate = 1 case has to be applied to the linear term only (freed.f applies
++c this correction to exponential terms)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xg1 = xi1/(decay(1)*decay(1))
++      xg2 = xi2/(decay(2)*decay(2))
++      xg3 = xi3/(decay(1)*decay(1))
++      xg4 = xi4/(decay(2)*decay(2))
++      gb1 = decay(1)*ycept
++      gb2 = decay(2)*ycept
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit0 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit0_w = (xi0 + qjadon) * ( ( slope * t ) + ycept )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit1 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit1_w = xg1 * (
++     1              gb1 + slope * ( ( t * decay(1) ) - 1.0d0 )
++     2          - ( gb1 + slope * ( ( ta * decay(1) ) - 1.0d0 ))
++     3                                   * dexp( decay(1) * (ta - t) )
++     4                       )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c define xit2 term:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit2_w = xg2 * (
++     1              gb2 + slope * ( ( t * decay(2) ) - 1.0d0 )
++     2          - ( gb2 + slope * ( ( ta * decay(2) ) - 1.0d0 ) )
++     3                                   * dexp( decay(2) * (ta - t) )
++     4                       )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c And the rate equivalents:
++c (sign switch due to freed.f already
++c having corrected in x1t, x2t pass).
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      xit0_dwdt = (xi0 + qjadon) * slope 
++      xit1_dwdt =-xg3 * (
++     1              slope  
++     2     + ( gb1 + slope * ( ( ta * decay(1) ) - 1.0d0 ))
++     3                                   * dexp( decay(1) * (ta - t) )
++     4                       )
++      xit2_dwdt =-xg4 * (
++     1              slope 
++     2     + ( gb2 + slope * ( ( ta * decay(2) ) - 1.0d0 ))
++     3                                   * dexp( decay(2) * (ta - t) )
++     4                       )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c add terms for the J-th (and final) interval contribution.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bhaq_w = xit0_w + xit1_w + xit2_w
++      bhaq_dwdt = xit0_dwdt + xit1_dwdt + xit2_dwdt
++      return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/stot.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/stot.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/stot.f	(revision 21577)
+@@ -0,0 +1,79 @@
++      subroutine stot(ikval,qjadon,fltng_w,fltng_dwdt,Ntimp,Ntimm,
++     1time,bi,dmi)
++      implicit double precision (a-h,o-z)
++      integer Ntimp,Ntimm
++      parameter (Nafter = 1)
++      parameter (nhank = 1024)
++      double precision decay(2)
++      double precision pset(7)
++      double precision time(Ntimp),bi(Ntimm),dmi(Ntimm)
++      double precision dekay1(nhank),dekay2(nhank),amp0(nhank),
++     1amp1(nhank),amp2(nhank),amp3(nhank),amp4(nhank)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockm/ dekay1,dekay2,amp0,amp1,amp2,amp3,amp4
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c  This subroutine returns the inverse Laplace transform to the
++c  time-domain for the vertical displacement at time t for Hankel wavenumber
++c  ikval.  (In general this routine needs to be called nhank times).
++c  The main derivation uses the Faltung theorem of Laplace transforms.
++c  (1-1-97)  NEW CASE OF 3-27-97 IS FOR t(Ntime + i) < t(Ntime) OR IN OTHER
++c  WORDS, THE LOAD STILL IN PLACE AT t.  OPTION CALL to qwise.f
++c  PERFORMS THIS. 
++c 
++c  A theory for the degenerate case was worked out but has been removed
++c  as an option from this code.
++c
++c  Definition of tspan: nondimensional time span backwards form present
++c                       when this routine is first called the dimensional
++c                       equivalent might be say tspan = 12 ka, then 11 and
++c                       then finally tspan = 0.
++c  Additional note for r.s.l calculations: the routines qwise and pwise
++c  are identical to the previous case for computations of present-day only
++c  vertical deformation field.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      decay(1) = dekay1(ikval)
++      decay(2) = dekay2(ikval)
++      xi0 = amp0(ikval)
++      xi1 = amp1(ikval)
++      xi2 = amp2(ikval)
++      xi3 = amp3(ikval)
++      xi4 = amp4(ikval)
++
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c note that tspan must be updated in the calling routine "what0.f"
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      t = time(Ntimp)
++      sumb_w = 0.0d0
++      sumb_dwdt = 0.0d0
++      ta = time(1)
++      tb = time(2)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 97 i = 1,Ntimm
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c note that this "if" prevents adding load
++c segments of "future" times when computing
++c an r.s.l. history (10-06-98).
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      if(t.lt.ta) go to 97
++      slope=dmi(i)
++      ycept=bi(i)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      if( t . gt . ta . and . t . le . tb) go to 38
++      call pwise(t,ta,tb,xi1,xi2,xi3,xi4,slope,ycept,decay,
++     1bhaq_w,bhaq_dwdt)
++      go to 39
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Note that qwise is employed only for the J-th Q hat term when t for
++c evaluation still has to consider the load itself
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++   38 call qwise(t,ta,qjadon,xi0,xi1,xi2,xi3,xi4,slope,ycept,decay,
++     1bhaq_w,bhaq_dwdt)
++   39 sumb_w = bhaq_w + sumb_w
++      sumb_dwdt = bhaq_dwdt + sumb_dwdt
++      ta = time(i + 1)
++      tb = time(i + 2)
++   97 continue
++      fltng_w = sumb_w
++      fltng_dwdt = sumb_dwdt
++      return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp	(revision 21577)
+@@ -0,0 +1,171 @@
++/*!\file GiaDeflectionCorex
++ * \brief: GIA solution from Erik Ivins. 
++ * Compute deflection wi from a single disk of radius re, load history hes for 
++ * numtimes time steps. 
++ */
++
++#include "./GiaDeflectionCorex.h"
++
++#include "../../classes/classes.h"
++#include "../../shared/shared.h"
++#include "../../toolkits/toolkits.h"
++#include "../InputUpdateFromConstantx/InputUpdateFromConstantx.h"
++
++/*External blocks: {{{*/
++struct blockp{
++	double pset[7];
++};
++
++struct blocko{
++	double rhoi;
++};
++
++struct blockrad{
++	double distrad; 
++};
++
++struct blocks{
++	double aswokm_w; 
++	double aswokm_dwdt; 
++};
++
++extern "C" { 
++	int distme_(int* pNtime,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi,double* zhload);
++
++	int what0_(int* piedge,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi);
++	extern struct blockp blockp_;
++	extern struct blocko blocko_;
++	extern struct blockrad blockrad_;
++	extern struct blocks blocks_;
++}
++
++/*}}}*/
++
++void GiaDeflectionCorex( IssmDouble* pwi, IssmDouble* pdwidt, GiaDeflectionCoreArgs* arguments){
++
++	/*intermediary: */
++	int i;
++
++	/*output: */
++	IssmDouble wi=0;
++	IssmDouble dwidt=0;
++
++	/*inputs: {{{*/
++	/*constant: */
++	int idisk=1; // disk #
++	IssmDouble yts;
++
++	/*coming from the model structure, runtime configurable:*/
++	/*gia solution parameters: */
++	int iedge=0; 
++
++	/*gia inputs: */
++	IssmDouble ri; //radial distance from center of disk to vertex  i
++	IssmDouble re; //radius of disk
++	IssmDouble* hes; //loading history (in ice thickness)
++	IssmDouble* times; //loading history times
++	int numtimes; //loading history length
++	IssmDouble currenttime;
++	int Ntime; // number of times with load history 
++	int Ntimm; // Ntime-1 : for slope/y-cept of load segments 
++	int Ntimp; // Ntime+1 : for evaluation time  
++	IssmDouble* blockt_time=NULL;
++	IssmDouble* blockt_bi=NULL;
++	IssmDouble* blockt_dmi=NULL;
++	IssmDouble* blocky_zhload=NULL;
++
++	/*gia material parameters: */
++	IssmDouble lithosphere_shear_modulus;
++	IssmDouble lithosphere_density;
++	IssmDouble mantle_shear_modulus;
++	IssmDouble mantle_viscosity;
++	IssmDouble mantle_density;
++	IssmDouble lithosphere_thickness;
++
++	/*ice properties: */
++	IssmDouble rho_ice;
++
++	/*some debug info: */
++	int disk_id;
++
++/*}}}*/
++
++	/*Recover material parameters and loading history: see GiaDeflectionCoreArgs for more details {{{*/
++	ri                        = arguments->ri;
++	re                        = arguments->re;
++	hes                       = arguments->hes;
++	times                     = arguments->times;
++	numtimes                  = arguments->numtimes;
++	currenttime               = arguments->currenttime;
++	lithosphere_shear_modulus = arguments->lithosphere_shear_modulus;
++	lithosphere_density       = arguments->lithosphere_density;
++	mantle_shear_modulus      = arguments->mantle_shear_modulus;
++	mantle_viscosity          = arguments->mantle_viscosity;
++	mantle_density            = arguments->mantle_density;
++	lithosphere_thickness     = arguments->lithosphere_thickness;
++	rho_ice                   = arguments->rho_ice;
++	disk_id                   = arguments->idisk;
++	iedge                     = arguments->iedge;
++	yts                       = arguments->yts;
++
++	/*}}}*/
++
++	/*Modify inputs to match naruse code: */
++	Ntime=numtimes;
++	Ntimm=Ntime-1;
++	Ntimp=Ntime+1;
++
++	/*Prepare block inputs for fortran distme and what0 routines of the naruse code: {{{*/
++	/*Now, let's set pset from the data that we got in input to GiaDeflectionCorex: */
++	blockp_.pset[0]=lithosphere_thickness;
++	blockp_.pset[1]=mantle_viscosity;
++	blockp_.pset[2]=lithosphere_shear_modulus;
++	blockp_.pset[3]=mantle_shear_modulus;
++	blockp_.pset[4]=lithosphere_density;
++	blockp_.pset[5]=mantle_density;
++	blockp_.pset[6]=re;
++	blocko_.rhoi=rho_ice; 
++
++	/*loading history: */
++	blocky_zhload=xNew<IssmDouble>(Ntime);
++	for(i=0;i<Ntime;i++){
++	blocky_zhload[i]=hes[i];
++	}
++
++	/*times in kyr: */
++	blockt_time=xNew<IssmDouble>(Ntimp);
++	for (i=0;i<Ntimp;i++){
++		blockt_time[i]=times[i]/1000.0/yts; 
++		if(i==numtimes-1)blockt_time[i]=times[numtimes-1]/1000.0/yts; // final loading time, same as evaluation time
++		if(i==numtimes)blockt_time[i]=times[numtimes-1]/1000.0/yts;   // evaluation time
++	}
++
++	/*bi: */
++	blockt_bi=xNew<IssmDouble>(Ntimm);
++
++	/*dmi: */
++	blockt_dmi=xNew<IssmDouble>(Ntimm);
++
++	/*radial distance of i-th element: */
++	blockrad_.distrad=ri/1000.0; // in km
++	/*}}}*/
++
++	/*Call distme driver: */
++	distme_(&Ntime,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi,blocky_zhload); 
++
++	/*Call what0 driver: */
++	what0_(&iedge,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi); 
++
++	/*output solution: */
++	wi = blocks_.aswokm_w;
++	dwidt = blocks_.aswokm_dwdt;
++	*pwi=wi;
++	*pdwidt=dwidt;
++
++	/*Free ressources: */
++	xDelete<IssmDouble>(blockt_time);
++	xDelete<IssmDouble>(blockt_bi);
++	xDelete<IssmDouble>(blockt_dmi);
++	xDelete<IssmDouble>(blocky_zhload);
++
++}
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.h
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.h	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.h	(revision 21577)
+@@ -0,0 +1,13 @@
++/*!\file:  GiaDeflectionCorex.h
++ * \brief header file for ...
++ */ 
++
++#ifndef _GIADEFLECTIONCOREX_H
++#define _GIADEFLECTIONCOREX_H
++
++#include "../../classes/classes.h"
++
++/* local prototypes: */
++void GiaDeflectionCorex( IssmDouble* pwi, IssmDouble* pdwidt, GiaDeflectionCoreArgs* arguments);
++
++#endif  /* _GIADEFLECTIONCOREX_H */
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/ojrule.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/ojrule.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/ojrule.f	(revision 21577)
+@@ -0,0 +1,63 @@
++      subroutine ojrule(dk,bcin_w,bcin_dwdt)
++      implicit double precision(a-h,o-z)
++      parameter (nhank = 1024)
++      double precision yvalue_w(nhank),yvalue_dwdt(nhank)
++      double precision bcin_w(nhank),bcin_dwdt(nhank)
++      double precision wok_w,wok_dwdt,rpos
++      double precision swok_w,swok_dwdt
++      double precision pset(7)
++      double precision aswokm_w,aswokm_dwdt,distrad
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockrad/ distrad
++      common /blockp/ pset
++      common /blocks/ aswokm_w,aswokm_dwdt
++      data zero /0.0d0/, one /1.0d0/, two /2.0d0/, three /3.0d0/,
++     1rescal/ 1.0d0/
++      data yearco /3.15576d7/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bath = dk / three
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c rpos should be normalized wrt lithosphere thickness 
++c give r is normalized dist_rad :: r == dist_rad / h
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      r = distrad / (pset(1) / 1.0d3)
++      rpos = r 
++      ak = zero
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c form the yvalue's for the Simpson's rule formulas
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 425 ik = 1, nhank
++      ak = ak + dk
++      rak = ak * r
++      rarg = dbesj0( rak )
++      yvalue_w(ik) = bcin_w(ik) * rarg
++      yvalue_dwdt(ik) = bcin_dwdt(ik) * rarg
++  425 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c correct to end point val. in Simp. Rule
++c      yvalue(nhank) = bcin(nhank) * rarg / two
++c find the area under the curve using the Simpson's rule formulas
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      sumde_w = zero
++      sumde_dwdt = zero
++      do 300 int = 1, nhank
++      intp1 = int + 1
++      ide = 2 + ( (-1)**intp1 + 1 )
++      fide = dfloat(ide)
++      sumde_w = ( fide * yvalue_w(int) ) + sumde_w
++      sumde_dwdt = ( fide * yvalue_dwdt(int) ) + sumde_dwdt
++  300 continue
++      wok_w = bath * sumde_w
++      wok_dwdt = bath * sumde_dwdt
++      
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      hscale = sngl(pset(1))
++      hsckm = hscale / 1.0e3
++      swok_w = hscale * sngl(wok_w)
++      aswokm_w = swok_w
++      swok_dwdt = (hscale * yearco * 1.0e3 * sngl(wok_dwdt))
++     1                  * ( sngl(pset(4))/ sngl(pset(2)) )
++      aswokm_dwdt = swok_dwdt
++      return
++
++      end
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/what0.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/what0.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/what0.f	(revision 21577)
+@@ -0,0 +1,127 @@
++      subroutine what0(iedge,Ntimp,Ntimm,time,bi,dmi)
++      implicit double precision (a-h,o-z)
++      integer Ntimp,Ntimm
++      parameter (nhank = 1024)
++      parameter (N = nhank/2)
++      double precision dekay1(nhank),dekay2(nhank),amp0(nhank),
++     1amp1(nhank),amp2(nhank),amp3(nhank),amp4(nhank),
++     1zksam(nhank),zksamp(nhank)
++      double precision decay(2),pset(7),amps(5),
++     1decta(2),dyri1(nhank),dyri2(nhank),sna(nhank)
++      double precision cinner_w(nhank),cinner_dwdt(nhank)
++      double precision bcin_w(nhank),bcin_dwdt(nhank)
++      double precision time(Ntimp),bi(Ntimm),dmi(Ntimm)
++      integer maxk
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockp/ pset
++      common /blockz/ zkp
++      common /blockm/ dekay1,dekay2,amp0,amp1,amp2,amp3,amp4
++      data yearco /3.15576d7/, pi /3.1415926535897932384d0/
++      data g /9.832186d0/, four /4.d0/, two /2.0d0/,
++     1 one /1.0d0/, zero/0.0d0/ , maxk/64/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      twopi = two * pi
++      r2 = pset(6)
++      u2 = pset(4)
++      r1 = pset(5)
++      u1 = pset(3)
++      h  = pset(1)
++      urat = u1/u2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c  alphap is dimensionless disk radius
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      alphap = pset(7)/pset(1)
++      twoap = two * alphap
++      rghm = ( r1 * g * h * alphap ) / (two * u2)
++      taumx = pset(2)/pset(4)
++      tmxyr = taumx / yearco
++c
++      dfac = dfloat(nhank)/dfloat(maxk)
++      endk = dfloat(nhank)/dfac
++      dk = endk/dfloat(nhank)
++c
++      ak = zero
++      do 7000 ik = 1,nhank
++      ak = ak + dk
++      zkp = ak
++      pikn = (6.371d6 * zkp) / h
++      zkd = pikn / 6.371d6
++c
++      zkp2 = 2.0d0 * zkp
++      zkp4 = 4.0d0 * zkp
++      e1 = dexp(zkp)
++      e2 = dexp(zkp2)
++      e4 = dexp(zkp4)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      call freed(r2,u2,r1,u1,h,zkd,e1,e2,e4,b0,b1,a2,a1,a0,decay,amps)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      decta(1) = decay(1)/tmxyr
++      decta(2) = decay(2)/tmxyr
++      dyri1(ik) = decta(1)
++      dyri2(ik) = decta(2)
++      sna(ik) = pikn
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Form vectors for full construction in pwise.f and stot.f
++c Note that freed will produce decay spectra defined as positive, 
++c ie. negative decay must reinsert a minus sign.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      dekay1(ik) = decay(1)
++      dekay2(ik) = decay(2)
++      amp0(ik) = amps(3)  
++      amp1(ik) = amps(1)  
++      amp2(ik) = amps(2)  
++      amp3(ik) = amps(4)  
++      amp4(ik) = amps(5)  
++      zksam(ik) = zkd
++      zksamp(ik) = zkp
++ 7000 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c The following looped call sets up the free solution convolved with the
++c load function q hat.  Note that the returned vector set "cinner" is the
++c inner-most part of the arguement of the inverse Hankel trans. integral.
++c It is time-dependent and the loop is for the k-dependancy. The time for
++c calculation is given in the vector "time(Ntimp)" in the routine stot.f that is
++c called below. Note that the sign on cinner(ik) below is for a load directed
++c downward.   ** For iedge = 1 assume sq. edge load and for iedge = 2 assume an
++c elliptical cross section.  Note loops 8500,8000 and 9500,9000 for the two
++c cases, respectively.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++   49 go to (8499,9499), iedge
++ 8499 do 8000 ik = 1, nhank
++      xakap = zksamp(ik)*alphap
++      diku = xakap * urat
++      pref = diku / ( diku + rghm )
++      qjadon = one / ( four * zksamp(ik) * urat )
++      call stot(ik,qjadon,fltng_w,fltng_dwdt,Ntimp,Ntimm,time,bi,dmi)
++      cinner_w(ik) = - fltng_w * pref * twoap
++      cinner_dwdt(ik) = - fltng_dwdt * pref * twoap
++      bcin_w(ik) = cinner_w(ik) * dbesj1(xakap)
++      bcin_dwdt(ik) = cinner_dwdt(ik) * dbesj1(xakap)
++ 8000 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c "ojrule.f" computes the inverse Hankel trasform with a simple
++c Simpson's rule.  The routine "ojrule" is buliding a set of solutions stored
++c in common "blocks" in r or "asrpos(nrv) ", and computed rate or displacement
++c for each of N3G disks in "aswokm(nrv,N3G)" . 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      call ojrule(dk,bcin_w,bcin_dwdt)
++      go to 999
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ 9499 do 9000 ik = 1, nhank
++      xakap = zksamp(ik)*alphap
++      oxakap = one/xakap
++      diku = xakap * urat
++      pref = diku / ( diku + rghm )
++      qjadon = one / ( four * zksamp(ik) * urat )
++      call stot(ik,qjadon,fltng_w,fltng_dwdt,Ntimp,Ntimm,time,bi,dmi)
++      cinner_w(ik) = - fltng_w * pref * twoap
++      cinner_dwdt(ik) = - fltng_dwdt * pref * twoap
++      bcin_w(ik) = cinner_w(ik) * oxakap * ( dsin(xakap) * oxakap
++     1 - dcos(xakap) )
++      bcin_dwdt(ik) = cinner_dwdt(ik) * oxakap * ( dsin(xakap) * oxakap
++     1 - dcos(xakap) )
++ 9000 continue
++      call ojrule(dk,bcin_w,bcin_dwdt)
++  999 return
++
++      end
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/distme.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/distme.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/distme.f	(revision 21577)
+@@ -0,0 +1,73 @@
++      subroutine distme(Ntime,Ntimp,Ntimm,time,bi,dmi,zhload)
++      implicit double precision (a-h,o-y)
++      integer Ntime,Ntimp,Ntimm
++      parameter (Nafter=1)
++      double precision pset(7)
++      double precision time(Ntimp),dmi(Ntimm),bi(Ntimm),dumbt(Ntimp)
++      double precision hload(Ntime),qpat(Ntime),qt(Ntime)
++      double precision zhload(Ntime),rhoi,distrad
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      common /blockp/ pset
++      common /blockrad/ distrad 
++      common /blocko/ rhoi
++      data g /9.832186d0/, yearco /3.15576d7/, eradm/6.371d6/
++      data dpi /3.1415926535897932d0/, dzero/0.0d0/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c The units of time(Ntimp) are ka and the height of the load in meters.
++c The slope, then for example, is in units of meters per ka.
++c Note that "dumbt( )" is designed to perserve the initial "time( )" variable.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 776 k = 1, Ntimp
++      dumbt(k) = time(k)
++  776 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 39 itime = 1, Ntime
++      hload(itime) = dble( zhload(itime) )
++   39 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c now set up a piece-wise history: bi() = y-intercept 
++c                                 dmi() = slope 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 70 i = 2, Ntime
++      dmi(i-1) = ( hload(i) - hload(i-1) )/( dumbt(i)  - dumbt(i-1) )
++      bi(i-1) = hload(i-1) - ( dmi(i)*dumbt(i-1) )  
++   70 continue
++c      write(6,*) zhload(1,1), zhload(1,2) 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c With pset(6) in mks units, lets convert the piecewise linear formulas
++c for the time-dependent ice load heights to dimensionless values w.r.t. time.
++c (tfact is in seconds)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      tfact = pset(2)/pset(4)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c get all times as dimensionless 
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 20 jt = 1, Nafter
++      time(Ntime + jt) = ( dumbt(Ntime + jt) * yearco * 1.0d3 ) / tfact
++   20 continue
++      do 75 ind = 1, Ntimm 
++      dmi(ind) =  dmi(ind) / (( yearco * 1.0d3 ) / tfact )
++   75 continue
++      do 77 j = 1, Ntime 
++      time(j) = ( dumbt(j) * yearco * 1.0d3 ) / tfact
++   77 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c create an incremental load in Pa and non-dimensionalized:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 80 iq = 1, Ntime
++      qpat(iq) = hload(iq)*rhoi*g
++      qt(iq) = qpat(iq) / pset(4)
++   80 continue
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c As the final step in this routine, create a dimensionless stress load from
++c qp.  Here we'll use bi( ) and dmi( ) vectors with dimensionless time.  Then
++c qp (and it's piece-wise decomposition) is ready for the direct dimensionless
++c integrals for the inverse Laplace transform and inverse Hankel transform
++c without further mutiplicative factors.
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      do 85 i = 2, Ntime
++      dmi(i-1) = ( qt(i) - qt(i-1) )/( time(i)  - time(i-1) )
++      bi(i-1) = qt(i-1) - ( dmi(i-1)*time(i-1) )  
++   85 continue
++  999 return
++      end
+Index: ../trunk-jpl/src/c/modules/GiaDeflectionCorex/freed.f
+===================================================================
+--- ../trunk-jpl/src/c/modules/GiaDeflectionCorex/freed.f	(revision 0)
++++ ../trunk-jpl/src/c/modules/GiaDeflectionCorex/freed.f	(revision 21577)
+@@ -0,0 +1,222 @@
++      subroutine freed(r2,u2,r1,u1,h,zk,e1,e2,e4,b0,b1,a2,a1,a0,decay
++     1,amps)        
++      implicit double precision (a-h,o-z)
++      double precision decay(2),amps(5)
++      double precision ac0,ac1,ac2,ac3,ac4,ac5,ac6,ac7,ac8,ac9,ac10,
++     1ac11
++      common /blockz/ zkp
++      data zero /0.0d0/, g /9.832186d0/
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Given the inputs to this subroutine(r2 through zk in the call
++c statement above), the outputs are coefficients of "s" that
++c are crucial to the Laplace transform inversion. From b0 and b1
++c we can compute the decay poles (or eigenvalues).    
++c 
++c  This is NOT true in our case, though. - SA
++c  NOTE IN THE CODE THAT A CALL TO THIS SUBROUTINE NEED NOT
++c  BE MADE AT EACH TIME STEP --- BUT WILL HAVE TO BE CALLED
++c  IN THE NUMERICAL INTEGRATION FOR COMPUTING THE INVERSE HANKEL
++c  TRANSFORM  ****
++c
++c Each term should be returned as dimensionless 
++c h => length   u2 => stress     taumx2 => time
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      zkp2 = zkp*zkp
++      ur = u1/u2
++      ghu2 = (g*h) / u2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac0 dimensional units are stress times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac0 = 4.0d0*ur*zkp2*( 1.0d0 + e4 +
++     1    2.0d0*e2*(1.0d0 + 2.0d0*zkp2) )
++c    DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac1 dimensional units are stress times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac1 = 2.0d0*r1*ghu2*zkp*(1.0d0 - e4 + 4.0d0*zkp*e2)
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac2 dimensional units are stress^2 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac2 = 8.0d0*ur*ur*(-1.0d0 + e1)*
++     1                     (1.0d0 + e1)*(1.0d0 + e2)*zkp2
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac3  dimensional units are stress^2 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac3 =
++     1   2.0d0*zkp*ghu2*ur*((r1 + r2)*(1.0d0 + e4) + 
++     2       2.0d0*(r2 - r1)*e2*( 1.0d0 + 2.0d0*zkp2 ))
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac4 dimensional units are stress^2 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac4 = ghu2*ghu2*r1*(r2 - r1)*
++     1      (1.0d0 - e4 + 4.0d0*zkp*e2)
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac5 dimensional units are stress^3 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac5 = 
++     1    4.0d0*zkp2*ur*ur*ur*(1.0d0 - e2 - 2.0d0*e1*zkp)*
++     2                (1.0d0 - e2 + 2.0d0*e1*zkp)
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac6 dimensional units are stress^3 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac6 =
++     1   2.0d0*zkp*ur*ur*(1.0d0 - e4
++     2               - 4.0d0*e2*zkp)*ghu2*r2
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac7 dimensional units are stress^3 times l^-2
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac7 =
++     1 ur * ( ( (1.0d0 - e1)*(1.0d0 + e1) )**2)*r1*(r2 - r1)
++     2 * ( ghu2*ghu2 )
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac8 dimensional units are stress^0 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac8 = -2.0d0*zkp*(1.0d0 + e2*(1.0d0 + 2.0d0*zkp*(1.0d0 + zkp))) 
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac9 dimensional units are stress^1 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac9 = 
++     1  ( 4.0d0*zkp*u1 -
++     2 g*h*(r2 - r1)*(1.0d0 + e2*(1.0d0 + 2.0d0*zkp*(1.0d0 + zkp)))
++     3    ) / u2
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac10 dimensional units are stress^2 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac10 =
++     1   -2.0d0*zkp*ur*ur*( 1.0d0 - e2
++     2  - 2.0d0*zkp*e2*(1.0d0 + zkp) )
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c ac11 dimensional units are stress^2 times l^-1
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      ac11 =
++     1 ghu2*ur*(r2 - r1)*(1.0d0 - e2*(1.0d0 + 2.0d0*zkp))
++c     DIMESIONLESS
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c Other functions may be found in file "apcw0.record"
++c (Nov. 9 1996)
++c The following is a Mathematica version of the isolation of the
++c  coefficeints of the L transform variable s in the denominator.  
++c  Here is where the set-up is performed to obtain the "free decay"
++c  times (with the Hankel transform variable "zk" embedded.  Note that
++c  some greater efficency could be achieved by further simplifying the
++c  combinations of "acn" functions which are now a series of function
++c  subroutines in the fortran code.  The corresponding Mathematica
++c  session is "twolayer.Linversion" dated Nov. 23, 1996.
++c
++c In[59]:=
++c Together[%]
++c Out[59]=
++c    ac2 + ac3 - ac4 + 2 ac5 - 2 ac6 + 2 ac7
++c ---------------------------------------------
++c ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c In[61]:=
++c Simplify[Coefficient[els,s^2]]
++c Out[61]=
++c 1
++c In[65]:=
++c eslnos =
++c ac5/(ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7) - 
++c    ac6/(ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7) + 
++c 
++c   ac7/(ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7)
++c    
++c Out[65]=
++c                      ac5
++c --------------------------------------------- - 
++c ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c 
++c                        ac6
++c  --------------------------------------------- + 
++c   ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c 
++c                        ac7
++c  ---------------------------------------------
++c  ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c In[66]:=
++c Simplify[%]
++c Out[66]=
++c                ac5 - ac6 + ac7
++c ---------------------------------------------
++c ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c a common denominator factor is: bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      bc =  (   ac0 - ac1 +
++     1                     ac2 + ac3
++     2                                 - ac4 + ac5 -
++     3           ac6 + ac7  )
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c b1: Denominator coefficent of s:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      b1 =
++     1  (  ac2 + ac3
++     2               - ac4 + ( 2.0d0 * ac5 )
++     3                                       - ( 2.0d0 * ac6 )
++     4                                       + ( 2.0d0 * ac7 )   ) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c b0: Denominator coefficent of s^0:
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      b0 =
++     1 (  ac5 - ac6 +
++     2                 ac7  ) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c the eigenvaules are just the solution of the quadratic in s:
++c so return as "decay"
++c  *** Note that the decay times are defined as positive ***
++c      if a negative inverse decay time is returned there is an error!
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      sb1 = b1*b1
++      fb0 = 4.0d0*b0
++      diff =  sb1 - fb0          
++      if(diff.le.zero) go to 25
++      rs =  dsqrt( diff )          
++      decay(1) = -( - b1 - rs ) / 2.0d0
++      decay(2) = -( - b1 + rs ) / 2.0d0          
++      go to 26
++   25 idgen = 100
++      go to 9990
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c and for the numerator part of the quadratic s dependence
++c the Mathematica session is:
++c
++c Out[14]=
++c                                                                      2
++c ac10 + ac11 + (2 ac10 + 2 ac11 + ac9) s + (ac10 + ac11 + ac8 + ac9) s
++c----------------------------------------------------------------------
++c            ac0 - ac1 + ac2 + ac3 - ac4 + ac5 - ac6 + ac7
++c
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++   26 a0 = ( ac10 + ac11 ) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      a1 = ( 2.0d0*( ac10 + ac11 )
++     1                             + ac9 )  / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      a2 =  (ac10 + ac11
++     1                   + ac8 + ac9) / bc
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++c and the following terms are the amplitudes of the inverse Laplace
++c transform solution for the non-q part.  (See the boxed equation on
++c page 4 of the Nov. 23 1996 notes.)
++c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++      decdif = 1.0d0/(decay(2) - decay(1))
++      amps(1) = -decdif*( decay(1) * ( a1 - a2*decay(1) ) - a0 )
++      amps(2) =  decdif*( decay(2) * ( a1 - a2*decay(2) ) - a0 )
++      amps(3) = a2
++      amps(4) = - decay(1) * amps(1) 
++      amps(5) = - decay(2) * amps(2)
++      go to 999
++ 9990 write(6,998) idgen
++  998 format(' idgen val ** fatal error ** degenerate e.v.'/1h ,1p,1i12) 
++  999 return
++      end
+Index: ../trunk-jpl/src/c/modules/modules.h
+===================================================================
+--- ../trunk-jpl/src/c/modules/modules.h	(revision 21576)
++++ ../trunk-jpl/src/c/modules/modules.h	(revision 21577)
+@@ -28,7 +28,7 @@
+ #include "./GetSolutionFromInputsx/GetSolutionFromInputsx.h"
+ #include "./GetVectorFromInputsx/GetVectorFromInputsx.h"
+ #include "./GetVectorFromControlInputsx/GetVectorFromControlInputsx.h"
+-#include "./GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h"
++#include "./GiaDeflectionCorex/GiaDeflectionCorex.h"
+ #include "./SetControlInputsFromVectorx/SetControlInputsFromVectorx.h"
+ #include "./SetActiveNodesLSMx/SetActiveNodesLSMx.h"
+ #include "./Gradjx/Gradjx.h"
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21576)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21577)
+@@ -76,7 +76,7 @@
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.issmb",TransientIssmbEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isthermal",TransientIsthermalEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isgroundingline",TransientIsgroundinglineEnum));
+-		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isgiaivins",TransientIsgiaivinsEnum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isgia",TransientIsgiaEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isesa",TransientIsesaEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isdamageevolution",TransientIsdamageevolutionEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.ishydrology",TransientIshydrologyEnum));
+@@ -84,7 +84,7 @@
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isslr",TransientIsslrEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.iscoupler",TransientIscouplerEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.materials.rheology_law",MaterialsRheologyLawEnum));
+-		parameters->AddObject(iomodel->CopyConstantObject("md.giaivins.cross_section_shape",GiaIvinsCrossSectionShapeEnum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.gia.cross_section_shape",GiaCrossSectionShapeEnum));
+ 
+ 		/*For stress balance only*/
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isFS",FlowequationIsFSEnum));
Index: /issm/oecreview/Archive/21337-21723/ISSM-21577-21578.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21577-21578.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21577-21578.diff	(revision 21726)
@@ -0,0 +1,357 @@
+Index: ../trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h	(revision 21578)
+@@ -1,40 +0,0 @@
+-/*!\file:  GiaIvinsDeflectionCoreArgs.h
+- * \brief place holder for arguments to the GiaIvinsDeflectionCoreArgs routine
+- */ 
+-
+-#ifndef _GIAIVINSDEFLECTIONCOREARGS_H_
+-#define _GIAIVINSDEFLECTIONCOREARGS_H_
+-
+-struct GiaIvinsDeflectionCoreArgs{
+-
+-	/*inputs: */
+-	IssmDouble currenttime; 
+-	IssmDouble* hes; //loading history (in ice thickness)
+-	int numtimes; //loading history length
+-	IssmDouble ri; //radial distance from center of disk to vertex  i
+-	IssmDouble re; //radius of disk
+-	IssmDouble* times; //loading history times
+-
+-	/*gia material parameters: */
+-	IssmDouble lithosphere_density;
+-	IssmDouble lithosphere_shear_modulus;
+-	IssmDouble lithosphere_thickness;
+-	IssmDouble mantle_density;
+-	IssmDouble mantle_shear_modulus;
+-	IssmDouble mantle_viscosity;
+-
+-	/*gia solution parameters: */
+-	int iedge;
+-
+-	/*ice properties: */
+-	IssmDouble rho_ice;
+-
+-	/*constants: */
+-	IssmDouble yts;
+-
+-	/*debug info: */
+-	int        idisk; //id of the element we are running the gia code in.
+-
+-};
+-
+-#endif
+Index: ../trunk-jpl/src/c/classes/classes.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/classes.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/classes.h	(revision 21578)
+@@ -125,7 +125,7 @@
+ #include "./IoModel.h"
+ #include "./Update.h"
+ #include "./FemModel.h"
+-#include "./GiaIvinsDeflectionCoreArgs.h"
++#include "./GiaDeflectionCoreArgs.h"
+ #include "./RiftStruct.h"
+ 
+ #endif
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21578)
+@@ -116,7 +116,7 @@
+ 		void SurfaceAbsMisfitx( IssmDouble* pJ);
+ 		void ThicknessAbsGradientx( IssmDouble* pJ);
+ 		void ThicknessPositivex(IssmDouble* pJ);
+-		#ifdef _HAVE_GIAIVINS_
++		#ifdef _HAVE_GIA_
+ 		void Deflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt, IssmDouble* x, IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h	(revision 0)
++++ ../trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h	(revision 21578)
+@@ -0,0 +1,40 @@
++/*!\file:  GiaDeflectionCoreArgs.h
++ * \brief place holder for arguments to the GiaDeflectionCoreArgs routine
++ */ 
++
++#ifndef _GIADEFLECTIONCOREARGS_H_
++#define _GIADEFLECTIONCOREARGS_H_
++
++struct GiaDeflectionCoreArgs{
++
++	/*inputs: */
++	IssmDouble currenttime; 
++	IssmDouble* hes; //loading history (in ice thickness)
++	int numtimes; //loading history length
++	IssmDouble ri; //radial distance from center of disk to vertex  i
++	IssmDouble re; //radius of disk
++	IssmDouble* times; //loading history times
++
++	/*gia material parameters: */
++	IssmDouble lithosphere_density;
++	IssmDouble lithosphere_shear_modulus;
++	IssmDouble lithosphere_thickness;
++	IssmDouble mantle_density;
++	IssmDouble mantle_shear_modulus;
++	IssmDouble mantle_viscosity;
++
++	/*gia solution parameters: */
++	int iedge;
++
++	/*ice properties: */
++	IssmDouble rho_ice;
++
++	/*constants: */
++	IssmDouble yts;
++
++	/*debug info: */
++	int        idisk; //id of the element we are running the gia code in.
++
++};
++
++#endif
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21577)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21578)
+@@ -627,7 +627,7 @@
+ 			analyses_temp[numanalyses++]=L2ProjectionBaseAnalysisEnum;
+ 			break;
+ 
+-		case GiaIvinsSolutionEnum:
++		case GiaSolutionEnum:
+ 			analyses_temp[numanalyses++]=GiaIvinsAnalysisEnum;
+ 			break;
+ 		
+@@ -648,7 +648,7 @@
+ 			break;
+ 
+ 		case TransientSolutionEnum:{
+-			bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslr,isesa,isgiaivins;
++			bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslr,isesa,isgia;
+ 			iomodel->FindConstant(&isSIA,"md.flowequation.isSIA");
+ 			iomodel->FindConstant(&isFS,"md.flowequation.isFS");
+ 			iomodel->FindConstant(&isthermal,"md.transient.isthermal");
+@@ -662,7 +662,7 @@
+ 			iomodel->FindConstant(&issmb,"md.transient.issmb");
+ 			iomodel->FindConstant(&isslr,"md.transient.isslr");
+ 			iomodel->FindConstant(&isesa,"md.transient.isesa");
+-			iomodel->FindConstant(&isgiaivins,"md.transient.isgiaivins");
++			iomodel->FindConstant(&isgia,"md.transient.isgia");
+ 			if(isstressbalance){
+ 				int  fe_FS;
+ 				iomodel->FindConstant(&fe_FS,"md.flowequation.fe_FS");
+@@ -709,7 +709,7 @@
+ 			if(isesa){
+ 				analyses_temp[numanalyses++]=EsaAnalysisEnum;
+ 			}
+-			if(isgiaivins){
++			if(isgia){
+ 				analyses_temp[numanalyses++]=GiaIvinsAnalysisEnum;
+ 			}
+ 
+@@ -2316,13 +2316,13 @@
+ }
+ /*}}}*/
+ #endif
+-#ifdef _HAVE_GIAIVINS_
++#ifdef _HAVE_GIA_
+ void FemModel::Deflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt, IssmDouble* x, IssmDouble* y){ /*{{{*/
+ 
+ 	/*Go through elements, and add contribution from each element to the deflection vector wg:*/
+ 	for(int i=0;i<elements->Size();i++){
+ 		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
+-		element->GiaIvinsDeflection(wg,dwgdt, x,y);
++		element->GiaDeflection(wg,dwgdt, x,y);
+ 	}
+ }
+ /*}}}*/
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21578)
+@@ -3535,9 +3535,9 @@
+ }
+ /*}}}*/
+ 
+-#ifdef _HAVE_GIAIVINS_
+-void       Penta::GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){/*{{{*/
+-	_error_("GIAIVINS deflection not implemented yet!");
++#ifdef _HAVE_GIA_
++void       Penta::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){/*{{{*/
++	_error_("GIA deflection not implemented yet!");
+ }
+ /*}}}*/
+ #endif
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21578)
+@@ -181,8 +181,8 @@
+ 		void           InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type);
+ 		#endif
+ 
+-		#ifdef _HAVE_GIAIVINS_
+-		void           GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
++		#ifdef _HAVE_GIA_
++		void           GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21578)
+@@ -164,8 +164,8 @@
+ 		IssmDouble     GetArea3D(void){_error_("not implemented yet!");};
+ 		IssmDouble     GetAreaSpherical(void){_error_("not implemented yet!");};
+ 
+-#ifdef _HAVE_GIAIVINS_
+-		void        GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
++#ifdef _HAVE_GIA_
++		void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
+ #endif
+ #ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21578)
+@@ -171,8 +171,8 @@
+ 		void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+-#ifdef _HAVE_GIAIVINS_
+-		void        GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
++#ifdef _HAVE_GIA_
++		void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
+ #endif
+ #ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21578)
+@@ -1561,8 +1561,8 @@
+ 				name==EsaNmotionEnum || 
+ 				name==EsaEmotionEnum || 
+ 				name==EsaDeltathicknessEnum || 
+-				name==GiaIvinsWEnum || 
+-				name==GiaIvinsdWdtEnum ||
++				name==GiaWEnum || 
++				name==GiadWdtEnum ||
+ 				name==SedimentHeadEnum ||
+ 				name==EplHeadEnum ||
+ 				name==SedimentHeadOldEnum ||
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21578)
+@@ -293,8 +293,8 @@
+ 		virtual void       WriteLevelsetSegment(DataSet* segments){_error_("not implemented yet");};
+ 		virtual void       ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum)=0;
+ 
+-		#ifdef _HAVE_GIAIVINS_
+-		virtual void       GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y)=0;
++		#ifdef _HAVE_GIA_
++		virtual void       GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y)=0;
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		virtual void          EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy)=0;
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21578)
+@@ -14,8 +14,8 @@
+ #include <math.h>
+ #include "../classes.h"
+ #include "../../shared/shared.h"
+-#ifdef _HAVE_GIAIVINS_
+-#include "../../modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h"
++#ifdef _HAVE_GIA_
++#include "../../modules/GiaDeflectionCorex/GiaDeflectionCorex.h"
+ #endif
+ /*}}}*/
+ 
+@@ -3452,8 +3452,8 @@
+ }
+ /*}}}*/
+ 
+-#ifdef _HAVE_GIAIVINS_
+-void       Tria::GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){/*{{{*/
++#ifdef _HAVE_GIA_
++void       Tria::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){/*{{{*/
+ 
+ 	int i;
+ 	int gsize;
+@@ -3491,15 +3491,15 @@
+ 	IssmDouble  wi;
+ 	IssmDouble  dwidt;
+ 
+-	/*arguments to GiaIvinsDeflectionCorex: */
+-	GiaIvinsDeflectionCoreArgs arguments;
++	/*arguments to GiaDeflectionCorex: */
++	GiaDeflectionCoreArgs arguments;
+ 
+ 	/*how many dofs are we working with here? */
+ 	this->parameters->FindParam(&gsize,MeshNumberofverticesEnum);
+ 	this->parameters->FindParam(&yts,ConstantsYtsEnum);
+ 
+ 	/*recover gia solution parameters: */
+-	this->parameters->FindParam(&cross_section_shape,GiaIvinsCrossSectionShapeEnum);
++	this->parameters->FindParam(&cross_section_shape,GiaCrossSectionShapeEnum);
+ 
+ 	/*what time is it? :*/
+ 	this->parameters->FindParam(&currenttime,TimeEnum);
+@@ -3517,12 +3517,12 @@
+ 	thickness_input->GetInputUpToCurrentTimeAverages(&hes,&times,&numtimes,currenttime);
+ 
+ 	/*recover mantle viscosity: */
+-	mantle_viscosity_input=inputs->GetInput(GiaIvinsMantleViscosityEnum);
++	mantle_viscosity_input=inputs->GetInput(GiaMantleViscosityEnum);
+ 	if (!mantle_viscosity_input)_error_("mantle viscosity input needed to compute gia deflection!");
+ 	mantle_viscosity_input->GetInputAverage(&mantle_viscosity);
+ 
+ 	/*recover lithosphere thickness: */
+-	lithosphere_thickness_input=inputs->GetInput(GiaIvinsLithosphereThicknessEnum);
++	lithosphere_thickness_input=inputs->GetInput(GiaLithosphereThicknessEnum);
+ 	if (!lithosphere_thickness_input)_error_("lithosphere thickness input needed to compute gia deflection!");
+ 	lithosphere_thickness_input->GetInputAverage(&lithosphere_thickness);
+ 
+@@ -3537,7 +3537,7 @@
+ 	x0=(xyz_list[0][0]+xyz_list[1][0]+xyz_list[2][0])/3.0;
+ 	y0=(xyz_list[0][1]+xyz_list[1][1]+xyz_list[2][1])/3.0;
+ 
+-	/*start loading GiaIvinsDeflectionCore arguments: */
++	/*start loading GiaDeflectionCore arguments: */
+ 	arguments.re=re;
+ 	arguments.hes=hes;
+ 	arguments.times=times;
+@@ -3563,7 +3563,7 @@
+ 		arguments.ri=ri;
+ 
+ 		/*for this Tria, compute contribution to rebound at vertex i: */
+-		GiaIvinsDeflectionCorex(&wi,&dwidt,&arguments);
++		GiaDeflectionCorex(&wi,&dwidt,&arguments);
+ 
+ 		/*plug value into solution vector: */
+ 		wg->SetValue(i,wi,ADD_VAL);
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21577)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21578)
+@@ -140,8 +140,8 @@
+ 		void			WriteLevelsetSegment(DataSet* segments);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+-		#ifdef _HAVE_GIAIVINS_
+-		void   GiaIvinsDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
++		#ifdef _HAVE_GIA_
++		void   GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+ 		void    EsaGeodetic2D(Vector<IssmDouble>* pUp,Vector<IssmDouble>* pNorth,Vector<IssmDouble>* pEast,IssmDouble* xx,IssmDouble* yy);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21578-21579.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21578-21579.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21578-21579.diff	(revision 21726)
@@ -0,0 +1,199 @@
+Index: ../trunk-jpl/src/c/cores/giaivins_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/giaivins_core.cpp	(revision 21578)
++++ ../trunk-jpl/src/c/cores/giaivins_core.cpp	(revision 21579)
+@@ -1,60 +0,0 @@
+-/*!\file: giaivins_core.cpp
+- * \brief: core of the GIAIVINS solution 
+- */ 
+-
+-#include "./cores.h"
+-#include "../toolkits/toolkits.h"
+-#include "../classes/classes.h"
+-#include "../shared/shared.h"
+-#include "../modules/modules.h"
+-#include "../solutionsequences/solutionsequences.h"
+-void giaivins_core(FemModel* femmodel){
+-
+-	Vector<IssmDouble> *wg    = NULL;
+-	Vector<IssmDouble> *dwdtg = NULL;
+-	IssmDouble          *x    = NULL;
+-	IssmDouble          *y    = NULL;
+-
+-	/*parameters: */
+-	bool save_results;
+-	int  gsize;
+-	int  configuration_type;
+-
+-	/*Recover some parameters: */
+-	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
+-	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
+-
+-	if(VerboseSolution()) _printf0_("   computing GIAIVINS\n");
+-
+-	/*Call on core computations: */
+-	femmodel->SetCurrentConfiguration(GiaIvinsAnalysisEnum);
+-
+-	/*Figure out size of g-set deflection vector and allocate solution vector: */
+-	gsize      = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum);
+-	wg = new Vector<IssmDouble>(gsize);
+-	dwdtg = new Vector<IssmDouble>(gsize);
+-
+-	/*first, recover x and y vectors from vertices: */
+-	VertexCoordinatesx(&x,&y,NULL,femmodel->vertices); //no need for z coordinate
+-
+-	/*call the main module: */
+-	femmodel->Deflection(wg,dwdtg,x,y);
+-
+-	/*assemble vector: */
+-	wg->Assemble();
+-	dwdtg->Assemble();
+-
+-	InputUpdateFromVectorx(femmodel,wg,GiaIvinsWEnum,VertexSIdEnum);
+-	InputUpdateFromVectorx(femmodel,dwdtg,GiaIvinsdWdtEnum,VertexSIdEnum);
+-
+-	if(save_results){
+-		if(VerboseSolution()) _printf0_("   saving results\n");
+-		int outputs[2] = {GiaIvinsWEnum,GiaIvinsdWdtEnum};
+-		femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2);
+-	}
+-	
+-	xDelete<IssmDouble>(x);
+-	xDelete<IssmDouble>(y);
+-
+-
+-}
+Index: ../trunk-jpl/src/c/cores/gia_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/gia_core.cpp	(revision 0)
++++ ../trunk-jpl/src/c/cores/gia_core.cpp	(revision 21579)
+@@ -0,0 +1,60 @@
++/*!\file: gia_core.cpp
++ * \brief: core of the GIA solution 
++ */ 
++
++#include "./cores.h"
++#include "../toolkits/toolkits.h"
++#include "../classes/classes.h"
++#include "../shared/shared.h"
++#include "../modules/modules.h"
++#include "../solutionsequences/solutionsequences.h"
++void gia_core(FemModel* femmodel){
++
++	Vector<IssmDouble> *wg    = NULL;
++	Vector<IssmDouble> *dwdtg = NULL;
++	IssmDouble          *x    = NULL;
++	IssmDouble          *y    = NULL;
++
++	/*parameters: */
++	bool save_results;
++	int  gsize;
++	int  configuration_type;
++
++	/*Recover some parameters: */
++	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
++	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
++
++	if(VerboseSolution()) _printf0_("   computing GIA\n");
++
++	/*Call on core computations: */
++	femmodel->SetCurrentConfiguration(GiaIvinsAnalysisEnum);
++
++	/*Figure out size of g-set deflection vector and allocate solution vector: */
++	gsize      = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum);
++	wg = new Vector<IssmDouble>(gsize);
++	dwdtg = new Vector<IssmDouble>(gsize);
++
++	/*first, recover x and y vectors from vertices: */
++	VertexCoordinatesx(&x,&y,NULL,femmodel->vertices); //no need for z coordinate
++
++	/*call the main module: */
++	femmodel->Deflection(wg,dwdtg,x,y);
++
++	/*assemble vector: */
++	wg->Assemble();
++	dwdtg->Assemble();
++
++	InputUpdateFromVectorx(femmodel,wg,GiaWEnum,VertexSIdEnum);
++	InputUpdateFromVectorx(femmodel,dwdtg,GiadWdtEnum,VertexSIdEnum);
++
++	if(save_results){
++		if(VerboseSolution()) _printf0_("   saving results\n");
++		int outputs[2] = {GiaWEnum,GiadWdtEnum};
++		femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2);
++	}
++	
++	xDelete<IssmDouble>(x);
++	xDelete<IssmDouble>(y);
++
++
++}
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21578)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21579)
+@@ -20,7 +20,7 @@
+ 
+ 	/*parameters: */
+ 	IssmDouble finaltime,dt,yts;
+-	bool       isstressbalance,ismasstransport,issmb,isFS,isthermal,isgroundingline,isgiaivins,isslr,iscoupler,ismovingfront,isdamageevolution,ishydrology;
++	bool       isstressbalance,ismasstransport,issmb,isFS,isthermal,isgroundingline,isgia,isslr,iscoupler,ismovingfront,isdamageevolution,ishydrology;
+ 	bool       save_results,dakota_analysis;
+ 	bool       time_adapt;
+ 	int        output_frequency;
+@@ -52,7 +52,7 @@
+ 	femmodel->parameters->FindParam(&ismasstransport,TransientIsmasstransportEnum);
+ 	femmodel->parameters->FindParam(&issmb,TransientIssmbEnum);
+ 	femmodel->parameters->FindParam(&isthermal,TransientIsthermalEnum);
+-	femmodel->parameters->FindParam(&isgiaivins,TransientIsgiaivinsEnum);
++	femmodel->parameters->FindParam(&isgia,TransientIsgiaEnum);
+ 	femmodel->parameters->FindParam(&isslr,TransientIsslrEnum);
+ 	femmodel->parameters->FindParam(&iscoupler,TransientIscouplerEnum);
+ 	femmodel->parameters->FindParam(&isgroundingline,TransientIsgroundinglineEnum);
+@@ -137,10 +137,10 @@
+ 		/*Calculate new basal melting on floating ice*/
+ 		FloatingiceMeltingRatex(femmodel);
+ 		
+-		if(isgiaivins){
++		if(isgia){
+ 			if(VerboseSolution()) _printf0_("   computing glacial isostatic adjustment\n");
+-			#ifdef _HAVE_GIAIVINS_
+-			giaivins_core(femmodel);
++			#ifdef _HAVE_GIA_
++			gia_core(femmodel);
+ 			#else
+ 			_error_("ISSM was not compiled with gia capabilities. Exiting");
+ 			#endif
+Index: ../trunk-jpl/src/c/cores/cores.h
+===================================================================
+--- ../trunk-jpl/src/c/cores/cores.h	(revision 21578)
++++ ../trunk-jpl/src/c/cores/cores.h	(revision 21579)
+@@ -45,7 +45,7 @@
+ void ad_core(FemModel* femmodel);
+ void adgradient_core(FemModel* femmodel);
+ void dummy_core(FemModel* femmodel);
+-void giaivins_core(FemModel* femmodel);
++void gia_core(FemModel* femmodel);
+ void esa_core(FemModel* femmodel);
+ void smb_core(FemModel* femmodel);
+ void damage_core(FemModel* femmodel);
+Index: ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp	(revision 21578)
++++ ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp	(revision 21579)
+@@ -64,11 +64,11 @@
+ 		case EsaSolutionEnum:
+ 			solutioncore=&esa_core;
+ 			break;
+-		case GiaIvinsSolutionEnum:
+-			#if _HAVE_GIAIVINS_
+-			solutioncore=&giaivins_core;
++		case GiaSolutionEnum:
++			#if _HAVE_GIA_
++			solutioncore=&gia_core;
+ 			#else
+-			_error_("ISSM not compiled with Gia Ivins capability");
++			_error_("ISSM not compiled with Gia capability");
+ 			#endif
+ 			break;
+ 		case DamageEvolutionSolutionEnum:
Index: /issm/oecreview/Archive/21337-21723/ISSM-21579-21580.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21579-21580.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21579-21580.diff	(revision 21726)
@@ -0,0 +1,264 @@
+Index: ../trunk-jpl/test/NightlyRun/test2072.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2072.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2072.m	(revision 21580)
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2081.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2081.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2081.m	(revision 21580)
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2073.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2073.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2073.m	(revision 21580)
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2082.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2082.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2082.m	(revision 21580)
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2083.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2083.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2083.m	(revision 21580)
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2001.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2001.m	(revision 21580)
+@@ -1,4 +1,4 @@
+-%Test Name: SquareSheetConstrainedGiaIvins2d
++%Test Name: SquareSheetConstrainedGia2d
+ %GIA test, inspired on test101
+ md=triangle(model(),'../Exp/Square.exp',100000.);
+ md=setmask(md,'','');
+@@ -19,12 +19,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2002.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2002.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2002.m	(revision 21580)
+@@ -43,6 +43,8 @@
+ pos=find(md.slr.deltathickness); md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
+ % }}}
+ 
++md.slr.ocean_area_scaling=0; 
++
+ %geometry
+ di=md.materials.rho_ice/md.materials.rho_water;
+ md.geometry.thickness=ones(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test2001.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21580)
+@@ -1,4 +1,4 @@
+-#Test Name: SquareSheetConstrainedGiaIvins2d
++#Test Name: SquareSheetConstrainedGia2d
+ import numpy as np
+ import copy
+ from model import *
+@@ -30,11 +30,11 @@
+ 
+ #Solve for GIA deflection 
+ md.cluster=generic('name',gethostname(),'np',3)
+-md=solve(md,'GiaIvins')
++md=solve(md,'Gia')
+ 
+ #Fields and tolerances to track changes
+-field_names     =['GiaIvinsW','GiaIvinsdWdt']
++field_names     =['GiaW','GiadWdt']
+ field_tolerances=[1e-13,1e-13]
+-field_values    =[md.results.GiaIvinsSolution.GiaIvinsW,
+-									md.results.GiaIvinsSolution.GiaIvinsdWdt]
++field_values    =[md.results.GiaSolution.GiaW,
++									md.results.GiaSolution.GiadWdt]
+ 
+Index: ../trunk-jpl/test/NightlyRun/test2051.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2051.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2051.m	(revision 21580)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksAB.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2002100; % after 2 kyr of deglaciation 
+@@ -21,12 +21,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2052.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2052.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2052.m	(revision 21580)
+@@ -21,12 +21,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2053.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2053.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2053.m	(revision 21580)
+@@ -21,12 +21,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
+Index: ../trunk-jpl/test/NightlyRun/test2071.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2071.m	(revision 21579)
++++ ../trunk-jpl/test/NightlyRun/test2071.m	(revision 21580)
+@@ -20,12 +20,12 @@
+ %% solve for GIA deflection 
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.verbose=verbose('1111111');
+-md=solve(md,'GiaIvins');
++md=solve(md,'Gia');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'GiaIvinsW','GiaIvinsdWdt'};
++field_names     ={'GiaW','GiadWdt'};
+ field_tolerances={1e-13,1e-13};
+ field_values={...
+-	(md.results.GiaIvinsSolution.GiaIvinsW),...
+-	(md.results.GiaIvinsSolution.GiaIvinsdWdt),...
++	(md.results.GiaSolution.GiaW),...
++	(md.results.GiaSolution.GiadWdt),...
+ 	};
Index: /issm/oecreview/Archive/21337-21723/ISSM-21580-21581.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21580-21581.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21580-21581.diff	(revision 21726)
@@ -0,0 +1,30 @@
+Index: ../trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par
+===================================================================
+--- ../trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par	(revision 21580)
++++ ../trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par	(revision 21581)
+@@ -17,8 +17,8 @@
+ md.materials.rho_ice=1000; %kg m^3
+ 
+ %GIA parameters specific to Experiments A  and B
+-md.giaivins.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
+-md.giaivins.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
++md.gia.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
++md.gia.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
+ md.materials.lithosphere_shear_modulus=6.7*10^10;                  %in Pa
+ md.materials.lithosphere_density=3.36;                             %in g/cm^3
+ md.materials.mantle_shear_modulus=1.45*10^11;                      %in Pa
+Index: ../trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par
+===================================================================
+--- ../trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par	(revision 21580)
++++ ../trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par	(revision 21581)
+@@ -17,8 +17,8 @@
+ md.materials.rho_ice=1000; %kg m^3
+ 
+ %GIA parameters specific to Experiments A  and B
+-md.giaivins.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
+-md.giaivins.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
++md.gia.mantle_viscosity=10^21*ones(md.mesh.numberofvertices,1);    %in Pa.s
++md.gia.lithosphere_thickness=100*ones(md.mesh.numberofvertices,1); %in km
+ md.materials.lithosphere_shear_modulus=6.7*10^10;                  %in Pa
+ md.materials.lithosphere_density=3.32;                             %in g/cm^3
+ md.materials.mantle_shear_modulus=1.45*10^11;                      %in Pa
Index: /issm/oecreview/Archive/21337-21723/ISSM-21581-21582.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21581-21582.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21581-21582.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/solve/solve.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.py	(revision 21581)
++++ ../trunk-jpl/src/m/solve/solve.py	(revision 21582)
+@@ -112,7 +112,7 @@
+ 	#Write all input files
+ 	marshall(md)                                           # bin file
+ 	md.toolkits.ToolkitsFile(md.miscellaneous.name+'.toolkits')    # toolkits file
+-	cluster.BuildQueueScript(md.private.runtimename,md.miscellaneous.name,md.private.solution,md.settings.io_gather,md.debug.valgrind,md.debug.gprof,md.qmu.isdakotai,md.transient.isoceancoupling)    # queue file
++	cluster.BuildQueueScript(md.private.runtimename,md.miscellaneous.name,md.private.solution,md.settings.io_gather,md.debug.valgrind,md.debug.gprof,md.qmu.isdakota,md.transient.isoceancoupling)    # queue file
+ 
+ 	#Stop here if batch mode
+ 	if options.getfieldvalue('batch','no')=='yes':
Index: /issm/oecreview/Archive/21337-21723/ISSM-21582-21583.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21582-21583.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21582-21583.diff	(revision 21726)
@@ -0,0 +1,338 @@
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21582)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21583)
+@@ -334,8 +334,8 @@
+ 	ThermalStabilizationEnum,
+ 	ThermalNumRequestedOutputsEnum,
+ 	ThermalRequestedOutputsEnum,
+-	GiaIvinsMantleViscosityEnum,
+-	GiaIvinsLithosphereThicknessEnum,
++	GiaMantleViscosityEnum,
++	GiaLithosphereThicknessEnum,
+ 	ThicknessEnum,
+ 	TimesteppingStartTimeEnum,
+ 	TimesteppingFinalTimeEnum,
+@@ -349,7 +349,7 @@
+ 	TransientIsgroundinglineEnum,
+ 	TransientIsmasstransportEnum,
+ 	TransientIsthermalEnum,
+-	TransientIsgiaivinsEnum,
++	TransientIsgiaEnum,
+ 	TransientIsesaEnum,
+ 	TransientIsdamageevolutionEnum,
+ 	TransientIshydrologyEnum,
+@@ -567,9 +567,9 @@
+ 	StrainRatezzEnum,
+ 	DivergenceEnum,
+ 	MaxDivergenceEnum,
+-	GiaIvinsCrossSectionShapeEnum,
+-	GiaIvinsdWdtEnum,
+-	GiaIvinsWEnum, 
++	GiaCrossSectionShapeEnum,
++	GiadWdtEnum,
++	GiaWEnum, 
+ 	/*}}}*/
+ 	/*Results{{{*/
+ 	SaveResultsEnum,
+@@ -930,7 +930,7 @@
+ 	ThermalSolutionEnum,
+ 	TransientSolutionEnum,
+ 	UzawaPressureAnalysisEnum,
+-	GiaIvinsSolutionEnum,
++	GiaSolutionEnum,
+ 	GiaIvinsAnalysisEnum,
+ 	EsaSolutionEnum,
+ 	EsaAnalysisEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21583)
+@@ -340,8 +340,8 @@
+ 		case ThermalStabilizationEnum : return "ThermalStabilization";
+ 		case ThermalNumRequestedOutputsEnum : return "ThermalNumRequestedOutputs";
+ 		case ThermalRequestedOutputsEnum : return "ThermalRequestedOutputs";
+-		case GiaIvinsMantleViscosityEnum : return "GiaIvinsMantleViscosity";
+-		case GiaIvinsLithosphereThicknessEnum : return "GiaIvinsLithosphereThickness";
++		case GiaMantleViscosityEnum : return "GiaMantleViscosity";
++		case GiaLithosphereThicknessEnum : return "GiaLithosphereThickness";
+ 		case ThicknessEnum : return "Thickness";
+ 		case TimesteppingStartTimeEnum : return "TimesteppingStartTime";
+ 		case TimesteppingFinalTimeEnum : return "TimesteppingFinalTime";
+@@ -355,7 +355,7 @@
+ 		case TransientIsgroundinglineEnum : return "TransientIsgroundingline";
+ 		case TransientIsmasstransportEnum : return "TransientIsmasstransport";
+ 		case TransientIsthermalEnum : return "TransientIsthermal";
+-		case TransientIsgiaivinsEnum : return "TransientIsgiaivins";
++		case TransientIsgiaEnum : return "TransientIsgia";
+ 		case TransientIsesaEnum : return "TransientIsesa";
+ 		case TransientIsdamageevolutionEnum : return "TransientIsdamageevolution";
+ 		case TransientIshydrologyEnum : return "TransientIshydrology";
+@@ -565,9 +565,9 @@
+ 		case StrainRatezzEnum : return "StrainRatezz";
+ 		case DivergenceEnum : return "Divergence";
+ 		case MaxDivergenceEnum : return "MaxDivergence";
+-		case GiaIvinsCrossSectionShapeEnum : return "GiaIvinsCrossSectionShape";
+-		case GiaIvinsdWdtEnum : return "GiaIvinsdWdt";
+-		case GiaIvinsWEnum : return "GiaIvinsW";
++		case GiaCrossSectionShapeEnum : return "GiaCrossSectionShape";
++		case GiadWdtEnum : return "GiadWdt";
++		case GiaWEnum : return "GiaW";
+ 		case SaveResultsEnum : return "SaveResults";
+ 		case BoolExternalResultEnum : return "BoolExternalResult";
+ 		case DoubleExternalResultEnum : return "DoubleExternalResult";
+@@ -900,7 +900,7 @@
+ 		case ThermalSolutionEnum : return "ThermalSolution";
+ 		case TransientSolutionEnum : return "TransientSolution";
+ 		case UzawaPressureAnalysisEnum : return "UzawaPressureAnalysis";
+-		case GiaIvinsSolutionEnum : return "GiaIvinsSolution";
++		case GiaSolutionEnum : return "GiaSolution";
+ 		case GiaIvinsAnalysisEnum : return "GiaIvinsAnalysis";
+ 		case EsaSolutionEnum : return "EsaSolution";
+ 		case EsaAnalysisEnum : return "EsaAnalysis";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21583)
+@@ -346,8 +346,8 @@
+ 	      else if (strcmp(name,"ThermalStabilization")==0) return ThermalStabilizationEnum;
+ 	      else if (strcmp(name,"ThermalNumRequestedOutputs")==0) return ThermalNumRequestedOutputsEnum;
+ 	      else if (strcmp(name,"ThermalRequestedOutputs")==0) return ThermalRequestedOutputsEnum;
+-	      else if (strcmp(name,"GiaIvinsMantleViscosity")==0) return GiaIvinsMantleViscosityEnum;
+-	      else if (strcmp(name,"GiaIvinsLithosphereThickness")==0) return GiaIvinsLithosphereThicknessEnum;
++	      else if (strcmp(name,"GiaMantleViscosity")==0) return GiaMantleViscosityEnum;
++	      else if (strcmp(name,"GiaLithosphereThickness")==0) return GiaLithosphereThicknessEnum;
+ 	      else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
+ 	      else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
+ 	      else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
+@@ -361,7 +361,7 @@
+ 	      else if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum;
+ 	      else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum;
+ 	      else if (strcmp(name,"TransientIsthermal")==0) return TransientIsthermalEnum;
+-	      else if (strcmp(name,"TransientIsgiaivins")==0) return TransientIsgiaivinsEnum;
++	      else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum;
+ 	      else if (strcmp(name,"TransientIsesa")==0) return TransientIsesaEnum;
+ 	      else if (strcmp(name,"TransientIsdamageevolution")==0) return TransientIsdamageevolutionEnum;
+ 	      else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum;
+@@ -577,9 +577,9 @@
+ 	      else if (strcmp(name,"StrainRatezz")==0) return StrainRatezzEnum;
+ 	      else if (strcmp(name,"Divergence")==0) return DivergenceEnum;
+ 	      else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
+-	      else if (strcmp(name,"GiaIvinsCrossSectionShape")==0) return GiaIvinsCrossSectionShapeEnum;
+-	      else if (strcmp(name,"GiaIvinsdWdt")==0) return GiaIvinsdWdtEnum;
+-	      else if (strcmp(name,"GiaIvinsW")==0) return GiaIvinsWEnum;
++	      else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
++	      else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
++	      else if (strcmp(name,"GiaW")==0) return GiaWEnum;
+ 	      else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
+ 	      else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
+ 	      else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
+@@ -921,7 +921,7 @@
+ 	      else if (strcmp(name,"ThermalSolution")==0) return ThermalSolutionEnum;
+ 	      else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
+ 	      else if (strcmp(name,"UzawaPressureAnalysis")==0) return UzawaPressureAnalysisEnum;
+-	      else if (strcmp(name,"GiaIvinsSolution")==0) return GiaIvinsSolutionEnum;
++	      else if (strcmp(name,"GiaSolution")==0) return GiaSolutionEnum;
+ 	      else if (strcmp(name,"GiaIvinsAnalysis")==0) return GiaIvinsAnalysisEnum;
+ 	      else if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum;
+ 	      else if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum;
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21582)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21583)
+@@ -452,18 +452,18 @@
+ issm_sources += ./analyses/ExtrapolationAnalysis.cpp
+ endif
+ #}}}
+-#GiaIvins sources  {{{
++#Gia sources  {{{
+ if GIAIVINS
+-issm_sources +=  ./cores/giaivins_core.cpp\
++issm_sources +=  ./cores/gia_core.cpp\
+ 					./analyses/GiaIvinsAnalysis.cpp\
+-					./modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp\
+-					./modules/GiaIvinsDeflectionCorex/distme.f\
+-					./modules/GiaIvinsDeflectionCorex/freed.f\
+-					./modules/GiaIvinsDeflectionCorex/ojrule.f\
+-					./modules/GiaIvinsDeflectionCorex/pwise.f\
+-					./modules/GiaIvinsDeflectionCorex/qwise.f\
+-					./modules/GiaIvinsDeflectionCorex/stot.f\
+-					./modules/GiaIvinsDeflectionCorex/what0.f
++					./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
+ endif
+ #}}}
+ #Esa sources  {{{
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21583)
+@@ -139,7 +139,7 @@
+ 		
+ 		if(isgia){
+ 			if(VerboseSolution()) _printf0_("   computing glacial isostatic adjustment\n");
+-			#ifdef _HAVE_GIA_
++			#ifdef _HAVE_GIAIVINS_
+ 			gia_core(femmodel);
+ 			#else
+ 			_error_("ISSM was not compiled with gia capabilities. Exiting");
+Index: ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp	(revision 21583)
+@@ -65,7 +65,7 @@
+ 			solutioncore=&esa_core;
+ 			break;
+ 		case GiaSolutionEnum:
+-			#if _HAVE_GIA_
++			#if _HAVE_GIAIVINS_
+ 			solutioncore=&gia_core;
+ 			#else
+ 			_error_("ISSM not compiled with Gia capability");
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21582)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21583)
+@@ -116,7 +116,7 @@
+ 		void SurfaceAbsMisfitx( IssmDouble* pJ);
+ 		void ThicknessAbsGradientx( IssmDouble* pJ);
+ 		void ThicknessPositivex(IssmDouble* pJ);
+-		#ifdef _HAVE_GIA_
++		#ifdef _HAVE_GIAIVINS_
+ 		void Deflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt, IssmDouble* x, IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21583)
+@@ -2316,7 +2316,7 @@
+ }
+ /*}}}*/
+ #endif
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ void FemModel::Deflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt, IssmDouble* x, IssmDouble* y){ /*{{{*/
+ 
+ 	/*Go through elements, and add contribution from each element to the deflection vector wg:*/
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21583)
+@@ -293,7 +293,7 @@
+ 		virtual void       WriteLevelsetSegment(DataSet* segments){_error_("not implemented yet");};
+ 		virtual void       ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum)=0;
+ 
+-		#ifdef _HAVE_GIA_
++		#ifdef _HAVE_GIAIVINS_
+ 		virtual void       GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y)=0;
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21583)
+@@ -14,7 +14,7 @@
+ #include <math.h>
+ #include "../classes.h"
+ #include "../../shared/shared.h"
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ #include "../../modules/GiaDeflectionCorex/GiaDeflectionCorex.h"
+ #endif
+ /*}}}*/
+@@ -3452,7 +3452,7 @@
+ }
+ /*}}}*/
+ 
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ void       Tria::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){/*{{{*/
+ 
+ 	int i;
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21583)
+@@ -140,7 +140,7 @@
+ 		void			WriteLevelsetSegment(DataSet* segments);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+-		#ifdef _HAVE_GIA_
++		#ifdef _HAVE_GIAIVINS_
+ 		void   GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21583)
+@@ -3535,7 +3535,7 @@
+ }
+ /*}}}*/
+ 
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ void       Penta::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){/*{{{*/
+ 	_error_("GIA deflection not implemented yet!");
+ }
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21583)
+@@ -181,7 +181,7 @@
+ 		void           InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type);
+ 		#endif
+ 
+-		#ifdef _HAVE_GIA_
++		#ifdef _HAVE_GIAIVINS_
+ 		void           GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y);
+ 		#endif
+ 		#ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21583)
+@@ -164,7 +164,7 @@
+ 		IssmDouble     GetArea3D(void){_error_("not implemented yet!");};
+ 		IssmDouble     GetAreaSpherical(void){_error_("not implemented yet!");};
+ 
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ 		void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
+ #endif
+ #ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21582)
++++ ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21583)
+@@ -171,7 +171,7 @@
+ 		void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+-#ifdef _HAVE_GIA_
++#ifdef _HAVE_GIAIVINS_
+ 		void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
+ #endif
+ #ifdef _HAVE_ESA_
+Index: ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp	(revision 21582)
++++ ../trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp	(revision 21583)
+@@ -30,8 +30,8 @@
+ 	}
+ 
+ 	iomodel->FetchDataToInput(elements,"md.geometry.thickness",ThicknessEnum);
+-	iomodel->FetchDataToInput(elements,"md.giaivins.mantle_viscosity",GiaIvinsMantleViscosityEnum);
+-	iomodel->FetchDataToInput(elements,"md.giaivins.lithosphere_thickness",GiaIvinsLithosphereThicknessEnum);
++	iomodel->FetchDataToInput(elements,"md.gia.mantle_viscosity",GiaMantleViscosityEnum);
++	iomodel->FetchDataToInput(elements,"md.gia.lithosphere_thickness",GiaLithosphereThicknessEnum);
+ 	iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
+ }/*}}}*/
+ void GiaIvinsAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21583-21584.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21583-21584.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21583-21584.diff	(revision 21726)
@@ -0,0 +1,528 @@
+Index: ../trunk-jpl/src/m/solve/solve.js
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.js	(revision 21583)
++++ ../trunk-jpl/src/m/solve/solve.js	(revision 21584)
+@@ -17,7 +17,7 @@
+ //		 - 'SurfaceSlope'       or 'ssl'
+ //		 - 'Hydrology'          or 'hy'
+ //      - 'DamageEvolution'   or 'da'
+-//		 - 'GiaIvins'                or 'giaivins'
++//		 - 'Gia'                or 'gia'
+ //		 - 'Sealevelrise'       or 'slr'
+ //
+ //  extra options:
+@@ -58,8 +58,8 @@
+ 		solutionstring = 'HydrologySolution';
+ 	}else if((solutionstring.toLowerCase() === 'da') || (solutionstring.toLowerCase() === 'damageevolution')){
+ 		solutionstring = 'DamageEvolutionSolution';
+-	}else if((solutionstring.toLowerCase() === 'giaivins') || (solutionstring.toLowerCase() === 'giaivins')){
+-		solutionstring = 'GiaIvinsSolution';
++	}else if((solutionstring.toLowerCase() === 'gia') || (solutionstring.toLowerCase() === 'gia')){
++		solutionstring = 'GiaSolution';
+ 	}else if((solutionstring.toLowerCase() === 'slr') || (solutionstring.toLowerCase() === 'sealevelrise')){
+ 		solutionstring = 'SealevelriseSolution';
+ 	}else{
+Index: ../trunk-jpl/src/m/solve/solve.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.py	(revision 21583)
++++ ../trunk-jpl/src/m/solve/solve.py	(revision 21584)
+@@ -27,7 +27,7 @@
+ 		 - 'SurfaceSlope'     or 'ssl'
+ 		 - 'Hydrology'        or 'hy'
+ 		 - 'DamageEvolution'  or 'da'
+-		 - 'GiaIvins'              or 'giaivins'
++		 - 'Gia'              or 'gia'
+ 		 - 'Sealevelrise'     or 'slr'
+ 
+ 	   extra options:
+@@ -63,8 +63,8 @@
+ 		solutionstring = 'HydrologySolution';
+ 	elif solutionstring.lower() == 'da' or solutionstring.lower() == 'damageevolution':
+ 		solutionstring = 'DamageEvolutionSolution';
+-	elif solutionstring.lower() == 'giaivins' or solutionstring.lower() == 'giaivins':
+-		solutionstring = 'GiaIvinsSolution';
++	elif solutionstring.lower() == 'gia' or solutionstring.lower() == 'gia':
++		solutionstring = 'GiaSolution';
+ 	elif solutionstring.lower() == 'slr' or solutionstring.lower() == 'sealevelrise':
+ 		solutionstring = 'SealevelriseSolution';
+ 	else: 	
+Index: ../trunk-jpl/src/m/solve/solve.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/solve.m	(revision 21583)
++++ ../trunk-jpl/src/m/solve/solve.m	(revision 21584)
+@@ -17,7 +17,7 @@
+ %		 - 'SurfaceSlope'       or 'ssl'
+ %		 - 'Hydrology'          or 'hy'
+ %      - 'DamageEvolution'    or 'da'
+-%		 - 'GiaIvins'           or 'giaivins'
++%		 - 'Gia'                or 'gia'
+ %		 - 'Esa'                or 'esa'
+ %		 - 'Sealevelrise'       or 'slr'
+ %
+@@ -61,8 +61,8 @@
+ 	solutionstring = 'HydrologySolution';
+ elseif strcmpi(solutionstring,'da') || strcmpi(solutionstring,'DamageEvolution')
+ 	solutionstring = 'DamageEvolutionSolution';
+-elseif strcmpi(solutionstring,'giaivins') || strcmpi(solutionstring,'GiaIvins')
+-	solutionstring = 'GiaIvinsSolution';
++elseif strcmpi(solutionstring,'gia') || strcmpi(solutionstring,'Gia')
++	solutionstring = 'GiaSolution';
+ elseif strcmpi(solutionstring,'esa') || strcmpi(solutionstring,'Esa')
+ 	solutionstring = 'EsaSolution';
+ elseif strcmpi(solutionstring,'slr') || strcmpi(solutionstring,'Sealevelrise')
+Index: ../trunk-jpl/src/m/consistency/ismodelselfconsistent.py
+===================================================================
+--- ../trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21583)
++++ ../trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21584)
+@@ -30,7 +30,7 @@
+ 	elif solutiontype == 'BedSlopeSolution':
+ 		analyses=['L2ProjectionBaseAnalysis']
+ 
+-	elif solutiontype == 'GiaIvinsSolution':
++	elif solutiontype == 'GiaSolution':
+ 		analyses=['GiaIvinsAnalysis']
+ 
+ 	elif solutiontype == 'TransientSolution':
+Index: ../trunk-jpl/src/m/consistency/ismodelselfconsistent.js
+===================================================================
+--- ../trunk-jpl/src/m/consistency/ismodelselfconsistent.js	(revision 21583)
++++ ../trunk-jpl/src/m/consistency/ismodelselfconsistent.js	(revision 21584)
+@@ -74,7 +74,7 @@
+ 	}else if(solutiontype ==='BedSlopeSolution'){
+ 		analyses=['L2ProjectionBaseAnalysis'];
+ 		
+-	}else if(solutiontype ==='GiaIvinsSolution'){
++	}else if(solutiontype ==='GiaSolution'){
+ 		analyses=['GiaIvinsAnalysis'];
+ 		
+ 	}else if(solutiontype ==='TransientSolution'){
+Index: ../trunk-jpl/src/m/consistency/ismodelselfconsistent.m
+===================================================================
+--- ../trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21583)
++++ ../trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21584)
+@@ -63,7 +63,7 @@
+ 		analyses={'L2ProjectionBaseAnalysis'};
+ 	elseif strcmp(solutiontype,'BedSlopeSolution')
+ 		analyses={'L2ProjectionBaseAnalysis'};
+-	elseif strcmp(solutiontype,'GiaIvinsSolution')
++	elseif strcmp(solutiontype,'GiaSolution')
+ 		analyses={'GiaIvinsAnalysis'};
+ 	elseif strcmp(solutiontype,'EsaSolution')
+ 		analyses={'EsaAnalysis'};
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21583)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21584)
+@@ -39,7 +39,7 @@
+ 		transient        = 0;
+ 		levelset			  = 0;
+ 		calving          = 0;
+-		giaivins         = 0;
++		gia				  = 0;
+ 		esa              = 0;
+ 
+ 		autodiff         = 0;
+@@ -229,8 +229,8 @@
+ 			if ~isnan(md.initialization.waterfraction),md.initialization.waterfraction=project2d(md,md.initialization.waterfraction,1);end;
+ 			if ~isnan(md.initialization.watercolumn),md.initialization.watercolumn=project2d(md,md.initialization.watercolumn,1);end;
+ 			%giaivins
+-			if ~isnan(md.giaivins.mantle_viscosity), md.giaivins.mantle_viscosity=project2d(md,md.giaivins.mantle_viscosity,1); end
+-			if ~isnan(md.giaivins.lithosphere_thickness), md.giaivins.lithosphere_thickness=project2d(md,md.giaivins.lithosphere_thickness,1); end
++			if ~isnan(md.gia.mantle_viscosity), md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1); end
++			if ~isnan(md.gia.lithosphere_thickness), md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1); end
+ 
+ 			%elementstype
+ 			if ~isnan(md.flowequation.element_equation)
+@@ -1114,7 +1114,7 @@
+ 			md.transient        = transient();
+ 			md.levelset			  = levelset();
+ 			md.calving          = calving();
+-			md.giaivins         = giaivins();
++			md.gia				  = giaivins();
+ 			md.esa              = esa();
+ 			md.autodiff         = autodiff();
+ 			md.inversion        = inversion();
+@@ -1286,7 +1286,7 @@
+ 			disp(sprintf('%19s: %-22s -- %s','transient'       ,['[1x1 ' class(self.transient) ']'],'parameters for transient solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','levelset'        ,['[1x1 ' class(self.levelset) ']'],'parameters for moving boundaries (level-set method)'));
+ 			disp(sprintf('%19s: %-22s -- %s','calving'         ,['[1x1 ' class(self.calving) ']'],'parameters for calving'));
+-			disp(sprintf('%19s: %-22s -- %s','giaivins'        ,['[1x1 ' class(self.giaivins) ']'],'parameters for giaivins solution'));
++			disp(sprintf('%19s: %-22s -- %s','gia'        ,['[1x1 ' class(self.gia) ']'],'parameters for gia solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','esa'             ,['[1x1 ' class(self.esa) ']'],'parameters for elastic adjustment solution'));
+ 			disp(sprintf('%19s: %-22s -- %s','autodiff'        ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters'));
+ 			disp(sprintf('%19s: %-22s -- %s','inversion'       ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods'));
+Index: ../trunk-jpl/src/m/classes/model.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.js	(revision 21583)
++++ ../trunk-jpl/src/m/classes/model.js	(revision 21584)
+@@ -36,7 +36,7 @@
+ 			console.log(sprintf("//19s: //-22s -- //s","trans"       ,"[1x1 " + typeof(this.trans) + "]","parameters for trans solution"));
+ 			console.log(sprintf("//19s: //-22s -- //s","levelset"        ,"[1x1 " + typeof(this.levelset) + "]","parameters for moving boundaries (level-set method)"));
+ 			console.log(sprintf("//19s: //-22s -- //s","calving"         ,"[1x1 " + typeof(this.calving) + "]","parameters for calving"));
+-			console.log(sprintf("//19s: //-22s -- //s","giaivins"             ,"[1x1 " + typeof(this.giaivins) + "]","parameters for giaivins solution"));
++			console.log(sprintf("//19s: //-22s -- //s","gia"             ,"[1x1 " + typeof(this.gia) + "]","parameters for gia solution"));
+ 			console.log(sprintf("//19s: //-22s -- //s","autodiff"        ,"[1x1 " + typeof(this.autodiff) + "]","automatic differentiation parameters"));
+ 			console.log(sprintf("//19s: //-22s -- //s","inversion"       ,"[1x1 " + typeof(this.inversion) + "]","parameters for inverse methods"));
+ 			console.log(sprintf("//19s: //-22s -- //s","qmu"             ,"[1x1 " + typeof(this.qmu) + "]","dakota properties"));
+@@ -77,7 +77,7 @@
+ 			this.trans            = new trans();
+ 			this.levelset		  = new levelset();
+ 			this.calving          = new calving();
+-			this.giaivins              = new giaivins();
++			this.gia              = new giaivins();
+ 			this.autodiff         = new autodiff();
+ 			this.inversion        = new inversion();
+ 			this.qmu              = new qmu();
+@@ -472,10 +472,10 @@
+                 md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1);
+ 
+             // giaivins
+-            if (!isNaN(md.giaivins.mantle_viscosity))
+-                md.giaivins.mantle_viscosity=project2d(md,md.giaivins.mantle_viscosity,1);
+-            if (!isNaN(md.giaivins.lithosphere_thickness))
+-                md.giaivins.lithosphere_thickness=project2d(md,md.giaivins.lithosphere_thickness,1);
++            if (!isNaN(md.gia.mantle_viscosity))
++                md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1);
++            if (!isNaN(md.gia.lithosphere_thickness))
++                md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1);
+ 
+             // elementstype
+             if (!isNaN(md.flowequation.element_equation)) {
+@@ -606,7 +606,7 @@
+ 		this.trans            = 0;
+ 		this.levelset         = 0;
+ 		this.calving          = 0;
+-		this.giaivins              = 0;
++		this.gia              = 0;
+ 
+ 		this.autodiff         = 0;
+ 		this.inversion        = 0;
+Index: ../trunk-jpl/src/m/classes/geometry.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/geometry.js	(revision 21583)
++++ ../trunk-jpl/src/m/classes/geometry.js	(revision 21584)
+@@ -28,7 +28,7 @@
+ 		} //}}}
+ 		this.checkconsistency = function(md,solution,analyses) { //{{{
+ 
+-			if ((solution=='TransientSolution' & md.trans.isgiaivins) | (solution=='GiaIvinsSolution')){
++			if ((solution=='TransientSolution' & md.trans.isgia) | (solution=='GiaSolution')){
+ 				checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'Inf',1,'>=',0);
+ 			}
+ 			else{
+Index: ../trunk-jpl/src/m/classes/giaivins.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/giaivins.py	(revision 21583)
++++ ../trunk-jpl/src/m/classes/giaivins.py	(revision 21584)
+@@ -46,9 +46,9 @@
+ 		if ('GiaAnalysis' not in  analyses):
+ 			return md 
+ 		
+-		md = checkfield(md,'fieldname','giaivins.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
+-		md = checkfield(md,'fieldname','giaivins.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
+-		md = checkfield(md,'fieldname','giaivins.cross_section_shape','numel',[1],'values',[1,2])
++		md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
++		md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0)
++		md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2])
+ 
+ 		#be sure that if we are running a masstransport ice flow model coupled with giaivins, that thickness forcings 
+ 		#are not provided into the future.
+Index: ../trunk-jpl/src/m/classes/giaivins.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/giaivins.m	(revision 21583)
++++ ../trunk-jpl/src/m/classes/giaivins.m	(revision 21584)
+@@ -28,13 +28,13 @@
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+ 			if ~ismember('GiaAnalysis',analyses), return; end
+-			md = checkfield(md,'fieldname','giaivins.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
+-			md = checkfield(md,'fieldname','giaivins.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
+-			md = checkfield(md,'fieldname','giaivins.cross_section_shape','numel',[1],'values',[1,2]);
++			md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
++			md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
++			md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]);
+ 
+ 			%be sure that if we are running a masstransport ice flow model coupled with giaivins, that thickness forcings 
+ 			%are not provided into the future.
+-			if strcmp(solution,'TransientSolution') & md.transient.ismasstransport & md.transient.isgiaivins,
++			if strcmp(solution,'TransientSolution') & md.transient.ismasstransport & md.transient.isgia,
+ 				%figure out if thickness is a transient forcing: 
+ 				if size(md.geometry.thickness,1)==md.mesh.numberofvertices+1,
+ 					%recover the furthest time "in time": 
+@@ -63,9 +63,9 @@
+ 		end % }}}
+ 		function savemodeljs(self,fid,modelname) % {{{
+ 		
+-			writejsdouble(fid,[modelname '.giaivins.mantle_viscosity'],self.mantle_viscosity);
+-			writejsdouble(fid,[modelname '.giaivins.lithosphere_thickness'],self.lithosphere_thickness);
+-			writejsdouble(fid,[modelname '.giaivins.cross_section_shape'],self.cross_section_shape);
++			writejsdouble(fid,[modelname '.gia.mantle_viscosity'],self.mantle_viscosity);
++			writejsdouble(fid,[modelname '.gia.lithosphere_thickness'],self.lithosphere_thickness);
++			writejsdouble(fid,[modelname '.gia.cross_section_shape'],self.cross_section_shape);
+ 
+ 		end % }}}
+ 	end
+Index: ../trunk-jpl/src/m/classes/transient.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.py	(revision 21583)
++++ ../trunk-jpl/src/m/classes/transient.py	(revision 21584)
+@@ -16,7 +16,7 @@
+ 		self.isstressbalance   = False
+ 		self.isthermal         = False
+ 		self.isgroundingline   = False
+-		self.isgiaivins             = False
++		self.isgia             = False
+ 		self.isesa             = False
+ 		self.isdamageevolution = False
+ 		self.ismovingfront     = False
+@@ -37,7 +37,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,'isstressbalance','indicates if a stressbalance solution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isthermal','indicates if a thermal solution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isgroundingline','indicates if a groundingline migration is used in the transient'))
+-		string="%s\n%s"%(string,fielddisplay(self,'isgiaivins','indicates if a postglacial rebound is used in the transient'))
++		string="%s\n%s"%(string,fielddisplay(self,'isgia','indicates if a postglacial rebound is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isesa','indicates whether an elastic adjustment model is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isdamageevolution','indicates whether damage evolution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient'))
+@@ -64,7 +64,7 @@
+ 		self.isstressbalance   = False
+ 		self.isthermal         = False
+ 		self.isgroundingline   = False
+-		self.isgiaivins             = False
++		self.isgia             = False
+ 		self.isesa             = False
+ 		self.isdamageevolution = False
+ 		self.ismovingfront     = False
+@@ -85,7 +85,7 @@
+ 		self.isstressbalance = True
+ 		self.isthermal       = True
+ 		self.isgroundingline = False
+-		self.isgiaivins           = False
++		self.isgia           = False
+ 		self.isesa           = False
+ 		self.isdamageevolution = False
+ 		self.ismovingfront   = False
+@@ -109,7 +109,7 @@
+ 		md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0,1])
+-		md = checkfield(md,'fieldname','transient.isgiaivins','numel',[1],'values',[0,1])
++		md = checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isesa','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isdamageevolution','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0,1])
+@@ -130,7 +130,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','isstressbalance','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isthermal','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isgroundingline','format','Boolean')
+-		WriteData(fid,prefix,'object',self,'fieldname','isgiaivins','format','Boolean')
++		WriteData(fid,prefix,'object',self,'fieldname','isgia','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isesa','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isdamageevolution','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean')
+Index: ../trunk-jpl/src/m/classes/giaivins.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/giaivins.js	(revision 21583)
++++ ../trunk-jpl/src/m/classes/giaivins.js	(revision 21584)
+@@ -26,13 +26,13 @@
+ 
+ 		if(!ArrayAnyEqual(ArrayIsMember('GiaAnalysis',analyses),1))return;
+ 
+-		checkfield(md,'fieldname','giaivins.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
+-		checkfield(md,'fieldname','giaivins.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
+-		checkfield(md,'fieldname','giaivins.cross_section_shape','numel',[1],'values',[1,2]);
++		checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
++		checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0);
++		checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]);
+ 
+ 		//be sure that if we are running a masstransport ice flow model coupled with giaivins, that thickness forcings 
+ 		//are not provided into the future.
+-		if (solution=='TransientSolution' & md.trans.ismasstransport & md.trans.isgiaivins){
++		if (solution=='TransientSolution' & md.trans.ismasstransport & md.trans.isgia){
+ 			//figure out if thickness is a transient forcing: 
+ 			if (md.geometry.thickness.length == (md.mesh.numberofvertices+1)){
+ 				//recover the furthest time "in time": 
+Index: ../trunk-jpl/src/m/classes/geometry.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/geometry.m	(revision 21583)
++++ ../trunk-jpl/src/m/classes/geometry.m	(revision 21584)
+@@ -52,7 +52,7 @@
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+-			if (strcmp(solution,'TransientSolution') & md.transient.isgiaivins) | strcmp(solution,'GiaIvinsSolution'),
++			if (strcmp(solution,'TransientSolution') & md.transient.isgia) | strcmp(solution,'GiaSolution'),
+ 				md = checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'Inf',1,'>=',0);
+ 			else
+ 				md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+Index: ../trunk-jpl/src/m/classes/trans.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/trans.js	(revision 21583)
++++ ../trunk-jpl/src/m/classes/trans.js	(revision 21584)
+@@ -13,7 +13,7 @@
+ 		this.isstressbalance = 1;
+ 		this.isthermal       = 1;
+ 		this.isgroundingline = 0;
+-		this.isgiaivins           = 0;
++		this.isgia           = 0;
+ 		this.isdamageevolution = 0;
+ 		this.ismovingfront   = 0;
+ 		this.ishydrology     = 0;
+@@ -33,7 +33,7 @@
+ 		fielddisplay(this,'isstressbalance','indicates whether a stressbalance solution is used in the transient');
+ 		fielddisplay(this,'isthermal','indicates whether a thermal solution is used in the transient');
+ 		fielddisplay(this,'isgroundingline','indicates whether a groundingline migration is used in the transient');
+-		fielddisplay(this,'isgiaivins','indicates whether a postglacial rebound model is used in the transient');
++		fielddisplay(this,'isgia','indicates whether a postglacial rebound model is used in the transient');
+ 		fielddisplay(this,'isdamageevolution','indicates whether damage evolution is used in the transient');
+ 		fielddisplay(this,'ismovingfront','indicates whether a moving front capability is used in the transient');
+ 		fielddisplay(this,'ishydrology','indicates whether an hydrology model is used');
+@@ -56,7 +56,7 @@
+ 			checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.isgroundingline','numel',[1],'values',[0, 1]);
+-			checkfield(md,'fieldname','trans.isgiaivins','numel',[1],'values',[0, 1]);
++			checkfield(md,'fieldname','trans.isgia','numel',[1],'values',[0, 1]);
+ 			checkfield(md,'fieldname','trans.isdamageevolution','numel',[1],'values',[0, 1]);
+ 			checkfield(md,'fieldname','trans.ismovingfront','numel',[1],'values',[0, 1]);
+ 			checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0 ,1]);
+@@ -72,7 +72,7 @@
+ 			WriteData(fid,prefix,'object',this,'fieldname','isstressbalance','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isthermal','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isgroundingline','format','Boolean');
+-			WriteData(fid,prefix,'object',this,'fieldname','isgiaivins','format','Boolean');
++			WriteData(fid,prefix,'object',this,'fieldname','isgia','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isdamageevolution','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','ishydrology','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','ismovingfront','format','Boolean');
+@@ -104,7 +104,7 @@
+ 	this.isstressbalance   = 0;
+ 	this.isthermal         = 0;
+ 	this.isgroundingline   = 0;
+-	this.isgiaivins             = 0;
++	this.isgia             = 0;
+ 	this.isdamageevolution = 0;
+ 	this.ismovingfront     = 0;
+ 	this.ishydrology       = 0;
+Index: ../trunk-jpl/src/m/classes/model.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.py	(revision 21583)
++++ ../trunk-jpl/src/m/classes/model.py	(revision 21584)
+@@ -106,7 +106,7 @@
+ 		self.transient        = transient()
+ 		self.levelset         = levelset()
+ 		self.calving          = calving()
+-		self.giaivins              = giaivins()
++		self.gia              = giaivins()
+ 
+ 		self.autodiff         = autodiff()
+ 		self.inversion        = inversion()
+@@ -149,7 +149,7 @@
+ 		        'transient',\
+ 		        'levelset',\
+ 		        'calving',\
+-						'giaivins',\
++					'gia',\
+ 		        'autodiff',\
+ 		        'inversion',\
+ 		        'qmu',\
+@@ -639,7 +639,7 @@
+ 
+ 		md.materials.extrude(md)
+ 		md.damage.extrude(md)
+-		md.giaivins.extrude(md)
++		md.gia.extrude(md)
+ 		md.mask.extrude(md)
+ 		md.qmu.extrude(md)
+ 		md.basalforcings.extrude(md)
+@@ -696,8 +696,8 @@
+                 if not np.isnan(md.initialization.epl_thickness).all(): md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1)
+ 
+ 		#giaivins
+-		if not np.isnan(md.giaivins.mantle_viscosity).all(): md.giaivins.mantle_viscosity=project2d(md,md.giaivins.mantle_viscosity,1) 
+-		if not np.isnan(md.giaivins.lithosphere_thickness).all(): md.giaivins.lithosphere_thickness=project2d(md,md.giaivins.lithosphere_thickness,1) 
++		if not np.isnan(md.gia.mantle_viscosity).all(): md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1) 
++		if not np.isnan(md.gia.lithosphere_thickness).all(): md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1) 
+ 
+ 		#elementstype
+ 		if not np.isnan(md.flowequation.element_equation).all():
+Index: ../trunk-jpl/src/m/classes/transient.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.m	(revision 21583)
++++ ../trunk-jpl/src/m/classes/transient.m	(revision 21584)
+@@ -10,7 +10,7 @@
+ 		isstressbalance   = 0;
+ 		isthermal         = 0;
+ 		isgroundingline   = 0;
+-		isgiaivins             = 0;
++		isgia             = 0;
+ 		isesa             = 0;
+ 		isdamageevolution = 0;
+ 		ismovingfront     = 0;
+@@ -37,7 +37,7 @@
+ 			self.isstressbalance = 0;
+ 			self.isthermal       = 0;
+ 			self.isgroundingline = 0;
+-			self.isgiaivins           = 0;
++			self.isgia           = 0;
+ 			self.isesa           = 0;
+ 			self.isdamageevolution = 0;
+ 			self.ismovingfront   =0;
+@@ -57,7 +57,7 @@
+ 			self.isstressbalance = 1;
+ 			self.isthermal       = 1;
+ 			self.isgroundingline = 0;
+-			self.isgiaivins           = 0;
++			self.isgia           = 0;
+ 			self.isesa           = 0;
+ 			self.isdamageevolution = 0;
+ 			self.ismovingfront   = 0;
+@@ -86,7 +86,7 @@
+ 			md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0 1]);
+-			md = checkfield(md,'fieldname','transient.isgiaivins','numel',[1],'values',[0 1]);
++			md = checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isesa','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isdamageevolution','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.ismovingfront','numel',[1],'values',[0 1]);
+@@ -108,7 +108,7 @@
+ 			fielddisplay(self,'isstressbalance','indicates whether a stressbalance solution is used in the transient');
+ 			fielddisplay(self,'isthermal','indicates whether a thermal solution is used in the transient');
+ 			fielddisplay(self,'isgroundingline','indicates whether a groundingline migration is used in the transient');
+-			fielddisplay(self,'isgiaivins','indicates whether a postglacial rebound model is used in the transient');
++			fielddisplay(self,'isgia','indicates whether a postglacial rebound model is used in the transient');
+ 			fielddisplay(self,'isesa','indicates whether an elastic adjustment model is used in the transient');
+ 			fielddisplay(self,'isdamageevolution','indicates whether damage evolution is used in the transient');
+ 			fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient');
+@@ -125,7 +125,7 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','isstressbalance','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isthermal','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isgroundingline','format','Boolean');
+-			WriteData(fid,prefix,'object',self,'fieldname','isgiaivins','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','isgia','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isesa','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isdamageevolution','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean');
+@@ -150,7 +150,7 @@
+ 			writejsdouble(fid,[modelname '.trans.isstressbalance'],self.isstressbalance);
+ 			writejsdouble(fid,[modelname '.trans.isthermal'],self.isthermal);
+ 			writejsdouble(fid,[modelname '.trans.isgroundingline'],self.isgroundingline);
+-			writejsdouble(fid,[modelname '.trans.isgiaivins'],self.isgiaivins);
++			writejsdouble(fid,[modelname '.trans.isgia'],self.isgia);
+ 			writejsdouble(fid,[modelname '.trans.isesa'],self.isesa);
+ 			writejsdouble(fid,[modelname '.trans.isdamageevolution'],self.isdamageevolution);
+ 			writejsdouble(fid,[modelname '.trans.ismovingfront'],self.ismovingfront);
+Index: ../trunk-jpl/src/m/classes/geometry.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/geometry.py	(revision 21583)
++++ ../trunk-jpl/src/m/classes/geometry.py	(revision 21584)
+@@ -44,7 +44,7 @@
+ 	#}}}
+ 	def checkconsistency(self,md,solution,analyses):    # {{{
+ 
+-		if (solution=='TransientSolution' and md.transient.isgiaivins) or (solution=='GiaIvinsSolution'):
++		if (solution=='TransientSolution' and md.transient.isgia) or (solution=='GiaSolution'):
+ 			md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'Inf',1,'>=',0,'timeseries',1)
+ 		else:
+ 			md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
Index: /issm/oecreview/Archive/21337-21723/ISSM-21584-21585.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21584-21585.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21584-21585.diff	(revision 21726)
@@ -0,0 +1,381 @@
+Index: ../trunk-jpl/test/Par/ValleyGlacierShelf.par
+===================================================================
+--- ../trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 21584)
++++ ../trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 21585)
+@@ -64,7 +64,7 @@
+ md.transient.ismasstransport = 0;
+ md.transient.isthermal = 0;
+ md.transient.isgroundingline = 1;
+-md.transient.isgiaivins = 0;
++md.transient.isgia = 0;
+ 
+ %Stressbalance
+ md.stressbalance.maxiter = 100;
+Index: ../trunk-jpl/test/Par/SquareSheetConstrained.par
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetConstrained.par	(revision 21584)
++++ ../trunk-jpl/test/Par/SquareSheetConstrained.par	(revision 21585)
+@@ -59,8 +59,8 @@
+ md.timestepping.final_time=3.;
+ 
+ %GIA: 
+-md.giaivins.lithosphere_thickness=100.*ones(md.mesh.numberofvertices,1); % in km
+-md.giaivins.mantle_viscosity=1.0*10^21*ones(md.mesh.numberofvertices,1); % in Pa.s
++md.gia.lithosphere_thickness=100.*ones(md.mesh.numberofvertices,1); % in km
++md.gia.mantle_viscosity=1.0*10^21*ones(md.mesh.numberofvertices,1); % in Pa.s
+ md.materials.lithosphere_shear_modulus=6.7*10^10;                   % in Pa
+ md.materials.lithosphere_density=3.32;                              % in g/cm^-3
+ md.materials.mantle_shear_modulus=1.45*10^11;                       % in Pa
+Index: ../trunk-jpl/test/Par/ValleyGlacierShelf.py
+===================================================================
+--- ../trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 21584)
++++ ../trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 21585)
+@@ -71,7 +71,7 @@
+ md.transient.ismasstransport=False
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ 
+ #Stressbalance
+ md.stressbalance.maxiter=100
+Index: ../trunk-jpl/test/Par/SquareSheetConstrained.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21584)
++++ ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21585)
+@@ -61,8 +61,8 @@
+ md.timestepping.final_time=3.
+ 
+ #GIA:
+-md.giaivins.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices)); # in km
+-md.giaivins.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices)); # in Pa.s
++md.gia.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices)); # in km
++md.gia.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices)); # in Pa.s
+ md.materials.lithosphere_shear_modulus=6.7*10**10;                          # in Pa
+ md.materials.lithosphere_density=3.32;                                      # in g/cm^-3
+ md.materials.mantle_shear_modulus=1.45*10**11;                              # in Pa
+Index: ../trunk-jpl/test/NightlyRun/test803.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test803.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test803.m	(revision 21585)
+@@ -19,7 +19,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=1;
+ md.transient.isgroundingline=1;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ 
+ md=solve(md,'Transient');
+ 
+Index: ../trunk-jpl/test/NightlyRun/test2081.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2081.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2081.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=2;    % for elliptical edge  
++md.gia.cross_section_shape=2;    % for elliptical edge  
+ 
+ %% define loading history 
+ md.timestepping.start_time=0.3;     % for t \approx 0 kyr : to get eleastic response!   
+Index: ../trunk-jpl/test/NightlyRun/test2073.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2073.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2073.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2400000; % for t \approx \infty 
+Index: ../trunk-jpl/test/NightlyRun/test804.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test804.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test804.m	(revision 21585)
+@@ -11,7 +11,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=1;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving.calvingrate=1000.*ones(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test2082.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2082.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2082.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=2;    % for elliptical edge 
++md.gia.cross_section_shape=2;    % for elliptical edge 
+ 
+ %% define loading history 
+ md.timestepping.start_time=1000.3;  % for t \approx 1 kyr 
+Index: ../trunk-jpl/test/NightlyRun/test805.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test805.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test805.m	(revision 21585)
+@@ -18,7 +18,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=1;
+ md.transient.isgroundingline=1;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving.calvingrate=1000.*ones(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test2083.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2083.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2083.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=2;    % for elliptical edge 
++md.gia.cross_section_shape=2;    % for elliptical edge 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2400000; % for t \approx \infty 
+Index: ../trunk-jpl/test/NightlyRun/test806.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test806.m	(revision 21585)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=0;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving=calvinglevermann();
+Index: ../trunk-jpl/test/NightlyRun/test801.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test801.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test801.py	(revision 21585)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test807.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test807.m	(revision 21585)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=0;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving.calvingrate=zeros(md.mesh.numberofvertices,1);
+Index: ../trunk-jpl/test/NightlyRun/test2001.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2001.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/SquareSheetConstrained.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2400000; %2,400 kyr :: EVALUATION TIME
+Index: ../trunk-jpl/test/NightlyRun/test808.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test808.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test808.m	(revision 21585)
+@@ -21,7 +21,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=0;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ md.transient.ismovingfront=1;
+ 
+ md.calving=calvingminthickness();
+Index: ../trunk-jpl/test/NightlyRun/test802.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test802.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test802.py	(revision 21585)
+@@ -26,7 +26,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test803.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test803.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test803.py	(revision 21585)
+@@ -28,7 +28,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ 
+ md=solve(md,'Transient')
+ 
+Index: ../trunk-jpl/test/NightlyRun/test804.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test804.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test804.py	(revision 21585)
+@@ -20,7 +20,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ md.transient.ismovingfront=True
+ 
+ md.calving.calvingrate=1000.*np.ones((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test805.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test805.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test805.py	(revision 21585)
+@@ -27,7 +27,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=True
+ md.transient.isgroundingline=True
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ md.transient.ismovingfront=True
+ 
+ md.calving.calvingrate=1000.*np.ones((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test806.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test806.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test806.py	(revision 21585)
+@@ -31,7 +31,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=False
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ md.transient.ismovingfront=True
+ 
+ md.calving=calvinglevermann()
+Index: ../trunk-jpl/test/NightlyRun/test2052.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2052.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2052.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksAB.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2005100; % after 5 kyr of deglaciation 
+Index: ../trunk-jpl/test/NightlyRun/test807.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test807.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test807.py	(revision 21585)
+@@ -31,7 +31,7 @@
+ md.transient.issmb=True
+ md.transient.isthermal=False
+ md.transient.isgroundingline=False
+-md.transient.isgiaivins=False
++md.transient.isgia=False
+ md.transient.ismovingfront=True
+ 
+ md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
+Index: ../trunk-jpl/test/NightlyRun/test2053.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2053.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2053.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksAB.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=2010100; % after 10 kyr of deglaciation 
+Index: ../trunk-jpl/test/NightlyRun/test801.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test801.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test801.m	(revision 21585)
+@@ -12,7 +12,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=0;
+ md.transient.isgroundingline=1;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ 
+ md=solve(md,'Transient');
+ 
+Index: ../trunk-jpl/test/NightlyRun/test2071.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2071.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2071.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=0.3;     % for t \approx 0 kyr : to get eleastic response!   
+Index: ../trunk-jpl/test/NightlyRun/test802.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test802.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test802.m	(revision 21585)
+@@ -17,7 +17,7 @@
+ md.transient.issmb=1;
+ md.transient.isthermal=1;
+ md.transient.isgroundingline=1;
+-md.transient.isgiaivins=0;
++md.transient.isgia=0;
+ 
+ md=solve(md,'Transient');
+ 
+Index: ../trunk-jpl/test/NightlyRun/test2001.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2001.py	(revision 21585)
+@@ -17,7 +17,7 @@
+ md=parameterize(md,'../Par/SquareSheetConstrained.py')
+ 
+ #Indicate what you want to compute 
+-md.giaivins.cross_section_shape=1    # for square-edged x-section 
++md.gia.cross_section_shape=1    # for square-edged x-section 
+ 
+ #Define loading history (see test2001.m for the description)
+ md.timestepping.start_time=2400000 # 2,400 kyr
+Index: ../trunk-jpl/test/NightlyRun/test2072.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2072.m	(revision 21584)
++++ ../trunk-jpl/test/NightlyRun/test2072.m	(revision 21585)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/GiaIvinsBenchmarksCD.par');
+ 
+ %% indicate what you want to compute 
+-md.giaivins.cross_section_shape=1;    % for square-edged x-section 
++md.gia.cross_section_shape=1;    % for square-edged x-section 
+ 
+ %% define loading history 
+ md.timestepping.start_time=1000.3;  % for t \approx 1 kyr 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21585-21586.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21585-21586.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21585-21586.diff	(revision 21726)
@@ -0,0 +1,24 @@
+Index: ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21585)
++++ ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21586)
+@@ -1110,6 +1110,7 @@
+ 			indices[5] = 11;
+ 			break;
+ 		case P1xP2Enum:
++		case P1xP3Enum:
+ 			numindices = 3;
+ 			indices    = xNew<int>(numindices);
+ 			indices[0] = 3;
+Index: ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 21585)
++++ ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 21586)
+@@ -433,6 +433,7 @@
+ 		case P1Enum:
+ 		case P1bubbleEnum:
+ 		case P1xP2Enum:
++		case P1xP3Enum:
+ 		case P2Enum:
+ 			  {
+ 				this->interpolation_type=P1Enum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21586-21587.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21586-21587.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21586-21587.diff	(revision 21726)
@@ -0,0 +1,36 @@
+Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21586)
++++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21587)
+@@ -661,6 +661,31 @@
+ 					}
+ 				}
+ 				break;
++			case P1xP3Enum:
++				for(i=0;i<iomodel->numberofvertices;i++){
++					if((iomodel->my_vertices[i])){
++						if (!xIsNan<IssmDouble>(spcdata[i])){
++							constraints->AddObject(new SpcDynamic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,dof,analysis_type));
++							count++;
++						}
++					}
++				}
++				for(i=0;i<iomodel->numberofedges;i++){
++					if(iomodel->edges[i*3+2]==2){
++						if(my_edges[i]){
++							v1 = iomodel->edges[3*i+0]-1;
++							v2 = iomodel->edges[3*i+1]-1;
++							if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){
++								constraints->AddObject(new SpcDynamic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+2*i+1,
++												dof,analysis_type));
++								constraints->AddObject(new SpcDynamic(iomodel->constraintcounter+count+2,iomodel->nodecounter+iomodel->numberofvertices+2*i+2,
++												dof,analysis_type));
++								count=count+2;
++							}
++						}
++					}
++				}
++				break;
+ 			default:
+ 				_error_("Finite element "<<EnumToStringx(finite_element)<<" not supported yet");
+ 		}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21587-21588.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21587-21588.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21587-21588.diff	(revision 21726)
@@ -0,0 +1,117 @@
+Index: ../trunk-jpl/src/m/plot/plot_mesh.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21587)
++++ ../trunk-jpl/src/m/plot/plot_mesh.py	(revision 21588)
+@@ -2,11 +2,10 @@
+ 	import pylab as p
+ except ImportError:
+ 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
++
+ import numpy as np
+-import matplotlib as mpl
+ from processmesh import processmesh
+ from applyoptions import applyoptions
+-from matplotlib.patches import Polygon
+ from mpl_toolkits.mplot3d.art3d import Line3DCollection
+ from mpl_toolkits.axes_grid1 import inset_locator
+ from mpl_toolkits.mplot3d import Axes3D
+@@ -29,7 +28,6 @@
+ 	else:
+ 		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
+ 		
+-		
+ 		AB=elements[:,0:2]
+ 		BC=elements[:,1:3]
+ 		CA=np.vstack((elements[:,2],elements[:,0])).T
+Index: ../trunk-jpl/src/m/plot/plot_icefront.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_icefront.py	(revision 21587)
++++ ../trunk-jpl/src/m/plot/plot_icefront.py	(revision 21588)
+@@ -15,19 +15,25 @@
+ 	#   See also: PLOTMODEL
+ #process mesh and data
+ 	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
+-	icefront=np.where(np.logical_and(np.sum(md.mask.ice_levelset[elements],1)<3,np.sum(md.mask.ice_levelset[elements],1)>-3)) 
++
++	#icefront check
++	icefront=np.where(np.abs(np.sum(md.mask.ice_levelset[elements],1))!=3) 
+ 	onlyice=np.where(np.sum(md.mask.ice_levelset[elements],1)==-3)
+ 	noice=np.where(np.sum(md.mask.ice_levelset[elements],1)==3)
+ 
++	#hydro neumann
++	hydro_neumann=np.where(md.hydrology.neumannflux!=0)
+ 	#plot mesh
+ 	ax.triplot(x,y,elements)
+ 
+ 	#highlight elements on neumann
+-	colors=np.asarray([0.5 for element in elements[icefront]])
+-	
+-	ax.tripcolor(x,y,elements[icefront],facecolors=colors,alpha=0.5,label='elements on ice front')#,facecolor='b'
++	if len(icefront[0])>0:
++		colors=np.asarray([0.5 for element in elements[icefront]])
++		ax.tripcolor(x,y,elements[icefront],facecolors=colors,alpha=0.5,label='elements on ice front')
++	if len(hydro_neumann[0])>0:
++		colors=np.asarray([0.5 for element in elements[hydro_neumann]])
++		ax.tripcolor(x,y,elements[hydro_neumann],facecolors=colors,alpha=0.5,label='non zero neumann flux for the hydrology')
+ 
+ 	#apply options
+ 	options.addfielddefault('title','Neumann boundary conditions')
+ 	options.addfielddefault('colorbar','off')
+-	applyoptions(md,[],options,fig,ax)
+Index: ../trunk-jpl/src/m/plot/plot_BC.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_BC.py	(revision 21587)
++++ ../trunk-jpl/src/m/plot/plot_BC.py	(revision 21588)
+@@ -7,8 +7,9 @@
+ from processmesh import processmesh
+ from applyoptions import applyoptions
+ from plot_icefront import plot_icefront
++from mpl_toolkits.mplot3d import Axes3D
+ 
+-def plot_BC(md,options,fig,ax):
++def plot_BC(md,options,fig,axgrid,gridindex):
+ 	'''
+ 	PLOT_BC - plot model boundary conditions
+ 
+@@ -17,10 +18,17 @@
+ 
+ 		See also: PLOTMODEL
+ 	'''
++	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
+ 	
++	ax=axgrid[gridindex]
++	fig.delaxes(axgrid.cbar_axes[gridindex])
++
++	if not is2d:
++		ax=inset_locator.inset_axes(axgrid[gridindex],width='100%',height='100%',loc=3,borderpad=0,axes_class=Axes3D)
++
+ 	#plot neuman
+ 	plot_icefront(md,options,fig,ax)
+-	x,y,z,elements,is2d,isplanet=processmesh(md,[],options)
++
+ 	XLims=[np.min(x),np.max(x)]
+ 	YLims=[np.min(y),np.max(y)]
+ 	#plot dirichlets
+@@ -35,12 +43,19 @@
+ 		ax.scatter(x[np.where(~np.isnan(md.stressbalance.spcvz))],
+ 							 y[np.where(~np.isnan(md.stressbalance.spcvz))],
+ 							 marker='o',c='y',s=80,label='vz Dirichlet',linewidth=0)
+-
++		ax.scatter(x[np.where(~np.isnan(md.hydrology.spcepl_head))],
++							 y[np.where(~np.isnan(md.hydrology.spcepl_head))],
++							 marker='v',c='r',s=240,label='EPL Head',linewidth=0)
++		ax.scatter(x[np.where(~np.isnan(md.hydrology.spcsediment_head))],
++							 y[np.where(~np.isnan(md.hydrology.spcsediment_head))],
++							 marker='^',c='b',s=240,label='IDS head',linewidth=0)
++		
+ 		ax.set_xlim(XLims)
+ 		ax.set_ylim(YLims)
+-	ax.legend()
++	ax.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
++						ncol=3, mode="expand", borderaxespad=0.)
+ 	#apply options
+ 	options.addfielddefault('title','Boundary conditions')
+ 	options.addfielddefault('colorbar','off')
+-	applyoptions(md,[],options,fig,ax)
++	applyoptions(md,[],options,fig,axgrid,gridindex)
+ 	
Index: /issm/oecreview/Archive/21337-21723/ISSM-21588-21589.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21588-21589.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21588-21589.diff	(revision 21726)
@@ -0,0 +1,1792 @@
+Index: ../trunk-jpl/externalpackages/pcatool/install.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install.sh	(revision 21589)
+@@ -0,0 +1,12 @@
++#!/bin/bash
++
++#Some cleanup
++rm -rf install pcatool
++mkdir install
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/pcatool.tar.gz' 'pcatool.tar.gz'
++
++#Untar  into install
++cd install 
++tar -zxvf  ../pcatool.tar.gz
+
+Property changes on: ../trunk-jpl/externalpackages/pcatool/install.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/externalpackages/pcatool/pcatool.tar.gz
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: ../trunk-jpl/externalpackages/pcatool/pcatool.tar.gz
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
+Index: ../trunk-jpl/externalpackages/pcatool/install/license.txt
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/license.txt	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/license.txt	(revision 21589)
+@@ -0,0 +1,24 @@
++Copyright (c) 2008, Guillaume MAZE
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are
++met:
++
++    * Redistributions of source code must retain the above copyright
++      notice, this list of conditions and the following disclaimer.
++    * Redistributions in binary form must reproduce the above copyright
++      notice, this list of conditions and the following disclaimer in
++      the documentation and/or other materials provided with the distribution
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispEEOF_v2.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispEEOF_v2.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispEEOF_v2.m	(revision 21589)
+@@ -0,0 +1,76 @@
++% dispEEOF_v2(CHP,PC,EXPVAR,DT,NLAG,MOD) Display few EEOFs with their
++%                                     PC time evolution
++%
++% => DISPLAY FEW EEOFs with their PC time evolution.
++% CHP contains all the EEOFs as EOF*LAG*X*Y.
++% PC contains all the PCs.
++% EXPVAR is a matrix with the explained variance of each
++%  EEOFs in %. This is just for title.
++% DT is time step between maps.
++% NLAG is the number of LAG to display.
++% MOD contains explicitly the EEOFs to display.
++%
++% Rq: it's using the plotm function
++% See also: dispEEOF
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - June 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispEEOF(CHP,PC,EXPVAR,DT,NLAG,MOD)
++
++% Number of EEOF to display     
++NMOD = length(MOD);
++
++% Open figure and first guest
++figur;
++clf;hold on
++typg=8;
++width  = .9/NMOD;
++height = .9/(NLAG+1);
++dleft = (.95-width*NMOD)/4;
++left  = dleft;
++load mapanom
++
++% Let'go :
++
++% We choose an EEOF
++for imod = 1 : NMOD
++    mod = MOD(imod);
++    
++    % and plot maps
++    for iplot=1:NLAG+1
++      bottom = .95-height*iplot;
++      subplot('Position',[left bottom width height]);
++      if iplot==1 % Plot the pc's time serie
++         plot(PC(imod,:));
++         grid on;box on;
++         set(gca,'XAxisLocation','top');axis tight;
++         titre=strcat('EEOF',num2str(mod),'(',num2str(EXPVAR(mod)),'%)');
++         titre=strcat(titre,'; DT=',num2str(DT),' ');
++         title(titre);
++         if (imod==1),ax1=get(gca,'YLim');else,set(gca,'YLim',ax1);end
++      else % Plot the lag maps
++         lag=iplot-1;
++         C = squeeze(real(CHP(mod,lag,:,:)));
++%         C = C./xtrm(C); % Eventually normalise field
++         plotm(C,typg);
++         if(lag==1),caxis([-abs(xtrm(C)) abs(xtrm(C))]);cx=caxis;end;
++         caxis(cx);
++         colormap(mapanom);
++         %ylabel(strcat('{\bf',num2str((lag-1)*DT),'}'))
++         m_text(10,-70,strcat('{\bf',num2str((lag-1)*DT),'}'));
++      end %if
++
++    end
++    left = left + width + dleft;
++
++    % Adjust plot width via the plot Aspect ratio
++    ch=get(gcf,'Children');
++    posiPC=get(ch(iplot),'PlotBoxAspectRatio');
++    posiMAP=get(ch(iplot-1),'PlotBoxAspectRatio');
++    set(ch(iplot),'PlotBoxAspectRatio',posiMAP);
++
++end
++
+Index: ../trunk-jpl/externalpackages/pcatool/install/confexpvar.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/confexpvar.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/confexpvar.m	(revision 21589)
+@@ -0,0 +1,67 @@
++% [CONF,CONFLEVEL] = CONFEXPVAR(A,B,nsamples,N)
++%
++% A(Ntime,MmapA), B(Ntime,MmapB) are time-synchronised 
++%  and time-constant sampled data sets.
++% MmapA and MmapB are not required to be identic.
++% nsamples is what it is (given at least a 100 factor 
++%  will be nice to provide a trustable result).
++% N is the max number of eigen vectors to be computed.
++%
++% CONFEXPVAR Compute the confidence limits for significant 
++% eigenvalues in a SVD decomposition of data sets A and B.
++% This generates nsamples random-in-time data set of B 
++% and finds percent variance of N SVD modes computed 
++% with data set A. 
++% This is exactly the monte-carlo method but based on 
++% a random-in-time only data set. This considerably 
++% decrease the cputime.
++%
++% 2005/11. Guillaume Maze
++% gmaze@univ-brest.fr
++
++function [conf,lev,dsumCF] = confexpvar(A,B,nsamples,N)
++  
++% We try to find the p confidence levels of expvar.
++% Keeping as it is the first field, we determine SVDs with the 
++% second field arbitrary sorted in time.
++% 1st field : A
++% 2nd field : B
++
++n = size(A,1);
++if size(B,1)~=n
++  disp('Error, A and B required to be of the same time length !');
++  disp('See help confexpvar');
++  stop
++end
++  
++timer = cputime;
++disp('Compute confidence levels of explained variance...');
++for iR=1:nsamples
++    if iR==fix(nsamples/2)
++       disp(strcat(num2str(iR),'/',num2str(nsamples)));
++       disp(['Please, still wait a little time ... around '...
++             num2str(cputime-timer) ' cpu seconds']);
++    end
++    
++    % Generate a random new time index:
++    t=randperm(n);
++    % and sort the 2nd field with it:
++    Br=B(t,:);
++
++    % Now we compute SVD and expvar:
++    C=A'*Br;
++    [U,Lambda,V] = svds(C,N);
++    L2 = Lambda.^2;   dsum = diag(L2)/trace(L2);
++    L  = Lambda;      dsum =  diag(L)/trace(L);
++    dsumCF(iR,:) = dsum';
++
++end %for iR
++disp(['OK, this took ' num2str(cputime-timer) ' cpu seconds'])
++
++% CF(nsamples,N) contains expvar of the nsamples realisations:
++CF=sort(dsumCF,1);
++
++% Now we just take the decadal significant levels:
++lev=fix([nsamples/10:nsamples/10:nsamples]);
++conf = CF(lev,:) ; 
++lev=(lev./max(lev))*100;
+Index: ../trunk-jpl/externalpackages/pcatool/install/calsvd.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/calsvd.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/calsvd.m	(revision 21589)
+@@ -0,0 +1,54 @@
++% [SVD1,SVD2,PC1,PC2,EXPVAR,Lambda] = CALSVD(A,B,N) Compute SVDs
++%
++% Ref: H. Bjornson and S.A. Venegas: "A manual for EOF and SVD - 
++%      Analyses of climatic Data" 1997
++%================================================================
++%
++%  Guillaume MAZE - LPO/LMD - March 2004
++%  gmaze@univ-brest.fr
++
++
++   function [e1,e2,pc1,pc2,expvar,Lambda] = calsvd(A,B,N);
++
++
++disp('====> Let''go for SVDs and pc computing...')
++
++% Assume that A is (time*map) matrix
++[n p]=size(A);
++
++% Remove the mean of each column (ie the time mean in each station records)
++S=detrend(A,'constant');
++P=detrend(B,'constant');
++
++% Form the covariance matrix:
++C = S'*P;
++
++% Find eigenvectors and singular values
++[U,Lambda,V] = svds(C,N);
++
++% PC
++a = S*U;
++b = P*V;
++
++% Make them clear for output
++for iN=1:N
++    e1(iN,:) = squeeze( U(:,iN) )';
++   pc1(iN,:) = squeeze( a(:,iN) )';
++    e2(iN,:) = squeeze( V(:,iN) )';
++   pc2(iN,:) = squeeze( b(:,iN) )';
++end
++
++% Amount of variance explained a 0.1 pres et en %
++L2=Lambda.^2;
++dsum=diag(L2)/trace(L2);
++
++for iN=1:N
++   expvar(iN)=fix( ( dsum(iN)*100/sum(dsum) )*10 ) /10;
++end
++
++
++disp('====> Finished !')
++
++
++
++
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispSVD.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispSVD.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispSVD.m	(revision 21589)
+@@ -0,0 +1,86 @@
++% dispSVD(typg,CHP1,CHP2,N,expvar) Display SVDs
++%
++% => Display SVDs
++% typg is plot type you want (see plotm.m).
++% CHP contains SVDs and is of the form: CHP(iSVD,X,Y)
++% N is number of SVD to display
++% expvar contained the explained variance of SVDs
++%
++% Rq: it''s using the plotm function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - December 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispSVD(typg,CHP1,CHP2,N,expvar)
++
++load mapanom2
++global ffile1 ffile2
++
++if length(N)>1
++  mod=N;
++else
++  mod=[1:N];
++end  
++Nx=length(mod);
++% --------------------------------------------------
++% AFFICHAGE
++% --------------------------------------------------
++if (typg~=1)&(typg~=7)&(typg~=3)&(typg~=6)
++   CBAROR='horiz';
++   iw=Nx;jw=2;
++else
++   CBAROR='vert';
++   iw=Nx;jw=2;
++end
++
++
++f1=figur;clf; hold on
++for iN=1:Nx
++     subplot(iw,jw,2*iN-1)
++C = squeeze(real(CHP1(mod(iN),:,:)));
++%plotm(C./xtrm(C),typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++plotm(C,typg);
++caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++%if(iN==1);cx=caxis;end;caxis(cx);
++colormap(mycolormap(mapanom,21));
++c=colorbar(CBAROR);
++titre1=strcat('SVD',num2str(mod(iN)),':',blanks(1),ffile1);
++titre2=strcat(' (',num2str(expvar(mod(iN))),'%)');
++tt=title(strvcat(strcat(titre1,titre2),char(1)));
++set(tt,'fontweight','bold')
++
++     subplot(iw,jw,2*iN)
++C = squeeze(real(CHP2(mod(iN),:,:)));
++%plotm(C./xtrm(C),typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++plotm(C,typg);
++caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++%if(iN==1);cx=caxis;end;caxis(cx);
++colormap(mycolormap(mapanom,21));
++c=colorbar(CBAROR);
++titre1=strcat('SVD',num2str(mod(iN)),':',blanks(1),ffile2);
++titre2=strcat(' (',num2str(expvar(mod(iN))),'%)');
++tt=title(strvcat(strcat(titre1,titre2),char(1)));
++set(tt,'fontweight','bold')
++
++end %for iN
++
++
++% $$$ for iN=1:2*N
++% $$$   figure(f1);
++% $$$   subplot(iw,jw,iN);
++% $$$ %  colorbar(CBAROR);
++% $$$ end
++% $$$ refresh
++
++
++%titre1=strcat(num2str(lat(il1)),'/',num2str(lat(il2)));
++titre2=strcat(' Total explained variance:',num2str(sum(expvar(mod))),'%');
++%titre3=strcat('(Analysed files: ',ffile1,' vs ',ffile2,')');
++%titre=strvcat(titre2,titre3);
++suptitle(titre2);
++
++set(f1,'Position',[378 39 313 647]); % Laptop screen
++%set(f1,'Position',[369 55 316 899]); % Desktop screen
++%set(f1,'Name',strcat(ffile,'<>',titre1,'<> REAL PART'));
+Index: ../trunk-jpl/externalpackages/pcatool/install/caleof.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/caleof.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/caleof.m	(revision 21589)
+@@ -0,0 +1,234 @@
++% [EOFs,PC,EXPVAR] = CALEOF(M,N,METHOD) Compute EOF
++%
++% => Compute the Nth first EOFs of matrix M(TIME,MAP).
++% EOFs is a matrix of the form EOFs(N,MAP), PC is the principal
++% components matrix ie it has the form PC(N,TIME) and EXPVAR is
++% the fraction of total variance "explained" by each EOF ie it has
++% the form EXPVAR(N).
++% Differents method can be used:
++% 1 - The "classic" one, ie we compute eigenvectors of the 
++%     temporal covariance matrix with the eig Matlab function.
++% 2 - A faster "classic" one, same as method 1 but we use the
++%     eigs Matlab function.
++% 3 - We compute eigenvectors by the singular value decomposition,
++%     by used of the svd Matlab function.
++% 4 - Same as method 3 but faster by used of the svds Matlab function
++%
++% See also EIG, EIGS, SVD, SVDS
++%
++% Ref: L. Hartmann: "Objective Analysis" 2002
++% Ref: H. Bjornson and S.A. Venegas: "A manual for EOF and SVD - 
++%      Analyses of climatic Data" 1997
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - March 2004
++%  Revised July 2006
++%  gmaze@univ-brest.fr
++
++
++function [e,pc,expvar,L] = caleof(M,N,method);
++
++% Get dimensions
++[n p]=size(M);
++
++% Temporal covariance is p*p matrix, that why max EOF computable is p, 
++% so we perform a test on parameter N:
++if(N>p)
++ disp('Warning: N is larger than possible so it''s modified to perform')
++ disp('         EOFs computing...');
++ N = p; 
++end
++
++
++% Eventualy time filtering of data
++if 0==1
++   disp('====> Time filtering...')
++   Fc  = 1/20; Fc2 = 1/1;
++   Fc  = 1/7 ; Fc2 = 1/3;
++   SIGNAL = M(:,1);
++   nj = fix(length(SIGNAL)/10); % Nombre de points du filtre
++   for ipt = 1 : p
++       SIGNAL = M(:,ipt);
++       SIGNALF = lanczos(SIGNAL,Fc2,nj);
++       SIGNALF = SIGNALF - lanczos(SIGNALF,Fc,nj);
++       Y(:,ipt) = SIGNALF;
++   end
++   M = Y;
++end
++
++
++disp('====> Let''go for EOFs and pc computing...')
++switch method
++    case 1 % CLASSIC METHOD
++%================================================================
++% Transform the data matrix in the correct form (map*time) for eig
++M = M';
++
++% Remove the time mean (ie the mean of each rows of M)
++% Rq: detrend remove the mean of columns ie we take M'.
++F = detrend(M','constant')';
++
++% Covariance Matrix (inner product over space = covariance in time)
++R = F * F';
++
++% Eigenanalysis of the covariance matrix R
++[E,L] = eig(R);
++
++% Get PC by projecting eigenvectors on original data
++Z = E'*F;
++
++% Make them clear for output
++for iN=1:N
++    e(iN,:) = squeeze( E(:,p-(iN-1)) )';
++   pc(iN,:) = squeeze( Z(p-(iN-1),:) );
++end
++
++% Amount of explained variance (at 0.1%)
++dsum = diag(L)./trace(L);
++for iN=1:N
++   expvar(iN)=fix((dsum(p-(iN-1))*100/sum(dsum))*10)/10;
++end
++
++% Plots Original field and reconstructed one
++if 0==1
++figure;
++subplot(1,2,1);imagesc(abs(M));title('ORIGINAL');cx=caxis;
++%subplot(1,2,2);imagesc((E*Z));title('RECONSTRUCTED')
++subplot(1,2,2);imagesc(abs(e'*pc));title('RECONSTRUCTED');caxis(cx);
++end
++
++    case 2 % RAPID CLASSIC METHOD 
++%================================================================
++% Remove the time mean of each column
++F = detrend(M,'constant');
++
++% Covariance Matrix
++if n >= p
++   R = F' * F;
++else 
++   R = F * F';
++end
++
++% Eigen analysis of the square covariance matrix
++[E,L] = eigs(R,N);
++if n < p
++  E = F' * E;
++  sq = [sqrt(diag(L))+eps]';
++  sq = sq(ones(1,p),:);
++  E = E ./ sq;
++end
++
++% Get PC by projecting eigenvectors on original data
++if n >= p
++   Z = (F*E)';
++else
++   Z =  E'*F';
++end
++
++
++% Make them clear for output
++for iN=1:N
++    e(iN,:) = squeeze( E(:,iN) )';
++   pc(iN,:) = squeeze( Z(iN,:) );
++end
++
++% Amount of variance explained a 0.1 pres et en %
++dsum=diag(L)./trace(L);
++for iN=1:N
++   expvar(iN)=fix((dsum(iN)*100/sum(dsum))*10)/10;
++end
++
++
++    case 3 % SVD METHOD
++%================================================================
++% Ref: H. Bjornson and S.A. Venegas: "A manual for EOF and SVD - 
++% Analyses of climatic Data" 1997 => p18
++
++% Assume that M is (time*map) matrix
++[n p]=size(M);
++
++% Remove the mean of each column (ie the time mean in each station records)
++F=detrend(M,'constant');
++
++% Form the covariance matrix:
++R = F'*F;
++
++% Find eigenvectors and singular values
++[C,L,CC] = svd(R);
++% Eigenvectors are in CC and the squared diagonal values of L
++% are the eigenvalues of the temporal covariance matrix R=F'*F
++
++% find the PC corresponding to eigenvalue
++PC = F*CC;
++
++% Make them clear for output
++for iN=1:N
++    e(iN,:) = squeeze( CC(:,iN) )';
++   pc(iN,:) = squeeze( PC(:,iN) )';
++end
++
++if 0
++figure;
++subplot(1,2,1);imagesc(F);title('ORIGINAL');cx=caxis;
++subplot(1,2,2);imagesc(C*L*CC');title('RECONSTRUCTED');caxis(cx);
++end
++
++% Amount of variance explained at 0.1%
++dsum=diag(L)./trace(L);
++if length(dsum)<N % L was not squared
++  dsum = [dsum ;zeros(N-length(dsum),1)];
++end
++for iN = 1 : N
++   expvar(iN)=fix( ( dsum(iN)*100/sum(dsum) )*10 ) /10;
++end
++
++
++    case 4 % FAST SVD METHOD
++%================================================================
++% Ref: H. Bjornson and S.A. Venegas: "A manual for EOF and SVD - 
++% Analyses of climatic Data" 1997 => p18
++
++% Assume that M is (time*map) matrix
++[n p]=size(M);
++
++% Remove the mean of each column (ie the time mean in each station records)
++F=detrend(M,'constant');
++
++% Form the covariance matrix:
++R = F' * F;
++
++% Find eigenvectors and singular values
++[C,L,CC,flag] = svds(R,N);
++% Eigenvectors are in CC and the squared diagonal values of L
++% are the eigenvalues of the temporal covariance matrix R=F'*F
++% (Sometimes, CC stops for nul eigenvector, then we need to fill to reach N)
++if size(CC,2)<N
++  CC = [CC  zeros(size(CC,1),N-size(CC,2)+1)];
++end
++
++% find the PC corresponding to eigenvalue
++PC = F*CC;
++% Which is similar to: C*L
++
++% Make them clear for output
++for iN=1:N
++    e(iN,:) = squeeze( CC(:,iN) )';
++   pc(iN,:) = squeeze( PC(:,iN) )';
++end
++
++% Amount of variance explained a 0.1 pres et en %
++dsum=diag(L)./trace(L);
++if length(dsum)<N % L was not squared
++  dsum = [dsum ;zeros(N-length(dsum),1)];
++end
++for iN=1:N
++   expvar(iN)=fix( ( dsum(iN)*100/sum(dsum) )*10 ) /10;
++end
++
++%figure;
++%subplot(1,2,1);imagesc(M);title('ORIGINAL');cx=caxis;
++%subplot(1,2,2);imagesc((e'*pc)');title('RECONSTRUCTED');caxis(cx);
++
++
++end % switch method
++disp('====> Finished !')
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispEOF.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispEOF.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispEOF.m	(revision 21589)
+@@ -0,0 +1,130 @@
++% dispEOF(typg,CHP,N,expvar) Display EOFs
++%
++% => Display EOFs
++% typg is plot type you want (see plotm.m).
++% CHP contains EOFs and is of the form: CHP(EOF,X,Y)
++% N is number of EOF to display
++% expvar contained the explained variance of EOFs
++%
++% Rq: it''s using the plotm function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - March 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispEOF(typg,CHP,N,expvar)
++
++load mapanom2
++global ffile
++% --------------------------------------------------
++% AFFICHAGE
++% --------------------------------------------------
++if (typg~=1)&(typg~=7)&(typg~=3)&(typg~=6)
++
++   CBAROR='horiz';
++if N>12,NN=12;else,NN=N;end
++switch NN
++  case 1,tblmagique=[1];                         iw=1;jw=1;
++  case 2,tblmagique=[1 2];                       iw=2;jw=1;
++  case 3,tblmagique=[1 2 3];                     iw=3;jw=1;
++  case 4,tblmagique=[1 2 3 4];                   iw=2;jw=2;
++  case 5,tblmagique=[1 2 3 4 5];                 iw=3;jw=2;
++  case 6,tblmagique=[1 2 3 4 5 6];               iw=3;jw=2;
++  case 7,tblmagique=[1 2 3 4 5 6 7];             iw=4;jw=2;
++  case 8,tblmagique=[1 2 3 4 5 6 7 8];           iw=4;jw=2;
++  case 9,tblmagique=[1 2 3 4 5 6 7 8 9];         iw=3;jw=3;
++ case 10,tblmagique=[1 2 3 4 5 6 7 8 9 10];      iw=4;jw=3;
++ case 11,tblmagique=[1 2 3 4 5 6 7 8 9 10 11];   iw=4;jw=3;
++ case 12,tblmagique=[1 2 3 4 5 6 7 8 9 10 11 12];iw=4;jw=3;
++end
++iw=N;jw=1;
++
++else
++
++   CBAROR='vert';
++if N>12,NN=12;else,NN=N;end
++switch NN
++  case 1,tblmagique=[1];                         iw=1;jw=1;
++  case 2,tblmagique=[1 2];                       iw=2;jw=1;
++  case 3,tblmagique=[1 2 3];                     iw=3;jw=1;
++  case 4,tblmagique=[1 2 3 4];                   iw=2;jw=2;
++  case 5,tblmagique=[1 2 3 4 5];                 iw=3;jw=2;
++  case 6,tblmagique=[1 2 3 4 5 6];               iw=3;jw=2;
++  case 7,tblmagique=[1 2 3 4 5 6 7];             iw=4;jw=2;
++  case 8,tblmagique=[1 2 3 4 5 6 7 8];           iw=4;jw=2;
++  case 9,tblmagique=[1 2 3 4 5 6 7 8 9];         iw=3;jw=3;
++ case 10,tblmagique=[1 2 3 4 5 6 7 8 9 10];      iw=4;jw=3;
++ case 11,tblmagique=[1 2 3 4 5 6 7 8 9 10 11];   iw=4;jw=3;
++ case 12,tblmagique=[1 2 3 4 5 6 7 8 9 10 11 12];iw=4;jw=3;
++end
++
++
++
++end %if
++
++
++
++f1=figur;clf; hold on
++
++for iN=1:NN
++     subplot(iw,jw,tblmagique(iN)); hold on
++C = squeeze(real(CHP(iN,:,:)));
++%plotm(C./xtrm(C),typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++plotm(C,typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++if(iN==1);cx=caxis;end;caxis(cx);
++colormap(mycolormap(mapanom,21));
++
++%c=colorbar(CBAROR);
++titre1=strcat('EOF',num2str(iN));
++titre2=strcat(' (',num2str(expvar(iN)),'%)');
++title(strcat(titre1,titre2));
++
++end %for iN
++
++%titre1=strcat(num2str(lat(il1)),'/',num2str(lat(il2)));
++titre2=strcat(' Total explained variance:',num2str(sum(expvar)),'%');
++%titre3=strcat('(Analysed file: ',ffile,')');
++%titre=strvcat(titre2,titre3);
++suptitle(titre2);
++
++set(f1,'Position',[378 39 313 647]); % Laptop screen
++%set(f1,'Position',[369 55 316 899]); % Desktop screen
++%set(f1,'Name',strcat(ffile,'<>',titre1,'<> REAL PART'));
++set(f1,'Name','<> REAL PART <>');
++
++
++% -------------------------------------------
++if isreal(CHP)==0
++
++f2=figur;clf; hold on
++
++for iN=1:NN
++     subplot(iw,jw,tblmagique(iN)); hold on
++
++C = squeeze(imag(CHP(iN,:,:)));
++plotm(C,typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++%if(iN==1);cx=caxis;end;
++caxis(cx);
++colormap(mycolormap(mapanom,21));
++
++c=colorbar(CBAROR);
++titre1=strcat('EOF',num2str(iN));
++titre2=strcat(' (',num2str(expvar(iN)),'%)');
++title(strcat(titre1,titre2));
++
++end %for iNN
++
++%titre1=strcat(num2str(lat(il1)),'/',num2str(lat(il2)));
++titre2=strcat(' Total explained variance:',num2str(sum(expvar)),'%');
++%titre3=strcat('(Analysed file: ',ffile,')');
++%titre=strvcat(titre2,titre3);
++suptitle(titre2);
++
++set(f2,'Position',[378 39 313 647]); % Laptop screen
++%set(f2,'Position',[369 55 316 899]); % Desktop screen
++set(f2,'Name','<> IMAGINARY PART <>');
++
++end
++
++
+Index: ../trunk-jpl/externalpackages/pcatool/install/plotm.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/plotm.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/plotm.m	(revision 21589)
+@@ -0,0 +1,214 @@
++%PLOTM  Trace un champ de donnee geographique
++% [CS,H]=PLOTM(C,[ZONE]) 
++%   Trace le champ C(LONGITUDE,LATITUDE) sur une carte 
++%   du monde en projection Mercator par defaut.
++%   Le parametre optionnel ZONE peut prendre les valeurs
++%     ZONE = 1 : Projection Stereographique centree sur le pole sud
++%     ZONE = 2 : Projection Mercator de l'hemisphere sud
++%     ZONE = 3 : Projection Mercator du globe
++%     ZONE = 4 : Pas de projection (imagesc)
++%     ZONE = 5 : Projection Mercator de l'hemisphere sud complet
++%     ZONE = 6 : Projection Mercator du globe complet
++%     ZONE = 7 : Projection Stereographique centree sur le pole nord
++%     ZONE = 8 : Idem 2 mais sans label sur les axes
++%     ZONE = 9 : Projection Mercator de l'hemisphere sud aux limites du Fmask
++%   Returns contour matrix CS as described in CONTOURC and a vector H
++%   of handles to PATCH objects (for use by CLABEL).
++%
++%   La definition des grilles (longitude,latitude) est celle du
++%   modele par defaut, mais elle peut etre modifiee en passant en
++%   global les nouvelles variables nommees lon et lat.
++%
++% NECESSITE LE PACKAGE M_MAP
++%
++%
++% (nov. 2003 -> gmaze@univ-brest.fr)
++
++function varargout = plotm(C,varargin)
++
++if (nargin>2)|(nargin<1)
++     help plotm.m
++     error('plotm.m : Wrong number or bad parameter(s)')
++     return
++elseif (nargin==2)
++   arg = varargin{:};
++   if (arg>14)|(arg<1)
++     help plotm.m
++     error('plotm.m : Wrong number or bad parameter(s)')
++     return
++   end
++end %if
++
++%--------------------------------------------------
++% Variabes
++%--------------------------------------------------
++[lx,ly]=size(C);
++% Si lon et lat ne sont pas definie comme dans le modele
++% on prend en global n'importe quel definition
++if ((lx~=64)|(ly~=32)) 
++   global lon lat
++else
++   lon= linspace(0.,360.,64);
++   lat= [85.76 80.27 74.74 69.21 63.68 58.14 52.61 47.07 41.53 ...
++      36.00 30.46 24.92 19.38 13.84 8.31 2.77 -2.77 -8.31 ...
++      -13.84 -19.38 -24.92 -30.46 -36.00 -41.53 -47.07 -52.61 ...
++      -58.14 -63.68 -69.21 -74.74 -80.27 -85.76];
++end
++
++% Le nombre de contour est par defaut a 10, mais on peut le
++% modifier en declarant nbcont en global
++global nbcont
++if isempty(nbcont)==1
++   nbcont=10;
++end
++
++%-----------------------------------------------
++% Projection
++%-----------------------------------------------
++if (nargin==2)
++   arg = varargin{:};
++   switch arg(1)
++     case 1 % Projection stereo 
++       m_proj('stereo','lon',0,'lat',-90,'rad',71);
++     case 2 % Projection mercator (HS)
++       m_proj('miller','lon',[0 360],'lat',[-80 -20]);
++       m_proj('miller','lon',[0 360],'lat',[-60 -20]);
++     case 3 % Projection mercator (Tout)  -> Defaut
++       m_proj('miller','lon',[0 360],'lat',[-80 80]);
++     case 5 % Projection mercator (HS-complet)
++       m_proj('miller','lon',[0 360],'lat',[-85 -5]);
++     case 6 % Projection mercator (Tout-complet)
++       m_proj('miller','lon',[0 360],'lat',[-85 85]);
++     case 7 % Projection stereo 
++       m_proj('stereo','lon',0,'lat',90,'rad',71);
++     case 8 % Projection mercator (HS) sans Label sur les axes
++       m_proj('miller','lon',[0 360],'lat',[-80 -20]);
++       m_proj('miller','lon',[0 360],'lat',[-75 -30]);
++     case 9 % Projection mercator (HS) sans Label sur les axes aux limtes du FMASK
++       m_proj('miller','lon',[0 360],'lat',[-69 -25]);
++     case 10 % Projection stereo recentree sur le pole sud
++       m_proj('stereo','lon',0,'lat',-90,'rad',51);
++     case 11 % Indien
++       m_proj('lambert','long',[11 125],'lat',[-60 -30]);
++     case 12 % Pacifique
++       m_proj('lambert','long',[120 290],'lat',[-60 -30]);
++     case 13 % Atlantique
++       m_proj('lambert','long',[-70 20],'lat',[-60 -30]);
++     case 14 % Centré Atlantique        
++       m_proj('lambert','long',[-90 90],'lat',[-70 -20],'rectbox','on');
++   end
++else
++% Projection mercator (Tout)  -> Defaut
++  m_proj('mercator','lon',[0 360],'lat',[-80 80]);
++end
++
++%------------------------------------------------
++% Affichage
++%------------------------------------------------
++load MODELCOAST
++if length(lon)==65
++  modelcoast=[modelcoast;modelcoast(1,:)];
++end
++
++hold on
++if (nargin==2)
++   arg = varargin{:};
++   switch arg(1)
++     case 1 % Projection stereo (Par defaut)
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-30 -40 -50 -60 -70],'yticklabels',[],...
++             'xtick',[0 60 120 180 -120 -60],'XaxisLocation','top')
++     case 2 % Projection mercator (HS)
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-80 -70 -60 -50 -40 -30 -20]);
++     case 3 % Projection mercator (Tout)
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-80 -60 -40 -20 0 20 40 60 80]);
++     case 4 % Pas de projection
++      pcolor(lon,lat,C');
++      axis tight;box on
++%      axis([lon(1) lon(64) lat(32) lat(1)]);
++%      gc=gca;set(gc,'YDir','reverse');
++     case 5 % Projection mercator (Hs-complet)
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      COASTYPE='color';COASTCOLOR=[0 0 0];
++%      COASTYPE='patch';COASTCOLOR=[0 0.5 0.6];
++%      m_coast(COASTYPE,COASTCOLOR);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-80 -60 -40 -20 0]);
++     case 6 % Projection mercator (Tout-complet)
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-80 -60 -40 -20 0 20 40 60 80]);
++     case 7 % Projection stereo
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[30 40 50 60 70],'yticklabels',[],...
++             'xtick',[0 60 120 180 -120 -60],'XaxisLocation','top')
++     case 8 % Projection mercator (HS) sans label sur les axes
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_pcolor(lon,lat,C');shading interp
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick','','xtick','');
++     case 9 % Projection mercator (HS) sans label sur les axes aux limtes du FMASK
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick','','xtick','');
++     case 10 % Projection stereo recentree sur le pole Sud
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++%      m_coast('color',[0 0 0]);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-40 -50 -60 -70],'yticklabels',[],...
++             'xtick',[0 60 120 180 -120 -60],'XaxisLocation','top')
++     case 11 % Indien
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-40 -50 -60 -70],'yticklabels',[],...
++             'xtick',[30 60 90 120 150 180],'XaxisLocation','top')
++     case 12 % Pacifique
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-40 -50 -60 -70],'yticklabels',[],...
++             'xtick',[120 150 180 210 240 270 300],'XaxisLocation','top')
++     case 13 % Atlantique
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('ytick',[-40 -50 -60 -70],'yticklabels',[],...
++             'xtick',[-60 -30 0 30 60],'XaxisLocation','top')
++     case 14 % Centré Atlantique
++      [cs,h]=m_contourf(lon,lat,C',nbcont);
++      m_contour(lon,lat,modelcoast',1,'k');
++      m_grid('yticklabels',[],'XaxisLocation','top',...
++             'fontsize',6,...
++             'xtick',[0 60 120 180 -120 -60],'xticklabels',[180 -120 -60 0 60 120]);
++            
++   end % switch
++else
++  %  Projection Mercator (Par defaut)
++     [cs,h]=m_contourf(lon,lat,C',nbcont);
++%     m_coast('color',[0 0 0]);
++     m_contour(lon,lat,modelcoast',1,'k');
++     m_grid('ytick',[-80 -60 -40 -20 0 20 40 60 80]);
++end
++
++
++
++% OUTPUT VARIABLES
++switch nargout
++  case 1
++   varargout(1) = {cs} ;
++  case 2
++   varargout(1) = {cs} ;
++   varargout(2) = {h};
++end
+Index: ../trunk-jpl/externalpackages/pcatool/install/calCeof.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/calCeof.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/calCeof.m	(revision 21589)
+@@ -0,0 +1,11 @@
++% [e,pc,expvar] = calCeof(M,N,METHOD)
++%   Compute Complex EOF
++
++    function [e,pc,expvar] = calCeof(M,N,METHOD)
++
++
++% Compute Hilbert transform Mh and create M as: M = M + i*Mh
++M = hilbert(M);
++
++% Compute EOFs
++ [e,pc,expvar] = caleof(M,N,METHOD);
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispCEOF.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispCEOF.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispCEOF.m	(revision 21589)
+@@ -0,0 +1,65 @@
++% dispCEOF(CEOF,EXPVAR,PHI,MOD) Display few CEOFs.
++%
++% => DISPLAY FEW CEOFs.
++% CEOF contains all the CEOFs as nCEOF*X*Y.
++% EXPVAR is a matrix with the explained variance of each
++%  CEOFs in %. This is just for title.
++% PHI is phase when ploting maps.
++% MOD contains explicitly the CEOFs to display.
++%
++% Rq: it's using the plotm function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - June 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispCEOF(CEOF,EXPVAR,PHI,MOD)
++
++% Number of EEOF to display     
++NMOD = length(MOD);
++NANG = length(PHI);
++
++% Open figure and first guest
++figur;clf;hold on
++typg=8;
++width  = .9/NMOD;
++height = .9/NANG;
++dleft = (.95-width*NMOD)/4;
++left  = dleft;
++load mapanom2
++
++% Let'go :
++
++% We select a CEOF:
++for imod = 1 : NMOD
++    mod = MOD(imod);
++    chp=squeeze(CEOF(mod,:,:));
++    Rchp=real(chp);
++    Ichp=-imag(chp);
++
++    % 
++    for ang=1:NANG
++      C = cos(PHI(ang))*Rchp + sin(PHI(ang))*Ichp;
++      m(ang)=abs(xtrm(C));
++    end
++    m=max(m);
++    
++    % and plot maps
++    for ang=1:NANG
++      C = cos(PHI(ang))*Rchp + sin(PHI(ang))*Ichp;     
++      bottom = .95-height*ang;
++      subplot('Position',[left bottom width height]);
++      plotm(C,typg);
++      m_text(10,-70,strcat('\phi=',num2str(PHI(ang)*180/pi),'^o'));
++%      ylabel(strcat('\phi=',num2str(PHI(ang)*180/pi),'^o'),'Rotation',0);
++      caxis([-m m]);
++      colormap(mapanom);
++      if(ang==1)
++         titre=strcat('CEOF',num2str(mod),'(',num2str(EXPVAR(mod)),'%)');
++         title(titre);
++      end;
++    end
++    left = left + width + dleft;
++
++end
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispSVDnb.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispSVDnb.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispSVDnb.m	(revision 21589)
+@@ -0,0 +1,63 @@
++% dispSVDnb(typg,CHP1,CHP2,N,expvar) Display SVDs
++%
++% => Display SVDs in white and black
++% typg is plot type you want (see plotm.m).
++% CHP contains SVDs and is of the form: CHP(iSVD,X,Y)
++% N is number of SVD to display
++% expvar contained the explained variance of SVDs
++%
++% Rq: it''s using the plotmNB function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - December 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispSVDnb(typg,CHP1,CHP2,N,expvar)
++
++global ffile1 ffile2
++% --------------------------------------------------
++% AFFICHAGE
++% --------------------------------------------------
++if (typg~=1)&(typg~=7)&(typg~=3)&(typg~=6)
++   CBAROR='horiz';
++   iw=N;jw=2;
++else
++   CBAROR='vert';
++   iw=N;jw=2;
++end
++
++
++f1=figur;clf; hold on
++for iN=1:N
++     subplot(iw,jw,2*iN-1)
++C = squeeze(real(CHP1(iN,:,:)));
++%[cs,h]=plotmNB(C,typg); whos cs h
++[cs,h]=plotmNB(C,typg);
++%clabel(cs,h,'labelspacing',100);
++titre1=strcat('SVD',num2str(iN),':',ffile1);
++titre2=strcat(' (',num2str(expvar(iN)),'%)');
++title(strcat(titre1,titre2));
++
++     subplot(iw,jw,2*iN)
++C = squeeze(real(CHP2(iN,:,:)));
++[cs,h]=plotmNB(C,typg);
++%clabel(cs,h,'labelspacing',100);
++titre1=strcat('SVD',num2str(iN),':',ffile2);
++titre2=strcat(' (',num2str(expvar(iN)),'%)');
++title(strcat(titre1,titre2));
++
++end %for iN
++
++
++
++
++%titre1=strcat(num2str(lat(il1)),'/',num2str(lat(il2)));
++titre2=strcat(' Total explained variance:',num2str(sum(expvar)),'%');
++%titre3=strcat('(Analysed files: ',ffile1,' vs ',ffile2,')');
++%titre=strvcat(titre2,titre3);
++suptitle(titre2);
++
++set(f1,'Position',[378 39 313 647]); % Laptop screen
++%set(f1,'Position',[369 55 316 899]); % Desktop screen
++%set(f1,'Name',strcat(ffile,'<>',titre1,'<> REAL PART'));
+Index: ../trunk-jpl/externalpackages/pcatool/install/Contents.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/Contents.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/Contents.m	(revision 21589)
+@@ -0,0 +1,32 @@
++% PRINCIPAL COMPONENTS ANALYSIS TOOLBOX
++% Last Modified: Dec 2007
++%
++% This software is provided "as is" without express 
++% or implied warranty...
++%
++%
++% EOF and SVD 
++%    caleof       - Compute EOFs
++%    calEeof      - Compute Extended EOFs
++%    calCeof      - Compute Complex  EOFs
++%    calsvd       - Compute SVDs
++%    confexpvar   - Compute statistical confidence of explained variance
++%
++% VISUALISATION
++%    dispEOF      - Display EOFs
++%    dispEEOF     - Display EEOFs as time sequence map
++%    dispEEOF_v2  - Display EEOFs as time sequence map with
++%                   the PC time series
++%    dispCEOF     - Display CEOFs
++%    dispSVD      - Display SVDs
++%    plotm        - Plot a 2D geo field
++%
++% Matrix manipulation
++%    map2mat      - Transform C(TIME,LON,LAT) in D(TIME,PT)
++%                   under a geographic points selection
++%    mat2map      - Invert transform done by map2mat
++%
++%
++%================================================================
++% Author: Guillaume MAZE - LPO/LMD - March 2004
++%         gmaze@univ-brest.fr
+Index: ../trunk-jpl/externalpackages/pcatool/install/calEeof.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/calEeof.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/calEeof.m	(revision 21589)
+@@ -0,0 +1,128 @@
++% [EOFs,PC,EXPVAR] = calEeof(M,N,METHOD,NLAG,DT) Compute EEOF
++%
++% => Compute N Extended EOF of a M(TIME*MAP) matrix.
++% METHOD is the EOF method computing (see caleof.m)
++% NLAG is the number of map you want
++% DT is the increment between each map (not the time step
++% of your data)
++%
++% The function can filter datas with a Lanczos band-pass 
++% filter. Edit the calEeof.m file and change option in it. 
++%
++% See also: CALEOF
++%
++% Ref: Weare and Nasstrom 1982
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - March 2004
++%  gmaze@univ-brest.fr
++
++    function varargout = calEeof(M,N,METHOD,NLAG,DT)
++
++% ---------------------------------
++% Divers
++tic
++LAG = NLAG*DT;
++foll = 1; % Turn this value to 0 if you don t want commentary along computing
++
++% ---------------------------------
++% LAG must be >0, LAG=1 correspond to initial position
++if LAG<=0
++   LAG = 1;
++end
++
++% ---------------------------------
++% Usely for us, M is a TIME*MAP matrix so:
++% We get dimensions
++  [n p]=size(M);
++% and put M in the correct form for computing
++  M = M';
++
++% ---------------------------------
++% Eventualy time filtering of data
++if 0==1
++   if (foll~=0),disp('==> Time filtering...');end
++   dt = 1;         % Real time step of your data (diff from DT)
++   Fc  = 1/dt/8;   % This the low cut off frequency
++   Fc2 = 1/dt/2;   % and this the high cut off frequency
++   SIGNAL = M(1,:);
++   nj = fix(length(SIGNAL)/10); % Nb of points of the window
++
++   for ipt = 1 : p
++       SIGNAL = M(ipt,:)';
++       SIGNALF = lanczos(SIGNAL,Fc2,nj);
++       SIGNALF = SIGNALF - lanczos(SIGNALF,Fc,nj);
++       Y(:,ipt) = SIGNALF;
++       if mod(ipt,10)==0 % We display a plot of filtered data
++          clf;
++          plot((0:n-1),SIGNAL,'k',(0:n-1),SIGNALF,'r');          
++          drawnow;
++       end
++   end
++   M = Y';
++end, clear Fc Fc2 SIGNAL nj SIGNALF Y ipt, close
++
++
++% ---------------------------------
++% This is the matrix where we concat all submatrices from M.
++% Size of each submatrix is : NLAG*p rows vs n-LAG+1 colums 
++F = zeros(NLAG*p,n-LAG+1);
++
++% ---------------------------------
++% Let's go for F:
++if (foll~=0),disp('==> Forming concatenated matrix...');end
++if DT==1
++% CLASSIC CASE
++for ilag = 1 : LAG
++       % Extract submatrix ilag from M
++       Msub = M(:,ilag:n-LAG+ilag);
++       % Concat matrix
++       F( (ilag-1)*p+1 : ilag*p , : ) = Msub;
++end
++else
++% DT>1
++it=0;
++for ilag = 1 : DT : LAG
++       % Extract submatrix ilag from M
++         Msub = M( : , ilag : n-LAG+ilag);
++       % Concat matrix
++         it = it + 1;
++         F( (it-1)*p+1 : it*p , : ) = Msub;
++         % imagesc(Msub);pause % for debugging
++end
++end
++
++% ---------------------------------
++% Compute EOFs by normal way
++% (Don't forget that caleof is taking a TIME*MAP argument matrix,
++% that's why we have F' !)
++if (foll~=0),disp('==> Computing EOFs ...');end
++[e,pc,expvar] = caleof(F',N,METHOD);
++
++% ---------------------------------
++% e is the matrix with EOFs inside. We should extract each map
++% for different lags from it.
++% e is NEOF*(LAG*MAP) and we construct 3D matrix CHP as NEOF*LAG*MAP
++if (foll~=0),disp('==> Reshaping vectors ...');end
++for ilag = 1 : NLAG
++    E = e( : , (ilag-1)*p+1 : ilag*p );
++    CHP(:,ilag,:) = E;
++end
++
++
++% ---------------------------------
++% OUTPUT VARIABLES
++switch nargout
++  case 1
++   varargout(1) = {CHP} ;
++  case 2
++   varargout(1) = {CHP} ;
++   varargout(2) = {pc};
++  case 3
++   varargout(1) = {CHP} ;
++   varargout(2) = {pc};
++   varargout(3) = {expvar};
++end
++
++% ---------------------------------
++if (foll~=0),toc,disp('==> That''s all folks !');end
+Index: ../trunk-jpl/externalpackages/pcatool/install/calsvd2.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/calsvd2.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/calsvd2.m	(revision 21589)
+@@ -0,0 +1,49 @@
++% [SVD1,SVD2,PC1,PC2,EXPVAR,Lambda] = CALSVD2(A,B,N) Compute SVDs
++%
++% Ref: H. Bjornson and S.A. Venegas: "A manual for EOF and SVD - 
++%      Analyses of climatic Data" 1997
++%================================================================
++%
++%  Guillaume MAZE - LPO/LMD - March 2004
++%  gmaze@univ-brest.fr
++
++
++   function [e1,e2,pc1,pc2,expvar,Lambda,dsumCF] = calsvd2(A,B,N);
++
++
++%================================================================
++% Ref: H. Bjornson and S.A. Venegas: "A manual for EOF and SVD - 
++% Analyses of climatic Data" 1997 => p18
++
++% Assume that A is (time*map) matrix
++[n p]=size(A);
++
++% Remove the mean of each column (ie the time mean in each station records)
++S=detrend(A,'constant');
++P=detrend(B,'constant');
++
++% Form the covariance matrix:
++C=S'*P;
++
++% Find eigenvectors and singular values
++[U,Lambda,V] = svds(C,N);
++
++% PC
++a=S*U;
++b=P*V;
++
++% Make them clear for output
++for iN=1:N
++    e1(iN,:) = squeeze( U(:,iN) )';
++   pc1(iN,:) = squeeze( a(:,iN) )';
++    e2(iN,:) = squeeze( V(:,iN) )';
++   pc2(iN,:) = squeeze( b(:,iN) )';
++end
++
++% Amount of variance explained a 0.1 pres et en %
++L2=Lambda.^2;
++dsum=diag(L2)/trace(L2);
++for iN=1:N
++   expvar(iN)=fix( ( dsum(iN)*100/sum(dsum) )*10 ) /10;
++end
++
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispEEOF.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispEEOF.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispEEOF.m	(revision 21589)
+@@ -0,0 +1,57 @@
++% dispEEOF(CHP,EXPVAR,DT,NLAG,MOD) Display few EEOFs.
++%
++% => DISPLAY FEW EEOFs.
++% CHP contains all the EEOFs as EOF*LAG*X*Y.
++% EXPVAR is a matrix with the explained variance of each
++%  EEOFs in %. This is just for title.
++% DT is time step between maps.
++% NLAG is the number of LAG to display.
++% MOD contains explicitly the EEOFs to display.
++%
++% Rq: it's using the plotm function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - March 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispEEOF(CHP,EXPVAR,DT,NLAG,MOD)
++
++% Number of EEOF to display     
++NMOD = length(MOD);
++
++% Open figure and first guest
++figur;
++clf;hold on
++typg=8;
++width  = .9/NMOD;
++height = .9/NLAG;
++dleft = (.95-width*NMOD)/4;
++left  = dleft;
++load mapanom
++
++% Let'go :
++
++% We choose an EEOF
++for imod = 1 : NMOD
++    mod = MOD(imod);
++    
++    % and plot maps
++    for lag=1:NLAG
++      bottom = .95-height*lag;
++      subplot('Position',[left bottom width height]);
++      C = squeeze(real(CHP(mod,lag,:,:)));
++%      C = C./xtrm(C); % Eventually normalise field
++      plotm(C,typg);
++      if(lag==1),caxis([-abs(xtrm(C)) abs(xtrm(C))]);cx=caxis;end;
++      caxis(cx);
++      colormap(mapanom);
++      if(lag==1)
++         titre=strcat('EOF',num2str(mod),'(',num2str(EXPVAR(mod)),'%)');
++         titre=strcat(titre,'; DT=',num2str(DT),' ');
++         title(titre);
++      end;
++    end
++    left = left + width + dleft;
++
++end
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispSVDnbc.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispSVDnbc.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispSVDnbc.m	(revision 21589)
+@@ -0,0 +1,66 @@
++% dispSVDnb(typg,CHP1,CHP2,N,expvar) Display SVDs
++%
++% => Display SVDs in white and black with correlation form
++% typg is plot type you want (see plotm.m).
++% CHP contains SVDs and is of the form: CHP(iSVD,X,Y)
++% N is number of SVD to display
++% expvar contained the explained variance of SVDs
++%
++% Rq: it''s using the plotmNB function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - December 2004
++%  gmaze@univ-brest.fr
++
++function [] = dispSVDnbc(typg,CHP1,CHP2,N,expvar)
++
++global ffile1 ffile2 nbcont
++nbcont=[-1:0.2:1];
++nbcont2=[-1:0.4:1];
++
++% --------------------------------------------------
++% AFFICHAGE
++% --------------------------------------------------
++if (typg~=1)&(typg~=7)&(typg~=3)&(typg~=6)
++   CBAROR='horiz';
++   iw=N;jw=2;
++else
++   CBAROR='vert';
++   iw=N;jw=2;
++end
++
++
++f1=figur;clf; hold on
++for iN=1:N
++     subplot(iw,jw,2*iN-1)
++C = squeeze(real(CHP1(iN,:,:)));
++[cs,h]=plotmNB(C,typg);
++clabel(cs,h,nbcont2,'labelspacing',100,'fontsize',9);
++titre1=strcat('SVD',num2str(iN),':',ffile1);
++titre2=strcat(' (',num2str(expvar(iN)),'%)');
++title(strcat(titre1,titre2));
++
++     subplot(iw,jw,2*iN)
++C = squeeze(real(CHP2(iN,:,:)));
++[cs,h]=plotmNB(C,typg);
++clabel(cs,h,nbcont2,'labelspacing',100,'fontsize',9);
++%clabel(cs,h,'labelspacing',100);
++titre1=strcat('SVD',num2str(iN),':',ffile2);
++titre2=strcat(' (',num2str(expvar(iN)),'%)');
++title(strcat(titre1,titre2));
++
++end %for iN
++
++
++
++
++%titre1=strcat(num2str(lat(il1)),'/',num2str(lat(il2)));
++titre2=strcat(' Total explained variance:',num2str(sum(expvar)),'%');
++%titre3=strcat('(Analysed files: ',ffile1,' vs ',ffile2,')');
++%titre=strvcat(titre2,titre3);
++suptitle(titre2);
++
++set(f1,'Position',[378 39 313 647]); % Laptop screen
++%set(f1,'Position',[369 55 316 899]); % Desktop screen
++%set(f1,'Name',strcat(ffile,'<>',titre1,'<> REAL PART'));
+Index: ../trunk-jpl/externalpackages/pcatool/install/test_pcatool.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/test_pcatool.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/test_pcatool.m	(revision 21589)
+@@ -0,0 +1,160 @@
++% Here is a simple script to test caleof.m from PCATOOL package.
++% 
++
++% gmaze@mit.edu
++% 2006/07/31
++%
++
++clear
++
++field = 1; % The best one
++
++% Generate the data
++x = -10 : 1 : 10 ;
++y = x;
++[X,Y] = meshgrid(x,y);
++
++switch field
++ case 1   % H. Bjornson and S.A. Venegas
++   HH = 12*( 1.2 - 0.35*sqrt( (X-0).^2 + (Y-0).^2 ) );
++   HH = HH - mean(mean(HH));
++   H(1,:,:) = 1012 + HH;
++   H(2,:,:) = 1012 + (1012-squeeze(H(1,:,:)));;
++   H(3,:,:) = 1022.8 - 3.6*Y;
++   H(4,:,:) = 1012 + (1012-squeeze(H(3,:,:)));
++   H(5,:,:) = 1001.2 + 3.6*X;
++   H(6,:,:) = 1012 + (1012-squeeze(H(5,:,:)));
++  cont = [980:5:1050];
++  N = 2;
++  
++ case 11   % H. Bjornson and S.A. Venegas modified
++   % Here it must be only 2 non-zero EOF (45degre oriented ) of similar variance 50%
++   H = ones(4,length(x),length(y));
++   H(1,:,:) =  Y;
++   H(2,:,:) = -Y;
++   H(3,:,:) = X;
++   H(4,:,:) = -X;
++   N = 2;
++
++ case 2 % Hartmann eg:  analysis in place
++  a = [2 4 -6 8 ; 1 2 -3 4];
++  H(1,:,:) = a(1,:)';
++  H(2,:,:) = a(2,:)';
++  
++  % Get EOFs:
++  N = 4;
++  for method = 2 : -1 : 1
++    [E,pc,expvar] = caleof(H,N,method);
++    %E'
++  end
++
++  return
++  
++ case 3  % My signal
++  np = 4; % Numer of random signal (...and eof)
++  nt = 10; % Number of timestep
++  H = zeros(nt,length(x),length(y));
++  for ip = 1 : np
++    xc(ip) = abs(fix(rand(1)*10));
++    yc(ip) = abs(fix(rand(1)*10));
++    if ip>=fix(np/2)
++      xc(ip) = -xc(ip);
++      yc(ip) = -yc(ip);
++    end
++    dd(ip) = fix(rand(1)*10);
++  end %for ip
++  f = 1/nt;
++  for it = 1 : nt 
++    H2 = zeros(length(x),length(y));
++    for ip = 1 : ip
++        if it==1,[xc(ip) yc(ip) dd(ip)],end
++        HH = 12*( 1.2 - 0.35*sqrt(  ((X-xc(ip)).^2 + (Y-yc(ip)).^2 )/dd(ip) ));
++        H2 = HH - mean(mean(HH));
++	H(it,:,:) = squeeze(H(it,:,:)) + H2.*cos(pi*it/dd(ip)) ;
++    end %for ip
++  end %for it
++  H = 1012 + H;
++  cont = [980:5:1050];
++  N = 3;
++  
++ case 4 % My signal 2
++  x = -pi : pi/6 : pi ;
++  y = x;
++  [X,Y] = meshgrid(x,y);
++  HH  = cos(X) + cos(Y);
++  HH2 = cos(Y);
++  nt = 12;
++  for it = 1 : nt
++%     H(it,:,:) = cos(pi*it/nt)*HH; cont=[-2 2];
++     H(it,:,:) = 2*cos(pi*it/nt)*HH + 3*cos(pi*it/nt/2)*HH2; cont=[-10 10];
++     xtrm(squeeze(H(it,:,:)));
++  end
++  cont=[-2 2];
++  N = 3;
++  
++end % switch field
++
++%return
++
++% Plot field time serie:
++if 1
++figure;iw=2;jw=size(H,1)/iw;
++set(gcf,'position',[11 533 560 420]);
++
++for i=1:iw*jw
++  C = squeeze(H(i,:,:));
++  
++  subplot(iw,jw,i);
++  pcolor(X,Y,C);
++  title(num2str(i));
++  if i==1,cx=caxis;end
++  axis square
++  caxis(cx);
++
++end %for i
++end %fi
++%return
++
++% Get EOFs:
++G = map2mat(ones(size(H,2),size(H,3)),H);
++
++for method = 1 : 4
++  [E,pc,expvar] = caleof(G,N,method);  
++  eof = mat2map(ones(size(H,2),size(H,3)),E);
++  
++
++figure;iw=1;jw=N+1;
++set(gcf,'MenuBar','none');
++posi = [576 0 710 205];
++set(gcf,'position',[posi(1) (method-1)*250+50 posi(3) posi(4)]);
++
++for i=1:iw*jw
++  if i<= iw*jw-1
++    
++  C = squeeze(eof(i,:,:));
++  subplot(iw,jw,i);
++  cont = 12;
++  [cs,h] = contourf(X,Y,C,cont);
++  clabel(cs,h); 
++  title(strcat('EOF:',num2str(i),'/',num2str(expvar(i)),'%'));
++  axis square;
++  %caxis([cont(1) cont(end)]);
++  
++  else
++  subplot(iw,jw,iw*jw);
++  plot(pc');
++  grid on
++  xlabel('time')
++  title('PC')
++  legend(num2str([1:N]'),2);
++  box on
++  
++
++  end %if
++  
++end %for i
++%suptitle(strcat('METHODE:',num2str(method)));
++
++end %for method
++
++
+Index: ../trunk-jpl/externalpackages/pcatool/install/dispSVDlag.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/dispSVDlag.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/dispSVDlag.m	(revision 21589)
+@@ -0,0 +1,62 @@
++% dispSVDlag(typg,CHP1,CHP2,N,expvar,LAGS,dt) Display SVDs lagged
++%
++% => Display SVDs lagged
++% typg is plot type you want (see plotm.m).
++% CHP contains SVDs and is of the form: CHP(iSVD,X,Y)
++% N is number of SVD to display
++% expvar contained the explained variance of SVDs
++%
++% Rq: it''s using the plotm function
++%
++%================================================================
++
++%  Guillaume MAZE - LPO/LMD - December 2004
++%  gmaze@univ-brest.fr
++
++   function [] = dispSVD(typg,CHP1,CHP2,N,expvar,LAGS,dt)
++
++load mapanom2
++global ffile1 ffile2
++% --------------------------------------------------
++% AFFICHAGE
++% --------------------------------------------------
++if (typg~=1)&(typg~=7)&(typg~=3)&(typg~=6)
++   CBAROR='horiz';
++else
++   CBAROR='vert';
++end
++
++   CHP1=squeeze(CHP1(:,N,:,:));
++   CHP2=squeeze(CHP2(:,N,:,:));
++
++Nlag=size(CHP1,1);
++
++iw=round(Nlag/dt);jw=2;
++
++
++f1=figur;clf; hold on
++ilag=0;
++for lag=1:dt:Nlag
++  ilag=ilag+1;
++
++    subplot(iw,jw,2*ilag-1)
++C = squeeze(real(CHP1(lag,:,:)));
++plotm(C,typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++if(ilag==1);cx=caxis;end;caxis(cx);
++colormap(mycolormap(mapanom,21));
++c=colorbar(CBAROR);
++titre1=strcat('lag:',num2str(LAGS(lag)),'y: ',ffile1);
++title(titre1);
++
++     subplot(iw,jw,2*ilag)
++C = squeeze(real(CHP2(lag,:,:)));
++plotm(C,typg);caxis([-abs(xtrm(C)) abs(xtrm(C))]);
++if(ilag==1);cx=caxis;end;caxis(cx);
++colormap(mycolormap(mapanom,21));
++c=colorbar(CBAROR);
++titre1=strcat('lag:',num2str(LAGS(lag)),'y: ',ffile2);
++title(titre1);
++
++end %for iN
++
++suptitle(strcat('Lagged SVD, mode:',num2str(N)));
+Index: ../trunk-jpl/externalpackages/pcatool/install/map2mat.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/map2mat.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/map2mat.m	(revision 21589)
+@@ -0,0 +1,40 @@
++% D = MAP2MAT(F,C) Reshaping matrix
++%
++% => Conversion of a 'map' matrix C(TIME,LON,LAT) into a D(TIME,PT) matrix
++% under the mask F(LON,LAT).
++% F is a matrix contenaing 1 where you would like to keep the point and
++%  0 elsewhere.
++%
++% Rq: No check is done about the input.
++%
++% See also: mat2map
++%================================================================
++
++% March 2004
++% gmaze@univ-brest.fr
++
++function [D] = map2mat(F,C);
++
++% Get dimensions
++[tps nolon nolat] = size(C);
++
++% So output matrix will be:
++D = zeros(tps,nolon*nolat);
++
++% point indice
++ipt = 0;
++
++% 'Un-mapping' :
++for iy=1:nolat
++  for ix=1:nolon
++      if F(ix,iy)>0
++         ipt = ipt + 1;
++         D(:,ipt)=squeeze(C(:,ix,iy));
++      end % if
++  end % for
++end %for
++
++% OUTPUT:
++D = squeeze(D(:,1:ipt));
++
++
+Index: ../trunk-jpl/externalpackages/pcatool/install/mat2map.m
+===================================================================
+--- ../trunk-jpl/externalpackages/pcatool/install/mat2map.m	(revision 0)
++++ ../trunk-jpl/externalpackages/pcatool/install/mat2map.m	(revision 21589)
+@@ -0,0 +1,41 @@
++% C = MAP2MAT(F,D) Reshaping matrix
++%
++% => Creation of a 'map' matrix C(TIME,LON,LAT) from D(TIME,PT)
++% following mask F(LON,LAT).
++% F is a matrix contenaing 1 where you would like to keep the point and
++%  0 elsewhere (see mat2map).
++% 
++% Rq: No check is done about the input.
++%
++% See also: map2mat
++%================================================================
++
++% March 2004
++% gmaze@univ-brest.fr
++
++function [C] = mat2map(F,D);
++
++% Get dimensions
++[nolon nolat] = size(F);
++[time npt] = size(D);
++
++% So output 'map' matrix has the form:
++C = zeros(time,nolon,nolat);
++
++% Variables
++nul = NaN.*ones(time,1);
++ipt = 0 ;
++
++
++% 'mapping' :
++  for iy=1:nolat
++      for ix=1:nolon
++         if F(ix,iy)>0
++            ipt = ipt + 1;
++            C(:,ix,iy) = D(:,ipt);
++         else
++            C(:,ix,iy) = nul;
++         end %if
++      end %for ix
++  end %for iy
++
Index: /issm/oecreview/Archive/21337-21723/ISSM-21590-21591.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21590-21591.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21590-21591.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/classes/frictioncoulomb.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/frictioncoulomb.py	(revision 21590)
++++ ../trunk-jpl/src/m/classes/frictioncoulomb.py	(revision 21591)
+@@ -54,7 +54,7 @@
+ 	return md
+     # }}}
+     def marshall(self,prefix,md,fid):    # {{{
+-	WriteData(fid,prefix,'name','md.friction.law','data',1,'format','Integer')
++	WriteData(fid,prefix,'name','md.friction.law','data',7,'format','Integer')
+ 	WriteData(fid,prefix,'object',self,'fieldname','coefficient','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
+ 	WriteData(fid,prefix,'object',self,'fieldname','coefficientcoulomb','format','DoubleMat','mattype',1)
+ 	WriteData(fid,prefix,'object',self,'fieldname','p','format','DoubleMat','mattype',2)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21591-21592.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21591-21592.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21591-21592.diff	(revision 21726)
@@ -0,0 +1,40 @@
+Index: ../trunk-jpl/packagers/macosx-dakota/package.sh
+===================================================================
+--- ../trunk-jpl/packagers/macosx-dakota/package.sh	(revision 21591)
++++ ../trunk-jpl/packagers/macosx-dakota/package.sh	(revision 21592)
+@@ -30,7 +30,7 @@
+ cd $ISSM_DIR
+ rm -rf trunk
+ mkdir trunk
+-cp -rf bin lib test examples trunk/
++cp -rf bin lib test examples scripts trunk/
+ tar -czf $tarball_name trunk
+ ls -lah $tarball_name
+ 
+Index: ../trunk-jpl/packagers/ubuntu/package.sh
+===================================================================
+--- ../trunk-jpl/packagers/ubuntu/package.sh	(revision 21591)
++++ ../trunk-jpl/packagers/ubuntu/package.sh	(revision 21592)
+@@ -27,7 +27,7 @@
+ cd $ISSM_DIR
+ rm -rf trunk
+ mkdir trunk
+-cp -rf bin lib test examples trunk/
++cp -rf bin lib test examples scripts trunk/
+ tar -czf $tarball_name trunk
+ ls -lah $tarball_name
+ 
+Index: ../trunk-jpl/packagers/macosx/package.sh
+===================================================================
+--- ../trunk-jpl/packagers/macosx/package.sh	(revision 21591)
++++ ../trunk-jpl/packagers/macosx/package.sh	(revision 21592)
+@@ -30,7 +30,8 @@
+ cd $ISSM_DIR
+ rm -rf trunk
+ mkdir trunk
+-cp -rf bin lib test examples trunk/
++#Need script to download data
++cp -rf bin lib test examples scripts trunk/
+ tar -czf $tarball_name trunk
+ ls -lah $tarball_name
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21594-21595.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21594-21595.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21594-21595.diff	(revision 21726)
@@ -0,0 +1,40 @@
+Index: ../trunk-jpl/packagers/ubuntu/package.sh
+===================================================================
+--- ../trunk-jpl/packagers/ubuntu/package.sh	(revision 21594)
++++ ../trunk-jpl/packagers/ubuntu/package.sh	(revision 21595)
+@@ -27,7 +27,7 @@
+ cd $ISSM_DIR
+ rm -rf trunk
+ mkdir trunk
+-cp -rf bin lib test examples scripts trunk/
++cp -rf bin lib test examples trunk/
+ tar -czf $tarball_name trunk
+ ls -lah $tarball_name
+ 
+Index: ../trunk-jpl/packagers/macosx/package.sh
+===================================================================
+--- ../trunk-jpl/packagers/macosx/package.sh	(revision 21594)
++++ ../trunk-jpl/packagers/macosx/package.sh	(revision 21595)
+@@ -30,8 +30,7 @@
+ cd $ISSM_DIR
+ rm -rf trunk
+ mkdir trunk
+-#Need script to download data
+-cp -rf bin lib test examples scripts trunk/
++cp -rf bin lib test examples trunk/
+ tar -czf $tarball_name trunk
+ ls -lah $tarball_name
+ 
+Index: ../trunk-jpl/packagers/macosx-dakota/package.sh
+===================================================================
+--- ../trunk-jpl/packagers/macosx-dakota/package.sh	(revision 21594)
++++ ../trunk-jpl/packagers/macosx-dakota/package.sh	(revision 21595)
+@@ -30,7 +30,7 @@
+ cd $ISSM_DIR
+ rm -rf trunk
+ mkdir trunk
+-cp -rf bin lib test examples scripts trunk/
++cp -rf bin lib test examples trunk/
+ tar -czf $tarball_name trunk
+ ls -lah $tarball_name
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21595-21596.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21595-21596.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21595-21596.diff	(revision 21726)
@@ -0,0 +1,262 @@
+Index: ../trunk-jpl/externalpackages/adolc/install-withampi-pleiades-gcc.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adolc/install-withampi-pleiades-gcc.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adolc/install-withampi-pleiades-gcc.sh	(revision 21596)
+@@ -4,19 +4,23 @@
+ #Some cleanup
+ rm -rf install src
+ 
+-git clone -b ampi git://git.mcs.anl.gov/adol-c.git src
+-#git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
++# Keeping the following commented line for potential future use.
++#git clone https://gitlab.com/adol-c/adol-c.git src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/ADOL-C' 'ADOL-C.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  ADOL-C.tar.gz
++
+ #Compile ADOL-C
+ cd src
+-autoreconf -f -i 
+-
+ ./configure --prefix=$ISSM_DIR/externalpackages/adolc/install  \
+ 	--libdir=$ISSM_DIR/externalpackages/adolc/install/lib \
+ 	--with-mpi-root=$ISSM_DIR/externalpackages/mpich/install \
+ 	--enable-ampi \
+ 	--with-ampi=$ISSM_DIR/externalpackages/adjoinablempi/install \
+-        --with-soname=adolc \
++	--with-soname=adolc \
+ 	--disable-tapedoc-values
+ 
+ make clean
+Index: ../trunk-jpl/externalpackages/adolc/install-withampi.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adolc/install-withampi.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adolc/install-withampi.sh	(revision 21596)
+@@ -4,13 +4,17 @@
+ #Some cleanup
+ rm -rf install src
+ 
+-git clone https://gitlab.com/adol-c/adol-c.git src
+-#git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
++# Keeping the following commented line for potential future use.
++#git clone https://gitlab.com/adol-c/adol-c.git src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/ADOL-C' 'ADOL-C.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  ADOL-C.tar.gz
++
+ #Compile ADOL-C
+ cd src
+-autoreconf -f -i 
+-
+ ./configure --prefix=$ISSM_DIR/externalpackages/adolc/install  \
+ 	--libdir=$ISSM_DIR/externalpackages/adolc/install/lib \
+ 	--with-mpi-root=$ISSM_DIR/externalpackages/mpich/install \
+Index: ../trunk-jpl/externalpackages/adolc/install.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adolc/install.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adolc/install.sh	(revision 21596)
+@@ -4,13 +4,17 @@
+ #Some cleanup
+ rm -rf install src
+ 
+-git clone https://gitlab.com/adol-c/adol-c.git src
+-#git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
++# Keeping the following commented line for potential future use.
++#git clone https://gitlab.com/adol-c/adol-c.git src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/ADOL-C' 'ADOL-C.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  ADOL-C.tar.gz
++
+ #Compile ADOL-C
+ cd src
+-
+-autoreconf -f -i 
+ ./configure --prefix=$ISSM_DIR/externalpackages/adolc/install \
+ 	--libdir=$ISSM_DIR/externalpackages/adolc/install/lib 
+ 
+Index: ../trunk-jpl/externalpackages/adolc/install-withampi-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adolc/install-withampi-macosx64.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adolc/install-withampi-macosx64.sh	(revision 21596)
+@@ -4,23 +4,26 @@
+ #Some cleanup
+ rm -rf install src
+ 
+-git clone https://gitlab.com/adol-c/adol-c.git src
+-#git clone -b ampi git://git.mcs.anl.gov/adol-c.git src
+-#git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
++# Keeping the following commented line for potential future use.
++#git clone https://gitlab.com/adol-c/adol-c.git src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/ADOL-C' 'ADOL-C.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  ADOL-C.tar.gz
++
+ #Compile ADOL-C
+-cd src
+-autoreconf -f -i 
+-
+ export CFLAGS="-O2 -L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich"
+ export CXXFLAGS="-O2 -L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich"
+ 
++cd src
+ ./configure --prefix=$ISSM_DIR/externalpackages/adolc/install  \
+ 	--libdir=$ISSM_DIR/externalpackages/adolc/install/lib \
+ 	--with-mpi-root=$ISSM_DIR/externalpackages/mpich/install \
+ 	--enable-ampi \
+ 	--with-ampi=$ISSM_DIR/externalpackages/adjoinablempi/install \
+-        --with-soname=adolc \
++	--with-soname=adolc \
+ 	--disable-tapedoc-values
+ 
+ make clean
+Index: ../trunk-jpl/externalpackages/adolc/install-withampi-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adolc/install-withampi-pleiades.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adolc/install-withampi-pleiades.sh	(revision 21596)
+@@ -4,19 +4,23 @@
+ #Some cleanup
+ rm -rf install src
+ 
+-git clone -b ampi git://git.mcs.anl.gov/adol-c.git src
+-#git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
++# Keeping the following commented line for potential future use.
++#git clone https://gitlab.com/adol-c/adol-c.git src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/ADOL-C' 'ADOL-C.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  ADOL-C.tar.gz
++
+ #Compile ADOL-C
+ cd src
+-autoreconf -f -i 
+-
+ ./configure --prefix=$ISSM_DIR/externalpackages/adolc/install  \
+ 	--libdir=$ISSM_DIR/externalpackages/adolc/install/lib \
+ 	--with-mpi-root="/nasa/sgi/mpt/2.06rp16/" \
+ 	--enable-ampi \
+ 	--with-ampi=$ISSM_DIR/externalpackages/adjoinablempi/install \
+-        --with-soname=adolc \
++	--with-soname=adolc \
+ 	--disable-tapedoc-values
+ 
+ make clean
+Index: ../trunk-jpl/externalpackages/adjoinablempi/install-pleaides-gcc.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adjoinablempi/install-pleaides-gcc.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adjoinablempi/install-pleaides-gcc.sh	(revision 21596)
+@@ -4,13 +4,18 @@
+ #Some cleanup
+ rm -rf src  install
+ 
++# Keeping this for potential future use
+ #Mercurial cloning: 
+-hg clone http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
++#hg clone -r 268 http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/adjoinablempi' 'adjoinablempi.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  adjoinablempi.tar.gz
++
+ #Configure adjoinablempi
+ cd src
+-autoreconf -fi
+-
+ ./configure \
+ 	--prefix="$ISSM_DIR/externalpackages/adjoinablempi/install" \
+ 	--libdir="$ISSM_DIR/externalpackages/adjoinablempi/install/lib" \
+Index: ../trunk-jpl/externalpackages/adjoinablempi/install.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adjoinablempi/install.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adjoinablempi/install.sh	(revision 21596)
+@@ -4,13 +4,18 @@
+ #Some cleanup
+ rm -rf src  install
+ 
++# Keeping this for potential future use
+ #Mercurial cloning: 
+-hg clone -r 268 http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
++#hg clone -r 268 http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/adjoinablempi' 'adjoinablempi.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  adjoinablempi.tar.gz
++
+ #Configure adjoinablempi
+ cd src
+-autoreconf -fi
+-
+ ./configure \
+ 	--prefix="$ISSM_DIR/externalpackages/adjoinablempi/install" \
+ 	--libdir="$ISSM_DIR/externalpackages/adjoinablempi/install/lib" \
+Index: ../trunk-jpl/externalpackages/adjoinablempi/install-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adjoinablempi/install-macosx64.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adjoinablempi/install-macosx64.sh	(revision 21596)
+@@ -4,15 +4,20 @@
+ #Some cleanup
+ rm -rf src  install
+ 
++# Keeping this for potential future use
+ #Mercurial cloning: 
+-hg clone http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
++#hg clone -r 268 http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/adjoinablempi' 'adjoinablempi.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  adjoinablempi.tar.gz
++
+ export C_INCLUDE_PATH=:/usr/include/sys/:$C_INCLUDE_PATH
+ 
+ #Configure adjoinablempi
+ cd src
+-autoreconf -fi
+-
+ ./configure \
+ 	--prefix="$ISSM_DIR/externalpackages/adjoinablempi/install" \
+ 	--libdir="$ISSM_DIR/externalpackages/adjoinablempi/install/lib" \
+Index: ../trunk-jpl/externalpackages/adjoinablempi/install-pleaides.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/adjoinablempi/install-pleaides.sh	(revision 21595)
++++ ../trunk-jpl/externalpackages/adjoinablempi/install-pleaides.sh	(revision 21596)
+@@ -4,13 +4,18 @@
+ #Some cleanup
+ rm -rf src  install
+ 
++# Keeping this for potential future use
+ #Mercurial cloning: 
+-hg clone http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
++#hg clone -r 268 http://mercurial.mcs.anl.gov//ad/AdjoinableMPI src
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/adjoinablempi' 'adjoinablempi.tar.gz'
++
++#Untar ADOL-C
++tar -zxf  adjoinablempi.tar.gz
++
+ #Configure adjoinablempi
+ cd src
+-autoreconf -fi
+-
+ ./configure \
+ 	--prefix="$ISSM_DIR/externalpackages/adjoinablempi/install" \
+ 	--libdir="$ISSM_DIR/externalpackages/adjoinablempi/install/lib" \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21596-21597.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21596-21597.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21596-21597.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21596)
++++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 21597)
+@@ -823,6 +823,7 @@
+ 			iomodel->FetchDataToInput(elements,"md.friction.q",FrictionQEnum);
+ 			break;
+ 		case 9:
++			iomodel->FetchDataToInput(elements,"md.initialization.temperature",TemperatureEnum);
+ 			iomodel->FetchDataToInput(elements,"md.friction.coefficient",FrictionCoefficientEnum);
+ 			iomodel->FetchDataToInput(elements,"md.friction.pressure_adjusted_temperature",FrictionPressureAdjustedTemperatureEnum);
+ 			InputUpdateFromConstantx(elements,1.,FrictionPEnum);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21597-21598.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21597-21598.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21597-21598.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21597)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21598)
+@@ -15,6 +15,8 @@
+ 
+    int  stage=1;
+ 
++   if (strcmp(name,""))_error_("Empty enum string!");
++
+    if(stage==1){
+ 	      if (strcmp(name,"FemModel")==0) return FemModelEnum;
+ 	      else if (strcmp(name,"ParametersSTART")==0) return ParametersSTARTEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21603-21604.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21603-21604.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21603-21604.diff	(revision 21726)
@@ -0,0 +1,55 @@
+Index: ../trunk-jpl/test/Archives/Archive408.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/NightlyRun/test408.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test408.py	(revision 21603)
++++ ../trunk-jpl/test/NightlyRun/test408.py	(revision 21604)
+@@ -8,13 +8,23 @@
+ from parameterize import *
+ from setflowequation import *
+ from solve import *
++from frictioncoulomb import frictioncoulomb
+ 
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'../Exp/SquareShelf.exp','')
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
++md.geometry.bed=md.geometry.base
++pos=numpy.nonzero(md.mask.groundedice_levelset<0.)
++md.geometry.bed[pos]=md.geometry.base[pos]-10
++md.friction=frictioncoulomb()
++md.friction.coefficient=20*np.ones(md.mesh.numberofvertices)
++md.friction.p=1*np.ones(md.mesh.numberofvertices)
++md.friction.q=1*np.ones(md.mesh.numberofvertices)
++md.friction.coefficientcoulomb=0.02*np.ones(md.mesh.numberofvertices)
++md.transient.isthermal=False
++md.transient.isgroundingline=True
+ md.extrude(3,1.)
+ md=setflowequation(md,'SSA','all')
+-md.transient.isthermal=False
+ md.cluster=generic('name',gethostname(),'np',3)
+ md.transient.requested_outputs=['default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb','TotalSmb']
+ md=solve(md,'Transient')
+Index: ../trunk-jpl/test/NightlyRun/test408.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test408.m	(revision 21603)
++++ ../trunk-jpl/test/NightlyRun/test408.m	(revision 21604)
+@@ -2,8 +2,17 @@
+ md=triangle(model(),'../Exp/Square.exp',150000.);
+ md=setmask(md,'../Exp/SquareShelf.exp','');
+ md=parameterize(md,'../Par/SquareSheetShelf.par');
++md.geometry.bed=md.geometry.base;
++pos=find(md.mask.groundedice_levelset<0);
++md.geometry.bed(pos)=md.geometry.base(pos)-10;
++md.friction=frictioncoulomb();
++md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
++md.friction.p=ones(md.mesh.numberofelements,1);
++md.friction.q=ones(md.mesh.numberofelements,1);
++md.friction.coefficientcoulomb=0.02*ones(md.mesh.numberofvertices,1);
+ md=extrude(md,3,1);
+ md.transient.isthermal=0;
++md.transient.isgroundingline=1;
+ md=setflowequation(md,'SSA','all');
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.transient.requested_outputs={'default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb','TotalSmb'};
Index: /issm/oecreview/Archive/21337-21723/ISSM-21609-21610.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21609-21610.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21609-21610.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/test/NightlyRun/test408.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test408.py	(revision 21609)
++++ ../trunk-jpl/test/NightlyRun/test408.py	(revision 21610)
+@@ -14,7 +14,7 @@
+ md=setmask(md,'../Exp/SquareShelf.exp','')
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+ md.geometry.bed=md.geometry.base
+-pos=numpy.nonzero(md.mask.groundedice_levelset<0.)
++pos=np.nonzero(md.mask.groundedice_levelset<0.)
+ md.geometry.bed[pos]=md.geometry.base[pos]-10
+ md.friction=frictioncoulomb()
+ md.friction.coefficient=20*np.ones(md.mesh.numberofvertices)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21610-21611.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21610-21611.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21610-21611.diff	(revision 21726)
@@ -0,0 +1,44 @@
+Index: ../trunk-jpl/src/m/plot/plot_icefront.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_icefront.py	(revision 21610)
++++ ../trunk-jpl/src/m/plot/plot_icefront.py	(revision 21611)
+@@ -21,8 +21,6 @@
+ 	onlyice=np.where(np.sum(md.mask.ice_levelset[elements],1)==-3)
+ 	noice=np.where(np.sum(md.mask.ice_levelset[elements],1)==3)
+ 
+-	#hydro neumann
+-	hydro_neumann=np.where(md.hydrology.neumannflux!=0)
+ 	#plot mesh
+ 	ax.triplot(x,y,elements)
+ 
+@@ -30,9 +28,6 @@
+ 	if len(icefront[0])>0:
+ 		colors=np.asarray([0.5 for element in elements[icefront]])
+ 		ax.tripcolor(x,y,elements[icefront],facecolors=colors,alpha=0.5,label='elements on ice front')
+-	if len(hydro_neumann[0])>0:
+-		colors=np.asarray([0.5 for element in elements[hydro_neumann]])
+-		ax.tripcolor(x,y,elements[hydro_neumann],facecolors=colors,alpha=0.5,label='non zero neumann flux for the hydrology')
+ 
+ 	#apply options
+ 	options.addfielddefault('title','Neumann boundary conditions')
+Index: ../trunk-jpl/src/m/plot/plot_unit.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21610)
++++ ../trunk-jpl/src/m/plot/plot_unit.py	(revision 21611)
+@@ -146,7 +146,7 @@
+ 	# {{{ data are on nodes
+ 	elif datatype==2:
+ 		if is2d:
+-			if options.exist('mask'):
++			if np.ma.is_masked(data):
+ 				EltMask=np.asarray([np.any(np.in1d(index,np.where(data.mask))) for index in elements])
+ 				triangles=mpl.tri.Triangulation(x,y,elements,EltMask)
+ 			else:
+@@ -192,7 +192,6 @@
+ 			ax.set_xlim([min(x),max(x)])
+ 			ax.set_ylim([min(y),max(y)])
+ 			ax.set_zlim([min(z),max(z)])
+-
+ 			#raise ValueError('plot_unit error: 3D element plot not supported yet')
+ 		return
+ 	# }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21611-21612.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21611-21612.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21611-21612.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/test/NightlyRun/test408.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test408.py	(revision 21611)
++++ ../trunk-jpl/test/NightlyRun/test408.py	(revision 21612)
+@@ -18,8 +18,8 @@
+ md.geometry.bed[pos]=md.geometry.base[pos]-10
+ md.friction=frictioncoulomb()
+ md.friction.coefficient=20*np.ones(md.mesh.numberofvertices)
+-md.friction.p=1*np.ones(md.mesh.numberofvertices)
+-md.friction.q=1*np.ones(md.mesh.numberofvertices)
++md.friction.p=1*np.ones(md.mesh.numberofelements)
++md.friction.q=1*np.ones(md.mesh.numberofelements)
+ md.friction.coefficientcoulomb=0.02*np.ones(md.mesh.numberofvertices)
+ md.transient.isthermal=False
+ md.transient.isgroundingline=True
Index: /issm/oecreview/Archive/21337-21723/ISSM-21612-21613.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21612-21613.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21612-21613.diff	(revision 21726)
@@ -0,0 +1,16 @@
+Index: ../trunk-jpl/test/NightlyRun/test408.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test408.py	(revision 21612)
++++ ../trunk-jpl/test/NightlyRun/test408.py	(revision 21613)
+@@ -13,9 +13,9 @@
+ md=triangle(model(),'../Exp/Square.exp',150000.)
+ md=setmask(md,'../Exp/SquareShelf.exp','')
+ md=parameterize(md,'../Par/SquareSheetShelf.py')
+-md.geometry.bed=md.geometry.base
++md.geometry.bed=copy.deepcopy(md.geometry.base)
+ pos=np.nonzero(md.mask.groundedice_levelset<0.)
+-md.geometry.bed[pos]=md.geometry.base[pos]-10
++md.geometry.bed[pos]=md.geometry.bed[pos]-10
+ md.friction=frictioncoulomb()
+ md.friction.coefficient=20*np.ones(md.mesh.numberofvertices)
+ md.friction.p=1*np.ones(md.mesh.numberofelements)
Index: /issm/oecreview/Archive/21337-21723/ISSM-21613-21614.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21613-21614.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21613-21614.diff	(revision 21726)
@@ -0,0 +1,102 @@
+Index: ../trunk-jpl/test/NightlyRun/test201.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test201.py	(revision 21613)
++++ ../trunk-jpl/test/NightlyRun/test201.py	(revision 21614)
+@@ -19,9 +19,7 @@
+ #Fields and tolerances to track changes
+ field_names     =['Vx','Vy','Vel','Pressure']
+ field_tolerances=[1e-13,1e-13,1e-13,1e-13]
+-field_values=[\
+-	md.results.StressbalanceSolution.Vx,\
+-	md.results.StressbalanceSolution.Vy,\
+-	md.results.StressbalanceSolution.Vel,\
+-	md.results.StressbalanceSolution.Pressure,\
+-	]
++field_values=[md.results.StressbalanceSolution.Vx,
++							md.results.StressbalanceSolution.Vy,
++							md.results.StressbalanceSolution.Vel,
++							md.results.StressbalanceSolution.Pressure]
+Index: ../trunk-jpl/test/NightlyRun/runme.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/runme.py	(revision 21613)
++++ ../trunk-jpl/test/NightlyRun/runme.py	(revision 21614)
+@@ -52,7 +52,7 @@
+ 
+ 	#Process options
+ 	#GET benchmark {{{
+-	if not benchmark in ['all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing','adolc','slr']:
++	if not benchmark in ['all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing','adolc','slr','referential']:
+ 		print("runme warning: benchmark '{}' not supported, defaulting to test 'nightly'.".format(benchmark))
+ 		benchmark='nightly'
+ 	# }}}
+Index: ../trunk-jpl/test/NightlyRun/test1601.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21613)
++++ ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21614)
+@@ -17,7 +17,7 @@
+ md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=np.nan
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+-md.initialization.vel=np.zeros_like(md.initialization.vx)
++md.initialization.vel=np.zeros((md.mesh.numberofvertices))
+ 
+ md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Stressbalance')
+@@ -29,8 +29,9 @@
+ md.mesh.x=np.cos(theta)*x-np.sin(theta)*y
+ md.mesh.y=np.sin(theta)*x+np.cos(theta)*y
+ 
+-md.stressbalance.referential[:,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(md.mesh.numberofvertices))
+-md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices))
++rotation_array=np.array([np.cos(theta),np.sin(theta),0])
++md.stressbalance.referential[:,0:3]=(np.tile(rotation_array,(md.mesh.numberofvertices,1)))
++md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices,1))
+ md=solve(md,'Stressbalance')
+ vel1=md.results.StressbalanceSolution.Vel
+ 
+@@ -38,10 +39,10 @@
+ print "Error between Cartesian and rotated CS: %g" % (np.max(np.abs(vel0-vel1))/(np.max(np.abs(vel0))+sys.float_info.epsilon))
+ 
+ #Now, put CS back to normal except on the side where the spc are applied
+-pos=np.nonzero(np.logical_or.reduce(x==0.,x==1000000.))[0]
++pos=np.where(np.logical_or(x==0.,x==1000000.))[0]
+ md.stressbalance.referential[:]=np.nan
+-md.stressbalance.referential[pos,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(len(pos)))
+-md.stressbalance.referential[pos,3: ]=np.tile([0,0,1],(len(pos)))
++md.stressbalance.referential[pos,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(len(pos),1))
++md.stressbalance.referential[pos,3: ]=np.tile([0,0,1],(len(pos),1))
+ md=solve(md,'Stressbalance')
+ vel2=md.results.StressbalanceSolution.Vel
+ 
+@@ -51,7 +52,4 @@
+ #Fields and tolerances to track changes
+ field_names     =['vel1','vel2']
+ field_tolerances=[1e-11,1e-11]
+-field_values=[\
+-	vel1, \
+-	vel2, \
+-	]
++field_values=[vel1,vel2]
+Index: ../trunk-jpl/test/NightlyRun/test1602.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1602.py	(revision 21613)
++++ ../trunk-jpl/test/NightlyRun/test1602.py	(revision 21614)
+@@ -30,8 +30,8 @@
+ md.mesh.x=np.cos(theta)*x-np.sin(theta)*y
+ md.mesh.y=np.sin(theta)*x+np.cos(theta)*y
+ 
+-md.stressbalance.referential[:,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(md.mesh.numberofvertices))
+-md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices))
++md.stressbalance.referential[:,0:3]=np.tile([np.cos(theta),np.sin(theta),0],(md.mesh.numberofvertices,1))
++md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices,1))
+ md=solve(md,'Stressbalance')
+ vel1=md.results.StressbalanceSolution.Vel
+ 
+@@ -41,6 +41,4 @@
+ #Fields and tolerances to track changes
+ field_names     =['vel1']
+ field_tolerances=[1e-9]
+-field_values=[\
+-	vel1, \
+-	]
++field_values=[vel1]
Index: /issm/oecreview/Archive/21337-21723/ISSM-21614-21615.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21614-21615.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21614-21615.diff	(revision 21726)
@@ -0,0 +1,324 @@
+Index: ../trunk-jpl/m4/issm_options.m4
+===================================================================
+--- ../trunk-jpl/m4/issm_options.m4	(revision 21614)
++++ ../trunk-jpl/m4/issm_options.m4	(revision 21615)
+@@ -769,6 +769,7 @@
+ 		dnl ADOLCLIB="-L$ADOLC_ROOT/lib64 -ladolc" used to be the path
+ 		ADOLCLIB="-L$ADOLC_ROOT/lib -ladolc"
+ 		AC_DEFINE([_HAVE_ADOLC_],[1],[with adolc in ISSM src])
++		AC_DEFINE([_HAVE_AD_],[1],[with AD in ISSM src])
+ 		AC_SUBST([ADOLCINCL])
+ 		AC_SUBST([ADOLCLIB])
+ 	fi
+Index: ../trunk-jpl/src/c/classes/IoModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21614)
++++ ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21615)
+@@ -1718,7 +1718,13 @@
+ 	/*Now allocate matrix: */
+ 	if(M*N){
+ 		buffer=xNew<IssmPDouble>(M*N);
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++		matrix=xNew<IssmDouble>(M*N,"t");
++#else
+ 		matrix=xNew<IssmDouble>(M*N);
++#endif
+ 
+ 		/*Read matrix on node 0, then broadcast: */
+ 		if(my_rank==0){  
+Index: ../trunk-jpl/src/c/shared/MemOps/MemOps.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/MemOps/MemOps.cpp	(revision 21614)
++++ ../trunk-jpl/src/c/shared/MemOps/MemOps.cpp	(revision 21615)
+@@ -14,8 +14,10 @@
+ #include "MemOps.h"
+ 
+ #if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
+-template <> adouble*  xNew(unsigned int size) {
+-	ensureContiguousLocations(size);
++template <> adouble*  xNew(unsigned int size, const char* const contig) {
++	if (*contig == 't')
++		ensureContiguousLocations(size);
++
+ 	adouble* aT_p=new adouble[size];
+ 	assert(aT_p);
+ 	return aT_p;
+Index: ../trunk-jpl/src/c/shared/MemOps/MemOps.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/MemOps/MemOps.h	(revision 21614)
++++ ../trunk-jpl/src/c/shared/MemOps/MemOps.h	(revision 21615)
+@@ -15,7 +15,14 @@
+ #include <cstdlib>
+ #endif 
+ 
++static char const DEFCONTIG = 'f';
++
++// AD (mostly ADOLC) is sensitive to calls to ensurecontiguous. These changes limit its use.
++#ifdef _HAVE_AD_
++template <class T> T* xNew(unsigned int size, const char* const contig = &DEFCONTIG) { /*{{{*/
++#else
+ template <class T> T* xNew(unsigned int size) { /*{{{*/
++#endif
+ #ifdef USE_CXX_MEMORY_MANAGMENT_FOR_NON_POD_TYPES
+   T* aT_p=new T[size];
+   assert(aT_p);
+@@ -48,9 +55,18 @@
+   return aT_pp ;
+ #endif
+ }/*}}}*/
++// AD (mostly ADOLC) is sensitive to calls to ensurecontiguous. These changes limit its use.
++#ifdef _HAVE_AD_
++template <class T> T* xNewZeroInit(unsigned int size,const char* const contig = &DEFCONTIG) {/*{{{*/
++#else
+ template <class T> T* xNewZeroInit(unsigned int size) {/*{{{*/
++#endif
+ #ifdef USE_CXX_MEMORY_MANAGMENT_FOR_NON_POD_TYPES
++#ifdef _HAVE_AD_
++  T* aT_p=xNew<T>(size,contig);
++#else
+   T* aT_p=xNew<T>(size);
++#endif
+   for (unsigned int i=0; i<size;++i) 
+     aT_p[i]=(T)0;
+   return aT_p;
+@@ -143,7 +159,7 @@
+ 
+ #if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
+ #include "../Numerics/types.h"
+-template <> adouble*  xNew(unsigned int size);
++template <> adouble*  xNew(unsigned int size, const char* const contig);
+ #endif
+ 
+ #endif
+Index: ../trunk-jpl/src/c/toolkits/mumps/MumpsSolve.cpp
+===================================================================
+--- ../trunk-jpl/src/c/toolkits/mumps/MumpsSolve.cpp	(revision 21614)
++++ ../trunk-jpl/src/c/toolkits/mumps/MumpsSolve.cpp	(revision 21615)
+@@ -166,8 +166,15 @@
+ 		}
+ 	}
+ 	/*Deal with right hand side. We need to ISSM_MPI_Gather it onto cpu 0: */
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++	rhs=xNew<IssmDouble>(pf_M,"t");
++#else
+ 	rhs=xNew<IssmDouble>(pf_M);
++#endif
+ 
++
+ 	recvcounts=xNew<int>(num_procs);
+ 	displs=xNew<int>(num_procs);
+ 
+@@ -245,8 +252,15 @@
+ 		count+=Kff[i]->Nnz();
+ 	}
+ 	/*Deal with right hand side. We need to ISSM_MPI_Gather it onto cpu 0: */
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++	rhs=xNew<IssmDouble>(pf_M,"t");
++#else
+ 	rhs=xNew<IssmDouble>(pf_M);
++#endif
+ 
++
+ 	recvcounts=xNew<int>(num_procs);
+ 	displs=xNew<int>(num_procs);
+ 
+@@ -313,14 +327,28 @@
+     packedDimsSparseArr[3+i]=irn_loc[i];
+     packedDimsSparseArr[3+local_nnz+i]=jcn_loc[i];
+   }
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++  IssmDouble *pack_A_rhs=xNew<IssmDouble>(local_nnz+n,"t");
++#else
+   IssmDouble *pack_A_rhs=xNew<IssmDouble>(local_nnz+n);
++#endif
++
+   for (int i=0;i<local_nnz;++i) { 
+     pack_A_rhs[i]=a_loc[i];
+   }
+   for (int i=0;i<n;++i) { 
+     pack_A_rhs[local_nnz+i]=rhs[i];
+   }
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++  IssmDouble *sol=xNew<IssmDouble>(n,"t");
++#else
+   IssmDouble *sol=xNew<IssmDouble>(n);
++#endif
++
+   call_ext_fct(xDynamicCast<GenericParam<Adolc_edf> * >(parameters->FindParamObject(AdolcParamEnum))->GetParameterValue().myEDF_for_solverx_p,
+ 	       packedDimsSparseArrLength, packedDimsSparseArr,
+ 	       local_nnz+n, pack_A_rhs, 
+Index: ../trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp
+===================================================================
+--- ../trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp	(revision 21614)
++++ ../trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp	(revision 21615)
+@@ -215,8 +215,13 @@
+ 	if(Kff_N!=pf_M)_error_("Right hand side vector of size " << pf_M << ", when matrix is of size " << Kff_M << "-" << Kff_N << " !");
+ 	if(Kff_M!=Kff_N)_error_("Stiffness matrix should be square!");
+ 
+-	ensureContiguousLocations(Kff_N);
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++	IssmDouble *x  = xNew<IssmDouble>(Kff_N,"t");
++#else
+ 	IssmDouble *x  = xNew<IssmDouble>(Kff_N);
++#endif
+ 
+ 	SolverxSeq(x,Kff,pf,Kff_N,parameters);
+ 
+@@ -226,9 +231,14 @@
+ /*}}}*/
+ void SolverxSeq(IssmDouble *X,IssmDouble *A,IssmDouble *B,int n, Parameters* parameters){/*{{{*/
+ 	// pack inputs to conform to the EDF-prescribed interface
+-        // ensure a contiguous block of locations:
+-        ensureContiguousLocations(n*(n+1));
+-        IssmDouble*  adoubleEDFin=xNew<IssmDouble>(n*(n+1));  // packed inputs, i.e. matrix and right hand side
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++        IssmDouble*  adoubleEDFin=xNew<IssmDouble>(n*(n+1),"t");
++#else
++        IssmDouble*  adoubleEDFin=xNew<IssmDouble>(n*(n+1));
++#endif  
++	// packed inputs, i.e. matrix and right hand side
+         for(int i=0; i<n*n;i++)adoubleEDFin[i]    =A[i];      // pack matrix
+         for(int i=0; i<n;  i++)adoubleEDFin[i+n*n]=B[i];      // pack the right hand side
+ 	// call the wrapped solver through the registry entry we retrieve from parameters
+Index: ../trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h
+===================================================================
+--- ../trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h	(revision 21614)
++++ ../trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h	(revision 21615)
+@@ -231,7 +231,14 @@
+ 				if(size){
+ 					row_indices_fromcpu[i]=xNew<int>(size);
+ 					col_indices_fromcpu[i]=xNew<int>(size);
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++					values_fromcpu[i]=xNew<doubletype>(size,"t");
++#else
+ 					values_fromcpu[i]=xNew<doubletype>(size);
++#endif
++
+ 					modes_fromcpu[i]=xNew<int>(size);
+ 				}
+ 				else{
+@@ -491,7 +498,14 @@
+ 			/*Allocate buffers: */
+ 			row_indices_forcpu = xNew<int>(total_size);
+ 			col_indices_forcpu = xNew<int>(total_size);
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++			values_forcpu = xNew<doubletype>(total_size,"t");
++#else
+ 			values_forcpu = xNew<doubletype>(total_size);
++#endif
++
+ 			modes_forcpu = xNew<int>(total_size);
+ 
+ 			/*we are going to march through the buffers, and marshall data onto them, so in order to not
+Index: ../trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h
+===================================================================
+--- ../trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 21614)
++++ ../trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 21615)
+@@ -66,7 +66,14 @@
+ 			this->Init(Min,false);
+ 
+ 			if(this->M){
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++				this->vector=xNew<doubletype>(this->m,"t");
++#else
+ 				this->vector=xNew<doubletype>(this->m);
++#endif
++
+ 				xMemCpy<doubletype>(this->vector,buffer,this->m);
+ 			}
+ 		}
+@@ -79,7 +86,14 @@
+ 			this->m=min;
+ 
+ 			if(this->m){
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++				this->vector=xNew<doubletype>(this->m,"t");
++#else
+ 				this->vector=xNew<doubletype>(this->m);
++#endif
++
+ 				xMemCpy<doubletype>(this->vector,buffer,this->m);
+ 			}
+ 		}
+@@ -101,7 +115,14 @@
+ 			this->vector=NULL;
+ 
+ 			/*Allocate: */
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++			if (m)this->vector=xNewZeroInit<doubletype>(this->m,"t");
++#else
+ 			if (m)this->vector=xNewZeroInit<doubletype>(this->m);
++#endif
++
+ 		}
+ 		/*}}}*/
+ 		~IssmMpiVec(){/*{{{*/
+@@ -195,7 +216,14 @@
+ 				int size=numvalues_fromcpu[i];
+ 				if(size){
+ 					row_indices_fromcpu[i]=xNew<int>(size);
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++					values_fromcpu[i]=xNew<doubletype>(size,"t");
++#else
+ 					values_fromcpu[i]=xNew<doubletype>(size);
++#endif
++
+ 					modes_fromcpu[i]=xNew<int>(size);
+ 				}
+ 				else{
+@@ -374,7 +402,14 @@
+ 			num_procs=IssmComm::GetSize();
+ 
+ 			/*Allocate: */
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++			buffer=xNew<doubletype>(M,"t");
++#else
+ 			buffer=xNew<doubletype>(M);
++#endif
++
+ 			recvcounts=xNew<int>(num_procs);
+ 			displs=xNew<int>(num_procs);
+ 
+@@ -526,7 +561,14 @@
+ 
+ 			/*Allocate buffers: */
+ 			row_indices_forcpu = xNew<int>(total_size);
++// AD performance is sensitive to calls to ensurecontiguous.
++// Providing "t" will cause ensurecontiguous to be called.
++#ifdef _HAVE_AD_
++			values_forcpu = xNew<doubletype>(total_size,"t");
++#else
+ 			values_forcpu = xNew<doubletype>(total_size);
++#endif
++
+ 			modes_forcpu = xNew<int>(total_size);
+ 
+ 			/*we are going to march through the buffers, and marshall data onto them, so in order to not
Index: /issm/oecreview/Archive/21337-21723/ISSM-21615-21616.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21615-21616.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21615-21616.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/externalpackages/tclx/install.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/tclx/install.sh	(revision 21615)
++++ ../trunk-jpl/externalpackages/tclx/install.sh	(revision 21616)
+@@ -21,7 +21,7 @@
+ cd src
+ ./configure --prefix="$ISSM_DIR/externalpackages/tclx/install"  \
+ 			--exec-prefix="$ISSM_DIR/externalpackages/tclx/install"  \
+-	        --with-tcl=$ISSM_DIR/externalpackages/tcl/install/Library/Frameworks/Tcl.framework
++	        --with-tcl=$ISSM_DIR/externalpackages/tcl/install/lib
+ 
+ #Compile and install tclx
+ if [ $# -eq 0 ]; then
Index: /issm/oecreview/Archive/21337-21723/ISSM-21616-21617.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21616-21617.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21616-21617.diff	(revision 21726)
@@ -0,0 +1,47 @@
+Index: ../trunk-jpl/externalpackages/modules/install-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/modules/install-macosx64.sh	(revision 21616)
++++ ../trunk-jpl/externalpackages/modules/install-macosx64.sh	(revision 21617)
+@@ -3,23 +3,23 @@
+ 
+ #Some cleanup
+ rm -rf install
+-rm -rf modules-3.2.10
++rm -rf modules-3.2.9c
+ mkdir install
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/modules-3.2.10.tar.gz' 'modules-3.2.10.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/modules-3.2.9c.tar.gz' 'modules-3.2.9c.tar.gz'
+ 
+ #Untar 
+-tar -zxvf  modules-3.2.10.tar.gz
++tar -zxvf  modules-3.2.9c.tar.gz
+ 
+ #Move modules into src directory
+ 
+ #Configure modules
+-cd modules-3.2.10
+-sudo ./configure \
+-	--prefix=/usr/local/modules \
+-	--with-tcl-lib=$ISSM_DIR/externalpackages/tcl/install/Library/Frameworks/Tcl.framework/Versions/8.5\
+-	--with-tcl-inc=$ISSM_DIR/externalpackages/tcl/install/Library/Frameworks/Tcl.framework/Versions/8.5/Headers\
++cd modules-3.2.9
++./configure \
++	--prefix=$ISSM_DIR/externalpackages/modules/install\
++	--with-tcl-lib=$ISSM_DIR/externalpackages/tcl/install/lib\
++	--with-tcl-inc=$ISSM_DIR/externalpackages/tcl/install/include\
+ 	--with-tcl-ver=8.5 \
+ 	--with-tclx-lib=$ISSM_DIR/externalpackages/tclx/install/lib/tclx8.4\
+     --with-tclx-inc=$ISSM_DIR/externalpackages/tclx/install/include\
+@@ -32,8 +32,8 @@
+ 
+ #Compile and install modules
+ if [ $# -eq 0 ]; then
+-	sudo make
++	make
+ else
+-	sudo make -j $1
++	make -j $1
+ fi
+ sudo make install
Index: /issm/oecreview/Archive/21337-21723/ISSM-21619-21620.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21619-21620.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21619-21620.diff	(revision 21726)
@@ -0,0 +1,272 @@
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21619)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21620)
+@@ -804,6 +804,10 @@
+ 	EsaUmotionEnum,
+ 	EsaNmotionEnum,
+ 	EsaEmotionEnum,
++	EsaStrainratexxEnum,
++   EsaStrainratexyEnum,
++   EsaStrainrateyyEnum,
++   EsaRotationrateEnum,
+ 	EsaDeltathicknessEnum,
+ 	EsaUElasticEnum,
+ 	EsaHElasticEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21619)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21620)
+@@ -782,6 +782,10 @@
+ 		case EsaUmotionEnum : return "EsaUmotion";
+ 		case EsaNmotionEnum : return "EsaNmotion";
+ 		case EsaEmotionEnum : return "EsaEmotion";
++		case EsaStrainratexxEnum : return "EsaStrainratexx";
++		case EsaStrainratexyEnum : return "EsaStrainratexy";
++		case EsaStrainrateyyEnum : return "EsaStrainrateyy";
++		case EsaRotationrateEnum : return "EsaRotationrate";
+ 		case EsaDeltathicknessEnum : return "EsaDeltathickness";
+ 		case EsaUElasticEnum : return "EsaUElastic";
+ 		case EsaHElasticEnum : return "EsaHElastic";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21619)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21620)
+@@ -800,6 +800,10 @@
+ 	      else if (strcmp(name,"EsaUmotion")==0) return EsaUmotionEnum;
+ 	      else if (strcmp(name,"EsaNmotion")==0) return EsaNmotionEnum;
+ 	      else if (strcmp(name,"EsaEmotion")==0) return EsaEmotionEnum;
++	      else if (strcmp(name,"EsaStrainratexx")==0) return EsaStrainratexxEnum;
++	      else if (strcmp(name,"EsaStrainratexy")==0) return EsaStrainratexyEnum;
++	      else if (strcmp(name,"EsaStrainrateyy")==0) return EsaStrainrateyyEnum;
++	      else if (strcmp(name,"EsaRotationrate")==0) return EsaRotationrateEnum;
+ 	      else if (strcmp(name,"EsaDeltathickness")==0) return EsaDeltathicknessEnum;
+ 	      else if (strcmp(name,"EsaUElastic")==0) return EsaUElasticEnum;
+ 	      else if (strcmp(name,"EsaHElastic")==0) return EsaHElasticEnum;
+@@ -870,14 +874,14 @@
+ 	      else if (strcmp(name,"Vertex")==0) return VertexEnum;
+ 	      else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
+ 	      else if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
+-	      else if (strcmp(name,"Option")==0) return OptionEnum;
++         else stage=8;
++   }
++   if(stage==8){
++	      if (strcmp(name,"Option")==0) return OptionEnum;
+ 	      else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
+ 	      else if (strcmp(name,"OptionCell")==0) return OptionCellEnum;
+ 	      else if (strcmp(name,"OptionStruct")==0) return OptionStructEnum;
+-         else stage=8;
+-   }
+-   if(stage==8){
+-	      if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
++	      else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
+ 	      else if (strcmp(name,"AdjointBalancethickness2Analysis")==0) return AdjointBalancethickness2AnalysisEnum;
+ 	      else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
+ 	      else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum;
+@@ -993,14 +997,14 @@
+ 	      else if (strcmp(name,"Free")==0) return FreeEnum;
+ 	      else if (strcmp(name,"Open")==0) return OpenEnum;
+ 	      else if (strcmp(name,"Air")==0) return AirEnum;
+-	      else if (strcmp(name,"Ice")==0) return IceEnum;
++         else stage=9;
++   }
++   if(stage==9){
++	      if (strcmp(name,"Ice")==0) return IceEnum;
+ 	      else if (strcmp(name,"Melange")==0) return MelangeEnum;
+ 	      else if (strcmp(name,"Water")==0) return WaterEnum;
+ 	      else if (strcmp(name,"DataSet")==0) return DataSetEnum;
+-         else stage=9;
+-   }
+-   if(stage==9){
+-	      if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
++	      else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
+ 	      else if (strcmp(name,"Loads")==0) return LoadsEnum;
+ 	      else if (strcmp(name,"Materials")==0) return MaterialsEnum;
+ 	      else if (strcmp(name,"Nodes")==0) return NodesEnum;
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21620)
+@@ -1560,6 +1560,10 @@
+ 				name==EsaUmotionEnum || 
+ 				name==EsaNmotionEnum || 
+ 				name==EsaEmotionEnum || 
++				name==EsaStrainratexxEnum ||
++				name==EsaStrainratexyEnum || 
++				name==EsaStrainrateyyEnum ||
++				name==EsaRotationrateEnum ||
+ 				name==EsaDeltathicknessEnum || 
+ 				name==GiaWEnum || 
+ 				name==GiadWdtEnum ||
+@@ -2120,6 +2124,10 @@
+ 		case DeviatoricStressyzEnum: 
+ 		case DeviatoricStresszzEnum: 
+ 		case DeviatoricStresseffectiveEnum: this->ComputeDeviatoricStressTensor(); break;
++		case EsaStrainratexxEnum:
++		case EsaStrainratexyEnum: 
++		case EsaStrainrateyyEnum: 
++		case EsaRotationrateEnum: this->ComputeEsaStrainAndVorticity(); break;
+ 		case SigmaNNEnum: this->ComputeSigmaNN(); break;
+ 		case LambdaSEnum: this->ComputeLambdaS(); break;
+ 		case NewDamageEnum: this->ComputeNewDamage(); break;
+@@ -2672,6 +2680,26 @@
+ 	/*}}}*/
+ }
+ /*}}}*/
++void       Element::StrainRateESA(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
++
++	/*Intermediaries*/
++	IssmDouble dvx[3];
++	IssmDouble dvy[3];
++
++	/*Check that both inputs have been found*/
++	if(!vx_input || !vy_input){
++		_error_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << "\n");
++	}
++
++	/*Get strain rate assuming that epsilon has been allocated*/
++	vx_input->GetInputDerivativeValue(&dvx[0],xyz_list,gauss);
++	vy_input->GetInputDerivativeValue(&dvy[0],xyz_list,gauss);
++	epsilon[0] = dvx[0];	// normal strain rate x-direction  
++	epsilon[1] = dvy[1]; // normal strain rate y-direction 
++	epsilon[2] = 0.5*(dvx[1] + dvy[0]); // shear strain rate 
++	epsilon[3] = 0.5*(dvx[1] - dvy[0]); // rotation rate 
++
++}/*}}}*/
+ void       Element::StrainRateFS(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
+ 	/*Compute the 3d Strain Rate (6 components):
+ 	 *
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21620)
+@@ -140,6 +140,7 @@
+ 		void               SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum);
+ 		int                Sid();
+ 		void               SmbGemb();
++		void               StrainRateESA(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+ 		void               StrainRateFS(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
+ 		void               StrainRateHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+ 		void               StrainRateHO2dvertical(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+@@ -181,6 +182,7 @@
+ 		virtual void       ComputeDeviatoricStressTensor(void)=0;
+ 		virtual void       ComputeSigmaNN(void)=0;
+ 		virtual void       ComputeStressTensor(void)=0;
++		virtual void       ComputeEsaStrainAndVorticity(void)=0;
+ 		virtual void       Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
+ 		virtual void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index)=0;
+ 		virtual void       ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum)=0;
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21620)
+@@ -414,6 +414,48 @@
+ 	delete gauss;
+ }
+ /*}}}*/
++void			Tria::ComputeEsaStrainAndVorticity(){ /*{{{*/
++
++	IssmDouble  xyz_list[NUMVERTICES][3];
++	IssmDouble  epsilon[4]; /* epsilon=[exx,eyy,exy+ (shear),exy- (rotation)];*/
++	IssmDouble  strain_xx[NUMVERTICES];
++	IssmDouble  strain_yy[NUMVERTICES];
++	IssmDouble  strain_xy[NUMVERTICES];
++	IssmDouble  vorticity_xy[NUMVERTICES];
++	GaussTria*  gauss=NULL;
++	
++	/* Get node coordinates and dof list: */
++	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
++
++	/*Retrieve all inputs we will be needing: */
++	Input* vx_input=this->GetInput(EsaEmotionEnum); _assert_(vx_input);
++	Input* vy_input=this->GetInput(EsaNmotionEnum); _assert_(vy_input);
++	
++	/* Start looping on the number of vertices: */
++	gauss=new GaussTria();
++	for (int iv=0;iv<NUMVERTICES;iv++){
++		gauss->GaussVertex(iv);
++
++		/*Compute strain rate and vorticity rate: */
++		this->StrainRateESA(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
++
++		/*Compute Stress*/
++		strain_xx[iv]=epsilon[0];
++		strain_yy[iv]=epsilon[1];
++		strain_xy[iv]=epsilon[2];
++		vorticity_xy[iv]=epsilon[3]; 
++	}
++
++	/*Add Stress tensor components into inputs*/
++	this->inputs->AddInput(new TriaInput(EsaStrainratexxEnum,&strain_xx[0],P1Enum));
++	this->inputs->AddInput(new TriaInput(EsaStrainrateyyEnum,&strain_yy[0],P1Enum));
++	this->inputs->AddInput(new TriaInput(EsaStrainratexyEnum,&strain_xy[0],P1Enum));
++	this->inputs->AddInput(new TriaInput(EsaRotationrateEnum,&vorticity_xy[0],P1Enum));
++
++	/*Clean up and return*/
++	delete gauss;
++}
++/*}}}*/
+ void       Tria::ComputeSigmaNN(){/*{{{*/
+ 
+ 	if(!IsOnBase()){
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21620)
+@@ -56,6 +56,7 @@
+ 		IssmDouble  CharacteristicLength(void);
+ 		void        ComputeBasalStress(Vector<IssmDouble>* sigma_b);
+ 		void        ComputeDeviatoricStressTensor();
++		void        ComputeEsaStrainAndVorticity();
+ 		void        ComputeSigmaNN();
+ 		void        ComputeStressTensor();
+ 		void        ComputeSurfaceNormalVelocity();
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21620)
+@@ -52,6 +52,7 @@
+ 		IssmDouble     CharacteristicLength(void){_error_("not implemented yet");};
+ 		void           ComputeBasalStress(Vector<IssmDouble>* sigma_b);
+ 		void           ComputeDeviatoricStressTensor();
++		void           ComputeEsaStrainAndVorticity(){_error_("not implemented yet!");};
+ 		void           ComputeSigmaNN(){_error_("not implemented yet");};
+ 		void           ComputeStressTensor();
+ 		void           Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
+Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21620)
+@@ -47,6 +47,7 @@
+ 		IssmDouble  CharacteristicLength(void);
+ 		void        ComputeBasalStress(Vector<IssmDouble>* sigma_b){_error_("not implemented yet");};
+ 		void        ComputeDeviatoricStressTensor(){_error_("not implemented yet");};
++		void        ComputeEsaStrainAndVorticity(){_error_("not implemented yet!");};
+ 		void        ComputeSigmaNN(){_error_("not implemented yet");};
+ 		void        ComputeStressTensor(){_error_("not implemented yet");};
+ 		void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters){_error_("not implemented yet");};
+Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21619)
++++ ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21620)
+@@ -49,6 +49,7 @@
+ 		void        ComputeSigmaNN(){_error_("not implemented yet");};
+ 		void        ComputeStressTensor(){_error_("not implemented yet");};
+ 		void        ComputeDeviatoricStressTensor(){_error_("not implemented yet");};
++		void        ComputeEsaStrainAndVorticity(){_error_("not implemented yet!");};
+ 		void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters);
+ 		void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
+ 		void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){_error_("not implemented yet");};
+Index: ../trunk-jpl/src/m/classes/esa.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/esa.m	(revision 21619)
++++ ../trunk-jpl/src/m/classes/esa.m	(revision 21620)
+@@ -67,7 +67,7 @@
+ 			fielddisplay(self,'love_l','load Love number for horizontal displacements');
+ 			fielddisplay(self,'degacc','accuracy (default .01 deg) for numerical discretization of the Green''s functions');
+ 			fielddisplay(self,'transitions','indices into parts of the mesh that will be icecaps');
+-			fielddisplay(self,'requested_outputs','additional outputs requested (default: EsaUmotion)');
++			fielddisplay(self,'requested_outputs','additional outputs requested (e.g., EsaUmotion, EsaStrainratexx, EsaRotationrate)');
+ 
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
Index: /issm/oecreview/Archive/21337-21723/ISSM-21620-21621.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21620-21621.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21620-21621.diff	(revision 21726)
@@ -0,0 +1,31 @@
+Index: ../trunk-jpl/test/NightlyRun/test2110.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test2110.m	(revision 21620)
++++ ../trunk-jpl/test/NightlyRun/test2110.m	(revision 21621)
+@@ -48,17 +48,23 @@
+ md.esa.degacc=0.01;
+ 
+ % solve esa 
+-md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion'};
++md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion',...
++	'EsaStrainratexx','EsaStrainratexy','EsaStrainrateyy','EsaRotationrate'};
+ md.cluster=generic('name',oshostname(),'np',3); 
+ md.verbose=verbose('111111111');
+ md=solve(md,'Esa');
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'EsaUmotion','EsaNmotion','EsaEmotion'};
+-field_tolerances={1e-13,1e-13,1e-13};
++field_names     ={'EsaUmotion','EsaNmotion','EsaEmotion',...
++	'EsaStrainratexx','EsaStrainratexy','EsaStrainrateyy','EsaRotationrate'};
++field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+ field_values={...
+ 	(md.results.EsaSolution.EsaUmotion),...
+ 	(md.results.EsaSolution.EsaNmotion),...
+ 	(md.results.EsaSolution.EsaEmotion),...
++	(md.results.EsaSolution.EsaStrainratexx),...
++	(md.results.EsaSolution.EsaStrainratexy),...
++	(md.results.EsaSolution.EsaStrainrateyy),...
++	(md.results.EsaSolution.EsaRotationrate),...
+ 	};
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21621-21622.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21621-21622.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21621-21622.diff	(revision 21726)
@@ -0,0 +1,4 @@
+Index: ../trunk-jpl/test/Archives/Archive2110.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21622-21623.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21622-21623.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21622-21623.diff	(revision 21726)
@@ -0,0 +1,1775 @@
+Index: ../trunk-jpl/src/c/bamg/Direction.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Direction.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Direction.h	(revision 21623)
+@@ -1,20 +0,0 @@
+-#ifndef _DIRECTION_H_
+-#define _DIRECTION_H_
+-
+-#include "./include.h"
+-#include "../shared/Bamg/shared.h"
+-
+-namespace bamg {
+-
+-	class Direction {
+-		private:
+-			Icoor1 dir;
+-
+-		public:
+-			//Methods
+-			Direction();
+-			Direction(Icoor1 i,Icoor1 j);
+-			int direction(Icoor1 i,Icoor1 j);
+-	};
+-}
+-#endif
+Index: ../trunk-jpl/src/c/bamg/DoubleAndInt.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/DoubleAndInt.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/DoubleAndInt.h	(revision 21623)
+@@ -1,19 +0,0 @@
+-#ifndef _DOUBLEANDINT_H_
+-#define _DOUBLEANDINT_H_
+-
+-#include "./include.h"
+-
+-namespace bamg {
+-
+-	class DoubleAndInt {
+-		//class used by Mesh::MakeQuadrangles
+-
+-		public:
+-			double q;
+-			long i3j;
+-
+-			//Operators
+-			int operator<(DoubleAndInt a){return q > a.q;}
+-	};
+-}
+-#endif
+Index: ../trunk-jpl/src/c/bamg/Direction.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Direction.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Direction.cpp	(revision 21623)
+@@ -1,33 +0,0 @@
+-#include <cstdio>
+-#include <cstring>
+-#include <cmath>
+-#include <ctime>
+-
+-#include "Direction.h"
+-
+-namespace bamg {
+-
+-	/*Constructors/Destructors*/
+-	Direction::Direction():/*{{{*/
+-		dir(MaxICoor){
+-
+-	}/*}}}*/
+-	Direction::Direction(Icoor1 i,Icoor1 j) {/*{{{*/
+-		Icoor2 n2 = 2*(Abs(i)+Abs(j));  
+-		Icoor2 r  = MaxICoor* (Icoor2) i;
+-		Icoor1 r1 = (Icoor1) (2*(r/ n2)); // odd number 
+-		dir = (j>0) ? r1 : r1+1;          // odd-> j>0 even-> j<0
+-	}/*}}}*/
+-
+-	/*Methods*/
+-	int Direction::direction(Icoor1 i,Icoor1 j) {/*{{{*/
+-		int r =1; 
+-		if (dir!= MaxICoor) {
+-			Icoor2 x(dir/2),y1(MaxICoor/2-Abs(x)),y((dir%2)?-y1:y1);
+-			r = (x*i + y*j) >=0;
+-		}
+-		return r;
+-	}
+-	/*}}}*/
+-
+-} 
+Index: ../trunk-jpl/src/c/bamg/Geometry.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Geometry.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Geometry.cpp	(revision 21623)
+@@ -8,8 +8,6 @@
+ 
+ namespace bamg {
+ 
+-	static const  Direction NoDirOfSearch=Direction();
+-
+ 	/*Constructors/Destructors*/
+ 	Geometry::Geometry(){/*{{{*/
+ 		Init();
+@@ -79,7 +77,6 @@
+ 				vertices[i].r.x=(double)bamggeom->Vertices[i*3+0];
+ 				vertices[i].r.y=(double)bamggeom->Vertices[i*3+1];
+ 				vertices[i].ReferenceNumber=(long)bamggeom->Vertices[i*3+2];
+-				vertices[i].DirOfSearch=NoDirOfSearch;
+ 				vertices[i].color =0;
+ 				vertices[i].type=0;
+ 			}
+@@ -771,6 +768,7 @@
+ 	GeomEdge* Geometry::ProjectOnCurve(const Edge &e,double s,BamgVertex &V,VertexOnGeom &GV) const {/*{{{*/
+ 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshGeom.cpp/ProjectOnCurve)*/
+ 		/*Add a vertex on an existing geometrical edge according to the metrics of the two vertices constituting the edge*/
++		/*FIXME: should go away*/
+ 
+ 		double save_s=s;
+ 		int NbTry=0;
+@@ -806,7 +804,7 @@
+ 		if (OppositeSens) s=1-s,Exchange(vg0,vg1),Exchange(V0,V1);
+ 
+ 		//Compute metric of new vertex as a linear interpolation of the two others
+-		V.m=Metric(1.0-s,v0,s,v1);
++		V.m=Metric(1.0-s,v0.m,s,v1.m);
+ 
+ 		const int mxe=100;
+ 		GeomEdge* ge[mxe+1];
+Index: ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp	(revision 21623)
+@@ -6,48 +6,7 @@
+ #include "../datastructures/datastructures.h"
+ 
+ namespace bamg {
+-
+-	/*MACROS {{{*/
+-	/* 
+-	 * 
+-	 *    J    j
+-	 *    ^    ^
+-	 *    |    | +--------+--------+
+-	 *    |    | |        |        |
+-	 * 1X |    | |   2    |   3    |
+-	 *    |    | |        |        |
+-	 *    |    | +--------+--------+
+-	 *    |    | |        |        |
+-	 * 0X |    | |   0    |   1    |
+-	 *    |    | |        |        |
+-	 *    |    | +--------+--------+
+-	 *    |    +-----------------------> i
+-	 *    |         
+-	 *    |----------------------------> I
+-	 *              X0        X1  
+-	 *
+-	 * box 0 -> I=0 J=0 IJ=00  = 0
+-	 * box 1 -> I=1 J=0 IJ=01  = 1
+-	 * box 2 -> I=0 J=1 IJ=10  = 2
+-	 * box 3 -> I=1 J=1 IJ=11  = 3
+-	 */
+-#define INTER_SEG(a,b,x,y) (((y) > (a)) && ((x) <(b)))
+ #define ABS(i) ((i)<0 ?-(i) :(i))
+-#define MAX1(i,j) ((i)>(j) ?(i) :(j))
+-#define NORM(i1,j1,i2,j2) MAX1(ABS((i1)-(j1)),ABS((i2)-(j2)))
+-
+-	//IJ(i,j,l) returns the box number of i and j with respect to l
+-	//if !j&l and !i&l -> 0 (box zero: lower left )
+-	//if !j&l and  i&l -> 1 (box one:  lower right)
+-	//if  j&l and !i&l -> 2 (box two:  upper left )
+-	//if  j&l and  i&l -> 3 (box three:upper right)
+-#define IJ(i,j,l)  ((j&l) ? ((i&l) ? 3:2 ) :((i&l) ? 1:0 ))
+-
+-	//I_IJ(k,l) returns l if first  bit of k is 1, else 0
+-#define I_IJ(k,l)  ((k&1) ? l:0)
+-	//J_IJ(k,l) returns l if second bit of k is 1, else 0
+-#define J_IJ(k,l)  ((k&2) ? l:0)
+-	/*}}}*/
+ 	/*DOCUMENTATION What is a BamgQuadtree? {{{
+ 	 * A Quadtree is a very simple way to group vertices according
+ 	 * to their locations. A square that holds all the points of the mesh
+@@ -99,36 +58,43 @@
+ 	/*Constructors/Destructors*/
+ 	BamgQuadtree::BamgQuadtree(){/*{{{*/
+ 
+-		/*Number of boxes and vertices*/
+-		NbBamgQuadtreeBox=0;
+-		NbVertices=0;
++		/*Initialize fields*/
++		this->MaxDepth      = 30;
++		this->MaxISize      = 1073741824; //2^30
++		this->MaxICoord     = 1073741823; //2^30 - 1
++		this->NbQuadtreeBox = 0;
++		this->NbVertices    = 0;
+ 
+ 		/*Create container*/
+-		boxcontainer=new DataSet();
++		this->boxcontainer=new DataSet();
+ 
+ 		/*Create Root, pointer toward the main box*/
+-		root=NewBamgQuadtreeBox();
++		this->root=NewBamgQuadtreeBox();
+ 
+-		}
+-	/*}}}*/
++	} /*}}}*/
+ 	BamgQuadtree::BamgQuadtree(Mesh * t,long nbv){ /*{{{*/
+ 
+-		/*Number of boxes and vertices*/
+-		NbBamgQuadtreeBox=0;
+-		NbVertices=0;
++		/*Initialize fields*/
++		this->MaxDepth      = 30;
++		this->MaxISize      = 1073741824; //2^30
++		this->MaxICoord     = 1073741823; //2^30 - 1
++		this->NbQuadtreeBox = 0;
++		this->NbVertices    = 0;
+ 
+ 		/*Create container*/
+-		boxcontainer=new DataSet();
++		this->boxcontainer=new DataSet();
+ 
+ 		/*Create Root, pointer toward the main box*/
+-		root=NewBamgQuadtreeBox();
++		this->root=NewBamgQuadtreeBox();
+ 
+ 		/*Check Sizes*/
+-		_assert_(MaxISize>MaxICoor);
++		_assert_(this->MaxISize>this->MaxICoord);
+ 
+ 		/*Add all vertices of the mesh*/
+-		if (nbv==-1) nbv=t->nbv;
+-		for (int i=0;i<nbv;i++) Add(t->vertices[i]);
++		if(nbv==-1) nbv=t->nbv;
++		for(int i=0;i<nbv;i++){
++			this->Add(t->vertices[i]);
++		}
+ 
+ 	}
+ 	/*}}}*/
+@@ -139,7 +105,7 @@
+ 	/*}}}*/
+ 
+ 	/*Methods*/
+-	void  BamgQuadtree::Add(BamgVertex &w){/*{{{*/
++	void          BamgQuadtree::Add(BamgVertex &w){/*{{{*/
+ 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, BamgQuadtree.cpp/Add)*/
+ 		BamgQuadtreeBox** pb=NULL;
+ 		BamgQuadtreeBox*  b=NULL;
+@@ -163,7 +129,7 @@
+ 			level >>= 1;
+ 
+ 			//Get next subbox according to the bit value (level)
+-			pb = &b->b[IJ(i,j,level)];
++			pb = &b->box[BoxNumber(i,j,level)];
+ 		}
+ 
+ 		/*OK, we have found b, a Subbox holding vertices (might be full)
+@@ -194,7 +160,7 @@
+ 			b->nbitems = -b->nbitems;
+ 
+ 			/*Initialize the 4 pointers toward the 4 subboxes*/
+-			b->b[0]=b->b[1]=b->b[2]=b->b[3]=NULL;
++			b->box[0]=b->box[1]=b->box[2]=b->box[3]=NULL;
+ 
+ 			/*level = 0010000 -> 0001000*/
+ 			level >>= 1;
+@@ -204,17 +170,17 @@
+ 
+ 				int          ij;
+ 				/*bb is the new "sub"box of b where v4[k] is located*/
+-				BamgQuadtreeBox *bb = b->b[ij=IJ(v4[k]->i.x,v4[k]->i.y,level)];
++				BamgQuadtreeBox *bb = b->box[ij=BoxNumber(v4[k]->i.x,v4[k]->i.y,level)];
+ 
+ 				// alloc the BamgQuadtreeBox
+-				if (!bb) bb=b->b[ij]=NewBamgQuadtreeBox(); 
++				if (!bb) bb=b->box[ij]=NewBamgQuadtreeBox(); 
+ 
+ 				/*Copy the current vertex*/
+ 				bb->v[bb->nbitems++] = v4[k];
+ 			}
+ 
+ 			/*Get the subbox where w (i,j) is located*/
+-			pb = &b->b[IJ(i,j,level)];
++			pb = &b->box[BoxNumber(i,j,level)];
+ 		}
+ 
+ 		/*alloc the BamgQuadtreeBox if necessary*/
+@@ -227,50 +193,81 @@
+ 		NbVertices++;
+ 	}
+ 	/*}}}*/
+-	BamgVertex*  BamgQuadtree::NearestVertex(Icoor1 i,Icoor1 j) {/*{{{*/
+-		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, BamgQuadtree.cpp/NearestVertex)*/
++	int           BamgQuadtree::BoxNumber(int i,int j,int l){/*{{{*/
++		/* 
++		 * 
++		 *    J    j
++		 *    ^    ^
++		 *    |    | +--------+--------+
++		 *    |    | |        |        |
++		 * 1X |    | |   2    |   3    |
++		 *    |    | |        |        |
++		 *    |    | +--------+--------+
++		 *    |    | |        |        |
++		 * 0X |    | |   0    |   1    |
++		 *    |    | |        |        |
++		 *    |    | +--------+--------+
++		 *    |    +-----------------------> i
++		 *    |         
++		 *    |----------------------------> I
++		 *              X0        X1  
++		 *
++		 * box 0 -> I=0 J=0 BoxNumber=00  = 0
++		 * box 1 -> I=1 J=0 BoxNumber=01  = 1
++		 * box 2 -> I=0 J=1 BoxNumber=10  = 2
++		 * box 3 -> I=1 J=1 BoxNumber=11  = 3
++		 */
++		//BoxNumber(i,j,l) returns the box number of i and j with respect to l
++		//if !j&l and !i&l -> 0 (box zero: lower left )
++		//if !j&l and  i&l -> 1 (box one:  lower right)
++		//if  j&l and !i&l -> 2 (box two:  upper left )
++		//if  j&l and  i&l -> 3 (box three:upper right)
++		return ((j&l) ? ((i&l) ? 3:2 ) :((i&l) ? 1:0 ));
++	}/*}}}*/
++	bool          BamgQuadtree::Intersection(int a,int b,int x,int y){/*{{{*/
++		/*is [x y] in [a b]*/
++		return ((y) > (a)) && ((x) <(b));
++	}/*}}}*/
++	BamgVertex*   BamgQuadtree::NearestVertex(int xi,int yi) {/*{{{*/
+ 
+-		/*Intermediaries*/
+-		BamgQuadtreeBox *pb[MaxDepth];
+-		int          pi[MaxDepth];
+-		Icoor1       ii[MaxDepth];
+-		Icoor1       jj[MaxDepth];
+-		int          level;
+-		long         n0;
+-		BamgQuadtreeBox *b;
+-		long         h0;
+-		long         h = MaxISize;
+-		long         hb= MaxISize;
+-		Icoor1       i0=0,j0=0;
+-
+ 		/*initial output as NULL (no vertex found)*/
+ 		BamgVertex*  nearest_v=NULL;
+ 
+-		/*Project w coordinates (i,j) onto [0,MaxISize-1] x [0,MaxISize-1] -> (iplus,jplus)*/
+-		Icoor1 iplus( i<MaxISize ? (i<0?0:i) : MaxISize-1);
+-		Icoor1 jplus( j<MaxISize ? (j<0?0:j) : MaxISize-1);
++		/*if the tree is empty, return NULL pointer*/
++		if(!this->root->nbitems) return nearest_v; 
+ 
+-		/*Get initial Quadtree box (largest)*/
+-		b = root;
++		/*Project coordinates (xi,yi) onto [0,MaxICoord-1] x [0,MaxICoord-1]*/
++		int xi2 = xi;
++		int yi2 = yi;
++		if(xi<0)        xi2 = 0;
++		if(xi>MaxISize) xi2 = MaxICoord;
++		if(yi<0)        yi2 = 0;
++		if(yi>MaxISize) yi2 = MaxICoord;
+ 
+-		/*if the tree is empty, return NULL pointer*/
+-		if (!root->nbitems) return nearest_v; 
++		/*Get inital box (the largest)*/
++		BamgQuadtreeBox* b = this->root;
+ 
++		/*Initialize level and sizes for largest box*/
++		int levelbin = (1L<<this->MaxDepth);// = 2^30
++		int        h = this->MaxISize;
++		int       hb = this->MaxISize;
++		int       i0 = 0;
++		int       j0 = 0;
++
+ 		/*else, find the smallest non-empty BamgQuadtreeBox containing  the point (i,j)*/
+-		while((n0=b->nbitems)<0){
++		while(b->nbitems<0){
+ 
+-			Icoor1       hb2 = hb >> 1;             //size of the current box
+-			int          k   = IJ(iplus,jplus,hb2); //box number (0,1,2 or 3)
+-			BamgQuadtreeBox *b0  = b->b[k];             //pointer toward current box
++			int hb2 = hb >> 1;                  //size of the current box
++			int k   = BoxNumber(xi2,yi2,hb2);   //box number (0,1,2 or 3)
++			BamgQuadtreeBox* b0  = b->box[k];   //pointer toward current box
+ 
+-			/* break if NULL box or empty (Keep previous box b)*/
+-			if (( b0 == NULL) || (b0->nbitems == 0)) break;
++			/* break if box is empty (Keep previous box b)*/
++			if((b0==NULL) || (b0->nbitems==0)) break;
+ 
+ 			/*Get next Quadtree box*/
+-			b=b0;	
+-			i0 += I_IJ(k,hb2); // i orign of BamgQuadtreeBox (macro)
+-			j0 += J_IJ(k,hb2); // j orign of BamgQuadtreeBox 
+-			hb = hb2;          // size of the box (in Int)
++			b  = b0;
++			hb = hb2;
++			this->SubBoxCoords(&i0,&j0,k,hb2);
+ 		}
+ 
+ 		/*The box b, is the smallest box containing the point (i,j) and
+@@ -279,20 +276,20 @@
+ 		 * - hb: box size (int)
+ 		 * - i0: x coordinate of the lower left corner
+ 		 * - j0: y coordinate of the lower left corner*/
++		int n0 = b->nbitems;
+ 
+ 		/* if the current subbox is holding vertices, we are almost done*/
+-		if (n0>0){  
+-			//loop over the vertices of the box and find the closest vertex
++		if(n0>0){  
++			/*loop over the vertices of the box and find the closest vertex*/
+ 			for(int k=0;k<n0;k++){
++				int xiv = b->v[k]->i.x;
++				int yiv = b->v[k]->i.y;
+ 
+-				/*get integer coordinates of current vertex*/
+-				I2 i2=b->v[k]->i;
+ 
+-				/*Compute norm with w*/
+-				h0=NORM(iplus,i2.x,jplus,i2.y);
++				int h0 = Norm(xi2,xiv,yi2,yiv);
+ 
+ 				/*is it smaller than previous value*/
+-				if (h0<h){
++				if(h0<h){
+ 					h = h0;
+ 					nearest_v = b->v[k];
+ 				}
+@@ -305,6 +302,10 @@
+ 			and find the closest not-empty box and find the closest vertex*/
+ 
+ 		/*Initialize search variables*/
++		BamgQuadtreeBox **pb = xNew<BamgQuadtreeBox*>(this->MaxDepth);
++		int* pi = xNew<int>(this->MaxDepth);
++		int* ii = xNew<int>(this->MaxDepth);
++		int* jj = xNew<int>(this->MaxDepth);
+ 		pb[0]=b;                             //pointer toward the box b
+ 		pi[0]=b->nbitems>0?(int)b->nbitems:4;//number of boxes in b
+ 		ii[0]=i0;                            //i coordinate of the box lowest left corner
+@@ -314,14 +315,13 @@
+ 		h=hb;
+ 
+ 		/*Main loop*/
+-		level=0;
+-		do {
+-
++		int level=0;
++		do{
+ 			/*get current box*/
+-			b= pb[level];
++			b = pb[level];
+ 
+ 			/*Loop over the items in current box (if not empty!)*/
+-			while (pi[level]){
++			while(pi[level]){
+ 
+ 				/*We are looping now over the items of b. k is the current index (in [0 3])*/
+ 				pi[level]--;
+@@ -329,8 +329,7 @@
+ 
+ 				/*if the current subbox is holding vertices (b->nbitems<0 is subboxes)*/
+ 				if (b->nbitems>0){
+-					I2 i2=b->v[k]->i;
+-					h0 = NORM(iplus,i2.x,jplus,i2.y);
++					int h0 = Norm(xi2,b->v[k]->i.x,yi2,b->v[k]->i.y);
+ 					if (h0<h){
+ 						h=h0;
+ 						nearest_v=b->v[k];
+@@ -344,26 +343,27 @@
+ 					BamgQuadtreeBox* b0=b;
+ 
+ 					/*if the next box exists:*/
+-					if((b=b->b[k])){
++					if((b=b->box[k])){
+ 
+ 						/*Get size (hb) and coordinates of the current sub-box lowest left corner*/
+ 						hb>>=1;
+-						Icoor1 iii = ii[level]+I_IJ(k,hb);
+-						Icoor1 jjj = jj[level]+J_IJ(k,hb);
++						int iii = ii[level];
++						int jjj = jj[level];
++						this->SubBoxCoords(&iii,&jjj,k,hb);
+ 
+-						/*if the current point (iplus,jplus) is in b (modulo h), this box is good:
++						/*if the current point (xi2,yi2) is in b (modulo h), this box is good:
+ 						 * it is holding vertices that are close to w */
+-						if (INTER_SEG(iii,iii+hb,iplus-h,iplus+h) && INTER_SEG(jjj,jjj+hb,jplus-h,jplus+h)){
++						if(this->Intersection(iii,iii+hb,xi2-h,xi2+h) && this->Intersection(jjj,jjj+hb,yi2-h,yi2+h)){
+ 							level++;
+-							pb[level]= b;
+-							pi[level]= b->nbitems>0 ?(int)  b->nbitems : 4  ;
+-							ii[level]= iii;
+-							jj[level]= jjj;
++							pb[level] = b;
++							pi[level] = b->nbitems>0 ? b->nbitems:4  ;
++							ii[level] = iii;
++							jj[level] = jjj;
+ 						}
+ 
+-						//else go backwards
++						/*else go backwards*/
+ 						else{
+-							//shifted righ by one bit: hb=001000000 -> 01000000
++							/*shifted righ by one bit: hb=001000000 -> 01000000*/
+ 							b=b0;
+ 							hb<<=1;
+ 						}
+@@ -378,84 +378,109 @@
+ 			/*We have found a vertex, now, let's try the other boxes of the previous level
+ 			 * in case there is a vertex closest to w that has not yet been tested*/
+ 			hb <<= 1;
+-		} while (level--);
++		}while(level--);
+ 
+-		/*return nearest_v, nearest vertex*/
++		/*return nearest vertex pointer*/
++		xDelete<BamgQuadtreeBox*>(pb);
++		xDelete<int>(pi);
++		xDelete<int>(ii);
++		xDelete<int>(jj);
+ 		return nearest_v;
+-
+ 	}
+ 	/*}}}*/
+-	BamgQuadtree::BamgQuadtreeBox* BamgQuadtree::NewBamgQuadtreeBox(void){/*{{{*/
++	int           BamgQuadtree::Norm(int xi1,int xi2,int yi1,int yi2){/*{{{*/
+ 
+-		/*Output*/
+-		BamgQuadtreeBox* newbox=NULL;
++		int deltax = xi2 - xi1;
++		int deltay = yi2 - yi1;
+ 
+-		/*Create and initialize a new box*/
+-		newbox=new BamgQuadtreeBox;
+-		newbox->nbitems=0;
+-		newbox->b[0]=NULL;
+-		newbox->b[1]=NULL;
+-		newbox->b[2]=NULL;
+-		newbox->b[3]=NULL;
++		if(deltax<0) deltax = -deltax;
++		if(deltay<0) deltay = -deltay;
+ 
+-		/*Add root to the container*/
+-		boxcontainer->AddObject(newbox);
++		if(deltax> deltay){
++			return deltax;
++		}
++		else{
++			return deltay;
++		}
++	}/*}}}*/
++	void          BamgQuadtree::SubBoxCoords(int* pi,int*pj,int boxnumber,int length){/*{{{*/
++		/* 
++		 *         j (first bit)
++		 *         ^
++		 *         | +--------+--------+
++		 *         | |        |        |
++		 *   1X    | |   2    |   3    |
++		 *         | |        |        |
++		 *         | +--------+--------+
++		 *         | |        |        |
++		 *   0X    | |   0    |   1    |
++		 *         | |        |        |
++		 *         | +--------+--------+
++		 *         +-----------------------> i (second bit)
++		 *               X0       X1
++		 */
+ 
+-		/*Increase counter*/
+-		NbBamgQuadtreeBox++;
++		/*Add sub-box coordinate to i and j*/
++		//_assert_(!(*pi & length));
++		//_assert_(!(*pj & length));
+ 
+-		/*currentbox now points toward next quadtree box*/
+-		return newbox;
++		/*length if first  bit of boxnumber is 1, elengthse 0*/
++		*pi += ((boxnumber & 1) ? length:0);
++		/*length if second bit of boxnumber is 1, elengthse 0*/
++		*pj += ((boxnumber & 2) ? length:0);
++
+ 	}/*}}}*/
+-	BamgVertex*   BamgQuadtree::ToClose(BamgVertex & v,double seuil,Icoor1 hx,Icoor1 hy){/*{{{*/
+-		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, BamgQuadtree.cpp/ToClose)*/
++	BamgVertex*   BamgQuadtree::TooClose(BamgVertex* v,double threshold,int hx,int hy){/*{{{*/
+ 
+-		const Icoor1 i=v.i.x;
+-		const Icoor1 j=v.i.y;
+-		const R2 X(v.r);
+-		const Metric  Mx(v.m);
++		const int i=v->i.x;
++		const int j=v->i.y;
++		const double Xx = v->r.x;
++		const double Xy = v->r.y;
++		Metric* Mx = new Metric(v->m);
+ 
+-		BamgQuadtreeBox * pb[ MaxDepth ];
+-		int  pi[ MaxDepth  ];
+-		Icoor1 ii[  MaxDepth ], jj [ MaxDepth];
++		BamgQuadtreeBox *pb[MaxDepth];
++		int  pi[MaxDepth];
++		int  ii[MaxDepth], jj[MaxDepth];
+ 		int l=0; // level
+-		BamgQuadtreeBox * b;
+-		Icoor1 hb =  MaxISize;
+-		Icoor1 i0=0,j0=0;
++		BamgQuadtreeBox* b;
++		int hb =  MaxISize;
++		int i0=0,j0=0;
+ 
+-		//  BamgVertex *vn=0;
++		// BamgVertex *vn=0;
+ 
+-		if (!root->nbitems)
+-		 return 0; // empty tree 
++		if(!root->nbitems) return 0; // empty tree 
+ 
+-		// general case -----
++		// general case
+ 		pb[0]=root;
+-		pi[0]=root->nbitems>0 ?(int)  root->nbitems : 4  ;
++		pi[0]=root->nbitems>0 ?(int)root->nbitems:4;
+ 		ii[0]=i0;
+ 		jj[0]=j0;
+-		do {    
++		do{
+ 			b= pb[l];
+-			while (pi[l]--){ 	      
++			while(pi[l]--){ 	      
+ 				int k = pi[l];
+ 
+-				if (b->nbitems>0){ // BamgVertex BamgQuadtreeBox none empty
+-					I2 i2 =  b->v[k]->i;
+-					if ( ABS(i-i2.x) <hx && ABS(j-i2.y) <hy )
+-					  {
+-						R2 XY(X,b->v[k]->r);
+-						if(LengthInterpole(Mx(XY), b->v[k]->m(XY)) < seuil){
++				if(b->nbitems>0){ // BamgVertex BamgQuadtreeBox none empty
++					int i2x = b->v[k]->i.x;
++					int i2y = b->v[k]->i.y;
++					if (ABS(i-i2x)<hx && ABS(j-i2y) <hy ){
++						double XYx = b->v[k]->r.x - Xx;
++						double XYy = b->v[k]->r.y - Xy;
++						if(LengthInterpole(Mx->Length(XYx,XYy),b->v[k]->m.Length(XYx,XYy)) < threshold){
++							delete Mx;
+ 							return b->v[k]; 
+ 						}
+-					  }
++					}
+ 				}
+ 				else{ // Pointer BamgQuadtreeBox 
+ 					BamgQuadtreeBox *b0=b;
+-					if ((b=b->b[k])){
++					if ((b=b->box[k])){
+ 						hb >>=1 ; // div by 2
+-						long iii = ii[l]+I_IJ(k,hb);
+-						long jjj = jj[l]+J_IJ(k,hb);
++						int iii = ii[l];
++						int jjj = jj[l];
++						this->SubBoxCoords(&iii,&jjj,k,hb);
+ 
+-						if  (INTER_SEG(iii,iii+hb,i-hx,i+hx) && INTER_SEG(jjj,jjj+hb,j-hy,j+hy)){
++						if(this->Intersection(iii,iii+hb,i-hx,i+hx) && this->Intersection(jjj,jjj+hb,j-hy,j+hy)){
+ 							pb[++l]=  b;
+ 							pi[l]= b->nbitems>0 ?(int)  b->nbitems : 4  ;
+ 							ii[l]= iii;
+@@ -473,9 +498,31 @@
+ 				}
+ 			}
+ 			hb <<= 1; // mul by 2 
+-		} while (l--);
++		}while(l--);
+ 
++		delete Mx;
+ 		return 0;
+ 	}
+ 	/*}}}*/
++
++	BamgQuadtree::BamgQuadtreeBox* BamgQuadtree::NewBamgQuadtreeBox(void){/*{{{*/
++
++		/*Output*/
++		BamgQuadtreeBox* newbox=NULL;
++
++		/*Create and initialize a new box*/
++		newbox=new BamgQuadtreeBox;
++		newbox->nbitems=0;
++		newbox->box[0]=NULL;
++		newbox->box[1]=NULL;
++		newbox->box[2]=NULL;
++		newbox->box[3]=NULL;
++
++		/*Add root to the container*/
++		boxcontainer->AddObject(newbox);
++		this->NbQuadtreeBox++;
++
++		/*currentbox now points toward next quadtree box*/
++		return newbox;
++	}/*}}}*/
+ }
+Index: ../trunk-jpl/src/c/bamg/Mesh.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Mesh.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Mesh.h	(revision 21623)
+@@ -32,7 +32,7 @@
+ 			SubDomain                    *subdomains;
+ 			long                          NbRef;                 // counter of ref on the this class if 0 we can delete
+ 			long                          maxnbv,maxnbt;         // nombre max de sommets , de triangles
+-			long                          nbv,nbt,nbe,nbq;       // nb of vertices, of triangles, of edges and quadrilaterals
++			long                          nbv,nbt,nbe;           // nb of vertices, of triangles and edges
+ 			long                          nbsubdomains;
+ 			long                          nbtout;                // Nb of oudeside triangle
+ 
+@@ -85,11 +85,10 @@
+ 			void CrackMesh(BamgOpts* bamgopts);
+ 			void SmoothMetric(double raisonmax) ;
+ 			void BoundAnisotropy(double anisomax,double hminaniso= 1e-100) ;
+-			void MaxSubDivision(double maxsubdiv);
+ 			Edge** MakeGeomEdgeToEdge();
+ 			long SplitInternalEdgeWithBorderVertices();
+-			void MakeQuadrangles(double costheta);
+ 			void MakeBamgQuadtree();
++			void MaxSubDivision(double maxsubdiv);
+ 			void NewPoints(Mesh &,BamgOpts* bamgopts,int KeepVertices=1);
+ 			long InsertNewPoints(long nbvold,long & NbTSwap,bool random); 
+ 			void TrianglesRenumberBySubDomain(bool justcompress=false);
+Index: ../trunk-jpl/src/c/bamg/BamgVertex.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgVertex.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/BamgVertex.cpp	(revision 21623)
+@@ -114,7 +114,7 @@
+ 		if ( t && (IndexInTriangle >= 0 ) && (IndexInTriangle <3) ){
+ 			ret = t->Optim(IndexInTriangle,koption);
+ 			if(!i){
+-				t =0; // for no future optime 
++				t =0; // for no future optim
+ 				IndexInTriangle= 0;
+ 			}
+ 		}
+@@ -195,16 +195,7 @@
+ 				if (loop) {
+ 					BamgVertex *v0,*v1,*v2,*v3;
+ 					if (tria->det<0) ok =1;			       
+-					else if (tria->Quadrangle(v0,v1,v2,v3))
+-					  {
+-						vP = vPsave;
+-						double qold =QuadQuality(*v0,*v1,*v2,*v3);
+-						vP = vPnew;
+-						double qnew =QuadQuality(*v0,*v1,*v2,*v3);
+-						if (qnew<qold) ok = 1;
+-					  }
+ 					else if ( (double)tria->det < detold/2 ) ok=1;
+-
+ 				}
+ 				tria->SetUnMarkUnSwap(0);
+ 				tria->SetUnMarkUnSwap(1);
+@@ -224,34 +215,4 @@
+ 		return delta;
+ 	}
+ 	/*}}}*/
+-
+-	/*Intermediary*/
+-	double QuadQuality(const BamgVertex & a,const BamgVertex &b,const BamgVertex &c,const BamgVertex &d) {/*{{{*/
+-		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshQuad.cpp/QuadQuality)*/
+-
+-		// calcul de 4 angles --
+-		R2 A((R2)a),B((R2)b),C((R2)c),D((R2)d);
+-		R2 AB(B-A),BC(C-B),CD(D-C),DA(A-D);
+-		//  Move(A),Line(B),Line(C),Line(D),Line(A);
+-		const Metric & Ma  = a;
+-		const Metric & Mb  = b;
+-		const Metric & Mc  = c;
+-		const Metric & Md  = d;
+-
+-		double lAB=Norme2(AB);
+-		double lBC=Norme2(BC);
+-		double lCD=Norme2(CD);
+-		double lDA=Norme2(DA);
+-		AB /= lAB;  BC /= lBC;  CD /= lCD;  DA /= lDA;
+-		// version aniso 
+-		double cosDAB= Ma(DA,AB)/(Ma(DA)*Ma(AB)),sinDAB= Det(DA,AB);
+-		double cosABC= Mb(AB,BC)/(Mb(AB)*Mb(BC)),sinABC= Det(AB,BC);
+-		double cosBCD= Mc(BC,CD)/(Mc(BC)*Mc(CD)),sinBCD= Det(BC,CD);
+-		double cosCDA= Md(CD,DA)/(Md(CD)*Md(DA)),sinCDA= Det(CD,DA);
+-		double sinmin=Min(Min(sinDAB,sinABC),Min(sinBCD,sinCDA));
+-		if (sinmin<=0) return sinmin;
+-		return 1.0-Max(Max(Abs(cosDAB),Abs(cosABC)),Max(Abs(cosBCD),Abs(cosCDA)));
+-	}
+-	/*}}}*/
+-
+ } 
+Index: ../trunk-jpl/src/c/bamg/Triangle.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Triangle.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Triangle.h	(revision 21623)
+@@ -45,11 +45,9 @@
+ 			int               Locked(int a)const;
+ 			int               Hidden(int a)const;
+ 			int               GetAllflag(int a);
+-			double            QualityQuad(int a,int option=1) const;
+ 			short             NuEdgeTriangleAdj(int i) const;
+ 			AdjacentTriangle  Adj(int i) const;
+ 			Triangle         *TriangleAdj(int i) const;
+-			Triangle         *Quadrangle(BamgVertex  *& v0,BamgVertex *& v1,BamgVertex *& v2,BamgVertex *& v3) const;
+ 			void              Renumbering(Triangle   *tb,Triangle *te, long *renu);
+ 			void              Renumbering(BamgVertex *vb,BamgVertex *ve, long *renu);
+ 			void              SetAdjAdj(short a);
+Index: ../trunk-jpl/src/c/bamg/bamgobjects.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/bamgobjects.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/bamgobjects.h	(revision 21623)
+@@ -10,8 +10,6 @@
+ #include "./BamgGeom.h"
+ #include "./BamgMesh.h"
+ #include "./Metric.h"
+-#include "./DoubleAndInt.h"
+-#include "./Direction.h"
+ #include "./BamgVertex.h"
+ #include "./AdjacentTriangle.h"
+ #include "./Edge.h"
+Index: ../trunk-jpl/src/c/bamg/BamgMesh.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgMesh.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/BamgMesh.h	(revision 21623)
+@@ -15,8 +15,6 @@
+ 		double* Edges;
+ 		int     TrianglesSize[2];
+ 		double* Triangles;
+-		int     QuadrilateralsSize[2];
+-		double* Quadrilaterals;
+ 
+ 		int     VerticesOnGeomVertexSize[2];
+ 		double* VerticesOnGeomVertex;
+Index: ../trunk-jpl/src/c/bamg/Metric.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Metric.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Metric.h	(revision 21623)
+@@ -29,10 +29,9 @@
+ 			Metric(const EigenMetric&);
+ 			Metric(double a);
+ 			Metric(double a,double b,double c);
+-			Metric( double  a,const  Metric& ma, double  b,const  Metric& mb);
+-			Metric(const double  a[3],const  Metric& m0,const  Metric& m1,const  Metric& m2 );
++			Metric(double  a,const Metric ma,double  b,const Metric mb);
++			Metric(const double  a[3],const Metric m0,const Metric m1,const Metric m2 );
+ 			void        Echo();
+-			R2          mul(const R2 x)const;
+ 			double      det() const;
+ 			int         IntersectWith(const  Metric& M2);
+ 			inline void Box(double &hx,double &hy) const;
+@@ -41,12 +40,13 @@
+ 			 * is compiled by other classes*/
+ 			R2 Orthogonal(const R2 x){ return R2(-(a21*x.x+a22*x.y),a11*x.x+a21*x.y); }
+ 			R2 Orthogonal(const I2 x){ return R2(-(a21*x.x+a22*x.y),a11*x.x+a21*x.y); }
++			double Length(double Ax,double Ay) const;
+ 
+ 			//operators
+ 			Metric operator*(double c) const {double c2=c*c;return  Metric(a11*c2,a21*c2,a22*c2);} 
+ 			Metric operator/(double c) const {double c2=1/(c*c);return  Metric(a11*c2,a21*c2,a22*c2);} 
+ 			operator D2xD2(){ return D2xD2(a11,a21,a21,a22);}
+-			double  operator()(R2 x) const { return sqrt(x.x*x.x*a11+2*x.x*x.y*a21+x.y*x.y*a22);};        // length of x in metric sqrt(<Mx,x>)
++			//double  operator()(R2 x) const { return sqrt(x.x*x.x*a11+2*x.x*x.y*a21+x.y*x.y*a22);};        // length of x in metric sqrt(<Mx,x>) FIXME: replace by Length!
+ 			double  operator()(R2 x,R2 y) const { return x.x*y.x*a11+(x.x*x.y+x.y*y.x)*a21+x.y*y.y*a22;};
+ 
+ 	};
+@@ -56,7 +56,7 @@
+ 
+ 			//fields
+ 			double lambda1,lambda2;
+-			D2     v;
++			double vx,vy;
+ 
+ 			//friends
+ 			friend  class Metric;
+@@ -113,9 +113,9 @@
+ 		}
+ 	}
+ 	inline Metric::Metric(const EigenMetric& M) {
+-		double v00=M.v.x*M.v.x;
+-		double v11=M.v.y*M.v.y;
+-		double v01=M.v.x*M.v.y;
++		double v00=M.vx*M.vx;
++		double v11=M.vy*M.vy;
++		double v01=M.vx*M.vy;
+ 		a11=v00*M.lambda1+v11*M.lambda2;
+ 		a21=v01*(M.lambda1-M.lambda2);
+ 		a22=v00*M.lambda2+v11*M.lambda1;
+Index: ../trunk-jpl/src/c/bamg/EigenMetric.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/EigenMetric.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/EigenMetric.cpp	(revision 21623)
+@@ -36,15 +36,15 @@
+ 		if(normM<1.e-30){
+ 			lambda1=0;
+ 			lambda2=0;
+-			v.x=1;
+-			v.y=0;
++			vx=1;
++			vy=0;
+ 		}
+ 		/*2: delta is small -> double root*/
+ 		else if (delta < 1.e-5*normM){
+ 			lambda1=-b/2;
+ 			lambda2=-b/2;
+-			v.x=1;
+-			v.y=0;
++			vx=1;
++			vy=0;
+ 		}
+ 		/*3: general case -> two roots*/
+ 		else{
+@@ -75,20 +75,23 @@
+ 
+ 			if (norm2<norm1){
+ 				norm1=sqrt(norm1);
+-				v.x = - a21/norm1;
+-				v.y = (a11-lambda1)/norm1;
++				vx = - a21/norm1;
++				vy = (a11-lambda1)/norm1;
+ 			}
+ 			else{
+ 				norm2=sqrt(norm2);
+-				v.x = - (a22-lambda1)/norm2;
+-				v.y = a21/norm2;
++				vx = - (a22-lambda1)/norm2;
++				vy = a21/norm2;
+ 			}
+ 		}
+ 
+ 	}
+ 	/*}}}*/
+-	EigenMetric::EigenMetric(double r1,double r2,const D2& vp1): lambda1(r1),lambda2(r2),v(vp1){/*{{{*/
+-
++	EigenMetric::EigenMetric(double r1,double r2,const D2& vp1){/*{{{*/
++		this->lambda1 = r1;
++		this->lambda2 = r2;
++		this->vx = vp1.x;
++		this->vy = vp1.y;
+ 	}/*}}}*/
+ 
+ 	/*Methods*/
+@@ -103,8 +106,8 @@
+ 		_printf_("EigenMetric:\n");
+ 		_printf_("   lambda1: " << lambda1 << "\n");
+ 		_printf_("   lambda2: " << lambda2 << "\n");
+-		_printf_("   v.x: " << v.x << "\n");
+-		_printf_("   v.y: " << v.y << "\n");
++		_printf_("   vx: " << vx << "\n");
++		_printf_("   vy: " << vy << "\n");
+ 
+ 		return;
+ 	}
+Index: ../trunk-jpl/src/c/bamg/Mesh.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Mesh.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Mesh.cpp	(revision 21623)
+@@ -9,8 +9,6 @@
+ 
+ namespace bamg {
+ 
+-	static const  Direction NoDirOfSearch=Direction();
+-
+ 	/*Constructors/Destructors*/
+ 	Mesh::Mesh(BamgGeom* bamggeom,BamgMesh* bamgmesh, BamgOpts* bamgopts):Gh(*(new Geometry())),BTh(*this){ /*{{{*/
+ 
+@@ -166,7 +164,6 @@
+ 		  nbe = Th.nbe;
+ 		  nbsubdomains = Th.nbsubdomains;
+ 		  nbtout = Th.nbtout;
+-		  nbq =  Th.nbq ;
+ 		  NbVerticesOnGeomVertex = Th.NbVerticesOnGeomVertex;
+ 		  if(NbVerticesOnGeomVertex)
+ 			VerticesOnGeomVertex = new VertexOnGeom[NbVerticesOnGeomVertex];
+@@ -268,7 +265,6 @@
+ 			vertices[i].r.x=x[i];
+ 			vertices[i].r.y=y[i];
+ 			vertices[i].ReferenceNumber=1;
+-			vertices[i].DirOfSearch =NoDirOfSearch;
+ 			vertices[i].m=M1;
+ 			vertices[i].color=0;
+ 		}
+@@ -335,7 +331,6 @@
+ 				vertices[i].r.x=bamgmesh->Vertices[i*3+0];
+ 				vertices[i].r.y=bamgmesh->Vertices[i*3+1];
+ 				vertices[i].ReferenceNumber=(long)bamgmesh->Vertices[i*3+2];
+-				vertices[i].DirOfSearch =NoDirOfSearch;
+ 				vertices[i].m=M1;
+ 				vertices[i].color=0;
+ 			}
+@@ -363,28 +358,6 @@
+ 			if(verbose>5) _error_("no Triangles found in the initial mesh");
+ 		}
+ 
+-		//Quadrilaterals
+-		if(bamgmesh->Quadrilaterals){
+-			if(verbose>5) _printf_("      processing Quadrilaterals\n");
+-			long i1,i2,i3,i4;
+-			triangles =new Triangle[nbt];
+-			for (i=0;i<bamgmesh->QuadrilateralsSize[0];i++){
+-				//divide the quad into two triangles
+-				Triangle & t1 = triangles[2*i];
+-				Triangle & t2 = triangles[2*i+1];
+-				i1=(long)bamgmesh->Quadrilaterals[i*5+0]-1; //for C indexing
+-				i2=(long)bamgmesh->Quadrilaterals[i*5+1]-1; //for C indexing
+-				i3=(long)bamgmesh->Quadrilaterals[i*5+2]-1; //for C indexing
+-				i4=(long)bamgmesh->Quadrilaterals[i*5+3]-1; //for C indexing
+-				t1=Triangle(this,i1,i2,i3);
+-				t2=Triangle(this,i3,i4,i1);
+-				t1.color=(long)bamgmesh->Quadrilaterals[i*5+4];
+-				t2.color=(long)bamgmesh->Quadrilaterals[i*5+4];
+-				t1.SetHidden(OppositeEdge[1]); // two times  because the adj was not created 
+-				t2.SetHidden(OppositeEdge[1]); 
+-			}
+-		}
+-
+ 		//VerticesOnGeomEdge
+ 		if(bamgmesh->VerticesOnGeomEdge){
+ 			if(verbose>5) _printf_("      processing VerticesOnGeomEdge\n");
+@@ -697,7 +670,7 @@
+ 
+ 		/*Triangles*/
+ 		if(verbose>5) _printf_("      writing Triangles\n");
+-		k=nbInT-nbq*2;
++		k=nbInT;
+ 		num=0;
+ 		bamgmesh->TrianglesSize[0]=k;
+ 		bamgmesh->TrianglesSize[1]=4;
+@@ -716,27 +689,6 @@
+ 			}
+ 		}
+ 
+-		/*Quadrilaterals*/
+-		if(verbose>5) _printf_("      writing Quadrilaterals\n");
+-		bamgmesh->QuadrilateralsSize[0]=nbq;
+-		bamgmesh->QuadrilateralsSize[1]=5;
+-		if (nbq){
+-			bamgmesh->Quadrilaterals=xNew<double>(5*nbq);
+-			for (i=0;i<nbt;i++){
+-				Triangle &t =triangles[i];
+-				Triangle* ta;
+-				BamgVertex *v0,*v1,*v2,*v3;
+-				if (reft[i]<0) continue;
+-				if ((ta=t.Quadrangle(v0,v1,v2,v3)) !=0 && &t<ta) { 
+-					bamgmesh->Quadrilaterals[i*5+0]=GetId(v0)+1; //back to M indexing
+-					bamgmesh->Quadrilaterals[i*5+1]=GetId(v1)+1; //back to M indexing
+-					bamgmesh->Quadrilaterals[i*5+2]=GetId(v2)+1; //back to M indexing
+-					bamgmesh->Quadrilaterals[i*5+3]=GetId(v3)+1; //back to M indexing
+-					bamgmesh->Quadrilaterals[i*5+4]=subdomains[reft[i]].ReferenceNumber;
+-				}
+-			}
+-		}
+-
+ 		/*SubDomains*/
+ 		if(verbose>5) _printf_("      writing SubDomains\n");
+ 		bamgmesh->SubDomainsSize[0]=nbsubdomains;
+@@ -1112,7 +1064,7 @@
+ 		//      ----------------         !
+ 		//   s0       tt2       s1
+ 		//-------------------------------
+-
++		
+ 		/*Intermediaries*/
+ 		Triangle* tt[3];       //the three triangles
+ 		Icoor2 det3local[3];   //three determinants (integer)
+@@ -1229,8 +1181,8 @@
+ 				_error_("swap the point s is on a edge");
+ 			}
+ 		}
+-	}
+-	/*}}}*/
++
++	}/*}}}*/
+ 	void  Mesh::BoundAnisotropy(double anisomax,double hminaniso) {/*{{{*/
+ 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/BoundAnisotropy)*/
+ 
+@@ -2370,17 +2322,16 @@
+ 		_printf_("   nbv = " << nbv << "\n");
+ 		_printf_("   nbt = " << nbt << "\n");
+ 		_printf_("   nbe = " << nbe << "\n");
+-		_printf_("   nbq = " << nbq << "\n");
+ 		_printf_("   index:\n");
+ 		for (i=0;i<nbt;i++){
+ 			_printf_("   " << setw(4) << i+1 << ": [" 
+-						<< setw(4) << (((BamgVertex *)triangles[i](0))?GetId(triangles[i][0])+1:0) << " " 
+-						<< setw(4) << (((BamgVertex *)triangles[i](0))?GetId(triangles[i][1])+1:0) << " " 
+-						<< setw(4) << (((BamgVertex *)triangles[i](0))?GetId(triangles[i][2])+1:0) << "]");
++						<< setw(4) << (((BamgVertex*)triangles[i](0))?GetId(triangles[i][0])+1:0) << " " 
++						<< setw(4) << (((BamgVertex*)triangles[i](1))?GetId(triangles[i][1])+1:0) << " " 
++						<< setw(4) << (((BamgVertex*)triangles[i](2))?GetId(triangles[i][2])+1:0) << "]\n");
+ 		}
+ 		_printf_("   coordinates:\n");
+ 		for (i=0;i<nbv;i++){
+-			_printf_("   " << setw(4) << i+1 << ": [" << vertices[i].r.x << " " << vertices[i].r.y << "]\n");
++			_printf_("   " << setw(4) << i+1 << ": [" << vertices[i].r.x << " " << vertices[i].r.y << "] and [" << vertices[i].i.x << " " << vertices[i].i.y << "]\n");
+ 		}
+ 
+ 	}
+@@ -2706,7 +2657,6 @@
+ 		nbt=0;
+ 		nbe=0;
+ 		edges=NULL;
+-		nbq=0;
+ 		nbsubdomains=0;
+ 		subdomains=NULL;
+ 		maxnbv=maxnbv_in;
+@@ -2769,7 +2719,7 @@
+ 		 *
+ 		 * let's show that:
+ 		 *
+-		 *   for all j in [0 nbv[, ∃! i in [0 nbv[ such that k_i=j
++		 *   for all j in [0 nbv[, there is a unique i in [0 nbv[ such that k_i=j
+ 		 *
+ 		 * Let's assume that there are 2 distinct j1 and j2 such that
+ 		 * k_j1 = k_j2
+@@ -2913,7 +2863,7 @@
+ 			double hx,hy;
+ 			vi.m.Box(hx,hy);
+ 			Icoor1 hi=(Icoor1) (hx*coefIcoor),hj=(Icoor1) (hy*coefIcoor);
+-			if(!quadtree->ToClose(vi,seuil,hi,hj)){
++			if(!quadtree->TooClose(&vi,seuil,hi,hj)){
+ 				// a good new point 
+ 				BamgVertex &vj = vertices[iv];
+ 				long  j=vj.ReferenceNumber; 
+@@ -2998,47 +2948,6 @@
+ 		return e;
+ 	}
+ 	/*}}}*/
+-	void Mesh::MakeQuadrangles(double costheta){/*{{{*/
+-		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MakeQuadrangles)*/
+-
+-		long int verbose=0;
+-
+-		if (verbose>2) _printf_("MakeQuadrangles costheta = " << costheta << "\n");
+-
+-		if (costheta >1) {
+-			if (verbose>5) _printf_("   do nothing: costheta > 1\n");
+-		}
+-
+-			long nbqq = (nbt*3)/2;
+-			DoubleAndInt *qq = new DoubleAndInt[nbqq];
+-
+-			long i,ij;
+-			int j;
+-			long k=0;
+-			for (i=0;i<nbt;i++)
+-			 for (j=0;j<3;j++)
+-			  if ((qq[k].q=triangles[i].QualityQuad(j))>=costheta)
+-				qq[k++].i3j=i*3+j;
+-			//  sort  qq
+-			HeapSort(qq,k);
+-
+-			long kk=0;
+-			for (ij=0;ij<k;ij++) { 
+-				i=qq[ij].i3j/3;
+-				j=(int) (qq[ij].i3j%3);
+-				// optisamition no float computation  
+-				if (triangles[i].QualityQuad(j,0) >=costheta) 
+-				 triangles[i].SetHidden(j),kk++;
+-			  }
+-			nbq = kk;
+-			if (verbose>2){
+-				_printf_("   number of quadrilaterals    = " << nbq << "\n");
+-				_printf_("   number of triangles         = " << nbt-nbtout- nbq*2 << "\n");
+-				_printf_("   number of outside triangles = " << nbtout << "\n");
+-			}
+-			delete [] qq;
+-	}
+-	/*}}}*/
+ 	void Mesh::MakeBamgQuadtree() {  /*{{{*/
+ 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MakeBamgQuadtree)*/
+ 		if(!quadtree) quadtree = new BamgQuadtree(this);
+@@ -3072,7 +2981,7 @@
+ 					double l = M(AB,AB);
+ 					lmax = Max(lmax,l);
+ 					if(l> maxsubdiv2){
+-					  R2 AC = M.Orthogonal(AB);// the ortogonal vector of AB in M
++						R2 AC = M.Orthogonal(AB);// the ortogonal vector of AB in M
+ 						double lc = M(AC,AC);
+ 						D2xD2 Rt(AB,AC);// Rt.x = AB , Rt.y = AC;
+ 						D2xD2 Rt1(Rt.inv());
+@@ -3085,7 +2994,7 @@
+ 					l = M(AB,AB);
+ 					lmax = Max(lmax,l);
+ 					if(l> maxsubdiv2){
+-					  R2 AC = M.Orthogonal(AB);// the ortogonal vector of AB in M
++						R2 AC = M.Orthogonal(AB);// the ortogonal vector of AB in M
+ 						double lc = M(AC,AC);
+ 						D2xD2 Rt(AB,AC);// Rt.x = AB , Rt.y = AC;
+ 						D2xD2 Rt1(Rt.inv());
+@@ -3856,10 +3765,9 @@
+ 			for ( i=0;i<nbv;i++)
+ 			 if (tstart[i] != &vide) // not a boundary vertex 
+ 			  delta=Max(delta,vertices[i].Smoothing(*this,BTh,tstart[i],omega));
+-			if (!nbq)
+-			 for ( i=0;i<nbv;i++)
+-			  if (tstart[i] != &vide) // not a boundary vertex 
+-				NbSwap += vertices[i].Optim(1);
++			for ( i=0;i<nbv;i++)
++			 if (tstart[i] != &vide) // not a boundary vertex 
++			  NbSwap += vertices[i].Optim(1);
+ 			if (verbose>3) _printf_("      move max = " << pow(delta,0.5) << ", iteration = " << k << ", nb of swap = " << NbSwap << "\n");
+ 		  }
+ 
+@@ -3913,8 +3821,8 @@
+ 						R2 Aij = (R2) vj - (R2) vi;
+ 						double ll =  Norme2(Aij);
+ 						if (0) {  
+-							double hi = ll/vi.m(Aij);
+-							double hj = ll/vj.m(Aij);
++							double hi = ll/vi.m.Length(Aij.x,Aij.y);
++							double hj = ll/vj.m.Length(Aij.x,Aij.y);
+ 							if(hi < hj)
+ 							  {
+ 								double dh=(hj-hi)/ll;
+@@ -3927,7 +3835,7 @@
+ 						} 
+ 						else
+ 						  {
+-							double li = vi.m(Aij);
++							double li = vi.m.Length(Aij.x,Aij.y);
+ 							if( vj.m.IntersectWith(vi.m/(1 +logseuil*li)) )
+ 							 if(first_np_or_next_t1[j]<0) // if the metrix change 
+ 							  kch++,first_np_or_next_t1[j]=Head1,Head1=j;
+@@ -3972,7 +3880,6 @@
+ 							  vertices[nbv].r = P;
+ 							  vertices[nbv++].m = Metric(0.5,v0.m,0.5,v1.m);
+ 							  vertices[nbv].ReferenceNumber=0;
+-							  vertices[nbv].DirOfSearch = NoDirOfSearch ;
+ 						  }
+ 						  NbSplitEdge++;
+ 					  }
+@@ -3991,7 +3898,6 @@
+ 
+ 				// a good new point 
+ 				vi.ReferenceNumber=0; 
+-				vi.DirOfSearch =NoDirOfSearch;
+ 				Triangle *tcvi = TriangleFindFromCoord(vi.i,det3);
+ 				if (tcvi && !tcvi->link) {
+ 					_printf_("problem inserting point in SplitInternalEdgeWithBorderVertices (tcvj && !tcvj->link)\n");
+@@ -4180,7 +4086,6 @@
+ 			vertices[i].r.x=x[i];
+ 			vertices[i].r.y=y[i];
+ 			vertices[i].ReferenceNumber=1;
+-			vertices[i].DirOfSearch =NoDirOfSearch;
+ 			vertices[i].m=M1;
+ 			vertices[i].color=0;
+ 		}
+@@ -4330,7 +4235,7 @@
+ 									AB= b->r - a->r;   // AB = vector of the current edge
+ 									Metric MA = background ? BTh.MetricAt(a->r) :a->m ;  //Get metric associated to A
+ 									Metric MB = background ? BTh.MetricAt(b->r) :b->m ;  //Get metric associated to B
+-									double ledge = (MA(AB) + MB(AB))/2;                  //Get edge length in metric
++									double ledge = (MA.Length(AB.x,AB.y) + MB.Length(AB.x,AB.y))/2;                  //Get edge length in metric
+ 
+ 									/* We are now creating the mesh edges from the geometrical edge selected above.
+ 									 * The edge will be divided according to the metric previously computed and cannot
+@@ -4366,7 +4271,7 @@
+ 											B =  e->F(k ? x : 1-x);
+ 											MBs= background ? BTh.MetricAt(B) : Metric(1-x,MA,x,MB);
+ 											AB = A-B;
+-											lSubEdge[kk]=(ledge+=(MAs(AB)+MBs(AB))/2);
++											lSubEdge[kk]=(ledge+=(MAs.Length(AB.x,AB.y)+MBs.Length(AB.x,AB.y))/2);
+ 										}
+ 									}
+ 
+@@ -4411,7 +4316,6 @@
+ 										vb = &vertices[nbv++];
+ 										vb->m = Metric(aa,a->m,bb,b->m);
+ 										vb->ReferenceNumber = e->ReferenceNumber;
+-										vb->DirOfSearch =NoDirOfSearch;
+ 										double abcisse = k ? bb : aa;
+ 										vb->r =  e->F(abcisse);
+ 										VerticesOnGeomEdge[NbVerticesOnGeomEdge++]= VertexOnGeom(*vb,*e,abcisse);        
+@@ -4734,7 +4638,6 @@
+ 									VertexOnBThEdge[NbVerticesOnGeomEdge++] = VertexOnEdge(A1,&eeequi,se); // save 
+ 									ongequi=Gh.ProjectOnCurve(eeequi,se,*A1,*GA1); 
+ 									A1->ReferenceNumber = eeequi.ReferenceNumber;
+-									A1->DirOfSearch =NoDirOfSearch;
+ 									e->GeomEdgeHook = ongequi;
+ 									e->v[0]=A0;
+ 									e->v[1]=A1;
+Index: ../trunk-jpl/src/c/bamg/Triangle.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Triangle.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Triangle.cpp	(revision 21623)
+@@ -144,48 +144,6 @@
+ 		return NbSwap;
+ 	}
+ 	/*}}}*/
+-	Triangle* Triangle::Quadrangle(BamgVertex * & v0,BamgVertex * & v1,BamgVertex * & v2,BamgVertex * & v3) const{/*{{{*/
+-		// return the other triangle of the quad if a quad or 0 if not a quat
+-		Triangle * t =0;
+-		if (link) {
+-			int a=-1;
+-			if (AdjEdgeIndex[0] & 16 ) a=0;
+-			if (AdjEdgeIndex[1] & 16 ) a=1;
+-			if (AdjEdgeIndex[2] & 16 ) a=2;
+-			if (a>=0) {
+-				t = adj[a];
+-				//  if (t-this<0) return 0;
+-				v2 = vertices[VerticesOfTriangularEdge[a][0]];
+-				v0 = vertices[VerticesOfTriangularEdge[a][1]];
+-				v1 = vertices[OppositeEdge[a]];
+-				v3 = t->vertices[OppositeEdge[AdjEdgeIndex[a]&3]];
+-			}
+-		}
+-		return t;
+-	}
+-	/*}}}*/
+-	double   Triangle::QualityQuad(int a,int option) const{/*{{{*/
+-		double q;
+-		if (!link || AdjEdgeIndex[a] &4)
+-		 q=  -1;
+-		else {
+-			Triangle * t = adj[a];
+-			if (t-this<0) q=  -1;// because we do 2 times 
+-			else if (!t->link ) q=  -1;
+-			else if (AdjEdgeIndex[0] & 16 || AdjEdgeIndex[1] & 16  || AdjEdgeIndex[2] & 16 || t->AdjEdgeIndex[0] & 16 || t->AdjEdgeIndex[1] & 16 || t->AdjEdgeIndex[2] & 16 )
+-			 q= -1;
+-			else if(option){ 
+-				const BamgVertex & v2 = *vertices[VerticesOfTriangularEdge[a][0]];
+-				const BamgVertex & v0 = *vertices[VerticesOfTriangularEdge[a][1]];
+-				const BamgVertex & v1 = *vertices[OppositeEdge[a]];
+-				const BamgVertex & v3 = * t->vertices[OppositeEdge[AdjEdgeIndex[a]&3]];
+-				q =  QuadQuality(v0,v1,v2,v3); // do the float part
+-			}
+-			else q= 1;
+-		}
+-		return  q;
+-	}
+-	/*}}}*/
+ 	void  Triangle::Renumbering(Triangle *tb,Triangle *te, long *renu){/*{{{*/
+ 
+ 		if (link  >=tb && link  <te) link  = tb + renu[link -tb];
+@@ -262,6 +220,9 @@
+ 		t->AdjEdgeIndex[AdjEdgeIndex[a] & 3] &=55; // 23 + 32 
+ 		AdjEdgeIndex[a] &=55 ;
+ 	}/*}}}*/
++	Triangle* Triangle::TriangleAdj(int i) const {/*{{{*/
++		return adj[i&3];
++	}/*}}}*/
+ 	int Triangle::swap(short a,int koption){/*{{{*/
+ 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/swap)*/
+ 
+@@ -304,13 +265,13 @@
+ 					 if(kopt) {
+ 						 // critere de Delaunay pure isotrope
+ 						 Icoor2 xb1 = sb->i.x - s1->i.x,
+-									 x21 = s2->i.x - s1->i.x,
+-									 yb1 = sb->i.y - s1->i.y,
+-									 y21 = s2->i.y - s1->i.y,
+-									 xba = sb->i.x - sa->i.x, 
+-									 x2a = s2->i.x - sa->i.x,
+-									 yba = sb->i.y - sa->i.y,
+-									 y2a = s2->i.y - sa->i.y;
++								  x21 = s2->i.x - s1->i.x,
++								  yb1 = sb->i.y - s1->i.y,
++								  y21 = s2->i.y - s1->i.y,
++								  xba = sb->i.x - sa->i.x, 
++								  x2a = s2->i.x - sa->i.x,
++								  yba = sb->i.y - sa->i.y,
++								  y2a = s2->i.y - sa->i.y;
+ 						 double
+ 							cosb12 =  double(xb1*x21 + yb1*y21),
+ 									 cosba2 =  double(xba*x2a + yba*y2a) ,
+@@ -341,7 +302,7 @@
+ 							 double d = (ABo.x*A1o.y - ABo.y*A1o.x)*2; // because D/2
+ 							 if (Abs(d) > dd*1.e-3) {
+ 								 R2 C(MAB+ABo*((D.x*A1o.y - D.y*A1o.x)/d));
+-								 som  = M(C - S2)/M(C - S1);
++								 som  = M.Length(C.x-S2.x,C.y-S2.y) / M.Length(C.x-S1.x,C.y-S1.y);
+ 							 } else 
+ 								{kopt=1;continue;}
+ 
+@@ -356,7 +317,7 @@
+ 							 double d = (ABo.x*A1o.y - ABo.y*A1o.x)*2; // because D/2
+ 							 if(Abs(d) > dd*1.e-3) {
+ 								 R2 C(MAB+ABo*((D.x*A1o.y - D.y*A1o.x)/d));
+-								 som  += M(C - S2)/M(C -  S1);
++								 som += M.Length(C.x-S2.x,C.y-S2.y) / M.Length(C.x-S1.x,C.y-S1.y);
+ 							 } else 
+ 								{kopt=1;continue;}
+ 							}
+@@ -375,8 +336,5 @@
+ 		return OnSwap;
+ 	}
+ 	/*}}}*/
+-	Triangle* Triangle::TriangleAdj(int i) const {/*{{{*/
+-		return adj[i&3];
+-	}/*}}}*/
+ 
+ }
+Index: ../trunk-jpl/src/c/bamg/BamgQuadtree.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgQuadtree.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/BamgQuadtree.h	(revision 21623)
+@@ -4,14 +4,9 @@
+ 
+ #include "./include.h"
+ #include "../datastructures/datastructures.h"
++class BamgVertex;
+ 
+ namespace bamg {
+-
+-	const int  MaxDepth = 30;
+-	const long MaxISize = ( 1L << MaxDepth);  // = 2^30 : 010000000000..000 (bitwise operation)
+-
+-	class BamgVertex;
+-
+ 	class BamgQuadtree{
+ 
+ 		private:
+@@ -23,11 +18,9 @@
+ 			 * - 4 "sub" quadtree boxes*/
+ 			class BamgQuadtreeBox: public Object{ 
+ 				public:
+-					int nbitems; // number of current vertices in the box
+-					union{
+-						BamgQuadtreeBox* b[4];
+-						BamgVertex*  v[4];
+-					};
++					int              nbitems;
++					BamgQuadtreeBox *box[4];
++					BamgVertex      *v[4];
+ 					/*Object functions*/
+ 					void    Echo()       {_error_("not implemented yet"); };
+ 					void    DeepEcho()   {_error_("not implemented yet"); };
+@@ -43,18 +36,25 @@
+ 		public:
+ 
+ 			/*BamgQuadtree public Fields*/
+-			BamgQuadtreeBox* root;
+-			long         NbBamgQuadtreeBox;
+-			long         NbVertices;
++			int              MaxDepth;        // maximum number of subdivision
++			int              MaxICoord;       // maximum integer coordinate 2^MaxDepth -1
++			int              MaxISize;        // maximum integer coordinate 2^MaxDepth
++			BamgQuadtreeBox *root;            // main box
++			long             NbQuadtreeBox;   // total number of boxes
++			long             NbVertices;      // number of points
+ 
+ 			BamgQuadtree();
+ 			BamgQuadtree(Mesh *t,long nbv=-1);
+ 			~BamgQuadtree();
+ 
+-			BamgVertex      *NearestVertex(Icoor1 i,Icoor1 j);
++			void             Add(BamgVertex &w);
++			int              BoxNumber(int i,int j,int l);
++			bool             Intersection(int a,int b,int x,int y);
++			BamgVertex      *NearestVertex(int i,int j);
+ 			BamgQuadtreeBox *NewBamgQuadtreeBox(void);
+-			BamgVertex      *ToClose(BamgVertex &,double ,Icoor1,Icoor1);
+-			void             Add(BamgVertex &w);
++			int              Norm(int xi1,int yi1,int xi2,int yi2);
++			void             SubBoxCoords(int* pi,int*pj,int boxcoord,int length);
++			BamgVertex      *TooClose(BamgVertex*,double,int,int);
+ 	};
+ }
+ #endif
+Index: ../trunk-jpl/src/c/bamg/BamgVertex.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgVertex.h	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/BamgVertex.h	(revision 21623)
+@@ -3,7 +3,6 @@
+ 
+ #include "./include.h"
+ #include "./Metric.h"
+-#include "./Direction.h"
+ #include "./BamgOpts.h"
+ 
+ namespace bamg {
+@@ -23,7 +22,6 @@
+ 			Metric    m;
+ 			long      ReferenceNumber;
+ 			long      PreviousNumber;
+-			Direction DirOfSearch;
+ 			short     IndexInTriangle;              // the vertex number in triangle; varies between 0 and 2 in t
+ 
+ 			union {
+@@ -39,7 +37,7 @@
+ 			operator I2() const {return i;}             // Cast operator
+ 			operator const R2 & () const {return r;}    // Cast operator
+ 			operator Metric () const {return m;}        // Cast operator
+-			double operator()(R2 x) const { return m(x);} // Get x in the metric m
++			double operator()(R2 x) const { return m.Length(x.x,x.y);} // Get x in the metric m
+ 
+ 			/*methods (No constructor and no destructors...)*/
+ 			BamgVertex();
+@@ -53,8 +51,5 @@
+ 			//inline functions
+ 			inline void Set(const BamgVertex &rec,const Mesh & ,Mesh & ){*this=rec;}
+ 	};
+-
+-	//Intermediary
+-	double QuadQuality(const BamgVertex &,const BamgVertex &,const BamgVertex &,const BamgVertex &);
+ }
+ #endif
+Index: ../trunk-jpl/src/c/bamg/BamgMesh.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgMesh.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/BamgMesh.cpp	(revision 21623)
+@@ -7,7 +7,6 @@
+ 	this->VerticesSize[0]=0,                  this->VerticesSize[1]=0;                 this->Vertices=NULL;          this->PreviousNumbering = NULL;
+ 	this->EdgesSize[0]=0,                     this->EdgesSize[1]=0;                    this->Edges=NULL;
+ 	this->TrianglesSize[0]=0,                 this->TrianglesSize[1]=0;                this->Triangles=NULL;
+-	this->QuadrilateralsSize[0]=0,            this->QuadrilateralsSize[1]=0;           this->Quadrilaterals=NULL;
+ 
+ 	this->SubDomainsSize[0]=0,                this->SubDomainsSize[1]=0;               this->SubDomains=NULL;
+ 	this->SubDomainsFromGeomSize[0]=0,        this->SubDomainsFromGeomSize[1]=0;       this->SubDomainsFromGeom=NULL;
+@@ -32,7 +31,6 @@
+ 	xDelete<double>(this->PreviousNumbering);
+ 	xDelete<double>(this->Edges);
+ 	xDelete<double>(this->Triangles);
+-	xDelete<double>(this->Quadrilaterals);
+ 
+ 	xDelete<double>(this->SubDomains);
+ 	xDelete<double>(this->SubDomainsFromGeom);
+Index: ../trunk-jpl/src/c/bamg/Metric.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Metric.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/bamg/Metric.cpp	(revision 21623)
+@@ -12,49 +12,75 @@
+ 	SaveMetricInterpole  LastMetricInterpole;
+ 
+ 	/*Constructor/Destructor*/
+-	Metric::Metric(double a): a11(1/(a*a)),a21(0),a22(1/(a*a)){/*{{{*/
++	Metric::Metric(double a){/*{{{*/
+ 
++		/*Isotropic metric for a length of a as unit*/
++		this->a11 = 1./(a*a);
++		this->a21 = 0.;
++		this->a22 = 1./(a*a);
++
+ 	}/*}}}*/
+-	Metric::Metric(double a,double b,double c) :a11(a),a21(b),a22(c){/*{{{*/
++	Metric::Metric(double a11_in,double a21_in,double a22_in){/*{{{*/
+ 
++		this->a11 = a11_in;
++		this->a21 = a21_in;
++		this->a22 = a22_in;
++
+ 	}/*}}}*/
+-	Metric::Metric(const double  a[3],const  Metric& m0, const  Metric& m1,const  Metric& m2 ){/*{{{*/
+-		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/Metric)*/
++	Metric::Metric(const double  a[3],const Metric m0,const Metric m1,const Metric m2 ){/*{{{*/
+ 
++		/*Create metric using 3 inputs*/
+ 		Metric mab(a[0]*m0.a11 + a[1]*m1.a11 + a[2]*m2.a11,
+ 					a[0]*m0.a21 + a[1]*m1.a21 + a[2]*m2.a21,
+ 					a[0]*m0.a22 + a[1]*m1.a22 + a[2]*m2.a22);
+ 
++		/*Convert to eigen metric*/
+ 		EigenMetric vab(mab);
++		double v1x = + vab.vx;
++		double v1y = + vab.vy;
++		double v2x = - vab.vy;
++		double v2y = + vab.vx;
+ 
+-		R2 v1(vab.v.x,vab.v.y);
+-		R2 v2(-v1.y,v1.x);
++		double h1=a[0] / m0.Length(v1x,v1y) + a[1] / m1.Length(v1x,v1y) + a[2] / m2.Length(v1x,v1y);
++		double h2=a[0] / m0.Length(v2x,v2y) + a[1] / m1.Length(v2x,v2y) + a[2] / m2.Length(v2x,v2y);
+ 
+-		double h1 = a[0] / m0(v1) + a[1] / m1(v1) + a[2] / m2(v1);
+-		double h2 = a[0] / m0(v2) + a[1] / m1(v2) + a[2] / m2(v2);
++		vab.lambda1 =  1. / (h1*h1);
++		vab.lambda2 =  1. / (h2*h2);
+ 
+-		vab.lambda1 =  1 / (h1*h1);
+-		vab.lambda2 =  1 / (h2*h2);
+-		*this = vab;
+-	}
+-	/*}}}*/
+-	Metric::Metric(double  a,const  Metric& ma, double  b,const  Metric& mb) { /*{{{*/
+-		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/EigenMetric)*/
++		/*Build metric from vab*/
++		double v00=vab.vx*vab.vx;
++		double v11=vab.vy*vab.vy;
++		double v01=vab.vx*vab.vy;
++		this->a11=v00*vab.lambda1+v11*vab.lambda2;
++		this->a21=v01*(vab.lambda1-vab.lambda2);
++		this->a22=v00*vab.lambda2+v11*vab.lambda1;
+ 
++	} /*}}}*/
++	Metric::Metric(double  a,const Metric ma,double  b,const Metric mb) { /*{{{*/
++
+ 		/*Compute metric (linear combination of ma and mb)*/
+ 		Metric mab(a*ma.a11+b*mb.a11,a*ma.a21+b*mb.a21,a*ma.a22+b*mb.a22);
+ 
+ 		/*Get Eigen values and vectors*/
+ 		EigenMetric vab(mab);
+-		R2 v1(vab.v.x,vab.v.y);
+-		R2 v2(-v1.y,v1.x);
++		double v1x = + vab.vx;
++		double v1y = + vab.vy;
++		double v2x = - vab.vy;
++		double v2y = + vab.vx;
+ 
+ 		/*Modify eigen values (a+b=1)*/
+-		double h1 = a/ma(v1) + b/mb(v1);
+-		double h2 = a/ma(v2) + b/mb(v2);
+-		vab.lambda1 =  1/(h1*h1);
+-		vab.lambda2 =  1/(h2*h2);
+-		*this=vab;
++		double h1 = a/ma.Length(v1x,v1y) + b/mb.Length(v1x,v1y);
++		double h2 = a/ma.Length(v2x,v2y) + b/mb.Length(v2x,v2y);
++		vab.lambda1 =  1./(h1*h1);
++		vab.lambda2 =  1./(h2*h2);
++
++		/*Build metric from vab*/
++		double v00=vab.vx*vab.vx;
++		double v11=vab.vy*vab.vy;
++		double v01=vab.vx*vab.vy;
++		this->a11=v00*vab.lambda1+v11*vab.lambda2;
++		this->a21=v01*(vab.lambda1-vab.lambda2);
++		this->a22=v00*vab.lambda2+v11*vab.lambda1;
+ 	}
+ 	/*}}}*/
+ 
+@@ -122,9 +148,11 @@
+ 		return change;
+ 	}
+ 	/*}}}*/
+-	R2     Metric::mul(const R2 x)const {/*{{{*/
+-		return R2(a11*x.x+a21*x.y,a21*x.x+a22*x.y);
+-	}/*}}}*/
++	double Metric::Length(double Ax,double Ay) const{/*{{{*/
++		/*Length of A in the current metric*/
++		return sqrt(Ax*Ax*a11+2*Ax*Ay*a21+Ay*Ay*a22);
++	}
++	/*}}}*/
+ 
+ 	/*Intermediary*/
+ 	double LengthInterpole(const Metric& Ma,const  Metric& Mb, R2 AB) {/*{{{*/
+@@ -139,8 +167,8 @@
+ 		double l=0,sss=0;
+ 		Ms1[level]=Ma;
+ 		Ms2[level]=Mb;
+-		double sa =  Ma(AB);
+-		double sb =  Mb(AB);
++		double sa =  Ma.Length(AB.x,AB.y);
++		double sb =  Mb.Length(AB.x,AB.y);
+ 		lMs1[level]=sa;
+ 		lMs2[level]=sb;
+ 		K[level]=k;
+@@ -159,7 +187,7 @@
+ 			double s= (s1+s2)*k;
+ 			if( s > sstop   && level < 30 && i < 500-level ) {
+ 				Metric Mi(0.5,M1,0.5,M2);
+-				double si = Mi(AB);
++				double si = Mi.Length(AB.x,AB.y);
+ 				if( Abs((s1+s2)-(si+si)) > s1*0.001) 
+ 				  {
+ 					k=k/2;
+Index: ../trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp	(revision 21622)
++++ ../trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp	(revision 21623)
+@@ -20,7 +20,6 @@
+ 	/*intermediary*/
+ 	int i;
+ 	int noerr=1;
+-	double costheta=2;
+ 	double hminaniso=1e-100; 
+ 	Mesh* Thr=NULL;
+ 	Mesh* Thb=NULL;
+@@ -167,10 +166,6 @@
+ 		Mesh & Th( *(0 ?  new Mesh(*Thr,&Thr->Gh,Thb,maxnbv) :  new Mesh(maxnbv,BTh,bamgopts,bamgopts->KeepVertices)));
+ 		if (Thr != &BTh) delete Thr;
+ 
+-		//Make quadrangle if requested
+-		if(costheta<=1.0) Th.MakeQuadrangles(costheta);
+-		//if () Th.SplitElement(2);
+-
+ 		//Split corners if requested
+ 		if(bamgopts->splitcorners) Th.SplitInternalEdgeWithBorderVertices();
+ 
+@@ -182,12 +177,9 @@
+ 
+ 		//display info
+ 		if(verbosity>0) {
+-			if (Th.nbt-Th.nbtout-Th.nbq*2){
+-				_printf_("   new number of triangles = " << (Th.nbt-Th.nbtout-Th.nbq*2) << "\n");
++			if (Th.nbt-Th.nbtout){
++				_printf_("   new number of triangles = " << (Th.nbt-Th.nbtout) << "\n");
+ 			}
+-			if (Th.nbq ){
+-				_printf_("   new number of quads = " << Th.nbq << "\n");
+-			}
+ 		}
+ 
+ 		//Build output
+Index: ../trunk-jpl/src/c/Makefile.am
+===================================================================
+--- ../trunk-jpl/src/c/Makefile.am	(revision 21622)
++++ ../trunk-jpl/src/c/Makefile.am	(revision 21623)
+@@ -19,8 +19,40 @@
+ #}}}
+ 
+ #Core sources
++#BAMG sources  {{{
++issm_sources = 
++if BAMG
++issm_sources += ./bamg/BamgGeom.cpp\
++					 ./bamg/BamgMesh.cpp\
++					 ./bamg/BamgOpts.cpp\
++					 ./bamg/CrackedEdge.cpp\
++					 ./bamg/Curve.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/BamgVertex.cpp\
++					 ./bamg/VertexOnEdge.cpp\
++					 ./bamg/VertexOnGeom.cpp\
++					 ./bamg/VertexOnVertex.cpp\
++					 ./bamg/Mesh.cpp\
++					 ./shared/Bamg/BigPrimeNumber.cpp\
++					 ./modules/Bamgx/Bamgx.cpp\
++					 ./modules/BamgConvertMeshx/BamgConvertMeshx.cpp\
++					 ./modules/BamgTriangulatex/BamgTriangulatex.cpp
++endif
++#}}}
+ #Core sources{{{
+-issm_sources = ./datastructures/DataSet.cpp\
++issm_sources += ./datastructures/DataSet.cpp\
+ 					./classes/gauss/GaussSeg.cpp\
+ 					./classes/gauss/GaussTria.cpp\
+ 					./classes/gauss/GaussTetra.cpp\
+@@ -281,38 +313,6 @@
+ 					  ./cores/dakota_core.cpp
+ endif
+ #}}}
+-#BAMG sources  {{{
+-if BAMG
+-issm_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/BamgVertex.cpp\
+-					 ./bamg/VertexOnEdge.cpp\
+-					 ./bamg/VertexOnGeom.cpp\
+-					 ./bamg/VertexOnVertex.cpp\
+-					 ./bamg/Mesh.cpp\
+-					 ./shared/Bamg/BigPrimeNumber.cpp\
+-					 ./modules/Bamgx/Bamgx.cpp\
+-					 ./modules/BamgConvertMeshx/BamgConvertMeshx.cpp\
+-					 ./modules/BamgTriangulatex/BamgTriangulatex.cpp
+-endif
+-#}}}
+ #Petsc sources  {{{
+ if PETSC
+ issm_sources += ./toolkits/petsc\
Index: /issm/oecreview/Archive/21337-21723/ISSM-21623-21624.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21623-21624.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21623-21624.diff	(revision 21726)
@@ -0,0 +1,41 @@
+Index: ../trunk-jpl/src/wrappers/python/io/WritePythonData.cpp
+===================================================================
+--- ../trunk-jpl/src/wrappers/python/io/WritePythonData.cpp	(revision 21623)
++++ ../trunk-jpl/src/wrappers/python/io/WritePythonData.cpp	(revision 21624)
+@@ -150,7 +150,6 @@
+ 	PyDict_SetItemString(dict,"Vertices",PyArrayFromCopiedData(bamgmesh->VerticesSize,bamgmesh->Vertices));
+ 	PyDict_SetItemString(dict,"Edges",PyArrayFromCopiedData(bamgmesh->EdgesSize,bamgmesh->Edges));
+ 	PyDict_SetItemString(dict,"Triangles",PyArrayFromCopiedData(bamgmesh->TrianglesSize,bamgmesh->Triangles));
+-	PyDict_SetItemString(dict,"Quadrilaterals",PyArrayFromCopiedData(bamgmesh->QuadrilateralsSize,bamgmesh->Quadrilaterals));
+ 	PyDict_SetItemString(dict,"IssmEdges",PyArrayFromCopiedData(bamgmesh->IssmEdgesSize,bamgmesh->IssmEdges));
+ 	PyDict_SetItemString(dict,"IssmSegments",PyArrayFromCopiedData(bamgmesh->IssmSegmentsSize,bamgmesh->IssmSegments));
+ 	PyDict_SetItemString(dict,"VerticesOnGeomVertex",PyArrayFromCopiedData(bamgmesh->VerticesOnGeomVertexSize,bamgmesh->VerticesOnGeomVertex));
+Index: ../trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp
+===================================================================
+--- ../trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp	(revision 21623)
++++ ../trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp	(revision 21624)
+@@ -191,7 +191,7 @@
+ 	/*Intermediary*/
+ 	int         i;
+ 	mxArray    *dataref           = NULL;
+-	const int   numfields         = 17;
++	const int   numfields         = 16;
+ 	const char *fnames[numfields];
+ 	mwSize      ndim              = 2;
+ 	mwSize      dimensions[2]     = {1,1};
+@@ -201,7 +201,6 @@
+ 	fnames[i++] = "Vertices";
+ 	fnames[i++] = "Edges";
+ 	fnames[i++] = "Triangles";
+-	fnames[i++] = "Quadrilaterals";
+ 	fnames[i++] = "IssmEdges";
+ 	fnames[i++] = "IssmSegments";
+ 	fnames[i++] = "VerticesOnGeomVertex";
+@@ -225,7 +224,6 @@
+ 	i++; SetStructureField(dataref,"Vertices",bamgmesh->VerticesSize[0], bamgmesh->VerticesSize[1],bamgmesh->Vertices);
+ 	i++; SetStructureField(dataref,"Edges", bamgmesh->EdgesSize[0],bamgmesh->EdgesSize[1], bamgmesh->Edges);
+ 	i++; SetStructureField(dataref,"Triangles", bamgmesh->TrianglesSize[0],bamgmesh->TrianglesSize[1], bamgmesh->Triangles);
+-	i++; SetStructureField(dataref,"Quadrilaterals",bamgmesh->QuadrilateralsSize[0], bamgmesh->QuadrilateralsSize[1],bamgmesh->Quadrilaterals);
+ 	i++; SetStructureField(dataref,"IssmEdges", bamgmesh->IssmEdgesSize[0],bamgmesh->IssmEdgesSize[1], bamgmesh->IssmEdges);
+ 	i++; SetStructureField(dataref,"IssmSegments",bamgmesh->IssmSegmentsSize[0], bamgmesh->IssmSegmentsSize[1],bamgmesh->IssmSegments);
+ 	i++; SetStructureField(dataref,"VerticesOnGeomVertex",bamgmesh->VerticesOnGeomVertexSize[0],bamgmesh->VerticesOnGeomVertexSize[1], bamgmesh->VerticesOnGeomVertex);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21624-21625.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21624-21625.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21624-21625.diff	(revision 21726)
@@ -0,0 +1,97 @@
+Index: ../trunk-jpl/src/c/bamg/BamgQuadtree.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgQuadtree.h	(revision 21624)
++++ ../trunk-jpl/src/c/bamg/BamgQuadtree.h	(revision 21625)
+@@ -36,7 +36,6 @@
+ 		public:
+ 
+ 			/*BamgQuadtree public Fields*/
+-			int              MaxDepth;        // maximum number of subdivision
+ 			int              MaxICoord;       // maximum integer coordinate 2^MaxDepth -1
+ 			int              MaxISize;        // maximum integer coordinate 2^MaxDepth
+ 			BamgQuadtreeBox *root;            // main box
+Index: ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp	(revision 21624)
++++ ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp	(revision 21625)
+@@ -7,6 +7,7 @@
+ 
+ namespace bamg {
+ #define ABS(i) ((i)<0 ?-(i) :(i))
++#define MAXDEPTH 30
+ 	/*DOCUMENTATION What is a BamgQuadtree? {{{
+ 	 * A Quadtree is a very simple way to group vertices according
+ 	 * to their locations. A square that holds all the points of the mesh
+@@ -59,7 +60,6 @@
+ 	BamgQuadtree::BamgQuadtree(){/*{{{*/
+ 
+ 		/*Initialize fields*/
+-		this->MaxDepth      = 30;
+ 		this->MaxISize      = 1073741824; //2^30
+ 		this->MaxICoord     = 1073741823; //2^30 - 1
+ 		this->NbQuadtreeBox = 0;
+@@ -75,7 +75,6 @@
+ 	BamgQuadtree::BamgQuadtree(Mesh * t,long nbv){ /*{{{*/
+ 
+ 		/*Initialize fields*/
+-		this->MaxDepth      = 30;
+ 		this->MaxISize      = 1073741824; //2^30
+ 		this->MaxICoord     = 1073741823; //2^30 - 1
+ 		this->NbQuadtreeBox = 0;
+@@ -141,7 +140,7 @@
+ 			if (b->nbitems > 0 &&  b->v[0] == &w) return;
+ 		}
+ 
+-		/*check that l is not 0 (this should not happen as MaxDepth = 30)*/
++		/*check that l is not 0 (this should not happen as MAXDEPTH = 30)*/
+ 		_assert_(level>0);
+ 
+ 		/*Now, try to add the vertex, if the subbox is full (nbitems=4), we have to divide it
+@@ -248,7 +247,7 @@
+ 		BamgQuadtreeBox* b = this->root;
+ 
+ 		/*Initialize level and sizes for largest box*/
+-		int levelbin = (1L<<this->MaxDepth);// = 2^30
++		int levelbin = (1L<<MAXDEPTH);// = 2^30
+ 		int        h = this->MaxISize;
+ 		int       hb = this->MaxISize;
+ 		int       i0 = 0;
+@@ -302,10 +301,10 @@
+ 			and find the closest not-empty box and find the closest vertex*/
+ 
+ 		/*Initialize search variables*/
+-		BamgQuadtreeBox **pb = xNew<BamgQuadtreeBox*>(this->MaxDepth);
+-		int* pi = xNew<int>(this->MaxDepth);
+-		int* ii = xNew<int>(this->MaxDepth);
+-		int* jj = xNew<int>(this->MaxDepth);
++		BamgQuadtreeBox* pb[MAXDEPTH];
++		int pi[MAXDEPTH];
++		int ii[MAXDEPTH];
++		int jj[MAXDEPTH];
+ 		pb[0]=b;                             //pointer toward the box b
+ 		pi[0]=b->nbitems>0?(int)b->nbitems:4;//number of boxes in b
+ 		ii[0]=i0;                            //i coordinate of the box lowest left corner
+@@ -381,10 +380,6 @@
+ 		}while(level--);
+ 
+ 		/*return nearest vertex pointer*/
+-		xDelete<BamgQuadtreeBox*>(pb);
+-		xDelete<int>(pi);
+-		xDelete<int>(ii);
+-		xDelete<int>(jj);
+ 		return nearest_v;
+ 	}
+ 	/*}}}*/
+@@ -438,9 +433,9 @@
+ 		const double Xy = v->r.y;
+ 		Metric* Mx = new Metric(v->m);
+ 
+-		BamgQuadtreeBox *pb[MaxDepth];
+-		int  pi[MaxDepth];
+-		int  ii[MaxDepth], jj[MaxDepth];
++		BamgQuadtreeBox *pb[MAXDEPTH];
++		int  pi[MAXDEPTH];
++		int  ii[MAXDEPTH], jj[MAXDEPTH];
+ 		int l=0; // level
+ 		BamgQuadtreeBox* b;
+ 		int hb =  MaxISize;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21625-21626.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21625-21626.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21625-21626.diff	(revision 21726)
@@ -0,0 +1,558 @@
+Index: ../trunk-jpl/src/m/classes/calvingminthickness.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/calvingminthickness.m	(revision 21625)
++++ ../trunk-jpl/src/m/classes/calvingminthickness.m	(revision 21626)
+@@ -52,7 +52,7 @@
+ 			yts=md.constants.yts;
+ 			WriteData(fid,prefix,'name','md.calving.law','data',4,'format','Integer');
+ 			WriteData(fid,prefix,'object',self,'fieldname','min_thickness','format','Double');
+-			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
++			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
+ 		end % }}}
+ 	end
+ end
+Index: ../trunk-jpl/src/m/classes/calvinglevermann.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/calvinglevermann.m	(revision 21625)
++++ ../trunk-jpl/src/m/classes/calvinglevermann.m	(revision 21626)
+@@ -41,7 +41,7 @@
+ 			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
+ 
+ 			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
+-			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>=',0);
++			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'timeseries',1,'>=',0);
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   Calving Levermann parameters:'));
+@@ -53,7 +53,7 @@
+ 			yts=md.constants.yts;
+ 			WriteData(fid,prefix,'name','md.calving.law','data',3,'format','Integer');
+ 			WriteData(fid,prefix,'object',self,'fieldname','coeff','format','DoubleMat','mattype',1);
+-			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
++			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
+ 		end % }}}
+ 	end
+ end
+Index: ../trunk-jpl/src/m/classes/levelset.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/levelset.m	(revision 21625)
++++ ../trunk-jpl/src/m/classes/levelset.m	(revision 21626)
+@@ -8,6 +8,7 @@
+ 		stabilization		= 0;
+ 		spclevelset			= NaN;
+ 		reinit_frequency	= 5;
++		calving_max       = 0.;
+ 	end
+ 	methods
+ 		function self = levelset(varargin) % {{{
+@@ -35,8 +36,9 @@
+ 		function self = setdefaultparameters(self) % {{{
+ 
+ 			%stabilization = 2 by default
+-			self.stabilization = 2;
++			self.stabilization    = 2;
+ 			self.reinit_frequency = 5;
++			self.calving_max      = 3000.;
+ 
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+@@ -45,23 +47,30 @@
+ 
+ 			md = checkfield(md,'fieldname','levelset.spclevelset','Inf',1,'timeseries',1);
+ 			md = checkfield(md,'fieldname','levelset.stabilization','values',[0 1 2]);
++			md = checkfield(md,'fieldname','levelset.calving_max','numel',1,'NaN',1,'Inf',1,'>',0);
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   Level-set parameters:'));
+ 			fielddisplay(self,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding');
+ 			fielddisplay(self,'spclevelset','Levelset constraints (NaN means no constraint)');
+ 			fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized');
++			fielddisplay(self,'calving_max','maximum allowed calving rate (m/a)');
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
++
++			yts=md.constants.yts;
++
+ 			WriteData(fid,prefix,'object',self,'fieldname','stabilization','format','Integer');
+ 			WriteData(fid,prefix,'object',self,'fieldname','spclevelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 			WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','calving_max','format','Double','scale',1./yts);
+ 		end % }}}
+ 		function savemodeljs(self,fid,modelname) % {{{
+ 		
+ 			writejsdouble(fid,[modelname '.levelset.stabilization'],self.stabilization);
+ 			writejs1Darray(fid,[modelname '.levelset.spclevelset'],self.spclevelset);
+ 			writejs1Darray(fid,[modelname '.levelset.reinit_frequency'],self.reinit_frequency);
++			writejsdouble(fid,[modelname '.levelset.calving_max'],self.calving_max);
+ 
+ 		end % }}}
+ 	end
+Index: ../trunk-jpl/src/m/classes/levelset.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/levelset.py	(revision 21625)
++++ ../trunk-jpl/src/m/classes/levelset.py	(revision 21626)
+@@ -13,9 +13,10 @@
+ 
+ 	def __init__(self): # {{{
+ 
+-		self.stabilization = 0
+-		self.spclevelset   = float('NaN')
++		self.stabilization    = 0
++		self.spclevelset      = float('NaN')
+ 		self.reinit_frequency = 0
++		self.calving_max      = 0.
+ 
+ 		#set defaults
+ 		self.setdefaultparameters()
+@@ -26,6 +27,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,'stabilization','0: no, 1: artificial_diffusivity, 2: streamline upwinding'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'spclevelset','levelset constraints (NaN means no constraint)'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized'))
++		string="%s\n%s"%(string,fielddisplay(self,'calving_max','maximum allowed calving rate (m/a)'))
+ 
+ 		return string
+ 		#}}}
+@@ -38,6 +40,7 @@
+ 		#stabilization = 2 by default
+ 		self.stabilization = 2
+ 		self.reinit_frequency = 5
++		self.calving_max      = 3000
+ 
+ 		return self
+ 	#}}}
+@@ -49,12 +52,16 @@
+ 
+ 		md = checkfield(md,'fieldname','levelset.spclevelset','Inf',1,'timeseries',1)
+ 		md = checkfield(md,'fieldname','levelset.stabilization','values',[0,1,2]);
++		md = checkfield(md,'fieldname','levelset.calving_max','numel',1,'NaN',1,'Inf',1,'>',0);
+ 
+ 		return md
+ 	# }}}
+ 	def marshall(self,prefix,md,fid):    # {{{
+ 
++		yts=md.constants.yts;
++
+ 		WriteData(fid,prefix,'object',self,'fieldname','stabilization','format','Integer');
+ 		WriteData(fid,prefix,'object',self,'fieldname','spclevelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 		WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer');
++		WriteData(fid,prefix,'object',self,'fieldname','calving_max','format','Double','scale',1./yts);
+ 	# }}}
+Index: ../trunk-jpl/src/m/classes/calvingdev.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/calvingdev.m	(revision 21625)
++++ ../trunk-jpl/src/m/classes/calvingdev.m	(revision 21626)
+@@ -5,7 +5,8 @@
+ 
+ classdef calvingdev
+ 	properties (SetAccess=public) 
+-		coeff         = NaN;
++		stress_threshold_groundedice = 0.;
++		stress_threshold_floatingice = 0.;
+ 		meltingrate   = NaN;
+ 	end
+ 	methods
+@@ -28,32 +29,38 @@
+ 			end
+ 		end % }}}
+ 		function self = extrude(self,md) % {{{
+-			self.coeff=project3d(md,'vector',self.coeff,'type','node');
+ 			self.meltingrate=project3d(md,'vector',self.meltingrate,'type','node');
+ 		end % }}}
+ 		function self = setdefaultparameters(self) % {{{
+ 
+ 			%Proportionality coefficient in Pi model
+-			self.coeff=2e13;
++			%self.coeff=2e13;
++
++			%Default sigma max
++			self.stress_threshold_groundedice = 1e6;
++			self.stress_threshold_floatingice = 150e3;
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 			%Early return
+ 			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
+ 
+-			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
++			md = checkfield(md,'fieldname','calving.stress_threshold_groundedice','>',0,'numel',1,'nan',1,'Inf',1);
++			md = checkfield(md,'fieldname','calving.stress_threshold_floatingice','>',0,'numel',1,'nan',1,'Inf',1);
+ 			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'timeseries',1,'>=',0);
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   Calving Pi parameters:'));
+-			fielddisplay(self,'coeff','proportionality coefficient in Pi model');
++			fielddisplay(self,'stress_threshold_groundedice','sigma_max applied to grounded ice only [Pa]');
++			fielddisplay(self,'stress_threshold_floatingice','sigma_max applied to floating ice only [Pa]');
+ 			fielddisplay(self,'meltingrate','melting rate at given location [m/a]');
+ 
+ 		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+ 			yts=md.constants.yts;
+ 			WriteData(fid,prefix,'name','md.calving.law','data',2,'format','Integer');
+-			WriteData(fid,prefix,'object',self,'fieldname','coeff','format','DoubleMat','mattype',1);
+-			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
++			WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_groundedice','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
+ 		end % }}}
+ 	end
+ end
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21625)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21626)
+@@ -258,6 +258,9 @@
+ 	CalvingrateyEnum,
+ 	CalvingratexAverageEnum,
+ 	CalvingrateyAverageEnum,
++	CalvingStressThresholdGroundediceEnum,
++	CalvingStressThresholdFloatingiceEnum,
++	CalvingMaxEnum,
+ 	StrainRateparallelEnum,
+ 	StrainRateperpendicularEnum,
+ 	StrainRateeffectiveEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21625)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21626)
+@@ -264,6 +264,9 @@
+ 		case CalvingrateyEnum : return "Calvingratey";
+ 		case CalvingratexAverageEnum : return "CalvingratexAverage";
+ 		case CalvingrateyAverageEnum : return "CalvingrateyAverage";
++		case CalvingStressThresholdGroundediceEnum : return "CalvingStressThresholdGroundedice";
++		case CalvingStressThresholdFloatingiceEnum : return "CalvingStressThresholdFloatingice";
++		case CalvingMaxEnum : return "CalvingMax";
+ 		case StrainRateparallelEnum : return "StrainRateparallel";
+ 		case StrainRateperpendicularEnum : return "StrainRateperpendicular";
+ 		case StrainRateeffectiveEnum : return "StrainRateeffective";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21625)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21626)
+@@ -270,6 +270,9 @@
+ 	      else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
+ 	      else if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
+ 	      else if (strcmp(name,"CalvingrateyAverage")==0) return CalvingrateyAverageEnum;
++	      else if (strcmp(name,"CalvingStressThresholdGroundedice")==0) return CalvingStressThresholdGroundediceEnum;
++	      else if (strcmp(name,"CalvingStressThresholdFloatingice")==0) return CalvingStressThresholdFloatingiceEnum;
++	      else if (strcmp(name,"CalvingMax")==0) return CalvingMaxEnum;
+ 	      else if (strcmp(name,"StrainRateparallel")==0) return StrainRateparallelEnum;
+ 	      else if (strcmp(name,"StrainRateperpendicular")==0) return StrainRateperpendicularEnum;
+ 	      else if (strcmp(name,"StrainRateeffective")==0) return StrainRateeffectiveEnum;
+@@ -379,13 +382,13 @@
+ 	      else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum;
+ 	      else if (strcmp(name,"SmbRequestedOutputs")==0) return SmbRequestedOutputsEnum;
+ 	      else if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
+-	      else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
+-	      else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum;
+-	      else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
++	      if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
++	      else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum;
++	      else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum;
++	      else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
+ 	      else if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
+ 	      else if (strcmp(name,"SmbECini")==0) return SmbECiniEnum;
+ 	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
+@@ -502,13 +505,13 @@
+ 	      else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum;
+ 	      else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
+-	      else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
+-	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
+-	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
++	      if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
++	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
++	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
++	      else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
+ 	      else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
+ 	      else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
+@@ -625,13 +628,13 @@
+ 	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
+ 	      else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
+ 	      else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
+-	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
+-	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
+-	      else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum;
++	      if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
++	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
++	      else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum;
++	      else if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum;
+ 	      else if (strcmp(name,"Outputdefinition37")==0) return Outputdefinition37Enum;
+ 	      else if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum;
+ 	      else if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum;
+@@ -748,13 +751,13 @@
+ 	      else if (strcmp(name,"Regular")==0) return RegularEnum;
+ 	      else if (strcmp(name,"Scaled")==0) return ScaledEnum;
+ 	      else if (strcmp(name,"Separate")==0) return SeparateEnum;
+-	      else if (strcmp(name,"Sset")==0) return SsetEnum;
+-	      else if (strcmp(name,"Dense")==0) return DenseEnum;
+-	      else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;
++	      if (strcmp(name,"Sset")==0) return SsetEnum;
++	      else if (strcmp(name,"Dense")==0) return DenseEnum;
++	      else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;
++	      else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;
+ 	      else if (strcmp(name,"Seq")==0) return SeqEnum;
+ 	      else if (strcmp(name,"Mpi")==0) return MpiEnum;
+ 	      else if (strcmp(name,"Mumps")==0) return MumpsEnum;
+@@ -871,13 +874,13 @@
+ 	      else if (strcmp(name,"TetraInput")==0) return TetraInputEnum;
+ 	      else if (strcmp(name,"Penta")==0) return PentaEnum;
+ 	      else if (strcmp(name,"PentaInput")==0) return PentaInputEnum;
+-	      else if (strcmp(name,"Vertex")==0) return VertexEnum;
+-	      else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
+-	      else if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"Option")==0) return OptionEnum;
++	      if (strcmp(name,"Vertex")==0) return VertexEnum;
++	      else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
++	      else if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
++	      else if (strcmp(name,"Option")==0) return OptionEnum;
+ 	      else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
+ 	      else if (strcmp(name,"OptionCell")==0) return OptionCellEnum;
+ 	      else if (strcmp(name,"OptionStruct")==0) return OptionStructEnum;
+@@ -994,13 +997,13 @@
+ 	      else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum;
+ 	      else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum;
+ 	      else if (strcmp(name,"Closed")==0) return ClosedEnum;
+-	      else if (strcmp(name,"Free")==0) return FreeEnum;
+-	      else if (strcmp(name,"Open")==0) return OpenEnum;
+-	      else if (strcmp(name,"Air")==0) return AirEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"Ice")==0) return IceEnum;
++	      if (strcmp(name,"Free")==0) return FreeEnum;
++	      else if (strcmp(name,"Open")==0) return OpenEnum;
++	      else if (strcmp(name,"Air")==0) return AirEnum;
++	      else if (strcmp(name,"Ice")==0) return IceEnum;
+ 	      else if (strcmp(name,"Melange")==0) return MelangeEnum;
+ 	      else if (strcmp(name,"Water")==0) return WaterEnum;
+ 	      else if (strcmp(name,"DataSet")==0) return DataSetEnum;
+Index: ../trunk-jpl/src/c/cores/levelsetfunctionslope_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/levelsetfunctionslope_core.cpp	(revision 21625)
++++ ../trunk-jpl/src/c/cores/levelsetfunctionslope_core.cpp	(revision 21626)
+@@ -32,7 +32,7 @@
+ 		solutionsequence_linear(femmodel);
+ 	}
+ 	if(domaintype==Domain2DverticalEnum){
+-	      femmodel->parameters->SetParam(LevelsetfunctionSlopeXEnum,InputToExtrudeEnum);
++		femmodel->parameters->SetParam(LevelsetfunctionSlopeXEnum,InputToExtrudeEnum);
+ 		extrudefrombase_core(femmodel);
+ 	}
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21625)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21626)
+@@ -215,7 +215,8 @@
+ 	IssmDouble  calvingratey[NUMVERTICES];
+ 	IssmDouble  calvingrate[NUMVERTICES];
+ 	IssmDouble  lambda1,lambda2,ex,ey,vx,vy,vel;
+-	IssmDouble  sigma_vm,sigma_max,epse_2,groundedice;
++	IssmDouble  sigma_vm,sigma_max,sigma_max_floating,sigma_max_grounded;
++	IssmDouble  epse_2,groundedice;
+ 
+ 	/* Get node coordinates and dof list: */
+ 	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
+@@ -226,6 +227,8 @@
+ 	Input* gr_input = inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+ 	IssmDouble  B   = this->GetMaterialParameter(MaterialsRheologyBbarEnum);
+ 	IssmDouble  n   = this->GetMaterialParameter(MaterialsRheologyNEnum);
++	this->parameters->FindParam(&sigma_max_floating,CalvingStressThresholdFloatingiceEnum);
++	this->parameters->FindParam(&sigma_max_grounded,CalvingStressThresholdGroundediceEnum);
+ 
+ 	/* Start looping on the number of vertices: */
+ 	GaussTria* gauss=new GaussTria();
+@@ -253,20 +256,18 @@
+ 		/*Calculate sigma_vm*/
+ 		epse_2    = 1./2. *(lambda1*lambda1 + lambda2*lambda2);
+ 		sigma_vm  = sqrt(3.) * B * pow(epse_2,1./(2.*n));
+-		//sigma_max = 125.e+3;
+-		sigma_max = 350.e+3;
+-		sigma_max = 450.e+3;
+-		sigma_max = 800.e+3; //too much
+-		//sigma_max = 700.e+3;
+-		//sigma_max = 670.e+3;
+-		//sigma_max = 550.e+3;
+-		sigma_max = 750.e+3; //too high
+-		sigma_max = 850.e+3; //too low
+-		sigma_max = 800.e+3; //IUGG previous test
+-		sigma_max = 1000.e+3; //850 seems small
+ 
+-		if(groundedice<0) sigma_max=200.e+3;
++		/*OLD (keep for a little bit)*/
++		//sigma_max = 800.e+3; //IUGG previous test
++		//sigma_max = 1000.e+3; //GRL
++		//if(groundedice<0) sigma_max=150.e+3;
+ 
++		/*Tensile stress threshold*/
++		if(groundedice<0)
++		 sigma_max = sigma_max_floating;
++		else
++		 sigma_max = sigma_max_grounded;
++
+ 		/*Assign values*/
+ 		calvingratex[iv]=vx*sigma_vm/sigma_max;
+ 		calvingratey[iv]=vy*sigma_vm/sigma_max;
+@@ -294,7 +295,6 @@
+ 	IssmDouble  calvingratey[NUMVERTICES];
+ 	IssmDouble  calvingrate[NUMVERTICES];
+ 
+-
+ 	/* Get node coordinates and dof list: */
+ 	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21625)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21626)
+@@ -185,7 +185,8 @@
+ 	IssmDouble  calvingratey[NUMVERTICES];
+ 	IssmDouble  calvingrate[NUMVERTICES];
+ 	IssmDouble  lambda1,lambda2,ex,ey,vx,vy,vel;
+-	IssmDouble  sigma_vm,sigma_max,epse_2,groundedice;
++	IssmDouble  sigma_vm,sigma_max,sigma_max_floating,sigma_max_grounded;
++	IssmDouble  epse_2,groundedice;
+ 
+ 	/* Get node coordinates and dof list: */
+ 	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
+@@ -201,6 +202,8 @@
+ 	Input* gr_input = inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+ 	IssmDouble  B   = this->GetMaterialParameter(MaterialsRheologyBbarEnum);
+ 	IssmDouble  n   = this->GetMaterialParameter(MaterialsRheologyNEnum);
++	this->parameters->FindParam(&sigma_max_floating,CalvingStressThresholdFloatingiceEnum);
++	this->parameters->FindParam(&sigma_max_grounded,CalvingStressThresholdGroundediceEnum);
+ 
+ 	/* Start looping on the number of vertices: */
+ 	GaussPenta* gauss=new GaussPenta();
+@@ -228,9 +231,12 @@
+ 		/*Calculate sigma_vm*/
+ 		epse_2    = 1./2. *(lambda1*lambda1 + lambda2*lambda2);
+ 		sigma_vm  = sqrt(3.) * B * pow(epse_2,1./(2.*n));
+-		sigma_max = 1000.e+3;
+ 
+-		if(groundedice<0) sigma_max=200.e+3;
++		/*Tensile stress threshold*/
++		if(groundedice<0)
++		 sigma_max = sigma_max_floating;
++		else
++		 sigma_max = sigma_max_grounded;
+ 
+ 		/*Assign values*/
+ 		calvingratex[iv]=vx*sigma_vm/sigma_max;
+Index: ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 21625)
++++ ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 21626)
+@@ -60,7 +60,6 @@
+ 			iomodel->FetchDataToInput(elements,"md.calving.meltingrate",CalvinglevermannMeltingrateEnum);
+ 			break;
+ 		case CalvingDevEnum:
+-			iomodel->FetchDataToInput(elements,"md.calving.coeff",CalvingdevCoeffEnum);
+ 			iomodel->FetchDataToInput(elements,"md.calving.meltingrate",CalvingMeltingrateEnum);
+ 			break;
+ 		case CalvingMinthicknessEnum:
+@@ -74,12 +73,16 @@
+ void LevelsetAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.levelset.stabilization",LevelsetStabilizationEnum));
+ 	parameters->AddObject(iomodel->CopyConstantObject("md.levelset.reinit_frequency",LevelsetReinitFrequencyEnum));
++	parameters->AddObject(iomodel->CopyConstantObject("md.levelset.calving_max",CalvingMaxEnum));
+ 	int  calvinglaw;
+ 	iomodel->FindConstant(&calvinglaw,"md.calving.law");
+ 	switch(calvinglaw){
+ 		case DefaultCalvingEnum:
+ 		case CalvingLevermannEnum:
++			break;
+ 		case CalvingDevEnum:
++			parameters->AddObject(iomodel->CopyConstantObject("md.calving.stress_threshold_groundedice",CalvingStressThresholdGroundediceEnum));
++			parameters->AddObject(iomodel->CopyConstantObject("md.calving.stress_threshold_floatingice",CalvingStressThresholdFloatingiceEnum));
+ 			break;
+ 		case CalvingMinthicknessEnum:
+ 			parameters->AddObject(iomodel->CopyConstantObject("md.calving.min_thickness",CalvingMinthicknessEnum));
+@@ -137,7 +140,8 @@
+ 	IssmDouble Jdet, dt, D_scalar;
+ 	IssmDouble h,hx,hy,hz;
+ 	IssmDouble vel;
+-	IssmDouble norm_dlsf, norm_calving, calvingrate, meltingrate;
++	IssmDouble norm_dlsf, norm_calving, calvingrate, meltingrate, groundedice;
++	IssmDouble calvingmax;
+ 	IssmDouble* xyz_list = NULL;
+ 
+ 	/*Get problem dimension and whether there is moving front or not*/
+@@ -151,6 +155,8 @@
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+ 	}
+ 
++	/*Calving threshold*/
++	
+ 	/*Fetch number of nodes and dof for this finite element*/
+ 	int numnodes    = basalelement->GetNumberOfNodes();
+ 
+@@ -169,6 +175,7 @@
+ 	/*Retrieve all inputs and parameters*/
+ 	basalelement->GetVerticesCoordinates(&xyz_list);
+ 	basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
++	basalelement->FindParam(&calvingmax,CalvingMaxEnum);
+ 	Input* vx_input           = NULL;
+ 	Input* vy_input           = NULL;
+ 	Input* calvingratex_input = NULL;
+@@ -177,6 +184,7 @@
+ 	Input* lsf_slopey_input   = NULL;
+ 	Input* calvingrate_input  = NULL;
+ 	Input* meltingrate_input  = NULL;
++	Input* gr_input           = NULL;
+ 
+ 	/*Load velocities*/
+ 	switch(domaintype){
+@@ -186,10 +194,12 @@
+ 		case Domain2DhorizontalEnum:
+ 			vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input);
+ 			vy_input=basalelement->GetInput(VyEnum); _assert_(vy_input);
++			gr_input=basalelement->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+ 			break;
+ 		case Domain3DEnum:
+ 			vx_input=basalelement->GetInput(VxAverageEnum); _assert_(vx_input);
+ 			vy_input=basalelement->GetInput(VyAverageEnum); _assert_(vy_input);
++			gr_input=basalelement->GetInput(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+ 			break;
+ 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
+ 	}
+@@ -252,6 +262,7 @@
+ 		GetBprime(Bprime,basalelement,xyz_list,gauss); 
+ 		vx_input->GetInputValue(&v[0],gauss);
+ 		vy_input->GetInputValue(&v[1],gauss); 
++		gr_input->GetInputValue(&groundedice,gauss);
+ 
+ 		/*Get calving speed*/
+ 		switch(calvinglaw){
+@@ -262,6 +273,11 @@
+ 				calvingrate_input->GetInputValue(&calvingrate,gauss);
+ 				meltingrate_input->GetInputValue(&meltingrate,gauss);
+ 
++				/*Limit calving rate to c <= v + 3 km/yr */
++				vel=sqrt(v[0]*v[0] + v[1]*v[1]);
++				if(calvingrate>calvingmax+vel) calvingrate = vel+calvingmax;
++				if(groundedice<0) meltingrate = 0;
++
+ 				norm_dlsf=0.;
+ 				for(i=0;i<dim;i++) norm_dlsf+=pow(dlsf[i],2);
+ 				norm_dlsf=sqrt(norm_dlsf);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21626-21627.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21626-21627.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21626-21627.diff	(revision 21726)
@@ -0,0 +1,14 @@
+Index: ../trunk-jpl/test/NightlyRun/runme.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/runme.py	(revision 21626)
++++ ../trunk-jpl/test/NightlyRun/runme.py	(revision 21627)
+@@ -166,9 +166,7 @@
+ 					raise IOError("Archive file '"+os.path.join('..','Archives',archive_name+'.arch')+"' does not exist.")
+ 
+ 				for k,fieldname in enumerate(field_names):
+-					print fieldname
+ 					try:
+-						print('getting {}'.format(fieldname))
+ 						#Get field and tolerance
+ 						field=np.array(field_values[k])
+ 						if len(field.shape) == 1:
Index: /issm/oecreview/Archive/21337-21723/ISSM-21627-21628.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21627-21628.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21627-21628.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/classes/levelset.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/levelset.py	(revision 21627)
++++ ../trunk-jpl/src/m/classes/levelset.py	(revision 21628)
+@@ -52,7 +52,7 @@
+ 
+ 		md = checkfield(md,'fieldname','levelset.spclevelset','Inf',1,'timeseries',1)
+ 		md = checkfield(md,'fieldname','levelset.stabilization','values',[0,1,2]);
+-		md = checkfield(md,'fieldname','levelset.calving_max','numel',1,'NaN',1,'Inf',1,'>',0);
++		md = checkfield(md,'fieldname','levelset.calving_max','NaN',1,'Inf',1,'>',0);
+ 
+ 		return md
+ 	# }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21628-21629.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21628-21629.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21628-21629.diff	(revision 21726)
@@ -0,0 +1,224 @@
+Index: ../trunk-jpl/src/c/bamg/Geometry.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Geometry.cpp	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/Geometry.cpp	(revision 21629)
+@@ -102,7 +102,8 @@
+ 			 *
+ 			 * coefIcoor = (2^30 -1)/D
+ 			 */
+-			coefIcoor=(MaxICoor)/(Max(pmax.x-pmin.x,pmax.y-pmin.y));
++			int MaxICoord = 1073741823;
++			coefIcoor=(MaxICoord)/(Max(pmax.x-pmin.x,pmax.y-pmin.y));
+ 			if(coefIcoor<=0) _error_("coefIcoor should be positive");
+ 		}
+ 		else{
+@@ -908,7 +909,7 @@
+ 		 *
+ 		 * coefIcoor = (2^30 -1)/D
+ 		 */
+-		return  I2( (Icoor1) (coefIcoor*(P.x-pmin.x)) ,(Icoor1) (coefIcoor*(P.y-pmin.y)) );
++		return  I2( (int) (coefIcoor*(P.x-pmin.x)) ,(int) (coefIcoor*(P.y-pmin.y)) );
+ 	}/*}}}*/
+ 	void Geometry::UnMarkEdges() {/*{{{*/
+ 		for (int i=0;i<nbe;i++) edges[i].SetUnMark();
+Index: ../trunk-jpl/src/c/bamg/Mesh.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Mesh.h	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/Mesh.h	(revision 21629)
+@@ -101,7 +101,7 @@
+ 			long GetId(const BamgVertex * t) const;
+ 			long GetId(const Edge & t) const;
+ 			long GetId(const Edge * t) const;
+-			BamgVertex* NearestVertex(Icoor1 i,Icoor1 j) ;
++			BamgVertex* NearestVertex(int i,int j) ;
+ 			Triangle* TriangleFindFromCoord(const I2 & ,Icoor2 [3],Triangle *tstart=0) const;
+ 			void ReadMesh(int* index,double* x,double* y,int nods,int nels);
+ 			void ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts);
+Index: ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/BamgQuadtree.cpp	(revision 21629)
+@@ -6,8 +6,12 @@
+ #include "../datastructures/datastructures.h"
+ 
+ namespace bamg {
++
+ #define ABS(i) ((i)<0 ?-(i) :(i))
+-#define MAXDEPTH 30
++#define MAXDEPTH  30
++#define MAXISIZE  1073741824 //2^30
++#define MAXICOORD 1073741823 //2^30 - 1 = =111...111 (29 times one)
++
+ 	/*DOCUMENTATION What is a BamgQuadtree? {{{
+ 	 * A Quadtree is a very simple way to group vertices according
+ 	 * to their locations. A square that holds all the points of the mesh
+@@ -60,8 +64,6 @@
+ 	BamgQuadtree::BamgQuadtree(){/*{{{*/
+ 
+ 		/*Initialize fields*/
+-		this->MaxISize      = 1073741824; //2^30
+-		this->MaxICoord     = 1073741823; //2^30 - 1
+ 		this->NbQuadtreeBox = 0;
+ 		this->NbVertices    = 0;
+ 
+@@ -75,8 +77,6 @@
+ 	BamgQuadtree::BamgQuadtree(Mesh * t,long nbv){ /*{{{*/
+ 
+ 		/*Initialize fields*/
+-		this->MaxISize      = 1073741824; //2^30
+-		this->MaxICoord     = 1073741823; //2^30 - 1
+ 		this->NbQuadtreeBox = 0;
+ 		this->NbVertices    = 0;
+ 
+@@ -87,7 +87,7 @@
+ 		this->root=NewBamgQuadtreeBox();
+ 
+ 		/*Check Sizes*/
+-		_assert_(this->MaxISize>this->MaxICoord);
++		_assert_(MAXISIZE>MAXICOORD);
+ 
+ 		/*Add all vertices of the mesh*/
+ 		if(nbv==-1) nbv=t->nbv;
+@@ -113,7 +113,7 @@
+ 		long i=w.i.x, j=w.i.y;
+ 
+ 		/*Initialize level*/
+-		long level=MaxISize;
++		long level=MAXISIZE;
+ 
+ 		/*Get inital box (the largest)*/
+ 		pb = &root;
+@@ -235,21 +235,21 @@
+ 		/*if the tree is empty, return NULL pointer*/
+ 		if(!this->root->nbitems) return nearest_v; 
+ 
+-		/*Project coordinates (xi,yi) onto [0,MaxICoord-1] x [0,MaxICoord-1]*/
++		/*Project coordinates (xi,yi) onto [0,MAXICOORD-1] x [0,MAXICOORD-1]*/
+ 		int xi2 = xi;
+ 		int yi2 = yi;
+ 		if(xi<0)        xi2 = 0;
+-		if(xi>MaxISize) xi2 = MaxICoord;
++		if(xi>MAXISIZE) xi2 = MAXICOORD;
+ 		if(yi<0)        yi2 = 0;
+-		if(yi>MaxISize) yi2 = MaxICoord;
++		if(yi>MAXISIZE) yi2 = MAXICOORD;
+ 
+ 		/*Get inital box (the largest)*/
+ 		BamgQuadtreeBox* b = this->root;
+ 
+ 		/*Initialize level and sizes for largest box*/
+ 		int levelbin = (1L<<MAXDEPTH);// = 2^30
+-		int        h = this->MaxISize;
+-		int       hb = this->MaxISize;
++		int        h = MAXISIZE;
++		int       hb = MAXISIZE;
+ 		int       i0 = 0;
+ 		int       j0 = 0;
+ 
+@@ -438,7 +438,7 @@
+ 		int  ii[MAXDEPTH], jj[MAXDEPTH];
+ 		int l=0; // level
+ 		BamgQuadtreeBox* b;
+-		int hb =  MaxISize;
++		int hb =  MAXISIZE;
+ 		int i0=0,j0=0;
+ 
+ 		// BamgVertex *vn=0;
+Index: ../trunk-jpl/src/c/bamg/macros.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/macros.h	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/macros.h	(revision 21629)
+@@ -18,7 +18,6 @@
+ 	static const short PreviousEdge[3] = {2,0,1};
+ 	static const short NextVertex[3] = {1,2,0};
+ 	static const short PreviousVertex[3] = {2,0,1};
+-	const  Icoor1 MaxICoor   = 1073741823; // 2^30-1 =111...111 (29 times one)
+ }
+ 
+ #endif
+Index: ../trunk-jpl/src/c/bamg/Mesh.cpp
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Mesh.cpp	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/Mesh.cpp	(revision 21629)
+@@ -1574,7 +1574,8 @@
+ 		Gh.pmax +=  DD05;
+ 
+ 		//Build Gh.coefIcoor
+-		Gh.coefIcoor= (MaxICoor)/(Max(Gh.pmax.x-Gh.pmin.x,Gh.pmax.y-Gh.pmin.y));
++		int MaxICoord = 1073741823; //2^30 - 1 = =111...111 (29 times one)
++		Gh.coefIcoor= (MaxICoord)/(Max(Gh.pmax.x-Gh.pmin.x,Gh.pmax.y-Gh.pmin.y));
+ 		if (Gh.coefIcoor<=0){
+ 			delete [] colorV;
+ 			_error_("Gh.coefIcoor<=0 in infered Geometry (this should not happen)");
+@@ -1664,7 +1665,7 @@
+ 
+ 		//unset adj
+ 		for (i=0;i<nbt;i++){
+-			for ( j=0;j<3;j++){
++			for (j=0;j<3;j++){
+ 				triangles[i].SetAdj2(j,0,triangles[i].GetAllflag(j));
+ 			}
+ 		}
+@@ -2862,7 +2863,7 @@
+ 			vi.r=I2ToR2(vi.i);
+ 			double hx,hy;
+ 			vi.m.Box(hx,hy);
+-			Icoor1 hi=(Icoor1) (hx*coefIcoor),hj=(Icoor1) (hy*coefIcoor);
++			int hi=(int) (hx*coefIcoor),hj=(int) (hy*coefIcoor);
+ 			if(!quadtree->TooClose(&vi,seuil,hi,hj)){
+ 				// a good new point 
+ 				BamgVertex &vj = vertices[iv];
+@@ -3035,7 +3036,7 @@
+ 		return 2.0/coefIcoor;
+ 	}
+ 	/*}}}*/
+-	BamgVertex* Mesh::NearestVertex(Icoor1 i,Icoor1 j) {/*{{{*/
++	BamgVertex* Mesh::NearestVertex(int i,int j) {/*{{{*/
+ 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/NearestVertex)*/
+ 		return  quadtree->NearestVertex(i,j); 
+ 	} 
+@@ -3694,7 +3695,8 @@
+ 		pmax = pmax+DD; 
+ 
+ 		//Compute coefIcoor
+-		coefIcoor= (MaxICoor)/(Max(pmax.x-pmin.x,pmax.y-pmin.y));
++		int MaxICoord = 1073741823; //2^30 - 1 = =111...111 (29 times one)
++		coefIcoor= (MaxICoord)/(Max(pmax.x-pmin.x,pmax.y-pmin.y));
+ 		if (coefIcoor<=0){
+ 			_error_("coefIcoor should be positive, a problem in the geometry is likely");
+ 		}
+@@ -3924,7 +3926,7 @@
+ 	}
+ 	/*}}}*/
+ 	I2 Mesh::R2ToI2(const R2 & P) const {/*{{{*/
+-		return  I2( (Icoor1) (coefIcoor*(P.x-pmin.x)),(Icoor1) (coefIcoor*(P.y-pmin.y)) );
++		return  I2( (int) (coefIcoor*(P.x-pmin.x)),(int) (coefIcoor*(P.y-pmin.y)) );
+ 	}
+ 	/*}}}*/
+ 	R2 Mesh::I2ToR2(const I2 & P) const {/*{{{*/
+Index: ../trunk-jpl/src/c/bamg/Geometry.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/Geometry.h	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/Geometry.h	(revision 21629)
+@@ -30,7 +30,7 @@
+ 			GeomSubDomain *subdomains;
+ 			Curve         *curves;
+ 			R2             pmin,pmax;             // domain extrema coordinates
+-			double         coefIcoor;             // coef to integer Icoor1;
++			double         coefIcoor;             // coef to integer coordinates;
+ 			double         MaxCornerAngle;
+ 
+ 			//Constructor/Destructors
+Index: ../trunk-jpl/src/c/bamg/BamgQuadtree.h
+===================================================================
+--- ../trunk-jpl/src/c/bamg/BamgQuadtree.h	(revision 21628)
++++ ../trunk-jpl/src/c/bamg/BamgQuadtree.h	(revision 21629)
+@@ -36,8 +36,6 @@
+ 		public:
+ 
+ 			/*BamgQuadtree public Fields*/
+-			int              MaxICoord;       // maximum integer coordinate 2^MaxDepth -1
+-			int              MaxISize;        // maximum integer coordinate 2^MaxDepth
+ 			BamgQuadtreeBox *root;            // main box
+ 			long             NbQuadtreeBox;   // total number of boxes
+ 			long             NbVertices;      // number of points
Index: /issm/oecreview/Archive/21337-21723/ISSM-21629-21630.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21629-21630.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21629-21630.diff	(revision 21726)
@@ -0,0 +1,4 @@
+Index: ../trunk-jpl/test/Archives/Archive807.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21630-21631.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21630-21631.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21630-21631.diff	(revision 21726)
@@ -0,0 +1,27 @@
+Index: ../trunk-jpl/src/m/classes/calvingdev.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/calvingdev.m	(revision 21630)
++++ ../trunk-jpl/src/m/classes/calvingdev.m	(revision 21631)
+@@ -33,9 +33,6 @@
+ 		end % }}}
+ 		function self = setdefaultparameters(self) % {{{
+ 
+-			%Proportionality coefficient in Pi model
+-			%self.coeff=2e13;
+-
+ 			%Default sigma max
+ 			self.stress_threshold_groundedice = 1e6;
+ 			self.stress_threshold_floatingice = 150e3;
+@@ -58,9 +55,9 @@
+ 		function marshall(self,prefix,md,fid) % {{{
+ 			yts=md.constants.yts;
+ 			WriteData(fid,prefix,'name','md.calving.law','data',2,'format','Integer');
+-			WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_groundedice','format','DoubleMat','mattype',1);
+-			WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','DoubleMat','mattype',1);
+-			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
++			WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_groundedice','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','stress_threshold_floatingice','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1./yts);
+ 		end % }}}
+ 	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21631-21632.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21631-21632.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21631-21632.diff	(revision 21726)
@@ -0,0 +1,29 @@
+Index: ../trunk-jpl/test/NightlyRun/test1601.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21631)
++++ ../trunk-jpl/test/NightlyRun/test1601.py	(revision 21632)
+@@ -14,7 +14,7 @@
+ md=setmask(md,'all','')
+ md=parameterize(md,'../Par/SquareShelf.py')
+ md=setflowequation(md,'SSA','all')
+-md.stressbalance.spcvx[np.nonzero(md.mesh.y>0.)]=np.nan
++md.stressbalance.spcvx[np.where(md.mesh.y>0.)]=np.nan
+ md.initialization.vx[:]=0.
+ md.initialization.vy[:]=0.
+ md.initialization.vel=np.zeros((md.mesh.numberofvertices))
+@@ -22,7 +22,6 @@
+ md.cluster=generic('name',gethostname(),'np',2)
+ md=solve(md,'Stressbalance')
+ vel0=md.results.StressbalanceSolution.Vel
+-
+ theta=30.*np.pi/180.
+ x=md.mesh.x
+ y=md.mesh.y
+@@ -34,7 +33,6 @@
+ md.stressbalance.referential[:,3: ]=np.tile([0,0,1],(md.mesh.numberofvertices,1))
+ md=solve(md,'Stressbalance')
+ vel1=md.results.StressbalanceSolution.Vel
+-
+ #plotmodel(md,'data',vel0,'data',vel1,'data',vel1-vel0,'title','Cartesian CS','title','Rotated CS','title','difference')
+ print "Error between Cartesian and rotated CS: %g" % (np.max(np.abs(vel0-vel1))/(np.max(np.abs(vel0))+sys.float_info.epsilon))
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21632-21633.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21632-21633.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21632-21633.diff	(revision 21726)
@@ -0,0 +1,228 @@
+Index: ../trunk-jpl/test/Archives/Archive330.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: ../trunk-jpl/test/NightlyRun/test330.py~
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.py~	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test330.py~	(revision 21633)
+@@ -0,0 +1,59 @@
++#Test Name:ConfinedUnconfinedHydroDC
++#setup for Wang 2009 Fig 6b to check confined unconfined treatment
++import numpy as np
++import inspect
++from model import *
++from triangle import triangle
++from setmask import setmask
++from transient import transient
++from parameterize import parameterize
++from setflowequation import setflowequation
++from solve import solve
++from socket import gethostname
++from generic import generic
++
++md=triangle(model(),'../Exp/Strip.exp',10000.)
++md=setmask(md,'','')
++#reduced slab (20m long)
++md.mesh.x=md.mesh.x/5.0e3
++md.mesh.y=md.mesh.y/5.0e3
++md=parameterize(md,'../Par/IceCube.py')
++md.transient=transient.setallnullparameters(md.transient)
++md.transient.ishydrology=True
++md=setflowequation(md,'SSA','all')
++md.cluster=generic('name',gethostname(),'np',1)
++md.hydrology=hydrologydc()
++md.hydrology=md.hydrology.initialize(md)
++
++#Hydro Model Parameters
++md.hydrology.isefficientlayer=0
++md.hydrology.sedimentlimit_flag=0
++md.hydrology.rel_tol=1.0e-6
++md.hydrology.penalty_lock=0
++md.hydrology.max_iter=200
++md.hydrology.transfer_flag=0
++md.hydrology.sediment_porosity=0.1
++#Sediment
++md.hydrology.sediment_thickness=10.0
++md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*np.ones((md.mesh.numberofvertices))
++#init
++md.initialization.sediment_head=-5.0*np.ones((md.mesh.numberofvertices))
++#BC
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
++
++if len(inspect.stack()) > 2:
++	md.miscellaneous.name = os.path.basename(inspect.stack()[2][1]).split('.')[0]
++
++md.timestepping.time_step=5/md.constants.yts #5s steppin
++md.settings.output_frequency=2
++md.timestepping.final_time=300/md.constants.yts #500s run
++
++md=solve(md,'Transient')
++
++field_names=['SedimentWaterHead1',
++						 'SedimentWaterHead2']
++field_tolerances=[1e-13, 
++									1e-13]
++field_values=[md.results.TransientSolution[10].SedimentHead,
++							md.results.TransientSolution[30].SedimentHead]
+Index: ../trunk-jpl/test/NightlyRun/test330.m~
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m~	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test330.m~	(revision 21633)
+@@ -0,0 +1,44 @@
++%Test Name:UnConfinedHydroDC
++%setup for Wang 2009 Fig 6b to check confined unconfined treatment
++md=triangle(model(),'../Exp/Strip.exp',10000.);
++md=setmask(md,'','');
++%reduced slab (20m long)
++md.mesh.x=md.mesh.x/5.0e3;
++md.mesh.y=md.mesh.y/5.0e3;
++md=parameterize(md,'../Par/IceCube.py');
++md.transient=deactivateall(md.transient);
++md.transient.ishydrology=1;
++md=setflowequation(md,'SSA','all');
++md.cluster=generic('name',oshostname(),'np',1);
++md.hydrology=(hydrologydc);
++md.hydrology=initialize(md.hydrology,md);
++
++%Hydro Model Parameters
++md.hydrology.isefficientlayer=0;
++md.hydrology.sedimentlimit_flag=0;
++md.hydrology.rel_tol=1.0e-6;
++md.hydrology.penalty_lock=0;
++md.hydrology.max_iter=200;
++md.hydrology.transfer_flag=0;
++md.hydrology.sediment_porosity=0.1;
++%Sediment
++md.hydrology.sediment_thickness=10.0;
++md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1);
++%init
++md.initialization.sediment_head=-5.0*ones(md.mesh.numberofvertices,1);
++%BC
++md.hydrology.spcsediment_head=NaN*ones((md.mesh.numberofvertices));
++md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5;
++
++md.timestepping.time_step=5/md.constants.yts; %5s steppin
++md.settings.output_frequency=2;
++md.timestepping.final_time=300/md.constants.yts; %500s run
++
++md=solve(md,'Transient');
++
++field_names=['SedimentWaterHead1',
++						 'SedimentWaterHead2'];
++field_tolerances=[1e-13, 
++									1e-13];
++field_values=[md.results.TransientSolution[10].SedimentHead,
++							md.results.TransientSolution[30].SedimentHead];
+Index: ../trunk-jpl/test/NightlyRun/test330.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test330.m	(revision 21633)
+@@ -0,0 +1,45 @@
++%Test Name:UnConfinedHydroDC
++%setup for Wang 2009 Fig 6b to check confined unconfined treatment
++md=triangle(model(),'../Exp/Strip.exp',10000.);
++md=setmask(md,'','');
++%reduced slab (20m long)
++md.mesh.x=md.mesh.x/5.0e3;
++md.mesh.y=md.mesh.y/5.0e3;
++md=parameterize(md,'../Par/IceCube.py');
++md.transient=deactivateall(md.transient);
++md.transient.ishydrology=1;
++md=setflowequation(md,'SSA','all');
++md.cluster=generic('name',oshostname(),'np',1);
++md.hydrology=(hydrologydc);
++md.hydrology=initialize(md.hydrology,md);
++
++%Hydro Model Parameters
++md.hydrology.isefficientlayer=0;
++md.hydrology.sedimentlimit_flag=0;
++md.hydrology.rel_tol=1.0e-6;
++md.hydrology.penalty_lock=0;
++md.hydrology.max_iter=200;
++md.hydrology.transfer_flag=0;
++md.hydrology.sediment_porosity=0.1;
++%Sediment
++md.hydrology.sediment_thickness=10.0;
++md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1);
++%init
++md.initialization.sediment_head=-5.0*ones(md.mesh.numberofvertices,1);
++%BC
++md.hydrology.spcsediment_head=NaN*ones((md.mesh.numberofvertices));
++pos=find(md.mesh.x==0)
++md.hydrology.spcsediment_head(pos)=0.5;
++
++md.timestepping.time_step=5/md.constants.yts; %5s steppin
++md.settings.output_frequency=2;
++md.timestepping.final_time=300/md.constants.yts; %500s run
++
++md=solve(md,'Transient');
++
++field_names={'SedimentWaterHead1',...
++						 'SedimentWaterHead2'};
++field_tolerances={1e-13,...
++									1e-13};
++field_values={md.results.TransientSolution[10].SedimentHead,...
++							md.results.TransientSolution[30].SedimentHead};
+Index: ../trunk-jpl/test/NightlyRun/test330.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.py	(revision 0)
++++ ../trunk-jpl/test/NightlyRun/test330.py	(revision 21633)
+@@ -0,0 +1,56 @@
++#Test Name:UnConfinedHydroDC
++#setup for Wang 2009 Fig 6b to check confined unconfined treatment
++import numpy as np
++import inspect
++from model import *
++from triangle import triangle
++from setmask import setmask
++from transient import transient
++from parameterize import parameterize
++from setflowequation import setflowequation
++from solve import solve
++from socket import gethostname
++from generic import generic
++
++md=triangle(model(),'../Exp/Strip.exp',10000.)
++md=setmask(md,'','')
++#reduced slab (20m long)
++md.mesh.x=md.mesh.x/5.0e3
++md.mesh.y=md.mesh.y/5.0e3
++md=parameterize(md,'../Par/IceCube.py')
++md.transient=transient.setallnullparameters(md.transient)
++md.transient.ishydrology=True
++md=setflowequation(md,'SSA','all')
++md.cluster=generic('name',gethostname(),'np',1)
++md.hydrology=hydrologydc()
++md.hydrology=md.hydrology.initialize(md)
++
++#Hydro Model Parameters
++md.hydrology.isefficientlayer=0
++md.hydrology.sedimentlimit_flag=0
++md.hydrology.rel_tol=1.0e-6
++md.hydrology.penalty_lock=0
++md.hydrology.max_iter=200
++md.hydrology.transfer_flag=0
++md.hydrology.sediment_porosity=0.1
++#Sediment
++md.hydrology.sediment_thickness=10.0
++md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*np.ones((md.mesh.numberofvertices))
++#init
++md.initialization.sediment_head=-5.0*np.ones((md.mesh.numberofvertices))
++#BC
++md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
++md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
++
++md.timestepping.time_step=5/md.constants.yts #5s steppin
++md.settings.output_frequency=2
++md.timestepping.final_time=300/md.constants.yts #500s run
++
++md=solve(md,'Transient')
++
++field_names=['SedimentWaterHead1',
++						 'SedimentWaterHead2']
++field_tolerances=[1e-13, 
++									1e-13]
++field_values=[md.results.TransientSolution[10].SedimentHead,
++							md.results.TransientSolution[30].SedimentHead]
Index: /issm/oecreview/Archive/21337-21723/ISSM-21633-21634.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21633-21634.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21633-21634.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/test/Exp/Strip.exp
+===================================================================
+--- ../trunk-jpl/test/Exp/Strip.exp	(revision 0)
++++ ../trunk-jpl/test/Exp/Strip.exp	(revision 21634)
+@@ -0,0 +1,10 @@
++## Name:domainoutline
++## Icon:0
++# Points Count  Value
++5 1.
++# X pos Y pos
++0 0
++100000 0
++100000 20000
++0 20000
++0 0
+
+Property changes on: ../trunk-jpl/test/Exp/Strip.exp
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21634-21635.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21634-21635.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21634-21635.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/test/NightlyRun/test330.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m	(revision 21634)
++++ ../trunk-jpl/test/NightlyRun/test330.m	(revision 21635)
+@@ -5,7 +5,7 @@
+ %reduced slab (20m long)
+ md.mesh.x=md.mesh.x/5.0e3;
+ md.mesh.y=md.mesh.y/5.0e3;
+-md=parameterize(md,'../Par/IceCube.py');
++md=parameterize(md,'../Par/IceCube.par');
+ md.transient=deactivateall(md.transient);
+ md.transient.ishydrology=1;
+ md=setflowequation(md,'SSA','all');
+@@ -41,5 +41,5 @@
+ 						 'SedimentWaterHead2'};
+ field_tolerances={1e-13,...
+ 									1e-13};
+-field_values={md.results.TransientSolution[10].SedimentHead,...
+-							md.results.TransientSolution[30].SedimentHead};
++field_values={md.results.TransientSolution(10).SedimentHead,...
++							md.results.TransientSolution(30).SedimentHead};
Index: /issm/oecreview/Archive/21337-21723/ISSM-21635-21636.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21635-21636.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21635-21636.diff	(revision 21726)
@@ -0,0 +1,160 @@
+Index: ../trunk-jpl/test/NightlyRun/test330.py~
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.py~	(revision 21635)
++++ ../trunk-jpl/test/NightlyRun/test330.py~	(revision 21636)
+@@ -1,59 +0,0 @@
+-#Test Name:ConfinedUnconfinedHydroDC
+-#setup for Wang 2009 Fig 6b to check confined unconfined treatment
+-import numpy as np
+-import inspect
+-from model import *
+-from triangle import triangle
+-from setmask import setmask
+-from transient import transient
+-from parameterize import parameterize
+-from setflowequation import setflowequation
+-from solve import solve
+-from socket import gethostname
+-from generic import generic
+-
+-md=triangle(model(),'../Exp/Strip.exp',10000.)
+-md=setmask(md,'','')
+-#reduced slab (20m long)
+-md.mesh.x=md.mesh.x/5.0e3
+-md.mesh.y=md.mesh.y/5.0e3
+-md=parameterize(md,'../Par/IceCube.py')
+-md.transient=transient.setallnullparameters(md.transient)
+-md.transient.ishydrology=True
+-md=setflowequation(md,'SSA','all')
+-md.cluster=generic('name',gethostname(),'np',1)
+-md.hydrology=hydrologydc()
+-md.hydrology=md.hydrology.initialize(md)
+-
+-#Hydro Model Parameters
+-md.hydrology.isefficientlayer=0
+-md.hydrology.sedimentlimit_flag=0
+-md.hydrology.rel_tol=1.0e-6
+-md.hydrology.penalty_lock=0
+-md.hydrology.max_iter=200
+-md.hydrology.transfer_flag=0
+-md.hydrology.sediment_porosity=0.1
+-#Sediment
+-md.hydrology.sediment_thickness=10.0
+-md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*np.ones((md.mesh.numberofvertices))
+-#init
+-md.initialization.sediment_head=-5.0*np.ones((md.mesh.numberofvertices))
+-#BC
+-md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
+-
+-if len(inspect.stack()) > 2:
+-	md.miscellaneous.name = os.path.basename(inspect.stack()[2][1]).split('.')[0]
+-
+-md.timestepping.time_step=5/md.constants.yts #5s steppin
+-md.settings.output_frequency=2
+-md.timestepping.final_time=300/md.constants.yts #500s run
+-
+-md=solve(md,'Transient')
+-
+-field_names=['SedimentWaterHead1',
+-						 'SedimentWaterHead2']
+-field_tolerances=[1e-13, 
+-									1e-13]
+-field_values=[md.results.TransientSolution[10].SedimentHead,
+-							md.results.TransientSolution[30].SedimentHead]
+Index: ../trunk-jpl/test/NightlyRun/test330.m~
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m~	(revision 21635)
++++ ../trunk-jpl/test/NightlyRun/test330.m~	(revision 21636)
+@@ -1,44 +0,0 @@
+-%Test Name:UnConfinedHydroDC
+-%setup for Wang 2009 Fig 6b to check confined unconfined treatment
+-md=triangle(model(),'../Exp/Strip.exp',10000.);
+-md=setmask(md,'','');
+-%reduced slab (20m long)
+-md.mesh.x=md.mesh.x/5.0e3;
+-md.mesh.y=md.mesh.y/5.0e3;
+-md=parameterize(md,'../Par/IceCube.py');
+-md.transient=deactivateall(md.transient);
+-md.transient.ishydrology=1;
+-md=setflowequation(md,'SSA','all');
+-md.cluster=generic('name',oshostname(),'np',1);
+-md.hydrology=(hydrologydc);
+-md.hydrology=initialize(md.hydrology,md);
+-
+-%Hydro Model Parameters
+-md.hydrology.isefficientlayer=0;
+-md.hydrology.sedimentlimit_flag=0;
+-md.hydrology.rel_tol=1.0e-6;
+-md.hydrology.penalty_lock=0;
+-md.hydrology.max_iter=200;
+-md.hydrology.transfer_flag=0;
+-md.hydrology.sediment_porosity=0.1;
+-%Sediment
+-md.hydrology.sediment_thickness=10.0;
+-md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1);
+-%init
+-md.initialization.sediment_head=-5.0*ones(md.mesh.numberofvertices,1);
+-%BC
+-md.hydrology.spcsediment_head=NaN*ones((md.mesh.numberofvertices));
+-md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5;
+-
+-md.timestepping.time_step=5/md.constants.yts; %5s steppin
+-md.settings.output_frequency=2;
+-md.timestepping.final_time=300/md.constants.yts; %500s run
+-
+-md=solve(md,'Transient');
+-
+-field_names=['SedimentWaterHead1',
+-						 'SedimentWaterHead2'];
+-field_tolerances=[1e-13, 
+-									1e-13];
+-field_values=[md.results.TransientSolution[10].SedimentHead,
+-							md.results.TransientSolution[30].SedimentHead];
+Index: ../trunk-jpl/test/NightlyRun/test330.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m	(revision 21635)
++++ ../trunk-jpl/test/NightlyRun/test330.m	(revision 21636)
+@@ -1,5 +1,4 @@
+ %Test Name:UnConfinedHydroDC
+-%setup for Wang 2009 Fig 6b to check confined unconfined treatment
+ md=triangle(model(),'../Exp/Strip.exp',10000.);
+ md=setmask(md,'','');
+ %reduced slab (20m long)
+@@ -37,6 +36,8 @@
+ 
+ md=solve(md,'Transient');
+ 
++%fields to track, results can also be found in 
++%Wang 2009 Fig 6b (jouranl of Hydrology)
+ field_names={'SedimentWaterHead1',...
+ 						 'SedimentWaterHead2'};
+ field_tolerances={1e-13,...
+Index: ../trunk-jpl/test/NightlyRun/test330.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.py	(revision 21635)
++++ ../trunk-jpl/test/NightlyRun/test330.py	(revision 21636)
+@@ -1,5 +1,4 @@
+ #Test Name:UnConfinedHydroDC
+-#setup for Wang 2009 Fig 6b to check confined unconfined treatment
+ import numpy as np
+ import inspect
+ from model import *
+@@ -40,7 +39,7 @@
+ md.initialization.sediment_head=-5.0*np.ones((md.mesh.numberofvertices))
+ #BC
+ md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+-md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
++<md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
+ 
+ md.timestepping.time_step=5/md.constants.yts #5s steppin
+ md.settings.output_frequency=2
+@@ -48,6 +47,8 @@
+ 
+ md=solve(md,'Transient')
+ 
++#fields to track, results can also be found in 
++#Wang 2009 Fig 6b (jouranl of Hydrology)
+ field_names=['SedimentWaterHead1',
+ 						 'SedimentWaterHead2']
+ field_tolerances=[1e-13, 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21636-21637.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21636-21637.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21636-21637.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/test/NightlyRun/test330.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m	(revision 21636)
++++ ../trunk-jpl/test/NightlyRun/test330.m	(revision 21637)
+@@ -27,7 +27,7 @@
+ md.initialization.sediment_head=-5.0*ones(md.mesh.numberofvertices,1);
+ %BC
+ md.hydrology.spcsediment_head=NaN*ones((md.mesh.numberofvertices));
+-pos=find(md.mesh.x==0)
++pos=find(md.mesh.x==0);
+ md.hydrology.spcsediment_head(pos)=0.5;
+ 
+ md.timestepping.time_step=5/md.constants.yts; %5s steppin
+@@ -42,5 +42,5 @@
+ 						 'SedimentWaterHead2'};
+ field_tolerances={1e-13,...
+ 									1e-13};
+-field_values={md.results.TransientSolution(10).SedimentHead,...
+-							md.results.TransientSolution(30).SedimentHead};
++field_values={md.results.TransientSolution(11).SedimentHead,...
++							md.results.TransientSolution(31).SedimentHead};
Index: /issm/oecreview/Archive/21337-21723/ISSM-21637-21638.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21637-21638.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21637-21638.diff	(revision 21726)
@@ -0,0 +1,43 @@
+Index: ../trunk-jpl/test/NightlyRun/test333.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test333.py	(revision 21637)
++++ ../trunk-jpl/test/NightlyRun/test333.py	(revision 21638)
+@@ -8,15 +8,12 @@
+ from transient import *
+ from setflowequation import *
+ from solve import *
+-
+-
+ from generic import generic
+ 
+ md=triangle(model(),'../Exp/Square.exp',100000.)
+ md=setmask(md,'','')
+ md=parameterize(md,'../Par/IceCube.py')
+ 
+-
+ md.transient=transient.setallnullparameters(md.transient)
+ md.transient.ishydrology=True
+ md.transient.issmb=True
+Index: ../trunk-jpl/test/NightlyRun/test330.py
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.py	(revision 21637)
++++ ../trunk-jpl/test/NightlyRun/test330.py	(revision 21638)
+@@ -2,8 +2,8 @@
+ import numpy as np
+ import inspect
+ from model import *
++from setmask import *
+ from triangle import triangle
+-from setmask import setmask
+ from transient import transient
+ from parameterize import parameterize
+ from setflowequation import setflowequation
+@@ -39,7 +39,7 @@
+ md.initialization.sediment_head=-5.0*np.ones((md.mesh.numberofvertices))
+ #BC
+ md.hydrology.spcsediment_head=np.nan*np.ones((md.mesh.numberofvertices))
+-<md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
++md.hydrology.spcsediment_head[np.where(md.mesh.x==0)]=0.5
+ 
+ md.timestepping.time_step=5/md.constants.yts #5s steppin
+ md.settings.output_frequency=2
Index: /issm/oecreview/Archive/21337-21723/ISSM-21638-21639.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21638-21639.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21638-21639.diff	(revision 21726)
@@ -0,0 +1,18 @@
+Index: ../trunk-jpl/test/NightlyRun/test330.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m	(revision 21638)
++++ ../trunk-jpl/test/NightlyRun/test330.m	(revision 21639)
+@@ -22,11 +22,11 @@
+ md.hydrology.sediment_porosity=0.1;
+ %Sediment
+ md.hydrology.sediment_thickness=10.0;
+-md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1);
++md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1)
+ %init
+ md.initialization.sediment_head=-5.0*ones(md.mesh.numberofvertices,1);
+ %BC
+-md.hydrology.spcsediment_head=NaN*ones((md.mesh.numberofvertices));
++md.hydrology.spcsediment_head=NaN*ones(md.mesh.numberofvertices,1);
+ pos=find(md.mesh.x==0);
+ md.hydrology.spcsediment_head(pos)=0.5;
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21639-21640.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21639-21640.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21639-21640.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/test/NightlyRun/test330.m
+===================================================================
+--- ../trunk-jpl/test/NightlyRun/test330.m	(revision 21639)
++++ ../trunk-jpl/test/NightlyRun/test330.m	(revision 21640)
+@@ -22,7 +22,7 @@
+ md.hydrology.sediment_porosity=0.1;
+ %Sediment
+ md.hydrology.sediment_thickness=10.0;
+-md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1)
++md.hydrology.sediment_transmitivity=(1.0e-3*md.hydrology.sediment_thickness)*ones(md.mesh.numberofvertices,1);
+ %init
+ md.initialization.sediment_head=-5.0*ones(md.mesh.numberofvertices,1);
+ %BC
Index: /issm/oecreview/Archive/21337-21723/ISSM-21640-21641.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21640-21641.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21640-21641.diff	(revision 21726)
@@ -0,0 +1,473 @@
+Index: ../trunk-jpl/src/m/classes/clusters/generic.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic.js	(revision 21640)
++++ ../trunk-jpl/src/m/classes/clusters/generic.js	(revision 21641)
+@@ -95,6 +95,8 @@
+ 			var returnBuffer = new Uint8Array(buffer);
+ 			var returnBuffer_size = returnBuffer.byteLength;
+ 			try {
++				//Write result buffer to file for debugging. Filename and MIME type are optional.
++				//writetofile(returnBuffer, "resultBuffer", "application/octet-stream");
+ 				md.results = parseresultsfrombuffer(md,returnBuffer,returnBuffer_size);
+ 				$(callbackid).html(sprintf("%-16s", "RUN")).prop("disabled", false);
+ 				callbackfunction();
+Index: ../trunk-jpl/src/m/plot/webgl.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/webgl.js	(revision 21640)
++++ ../trunk-jpl/src/m/plot/webgl.js	(revision 21641)
+@@ -63,14 +63,16 @@
+ 	//TODO:Group variables in objects for organization and naming
+ 	canvas.gl = gl;
+ 	canvas.rootPath = options.getfieldvalue('rootpath','../../../js/');
++	canvas.brush = options.getfieldvalue('brush',{'enabled':'off','strength':0.075,'falloff':0.5});
+ 	canvas.cameraPosition = vec3.create();
+ 	canvas.cameraMatrix = mat4.create();
+ 	canvas.controlSensitivity = options.getfieldvalue('controlsensitivity',1);
++	canvas.dataArray = [];
+ 	canvas.dataMarkersAllowed = options.getfieldvalue('datamarkers','off') == 'on';
+ 	canvas.dataMarkersEnabled = true; //if data marker feature is on, user can toggle feature on and off
+ 	canvas.dataMarkerImage = options.getfieldvalue('datamarkers_image',canvas.rootPath+'textures/data_marker.svg');
+ 	canvas.dataMarkerSize = options.getfieldvalue('datamarkerssize',[32,32]);
+-	canvas.dataMarkerOptions = options.getfieldvalue('datamarkersoptions',{'enabled':'on','image':canvas.rootPath+'textures/data_marker.svg','size':[32,32],'format':['X: %.2e<br>Y: %.2e<br>Z: %.2e]<br>Value: %0.1f','x','y','z','value']});
++	canvas.dataMarkerOptions = options.getfieldvalue('datamarkersoptions',{'enabled':'on','image':canvas.rootPath+'textures/data_marker.svg','size':[32,32],'format':['X: %.2e<br>Y: %.2e<br>Z: %.2e]<br>Value: %0.1f','x','y','z','value'],'animated':false});
+ 	canvas.inverseCameraMatrix = mat4.create();
+ 	canvas.id = options.getfieldvalue('canvasid','.sim-canvas');
+ 	canvas.movieFrame = 0;
+@@ -153,12 +155,12 @@
+ 	return {
+ 		alpha:1.0,
+ 		buffers:[],
+-		cullFace:gl.FRONT,
++		cullFace:gl.BACK,
+ 		disableDepthTest:false, 
+ 		drawMode:gl.TRIANGLES,
+ 		drawOrder:0,
+ 		enabled:true,
+-		enableCullFace:false,
++		enableCullFace:true,
+ 		hideOcean:false,
+ 		lineWidth:1.0,
+ 		maskEnabled:false,
+@@ -276,7 +278,12 @@
+ 		if (!TypedArray.prototype.slice) { TypedArray.prototype.slice = Array.prototype.slice; }
+ 	}
+ } //}}}
+-function raycast(canvas, origin, ray) { //{{{
++function raycast(canvas, x, y) { //{{{
++	var inverseMVPMatrix = mat4.invert(mat4.create(), mat4.multiply(mat4.create(), canvas.cameraMatrix, canvas.unitNode.modelMatrix));
++	var origin = origin || vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 0], inverseMVPMatrix);
++	var far = far || vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 1.0], inverseMVPMatrix);
++	var ray = vec3.subtract(vec3.create(), far, origin);
++
+ 	var mesh = canvas.unitNode.mesh;
+ 	if (!mesh || mesh.ready == false) { return; }
+ 	if (!mesh.octree) { mesh.octree = new GL.Octree(mesh); }
+@@ -297,46 +304,72 @@
+ 	//Sets up a marker on a canvas that will track a point on the mesh. Can be dismissed by closing the display or clicking the marker.
+ 	ev.preventDefault();
+ 	if (!(canvas.dataMarkersAllowed && canvas.dataMarkersEnabled)) { return; }
+-	updateMarker(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY, true);
++	initializeMarker(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY, true);
++	brushModify(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY);
+ } //}}}
+-function updateMarker(canvas, x, y, reset, origin, far) { //{{{
+-	//Can be called by onTap to create/reuse a marker, or by the marker's update function. Origin and far are optional and only used by the update function for recreating the raycast.
+-	if (!canvas.unitNode) { return; }
++function brushModify(canvas, x, y) { //{{{
++	//This function takes in the canvas and x/y coordinates, performing a raycast against the mesh, and modifies the mesh using a the canvas.brush.strength and canvas.brush.falloff properties.
++	//Currently the brush extends to the raycasted element and its immediate neighbors.
++	//TODO: Allow variable brush size/additional neighbors. Allow the function to work on multiple models (currently hardcoded to md model).
++	if (!canvas.unitNode || canvas.brush.enabled != 'on') { return; }
+ 	
+-	var inverseMVPMatrix = mat4.invert(mat4.create(), mat4.multiply(mat4.create(), canvas.cameraMatrix, canvas.unitNode.modelMatrix));
+-	var origin = origin || vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 0], inverseMVPMatrix);
+-	var far = far || vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 1.0], inverseMVPMatrix);
+-	var ray = vec3.subtract(vec3.create(), far, origin);
+-	var hit = raycast(canvas, origin, ray);
+-	
++	var hit = raycast(canvas, x, y);
++
+ 	if (hit) {
+-		var coords = canvas.unitNode.mesh.vertexBuffers.coords.data;
+-		var latitude = md.mesh.lat;
+-		var longitude = md.mesh.long;
+-		var thickness;
+-		var velocity;
+-		if (md.results[0]) {
+-			thickness = md.results[canvas.movieFrame].Thickness;
+-			velocity = md.results[canvas.movieFrame].Vel;
++		var bufferVertices = canvas.unitNode.mesh.getBuffer("vertices");
++		var vertices = bufferVertices.data;
++		var bufferCoords = canvas.unitNode.mesh.getBuffer("coords");
++		var coords = bufferCoords.data;
++
++		//Query nearby elements and store indicies of affected vertices using pregenerated vertexconnectivity list (from NodeConnectivity)
++		var baseIndices = new Set(hit.indices);
++		var connectedIndices = new Set(hit.indices);
++		var connectedElement;
++		var indices;
++		var lengthIndex = md.mesh.vertexconnectivity[0].length - 1;
++		var length;
++		for (var i = 0; i < 3; i++) {
++			length = md.mesh.vertexconnectivity[hit.indices[i]][lengthIndex];
++			for (var j = 0; j < length; j++) {
++				//Shift elements down by one (matlab 1-based index to 0-based index)
++				connectedElement = md.mesh.vertexconnectivity[hit.indices[i]][j] - 1;
++				indices = md.mesh.elements[connectedElement];
++				connectedIndices.add(indices[0] - 1);
++				connectedIndices.add(indices[1] - 1);
++				connectedIndices.add(indices[2] - 1);
++			}
+ 		}
+-		else {
+-			thickness = md.geometry.thickness;
+-			velocity = md.initialization.vel;
++
++		//Apply modifications to included vertices in mesh using brush strength and falloff.
++		var strength;
++		for (var index of connectedIndices) {
++			if (!baseIndices.has(index)) {
++				strength = canvas.brush.strength * canvas.brush.falloff;
++			}
++			else {
++				strength = canvas.brush.strength;
++			}
++			vertices[index*3+2] += strength * 100;
++			md.geometry.surface[index] += strength;	
++			md.geometry.thickness[index] += strength;
++			coords[index*2+1] += strength;
++			canvas.unitData[index] += strength;
+ 		}
+ 		
+-		var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1],coords[hit.indices[1]*2], coords[hit.indices[1]*2+1],coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
+-		var hitLatitude = [latitude[hit.indices[0]], latitude[hit.indices[1]], latitude[hit.indices[2]]];
+-		var hitLongitude = [longitude[hit.indices[0]], longitude[hit.indices[1]], longitude[hit.indices[2]]];
+-		var hitThickness = [thickness[hit.indices[0]], thickness[hit.indices[1]], thickness[hit.indices[2]]];
+-		var hitVelocity = [velocity[hit.indices[0]], velocity[hit.indices[1]], velocity[hit.indices[2]]];
+-		var u = hitCoords[0] * hit.uvw[0] + hitCoords[2] * hit.uvw[1] + hitCoords[4] * hit.uvw[2];
+-		var v = hitCoords[1] * hit.uvw[0] + hitCoords[3] * hit.uvw[1] + hitCoords[5] * hit.uvw[2];
+-		var value = canvas.unitNode.caxis[0] * (1.0 - v) + canvas.unitNode.caxis[1] * v;
+-		var valueLatitude = Math.abs(hitLatitude[0] * hit.uvw[0] + hitLatitude[1] * hit.uvw[1] + hitLatitude[2] * hit.uvw[2]);
+-		var valueLongitude = Math.abs(hitLongitude[0] * hit.uvw[0] + hitLongitude[1] * hit.uvw[1] + hitLongitude[2] * hit.uvw[2]);
+-		var valueThickness = hitThickness[0] * hit.uvw[0] + hitThickness[1] * hit.uvw[1] + hitThickness[2] * hit.uvw[2];
+-		var valueVelocity = hitVelocity[0] * hit.uvw[0] + hitVelocity[1] * hit.uvw[1] + hitVelocity[2] * hit.uvw[2];
+-		
++		//Update mesh on GPU
++		bufferVertices.upload(canvas.gl.DYNAMIC_DRAW);
++		bufferCoords.upload(canvas.gl.DYNAMIC_DRAW);
++		canvas.unitNode.mesh.octree = new GL.Octree(canvas.unitNode.mesh);	
++	}
++}
++function initializeMarker(canvas, x, y, reset, origin, far) { //{{{
++	//Can be called by onTap to create/reuse a marker, or by the marker's update function. Origin and far are optional and only used by the update function for recreating the raycast.
++	if (!canvas.unitNode) { return; }
++
++	var hit = raycast(canvas, x, y);
++
++	if (hit) {
++		canvas.lastHit = hit;
+ 		var dataMarkerSize = canvas.dataMarkerSize;
+ 		if (!canvas.marker) {
+ 			$('#' + canvas.id).after( '<img src=' + canvas.dataMarkerImage + ' alt="data marker" width="' + dataMarkerSize[0] + '" height="' + dataMarkerSize[1] + '" id="sim-data-marker-' + canvas.id + '" class="sim-data-marker noselect tooltip" data-tooltip-content="#tooltip-content-data-marker-' + canvas.id + '"></img><span id="tooltip-content-data-marker-' + canvas.id + '"></span>');
+@@ -348,11 +381,14 @@
+ 				'height': dataMarkerSize[1] + 'px',
+ 				'pointer-events': 'all',
+ 				'cursor': 'pointer',
+-				'display': 'none'		
++				'display': 'none'
+ 			});
+ 			$('#sim-data-marker-' + canvas.id).tooltipster({
++				contentAsHTML: 'true',
++				animation: 'grow',
+ 				maxWidth: 320,
+-				zIndex: 2200,
++				maxHeight: 320,
++				zIndex: 1000,
+ 				trigger: 'custom',
+ 				triggerOpen: {
+ 					mouseenter: false,
+@@ -363,7 +399,7 @@
+ 					mouseleave: false,
+ 					originClick: true,
+ 					touchleave: false
+-				}
++				},
+ 			});
+ 			canvas.marker = $('#sim-data-marker-' + canvas.id);
+ 			canvas.marker.on('click touch', function () {
+@@ -373,51 +409,114 @@
+ 			canvas.marker.fadeIn(175);
+ 		}
+ 		
+-		
+ 		canvas.marker.hit = hit;
+-		canvas.marker.update = function() {
+-			if (!canvas.unitNode) { return; }
+-			var screenPoint = vec3.transformMat4(vec3.create(), canvas.marker.hit.pos, canvas.cameraMatrix);
+-			var x = screenPoint[0] * (canvas.width / 2) + canvas.width / 2;
+-			var y = -screenPoint[1] * (canvas.height / 2) + canvas.height / 2;
+-			updateMarker(canvas, Math.round(x), Math.round(y), false, origin, far);
+-			canvas.marker.css({
+-				'left': (Math.round(x) - dataMarkerSize[0] / 2) + 'px', 
+-				'top': (Math.round(y) - dataMarkerSize[1]) + 'px'
+-			});
+-			if (canvas.dataMarkerDisplay.tooltipster('status').state != 'closed') { canvas.dataMarkerDisplay.tooltipster('reposition'); }
+-		};
+-		
++
+ 		if (!canvas.dataMarkerDisplay) {
+ 			canvas.dataMarkerDisplay = $('#sim-data-marker-' + canvas.id);
+ 			canvas.dataMarkerDisplay.tooltipster('open');
+ 		}
+-		if (canvas.dataMarkerOptions) {
+-			var format = [canvas.dataMarkerOptions.format[0]];	
+-			for (var i = 1; i < canvas.dataMarkerOptions.format.length; i++) {
+-				var formatString = canvas.dataMarkerOptions.format[i];
+-				if (formatString.toLowerCase() == 'x') { format.push(hit.modelPos[0]); }
+-				else if (formatString.toLowerCase() == 'y') { format.push(hit.modelPos[1]); }
+-				else if (formatString.toLowerCase() == 'z') { format.push(hit.modelPos[2]); }
+-				else if (formatString.toLowerCase() == 'lat') { format.push(valueLatitude); }
+-				else if (formatString.toLowerCase() == 'long') { format.push(valueLongitude); }
+-				else if (formatString.toLowerCase() == 'thickness') { format.push(valueThickness); }
+-				else if (formatString.toLowerCase() == 'vel') { format.push(valueVelocity); }
+-				else if (formatString.toLowerCase() == 'value') { format.push(value); }
+-				else {format.push(formatString); }
+-			}
+-			
+-			$('#tooltip-content-data-marker-' + canvas.id).html(sprintf.apply(null, format));
+-			$('#tooltip-content-data-marker-' + canvas.id).css({
+-				'font': canvas.dataMarkerOptions.font
+-			});
+-		}
+ 
++		updatePlot(true);
++		repositionMarker();
+ 		if (reset) { modifyDataMarkersEnabled(true,canvas); }
+ 	}
+ } //}}}
++function updatePlot(reset) {
++	if (!canvas.lastHit) { return; }
++	var hit = canvas.lastHit;
++	var coords = canvas.unitNode.mesh.vertexBuffers.coords.data;
++	var latitude = md.mesh.lat;
++	var longitude = md.mesh.long;
++	var thickness;
++	var velocity;
++	if (md.results[0]) {
++		thickness = md.results[canvas.movieFrame].Thickness;
++		velocity = md.results[canvas.movieFrame].Vel;
++	}
++	else {
++		thickness = md.geometry.thickness;
++		velocity = md.initialization.vel;
++	}
++	
++	var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1],coords[hit.indices[1]*2], coords[hit.indices[1]*2+1],coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
++	var hitLatitude = [latitude[hit.indices[0]], latitude[hit.indices[1]], latitude[hit.indices[2]]];
++	var hitLongitude = [longitude[hit.indices[0]], longitude[hit.indices[1]], longitude[hit.indices[2]]];
++	var hitThickness = [thickness[hit.indices[0]], thickness[hit.indices[1]], thickness[hit.indices[2]]];
++	var hitVelocity = [velocity[hit.indices[0]], velocity[hit.indices[1]], velocity[hit.indices[2]]];
++	var u = hitCoords[0] * hit.uvw[0] + hitCoords[2] * hit.uvw[1] + hitCoords[4] * hit.uvw[2];
++	var v = hitCoords[1] * hit.uvw[0] + hitCoords[3] * hit.uvw[1] + hitCoords[5] * hit.uvw[2];
++	var value = canvas.unitNode.caxis[0] * (1.0 - v) + canvas.unitNode.caxis[1] * v;
++	var valueLatitude = Math.abs(hitLatitude[0] * hit.uvw[0] + hitLatitude[1] * hit.uvw[1] + hitLatitude[2] * hit.uvw[2]);
++	var valueLongitude = Math.abs(hitLongitude[0] * hit.uvw[0] + hitLongitude[1] * hit.uvw[1] + hitLongitude[2] * hit.uvw[2]);
++	var valueThickness = hitThickness[0] * hit.uvw[0] + hitThickness[1] * hit.uvw[1] + hitThickness[2] * hit.uvw[2];
++	var valueVelocity = hitVelocity[0] * hit.uvw[0] + hitVelocity[1] * hit.uvw[1] + hitVelocity[2] * hit.uvw[2];	
++	if (canvas.dataMarkerOptions) {
++		var format = [canvas.dataMarkerOptions.format[0]];	
++		for (var i = 1; i < canvas.dataMarkerOptions.format.length; i++) {
++			var formatString = canvas.dataMarkerOptions.format[i];
++			if (formatString.toLowerCase() == 'x') { format.push(hit.modelPos[0]); }
++			else if (formatString.toLowerCase() == 'y') { format.push(hit.modelPos[1]); }
++			else if (formatString.toLowerCase() == 'z') { format.push(hit.modelPos[2]); }
++			else if (formatString.toLowerCase() == 'lat') { format.push(valueLatitude); }
++			else if (formatString.toLowerCase() == 'long') { format.push(valueLongitude); }
++			else if (formatString.toLowerCase() == 'thickness') { format.push(valueThickness); }
++			else if (formatString.toLowerCase() == 'vel') { format.push(valueVelocity); }
++			else if (formatString.toLowerCase() == 'value') { format.push(value); }
++			else {format.push(formatString); }
++		}
++		if (canvas.dataMarkerOptions.animated) {
++			var isEmpty = (canvas.dataArray.length == 0);
++			var lastUpdatedIndex = (canvas.dataArray.length-1);
++			var newMovieFrame = (!isEmpty && canvas.dataArray[lastUpdatedIndex][0] != canvas.movieFrame);
++			if (reset) {
++				canvas.dataArray = [];
++				newMovieFrame = true;
++				for (var currentFrame = 0; currentFrame < (canvas.unitNode.movieLength); currentFrame++) {
++					coords = canvas.unitNode.texcoords[currentFrame];
++					var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1],coords[hit.indices[1]*2], coords[hit.indices[1]*2+1],coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
++					var u = hitCoords[0] * hit.uvw[0] + hitCoords[2] * hit.uvw[1] + hitCoords[4] * hit.uvw[2];
++					var v = hitCoords[1] * hit.uvw[0] + hitCoords[3] * hit.uvw[1] + hitCoords[5] * hit.uvw[2];
++					var value = canvas.unitNode.caxis[0] * (1.0 - v) + canvas.unitNode.caxis[1] * v;
++					canvas.dataArray.push([currentFrame, value]);
++				}
++			}
++			else {
++				if (isEmpty || newMovieFrame) {
++					canvas.dataArray.push([canvas.movieFrame,value]);
++				}
++			}
++			if (isEmpty || newMovieFrame) {
++				$('#tooltip-content-data-marker-' + canvas.id).html(sprintf.apply(null, format));
++				$('#tooltip-content-data-marker-' + canvas.id).css({
++					'font': canvas.dataMarkerOptions.font
++				});				
++				var dataLabels = {'latitude':valueLatitude,'longitude':valueLongitude,'thickness':valueThickness,'velocity':valueVelocity,'value':value};
++				var dataDisplay = canvas.dataArray.slice(0,canvas.movieFrame+1);					
++				plot('id','#sim-plot','type','bar','width',400,'height',300,'nticks',25,'xlabel','Time','ylabel',
++					'Value','title','Changes Over Time','datalabels',canvas.dataMarkerOptions.labels,'labelvalues',dataLabels,'data',dataDisplay);
++			}
++		}
++	}
++}
++
++function repositionMarker() {
++	if (!canvas.unitNode) { return; }
++	if (!canvas.dataMarkerDisplay) { return; }
++	var dataMarkerSize = canvas.dataMarkerSize;
++	var screenPoint = vec3.transformMat4(vec3.create(), canvas.marker.hit.pos, canvas.cameraMatrix);
++	var x = screenPoint[0] * (canvas.width / 2) + canvas.width / 2;
++	var y = -screenPoint[1] * (canvas.height / 2) + canvas.height / 2;
++	canvas.marker.css({
++		'left': (Math.round(x) - dataMarkerSize[0] / 2) + 'px', 
++		'top': (Math.round(y) - dataMarkerSize[1]) + 'px'
++	});
++	if (canvas.dataMarkerDisplay.tooltipster('status').state != 'closed') { canvas.dataMarkerDisplay.tooltipster('reposition'); }
++}
++
+ function onPan(ev,canvas,displaylog) { //{{{
+ 	ev.preventDefault();
++	repositionMarker();
++	brushModify(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY);
+ 	if (ev.type == 'panstart') {
+ 		canvas.lastDeltaX = 0;
+ 		canvas.lastDeltaY = 0;
+@@ -455,11 +554,13 @@
+ } //}}}
+ function onPinch(ev,canvas,displaylog) { //{{{
+ 	ev.preventDefault();
++	repositionMarker();
+ 	if (ev.type == 'pinchstart') { canvas.zoomLast = canvas.zoom; }
+ 	else { modifyZoom(ev.scale * canvas.zoomLast, canvas, displaylog); }
+ } //}}}
+ function onZoom(ev,canvas,displaylog) { //{{{
+ 	ev.preventDefault();
++	repositionMarker();
+ 	var delta = clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) * canvas.controlSensitivity * canvas.zoom / 20;
+ 	modifyZoom(canvas.zoom + delta, canvas, displaylog);
+ } //}}}
+@@ -653,7 +754,7 @@
+ 	
+ 	updateCameraMatrix(canvas);
+ 	
+-	if (canvas.marker) { canvas.marker.update(); }
++	//if (canvas.marker) { canvas.marker.update(); }
+ 	
+ 	var drawPassNumber = 3;
+ 	for (var i = drawPassNumber - 1; i >= 0; i--) {
+Index: ../trunk-jpl/src/m/plot/plotdoc.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plotdoc.js	(revision 21640)
++++ ../trunk-jpl/src/m/plot/plotdoc.js	(revision 21641)
+@@ -17,6 +17,7 @@
+ 	console.log('                  - "quiver": quiver plot');
+ 	console.log('       "2d": renders orthographic camera with view set to [0, 90] (default "off", ex: "on", "off")');
+ 	console.log('       "backgroundcolor": plot background color. (default "lightcyan", ex: "green","blue")');
++	console.log('       "brush": specify brush options (default {"strength":0.075,"falloff":0.5})');
+ 	console.log('       "caxis": modify  colorbar range. (array of type [a, b] where b>=a)');
+ 	console.log('       "colorbar": add colorbar (default "off", ex: "on", "off")');
+ 	console.log('       "colorbarid": colorbar canvas id (string)');
+@@ -46,6 +47,7 @@
+ 	console.log('       "outermask*": Special mask that colors all parts of a overlay mesh below a height a certain color. provide outermaskheight and outermaskcolor options also (default "off", ex: "on", "off")');
+ 	console.log('       "overlay": overlay a radar amplitude image behind (default "off", ex: "on", "off")');
+ 	console.log('       "overlay_image": path to overlay image (default "", ex: "./images/radar.png")');
++	console.log('       "quiver": add quiver plot overlay for velocities. (default "off", ex: "on", "off")');
+ 	console.log('       "scaling": scaling factor used by quiver plots. Default is 0.4');
+ 	console.log('       "alpha": transparency coefficient 0.0 to 1.0, the lower, the more transparent. (default 1.0, ex: 0.5, 0.25)');
+ 	console.log('       "azlim": azimuth view limits (ex: [0, 180])');
+Index: ../trunk-jpl/src/m/plot/applyoptions.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/applyoptions.js	(revision 21640)
++++ ../trunk-jpl/src/m/plot/applyoptions.js	(revision 21641)
+@@ -355,6 +355,7 @@
+ 			node.shaderName = "SkyFromSpace";
+ 			node.shader = gl.shaders[node.shaderName];
+ 			node.drawOrder = 1;
++			node.cullFace = gl.FRONT;
+ 			node.enableCullFace = true;
+ 			node.mesh = GL.Mesh.icosahedron({size:6371000*atmosphereScale,subdivisions:6});
+ 			node.useIndexBuffer = false;
+@@ -371,8 +372,9 @@
+ 			node.shaderName = "Textured";
+ 			node.shader = gl.shaders[node.shaderName];
+ 			node.drawOrder = 2;
++			node.cullFace = gl.FRONT;
+ 			node.enableCullFace = true;
+-			node.mesh = GL.Mesh.sphere({size:6371000*10});
++			node.mesh = GL.Mesh.sphere({size:6371000*20});
+ 			node.texture = initTexture(gl,canvas.rootPath+'textures/TychoSkymapII_t4_2k.jpg');
+ 			node.useIndexBuffer = false;
+ 			node.rotation = [0, 0, 0];
+Index: ../trunk-jpl/src/m/plot/plot_unit.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.js	(revision 21640)
++++ ../trunk-jpl/src/m/plot/plot_unit.js	(revision 21641)
+@@ -1,4 +1,4 @@
+-function plot_unit(md,data,datatype,options,canvas) { //{{{
++function plot_unit(md,data,datatype,options,canvas) {
+ 	//PLOT_UNIT - unit plot, display data
+ 	//
+ 	//   Usage:
+@@ -62,6 +62,7 @@
+ 	var node = Node(gl);
+ 	canvas.nodes[canvas.nodes.length] = node;
+ 	canvas.unitNode = node;
++	canvas.unitData = data;
+ 	node.name = "unit";
+ 	node.shaderName = "Textured";
+ 	node.shader = gl.shaders[node.shaderName];
+@@ -218,14 +219,14 @@
+ 					indices[iindex++] = element[1];
+ 					indices[iindex++] = element[2];
+ 				}
+-				var frame =
++			
+ 				//Initialize movie loop
+ 				node.movieLoop = canvas.movieOptions.loop;
+ 				node.movieInterval = 1000 / canvas.movieOptions.fps;
+ 				node.movieTimestamps = timestamps;
+ 				node.movieLength = timestamps.length;
+ 				node.movieFrame = 0;
+-
++				canvas.dataArray = [];
+ 				var quiverVelFrames = {};
+ 				for(var i=0; i < md.results.length; i++){
+ 					quiverVelFrames[Math.floor(md.results[i].time)] = md.results[i];
+@@ -272,12 +273,17 @@
+ 						buffer.data = texcoords[node.movieFrame];
+ 						buffer.upload(canvas.gl.DYNAMIC_DRAW);
+ 						node.mesh.octree = new GL.Octree(node.mesh);
+-					
+-						if(options.getfieldvalue('quiver') == 'data'){
++						node.texcoords = texcoords;
++						if(options.getfieldvalue('quiver') == 'on'){
+ 							plot_quiver(md,options,canvas, {vel:quiverVelFrames[node.movieFrame].Vel, vx:quiverVelFrames[node.movieFrame].Vx, vy:quiverVelFrames[node.movieFrame].Vy});
+ 
+ 						}
+ 						canvas.movieFrame = node.movieFrame;
++
++						if (canvas.moviePlay || canvas.lastMovieFrame != canvas.movieFrame) {
++							updatePlot(true);
++						}
++
+ 					}, node.movieInterval);
+ 				if (canvas.progressBar) {
+ 					canvas.movieFrame = 0;
+@@ -294,4 +300,4 @@
+ 		default:
+ 			throw Error(sprintf("%s%i%s\n",'case ',datatype,' not supported'));
+ 	}
+-} //}}}
++}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21641-21642.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21641-21642.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21641-21642.diff	(revision 21726)
@@ -0,0 +1,74 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21641)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21642)
+@@ -20,27 +20,28 @@
+ 	netcdf.putAtt(ncid,netcdf.getConstant('NC_GLOBAL'),'Date',['Created ' datestr(now)]);
+ 	
+ 	%gather geometry and timestepping as dimensions
+-	Duration=md.timestepping.final_time-md.timestepping.start_time;
+-	if Duration>0 && md.timestepping.time_step*md.settings.output_frequency>0,
+-		StepNum=Duration/(md.timestepping.time_step*md.settings.output_frequency);
++	resfields=fieldnames(md.results);
++	Duration=size(eval(['md.results. ' resfields{1} ]),2);
++	if Duration>0,
++		StepNum=Duration;
+ 	else
+ 		StepNum=1;
+   end							
++
++   dimlist=[40,2,md.mesh.numberofelements,md.mesh.numberofvertices,size(md.mesh.elements,2)];
+  
+ 	%define netcdf dimensions
+-	DimSize(1).index=netcdf.defDim(ncid,'Dimension1',md.mesh.numberofelements);
+-	DimSize(2).index=netcdf.defDim(ncid,'Dimension2',md.mesh.numberofvertices);
+-	DimSize(3).index=netcdf.defDim(ncid,'Dimension3',size(md.mesh.elements,2));
+-	DimSize(4).index=netcdf.defDim(ncid,'Dimension4',StepNum);
+-	DimSize(5).index=netcdf.defDim(ncid,'Dimension5',40);
+-	DimSize(6).index=netcdf.defDim(ncid,'Dimension6',2);
+-	
+-	for i=1:length(DimSize),
+-		[DimSize(i).name,DimSize(i).value]=netcdf.inqDim(ncid,DimSize(i).index);
+-		DimValue(i)=DimSize(i).value;% putting vallues in an array for
+-                                 % further use
+-  end
+- 
++	DimSize(1).index=netcdf.defDim(ncid,'Dimension1',StepNum);
++	[DimSize(1).name,DimSize(1).value]=netcdf.inqDim(ncid,DimSize(1).index);
++	DimValue(1)=DimSize(1).value;
++	for i=1:5
++		if sum(dimlist(i) == DimValue) == 0
++			DimSize(i+1).index=netcdf.defDim(ncid,['Dimension' num2str(i+1)],dimlist(i));
++			[DimSize(i+1).name,DimSize(i+1).value]=netcdf.inqDim(ncid,DimSize(i+1).index);
++			DimValue(i+1)=DimSize(i+1).value;
++		end
++	end
++
+ 	%Needs a first turn arround for var def
+  
+ 	%get all model classes and create respective groups
+@@ -230,6 +231,7 @@
+ 				DimValue(dimindex)=currentdim;
+ 			else
+ 				dimindex=find(dimexist);
++				DimValue
+ 				if DimSize(dimindex).value~=currentdim,
+ 					error('Indexation problem with the dimension structure')
+ 		    end
+@@ -238,10 +240,14 @@
+     end
+   end
+ 	if istime,
+-		dims=[dims DimSize(4).index];%adding the time dimension if necessary
++		dims=[dims DimSize(1).index];%adding the time dimension if necessary
+   end
+ 	%if we have a cell variable we need to add a stringlength dimension 
+ 	if isa(Var,'cell') || isa(Var,'struct'),
+-		dims=[DimSize(5).index dims]
++		if DimValue(2)~=40
++			dims=[DimSize(1).index dims];
++		else
++			dims=[DimSize(2).index dims];
++		end
+   end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21642-21643.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21642-21643.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21642-21643.diff	(revision 21726)
@@ -0,0 +1,19 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21642)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21643)
+@@ -134,12 +134,12 @@
+ 			netcdf.putVar(groupID,varid,0,9,'emptycell')
+ 		else
+ 			for i=1:length(Var),
+-				startpoint=zeros(size(Var));
+-				startpoint(:,i)=i-1;
+ 				if length(Var)>1,
+ 					endpoint=[min(length(Var{i}),40) 1];
++					startpoint=[0 1];
+ 				else
+ 					endpoint=min(length(Var{i}),40);
++					startpoint=0;
+ 		    end
+ 				if length(Var{i})>40,
+ 					netcdf.putVar(groupID,varid,startpoint,endpoint,Var{i}(1:40))
Index: /issm/oecreview/Archive/21337-21723/ISSM-21643-21644.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21643-21644.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21643-21644.diff	(revision 21726)
@@ -0,0 +1,160 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21643)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21644)
+@@ -1,5 +1,5 @@
+ from netCDF4 import Dataset, stringtochar
+-import numpy as  np
++import numpy as np
+ import time
+ import collections
+ from mesh2d import *
+@@ -22,7 +22,7 @@
+ 	NCData.description = 'Results for run' + md.miscellaneous.name
+ 	NCData.history = 'Created ' + time.ctime(time.time())
+ 
+-	#gather geometry and timestepping as dimensions
++	#define netCDF dimensions
+ 	try:
+ 		StepNum=np.shape(dict.values(md.results.__dict__))[1]
+ 	except IndexError:
+@@ -38,11 +38,11 @@
+ 			NewDim=NCData.createDimension('DimNum'+str(dimindex),dimlist[i])
+ 			DimDict[len(NewDim)]='DimNum'+str(dimindex)
+ 
+-	#get all model classes and create respective groups
+ 	typelist=[bool,str,unicode,int,float,complex,
+ 						collections.OrderedDict,
+ 						np.int64,np.ndarray,np.float64]
+ 	groups=dict.keys(md.__dict__)
++	#get all model classes and create respective groups
+ 	for group in groups:
+ 		NCgroup=NCData.createGroup(str(group))
+ 		#In each group gather the fields of the class
+@@ -57,14 +57,12 @@
+ 					StdList=True
+ 				else:
+ 					StdList=type(md.__dict__[group].__dict__[field][0]) in typelist
+-
++				NCgroup.__setattr__('classtype', md.__dict__[group].__class__.__name__)
+ 				if StdList: #this is a standard or empty list just proceed
+-					NCgroup.__setattr__('classtype', md.__dict__[group].__class__.__name__)
+ 					Var=md.__dict__[group].__dict__[field]
+-					DimDict=CreateVar(NCData,Var,field,NCgroup,DimDict,False)
++					DimDict=CreateVar(NCData,Var,field,NCgroup,DimDict)
+ 				else: #this is a list of fields, specific treatment needed
+ 					Listsize=len(md.__dict__[group].__dict__[field])
+-					NCgroup.__setattr__('classtype', md.__dict__[group].__class__.__name__)
+ 					Subgroup=NCgroup.createGroup(str(field))
+ 					Subgroup.__setattr__('classtype',md.__dict__[group].__dict__[field].__class__.__name__)
+ 					for listindex in range(0,Listsize):
+@@ -86,13 +84,17 @@
+ 									Var=md.__dict__[group].__dict__[field].__getitem__(listindex).__dict__[subfield]
+ 								except AttributeError:
+ 									Var=md.__dict__[group].__dict__[field].__getitem__(listindex)[subfield]
+-								DimDict=CreateVar(NCData,Var,subfield,Listgroup,DimDict,False,md.__dict__[group],field,listindex)
++								DimDict=CreateVar(NCData,Var,subfield,Listgroup,DimDict,md.__dict__[group],field,listindex)
++
+ 			#No subgroup, we directly treat the variable
+ 			elif type(md.__dict__[group].__dict__[field]) in typelist or field=='bamg':
+ 				NCgroup.__setattr__('classtype', md.__dict__[group].__class__.__name__)
+ 				Var=md.__dict__[group].__dict__[field]
+-				DimDict=CreateVar(NCData,Var,field,NCgroup,DimDict,False)
+-                        else:
++				DimDict=CreateVar(NCData,Var,field,NCgroup,DimDict)
++			elif md.__dict__[group].__dict__[field] is None:
++				print( 'field md.{}.{} is None'.format(group,field))
++				#do nothing
++			else:
+ 				NCgroup.__setattr__('classtype', str(group))
+ 				Subgroup=NCgroup.createGroup(str(field))
+ 				Subgroup.__setattr__('classtype',md.__dict__[group].__class__.__name__)
+@@ -101,13 +103,13 @@
+ 				for subfield in subfields:
+ 					if str(subfield)!='outlog':
+ 						Var=md.__dict__[group].__dict__[field].__dict__[subfield]
+-						DimDict=CreateVar(NCData,Var,subfield,Subgroup,DimDict,False)
++						DimDict=CreateVar(NCData,Var,subfield,Subgroup,DimDict)
+ 				
+ 	NCData.close()
+ 
+ #============================================================================
+ #Define the variables
+-def CreateVar(NCData,var,field,Group,DimDict,istime,*step_args):
++def CreateVar(NCData,var,field,Group,DimDict,*step_args):
+ 	#grab type
+ 	try:
+ 		val_type=str(var.dtype)
+@@ -135,7 +137,7 @@
+ 		Group.__setattr__(str(field).swapcase(), str(var))
+ 	#treating list as string table
+ 	elif val_type==list:
+-		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim,istime)
++		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim)
+ 		#try to get the type from the first element
+ 		try:
+ 			nctype=TypeDict[type(var[0])]
+@@ -149,45 +151,34 @@
+ 				ncvar[elt] = var[elt]
+ 	#treating bool tables as string tables
+ 	elif val_type=='bool':
+-		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim,istime)
++		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim)
+ 		ncvar = Group.createVariable(str(field),str,dimensions,zlib=True)
+ 		for elt in range(0,val_shape[0]):
+ 			ncvar[elt] = str(var[elt])
+ 	#treating dictionaries as tables of strings
+ 	elif val_type==collections.OrderedDict or val_type==dict:
+-		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim,istime)
++		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim)
+ 		ncvar = Group.createVariable(str(field),str,dimensions,zlib=True)
+ 		for elt in range(0,val_dim):
+ 			ncvar[elt,0]=dict.keys(var)[elt]
+ 			ncvar[elt,1]=str(dict.values(var)[elt]) #converting to str to avoid potential problems
+ 	#Now dealing with numeric variables
+ 	else:
+-		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim,istime)
++		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim)
+ 		ncvar = Group.createVariable(str(field),TypeDict[val_type],dimensions,zlib=True)
+-		if istime:
+-			md=step_args[0]
+-			supfield=step_args[1]
+-			index=step_args[2]
+-			vartab=var
+-			timevar=md.__dict__[supfield].__getitem__(index).__dict__[field]
+-			try:
+-				ncvar[:,:]=timevar[:,:]
+-			except ValueError:
+-				ncvar[:]=timevar.T[:]
+-		else:
+-			try:
+-				nan_val=np.isnan(var)
+-				if nan_val.all():
+-					ncvar [:] = 'NaN'
+-				else:
+-					ncvar[:] = var
+-			except TypeError: #type does not accept nan, get vallue of the variable
++		try:
++			nan_val=np.isnan(var)
++			if nan_val.all():
++				ncvar [:] = 'NaN'
++			else:
+ 				ncvar[:] = var
++		except TypeError: #type does not accept nan, get vallue of the variable
++			ncvar[:] = var
+ 	return DimDict
+ 
+ #============================================================================
+ #retriev the dimension tuple from a dictionnary
+-def GetDim(NCData,var,shape,DimDict,i,istime):
++def GetDim(NCData,var,shape,DimDict,i):
+ 	output=[]
+ 	#grab dimension
+ 	for dim in range(0,i): #loop on the dimensions
+@@ -210,6 +201,4 @@
+ 				DimDict[len(NewDim)]='DimNum'+str(index)
+ 				output=[str(DimDict[np.shape(dict.keys(var))[0]])]+[DimDict[2]]
+ 			break
+-	if istime:
+-		output=output+['DimNum1']
+ 	return tuple(output), DimDict
Index: /issm/oecreview/Archive/21337-21723/ISSM-21644-21645.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21644-21645.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21644-21645.diff	(revision 21726)
@@ -0,0 +1,98 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21644)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21645)
+@@ -42,7 +42,7 @@
+ 		end
+ 	end
+ 
+-	%Needs a first turn arround for var def
++	typelist=[{'numeric'} {'logical'} {'string'} {'char'} {'cell'}];
+  
+ 	%get all model classes and create respective groups
+ 	groups=fieldnames(md);
+@@ -84,16 +84,55 @@
+ 					print 'Result format not suported'
+ 		    end
+ 	    end
+-		else
+-			for j=1:length(groupfields),
+-				disp(sprintf('=====Field name in tree %s ',groupfields{j}));
++	 else
++		 for j=1:length(groupfields),
++			 Var=md.(groups{i}).(groupfields{j});
++			 if isa(Var,'cell')
++				 Stdlist=false;
++				 if length(Var) == 0
++					 Stdlist=true;
++				 else
++					 for k=1:length(typelist)
++						if isa(Var{1},typelist{k})
++							Stdlist=true;
++						end
++					end
++				end
++
+ 				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i})));
+-				Var=md.(groups{i}).(groupfields{j});
++				if(Stdlist)
++					disp(sprintf('=====Field name in tree %s ',groupfields{j}));
++					[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue,false);
++				else
++					listsize=length(Var);
++					subgroupID=netcdf.defGrp(groupID,groupfields{j});
++					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i}).(groupfields{j})));
++					for l=1:listsize
++						if isprop(Var{l},'name')
++							lname=Var{l}.name;
++						elseif isprop(Var{l},'step')
++							lname=Var{l}.step
++						else 
++							lname=[class(Var{l}) int2str(l)];
++						end
++						listgroupID=netcdf.defGrp(subgroupID,lname);
++						netcdf.putAtt(listgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(Var{l}));
++						subfields=fields(Var{l});
++						for m=1:length(subfields)
++							if ~strcmp(subfields{m},'outlog')
++								[DimSize,DimValue]=DefCreateVar(ncid,Var{l}.(subfields{m}),listgroupID,subfields{m},DimSize,DimValue,false);
++							end
++						end
++					end
++				end
++			else
++				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i})));
+ 				[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue,false);
+-	    end
+-	  end	
+-  end
+-	netcdf.close(ncid);
++			end
++		 end
++	 end	
++ end
++ netcdf.close(ncid);
+ end
+ 
+ function [DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,field,DimSize,DimValue,istime,last,md,midfield)
+@@ -140,15 +179,15 @@
+ 				else
+ 					endpoint=min(length(Var{i}),40);
+ 					startpoint=0;
+-		    end
++				end
+ 				if length(Var{i})>40,
+ 					netcdf.putVar(groupID,varid,startpoint,endpoint,Var{i}(1:40))
+ 					disp(sprintf('some variable have been truncated'));
+-			  else
++				else
+ 					netcdf.putVar(groupID,varid,startpoint,endpoint,Var{i})
+-	      end
+-	    end
+-	  end
++				end
++			end
++		end
+ 	elseif isa(Var,'struct'),
+ 		%Start by getting the structure fields and size
+ 		locfields=fields(Var);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21645-21646.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21645-21646.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21645-21646.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/solve/WriteData.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/WriteData.py	(revision 21645)
++++ ../trunk-jpl/src/m/solve/WriteData.py	(revision 21646)
+@@ -212,7 +212,7 @@
+ 
+ 		#first write length of record
+ 		recordlength=4+4+8*np.product(s)+4+4; #2 integers (32 bits) + the double matrix + code + matrix type
+-		if recordlength > 2**31 :
++		if recordlength > 4**31 :
+ 			raise ValueError('field %s cannot be marshalled because it is larger than 4^31 bytes!' % enum)
+ 
+ 		fid.write(struct.pack('i',recordlength))  #2 integers (32 bits) + the double matrix + code + matrix type
Index: /issm/oecreview/Archive/21337-21723/ISSM-21646-21647.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21646-21647.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21646-21647.diff	(revision 21726)
@@ -0,0 +1,302 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21646)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21647)
+@@ -51,48 +51,14 @@
+ 		groupID=netcdf.defGrp(ncid,groups{i});
+ 		%In each group gather the fields of the class
+ 		groupfields=fields(md.(groups{i}));
+-		%Special treatment for the results
+-		if strcmp(groups(i),'results'),
+-			for j=1:length(groupfields)%looping on the differents solutions
+-				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype','results');
+-				subgroupID=netcdf.defGrp(groupID,groupfields{j});
+-				netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',groupfields{j});
+-				%disp(sprintf('=====Field name in tree %s ',groupfields{j}));
+-				if length(md.results.(groupfields{j}))>1,
+-					%the solution have several timestep get last timesteps and output frequency
+-					last_step = length(md.results.(groupfields{j}));
+-					%grab first time step
+-					subfields=fields(md.results.(groupfields{j})(1));
+-					for k=1:length(subfields),
+-						if ~strcmp(subfields(k),'errlog') && ~strcmp(subfields(k),'outlog') && ~strcmp(subfields(k),'SolutionType'),
+-							%disp(sprintf('==========SubField name in tree %s ',subfields{k}));
+-							Var=md.results.(groupfields{j})(1).(subfields{k});
+-							[DimSize,DimValue]=DefCreateVar(ncid,Var,subgroupID,subfields{k},DimSize,DimValue,true,last_step,md,groupfields{j});
+-			      end
+-		      end
+-				elseif length(md.results.(groupfields{j}))==1,
+-					%only one timestep
+-					subfields=fields(md.results.(groupfields{j}));
+-					for k=1:length(subfields),
+-						%disp(sprintf('==========SubField name in tree %s ',subfields{k}));
+-						if ~strcmp(subfields(k),'errlog') && ~strcmp(subfields(k),'outlog') && ~strcmp(subfields(k),'SolutionType'),
+-							Var=md.results.(groupfields{1})(1).(subfields{k});
+-							[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,subfields{k},DimSize,DimValue,false);
+-			      end
+-		      end
++		for j=1:length(groupfields),
++			Var=md.(groups{i}).(groupfields{j});
++			if isa(Var,'cell')
++				Stdlist=false;
++				if length(Var) == 0
++					Stdlist=true;
+ 				else
+-					print 'Result format not suported'
+-		    end
+-	    end
+-	 else
+-		 for j=1:length(groupfields),
+-			 Var=md.(groups{i}).(groupfields{j});
+-			 if isa(Var,'cell')
+-				 Stdlist=false;
+-				 if length(Var) == 0
+-					 Stdlist=true;
+-				 else
+-					 for k=1:length(typelist)
++					for k=1:length(typelist)
+ 						if isa(Var{1},typelist{k})
+ 							Stdlist=true;
+ 						end
+@@ -102,7 +68,7 @@
+ 				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i})));
+ 				if(Stdlist)
+ 					disp(sprintf('=====Field name in tree %s ',groupfields{j}));
+-					[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue,false);
++					[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue);
+ 				else
+ 					listsize=length(Var);
+ 					subgroupID=netcdf.defGrp(groupID,groupfields{j});
+@@ -120,22 +86,21 @@
+ 						subfields=fields(Var{l});
+ 						for m=1:length(subfields)
+ 							if ~strcmp(subfields{m},'outlog')
+-								[DimSize,DimValue]=DefCreateVar(ncid,Var{l}.(subfields{m}),listgroupID,subfields{m},DimSize,DimValue,false);
++								[DimSize,DimValue]=DefCreateVar(ncid,Var{l}.(subfields{m}),listgroupID,subfields{m},DimSize,DimValue);
+ 							end
+ 						end
+ 					end
+ 				end
+ 			else
+ 				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i})));
+-				[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue,false);
++				[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue);
+ 			end
+-		 end
+-	 end	
++		end
+  end
+  netcdf.close(ncid);
+ end
+ 
+-function [DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,field,DimSize,DimValue,istime,last,md,midfield)
++function [DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,field,DimSize,DimValue,last,md,midfield)
+ 	varclass=class(Var);
+ 	varsize=size(Var);
+ 	varlength=length(Var);
+@@ -149,24 +114,15 @@
+ 	elseif isa(Var,'char'),
+ 		netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),field,Var);
+ 	elseif isa(Var,'double'), %dealing with arrays
+-		[dims,DimSize,DimValue]=GetDims(ncid,Var,groupID,field,DimSize,DimValue,istime);
++		[dims,DimSize,DimValue]=GetDims(ncid,Var,DimSize,DimValue);
+  		varid = netcdf.defVar(groupID,field,'NC_DOUBLE',dims);
+-		if istime,
+-			VarTab=Var;
+-			for i=2:last,
+-				TimeVar=md.results.(midfield)(i).(field);
+-				VarTab=[VarTab TimeVar];
+-	    end
+-			netcdf.putVar(groupID,varid,VarTab);
++		if length(Var)==0,
++			netcdf.putVar(groupID,varid,NaN);
+ 		else
+-			if length(Var)==0,
+-				netcdf.putVar(groupID,varid,NaN);
+-			else
+-				netcdf.putVar(groupID,varid,Var);
+-	    end
+-	  end
++			netcdf.putVar(groupID,varid,Var);
++		end
+ 	elseif isa(Var,'cell'),
+-		[dims,DimSize,DimValue]=GetDims(ncid,Var,groupID,field,DimSize,DimValue,istime);
++		[dims,DimSize,DimValue]=GetDims(ncid,Var,DimSize,DimValue);
+ 		%dirty hack to be able to pass strings
+ 		varid = netcdf.defVar(groupID,field,'NC_CHAR',dims);
+ 		if length(Var)==0,
+@@ -174,14 +130,14 @@
+ 		else
+ 			for i=1:length(Var),
+ 				if length(Var)>1,
+-					endpoint=[min(length(Var{i}),40) 1];
+-					startpoint=[0 1];
++					endpoint=[1,min(length(Var{i}),40)];
++					startpoint=[1 0];
+ 				else
+ 					endpoint=min(length(Var{i}),40);
+ 					startpoint=0;
+ 				end
+ 				if length(Var{i})>40,
+-					netcdf.putVar(groupID,varid,startpoint,endpoint,Var{i}(1:40))
++					netcdf.putVar(groupID,varid,startpoint,extent,Var{i}(1:40))
+ 					disp(sprintf('some variable have been truncated'));
+ 				else
+ 					netcdf.putVar(groupID,varid,startpoint,endpoint,Var{i})
+@@ -191,33 +147,40 @@
+ 	elseif isa(Var,'struct'),
+ 		%Start by getting the structure fields and size
+ 		locfields=fields(Var);
+-		[dims,DimSize,DimValue]=GetDims(ncid,Var,groupID,locfields,DimSize,DimValue,istime);
++		[dims,DimSize,DimValue]=GetDims(ncid,Var,DimSize,DimValue);
+ 		varid = netcdf.defVar(groupID,field,'NC_CHAR',dims);
+ 		if length(locfields)==0,
+-			netcdf.putVar(groupID,varid,[0,0],[11,1],'emptystruct')
++			netcdf.putVar(groupID,varid,[0,0],[1,11],'emptystruct')
+ 		else
+ 			for i=1:length(locfields),
+ 				for j=1:2,
+ 					if j==1,
+-						startpoint=[0,0,i-1];
+ 						CharVar=locfields{i};
++						if length(CharVar)==0
++							CharVar='emptystruct';
++						end
++						startpoint=[i-1,0,0];
+ 					else
+-						startpoint=[0,1,i-1];
+ 						if isa(Var.(locfields{i}),'char'),
+ 							CharVar=Var.(locfields{i});
+ 						else
+ 							CharVar=num2str(Var.(locfields{i}));
+-			      end
+-		      end
+-					endpoint=[min(length(CharVar),40),1,1];
++						end
++						if length(CharVar)==0
++							CharVar='emptystruct';
++						end
++						startpoint=[i-1,1,0];
++					end
++
++					extent=[1,1,min(length(CharVar),40)];
+ 					if length(CharVar)>40,
+-						netcdf.putVar(groupID,varid,startpoint,endpoint,CharVar(1:40))
++						netcdf.putVar(groupID,varid,startpoint,extent,CharVar(1:40))
+ 						disp(sprintf('some variable have been truncated'));
+ 					else
+-						netcdf.putVar(groupID,varid,startpoint,endpoint,CharVar)
+-		      end
+-		    end
+-	    end
++						netcdf.putVar(groupID,varid,startpoint,extent,CharVar)
++					end
++				end
++			end
+ 		end
+ 	else
+ 		disp(sprintf('no support for class %s of field %s',varclass,field));
+@@ -225,68 +188,47 @@
+ 	return
+ end
+ 
+-function [dims,DimSize,DimValue]=GetDims(ncid,Var,groupID,field,DimSize,DimValue,istime)
++function [dims,DimSize,DimValue]=GetDims(ncid,Var,DimSize,DimValue)
+ 	dims=[];
+-	%specific treatment for structures
+-	if isa(Var,'struct')
+-		varsize=size(field); %we pass here the fields of the current structure
+-		MatOrVec=varsize>1; %checking if we have a matrix (1 1) or vector (1 0)
+-		for i=1:sum(MatOrVec), %loop on the number of (non 1) dimensions
+-			currentdim=varsize(i);
+-			dimexist=DimValue==currentdim;
+-			if sum(dimexist)==0, %dimension is new to us, need to create it
+-				dimname=strcat('Dimension',int2str(length(DimValue)+1));
+-				dimindex=length(DimSize)+1;
+-				DimSize(dimindex).index=netcdf.defDim(ncid,dimname,currentdim);
+-				[DimSize(dimindex).name,DimSize(dimindex).value]=netcdf.inqDim(ncid,DimSize(dimindex).index);
+-				dims(i)=DimSize(dimindex).index;
+-				DimValue(dimindex)=currentdim;
+-			else
+-				dimindex=find(dimexist);
+-				if DimSize(dimindex).value~=currentdim,
+-					error('Indexation problem with the dimension structure')
+-		    end
+-	    end
+-			dims(i)=DimSize(dimindex).index;
+-	  end
+-		dims=[DimSize(6).index dims];
++	if isa(Var,'cell'),
++		varsize=size(Var');
++	elseif isa(Var,'struct')
++		varsize=length(fields(Var));
+ 	else
+-		%with a cell array need to grab the transposed size to work
+-		if isa(Var,'cell'),
+-			varsize=size(Var');
+-		else
+-			varsize=size(Var);
+-    end
+-		MatOrVec=varsize>1; %checking if we have a matrix (1 1) or vector (1 0)
+-		for i=1:sum(MatOrVec), %loop on the number of (non 1) dimensions
+-			currentdim=varsize(i);
+-			dimexist=DimValue==currentdim;
+-			if sum(dimexist)==0, %dimension is new to us, need to create it
+-				dimname=strcat('Dimension',int2str(length(DimValue)+1));
+-				dimindex=length(DimSize)+1;
+-				DimSize(dimindex).index=netcdf.defDim(ncid,dimname,currentdim);
+-				[DimSize(dimindex).name,DimSize(dimindex).value]=netcdf.inqDim(ncid,DimSize(dimindex).index);
+-				dims(i)=DimSize(dimindex).index;
+-				DimValue(dimindex)=currentdim;
++		varsize=size(Var);
++	end
++	dim=sum(varsize>1);
++	if dim>0
++		for i=1:dim
++			indsize=find(varsize(i)==DimValue);
++			if length(indsize)>0
++				dims=[dims DimSize(indsize).index];
+ 			else
+-				dimindex=find(dimexist);
+-				DimValue
+-				if DimSize(dimindex).value~=currentdim,
+-					error('Indexation problem with the dimension structure')
+-		    end
+-	    end
+-			dims(i)=DimSize(dimindex).index;
+-    end
+-  end
+-	if istime,
+-		dims=[dims DimSize(1).index];%adding the time dimension if necessary
+-  end
++				indsize=length(DimSize)+1;
++				DimSize(indsize).index=netcdf.defDim(ncid,['Dimension' num2str(indsize)],varsize(i));
++				[DimSize(indsize).name,DimSize(indsize).value]=netcdf.inqDim(ncid,DimSize(indsize).index);
++				DimValue(indsize)=DimSize(indsize).value;
++				dims=[dims DimSize(indsize).index];
++			end
++		end
++	end
+ 	%if we have a cell variable we need to add a stringlength dimension 
++	if isa(Var,'struct'),
++		if DimValue(3)~=2
++			if DimValue(2)~=2
++				dims=[dims DimSize(1).index];
++			else
++				dims=[dims DimSize(2).index];
++			end
++		else
++			dims=[dims DimSize(3).index];
++		end
++	end
+ 	if isa(Var,'cell') || isa(Var,'struct'),
+ 		if DimValue(2)~=40
+-			dims=[DimSize(1).index dims];
++			dims=[dims DimSize(1).index];
+ 		else
+-			dims=[DimSize(2).index dims];
++			dims=[dims DimSize(2).index];
+ 		end
+-  end
++	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21647-21648.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21647-21648.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21647-21648.diff	(revision 21726)
@@ -0,0 +1,67 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21647)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21648)
+@@ -72,7 +72,7 @@
+ 				else
+ 					listsize=length(Var);
+ 					subgroupID=netcdf.defGrp(groupID,groupfields{j});
+-					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i}).(groupfields{j})));
++					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(Var));
+ 					for l=1:listsize
+ 						if isprop(Var{l},'name')
+ 							lname=Var{l}.name;
+@@ -91,6 +91,53 @@
+ 						end
+ 					end
+ 				end
++			elseif isa(Var,'struct') && ~strcmp(groupfields{j},'bamg')
++				classtype=class(md.(groups{i}));
++				if strcmp(classtype,'struct')
++					classtype=groups{i};
++				end
++				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
++				if length(Var)>1
++					listsize=length(Var);
++					subgroupID=netcdf.defGrp(groupID,groupfields{j});
++					classtype=class(Var);
++					if strcmp(classtype,'struct')
++						classtype=groups{i};
++					end
++					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
++					for l=1:listsize
++						if isfield(Var(l),'step')
++							lname=[int2str(Var(l).step)];
++						else
++							lname=[class(Var(l)) int2str(l)];
++						end
++						classtype=class(Var(l));
++						if strcmp(classtype,'struct')
++							classtype=groups{i};
++						end
++						listgroupID=netcdf.defGrp(subgroupID,lname);
++						netcdf.putAtt(listgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
++						subfields=fields(Var(l));
++						for m=1:length(subfields)
++							if ~strcmp(subfields{m},'outlog')
++								[DimSize,DimValue]=DefCreateVar(ncid,Var(l).(subfields{m}),listgroupID,subfields{m},DimSize,DimValue);
++							end
++						end
++					end
++				else
++					subgroupID=netcdf.defGrp(groupID,groupfields{j});
++					classtype=class(Var);
++					if strcmp(classtype,'struct')
++						classtype=groups{i};
++					end
++					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
++					subfields=fields(Var);
++					for m=1:length(subfields)
++						if ~strcmp(subfields{m},'outlog')
++							[DimSize,DimValue]=DefCreateVar(ncid,Var.(subfields{m}),subgroupID,subfields{m},DimSize,DimValue);
++						end
++					end
++				end
+ 			else
+ 				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i})));
+ 				[DimSize,DimValue]=DefCreateVar(ncid,Var,groupID,groupfields{j},DimSize,DimValue);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21648-21649.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21648-21649.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21648-21649.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/m/classes/esa.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/esa.py	(revision 21648)
++++ ../trunk-jpl/src/m/classes/esa.py	(revision 21649)
+@@ -1,7 +1,6 @@
+ from fielddisplay import fielddisplay
+ from MatlabFuncs import *
+ from model import *
+-from np.import *
+ from checkfield import checkfield
+ from WriteData import WriteData
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21649-21650.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21649-21650.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21649-21650.diff	(revision 21726)
@@ -0,0 +1,21 @@
+Index: ../trunk-jpl/src/m/classes/esa.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/esa.py	(revision 21649)
++++ ../trunk-jpl/src/m/classes/esa.py	(revision 21650)
+@@ -1,6 +1,7 @@
+ from fielddisplay import fielddisplay
+ from MatlabFuncs import *
+ from model import *
++import numpy as np
+ from checkfield import checkfield
+ from WriteData import WriteData
+ 
+@@ -13,7 +14,7 @@
+ 	"""
+ 	
+ 	def __init__(self): # {{{
+-		self.deltathickness    = NaN
++		self.deltathickness    = np.nan
+ 		self.love_h            = 0 #provided by PREM model()
+ 		self.love_l            = 0 #ideam
+ 		self.degacc            = 0
Index: /issm/oecreview/Archive/21337-21723/ISSM-21650-21651.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21650-21651.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21650-21651.diff	(revision 21726)
@@ -0,0 +1,99 @@
+Index: ../trunk-jpl/src/m/shp/shp2exp.m
+===================================================================
+--- ../trunk-jpl/src/m/shp/shp2exp.m	(revision 21650)
++++ ../trunk-jpl/src/m/shp/shp2exp.m	(revision 21651)
+@@ -1,47 +1,58 @@
+-function Shp2Exp(expfilename,shapefilename)
++function shp2exp(shpfilename,expfilename)
+ %SHP2EXP- transform shape file to Argus .exp file
+ %
+ %   Usage:
+-%      Shp2Exp(expfilename,shapefilename);
++%      shp2exp(shpfilename,expfilename);
+ %
+ %   Example:
+-%      Shp2Exp('Domain.exp','Domain.shp');
++%      shp2exp('Domain.shp','Domain.exp');
+ %
+ %   See also EXPMASTER, EXPDOC
+ 
+-	if ~exist(shapefilename,'file'),
+-		error(['Shapefile ' shapefilename ' does not exist']);
+-	end
+-	shp=shaperead(shapefilename);
++%check file extensions
++[pathstr,name,ext] = fileparts(shpfilename);
++if ~strcmp(ext,'.shp'),
++	error(['Shapefile ' shpfilename ' does not have an extension .shp']);
++end
+ 
+-	expstruct=struct([]);
+-	for i=1:length(shp),
+-		if strcmpi(shp(i).Geometry,'Polygon'),
+-			x=shp(i).X; y=shp(i).Y;
+-			ids=find(isnan(x));
+-			x(ids)=[]; y(ids)=[];
+-			expstruct(end+1).x=x;
+-			expstruct(end).y=y;
+-			expstruct(end).nods=length(x);
+-			expstruct(end).density=1;
+-			expstruct(end).closed=1;
+-			expstruct(end).name=num2str(shp(i).id);
+-		elseif strcmpi(shp(i).Geometry,'Point'),
+-			x=shp(i).X; y=shp(i).Y;
+-			expstruct(end+1).x=x;
+-			expstruct(end).y=y;
+-			expstruct(end).nods=length(x);
+-			expstruct(end).density=1;
+-			expstruct(end).closed=0;
+-			%exp(end).name=num2str(shp(i).id);
+-		elseif strcmpi(shp(i).Geometry,'Line'),
+-			x=shp(i).X; y=shp(i).Y;
+-			expstruct(end+1).x=x;
+-			expstruct(end).y=y;
+-			expstruct(end).nods=length(x);
+-			expstruct(end).density=1;
+-			expstruct(end).closed=0;
+-		end
++[pathstr,name,ext] = fileparts(expfilename);
++if ~strcmp(ext,'.exp'),
++	error(['Exp file ' expfilename ' does not have an extension .exp']);
++end
++
++if ~exist(shpfilename,'file'),
++	error(['Shapefile ' shpfilename ' does not exist']);
++end
++shp=shaperead(shpfilename);
++
++expstruct=struct([]);
++for i=1:length(shp),
++	if strcmpi(shp(i).Geometry,'Polygon'),
++		x=shp(i).X; y=shp(i).Y;
++		ids=find(isnan(x));
++		x(ids)=[]; y(ids)=[];
++		expstruct(end+1).x=x;
++		expstruct(end).y=y;
++		expstruct(end).nods=length(x);
++		expstruct(end).density=1;
++		expstruct(end).closed=1;
++		expstruct(end).name=num2str(shp(i).id);
++	elseif strcmpi(shp(i).Geometry,'Point'),
++		x=shp(i).X; y=shp(i).Y;
++		expstruct(end+1).x=x;
++		expstruct(end).y=y;
++		expstruct(end).nods=length(x);
++		expstruct(end).density=1;
++		expstruct(end).closed=0;
++		%exp(end).name=num2str(shp(i).id);
++	elseif strcmpi(shp(i).Geometry,'Line'),
++		x=shp(i).X; y=shp(i).Y;
++		expstruct(end+1).x=x;
++		expstruct(end).y=y;
++		expstruct(end).nods=length(x);
++		expstruct(end).density=1;
++		expstruct(end).closed=0;
+ 	end
++end
+ 
+-	expwrite(expstruct,expfilename);
++expwrite(expstruct,expfilename);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21651-21652.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21651-21652.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21651-21652.diff	(revision 21726)
@@ -0,0 +1,44 @@
+Index: ../trunk-jpl/src/m/exp/exp2shp.m
+===================================================================
+--- ../trunk-jpl/src/m/exp/exp2shp.m	(revision 21651)
++++ ../trunk-jpl/src/m/exp/exp2shp.m	(revision 21652)
+@@ -1,16 +1,27 @@
+-function exp2shp(shapefilename,expfilename,geometry)
++function exp2shp(expfilename,shpfilename,geometry)
+ %SHPWRITE - write a shape file from a contour structure
+ %
+ %   Usage:
+-%      exp2shp(shapefilename,expfilename,geometry)
++%      exp2shp(expfilename,shpfilename,geometry)
+ %
+ %   Example:
+-%      exp2shp('domainoutline.shp','domainoutline.exp')
+-%      exp2shp('domainoutline.shp','domainoutline.exp','Polygon')
+-%      exp2shp('massfluxgate.shp','massfluxgate.exp','Line')
++%      exp2shp('domainoutline.exp','domainoutline.shp')
++%      exp2shp('domainoutline.exp','domainoutline.shp','Polygon')
++%      exp2shp('massfluxgate.exp','massfluxgate.shp','Line')
+ %
+ %   See also SHPREAD, SHPWRITE, SHP2EXP
+ 
++%check file extensions
++[pathstr,name,ext] = fileparts(shpfilename);
++if ~strcmp(ext,'.shp'),
++	error(['Shapefile ' shpfilename ' does not have an extension .shp']);
++end
++
++[pathstr,name,ext] = fileparts(expfilename);
++if ~strcmp(ext,'.exp'),
++	error(['Exp file ' expfilename ' does not have an extension .exp']);
++end
++
+ shp=expread(expfilename);
+ 
+ %initialize number of profile
+@@ -33,5 +44,4 @@
+ 	contours(i).Y=shp(i).y;
+ end
+ 	
+-shapewrite(contours,shapefilename);
+-end
++shapewrite(contours,shpfilename);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21652-21653.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21652-21653.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21652-21653.diff	(revision 21726)
@@ -0,0 +1,50 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21652)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21653)
+@@ -444,7 +444,7 @@
+ 
+ 	/*feed updated variables back into model*/
+ 	if(dt!=0.){
+-		element->AddInput(enthalpy_enum,enthalpies,P1Enum); //TODO: distinguis for steadystate and transient run
++		//element->AddInput(enthalpy_enum,enthalpies,P1Enum); //TODO: distinguis for steadystate and transient run
+ 		element->AddInput(WatercolumnEnum,watercolumns,P1Enum);
+ 	}
+ 	element->AddInput(BasalforcingsGroundediceMeltingRateEnum,basalmeltingrates,P1Enum);
+@@ -1055,18 +1055,15 @@
+ 	if(!element->IsOnBase()) return; //FIXME: allow freeze on for floating elements
+ 
+ 	/* Intermediaries*/
+-	int is, numvertices, numsegments;
++	int is,numsegments;
+ 	int *pairindices   = NULL;
+ 
+-	numvertices=element->GetNumberOfVertices();
++	int numnodes=element->GetNumberOfNodes();
+ 	element->VerticalSegmentIndices(&pairindices,&numsegments);
+ 
+-	IssmDouble* watercolumn = xNew<IssmDouble>(numvertices);
+ 	IssmDouble* drainrate_column  = xNew<IssmDouble>(numsegments);
+ 	IssmDouble* drainrate_element = xNew<IssmDouble>(numsegments);
+ 
+-	element->GetInputListOnVertices(watercolumn,WatercolumnEnum);
+-
+ 	for(is=0;is<numsegments;is++)	drainrate_column[is]=0.;
+ 	Element* elementi = element;
+ 	for(;;){
+@@ -1077,10 +1074,14 @@
+ 		if(elementi->IsOnSurface()) break;
+ 		elementi=elementi->GetUpperElement();			
+ 	}
++
+ 	/* add drained water to water column*/
++	IssmDouble* watercolumn = xNew<IssmDouble>(numnodes);
++	element->GetInputListOnNodes(watercolumn,WatercolumnEnum);
+ 	for(is=0;is<numsegments;is++) watercolumn[is]+=drainrate_column[is];
++
+ 	/* Feed updated water column back into model */
+-	element->AddInput(WatercolumnEnum,watercolumn,P1Enum);
++	element->AddInput(WatercolumnEnum,watercolumn,element->GetElementType());
+ 
+ 	xDelete<int>(pairindices);
+ 	xDelete<IssmDouble>(drainrate_column);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21653-21654.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21653-21654.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21653-21654.diff	(revision 21726)
@@ -0,0 +1,41 @@
+Index: ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21653)
++++ ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21654)
+@@ -27,6 +27,36 @@
+ 		param_enum        = SmbMassBalanceEnum;
+ 		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
+ 	}
++	else if(strcmp(string_in,"SmbAccumulation")==0){
++		const char* field = "md.smb.accumulation";
++		param_enum        = SmbAccumulationEnum;
++		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
++	}
++	else if(strcmp(string_in,"SmbMelt")==0){
++		const char* field = "md.smb.melt";
++		param_enum        = SmbMeltEnum;
++		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
++	}
++	else if(strcmp(string_in,"SmbRefreeze")==0){
++		const char* field = "md.smb.refreeze";
++		param_enum        = SmbRefreezeEnum;
++		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
++	}
++	else if(strcmp(string_in,"SmbRunoff")==0){
++		const char* field = "md.smb.runoff";
++		param_enum        = SmbRunoffEnum;
++		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
++	}
++	else if(strcmp(string_in,"SmbEvaporation")==0){
++		const char* field = "md.smb.evaporation";
++		param_enum        = SmbEvaporationEnum;
++		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
++	}
++	else if(strcmp(string_in,"BasalforcingsFloatingiceMeltingRate")==0){
++		const char* field = "md.basalforcings.floatingice_melting_rate";
++		param_enum        = BasalforcingsFloatingiceMeltingRateEnum;
++		fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
++	}
+ 	else if(strcmp(string_in,"FrictionCoefficient")==0){
+ 		const char* field = "md.friction.coefficient";
+ 		param_enum        = FrictionCoefficientEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21654-21655.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21654-21655.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21654-21655.diff	(revision 21726)
@@ -0,0 +1,123 @@
+Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/read_netCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/defleurian/netCDF/read_netCDF.m	(revision 21654)
++++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/read_netCDF.m	(revision 21655)
+@@ -1,10 +1,10 @@
+ function self=read_netCDF(filename)
+ 
+-% Different types in the netcdf standard are:
+-%   2 for char
+-%   4 for integer
+-%   6 for doubles	
+-	
++	% Different types in the netcdf standard are:
++	%   2 for char
++	%   4 for integer
++	%   6 for doubles	
++
+ 	ncid=netcdf.open(filename,'NC_NOWRITE');
+ 	groupIDs=netcdf.inqGrps(ncid);%retrieve group IDs
+ 	self=model;
+@@ -29,17 +29,18 @@
+ 					disp(sprintf('In %s, Treating attribute %s of type %i',subclass,attname,xtype));
+ 					%classtype have done is job, no need to keep it any more
+ 					if ~strcmp(attname,'classtype'),
+-						attval=netcdf.getAtt(subgroupIDs(i),netcdf.getConstant('NC_GLOBAL'),attname);
++						attval=netcdf.getAtt(subgroupIDs(j),netcdf.getConstant('NC_GLOBAL'),attname);
+ 						if strcmp(attval,'False'),
+ 							self.(groupName).(subclass).(attname)=false;
+ 						elseif strcmp(attval,'True')
+ 							self.(groupName).(subclass).(attname)=true;
+ 						else
+ 							self.(groupName).(subclass).(attname)=attval;
+-			      end
+-		      end
+-		    end
++						end
++					end
++				end
+ 				%now loop on variable in group
++				count=0;
+ 				for k=1:length(varIDs),
+ 					[varname, xtype, varDimIDs, varAtts] =netcdf.inqVar(subgroupIDs(j),varIDs(k));
+ 					disp(sprintf('In %s, Treating variable %s of type %i',whichclass,varname,xtype));
+@@ -47,7 +48,7 @@
+ 					for l=1:length(varDimIDs),
+ 						[dimname, dimlen] = netcdf.inqDim(ncid,varDimIDs(l));
+ 						count(l)=[dimlen];
+-		      end
++					end
+ 					startpoint=zeros(size(varDimIDs));
+ 					timestep=count(end);
+ 					count(end)=1;
+@@ -58,35 +59,10 @@
+ 						self.(groupName).(subclass)(l).('errlog')='';
+ 						self.(groupName).(subclass)(l).('outlog')='';
+ 						self.(groupName).(subclass)(l).('SolutionType')=subclass;
+-		     end
+-				 clear count
+-		    end
+-	    end
+-			%toolkits too require a specific treatment
+-		elseif strcmp(whichclass,'toolkits'),
+-			%just one variable here
+-			varID=netcdf.inqVarIDs(groupIDs(i));
+-			[varname, xtype, varDimIDs, varAtts] =netcdf.inqVar(groupIDs(i),varID);
+-			disp(sprintf('In %s, Treating variable %s of type %i',whichclass,varname,xtype));
+-			[dimname,numoffields] = netcdf.inqDim(ncid,varDimIDs(end));
+-			self.(groupName)=eval(whichclass);
+-			for j=1:numoffields,
+-				varval=netcdf.getVar(groupIDs(i),varID,[0,1,j-1],[40,1,1])';
+-				fieldname=netcdf.getVar(groupIDs(i),varID,[0,0,j-1],[40,1,1])';
+-				varval=cellstr(varval);
+-				fieldname=cellstr(fieldname);
+-				[val, status]=str2num(varval{1});
+-				if strcmp(varval{1},'false') |strcmp(varval{1},'true')  ,
+-					status=0;
+-		    end
+-				if status==1,
+-					self.(groupName).(varname).(fieldname{1})=val;
+-				else
+-					self.(groupName).(varname).(fieldname{1})=varval{1};
+-			 end
+-	   end
+-			%Now for the other fields
+-
++					end
++					count=0;
++				end
++			end
+ 		else,
+ 			%define the model structure
+ 			self.(groupName)=eval(whichclass);
+@@ -105,10 +81,10 @@
+ 					elseif strcmp(attval,'True')
+ 						self.(groupName).(attname)=true;
+ 					else
+-					self.(groupName).(attname)=attval;
+-		    end
+-		  end
+-	  end
++						self.(groupName).(attname)=attval;
++					end
++				end
++			end
+ 			%now loop on variable in group
+ 			for j=1:length(varIDs),
+ 				[varname, xtype, varDimIDs, varAtts] =netcdf.inqVar(groupIDs(i),varIDs(j));
+@@ -126,9 +102,9 @@
+ 					end
+ 				else
+ 					self.(groupName).(varname)=netcdf.getVar(groupIDs(i),varIDs(j));
+-		    end
+-		  end
+-	  end
+-  end
++				end
++			end
++		end
++	end
+ 	netcdf.close(ncid)
+-end
+\ No newline at end of file
++end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21655-21656.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21655-21656.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21655-21656.diff	(revision 21726)
@@ -0,0 +1,27 @@
+Index: ../trunk-jpl/src/m/plot/plot_BC.py
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_BC.py	(revision 21655)
++++ ../trunk-jpl/src/m/plot/plot_BC.py	(revision 21656)
+@@ -43,13 +43,15 @@
+ 		ax.scatter(x[np.where(~np.isnan(md.stressbalance.spcvz))],
+ 							 y[np.where(~np.isnan(md.stressbalance.spcvz))],
+ 							 marker='o',c='y',s=80,label='vz Dirichlet',linewidth=0)
+-		ax.scatter(x[np.where(~np.isnan(md.hydrology.spcepl_head))],
+-							 y[np.where(~np.isnan(md.hydrology.spcepl_head))],
+-							 marker='v',c='r',s=240,label='EPL Head',linewidth=0)
+-		ax.scatter(x[np.where(~np.isnan(md.hydrology.spcsediment_head))],
+-							 y[np.where(~np.isnan(md.hydrology.spcsediment_head))],
+-							 marker='^',c='b',s=240,label='IDS head',linewidth=0)
+-		
++		try:
++			ax.scatter(x[np.where(~np.isnan(md.hydrology.spcepl_head))],
++								 y[np.where(~np.isnan(md.hydrology.spcepl_head))],
++								 marker='v',c='r',s=240,label='EPL Head',linewidth=0)
++			ax.scatter(x[np.where(~np.isnan(md.hydrology.spcsediment_head))],
++								 y[np.where(~np.isnan(md.hydrology.spcsediment_head))],
++								 marker='^',c='b',s=240,label='IDS head',linewidth=0)
++		except AttributeError:
++			print ('Not treating Hydrologydc, skipping these boundaries')
+ 		ax.set_xlim(XLims)
+ 		ax.set_ylim(YLims)
+ 	ax.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
Index: /issm/oecreview/Archive/21337-21723/ISSM-21656-21657.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21656-21657.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21656-21657.diff	(revision 21726)
@@ -0,0 +1,1111 @@
+Index: ../trunk-jpl/src/m/io/loadvars.py
+===================================================================
+--- ../trunk-jpl/src/m/io/loadvars.py	(revision 21656)
++++ ../trunk-jpl/src/m/io/loadvars.py	(revision 21657)
+@@ -227,14 +227,14 @@
+ 			for subgroup in NCData.groups[group].groups:
+ 				classe=str(group)+'.'+str(subgroup)
+ 				class_dict[classe]=[str(getattr(NCData.groups[group].groups[subgroup],'classtype')),]
+-				if class_dict[classe][0] not in ['dict','list']:
++				if class_dict[classe][0] not in ['dict','list','cell']:
+ 					class_dict[classe].append(__import__(class_dict[classe][0]))
+ 				class_tree[classe]=[group,subgroup]
+ 		else:
+ 			classe=str(group)
+ 			try:
+ 				class_dict[classe]=[str(getattr(NCData.groups[group],'classtype')),]
+-				if class_dict[classe][0] not in ['dict','list']:
++				if class_dict[classe][0] not in ['dict','list','cell']:
+ 					class_dict[classe].append(__import__(class_dict[classe][0]))
+ 					class_tree[classe]=[group,]
+ 			except AttributeError:
+Index: ../trunk-jpl/etc/environment.sh
+===================================================================
+--- ../trunk-jpl/etc/environment.sh	(revision 21656)
++++ ../trunk-jpl/etc/environment.sh	(revision 21657)
+@@ -123,7 +123,7 @@
+ SSH_DIR="$ISSM_DIR/externalpackages/ssh"
+ pathappend "$SSH_DIR"
+ 
+-VALGRIND_DIR="$ISSM_DIR/externalpackages/valgrind/install"
++VALGRIND_DIR="/usr/bin/valgrind"
+ pathprepend "$VALGRIND_DIR/bin"
+ 
+ CPPCHECK_DIR="$ISSM_DIR/externalpackages/cppcheck/install"
+Index: ../trunk-jpl/test/Par/SquareSheetConstrained.py
+===================================================================
+--- ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21656)
++++ ../trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 21657)
+@@ -1,5 +1,5 @@
+ import os.path
+-import numpy
++import numpy as np
+ import inspect
+ from verbose import verbose
+ from InterpFromMeshToMesh2d import InterpFromMeshToMesh2d
+@@ -12,40 +12,40 @@
+ #Geometry
+ hmin=300.
+ hmax=1000.
+-ymin=numpy.min(md.mesh.y)
+-ymax=numpy.max(md.mesh.y)
+-xmin=min(md.mesh.x)
+-xmax=max(md.mesh.x)
++ymin=np.min(md.mesh.y)
++ymax=np.max(md.mesh.y)
++xmin=np.min(md.mesh.x)
++xmax=np.max(md.mesh.x)
+ md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin)
+ md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.
+ md.geometry.surface=md.geometry.base+md.geometry.thickness
+ 
+ #Initial velocity 
+-x         = numpy.array(archread('../Data/SquareSheetConstrained.arch','x'))
+-y         = numpy.array(archread('../Data/SquareSheetConstrained.arch','y'))
+-vx        = numpy.array(archread('../Data/SquareSheetConstrained.arch','vx'));
+-vy        = numpy.array(archread('../Data/SquareSheetConstrained.arch','vy'));
++x         = np.array(archread('../Data/SquareSheetConstrained.arch','x'))
++y         = np.array(archread('../Data/SquareSheetConstrained.arch','y'))
++vx        = np.array(archread('../Data/SquareSheetConstrained.arch','vx'));
++vy        = np.array(archread('../Data/SquareSheetConstrained.arch','vy'));
+ index     = archread('../Data/SquareSheetConstrained.arch','index').astype(int);
+ 
+-[md.initialization.vx]=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
+-[md.initialization.vy]=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
+-md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
+-md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
++md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)[0]
++md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)[0]
++md.initialization.vz=np.zeros((md.mesh.numberofvertices))
++md.initialization.pressure=np.zeros((md.mesh.numberofvertices))
+ 
+ #Materials
+-md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
++md.initialization.temperature=(273.-20.)*np.ones((md.mesh.numberofvertices))
+ md.materials.rheology_B=paterson(md.initialization.temperature)
+-md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
++md.materials.rheology_n=3.*np.ones((md.mesh.numberofelements))
+ 
+ #Calving
+-md.calving.calvingrate=0.*numpy.ones((md.mesh.numberofvertices))
+-md.levelset.spclevelset=float('NaN')*numpy.ones((md.mesh.numberofvertices))
++md.calving.calvingrate=np.zeros((md.mesh.numberofvertices))
++md.levelset.spclevelset=np.nan*np.ones((md.mesh.numberofvertices))
+ 
+ #Friction
+-md.friction.coefficient=20.*numpy.ones((md.mesh.numberofvertices))
+-md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+-md.friction.p=numpy.ones((md.mesh.numberofelements))
+-md.friction.q=numpy.ones((md.mesh.numberofelements))
++md.friction.coefficient=20.*np.ones((md.mesh.numberofvertices))
++md.friction.coefficient[np.where(md.mask.groundedice_levelset<0.)[0]]=0.
++md.friction.p=np.ones((md.mesh.numberofelements))
++md.friction.q=np.ones((md.mesh.numberofelements))
+ 
+ #Numerical parameters
+ md.stressbalance.viscosity_overshoot=0.0
+@@ -56,13 +56,13 @@
+ md.stressbalance.restol=0.05
+ md.steadystate.reltol=0.05
+ md.stressbalance.reltol=0.05
+-md.stressbalance.abstol=float('NaN')
++md.stressbalance.abstol=np.nan
+ md.timestepping.time_step=1.
+ md.timestepping.final_time=3.
+ 
+ #GIA:
+-md.gia.lithosphere_thickness=100.*numpy.ones((md.mesh.numberofvertices)); # in km
+-md.gia.mantle_viscosity=1.*10**21*numpy.ones((md.mesh.numberofvertices)); # in Pa.s
++md.gia.lithosphere_thickness=100.*np.ones((md.mesh.numberofvertices)); # in km
++md.gia.mantle_viscosity=1.*10**21*np.ones((md.mesh.numberofvertices)); # in Pa.s
+ md.materials.lithosphere_shear_modulus=6.7*10**10;                          # in Pa
+ md.materials.lithosphere_density=3.32;                                      # in g/cm^-3
+ md.materials.mantle_shear_modulus=1.45*10**11;                              # in Pa
+Index: ../trunk-jpl/m4/analyses.m4
+===================================================================
+--- ../trunk-jpl/m4/analyses.m4	(revision 21656)
++++ ../trunk-jpl/m4/analyses.m4	(revision 21657)
+@@ -10,914 +10,494 @@
+ [
+ 
+ dnl with-Smb{{{
+-
+ AC_ARG_WITH([Smb],
+-
+ 	AS_HELP_STRING([--with-Smb = YES], [compile with Smb capabilities (default is yes)]),
+-
+ 	[SMB=$withval],[SMB=yes])
+-
+ AC_MSG_CHECKING(for Smb capability compilation)
+ 
+-
+ HAVE_SMB=no 
+-
+ if test "x$SMB" = "xyes"; then
+-
+ 	HAVE_SMB=yes
+-
+ 	AC_DEFINE([_HAVE_SMB_],[1],[with Smb capability])
+-
+ fi
+-
+ AM_CONDITIONAL([SMB], [test x$HAVE_SMB = xyes])
+-
+ AC_MSG_RESULT($HAVE_SMB)
+-
+ dnl }}}
+ dnl with-AdjointBalancethickness{{{
+-
+ AC_ARG_WITH([AdjointBalancethickness],
+-
+ 	AS_HELP_STRING([--with-AdjointBalancethickness = YES], [compile with AdjointBalancethickness capabilities (default is yes)]),
+-
+ 	[ADJOINTBALANCETHICKNESS=$withval],[ADJOINTBALANCETHICKNESS=yes])
+-
+ AC_MSG_CHECKING(for AdjointBalancethickness capability compilation)
+ 
+-
+ HAVE_ADJOINTBALANCETHICKNESS=no 
+-
+ if test "x$ADJOINTBALANCETHICKNESS" = "xyes"; then
+-
+ 	HAVE_ADJOINTBALANCETHICKNESS=yes
+-
+ 	AC_DEFINE([_HAVE_ADJOINTBALANCETHICKNESS_],[1],[with AdjointBalancethickness capability])
+-
+ fi
+-
+ AM_CONDITIONAL([ADJOINTBALANCETHICKNESS], [test x$HAVE_ADJOINTBALANCETHICKNESS = xyes])
+-
+ AC_MSG_RESULT($HAVE_ADJOINTBALANCETHICKNESS)
+-
+ dnl }}}
+ dnl with-AdjointBalancethickness2{{{
+-
+ AC_ARG_WITH([AdjointBalancethickness2],
+-
+ 	AS_HELP_STRING([--with-AdjointBalancethickness2 = YES], [compile with AdjointBalancethickness2 capabilities (default is yes)]),
+-
+ 	[ADJOINTBALANCETHICKNESS2=$withval],[ADJOINTBALANCETHICKNESS2=yes])
+-
+ AC_MSG_CHECKING(for AdjointBalancethickness2 capability compilation)
+ 
+-
+ HAVE_ADJOINTBALANCETHICKNESS2=no 
+-
+ if test "x$ADJOINTBALANCETHICKNESS2" = "xyes"; then
+-
+ 	HAVE_ADJOINTBALANCETHICKNESS2=yes
+-
+ 	AC_DEFINE([_HAVE_ADJOINTBALANCETHICKNESS2_],[1],[with AdjointBalancethickness2 capability])
+-
+ fi
+-
+ AM_CONDITIONAL([ADJOINTBALANCETHICKNESS2], [test x$HAVE_ADJOINTBALANCETHICKNESS2 = xyes])
+-
+ AC_MSG_RESULT($HAVE_ADJOINTBALANCETHICKNESS2)
+-
+ dnl }}}
+ dnl with-AdjointHoriz{{{
+-
+ AC_ARG_WITH([AdjointHoriz],
+-
+ 	AS_HELP_STRING([--with-AdjointHoriz = YES], [compile with AdjointHoriz capabilities (default is yes)]),
+-
+ 	[ADJOINTHORIZ=$withval],[ADJOINTHORIZ=yes])
+-
+ AC_MSG_CHECKING(for AdjointHoriz capability compilation)
+ 
+-
+ HAVE_ADJOINTHORIZ=no 
+-
+ if test "x$ADJOINTHORIZ" = "xyes"; then
+-
+ 	HAVE_ADJOINTHORIZ=yes
+-
+ 	AC_DEFINE([_HAVE_ADJOINTHORIZ_],[1],[with AdjointHoriz capability])
+-
+ fi
+-
+ AM_CONDITIONAL([ADJOINTHORIZ], [test x$HAVE_ADJOINTHORIZ = xyes])
+-
+ AC_MSG_RESULT($HAVE_ADJOINTHORIZ)
+-
+ dnl }}}
+ dnl with-Balancethickness{{{
+-
+ AC_ARG_WITH([Balancethickness],
+-
+ 	AS_HELP_STRING([--with-Balancethickness = YES], [compile with Balancethickness capabilities (default is yes)]),
+-
+ 	[BALANCETHICKNESS=$withval],[BALANCETHICKNESS=yes])
+-
+ AC_MSG_CHECKING(for Balancethickness capability compilation)
+ 
+-
+ HAVE_BALANCETHICKNESS=no 
+-
+ if test "x$BALANCETHICKNESS" = "xyes"; then
+-
+ 	HAVE_BALANCETHICKNESS=yes
+-
+ 	AC_DEFINE([_HAVE_BALANCETHICKNESS_],[1],[with Balancethickness capability])
+-
+ fi
+-
+ AM_CONDITIONAL([BALANCETHICKNESS], [test x$HAVE_BALANCETHICKNESS = xyes])
+-
+ AC_MSG_RESULT($HAVE_BALANCETHICKNESS)
+-
+ dnl }}}
+ dnl with-Balancethickness2{{{
+-
+ AC_ARG_WITH([Balancethickness2],
+-
+ 	AS_HELP_STRING([--with-Balancethickness2 = YES], [compile with Balancethickness2 capabilities (default is yes)]),
+-
+ 	[BALANCETHICKNESS2=$withval],[BALANCETHICKNESS2=yes])
+-
+ AC_MSG_CHECKING(for Balancethickness2 capability compilation)
+ 
+-
+ HAVE_BALANCETHICKNESS2=no 
+-
+ if test "x$BALANCETHICKNESS2" = "xyes"; then
+-
+ 	HAVE_BALANCETHICKNESS2=yes
+-
+ 	AC_DEFINE([_HAVE_BALANCETHICKNESS2_],[1],[with Balancethickness2 capability])
+-
+ fi
+-
+ AM_CONDITIONAL([BALANCETHICKNESS2], [test x$HAVE_BALANCETHICKNESS2 = xyes])
+-
+ AC_MSG_RESULT($HAVE_BALANCETHICKNESS2)
+-
+ dnl }}}
+ dnl with-BalancethicknessSoft{{{
+-
+ AC_ARG_WITH([BalancethicknessSoft],
+-
+ 	AS_HELP_STRING([--with-BalancethicknessSoft = YES], [compile with BalancethicknessSoft capabilities (default is yes)]),
+-
+ 	[BALANCETHICKNESSSOFT=$withval],[BALANCETHICKNESSSOFT=yes])
+-
+ AC_MSG_CHECKING(for BalancethicknessSoft capability compilation)
+ 
+-
+ HAVE_BALANCETHICKNESSSOFT=no 
+-
+ if test "x$BALANCETHICKNESSSOFT" = "xyes"; then
+-
+ 	HAVE_BALANCETHICKNESSSOFT=yes
+-
+ 	AC_DEFINE([_HAVE_BALANCETHICKNESSSOFT_],[1],[with BalancethicknessSoft capability])
+-
+ fi
+-
+ AM_CONDITIONAL([BALANCETHICKNESSSOFT], [test x$HAVE_BALANCETHICKNESSSOFT = xyes])
+-
+ AC_MSG_RESULT($HAVE_BALANCETHICKNESSSOFT)
+-
+ dnl }}}
+ dnl with-Balancevelocity{{{
+-
+ AC_ARG_WITH([Balancevelocity],
+-
+ 	AS_HELP_STRING([--with-Balancevelocity = YES], [compile with Balancevelocity capabilities (default is yes)]),
+-
+ 	[BALANCEVELOCITY=$withval],[BALANCEVELOCITY=yes])
+-
+ AC_MSG_CHECKING(for Balancevelocity capability compilation)
+ 
+-
+ HAVE_BALANCEVELOCITY=no 
+-
+ if test "x$BALANCEVELOCITY" = "xyes"; then
+-
+ 	HAVE_BALANCEVELOCITY=yes
+-
+ 	AC_DEFINE([_HAVE_BALANCEVELOCITY_],[1],[with Balancevelocity capability])
+-
+ fi
+-
+ AM_CONDITIONAL([BALANCEVELOCITY], [test x$HAVE_BALANCEVELOCITY = xyes])
+-
+ AC_MSG_RESULT($HAVE_BALANCEVELOCITY)
+-
+ dnl }}}
+ dnl with-L2ProjectionEPL{{{
+-
+ AC_ARG_WITH([L2ProjectionEPL],
+-
+ 	AS_HELP_STRING([--with-L2ProjectionEPL = YES], [compile with L2ProjectionEPL capabilities (default is yes)]),
+-
+ 	[L2PROJECTIONEPL=$withval],[L2PROJECTIONEPL=yes])
+-
+ AC_MSG_CHECKING(for L2ProjectionEPL capability compilation)
+ 
+-
+ HAVE_L2PROJECTIONEPL=no 
+-
+ if test "x$L2PROJECTIONEPL" = "xyes"; then
+-
+ 	HAVE_L2PROJECTIONEPL=yes
+-
+ 	AC_DEFINE([_HAVE_L2PROJECTIONEPL_],[1],[with L2ProjectionEPL capability])
+-
+ fi
+-
+ AM_CONDITIONAL([L2PROJECTIONEPL], [test x$HAVE_L2PROJECTIONEPL = xyes])
+-
+ AC_MSG_RESULT($HAVE_L2PROJECTIONEPL)
+-
+ dnl }}}
+ dnl with-L2ProjectionBase{{{
+-
+ AC_ARG_WITH([L2ProjectionBase],
+-
+ 	AS_HELP_STRING([--with-L2ProjectionBase = YES], [compile with L2ProjectionBase capabilities (default is yes)]),
+-
+ 	[L2PROJECTIONBASE=$withval],[L2PROJECTIONBASE=yes])
+-
+ AC_MSG_CHECKING(for L2ProjectionBase capability compilation)
+ 
+-
+ HAVE_L2PROJECTIONBASE=no 
+-
+ if test "x$L2PROJECTIONBASE" = "xyes"; then
+-
+ 	HAVE_L2PROJECTIONBASE=yes
+-
+ 	AC_DEFINE([_HAVE_L2PROJECTIONBASE_],[1],[with L2ProjectionBase capability])
+-
+ fi
+-
+ AM_CONDITIONAL([L2PROJECTIONBASE], [test x$HAVE_L2PROJECTIONBASE = xyes])
+-
+ AC_MSG_RESULT($HAVE_L2PROJECTIONBASE)
+-
+ dnl }}}
+ dnl with-DamageEvolution{{{
+-
+ AC_ARG_WITH([DamageEvolution],
+-
+ 	AS_HELP_STRING([--with-DamageEvolution = YES], [compile with DamageEvolution capabilities (default is yes)]),
+-
+ 	[DAMAGEEVOLUTION=$withval],[DAMAGEEVOLUTION=yes])
+-
+ AC_MSG_CHECKING(for DamageEvolution capability compilation)
+ 
+-
+ HAVE_DAMAGEEVOLUTION=no 
+-
+ if test "x$DAMAGEEVOLUTION" = "xyes"; then
+-
+ 	HAVE_DAMAGEEVOLUTION=yes
+-
+ 	AC_DEFINE([_HAVE_DAMAGEEVOLUTION_],[1],[with DamageEvolution capability])
+-
+ fi
+-
+ AM_CONDITIONAL([DAMAGEEVOLUTION], [test x$HAVE_DAMAGEEVOLUTION = xyes])
+-
+ AC_MSG_RESULT($HAVE_DAMAGEEVOLUTION)
+-
+ dnl }}}
+ dnl with-Stressbalance{{{
+-
+ AC_ARG_WITH([Stressbalance],
+-
+ 	AS_HELP_STRING([--with-Stressbalance = YES], [compile with Stressbalance capabilities (default is yes)]),
+-
+ 	[STRESSBALANCE=$withval],[STRESSBALANCE=yes])
+-
+ AC_MSG_CHECKING(for Stressbalance capability compilation)
+ 
+-
+ HAVE_STRESSBALANCE=no 
+-
+ if test "x$STRESSBALANCE" = "xyes"; then
+-
+ 	HAVE_STRESSBALANCE=yes
+-
+ 	AC_DEFINE([_HAVE_STRESSBALANCE_],[1],[with Stressbalance capability])
+-
+ fi
+-
+ AM_CONDITIONAL([STRESSBALANCE], [test x$HAVE_STRESSBALANCE = xyes])
+-
+ AC_MSG_RESULT($HAVE_STRESSBALANCE)
+-
+ dnl }}}
+ dnl with-StressbalanceSIA{{{
+-
+ AC_ARG_WITH([StressbalanceSIA],
+-
+ 	AS_HELP_STRING([--with-StressbalanceSIA = YES], [compile with StressbalanceSIA capabilities (default is yes)]),
+-
+ 	[STRESSBALANCESIA=$withval],[STRESSBALANCESIA=yes])
+-
+ AC_MSG_CHECKING(for StressbalanceSIA capability compilation)
+ 
+-
+ HAVE_STRESSBALANCESIA=no 
+-
+ if test "x$STRESSBALANCESIA" = "xyes"; then
+-
+ 	HAVE_STRESSBALANCESIA=yes
+-
+ 	AC_DEFINE([_HAVE_STRESSBALANCESIA_],[1],[with StressbalanceSIA capability])
+-
+ fi
+-
+ AM_CONDITIONAL([STRESSBALANCESIA], [test x$HAVE_STRESSBALANCESIA = xyes])
+-
+ AC_MSG_RESULT($HAVE_STRESSBALANCESIA)
+-
+ dnl }}}
+ dnl with-StressbalanceVertical{{{
+-
+ AC_ARG_WITH([StressbalanceVertical],
+-
+ 	AS_HELP_STRING([--with-StressbalanceVertical = YES], [compile with StressbalanceVertical capabilities (default is yes)]),
+-
+ 	[STRESSBALANCEVERTICAL=$withval],[STRESSBALANCEVERTICAL=yes])
+-
+ AC_MSG_CHECKING(for StressbalanceVertical capability compilation)
+ 
+-
+ HAVE_STRESSBALANCEVERTICAL=no 
+-
+ if test "x$STRESSBALANCEVERTICAL" = "xyes"; then
+-
+ 	HAVE_STRESSBALANCEVERTICAL=yes
+-
+ 	AC_DEFINE([_HAVE_STRESSBALANCEVERTICAL_],[1],[with StressbalanceVertical capability])
+-
+ fi
+-
+ AM_CONDITIONAL([STRESSBALANCEVERTICAL], [test x$HAVE_STRESSBALANCEVERTICAL = xyes])
+-
+ AC_MSG_RESULT($HAVE_STRESSBALANCEVERTICAL)
+-
+ dnl }}}
+ dnl with-Enthalpy{{{
+-
+ AC_ARG_WITH([Enthalpy],
+-
+ 	AS_HELP_STRING([--with-Enthalpy = YES], [compile with Enthalpy capabilities (default is yes)]),
+-
+ 	[ENTHALPY=$withval],[ENTHALPY=yes])
+-
+ AC_MSG_CHECKING(for Enthalpy capability compilation)
+ 
+-
+ HAVE_ENTHALPY=no 
+-
+ if test "x$ENTHALPY" = "xyes"; then
+-
+ 	HAVE_ENTHALPY=yes
+-
+ 	AC_DEFINE([_HAVE_ENTHALPY_],[1],[with Enthalpy capability])
+-
+ fi
+-
+ AM_CONDITIONAL([ENTHALPY], [test x$HAVE_ENTHALPY = xyes])
+-
+ AC_MSG_RESULT($HAVE_ENTHALPY)
+-
+ dnl }}}
+ dnl with-HydrologyShreve{{{
+-
+ AC_ARG_WITH([HydrologyShreve],
+-
+ 	AS_HELP_STRING([--with-HydrologyShreve = YES], [compile with HydrologyShreve capabilities (default is yes)]),
+-
+ 	[HYDROLOGYSHREVE=$withval],[HYDROLOGYSHREVE=yes])
+-
+ AC_MSG_CHECKING(for HydrologyShreve capability compilation)
+ 
+-
+ HAVE_HYDROLOGYSHREVE=no 
+-
+ if test "x$HYDROLOGYSHREVE" = "xyes"; then
+-
+ 	HAVE_HYDROLOGYSHREVE=yes
+-
+ 	AC_DEFINE([_HAVE_HYDROLOGYSHREVE_],[1],[with HydrologyShreve capability])
+-
+ fi
+-
+ AM_CONDITIONAL([HYDROLOGYSHREVE], [test x$HAVE_HYDROLOGYSHREVE = xyes])
+-
+ AC_MSG_RESULT($HAVE_HYDROLOGYSHREVE)
+-
+ dnl }}}
+ dnl with-HydrologyDCInefficient{{{
+-
+ AC_ARG_WITH([HydrologyDCInefficient],
+-
+ 	AS_HELP_STRING([--with-HydrologyDCInefficient = YES], [compile with HydrologyDCInefficient capabilities (default is yes)]),
+-
+ 	[HYDROLOGYDCINEFFICIENT=$withval],[HYDROLOGYDCINEFFICIENT=yes])
+-
+ AC_MSG_CHECKING(for HydrologyDCInefficient capability compilation)
+ 
+-
+ HAVE_HYDROLOGYDCINEFFICIENT=no 
+-
+ if test "x$HYDROLOGYDCINEFFICIENT" = "xyes"; then
+-
+ 	HAVE_HYDROLOGYDCINEFFICIENT=yes
+-
+ 	AC_DEFINE([_HAVE_HYDROLOGYDCINEFFICIENT_],[1],[with HydrologyDCInefficient capability])
+-
+ fi
+-
+ AM_CONDITIONAL([HYDROLOGYDCINEFFICIENT], [test x$HAVE_HYDROLOGYDCINEFFICIENT = xyes])
+-
+ AC_MSG_RESULT($HAVE_HYDROLOGYDCINEFFICIENT)
+-
+ dnl }}}
+ dnl with-HydrologyDCEfficient{{{
+-
+ AC_ARG_WITH([HydrologyDCEfficient],
+-
+ 	AS_HELP_STRING([--with-HydrologyDCEfficient = YES], [compile with HydrologyDCEfficient capabilities (default is yes)]),
+-
+ 	[HYDROLOGYDCEFFICIENT=$withval],[HYDROLOGYDCEFFICIENT=yes])
+-
+ AC_MSG_CHECKING(for HydrologyDCEfficient capability compilation)
+ 
+-
+ HAVE_HYDROLOGYDCEFFICIENT=no 
+-
+ if test "x$HYDROLOGYDCEFFICIENT" = "xyes"; then
+-
+ 	HAVE_HYDROLOGYDCEFFICIENT=yes
+-
+ 	AC_DEFINE([_HAVE_HYDROLOGYDCEFFICIENT_],[1],[with HydrologyDCEfficient capability])
+-
+ fi
+-
+ AM_CONDITIONAL([HYDROLOGYDCEFFICIENT], [test x$HAVE_HYDROLOGYDCEFFICIENT = xyes])
+-
+ AC_MSG_RESULT($HAVE_HYDROLOGYDCEFFICIENT)
+-
+ dnl }}}
+ dnl with-HydrologySommers{{{
+-
+ AC_ARG_WITH([HydrologySommers],
+-
+ 	AS_HELP_STRING([--with-HydrologySommers = YES], [compile with HydrologySommers capabilities (default is yes)]),
+-
+ 	[HYDROLOGYSOMMERS=$withval],[HYDROLOGYSOMMERS=yes])
+-
+ AC_MSG_CHECKING(for HydrologySommers capability compilation)
+ 
+-
+ HAVE_HYDROLOGYSOMMERS=no 
+-
+ if test "x$HYDROLOGYSOMMERS" = "xyes"; then
+-
+ 	HAVE_HYDROLOGYSOMMERS=yes
+-
+ 	AC_DEFINE([_HAVE_HYDROLOGYSOMMERS_],[1],[with HydrologySommers capability])
+-
+ fi
+-
+ AM_CONDITIONAL([HYDROLOGYSOMMERS], [test x$HAVE_HYDROLOGYSOMMERS = xyes])
+-
+ AC_MSG_RESULT($HAVE_HYDROLOGYSOMMERS)
+-
+ dnl }}}
+ dnl with-Melting{{{
+-
+ AC_ARG_WITH([Melting],
+-
+ 	AS_HELP_STRING([--with-Melting = YES], [compile with Melting capabilities (default is yes)]),
+-
+ 	[MELTING=$withval],[MELTING=yes])
+-
+ AC_MSG_CHECKING(for Melting capability compilation)
+ 
+-
+ HAVE_MELTING=no 
+-
+ if test "x$MELTING" = "xyes"; then
+-
+ 	HAVE_MELTING=yes
+-
+ 	AC_DEFINE([_HAVE_MELTING_],[1],[with Melting capability])
+-
+ fi
+-
+ AM_CONDITIONAL([MELTING], [test x$HAVE_MELTING = xyes])
+-
+ AC_MSG_RESULT($HAVE_MELTING)
+-
+ dnl }}}
+ dnl with-Masstransport{{{
+-
+ AC_ARG_WITH([Masstransport],
+-
+ 	AS_HELP_STRING([--with-Masstransport = YES], [compile with Masstransport capabilities (default is yes)]),
+-
+ 	[MASSTRANSPORT=$withval],[MASSTRANSPORT=yes])
+-
+ AC_MSG_CHECKING(for Masstransport capability compilation)
+ 
+-
+ HAVE_MASSTRANSPORT=no 
+-
+ if test "x$MASSTRANSPORT" = "xyes"; then
+-
+ 	HAVE_MASSTRANSPORT=yes
+-
+ 	AC_DEFINE([_HAVE_MASSTRANSPORT_],[1],[with Masstransport capability])
+-
+ fi
+-
+ AM_CONDITIONAL([MASSTRANSPORT], [test x$HAVE_MASSTRANSPORT = xyes])
+-
+ AC_MSG_RESULT($HAVE_MASSTRANSPORT)
+-
+ dnl }}}
+ dnl with-FreeSurfaceBase{{{
+-
+ AC_ARG_WITH([FreeSurfaceBase],
+-
+ 	AS_HELP_STRING([--with-FreeSurfaceBase = YES], [compile with FreeSurfaceBase capabilities (default is yes)]),
+-
+ 	[FREESURFACEBASE=$withval],[FREESURFACEBASE=yes])
+-
+ AC_MSG_CHECKING(for FreeSurfaceBase capability compilation)
+ 
+-
+ HAVE_FREESURFACEBASE=no 
+-
+ if test "x$FREESURFACEBASE" = "xyes"; then
+-
+ 	HAVE_FREESURFACEBASE=yes
+-
+ 	AC_DEFINE([_HAVE_FREESURFACEBASE_],[1],[with FreeSurfaceBase capability])
+-
+ fi
+-
+ AM_CONDITIONAL([FREESURFACEBASE], [test x$HAVE_FREESURFACEBASE = xyes])
+-
+ AC_MSG_RESULT($HAVE_FREESURFACEBASE)
+-
+ dnl }}}
+ dnl with-FreeSurfaceTop{{{
+-
+ AC_ARG_WITH([FreeSurfaceTop],
+-
+ 	AS_HELP_STRING([--with-FreeSurfaceTop = YES], [compile with FreeSurfaceTop capabilities (default is yes)]),
+-
+ 	[FREESURFACETOP=$withval],[FREESURFACETOP=yes])
+-
+ AC_MSG_CHECKING(for FreeSurfaceTop capability compilation)
+ 
+-
+ HAVE_FREESURFACETOP=no 
+-
+ if test "x$FREESURFACETOP" = "xyes"; then
+-
+ 	HAVE_FREESURFACETOP=yes
+-
+ 	AC_DEFINE([_HAVE_FREESURFACETOP_],[1],[with FreeSurfaceTop capability])
+-
+ fi
+-
+ AM_CONDITIONAL([FREESURFACETOP], [test x$HAVE_FREESURFACETOP = xyes])
+-
+ AC_MSG_RESULT($HAVE_FREESURFACETOP)
+-
+ dnl }}}
+ dnl with-ExtrudeFromBase{{{
+-
+ AC_ARG_WITH([ExtrudeFromBase],
+-
+ 	AS_HELP_STRING([--with-ExtrudeFromBase = YES], [compile with ExtrudeFromBase capabilities (default is yes)]),
+-
+ 	[EXTRUDEFROMBASE=$withval],[EXTRUDEFROMBASE=yes])
+-
+ AC_MSG_CHECKING(for ExtrudeFromBase capability compilation)
+ 
+-
+ HAVE_EXTRUDEFROMBASE=no 
+-
+ if test "x$EXTRUDEFROMBASE" = "xyes"; then
+-
+ 	HAVE_EXTRUDEFROMBASE=yes
+-
+ 	AC_DEFINE([_HAVE_EXTRUDEFROMBASE_],[1],[with ExtrudeFromBase capability])
+-
+ fi
+-
+ AM_CONDITIONAL([EXTRUDEFROMBASE], [test x$HAVE_EXTRUDEFROMBASE = xyes])
+-
+ AC_MSG_RESULT($HAVE_EXTRUDEFROMBASE)
+-
+ dnl }}}
+ dnl with-ExtrudeFromTop{{{
+-
+ AC_ARG_WITH([ExtrudeFromTop],
+-
+ 	AS_HELP_STRING([--with-ExtrudeFromTop = YES], [compile with ExtrudeFromTop capabilities (default is yes)]),
+-
+ 	[EXTRUDEFROMTOP=$withval],[EXTRUDEFROMTOP=yes])
+-
+ AC_MSG_CHECKING(for ExtrudeFromTop capability compilation)
+ 
+-
+ HAVE_EXTRUDEFROMTOP=no 
+-
+ if test "x$EXTRUDEFROMTOP" = "xyes"; then
+-
+ 	HAVE_EXTRUDEFROMTOP=yes
+-
+ 	AC_DEFINE([_HAVE_EXTRUDEFROMTOP_],[1],[with ExtrudeFromTop capability])
+-
+ fi
+-
+ AM_CONDITIONAL([EXTRUDEFROMTOP], [test x$HAVE_EXTRUDEFROMTOP = xyes])
+-
+ AC_MSG_RESULT($HAVE_EXTRUDEFROMTOP)
+-
+ dnl }}}
+ dnl with-DepthAverage{{{
+-
+ AC_ARG_WITH([DepthAverage],
+-
+ 	AS_HELP_STRING([--with-DepthAverage = YES], [compile with DepthAverage capabilities (default is yes)]),
+-
+ 	[DEPTHAVERAGE=$withval],[DEPTHAVERAGE=yes])
+-
+ AC_MSG_CHECKING(for DepthAverage capability compilation)
+ 
+-
+ HAVE_DEPTHAVERAGE=no 
+-
+ if test "x$DEPTHAVERAGE" = "xyes"; then
+-
+ 	HAVE_DEPTHAVERAGE=yes
+-
+ 	AC_DEFINE([_HAVE_DEPTHAVERAGE_],[1],[with DepthAverage capability])
+-
+ fi
+-
+ AM_CONDITIONAL([DEPTHAVERAGE], [test x$HAVE_DEPTHAVERAGE = xyes])
+-
+ AC_MSG_RESULT($HAVE_DEPTHAVERAGE)
+-
+ dnl }}}
+ dnl with-Sealevelrise{{{
+-
+ AC_ARG_WITH([Sealevelrise],
+-
+ 	AS_HELP_STRING([--with-Sealevelrise = YES], [compile with Sealevelrise capabilities (default is yes)]),
+-
+ 	[SEALEVELRISE=$withval],[SEALEVELRISE=yes])
+-
+ AC_MSG_CHECKING(for Sealevelrise capability compilation)
+ 
+-
+ HAVE_SEALEVELRISE=no 
+-
+ if test "x$SEALEVELRISE" = "xyes"; then
+-
+ 	HAVE_SEALEVELRISE=yes
+-
+ 	AC_DEFINE([_HAVE_SEALEVELRISE_],[1],[with Sealevelrise capability])
+-
+ fi
+-
+ AM_CONDITIONAL([SEALEVELRISE], [test x$HAVE_SEALEVELRISE = xyes])
+-
+ AC_MSG_RESULT($HAVE_SEALEVELRISE)
+-
+ dnl }}}
+ dnl with-Smooth{{{
+-
+ AC_ARG_WITH([Smooth],
+-
+ 	AS_HELP_STRING([--with-Smooth = YES], [compile with Smooth capabilities (default is yes)]),
+-
+ 	[SMOOTH=$withval],[SMOOTH=yes])
+-
+ AC_MSG_CHECKING(for Smooth capability compilation)
+ 
+-
+ HAVE_SMOOTH=no 
+-
+ if test "x$SMOOTH" = "xyes"; then
+-
+ 	HAVE_SMOOTH=yes
+-
+ 	AC_DEFINE([_HAVE_SMOOTH_],[1],[with Smooth capability])
+-
+ fi
+-
+ AM_CONDITIONAL([SMOOTH], [test x$HAVE_SMOOTH = xyes])
+-
+ AC_MSG_RESULT($HAVE_SMOOTH)
+-
+ dnl }}}
+ dnl with-Thermal{{{
+-
+ AC_ARG_WITH([Thermal],
+-
+ 	AS_HELP_STRING([--with-Thermal = YES], [compile with Thermal capabilities (default is yes)]),
+-
+ 	[THERMAL=$withval],[THERMAL=yes])
+-
+ AC_MSG_CHECKING(for Thermal capability compilation)
+ 
+-
+ HAVE_THERMAL=no 
+-
+ if test "x$THERMAL" = "xyes"; then
+-
+ 	HAVE_THERMAL=yes
+-
+ 	AC_DEFINE([_HAVE_THERMAL_],[1],[with Thermal capability])
+-
+ fi
+-
+ AM_CONDITIONAL([THERMAL], [test x$HAVE_THERMAL = xyes])
+-
+ AC_MSG_RESULT($HAVE_THERMAL)
+-
+ dnl }}}
+ dnl with-UzawaPressure{{{
+-
+ AC_ARG_WITH([UzawaPressure],
+-
+ 	AS_HELP_STRING([--with-UzawaPressure = YES], [compile with UzawaPressure capabilities (default is yes)]),
+-
+ 	[UZAWAPRESSURE=$withval],[UZAWAPRESSURE=yes])
+-
+ AC_MSG_CHECKING(for UzawaPressure capability compilation)
+ 
+-
+ HAVE_UZAWAPRESSURE=no 
+-
+ if test "x$UZAWAPRESSURE" = "xyes"; then
+-
+ 	HAVE_UZAWAPRESSURE=yes
+-
+ 	AC_DEFINE([_HAVE_UZAWAPRESSURE_],[1],[with UzawaPressure capability])
+-
+ fi
+-
+ AM_CONDITIONAL([UZAWAPRESSURE], [test x$HAVE_UZAWAPRESSURE = xyes])
+-
+ AC_MSG_RESULT($HAVE_UZAWAPRESSURE)
+-
+ dnl }}}
+ dnl with-GiaIvins{{{
+-
+ AC_ARG_WITH([GiaIvins],
+-
+ 	AS_HELP_STRING([--with-GiaIvins = YES], [compile with GiaIvins capabilities (default is yes)]),
+-
+ 	[GIAIVINS=$withval],[GIAIVINS=yes])
+-
+ AC_MSG_CHECKING(for GiaIvins capability compilation)
+ 
+-
+ HAVE_GIAIVINS=no 
+-
+ if test "x$GIAIVINS" = "xyes"; then
+-
+ 	HAVE_GIAIVINS=yes
+-
+ 	AC_DEFINE([_HAVE_GIAIVINS_],[1],[with GiaIvins capability])
+-
+ fi
+-
+ AM_CONDITIONAL([GIAIVINS], [test x$HAVE_GIAIVINS = xyes])
+-
+ AC_MSG_RESULT($HAVE_GIAIVINS)
+-
+ dnl }}}
+ dnl with-Esa{{{
+-
+ AC_ARG_WITH([Esa],
+-
+ 	AS_HELP_STRING([--with-Esa = YES], [compile with Esa capabilities (default is yes)]),
+-
+ 	[ESA=$withval],[ESA=yes])
+-
+ AC_MSG_CHECKING(for Esa capability compilation)
+ 
+-
+ HAVE_ESA=no 
+-
+ if test "x$ESA" = "xyes"; then
+-
+ 	HAVE_ESA=yes
+-
+ 	AC_DEFINE([_HAVE_ESA_],[1],[with Esa capability])
+-
+ fi
+-
+ AM_CONDITIONAL([ESA], [test x$HAVE_ESA = xyes])
+-
+ AC_MSG_RESULT($HAVE_ESA)
+-
+ dnl }}}
+ dnl with-Meshdeformation{{{
+-
+ AC_ARG_WITH([Meshdeformation],
+-
+ 	AS_HELP_STRING([--with-Meshdeformation = YES], [compile with Meshdeformation capabilities (default is yes)]),
+-
+ 	[MESHDEFORMATION=$withval],[MESHDEFORMATION=yes])
+-
+ AC_MSG_CHECKING(for Meshdeformation capability compilation)
+ 
+-
+ HAVE_MESHDEFORMATION=no 
+-
+ if test "x$MESHDEFORMATION" = "xyes"; then
+-
+ 	HAVE_MESHDEFORMATION=yes
+-
+ 	AC_DEFINE([_HAVE_MESHDEFORMATION_],[1],[with Meshdeformation capability])
+-
+ fi
+-
+ AM_CONDITIONAL([MESHDEFORMATION], [test x$HAVE_MESHDEFORMATION = xyes])
+-
+ AC_MSG_RESULT($HAVE_MESHDEFORMATION)
+-
+ dnl }}}
+ dnl with-Levelset{{{
+-
+ AC_ARG_WITH([Levelset],
+-
+ 	AS_HELP_STRING([--with-Levelset = YES], [compile with Levelset capabilities (default is yes)]),
+-
+ 	[LEVELSET=$withval],[LEVELSET=yes])
+-
+ AC_MSG_CHECKING(for Levelset capability compilation)
+ 
+-
+ HAVE_LEVELSET=no 
+-
+ if test "x$LEVELSET" = "xyes"; then
+-
+ 	HAVE_LEVELSET=yes
+-
+ 	AC_DEFINE([_HAVE_LEVELSET_],[1],[with Levelset capability])
+-
+ fi
+-
+ AM_CONDITIONAL([LEVELSET], [test x$HAVE_LEVELSET = xyes])
+-
+ AC_MSG_RESULT($HAVE_LEVELSET)
+-
+ dnl }}}
+ dnl with-Extrapolation{{{
+-
+ AC_ARG_WITH([Extrapolation],
+-
+ 	AS_HELP_STRING([--with-Extrapolation = YES], [compile with Extrapolation capabilities (default is yes)]),
+-
+ 	[EXTRAPOLATION=$withval],[EXTRAPOLATION=yes])
+-
+ AC_MSG_CHECKING(for Extrapolation capability compilation)
+ 
+-
+ HAVE_EXTRAPOLATION=no 
+-
+ if test "x$EXTRAPOLATION" = "xyes"; then
+-
+ 	HAVE_EXTRAPOLATION=yes
+-
+ 	AC_DEFINE([_HAVE_EXTRAPOLATION_],[1],[with Extrapolation capability])
+-
+ fi
+-
+ AM_CONDITIONAL([EXTRAPOLATION], [test x$HAVE_EXTRAPOLATION = xyes])
+-
+ AC_MSG_RESULT($HAVE_EXTRAPOLATION)
+-
+ dnl }}}
+ 
+ ])
+Index: ../trunk-jpl/externalpackages/valgrind/install-linux64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/valgrind/install-linux64.sh	(revision 21656)
++++ ../trunk-jpl/externalpackages/valgrind/install-linux64.sh	(revision 21657)
+@@ -1,28 +1,48 @@
+ #!/bin/bash
+ set -eu
+ 
+-#Some cleanup
+-rm -rf install valgrind-3.10.0
+-mkdir install
++#old version (Kernel issue)
++# #Some cleanup
++# rm -rf install valgrind-3.10.0
++# mkdir install
+ 
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/valgrind-3.10.0.tar.bz2' 'valgrind-3.10.0.tar.bz2'
+ 
+-#Untar 
+-tar -jxvf  valgrind-3.10.0.tar.bz2
++# #Download from ISSM server
++# # $ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/valgrind-3.10.0.tar.bz2' 'valgrind-3.10.0.tar.bz2'
+ 
+-#Move valgrind into install directory
+-mv valgrind-3.10.0/* install
+-rm -rf valgrind-3.10.0
++# #Untar 
++# tar -jxvf  valgrind-3.10.0.tar.bz2
+ 
++# #Move valgrind into install directory
++# mv valgrind-3.10.0/* install
++# rm -rf valgrind-3.10.0
++
++# #configure
++# cd install
++# ./configure  --prefix="$ISSM_DIR/externalpackages/valgrind/install"
++
++# #Compile valgrind
++# make  -j 4
++# make install
++
++# #final thing: if mpi is compiled in, soft link its target to a simpler name
++# cd lib
++# ln -s valgrind/libmpiwrap-*  ./libmpidebug.so
++
++#New way cloned on mac
++
++#Some cleanup
++rm -rf install
++
++#Download development version, the current release never supports the latest OS X releases
++svn co svn://svn.valgrind.org/valgrind/trunk install
++
+ #configure
+ cd install
+-./configure  --prefix="$ISSM_DIR/externalpackages/valgrind/install"
++./autogen.sh
++./configure  --prefix="$ISSM_DIR/externalpackages/valgrind/install" --enable-only64bit
+ 
+ #Compile valgrind
+-make  -j 4
++
++make  -j 8
+ make install
+-
+-#final thing: if mpi is compiled in, soft link its target to a simpler name
+-cd lib
+-ln -s valgrind/libmpiwrap-*  ./libmpidebug.so
Index: /issm/oecreview/Archive/21337-21723/ISSM-21657-21658.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21657-21658.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21657-21658.diff	(revision 21726)
@@ -0,0 +1,1001 @@
+Index: ../trunk-jpl/etc/environment.sh
+===================================================================
+--- ../trunk-jpl/etc/environment.sh	(revision 21657)
++++ ../trunk-jpl/etc/environment.sh	(revision 21658)
+@@ -123,7 +123,7 @@
+ SSH_DIR="$ISSM_DIR/externalpackages/ssh"
+ pathappend "$SSH_DIR"
+ 
+-VALGRIND_DIR="/usr/bin/valgrind"
++VALGRIND_DIR="$ISSM_DIR/externalpackages/valgrind/install"
+ pathprepend "$VALGRIND_DIR/bin"
+ 
+ CPPCHECK_DIR="$ISSM_DIR/externalpackages/cppcheck/install"
+Index: ../trunk-jpl/m4/analyses.m4
+===================================================================
+--- ../trunk-jpl/m4/analyses.m4	(revision 21657)
++++ ../trunk-jpl/m4/analyses.m4	(revision 21658)
+@@ -10,494 +10,914 @@
+ [
+ 
+ dnl with-Smb{{{
++
+ AC_ARG_WITH([Smb],
++
+ 	AS_HELP_STRING([--with-Smb = YES], [compile with Smb capabilities (default is yes)]),
++
+ 	[SMB=$withval],[SMB=yes])
++
+ AC_MSG_CHECKING(for Smb capability compilation)
+ 
++
+ HAVE_SMB=no 
++
+ if test "x$SMB" = "xyes"; then
++
+ 	HAVE_SMB=yes
++
+ 	AC_DEFINE([_HAVE_SMB_],[1],[with Smb capability])
++
+ fi
++
+ AM_CONDITIONAL([SMB], [test x$HAVE_SMB = xyes])
++
+ AC_MSG_RESULT($HAVE_SMB)
++
+ dnl }}}
+ dnl with-AdjointBalancethickness{{{
++
+ AC_ARG_WITH([AdjointBalancethickness],
++
+ 	AS_HELP_STRING([--with-AdjointBalancethickness = YES], [compile with AdjointBalancethickness capabilities (default is yes)]),
++
+ 	[ADJOINTBALANCETHICKNESS=$withval],[ADJOINTBALANCETHICKNESS=yes])
++
+ AC_MSG_CHECKING(for AdjointBalancethickness capability compilation)
+ 
++
+ HAVE_ADJOINTBALANCETHICKNESS=no 
++
+ if test "x$ADJOINTBALANCETHICKNESS" = "xyes"; then
++
+ 	HAVE_ADJOINTBALANCETHICKNESS=yes
++
+ 	AC_DEFINE([_HAVE_ADJOINTBALANCETHICKNESS_],[1],[with AdjointBalancethickness capability])
++
+ fi
++
+ AM_CONDITIONAL([ADJOINTBALANCETHICKNESS], [test x$HAVE_ADJOINTBALANCETHICKNESS = xyes])
++
+ AC_MSG_RESULT($HAVE_ADJOINTBALANCETHICKNESS)
++
+ dnl }}}
+ dnl with-AdjointBalancethickness2{{{
++
+ AC_ARG_WITH([AdjointBalancethickness2],
++
+ 	AS_HELP_STRING([--with-AdjointBalancethickness2 = YES], [compile with AdjointBalancethickness2 capabilities (default is yes)]),
++
+ 	[ADJOINTBALANCETHICKNESS2=$withval],[ADJOINTBALANCETHICKNESS2=yes])
++
+ AC_MSG_CHECKING(for AdjointBalancethickness2 capability compilation)
+ 
++
+ HAVE_ADJOINTBALANCETHICKNESS2=no 
++
+ if test "x$ADJOINTBALANCETHICKNESS2" = "xyes"; then
++
+ 	HAVE_ADJOINTBALANCETHICKNESS2=yes
++
+ 	AC_DEFINE([_HAVE_ADJOINTBALANCETHICKNESS2_],[1],[with AdjointBalancethickness2 capability])
++
+ fi
++
+ AM_CONDITIONAL([ADJOINTBALANCETHICKNESS2], [test x$HAVE_ADJOINTBALANCETHICKNESS2 = xyes])
++
+ AC_MSG_RESULT($HAVE_ADJOINTBALANCETHICKNESS2)
++
+ dnl }}}
+ dnl with-AdjointHoriz{{{
++
+ AC_ARG_WITH([AdjointHoriz],
++
+ 	AS_HELP_STRING([--with-AdjointHoriz = YES], [compile with AdjointHoriz capabilities (default is yes)]),
++
+ 	[ADJOINTHORIZ=$withval],[ADJOINTHORIZ=yes])
++
+ AC_MSG_CHECKING(for AdjointHoriz capability compilation)
+ 
++
+ HAVE_ADJOINTHORIZ=no 
++
+ if test "x$ADJOINTHORIZ" = "xyes"; then
++
+ 	HAVE_ADJOINTHORIZ=yes
++
+ 	AC_DEFINE([_HAVE_ADJOINTHORIZ_],[1],[with AdjointHoriz capability])
++
+ fi
++
+ AM_CONDITIONAL([ADJOINTHORIZ], [test x$HAVE_ADJOINTHORIZ = xyes])
++
+ AC_MSG_RESULT($HAVE_ADJOINTHORIZ)
++
+ dnl }}}
+ dnl with-Balancethickness{{{
++
+ AC_ARG_WITH([Balancethickness],
++
+ 	AS_HELP_STRING([--with-Balancethickness = YES], [compile with Balancethickness capabilities (default is yes)]),
++
+ 	[BALANCETHICKNESS=$withval],[BALANCETHICKNESS=yes])
++
+ AC_MSG_CHECKING(for Balancethickness capability compilation)
+ 
++
+ HAVE_BALANCETHICKNESS=no 
++
+ if test "x$BALANCETHICKNESS" = "xyes"; then
++
+ 	HAVE_BALANCETHICKNESS=yes
++
+ 	AC_DEFINE([_HAVE_BALANCETHICKNESS_],[1],[with Balancethickness capability])
++
+ fi
++
+ AM_CONDITIONAL([BALANCETHICKNESS], [test x$HAVE_BALANCETHICKNESS = xyes])
++
+ AC_MSG_RESULT($HAVE_BALANCETHICKNESS)
++
+ dnl }}}
+ dnl with-Balancethickness2{{{
++
+ AC_ARG_WITH([Balancethickness2],
++
+ 	AS_HELP_STRING([--with-Balancethickness2 = YES], [compile with Balancethickness2 capabilities (default is yes)]),
++
+ 	[BALANCETHICKNESS2=$withval],[BALANCETHICKNESS2=yes])
++
+ AC_MSG_CHECKING(for Balancethickness2 capability compilation)
+ 
++
+ HAVE_BALANCETHICKNESS2=no 
++
+ if test "x$BALANCETHICKNESS2" = "xyes"; then
++
+ 	HAVE_BALANCETHICKNESS2=yes
++
+ 	AC_DEFINE([_HAVE_BALANCETHICKNESS2_],[1],[with Balancethickness2 capability])
++
+ fi
++
+ AM_CONDITIONAL([BALANCETHICKNESS2], [test x$HAVE_BALANCETHICKNESS2 = xyes])
++
+ AC_MSG_RESULT($HAVE_BALANCETHICKNESS2)
++
+ dnl }}}
+ dnl with-BalancethicknessSoft{{{
++
+ AC_ARG_WITH([BalancethicknessSoft],
++
+ 	AS_HELP_STRING([--with-BalancethicknessSoft = YES], [compile with BalancethicknessSoft capabilities (default is yes)]),
++
+ 	[BALANCETHICKNESSSOFT=$withval],[BALANCETHICKNESSSOFT=yes])
++
+ AC_MSG_CHECKING(for BalancethicknessSoft capability compilation)
+ 
++
+ HAVE_BALANCETHICKNESSSOFT=no 
++
+ if test "x$BALANCETHICKNESSSOFT" = "xyes"; then
++
+ 	HAVE_BALANCETHICKNESSSOFT=yes
++
+ 	AC_DEFINE([_HAVE_BALANCETHICKNESSSOFT_],[1],[with BalancethicknessSoft capability])
++
+ fi
++
+ AM_CONDITIONAL([BALANCETHICKNESSSOFT], [test x$HAVE_BALANCETHICKNESSSOFT = xyes])
++
+ AC_MSG_RESULT($HAVE_BALANCETHICKNESSSOFT)
++
+ dnl }}}
+ dnl with-Balancevelocity{{{
++
+ AC_ARG_WITH([Balancevelocity],
++
+ 	AS_HELP_STRING([--with-Balancevelocity = YES], [compile with Balancevelocity capabilities (default is yes)]),
++
+ 	[BALANCEVELOCITY=$withval],[BALANCEVELOCITY=yes])
++
+ AC_MSG_CHECKING(for Balancevelocity capability compilation)
+ 
++
+ HAVE_BALANCEVELOCITY=no 
++
+ if test "x$BALANCEVELOCITY" = "xyes"; then
++
+ 	HAVE_BALANCEVELOCITY=yes
++
+ 	AC_DEFINE([_HAVE_BALANCEVELOCITY_],[1],[with Balancevelocity capability])
++
+ fi
++
+ AM_CONDITIONAL([BALANCEVELOCITY], [test x$HAVE_BALANCEVELOCITY = xyes])
++
+ AC_MSG_RESULT($HAVE_BALANCEVELOCITY)
++
+ dnl }}}
+ dnl with-L2ProjectionEPL{{{
++
+ AC_ARG_WITH([L2ProjectionEPL],
++
+ 	AS_HELP_STRING([--with-L2ProjectionEPL = YES], [compile with L2ProjectionEPL capabilities (default is yes)]),
++
+ 	[L2PROJECTIONEPL=$withval],[L2PROJECTIONEPL=yes])
++
+ AC_MSG_CHECKING(for L2ProjectionEPL capability compilation)
+ 
++
+ HAVE_L2PROJECTIONEPL=no 
++
+ if test "x$L2PROJECTIONEPL" = "xyes"; then
++
+ 	HAVE_L2PROJECTIONEPL=yes
++
+ 	AC_DEFINE([_HAVE_L2PROJECTIONEPL_],[1],[with L2ProjectionEPL capability])
++
+ fi
++
+ AM_CONDITIONAL([L2PROJECTIONEPL], [test x$HAVE_L2PROJECTIONEPL = xyes])
++
+ AC_MSG_RESULT($HAVE_L2PROJECTIONEPL)
++
+ dnl }}}
+ dnl with-L2ProjectionBase{{{
++
+ AC_ARG_WITH([L2ProjectionBase],
++
+ 	AS_HELP_STRING([--with-L2ProjectionBase = YES], [compile with L2ProjectionBase capabilities (default is yes)]),
++
+ 	[L2PROJECTIONBASE=$withval],[L2PROJECTIONBASE=yes])
++
+ AC_MSG_CHECKING(for L2ProjectionBase capability compilation)
+ 
++
+ HAVE_L2PROJECTIONBASE=no 
++
+ if test "x$L2PROJECTIONBASE" = "xyes"; then
++
+ 	HAVE_L2PROJECTIONBASE=yes
++
+ 	AC_DEFINE([_HAVE_L2PROJECTIONBASE_],[1],[with L2ProjectionBase capability])
++
+ fi
++
+ AM_CONDITIONAL([L2PROJECTIONBASE], [test x$HAVE_L2PROJECTIONBASE = xyes])
++
+ AC_MSG_RESULT($HAVE_L2PROJECTIONBASE)
++
+ dnl }}}
+ dnl with-DamageEvolution{{{
++
+ AC_ARG_WITH([DamageEvolution],
++
+ 	AS_HELP_STRING([--with-DamageEvolution = YES], [compile with DamageEvolution capabilities (default is yes)]),
++
+ 	[DAMAGEEVOLUTION=$withval],[DAMAGEEVOLUTION=yes])
++
+ AC_MSG_CHECKING(for DamageEvolution capability compilation)
+ 
++
+ HAVE_DAMAGEEVOLUTION=no 
++
+ if test "x$DAMAGEEVOLUTION" = "xyes"; then
++
+ 	HAVE_DAMAGEEVOLUTION=yes
++
+ 	AC_DEFINE([_HAVE_DAMAGEEVOLUTION_],[1],[with DamageEvolution capability])
++
+ fi
++
+ AM_CONDITIONAL([DAMAGEEVOLUTION], [test x$HAVE_DAMAGEEVOLUTION = xyes])
++
+ AC_MSG_RESULT($HAVE_DAMAGEEVOLUTION)
++
+ dnl }}}
+ dnl with-Stressbalance{{{
++
+ AC_ARG_WITH([Stressbalance],
++
+ 	AS_HELP_STRING([--with-Stressbalance = YES], [compile with Stressbalance capabilities (default is yes)]),
++
+ 	[STRESSBALANCE=$withval],[STRESSBALANCE=yes])
++
+ AC_MSG_CHECKING(for Stressbalance capability compilation)
+ 
++
+ HAVE_STRESSBALANCE=no 
++
+ if test "x$STRESSBALANCE" = "xyes"; then
++
+ 	HAVE_STRESSBALANCE=yes
++
+ 	AC_DEFINE([_HAVE_STRESSBALANCE_],[1],[with Stressbalance capability])
++
+ fi
++
+ AM_CONDITIONAL([STRESSBALANCE], [test x$HAVE_STRESSBALANCE = xyes])
++
+ AC_MSG_RESULT($HAVE_STRESSBALANCE)
++
+ dnl }}}
+ dnl with-StressbalanceSIA{{{
++
+ AC_ARG_WITH([StressbalanceSIA],
++
+ 	AS_HELP_STRING([--with-StressbalanceSIA = YES], [compile with StressbalanceSIA capabilities (default is yes)]),
++
+ 	[STRESSBALANCESIA=$withval],[STRESSBALANCESIA=yes])
++
+ AC_MSG_CHECKING(for StressbalanceSIA capability compilation)
+ 
++
+ HAVE_STRESSBALANCESIA=no 
++
+ if test "x$STRESSBALANCESIA" = "xyes"; then
++
+ 	HAVE_STRESSBALANCESIA=yes
++
+ 	AC_DEFINE([_HAVE_STRESSBALANCESIA_],[1],[with StressbalanceSIA capability])
++
+ fi
++
+ AM_CONDITIONAL([STRESSBALANCESIA], [test x$HAVE_STRESSBALANCESIA = xyes])
++
+ AC_MSG_RESULT($HAVE_STRESSBALANCESIA)
++
+ dnl }}}
+ dnl with-StressbalanceVertical{{{
++
+ AC_ARG_WITH([StressbalanceVertical],
++
+ 	AS_HELP_STRING([--with-StressbalanceVertical = YES], [compile with StressbalanceVertical capabilities (default is yes)]),
++
+ 	[STRESSBALANCEVERTICAL=$withval],[STRESSBALANCEVERTICAL=yes])
++
+ AC_MSG_CHECKING(for StressbalanceVertical capability compilation)
+ 
++
+ HAVE_STRESSBALANCEVERTICAL=no 
++
+ if test "x$STRESSBALANCEVERTICAL" = "xyes"; then
++
+ 	HAVE_STRESSBALANCEVERTICAL=yes
++
+ 	AC_DEFINE([_HAVE_STRESSBALANCEVERTICAL_],[1],[with StressbalanceVertical capability])
++
+ fi
++
+ AM_CONDITIONAL([STRESSBALANCEVERTICAL], [test x$HAVE_STRESSBALANCEVERTICAL = xyes])
++
+ AC_MSG_RESULT($HAVE_STRESSBALANCEVERTICAL)
++
+ dnl }}}
+ dnl with-Enthalpy{{{
++
+ AC_ARG_WITH([Enthalpy],
++
+ 	AS_HELP_STRING([--with-Enthalpy = YES], [compile with Enthalpy capabilities (default is yes)]),
++
+ 	[ENTHALPY=$withval],[ENTHALPY=yes])
++
+ AC_MSG_CHECKING(for Enthalpy capability compilation)
+ 
++
+ HAVE_ENTHALPY=no 
++
+ if test "x$ENTHALPY" = "xyes"; then
++
+ 	HAVE_ENTHALPY=yes
++
+ 	AC_DEFINE([_HAVE_ENTHALPY_],[1],[with Enthalpy capability])
++
+ fi
++
+ AM_CONDITIONAL([ENTHALPY], [test x$HAVE_ENTHALPY = xyes])
++
+ AC_MSG_RESULT($HAVE_ENTHALPY)
++
+ dnl }}}
+ dnl with-HydrologyShreve{{{
++
+ AC_ARG_WITH([HydrologyShreve],
++
+ 	AS_HELP_STRING([--with-HydrologyShreve = YES], [compile with HydrologyShreve capabilities (default is yes)]),
++
+ 	[HYDROLOGYSHREVE=$withval],[HYDROLOGYSHREVE=yes])
++
+ AC_MSG_CHECKING(for HydrologyShreve capability compilation)
+ 
++
+ HAVE_HYDROLOGYSHREVE=no 
++
+ if test "x$HYDROLOGYSHREVE" = "xyes"; then
++
+ 	HAVE_HYDROLOGYSHREVE=yes
++
+ 	AC_DEFINE([_HAVE_HYDROLOGYSHREVE_],[1],[with HydrologyShreve capability])
++
+ fi
++
+ AM_CONDITIONAL([HYDROLOGYSHREVE], [test x$HAVE_HYDROLOGYSHREVE = xyes])
++
+ AC_MSG_RESULT($HAVE_HYDROLOGYSHREVE)
++
+ dnl }}}
+ dnl with-HydrologyDCInefficient{{{
++
+ AC_ARG_WITH([HydrologyDCInefficient],
++
+ 	AS_HELP_STRING([--with-HydrologyDCInefficient = YES], [compile with HydrologyDCInefficient capabilities (default is yes)]),
++
+ 	[HYDROLOGYDCINEFFICIENT=$withval],[HYDROLOGYDCINEFFICIENT=yes])
++
+ AC_MSG_CHECKING(for HydrologyDCInefficient capability compilation)
+ 
++
+ HAVE_HYDROLOGYDCINEFFICIENT=no 
++
+ if test "x$HYDROLOGYDCINEFFICIENT" = "xyes"; then
++
+ 	HAVE_HYDROLOGYDCINEFFICIENT=yes
++
+ 	AC_DEFINE([_HAVE_HYDROLOGYDCINEFFICIENT_],[1],[with HydrologyDCInefficient capability])
++
+ fi
++
+ AM_CONDITIONAL([HYDROLOGYDCINEFFICIENT], [test x$HAVE_HYDROLOGYDCINEFFICIENT = xyes])
++
+ AC_MSG_RESULT($HAVE_HYDROLOGYDCINEFFICIENT)
++
+ dnl }}}
+ dnl with-HydrologyDCEfficient{{{
++
+ AC_ARG_WITH([HydrologyDCEfficient],
++
+ 	AS_HELP_STRING([--with-HydrologyDCEfficient = YES], [compile with HydrologyDCEfficient capabilities (default is yes)]),
++
+ 	[HYDROLOGYDCEFFICIENT=$withval],[HYDROLOGYDCEFFICIENT=yes])
++
+ AC_MSG_CHECKING(for HydrologyDCEfficient capability compilation)
+ 
++
+ HAVE_HYDROLOGYDCEFFICIENT=no 
++
+ if test "x$HYDROLOGYDCEFFICIENT" = "xyes"; then
++
+ 	HAVE_HYDROLOGYDCEFFICIENT=yes
++
+ 	AC_DEFINE([_HAVE_HYDROLOGYDCEFFICIENT_],[1],[with HydrologyDCEfficient capability])
++
+ fi
++
+ AM_CONDITIONAL([HYDROLOGYDCEFFICIENT], [test x$HAVE_HYDROLOGYDCEFFICIENT = xyes])
++
+ AC_MSG_RESULT($HAVE_HYDROLOGYDCEFFICIENT)
++
+ dnl }}}
+ dnl with-HydrologySommers{{{
++
+ AC_ARG_WITH([HydrologySommers],
++
+ 	AS_HELP_STRING([--with-HydrologySommers = YES], [compile with HydrologySommers capabilities (default is yes)]),
++
+ 	[HYDROLOGYSOMMERS=$withval],[HYDROLOGYSOMMERS=yes])
++
+ AC_MSG_CHECKING(for HydrologySommers capability compilation)
+ 
++
+ HAVE_HYDROLOGYSOMMERS=no 
++
+ if test "x$HYDROLOGYSOMMERS" = "xyes"; then
++
+ 	HAVE_HYDROLOGYSOMMERS=yes
++
+ 	AC_DEFINE([_HAVE_HYDROLOGYSOMMERS_],[1],[with HydrologySommers capability])
++
+ fi
++
+ AM_CONDITIONAL([HYDROLOGYSOMMERS], [test x$HAVE_HYDROLOGYSOMMERS = xyes])
++
+ AC_MSG_RESULT($HAVE_HYDROLOGYSOMMERS)
++
+ dnl }}}
+ dnl with-Melting{{{
++
+ AC_ARG_WITH([Melting],
++
+ 	AS_HELP_STRING([--with-Melting = YES], [compile with Melting capabilities (default is yes)]),
++
+ 	[MELTING=$withval],[MELTING=yes])
++
+ AC_MSG_CHECKING(for Melting capability compilation)
+ 
++
+ HAVE_MELTING=no 
++
+ if test "x$MELTING" = "xyes"; then
++
+ 	HAVE_MELTING=yes
++
+ 	AC_DEFINE([_HAVE_MELTING_],[1],[with Melting capability])
++
+ fi
++
+ AM_CONDITIONAL([MELTING], [test x$HAVE_MELTING = xyes])
++
+ AC_MSG_RESULT($HAVE_MELTING)
++
+ dnl }}}
+ dnl with-Masstransport{{{
++
+ AC_ARG_WITH([Masstransport],
++
+ 	AS_HELP_STRING([--with-Masstransport = YES], [compile with Masstransport capabilities (default is yes)]),
++
+ 	[MASSTRANSPORT=$withval],[MASSTRANSPORT=yes])
++
+ AC_MSG_CHECKING(for Masstransport capability compilation)
+ 
++
+ HAVE_MASSTRANSPORT=no 
++
+ if test "x$MASSTRANSPORT" = "xyes"; then
++
+ 	HAVE_MASSTRANSPORT=yes
++
+ 	AC_DEFINE([_HAVE_MASSTRANSPORT_],[1],[with Masstransport capability])
++
+ fi
++
+ AM_CONDITIONAL([MASSTRANSPORT], [test x$HAVE_MASSTRANSPORT = xyes])
++
+ AC_MSG_RESULT($HAVE_MASSTRANSPORT)
++
+ dnl }}}
+ dnl with-FreeSurfaceBase{{{
++
+ AC_ARG_WITH([FreeSurfaceBase],
++
+ 	AS_HELP_STRING([--with-FreeSurfaceBase = YES], [compile with FreeSurfaceBase capabilities (default is yes)]),
++
+ 	[FREESURFACEBASE=$withval],[FREESURFACEBASE=yes])
++
+ AC_MSG_CHECKING(for FreeSurfaceBase capability compilation)
+ 
++
+ HAVE_FREESURFACEBASE=no 
++
+ if test "x$FREESURFACEBASE" = "xyes"; then
++
+ 	HAVE_FREESURFACEBASE=yes
++
+ 	AC_DEFINE([_HAVE_FREESURFACEBASE_],[1],[with FreeSurfaceBase capability])
++
+ fi
++
+ AM_CONDITIONAL([FREESURFACEBASE], [test x$HAVE_FREESURFACEBASE = xyes])
++
+ AC_MSG_RESULT($HAVE_FREESURFACEBASE)
++
+ dnl }}}
+ dnl with-FreeSurfaceTop{{{
++
+ AC_ARG_WITH([FreeSurfaceTop],
++
+ 	AS_HELP_STRING([--with-FreeSurfaceTop = YES], [compile with FreeSurfaceTop capabilities (default is yes)]),
++
+ 	[FREESURFACETOP=$withval],[FREESURFACETOP=yes])
++
+ AC_MSG_CHECKING(for FreeSurfaceTop capability compilation)
+ 
++
+ HAVE_FREESURFACETOP=no 
++
+ if test "x$FREESURFACETOP" = "xyes"; then
++
+ 	HAVE_FREESURFACETOP=yes
++
+ 	AC_DEFINE([_HAVE_FREESURFACETOP_],[1],[with FreeSurfaceTop capability])
++
+ fi
++
+ AM_CONDITIONAL([FREESURFACETOP], [test x$HAVE_FREESURFACETOP = xyes])
++
+ AC_MSG_RESULT($HAVE_FREESURFACETOP)
++
+ dnl }}}
+ dnl with-ExtrudeFromBase{{{
++
+ AC_ARG_WITH([ExtrudeFromBase],
++
+ 	AS_HELP_STRING([--with-ExtrudeFromBase = YES], [compile with ExtrudeFromBase capabilities (default is yes)]),
++
+ 	[EXTRUDEFROMBASE=$withval],[EXTRUDEFROMBASE=yes])
++
+ AC_MSG_CHECKING(for ExtrudeFromBase capability compilation)
+ 
++
+ HAVE_EXTRUDEFROMBASE=no 
++
+ if test "x$EXTRUDEFROMBASE" = "xyes"; then
++
+ 	HAVE_EXTRUDEFROMBASE=yes
++
+ 	AC_DEFINE([_HAVE_EXTRUDEFROMBASE_],[1],[with ExtrudeFromBase capability])
++
+ fi
++
+ AM_CONDITIONAL([EXTRUDEFROMBASE], [test x$HAVE_EXTRUDEFROMBASE = xyes])
++
+ AC_MSG_RESULT($HAVE_EXTRUDEFROMBASE)
++
+ dnl }}}
+ dnl with-ExtrudeFromTop{{{
++
+ AC_ARG_WITH([ExtrudeFromTop],
++
+ 	AS_HELP_STRING([--with-ExtrudeFromTop = YES], [compile with ExtrudeFromTop capabilities (default is yes)]),
++
+ 	[EXTRUDEFROMTOP=$withval],[EXTRUDEFROMTOP=yes])
++
+ AC_MSG_CHECKING(for ExtrudeFromTop capability compilation)
+ 
++
+ HAVE_EXTRUDEFROMTOP=no 
++
+ if test "x$EXTRUDEFROMTOP" = "xyes"; then
++
+ 	HAVE_EXTRUDEFROMTOP=yes
++
+ 	AC_DEFINE([_HAVE_EXTRUDEFROMTOP_],[1],[with ExtrudeFromTop capability])
++
+ fi
++
+ AM_CONDITIONAL([EXTRUDEFROMTOP], [test x$HAVE_EXTRUDEFROMTOP = xyes])
++
+ AC_MSG_RESULT($HAVE_EXTRUDEFROMTOP)
++
+ dnl }}}
+ dnl with-DepthAverage{{{
++
+ AC_ARG_WITH([DepthAverage],
++
+ 	AS_HELP_STRING([--with-DepthAverage = YES], [compile with DepthAverage capabilities (default is yes)]),
++
+ 	[DEPTHAVERAGE=$withval],[DEPTHAVERAGE=yes])
++
+ AC_MSG_CHECKING(for DepthAverage capability compilation)
+ 
++
+ HAVE_DEPTHAVERAGE=no 
++
+ if test "x$DEPTHAVERAGE" = "xyes"; then
++
+ 	HAVE_DEPTHAVERAGE=yes
++
+ 	AC_DEFINE([_HAVE_DEPTHAVERAGE_],[1],[with DepthAverage capability])
++
+ fi
++
+ AM_CONDITIONAL([DEPTHAVERAGE], [test x$HAVE_DEPTHAVERAGE = xyes])
++
+ AC_MSG_RESULT($HAVE_DEPTHAVERAGE)
++
+ dnl }}}
+ dnl with-Sealevelrise{{{
++
+ AC_ARG_WITH([Sealevelrise],
++
+ 	AS_HELP_STRING([--with-Sealevelrise = YES], [compile with Sealevelrise capabilities (default is yes)]),
++
+ 	[SEALEVELRISE=$withval],[SEALEVELRISE=yes])
++
+ AC_MSG_CHECKING(for Sealevelrise capability compilation)
+ 
++
+ HAVE_SEALEVELRISE=no 
++
+ if test "x$SEALEVELRISE" = "xyes"; then
++
+ 	HAVE_SEALEVELRISE=yes
++
+ 	AC_DEFINE([_HAVE_SEALEVELRISE_],[1],[with Sealevelrise capability])
++
+ fi
++
+ AM_CONDITIONAL([SEALEVELRISE], [test x$HAVE_SEALEVELRISE = xyes])
++
+ AC_MSG_RESULT($HAVE_SEALEVELRISE)
++
+ dnl }}}
+ dnl with-Smooth{{{
++
+ AC_ARG_WITH([Smooth],
++
+ 	AS_HELP_STRING([--with-Smooth = YES], [compile with Smooth capabilities (default is yes)]),
++
+ 	[SMOOTH=$withval],[SMOOTH=yes])
++
+ AC_MSG_CHECKING(for Smooth capability compilation)
+ 
++
+ HAVE_SMOOTH=no 
++
+ if test "x$SMOOTH" = "xyes"; then
++
+ 	HAVE_SMOOTH=yes
++
+ 	AC_DEFINE([_HAVE_SMOOTH_],[1],[with Smooth capability])
++
+ fi
++
+ AM_CONDITIONAL([SMOOTH], [test x$HAVE_SMOOTH = xyes])
++
+ AC_MSG_RESULT($HAVE_SMOOTH)
++
+ dnl }}}
+ dnl with-Thermal{{{
++
+ AC_ARG_WITH([Thermal],
++
+ 	AS_HELP_STRING([--with-Thermal = YES], [compile with Thermal capabilities (default is yes)]),
++
+ 	[THERMAL=$withval],[THERMAL=yes])
++
+ AC_MSG_CHECKING(for Thermal capability compilation)
+ 
++
+ HAVE_THERMAL=no 
++
+ if test "x$THERMAL" = "xyes"; then
++
+ 	HAVE_THERMAL=yes
++
+ 	AC_DEFINE([_HAVE_THERMAL_],[1],[with Thermal capability])
++
+ fi
++
+ AM_CONDITIONAL([THERMAL], [test x$HAVE_THERMAL = xyes])
++
+ AC_MSG_RESULT($HAVE_THERMAL)
++
+ dnl }}}
+ dnl with-UzawaPressure{{{
++
+ AC_ARG_WITH([UzawaPressure],
++
+ 	AS_HELP_STRING([--with-UzawaPressure = YES], [compile with UzawaPressure capabilities (default is yes)]),
++
+ 	[UZAWAPRESSURE=$withval],[UZAWAPRESSURE=yes])
++
+ AC_MSG_CHECKING(for UzawaPressure capability compilation)
+ 
++
+ HAVE_UZAWAPRESSURE=no 
++
+ if test "x$UZAWAPRESSURE" = "xyes"; then
++
+ 	HAVE_UZAWAPRESSURE=yes
++
+ 	AC_DEFINE([_HAVE_UZAWAPRESSURE_],[1],[with UzawaPressure capability])
++
+ fi
++
+ AM_CONDITIONAL([UZAWAPRESSURE], [test x$HAVE_UZAWAPRESSURE = xyes])
++
+ AC_MSG_RESULT($HAVE_UZAWAPRESSURE)
++
+ dnl }}}
+ dnl with-GiaIvins{{{
++
+ AC_ARG_WITH([GiaIvins],
++
+ 	AS_HELP_STRING([--with-GiaIvins = YES], [compile with GiaIvins capabilities (default is yes)]),
++
+ 	[GIAIVINS=$withval],[GIAIVINS=yes])
++
+ AC_MSG_CHECKING(for GiaIvins capability compilation)
+ 
++
+ HAVE_GIAIVINS=no 
++
+ if test "x$GIAIVINS" = "xyes"; then
++
+ 	HAVE_GIAIVINS=yes
++
+ 	AC_DEFINE([_HAVE_GIAIVINS_],[1],[with GiaIvins capability])
++
+ fi
++
+ AM_CONDITIONAL([GIAIVINS], [test x$HAVE_GIAIVINS = xyes])
++
+ AC_MSG_RESULT($HAVE_GIAIVINS)
++
+ dnl }}}
+ dnl with-Esa{{{
++
+ AC_ARG_WITH([Esa],
++
+ 	AS_HELP_STRING([--with-Esa = YES], [compile with Esa capabilities (default is yes)]),
++
+ 	[ESA=$withval],[ESA=yes])
++
+ AC_MSG_CHECKING(for Esa capability compilation)
+ 
++
+ HAVE_ESA=no 
++
+ if test "x$ESA" = "xyes"; then
++
+ 	HAVE_ESA=yes
++
+ 	AC_DEFINE([_HAVE_ESA_],[1],[with Esa capability])
++
+ fi
++
+ AM_CONDITIONAL([ESA], [test x$HAVE_ESA = xyes])
++
+ AC_MSG_RESULT($HAVE_ESA)
++
+ dnl }}}
+ dnl with-Meshdeformation{{{
++
+ AC_ARG_WITH([Meshdeformation],
++
+ 	AS_HELP_STRING([--with-Meshdeformation = YES], [compile with Meshdeformation capabilities (default is yes)]),
++
+ 	[MESHDEFORMATION=$withval],[MESHDEFORMATION=yes])
++
+ AC_MSG_CHECKING(for Meshdeformation capability compilation)
+ 
++
+ HAVE_MESHDEFORMATION=no 
++
+ if test "x$MESHDEFORMATION" = "xyes"; then
++
+ 	HAVE_MESHDEFORMATION=yes
++
+ 	AC_DEFINE([_HAVE_MESHDEFORMATION_],[1],[with Meshdeformation capability])
++
+ fi
++
+ AM_CONDITIONAL([MESHDEFORMATION], [test x$HAVE_MESHDEFORMATION = xyes])
++
+ AC_MSG_RESULT($HAVE_MESHDEFORMATION)
++
+ dnl }}}
+ dnl with-Levelset{{{
++
+ AC_ARG_WITH([Levelset],
++
+ 	AS_HELP_STRING([--with-Levelset = YES], [compile with Levelset capabilities (default is yes)]),
++
+ 	[LEVELSET=$withval],[LEVELSET=yes])
++
+ AC_MSG_CHECKING(for Levelset capability compilation)
+ 
++
+ HAVE_LEVELSET=no 
++
+ if test "x$LEVELSET" = "xyes"; then
++
+ 	HAVE_LEVELSET=yes
++
+ 	AC_DEFINE([_HAVE_LEVELSET_],[1],[with Levelset capability])
++
+ fi
++
+ AM_CONDITIONAL([LEVELSET], [test x$HAVE_LEVELSET = xyes])
++
+ AC_MSG_RESULT($HAVE_LEVELSET)
++
+ dnl }}}
+ dnl with-Extrapolation{{{
++
+ AC_ARG_WITH([Extrapolation],
++
+ 	AS_HELP_STRING([--with-Extrapolation = YES], [compile with Extrapolation capabilities (default is yes)]),
++
+ 	[EXTRAPOLATION=$withval],[EXTRAPOLATION=yes])
++
+ AC_MSG_CHECKING(for Extrapolation capability compilation)
+ 
++
+ HAVE_EXTRAPOLATION=no 
++
+ if test "x$EXTRAPOLATION" = "xyes"; then
++
+ 	HAVE_EXTRAPOLATION=yes
++
+ 	AC_DEFINE([_HAVE_EXTRAPOLATION_],[1],[with Extrapolation capability])
++
+ fi
++
+ AM_CONDITIONAL([EXTRAPOLATION], [test x$HAVE_EXTRAPOLATION = xyes])
++
+ AC_MSG_RESULT($HAVE_EXTRAPOLATION)
++
+ dnl }}}
+ 
+ ])
+Index: ../trunk-jpl/externalpackages/valgrind/install-linux64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/valgrind/install-linux64.sh	(revision 21657)
++++ ../trunk-jpl/externalpackages/valgrind/install-linux64.sh	(revision 21658)
+@@ -1,48 +1,28 @@
+ #!/bin/bash
+ set -eu
+ 
+-#old version (Kernel issue)
+-# #Some cleanup
+-# rm -rf install valgrind-3.10.0
+-# mkdir install
++#Some cleanup
++rm -rf install valgrind-3.10.0
++mkdir install
+ 
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/valgrind-3.10.0.tar.bz2' 'valgrind-3.10.0.tar.bz2'
+ 
+-# #Download from ISSM server
+-# # $ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/valgrind-3.10.0.tar.bz2' 'valgrind-3.10.0.tar.bz2'
++#Untar 
++tar -jxvf  valgrind-3.10.0.tar.bz2
+ 
+-# #Untar 
+-# tar -jxvf  valgrind-3.10.0.tar.bz2
++#Move valgrind into install directory
++mv valgrind-3.10.0/* install
++rm -rf valgrind-3.10.0
+ 
+-# #Move valgrind into install directory
+-# mv valgrind-3.10.0/* install
+-# rm -rf valgrind-3.10.0
+-
+-# #configure
+-# cd install
+-# ./configure  --prefix="$ISSM_DIR/externalpackages/valgrind/install"
+-
+-# #Compile valgrind
+-# make  -j 4
+-# make install
+-
+-# #final thing: if mpi is compiled in, soft link its target to a simpler name
+-# cd lib
+-# ln -s valgrind/libmpiwrap-*  ./libmpidebug.so
+-
+-#New way cloned on mac
+-
+-#Some cleanup
+-rm -rf install
+-
+-#Download development version, the current release never supports the latest OS X releases
+-svn co svn://svn.valgrind.org/valgrind/trunk install
+-
+ #configure
+ cd install
+-./autogen.sh
+-./configure  --prefix="$ISSM_DIR/externalpackages/valgrind/install" --enable-only64bit
++./configure  --prefix="$ISSM_DIR/externalpackages/valgrind/install"
+ 
+ #Compile valgrind
+-
+-make  -j 8
++make  -j 4
+ make install
++
++#final thing: if mpi is compiled in, soft link its target to a simpler name
++cd lib
++ln -s valgrind/libmpiwrap-*  ./libmpidebug.so
Index: /issm/oecreview/Archive/21337-21723/ISSM-21658-21659.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21658-21659.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21658-21659.diff	(revision 21726)
@@ -0,0 +1,27 @@
+Index: ../trunk-jpl/src/m/shp/shp2exp.py
+===================================================================
+--- ../trunk-jpl/src/m/shp/shp2exp.py	(revision 21658)
++++ ../trunk-jpl/src/m/shp/shp2exp.py	(revision 21659)
+@@ -32,19 +32,19 @@
+ 	for i in range(len(shp.shapes())):
+ 		geom=shp.shapes()[i].shapeType
+ 		if geom==5: # polygon
+-         expdict['closed']=1
++			expdict['closed']=1
+ 			tmpx=[p[0] for p in shp.shapes()[i].points]
+ 			tmpy=[q[1] for q in shp.shapes()[i].points]
+ 			x.append(tmpx)
+ 			y.append(tmpy)
+ 		elif geom==3: # line
+-         expdict['closed']=0
++			expdict['closed']=0
+ 			tmpx=[p[0] for p in shp.shapes()[i].points]
+ 			tmpy=[q[1] for q in shp.shapes()[i].points]
+ 			x.append(tmpx)
+ 			y.append(tmpy)
+ 		elif geom==1: # point
+-         expdict['closed']=0
++			expdict['closed']=0
+ 			x.append(shp.shapes()[i].points[0][0])
+ 			y.append(shp.shapes()[i].points[0][1])
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21659-21660.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21659-21660.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21659-21660.diff	(revision 21726)
@@ -0,0 +1,4 @@
+Index: ../trunk-jpl/test/Archives/Archive437.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21660-21661.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21660-21661.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21660-21661.diff	(revision 21726)
@@ -0,0 +1,26 @@
+Index: ../trunk-jpl/src/m/classes/linearbasalforcings.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 21660)
++++ ../trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 21661)
+@@ -54,7 +54,7 @@
+ 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+ 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
+ 				md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
+-				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
++				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0,'numel',1);
+ 			end
+ 			if ismember('ThermalAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isthermal==0),
+ 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
+Index: ../trunk-jpl/src/m/classes/linearbasalforcings.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 21660)
++++ ../trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 21661)
+@@ -82,7 +82,7 @@
+ 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
+ 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
+ 			md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<',md.basalforcings.upperwater_elevation);
+-			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
++			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<=',0);
+ 			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0)
+ 
+ 		return md
Index: /issm/oecreview/Archive/21337-21723/ISSM-21661-21662.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21661-21662.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21661-21662.diff	(revision 21726)
@@ -0,0 +1,1741 @@
+Index: ../trunk-jpl/src/m/qmu/dakota_out_parse.m
+===================================================================
+--- ../trunk-jpl/src/m/qmu/dakota_out_parse.m	(revision 21661)
++++ ../trunk-jpl/src/m/qmu/dakota_out_parse.m	(revision 21662)
+@@ -1,3 +1,4 @@
++function [method,dresp,scm,pcm,srcm,prcm]=dakota_out_parse(filei) % {{{
+ %
+ %  read a Dakota .out or .dat output file and parse it.
+ %
+@@ -45,981 +46,951 @@
+ %  authority as may be required before exporting such information
+ %  to foreign countries or providing access to foreign persons."
+ %
+-function [method,dresp,scm,pcm,srcm,prcm]=dakota_out_parse(filei)
+ 
+-if ~nargin
+-    help dakota_out_parse
+-    return
+-end
++	if ~nargin
++		help dakota_out_parse
++		return
++	end
+ 
+-if ~exist('filei' ,'var') || isempty(filei)
+-    filei=input('Input file?  ','s');
+-end
+-fidi=fopen(sprintf('%s',filei),'r');
+-if (fidi < 0)
+-    error('''%s'' could not be opened.',filei);
+-end
++	if ~exist('filei' ,'var') || isempty(filei)
++		filei=input('Input file?  ','s');
++	end
++	fidi=fopen(sprintf('%s',filei),'r');
++	if (fidi < 0)
++		error('''%s'' could not be opened.',filei);
++	end
+ 
+-%%  check the first line for the Dakota tabular output file
++	%%  check the first line for the Dakota tabular output file
+ 
+-method=[];
+-fline=fgetl(fidi);
+-if ~ischar(fline)
+-    error('File ''%s'' is empty.',filei);
+-end
++	method=[];
++	fline=fgetl(fidi);
++	if ~ischar(fline)
++		error('File ''%s'' is empty.',filei);
++	end
+ 
+-if strncmpi(fline,'%eval_id',8)
+-    method='unknown';
+-    [dresp]=dak_tab_out(fidi,fline);
+-    return
+-else
+-    fseek(fidi,0,'bof');
+-end
++	if strncmpi(fline,'%eval_id',8)
++		method='unknown';
++		[dresp]=dak_tab_out(fidi,fline);
++		return
++	else
++		fseek(fidi,0,'bof');
++	end
+ 
+-%%  loop through the file to find the Dakota method name
++	%%  loop through the file to find the Dakota method name
+ 
+-[fline]=findline(fidi,'methodName = ');
+-if ~ischar(fline)
+-	%do nothing
+-else
+-	% display(['  ' deblank(fline)]);
++	[fline]=findline(fidi,'methodName = ');
++	if ~ischar(fline)
++		%do nothing
++	else
++		% display(['  ' deblank(fline)]);
+ 
+-	[ntokens,tokens]=fltokens(fline);
+-	method=tokens{1}{3};
+-	display(sprintf('Dakota methodName=''%s''.',method));
+-end
++		[ntokens,tokens]=fltokens(fline);
++		method=tokens{1}{3};
++		display(sprintf('Dakota methodName=''%s''.',method));
++	end
+ 
+-dresp=struct([]);
+-scm =struct([]);
+-pcm =struct([]);
+-srcm=struct([]);
+-prcm=struct([]);
++	dresp=struct([]);
++	scm =struct([]);
++	pcm =struct([]);
++	srcm=struct([]);
++	prcm=struct([]);
+ 
+-%%  loop through the file to find the function evaluation summary
++	%%  loop through the file to find the function evaluation summary
+ 
+-fline='';
+-[nfeval]=nfeval_read(fidi,fline);
+-fline=fgetl(fidi);
++	fline='';
++	[nfeval]=nfeval_read(fidi,fline);
++	fline=fgetl(fidi);
+ 
+-%%  process each results section based on content of the file
++	%%  process each results section based on content of the file
+ 
+-while ischar(fline)
+-%     ipos=ftell(fidi);
+-    if     isempty(fline)
+-    elseif strncmp(fline,'<<<<< Function evaluation summary',33)
+-        [nfeval]=nfeval_read(fidi,fline);
+-    elseif strncmp(fline,'Statistics based on ',20)
+-        [nsamp]=nsamp_read(fidi,fline);
+-    elseif strncmp(fline,'Moments for each response function',34)
+-        [dresp]=moments_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'Moment-based statistics for each response function',50)
+-        [dresp]=mbstats_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'95% confidence intervals for each response function',51)
+-        [dresp]=cis_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'Probabilities for each response function',40) || ...
+-           strncmp(fline,'Level mappings for each response function',41)
+-        [dresp]=cdfs_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'Probability Density Function (PDF) histograms for each response function',72)
+-        [dresp]=pdfs_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'Simple Correlation Matrix',25)
+-        [scm]=corrmat_read(fidi,'Simple Correlation Matrix',fline);
+-    elseif strncmp(fline,'Partial Correlation Matrix',26)
+-        [pcm]=corrmat_read(fidi,'Partial Correlation Matrix',fline);
+-    elseif strncmp(fline,'Simple Rank Correlation Matrix',30)
+-        [srcm]=corrmat_read(fidi,'Simple Rank Correlation Matrix',fline);
+-    elseif strncmp(fline,'Partial Rank Correlation Matrix',31)
+-        [prcm]=corrmat_read(fidi,'Partial Rank Correlation Matrix',fline);
+-    elseif strncmp(fline,'MV Statistics for ',18)
+-        [dresp]=mvstats_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'<<<<< Best ',11)
+-        [dresp]=best_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'The following lists volumetric uniformity measures',50)
+-        [dresp]=vum_read(fidi,dresp,fline);
+-    elseif strncmp(fline,'<<<<< Iterator ',15) && ...
+-           (length(fline) > 26) && ...
+-           ~isempty(strfind(fline(16:end),' completed.'))
+-        [method]=itcomp_read(fidi,fline);
+-    elseif strncmp(fline,'-----',5)
+-    else
+-        display(['Unexpected line: ' deblank(fline)]);
+-    end
+-    fline=fgetl(fidi);
+-%     fseek(fidi,ipos,'bof');
+-end
++	while ischar(fline)
++		%     ipos=ftell(fidi);
++		if     isempty(fline)
++		elseif strncmp(fline,'<<<<< Function evaluation summary',33)
++			[nfeval]=nfeval_read(fidi,fline);
++		elseif strncmp(fline,'Statistics based on ',20)
++			[nsamp]=nsamp_read(fidi,fline);
++		elseif strncmp(fline,'Moments for each response function',34)
++			[dresp]=moments_read(fidi,dresp,fline);
++		elseif strncmp(fline,'Moment-based statistics for each response function',50)
++			[dresp]=mbstats_read(fidi,dresp,fline);
++		elseif strncmp(fline,'95% confidence intervals for each response function',51)
++			[dresp]=cis_read(fidi,dresp,fline);
++		elseif strncmp(fline,'Probabilities for each response function',40) || ...
++				strncmp(fline,'Level mappings for each response function',41)
++			[dresp]=cdfs_read(fidi,dresp,fline);
++		elseif strncmp(fline,'Probability Density Function (PDF) histograms for each response function',72)
++			[dresp]=pdfs_read(fidi,dresp,fline);
++		elseif strncmp(fline,'Simple Correlation Matrix',25)
++			[scm]=corrmat_read(fidi,'Simple Correlation Matrix',fline);
++		elseif strncmp(fline,'Partial Correlation Matrix',26)
++			[pcm]=corrmat_read(fidi,'Partial Correlation Matrix',fline);
++		elseif strncmp(fline,'Simple Rank Correlation Matrix',30)
++			[srcm]=corrmat_read(fidi,'Simple Rank Correlation Matrix',fline);
++		elseif strncmp(fline,'Partial Rank Correlation Matrix',31)
++			[prcm]=corrmat_read(fidi,'Partial Rank Correlation Matrix',fline);
++		elseif strncmp(fline,'MV Statistics for ',18)
++			[dresp]=mvstats_read(fidi,dresp,fline);
++		elseif strncmp(fline,'<<<<< Best ',11)
++			[dresp]=best_read(fidi,dresp,fline);
++		elseif strncmp(fline,'The following lists volumetric uniformity measures',50)
++			[dresp]=vum_read(fidi,dresp,fline);
++		elseif strncmp(fline,'<<<<< Iterator ',15) && ...
++				(length(fline) > 26) && ...
++				~isempty(strfind(fline(16:end),' completed.'))
++			[method]=itcomp_read(fidi,fline);
++		elseif strncmp(fline,'-----',5)
++		else
++			display(['Unexpected line: ' deblank(fline)]);
++		end
++		fline=fgetl(fidi);
++		%     fseek(fidi,ipos,'bof');
++	end
+ 
+-%%  loop through the file to verify the end
++	%%  loop through the file to verify the end
+ 
+-% [fline]=findline(fidi,'<<<<< Single Method Strategy completed');
+-% if ~ischar(fline)
+-%     return
+-% end
+-display('End of file successfully reached.');
+-fclose(fidi);
++	% [fline]=findline(fidi,'<<<<< Single Method Strategy completed');
++	% if ~ischar(fline)
++	%     return
++	% end
++	display('End of file successfully reached.');
++	fclose(fidi);
+ 
+-end
+-
++end % }}}
++function [dresp]=dak_tab_out(fidi,fline) % {{{
+ %%  function to parse the dakota tabular output file
+ 
+-function [dresp]=dak_tab_out(fidi,fline)
++	display('Reading Dakota tabular output file.');
+ 
+-display('Reading Dakota tabular output file.');
++	%  process column headings of matrix (skipping eval_id)
+ 
+-%  process column headings of matrix (skipping eval_id)
++	[ntokens,tokens]=fltokens(fline);
+ 
+-[ntokens,tokens]=fltokens(fline);
++	% New file DAKOTA versions>6
++	if strncmpi(fline,'%eval_id interface',18)
++		offset=2;
++	else %DAKOTA versions<6
++		offset=1;
++	end
++	desc=cell (1,ntokens-offset);
++	data=zeros(1,ntokens-offset);
+ 
+-% New file DAKOTA versions>6
+-if strncmpi(fline,'%eval_id interface',18)
+-	offset=2;
+-else %DAKOTA versions<6
+-	offset=1;
+-end
+-desc=cell (1,ntokens-offset);
+-data=zeros(1,ntokens-offset);
++	for i=1:ntokens-offset
++		desc(1,i)=cellstr(tokens{1}{i+offset});
++	end
++	display(sprintf('Number of columns (Dakota V+R)=%d.',ntokens-2));
+ 
+-for i=1:ntokens-offset
+-    desc(1,i)=cellstr(tokens{1}{i+offset});
+-end
+-display(sprintf('Number of columns (Dakota V+R)=%d.',ntokens-2));
++	%  process rows of matrix
+ 
+-%  process rows of matrix
++	nrow=0;
++	while 1
++		fline=fgetl(fidi);
++		if ~ischar(fline) || isempty(fline)
++			break;
++		end
++		[ntokens,tokens]=fltokens(fline);
+ 
+-nrow=0;
+-while 1
+-    fline=fgetl(fidi);
+-    if ~ischar(fline) || isempty(fline)
+-        break;
+-    end
+-    [ntokens,tokens]=fltokens(fline);
++		%  add row values to matrix (skipping eval_id)
+ 
+-%  add row values to matrix (skipping eval_id)
++		nrow=nrow+1;
++		for i=1:ntokens-offset
++			data(nrow,i)=tokens{1}{i+offset};
++		end
++	end
++	display(sprintf('Number of rows (Dakota func evals)=%d.',nrow));
+ 
+-    nrow=nrow+1;
+-    for i=1:ntokens-offset
+-        data(nrow,i)=tokens{1}{i+offset};
+-    end
+-end
+-display(sprintf('Number of rows (Dakota func evals)=%d.',nrow));
++	%  calculate statistics
+ 
+-%  calculate statistics
++	%  since normfit doesn't have a dim argument, and matlab isvector is true
++	%  for a 1xn matrix, handle the case of one row explicitly
++	if (size(data,1) > 1)
++		%dmean  =mean   (data);
++		%dstddev=std    (data,0);
++		[dmean,dstddev,dmeanci,dstddevci]=...
++			normfit_issm(data,0.05);
++	else
++		dmean    =zeros(1,size(data,2));
++		dstddev  =zeros(1,size(data,2));
++		dmeanci  =zeros(2,size(data,2));
++		dstddevci=zeros(2,size(data,2));
++		for i=1:size(data,2)
++			[dmean(1,i),dstddev(1,i),dmeanci(:,i),dstddevci(:,i)]=...
++				normfit_issm(data(:,i),0.05);
++		end
++	end
+ 
+-%  since normfit doesn't have a dim argument, and matlab isvector is true
+-%  for a 1xn matrix, handle the case of one row explicitly
+-if (size(data,1) > 1)
+-    %dmean  =mean   (data);
+-    %dstddev=std    (data,0);
+-    [dmean,dstddev,dmeanci,dstddevci]=...
+-        normfit_issm(data,0.05);
+-else
+-    dmean    =zeros(1,size(data,2));
+-    dstddev  =zeros(1,size(data,2));
+-    dmeanci  =zeros(2,size(data,2));
+-    dstddevci=zeros(2,size(data,2));
+-    for i=1:size(data,2)
+-        [dmean(1,i),dstddev(1,i),dmeanci(:,i),dstddevci(:,i)]=...
+-            normfit_issm(data(:,i),0.05);
+-    end
+-end
++	dmin   =min         (data,[],1);
++	dquart1=prctile_issm(data,25,1);
++	dmedian=median      (data,1);
++	dquart3=prctile_issm(data,75,1);
++	dmax   =max         (data,[],1);
++	dmin95=prctile_issm(data,5,1);
++	dmax95=prctile_issm(data,95,1);
+ 
+-dmin   =min         (data,[],1);
+-dquart1=prctile_issm(data,25,1);
+-dmedian=median      (data,1);
+-dquart3=prctile_issm(data,75,1);
+-dmax   =max         (data,[],1);
+-dmin95=prctile_issm(data,5,1);
+-dmax95=prctile_issm(data,95,1);
++	%  same as Dakota scm, Excel correl
++	dcorrel=corrcoef(data);
+ 
+-%  same as Dakota scm, Excel correl
+-dcorrel=corrcoef(data);
++	%  divide the data into structures for consistency
+ 
+-%  divide the data into structures for consistency
++	for i=1:length(desc)
++		dresp(i).descriptor=char(desc(i));
++		dresp(i).sample    =data(:,i);
++		dresp(i).mean      =dmean(i);
++		dresp(i).stddev    =dstddev(i);
++		dresp(i).meanci    =dmeanci(:,i);
++		dresp(i).stddevci  =dstddevci(:,i);
++		dresp(i).min       =dmin(i);
++		dresp(i).quart1    =dquart1(i);
++		dresp(i).median    =dmedian(i);
++		dresp(i).quart3    =dquart3(i);
++		dresp(i).max       =dmax(i);
++		dresp(i).dmin95    =dmin95(i);
++		dresp(i).dmax95    =dmax95(i);
++	end
+ 
+-for i=1:length(desc)
+-    dresp(i).descriptor=char(desc(i));
+-    dresp(i).sample    =data(:,i);
+-    dresp(i).mean      =dmean(i);
+-    dresp(i).stddev    =dstddev(i);
+-    dresp(i).meanci    =dmeanci(:,i);
+-    dresp(i).stddevci  =dstddevci(:,i);
+-    dresp(i).min       =dmin(i);
+-    dresp(i).quart1    =dquart1(i);
+-    dresp(i).median    =dmedian(i);
+-    dresp(i).quart3    =dquart3(i);
+-    dresp(i).max       =dmax(i);
+-	 dresp(i).dmin95    =dmin95(i);
+-	 dresp(i).dmax95    =dmax95(i);
+-end
++	%  draw box plot
+ 
+-%  draw box plot
++	% figure
++	% subplot(2,1,1)
++	% plot_boxplot(dresp);
+ 
+-% figure
+-% subplot(2,1,1)
+-% plot_boxplot(dresp);
++	%  draw normal probability plot
+ 
+-%  draw normal probability plot
++	% subplot(2,1,2)
++	% plot_normplot(dresp);
+ 
+-% subplot(2,1,2)
+-% plot_normplot(dresp);
+-
+-end
+-
++end % }}}
++function [nfeval]=nfeval_read(fidi,fline) % {{{
+ %%  function to find and read the number of function evaluations
+ 
+-function [nfeval]=nfeval_read(fidi,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'<<<<< Function evaluation summary');
++		if ~ischar(fline)
++			nfeval = 0;
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'<<<<< Function evaluation summary');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	[ntokens,tokens]=fltokens(fline);
++	nfeval=tokens{1}{5};
++	display(sprintf('  Dakota function evaluations=%d.',nfeval));
+ 
+-[ntokens,tokens]=fltokens(fline);
+-nfeval=tokens{1}{5};
+-display(sprintf('  Dakota function evaluations=%d.',nfeval));
+-
+-end
+-
++end % }}}
++function [nsamp]=nsamp_read(fidi,fline) % {{{
+ %%  function to find and read the number of samples
+ 
+-function [nsamp]=nsamp_read(fidi,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'Statistics based on ');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'Statistics based on ');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	[ntokens,tokens]=fltokens(fline);
++	nsamp=tokens{1}{4};
++	display(sprintf('  Dakota samples=%d.',nsamp));
+ 
+-[ntokens,tokens]=fltokens(fline);
+-nsamp=tokens{1}{4};
+-display(sprintf('  Dakota samples=%d.',nsamp));
+-
+-end
+-
++end % }}}
++function [dresp]=moments_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the moments
+ 
+-function [dresp]=moments_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'Moments for each response function');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'Moments for each response function');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	display('Reading moments for response functions:');
+ 
+-display('Reading moments for response functions:');
++	while 1
++		fline=fgetl(fidi);
++		if isempty(fline)
++			break;
++		end
++		[ntokens,tokens]=fltokens(fline);
+ 
+-while 1
+-    fline=fgetl(fidi);
+-    if isempty(fline)
+-        break;
+-    end
+-    [ntokens,tokens]=fltokens(fline);
++		%  add new response function and moments
+ 
+-%  add new response function and moments
++		dresp(end+1).descriptor=tokens{1}{ 1};
++		display(sprintf('  %s',dresp(end).descriptor));
++		dresp(end  ).mean      =tokens{1}{ 4};
++		dresp(end  ).stddev    =tokens{1}{ 8};
++		dresp(end  ).coefvar   =tokens{1}{13};
++	end
+ 
+-    dresp(end+1).descriptor=tokens{1}{ 1};
+-    display(sprintf('  %s',dresp(end).descriptor));
+-    dresp(end  ).mean      =tokens{1}{ 4};
+-    dresp(end  ).stddev    =tokens{1}{ 8};
+-    dresp(end  ).coefvar   =tokens{1}{13};
+-end
++	display(sprintf('  Number of Dakota response functions=%d.',...
++		length(dresp)));
+ 
+-display(sprintf('  Number of Dakota response functions=%d.',...
+-    length(dresp)));
+-
+-end
+-
++end % }}}
++function [dresp]=mbstats_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the moment-based statistics
+ 
+-function [dresp]=mbstats_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'Moment-based statistics for each response function');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'Moment-based statistics for each response function');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	display('Reading moment-based statistics for response functions:');
+ 
+-display('Reading moment-based statistics for response functions:');
++	%  skip column headings of moment-based statistics
+ 
+-%  skip column headings of moment-based statistics
++	fline=fgetl(fidi);
+ 
+-    fline=fgetl(fidi);
++	while 1
++		fline=fgetl(fidi);
++		if isempty(fline)
++			break;
++		end
++		[ntokens,tokens]=fltokens(fline);
+ 
+-while 1
+-    fline=fgetl(fidi);
+-    if isempty(fline)
+-        break;
+-    end
+-    [ntokens,tokens]=fltokens(fline);
++		%  add new response function and moment-based statistics
+ 
+-%  add new response function and moment-based statistics
++		dresp(end+1).descriptor=tokens{1}{ 1};
++		display(sprintf('  %s',dresp(end).descriptor));
++		dresp(end  ).mean      =tokens{1}{ 2};
++		dresp(end  ).stddev    =tokens{1}{ 3};
++		dresp(end  ).skewness  =tokens{1}{ 4};
++		dresp(end  ).kurtosis  =tokens{1}{ 5};
++	end
+ 
+-    dresp(end+1).descriptor=tokens{1}{ 1};
+-    display(sprintf('  %s',dresp(end).descriptor));
+-    dresp(end  ).mean      =tokens{1}{ 2};
+-    dresp(end  ).stddev    =tokens{1}{ 3};
+-    dresp(end  ).skewness  =tokens{1}{ 4};
+-    dresp(end  ).kurtosis  =tokens{1}{ 5};
+-end
++	display(sprintf('  Number of Dakota response functions=%d.',...
++		length(dresp)));
+ 
+-display(sprintf('  Number of Dakota response functions=%d.',...
+-    length(dresp)));
+-
+-end
+-
++end % }}}
++function [dresp]=cis_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the confidence intervals
+ 
+-function [dresp]=cis_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,...
++			'95% confidence intervals for each response function');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,...
+-        '95% confidence intervals for each response function');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	display('Reading 95% confidence intervals for response functions:');
+ 
+-display('Reading 95% confidence intervals for response functions:');
++	while 1
++		fline=fgetl(fidi);
++		if isempty(fline)
++			break;
++		end
++		[ntokens,tokens]=fltokens(fline);
+ 
+-while 1
+-    fline=fgetl(fidi);
+-    if isempty(fline)
+-        break;
+-    end
+-    [ntokens,tokens]=fltokens(fline);
++		%  check for column headings in Dakota 5.2
+ 
+-%  check for column headings in Dakota 5.2
++		if (ntokens == 4)
++			fline=fgetl(fidi);
++			if isempty(fline)
++				break;
++			end
++			[ntokens,tokens]=fltokens(fline);
++		end
+ 
+-    if (ntokens == 4)
+-        fline=fgetl(fidi);
+-        if isempty(fline)
+-            break;
+-        end
+-        [ntokens,tokens]=fltokens(fline);
+-    end
++		%  find response function associated with confidence intervals
+ 
+-%  find response function associated with confidence intervals
++		idresp=0;
++		for i=1:length(dresp)
++			if strcmpi(tokens{1}{ 1},dresp(i).descriptor)
++				idresp=i;
++				break;
++			end
++		end
++		if ~idresp
++			idresp=length(dresp)+1;
++			dresp(idresp).descriptor=tokens{1}{ 1};
++			display(sprintf('  %s',dresp(idresp).descriptor));
++		end
+ 
+-    idresp=0;
+-    for i=1:length(dresp)
+-        if strcmpi(tokens{1}{ 1},dresp(i).descriptor)
+-            idresp=i;
+-            break;
+-        end
+-    end
+-    if ~idresp
+-        idresp=length(dresp)+1;
+-        dresp(idresp).descriptor=tokens{1}{ 1};
+-        display(sprintf('  %s',dresp(idresp).descriptor));
+-    end
++		%  add confidence intervals to response functions
+ 
+-%  add confidence intervals to response functions
++		if (ntokens == 14)
++			dresp(i).meanci  (1,1)=tokens{1}{ 5};
++			dresp(i).meanci  (2,1)=tokens{1}{ 6};
++			dresp(i).stddevci(1,1)=tokens{1}{12};
++			dresp(i).stddevci(2,1)=tokens{1}{13};
++		else
++			dresp(i).meanci  (1,1)=tokens{1}{ 2};
++			dresp(i).meanci  (2,1)=tokens{1}{ 3};
++			dresp(i).stddevci(1,1)=tokens{1}{ 4};
++			dresp(i).stddevci(2,1)=tokens{1}{ 5};
++		end
++	end
+ 
+-    if (ntokens == 14)
+-        dresp(i).meanci  (1,1)=tokens{1}{ 5};
+-        dresp(i).meanci  (2,1)=tokens{1}{ 6};
+-        dresp(i).stddevci(1,1)=tokens{1}{12};
+-        dresp(i).stddevci(2,1)=tokens{1}{13};
+-    else
+-        dresp(i).meanci  (1,1)=tokens{1}{ 2};
+-        dresp(i).meanci  (2,1)=tokens{1}{ 3};
+-        dresp(i).stddevci(1,1)=tokens{1}{ 4};
+-        dresp(i).stddevci(2,1)=tokens{1}{ 5};
+-    end
+-end
++	display(sprintf('  Number of Dakota response functions=%d.',...
++		length(dresp)));
+ 
+-display(sprintf('  Number of Dakota response functions=%d.',...
+-    length(dresp)));
+-
+-end
+-
++end % }}}
++function [dresp]=cdfs_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the cdf's
+ 
+-function [dresp]=cdfs_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'Probabilities for each response function');
++		if ~ischar(fline)
++			[fline]=findline(fidi,'Level mappings for each response function');
++			if ~ischar(fline)
++				return
++			end
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'Probabilities for each response function');
+-    if ~ischar(fline)
+-        [fline]=findline(fidi,'Level mappings for each response function');
+-        if ~ischar(fline)
+-            return
+-        end
+-    end
+-end
++	display('Reading CDF''s for response functions:');
+ 
+-display('Reading CDF''s for response functions:');
++	while ischar(fline) && ~isempty(fline)
++		fline=fgetl(fidi);
++		if ~ischar(fline)
++			break;
++		end
+ 
+-while ischar(fline) && ~isempty(fline)
+-    fline=fgetl(fidi);
+-    if ~ischar(fline)
+-        break;
+-    end
++		%  process header line of cdf
+ 
+-%  process header line of cdf
++		while ischar(fline) && ~isempty(fline)
++			[ntokens,tokens]=fltokens(fline);
+ 
+-    while ischar(fline) && ~isempty(fline)
+-        [ntokens,tokens]=fltokens(fline);
++			%  find response function associated with cdf
+ 
+-%  find response function associated with cdf
++			idresp=0;
++			for i=1:length(dresp)
++				if strcmpi(tokens{1}{ 6},dresp(i).descriptor)
++					idresp=i;
++					break;
++				end
++			end
++			if ~idresp
++				idresp=length(dresp)+1;
++				dresp(idresp).descriptor=tokens{1}{ 6};
++				display(sprintf('  %s',dresp(idresp).descriptor));
++			end
+ 
+-        idresp=0;
+-        for i=1:length(dresp)
+-            if strcmpi(tokens{1}{ 6},dresp(i).descriptor)
+-                idresp=i;
+-                break;
+-            end
+-        end
+-        if ~idresp
+-            idresp=length(dresp)+1;
+-            dresp(idresp).descriptor=tokens{1}{ 6};
+-            display(sprintf('  %s',dresp(idresp).descriptor));
+-        end
++			%  skip column headings of cdf
+ 
+-%  skip column headings of cdf
++			fline=fgetl(fidi);
++			fline=fgetl(fidi);
+ 
+-        fline=fgetl(fidi);
+-        fline=fgetl(fidi);
++			%  read and add cdf table to response function
+ 
+-%  read and add cdf table to response function
++			fline=fgetl(fidi);
++			icdf=0;
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'Cumulative Distribution Function',32)
++				[ntokens,tokens]=fltokens(fline);
++				icdf=icdf+1;
++				dresp(idresp).cdf(icdf,1:4)=NaN;
++				%  in later versions of Dakota, uncalculated columns are now blank
++				itoken=0;
++				for i=1:length(fline)/19
++					if ~isempty(deblank(fline((i-1)*19+1:i*19)))
++						itoken=itoken+1;
++						dresp(idresp).cdf(icdf,i)=tokens{1}{itoken};
++					end
++				end
++				fline=fgetl(fidi);
++			end
++		end
++	end
+ 
+-        fline=fgetl(fidi);
+-        icdf=0;
+-        while ischar(fline) && ~isempty(fline) && ...
+-              ~strncmpi(fline,'Cumulative Distribution Function',32)
+-            [ntokens,tokens]=fltokens(fline);
+-            icdf=icdf+1;
+-            dresp(idresp).cdf(icdf,1:4)=NaN;
+-%  in later versions of Dakota, uncalculated columns are now blank
+-            itoken=0;
+-            for i=1:length(fline)/19
+-                if ~isempty(deblank(fline((i-1)*19+1:i*19)))
+-                    itoken=itoken+1;
+-                    dresp(idresp).cdf(icdf,i)=tokens{1}{itoken};
+-                end
+-            end
+-            fline=fgetl(fidi);
+-        end
+-    end
+-end
++	display(sprintf('  Number of Dakota response functions=%d.',...
++		length(dresp)));
+ 
+-display(sprintf('  Number of Dakota response functions=%d.',...
+-    length(dresp)));
+-
+-end
+-
++end % }}}
++function [dresp]=pdfs_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the pdf's
+ 
+-function [dresp]=pdfs_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'Probability Density Function (PDF) histograms for each response function');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'Probability Density Function (PDF) histograms for each response function');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	display('Reading PDF''s for response functions:');
+ 
+-display('Reading PDF''s for response functions:');
++	while ischar(fline) && ~isempty(fline)
++		fline=fgetl(fidi);
++		if ~ischar(fline)
++			break;
++		end
+ 
+-while ischar(fline) && ~isempty(fline)
+-    fline=fgetl(fidi);
+-    if ~ischar(fline)
+-        break;
+-    end
++		%  process header line of pdf
+ 
+-%  process header line of pdf
++		while ischar(fline) && ~isempty(fline)
++			[ntokens,tokens]=fltokens(fline);
+ 
+-    while ischar(fline) && ~isempty(fline)
+-        [ntokens,tokens]=fltokens(fline);
++			%  find response function associated with pdf
+ 
+-%  find response function associated with pdf
++			idresp=0;
++			for i=1:length(dresp)
++				if strcmpi(tokens{1}{ 3},dresp(i).descriptor)
++					idresp=i;
++					break;
++				end
++			end
++			if ~idresp
++				idresp=length(dresp)+1;
++				dresp(idresp).descriptor=tokens{1}{ 3};
++				display(sprintf('  %s',dresp(idresp).descriptor));
++			end
+ 
+-        idresp=0;
+-        for i=1:length(dresp)
+-            if strcmpi(tokens{1}{ 3},dresp(i).descriptor)
+-                idresp=i;
+-                break;
+-            end
+-        end
+-        if ~idresp
+-            idresp=length(dresp)+1;
+-            dresp(idresp).descriptor=tokens{1}{ 3};
+-            display(sprintf('  %s',dresp(idresp).descriptor));
+-        end
++			%  skip column headings of pdf
+ 
+-%  skip column headings of pdf
++			fline=fgetl(fidi);
++			fline=fgetl(fidi);
+ 
+-        fline=fgetl(fidi);
+-        fline=fgetl(fidi);
++			%  read and add pdf table to response function
+ 
+-%  read and add pdf table to response function
++			fline=fgetl(fidi);
++			ipdf=0;
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'PDF for', 7)
++				[ntokens,tokens]=fltokens(fline);
++				ipdf=ipdf+1;
++				dresp(idresp).pdf(ipdf,1:3)=NaN;
++				for i=1:3
++					dresp(idresp).pdf(ipdf,i)=tokens{1}{i};
++				end
++				fline=fgetl(fidi);
++			end
++		end
++	end
+ 
+-        fline=fgetl(fidi);
+-        ipdf=0;
+-        while ischar(fline) && ~isempty(fline) && ...
+-              ~strncmpi(fline,'PDF for', 7)
+-            [ntokens,tokens]=fltokens(fline);
+-            ipdf=ipdf+1;
+-            dresp(idresp).pdf(ipdf,1:3)=NaN;
+-            for i=1:3
+-                dresp(idresp).pdf(ipdf,i)=tokens{1}{i};
+-            end
+-            fline=fgetl(fidi);
+-        end
+-    end
+-end
++	display(sprintf('  Number of Dakota response functions=%d.',...
++		length(dresp)));
+ 
+-display(sprintf('  Number of Dakota response functions=%d.',...
+-    length(dresp)));
+-
+-end
+-
++end % }}}
++function [cmat]=corrmat_read(fidi,cmstr,fline) % {{{
+ %%  function to find and read a correlation matrix
+ 
+-function [cmat]=corrmat_read(fidi,cmstr,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,cmstr);
++		if ~ischar(fline)
++			cmat=struct([]);
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,cmstr);
+-    if ~ischar(fline)
+-        cmat=struct([]);
+-        return
+-    end
+-end
++	display(['Reading ''' fline '''.']);
+ 
+-display(['Reading ''' fline '''.']);
++	cmat.title=fline;
+ 
+-cmat.title=fline;
++	while ~isempty(fline)
++		fline=fgetl(fidi);
++		if ~ischar(fline)
++			break;
++		end
+ 
+-while ~isempty(fline)
+-    fline=fgetl(fidi);
+-    if ~ischar(fline)
+-        break;
+-    end
++		%  process column headings of matrix
+ 
+-%  process column headings of matrix
++		[ntokens,tokens]=fltokens(fline);
++		cmat.column=cell(1,ntokens);
++		cmat.row   =cell(1,1);
++		cmat.matrix=zeros(1,ntokens);
+ 
+-    [ntokens,tokens]=fltokens(fline);
+-    cmat.column=cell(1,ntokens);
+-    cmat.row   =cell(1,1);
+-    cmat.matrix=zeros(1,ntokens);
++		for i=1:ntokens
++			cmat.column(1,i)=cellstr(tokens{1}{i});
++		end
+ 
+-    for i=1:ntokens
+-        cmat.column(1,i)=cellstr(tokens{1}{i});
+-    end
++		%  process rows of matrix, reading until blank line
+ 
+-%  process rows of matrix, reading until blank line
++		nrow=0;
++		while 1
++			fline=fgetl(fidi);
++			if isempty(fline)
++				break;
++			end
++			[ntokens,tokens]=fltokens(fline);
+ 
+-    nrow=0;
+-    while 1
+-        fline=fgetl(fidi);
+-        if isempty(fline)
+-            break;
+-        end
+-        [ntokens,tokens]=fltokens(fline);
++			%  add row heading to matrix
+ 
+-%  add row heading to matrix
++			nrow=nrow+1;
++			cmat.row   (nrow,1)=cellstr(tokens{1}{1});
+ 
+-        nrow=nrow+1;
+-        cmat.row   (nrow,1)=cellstr(tokens{1}{1});
++			%  add row values to matrix
+ 
+-%  add row values to matrix
++			for i=2:ntokens
++				cmat.matrix(nrow,i-1)=tokens{1}{i};
++			end
++		end
++	end
+ 
+-        for i=2:ntokens
+-            cmat.matrix(nrow,i-1)=tokens{1}{i};
+-        end
+-    end
+-end
+-
+-end
+-
++end % }}}
++function [dresp]=mvstats_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the MV statistics
+ 
+-function [dresp]=mvstats_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'MV Statistics for ');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'MV Statistics for ');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	display('Reading MV statistics for response functions:');
++	ndresp=0;
+ 
+-display('Reading MV statistics for response functions:');
+-ndresp=0;
++	while ischar(fline) && ~isempty(fline) && ...
++			strncmpi(fline,'MV Statistics for ',18)
+ 
+-while ischar(fline) && ~isempty(fline) && ...
+-        strncmpi(fline,'MV Statistics for ',18)
++		%  add new response function and moments
+ 
+-%  add new response function and moments
++		[ntokens,tokens]=fltokens(fline);
++		dresp(end+1).descriptor=tokens{1}{4};
++		display(sprintf('  %s',dresp(end).descriptor));
++		fline=fgetl(fidi);
++		[ntokens,tokens]=fltokens(fline);
++		dresp(end  ).mean      =tokens{1}{5};
++		fline=fgetl(fidi);
++		[ntokens,tokens]=fltokens(fline);
++		dresp(end  ).stddev    =tokens{1}{7};
+ 
+-    [ntokens,tokens]=fltokens(fline);
+-    dresp(end+1).descriptor=tokens{1}{4};
+-    display(sprintf('  %s',dresp(end).descriptor));
+-    fline=fgetl(fidi);
+-    [ntokens,tokens]=fltokens(fline);
+-    dresp(end  ).mean      =tokens{1}{5};
+-    fline=fgetl(fidi);
+-    [ntokens,tokens]=fltokens(fline);
+-    dresp(end  ).stddev    =tokens{1}{7};
++		%  read and add importance factors to response function
+ 
+-%  read and add importance factors to response function
++		idvar=0;
++		fline=fgetl(fidi);
++		if ~ischar(fline)
++			break;
++		end
+ 
+-	idvar=0;
+-    fline=fgetl(fidi);
+-    if ~ischar(fline)
+-        break;
+-    end
++		while ischar(fline) && ~isempty(fline) && ...
++				strncmpi(fline,'  Importance Factor for variable ',33)
++			[ntokens,tokens]=fltokens(fline);
++			idvar=idvar+1;
++			dresp(end).var   (idvar,1)=cellstr(tokens{1}{ 5});
++			dresp(end).impfac(idvar,1)=        tokens{1}{ 7};
++			if (ntokens >= 10)
++				dresp(end).sens  (idvar,1)=        tokens{1}{10};
++			else
++				dresp(end).sens  (idvar,1)=NaN;
++			end
+ 
+-    while ischar(fline) && ~isempty(fline) && ...
+-            strncmpi(fline,'  Importance Factor for variable ',33)
+-        [ntokens,tokens]=fltokens(fline);
+-        idvar=idvar+1;
+-        dresp(end).var   (idvar,1)=cellstr(tokens{1}{ 5});
+-        dresp(end).impfac(idvar,1)=        tokens{1}{ 7};
+-        if (ntokens >= 10)
+-            dresp(end).sens  (idvar,1)=        tokens{1}{10};
+-        else
+-            dresp(end).sens  (idvar,1)=NaN;
+-        end
++			fline=fgetl(fidi);
++		end
+ 
+-        fline=fgetl(fidi);
+-    end
++		%  if importance factors missing, skip to cdf
+ 
+-%  if importance factors missing, skip to cdf
++		if ~idvar
++			display('    Importance Factors not available.');
++			dresp(end).var   ={};
++			dresp(end).impfac=[];
++			dresp(end).sens  =[];
++			while ischar(fline) && ...
++					~strncmpi(fline,'Cumulative Distribution Function',32) && ...
++					~strncmpi(fline,'MV Statistics for ',18) && ...
++					~strncmp (fline,'-',1)
++				fline=fgetl(fidi);
++			end
++		end
+ 
+-    if ~idvar
+-        display('    Importance Factors not available.');
+-        dresp(end).var   ={};
+-        dresp(end).impfac=[];
+-        dresp(end).sens  =[];
+-        while ischar(fline) && ...
+-                ~strncmpi(fline,'Cumulative Distribution Function',32) && ...
+-                ~strncmpi(fline,'MV Statistics for ',18) && ...
+-                ~strncmp (fline,'-',1)
+-            fline=fgetl(fidi);
+-        end
+-    end
++		%  process header line of cdf
+ 
+-%  process header line of cdf
++		icdf=0;
+ 
+-    icdf=0;
++		while ischar(fline) && ~isempty(fline) && ...
++				strncmpi(fline,'Cumulative Distribution Function',32)
++			[ntokens,tokens]=fltokens(fline);
+ 
+-    while ischar(fline) && ~isempty(fline) && ...
+-            strncmpi(fline,'Cumulative Distribution Function',32)
+-        [ntokens,tokens]=fltokens(fline);
++			%  find response function associated with cdf
+ 
+-%  find response function associated with cdf
++			idresp=0;
++			for i=1:length(dresp)
++				if strcmpi(tokens{1}{ 6},dresp(i).descriptor)
++					idresp=i;
++					break;
++				end
++			end
++			if ~idresp
++				idresp=length(dresp)+1;
++				dresp(idresp).descriptor=tokens{1}{ 6};
++				display(sprintf('  %s',dresp(idresp).descriptor));
++			end
+ 
+-        idresp=0;
+-        for i=1:length(dresp)
+-            if strcmpi(tokens{1}{ 6},dresp(i).descriptor)
+-                idresp=i;
+-                break;
+-            end
+-        end
+-        if ~idresp
+-            idresp=length(dresp)+1;
+-            dresp(idresp).descriptor=tokens{1}{ 6};
+-            display(sprintf('  %s',dresp(idresp).descriptor));
+-        end
++			%  skip column headings of cdf
+ 
+-%  skip column headings of cdf
++			fline=fgetl(fidi);
++			fline=fgetl(fidi);
+ 
+-        fline=fgetl(fidi);
+-        fline=fgetl(fidi);
++			%  read and add cdf table to response function
+ 
+-%  read and add cdf table to response function
++			fline=fgetl(fidi);
++			while ~isempty(fline) && ...
++					~strncmpi(fline,'MV Statistics for ',18) && ...
++					~strncmp (fline,'-',1)
++				[ntokens,tokens]=fltokens(fline);
++				icdf=icdf+1;
++				dresp(idresp).cdf(icdf,1)=tokens{1}{1};
++				dresp(idresp).cdf(icdf,2)=tokens{1}{2};
++				if (ntokens == 4)
++					dresp(idresp).cdf(icdf,3)=tokens{1}{3};
++					dresp(idresp).cdf(icdf,4)=tokens{1}{4};
++				else
++					dresp(idresp).cdf(icdf,3)=NaN;
++					dresp(idresp).cdf(icdf,4)=NaN;
++				end
++				fline=fgetl(fidi);
++			end
++		end
+ 
+-        fline=fgetl(fidi);
+-        while ~isempty(fline) && ...
+-                ~strncmpi(fline,'MV Statistics for ',18) && ...
+-                ~strncmp (fline,'-',1)
+-            [ntokens,tokens]=fltokens(fline);
+-            icdf=icdf+1;
+-            dresp(idresp).cdf(icdf,1)=tokens{1}{1};
+-            dresp(idresp).cdf(icdf,2)=tokens{1}{2};
+-            if (ntokens == 4)
+-                dresp(idresp).cdf(icdf,3)=tokens{1}{3};
+-                dresp(idresp).cdf(icdf,4)=tokens{1}{4};
+-            else
+-                dresp(idresp).cdf(icdf,3)=NaN;
+-                dresp(idresp).cdf(icdf,4)=NaN;
+-            end
+-            fline=fgetl(fidi);
+-        end
+-    end
++		%  if cdf missing, skip to end of response function
+ 
+-%  if cdf missing, skip to end of response function
++		if ~icdf
++			display('    Cumulative Distribution Function not available.');
++			dresp(ndresp).cdf=[];
++			while ischar(fline) && ...
++					~strncmpi(fline,'MV Statistics for ',18) && ...
++					~strncmp (fline,'-',1)
++				fline=fgetl(fidi);
++			end
++		end
+ 
+-    if ~icdf
+-        display('    Cumulative Distribution Function not available.');
+-        dresp(ndresp).cdf=[];
+-        while ischar(fline) && ...
+-                ~strncmpi(fline,'MV Statistics for ',18) && ...
+-                ~strncmp (fline,'-',1)
+-            fline=fgetl(fidi);
+-        end
+-    end
++	end
+ 
+-end
++	display(sprintf('  Number of Dakota response functions=%d.',...
++		length(dresp)));
+ 
+-display(sprintf('  Number of Dakota response functions=%d.',...
+-    length(dresp)));
+-
+-end
+-
++end % }}}
++function [dresp]=best_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the best evaluation
+ 
+-function [dresp]=best_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'<<<<< Best ');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'<<<<< Best ');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	if isempty(dresp)
++		dresp(end+1).best=[];
++	end
++	display('Reading values for best function evaluation:');
+ 
+-if isempty(dresp)
+-    dresp(end+1).best=[];
+-end
+-display('Reading values for best function evaluation:');
++	while ischar(fline) && ~isempty(fline) && ...
++			strncmpi(fline,'<<<<< Best ',11)
++		[ntokens,tokens]=fltokens(fline);
+ 
+-while ischar(fline) && ~isempty(fline) && ...
+-        strncmpi(fline,'<<<<< Best ',11)
+-    [ntokens,tokens]=fltokens(fline);
++		%  read and add best parameter(s)
+ 
+-%  read and add best parameter(s)
++		if     strncmpi(cellstr(tokens{1}{3}),'parameter', 9)
++			display(['  ' deblank(fline)]);
+ 
+-    if     strncmpi(cellstr(tokens{1}{3}),'parameter', 9)
+-        display(['  ' deblank(fline)]);
++			fline=fgetl(fidi);
++			dresp.best.param     =[];
++			dresp.best.descriptor={};
+ 
+-        fline=fgetl(fidi);
+-	    dresp.best.param     =[];
+-        dresp.best.descriptor={};
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				[ntokens,tokens]=fltokens(fline);
++				dresp.best.param     (end+1,1)=        tokens{1}{1};
++				dresp.best.descriptor(end+1,1)=cellstr(tokens{1}{2});
++				fline=fgetl(fidi);
++			end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            [ntokens,tokens]=fltokens(fline);
+-            dresp.best.param     (end+1,1)=        tokens{1}{1};
+-            dresp.best.descriptor(end+1,1)=cellstr(tokens{1}{2});
+-            fline=fgetl(fidi);
+-        end
++			%  read and add best objective function(s)
+ 
+-%  read and add best objective function(s)
++		elseif strncmpi(cellstr(tokens{1}{3}),'objective', 9) && ...
++				strncmpi(cellstr(tokens{1}{4}),'function' , 8)
++			display(['  ' deblank(fline)]);
+ 
+-    elseif strncmpi(cellstr(tokens{1}{3}),'objective', 9) && ...
+-           strncmpi(cellstr(tokens{1}{4}),'function' , 8)
+-        display(['  ' deblank(fline)]);
++			fline=fgetl(fidi);
++			dresp.best.of=[];
+ 
+-        fline=fgetl(fidi);
+-	    dresp.best.of=[];
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				[ntokens,tokens]=fltokens(fline);
++				dresp.best.of(end+1,1)=        tokens{1}{1};
++				fline=fgetl(fidi);
++			end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            [ntokens,tokens]=fltokens(fline);
+-            dresp.best.of(end+1,1)=        tokens{1}{1};
+-            fline=fgetl(fidi);
+-        end
++			%  read and add best residual norms
+ 
+-%  read and add best residual norms
++		elseif strncmpi(cellstr(tokens{1}{3}),'residual', 8) && ...
++				strncmpi(cellstr(tokens{1}{4}),'norm'    , 4)
++			display(['  ' deblank(fline)]);
++			dresp.best.norm   =        tokens{1}{ 6};
++			dresp.best.hnormsq=        tokens{1}{11};
+ 
+-    elseif strncmpi(cellstr(tokens{1}{3}),'residual', 8) && ...
+-           strncmpi(cellstr(tokens{1}{4}),'norm'    , 4)
+-        display(['  ' deblank(fline)]);
+-        dresp.best.norm   =        tokens{1}{ 6};
+-        dresp.best.hnormsq=        tokens{1}{11};
++			fline=fgetl(fidi);
+ 
+-        fline=fgetl(fidi);
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				fline=fgetl(fidi);
++			end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            fline=fgetl(fidi);
+-        end
++			%  read and add best residual term(s)
+ 
+-%  read and add best residual term(s)
++		elseif strncmpi(cellstr(tokens{1}{3}),'residual', 8) && ...
++				strncmpi(cellstr(tokens{1}{4}),'term'    , 4)
++			display(['  ' deblank(fline)]);
+ 
+-    elseif strncmpi(cellstr(tokens{1}{3}),'residual', 8) && ...
+-           strncmpi(cellstr(tokens{1}{4}),'term'    , 4)
+-        display(['  ' deblank(fline)]);
++			fline=fgetl(fidi);
++			dresp.best.res=[];
+ 
+-        fline=fgetl(fidi);
+-	    dresp.best.res=[];
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				[ntokens,tokens]=fltokens(fline);
++				dresp.best.res(end+1,1)=        tokens{1}{1};
++				fline=fgetl(fidi);
++			end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            [ntokens,tokens]=fltokens(fline);
+-            dresp.best.res(end+1,1)=        tokens{1}{1};
+-            fline=fgetl(fidi);
+-        end
++			%  read and add best constraint value(s)
+ 
+-%  read and add best constraint value(s)
++		elseif strncmpi(cellstr(tokens{1}{3}),'constraint',10) && ...
++				strncmpi(cellstr(tokens{1}{4}),'value'     , 5)
++			display(['  ' deblank(fline)]);
+ 
+-    elseif strncmpi(cellstr(tokens{1}{3}),'constraint',10) && ...
+-           strncmpi(cellstr(tokens{1}{4}),'value'     , 5)
+-        display(['  ' deblank(fline)]);
++			fline=fgetl(fidi);
++			dresp.best.nc=[];
+ 
+-        fline=fgetl(fidi);
+-	    dresp.best.nc=[];
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				[ntokens,tokens]=fltokens(fline);
++				dresp.best.nc(end+1,1)=        tokens{1}{1};
++				fline=fgetl(fidi);
++			end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            [ntokens,tokens]=fltokens(fline);
+-            dresp.best.nc(end+1,1)=        tokens{1}{1};
+-            fline=fgetl(fidi);
+-        end
++			%  read and add best data captured
+ 
+-%  read and add best data captured
++		elseif strncmpi(cellstr(tokens{1}{3}),'data'    , 4) && ...
++				strncmpi(cellstr(tokens{1}{4}),'captured', 8)
++			display(['  ' deblank(fline)]);
++			dresp.best.eval=        tokens{1}{8};
+ 
+-    elseif strncmpi(cellstr(tokens{1}{3}),'data'    , 4) && ...
+-           strncmpi(cellstr(tokens{1}{4}),'captured', 8)
+-        display(['  ' deblank(fline)]);
+-        dresp.best.eval=        tokens{1}{8};
++			fline=fgetl(fidi);
+ 
+-        fline=fgetl(fidi);
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				fline=fgetl(fidi);
++			end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            fline=fgetl(fidi);
+-        end
++			%  read until next best or blank or end
+ 
+-%  read until next best or blank or end
++		else
++			display(['  ' deblank(fline) '  (ignored)']);
+ 
+-    else
+-        display(['  ' deblank(fline) '  (ignored)']);
++			fline=fgetl(fidi);
+ 
+-        fline=fgetl(fidi);
++			while ischar(fline) && ~isempty(fline) && ...
++					~strncmpi(fline,'<<<<< Best ',11)
++				fline=fgetl(fidi);
++			end
++		end
++	end
+ 
+-        while ischar(fline) && ~isempty(fline) && ...
+-                ~strncmpi(fline,'<<<<< Best ',11)
+-            fline=fgetl(fidi);
+-        end
+-    end
+-end
+-
+-end
+-
++end % }}}
++function [dresp]=vum_read(fidi,dresp,fline) % {{{
+ %%  function to find and read the volumetric uniformity measures
+ 
+-function [dresp]=vum_read(fidi,dresp,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		[fline]=findline(fidi,'The following lists volumetric uniformity measures');
++		if ~ischar(fline)
++			return
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    [fline]=findline(fidi,'The following lists volumetric uniformity measures');
+-    if ~ischar(fline)
+-        return
+-    end
+-end
++	if isempty(dresp)
++		dresp(end+1).vum=[];
++	end
++	display('Reading measures for volumetric uniformity.');
+ 
+-if isempty(dresp)
+-    dresp(end+1).vum=[];
+-end
+-display('Reading measures for volumetric uniformity.');
++	fline=fgetl(fidi);
++	fline=fgetl(fidi);
+ 
+-fline=fgetl(fidi);
+-fline=fgetl(fidi);
++	while ischar(fline) && ~isempty(fline)
++		[ntokens,tokens]=fltokens(fline);
++		switch lower(tokens{1}{1})
++			case 'chi'
++				dresp.vum.chi=tokens{1}{4};
++			case 'd'
++				dresp.vum.d  =tokens{1}{4};
++			case 'h'
++				dresp.vum.h  =tokens{1}{4};
++			case 'tau'
++				dresp.vum.tau=tokens{1}{4};
++		end
++		fline=fgetl(fidi);
++	end
+ 
+-while ischar(fline) && ~isempty(fline)
+-	[ntokens,tokens]=fltokens(fline);
+-    switch lower(tokens{1}{1})
+-        case 'chi'
+-            dresp.vum.chi=tokens{1}{4};
+-        case 'd'
+-            dresp.vum.d  =tokens{1}{4};
+-        case 'h'
+-            dresp.vum.h  =tokens{1}{4};
+-        case 'tau'
+-            dresp.vum.tau=tokens{1}{4};
+-    end
+-    fline=fgetl(fidi);
+-end
+-
+-end
+-
++end % }}}
++function [method]=itcomp_read(fidi,fline) % {{{
+ %%  function to find and read the iterator completion
+ 
+-function [method]=itcomp_read(fidi,fline)
++	if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
++		while 1
++			[fline]=findline(fidi,'<<<<< Iterator ');
++			if ~ischar(fline)
++				return
++			end
++			if (length(fline) > 26) && ...
++					~isempty(strfind(fline(16:end),' completed.'))
++				break
++			end
++		end
++	end
+ 
+-if ~exist('fline','var') || isempty(fline) || ~ischar(fline)
+-    while 1
+-        [fline]=findline(fidi,'<<<<< Iterator ');
+-        if ~ischar(fline)
+-            return
+-        end
+-        if (length(fline) > 26) && ...
+-           ~isempty(strfind(fline(16:end),' completed.'))
+-            break
+-        end
+-    end
+-end
++	[ntokens,tokens]=fltokens(fline);
++	method=tokens{1}{3};
++	display(sprintf('Dakota iterator ''%s'' completed.',method));
+ 
+-[ntokens,tokens]=fltokens(fline);
+-method=tokens{1}{3};
+-display(sprintf('Dakota iterator ''%s'' completed.',method));
+-
+-end
+-
++end % }}}
++function [fline]=findline(fidi,string) % {{{
+ %%  function to find a file line starting with a specified string
+ 
+-function [fline]=findline(fidi,string)
++	ipos=ftell(fidi);
+ 
+-ipos=ftell(fidi);
++	while 1
++		fline=fgetl(fidi);
++		if ~ischar(fline)
++			break;
++		else
++			if (strncmpi(fline,string,length(string)))
++				return;
++			end
++		end
++	end
+ 
+-while 1
+-    fline=fgetl(fidi);
+-    if ~ischar(fline)
+-        break;
+-    else
+-        if (strncmpi(fline,string,length(string)))
+-            return;
+-        end
+-    end
+-end
++	%  issue warning and reset file position
+ 
+-%  issue warning and reset file position
++	warning('findline:str_not_found',...
++		'String ''%s'' not found in file.',string);
++	fseek(fidi,ipos,'bof');
+ 
+-warning('findline:str_not_found',...
+-    'String ''%s'' not found in file.',string);
+-fseek(fidi,ipos,'bof');
+-
+-end
+-
++end % }}}
++function [ntokens,tokens]=fltokens(fline) % {{{
+ %%  function to parse a file line into tokens
+ 
+-function [ntokens,tokens]=fltokens(fline)
++	if ~ischar(fline)
++		ntokens=-1;
++		tokens={};
++		return;
++	end
++	if isempty(fline)
++		ntokens=0;
++		tokens={};
++		return;
++	end
+ 
+-if ~ischar(fline)
+-    ntokens=-1;
+-    tokens={};
+-    return;
+-end
+-if isempty(fline)
+-    ntokens=0;
+-    tokens={};
+-    return;
+-end
++	strings=textscan(fline,'%s','delimiter',' :');
++	%for i=1:length(strings{1})
++	%    display(sprintf('i=%d; strings{1}{%d}=%s',i,i,strings{1}{i}))
++	%end
++	ntokens=0;
++	tokens{1}{length(strings)}='';
+ 
+-strings=textscan(fline,'%s','delimiter',' :');
+-%for i=1:length(strings{1})
+-%    display(sprintf('i=%d; strings{1}{%d}=%s',i,i,strings{1}{i}))
+-%end
+-ntokens=0;
+-tokens{1}{length(strings)}='';
++	for i=1:length(strings{1})
++		if isempty(strings{1}{i})
++			continue
++		end
++		ntokens=ntokens+1;
++		inum=sscanf(strings{1}{i},'%f');
++		if isempty(inum)
++			tokens{1}{ntokens}=strings{1}{i};
++			%        display(sprintf('i=%d; tokens{1}{%d}=%s',...
++			%            i,ntokens,tokens{1}{ntokens}))
++		else
++			tokens{1}{ntokens}=inum;
++			%        display(sprintf('i=%d; tokens{1}{%d}=%f',...
++			%            i,ntokens,tokens{1}{ntokens}))
++		end
++	end
+ 
+-for i=1:length(strings{1})
+-    if isempty(strings{1}{i})
+-        continue
+-    end
+-    ntokens=ntokens+1;
+-    inum=sscanf(strings{1}{i},'%f');
+-    if isempty(inum)
+-        tokens{1}{ntokens}=strings{1}{i};
+-%        display(sprintf('i=%d; tokens{1}{%d}=%s',...
+-%            i,ntokens,tokens{1}{ntokens}))
+-    else
+-        tokens{1}{ntokens}=inum;
+-%        display(sprintf('i=%d; tokens{1}{%d}=%f',...
+-%            i,ntokens,tokens{1}{ntokens}))
+-    end
+-end
+-
+-end
++end % }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21664-21665.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21664-21665.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21664-21665.diff	(revision 21726)
@@ -0,0 +1,128 @@
+Index: ../trunk-jpl/externalpackages/petsc/install-3.6-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.6-pleiades.sh	(revision 21664)
++++ ../trunk-jpl/externalpackages/petsc/install-3.6-pleiades.sh	(revision 21665)
+@@ -19,9 +19,7 @@
+ 	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
+ 	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
+ 	--with-cc=icc --with-cxx=icpc --with-fc=ifort --with-f77=ifort \
+-	--with-blas-lapack-dir="/nasa/intel/Compiler/2015.0.090/composer_xe_2015.0.090/mkl/" \
+-	--with-mpi-lib="/nasa/sgi/mpt/2.12r16/lib/libmpi.so" \
+-	--with-mpi-include="/nasa/sgi/mpt/2.12r16/include" \
++	--with-blas-lapack-dir="/nasa/intel/Compiler/2016.2.181/compilers_and_libraries_2016.2.181/linux/mkl/" \
+ 	--known-mpi-shared-libraries=1 \
+ 	--with-debugging=0 \
+ 	--with-valgrind=0 \
+@@ -43,8 +41,8 @@
+ #PBS -m e 
+ 
+ . /usr/share/modules/init/bash 
+-module load comp-intel/2015.0.090
+-module load mpi-sgi/mpt.2.12r16
++module load comp-intel/2016.2.181
++module load mpi-sgi/mpt
+ 
+ export PATH="$PATH:." 
+ export MPI_GROUP_MAX=64 
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21664)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21665)
+@@ -19,9 +19,7 @@
+ 	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
+ 	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
+ 	--with-cc=icc --with-cxx=icpc --with-fc=ifort --with-f77=ifort \
+-	--with-blas-lapack-dir="/nasa/intel/Compiler/2015.0.090/composer_xe_2015.0.090/mkl/" \
+-	--with-mpi-lib="/nasa/sgi/mpt/2.12r16/lib/libmpi.so" \
+-	--with-mpi-include="/nasa/sgi/mpt/2.12r16/include" \
++	--with-blas-lapack-dir="/nasa/intel/Compiler/2016.2.181/compilers_and_libraries_2016.2.181/linux/mkl/" \
+ 	--known-mpi-shared-libraries=1 \
+ 	--with-debugging=0 \
+ 	--with-valgrind=0 \
+@@ -52,8 +50,8 @@
+ #PBS -m e 
+ 
+ . /usr/share/modules/init/bash 
+-module load comp-intel/2015.0.090
+-module load mpi-sgi/mpt.2.12r16
++module load comp-intel/2016.2.181
++module load mpi-sgi/mpt
+ 
+ export PATH="$PATH:." 
+ export MPI_GROUP_MAX=64 
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21665)
+@@ -0,0 +1,65 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf install petsc-3.7.2 src
++mkdir install src
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++
++#Untar and move petsc to install directory
++tar -zxvf  petsc-3.7.2.tar.gz
++mv petsc-3.7.2/* src/
++rm -rf petsc-3.7.2
++
++#configure
++cd src
++./config/configure.py \
++	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
++	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
++	--with-cc=icc --with-cxx=icpc --with-fc=ifort --with-f77=ifort \
++	--with-blas-lapack-dir="/nasa/intel/mkl/10.0.011" \
++	--known-mpi-shared-libraries=1 \
++	--with-debugging=0 \
++	--with-valgrind=0 \
++	--with-x=0 \
++	--with-ssl=0 \
++	--with-batch=1  \
++	--with-shared-libraries=1 \
++	--download-metis=1 \
++	--download-parmetis=1 \
++	--download-mumps=1 \
++	--download-scalapack=1 \
++	--download-ml=1 \
++	--download-pastix=1 \
++	--download-ptscotch=1 \
++	--download-hypre=1 \
++	--download-euclid=1 \
++	--download-spooles=1 \
++	--download-spai=1 \
++	--download-superlu_dist=1 \
++	--download-scalapack=1 
++
++#prepare script to reconfigure petsc
++cat > script.queue << EOF
++#PBS -S /bin/bash
++#PBS -l select=1:ncpus=1:model=bro
++#PBS -l walltime=200 
++#PBS -W group_list=s1690
++#PBS -m e 
++
++. /usr/share/modules/init/bash 
++module load comp-intel/2016.2.181
++module load mpi-sgi/mpt
++module load math/intel_mkl_64_10.0.011
++
++export PATH="$PATH:." 
++export MPI_GROUP_MAX=64 
++mpiexec -np 1 ./conftest-arch-linux2-c-opt
++EOF
++
++#print instructions
++echo "== Now: cd src/ "
++echo "== qsub -q devel script.queue "
++echo "== Then run reconfigure script generated by PETSc and follow instructions"
+
+Property changes on: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21665-21666.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21665-21666.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21665-21666.diff	(revision 21726)
@@ -0,0 +1,214 @@
+Index: ../trunk-jpl/configs/config-ios-armv7.sh
+===================================================================
+--- ../trunk-jpl/configs/config-ios-armv7.sh	(revision 21665)
++++ ../trunk-jpl/configs/config-ios-armv7.sh	(revision 21666)
+@@ -1,32 +0,0 @@
+-#!/bin/sh
+-set -eu
+-
+-export DEVROOT=`xcode-select --print-path`
+-export SDKROOT="$DEVROOT/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk"
+-export CLANG="$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
+-export CLANGXX="$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++"
+-export CC=$CLANG
+-export LD=$DEVROOT/usr/bin/ld
+-export CPPFLAGS="-isysroot $SDKROOT/usr/include"
+-export CXX=$CLANGXX
+-export CXXFLAGS="-O -arch armv7 -isysroot $SDKROOT -I$SDKROOT/usr/include" 
+-export CFLAGS="-O -arch armv7 -isysroot $SDKROOT -I$SDKROOT/usr/include"
+-export AR=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
+-export AS=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/as
+-export LDFLAGS="-lstdc++ -arch armv7 -isysroot $SDKROOT" 
+-export LIBTOOL=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
+-export STRIP=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip
+-export RANLIB=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
+-
+-./configure                                                        \
+-	--prefix=$ISSM_DIR                                              \
+-   --build="i386-apple-darwin13.1.0"                               \
+-   --host="armv7-apple-darwin14.0.0"                               \
+-   --enable-shared                                                 \
+-   --with-ios=yes                                                  \
+-   --with-Gia=no                                                   \
+-   --without-fortran                                               \
+-	--without-wrappers                                              \
+-	--without-kriging                                               \
+-	--with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install           \
+-	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+Index: ../trunk-jpl/configs/config-pleiades-petsc3.4.sh
+===================================================================
+--- ../trunk-jpl/configs/config-pleiades-petsc3.4.sh	(revision 21665)
++++ ../trunk-jpl/configs/config-pleiades-petsc3.4.sh	(revision 21666)
+@@ -1,20 +0,0 @@
+-#!/bin/csh
+-
+-./configure \
+- --prefix=$ISSM_DIR \
+- --with-wrappers=no \
+- --with-triangle-dir="$ISSM_DIR/externalpackages/triangle/install" \
+- --with-petsc-dir="$ISSM_DIR/externalpackages/petsc/install" \
+- --with-tao-dir="$ISSM_DIR/externalpackages/tao/install" \
+- --with-mpi-include="/nasa/sgi/mpt/2.06rp16/include" \
+- --with-mpi-libflags="-L/nasa/sgi/mpt/2.06rp16/ -lmpi" \
+- --with-mkl-dir="/nasa/intel/Compiler/2013.1.117/composer_xe_2013.1.117/mkl/lib/intel64" \
+- --with-gsl-dir="$ISSM_DIR/externalpackages/gsl/install" \
+- --with-dakota-dir="$ISSM_DIR/externalpackages/dakota/install" \
+- --with-metis-dir="$ISSM_DIR/externalpackages/petsc/install" \
+- --with-mumps-dir="$ISSM_DIR/externalpackages/petsc/install" \
+- --with-scalapack-dir="$ISSM_DIR/externalpackages/petsc/install" \
+- --with-hypre-dir="$ISSM_DIR/externalpackages/petsc/install" \
+- --with-graphics-lib="/usr/lib64/libX11.so" \
+- --with-cxxoptflags="-O3" \
+- --with-vendor="intel-pleiades"
+Index: ../trunk-jpl/configs/config-ios-linux.sh
+===================================================================
+--- ../trunk-jpl/configs/config-ios-linux.sh	(revision 21665)
++++ ../trunk-jpl/configs/config-ios-linux.sh	(revision 21666)
+@@ -1,28 +0,0 @@
+-#!/bin/sh
+-
+-export DEVROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/"
+-export SDKROOT="$DEVROOT/SDKs/iPhoneOS6.0.sdk/"
+-export CC=$DEVROOT/usr/bin/gcc
+-export LD=$DEVROOT/usr/bin/ld
+-export CPP=$DEVROOT/usr/bin/cpp
+-export CXX=$DEVROOT/usr/bin/g++
+-export CXXFLAGS="-O -arch armv7 -isysroot $SDKROOT" 
+-export CFLAGS="-O -arch armv7 -isysroot $SDKROOT"
+-export AR=$DEVROOT/usr/bin/ar
+-export AS=$DEVROOT/usr/bin/as
+-export LDFLAGS="-lstdc++ -arch armv7 -isysroot $SDKROOT" 
+-export LIBTOOL=$DEVROOT/usr/bin/libtool
+-export STRIP=$DEVROOT/usr/bin/strip
+-export RANLIB=$DEVROOT/usr/bin/ranlib
+-
+-./configure \
+-	--prefix=$ISSM_DIR \
+-    --build="i386-apple-darwin10.8.0" \
+-    --host="arm-apple-darwin10" \
+-    --enable-shared \
+-    --with-ios=yes \
+-    --without-fortran \
+-	--without-wrappers \
+-	--without-kriging \
+-	--with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install \
+-	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+Index: ../trunk-jpl/configs/config-win10.sh
+===================================================================
+--- ../trunk-jpl/configs/config-win10.sh	(revision 21665)
++++ ../trunk-jpl/configs/config-win10.sh	(revision 21666)
+@@ -1,19 +0,0 @@
+-#!/bin/bash
+-
+-./configure --prefix=$ISSM_DIR \
+-	--with-vendor=MSVC-Win64  \
+-	--with-cxxoptflags='' \
+-   --disable-static \
+-	--enable-standalone-libraries \
+-	--with-fortran=no  \
+-	--without-Gia \
+-	--without-kriging \
+-	--without-kml \
+-	--with-matlab-dir=$MATLAB_PATH \
+-	--with-triangle-dir="$ISSM_DIR/externalpackages/triangle/install" \
+-	--with-petsc-dir="$ISSM_DIR/externalpackages/petsc/install" \
+-	--with-metis-dir=$ISSM_DIR/externalpackages/metis/install \
+-	--with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/lib/  \
+-	--with-mpi-libdir="$ISSM_DIR/externalpackages/petsc/install/lib" \
+-	--with-mpi-libflags="-Wl,libpetsc.lib" \
+-	--with-mpi-include="$ISSM_DIR/externalpackages/petsc/install/include/petsc/mpiuni"
+Index: ../trunk-jpl/configs/config-ios-simulator.sh
+===================================================================
+--- ../trunk-jpl/configs/config-ios-simulator.sh	(revision 21665)
++++ ../trunk-jpl/configs/config-ios-simulator.sh	(revision 21666)
+@@ -1,31 +0,0 @@
+-#!/bin/sh
+-set -eu
+-
+-export DEVROOT=`xcode-select --print-path`
+-export SDKROOT="$DEVROOT/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk"
+-export CLANG="$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
+-export CLANGXX="$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++"
+-export CC=$CLANG
+-export CXX=$CLANGXX
+-export LD=$DEVROOT/usr/bin/ld
+-export CPPFLAGS="-isysroot $SDKROOT/usr/include"
+-export CXXFLAGS="-O -arch i386 -miphoneos-version-min=7.1 -isysroot $SDKROOT -I$SDKROOT/usr/include"
+-export CFLAGS="-O -arch i386 -miphoneos-version-min=7.1  -isysroot $SDKROOT -I$SDKROOT/usr/include"
+-export AR=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
+-export AS=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/as
+-export LDFLAGS="-lstdc++ -arch i386 -isysroot $SDKROOT" 
+-export LIBTOOL=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
+-export STRIP=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip
+-export RANLIB=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
+-
+-./configure                                                        \
+-	--prefix=$ISSM_DIR                                              \
+-   --target="i386-apple-darwin13.1.0"                              \
+-   --enable-shared                                                 \
+-   --with-ios=yes                                                  \
+-   --with-Gia=no                                                   \
+-   --without-fortran                                               \
+-	--without-wrappers                                              \
+-	--without-kriging                                               \
+-	--with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install           \
+-	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+Index: ../trunk-jpl/configs/config-ios-armv7s.sh
+===================================================================
+--- ../trunk-jpl/configs/config-ios-armv7s.sh	(revision 21665)
++++ ../trunk-jpl/configs/config-ios-armv7s.sh	(revision 21666)
+@@ -1,32 +0,0 @@
+-#!/bin/sh
+-set -eu
+-
+-export DEVROOT=`xcode-select --print-path`
+-export SDKROOT="$DEVROOT/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk"
+-export CLANG="$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
+-export CLANGXX="$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++"
+-export CC=$CLANG
+-export LD=$DEVROOT/usr/bin/ld
+-export CPPFLAGS="-isysroot $SDKROOT/usr/include"
+-export CXX=$CLANGXX
+-export CXXFLAGS="-O -arch armv7s -isysroot $SDKROOT -I$SDKROOT/usr/include" 
+-export CFLAGS="-O -arch armv7s -isysroot $SDKROOT -I$SDKROOT/usr/include"
+-export AR=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
+-export AS=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/as
+-export LDFLAGS="-lstdc++ -arch armv7s -isysroot $SDKROOT" 
+-export LIBTOOL=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
+-export STRIP=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip
+-export RANLIB=$DEVROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
+-
+-./configure                                                        \
+-	--prefix=$ISSM_DIR                                              \
+-   --build="i386-apple-darwin13.1.0"                               \
+-   --host="armv7s-apple-darwin14.0.0"                               \
+-   --enable-shared                                                 \
+-   --with-ios=yes                                                  \
+-   --with-Gia=no                                                   \
+-   --without-fortran                                               \
+-	--without-wrappers                                              \
+-	--without-kriging                                               \
+-	--with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install           \
+-	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+Index: ../trunk-jpl/configs/configure.sh
+===================================================================
+--- ../trunk-jpl/configs/configure.sh	(revision 21665)
++++ ../trunk-jpl/configs/configure.sh	(revision 21666)
+@@ -1,17 +0,0 @@
+-#!/bin/sh
+-
+-#Default configuration script
+-#petsc 3.4
+-#mpich 1.4
+-
+-./configure \
+-	--prefix=$ISSM_DIR \
+-	--with-matlab-dir="$ISSM_DIR/externalpackages/matlab/install" \
+-	--with-triangle-dir="$ISSM_DIR/externalpackages/triangle/install" \
+-	--with-mpi-include="$ISSM_DIR/externalpackages/mpich/install/include"  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib/ -lmpich" \
+-	--with-petsc-dir="$ISSM_DIR/externalpackages/petsc/install" \
+-	--with-metis-dir="$ISSM_DIR/externalpackages/petsc/install" \
+-	--with-scalapack-dir="$ISSM_DIR/externalpackages/petsc/install/" \
+-	--with-mumps-dir="$ISSM_DIR/externalpackages/petsc/install/" \
+-	--with-numthreads=2
Index: /issm/oecreview/Archive/21337-21723/ISSM-21666-21667.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21666-21667.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21666-21667.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21666)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21667)
+@@ -135,6 +135,10 @@
+ 			if md.settings.solver_residue_threshold==0,
+ 				md.settings.solver_residue_threshold = 1e-6;
+ 			end
++			%2017 April 10th
++			if isa(md.gia,'gia');
++				md.gia=giaivins();
++			end
+ 
+ 		end% }}}
+ 	end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21667-21668.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21667-21668.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21667-21668.diff	(revision 21726)
@@ -0,0 +1,175 @@
+Index: ../trunk-jpl/src/c/classes/IoModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21667)
++++ ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21668)
+@@ -682,6 +682,7 @@
+ 				case 6: 
+ 				case 7: 
+ 				case 8: 
++				case 10:
+ 					/*We are not interested in this record, too memory intensive. Skip it: */
+ 					/*skip: */
+ 					fseek(fid,-sizeof(int),SEEK_CUR); //backtrak 1 integer
+@@ -824,6 +825,7 @@
+ 					case 6: break; //do nothing. not interested in this type of data, which is memory intensive.
+ 					case 7: break; //do nothing. not interested in this type of data, which is memory intensive.
+ 					case 8: break; //do nothing. not interested in this type of data, which is memory intensive.
++					case 10: break; //do nothing. not interested in this type of data, which is memory intensive.
+ 					case 9:
+ 							  ISSM_MPI_Bcast(&numstrings,1,ISSM_MPI_INT,0,IssmComm::GetComm()); 
+ 							  /*Now allocate string array: */
+@@ -1131,7 +1133,7 @@
+ 
+ 	/*Set file pointer to beginning of the data: */
+ 	fid=this->SetFilePointerToData(&code,NULL,data_name);
+-	if(code!=5 && code!=6 && code!=7)_error_("expecting a IssmDouble, integer or boolean matrix for \""<<data_name<<"\""<<" (Code is "<<code<<")");
++	if(code!=5 && code!=6 && code!=7 && code!=10)_error_("expecting a IssmDouble, integer or boolean matrix for \""<<data_name<<"\""<<" (Code is "<<code<<")");
+ 
+ 	/*Now fetch: */
+ 
+@@ -1149,20 +1151,48 @@
+ 
+ 	/*Now allocate matrix: */
+ 	if(M*N){
+-		matrix=xNew<IssmPDouble>(M*N);
++		if(code==10){
++			/*Special case for Compressed mat*/
++			IssmPDouble offset,range;
++			if(my_rank==0) if(fread(&offset,sizeof(IssmPDouble),1,fid)!=1) _error_("could not read offset");
++			ISSM_MPI_Bcast(&offset,1,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm()); 
+ 
+-		/*Read matrix on node 0, then broadcast: */
+-		if(my_rank==0){  
+-			if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error_("could not read matrix ");
++			if(my_rank==0) if(fread(&range,sizeof(IssmPDouble),1,fid)!=1) _error_("could not read range");
++			ISSM_MPI_Bcast(&range,1,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm()); 
++
++			*pmatrix=xNew<IssmDouble>(M*N);
++
++			/*Read matrix*/
++			uint8_t* rawmatrix=xNew<uint8_t>((M-1)*N);
++			if(my_rank==0) if(fread(rawmatrix,(M-1)*N*sizeof(char),1,fid)!=1) _error_("could not read matrix ");
++			ISSM_MPI_Bcast(rawmatrix,(M-1)*N,ISSM_MPI_CHAR,0,IssmComm::GetComm()); 
++
++			for(int i=0;i<(M-1)*N;++i) (*pmatrix)[i]=offset+range*reCast<IssmDouble>(rawmatrix[i])/255.;
++			xDelete<uint8_t>(rawmatrix);
++
++			/*read time now*/
++			IssmPDouble* timematrix=xNew<IssmDouble>(N);
++			if(my_rank==0) if(fread(timematrix,N*sizeof(IssmPDouble),1,fid)!=1) _error_("could not read time in compressed matrix");
++			ISSM_MPI_Bcast(timematrix,N,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm()); 
++
++			for(int i=0;i<N;++i) (*pmatrix)[(M-1)*N+i]=timematrix[i];
++			xDelete<IssmPDouble>(timematrix);
++
+ 		}
+-		ISSM_MPI_Bcast(matrix,M*N,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm()); 
++		else{
++			/*Read matrix on node 0, then broadcast: */
++			matrix=xNew<IssmPDouble>(M*N);
++			if(my_rank==0) if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error_("could not read matrix ");
++			ISSM_MPI_Bcast(matrix,M*N,ISSM_MPI_PDOUBLE,0,IssmComm::GetComm()); 
+ 
+-		*pmatrix=xNew<IssmDouble>(M*N);
+-		for(int i=0;i<M*N;++i) (*pmatrix)[i]=matrix[i];
+-		xDelete<IssmPDouble>(matrix);
++			*pmatrix=xNew<IssmDouble>(M*N);
++			for(int i=0;i<M*N;++i) (*pmatrix)[i]=matrix[i];
++			xDelete<IssmPDouble>(matrix);
++		}
+ 	}
+-	else
+-	  *pmatrix=NULL;
++	else{
++		*pmatrix=NULL;
++	}
+ 	/*Assign output pointers: */
+ 	if(pM) *pM=M;
+ 	if(pN) *pN=N;
+@@ -1541,7 +1571,7 @@
+ 	this->SetFilePointerToData(&code, &vector_layout,vector_name);
+ 
+ 	/*Defaulting only supported for double arrays*/
+-	if(code!=7) _error_(vector_name<<" is not a double array");
++	if(code!=7 && code!=10) _error_(vector_name<<" is not a double array");
+ 
+ 	this->FetchData(&doublearray,&M,&N,vector_name);
+ 
+@@ -2465,7 +2495,7 @@
+ 				if(fread(&record_code,sizeof(int),1,fid)!=1) _error_("Could not read record_code");
+ 
+ 				/*if record_code points to a vector, get its type (nodal or elementary): */
+-				if(5<=record_code && record_code<=7){
++				if((5<=record_code && record_code<=7) || record_code==10){
+ 					if(fread(&vector_type,sizeof(int),1,fid)!=1) _error_("Could not read vector_type");
+ 				}
+ 				found=1;
+Index: ../trunk-jpl/src/m/classes/SMBforcing.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBforcing.m	(revision 21667)
++++ ../trunk-jpl/src/m/classes/SMBforcing.m	(revision 21668)
+@@ -68,6 +68,7 @@
+ 
+ 			WriteData(fid,prefix,'name','md.smb.model','data',1,'format','Integer');
+ 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			%WriteData(fid,prefix,'object',self,'class','smb','fieldname','mass_balance','format','CompressedMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 			
+ 			%process requested outputs
+ 			outputs = self.requested_outputs;
+Index: ../trunk-jpl/src/m/solve/WriteData.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/WriteData.m	(revision 21667)
++++ ../trunk-jpl/src/m/solve/WriteData.m	(revision 21668)
+@@ -168,6 +168,43 @@
+ 		fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
+ 	end
+ 	% }}}
++elseif strcmpi(format,'CompressedMat'), % {{{
++
++	%Get size
++	s=size(data);
++
++	if s(1)==1 | s(2)==1,
++		%No need to use Compressed format
++		error('Not needed (should call WriteData with DoubleMat)');
++	end
++
++	%first write length of record
++	recordlength=4+4+8+8+1*(s(1)-1)*s(2)+8*s(2)+4+4; %2 integers (32 bits) + the matrix + code + matrix type
++	if recordlength>2^31; error(['field ' name ' cannot be marshalled because it is larger than 2^31 bytes!']); end
++	fwrite(fid,recordlength,'int');
++
++	%write data code and matrix type: 
++	fwrite(fid,FormatToCode(format),'int'); 
++	fwrite(fid,mattype,'int');
++
++	%write matrix size
++	fwrite(fid,s(1),'int'); 
++	fwrite(fid,s(2),'int'); 
++
++	%Write offset and range
++	A = data(1:end-1,:);
++	offset = min(A(:));
++	range = max(A(:)) - offset;
++	fwrite(fid,offset,'double'); 
++	fwrite(fid,range,'double'); 
++
++	%Convert data to uint8 and write it
++	A=uint8((A-offset)/range*255);
++	fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
++
++	%Write last row as double (time)
++	fwrite(fid,data(end,:),'double'); 
++	% }}}
+ elseif strcmpi(format,'MatArray'), % {{{
+ 
+ 	numrecords=numel(data);
+@@ -257,6 +294,8 @@
+ 		code=8;
+ 	elseif strcmpi(format,'StringArray'),
+ 		code=9;
++	elseif strcmpi(format,'CompressedMat'),
++		code=10;
+ 	else 
+ 		error('FormatToCode error message: data type not supported yet!');
+ 	end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21668-21669.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21668-21669.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21668-21669.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 21668)
++++ ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 21669)
+@@ -276,7 +276,7 @@
+ 				/*Limit calving rate to c <= v + 3 km/yr */
+ 				vel=sqrt(v[0]*v[0] + v[1]*v[1]);
+ 				if(calvingrate>calvingmax+vel) calvingrate = vel+calvingmax;
+-				if(groundedice<0) meltingrate = 0;
++				if(groundedice<0) meltingrate = 0.;
+ 
+ 				norm_dlsf=0.;
+ 				for(i=0;i<dim;i++) norm_dlsf+=pow(dlsf[i],2);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21669-21670.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21669-21670.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21669-21670.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/classes/thermal.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/thermal.m	(revision 21669)
++++ ../trunk-jpl/src/m/classes/thermal.m	(revision 21670)
+@@ -79,7 +79,7 @@
+ 
+ 			md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 1 2]);
+ 			md = checkfield(md,'fieldname','thermal.spctemperature','Inf',1,'timeseries',1,'>=',0);
+-			md = checkfield(md,'fieldname','thermal.fe','values',{'P1','P1xP2'});
++			md = checkfield(md,'fieldname','thermal.fe','values',{'P1','P1xP2','P1xP3'});
+ 			if (ismember('EnthalpyAnalysis',analyses) & md.thermal.isenthalpy & dimension(md.mesh)==3),
+ 
+ 				%Make sure the spc are less than melting point
Index: /issm/oecreview/Archive/21337-21723/ISSM-21670-21671.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21670-21671.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21670-21671.diff	(revision 21726)
@@ -0,0 +1,387 @@
+Index: ../trunk-jpl/externalpackages/export_fig/eps2pdf.m
+===================================================================
+--- ../trunk-jpl/externalpackages/export_fig/eps2pdf.m	(revision 21670)
++++ ../trunk-jpl/externalpackages/export_fig/eps2pdf.m	(revision 21671)
+@@ -55,6 +55,7 @@
+ % 23/06/15: Added extra debug info in case of ghostscript error; code indentation
+ % 04/10/15: Suggest a workaround for issue #41 (missing font path; thanks Mariia Fedotenkova)
+ % 22/02/16: Bug fix from latest release of this file (workaround for issue #41)
++% 20/03/17: Added informational message in case of GS croak (issue #186)
+ 
+     % Intialise the options string for ghostscript
+     options = ['-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile="' dest '"'];
+@@ -158,6 +159,7 @@
+             if ~isempty(gs_options)
+                 fprintf(2, '  or maybe the%s option(s) are not accepted by your GS version\n', gs_options);
+             end
++            fprintf(2, '  or maybe you have another gs executable in your system''s path\n');
+             fprintf(2, 'Ghostscript options: %s\n\n', orig_options);
+             error(message);
+         end
+Index: ../trunk-jpl/externalpackages/export_fig/export_fig.m
+===================================================================
+--- ../trunk-jpl/externalpackages/export_fig/export_fig.m	(revision 21670)
++++ ../trunk-jpl/externalpackages/export_fig/export_fig.m	(revision 21671)
+@@ -24,6 +24,7 @@
+ %   export_fig ... -clipboard
+ %   export_fig ... -update
+ %   export_fig ... -nofontswap
++%   export_fig ... -linecaps
+ %   export_fig(..., handle)
+ %
+ % This function saves a figure or single axes to one or more vector and/or
+@@ -42,6 +43,7 @@
+ %   - Optionally append to file (pdf, tiff)
+ %   - Vector formats: pdf, eps
+ %   - Bitmap formats: png, tiff, jpg, bmp, export to workspace
++%   - Rounded line-caps (optional; pdf & eps only)
+ %
+ % This function is especially suited to exporting figures for use in
+ % publications and presentations, because of the high quality and
+@@ -152,6 +154,7 @@
+ %   -nofontswap - option to avoid font swapping. Font swapping is automatically
+ %             done in vector formats (only): 11 standard Matlab fonts are
+ %             replaced by the original figure fonts. This option prevents this.
++%   -linecaps - option to create rounded line-caps (vector formats only).
+ %   handle -  The handle of the figure, axes or uipanels (can be an array of
+ %             handles, but the objects must be in the same figure) to be
+ %             saved. Default: gcf.
+@@ -240,6 +243,10 @@
+ % 08/05/16: Added message about possible error reason when groot.Units~=pixels (issue #149)
+ % 17/05/16: Fixed case of image YData containing more than 2 elements (issue #151)
+ % 08/08/16: Enabled exporting transparency to TIF, in addition to PNG/PDF (issue #168)
++% 11/12/16: Added alert in case of error creating output PDF/EPS file (issue #179)
++% 13/12/16: Minor fix to the commit for issue #179 from 2 days ago
++% 22/03/17: Fixed issue #187: only set manual ticks when no exponent is present
++% 09/04/17: Added -linecaps option (idea by Baron Finer, issue #192)
+ %}
+ 
+     if nargout
+@@ -270,7 +277,7 @@
+         fig = isolate_axes(fig);
+     else
+         % Check we have a figure
+-        if ~isequal(get(fig, 'Type'), 'figure');
++        if ~isequal(get(fig, 'Type'), 'figure')
+             error('Handle must be that of a figure, axes or uipanel');
+         end
+         % Get the old InvertHardcopy mode
+@@ -582,7 +589,7 @@
+             if ~options.renderer
+                 if hasTransparency || hasPatches
+                     % This is *MUCH* slower, but more accurate for patches and transparent annotations (issue #39)
+-                    renderer = '-painters';
++                    renderer = '-painters'; %ISSM fix
+                 else
+                     renderer = '-painters';
+                 end
+@@ -654,7 +661,20 @@
+                 % Generate a pdf
+                 eps2pdf(tmp_nam, pdf_nam_tmp, 1, options.append, options.colourspace==2, options.quality, options.gs_options);
+                 % Ghostscript croaks on % chars in the output PDF file, so use tempname and then rename the file
+-                try movefile(pdf_nam_tmp, pdf_nam, 'f'); catch, end
++                try
++                    % Rename the file (except if it is already the same)
++                    % Abbie K's comment on the commit for issue #179 (#commitcomment-20173476)
++                    if ~isequal(pdf_nam_tmp, pdf_nam)
++                        movefile(pdf_nam_tmp, pdf_nam, 'f');
++                    end
++                catch
++                    % Alert in case of error creating output PDF/EPS file (issue #179)
++                    if exist(pdf_nam_tmp, 'file')
++                        error(['Could not create ' pdf_nam ' - perhaps the folder does not exist, or you do not have write permissions']);
++                    else
++                        error('Could not generate the intermediary EPS file.');
++                    end
++                end
+             catch ex
+                 % Delete the eps
+                 delete(tmp_nam);
+@@ -662,13 +682,28 @@
+             end
+             % Delete the eps
+             delete(tmp_nam);
+-            if options.eps
++            if options.eps || options.linecaps
+                 try
+                     % Generate an eps from the pdf
+                     % since pdftops can't handle relative paths (e.g., '..\'), use a temp file
+                     eps_nam_tmp = strrep(pdf_nam_tmp,'.pdf','.eps');
+                     pdf2eps(pdf_nam, eps_nam_tmp);
+-                    movefile(eps_nam_tmp,  [options.name '.eps'], 'f');
++
++                    % Issue #192: enable rounded line-caps
++                    if options.linecaps
++                        fstrm = read_write_entire_textfile(eps_nam_tmp);
++                        fstrm = regexprep(fstrm, '[02] J', '1 J');
++                        read_write_entire_textfile(eps_nam_tmp, fstrm);
++                        if options.pdf
++                            eps2pdf(eps_nam_tmp, pdf_nam, 1, options.append, options.colourspace==2, options.quality, options.gs_options);
++                        end
++                    end
++
++                    if options.eps
++                        movefile(eps_nam_tmp, [options.name '.eps'], 'f');
++                    else  % if options.pdf
++                        try delete(eps_nam_tmp); catch, end
++                    end
+                 catch ex
+                     if ~options.pdf
+                         % Delete the pdf
+@@ -855,6 +890,7 @@
+         'quality',      [], ...
+         'update',       false, ...
+         'fontswap',     true, ...
++        'linecaps',     false, ...
+         'gs_options',   {{}});
+ end
+ 
+@@ -945,6 +981,8 @@
+                         end
+                     case 'nofontswap'
+                         options.fontswap = false;
++                    case 'linecaps'
++                        options.linecaps = true;
+                     otherwise
+                         try
+                             wasError = false;
+@@ -1160,7 +1198,7 @@
+ end
+ 
+ function A = rgb2grey(A)
+-    A = cast(reshape(reshape(single(A), [], 3) * single([0.299; 0.587; 0.114]), size(A, 1), size(A, 2)), class(A)); %#ok<ZEROLIKE>
++    A = cast(reshape(reshape(single(A), [], 3) * single([0.299; 0.587; 0.114]), size(A, 1), size(A, 2)), class(A)); % #ok<ZEROLIKE>
+ end
+ 
+ function A = check_greyscale(A)
+@@ -1256,9 +1294,22 @@
+     if ~iscell(M)
+         M = {M};
+     end
+-    M = cellfun(@(c) strcmp(c, 'linear'), M);
+-    set(Hlims(M), [ax 'TickMode'], 'manual');
+-    %set(Hlims(M), [ax 'TickLabelMode'], 'manual');  % this hides exponent label in HG2!
++    %idx = cellfun(@(c) strcmp(c, 'linear'), M);
++    idx = find(strcmp(M,'linear'));
++    %set(Hlims(idx), [ax 'TickMode'], 'manual');  % issue #187
++    %set(Hlims(idx), [ax 'TickLabelMode'], 'manual');  % this hides exponent label in HG2!
++    for idx2 = 1 : numel(idx)
++        try
++            % Fix for issue #187 - only set manual ticks when no exponent is present
++            hAxes = Hlims(idx(idx2));
++            props = {[ax 'TickMode'],'manual', [ax 'TickLabelMode'],'manual'};
++            if isempty(strtrim(hAxes.([ax 'Ruler']).SecondaryLabel.String))
++                set(hAxes, props{:});  % no exponent, so update moth ticks and tick labels to manual
++            end
++        catch  % probably HG1
++            set(hAxes, props{:});  % revert back to old behavior
++        end
++    end
+ end
+ 
+ function change_rgb_to_cmyk(fname)  % convert RGB => CMYK within an EPS file
+Index: ../trunk-jpl/externalpackages/export_fig/print2array.m
+===================================================================
+--- ../trunk-jpl/externalpackages/export_fig/print2array.m	(revision 21670)
++++ ../trunk-jpl/externalpackages/export_fig/print2array.m	(revision 21671)
+@@ -49,6 +49,7 @@
+ % 10/03/15: Fixed minor warning reported by Paul Soderlind; fixed code indentation
+ % 28/05/15: Fixed issue #69: patches with LineWidth==0.75 appear wide (internal bug in Matlab's print() func)
+ % 07/07/15: Fixed issue #83: use numeric handles in HG1
++% 11/12/16: Fixed cropping issue reported by Harry D.
+ %}
+ 
+     % Generate default input arguments, if needed
+@@ -101,36 +102,43 @@
+         gs_options = '';
+     end
+     if nargin > 2 && strcmp(renderer, '-painters')
+-        % Print to eps file
+-        if isTempDirOk
+-            tmp_eps = [tempname '.eps'];
+-        else
+-            tmp_eps = fullfile(fpath,[fname '.eps']);
+-        end
+-        print2eps(tmp_eps, fig, 0, renderer, '-loose');
++        % First try to print directly to tif file
+         try
+-            % Initialize the command to export to tiff using ghostscript
+-            cmd_str = ['-dEPSCrop -q -dNOPAUSE -dBATCH ' res_str ' -sDEVICE=tiff24nc'];
+-            % Set the font path
+-            fp = font_path();
+-            if ~isempty(fp)
+-                cmd_str = [cmd_str ' -sFONTPATH="' fp '"'];
++            % Print the file into a temporary TIF file and read it into array A
++            [A, err, ex] = read_tif_img(fig, res_str, renderer, tmp_nam);
++            if err, rethrow(ex); end
++        catch  % error - try to print to EPS and then using Ghostscript to TIF
++            % Print to eps file
++            if isTempDirOk
++                tmp_eps = [tempname '.eps'];
++            else
++                tmp_eps = fullfile(fpath,[fname '.eps']);
+             end
+-            % Add the filenames
+-            cmd_str = [cmd_str ' -sOutputFile="' tmp_nam '" "' tmp_eps '"' gs_options];
+-            % Execute the ghostscript command
+-            ghostscript(cmd_str);
+-        catch me
++            print2eps(tmp_eps, fig, 0, renderer, '-loose');
++            try
++                % Initialize the command to export to tiff using ghostscript
++                cmd_str = ['-dEPSCrop -q -dNOPAUSE -dBATCH ' res_str ' -sDEVICE=tiff24nc'];
++                % Set the font path
++                fp = font_path();
++                if ~isempty(fp)
++                    cmd_str = [cmd_str ' -sFONTPATH="' fp '"'];
++                end
++                % Add the filenames
++                cmd_str = [cmd_str ' -sOutputFile="' tmp_nam '" "' tmp_eps '"' gs_options];
++                % Execute the ghostscript command
++                ghostscript(cmd_str);
++            catch me
++                % Delete the intermediate file
++                delete(tmp_eps);
++                rethrow(me);
++            end
+             % Delete the intermediate file
+             delete(tmp_eps);
+-            rethrow(me);
++            % Read in the generated bitmap
++            A = imread(tmp_nam);
++            % Delete the temporary bitmap file
++            delete(tmp_nam);
+         end
+-        % Delete the intermediate file
+-        delete(tmp_eps);
+-        % Read in the generated bitmap
+-        A = imread(tmp_nam);
+-        % Delete the temporary bitmap file
+-        delete(tmp_nam);
+         % Set border pixels to the correct colour
+         if isequal(bcol, 'none')
+             bcol = [];
+@@ -167,30 +175,8 @@
+         if nargin < 3
+             renderer = '-opengl';
+         end
+-        err = false;
+-        % Set paper size
+-        old_pos_mode = get(fig, 'PaperPositionMode');
+-        old_orientation = get(fig, 'PaperOrientation');
+-        set(fig, 'PaperPositionMode', 'auto', 'PaperOrientation', 'portrait');
+-        try
+-            % Workaround for issue #69: patches with LineWidth==0.75 appear wide (internal bug in Matlab's print() function)
+-            fp = [];  % in case we get an error below
+-            fp = findall(fig, 'Type','patch', 'LineWidth',0.75);
+-            set(fp, 'LineWidth',0.5);
+-            % Fix issue #83: use numeric handles in HG1
+-            if ~using_hg2(fig),  fig = double(fig);  end
+-            % Print to tiff file
+-            print(fig, renderer, res_str, '-dtiff', tmp_nam);
+-            % Read in the printed file
+-            A = imread(tmp_nam);
+-            % Delete the temporary file
+-            delete(tmp_nam);
+-        catch ex
+-            err = true;
+-        end
+-        set(fp, 'LineWidth',0.75);  % restore original figure appearance
+-        % Reset paper size
+-        set(fig, 'PaperPositionMode', old_pos_mode, 'PaperOrientation', old_orientation);
++        % Print the file into a temporary TIF file and read it into array A
++        [A, err, ex] = read_tif_img(fig, res_str, renderer, tmp_nam);
+         % Throw any error that occurred
+         if err
+             % Display suggested workarounds to internal print() error (issue #16)
+@@ -219,6 +205,35 @@
+     end
+ end
+ 
++% Function to create a TIF image of the figure and read it into an array
++function [A, err, ex] = read_tif_img(fig, res_str, renderer, tmp_nam)
++    err = false;
++    ex = [];
++    % Temporarily set the paper size
++    old_pos_mode    = get(fig, 'PaperPositionMode');
++    old_orientation = get(fig, 'PaperOrientation');
++    set(fig, 'PaperPositionMode','auto', 'PaperOrientation','portrait');
++    try
++        % Workaround for issue #69: patches with LineWidth==0.75 appear wide (internal bug in Matlab's print() function)
++        fp = [];  % in case we get an error below
++        fp = findall(fig, 'Type','patch', 'LineWidth',0.75);
++        set(fp, 'LineWidth',0.5);
++        % Fix issue #83: use numeric handles in HG1
++        if ~using_hg2(fig),  fig = double(fig);  end
++        % Print to tiff file
++        print(fig, renderer, res_str, '-dtiff', tmp_nam);
++        % Read in the printed file
++        A = imread(tmp_nam);
++        % Delete the temporary file
++        delete(tmp_nam);
++    catch ex
++        err = true;
++    end
++    set(fp, 'LineWidth',0.75);  % restore original figure appearance
++    % Reset the paper size
++    set(fig, 'PaperPositionMode',old_pos_mode, 'PaperOrientation',old_orientation);
++end
++
+ % Function to return (and create, where necessary) the font path
+ function fp = font_path()
+     fp = user_string('gs_font_path');
+Index: ../trunk-jpl/externalpackages/export_fig/pdftops.m
+===================================================================
+--- ../trunk-jpl/externalpackages/export_fig/pdftops.m	(revision 21670)
++++ ../trunk-jpl/externalpackages/export_fig/pdftops.m	(revision 21671)
+@@ -32,7 +32,7 @@
+ % 03/05/2016 - Display the specific error message if pdftops fails for some reason (issue #148)
+ 
+     % Call pdftops
+-    [varargout{1:nargout}] = system(sprintf('"%s" %s', xpdf_path, cmd));
++    [varargout{1:nargout}] = system([xpdf_command(xpdf_path()) cmd]);
+ end
+ 
+ function path_ = xpdf_path
+@@ -137,7 +137,7 @@
+ 
+ function good = check_xpdf_path(path_)
+     % Check the path is valid
+-    [good, message] = system(sprintf('"%s" -h', path_)); %#ok<ASGLU>
++    [good, message] = system([xpdf_command(path_) '-h']); %#ok<ASGLU>
+     % system returns good = 1 even when the command runs
+     % Look for something distinct in the help text
+     good = ~isempty(strfind(message, 'PostScript'));
+@@ -148,3 +148,20 @@
+         fprintf(2,'%s\n\n',message);
+     end
+ end
++
++function cmd = xpdf_command(path_)
++    % Initialize any required system calls before calling ghostscript
++    % TODO: in Unix/Mac, find a way to determine whether to use "export" (bash) or "setenv" (csh/tcsh)
++    shell_cmd = '';
++    if isunix
++        % Avoids an error on Linux with outdated MATLAB lib files
++        % R20XXa/bin/glnxa64/libtiff.so.X
++        % R20XXa/sys/os/glnxa64/libstdc++.so.X
++        shell_cmd = 'export LD_LIBRARY_PATH=""; ';
++    end
++    if ismac
++        shell_cmd = 'export DYLD_LIBRARY_PATH=""; ';
++    end
++    % Construct the command string
++    cmd = sprintf('%s"%s" ', shell_cmd, path_);
++end
+Index: ../trunk-jpl/externalpackages/export_fig/print2eps.m
+===================================================================
+--- ../trunk-jpl/externalpackages/export_fig/print2eps.m	(revision 21670)
++++ ../trunk-jpl/externalpackages/export_fig/print2eps.m	(revision 21671)
+@@ -26,6 +26,7 @@
+ %       crop       - Cropping flag. Deafult: 0
+ %       fontswap   - Whether to swap non-default fonts in figure. Default: true
+ %       renderer   - Renderer used to generate bounding-box. Default: 'opengl'
++%                    (available only via the struct alternative)
+ %       crop_amounts - 4-element vector of crop amounts: [top,right,bottom,left]
+ %                    (available only via the struct alternative)
+ %   print_options - Additional parameter strings to be passed to the print command
Index: /issm/oecreview/Archive/21337-21723/ISSM-21671-21672.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21671-21672.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21671-21672.diff	(revision 21726)
@@ -0,0 +1,728 @@
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21671)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21672)
+@@ -26,15 +26,30 @@
+ 	this->CleanUp();
+ 
+ 	/*Copy all data*/
+-	this->fathermesh    = new TPZGeoMesh(*cp.fathermesh);
+-	this->previousmesh  = new TPZGeoMesh(*cp.previousmesh); 
+-	this->hmax          = cp.hmax;
+-	this->elementswidth = cp.elementswidth;
++	this->fathermesh     = new TPZGeoMesh(*cp.fathermesh);
++	this->previousmesh   = new TPZGeoMesh(*cp.previousmesh); 
++	this->levelmax       = cp.levelmax;
++	this->elementswidth  = cp.elementswidth;
++	this->regionlevel1   = cp.regionlevel1;
++	this->regionlevelmax = cp.regionlevelmax;
+ 	return *this;
+ 
+ }
+ /*}}}*/
+ AdaptiveMeshRefinement::~AdaptiveMeshRefinement(){/*{{{*/
++	
++	bool ismismip = true;
++	if(ismismip){//itapopo
++		TPZFileStream fstr;
++		std::stringstream ss;
++	    
++		ss << this->levelmax;
++		std::string AMRfile	= "/home/santos/Misomip2/L" + ss.str() + "_tsai/amr.txt"; 
++	
++		fstr.OpenWrite(AMRfile.c_str());
++		int withclassid = 1;
++		this->Write(fstr,withclassid);
++	}
+ 	this->CleanUp();
+ 	gRefDBase.clear();
+ }
+@@ -44,17 +59,21 @@
+     /*Verify and delete all data*/
+ 	if(this->fathermesh)    delete this->fathermesh;
+    if(this->previousmesh)  delete this->previousmesh;
+-	this->hmax=-1;
+-	this->elementswidth=-1;
++	this->levelmax			= -1;
++	this->elementswidth  = -1;
++	this->regionlevel1	= -1;
++	this->regionlevelmax = -1;
+ }
+ /*}}}*/
+ void AdaptiveMeshRefinement::Initialize(){/*{{{*/
+ 
+ 	/*Set pointers to NULL*/
+-	this->fathermesh    = NULL;
+-	this->previousmesh  = NULL;
+-	this->hmax          = -1;
+-	this->elementswidth = -1;
++	this->fathermesh		= NULL;
++	this->previousmesh	= NULL;
++	this->levelmax			= -1;
++	this->elementswidth	= -1;
++	this->regionlevel1	= -1;
++	this->regionlevelmax = -1;
+ }
+ /*}}}*/
+ int AdaptiveMeshRefinement::ClassId() const{/*{{{*/
+@@ -81,10 +100,12 @@
+         }
+         
+         /* Read simple attributes */
+-        buf.Read(&this->hmax,1);
++        buf.Read(&this->levelmax,1);
+         buf.Read(&this->elementswidth,1);
++        buf.Read(&this->regionlevel1,1);
++        buf.Read(&this->regionlevelmax,1);
+         
+-        /* Read geometric mesh*/
++		/* Read geometric mesh*/
+         TPZSaveable *sv1 = TPZSaveable::Restore(buf,0);
+         this->fathermesh = dynamic_cast<TPZGeoMesh*>(sv1);
+         
+@@ -113,9 +134,11 @@
+         buf.Write(&classid,1);
+ 
+         /* Write simple attributes */
+-        buf.Write(&this->hmax,1);
++        buf.Write(&this->levelmax,1);
+         buf.Write(&this->elementswidth,1);
+-        
++        buf.Write(&this->regionlevel1,1);
++        buf.Write(&this->regionlevelmax,1);
++			
+         /* Write the geometric mesh*/
+         this->fathermesh->Write(buf, this->ClassId());
+         this->previousmesh->Write(buf, this->ClassId());
+@@ -137,15 +160,15 @@
+ 	/*IMPORTANT! pelements (and psegments) are in Matlab indexing*/
+ 	/*NEOPZ works only in C indexing*/
+ 
+-    //itapopo _assert_(this->fathermesh);
+-    //itapopo _assert_(this->previousmesh);
++    _assert_(this->fathermesh);
++    _assert_(this->previousmesh);
+     
+     /*Calculate the position of the grounding line using previous mesh*/
+     std::vector<TPZVec<REAL> > GLvec;
+     this->CalcGroundingLinePosition(masklevelset, GLvec);
+     
+-    std::ofstream file1("/ronne_1/home/santos/mesh0.vtk");
+-    TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file1 );
++   // std::ofstream file1("/home/santos/mesh0.vtk");
++   // TPZVTKGeoMesh::PrintGMeshVTK(this->fathermesh,file1 );
+     
+     /*run refinement or unrefinement process*/
+     TPZGeoMesh *newmesh;
+@@ -157,8 +180,8 @@
+     
+     this->RefinementProcess(newmesh,GLvec);
+ 	
+-    std::ofstream file2("/ronne_1/home/santos/mesh1.vtk");
+-    TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file2 );
++    //std::ofstream file2("/home/santos/mesh1.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file2 );
+     
+     /*Set new mesh pointer. Previous mesh just have uniform elements*/
+     if(type_process==1){
+@@ -167,15 +190,16 @@
+     }
+     
+     /*Refine elements to avoid hanging nodes*/
+-    TPZGeoMesh *nohangingnodesmesh = new TPZGeoMesh(*newmesh);
++	//TPZGeoMesh *nohangingnodesmesh = new TPZGeoMesh(*newmesh);//itapopo testando, este era o original
++   TPZGeoMesh *nohangingnodesmesh = this->CreateRefPatternMesh(newmesh);//itapopo testando, este eh novo metodo
+     
+-    std::ofstream file3("/ronne_1/home/santos/mesh2.vtk");
+-    TPZVTKGeoMesh::PrintGMeshVTK(newmesh,file3);
++    //std::ofstream file3("/home/santos/mesh2.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(this->previousmesh,file3);
+     
+     this->RefineMeshToAvoidHangingNodes(nohangingnodesmesh);
+     
+-    std::ofstream file4("/ronne_1/home/santos/mesh3.vtk");
+-    TPZVTKGeoMesh::PrintGMeshVTK(nohangingnodesmesh,file4);
++	 //std::ofstream file4("/home/santos/mesh3.vtk");
++    //TPZVTKGeoMesh::PrintGMeshVTK(nohangingnodesmesh,file4);
+     
+     /*Get new geometric mesh in ISSM data structure*/
+     this->GetMesh(nohangingnodesmesh,nvertices,nelements,nsegments,px,py,pz,pelements,psegments);
+@@ -190,10 +214,10 @@
+ /*}}}*/
+ void AdaptiveMeshRefinement::RefinementProcess(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec){/*{{{*/
+     
+-    /*Refine mesh hmax times*/
+-   _printf_("\n\trefinement process (hmax = " << this->hmax << ")\n");
++    /*Refine mesh levelmax times*/
++   _printf_("\n\trefinement process (level max = " << this->levelmax << ")\n");
+ 	_printf_("\tprogress:  ");
+-	for(int hlevel=1;hlevel<=this->hmax;hlevel++){
++	for(int hlevel=1;hlevel<=this->levelmax;hlevel++){
+         
+         /*Set elements to be refined using some criteria*/
+         std::vector<int> ElemVec; //elements without children
+@@ -364,6 +388,7 @@
+         int vertex1 = this->previousmesh->Element(i)->NodeIndex(1);
+         int vertex2 = this->previousmesh->Element(i)->NodeIndex(2);
+         
++		  //itapopo inserir uma verificação para não acessar fora da memória
+         double mls0 = masklevelset[vertex0];
+         double mls1 = masklevelset[vertex1];
+         double mls2 = masklevelset[vertex2];
+@@ -418,10 +443,12 @@
+ /*}}}*/
+ void AdaptiveMeshRefinement::TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<int> &ElemVec){/*{{{*/
+     
+-    /* Tag elements near grounding line */
+-    double MaxRegion = 40000.; //itapopo
+-    double alpha = log(1.5);         //itapopo
+-    double MaxDistance = MaxRegion / std::exp(alpha*(hlevel-1));
++    /* Tag elements near grounding line */ 
++	 double D1		= this->regionlevel1;
++	 double Dhmax  = this->regionlevelmax;
++	 int hmax		= this->levelmax;
++    double alpha	= (hmax==1) ? 0. : log(D1/Dhmax)/(hmax-1.);
++	 double Di		= D1/exp(alpha*(hlevel-1));
+     
+     for(int i=0;i<gmesh->NElements();i++){
+         
+@@ -435,20 +462,20 @@
+         gmesh->Element(i)->CenterPoint(side2D, qsi);
+         gmesh->Element(i)->X(qsi, centerPoint);
+         
+-        REAL distance = MaxDistance;
++        REAL distance = Di;
+         
+         for (int j = 0; j < GLvec.size(); j++) {
+             
+             REAL value = ( GLvec[j][0] - centerPoint[0] ) * ( GLvec[j][0] - centerPoint[0] ); // (x2-x1)^2
+             value += ( GLvec[j][1] - centerPoint[1] ) * ( GLvec[j][1] - centerPoint[1] );// (y2-y1)^2
+-            value = std::sqrt(value); ///Radius
++            value = std::sqrt(value); //Radius
+             
+             //finding the min distance to the grounding line
+             if(value < distance) distance = value;
+             
+         }
+         
+-        if(distance < MaxDistance) ElemVec.push_back(i);
++        if(distance < Di) ElemVec.push_back(i);
+     }
+     
+ }
+@@ -458,12 +485,12 @@
+ 	/*IMPORTANT! elements come in Matlab indexing*/
+ 	/*NEOPZ works only in C indexing*/
+ 	
+-	// itapopo _assert_(nvertices>0);
+-    // itapoo _assert_(nelements>0);
++	_assert_(nvertices>0);
++   _assert_(nelements>0);
+ 	this->SetElementWidth(width);
+ 
+     /*Verify and creating initial mesh*/
+-    //itapopo if(this->fathermesh) _error_("Initial mesh already exists!");
++   if(this->fathermesh) _error_("Initial mesh already exists!");
+     
+    this->fathermesh = new TPZGeoMesh();
+ 	this->fathermesh->NodeVec().Resize( nvertices );
+@@ -490,7 +517,7 @@
+ 		for(int jel=0;jel<this->elementswidth;jel++) elem[jel]=elements[iel*this->elementswidth+jel]-1;//Convert Matlab to C indexing
+ 
+       /*reftype = 0: uniform, fast / reftype = 1: uniform and non-uniform (avoid hanging nodes), it is not too fast */
+-      const int reftype = 1;
++      const int reftype = 0;
+       switch(this->elementswidth){
+ 			case 3: this->fathermesh->CreateGeoElement(ETriangle, elem, mat, index, reftype);	break;
+          case 4: this->fathermesh->CreateGeoElement(ETetraedro, elem, mat, index, reftype); DebugStop(); break;
+@@ -520,54 +547,107 @@
+     
+ 	/*Create previous mesh as a copy of father mesh*/
+    this->previousmesh = new TPZGeoMesh(*this->fathermesh);
+-	 
+-	/*Set refinement patterns*/
+-	this->SetRefPatterns();
+ 
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::SetHMax(int &h){/*{{{*/
+-    this->hmax = h;
++#include "pzgeotriangle.h" //itapopo
++#include "pzreftriangle.h" //itapopo
++using namespace pzgeom;
++TPZGeoMesh* AdaptiveMeshRefinement::CreateRefPatternMesh(TPZGeoMesh* gmesh){/*{{{*/
++	
++	TPZGeoMesh *newgmesh = new TPZGeoMesh();
++   newgmesh->CleanUp();
++    
++   int nnodes  = gmesh->NNodes();
++	int nelem   = gmesh->NElements();
++   int mat     = this->GetElemMaterialID();;
++   int reftype = 1;
++   long index; 
++   
++	//nodes
++	newgmesh->NodeVec().Resize(nnodes);
++   for(int i=0;i<nnodes;i++) newgmesh->NodeVec()[i] = gmesh->NodeVec()[i];
++    
++   //elements
++   for(int i=0;i<nelem;i++){
++   	TPZGeoEl * geoel = gmesh->Element(i);
++      TPZManVector<long> elem(3,0);
++      for(int j=0;j<3;j++) elem[j] = geoel->NodeIndex(j);
++     
++      newgmesh->CreateGeoElement(ETriangle,elem,mat,index,reftype);
++      newgmesh->ElementVec()[index]->SetId(geoel->Id());
++        
++      TPZGeoElRefPattern<TPZGeoTriangle>* newgeoel = dynamic_cast<TPZGeoElRefPattern<TPZGeoTriangle>*>(newgmesh->ElementVec()[index]);
++        
++      //old neighbourhood
++      const int nsides = TPZGeoTriangle::NSides;
++      TPZVec< std::vector<TPZGeoElSide> > neighbourhood(nsides);
++      TPZVec<long> NodesSequence(0);
++      for(int s = 0; s < nsides; s++){
++      	neighbourhood[s].resize(0);
++      	TPZGeoElSide mySide(geoel,s);
++      	TPZGeoElSide neighS = mySide.Neighbour();
++         if(mySide.Dimension() == 0){
++         	long oldSz = NodesSequence.NElements();
++            NodesSequence.resize(oldSz+1);
++            NodesSequence[oldSz] = geoel->NodeIndex(s);
++         }
++      	while(mySide != neighS){
++         	neighbourhood[s].push_back(neighS);
++            neighS = neighS.Neighbour();
++         }
++      }
++        
++      //inserting in new element
++      for(int s = 0; s < nsides; s++){
++      	TPZGeoEl * tempEl = newgeoel;
++         TPZGeoElSide tempSide(newgeoel,s);
++         int byside = s;
++         for(unsigned long n = 0; n < neighbourhood[s].size(); n++){
++         	TPZGeoElSide neighS = neighbourhood[s][n];
++            tempEl->SetNeighbour(byside, neighS);
++            tempEl = neighS.Element();
++            byside = neighS.Side();
++         }
++         tempEl->SetNeighbour(byside, tempSide);
++      }
++        
++      long fatherindex = geoel->FatherIndex();
++      if(fatherindex>-1) newgeoel->SetFather(fatherindex);
++        
++      if(!geoel->HasSubElement()) continue;
++        
++      int nsons = geoel->NSubElements();
++
++      TPZAutoPointer<TPZRefPattern> ref = gRefDBase.GetUniformRefPattern(ETriangle);
++      newgeoel->SetRefPattern(ref);
++        
++      for(int j=0;j<nsons;j++){
++      	TPZGeoEl* son = geoel->SubElement(j);
++         if(!son){
++             DebugStop();
++         }
++         newgeoel->SetSubElement(j,son);
++      }
++   }
++	newgmesh->BuildConnectivity();
++    
++	return newgmesh;
+ }
+ /*}}}*/
++void AdaptiveMeshRefinement::SetLevelMax(int &h){/*{{{*/
++    this->levelmax = h;
++}
++/*}}}*/
++void AdaptiveMeshRefinement::SetRegions(double &D1,double Dhmax){/*{{{*/
++    this->regionlevel1	 = D1;
++    this->regionlevelmax = Dhmax;
++}
++/*}}}*/
+ void AdaptiveMeshRefinement::SetElementWidth(int &width){/*{{{*/
+     this->elementswidth = width;
+ }
+ /*}}}*/
+-void AdaptiveMeshRefinement::SetRefPatterns(){/*{{{*/
+-
+-	/*Initialize the global variable of refinement patterns*/ 
+-	gRefDBase.InitializeUniformRefPattern(EOned);
+-	gRefDBase.InitializeUniformRefPattern(ETriangle);
+-    
+-    //gRefDBase.InitializeRefPatterns();
+-	/*Insert specifics patterns to ISSM core*/
+-	std::string filepath	 = REFPATTERNDIR;
+-   std::string filename1 = filepath + "/2D_Triang_Rib_3.rpt";
+-   std::string filename2 = filepath + "/2D_Triang_Rib_4.rpt";
+-   std::string filename3 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_4.rpt";
+-   std::string filename4 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_4_permuted.rpt";
+-   std::string filename5 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_5.rpt";
+-	std::string filename6 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_5_permuted.rpt";
+-   std::string filename7 = filepath + "/2D_Triang_Rib_5.rpt";
+-
+-   TPZAutoPointer<TPZRefPattern> refpat1 = new TPZRefPattern(filename1);
+-   TPZAutoPointer<TPZRefPattern> refpat2 = new TPZRefPattern(filename2);
+-   TPZAutoPointer<TPZRefPattern> refpat3 = new TPZRefPattern(filename3);
+-	TPZAutoPointer<TPZRefPattern> refpat4 = new TPZRefPattern(filename4);
+-   TPZAutoPointer<TPZRefPattern> refpat5 = new TPZRefPattern(filename5);
+-   TPZAutoPointer<TPZRefPattern> refpat6 = new TPZRefPattern(filename6);
+-   TPZAutoPointer<TPZRefPattern> refpat7 = new TPZRefPattern(filename7);
+-   
+-   if(!gRefDBase.FindRefPattern(refpat1)) gRefDBase.InsertRefPattern(refpat1);
+-   if(!gRefDBase.FindRefPattern(refpat2)) gRefDBase.InsertRefPattern(refpat2);
+-   if(!gRefDBase.FindRefPattern(refpat3)) gRefDBase.InsertRefPattern(refpat3);
+-   if(!gRefDBase.FindRefPattern(refpat4)) gRefDBase.InsertRefPattern(refpat4);
+-   if(!gRefDBase.FindRefPattern(refpat5)) gRefDBase.InsertRefPattern(refpat5);
+-   if(!gRefDBase.FindRefPattern(refpat6)) gRefDBase.InsertRefPattern(refpat6);
+-   if(!gRefDBase.FindRefPattern(refpat7)) gRefDBase.InsertRefPattern(refpat7);
+-}
+-/*}}}*/
+ void AdaptiveMeshRefinement::CheckMesh(int &nvertices,int &nelements,int &nsegments,int &width,double** px,double** py,double** pz,int** pelements, int** psegments){/*{{{*/
+ 
+     /*Basic verification*/
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21671)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21672)
+@@ -2920,28 +2920,53 @@
+ void FemModel::InitializeAdaptiveRefinement(void){/*{{{*/
+ 	
+ 	/*Define variables*/
+-	int my_rank				= IssmComm::GetRank();
+-	this->amr				= NULL;//initialize amr as NULL
+-	int numberofvertices = this->vertices->NumberOfVertices();
+-	int numberofelements = this->elements->NumberOfElements();
+-	int numberofsegments = 0; //used on matlab
+-	IssmDouble* x			= NULL;
+-	IssmDouble* y			= NULL;
+-	IssmDouble* z			= NULL;
+-	int* elements			= NULL;
+-	int elementswidth		= this->GetElementsWidth(); //just tria elements in this version. Itapopo:
++	int my_rank						= IssmComm::GetRank();
++	this->amr						= NULL;//initialize amr as NULL
++	int numberofvertices			= this->vertices->NumberOfVertices();
++	int numberofelements			= this->elements->NumberOfElements();
++	int numberofsegments			= 0; //used on matlab
++	IssmDouble* x					= NULL;
++	IssmDouble* y					= NULL;
++	IssmDouble* z					= NULL;
++	int* elements					= NULL;
++	int elementswidth				= this->GetElementsWidth(); //just tria elements in this version. Itapopo:
++	int levelmax					= 0;
++	IssmDouble regionlevel1		= 0.;
++	IssmDouble regionlevelmax	= 0.;
+ 
+ 	/*Get vertices coordinates of the coarse mesh (father mesh)*/
+ 	/*elements comes in Matlab indexing*/
+ 	this->GetMesh(this->vertices,this->elements,&x,&y,&z,&elements);
+ 	
++	/*Get amr parameters*/
++	this->parameters->FindParam(&levelmax,AmrLevelMaxEnum);
++	this->parameters->FindParam(&regionlevel1,AmrRegionLevel1Enum);
++	this->parameters->FindParam(&regionlevelmax,AmrRegionLevelMaxEnum);
++
+ 	/*Create initial mesh (coarse mesh) in neopz data structure*/ 
+ 	/*Just CPU #0 should keep AMR object*/
+-   if(my_rank==0){ 
+-		this->amr = new AdaptiveMeshRefinement();
+-		int hmax	 = 0; //itapopo: it must be defined by interface. Using 2 just to test
+-		this->amr->SetHMax(hmax); //Set max level of refinement
+-		this->amr->CreateInitialMesh(numberofvertices,numberofelements,numberofsegments,elementswidth,x,y,z,elements,NULL);
++   this->SetRefPatterns();
++	if(my_rank==0){ 
++	   bool ismisomip	= true;
++		if(ismisomip){//itapopo
++			TPZFileStream fstr;
++			std::stringstream ss;
++
++			ss							<< levelmax;
++			std::string AMRfile  = "/home/santos/Misomip2/L" + ss.str() + "_tsai/amr.txt";
++			fstr.OpenRead(AMRfile.c_str());
++			
++			TPZSaveable *sv		= TPZSaveable::Restore(fstr,0);
++			this->amr				= dynamic_cast<AdaptiveMeshRefinement*>(sv);
++		}
++		else{
++			this->amr = new AdaptiveMeshRefinement();
++			//this->amr->SetLevelMax(levelmax); //Set max level of refinement
++			//this->amr->SetRegions(regionlevel1,regionlevelmax);
++			this->amr->CreateInitialMesh(numberofvertices,numberofelements,numberofsegments,elementswidth,x,y,z,elements,NULL);
++		}
++		this->amr->SetLevelMax(levelmax); //Set max level of refinement
++		this->amr->SetRegions(regionlevel1,regionlevelmax);
+ 	}
+ 
+ 	/*Free the vectors*/
+@@ -2952,6 +2977,40 @@
+ 
+ }
+ /*}}}*/
++void FemModel::SetRefPatterns(){/*{{{*/
++
++   /*Initialize the global variable of refinement patterns*/
++   gRefDBase.InitializeUniformRefPattern(EOned);
++   gRefDBase.InitializeUniformRefPattern(ETriangle);
++
++    //gRefDBase.InitializeRefPatterns();
++   /*Insert specifics patterns to ISSM core*/
++   std::string filepath  = REFPATTERNDIR;
++   std::string filename1 = filepath + "/2D_Triang_Rib_3.rpt";
++   std::string filename2 = filepath + "/2D_Triang_Rib_4.rpt";
++   std::string filename3 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_4.rpt";
++   std::string filename4 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_4_permuted.rpt";
++   std::string filename5 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_5.rpt";
++   std::string filename6 = filepath + "/2D_Triang_Rib_OnlyTriang_Side_3_5_permuted.rpt";
++   std::string filename7 = filepath + "/2D_Triang_Rib_5.rpt";
++
++   TPZAutoPointer<TPZRefPattern> refpat1 = new TPZRefPattern(filename1);
++   TPZAutoPointer<TPZRefPattern> refpat2 = new TPZRefPattern(filename2);
++   TPZAutoPointer<TPZRefPattern> refpat3 = new TPZRefPattern(filename3);
++   TPZAutoPointer<TPZRefPattern> refpat4 = new TPZRefPattern(filename4);
++   TPZAutoPointer<TPZRefPattern> refpat5 = new TPZRefPattern(filename5);
++   TPZAutoPointer<TPZRefPattern> refpat6 = new TPZRefPattern(filename6);
++   TPZAutoPointer<TPZRefPattern> refpat7 = new TPZRefPattern(filename7);
++
++   if(!gRefDBase.FindRefPattern(refpat1)) gRefDBase.InsertRefPattern(refpat1);
++   if(!gRefDBase.FindRefPattern(refpat2)) gRefDBase.InsertRefPattern(refpat2);
++   if(!gRefDBase.FindRefPattern(refpat3)) gRefDBase.InsertRefPattern(refpat3);
++   if(!gRefDBase.FindRefPattern(refpat4)) gRefDBase.InsertRefPattern(refpat4);
++   if(!gRefDBase.FindRefPattern(refpat5)) gRefDBase.InsertRefPattern(refpat5);
++   if(!gRefDBase.FindRefPattern(refpat6)) gRefDBase.InsertRefPattern(refpat6);
++   if(!gRefDBase.FindRefPattern(refpat7)) gRefDBase.InsertRefPattern(refpat7);
++}
++/*}}}*/
+ void FemModel::ReMesh(void){/*{{{*/
+ 
+ 	/*Variables*/
+@@ -3066,6 +3125,12 @@
+ 	
+ 	GetMaskOfIceVerticesLSMx(this);
+ 
++	/*Insert MISMIP+ bed topography*/
++	if(true) this->BedrockFromMismipPlus();
++	
++	/*Adjust base, thickness and mask grounded ice leve set*/
++	if(true) this->AdjustBaseThicknessAndMask();
++
+ 	/*Reset current configuration: */
+ 	analysis_type=this->analysis_type_list[this->analysis_counter];
+ 	SetCurrentConfiguration(analysis_type);
+@@ -3082,6 +3147,138 @@
+ 
+ }
+ /*}}}*/
++void FemModel::BedrockFromMismipPlus(void){/*{{{*/
++
++	/*Insert bedrock from mismip+ setup*/
++	/*This was used to Misomip project/simulations*/
++	
++	IssmDouble x,y,bx,by;
++	int numvertices 		= this->GetElementsWidth();
++	IssmDouble* xyz_list = NULL;
++   IssmDouble* r        = xNew<IssmDouble>(numvertices);
++
++	for(int el=0;el<this->elements->Size();el++){
++      Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(el));
++ 		
++		element->GetVerticesCoordinates(&xyz_list);
++		for(int i=0;i<numvertices;i++){
++			x = *(xyz_list+3*i+0);
++			y = *(xyz_list+3*i+1);
++			
++			bx=-150.-728.8*std::pow(x/300000.,2)+343.91*std::pow(x/300000.,4)-50.57*std::pow(x/300000.,6);
++			by=500./(1.+std::exp((-2./4000.)*(y-80000./2.-24000.)))+500./(1.+std::exp((2./4000.)*(y-80000./2.+24000.)));
++			
++			r[i]=std::max(bx+by,-720.);
++		}	
++
++		/*insert new bedrock*/
++		element->AddInput(BedEnum,&r[0],P1Enum);
++		
++		/*Cleanup*/
++		xDelete<IssmDouble>(xyz_list);
++	}
++
++   /*Delete*/
++   xDelete<IssmDouble>(r);
++	
++	return;
++}
++/*}}}*/
++void FemModel::AdjustBaseThicknessAndMask(void){/*{{{*/
++
++	int     numvertices = this->GetElementsWidth();
++   IssmDouble rho_water,rho_ice,density,base_float;
++   IssmDouble* phi     = xNew<IssmDouble>(numvertices);
++   IssmDouble* h       = xNew<IssmDouble>(numvertices);
++   IssmDouble* s       = xNew<IssmDouble>(numvertices);
++   IssmDouble* b       = xNew<IssmDouble>(numvertices);
++   IssmDouble* r       = xNew<IssmDouble>(numvertices);
++   IssmDouble* sl      = xNew<IssmDouble>(numvertices);
++
++	for(int el=0;el<this->elements->Size();el++){
++		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(el));
++	
++		element->GetInputListOnVertices(&s[0],SurfaceEnum);
++		element->GetInputListOnVertices(&r[0],BedEnum);
++		element->GetInputListOnVertices(&sl[0],SealevelEnum);
++		rho_water   = element->matpar->GetMaterialParameter(MaterialsRhoSeawaterEnum);
++		rho_ice     = element->matpar->GetMaterialParameter(MaterialsRhoIceEnum);
++		density     = rho_ice/rho_water;
++
++		for(int i=0;i<numvertices;i++){
++			/*calculate base floatation (which supports given surface*/
++			base_float = rho_ice*s[i]/(rho_ice-rho_water);
++			if(r[i]>base_float){
++				b[i] = r[i];			
++			} 
++			else {
++				b[i] = base_float;	
++			} 
++
++			if(abs(sl[i])>0) _error_("Sea level value not supported!");
++			/*update thickness and mask grounded ice level set*/
++			h[i]	  = s[i]-b[i];
++			phi[i]  = h[i]+r[i]/density;	
++		}
++
++		/*Update inputs*/
++		element->AddInput(MaskGroundediceLevelsetEnum,&phi[0],P1Enum);
++		element->AddInput(ThicknessEnum,&h[0],P1Enum);
++		element->AddInput(BaseEnum,&b[0],P1Enum);
++
++	}
++	
++   /*Delete*/
++   xDelete<IssmDouble>(phi);
++   xDelete<IssmDouble>(h);
++   xDelete<IssmDouble>(s);
++   xDelete<IssmDouble>(b);
++   xDelete<IssmDouble>(r);
++   xDelete<IssmDouble>(sl);
++
++	return;
++}
++/*}}}*/
++void FemModel::WriteMeshInResults(void){/*{{{*/
++
++	int step					= -1;
++	int numberofelements = -1;
++	int numberofvertices = -1;
++	IssmDouble time		= -1;
++	IssmDouble* x			= NULL;
++	IssmDouble* y			= NULL;
++	IssmDouble* z			= NULL;
++	int* elementslist		= NULL;
++
++	if(!this->elements || !this->vertices || !this->results || !this->parameters) return;
++	 
++	parameters->FindParam(&step,StepEnum);
++	parameters->FindParam(&time,TimeEnum);
++	numberofelements=this->elements->NumberOfElements();
++	numberofvertices=this->vertices->NumberOfVertices();
++
++	/*Get mesh. Elementslist comes in Matlab indexing*/
++	this->GetMesh(this->vertices,this->elements,&x,&y,&z,&elementslist);
++
++	/*Write mesh in Results*/
++	this->results->AddResult(new GenericExternalResult<int*>(this->results->Size()+1,MeshElementsEnum,
++																					elementslist,numberofelements,this->GetElementsWidth(),step,time));
++
++	this->results->AddResult(new GenericExternalResult<IssmDouble*>(this->results->Size()+1,MeshXEnum,
++																					x,numberofvertices,1,step,time));
++
++	this->results->AddResult(new GenericExternalResult<IssmDouble*>(this->results->Size()+1,MeshYEnum,
++																					y,numberofvertices,1,step,time));
++	
++	/*Cleanup*/
++	xDelete<IssmDouble>(x);
++	xDelete<IssmDouble>(y);
++	xDelete<IssmDouble>(z);
++	xDelete<int>(elementslist);
++
++	return;
++}
++/*}}}*/
+ void FemModel::InterpolateInputs(Vertices* newfemmodel_vertices,Elements* newfemmodel_elements){/*{{{*/
+ 
+ 	int maxinputs = MaximumNumberOfDefinitionsEnum;
+@@ -3215,7 +3412,7 @@
+ 	InterpFromMeshToMesh2dx(&P1inputsnew,Indexold,Xold,Yold,numverticesold,numelementsold,
+ 				P1inputsold,numverticesold,numP1inputs,
+ 				Xnew,Ynew,numverticesnew,NULL);
+-
++	
+ 	/*Insert P0 inputs into the new elements.*/
+ 	vector=NULL;
+ 	for(int i=0;i<numP0inputs;i++){
+@@ -3250,7 +3447,7 @@
+ 	vector=NULL;
+ 	for(int i=0;i<numP1inputs;i++){
+ 
+-		/*Get P0 input vector from the interpolated matrix*/
++		/*Get P1 input vector from the interpolated matrix*/
+ 		vector=xNew<IssmDouble>(numverticesnew);
+ 		for(int j=0;j<numverticesnew;j++) vector[j]=P1inputsnew[j*numP1inputs+i];//vector has all vertices	(serial)
+ 
+Index: ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21671)
++++ ../trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h	(revision 21672)
+@@ -57,17 +57,21 @@
+ 	/*General methods*/
+ 	void CleanUp();																			// Clean all attributes
+ 	void Initialize();																		// Initialize the attributes with NULL and values out of usually range
+-	void SetHMax(int &h);                                                   // Define the max level of refinement
+-   void SetElementWidth(int &width);                                       // Define elements width
++	void SetLevelMax(int &h);                                               // Define the max level of refinement
++   void SetRegions(double &D1,double Dhmax);										// Define the regions which will be refined
++	void SetElementWidth(int &width);                                       // Define elements width
+ 	void ExecuteRefinement(int &type_process,double *vx,double *vy,double *masklevelset,int &nvertices,int &nelements,int &nsegments,double** px,double** py,double** pz,int** pelements,int** psegments=NULL);					// A new mesh will be created and refined. This returns the new mesh
+ 	void CreateInitialMesh(int &nvertices,int &nelements,int &nsegments,int &width,double* x,double* y,double* z,int* elements,int* segments=NULL); // Create a NeoPZ geometric mesh by coords and elements
+-   void CheckMesh(int &nvertices,int &nelements,int &nsegments,int &width,double** px,double** py,double** pz,int** pelements,int** psegments=NULL); // Check the consistency of the mesh
++	TPZGeoMesh* CreateRefPatternMesh(TPZGeoMesh* gmesh);
++	void CheckMesh(int &nvertices,int &nelements,int &nsegments,int &width,double** px,double** py,double** pz,int** pelements,int** psegments=NULL); // Check the consistency of the mesh
+ 
+ private:
+ 
+ 	/*Private attributes*/
+    int elementswidth;                                                      // Geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta
+-   int hmax;                                                               // Max level of refinement
++   int levelmax;                                                           // Max level of refinement
++	double regionlevel1;																		// Region which will be refined with level 1
++	double regionlevelmax;																	// Region which will be refined with level max
+ 	TPZGeoMesh *fathermesh;																	// Father Mesh is the entire mesh without refinement
+ 	TPZGeoMesh *previousmesh;																// Previous mesh is a refined mesh of last step
+ 
+@@ -82,7 +86,6 @@
+ 	void GetMesh(TPZGeoMesh *gmesh,int &nvertices,int &nelements,int &nsegments,double** px,double** py,double** pz,int** pelements,int** psegments=NULL); // Return coords and elements in ISSM data structure
+    inline int GetElemMaterialID(){return 1;}                               // Return element material ID
+    inline int GetBoundaryMaterialID(){return 2;}                           // Return segment (2D boundary) material ID
+-	void SetRefPatterns();																	// Initialize and insert the refinement patterns
+ };
+ 
+ #endif
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21671)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21672)
+@@ -148,6 +148,8 @@
+ 		/*Adaptive mesh refinement methods*/
+ 		void InitializeAdaptiveRefinement(void);
+ 		void ReMesh(void);
++		void BedrockFromMismipPlus(void);
++		void AdjustBaseThicknessAndMask(void);
+ 		void GetMesh(Vertices* femmodel_vertices,Elements* femmodel_elements,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist);
+ 		int GetElementsWidth(){return 3;};//just tria elements in this first version
+ 		void ExecuteRefinement(int &numberofvertices,int &numberofelements,IssmDouble** px,IssmDouble** py,IssmDouble** pz,int** pelementslist);
+@@ -160,6 +162,8 @@
+ 		void InterpolateInputs(Vertices* newfemmodel_vertices,Elements* newfemmodel_elements);
+ 		void UpdateElements(int newnumberofelements,int* newelementslist,bool* my_elements,int nodecounter,int analysis_counter,Elements* newelements);
+ 		void ElementsAndVerticesPartitioning(int& newnumberofvertices,int& newnumberofelements,int& elementswidth,int* newelementslist,bool** pmy_elements,int** pmy_vertices);
++		void WriteMeshInResults(void);
++		void SetRefPatterns(void);
+ 		#endif
+ };
+ 		
Index: /issm/oecreview/Archive/21337-21723/ISSM-21672-21673.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21672-21673.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21672-21673.diff	(revision 21726)
@@ -0,0 +1,171 @@
+Index: ../trunk-jpl/externalpackages/petsc/install-3.6-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.6-macosx64.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.6-macosx64.sh	(revision 21673)
+@@ -13,6 +13,10 @@
+ mv petsc-3.6.3/* src/
+ rm -rf petsc-3.6.3
+ 
++#patch
++cat src/config/BuildSystem/config/packages/metis.py | sed -e "s/metis-5.1.0-p1/metis-5.1.0-p3/g" > TEMP
++mv TEMP src/config/BuildSystem/config/packages/metis.py
++
+ #configure
+ cd src
+ ./config/configure.py \
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh	(revision 21673)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.2 src
++rm -rf install petsc-3.7.5 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.2.tar.gz
+-mv petsc-3.7.2/* src/
+-rm -rf petsc-3.7.2
++tar -zxvf  petsc-3.7.5.tar.gz
++mv petsc-3.7.5/* src/
++rm -rf petsc-3.7.5
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21673)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.2 src
++rm -rf install petsc-3.7.5 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.2.tar.gz
+-mv petsc-3.7.2/* src/
+-rm -rf petsc-3.7.2
++tar -zxvf  petsc-3.7.5.tar.gz
++mv petsc-3.7.5/* src/
++rm -rf petsc-3.7.5
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21673)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.2 src
++rm -rf install petsc-3.7.5 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.2.tar.gz
+-mv petsc-3.7.2/* src/
+-rm -rf petsc-3.7.2
++tar -zxvf  petsc-3.7.5.tar.gz
++mv petsc-3.7.5/* src/
++rm -rf petsc-3.7.5
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh	(revision 21673)
+@@ -4,16 +4,16 @@
+ #WARNING: make sure you have the right mpi
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.2 src
++rm -rf install petsc-3.7.5 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.2.tar.gz
+-mv petsc-3.7.2/* src/
+-rm -rf petsc-3.7.2
++tar -zxvf  petsc-3.7.5.tar.gz
++mv petsc-3.7.5/* src/
++rm -rf petsc-3.7.5
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh	(revision 21673)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.2 src
++rm -rf install petsc-3.7.5 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.2.tar.gz
+-mv petsc-3.7.2/* src/
+-rm -rf petsc-3.7.2
++tar -zxvf  petsc-3.7.5.tar.gz
++mv petsc-3.7.5/* src/
++rm -rf petsc-3.7.5
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh	(revision 21672)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh	(revision 21673)
+@@ -4,16 +4,16 @@
+ #WARNING: make sure you have the right mpi:
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.2 src
++rm -rf install petsc-3.7.5 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.2.tar.gz' 'petsc-3.7.2.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.2.tar.gz
+-mv petsc-3.7.2/* src/
+-rm -rf petsc-3.7.2
++tar -zxvf  petsc-3.7.5.tar.gz
++mv petsc-3.7.5/* src/
++rm -rf petsc-3.7.5
+ 
+ #configure
+ cd src
Index: /issm/oecreview/Archive/21337-21723/ISSM-21673-21674.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21673-21674.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21673-21674.diff	(revision 21726)
@@ -0,0 +1,887 @@
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21673)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21674)
+@@ -25,7 +25,7 @@
+ 	bool       time_adapt;
+ 	int        output_frequency;
+ 	int        recording_frequency;
+-	int        domaintype,groundingline_migration,smb_model;
++	int        domaintype,groundingline_migration,smb_model,amr_frequency;
+ 	int        numoutputs;
+ 	Analysis  *analysis          = NULL;
+ 	char     **requested_outputs = NULL;
+@@ -59,11 +59,17 @@
+ 	femmodel->parameters->FindParam(&ismovingfront,TransientIsmovingfrontEnum);
+ 	femmodel->parameters->FindParam(&isdamageevolution,TransientIsdamageevolutionEnum);
+ 	femmodel->parameters->FindParam(&ishydrology,TransientIshydrologyEnum);
++	femmodel->parameters->FindParam(&amr_frequency,TransientAmrFrequencyEnum);
+ 	femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
+ 	if(isgroundingline) femmodel->parameters->FindParam(&groundingline_migration,GroundinglineMigrationEnum);
+ 	femmodel->parameters->FindParam(&numoutputs,TransientNumRequestedOutputsEnum);
+ 	if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,TransientRequestedOutputsEnum);
+ 
++	#ifdef _HAVE_NEOPZ_
++	bool ismismip = false;//itapopo testing restart 
++	if(ismismip) femmodel->ReMesh();
++	#endif
++
+ 	while(time < finaltime - (yts*DBL_EPSILON)){ //make sure we run up to finaltime.
+ 		/*Increment*/
+ 		if(time_adapt){
+@@ -169,8 +175,8 @@
+ 
+ 		/*Adaptive mesh refinement*/
+ 		#ifdef _HAVE_NEOPZ_
+-		int isamr=true;
+-		if(isamr) femmodel->ReMesh();
++		if(save_results) femmodel->WriteMeshInResults();
++		if(step%amr_frequency==0 && time<finaltime) femmodel->ReMesh();//Do not refine the last step
+ 		#endif
+ 	
+ 	}
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21673)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21674)
+@@ -1584,6 +1584,7 @@
+ 				name==MeshVertexonbaseEnum || 
+ 				name==FrictionPEnum ||
+ 				name==FrictionQEnum ||
++				name==FrictionCoefficientcoulombEnum ||
+ 				name==LoadingforceXEnum ||
+ 				name==LoadingforceYEnum ||
+ 				name==VelEnum ||
+Index: ../trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 21673)
++++ ../trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 21674)
+@@ -333,6 +333,181 @@
+ 
+ }  /*}}}*/
+ 
++/*Specific instantiations for int*: */
++template <> inline GenericExternalResult<int*>::GenericExternalResult(int in_id, int in_enum_type,int* in_values, int in_M,int in_N,int in_step,IssmDouble in_time){/*{{{*/
++
++	id = in_id;
++	M  = in_M;
++	N  = in_N;
++
++	EnumToStringx(&this->result_name,in_enum_type);
++
++	step = in_step;
++	time = in_time;
++
++	/*Copy result in values*/
++	if(M*N){
++		value=xNew<int>(M*N);
++		xMemCpy<int>(value,in_values,M*N);
++	}
++	else value=NULL;
++}
++/*}}}*/
++template <> inline GenericExternalResult<int*>::GenericExternalResult(int in_id,const char* in_result_name,int* in_values, int in_M,int in_N,int in_step,IssmDouble in_time){/*{{{*/
++
++	id = in_id;
++	M  = in_M;
++	N  = in_N;
++
++	/*Copy name*/
++	this->result_name = xNew<char>(strlen(in_result_name)+1);
++	xMemCpy<char>(this->result_name,in_result_name,strlen(in_result_name)+1);
++
++	step = in_step;
++	time = in_time;
++
++	/*Copy result in values*/
++	if(M*N){
++		value=xNew<int>(M*N);
++		xMemCpy<int>(value,in_values,M*N);
++	}
++	else value=NULL;
++}
++/*}}}*/
++template <> inline GenericExternalResult<int*>::GenericExternalResult(int in_id, int in_enum_type,int* in_value,int in_step, IssmDouble in_time){ /*{{{*/
++	_error_("you cannot initialize a GenericExternalResult<int*> without providing the dimensions of the matrix! Please use a more appropriate constructor!");
++} /*}}}*/
++template <> inline GenericExternalResult<int*>::~GenericExternalResult(){ /*{{{*/
++	xDelete<char>(result_name);
++	xDelete<int>(value);
++} /*}}}*/
++template <> inline void GenericExternalResult<int*>::Echo(void){ /*{{{*/
++
++	_printf_("GenericExternalResult<int*>:\n");
++	this->GenericEcho();
++	_printf_("   matrix size: " << this->M << "-" << this->N << "\n");
++
++} /*}}}*/
++template <> inline void GenericExternalResult<int*>::DeepEcho(void){ /*{{{*/
++
++	int i,j;
++
++	_printf_("GenericExternalResult<int*>:\n");
++	this->GenericEcho();
++
++	_printf_("   matrix size: " << this->M << "-" << this->N << "\n");
++	for (i=0;i<this->M;i++){  
++		_printf_("   [ ");
++		for (j=0;j<this->N;j++){
++			_printf_( " " << setw(11) << this->value[i*this->N+j]);
++		}  
++		_printf_(" ]\n");
++	}  
++
++} /*}}}*/
++template <> inline Object* GenericExternalResult<int*>::copy(void){ /*{{{*/
++	return new GenericExternalResult<int*>(this->id,StringToEnumx(this->result_name),this->value,this->M,this->N,this->step,this->time);
++} /*}}}*/
++template <> inline void GenericExternalResult<int*>::WriteData(FILE* fid,bool io_gather){ /*{{{*/
++
++	int     my_rank;
++	int     type;
++	int     rows,cols;
++	char   *name    = NULL;
++	IssmPDouble passiveDouble;
++
++	/*recover my_rank:*/
++	my_rank=IssmComm::GetRank();
++
++	if(io_gather){
++		/*we are gathering the data on cpu 0, don't write on other cpus: */
++		if(my_rank) return;
++	}
++
++	/*First write enum: */
++	int length=(strlen(this->result_name)+1)*sizeof(char);
++	fwrite(&length,sizeof(int),1,fid);
++	fwrite(this->result_name,length,1,fid);
++
++	/*Now write time and step: */
++	passiveDouble=reCast<IssmPDouble>(time);
++	fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
++	fwrite(&step,sizeof(int),1,fid);
++
++	/*writing an int array, type is 4 (see parseresultsfromdisk.m):*/
++	type=4;
++	fwrite(&type,sizeof(int),1,fid);
++	rows=this->M;
++	fwrite(&rows,sizeof(int),1,fid);
++	cols=this->N;
++	fwrite(&cols,sizeof(int),1,fid);
++	fwrite(value,cols*rows*sizeof(int),1,fid);
++
++}
++/*}}}*/
++template <> inline int GenericExternalResult<int*>::ObjectEnum(void){ /*{{{*/
++	return IntMatExternalResultEnum;
++} /*}}}*/
++template <> inline void GenericExternalResult<int*>::Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
++
++	MARSHALLING_ENUM(this->ObjectEnum());
++
++	MARSHALLING(id);
++	MARSHALLING(result_name);
++	MARSHALLING(M);
++	MARSHALLING(N);
++	MARSHALLING_DYNAMIC(value,int,M*N);
++	MARSHALLING(step);
++	MARSHALLING(time);
++
++}  /*}}}*/
++/*Specific instantiations for int*: */
++#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)  //We hook off this specific specialization when not running ADOLC, otherwise we get a redeclaration with the next specialization. 
++template <> inline void GenericExternalResult<int*>::WriteData(FILE* fid,bool io_gather){ /*{{{*/
++
++	int     i;
++	int     my_rank;
++	int     type;
++	int     rows,cols;
++	char   *name    = NULL;
++	IssmPDouble passiveDouble;
++	int* passiveInts;
++
++	/*recover my_rank:*/
++	my_rank=IssmComm::GetRank();
++
++	if(io_gather){
++		/*we are gathering the data on cpu 0, don't write on other cpus: */
++		if(my_rank) return;
++	}
++
++	/*First write enum: */
++	int length=(strlen(this->result_name)+1)*sizeof(char);
++	fwrite(&length,sizeof(int),1,fid);
++	fwrite(this->result_name,length,1,fid);
++
++	/*Now write time and step: */
++	passiveDouble=reCast<IssmPDouble>(time);
++	fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
++	fwrite(&step,sizeof(int),1,fid);
++
++	/*writing a int array, type is 4 (see parseresultsfromdisk.m):*/
++	type=4;
++	fwrite(&type,sizeof(int),1,fid);
++	rows=this->M;
++	fwrite(&rows,sizeof(int),1,fid);
++	cols=this->N;
++	fwrite(&cols,sizeof(int),1,fid);
++
++	passiveInts=xNew<int>(this->M*this->N);
++	for (i=0;i<this->M*this->N;i++)passiveInts[i]=reCast<int>(value[i]);
++	fwrite(passiveInts,cols*rows*sizeof(int),1,fid);
++	xDelete<int>(int);
++
++}
++/*}}}*/
++#endif
++
+ /*Specific instantiations for IssmPDouble*: */
+ template <> inline GenericExternalResult<IssmPDouble*>::GenericExternalResult(int in_id, int in_enum_type,IssmPDouble* in_values, int in_M,int in_N,int in_step,IssmDouble in_time){/*{{{*/
+ 
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21673)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21674)
+@@ -580,6 +580,7 @@
+ 	DoubleExternalResultEnum,
+ 	DoubleMatExternalResultEnum,
+ 	IntExternalResultEnum,
++	IntMatExternalResultEnum,
+ 	JEnum,
+ 	StringExternalResultEnum,
+ 	StepEnum,
+@@ -818,6 +819,12 @@
+ 	EsaRequestedOutputsEnum,
+ 	EsaNumRequestedOutputsEnum,
+ 	/*}}}*/
++	/*Adaptive mesh refinement (AMR){{{*/
++	AmrLevelMaxEnum,
++	AmrRegionLevel1Enum,
++	AmrRegionLevelMaxEnum,
++	TransientAmrFrequencyEnum,
++	/*}}}*/
+ 	ParametersENDEnum,
+ 	/*Coordinate Systems{{{*/
+ 	XYEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21673)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21674)
+@@ -576,6 +576,7 @@
+ 		case DoubleExternalResultEnum : return "DoubleExternalResult";
+ 		case DoubleMatExternalResultEnum : return "DoubleMatExternalResult";
+ 		case IntExternalResultEnum : return "IntExternalResult";
++		case IntMatExternalResultEnum : return "IntMatExternalResult";
+ 		case JEnum : return "J";
+ 		case StringExternalResultEnum : return "StringExternalResult";
+ 		case StepEnum : return "Step";
+@@ -795,6 +796,10 @@
+ 		case EsaTransitionsEnum : return "EsaTransitions";
+ 		case EsaRequestedOutputsEnum : return "EsaRequestedOutputs";
+ 		case EsaNumRequestedOutputsEnum : return "EsaNumRequestedOutputs";
++		case AmrLevelMaxEnum : return "AmrLevelMax";
++		case AmrRegionLevel1Enum : return "AmrRegionLevel1";
++		case AmrRegionLevelMaxEnum : return "AmrRegionLevelMax";
++		case TransientAmrFrequencyEnum : return "TransientAmrFrequency";
+ 		case ParametersENDEnum : return "ParametersEND";
+ 		case XYEnum : return "XY";
+ 		case XYZEnum : return "XYZ";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21673)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21674)
+@@ -588,6 +588,7 @@
+ 	      else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
+ 	      else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
+ 	      else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
++	      else if (strcmp(name,"IntMatExternalResult")==0) return IntMatExternalResultEnum;
+ 	      else if (strcmp(name,"J")==0) return JEnum;
+ 	      else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
+ 	      else if (strcmp(name,"Step")==0) return StepEnum;
+@@ -627,11 +628,11 @@
+ 	      else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum;
+ 	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
+ 	      else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
+-	      else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
++	      if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
++	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
+ 	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
+ 	      else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum;
+ 	      else if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum;
+@@ -750,11 +751,11 @@
+ 	      else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
+ 	      else if (strcmp(name,"Regular")==0) return RegularEnum;
+ 	      else if (strcmp(name,"Scaled")==0) return ScaledEnum;
+-	      else if (strcmp(name,"Separate")==0) return SeparateEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"Sset")==0) return SsetEnum;
++	      if (strcmp(name,"Separate")==0) return SeparateEnum;
++	      else if (strcmp(name,"Sset")==0) return SsetEnum;
+ 	      else if (strcmp(name,"Dense")==0) return DenseEnum;
+ 	      else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;
+ 	      else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;
+@@ -813,6 +814,10 @@
+ 	      else if (strcmp(name,"EsaTransitions")==0) return EsaTransitionsEnum;
+ 	      else if (strcmp(name,"EsaRequestedOutputs")==0) return EsaRequestedOutputsEnum;
+ 	      else if (strcmp(name,"EsaNumRequestedOutputs")==0) return EsaNumRequestedOutputsEnum;
++	      else if (strcmp(name,"AmrLevelMax")==0) return AmrLevelMaxEnum;
++	      else if (strcmp(name,"AmrRegionLevel1")==0) return AmrRegionLevel1Enum;
++	      else if (strcmp(name,"AmrRegionLevelMax")==0) return AmrRegionLevelMaxEnum;
++	      else if (strcmp(name,"TransientAmrFrequency")==0) return TransientAmrFrequencyEnum;
+ 	      else if (strcmp(name,"ParametersEND")==0) return ParametersENDEnum;
+ 	      else if (strcmp(name,"XY")==0) return XYEnum;
+ 	      else if (strcmp(name,"XYZ")==0) return XYZEnum;
+@@ -869,15 +874,15 @@
+ 	      else if (strcmp(name,"Seg")==0) return SegEnum;
+ 	      else if (strcmp(name,"SegInput")==0) return SegInputEnum;
+ 	      else if (strcmp(name,"Tria")==0) return TriaEnum;
+-	      else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
++         else stage=8;
++   }
++   if(stage==8){
++	      if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
+ 	      else if (strcmp(name,"Tetra")==0) return TetraEnum;
+ 	      else if (strcmp(name,"TetraInput")==0) return TetraInputEnum;
+ 	      else if (strcmp(name,"Penta")==0) return PentaEnum;
+ 	      else if (strcmp(name,"PentaInput")==0) return PentaInputEnum;
+-         else stage=8;
+-   }
+-   if(stage==8){
+-	      if (strcmp(name,"Vertex")==0) return VertexEnum;
++	      else if (strcmp(name,"Vertex")==0) return VertexEnum;
+ 	      else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
+ 	      else if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
+ 	      else if (strcmp(name,"Option")==0) return OptionEnum;
+@@ -992,15 +997,15 @@
+ 	      else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
+ 	      else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
+ 	      else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
+-	      else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
++         else stage=9;
++   }
++   if(stage==9){
++	      if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
+ 	      else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum;
+ 	      else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum;
+ 	      else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum;
+ 	      else if (strcmp(name,"Closed")==0) return ClosedEnum;
+-         else stage=9;
+-   }
+-   if(stage==9){
+-	      if (strcmp(name,"Free")==0) return FreeEnum;
++	      else if (strcmp(name,"Free")==0) return FreeEnum;
+ 	      else if (strcmp(name,"Open")==0) return OpenEnum;
+ 	      else if (strcmp(name,"Air")==0) return AirEnum;
+ 	      else if (strcmp(name,"Ice")==0) return IceEnum;
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21673)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 21674)
+@@ -83,8 +83,13 @@
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.ismovingfront",TransientIsmovingfrontEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.isslr",TransientIsslrEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.transient.iscoupler",TransientIscouplerEnum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.transient.amr_frequency",TransientAmrFrequencyEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.materials.rheology_law",MaterialsRheologyLawEnum));
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.gia.cross_section_shape",GiaCrossSectionShapeEnum));
++		/*amr properties*/	
++		parameters->AddObject(iomodel->CopyConstantObject("md.amr.level_max",AmrLevelMaxEnum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.amr.region_level_1",AmrRegionLevel1Enum));
++		parameters->AddObject(iomodel->CopyConstantObject("md.amr.region_level_max",AmrRegionLevelMaxEnum));
+ 
+ 		/*For stress balance only*/
+ 		parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isFS",FlowequationIsFSEnum));
+Index: ../trunk-jpl/src/m/solve/parseresultsfromdisk.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 21673)
++++ ../trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 21674)
+@@ -161,6 +161,12 @@
+ 			field=np.zeros(shape=(M,N),dtype=float)
+ 			for i in xrange(M):
+ 				field[i,:]=struct.unpack('%dd' % N,fid.read(N*struct.calcsize('d')))
++		elif type==4:
++			N=struct.unpack('i',fid.read(struct.calcsize('i')))[0]
++#			field=transpose(fread(fid,[N M],'int'));
++			field=np.zeros(shape=(M,N),dtype=int)
++			for i in xrange(M):
++				field[i,:]=struct.unpack('%ii' % N,fid.read(N*struct.calcsize('i')))
+ 		else:
+ 			raise TypeError("cannot read data of type %d" % type)
+ 
+Index: ../trunk-jpl/src/m/solve/parseresultsfrombuffer.js
+===================================================================
+--- ../trunk-jpl/src/m/solve/parseresultsfrombuffer.js	(revision 21673)
++++ ../trunk-jpl/src/m/solve/parseresultsfrombuffer.js	(revision 21674)
+@@ -80,6 +80,10 @@
+ 			N=fid.fread(1,'int');
+ 			field=fid.fread(N*M,'double');
+ 		}
++		else if (type==4) {
++			N=fid.fread(1,'int');
++			field=fid.fread(N*M,'int');
++		}
+ 		else throw Error(sprintf("%s%i",'ReadData error message: cannot read data of type ',type));
+ 
+ 		//Process units here FIXME: this should not be done here!
+Index: ../trunk-jpl/src/m/solve/parseresultsfromdisk.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/parseresultsfromdisk.m	(revision 21673)
++++ ../trunk-jpl/src/m/solve/parseresultsfromdisk.m	(revision 21674)
+@@ -153,6 +153,9 @@
+ 	elseif type==3,
+ 		N=fread(fid,1,'int');
+ 		field=transpose(fread(fid,[N M],'double'));
++	elseif type==4,
++		N=fread(fid,1,'int');
++		field=transpose(fread(fid,[N M],'int'));
+ 	else
+ 		error(['cannot read data of type ' num2str(type) ]);
+ 	end
+Index: ../trunk-jpl/src/m/classes/transient.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.py	(revision 21673)
++++ ../trunk-jpl/src/m/classes/transient.py	(revision 21674)
+@@ -24,6 +24,7 @@
+ 		self.isslr             = False
+ 		self.isoceancoupling   = False
+ 		self.iscoupler         = False
++		amr_frequency			  = 0
+ 		self.requested_outputs = []
+ 
+ 		#set defaults
+@@ -45,6 +46,7 @@
+ 		string="%s\n%s"%(string,fielddisplay(self,'isslr','indicates if a sea level rise solution is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'isoceancoupling','indicates whether coupling with an ocean model is used in the transient'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'iscoupler','indicates whether different models are being run with need for coupling'))
++		string="%s\n%s"%(string,fielddisplay(self,'amr_frequency','frequency at which mesh is refined in simulations with multiple time_steps'))
+ 		string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','list of additional outputs requested'))
+ 		return string
+ 		#}}}
+@@ -72,6 +74,7 @@
+ 		self.isoceancoupling   = False
+ 		self.isslr             = False
+ 		self.iscoupler         = False
++		self.amr_frequency	  = 0
+ 
+ 		#default output
+ 		self.requested_outputs=[]
+@@ -93,6 +96,7 @@
+ 		self.isslr           = False
+ 		self.isoceancoupling = False
+ 		self.iscoupler       = False
++		self.amr_frequency	= 1
+ 
+ 		#default output
+ 		self.requested_outputs=['default']
+@@ -117,6 +121,7 @@
+ 		md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0,1])
++		md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',1,'NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1)
+ 
+ 		if (solution!='TransientSolution') and (md.transient.iscoupling):
+@@ -138,6 +143,7 @@
+ 		WriteData(fid,prefix,'object',self,'fieldname','isslr','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','isoceancoupling','format','Boolean')
+ 		WriteData(fid,prefix,'object',self,'fieldname','iscoupler','format','Boolean')
++		WriteData(fid,prefix,'object',self,'fieldname','amr_frequency','format','Integer')
+ 
+ 		#process requested outputs
+ 		outputs = self.requested_outputs
+Index: ../trunk-jpl/src/m/classes/trans.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/trans.js	(revision 21673)
++++ ../trunk-jpl/src/m/classes/trans.js	(revision 21674)
+@@ -19,6 +19,7 @@
+ 		this.ishydrology     = 0;
+ 		this.isslr           = 0;
+ 		this.iscoupler       = 0;
++		this.amr_frequency   = 0;
+ 
+ 		//default output
+ 		this.requested_outputs=['default'];
+@@ -39,6 +40,7 @@
+ 		fielddisplay(this,'ishydrology','indicates whether an hydrology model is used');
+ 		fielddisplay(this,'isslr','indicates whether a sea-level rise model is used');
+ 		fielddisplay(this,'iscoupler','indicates whether different models are being run with need for coupling');
++		fielddisplay(this,'amr_frequency','frequency at which mesh is refined in simulations with multiple time_steps');
+ 		fielddisplay(this,'requested_outputs','list of additional outputs requested');
+ 
+ 
+@@ -62,6 +64,7 @@
+ 			checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0 ,1]);
++			checkfield(md,'fieldname','trans.amr_frequency','numel',[1],'>=',1,'NaN',1,'Inf',1);
+ 			checkfield(md,'fieldname','trans.requested_outputs','stringrow',1);
+ 		} // }}}
+ 		this.marshall=function(md,prefix,fid) { //{{{
+@@ -78,6 +81,7 @@
+ 			WriteData(fid,prefix,'object',this,'fieldname','ismovingfront','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','isslr','format','Boolean');
+ 			WriteData(fid,prefix,'object',this,'fieldname','iscoupler','format','Boolean');
++			WriteData(fid,prefix,'object',this,'fieldname','amr_frequency','format','Integer');
+ 
+ 			//process requested outputs
+ 			var outputs = this.requested_outputs;
+@@ -110,6 +114,7 @@
+ 	this.ishydrology       = 0;
+ 	this.isslr             = 0;
+ 	this.iscoupler         = 0;
++	this.amr_frequency	  = 0;
+ 	this.requested_outputs = [];
+ 
+ 	this.setdefaultparameters();
+Index: ../trunk-jpl/src/m/classes/amr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/amr.py	(revision 0)
++++ ../trunk-jpl/src/m/classes/amr.py	(revision 21674)
+@@ -0,0 +1,58 @@
++from fielddisplay import fielddisplay
++from checkfield import checkfield
++from WriteData import WriteData
++
++class amr(object):
++   """
++   AMR Class definition
++
++      Usage:
++         amr=amr();
++   """
++
++   def __init__(self): # {{{
++      self.level_max      		= 0.
++      self.region_level_1    	= 0.
++      self.region_level_max	= 0.
++
++      #set defaults
++      self.setdefaultparameters()
++
++      #}}}
++   def __repr__(self): # {{{
++      string="   amr parameters:"
++      string="%s\n%s"%(string,fielddisplay(self,"level_max","maximum refinement level (1, 2, 3 or 4)"))
++      string="%s\n%s"%(string,fielddisplay(self,"region_level_1","region which will be refined once (level 1) [ m ]"))
++      string="%s\n%s"%(string,fielddisplay(self,"region_level_max","region which will be refined with level_max [ m ]"))
++      return string
++      #}}}
++   def setdefaultparameters(self): # {{{
++
++ 		#level_max: 2 to 4
++      self.level_max=2
++
++      #region_level_1: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined once (h=1).
++      self.region_level_1=20000.
++
++      #region_level_max: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined with max level of refinement (h=level_max).
++      self.region_level_max=15000.
++      
++		return self
++   #}}}
++   def checkconsistency(self,md,solution,analyses):    # {{{
++
++      md = checkfield(md,'fieldname','amr.level_max','numel',[1],'>=',0,'<=',4)
++      md = checkfield(md,'fieldname','amr.region_level_1','numel',[1],'>',0,'NaN',1,'Inf',1)
++      md = checkfield(md,'fieldname','amr.region_level_max','numel',[1],'>',0,'NaN',1,'Inf',1)
++		#it was adopted 20% of the region_level_1
++      if self.region_level_1-self.region_level_max<0.2*self.region_level_1:
++         md.checkmessage("region_level_max should be lower than 80% of region_level_1")
++
++      return md
++   # }}}
++   def marshall(self,prefix,md,fid):    # {{{
++
++      WriteData(fid,prefix,'object',self,'fieldname','level_max','format','Integer')
++      WriteData(fid,prefix,'object',self,'fieldname','region_level_1','format','Double')
++      WriteData(fid,prefix,'object',self,'fieldname','region_level_max','format','Double')
++   # }}}
+Index: ../trunk-jpl/src/m/classes/model.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.py	(revision 21673)
++++ ../trunk-jpl/src/m/classes/model.py	(revision 21674)
+@@ -49,6 +49,7 @@
+ from inversion import inversion
+ from outputdefinition import outputdefinition
+ from qmu import qmu
++from amr import amr
+ from results import results
+ from radaroverlay import radaroverlay
+ from miscellaneous import miscellaneous
+@@ -111,6 +112,7 @@
+ 		self.autodiff         = autodiff()
+ 		self.inversion        = inversion()
+ 		self.qmu              = qmu()
++		self.amr					 = amr()
+ 
+ 		self.results          = results()
+ 		self.outputdefinition = outputdefinition()
+@@ -153,6 +155,7 @@
+ 		        'autodiff',\
+ 		        'inversion',\
+ 		        'qmu',\
++		        'amr',\
+ 		        'outputdefinition',\
+ 		        'results',\
+ 		        'radaroverlay',\
+@@ -193,6 +196,7 @@
+ 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("autodiff","[%s,%s]" % ("1x1",obj.autodiff.__class__.__name__),"automatic differentiation parameters"))
+ 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("inversion","[%s,%s]" % ("1x1",obj.inversion.__class__.__name__),"parameters for inverse methods"))
+ 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("qmu","[%s,%s]" % ("1x1",obj.qmu.__class__.__name__),"dakota properties"))
++		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("amr","[%s,%s]" % ("1x1",obj.amr.__class__.__name__),"adaptive mesh refinement properties"))
+ 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("outputdefinition","[%s,%s]" % ("1x1",obj.outputdefinition.__class__.__name__),"output definition"))
+ 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("results","[%s,%s]" % ("1x1",obj.results.__class__.__name__),"model results"))
+ 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("radaroverlay","[%s,%s]" % ("1x1",obj.radaroverlay.__class__.__name__),"radar image for plot overlay"))
+Index: ../trunk-jpl/src/m/classes/transient.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.m	(revision 21673)
++++ ../trunk-jpl/src/m/classes/transient.m	(revision 21674)
+@@ -17,6 +17,7 @@
+ 		ishydrology       = 0;
+ 		isslr             = 0;
+ 		iscoupler         = 0;
++		amr_frequency     = 0;
+ 		isoceancoupling   = 0;
+ 		requested_outputs = {};
+ 	end
+@@ -45,6 +46,7 @@
+ 			self.isslr           = 0;
+ 			self.isoceancoupling = 0;
+ 			self.iscoupler       = 0;
++			self.amr_frequency	= 0;
+ 
+ 			%default output
+ 			self.requested_outputs={};
+@@ -65,6 +67,7 @@
+ 			self.isslr           = 0;
+ 			self.isoceancoupling = 0;
+ 			self.iscoupler       = 0;
++			self.amr_frequency	= 1;
+ 
+ 			%default output
+ 			self.requested_outputs={'default'};
+@@ -95,6 +98,7 @@
+ 			md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0 1]);
++			md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',1,'NaN',1,'Inf',1);
+ 
+ 			if (~strcmp(solution,'TransientSolution') & md.transient.iscoupling==1), 
+ 				md = checkmessage(md,['Coupling with ocean model can only be performed for transient simulations!']);
+@@ -116,6 +120,7 @@
+ 			fielddisplay(self,'isslr','indicates whether a sea-level rise solution is used in the transient');
+ 			fielddisplay(self,'isoceancoupling','indicates whether a coupling with an ocean model is used in the transient');
+ 			fielddisplay(self,'iscoupler','indicates whether different models are being run with need for coupling');
++			fielddisplay(self,'amr_frequency','frequency at which mesh is refined in simulations with multiple time_steps');
+ 			fielddisplay(self,'requested_outputs','list of additional outputs requested');
+ 
+ 		end % }}}
+@@ -133,6 +138,7 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','isslr','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','isoceancoupling','format','Boolean');
+ 			WriteData(fid,prefix,'object',self,'fieldname','iscoupler','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','amr_frequency','format','Integer');
+ 
+ 			%process requested outputs
+ 			outputs = self.requested_outputs;
+@@ -158,6 +164,7 @@
+ 			writejsdouble(fid,[modelname '.trans.isslr'],self.isslr);
+ 			writejsdouble(fid,[modelname '.trans.isoceancoupling'],self.isoceancoupling);
+ 			writejsdouble(fid,[modelname '.trans.iscoupler'],self.iscoupler);
++			writejsdouble(fid,[modelname '.trans.amr_frequency'],self.amr_frequency);
+ 			writejscellstring(fid,[modelname '.trans.requested_outputs'],self.requested_outputs);
+ 
+ 		end % }}}
+Index: ../trunk-jpl/src/m/classes/amr.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/amr.js	(revision 0)
++++ ../trunk-jpl/src/m/classes/amr.js	(revision 21674)
+@@ -0,0 +1,56 @@
++//AMR class definition
++//
++//   Usage:
++//      amr=new amr();
++
++function amr (){
++	//methods
++	this.setdefaultparameters = function(){// {{{
++		//level_max: 2 to 4
++		this.level_max=2;
++
++		//region_level_1: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined once (h=1).
++		this.region_level_1=20000.;
++
++		//region_level_max: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined with max level of refinement (h=level_max).
++		this.region_level_max=15000.;
++	}// }}}
++	this.disp= function(){// {{{
++
++		console.log(sprintf('   amr parameters:'));
++		fielddisplay(this,'level_max','maximum refinement level (1, 2, 3 or 4)');
++		fielddisplay(this,'region_level_1','region which will be refined once (level 1) [ m ]');
++		fielddisplay(this,'region_level_max','region which will be refined with level_max [ m ]');
++
++	}// }}}
++	this.classname= function(){// {{{
++		return "amr";
++
++	}// }}}
++		this.checkconsistency = function(md,solution,analyses) { //{{{
++			
++			checkfield(md,'fieldname','amr.level_max','numel',[1],'>=',0,'<=',4);
++			checkfield(md,'fieldname','amr.region_level_1','numel',[1],'>',0,'NaN',1,'Inf',1);
++			checkfield(md,'fieldname','amr.region_level_max','numel',[1],'>',0,'NaN',1,'Inf',1);
++			if (this.region_level_1-this.region_level_max<0.2*this.region_level_1){
++				md.checkmessage('region_level_max should be lower than 80% of region_level_1');
++			}
++		} // }}}
++		this.marshall=function(md,prefix,fid) { //{{{
++
++			WriteData(fid,prefix,'object',this,'fieldname','level_max','format','Integer');
++			WriteData(fid,prefix,'object',this,'fieldname','region_level_1','format','Double');
++			WriteData(fid,prefix,'object',this,'fieldname','region_level_max','format','Double');
++
++		}//}}}
++		this.fix=function() { //{{{
++		}//}}}
++	//properties 
++	// {{{
++	this.level_max				= 0;
++	this.region_level_1     = 0.;
++	this.region_level_max   = 0.;
++
++	this.setdefaultparameters();
++	//}}}
++}
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21673)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21674)
+@@ -45,6 +45,7 @@
+ 		autodiff         = 0;
+ 		inversion        = 0;
+ 		qmu              = 0;
++		amr				  = 0;
+ 
+ 		results          = 0;
+ 		outputdefinition = 0;
+@@ -1123,6 +1124,7 @@
+ 			md.autodiff         = autodiff();
+ 			md.inversion        = inversion();
+ 			md.qmu              = qmu();
++			md.amr				  = amr();
+ 			md.radaroverlay     = radaroverlay();
+ 			md.results          = struct();
+ 			md.outputdefinition = outputdefinition();
+@@ -1295,6 +1297,7 @@
+ 			disp(sprintf('%19s: %-22s -- %s','autodiff'        ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters'));
+ 			disp(sprintf('%19s: %-22s -- %s','inversion'       ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods'));
+ 			disp(sprintf('%19s: %-22s -- %s','qmu'             ,['[1x1 ' class(self.qmu) ']'],'dakota properties'));
++			disp(sprintf('%19s: %-22s -- %s','amr'             ,['[1x1 ' class(self.amr) ']'],'adaptive mesh refinement properties'));
+ 			disp(sprintf('%19s: %-22s -- %s','outputdefinition',['[1x1 ' class(self.outputdefinition) ']'],'output definition'));
+ 			disp(sprintf('%19s: %-22s -- %s','results'         ,['[1x1 ' class(self.results) ']'],'model results'));
+ 			disp(sprintf('%19s: %-22s -- %s','radaroverlay'    ,['[1x1 ' class(self.radaroverlay) ']'],'radar image for plot overlay'));
+Index: ../trunk-jpl/src/m/classes/amr.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/amr.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/amr.m	(revision 21674)
+@@ -0,0 +1,65 @@
++%AMR Class definition
++%
++%   Usage:
++%      amr=amr();
++
++classdef amr
++	properties (SetAccess=public) 
++		level_max			= 0; 
++		region_level_1		= 0;
++		region_level_max	= 0;
++	end
++	methods
++		function self = amr(varargin) % {{{
++			switch nargin
++				case 0
++					self=setdefaultparameters(self);
++				otherwise
++					error('constructor not supported');
++			end
++		end % }}}
++		function self = setdefaultparameters(self) % {{{
++
++			%level_max: 2 to 4
++			self.level_max=2;
++
++			%region_level_1: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined once (h=1).
++			self.region_level_1=20000.;
++			
++			%region_level_max: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined with max level of refinement (h=level_max). 
++			self.region_level_max=15000.;
++
++		end % }}}
++		function md = checkconsistency(self,md,solution,analyses) % {{{
++
++			md = checkfield(md,'fieldname','amr.level_max','numel',[1],'>=',0,'<=',4);
++			md = checkfield(md,'fieldname','amr.region_level_1','numel',[1],'>',0,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','amr.region_level_max','numel',[1],'>',0,'NaN',1,'Inf',1);
++			if self.region_level_1-self.region_level_max<0.2*self.region_level_1, %it was adopted 20% of the region_level_1
++				md = checkmessage(md,'region_level_max should be lower than 80% of region_level_1');
++			end 
++		end % }}}
++		function disp(self) % {{{
++			disp(sprintf('   amr parameters:'));
++
++			fielddisplay(self,'level_max',['maximum refinement level (1, 2, 3 or 4)']);
++			fielddisplay(self,'region_level_1',['region which will be refined once (level 1) [ m ]']);
++			fielddisplay(self,'region_level_max',['region which will be refined with level_max [ m ]']);
++
++		end % }}}
++		function marshall(self,prefix,md,fid) % {{{
++
++			scale = md.constants.yts;
++			WriteData(fid,prefix,'object',self,'fieldname','level_max','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','region_level_1','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','region_level_max','format','Double');
++		end % }}}
++		function savemodeljs(self,fid,modelname) % {{{
++		
++			writejsdouble(fid,[modelname '.amr.level_max'],self.level_max);
++			writejsdouble(fid,[modelname '.amr.region_level_1'],self.region_level_1);
++			writejsdouble(fid,[modelname '.amr.region_level_max'],self.region_level_max);
++
++		end % }}}
++	end
++end
+Index: ../trunk-jpl/src/m/classes/model.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.js	(revision 21673)
++++ ../trunk-jpl/src/m/classes/model.js	(revision 21674)
+@@ -40,6 +40,7 @@
+ 			console.log(sprintf("//19s: //-22s -- //s","autodiff"        ,"[1x1 " + typeof(this.autodiff) + "]","automatic differentiation parameters"));
+ 			console.log(sprintf("//19s: //-22s -- //s","inversion"       ,"[1x1 " + typeof(this.inversion) + "]","parameters for inverse methods"));
+ 			console.log(sprintf("//19s: //-22s -- //s","qmu"             ,"[1x1 " + typeof(this.qmu) + "]","dakota properties"));
++			console.log(sprintf("//19s: //-22s -- //s","amr"             ,"[1x1 " + typeof(this.amr) + "]","adaptive mesh refinement properties"));
+ 			console.log(sprintf("//19s: //-22s -- //s","outputdefinition","[1x1 " + typeof(this.outputdefinition) + "]","output definition"));
+ 			console.log(sprintf("//19s: //-22s -- //s","results"         ,"[1x1 " + typeof(this.results) + "]","model results"));
+ 			console.log(sprintf("//19s: //-22s -- //s","radaroverlay"    ,"[1x1 " + typeof(this.radaroverlay) + "]","radar image for plot overlay"));
+@@ -81,6 +82,7 @@
+ 			this.autodiff         = new autodiff();
+ 			this.inversion        = new inversion();
+ 			this.qmu              = new qmu();
++			this.amr					 = new amr();
+ 			this.radaroverlay     = new radaroverlay();
+ 			this.results          = {};
+ 			this.outputdefinition = new outputdefinition();
+@@ -611,6 +613,7 @@
+ 		this.autodiff         = 0;
+ 		this.inversion        = 0;
+ 		this.qmu              = 0;
++		this.amr					 = 0;
+ 
+ 		this.results          = 0;
+ 		this.outputdefinition = 0;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21674-21675.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21674-21675.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21674-21675.diff	(revision 21726)
@@ -0,0 +1,40 @@
+Index: ../trunk-jpl/src/m/classes/amr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/amr.py	(revision 21674)
++++ ../trunk-jpl/src/m/classes/amr.py	(revision 21675)
+@@ -19,14 +19,14 @@
+       self.setdefaultparameters()
+ 
+       #}}}
+-   def __repr__(self): # {{{
++	def __repr__(self): # {{{
+       string="   amr parameters:"
+       string="%s\n%s"%(string,fielddisplay(self,"level_max","maximum refinement level (1, 2, 3 or 4)"))
+       string="%s\n%s"%(string,fielddisplay(self,"region_level_1","region which will be refined once (level 1) [ m ]"))
+       string="%s\n%s"%(string,fielddisplay(self,"region_level_max","region which will be refined with level_max [ m ]"))
+-      return string
++	return string
+       #}}}
+-   def setdefaultparameters(self): # {{{
++	def setdefaultparameters(self): # {{{
+ 
+  		#level_max: 2 to 4
+       self.level_max=2
+@@ -37,7 +37,7 @@
+       #region_level_max: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined with max level of refinement (h=level_max).
+       self.region_level_max=15000.
+       
+-		return self
++	return self
+    #}}}
+    def checkconsistency(self,md,solution,analyses):    # {{{
+ 
+@@ -48,7 +48,7 @@
+       if self.region_level_1-self.region_level_max<0.2*self.region_level_1:
+          md.checkmessage("region_level_max should be lower than 80% of region_level_1")
+ 
+-      return md
++   return md
+    # }}}
+    def marshall(self,prefix,md,fid):    # {{{
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21675-21676.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21675-21676.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21675-21676.diff	(revision 21726)
@@ -0,0 +1,135 @@
+Index: ../trunk-jpl/src/m/classes/amr.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/amr.py	(revision 21675)
++++ ../trunk-jpl/src/m/classes/amr.py	(revision 21676)
+@@ -3,56 +3,53 @@
+ from WriteData import WriteData
+ 
+ class amr(object):
+-   """
+-   AMR Class definition
++    """
++    AMR Class definition
+ 
+-      Usage:
+-         amr=amr();
+-   """
++    Usage:
++        amr=amr();
++    """
+ 
+-   def __init__(self): # {{{
+-      self.level_max      		= 0.
+-      self.region_level_1    	= 0.
+-      self.region_level_max	= 0.
++    def __init__(self): # {{{
++        self.level_max        = 0.
++        self.region_level_1   = 0.
++        self.region_level_max = 0.
+ 
+-      #set defaults
+-      self.setdefaultparameters()
++        #set defaults
++        self.setdefaultparameters()
++    #}}}
++    def __repr__(self): # {{{
++        string="   amr parameters:"
++        string="%s\n%s"%(string,fielddisplay(self,"level_max","maximum refinement level (1, 2, 3 or 4)"))
++        string="%s\n%s"%(string,fielddisplay(self,"region_level_1","region which will be refined once (level 1) [ m ]"))
++        string="%s\n%s"%(string,fielddisplay(self,"region_level_max","region which will be refined with level_max [ m ]"))
++        return string
++    #}}}
++    def setdefaultparameters(self): # {{{
+ 
+-      #}}}
+-	def __repr__(self): # {{{
+-      string="   amr parameters:"
+-      string="%s\n%s"%(string,fielddisplay(self,"level_max","maximum refinement level (1, 2, 3 or 4)"))
+-      string="%s\n%s"%(string,fielddisplay(self,"region_level_1","region which will be refined once (level 1) [ m ]"))
+-      string="%s\n%s"%(string,fielddisplay(self,"region_level_max","region which will be refined with level_max [ m ]"))
+-	return string
+-      #}}}
+-	def setdefaultparameters(self): # {{{
++        #level_max: 2 to 4
++        self.level_max=2
+ 
+- 		#level_max: 2 to 4
+-      self.level_max=2
++        #region_level_1: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined once (h=1).
++        self.region_level_1=20000.
+ 
+-      #region_level_1: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined once (h=1).
+-      self.region_level_1=20000.
++        #region_level_max: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined with max level of refinement (h=level_max).
++        self.region_level_max=15000.
+ 
+-      #region_level_max: region around (m) the discontinuity (grounding line or ice front) where the mesh will be refined with max level of refinement (h=level_max).
+-      self.region_level_max=15000.
+-      
+-	return self
+-   #}}}
+-   def checkconsistency(self,md,solution,analyses):    # {{{
++        return self
++        #}}}
++    def checkconsistency(self,md,solution,analyses):    # {{{
++        md = checkfield(md,'fieldname','amr.level_max','numel',[1],'>=',0,'<=',4)
++        md = checkfield(md,'fieldname','amr.region_level_1','numel',[1],'>',0,'NaN',1,'Inf',1)
++        md = checkfield(md,'fieldname','amr.region_level_max','numel',[1],'>',0,'NaN',1,'Inf',1)
++                #it was adopted 20% of the region_level_1
++        if self.region_level_1-self.region_level_max<0.2*self.region_level_1:
++            md.checkmessage("region_level_max should be lower than 80% of region_level_1")
+ 
+-      md = checkfield(md,'fieldname','amr.level_max','numel',[1],'>=',0,'<=',4)
+-      md = checkfield(md,'fieldname','amr.region_level_1','numel',[1],'>',0,'NaN',1,'Inf',1)
+-      md = checkfield(md,'fieldname','amr.region_level_max','numel',[1],'>',0,'NaN',1,'Inf',1)
+-		#it was adopted 20% of the region_level_1
+-      if self.region_level_1-self.region_level_max<0.2*self.region_level_1:
+-         md.checkmessage("region_level_max should be lower than 80% of region_level_1")
+-
+-   return md
+-   # }}}
+-   def marshall(self,prefix,md,fid):    # {{{
+-
+-      WriteData(fid,prefix,'object',self,'fieldname','level_max','format','Integer')
+-      WriteData(fid,prefix,'object',self,'fieldname','region_level_1','format','Double')
+-      WriteData(fid,prefix,'object',self,'fieldname','region_level_max','format','Double')
+-   # }}}
++        return md
++    # }}}
++    def marshall(self,prefix,md,fid):    # {{{
++        WriteData(fid,prefix,'object',self,'fieldname','level_max','format','Integer')
++        WriteData(fid,prefix,'object',self,'fieldname','region_level_1','format','Double')
++        WriteData(fid,prefix,'object',self,'fieldname','region_level_max','format','Double')
++    # }}}
+Index: ../trunk-jpl/src/m/classes/bamgmesh.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/bamgmesh.py	(revision 21675)
++++ ../trunk-jpl/src/m/classes/bamgmesh.py	(revision 21676)
+@@ -12,7 +12,6 @@
+ 		self.Vertices=np.empty((0,3))
+ 		self.Edges=np.empty((0,3))
+ 		self.Triangles=np.empty((0,0))
+-		self.Quadrilaterals=np.empty((0,0))
+ 		self.IssmEdges=np.empty((0,0))
+ 		self.IssmSegments=np.empty((0,0))
+ 		self.VerticesOnGeomVertex=np.empty((0,0))
+@@ -44,7 +43,6 @@
+ 		s+="    Vertices: %s\n" % str(self.Vertices)
+ 		s+="    Edges: %s\n" % str(self.Edges)
+ 		s+="    Triangles: %s\n" % str(self.Triangles)
+-		s+="    Quadrilaterals: %s\n" % str(self.Quadrilaterals)
+ 		s+="    IssmEdges: %s\n" % str(self.IssmEdges)
+ 		s+="    IssmSegments: %s\n" % str(self.IssmSegments)
+ 		s+="    VerticesOnGeomVertex: %s\n" % str(self.VerticesOnGeomVertex)
+Index: ../trunk-jpl/src/m/classes/bamgmesh.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/bamgmesh.m	(revision 21675)
++++ ../trunk-jpl/src/m/classes/bamgmesh.m	(revision 21676)
+@@ -9,7 +9,6 @@
+ 		Vertices=[];
+ 		Edges=[];
+ 		Triangles=[];
+-		Quadrilaterals=[];
+ 		IssmEdges=[];
+ 		IssmSegments=[];
+ 		VerticesOnGeomVertex=[];
Index: /issm/oecreview/Archive/21337-21723/ISSM-21676-21677.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21676-21677.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21676-21677.diff	(revision 21726)
@@ -0,0 +1,40 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21676)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 21677)
+@@ -179,6 +179,10 @@
+ 	return;
+ }
+ /*}}}*/
++void Matpar::SetMid(int matpar_mid){/*{{{*/
++	this->mid=matpar_mid;
++}
++/*}}}*/
+ 
+ /*Object virtual functions definitions:*/
+ Object* Matpar::copy() {/*{{{*/
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.h	(revision 21676)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.h	(revision 21677)
+@@ -76,6 +76,7 @@
+ 		Matpar();
+ 		Matpar(int matpar_id, IoModel* iomodel);
+ 		~Matpar();
++		void SetMid(int matpar_mid);
+ 
+ 		/*Object virtual functions definitions:{{{ */
+ 		Object *copy();
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21676)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21677)
+@@ -3661,7 +3661,7 @@
+ 	
+ 	/*Add new constant material property to materials, at the end: */
+ 	Matpar *newmatpar=static_cast<Matpar*>(this->materials->GetObjectByOffset(this->materials->Size()-1)->copy());
+-	newmatpar->mid = newnumberofelements+1;//itapopo testando
++	newmatpar->SetMid(newnumberofelements+1);
+ 	materials->AddObject(newmatpar);//put it at the end of the materials	    
+ 
+ }
Index: /issm/oecreview/Archive/21337-21723/ISSM-21677-21678.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21677-21678.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21677-21678.diff	(revision 21726)
@@ -0,0 +1,280 @@
+Index: ../trunk-jpl/src/m/contrib/tsantos/remesh.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/remesh.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/remesh.m	(revision 21678)
+@@ -0,0 +1,77 @@
++function mdOut = remesh(md,parfile)
++%Set the new mesh (refined) into the model md
++
++NewModel = model;
++
++% geometry
++NewModel.mesh				= mesh2d();
++NewModel.mesh.x			= md.results.TransientSolution(end).MeshX;
++NewModel.mesh.y			= md.results.TransientSolution(end).MeshY;
++NewModel.mesh.elements	= md.results.TransientSolution(end).MeshElements;
++
++% build segments. CONVEX HULL: IT JUST WORKS FOR REGULAR MESHES, WITHOUT "BAYS"
++disp('Building segments: searching vertices by convex hull...');
++k					= convhull(NewModel.mesh.x,NewModel.mesh.y);
++nsegments		= length(k)-1;
++nelements		= size(NewModel.mesh.elements,1);
++segments			= zeros(nsegments,3);
++segments(:,1)	= k(1:nsegments);
++segments(:,2)	= k(2:(nsegments+1));
++disp('Building segments: searching boundary elements...');
++for s=1:nsegments,
++	for e=1:nelements,
++		if any(NewModel.mesh.elements(e,:)==segments(s,1)) && any(NewModel.mesh.elements(e,:)==segments(s,2))
++			segments(s,3)=e;
++			break;
++		end
++	end
++
++	if segments(s,3)==0,
++		error('Element not found!');
++	end
++end
++
++NewModel.mesh.segments  = segments;
++%NewModel.mesh.segmentmarkers = segmentmarkers;
++
++% connectivity
++% Fill in rest of fields:
++NewModel.mesh.numberofelements = size(NewModel.mesh.elements,1);
++NewModel.mesh.numberofvertices = length(NewModel.mesh.x);
++NewModel.mesh.vertexonboundary = zeros(NewModel.mesh.numberofvertices,1);
++NewModel.mesh.vertexonboundary(NewModel.mesh.segments(:,1:2)) = 1;
++
++% Now, build the connectivity tables for this mesh.
++NewModel.mesh.vertexconnectivity = NodeConnectivity(NewModel.mesh.elements,NewModel.mesh.numberofvertices);
++NewModel.mesh.elementconnectivity = ElementConnectivity(NewModel.mesh.elements,NewModel.mesh.vertexconnectivity);
++
++% Building a bed topography and others parameters
++NewModel = setmask(NewModel,'','');
++NewModel = parameterize(NewModel, parfile);
++
++% Setting initialization
++NewModel.initialization.vx				= md.results.TransientSolution(end).Vx;
++NewModel.initialization.vy				= md.results.TransientSolution(end).Vy;
++NewModel.initialization.vz				= zeros(md.mesh.numberofvertices,1);
++NewModel.initialization.vel			= md.results.TransientSolution(end).Vel;
++NewModel.initialization.pressure    = md.results.TransientSolution(end).Pressure;
++NewModel.geometry.surface				= md.results.TransientSolution(end).Surface;
++NewModel.geometry.base					= md.results.TransientSolution(end).Base;
++%NewModel.geometry.bed					= md.geometry.bed; %use from parameterize
++NewModel.geometry.thickness			= md.results.TransientSolution(end).Thickness;
++NewModel.mask.groundedice_levelset  = md.results.TransientSolution(end).MaskGroundediceLevelset;
++    
++%copy other data
++NewModel.miscellaneous          = md.miscellaneous;
++NewModel.timestepping           = md.timestepping;
++NewModel.settings               = md.settings;
++NewModel.stressbalance.maxiter  = md.stressbalance.maxiter;
++NewModel.stressbalance.abstol   = md.stressbalance.abstol;
++NewModel.stressbalance.restol   = md.stressbalance.restol;
++NewModel.verbose                = md.verbose;
++NewModel.cluster                = md.cluster;
++NewModel.transient              = md.transient;
++
++mdOut = NewModel;
++
++end
+Index: ../trunk-jpl/src/m/contrib/tsantos/AMRexportVTK.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/AMRexportVTK.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/AMRexportVTK.m	(revision 21678)
+@@ -0,0 +1,193 @@
++function AMRexportVTK(filename,model,varargin)
++%AMREXPORTVTK -  vtk export
++%
++%   function AMRexportVTK(filename,model)
++%   creates a directory with the vtk files for displays in paraview
++%   (only work for triangle based on their number of nodes)
++%   By default only the results are exported
++%
++%   USAGE:
++%      AMRexportVTK(filename,model,varargin)
++%
++%   EXAMPLE:
++%      AMRexportVTK('ResultSimulation1',md)
++
++[path,name,ext]=fileparts(filename);
++separator=filesep;
++mkdir(filename);
++
++%get the element related variables
++if dimension(model.mesh)==2,
++	points=[model.mesh.x model.mesh.y zeros(model.mesh.numberofvertices,1)];
++else
++	error('Dimension not supported yet \n');
++end
++
++[num_of_points,dim]=size(points);
++[num_of_elt]=size(model.mesh.elements,1);
++[point_per_elt]=size(model.mesh.elements,2);
++
++%Select the type of element function of the number of nodes per elements
++if point_per_elt==3;
++	celltype=5; %triangles
++elseif point_per_elt==6;
++	error('Element type not supported yet \n')
++else
++	error('Your Element definition is not taken into account \n');
++end
++
++%this is the result structure
++res_struct=model.results;
++%checking for results
++if (length(fields(res_struct))>0);
++	%Getting all the solutions of the model
++	solnames=fields(res_struct);
++	num_of_sols=length(solnames);
++	num_of_timesteps=1;
++	%building solution structure 
++	for i=1:num_of_sols
++		sol_struct{i}=res_struct.(solnames{i});
++		%looking for multiple time steps
++		if(size(sol_struct{i},2)>num_of_timesteps);
++			num_of_timesteps=size(sol_struct{i},2);
++      outstep=model.timestepping.time_step*model.settings.output_frequency;
++	  end
++  end
++else
++	num_of_timesteps=1;
++end
++for step=1:num_of_timesteps;
++	
++	timestep=step;
++
++	points=[model.results.TransientSolution(step).MeshX model.results.TransientSolution(step).MeshY zeros(size(model.results.TransientSolution(step).MeshX))];
++	[num_of_points,dim]=size(points);
++	[num_of_elt]=size(model.results.TransientSolution(step).MeshElements,1);
++
++	fid = fopen(strcat(path,filesep,name,filesep,'timestep.vtk',int2str(timestep),'.vtk'),'w+');
++	fprintf(fid,'# vtk DataFile Version 2.0 \n');
++	fprintf(fid,'Data for run %s \n',model.miscellaneous.name);
++	fprintf(fid,'ASCII \n');
++	fprintf(fid,'DATASET UNSTRUCTURED_GRID \n');
++	
++	fprintf(fid,'POINTS %d float\n',num_of_points);
++	if(dim==3);
++		s='%f %f %f \n';
++	elseif(dim==2);
++		s='%f %f \n';
++  end
++	P=[points zeros(num_of_points,3-dim)];
++	fprintf(fid,s,P');
++	
++	fprintf(fid,'CELLS %d %d\n',num_of_elt,num_of_elt*(point_per_elt+1));
++	s='%d';
++	for j=1:point_per_elt
++		s=horzcat(s,{' %d'});
++  end
++	s=cell2mat(horzcat(s,{'\n'}));
++		fprintf(fid,s,[(point_per_elt)*ones(num_of_elt,1)	model.results.TransientSolution(step).MeshElements-1]');
++	
++	fprintf(fid,'CELL_TYPES %d\n',num_of_elt);
++	s='%d\n';
++	fprintf(fid,s,celltype*ones(num_of_elt,1));
++	fprintf(fid,'POINT_DATA %s \n',num2str(num_of_points));
++
++	%loop over the different solution structures
++	if (exist('num_of_sols'));
++		for j=1:num_of_sols
++			%dealing with results on different timesteps
++			if(size(sol_struct{j},2)>timestep);
++				timestep = step;
++			else
++				timestep = size(sol_struct{j},2);
++	    end
++			
++			%getting the number of fields in the solution
++			fieldnames=fields(sol_struct{j}(timestep));
++			num_of_fields=length(fieldnames);
++			
++			%check which field is a real result and print
++			for k=1:num_of_fields
++				if ((numel(sol_struct{j}(timestep).(fieldnames{k})))==num_of_points);
++					%paraview does not like NaN, replacing
++					nanval=find(isnan(sol_struct{j}(timestep).(fieldnames{k})));
++					sol_struct{j}(timestep).(fieldnames{k})(nanval)=-9999;
++					%also checking for verry small value that mess up
++					smallval=(abs(sol_struct{j}(timestep).(fieldnames{k}))<1.0e-20);
++					sol_struct{j}(timestep).(fieldnames{k})(smallval)=0.0;
++					fprintf(fid,'SCALARS %s float 1 \n',fieldnames{k});
++					fprintf(fid,'LOOKUP_TABLE default\n');
++					s='%e\n';
++					fprintf(fid,s,sol_struct{j}(timestep).(fieldnames{k}));
++		    end		
++	    end 
++	  end
++  end
++	%loop on arguments, if something other than result is asked, do
++	%it now
++	for j= 1:nargin-2
++		res_struct=model.(varargin{j});
++		fieldnames=fields(res_struct);
++		num_of_fields=length(fieldnames);
++		for k=1:num_of_fields
++			if ((numel(res_struct.(fieldnames{k})))==num_of_points);
++				%paraview does not like NaN, replacing
++				nanval=find(isnan(res_struct.(fieldnames{k})));
++				res_struct.(fieldnames{k})(nanval)=-9999;
++				%also checking for verry small value that mess up
++				smallval=(abs(res_struct.(fieldnames{k}))<1.0e-20);
++				res_struct.(fieldnames{k})(smallval)=0.0;
++				fprintf(fid,'SCALARS %s float 1 \n',fieldnames{k});
++				fprintf(fid,'LOOKUP_TABLE default\n');
++				s='%e\n';
++				fprintf(fid,s,res_struct.(fieldnames{k}));
++				%check for forcings	
++			elseif (size(res_struct.(fieldnames{k}),1)==num_of_points+1);
++				%paraview does not like NaN, replacing
++				nanval=find(isnan(res_struct.(fieldnames{k})));
++				res_struct.(fieldnames{k})(nanval)=-9999;
++				%also checking for verry small value that mess up
++				smallval=(abs(res_struct.(fieldnames{k}))<1.0e-20);
++				res_struct.(fieldnames{k})(smallval)=0.0;
++				if (size(res_struct.(fieldnames{k}),2)==num_of_timesteps),
++					fprintf(fid,'SCALARS %s float 1 \n',fieldnames{k});
++					fprintf(fid,'LOOKUP_TABLE default\n');
++					s='%e\n';
++					fprintf(fid,s,res_struct.(fieldnames{k})(1:end-1,timestep));
++				else,
++					%forcing and results not on the same timestep,need some treatment
++					fprintf(fid,'SCALARS %s float 1 \n',fieldnames{k});
++					fprintf(fid,'LOOKUP_TABLE default\n');
++					index=1;
++					currenttime=((timestep-1)*outstep)+model.timestepping.start_time;
++					while (res_struct.(fieldnames{k})(end,index)<=currenttime);
++						if index==size(res_struct.(fieldnames{k}),2)
++							break
++						end	
++						index=index+1;
++		      end
++					uptime=res_struct.(fieldnames{k})(end,index);
++					uplim=res_struct.(fieldnames{k})(1:end-1,index);
++					while (res_struct.(fieldnames{k})(end,index)>=currenttime);
++						if index==1
++							break
++			      end
++						index=index-1;
++		      end
++					lowtime=res_struct.(fieldnames{k})(end,index);
++					lowlim=res_struct.(fieldnames{k})(1:end-1,index);
++					if uptime==currenttime,
++						interp=uplim;
++					elseif lowtime==currenttime,
++						interp=lowlim;
++					else
++						interp=lowlim+(uplim-lowlim)*((currenttime-lowtime)/(uptime-lowtime));
++					end
++					s='%e\n';
++					fprintf(fid,s,interp);
++				end
++		  end		
++		end 
++	end
++	fclose(fid);
++end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21678-21679.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21678-21679.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21678-21679.diff	(revision 21726)
@@ -0,0 +1,39 @@
+Index: ../trunk-jpl/src/m/classes/trans.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/trans.js	(revision 21678)
++++ ../trunk-jpl/src/m/classes/trans.js	(revision 21679)
+@@ -19,7 +19,7 @@
+ 		this.ishydrology     = 0;
+ 		this.isslr           = 0;
+ 		this.iscoupler       = 0;
+-		this.amr_frequency   = 0;
++		this.amr_frequency   = 1;
+ 
+ 		//default output
+ 		this.requested_outputs=['default'];
+Index: ../trunk-jpl/src/m/classes/transient.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.py	(revision 21678)
++++ ../trunk-jpl/src/m/classes/transient.py	(revision 21679)
+@@ -74,7 +74,7 @@
+ 		self.isoceancoupling   = False
+ 		self.isslr             = False
+ 		self.iscoupler         = False
+-		self.amr_frequency	  = 0
++		self.amr_frequency	  = 1
+ 
+ 		#default output
+ 		self.requested_outputs=[]
+Index: ../trunk-jpl/src/m/classes/transient.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.m	(revision 21678)
++++ ../trunk-jpl/src/m/classes/transient.m	(revision 21679)
+@@ -46,7 +46,7 @@
+ 			self.isslr           = 0;
+ 			self.isoceancoupling = 0;
+ 			self.iscoupler       = 0;
+-			self.amr_frequency	= 0;
++			self.amr_frequency	= 1;
+ 
+ 			%default output
+ 			self.requested_outputs={};
Index: /issm/oecreview/Archive/21337-21723/ISSM-21679-21680.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21679-21680.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21679-21680.diff	(revision 21726)
@@ -0,0 +1,74 @@
+Index: ../trunk-jpl/src/m/classes/transient.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.py	(revision 21679)
++++ ../trunk-jpl/src/m/classes/transient.py	(revision 21680)
+@@ -74,7 +74,7 @@
+ 		self.isoceancoupling   = False
+ 		self.isslr             = False
+ 		self.iscoupler         = False
+-		self.amr_frequency	  = 1
++		self.amr_frequency	  = 0
+ 
+ 		#default output
+ 		self.requested_outputs=[]
+@@ -121,7 +121,7 @@
+ 		md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0,1])
+ 		md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0,1])
+-		md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',1,'NaN',1,'Inf',1)
++		md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1)
+ 		md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1)
+ 
+ 		if (solution!='TransientSolution') and (md.transient.iscoupling):
+Index: ../trunk-jpl/src/m/classes/trans.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/trans.js	(revision 21679)
++++ ../trunk-jpl/src/m/classes/trans.js	(revision 21680)
+@@ -64,7 +64,7 @@
+ 			checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0 ,1]);
+ 			checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0 ,1]);
+-			checkfield(md,'fieldname','trans.amr_frequency','numel',[1],'>=',1,'NaN',1,'Inf',1);
++			checkfield(md,'fieldname','trans.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1);
+ 			checkfield(md,'fieldname','trans.requested_outputs','stringrow',1);
+ 		} // }}}
+ 		this.marshall=function(md,prefix,fid) { //{{{
+Index: ../trunk-jpl/src/m/classes/transient.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/transient.m	(revision 21679)
++++ ../trunk-jpl/src/m/classes/transient.m	(revision 21680)
+@@ -46,7 +46,7 @@
+ 			self.isslr           = 0;
+ 			self.isoceancoupling = 0;
+ 			self.iscoupler       = 0;
+-			self.amr_frequency	= 1;
++			self.amr_frequency	= 0;
+ 
+ 			%default output
+ 			self.requested_outputs={};
+@@ -98,7 +98,7 @@
+ 			md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0 1]);
+ 			md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0 1]);
+-			md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',1,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1);
+ 
+ 			if (~strcmp(solution,'TransientSolution') & md.transient.iscoupling==1), 
+ 				md = checkmessage(md,['Coupling with ocean model can only be performed for transient simulations!']);
+Index: ../trunk-jpl/src/c/cores/transient_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21679)
++++ ../trunk-jpl/src/c/cores/transient_core.cpp	(revision 21680)
+@@ -175,8 +175,10 @@
+ 
+ 		/*Adaptive mesh refinement*/
+ 		#ifdef _HAVE_NEOPZ_
+-		if(save_results) femmodel->WriteMeshInResults();
+-		if(step%amr_frequency==0 && time<finaltime) femmodel->ReMesh();//Do not refine the last step
++		if(amr_frequency){
++			if(save_results) femmodel->WriteMeshInResults();
++			if(step%amr_frequency==0 && time<finaltime) femmodel->ReMesh();//Do not refine the last step
++		}
+ 		#endif
+ 	
+ 	}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21680-21681.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21680-21681.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21680-21681.diff	(revision 21726)
@@ -0,0 +1,288 @@
+Index: ../trunk-jpl/src/m/classes/giacaron.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/giacaron.m	(revision 21680)
++++ ../trunk-jpl/src/m/classes/giacaron.m	(revision 21681)
+@@ -4,7 +4,32 @@
+ %      giacaron=giacaron();
+ classdef giacaron
+ 	properties (SetAccess=public) 
+-		numlayers   = NaN;
++        
++        %Physical constants
++        gravitational_constant= NaN;
++        surface_radius = NaN;
++        core_mantle_boudary_radius= NaN;
++        inner_core_boudary_radius= NaN;
++        stress_norm= NaN;
++        gravity_norm= NaN;
++        radius_norm= NaN;
++        
++        %Numerical parameters
++        allow_layer_deletion=NaN;
++        verbose_mode=NaN;
++        
++        %GIA problem setup
++        forcing_type=NaN;
++        isincompressible=NaN;
++        benchmark_mode=NaN;
++        calculate_sea_level=NaN;
++        calculate_rotational_feedback=NaN;
++        subtract_present_day=NaN;
++        ntime=NaN;
++        nphi=NaN;
++    
++        %Earth model
++        numlayers   = NaN;
+ 		radius      = NaN;
+ 		lame_mu     = NaN;
+ 		lame_lambda = NaN;
+@@ -14,6 +39,22 @@
+ 		isburger    = NaN; 
+ 		transient_viscosity    = NaN; 
+ 		transient_mu           = NaN; 
++        
++        %Inversion
++%         dataset_type_dentifier= NaN
++%         ndata_std= NaN;
++%         ndata_minimum_val = NaN;
++%         ndata_maximum_val = NaN;
++%         ndata_total=NaN;
++%         n_forward_models=NaN;
++%         ice_coefficients_solving = NaN;
++%         ninverse_parameters=NaN;
++        
++        %Ice history
++        ice_model_identifier=NaN;
++        ice_model_ntime=NaN;
++        nice_sheets=NaN;
++        
+ 	end
+ 	methods
+ 		function self = extrude(self,md) % {{{
+@@ -26,6 +67,7 @@
+ 					body=getfieldvalue(options,'body');
+ 					if strcmpi(body,'earth'), 
+ 						self.numlayers=getfieldvalue(options,'numlayers',5);
++                        self.calculate_sea_level=true;
+ 						%[self.radius,self.lame_mu, self.lame_lambda, self.issolid, self.density, ...
+ 						%self.viscosity, self.isburger, self.transient_viscosity, self.transient_mu]=...
+ 						%modelinit(self.numlayers);
+@@ -37,10 +79,64 @@
+ 			end
+ 		end % }}}
+ 		function self = setdefaultparameters(self) % {{{
++             %Physical constants
++            gravitational_constant= 6.67259e-11;
++            stress_norm= 1e12;
++            gravity_norm= 10;
++            radius_norm= 1.0;
++
++            %Numerical parameters
++            allow_layer_deletion=true;
++            verbose_mode=false;
++
++            %GIA problem setup
++            forcing_type=11;
++            isincompressible=false;
++            benchmark_mode=false;
++            calculate_sea_level=false;
++            calculate_rotational_feedback=true;
++            subtract_present_day=true;
++
++            %Earth model
++            isburger    = false(self.numlayers,1); 
++            
++            %Ice history
++            nice_sheets=1;
++
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+ 
+ 			if ~ismember('GiaAnalysis',analyses), return; end
++            % Physical constants			
++            md = checkfield(md,'fieldname','gia.gravitational_constant','NaN',1,'Inf',1,'numel',1,'>',0);
++            md = checkfield(md,'fieldname','gia.surface_radius','NaN',1,'Inf',1,'numel',1,'>',0);
++			md = checkfield(md,'fieldname','gia.core_mantle_boundary_radius','Inf',1,'numel',1,'>',0);
++			md = checkfield(md,'fieldname','gia.inner_core_boundary_radius','Inf',1,'numel',1,'>',0);
++			md = checkfield(md,'fieldname','gia.radius_norm','NaN',1,'Inf',1,'numel',1,'>',0);
++			md = checkfield(md,'fieldname','gia.stress_norm','NaN',1,'Inf',1,'numel',1,'>',0);
++			md = checkfield(md,'fieldname','gia.gravity_norm','NaN',1,'Inf',1,'numel',1,'>',0);
++
++            %Numerical parameters
++   			md = checkfield(md,'fieldname','gia.allow_layer_deletion','values',[0 1]);
++			md = checkfield(md,'fieldname','gia.verbose_mode','values',[0 1]);
++
++            %GIA problem setup
++            md = checkfield(md,'fieldname','gia.forcing_type','NaN',1,'Inf',1,'numel',1,'>',0, '<=', 12);
++            md = checkfield(md,'fieldname','gia.isincompressible','values',[0 1]);
++   			md = checkfield(md,'fieldname','gia.benchmark_mode','values',[0 1]);
++   			md = checkfield(md,'fieldname','gia.calculate_sea_level','values',[0 1]);
++   			md = checkfield(md,'fieldname','gia.calculate_rotational_feedback','values',[0 1]);
++   			md = checkfield(md,'fieldname','gia.subtract_present_day','values',[0 1]);
++   			md = checkfield(md,'fieldname','gia.ntime','NaN',1,'Inf',1,'numel',1,'>',0);
++   			md = checkfield(md,'fieldname','gia.ntheta','NaN',1,'Inf',1,'numel',1,'>',0);
++   			md = checkfield(md,'fieldname','gia.nphi','numel',1,'values', self.ntheta*2);
++        
++            %Ice history
++            md = checkfield(md,'fieldname','gia.ice_model_identifier', 'stringrow', 1, 'size', [1 3]);
++            md = checkfield(md,'fieldname','gia.ice_model_ntime', 'NaN', 1, 'Inf', 1, 'numel', 1);
++            md = checkfield(md,'fieldname','gia.nice_sheets', 'NaN', 1, 'Inf', 1, '>', 0, 'numel', 1);
++            
++            %Earth parameters
+ 			md = checkfield(md,'fieldname','gia.numlayers','NaN',1,'Inf',1,'>',0,'numel',1);
+ 			md = checkfield(md,'fieldname','gia.radius','NaN',1,'Inf',1,'size',[md.gia.numlayers 1],'>',0);
+ 			md = checkfield(md,'fieldname','gia.lame_mu','NaN',1,'Inf',1,'size',[md.gia.numlayers 1],'>',0);
+@@ -54,6 +150,37 @@
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   giacaron parameters:'));
++            
++            % Physical constants			
++            fielddisplay(self,'gravitational_constant', 'Newton''s Gravitational constant, should be equal to approximately 6.67e-11 [m^3.kg^-1.s^-2]');
++            fielddisplay(self,'surface_radius','NaN', 'Planet outer surface radius [m]');
++			fielddisplay(self,'core_mantle_boundary_radius', 'Planet core mantle boundary radius (optional) [m]'); 
++			fielddisplay(self,'inner_core_boundary_radius','Planet inner core boundary radius (optional) [m]'); 
++			fielddisplay(self,'radius_norm', 'length normalization constant [m] (default 1.0)');
++			fielddisplay(self,'stress_norm', 'stress normalization constant [Pa] (default 1e12)');
++			fielddisplay(self,'gravity_norm', 'gravity normalization constant [m.s^-2] (default 10)');
++
++            %Numerical parameters
++   			fielddisplay(self,'allow_layer_deletion', 'boolean allowing the migration of the starting integration radius while increasing the spherical harmonic degree  (default true)');
++			fielddisplay(self,'verbose_mode', 'boolean allowing the program to write more details on terminal (default false)')
++
++            %GIA problem setup
++            fielddisplay(self,'forcing_type','integer indicating the nature and depth of the forcing for the Love number calculation: 1: ICB -- Volumic Potential,  2:  ICB -- Pressure,	3:  ICB -- Loading,    4:  ICB -- Tangential traction, 	5:  CMB -- Volumic Potential,  6:  CMB -- Pressure	7:  CMB -- Loading,  8:  CMB -- Tangential traction,	9: SURF -- Volumic Potential, 10: SURF -- Pressure, 11: SURF -- Loading,  12: SURF -- Tangential traction (default 11)'); 
++            fielddisplay(self,'isincompressible', 'boolean approximating the mantle rheology to an incompressible body, sets Lame_lambda to 5e14 Pa (default false)');
++   			fielddisplay(self,'benchmark_mode', 'boolean to enter benchmark mode, writes a lot of outputs from the midst of the calculation (default false)');
++   			fielddisplay(self,'calculate_sea_level', 'boolean allowing the sea level equation solving (default false)');
++   			fielddisplay(self,'calculate_rotational_feedback', 'boolean allowing the calculation of rotational feedback (default true)');
++   			fielddisplay(self,'subtract_present_day', 'boolean, subtracts the present day signal so the calculation is expressed as the difference with the present-day topography, geoid and sea level (default true)');
++   			fielddisplay(self,'ntime', 'number of time steps')
++   			fielddisplay(self,'ntheta', 'size of grid in latitude') 
++   			fielddisplay(self,'nphi', 'size of grid in longitude (should always be ntheta*2)');
++        
++            %Ice history
++            fielddisplay(self,'ice_model_identifier', 'string identifier for the ice model (3 characters)')
++            fielddisplay(self,'ice_model_ntime', 'number of time steps in the original ice model, is used to interpolate the model on the desired time')
++            fielddisplay(self,'nice_sheets', 'number of ice regions to be scaled independently')
++            
++            %Earth parameters
+ 			fielddisplay(self,'numlayers','number of layers (default 5)');
+ 			fielddisplay(self,'radius','array describing the radius for each interface (numlayers+1) [m]');
+ 			fielddisplay(self,'lame_mu','array describing the shear modulus for each layers (numlayers) [Pa]');
+@@ -70,13 +197,114 @@
+ 			WriteData(fid,prefix,'object',self,'fieldname','mantle_viscosity','format','DoubleMat','mattype',1);
+ 			WriteData(fid,prefix,'object',self,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',10^3); %from km to m
+ 			WriteData(fid,prefix,'object',self,'fieldname','cross_section_shape','format','Integer');
++            
++             %Physical constants
++			WriteData(fid,prefix,'object',self,'fieldname','gravitational_constant','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','surface_radius ','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','core_mantle_boudary_radius','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','inner_core_boudary_radius','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','stress_norm','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','gravity_norm','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','radius_norm','format','Double');
++        
++        %Numerical parameters
++			WriteData(fid,prefix,'object',self,'fieldname','allow_layer_deletion','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','verbose_mode','format','Boolean');
++        
++        %GIA problem setup
++			WriteData(fid,prefix,'object',self,'fieldname','forcing_type','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','isincompressible','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','benchmark_mode','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','calculate_sea_level','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','calculate_rotational_feedback','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','subtract_present_day','format','Boolean');
++			WriteData(fid,prefix,'object',self,'fieldname','ntime','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','ntheta','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','nphi','format','Integer');
++    
++        %Earth model
++			WriteData(fid,prefix,'object',self,'fieldname','numlayers','format','Double');
++			WriteData(fid,prefix,'object',self,'fieldname','radius','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','lame_mu','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','lame_lambda ','format','DoubleMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','issolid','format','BooleanMat','mattype',1);
++			WriteData(fid,prefix,'object',self,'fieldname','density','format','DoubleMat','mattype',1); 
++			WriteData(fid,prefix,'object',self,'fieldname','viscosity','format','DoubleMat','mattype',1); 
++			WriteData(fid,prefix,'object',self,'fieldname','isburger','format','BooleanMat','mattype',1); 
++			WriteData(fid,prefix,'object',self,'fieldname','transient_viscosity','format','DoubleMat','mattype',1); 
++			WriteData(fid,prefix,'object',self,'fieldname','transient_mu','format','DoubleMat','mattype',1); 
++        
++        %Inversion
++%         dataset_type_dentifier= NaN
++			WriteData(fid,prefix,'object',self,'fieldname','ndata_std','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','ndata_minimum_val ','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','ndata_maximum_val ','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','ndata_total','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','n_forward_models','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','ice_coefficients_solving ','format','String');
++			WriteData(fid,prefix,'object',self,'fieldname','ninverse_parameters','format','Integer');
++        
++        %Ice history
++			WriteData(fid,prefix,'object',self,'fieldname','ice_model_identifier','format','String');
++			WriteData(fid,prefix,'object',self,'fieldname','ice_model_ntime','format','Integer');
++			WriteData(fid,prefix,'object',self,'fieldname','nice_sheets','format','Integer');
+ 		end % }}}
+ 		function savemodeljs(self,fid,modelname) % {{{
+ 		
++%Physical constants
++			writejsdouble(fid,[modelname '.gia.gravitational_constant'],self.gravitational_constant);
++			writejsdouble(fid,[modelname '.gia.surface_radius'],self.surface_radius);
++			writejsdouble(fid,[modelname '.gia.core_mantle_boudary_radius'],self.core_mantle_boudary_radius);
++			writejsdouble(fid,[modelname '.gia.inner_core_boudary_radius'],self.inner_core_boudary_radius);
++			writejsdouble(fid,[modelname '.gia.stress_norm'],self.stress_norm);
++			writejsdouble(fid,[modelname '.gia.gravity_norm'],self.gravity_norm);
++			writejsdouble(fid,[modelname '.gia.radius_norm'],self.radius_norm);
++        
++        %Numerical parameters
++			writejsdouble(fid,[modelname '.gia.allow_layer_deletion'],self.allow_layer_deletion);
++			writejsdouble(fid,[modelname '.gia.verbose_mode'],self.verbose_mode);
++        
++        %GIA problem setup
++			writejsdouble(fid,[modelname '.gia.forcing_type'],self.forcing_type);
++			writejsdouble(fid,[modelname '.gia.isincompressible'],self.isincompressible);
++			writejsdouble(fid,[modelname '.gia.benchmark_mode'],self.benchmark_mode);
++			writejsdouble(fid,[modelname '.gia.calculate_sea_level'],self.calculate_sea_level);
++			writejsdouble(fid,[modelname '.gia.calculate_rotational_feedback'],self.calculate_rotational_feedback);
++			writejsdouble(fid,[modelname '.gia.subtract_present_day'],self.subtract_present_day);
++			writejsdouble(fid,[modelname '.gia.ntime'],self.ntime);
++			writejsdouble(fid,[modelname '.gia.ntheta'],self.ntheta);
++			writejsdouble(fid,[modelname '.gia.nphi'],self.nphi);
++    
++        %Earth model
++			writejsdouble(fid,[modelname '.gia.numlayers'],self.numlayers);
++			writejsdouble(fid,[modelname '.gia.radius'],self.radius);
++			writejsdouble(fid,[modelname '.gia.lame_mu'],self.lame_mu);
++			writejsdouble(fid,[modelname '.gia.lame_lambda'],self.lame_lambda);
++			writejsdouble(fid,[modelname '.gia.issolid'],self.issolid);
++			writejsdouble(fid,[modelname '.gia.density'],self.density); 
++			writejsdouble(fid,[modelname '.gia.viscosity'],self.viscosity); 
++			writejsdouble(fid,[modelname '.gia.isburger'],self.isburger); 
++			writejsdouble(fid,[modelname '.gia.transient_viscosity'],self.transient_viscosity); 
++			writejsdouble(fid,[modelname '.gia.transient_mu'],self.transient_mu); 
++        
++        %Inversion
++%         dataset_type_dentifier= NaN
++%			writejsdouble(fid,[modelname '.gia.ndata_std'],self.ndata_std);
++%			writejsdouble(fid,[modelname '.gia.ndata_minimum_val'],self.ndata_minimum_val);
++%			writejsdouble(fid,[modelname '.gia.ndata_maximum_val'],self.ndata_maximum_val);
++%			writejsdouble(fid,[modelname '.gia.ndata_total'],self.ndata_total);
++%			writejsdouble(fid,[modelname '.gia.n_forward_models'],self.n_forward_models);
++%			writejsdouble(fid,[modelname '.gia.ice_coefficients_solving'],self.ice_coefficients_solving);
++%			writejsdouble(fid,[modelname '.gia.ninverse_parameters'],self.ninverse_parameters);
++        
++        %Ice history
++			writejsdouble(fid,[modelname '.gia.ice_model_identifier'],self.ice_model_identifier);
++			writejsdouble(fid,[modelname '.gia.ice_model_ntime'],self.ice_model_ntime);
++			writejsdouble(fid,[modelname '.gia.nice_sheets'],self.nice_sheets);
+ 			writejsdouble(fid,[modelname '.gia.mantle_viscosity'],self.mantle_viscosity);
+ 			writejsdouble(fid,[modelname '.gia.lithosphere_thickness'],self.lithosphere_thickness);
+ 			writejsdouble(fid,[modelname '.gia.cross_section_shape'],self.cross_section_shape);
+-
++			
+ 		end % }}}
+ 	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21681-21682.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21681-21682.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21681-21682.diff	(revision 21726)
@@ -0,0 +1,30 @@
+Index: ../trunk-jpl/src/m/classes/giacaron.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/giacaron.m	(revision 21681)
++++ ../trunk-jpl/src/m/classes/giacaron.m	(revision 21682)
+@@ -8,7 +8,7 @@
+         %Physical constants
+         gravitational_constant= NaN;
+         surface_radius = NaN;
+-        core_mantle_boudary_radius= NaN;
++		core_mantle_boudary_radius= NaN;
+         inner_core_boudary_radius= NaN;
+         stress_norm= NaN;
+         gravity_norm= NaN;
+@@ -40,16 +40,6 @@
+ 		transient_viscosity    = NaN; 
+ 		transient_mu           = NaN; 
+         
+-        %Inversion
+-%         dataset_type_dentifier= NaN
+-%         ndata_std= NaN;
+-%         ndata_minimum_val = NaN;
+-%         ndata_maximum_val = NaN;
+-%         ndata_total=NaN;
+-%         n_forward_models=NaN;
+-%         ice_coefficients_solving = NaN;
+-%         ninverse_parameters=NaN;
+-        
+         %Ice history
+         ice_model_identifier=NaN;
+         ice_model_ntime=NaN;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21682-21683.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21682-21683.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21682-21683.diff	(revision 21726)
@@ -0,0 +1,2664 @@
+Index: ../trunk-jpl/src/m/plot/plot_quiver.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_quiver.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/plot_quiver.js	(revision 21683)
+@@ -1,297 +1,138 @@
+-function plot_unit(md,data,datatype,options,canvas) { //{{{
+-	//PLOT_UNIT - unit plot, display data
++function plot_quiver(md, options, canvas, updateVel) { //{{{
++	//PLOT_QUIVER - quiver plot with colors
+ 	//
+ 	//   Usage:
+-	//      plot_unit(md,data,options,canvas);
++	//      plot_quiver(md, options, canvas)
+ 	//
+ 	//   See also: PLOTMODEL, PLOT_MANAGER
+ 
+-	//declare variables:  {{{
++	//{{{ declare variables:
++	var vertices = [];
++	var indices = [];
++	var colors = [];
++	var xmin, xmax;
++	var ymin, ymax;
++	var zmin, zmax;
++	var scale, matrixscale, vertexscale;
++	
+ 	//Process data and model
+-	var meshresults = processmesh(md,data,options);
++	var meshresults = processmesh(md,[], options);
++
+ 	var x = meshresults[0]; 
+ 	var y = meshresults[1]; 
+ 	var z = meshresults[2]; 
+-	var elements = meshresults[3];
++	var elements = meshresults[3]; 
+ 	var is2d = meshresults[4]; 
+ 	var isplanet = meshresults[5];
+-	
+-	var vertices = new Float32Array(x.length * 3);
+-	var texcoords = new Float32Array(x.length * 2);
+-	var indices = new Uint16Array(elements.length * 3);
+-	var nanindices = {};
+-	var xmin,xmax;
+-	var ymin,ymax;
+-	var zmin,zmax;
+-	var datamin,datamax,datadelta;
+-	var matrixscale,vertexscale;
++	var v = updateVel != undefined ? updateVel.vel : md.initialization.vel;
++	var vx = updateVel != undefined ? updateVel.vx : md.initialization.vx;
++	var vy = updateVel != undefined ? updateVel.vy : md.initialization.vy;
++		
+ 	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
+ 	if (!md.geometry.surface) {
+-		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
++		md.geometry.surface=NewArrayFill(md.mesh.x.length, 0);
+ 	}
+ 	if (md.mesh.classname() == 'mesh3dsurface') {
+ 		matrixscale = 1;
+-		vertexscale = options.getfieldvalue('heightscale',1);
++		vertexscale = options.getfieldvalue('heightscale', 1);
+ 	}
+ 	else {
+ 		if (md.geometry.surface) {
+ 			z=md.geometry.surface;
+ 		}	
+-		matrixscale = options.getfieldvalue('heightscale',1);
++		matrixscale = options.getfieldvalue('heightscale', 1);
+ 		vertexscale = 0;
+ 	}
+ 	//}}}
+ 
+ 	//Compute coordinates and data range:
+-	var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-	var modelylim = [ArrayMin(y),ArrayMax(y)];
+-	var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-	var xlim = options.getfieldvalue('xlim',modelxlim);
+-	var ylim = options.getfieldvalue('ylim',modelylim);
+-	var zlim = options.getfieldvalue('zlim',modelzlim);
++	var modelxlim = [ArrayMin(x), ArrayMax(x)];
++	var modelylim = [ArrayMin(y), ArrayMax(y)];
++	var modelzlim = [ArrayMin(z), ArrayMax(z)];
++	var xlim = options.getfieldvalue('xlim', modelxlim);
++	var ylim = options.getfieldvalue('ylim', modelylim);
++	var zlim = options.getfieldvalue('zlim', modelzlim);
+ 	xmin = xlim[0];
+ 	xmax = xlim[1];
+ 	ymin = ylim[0];
+ 	ymax = ylim[1];
+ 	zmin = zlim[0];
+ 	zmax = zlim[1];
+-	var caxis;
+ 
+ 	//Compute gl variables:
+ 	var gl = canvas.gl;
+ 	var node = Node(gl);
+-	canvas.nodes[canvas.nodes.length] = node;
+-	canvas.unitNode = node;
+-	node.name = "unit";
+-	node.shaderName = "Textured";
++	canvas.nodes["velocity"] = node;
++	node.name = "quiver";
++	node.shaderName = "Colored";
+ 	node.shader = gl.shaders[node.shaderName];
++	node.lineWidth = options.getfieldvalue('linewidth', 1);
+ 	node.scale = [1, 1, matrixscale];
+ 	node.rotation = [-90, 0, 0];
+ 	node.translation = [0, 0, 0];
+ 	node.center = [(xmin + xmax) / 2, (ymin + ymax) / 2, (zmin + zmax) / 2];
+-	node.alpha = options.getfieldvalue('alpha',1.0);
+-	node.drawOrder = 1;
++	node.drawMode = gl.LINES;
++	node.useIndexBuffer = false;
++	node.drawOrder = 0;
+ 	node.maskEnabled = options.getfieldvalue('innermask','off') == 'on';
+-	node.maskHeight = options.getfieldvalue('innermaskheight',150.0);
+-	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0,0.0,1.0,1.0]);
+-	node.enabled = options.getfieldvalue('nodata','off') == 'off';
++	node.maskHeight = options.getfieldvalue('innermaskheight', 150.0)*options.getfieldvalue('heightscale', 1);
++	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0, 0.0, 1.0, 1.0]);
+ 	updateModelMatrix(node);
+ 
+-	switch(datatype){
+-		//element plot {{{
+-		case 1:
+-			pos=ArrayFindNot(data,NaN); //needed for element on water
+-			if (elements[0].length==6){ //prisms
+-			}
+-			else if (elements[0].length==4){ //tetras
+-			}
+-			else{ //2D triangular elements
+-			}
+-			break;
+-		//}}}
+-		//node plot {{{
+-		case 2:
+-			if (elements[0].length==6){ //prisms
+-			}
+-			else if (elements[0].length==4){ //tetras
+-			}
+-			else{ //triangular elements	
+-				caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
+-				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10)),Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log',10))];
+-				datamin = caxis[0];
+-				datamax = caxis[1];
+-				datadelta = datamax - datamin;
++	//retrieve some options
++	var edgecolor=new RGBColor(options.getfieldvalue('edgecolor','black'));
++	if (edgecolor.ok) edgecolor = [edgecolor.r/255.0, edgecolor.g/255.0, edgecolor.b/255.0, 1.0];
++	else throw Error(sprintf("s%s%s\n","initWebGL error message: cound not find out edgecolor color for curent canvas ", canvas));
+ 
+-				var xyz = vec3.create();
+-				var direction = vec3.create();
+-				var vertex = vec3.create();
+-				var magnitude;
++	//{{{ node plot
++	if (elements[0].length==6){ //prisms
++	}
++	else if (elements[0].length==4){ //tetras
++	}
++	else{ //2D triangular elements
++		var xyz = vec3.create();
++		var xyz = vec3.create();
++		var direction = vec3.create();
++		var vertex = vec3.create();
++		var vertexBase = vec3.create();
++		var verticesArrow = [vec3.fromValues(0.0, 0.0, 0.0), vec3.fromValues(1.0, 0.0, 0.0), vec3.fromValues(0.667, -0.167, 0.0), vec3.fromValues(1.0, 0.0, 0.0), vec3.fromValues(0.667, 0.166, 0.0), vec3.fromValues(1.0, 0.0, 0.0)];
++		var magnitude;
++		var color = edgecolor;
++		var scaling = options.getfieldvalue('scaling', 1);
++		var scale;
++		for(var i = 0; i < x.length; i++){
++			//Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
++			if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i])) continue;
++			//Scale vertices
++			xyz = vec3.fromValues(x[i], y[i], z[i]);
++			magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
++			vec3.normalize(direction, xyz);
++			vec3.scale(vertex, direction, magnitude);
++			vec3.copy(vertexBase, vertex);
++			
++			scale = scaling*v[i];
++			var modelMatrix = mat4.create();
++			var scaleMatrix = mat4.create();
++			var rotationMatrix = mat4.create();
++			mat4.scale(scaleMatrix, scaleMatrix, vec3.fromValues(scale, scale, scale));
++			mat4.rotate(rotationMatrix, rotationMatrix, Math.atan2(vy[i], vx[i]), [0.0, 0.0, 1.0]);
++			mat4.multiply(modelMatrix, rotationMatrix, scaleMatrix);
+ 
+-				for(var i = 0, vindex = 0, tindex = 0; i < x.length; i++){
+-					//Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
+-					if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i]) || isNaN(data[i])) {
+-						nanindices[i] = i;
+-						vertices[vindex++] = vertex[0];
+-						vertices[vindex++] = vertex[1];
+-						vertices[vindex++] = vertex[2];
+-						
+-						texcoords[tindex++] = 0.5;
+-						texcoords[tindex++] = 0.0;
+-						continue;
+-					}
+-
+-					//Scale vertices
+-					xyz = vec3.fromValues(x[i], y[i], z[i]);
+-					magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
+-					vec3.normalize(direction, xyz);
+-					vec3.scale(vertex, direction, magnitude);
+-					vertices[vindex++] = vertex[0];
+-					vertices[vindex++] = vertex[1];
+-					vertices[vindex++] = vertex[2];
+-
+-					texcoords[tindex++] = 0.5;
+-					texcoords[tindex++] = clamp((data[i] - datamin) / datadelta, 0.0, 1.0);
+-				}
+-
+-				//linearize the elements array: 
+-				var element;
+-				for(var i = 0, iindex = 0; i < elements.length; i++){
+-					element = [elements[i][0] - 1, elements[i][1] - 1, elements[i][2] - 1];
+-					if (element[0] in nanindices || element[1] in nanindices || element[2] in nanindices) continue;
+-					indices[iindex++] = element[0];
+-					indices[iindex++] = element[1];
+-					indices[iindex++] = element[2];
+-				}
+-			}
+-			node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords, triangles:indices}, null, null, gl);
+-			node.mesh.octree = new GL.Octree(node.mesh);
+-			break;
+-		//}}}
+-		//quiver plot {{{
+-		case 3:
+-			if (is2d){
+-				//plot_quiver(x,y,data(:,1),data(:,2),options);
+-			}
+-			else{
+-				//plot_quiver3(x,y,z,data(:,1),data(:,2),data(:,3),options);
+-			}
+-			break;
+-		//}}}
+-		//node transient plot {{{
+-		case 5:
+-			if (elements[0].length==6){ //prisms
+-			}
+-			else if (elements[0].length==4){//tetras
+-			}
+-			else{ //triangular elements
+-				var xyz = vec3.create();
+-				var direction = vec3.create();
+-				var vertex = vec3.create();
+-				var magnitude;
+-				var timestamps = data[data.length-1];
+-				for(var i = 0, vindex = 0, tindex = 0; i < x.length; i++){
+-					//Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
+-					if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i]) || isNaN(data[i][0])) {
+-						nanindices[i] = i;
+-					}
+-					else {
+-						//Scale vertices
+-						xyz = vec3.fromValues(x[i], y[i], z[i]);
+-						magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
+-						vec3.normalize(direction, xyz);
+-						vec3.scale(vertex, direction, magnitude);
+-					}
+-					vertices[vindex++] = vertex[0];
+-					vertices[vindex++] = vertex[1];
+-					vertices[vindex++] = vertex[2];
+-				}	
+-				//Transpose data to obtain column addressable data matrix
+-				data = data[0].map(function(col, i) { 
+-					return data.map(function(row) { 
+-						return row[i]
+-					})
+-				});
+-				//Prevent evaluation of datasubarray min/max if caxis exists
+-				if (options.exist('caxis')) caxis = options.getfieldvalue('caxis');
+-				else caxis = [ArrayMin(data[0]),ArrayMax(data[0].slice(0,-1))];
+-				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10)),Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log',10))];
+-				//Prepare texcoords to hold array of data values
+-				texcoords = [];
+-				for(var i = 0; i < data.length; i++){					
+-					datamin = caxis[0];
+-					datamax = caxis[1];
+-					datadelta = datamax - datamin;
+-					//Precalculate arrays for each datasubarray, trimming off timestamp value by using x.length instead of data[i].length
+-					texcoords[i] = new Float32Array(x.length * 2);
+-					for(var j = 0, index = 0; j < x.length; j++){
+-						texcoords[i][index++] = 0.5;
+-						texcoords[i][index++] = clamp((data[i][j] - datamin) / datadelta, 0.0, 1.0);
+-					}
+-				}
++			var temp = vec3.fromValues(0.0, 0.0, 0.0);
++			for (var j = 0; j < 6; j++){
++				vec3.transformMat4(vertex, verticesArrow[j], modelMatrix);
++				vec3.add(vertex, vertex, vertexBase);
++				vertices[vertices.length] = vertex[0];
++				vertices[vertices.length] = vertex[1];
++				vertices[vertices.length] = vertex[2];
+ 				
+-				//linearize the elements array:
+-				var element;
+-				for(var i = 0, iindex = 0; i < elements.length; i++){
+-					element = [elements[i][0] - 1, elements[i][1] - 1, elements[i][2] - 1];
+-					if (element[0] in nanindices || element[1] in nanindices || element[2] in nanindices) continue;
+-					indices[iindex++] = element[0];
+-					indices[iindex++] = element[1];
+-					indices[iindex++] = element[2];
+-				}
+-				var frame =
+-				//Initialize movie loop
+-				node.movieLoop = canvas.movieOptions.loop;
+-				node.movieInterval = 1000 / canvas.movieOptions.fps;
+-				node.movieTimestamps = timestamps;
+-				node.movieLength = timestamps.length;
+-				node.movieFrame = 0;
+-
+-				var quiverVelFrames = {};
+-				for(var i=0; i < md.results.length; i++){
+-					quiverVelFrames[Math.floor(md.results[i].time)] = md.results[i];
+-				}
+-
+-				if (canvas.movieHandler) { clearInterval(canvas.movieHandler); }
+-				canvas.movieHandler = setInterval(function () {
+-						node.movieFrame = canvas.movieFrame;
+-						if (canvas.moviePlay && canvas.movieIncrement) {
+-							if (canvas.movieReverse) {
+-								if (node.movieFrame == 0) {
+-									if (node.movieLoop) {
+-										node.movieFrame = node.movieLength - 1;
+-									}
+-									else {
+-										toggleMoviePlay(canvas);
+-									}
+-								}
+-								else {
+-									node.movieFrame = node.movieFrame - 1;
+-								}
+-							}
+-							else { 
+-								if (node.movieFrame == node.movieLength - 1) {
+-									if (node.movieLoop) {
+-										node.movieFrame = 0;
+-									}
+-									else { 
+-										toggleMoviePlay(canvas);
+-									}
+-								}
+-								else {
+-									node.movieFrame = node.movieFrame + 1;
+-								}
+-							}
+-						}
+-						if (canvas.progressBar) {
+-							canvas.progressBar.val(node.movieFrame);
+-							canvas.progressBar.slider('refresh');
+-						}
+-						if (canvas.timeLabel) { canvas.timeLabel.html(node.movieTimestamps[node.movieFrame].toFixed(0) + " " + options.getfieldvalue("movietimeunit","yr")); }
+-
+-						var buffer = node.mesh.getBuffer("coords");
+-						buffer.data = texcoords[node.movieFrame];
+-						buffer.upload(canvas.gl.DYNAMIC_DRAW);
+-						node.mesh.octree = new GL.Octree(node.mesh);
+-					
+-						if(options.getfieldvalue('quiver') == 'data'){
+-							plot_quiver(md,options,canvas, {vel:quiverVelFrames[node.movieFrame].Vel, vx:quiverVelFrames[node.movieFrame].Vx, vy:quiverVelFrames[node.movieFrame].Vy});
+-
+-						}
+-						canvas.movieFrame = node.movieFrame;
+-					}, node.movieInterval);
+-				if (canvas.progressBar) {
+-					canvas.movieFrame = 0;
+-					canvas.progressBar.val(0);
+-					canvas.progressBar.attr('max', node.movieLength-1);
+-					canvas.progressBar.slider('refresh');
+-				}
+-				
++				colors[colors.length] = color[0];
++				colors[colors.length] = color[1];
++				colors[colors.length] = color[2];
++				colors[colors.length] = color[3];
+ 			}
+-			node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords[0], triangles:indices}, null, null, gl);
+-			node.mesh.octree = new GL.Octree(node.mesh);
+-			break;
+-		//}}}
+-		default:
+-			throw Error(sprintf("%s%i%s\n",'case ',datatype,' not supported'));
++		}
+ 	}
++	//}}}
++	node.mesh = GL.Mesh.load({vertices: vertices, colors: colors}, null, null, gl);
+ } //}}}
+Index: ../trunk-jpl/src/m/plot/slider.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/slider.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/slider.js	(revision 21683)
+@@ -62,12 +62,7 @@
+ 	$(selector).on('slidestop', function(event, ui){
+ 		callback(parseFloat($(selector).val()));
+ 	});
+-
+-	/*
+-		NOTE:	Slider must be "refreshed" after any JavaScript change to it, as
+-				it is an AJAX object.
+-	*/
+-	$(selector).slider('refresh');
++	$(selector).slider('refresh'); //Slider must be "refreshed" after any JavaScript change to it, as it is an AJAX object.
+ } //}}}
+ 
+ function sliderMoveInput(selector){ //{{{
+@@ -88,12 +83,7 @@
+ 			call to this function to work as expected.
+ 	*/
+ 	$(selector).appendTo(selector + '-value');
+-	
+-	/*
+-		NOTE:	Slider must be "refreshed" after any JavaScript change to it, as
+-				it is an AJAX object.
+-	*/
+-	$(selector).slider('refresh');
++	$(selector).slider('refresh'); //Slider must be "refreshed" after any JavaScript change to it, as it is an AJAX object.
+ } //}}}
+ 
+ function progressInit(){ //{{{
+@@ -129,38 +119,22 @@
+ 	$(progressBar).attr('min', 0);
+ 	$(progressBar).attr('max', 1);
+ 	$(progressBar).attr('step', 1);
+-	$(progressBar).on('slidestop', function(event, ui){
+-		canvas.movieIncrement = true;
+-		canvas.movieFrame = parseInt($(progressBar).val());
++	$(progressBar).on('slidestart', function(event, ui){
++		onSlideStart(canvas, progressBar);
+ 	});
+ 	$(progressBar).on('change', function(event, ui){
+-		canvas.movieFrame = parseInt($(progressBar).val());
++		onSlideChange(canvas, progressBar);
+ 	});
+-	$(progressBar).on('slidestart', function(event, ui){
+-		canvas.movieIncrement = false;	
+-		canvas.movieFrame = parseInt($(progressBar).val());
++	$(progressBar).on('slidestop', function(event, ui){
++		onSlideStop(canvas, progressBar);
+ 	});
++	$(progressBar).slider('refresh'); //Slider must be "refreshed" after any JavaScript change to it, as it is an AJAX object.	
+ 
+-	/*
+-		NOTE:	Slider must be "refreshed" after any JavaScript change to it, as
+-				it is an AJAX object.
+-	*/
+-	$(progressBar).slider('refresh');
+-	
+-	// Attach progress bar slider to simulation.
+-	canvas.progressBar = progressBar;
+-
+ 	playButton.click(function(){
+-		canvas.moviePlay = !canvas.moviePlay;
+-		if (canvas.moviePlay){
+-			playButton.find("span").removeClass("fa-play");
+-			playButton.find("span").addClass("fa-pause");
+-		}
+-		else{
+-			playButton.find("span").removeClass("fa-pause");
+-			playButton.find("span").addClass("fa-play");
+-		}
++		toggleMoviePlay(canvas);
+ 	});
+ 	
++	canvas.progressBar = progressBar;
++	canvas.playButton = playButton;
+ 	canvas.timeLabel = timeText;
+ } //}}}
+Index: ../trunk-jpl/src/m/plot/plot_mesh.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_mesh.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/plot_mesh.js	(revision 21683)
+@@ -1,23 +1,23 @@
+-function plot_mesh(md,options,canvas) { //{{{
++function plot_mesh(md, options, canvas) { //{{{
+ 	//PLOT_MESH - Function for plotting wireframe mesh.
+ 	//
+ 	//   Usage:
+-	//      plot_mesh(md,options,canvas);
++	//      plot_mesh(md, options, canvas);
+ 	//
+ 	//   See also: PLOTMODEL, PLOT_MANAGER
+ 
+-	//declare variables:  {{{
++	//{{{ declare variables:
+ 	var vertices = [];
+ 	var indices = [];
+ 	var colors = [];
+ 	var nanindices = {};
+-	var xmin,xmax;
+-	var ymin,ymax;
+-	var zmin,zmax;
+-	var scale,matrixscale,vertexscale;
++	var xmin, xmax;
++	var ymin, ymax;
++	var zmin, zmax;
++	var scale, matrixscale, vertexscale;
+ 	
+ 	//Process data and model
+-	var meshresults = processmesh(md,[],options);
++	var meshresults = processmesh(md,[], options);
+ 	var x = meshresults[0]; 
+ 	var y = meshresults[1]; 
+ 	var z = meshresults[2]; 
+@@ -27,28 +27,28 @@
+ 		
+ 	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
+ 	if (!md.geometry.surface) {
+-		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
++		md.geometry.surface=NewArrayFill(md.mesh.x.length, 0);
+ 	}
+ 	if (md.mesh.classname() == 'mesh3dsurface') {
+ 		matrixscale = 1;
+-		vertexscale = options.getfieldvalue('heightscale',1);
++		vertexscale = options.getfieldvalue('heightscale', 1);
+ 	}
+ 	else {
+ 		if (md.geometry.surface) {
+ 			z=md.geometry.surface;
+ 		}	
+-		matrixscale = options.getfieldvalue('heightscale',1);
++		matrixscale = options.getfieldvalue('heightscale', 1);
+ 		vertexscale = 0;
+ 	}
+ 	//}}}
+ 
+ 	//Compute coordinates and data range:
+-	var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-	var modelylim = [ArrayMin(y),ArrayMax(y)];
+-	var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-	var xlim = options.getfieldvalue('xlim',modelxlim);
+-	var ylim = options.getfieldvalue('ylim',modelylim);
+-	var zlim = options.getfieldvalue('zlim',modelzlim);
++	var modelxlim = [ArrayMin(x), ArrayMax(x)];
++	var modelylim = [ArrayMin(y), ArrayMax(y)];
++	var modelzlim = [ArrayMin(z), ArrayMax(z)];
++	var xlim = options.getfieldvalue('xlim', modelxlim);
++	var ylim = options.getfieldvalue('ylim', modelylim);
++	var zlim = options.getfieldvalue('zlim', modelzlim);
+ 	xmin = xlim[0];
+ 	xmax = xlim[1];
+ 	ymin = ylim[0];
+@@ -64,7 +64,7 @@
+ 	node.name = "mesh";
+ 	node.shaderName = "Colored";
+ 	node.shader = gl.shaders[node.shaderName];
+-	node.lineWidth = options.getfieldvalue('linewidth',1);
++	node.lineWidth = options.getfieldvalue('linewidth', 1);
+ 	node.scale = [1, 1, matrixscale];
+ 	node.rotation = [-90, 0, 0];
+ 	node.translation = [0, 0, 0];
+@@ -72,16 +72,16 @@
+ 	node.drawMode = gl.LINES;
+ 	node.drawOrder = 0;
+ 	node.maskEnabled = options.getfieldvalue('innermask','off') == 'on';
+-	node.maskHeight = options.getfieldvalue('innermaskheight',150.0)*options.getfieldvalue('heightscale',1);
+-	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0,0.0,1.0,1.0]);
++	node.maskHeight = options.getfieldvalue('innermaskheight', 150.0)*options.getfieldvalue('heightscale', 1);
++	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0, 0.0, 1.0, 1.0]);
+ 	updateModelMatrix(node);
+ 
+ 	//retrieve some options
+ 	var edgecolor = new RGBColor(options.getfieldvalue('edgecolor','black'));
+ 	if (edgecolor.ok) edgecolor = [edgecolor.r/255.0, edgecolor.g/255.0, edgecolor.b/255.0, 1.0];
+-	else throw Error(sprintf("s%s%s\n","initWebGL error message: cound not find out edgecolor color for curent canvas ",canvas));
++	else throw Error(sprintf("s%s%s\n","initWebGL error message: cound not find out edgecolor color for curent canvas ", canvas));
+ 
+-	//node plot {{{
++	//{{{ node plot
+ 	if (elements[0].length==6){ //prisms
+ 	}
+ 	else if (elements[0].length==4){ //tetras
+@@ -135,5 +135,5 @@
+ 		}
+ 	}
+ 	//}}}
+-	node.mesh = GL.Mesh.load({vertices:vertices, colors:colors, triangles:indices}, null, null, gl);
++	node.mesh = GL.Mesh.load({vertices: vertices, colors: colors, triangles: indices}, null, null, gl);
+ } //}}}
+Index: ../trunk-jpl/src/m/plot/webgl.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/webgl.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/webgl.js	(revision 21683)
+@@ -1,126 +1,154 @@
+ /*This is where we have all our webgl relevant functionality for the plotting routines: */
+-
+-/*This is where we have all our webgl relevant functionality for the plotting routines: */
+-
+ //{{{ Canvas Initialization
+ function initCanvas(options) {
+-	//Initialize open Gl for each canvas, if needed: 
++	//Initialize open Gl for each canvas and clear any previous animation handlers, once per plotmodel call:
+ 	canvas = document.getElementById(options.getfieldvalue('canvasid'));
+ 	//var canvas = document.getElementById(options.getfieldvalue('canvasid'));
+ 	if (!canvas.initialized) {
+ 		typedArraySliceSupport();
+-		canvas.gl = initWebGL(canvas,options);
++		if (!isEmptyOrUndefined(canvas.draw) && canvas.draw.handler !== 0)	{ window.cancelAnimationFrame(canvas.draw.handler); }
++		if (!isEmptyOrUndefined(canvas.animation) && canvas.animation.handler !== 0) { clearInterval(canvas.animation.handler); }
++		initWebGL(canvas, options);
++		initializeMarker(canvas);
+ 		canvas.nodes = [];
+-		if (canvas.drawHandler)	{ window.cancelAnimationFrame(canvas.drawHandler); }
+-		draw(canvas,options);
++		draw(canvas);
+ 		canvas.initialized = true;
+ 	}
+ 	return canvas;
+ }
+-function initWebGL(canvas,options) { //{{{
++function initWebGL(canvas, options) { //{{{
++	//Initialize canvas.gl on page load, reusing gl context on additional runs
+ 	var gl;
+-	try {
+-		if (!canvas.gl) {
+-			gl = GL.create({canvas:canvas});
+-			// Enable depth testing
+-			gl.enable(gl.DEPTH_TEST);
+-			// Near things obscure far things
+-			gl.depthFunc(gl.LEQUAL);
+-			// Enable color blending/overlay
+-			gl.enable(gl.BLEND);
+-			// Enable face culling
+-			gl.enable(gl.CULL_FACE); 
+-			gl.cullFace(gl.FRONT);
+-			// Load shaders and store them in gl object
+-			gl.shaders = loadShaders(gl,options.getfieldvalue('rootpath','../../../js/'));
+-			
+-			// Add event listeners for canvas
+-			var displayview = options.getfieldvalue('displayview','off') == 'on';
+-			var displayzoom = options.getfieldvalue('displayzoom','off') == 'on';
+-			var mc = new Hammer.Manager(canvas);
+-			
+-			mc.add( new Hammer.Tap({ event: 'singletap' }) );
+-			mc.add(new Hammer.Pan({threshold:0, pointers:0}));
+-			mc.add(new Hammer.Pinch({threshold:0})).recognizeWith(mc.get('pan'));
+-			mc.on('singletap', function (ev) {onTap(ev,canvas);});
+-			mc.on('panstart panmove', function (ev) {onPan(ev,canvas,displayview);});
+-			mc.on('pinchstart pinchmove', function (ev) {onPinch(ev,canvas,displayview);});
+-			
+-			//canvas.addEventListener('mousemove', function (ev) {onTap(ev,canvas);}, false);
+-			canvas.addEventListener('mousewheel', function (ev) {onZoom(ev,canvas,displayzoom)}, false);
+-			canvas.addEventListener('DOMMouseScroll', function (ev) {onZoom(ev,canvas,displayzoom)}, false);
+-		}
+-		else {
+-			gl = canvas.gl;
+-		}
++	if (!canvas.gl) {
++		gl = GL.create({canvas: canvas});
++		gl.enable(gl.DEPTH_TEST); // Enable depth testing
++		gl.depthFunc(gl.LEQUAL); // Near things obscure far things
++		gl.enable(gl.BLEND); // Enable color blending/overlay
++		gl.enable(gl.CULL_FACE); // Enable face culling
++		gl.cullFace(gl.FRONT);
++		gl.shaders = loadShaders(gl, options.getfieldvalue('rootpath', '../../../js/')); // Load shaders and store them in gl object
++		gl.textures = {};
++		
++		// Add event listeners for canvas
++		var displayview = options.getfieldvalue('displayview', 'off') == 'on';
++		var displayzoom = options.getfieldvalue('displayzoom', 'off') == 'on';
++		var mc = new Hammer.Manager(canvas);
++		
++		mc.add( new Hammer.Tap({event: 'singletap' }) );
++		mc.add(new Hammer.Pan({threshold: 0, pointers: 0}));
++		mc.add(new Hammer.Pinch({threshold: 0})).recognizeWith(mc.get('pan'));
++		mc.on('singletap', function (ev) {onTap(ev, canvas);});
++		mc.on('panstart panmove', function (ev) {onPan(ev, canvas, displayview);});
++		mc.on('pinchstart pinchmove', function (ev) {onPinch(ev, canvas, displayview);});
++		
++		canvas.addEventListener('mousewheel', function (ev) {onZoom(ev, canvas, displayzoom)}, false);
++		canvas.addEventListener('DOMMouseScroll', function (ev) {onZoom(ev, canvas, displayzoom)}, false);
+ 	}
+-	catch(e) {
+-		console.log(e);
+-		return;
++	else {
++		gl = canvas.gl;
+ 	}
+ 	
+ 	// Add context state variables
+-	//TODO:Group variables in objects for organization and naming
+ 	canvas.gl = gl;
+-	canvas.rootPath = options.getfieldvalue('rootpath','../../../js/');
+-	canvas.brush = options.getfieldvalue('brush',{'enabled':'off','strength':0.075,'falloff':0.5});
+-	canvas.cameraPosition = vec3.create();
+-	canvas.cameraMatrix = mat4.create();
+-	canvas.controlSensitivity = options.getfieldvalue('controlsensitivity',1);
+-	canvas.dataArray = [];
+-	canvas.dataMarkersAllowed = options.getfieldvalue('datamarkers','off') == 'on';
+-	canvas.dataMarkersEnabled = true; //if data marker feature is on, user can toggle feature on and off
+-	canvas.dataMarkerImage = options.getfieldvalue('datamarkers_image',canvas.rootPath+'textures/data_marker.svg');
+-	canvas.dataMarkerSize = options.getfieldvalue('datamarkerssize',[32,32]);
+-	canvas.dataMarkerOptions = options.getfieldvalue('datamarkersoptions',{'enabled':'on','image':canvas.rootPath+'textures/data_marker.svg','size':[32,32],'format':['X: %.2e<br>Y: %.2e<br>Z: %.2e]<br>Value: %0.1f','x','y','z','value'],'animated':false});
+-	canvas.inverseCameraMatrix = mat4.create();
+-	canvas.id = options.getfieldvalue('canvasid','.sim-canvas');
+-	canvas.movieFrame = 0;
+-	canvas.moviePlay = true;
+-	canvas.movieReverse = false;
+-	canvas.movieIncrement = true;
+-	canvas.movieOptions = options.getfieldvalue('movieoptions',{'fps':4,'loop':true});
+-	canvas.moviefps = options.getfieldvalue('moviefps',5);
+-	canvas.rotation = options.getfieldvalue('view',[0,90]); //0 azimuth, 90 elevation
+-	canvas.rotationAzimuthBounds = options.getfieldvalue('azlim',[0,360]);
+-	canvas.rotationElevationBounds = options.getfieldvalue('ellim',[-180,180]);
+-	canvas.translation = options.getfieldvalue('origin',[0,0,0]);
+-	canvas.twod = options.getfieldvalue('2d','off') == 'on';
+-	canvas.view = options.getfieldvalue('view',[0,90]);
+-	canvas.viewPanning = options.getfieldvalue('enablepanning','off') == 'on';
+-	canvas.vInverseMatrix = mat4.create();
+-	canvas.zoomBounds = options.getfieldvalue('zoomlim',[0.001,100.0]);
+-	canvas.zoom = clamp(options.getfieldvalue('zoom',1.0), canvas.zoomBounds[0], canvas.zoomBounds[1]);
+-	canvas.zoomLast = canvas.zoom;
+-	var backgroundcolor = new RGBColor(options.getfieldvalue('backgroundcolor','lightcyan'));
++	canvas.textcanvas = null;
++	canvas.overlaycanvas = null;
++	canvas.unitNode = {};
++	canvas.unitData = {};
++	canvas.controlSensitivity = options.getfieldvalue('controlsensitivity', 1);
++	canvas.id = options.getfieldvalue('canvasid', '.sim-canvas');
++	canvas.rootPath = options.getfieldvalue('rootpath', '../../../js/');
++	canvas.selector = $('#' + canvas.id);
++	var backgroundcolor = new RGBColor(options.getfieldvalue('backgroundcolor', 'lightcyan'));
+ 	if (backgroundcolor.ok) { canvas.backgroundcolor = [backgroundcolor.r/255.0, backgroundcolor.g/255.0, backgroundcolor.b/255.0, 1.0]; }
+-	else { throw Error(sprintf('s%s%s\n','initWebGL error message: cound not find out background color for curent canvas ',canvas)); }
++	else { throw Error(sprintf('s%s%s\n','initWebGL error message: cound not find out background color for curent canvas ', canvas)); }
++	
++	//Property intiialization, using values from options first, then from default values.
++	var animation = options.getfieldvalue('movies', {});
++	canvas.animation = {
++		frame: defaultFor(animation.frame, 0),
++		play: defaultFor(animation.play, true),
++		increment: defaultFor(animation.increment, true),
++		fps: defaultFor(animation.fps, 4),
++		loop: defaultFor(animation.loop, true),
++		handler: defaultFor(animation.handler, 0)
++	}
++	var brush = options.getfieldvalue('brush', {});
++	canvas.brush = {
++		enabled: defaultFor(brush.enabled, false),
++		strength: defaultFor(brush.strength, 0.075),
++		falloff: defaultFor(brush.falloff, 0.5),
++		hit: defaultFor(brush.hit, {})
++	};
++	var camera = options.getfieldvalue('camera', {});
++	canvas.camera = {
++		position: defaultFor(camera.position, vec3.create()),
++		rotation: defaultFor(camera.rotation, vec3.create()),
++		near: defaultFor(camera.near, 1e3),
++		far: defaultFor(camera.far, 1e10),
++		fov: defaultFor(camera.fov, 45),
++		vMatrix: defaultFor(camera.vMatrix, mat4.create()),
++		pMatrix: defaultFor(camera.pMatrix, mat4.create()),
++		vpMatrix: defaultFor(camera.vpMatrix, mat4.create()),
++		vInverseMatrix: defaultFor(camera.vInverseMatrix, mat4.create()),
++		pInverseMatrix: defaultFor(camera.pInverseMatrix, mat4.create()),
++		vpInverseMatrix: defaultFor(camera.vpInverseMatrix, mat4.create()),
++		ready: defaultFor(camera.ready, false)
++	};
++	var clouds = options.getfieldvalue('clouds', {});
++	canvas.clouds = {
++		enabled: defaultFor(clouds.enabled, false),
++		height: defaultFor(clouds.height, 7500),
++		quantity: defaultFor(clouds.quantity, 10)
++	};
++	var dataMarkers = options.getfieldvalue('datamarkers', {});
++	canvas.dataMarkers = {
++		enabled: defaultFor(dataMarkers.enabled, true),
++		values: defaultFor(dataMarkers.values, []),
++		image: defaultFor(dataMarkers.image, canvas.rootPath+'textures/data_marker.svg'),
++		size: defaultFor(dataMarkers.size, [32, 32]),
++		format: defaultFor(dataMarkers.format, ['X: %.2e<br>Y: %.2e<br>Z: %.2e<br>Value: %0.1f', 'x', 'y', 'z', 'value']),
++		animated: defaultFor(dataMarkers.animated, false),
++		labels: defaultFor(dataMarkers.labels, []),
++		font: defaultFor(dataMarkers.font, ''),
++		marker: defaultFor(dataMarkers.marker, document.getElementById('sim-data-marker-' + canvas.id))
++	};
++	var draw = options.getfieldvalue('draw', {});
++	canvas.draw = {
++		ready: defaultFor(draw.ready, false),
++		handler: defaultFor(draw.handler, null)
++	};
++	var view = options.getfieldvalue('view', {});
++	canvas.view = {
++		position: defaultFor(view.position, [0.0, 0.0, 0.0]),
++		rotation: defaultFor(view.rotation, [0, 90]),
++		zoom: defaultFor(view.zoom, 1.0),
++		zoomLimits: defaultFor(view.zoomLimits, [0.001, 100.0]),
++		lastZoom: defaultFor(view.lastZoom, 1.0),
++		azimuthLimits: defaultFor(view.azimuthLimits, [0, 360]),
++		elevationLimits: defaultFor(view.elevationLimits, [-180, 180]),
++		panningEnabled: defaultFor(view.panningEnabled, false),
++		twod: defaultFor(view.twod, false)
++	};
+ 
++	//Override with parameters from URL, if any
+ 	//TODO: Make permalinks more robust and less interdependent on UI
+-	//Override with parameters from URL, if any
+ 	if (!canvas.usedparemters) {
+ 		function getJsonFromUrl() {
+ 			var query = location.search.substr(1);
+ 			var result = {};
+-			query.split("&").forEach(function(part) {
+-				var item = part.split("=");
++			query.split('&').forEach(function(part) {
++				var item = part.split('=');
+ 				result[item[0]] = decodeURIComponent(item[1]);
+ 			});
+ 			return result;
+ 		}
+ 		parameters = getJsonFromUrl();
+ 		
+-		if (parameters["rotation"]) {
+-			canvas.rotation = JSON.parse(parameters["rotation"]);
++		if (parameters['view']) {
++			canvas.view = JSON.parse(parameters['view']);
+ 		}
+-		if (parameters["view"]) {
+-			canvas.view = JSON.parse(parameters["view"]);
+-		}
+-		if (parameters["zoom"]) {
+-			canvas.zoom = JSON.parse(parameters["zoom"]);
+-		}
+-		if (parameters["initial"]) {
+-			initial = JSON.parse(parameters["initial"]);
++		if (parameters['initial']) {
++			initial = JSON.parse(parameters['initial']);
+ 			if (!initial) {
+ 				if (typeof SolveGlacier == 'function') {
+ 					SolveGlacier();
+@@ -132,59 +160,62 @@
+ 		}
+ 		canvas.usedparemters = true;
+ 	}
+-
+-	return gl;
+ } //}}}
+ function generatePermalink() { //{{{
+-	var permalink = window.location.origin + window.location.pathname + "?rotation=" + JSON.stringify(canvas.rotation) + "&view=" + JSON.stringify(canvas.view) + "&zoom=" + JSON.stringify(canvas.zoom) + "&initial=" + JSON.stringify(initial);
+-	window.prompt("Share this simulation: ", permalink);
++	var permalink = window.location.origin + window.location.pathname + '&view=' + JSON.stringify(canvas.view) + '&initial=' + JSON.stringify(initial);
++	window.prompt('Share this simulation: ', permalink);
+ } //}}}
+-function loadShaders(gl,rootPath) { //{{{
++function loadShaders(gl, rootPath) { //{{{
+ 	var shaders = {};
+ 	shaders.Colored = new GL.Shader.fromURL(rootPath+'shaders/Colored.vsh', rootPath+'shaders/Colored.fsh', null, gl);
+ 	shaders.Textured = new GL.Shader.fromURL(rootPath+'shaders/Textured.vsh', rootPath+'shaders/Textured.fsh', null, gl);
+ 	shaders.SkyFromSpace = new GL.Shader.fromURL(rootPath+'shaders/SkyFromSpace.vert', rootPath+'shaders/SkyFromSpace.frag', null, gl);
+ 	shaders.GroundFromSpace = new GL.Shader.fromURL(rootPath+'shaders/GroundFromSpace.vert', rootPath+'shaders/GroundFromSpace.frag', null, gl);
++	shaders.Clouds = new GL.Shader.fromURL(rootPath+'shaders/Clouds.vert', rootPath+'shaders/Clouds.frag', null, gl);
+ 	return shaders;
+ } //}}}
+-function initTexture(gl,imageSource) { //{{{
+-	return GL.Texture.fromURL(imageSource, {minFilter:gl.LINEAR_MIPMAP_LINEAR, magFilter:gl.LINEAR}, null, gl);
++function initTexture(gl, imageSource) { //{{{
++	//Initialize textures, or load from memory if they already exist.
++	if (isEmptyOrUndefined(gl.textures[imageSource])) {
++		gl.textures[imageSource] = GL.Texture.fromURL(imageSource, {minFilter: gl.LINEAR_MIPMAP_LINEAR, magFilter: gl.LINEAR}, null, gl);
++	}
++	return gl.textures[imageSource];
+ } //}}}
+ function Node(gl) { //{{{
+ 	//Returns a Node object that contains default display states for webgl object. center represents pivot point of rotation.
+ 	return {
+-		alpha:1.0,
+-		buffers:[],
+-		cullFace:gl.BACK,
+-		disableDepthTest:false, 
+-		drawMode:gl.TRIANGLES,
+-		drawOrder:0,
+-		enabled:true,
+-		enableCullFace:true,
+-		hideOcean:false,
+-		lineWidth:1.0,
+-		maskEnabled:false,
+-		maskHeight:150.0,
+-		maskColor:vec4.fromValues(0.0, 0.0, 1.0, 1.0),
+-		mesh:null,
+-		name:'node',
+-		shaderName:'Colored',
+-		shader:gl.shaders.Colored,
+-		texture:null,
+-		useIndexBuffer:true,
+-		center:vec3.create(), 
+-		scale:vec3.fromValues(1, 1, 1),
+-		rotation:vec3.create(),
+-		translation:vec3.create(),
+-		modelMatrix:mat4.create(),
+-		rotationMatrix:mat4.create(),
+-		inverseModelMatrix:mat4.create(),
+-		inverseRotationMatrix:mat4.create()
++		alpha: 1.0,
++		buffers: [],
++		cullFace: gl.BACK,
++		disableDepthTest: false, 
++		drawMode: gl.TRIANGLES,
++		drawOrder: 0,
++		enabled: true,
++		enableCullFace: true,
++		hideOcean: false,
++		lineWidth: 1.0,
++		maskEnabled: false,
++		maskHeight: 150.0,
++		maskColor: vec4.fromValues(0.0, 0.0, 1.0, 1.0),
++		mesh: null,
++		name: 'node',
++		shaderName: 'Colored',
++		shader: gl.shaders.Colored,
++		texture: null,
++		useIndexBuffer: true,
++		center: vec3.create(), 
++		scale: vec3.fromValues(1, 1, 1),
++		rotation: vec3.create(),
++		translation: vec3.create(),
++		modelMatrix: mat4.create(),
++		rotationMatrix: mat4.create(),
++		inverseModelMatrix: mat4.create(),
++		inverseRotationMatrix: mat4.create()
+ 	};
+ } //}}}
+ function debugNodes(canvasid) { //{{{
+ 	var canvasid = canvasid || '.sim-canvas';
+-	var nodes = $(canvasid)[0].nodes;
++	var nodes = document.getElementById(canvasid).nodes;
+ 	console.log(canvasid, 'Nodes:');
+ 	for (var node in nodes) {
+ 		console.log('name: ', nodes[node].name, ' node: ', nodes[node], ' mesh: ', nodes[node].mesh, ' translation: ', nodes[node].translation, ' center:', nodes[node].center, ' rotation:', nodes[node].rotation);
+@@ -195,7 +226,7 @@
+ 	var modelMatrix = mat4.create();
+ 
+ 	var translationMatrix = mat4.create();
+-	mat4.translate(translationMatrix, translationMatrix, [-node.center[0],-node.center[1],-node.center[2]]); //scale/rotation centering
++	mat4.translate(translationMatrix, translationMatrix, vec3.negate(vec3.create(), node.center)); //scale/rotation centering
+ 	mat4.multiply(modelMatrix, translationMatrix, modelMatrix);
+ 	
+ 	var scaleMatrix = mat4.create();
+@@ -225,16 +256,27 @@
+ 	node.modelMatrix = modelMatrix;
+ 	node.inverseModelMatrix = mat4.invert(mat4.create(), modelMatrix);
+ 	node.rotationMatrix = rotationMatrix;
+-	node.inverseRotationMatrix = mat4.invert(mat4.create(), rotationMatrix);;
++	node.inverseRotationMatrix = mat4.invert(mat4.create(), rotationMatrix);
+ } //}}}
+ function clamp(value, min, max) { //{{{
+ 	return Math.max(min, Math.min(value, max));
+ } //}}}
+-function recover(canvasid,name,defaultvalue) { //{{{
+-	var canvas = document.getElementById(canvasid);
+-	if (canvas && canvas.hasOwnProperty(name)) { return canvas[name]; }
+-	return defaultvalue;
++function defaultFor(name, value) { //{{{
++	return typeof name !== 'undefined' ? name : value;
+ } //}}}
++function isEmptyOrUndefined(object) { //{{{
++	return object === undefined || Object.getOwnPropertyNames(object).length === 0;
++} //}}}
++function recover(canvasid, name, value) { //{{{
++	//Traverse canvas object tree for property defined by dot delimited string, returning it, or a default value if it is not found.
++	var object = document.getElementById(canvasid);
++	var properties = name.split('.');
++	for (var i = 0; i < properties.length; ++i) {
++		object = object[properties[i]];
++		if (typeof object === 'undefined') { break; }
++    }
++	return defaultFor(object, value);
++} //}}}
+ function typedArraySliceSupport() { //{{{
+ 	//TypedArray compatibility for Safari/IE
+ 	if (typeof Int8Array !== 'undefined') {
+@@ -278,14 +320,128 @@
+ 		if (!TypedArray.prototype.slice) { TypedArray.prototype.slice = Array.prototype.slice; }
+ 	}
+ } //}}}
++//}}}
++//{{{ Interface Functions
++function onTap(ev, canvas) { //{{{
++	//Sets up a marker on a canvas that will track a point on the mesh. Can be dismissed by closing the display or clicking the marker.
++	ev.preventDefault();
++	if (!canvas.dataMarkers.enabled) { return; }
++	var hit = raycast(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY);
++	canvas.dataMarkers.marker.hit = hit;
++	canvas.brush.hit = hit;
++	updateMarker(canvas, true);
++	brushModify(canvas);
++} //}}}
++function onPan(ev, canvas, displaylog) { //{{{
++	ev.preventDefault();
++	
++	if (canvas.dataMarkers.enabled == 'on') {
++		canvas.brush.hit = raycast(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY);
++		brushModify(canvas);
++	}
++	
++	if (ev.type == 'panstart') {
++		canvas.lastDeltaX = 0;
++		canvas.lastDeltaY = 0;
++	}
++	if (ev.srcEvent.shiftKey || ev.pointers.length == 2) {
++		if (!canvas.view.panningEnabled) return;
++		var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.view.zoom * 2 * canvas.controlSensitivity * 6.371e6;
++		var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.view.zoom * 2 * canvas.controlSensitivity * 6.371e6;
++		
++		if (canvas.view.twod) {
++			canvas.view.position[0] += Math.cos(DEG2RAD * canvas.view.rotation[0]) * deltaX - Math.sin(DEG2RAD * 0) * deltaY;
++			canvas.view.position[2] += Math.sin(DEG2RAD * canvas.view.rotation[0]) * deltaX + Math.cos(DEG2RAD * 0) * deltaY;
++		}
++		else {
++			canvas.view.position[0] += Math.cos(DEG2RAD * canvas.view.rotation[0]) * deltaX - Math.sin(DEG2RAD * canvas.view.rotation[0]) * deltaY;
++			canvas.view.position[2] += Math.sin(DEG2RAD * canvas.view.rotation[0]) * deltaX + Math.cos(DEG2RAD * canvas.view.rotation[0]) * deltaY;
++		}
++	}
++	
++	else {
++		canvas.view.rotation[0] += (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth * -2 * canvas.controlSensitivity * RAD2DEG;
++		canvas.view.rotation[1] += (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight * -2 * canvas.controlSensitivity * RAD2DEG;
++		
++		if (canvas.view.rotation[0] > 360) { canvas.view.rotation[0] -= 360; };
++		if (canvas.view.rotation[0] < -360) { canvas.view.rotation[0] += 360; };
++		if (canvas.view.rotation[1] > 180) { canvas.view.rotation[1] -= 360; };
++		if (canvas.view.rotation[1] < -180) { canvas.view.rotation[1] += 360; };
++		
++		canvas.view.rotation[0] = clamp(canvas.view.rotation[0], canvas.view.azimuthLimits[0], canvas.view.azimuthLimits[1]);
++		canvas.view.rotation[1] = clamp(canvas.view.rotation[1], canvas.view.elevationLimits[0], canvas.view.elevationLimits[1])
++	}
++	canvas.lastDeltaX = ev.deltaX;
++	canvas.lastDeltaY = ev.deltaY;
++	
++	repositionMarker(canvas);
++	
++	if (displaylog) { console.log(canvas.view.rotation); }
++} //}}}
++function onPinch(ev, canvas, displaylog) { //{{{
++	ev.preventDefault();
++	if (ev.type == 'pinchstart') { canvas.view.lastZoom = canvas.view.zoom; }
++	else { modifyZoom(ev.scale * canvas.view.lastZoom, canvas, displaylog); }
++} //}}}
++function onZoom(ev, canvas, displaylog) { //{{{
++	ev.preventDefault();
++	var delta = clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) * canvas.controlSensitivity * canvas.view.zoom / 20;
++	modifyZoom(canvas.view.zoom + delta, canvas, displaylog);
++} //}}}
++function modifyZoom(value, canvas, displaylog) { //{{{
++	canvas.view.zoom = clamp(value, canvas.view.zoomLimits[0], canvas.view.zoomLimits[1]);
++	repositionMarker(canvas);
++	if (displaylog) { console.log(canvas.view.zoom); }
++} //}}}
++function modifyDataMarkersEnabled(value, canvas) { //{{{
++	canvas.dataMarkers.enabled = value;
++} //}}}
++function toggleMoviePlay(canvas) { //{{{
++	canvas.animation.play = !canvas.animation.play;
++	if (canvas.animation.play){
++		canvas.playButton.find('span').removeClass('fa-play');
++		canvas.playButton.find('span').addClass('fa-pause');
++	}
++	else{
++		canvas.playButton.find('span').removeClass('fa-pause');
++		canvas.playButton.find('span').addClass('fa-play');
++	}
++} //}}}
++function onSlideStart(canvas, progressBar) { //{{{
++	if (!isEmptyOrUndefined(canvas.animation)) {
++		canvas.animation.increment = false;	
++		canvas.animation.frame = parseInt($(progressBar).val());
++		//console.log(canvas.animation.frame);
++		//updateMarker(canvas, false);
++	}
++} //}}}
++function onSlideChange(canvas, progressBar) { //{{{
++	if (!isEmptyOrUndefined(canvas.animation)) {
++		canvas.animation.frame = parseInt($(progressBar).val());
++		//console.log("change");
++		updateMarker(canvas, false);
++	}
++} //}}}
++function onSlideStop(canvas, progressBar) { //{{{
++	if (!isEmptyOrUndefined(canvas.animation)) {
++		canvas.animation.increment = true;	
++		canvas.animation.frame = parseInt($(progressBar).val());
++		//console.log(canvas.animation.frame);
++		//updateMarker(canvas, false);
++	}
++} //}}}
++//}}}
++//{{{ Interaction Functions
+ function raycast(canvas, x, y) { //{{{
+-	var inverseMVPMatrix = mat4.invert(mat4.create(), mat4.multiply(mat4.create(), canvas.cameraMatrix, canvas.unitNode.modelMatrix));
+-	var origin = origin || vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 0], inverseMVPMatrix);
++	//Performs raycast on canvas.unitNode.mesh using x/y screen coordinates. Returns hit objects with hit position, coords, and indicies of ray-triangle intersection.
++	//TODO: Diagnose marker issues with orthographic views and slr-eustatic updates when switching between basins.
++	var inverseMVPMatrix = mat4.invert(mat4.create(), mat4.multiply(mat4.create(), canvas.camera.vpMatrix, canvas.unitNode.modelMatrix));
++	var origin = vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 0], inverseMVPMatrix);
+ 	var far = far || vec3.transformMat4(vec3.create(), [(x - canvas.width / 2) / (canvas.width / 2), (canvas.height / 2 - y) / (canvas.height / 2), 1.0], inverseMVPMatrix);
+ 	var ray = vec3.subtract(vec3.create(), far, origin);
+ 
+ 	var mesh = canvas.unitNode.mesh;
+-	if (!mesh || mesh.ready == false) { return; }
++	if (!mesh) { return; }
+ 	if (!mesh.octree) { mesh.octree = new GL.Octree(mesh); }
+ 	
+ 	var hit = mesh.octree.testRay(origin, ray, 1e3, 1e10);
+@@ -298,27 +454,18 @@
+ 
+ 	return hit;
+ } //}}}
+-//}}}
+-//{{{ Interface Functions
+-function onTap(ev, canvas) { //{{{
+-	//Sets up a marker on a canvas that will track a point on the mesh. Can be dismissed by closing the display or clicking the marker.
+-	ev.preventDefault();
+-	if (!(canvas.dataMarkersAllowed && canvas.dataMarkersEnabled)) { return; }
+-	initializeMarker(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY, true);
+-	brushModify(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY);
+-} //}}}
+-function brushModify(canvas, x, y) { //{{{
++function brushModify(canvas) { //{{{
+ 	//This function takes in the canvas and x/y coordinates, performing a raycast against the mesh, and modifies the mesh using a the canvas.brush.strength and canvas.brush.falloff properties.
+ 	//Currently the brush extends to the raycasted element and its immediate neighbors.
+ 	//TODO: Allow variable brush size/additional neighbors. Allow the function to work on multiple models (currently hardcoded to md model).
+ 	if (!canvas.unitNode || canvas.brush.enabled != 'on') { return; }
+ 	
+-	var hit = raycast(canvas, x, y);
++	var hit = canvas.brush.hit;
+ 
+ 	if (hit) {
+-		var bufferVertices = canvas.unitNode.mesh.getBuffer("vertices");
++		var bufferVertices = canvas.unitNode.mesh.getBuffer('vertices');
+ 		var vertices = bufferVertices.data;
+-		var bufferCoords = canvas.unitNode.mesh.getBuffer("coords");
++		var bufferCoords = canvas.unitNode.mesh.getBuffer('coords');
+ 		var coords = bufferCoords.data;
+ 
+ 		//Query nearby elements and store indicies of affected vertices using pregenerated vertexconnectivity list (from NodeConnectivity)
+@@ -360,85 +507,106 @@
+ 		bufferVertices.upload(canvas.gl.DYNAMIC_DRAW);
+ 		bufferCoords.upload(canvas.gl.DYNAMIC_DRAW);
+ 		canvas.unitNode.mesh.octree = new GL.Octree(canvas.unitNode.mesh);	
+-	}
+-}
+-function initializeMarker(canvas, x, y, reset, origin, far) { //{{{
+-	//Can be called by onTap to create/reuse a marker, or by the marker's update function. Origin and far are optional and only used by the update function for recreating the raycast.
+-	if (!canvas.unitNode) { return; }
+-
+-	var hit = raycast(canvas, x, y);
+-
+-	if (hit) {
+-		canvas.lastHit = hit;
+-		var dataMarkerSize = canvas.dataMarkerSize;
+-		if (!canvas.marker) {
+-			$('#' + canvas.id).after( '<img src=' + canvas.dataMarkerImage + ' alt="data marker" width="' + dataMarkerSize[0] + '" height="' + dataMarkerSize[1] + '" id="sim-data-marker-' + canvas.id + '" class="sim-data-marker noselect tooltip" data-tooltip-content="#tooltip-content-data-marker-' + canvas.id + '"></img><span id="tooltip-content-data-marker-' + canvas.id + '"></span>');
+-			$('#sim-data-marker-' + canvas.id).css({
+-				'position': 'absolute', 
+-				'left': (Math.round(x) - dataMarkerSize[0] / 2) + 'px', 
+-				'top': (Math.round(y) - dataMarkerSize[1]) + 'px', 
+-				'width': dataMarkerSize[0] + 'px', 
+-				'height': dataMarkerSize[1] + 'px',
+-				'pointer-events': 'all',
+-				'cursor': 'pointer',
+-				'display': 'none'
+-			});
+-			$('#sim-data-marker-' + canvas.id).tooltipster({
+-				contentAsHTML: 'true',
+-				animation: 'grow',
+-				maxWidth: 320,
+-				maxHeight: 320,
+-				zIndex: 1000,
+-				trigger: 'custom',
+-				triggerOpen: {
+-					mouseenter: false,
+-					originClick: true,
+-					touchstart: false
+-				},
+-				triggerClose: {
+-					mouseleave: false,
+-					originClick: true,
+-					touchleave: false
+-				},
+-			});
+-			canvas.marker = $('#sim-data-marker-' + canvas.id);
+-			canvas.marker.on('click touch', function () {
+-				canvas.marker.fadeOut(175);
+-				canvas.dataMarkerDisplay.tooltipster('close');
+-			});
+-			canvas.marker.fadeIn(175);
+-		}
+ 		
+-		canvas.marker.hit = hit;
+-
+-		if (!canvas.dataMarkerDisplay) {
+-			canvas.dataMarkerDisplay = $('#sim-data-marker-' + canvas.id);
+-			canvas.dataMarkerDisplay.tooltipster('open');
++		//Update clouds if rendered
++		//TODO: Steven, once you update the cloud generation in applyoptions.js, modify this code block to move the clouds as well. We'll want to move them individually later, but moving them all is ok for now.
++		for (var i = 0; i < canvas.clouds.quantity; i++) {
++			if (canvas.nodes['clouds' + i]) {
++				var v1 = vec3.fromValues(vertices[hit.indices[0] * 3], vertices[hit.indices[0] * 3 + 1], vertices[hit.indices[0] * 3 + 2]);
++				var v2 = vec3.fromValues(vertices[hit.indices[1] * 3], vertices[hit.indices[1] * 3 + 1], vertices[hit.indices[1] * 3 + 2]);
++				var v3 = vec3.fromValues(vertices[hit.indices[2] * 3], vertices[hit.indices[2] * 3 + 1], vertices[hit.indices[2] * 3 + 2]);
++				vec3.transformMat4(v1, v1, canvas.unitNode.modelMatrix);
++				vec3.transformMat4(v2, v2, canvas.unitNode.modelMatrix);
++				vec3.transformMat4(v3, v3, canvas.unitNode.modelMatrix);
++				var x  = (v1[0] + v2[0] + v3[0]) / 3 + Math.floor((Math.random() * (1 + 10000 - (-10000)) + (-10000)));
++				var y  = (v1[1] + v2[1] + v3[1]) / 3 + Math.floor((Math.random() * (1 + 10000 - (-10000)) + (-10000)));
++				var z  = (v1[2] + v2[2] + v3[2]) / 3;
++				canvas.nodes['clouds' + i].translation = [x, y + canvas.clouds.height, z];
++				updateModelMatrix(canvas.nodes['clouds' + i]);
++			}
+ 		}
+-
+-		updatePlot(true);
+-		repositionMarker();
+-		if (reset) { modifyDataMarkersEnabled(true,canvas); }
+ 	}
+ } //}}}
+-function updatePlot(reset) {
+-	if (!canvas.lastHit) { return; }
+-	var hit = canvas.lastHit;
++function initializeMarker(canvas) { //{{{
++	//Initialize data marker and tooltip display once per page load
++	var marker = $('#' + canvas.dataMarkers.marker.id);
++	var size = canvas.dataMarkers.size;
++	if (!marker.hasClass('tooltipstered')) {
++		marker.css({
++			'position': 'absolute',
++			'left': -size[0] + 'px',
++			'top': -size[1] + '0px',
++			'width': size[0] + 'px',
++			'height': size[1] + 'px',
++			'pointer-events': 'all',
++			'cursor': 'pointer',
++			'display': 'none'
++		});
++		marker.tooltipster({
++			contentAsHTML: true,
++			maxWidth: 320,
++			maxHeight: 320,
++			zIndex: 1000,
++			trigger: 'custom',
++			triggerOpen: {
++				mouseenter: false,
++				originClick: true,
++				touchstart: false
++			},
++			triggerClose: {
++				mouseleave: false,
++				originClick: true,
++				touchleave: false
++			},
++		});
++		marker.on('click touch', function () {
++			marker.fadeOut(175);
++			marker.tooltipster('close');
++		});
++		canvas.dataMarkers.marker.selector = marker;
++	}
++	updateMarker(canvas, true);
++} //}}}
++function repositionMarker(canvas) { //{{{
++	//Mover marker to point to mouse position, offset in y by 1 to enable immediate clicking.
++	if (isEmptyOrUndefined(canvas.dataMarkers.marker.hit) || !canvas.camera.ready) { return; }
++	var size = canvas.dataMarkers.size;
++	var screenPoint = vec3.transformMat4(vec3.create(), canvas.dataMarkers.marker.hit.pos, canvas.camera.vpMatrix);
++	//console.log(canvas, canvas.selector, $(canvas.id)
++	var x = (screenPoint[0] + 1.0) * (canvas.width / 2) + canvas.selector.offset().left;
++	var y = (-screenPoint[1] + 1.0) * (canvas.height / 2) + canvas.selector.offset().top;
++	canvas.dataMarkers.marker.selector.css({
++		'left': (Math.round(x) - size[0] / 2) + 'px', 
++		'top': (Math.round(y) - size[1] + 1) + 'px'
++	});
++	
++	if (canvas.dataMarkers.marker.selector.tooltipster('status').state != 'closed') { canvas.dataMarkers.marker.selector.tooltipster('reposition'); }
++} //}}}
++function updateMarker(canvas, reset) { //{{{
++	//Retrieve data value fields and plots them on data marker popup if a hit has been registered.
++	//TODO: Automatically pick up any field of size md.mesh.numberofelements
++	//If no marker has been placed, no update is needed. If canvas is resimulating and unitNode has not been set yet, wait and try again.
++	if (isEmptyOrUndefined(canvas.dataMarkers.marker.hit)) { return; }
++	if (isEmptyOrUndefined(canvas.unitNode)) { setTimeout( function(){ updateMarker(canvas, reset); }, 750); return; }
++	
++	var hit = canvas.dataMarkers.marker.hit;
++	
+ 	var coords = canvas.unitNode.mesh.vertexBuffers.coords.data;
+ 	var latitude = md.mesh.lat;
+ 	var longitude = md.mesh.long;
+ 	var thickness;
+ 	var velocity;
+ 	if (md.results[0]) {
+-		thickness = md.results[canvas.movieFrame].Thickness;
+-		velocity = md.results[canvas.movieFrame].Vel;
++		thickness = md.results[canvas.animation.frame].Thickness;
++		velocity = md.results[canvas.animation.frame].Vel;
+ 	}
+ 	else {
+ 		thickness = md.geometry.thickness;
+ 		velocity = md.initialization.vel;
+ 	}
+ 	
+-	var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1],coords[hit.indices[1]*2], coords[hit.indices[1]*2+1],coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
++	//Determine data values at hit position.
++	var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1], coords[hit.indices[1]*2], coords[hit.indices[1]*2+1], coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
+ 	var hitLatitude = [latitude[hit.indices[0]], latitude[hit.indices[1]], latitude[hit.indices[2]]];
+ 	var hitLongitude = [longitude[hit.indices[0]], longitude[hit.indices[1]], longitude[hit.indices[2]]];
+ 	var hitThickness = [thickness[hit.indices[0]], thickness[hit.indices[1]], thickness[hit.indices[2]]];
+@@ -450,150 +618,77 @@
+ 	var valueLongitude = Math.abs(hitLongitude[0] * hit.uvw[0] + hitLongitude[1] * hit.uvw[1] + hitLongitude[2] * hit.uvw[2]);
+ 	var valueThickness = hitThickness[0] * hit.uvw[0] + hitThickness[1] * hit.uvw[1] + hitThickness[2] * hit.uvw[2];
+ 	var valueVelocity = hitVelocity[0] * hit.uvw[0] + hitVelocity[1] * hit.uvw[1] + hitVelocity[2] * hit.uvw[2];	
+-	if (canvas.dataMarkerOptions) {
+-		var format = [canvas.dataMarkerOptions.format[0]];	
+-		for (var i = 1; i < canvas.dataMarkerOptions.format.length; i++) {
+-			var formatString = canvas.dataMarkerOptions.format[i];
+-			if (formatString.toLowerCase() == 'x') { format.push(hit.modelPos[0]); }
+-			else if (formatString.toLowerCase() == 'y') { format.push(hit.modelPos[1]); }
+-			else if (formatString.toLowerCase() == 'z') { format.push(hit.modelPos[2]); }
+-			else if (formatString.toLowerCase() == 'lat') { format.push(valueLatitude); }
+-			else if (formatString.toLowerCase() == 'long') { format.push(valueLongitude); }
+-			else if (formatString.toLowerCase() == 'thickness') { format.push(valueThickness); }
+-			else if (formatString.toLowerCase() == 'vel') { format.push(valueVelocity); }
+-			else if (formatString.toLowerCase() == 'value') { format.push(value); }
+-			else {format.push(formatString); }
++
++	//Construct new argument array of the data display format for sprintf using first first argument as the formatSpecifier string and the rest as the additional arguments.
++	var format = canvas.dataMarkers.format.slice();
++	for (var i = 1; i < format.length; i++) {
++		if (format[i].toLowerCase() == 'x') { format[i] = hit.modelPos[0]; }
++		else if (format[i].toLowerCase() == 'y') { format[i] = hit.modelPos[1]; }
++		else if (format[i].toLowerCase() == 'z') { format[i] = hit.modelPos[2]; }
++		else if (format[i].toLowerCase() == 'lat') { format[i] = valueLatitude; }
++		else if (format[i].toLowerCase() == 'long') { format[i] = valueLongitude; }
++		else if (format[i].toLowerCase() == 'thickness') { format[i] = valueThickness; }
++		else if (format[i].toLowerCase() == 'vel') { format[i] = valueVelocity; }
++		else if (format[i].toLowerCase() == 'value') { format[i] = value; }
++	}
++	
++	//Apply changes to tooltip
++	$('#tooltip-content-data-marker-' + canvas.id).html(sprintf.apply(null, format));
++	$('#tooltip-content-data-marker-' + canvas.id).css({'font': canvas.dataMarkers.font});				
++	
++	//If animated, setup animation loop to update plot as movie plays.
++	if (canvas.dataMarkers.animated) {
++		var isEmpty = (canvas.dataMarkers.values.length == 0);
++		var lastUpdatedIndex = (canvas.dataMarkers.values.length-1);
++		var newMovieFrame = (!isEmpty && canvas.dataMarkers.values[lastUpdatedIndex][0] != canvas.animation.frame);
++		//If new data marker has been placed, reinitialize plot. If not, push new value into plot value array.
++		if (reset) {
++			canvas.dataMarkers.values = [];
++			newMovieFrame = true;
++			for (var currentFrame = 0; currentFrame < (canvas.unitNode.movieLength); currentFrame++) {
++				coords = canvas.unitNode.texcoords[currentFrame];
++				var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1], coords[hit.indices[1]*2], coords[hit.indices[1]*2+1], coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
++				var u = hitCoords[0] * hit.uvw[0] + hitCoords[2] * hit.uvw[1] + hitCoords[4] * hit.uvw[2];
++				var v = hitCoords[1] * hit.uvw[0] + hitCoords[3] * hit.uvw[1] + hitCoords[5] * hit.uvw[2];
++				var value = canvas.unitNode.caxis[0] * (1.0 - v) + canvas.unitNode.caxis[1] * v;
++				canvas.dataMarkers.values.push([currentFrame, value]);
++			}
+ 		}
+-		if (canvas.dataMarkerOptions.animated) {
+-			var isEmpty = (canvas.dataArray.length == 0);
+-			var lastUpdatedIndex = (canvas.dataArray.length-1);
+-			var newMovieFrame = (!isEmpty && canvas.dataArray[lastUpdatedIndex][0] != canvas.movieFrame);
+-			if (reset) {
+-				canvas.dataArray = [];
+-				newMovieFrame = true;
+-				for (var currentFrame = 0; currentFrame < (canvas.unitNode.movieLength); currentFrame++) {
+-					coords = canvas.unitNode.texcoords[currentFrame];
+-					var hitCoords = [coords[hit.indices[0]*2], coords[hit.indices[0]*2+1],coords[hit.indices[1]*2], coords[hit.indices[1]*2+1],coords[hit.indices[2]*2], coords[hit.indices[2]*2+1]];
+-					var u = hitCoords[0] * hit.uvw[0] + hitCoords[2] * hit.uvw[1] + hitCoords[4] * hit.uvw[2];
+-					var v = hitCoords[1] * hit.uvw[0] + hitCoords[3] * hit.uvw[1] + hitCoords[5] * hit.uvw[2];
+-					var value = canvas.unitNode.caxis[0] * (1.0 - v) + canvas.unitNode.caxis[1] * v;
+-					canvas.dataArray.push([currentFrame, value]);
+-				}
+-			}
+-			else {
+-				if (isEmpty || newMovieFrame) {
+-					canvas.dataArray.push([canvas.movieFrame,value]);
+-				}
+-			}
++		else {
+ 			if (isEmpty || newMovieFrame) {
+-				$('#tooltip-content-data-marker-' + canvas.id).html(sprintf.apply(null, format));
+-				$('#tooltip-content-data-marker-' + canvas.id).css({
+-					'font': canvas.dataMarkerOptions.font
+-				});				
+-				var dataLabels = {'latitude':valueLatitude,'longitude':valueLongitude,'thickness':valueThickness,'velocity':valueVelocity,'value':value};
+-				var dataDisplay = canvas.dataArray.slice(0,canvas.movieFrame+1);					
+-				plot('id','#sim-plot','type','bar','width',400,'height',300,'nticks',25,'xlabel','Time','ylabel',
+-					'Value','title','Changes Over Time','datalabels',canvas.dataMarkerOptions.labels,'labelvalues',dataLabels,'data',dataDisplay);
++				canvas.dataMarkers.values.push([canvas.animation.frame, value]);
+ 			}
+ 		}
+-	}
+-}
+-
+-function repositionMarker() {
+-	if (!canvas.unitNode) { return; }
+-	if (!canvas.dataMarkerDisplay) { return; }
+-	var dataMarkerSize = canvas.dataMarkerSize;
+-	var screenPoint = vec3.transformMat4(vec3.create(), canvas.marker.hit.pos, canvas.cameraMatrix);
+-	var x = screenPoint[0] * (canvas.width / 2) + canvas.width / 2;
+-	var y = -screenPoint[1] * (canvas.height / 2) + canvas.height / 2;
+-	canvas.marker.css({
+-		'left': (Math.round(x) - dataMarkerSize[0] / 2) + 'px', 
+-		'top': (Math.round(y) - dataMarkerSize[1]) + 'px'
+-	});
+-	if (canvas.dataMarkerDisplay.tooltipster('status').state != 'closed') { canvas.dataMarkerDisplay.tooltipster('reposition'); }
+-}
+-
+-function onPan(ev,canvas,displaylog) { //{{{
+-	ev.preventDefault();
+-	repositionMarker();
+-	brushModify(canvas, ev.srcEvent.layerX, ev.srcEvent.layerY);
+-	if (ev.type == 'panstart') {
+-		canvas.lastDeltaX = 0;
+-		canvas.lastDeltaY = 0;
+-	}
+-	if (ev.srcEvent.shiftKey || ev.pointers.length == 2) {
+-		if (!canvas.viewPanning) return;
+-		var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoom * 2 * canvas.controlSensitivity * 6.371e6;
+-		var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoom * 2 * canvas.controlSensitivity * 6.371e6;
+ 		
+-		if (canvas.twod) {
+-			canvas.translation[0] += Math.cos(DEG2RAD * canvas.rotation[0]) * deltaX - Math.sin(DEG2RAD * 0) * deltaY;
+-			canvas.translation[2] += Math.sin(DEG2RAD * canvas.rotation[0]) * deltaX + Math.cos(DEG2RAD * 0) * deltaY;
++		//Replot data marker popup using update data value array.
++		if (isEmpty || newMovieFrame) {
++			var dataLabels = {'latitude': valueLatitude, 'longitude': valueLongitude, 'thickness': valueThickness, 'velocity': valueVelocity, 'value': value};
++			var dataDisplay = canvas.dataMarkers.values.slice(0, canvas.animation.frame+1);					
++			plot(
++				'id', '#sim-plot', 
++				'type', 'bar', 
++				'width', 400, 
++				'height', 300, 
++				'nticks', 25, 
++				'xlabel', 'Time', 
++				'ylabel', 'Value', 
++				'title', 'Changes Over Time', 
++				'datalabels', canvas.dataMarkers.labels,
++				'labelvalues', dataLabels,
++				'data', dataDisplay
++			);
+ 		}
+-		else {
+-			canvas.translation[0] += Math.cos(DEG2RAD * canvas.rotation[0]) * deltaX - Math.sin(DEG2RAD * canvas.rotation[0]) * deltaY;
+-			canvas.translation[2] += Math.sin(DEG2RAD * canvas.rotation[0]) * deltaX + Math.cos(DEG2RAD * canvas.rotation[0]) * deltaY;
+-		}
+ 	}
+-	else {
+-		canvas.rotation[0] += (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth * -2 * canvas.controlSensitivity * RAD2DEG;
+-		canvas.rotation[1] += (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight * -2 * canvas.controlSensitivity * RAD2DEG;
+-		
+-		if (canvas.rotation[0] > 360) { canvas.rotation[0] -= 360; };
+-		if (canvas.rotation[0] < -360) { canvas.rotation[0] += 360; };
+-		if (canvas.rotation[1] > 180) { canvas.rotation[1] -= 360; };
+-		if (canvas.rotation[1] < -180) { canvas.rotation[1] += 360; };
+-		
+-		canvas.rotation[0] = clamp(canvas.rotation[0], canvas.rotationAzimuthBounds[0], canvas.rotationAzimuthBounds[1]);
+-		canvas.rotation[1] = clamp(canvas.rotation[1], canvas.rotationElevationBounds[0], canvas.rotationElevationBounds[1])
++	repositionMarker(canvas);
++	if (reset) {
++		canvas.dataMarkers.marker.selector.fadeIn(175);
++		canvas.dataMarkers.marker.selector.tooltipster('open');
+ 	}
+-	canvas.lastDeltaX = ev.deltaX;
+-	canvas.lastDeltaY = ev.deltaY;
+-
+-	if (displaylog) { console.log(canvas.rotation); }
+ } //}}}
+-function onPinch(ev,canvas,displaylog) { //{{{
+-	ev.preventDefault();
+-	repositionMarker();
+-	if (ev.type == 'pinchstart') { canvas.zoomLast = canvas.zoom; }
+-	else { modifyZoom(ev.scale * canvas.zoomLast, canvas, displaylog); }
+-} //}}}
+-function onZoom(ev,canvas,displaylog) { //{{{
+-	ev.preventDefault();
+-	repositionMarker();
+-	var delta = clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) * canvas.controlSensitivity * canvas.zoom / 20;
+-	modifyZoom(canvas.zoom + delta, canvas, displaylog);
+-} //}}}
+-function modifyZoom(value,canvas,displaylog) { //{{{
+-	canvas.zoom = clamp(value, canvas.zoomBounds[0], canvas.zoomBounds[1]);
+-	if (displaylog) { console.log(canvas.zoom); }
+-} //}}}
+-function modifyDataMarkersEnabled(value,canvas) { //{{{
+-	canvas.dataMarkersEnabled = value;
+-	if (!canvas.dataMarkersEnabled && canvas.marker) {
+-		canvas.marker.fadeOut(175);
+-		canvas.dataMarkerDisplay.tooltipster('close');
+-	}
+-	else if (canvas.dataMarkersEnabled && canvas.marker) {
+-		canvas.marker.fadeIn(175);
+-		canvas.dataMarkerDisplay.tooltipster('open');
+-	}
+-} //}}}
+-function toggleMoviePlay(canvas) { //{{{
+-	canvas.moviePlay = !canvas.moviePlay;
+-	if (canvas.moviePlay){
+-		canvas.playButton.find("span").removeClass("fa-play");
+-		canvas.playButton.find("span").addClass("fa-pause");
+-	}
+-	else{
+-		canvas.playButton.find("span").removeClass("fa-pause");
+-		canvas.playButton.find("span").addClass("fa-play");
+-	}
+-} //}}}
+ //}}}
+ //{{{ Drawing Functions
+ function updateCameraMatrix(canvas) { //{{{
+-    //Update view matrix and multiply with projection matrix to get the view-projection (camera) matrix.
++    //Update view matrix and multiply with projection matrix to get the view-projection matrix.
+ 	var vMatrix = mat4.create();
+ 	var pMatrix = mat4.create();
+ 	var translateMatrix = mat4.create();
+@@ -603,50 +698,59 @@
+ 	var aspectRatio = canvas.clientWidth / canvas.clientHeight;
+ 	var cameraPosition = vec3.create();
+ 
+-	if (canvas.twod) { mat4.ortho(pMatrix, -aspectRatio*6.371e6/canvas.zoom, aspectRatio*6.371e6/canvas.zoom, -6.371e6/canvas.zoom, 6.371e6/canvas.zoom, -1.0, 1e10); }
+-	else { mat4.perspective(pMatrix, 45 * DEG2RAD, aspectRatio, 1e3, 1e10); }
++	if (canvas.view.twod) { mat4.ortho(pMatrix, -aspectRatio*6.371e6/canvas.view.zoom, aspectRatio*6.371e6/canvas.view.zoom, -6.371e6/canvas.view.zoom, 6.371e6/canvas.view.zoom, canvas.camera.near, canvas.camera.far); }
++	else { mat4.perspective(pMatrix, canvas.camera.fov * DEG2RAD, aspectRatio, canvas.camera.near, canvas.camera.far); }
+ 	
+ 	//Apply worldspace translation
+-	mat4.translate(translateMatrix, translateMatrix, [-canvas.translation[0],-canvas.translation[1],-canvas.translation[2]]);
+-	mat4.multiply(vMatrix, translateMatrix, vMatrix);
++	mat4.translate(vMatrix, translateMatrix, vec3.negate(vec3.create(), canvas.view.position));
+ 	
+ 	//Calculate rotation around camera focal point about worldspace origin
+-	if (canvas.twod) {
++	if (canvas.view.twod) {
+ 		mat4.rotate(azimuthRotationMatrix, azimuthRotationMatrix, DEG2RAD * 0, [0, 1, 0]);
+ 		mat4.rotate(elevationRotationMatrix, elevationRotationMatrix, DEG2RAD * 90, [1, 0, 0]);
+ 		mat4.multiply(rotationMatrix, elevationRotationMatrix, azimuthRotationMatrix);
+ 	}
+ 	else {
+-		mat4.rotate(azimuthRotationMatrix, azimuthRotationMatrix, DEG2RAD * canvas.rotation[0], [0, 1, 0]);
+-		mat4.rotate(elevationRotationMatrix, elevationRotationMatrix, DEG2RAD * canvas.rotation[1], [1, 0, 0]);
++		mat4.rotate(azimuthRotationMatrix, azimuthRotationMatrix, DEG2RAD * canvas.view.rotation[0], [0, 1, 0]);
++		mat4.rotate(elevationRotationMatrix, elevationRotationMatrix, DEG2RAD * canvas.view.rotation[1], [1, 0, 0]);
+ 		mat4.multiply(rotationMatrix, elevationRotationMatrix, azimuthRotationMatrix);
+ 	}
+-	
++
+ 	//Apply rotation transform
+ 	mat4.multiply(vMatrix, rotationMatrix, vMatrix);
+-
+-	//Apply screenspace translation
++	
++	//Apply screenspace translation to emulate rotation around point
+ 	mat4.identity(translateMatrix);
+-	mat4.translate(translateMatrix, translateMatrix, [0.0, 0.0, -6.371e6/canvas.zoom]);
++	mat4.translate(translateMatrix, translateMatrix, [0.0, 0.0, -6.371e6/canvas.view.zoom]);
+ 	mat4.multiply(vMatrix, translateMatrix, vMatrix);
+ 	
+-	//Calculate fields for lighting and raycasts
+-	mat4.invert(canvas.vInverseMatrix, vMatrix);
++	//Apply projection matrix to get camera matrix
++	mat4.copy(canvas.camera.vMatrix, vMatrix);
++	mat4.multiply(canvas.camera.vpMatrix, pMatrix, vMatrix);
+ 	
+-	//Apply projection matrix to get camera matrix
+-	mat4.multiply(canvas.cameraMatrix, pMatrix, vMatrix);
+-	mat4.invert(canvas.inverseCameraMatrix, canvas.cameraMatrix);
+-	vec3.transformMat4(canvas.cameraPosition, cameraPosition, canvas.inverseCameraMatrix);
++	//Calculate inverse view matrix fields for lighting and raycasts
++	mat4.invert(canvas.camera.vInverseMatrix, canvas.camera.vMatrix);
++	mat4.invert(canvas.camera.vpInverseMatrix, canvas.camera.vpMatrix);
++	
++	vec3.transformMat4(canvas.camera.position, cameraPosition, canvas.camera.vpInverseMatrix);
++	canvas.camera.ready = true;
+ }//}}}
+-function drawSceneGraphNode(canvas,node) { //{{{
++function drawSceneGraphNode(canvas, node) { //{{{
+ 	if (!node.enabled) { return; }
+ 
+ 	var gl = canvas.gl;
+ 	gl.makeCurrent();
+ 	
+ 	var mvpMatrix = mat4.create();
+-	mat4.multiply(mvpMatrix, canvas.cameraMatrix, node.modelMatrix);
++	mat4.multiply(mvpMatrix, canvas.camera.vpMatrix, node.modelMatrix);
+ 	
++	var mvMatrix = mat4.create();
++	mat4.multiply(mvMatrix, canvas.camera.vMatrix, node.modelMatrix);
++	
++	var normalMatrix = mat4.create();
++	mat4.invert(normalMatrix, mvMatrix);
++	mat4.transpose(normalMatrix, normalMatrix);
++	
+ 	if (node.texture) { node.texture.bind(0); }
+ 	if (node.disableDepthTest) { gl.disable(gl.DEPTH_TEST); }
+ 	if (node.enableCullFace) { gl.enable(gl.CULL_FACE); }
+@@ -659,7 +763,7 @@
+ 	var origin = vec3.fromValues(0, 0, 0);
+ 	var lightOrigin = vec3.fromValues(0, 0, 0);
+ 	var cameraPositionRelative = vec3.create();
+-	vec3.transformMat4(origin, origin, canvas.vInverseMatrix);
++	vec3.transformMat4(origin, origin, canvas.camera.vInverseMatrix);
+ 	vec3.normalize(lightOrigin, lightOrigin);
+ 	vec3.sub(cameraPositionRelative, origin, node.translation);
+ 	cameraHeight = vec3.length(cameraPositionRelative);
+@@ -691,7 +795,11 @@
+ 	
+ 	node.shader.uniforms({
+ 		m4MVP: mvpMatrix,
++		m4Normal: normalMatrix,
+ 		m4Model: node.modelMatrix,
++		//u_lightPosition: [-lightOrigin[0], -lightOrigin[1], -lightOrigin[2]],
++		u_lightPosition: [1.0, 1.0, 1.0],
++		u_diffuseColor: [1.0, 0.9, 0.9],
+ 		u_texture: 0,
+ 		u_alpha: node.alpha,
+ 		u_maskEnabled: node.maskEnabled,
+@@ -727,42 +835,49 @@
+ 	gl.enable(gl.DEPTH_TEST);
+ 	gl.disable(gl.CULL_FACE);
+ } //}}}
+-function draw(canvas,options) { //{{{
+-	if (canvas.textcanvas) { canvas.textcanvas.draw(canvas); }
+-
++function draw(canvas) { //{{{
++	//Ensure all nodes are ready to render
++	//TODO: Come up with better way to check if shaders are ready, or move outside of main draw function
+ 	var nodes = canvas.nodes;
+-	if (nodes.length < 1) {
+-		canvas.drawHandler = window.requestAnimationFrame(function(time) { draw(canvas,options); });
+-		return;
+-	}
+-	for (var node in nodes) {	
+-		if ((nodes[node].texture && nodes[node].texture.ready == false) || nodes[node].shader.ready == false || nodes[node].mesh.ready == false) {
+-			canvas.drawHandler = window.requestAnimationFrame(function(time) { draw(canvas,options); });
+-			return;
++	if (!canvas.draw.ready) {
++		if (nodes.length !== 0) {
++			canvas.draw.ready = true;
++			for (var node in nodes) {
++				if (nodes[node].shader.ready == false) {
++					canvas.draw.ready = false;
++					break;
++				}
++			}
++			
+ 		}
+ 	}
+ 	
+-	var rect = canvas.getBoundingClientRect();
+-	canvas.width  = rect.width;
+-	canvas.height = rect.height;
++	//Begin rendering nodes
++	if (canvas.draw.ready) {
++		if (canvas.textcanvas) { canvas.textcanvas.draw(canvas); }
++		if (canvas.overlaycanvas) { canvas.overlaycanvas.draw(canvas); }
+ 	
+-	var gl = canvas.gl;
+-	gl.makeCurrent(); //litegl function to handle switching between multiple canvases
+-	gl.viewport(0, 0, rect.width, rect.height);
+-	gl.clearColor(canvas.backgroundcolor[0], canvas.backgroundcolor[1], canvas.backgroundcolor[2], canvas.backgroundcolor[3]);
+-	gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
+-	
+-	updateCameraMatrix(canvas);
+-	
+-	//if (canvas.marker) { canvas.marker.update(); }
+-	
+-	var drawPassNumber = 3;
+-	for (var i = drawPassNumber - 1; i >= 0; i--) {
+-		for (var node in nodes) {
+-			if (nodes[node].drawOrder == i) { drawSceneGraphNode(canvas,nodes[node]); }
++		var rect = canvas.getBoundingClientRect();
++		canvas.width  = rect.width;
++		canvas.height = rect.height;
++		
++		var gl = canvas.gl;
++		gl.makeCurrent(); //litegl function to handle switching between multiple canvases
++		gl.viewport(0, 0, canvas.width, canvas.height);
++		gl.clearColor(canvas.backgroundcolor[0], canvas.backgroundcolor[1], canvas.backgroundcolor[2], canvas.backgroundcolor[3]);
++		gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
++		
++		updateCameraMatrix(canvas);
++		
++		var drawPassNumber = 3;
++		for (var i = drawPassNumber - 1; i >= 0; i--) {
++			for (var node in nodes) {
++				if (nodes[node].drawOrder == i) { drawSceneGraphNode(canvas, nodes[node]); }
++			}
+ 		}
+ 	}
+-
+-	canvas.drawHandler = window.requestAnimationFrame(function(time) { draw(canvas,options); });
++	
++	//Regardless of ready state, schedule next frame to check for ready state and render
++	canvas.draw.handler = window.requestAnimationFrame(function(time) { draw(canvas); });
+ } //}}}
+ //}}}
+Index: ../trunk-jpl/src/m/plot/applyoptions.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/applyoptions.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/applyoptions.js	(revision 21683)
+@@ -1,67 +1,67 @@
+-function applyoptions(md,data,datatype,options,canvas,gl,node){ //{{{
++function applyoptions(md, data, datatype, options, canvas, gl, node){ //{{{
+ 	//APPLYOPTIONS - apply colobar, text, cloud, and expdisp options to current plot
+ 	//
+ 	//   Usage:
+-	//      applyoptions(md,data,options)
++	//      applyoptions(md, data, options)
+ 	//
+ 	//   See also: PLOTMODEL, PARSE_OPTIONS
+ 	
+-	//colorbar {{{
++	//{{{ colorbar
+ 	if (options.exist('colorbar')) {
+ 		if (options.getfieldvalue('colorbar')==1) {
+-			//Handle movie data {{{
++			//{{{ Handle movie data
+ 			if (datatype == 5) {
+ 				data = data[0];
+ 			} //}}}
+-			//Variable options initialization {{{
+-			var caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
++			//{{{ Variable options initialization
++			var caxis = options.getfieldvalue('caxis',[ArrayMin(data), ArrayMax(data)]);
+ 			var colorbarinnerlabels = options.getfieldvalue('colorbarinnerlabels','off');
+-			var ccanvasid,ctitleid,clabelsid,ccanvas,ctitle,clabels,ccontext,cmap,colorbar,cwidth,cheight,cgradient,color,y,x;
++			var ccanvasid, ctitleid, clabelsid, ccanvas, ctitle, clabels, ccontext, cmap, colorbar, cwidth, cheight, cgradient, color, y, x;
+ 			//}}}
+-			//Create colorbar labels {{{
++			//{{{ Create colorbar labels 
+ 			var labels = [];
+-			var cdivisions = options.getfieldvalue('colorbarnticks',6);
++			var cdivisions = options.getfieldvalue('colorbarnticks', 6);
+ 			var caxisdelta = caxis[1] - caxis[0];
+-			var precision = options.getfieldvalue('colorbarprecision',3);
++			var precision = options.getfieldvalue('colorbarprecision', 3);
+ 			if (options.getfieldvalue('log','off')!='off') {
+ 				for (var i=cdivisions; i >= 0; i--) {
+-					var scale = (Math.log10(caxis[1])-Math.log10(caxis[0]))/Math.log10(options.getfieldvalue('log',10));
+-					labels[i] = (Math.pow(options.getfieldvalue('log',10),Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10))+scale*(cdivisions-i)/cdivisions)).toFixed(precision);
++					var scale = (Math.log10(caxis[1])-Math.log10(caxis[0]))/Math.log10(options.getfieldvalue('log', 10));
++					labels[i] = (Math.pow(options.getfieldvalue('log', 10), Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log', 10))+scale*(cdivisions-i)/cdivisions)).toFixed(precision);
+ 				}
+ 			} else {
+ 				for (var i=cdivisions; i >= 0; i--) {
+ 					labels[i] = (caxisdelta*(cdivisions-i)/cdivisions+caxis[0]).toFixed(precision);
+ 				}
+ 			} //}}}
+-			//Initialize colorbar canvas {{{
+-			ccanvasid = options.getfieldvalue('colorbarid',options.getfieldvalue('canvasid').replace('canvas','colorbar-canvas'));			
++			//{{{ Initialize colorbar canvas
++			ccanvasid = options.getfieldvalue('colorbarid', options.getfieldvalue('canvasid').replace('canvas','colorbar-canvas'));			
+ 			ccanvas = $('#'+ccanvasid)[0];
+-			cwidth = ccanvas.width*options.getfieldvalue('colorbarwidth',1);
+-			cheight = ccanvas.height*options.getfieldvalue('colorbarheight',1);
++			cwidth = ccanvas.width*options.getfieldvalue('colorbarwidth', 1);
++			cheight = ccanvas.height*options.getfieldvalue('colorbarheight', 1);
+ 			ccontext = ccanvas.getContext('2d');
+-			ccontext.clearRect(0,0, cwidth, cheight);
++			ccontext.clearRect(0, 0, cwidth, cheight);
+ 			ccontext.beginPath();
+ 			cmap = options.getfieldvalue('colormap','jet');
+ 			colorbar = colorbars[cmap];
+-			cgradient = ccontext.createLinearGradient(0,0,0,cheight);
++			cgradient = ccontext.createLinearGradient(0, 0, 0, cheight);
+ 			//}}}
+-			//Draw colorbar gradient {{{
++			//{{{ Draw colorbar gradient
+ 			for (var i=0; i < colorbar.length; i++) {
+ 				color = colorbar[colorbar.length-i-1];
+-				color = [Math.round(color[0]*255),Math.round(color[1]*255),Math.round(color[2]*255)];	
+-				cgradient.addColorStop(i/colorbar.length*(cdivisions/(cdivisions+1.0))+(1.0/(cdivisions+1.0)),'rgba('+color.toString()+',1.0)');
++				color = [Math.round(color[0]*255), Math.round(color[1]*255), Math.round(color[2]*255)];	
++				cgradient.addColorStop(i/colorbar.length*(cdivisions/(cdivisions+1.0))+(1.0/(cdivisions+1.0)),'rgba('+color.toString()+', 1.0)');
+ 			}
+ 			ccontext.fillStyle=cgradient;
+-			ccontext.fillRect(0,0,cwidth,cheight);
++			ccontext.fillRect(0, 0, cwidth, cheight);
+ 			//}}}
+-			//Draw colorbar border {{{
++			//{{{ Draw colorbar border
+ 			ccontext.beginPath();
+ 			ccontext.lineWidth='1';
+ 			ccontext.strokeStyle=options.getfieldvalue('colorbarfontcolor','black');
+-			ccontext.rect(0,0,cwidth,cheight);
++			ccontext.rect(0, 0, cwidth, cheight);
+ 			ccontext.stroke();
+ 			//}}}
+-			//Draw colorbar labels {{{
++			//{{{ Draw colorbar labels
+ 			clabelsid = options.getfieldvalue('colorbarid', ccanvasid).replace('canvas','labels');
+ 			clabels = $('#'+clabelsid);
+ 			if (colorbarinnerlabels=='on') {
+@@ -79,23 +79,23 @@
+ 				x = 0.2*cwidth;
+ 				clabelstring += '<li><span>'+labels[i]+'</span></li>';
+ 				ccontext.beginPath();
+-				ccontext.moveTo(0,y);
+-				ccontext.lineTo(x,y);
+-				ccontext.moveTo(cwidth-x,y);
+-				ccontext.lineTo(cwidth,y);
++				ccontext.moveTo(0, y);
++				ccontext.lineTo(x, y);
++				ccontext.moveTo(cwidth-x, y);
++				ccontext.lineTo(cwidth, y);
+ 				ccontext.stroke();
+ 			}
+ 			clabels.append(clabelstring);
+ 			//}}}
+-			//Draw colorbar title {{{
++			//{{{ Draw colorbar title
+ 			ctitleid = options.getfieldvalue('colorbarid', ccanvasid).replace('canvas','heading');
+ 			ctitle = $('#'+ctitleid);
+ 			if (options.exist('colorbartitle')) { ctitle.html(options.getfieldvalue('colorbartitle')); }
+ 			//}}}
+ 		} 
+ 	} //}}}
+-	//texture canvas //{{{
+-	var tcontext,tcanvas,tcanvasid,tURL,tgradient;
++	//{{{ texture canvas
++	var tcontext, tcanvas, tcanvasid, tURL, tgradient;
+ 	tcanvasid = 'texturecanvas';
+ 	var tcanvas = document.getElementById(tcanvasid);
+ 	if (tcanvas == null) {
+@@ -103,26 +103,26 @@
+ 		tcanvas = document.getElementById(tcanvasid);
+ 	}
+ 	tcontext = tcanvas.getContext('2d');
+-	tgradient = tcontext.createLinearGradient(0,0,0,256);
++	tgradient = tcontext.createLinearGradient(0, 0, 0, 256);
+ 		
+ 	var cmap = options.getfieldvalue('colormap','jet');
+ 	var colorbar = colorbars[cmap];
+ 	for (var i=0; i < colorbar.length; i++) {
+ 		color = colorbar[colorbar.length-i-1];
+-		color = [Math.round(color[0]*255),Math.round(color[1]*255),Math.round(color[2]*255)];	
+-		tgradient.addColorStop(i/colorbar.length,'rgba('+color.toString()+',1.0)');
++		color = [Math.round(color[0]*255), Math.round(color[1]*255), Math.round(color[2]*255)];	
++		tgradient.addColorStop(i/colorbar.length,'rgba('+color.toString()+', 1.0)');
+ 	}
+ 	
+ 	tcontext.fillStyle = tgradient;
+-	tcontext.fillRect(0,0,256,256);
++	tcontext.fillRect(0, 0, 256, 256);
+ 	tURL = tcanvas.toDataURL();
+-	node.texture = initTexture(gl,tURL);
++	node.texture = initTexture(gl, tURL);
+ 	node.textureCanvas = tcanvas;
+-	node.caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
++	node.caxis = options.getfieldvalue('caxis',[ArrayMin(data), ArrayMax(data)]);
+ 	//}}}
+-	//expdisp contours {{{
++	//{{{ expdisp contours
+ 	if (options.exist('expdisp')) {
+-		canvas.nodes.expdisp = Node(gl,options);
++		canvas.nodes.expdisp = Node(gl, options);
+ 		var node = canvas.nodes.expdisp;
+ 		
+ 		//declare variables:  {{{
+@@ -130,15 +130,15 @@
+ 		var indices = [];
+ 		var colors = [];
+ 		var rgbcolor = [];
+-		var xmin,xmax;
+-		var ymin,ymax;
+-		var zmin,zmax;
++		var xmin, xmax;
++		var ymin, ymax;
++		var zmin, zmax;
+ 		var scale;
+ 		
+ 		//Process data and model
+ 		var x = options.getfieldvalue('expdisp').x;
+ 		var y = options.getfieldvalue('expdisp').y;
+-		var z = Array.apply(null, Array(x.length)).map(Number.prototype.valueOf,0);
++		var z = Array.apply(null, Array(x.length)).map(Number.prototype.valueOf, 0);
+ 		
+ 		if (options.getfieldvalue('expdisp').z) {
+ 			z = options.getfieldvalue('expdisp').z;
+@@ -146,12 +146,12 @@
+ 		//}}}
+ 
+ 		//Compute coordinates and data range: //{{{
+-		var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-		var modelylim = [ArrayMin(y),ArrayMax(y)];
+-		var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-		var xlim = options.getfieldvalue('xlim',modelxlim);
+-		var ylim = options.getfieldvalue('ylim',modelylim);
+-		var zlim = options.getfieldvalue('zlim',modelzlim);
++		var modelxlim = [ArrayMin(x), ArrayMax(x)];
++		var modelylim = [ArrayMin(y), ArrayMax(y)];
++		var modelzlim = [ArrayMin(z), ArrayMax(z)];
++		var xlim = options.getfieldvalue('xlim', modelxlim);
++		var ylim = options.getfieldvalue('ylim', modelylim);
++		var zlim = options.getfieldvalue('zlim', modelzlim);
+ 		xmin = xlim[0];
+ 		xmax = xlim[1];
+ 		ymin = ylim[0];
+@@ -164,7 +164,7 @@
+ 		var scale = 1 / (xmax - xmin);
+ 		node.shaderName = 'colored';
+ 		node.shader = gl.shaders[node.shaderName].program;
+-		node.scale = [scale, scale, scale*options.getfieldvalue('heightscale',1)];
++		node.scale = [scale, scale, scale*options.getfieldvalue('heightscale', 1)];
+ 		node.translation = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (-2 / scale)];
+ 		node.modelMatrix = updateModelMatrix(node);
+ 		node.drawMode = gl.LINE_LOOP;
+@@ -177,7 +177,7 @@
+ 		colors.itemSize = 4;
+ 
+ 		//retrieve some options
+-		var linewidth=options.getfieldvalue('linewidth',1);
++		var linewidth=options.getfieldvalue('linewidth', 1);
+ 		var edgecolor=options.getfieldvalue('edgecolor','black'); //RGBCOLOR?
+ 
+ 		vertices.itemSize = 3;
+@@ -198,9 +198,9 @@
+ 		node.arrays = [vertices, colors];
+ 		node.buffers = initBuffers(gl, node.arrays);
+ 	} //}}}
+-	//cloud of points {{{
++	//{{{ cloud of points
+ 	if (options.exist('cloud')) {
+-		canvas.nodes.cloud = Node(gl,options);
++		canvas.nodes.cloud = Node(gl, options);
+ 		var node = canvas.nodes.cloud;
+ 
+ 		//declare variables:  {{{
+@@ -208,15 +208,15 @@
+ 		var indices = [];
+ 		var colors = [];
+ 		var rgbcolor = [];
+-		var xmin,xmax;
+-		var ymin,ymax;
+-		var zmin,zmax;
++		var xmin, xmax;
++		var ymin, ymax;
++		var zmin, zmax;
+ 		var scale;
+ 		
+ 		//Process data and model
+ 		var x = options.getfieldvalue('cloud').x;
+ 		var y = options.getfieldvalue('cloud').y;
+-		var z = Array.apply(null, Array(x.length)).map(Number.prototype.valueOf,0);
++		var z = Array.apply(null, Array(x.length)).map(Number.prototype.valueOf, 0);
+ 		
+ 		if (options.getfieldvalue('cloud').z) {
+ 			z = options.getfieldvalue('cloud').z;
+@@ -224,12 +224,12 @@
+ 		//}}}
+ 
+ 		//Compute coordinates and data range: //{{{
+-		var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-		var modelylim = [ArrayMin(y),ArrayMax(y)];
+-		var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-		var xlim = options.getfieldvalue('xlim',modelxlim);
+-		var ylim = options.getfieldvalue('ylim',modelylim);
+-		var zlim = options.getfieldvalue('zlim',modelzlim);
++		var modelxlim = [ArrayMin(x), ArrayMax(x)];
++		var modelylim = [ArrayMin(y), ArrayMax(y)];
++		var modelzlim = [ArrayMin(z), ArrayMax(z)];
++		var xlim = options.getfieldvalue('xlim', modelxlim);
++		var ylim = options.getfieldvalue('ylim', modelylim);
++		var zlim = options.getfieldvalue('zlim', modelzlim);
+ 		xmin = xlim[0];
+ 		xmax = xlim[1];
+ 		ymin = ylim[0];
+@@ -242,7 +242,7 @@
+ 		var scale = 1 / (xmax - xmin);
+ 		node.shaderName = 'colored';
+ 		node.shader = gl.shaders[node.shaderName].program;
+-		node.scale = [scale, scale, scale*options.getfieldvalue('heightscale',1)];
++		node.scale = [scale, scale, scale*options.getfieldvalue('heightscale', 1)];
+ 		node.translation = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (-2 / scale)];
+ 		node.modelMatrix = updateModelMatrix(node);
+ 		node.drawMode = gl.POINTS;
+@@ -255,7 +255,7 @@
+ 		colors.itemSize = 4;
+ 
+ 		//retrieve some options
+-		var linewidth=options.getfieldvalue('linewidth',1);
++		var linewidth=options.getfieldvalue('linewidth', 1);
+ 		var edgecolor=options.getfieldvalue('edgecolor','black'); //RGBCOLOR?
+ 
+ 		vertices.itemSize = 3;
+@@ -276,17 +276,16 @@
+ 		node.arrays = [vertices, colors];
+ 		node.buffers = initBuffers(gl, node.arrays);
+ 	} //}}}
+-	
+-	//text display //{{{
++	//{{{ text display
+ 	if (options.exist('textlabels')) {
+-		var textcanvas,textcanvasid;	
+-		textcanvasid = options.getfieldvalue('textcanvasid',options.getfieldvalue('canvasid')+'-text');
++		var textcanvas, textcanvasid;	
++		textcanvasid = options.getfieldvalue('textcanvasid', options.getfieldvalue('canvasid')+'-text');
+ 		textcanvas = $('#'+textcanvasid);
+ 		textcanvas.textlabels = options.getfieldvalue('textlabels',[]);
+ 		
+ 		//setup drawing function for text canvas draw calls
+ 		textcanvas.draw = function(canvas) {
+-			var textcontext,textlabels,textlabel,textcanvaswidth,textcanvasheight,textcoordinates;	
++			var textcontext, textlabels, textlabel, textcanvaswidth, textcanvasheight, textcoordinates;	
+ 			var textposition = vec3.create();
+ 			var mvpMatrix = mat4.create();
+ 			
+@@ -303,13 +302,13 @@
+ 			//worldspace to screenspace transformation for text
+ 			for (text in textlabels) {
+ 				textlabel = textlabels[text];
+-				mat4.multiply(mvpMatrix, canvas.cameraMatrix, canvas.nodes.overlay.modelMatrix);
++				mat4.multiply(mvpMatrix, canvas.camera.vpMatrix, canvas.nodes.overlay.modelMatrix);
+ 				textposition = vec3.transformMat4(textposition, textlabel.pos, mvpMatrix);
+ 				if (textposition[2] > 1) { //clip coordinates with z > 1
+ 					continue;
+ 				}
+ 				textcoordinates = [(textposition[0]+1.0)/2.0*textcanvaswidth, (-textposition[1]+1.0)/2.0*textcanvasheight]; //NDC to screenspace
+-				textcontext.font = String(options.getfieldvalue('colorbarfontsize',18))+'px "Lato",Helvetica,Arial,sans-serif';
++				textcontext.font = String(options.getfieldvalue('colorbarfontsize', 18))+'px "Lato", Helvetica, Arial, sans-serif';
+ 				textcontext.fillStyle = options.getfieldvalue('colorbarfontcolor','black');
+ 				textcontext.strokeStyle = options.getfieldvalue('colorbarfontcolor','black');
+ 				textcontext.textAlign = 'center';
+@@ -320,9 +319,80 @@
+ 		}
+ 		canvas.textcanvas = textcanvas;
+ 	} //}}}
+-	//Atmosphere {{{
++	//{{{ lat long overlay
++	if (options.exist('latlongoverlay')) {
++		var overlaycanvasid = options.getfieldvalue('latlongoverlayid', options.getfieldvalue('canvasid')+'-overlay');
++		var overlaycanvas = $('#'+overlaycanvasid)[0];
++		var latitudes = {
++			//"-90": 1,
++			//"-65": .999,
++			"-60": 0.994046875,
++			//"-55": 0.983187500000002,
++			//"-50": 0.97173550854167,
++			"-45": 0.955729166666666,
++			//"-40": 0.94218750000000218,
++			//"-35": 0.94218750000000218,
++			"-30": 0.9226562500000024,
++			//"-25": 0.87934895833333526,
++			//"-20": 0.856572916666669,
++			//"-15": 0.830729166666665,
++			//"-10": 0.803552708333336,
++			//"-5": 0.77395833333333541,
++			"0": 0.74218749999999811,
++			//"5": 0.70950364583333347,
++			//"10": 0.67479166666666823,
++			//"15": 0.63932291666666663,
++			//"20": 0.60171875,
++			//"25": 0.563453125,
++			"30": 0.523390625000001,
++			//"35": 0.48401875,
++			//"40": 0.44296875,
++			"45": 0.4020001,
++			//"50": 0.3578125,
++			//"55": 0.311875,
++			"60": 0.26953124999999978,
++			//"65": 0.225390625,
++			//"70": 0.18125,
++			//"75": 0.13541666666666671,
++			//"80": 0.08953125,
++			//"85": 0.046250000000000013,
++			//"90": 0.0,
++		}
++		var longitudes = [-150, -120, -90, -60, -30, 0, 30, 60, 90, 120, 150, 180];
++		overlaycanvas.draw = function(canvas) {
++			var rect = overlaycanvas.getBoundingClientRect();
++			overlaycanvas.width  = rect.width;
++			overlaycanvas.height = rect.height;
++			var ctx = overlaycanvas.getContext('2d');
++			var centerx = overlaycanvas.width / 2;
++			var centery = overlaycanvas.height / 2;
++			var radius = (overlaycanvas.height) / 2;
++			ctx.setLineDash([5, 10]);
++			for(latitude in latitudes) {
++				ctx.beginPath();
++				ctx.arc(centerx, centery, radius * latitudes[latitude], 0, 2 * Math.PI);
++				ctx.stroke();
++				ctx.font = String(options.getfieldvalue('colorbarfontsize', 18))+'px "Lato", Helvetica, Arial, sans-serif';
++				ctx.fillStyle = options.getfieldvalue('colorbarfontcolor','black');
++				ctx.strokeStyle = options.getfieldvalue('colorbarfontcolor','black');
++				ctx.textAlign = 'center';
++				ctx.textBaseline = 'middle';
++				ctx.fillText(latitude, centerx, centery + radius * latitudes[latitude]);
++				ctx.strokeText(latitude, centerx, centery + radius * latitudes[latitude]);
++			}
++			ctx.setLineDash([1, 0]);
++			for (longitude in longitudes) {
++				ctx.beginPath();
++				ctx.moveTo(centerx, centery);
++				ctx.lineTo(centerx + radius * Math.sin(longitudes[longitude] * DEG2RAD), centery + radius * Math.cos(longitudes[longitude] * DEG2RAD));
++				ctx.stroke();
++			}
++		}
++		canvas.overlaycanvas = overlaycanvas;
++	} //}}}
++	//{{{ additional rendering nodes
+ 	if (options.exist('render')) {
+-		var meshresults = processmesh(md,data,options);
++		var meshresults = processmesh(md, data, options);
+ 		var x = meshresults[0]; 
+ 		var y = meshresults[1]; 
+ 		var z = meshresults[2]; 
+@@ -330,12 +400,12 @@
+ 		var is2d = meshresults[4]; 
+ 		var isplanet = meshresults[5];
+ 		
+-		var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-		var modelylim = [ArrayMin(y),ArrayMax(y)];
+-		var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-		var xlim = options.getfieldvalue('xlim',modelxlim);
+-		var ylim = options.getfieldvalue('ylim',modelylim);
+-		var zlim = options.getfieldvalue('zlim',modelzlim);
++		var modelxlim = [ArrayMin(x), ArrayMax(x)];
++		var modelylim = [ArrayMin(y), ArrayMax(y)];
++		var modelzlim = [ArrayMin(z), ArrayMax(z)];
++		var xlim = options.getfieldvalue('xlim', modelxlim);
++		var ylim = options.getfieldvalue('ylim', modelylim);
++		var zlim = options.getfieldvalue('zlim', modelzlim);
+ 		xmin = xlim[0];
+ 		xmax = xlim[1];
+ 		ymin = ylim[0];
+@@ -350,37 +420,76 @@
+ 		if (options.getfieldvalue('render',[]).indexOf('sky')!=-1) {	
+ 			//atmosphere
+ 			var node = Node(gl);
+-			canvas.nodes[canvas.nodes.length] = node;
+ 			node.name = "atmosphere";
+ 			node.shaderName = "SkyFromSpace";
+ 			node.shader = gl.shaders[node.shaderName];
+ 			node.drawOrder = 1;
+ 			node.cullFace = gl.FRONT;
+ 			node.enableCullFace = true;
+-			node.mesh = GL.Mesh.icosahedron({size:6371000*atmosphereScale,subdivisions:6});
+-			node.useIndexBuffer = false;
++			node.mesh = GL.Mesh.icosahedron({size: 6371000*atmosphereScale, subdivisions: 6});
+ 			node.rotation = [0, 0, 0];
+ 			node.translation = translation;
+ 			node.center = [0, 0, 0];
+ 			updateModelMatrix(node);
++			canvas.nodes[node.name] = node;
+ 		}
+ 		if (options.getfieldvalue('render',[]).indexOf('space')!=-1) {	
+ 			//skysphere
+ 			node = Node(gl);
+-			canvas.nodes[canvas.nodes.length] = node;
+ 			node.name = "skysphere";
+ 			node.shaderName = "Textured";
+ 			node.shader = gl.shaders[node.shaderName];
+ 			node.drawOrder = 2;
+ 			node.cullFace = gl.FRONT;
+ 			node.enableCullFace = true;
+-			node.mesh = GL.Mesh.sphere({size:6371000*20});
+-			node.texture = initTexture(gl,canvas.rootPath+'textures/TychoSkymapII_t4_2k.jpg');
+-			node.useIndexBuffer = false;
++			node.mesh = GL.Mesh.sphere({size: 6371000*20});
++			node.texture = initTexture(gl, canvas.rootPath+'textures/TychoSkymapII_t4_2k.jpg');
+ 			node.rotation = [0, 0, 0];
+ 			node.translation = translation;
+ 			node.center = [0, 0, 0];
+ 			updateModelMatrix(node);
++			canvas.nodes[node.name] = node;
+ 		}
++		if (canvas.clouds.enabled) {
++			//clouds
++			for (var i = 0; i < canvas.clouds.quantity; i++) {
++				node = Node(gl);
++				node.name = "clouds" + i;
++				node.shaderName = "Clouds";
++				node.shader = gl.shaders[node.shaderName];
++				node.drawOrder = 2;
++				node.cullFace = gl.BACK;
++				node.enableCullFace = true;
++				node.mesh = GL.Mesh.fromURL(canvas.rootPath+'obj/cloud.obj');
++				node.rotation = [0, 0, 0];
++				node.scale = [2500, 2500, 2500];
++				node.translation = [translation[0], translation[1] - 405000, translation[2]];
++				node.center = [0, 0, 0];
++				node.animation = {"time": Date.now(),"target": node.translation,"current": node.translation};
++				updateModelMatrix(node);
++				canvas.nodes[node.name] = node;
++				//canvas.clouds.list
++			}
++			//TODO: Steven, please add <canvas.clouds.quantity> total cloud nodes, randomly spread over the mesh, giving each one a new name and adding them to the canvas.clouds.list so that we can track them later.
++			
++		}
++		if (options.getfieldvalue('render',[]).indexOf('latlong')!=-1) {	
++			//latlong
++			node = Node(gl);
++			node.name = "clouds";
++			node.shaderName = "Clouds";
++			node.shader = gl.shaders[node.shaderName];
++			node.drawOrder = 2;
++			node.cullFace = gl.BACK;
++			node.enableCullFace = true;
++			node.mesh = GL.Mesh.fromURL(canvas.rootPath+'obj/cloud.obj');
++			node.rotation = [0, 0, 0];
++			node.scale = [2500, 2500, 2500];
++			node.translation = [translation[0], translation[1] - 405000, translation[2]];
++			node.center = [0, 0, 0];
++			node.animation = {"time": Date.now(),"target": node.translation,"current": node.translation};
++			updateModelMatrix(node);
++			canvas.nodes[node.name] = node;
++		}
+ 	} //}}}
+ } //}}}
+Index: ../trunk-jpl/src/m/plot/plot_unit.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_unit.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/plot_unit.js	(revision 21683)
+@@ -1,14 +1,14 @@
+-function plot_unit(md,data,datatype,options,canvas) {
++function plot_unit(md, data, datatype, options, canvas) { //{{{
+ 	//PLOT_UNIT - unit plot, display data
+ 	//
+ 	//   Usage:
+-	//      plot_unit(md,data,options,canvas);
++	//      plot_unit(md, data, options, canvas);
+ 	//
+ 	//   See also: PLOTMODEL, PLOT_MANAGER
+ 
+-	//declare variables:  {{{
++	//{{{ declare variables: 
+ 	//Process data and model
+-	var meshresults = processmesh(md,data,options);
++	var meshresults = processmesh(md, data, options);
+ 	var x = meshresults[0]; 
+ 	var y = meshresults[1]; 
+ 	var z = meshresults[2]; 
+@@ -20,35 +20,35 @@
+ 	var texcoords = new Float32Array(x.length * 2);
+ 	var indices = new Uint16Array(elements.length * 3);
+ 	var nanindices = {};
+-	var xmin,xmax;
+-	var ymin,ymax;
+-	var zmin,zmax;
+-	var datamin,datamax,datadelta;
+-	var matrixscale,vertexscale;
++	var xmin, xmax;
++	var ymin, ymax;
++	var zmin, zmax;
++	var datamin, datamax, datadelta;
++	var matrixscale, vertexscale;
+ 	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
+ 	if (!md.geometry.surface) {
+-		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
++		md.geometry.surface=NewArrayFill(md.mesh.x.length, 0);
+ 	}
+ 	if (md.mesh.classname() == 'mesh3dsurface') {
+ 		matrixscale = 1;
+-		vertexscale = options.getfieldvalue('heightscale',1);
++		vertexscale = options.getfieldvalue('heightscale', 1);
+ 	}
+ 	else {
+ 		if (md.geometry.surface) {
+ 			z=md.geometry.surface;
+ 		}	
+-		matrixscale = options.getfieldvalue('heightscale',1);
++		matrixscale = options.getfieldvalue('heightscale', 1);
+ 		vertexscale = 0;
+ 	}
+ 	//}}}
+ 
+ 	//Compute coordinates and data range:
+-	var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-	var modelylim = [ArrayMin(y),ArrayMax(y)];
+-	var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-	var xlim = options.getfieldvalue('xlim',modelxlim);
+-	var ylim = options.getfieldvalue('ylim',modelylim);
+-	var zlim = options.getfieldvalue('zlim',modelzlim);
++	var modelxlim = [ArrayMin(x), ArrayMax(x)];
++	var modelylim = [ArrayMin(y), ArrayMax(y)];
++	var modelzlim = [ArrayMin(z), ArrayMax(z)];
++	var xlim = options.getfieldvalue('xlim', modelxlim);
++	var ylim = options.getfieldvalue('ylim', modelylim);
++	var zlim = options.getfieldvalue('zlim', modelzlim);
+ 	xmin = xlim[0];
+ 	xmax = xlim[1];
+ 	ymin = ylim[0];
+@@ -70,18 +70,18 @@
+ 	node.rotation = [-90, 0, 0];
+ 	node.translation = [0, 0, 0];
+ 	node.center = [(xmin + xmax) / 2, (ymin + ymax) / 2, (zmin + zmax) / 2];
+-	node.alpha = options.getfieldvalue('alpha',1.0);
++	node.alpha = options.getfieldvalue('alpha', 1.0);
+ 	node.drawOrder = 1;
+ 	node.maskEnabled = options.getfieldvalue('innermask','off') == 'on';
+-	node.maskHeight = options.getfieldvalue('innermaskheight',150.0);
+-	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0,0.0,1.0,1.0]);
++	node.maskHeight = options.getfieldvalue('innermaskheight', 150.0);
++	node.maskColor = options.getfieldvalue('innermaskcolor',[0.0, 0.0, 1.0, 1.0]);
+ 	node.enabled = options.getfieldvalue('nodata','off') == 'off';
+ 	updateModelMatrix(node);
+ 
+ 	switch(datatype){
+-		//element plot {{{
++		//{{{ element plot
+ 		case 1:
+-			pos=ArrayFindNot(data,NaN); //needed for element on water
++			pos=ArrayFindNot(data, NaN); //needed for element on water
+ 			if (elements[0].length==6){ //prisms
+ 			}
+ 			else if (elements[0].length==4){ //tetras
+@@ -90,15 +90,15 @@
+ 			}
+ 			break;
+ 		//}}}
+-		//node plot {{{
++		//{{{ node plot
+ 		case 2:
+ 			if (elements[0].length==6){ //prisms
+ 			}
+ 			else if (elements[0].length==4){ //tetras
+ 			}
+ 			else{ //triangular elements	
+-				caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
+-				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10)),Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log',10))];
++				caxis = options.getfieldvalue('caxis',[ArrayMin(data), ArrayMax(data)]);
++				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log', 10)), Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log', 10))];
+ 				datamin = caxis[0];
+ 				datamax = caxis[1];
+ 				datadelta = datamax - datamin;
+@@ -144,21 +144,21 @@
+ 					indices[iindex++] = element[2];
+ 				}
+ 			}
+-			node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords, triangles:indices}, null, null, gl);
++			node.mesh = GL.Mesh.load({vertices: vertices, coords: texcoords, triangles: indices}, null, null, gl);
+ 			node.mesh.octree = new GL.Octree(node.mesh);
+ 			break;
+ 		//}}}
+-		//quiver plot {{{
++		//{{{ quiver plot 
+ 		case 3:
+ 			if (is2d){
+-				//plot_quiver(x,y,data(:,1),data(:,2),options);
++				//plot_quiver(x, y, data(:, 1), data(:, 2), options);
+ 			}
+ 			else{
+-				//plot_quiver3(x,y,z,data(:,1),data(:,2),data(:,3),options);
++				//plot_quiver3(x, y, z, data(:, 1), data(:, 2), data(:, 3), options);
+ 			}
+ 			break;
+ 		//}}}
+-		//node transient plot {{{
++		//{{{ node transient plot
+ 		case 5:
+ 			if (elements[0].length==6){ //prisms
+ 			}
+@@ -194,8 +194,8 @@
+ 				});
+ 				//Prevent evaluation of datasubarray min/max if caxis exists
+ 				if (options.exist('caxis')) caxis = options.getfieldvalue('caxis');
+-				else caxis = [ArrayMin(data[0]),ArrayMax(data[0].slice(0,-1))];
+-				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10)),Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log',10))];
++				else caxis = [ArrayMin(data[0]), ArrayMax(data[0].slice(0,-1))];
++				if (options.getfieldvalue('log','off')!='off') caxis = [Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log', 10)), Math.log10(caxis[1])/Math.log10(options.getfieldvalue('log', 10))];
+ 				//Prepare texcoords to hold array of data values
+ 				texcoords = [];
+ 				for(var i = 0; i < data.length; i++){					
+@@ -221,83 +221,72 @@
+ 				}
+ 			
+ 				//Initialize movie loop
+-				node.movieLoop = canvas.movieOptions.loop;
+-				node.movieInterval = 1000 / canvas.movieOptions.fps;
++				node.movieLoop = canvas.animation.loop;
++				node.movieInterval = 1000 / canvas.animation.fps;
+ 				node.movieTimestamps = timestamps;
+ 				node.movieLength = timestamps.length;
+ 				node.movieFrame = 0;
+-				canvas.dataArray = [];
++				canvas.dataMarkers.values = [];
+ 				var quiverVelFrames = {};
+ 				for(var i=0; i < md.results.length; i++){
+ 					quiverVelFrames[Math.floor(md.results[i].time)] = md.results[i];
+ 				}
+ 
+-				if (canvas.movieHandler) { clearInterval(canvas.movieHandler); }
+-				canvas.movieHandler = setInterval(function () {
+-						node.movieFrame = canvas.movieFrame;
+-						if (canvas.moviePlay && canvas.movieIncrement) {
+-							if (canvas.movieReverse) {
+-								if (node.movieFrame == 0) {
+-									if (node.movieLoop) {
+-										node.movieFrame = node.movieLength - 1;
+-									}
+-									else {
+-										toggleMoviePlay(canvas);
+-									}
+-								}
+-								else {
+-									node.movieFrame = node.movieFrame - 1;
+-								}
++				if (canvas.animation.handler !== 0) {
++					console.log("clearing...");
++					clearInterval(canvas.animation.handler)
++				}
++				//TODO: Move this into webgl.js
++				canvas.animation.handler = setInterval(function () {
++					node.movieFrame = canvas.animation.frame;
++					if (canvas.animation.play && canvas.animation.increment) {
++						if (node.movieFrame == node.movieLength - 1) {
++							if (node.movieLoop) {
++								node.movieFrame = 0;
+ 							}
+ 							else { 
+-								if (node.movieFrame == node.movieLength - 1) {
+-									if (node.movieLoop) {
+-										node.movieFrame = 0;
+-									}
+-									else { 
+-										toggleMoviePlay(canvas);
+-									}
+-								}
+-								else {
+-									node.movieFrame = node.movieFrame + 1;
+-								}
++								toggleMoviePlay(canvas);
+ 							}
+ 						}
+-						if (canvas.progressBar) {
+-							canvas.progressBar.val(node.movieFrame);
+-							canvas.progressBar.slider('refresh');
++						else {
++							node.movieFrame = node.movieFrame + 1;
+ 						}
+-						if (canvas.timeLabel) { canvas.timeLabel.html(node.movieTimestamps[node.movieFrame].toFixed(0) + " " + options.getfieldvalue("movietimeunit","yr")); }
+-
+-						var buffer = node.mesh.getBuffer("coords");
+-						buffer.data = texcoords[node.movieFrame];
+-						buffer.upload(canvas.gl.DYNAMIC_DRAW);
+-						node.mesh.octree = new GL.Octree(node.mesh);
+-						node.texcoords = texcoords;
+-						if(options.getfieldvalue('quiver') == 'on'){
+-							plot_quiver(md,options,canvas, {vel:quiverVelFrames[node.movieFrame].Vel, vx:quiverVelFrames[node.movieFrame].Vx, vy:quiverVelFrames[node.movieFrame].Vy});
+-
++						if (canvas.animation.lastFrame != canvas.animation.frame) {
++							updateMarker(canvas, false);
+ 						}
+-						canvas.movieFrame = node.movieFrame;
+-
+-						if (canvas.moviePlay || canvas.lastMovieFrame != canvas.movieFrame) {
+-							updatePlot(true);
+-						}
+-
+-					}, node.movieInterval);
++					}
++					
++					if (canvas.progressBar) {
++						canvas.progressBar.val(node.movieFrame);
++						canvas.progressBar.slider('refresh');
++					}
++					if (canvas.timeLabel) { canvas.timeLabel.html(node.movieTimestamps[node.movieFrame].toFixed(0) + " " + options.getfieldvalue("movietimeunit","yr")); }
++					
++					var buffer = node.mesh.getBuffer("coords");
++					buffer.data = texcoords[node.movieFrame];
++					buffer.upload(canvas.gl.DYNAMIC_DRAW);
++					node.mesh.octree = new GL.Octree(node.mesh);
++					node.texcoords = texcoords;
++					if(options.getfieldvalue('quiver') == 'on'){
++						plot_quiver(md, options, canvas, {vel: quiverVelFrames[node.movieFrame].Vel, vx: quiverVelFrames[node.movieFrame].Vx, vy: quiverVelFrames[node.movieFrame].Vy});
++					}
++					canvas.animation.lastFrame = canvas.animation.frame;
++					canvas.animation.frame = node.movieFrame;					
++				}, node.movieInterval);
++				
+ 				if (canvas.progressBar) {
+-					canvas.movieFrame = 0;
++					canvas.animation.frame = 0;
+ 					canvas.progressBar.val(0);
+ 					canvas.progressBar.attr('max', node.movieLength-1);
+ 					canvas.progressBar.slider('refresh');
+ 				}
+ 				
+ 			}
+-			node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords[0], triangles:indices}, null, null, gl);
++			node.mesh = GL.Mesh.load({vertices: vertices, coords: texcoords[0], triangles: indices}, null, null, gl);
+ 			node.mesh.octree = new GL.Octree(node.mesh);
+ 			break;
+ 		//}}}
+ 		default:
+-			throw Error(sprintf("%s%i%s\n",'case ',datatype,' not supported'));
++			throw Error(sprintf("%s%i%s\n",'case ', datatype,' not supported'));
+ 	}
+-}
++} //}}}
+Index: ../trunk-jpl/src/m/plot/plot_overlay.js
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_overlay.js	(revision 21682)
++++ ../trunk-jpl/src/m/plot/plot_overlay.js	(revision 21683)
+@@ -1,23 +1,23 @@
+-function plot_overlay(md,data,options,canvas){ //{{{
++function plot_overlay(md, data, options, canvas){ //{{{
+ 	//PLOT_OVERLAY - Function for plotting a georeferenced image.  
+ 	//
+ 	//   Usage:
+-	//      plot_overlay(md,data,options,canvas);
++	//      plot_overlay(md, data, options, canvas);
+ 	//
+ 	//   See also: PLOTMODEL, PLOT_MANAGER
+ 
+-	//declare variables:  {{{
++	//{{{ declare variables:
+ 	var vertices = [];
+ 	var indices = [];
+ 	var texcoords = [];
+ 	var nanindices = {};
+-	var xmin,xmax;
+-	var ymin,ymax;
+-	var zmin,zmax;
+-	var matrixscale,vertexscale;
++	var xmin, xmax;
++	var ymin, ymax;
++	var zmin, zmax;
++	var matrixscale, vertexscale;
+ 
+ 	//Process data and model
+-	var meshresults = processmesh(md,data,options);
++	var meshresults = processmesh(md, data, options);
+ 	var x = meshresults[0]; 
+ 	var y = meshresults[1]; 
+ 	var z = meshresults[2]; 
+@@ -27,28 +27,28 @@
+ 
+ 	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
+ 	if (!md.geometry.surface) {
+-		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
++		md.geometry.surface=NewArrayFill(md.mesh.x.length, 0);
+ 	}
+ 	if (md.mesh.classname() == 'mesh3dsurface') {
+ 		matrixscale = 1;
+-		vertexscale = options.getfieldvalue('heightscale',1);
++		vertexscale = options.getfieldvalue('heightscale', 1);
+ 	}
+ 	else {
+ 		if (md.geometry.surface) {
+ 			z=md.geometry.surface;
+ 		}	
+-		matrixscale = options.getfieldvalue('heightscale',1);
++		matrixscale = options.getfieldvalue('heightscale', 1);
+ 		vertexscale = 0;
+ 	}
+ 	//}}}
+ 	
+ 	//Compute coordinates and data range:
+-	var modelxlim = [ArrayMin(x),ArrayMax(x)];
+-	var modelylim = [ArrayMin(y),ArrayMax(y)];
+-	var modelzlim = [ArrayMin(z),ArrayMax(z)];
+-	var xlim = options.getfieldvalue('xlim',modelxlim);
+-	var ylim = options.getfieldvalue('ylim',modelylim);
+-	var zlim = options.getfieldvalue('zlim',modelzlim);
++	var modelxlim = [ArrayMin(x), ArrayMax(x)];
++	var modelylim = [ArrayMin(y), ArrayMax(y)];
++	var modelzlim = [ArrayMin(z), ArrayMax(z)];
++	var xlim = options.getfieldvalue('xlim', modelxlim);
++	var ylim = options.getfieldvalue('ylim', modelylim);
++	var zlim = options.getfieldvalue('zlim', modelzlim);
+ 	xmin = xlim[0];
+ 	xmax = xlim[1];
+ 	ymin = ylim[0];
+@@ -67,12 +67,12 @@
+ 	node.rotation = [-90, 0, 0];
+ 	node.translation = [0, 0, 0];
+ 	node.center = [(xmin + xmax) / 2, (ymin + ymax) / 2, (zmin + zmax) / 2];
+-	node.texture = initTexture(gl,options.getfieldvalue('overlay_image'));
+-	node.alpha = options.getfieldvalue('outeralpha',1.0);
++	node.texture = initTexture(gl, options.getfieldvalue('overlay_image'));
++	node.alpha = options.getfieldvalue('outeralpha', 1.0);
+ 	node.drawOrder = 1;
+ 	node.maskEnabled = options.getfieldvalue('outermask','off') == 'on';
+-	node.maskHeight = options.getfieldvalue('outermaskheight',150.0);
+-	node.maskColor = options.getfieldvalue('outermaskcolor',[0.0,0.0,1.0,1.0]);
++	node.maskHeight = options.getfieldvalue('outermaskheight', 150.0);
++	node.maskColor = options.getfieldvalue('outermaskcolor',[0.0, 0.0, 1.0, 1.0]);
+ 	updateModelMatrix(node);
+ 	
+ 	//Handle outer radaroverlay
+@@ -87,9 +87,9 @@
+ 		elements = [].concat(elements, newelements);
+ 		
+ 		//Reclaculate bounds based on otuer radaroverlay
+-		modelxlim = [ArrayMin(x),ArrayMax(x)];
+-		modelylim = [ArrayMin(y),ArrayMax(y)];
+-		modelzlim = [ArrayMin(z),ArrayMax(z)];
++		modelxlim = [ArrayMin(x), ArrayMax(x)];
++		modelylim = [ArrayMin(y), ArrayMax(y)];
++		modelzlim = [ArrayMin(z), ArrayMax(z)];
+ 		xmin = xlim[0];
+ 		xmax = xlim[1];
+ 		ymin = ylim[0];
+@@ -158,5 +158,5 @@
+ 		indices[indices.length] = element[1];
+ 		indices[indices.length] = element[2];
+ 	}
+-	node.mesh = GL.Mesh.load({vertices:vertices, coords:texcoords, triangles:indices}, null, null, gl);
++	node.mesh = GL.Mesh.load({vertices: vertices, coords: texcoords, triangles: indices}, null, null, gl);
+ } //}}}
+Index: ../trunk-jpl/src/m/classes/clusters/generic.js
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/generic.js	(revision 21682)
++++ ../trunk-jpl/src/m/classes/clusters/generic.js	(revision 21683)
+@@ -46,7 +46,11 @@
+ 			fclose(fid);
+ 	} //}}}
+ 	this.UploadAndRun = function (md,callbackfunction,callbackerrorfunction,callbackid,fid,toolkitsstring,solutionstring,name,runtimename) { //{{{
+-
++		if (!navigator.onLine) { //{{{
++			$(callbackid).html(sprintf("%-16s", "NO CONNECTION")).prop("disabled", false);
++			callbackerrorfunction();
++			return;
++		} //}}}
+ 		var request = new XMLHttpRequest();
+ 		$(callbackid).html(sprintf("%-16s", "CONNECTING...")).prop("disabled", true);
+ 		request.position = 0; //Keep track of current parsing position in repsonseText
+Index: ../trunk-jpl/src/m/io/saveAsFile.js
+===================================================================
+--- ../trunk-jpl/src/m/io/saveAsFile.js	(revision 21682)
++++ ../trunk-jpl/src/m/io/saveAsFile.js	(revision 21683)
+@@ -1,6 +0,0 @@
+-function saveAsFile(content) {
+-
+-	var url='data:text/json:charset=utf8,' + encodeURIComponent(content);
+-	window.open(url, '_blank');
+-	window.focus();
+-}
+Index: ../trunk-jpl/src/m/io/download.js
+===================================================================
+--- ../trunk-jpl/src/m/io/download.js	(revision 21682)
++++ ../trunk-jpl/src/m/io/download.js	(revision 21683)
+@@ -1,31 +0,0 @@
+-function download() {
+-	//DOWNLOAD - save model/variable data to file
+-	//
+-	//   Usage:
+-	//      download=download('id','slr-download');
+-	//      download=download('id','slr-download','data',md.geometry.thickness,'data',md.results.Stressbalance.Vel);
+-
+-	//Convert arguments to options
+-	var args = Array.prototype.slice.call(arguments);
+-	var options = new pairoptions(args.slice());
+-	
+-	//Recover option values:
+-	var id = options.getfieldvalue('id','');
+-	
+-	document.getElementById(id).addEventListener('click', function() {
+-		var data = {'elements':md.mesh.elements,'x':md.mesh.x,'y':md.mesh.y,'z':md.mesh.z};
+-		for (var i=2; i < args.length; i+=2) {
+-			try { 
+-				data[args[i]] = args[i+1];
+-			}
+-			catch (e) { 
+-				console.log(e); 
+-			}
+-		}
+-		string = JSONfn.stringify(data);
+-		
+-		var url='data:text/json:charset=utf8,' + encodeURIComponent(string);
+-		window.open(url, '_blank');
+-		window.focus();
+-	});
+-}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21683-21684.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21683-21684.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21683-21684.diff	(revision 21726)
@@ -0,0 +1,156 @@
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh	(revision 21683)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh	(revision 21684)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.5 src
++rm -rf install petsc-3.7.6 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.5.tar.gz
+-mv petsc-3.7.5/* src/
+-rm -rf petsc-3.7.5
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh	(revision 21683)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh	(revision 21684)
+@@ -4,16 +4,16 @@
+ #WARNING: make sure you have the right mpi
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.5 src
++rm -rf install petsc-3.7.6 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.5.tar.gz
+-mv petsc-3.7.5/* src/
+-rm -rf petsc-3.7.5
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh	(revision 21683)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh	(revision 21684)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.5 src
++rm -rf install petsc-3.7.6 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.5.tar.gz
+-mv petsc-3.7.5/* src/
+-rm -rf petsc-3.7.5
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh	(revision 21683)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh	(revision 21684)
+@@ -4,16 +4,16 @@
+ #WARNING: make sure you have the right mpi:
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.5 src
++rm -rf install petsc-3.7.6 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.5.tar.gz
+-mv petsc-3.7.5/* src/
+-rm -rf petsc-3.7.5
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21683)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21684)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.5 src
++rm -rf install petsc-3.7.6 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.5.tar.gz
+-mv petsc-3.7.5/* src/
+-rm -rf petsc-3.7.5
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
+ 
+ #configure
+ cd src
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21683)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21684)
+@@ -2,16 +2,16 @@
+ set -eu
+ 
+ #Some cleanup
+-rm -rf install petsc-3.7.5 src
++rm -rf install petsc-3.7.6 src
+ mkdir install src
+ 
+ #Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.5.tar.gz' 'petsc-3.7.5.tar.gz'
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+ 
+ #Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.5.tar.gz
+-mv petsc-3.7.5/* src/
+-rm -rf petsc-3.7.5
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
+ 
+ #configure
+ cd src
Index: /issm/oecreview/Archive/21337-21723/ISSM-21684-21685.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21684-21685.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21684-21685.diff	(revision 21726)
@@ -0,0 +1,98 @@
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21684)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades_dakota6.2.sh	(revision 21685)
+@@ -1,65 +0,0 @@
+-#!/bin/bash
+-set -eu
+-
+-#Some cleanup
+-rm -rf install petsc-3.7.6 src
+-mkdir install src
+-
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
+-
+-#Untar and move petsc to install directory
+-tar -zxvf  petsc-3.7.6.tar.gz
+-mv petsc-3.7.6/* src/
+-rm -rf petsc-3.7.6
+-
+-#configure
+-cd src
+-./config/configure.py \
+-	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
+-	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
+-	--with-cc=icc --with-cxx=icpc --with-fc=ifort --with-f77=ifort \
+-	--with-blas-lapack-dir="/nasa/intel/mkl/10.0.011" \
+-	--known-mpi-shared-libraries=1 \
+-	--with-debugging=0 \
+-	--with-valgrind=0 \
+-	--with-x=0 \
+-	--with-ssl=0 \
+-	--with-batch=1  \
+-	--with-shared-libraries=1 \
+-	--download-metis=1 \
+-	--download-parmetis=1 \
+-	--download-mumps=1 \
+-	--download-scalapack=1 \
+-	--download-ml=1 \
+-	--download-pastix=1 \
+-	--download-ptscotch=1 \
+-	--download-hypre=1 \
+-	--download-euclid=1 \
+-	--download-spooles=1 \
+-	--download-spai=1 \
+-	--download-superlu_dist=1 \
+-	--download-scalapack=1 
+-
+-#prepare script to reconfigure petsc
+-cat > script.queue << EOF
+-#PBS -S /bin/bash
+-#PBS -l select=1:ncpus=1:model=bro
+-#PBS -l walltime=200 
+-#PBS -W group_list=s1690
+-#PBS -m e 
+-
+-. /usr/share/modules/init/bash 
+-module load comp-intel/2016.2.181
+-module load mpi-sgi/mpt
+-module load math/intel_mkl_64_10.0.011
+-
+-export PATH="$PATH:." 
+-export MPI_GROUP_MAX=64 
+-mpiexec -np 1 ./conftest-arch-linux2-c-opt
+-EOF
+-
+-#print instructions
+-echo "== Now: cd src/ "
+-echo "== qsub -q devel script.queue "
+-echo "== Then run reconfigure script generated by PETSc and follow instructions"
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21684)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh	(revision 21685)
+@@ -30,15 +30,6 @@
+ 	--download-metis=1 \
+ 	--download-parmetis=1 \
+ 	--download-mumps=1 \
+-	--download-scalapack=1 \
+-	--download-ml=1 \
+-	--download-pastix=1 \
+-	--download-ptscotch=1 \
+-	--download-hypre=1 \
+-	--download-euclid=1 \
+-	--download-spooles=1 \
+-	--download-spai=1 \
+-	--download-superlu_dist=1 \
+ 	--download-scalapack=1 
+ 
+ #prepare script to reconfigure petsc
+@@ -50,6 +41,7 @@
+ #PBS -m e 
+ 
+ . /usr/share/modules/init/bash 
++module load pkgsrc
+ module load comp-intel/2016.2.181
+ module load mpi-sgi/mpt
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21685-21686.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21685-21686.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21685-21686.diff	(revision 21726)
@@ -0,0 +1,42 @@
+Index: ../trunk-jpl/externalpackages/boost/configs/1.55/adl.hpp.lonestar.patch
+===================================================================
+--- ../trunk-jpl/externalpackages/boost/configs/1.55/adl.hpp.lonestar.patch	(revision 21685)
++++ ../trunk-jpl/externalpackages/boost/configs/1.55/adl.hpp.lonestar.patch	(revision 21686)
+@@ -1,7 +0,0 @@
+-33,34c33,35
+-<         || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
+-<         )
+----
+-> 		 )
+-> //        || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
+-> //        )
+Index: ../trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh	(revision 21685)
++++ ../trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh	(revision 21686)
+@@ -21,11 +21,7 @@
+ mv boost_1_55_0/* src
+ rm -rf boost_1_55_0
+ 
+-#patch src/boost/atomic/detail/cas128strong.hpp ./configs/1.55/cas128strong.hpp.patch
+-#patch src/boost/atomic/detail/gcc-atomic.hpp ./configs/1.55/gcc-atomic.hpp.patch
+-#patch src/tools/build/v2/user-config.jam ./configs/1.55/user-config.jam.patch
+-#patch src/tools/build/v2/tools/darwin.jam ./configs/1.55/darwin.jam.patch
+-#patch src/tools/build/v2/tools/darwin.py ./configs/1.55/darwin.py.patch
++patch src/boost/mpl/aux_/config/adl.hpp ./configs/1.55/adl.hpp.patch
+ 
+ #Configure and compile
+ cd src 
+Index: ../trunk-jpl/externalpackages/boost/install-1.55-lonestar.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/boost/install-1.55-lonestar.sh	(revision 21685)
++++ ../trunk-jpl/externalpackages/boost/install-1.55-lonestar.sh	(revision 21686)
+@@ -21,7 +21,7 @@
+ mv boost_1_55_0/* src
+ rm -rf boost_1_55_0
+ 
+-patch src/boost/mpl/aux_/config/adl.hpp ./configs/1.55/adl.hpp.lonestar.patch
++patch src/boost/mpl/aux_/config/adl.hpp ./configs/1.55/adl.hpp.patch
+ 
+ #Configure and compile
+ cd src 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21686-21687.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21686-21687.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21686-21687.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/externalpackages/dakota/configs/6.2/CMakeLists.txt.pfe.patch
+===================================================================
+--- ../trunk-jpl/externalpackages/dakota/configs/6.2/CMakeLists.txt.pfe.patch	(revision 21686)
++++ ../trunk-jpl/externalpackages/dakota/configs/6.2/CMakeLists.txt.pfe.patch	(revision 21687)
+@@ -2,5 +2,5 @@
+ < # TODO: Can't this be integrated into the following logic?
+ ---
+ > # TODO: Can't this be integrated into the following logic?
+-> set(BLAS_LIBS "-L/nasa/intel/mkl/10.0.011/lib/em64t/ -lmkl -lmkl_lapack -liomp5 -lpthread")
+-> set(LAPACK_LIBS "-L/nasa/intel/mkl/10.0.011/lib/em64t/ -lmkl -lmkl_lapack -liomp5 -lpthread")
++> set(BLAS_LIBS "-L/nasa/intel/Compiler/2016.2.181/compilers_and_libraries_2016.2.181/linux/mkl/lib/intel64/ -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -L/usr/lib64/ -lpthread -lm")
++> set(LAPACK_LIBS "-L/nasa/intel/Compiler/2016.2.181/compilers_and_libraries_2016.2.181/linux/mkl/lib/intel64/ -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -L/usr/lib64/ -lpthread -lm")
Index: /issm/oecreview/Archive/21337-21723/ISSM-21687-21688.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21687-21688.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21687-21688.diff	(revision 21726)
@@ -0,0 +1,68 @@
+Index: ../trunk-jpl/externalpackages/boost/install-1.55-pleiades_dakota6.2.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/boost/install-1.55-pleiades_dakota6.2.sh	(revision 21687)
++++ ../trunk-jpl/externalpackages/boost/install-1.55-pleiades_dakota6.2.sh	(revision 21688)
+@@ -1,38 +0,0 @@
+-#!/bin/bash
+-set -eu
+-
+-#Note of caution:  stop after boostrap phase, and run 
+-#bjam --debug-configuration, to figure out which paths boost is using to include 
+-#python. make sure everyone of these paths is covered by python. If not, just make 
+-#symlinks in externalpackages/python to what boost is expecting. Ther is NO WAY 
+-#to get the boost library to include python support without doing that. 
+-
+-#Some cleanup
+-rm -rf install boost_1_55_0 src
+-mkdir install src
+-
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/boost_1_55_0.tar.gz' 'boost_1_55_0.tar.gz'
+-
+-#Untar 
+-tar -zxvf  boost_1_55_0.tar.gz
+-
+-#Move boost into install directory
+-mv boost_1_55_0/* src
+-rm -rf boost_1_55_0
+-
+-patch src/boost/mpl/aux_/config/adl.hpp ./configs/1.55/adl.hpp.lonestar.patch
+-
+-#Configure and compile
+-cd src 
+-./bootstrap.sh \
+-	--prefix="$ISSM_DIR/externalpackages/boost/install" \
+-	--with-python=python3.2 \
+-	--with-python-root="$ISSM_DIR/externalpackages/python/install" 
+-
+-#Compile boost
+-./bjam install
+-
+-#put bjam into install also: 
+-mkdir ../install/bin
+-cp bjam ../install/bin
+Index: ../trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh	(revision 21687)
++++ ../trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh	(revision 21688)
+@@ -27,17 +27,12 @@
+ cd src 
+ ./bootstrap.sh \
+ 	--prefix="$ISSM_DIR/externalpackages/boost/install" \
+-	--with-python=python2.7 \
+-	--with-python-root="$ISSM_DIR/externalpackages/python/install" \
+-	--with-toolset=intel-linux
++	--with-python=python3.2 \
++	--with-python-root="$ISSM_DIR/externalpackages/python/install" 
+ 
+ #Compile boost
+-# Need gcc with iconv installed in a location that has been added to your path
+-./b2 toolset=intel-linux cxxflags=-static-libstdc++ linkflags=-static-libstdc++ threading=multi install
+-#./bjam install
++./bjam install
+ 
+-#./b2 toolset=clang cxxflags=-stdlib=libstdc++ linkflags=-stdlib=libstdc++ -j2 variant=release link=static threading=multi instal
+-
+ #put bjam into install also: 
+ mkdir ../install/bin
+ cp bjam ../install/bin
Index: /issm/oecreview/Archive/21337-21723/ISSM-21688-21689.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21688-21689.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21688-21689.diff	(revision 21726)
@@ -0,0 +1,330 @@
+Index: ../trunk-jpl/externalpackages/dakota/install-4.2-pleiades-petsc3.3.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/dakota/install-4.2-pleiades-petsc3.3.sh	(revision 21688)
++++ ../trunk-jpl/externalpackages/dakota/install-4.2-pleiades-petsc3.3.sh	(revision 21689)
+@@ -1,103 +0,0 @@
+-#!/bin/bash
+-set -eu
+-
+-#Some cleanup
+-rm -rf Dakota
+-rm -rf src
+-rm -rf install
+-mkdir src install
+-
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/Dakota_4_3.src.tar.gz' 'Dakota_4_3.src.tar.gz'
+-
+-#Untar 
+-tar -zxvf  Dakota_4_3.src.tar.gz
+-
+-#Move Dakota to src directory
+-mv Dakota/* src
+-rm -rf Dakota
+-
+-#Apply patches
+-patch src/src/ParallelLibrary.C configs/4.2/ParallelLibrary.C.patch
+-patch src/src/ParallelLibrary.H configs/4.2/ParallelLibrary.H.patch
+-patch src/src/NIDRProblemDescDB.C configs/4.2/NIDRProblemDescDB.C.patch
+-patch src/src/NonDSampling.C configs/4.2/NonDSampling.C.patch
+-patch src/src/NonDLocalReliability.C configs/4.2/NonDLocalReliability.C.patch
+-patch src/src/NonDUnilevelRBDO.C configs/4.2/NonDUnilevelRBDO.C.patch    #  source not even used?
+-#patch -R src/packages/Pecos/src/LHSDriver.cpp configs/4.2/LHSDriver.cpp.patch
+-
+-#Configure dakota
+-cd src
+-./configure \
+---prefix="$ISSM_DIR/externalpackages/dakota/install/" \
+---without-graphics  \
+---with-pic \
+---disable-mpi \
+---with-blas="-L$ISSM_DIR/externalpackages/petsc/install/lib -lfblas " \
+---with-lapack="-L$ISSM_DIR/externalpackages/petsc/install/lib -lflapack "
+-
+-#--with-blas="-L/nasa/intel/mkl/10.0.011/lib/64/ -lmkl -lmkl_lapack -liomp5 -lpthread" \
+-#--with-lapack="-L/nasa/intel/mkl/10.0.011/lib/64/ -lmkl -lmkl_lapack -liomp5 -lpthread"
+-#--with-blas="-L/nasa/intel/Compiler/11.1/046/mkl/lib/em64t/ -lmkl_intel_lp64 -lmkl_lapack" \
+-#--with-lapack="-L/nasa/intel/Compiler/11.1/046/mkl/lib/em64t/ -lmkl_intel_lp64 -lmkl_lapack"
+-
+-cd ..
+-
+-#Before compiling, if running on 64 bits, we need to active fPIC compilation. Some packages 
+-#do not register -fPIC in Dakota, which is a problem. Edit the faulty Makefiles and add the -fPIC 
+-#flag to the compilation.
+-cat ./src/methods/NCSUOpt/Makefile | sed 's/FFLAGS = -g -O2/FFLAGS = -g -O2 -fPIC/g' >  temp
+-mv temp ./src/methods/NCSUOpt/Makefile
+-
+-cat ./src/methods/acro/packages/pebbl/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp ./src/methods/acro/packages/pebbl/src/Makefile
+-
+-cat ./src/methods/hopspack/src-nappspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2  -fPIC/g' > temp
+-mv temp ./src/methods/hopspack/src-nappspack/Makefile
+-
+-cat ./src/methods/hopspack/src-cddlib/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-cddlib/Makefile
+-
+-cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-shared/Makefile
+-
+-cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2  -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-shared/Makefile
+-
+-cat ./src/methods/hopspack/src-conveyor/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-conveyor/Makefile
+-
+-cat ./src/methods/hopspack/src-appspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2  -fPIC/g' > temp
+-mv temp ./src/methods/hopspack/src-appspack/Makefile
+-
+-cat ./src/methods/acro/packages/colin/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp ./src/methods/acro/packages/colin/src/Makefile
+-
+-cat ./src/methods/acro/packages/coliny/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp ./src/methods/acro/packages/coliny/src/Makefile
+-
+-cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CFLAGS = -O2/CFLAGS = -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/acro/packages/tpl/3po/Makefile
+-
+-cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp  ./src/methods/acro/packages/tpl/3po/Makefile
+-
+-cat ./src/packages/ampl/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/packages/ampl/Makefile
+-
+-#Compile and install dakota
+-cd src
+-if [ $# -eq 0 ];
+-then
+-	make
+-	make install
+-else
+-	make -j $1
+-	make -j $1 install
+-fi
+-cd ..
+-
+-#Weird behaviour of Dakota: libamplsolver.a and amplsolver.a are not the same thing!
+-cd install/lib
+-mv libamplsolver.a libamplsolver.a.bak
+-ln -s ../../src/packages/ampl/amplsolver.a ./libamplsolver.a
+Index: ../trunk-jpl/externalpackages/dakota/install-4.2-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/dakota/install-4.2-pleiades.sh	(revision 21688)
++++ ../trunk-jpl/externalpackages/dakota/install-4.2-pleiades.sh	(revision 21689)
+@@ -1,97 +0,0 @@
+-#!/bin/bash
+-set -eu
+-
+-#Some cleanup
+-rm -rf Dakota
+-rm -rf src
+-rm -rf install
+-mkdir src install
+-
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/Dakota_4_3.src.tar.gz' 'Dakota_4_3.src.tar.gz'
+-
+-#Untar 
+-tar -zxvf  Dakota_4_3.src.tar.gz
+-
+-#Move Dakota to src directory
+-mv Dakota/* src
+-rm -rf Dakota
+-
+-#Apply patches
+-patch src/src/ParallelLibrary.C configs/4.2/ParallelLibrary.C.patch
+-patch src/src/ParallelLibrary.H configs/4.2/ParallelLibrary.H.patch
+-patch src/src/NIDRProblemDescDB.C configs/4.2/NIDRProblemDescDB.C.patch
+-patch src/src/NonDSampling.C configs/4.2/NonDSampling.C.patch
+-patch src/src/NonDLocalReliability.C configs/4.2/NonDLocalReliability.C.patch
+-patch src/src/NonDUnilevelRBDO.C configs/4.2/NonDUnilevelRBDO.C.patch    #  source not even used?
+-#patch -R src/packages/Pecos/src/LHSDriver.cpp configs/4.2/LHSDriver.cpp.patch
+-
+-#Configure dakota
+-cd src
+-./configure \
+---prefix="$ISSM_DIR/externalpackages/dakota/install/" \
+---without-graphics  \
+---with-pic \
+---disable-mpi \
+---with-blas="-L/nasa/intel/mkl/10.0.011/lib/64/ -lmkl -lmkl_lapack -liomp5 -lpthread" \
+---with-lapack="-L/nasa/intel/mkl/10.0.011/lib/64/ -lmkl -lmkl_lapack -liomp5 -lpthread"
+-cd ..
+-
+-#Before compiling, if running on 64 bits, we need to active fPIC compilation. Some packages 
+-#do not register -fPIC in Dakota, which is a problem. Edit the faulty Makefiles and add the -fPIC 
+-#flag to the compilation.
+-cat ./src/methods/NCSUOpt/Makefile | sed 's/FFLAGS = -g -O2/FFLAGS = -g -O2 -fPIC/g' >  temp
+-mv temp ./src/methods/NCSUOpt/Makefile
+-
+-cat ./src/methods/acro/packages/pebbl/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp ./src/methods/acro/packages/pebbl/src/Makefile
+-
+-cat ./src/methods/hopspack/src-nappspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2  -fPIC/g' > temp
+-mv temp ./src/methods/hopspack/src-nappspack/Makefile
+-
+-cat ./src/methods/hopspack/src-cddlib/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-cddlib/Makefile
+-
+-cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-shared/Makefile
+-
+-cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2  -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-shared/Makefile
+-
+-cat ./src/methods/hopspack/src-conveyor/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/hopspack/src-conveyor/Makefile
+-
+-cat ./src/methods/hopspack/src-appspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2  -fPIC/g' > temp
+-mv temp ./src/methods/hopspack/src-appspack/Makefile
+-
+-cat ./src/methods/acro/packages/colin/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp ./src/methods/acro/packages/colin/src/Makefile
+-
+-cat ./src/methods/acro/packages/coliny/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp ./src/methods/acro/packages/coliny/src/Makefile
+-
+-cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CFLAGS = -O2/CFLAGS = -O2 -fPIC/g' > temp
+-mv temp  ./src/methods/acro/packages/tpl/3po/Makefile
+-
+-cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CFLAGS = -O2 -fpermissive -fPIC/g' > temp
+-mv temp  ./src/methods/acro/packages/tpl/3po/Makefile
+-
+-cat ./src/packages/ampl/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+-mv temp  ./src/packages/ampl/Makefile
+-
+-#Compile and install dakota
+-cd src
+-if [ $# -eq 0 ];
+-then
+-	make
+-	make install
+-else
+-	make -j $1
+-	make -j $1 install
+-fi
+-cd ..
+-
+-#Weird behaviour of Dakota: libamplsolver.a and amplsolver.a are not the same thing!
+-cd install/lib
+-mv libamplsolver.a libamplsolver.a.bak
+-ln -s ../../src/packages/ampl/amplsolver.a ./libamplsolver.a
+Index: ../trunk-jpl/externalpackages/dakota/install-5.3.1-pleiades.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/dakota/install-5.3.1-pleiades.sh	(revision 21688)
++++ ../trunk-jpl/externalpackages/dakota/install-5.3.1-pleiades.sh	(revision 21689)
+@@ -1,51 +0,0 @@
+-#!/bin/bash
+-set -eu
+-
+-#Some cleanup
+-rm -rf Dakota
+-rm -rf src 
+-rm -rf build 
+-rm -rf install 
+-mkdir src build install 
+-
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/dakota-5.3.1-public-src.tar.gz' 'dakota-5.3.1-public-src.tar.gz'
+-
+-#Untar 
+-tar -zxvf dakota-5.3.1-public-src.tar.gz
+-
+-#Move Dakota to src directory
+-mv dakota-5.3.1.src/* src
+-rm -rf dakota-5.3.1.src
+-
+-#Set up Dakota cmake variables and config
+-export DAK_SRC=$ISSM_DIR/externalpackages/dakota/src
+-export DAK_BUILD=$ISSM_DIR/externalpackages/dakota/build
+-cp $DAK_SRC/cmake/BuildDakotaTemplate.cmake $DAK_SRC/cmake/BuildDakotaCustom.cmake
+-patch $DAK_SRC/cmake/BuildDakotaCustom.cmake configs/5.3.1/BuildDakotaCustom.cmake.pfe.patch
+-patch $DAK_SRC/cmake/DakotaDev.cmake configs/5.3.1/DakotaDev.cmake.patch
+-patch $DAK_SRC/CMakeLists.txt configs/5.3.1/CMakeLists.txt.pfe.patch
+-
+-#Apply patches
+-patch src/src/ParallelLibrary.cpp configs/5.3.1/ParallelLibrary.cpp.patch
+-patch src/src/ParallelLibrary.hpp configs/5.3.1/ParallelLibrary.hpp.patch
+-patch src/src/NonDSampling.cpp configs/5.3.1/NonDSampling.cpp.patch
+-patch src/src/NonDLocalReliability.cpp configs/5.3.1/NonDLocalReliability.cpp.patch
+-patch src/packages/pecos/src/pecos_global_defs.hpp configs/5.3.1/pecos_global_defs.hpp.patch
+-
+-#Configure dakota
+-cd $DAK_BUILD
+-cmake -C $DAK_SRC/cmake/BuildDakotaCustom.cmake -C $DAK_SRC/cmake/DakotaDev.cmake $DAK_SRC
+-cd ..
+-
+-#Compile and install dakota
+-cd $DAK_BUILD
+-if [ $# -eq 0 ];
+-then
+-	make
+-	make install
+-else
+-	make -j $1
+-	make -j $1 install
+-fi
+-cd ..
+Index: ../trunk-jpl/externalpackages/dakota/install-5.2-pleiades-petsc3.3.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/dakota/install-5.2-pleiades-petsc3.3.sh	(revision 21688)
++++ ../trunk-jpl/externalpackages/dakota/install-5.2-pleiades-petsc3.3.sh	(revision 21689)
+@@ -1,59 +0,0 @@
+-#!/bin/bash
+-set -eu
+-
+-#Some cleanup
+-rm -rf Dakota
+-rm -rf src
+-rm -rf install
+-mkdir src install
+-
+-#Download from ISSM server
+-$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/Dakota_5_2.src.tar.gz' 'Dakota_5_2.src.tar.gz'
+-
+-#Untar 
+-tar -zxvf Dakota_5_2.src.tar.gz
+-
+-#Move Dakota to src directory
+-mv Dakota/* src
+-rm -rf Dakota
+-
+-#Apply patches
+-patch src/src/ParallelLibrary.C configs/5.2/ParallelLibrary.C.patch
+-patch src/src/ParallelLibrary.H configs/5.2/ParallelLibrary.H.patch
+-#patch src/src/NIDRProblemDescDB.C configs/5.2/NIDRProblemDescDB.C.patch    #  causes segfault in 5.2
+-patch src/src/NonDSampling.C configs/5.2/NonDSampling.C.patch
+-patch src/src/NonDLocalReliability.C configs/5.2/NonDLocalReliability.C.patch
+-patch src/src/NonDUnilevelRBDO.C configs/5.2/NonDUnilevelRBDO.C.patch    #  source not even used?
+-patch src/packages/pecos/src/pecos_global_defs.hpp configs/5.2/pecos_global_defs.hpp.patch
+-
+-#Configure dakota
+-cd src
+-./configure \
+---prefix="$ISSM_DIR/externalpackages/dakota/install/" \
+---without-graphics  \
+---with-pic \
+---disable-mpi \
+---with-plugin \
+---with-blas="-L/nasa/intel/mkl/10.0.011/lib/em64t/ -lmkl -lmkl_lapack -liomp5 -lpthread" \
+---with-lapack="-L/nasa/intel/mkl/10.0.011/lib/em64t/ -lmkl -lmkl_lapack -liomp5 -lpthread"
+-
+-#--with-blas=/nasa/intel/Compiler/2012.0.032/mkl/lib/intel64/libmkl_intel_lp64.a \
+-#--with-lapack=/nasa/intel/Compiler/2012.0.032/mkl/lib/intel64/libmkl_intel_lp64.a 
+-#--with-blas="-L/nasa/intel/mkl/10.0.011/lib/64/ -lmkl -lmkl_lapack -liomp5 -lpthread" \
+-#--with-lapack="-L/nasa/intel/mkl/10.0.011/lib/64/ -lmkl -lmkl_lapack -liomp5 -lpthread"
+-#--with-blas="-L/nasa/intel/Compiler/11.1/046/mkl/lib/em64t/ -lmkl_intel_lp64 -lmkl_lapack" \
+-#--with-lapack="-L/nasa/intel/Compiler/11.1/046/mkl/lib/em64t/ -lmkl_intel_lp64 -lmkl_lapack"
+-
+-cd ..
+-
+-#Compile and install dakota
+-cd src
+-if [ $# -eq 0 ];
+-then
+-	make
+-	make install
+-else
+-	make -j $1
+-	make -j $1 install
+-fi
+-cd ..
Index: /issm/oecreview/Archive/21337-21723/ISSM-21689-21690.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21689-21690.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21689-21690.diff	(revision 21726)
@@ -0,0 +1,16 @@
+Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21689)
++++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21690)
+@@ -52,8 +52,9 @@
+ 				}
+ 				/*Free ressources:*/
+ 				for(j=0;j<numgates;j++){
+-					char*       string = gatenames[j];    xDelete<char>(string);
+-					IssmDouble* gate   = gatesegments[j]; xDelete<IssmDouble>(gate);
++					char*       string  = gatenames[j];             xDelete<char>(string);
++					char*       string2 = gatedefinitionstrings[j]; xDelete<char>(string2);
++					IssmDouble* gate    = gatesegments[j];          xDelete<IssmDouble>(gate);
+ 				}
+ 				xDelete<char*>(gatenames);
+ 				xDelete<IssmDouble*>(gatesegments);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21690-21691.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21690-21691.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21690-21691.diff	(revision 21726)
@@ -0,0 +1,48 @@
+Index: ../trunk-jpl/externalpackages/valgrind/issm.supp
+===================================================================
+--- ../trunk-jpl/externalpackages/valgrind/issm.supp	(revision 21690)
++++ ../trunk-jpl/externalpackages/valgrind/issm.supp	(revision 21691)
+@@ -39,6 +39,22 @@
+    fun:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag
+    fun:_ZNSsC1EPKcRKSaIcE
+ }
++{
++	<Libgfortranronne>
++	  Memcheck:Cond
++	  obj:/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
++	  obj:/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
++	  obj:/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
++	  fun:call_init.part.0
++	  fun:call_init
++	  fun:_dl_init
++	  obj:/lib/x86_64-linux-gnu/ld-2.15.so
++	  obj:*
++	  obj:*
++	  obj:*
++	  obj:*
++	  obj:*
++}
+ #}}}
+ #PETSc {{{
+ {
+@@ -226,4 +242,20 @@
+ 	  fun:MatLUFactorSymbolic
+ 	  fun:PCSetUp_LU
+ }
++{
++	<mumps15>
++	  Memcheck:Cond
++	  fun:MPIC_Waitall
++	  fun:MPIR_Alltoall_intra
++	  fun:MPIR_Alltoall
++	  fun:MPIR_Alltoall_impl
++	  fun:PMPI_Alltoall
++	  fun:PMPI_ALLTOALL
++	  fun:dmumps_numvolsndrcv_
++	  fun:dmumps_simscaleabsuns_
++	  fun:dmumps_simscaleabs_
++	  fun:dmumps_fac_driver_
++	  fun:dmumps_
++	  fun:dmumps_f77_
++}
+ #}}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21691-21692.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21691-21692.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21691-21692.diff	(revision 21726)
@@ -0,0 +1,212 @@
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-linux64-static.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-linux64-static.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-linux64-static.sh	(revision 21692)
+@@ -0,0 +1,36 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf install petsc-3.7.6 src
++mkdir install src
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
++
++#Untar and move petsc to install directory
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
++
++#configure
++cd src
++./config/configure.py \
++	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
++	--with-mpi-dir="$ISSM_DIR/externalpackages/mpich/install" \
++	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
++	--with-debugging=0 \
++	--with-valgrind=0 \
++	--with-x=0 \
++	--with-ssl=0 \
++	--with-shared-libraries=0 \
++	--download-metis=1 \
++	--download-parmetis=1 \
++	--download-mumps=1 \
++	--download-fblaslapack=1 \
++	--download-scalapack=1 \
++	--with-pic=1
++
++#Compile and intall
++make
++make install
+
+Property changes on: ../trunk-jpl/externalpackages/petsc/install-3.7-linux64-static.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64-static.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64-static.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64-static.sh	(revision 21692)
+@@ -0,0 +1,35 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf install petsc-3.7.6 src
++mkdir install src
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/petsc-lite-3.7.6.tar.gz' 'petsc-3.7.6.tar.gz'
++
++#Untar and move petsc to install directory
++tar -zxvf  petsc-3.7.6.tar.gz
++mv petsc-3.7.6/* src/
++rm -rf petsc-3.7.6
++
++#configure
++cd src
++./config/configure.py \
++	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
++	--with-mpi-dir="$ISSM_DIR/externalpackages/mpich/install" \
++	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
++	--with-debugging=0 \
++	--with-valgrind=0 \
++	--with-x=0 \
++	--with-ssl=0 \
++	--with-shared-libraries=0 \
++	--download-metis=1 \
++	--download-parmetis=1 \
++	--download-mumps=1 \
++	--download-fblaslapack=1 \
++	--download-scalapack=1
++
++#Compile and intall
++make
++make install
+
+Property changes on: ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64-static.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh	(revision 21691)
++++ ../trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh	(revision 21692)
+@@ -16,13 +16,10 @@
+ #configure
+ cd src
+ ./config/configure.py \
+-	--CXXOPTFLAGS="-g -O3" \
+-	--COPTFLAGS="-g -O3" \
+-	--FOPTFLAGS="-g -O3" \
+ 	--prefix="$ISSM_DIR/externalpackages/petsc/install" \
+ 	--with-mpi-dir="$ISSM_DIR/externalpackages/mpich/install" \
+ 	--PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
+-	--with-debugging=0 \
++	--with-debugging=1 \
+ 	--with-valgrind=0 \
+ 	--with-x=0 \
+ 	--with-ssl=0 \
+Index: ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64-static.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64-static.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64-static.sh	(revision 21692)
+@@ -0,0 +1,33 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf src install mpich-3.2
++mkdir src install
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/mpich-3.2.tar.gz' 'mpich-3.2.tar.gz'
++
++#Untar 
++tar -zxvf  mpich-3.2.tar.gz
++
++#Move mpich into src directory
++mv mpich-3.2/* src
++rm -rf mpich-3.2
++
++#patch from http://lists.mpich.org/pipermail/discuss/2016-May/004764.html
++cat src/src/include/mpiimpl.h | sed -e 's/} MPID_Request ATTRIBUTE((__aligned__(32)));/} ATTRIBUTE((__aligned__(32))) MPID_Request;/g' > TEMP
++mv TEMP src/src/include/mpiimpl.h
++
++#Configure mpich
++cd src
++./configure \
++	--prefix="$ISSM_DIR/externalpackages/mpich/install"
++
++#Compile mpich (this new version supports parallel make)
++if [ $# -eq 0 ]; then
++	make
++else
++	make -j $1
++fi
++make install 
+
+Property changes on: ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64-static.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/externalpackages/mpich/install-3.2-linux64-static.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/mpich/install-3.2-linux64-static.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/mpich/install-3.2-linux64-static.sh	(revision 21692)
+@@ -0,0 +1,30 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf src install mpich-3.2
++mkdir src install
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/mpich-3.2.tar.gz' 'mpich-3.2.tar.gz'
++
++#Untar 
++tar -zxvf  mpich-3.2.tar.gz
++
++#Move mpich into src directory
++mv mpich-3.2/* src
++rm -rf mpich-3.2
++
++#Configure mpich
++cd src
++./configure \
++	--prefix="$ISSM_DIR/externalpackages/mpich/install" \
++	--disable-shared \
++
++#Compile mpich (this new version supports parallel make)
++if [ $# -eq 0 ]; then
++	make
++else
++	make -j $1
++fi
++make install 
+
+Property changes on: ../trunk-jpl/externalpackages/mpich/install-3.2-linux64-static.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh	(revision 21691)
++++ ../trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh	(revision 21692)
+@@ -15,6 +15,10 @@
+ mv mpich-3.2/* src
+ rm -rf mpich-3.2
+ 
++#patch from http://lists.mpich.org/pipermail/discuss/2016-May/004764.html
++cat src/src/include/mpiimpl.h | sed -e 's/} MPID_Request ATTRIBUTE((__aligned__(32)));/} ATTRIBUTE((__aligned__(32))) MPID_Request;/g' > TEMP
++mv TEMP src/src/include/mpiimpl.h
++
+ #Configure mpich
+ cd src
+ ./configure \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21692-21693.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21692-21693.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21692-21693.diff	(revision 21726)
@@ -0,0 +1,41 @@
+Index: ../trunk-jpl/externalpackages/mpich/install-3.2-linux64.sh
+===================================================================
+--- ../trunk-jpl/externalpackages/mpich/install-3.2-linux64.sh	(revision 0)
++++ ../trunk-jpl/externalpackages/mpich/install-3.2-linux64.sh	(revision 21693)
+@@ -0,0 +1,30 @@
++#!/bin/bash
++set -eu
++
++#Some cleanup
++rm -rf src install mpich-3.2
++mkdir src install
++
++#Download from ISSM server
++$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/mpich-3.2.tar.gz' 'mpich-3.2.tar.gz'
++
++#Untar 
++tar -zxvf  mpich-3.2.tar.gz
++
++#Move mpich into src directory
++mv mpich-3.2/* src
++rm -rf mpich-3.2
++
++#Configure mpich
++cd src
++./configure \
++	--prefix="$ISSM_DIR/externalpackages/mpich/install" \
++	--enable-shared
++
++#Compile mpich (this new version supports parallel make)
++if [ $# -eq 0 ]; then
++	make
++else
++	make -j $1
++fi
++make install 
+
+Property changes on: ../trunk-jpl/externalpackages/mpich/install-3.2-linux64.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21693-21694.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21693-21694.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21693-21694.diff	(revision 21726)
@@ -0,0 +1,413 @@
+Index: ../trunk-jpl/jenkins/macosx_pine-island_examples
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_examples	(revision 21693)
++++ ../trunk-jpl/jenkins/macosx_pine-island_examples	(revision 21694)
+@@ -11,7 +11,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich -lmpich -lmpl" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install  \
+ 	--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -33,9 +33,9 @@
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools    install.sh
+ 						cmake        install.sh
+-						mpich        install-3.0-macosx64.sh
++						mpich        install-3.2-macosx64.sh
+ 						m1qn3        install.sh
+-						petsc        install-3.6-macosx64.sh
++						petsc        install-3.7-macosx64.sh
+ 						triangle     install-macosx64.sh
+ 						shell2junit  install.sh"
+ 
+Index: ../trunk-jpl/jenkins/linux64_caladan
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_caladan	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_caladan	(revision 21694)
+@@ -12,7 +12,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -39,8 +39,8 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh                
+-						mpich         install-3.0-linux64.sh    
+-						petsc         install-3.6-linux64.sh    
++						mpich         install-3.2-linux64.sh    
++						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						boost         install.sh                
+ 						dakota        install-6.2-linux64.sh  
+Index: ../trunk-jpl/jenkins/macosx_pine-island
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island	(revision 21693)
++++ ../trunk-jpl/jenkins/macosx_pine-island	(revision 21694)
+@@ -11,7 +11,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich -lmpich -lmpl" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install  \
+ 	--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -32,9 +32,9 @@
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools    install.sh
+ 						cmake        install.sh
+-						mpich        install-3.0-macosx64.sh
++						mpich        install-3.2-macosx64.sh
+ 						m1qn3        install.sh
+-						petsc        install-3.6-macosx64.sh
++						petsc        install-3.7-macosx64.sh
+ 						triangle     install-macosx64.sh
+ 						shell2junit  install.sh"
+ 
+Index: ../trunk-jpl/jenkins/linux64_ross_test
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_test	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_test	(revision 21694)
+@@ -12,7 +12,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -39,8 +39,8 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh                
+-						mpich         install-3.0-linux64.sh    
+-						petsc         install-3.6-linux64.sh    
++						mpich         install-3.2-linux64.sh    
++						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						boost         install.sh                
+ 						dakota        install-6.2-linux64.sh  
+Index: ../trunk-jpl/jenkins/linux64_ross
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross	(revision 21694)
+@@ -12,7 +12,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -37,7 +37,7 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh                
+-						mpich         install-3.0-linux64.sh    
++						mpich         install-3.2-linux64.sh    
+ 						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						chaco         install.sh 
+Index: ../trunk-jpl/jenkins/linux64_caladan_ad
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_caladan_ad	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_caladan_ad	(revision 21694)
+@@ -28,8 +28,8 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools install.sh                
+-					 mpich install-3.0-linux64.sh
+-					 petsc install-3.6-linux64.sh
++					 mpich install-3.2-linux64.sh
++					 petsc install-3.7-linux64.sh
+ 					 metis install-5.0.1-linux64.sh
+ 					 triangle install-linux64.sh 
+ 					 gsl install-linux64.sh 
+Index: ../trunk-jpl/jenkins/linux64_ross_python
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_python	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_python	(revision 21694)
+@@ -11,7 +11,7 @@
+ 	--disable-static \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -35,7 +35,7 @@
+ #-----------------------------------#
+ 
+ #List of external pakages to be installed and their installation scripts
+-EXTERNALPACKAGES="mpich         install-3.0-linux64.sh    
++EXTERNALPACKAGES="mpich         install-3.2-linux64.sh    
+ 						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						chaco         install.sh 
+Index: ../trunk-jpl/jenkins/linux64_caladan_ampi
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_caladan_ampi	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_caladan_ampi	(revision 21694)
+@@ -18,7 +18,7 @@
+ 				 --with-matlab-dir=$MATLAB_PATH \
+ 				 --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 				 --with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-				 --with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++				 --with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 				 --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 				 --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 				 --with-numthreads=4  \
+@@ -37,8 +37,8 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools install.sh 
+-					 mpich install-3.0-linux64.sh
+-					 petsc install-3.6-linux64.sh
++					 mpich install-3.2-linux64.sh
++					 petsc install-3.7-linux64.sh
+ 					 metis install-5.0.1-linux64.sh
+ 					 triangle install-linux64.sh 
+ 					 gsl install-linux64.sh 
+Index: ../trunk-jpl/jenkins/linux64_ross_ad
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_ad	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_ad	(revision 21694)
+@@ -32,7 +32,7 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools install.sh                
+-					 mpich install-3.0-linux64.sh
++					 mpich install-3.2-linux64.sh
+ 					 petsc install-3.7-linux64.sh
+ 					 metis install-5.0.1-linux64.sh
+ 					 triangle install-linux64.sh 
+Index: ../trunk-jpl/jenkins/macosx_pine-island_static
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_static	(revision 21693)
++++ ../trunk-jpl/jenkins/macosx_pine-island_static	(revision 21694)
+@@ -14,7 +14,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich -lmpich -lmpl" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install  \
+ 	--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 	--with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+@@ -35,9 +35,9 @@
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools    install.sh
+ 						cmake        install.sh
+-						mpich        install-3.0-macosx64-static.sh
++						mpich        install-3.2-macosx64-static.sh
+ 						m1qn3        install.sh
+-						petsc        install-3.6-macosx64-static.sh
++						petsc        install-3.7-macosx64-static.sh
+ 						triangle     install-macosx64.sh
+ 						shell2junit  install.sh"
+ 
+Index: ../trunk-jpl/jenkins/linux64_ross_ampi
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_ampi	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_ampi	(revision 21694)
+@@ -20,7 +20,7 @@
+ 				--with-python-numpy-dir=/usr/lib/python2.7/dist-packages/numpy\
+ 				--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 				--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-				--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++				--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 				--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 				--with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 				--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+@@ -40,7 +40,7 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools install.sh 
+-					 mpich install-3.0-linux64.sh
++					 mpich install-3.2-linux64.sh
+ 					 petsc install-3.7-linux64.sh
+ 					 metis install-5.0.1-linux64.sh
+ 					 triangle install-linux64.sh 
+Index: ../trunk-jpl/jenkins/linux64_ross_static
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_static	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_static	(revision 21694)
+@@ -14,7 +14,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install  \
+ 	--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 	--with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+@@ -35,9 +35,9 @@
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools    install.sh
+ 						cmake        install.sh
+-						mpich        install-3.0-linux64-static.sh
++						mpich        install-3.2-linux64-static.sh
+ 						m1qn3        install.sh
+-						petsc        install-3.6-linux64-static.sh
++						petsc        install-3.7-linux64-static.sh
+ 						triangle     install-linux64.sh
+ 						shell2junit  install.sh"
+ 
+Index: ../trunk-jpl/jenkins/linux64_ross_gia
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_gia	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_gia	(revision 21694)
+@@ -12,7 +12,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -37,8 +37,8 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh
+-						mpich         install-3.0-linux64.sh    
+-						petsc         install-3.6-linux64.sh    
++						mpich         install-3.2-linux64.sh    
++						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						math77        install.sh
+ 						gmsh          install.sh
+Index: ../trunk-jpl/jenkins/macosx_pine-island_dakota
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_dakota	(revision 21693)
++++ ../trunk-jpl/jenkins/macosx_pine-island_dakota	(revision 21694)
+@@ -11,7 +11,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich -lmpich -lmpl" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install  \
+ 	--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -35,10 +35,10 @@
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools    install.sh
+ 						cmake 		 install.sh
+-						mpich        install-3.0-macosx64.sh
++						mpich        install-3.2-macosx64.sh
+ 						chaco        install-macosx64.sh
+ 						m1qn3        install.sh
+-						petsc        install-3.5-macosx64.sh
++						petsc        install-3.7-macosx64.sh
+ 						triangle     install-macosx64.sh
+ 						boost        install-1.55-macosx-el_capitan.sh
+ 						dakota       install-6.2-macosx64.sh
+Index: ../trunk-jpl/jenkins/linux64_ross_dakota
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_dakota	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_dakota	(revision 21694)
+@@ -12,7 +12,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -37,7 +37,7 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh                
+-						mpich         install-3.0-linux64.sh    
++						mpich         install-3.2-linux64.sh    
+ 						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						boost         install-1.55-linux.sh                
+Index: ../trunk-jpl/jenkins/linux64_ross_iceocean
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_iceocean	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_iceocean	(revision 21694)
+@@ -12,7 +12,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -33,9 +33,9 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh                
+-						mpich         install-3.0-linux64.sh    
++						mpich         install-3.2-linux64.sh    
+ 						cmake         install.sh                
+-						petsc         install-3.6-linux64.sh    
++						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						shell2junit   install.sh"
+ 
+Index: ../trunk-jpl/jenkins/linux64_ross_se
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_se	(revision 21693)
++++ ../trunk-jpl/jenkins/linux64_ross_se	(revision 21694)
+@@ -14,7 +14,7 @@
+ 	--with-python-numpy-dir=$ISSM_DIR/externalpackages/python/install/lib/python2.7/site-packages/numpy \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpich" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
+@@ -36,9 +36,9 @@
+ 
+ #List of external pakages to be installed and their installation scripts
+ EXTERNALPACKAGES="autotools     install.sh                
+-						mpich         install-3.0-linux64.sh    
++						mpich         install-3.2-linux64.sh    
+ 						cmake         install.sh
+-						petsc         install-3.6-linux64.sh    
++						petsc         install-3.7-linux64.sh    
+ 						triangle      install-linux64.sh        
+ 						boost         install.sh                
+ 						python        install-2.7.3-linux64.sh
+Index: ../trunk-jpl/jenkins/macosx_pine-island_dakota_static
+===================================================================
+--- ../trunk-jpl/jenkins/macosx_pine-island_dakota_static	(revision 21693)
++++ ../trunk-jpl/jenkins/macosx_pine-island_dakota_static	(revision 21694)
+@@ -13,7 +13,7 @@
+ 	--with-matlab-dir=$MATLAB_PATH \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lpmpich -lmpich -lmpl" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi " \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install  \
+ 	--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+ 	--with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
+@@ -38,9 +38,9 @@
+ EXTERNALPACKAGES="autotools    install.sh
+ 						cmake        install.sh
+ 						chaco        install-macosx64.sh
+-						mpich        install-3.0-macosx64-static.sh
++						mpich        install-3.2-macosx64-static.sh
+ 						m1qn3        install.sh
+-						petsc        install-3.6-macosx64-static.sh
++						petsc        install-3.7-macosx64-static.sh
+ 						triangle     install-macosx64.sh
+ 						boost        install-1.55-macosx-el_capitan.sh
+ 						dakota       install-6.2-macosx64.sh
Index: /issm/oecreview/Archive/21337-21723/ISSM-21694-21695.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21694-21695.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21694-21695.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/jenkins/linux64_ross_python
+===================================================================
+--- ../trunk-jpl/jenkins/linux64_ross_python	(revision 21694)
++++ ../trunk-jpl/jenkins/linux64_ross_python	(revision 21695)
+@@ -11,7 +11,7 @@
+ 	--disable-static \
+ 	--with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
+ 	--with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include  \
+-	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi" \
++	--with-mpi-libflags="-L$ISSM_DIR/externalpackages/mpich/install/lib -lmpi -lmpifort" \
+ 	--with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
+ 	--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
Index: /issm/oecreview/Archive/21337-21723/ISSM-21695-21696.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21695-21696.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21695-21696.diff	(revision 21726)
@@ -0,0 +1,261 @@
+Index: ../trunk-jpl/src/m/classes/materials.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/materials.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/materials.m	(revision 21696)
+@@ -0,0 +1,250 @@
++%MATERIALS class definition
++%
++%   Usage:
++%      materials=materials();
++
++classdef materials < dynamicprops
++	properties (SetAccess=public) 
++		nature={};
++		%all properties are dynamic.
++	end
++	methods
++		function self = materials(varargin) % {{{
++			if nargin==0
++				self.nature={'ice'};
++			else 
++				self.nature=varargin;
++			end
++			
++			%check this is acceptable: 
++			for i=1:length(self.nature),
++				if ~(strcmpi(self.nature{i},'litho') | strcmpi(self.nature{i},'ice')), 
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
++			
++			%start filling in the dynamic fields: 
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					self.addprop('rho_ice');
++					self.addprop('rho_water');
++					self.addprop('rho_freshwater');
++					self.addprop('mu_water');
++					self.addprop('heatcapacity');
++					self.addprop('latentheat');
++					self.addprop('thermalconductivity');
++					self.addprop('temperateiceconductivity');
++				    self.addprop('meltingpoint');
++					self.addprop('beta');
++					self.addprop('mixed_layer_capacity');
++					self.addprop('thermal_exchange_velocity');
++					self.addprop('rheology_B');
++					self.addprop('rheology_n');
++					self.addprop('rheology_law');
++				case 'litho'
++					self.addprop('numlayers');
++				    self.addprop('radius');
++					self.addprop('viscosity');
++					self.addprop('lame_lambda');
++					self.addprop('lame_mu');
++					self.addprop('burgers_viscosity');
++					self.addprop('burgers_mu');
++					self.addprop('isburgers');
++					self.addprop('density');
++					self.addprop('issolid');
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
++			%set default parameters:
++			self.setdefaultparameters();
++
++		end % }}}
++		function self = setdefaultparameters(self) % {{{
++
++		for i=1:length(self.nature),
++			nat=self.nature{i}; 
++			switch nat
++			case 'ice'
++				%ice density (kg/m^3)
++				self.rho_ice=917.;
++
++				%ocean water density (kg/m^3)
++				self.rho_water=1023.;
++
++				%fresh water density (kg/m^3)
++				self.rho_freshwater=1000.;
++
++				%water viscosity (N.s/m^2)
++				self.mu_water=0.001787;  
++
++				%ice heat capacity cp (J/kg/K)
++				self.heatcapacity=2093.;
++
++				%ice latent heat of fusion L (J/kg)
++				self.latentheat=3.34*10^5;
++
++				%ice thermal conductivity (W/m/K)
++				self.thermalconductivity=2.4;
++				
++				%wet ice thermal conductivity (W/m/K)
++				self.temperateiceconductivity=.24;
++
++				%the melting point of ice at 1 atmosphere of pressure in K
++				self.meltingpoint=273.15;
++
++				%rate of change of melting point with pressure (K/Pa)
++				self.beta=9.8*10^-8;
++
++				%mixed layer (ice-water interface) heat capacity (J/kg/K)
++				self.mixed_layer_capacity=3974.;
++
++				%thermal exchange velocity (ice-water interface) (m/s)
++				self.thermal_exchange_velocity=1.00*10^-4;
++
++				%Rheology law: what is the temperature dependence of B with T
++				%available: none, paterson and arrhenius
++				self.rheology_law='Paterson';
++
++			case 'litho'
++				%we default to a configuration that enables running GIA solutions using giacaron and/or giaivins. 
++				self.numlayers=2;
++
++				%surface, then the lab (lithosphere/asthenosphere boundary) then the center of the earth 
++				%(with 1d3 to avoid numerical singularities) 
++				self.radius=[6378*1e3;6278*1e3;1e3]; 
++
++				self.viscosity=[1e40;1e21]; %lithosphere and mantle viscosity (respectively) [Pa.s]
++				self.lame_mu=[6.7*10^10;1.45*1e11];  % (Pa) %lithosphere and mantle shear modulus (respectively) [Pa]
++				self.lame_lambda=[6.7*10^10;1.45*1e11];  % (Pa) %lithosphere and mantle lamba parameter (respectively) [Pa]
++				self.burgers_viscosity=[NaN;NaN];
++				self.burgers_mu=[NaN;NaN];
++				self.isburgers=[false;false];
++				self.density=[3.32*1e3,3.34*1e3];  % (Pa) %lithosphere and mantle density [kg/m^3]
++				self.issolid=[true,true]; % is layer solid or liquid.
++
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
++
++		end % }}}
++		function disp(self) % {{{
++			disp(sprintf('   Materials:'));
++
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					disp(sprintf('   \nIce:'));
++					fielddisplay(self,'rho_ice','ice density [kg/m^3]');
++					fielddisplay(self,'rho_water','ocean water density [kg/m^3]');
++					fielddisplay(self,'rho_freshwater','fresh water density [kg/m^3]');
++					fielddisplay(self,'mu_water','water viscosity [N s/m^2]');
++					fielddisplay(self,'heatcapacity','heat capacity [J/kg/K]');
++					fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]']);
++					fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]');
++					fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K');
++					fielddisplay(self,'latentheat','latent heat of fusion [J/kg]');
++					fielddisplay(self,'beta','rate of change of melting point with pressure [K/Pa]');
++					fielddisplay(self,'mixed_layer_capacity','mixed layer capacity [W/kg/K]');
++					fielddisplay(self,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
++					fielddisplay(self,'rheology_B','flow law parameter [Pa/s^(1/n)]');
++					fielddisplay(self,'rheology_n','Glen''s flow law exponent');
++					fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
++				case 'litho'
++					disp(sprintf('   \nLitho:'));
++					fielddisplay(self,'numlayers','number of layers (default 2)');
++					fielddisplay(self,'radius','array describing the radius for each interface (numlayers+1) [m]');
++					fielddisplay(self,'viscosity','array describing each layer''s viscosity (numlayers) [Pa.s]');
++					fielddisplay(self,'lame_lambda','array describing the lame lambda parameter (numlayers) [Pa]');
++					fielddisplay(self,'lame_mu','array describing the shear modulus for each layers (numlayers) [Pa]');
++					fielddisplay(self,'burgers_viscosity','array describing each layer''s transient viscosity, only for Burgers rheologies  (numlayers) [Pa.s]');
++					fielddisplay(self,'burgers_mu','array describing each layer''s transient shear modulus, only for Burgers rheologies  (numlayers) [Pa]');
++					fielddisplay(self,'isburgers','array describing whether we adopt a MaxWell (0) or Burgers (1) rheology (default 0)');
++					fielddisplay(self,'density','array describing each layer''s density (numlayers) [kg/m^3]');
++					fielddisplay(self,'issolid','array describing whether the layer is solid or liquid (default 1) (numlayers)');
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
++		end % }}}
++		function md = checkconsistency(self,md,solution,analyses) % {{{
++			md = checkfield(md,'fieldname','materials.rho_ice','>',0);
++			md = checkfield(md,'fieldname','materials.rho_water','>',0);
++			md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
++			md = checkfield(md,'fieldname','materials.mu_water','>',0);
++			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
++			md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
++			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
++
++			if ismember('GiaAnalysis',analyses),
++				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
++				md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
++				md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',1);
++				md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
++			end
++			if ismember('SealevelriseAnalysis',analyses),
++				md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1);
++			end
++
++		end % }}}
++		function marshall(self,prefix,md,fid) % {{{
++			WriteData(fid,prefix,'name','md.materials.type','data',3,'format','Integer');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_ice','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_water','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_freshwater','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mu_water','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','heatcapacity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','latentheat','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermal_exchange_velocity','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_n','format','DoubleMat','mattype',2);
++			WriteData(fid,prefix,'data',self.rheology_law,'name','md.materials.rheology_law','format','String');
++
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','lithosphere_shear_modulus','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','lithosphere_density','format','Double','scale',10^3);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mantle_shear_modulus','format','Double');
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mantle_density','format','Double','scale',10^3);
++			WriteData(fid,prefix,'object',self,'class','materials','fieldname','earth_density','format','Double');
++		end % }}}
++		function self = extrude(self,md) % {{{
++			self.rheology_B=project3d(md,'vector',self.rheology_B,'type','node');
++			self.rheology_n=project3d(md,'vector',self.rheology_n,'type','element');
++		end % }}}
++		function savemodeljs(self,fid,modelname) % {{{
++		
++			writejsdouble(fid,[modelname '.materials.rho_ice'],self.rho_ice);
++			writejsdouble(fid,[modelname '.materials.rho_water'],self.rho_water);
++			writejsdouble(fid,[modelname '.materials.rho_freshwater'],self.rho_freshwater);
++			writejsdouble(fid,[modelname '.materials.mu_water'],self.mu_water);
++			writejsdouble(fid,[modelname '.materials.heatcapacity'],self.heatcapacity);
++			writejsdouble(fid,[modelname '.materials.latentheat'],self.latentheat);
++			writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity);
++			writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity);
++			writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint);
++			writejsdouble(fid,[modelname '.materials.beta'],self.beta);
++			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
++			writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity);
++			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
++			writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B);
++			writejs1Darray(fid,[modelname '.materials.rheology_n'],self.rheology_n);
++			writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law);
++			writejsdouble(fid,[modelname '.materials.lithosphere_shear_modulus'],self.lithosphere_shear_modulus);
++			writejsdouble(fid,[modelname '.materials.lithosphere_density'],self.lithosphere_density);
++			writejsdouble(fid,[modelname '.materials.mantle_shear_modulus'],self.mantle_shear_modulus);
++			writejsdouble(fid,[modelname '.materials.mantle_density'],self.mantle_density);
++			writejsdouble(fid,[modelname '.materials.earth_density'],self.earth_density);
++
++		end % }}}
++	end
++end
++
++
+
+Property changes on: ../trunk-jpl/src/m/classes/materials.m
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21696-21697.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21696-21697.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21696-21697.diff	(revision 21726)
@@ -0,0 +1,331 @@
+Index: ../trunk-jpl/src/m/classes/materials.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/materials.m	(revision 21696)
++++ ../trunk-jpl/src/m/classes/materials.m	(revision 21697)
+@@ -64,72 +64,71 @@
+ 		end % }}}
+ 		function self = setdefaultparameters(self) % {{{
+ 
+-		for i=1:length(self.nature),
+-			nat=self.nature{i}; 
+-			switch nat
+-			case 'ice'
+-				%ice density (kg/m^3)
+-				self.rho_ice=917.;
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					%ice density (kg/m^3)
++					self.rho_ice=917.;
+ 
+-				%ocean water density (kg/m^3)
+-				self.rho_water=1023.;
++					%ocean water density (kg/m^3)
++					self.rho_water=1023.;
+ 
+-				%fresh water density (kg/m^3)
+-				self.rho_freshwater=1000.;
++					%fresh water density (kg/m^3)
++					self.rho_freshwater=1000.;
+ 
+-				%water viscosity (N.s/m^2)
+-				self.mu_water=0.001787;  
++					%water viscosity (N.s/m^2)
++					self.mu_water=0.001787;  
+ 
+-				%ice heat capacity cp (J/kg/K)
+-				self.heatcapacity=2093.;
++					%ice heat capacity cp (J/kg/K)
++					self.heatcapacity=2093.;
+ 
+-				%ice latent heat of fusion L (J/kg)
+-				self.latentheat=3.34*10^5;
++					%ice latent heat of fusion L (J/kg)
++					self.latentheat=3.34*10^5;
+ 
+-				%ice thermal conductivity (W/m/K)
+-				self.thermalconductivity=2.4;
+-				
+-				%wet ice thermal conductivity (W/m/K)
+-				self.temperateiceconductivity=.24;
++					%ice thermal conductivity (W/m/K)
++					self.thermalconductivity=2.4;
++					
++					%wet ice thermal conductivity (W/m/K)
++					self.temperateiceconductivity=.24;
+ 
+-				%the melting point of ice at 1 atmosphere of pressure in K
+-				self.meltingpoint=273.15;
++					%the melting point of ice at 1 atmosphere of pressure in K
++					self.meltingpoint=273.15;
+ 
+-				%rate of change of melting point with pressure (K/Pa)
+-				self.beta=9.8*10^-8;
++					%rate of change of melting point with pressure (K/Pa)
++					self.beta=9.8*10^-8;
+ 
+-				%mixed layer (ice-water interface) heat capacity (J/kg/K)
+-				self.mixed_layer_capacity=3974.;
++					%mixed layer (ice-water interface) heat capacity (J/kg/K)
++					self.mixed_layer_capacity=3974.;
+ 
+-				%thermal exchange velocity (ice-water interface) (m/s)
+-				self.thermal_exchange_velocity=1.00*10^-4;
++					%thermal exchange velocity (ice-water interface) (m/s)
++					self.thermal_exchange_velocity=1.00*10^-4;
+ 
+-				%Rheology law: what is the temperature dependence of B with T
+-				%available: none, paterson and arrhenius
+-				self.rheology_law='Paterson';
++					%Rheology law: what is the temperature dependence of B with T
++					%available: none, paterson and arrhenius
++					self.rheology_law='Paterson';
+ 
+-			case 'litho'
+-				%we default to a configuration that enables running GIA solutions using giacaron and/or giaivins. 
+-				self.numlayers=2;
++				case 'litho'
++					%we default to a configuration that enables running GIA solutions using giacaron and/or giaivins. 
++					self.numlayers=2;
+ 
+-				%surface, then the lab (lithosphere/asthenosphere boundary) then the center of the earth 
+-				%(with 1d3 to avoid numerical singularities) 
+-				self.radius=[6378*1e3;6278*1e3;1e3]; 
++					%surface, then the lab (lithosphere/asthenosphere boundary) then the center of the earth 
++					%(with 1d3 to avoid numerical singularities) 
++					self.radius=[6378*1e3;6278*1e3;1e3]; 
+ 
+-				self.viscosity=[1e40;1e21]; %lithosphere and mantle viscosity (respectively) [Pa.s]
+-				self.lame_mu=[6.7*10^10;1.45*1e11];  % (Pa) %lithosphere and mantle shear modulus (respectively) [Pa]
+-				self.lame_lambda=[6.7*10^10;1.45*1e11];  % (Pa) %lithosphere and mantle lamba parameter (respectively) [Pa]
+-				self.burgers_viscosity=[NaN;NaN];
+-				self.burgers_mu=[NaN;NaN];
+-				self.isburgers=[false;false];
+-				self.density=[3.32*1e3,3.34*1e3];  % (Pa) %lithosphere and mantle density [kg/m^3]
+-				self.issolid=[true,true]; % is layer solid or liquid.
++					self.viscosity=[1e40;1e21]; %lithosphere and mantle viscosity (respectively) [Pa.s]
++					self.lame_mu=[6.7*10^10;1.45*1e11];  % (Pa) %lithosphere and mantle shear modulus (respectively) [Pa]
++					self.lame_lambda=[6.7*10^10;1.45*1e11];  % (Pa) %lithosphere and mantle lamba parameter (respectively) [Pa]
++					self.burgers_viscosity=[NaN;NaN];
++					self.burgers_mu=[NaN;NaN];
++					self.isburgers=[false;false];
++					self.density=[3.32*1e3;3.34*1e3];  % (Pa) %lithosphere and mantle density [kg/m^3]
++					self.issolid=[true;true]; % is layer solid or liquid.
+ 
+ 				otherwise
+ 					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
+ 				end
+ 			end
+-
+ 		end % }}}
+ 		function disp(self) % {{{
+ 			disp(sprintf('   Materials:'));
+@@ -172,77 +171,147 @@
+ 			end
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+-			md = checkfield(md,'fieldname','materials.rho_ice','>',0);
+-			md = checkfield(md,'fieldname','materials.rho_water','>',0);
+-			md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
+-			md = checkfield(md,'fieldname','materials.mu_water','>',0);
+-			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
+-			md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
+-			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
+ 
+-			if ismember('GiaAnalysis',analyses),
+-				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
+-				md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
+-				md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',1);
+-				md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					md = checkfield(md,'fieldname','materials.rho_ice','>',0);
++					md = checkfield(md,'fieldname','materials.rho_water','>',0);
++					md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
++					md = checkfield(md,'fieldname','materials.mu_water','>',0);
++					md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
++					md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
++					md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
++				case 'litho'
++					if ~ismember('LoveAnalysis',analyses), return; end
++					md = checkfield(md,'fieldname','materials.numlayers','NaN',1,'Inf',1,'>',0,'numel',1);
++					md = checkfield(md,'fieldname','materials.radius','NaN',1,'Inf',1,'size',[md.materials.numlayers+1 1],'>',0);
++					md = checkfield(md,'fieldname','materials.lame_mu','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0);
++					md = checkfield(md,'fieldname','materials.lame_lambda','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0);
++					md = checkfield(md,'fieldname','materials.issolid','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0,'<',2);
++					md = checkfield(md,'fieldname','materials.density','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0);
++					md = checkfield(md,'fieldname','materials.viscosity','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0);
++					md = checkfield(md,'fieldname','materials.isburgers','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0,'<',2);
++					md = checkfield(md,'fieldname','materials.burgers_viscosity','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0);
++					md = checkfield(md,'fieldname','materials.burgers_mu','NaN',1,'Inf',1,'size',[md.materials.numlayers 1],'>',0);
++
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
+ 			end
+-			if ismember('SealevelriseAnalysis',analyses),
+-				md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1);
+-			end
+ 
+ 		end % }}}
++		function intnat = naturetointeger(strnat) % {{{
++			intnat=zeros(length(strnat),1);
++			for i=1:length(strnat),
++				switch strnat{i},
++				case 'damageice'
++					intnat(i)=1; 
++				case 'estar'
++					intnat(i)=2; 
++				case 'ice'
++					intnat(i)=3; 
++				case 'enhancedice'
++					intnat(i)=4; 
++				case 'litho'
++					intnat(i)=5;
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
++		end % }}}
+ 		function marshall(self,prefix,md,fid) % {{{
+-			WriteData(fid,prefix,'name','md.materials.type','data',3,'format','Integer');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_ice','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_water','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_freshwater','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mu_water','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','heatcapacity','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','latentheat','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermal_exchange_velocity','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_n','format','DoubleMat','mattype',2);
+-			WriteData(fid,prefix,'data',self.rheology_law,'name','md.materials.rheology_law','format','String');
+ 
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','lithosphere_shear_modulus','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','lithosphere_density','format','Double','scale',10^3);
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mantle_shear_modulus','format','Double');
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','mantle_density','format','Double','scale',10^3);
+-			WriteData(fid,prefix,'object',self,'class','materials','fieldname','earth_density','format','Double');
++			%1: MatdamageiceEnum 2: MatestarEnum 3: MaticeEnum 4: MatenhancediceEnum 5: MaterialsEnum 
++			WriteData(fid,prefix,'name','md.materials.type','data',6,'format','Integer');
++			WriteData(fid,prefix,'name','md.materials.nature','data',naturetointeger(self.nature),'format','IntMat','mattype',1);
++
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_ice','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_water','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','rho_freshwater','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','mu_water','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','heatcapacity','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','latentheat','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermal_exchange_velocity','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_B','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','rheology_n','format','DoubleMat','mattype',2);
++					WriteData(fid,prefix,'data',self.rheology_law,'name','md.materials.rheology_law','format','String');
++				case 'litho'
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','numlayers','format','Double');
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','radius','format','DoubleMat','mattype',1);
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','lame_mu','format','DoubleMat','mattype',1);
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','lame_lambda ','format','DoubleMat','mattype',1);
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','issolid','format','BooleanMat','mattype',1);
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','density','format','DoubleMat','mattype',1); 
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','viscosity','format','DoubleMat','mattype',1); 
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','isburgers','format','BooleanMat','mattype',1); 
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','burgers_viscosity','format','DoubleMat','mattype',1); 
++					WriteData(fid,prefix,'object',self,'class','materials','fieldname','burgers_mu','format','DoubleMat','mattype',1); 
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
+ 		end % }}}
+ 		function self = extrude(self,md) % {{{
+-			self.rheology_B=project3d(md,'vector',self.rheology_B,'type','node');
+-			self.rheology_n=project3d(md,'vector',self.rheology_n,'type','element');
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					self.rheology_B=project3d(md,'vector',self.rheology_B,'type','node');
++					self.rheology_n=project3d(md,'vector',self.rheology_n,'type','element');
++				end
++			end
+ 		end % }}}
+ 		function savemodeljs(self,fid,modelname) % {{{
+-		
+-			writejsdouble(fid,[modelname '.materials.rho_ice'],self.rho_ice);
+-			writejsdouble(fid,[modelname '.materials.rho_water'],self.rho_water);
+-			writejsdouble(fid,[modelname '.materials.rho_freshwater'],self.rho_freshwater);
+-			writejsdouble(fid,[modelname '.materials.mu_water'],self.mu_water);
+-			writejsdouble(fid,[modelname '.materials.heatcapacity'],self.heatcapacity);
+-			writejsdouble(fid,[modelname '.materials.latentheat'],self.latentheat);
+-			writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity);
+-			writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity);
+-			writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint);
+-			writejsdouble(fid,[modelname '.materials.beta'],self.beta);
+-			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
+-			writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity);
+-			writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
+-			writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B);
+-			writejs1Darray(fid,[modelname '.materials.rheology_n'],self.rheology_n);
+-			writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law);
+-			writejsdouble(fid,[modelname '.materials.lithosphere_shear_modulus'],self.lithosphere_shear_modulus);
+-			writejsdouble(fid,[modelname '.materials.lithosphere_density'],self.lithosphere_density);
+-			writejsdouble(fid,[modelname '.materials.mantle_shear_modulus'],self.mantle_shear_modulus);
+-			writejsdouble(fid,[modelname '.materials.mantle_density'],self.mantle_density);
+-			writejsdouble(fid,[modelname '.materials.earth_density'],self.earth_density);
++	
++			for i=1:length(self.nature),
++				nat=self.nature{i}; 
++				switch nat
++				case 'ice'
++					writejsdouble(fid,[modelname '.materials.rho_ice'],self.rho_ice);
++					writejsdouble(fid,[modelname '.materials.rho_water'],self.rho_water);
++					writejsdouble(fid,[modelname '.materials.rho_freshwater'],self.rho_freshwater);
++					writejsdouble(fid,[modelname '.materials.mu_water'],self.mu_water);
++					writejsdouble(fid,[modelname '.materials.heatcapacity'],self.heatcapacity);
++					writejsdouble(fid,[modelname '.materials.latentheat'],self.latentheat);
++					writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity);
++					writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity);
++					writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint);
++					writejsdouble(fid,[modelname '.materials.beta'],self.beta);
++					writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
++					writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity);
++					writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
++					writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B);
++					writejs1Darray(fid,[modelname '.materials.rheology_n'],self.rheology_n);
++					writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law);
++				case 'litho'
++					writejsdouble(fid,[modelname '.materials.numlayers'],self.numlayers);
++					writejsdouble(fid,[modelname '.materials.radius'],self.radius);
++					writejsdouble(fid,[modelname '.materials.lame_mu'],self.lame_mu);
++					writejsdouble(fid,[modelname '.materials.lame_lambda'],self.lame_lambda);
++					writejsdouble(fid,[modelname '.materials.issolid'],self.issolid);
++					writejsdouble(fid,[modelname '.materials.density'],self.density); 
++					writejsdouble(fid,[modelname '.materials.viscosity'],self.viscosity); 
++					writejsdouble(fid,[modelname '.materials.isburgers'],self.isburgers); 
++					writejsdouble(fid,[modelname '.materials.burgers_viscosity'],self.burgers_viscosity); 
++					writejsdouble(fid,[modelname '.materials.burgers_mu'],self.burgers_mu); 
++				otherwise
++					error('materials constructor error message: nature of the material not supported yet! (''ice'' or ''litho'')');
++				end
++			end
+ 
++
++
+ 		end % }}}
+ 	end
+ end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21697-21698.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21697-21698.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21697-21698.diff	(revision 21726)
@@ -0,0 +1,13 @@
+Index: ../trunk-jpl/src/m/mech/drivingstress.m
+===================================================================
+--- ../trunk-jpl/src/m/mech/drivingstress.m	(revision 21697)
++++ ../trunk-jpl/src/m/mech/drivingstress.m	(revision 21698)
+@@ -13,6 +13,6 @@
+ %Average thickness over elements
+ thickness_bar=(md.geometry.thickness(md.mesh.elements(:,1))+md.geometry.thickness(md.mesh.elements(:,2))+md.geometry.thickness(md.mesh.elements(:,3)))/3;
+ 
+-px=md.materials.rho_ice*md.constants.g*thickness_bar.*sx;
+-py=md.materials.rho_ice*md.constants.g*thickness_bar.*sy;
++px=-md.materials.rho_ice*md.constants.g*thickness_bar.*sx;
++py=-md.materials.rho_ice*md.constants.g*thickness_bar.*sy;
+ pmag=sqrt(px.^2+py.^2);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21698-21699.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21698-21699.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21698-21699.diff	(revision 21726)
@@ -0,0 +1,167 @@
+Index: ../trunk-jpl/src/m/classes/clusters/yellowstone.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/clusters/yellowstone.m	(revision 0)
++++ ../trunk-jpl/src/m/classes/clusters/yellowstone.m	(revision 21699)
+@@ -0,0 +1,156 @@
++%YELLOWSTONE class definition
++%
++%   Usage:
++%      cluster=yellowstone();
++%      cluster=yellowstone('np',3);
++%      cluster=yellowstone('np',3,'login','username');
++
++classdef yellowstone
++    properties (SetAccess=public)  
++		 % {{{
++		 name           = 'yellowstone.ucar.edu'
++		 login          = '';
++		 modules        = {'ncarenv/1.0' 'ncarbinlibs/1.1' 'perlmods/5.0' 'gmake/4.1' 'python/2.7.7' 'all-python-libs' 'git/2.3.0' 'intel/15.0.3' 'mkl/11.1.2' 'esmf' 'esmf-6.3.0rp1-defio-mpi-O' 'netcdf-mpi/4.3.3.1' 'pnetcdf/1.6.1' 'ncarcompilers/1.0' 'cmake/3.0.2' 'matlab/R2015b' 'issm'};
++		 numnodes       = 1;
++		 cpuspernode    = 8;
++		 port           = 0;
++		 queue          = 'premium';
++		 time           = 12*60;
++		 processor      = 'sandy';
++		 codepath       = '';
++		 executionpath  = '';
++		 grouplist     = 'P93300301';
++	 end
++	 %}}}
++	 methods
++		 function cluster=yellowstone(varargin) % {{{
++
++			 %initialize cluster using default settings if provided
++			 if (exist('yellowstone_settings')==2), yellowstone_settings; end
++
++			 %use provided options to change fields
++			 cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
++		 end
++		 %}}}
++		 function disp(cluster) % {{{
++			 %  display the object
++			 disp(sprintf('class ''%s'' object ''%s'' = ',class(cluster),inputname(1)));
++			 disp(sprintf('    name: %s',cluster.name));
++			 disp(sprintf('    login: %s',cluster.login));
++			 modules=''; for i=1:length(cluster.modules), modules=[modules cluster.modules{i} ',']; end; modules=modules(1:end-1); 
++			 disp(sprintf('    modules: %s',modules));
++			 disp(sprintf('    port: %i',cluster.port));
++			 disp(sprintf('    numnodes: %i',cluster.numnodes));
++			 disp(sprintf('    cpuspernode: %i',cluster.cpuspernode));
++			 disp(sprintf('    np: %i',cluster.cpuspernode*cluster.numnodes));
++			 disp(sprintf('    queue: %s',cluster.queue));
++			 disp(sprintf('    time: %i',cluster.time));
++			 disp(sprintf('    processor: %s',cluster.processor));
++			 disp(sprintf('    codepath: %s',cluster.codepath));
++			 disp(sprintf('    executionpath: %s',cluster.executionpath));
++			 disp(sprintf('    grouplist: %s',cluster.grouplist));
++		 end
++		 %}}}
++		 function numprocs=np(cluster) % {{{
++			 %compute number of processors
++			 numprocs=cluster.numnodes*cluster.cpuspernode;
++		 end
++		 %}}}
++		 function md = checkconsistency(cluster,md,solution,analyses) % {{{
++
++			 available_queues={'premium','regular'};
++			 queue_requirements_time=[12*60 12*650];
++			 queue_requirements_np=[16384 16384];
++
++			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
++
++			 %Miscelaneous
++			 if isempty(cluster.login), md = checkmessage(md,'login empty'); end
++			 if isempty(cluster.codepath), md = checkmessage(md,'codepath empty'); end
++			 if isempty(cluster.executionpath), md = checkmessage(md,'executionpath empty'); end
++			 if isempty(cluster.grouplist), md = checkmessage(md,'grouplist empty'); end
++
++		 end
++		 %}}}
++		 function BuildQueueScript(cluster,dirname,modelname,solution,io_gather,isvalgrind,isgprof,isdakota,isoceancoupling) % {{{
++
++			 executable='issm.exe';
++			 if isdakota,
++				 version=IssmConfig('_DAKOTA_VERSION_'); version=str2num(version(1:3));
++				 if (version>=6),
++					 executable='issm_dakota.exe';
++				 end
++			 end
++			 if isoceancoupling,
++				 executable='issm_ocean.exe';
++			 end
++
++
++			 %write queuing script 
++			 fid=fopen([modelname '.queue'],'w');
++			 fprintf(fid,'#!/bin/tcsh\n');
++			 fprintf(fid,'#BSUB -P %s\n',cluster.grouplist);
++			 fprintf(fid,'#BSUB -W %i:%i\n',floor(cluster.time/60),cluster.time-floor(cluster.time/60)*60);
++			 fprintf(fid,'#BSUB -n %i\n',cluster.np);
++			 fprintf(fid,'#BSUB -J %s\n',modelname);
++			 fprintf(fid,'#BSUB -o %s.outlog \n',[cluster.executionpath '/' dirname '/' modelname]);
++			 fprintf(fid,'#BSUB -e %s.errlog \n',[cluster.executionpath '/' dirname '/' modelname]);
++			 fprintf(fid,'#BSUB -q %s\n',cluster.queue);
++
++			 fprintf(fid,'module purge\n');
++			 for i=1:length(cluster.modules),
++				 fprintf(fid,'module load %s\n',cluster.modules{i});
++			 end
++
++			 fprintf(fid,'setenv OMP_STACKSIZE 256M\n');
++			 fprintf(fid,'setenv MP_LABELIO yes\n');
++			 fprintf(fid,'setenv MP_INFOLEVEL 2\n');
++			 fprintf(fid,'setenv MP_SHARED_MEMORY yes\n');
++			 fprintf(fid,'setenv MP_EUILIB us\n');
++			 fprintf(fid,'setenv MP_STDOUTMODE unordered\n');
++			 fprintf(fid,'setenv MP_RC_USE_LMC yes\n');
++			 fprintf(fid,'setenv MP_MPILIB mpich2\n');
++			 fprintf(fid,'setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/opt/ibmhpc/pecurrent/mpich2/intel/lib64/\n');
++			 fprintf(fid,'setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/ncar/opt/intel/psxe-2015_update3/impi/5.0.3.048/lib64/\n');
++
++			 fprintf(fid,'cd %s/%s/\n\n',cluster.executionpath,dirname);
++
++			 fprintf(fid,'mpirun.lsf %s/%s %s %s %s\n',cluster.codepath,executable,solution,[cluster.executionpath '/' dirname],modelname);
++			 fclose(fid);
++
++		 end %}}}
++		 function UploadQueueJob(cluster,modelname,dirname,filelist)% {{{
++
++			 %compress the files into one zip.
++			 compressstring=['tar -zcf ' dirname '.tar.gz '];
++			 for i=1:numel(filelist),
++				 compressstring = [compressstring ' ' filelist{i}];
++			 end
++			 system(compressstring);
++
++			 disp('uploading input file and queueing script');
++			 directory=cluster.executionpath;
++
++			 issmscpout(cluster.name,directory,cluster.login,cluster.port,{[dirname '.tar.gz']});
++
++		 end
++		 %}}}
++		 function LaunchQueueJob(cluster,modelname,dirname,filelist,restart,batch)% {{{
++
++			 %lauch command, to be executed via ssh
++			 launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
++						 ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz  && bsub < ' modelname '.queue '];
++
++			 disp('launching solution sequence on remote cluster');
++			 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
++		 end
++		 %}}}
++		 function Download(cluster,dirname,filelist)% {{{
++
++			 %copy files from cluster to current directory
++			 directory=[cluster.executionpath '/' dirname '/'];
++			 issmscpin(cluster.name,cluster.login,cluster.port,directory,filelist);
++
++		 end %}}}
++	end
++end
+
+Property changes on: ../trunk-jpl/src/m/classes/clusters/yellowstone.m
+___________________________________________________________________
+Added: svn:executable
+   + *
+
Index: /issm/oecreview/Archive/21337-21723/ISSM-21699-21700.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21699-21700.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21699-21700.diff	(revision 21726)
@@ -0,0 +1,442 @@
+Index: ../trunk-jpl/src/c/classes/Materials/Matestar.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 21699)
++++ ../trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 21700)
+@@ -159,6 +159,7 @@
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetB(){/*{{{*/
++
+ 	/*Output*/
+ 	IssmDouble B;
+ 
+@@ -167,6 +168,7 @@
+ }
+ /*}}}*/
+ IssmDouble Matestar::GetBbar(){/*{{{*/
++
+ 	/*Output*/
+ 	IssmDouble Bbar;
+ 
+@@ -192,6 +194,15 @@
+ 	return Ec;
+ }
+ /*}}}*/
++IssmDouble Matestar::GetEcbar(){/*{{{*/
++
++	/*Output*/
++	IssmDouble Ecbar;
++
++	element->inputs->GetInputAverage(&Ecbar,MaterialsRheologyEcbarEnum);
++	return Ecbar;
++}
++/*}}}*/
+ IssmDouble Matestar::GetEs(){/*{{{*/
+ 
+ 	/*Output*/
+@@ -201,6 +212,15 @@
+ 	return Es;
+ }
+ /*}}}*/
++IssmDouble Matestar::GetEsbar(){/*{{{*/
++
++	/*Output*/
++	IssmDouble Esbar;
++
++	element->inputs->GetInputAverage(&Esbar,MaterialsRheologyEsbarEnum);
++	return Esbar;
++}
++/*}}}*/
+ IssmDouble Matestar::GetN(){/*{{{*/
+ 
+ 	/*Output*/
+@@ -210,51 +230,6 @@
+ /*}}}*/
+ void  Matestar::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff){/*{{{*/
+ 	_error_("not implemented yet");
+-	/*From a string tensor and a material object, return viscosity, using Glen's flow law.
+-								(1-D) B
+-	  viscosity= -------------------------
+-						  2 eps_eff ^[(n-1)/n]
+-
+-	  where viscosity is the viscotiy, B the flow law parameter , eps_eff is the effective strain rate
+-	  and n the flow law exponent.
+-
+-	  If eps_eff = 0 , it means this is the first time SystemMatrices is being run, and we 
+-	  return 10^14, initial viscosity.
+-	  */
+-
+-	/*output: */
+-	IssmDouble viscosity;
+-
+-	/*Intermediary: */
+-	IssmDouble B,D=0.,n;
+-
+-	/*Get B and n*/
+-	B=GetB(); _assert_(B>0.);
+-	n=GetN(); _assert_(n>0.);
+-
+-	if (n==1.){
+-		/*Linear Viscous behavior (Newtonian fluid) viscosity=B/2: */
+-		viscosity=(1.-D)*B/2.;
+-	}
+-	else{
+-
+-		/*if no strain rate, return maximum viscosity*/
+-		if(eps_eff==0.){
+-			viscosity = 1.e+14/2.;
+-			//viscosity = B;
+-			//viscosity=2.5*pow(10.,17);
+-		}
+-
+-		else{
+-			viscosity=(1.-D)*B/(2.*pow(eps_eff,(n-1.)/n));
+-		}
+-	}
+-
+-	/*Checks in debugging mode*/
+-	if(viscosity<=0) _error_("Negative viscosity");
+-
+-	/*Return: */
+-	*pviscosity=viscosity;
+ }
+ /*}}}*/
+ void  Matestar::GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff){/*{{{*/
+@@ -273,14 +248,16 @@
+ 	_error_("not implemented yet");
+ }
+ /*}}}*/
+-IssmDouble Matestar::GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz){/*{{{*/
++IssmDouble Matestar::GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,bool isdepthaveraged){/*{{{*/
+ 
++	/*output: */
++	IssmDouble viscosity;
++
+ 	/*Intermediaries*/
+-	IssmDouble viscosity;
+ 	IssmDouble epseff,epsprime_norm;
+ 	IssmDouble lambdas;
+ 	IssmDouble vmag,dvmag[3];
+-	IssmDouble B,Ec,Es,E;
++	IssmDouble B,Ec,Es,E,n;
+ 
+ 	/*Calculate velocity magnitude and its derivative*/
+ 	vmag = sqrt(vx*vx+vy*vy+vz*vz);
+@@ -299,9 +276,17 @@
+ 	lambdas=EstarLambdaS(epseff,epsprime_norm);
+ 
+ 	/*Get B and enhancement*/
+-	B=GetB(); _assert_(B>0.);
+-	Ec=GetEc(); _assert_(Ec>=0.);
+-	Es=GetEs(); _assert_(Es>=0.);
++	n=GetN(); _assert_(n>0.);
++	if (isdepthaveraged==0.){
++		B=GetB(); _assert_(B>0.);
++		Ec=GetEc(); _assert_(Ec>=0.);
++		Es=GetEs(); _assert_(Es>=0.);
++	}
++	else{
++		B=GetBbar(); _assert_(B>0.);
++		Ec=GetEcbar(); _assert_(Ec>=0.);
++		Es=GetEsbar(); _assert_(Es>=0.);
++	}
+ 
+ 	/*Get total enhancement factor E(lambdas)*/
+ 	E = Ec + (Es-Ec)*lambdas*lambdas; _assert_(E>0.);
+@@ -314,34 +299,64 @@
+ 		//viscosity=2.5*pow(10.,17);
+ 	}
+ 	else{
+-		viscosity = B/(2.*pow(E*epseff*epseff,1./3.));
++		viscosity = B/(2.*pow(E,1./n)*pow(epseff,2./n));
+ 	}
+ 
+ 	/*Assign output pointer*/
+ 	return viscosity;
+ }
+ /*}}}*/
+-void  Matestar::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff){/*{{{*/
+-	/*output: */
++IssmDouble Matestar::GetViscosity_BGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,bool isdepthaveraged){/*{{{*/
++
++	/*Intermediaries*/
+ 	IssmDouble dmudB;
++	IssmDouble epseff,epsprime_norm;
++	IssmDouble lambdas;
++	IssmDouble vmag,dvmag[3];
++	IssmDouble Ec,Es,E;
+ 
+-	/*Intermediary: */
+-	IssmDouble E=1.,n;
++	/*Calculate velocity magnitude and its derivative*/
++	vmag = sqrt(vx*vx+vy*vy+vz*vz);
++	if(vmag<1e-12){
++		dvmag[0]=0;
++		dvmag[1]=0;
++		dvmag[2]=0;
++	}
++	else{
++		dvmag[0]=1./(2*sqrt(vmag))*(2*vx*dvx[0]+2*vy*dvy[0]+2*vz*dvz[0]);
++		dvmag[1]=1./(2*sqrt(vmag))*(2*vx*dvx[1]+2*vy*dvy[1]+2*vz*dvz[1]);
++		dvmag[2]=1./(2*sqrt(vmag))*(2*vx*dvx[2]+2*vy*dvy[2]+2*vz*dvz[2]);
++	}
+ 
+-	n=GetN(); _assert_(n>0.);
+-	if(n==1.){
+-		/*Linear Viscous behavior (Newtonian fluid) dmudB=B/2E: */
+-		dmudB=1./(2.*E);
++	EstarStrainrateQuantities(&epseff,&epsprime_norm,vx,vy,vz,vmag,dvx,dvy,dvz,&dvmag[0]);
++	lambdas=EstarLambdaS(epseff,epsprime_norm);
++
++	/*Get enhancement*/
++	if (isdepthaveraged==0.){
++		Ec=GetEc(); _assert_(Ec>=0.);
++		Es=GetEs(); _assert_(Es>=0.);
+ 	}
+ 	else{
+-		if(eps_eff==0.) dmudB = 0.;
+-		else            dmudB = 1./(2.*pow(E*eps_eff*eps_eff,1./3.));
++		Ec=GetEcbar(); _assert_(Ec>=0.);
++		Es=GetEsbar(); _assert_(Es>=0.);
+ 	}
+ 
+-	/*Return: */
+-	*pdmudB=dmudB;
++	/*Get total enhancement factor E(lambdas)*/
++	E = Ec + (Es-Ec)*lambdas*lambdas; _assert_(E>0.);
++
++	/*Compute dmudB*/
++	if(epseff==0.) dmudB = 0.;
++	else           dmudB = 1./(2.*pow(E,1./3.)*pow(epseff,2./3.));
++
++	/*Assign output*/
++	return dmudB;
++
+ }
+ /*}}}*/
++void  Matestar::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff){/*{{{*/
++	 _error_("not implemented yet");
++}
++/*}}}*/
+ void  Matestar::GetViscosity_D(IssmDouble* pdmudD,IssmDouble eps_eff){/*{{{*/
+ 	 _error_("not implemented yet");
+ }
+@@ -392,12 +407,99 @@
+ 
+ }
+ /*}}}*/
++void  Matestar::ViscosityBFS(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
++
++	/*Intermediaries*/
++	IssmDouble vx,vy,vz;
++	IssmDouble dvx[3],dvy[3],dvz[3];
++	bool isdepthaveraged=0.;
++
++	/*Get velocity derivatives in all directions*/
++	_assert_(dim>1);
++	_assert_(vx_input);
++	vx_input->GetInputValue(&vx,gauss);
++	vx_input->GetInputDerivativeValue(&dvx[0],xyz_list,gauss);
++	_assert_(vy_input);
++	vy_input->GetInputValue(&vy,gauss);
++	vy_input->GetInputDerivativeValue(&dvy[0],xyz_list,gauss);
++	if(dim==3){
++		_assert_(vz_input);
++		vz_input->GetInputValue(&vz,gauss);
++		vz_input->GetInputDerivativeValue(&dvz[0],xyz_list,gauss);
++	}
++	else{
++		vz = 0.;
++		dvz[0] = 0.; dvz[1] = 0.; dvz[2] = 0.;
++	}
++
++	/*Compute dmudB*/
++	*pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],isdepthaveraged);
++}
++/*}}}*/
++void  Matestar::ViscosityBHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
++
++	/*Intermediaries*/
++	IssmDouble vx,vy,vz;
++	IssmDouble dvx[3],dvy[3],dvz[3];
++	bool isdepthaveraged=0.;
++
++	/*Get velocity derivatives in all directions*/
++	_assert_(dim==2 || dim==3);
++	_assert_(vx_input);
++	vx_input->GetInputValue(&vx,gauss);
++	vx_input->GetInputDerivativeValue(&dvx[0],xyz_list,gauss);
++	if(dim==3){
++		_assert_(vy_input);
++		vy_input->GetInputValue(&vy,gauss);
++		vy_input->GetInputDerivativeValue(&dvy[0],xyz_list,gauss);
++	}
++	else{
++		dvx[2] = 0.;
++		vy = 0.;
++		dvy[0] = 0.; dvy[1] = 0.; dvy[2] = 0.;
++	}
++	vz = 0.;
++	dvz[0] = 0.; dvz[1] = 0.; dvz[2] = -dvx[0]-dvy[1];
++
++	/*Compute viscosity*/
++	*pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],isdepthaveraged);
++}/*}}}*/
++void  Matestar::ViscosityBSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
++	/*Intermediaries*/
++	IssmDouble vx,vy,vz;
++	IssmDouble dvx[3],dvy[3],dvz[3];
++	bool isdepthaveraged=1.;
++
++	/*Get velocity derivatives in all directions*/
++	_assert_(dim==1 || dim==2);
++	_assert_(vx_input);
++	vx_input->GetInputValue(&vx,gauss);
++	vx_input->GetInputDerivativeValue(&dvx[0],xyz_list,gauss);
++	if(dim==2){
++		_assert_(vy_input);
++		vy_input->GetInputValue(&vy,gauss);
++		vy_input->GetInputDerivativeValue(&dvy[0],xyz_list,gauss);
++	}
++	else{
++		dvx[1] = 0.;
++		dvx[2] = 0.;
++		vy = 0.;
++		dvy[0] = 0.; dvy[1] = 0.; dvy[2] = 0.;
++	}
++	dvx[2] = 0.;
++	dvy[2] = 0.;
++	vz = 0.;
++	dvz[0] = 0.; dvz[1] = 0.; dvz[2] = -dvx[0]-dvy[1];
++
++	/*Compute viscosity*/
++	*pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],isdepthaveraged);
++}/*}}}*/
+ void  Matestar::ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
+ 
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz;
+ 	IssmDouble dvx[3],dvy[3],dvz[3];
+-	IssmDouble B,Ec,Es;
++	bool isdepthaveraged=0.;
+ 
+ 	/*Get velocity derivatives in all directions*/
+ 	_assert_(dim>1);
+@@ -418,7 +520,7 @@
+ 	}
+ 
+ 	/*Compute viscosity*/
+-	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
++	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],isdepthaveraged);
+ }
+ /*}}}*/
+ void  Matestar::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+@@ -429,6 +531,7 @@
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz;
+ 	IssmDouble dvx[3],dvy[3],dvz[3];
++	bool isdepthaveraged=0.;
+ 
+ 	/*Get velocity derivatives in all directions*/
+ 	_assert_(dim==2 || dim==3);
+@@ -449,7 +552,7 @@
+ 	dvz[0] = 0.; dvz[1] = 0.; dvz[2] = -dvx[0]-dvy[1];
+ 
+ 	/*Compute viscosity*/
+-	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
++	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],isdepthaveraged);
+ }/*}}}*/
+ void  Matestar::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+ 	_error_("not implemented yet");
+@@ -458,10 +561,11 @@
+ 	_error_("not implemented yet");
+ }/*}}}*/
+ void  Matestar::ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
++
+ 	/*Intermediaries*/
+ 	IssmDouble vx,vy,vz;
+ 	IssmDouble dvx[3],dvy[3],dvz[3];
+-	IssmDouble B,Ec,Es;
++	bool isdepthaveraged=1.;
+ 
+ 	/*Get velocity derivatives in all directions*/
+ 	_assert_(dim==1 || dim==2);
+@@ -485,7 +589,7 @@
+ 	dvz[0] = 0.; dvz[1] = 0.; dvz[2] = -dvx[0]-dvy[1];
+ 
+ 	/*Compute viscosity*/
+-	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0]);
++	*pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],isdepthaveraged);
+ }/*}}}*/
+ void  Matestar::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+ 	_error_("not implemented yet");
+Index: ../trunk-jpl/src/c/classes/Materials/Material.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Material.h	(revision 21699)
++++ ../trunk-jpl/src/c/classes/Materials/Material.h	(revision 21700)
+@@ -52,6 +52,9 @@
+ 		virtual void       ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf)=0;
+ 		virtual void       ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0;
+ 		virtual void       ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon)=0;
++		virtual void       ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input)=0;
++		virtual void       ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0;
++		virtual void       ViscosityBSSA(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0;
+ 
+ };
+ #endif
+Index: ../trunk-jpl/src/c/classes/Materials/Matestar.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matestar.h	(revision 21699)
++++ ../trunk-jpl/src/c/classes/Materials/Matestar.h	(revision 21700)
+@@ -69,7 +69,9 @@
+ 		IssmDouble GetD();
+ 		IssmDouble GetDbar();
+ 		IssmDouble GetEc();
++		IssmDouble GetEcbar();
+ 		IssmDouble GetEs();
++		IssmDouble GetEsbar();
+ 		IssmDouble GetN();
+ 		bool       IsDamage();
+ 		bool       IsEnhanced(){_error_("not supported");};
+@@ -83,8 +85,12 @@
+ 		void       ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf);
+ 		void       ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+ 		void       ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon);
++		void       ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
++		void       ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
++		void       ViscosityBSSA(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+ 		/*}}}*/
+-		IssmDouble GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz);
++		IssmDouble GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,bool isdepthaveraged);
++		IssmDouble GetViscosity_BGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,bool isdepthaveraged);
+ };
+ 
+ #endif  /* _MATESTAR_H_ */
+Index: ../trunk-jpl/src/c/classes/Materials/Matice.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matice.h	(revision 21699)
++++ ../trunk-jpl/src/c/classes/Materials/Matice.h	(revision 21700)
+@@ -87,6 +87,9 @@
+ 		void       ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf);
+ 		void       ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
+ 		void       ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon);
++		void       ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not supported");};
++		void       ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
++		void       ViscosityBSSA(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
+ 		/*}}}*/
+ };
+ 
+Index: ../trunk-jpl/src/c/classes/Materials/Matpar.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Materials/Matpar.h	(revision 21699)
++++ ../trunk-jpl/src/c/classes/Materials/Matpar.h	(revision 21700)
+@@ -124,6 +124,9 @@
+ 		void       ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf){_error_("not supported");};
+ 		void       ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
+ 		void       ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){_error_("not supported");};
++		void       ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not supported");};
++		void       ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
++		void       ViscosityBSSA(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
+ 		/*}}}*/
+ 		/*Numerics: {{{*/
+ 		void       EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21700-21701.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21700-21701.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21700-21701.diff	(revision 21726)
@@ -0,0 +1,99 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21700)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21701)
+@@ -651,6 +651,7 @@
+ void       Element::dViscositydBFS(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
+ 
+ 	/*Intermediaries*/
++	int materialstype;
+ 	IssmDouble dmudB;
+ 	IssmDouble epsilon3d[6];/* epsilon=[exx,eyy,exy,exy,exz,eyz];    */
+ 	IssmDouble epsilon2d[3];/* epsilon=[exx,eyy,exy];    */
+@@ -668,7 +669,16 @@
+ 		eps_eff = 1./sqrt(2.)*sqrt(epsilon2d[0]*epsilon2d[0] + epsilon2d[1]*epsilon2d[1] + 2.*epsilon2d[2]*epsilon2d[2]);
+ 	}
+ 	/*Get viscosity*/
+-	material->GetViscosity_B(&dmudB,eps_eff);
++	materialstype=this->material->ObjectEnum();
++	switch(materialstype){
++		case MaticeEnum:
++			material->GetViscosity_B(&dmudB,eps_eff);
++			break;
++		case MatestarEnum:
++			material->ViscosityBFS(&dmudB,dim,xyz_list,gauss,vx_input,vy_input,vz_input);
++			break;
++		default: _error_("not supported");
++	}
+ 
+ 	/*Assign output pointer*/
+ 	*pdmudB=dmudB;
+@@ -678,6 +688,7 @@
+ void       Element::dViscositydBHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+ 
+ 	/*Intermediaries*/
++	int materialstype;
+ 	IssmDouble dmudB;
+ 	IssmDouble epsilon3d[5];/* epsilon=[exx,eyy,exy,exy,exz,eyz];    */
+ 	IssmDouble epsilon2d[2];/* epsilon=[exx,eyy,exy];    */
+@@ -695,7 +706,16 @@
+ 		eps_eff = 1./sqrt(2.)*sqrt(epsilon2d[0]*epsilon2d[0] + 2.*epsilon2d[1]*epsilon2d[1] + eps0*eps0);
+ 	}
+ 	/*Get viscosity*/
+-	material->GetViscosity_B(&dmudB,eps_eff);
++	materialstype=this->material->ObjectEnum();
++	switch(materialstype){
++		case MaticeEnum:
++			material->GetViscosity_B(&dmudB,eps_eff);
++			break;
++		case MatestarEnum:
++			material->ViscosityBHO(&dmudB,dim,xyz_list,gauss,vx_input,vy_input);
++			break;
++		default: _error_("not supported");
++	}
+ 
+ 	/*Assign output pointer*/
+ 	*pdmudB=dmudB;
+@@ -705,6 +725,7 @@
+ void       Element::dViscositydBSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+ 
+ 	/*Intermediaries*/
++	int materialstype;
+ 	IssmDouble dmudB;
+ 	IssmDouble epsilon2d[3];/* epsilon=[exx,eyy,exy];    */
+ 	IssmDouble epsilon1d;   /* epsilon=[exx];    */
+@@ -722,7 +743,16 @@
+ 	 }
+ 
+ 	/*Get viscosity*/
+-	material->GetViscosity_B(&dmudB,eps_eff);
++	materialstype=this->material->ObjectEnum();
++	switch(materialstype){
++		case MaticeEnum:
++			material->GetViscosity_B(&dmudB,eps_eff);
++			break;
++		case MatestarEnum:
++			material->ViscosityBSSA(&dmudB,dim,xyz_list,gauss,vx_input,vy_input);
++			break;
++		default: _error_("not supported");
++	}
+ 
+ 	/*Assign output pointer*/
+ 	*pdmudB=dmudB;
+Index: ../trunk-jpl/src/c/datastructures/DataSet.cpp
+===================================================================
+--- ../trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 21700)
++++ ../trunk-jpl/src/c/datastructures/DataSet.cpp	(revision 21701)
+@@ -166,6 +166,12 @@
+ 				matice->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
+ 				this->AddObject(matice);
+ 			}
++			else if(obj_enum==MatestarEnum){
++				Matestar* matestar=NULL;
++				matestar=new Matestar();
++				matestar->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
++				this->AddObject(matestar);
++			}
+ 			else if(obj_enum==MatparEnum){
+ 				Matpar* matpar=NULL;
+ 				matpar=new Matpar();
Index: /issm/oecreview/Archive/21337-21723/ISSM-21701-21702.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21701-21702.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21701-21702.diff	(revision 21726)
@@ -0,0 +1,36 @@
+Index: ../trunk-jpl/src/m/classes/model.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/model.m	(revision 21701)
++++ ../trunk-jpl/src/m/classes/model.m	(revision 21702)
+@@ -121,25 +121,19 @@
+ 				end
+ 			end
+ 			%2014 November 12
+-			if isa(md.calving,'double');
+-				md.calving=calving();
+-			end
++			if isa(md.calving,'double'); md.calving=calving(); end
+ 			%2016 February 3
+-			if isa(md.slr,'double');
+-				md.slr=slr();
+-			end
++			if isa(md.slr,'double'); md.slr=slr(); end
+ 			%2016 October 11
+-			if isa(md.esa,'double');
+-				md.esa=esa();
+-			end
++			if isa(md.esa,'double'); md.esa=esa(); end
+ 			%2017 February 10th
+ 			if md.settings.solver_residue_threshold==0,
+ 				md.settings.solver_residue_threshold = 1e-6;
+ 			end
+ 			%2017 April 10th
+-			if isa(md.gia,'gia');
+-				md.gia=giaivins();
+-			end
++			if isa(md.gia,'gia'), md.gia=giaivins(); end
++			%2017 May 4th
++			if isa(md.amr,'double'); md.amr=amr(); end
+ 
+ 		end% }}}
+ 	end
Index: /issm/oecreview/Archive/21337-21723/ISSM-21702-21703.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21702-21703.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21702-21703.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/c/classes/IoModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21702)
++++ ../trunk-jpl/src/c/classes/IoModel.cpp	(revision 21703)
+@@ -1654,6 +1654,7 @@
+ 			}
+ 			break;
+ 		case 7: //IssmDouble vector
++		case 10:
+ 			this->FetchData(&doublearray,&M,&N,vector_name);
+ 			if(!doublearray) _error_("\""<<vector_name<<"\" not found in binary file");
+ 			for(i=0;i<elements->Size();i++){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21703-21704.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21703-21704.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21703-21704.diff	(revision 21726)
@@ -0,0 +1,55 @@
+Index: ../trunk-jpl/src/m/solve/WriteData.m
+===================================================================
+--- ../trunk-jpl/src/m/solve/WriteData.m	(revision 21703)
++++ ../trunk-jpl/src/m/solve/WriteData.m	(revision 21704)
+@@ -173,9 +173,8 @@
+ 	%Get size
+ 	s=size(data);
+ 
+-	if s(1)==1 | s(2)==1,
+-		%No need to use Compressed format
+-		error('Not needed (should call WriteData with DoubleMat)');
++	if (s(1)==1 & s(2)==1 & isnan(data)),
++		s(1)=0; s(2)=0;
+ 	end
+ 
+ 	%first write length of record
+@@ -191,19 +190,27 @@
+ 	fwrite(fid,s(1),'int'); 
+ 	fwrite(fid,s(2),'int'); 
+ 
+-	%Write offset and range
+-	A = data(1:end-1,:);
+-	offset = min(A(:));
+-	range = max(A(:)) - offset;
+-	fwrite(fid,offset,'double'); 
+-	fwrite(fid,range,'double'); 
++	if s(1)*s(2),
+ 
+-	%Convert data to uint8 and write it
+-	A=uint8((A-offset)/range*255);
+-	fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
++		%Write offset and range
++		A = data(1:end-1,:);
++		offset = min(A(:));
++		range = max(A(:)) - offset;
++		fwrite(fid,offset,'double');
++		fwrite(fid,range,'double');
+ 
+-	%Write last row as double (time)
+-	fwrite(fid,data(end,:),'double'); 
++		%Convert data to uint8 and write it
++		A=uint8((A-offset)/range*255);
++		fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
++
++		%Write last row as double (time)
++		fwrite(fid,data(end,:),'double'); 
++	else
++
++		%Write empty offset and range
++		fwrite(fid,0,'double');
++		fwrite(fid,0,'double');
++	end
+ 	% }}}
+ elseif strcmpi(format,'MatArray'), % {{{
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21704-21705.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21704-21705.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21704-21705.diff	(revision 21726)
@@ -0,0 +1,68 @@
+Index: ../trunk-jpl/src/m/plot/plot_BC.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_BC.m	(revision 21704)
++++ ../trunk-jpl/src/m/plot/plot_BC.m	(revision 21705)
+@@ -6,24 +6,28 @@
+ hold on
+ 
+ [x y z elements is2d isplanet]=processmesh(md,[],options);
++spcvx=processdata(md,md.stressbalance.spcvx,options);
++spcvy=processdata(md,md.stressbalance.spcvy,options);
++spcvz=processdata(md,md.stressbalance.spcvz,options);
++nbv = numel(x);
+ 
+ %plot dirichlets
+ dirichleton=getfieldvalue(options,'dirichlet','on');
+ if strcmpi(dirichleton,'on'),
+ 	h1=plot3(...
+-		x(find(~isnan(md.stressbalance.spcvx(1:md.mesh.numberofvertices,1)))),...
+-		y(find(~isnan(md.stressbalance.spcvx(1:md.mesh.numberofvertices,1)))),...
+-		z(find(~isnan(md.stressbalance.spcvx(1:md.mesh.numberofvertices,1)))),...
++		x(find(~isnan(spcvx(1:nbv,1)))),...
++		y(find(~isnan(spcvx(1:nbv,1)))),...
++		z(find(~isnan(spcvx(1:nbv,1)))),...
+ 		'ro','MarkerSize',14,'MarkerFaceColor','r');
+ 	h2=plot3(...
+-		x(find(~isnan(md.stressbalance.spcvy(1:md.mesh.numberofvertices,1)))),...
+-		y(find(~isnan(md.stressbalance.spcvy(1:md.mesh.numberofvertices,1)))),...
+-		z(find(~isnan(md.stressbalance.spcvy(1:md.mesh.numberofvertices,1)))),...
++		x(find(~isnan(spcvy(1:nbv,1)))),...
++		y(find(~isnan(spcvy(1:nbv,1)))),...
++		z(find(~isnan(spcvy(1:nbv,1)))),...
+ 		'bo','MarkerSize',10,'MarkerFaceColor','b');
+ 	h3=plot3(...
+-		x(find(~isnan(md.stressbalance.spcvz(1:md.mesh.numberofvertices,1)))),...
+-		y(find(~isnan(md.stressbalance.spcvz(1:md.mesh.numberofvertices,1)))),...
+-		z(find(~isnan(md.stressbalance.spcvz(1:md.mesh.numberofvertices,1)))),...
++		x(find(~isnan(spcvz(1:nbv,1)))),...
++		y(find(~isnan(spcvz(1:nbv,1)))),...
++		z(find(~isnan(spcvz(1:nbv,1)))),...
+ 		'yo','MarkerSize',6 ,'MarkerFaceColor','y');
+ end
+ 
+Index: ../trunk-jpl/src/m/plot/plot_icefront.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_icefront.m	(revision 21704)
++++ ../trunk-jpl/src/m/plot/plot_icefront.m	(revision 21705)
+@@ -18,7 +18,7 @@
+ elementnoice=sum(noice(md.mesh.elements),2);
+ elementzeroice=sum(zeroice(md.mesh.elements),2);
+ 
+-if dimension(md.mesh)==2,
++if is2d,
+ 	icefront=(elementice & elementnoice) & ~(elementice==2 & elementzeroice);
+ 
+ 	%plot mesh
+Index: ../trunk-jpl/src/m/plot/plot_manager.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.m	(revision 21704)
++++ ../trunk-jpl/src/m/plot/plot_manager.m	(revision 21705)
+@@ -20,7 +20,7 @@
+ 		case 'boundaries',
+ 			plot_boundaries(md,options,subplotwidth,i);
+ 			return;
+-		case 'BC',
++		case {'BC','bc'},
+ 			plot_BC(md,options,subplotwidth,i,data);
+ 			return;
+ 		case 'edges'
Index: /issm/oecreview/Archive/21337-21723/ISSM-21705-21706.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21705-21706.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21705-21706.diff	(revision 21726)
@@ -0,0 +1,34 @@
+Index: ../trunk-jpl/src/c/classes/FemModel.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.h	(revision 21705)
++++ ../trunk-jpl/src/c/classes/FemModel.h	(revision 21706)
+@@ -66,6 +66,7 @@
+ 		void Restart(void);
+ 		void SetCurrentConfiguration(int configuration_type);
+ 		void SetCurrentConfiguration(int configuration_type,int analysis_type);
++		int  Size(void);
+ 		void SolutionAnalysesList(int** panalyses,int* pnumanalyses,IoModel* iomodel,int solutiontype);
+ 		void Solve(void);
+ 
+Index: ../trunk-jpl/src/c/classes/FemModel.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21705)
++++ ../trunk-jpl/src/c/classes/FemModel.cpp	(revision 21706)
+@@ -519,8 +519,16 @@
+ 	this->SetCurrentConfiguration(configuration_type,configuration_type);
+ }
+ /*}}}*/
+-void  FemModel::SolutionAnalysesList(int** panalyses,int* pnumanalyses,IoModel* iomodel,int solutiontype){/*{{{*/
++int  FemModel::Size(){ /*{{{*/
++	int   femmodel_size;
+ 
++	this->Marshall(NULL,&femmodel_size,MARSHALLING_SIZE);
++
++	return femmodel_size;
++}
++/*}}}*/
++void FemModel::SolutionAnalysesList(int** panalyses,int* pnumanalyses,IoModel* iomodel,int solutiontype){/*{{{*/
++
+ 	/*output: */
+ 	int  numanalyses = 0;
+ 	int* analyses=NULL;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21706-21707.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21706-21707.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21706-21707.diff	(revision 21726)
@@ -0,0 +1,562 @@
+Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/writeNetCDF.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/mismip/writeNetCDF.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/mismip/writeNetCDF.m	(revision 21707)
+@@ -0,0 +1,112 @@
++function writeNetCDF(md0,md,step,dt,ncfile),
++
++ 	xGL={};
++   yGL={};
++   iceThicknessGL={};
++   uBaseGL={};
++   vBaseGL={};
++   iceVolume=[];
++   iceVAF=[];
++   groundedArea=[];
++   time=[];
++
++	%Inserting time 0. md0 must be last experiment (e.g., Ice1r for Ice1ra)
++	x							= md0.results.TransientSolution(end).MeshX;
++	y							= md0.results.TransientSolution(end).MeshY;
++	time(1)					= 0;
++	[xgl_step ygl_step]	= gl_position(md0,length(md0.results.TransientSolution),0);
++	xGL{1}					= xgl_step;
++	yGL{1}					= ygl_step;
++	iceVolume(1)			= md0.results.TransientSolution(end).IceVolume;
++	iceVAF(1)				= md0.results.TransientSolution(end).IceVolumeAboveFloatation;
++	groundedArea(1)		= md0.results.TransientSolution(end).GroundedArea;
++	iceThicknessGL{1}		= griddata(x,y,md0.results.TransientSolution(end).Thickness,xgl_step,ygl_step);
++	uBaseGL{1}				= griddata(x,y,md0.results.TransientSolution(end).Vx,xgl_step,ygl_step);
++	vBaseGL{1}				= griddata(x,y,md0.results.TransientSolution(end).Vy,xgl_step,ygl_step);
++
++   for i=2:length(step),
++		x = md.results.TransientSolution(step(i)).MeshX;
++		y = md.results.TransientSolution(step(i)).MeshY;
++		time(i)=md.results.TransientSolution(step(i)).time;	
++		[xgl_step ygl_step]=gl_position(md,step(i),0);
++      xGL{i}=xgl_step;
++      yGL{i}=ygl_step;
++      iceVolume(i)=md.results.TransientSolution(step(i)).IceVolume;
++      iceVAF(i)=md.results.TransientSolution(step(i)).IceVolumeAboveFloatation;
++      groundedArea(i)=md.results.TransientSolution(step(i)).GroundedArea;
++      iceThicknessGL{i}=griddata(x,y,md.results.TransientSolution(step(i)).Thickness,xgl_step,ygl_step);
++      uBaseGL{i}=griddata(x,y,md.results.TransientSolution(step(i)).Vx,xgl_step,ygl_step);
++      vBaseGL{i}=griddata(x,y,md.results.TransientSolution(step(i)).Vy,xgl_step,ygl_step);
++   end
++   uSurfaceGL=uBaseGL;
++   vSurfaceGL=vBaseGL;
++   uMeanGL=uBaseGL;
++   vMeanGL=vBaseGL;
++	
++	 %Create netcdf
++   mode = netcdf.getConstant('NETCDF4');
++   mode = bitor(mode,netcdf.getConstant('CLASSIC_MODEL'));
++   ncid=netcdf.create(ncfile,mode);
++
++   %General attributes
++   netcdf.putAtt(ncid,netcdf.getConstant('NC_GLOBAL'),'Author','Helene Seroussi (helene.seroussi@jpl.nasa.gov)');
++   netcdf.putAtt(ncid,netcdf.getConstant('NC_GLOBAL'),'Model','ISSM (Ice Sheet System Model)');
++   netcdf.putAtt(ncid,netcdf.getConstant('NC_GLOBAL'),'Notes','Experiments performed at Caltech Jet Propulsion Laboratory, Pasadena');
++   netcdf.putAtt(ncid,netcdf.getConstant('NC_GLOBAL'),'Date',date());
++
++   %Define dimensions
++   gl_id    = netcdf.defDim(ncid,'nPointGL',netcdf.getConstant('NC_UNLIMITED'));
++   ntime_id  = netcdf.defDim(ncid,'nTime',length(time));
++
++   %Define variables
++   volume_var_id = netcdf.defVar(ncid,'iceVolume','NC_FLOAT',[ntime_id]);
++   VAF_var_id = netcdf.defVar(ncid,'iceVAF','NC_FLOAT',[ntime_id]);
++   grounded_var_id = netcdf.defVar(ncid,'groundedArea','NC_FLOAT',[ntime_id]);
++   xgl_var_id = netcdf.defVar(ncid,'xGL','NC_FLOAT',[ntime_id,gl_id]);
++   ygl_var_id = netcdf.defVar(ncid,'yGL','NC_FLOAT',[ntime_id,gl_id]);
++   thickness_var_id = netcdf.defVar(ncid,'iceThicknessGL','NC_FLOAT',[ntime_id,gl_id]);
++   ubase_var_id = netcdf.defVar(ncid,'uBaseGL','NC_FLOAT',[ntime_id,gl_id]);
++   vbase_var_id = netcdf.defVar(ncid,'vBaseGL','NC_FLOAT',[ntime_id,gl_id]);
++   usurface_var_id = netcdf.defVar(ncid,'uSurfaceGL','NC_FLOAT',[ntime_id,gl_id]);
++   vsurface_var_id = netcdf.defVar(ncid,'vSurfaceGL','NC_FLOAT',[ntime_id,gl_id]);
++   umean_var_id = netcdf.defVar(ncid,'uMeanGL','NC_FLOAT',[ntime_id,gl_id]);
++   vmean_var_id = netcdf.defVar(ncid,'vMeanGL','NC_FLOAT',[ntime_id,gl_id]);
++   time_var_id = netcdf.defVar(ncid,'time','NC_FLOAT',[ntime_id]);
++
++	%Define default fill values
++   if(false),
++		netcdf.defVarFill(ncid,xgl_var_id,false,NaN);
++		netcdf.defVarFill(ncid,ygl_var_id,false,NaN);
++		netcdf.defVarFill(ncid,thickness_var_id,false,NaN);
++		netcdf.defVarFill(ncid,ubase_var_id,false,NaN);
++		netcdf.defVarFill(ncid,vbase_var_id,false,NaN);
++		netcdf.defVarFill(ncid,usurface_var_id,false,NaN);
++		netcdf.defVarFill(ncid,vsurface_var_id,false,NaN);
++		netcdf.defVarFill(ncid,umean_var_id,false,NaN);
++		netcdf.defVarFill(ncid,vmean_var_id,false,NaN);
++	end
++   
++	netcdf.endDef(ncid);
++	
++	%Write variables
++   netcdf.putVar(ncid,volume_var_id,iceVolume);
++   netcdf.putVar(ncid,VAF_var_id,iceVAF);
++   netcdf.putVar(ncid,grounded_var_id,groundedArea);
++   for i=1:length(time),
++      netcdf.putVar(ncid,xgl_var_id,[i-1,0],[1,length(xGL{i})],xGL{i}');
++      netcdf.putVar(ncid,ygl_var_id,[i-1,0],[1,length(xGL{i})],yGL{i}');
++      netcdf.putVar(ncid,thickness_var_id,[i-1,0],[1,length(xGL{i})],iceThicknessGL{i}');
++      netcdf.putVar(ncid,ubase_var_id,[i-1,0],[1,length(xGL{i})],uBaseGL{i}');
++      netcdf.putVar(ncid,vbase_var_id,[i-1,0],[1,length(xGL{i})],vBaseGL{i}');
++      netcdf.putVar(ncid,usurface_var_id,[i-1,0],[1,length(xGL{i})],uSurfaceGL{i}');
++      netcdf.putVar(ncid,vsurface_var_id,[i-1,0],[1,length(xGL{i})],vSurfaceGL{i}');
++      netcdf.putVar(ncid,umean_var_id,[i-1,0],[1,length(xGL{i})],uMeanGL{i}');
++      netcdf.putVar(ncid,vmean_var_id,[i-1,0],[1,length(xGL{i})],vMeanGL{i}');
++   end
++   netcdf.putVar(ncid,time_var_id,time+dt);
++
++   %Close netcdf
++   netcdf.close(ncid)
++
++end
++
+Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/ice_evolution.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/mismip/ice_evolution.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/mismip/ice_evolution.m	(revision 21707)
+@@ -0,0 +1,34 @@
++%ga: grounded area
++%iv: ice volume
++%ivaf: ice volume above floatation
++%GLy40 : grounding line position @ y=40km
++%nelem : number of elements
++
++function [ga iv ivaf GLy40 nelem t] = ice_evolution(md),
++
++	ga			= [];
++	iv			= [];
++	ivaf		= [];
++	GLy40		= [];
++	nelem		= [];
++	t			= [];
++	nsteps	= length(md.results.TransientSolution);
++
++	for i=1:nsteps,
++		ga(i)			= md.results.TransientSolution(i).GroundedArea;
++		iv(i)			= md.results.TransientSolution(i).IceVolume;
++		ivaf(i)		= md.results.TransientSolution(i).IceVolumeAboveFloatation;
++		nelem(i)		= size(md.results.TransientSolution(i).MeshElements,1);
++		t(i)			= md.results.TransientSolution(i).time;	
++		%find GL position at y=40km
++		[glx gly]	= gl_position(md,i,0);
++		pos=find(gly<45000 & gly > 35000);
++		x=gly(pos);
++		v=glx(pos);
++		xq=[38000:100:42000];
++		vq = interp1(x,v,xq,'linear');
++		pos=find(xq==40000);
++		GLy40(i)=vq(pos);
++	end
++
++end
+Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/MismipGLPosition.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/mismip/MismipGLPosition.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/mismip/MismipGLPosition.m	(revision 21707)
+@@ -0,0 +1,29 @@
++%GLy0 : grounding line position @ y=0km
++%GLy40 : grounding line position @ y=40km
++
++function [GLy0 GLy40] = MismipGLPosition(xGL,yGL,t),
++
++	GLy0		= [];
++	GLy40		= [];
++	nsteps	= length(t);
++
++	for i=1:nsteps,
++		
++		xi	 = xGL(i,:);
++		yi	 = yGL(i,:);
++		
++		%find GL position at y=0km
++		pos		= find(min(yi)==yi);
++		GLy0(i)  = max(xi(pos)); %max(xi(pos)) Helene, here
++		
++		%find GL position at y=40km
++		pos		= find(yi<45 & yi>35);
++		x			= yi(pos);
++		v			= xi(pos);
++		xq			= [38:0.1:42];
++		vq			= interp1(x,v,xq,'linear');
++		pos		= find(xq==40);
++		GLy40(i) = vq(pos);
++	end
++
++end
+Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m	(revision 21707)
+@@ -0,0 +1,187 @@
++function [glx gly] = gl_position(md,step,level),
++
++		%initialization of some variables
++		data					= md.results.TransientSolution(step).MaskGroundediceLevelset;
++		index					= md.results.TransientSolution(step).MeshElements;
++		x						= md.results.TransientSolution(step).MeshX;
++		y						= md.results.TransientSolution(step).MeshY;
++		numberofelements	= size(index,1);
++		elementslist		= 1:numberofelements;
++		c						= [];
++		h						= [];
++
++		%get unique edges in mesh
++		%1: list of edges
++		edges=[index(:,[1,2]); index(:,[2,3]); index(:,[3,1])];
++		%2: find unique edges
++		[edges,I,J]=unique(sort(edges,2),'rows');
++		%3: unique edge numbers
++		vec=J;
++		%4: unique edges numbers in each triangle (2 triangles sharing the same edge will have
++		%   the same edge number)
++		edges_tria=[vec(elementslist), vec(elementslist+numberofelements), vec(elementslist+2*numberofelements)];
++
++		%segments [nodes1 nodes2]
++		Seg1=index(:,[1 2]);
++		Seg2=index(:,[2 3]);
++		Seg3=index(:,[3 1]);
++
++		%segment numbers [1;4;6;...]
++		Seg1_num=edges_tria(:,1);
++		Seg2_num=edges_tria(:,2);
++		Seg3_num=edges_tria(:,3);
++
++		%value of data on each tips of the segments
++		Data1=data(Seg1);
++		Data2=data(Seg2);
++		Data3=data(Seg3);
++
++		%get the ranges for each segment
++		Range1=sort(Data1,2);
++		Range2=sort(Data2,2);
++		Range3=sort(Data3,2);
++
++		%find the segments that contain this value
++		pos1=(Range1(:,1)<level & Range1(:,2)>level);
++		pos2=(Range2(:,1)<level & Range2(:,2)>level);
++		pos3=(Range3(:,1)<level & Range3(:,2)>level);
++
++		%get elements
++		poselem12=(pos1 & pos2);
++		poselem13=(pos1 & pos3);
++		poselem23=(pos2 & pos3);
++		poselem=find(poselem12 | poselem13 | poselem23);
++		numelems=length(poselem);
++
++		%if no element has been flagged, skip to the next level
++		if numelems==0,
++			return,
++		end
++
++		%go through the elements and build the coordinates for each segment (1 by element)
++		x1=zeros(numelems,1);
++		x2=zeros(numelems,1);
++		y1=zeros(numelems,1);
++		y2=zeros(numelems,1);
++		edge_l=zeros(numelems,2);
++
++		for j=1:numelems,
++
++			weight1=(level-Data1(poselem(j),1))/(Data1(poselem(j),2)-Data1(poselem(j),1));
++			weight2=(level-Data2(poselem(j),1))/(Data2(poselem(j),2)-Data2(poselem(j),1));
++			weight3=(level-Data3(poselem(j),1))/(Data3(poselem(j),2)-Data3(poselem(j),1));
++
++			if poselem12(poselem(j));
++
++				x1(j)=x(Seg1(poselem(j),1))+weight1*(x(Seg1(poselem(j),2))-x(Seg1(poselem(j),1)));
++				x2(j)=x(Seg2(poselem(j),1))+weight2*(x(Seg2(poselem(j),2))-x(Seg2(poselem(j),1)));
++				y1(j)=y(Seg1(poselem(j),1))+weight1*(y(Seg1(poselem(j),2))-y(Seg1(poselem(j),1)));
++				y2(j)=y(Seg2(poselem(j),1))+weight2*(y(Seg2(poselem(j),2))-y(Seg2(poselem(j),1)));
++				edge_l(j,1)=Seg1_num(poselem(j));
++				edge_l(j,2)=Seg2_num(poselem(j));
++
++			elseif poselem13(poselem(j)),
++
++				x1(j)=x(Seg1(poselem(j),1))+weight1*(x(Seg1(poselem(j),2))-x(Seg1(poselem(j),1)));
++				x2(j)=x(Seg3(poselem(j),1))+weight3*(x(Seg3(poselem(j),2))-x(Seg3(poselem(j),1)));
++				y1(j)=y(Seg1(poselem(j),1))+weight1*(y(Seg1(poselem(j),2))-y(Seg1(poselem(j),1)));
++				y2(j)=y(Seg3(poselem(j),1))+weight3*(y(Seg3(poselem(j),2))-y(Seg3(poselem(j),1)));
++				edge_l(j,1)=Seg1_num(poselem(j));
++				edge_l(j,2)=Seg3_num(poselem(j));
++
++			elseif poselem23(poselem(j)),
++
++				x1(j)=x(Seg2(poselem(j),1))+weight2*(x(Seg2(poselem(j),2))-x(Seg2(poselem(j),1)));
++				x2(j)=x(Seg3(poselem(j),1))+weight3*(x(Seg3(poselem(j),2))-x(Seg3(poselem(j),1)));
++				y1(j)=y(Seg2(poselem(j),1))+weight2*(y(Seg2(poselem(j),2))-y(Seg2(poselem(j),1)));
++				y2(j)=y(Seg3(poselem(j),1))+weight3*(y(Seg3(poselem(j),2))-y(Seg3(poselem(j),1)));
++				edge_l(j,1)=Seg2_num(poselem(j));
++				edge_l(j,2)=Seg3_num(poselem(j));
++			else
++				%it shoud not go here
++			end
++		end
++
++		%now that we have the segments, we must try to connect them...
++
++		%loop over the subcontours
++		indice=0;
++		while ~isempty(edge_l),
++			indice=indice+1;
++
++			%take the right edge of the second segment and connect it to the next segments if any
++			e1=edge_l(1,1);   e2=edge_l(1,2);
++			xc=[x1(1);x2(1)]; yc=[y1(1);y2(1)];
++
++			%erase the lines corresponding to this edge
++			edge_l(1,:)=[];
++			x1(1)=[]; x2(1)=[];
++			y1(1)=[]; y2(1)=[];
++
++			[ro1,co1]=find(edge_l==e1);
++
++			while ~isempty(ro1)
++
++				if co1==1,
++					xc=[x2(ro1);xc]; yc=[y2(ro1);yc];
++
++					%next edge:
++					e1=edge_l(ro1,2);
++
++				else
++					xc=[x1(ro1);xc]; yc=[y1(ro1);yc];
++
++					%next edge:
++					e1=edge_l(ro1,1);
++				end
++
++				%erase the lines of this
++				edge_l(ro1,:)=[];
++				x1(ro1)=[]; x2(ro1)=[];
++				y1(ro1)=[]; y2(ro1)=[];
++
++				%next connection
++				[ro1,co1]=find(edge_l==e1);
++			end
++
++			%same thing the other way (to the right)
++			[ro2,co2]=find(edge_l==e2);
++
++			while ~isempty(ro2)
++
++				if co2==1,
++					xc=[xc;x2(ro2)]; yc=[yc;y2(ro2)];
++
++					%next edge:
++					e2=edge_l(ro2,2);
++				else
++					xc=[xc;x1(ro2)]; yc=[yc;y1(ro2)];
++
++					%next edge:
++					e2=edge_l(ro2,1);
++				end
++
++				%erase the lines of this
++				edge_l(ro2,:)=[];
++				x1(ro2)=[]; x2(ro2)=[];
++				y1(ro2)=[]; y2(ro2)=[];
++
++				%next connection
++				[ro2,co2]=find(edge_l==e2);
++			end
++
++			% Update the CS data structure as per "contours.m"
++			% so that clabel works
++			c = horzcat(c,[level, xc'; length(xc), yc']);
++	%		y0=find(c(2,:)==0);
++	%		y50=find(c(2,:)==50000);
++	%		gl0(glstep)=c(1,y0);
++	%		gl50(glstep)=c(1,y50);
++	glx=c(1,1:end)';
++	gly=c(2,1:end)';
++	pos=find(glx~=0);
++	glx=glx(pos);
++	gly=gly(pos);
++
++end
++	%min(c(1,2:end))
+Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/generate_plot.m
+===================================================================
+--- ../trunk-jpl/src/m/contrib/tsantos/mismip/generate_plot.m	(revision 0)
++++ ../trunk-jpl/src/m/contrib/tsantos/mismip/generate_plot.m	(revision 21707)
+@@ -0,0 +1,175 @@
++%L0 and L1 {{{
++md0			= loadmodel('./L0_viscous/Transient_Steadystate_Level_0.mat');
++md1			= loadmodel('./L1/L1_viscous/Transient_steadystate.mat');
++md_L1_R5		= loadmodel('./R5/L1_viscous/Transient_steadystate.mat');
++md_L1_R15	= loadmodel('./R15/L1_viscous/Transient_steadystate.mat');
++md_L1_R30	= loadmodel('./R30/L1_viscous/Transient_steadystate.mat');
++md_L1_R40	= loadmodel('./R40/L1_viscous/Transient_steadystate.mat');
++
++[ga0 iv0 ivaf0 GLy400 ne0 t0] = ice_evolution(md0);
++[gaL1 ivL1 ivafL1 GLy40L1 neL1 tL1] = ice_evolution(md1);
++[ga1 iv1 ivaf1 GLy401 ne1 t1] = ice_evolution(md_L1_R5);
++[ga2 iv2 ivaf2 GLy402 ne2 t2] = ice_evolution(md_L1_R15);
++[ga3 iv3 ivaf3 GLy403 ne3 t3] = ice_evolution(md_L1_R30);
++[ga4 iv4 ivaf4 GLy404 ne4 t4] = ice_evolution(md_L1_R40);
++% }}}
++%L2 {{{
++md_L2_R5		= loadmodel('./R5/L2_viscous/Transient_steadystate.mat');
++md_L2_R15	= loadmodel('./R15/L2_viscous/Transient_steadystate.mat');
++md_L2_R20	= loadmodel('./R20/L2_viscous/Transient_steadystate.mat');
++md_L2_R30	= loadmodel('./R30/L2_viscous/Transient_steadystate.mat');
++
++[ga5 iv5 ivaf5 GLy405 ne5 t5] = ice_evolution(md_L2_R5);
++[ga6 iv6 ivaf6 GLy406 ne6 t6] = ice_evolution(md_L2_R15);
++[ga7 iv7 ivaf7 GLy407 ne7 t7] = ice_evolution(md_L2_R20);
++[ga8 iv8 ivaf8 GLy408 ne8 t8] = ice_evolution(md_L2_R30);
++% }}}
++%L3 {{{
++md_L3_R30	= loadmodel('./L3_viscous/Transient_steadystate.mat');
++[ga9 iv9 ivaf9 GLy409 ne9 t9] = ice_evolution(md_L3_R30);
++% }}}
++
++%L4 {{{
++md_L4_R30	= loadmodel('./L4_viscous/Transient_steadystate.mat');
++[ga10 iv10 ivaf10 GLy4010 ne10 t10] = ice_evolution(md_L4_R30);
++% }}}
++
++% Scaling {{{
++t0=t0/1000;
++tL1=tL1/1000;
++t1=t1/1000;
++t2=t2/1000;
++t3=t3/1000;
++t4=t4/1000;
++t5=t5/1000;
++t6=t6/1000;
++t7=t7/1000;
++t8=t8/1000;
++t9=t9/1000;
++t10=t10/1000;
++
++GLy400=GLy400/1000;
++GLy40L1=GLy40L1/1000;
++GLy401=GLy401/1000;
++GLy402=GLy402/1000;
++GLy403=GLy403/1000;
++GLy404=GLy404/1000;
++GLy405=GLy405/1000;
++GLy406=GLy406/1000;
++GLy407=GLy407/1000;
++GLy408=GLy408/1000;
++GLy409=GLy409/1000;
++GLy4010=GLy4010/1000;
++
++ivaf0=ivaf0/10^12;
++ivafL1=ivafL1/10^12;
++ivaf1=ivaf1/10^12;
++ivaf2=ivaf2/10^12;
++ivaf3=ivaf3/10^12;
++ivaf4=ivaf4/10^12;
++ivaf5=ivaf5/10^12;
++ivaf6=ivaf6/10^12;
++ivaf7=ivaf7/10^12;
++ivaf8=ivaf8/10^12;
++ivaf9=ivaf9/10^12;
++ivaf10=ivaf10/10^12;
++% }}}
++
++figure(1) % {{{
++hold on
++plot(t0,GLy400,'*',tL1,GLy40L1,'r+',t1,GLy401,'b',t2,GLy402,'g',t3,GLy403,'m',t4,GLy404,'r','LineWidth',1.5)
++axis([0 25 365 455])
++legend('L0','L1','L1-R5','L1-R15','L1-R30','L1-R40','Location','southeast')
++title('\fontsize{16} Mismip+ steady state - Rmax analysis')
++ylabel('GL @ y=40km (km)')
++xlabel('t (kyr)')
++hold off
++% }}}
++
++figure(2) % {{{
++hold on
++plot(t0,GLy400,'*',t5,GLy405,'b',t6,GLy406,'g',t7,GLy407,'m',t8,GLy408,'r','LineWidth',1.5)
++axis([0 25 365 455])
++legend('L0','L2-R5','L2-R15','L2-R20','L2-R30','Location','southeast')
++title('\fontsize{16} Mismip+ steady state - Rmax analysis')
++ylabel('GL @ y=40km (km)')
++xlabel('t (kyr)')
++hold off
++% }}}
++
++figure(3) % {{{
++res	= [2 1];
++res30 = [2 1 0.5 0.25];
++r5		= [GLy401(end) GLy405(end)];
++r15	= [GLy402(end) GLy406(end)];
++r30	= [GLy403(end) GLy408(end) GLy409(end) GLy4010(end)];
++hold on
++plot(log(4),GLy400(end),'^','MarkerSize',7,'MarkerFaceColor','b','MarkerEdgeColor','k');
++plot(log(2),GLy40L1(end),'^','MarkerSize',7,'MarkerFaceColor','k','MarkerEdgeColor','k');
++plot(log(res),r5,'^','MarkerSize',7,'MarkerFaceColor','g','MarkerEdgeColor','k');
++plot(log(res),r15,'^','MarkerSize',7,'MarkerFaceColor','y','MarkerEdgeColor','k');
++plot(log(res30),r30,'^','MarkerSize',7,'MarkerFaceColor','r','MarkerEdgeColor','k');
++plot(log(res(1)),GLy404(end),'^','MarkerSize',7,'MarkerFaceColor','m','MarkerEdgeColor','k');
++plot(log(res(2)),GLy407(end),'^','MarkerSize',7,'MarkerFaceColor','c','MarkerEdgeColor','k');
++axis([log(0.2) log(5) 437 458])
++legend('L0','L1','R5','R15','R30','L1-R40','L2-R20','Location','northeast')
++title('\fontsize{15} Mismip+ steady state: GLpos X Rmax')
++ylabel('GL @ y=40km (km)')
++xlabel('Resolution (km)')
++xtickslabel = [0.25 0.5 1 2 4];
++xticks = log(xtickslabel);
++ytickslabel = [440 445 450 455];
++yticks = ytickslabel;
++ax = gca;
++set(ax,'XTick',xticks);
++set(ax,'XTickLabel',xtickslabel);
++set(ax,'YTick',yticks);
++set(ax,'YTickLabel',ytickslabel);
++box on
++%set(gca,'xscale','log')
++hold off
++% }}}
++
++figure(4) % {{{
++res	= [2 1];
++res30	= [2 1 0.5 0.25];
++r5		= [ivaf1(end) ivaf5(end)];
++r15	= [ivaf2(end) ivaf6(end)];
++r30	= [ivaf3(end) ivaf8(end) ivaf9(end) ivaf10(end)];
++hold on
++plot(log(4),ivaf0(end),'^','MarkerSize',7,'MarkerFaceColor','b','MarkerEdgeColor','k');
++plot(log(2),ivafL1(end),'^','MarkerSize',7,'MarkerFaceColor','k','MarkerEdgeColor','k');
++plot(log(res),r5,'^','MarkerSize',7,'MarkerFaceColor','g','MarkerEdgeColor','k');
++plot(log(res),r15,'^','MarkerSize',7,'MarkerFaceColor','y','MarkerEdgeColor','k');
++plot(log(res30),r30,'^','MarkerSize',7,'MarkerFaceColor','r','MarkerEdgeColor','k');
++plot(log(res(1)),ivaf4(end),'^','MarkerSize',7,'MarkerFaceColor','m','MarkerEdgeColor','k');
++plot(log(res(2)),ivaf7(end),'^','MarkerSize',7,'MarkerFaceColor','c','MarkerEdgeColor','k');
++axis([log(0.2) log(5) 34.3 37.2])
++legend('L0','L1','R5','R15','R30','L1-R40','L2-R20','Location','northeast')
++title('\fontsize{15} Mismip+ steady state: IVAF X Rmax')
++ylabel('Ice volume above floatation (1000 x km3)')
++xlabel('Resolution (km)')
++xtickslabel = [0.25 0.5 1 2 4];
++xticks = log(xtickslabel);
++ytickslabel = [34.5 35.0 35.5 36.0 36.5 37.0];
++yticks = ytickslabel;
++ax = gca;
++set(ax,'XTick',xticks);
++set(ax,'XTickLabel',xtickslabel);
++set(ax,'YTick',yticks);
++set(ax,'YTickLabel',ytickslabel);
++box on
++%set(gca,'xscale','log')
++hold off
++% }}}
++
++figure(5) % {{{
++hold on
++plot(t0,GLy400,'*',t3,GLy403,'b',t8,GLy408,'m',t9,GLy409,'r',t10,GLy4010,'g','LineWidth',1.5)
++axis([0 25 365 460])
++legend('L0','L1-R30','L2-R30','L3-R30','L4-R30','Location','southeast')
++title('\fontsize{16} Mismip+ steady state - Rmax analysis')
++ylabel('GL @ y=40km (km)')
++xlabel('t (kyr)')
++hold off
++% }}}
Index: /issm/oecreview/Archive/21337-21723/ISSM-21707-21708.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21707-21708.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21707-21708.diff	(revision 21726)
@@ -0,0 +1,90 @@
+Index: ../trunk-jpl/src/m/solve/WriteData.py
+===================================================================
+--- ../trunk-jpl/src/m/solve/WriteData.py	(revision 21707)
++++ ../trunk-jpl/src/m/solve/WriteData.py	(revision 21708)
+@@ -235,6 +235,76 @@
+ 					fid.write(struct.pack('d',float(data[i][j])))    #get to the "c" convention, hence the transpose
+ 		# }}}
+ 
++	elif m.strcmpi(format,'CompressedMat'):    # {{{
++
++		if   isinstance(data,(bool,int,long,float)):
++			data=np.array([data])
++		elif isinstance(data,(list,tuple)):
++			data=np.array(data).reshape(-1,)
++		if np.ndim(data) == 1:
++			if np.size(data):
++				data=data.reshape(np.size(data),)
++			else:
++				data=data.reshape(0,0)
++
++		#Get size
++		s=data.shape
++		if np.ndim(data) == 1:
++		   n2=1
++		else:
++			n2=s[1]
++
++		#if matrix = NaN, then do not write anything
++		if np.ndim(data)==1 and np.product(s)==1 and np.all(np.isnan(data)):
++			s=(0,0)
++			n2=0
++
++		#first write length of record
++		recordlength=4+4+8+8+1*(s[0]-1)*n2+8*n2+4+4 #2 integers (32 bits) + the matrix + code + matrix type
++		if recordlength > 4**31 :
++			raise ValueError('field %s cannot be marshalled because it is larger than 4^31 bytes!' % enum)
++
++		fid.write(struct.pack('i',recordlength))  #2 integers (32 bits) + the matrix + code + matrix type
++
++		#write data code and matrix type: 
++		fid.write(struct.pack('i',FormatToCode(format))) 
++		fid.write(struct.pack('i',mattype))
++
++		#Write offset and range
++		A = data[0:s[0]-1]
++		offsetA = A.min()
++		rangeA = A.max() - offsetA
++
++		if rangeA == 0:
++			A = A*0 
++		else:
++			A = (A-offsetA)/rangeA*255. 
++		
++		#now write matrix
++		if np.ndim(data) == 1:
++			fid.write(struct.pack('i',s[0])) 
++			fid.write(struct.pack('i',1)) 
++			fid.write(struct.pack('d',float(offsetA)))
++			fid.write(struct.pack('d',float(rangeA)))
++			for i in xrange(s[0]-1):
++				fid.write(struct.pack('B',int(A[i])))
++
++			fid.write(struct.pack('d',float(data[s[0]-1])))    #get to the "c" convention, hence the transpose
++
++		elif np.product(s) > 0:
++			fid.write(struct.pack('i',s[0])) 
++			fid.write(struct.pack('i',s[1])) 
++			fid.write(struct.pack('d',float(offsetA)))
++			fid.write(struct.pack('d',float(rangeA)))
++			for i in xrange(s[0]-1):
++				for j in xrange(s[1]):
++					fid.write(struct.pack('B',int(A[i][j])))    #get to the "c" convention, hence the transpose
++
++			for j in xrange(s[1]):
++				fid.write(struct.pack('d',float(data[s[0]-1][j])))
++
++		# }}}
++
+ 	elif m.strcmpi(format,'MatArray'):    # {{{
+ 
+ 		#first get length of record
+@@ -336,6 +406,8 @@
+ 		code=8
+ 	elif m.strcmpi(format,'StringArray'):
+ 		code=9
++	elif m.strcmpi(format,'CompressedMat'):
++		code=10
+ 	else:
+ 		raise InputError('FormatToCode error message: data type not supported yet!')
+ 
Index: /issm/oecreview/Archive/21337-21723/ISSM-21708-21709.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21708-21709.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21708-21709.diff	(revision 21726)
@@ -0,0 +1,179 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21708)
++++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21709)
+@@ -526,10 +526,11 @@
+ 	IssmDouble* PrecipitationsPresentday=xNew<IssmDouble>(12*numvertices);
+ 	IssmDouble* tmp=xNew<IssmDouble>(numvertices);
+ 	IssmDouble Delta18oTime;
+-	IssmDouble dpermil;
++	IssmDouble dpermil,f;
+ 	IssmDouble time,yts,time_yr,month;
+ 	this->parameters->FindParam(&time,TimeEnum);
+ 	this->parameters->FindParam(&yts,ConstantsYtsEnum);
++	this->parameters->FindParam(&f,SmbFEnum);
+ 	time_yr=floor(time/yts)*yts;
+ 
+ 	/*Get some pdd parameters*/
+@@ -555,7 +556,7 @@
+ 
+ 	/*Compute the temperature and precipitation*/
+ 	for(int iv=0;iv<numvertices;iv++){
+-		ComputeD18OTemperaturePrecipitationFromPD(Delta18oTime,dpermil,
++		ComputeD18OTemperaturePrecipitationFromPD(Delta18oTime,dpermil,f,
+ 					&PrecipitationsPresentday[iv*12], &TemperaturesPresentday[iv*12],
+ 					&monthlytemperatures[iv*12], &monthlyprec[iv*12]);
+ 	}
+Index: ../trunk-jpl/src/c/analyses/SmbAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/SmbAnalysis.cpp	(revision 21708)
++++ ../trunk-jpl/src/c/analyses/SmbAnalysis.cpp	(revision 21709)
+@@ -218,6 +218,7 @@
+ 				iomodel->DeleteData(temp,"md.smb.delta18o");
+ 				
+ 				parameters->AddObject(iomodel->CopyConstantObject("md.smb.dpermil",SmbDpermilEnum));
++			   parameters->AddObject(iomodel->CopyConstantObject("md.smb.f",SmbFEnum));
+ 			}
+ 			break;
+ 		case SMBgradientsEnum:
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21708)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21709)
+@@ -457,6 +457,7 @@
+ 	SmbSealevEnum,
+ 	SMBd18opddEnum,
+ 	SmbDpermilEnum,
++	SmbFEnum,
+ 	SMBgradientsEnum,
+ 	SmbMonthlytemperaturesEnum,
+ 	SmbHrefEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21708)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21709)
+@@ -458,6 +458,7 @@
+ 		case SmbSealevEnum : return "SmbSealev";
+ 		case SMBd18opddEnum : return "SMBd18opdd";
+ 		case SmbDpermilEnum : return "SmbDpermil";
++		case SmbFEnum : return "SmbF";
+ 		case SMBgradientsEnum : return "SMBgradients";
+ 		case SmbMonthlytemperaturesEnum : return "SmbMonthlytemperatures";
+ 		case SmbHrefEnum : return "SmbHref";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21708)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21709)
+@@ -467,6 +467,7 @@
+ 	      else if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum;
+ 	      else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum;
+ 	      else if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum;
++	      else if (strcmp(name,"SmbF")==0) return SmbFEnum;
+ 	      else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum;
+ 	      else if (strcmp(name,"SmbMonthlytemperatures")==0) return SmbMonthlytemperaturesEnum;
+ 	      else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum;
+@@ -504,11 +505,11 @@
+ 	      else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum;
+ 	      else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum;
+ 	      else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;
+-	      else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
++	      if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
++	      else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
+@@ -627,11 +628,11 @@
+ 	      else if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum;
+ 	      else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum;
+ 	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
+-	      else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
++	      if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
++	      else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
+ 	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
+ 	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
+ 	      else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum;
+@@ -750,11 +751,11 @@
+ 	      else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
+ 	      else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
+ 	      else if (strcmp(name,"Regular")==0) return RegularEnum;
+-	      else if (strcmp(name,"Scaled")==0) return ScaledEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"Separate")==0) return SeparateEnum;
++	      if (strcmp(name,"Scaled")==0) return ScaledEnum;
++	      else if (strcmp(name,"Separate")==0) return SeparateEnum;
+ 	      else if (strcmp(name,"Sset")==0) return SsetEnum;
+ 	      else if (strcmp(name,"Dense")==0) return DenseEnum;
+ 	      else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;
+@@ -873,11 +874,11 @@
+ 	      else if (strcmp(name,"StringParam")==0) return StringParamEnum;
+ 	      else if (strcmp(name,"Seg")==0) return SegEnum;
+ 	      else if (strcmp(name,"SegInput")==0) return SegInputEnum;
+-	      else if (strcmp(name,"Tria")==0) return TriaEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
++	      if (strcmp(name,"Tria")==0) return TriaEnum;
++	      else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
+ 	      else if (strcmp(name,"Tetra")==0) return TetraEnum;
+ 	      else if (strcmp(name,"TetraInput")==0) return TetraInputEnum;
+ 	      else if (strcmp(name,"Penta")==0) return PentaEnum;
+@@ -996,11 +997,11 @@
+ 	      else if (strcmp(name,"MINI")==0) return MINIEnum;
+ 	      else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
+ 	      else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
+-	      else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
++	      if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
++	      else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
+ 	      else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum;
+ 	      else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum;
+ 	      else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum;
+Index: ../trunk-jpl/src/c/shared/Elements/elements.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Elements/elements.h	(revision 21708)
++++ ../trunk-jpl/src/c/shared/Elements/elements.h	(revision 21709)
+@@ -32,7 +32,7 @@
+ 					   IssmDouble* PrecipitationsLgm,IssmDouble* PrecipitationsPresentday,
+ 					   IssmDouble* TemperaturesLgm, IssmDouble* TemperaturesPresentday, 
+ 					   IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout);
+-void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil,
++void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil,IssmDouble f,
+ 					       IssmDouble* PrecipitationPresentday,IssmDouble* TemperaturePresentday,
+ 					       IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout);  
+ IssmDouble DrainageFunctionWaterfraction(IssmDouble waterfraction, IssmDouble dt=0.);
+Index: ../trunk-jpl/src/c/shared/Elements/ComputeD18OTemperaturePrecipitationFromPD.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Elements/ComputeD18OTemperaturePrecipitationFromPD.cpp	(revision 21708)
++++ ../trunk-jpl/src/c/shared/Elements/ComputeD18OTemperaturePrecipitationFromPD.cpp	(revision 21709)
+@@ -6,7 +6,7 @@
+ #include "./elements.h"
+ #include "../Numerics/numerics.h"
+ 
+-void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil,
++void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil,IssmDouble f,
+ 					       IssmDouble* PrecipitationPresentday,IssmDouble* TemperaturePresentday,
+ 					       IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout){
+   
+@@ -22,7 +22,7 @@
+   for (int imonth = 0; imonth<12; imonth++){
+     
+     monthlytemperaturestmp[imonth] = TemperaturePresentday[imonth] + deltaTemp;
+-    monthlyprectmp[imonth] = PrecipitationPresentday[imonth]*exp((0.169/dpermil)*deltaTemp);
++    monthlyprectmp[imonth] = PrecipitationPresentday[imonth]*exp((f/dpermil)*deltaTemp);
+     
+     /*Assign output pointer*/
+     *(monthlytemperaturesout+imonth) = monthlytemperaturestmp[imonth];
Index: /issm/oecreview/Archive/21337-21723/ISSM-21709-21710.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21709-21710.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21709-21710.diff	(revision 21726)
@@ -0,0 +1,83 @@
+Index: ../trunk-jpl/src/m/classes/SMBd18opdd.m
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 21709)
++++ ../trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 21710)
+@@ -11,6 +11,7 @@
+ 		rlaps                     = 0;
+ 		rlapslgm                  = 0; 
+ 		dpermil                   = 0; 
++		f                         = 0;
+ 		Tdiff                     = NaN;
+ 		sealev                    = NaN;
+ 		ismungsm                  = 0;
+@@ -62,6 +63,7 @@
+ 		  self.rlaps      = 6.5;
+ 		  self.rlapslgm   = 6.5;
+ 		  self.dpermil    = 2.4;
++		  self.f          = 0.169;
+                   
+ 		end % }}}
+ 		function md = checkconsistency(self,md,solution,analyses) % {{{
+@@ -77,6 +79,7 @@
+ 					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+ 					md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
+ 					md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',1);
++				   md = checkfield(md,'fieldname','smb.f','>=',0,'numel',1);
+ 				end
+ 			end
+ 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
+@@ -95,6 +98,7 @@
+ 				fielddisplay(self,'precipitations_presentday','monthly surface precipitation [m/yr water eq], required if delta18o/mungsm/d18opd is activated');
+ 				fielddisplay(self,'delta18o','delta18o [per mil], required if pdd is activated and d18opd activated');  
+ 				fielddisplay(self,'dpermil','degree per mil, required if d18opd is activated');                            
++			   fielddisplay(self,'f','precip/temperature scaling factor, required if d18opd is activated');
+ 			end
+ 			fielddisplay(self,'requested_outputs','additional outputs requested');
+ 			% No need to display rlapslgm, Tdiff, ismungsm
+@@ -122,6 +126,7 @@
+ 				WriteData(fid,prefix,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 				WriteData(fid,prefix,'object',self,'class','smb','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2,'yts',md.constants.yts);
+ 				WriteData(fid,prefix,'object',self,'class','smb','fieldname','dpermil','format','Double');
++			   WriteData(fid,prefix,'object',self,'class','smb','fieldname','f','format','Double');
+ 			end
+ 			
+ 			%process requested outputs
+Index: ../trunk-jpl/src/m/classes/SMBd18opdd.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 21709)
++++ ../trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 21710)
+@@ -19,6 +19,7 @@
+ 		self.rlaps                     = 0.
+ 		self.rlapslgm                  = 0.
+ 		self.dpermil                   = 0.
++		self.f                         = 0.
+ 		self.Tdiff                     = float('NaN')
+ 		self.sealev                    = float('NaN')
+ 		self.ismungsm                  = 0
+@@ -82,7 +83,7 @@
+ 		self.rlaps      = 6.5 
+ 		self.rlapslgm   = 6.5
+ 		self.dpermil    = 2.4
+-
++      self.f          = 0.169
+ 		return self
+ 	#}}}
+ 	def checkconsistency(self,md,solution,analyses):    # {{{
+@@ -99,7 +100,7 @@
+ 				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+ 				md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,np.nan],'singletimeseries',1)
+ 				md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',[1])
+-		
++		      md = checkfield(md,'fieldname','smb.f','>=',0,'numel',[1])
+ 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
+ 
+ 		return md
+@@ -125,7 +126,7 @@
+ 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
+ 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2,'yts',md.constants.yts)
+ 			WriteData(fid,prefix,'object',self,'class','smb','fieldname','dpermil','format','Double')
+-			
++			WriteData(fid,prefix,'object',self,'class','smb','fieldname','f','format','Double')
+ 		#process requested outputs
+ 		outputs = self.requested_outputs
+ 		indices = [i for i, x in enumerate(outputs) if x == 'default']
Index: /issm/oecreview/Archive/21337-21723/ISSM-21710-21711.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21710-21711.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21710-21711.diff	(revision 21726)
@@ -0,0 +1,12 @@
+Index: ../trunk-jpl/src/m/classes/SMBforcing.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBforcing.py	(revision 21710)
++++ ../trunk-jpl/src/m/classes/SMBforcing.py	(revision 21711)
+@@ -55,6 +55,7 @@
+ 
+ 		WriteData(fid,prefix,'name','md.smb.model','data',1,'format','Integer');
+ 		WriteData(fid,prefix,'object',self,'class','smb','fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts)
++		#WriteData(fid,prefix,'object',self,'class','smb','fieldname','mass_balance','format','CompressedMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+ 		
+ 		#process requested outputs
+ 		outputs = self.requested_outputs
Index: /issm/oecreview/Archive/21337-21723/ISSM-21711-21712.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21711-21712.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21711-21712.diff	(revision 21726)
@@ -0,0 +1,23 @@
+Index: ../trunk-jpl/src/m/classes/SMBd18opdd.py
+===================================================================
+--- ../trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 21711)
++++ ../trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 21712)
+@@ -83,7 +83,7 @@
+ 		self.rlaps      = 6.5 
+ 		self.rlapslgm   = 6.5
+ 		self.dpermil    = 2.4
+-      self.f          = 0.169
++		self.f          = 0.169
+ 		return self
+ 	#}}}
+ 	def checkconsistency(self,md,solution,analyses):    # {{{
+@@ -100,7 +100,8 @@
+ 				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+ 				md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,np.nan],'singletimeseries',1)
+ 				md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',[1])
+-		      md = checkfield(md,'fieldname','smb.f','>=',0,'numel',[1])
++				md = checkfield(md,'fieldname','smb.f','>=',0,'numel',[1])
++
+ 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
+ 
+ 		return md
Index: /issm/oecreview/Archive/21337-21723/ISSM-21712-21713.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21712-21713.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21712-21713.diff	(revision 21726)
@@ -0,0 +1,15 @@
+Index: ../trunk-jpl/src/m/plot/plot_manager.m
+===================================================================
+--- ../trunk-jpl/src/m/plot/plot_manager.m	(revision 21712)
++++ ../trunk-jpl/src/m/plot/plot_manager.m	(revision 21713)
+@@ -190,8 +190,9 @@
+ if exist(options,'asymsubplot')
+ 	id=getfieldvalue(options,'asymsubplot',i);
+ 	subplot(nlines,ncols,id);
++	subplotmodel(nlines,ncols,id,options);
+ else
+-	subplot(nlines,ncols,i);
++	subplotmodel(nlines,ncols,i,options);
+ end
+ 
+ %plot unit
Index: /issm/oecreview/Archive/21337-21723/ISSM-21713-21714.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21713-21714.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21713-21714.diff	(revision 21726)
@@ -0,0 +1,185 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/Tria.h	(revision 21714)
+@@ -138,6 +138,7 @@
+ 		int         VelocityInterpolation();
+ 		int         VertexConnectivity(int vertexindex);
+ 		void        VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");};
++		void        VerticalSegmentIndicesBase(int** pindices,int* pnumseg){_error_("not implemented yet");};
+ 		void			WriteLevelsetSegment(DataSet* segments);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21714)
+@@ -1029,6 +1029,90 @@
+ 	if(*Jdet<0) _error_("negative jacobian determinant!");
+ }
+ /*}}}*/
++void PentaRef::VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement){/*{{{*/
++
++	/*Output*/
++	int  numindices;
++	int* indices = NULL;
++
++	switch(finiteelement){
++		case P1Enum: case P1DGEnum:
++			numindices = 3*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0; indices[0*2 + 1] = 3;
++			indices[1*2 + 0] = 1; indices[1*2 + 1] = 4;
++			indices[2*2 + 0] = 2; indices[2*2 + 1] = 5;
++			break;
++		case P1bubbleEnum: case P1bubblecondensedEnum:
++			numindices = 3*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0; indices[0*2 + 1] = 3;
++			indices[1*2 + 0] = 1; indices[1*2 + 1] = 4;
++			indices[2*2 + 0] = 2; indices[2*2 + 1] = 5;
++			break;
++		case P2xP1Enum:
++			numindices = 6*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0; indices[0*2 + 1] = 3;
++			indices[1*2 + 0] = 1; indices[1*2 + 1] = 4;
++			indices[2*2 + 0] = 2; indices[2*2 + 1] = 5;
++			indices[3*2 + 0] = 6; indices[3*2 + 1] = 9;
++			indices[4*2 + 0] = 7; indices[4*2 + 1] = 10;
++			indices[5*2 + 0] = 8; indices[5*2 + 1] = 11;
++			break;
++		case P1xP2Enum:
++			numindices = 3*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0; indices[0*2 + 1] = 6;
++			indices[1*2 + 0] = 1; indices[1*2 + 1] = 7;
++			indices[2*2 + 0] = 2; indices[2*2 + 1] = 8;
++			break;
++		case P1xP3Enum:
++			numindices = 3*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0; indices[0*2 + 1] = 6;
++			indices[1*2 + 0] = 1; indices[1*2 + 1] = 7;
++			indices[2*2 + 0] = 2; indices[2*2 + 1] = 8;
++			break;
++		case P2Enum:
++			numindices = 6*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0;  indices[0*2 + 1] = 6;
++			indices[1*2 + 0] = 1;  indices[1*2 + 1] = 7;
++			indices[2*2 + 0] = 2;  indices[2*2 + 1] = 8;
++			indices[3*2 + 0] = 9;  indices[3*2 + 1] = 15;
++			indices[4*2 + 0] = 10; indices[4*2 + 1] = 16;
++			indices[5*2 + 0] = 11; indices[5*2 + 1] = 17;
++			break;
++		case P2bubbleEnum:
++			numindices = 6*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0;  indices[0*2 + 1] = 6;
++			indices[1*2 + 0] = 1;  indices[1*2 + 1] = 7;
++			indices[2*2 + 0] = 2;  indices[2*2 + 1] = 8;
++			indices[3*2 + 0] = 9;  indices[3*2 + 1] = 15;
++			indices[4*2 + 0] = 10; indices[4*2 + 1] = 16;
++			indices[5*2 + 0] = 11; indices[5*2 + 1] = 17;
++			break;
++		case P2xP4Enum:
++			numindices = 6*2;
++			indices    = xNew<int>(numindices);
++			indices[0*2 + 0] = 0;  indices[0*2 + 1] = 6;
++			indices[1*2 + 0] = 1;  indices[1*2 + 1] = 7;
++			indices[2*2 + 0] = 2;  indices[2*2 + 1] = 8;
++			indices[3*2 + 0] = 9;  indices[3*2 + 1] = 15;
++			indices[4*2 + 0] = 10; indices[4*2 + 1] = 16;
++			indices[5*2 + 0] = 11; indices[5*2 + 1] = 17;
++			break;
++		default:
++			_error_("Element type "<<EnumToStringx(finiteelement)<<" not supported yet");
++	}
++
++	/*Assign output pointer*/
++	*pnumseg   = numindices/2;
++	*pindices  = indices;
++}
++/*}}}*/
+ int  PentaRef::NumberofNodes(int finiteelement){/*{{{*/
+ 
+ 	switch(finiteelement){
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21714)
+@@ -3369,6 +3369,13 @@
+ 	*pnumseg  = 3;
+ }
+ /*}}}*/
++void       Penta::VerticalSegmentIndicesBase(int** pindices,int* pnumseg){/*{{{*/
++
++	PentaRef::VerticalSegmentIndicesBase(pindices,pnumseg,this->GetElementType());
++
++	return;
++}
++/*}}}*/
+ void       Penta::ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
+ 
+ 	/*Intermediaries*/
+Index: ../trunk-jpl/src/c/classes/Elements/PentaRef.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/PentaRef.h	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/PentaRef.h	(revision 21714)
+@@ -27,6 +27,7 @@
+ 		void GetQuadJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss);
+ 		void GetSegmentJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss);
+ 		void GetTriaJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss);
++		void VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement);
+ 		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */};
+ 		int  NumberofNodes(int finiteelement);
+ 		int  PressureInterpolation(int fe_stokes);
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21714)
+@@ -174,6 +174,7 @@
+ 		int            VelocityInterpolation();
+ 		int            VertexConnectivity(int vertexindex);
+ 		void           VerticalSegmentIndices(int** pindices,int* pnumseg);
++		void           VerticalSegmentIndicesBase(int** pindices,int* pnumseg);
+ 		void           ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
+ 		void           ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/Seg.h	(revision 21714)
+@@ -160,6 +160,7 @@
+ 		int         VelocityInterpolation(void){_error_("not implemented yet");};
+ 		int         VertexConnectivity(int vertexindex){_error_("not implemented yet");};
+ 		void        VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");};
++		void        VerticalSegmentIndicesBase(int** pindices,int* pnumseg){_error_("not implemented yet");};
+ 		void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not implemented yet");};
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented");};
+ 		IssmDouble     GetArea3D(void){_error_("not implemented yet!");};
+Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 21714)
+@@ -169,6 +169,7 @@
+ 		int         VelocityInterpolation(void);
+ 		int         VertexConnectivity(int vertexindex){_error_("not implemented yet");};
+ 		void        VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");};
++		void        VerticalSegmentIndicesBase(int** pindices,int* pnumseg){_error_("not implemented yet");};
+ 		void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
+ 		void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
+ 
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21713)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21714)
+@@ -291,6 +291,7 @@
+ 		virtual int        VelocityInterpolation()=0;
+ 		virtual int        VertexConnectivity(int vertexindex)=0;
+ 		virtual void       VerticalSegmentIndices(int** pindices,int* pnumseg)=0;
++		virtual void       VerticalSegmentIndicesBase(int** pindices,int* pnumseg)=0;
+ 		virtual void       ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input)=0;
+ 		virtual void       WriteLevelsetSegment(DataSet* segments){_error_("not implemented yet");};
+ 		virtual void       ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum)=0;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21714-21715.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21714-21715.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21714-21715.diff	(revision 21726)
@@ -0,0 +1,99 @@
+Index: ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21714)
++++ ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 21715)
+@@ -1032,27 +1032,27 @@
+ void PentaRef::VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement){/*{{{*/
+ 
+ 	/*Output*/
+-	int  numindices;
++	int  numseg;
+ 	int* indices = NULL;
+ 
+ 	switch(finiteelement){
+ 		case P1Enum: case P1DGEnum:
+-			numindices = 3*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 3;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0; indices[0*2 + 1] = 3;
+ 			indices[1*2 + 0] = 1; indices[1*2 + 1] = 4;
+ 			indices[2*2 + 0] = 2; indices[2*2 + 1] = 5;
+ 			break;
+ 		case P1bubbleEnum: case P1bubblecondensedEnum:
+-			numindices = 3*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 3;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0; indices[0*2 + 1] = 3;
+ 			indices[1*2 + 0] = 1; indices[1*2 + 1] = 4;
+ 			indices[2*2 + 0] = 2; indices[2*2 + 1] = 5;
+ 			break;
+ 		case P2xP1Enum:
+-			numindices = 6*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 6;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0; indices[0*2 + 1] = 3;
+ 			indices[1*2 + 0] = 1; indices[1*2 + 1] = 4;
+ 			indices[2*2 + 0] = 2; indices[2*2 + 1] = 5;
+@@ -1061,22 +1061,22 @@
+ 			indices[5*2 + 0] = 8; indices[5*2 + 1] = 11;
+ 			break;
+ 		case P1xP2Enum:
+-			numindices = 3*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 3;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0; indices[0*2 + 1] = 6;
+ 			indices[1*2 + 0] = 1; indices[1*2 + 1] = 7;
+ 			indices[2*2 + 0] = 2; indices[2*2 + 1] = 8;
+ 			break;
+ 		case P1xP3Enum:
+-			numindices = 3*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 3;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0; indices[0*2 + 1] = 6;
+ 			indices[1*2 + 0] = 1; indices[1*2 + 1] = 7;
+ 			indices[2*2 + 0] = 2; indices[2*2 + 1] = 8;
+ 			break;
+ 		case P2Enum:
+-			numindices = 6*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 6;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0;  indices[0*2 + 1] = 6;
+ 			indices[1*2 + 0] = 1;  indices[1*2 + 1] = 7;
+ 			indices[2*2 + 0] = 2;  indices[2*2 + 1] = 8;
+@@ -1085,8 +1085,8 @@
+ 			indices[5*2 + 0] = 11; indices[5*2 + 1] = 17;
+ 			break;
+ 		case P2bubbleEnum:
+-			numindices = 6*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 6;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0;  indices[0*2 + 1] = 6;
+ 			indices[1*2 + 0] = 1;  indices[1*2 + 1] = 7;
+ 			indices[2*2 + 0] = 2;  indices[2*2 + 1] = 8;
+@@ -1095,8 +1095,8 @@
+ 			indices[5*2 + 0] = 11; indices[5*2 + 1] = 17;
+ 			break;
+ 		case P2xP4Enum:
+-			numindices = 6*2;
+-			indices    = xNew<int>(numindices);
++			numseg = 6;
++			indices = xNew<int>(numseg*2);
+ 			indices[0*2 + 0] = 0;  indices[0*2 + 1] = 6;
+ 			indices[1*2 + 0] = 1;  indices[1*2 + 1] = 7;
+ 			indices[2*2 + 0] = 2;  indices[2*2 + 1] = 8;
+@@ -1109,7 +1109,7 @@
+ 	}
+ 
+ 	/*Assign output pointer*/
+-	*pnumseg   = numindices/2;
++	*pnumseg   = numseg;
+ 	*pindices  = indices;
+ }
+ /*}}}*/
Index: /issm/oecreview/Archive/21337-21723/ISSM-21715-21716.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21715-21716.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21715-21716.diff	(revision 21726)
@@ -0,0 +1,4 @@
+Index: ../trunk-jpl/test/Archives/Archive437.arch
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/21337-21723/ISSM-21716-21717.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21716-21717.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21716-21717.diff	(revision 21726)
@@ -0,0 +1,61 @@
+Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21716)
++++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 21717)
+@@ -503,6 +503,56 @@
+ 					}
+ 				}
+ 				break;
++			case P1xP3Enum:
++				for(i=0;i<iomodel->numberofvertices;i++){
++					if((iomodel->my_vertices[i])){
++
++						/*figure out times and values: */
++						values=xNew<IssmDouble>(N);
++						spcpresent=false;
++						for(j=0;j<N;j++){
++							values[j]=spcdata[i*N+j];
++							if(!xIsNan<IssmDouble>(values[j]))spcpresent=true; //NaN means no spc by default
++						}
++
++						if(spcpresent){
++							constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,dof,N,times,values,analysis_type));
++							count++;
++						}
++						xDelete<IssmDouble>(values);
++					}
++				}
++				for(i=0;i<iomodel->numberofedges;i++){
++					if(iomodel->edges[i*3+2]==2){
++						if(my_edges[i]){
++							v1 = iomodel->edges[3*i+0]-1;
++							v2 = iomodel->edges[3*i+1]-1;
++							values=xNew<IssmDouble>(N);
++							spcpresent=false;
++							for(j=0;j<N;j++){
++								values[j]=2./3.*spcdata[v1*N+j]+1./3.*spcdata[v2*N+j];
++								if(!xIsNan<IssmDouble>(values[j])) spcpresent=true; //NaN means no spc by default
++							}
++							if(spcpresent){
++								constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+2*i+1,dof,
++												N,times,values,analysis_type));
++								count++;
++							}
++							spcpresent=false;
++							for(j=0;j<N;j++){
++								values[j]=1./3.*spcdata[v1*N+j]+2./3.*spcdata[v2*N+j];
++								  if(!xIsNan<IssmDouble>(values[j])) spcpresent=true; //NaN means no spc by default
++							}
++							if(spcpresent){
++								constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+2*i+2,dof,
++												N,times,values,analysis_type));
++								count++;
++							}
++							xDelete<IssmDouble>(values);
++						}
++					}
++				}
++				break;
+ 			case P2xP1Enum:
+ 				for(i=0;i<iomodel->numberofvertices;i++){
+ 					if((iomodel->my_vertices[i])){
Index: /issm/oecreview/Archive/21337-21723/ISSM-21717-21718.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21717-21718.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21717-21718.diff	(revision 21726)
@@ -0,0 +1,120 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21717)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21718)
+@@ -315,7 +315,7 @@
+ 	bool			converged;
+ 	const int   dim=3;
+ 	int         i,is,state;
+-	int			vertexdown,vertexup,numvertices,numsegments;
++	int			nodedown,nodeup,numnodes,numsegments;
+ 	int			enthalpy_enum;
+ 	IssmDouble  vec_heatflux[dim],normal_base[dim],d1enthalpy[dim],d1pressure[dim];
+ 	IssmDouble  basalfriction,alpha2,geothermalflux,heatflux;
+@@ -356,27 +356,27 @@
+ 
+ 	/******** MELTING RATES  ************************************//*{{{*/
+ 	element->NormalBase(&normal_base[0],xyz_list_base);
+-	element->VerticalSegmentIndices(&pairindices,&numsegments);
++	element->VerticalSegmentIndicesBase(&pairindices,&numsegments);
+ 	IssmDouble* meltingrate_enthalpy = xNew<IssmDouble>(numsegments);
+ 	IssmDouble* heating = xNew<IssmDouble>(numsegments);	
+ 
+-	numvertices=element->GetNumberOfVertices();
+-	IssmDouble* enthalpies = xNew<IssmDouble>(numvertices);
+-	IssmDouble* pressures = xNew<IssmDouble>(numvertices);
+-	IssmDouble* watercolumns = xNew<IssmDouble>(numvertices);
+-	IssmDouble* basalmeltingrates = xNew<IssmDouble>(numvertices);
+-	element->GetInputListOnVertices(enthalpies,enthalpy_enum);
+-	element->GetInputListOnVertices(pressures,PressureEnum);
+-	element->GetInputListOnVertices(watercolumns,WatercolumnEnum);
+-	element->GetInputListOnVertices(basalmeltingrates,BasalforcingsGroundediceMeltingRateEnum);
++	numnodes=element->GetNumberOfNodes();
++	IssmDouble* enthalpies = xNew<IssmDouble>(numnodes);
++	IssmDouble* pressures = xNew<IssmDouble>(numnodes);
++	IssmDouble* watercolumns = xNew<IssmDouble>(numnodes);
++	IssmDouble* basalmeltingrates = xNew<IssmDouble>(numnodes);
++	element->GetInputListOnNodes(enthalpies,enthalpy_enum);
++	element->GetInputListOnNodes(pressures,PressureEnum);
++	element->GetInputListOnNodes(watercolumns,WatercolumnEnum);
++	element->GetInputListOnNodes(basalmeltingrates,BasalforcingsGroundediceMeltingRateEnum);
+ 
+ 	Gauss* gauss=element->NewGauss();
+ 	for(is=0;is<numsegments;is++){
+-		vertexdown = pairindices[is*2+0];
+-		vertexup   = pairindices[is*2+1];
+-		gauss->GaussVertex(vertexdown);
++		nodedown = pairindices[is*2+0];
++		nodeup   = pairindices[is*2+1];
++		gauss->GaussNode(element->GetElementType(),nodedown);
+ 
+-		state=GetThermalBasalCondition(element, enthalpies[vertexdown], enthalpies[vertexup], pressures[vertexdown], pressures[vertexup], watercolumns[vertexdown], basalmeltingrates[vertexdown]);
++		state=GetThermalBasalCondition(element, enthalpies[nodedown], enthalpies[nodeup], pressures[nodedown], pressures[nodeup], watercolumns[nodedown], basalmeltingrates[nodedown]);
+ 		switch (state) {
+ 			case 0:
+ 				// cold, dry base: apply basal surface forcing
+@@ -391,7 +391,7 @@
+ 				break;
+ 			case 4:
+ 				// temperate, thick melting base: set grad H*n=0
+-				kappa_mix=GetWetIceConductivity(element, enthalpies[vertexdown], pressures[vertexdown]);
++				kappa_mix=GetWetIceConductivity(element, enthalpies[nodedown], pressures[nodedown]);
+ 				pressure_input->GetInputDerivativeValue(&d1pressure[0],xyz_list,gauss);
+ 				for(i=0;i<3;i++) vec_heatflux[i]=kappa_mix*beta*d1pressure[i];
+ 				break;
+@@ -417,37 +417,37 @@
+ 
+ 	/******** UPDATE MELTINGRATES AND WATERCOLUMN **************//*{{{*/
+ 	for(is=0;is<numsegments;is++){
+-		vertexdown = pairindices[is*2+0];
+-		vertexup   = pairindices[is*2+1];
++		nodedown = pairindices[is*2+0];
++		nodeup   = pairindices[is*2+1];
+ 		if(dt!=0.){
+-			if(watercolumns[vertexdown]+meltingrate_enthalpy[is]*dt<0.){	// prevent too much freeze on			
+-				lambda = -watercolumns[vertexdown]/(dt*meltingrate_enthalpy[is]); _assert_(lambda>=0.); _assert_(lambda<1.);
+-				watercolumns[vertexdown]=0.;
+-				basalmeltingrates[vertexdown]=lambda*meltingrate_enthalpy[is]; // restrict freeze on only to size of watercolumn
+-				enthalpies[vertexdown]+=(1.-lambda)*dt/yts*meltingrate_enthalpy[is]*latentheat*rho_ice; // use rest of energy to cool down base: dE=L*m, m=(1-lambda)*meltingrate*rho_ice
++			if(watercolumns[nodedown]+meltingrate_enthalpy[is]*dt<0.){	// prevent too much freeze on			
++				lambda = -watercolumns[nodedown]/(dt*meltingrate_enthalpy[is]); _assert_(lambda>=0.); _assert_(lambda<1.);
++				watercolumns[nodedown]=0.;
++				basalmeltingrates[nodedown]=lambda*meltingrate_enthalpy[is]; // restrict freeze on only to size of watercolumn
++				enthalpies[nodedown]+=(1.-lambda)*dt/yts*meltingrate_enthalpy[is]*latentheat*rho_ice; // use rest of energy to cool down base: dE=L*m, m=(1-lambda)*meltingrate*rho_ice
+ 			}
+ 			else{
+-				basalmeltingrates[vertexdown]=meltingrate_enthalpy[is];
+-				watercolumns[vertexdown]+=dt*meltingrate_enthalpy[is]; 
++				basalmeltingrates[nodedown]=meltingrate_enthalpy[is];
++				watercolumns[nodedown]+=dt*meltingrate_enthalpy[is]; 
+ 			}
+ 		}
+ 		else{
+-			basalmeltingrates[vertexdown]=meltingrate_enthalpy[is];
+-			if(watercolumns[vertexdown]+meltingrate_enthalpy[is]<0.)
+-				watercolumns[vertexdown]=0.;
++			basalmeltingrates[nodedown]=meltingrate_enthalpy[is];
++			if(watercolumns[nodedown]+meltingrate_enthalpy[is]<0.)
++				watercolumns[nodedown]=0.;
+ 			else
+-				watercolumns[vertexdown]+=meltingrate_enthalpy[is];
++				watercolumns[nodedown]+=meltingrate_enthalpy[is];
+ 		}	
+-		basalmeltingrates[vertexdown]*=rho_water/rho_ice; // convert meltingrate from water to ice equivalent
+-		_assert_(watercolumns[vertexdown]>=0.);
++		basalmeltingrates[nodedown]*=rho_water/rho_ice; // convert meltingrate from water to ice equivalent
++		_assert_(watercolumns[nodedown]>=0.);
+ 	}/*}}}*/
+ 
+ 	/*feed updated variables back into model*/
+ 	if(dt!=0.){
+-		//element->AddInput(enthalpy_enum,enthalpies,P1Enum); //TODO: distinguis for steadystate and transient run
+-		element->AddInput(WatercolumnEnum,watercolumns,P1Enum);
++		element->AddInput(enthalpy_enum,enthalpies,element->GetElementType()); 
++		element->AddInput(WatercolumnEnum,watercolumns,element->GetElementType());
+ 	}
+-	element->AddInput(BasalforcingsGroundediceMeltingRateEnum,basalmeltingrates,P1Enum);
++	element->AddInput(BasalforcingsGroundediceMeltingRateEnum,basalmeltingrates,element->GetElementType());
+ 
+ 	/*Clean up and return*/
+ 	delete gauss;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21718-21719.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21718-21719.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21718-21719.diff	(revision 21726)
@@ -0,0 +1,82 @@
+Index: ../trunk-jpl/src/c/cores/depthaverage_core.cpp
+===================================================================
+--- ../trunk-jpl/src/c/cores/depthaverage_core.cpp	(revision 21718)
++++ ../trunk-jpl/src/c/cores/depthaverage_core.cpp	(revision 21719)
+@@ -13,21 +13,24 @@
+ 
+ 	/*Intermediaries*/
+ 	int domaintype,elementtype;
++	int inputenum,input_average_enum;
+ 
+ 	if(VerboseSolution()) _printf0_("depth averaging solution...\n");
+ 
+ 	/*Get parameters*/
+ 	femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
+ 	femmodel->parameters->FindParam(&elementtype,MeshElementtypeEnum);
++	femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum);
++	femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum);
+ 
+-	/*If this is a 2D horizontal domain, return (no need to extrude)*/
+-	if(domaintype==Domain2DhorizontalEnum) return;
++	/*If this is a 2D horizontal domain: no need to do anything, just copy input*/
++	if(domaintype==Domain2DhorizontalEnum){
++		InputDuplicatex(femmodel,inputenum,input_average_enum);
++		return;
++	}
+ 
+ 	/*Special method for Penta, otherwise call solution sequence*/
+ 	if(elementtype==PentaEnum){
+-		int inputenum,input_average_enum;
+-		femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum);
+-		femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum);
+ 		InputDepthAverageAtBasex(femmodel,inputenum,input_average_enum);
+ 	}
+ 	else{
+Index: ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 21718)
++++ ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 21719)
+@@ -266,22 +266,10 @@
+ 	element->FindParam(&dt,TimesteppingTimeStepEnum);
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+ 	element->FindParam(&stabilization,MasstransportStabilizationEnum);
+-	Input* vxaverage_input=NULL;
++	Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
+ 	Input* vyaverage_input=NULL;
+-	if(domaintype==Domain2DhorizontalEnum){
+-		vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
+-		vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
+-	}
+-	else{
+-		if(dim==1){
+-			vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
+-		}
+-		if(dim==2){
+-			vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
+-			vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
+-		}
++	if(dim==2) vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
+ 
+-	}
+ 	h = element->CharacteristicLength();
+ 
+ 	/* Start  looping on the number of gaussian points: */
+@@ -405,16 +393,8 @@
+ 	element->GetVerticesCoordinates(&xyz_list);
+ 	element->FindParam(&dt,TimesteppingTimeStepEnum);
+ 	element->FindParam(&domaintype,DomainTypeEnum);
+-	Input* vxaverage_input=NULL;
+-	Input* vyaverage_input=NULL;
+-	if(domaintype==Domain2DhorizontalEnum){
+-		vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
+-		vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
+-	}
+-	else{
+-		vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
+-		vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
+-	}
++	Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
++	Input* vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
+ 
+ 	/* Start  looping on the number of gaussian points: */
+ 	Gauss* gauss=element->NewGauss(2);
Index: /issm/oecreview/Archive/21337-21723/ISSM-21719-21720.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21719-21720.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21719-21720.diff	(revision 21726)
@@ -0,0 +1,41 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21719)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.h	(revision 21720)
+@@ -47,6 +47,7 @@
+ 		void           AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum);
+ 		void           AddInput(int input_enum, IssmDouble* values, int interpolation_enum);
+ 		void           AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part);
++		void           BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement);
+ 		void           CalvingRateDev();
+ 		void           CalvingRateLevermann();
+ 		IssmDouble     CharacteristicLength(void){_error_("not implemented yet");};
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21719)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21720)
+@@ -58,6 +58,7 @@
+ 		void               AddInput(Input* input_in);
+ 		/*bool               AllActive(void);*/
+ 		/*bool               AnyActive(void);*/
++		void               BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){_error_("not implemented yet");};
+ 		void               ComputeLambdaS(void);
+ 		void               ComputeNewDamage();
+ 		void               ComputeStrainRate();
+Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21719)
++++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21720)
+@@ -171,6 +171,12 @@
+ 	this->inputs->AddInput(new PentaInput(input_enum,values,interpolation_enum));
+ }
+ /*}}}*/
++void     Penta::BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){/*{{{*/
++
++	PentaRef::BasalNodeIndices(pnumindices,pindices,finiteelement);
++
++}
++/*}}}*/
+ void       Penta::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){/*{{{*/
+ 	_error_("Not supported yet!");
+ }
Index: /issm/oecreview/Archive/21337-21723/ISSM-21720-21721.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21720-21721.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21720-21721.diff	(revision 21726)
@@ -0,0 +1,426 @@
+Index: ../trunk-jpl/src/c/classes/Elements/Element.h
+===================================================================
+--- ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21720)
++++ ../trunk-jpl/src/c/classes/Elements/Element.h	(revision 21721)
+@@ -58,7 +58,6 @@
+ 		void               AddInput(Input* input_in);
+ 		/*bool               AllActive(void);*/
+ 		/*bool               AnyActive(void);*/
+-		void               BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){_error_("not implemented yet");};
+ 		void               ComputeLambdaS(void);
+ 		void               ComputeNewDamage();
+ 		void               ComputeStrainRate();
+@@ -176,6 +175,7 @@
+ 		virtual void       AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;
+ 		virtual void       AddInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;
+ 		virtual void       AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part)=0;
++		virtual void		 BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){_error_("not implemented yet");};
+ 		virtual void       CalvingRateDev(void){_error_("not implemented yet");};
+ 		virtual void	    CalvingRateLevermann(void)=0;
+ 		virtual IssmDouble CharacteristicLength(void)=0;
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.h
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.h	(revision 21720)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.h	(revision 21721)
+@@ -35,8 +35,9 @@
+ 		ElementVector*    CreatePVectorSheet(Element* element);
+ 		ElementVector*    CreatePVectorShelf(Element* element);
+ 		static void       DrainWaterfraction(FemModel* femmodel);
+-		static void       DrainWaterfraction(Element* element, IssmDouble* pdrainrate_element);
+-		static void       DrainWaterfractionIcecolumn(Element* element);
++ 		static void       ComputeWaterfractionDrainage(FemModel* femmodel);
++ 		static void       DrainageUpdateWatercolumn(FemModel* femmodel);
++ 		static void       DrainageUpdateEnthalpy(FemModel* femmodel);
+ 		static IssmDouble EnthalpyDiffusionParameter(Element* element,IssmDouble enthalpy,IssmDouble pressure);
+ 		static IssmDouble EnthalpyDiffusionParameterVolume(Element* element,int enthalpy_enum);
+ 		void              GetBAdvec(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21720)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21721)
+@@ -4,6 +4,7 @@
+ #include "../shared/shared.h"
+ #include "../modules/modules.h"
+ #include "../solutionsequences/solutionsequences.h"
++#include "../cores/cores.h"
+ 
+ /*Model processing*/
+ void EnthalpyAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
+@@ -979,114 +980,126 @@
+ }/*}}}*/
+ void           EnthalpyAnalysis::DrainWaterfraction(FemModel* femmodel){/*{{{*/
+ 	/*Drain excess water fraction in ice column: */
+-	for(int i=0;i<femmodel->elements->Size();i++){
+-		Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
+-		DrainWaterfractionIcecolumn(element);
+-	}
++	ComputeWaterfractionDrainage(femmodel);
++	DrainageUpdateWatercolumn(femmodel);
++	DrainageUpdateEnthalpy(femmodel);
+ }/*}}}*/
+-void           EnthalpyAnalysis::DrainWaterfraction(Element* element, IssmDouble* pdrainrate_element){/*{{{*/
++void				EnthalpyAnalysis::ComputeWaterfractionDrainage(FemModel* femmodel){/*{{{*/
+ 
+-	/* Check if ice in element */
+-	if(!element->IsIceInElement()) return;
++	int i,k,numnodes;
++	IssmDouble dt;
++	Element* element= NULL;
+ 
+-	/*Intermediaries*/
+-	int iv,is,vertexdown,vertexup,numsegments;	
+-	IssmDouble dt, height_element;
+-	IssmDouble rho_water, rho_ice;
+-	int numvertices = element->GetNumberOfVertices();
++	femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
+ 
+-	IssmDouble* xyz_list = NULL;
+-	IssmDouble* enthalpies = xNew<IssmDouble>(numvertices);
+-	IssmDouble* pressures = xNew<IssmDouble>(numvertices);
+-	IssmDouble* temperatures = xNew<IssmDouble>(numvertices);
+-	IssmDouble* waterfractions = xNew<IssmDouble>(numvertices);
+-	IssmDouble* deltawaterfractions = xNew<IssmDouble>(numvertices);
+-	int        *pairindices   = NULL;
+-	
+-	rho_ice=element->GetMaterialParameter(MaterialsRhoIceEnum);
+-	rho_water=element->GetMaterialParameter(MaterialsRhoSeawaterEnum);
++	for(i=0;i<femmodel->elements->Size();i++){
++		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++		numnodes=element->GetNumberOfNodes();
++		IssmDouble* waterfractions= xNew<IssmDouble>(numnodes);
++		IssmDouble* drainage= xNew<IssmDouble>(numnodes);
+ 
+-	element->GetVerticesCoordinates(&xyz_list);
+-	element->GetInputListOnVertices(enthalpies,EnthalpyEnum);
+-	element->GetInputListOnVertices(pressures,PressureEnum);
++		element->GetInputListOnNodes(waterfractions,WaterfractionEnum);
++		for(k=0; k<numnodes;k++){
++			drainage[k]=DrainageFunctionWaterfraction(waterfractions[k], dt);
++		}
++		element->AddInput(WaterfractionDrainageEnum,drainage,element->GetElementType());
+ 
+-	element->FindParam(&dt,TimesteppingTimeStepEnum);
+-	for(iv=0;iv<numvertices;iv++){ 
+-		element->EnthalpyToThermal(&temperatures[iv],&waterfractions[iv], enthalpies[iv],pressures[iv]); 
+-		deltawaterfractions[iv]=DrainageFunctionWaterfraction(waterfractions[iv], dt);
++		xDelete<IssmDouble>(waterfractions);
++		xDelete<IssmDouble>(drainage);
+ 	}
++}/*}}}*/
++void				EnthalpyAnalysis::DrainageUpdateWatercolumn(FemModel* femmodel){/*{{{*/
++
++	int i,k,numnodes, numbasalnodes;
++	IssmDouble dt;
++	int* basalnodeindices=NULL;
++	Element* element= NULL;
+ 	
+-	/*drain waterfraction, feed updated variables back into model*/
+-	for(iv=0;iv<numvertices;iv++){
+-		if(reCast<bool,IssmDouble>(dt))
+-			waterfractions[iv]-=deltawaterfractions[iv]*dt;
+-		else
+-			waterfractions[iv]-=deltawaterfractions[iv];
+-		element->ThermalToEnthalpy(&enthalpies[iv], temperatures[iv], waterfractions[iv], pressures[iv]);
+-	}
+-	element->AddInput(EnthalpyEnum,enthalpies,P1Enum);
+-  	element->AddInput(WaterfractionEnum,waterfractions,P1Enum);
++	femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
+ 
+-	/*return meltwater column equivalent to drained water*/
+-	element->VerticalSegmentIndices(&pairindices,&numsegments);
+-	for(is=0;is<numsegments;is++){
+-		vertexdown = pairindices[is*2+0];
+-		vertexup   = pairindices[is*2+1];
+-		height_element=fabs(xyz_list[vertexup*3+2]-xyz_list[vertexdown*3+2]);
+-		pdrainrate_element[is]=(deltawaterfractions[vertexdown]+deltawaterfractions[vertexup])/2.*height_element; // return water equivalent of drainage
+-		_assert_(pdrainrate_element[is]>=0.);
+-	}
++	/*depth-integrate the drained water fraction */
++	femmodel->parameters->SetParam(WaterfractionDrainageEnum,InputToDepthaverageInEnum);
++	femmodel->parameters->SetParam(WaterfractionDrainageIntegratedEnum,InputToDepthaverageOutEnum);
++	depthaverage_core(femmodel);
++	femmodel->parameters->SetParam(WaterfractionDrainageIntegratedEnum,InputToExtrudeEnum);
++	extrudefrombase_core(femmodel);
++	/*multiply depth-average by ice thickness*/
++	for(i=0;i<femmodel->elements->Size();i++){
++		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++		numnodes=element->GetNumberOfNodes();
++		IssmDouble* drainage_int= xNew<IssmDouble>(numnodes);
++		IssmDouble* thicknesses= xNew<IssmDouble>(numnodes);
+ 
+-	/*Clean up and return*/
+-	xDelete<int>(pairindices);
+-	xDelete<IssmDouble>(xyz_list);
+-	xDelete<IssmDouble>(enthalpies);
+-	xDelete<IssmDouble>(pressures);
+-	xDelete<IssmDouble>(temperatures);
+-	xDelete<IssmDouble>(waterfractions);
+-	xDelete<IssmDouble>(deltawaterfractions);
+-}/*}}}*/
+-void           EnthalpyAnalysis::DrainWaterfractionIcecolumn(Element* element){/*{{{*/
++		element->GetInputListOnNodes(drainage_int,WaterfractionDrainageIntegratedEnum);
++		element->GetInputListOnNodes(thicknesses,ThicknessEnum);
++		for(k=0;k<numnodes;k++){
++			drainage_int[k]*=thicknesses[k];
++		}
++		element->AddInput(WaterfractionDrainageIntegratedEnum, drainage_int, element->GetElementType());
+ 
+-	/* Check if ice in element */
+-	if(!element->IsIceInElement()) return;
++		xDelete<IssmDouble>(drainage_int);
++		xDelete<IssmDouble>(thicknesses);
++	}
+ 
+-	/* Only drain waterfraction of ice column from element at base*/
+-	if(!element->IsOnBase()) return; //FIXME: allow freeze on for floating elements
++	/*update water column*/
++	for(i=0;i<femmodel->elements->Size();i++){
++		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++		/* Check if ice in element */
++		if(!element->IsIceInElement()) continue;
++		if(!element->IsOnBase()) continue; 
+ 
+-	/* Intermediaries*/
+-	int is,numsegments;
+-	int *pairindices   = NULL;
++		numnodes=element->GetNumberOfNodes();
++		IssmDouble* watercolumn= xNew<IssmDouble>(numnodes);
++		IssmDouble* drainage_int= xNew<IssmDouble>(numnodes);
++		element->GetInputListOnNodes(watercolumn,WatercolumnEnum);
++		element->GetInputListOnNodes(drainage_int,WaterfractionDrainageIntegratedEnum);
+ 
+-	int numnodes=element->GetNumberOfNodes();
+-	element->VerticalSegmentIndices(&pairindices,&numsegments);
++		element->BasalNodeIndices(&numbasalnodes,&basalnodeindices,element->GetElementType());
++		for(k=0;k<numbasalnodes;k++){
++			watercolumn[basalnodeindices[k]]+=dt*drainage_int[basalnodeindices[k]];
++		}
++		element->AddInput(WatercolumnEnum, watercolumn, element->GetElementType());
+ 
+-	IssmDouble* drainrate_column  = xNew<IssmDouble>(numsegments);
+-	IssmDouble* drainrate_element = xNew<IssmDouble>(numsegments);
++		xDelete<IssmDouble>(watercolumn);
++		xDelete<IssmDouble>(drainage_int);
++	}
++	xDelete<int>(basalnodeindices);
++}/*}}}*/
++void				EnthalpyAnalysis::DrainageUpdateEnthalpy(FemModel* femmodel){/*{{{*/
+ 
+-	for(is=0;is<numsegments;is++)	drainrate_column[is]=0.;
+-	Element* elementi = element;
+-	for(;;){
+-		for(is=0;is<numsegments;is++)	drainrate_element[is]=0.;
+-		DrainWaterfraction(elementi,drainrate_element); // TODO: make sure every vertex is only drained once
+-		for(is=0;is<numsegments;is++)	drainrate_column[is]+=drainrate_element[is];
++	int i,k,numnodes;
++	IssmDouble dt;
++	Element* element= NULL;
++	femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
+ 
+-		if(elementi->IsOnSurface()) break;
+-		elementi=elementi->GetUpperElement();			
+-	}
++	for(i=0;i<femmodel->elements->Size();i++){
++		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
++		numnodes=element->GetNumberOfNodes();
++		IssmDouble* enthalpies= xNew<IssmDouble>(numnodes);
++		IssmDouble* pressures= xNew<IssmDouble>(numnodes);
++		IssmDouble* temperatures= xNew<IssmDouble>(numnodes);
++		IssmDouble* waterfractions= xNew<IssmDouble>(numnodes);
++		IssmDouble* drainage= xNew<IssmDouble>(numnodes);
+ 
+-	/* add drained water to water column*/
+-	IssmDouble* watercolumn = xNew<IssmDouble>(numnodes);
+-	element->GetInputListOnNodes(watercolumn,WatercolumnEnum);
+-	for(is=0;is<numsegments;is++) watercolumn[is]+=drainrate_column[is];
++		element->GetInputListOnNodes(enthalpies,EnthalpyEnum);
++		element->GetInputListOnNodes(pressures,PressureEnum);
++		element->GetInputListOnNodes(temperatures,TemperatureEnum);
++		element->GetInputListOnNodes(waterfractions,WaterfractionEnum);
++		element->GetInputListOnNodes(drainage,WaterfractionDrainageEnum);
+ 
+-	/* Feed updated water column back into model */
+-	element->AddInput(WatercolumnEnum,watercolumn,element->GetElementType());
++		for(k=0;k<numnodes;k++){
++			waterfractions[k]-=dt*drainage[k];
++			element->ThermalToEnthalpy(&enthalpies[k], temperatures[k], waterfractions[k], pressures[k]);
++		}
++		element->AddInput(WaterfractionEnum,waterfractions,element->GetElementType());
++		element->AddInput(EnthalpyEnum,enthalpies,element->GetElementType());
+ 
+-	xDelete<int>(pairindices);
+-	xDelete<IssmDouble>(drainrate_column);
+-	xDelete<IssmDouble>(drainrate_element);
+-	xDelete<IssmDouble>(watercolumn);
++		xDelete<IssmDouble>(enthalpies);
++		xDelete<IssmDouble>(pressures);
++		xDelete<IssmDouble>(temperatures);
++		xDelete<IssmDouble>(waterfractions);
++		xDelete<IssmDouble>(drainage);
++	}
+ }/*}}}*/
+ IssmDouble     EnthalpyAnalysis::EnthalpyDiffusionParameter(Element* element,IssmDouble enthalpy,IssmDouble pressure){/*{{{*/
+ 
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21720)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21721)
+@@ -264,6 +264,7 @@
+ 	StrainRateparallelEnum,
+ 	StrainRateperpendicularEnum,
+ 	StrainRateeffectiveEnum,
++	EffectiveViscosityEnum,
+ 	MaterialsRhoIceEnum,
+ 	MaterialsRhoSeawaterEnum,
+ 	MaterialsRhoFreshwaterEnum,
+@@ -538,6 +539,8 @@
+ 	DragCoefficientAbsGradientEnum,
+ 	TransientInputEnum,
+ 	WaterfractionEnum,
++	WaterfractionDrainageEnum,
++	WaterfractionDrainageIntegratedEnum,
+ 	WatercolumnEnum,
+ 	ViscousHeatingEnum,
+ 	HydrologyWaterVxEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21720)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21721)
+@@ -270,6 +270,7 @@
+ 		case StrainRateparallelEnum : return "StrainRateparallel";
+ 		case StrainRateperpendicularEnum : return "StrainRateperpendicular";
+ 		case StrainRateeffectiveEnum : return "StrainRateeffective";
++		case EffectiveViscosityEnum : return "EffectiveViscosity";
+ 		case MaterialsRhoIceEnum : return "MaterialsRhoIce";
+ 		case MaterialsRhoSeawaterEnum : return "MaterialsRhoSeawater";
+ 		case MaterialsRhoFreshwaterEnum : return "MaterialsRhoFreshwater";
+@@ -536,6 +537,8 @@
+ 		case DragCoefficientAbsGradientEnum : return "DragCoefficientAbsGradient";
+ 		case TransientInputEnum : return "TransientInput";
+ 		case WaterfractionEnum : return "Waterfraction";
++		case WaterfractionDrainageEnum : return "WaterfractionDrainage";
++		case WaterfractionDrainageIntegratedEnum : return "WaterfractionDrainageIntegrated";
+ 		case WatercolumnEnum : return "Watercolumn";
+ 		case ViscousHeatingEnum : return "ViscousHeating";
+ 		case HydrologyWaterVxEnum : return "HydrologyWaterVx";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21720)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21721)
+@@ -276,6 +276,7 @@
+ 	      else if (strcmp(name,"StrainRateparallel")==0) return StrainRateparallelEnum;
+ 	      else if (strcmp(name,"StrainRateperpendicular")==0) return StrainRateperpendicularEnum;
+ 	      else if (strcmp(name,"StrainRateeffective")==0) return StrainRateeffectiveEnum;
++	      else if (strcmp(name,"EffectiveViscosity")==0) return EffectiveViscosityEnum;
+ 	      else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
+ 	      else if (strcmp(name,"MaterialsRhoSeawater")==0) return MaterialsRhoSeawaterEnum;
+ 	      else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum;
+@@ -381,11 +382,11 @@
+ 	      else if (strcmp(name,"SmbSolution")==0) return SmbSolutionEnum;
+ 	      else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum;
+ 	      else if (strcmp(name,"SmbRequestedOutputs")==0) return SmbRequestedOutputsEnum;
+-	      else if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
++	      if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
++	      else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
+ 	      else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum;
+ 	      else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum;
+ 	      else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
+@@ -504,11 +505,11 @@
+ 	      else if (strcmp(name,"PressurePicard")==0) return PressurePicardEnum;
+ 	      else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum;
+ 	      else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum;
+-	      else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
++	      if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;
++	      else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
+ 	      else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
+@@ -548,6 +549,8 @@
+ 	      else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum;
+ 	      else if (strcmp(name,"TransientInput")==0) return TransientInputEnum;
+ 	      else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum;
++	      else if (strcmp(name,"WaterfractionDrainage")==0) return WaterfractionDrainageEnum;
++	      else if (strcmp(name,"WaterfractionDrainageIntegrated")==0) return WaterfractionDrainageIntegratedEnum;
+ 	      else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum;
+ 	      else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum;
+ 	      else if (strcmp(name,"HydrologyWaterVx")==0) return HydrologyWaterVxEnum;
+@@ -625,13 +628,13 @@
+ 	      else if (strcmp(name,"Outputdefinition25")==0) return Outputdefinition25Enum;
+ 	      else if (strcmp(name,"Outputdefinition26")==0) return Outputdefinition26Enum;
+ 	      else if (strcmp(name,"Outputdefinition27")==0) return Outputdefinition27Enum;
+-	      else if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum;
+-	      else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum;
+-	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
++	      if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum;
++	      else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum;
++	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
++	      else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
+ 	      else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
+ 	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
+ 	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
+@@ -748,13 +751,13 @@
+ 	      else if (strcmp(name,"ToolkitsOptionsAnalyses")==0) return ToolkitsOptionsAnalysesEnum;
+ 	      else if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum;
+ 	      else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum;
+-	      else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
+-	      else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
+-	      else if (strcmp(name,"Regular")==0) return RegularEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"Scaled")==0) return ScaledEnum;
++	      if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
++	      else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
++	      else if (strcmp(name,"Regular")==0) return RegularEnum;
++	      else if (strcmp(name,"Scaled")==0) return ScaledEnum;
+ 	      else if (strcmp(name,"Separate")==0) return SeparateEnum;
+ 	      else if (strcmp(name,"Sset")==0) return SsetEnum;
+ 	      else if (strcmp(name,"Dense")==0) return DenseEnum;
+@@ -871,13 +874,13 @@
+ 	      else if (strcmp(name,"SpcStatic")==0) return SpcStaticEnum;
+ 	      else if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum;
+ 	      else if (strcmp(name,"StringArrayParam")==0) return StringArrayParamEnum;
+-	      else if (strcmp(name,"StringParam")==0) return StringParamEnum;
+-	      else if (strcmp(name,"Seg")==0) return SegEnum;
+-	      else if (strcmp(name,"SegInput")==0) return SegInputEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"Tria")==0) return TriaEnum;
++	      if (strcmp(name,"StringParam")==0) return StringParamEnum;
++	      else if (strcmp(name,"Seg")==0) return SegEnum;
++	      else if (strcmp(name,"SegInput")==0) return SegInputEnum;
++	      else if (strcmp(name,"Tria")==0) return TriaEnum;
+ 	      else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
+ 	      else if (strcmp(name,"Tetra")==0) return TetraEnum;
+ 	      else if (strcmp(name,"TetraInput")==0) return TetraInputEnum;
+@@ -994,13 +997,13 @@
+ 	      else if (strcmp(name,"P2xP4")==0) return P2xP4Enum;
+ 	      else if (strcmp(name,"P1P1")==0) return P1P1Enum;
+ 	      else if (strcmp(name,"P1P1GLS")==0) return P1P1GLSEnum;
+-	      else if (strcmp(name,"MINI")==0) return MINIEnum;
+-	      else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
+-	      else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
++	      if (strcmp(name,"MINI")==0) return MINIEnum;
++	      else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
++	      else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
++	      else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
+ 	      else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
+ 	      else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum;
+ 	      else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21721-21722.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21721-21722.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21721-21722.diff	(revision 21726)
@@ -0,0 +1,132 @@
+Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
+===================================================================
+--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21721)
++++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21722)
+@@ -1081,7 +1081,6 @@
+ 		IssmDouble* waterfractions= xNew<IssmDouble>(numnodes);
+ 		IssmDouble* drainage= xNew<IssmDouble>(numnodes);
+ 
+-		element->GetInputListOnNodes(enthalpies,EnthalpyEnum);
+ 		element->GetInputListOnNodes(pressures,PressureEnum);
+ 		element->GetInputListOnNodes(temperatures,TemperatureEnum);
+ 		element->GetInputListOnNodes(waterfractions,WaterfractionEnum);
+Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21721)
++++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 21722)
+@@ -264,7 +264,6 @@
+ 	StrainRateparallelEnum,
+ 	StrainRateperpendicularEnum,
+ 	StrainRateeffectiveEnum,
+-	EffectiveViscosityEnum,
+ 	MaterialsRhoIceEnum,
+ 	MaterialsRhoSeawaterEnum,
+ 	MaterialsRhoFreshwaterEnum,
+Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21721)
++++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 21722)
+@@ -270,7 +270,6 @@
+ 		case StrainRateparallelEnum : return "StrainRateparallel";
+ 		case StrainRateperpendicularEnum : return "StrainRateperpendicular";
+ 		case StrainRateeffectiveEnum : return "StrainRateeffective";
+-		case EffectiveViscosityEnum : return "EffectiveViscosity";
+ 		case MaterialsRhoIceEnum : return "MaterialsRhoIce";
+ 		case MaterialsRhoSeawaterEnum : return "MaterialsRhoSeawater";
+ 		case MaterialsRhoFreshwaterEnum : return "MaterialsRhoFreshwater";
+Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
+===================================================================
+--- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21721)
++++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 21722)
+@@ -276,7 +276,6 @@
+ 	      else if (strcmp(name,"StrainRateparallel")==0) return StrainRateparallelEnum;
+ 	      else if (strcmp(name,"StrainRateperpendicular")==0) return StrainRateperpendicularEnum;
+ 	      else if (strcmp(name,"StrainRateeffective")==0) return StrainRateeffectiveEnum;
+-	      else if (strcmp(name,"EffectiveViscosity")==0) return EffectiveViscosityEnum;
+ 	      else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
+ 	      else if (strcmp(name,"MaterialsRhoSeawater")==0) return MaterialsRhoSeawaterEnum;
+ 	      else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum;
+@@ -382,11 +381,11 @@
+ 	      else if (strcmp(name,"SmbSolution")==0) return SmbSolutionEnum;
+ 	      else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum;
+ 	      else if (strcmp(name,"SmbRequestedOutputs")==0) return SmbRequestedOutputsEnum;
++	      else if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
+          else stage=4;
+    }
+    if(stage==4){
+-	      if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
+-	      else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
++	      if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
+ 	      else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum;
+ 	      else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum;
+ 	      else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
+@@ -505,11 +504,11 @@
+ 	      else if (strcmp(name,"PressurePicard")==0) return PressurePicardEnum;
+ 	      else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum;
+ 	      else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum;
++	      else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;
+          else stage=5;
+    }
+    if(stage==5){
+-	      if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;
+-	      else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
++	      if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
+ 	      else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
+ 	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
+@@ -628,11 +627,11 @@
+ 	      else if (strcmp(name,"Outputdefinition25")==0) return Outputdefinition25Enum;
+ 	      else if (strcmp(name,"Outputdefinition26")==0) return Outputdefinition26Enum;
+ 	      else if (strcmp(name,"Outputdefinition27")==0) return Outputdefinition27Enum;
++	      else if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum;
+          else stage=6;
+    }
+    if(stage==6){
+-	      if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum;
+-	      else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum;
++	      if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum;
+ 	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
+ 	      else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
+ 	      else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
+@@ -751,11 +750,11 @@
+ 	      else if (strcmp(name,"ToolkitsOptionsAnalyses")==0) return ToolkitsOptionsAnalysesEnum;
+ 	      else if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum;
+ 	      else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum;
++	      else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
+          else stage=7;
+    }
+    if(stage==7){
+-	      if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
+-	      else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
++	      if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
+ 	      else if (strcmp(name,"Regular")==0) return RegularEnum;
+ 	      else if (strcmp(name,"Scaled")==0) return ScaledEnum;
+ 	      else if (strcmp(name,"Separate")==0) return SeparateEnum;
+@@ -874,11 +873,11 @@
+ 	      else if (strcmp(name,"SpcStatic")==0) return SpcStaticEnum;
+ 	      else if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum;
+ 	      else if (strcmp(name,"StringArrayParam")==0) return StringArrayParamEnum;
++	      else if (strcmp(name,"StringParam")==0) return StringParamEnum;
+          else stage=8;
+    }
+    if(stage==8){
+-	      if (strcmp(name,"StringParam")==0) return StringParamEnum;
+-	      else if (strcmp(name,"Seg")==0) return SegEnum;
++	      if (strcmp(name,"Seg")==0) return SegEnum;
+ 	      else if (strcmp(name,"SegInput")==0) return SegInputEnum;
+ 	      else if (strcmp(name,"Tria")==0) return TriaEnum;
+ 	      else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
+@@ -997,11 +996,11 @@
+ 	      else if (strcmp(name,"P2xP4")==0) return P2xP4Enum;
+ 	      else if (strcmp(name,"P1P1")==0) return P1P1Enum;
+ 	      else if (strcmp(name,"P1P1GLS")==0) return P1P1GLSEnum;
++	      else if (strcmp(name,"MINI")==0) return MINIEnum;
+          else stage=9;
+    }
+    if(stage==9){
+-	      if (strcmp(name,"MINI")==0) return MINIEnum;
+-	      else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
++	      if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
+ 	      else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
+ 	      else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
+ 	      else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
Index: /issm/oecreview/Archive/21337-21723/ISSM-21722-21723.diff
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-21722-21723.diff	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-21722-21723.diff	(revision 21726)
@@ -0,0 +1,59 @@
+Index: ../trunk-jpl/etc/environment.sh
+===================================================================
+--- ../trunk-jpl/etc/environment.sh	(revision 21722)
++++ ../trunk-jpl/etc/environment.sh	(revision 21723)
+@@ -66,16 +66,13 @@
+ #Load ISSM scripts
+ pathappend "$ISSM_DIR/scripts"
+ 
+-#MATLAB_DIR="$ISSM_DIR/externalpackages/matlab/install"
+-#export MATLAB_DIR
+-#pathprepend   "$MATLAB_DIR/bin" #take precedence over /usr/local/bin/matlab
+-#libpathappend "$MATLAB_DIR/lib"
+-
+ #GMT 
+ GMT_DIR="$ISSM_DIR/externalpackages/gmt/install"
+-export GMT_DIR
+-pathprepend   "$GMT_DIR/bin" 
+-libpathappend "$GMT_DIR/lib"
++if [ -d "$GMT_DIR" ]; then
++	export GMT_DIR
++	pathprepend   "$GMT_DIR/bin" 
++	libpathappend "$GMT_DIR/lib"
++fi
+ 
+ #legacy mpich2 (To be removed)
+ MPI_DIR="$ISSM_DIR/externalpackages/mpich2/install"
+@@ -88,12 +85,11 @@
+ MPI_DIR="$ISSM_DIR/externalpackages/mpich/install"
+ if [ -d "$MPI_DIR" ]; then
+ 	export MPI_DIR
++	export MPI_INC_DIR="$MPI_DIR/include"
+ 	pathprepend   "$MPI_DIR/bin"
+ 	libpathappend "$MPI_DIR/lib"
+ fi
+ 
+-export MPI_INC_DIR="$MPI_DIR/include"
+-
+ PETSC_DIR="$ISSM_DIR/externalpackages/petsc/install"
+ if [ -d "$PETSC_DIR" ]; then
+ 	export PETSC_DIR
+Index: ../trunk-jpl/etc/environment.csh
+===================================================================
+--- ../trunk-jpl/etc/environment.csh	(revision 21722)
++++ ../trunk-jpl/etc/environment.csh	(revision 21723)
+@@ -3,14 +3,6 @@
+ #Load ISSM scripts
+ setenv PATH {$PATH}:{$ISSM_DIR}/scripts
+ 
+-##MATLAB
+-#set MATLAB_DIR="$ISSM_DIR/externalpackages/matlab/install"
+-#if (-e $MATLAB_DIR) then
+-#	setenv MATLAB_DIR {$MATLAB_DIR}
+-#	setenv PATH {$MATLAB_DIR}/bin:{$PATH}
+-#	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:{$MATLAB_DIR}/bin/glnxa64
+-#endif
+-
+ #MPI
+ set MPI_DIR="$ISSM_DIR/externalpackages/mpich/install"
+ if (-d $MPI_DIR) then
Index: /issm/oecreview/Archive/21337-21723/ISSM-DocReview-21337-21723.tex
===================================================================
--- /issm/oecreview/Archive/21337-21723/ISSM-DocReview-21337-21723.tex	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/ISSM-DocReview-21337-21723.tex	(revision 21726)
@@ -0,0 +1,67 @@
+\documentclass[]{report}   % list options between brackets
+\usepackage{graphicx}              % list packages between braces
+
+% type user-defined commands here
+
+\begin{document}
+
+\title{JPL EXPORT ADMINISTRATION \\ DOCUMENT REVIEW RECORD}   % type title between braces
+\author{Tom Scavo}         % type author(s) between braces
+\date{October 27, 1995}    % type date between braces
+%\maketitle
+
+
+\begin{center}
+\begin{tabular}{ |c|c| }
+\hline
+JPL EXPORT ADMINISTRATION \\
+\textit{ DOCUMENT REVIEW RECORD} \\
+\hline
+\end{tabular}
+\end{center}
+
+\hfill Log \#: \underline{\input{LogNumber}}
+
+\vspace{1cm}
+\noindent (Note: This form and process do not replace the procedures described in JPL Policy relating to review and approval of proposals and contractual 
+documents. This process is intended to document the review and coordination of requests to ascertain the export control ramifications relating to specific 
+documents. Export Administration signature does not convey authority to export or release the "Exporter of Record" from any export laws or regulations.)\\
+
+\noindent \textbf{Program:} \underline{ISSM: Ice Sheet System Model} \\ \\
+\noindent \textbf{Person Requesting or Initiating Export}: \underline{Dr. Eric Larour}\\ \\
+\noindent \textbf{Date Received}: \underline{\input{Date}}\\ \\
+\noindent \textbf{Document Title/Description}: ISSM changes from revision \input{r1} to revision \input{r2} \\ \\
+\noindent \textbf{Release to:} \underline{http://issm.ess.uci.edu/svn/issm/issm/trunk on ISSM svn repository}\\ \\
+\noindent \textbf{JPL Intranet:} \underline{murdo.jpl.nasa.gov/proj/ice/larour/issm-uci/trunk-jpl}\\ \\
+
+\noindent \textbf{Disposition: 6 } 
+Does not contain export-controlled information. May be released/disclosed as requested subject to 
+Company guidelines on protection of proprietary information (if applicable). \\
+
+\noindent \textbf{Comments:}  see table of changes below. \\ \\
+\noindent \textbf{Reviewed by ISSM Export Transfer Liaison:} Dr. Eric Larour \hfill \textbf{Date:} \input{Date} \\ 
+\includegraphics[scale=1]{signature}
+
+\noindent JPL Export Administration Form TBS – June 29, 2011
+
+\begin{center}
+\line(1,0){250}
+\end{center}
+
+\noindent \textbf{Disposition:} \\
+1:	  Public Domain Information (Ref ITAR Section 120.11) \\
+2:	  Qualifies for ITAR Exemption				 \\
+3:	  Covered by Department of State License/Agreement Number					  \\
+4:	  Covered by Department of Commerce validated license or exception				 \\
+5:	  New License Required \\
+6:	  Does not contain export-controlled information.  May be released/disclosed as requested subject
+   to Company guidelines on protection of proprietary information (if applicable). \\
+7:	 Other (specify)   
+\begin{center}
+\line(1,0){250}
+\end{center}
+
+
+\input{log}
+
+\end{document}
Index: /issm/oecreview/Archive/21337-21723/LogNumber.tex
===================================================================
--- /issm/oecreview/Archive/21337-21723/LogNumber.tex	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/LogNumber.tex	(revision 21726)
@@ -0,0 +1,1 @@
+21337-21723
Index: /issm/oecreview/Archive/21337-21723/Makefile
===================================================================
--- /issm/oecreview/Archive/21337-21723/Makefile	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/Makefile	(revision 21726)
@@ -0,0 +1,8 @@
+TARGET=ISSM-DocReview-21337-21723
+
+all: 
+	pdflatex -interaction=errorstopmode -file-line-error -halt-on-error $(TARGET).tex
+	rm -rf *.log *.aux 
+
+clean:
+	rm -rf *.log *.aux
Index: /issm/oecreview/Archive/21337-21723/log.tex
===================================================================
--- /issm/oecreview/Archive/21337-21723/log.tex	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/log.tex	(revision 21726)
@@ -0,0 +1,2443 @@
+\noindent \textbf{Change \#1} with diff file ISSM-21339-21340.diff: \\
+Function name: \\
+M /issm/trunk-jpl M /issm/trunk-jpl/jenkins/linux64\_ross M /issm/trunk-jpl/src M /issm/trunk-jpl/test\\
+Export determination: 6. \\
+Rationale: CHG: merge trunk to trunk-jpl\\
+\vspace{3em}
+
+\noindent \textbf{Change \#2} with diff file ISSM-21342-21343.diff: \\
+Function name: \\
+M /issm/trunk-jpl M /issm/trunk-jpl/src M /issm/trunk-jpl/test\\
+Export determination: 6. \\
+Rationale: Block revision 21341 from being merged into trunk-jpl\\
+\vspace{3em}
+
+\noindent \textbf{Change \#3} with diff file ISSM-21343-21344.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: forgot break statement for SIA friction\\
+\vspace{3em}
+
+\noindent \textbf{Change \#4} with diff file ISSM-21344-21345.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/Elements/Seg.h M /issm/trunk-jpl/src/c/classes/Elements/Tetra.h M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/classes/Elements/Tria.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h M /issm/trunk-jpl/src/c/cores/sealevelrise\_core\_noneustatic.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: rotational feedback works fine now\\
+\vspace{3em}
+
+\noindent \textbf{Change \#5} with diff file ISSM-21345-21346.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/slr.m\\
+Export determination: 6. \\
+Rationale: CHG: rotational feedback matlab parameterization\\
+\vspace{3em}
+
+\noindent \textbf{Change \#6} with diff file ISSM-21346-21347.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test2003.m M /issm/trunk-jpl/test/NightlyRun/test2110.m\\
+Export determination: 6. \\
+Rationale: CHG: nightly updated for rotational feedback\\
+\vspace{3em}
+
+\noindent \textbf{Change \#7} with diff file ISSM-21347-21348.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: duplicate funtion declaration\\
+\vspace{3em}
+
+\noindent \textbf{Change \#8} with diff file ISSM-21348-21349.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive2003.arch\\
+Export determination: 6. \\
+Rationale: CHG: archive updated for test2003\\
+\vspace{3em}
+
+\noindent \textbf{Change \#9} with diff file ISSM-21349-21350.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/shp/shp2exp.m M /issm/trunk-jpl/src/m/shp/shp2exp.py M /issm/trunk-jpl/src/py3/shp/shp2exp.py\\
+Export determination: 6. \\
+Rationale: BUG: changed so that exps from line and point shapefiles are not closed\\
+\vspace{3em}
+
+\noindent \textbf{Change \#10} with diff file ISSM-21350-21351.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG: constants appearing in SLR rotational feedback double checked\\
+\vspace{3em}
+
+\noindent \textbf{Change \#11} with diff file ISSM-21351-21352.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive2002.arch\\
+Export determination: 6. \\
+Rationale: CHG: archieve updated as the solutions now include rotational feedback as well\\
+\vspace{3em}
+
+\noindent \textbf{Change \#12} with diff file ISSM-21352-21353.diff: \\
+Function name: \\
+M /issm/trunk-jpl/configure.ac\\
+Export determination: 6. \\
+Rationale: CHG: updated version number\\
+\vspace{3em}
+
+\noindent \textbf{Change \#13} with diff file ISSM-21353-21354.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/solve/solve.m\\
+Export determination: 6. \\
+Rationale: CHG: added MC soft\\
+\vspace{3em}
+
+\noindent \textbf{Change \#14} with diff file ISSM-21354-21355.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py\\
+Export determination: 6. \\
+Rationale: CHG: added def\_initialize and removed md in def\_init to make it more python\\
+\vspace{3em}
+
+\noindent \textbf{Change \#15} with diff file ISSM-21355-21356.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/plot/plot\_elementnumbering.py M /issm/trunk-jpl/src/m/plot/plot\_manager.py M /issm/trunk-jpl/src/m/plot/plotdoc.py\\
+Export determination: 6. \\
+Rationale: NEW:adding elementnumbering\\
+\vspace{3em}
+
+\noindent \textbf{Change \#16} with diff file ISSM-21356-21357.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.py\\
+Export determination: 6. \\
+Rationale: CHG:added field==bamg\\
+\vspace{3em}
+
+\noindent \textbf{Change \#17} with diff file ISSM-21357-21358.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/io/loadvars.py\\
+Export determination: 6. \\
+Rationale: CHG:added OrderedDict\\
+\vspace{3em}
+
+\noindent \textbf{Change \#18} with diff file ISSM-21358-21359.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/io/loadvars.py\\
+Export determination: 6. \\
+Rationale: CHG:Deleted print and double import of Odereddict\\
+\vspace{3em}
+
+\noindent \textbf{Change \#19} with diff file ISSM-21359-21360.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/macosx\_pine-island\_dakota\\
+Export determination: 6. \\
+Rationale: CHG: Dakota build was using 2015a version of Matlab. Changing to 2015b.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#20} with diff file ISSM-21360-21361.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/macosx\_pine-island\_dakota\_static M /issm/trunk-jpl/jenkins/macosx\_pine-island\_static\\
+Export determination: 6. \\
+Rationale: BUG: changing MATLAB path\\
+\vspace{3em}
+
+\noindent \textbf{Change \#21} with diff file ISSM-21377-21378.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp M /issm/trunk-jpl/src/m/classes/matestar.m M /issm/trunk-jpl/src/m/classes/matice.m\\
+Export determination: 6. \\
+Rationale: NEW:added BuddJacka flow parameter\\
+\vspace{3em}
+
+\noindent \textbf{Change \#22} with diff file ISSM-21378-21379.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/matdamageice.m M /issm/trunk-jpl/src/m/classes/matdamageice.py M /issm/trunk-jpl/src/m/classes/matice.js M /issm/trunk-jpl/src/m/classes/matice.py\\
+Export determination: 6. \\
+Rationale: NEW:added BuddJacka flow parameter\\
+\vspace{3em}
+
+\noindent \textbf{Change \#23} with diff file ISSM-21379-21380.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/vilje.py\\
+Export determination: 6. \\
+Rationale: NEW: adding the test queu possibility on Vilje\\
+\vspace{3em}
+
+\noindent \textbf{Change \#24} with diff file ISSM-21380-21381.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/classes/matenhancedice.m\\
+Export determination: 6. \\
+Rationale: CHG: added matenhancedice.m\\
+\vspace{3em}
+
+\noindent \textbf{Change \#25} with diff file ISSM-21381-21382.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matestar.h M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp M /issm/trunk-jpl/src/c/shared/Elements/EstarComponents.cpp M /issm/trunk-jpl/src/c/shared/Elements/elements.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/m/classes/matestar.m\\
+Export determination: 6. \\
+Rationale: CHG: ESTAR in terms of epseff and B\\
+\vspace{3em}
+
+\noindent \textbf{Change \#26} with diff file ISSM-21382-21383.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: NEW: ESTAR thermal model capability\\
+\vspace{3em}
+
+\noindent \textbf{Change \#27} with diff file ISSM-21383-21384.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test460.m\\
+Export determination: 6. \\
+Rationale: CHG: ESTAR in terms of B\\
+\vspace{3em}
+
+\noindent \textbf{Change \#28} with diff file ISSM-21384-21385.diff: \\
+Function name: \\
+A /issm/trunk-jpl/test/Archives/Archive461.arch A /issm/trunk-jpl/test/NightlyRun/test461.m\\
+Export determination: 6. \\
+Rationale: NEW: added test to check ESTAR thermal\\
+\vspace{3em}
+
+\noindent \textbf{Change \#29} with diff file ISSM-21385-21386.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixing enums\\
+\vspace{3em}
+
+\noindent \textbf{Change \#30} with diff file ISSM-21386-21387.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive460.arch M /issm/trunk-jpl/test/Archives/Archive461.arch\\
+Export determination: 6. \\
+Rationale: CHG:: update archives now that ESTAR had been changed\\
+\vspace{3em}
+
+\noindent \textbf{Change \#31} with diff file ISSM-21387-21388.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test461.m\\
+Export determination: 6. \\
+Rationale: CHG: relaxing tolerances\\
+\vspace{3em}
+
+\noindent \textbf{Change \#32} with diff file ISSM-21388-21389.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: Use the right coordinate system and bed slope for shelf dampending\\
+\vspace{3em}
+
+\noindent \textbf{Change \#33} with diff file ISSM-21389-21390.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matice.h M /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp M /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp\\
+Export determination: 6. \\
+Rationale: NEW: matenhancedice class, enhancement in Glen flow relationviscosity\\
+\vspace{3em}
+
+\noindent \textbf{Change \#34} with diff file ISSM-21390-21391.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp\\
+Export determination: 6. \\
+Rationale: NEW: matenhancedice class, enhancement in Glen flow relation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#35} with diff file ISSM-21391-21392.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixed rotational feedback formulatoin, which was using index i instead of sid to plug values into the rotational vector. Results should be completely changed.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#36} with diff file ISSM-21393-21394.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Materials/Material.h M /issm/trunk-jpl/src/c/classes/Materials/Matestar.h M /issm/trunk-jpl/src/c/classes/Materials/Matpar.h\\
+Export determination: 6. \\
+Rationale: BUG: fixed matenhancedice for SSA 3d\\
+\vspace{3em}
+
+\noindent \textbf{Change \#37} with diff file ISSM-21394-21395.diff: \\
+Function name: \\
+A /issm/trunk-jpl/test/Archives/Archive260.arch A /issm/trunk-jpl/test/Archives/Archive261.arch A /issm/trunk-jpl/test/NightlyRun/test260.m A /issm/trunk-jpl/test/NightlyRun/test261.m\\
+Export determination: 6. \\
+Rationale: NEW: added tests for matenhancedice\\
+\vspace{3em}
+
+\noindent \textbf{Change \#38} with diff file ISSM-21398-21399.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h\\
+Export determination: 6. \\
+Rationale: NEW:changing transmitivity and storing coeficient for confined-unconfined ability\\
+\vspace{3em}
+
+\noindent \textbf{Change \#39} with diff file ISSM-21399-21400.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive124.arch M /issm/trunk-jpl/test/Archives/Archive211.arch M /issm/trunk-jpl/test/Archives/Archive404.arch M /issm/trunk-jpl/test/Archives/Archive421.arch M /issm/trunk-jpl/test/Archives/Archive422.arch M /issm/trunk-jpl/test/Archives/Archive460.arch M /issm/trunk-jpl/test/Archives/Archive503.arch M /issm/trunk-jpl/test/Archives/Archive507.arch M /issm/trunk-jpl/test/Archives/Archive510.arch M /issm/trunk-jpl/test/Archives/Archive511.arch M /issm/trunk-jpl/test/Archives/Archive703.arch\\
+Export determination: 6. \\
+Rationale: FIX: new archives with full-stokes changes\\
+\vspace{3em}
+
+\noindent \textbf{Change \#40} with diff file ISSM-21400-21401.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive702.arch M /issm/trunk-jpl/test/NightlyRun/test702.m\\
+Export determination: 6. \\
+Rationale: FIX: updating archive and removing Crouzeix raviart\\
+\vspace{3em}
+
+\noindent \textbf{Change \#41} with diff file ISSM-21401-21402.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: cosmetics\\
+\vspace{3em}
+
+\noindent \textbf{Change \#42} with diff file ISSM-21402-21403.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG: calving 3D\\
+\vspace{3em}
+
+\noindent \textbf{Change \#43} with diff file ISSM-21403-21404.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixed levermann 3d and cleaned up FS shelf dampening\\
+\vspace{3em}
+
+\noindent \textbf{Change \#44} with diff file ISSM-21404-21405.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test2003.m\\
+Export determination: 6. \\
+Rationale: CHG: rotational feedback works in parallel\\
+\vspace{3em}
+
+\noindent \textbf{Change \#45} with diff file ISSM-21405-21406.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/initialization.m\\
+Export determination: 6. \\
+Rationale: BUG: ensure that temperate base gets proper enthalpy value. Rounding errors would cause test (T>=Tpmp) to fail.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#46} with diff file ISSM-21406-21407.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/initialization.m M /issm/trunk-jpl/src/m/classes/initialization.py M /issm/trunk-jpl/test/Archives/Archive803.arch M /issm/trunk-jpl/test/Archives/Archive805.arch\\
+Export determination: 6. \\
+Rationale: BUG: checking consistency of 'if waterfraction>0 then T=Tpmp', updating archives\\
+\vspace{3em}
+
+\noindent \textbf{Change \#47} with diff file ISSM-21407-21408.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp\\
+Export determination: 6. \\
+Rationale: CHG: ESTAR inversion for B\\
+\vspace{3em}
+
+\noindent \textbf{Change \#48} with diff file ISSM-21408-21409.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/IdToName.py M /issm/trunk-jpl/test/NightlyRun/runme.py M /issm/trunk-jpl/test/NightlyRun/test101.py M /issm/trunk-jpl/test/NightlyRun/test102.py M /issm/trunk-jpl/test/NightlyRun/test103.py M /issm/trunk-jpl/test/NightlyRun/test104.py M /issm/trunk-jpl/test/NightlyRun/test105.py M /issm/trunk-jpl/test/NightlyRun/test106.py M /issm/trunk-jpl/test/NightlyRun/test107.py M /issm/trunk-jpl/test/NightlyRun/test108.py M /issm/trunk-jpl/test/NightlyRun/test109.py M /issm/trunk-jpl/test/NightlyRun/test110.py M /issm/trunk-jpl/test/NightlyRun/test1101.py M /issm/trunk-jpl/test/NightlyRun/test1102.py M /issm/trunk-jpl/test/NightlyRun/test1103.py M /issm/trunk-jpl/test/NightlyRun/test1104.py M /issm/trunk-jpl/test/NightlyRun/test1105.py M /issm/trunk-jpl/test/NightlyRun/test1106.py M /issm/trunk-jpl/test/NightlyRun/test1107.py M /issm/trunk-jpl/test/NightlyRun/test1108.py M /issm/trunk-jpl/test/NightlyRun/test111.py M /issm/trunk-jpl/test/NightlyRun/test112.py M /issm/trunk-jpl/test/NightlyRun/test113.py M /issm/trunk-jpl/test/NightlyRun/test114.py M /issm/trunk-jpl/test/NightlyRun/test115.py M /issm/trunk-jpl/test/NightlyRun/test116.py M /issm/trunk-jpl/test/NightlyRun/test119.py M /issm/trunk-jpl/test/NightlyRun/test120.py M /issm/trunk-jpl/test/NightlyRun/test1201.py M /issm/trunk-jpl/test/NightlyRun/test1202.py M /issm/trunk-jpl/test/NightlyRun/test1203.py M /issm/trunk-jpl/test/NightlyRun/test1204.py M /issm/trunk-jpl/test/NightlyRun/test1205.py M /issm/trunk-jpl/test/NightlyRun/test1206.py M /issm/trunk-jpl/test/NightlyRun/test1207.py M /issm/trunk-jpl/test/NightlyRun/test1208.py M /issm/trunk-jpl/test/NightlyRun/test121.py M /issm/trunk-jpl/test/NightlyRun/test122.py M /issm/trunk-jpl/test/NightlyRun/test125.py M /issm/trunk-jpl/test/NightlyRun/test126.py M /issm/trunk-jpl/test/NightlyRun/test1301.py M /issm/trunk-jpl/test/NightlyRun/test1302.py M /issm/trunk-jpl/test/NightlyRun/test1303.py M /issm/trunk-jpl/test/NightlyRun/test1304.py M /issm/trunk-jpl/test/NightlyRun/test1501.py M /issm/trunk-jpl/test/NightlyRun/test1502.py M /issm/trunk-jpl/test/NightlyRun/test1601.py M /issm/trunk-jpl/test/NightlyRun/test1602.py M /issm/trunk-jpl/test/NightlyRun/test2001.py M /issm/trunk-jpl/test/NightlyRun/test2002.py M /issm/trunk-jpl/test/NightlyRun/test201.py M /issm/trunk-jpl/test/NightlyRun/test202.py M /issm/trunk-jpl/test/NightlyRun/test203.py M /issm/trunk-jpl/test/NightlyRun/test204.py M /issm/trunk-jpl/test/NightlyRun/test205.py M /issm/trunk-jpl/test/NightlyRun/test206.py M /issm/trunk-jpl/test/NightlyRun/test207.py M /issm/trunk-jpl/test/NightlyRun/test208.py M /issm/trunk-jpl/test/NightlyRun/test209.py M /issm/trunk-jpl/test/NightlyRun/test210.py M /issm/trunk-jpl/test/NightlyRun/test211.py M /issm/trunk-jpl/test/NightlyRun/test212.py M /issm/trunk-jpl/test/NightlyRun/test213.py M /issm/trunk-jpl/test/NightlyRun/test214.py M /issm/trunk-jpl/test/NightlyRun/test215.py M /issm/trunk-jpl/test/NightlyRun/test216.py M /issm/trunk-jpl/test/NightlyRun/test217.py M /issm/trunk-jpl/test/NightlyRun/test219.py M /issm/trunk-jpl/test/NightlyRun/test220.py M /issm/trunk-jpl/test/NightlyRun/test221.py M /issm/trunk-jpl/test/NightlyRun/test222.py M /issm/trunk-jpl/test/NightlyRun/test223.py M /issm/trunk-jpl/test/NightlyRun/test224.py M /issm/trunk-jpl/test/NightlyRun/test225.py M /issm/trunk-jpl/test/NightlyRun/test226.py M /issm/trunk-jpl/test/NightlyRun/test227.py M /issm/trunk-jpl/test/NightlyRun/test228.py M /issm/trunk-jpl/test/NightlyRun/test229.py M /issm/trunk-jpl/test/NightlyRun/test230.py M /issm/trunk-jpl/test/NightlyRun/test231.py M /issm/trunk-jpl/test/NightlyRun/test232.py M /issm/trunk-jpl/test/NightlyRun/test233.py M /issm/trunk-jpl/test/NightlyRun/test236.py M /issm/trunk-jpl/test/NightlyRun/test237.py M /issm/trunk-jpl/test/NightlyRun/test238.py M /issm/trunk-jpl/test/NightlyRun/test239.py M /issm/trunk-jpl/test/NightlyRun/test240.py M /issm/trunk-jpl/test/NightlyRun/test241.py M /issm/trunk-jpl/test/NightlyRun/test242.py M /issm/trunk-jpl/test/NightlyRun/test270.py M /issm/trunk-jpl/test/NightlyRun/test272.py M /issm/trunk-jpl/test/NightlyRun/test273.py M /issm/trunk-jpl/test/NightlyRun/test274.py M /issm/trunk-jpl/test/NightlyRun/test275.py M /issm/trunk-jpl/test/NightlyRun/test280.py M /issm/trunk-jpl/test/NightlyRun/test285.py M /issm/trunk-jpl/test/NightlyRun/test290.py M /issm/trunk-jpl/test/NightlyRun/test291.py M /issm/trunk-jpl/test/NightlyRun/test292.py M /issm/trunk-jpl/test/NightlyRun/test3001.py M /issm/trunk-jpl/test/NightlyRun/test3002.py M /issm/trunk-jpl/test/NightlyRun/test3003.py M /issm/trunk-jpl/test/NightlyRun/test3004.py M /issm/trunk-jpl/test/NightlyRun/test3005.py M /issm/trunk-jpl/test/NightlyRun/test3006.py M /issm/trunk-jpl/test/NightlyRun/test3007.py M /issm/trunk-jpl/test/NightlyRun/test3008.py M /issm/trunk-jpl/test/NightlyRun/test3009.py M /issm/trunk-jpl/test/NightlyRun/test301.py M /issm/trunk-jpl/test/NightlyRun/test3010.py M /issm/trunk-jpl/test/NightlyRun/test3015.py M /issm/trunk-jpl/test/NightlyRun/test3019.py M /issm/trunk-jpl/test/NightlyRun/test302.py M /issm/trunk-jpl/test/NightlyRun/test3020.py M /issm/trunk-jpl/test/NightlyRun/test303.py M /issm/trunk-jpl/test/NightlyRun/test304.py M /issm/trunk-jpl/test/NightlyRun/test305.py M /issm/trunk-jpl/test/NightlyRun/test306.py M /issm/trunk-jpl/test/NightlyRun/test307.py M /issm/trunk-jpl/test/NightlyRun/test308.py M /issm/trunk-jpl/test/NightlyRun/test309.py M /issm/trunk-jpl/test/NightlyRun/test310.py M /issm/trunk-jpl/test/NightlyRun/test3101.py M /issm/trunk-jpl/test/NightlyRun/test3102.py M /issm/trunk-jpl/test/NightlyRun/test3103.py M /issm/trunk-jpl/test/NightlyRun/test3104.py M /issm/trunk-jpl/test/NightlyRun/test3105.py M /issm/trunk-jpl/test/NightlyRun/test3106.py M /issm/trunk-jpl/test/NightlyRun/test3107.py M /issm/trunk-jpl/test/NightlyRun/test3108.py M /issm/trunk-jpl/test/NightlyRun/test3109.py M /issm/trunk-jpl/test/NightlyRun/test311.py M /issm/trunk-jpl/test/NightlyRun/test3110.py M /issm/trunk-jpl/test/NightlyRun/test3119.py M /issm/trunk-jpl/test/NightlyRun/test312.py M /issm/trunk-jpl/test/NightlyRun/test313.py M /issm/trunk-jpl/test/NightlyRun/test314.py M /issm/trunk-jpl/test/NightlyRun/test315.py M /issm/trunk-jpl/test/NightlyRun/test316.py M /issm/trunk-jpl/test/NightlyRun/test317.py M /issm/trunk-jpl/test/NightlyRun/test318.py M /issm/trunk-jpl/test/NightlyRun/test319.py M /issm/trunk-jpl/test/NightlyRun/test320.py M /issm/trunk-jpl/test/NightlyRun/test321.py M /issm/trunk-jpl/test/NightlyRun/test322.py M /issm/trunk-jpl/test/NightlyRun/test323.py M /issm/trunk-jpl/test/NightlyRun/test324.py M /issm/trunk-jpl/test/NightlyRun/test325.py M /issm/trunk-jpl/test/NightlyRun/test326.py M /issm/trunk-jpl/test/NightlyRun/test327.py M /issm/trunk-jpl/test/NightlyRun/test328.py M /issm/trunk-jpl/test/NightlyRun/test329.py M /issm/trunk-jpl/test/NightlyRun/test3300.py M /issm/trunk-jpl/test/NightlyRun/test332.py M /issm/trunk-jpl/test/NightlyRun/test333.py M /issm/trunk-jpl/test/NightlyRun/test334.py M /issm/trunk-jpl/test/NightlyRun/test335.py M /issm/trunk-jpl/test/NightlyRun/test336.py M /issm/trunk-jpl/test/NightlyRun/test337.py M /issm/trunk-jpl/test/NightlyRun/test338.py M /issm/trunk-jpl/test/NightlyRun/test339.py M /issm/trunk-jpl/test/NightlyRun/test341.py M /issm/trunk-jpl/test/NightlyRun/test401.py M /issm/trunk-jpl/test/NightlyRun/test402.py M /issm/trunk-jpl/test/NightlyRun/test403.py M /issm/trunk-jpl/test/NightlyRun/test404.py M /issm/trunk-jpl/test/NightlyRun/test405.py M /issm/trunk-jpl/test/NightlyRun/test406.py M /issm/trunk-jpl/test/NightlyRun/test407.py M /issm/trunk-jpl/test/NightlyRun/test408.py M /issm/trunk-jpl/test/NightlyRun/test409.py M /issm/trunk-jpl/test/NightlyRun/test410.py M /issm/trunk-jpl/test/NightlyRun/test411.py M /issm/trunk-jpl/test/NightlyRun/test415.py M /issm/trunk-jpl/test/NightlyRun/test416.py M /issm/trunk-jpl/test/NightlyRun/test419.py M /issm/trunk-jpl/test/NightlyRun/test421.py M /issm/trunk-jpl/test/NightlyRun/test422.py M /issm/trunk-jpl/test/NightlyRun/test423.py M /issm/trunk-jpl/test/NightlyRun/test424.py M /issm/trunk-jpl/test/NightlyRun/test425.py M /issm/trunk-jpl/test/NightlyRun/test426.py M /issm/trunk-jpl/test/NightlyRun/test427.py M /issm/trunk-jpl/test/NightlyRun/test428.py M /issm/trunk-jpl/test/NightlyRun/test429.py M /issm/trunk-jpl/test/NightlyRun/test431.py M /issm/trunk-jpl/test/NightlyRun/test432.py M /issm/trunk-jpl/test/NightlyRun/test433.py M /issm/trunk-jpl/test/NightlyRun/test434.py M /issm/trunk-jpl/test/NightlyRun/test450.py M /issm/trunk-jpl/test/NightlyRun/test455.py M /issm/trunk-jpl/test/NightlyRun/test501.py M /issm/trunk-jpl/test/NightlyRun/test502.py M /issm/trunk-jpl/test/NightlyRun/test503.py M /issm/trunk-jpl/test/NightlyRun/test504.py M /issm/trunk-jpl/test/NightlyRun/test505.py M /issm/trunk-jpl/test/NightlyRun/test506.py M /issm/trunk-jpl/test/NightlyRun/test507.py M /issm/trunk-jpl/test/NightlyRun/test508.py M /issm/trunk-jpl/test/NightlyRun/test509.py M /issm/trunk-jpl/test/NightlyRun/test510.py M /issm/trunk-jpl/test/NightlyRun/test511.py M /issm/trunk-jpl/test/NightlyRun/test512.py M /issm/trunk-jpl/test/NightlyRun/test513.py M /issm/trunk-jpl/test/NightlyRun/test514.py M /issm/trunk-jpl/test/NightlyRun/test515.py M /issm/trunk-jpl/test/NightlyRun/test516.py M /issm/trunk-jpl/test/NightlyRun/test530.py M /issm/trunk-jpl/test/NightlyRun/test531.py M /issm/trunk-jpl/test/NightlyRun/test601.py M /issm/trunk-jpl/test/NightlyRun/test602.py M /issm/trunk-jpl/test/NightlyRun/test603.py M /issm/trunk-jpl/test/NightlyRun/test604.py M /issm/trunk-jpl/test/NightlyRun/test605.py M /issm/trunk-jpl/test/NightlyRun/test606.py M /issm/trunk-jpl/test/NightlyRun/test607.py M /issm/trunk-jpl/test/NightlyRun/test608.py M /issm/trunk-jpl/test/NightlyRun/test611.py M /issm/trunk-jpl/test/NightlyRun/test613.py M /issm/trunk-jpl/test/NightlyRun/test801.py M /issm/trunk-jpl/test/NightlyRun/test802.py M /issm/trunk-jpl/test/NightlyRun/test803.py M /issm/trunk-jpl/test/NightlyRun/test804.py M /issm/trunk-jpl/test/NightlyRun/test805.py M /issm/trunk-jpl/test/NightlyRun/test806.py M /issm/trunk-jpl/test/NightlyRun/test807.py\\
+Export determination: 6. \\
+Rationale: CHG: uniformization fix\\
+\vspace{3em}
+
+\noindent \textbf{Change \#49} with diff file ISSM-21409-21410.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Par/79North.py M /issm/trunk-jpl/test/Par/ISMIPA.py M /issm/trunk-jpl/test/Par/ISMIPB.py M /issm/trunk-jpl/test/Par/ISMIPC.py M /issm/trunk-jpl/test/Par/ISMIPD.py M /issm/trunk-jpl/test/Par/ISMIPE.py M /issm/trunk-jpl/test/Par/ISMIPF.py M /issm/trunk-jpl/test/Par/Pig.py M /issm/trunk-jpl/test/Par/RoundSheetEISMINT.py M /issm/trunk-jpl/test/Par/RoundSheetShelf.py M /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.py M /issm/trunk-jpl/test/Par/SquareEISMINT.py M /issm/trunk-jpl/test/Par/SquareSheetConstrained.py M /issm/trunk-jpl/test/Par/SquareSheetShelf.py M /issm/trunk-jpl/test/Par/SquareShelf.py M /issm/trunk-jpl/test/Par/SquareShelf2.py M /issm/trunk-jpl/test/Par/SquareShelfConstrained.py M /issm/trunk-jpl/test/Par/SquareThermal.py M /issm/trunk-jpl/test/Par/ValleyGlacierShelf.py\\
+Export determination: 6. \\
+Rationale: CHG: mooving to real vector initialisation (N) in place of (N,1)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#50} with diff file ISSM-21410-21411.diff: \\
+Function name: \\
+M /issm/trunk-jpl/scripts/BinRead.py M /issm/trunk-jpl/src/m/boundaryconditions/love\_numbers.py M /issm/trunk-jpl/src/m/classes/clusters/generic.py M /issm/trunk-jpl/src/m/classes/mesh3dprisms.py M /issm/trunk-jpl/src/m/classes/mesh3dsurface.py M /issm/trunk-jpl/src/m/consistency/checkfield.py M /issm/trunk-jpl/src/m/coordsystems/gmtmask.py M /issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.py M /issm/trunk-jpl/src/m/mesh/squaremesh.py M /issm/trunk-jpl/src/m/plot/processmesh.py\\
+Export determination: 6. \\
+Rationale: CHG: Python Cosmetic fixes\\
+\vspace{3em}
+
+\noindent \textbf{Change \#51} with diff file ISSM-21411-21412.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test1101.py M /issm/trunk-jpl/test/NightlyRun/test1102.py M /issm/trunk-jpl/test/NightlyRun/test1103.py M /issm/trunk-jpl/test/NightlyRun/test1104.py M /issm/trunk-jpl/test/NightlyRun/test1105.py M /issm/trunk-jpl/test/NightlyRun/test1107.py M /issm/trunk-jpl/test/NightlyRun/test1108.py M /issm/trunk-jpl/test/NightlyRun/test1201.py M /issm/trunk-jpl/test/NightlyRun/test1601.py M /issm/trunk-jpl/test/NightlyRun/test1602.py M /issm/trunk-jpl/test/NightlyRun/test211.py M /issm/trunk-jpl/test/NightlyRun/test212.py M /issm/trunk-jpl/test/NightlyRun/test213.py M /issm/trunk-jpl/test/NightlyRun/test214.py M /issm/trunk-jpl/test/NightlyRun/test215.py M /issm/trunk-jpl/test/NightlyRun/test217.py M /issm/trunk-jpl/test/NightlyRun/test270.py M /issm/trunk-jpl/test/NightlyRun/test272.py M /issm/trunk-jpl/test/NightlyRun/test273.py M /issm/trunk-jpl/test/NightlyRun/test274.py M /issm/trunk-jpl/test/NightlyRun/test275.py M /issm/trunk-jpl/test/NightlyRun/test3300.py M /issm/trunk-jpl/test/NightlyRun/test332.py M /issm/trunk-jpl/test/NightlyRun/test333.py M /issm/trunk-jpl/test/NightlyRun/test334.py M /issm/trunk-jpl/test/NightlyRun/test335.py M /issm/trunk-jpl/test/NightlyRun/test514.py M /issm/trunk-jpl/test/NightlyRun/test806.py M /issm/trunk-jpl/test/NightlyRun/test807.py\\
+Export determination: 6. \\
+Rationale: BUG: fixing remnant errors\\
+\vspace{3em}
+
+\noindent \textbf{Change \#52} with diff file ISSM-21412-21413.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/runme.py M /issm/trunk-jpl/test/NightlyRun/test803.py M /issm/trunk-jpl/test/NightlyRun/test806.py M /issm/trunk-jpl/test/NightlyRun/test807.py\\
+Export determination: 6. \\
+Rationale: BUG:minor typos and changing print formating in runme.py\\
+\vspace{3em}
+
+\noindent \textbf{Change \#53} with diff file ISSM-21413-21414.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive803.arch M /issm/trunk-jpl/test/Archives/Archive805.arch\\
+Export determination: 6. \\
+Rationale: CHG: updating archives\\
+\vspace{3em}
+
+\noindent \textbf{Change \#54} with diff file ISSM-21414-21415.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive803.arch M /issm/trunk-jpl/test/Archives/Archive805.arch\\
+Export determination: 6. \\
+Rationale: CHG: updating archives, pt2\\
+\vspace{3em}
+
+\noindent \textbf{Change \#55} with diff file ISSM-21415-21416.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/hexagon.py M /issm/trunk-jpl/src/m/classes/clusters/vilje.py\\
+Export determination: 6. \\
+Rationale: BUG:Fixing np initialisation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#56} with diff file ISSM-21416-21417.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#57} with diff file ISSM-21417-21418.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/mesh3dprisms.m M /issm/trunk-jpl/src/m/classes/model.m\\
+Export determination: 6. \\
+Rationale: CHG: make sure that 3d mesh follows geometry, and added collapse of some other quantities\\
+\vspace{3em}
+
+\noindent \textbf{Change \#58} with diff file ISSM-21418-21419.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/linearbasalforcings.m M /issm/trunk-jpl/src/m/classes/model.m\\
+Export determination: 6. \\
+Rationale: CHG: adding extraction/collapse of some variables\\
+\vspace{3em}
+
+\noindent \textbf{Change \#59} with diff file ISSM-21419-21420.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixed 3d extraction so that it works like 2d, had to change xyz\_list\\
+\vspace{3em}
+
+\noindent \textbf{Change \#60} with diff file ISSM-21420-21421.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added comment\\
+\vspace{3em}
+
+\noindent \textbf{Change \#61} with diff file ISSM-21423-21424.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive701.arch M /issm/trunk-jpl/test/NightlyRun/test701.m\\
+Export determination: 6. \\
+Rationale: CHG: removed XTaylorHood\\
+\vspace{3em}
+
+\noindent \textbf{Change \#62} with diff file ISSM-21424-21425.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive802.arch M /issm/trunk-jpl/test/Archives/Archive803.arch M /issm/trunk-jpl/test/Archives/Archive805.arch\\
+Export determination: 6. \\
+Rationale: FIX: updating archives\\
+\vspace{3em}
+
+\noindent \textbf{Change \#63} with diff file ISSM-21425-21426.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/hexagon.py M /issm/trunk-jpl/src/m/classes/clusters/vilje.py\\
+Export determination: 6. \\
+Rationale: hexagon.py+vilje.py: fixed issue with walltime requests greater than 24h; timestring=str(datetime.timedelta(minutes=self.time)) does not provide the right format of HH:MM:SS for requests greater than 24h\\
+\vspace{3em}
+
+\noindent \textbf{Change \#64} with diff file ISSM-21426-21427.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_unit.py M /issm/trunk-jpl/src/m/plot/plotmodel.py\\
+Export determination: 6. \\
+Rationale: plot\_unit.py: fixed issue with continous colorbar when setting colorlevels; now both plot and colorbar are descrete if colorlevels are set in plotmodel()\\
+\vspace{3em}
+
+\noindent \textbf{Change \#65} with diff file ISSM-21427-21428.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_unit.py M /issm/trunk-jpl/src/m/plot/plotdoc.py M /issm/trunk-jpl/src/m/plot/processmesh.py\\
+Export determination: 6. \\
+Rationale: NEW:adding layer capability for 3D plots\\
+\vspace{3em}
+
+\noindent \textbf{Change \#66} with diff file ISSM-21428-21429.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/model.m\\
+Export determination: 6. \\
+Rationale: CHG: in extract, added elseif elements+1 for GEMB inputs\\
+\vspace{3em}
+
+\noindent \textbf{Change \#67} with diff file ISSM-21429-21430.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plotgemb.m\\
+Export determination: 6. \\
+Rationale: CHG: flipud dz after computing levels, not before\\
+\vspace{3em}
+
+\noindent \textbf{Change \#68} with diff file ISSM-21430-21431.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG:minor clean up\\
+\vspace{3em}
+
+\noindent \textbf{Change \#69} with diff file ISSM-21431-21432.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG: syntax fix\\
+\vspace{3em}
+
+\noindent \textbf{Change \#70} with diff file ISSM-21432-21433.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG More fix\\
+\vspace{3em}
+
+\noindent \textbf{Change \#71} with diff file ISSM-21433-21434.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG: fixing cleaning bug\\
+\vspace{3em}
+
+\noindent \textbf{Change \#72} with diff file ISSM-21434-21435.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG. Fixing the Epl initialisation which was erased for non active nodes\\
+\vspace{3em}
+
+\noindent \textbf{Change \#73} with diff file ISSM-21435-21436.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/applyoptions.py M /issm/trunk-jpl/src/m/plot/plotdoc.py\\
+Export determination: 6. \\
+Rationale: applyoptions.py+plotdoc.py: python plotmodel options 'colorbarticks' and 'colorbarfontsize' added\\
+\vspace{3em}
+
+\noindent \textbf{Change \#74} with diff file ISSM-21436-21437.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h\\
+Export determination: 6. \\
+Rationale: NEW: extending the unconfined treatment to EPL\\
+\vspace{3em}
+
+\noindent \textbf{Change \#75} with diff file ISSM-21437-21438.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/generic.js M /issm/trunk-jpl/src/m/plot/plot\_manager.js M /issm/trunk-jpl/src/m/plot/plot\_quiver.js M /issm/trunk-jpl/src/m/plot/plot\_unit.js M /issm/trunk-jpl/src/m/plot/webgl.js\\
+Export determination: 6. \\
+Rationale: CHG (JS): Updating js plot routines for improved movie rendering and 2-way computational request compression in generic.js.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#76} with diff file ISSM-21438-21439.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h\\
+Export determination: 6. \\
+Rationale: CHG:reverting to confined for EPL but with colapse if head gets under base elevation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#77} with diff file ISSM-21439-21440.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG:Last change generate stability issues, reverting\\
+\vspace{3em}
+
+\noindent \textbf{Change \#78} with diff file ISSM-21440-21441.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_manager.py M /issm/trunk-jpl/src/m/plot/plot\_mesh.py M /issm/trunk-jpl/src/m/plot/plotmodel.py M /issm/trunk-jpl/src/m/plot/processmesh.py\\
+Export determination: 6. \\
+Rationale: NEW: adding 3D treatment for mesh and clean way to remove the colorbar\\
+\vspace{3em}
+
+\noindent \textbf{Change \#79} with diff file ISSM-21441-21442.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/plot/plot\_vertexnumbering.py\\
+Export determination: 6. \\
+Rationale: NEW added vertexnumbering\\
+\vspace{3em}
+
+\noindent \textbf{Change \#80} with diff file ISSM-21442-21443.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_manager.py\\
+Export determination: 6. \\
+Rationale: NEW added vertexnumbering\\
+\vspace{3em}
+
+\noindent \textbf{Change \#81} with diff file ISSM-21443-21444.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plotdoc.py\\
+Export determination: 6. \\
+Rationale: New added vertex and elementnumbering\\
+\vspace{3em}
+
+\noindent \textbf{Change \#82} with diff file ISSM-21444-21445.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/applyoptions.py M /issm/trunk-jpl/src/m/plot/plot\_manager.py M /issm/trunk-jpl/src/m/plot/plot\_mesh.py M /issm/trunk-jpl/src/m/plot/plot\_unit.py M /issm/trunk-jpl/src/m/plot/plotdoc.py M /issm/trunk-jpl/src/m/plot/plotmodel.py\\
+Export determination: 6. \\
+Rationale: NEW: adding 3D ability for standard data plot (may need to shift to mayavi on a later stage)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#83} with diff file ISSM-21445-21446.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp M /issm/trunk-jpl/src/m/classes/nodalvalue.m\\
+Export determination: 6. \\
+Rationale: CHG: update to fit new way of handling enums.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#84} with diff file ISSM-21446-21447.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_unit.py\\
+Export determination: 6. \\
+Rationale: CHG:optimizing the number of patch we plot for 3D with python (only plotting an enveloppe)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#85} with diff file ISSM-21447-21448.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/miscellaneous/diagnostics.m\\
+Export determination: 6. \\
+Rationale: NEW: diagnostics, outputs diagnostic values of a model into qgis compatible routines.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#86} with diff file ISSM-21448-21449.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG: friction was always in 1D for SSA...\\
+\vspace{3em}
+
+\noindent \textbf{Change \#87} with diff file ISSM-21449-21450.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/cores/controlm1qn3\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: keep track of all cost functions\\
+\vspace{3em}
+
+\noindent \textbf{Change \#88} with diff file ISSM-21450-21451.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/cores/controlm1qn3\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: make size dynamic\\
+\vspace{3em}
+
+\noindent \textbf{Change \#89} with diff file ISSM-21451-21452.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/solutionsequences/solutionsequence\_nonlinear.cpp\\
+Export determination: 6. \\
+Rationale: CHG: number of iterations displayed is off\\
+\vspace{3em}
+
+\noindent \textbf{Change \#90} with diff file ISSM-21452-21453.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/mesh/bamg.m M /issm/trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m\\
+Export determination: 6. \\
+Rationale: CHG: add shape file option to mesh calls\\
+\vspace{3em}
+
+\noindent \textbf{Change \#91} with diff file ISSM-21453-21454.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/mesh/bamg.m\\
+Export determination: 6. \\
+Rationale: CHG: allow shapefiles for rits.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#92} with diff file ISSM-21454-21455.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/mesh/rifts/rifttipsonmesh.m\\
+Export determination: 6. \\
+Rationale: CHG: allow profiles to be shape files.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#93} with diff file ISSM-21455-21456.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/miscellaneous/diagnostics.m\\
+Export determination: 6. \\
+Rationale: CHG: more documentation and minor fixes.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#94} with diff file ISSM-21456-21457.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_contour.m\\
+Export determination: 6. \\
+Rationale: CHG: attempt at making it compatible with mesh3dsurface types.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#95} with diff file ISSM-21457-21458.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_contour.m\\
+Export determination: 6. \\
+Rationale: CHG: clabel revert.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#96} with diff file ISSM-21458-21459.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/slr.py\\
+Export determination: 6. \\
+Rationale: BUG: rotational parameters are introduced for python\\
+\vspace{3em}
+
+\noindent \textbf{Change \#97} with diff file ISSM-21459-21460.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/slr.py\\
+Export determination: 6. \\
+Rationale: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#98} with diff file ISSM-21460-21461.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/slr.js\\
+Export determination: 6. \\
+Rationale: CHG: rotational parameters introduced\\
+\vspace{3em}
+
+\noindent \textbf{Change \#99} with diff file ISSM-21461-21462.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/slr.py\\
+Export determination: 6. \\
+Rationale: BUG: fixing python comment\\
+\vspace{3em}
+
+\noindent \textbf{Change \#100} with diff file ISSM-21462-21463.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/slr.py\\
+Export determination: 6. \\
+Rationale: BUG: fixing python comment\\
+\vspace{3em}
+
+\noindent \textbf{Change \#101} with diff file ISSM-21463-21464.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp M /issm/trunk-jpl/src/c/cores/hydrology\_core.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/m/classes/hydrologysommers.m\\
+Export determination: 6. \\
+Rationale: NEW: Added under-relaxation capability and added basal flux as an output\\
+\vspace{3em}
+
+\noindent \textbf{Change \#102} with diff file ISSM-21464-21465.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: syncing enums\\
+\vspace{3em}
+
+\noindent \textbf{Change \#103} with diff file ISSM-21465-21466.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test513.m\\
+Export determination: 6. \\
+Rationale: CHG: added archive ./../Archives/Archive350.arch\\
+\vspace{3em}
+
+\noindent \textbf{Change \#104} with diff file ISSM-21466-21467.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive350.arch M /issm/trunk-jpl/test/NightlyRun/test513.m\\
+Export determination: 6. \\
+Rationale: CHG: added archive ./../Archives/Archive350.arch and reverted wrong change\\
+\vspace{3em}
+
+\noindent \textbf{Change \#105} with diff file ISSM-21467-21468.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/Elements/BuddJacka.cpp\\
+Export determination: 6. \\
+Rationale: BUG: case T>-1 was not covered\\
+\vspace{3em}
+
+\noindent \textbf{Change \#106} with diff file ISSM-21468-21469.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h M /issm/trunk-jpl/src/c/solutionsequences/solutionsequence\_hydro\_nonlinear.cpp\\
+Export determination: 6. \\
+Rationale: CHG:changes in efficient layer computations\\
+\vspace{3em}
+
+\noindent \textbf{Change \#107} with diff file ISSM-21469-21470.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp M /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp M /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp A /issm/trunk-jpl/src/m/classes/SMBgradientsela.m A /issm/trunk-jpl/src/m/classes/SMBgradientsela.py A /issm/trunk-jpl/test/Archives/Archive343.arch A /issm/trunk-jpl/test/Archives/Archive344.arch A /issm/trunk-jpl/test/NightlyRun/test343.m A /issm/trunk-jpl/test/NightlyRun/test344.m\\
+Export determination: 6. \\
+Rationale: NEW: added SMB gradients ela method\\
+\vspace{3em}
+
+\noindent \textbf{Change \#108} with diff file ISSM-21470-21471.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/SMBgradientsela.m\\
+Export determination: 6. \\
+Rationale: CHG: very minor typo in new SMB gradients ela class\\
+\vspace{3em}
+
+\noindent \textbf{Change \#109} with diff file ISSM-21471-21472.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/DofIndexing.cpp\\
+Export determination: 6. \\
+Rationale: CHG: better deepech of indexing\\
+\vspace{3em}
+
+\noindent \textbf{Change \#110} with diff file ISSM-21472-21473.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added support for SMB gradients ela\\
+\vspace{3em}
+
+\noindent \textbf{Change \#111} with diff file ISSM-21473-21474.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added parameters for SMB gradients ela method\\
+\vspace{3em}
+
+\noindent \textbf{Change \#112} with diff file ISSM-21474-21475.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp\\
+Export determination: 6. \\
+Rationale: CHG: corrected matlab parameters for SMB gradients and SMB gradients ela\\
+\vspace{3em}
+
+\noindent \textbf{Change \#113} with diff file ISSM-21475-21476.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_elementnumbering.py M /issm/trunk-jpl/src/m/plot/plot\_manager.py M /issm/trunk-jpl/src/m/plot/plot\_mesh.py M /issm/trunk-jpl/src/m/plot/plot\_vertexnumbering.py\\
+Export determination: 6. \\
+Rationale: CHG: changing vertex numbering to the matlab standard for consistency\\
+\vspace{3em}
+
+\noindent \textbf{Change \#114} with diff file ISSM-21476-21477.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp M /issm/trunk-jpl/src/c/solutionsequences/solutionsequence\_hydro\_nonlinear.cpp\\
+Export determination: 6. \\
+Rationale: CHG:Optimizing convergence\\
+\vspace{3em}
+
+\noindent \textbf{Change \#115} with diff file ISSM-21477-21478.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test102.py M /issm/trunk-jpl/test/NightlyRun/test333.py\\
+Export determination: 6. \\
+Rationale: BUG: comenting side computations\\
+\vspace{3em}
+
+\noindent \textbf{Change \#116} with diff file ISSM-21478-21479.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_elementnumbering.py M /issm/trunk-jpl/src/m/plot/plot\_vertexnumbering.py\\
+Export determination: 6. \\
+Rationale: CHG:prettyfying numbering plots\\
+\vspace{3em}
+
+\noindent \textbf{Change \#117} with diff file ISSM-21479-21480.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG:Making Nightly run great again\\
+\vspace{3em}
+
+\noindent \textbf{Change \#118} with diff file ISSM-21480-21481.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test332.m M /issm/trunk-jpl/test/NightlyRun/test332.py M /issm/trunk-jpl/test/NightlyRun/test333.m M /issm/trunk-jpl/test/NightlyRun/test333.py M /issm/trunk-jpl/test/NightlyRun/test334.m M /issm/trunk-jpl/test/NightlyRun/test334.py M /issm/trunk-jpl/test/NightlyRun/test335.m M /issm/trunk-jpl/test/NightlyRun/test335.py A /issm/trunk-jpl/test/Par/IceCube.par A /issm/trunk-jpl/test/Par/IceCube.py\\
+Export determination: 6. \\
+Rationale: CHG: fixing nightylies and adding an IceCube ParFile\\
+\vspace{3em}
+
+\noindent \textbf{Change \#119} with diff file ISSM-21481-21482.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG: applying enthalpy basal BCs on ice only can cause inconsistencies in fsets across partitions.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#120} with diff file ISSM-21482-21483.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Node.cpp\\
+Export determination: 6. \\
+Rationale: BUG: assert that node is active if you change its degrees of freedom\\
+\vspace{3em}
+
+\noindent \textbf{Change \#121} with diff file ISSM-21483-21484.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/windows\\
+Export determination: 6. \\
+Rationale: CHG: taking Gemb out of windows for now\\
+\vspace{3em}
+
+\noindent \textbf{Change \#122} with diff file ISSM-21484-21485.diff: \\
+Function name: \\
+M /issm/trunk-jpl/m4/issm\_options.m4 M /issm/trunk-jpl/src/c/Makefile.am A /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp A /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h M /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matice.h M /issm/trunk-jpl/src/c/classes/Node.cpp M /issm/trunk-jpl/src/c/classes/Node.h\\
+Export determination: 6. \\
+Rationale: NEW: adding AMR functionality, not working yet but structure in place\\
+\vspace{3em}
+
+\noindent \textbf{Change \#123} with diff file ISSM-21485-21486.diff: \\
+Function name: \\
+A /issm/trunk-jpl/externalpackages/neopz A /issm/trunk-jpl/externalpackages/neopz/install.sh\\
+Export determination: 6. \\
+Rationale: NEW: added neopz external package for AMR\\
+\vspace{3em}
+
+\noindent \textbf{Change \#124} with diff file ISSM-21486-21487.diff: \\
+Function name: \\
+M /issm/trunk-jpl/etc/environment.sh\\
+Export determination: 6. \\
+Rationale: CHG: added neopz env variable\\
+\vspace{3em}
+
+\noindent \textbf{Change \#125} with diff file ISSM-21487-21488.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h\\
+Export determination: 6. \\
+Rationale: CHG: cosmetics\\
+\vspace{3em}
+
+\noindent \textbf{Change \#126} with diff file ISSM-21488-21489.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG:putting colapse before open in EPL, fixing an index\\
+\vspace{3em}
+
+\noindent \textbf{Change \#127} with diff file ISSM-21489-21490.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG:minor change in opening conditions\\
+\vspace{3em}
+
+\noindent \textbf{Change \#128} with diff file ISSM-21490-21491.diff: \\
+Function name: \\
+M /issm/trunk-jpl/m4/issm\_options.m4 M /issm/trunk-jpl/src/c/Makefile.am M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: working on linking with neopz\\
+\vspace{3em}
+
+\noindent \textbf{Change \#129} with diff file ISSM-21491-21492.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h\\
+Export determination: 6. \\
+Rationale: CHG: add neopz variables definition\\
+\vspace{3em}
+
+\noindent \textbf{Change \#130} with diff file ISSM-21492-21493.diff: \\
+Function name: \\
+M /issm/trunk-jpl/etc/environment.sh\\
+Export determination: 6. \\
+Rationale: BUG: fixed refpatterns (neopz) path in etc/environment.h\\
+\vspace{3em}
+
+\noindent \textbf{Change \#131} with diff file ISSM-21493-21494.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/wrappers/matlab/Makefile.am\\
+Export determination: 6. \\
+Rationale: CHG: it was added neopz include (NEOPZINCL)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#132} with diff file ISSM-21494-21495.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h\\
+Export determination: 6. \\
+Rationale: CHG: cosmetics.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#133} with diff file ISSM-21495-21496.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/Makefile.am\\
+Export determination: 6. \\
+Rationale: CHG: neopz sources were added to libISSMModules\_la\_SOURCES.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#134} with diff file ISSM-21496-21497.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/wrappers/matlab/Makefile.am\\
+Export determination: 6. \\
+Rationale: CHG: neopz lib (NEOPZLIB) was added to Matlab libs (*\_matlab\_la\_LIBADD) .\\
+\vspace{3em}
+
+\noindent \textbf{Change \#135} with diff file ISSM-21497-21498.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: amr object added in FemModel.h (just CPU \#0 keeps it); initialization and delete processes added in FemModel.cpp.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#136} with diff file ISSM-21499-21500.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/model.m M /issm/trunk-jpl/src/m/classes/model.py\\
+Export determination: 6. \\
+Rationale: BUG: mesh.lat/long got overwritten during model collapse\\
+\vspace{3em}
+
+\noindent \textbf{Change \#137} with diff file ISSM-21500-21501.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG:removing restrictions on N computation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#138} with diff file ISSM-21501-21502.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/mesh3dprisms.m\\
+Export determination: 6. \\
+Rationale: CHG: relaxing geometry tolerances\\
+\vspace{3em}
+
+\noindent \textbf{Change \#139} with diff file ISSM-21502-21503.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/solve/loadresultsslm.m\\
+Export determination: 6. \\
+Rationale: CHG: new loadresults routine for slm models.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#140} with diff file ISSM-21503-21504.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h\\
+Export determination: 6. \\
+Rationale: CHG: adjusting methods in AdaptiveMeshRefinement (not working yet).\\
+\vspace{3em}
+
+\noindent \textbf{Change \#141} with diff file ISSM-21504-21505.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: adding methods in FemModel to generate new femmodel based on new mesh (adaptive mesh, not working yet).\\
+\vspace{3em}
+
+\noindent \textbf{Change \#142} with diff file ISSM-21505-21506.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test1501.m\\
+Export determination: 6. \\
+Rationale: CHG: update sawtooth test so that plotting works correctly\\
+\vspace{3em}
+
+\noindent \textbf{Change \#143} with diff file ISSM-21506-21507.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: changed basal water flux to be properly calculated over elements\\
+\vspace{3em}
+
+\noindent \textbf{Change \#144} with diff file ISSM-21507-21508.diff: \\
+Function name: \\
+A /issm/trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh\\
+Export determination: 6. \\
+Rationale: CHG: added new version\\
+\vspace{3em}
+
+\noindent \textbf{Change \#145} with diff file ISSM-21508-21509.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp M /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h M /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp M /issm/trunk-jpl/src/c/classes/Params/Param.h M /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added and improved Echo and DeepEcho in Matice, Matpar, Param, Parameters, ElementHook.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#146} with diff file ISSM-21509-21510.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Node.cpp\\
+Export determination: 6. \\
+Rationale: BUG: fixed an if verification (a double \&\& was missing).\\
+\vspace{3em}
+
+\noindent \textbf{Change \#147} with diff file ISSM-21510-21511.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp M /issm/trunk-jpl/src/c/solutionsequences/solutionsequence\_linear.cpp M /issm/trunk-jpl/src/m/classes/settings.js M /issm/trunk-jpl/src/m/classes/settings.m M /issm/trunk-jpl/src/m/classes/settings.py\\
+Export determination: 6. \\
+Rationale: NEW: remove solver residual hard code from solutionsequence\_linear\\
+\vspace{3em}
+
+\noindent \textbf{Change \#148} with diff file ISSM-21511-21512.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp\\
+Export determination: 6. \\
+Rationale: BUG: Echo() and DeepEcho() from 2 attributes were commented in Matice to avoid recursion.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#149} with diff file ISSM-21512-21513.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp\\
+Export determination: 6. \\
+Rationale: CHG: improved Echo() and DeepEcho() in ElementHook.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#150} with diff file ISSM-21513-21514.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp\\
+Export determination: 6. \\
+Rationale: NEW: added a method to get inputs interpolation.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#151} with diff file ISSM-21514-21515.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.h\\
+Export determination: 6. \\
+Rationale: NEW: added a method to get inputs interpolation.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#152} with diff file ISSM-21515-21516.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: changed the Options check.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#153} with diff file ISSM-21516-21517.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/Makefile.am M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: in FemModel.h and FemModel.cpp, changes and improvements in some AMR methods (adaptative mesh refinement). NOTE: not working yet. In Makefile.am, InterpFromMeshToMesh2dx.cpp was moved to issm\_cores.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#154} with diff file ISSM-21517-21518.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG: changes in AMR methods. NOTE: not working yet.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#155} with diff file ISSM-21518-21519.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added some changes for P1 interpolation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#156} with diff file ISSM-21519-21520.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: BUG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#157} with diff file ISSM-21520-21521.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#158} with diff file ISSM-21521-21522.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp M /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h M /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp M /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h\\
+Export determination: 6. \\
+Rationale: CHG: added average method\\
+\vspace{3em}
+
+\noindent \textbf{Change \#159} with diff file ISSM-21522-21523.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#160} with diff file ISSM-21523-21524.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: BUG: changes in AMR methods.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#161} with diff file ISSM-21524-21525.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: changes in AMR methods: added new method to get mesh by femmodel; changes in InterpolateInputs (NOTE: AMR not working yet).\\
+\vspace{3em}
+
+\noindent \textbf{Change \#162} with diff file ISSM-21525-21526.diff: \\
+Function name: \\
+M /issm/trunk-jpl/m4/issm\_options.m4 M /issm/trunk-jpl/src/c/Makefile.am A /issm/trunk-jpl/src/c/main/issm\_ocean.cpp\\
+Export determination: 6. \\
+Rationale: NEW: starting to work on ocean coupling\\
+\vspace{3em}
+
+\noindent \textbf{Change \#163} with diff file ISSM-21526-21527.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp M /issm/trunk-jpl/src/m/classes/hydrologysommers.m\\
+Export determination: 6. \\
+Rationale: NEW:Added englacial storage term to subglacial hydrology model\\
+\vspace{3em}
+
+\noindent \textbf{Change \#164} with diff file ISSM-21527-21528.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/applyoptions.m\\
+Export determination: 6. \\
+Rationale: CHG: removed duplicated option\\
+\vspace{3em}
+
+\noindent \textbf{Change \#165} with diff file ISSM-21528-21529.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: changes in AMR methods (in FemModel) and in AdaptiveMeshRefinement class. Cleanup done and parallel tested (ReMesh method, simple example). AMR not working yet.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#166} with diff file ISSM-21529-21530.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/Makefile.am M /issm/trunk-jpl/src/c/analyses/EnumToAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/analyses.h M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/Elements/Seg.h M /issm/trunk-jpl/src/c/classes/Elements/Tetra.h M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/classes/Elements/Tria.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h M /issm/trunk-jpl/src/c/classes/classes.h M /issm/trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp M /issm/trunk-jpl/src/c/cores/cores.h M /issm/trunk-jpl/src/c/cores/transient\_core.cpp M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp M /issm/trunk-jpl/src/c/modules/modules.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: Gia model is now named GiaIvins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#167} with diff file ISSM-21530-21531.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/Makefile.am M /issm/trunk-jpl/src/m/classes/geometry.js M /issm/trunk-jpl/src/m/classes/geometry.m M /issm/trunk-jpl/src/m/classes/geometry.py M /issm/trunk-jpl/src/m/classes/matdamageice.m M /issm/trunk-jpl/src/m/classes/matdamageice.py M /issm/trunk-jpl/src/m/classes/matenhancedice.m M /issm/trunk-jpl/src/m/classes/matestar.m M /issm/trunk-jpl/src/m/classes/matice.js M /issm/trunk-jpl/src/m/classes/matice.m M /issm/trunk-jpl/src/m/classes/matice.py M /issm/trunk-jpl/src/m/classes/model.js M /issm/trunk-jpl/src/m/classes/model.m M /issm/trunk-jpl/src/m/classes/model.py M /issm/trunk-jpl/src/m/classes/slr.m M /issm/trunk-jpl/src/m/classes/trans.js M /issm/trunk-jpl/src/m/classes/transient.m M /issm/trunk-jpl/src/m/classes/transient.py M /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.js M /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m M /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py M /issm/trunk-jpl/src/m/solve/solve.js M /issm/trunk-jpl/src/m/solve/solve.m M /issm/trunk-jpl/src/m/solve/solve.py\\
+Export determination: 6. \\
+Rationale: CHG: Gia model is now named GiaIvins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#168} with diff file ISSM-21531-21532.diff: \\
+Function name: \\
+D /issm/trunk-jpl/src/m/classes/gia.js D /issm/trunk-jpl/src/m/classes/gia.m D /issm/trunk-jpl/src/m/classes/gia.py A /issm/trunk-jpl/src/m/classes/giaivins.js A /issm/trunk-jpl/src/m/classes/giaivins.m A /issm/trunk-jpl/src/m/classes/giaivins.py\\
+Export determination: 6. \\
+Rationale: CHG: Gia model is now called GiaIvins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#169} with diff file ISSM-21532-21533.diff: \\
+Function name: \\
+D /issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp D /issm/trunk-jpl/src/c/analyses/GiaAnalysis.h A /issm/trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp A /issm/trunk-jpl/src/c/analyses/GiaIvinsAnalysis.h D /issm/trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h A /issm/trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h D /issm/trunk-jpl/src/c/cores/gia\_core.cpp A /issm/trunk-jpl/src/c/cores/giaivins\_core.cpp D /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps/.dirstamp A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps/libISSMCore\_la-GiaIvinsDeflectionCorex.Plo A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.dirstamp A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.cpp A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/GiaIvinsDeflectionCorex.h A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/distme.f A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/freed.f A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/ojrule.f A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/pwise.f A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/qwise.f A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/stot.f A /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/what0.f\\
+Export determination: 6. \\
+Rationale: CHG: Gia model is now called GiaIvins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#170} with diff file ISSM-21533-21534.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test2001.m M /issm/trunk-jpl/test/NightlyRun/test2001.py M /issm/trunk-jpl/test/NightlyRun/test2051.m M /issm/trunk-jpl/test/NightlyRun/test2052.m M /issm/trunk-jpl/test/NightlyRun/test2053.m M /issm/trunk-jpl/test/NightlyRun/test2071.m M /issm/trunk-jpl/test/NightlyRun/test2072.m M /issm/trunk-jpl/test/NightlyRun/test2073.m M /issm/trunk-jpl/test/NightlyRun/test2081.m M /issm/trunk-jpl/test/NightlyRun/test2082.m M /issm/trunk-jpl/test/NightlyRun/test2083.m D /issm/trunk-jpl/test/Par/GiaBenchmarksAB.par D /issm/trunk-jpl/test/Par/GiaBenchmarksCD.par A /issm/trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par A /issm/trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par M /issm/trunk-jpl/test/Par/SquareSheetConstrained.par M /issm/trunk-jpl/test/Par/SquareSheetConstrained.py\\
+Export determination: 6. \\
+Rationale: CHG: Nightly updated for GiaIvins model\\
+\vspace{3em}
+
+\noindent \textbf{Change \#171} with diff file ISSM-21534-21535.diff: \\
+Function name: \\
+M /issm/trunk-jpl/m4/analyses.m4\\
+Export determination: 6. \\
+Rationale: CHG: sync update\\
+\vspace{3em}
+
+\noindent \textbf{Change \#172} with diff file ISSM-21535-21536.diff: \\
+Function name: \\
+D /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.deps D /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex/.dirstamp\\
+Export determination: 6. \\
+Rationale: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#173} with diff file ISSM-21536-21537.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par M /issm/trunk-jpl/test/Par/ValleyGlacierShelf.py\\
+Export determination: 6. \\
+Rationale: FIX: name changed from gia to giaivins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#174} with diff file ISSM-21537-21538.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test801.m M /issm/trunk-jpl/test/NightlyRun/test801.py M /issm/trunk-jpl/test/NightlyRun/test802.m M /issm/trunk-jpl/test/NightlyRun/test802.py M /issm/trunk-jpl/test/NightlyRun/test803.m M /issm/trunk-jpl/test/NightlyRun/test803.py M /issm/trunk-jpl/test/NightlyRun/test804.m M /issm/trunk-jpl/test/NightlyRun/test804.py M /issm/trunk-jpl/test/NightlyRun/test805.m M /issm/trunk-jpl/test/NightlyRun/test805.py M /issm/trunk-jpl/test/NightlyRun/test806.m M /issm/trunk-jpl/test/NightlyRun/test806.py M /issm/trunk-jpl/test/NightlyRun/test807.m M /issm/trunk-jpl/test/NightlyRun/test807.py M /issm/trunk-jpl/test/NightlyRun/test808.m\\
+Export determination: 6. \\
+Rationale: FIX: name changed from gia to giavins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#175} with diff file ISSM-21538-21539.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/chaco/chaco\_njs\_notes.txt A /issm/trunk-jpl/externalpackages/chaco/install-macosx64-sierra.sh A /issm/trunk-jpl/externalpackages/chaco/patches/Makefile.macosx64-sierra.patch\\
+Export determination: 6. \\
+Rationale: CHG: add a sierra install option because malloc.h does not exist\\
+\vspace{3em}
+
+\noindent \textbf{Change \#176} with diff file ISSM-21539-21540.diff: \\
+Function name: \\
+A /issm/trunk-jpl/externalpackages/git/install-macosx64-sierra.sh\\
+Export determination: 6. \\
+Rationale: CHG: force include directory for openssl\\
+\vspace{3em}
+
+\noindent \textbf{Change \#177} with diff file ISSM-21540-21541.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: changes in AMR methods, minor. (NOTE: AMR not working yet)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#178} with diff file ISSM-21541-21542.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/cores/transient\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#179} with diff file ISSM-21542-21543.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp M /issm/trunk-jpl/src/c/classes/IoModel.cpp M /issm/trunk-jpl/src/m/classes/thermal.m M /issm/trunk-jpl/src/m/classes/thermal.py\\
+Export determination: 6. \\
+Rationale: NEW: added Higher order finite elements for enthalpy\\
+\vspace{3em}
+
+\noindent \textbf{Change \#180} with diff file ISSM-21543-21544.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/classes/frictionjosh.m\\
+Export determination: 6. \\
+Rationale: NEW: added friction class for josh\\
+\vspace{3em}
+
+\noindent \textbf{Change \#181} with diff file ISSM-21544-21545.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/model.m A /issm/trunk-jpl/src/m/classes/oldclasses/gia.m\\
+Export determination: 6. \\
+Rationale: BUG: keep old gia class\\
+\vspace{3em}
+
+\noindent \textbf{Change \#182} with diff file ISSM-21545-21546.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/model.m\\
+Export determination: 6. \\
+Rationale: CHG: need to add new solver residue that's non zero\\
+\vspace{3em}
+
+\noindent \textbf{Change \#183} with diff file ISSM-21546-21547.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: use IoModelToConstrain to create spcs\\
+\vspace{3em}
+
+\noindent \textbf{Change \#184} with diff file ISSM-21547-21548.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG: enthalpy is dof 0\\
+\vspace{3em}
+
+\noindent \textbf{Change \#185} with diff file ISSM-21548-21549.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: NEW: enable dynamic spcs for enthalpy model (required for PDD scheme)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#186} with diff file ISSM-21549-21550.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/cores/transient\_core.cpp\\
+Export determination: 6. \\
+Rationale: BUG: fixing enthalpy spc bug\\
+\vspace{3em}
+
+\noindent \textbf{Change \#187} with diff file ISSM-21550-21551.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added enthalpy update in PDD scheme\\
+\vspace{3em}
+
+\noindent \textbf{Change \#188} with diff file ISSM-21551-21552.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp M /issm/trunk-jpl/src/c/classes/Loads/Friction.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp M /issm/trunk-jpl/src/m/classes/frictionjosh.m\\
+Export determination: 6. \\
+Rationale: CHG: implementing friction josh\\
+\vspace{3em}
+
+\noindent \textbf{Change \#189} with diff file ISSM-21552-21553.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/dev/issmversion.m M /issm/trunk-jpl/src/m/dev/issmversion.py\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#190} with diff file ISSM-21553-21554.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added support for P1xP2 dynamic constraints\\
+\vspace{3em}
+
+\noindent \textbf{Change \#191} with diff file ISSM-21554-21555.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\\
+Export determination: 6. \\
+Rationale: BUG: could not compile\\
+\vspace{3em}
+
+\noindent \textbf{Change \#192} with diff file ISSM-21555-21556.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#193} with diff file ISSM-21556-21557.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added friction law to enthalpy\\
+\vspace{3em}
+
+\noindent \textbf{Change \#194} with diff file ISSM-21557-21558.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp\\
+Export determination: 6. \\
+Rationale: BUG: break, do not return\\
+\vspace{3em}
+
+\noindent \textbf{Change \#195} with diff file ISSM-21558-21559.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#196} with diff file ISSM-21559-21560.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#197} with diff file ISSM-21560-21561.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: BUG: wrong type of spc\\
+\vspace{3em}
+
+\noindent \textbf{Change \#198} with diff file ISSM-21561-21562.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp\\
+Export determination: 6. \\
+Rationale: CHG: cleanup\\
+\vspace{3em}
+
+\noindent \textbf{Change \#199} with diff file ISSM-21562-21563.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/cores/transient\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: changes in AMR methods. Inserting refinement process in transiente\_core. (NOTE: AMR not working yet)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#200} with diff file ISSM-21563-21564.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixed memory leak\\
+\vspace{3em}
+
+\noindent \textbf{Change \#201} with diff file ISSM-21564-21565.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#202} with diff file ISSM-21565-21566.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#203} with diff file ISSM-21566-21567.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/windows\\
+Export determination: 6. \\
+Rationale: FIX: Changed without Gia to GiaIvins.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#204} with diff file ISSM-21568-21569.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/vilje.py M /issm/trunk-jpl/src/m/contrib/defleurian/paraview/exportVTK.py M /issm/trunk-jpl/src/m/io/loadvars.py\\
+Export determination: 6. \\
+Rationale: CHG:minor typo fix\\
+\vspace{3em}
+
+\noindent \textbf{Change \#205} with diff file ISSM-21569-21570.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/adjoinablempi/install.sh M /issm/trunk-jpl/src/c/solutionsequences/solutionsequence\_linear.cpp\\
+Export determination: 6. \\
+Rationale: FIX: Fixing 'isnan' issue in AD and Getting a Specific Version of Adjoinable MPI\\
+\vspace{3em}
+
+\noindent \textbf{Change \#206} with diff file ISSM-21570-21571.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/solutionsequences/solutionsequence\_linear.cpp\\
+Export determination: 6. \\
+Rationale: CHG: Using xIsNan instead!\\
+\vspace{3em}
+
+\noindent \textbf{Change \#207} with diff file ISSM-21571-21572.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/linux64\_ross\_ad M /issm/trunk-jpl/jenkins/linux64\_ross\_ampi\\
+Export determination: 6. \\
+Rationale: CHG: Changing options from Gia to GiaIvins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#208} with diff file ISSM-21572-21573.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: changing the if condition for a Heavyside approximation for the shift from confined to unconfined storage\\
+\vspace{3em}
+
+\noindent \textbf{Change \#209} with diff file ISSM-21573-21574.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h M /issm/trunk-jpl/src/c/cores/transient\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: changes in FemModel->ReMesh (now it just sets elements, vertices, nodes, constrains and materials). Changes in refpattern file names. NOTE: AMR not working yet.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#210} with diff file ISSM-21574-21575.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp\\
+Export determination: 6. \\
+Rationale: BUG: fixed a bug in CreateConstaints (adaptive mesh refinement method): bad use of Vector<IssmDouble>. NOTE: AMR not working yet\\
+\vspace{3em}
+
+\noindent \textbf{Change \#211} with diff file ISSM-21575-21576.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/mesh2d.py\\
+Export determination: 6. \\
+Rationale: BUG:effectively marshaling segments\\
+\vspace{3em}
+
+\noindent \textbf{Change \#212} with diff file ISSM-21576-21577.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/acenet.m M /issm/trunk-jpl/src/m/classes/clusters/camhpc.m M /issm/trunk-jpl/src/m/classes/clusters/castor.m M /issm/trunk-jpl/src/m/classes/clusters/cloud.m M /issm/trunk-jpl/src/m/classes/clusters/cosmos.m M /issm/trunk-jpl/src/m/classes/clusters/cyclone.py M /issm/trunk-jpl/src/m/classes/clusters/discover.m M /issm/trunk-jpl/src/m/classes/clusters/gemini.m M /issm/trunk-jpl/src/m/classes/clusters/generic.m M /issm/trunk-jpl/src/m/classes/clusters/generic.py M /issm/trunk-jpl/src/m/classes/clusters/generic\_static.m M /issm/trunk-jpl/src/m/classes/clusters/greenplanet.m M /issm/trunk-jpl/src/m/classes/clusters/hexagon.py M /issm/trunk-jpl/src/m/classes/clusters/hpc.m M /issm/trunk-jpl/src/m/classes/clusters/lonestar.m M /issm/trunk-jpl/src/m/classes/clusters/pfe.m M /issm/trunk-jpl/src/m/classes/clusters/pfe.py M /issm/trunk-jpl/src/m/classes/clusters/pollux.m M /issm/trunk-jpl/src/m/classes/clusters/raijin.m M /issm/trunk-jpl/src/m/classes/clusters/vilje.m M /issm/trunk-jpl/src/m/classes/clusters/vilje.py M /issm/trunk-jpl/src/m/classes/transient.m M /issm/trunk-jpl/src/m/classes/transient.py M /issm/trunk-jpl/src/m/solve/solve.m M /issm/trunk-jpl/src/m/solve/solve.py\\
+Export determination: 6. \\
+Rationale: NEW: adding issm\_ocean in solve\\
+\vspace{3em}
+
+\noindent \textbf{Change \#213} with diff file ISSM-21577-21578.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.h A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/distme.f A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/freed.f A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/ojrule.f A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/pwise.f A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/qwise.f A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/stot.f A /issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/what0.f D /issm/trunk-jpl/src/c/modules/GiaIvinsDeflectionCorex M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp M /issm/trunk-jpl/src/c/modules/modules.h\\
+Export determination: 6. \\
+Rationale: CHG: GiaIvins switched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#214} with diff file ISSM-21578-21579.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/Elements/Seg.h M /issm/trunk-jpl/src/c/classes/Elements/Tetra.h M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/classes/Elements/Tria.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h A /issm/trunk-jpl/src/c/classes/GiaDeflectionCoreArgs.h D /issm/trunk-jpl/src/c/classes/GiaIvinsDeflectionCoreArgs.h M /issm/trunk-jpl/src/c/classes/classes.h\\
+Export determination: 6. \\
+Rationale: CHG: GiaIvins is switched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#215} with diff file ISSM-21579-21580.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp M /issm/trunk-jpl/src/c/cores/cores.h A /issm/trunk-jpl/src/c/cores/gia\_core.cpp D /issm/trunk-jpl/src/c/cores/giaivins\_core.cpp M /issm/trunk-jpl/src/c/cores/transient\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: switched back to Gia from GiaIvins\\
+\vspace{3em}
+
+\noindent \textbf{Change \#216} with diff file ISSM-21580-21581.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test2001.m M /issm/trunk-jpl/test/NightlyRun/test2001.py M /issm/trunk-jpl/test/NightlyRun/test2002.m M /issm/trunk-jpl/test/NightlyRun/test2051.m M /issm/trunk-jpl/test/NightlyRun/test2052.m M /issm/trunk-jpl/test/NightlyRun/test2053.m M /issm/trunk-jpl/test/NightlyRun/test2071.m M /issm/trunk-jpl/test/NightlyRun/test2072.m M /issm/trunk-jpl/test/NightlyRun/test2073.m M /issm/trunk-jpl/test/NightlyRun/test2081.m M /issm/trunk-jpl/test/NightlyRun/test2082.m M /issm/trunk-jpl/test/NightlyRun/test2083.m\\
+Export determination: 6. \\
+Rationale: CHG: GiaIvins switched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#217} with diff file ISSM-21581-21582.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Par/GiaIvinsBenchmarksAB.par M /issm/trunk-jpl/test/Par/GiaIvinsBenchmarksCD.par\\
+Export determination: 6. \\
+Rationale: CHG: GiaIvins switched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#218} with diff file ISSM-21582-21583.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/solve/solve.py\\
+Export determination: 6. \\
+Rationale: FIX: looks like typo isdakotai should be is isdakota\\
+\vspace{3em}
+
+\noindent \textbf{Change \#219} with diff file ISSM-21583-21584.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/Makefile.am M /issm/trunk-jpl/src/c/analyses/GiaIvinsAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/Elements/Seg.h M /issm/trunk-jpl/src/c/classes/Elements/Tetra.h M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/classes/Elements/Tria.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h M /issm/trunk-jpl/src/c/cores/CorePointerFromSolutionEnum.cpp M /issm/trunk-jpl/src/c/cores/transient\_core.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: GiaIvins switched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#220} with diff file ISSM-21584-21585.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/geometry.js M /issm/trunk-jpl/src/m/classes/geometry.m M /issm/trunk-jpl/src/m/classes/geometry.py M /issm/trunk-jpl/src/m/classes/giaivins.js M /issm/trunk-jpl/src/m/classes/giaivins.m M /issm/trunk-jpl/src/m/classes/giaivins.py M /issm/trunk-jpl/src/m/classes/model.js M /issm/trunk-jpl/src/m/classes/model.m M /issm/trunk-jpl/src/m/classes/model.py M /issm/trunk-jpl/src/m/classes/trans.js M /issm/trunk-jpl/src/m/classes/transient.m M /issm/trunk-jpl/src/m/classes/transient.py M /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.js M /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m M /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py M /issm/trunk-jpl/src/m/solve/solve.js M /issm/trunk-jpl/src/m/solve/solve.m M /issm/trunk-jpl/src/m/solve/solve.py\\
+Export determination: 6. \\
+Rationale: CHG:GiaIvins switched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#221} with diff file ISSM-21585-21586.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test2001.m M /issm/trunk-jpl/test/NightlyRun/test2001.py M /issm/trunk-jpl/test/NightlyRun/test2052.m M /issm/trunk-jpl/test/NightlyRun/test2053.m M /issm/trunk-jpl/test/NightlyRun/test2071.m M /issm/trunk-jpl/test/NightlyRun/test2072.m M /issm/trunk-jpl/test/NightlyRun/test2073.m M /issm/trunk-jpl/test/NightlyRun/test2081.m M /issm/trunk-jpl/test/NightlyRun/test2082.m M /issm/trunk-jpl/test/NightlyRun/test2083.m M /issm/trunk-jpl/test/NightlyRun/test801.m M /issm/trunk-jpl/test/NightlyRun/test801.py M /issm/trunk-jpl/test/NightlyRun/test802.m M /issm/trunk-jpl/test/NightlyRun/test802.py M /issm/trunk-jpl/test/NightlyRun/test803.m M /issm/trunk-jpl/test/NightlyRun/test803.py M /issm/trunk-jpl/test/NightlyRun/test804.m M /issm/trunk-jpl/test/NightlyRun/test804.py M /issm/trunk-jpl/test/NightlyRun/test805.m M /issm/trunk-jpl/test/NightlyRun/test805.py M /issm/trunk-jpl/test/NightlyRun/test806.m M /issm/trunk-jpl/test/NightlyRun/test806.py M /issm/trunk-jpl/test/NightlyRun/test807.m M /issm/trunk-jpl/test/NightlyRun/test807.py M /issm/trunk-jpl/test/NightlyRun/test808.m M /issm/trunk-jpl/test/Par/SquareSheetConstrained.par M /issm/trunk-jpl/test/Par/SquareSheetConstrained.py M /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par M /issm/trunk-jpl/test/Par/ValleyGlacierShelf.py\\
+Export determination: 6. \\
+Rationale: CHG: GiaIvins swtiched back to Gia\\
+\vspace{3em}
+
+\noindent \textbf{Change \#222} with diff file ISSM-21586-21587.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp M /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added P1xP3 specific functions\\
+\vspace{3em}
+
+\noindent \textbf{Change \#223} with diff file ISSM-21587-21588.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added spc dynamic for P1xP3\\
+\vspace{3em}
+
+\noindent \textbf{Change \#224} with diff file ISSM-21588-21589.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_BC.py M /issm/trunk-jpl/src/m/plot/plot\_icefront.py M /issm/trunk-jpl/src/m/plot/plot\_mesh.py\\
+Export determination: 6. \\
+Rationale: CHG:bug fix and adding Hydro BC plotting\\
+\vspace{3em}
+
+\noindent \textbf{Change \#225} with diff file ISSM-21589-21590.diff: \\
+Function name: \\
+A /issm/trunk-jpl/externalpackages/pcatool A /issm/trunk-jpl/externalpackages/pcatool/install A /issm/trunk-jpl/externalpackages/pcatool/install/Contents.m A /issm/trunk-jpl/externalpackages/pcatool/install/calCeof.m A /issm/trunk-jpl/externalpackages/pcatool/install/calEeof.m A /issm/trunk-jpl/externalpackages/pcatool/install/caleof.m A /issm/trunk-jpl/externalpackages/pcatool/install/calsvd.m A /issm/trunk-jpl/externalpackages/pcatool/install/calsvd2.m A /issm/trunk-jpl/externalpackages/pcatool/install/confexpvar.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispCEOF.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispEEOF.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispEEOF\_v2.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispEOF.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispSVD.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispSVDlag.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispSVDnb.m A /issm/trunk-jpl/externalpackages/pcatool/install/dispSVDnbc.m A /issm/trunk-jpl/externalpackages/pcatool/install/license.txt A /issm/trunk-jpl/externalpackages/pcatool/install/map2mat.m A /issm/trunk-jpl/externalpackages/pcatool/install/mat2map.m A /issm/trunk-jpl/externalpackages/pcatool/install/plotm.m A /issm/trunk-jpl/externalpackages/pcatool/install/test\_pcatool.m A /issm/trunk-jpl/externalpackages/pcatool/install.sh A /issm/trunk-jpl/externalpackages/pcatool/pcatool.tar.gz\\
+Export determination: 6. \\
+Rationale: CHG: new pcatool for EOF analysis.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#226} with diff file ISSM-21590-21591.diff: \\
+Function name: \\
+D /issm/trunk-jpl/externalpackages/pcatool/install\\
+Export determination: 6. \\
+Rationale: CHG: not needed, in the tarball.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#227} with diff file ISSM-21591-21592.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/frictioncoulomb.py\\
+Export determination: 6. \\
+Rationale: BUG: friction coulomb was marshalled as a viscous friction\\
+\vspace{3em}
+
+\noindent \textbf{Change \#228} with diff file ISSM-21592-21593.diff: \\
+Function name: \\
+M /issm/trunk-jpl/packagers/macosx/package.sh M /issm/trunk-jpl/packagers/macosx-dakota/package.sh M /issm/trunk-jpl/packagers/ubuntu/package.sh\\
+Export determination: 6. \\
+Rationale: CHG: need scripts as well to download data needed by examples\\
+\vspace{3em}
+
+\noindent \textbf{Change \#229} with diff file ISSM-21594-21595.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/classes/giacaron.m\\
+Export determination: 6. \\
+Rationale: CHG: new Caron GIA class\\
+\vspace{3em}
+
+\noindent \textbf{Change \#230} with diff file ISSM-21595-21596.diff: \\
+Function name: \\
+M /issm/trunk-jpl/packagers/macosx/package.sh M /issm/trunk-jpl/packagers/macosx-dakota/package.sh M /issm/trunk-jpl/packagers/ubuntu/package.sh\\
+Export determination: 6. \\
+Rationale: CHG: we actually don't need scripts'\\
+\vspace{3em}
+
+\noindent \textbf{Change \#231} with diff file ISSM-21596-21597.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/adjoinablempi/install-macosx64.sh M /issm/trunk-jpl/externalpackages/adjoinablempi/install-pleaides-gcc.sh M /issm/trunk-jpl/externalpackages/adjoinablempi/install-pleaides.sh M /issm/trunk-jpl/externalpackages/adjoinablempi/install.sh M /issm/trunk-jpl/externalpackages/adolc/install-withampi-macosx64.sh M /issm/trunk-jpl/externalpackages/adolc/install-withampi-pleiades-gcc.sh M /issm/trunk-jpl/externalpackages/adolc/install-withampi-pleiades.sh M /issm/trunk-jpl/externalpackages/adolc/install-withampi.sh M /issm/trunk-jpl/externalpackages/adolc/install.sh\\
+Export determination: 6. \\
+Rationale: CHG: ADOL-C and AdjoinableMPI now using archived code\\
+\vspace{3em}
+
+\noindent \textbf{Change \#232} with diff file ISSM-21597-21598.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#233} with diff file ISSM-21598-21599.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: catch empty strings coming in!\\
+\vspace{3em}
+
+\noindent \textbf{Change \#234} with diff file ISSM-21600-21601.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp M /issm/trunk-jpl/src/m/classes/frictionjosh.m\\
+Export determination: 6. \\
+Rationale: CHG: added gamma as a parameter to frictionjosh\\
+\vspace{3em}
+
+\noindent \textbf{Change \#235} with diff file ISSM-21603-21604.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: BUG: do not error out if string is empty\\
+\vspace{3em}
+
+\noindent \textbf{Change \#236} with diff file ISSM-21604-21605.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive408.arch M /issm/trunk-jpl/test/NightlyRun/test408.m M /issm/trunk-jpl/test/NightlyRun/test408.py\\
+Export determination: 6. \\
+Rationale: NEW: changed NR test408 to coulomb friction law\\
+\vspace{3em}
+
+\noindent \textbf{Change \#237} with diff file ISSM-21607-21608.diff: \\
+Function name: \\
+M /issm/trunk-jpl/examples/Jakobshavn/runme.m M /issm/trunk-jpl/examples/Pig/runme.m\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#238} with diff file ISSM-21609-21610.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/os/sessionname.m\\
+Export determination: 6. \\
+Rationale: CHG: get screen session name in matlab, handy to key off organizer from screen session name.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#239} with diff file ISSM-21610-21611.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test408.py\\
+Export determination: 6. \\
+Rationale: FIX: Incorrect reference to numpy when it is imported as np.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#240} with diff file ISSM-21611-21612.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_icefront.py M /issm/trunk-jpl/src/m/plot/plot\_unit.py\\
+Export determination: 6. \\
+Rationale: BUG:fixing segmentation fault with masked NaNs\\
+\vspace{3em}
+
+\noindent \textbf{Change \#241} with diff file ISSM-21612-21613.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test408.py\\
+Export determination: 6. \\
+Rationale: BUG: fixed vector length in python\\
+\vspace{3em}
+
+\noindent \textbf{Change \#242} with diff file ISSM-21613-21614.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test408.py\\
+Export determination: 6. \\
+Rationale: BUG: need to do a hard copy\\
+\vspace{3em}
+
+\noindent \textbf{Change \#243} with diff file ISSM-21614-21615.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/runme.py M /issm/trunk-jpl/test/NightlyRun/test1601.py M /issm/trunk-jpl/test/NightlyRun/test1602.py M /issm/trunk-jpl/test/NightlyRun/test201.py\\
+Export determination: 6. \\
+Rationale: BUG: fixing tests 1601, 1602 and adding referential in the python runme possibilities\\
+\vspace{3em}
+
+\noindent \textbf{Change \#244} with diff file ISSM-21615-21616.diff: \\
+Function name: \\
+M /issm/trunk-jpl/m4/issm\_options.m4 M /issm/trunk-jpl/src/c/classes/IoModel.cpp M /issm/trunk-jpl/src/c/shared/MemOps/MemOps.cpp M /issm/trunk-jpl/src/c/shared/MemOps/MemOps.h M /issm/trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp M /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h M /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h M /issm/trunk-jpl/src/c/toolkits/mumps/MumpsSolve.cpp\\
+Export determination: 6. \\
+Rationale: CHG: limiting use of ensurecontiguous calls in the context of AD builds. xNew has a second parameter only in AD builds that will determine whether ensurecontiguous is called or not. A default value is used so that only when ensurecontiguous is needed do we have to provide a second argument.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#245} with diff file ISSM-21616-21617.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/tclx/install.sh\\
+Export determination: 6. \\
+Rationale: CHG: some minor changes to path.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#246} with diff file ISSM-21617-21618.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/modules/install-macosx64.sh\\
+Export determination: 6. \\
+Rationale: CHG: minor changes to install process.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#247} with diff file ISSM-21619-21620.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_contour.m\\
+Export determination: 6. \\
+Rationale: BUG: plot contour even if less than 5000 long\\
+\vspace{3em}
+
+\noindent \textbf{Change \#248} with diff file ISSM-21620-21621.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/Elements/Seg.h M /issm/trunk-jpl/src/c/classes/Elements/Tetra.h M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/classes/Elements/Tria.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp M /issm/trunk-jpl/src/m/classes/esa.m\\
+Export determination: 6. \\
+Rationale: CHG: compute strain rate and vorticity tensor in 2D ESA model\\
+\vspace{3em}
+
+\noindent \textbf{Change \#249} with diff file ISSM-21621-21622.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test2110.m\\
+Export determination: 6. \\
+Rationale: CHG: Nightly updated for ESA strain rate and vorticity computations\\
+\vspace{3em}
+
+\noindent \textbf{Change \#250} with diff file ISSM-21622-21623.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive2110.arch\\
+Export determination: 6. \\
+Rationale: CHG: archive updated for ESA strain rate and vorticity tensor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#251} with diff file ISSM-21623-21624.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/Makefile.am M /issm/trunk-jpl/src/c/bamg/BamgMesh.cpp M /issm/trunk-jpl/src/c/bamg/BamgMesh.h M /issm/trunk-jpl/src/c/bamg/BamgQuadtree.cpp M /issm/trunk-jpl/src/c/bamg/BamgQuadtree.h M /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp M /issm/trunk-jpl/src/c/bamg/BamgVertex.h D /issm/trunk-jpl/src/c/bamg/Direction.cpp D /issm/trunk-jpl/src/c/bamg/Direction.h D /issm/trunk-jpl/src/c/bamg/DoubleAndInt.h M /issm/trunk-jpl/src/c/bamg/EigenMetric.cpp M /issm/trunk-jpl/src/c/bamg/Geometry.cpp M /issm/trunk-jpl/src/c/bamg/Mesh.cpp M /issm/trunk-jpl/src/c/bamg/Mesh.h M /issm/trunk-jpl/src/c/bamg/Metric.cpp M /issm/trunk-jpl/src/c/bamg/Metric.h M /issm/trunk-jpl/src/c/bamg/Triangle.cpp M /issm/trunk-jpl/src/c/bamg/Triangle.h M /issm/trunk-jpl/src/c/bamg/bamgobjects.h M /issm/trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: working on simplifying bamg\\
+\vspace{3em}
+
+\noindent \textbf{Change \#252} with diff file ISSM-21624-21625.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp M /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp\\
+Export determination: 6. \\
+Rationale: CHG: nor more quads\\
+\vspace{3em}
+
+\noindent \textbf{Change \#253} with diff file ISSM-21625-21626.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/bamg/BamgQuadtree.cpp M /issm/trunk-jpl/src/c/bamg/BamgQuadtree.h\\
+Export determination: 6. \\
+Rationale: CHG: MAXDEPTH is now a macro\\
+\vspace{3em}
+
+\noindent \textbf{Change \#254} with diff file ISSM-21626-21627.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp M /issm/trunk-jpl/src/c/cores/levelsetfunctionslope\_core.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp M /issm/trunk-jpl/src/m/classes/calvingdev.m M /issm/trunk-jpl/src/m/classes/calvinglevermann.m M /issm/trunk-jpl/src/m/classes/calvingminthickness.m M /issm/trunk-jpl/src/m/classes/levelset.m M /issm/trunk-jpl/src/m/classes/levelset.py\\
+Export determination: 6. \\
+Rationale: CHG: added calving stress thresholds and calving max parameters\\
+\vspace{3em}
+
+\noindent \textbf{Change \#255} with diff file ISSM-21627-21628.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/runme.py\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#256} with diff file ISSM-21628-21629.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/levelset.py\\
+Export determination: 6. \\
+Rationale: BUG: do not use numel for some reason....\\
+\vspace{3em}
+
+\noindent \textbf{Change \#257} with diff file ISSM-21629-21630.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/bamg/BamgQuadtree.cpp M /issm/trunk-jpl/src/c/bamg/BamgQuadtree.h M /issm/trunk-jpl/src/c/bamg/Geometry.cpp M /issm/trunk-jpl/src/c/bamg/Geometry.h M /issm/trunk-jpl/src/c/bamg/Mesh.cpp M /issm/trunk-jpl/src/c/bamg/Mesh.h M /issm/trunk-jpl/src/c/bamg/macros.h\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#258} with diff file ISSM-21630-21631.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive807.arch\\
+Export determination: 6. \\
+Rationale: CHG: no melt applied if floating now\\
+\vspace{3em}
+
+\noindent \textbf{Change \#259} with diff file ISSM-21631-21632.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/calvingdev.m\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#260} with diff file ISSM-21632-21633.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test1601.py\\
+Export determination: 6. \\
+Rationale: CHG:Removing prints in 1601\\
+\vspace{3em}
+
+\noindent \textbf{Change \#261} with diff file ISSM-21633-21634.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive330.arch A /issm/trunk-jpl/test/NightlyRun/test330.m A /issm/trunk-jpl/test/NightlyRun/test330.m~ A /issm/trunk-jpl/test/NightlyRun/test330.py A /issm/trunk-jpl/test/NightlyRun/test330.py~\\
+Export determination: 6. \\
+Rationale: NEW: adding a control test for the confined unconfined functioning of HydroDC (based on Wang2009)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#262} with diff file ISSM-21634-21635.diff: \\
+Function name: \\
+A /issm/trunk-jpl/test/Exp/Strip.exp\\
+Export determination: 6. \\
+Rationale: NEW: adding a rectangular shaped domain\\
+\vspace{3em}
+
+\noindent \textbf{Change \#263} with diff file ISSM-21635-21636.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test330.m\\
+Export determination: 6. \\
+Rationale: CHG: fixed minor bugs\\
+\vspace{3em}
+
+\noindent \textbf{Change \#264} with diff file ISSM-21636-21637.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test330.m D /issm/trunk-jpl/test/NightlyRun/test330.m~ M /issm/trunk-jpl/test/NightlyRun/test330.py D /issm/trunk-jpl/test/NightlyRun/test330.py~\\
+Export determination: 6. \\
+Rationale: BUG: minor and removing temp files\\
+\vspace{3em}
+
+\noindent \textbf{Change \#265} with diff file ISSM-21637-21638.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test330.m\\
+Export determination: 6. \\
+Rationale: BUG: fixing indexes in field check\\
+\vspace{3em}
+
+\noindent \textbf{Change \#266} with diff file ISSM-21638-21639.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test330.py M /issm/trunk-jpl/test/NightlyRun/test333.py\\
+Export determination: 6. \\
+Rationale: BUG:Syntax error\\
+\vspace{3em}
+
+\noindent \textbf{Change \#267} with diff file ISSM-21639-21640.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test330.m\\
+Export determination: 6. \\
+Rationale: BUG:minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#268} with diff file ISSM-21640-21641.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/NightlyRun/test330.m\\
+Export determination: 6. \\
+Rationale: BUG:minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#269} with diff file ISSM-21641-21642.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/generic.js M /issm/trunk-jpl/src/m/plot/applyoptions.js M /issm/trunk-jpl/src/m/plot/plot\_unit.js M /issm/trunk-jpl/src/m/plot/plotdoc.js M /issm/trunk-jpl/src/m/plot/webgl.js\\
+Export determination: 6. \\
+Rationale: CHG: Updating javascript plot files for mesh modification by brush. Adding debug comment for saving buffers to files in generic.js.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#270} with diff file ISSM-21642-21643.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.m\\
+Export determination: 6. \\
+Rationale: CHG: update to fix requested\_outputs\\
+\vspace{3em}
+
+\noindent \textbf{Change \#271} with diff file ISSM-21643-21644.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.m\\
+Export determination: 6. \\
+Rationale: CHG: update to fix requested\_outputs\\
+\vspace{3em}
+
+\noindent \textbf{Change \#272} with diff file ISSM-21644-21645.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.py\\
+Export determination: 6. \\
+Rationale: CHG:removing useless code in python export\\
+\vspace{3em}
+
+\noindent \textbf{Change \#273} with diff file ISSM-21645-21646.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.m\\
+Export determination: 6. \\
+Rationale: CHG: add output definitions\\
+\vspace{3em}
+
+\noindent \textbf{Change \#274} with diff file ISSM-21646-21647.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/solve/WriteData.py\\
+Export determination: 6. \\
+Rationale: BUG: Does python even need this?\\
+\vspace{3em}
+
+\noindent \textbf{Change \#275} with diff file ISSM-21647-21648.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.m\\
+Export determination: 6. \\
+Rationale: CHG: remove results special case\\
+\vspace{3em}
+
+\noindent \textbf{Change \#276} with diff file ISSM-21648-21649.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export\_netCDF.m\\
+Export determination: 6. \\
+Rationale: CHG: Add code for transient results\\
+\vspace{3em}
+
+\noindent \textbf{Change \#277} with diff file ISSM-21649-21650.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/esa.py\\
+Export determination: 6. \\
+Rationale: BUG: bad import (and not needed)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#278} with diff file ISSM-21650-21651.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/esa.py\\
+Export determination: 6. \\
+Rationale: BUG: fixing NaN in default parameters\\
+\vspace{3em}
+
+\noindent \textbf{Change \#279} with diff file ISSM-21651-21652.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/shp/shp2exp.m\\
+Export determination: 6. \\
+Rationale: CHG: pass shp as first argument + added check on extension\\
+\vspace{3em}
+
+\noindent \textbf{Change \#280} with diff file ISSM-21652-21653.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/exp/exp2shp.m\\
+Export determination: 6. \\
+Rationale: CHG: pass exp as first argument + added check on extension\\
+\vspace{3em}
+
+\noindent \textbf{Change \#281} with diff file ISSM-21653-21654.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixing one P1-specific code\\
+\vspace{3em}
+
+\noindent \textbf{Change \#282} with diff file ISSM-21654-21655.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp\\
+Export determination: 6. \\
+Rationale: CHG: Adding some more enums for Dakota\\
+\vspace{3em}
+
+\noindent \textbf{Change \#283} with diff file ISSM-21655-21656.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/read\_netCDF.m\\
+Export determination: 6. \\
+Rationale: CHG: matlab read works for all but requestedoutput outputdefinition and results\\
+\vspace{3em}
+
+\noindent \textbf{Change \#284} with diff file ISSM-21656-21657.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_BC.py\\
+Export determination: 6. \\
+Rationale: NEW: adding hydrology spc to BC plot\\
+\vspace{3em}
+
+\noindent \textbf{Change \#285} with diff file ISSM-21657-21658.diff: \\
+Function name: \\
+M /issm/trunk-jpl/etc/environment.sh M /issm/trunk-jpl/externalpackages/valgrind/install-linux64.sh M /issm/trunk-jpl/m4/analyses.m4 M /issm/trunk-jpl/src/m/io/loadvars.py M /issm/trunk-jpl/test/Par/SquareSheetConstrained.py\\
+Export determination: 6. \\
+Rationale: CHG: adding case in load for future matlab compatibility\\
+\vspace{3em}
+
+\noindent \textbf{Change \#286} with diff file ISSM-21658-21659.diff: \\
+Function name: \\
+M /issm/trunk-jpl/etc/environment.sh M /issm/trunk-jpl/externalpackages/valgrind/install-linux64.sh M /issm/trunk-jpl/m4/analyses.m4\\
+Export determination: 6. \\
+Rationale: Rolling back after miss-comit\\
+\vspace{3em}
+
+\noindent \textbf{Change \#287} with diff file ISSM-21659-21660.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/shp/shp2exp.py\\
+Export determination: 6. \\
+Rationale: BUG: fixing indentation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#288} with diff file ISSM-21660-21661.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive437.arch\\
+Export determination: 6. \\
+Rationale: BUG: updated archive\\
+\vspace{3em}
+
+\noindent \textbf{Change \#289} with diff file ISSM-21661-21662.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/linearbasalforcings.m M /issm/trunk-jpl/src/m/classes/linearbasalforcings.py\\
+Export determination: 6. \\
+Rationale: FIX: upperwater elevation can be equal to 0 (surface)\\
+\vspace{3em}
+
+\noindent \textbf{Change \#290} with diff file ISSM-21662-21663.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/qmu/dakota\_out\_parse.m\\
+Export determination: 6. \\
+Rationale: CHG: define nfeval if early return\\
+\vspace{3em}
+
+\noindent \textbf{Change \#291} with diff file ISSM-21664-21665.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/pfe.m\\
+Export determination: 6. \\
+Rationale: CHG: update to new compiler and generic mpi-sgi\\
+\vspace{3em}
+
+\noindent \textbf{Change \#292} with diff file ISSM-21665-21666.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/petsc/install-3.6-pleiades.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh A /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades\_dakota6.2.sh\\
+Export determination: 6. \\
+Rationale: CHG: upgrade pfe to Compiler/2016.2.181 and mpi to mpi-sgi/mpt\\
+\vspace{3em}
+
+\noindent \textbf{Change \#293} with diff file ISSM-21666-21667.diff: \\
+Function name: \\
+D /issm/trunk-jpl/configs/config-ios-armv7.sh D /issm/trunk-jpl/configs/config-ios-armv7s.sh D /issm/trunk-jpl/configs/config-ios-linux.sh D /issm/trunk-jpl/configs/config-ios-simulator.sh D /issm/trunk-jpl/configs/config-pleiades-petsc3.4.sh D /issm/trunk-jpl/configs/config-win10.sh D /issm/trunk-jpl/configs/configure.sh\\
+Export determination: 6. \\
+Rationale: CHG: removing some OLD configure scripts\\
+\vspace{3em}
+
+\noindent \textbf{Change \#294} with diff file ISSM-21667-21668.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/model.m\\
+Export determination: 6. \\
+Rationale: CHG: convert gia to giaivins automatically\\
+\vspace{3em}
+
+\noindent \textbf{Change \#295} with diff file ISSM-21668-21669.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/IoModel.cpp M /issm/trunk-jpl/src/m/classes/SMBforcing.m M /issm/trunk-jpl/src/m/solve/WriteData.m\\
+Export determination: 6. \\
+Rationale: NEW: new marshall format for SMB using uint8\\
+\vspace{3em}
+
+\noindent \textbf{Change \#296} with diff file ISSM-21669-21670.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#297} with diff file ISSM-21670-21671.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/thermal.m\\
+Export determination: 6. \\
+Rationale: CHG: allow for P1xP3\\
+\vspace{3em}
+
+\noindent \textbf{Change \#298} with diff file ISSM-21671-21672.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/export\_fig/eps2pdf.m M /issm/trunk-jpl/externalpackages/export\_fig/export\_fig.m M /issm/trunk-jpl/externalpackages/export\_fig/pdftops.m M /issm/trunk-jpl/externalpackages/export\_fig/print2array.m M /issm/trunk-jpl/externalpackages/export\_fig/print2eps.m\\
+Export determination: 6. \\
+Rationale: CHG: updated export\_fig\\
+\vspace{3em}
+
+\noindent \textbf{Change \#299} with diff file ISSM-21672-21673.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp M /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: CHG: AMR improved (faster), inserted methods to run the Mismip+ experiments, changes in AMR methods (FemModel and AdaptiveMeshRefinement).\\
+\vspace{3em}
+
+\noindent \textbf{Change \#300} with diff file ISSM-21673-21674.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/petsc/install-3.6-macosx64.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades\_dakota6.2.sh\\
+Export determination: 6. \\
+Rationale: CHG: upgrading to PETSc 3.7.5, since there is a conflict with XCode\\
+\vspace{3em}
+
+\noindent \textbf{Change \#301} with diff file ISSM-21674-21675.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h M /issm/trunk-jpl/src/c/cores/transient\_core.cpp M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp A /issm/trunk-jpl/src/m/classes/amr.js A /issm/trunk-jpl/src/m/classes/amr.m A /issm/trunk-jpl/src/m/classes/amr.py M /issm/trunk-jpl/src/m/classes/model.js M /issm/trunk-jpl/src/m/classes/model.m M /issm/trunk-jpl/src/m/classes/model.py M /issm/trunk-jpl/src/m/classes/trans.js M /issm/trunk-jpl/src/m/classes/transient.m M /issm/trunk-jpl/src/m/classes/transient.py M /issm/trunk-jpl/src/m/solve/parseresultsfrombuffer.js M /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m M /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py\\
+Export determination: 6. \\
+Rationale: CHG: changes to add AMR capability; new class (amr.m) and new results (mesh). AMR capability in test.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#302} with diff file ISSM-21675-21676.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/amr.py\\
+Export determination: 6. \\
+Rationale: BUG: fixed identation.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#303} with diff file ISSM-21676-21677.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/amr.py M /issm/trunk-jpl/src/m/classes/bamgmesh.m M /issm/trunk-jpl/src/m/classes/bamgmesh.py\\
+Export determination: 6. \\
+Rationale: CHG: fixing amr indentation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#304} with diff file ISSM-21677-21678.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matpar.h\\
+Export determination: 6. \\
+Rationale: CHG: added SetMid in Matpar class to define mid parameter.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#305} with diff file ISSM-21678-21679.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/contrib/tsantos A /issm/trunk-jpl/src/m/contrib/tsantos/AMRexportVTK.m A /issm/trunk-jpl/src/m/contrib/tsantos/remesh.m\\
+Export determination: 6. \\
+Rationale: NEW: some methods in matlab to deal with AMR capability: remesh and AMRexportVTK.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#306} with diff file ISSM-21679-21680.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/trans.js M /issm/trunk-jpl/src/m/classes/transient.m M /issm/trunk-jpl/src/m/classes/transient.py\\
+Export determination: 6. \\
+Rationale: BUG: transient.amr\_frequency could not be 0 even in deactivateall and setallnullparameters\\
+\vspace{3em}
+
+\noindent \textbf{Change \#307} with diff file ISSM-21680-21681.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/cores/transient\_core.cpp M /issm/trunk-jpl/src/m/classes/trans.js M /issm/trunk-jpl/src/m/classes/transient.m M /issm/trunk-jpl/src/m/classes/transient.py\\
+Export determination: 6. \\
+Rationale: CHG: set 0 to deactivate amr capability. Changes in transient\_core to verify this condition.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#308} with diff file ISSM-21681-21682.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/giacaron.m\\
+Export determination: 6. \\
+Rationale: Updated class file with all input variables\\
+\vspace{3em}
+
+\noindent \textbf{Change \#309} with diff file ISSM-21682-21683.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/giacaron.m\\
+Export determination: 6. \\
+Rationale: Erased commented code about inversion\\
+\vspace{3em}
+
+\noindent \textbf{Change \#310} with diff file ISSM-21683-21684.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/clusters/generic.js D /issm/trunk-jpl/src/m/io/download.js D /issm/trunk-jpl/src/m/io/saveAsFile.js M /issm/trunk-jpl/src/m/plot/applyoptions.js M /issm/trunk-jpl/src/m/plot/plot\_mesh.js M /issm/trunk-jpl/src/m/plot/plot\_overlay.js M /issm/trunk-jpl/src/m/plot/plot\_quiver.js M /issm/trunk-jpl/src/m/plot/plot\_unit.js M /issm/trunk-jpl/src/m/plot/slider.js M /issm/trunk-jpl/src/m/plot/webgl.js\\
+Export determination: 6. \\
+Rationale: CHG (JS): js plots code refactoring, texture caching, and more organized webgl engine. Adding network connectivity detection to generic.js. DEL: download.js saveAsFile not needed anymore, covered by writetofile.js.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#311} with diff file ISSM-21684-21685.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/petsc/install-3.7-greenplanet.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-hpc.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-linux64.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades\_dakota6.2.sh\\
+Export determination: 6. \\
+Rationale: CHG: switch to 3.6.6 to fix MacosX problem\\
+\vspace{3em}
+
+\noindent \textbf{Change \#312} with diff file ISSM-21685-21686.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades.sh D /issm/trunk-jpl/externalpackages/petsc/install-3.7-pleiades\_dakota6.2.sh\\
+Export determination: 6. \\
+Rationale: CHG: update for SLES12\\
+\vspace{3em}
+
+\noindent \textbf{Change \#313} with diff file ISSM-21686-21687.diff: \\
+Function name: \\
+D /issm/trunk-jpl/externalpackages/boost/configs/1.55/adl.hpp.lonestar.patch M /issm/trunk-jpl/externalpackages/boost/install-1.55-lonestar.sh M /issm/trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh\\
+Export determination: 6. \\
+Rationale: CHG: update boost for SLES12\\
+\vspace{3em}
+
+\noindent \textbf{Change \#314} with diff file ISSM-21687-21688.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/dakota/configs/6.2/CMakeLists.txt.pfe.patch\\
+Export determination: 6. \\
+Rationale: CHG: for SLES12, move dakota to intel mkl\\
+\vspace{3em}
+
+\noindent \textbf{Change \#315} with diff file ISSM-21688-21689.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/boost/install-1.55-pleiades.sh D /issm/trunk-jpl/externalpackages/boost/install-1.55-pleiades\_dakota6.2.sh\\
+Export determination: 6. \\
+Rationale: CHG: we only need 1 pfe boost install script now\\
+\vspace{3em}
+
+\noindent \textbf{Change \#316} with diff file ISSM-21689-21690.diff: \\
+Function name: \\
+D /issm/trunk-jpl/externalpackages/dakota/install-4.2-pleiades-petsc3.3.sh D /issm/trunk-jpl/externalpackages/dakota/install-4.2-pleiades.sh D /issm/trunk-jpl/externalpackages/dakota/install-5.2-pleiades-petsc3.3.sh D /issm/trunk-jpl/externalpackages/dakota/install-5.3.1-pleiades.sh\\
+Export determination: 6. \\
+Rationale: CHG: ISSM is only supporting dakota 6.2 on pfe\\
+\vspace{3em}
+
+\noindent \textbf{Change \#317} with diff file ISSM-21690-21691.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp\\
+Export determination: 6. \\
+Rationale: CHG: fixed memory leak\\
+\vspace{3em}
+
+\noindent \textbf{Change \#318} with diff file ISSM-21691-21692.diff: \\
+Function name: \\
+M /issm/trunk-jpl/externalpackages/valgrind/issm.supp\\
+Export determination: 6. \\
+Rationale: CHG: added more suppressions\\
+\vspace{3em}
+
+\noindent \textbf{Change \#319} with diff file ISSM-21692-21693.diff: \\
+Function name: \\
+A /issm/trunk-jpl/externalpackages/mpich/install-3.2-linux64-static.sh A /issm/trunk-jpl/externalpackages/mpich/install-3.2-macosx64-static.sh M /issm/trunk-jpl/externalpackages/mpich/install-3.2-macosx64.sh A /issm/trunk-jpl/externalpackages/petsc/install-3.7-linux64-static.sh A /issm/trunk-jpl/externalpackages/petsc/install-3.7-macosx64-static.sh M /issm/trunk-jpl/externalpackages/petsc/install-3.7-macosx64.sh\\
+Export determination: 6. \\
+Rationale: CHG: added some installation scripts\\
+\vspace{3em}
+
+\noindent \textbf{Change \#320} with diff file ISSM-21693-21694.diff: \\
+Function name: \\
+A /issm/trunk-jpl/externalpackages/mpich/install-3.2-linux64.sh\\
+Export determination: 6. \\
+Rationale: CHG: added 3.2 linux64 installation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#321} with diff file ISSM-21694-21695.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/linux64\_caladan M /issm/trunk-jpl/jenkins/linux64\_caladan\_ad M /issm/trunk-jpl/jenkins/linux64\_caladan\_ampi M /issm/trunk-jpl/jenkins/linux64\_ross M /issm/trunk-jpl/jenkins/linux64\_ross\_ad M /issm/trunk-jpl/jenkins/linux64\_ross\_ampi M /issm/trunk-jpl/jenkins/linux64\_ross\_dakota M /issm/trunk-jpl/jenkins/linux64\_ross\_gia M /issm/trunk-jpl/jenkins/linux64\_ross\_iceocean M /issm/trunk-jpl/jenkins/linux64\_ross\_python M /issm/trunk-jpl/jenkins/linux64\_ross\_se M /issm/trunk-jpl/jenkins/linux64\_ross\_static M /issm/trunk-jpl/jenkins/linux64\_ross\_test M /issm/trunk-jpl/jenkins/macosx\_pine-island M /issm/trunk-jpl/jenkins/macosx\_pine-island\_dakota M /issm/trunk-jpl/jenkins/macosx\_pine-island\_dakota\_static M /issm/trunk-jpl/jenkins/macosx\_pine-island\_examples M /issm/trunk-jpl/jenkins/macosx\_pine-island\_static\\
+Export determination: 6. \\
+Rationale: CHG: switching to mpich 3.2 and PETSc 3.7\\
+\vspace{3em}
+
+\noindent \textbf{Change \#322} with diff file ISSM-21695-21696.diff: \\
+Function name: \\
+M /issm/trunk-jpl/jenkins/linux64\_ross\_python\\
+Export determination: 6. \\
+Rationale: CHG: Adding extra MPI lib.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#323} with diff file ISSM-21696-21697.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/classes/materials.m\\
+Export determination: 6. \\
+Rationale: CHG: new materials class\\
+\vspace{3em}
+
+\noindent \textbf{Change \#324} with diff file ISSM-21697-21698.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/materials.m\\
+Export determination: 6. \\
+Rationale: CHG: finished first prototype materials.m implementation\\
+\vspace{3em}
+
+\noindent \textbf{Change \#325} with diff file ISSM-21698-21699.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/mech/drivingstress.m\\
+Export determination: 6. \\
+Rationale: BUG: signum error in directional components of driving stress\\
+\vspace{3em}
+
+\noindent \textbf{Change \#326} with diff file ISSM-21699-21700.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/classes/clusters/yellowstone.m\\
+Export determination: 6. \\
+Rationale: NEW: yellowstone cluster class.\\
+\vspace{3em}
+
+\noindent \textbf{Change \#327} with diff file ISSM-21700-21701.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Materials/Material.h M /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp M /issm/trunk-jpl/src/c/classes/Materials/Matestar.h M /issm/trunk-jpl/src/c/classes/Materials/Matice.h M /issm/trunk-jpl/src/c/classes/Materials/Matpar.h\\
+Export determination: 6. \\
+Rationale: NEW: ESTAR material functions for inversion capabilities\\
+\vspace{3em}
+
+\noindent \textbf{Change \#328} with diff file ISSM-21701-21702.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/datastructures/DataSet.cpp\\
+Export determination: 6. \\
+Rationale: NEW: ESTAR for inversion capabilities\\
+\vspace{3em}
+
+\noindent \textbf{Change \#329} with diff file ISSM-21702-21703.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/model.m\\
+Export determination: 6. \\
+Rationale: CHG: fixed amr for old models\\
+\vspace{3em}
+
+\noindent \textbf{Change \#330} with diff file ISSM-21703-21704.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/IoModel.cpp\\
+Export determination: 6. \\
+Rationale: CHG: add option of 10 CompressedMat for a FetchData of a Double vector\\
+\vspace{3em}
+
+\noindent \textbf{Change \#331} with diff file ISSM-21704-21705.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/solve/WriteData.m\\
+Export determination: 6. \\
+Rationale: CHG: add some checking in compressed mat for the case SMB is nan\\
+\vspace{3em}
+
+\noindent \textbf{Change \#332} with diff file ISSM-21705-21706.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_BC.m M /issm/trunk-jpl/src/m/plot/plot\_icefront.m M /issm/trunk-jpl/src/m/plot/plot\_manager.m\\
+Export determination: 6. \\
+Rationale: CHG: allow for layer plot BC\\
+\vspace{3em}
+
+\noindent \textbf{Change \#333} with diff file ISSM-21706-21707.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/FemModel.cpp M /issm/trunk-jpl/src/c/classes/FemModel.h\\
+Export determination: 6. \\
+Rationale: NEW: add size call to FemModel\\
+\vspace{3em}
+
+\noindent \textbf{Change \#334} with diff file ISSM-21707-21708.diff: \\
+Function name: \\
+A /issm/trunk-jpl/src/m/contrib/tsantos/mismip A /issm/trunk-jpl/src/m/contrib/tsantos/mismip/MismipGLPosition.m A /issm/trunk-jpl/src/m/contrib/tsantos/mismip/generate\_plot.m A /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl\_position.m A /issm/trunk-jpl/src/m/contrib/tsantos/mismip/ice\_evolution.m A /issm/trunk-jpl/src/m/contrib/tsantos/mismip/writeNetCDF.m\\
+Export determination: 6. \\
+Rationale: NEW: matlab methods used to MISOMIP/MISMIP+ project, May/2017\\
+\vspace{3em}
+
+\noindent \textbf{Change \#335} with diff file ISSM-21708-21709.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/solve/WriteData.py\\
+Export determination: 6. \\
+Rationale: CHG: add CompressedMat to python\\
+\vspace{3em}
+
+\noindent \textbf{Change \#336} with diff file ISSM-21709-21710.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp M /issm/trunk-jpl/src/c/classes/Elements/Element.cpp M /issm/trunk-jpl/src/c/shared/Elements/ComputeD18OTemperaturePrecipitationFromPD.cpp M /issm/trunk-jpl/src/c/shared/Elements/elements.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: NEW: added f temperature precipitation scaling factor\\
+\vspace{3em}
+
+\noindent \textbf{Change \#337} with diff file ISSM-21710-21711.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/SMBd18opdd.m M /issm/trunk-jpl/src/m/classes/SMBd18opdd.py\\
+Export determination: 6. \\
+Rationale: NEW: f precipitation temperature scaling factor added\\
+\vspace{3em}
+
+\noindent \textbf{Change \#338} with diff file ISSM-21711-21712.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/SMBforcing.py\\
+Export determination: 6. \\
+Rationale: CHG: add option for CompressedMat\\
+\vspace{3em}
+
+\noindent \textbf{Change \#339} with diff file ISSM-21712-21713.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/classes/SMBd18opdd.py\\
+Export determination: 6. \\
+Rationale: BUG: fixed indentation problems\\
+\vspace{3em}
+
+\noindent \textbf{Change \#340} with diff file ISSM-21713-21714.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/m/plot/plot\_manager.m\\
+Export determination: 6. \\
+Rationale: CHG: allow subplotmodel for plotunit\\
+\vspace{3em}
+
+\noindent \textbf{Change \#341} with diff file ISSM-21714-21715.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.h M /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp M /issm/trunk-jpl/src/c/classes/Elements/PentaRef.h M /issm/trunk-jpl/src/c/classes/Elements/Seg.h M /issm/trunk-jpl/src/c/classes/Elements/Tetra.h M /issm/trunk-jpl/src/c/classes/Elements/Tria.h\\
+Export determination: 6. \\
+Rationale: CHG: added VerticalSegmentsBase\\
+\vspace{3em}
+
+\noindent \textbf{Change \#342} with diff file ISSM-21715-21716.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp\\
+Export determination: 6. \\
+Rationale: CHG: better way of dealing with segments\\
+\vspace{3em}
+
+\noindent \textbf{Change \#343} with diff file ISSM-21716-21717.diff: \\
+Function name: \\
+M /issm/trunk-jpl/test/Archives/Archive437.arch\\
+Export determination: 6. \\
+Rationale: CHG: reverted archive now that Johannes is fixing it\\
+\vspace{3em}
+
+\noindent \textbf{Change \#344} with diff file ISSM-21717-21718.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: added P1xP3 for spc transient\\
+\vspace{3em}
+
+\noindent \textbf{Change \#345} with diff file ISSM-21718-21719.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp\\
+Export determination: 6. \\
+Rationale: CHG: adapting computation of basal melting rate (enthalpy) to higher-order elements\\
+\vspace{3em}
+
+\noindent \textbf{Change \#346} with diff file ISSM-21719-21720.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp M /issm/trunk-jpl/src/c/cores/depthaverage\_core.cpp\\
+Export determination: 6. \\
+Rationale: CHG: more elegant way to depth average\\
+\vspace{3em}
+
+\noindent \textbf{Change \#347} with diff file ISSM-21720-21721.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp M /issm/trunk-jpl/src/c/classes/Elements/Penta.h\\
+Export determination: 6. \\
+Rationale: CHG: added BasalNodeIndices\\
+\vspace{3em}
+
+\noindent \textbf{Change \#348} with diff file ISSM-21721-21722.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h M /issm/trunk-jpl/src/c/classes/Elements/Element.h M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: more consistent treatment of englacial water content drainage\\
+\vspace{3em}
+
+\noindent \textbf{Change \#349} with diff file ISSM-21722-21723.diff: \\
+Function name: \\
+M /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp M /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h M /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp M /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp\\
+Export determination: 6. \\
+Rationale: CHG: minor: removal of superfluous enum and function call\\
+\vspace{3em}
+
Index: /issm/oecreview/Archive/21337-21723/r1.tex
===================================================================
--- /issm/oecreview/Archive/21337-21723/r1.tex	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/r1.tex	(revision 21726)
@@ -0,0 +1,1 @@
+21337
Index: /issm/oecreview/Archive/21337-21723/r2.tex
===================================================================
--- /issm/oecreview/Archive/21337-21723/r2.tex	(revision 21726)
+++ /issm/oecreview/Archive/21337-21723/r2.tex	(revision 21726)
@@ -0,0 +1,1 @@
+21723
