Changeset 3923


Ignore:
Timestamp:
05/24/10 14:41:32 (15 years ago)
Author:
Mathieu Morlighem
Message:

no more enum/AnalysisTypeFromEnum, use Enums only

Location:
issm/trunk/src
Files:
1 deleted
17 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/Makefile.am

    r3913 r3923  
    919919bin_PROGRAMS =
    920920else
    921 bin_PROGRAMS = diagnostic.exe thermal.exe prognostic.exe prognostic2.exe balancedthickness.exe balancedthickness2.exe balancedvelocities.exe transient.exe steadystate.exe slopecompute.exe
     921bin_PROGRAMS = DiagnosticAnalysis.exe ThermalAnalysis.exe PrognosticAnalysis.exe Prognostic2Analysis.exe BalancedthicknessAnalysis.exe Balancedthickness2Analysis.exe BalancedvelocitiesAnalysis.exe TransientAnalysis.exe SteadystateAnalysis.exe SlopecomputeAnalysis.exe
    922922endif
    923923
    924924LDADD =    ./libpISSM.a $(PETSCLIB)    $(FLIBS)  $(PLAPACKLIB)  $(MUMPSLIB) $(SCALAPACKLIB)  $(BLACSLIB)  $(DAKOTALIB) $(METISLIB) $(BLASLAPACKLIB)  $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) libOverload.a
    925925
    926 diagnostic_exe_SOURCES = solutions/diagnostic.cpp
    927 diagnostic_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    928 
    929 steadystate_exe_SOURCES = solutions/steadystate.cpp
    930 steadystate_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    931 
    932 thermal_exe_SOURCES = solutions/thermal.cpp
    933 thermal_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    934 
    935 prognostic_exe_SOURCES = solutions/prognostic.cpp
    936 prognostic_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    937 
    938 prognostic2_exe_SOURCES = solutions/prognostic2.cpp
    939 prognostic2_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    940 
    941 balancedthickness_exe_SOURCES = solutions/balancedthickness.cpp
    942 balancedthickness_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    943 
    944 balancedthickness2_exe_SOURCES = solutions/balancedthickness2.cpp
    945 balancedthickness2_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    946 
    947 balancedvelocities_exe_SOURCES = solutions/balancedvelocities.cpp
    948 balancedvelocities_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    949 
    950 slopecompute_exe_SOURCES = solutions/slopecompute.cpp
    951 slopecompute_exe_CXXFLAGS= -fPIC -D_PARALLEL_
    952 
    953 transient_exe_SOURCES = solutions/transient.cpp
    954 transient_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     926DiagnosticAnalysis_exe_SOURCES = solutions/diagnostic.cpp
     927DiagnosticAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     928
     929SteadystateAnalysis_exe_SOURCES = solutions/steadystate.cpp
     930SteadystateAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     931
     932ThermalAnalysis_exe_SOURCES = solutions/thermal.cpp
     933ThermalAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     934
     935PrognosticAnalysis_exe_SOURCES = solutions/prognostic.cpp
     936PrognosticAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     937
     938Prognostic2Analysis_exe_SOURCES = solutions/prognostic2.cpp
     939Prognostic2Analysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     940
     941BalancedthicknessAnalysis_exe_SOURCES = solutions/balancedthickness.cpp
     942BalancedthicknessAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     943
     944Balancedthickness2Analysis_exe_SOURCES = solutions/balancedthickness2.cpp
     945Balancedthickness2Analysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     946
     947BalancedvelocitiesAnalysis_exe_SOURCES = solutions/balancedvelocities.cpp
     948BalancedvelocitiesAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     949
     950SlopecomputeAnalysis_exe_SOURCES = solutions/slopecompute.cpp
     951SlopecomputeAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
     952
     953TransientAnalysis_exe_SOURCES = solutions/transient.cpp
     954TransientAnalysis_exe_CXXFLAGS= -fPIC -D_PARALLEL_
  • issm/trunk/src/m/classes/public/graddetection.m

    r2759 r3923  
    88
    99%solve first batch of control methods, with given settings.
    10 md2=solve(md2,'analysis_type','diagnostic');
     10md2=solve(md2,'analysis_type','DiagnosticAnalysis');
    1111
    1212%record final optimized parameter.
    13 parameter1=md2.results.diagnostic.parameter;
     13parameter1=md2.results.DiagnosticAnalysis.parameter;
    1414
    1515%plug optimized parameter in model.
    16 md2.(md2.results.diagnostic.control_type)=parameter1;
     16md2.(md2.results.DiagnosticAnalysis.control_type)=parameter1;
    1717
    1818%put nsteps to 1:
     
    2424
    2525%rerun control method with optimized parameter, only for 1 more step.
    26 md2=solve(md2,'analysis_type','diagnostic');
     26md2=solve(md2,'analysis_type','DiagnosticAnalysis');
    2727
    2828%get optimized parameter after 1 more step.
    29 parameter2=md2.results.diagnostic.parameter;
     29parameter2=md2.results.DiagnosticAnalysis.parameter;
    3030
    3131%return relative  difference between nsteps+1 and nsteps;
  • issm/trunk/src/m/classes/public/isresultconsistent.m

    r2881 r3923  
    2929
    3030        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'};
    3333        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'};
    3636        end
    3737
     
    6262
    6363        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'};
    6666
    6767                %check size
     
    8787                %check inversed parameter
    8888                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)
    9090                                disp(['''control'' result not consistent: inverse parameter is greater than ' num2str(md.cm_max)]);
    9191                                bool=0; return;
     
    9393                end
    9494                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)
    9696                                disp(['''control'' result not consistent: inverse parameter is smaller than ' num2str(md.cm_min)]);
    9797                                bool=0; return;
     
    9999                end
    100100        else
    101                 fields={'results.diagnostic.gradient'};
     101                fields={'results.DiagnosticAnalysis.gradient'};
    102102                %check size
    103103                if ~testsize(md,fields,md.numberofgrids),
     
    120120if analysis_type==ThermalAnalysisEnum(),
    121121
    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']};
    126126
    127127                %check size
     
    146146
    147147                %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)
    149149                        disp(['''thermal'' result not consistent: increase penalty_melting (negative melting)']);
    150150                        bool=0; return;
     
    156156if analysis_type==TransientAnalysisEnum(),
    157157
    158         for iter=1:length(md.results.transient)
     158        for iter=1:length(md.results.TransientAnalysis)
    159159
    160160                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']};
    168168                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']};
    174174                end
    175175
     
    196196                %check melting (<=0 via penalties)
    197197                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)
    199199                                disp(['''thermal'' result not consistent: increase penalty_melting (negative melting)']);
    200200                                bool=0; return;
  • issm/trunk/src/m/classes/public/loadresultsfromdisk.m

    r2901 r3923  
    2525        md.analysis_type=structure(1).analysis_type;
    2626        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);
    2828        end
    2929
     
    3838else
    3939
    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);
    4242        md=postqmu(md);
    4343        cd ..
  • issm/trunk/src/m/classes/public/parametercontroloptimization.m

    r3207 r3923  
    5151                        %current run
    5252                        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');
    5454                        count=count+1;
    5555
    5656                        %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);
    5858                        disp(['   ΔJ/J=' num2str(rel*100) '% for fit=' num2str(fit) ',cm_max=' num2str(cm_max) ', and optscal=' num2str(optscal) ]);
    5959                        if (rel>best),
  • issm/trunk/src/m/classes/public/process_solve_options.m

    r3589 r3923  
    1919outoptions.directory=getfieldvalue(options,'directory','');
    2020
     21%convert to Enum if a string was provided
     22if ischar(analysis_type),        analysis_type=eval([upper(analysis_type(1))     lower(analysis_type(2:end-8))     'AnalysisEnum()']); end
     23if ischar(sub_analysis_type),sub_analysis_type=eval([upper(sub_analysis_type(1)) lower(sub_analysis_type(2:end-8)) 'AnalysisEnum()']); end
     24
    2125%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()']);
     26if ~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!']);
    2829end
    29 if ~ismemberi(sub_analysis_type,{'steady','transient','none','horiz','adjoint','gradient','inverse','vert',''}),
     30if ~ismember(sub_analysis_type,[SteadyAnalysisEnum,TransientAnalysisEnum,NoneAnalysisEnum,HorizAnalysisEnum,AdjointAnalysisEnum,GradientAnalysisEnum,InverseAnalysisEnum,VertAnalysisEnum]),
    3031        error(['process_solve_options error message: sub_analysis_type ' sub_analysis_type ' not supported yet!']);
    31 else
    32         %convert to enum
    33         outoptions.sub_analysis_type=eval([upper(sub_analysis_type(1)) lower(sub_analysis_type(2:end)) 'AnalysisEnum()']);
    3432end
     33outoptions.analysis_type=analysis_type;
     34outoptions.sub_analysis_type=sub_analysis_type;
    3535
    3636%  process qmu arguments
  • issm/trunk/src/m/classes/public/queue/ClusterScript.m

    r3308 r3923  
    2424        fprintf(fid,'ulimit -s unlimited\n');
    2525        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);
    2727        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2828
     
    3939        fprintf(fid,'rm -rf %s/%s.lock\n',executionpath,name);
    4040        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);
    4242        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);
    4444        end
    4545        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    6464        fprintf(fid,'cd $PBS_O_WORKDIR\n');
    6565        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);
    6767        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6868
     
    9292        fprintf(fid,'cd $PBS_O_WORKDIR\n\n');
    9393
    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);
    9595        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9696
  • issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptGeneric.m

    r3149 r3923  
    1919
    2020if 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);
     21fprintf(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);
    2222else
    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);
     23fprintf(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);
    2424end
    2525
  • issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptcosmos.m

    r3149 r3923  
    1717fprintf(fid,'ulimit -s unlimited\n');
    1818fprintf(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);
     19fprintf(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);
    2020
    2121
  • issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptgemini.m

    r3149 r3923  
    1818fprintf(fid,'cd $PBS_O_WORKDIR\n');
    1919fprintf(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);
     20fprintf(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);
    2121
    2222fclose(fid);
  • issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptgreenplanet.m

    r3149 r3923  
    1717
    1818fprintf(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);
     19fprintf(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);
    2020
    2121fclose(fid);
  • issm/trunk/src/m/classes/public/queue/old/BuildQueueingScriptpfe.m

    r3149 r3923  
    4545fprintf(fid,'cd $PBS_O_WORKDIR\n\n');
    4646
    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);
     47fprintf(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);
    4848
    4949fclose(fid);
  • issm/trunk/src/m/classes/public/solve.m

    r3589 r3923  
    44%   Usage:
    55%      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'
    99%
    1010%   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');
    1515
    1616%some checks on list of arguments
     
    103103
    104104%convert analysis type to string finally
    105 md.analysis_type=AnalysisTypeFromEnum(options.analysis_type);
    106 md.sub_analysis_type=AnalysisTypeFromEnum(options.sub_analysis_type);
     105md.analysis_type=EnumAsString(options.analysis_type);
     106md.sub_analysis_type=EnumAsString(options.sub_analysis_type);
  • issm/trunk/src/m/classes/public/tres.m

    r3014 r3923  
    55%
    66%
    7 %    Example: md=tres(md,'diagnostic');
     7%    Example: md=tres(md,DiagnosticAnalysisEnum);
    88%             md=tres(md);
    99
     
    1717end
    1818
    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;
     19if 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;
    2424        else
    2525                md.vz=zeros(md.numberofgrids,1);
    2626        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;
    3030        end
    3131        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;
    3434                end
    3535        end
    3636        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;
    3838        end
    3939elseif strcmpi(string,'dakota'),
    4040        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;
     41elseif 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;
    4646        end
    4747
    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;
     52elseif strcmpi(string,'ThermalAnalysis'),
     53        md.temperature=md.results.ThermalAnalysis.temperature;
     54        md.melting=md.results.ThermalAnalysis.melting;
    5555else
    5656        error(['tres error message: analysis ' string ' not supported yet!']);
  • issm/trunk/src/m/utils/Nightly/runme.m

    r3558 r3923  
    6060
    6161        %CHECK analysis_type
    62         analysis_type_arg=getfieldvalue(options,'analysis_type',{analysis_type});
     62        analysis_type_arg=getfieldvalue(options,'analysis_type',analysis_type);
    6363        if ~ismember(analysis_type,analysis_type_arg)
    6464                continue
     
    6666
    6767        %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);
    6969        if ~ismember(sub_analysis_type,sub_analysis_type_arg)
    7070                continue
     
    134134
    135135        %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'))...
    138138                )
    139139                md.dt=0;
     
    180180                archive_name='Archive';
    181181                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})];
    186184                        end
    187185                end
     
    215213                                %disp test result
    216214                                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));
    219217                                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));
    222220                                end
    223221                        end
     
    233231                fprintf(fid,'%s',message);
    234232                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));
    237235        end
    238236end
  • issm/trunk/src/m/utils/Nightly/testsgetfields.m

    r3562 r3923  
    99%
    1010%   Example:
    11 %      fields=testsgetfields(md,'diagnostic')
     11%      fields=testsgetfields(md,'DiagnosticAnalysis')
    1212%
    1313%   See also: TESTSGETANALYSIS, TESTGETPACKAGE
     
    2121parallel=sequence{6};
    2222
    23 if strcmpi(analysis_type,'diagnostic'),
     23if (analysis_type==DiagnosticAnalysisEnum),
    2424        if control,
    25                 fields={'diagnostic.vel','diagnostic.J','diagnostic.parameter'};
     25                fields={'DiagnosticAnalysis.vel','DiagnosticAnalysis.J','DiagnosticAnalysis.parameter'};
    2626        elseif qmu,
    2727                fields={'dakota.importancefactors'};
    2828        else
    2929                if strcmpi(md.type,'3d')
    30                         fields={'diagnostic.vy','diagnostic.vz'};
     30                        fields={'DiagnosticAnalysis.vy','DiagnosticAnalysis.vz'};
    3131                else
    32                         fields={'diagnostic.vel'};
     32                        fields={'DiagnosticAnalysis.vel'};
    3333                end
    3434        end
    3535
    36 elseif strcmpi(analysis_type,'thermal'),
    37         fields={'thermal(end).temperature','thermal(end).melting'};
     36elseif (analysis_type==ThermalAnalysisEnum),
     37        fields={'ThermalAnalysis(end).temperature','ThermalAnalysis(end).melting'};
    3838
    39 elseif strcmpi(analysis_type,'prognostic'),
    40         fields={'prognostic.thickness'};
     39elseif (analysis_type==PrognosticAnalysisEnum),
     40        fields={'PrognosticAnalysis.thickness'};
    4141
    42 elseif strcmpi(analysis_type,'prognostic2'),
    43         fields={'prognostic2.thickness'};
     42elseif (analysis_type==Prognostic2AnalysisEnum),
     43        fields={'Prognostic2Analysis.thickness'};
    4444
    45 elseif strcmpi(analysis_type,'transient'),
     45elseif (analysis_type==TransientAnalysisEnum),
    4646        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'};
    4848        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'};
    5050        end
    5151
    52 elseif strcmpi(analysis_type,'steadystate'),
     52elseif (analysis_type==SteadystateAnalysisEnum),
    5353        if control,
    54                 fields={'steadystate.vel','steadystate.J','steadystate.parameter'};
     54                fields={'SteadystateAnalysis.vel','SteadystateAnalysis.J','SteadystateAnalysis.parameter'};
    5555        else
    56                 fields={'steadystate.vel','steadystate.pressure','steadystate.temperature'};
     56                fields={'SteadystateAnalysis.vel','SteadystateAnalysis.pressure','SteadystateAnalysis.temperature'};
    5757        end
    5858
    59 elseif strcmpi(analysis_type,'balancedthickness'),
    60         fields={'balancedthickness.thickness'};
     59elseif (analysis_type==BalancedthicknessAnalysisEnum),
     60        fields={'BalancedthicknessAnalysis.thickness'};
    6161
    62 elseif strcmpi(analysis_type,'slopecompute'),
    63         fields={'slopecompute.slopex','slopecompute.slopey'};
     62elseif (analysis_type==SlopecomputeAnalysisEnum),
     63        fields={'SlopecomputeAnalysis.slopex','SlopecomputeAnalysis.slopey'};
    6464
    6565else
  • issm/trunk/src/m/utils/Nightly/testsgettolerance.m

    r3562 r3923  
    2222
    2323else
    24         if strcmpi(analysis_type,'balancedthickness'),
     24        if (analysis_type==BalancedthicknessAnalysisEnum),
    2525                tolerance=10^-14;
    2626
    27         elseif strcmpi(analysis_type,'slopecompute'),
     27        elseif (analysis_type==SlopecomputeAnalysisEnum),
    2828                tolerance=10^-14;
    2929
    30         elseif strcmpi(analysis_type,'prognostic'),
     30        elseif (analysis_type==PrognosticAnalysisEnum),
    3131                tolerance=10^-14;
    3232
    33         elseif strcmpi(analysis_type,'prognostic2'),
     33        elseif (analysis_type==Prognostic2AnalysisEnum),
    3434                tolerance=10^-14;
    3535
    36         elseif strcmpi(analysis_type,'transient'),
     36        elseif (analysis_type==TransientAnalysisEnum),
    3737                if strcmpi(md.type,'2d'),
    3838                        tolerance=10^-11;
     
    4747                end
    4848
    49         elseif strcmpi(analysis_type,'diagnostic'),
     49        elseif (analysis_type==DiagnosticAnalysisEnum),
    5050                if md.isstokes,
    5151                        tolerance=10^-4;
     
    5858                end
    5959
    60         elseif strcmpi(analysis_type,'thermal'),
     60        elseif (analysis_type==ThermalAnalysisEnum),
    6161                if strncmpi(fliplr(field),fliplr('melting'),7),
    6262                        tolerance=10^-6;
     
    6565                end
    6666
    67         elseif (strcmpi(analysis_type,'steadystate')),
     67        elseif (analysis_type==SteadystateAnalysisEnum),
    6868                        if md.isstokes | md.control_analysis,
    6969                                tolerance=5*10^-4;
Note: See TracChangeset for help on using the changeset viewer.