Changeset 19363
- Timestamp:
- 05/13/15 13:11:09 (10 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r19325 r19363 1495 1495 name==InversionVzObsEnum || 1496 1496 name==TemperatureEnum || 1497 name==TemperaturePDDEnum || 1497 1498 name==EnthalpyEnum || 1498 1499 name==EnthalpyPicardEnum || … … 1772 1773 switch(this->ObjectEnum()){ 1773 1774 case TriaEnum: 1774 this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1775 // this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1776 this->inputs->AddInput(new TriaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); 1775 1777 this->inputs->AddInput(new TriaInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum)); 1776 1778 this->inputs->AddInput(new TriaInput(SurfaceforcingsAccumulationEnum,&accu[0],P1Enum)); 1777 1779 this->inputs->AddInput(new TriaInput(SurfaceforcingsMeltEnum,&melt[0],P1Enum)); 1778 1780 break; 1779 case PentaEnum: 1780 this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1781 this->inputs->AddInput(new PentaInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum)); 1782 this->InputExtrude(TemperatureEnum,-1); 1783 this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1); 1784 break; 1781 case PentaEnum: 1782 if(IsOnSurface()){ 1783 GetInputListOnVertices(&s[0],TemperatureEnum); 1784 yearlytemperatures[0] = s[0]; 1785 yearlytemperatures[1] = s[1]; 1786 yearlytemperatures[2] = s[2]; 1787 this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1788 } 1789 this->inputs->AddInput(new PentaInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum)); 1790 this->inputs->AddInput(new PentaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); 1791 this->InputExtrude(TemperaturePDDEnum,-1); 1792 this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1); 1793 break; 1785 1794 case TetraEnum: 1786 this->inputs->AddInput(new TetraInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1787 this->inputs->AddInput(new TetraInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum)); 1788 this->InputExtrude(TemperatureEnum,-1); 1789 this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1); 1790 break; 1795 if(IsOnSurface()){ 1796 GetInputListOnVertices(&s[0],TemperatureEnum); 1797 yearlytemperatures[0] = s[0]; 1798 yearlytemperatures[1] = s[1]; 1799 yearlytemperatures[2] = s[2]; 1800 this->inputs->AddInput(new TetraInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1801 } 1802 this->inputs->AddInput(new TetraInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum)); 1803 this->inputs->AddInput(new TetraInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); 1804 this->InputExtrude(TemperaturePDDEnum,-1); 1805 this->InputExtrude(SurfaceforcingsMassBalanceEnum,-1); 1806 break; 1791 1807 default: _error_("Not implemented yet"); 1792 1808 } -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r19317 r19363 587 587 TemperatureEnum, 588 588 TemperaturePicardEnum, 589 TemperaturePDDEnum, 589 590 ThicknessAbsMisfitEnum, 590 591 SurfaceAbsMisfitEnum, -
issm/trunk-jpl/src/m/classes/clusters/acenet.m
r19335 r19363 15 15 np=10; 16 16 port=0; 17 queue=' shortq';17 queue='longq'; 18 18 time=10; 19 19 % codepath='/usr/local/issm-r11321/bin'; % this one is for issm on acenet global … … 21 21 %executionpath='/home/klemorza/issm/trunk-jpl/execution'; 22 22 %executionpath='/home/klemorza/scratch/issmres.dir'; 23 executionpath='/net/glacdyn-data/glacdyn/1/klemorza/issm.dir'; 23 executionpath='/net/glacdyn-data/glacdyn/1/klemorza/issm.dir'; 24 24 %}}} 25 25 end … … 28 28 %use provided options to change fields 29 29 options=pairoptions(varargin{:}); 30 31 30 %initialize cluster using user settings if provided 32 31 if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end … … 35 34 cluster=AssignObjectFields(pairoptions(varargin{:}),cluster); 36 35 end 37 %}}} 36 %}}} 38 37 function disp(cluster) % {{{ 39 38 % display the object … … 47 46 disp(sprintf(' codepath: %s',cluster.codepath)); 48 47 disp(sprintf(' executionpath: %s',cluster.executionpath)); 49 48 end 50 49 %}}} 51 50 function md = checkconsistency(cluster,md,solution,analyses) % {{{ 52 51 53 52 available_queues={'debug','shortq','longq'}; 54 queue_requirements_time=[48*1 48* 2 48*5];53 queue_requirements_time=[48*1 48*7 48*15]; 55 54 queue_requirements_np=[32 128 256]; 56 57 55 QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,cluster.time) 58 56 end … … 67 65 fprintf(fid,'#!/bin/bash\n'); 68 66 fprintf(fid,'#$ -cwd\n'); 69 fprintf(fid,'#$ -N issm\n');70 fprintf(fid,'#$ -l h_rt=00:15:00\n');71 % fprintf(fid,'#$ -l h_rt=25:00:0\n');72 % fprintf(fid,'#$ -l h_rt=47:59:00\n');73 % fprintf(fid,'#$ -l h_rt=72:00:0\n');74 fprintf(fid,'#$ -l h_rt=96:00:0\n');75 % fprintf(fid,'#$ -l h_rt=336:00:0\n');76 67 77 fprintf(fid,'#$ -l h_vmem=2G\n'); 68 fprintf(fid,'#$ -N issm\n'); 69 % fprintf(fid,'#$ -l h_rt=00:15:00\n'); 70 % fprintf(fid,'#$ -l h_rt=5:00:0\n'); 71 % fprintf(fid,'#$ -l h_rt=25:00:0\n'); 72 % fprintf(fid,'#$ -l h_rt=47:59:00\n'); 73 % fprintf(fid,'#$ -l h_rt=72:00:0\n'); 74 % fprintf(fid,'#$ -l h_rt=96:00:0\n'); 75 % fprintf(fid,'#$ -l h_rt=336:00:0\n'); 76 tstr = sprintf('#$ -l h_rt=%i:00:00\n',cluster.time); 77 fprintf(fid,tstr); 78 78 79 % ---- Which queue to use ---- 80 %fprintf(fid,'#$ -q tarasov.q\n'); % 81 fprintf(fid,'#$ -q short.q@*,medium.q@*\n'); 82 %fprintf(fid,'#$ -q medium.q@*\n'); 83 %fprintf(fid,'#$ -q short.q@*\n'); 79 fprintf(fid,'#$ -l h_vmem=2G\n'); 84 80 85 % ---- Which node are selected ---- 86 % fprintf(fid,'#$ -l h=cl27*|cl28*|cl29*|cl30*|cl31*|cl320|cl267|cl268|cl269|cl338 \n'); 87 %fprintf(fid,'#$ -l h=cl0* \n'); 88 % fprintf(fid,'#$ -l h=cl338 \n'); 89 % Acenet nodes with 16cpus and more than 60G mem 90 % fprintf(fid,'#$ -l h=cl001|cl002|cl003|cl004|cl005|cl006|cl007|cl008|cl009|cl010|cl011|cl012|cl021|cl022|cl023|cl024 \n'); 91 92 % ---- cpus on different nodes ---- 93 fprintf(fid,'#$ -pe ompi %i\n',cluster.np); % To avoid green acenet that does not have InfiniBand 94 % fprintf(fid,'#$ -pe ompi* %i\n',cluster.np); 95 %fprintf(fid,'#$ -pe 4per* %i\n',cluster.np); 96 % -------- All cpus in the same node -------- 97 % fprintf(fid,'#$ -pe openmp %i\n',cluster.np); 98 99 % ---- misc ---- 100 fprintf(fid,'#$ -j y\n'); 101 102 fprintf(fid,'module purge\n'); 103 %fprintf(fid,'module load gcc openmpi/gcc\n'); 104 %fprintf(fid,'module unload openmpi\n'); 105 fprintf(fid,'module load intel/12.1.7.367\n'); 106 fprintf(fid,'module load openmpi/intel/1.2.9\n'); 81 if strcmp(cluster.executionpath,'/home/klemorza/scratch/issmres.dir') 82 % ---- Which acent queue to use ---- 83 fprintf(fid,'#$ -q short.q@*,medium.q@*\n'); 84 %fprintf(fid,'#$ -q medium.q@*,long.q@*\n'); 85 %fprintf(fid,'#$ -q medium.q@*\n'); 86 %fprintf(fid,'#$ -q short.q@*\n'); 87 % Acenet nodes with 16cpus and more than 60G mem 88 % fprintf(fid,'#$ -l h=cl001|cl002|cl003|cl004|cl005|cl006|cl007|cl008|cl009|cl010|cl011|cl012|cl021|cl022|cl023|cl024 \n'); 89 % ---- cpus on different nodes ---- 90 if cluster.np==4 91 % -------- All cpus in the same node -------- 92 fprintf(fid,'#$ -pe openmp %i\n',cluster.np); 93 else 94 fprintf(fid,'#$ -pe ompi %i\n',cluster.np); % To avoid green acenet that does not have InfiniBand 95 end 96 97 elseif strcmp(cluster.executionpath,'/net/glacdyn-data/glacdyn/1/klemorza/issm.dir') 98 % ---- Which node for Lev's queue are selected ---- 99 fprintf(fid,'#$ -q tarasov.q\n'); 100 fprintf(fid,'#$ -l h=cl27*|cl28*|cl29*|cl30*|cl31*|cl320|cl267|cl268|cl269|cl338 \n'); 101 %fprintf(fid,'#$ -l h=cl27*|cl28*|cl29*|cl30*|cl31*|cl320|cl267|cl268|cl269 \n'); 102 %fprintf(fid,'#$ -l h=cl0* \n'); 103 % fprintf(fid,'#$ -l h=cl338 \n'); 104 105 if cluster.np==4 106 % -------- All cpus in the same node -------- 107 fprintf(fid,'#$ -pe openmp %i\n',cluster.np); 108 else 109 fprintf(fid,'#$ -pe ompi* %i\n',cluster.np); 110 %fprintf(fid,'#$ -pe 4per %i\n',cluster.np); 111 %fprintf(fid,'#$ -pe 8per %i\n',cluster.np); 112 end 113 end 114 115 % ---- misc ---- 116 fprintf(fid,'#$ -j y\n'); 117 118 fprintf(fid,'module purge\n'); 119 %fprintf(fid,'module load gcc openmpi/gcc\n'); 120 %fprintf(fid,'module unload openmpi\n'); 121 fprintf(fid,'module load intel/12.1.7.367\n'); 122 fprintf(fid,'module load openmpi/intel/1.2.9\n'); 107 123 108 fprintf(fid,'module load gsl\n');109 %fprintf(fid,'module load issm\n');110 fprintf(fid,'export ISSM_DIR="%s/../"\n',cluster.codepath); %FIXME111 fprintf(fid,'source $ISSM_DIR/etc/environment.sh\n'); %FIXME112 fprintf(fid,'\n');113 fprintf(fid,'mpiexec %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog\n',...114 cluster.codepath,EnumToString(solution),[cluster.executionpath '/' dirname],modelname,modelname,modelname);115 %fprintf(fid,'echo $HOSTNAME >>%s.outlog',modelname);124 fprintf(fid,'module load gsl\n'); 125 %fprintf(fid,'module load issm\n'); 126 fprintf(fid,'export ISSM_DIR="%s/../"\n',cluster.codepath); %FIXME 127 fprintf(fid,'source $ISSM_DIR/etc/environment.sh\n'); %FIXME 128 fprintf(fid,'\n'); 129 fprintf(fid,'mpiexec %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog\n',... 130 cluster.codepath,EnumToString(solution),[cluster.executionpath '/' dirname],modelname,modelname,modelname); 131 %fprintf(fid,'echo $HOSTNAME >>%s.outlog',modelname); 116 132 fclose(fid); 117 133 … … 131 147 132 148 end %}}} 149 133 150 function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ 134 151 … … 142 159 issmssh(cluster.name,cluster.login,cluster.port,launchcommand); 143 160 end %}}} 161 144 162 function Download(cluster,dirname,filelist)% {{{ 145 163 -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r19317 r19363 568 568 def TemperatureEnum(): return StringToEnum("Temperature")[0] 569 569 def TemperaturePicardEnum(): return StringToEnum("TemperaturePicard")[0] 570 def TemperaturePDDEnum(): return StringToEnum("TemperaturePDD")[0] 570 571 def ThicknessAbsMisfitEnum(): return StringToEnum("ThicknessAbsMisfit")[0] 571 572 def SurfaceAbsMisfitEnum(): return StringToEnum("SurfaceAbsMisfit")[0]
Note:
See TracChangeset
for help on using the changeset viewer.