Changeset 27108


Ignore:
Timestamp:
06/24/22 12:25:19 (3 years ago)
Author:
Eric.Larour
Message:

CHG: fixed segfault, nasty!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-larour-SLPS2022/src/c/classes/BarystaticContributions.cpp

    r26468 r27108  
    150150        parameters->FindParam(&time,TimeEnum);
    151151        parameters->FindParam(&rho_water,MaterialsRhoSeawaterEnum);
    152 
    153152        ice->Sum(&sumice); hydro->Sum(&sumhydro); ocean->Sum(&sumocean);
    154153        results->AddResult(new GenericExternalResult<IssmDouble>(results->Size()+1,BslcEnum,this->Total()/oceanarea/rho_water,step,time));
     
    164163
    165164        if(nice){
    166                 cumice_serial=this->cumice->ToMPISerial0(); for (int i=0;i<nice;i++)cumice_serial[i]=cumice_serial[i]/oceanarea/rho_water;
    167                 results->AddResult(new GenericExternalResult<IssmDouble*>(results->Size()+1,CumBslcIcePartitionEnum,cumice_serial,nice,1,step,time));
     165                cumice_serial=this->cumice->ToMPISerial0();
     166                if(IssmComm::GetRank()==0){
     167                        for (int i=0;i<nice;i++)cumice_serial[i]=cumice_serial[i]/oceanarea/rho_water;
     168                        results->AddResult(new GenericExternalResult<IssmDouble*>(results->Size()+1,CumBslcIcePartitionEnum,cumice_serial,nice,1,step,time));
     169                }
    168170        }
    169171        if(nhydro){
    170                 cumhydro_serial=this->cumhydro->ToMPISerial0(); for (int i=0;i<nhydro;i++)cumhydro_serial[i]=cumhydro_serial[i]/oceanarea/rho_water;
    171                 results->AddResult(new GenericExternalResult<IssmDouble*>(results->Size()+1,CumBslcHydroPartitionEnum,cumhydro_serial,nhydro,1,step,time));
     172                cumhydro_serial=this->cumhydro->ToMPISerial0();
     173                if(IssmComm::GetRank()==0){
     174                        for (int i=0;i<nhydro;i++)cumhydro_serial[i]=cumhydro_serial[i]/oceanarea/rho_water;
     175                        results->AddResult(new GenericExternalResult<IssmDouble*>(results->Size()+1,CumBslcHydroPartitionEnum,cumhydro_serial,nhydro,1,step,time));
     176                }
    172177        }
    173178        if(nocean){
    174                 cumocean_serial=this->cumocean->ToMPISerial0(); for (int i=0;i<nocean;i++)cumocean_serial[i]=cumocean_serial[i]/oceanarea/rho_water;
    175                 results->AddResult(new GenericExternalResult<IssmDouble*>(results->Size()+1,CumBslcOceanPartitionEnum,cumocean_serial,nocean,1,step,time));
     179                cumocean_serial=this->cumocean->ToMPISerial0();
     180                if(IssmComm::GetRank()==0){
     181                        for (int i=0;i<nocean;i++)cumocean_serial[i]=cumocean_serial[i]/oceanarea/rho_water;
     182                        results->AddResult(new GenericExternalResult<IssmDouble*>(results->Size()+1,CumBslcOceanPartitionEnum,cumocean_serial,nocean,1,step,time));
     183                }
    176184        }
    177185
Note: See TracChangeset for help on using the changeset viewer.