Changeset 27083
- Timestamp:
- 06/19/22 15:39:47 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-larour-SLPS2022/src/c/cores/sealevelchange_core.cpp
r27075 r27083 568 568 int nel; 569 569 int grdmodel=0; 570 571 /*retrieve parameters:*/ 570 bool geometrydone; 571 572 /*did we already do this? if so, skip :*/ 573 femmodel->parameters->FindParam(&geometrydone,SealevelchangeGeometryDoneEnum); 574 if (geometrydone){ 575 if(VerboseSolution()) _printf0_(" initial sea level geometrical already computed, skipping.\n"); 576 return; 577 } 578 579 /*early return?:*/ 572 580 femmodel->parameters->FindParam(&grdmodel,GrdModelEnum); 581 if(grdmodel==IvinsEnum) return; 582 573 583 nel=femmodel->elements->NumberOfElements(); 574 575 /*early return?:*/576 if(grdmodel==IvinsEnum) return;577 584 578 585 /*Verbose: */ … … 600 607 #endif 601 608 602 //Specialty code: {{{ 603 bool isuq=0; 604 IssmDouble modelid=0; 605 606 /*Resolve Mmes using the modelid, if necessary: meaning if we are running a transient model and that UQ computations have not been triggered:*/ 607 femmodel->parameters->FindParam(&isuq,QmuIsdakotaEnum); 608 if(!isuq){ 609 610 /*Deal with solid earth: */ 611 if (femmodel->inputs->Exist(SolidearthExternalDisplacementEastRateEnum) && femmodel->inputs->GetInputObjectEnum(SolidearthExternalDisplacementEastRateEnum)==DatasetInputEnum){ 612 femmodel->parameters->FindParam(&modelid,SolidearthExternalModelidEnum); 613 614 /*replace dataset of forcings with only one, the modelid'th:*/ 615 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,SolidearthExternalDisplacementNorthRateEnum, P1Enum); 616 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,SolidearthExternalDisplacementEastRateEnum, P1Enum); 617 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,SolidearthExternalDisplacementUpRateEnum, P1Enum); 618 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,SolidearthExternalGeoidRateEnum, P1Enum); 619 620 } 621 /*Deal with ocean: */ 622 if (femmodel->inputs->Exist(OceantransportSpcbottompressureEnum) && femmodel->inputs->GetInputObjectEnum(OceantransportSpcbottompressureEnum)==DatasetInputEnum){ 623 femmodel->parameters->FindParam(&modelid,DslModelidEnum); 624 625 /*replace dataset of forcings with only one, the modelid'th:*/ 626 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,OceantransportSpcbottompressureEnum, P1Enum); 627 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,OceantransportSpcdslEnum, P1Enum); 628 MmeToInputFromIdx(femmodel->inputs,femmodel->elements,femmodel->parameters,modelid-1,OceantransportSpcstrEnum, P0Enum); 629 } 630 } /*}}}*/ 609 /*Indicate we won't do this twice: */ 610 femmodel->parameters->AddObject(new BoolParam(SealevelchangeGeometryDoneEnum,true)); 631 611 632 612 return;
Note:
See TracChangeset
for help on using the changeset viewer.