Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 12640)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 12641)
@@ -2291,5 +2291,5 @@
    /*measure the surface mass balance*/
    for (i = 0; i < NUMVERTICES; i++){
-     agd[i]=PddSurfaceMassBlance(&monthlytemperatures[0][0], &monthlyprec[0][0], i, pdds, pds, signorm, yts, h[i], s[i], rho_ice, rho_water);
+     agd[i]=PddSurfaceMassBlance(&monthlytemperatures[i][0], &monthlyprec[i][0], pdds, pds, signorm, yts, h[i], s[i], rho_ice, rho_water);
    }
 
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 12640)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 12641)
@@ -2122,5 +2122,5 @@
    /*measure the surface mass balance*/
    for (i = 0; i < NUMVERTICES; i++){
-     agd[i]=PddSurfaceMassBlance(&monthlytemperatures[0][0], &monthlyprec[0][0], i, pdds, pds, signorm, yts, h[i], s[i], rho_ice, rho_water);
+     agd[i]=PddSurfaceMassBlance(&monthlytemperatures[i][0], &monthlyprec[i][0], pdds, pds, signorm, yts, h[i], s[i], rho_ice, rho_water);
    }
 
Index: /issm/trunk/src/c/shared/Elements/PddSurfaceMassBalance.cpp
===================================================================
--- /issm/trunk/src/c/shared/Elements/PddSurfaceMassBalance.cpp	(revision 12640)
+++ /issm/trunk/src/c/shared/Elements/PddSurfaceMassBalance.cpp	(revision 12641)
@@ -5,5 +5,5 @@
 #include "./elements.h"
 
-double PddSurfaceMassBlance(double* monthlytemperatures, double* monthlyprec, int i, double* pdds, double* pds, double signorm, double yts, double h, double s, double rho_ice, double rho_water){
+double PddSurfaceMassBlance(double* monthlytemperatures, double* monthlyprec, double* pdds, double* pds, double signorm, double yts, double h, double s, double rho_ice, double rho_water){
 
   // output:
@@ -12,6 +12,6 @@
   int    iqj,imonth, j;
   
-  double saccu = {0};     // yearly surface accumulation
-  double smelt = {0};     // yearly melt
+  double saccu;     // yearly surface accumulation
+  double smelt;     // yearly melt
   double precrunoff;      // yearly runoff
   double prect; // total precipitation during 1 year taking into account des. ef.
@@ -23,6 +23,6 @@
   double lapser=6.5/1000., sealev=0.;    // lapse rate. degrees per meter. 7.5 lev's 99 paper, 9 Marshall 99 paper
   double desfac = 0.5;                 // desert elevation factor
-  double s0p={0};         // should be set to elevation from precip source
-  double s0t={0};         // should be set to elevation from temperature source
+  double s0p=0.;         // should be set to elevation from precip source
+  double s0t=0.;         // should be set to elevation from temperature source
   double st;             // elevation between altitude of the temp record and current altitude
   double sp;             // elevation between altitude of the prec record and current altitude
@@ -37,13 +37,13 @@
   
   double q, qmpt; // q is desert/elev. fact, hnpfac is huybrect fact, and pd is normal dist.
-  double qm = {0};        // snow part of the precipitation 
-  double qmt = {0};       // precipitation without desertification effect adjustment
-  double qmp = {0};       // desertification taken into account
-  double pdd = {0};     
-  double frzndd = {0};  
+  double qm = 0.;        // snow part of the precipitation 
+  double qmt = 0.;       // precipitation without desertification effect adjustment
+  double qmp = 0.;       // desertification taken into account
+  double pdd = 0.;     
+  double frzndd = 0.;  
   
   double tstar;                        // monthly mean surface temp
-  double Tsum= {0};       // average summer (JJA) temperature
-  double Tsurf = {0};     // average annual temperature    
+  double Tsum= 0.;       // average summer (JJA) temperature
+  double Tsurf = 0.;     // average annual temperature    
   
 
@@ -59,9 +59,4 @@
   double fsupT=0.5,  fsupndd=0.5;  // Tsurf mode factors for supice
   double pddtj, hmx2;
-
-  double precipitation[12], temperatures[12];
-  
-  for (j = 0; j < 12; j++) {precipitation[j]=monthlyprec[i*12+j];}
-  for (j = 0; j < 12; j++) {temperatures[j]=monthlytemperatures[i*12+j];}
   
   sconv=(rho_water/rho_ice)/12.; //rhow_rain/rhoi / 12 months
@@ -79,5 +74,5 @@
   
       st=(s-s0t)/1000.;
-      tstar = temperatures[imonth] - lapser *max(st,sealev);
+      tstar = monthlytemperatures[imonth] - lapser *max(st,sealev);
       Tsurf = tstar*deltm+Tsurf;        
       
@@ -94,6 +89,6 @@
       else {q = 1.0;}
       
-      qmt= qmt + precipitation[imonth]*sconv;  //*sconv to convert in m of ice equivalent per month
-      qmpt= q*precipitation[imonth]*sconv;           
+      qmt= qmt + monthlyprec[imonth]*sconv;  //*sconv to convert in m of ice equivalent per month
+      qmpt= q*monthlyprec[imonth]*sconv;           
       qmp= qmp + qmpt;
       qm= qm + qmpt*pd;
Index: /issm/trunk/src/c/shared/Elements/elements.h
===================================================================
--- /issm/trunk/src/c/shared/Elements/elements.h	(revision 12640)
+++ /issm/trunk/src/c/shared/Elements/elements.h	(revision 12641)
@@ -13,5 +13,5 @@
 double Paterson(double temperature);
 double Arrhenius(double temperature,double depth,double n);
-double PddSurfaceMassBlance(double* monthlytemperatures,  double* monthlyprec, int i, double* pdds, double* pds, double signorm, double yts, double h, double s, double rho_ice, double rho_water);
+double PddSurfaceMassBlance(double* monthlytemperatures,  double* monthlyprec, double* pdds, double* pds, double signorm, double yts, double h, double s, double rho_ice, double rho_water);
 void   GetVerticesCoordinates(double* xyz,  Node** nodes, int numvertices);
 int    GetNumberOfDofs( Node** nodes,int numnodes,int setenum,int approximation_enum);
