Changeset 24507


Ignore:
Timestamp:
01/10/20 16:46:20 (5 years ago)
Author:
schlegel
Message:

BUG: array size needs to be set to max array size of output arrays are corrupted

Location:
issm/trunk-jpl/src/c
Files:
4 edited

Legend:

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

    r24504 r24507  
    36653665        Input2 *teValue_input       = this->GetInput2(SmbTeValueEnum);      _assert_(teValue_input);
    36663666        Input2 *aValue_input        = this->GetInput2(SmbAValueEnum);       _assert_(aValue_input);
    3667         Input2 *EC_input            = this->GetInput2(SmbECiniEnum);        _assert_(EC_input);
     3667        Input2 *EC_input            = NULL;
    36683668
    36693669        /*Retrieve input values:*/
     
    37003700                this->inputs2->GetArray(SmbAiniEnum,this->lid,&aini,&m);
    37013701                this->inputs2->GetArray(SmbTiniEnum,this->lid,&Tini,&m);
     3702                EC_input = this->GetInput2(SmbECiniEnum);  _assert_(EC_input);
    37023703                EC_input->GetInputAverage(&EC);
    37033704
     
    37553756                this->inputs2->GetArray(SmbAEnum,this->lid,&a,&m);
    37563757                this->inputs2->GetArray(SmbTEnum,this->lid,&T,&m);
     3758                EC_input = this->GetInput2(SmbECEnum);  _assert_(EC_input);
    37573759                EC_input->GetInputAverage(&EC);
     3760                EC=EC*dt*rho_ice;
    37583761
    37593762                //fixed lower temperature bounday condition - T is fixed
     
    37923795                if(VerboseSmb() && this->Sid()==0 && IssmComm::GetRank()==0)_printf0_("Time: t=" << setprecision(8) << t/365.0/24.0/3600.0 << " yr/" << (time+dt)/365.0/24.0/3600.0 << " yr" << setprecision(3) << " Step: " << count << "\n");
    37933796
    3794                 Input2* Ta_input  = this->GetInput2(SmbTaEnum,t-time+timeclim);    _assert_(Ta_input);
     3797                Input2 *Ta_input  = this->GetInput2(SmbTaEnum,t-time+timeclim);    _assert_(Ta_input);
    37953798                Input2 *V_input   = this->GetInput2(SmbVEnum,t-time+timeclim);     _assert_(V_input);
    37963799                Input2 *Dlwr_input= this->GetInput2(SmbDlwrfEnum,t-time+timeclim); _assert_(Dlwr_input);
     
    38093812                pAir_input->GetInputValue(&pAir,gauss);  // screen level air pressure [Pa]
    38103813                teValue_input->GetInputValue(&teValue,gauss);  // Emissivity [0-1]
    3811                 aValue_input->GetInputValue(&aValue,gauss);  // screen level air pressure [Pa]
     3814                aValue_input->GetInputValue(&aValue,gauss);  // Albedo [0 1]
    38123815                //_printf_("Time: " << t << " Ta: " << Ta << " V: " << V << " dlw: " << dlw << " dsw: " << dsw << " P: " << P << " eAir: " << eAir << " pAir: " << pAir << "\n");
    38133816                /*}}}*/
     
    39223925        this->inputs2->SetArrayInput(SmbWEnum,this->lid,W,m);
    39233926        this->inputs2->SetArrayInput(SmbAEnum,this->lid,a,m);
    3924         this->inputs2->SetArrayInput(SmbAEnum,this->lid,a,m);
    39253927        this->SetElementInput(SmbECEnum,sumEC/dt/rho_ice);
    39263928        this->SetElementInput(SmbMassBalanceEnum,(sumP + sumEC -sumR)/dt/rho_ice);
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r24498 r24507  
    24242424                                                        if(rank_arraysize>max_rank_arraysize)max_rank_arraysize=rank_arraysize;
    24252425                                                }
     2426                                                rank_arraysize=max_rank_arraysize;
    24262427
    24272428                                                /*Broadcast for cpus that do not have any elements*/
     
    24952496                                                                for(int j=0;j<elements->Size();j++){
    24962497                                                                        Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(j));
    2497                                                                         element->ResultToMatrix(values,ncols, output_enum);
     2498                                                                        element->ResultToMatrix(values,ncols,output_enum);
    24982499                                                                }
    24992500                                                                /*Gather from all cpus*/
  • issm/trunk-jpl/src/c/cores/smb_core.cpp

    r24240 r24507  
    3737        int numaveragedinput;
    3838        femmodel->parameters->FindParam(&dtslices,SmbStepsPerStepEnum);
    39         /*intermiedaries to deal with averaging*/
     39        /*intermediaries to deal with averaging*/
    4040        static const int substeplist[2] = {SmbMassBalanceSubstepEnum,SmbRunoffSubstepEnum};
    4141        static const int transientlist[2] = {SmbMassBalanceTransientEnum,SmbRunoffTransientEnum};
     
    5353        }
    5454
    55         /*if yes compute necessary intermiedaries and start looping*/
     55        /*if yes compute necessary intermediaries and start looping*/
    5656        if (dtslices>1){
    5757                int        substep;
  • issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp

    r24280 r24507  
    650650        // discretized heat equation:
    651651
    652         //                 Tp = (Au*Tu° + Ad*Td° + (Ap-Au-Ad)Tp° + S) / Ap
     652        //                 Tp = (Au*Tuo+ Ad*Tdo+ (Ap-Au-Ad)Tpo+ S) / Ap
    653653
    654654        // where neighbor coefficients Au, Ap, & Ad are
     
    659659
    660660        // and u & d represent grid points up and down from the center grid point
    661         // p and // u & d represent grid points up and down from the center grid
    662         // point p and ° identifies previous time step values. S is a source term.
     661        // point p and o identifies previous time step values. S is a source term.
    663662
    664663        // u, d, and p conductivities
Note: See TracChangeset for help on using the changeset viewer.