Changeset 10999


Ignore:
Timestamp:
11/30/11 17:05:14 (13 years ago)
Author:
seroussi
Message:

cleaned transient for cases where isthermal=0

Location:
issm/trunk-jpl/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp

    r9761 r10999  
    2323        int dim;
    2424        int verbose;
     25        bool isthermal;
     26        bool isprognostic;
     27        bool isdiagnostic;
    2528       
    2629        /*output: */
     
    4043        iomodel->Constant(&dim,MeshDimensionEnum);
    4144        iomodel->Constant(&verbose,VerboseEnum);
     45        iomodel->Constant(&isthermal,TransientIsthermalEnum);
     46        iomodel->Constant(&isprognostic,TransientIsprognosticEnum);
     47        iomodel->Constant(&isdiagnostic,TransientIsdiagnosticEnum);
    4248       
    4349        SetVerbosityLevel(verbose);
     
    5056                if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && dim==2) continue;
    5157                if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && dim==2) continue;
     58                if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isthermal==false) continue;
     59                if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isthermal==false) continue;
     60                if(solution_type==TransientSolutionEnum && analysis_type==PrognosticAnalysisEnum && isprognostic==false) continue;
     61                if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticHorizAnalysisEnum && isdiagnostic==false) continue;
     62                if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticVertAnalysisEnum && isdiagnostic==false) continue;
     63                if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticHutterAnalysisEnum && isdiagnostic==false) continue;
    5264       
    5365                _printf_(VerboseMProcessor(),"   create datasets for analysis %s\n",EnumToStringx(analysis_type));
  • TabularUnified issm/trunk-jpl/src/c/solutions/transient_core.cpp

    r10989 r10999  
    133133                        InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum,step,time);
    134134                        InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum,step,time);
    135                         if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time);
     135                        if(dim==3 && isthermal) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time);
    136136                        InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,step,time);
    137137                        InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum,step,time);
  • TabularUnified issm/trunk-jpl/src/m/classes/basalforcings.m

    r10969 r10999  
    3131                function checkconsistency(obj,md,solution,analyses) % {{{
    3232
    33                         if ismember(PrognosticAnalysisEnum,analyses),
     33                        if ismember(PrognosticAnalysisEnum,analyses) & ~(solution==TransientSolutionEnum & md.transient.isprognostic==0),
    3434                                checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1);
    3535                        end
     
    3737                                checkfield(md,'basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
    3838                        end
    39                         if ismember(ThermalAnalysisEnum,analyses),
     39                        if ismember(ThermalAnalysisEnum,analyses) & ~(solution==TransientSolutionEnum & md.transient.isthermal==0),
    4040                                checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1);
    4141                                checkfield(md,'basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
  • TabularUnified issm/trunk-jpl/src/m/classes/diagnostic.m

    r10969 r10999  
    7474                        %Early return
    7575                        if ~ismember(DiagnosticHorizAnalysisEnum,analyses), return; end
     76                        %if ~ismember(DiagnosticHorizAnalysisEnum,analyses) |  (solution==TransientSolutionEnum & md.transient.isdiagnostic==0), return; end
    7677
    7778                        checkfield(md,'diagnostic.spcvx','forcing',1);
  • TabularUnified issm/trunk-jpl/src/m/classes/prognostic.m

    r10969 r10999  
    4242
    4343                        %Early return,
    44                         if ~ismember(PrognosticAnalysisEnum,analyses), return; end
     44                        if ~ismember(PrognosticAnalysisEnum,analyses) |  (solution==TransientSolutionEnum & md.transient.isprognostic==0), return; end
    4545
    4646                        checkfield(md,'prognostic.spcthickness','forcing',1);
  • TabularUnified issm/trunk-jpl/src/m/classes/thermal.m

    r10969 r10999  
    4646
    4747                        %Early return
    48                         if ~ismember(ThermalAnalysisEnum,analyses), return; end
     48                        if ~ismember(ThermalAnalysisEnum,analyses) | (solution==TransientSolutionEnum & md.transient.isthermal==0), return; end
    4949
    5050                        checkfield(md,'thermal.stabilization','numel',1,'values',[0 1 2]);
  • TabularUnified issm/trunk-jpl/src/m/solutions/transient_core.m

    r10649 r10999  
    8989                        femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceEnum,step,time);
    9090                        femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedEnum,step,time);
    91                         if (dim==3), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,step,time);end
     91                        if (dim==3 & isthermal), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,step,time);end
    9292                        femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,step,time);
    9393                        femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceforcingsMassBalanceEnum,step,time);
Note: See TracChangeset for help on using the changeset viewer.