Changeset 27093


Ignore:
Timestamp:
06/22/22 16:10:58 (3 years ago)
Author:
Eric.Larour
Message:

CHG: various debugging.

Location:
issm/branches/trunk-larour-SLPS2022/src/c/cores
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-larour-SLPS2022/src/c/cores/mmemasstransport_core.cpp

    r27084 r27093  
    1414
    1515        /*Start profiler*/
    16         femmodel->profiler->Start(OCEANTRANSPORTCORE);
     16        femmodel->profiler->Start(MMEMASSTRANSPORTCORE);
    1717
    1818        /*parameters: */
     
    2222        int    solution_type;
    2323        Vector<IssmDouble>*  ug  = NULL;
     24        char** requested_outputs = NULL;
    2425
    2526        /*activate configuration*/
     
    2829        /*recover parameters: */
    2930        femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
     31        femmodel->parameters->FindParam(&numoutputs,MmemasstransportNumRequestedOutputsEnum);
    3032        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
     33        if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,MmemasstransportRequestedOutputsEnum);
    3134
    3235        if(VerboseSolution()) _printf0_("   computing MME mass transport\n");
    3336
    34         /*grab delta thickness from MmemasstransportDeltathicknessEnum inputs in each element, assemble into a vector and feed to
     37        /*save current thickness before updating:*/
     38        InputDuplicatex(femmodel,ThicknessEnum,ThicknessOldEnum);
     39
     40        /*grab thickness from MmemasstransportThicknessEnum inputs in each element, assemble into a vector and feed to
    3541         * InputUpdateFromSolutionx which will deal with accumulating such inputs:*/
    3642        GetSolutionFromInputsx(&ug,femmodel);
     
    3945        SolidEarthMmemasstransportUpdates(femmodel);
    4046
     47        if(save_results){
     48                femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
     49        }
    4150        if(solution_type==MmemasstransportSolutionEnum)femmodel->RequestedDependentsx();
     51
     52        /*Free ressources:*/
     53        if(numoutputs){for(int i=0;i<numoutputs;i++){xDelete<char>(requested_outputs[i]);} xDelete<char*>(requested_outputs);}
    4254
    4355        /*profiler*/
     
    5870        femmodel->parameters->FindParam(&count,SealevelchangeRunCountEnum);
    5971
    60         /* Accumulate delta thikcness: */
    61         femmodel->inputs->AXPY(+1, DeltaThicknessEnum,AccumulatedDeltaThicknessEnum);
     72        /* From old and new thickness, create delta ice thicknes, and accumulate:*/
     73        femmodel->inputs->ZAXPY(-1, ThicknessOldEnum,ThicknessEnum,DeltaIceThicknessEnum);
     74        femmodel->inputs->AXPY(+1, DeltaIceThicknessEnum,AccumulatedDeltaIceThicknessEnum);
    6275
    63         /* Compute total thickness change between two sea-level solver time steps, ie. every frequency*dt. */
     76        /* Compute total ice thickness change between two sea-level solver time steps, ie. every frequency*dt. */
    6477        if(count==frequency){
    65                 femmodel->inputs->ZAXPY(-1, OldAccumulatedDeltaThicknessEnum,AccumulatedDeltaThicknessEnum,DeltaThicknessEnum);
    66                 femmodel->inputs->DuplicateInput(AccumulatedDeltaThicknessEnum,OldAccumulatedDeltaThicknessEnum);
     78                femmodel->inputs->ZAXPY(-1, OldAccumulatedDeltaIceThicknessEnum,AccumulatedDeltaIceThicknessEnum,DeltaIceThicknessEnum);
     79                femmodel->inputs->DuplicateInput(AccumulatedDeltaIceThicknessEnum,OldAccumulatedDeltaIceThicknessEnum);
    6780        }
    6881        return;
  • issm/branches/trunk-larour-SLPS2022/src/c/cores/transient_core.cpp

    r27084 r27093  
    142142        femmodel->parameters->FindParam(&isstressbalance,TransientIsstressbalanceEnum);
    143143        femmodel->parameters->FindParam(&ismasstransport,TransientIsmasstransportEnum);
    144         femmodel->parameters->FindParam(&ismmemasstransport,TransientIsMmemasstransportEnum);
     144        femmodel->parameters->FindParam(&ismmemasstransport,TransientIsmmemasstransportEnum);
    145145        femmodel->parameters->FindParam(&isoceantransport,TransientIsoceantransportEnum);
    146146        femmodel->parameters->FindParam(&issmb,TransientIssmbEnum);
Note: See TracChangeset for help on using the changeset viewer.