Changeset 3923
- Timestamp:
- 05/24/10 14:41:32 (15 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 1 deleted
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/Makefile.am
r3913 r3923 919 919 bin_PROGRAMS = 920 920 else 921 bin_PROGRAMS = diagnostic.exe thermal.exe prognostic.exe prognostic2.exe balancedthickness.exe balancedthickness2.exe balancedvelocities.exe transient.exe steadystate.exe slopecompute.exe921 bin_PROGRAMS = DiagnosticAnalysis.exe ThermalAnalysis.exe PrognosticAnalysis.exe Prognostic2Analysis.exe BalancedthicknessAnalysis.exe Balancedthickness2Analysis.exe BalancedvelocitiesAnalysis.exe TransientAnalysis.exe SteadystateAnalysis.exe SlopecomputeAnalysis.exe 922 922 endif 923 923 924 924 LDADD = ./libpISSM.a $(PETSCLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(DAKOTALIB) $(METISLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) libOverload.a 925 925 926 diagnostic_exe_SOURCES = solutions/diagnostic.cpp927 diagnostic_exe_CXXFLAGS= -fPIC -D_PARALLEL_928 929 steadystate_exe_SOURCES = solutions/steadystate.cpp930 steadystate_exe_CXXFLAGS= -fPIC -D_PARALLEL_931 932 thermal_exe_SOURCES = solutions/thermal.cpp933 thermal_exe_CXXFLAGS= -fPIC -D_PARALLEL_934 935 prognostic_exe_SOURCES = solutions/prognostic.cpp936 prognostic_exe_CXXFLAGS= -fPIC -D_PARALLEL_937 938 prognostic2_exe_SOURCES = solutions/prognostic2.cpp939 prognostic2_exe_CXXFLAGS= -fPIC -D_PARALLEL_940 941 balancedthickness_exe_SOURCES = solutions/balancedthickness.cpp942 balancedthickness_exe_CXXFLAGS= -fPIC -D_PARALLEL_943 944 balancedthickness2_exe_SOURCES = solutions/balancedthickness2.cpp945 balancedthickness2_exe_CXXFLAGS= -fPIC -D_PARALLEL_946 947 balancedvelocities_exe_SOURCES = solutions/balancedvelocities.cpp948 balancedvelocities_exe_CXXFLAGS= -fPIC -D_PARALLEL_949 950 slopecompute_exe_SOURCES = solutions/slopecompute.cpp951 slopecompute_exe_CXXFLAGS= -fPIC -D_PARALLEL_952 953 transient_exe_SOURCES = solutions/transient.cpp954 transient_exe_CXXFLAGS= -fPIC -D_PARALLEL_926 DiagnosticAnalysis_exe_SOURCES = solutions/diagnostic.cpp 927 DiagnosticAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 928 929 SteadystateAnalysis_exe_SOURCES = solutions/steadystate.cpp 930 SteadystateAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 931 932 ThermalAnalysis_exe_SOURCES = solutions/thermal.cpp 933 ThermalAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 934 935 PrognosticAnalysis_exe_SOURCES = solutions/prognostic.cpp 936 PrognosticAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 937 938 Prognostic2Analysis_exe_SOURCES = solutions/prognostic2.cpp 939 Prognostic2Analysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 940 941 BalancedthicknessAnalysis_exe_SOURCES = solutions/balancedthickness.cpp 942 BalancedthicknessAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 943 944 Balancedthickness2Analysis_exe_SOURCES = solutions/balancedthickness2.cpp 945 Balancedthickness2Analysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 946 947 BalancedvelocitiesAnalysis_exe_SOURCES = solutions/balancedvelocities.cpp 948 BalancedvelocitiesAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 949 950 SlopecomputeAnalysis_exe_SOURCES = solutions/slopecompute.cpp 951 SlopecomputeAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 952 953 TransientAnalysis_exe_SOURCES = solutions/transient.cpp 954 TransientAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_ -
issm/trunk/src/m/classes/public/graddetection.m
r2759 r3923 8 8 9 9 %solve first batch of control methods, with given settings. 10 md2=solve(md2,'analysis_type',' diagnostic');10 md2=solve(md2,'analysis_type','DiagnosticAnalysis'); 11 11 12 12 %record final optimized parameter. 13 parameter1=md2.results. diagnostic.parameter;13 parameter1=md2.results.DiagnosticAnalysis.parameter; 14 14 15 15 %plug optimized parameter in model. 16 md2.(md2.results. diagnostic.control_type)=parameter1;16 md2.(md2.results.DiagnosticAnalysis.control_type)=parameter1; 17 17 18 18 %put nsteps to 1: … … 24 24 25 25 %rerun control method with optimized parameter, only for 1 more step. 26 md2=solve(md2,'analysis_type',' diagnostic');26 md2=solve(md2,'analysis_type','DiagnosticAnalysis'); 27 27 28 28 %get optimized parameter after 1 more step. 29 parameter2=md2.results. diagnostic.parameter;29 parameter2=md2.results.DiagnosticAnalysis.parameter; 30 30 31 31 %return relative difference between nsteps+1 and nsteps; -
issm/trunk/src/m/classes/public/isresultconsistent.m
r2881 r3923 29 29 30 30 if strcmpi(md.type,'3d') 31 fields1={'results. diagnostic.vx','results.diagnostic.vy','results.diagnostic.vz','results.diagnostic.vel'};32 fields2={'results. diagnostic.vel'};31 fields1={'results.DiagnosticAnalysis.vx','results.DiagnosticAnalysis.vy','results.DiagnosticAnalysis.vz','results.DiagnosticAnalysis.vel'}; 32 fields2={'results.DiagnosticAnalysis.vel'}; 33 33 else 34 fields1={'results. diagnostic.vx','results.diagnostic.vy','results.diagnostic.vel'};35 fields2={'results. diagnostic.vel'};34 fields1={'results.DiagnosticAnalysis.vx','results.DiagnosticAnalysis.vy','results.DiagnosticAnalysis.vel'}; 35 fields2={'results.DiagnosticAnalysis.vel'}; 36 36 end 37 37 … … 62 62 63 63 if ~md.cm_gradient, 64 fields1={'results. diagnostic.vx','results.diagnostic.vy','results.diagnostic.vel','results.diagnostic.parameter'};65 fields2={'results. diagnostic.vel','results.diagnostic.J'};64 fields1={'results.DiagnosticAnalysis.vx','results.DiagnosticAnalysis.vy','results.DiagnosticAnalysis.vel','results.DiagnosticAnalysis.parameter'}; 65 fields2={'results.DiagnosticAnalysis.vel','results.DiagnosticAnalysis.J'}; 66 66 67 67 %check size … … 87 87 %check inversed parameter 88 88 if ~isnan(md.cm_max), 89 if any(md.results. diagnostic.parameter>md.cm_max)89 if any(md.results.DiagnosticAnalysis.parameter>md.cm_max) 90 90 disp(['''control'' result not consistent: inverse parameter is greater than ' num2str(md.cm_max)]); 91 91 bool=0; return; … … 93 93 end 94 94 if ~isnan(md.cm_min), 95 if any(md.results. diagnostic.parameter<md.cm_min)95 if any(md.results.DiagnosticAnalysis.parameter<md.cm_min) 96 96 disp(['''control'' result not consistent: inverse parameter is smaller than ' num2str(md.cm_min)]); 97 97 bool=0; return; … … 99 99 end 100 100 else 101 fields={'results. diagnostic.gradient'};101 fields={'results.DiagnosticAnalysis.gradient'}; 102 102 %check size 103 103 if ~testsize(md,fields,md.numberofgrids), … … 120 120 if analysis_type==ThermalAnalysisEnum(), 121 121 122 for iter=1:length(md.results. thermal)123 124 fields1={['results. thermal(' num2str(iter) ').temperature'],['results.thermal(' num2str(iter) ').melting']};125 fields2={['results. thermal(' num2str(iter) ').temperature']};122 for iter=1:length(md.results.ThermalAnalysis) 123 124 fields1={['results.ThermalAnalysis(' num2str(iter) ').temperature'],['results.ThermalAnalysis(' num2str(iter) ').melting']}; 125 fields2={['results.ThermalAnalysis(' num2str(iter) ').temperature']}; 126 126 127 127 %check size … … 146 146 147 147 %check melting (<=0 via penalties) 148 if any(abs(md.results. thermal(iter).melting(md.numberofgrids2d+1:end))>tolerance)148 if any(abs(md.results.ThermalAnalysis(iter).melting(md.numberofgrids2d+1:end))>tolerance) 149 149 disp(['''thermal'' result not consistent: increase penalty_melting (negative melting)']); 150 150 bool=0; return; … … 156 156 if analysis_type==TransientAnalysisEnum(), 157 157 158 for iter=1:length(md.results. transient)158 for iter=1:length(md.results.TransientAnalysis) 159 159 160 160 if strcmpi(md.type,'3d'), 161 fields1={['results. transient(' num2str(iter) ').vx'],['results.transient(' num2str(iter) ').vy'],...162 ['results. transient(' num2str(iter) ').vz'],['results.transient(' num2str(iter) ').vel'],...163 ['results. transient(' num2str(iter) ').bed'],['results.transient(' num2str(iter) ').surface'],...164 ['results. transient(' num2str(iter) ').thickness'],...165 ['results. transient(' num2str(iter) ').temperature'],['results.transient(' num2str(iter) ').melting']};166 fields2={['results. transient(' num2str(iter) ').vel'],['results.transient(' num2str(iter) ').thickness'],...167 ['results. transient(' num2str(iter) ').temperature']};161 fields1={['results.TransientAnalysis(' num2str(iter) ').vx'],['results.TransientAnalysis(' num2str(iter) ').vy'],... 162 ['results.TransientAnalysis(' num2str(iter) ').vz'],['results.TransientAnalysis(' num2str(iter) ').vel'],... 163 ['results.TransientAnalysis(' num2str(iter) ').bed'],['results.TransientAnalysis(' num2str(iter) ').surface'],... 164 ['results.TransientAnalysis(' num2str(iter) ').thickness'],... 165 ['results.TransientAnalysis(' num2str(iter) ').temperature'],['results.TransientAnalysis(' num2str(iter) ').melting']}; 166 fields2={['results.TransientAnalysis(' num2str(iter) ').vel'],['results.TransientAnalysis(' num2str(iter) ').thickness'],... 167 ['results.TransientAnalysis(' num2str(iter) ').temperature']}; 168 168 else 169 fields1={['results. transient(' num2str(iter) ').vx'],['results.transient(' num2str(iter) ').vy'],...170 ['results. transient(' num2str(iter) ').vel'],...171 ['results. transient(' num2str(iter) ').bed'],['results.transient(' num2str(iter) ').surface'],...172 ['results. transient(' num2str(iter) ').thickness']};173 fields2={['results. transient(' num2str(iter) ').vel'],['results.transient(' num2str(iter) ').thickness']};169 fields1={['results.TransientAnalysis(' num2str(iter) ').vx'],['results.TransientAnalysis(' num2str(iter) ').vy'],... 170 ['results.TransientAnalysis(' num2str(iter) ').vel'],... 171 ['results.TransientAnalysis(' num2str(iter) ').bed'],['results.TransientAnalysis(' num2str(iter) ').surface'],... 172 ['results.TransientAnalysis(' num2str(iter) ').thickness']}; 173 fields2={['results.TransientAnalysis(' num2str(iter) ').vel'],['results.TransientAnalysis(' num2str(iter) ').thickness']}; 174 174 end 175 175 … … 196 196 %check melting (<=0 via penalties) 197 197 if strcmpi(md.type,'3d'), 198 if any(abs(md.results. transient(iter).melting(md.numberofgrids2d+1:end))>tolerance)198 if any(abs(md.results.TransientAnalysis(iter).melting(md.numberofgrids2d+1:end))>tolerance) 199 199 disp(['''thermal'' result not consistent: increase penalty_melting (negative melting)']); 200 200 bool=0; return; -
issm/trunk/src/m/classes/public/loadresultsfromdisk.m
r2901 r3923 25 25 md.analysis_type=structure(1).analysis_type; 26 26 if isscalar(md.sub_analysis_type), 27 md.sub_analysis_type= AnalysisTypeFromEnum(md.sub_analysis_type);27 md.sub_analysis_type=EnumAsString(md.sub_analysis_type); 28 28 end 29 29 … … 38 38 else 39 39 40 md.analysis_type = AnalysisTypeFromEnum(md.analysis_type);41 md.sub_analysis_type= AnalysisTypeFromEnum(md.sub_analysis_type);40 md.analysis_type =EnumAsString(md.analysis_type); 41 md.sub_analysis_type=EnumAsString(md.sub_analysis_type); 42 42 md=postqmu(md); 43 43 cd .. -
issm/trunk/src/m/classes/public/parametercontroloptimization.m
r3207 r3923 51 51 %current run 52 52 disp(sprintf('\n Step %i/%i, fit=%i, cm_max=%g, optscal=%g\n',count,length(cm_maxs)*length(optscals)*length(fits),fit,cm_max,optscal)) 53 md2=solve(md2,'analysis_type',' diagnostic');53 md2=solve(md2,'analysis_type','DiagnosticAnalysis'); 54 54 count=count+1; 55 55 56 56 %Check misfit difference 57 rel=(md2.results. diagnostic.J(1)-md2.results.diagnostic.J(end))/md2.results.diagnostic.J(1);57 rel=(md2.results.DiagnosticAnalysis.J(1)-md2.results.DiagnosticAnalysis.J(end))/md2.results.DiagnosticAnalysis.J(1); 58 58 disp([' ΔJ/J=' num2str(rel*100) '% for fit=' num2str(fit) ',cm_max=' num2str(cm_max) ', and optscal=' num2str(optscal) ]); 59 59 if (rel>best), -
issm/trunk/src/m/classes/public/process_solve_options.m
r3589 r3923 19 19 outoptions.directory=getfieldvalue(options,'directory',''); 20 20 21 %convert to Enum if a string was provided 22 if ischar(analysis_type), analysis_type=eval([upper(analysis_type(1)) lower(analysis_type(2:end-8)) 'AnalysisEnum()']); end 23 if ischar(sub_analysis_type),sub_analysis_type=eval([upper(sub_analysis_type(1)) lower(sub_analysis_type(2:end-8)) 'AnalysisEnum()']); end 24 21 25 %check solution type is supported 22 if ~ismemberi(analysis_type,{'diagnostic','prognostic','prognostic2','thermal','steadystate','parameters','transient',... 23 'balancedthickness','balancedthickness2','balancedvelocities','slopecompute'}), 24 error(['process_solve_options error message: analysis_type ' analysis_type ' not supported yet!']); 25 else 26 %convert to enum 27 outoptions.analysis_type=eval([upper(analysis_type(1)) lower(analysis_type(2:end)) 'AnalysisEnum()']); 26 if ~ismember(analysis_type,[DiagnosticAnalysisEnum,PrognosticAnalysisEnum,Prognostic2AnalysisEnum,ThermalAnalysisEnum,SteadystateAnalysisEnum,ParametersAnalysisEnum,TransientAnalysisEnum,... 27 BalancedthicknessAnalysisEnum,Balancedthickness2AnalysisEnum,BalancedvelocitiesAnalysisEnum,SlopecomputeAnalysisEnum]), 28 error(['process_solve_options error message: analysis_type ' EnumAsString(analysis_type) ' not supported yet!']); 28 29 end 29 if ~ismember i(sub_analysis_type,{'steady','transient','none','horiz','adjoint','gradient','inverse','vert',''}),30 if ~ismember(sub_analysis_type,[SteadyAnalysisEnum,TransientAnalysisEnum,NoneAnalysisEnum,HorizAnalysisEnum,AdjointAnalysisEnum,GradientAnalysisEnum,InverseAnalysisEnum,VertAnalysisEnum]), 30 31 error(['process_solve_options error message: sub_analysis_type ' sub_analysis_type ' not supported yet!']); 31 else32 %convert to enum33 outoptions.sub_analysis_type=eval([upper(sub_analysis_type(1)) lower(sub_analysis_type(2:end)) 'AnalysisEnum()']);34 32 end 33 outoptions.analysis_type=analysis_type; 34 outoptions.sub_analysis_type=sub_analysis_type; 35 35 36 36 % process qmu arguments -
issm/trunk/src/m/classes/public/queue/ClusterScript.m
r3308 r3923 24 24 fprintf(fid,'ulimit -s unlimited\n'); 25 25 fprintf(fid,'ulimit -c 0\n'); 26 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',np,codepath, AnalysisTypeFromEnum(analysis_type),executionpath,name,name,name);26 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',np,codepath,EnumAsString(analysis_type),executionpath,name,name,name); 27 27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 28 28 … … 39 39 fprintf(fid,'rm -rf %s/%s.lock\n',executionpath,name); 40 40 if mem_debug==0, 41 fprintf(fid,'mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',np,codepath, AnalysisTypeFromEnum(analysis_type),executionpath,name,name,name,name,name);41 fprintf(fid,'mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',np,codepath,EnumAsString(analysis_type),executionpath,name,name,name,name,name); 42 42 else 43 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',[ISSM_DIR '/externalpackages/valgrind/install/lib/libmpidebug.so'],np,[ISSM_DIR '/externalpackages/valgrind/install/bin/valgrind'],codepath, AnalysisTypeFromEnum(analysis_type),executionpath,name,name,name,name,name);43 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',[ISSM_DIR '/externalpackages/valgrind/install/lib/libmpidebug.so'],np,[ISSM_DIR '/externalpackages/valgrind/install/bin/valgrind'],codepath,EnumAsString(analysis_type),executionpath,name,name,name,name,name); 44 44 end 45 45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 64 64 fprintf(fid,'cd $PBS_O_WORKDIR\n'); 65 65 fprintf(fid,'export OMP_NUM_THREADS=1\n'); 66 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',np-1,np,codepath, AnalysisTypeFromEnum(analysis_type),executionpath,name,name,name);66 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',np-1,np,codepath,EnumAsString(analysis_type),executionpath,name,name,name); 67 67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 68 68 … … 92 92 fprintf(fid,'cd $PBS_O_WORKDIR\n\n'); 93 93 94 fprintf(fid,'mpiexec -verbose -np %i %s/%s.exe $PBS_O_WORKDIR %s.bin %s.outbin %s.lock',np,codepath, AnalysisTypeFromEnum(analysis_type),name,name,name);94 fprintf(fid,'mpiexec -verbose -np %i %s/%s.exe $PBS_O_WORKDIR %s.bin %s.outbin %s.lock',np,codepath,EnumAsString(analysis_type),name,name,name); 95 95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 96 96 -
issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptGeneric.m
r3149 r3923 19 19 20 20 if md.mem_debug==0, 21 fprintf(fid,'mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',md.np,codepath, AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name,md.name,md.name);21 fprintf(fid,'mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',md.np,codepath,EnumAsString(md.analysis_type),executionpath,md.name,md.name,md.name,md.name,md.name); 22 22 else 23 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',[ISSM_DIR '/externalpackages/valgrind/install/lib/libmpidebug.so'],md.np,[ISSM_DIR '/externalpackages/valgrind/install/bin/valgrind'],codepath, AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name,md.name,md.name);23 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full %s/%s.exe %s %s.bin %s.outbin %s.lock 2> %s.errlog >%s.outlog & ',[ISSM_DIR '/externalpackages/valgrind/install/lib/libmpidebug.so'],md.np,[ISSM_DIR '/externalpackages/valgrind/install/bin/valgrind'],codepath,EnumAsString(md.analysis_type),executionpath,md.name,md.name,md.name,md.name,md.name); 24 24 end 25 25 -
issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptcosmos.m
r3149 r3923 17 17 fprintf(fid,'ulimit -s unlimited\n'); 18 18 fprintf(fid,'ulimit -c 0\n'); 19 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',md.np,codepath, AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name);19 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',md.np,codepath,EnumAsString(md.analysis_type),executionpath,md.name,md.name,md.name); 20 20 21 21 -
issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptgemini.m
r3149 r3923 18 18 fprintf(fid,'cd $PBS_O_WORKDIR\n'); 19 19 fprintf(fid,'export OMP_NUM_THREADS=1\n'); 20 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',md.np-1,md.np,codepath, AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name);20 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',md.np-1,md.np,codepath,EnumAsString(md.analysis_type),executionpath,md.name,md.name,md.name); 21 21 22 22 fclose(fid); -
issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptgreenplanet.m
r3149 r3923 17 17 18 18 fprintf(fid,'cd $PBS_O_WORKDIR\n'); 19 fprintf(fid,'mpirun -machinefile $PBS_NODEFILE -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock > %s.outlog',md.np,codepath, AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name,md.name);19 fprintf(fid,'mpirun -machinefile $PBS_NODEFILE -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock > %s.outlog',md.np,codepath,EnumAsString(md.analysis_type),executionpath,md.name,md.name,md.name,md.name); 20 20 21 21 fclose(fid); -
issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptpfe.m
r3149 r3923 45 45 fprintf(fid,'cd $PBS_O_WORKDIR\n\n'); 46 46 47 fprintf(fid,'mpiexec -verbose -np %i %s/%s.exe $PBS_O_WORKDIR %s.bin %s.outbin %s.lock',md.np,codepath, AnalysisTypeFromEnum(md.analysis_type),md.name,md.name,md.name);47 fprintf(fid,'mpiexec -verbose -np %i %s/%s.exe $PBS_O_WORKDIR %s.bin %s.outbin %s.lock',md.np,codepath,EnumAsString(md.analysis_type),md.name,md.name,md.name); 48 48 49 49 fclose(fid); -
issm/trunk/src/m/classes/public/solve.m
r3589 r3923 4 4 % Usage: 5 5 % md=solve(md,varargin) 6 % where varargin is a lit of paired arguments .7 % arguments can be: 'analysis_type': ' diagnostic','thermal','prognostic','transient'8 % arguments can be: 'sub_analysis_type': ' transient','steady','' (default if empty = 'steady')6 % where varargin is a lit of paired arguments of string OR enums 7 % arguments can be: 'analysis_type': 'DiagnosticAnalysis','ThermalAnalysis','PrognosticAnalysis','TransientAnalysis' 8 % arguments can be: 'sub_analysis_type': 'TransientAnalysis','SteadyAnalysis','NoneAnalysisEnum' 9 9 % 10 10 % Examples: 11 % md=solve(md,'analysis_type', 'diagnostic');12 % md=solve(md,'analysis_type',' thermal','sub_analysis_type','transient');13 % md=solve(md,'analysis_type', 'thermal','sub_analysis_type','steady');14 % md=solve(md,'analysis_type',' thermal');11 % md=solve(md,'analysis_type',DiagnosticAnalysisEnum); 12 % md=solve(md,'analysis_type','ThermalAnalysis','sub_analysis_type','TransientAnalysis'); 13 % md=solve(md,'analysis_type',ThermalAnalysisEnum,'sub_analysis_type',SteadyAnalysisEnum); 14 % md=solve(md,'analysis_type','ThermalAnalysis'); 15 15 16 16 %some checks on list of arguments … … 103 103 104 104 %convert analysis type to string finally 105 md.analysis_type= AnalysisTypeFromEnum(options.analysis_type);106 md.sub_analysis_type= AnalysisTypeFromEnum(options.sub_analysis_type);105 md.analysis_type=EnumAsString(options.analysis_type); 106 md.sub_analysis_type=EnumAsString(options.sub_analysis_type); -
issm/trunk/src/m/classes/public/tres.m
r3014 r3923 5 5 % 6 6 % 7 % Example: md=tres(md, 'diagnostic');7 % Example: md=tres(md,DiagnosticAnalysisEnum); 8 8 % md=tres(md); 9 9 … … 17 17 end 18 18 19 if strcmpi(string,' diagnostic'),20 md.vx=md.results. diagnostic.vx;21 md.vy=md.results. diagnostic.vy;22 if isfield(md.results. diagnostic,'vz'),23 md.vz=md.results. diagnostic.vz;19 if strcmpi(string,'DiagnosticAnalysis'), 20 md.vx=md.results.DiagnosticAnalysis.vx; 21 md.vy=md.results.DiagnosticAnalysis.vy; 22 if isfield(md.results.DiagnosticAnalysis,'vz'), 23 md.vz=md.results.DiagnosticAnalysis.vz; 24 24 else 25 25 md.vz=zeros(md.numberofgrids,1); 26 26 end 27 md.vel=md.results. diagnostic.vel;28 if isfield(md.results. diagnostic,'pressure'),29 md.pressure=md.results. diagnostic.pressure;27 md.vel=md.results.DiagnosticAnalysis.vel; 28 if isfield(md.results.DiagnosticAnalysis,'pressure'), 29 md.pressure=md.results.DiagnosticAnalysis.pressure; 30 30 end 31 31 if md.numrifts, 32 if isfield(md.results. diagnostic,'riftproperties'),33 md.riftproperties=md.results. diagnostic.riftproperties;32 if isfield(md.results.DiagnosticAnalysis,'riftproperties'), 33 md.riftproperties=md.results.DiagnosticAnalysis.riftproperties; 34 34 end 35 35 end 36 36 if md.control_analysis==1, 37 md.(md.results. diagnostic.control_type)=md.results.diagnostic.parameter;37 md.(md.results.DiagnosticAnalysis.control_type)=md.results.DiagnosticAnalysis.parameter; 38 38 end 39 39 elseif strcmpi(string,'dakota'), 40 40 md.dakotaresults=md.results.dakota; 41 elseif strcmpi(string,' steadystate'),42 md.vx=md.results. steadystate.vx;43 md.vy=md.results. steadystate.vy;44 if isfield(md.results. steadystate,'vz'),45 md.vz=md.results. steadystate.vz;41 elseif strcmpi(string,'SteadystateAnalysis'), 42 md.vx=md.results.SteadystateAnalysis.vx; 43 md.vy=md.results.SteadystateAnalysis.vy; 44 if isfield(md.results.SteadystateAnalysis,'vz'), 45 md.vz=md.results.SteadystateAnalysis.vz; 46 46 end 47 47 48 md.vel=md.results. steadystate.vel;49 md.pressure=md.results. steadystate.pressure;50 md.temperature=md.results. steadystate.temperature;51 md.melting=md.results. steadystate.melting;52 elseif strcmpi(string,' thermal'),53 md.temperature=md.results. thermal.temperature;54 md.melting=md.results. thermal.melting;48 md.vel=md.results.SteadystateAnalysis.vel; 49 md.pressure=md.results.SteadystateAnalysis.pressure; 50 md.temperature=md.results.SteadystateAnalysis.temperature; 51 md.melting=md.results.SteadystateAnalysis.melting; 52 elseif strcmpi(string,'ThermalAnalysis'), 53 md.temperature=md.results.ThermalAnalysis.temperature; 54 md.melting=md.results.ThermalAnalysis.melting; 55 55 else 56 56 error(['tres error message: analysis ' string ' not supported yet!']); -
issm/trunk/src/m/utils/Nightly/runme.m
r3558 r3923 60 60 61 61 %CHECK analysis_type 62 analysis_type_arg=getfieldvalue(options,'analysis_type', {analysis_type});62 analysis_type_arg=getfieldvalue(options,'analysis_type',analysis_type); 63 63 if ~ismember(analysis_type,analysis_type_arg) 64 64 continue … … 66 66 67 67 %CHECK sub_analysis_type 68 sub_analysis_type_arg=getfieldvalue(options,'sub_analysis_type', {sub_analysis_type});68 sub_analysis_type_arg=getfieldvalue(options,'sub_analysis_type',sub_analysis_type); 69 69 if ~ismember(sub_analysis_type,sub_analysis_type_arg) 70 70 continue … … 134 134 135 135 %steady option? 136 if ( (strcmpi(analysis_type,' thermal') & strcmpi(sub_analysis_type,'steady')) | ...137 (strcmpi(analysis_type,' steadystate'))...136 if ( (strcmpi(analysis_type,'ThermalAnalysis') & strcmpi(sub_analysis_type,'steady')) | ... 137 (strcmpi(analysis_type,'SteadystateAnalysis'))... 138 138 ) 139 139 md.dt=0; … … 180 180 archive_name='Archive'; 181 181 for i=1:length(sequence), 182 if ischar(sequence{i}), 183 archive_name=[archive_name '_' sequence{i}]; 184 else 185 archive_name=[archive_name '_' num2str(sequence{i})]; 182 if ischar(sequence{i}), archive_name=[archive_name '_' sequence{i}]; 183 else archive_name=[archive_name '_' num2str(sequence{i})]; 186 184 end 187 185 end … … 215 213 %disp test result 216 214 if (error_diff>tolerance); 217 disp(sprintf(['\nERROR difference: %-7.2g > %7.2g test: % -15s analysis_type: %-10s sub_analysis_type: %-9s qmu: %i control: %i control_fit: %-12s parallel: %i field: %s\n'],...218 error_diff,tolerance,testname, analysis_type,sub_analysis_type,qmu,control,control_fit,parallel,field));215 disp(sprintf(['\nERROR difference: %-7.2g > %7.2g test: %s analysis_type: %s sub_analysis_type: %s qmu: %i control: %i control_fit: %s parallel: %i field: %s\n'],... 216 error_diff,tolerance,testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel,field)); 219 217 else 220 disp(sprintf(['\nSUCCESS difference: %-7.2g < %7.2g test: % -15s analysis_type: %-10s sub_analysis_type: %-9s qmu: %i control: %i control_fit: %-12s parallel: %i field: %s\n'],...221 error_diff,tolerance,testname, analysis_type,sub_analysis_type,qmu,control,control_fit,parallel,field));218 disp(sprintf(['\nSUCCESS difference: %-7.2g < %7.2g test: %s analysis_type: %s sub_analysis_type: %s qmu: %i control: %i control_fit: %s parallel: %i field: %s\n'],... 219 error_diff,tolerance,testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel,field)); 222 220 end 223 221 end … … 233 231 fprintf(fid,'%s',message); 234 232 fclose(fid); 235 disp(sprintf(['\nFAILURE test: % -15s analysis_type: %-10s sub_analysis_type: %-9s qmu: %i control: %i control_fit: %-12s parallel: %i\n'],...236 testname, analysis_type,sub_analysis_type,qmu,control,control_fit,parallel));233 disp(sprintf(['\nFAILURE test: %s analysis_type: %s sub_analysis_type: %s qmu: %i control: %i control_fit: %s parallel: %i\n'],... 234 testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel)); 237 235 end 238 236 end -
issm/trunk/src/m/utils/Nightly/testsgetfields.m
r3562 r3923 9 9 % 10 10 % Example: 11 % fields=testsgetfields(md,' diagnostic')11 % fields=testsgetfields(md,'DiagnosticAnalysis') 12 12 % 13 13 % See also: TESTSGETANALYSIS, TESTGETPACKAGE … … 21 21 parallel=sequence{6}; 22 22 23 if strcmpi(analysis_type,'diagnostic'),23 if (analysis_type==DiagnosticAnalysisEnum), 24 24 if control, 25 fields={' diagnostic.vel','diagnostic.J','diagnostic.parameter'};25 fields={'DiagnosticAnalysis.vel','DiagnosticAnalysis.J','DiagnosticAnalysis.parameter'}; 26 26 elseif qmu, 27 27 fields={'dakota.importancefactors'}; 28 28 else 29 29 if strcmpi(md.type,'3d') 30 fields={' diagnostic.vy','diagnostic.vz'};30 fields={'DiagnosticAnalysis.vy','DiagnosticAnalysis.vz'}; 31 31 else 32 fields={' diagnostic.vel'};32 fields={'DiagnosticAnalysis.vel'}; 33 33 end 34 34 end 35 35 36 elseif strcmpi(analysis_type,'thermal'),37 fields={' thermal(end).temperature','thermal(end).melting'};36 elseif (analysis_type==ThermalAnalysisEnum), 37 fields={'ThermalAnalysis(end).temperature','ThermalAnalysis(end).melting'}; 38 38 39 elseif strcmpi(analysis_type,'prognostic'),40 fields={' prognostic.thickness'};39 elseif (analysis_type==PrognosticAnalysisEnum), 40 fields={'PrognosticAnalysis.thickness'}; 41 41 42 elseif strcmpi(analysis_type,'prognostic2'),43 fields={' prognostic2.thickness'};42 elseif (analysis_type==Prognostic2AnalysisEnum), 43 fields={'Prognostic2Analysis.thickness'}; 44 44 45 elseif strcmpi(analysis_type,'transient'),45 elseif (analysis_type==TransientAnalysisEnum), 46 46 if strcmpi(md.type,'3d') 47 fields={' transient(end).vel','transient(end).pressure','transient(end).temperature','transient(end).melting','transient(end).thickness','transient(end).surface','transient(end).bed'};47 fields={'TransientAnalysis(end).vel','TransientAnalysis(end).pressure','TransientAnalysis(end).temperature','TransientAnalysis(end).melting','TransientAnalysis(end).thickness','TransientAnalysis(end).surface','TransientAnalysis(end).bed'}; 48 48 else 49 fields={' transient(end).vel','transient(end).thickness','transient(end).surface','transient(end).bed'};49 fields={'TransientAnalysis(end).vel','TransientAnalysis(end).thickness','TransientAnalysis(end).surface','TransientAnalysis(end).bed'}; 50 50 end 51 51 52 elseif strcmpi(analysis_type,'steadystate'),52 elseif (analysis_type==SteadystateAnalysisEnum), 53 53 if control, 54 fields={' steadystate.vel','steadystate.J','steadystate.parameter'};54 fields={'SteadystateAnalysis.vel','SteadystateAnalysis.J','SteadystateAnalysis.parameter'}; 55 55 else 56 fields={' steadystate.vel','steadystate.pressure','steadystate.temperature'};56 fields={'SteadystateAnalysis.vel','SteadystateAnalysis.pressure','SteadystateAnalysis.temperature'}; 57 57 end 58 58 59 elseif strcmpi(analysis_type,'balancedthickness'),60 fields={' balancedthickness.thickness'};59 elseif (analysis_type==BalancedthicknessAnalysisEnum), 60 fields={'BalancedthicknessAnalysis.thickness'}; 61 61 62 elseif strcmpi(analysis_type,'slopecompute'),63 fields={' slopecompute.slopex','slopecompute.slopey'};62 elseif (analysis_type==SlopecomputeAnalysisEnum), 63 fields={'SlopecomputeAnalysis.slopex','SlopecomputeAnalysis.slopey'}; 64 64 65 65 else -
issm/trunk/src/m/utils/Nightly/testsgettolerance.m
r3562 r3923 22 22 23 23 else 24 if strcmpi(analysis_type,'balancedthickness'),24 if (analysis_type==BalancedthicknessAnalysisEnum), 25 25 tolerance=10^-14; 26 26 27 elseif strcmpi(analysis_type,'slopecompute'),27 elseif (analysis_type==SlopecomputeAnalysisEnum), 28 28 tolerance=10^-14; 29 29 30 elseif strcmpi(analysis_type,'prognostic'),30 elseif (analysis_type==PrognosticAnalysisEnum), 31 31 tolerance=10^-14; 32 32 33 elseif strcmpi(analysis_type,'prognostic2'),33 elseif (analysis_type==Prognostic2AnalysisEnum), 34 34 tolerance=10^-14; 35 35 36 elseif strcmpi(analysis_type,'transient'),36 elseif (analysis_type==TransientAnalysisEnum), 37 37 if strcmpi(md.type,'2d'), 38 38 tolerance=10^-11; … … 47 47 end 48 48 49 elseif strcmpi(analysis_type,'diagnostic'),49 elseif (analysis_type==DiagnosticAnalysisEnum), 50 50 if md.isstokes, 51 51 tolerance=10^-4; … … 58 58 end 59 59 60 elseif strcmpi(analysis_type,'thermal'),60 elseif (analysis_type==ThermalAnalysisEnum), 61 61 if strncmpi(fliplr(field),fliplr('melting'),7), 62 62 tolerance=10^-6; … … 65 65 end 66 66 67 elseif ( strcmpi(analysis_type,'steadystate')),67 elseif (analysis_type==SteadystateAnalysisEnum), 68 68 if md.isstokes | md.control_analysis, 69 69 tolerance=5*10^-4;
Note:
See TracChangeset
for help on using the changeset viewer.