Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 19362)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 19363)
@@ -1495,4 +1495,5 @@
 				name==InversionVzObsEnum ||
 				name==TemperatureEnum ||
+				name==TemperaturePDDEnum ||
 				name==EnthalpyEnum ||
 				name==EnthalpyPicardEnum ||
@@ -1772,21 +1773,36 @@
 	switch(this->ObjectEnum()){
 		case TriaEnum:  
-			this->inputs->AddInput(new TriaInput(TemperatureEnum,&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(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum));
 			this->inputs->AddInput(new TriaInput(SurfaceforcingsAccumulationEnum,&accu[0],P1Enum));
 			this->inputs->AddInput(new TriaInput(SurfaceforcingsMeltEnum,&melt[0],P1Enum));
 			break;
-		case PentaEnum: 
-			this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
-			this->inputs->AddInput(new PentaInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum));
-			this->InputExtrude(TemperatureEnum,-1);
-			this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1);
-			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(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum));
+		        this->inputs->AddInput(new PentaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
+		        this->InputExtrude(TemperaturePDDEnum,-1);
+		        this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1);
+		        break;
 		case TetraEnum: 
-			this->inputs->AddInput(new TetraInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
-			this->inputs->AddInput(new TetraInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum));
-			this->InputExtrude(TemperatureEnum,-1);
-			this->InputExtrude(SurfaceforcingsMassBalanceEnum,-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(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum));
+		        this->inputs->AddInput(new TetraInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum));
+		        this->InputExtrude(TemperaturePDDEnum,-1);
+		        this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1);
+		        break;
 		default: _error_("Not implemented yet");
 	}
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 19362)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 19363)
@@ -587,4 +587,5 @@
 	TemperatureEnum,
 	TemperaturePicardEnum,
+	TemperaturePDDEnum,
 	ThicknessAbsMisfitEnum,
 	SurfaceAbsMisfitEnum,
Index: /issm/trunk-jpl/src/m/classes/clusters/acenet.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/acenet.m	(revision 19362)
+++ /issm/trunk-jpl/src/m/classes/clusters/acenet.m	(revision 19363)
@@ -15,5 +15,5 @@
 		 np=10;
 		 port=0;
-		 queue='shortq';
+		 queue='longq';
 		 time=10;
 		 % codepath='/usr/local/issm-r11321/bin'; % this one is for issm on acenet global
@@ -21,5 +21,5 @@
 		 %executionpath='/home/klemorza/issm/trunk-jpl/execution';
 		 %executionpath='/home/klemorza/scratch/issmres.dir';
-		 executionpath='/net/glacdyn-data/glacdyn/1/klemorza/issm.dir';
+		 executionpath='/net/glacdyn-data/glacdyn/1/klemorza/issm.dir';                 
 		 %}}}
 	 end
@@ -28,5 +28,4 @@
 			 %use provided options to change fields
 			 options=pairoptions(varargin{:});
-
 			 %initialize cluster using user settings if provided
 			 if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end
@@ -35,5 +34,5 @@
 			 cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
 		 end
-		 %}}}
+		 %}}} 
 		 function disp(cluster) % {{{
 			 %  display the object
@@ -47,12 +46,11 @@
 			 disp(sprintf('    codepath: %s',cluster.codepath));
 			 disp(sprintf('    executionpath: %s',cluster.executionpath));
-		 end
+                 end
 		 %}}}
 		 function md = checkconsistency(cluster,md,solution,analyses) % {{{
 
 			 available_queues={'debug','shortq','longq'};
-			 queue_requirements_time=[48*1 48*2 48*5];
+			 queue_requirements_time=[48*1 48*7 48*15];
 			 queue_requirements_np=[32 128 256];
-
 			 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time)
 		 end
@@ -67,51 +65,69 @@
 			 fprintf(fid,'#!/bin/bash\n');
 			 fprintf(fid,'#$ -cwd\n');
-          fprintf(fid,'#$ -N issm\n');
-          fprintf(fid,'#$ -l h_rt=00:15:00\n');
-          % fprintf(fid,'#$ -l h_rt=25:00:0\n');
-          % fprintf(fid,'#$ -l h_rt=47:59:00\n');
-          % fprintf(fid,'#$ -l h_rt=72:00:0\n');
-          fprintf(fid,'#$ -l h_rt=96:00:0\n');
-          % fprintf(fid,'#$ -l h_rt=336:00:0\n');
 
-          fprintf(fid,'#$ -l h_vmem=2G\n');
+                         fprintf(fid,'#$ -N issm\n');
+                         % fprintf(fid,'#$ -l h_rt=00:15:00\n');
+                         % fprintf(fid,'#$ -l h_rt=5:00:0\n');
+                         % fprintf(fid,'#$ -l h_rt=25:00:0\n');
+                         % fprintf(fid,'#$ -l h_rt=47:59:00\n');
+                         % fprintf(fid,'#$ -l h_rt=72:00:0\n');
+                         % fprintf(fid,'#$ -l h_rt=96:00:0\n');
+                         % fprintf(fid,'#$ -l h_rt=336:00:0\n');
+                         tstr = sprintf('#$ -l h_rt=%i:00:00\n',cluster.time);
+                         fprintf(fid,tstr);
 
-          % ---- Which queue to use ----
-          %fprintf(fid,'#$ -q tarasov.q\n'); %
-          fprintf(fid,'#$ -q short.q@*,medium.q@*\n');
-          %fprintf(fid,'#$ -q medium.q@*\n');
-          %fprintf(fid,'#$ -q short.q@*\n');
+                         fprintf(fid,'#$ -l h_vmem=2G\n');
 
-          % ---- Which node are selected ----
-          % fprintf(fid,'#$ -l h=cl27*|cl28*|cl29*|cl30*|cl31*|cl320|cl267|cl268|cl269|cl338 \n');
-          %fprintf(fid,'#$ -l h=cl0* \n');
-          % fprintf(fid,'#$ -l h=cl338 \n');
-          % Acenet nodes with 16cpus and more than 60G mem
-          % fprintf(fid,'#$ -l h=cl001|cl002|cl003|cl004|cl005|cl006|cl007|cl008|cl009|cl010|cl011|cl012|cl021|cl022|cl023|cl024 \n');
-  
-          % ---- cpus on different nodes ----
-           fprintf(fid,'#$ -pe ompi %i\n',cluster.np); % To avoid green acenet that does not have InfiniBand
-          % fprintf(fid,'#$ -pe ompi* %i\n',cluster.np);
-          %fprintf(fid,'#$ -pe 4per* %i\n',cluster.np);
-          % -------- All cpus in the same node --------          
-          % fprintf(fid,'#$ -pe openmp %i\n',cluster.np);
-          
-          % ---- misc ----
-          fprintf(fid,'#$ -j y\n');        
-                  
-          fprintf(fid,'module purge\n');
-          %fprintf(fid,'module load gcc openmpi/gcc\n');
-          %fprintf(fid,'module unload openmpi\n');
-          fprintf(fid,'module load intel/12.1.7.367\n');
-          fprintf(fid,'module load openmpi/intel/1.2.9\n');
+                         if strcmp(cluster.executionpath,'/home/klemorza/scratch/issmres.dir')
+                             % ---- Which acent queue to use ----
+                             fprintf(fid,'#$ -q short.q@*,medium.q@*\n');
+                             %fprintf(fid,'#$ -q medium.q@*,long.q@*\n');
+                             %fprintf(fid,'#$ -q medium.q@*\n');
+                             %fprintf(fid,'#$ -q short.q@*\n');
+                             % Acenet nodes with 16cpus and more than 60G mem
+                             % fprintf(fid,'#$ -l h=cl001|cl002|cl003|cl004|cl005|cl006|cl007|cl008|cl009|cl010|cl011|cl012|cl021|cl022|cl023|cl024 \n');
+                             % ---- cpus on different nodes ----
+                             if cluster.np==4
+                                 % -------- All cpus in the same node --------          
+                                 fprintf(fid,'#$ -pe openmp %i\n',cluster.np);
+                             else
+                                 fprintf(fid,'#$ -pe ompi %i\n',cluster.np); % To avoid green acenet that does not have InfiniBand
+                             end
+                         
+                         elseif strcmp(cluster.executionpath,'/net/glacdyn-data/glacdyn/1/klemorza/issm.dir')
+                             % ---- Which node for Lev's queue are selected ----
+                             fprintf(fid,'#$ -q tarasov.q\n');
+                             fprintf(fid,'#$ -l h=cl27*|cl28*|cl29*|cl30*|cl31*|cl320|cl267|cl268|cl269|cl338 \n');
+                             %fprintf(fid,'#$ -l h=cl27*|cl28*|cl29*|cl30*|cl31*|cl320|cl267|cl268|cl269 \n');
+                             %fprintf(fid,'#$ -l h=cl0* \n');
+                             % fprintf(fid,'#$ -l h=cl338 \n');
+                             
+                             if cluster.np==4
+                                 % -------- All cpus in the same node --------          
+                                 fprintf(fid,'#$ -pe openmp %i\n',cluster.np);
+                             else
+                                 fprintf(fid,'#$ -pe ompi* %i\n',cluster.np);
+                                 %fprintf(fid,'#$ -pe 4per %i\n',cluster.np);
+                                 %fprintf(fid,'#$ -pe 8per %i\n',cluster.np);
+                             end
+                         end
+                                                  
+                         % ---- misc ----
+                         fprintf(fid,'#$ -j y\n');
+                         
+                         fprintf(fid,'module purge\n');
+                         %fprintf(fid,'module load gcc openmpi/gcc\n');
+                         %fprintf(fid,'module unload openmpi\n');
+                         fprintf(fid,'module load intel/12.1.7.367\n');
+                         fprintf(fid,'module load openmpi/intel/1.2.9\n');
 
-          fprintf(fid,'module load gsl\n');
-          %fprintf(fid,'module load issm\n');
-          fprintf(fid,'export ISSM_DIR="%s/../"\n',cluster.codepath); %FIXME
-          fprintf(fid,'source $ISSM_DIR/etc/environment.sh\n');       %FIXME
-          fprintf(fid,'\n');
-          fprintf(fid,'mpiexec %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog\n',...
-                   cluster.codepath,EnumToString(solution),[cluster.executionpath '/' dirname],modelname,modelname,modelname);
-          %fprintf(fid,'echo $HOSTNAME >>%s.outlog',modelname);
+                         fprintf(fid,'module load gsl\n');
+                         %fprintf(fid,'module load issm\n');
+                         fprintf(fid,'export ISSM_DIR="%s/../"\n',cluster.codepath); %FIXME
+                         fprintf(fid,'source $ISSM_DIR/etc/environment.sh\n');       %FIXME
+                         fprintf(fid,'\n');
+                         fprintf(fid,'mpiexec %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog\n',...
+                                 cluster.codepath,EnumToString(solution),[cluster.executionpath '/' dirname],modelname,modelname,modelname);
+                         %fprintf(fid,'echo $HOSTNAME >>%s.outlog',modelname);
 			 fclose(fid);
 
@@ -131,4 +147,5 @@
 
 		 end %}}}
+
 		 function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
 
@@ -142,4 +159,5 @@
 			 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
 		 end %}}}
+
 		 function Download(cluster,dirname,filelist)% {{{
 
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 19362)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 19363)
@@ -568,4 +568,5 @@
 def TemperatureEnum(): return StringToEnum("Temperature")[0]
 def TemperaturePicardEnum(): return StringToEnum("TemperaturePicard")[0]
+def TemperaturePDDEnum(): return StringToEnum("TemperaturePDD")[0]
 def ThicknessAbsMisfitEnum(): return StringToEnum("ThicknessAbsMisfit")[0]
 def SurfaceAbsMisfitEnum(): return StringToEnum("SurfaceAbsMisfit")[0]
Index: /issm/trunk-jpl/src/m/enum/TemperaturePDDEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/TemperaturePDDEnum.m	(revision 19363)
+++ /issm/trunk-jpl/src/m/enum/TemperaturePDDEnum.m	(revision 19363)
@@ -0,0 +1,11 @@
+function macro=TemperaturePDDEnum()
+%TEMPERATUREPDDENUM - Enum of TemperaturePDD
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=TemperaturePDDEnum()
+
+macro=StringToEnum('TemperaturePDD');
