Changeset 24994


Ignore:
Timestamp:
06/10/20 02:16:15 (5 years ago)
Author:
bdef
Message:

CHG:updating analysis list build for Hydro

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r24991 r24994  
    710710                        break;
    711711
    712                 case HydrologySolutionEnum:
    713                         analyses_temp[numanalyses++]=HydrologyShreveAnalysisEnum;
    714                         analyses_temp[numanalyses++]=HydrologyDCInefficientAnalysisEnum;
    715                         analyses_temp[numanalyses++]=HydrologyDCEfficientAnalysisEnum;
    716                         analyses_temp[numanalyses++]=L2ProjectionBaseAnalysisEnum;
    717                         analyses_temp[numanalyses++]=L2ProjectionEPLAnalysisEnum;
     712                case HydrologySolutionEnum:{
     713                        int hydrology_model;
     714                        iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
     715                        if(hydrology_model==HydrologyshreveEnum){
     716                                analyses_temp[numanalyses++]=HydrologyShreveAnalysisEnum;
     717                        }
     718                        else if(hydrology_model==HydrologyGlaDSEnum){
     719                                analyses_temp[numanalyses++]=HydrologyGlaDSAnalysisEnum;
     720                        }
     721                        if(hydrology_model==HydrologyshaktiEnum){
     722                                analyses_temp[numanalyses++]=HydrologyShaktiAnalysisEnum;
     723                        }
     724                        if(hydrology_model==HydrologypismEnum){
     725                                analyses_temp[numanalyses++]=HydrologyPismAnalysisEnum;
     726                        }
     727                        if(hydrology_model==HydrologydcEnum){
     728                                analyses_temp[numanalyses++]=HydrologyDCInefficientAnalysisEnum;
     729                                analyses_temp[numanalyses++]=HydrologyDCEfficientAnalysisEnum;
     730                                analyses_temp[numanalyses++]=L2ProjectionEPLAnalysisEnum;
     731                                analyses_temp[numanalyses++]=L2ProjectionBaseAnalysisEnum;
     732                        }
     733                }
    718734                        break;
    719735
     
    821837                        }
    822838                        if(ishydrology){
    823                                 analyses_temp[numanalyses++]=HydrologyShreveAnalysisEnum;
    824                                 analyses_temp[numanalyses++]=HydrologyGlaDSAnalysisEnum;
    825                                 analyses_temp[numanalyses++]=HydrologyShaktiAnalysisEnum;
    826                                 analyses_temp[numanalyses++]=HydrologyPismAnalysisEnum;
    827                                 analyses_temp[numanalyses++]=HydrologyDCInefficientAnalysisEnum;
    828                                 analyses_temp[numanalyses++]=HydrologyDCEfficientAnalysisEnum;
    829                                 analyses_temp[numanalyses++]=L2ProjectionEPLAnalysisEnum;
     839                                SolutionAnalysesList(&analyses_iter,&num_analyses_iter,iomodel,HydrologySolutionEnum);
     840            xMemCpy<int>(&analyses_temp[numanalyses],analyses_iter,num_analyses_iter);
     841                                numanalyses+=num_analyses_iter; xDelete<int>(analyses_iter);
    830842                        }
    831843                        if(isdamage){
     
    46984710        pRSLgi->SetValues(gsize,indices,RSLgi,ADD_VAL);
    46994711        pRSLgi->Assemble();
    4700        
     4712
    47014713        /*Sum all eustatic components from all cpus:*/
    47024714        ISSM_MPI_Reduce (&eustatic_cpu,&eustatic,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
     
    47304742        this->parameters->FindParam(&computeelastic,SealevelriseElasticEnum);
    47314743
    4732         /*Initialize temporary vector that will be used to sum eustatic components on all local elements, prior 
     4744        /*Initialize temporary vector that will be used to sum eustatic components on all local elements, prior
    47334745         * to assembly:*/
    47344746        gsize = this->nodes->NumberOfDofs(GsetEnum);
     
    48044816
    48054817        /*recover lat,long and radius vectors from vertices: */
    4806         VertexCoordinatesx(&latitude,&longitude,&radius,this->vertices,spherical); 
     4818        VertexCoordinatesx(&latitude,&longitude,&radius,this->vertices,spherical);
    48074819
    48084820        /* Green's function (1+k_2-h_2/g): checked against Glenn Milne's thesis Chapter 3 (eqs: 3.3-4, 3.10-11)
     
    48534865        int  gsize;
    48544866        int  horiz;
    4855        
     4867
    48564868        /*retrieve parameters:*/
    48574869        this->parameters->FindParam(&horiz,SealevelriseHorizEnum);
     
    48604872        RSLg=pRSLg->ToMPISerial();
    48614873
    4862         /*Initialize temporary vector that will be used to sum eustatic components on all local elements, prior 
     4874        /*Initialize temporary vector that will be used to sum eustatic components on all local elements, prior
    48634875         * to assembly:*/
    48644876        gsize = this->nodes->NumberOfDofs(GsetEnum);
     
    49114923                oceanvalue_cpu += element->OceanAverage(RSLg_serial,masks);
    49124924        }
    4913        
     4925
    49144926        ISSM_MPI_Reduce (&oceanvalue_cpu,&oceanvalue,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() );
    49154927        ISSM_MPI_Bcast(&oceanvalue,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
Note: See TracChangeset for help on using the changeset viewer.