Changeset 19527
- Timestamp:
- 08/29/15 11:55:39 (10 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 41 added
- 34 deleted
- 167 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r19436 r19527 206 206 ./cores/extrudefromtop_core.cpp\ 207 207 ./cores/thermal_core.cpp\ 208 ./cores/smb_core.cpp\ 208 209 ./solutionsequences/solutionsequence_thermal_nonlinear.cpp\ 209 210 ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp\ -
issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp
r18930 r19527 35 35 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 36 36 iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum); 37 iomodel->FetchDataToInput(elements,S urfaceforcingsMassBalanceEnum);37 iomodel->FetchDataToInput(elements,SmbMassBalanceEnum); 38 38 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 39 39 iomodel->FetchDataToInput(elements,BalancethicknessOmegaEnum); … … 188 188 /*Retrieve all inputs and parameters*/ 189 189 element->GetVerticesCoordinates(&xyz_list); 190 Input* ms_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);190 Input* ms_input = element->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 191 191 Input* mb_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input); 192 192 Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); -
issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp
r18930 r19527 102 102 iomodel->FetchDataToInput(elements,VyEnum); 103 103 iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum); 104 iomodel->FetchDataToInput(elements,S urfaceforcingsMassBalanceEnum);104 iomodel->FetchDataToInput(elements,SmbMassBalanceEnum); 105 105 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 106 106 … … 355 355 element->GetVerticesCoordinates(&xyz_list); 356 356 Input* mb_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input); 357 Input* ms_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);357 Input* ms_input = element->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 358 358 Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); 359 359 … … 396 396 element->GetVerticesCoordinates(&xyz_list); 397 397 Input* mb_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input); 398 Input* ms_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);398 Input* ms_input = element->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 399 399 Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); 400 400 … … 517 517 Input* vx_input = element->GetInput(VxEnum); _assert_(vx_input); 518 518 Input* vy_input = element->GetInput(VyEnum); _assert_(vy_input); 519 Input* surface_mass_balance_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);519 Input* surface_mass_balance_input = element->GetInput(SmbMassBalanceEnum); _assert_(surface_mass_balance_input); 520 520 Input* basal_melting_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(basal_melting_input); 521 521 Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); -
issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp
r18930 r19527 45 45 iomodel->FetchDataToInput(elements,VyEnum); 46 46 iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum); 47 iomodel->FetchDataToInput(elements,S urfaceforcingsMassBalanceEnum);47 iomodel->FetchDataToInput(elements,SmbMassBalanceEnum); 48 48 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 49 49 … … 183 183 /*Retrieve all inputs and parameters*/ 184 184 basalelement->GetVerticesCoordinates(&xyz_list); 185 Input* ms_input = basalelement->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);185 Input* ms_input = basalelement->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 186 186 Input* mb_input = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input); 187 187 Input* dhdt_input = basalelement->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); -
issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp
r18929 r19527 67 67 68 68 /*Fetch data needed: */ 69 iomodel->Constant(&smb_model,S urfaceforcingsEnum);69 iomodel->Constant(&smb_model,SmbEnum); 70 70 71 71 /*Update elements: */ … … 90 90 } 91 91 switch(smb_model){ 92 case SMB Enum:93 iomodel->FetchDataToInput(elements,S urfaceforcingsMassBalanceEnum,0.);92 case SMBforcingEnum: 93 iomodel->FetchDataToInput(elements,SmbMassBalanceEnum,0.); 94 94 break; 95 95 default: … … 274 274 topelement->GetVerticesCoordinates(&xyz_list); 275 275 topelement->FindParam(&dt,TimesteppingTimeStepEnum); 276 Input* ms_input = topelement->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);276 Input* ms_input = topelement->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 277 277 Input* surface_input = topelement->GetInput(SurfaceEnum); _assert_(surface_input); 278 278 Input* vz_input = NULL; -
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r19309 r19527 127 127 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 128 128 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); 129 iomodel->Constant(&smb_model,S urfaceforcingsEnum);129 iomodel->Constant(&smb_model,SmbEnum); 130 130 iomodel->Constant(&isgroundingline,TransientIsgroundinglineEnum); 131 131 iomodel->Constant(&islevelset,TransientIslevelsetEnum); … … 174 174 175 175 switch(smb_model){ 176 case SMB Enum:177 iomodel->FetchDataToInput(elements,S urfaceforcingsMassBalanceEnum,0.);176 case SMBforcingEnum: 177 iomodel->FetchDataToInput(elements,SmbMassBalanceEnum,0.); 178 178 break; 179 179 case SMBpddEnum: 180 iomodel->Constant(&isdelta18o,S urfaceforcingsIsdelta18oEnum);181 iomodel->Constant(&ismungsm,S urfaceforcingsIsmungsmEnum);180 iomodel->Constant(&isdelta18o,SmbIsdelta18oEnum); 181 iomodel->Constant(&ismungsm,SmbIsmungsmEnum); 182 182 iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum); 183 iomodel->FetchDataToInput(elements,S urfaceforcingsS0pEnum);184 iomodel->FetchDataToInput(elements,S urfaceforcingsS0tEnum);183 iomodel->FetchDataToInput(elements,SmbS0pEnum); 184 iomodel->FetchDataToInput(elements,SmbS0tEnum); 185 185 if(isdelta18o || ismungsm){ 186 iomodel->FetchDataToInput(elements,S urfaceforcingsTemperaturesLgmEnum);187 iomodel->FetchDataToInput(elements,S urfaceforcingsTemperaturesPresentdayEnum);188 iomodel->FetchDataToInput(elements,S urfaceforcingsPrecipitationsPresentdayEnum);189 iomodel->FetchDataToInput(elements,S urfaceforcingsPrecipitationsLgmEnum);186 iomodel->FetchDataToInput(elements,SmbTemperaturesLgmEnum); 187 iomodel->FetchDataToInput(elements,SmbTemperaturesPresentdayEnum); 188 iomodel->FetchDataToInput(elements,SmbPrecipitationsPresentdayEnum); 189 iomodel->FetchDataToInput(elements,SmbPrecipitationsLgmEnum); 190 190 } 191 191 else{ 192 iomodel->FetchDataToInput(elements,S urfaceforcingsPrecipitationEnum);193 iomodel->FetchDataToInput(elements,S urfaceforcingsMonthlytemperaturesEnum);192 iomodel->FetchDataToInput(elements,SmbPrecipitationEnum); 193 iomodel->FetchDataToInput(elements,SmbMonthlytemperaturesEnum); 194 194 } 195 195 break; 196 196 case SMBd18opddEnum: 197 iomodel->Constant(&ismungsm,S urfaceforcingsIsmungsmEnum);198 iomodel->Constant(&isd18opd,S urfaceforcingsIsd18opdEnum);197 iomodel->Constant(&ismungsm,SmbIsmungsmEnum); 198 iomodel->Constant(&isd18opd,SmbIsd18opdEnum); 199 199 iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum); 200 iomodel->FetchDataToInput(elements,S urfaceforcingsS0pEnum);201 iomodel->FetchDataToInput(elements,S urfaceforcingsS0tEnum);200 iomodel->FetchDataToInput(elements,SmbS0pEnum); 201 iomodel->FetchDataToInput(elements,SmbS0tEnum); 202 202 if (isd18opd){ 203 iomodel->FetchDataToInput(elements,S urfaceforcingsTemperaturesPresentdayEnum);204 iomodel->FetchDataToInput(elements,S urfaceforcingsPrecipitationsPresentdayEnum);203 iomodel->FetchDataToInput(elements,SmbTemperaturesPresentdayEnum); 204 iomodel->FetchDataToInput(elements,SmbPrecipitationsPresentdayEnum); 205 205 } 206 206 207 207 break; 208 208 case SMBgradientsEnum: 209 iomodel->FetchDataToInput(elements,S urfaceforcingsHrefEnum);210 iomodel->FetchDataToInput(elements,S urfaceforcingsSmbrefEnum);211 iomodel->FetchDataToInput(elements,S urfaceforcingsBPosEnum);212 iomodel->FetchDataToInput(elements,S urfaceforcingsBNegEnum);209 iomodel->FetchDataToInput(elements,SmbHrefEnum); 210 iomodel->FetchDataToInput(elements,SmbSmbrefEnum); 211 iomodel->FetchDataToInput(elements,SmbBPosEnum); 212 iomodel->FetchDataToInput(elements,SmbBNegEnum); 213 213 break; 214 214 case SMBhenningEnum: 215 iomodel->FetchDataToInput(elements,S urfaceforcingsSmbrefEnum,0.);215 iomodel->FetchDataToInput(elements,SmbSmbrefEnum,0.); 216 216 break; 217 217 case SMBcomponentsEnum: 218 iomodel->FetchDataToInput(elements,S urfaceforcingsAccumulationEnum,0.);219 iomodel->FetchDataToInput(elements,S urfaceforcingsEvaporationEnum,0.);220 iomodel->FetchDataToInput(elements,S urfaceforcingsRunoffEnum,0.);218 iomodel->FetchDataToInput(elements,SmbAccumulationEnum,0.); 219 iomodel->FetchDataToInput(elements,SmbEvaporationEnum,0.); 220 iomodel->FetchDataToInput(elements,SmbRunoffEnum,0.); 221 221 break; 222 222 case SMBmeltcomponentsEnum: 223 iomodel->FetchDataToInput(elements,S urfaceforcingsAccumulationEnum,0.);224 iomodel->FetchDataToInput(elements,S urfaceforcingsEvaporationEnum,0.);225 iomodel->FetchDataToInput(elements,S urfaceforcingsMeltEnum,0.);226 iomodel->FetchDataToInput(elements,S urfaceforcingsRefreezeEnum,0.);223 iomodel->FetchDataToInput(elements,SmbAccumulationEnum,0.); 224 iomodel->FetchDataToInput(elements,SmbEvaporationEnum,0.); 225 iomodel->FetchDataToInput(elements,SmbMeltEnum,0.); 226 iomodel->FetchDataToInput(elements,SmbRefreezeEnum,0.); 227 227 break; 228 228 default: … … 247 247 if(numoutputs)parameters->AddObject(new StringArrayParam(MasstransportRequestedOutputsEnum,requestedoutputs,numoutputs)); 248 248 iomodel->DeleteData(&requestedoutputs,numoutputs,MasstransportRequestedOutputsEnum); 249 250 iomodel->FetchData(&requestedoutputs,&numoutputs,SmbRequestedOutputsEnum); 251 parameters->AddObject(new IntParam(SmbNumRequestedOutputsEnum,numoutputs)); 252 if(numoutputs)parameters->AddObject(new StringArrayParam(SmbRequestedOutputsEnum,requestedoutputs,numoutputs)); 253 iomodel->DeleteData(&requestedoutputs,numoutputs,SmbRequestedOutputsEnum); 254 249 255 250 256 }/*}}}*/ … … 562 568 Input* fmb_input = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input); 563 569 Input* groundedice_input = element->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedice_input); 564 Input* ms_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);570 Input* ms_input = element->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 565 571 Input* thickness_input = element->GetInput(ThicknessEnum); _assert_(thickness_input); 566 572 … … 612 618 Input* gmb_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input); 613 619 Input* fmb_input = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input); 614 Input* ms_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(ms_input);620 Input* ms_input = element->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 615 621 Input* groundedice_input = element->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedice_input); 616 622 Input* thickness_input = element->GetInput(ThicknessEnum); _assert_(thickness_input); -
issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
r19276 r19527 112 112 iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum); 113 113 iomodel->FetchDataToInput(elements,BasalforcingsFloatingiceMeltingRateEnum); 114 //iomodel->FetchDataToInput(elements,S urfaceforcingsMassBalanceEnum);114 //iomodel->FetchDataToInput(elements,SmbMassBalanceEnum); 115 115 iomodel->FetchDataToInput(elements,VxEnum,0.); 116 116 iomodel->FetchDataToInput(elements,VyEnum,0.); … … 382 382 element->GetInputValue(&approximation,ApproximationEnum); 383 383 Input* surface_input =element->GetInput(SurfaceEnum); _assert_(surface_input); 384 Input* smb_input=element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(smb_input);384 Input* smb_input=element->GetInput(SmbMassBalanceEnum); _assert_(smb_input); 385 385 Input* vx_input=element->GetInput(VxEnum); _assert_(vx_input); 386 386 Input* vy_input=element->GetInput(VyEnum); _assert_(vy_input); -
issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
r19200 r19527 24 24 else if (iomodel->solution_enum==TransientSolutionEnum){ 25 25 int smb_model; 26 iomodel->Constant(&smb_model,S urfaceforcingsEnum);26 iomodel->Constant(&smb_model,SmbEnum); 27 27 if(smb_model==SMBpddEnum) isdynamic=true; 28 28 if(smb_model==SMBd18opddEnum) isdynamic=true; -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r19481 r19527 511 511 512 512 /*Recover present day temperature and precipitation*/ 513 Input* input=this->inputs->GetInput(S urfaceforcingsTemperaturesPresentdayEnum); _assert_(input);514 Input* input2=this->inputs->GetInput(S urfaceforcingsTemperaturesLgmEnum); _assert_(input2);515 Input* input3=this->inputs->GetInput(S urfaceforcingsPrecipitationsPresentdayEnum); _assert_(input3);513 Input* input=this->inputs->GetInput(SmbTemperaturesPresentdayEnum); _assert_(input); 514 Input* input2=this->inputs->GetInput(SmbTemperaturesLgmEnum); _assert_(input2); 515 Input* input3=this->inputs->GetInput(SmbPrecipitationsPresentdayEnum); _assert_(input3); 516 516 /*loop over vertices: */ 517 517 Gauss* gauss=this->NewGauss(); … … 528 528 529 529 /*Recover delta18o and Delta18oSurface at present day, lgm and at time t*/ 530 this->parameters->FindParam(&Delta18oPresent,S urfaceforcingsDelta18oEnum,finaltime);531 this->parameters->FindParam(&Delta18oLgm,S urfaceforcingsDelta18oEnum,(finaltime-(21000*yts)));532 this->parameters->FindParam(&Delta18oTime,S urfaceforcingsDelta18oEnum,time);533 this->parameters->FindParam(&Delta18oSurfacePresent,S urfaceforcingsDelta18oSurfaceEnum,finaltime);534 this->parameters->FindParam(&Delta18oSurfaceLgm,S urfaceforcingsDelta18oSurfaceEnum,(finaltime-(21000*yts)));535 this->parameters->FindParam(&Delta18oSurfaceTime,S urfaceforcingsDelta18oSurfaceEnum,time);530 this->parameters->FindParam(&Delta18oPresent,SmbDelta18oEnum,finaltime); 531 this->parameters->FindParam(&Delta18oLgm,SmbDelta18oEnum,(finaltime-(21000*yts))); 532 this->parameters->FindParam(&Delta18oTime,SmbDelta18oEnum,time); 533 this->parameters->FindParam(&Delta18oSurfacePresent,SmbDelta18oSurfaceEnum,finaltime); 534 this->parameters->FindParam(&Delta18oSurfaceLgm,SmbDelta18oSurfaceEnum,(finaltime-(21000*yts))); 535 this->parameters->FindParam(&Delta18oSurfaceTime,SmbDelta18oSurfaceEnum,time); 536 536 537 537 /*Compute the temperature and precipitation*/ … … 545 545 546 546 /*Update inputs*/ 547 TransientInput* NewTemperatureInput = new TransientInput(S urfaceforcingsMonthlytemperaturesEnum);548 TransientInput* NewPrecipitationInput = new TransientInput(S urfaceforcingsPrecipitationEnum);547 TransientInput* NewTemperatureInput = new TransientInput(SmbMonthlytemperaturesEnum); 548 TransientInput* NewPrecipitationInput = new TransientInput(SmbPrecipitationEnum); 549 549 for (int imonth=0;imonth<12;imonth++) { 550 550 for(i=0;i<numvertices;i++) tmp[i]=monthlytemperatures[i*12+imonth]; 551 551 switch(this->ObjectEnum()){ 552 case TriaEnum: NewTemperatureInput->AddTimeInput(new TriaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;553 case PentaEnum: NewTemperatureInput->AddTimeInput(new PentaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;554 case TetraEnum: NewTemperatureInput->AddTimeInput(new TetraInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;552 case TriaEnum: NewTemperatureInput->AddTimeInput(new TriaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 553 case PentaEnum: NewTemperatureInput->AddTimeInput(new PentaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 554 case TetraEnum: NewTemperatureInput->AddTimeInput(new TetraInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 555 555 default: _error_("Not implemented yet"); 556 556 } 557 557 for(i=0;i<numvertices;i++) tmp[i]=monthlyprec[i*12+imonth]/yts; 558 558 switch(this->ObjectEnum()){ 559 case TriaEnum: NewPrecipitationInput->AddTimeInput(new TriaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;560 case PentaEnum: NewPrecipitationInput->AddTimeInput(new PentaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;561 case TetraEnum: NewPrecipitationInput->AddTimeInput(new TetraInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;559 case TriaEnum: NewPrecipitationInput->AddTimeInput(new TriaInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 560 case PentaEnum: NewPrecipitationInput->AddTimeInput(new PentaInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 561 case TetraEnum: NewPrecipitationInput->AddTimeInput(new TetraInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 562 562 default: _error_("Not implemented yet"); 563 563 } … … 573 573 case PentaEnum: 574 574 case TetraEnum: 575 this->InputExtrude(S urfaceforcingsMonthlytemperaturesEnum,-1);576 this->InputExtrude(S urfaceforcingsPrecipitationEnum,-1);575 this->InputExtrude(SmbMonthlytemperaturesEnum,-1); 576 this->InputExtrude(SmbPrecipitationEnum,-1); 577 577 break; 578 578 default: _error_("Not implemented yet"); … … 611 611 612 612 /*Recover present day temperature and precipitation*/ 613 Input* input=this->inputs->GetInput(S urfaceforcingsTemperaturesPresentdayEnum); _assert_(input);614 Input* input2=this->inputs->GetInput(S urfaceforcingsTemperaturesLgmEnum); _assert_(input2);615 Input* input3=this->inputs->GetInput(S urfaceforcingsPrecipitationsPresentdayEnum); _assert_(input3);616 Input* input4=this->inputs->GetInput(S urfaceforcingsPrecipitationsLgmEnum); _assert_(input4);613 Input* input=this->inputs->GetInput(SmbTemperaturesPresentdayEnum); _assert_(input); 614 Input* input2=this->inputs->GetInput(SmbTemperaturesLgmEnum); _assert_(input2); 615 Input* input3=this->inputs->GetInput(SmbPrecipitationsPresentdayEnum); _assert_(input3); 616 Input* input4=this->inputs->GetInput(SmbPrecipitationsLgmEnum); _assert_(input4); 617 617 /*loop over vertices: */ 618 618 Gauss* gauss=this->NewGauss(); … … 631 631 632 632 /*Recover interpolation parameters at time t*/ 633 this->parameters->FindParam(&TdiffTime,S urfaceforcingsTdiffEnum,time);634 this->parameters->FindParam(&PfacTime,S urfaceforcingsPfacEnum,time);633 this->parameters->FindParam(&TdiffTime,SmbTdiffEnum,time); 634 this->parameters->FindParam(&PfacTime,SmbPfacEnum,time); 635 635 636 636 /*Compute the temperature and precipitation*/ … … 643 643 644 644 /*Update inputs*/ 645 TransientInput* NewTemperatureInput = new TransientInput(S urfaceforcingsMonthlytemperaturesEnum);646 TransientInput* NewPrecipitationInput = new TransientInput(S urfaceforcingsPrecipitationEnum);645 TransientInput* NewTemperatureInput = new TransientInput(SmbMonthlytemperaturesEnum); 646 TransientInput* NewPrecipitationInput = new TransientInput(SmbPrecipitationEnum); 647 647 for (int imonth=0;imonth<12;imonth++) { 648 648 for(i=0;i<numvertices;i++) tmp[i]=monthlytemperatures[i*12+imonth]; 649 649 switch(this->ObjectEnum()){ 650 case TriaEnum: NewTemperatureInput->AddTimeInput(new TriaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;651 case PentaEnum: NewTemperatureInput->AddTimeInput(new PentaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;652 case TetraEnum: NewTemperatureInput->AddTimeInput(new TetraInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;650 case TriaEnum: NewTemperatureInput->AddTimeInput(new TriaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 651 case PentaEnum: NewTemperatureInput->AddTimeInput(new PentaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 652 case TetraEnum: NewTemperatureInput->AddTimeInput(new TetraInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 653 653 default: _error_("Not implemented yet"); 654 654 } 655 655 for(i=0;i<numvertices;i++) tmp[i]=monthlyprec[i*12+imonth]/yts; 656 656 switch(this->ObjectEnum()){ 657 case TriaEnum: NewPrecipitationInput->AddTimeInput(new TriaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;658 case PentaEnum: NewPrecipitationInput->AddTimeInput(new PentaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;659 case TetraEnum: NewPrecipitationInput->AddTimeInput(new TetraInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;657 case TriaEnum: NewPrecipitationInput->AddTimeInput(new TriaInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 658 case PentaEnum: NewPrecipitationInput->AddTimeInput(new PentaInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 659 case TetraEnum: NewPrecipitationInput->AddTimeInput(new TetraInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 660 660 default: _error_("Not implemented yet"); 661 661 } … … 671 671 case PentaEnum: 672 672 case TetraEnum: 673 this->InputExtrude(S urfaceforcingsMonthlytemperaturesEnum,-1);674 this->InputExtrude(S urfaceforcingsPrecipitationEnum,-1);673 this->InputExtrude(SmbMonthlytemperaturesEnum,-1); 674 this->InputExtrude(SmbPrecipitationEnum,-1); 675 675 break; 676 676 default: _error_("Not implemented yet"); … … 709 709 710 710 /*Get some pdd parameters*/ 711 dpermil=this->matpar->GetMaterialParameter(S urfaceforcingsDpermilEnum);711 dpermil=this->matpar->GetMaterialParameter(SmbDpermilEnum); 712 712 713 713 /*Recover present day temperature and precipitation*/ 714 Input* input=this->inputs->GetInput(S urfaceforcingsTemperaturesPresentdayEnum); _assert_(input);715 Input* input2=this->inputs->GetInput(S urfaceforcingsPrecipitationsPresentdayEnum); _assert_(input2);714 Input* input=this->inputs->GetInput(SmbTemperaturesPresentdayEnum); _assert_(input); 715 Input* input2=this->inputs->GetInput(SmbPrecipitationsPresentdayEnum); _assert_(input2); 716 716 /*loop over vertices: */ 717 717 Gauss* gauss=this->NewGauss(); … … 727 727 728 728 /*Recover interpolation parameters at time t*/ 729 this->parameters->FindParam(&Delta18oTime,S urfaceforcingsDelta18oEnum,time);729 this->parameters->FindParam(&Delta18oTime,SmbDelta18oEnum,time); 730 730 731 731 /*Compute the temperature and precipitation*/ … … 737 737 738 738 /*Update inputs*/ 739 TransientInput* NewTemperatureInput = new TransientInput(S urfaceforcingsMonthlytemperaturesEnum);740 TransientInput* NewPrecipitationInput = new TransientInput(S urfaceforcingsPrecipitationEnum);739 TransientInput* NewTemperatureInput = new TransientInput(SmbMonthlytemperaturesEnum); 740 TransientInput* NewPrecipitationInput = new TransientInput(SmbPrecipitationEnum); 741 741 for (int imonth=0;imonth<12;imonth++) { 742 742 for(i=0;i<numvertices;i++) tmp[i]=monthlytemperatures[i*12+imonth]; 743 743 switch(this->ObjectEnum()){ 744 case TriaEnum: NewTemperatureInput->AddTimeInput(new TriaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;745 case PentaEnum: NewTemperatureInput->AddTimeInput(new PentaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;746 case TetraEnum: NewTemperatureInput->AddTimeInput(new TetraInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;744 case TriaEnum: NewTemperatureInput->AddTimeInput(new TriaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 745 case PentaEnum: NewTemperatureInput->AddTimeInput(new PentaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 746 case TetraEnum: NewTemperatureInput->AddTimeInput(new TetraInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 747 747 default: _error_("Not implemented yet"); 748 748 } 749 749 for(i=0;i<numvertices;i++) tmp[i]=monthlyprec[i*12+imonth]/yts; 750 750 switch(this->ObjectEnum()){ 751 case TriaEnum: NewPrecipitationInput->AddTimeInput(new TriaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;752 case PentaEnum: NewPrecipitationInput->AddTimeInput(new PentaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;753 case TetraEnum: NewPrecipitationInput->AddTimeInput(new TetraInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break;751 case TriaEnum: NewPrecipitationInput->AddTimeInput(new TriaInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 752 case PentaEnum: NewPrecipitationInput->AddTimeInput(new PentaInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 753 case TetraEnum: NewPrecipitationInput->AddTimeInput(new TetraInput(SmbPrecipitationEnum,&tmp[0],P1Enum),time_yr+imonth/12.*yts); break; 754 754 default: _error_("Not implemented yet"); 755 755 } … … 765 765 case PentaEnum: 766 766 case TetraEnum: 767 this->InputExtrude(S urfaceforcingsMonthlytemperaturesEnum,-1);768 this->InputExtrude(S urfaceforcingsPrecipitationEnum,-1);767 this->InputExtrude(SmbMonthlytemperaturesEnum,-1); 768 this->InputExtrude(SmbPrecipitationEnum,-1); 769 769 break; 770 770 default: _error_("Not implemented yet"); … … 1458 1458 name==SurfaceSlopeXEnum || 1459 1459 name==SurfaceSlopeYEnum || 1460 name==S urfaceforcingsMassBalanceEnum ||1460 name==SmbMassBalanceEnum || 1461 1461 name==BasalforcingsGroundediceMeltingRateEnum || 1462 1462 name==BasalforcingsFloatingiceMeltingRateEnum || … … 1715 1715 1716 1716 /*Get some pdd parameters*/ 1717 desfac=this->matpar->GetMaterialParameter(S urfaceforcingsDesfacEnum);1718 rlaps=this->matpar->GetMaterialParameter(S urfaceforcingsRlapsEnum);1719 rlapslgm=this->matpar->GetMaterialParameter(S urfaceforcingsRlapslgmEnum);1717 desfac=this->matpar->GetMaterialParameter(SmbDesfacEnum); 1718 rlaps=this->matpar->GetMaterialParameter(SmbRlapsEnum); 1719 rlapslgm=this->matpar->GetMaterialParameter(SmbRlapslgmEnum); 1720 1720 1721 1721 /*Recover monthly temperatures and precipitation and compute the yearly mean temperatures*/ 1722 Input* input=this->inputs->GetInput(S urfaceforcingsMonthlytemperaturesEnum); _assert_(input);1723 Input* input2=this->inputs->GetInput(S urfaceforcingsPrecipitationEnum); _assert_(input2);1722 Input* input=this->inputs->GetInput(SmbMonthlytemperaturesEnum); _assert_(input); 1723 Input* input2=this->inputs->GetInput(SmbPrecipitationEnum); _assert_(input2); 1724 1724 IssmDouble time,yts,time_yr; 1725 1725 this->parameters->FindParam(&time,TimeEnum); … … 1744 1744 * and precipitaton between PD and LGM when ismungsm==1 */ 1745 1745 if (ismungsm==1){ 1746 this->parameters->FindParam(&TdiffTime,S urfaceforcingsTdiffEnum,time);1747 this->parameters->FindParam(&sealevTime,S urfaceforcingsSealevEnum,time);1746 this->parameters->FindParam(&TdiffTime,SmbTdiffEnum,time); 1747 this->parameters->FindParam(&sealevTime,SmbSealevEnum,time); 1748 1748 } 1749 1749 else { … … 1755 1755 GetInputListOnVertices(&h[0],ThicknessEnum); 1756 1756 GetInputListOnVertices(&s[0],SurfaceEnum); 1757 GetInputListOnVertices(&s0p[0],S urfaceforcingsS0pEnum);1758 GetInputListOnVertices(&s0t[0],S urfaceforcingsS0tEnum);1757 GetInputListOnVertices(&s0p[0],SmbS0pEnum); 1758 GetInputListOnVertices(&s0t[0],SmbS0tEnum); 1759 1759 1760 1760 /*measure the surface mass balance*/ … … 1771 1771 1772 1772 /*Update inputs*/ 1773 // TransientInput* NewTemperatureInput = new TransientInput(S urfaceforcingsMonthlytemperaturesEnum);1774 // TransientInput* NewPrecipitationInput = new TransientInput(S urfaceforcingsPrecipitationEnum);1773 // TransientInput* NewTemperatureInput = new TransientInput(SmbMonthlytemperaturesEnum); 1774 // TransientInput* NewPrecipitationInput = new TransientInput(SmbPrecipitationEnum); 1775 1775 // for (int imonth=0;imonth<12;imonth++) { 1776 1776 // for(i=0;i<numvertices;i++) tmp[i]=monthlytemperatures[i*12+imonth]; 1777 // TriaInput* newmonthinput1 = new TriaInput(S urfaceforcingsMonthlytemperaturesEnum,&tmp[0],P1Enum);1777 // TriaInput* newmonthinput1 = new TriaInput(SmbMonthlytemperaturesEnum,&tmp[0],P1Enum); 1778 1778 // NewTemperatureInput->AddTimeInput(newmonthinput1,time+imonth/12.*yts); 1779 1779 // 1780 1780 // for(i=0;i<numvertices;i++) tmp[i]=monthlyprec[i*12+imonth]/yts; 1781 // TriaInput* newmonthinput2 = new TriaInput(S urfaceforcingsPrecipitationEnum,&tmp[0],P1Enum);1781 // TriaInput* newmonthinput2 = new TriaInput(SmbPrecipitationEnum,&tmp[0],P1Enum); 1782 1782 // NewPrecipitationInput->AddTimeInput(newmonthinput2,time+imonth/12.*yts); 1783 1783 // } … … 1789 1789 // this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1790 1790 this->inputs->AddInput(new TriaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); 1791 this->inputs->AddInput(new TriaInput(S urfaceforcingsMassBalanceEnum,&agd[0],P1Enum));1792 this->inputs->AddInput(new TriaInput(S urfaceforcingsAccumulationEnum,&accu[0],P1Enum));1793 this->inputs->AddInput(new TriaInput(S urfaceforcingsMeltEnum,&melt[0],P1Enum));1791 this->inputs->AddInput(new TriaInput(SmbMassBalanceEnum,&agd[0],P1Enum)); 1792 this->inputs->AddInput(new TriaInput(SmbAccumulationEnum,&accu[0],P1Enum)); 1793 this->inputs->AddInput(new TriaInput(SmbMeltEnum,&melt[0],P1Enum)); 1794 1794 break; 1795 1795 case PentaEnum: … … 1801 1801 this->inputs->AddInput(new PentaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1802 1802 } 1803 this->inputs->AddInput(new PentaInput(S urfaceforcingsMassBalanceEnum,&agd[0],P1Enum));1803 this->inputs->AddInput(new PentaInput(SmbMassBalanceEnum,&agd[0],P1Enum)); 1804 1804 this->inputs->AddInput(new PentaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); 1805 1805 this->InputExtrude(TemperaturePDDEnum,-1); 1806 this->InputExtrude(S urfaceforcingsMassBalanceEnum,-1);1806 this->InputExtrude(SmbMassBalanceEnum,-1); 1807 1807 break; 1808 1808 case TetraEnum: … … 1814 1814 this->inputs->AddInput(new TetraInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 1815 1815 } 1816 this->inputs->AddInput(new TetraInput(S urfaceforcingsMassBalanceEnum,&agd[0],P1Enum));1816 this->inputs->AddInput(new TetraInput(SmbMassBalanceEnum,&agd[0],P1Enum)); 1817 1817 this->inputs->AddInput(new TetraInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); 1818 1818 this->InputExtrude(TemperaturePDDEnum,-1); 1819 this->InputExtrude(S urfaceforcingsMassBalanceEnum,-1);1819 this->InputExtrude(SmbMassBalanceEnum,-1); 1820 1820 break; 1821 1821 default: _error_("Not implemented yet"); … … 1825 1825 // this->inputs->AddInput(new TriaVertexInput(ThermalSpcTemperatureEnum,&Tsurf[0])); 1826 1826 1827 //this->InputExtrude(S urfaceforcingsMassBalanceEnum,-1);1828 // this->InputExtrude(S urfaceforcingsMonthlytemperaturesEnum,-1);1829 // this->InputExtrude(S urfaceforcingsPrecipitationEnum,-1);1827 //this->InputExtrude(SmbMassBalanceEnum,-1); 1828 // this->InputExtrude(SmbMonthlytemperaturesEnum,-1); 1829 // this->InputExtrude(SmbPrecipitationEnum,-1); 1830 1830 1831 1831 /*clean-up*/ -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r19518 r19527 2635 2635 2636 2636 /*Now get the average SMB over the element*/ 2637 Input* smb_input = inputs->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(smb_input);2637 Input* smb_input = inputs->GetInput(SmbMassBalanceEnum); _assert_(smb_input); 2638 2638 2639 2639 smb_input->GetInputAverage(&smb); -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r19518 r19527 3047 3047 3048 3048 /*Now get the average SMB over the element*/ 3049 Input* smb_input = inputs->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(smb_input);3049 Input* smb_input = inputs->GetInput(SmbMassBalanceEnum); _assert_(smb_input); 3050 3050 smb_input->GetInputAverage(&smb); // average smb on element in m ice s-1 3051 3051 Total_Smb=rho_ice*base*smb; // smb on element in kg s-1 -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r19518 r19527 777 777 IssmDouble *surface = NULL; 778 778 IssmDouble *bed = NULL; 779 780 if(VerboseSolution()) _printf0_(" updating vertices positions\n"); 779 781 780 782 /*get vertex vectors for bed and thickness: */ … … 1740 1742 Input* vx_input = element->GetInput(VxEnum); _assert_(vx_input); 1741 1743 Input* vy_input = element->GetInput(VyEnum); _assert_(vy_input); 1742 Input* surface_mass_balance_input = element->GetInput(S urfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);1744 Input* surface_mass_balance_input = element->GetInput(SmbMassBalanceEnum); _assert_(surface_mass_balance_input); 1743 1745 Input* groundedice_melting_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedice_melting_input); 1744 1746 Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); -
issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
r19309 r19527 69 69 int hydrology_model,smb_model,materials_type; 70 70 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 71 iomodel->Constant(&smb_model,S urfaceforcingsEnum);71 iomodel->Constant(&smb_model,SmbEnum); 72 72 iomodel->Constant(&materials_type,MaterialsEnum); 73 73 … … 93 93 94 94 switch(smb_model){ 95 case SMB Enum:95 case SMBforcingEnum: 96 96 /*Nothing to add*/ 97 97 break; 98 98 case SMBpddEnum: 99 iomodel->Constant(&this->desfac,S urfaceforcingsDesfacEnum);100 iomodel->Constant(&this->rlaps,S urfaceforcingsRlapsEnum);101 iomodel->Constant(&this->rlapslgm,S urfaceforcingsRlapslgmEnum);99 iomodel->Constant(&this->desfac,SmbDesfacEnum); 100 iomodel->Constant(&this->rlaps,SmbRlapsEnum); 101 iomodel->Constant(&this->rlapslgm,SmbRlapslgmEnum); 102 102 break; 103 103 case SMBd18opddEnum: 104 iomodel->Constant(&this->desfac,S urfaceforcingsDesfacEnum);105 iomodel->Constant(&this->rlaps,S urfaceforcingsRlapsEnum);106 iomodel->Constant(&this->rlapslgm,S urfaceforcingsRlapslgmEnum);107 iomodel->Constant(&this->dpermil,S urfaceforcingsDpermilEnum);104 iomodel->Constant(&this->desfac,SmbDesfacEnum); 105 iomodel->Constant(&this->rlaps,SmbRlapsEnum); 106 iomodel->Constant(&this->rlapslgm,SmbRlapslgmEnum); 107 iomodel->Constant(&this->dpermil,SmbDpermilEnum); 108 108 case SMBgradientsEnum: 109 109 break; … … 365 365 this->g=constant; 366 366 break; 367 case S urfaceforcingsDesfacEnum:367 case SmbDesfacEnum: 368 368 this->desfac=constant; 369 369 break; 370 case S urfaceforcingsRlapsEnum:370 case SmbRlapsEnum: 371 371 this->rlaps=constant; 372 372 break; 373 case S urfaceforcingsRlapslgmEnum:373 case SmbRlapslgmEnum: 374 374 this->rlapslgm=constant; 375 375 break; 376 case S urfaceforcingsDpermilEnum:376 case SmbDpermilEnum: 377 377 this->dpermil=constant; 378 378 break; … … 498 498 case HydrologydcWaterCompressibilityEnum: return this->water_compressibility; 499 499 case ConstantsGEnum: return this->g; 500 case S urfaceforcingsDesfacEnum: return this->desfac;501 case S urfaceforcingsRlapsEnum: return this->rlaps;502 case S urfaceforcingsRlapslgmEnum: return this->rlapslgm;503 case S urfaceforcingsDpermilEnum: return this->dpermil;500 case SmbDesfacEnum: return this->desfac; 501 case SmbRlapsEnum: return this->rlaps; 502 case SmbRlapslgmEnum: return this->rlapslgm; 503 case SmbDpermilEnum: return this->dpermil; 504 504 case MaterialsLithosphereShearModulusEnum: return this->lithosphere_shear_modulus; 505 505 case MaterialsLithosphereDensityEnum: return this->lithosphere_density; -
issm/trunk-jpl/src/c/cores/cores.h
r19191 r19527 46 46 void dummy_core(FemModel* femmodel); 47 47 void gia_core(FemModel* femmodel); 48 void smb_core(FemModel* femmodel); 48 49 void damage_core(FemModel* femmodel); 49 50 IssmDouble objectivefunction(IssmDouble search_scalar,FemModel* femmodel); -
issm/trunk-jpl/src/c/cores/damage_core.cpp
r19388 r19527 19 19 char **requested_outputs = NULL; 20 20 21 21 22 22 //first recover parameters common to all solutions 23 23 femmodel->parameters->FindParam(&save_results,SaveResultsEnum); -
issm/trunk-jpl/src/c/cores/hydrology_core.cpp
r17887 r19527 17 17 bool modify_loads=true; 18 18 bool isefficientlayer; 19 19 20 20 21 /*first recover parameters common to all solutions*/ 21 22 femmodel->parameters->FindParam(&save_results,SaveResultsEnum); 22 23 femmodel->parameters->FindParam(&hydrology_model,HydrologyModelEnum); 23 24 25 if(VerboseSolution()) _printf0_(" computing water heads\n"); 26 24 27 /*first compute slopes: */ 25 28 if (hydrology_model==HydrologyshreveEnum){ -
issm/trunk-jpl/src/c/cores/masstransport_core.cpp
r18344 r19527 31 31 femmodel->parameters->FindParam(&stabilization,MasstransportStabilizationEnum); 32 32 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,MasstransportRequestedOutputsEnum); 33 34 /*Calculate new Surface Mass Balance (SMB)*/ 35 SurfaceMassBalancex(femmodel); 33 34 if(VerboseSolution()) _printf0_(" computing mass transport\n"); 36 35 37 36 /*Transport mass or free surface*/ -
issm/trunk-jpl/src/c/cores/stressbalance_core.cpp
r18237 r19527 22 22 char **requested_outputs = NULL; 23 23 Analysis *analysis = NULL; 24 24 25 25 26 /* recover parameters:*/ … … 34 35 femmodel->parameters->FindParam(&numoutputs,StressbalanceNumRequestedOutputsEnum); 35 36 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,StressbalanceRequestedOutputsEnum); 37 38 if(VerboseSolution()) _printf0_(" computing new velocity\n"); 36 39 37 40 /*Compute slopes if necessary */ -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r19334 r19527 21 21 /*parameters: */ 22 22 IssmDouble starttime,finaltime,dt,yts; 23 bool isstressbalance,ismasstransport,is FS,isthermal,isgroundingline,isgia,islevelset,isdamageevolution,ishydrology,iscalving;23 bool isstressbalance,ismasstransport,issmb,isFS,isthermal,isgroundingline,isgia,islevelset,isdamageevolution,ishydrology,iscalving; 24 24 bool save_results,dakota_analysis; 25 25 bool time_adapt; … … 48 48 femmodel->parameters->FindParam(&isstressbalance,TransientIsstressbalanceEnum); 49 49 femmodel->parameters->FindParam(&ismasstransport,TransientIsmasstransportEnum); 50 femmodel->parameters->FindParam(&issmb,TransientIssmbEnum); 50 51 femmodel->parameters->FindParam(&isthermal,TransientIsthermalEnum); 51 52 femmodel->parameters->FindParam(&isgia,TransientIsgiaEnum); … … 56 57 femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum); 57 58 femmodel->parameters->FindParam(&iscalving,TransientIscalvingEnum); 58 femmodel->parameters->FindParam(&smb_model,S urfaceforcingsEnum);59 femmodel->parameters->FindParam(&smb_model,SmbEnum); 59 60 if(isgroundingline) femmodel->parameters->FindParam(&groundingline_migration,GroundinglineMigrationEnum); 60 61 femmodel->parameters->FindParam(&numoutputs,TransientNumRequestedOutputsEnum); … … 86 87 femmodel->parameters->SetParam(save_results,SaveResultsEnum); 87 88 88 if(isthermal && domaintype==Domain3DEnum){ 89 if(isthermal && domaintype==Domain3DEnum){ 89 90 if(VerboseSolution()) _printf0_(" computing thermal regime\n"); 90 91 if(smb_model==SMBpddEnum) ResetBoundaryConditions(femmodel,ThermalAnalysisEnum); … … 93 94 } 94 95 95 if(ishydrology){ 96 if(VerboseSolution()) _printf0_(" computing water heads\n"); 97 hydrology_core(femmodel); 98 } 96 if(ishydrology) hydrology_core(femmodel); 99 97 100 if(isstressbalance){ 101 if(VerboseSolution()) _printf0_(" computing new velocity\n"); 102 stressbalance_core(femmodel); 103 } 98 if(isstressbalance) stressbalance_core(femmodel); 104 99 105 if(isdamageevolution){ 106 if(VerboseSolution()) _printf0_(" computing damage\n"); 107 damage_core(femmodel); 108 } 100 if(isdamageevolution) damage_core(femmodel); 109 101 110 102 if(islevelset){ … … 137 129 } 138 130 131 if(issmb)smb_core(femmodel); 132 139 133 if(ismasstransport){ 140 if(VerboseSolution()) _printf0_(" computing new thickness\n");141 134 masstransport_core(femmodel); 142 if(VerboseSolution()) _printf0_(" updating vertices positions\n");143 135 femmodel->UpdateVertexPositionsx(); 144 136 } -
issm/trunk-jpl/src/c/main/esmfbinders.cpp
r19327 r19527 32 32 33 33 /*Some specific code here for the binding: */ 34 femmodel->parameters->SetParam(SMBgcmEnum,S urfaceforcingsEnum); //bypass SMB model, will be provided by GCM!34 femmodel->parameters->SetParam(SMBgcmEnum,SmbEnum); //bypass SMB model, will be provided by GCM! 35 35 36 36 /*Restart file: */ … … 82 82 83 83 /*Add into the element as new forcing :*/ 84 element->inputs->AddInput(new DoubleInput(S urfaceforcingsMassBalanceEnum,smbforcing));84 element->inputs->AddInput(new DoubleInput(SmbMassBalanceEnum,smbforcing)); 85 85 86 86 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r19479 r19527 77 77 parameters->AddObject(iomodel->CopyConstantObject(TransientIsstressbalanceEnum)); 78 78 parameters->AddObject(iomodel->CopyConstantObject(TransientIsmasstransportEnum)); 79 parameters->AddObject(iomodel->CopyConstantObject(TransientIssmbEnum)); 79 80 parameters->AddObject(iomodel->CopyConstantObject(TransientIsthermalEnum)); 80 81 parameters->AddObject(iomodel->CopyConstantObject(TransientIsgroundinglineEnum)); … … 99 100 100 101 /*Surface mass balance parameters*/ 101 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsEnum));102 iomodel->Constant(&smb_model,S urfaceforcingsEnum);102 parameters->AddObject(iomodel->CopyConstantObject(SmbEnum)); 103 iomodel->Constant(&smb_model,SmbEnum); 103 104 iomodel->Constant(&interp,TimesteppingInterpForcingsEnum); 104 105 switch(smb_model){ 105 case SMB Enum:106 case SMBforcingEnum: 106 107 /*Nothing to add to parameters*/ 107 108 break; 108 109 case SMBpddEnum: 109 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsIsdelta18oEnum));110 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsIsmungsmEnum));111 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsDesfacEnum));112 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsRlapsEnum));113 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsRlapslgmEnum));114 iomodel->Constant(&isdelta18o,S urfaceforcingsIsdelta18oEnum);115 iomodel->Constant(&ismungsm,S urfaceforcingsIsmungsmEnum);110 parameters->AddObject(iomodel->CopyConstantObject(SmbIsdelta18oEnum)); 111 parameters->AddObject(iomodel->CopyConstantObject(SmbIsmungsmEnum)); 112 parameters->AddObject(iomodel->CopyConstantObject(SmbDesfacEnum)); 113 parameters->AddObject(iomodel->CopyConstantObject(SmbRlapsEnum)); 114 parameters->AddObject(iomodel->CopyConstantObject(SmbRlapslgmEnum)); 115 iomodel->Constant(&isdelta18o,SmbIsdelta18oEnum); 116 iomodel->Constant(&ismungsm,SmbIsmungsmEnum); 116 117 117 118 if(ismungsm){ 118 iomodel->FetchData(&temp,&N,&M,S urfaceforcingsPfacEnum); _assert_(N==2);119 parameters->AddObject(new TransientParam(S urfaceforcingsPfacEnum,&temp[0],&temp[M],interp,M));120 iomodel->DeleteData(temp,S urfaceforcingsPfacEnum);119 iomodel->FetchData(&temp,&N,&M,SmbPfacEnum); _assert_(N==2); 120 parameters->AddObject(new TransientParam(SmbPfacEnum,&temp[0],&temp[M],interp,M)); 121 iomodel->DeleteData(temp,SmbPfacEnum); 121 122 122 iomodel->FetchData(&temp,&N,&M,S urfaceforcingsTdiffEnum); _assert_(N==2);123 parameters->AddObject(new TransientParam(S urfaceforcingsTdiffEnum,&temp[0],&temp[M],interp,M));124 iomodel->DeleteData(temp,S urfaceforcingsTdiffEnum);125 126 iomodel->FetchData(&temp,&N,&M,S urfaceforcingsSealevEnum); _assert_(N==2);127 parameters->AddObject(new TransientParam(S urfaceforcingsSealevEnum,&temp[0],&temp[M],interp,M));128 iomodel->DeleteData(temp,S urfaceforcingsSealevEnum);123 iomodel->FetchData(&temp,&N,&M,SmbTdiffEnum); _assert_(N==2); 124 parameters->AddObject(new TransientParam(SmbTdiffEnum,&temp[0],&temp[M],interp,M)); 125 iomodel->DeleteData(temp,SmbTdiffEnum); 126 127 iomodel->FetchData(&temp,&N,&M,SmbSealevEnum); _assert_(N==2); 128 parameters->AddObject(new TransientParam(SmbSealevEnum,&temp[0],&temp[M],interp,M)); 129 iomodel->DeleteData(temp,SmbSealevEnum); 129 130 } 130 131 if(isdelta18o){ 131 iomodel->FetchData(&temp,&N,&M,S urfaceforcingsDelta18oEnum); _assert_(N==2);132 parameters->AddObject(new TransientParam(S urfaceforcingsDelta18oEnum,&temp[0],&temp[M],interp,M));133 iomodel->DeleteData(temp,S urfaceforcingsDelta18oEnum);134 135 iomodel->FetchData(&temp,&N,&M,S urfaceforcingsDelta18oSurfaceEnum); _assert_(N==2);136 parameters->AddObject(new TransientParam(S urfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],interp,M));137 iomodel->DeleteData(temp,S urfaceforcingsDelta18oSurfaceEnum);132 iomodel->FetchData(&temp,&N,&M,SmbDelta18oEnum); _assert_(N==2); 133 parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp,M)); 134 iomodel->DeleteData(temp,SmbDelta18oEnum); 135 136 iomodel->FetchData(&temp,&N,&M,SmbDelta18oSurfaceEnum); _assert_(N==2); 137 parameters->AddObject(new TransientParam(SmbDelta18oSurfaceEnum,&temp[0],&temp[M],interp,M)); 138 iomodel->DeleteData(temp,SmbDelta18oSurfaceEnum); 138 139 } 139 140 break; 140 141 case SMBd18opddEnum: 141 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsIsmungsmEnum));142 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsIsd18opdEnum));143 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsDesfacEnum));144 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsRlapsEnum));145 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsRlapslgmEnum));146 iomodel->Constant(&ismungsm,S urfaceforcingsIsmungsmEnum);147 iomodel->Constant(&isd18opd,S urfaceforcingsIsd18opdEnum);142 parameters->AddObject(iomodel->CopyConstantObject(SmbIsmungsmEnum)); 143 parameters->AddObject(iomodel->CopyConstantObject(SmbIsd18opdEnum)); 144 parameters->AddObject(iomodel->CopyConstantObject(SmbDesfacEnum)); 145 parameters->AddObject(iomodel->CopyConstantObject(SmbRlapsEnum)); 146 parameters->AddObject(iomodel->CopyConstantObject(SmbRlapslgmEnum)); 147 iomodel->Constant(&ismungsm,SmbIsmungsmEnum); 148 iomodel->Constant(&isd18opd,SmbIsd18opdEnum); 148 149 if(isd18opd){ 149 iomodel->FetchData(&temp,&N,&M,S urfaceforcingsDelta18oEnum); _assert_(N==2);150 parameters->AddObject(new TransientParam(S urfaceforcingsDelta18oEnum,&temp[0],&temp[M],interp,M));151 iomodel->DeleteData(temp,S urfaceforcingsDelta18oEnum);150 iomodel->FetchData(&temp,&N,&M,SmbDelta18oEnum); _assert_(N==2); 151 parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp,M)); 152 iomodel->DeleteData(temp,SmbDelta18oEnum); 152 153 153 parameters->AddObject(iomodel->CopyConstantObject(S urfaceforcingsDpermilEnum));154 parameters->AddObject(iomodel->CopyConstantObject(SmbDpermilEnum)); 154 155 } 155 156 break; -
issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp
r19286 r19527 7 7 #include "../../toolkits/toolkits.h" 8 8 9 void SurfaceMassBalancex(FemModel* femmodel){/*{{{*/10 11 /*Intermediaties*/12 int smb_model;13 bool isdelta18o,ismungsm,isd18opd;14 15 /*First, get SMB model from parameters*/16 femmodel->parameters->FindParam(&smb_model,SurfaceforcingsEnum);17 18 /*branch to correct module*/19 switch(smb_model){20 case SMBEnum:21 /*Nothing to be done*/22 break;23 case SMBpddEnum:24 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum);25 femmodel->parameters->FindParam(&ismungsm,SurfaceforcingsIsmungsmEnum);26 if(isdelta18o){27 if(VerboseSolution()) _printf0_(" call Delta18oParameterization module\n");28 Delta18oParameterizationx(femmodel);29 }30 if(ismungsm){31 if(VerboseSolution()) _printf0_(" call MungsmtpParameterization module\n");32 MungsmtpParameterizationx(femmodel);33 }34 if(VerboseSolution()) _printf0_(" call positive degree day module\n");35 PositiveDegreeDayx(femmodel);36 break;37 case SMBd18opddEnum:38 femmodel->parameters->FindParam(&isd18opd,SurfaceforcingsIsd18opdEnum);39 if(isd18opd){40 if(VerboseSolution()) _printf0_(" call Delta18opdParameterization module\n");41 Delta18opdParameterizationx(femmodel);42 if(VerboseSolution()) _printf0_(" call positive degree day module\n");43 PositiveDegreeDayx(femmodel);44 }45 break;46 case SMBgradientsEnum:47 if(VerboseSolution())_printf0_(" call smb gradients module\n");48 SmbGradientsx(femmodel);49 break;50 case SMBhenningEnum:51 if(VerboseSolution())_printf0_(" call smb Henning module\n");52 SmbHenningx(femmodel);53 break;54 case SMBcomponentsEnum:55 if(VerboseSolution())_printf0_(" call smb Components module\n");56 SmbComponentsx(femmodel);57 break;58 case SMBmeltcomponentsEnum:59 if(VerboseSolution())_printf0_(" call smb Melt Components module\n");60 SmbMeltComponentsx(femmodel);61 break;62 case SMBgcmEnum:63 /*Nothing to be done*/64 break;65 default:66 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");67 }68 69 }/*}}}*/70 9 71 10 void SmbGradientsx(FemModel* femmodel){/*{{{*/ … … 93 32 94 33 /*Recover SmbGradients*/ 95 element->GetInputListOnVertices(Href,S urfaceforcingsHrefEnum);96 element->GetInputListOnVertices(Smbref,S urfaceforcingsSmbrefEnum);97 element->GetInputListOnVertices(b_pos,S urfaceforcingsBPosEnum);98 element->GetInputListOnVertices(b_neg,S urfaceforcingsBNegEnum);34 element->GetInputListOnVertices(Href,SmbHrefEnum); 35 element->GetInputListOnVertices(Smbref,SmbSmbrefEnum); 36 element->GetInputListOnVertices(b_pos,SmbBPosEnum); 37 element->GetInputListOnVertices(b_neg,SmbBNegEnum); 99 38 100 39 /*Recover surface elevation at vertices: */ … … 117 56 118 57 /*Add input to element and Free memory*/ 119 element->AddInput(S urfaceforcingsMassBalanceEnum,smb,P1Enum);58 element->AddInput(SmbMassBalanceEnum,smb,P1Enum); 120 59 xDelete<IssmDouble>(Href); 121 60 xDelete<IssmDouble>(Smbref); … … 187 126 188 127 // Get ismungsm parameter 189 femmodel->parameters->FindParam(&ismungsm,S urfaceforcingsIsmungsmEnum);128 femmodel->parameters->FindParam(&ismungsm,SmbIsmungsmEnum); 190 129 191 130 /* initialize PDD (creation of a lookup table)*/ … … 279 218 IssmDouble* smblist = xNew<IssmDouble>(numvertices); 280 219 element->GetInputListOnVertices(surfacelist,SurfaceEnum); 281 element->GetInputListOnVertices(smblistref,S urfaceforcingsSmbrefEnum);220 element->GetInputListOnVertices(smblistref,SmbSmbrefEnum); 282 221 283 222 /*Loop over all vertices of element and correct SMB as a function of altitude z*/ … … 311 250 312 251 /*Add input to element and Free memory*/ 313 element->AddInput(S urfaceforcingsMassBalanceEnum,smblist,P1Enum);252 element->AddInput(SmbMassBalanceEnum,smblist,P1Enum); 314 253 xDelete<IssmDouble>(surfacelist); 315 254 xDelete<IssmDouble>(smblistref); … … 340 279 341 280 /*Recover Smb Components*/ 342 element->GetInputListOnVertices(acc,S urfaceforcingsAccumulationEnum);343 element->GetInputListOnVertices(evap,S urfaceforcingsEvaporationEnum);344 element->GetInputListOnVertices(runoff,S urfaceforcingsRunoffEnum);281 element->GetInputListOnVertices(acc,SmbAccumulationEnum); 282 element->GetInputListOnVertices(evap,SmbEvaporationEnum); 283 element->GetInputListOnVertices(runoff,SmbRunoffEnum); 345 284 346 285 // loop over all vertices … … 350 289 351 290 /*Add input to element and Free memory*/ 352 element->AddInput(S urfaceforcingsMassBalanceEnum,smb,P1Enum);291 element->AddInput(SmbMassBalanceEnum,smb,P1Enum); 353 292 xDelete<IssmDouble>(acc); 354 293 xDelete<IssmDouble>(evap); … … 382 321 383 322 /*Recover Smb Components*/ 384 element->GetInputListOnVertices(acc,S urfaceforcingsAccumulationEnum);385 element->GetInputListOnVertices(evap,S urfaceforcingsEvaporationEnum);386 element->GetInputListOnVertices(melt,S urfaceforcingsMeltEnum);387 element->GetInputListOnVertices(refreeze,S urfaceforcingsRefreezeEnum);323 element->GetInputListOnVertices(acc,SmbAccumulationEnum); 324 element->GetInputListOnVertices(evap,SmbEvaporationEnum); 325 element->GetInputListOnVertices(melt,SmbMeltEnum); 326 element->GetInputListOnVertices(refreeze,SmbRefreezeEnum); 388 327 389 328 // loop over all vertices … … 393 332 394 333 /*Add input to element and Free memory*/ 395 element->AddInput(S urfaceforcingsMassBalanceEnum,smb,P1Enum);334 element->AddInput(SmbMassBalanceEnum,smb,P1Enum); 396 335 xDelete<IssmDouble>(acc); 397 336 xDelete<IssmDouble>(evap); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r19518 r19527 328 328 TimesteppingTimeStepEnum, 329 329 TimesteppingInterpForcingsEnum, 330 TransientIssmbEnum, 330 331 TransientIsstressbalanceEnum, 331 332 TransientIsgroundinglineEnum, … … 347 348 BalancethicknessD0Enum, 348 349 /*}}}*/ 349 /*Surfaceforcings{{{*/ 350 SurfaceforcingsEnum, 351 SMBEnum, 352 SurfaceforcingsMassBalanceEnum, 350 /*Smb{{{*/ 351 SmbEnum, 352 SmbSolutionEnum, 353 SmbNumRequestedOutputsEnum, 354 SmbRequestedOutputsEnum, 355 SMBforcingEnum, 356 SmbMassBalanceEnum, 353 357 SMBpddEnum, 354 S urfaceforcingsDelta18oEnum,355 S urfaceforcingsDelta18oSurfaceEnum,356 S urfaceforcingsIsdelta18oEnum,357 S urfaceforcingsIsmungsmEnum,358 S urfaceforcingsIsd18opdEnum,359 S urfaceforcingsPrecipitationsPresentdayEnum,360 S urfaceforcingsPrecipitationsLgmEnum,361 S urfaceforcingsTemperaturesPresentdayEnum,362 S urfaceforcingsTemperaturesLgmEnum,363 S urfaceforcingsPrecipitationEnum,364 S urfaceforcingsDesfacEnum,365 S urfaceforcingsS0pEnum,366 S urfaceforcingsS0tEnum,367 S urfaceforcingsRlapsEnum,368 S urfaceforcingsRlapslgmEnum,369 S urfaceforcingsPfacEnum,370 S urfaceforcingsTdiffEnum,371 S urfaceforcingsSealevEnum,358 SmbDelta18oEnum, 359 SmbDelta18oSurfaceEnum, 360 SmbIsdelta18oEnum, 361 SmbIsmungsmEnum, 362 SmbIsd18opdEnum, 363 SmbPrecipitationsPresentdayEnum, 364 SmbPrecipitationsLgmEnum, 365 SmbTemperaturesPresentdayEnum, 366 SmbTemperaturesLgmEnum, 367 SmbPrecipitationEnum, 368 SmbDesfacEnum, 369 SmbS0pEnum, 370 SmbS0tEnum, 371 SmbRlapsEnum, 372 SmbRlapslgmEnum, 373 SmbPfacEnum, 374 SmbTdiffEnum, 375 SmbSealevEnum, 372 376 SMBd18opddEnum, 373 S urfaceforcingsDpermilEnum,377 SmbDpermilEnum, 374 378 SMBgradientsEnum, 375 S urfaceforcingsMonthlytemperaturesEnum,376 S urfaceforcingsHrefEnum,377 S urfaceforcingsSmbrefEnum,378 S urfaceforcingsBPosEnum,379 S urfaceforcingsBNegEnum,379 SmbMonthlytemperaturesEnum, 380 SmbHrefEnum, 381 SmbSmbrefEnum, 382 SmbBPosEnum, 383 SmbBNegEnum, 380 384 SMBhenningEnum, 381 385 SMBcomponentsEnum, 382 S urfaceforcingsAccumulationEnum,383 S urfaceforcingsEvaporationEnum,384 S urfaceforcingsRunoffEnum,386 SmbAccumulationEnum, 387 SmbEvaporationEnum, 388 SmbRunoffEnum, 385 389 SMBmeltcomponentsEnum, 386 S urfaceforcingsMeltEnum,387 S urfaceforcingsRefreezeEnum,390 SmbMeltEnum, 391 SmbRefreezeEnum, 388 392 SMBgcmEnum, 389 393 /*TO BE REMOVED*/ 390 S urfaceforcingsIspddEnum,391 S urfaceforcingsIssmbgradientsEnum,394 SmbIspddEnum, 395 SmbIssmbgradientsEnum, 392 396 /*}}}*/ 393 397 /*Solutions and Analyses{{{ */ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r19518 r19527 334 334 case TimesteppingTimeStepEnum : return "TimesteppingTimeStep"; 335 335 case TimesteppingInterpForcingsEnum : return "TimesteppingInterpForcings"; 336 case TransientIssmbEnum : return "TransientIssmb"; 336 337 case TransientIsstressbalanceEnum : return "TransientIsstressbalance"; 337 338 case TransientIsgroundinglineEnum : return "TransientIsgroundingline"; … … 352 353 case BalancethicknessOmegaEnum : return "BalancethicknessOmega"; 353 354 case BalancethicknessD0Enum : return "BalancethicknessD0"; 354 case SurfaceforcingsEnum : return "Surfaceforcings"; 355 case SMBEnum : return "SMB"; 356 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 355 case SmbEnum : return "Smb"; 356 case SmbSolutionEnum : return "SmbSolution"; 357 case SmbNumRequestedOutputsEnum : return "SmbNumRequestedOutputs"; 358 case SmbRequestedOutputsEnum : return "SmbRequestedOutputs"; 359 case SMBforcingEnum : return "SMBforcing"; 360 case SmbMassBalanceEnum : return "SmbMassBalance"; 357 361 case SMBpddEnum : return "SMBpdd"; 358 case S urfaceforcingsDelta18oEnum : return "SurfaceforcingsDelta18o";359 case S urfaceforcingsDelta18oSurfaceEnum : return "SurfaceforcingsDelta18oSurface";360 case S urfaceforcingsIsdelta18oEnum : return "SurfaceforcingsIsdelta18o";361 case S urfaceforcingsIsmungsmEnum : return "SurfaceforcingsIsmungsm";362 case S urfaceforcingsIsd18opdEnum : return "SurfaceforcingsIsd18opd";363 case S urfaceforcingsPrecipitationsPresentdayEnum : return "SurfaceforcingsPrecipitationsPresentday";364 case S urfaceforcingsPrecipitationsLgmEnum : return "SurfaceforcingsPrecipitationsLgm";365 case S urfaceforcingsTemperaturesPresentdayEnum : return "SurfaceforcingsTemperaturesPresentday";366 case S urfaceforcingsTemperaturesLgmEnum : return "SurfaceforcingsTemperaturesLgm";367 case S urfaceforcingsPrecipitationEnum : return "SurfaceforcingsPrecipitation";368 case S urfaceforcingsDesfacEnum : return "SurfaceforcingsDesfac";369 case S urfaceforcingsS0pEnum : return "SurfaceforcingsS0p";370 case S urfaceforcingsS0tEnum : return "SurfaceforcingsS0t";371 case S urfaceforcingsRlapsEnum : return "SurfaceforcingsRlaps";372 case S urfaceforcingsRlapslgmEnum : return "SurfaceforcingsRlapslgm";373 case S urfaceforcingsPfacEnum : return "SurfaceforcingsPfac";374 case S urfaceforcingsTdiffEnum : return "SurfaceforcingsTdiff";375 case S urfaceforcingsSealevEnum : return "SurfaceforcingsSealev";362 case SmbDelta18oEnum : return "SmbDelta18o"; 363 case SmbDelta18oSurfaceEnum : return "SmbDelta18oSurface"; 364 case SmbIsdelta18oEnum : return "SmbIsdelta18o"; 365 case SmbIsmungsmEnum : return "SmbIsmungsm"; 366 case SmbIsd18opdEnum : return "SmbIsd18opd"; 367 case SmbPrecipitationsPresentdayEnum : return "SmbPrecipitationsPresentday"; 368 case SmbPrecipitationsLgmEnum : return "SmbPrecipitationsLgm"; 369 case SmbTemperaturesPresentdayEnum : return "SmbTemperaturesPresentday"; 370 case SmbTemperaturesLgmEnum : return "SmbTemperaturesLgm"; 371 case SmbPrecipitationEnum : return "SmbPrecipitation"; 372 case SmbDesfacEnum : return "SmbDesfac"; 373 case SmbS0pEnum : return "SmbS0p"; 374 case SmbS0tEnum : return "SmbS0t"; 375 case SmbRlapsEnum : return "SmbRlaps"; 376 case SmbRlapslgmEnum : return "SmbRlapslgm"; 377 case SmbPfacEnum : return "SmbPfac"; 378 case SmbTdiffEnum : return "SmbTdiff"; 379 case SmbSealevEnum : return "SmbSealev"; 376 380 case SMBd18opddEnum : return "SMBd18opdd"; 377 case S urfaceforcingsDpermilEnum : return "SurfaceforcingsDpermil";381 case SmbDpermilEnum : return "SmbDpermil"; 378 382 case SMBgradientsEnum : return "SMBgradients"; 379 case S urfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures";380 case S urfaceforcingsHrefEnum : return "SurfaceforcingsHref";381 case S urfaceforcingsSmbrefEnum : return "SurfaceforcingsSmbref";382 case S urfaceforcingsBPosEnum : return "SurfaceforcingsBPos";383 case S urfaceforcingsBNegEnum : return "SurfaceforcingsBNeg";383 case SmbMonthlytemperaturesEnum : return "SmbMonthlytemperatures"; 384 case SmbHrefEnum : return "SmbHref"; 385 case SmbSmbrefEnum : return "SmbSmbref"; 386 case SmbBPosEnum : return "SmbBPos"; 387 case SmbBNegEnum : return "SmbBNeg"; 384 388 case SMBhenningEnum : return "SMBhenning"; 385 389 case SMBcomponentsEnum : return "SMBcomponents"; 386 case S urfaceforcingsAccumulationEnum : return "SurfaceforcingsAccumulation";387 case S urfaceforcingsEvaporationEnum : return "SurfaceforcingsEvaporation";388 case S urfaceforcingsRunoffEnum : return "SurfaceforcingsRunoff";390 case SmbAccumulationEnum : return "SmbAccumulation"; 391 case SmbEvaporationEnum : return "SmbEvaporation"; 392 case SmbRunoffEnum : return "SmbRunoff"; 389 393 case SMBmeltcomponentsEnum : return "SMBmeltcomponents"; 390 case S urfaceforcingsMeltEnum : return "SurfaceforcingsMelt";391 case S urfaceforcingsRefreezeEnum : return "SurfaceforcingsRefreeze";394 case SmbMeltEnum : return "SmbMelt"; 395 case SmbRefreezeEnum : return "SmbRefreeze"; 392 396 case SMBgcmEnum : return "SMBgcm"; 393 case S urfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";394 case S urfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients";397 case SmbIspddEnum : return "SmbIspdd"; 398 case SmbIssmbgradientsEnum : return "SmbIssmbgradients"; 395 399 case SolutionTypeEnum : return "SolutionType"; 396 400 case AnalysisTypeEnum : return "AnalysisType"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r19518 r19527 340 340 else if (strcmp(name,"TimesteppingTimeStep")==0) return TimesteppingTimeStepEnum; 341 341 else if (strcmp(name,"TimesteppingInterpForcings")==0) return TimesteppingInterpForcingsEnum; 342 else if (strcmp(name,"TransientIssmb")==0) return TransientIssmbEnum; 342 343 else if (strcmp(name,"TransientIsstressbalance")==0) return TransientIsstressbalanceEnum; 343 344 else if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum; … … 358 359 else if (strcmp(name,"BalancethicknessOmega")==0) return BalancethicknessOmegaEnum; 359 360 else if (strcmp(name,"BalancethicknessD0")==0) return BalancethicknessD0Enum; 360 else if (strcmp(name,"Surfaceforcings")==0) return SurfaceforcingsEnum; 361 else if (strcmp(name,"SMB")==0) return SMBEnum; 362 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 361 else if (strcmp(name,"Smb")==0) return SmbEnum; 362 else if (strcmp(name,"SmbSolution")==0) return SmbSolutionEnum; 363 else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum; 364 else if (strcmp(name,"SmbRequestedOutputs")==0) return SmbRequestedOutputsEnum; 365 else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum; 366 else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum; 363 367 else if (strcmp(name,"SMBpdd")==0) return SMBpddEnum; 364 else if (strcmp(name,"SurfaceforcingsDelta18o")==0) return SurfaceforcingsDelta18oEnum; 365 else if (strcmp(name,"SurfaceforcingsDelta18oSurface")==0) return SurfaceforcingsDelta18oSurfaceEnum; 366 else if (strcmp(name,"SurfaceforcingsIsdelta18o")==0) return SurfaceforcingsIsdelta18oEnum; 367 else if (strcmp(name,"SurfaceforcingsIsmungsm")==0) return SurfaceforcingsIsmungsmEnum; 368 else if (strcmp(name,"SurfaceforcingsIsd18opd")==0) return SurfaceforcingsIsd18opdEnum; 369 else if (strcmp(name,"SurfaceforcingsPrecipitationsPresentday")==0) return SurfaceforcingsPrecipitationsPresentdayEnum; 370 else if (strcmp(name,"SurfaceforcingsPrecipitationsLgm")==0) return SurfaceforcingsPrecipitationsLgmEnum; 371 else if (strcmp(name,"SurfaceforcingsTemperaturesPresentday")==0) return SurfaceforcingsTemperaturesPresentdayEnum; 372 else if (strcmp(name,"SurfaceforcingsTemperaturesLgm")==0) return SurfaceforcingsTemperaturesLgmEnum; 373 else if (strcmp(name,"SurfaceforcingsPrecipitation")==0) return SurfaceforcingsPrecipitationEnum; 374 else if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum; 375 else if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 376 else if (strcmp(name,"SurfaceforcingsS0t")==0) return SurfaceforcingsS0tEnum; 377 else if (strcmp(name,"SurfaceforcingsRlaps")==0) return SurfaceforcingsRlapsEnum; 378 else if (strcmp(name,"SurfaceforcingsRlapslgm")==0) return SurfaceforcingsRlapslgmEnum; 379 else if (strcmp(name,"SurfaceforcingsPfac")==0) return SurfaceforcingsPfacEnum; 380 else if (strcmp(name,"SurfaceforcingsTdiff")==0) return SurfaceforcingsTdiffEnum; 381 else if (strcmp(name,"SurfaceforcingsSealev")==0) return SurfaceforcingsSealevEnum; 382 else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum; 383 else if (strcmp(name,"SurfaceforcingsDpermil")==0) return SurfaceforcingsDpermilEnum; 384 else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum; 368 else if (strcmp(name,"SmbDelta18o")==0) return SmbDelta18oEnum; 369 else if (strcmp(name,"SmbDelta18oSurface")==0) return SmbDelta18oSurfaceEnum; 370 else if (strcmp(name,"SmbIsdelta18o")==0) return SmbIsdelta18oEnum; 371 else if (strcmp(name,"SmbIsmungsm")==0) return SmbIsmungsmEnum; 372 else if (strcmp(name,"SmbIsd18opd")==0) return SmbIsd18opdEnum; 373 else if (strcmp(name,"SmbPrecipitationsPresentday")==0) return SmbPrecipitationsPresentdayEnum; 374 else if (strcmp(name,"SmbPrecipitationsLgm")==0) return SmbPrecipitationsLgmEnum; 375 else if (strcmp(name,"SmbTemperaturesPresentday")==0) return SmbTemperaturesPresentdayEnum; 376 else if (strcmp(name,"SmbTemperaturesLgm")==0) return SmbTemperaturesLgmEnum; 377 else if (strcmp(name,"SmbPrecipitation")==0) return SmbPrecipitationEnum; 378 else if (strcmp(name,"SmbDesfac")==0) return SmbDesfacEnum; 379 else if (strcmp(name,"SmbS0p")==0) return SmbS0pEnum; 380 else if (strcmp(name,"SmbS0t")==0) return SmbS0tEnum; 381 else if (strcmp(name,"SmbRlaps")==0) return SmbRlapsEnum; 382 else if (strcmp(name,"SmbRlapslgm")==0) return SmbRlapslgmEnum; 383 else if (strcmp(name,"SmbPfac")==0) return SmbPfacEnum; 384 else if (strcmp(name,"SmbTdiff")==0) return SmbTdiffEnum; 385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; 389 else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum; 390 else if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum; 391 else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum; 392 else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum; 388 if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum; 389 else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum; 390 else if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum; 391 else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum; 392 else if (strcmp(name,"SmbMonthlytemperatures")==0) return SmbMonthlytemperaturesEnum; 393 else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum; 394 else if (strcmp(name,"SmbSmbref")==0) return SmbSmbrefEnum; 395 else if (strcmp(name,"SmbBPos")==0) return SmbBPosEnum; 396 else if (strcmp(name,"SmbBNeg")==0) return SmbBNegEnum; 393 397 else if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum; 394 398 else if (strcmp(name,"SMBcomponents")==0) return SMBcomponentsEnum; 395 else if (strcmp(name,"S urfaceforcingsAccumulation")==0) return SurfaceforcingsAccumulationEnum;396 else if (strcmp(name,"S urfaceforcingsEvaporation")==0) return SurfaceforcingsEvaporationEnum;397 else if (strcmp(name,"S urfaceforcingsRunoff")==0) return SurfaceforcingsRunoffEnum;399 else if (strcmp(name,"SmbAccumulation")==0) return SmbAccumulationEnum; 400 else if (strcmp(name,"SmbEvaporation")==0) return SmbEvaporationEnum; 401 else if (strcmp(name,"SmbRunoff")==0) return SmbRunoffEnum; 398 402 else if (strcmp(name,"SMBmeltcomponents")==0) return SMBmeltcomponentsEnum; 399 else if (strcmp(name,"S urfaceforcingsMelt")==0) return SurfaceforcingsMeltEnum;400 else if (strcmp(name,"S urfaceforcingsRefreeze")==0) return SurfaceforcingsRefreezeEnum;403 else if (strcmp(name,"SmbMelt")==0) return SmbMeltEnum; 404 else if (strcmp(name,"SmbRefreeze")==0) return SmbRefreezeEnum; 401 405 else if (strcmp(name,"SMBgcm")==0) return SMBgcmEnum; 402 else if (strcmp(name,"S urfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;403 else if (strcmp(name,"S urfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;406 else if (strcmp(name,"SmbIspdd")==0) return SmbIspddEnum; 407 else if (strcmp(name,"SmbIssmbgradients")==0) return SmbIssmbgradientsEnum; 404 408 else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum; 405 409 else if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum; … … 502 506 else if (strcmp(name,"InputToL2Project")==0) return InputToL2ProjectEnum; 503 507 else if (strcmp(name,"InputToDepthaverage")==0) return InputToDepthaverageEnum; 504 else if (strcmp(name,"InputToSmooth")==0) return InputToSmoothEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"InputToSmooth")==0) return InputToSmoothEnum; 505 512 else if (strcmp(name,"SmoothThicknessMultiplier")==0) return SmoothThicknessMultiplierEnum; 506 513 else if (strcmp(name,"IntParam")==0) return IntParamEnum; 507 514 else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"TransientParam")==0) return TransientParamEnum; 515 else if (strcmp(name,"TransientParam")==0) return TransientParamEnum; 512 516 else if (strcmp(name,"Matice")==0) return MaticeEnum; 513 517 else if (strcmp(name,"Matdamageice")==0) return MatdamageiceEnum; … … 625 629 else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum; 626 630 else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum; 627 else if (strcmp(name,"HydrologyWaterVx")==0) return HydrologyWaterVxEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"HydrologyWaterVx")==0) return HydrologyWaterVxEnum; 628 635 else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum; 629 636 else if (strcmp(name,"DrivingStressX")==0) return DrivingStressXEnum; 630 637 else if (strcmp(name,"DrivingStressY")==0) return DrivingStressYEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"SigmaNN")==0) return SigmaNNEnum; 638 else if (strcmp(name,"SigmaNN")==0) return SigmaNNEnum; 635 639 else if (strcmp(name,"StressTensor")==0) return StressTensorEnum; 636 640 else if (strcmp(name,"StressTensorxx")==0) return StressTensorxxEnum; … … 748 752 else if (strcmp(name,"Outputdefinition54")==0) return Outputdefinition54Enum; 749 753 else if (strcmp(name,"Outputdefinition55")==0) return Outputdefinition55Enum; 750 else if (strcmp(name,"Outputdefinition56")==0) return Outputdefinition56Enum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"Outputdefinition56")==0) return Outputdefinition56Enum; 751 758 else if (strcmp(name,"Outputdefinition57")==0) return Outputdefinition57Enum; 752 759 else if (strcmp(name,"Outputdefinition58")==0) return Outputdefinition58Enum; 753 760 else if (strcmp(name,"Outputdefinition59")==0) return Outputdefinition59Enum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"Outputdefinition60")==0) return Outputdefinition60Enum; 761 else if (strcmp(name,"Outputdefinition60")==0) return Outputdefinition60Enum; 758 762 else if (strcmp(name,"Outputdefinition61")==0) return Outputdefinition61Enum; 759 763 else if (strcmp(name,"Outputdefinition62")==0) return Outputdefinition62Enum; … … 871 875 else if (strcmp(name,"RootPath")==0) return RootPathEnum; 872 876 else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 873 else if (strcmp(name,"InputFileName")==0) return InputFileNameEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"InputFileName")==0) return InputFileNameEnum; 874 881 else if (strcmp(name,"LockFileName")==0) return LockFileNameEnum; 875 882 else if (strcmp(name,"RestartFileName")==0) return RestartFileNameEnum; 876 883 else if (strcmp(name,"ToolkitsOptionsAnalyses")==0) return ToolkitsOptionsAnalysesEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum; 884 else if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum; 881 885 else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum; 882 886 else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum; -
issm/trunk-jpl/src/c/shared/Enum/Synchronize.sh
r19059 r19527 202 202 203 203 for NAMEENUM in $(cat temp); do 204 echo $NAMEENUM 204 205 205 206 #Get name and enum of the line i -
issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.m
r17071 r19527 30 30 31 31 %Initialize surface and basal forcings 32 md.s urfaceforcings = initialize(md.surfaceforcings,md);32 md.smb = initialize(md.smb,md); 33 33 md.basalforcings = initialize(md.basalforcings,md); 34 34 -
issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.py
r17877 r19527 34 34 #No ice front -> do nothing 35 35 36 #Create zeros basalforcings and s urfaceforcings37 md.s urfaceforcings.initialize(md)36 #Create zeros basalforcings and smb 37 md.smb.initialize(md) 38 38 md.basalforcings.initialize(md) 39 39 -
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.m
r17686 r19527 63 63 64 64 %Initialize surface and basal forcings 65 md.s urfaceforcings = initialize(md.surfaceforcings,md);65 md.smb = initialize(md.smb,md); 66 66 md.basalforcings = initialize(md.basalforcings,md); 67 67 -
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
r17876 r19527 76 76 print " boundary conditions for stressbalance model: spc set as zero" 77 77 78 #Create zeros basalforcings and s urfaceforcings79 md.s urfaceforcings.initialize(md)78 #Create zeros basalforcings and smb 79 md.smb.initialize(md) 80 80 md.basalforcings.initialize(md) 81 81 -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
r18739 r19527 81 81 82 82 %Initialize surface and basal forcings 83 md.s urfaceforcings = initialize(md.surfaceforcings,md);83 md.smb = initialize(md.smb,md); 84 84 md.basalforcings = initialize(md.basalforcings,md); 85 85 -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
r17876 r19527 84 84 md.hydrology.spcwatercolumn[pos,0]=1 85 85 86 #Create zeros basalforcings and s urfaceforcings87 md.s urfaceforcings.initialize(md)86 #Create zeros basalforcings and smb 87 md.smb.initialize(md) 88 88 md.basalforcings.initialize(md) 89 89 -
issm/trunk-jpl/src/m/classes/SMBcomponents.m
r19040 r19527 9 9 runoff = NaN; 10 10 evaporation = NaN; 11 requested_outputs = {}; 11 12 end 12 13 methods … … 25 26 26 27 end % }}} 28 function list = defaultoutputs(self,md) % {{{ 29 30 list = {''}; 31 32 end % }}} 27 33 function self = initialize(self,md) % {{{ 28 34 29 35 if isnan(self.accumulation) 30 36 self.accumulation=zeros(md.mesh.numberofvertices,1); 31 disp(' no s urfaceforcings.accumulation specified: values set as zero');37 disp(' no smb.accumulation specified: values set as zero'); 32 38 end 33 39 if isnan(self.evaporation) 34 40 self.evaporation=zeros(md.mesh.numberofvertices,1); 35 disp(' no s urfaceforcings.evaporation specified: values set as zero');41 disp(' no smb.evaporation specified: values set as zero'); 36 42 end 37 43 if isnan(self.runoff) 38 44 self.runoff=zeros(md.mesh.numberofvertices,1); 39 disp(' no s urfaceforcings.runoff specified: values set as zero');45 disp(' no smb.runoff specified: values set as zero'); 40 46 end 41 47 … … 44 50 45 51 if ismember(MasstransportAnalysisEnum(),analyses), 46 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','timeseries',1,'NaN',1);52 md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1); 47 53 end 48 54 if ismember(BalancethicknessAnalysisEnum(),analyses), 49 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1);55 md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1); 50 56 end 51 57 if ismember(MasstransportAnalysisEnum(),analyses), 52 md = checkfield(md,'fieldname','s urfaceforcings.runoff','timeseries',1,'NaN',1);58 md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1); 53 59 end 54 60 if ismember(BalancethicknessAnalysisEnum(),analyses), 55 md = checkfield(md,'fieldname','s urfaceforcings.runoff','size',[md.mesh.numberofvertices 1],'NaN',1);61 md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices 1],'NaN',1); 56 62 end 57 63 if ismember(MasstransportAnalysisEnum(),analyses), 58 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','timeseries',1,'NaN',1);64 md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1); 59 65 end 60 66 if ismember(BalancethicknessAnalysisEnum(),analyses), 61 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1);67 md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1); 62 68 end 69 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 63 70 end % }}} 64 71 function disp(self) % {{{ … … 67 74 fielddisplay(self,'runoff','amount of ice melt lost from the ice column [m/yr ice eq]'); 68 75 fielddisplay(self,'evaporation','amount of ice lost to evaporative processes [m/yr ice eq]'); 76 fielddisplay(self,'requested_outputs','additional outputs requested'); 69 77 end % }}} 70 78 function marshall(self,md,fid) % {{{ … … 72 80 yts=365.0*24.0*3600.0; 73 81 74 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBcomponentsEnum(),'format','Integer'); 75 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 76 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 77 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 82 WriteData(fid,'enum',SmbEnum(),'data',SMBcomponentsEnum(),'format','Integer'); 83 WriteData(fid,'object',self,'class','smb','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 84 WriteData(fid,'object',self,'class','smb','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 85 WriteData(fid,'object',self,'class','smb','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 86 87 %process requested outputs 88 outputs = self.requested_outputs; 89 pos = find(ismember(outputs,'default')); 90 if ~isempty(pos), 91 outputs(pos) = []; %remove 'default' from outputs 92 outputs = [outputs defaultoutputs(self,md)]; %add defaults 93 end 94 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 95 78 96 end % }}} 79 97 end -
issm/trunk-jpl/src/m/classes/SMBcomponents.py
r19027 r19527 17 17 self.runoff = float('NaN') 18 18 self.evaporation = float('NaN') 19 self.requested_outputs = [] 19 20 #}}} 20 21 def __repr__(self): # {{{ … … 23 24 string="%s\n%s"%(string,fielddisplay(self,'runoff','amount of ice melt lost from the ice column [m/yr ice eq]')) 24 25 string="%s\n%s"%(string,fielddisplay(self,'evaporation','mount of ice lost to evaporative processes [m/yr ice eq]')) 26 string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested')) 25 27 return string 26 28 #}}} … … 31 33 self.mass_balance=project3d(md,'vector',self.evaporation,'type','node'); 32 34 return self 35 #}}} 36 def defaultoutputs(self,md): # {{{ 37 return [] 33 38 #}}} 34 39 def initialize(self,md): # {{{ … … 51 56 52 57 if MasstransportAnalysisEnum() in analyses: 53 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','timeseries',1,'NaN',1)58 md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1) 54 59 55 60 if BalancethicknessAnalysisEnum() in analyses: 56 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','size',[md.mesh.numberofvertices],'NaN',1)61 md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1) 57 62 58 63 if MasstransportAnalysisEnum() in analyses: 59 md = checkfield(md,'fieldname','s urfaceforcings.runoff','timeseries',1,'NaN',1)64 md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1) 60 65 61 66 if BalancethicknessAnalysisEnum() in analyses: 62 md = checkfield(md,'fieldname','s urfaceforcings.runoff','size',[md.mesh.numberofvertices],'NaN',1)67 md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices],'NaN',1) 63 68 64 69 if MasstransportAnalysisEnum() in analyses: 65 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','timeseries',1,'NaN',1)70 md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1) 66 71 67 72 if BalancethicknessAnalysisEnum() in analyses: 68 md = checkfield(md,'fieldname','surfaceforcings.evaporation','size',[md.mesh.numberofvertices],'NaN',1) 73 md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1) 74 75 md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1) 69 76 70 77 return md … … 74 81 yts=365.0*24.0*3600.0 75 82 76 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBcomponentsEnum(),'format','Integer'); 77 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 78 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 79 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 83 WriteData(fid,'enum',SmbEnum(),'data',SMBcomponentsEnum(),'format','Integer'); 84 WriteData(fid,'object',self,'class','smb','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 85 WriteData(fid,'object',self,'class','smb','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 86 WriteData(fid,'object',self,'class','smb','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 87 88 #process requested outputs 89 outputs = self.requested_outputs 90 indices = [i for i, x in enumerate(outputs) if x == 'default'] 91 if len(indices) > 0: 92 outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:] 93 outputs =outputscopy 94 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum(),'format','StringArray') 95 80 96 # }}} -
issm/trunk-jpl/src/m/classes/SMBd18opdd.m
r19309 r19527 20 20 temperatures_presentday = NaN; 21 21 precipitations_presentday = NaN; 22 requested_outputs = {}; 22 23 end 23 24 methods … … 35 36 self.s0p=project3d(md,'vector',self.s0p,'type','node'); 36 37 self.s0t=project3d(md,'vector',self.s0t,'type','node'); 38 39 end % }}} 40 function list = defaultoutputs(self,md) % {{{ 41 42 list = {''}; 37 43 38 44 end % }}} … … 62 68 63 69 if ismember(MasstransportAnalysisEnum(),analyses), 64 md = checkfield(md,'fieldname','s urfaceforcings.desfac','<=',1,'numel',1);65 md = checkfield(md,'fieldname','s urfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);66 md = checkfield(md,'fieldname','s urfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);67 md = checkfield(md,'fieldname','s urfaceforcings.rlaps','>=',0,'numel',1);68 md = checkfield(md,'fieldname','s urfaceforcings.rlapslgm','>=',0,'numel',1);70 md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',1); 71 md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]); 72 md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]); 73 md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',1); 74 md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',1); 69 75 if(self.isd18opd==1) 70 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);71 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);72 md = checkfield(md,'fieldname','s urfaceforcings.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1);73 md = checkfield(md,'fieldname','s urfaceforcings.dpermil','>=',0,'numel',1);76 md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 77 md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 78 md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1); 79 md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',1); 74 80 end 75 81 end 82 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 76 83 end % }}} 77 84 function disp(self) % {{{ … … 90 97 fielddisplay(self,'dpermil','degree per mil, required if d18opd is activated'); 91 98 end 99 fielddisplay(self,'requested_outputs','additional outputs requested'); 92 100 % No need to display rlapslgm, Tdiff, ismungsm 93 101 % as they are not used in this case but are still needed as default values in … … 98 106 yts=365.0*24.0*3600.0; 99 107 100 WriteData(fid,'enum',S urfaceforcingsEnum(),'data',SMBd18opddEnum(),'format','Integer');108 WriteData(fid,'enum',SmbEnum(),'data',SMBd18opddEnum(),'format','Integer'); 101 109 102 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','ismungsm','format','Boolean');103 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','isd18opd','format','Boolean');104 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','desfac','format','Double');105 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);106 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);107 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlaps','format','Double');108 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlapslgm','format','Double');109 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2);110 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2);110 WriteData(fid,'object',self,'class','smb','fieldname','ismungsm','format','Boolean'); 111 WriteData(fid,'object',self,'class','smb','fieldname','isd18opd','format','Boolean'); 112 WriteData(fid,'object',self,'class','smb','fieldname','desfac','format','Double'); 113 WriteData(fid,'object',self,'class','smb','fieldname','s0p','format','DoubleMat','mattype',1); 114 WriteData(fid,'object',self,'class','smb','fieldname','s0t','format','DoubleMat','mattype',1); 115 WriteData(fid,'object',self,'class','smb','fieldname','rlaps','format','Double'); 116 WriteData(fid,'object',self,'class','smb','fieldname','rlapslgm','format','Double'); 117 WriteData(fid,'object',self,'class','smb','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2); 118 WriteData(fid,'object',self,'class','smb','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2); 111 119 112 120 if self.isd18opd 113 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);114 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);115 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2);116 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','dpermil','format','Double');121 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 122 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 123 WriteData(fid,'object',self,'class','smb','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2); 124 WriteData(fid,'object',self,'class','smb','fieldname','dpermil','format','Double'); 117 125 end 126 127 %process requested outputs 128 outputs = self.requested_outputs; 129 pos = find(ismember(outputs,'default')); 130 if ~isempty(pos), 131 outputs(pos) = []; %remove 'default' from outputs 132 outputs = [outputs defaultoutputs(self,md)]; %add defaults 133 end 134 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 135 118 136 end % }}} 119 137 end -
issm/trunk-jpl/src/m/classes/SMBd18opdd.py
r19309 r19527 32 32 #set defaults 33 33 self.setdefaultparameters() 34 self.requested_outputs = [] 34 35 #}}} 35 36 def __repr__(self): # {{{ … … 46 47 string="%s\n%s"%(string,fielddisplay(self,'delta18o','delta18o [per mil], required if pdd is activated and delta18o activated')) 47 48 string="%s\n%s"%(string,fielddisplay(self,'dpermil','degree per mil, required if d18opd is activated')) 49 string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested')) 48 50 49 51 return string … … 57 59 58 60 return self 61 #}}} 62 def defaultoutputs(self,md): # {{{ 63 return [] 59 64 #}}} 60 65 def initialize(self,md): # {{{ … … 85 90 86 91 if MasstransportAnalysisEnum() in analyses: 87 md = checkfield(md,'fieldname','s urfaceforcings.desfac','<=',1,'numel',[1])88 md = checkfield(md,'fieldname','s urfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])89 md = checkfield(md,'fieldname','s urfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])90 md = checkfield(md,'fieldname','s urfaceforcings.rlaps','>=',0,'numel',[1])91 md = checkfield(md,'fieldname','s urfaceforcings.rlapslgm','>=',0,'numel',[1])92 md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',[1]) 93 md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1]) 94 md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1]) 95 md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',[1]) 96 md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',[1]) 92 97 93 98 if self.isd18opd: 94 md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 95 md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 96 md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 97 md = checkfield(md,'fieldname','surfaceforcings.dpermil','>=',0,'numel',[1]) 99 md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 100 md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 101 md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 102 md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',[1]) 103 104 md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1) 98 105 99 106 return md … … 103 110 yts=365.0*24.0*3600.0 104 111 105 WriteData(fid,'enum',S urfaceforcingsEnum(),'data',SMBd18opddEnum(),'format','Integer')112 WriteData(fid,'enum',SmbEnum(),'data',SMBd18opddEnum(),'format','Integer') 106 113 107 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','ismungsm','format','Boolean')108 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','isd18opd','format','Boolean')109 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','desfac','format','Double')110 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);111 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);112 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlaps','format','Double')113 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlapslgm','format','Double')114 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2)115 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2)114 WriteData(fid,'object',self,'class','smb','fieldname','ismungsm','format','Boolean') 115 WriteData(fid,'object',self,'class','smb','fieldname','isd18opd','format','Boolean') 116 WriteData(fid,'object',self,'class','smb','fieldname','desfac','format','Double') 117 WriteData(fid,'object',self,'class','smb','fieldname','s0p','format','DoubleMat','mattype',1); 118 WriteData(fid,'object',self,'class','smb','fieldname','s0t','format','DoubleMat','mattype',1); 119 WriteData(fid,'object',self,'class','smb','fieldname','rlaps','format','Double') 120 WriteData(fid,'object',self,'class','smb','fieldname','rlapslgm','format','Double') 121 WriteData(fid,'object',self,'class','smb','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2) 122 WriteData(fid,'object',self,'class','smb','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2) 116 123 117 124 if self.isd18opd: 118 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 119 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 120 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2) 121 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','dpermil','format','Double') 125 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 126 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 127 WriteData(fid,'object',self,'class','smb','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2) 128 WriteData(fid,'object',self,'class','smb','fieldname','dpermil','format','Double') 129 130 #process requested outputs 131 outputs = self.requested_outputs 132 indices = [i for i, x in enumerate(outputs) if x == 'default'] 133 if len(indices) > 0: 134 outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:] 135 outputs =outputscopy 136 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum(),'format','StringArray') 137 122 138 # }}} -
issm/trunk-jpl/src/m/classes/SMBgemb.m
r19524 r19527 14 14 15 15 %inputs: 16 Ta = NaN; %2 m air temperature, in Celsius16 Ta = NaN; %2 m air temperature, in Kelvin 17 17 V = NaN; %wind speed (m/s-1) 18 18 dswrf = NaN; %downward shortwave radiation flux [W/m^2] 19 19 dlwrf = NaN; %downward longwave radiation flux [W/m^2] 20 RH = NaN; %relative humidity [%]21 20 P = NaN; %precipitation [mm w.e. / m^2] 22 21 eAir = NaN; %screen level vapor pressure [Pa] … … 62 61 t0dry = NaN; % warm snow timescale (30) 63 62 K = NaN; % time scale temperature coef. (7) 63 64 requested_outputs = {}; 64 65 65 66 %Several fields are missing from the standard GEMB model, which are capture intrinsically by ISSM. … … 77 78 self=setdefaultparameters(self,mesh,geometry); 78 79 otherwise 79 error('constructor not supported ');80 error('constructor not supported: need geometry and mesh to set defaults'); 80 81 end 81 82 end % }}} … … 86 87 self.dswrf=project3d(md,'vector',self.dswrf,'type','node'); 87 88 self.dswrf=project3d(md,'vector',self.dswrf,'type','node'); 88 self.RH=project3d(md,'vector',self.RH,'type','node');89 89 self.P=project3d(md,'vector',self.P,'type','node'); 90 90 self.eAir=project3d(md,'vector',self.eAir,'type','node'); 91 91 self.pAir=project3d(md,'vector',self.pAir,'type','node'); 92 92 93 end % }}} 94 function list = defaultoutputs(self,md) % {{{ 95 list = {'SmbMassBalance'}; 93 96 end % }}} 94 97 function self = setdefaultparameters(self,mesh,geometry) % {{{ … … 120 123 function md = checkconsistency(self,md,solution,analyses) % {{{ 121 124 122 md = checkfield(md,'fieldname','surfaceforcings.Ta','timeseries',1,'NaN',1);123 md = checkfield(md,'fieldname','surfaceforcings.V','timeseries',1,'NaN',1);124 md = checkfield(md,'fieldname','surfaceforcings.dswrf','timeseries',1,'NaN',1);125 md = checkfield(md,'fieldname','surfaceforcings.dlwrf','timeseries',1,'NaN',1);126 md = checkfield(md,'fieldname','surfaceforcings.RH','timeseries',1,'NaN',1);127 md = checkfield(md,'fieldname','surfaceforcings.P','timeseries',1,'NaN',1);128 md = checkfield(md,'fieldname','surfaceforcings.eAir','timeseries',1,'NaN',1); 129 130 %check zTop is < local thickness:131 he=sum(md.geometry.thickness(md.mesh.elements),2)/size(md.mesh.elements,2);132 if any(he<self.zTop),133 error('SMBgemb consistency check error: zTop should be smaller than local ice thickness');134 end125 md = checkfield(md,'fieldname','smb.Ta','timeseries',1,'NaN',1,'>',0,'<',273+60); %60 celsius max value 126 md = checkfield(md,'fieldname','smb.V','timeseries',1,'NaN',1); 127 md = checkfield(md,'fieldname','smb.dswrf','timeseries',1,'NaN',1); 128 md = checkfield(md,'fieldname','smb.dlwrf','timeseries',1,'NaN',1); 129 md = checkfield(md,'fieldname','smb.P','timeseries',1,'NaN',1); 130 md = checkfield(md,'fieldname','smb.eAir','timeseries',1,'NaN',1); 131 132 %check zTop is < local thickness: 133 he=sum(md.geometry.thickness(md.mesh.elements),2)/size(md.mesh.elements,2); 134 if any(he<self.zTop), 135 error('SMBgemb consistency check error: zTop should be smaller than local ice thickness'); 136 end 137 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 135 138 136 139 end % }}} … … 139 142 disp(sprintf(' surface forcings for SMB GEMB model :')); 140 143 141 fielddisplay(self,'Ta','2 m air temperature, in Celsius');144 fielddisplay(self,'Ta','2 m air temperature, in Kelvin'); 142 145 fielddisplay(self,'V','wind speed (m/s-1)'); 143 146 fielddisplay(self,'dlwrf','downward shortwave radiation flux [W/m^2]'); 144 147 fielddisplay(self,'dswrf','downward longwave radiation flux [W/m^2]'); 145 fielddisplay(self,'RH','relative humidity [%]');146 148 fielddisplay(self,'P','precipitation [mm w.e. / m^2]'); 147 149 fielddisplay(self,'eAir','screen level vapor pressure [Pa]'); … … 184 186 '4 = DO NOT USE: emperical model of Li and Zwally (2004)',... 185 187 '5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)'}); 188 fielddisplay(self,'requested_outputs','additional outputs requested'); 186 189 187 190 … … 191 194 yts=365.0*24.0*3600.0; 192 195 193 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBgembEnum(),'format','Integer'); 194 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 195 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 196 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 196 WriteData(fid,'enum',SmbEnum(),'data',SMBgembEnum(),'format','Integer'); 197 WriteData(fid,'object',self,'class','smb','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 198 WriteData(fid,'object',self,'class','smb','fieldname','runoff','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 199 WriteData(fid,'object',self,'class','smb','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 200 201 %process requested outputs 202 outputs = self.requested_outputs; 203 pos = find(ismember(outputs,'default')); 204 if ~isempty(pos), 205 outputs(pos) = []; %remove 'default' from outputs 206 outputs = [outputs defaultoutputs(self,md)]; %add defaults 207 end 208 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 209 197 210 end % }}} 198 211 end -
issm/trunk-jpl/src/m/classes/SMBgradients.m
r19040 r19527 10 10 b_pos = NaN; 11 11 b_neg = NaN; 12 requested_outputs = {}; 12 13 end 13 14 methods … … 25 26 26 27 end % }}} 28 function list = defaultoutputs(self,md) % {{{ 29 list = {''}; 30 end % }}} 27 31 function self = initialize(self,md) % {{{ 28 32 … … 38 42 39 43 if ismember(MasstransportAnalysisEnum(),analyses), 40 md = checkfield(md,'fieldname','s urfaceforcings.href','timeseries',1,'NaN',1);41 md = checkfield(md,'fieldname','s urfaceforcings.smbref','timeseries',1,'NaN',1);42 md = checkfield(md,'fieldname','s urfaceforcings.b_pos','timeseries',1,'NaN',1);43 md = checkfield(md,'fieldname','s urfaceforcings.b_neg','timeseries',1,'NaN',1);44 md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1); 45 md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1); 46 md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1); 47 md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1); 44 48 end 49 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 45 50 end % }}} 46 51 function disp(self) % {{{ … … 52 57 fielddisplay(self,'b_pos',' slope of hs - smb regression line for accumulation regime required if smb gradients is activated'); 53 58 fielddisplay(self,'b_neg',' slope of hs - smb regression line for ablation regime required if smb gradients is activated'); 59 fielddisplay(self,'requested_outputs','additional outputs requested'); 54 60 55 61 end % }}} … … 58 64 yts=365.0*24.0*3600.0; 59 65 60 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBgradientsEnum(),'format','Integer'); 61 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 62 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 63 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 64 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 66 WriteData(fid,'enum',SmbEnum(),'data',SMBgradientsEnum(),'format','Integer'); 67 WriteData(fid,'object',self,'class','smb','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 68 WriteData(fid,'object',self,'class','smb','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 69 WriteData(fid,'object',self,'class','smb','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 70 WriteData(fid,'object',self,'class','smb','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 71 72 %process requested outputs 73 outputs = self.requested_outputs; 74 pos = find(ismember(outputs,'default')); 75 if ~isempty(pos), 76 outputs(pos) = []; %remove 'default' from outputs 77 outputs = [outputs defaultoutputs(self,md)]; %add defaults 78 end 79 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 65 80 66 81 end % }}} -
issm/trunk-jpl/src/m/classes/SMBgradients.py
r19027 r19527 18 18 self.b_pos = float('NaN') 19 19 self.b_neg = float('NaN') 20 self.requested_outputs = [] 20 21 #}}} 21 22 def __repr__(self): # {{{ … … 27 28 string="%s\n%s"%(string,fielddisplay(self,'b_pos',' slope of hs - smb regression line for accumulation regime required if smb gradients is activated')) 28 29 string="%s\n%s"%(string,fielddisplay(self,'b_neg',' slope of hs - smb regression line for ablation regime required if smb gradients is activated')) 30 string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested')) 29 31 30 32 return string … … 34 36 #Nothing for now 35 37 return self 38 #}}} 39 def defaultoutputs(self,md): # {{{ 40 return [] 36 41 #}}} 37 42 def initialize(self,md): # {{{ … … 44 49 45 50 if MasstransportAnalysisEnum() in analyses: 46 md = checkfield(md,'fieldname','s urfaceforcings.href','timeseries',1,'NaN',1)47 md = checkfield(md,'fieldname','s urfaceforcings.smbref','timeseries',1,'NaN',1)48 md = checkfield(md,'fieldname','s urfaceforcings.b_pos','timeseries',1,'NaN',1)49 md = checkfield(md,'fieldname','s urfaceforcings.b_neg','timeseries',1,'NaN',1)51 md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1) 52 md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1) 53 md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1) 54 md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1) 50 55 56 md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1) 51 57 return md 52 58 # }}} … … 55 61 yts=365.0*24.0*3600.0 56 62 57 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBgradientsEnum(),'format','Integer'); 58 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 59 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 60 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 61 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 63 WriteData(fid,'enum',SmbEnum(),'data',SMBgradientsEnum(),'format','Integer'); 64 WriteData(fid,'object',self,'class','smb','fieldname','href','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 65 WriteData(fid,'object',self,'class','smb','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 66 WriteData(fid,'object',self,'class','smb','fieldname','b_pos','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 67 WriteData(fid,'object',self,'class','smb','fieldname','b_neg','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 68 69 #process requested outputs 70 outputs = self.requested_outputs 71 indices = [i for i, x in enumerate(outputs) if x == 'default'] 72 if len(indices) > 0: 73 outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:] 74 outputs =outputscopy 75 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum(),'format','StringArray') 76 62 77 # }}} -
issm/trunk-jpl/src/m/classes/SMBhenning.m
r19040 r19527 7 7 properties (SetAccess=public) 8 8 smbref = NaN; 9 requested_outputs = {}; 9 10 end 10 11 methods … … 21 22 22 23 end % }}} 24 function list = defaultoutputs(self,md) % {{{ 25 list = {''}; 26 end % }}} 23 27 function self = initialize(self,md) % {{{ 24 28 25 29 if isnan(self.smbref) 26 30 self.smbref=zeros(md.mesh.numberofvertices,1); 27 disp(' no s urfaceforcings.smbref specified: values set as zero');31 disp(' no smb.smbref specified: values set as zero'); 28 32 end 29 33 … … 32 36 33 37 if ismember(MasstransportAnalysisEnum(),analyses), 34 md = checkfield(md,'fieldname','s urfaceforcings.smbref','timeseries',1,'NaN',1);38 md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1); 35 39 end 36 40 if ismember(BalancethicknessAnalysisEnum(),analyses), 37 md = checkfield(md,'fieldname','s urfaceforcings.smbref','size',[md.mesh.numberofvertices 1],'NaN',1);41 md = checkfield(md,'fieldname','smb.smbref','size',[md.mesh.numberofvertices 1],'NaN',1); 38 42 end 43 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 39 44 end % }}} 40 45 function disp(self) % {{{ 41 46 disp(sprintf(' surface forcings parameters:')); 42 47 fielddisplay(self,'smbref','reference smb from which deviation is calculated [m/yr ice eq]'); 48 fielddisplay(self,'requested_outputs','additional outputs requested'); 43 49 end % }}} 44 50 function marshall(self,md,fid) % {{{ … … 46 52 yts=365.0*24.0*3600.0; 47 53 48 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBhenningEnum(),'format','Integer'); 49 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 54 WriteData(fid,'enum',SmbEnum(),'data',SMBhenningEnum(),'format','Integer'); 55 WriteData(fid,'object',self,'class','smb','fieldname','smbref','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 56 57 %process requested outputs 58 outputs = self.requested_outputs; 59 pos = find(ismember(outputs,'default')); 60 if ~isempty(pos), 61 outputs(pos) = []; %remove 'default' from outputs 62 outputs = [outputs defaultoutputs(self,md)]; %add defaults 63 end 64 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 65 50 66 end % }}} 51 67 end -
issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m
r19040 r19527 10 10 melt = NaN; 11 11 refreeze = NaN; 12 requested_outputs = {}; 12 13 end 13 14 methods … … 27 28 28 29 end % }}} 30 function list = defaultoutputs(self,md) % {{{ 31 list = {''}; 32 end % }}} 29 33 function self = initialize(self,md) % {{{ 30 34 31 35 if isnan(self.accumulation) 32 36 self.accumulation=zeros(md.mesh.numberofvertices,1); 33 disp(' no s urfaceforcings.accumulation specified: values set as zero');37 disp(' no smb.accumulation specified: values set as zero'); 34 38 end 35 39 if isnan(self.evaporation) 36 40 self.evaporation=zeros(md.mesh.numberofvertices,1); 37 disp(' no s urfaceforcings.evaporation specified: values set as zero');41 disp(' no smb.evaporation specified: values set as zero'); 38 42 end 39 43 if isnan(self.refreeze) 40 44 self.refreeze=zeros(md.mesh.numberofvertices,1); 41 disp(' no s urfaceforcings.refreeze specified: values set as zero');45 disp(' no smb.refreeze specified: values set as zero'); 42 46 end 43 47 if isnan(self.melt) 44 48 self.melt=zeros(md.mesh.numberofvertices,1); 45 disp(' no s urfaceforcings.melt specified: values set as zero');49 disp(' no smb.melt specified: values set as zero'); 46 50 end 47 51 … … 50 54 51 55 if ismember(MasstransportAnalysisEnum(),analyses), 52 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','timeseries',1,'NaN',1);56 md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1); 53 57 end 54 58 if ismember(BalancethicknessAnalysisEnum(),analyses), 55 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1);59 md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1); 56 60 end 57 61 if ismember(MasstransportAnalysisEnum(),analyses), 58 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','timeseries',1,'NaN',1);62 md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1); 59 63 end 60 64 if ismember(BalancethicknessAnalysisEnum(),analyses), 61 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1);65 md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1); 62 66 end 63 67 if ismember(MasstransportAnalysisEnum(),analyses), 64 md = checkfield(md,'fieldname','s urfaceforcings.refreeze','timeseries',1,'NaN',1);68 md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1); 65 69 end 66 70 if ismember(BalancethicknessAnalysisEnum(),analyses), 67 md = checkfield(md,'fieldname','s urfaceforcings.refreeze','size',[md.mesh.numberofvertices 1],'NaN',1);71 md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices 1],'NaN',1); 68 72 end 69 73 if ismember(MasstransportAnalysisEnum(),analyses), 70 md = checkfield(md,'fieldname','s urfaceforcings.melt','timeseries',1,'NaN',1);74 md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1); 71 75 end 72 76 if ismember(BalancethicknessAnalysisEnum(),analyses), 73 md = checkfield(md,'fieldname','s urfaceforcings.melt','size',[md.mesh.numberofvertices 1],'NaN',1);77 md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices 1],'NaN',1); 74 78 end 79 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 75 80 end % }}} 76 81 function disp(self) % {{{ … … 80 85 fielddisplay(self,'melt','amount of ice melt in ice column [m/yr ice eq]'); 81 86 fielddisplay(self,'refreeze','amount of ice melt refrozen in ice column [m/yr ice eq]'); 87 fielddisplay(self,'requested_outputs','additional outputs requested'); 82 88 end % }}} 83 89 function marshall(self,md,fid) % {{{ … … 85 91 yts=365.0*24.0*3600.0; 86 92 87 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBmeltcomponentsEnum(),'format','Integer'); 88 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 89 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 90 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 91 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 93 WriteData(fid,'enum',SmbEnum(),'data',SMBmeltcomponentsEnum(),'format','Integer'); 94 WriteData(fid,'object',self,'class','smb','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 95 WriteData(fid,'object',self,'class','smb','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 96 WriteData(fid,'object',self,'class','smb','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 97 WriteData(fid,'object',self,'class','smb','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 98 99 %process requested outputs 100 outputs = self.requested_outputs; 101 pos = find(ismember(outputs,'default')); 102 if ~isempty(pos), 103 outputs(pos) = []; %remove 'default' from outputs 104 outputs = [outputs defaultoutputs(self,md)]; %add defaults 105 end 106 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 107 92 108 end % }}} 93 109 end -
issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py
r19027 r19527 17 17 self.runoff = float('NaN') 18 18 self.evaporation = float('NaN') 19 self.requested_outputs = [] 19 20 #}}} 20 21 def __repr__(self): # {{{ … … 24 25 string="%s\n%s"%(string,fielddisplay(self,'melt','amount of ice melt in the ice column [m/yr ice eq]')) 25 26 string="%s\n%s"%(string,fielddisplay(self,'refreeze','amount of ice melt refrozen in the ice column [m/yr ice eq]')) 27 string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested')) 26 28 return string 27 29 #}}} … … 33 35 self.mass_balance=project3d(md,'vector',self.refreeze,'type','node'); 34 36 return self 37 #}}} 38 def defaultoutputs(self,md): # {{{ 39 return [] 35 40 #}}} 36 41 def initialize(self,md): # {{{ … … 57 62 58 63 if MasstransportAnalysisEnum() in analyses: 59 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','timeseries',1,'NaN',1)64 md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1) 60 65 61 66 if BalancethicknessAnalysisEnum() in analyses: 62 md = checkfield(md,'fieldname','s urfaceforcings.accumulation','size',[md.mesh.numberofvertices],'NaN',1)67 md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1) 63 68 64 69 if MasstransportAnalysisEnum() in analyses: 65 md = checkfield(md,'fieldname','s urfaceforcings.melt','timeseries',1,'NaN',1)70 md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1) 66 71 67 72 if BalancethicknessAnalysisEnum() in analyses: 68 md = checkfield(md,'fieldname','s urfaceforcings.melt','size',[md.mesh.numberofvertices],'NaN',1)73 md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices],'NaN',1) 69 74 70 75 if MasstransportAnalysisEnum() in analyses: 71 md = checkfield(md,'fieldname','s urfaceforcings.refreeze','timeseries',1,'NaN',1)76 md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1) 72 77 73 78 if BalancethicknessAnalysisEnum() in analyses: 74 md = checkfield(md,'fieldname','s urfaceforcings.refreeze','size',[md.mesh.numberofvertices],'NaN',1)79 md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices],'NaN',1) 75 80 76 81 if MasstransportAnalysisEnum() in analyses: 77 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','timeseries',1,'NaN',1)82 md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1) 78 83 79 84 if BalancethicknessAnalysisEnum() in analyses: 80 md = checkfield(md,'fieldname','s urfaceforcings.evaporation','size',[md.mesh.numberofvertices],'NaN',1)85 md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1) 81 86 87 md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1) 82 88 return md 83 89 # }}} … … 86 92 yts=365.0*24.0*3600.0 87 93 88 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SMBmeltcomponentsEnum(),'format','Integer'); 89 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 90 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 91 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 92 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 94 WriteData(fid,'enum',SmbEnum(),'data',SMBmeltcomponentsEnum(),'format','Integer'); 95 WriteData(fid,'object',self,'class','smb','fieldname','accumulation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 96 WriteData(fid,'object',self,'class','smb','fieldname','evaporation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 97 WriteData(fid,'object',self,'class','smb','fieldname','melt','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 98 WriteData(fid,'object',self,'class','smb','fieldname','refreeze','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 99 100 #process requested outputs 101 outputs = self.requested_outputs 102 indices = [i for i, x in enumerate(outputs) if x == 'default'] 103 if len(indices) > 0: 104 outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:] 105 outputs =outputscopy 106 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum(),'format','StringArray') 107 93 108 # }}} -
issm/trunk-jpl/src/m/classes/SMBpdd.m
r19309 r19527 24 24 precipitations_presentday = NaN; 25 25 precipitations_lgm = NaN; 26 requested_outputs = {}; 26 27 end 27 28 methods … … 49 50 50 51 end % }}} 52 function list = defaultoutputs(self,md) % {{{ 53 list = {''}; 54 end % }}} 51 55 function self = initialize(self,md) % {{{ 52 56 … … 73 77 74 78 if ismember(MasstransportAnalysisEnum(),analyses), 75 md = checkfield(md,'fieldname','s urfaceforcings.desfac','<=',1,'numel',1);76 md = checkfield(md,'fieldname','s urfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);77 md = checkfield(md,'fieldname','s urfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);78 md = checkfield(md,'fieldname','s urfaceforcings.rlaps','>=',0,'numel',1);79 md = checkfield(md,'fieldname','s urfaceforcings.rlapslgm','>=',0,'numel',1);79 md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',1); 80 md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]); 81 md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]); 82 md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',1); 83 md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',1); 80 84 if(self.isdelta18o==0 & self.ismungsm==0) 81 md = checkfield(md,'fieldname','s urfaceforcings.monthlytemperatures','timeseries',1,'NaN',1);82 md = checkfield(md,'fieldname','s urfaceforcings.precipitation','timeseries',1,'NaN',1);85 md = checkfield(md,'fieldname','smb.monthlytemperatures','timeseries',1,'NaN',1); 86 md = checkfield(md,'fieldname','smb.precipitation','timeseries',1,'NaN',1); 83 87 elseif(self.isdelta18o==1) 84 md = checkfield(md,'fieldname','s urfaceforcings.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1);85 md = checkfield(md,'fieldname','s urfaceforcings.delta18o_surface','NaN',1,'size',[2,NaN],'singletimeseries',1);86 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);87 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);88 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);89 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);90 md = checkfield(md,'fieldname','s urfaceforcings.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1);91 md = checkfield(md,'fieldname','s urfaceforcings.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1);88 md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1); 89 md = checkfield(md,'fieldname','smb.delta18o_surface','NaN',1,'size',[2,NaN],'singletimeseries',1); 90 md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 91 md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 92 md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 93 md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 94 md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1); 95 md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1); 92 96 elseif(self.ismungsm==1) 93 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);94 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);95 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);96 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);97 md = checkfield(md,'fieldname','s urfaceforcings.Pfac','NaN',1,'size',[2,NaN],'singletimeseries',1);98 md = checkfield(md,'fieldname','s urfaceforcings.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1);99 md = checkfield(md,'fieldname','s urfaceforcings.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1);97 md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 98 md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 99 md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 100 md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1); 101 md = checkfield(md,'fieldname','smb.Pfac','NaN',1,'size',[2,NaN],'singletimeseries',1); 102 md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1); 103 md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1); 100 104 end 101 105 end 106 md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1); 107 102 108 end % }}} 103 109 function disp(self) % {{{ … … 133 139 fielddisplay(self,'sealev','sea level [m], 1D(year), required if mungsm is activated'); 134 140 end 141 fielddisplay(self,'requested_outputs','additional outputs requested'); 135 142 end % }}} 136 143 function marshall(self,md,fid) % {{{ … … 138 145 yts=365.0*24.0*3600.0; 139 146 140 WriteData(fid,'enum',S urfaceforcingsEnum(),'data',SMBpddEnum(),'format','Integer');147 WriteData(fid,'enum',SmbEnum(),'data',SMBpddEnum(),'format','Integer'); 141 148 142 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','isdelta18o','format','Boolean');143 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','ismungsm','format','Boolean');144 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','desfac','format','Double');145 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);146 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);147 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlaps','format','Double');148 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlapslgm','format','Double');149 WriteData(fid,'object',self,'class','smb','fieldname','isdelta18o','format','Boolean'); 150 WriteData(fid,'object',self,'class','smb','fieldname','ismungsm','format','Boolean'); 151 WriteData(fid,'object',self,'class','smb','fieldname','desfac','format','Double'); 152 WriteData(fid,'object',self,'class','smb','fieldname','s0p','format','DoubleMat','mattype',1); 153 WriteData(fid,'object',self,'class','smb','fieldname','s0t','format','DoubleMat','mattype',1); 154 WriteData(fid,'object',self,'class','smb','fieldname','rlaps','format','Double'); 155 WriteData(fid,'object',self,'class','smb','fieldname','rlapslgm','format','Double'); 149 156 150 157 if(self.isdelta18o==0 & self.ismungsm==0) 151 %WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1);152 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);153 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);158 %WriteData(fid,'object',self,'class','smb','fieldname','monthlytemperatures','format','DoubleMat','mattype',1); 159 WriteData(fid,'object',self,'class','smb','fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 160 WriteData(fid,'object',self,'class','smb','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 154 161 elseif self.isdelta18o 155 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);156 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);157 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);158 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);159 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','delta18o_surface','format','DoubleMat','mattype',1,'timeserieslength',2);160 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2);161 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2);162 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2);162 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 163 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 164 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 165 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 166 WriteData(fid,'object',self,'class','smb','fieldname','delta18o_surface','format','DoubleMat','mattype',1,'timeserieslength',2); 167 WriteData(fid,'object',self,'class','smb','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2); 168 WriteData(fid,'object',self,'class','smb','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2); 169 WriteData(fid,'object',self,'class','smb','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2); 163 170 elseif self.ismungsm 164 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);165 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);166 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);167 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);168 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','Pfac','format','DoubleMat','mattype',1,'timeserieslength',2);169 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2);170 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2);171 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 172 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 173 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 174 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 175 WriteData(fid,'object',self,'class','smb','fieldname','Pfac','format','DoubleMat','mattype',1,'timeserieslength',2); 176 WriteData(fid,'object',self,'class','smb','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2); 177 WriteData(fid,'object',self,'class','smb','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2); 171 178 end 179 180 %process requested outputs 181 outputs = self.requested_outputs; 182 pos = find(ismember(outputs,'default')); 183 if ~isempty(pos), 184 outputs(pos) = []; %remove 'default' from outputs 185 outputs = [outputs defaultoutputs(self,md)]; %add defaults 186 end 187 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum,'format','StringArray'); 188 172 189 end % }}} 173 190 end -
issm/trunk-jpl/src/m/classes/SMBpdd.py
r19309 r19527 36 36 #set defaults 37 37 self.setdefaultparameters() 38 self.requested_outputs = [] 38 39 #}}} 39 40 def __repr__(self): # {{{ … … 67 68 string="%s\n%s"%(string,fielddisplay(self,'Tdiff','time interpolation parameter for temperature, 1D(year), required if mungsm is activated')) 68 69 string="%s\n%s"%(string,fielddisplay(self,'sealev','sea level [m], 1D(year), required if mungsm is activated')) 70 string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested')) 69 71 70 72 return string … … 87 89 88 90 return self 91 #}}} 92 def defaultoutputs(self,md): # {{{ 93 return [] 89 94 #}}} 90 95 def initialize(self,md): # {{{ … … 114 119 115 120 if MasstransportAnalysisEnum() in analyses: 116 md = checkfield(md,'fieldname','s urfaceforcings.desfac','<=',1,'numel',[1])117 md = checkfield(md,'fieldname','s urfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])118 md = checkfield(md,'fieldname','s urfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])119 md = checkfield(md,'fieldname','s urfaceforcings.rlaps','>=',0,'numel',[1])120 md = checkfield(md,'fieldname','s urfaceforcings.rlapslgm','>=',0,'numel',[1])121 md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',[1]) 122 md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1]) 123 md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1]) 124 md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',[1]) 125 md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',[1]) 121 126 122 127 if (self.isdelta18o==0 and self.ismungsm==0): 123 md = checkfield(md,'fieldname','s urfaceforcings.monthlytemperatures','NaN',1,'timeseries',1)124 md = checkfield(md,'fieldname','s urfaceforcings.precipitation','NaN',1,'timeseries',1)128 md = checkfield(md,'fieldname','smb.monthlytemperatures','NaN',1,'timeseries',1) 129 md = checkfield(md,'fieldname','smb.precipitation','NaN',1,'timeseries',1) 125 130 elif self.isdelta18o: 126 md = checkfield(md,'fieldname','s urfaceforcings.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)127 md = checkfield(md,'fieldname','s urfaceforcings.delta18o_surface','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)128 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)129 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)130 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)131 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)132 md = checkfield(md,'fieldname','s urfaceforcings.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)133 md = checkfield(md,'fieldname','s urfaceforcings.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)131 md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 132 md = checkfield(md,'fieldname','smb.delta18o_surface','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 133 md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 134 md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 135 md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 136 md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 137 md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 138 md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 134 139 elif self.ismungsm: 135 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)136 md = checkfield(md,'fieldname','s urfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)137 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)138 md = checkfield(md,'fieldname','s urfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)139 md = checkfield(md,'fieldname','s urfaceforcings.Pfac','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)140 md = checkfield(md,'fieldname','s urfaceforcings.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)141 md = checkfield(md,'fieldname','s urfaceforcings.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)140 md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 141 md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 142 md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 143 md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1) 144 md = checkfield(md,'fieldname','smb.Pfac','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 145 md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 146 md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1) 142 147 148 md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1) 143 149 return md 144 150 #}}} … … 147 153 yts=365.0*24.0*3600.0 148 154 149 WriteData(fid,'enum',S urfaceforcingsEnum(),'data',SMBpddEnum(),'format','Integer')155 WriteData(fid,'enum',SmbEnum(),'data',SMBpddEnum(),'format','Integer') 150 156 151 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','isdelta18o','format','Boolean')152 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','ismungsm','format','Boolean')153 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','desfac','format','Double')154 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);155 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);156 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlaps','format','Double')157 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','rlapslgm','format','Double')157 WriteData(fid,'object',self,'class','smb','fieldname','isdelta18o','format','Boolean') 158 WriteData(fid,'object',self,'class','smb','fieldname','ismungsm','format','Boolean') 159 WriteData(fid,'object',self,'class','smb','fieldname','desfac','format','Double') 160 WriteData(fid,'object',self,'class','smb','fieldname','s0p','format','DoubleMat','mattype',1); 161 WriteData(fid,'object',self,'class','smb','fieldname','s0t','format','DoubleMat','mattype',1); 162 WriteData(fid,'object',self,'class','smb','fieldname','rlaps','format','Double') 163 WriteData(fid,'object',self,'class','smb','fieldname','rlapslgm','format','Double') 158 164 159 165 if (self.isdelta18o==0 and self.ismungsm==0): 160 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)161 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)166 WriteData(fid,'object',self,'class','smb','fieldname','monthlytemperatures','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 167 WriteData(fid,'object',self,'class','smb','fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 162 168 elif self.isdelta18o: 163 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)164 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1)165 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)166 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1)167 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','delta18o_surface','format','DoubleMat','mattype',1,'timeserieslength',2)168 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2)169 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2)170 WriteData(fid,'object',self,'class','s urfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2)169 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 170 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 171 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 172 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 173 WriteData(fid,'object',self,'class','smb','fieldname','delta18o_surface','format','DoubleMat','mattype',1,'timeserieslength',2) 174 WriteData(fid,'object',self,'class','smb','fieldname','delta18o','format','DoubleMat','mattype',1,'timeserieslength',2) 175 WriteData(fid,'object',self,'class','smb','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2) 176 WriteData(fid,'object',self,'class','smb','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2) 171 177 elif self.ismungsm: 172 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 173 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 174 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 175 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 176 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','Pfac','format','DoubleMat','mattype',1,'timeserieslength',2) 177 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2) 178 WriteData(fid,'object',self,'class','surfaceforcings','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2) 178 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_presentday','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 179 WriteData(fid,'object',self,'class','smb','fieldname','temperatures_lgm','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1) 180 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_presentday','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 181 WriteData(fid,'object',self,'class','smb','fieldname','precipitations_lgm','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 182 WriteData(fid,'object',self,'class','smb','fieldname','Pfac','format','DoubleMat','mattype',1,'timeserieslength',2) 183 WriteData(fid,'object',self,'class','smb','fieldname','Tdiff','format','DoubleMat','mattype',1,'timeserieslength',2) 184 WriteData(fid,'object',self,'class','smb','fieldname','sealev','format','DoubleMat','mattype',1,'timeserieslength',2) 185 186 #process requested outputs 187 outputs = self.requested_outputs 188 indices = [i for i, x in enumerate(outputs) if x == 'default'] 189 if len(indices) > 0: 190 outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:] 191 outputs =outputscopy 192 WriteData(fid,'data',outputs,'enum',SmbRequestedOutputsEnum(),'format','StringArray') 193 179 194 # }}} -
issm/trunk-jpl/src/m/classes/model.m
r19124 r19527 13 13 geometry = 0; 14 14 constants = 0; 15 s urfaceforcings= 0;15 smb = 0; 16 16 basalforcings = 0; 17 17 materials = 0; … … 106 106 end 107 107 %2014 January 9th 108 if isa(md.s urfaceforcings,'surfaceforcings'),109 disp('Recovering old s urfaceforcingsclass');110 mass_balance=md.s urfaceforcings.mass_balance;111 md.s urfaceforcings=SMB();112 md.s urfaceforcings.mass_balance=mass_balance;108 if isa(md.smb,'smb'), 109 disp('Recovering old smb class'); 110 mass_balance=md.smb.mass_balance; 111 md.smb=SMBforcing(); 112 md.smb.mass_balance=mass_balance; 113 113 end 114 114 %2014 March 26th … … 198 198 if numel(md.inversion.min_parameters)>1, md.inversion.min_parameters=project2d(md,md.inversion.min_parameters,md.mesh.numberoflayers); end; 199 199 if numel(md.inversion.max_parameters)>1, md.inversion.max_parameters=project2d(md,md.inversion.max_parameters,md.mesh.numberoflayers); end; 200 if isa(md.s urfaceforcings,'SMB') & ~isnan(md.surfaceforcings.mass_balance),201 md.s urfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md.mesh.numberoflayers);202 elseif isa(md.s urfaceforcings,'SMBhenning') & ~isnan(md.surfaceforcings.smbref),203 md.s urfaceforcings.smbref=project2d(md,md.surfaceforcings.smbref,md.mesh.numberoflayers);200 if isa(md.smb,'SMBforcing') & ~isnan(md.smb.mass_balance), 201 md.smb.mass_balance=project2d(md,md.smb.mass_balance,md.mesh.numberoflayers); 202 elseif isa(md.smb,'SMBhenning') & ~isnan(md.smb.smbref), 203 md.smb.smbref=project2d(md,md.smb.smbref,md.mesh.numberoflayers); 204 204 end; 205 205 if ~isnan(md.balancethickness.thickening_rate), md.balancethickness.thickening_rate=project2d(md,md.balancethickness.thickening_rate,md.mesh.numberoflayers); end; … … 742 742 md.friction = extrude(md.friction,md); 743 743 md.inversion = extrude(md.inversion,md); 744 md.s urfaceforcings = extrude(md.surfaceforcings,md);744 md.smb = extrude(md.smb,md); 745 745 md.initialization = extrude(md.initialization,md); 746 746 … … 792 792 if isfield(structmd,'melting_rate'), md.basalforcings.floatingice_melting_rate=structmd.melting_rate; end 793 793 if isfield(structmd,'melting_rate'), md.basalforcings.groundedice_melting_rate=structmd.melting_rate; end 794 if isfield(structmd,'accumulation'), md.s urfaceforcings.mass_balance=structmd.accumulation; end794 if isfield(structmd,'accumulation'), md.smb.mass_balance=structmd.accumulation; end 795 795 if isfield(structmd,'numberofgrids'), md.mesh.numberofvertices=structmd.numberofgrids; end 796 796 if isfield(structmd,'numberofgrids2d'), md.mesh.numberofvertices2d=structmd.numberofgrids2d; end … … 804 804 if isfield(structmd,'g'), md.constants.g=structmd.g; end 805 805 if isfield(structmd,'yts'), md.constants.yts=structmd.yts; end 806 if isfield(structmd,'surface_mass_balance'), md.s urfaceforcings.mass_balance=structmd.surface_mass_balance; end806 if isfield(structmd,'surface_mass_balance'), md.smb.mass_balance=structmd.surface_mass_balance; end 807 807 if isfield(structmd,'basal_melting_rate'), md.basalforcings.floatingice_melting_rate=structmd.basal_melting_rate; end 808 808 if isfield(structmd,'geothermalflux'), md.basalforcings.geothermalflux=structmd.geothermalflux; end … … 1049 1049 md.geometry = geometry(); 1050 1050 md.initialization = initialization(); 1051 md.s urfaceforcings = SMB();1051 md.smb = SMBforcing(); 1052 1052 md.basalforcings = basalforcings(); 1053 1053 md.friction = friction(); … … 1218 1218 disp(sprintf('%19s: %-22s -- %s','geometry' ,['[1x1 ' class(self.geometry) ']'],'surface elevation, bedrock topography, ice thickness,...')); 1219 1219 disp(sprintf('%19s: %-22s -- %s','constants' ,['[1x1 ' class(self.constants) ']'],'physical constants')); 1220 disp(sprintf('%19s: %-22s -- %s','s urfaceforcings' ,['[1x1 ' class(self.surfaceforcings) ']'],'surface forcings'));1220 disp(sprintf('%19s: %-22s -- %s','smb' ,['[1x1 ' class(self.smb) ']'],'surface mass balance')); 1221 1221 disp(sprintf('%19s: %-22s -- %s','basalforcings' ,['[1x1 ' class(self.basalforcings) ']'],'bed forcings')); 1222 1222 disp(sprintf('%19s: %-22s -- %s','materials' ,['[1x1 ' class(self.materials) ']'],'material properties')); -
issm/trunk-jpl/src/m/classes/model.py
r19392 r19527 8 8 from geometry import geometry 9 9 from constants import constants 10 from SMB import SMB10 from SMBforcing import SMBforcing 11 11 from SMBpdd import SMBpdd 12 12 from SMBd18opdd import SMBd18opdd … … 76 76 self.geometry = geometry() 77 77 self.constants = constants() 78 self.s urfaceforcings = SMB()78 self.smb = SMBforcing() 79 79 self.basalforcings = basalforcings() 80 80 self.materials = matice() … … 120 120 'geometry',\ 121 121 'constants',\ 122 's urfaceforcings',\122 'smb',\ 123 123 'basalforcings',\ 124 124 'materials',\ … … 160 160 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("geometry","[%s,%s]" % ("1x1",obj.geometry.__class__.__name__),"surface elevation, bedrock topography, ice thickness,...")) 161 161 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("constants","[%s,%s]" % ("1x1",obj.constants.__class__.__name__),"physical constants")) 162 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("s urfaceforcings","[%s,%s]" % ("1x1",obj.surfaceforcings.__class__.__name__),"surface forcings"))162 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("smb","[%s,%s]" % ("1x1",obj.smb.__class__.__name__),"surface mass balance")) 163 163 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("basalforcings","[%s,%s]" % ("1x1",obj.basalforcings.__class__.__name__),"bed forcings")) 164 164 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("materials","[%s,%s]" % ("1x1",obj.materials.__class__.__name__),"material properties")) … … 609 609 md.friction.extrude(md) 610 610 md.inversion.extrude(md) 611 md.s urfaceforcings.extrude(md)611 md.smb.extrude(md) 612 612 md.initialization.extrude(md) 613 613 md.flowequation.extrude(md) … … 674 674 if isinstance(md.inversion.max_parameters,numpy.ndarray): 675 675 if md.inversion.max_parameters.size>1: md.inversion.max_parameters=project2d(md,md.inversion.max_parameters,md.mesh.numberoflayers) 676 if not numpy.isnan(md.s urfaceforcings.mass_balance).all():677 md.s urfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md.mesh.numberoflayers)676 if not numpy.isnan(md.smb.mass_balance).all(): 677 md.smb.mass_balance=project2d(md,md.smb.mass_balance,md.mesh.numberoflayers) 678 678 679 679 if not numpy.isnan(md.balancethickness.thickening_rate).all(): md.balancethickness.thickening_rate=project2d(md,md.balancethickness.thickening_rate,md.mesh.numberoflayers) -
issm/trunk-jpl/src/m/classes/oldclasses/surfaceforcings.m
r17079 r19527 2 2 % 3 3 % Usage: 4 % s urfaceforcings=surfaceforcings();4 % smb=smb(); 5 5 6 classdef s urfaceforcings6 classdef smb 7 7 properties (SetAccess=public) 8 8 precipitation = NaN; -
issm/trunk-jpl/src/m/classes/transient.m
r19040 r19527 6 6 classdef transient 7 7 properties (SetAccess=public) 8 issmb = 0; 8 9 ismasstransport = 0; 9 10 isstressbalance = 0; … … 23 24 % transient solution parameters 24 25 fprintf(fid,'%s\n%s\n%s\n','<frame key="1" label="transient solution parameters">','<section name="transient" />'); 26 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="issmb" type="',class(self.issmb),'" default="',convert2str(self.issmb),'">',' <section name="transient" />',' <help> indicates whether a masstransport solution is used in the transient </help>',' </parameter>'); 25 27 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="ismasstransport" type="',class(self.ismasstransport),'" default="',convert2str(self.ismasstransport),'">',' <section name="transient" />',' <help> indicates whether a masstransport solution is used in the transient </help>',' </parameter>'); 26 28 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="isstressbalance" type="',class(self.isstressbalance),'" default="',convert2str(self.isstressbalance),'">',' <section name="transient" />',' <help> indicates whether a stressbalance solution is used in the transient </help>',' </parameter>'); … … 46 48 47 49 %full analysis: Stressbalance, Masstransport and Thermal but no groundingline migration for now 50 self.issmb = 0; 48 51 self.ismasstransport = 0; 49 52 self.isstressbalance = 0; … … 62 65 63 66 %full analysis: Stressbalance, Masstransport and Thermal but no groundingline migration for now 67 self.issmb = 1; 64 68 self.ismasstransport = 1; 65 69 self.isstressbalance = 1; … … 76 80 end % }}} 77 81 function list = defaultoutputs(self,md) % {{{ 78 if(self.is masstransport)79 list = {'S urfaceforcingsMassBalance'};82 if(self.issmb) 83 list = {'SmbMassBalance'}; 80 84 else 81 85 list = {}; … … 87 91 if solution~=TransientSolutionEnum(), return; end 88 92 93 md = checkfield(md,'fieldname','transient.issmb','numel',[1],'values',[0 1]); 89 94 md = checkfield(md,'fieldname','transient.ismasstransport','numel',[1],'values',[0 1]); 90 95 md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0 1]); … … 102 107 disp(sprintf(' transient solution parameters:')); 103 108 109 fielddisplay(self,'issmb','indicates whether a surface mass balance solution is used in the transient'); 104 110 fielddisplay(self,'ismasstransport','indicates whether a masstransport solution is used in the transient'); 105 111 fielddisplay(self,'isstressbalance','indicates whether a stressbalance solution is used in the transient'); … … 115 121 end % }}} 116 122 function marshall(self,md,fid) % {{{ 123 WriteData(fid,'object',self,'fieldname','issmb','format','Boolean'); 117 124 WriteData(fid,'object',self,'fieldname','ismasstransport','format','Boolean'); 118 125 WriteData(fid,'object',self,'fieldname','isstressbalance','format','Boolean'); -
issm/trunk-jpl/src/m/classes/transient.py
r18763 r19527 13 13 14 14 def __init__(self): # {{{ 15 self.issmb = False 15 16 self.ismasstransport = False 16 17 self.isstressbalance = False … … 30 31 def __repr__(self): # {{{ 31 32 string=' transient solution parameters:' 33 string="%s\n%s"%(string,fielddisplay(self,'issmb','indicates if a surface mass balance solution is used in the transient')) 32 34 string="%s\n%s"%(string,fielddisplay(self,'ismasstransport','indicates if a masstransport solution is used in the transient')) 33 35 string="%s\n%s"%(string,fielddisplay(self,'isstressbalance','indicates if a stressbalance solution is used in the transient')) … … 44 46 def defaultoutputs(self,md): # {{{ 45 47 46 if self.is masstransport:47 return ['S urfaceforcingsMassBalance']48 if self.issmb: 49 return ['SmbMassBalance'] 48 50 else: 49 51 return [] … … 53 55 54 56 #Nothing done 57 self.issmb = False 55 58 self.ismasstransport = False 56 59 self.isstressbalance = False … … 70 73 71 74 #full analysis: Stressbalance, Masstransport and Thermal but no groundingline migration for now 75 self.issmb = True 72 76 self.ismasstransport = True 73 77 self.isstressbalance = True … … 90 94 return md 91 95 96 md = checkfield(md,'fieldname','transient.issmb','numel',[1],'values',[0,1]) 92 97 md = checkfield(md,'fieldname','transient.ismasstransport','numel',[1],'values',[0,1]) 93 98 md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0,1]) … … 104 109 # }}} 105 110 def marshall(self,md,fid): # {{{ 111 WriteData(fid,'object',self,'fieldname','issmb','format','Boolean') 106 112 WriteData(fid,'object',self,'fieldname','ismasstransport','format','Boolean') 107 113 WriteData(fid,'object',self,'fieldname','isstressbalance','format','Boolean') -
issm/trunk-jpl/src/m/contrib/hack/tres.m
r18068 r19527 107 107 case InversionVyObsEnum(), string='vy_obs'; return 108 108 case BasalforcingsMeltingRateEnum(), string='basal_melting_rate'; return 109 case S urfaceforcingsAccumulationRateEnum(), string='surface_accumulation_rate'; return110 case S urfaceforcingsAblationRateEnum(), string='surface_ablation_rate'; return111 case S urfaceforcingsMassBalanceEnum(), string='surface_mass_balance'; return109 case SmbAccumulationRateEnum(), string='surface_accumulation_rate'; return 110 case SmbAblationRateEnum(), string='surface_ablation_rate'; return 111 case SmbMassBalanceEnum(), string='surface_mass_balance'; return 112 112 otherwise, error(['Enum ' num2str(enum) ' not found associated to any model field']); 113 113 -
issm/trunk-jpl/src/m/contrib/netCDF/ClassTry.py
r18927 r19527 47 47 'geometry':'geometry',\ 48 48 'constants':'constants',\ 49 's urfaceforcings':'SMB',\49 'smb':'SMB',\ 50 50 'basalforcings':'basalforcings',\ 51 51 'materials':'matice',\ … … 88 88 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("geometry","[%s,%s]" % ("1x1",obj.geometry.__class__.__name__),"surface elevation, bedrock topography, ice thickness,...")) 89 89 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("constants","[%s,%s]" % ("1x1",obj.constants.__class__.__name__),"physical constants")) 90 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("s urfaceforcings","[%s,%s]" % ("1x1",obj.surfaceforcings.__class__.__name__),"surface forcings"))90 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("smb","[%s,%s]" % ("1x1",obj.smb.__class__.__name__),"surface forcings")) 91 91 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("basalforcings","[%s,%s]" % ("1x1",obj.basalforcings.__class__.__name__),"bed forcings")) 92 92 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("materials","[%s,%s]" % ("1x1",obj.materials.__class__.__name__),"material properties")) -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r19518 r19527 326 326 def TimesteppingTimeStepEnum(): return StringToEnum("TimesteppingTimeStep")[0] 327 327 def TimesteppingInterpForcingsEnum(): return StringToEnum("TimesteppingInterpForcings")[0] 328 def TransientIssmbEnum(): return StringToEnum("TransientIssmb")[0] 328 329 def TransientIsstressbalanceEnum(): return StringToEnum("TransientIsstressbalance")[0] 329 330 def TransientIsgroundinglineEnum(): return StringToEnum("TransientIsgroundingline")[0] … … 344 345 def BalancethicknessOmegaEnum(): return StringToEnum("BalancethicknessOmega")[0] 345 346 def BalancethicknessD0Enum(): return StringToEnum("BalancethicknessD0")[0] 346 def SurfaceforcingsEnum(): return StringToEnum("Surfaceforcings")[0] 347 def SMBEnum(): return StringToEnum("SMB")[0] 348 def SurfaceforcingsMassBalanceEnum(): return StringToEnum("SurfaceforcingsMassBalance")[0] 347 def SmbEnum(): return StringToEnum("Smb")[0] 348 def SmbSolutionEnum(): return StringToEnum("SmbSolution")[0] 349 def SmbNumRequestedOutputsEnum(): return StringToEnum("SmbNumRequestedOutputs")[0] 350 def SmbRequestedOutputsEnum(): return StringToEnum("SmbRequestedOutputs")[0] 351 def SMBforcingEnum(): return StringToEnum("SMBforcing")[0] 352 def SmbMassBalanceEnum(): return StringToEnum("SmbMassBalance")[0] 349 353 def SMBpddEnum(): return StringToEnum("SMBpdd")[0] 350 def S urfaceforcingsDelta18oEnum(): return StringToEnum("SurfaceforcingsDelta18o")[0]351 def S urfaceforcingsDelta18oSurfaceEnum(): return StringToEnum("SurfaceforcingsDelta18oSurface")[0]352 def S urfaceforcingsIsdelta18oEnum(): return StringToEnum("SurfaceforcingsIsdelta18o")[0]353 def S urfaceforcingsIsmungsmEnum(): return StringToEnum("SurfaceforcingsIsmungsm")[0]354 def S urfaceforcingsIsd18opdEnum(): return StringToEnum("SurfaceforcingsIsd18opd")[0]355 def S urfaceforcingsPrecipitationsPresentdayEnum(): return StringToEnum("SurfaceforcingsPrecipitationsPresentday")[0]356 def S urfaceforcingsPrecipitationsLgmEnum(): return StringToEnum("SurfaceforcingsPrecipitationsLgm")[0]357 def S urfaceforcingsTemperaturesPresentdayEnum(): return StringToEnum("SurfaceforcingsTemperaturesPresentday")[0]358 def S urfaceforcingsTemperaturesLgmEnum(): return StringToEnum("SurfaceforcingsTemperaturesLgm")[0]359 def S urfaceforcingsPrecipitationEnum(): return StringToEnum("SurfaceforcingsPrecipitation")[0]360 def S urfaceforcingsDesfacEnum(): return StringToEnum("SurfaceforcingsDesfac")[0]361 def S urfaceforcingsS0pEnum(): return StringToEnum("SurfaceforcingsS0p")[0]362 def S urfaceforcingsS0tEnum(): return StringToEnum("SurfaceforcingsS0t")[0]363 def S urfaceforcingsRlapsEnum(): return StringToEnum("SurfaceforcingsRlaps")[0]364 def S urfaceforcingsRlapslgmEnum(): return StringToEnum("SurfaceforcingsRlapslgm")[0]365 def S urfaceforcingsPfacEnum(): return StringToEnum("SurfaceforcingsPfac")[0]366 def S urfaceforcingsTdiffEnum(): return StringToEnum("SurfaceforcingsTdiff")[0]367 def S urfaceforcingsSealevEnum(): return StringToEnum("SurfaceforcingsSealev")[0]354 def SmbDelta18oEnum(): return StringToEnum("SmbDelta18o")[0] 355 def SmbDelta18oSurfaceEnum(): return StringToEnum("SmbDelta18oSurface")[0] 356 def SmbIsdelta18oEnum(): return StringToEnum("SmbIsdelta18o")[0] 357 def SmbIsmungsmEnum(): return StringToEnum("SmbIsmungsm")[0] 358 def SmbIsd18opdEnum(): return StringToEnum("SmbIsd18opd")[0] 359 def SmbPrecipitationsPresentdayEnum(): return StringToEnum("SmbPrecipitationsPresentday")[0] 360 def SmbPrecipitationsLgmEnum(): return StringToEnum("SmbPrecipitationsLgm")[0] 361 def SmbTemperaturesPresentdayEnum(): return StringToEnum("SmbTemperaturesPresentday")[0] 362 def SmbTemperaturesLgmEnum(): return StringToEnum("SmbTemperaturesLgm")[0] 363 def SmbPrecipitationEnum(): return StringToEnum("SmbPrecipitation")[0] 364 def SmbDesfacEnum(): return StringToEnum("SmbDesfac")[0] 365 def SmbS0pEnum(): return StringToEnum("SmbS0p")[0] 366 def SmbS0tEnum(): return StringToEnum("SmbS0t")[0] 367 def SmbRlapsEnum(): return StringToEnum("SmbRlaps")[0] 368 def SmbRlapslgmEnum(): return StringToEnum("SmbRlapslgm")[0] 369 def SmbPfacEnum(): return StringToEnum("SmbPfac")[0] 370 def SmbTdiffEnum(): return StringToEnum("SmbTdiff")[0] 371 def SmbSealevEnum(): return StringToEnum("SmbSealev")[0] 368 372 def SMBd18opddEnum(): return StringToEnum("SMBd18opdd")[0] 369 def S urfaceforcingsDpermilEnum(): return StringToEnum("SurfaceforcingsDpermil")[0]373 def SmbDpermilEnum(): return StringToEnum("SmbDpermil")[0] 370 374 def SMBgradientsEnum(): return StringToEnum("SMBgradients")[0] 371 def S urfaceforcingsMonthlytemperaturesEnum(): return StringToEnum("SurfaceforcingsMonthlytemperatures")[0]372 def S urfaceforcingsHrefEnum(): return StringToEnum("SurfaceforcingsHref")[0]373 def S urfaceforcingsSmbrefEnum(): return StringToEnum("SurfaceforcingsSmbref")[0]374 def S urfaceforcingsBPosEnum(): return StringToEnum("SurfaceforcingsBPos")[0]375 def S urfaceforcingsBNegEnum(): return StringToEnum("SurfaceforcingsBNeg")[0]375 def SmbMonthlytemperaturesEnum(): return StringToEnum("SmbMonthlytemperatures")[0] 376 def SmbHrefEnum(): return StringToEnum("SmbHref")[0] 377 def SmbSmbrefEnum(): return StringToEnum("SmbSmbref")[0] 378 def SmbBPosEnum(): return StringToEnum("SmbBPos")[0] 379 def SmbBNegEnum(): return StringToEnum("SmbBNeg")[0] 376 380 def SMBhenningEnum(): return StringToEnum("SMBhenning")[0] 377 381 def SMBcomponentsEnum(): return StringToEnum("SMBcomponents")[0] 378 def S urfaceforcingsAccumulationEnum(): return StringToEnum("SurfaceforcingsAccumulation")[0]379 def S urfaceforcingsEvaporationEnum(): return StringToEnum("SurfaceforcingsEvaporation")[0]380 def S urfaceforcingsRunoffEnum(): return StringToEnum("SurfaceforcingsRunoff")[0]382 def SmbAccumulationEnum(): return StringToEnum("SmbAccumulation")[0] 383 def SmbEvaporationEnum(): return StringToEnum("SmbEvaporation")[0] 384 def SmbRunoffEnum(): return StringToEnum("SmbRunoff")[0] 381 385 def SMBmeltcomponentsEnum(): return StringToEnum("SMBmeltcomponents")[0] 382 def S urfaceforcingsMeltEnum(): return StringToEnum("SurfaceforcingsMelt")[0]383 def S urfaceforcingsRefreezeEnum(): return StringToEnum("SurfaceforcingsRefreeze")[0]386 def SmbMeltEnum(): return StringToEnum("SmbMelt")[0] 387 def SmbRefreezeEnum(): return StringToEnum("SmbRefreeze")[0] 384 388 def SMBgcmEnum(): return StringToEnum("SMBgcm")[0] 385 def S urfaceforcingsIspddEnum(): return StringToEnum("SurfaceforcingsIspdd")[0]386 def S urfaceforcingsIssmbgradientsEnum(): return StringToEnum("SurfaceforcingsIssmbgradients")[0]389 def SmbIspddEnum(): return StringToEnum("SmbIspdd")[0] 390 def SmbIssmbgradientsEnum(): return StringToEnum("SmbIssmbgradients")[0] 387 391 def SolutionTypeEnum(): return StringToEnum("SolutionType")[0] 388 392 def AnalysisTypeEnum(): return StringToEnum("AnalysisType")[0] -
issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m
r19506 r19527 198 198 elseif strcmp(fieldname,'TotalSmb'), 199 199 field = field/10.^12*yts; %(GigaTon/year) 200 elseif strcmp(fieldname,'S urfaceforcingsMassBalance'),201 field = field*yts; 202 elseif strcmp(fieldname,'S urfaceforcingsAccumulation'),203 field = field*yts; 204 elseif strcmp(fieldname,'S urfaceforcingsMelt'),200 elseif strcmp(fieldname,'SmbMassBalance'), 201 field = field*yts; 202 elseif strcmp(fieldname,'SmbAccumulation'), 203 field = field*yts; 204 elseif strcmp(fieldname,'SmbMelt'), 205 205 field = field*yts; 206 206 elseif strcmp(fieldname,'CalvingCalvingrate'), -
issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
r19348 r19527 220 220 elif m.strcmp(fieldname,'TotalSmb'): 221 221 field = field/10.**12.*yts #(GigaTon/year) 222 elif m.strcmp(fieldname,'S urfaceforcingsMassBalance'):222 elif m.strcmp(fieldname,'SmbMassBalance'): 223 223 field = field*yts 224 224 elif m.strcmp(fieldname,'CalvingCalvingrate'): -
issm/trunk-jpl/src/wrappers/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
r18453 r19527 20 20 _printf0_(" data_interp : vector of mesh interpolated data.\n"); 21 21 _printf0_(" Available options :\n"); 22 _printf0_(" - 'default' : default value if point is outsite of triangulation (instead of linear inter olation)\n");22 _printf0_(" - 'default' : default value if point is outsite of triangulation (instead of linear interpolation)\n"); 23 23 _printf0_("\n"); 24 24 _printf0_(" Example:\n"); -
issm/trunk-jpl/test/NightlyRun/gemb.m
r19526 r19527 9 9 10 10 % Use of Gemb method for SMB computation 11 md.s urfaceforcings= SMBgemb(md.mesh,md.geometry);11 md.smb = SMBgemb(md.mesh,md.geometry); 12 12 13 13 %load hourly surface forcing date from 1979 to 2009: … … 15 15 16 16 dateN=inputs.dateN/365.25; %convert in years 17 md.s urfaceforcings.Ta=[repmat(inputs.Ta0',md.mesh.numberofelements,1);dateN'];18 md.s urfaceforcings.V=[repmat(inputs.V0',md.mesh.numberofelements,1);dateN'];19 md.s urfaceforcings.dswrf=[repmat(inputs.dsw0',md.mesh.numberofelements,1);dateN'];20 md.s urfaceforcings.dlwrf=[repmat(inputs.dlw0',md.mesh.numberofelements,1);dateN'];21 md.s urfaceforcings.P=[repmat(inputs.P0',md.mesh.numberofelements,1);dateN'];22 md.s urfaceforcings.eAir=[repmat(inputs.eAir0',md.mesh.numberofelements,1);dateN'];23 md.s urfaceforcings.pAir=[repmat(inputs.pAir0',md.mesh.numberofelements,1);dateN'];17 md.smb.Ta=[repmat(inputs.Ta0',md.mesh.numberofelements,1);dateN']; 18 md.smb.V=[repmat(inputs.V0',md.mesh.numberofelements,1);dateN']; 19 md.smb.dswrf=[repmat(inputs.dsw0',md.mesh.numberofelements,1);dateN']; 20 md.smb.dlwrf=[repmat(inputs.dlw0',md.mesh.numberofelements,1);dateN']; 21 md.smb.P=[repmat(inputs.P0',md.mesh.numberofelements,1);dateN']; 22 md.smb.eAir=[repmat(inputs.eAir0',md.mesh.numberofelements,1);dateN']; 23 md.smb.pAir=[repmat(inputs.pAir0',md.mesh.numberofelements,1);dateN']; 24 24 25 md.s urfaceforcings.Vz=inputs.LP.Vz;26 md.s urfaceforcings.Tz=inputs.LP.Tz;27 md.s urfaceforcings.Tmean=inputs.LP.Tmean;28 md.s urfaceforcings.C=inputs.LP.C;25 md.smb.Vz=inputs.LP.Vz; 26 md.smb.Tz=inputs.LP.Tz; 27 md.smb.Tmean=inputs.LP.Tmean; 28 md.smb.C=inputs.LP.C; 29 29 30 30 %settings 31 md.s urfaceforcings.spinUp=231 md.smb.spinUp=2; 32 32 33 33 %Run transient -
issm/trunk-jpl/test/NightlyRun/test105.m
r19049 r19527 5 5 md=setflowequation(md,'SSA','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md.verbose=verbose('11111111'); 7 8 md=solve(md,MasstransportSolutionEnum()); 8 9 -
issm/trunk-jpl/test/NightlyRun/test109.m
r19049 r19527 8 8 md.transient.isstressbalance=0; 9 9 md.transient.ismasstransport=0; 10 md.transient.issmb=0; 10 11 md.transient.isthermal=1; 11 12 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test109.py
r19049 r19527 17 17 md.transient.isstressbalance=False 18 18 md.transient.ismasstransport=False 19 md.transient.issmb=False 19 20 md.transient.isthermal=True 20 21 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test1201.m
r19049 r19527 10 10 md=setmask(md,'all',''); 11 11 md=parameterize(md,'../Par/SquareEISMINT.par'); 12 md.s urfaceforcings.mass_balance(:)=0.;12 md.smb.mass_balance(:)=0.; 13 13 md=setflowequation(md,'SSA','all'); 14 14 md.cluster=generic('name',oshostname(),'np',8); -
issm/trunk-jpl/test/NightlyRun/test1201.py
r19049 r19527 23 23 md=setmask(md,'all','') 24 24 md=parameterize(md,'../Par/SquareEISMINT.py') 25 md.s urfaceforcings.mass_balance[:]=0.25 md.smb.mass_balance[:]=0. 26 26 md=setflowequation(md,'SSA','all') 27 27 md.cluster=generic('name',oshostname(),'np',8) -
issm/trunk-jpl/test/NightlyRun/test121.m
r19049 r19527 10 10 md.transient.isstressbalance=0; 11 11 md.transient.ismasstransport=0; 12 md.transient.issmb=0; 12 13 md.transient.isthermal=1; 13 14 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test121.py
r19049 r19527 19 19 md.transient.isstressbalance=False 20 20 md.transient.ismasstransport=False 21 md.transient.issmb=False 21 22 md.transient.isthermal=True 22 23 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test1501.m
r19049 r19527 15 15 %Solve for thinning rate -> -1 * surface mass balance 16 16 smb= 2.*ones(md.mesh.numberofvertices,1); 17 md.s urfaceforcings.mass_balance= smb;17 md.smb.mass_balance= smb; 18 18 md.basalforcings.groundedice_melting_rate= smb; 19 19 … … 22 22 for i=1:10 23 23 md=solve(md,MasstransportSolutionEnum()); 24 md.s urfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness);24 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness); 25 25 end 26 26 27 27 %Set up transient 28 smb = md.s urfaceforcings.mass_balance;28 smb = md.smb.mass_balance; 29 29 30 30 tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ]; 31 31 smb=[ [ones(399,1)*(smb')]' smb tooth tooth]; 32 32 33 md.s urfaceforcings.mass_balance= smb;34 md.s urfaceforcings.mass_balance(end+1,:)=[1.:2000.];33 md.smb.mass_balance= smb; 34 md.smb.mass_balance(end+1,:)=[1.:2000.]; 35 35 36 36 md=solve(md,TransientSolutionEnum()); 37 37 38 38 %Fields and tolerances to track changes 39 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...40 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...41 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...42 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4', ...43 'Vx5','Vy5','Vel5','Pressure5','Bed5','Surface5','Thickness5','S urfaceforcingsMassBalance5'};39 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 40 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 41 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 42 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4', ... 43 'Vx5','Vy5','Vel5','Pressure5','Bed5','Surface5','Thickness5','SmbMassBalance5'}; 44 44 field_tolerances={1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,... 45 45 1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 55 55 (md.results.TransientSolution(400).Surface),... 56 56 (md.results.TransientSolution(400).Thickness),... 57 (md.results.TransientSolution(400).S urfaceforcingsMassBalance),...57 (md.results.TransientSolution(400).SmbMassBalance),... 58 58 (md.results.TransientSolution(800).Vx),... 59 59 (md.results.TransientSolution(800).Vy),... … … 63 63 (md.results.TransientSolution(800).Surface),... 64 64 (md.results.TransientSolution(800).Thickness),... 65 (md.results.TransientSolution(800).S urfaceforcingsMassBalance),...65 (md.results.TransientSolution(800).SmbMassBalance),... 66 66 (md.results.TransientSolution(1200).Vx),... 67 67 (md.results.TransientSolution(1200).Vy),... … … 71 71 (md.results.TransientSolution(1200).Surface),... 72 72 (md.results.TransientSolution(1200).Thickness),... 73 (md.results.TransientSolution(1200).S urfaceforcingsMassBalance),...73 (md.results.TransientSolution(1200).SmbMassBalance),... 74 74 (md.results.TransientSolution(1600).Vx),... 75 75 (md.results.TransientSolution(1600).Vy),... … … 79 79 (md.results.TransientSolution(1600).Surface),... 80 80 (md.results.TransientSolution(1600).Thickness),... 81 (md.results.TransientSolution(1600).S urfaceforcingsMassBalance),...81 (md.results.TransientSolution(1600).SmbMassBalance),... 82 82 (md.results.TransientSolution(2000).Vx),... 83 83 (md.results.TransientSolution(2000).Vy),... … … 87 87 (md.results.TransientSolution(2000).Surface),... 88 88 (md.results.TransientSolution(2000).Thickness),... 89 (md.results.TransientSolution(2000).S urfaceforcingsMassBalance),...89 (md.results.TransientSolution(2000).SmbMassBalance),... 90 90 }; 91 91 … … 109 109 thickness = [thickness (md.results.TransientSolution(t).Thickness)]; 110 110 volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas]; 111 massbal = [massbal (md.results.TransientSolution(t).S urfaceforcingsMassBalance)];111 massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)]; 112 112 velocity = [velocity (md.results.TransientSolution(t).Vel)]; 113 113 end -
issm/trunk-jpl/test/NightlyRun/test1501.py
r19049 r19527 26 26 #Solve for thinning rate -> -1 * surface mass balance 27 27 smb= 2.*numpy.ones((md.mesh.numberofvertices,1)) 28 md.s urfaceforcings.mass_balance= smb28 md.smb.mass_balance= smb 29 29 md.basalforcings.groundedice_melting_rate= smb 30 30 … … 33 33 for i in xrange(1,11): 34 34 md=solve(md,MasstransportSolutionEnum()) 35 md.s urfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness)35 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness) 36 36 37 37 #Set up transient 38 smb = md.s urfaceforcings.mass_balance38 smb = md.smb.mass_balance 39 39 40 40 #tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ]; … … 43 43 smb=numpy.hstack((numpy.tile(smb,(1,399)),smb,tooth,tooth)) 44 44 45 #md.s urfaceforcings.mass_balance= smb;46 #md.s urfaceforcings.mass_balance(end+1,:)=[1.:2000.];47 md.s urfaceforcings.mass_balance=numpy.vstack((smb,numpy.arange(1,2001)))45 #md.smb.mass_balance= smb; 46 #md.smb.mass_balance(end+1,:)=[1.:2000.]; 47 md.smb.mass_balance=numpy.vstack((smb,numpy.arange(1,2001))) 48 48 49 49 md=solve(md,TransientSolutionEnum()) 50 50 51 51 #Fields and tolerances to track changes 52 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \53 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \54 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \55 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4', \56 'Vx5','Vy5','Vel5','Pressure5','Bed5','Surface5','Thickness5','S urfaceforcingsMassBalance5']52 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 53 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 54 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 55 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4', \ 56 'Vx5','Vy5','Vel5','Pressure5','Bed5','Surface5','Thickness5','SmbMassBalance5'] 57 57 field_tolerances=[1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\ 58 58 1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 68 68 md.results.TransientSolution[400-1].Surface,\ 69 69 md.results.TransientSolution[400-1].Thickness,\ 70 md.results.TransientSolution[400-1].S urfaceforcingsMassBalance,\70 md.results.TransientSolution[400-1].SmbMassBalance,\ 71 71 md.results.TransientSolution[800-1].Vx,\ 72 72 md.results.TransientSolution[800-1].Vy,\ … … 76 76 md.results.TransientSolution[800-1].Surface,\ 77 77 md.results.TransientSolution[800-1].Thickness,\ 78 md.results.TransientSolution[800-1].S urfaceforcingsMassBalance,\78 md.results.TransientSolution[800-1].SmbMassBalance,\ 79 79 md.results.TransientSolution[1200-1].Vx,\ 80 80 md.results.TransientSolution[1200-1].Vy,\ … … 84 84 md.results.TransientSolution[1200-1].Surface,\ 85 85 md.results.TransientSolution[1200-1].Thickness,\ 86 md.results.TransientSolution[1200-1].S urfaceforcingsMassBalance,\86 md.results.TransientSolution[1200-1].SmbMassBalance,\ 87 87 md.results.TransientSolution[1600-1].Vx,\ 88 88 md.results.TransientSolution[1600-1].Vy,\ … … 92 92 md.results.TransientSolution[1600-1].Surface,\ 93 93 md.results.TransientSolution[1600-1].Thickness,\ 94 md.results.TransientSolution[1600-1].S urfaceforcingsMassBalance,\94 md.results.TransientSolution[1600-1].SmbMassBalance,\ 95 95 md.results.TransientSolution[2000-1].Vx,\ 96 96 md.results.TransientSolution[2000-1].Vy,\ … … 100 100 md.results.TransientSolution[2000-1].Surface,\ 101 101 md.results.TransientSolution[2000-1].Thickness,\ 102 md.results.TransientSolution[2000-1].S urfaceforcingsMassBalance,\102 md.results.TransientSolution[2000-1].SmbMassBalance,\ 103 103 ] 104 104 … … 124 124 thickness = [thickness (md.results.TransientSolution(t).Thickness)]; 125 125 volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas]; 126 massbal = [massbal (md.results.TransientSolution(t).S urfaceforcingsMassBalance)];126 massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)]; 127 127 velocity = [velocity (md.results.TransientSolution(t).Vel)]; 128 128 end -
issm/trunk-jpl/test/NightlyRun/test1502.m
r19049 r19527 16 16 %Solve for thinning rate -> -1 * surface mass balance 17 17 smb= 2.*ones(md.mesh.numberofvertices,1); 18 md.s urfaceforcings.mass_balance= smb;18 md.smb.mass_balance= smb; 19 19 md.basalforcings.groundedice_melting_rate= smb; 20 20 … … 23 23 for i=1:10 24 24 md=solve(md,MasstransportSolutionEnum()); 25 md.s urfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness);25 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness); 26 26 end 27 27 28 28 %Set up transient 29 smb = md.s urfaceforcings.mass_balance;29 smb = md.smb.mass_balance; 30 30 31 31 tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ]; 32 32 smb=[ [ones(399,1)*(smb')]' smb tooth tooth]; 33 33 34 md.s urfaceforcings.mass_balance= smb;35 md.s urfaceforcings.mass_balance(end+1,:)=[1.:2000.];34 md.smb.mass_balance= smb; 35 md.smb.mass_balance(end+1,:)=[1.:2000.]; 36 36 37 37 md=solve(md,TransientSolutionEnum()); 38 38 39 39 %Fields and tolerances to track changes 40 field_names={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...41 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...42 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...43 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4', ...44 'Vx5','Vy5','Vz5','Vel5','Pressure5','Bed5','Surface5','Thickness5','S urfaceforcingsMassBalance5'};40 field_names={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 41 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 42 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 43 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4', ... 44 'Vx5','Vy5','Vz5','Vel5','Pressure5','Bed5','Surface5','Thickness5','SmbMassBalance5'}; 45 45 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 46 46 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 57 57 (md.results.TransientSolution(400).Surface),... 58 58 (md.results.TransientSolution(400).Thickness),... 59 (md.results.TransientSolution(400).S urfaceforcingsMassBalance),...59 (md.results.TransientSolution(400).SmbMassBalance),... 60 60 (md.results.TransientSolution(800).Vx),... 61 61 (md.results.TransientSolution(800).Vy),... … … 66 66 (md.results.TransientSolution(800).Surface),... 67 67 (md.results.TransientSolution(800).Thickness),... 68 (md.results.TransientSolution(800).S urfaceforcingsMassBalance),...68 (md.results.TransientSolution(800).SmbMassBalance),... 69 69 (md.results.TransientSolution(1200).Vx),... 70 70 (md.results.TransientSolution(1200).Vy),... … … 75 75 (md.results.TransientSolution(1200).Surface),... 76 76 (md.results.TransientSolution(1200).Thickness),... 77 (md.results.TransientSolution(1200).S urfaceforcingsMassBalance),...77 (md.results.TransientSolution(1200).SmbMassBalance),... 78 78 (md.results.TransientSolution(1600).Vx),... 79 79 (md.results.TransientSolution(1600).Vy),... … … 84 84 (md.results.TransientSolution(1600).Surface),... 85 85 (md.results.TransientSolution(1600).Thickness),... 86 (md.results.TransientSolution(1600).S urfaceforcingsMassBalance),...86 (md.results.TransientSolution(1600).SmbMassBalance),... 87 87 (md.results.TransientSolution(2000).Vx),... 88 88 (md.results.TransientSolution(2000).Vy),... … … 93 93 (md.results.TransientSolution(2000).Surface),... 94 94 (md.results.TransientSolution(2000).Thickness),... 95 (md.results.TransientSolution(2000).S urfaceforcingsMassBalance),...95 (md.results.TransientSolution(2000).SmbMassBalance),... 96 96 }; 97 97 … … 115 115 thickness = [thickness (md.results.TransientSolution(t).Thickness)]; 116 116 volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas]; 117 massbal = [massbal (md.results.TransientSolution(t).S urfaceforcingsMassBalance)];117 massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)]; 118 118 velocity = [velocity (md.results.TransientSolution(t).Vel)]; 119 119 end -
issm/trunk-jpl/test/NightlyRun/test1502.py
r19049 r19527 27 27 #Solve for thinning rate -> -1 * surface mass balance 28 28 smb= 2.*numpy.ones((md.mesh.numberofvertices,1)) 29 md.s urfaceforcings.mass_balance= smb29 md.smb.mass_balance= smb 30 30 md.basalforcings.groundedice_melting_rate= smb 31 31 … … 34 34 for i in xrange(1,11): 35 35 md=solve(md,MasstransportSolutionEnum()) 36 md.s urfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness)36 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness) 37 37 38 38 #Set up transient 39 smb = md.s urfaceforcings.mass_balance39 smb = md.smb.mass_balance 40 40 41 41 #tooth= [ [ones(400,1)*(smb') - 10.]' [ones(400,1)*(smb')]' ]; … … 44 44 smb=numpy.hstack((numpy.tile(smb,(1,399)),smb,tooth,tooth)) 45 45 46 #md.s urfaceforcings.mass_balance= smb;47 #md.s urfaceforcings.mass_balance(end+1,:)=[1.:2000.];48 md.s urfaceforcings.mass_balance=numpy.vstack((smb,numpy.arange(1,2001)))46 #md.smb.mass_balance= smb; 47 #md.smb.mass_balance(end+1,:)=[1.:2000.]; 48 md.smb.mass_balance=numpy.vstack((smb,numpy.arange(1,2001))) 49 49 50 50 md=solve(md,TransientSolutionEnum()) 51 51 52 52 #Fields and tolerances to track changes 53 field_names=['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \54 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \55 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \56 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4', \57 'Vx5','Vy5','Vz5','Vel5','Pressure5','Bed5','Surface5','Thickness5','S urfaceforcingsMassBalance5']53 field_names=['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 54 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 55 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 56 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4', \ 57 'Vx5','Vy5','Vz5','Vel5','Pressure5','Bed5','Surface5','Thickness5','SmbMassBalance5'] 58 58 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 59 59 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 70 70 md.results.TransientSolution[400-1].Surface,\ 71 71 md.results.TransientSolution[400-1].Thickness,\ 72 md.results.TransientSolution[400-1].S urfaceforcingsMassBalance,\72 md.results.TransientSolution[400-1].SmbMassBalance,\ 73 73 md.results.TransientSolution[800-1].Vx,\ 74 74 md.results.TransientSolution[800-1].Vy,\ … … 79 79 md.results.TransientSolution[800-1].Surface,\ 80 80 md.results.TransientSolution[800-1].Thickness,\ 81 md.results.TransientSolution[800-1].S urfaceforcingsMassBalance,\81 md.results.TransientSolution[800-1].SmbMassBalance,\ 82 82 md.results.TransientSolution[1200-1].Vx,\ 83 83 md.results.TransientSolution[1200-1].Vy,\ … … 88 88 md.results.TransientSolution[1200-1].Surface,\ 89 89 md.results.TransientSolution[1200-1].Thickness,\ 90 md.results.TransientSolution[1200-1].S urfaceforcingsMassBalance,\90 md.results.TransientSolution[1200-1].SmbMassBalance,\ 91 91 md.results.TransientSolution[1600-1].Vx,\ 92 92 md.results.TransientSolution[1600-1].Vy,\ … … 97 97 md.results.TransientSolution[1600-1].Surface,\ 98 98 md.results.TransientSolution[1600-1].Thickness,\ 99 md.results.TransientSolution[1600-1].S urfaceforcingsMassBalance,\99 md.results.TransientSolution[1600-1].SmbMassBalance,\ 100 100 md.results.TransientSolution[2000-1].Vx,\ 101 101 md.results.TransientSolution[2000-1].Vy,\ … … 106 106 md.results.TransientSolution[2000-1].Surface,\ 107 107 md.results.TransientSolution[2000-1].Thickness,\ 108 md.results.TransientSolution[2000-1].S urfaceforcingsMassBalance,\108 md.results.TransientSolution[2000-1].SmbMassBalance,\ 109 109 ] 110 110 … … 130 130 thickness = [thickness (md.results.TransientSolution(t).Thickness)]; 131 131 volume = [volume mean(md.results.TransientSolution(t).Thickness.value,2).*areas]; 132 massbal = [massbal (md.results.TransientSolution(t).S urfaceforcingsMassBalance)];132 massbal = [massbal (md.results.TransientSolution(t).SmbMassBalance)]; 133 133 velocity = [velocity (md.results.TransientSolution(t).Vel)]; 134 134 end -
issm/trunk-jpl/test/NightlyRun/test207.m
r19049 r19527 8 8 md.transient.isstressbalance=0; 9 9 md.transient.ismasstransport=0; 10 md.transient.issmb=0; 10 11 md.transient.isthermal=1; 11 12 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test207.py
r19049 r19527 19 19 md.transient.isstressbalance=False 20 20 md.transient.ismasstransport=False 21 md.transient.issmb=False 21 22 md.transient.isthermal=True 22 23 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test228.m
r19049 r19527 14 14 smb=[ smb smb*-1. ]; 15 15 16 md.s urfaceforcings.mass_balance=smb;17 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3.];16 md.smb.mass_balance=smb; 17 md.smb.mass_balance(end+1,:)=[1.5 3.]; 18 18 md.transient.isthermal=0; 19 19 … … 21 21 22 22 %Fields and tolerances to track changes 23 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...24 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...25 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...26 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};23 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 24 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 25 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 26 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 27 27 field_tolerances={1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... 28 28 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 37 37 (md.results.TransientSolution(1).Surface),... 38 38 (md.results.TransientSolution(1).Thickness),... 39 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...39 (md.results.TransientSolution(1).SmbMassBalance),... 40 40 (md.results.TransientSolution(2).Vx),... 41 41 (md.results.TransientSolution(2).Vy),... … … 45 45 (md.results.TransientSolution(2).Surface),... 46 46 (md.results.TransientSolution(2).Thickness),... 47 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...47 (md.results.TransientSolution(2).SmbMassBalance),... 48 48 (md.results.TransientSolution(3).Vx),... 49 49 (md.results.TransientSolution(3).Vy),... … … 53 53 (md.results.TransientSolution(3).Surface),... 54 54 (md.results.TransientSolution(3).Thickness),... 55 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...55 (md.results.TransientSolution(3).SmbMassBalance),... 56 56 (md.results.TransientSolution(4).Vx),... 57 57 (md.results.TransientSolution(4).Vy),... … … 61 61 (md.results.TransientSolution(4).Surface),... 62 62 (md.results.TransientSolution(4).Thickness),... 63 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...63 (md.results.TransientSolution(4).SmbMassBalance),... 64 64 }; -
issm/trunk-jpl/test/NightlyRun/test228.py
r19049 r19527 24 24 smb=numpy.hstack((smb,smb*-1.)) 25 25 26 md.s urfaceforcings.mass_balance=numpy.vstack((smb,[1.5,3.]))26 md.smb.mass_balance=numpy.vstack((smb,[1.5,3.])) 27 27 md.transient.isthermal=False 28 28 … … 30 30 31 31 #Fields and tolerances to track changes 32 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \33 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \34 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \35 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']32 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 33 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 34 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 35 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 36 36 field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ 37 37 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 46 46 md.results.TransientSolution[0].Surface,\ 47 47 md.results.TransientSolution[0].Thickness,\ 48 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\48 md.results.TransientSolution[0].SmbMassBalance,\ 49 49 md.results.TransientSolution[1].Vx,\ 50 50 md.results.TransientSolution[1].Vy,\ … … 54 54 md.results.TransientSolution[1].Surface,\ 55 55 md.results.TransientSolution[1].Thickness,\ 56 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\56 md.results.TransientSolution[1].SmbMassBalance,\ 57 57 md.results.TransientSolution[2].Vx,\ 58 58 md.results.TransientSolution[2].Vy,\ … … 62 62 md.results.TransientSolution[2].Surface,\ 63 63 md.results.TransientSolution[2].Thickness,\ 64 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\64 md.results.TransientSolution[2].SmbMassBalance,\ 65 65 md.results.TransientSolution[3].Vx,\ 66 66 md.results.TransientSolution[3].Vy,\ … … 70 70 md.results.TransientSolution[3].Surface,\ 71 71 md.results.TransientSolution[3].Thickness,\ 72 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\72 md.results.TransientSolution[3].SmbMassBalance,\ 73 73 ] -
issm/trunk-jpl/test/NightlyRun/test229.m
r19049 r19527 14 14 smb=[ smb smb*2. ]; 15 15 16 md.s urfaceforcings.mass_balance=smb;17 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3.];16 md.smb.mass_balance=smb; 17 md.smb.mass_balance(end+1,:)=[1.5 3.]; 18 18 md.transient.isthermal=0; 19 19 … … 21 21 22 22 %Fields and tolerances to track changes 23 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...24 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...25 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...26 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};23 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 24 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 25 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 26 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 27 27 field_tolerances={1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... 28 28 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 37 37 (md.results.TransientSolution(1).Surface),... 38 38 (md.results.TransientSolution(1).Thickness),... 39 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...39 (md.results.TransientSolution(1).SmbMassBalance),... 40 40 (md.results.TransientSolution(2).Vx),... 41 41 (md.results.TransientSolution(2).Vy),... … … 45 45 (md.results.TransientSolution(2).Surface),... 46 46 (md.results.TransientSolution(2).Thickness),... 47 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...47 (md.results.TransientSolution(2).SmbMassBalance),... 48 48 (md.results.TransientSolution(3).Vx),... 49 49 (md.results.TransientSolution(3).Vy),... … … 53 53 (md.results.TransientSolution(3).Surface),... 54 54 (md.results.TransientSolution(3).Thickness),... 55 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...55 (md.results.TransientSolution(3).SmbMassBalance),... 56 56 (md.results.TransientSolution(4).Vx),... 57 57 (md.results.TransientSolution(4).Vy),... … … 61 61 (md.results.TransientSolution(4).Surface),... 62 62 (md.results.TransientSolution(4).Thickness),... 63 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...63 (md.results.TransientSolution(4).SmbMassBalance),... 64 64 }; -
issm/trunk-jpl/test/NightlyRun/test229.py
r19049 r19527 24 24 smb=numpy.hstack((smb,smb*2.)) 25 25 26 md.s urfaceforcings.mass_balance=numpy.vstack((smb,[1.5,3.]))26 md.smb.mass_balance=numpy.vstack((smb,[1.5,3.])) 27 27 md.transient.isthermal=False 28 28 … … 30 30 31 31 #Fields and tolerances to track changes 32 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \33 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \34 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \35 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']32 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 33 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 34 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 35 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 36 36 field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ 37 37 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 46 46 md.results.TransientSolution[0].Surface,\ 47 47 md.results.TransientSolution[0].Thickness,\ 48 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\48 md.results.TransientSolution[0].SmbMassBalance,\ 49 49 md.results.TransientSolution[1].Vx,\ 50 50 md.results.TransientSolution[1].Vy,\ … … 54 54 md.results.TransientSolution[1].Surface,\ 55 55 md.results.TransientSolution[1].Thickness,\ 56 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\56 md.results.TransientSolution[1].SmbMassBalance,\ 57 57 md.results.TransientSolution[2].Vx,\ 58 58 md.results.TransientSolution[2].Vy,\ … … 62 62 md.results.TransientSolution[2].Surface,\ 63 63 md.results.TransientSolution[2].Thickness,\ 64 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\64 md.results.TransientSolution[2].SmbMassBalance,\ 65 65 md.results.TransientSolution[3].Vx,\ 66 66 md.results.TransientSolution[3].Vy,\ … … 70 70 md.results.TransientSolution[3].Surface,\ 71 71 md.results.TransientSolution[3].Thickness,\ 72 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\72 md.results.TransientSolution[3].SmbMassBalance,\ 73 73 ] -
issm/trunk-jpl/test/NightlyRun/test230.m
r19049 r19527 15 15 smb=[ smb smb*-1. ]; 16 16 17 md.s urfaceforcings.mass_balance=smb;18 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3.];17 md.smb.mass_balance=smb; 18 md.smb.mass_balance(end+1,:)=[1.5 3.]; 19 19 md.transient.isthermal=0; 20 20 … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...25 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...26 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...27 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassbalance4'};24 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 25 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 26 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 27 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4'}; 28 28 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 29 29 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 39 39 (md.results.TransientSolution(1).Surface),... 40 40 (md.results.TransientSolution(1).Thickness),... 41 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...41 (md.results.TransientSolution(1).SmbMassBalance),... 42 42 (md.results.TransientSolution(2).Vx),... 43 43 (md.results.TransientSolution(2).Vy),... … … 48 48 (md.results.TransientSolution(2).Surface),... 49 49 (md.results.TransientSolution(2).Thickness),... 50 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...50 (md.results.TransientSolution(2).SmbMassBalance),... 51 51 (md.results.TransientSolution(3).Vx),... 52 52 (md.results.TransientSolution(3).Vy),... … … 57 57 (md.results.TransientSolution(3).Surface),... 58 58 (md.results.TransientSolution(3).Thickness),... 59 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...59 (md.results.TransientSolution(3).SmbMassBalance),... 60 60 (md.results.TransientSolution(4).Vx),... 61 61 (md.results.TransientSolution(4).Vy),... … … 66 66 (md.results.TransientSolution(4).Surface),... 67 67 (md.results.TransientSolution(4).Thickness),... 68 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...68 (md.results.TransientSolution(4).SmbMassBalance),... 69 69 }; -
issm/trunk-jpl/test/NightlyRun/test230.py
r19049 r19527 25 25 smb=numpy.hstack((smb,smb*-1.)) 26 26 27 md.s urfaceforcings.mass_balance=numpy.vstack((smb,[1.5,3.]))27 md.smb.mass_balance=numpy.vstack((smb,[1.5,3.])) 28 28 md.transient.isthermal=False 29 29 … … 31 31 32 32 #Fields and tolerances to track changes 33 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \34 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \35 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \36 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassbalance4']33 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 34 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 35 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 36 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4'] 37 37 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 38 38 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 48 48 md.results.TransientSolution[0].Surface,\ 49 49 md.results.TransientSolution[0].Thickness,\ 50 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\50 md.results.TransientSolution[0].SmbMassBalance,\ 51 51 md.results.TransientSolution[1].Vx,\ 52 52 md.results.TransientSolution[1].Vy,\ … … 57 57 md.results.TransientSolution[1].Surface,\ 58 58 md.results.TransientSolution[1].Thickness,\ 59 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\59 md.results.TransientSolution[1].SmbMassBalance,\ 60 60 md.results.TransientSolution[2].Vx,\ 61 61 md.results.TransientSolution[2].Vy,\ … … 66 66 md.results.TransientSolution[2].Surface,\ 67 67 md.results.TransientSolution[2].Thickness,\ 68 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\68 md.results.TransientSolution[2].SmbMassBalance,\ 69 69 md.results.TransientSolution[3].Vx,\ 70 70 md.results.TransientSolution[3].Vy,\ … … 75 75 md.results.TransientSolution[3].Surface,\ 76 76 md.results.TransientSolution[3].Thickness,\ 77 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\77 md.results.TransientSolution[3].SmbMassBalance,\ 78 78 ] -
issm/trunk-jpl/test/NightlyRun/test231.m
r19049 r19527 15 15 smb=[ smb smb*2. ]; 16 16 17 md.s urfaceforcings.mass_balance=smb;18 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3.];17 md.smb.mass_balance=smb; 18 md.smb.mass_balance(end+1,:)=[1.5 3.]; 19 19 md.transient.isthermal=0; 20 20 … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...25 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...26 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...27 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassbalance4'};24 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 25 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 26 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 27 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4'}; 28 28 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 29 29 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 39 39 (md.results.TransientSolution(1).Surface),... 40 40 (md.results.TransientSolution(1).Thickness),... 41 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...41 (md.results.TransientSolution(1).SmbMassBalance),... 42 42 (md.results.TransientSolution(2).Vx),... 43 43 (md.results.TransientSolution(2).Vy),... … … 48 48 (md.results.TransientSolution(2).Surface),... 49 49 (md.results.TransientSolution(2).Thickness),... 50 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...50 (md.results.TransientSolution(2).SmbMassBalance),... 51 51 (md.results.TransientSolution(3).Vx),... 52 52 (md.results.TransientSolution(3).Vy),... … … 57 57 (md.results.TransientSolution(3).Surface),... 58 58 (md.results.TransientSolution(3).Thickness),... 59 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...59 (md.results.TransientSolution(3).SmbMassBalance),... 60 60 (md.results.TransientSolution(4).Vx),... 61 61 (md.results.TransientSolution(4).Vy),... … … 66 66 (md.results.TransientSolution(4).Surface),... 67 67 (md.results.TransientSolution(4).Thickness),... 68 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...68 (md.results.TransientSolution(4).SmbMassBalance),... 69 69 }; -
issm/trunk-jpl/test/NightlyRun/test231.py
r19049 r19527 25 25 smb=numpy.hstack((smb,smb*2.)) 26 26 27 md.s urfaceforcings.mass_balance=numpy.vstack((smb,[1.5,3.]))27 md.smb.mass_balance=numpy.vstack((smb,[1.5,3.])) 28 28 md.transient.isthermal=False 29 29 … … 31 31 32 32 #Fields and tolerances to track changes 33 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \34 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \35 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \36 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassbalance4']33 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 34 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 35 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 36 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4'] 37 37 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 38 38 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 48 48 md.results.TransientSolution[0].Surface,\ 49 49 md.results.TransientSolution[0].Thickness,\ 50 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\50 md.results.TransientSolution[0].SmbMassBalance,\ 51 51 md.results.TransientSolution[1].Vx,\ 52 52 md.results.TransientSolution[1].Vy,\ … … 57 57 md.results.TransientSolution[1].Surface,\ 58 58 md.results.TransientSolution[1].Thickness,\ 59 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\59 md.results.TransientSolution[1].SmbMassBalance,\ 60 60 md.results.TransientSolution[2].Vx,\ 61 61 md.results.TransientSolution[2].Vy,\ … … 66 66 md.results.TransientSolution[2].Surface,\ 67 67 md.results.TransientSolution[2].Thickness,\ 68 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\68 md.results.TransientSolution[2].SmbMassBalance,\ 69 69 md.results.TransientSolution[3].Vx,\ 70 70 md.results.TransientSolution[3].Vy,\ … … 75 75 md.results.TransientSolution[3].Surface,\ 76 76 md.results.TransientSolution[3].Thickness,\ 77 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\77 md.results.TransientSolution[3].SmbMassBalance,\ 78 78 ] -
issm/trunk-jpl/test/NightlyRun/test232.m
r19049 r19527 11 11 md.transient.isstressbalance=0; 12 12 md.transient.ismasstransport=0; 13 md.transient.issmb=0; 13 14 md.transient.isthermal=1; 14 15 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test232.py
r19049 r19527 21 21 md.transient.isstressbalance=False 22 22 md.transient.ismasstransport=False 23 md.transient.issmb=False 23 24 md.transient.isthermal=True 24 25 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test234.m
r19049 r19527 13 13 smb=[ smb smb*-1 ]; 14 14 15 md.s urfaceforcings.mass_balance= smb;16 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3];15 md.smb.mass_balance= smb; 16 md.smb.mass_balance(end+1,:)=[1.5 3]; 17 17 md.transient.isthermal=0; 18 18 %Dakota options … … 24 24 25 25 %variables 26 md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_S urfaceforcingsMassBalance',1,0.1);26 md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,0.1); 27 27 28 28 %responses -
issm/trunk-jpl/test/NightlyRun/test235.m
r19049 r19527 13 13 smb=[ smb smb*-1 ]; 14 14 15 md.s urfaceforcings.mass_balance= smb;16 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3];15 md.smb.mass_balance= smb; 16 md.smb.mass_balance(end+1,:)=[1.5 3]; 17 17 md.transient.isthermal=0; 18 18 %Dakota options … … 24 24 25 25 %variables 26 md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_S urfaceforcingsMassBalance',1,100);26 md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,100); 27 27 28 28 %responses -
issm/trunk-jpl/test/NightlyRun/test236.m
r19308 r19527 7 7 8 8 % Use of ispdd and isdelta18o methods 9 md.s urfaceforcings= SMBpdd();10 md.s urfaceforcings.isdelta18o=1;11 md.s urfaceforcings.ismungsm=0;9 md.smb = SMBpdd(); 10 md.smb.isdelta18o=1; 11 md.smb.ismungsm=0; 12 12 13 %md.s urfaceforcings.precipitation(1:md.mesh.numberofvertices,1:12)=0;14 %md.s urfaceforcings.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273;13 %md.smb.precipitation(1:md.mesh.numberofvertices,1:12)=0; 14 %md.smb.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273; 15 15 16 16 % Add temperature, precipitation and delta18o needed to measure the surface mass balance 17 17 % creating delta18o 18 18 load '../Data/delta18o.data' 19 md.s urfaceforcings.delta18o=delta18o;19 md.smb.delta18o=delta18o; 20 20 % creating delta18oSurface 21 md.s urfaceforcings.delta18o_surface(1,1:(length(delta18o))) = 0;22 md.s urfaceforcings.delta18o_surface(2,:) = delta18o(2,:);21 md.smb.delta18o_surface(1,1:(length(delta18o))) = 0; 22 md.smb.delta18o_surface(2,:) = delta18o(2,:); 23 23 24 24 % creating Present day and lgm temperatures … … 26 26 tmonth(1:12)=238.15+20.; 27 27 for imonth=0:11 28 md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1);29 md.s urfaceforcings.temperatures_lgm(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1)-20.;28 md.smb.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1); 29 md.smb.temperatures_lgm(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1)-20.; 30 30 % Time for the last line: 31 md.s urfaceforcings.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);32 md.s urfaceforcings.temperatures_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);31 md.smb.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 32 md.smb.temperatures_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 33 33 end 34 34 35 35 % creating initialization and spc temperatures initialization and 36 36 % spc 37 md.thermal.spctemperature=mean(md.s urfaceforcings.temperatures_lgm(1:md.mesh.numberofvertices,1:12),2); %-10*ones(md.mesh.numberofvertices,1);37 md.thermal.spctemperature=mean(md.smb.temperatures_lgm(1:md.mesh.numberofvertices,1:12),2); %-10*ones(md.mesh.numberofvertices,1); 38 38 md.thermal.spctemperature=repmat(md.thermal.spctemperature,1,md.timestepping.final_time/md.timestepping.time_step); 39 39 itemp=0:md.timestepping.time_step:md.timestepping.final_time-md.timestepping.time_step; 40 40 md.thermal.spctemperature(md.mesh.numberofvertices+1,:)=itemp; 41 41 42 md.initialization.temperature=md.s urfaceforcings.temperatures_lgm(1:md.mesh.numberofvertices,1); %*ones(md.mesh.numberofvertices,1);43 md.s urfaceforcings = initialize(md.surfaceforcings,md);42 md.initialization.temperature=md.smb.temperatures_lgm(1:md.mesh.numberofvertices,1); %*ones(md.mesh.numberofvertices,1); 43 md.smb = initialize(md.smb,md); 44 44 45 45 % creating precipitation 46 46 for imonth=0:11 47 md.s urfaceforcings.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;48 md.s urfaceforcings.precipitations_lgm(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;47 md.smb.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 48 md.smb.precipitations_lgm(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 49 49 % Time for the last line: 50 md.s urfaceforcings.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);51 md.s urfaceforcings.precipitations_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);50 md.smb.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 51 md.smb.precipitations_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 52 52 end 53 53 54 54 % Interpolation factors 55 md.s urfaceforcings.Tdiff(1,1:md.timestepping.final_time)=0.5;56 md.s urfaceforcings.sealev(1,1:md.timestepping.final_time)=0.5;55 md.smb.Tdiff(1,1:md.timestepping.final_time)=0.5; 56 md.smb.sealev(1,1:md.timestepping.final_time)=0.5; 57 57 % Year of each data point 58 md.s urfaceforcings.Tdiff(2,1:md.timestepping.final_time)=1:1:md.timestepping.final_time;59 md.s urfaceforcings.sealev(2,1:md.timestepping.final_time)=1:1:md.timestepping.final_time;58 md.smb.Tdiff(2,1:md.timestepping.final_time)=1:1:md.timestepping.final_time; 59 md.smb.sealev(2,1:md.timestepping.final_time)=1:1:md.timestepping.final_time; 60 60 61 61 % time steps and resolution … … 65 65 66 66 % 67 md.transient.requested_outputs={'default','S urfaceforcingsMonthlytemperatures'};67 md.transient.requested_outputs={'default','SmbMonthlytemperatures'}; 68 68 md=setflowequation(md,'SSA','all'); 69 69 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster … … 71 71 72 72 %Fields and tolerances to track changes 73 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',...74 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',...75 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'};73 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',... 74 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',... 75 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'}; 76 76 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 77 77 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 85 85 (md.results.TransientSolution(1).Surface),... 86 86 (md.results.TransientSolution(1).Thickness),... 87 (md.results.TransientSolution(1).S urfaceforcingsMonthlytemperatures),...88 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...87 (md.results.TransientSolution(1).SmbMonthlytemperatures),... 88 (md.results.TransientSolution(1).SmbMassBalance),... 89 89 (md.results.TransientSolution(2).Vx),... 90 90 (md.results.TransientSolution(2).Vy),... … … 94 94 (md.results.TransientSolution(2).Surface),... 95 95 (md.results.TransientSolution(2).Thickness),... 96 (md.results.TransientSolution(2).S urfaceforcingsMonthlytemperatures),...97 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...96 (md.results.TransientSolution(2).SmbMonthlytemperatures),... 97 (md.results.TransientSolution(2).SmbMassBalance),... 98 98 (md.results.TransientSolution(3).Vx),... 99 99 (md.results.TransientSolution(3).Vy),... … … 103 103 (md.results.TransientSolution(3).Surface),... 104 104 (md.results.TransientSolution(3).Thickness),... 105 (md.results.TransientSolution(3).S urfaceforcingsMonthlytemperatures),...106 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...105 (md.results.TransientSolution(3).SmbMonthlytemperatures),... 106 (md.results.TransientSolution(3).SmbMassBalance),... 107 107 }; -
issm/trunk-jpl/test/NightlyRun/test236.py
r19308 r19527 15 15 16 16 # Use of ispdd and isdelta18o methods 17 md.s urfaceforcings= SMBpdd();18 md.s urfaceforcings.isdelta18o=119 md.s urfaceforcings.ismungsm=017 md.smb = SMBpdd(); 18 md.smb.isdelta18o=1 19 md.smb.ismungsm=0 20 20 21 21 # Add temperature, precipitation and delta18o needed to measure the surface mass balance 22 22 # creating delta18o 23 23 delta18o=numpy.loadtxt('../Data/delta18o.data') 24 md.s urfaceforcings.delta18o=delta18o24 md.smb.delta18o=delta18o 25 25 # creating delta18oSurface 26 md.s urfaceforcings.delta18o_surface = numpy.zeros((2,numpy.size(delta18o,axis=1)))27 md.s urfaceforcings.delta18o_surface[1,:] = delta18o[1,:]26 md.smb.delta18o_surface = numpy.zeros((2,numpy.size(delta18o,axis=1))) 27 md.smb.delta18o_surface[1,:] = delta18o[1,:] 28 28 29 29 # creating Present day and lgm temperatures 30 30 # Same temperature over the all region: 31 31 tmonth=numpy.ones(12)*(238.15+20.) 32 md.s urfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))33 md.s urfaceforcings.temperatures_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))32 md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 33 md.smb.temperatures_lgm=numpy.zeros((md.mesh.numberofvertices+1,12)) 34 34 for imonth in xrange(0,12): 35 md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]36 md.s urfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]-20.35 md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth] 36 md.smb.temperatures_lgm[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]-20. 37 37 # Time for the last line: 38 md.s urfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)39 md.s urfaceforcings.temperatures_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)38 md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 39 md.smb.temperatures_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 40 40 41 41 # creating initialization and spc temperatures initialization and spc 42 md.thermal.spctemperature=numpy.mean(md.s urfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) #-10*ones(md.mesh.numberofvertices,1)42 md.thermal.spctemperature=numpy.mean(md.smb.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) #-10*ones(md.mesh.numberofvertices,1) 43 43 md.thermal.spctemperature=numpy.tile(md.thermal.spctemperature,(1,md.timestepping.final_time/md.timestepping.time_step)) 44 44 itemp=numpy.arange(0,md.timestepping.final_time,md.timestepping.time_step) 45 45 md.thermal.spctemperature=numpy.vstack((md.thermal.spctemperature,itemp.reshape(1,-1))) 46 46 47 md.initialization.temperature=md.s urfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,0] #*ones(md.mesh.numberofvertices,1)48 md.s urfaceforcings.initialize(md)47 md.initialization.temperature=md.smb.temperatures_lgm[0:md.mesh.numberofvertices,0] #*ones(md.mesh.numberofvertices,1) 48 md.smb.initialize(md) 49 49 50 50 # creating precipitation 51 md.s urfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))52 md.s urfaceforcings.precipitations_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))51 md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 52 md.smb.precipitations_lgm=numpy.zeros((md.mesh.numberofvertices+1,12)) 53 53 for imonth in xrange(0,12): 54 md.s urfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.555 md.s urfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)56 md.s urfaceforcings.precipitations_lgm[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.557 md.s urfaceforcings.precipitations_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)54 md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 55 md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 56 md.smb.precipitations_lgm[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 57 md.smb.precipitations_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 58 58 59 59 # Interpolation factors 60 md.s urfaceforcings.Tdiff=0.5*numpy.ones((2,md.timestepping.final_time))61 md.s urfaceforcings.sealev=0.5*numpy.ones((2,md.timestepping.final_time))60 md.smb.Tdiff=0.5*numpy.ones((2,md.timestepping.final_time)) 61 md.smb.sealev=0.5*numpy.ones((2,md.timestepping.final_time)) 62 62 # Year of each data point 63 md.s urfaceforcings.Tdiff[1,1:md.timestepping.final_time]=numpy.arange(1.,md.timestepping.final_time)64 md.s urfaceforcings.sealev[1,1:md.timestepping.final_time]=numpy.arange(1.,md.timestepping.final_time)63 md.smb.Tdiff[1,1:md.timestepping.final_time]=numpy.arange(1.,md.timestepping.final_time) 64 md.smb.sealev[1,1:md.timestepping.final_time]=numpy.arange(1.,md.timestepping.final_time) 65 65 66 66 # time steps and resolution … … 70 70 71 71 # 72 md.transient.requested_outputs=['default','S urfaceforcingsMonthlytemperatures']72 md.transient.requested_outputs=['default','SmbMonthlytemperatures'] 73 73 md=setflowequation(md,'SSA','all') 74 74 md.cluster=generic('name',oshostname(),'np',3) … … 76 76 77 77 #Fields and tolerances to track changes 78 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\79 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\80 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'];78 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\ 79 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\ 80 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']; 81 81 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 82 82 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 90 90 md.results.TransientSolution[0].Surface,\ 91 91 md.results.TransientSolution[0].Thickness,\ 92 md.results.TransientSolution[0].S urfaceforcingsMonthlytemperatures,\93 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\92 md.results.TransientSolution[0].SmbMonthlytemperatures,\ 93 md.results.TransientSolution[0].SmbMassBalance,\ 94 94 md.results.TransientSolution[1].Vx,\ 95 95 md.results.TransientSolution[1].Vy,\ … … 99 99 md.results.TransientSolution[1].Surface,\ 100 100 md.results.TransientSolution[1].Thickness,\ 101 md.results.TransientSolution[1].S urfaceforcingsMonthlytemperatures,\102 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\101 md.results.TransientSolution[1].SmbMonthlytemperatures,\ 102 md.results.TransientSolution[1].SmbMassBalance,\ 103 103 md.results.TransientSolution[2].Vx,\ 104 104 md.results.TransientSolution[2].Vy,\ … … 108 108 md.results.TransientSolution[2].Surface,\ 109 109 md.results.TransientSolution[2].Thickness,\ 110 md.results.TransientSolution[2].S urfaceforcingsMonthlytemperatures,\111 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\110 md.results.TransientSolution[2].SmbMonthlytemperatures,\ 111 md.results.TransientSolution[2].SmbMassBalance,\ 112 112 ] -
issm/trunk-jpl/test/NightlyRun/test237.m
r19308 r19527 7 7 8 8 % Use of ispdd methods 9 md.s urfaceforcings= SMBpdd();10 md.s urfaceforcings.isdelta18o=0;11 md.s urfaceforcings.ismungsm=1;9 md.smb = SMBpdd(); 10 md.smb.isdelta18o=0; 11 md.smb.ismungsm=1; 12 12 13 13 % time steps and resolution … … 20 20 tmonth(1:12)=238.15+20.; 21 21 for imonth=0:11 22 md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1);23 md.s urfaceforcings.temperatures_lgm(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1)-20.;22 md.smb.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1); 23 md.smb.temperatures_lgm(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1)-20.; 24 24 % Time for the last line: 25 md.s urfaceforcings.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);26 md.s urfaceforcings.temperatures_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);25 md.smb.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 26 md.smb.temperatures_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 27 27 end 28 28 29 29 % creating initialization and spc temperatures initialization and spc 30 md.thermal.spctemperature=mean(md.s urfaceforcings.temperatures_lgm(1:md.mesh.numberofvertices,1:12),2); %-10*ones(md.mesh.numberofvertices,1);30 md.thermal.spctemperature=mean(md.smb.temperatures_lgm(1:md.mesh.numberofvertices,1:12),2); %-10*ones(md.mesh.numberofvertices,1); 31 31 md.thermal.spctemperature=repmat(md.thermal.spctemperature,1,md.timestepping.final_time/md.timestepping.time_step); 32 32 itemp=0:md.timestepping.time_step:md.timestepping.final_time-md.timestepping.time_step; 33 33 md.thermal.spctemperature(md.mesh.numberofvertices+1,:)=itemp; 34 34 35 md.initialization.temperature=md.s urfaceforcings.temperatures_lgm(1:md.mesh.numberofvertices,1); %*ones(md.mesh.numberofvertices,1);36 md.s urfaceforcings = initialize(md.surfaceforcings,md);35 md.initialization.temperature=md.smb.temperatures_lgm(1:md.mesh.numberofvertices,1); %*ones(md.mesh.numberofvertices,1); 36 md.smb = initialize(md.smb,md); 37 37 38 38 % creating precipitation 39 39 for imonth=0:11 40 md.s urfaceforcings.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;41 md.s urfaceforcings.precipitations_lgm(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;40 md.smb.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 41 md.smb.precipitations_lgm(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 42 42 % Time for the last line: 43 md.s urfaceforcings.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);44 md.s urfaceforcings.precipitations_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);43 md.smb.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 44 md.smb.precipitations_lgm(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 45 45 end 46 46 47 47 for iint=1:(md.timestepping.final_time/md.timestepping.time_step)+1 48 md.s urfaceforcings.Pfac(1,iint)=0.15*iint;49 md.s urfaceforcings.Tdiff(1,iint)=0.15*iint;50 md.s urfaceforcings.sealev(1,iint)=0.15*iint;48 md.smb.Pfac(1,iint)=0.15*iint; 49 md.smb.Tdiff(1,iint)=0.15*iint; 50 md.smb.sealev(1,iint)=0.15*iint; 51 51 % Year of each data point 52 md.s urfaceforcings.Pfac(2,iint)=(iint-1)*20;53 md.s urfaceforcings.Tdiff(2,iint)=(iint-1)*20;54 md.s urfaceforcings.sealev(2,iint)=(iint-1)*20;52 md.smb.Pfac(2,iint)=(iint-1)*20; 53 md.smb.Tdiff(2,iint)=(iint-1)*20; 54 md.smb.sealev(2,iint)=(iint-1)*20; 55 55 end 56 56 57 57 % 58 md.transient.requested_outputs={'default','S urfaceforcingsMonthlytemperatures'};58 md.transient.requested_outputs={'default','SmbMonthlytemperatures'}; 59 59 md=extrude(md,3,1); 60 60 … … 64 64 65 65 %Fields and tolerances to track changes 66 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',...67 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',...68 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'};66 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','SmbMonthlytemperatures1','SmbMassBalance1',... 67 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','SmbMonthlytemperatures2','SmbMassBalance2',... 68 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','SmbMonthlytemperatures3','SmbMassBalance3'}; 69 69 field_tolerances={... 70 70 1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-8,1e-13,1e-8,1e-13,1e-13,... … … 82 82 (md.results.TransientSolution(1).Temperature),... 83 83 (md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),... 84 (md.results.TransientSolution(1).S urfaceforcingsMonthlytemperatures),...85 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...84 (md.results.TransientSolution(1).SmbMonthlytemperatures),... 85 (md.results.TransientSolution(1).SmbMassBalance),... 86 86 (md.results.TransientSolution(2).Vx),... 87 87 (md.results.TransientSolution(2).Vy),... … … 94 94 (md.results.TransientSolution(2).Temperature),... 95 95 (md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),... 96 (md.results.TransientSolution(2).S urfaceforcingsMonthlytemperatures),...97 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...96 (md.results.TransientSolution(2).SmbMonthlytemperatures),... 97 (md.results.TransientSolution(2).SmbMassBalance),... 98 98 (md.results.TransientSolution(3).Vx),... 99 99 (md.results.TransientSolution(3).Vy),... … … 106 106 (md.results.TransientSolution(3).Temperature),... 107 107 (md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),... 108 (md.results.TransientSolution(3).S urfaceforcingsMonthlytemperatures),...109 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...108 (md.results.TransientSolution(3).SmbMonthlytemperatures),... 109 (md.results.TransientSolution(3).SmbMassBalance),... 110 110 }; -
issm/trunk-jpl/test/NightlyRun/test237.py
r19308 r19527 16 16 17 17 # Use of ispdd and isdelta18o methods 18 md.s urfaceforcings= SMBpdd();19 md.s urfaceforcings.isdelta18o=020 md.s urfaceforcings.ismungsm=118 md.smb = SMBpdd(); 19 md.smb.isdelta18o=0 20 md.smb.ismungsm=1 21 21 22 22 # time steps and resolution … … 28 28 # Same temperature over the all region: 29 29 tmonth=numpy.ones(12)*(238.15+20.) 30 md.s urfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))31 md.s urfaceforcings.temperatures_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))30 md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 31 md.smb.temperatures_lgm=numpy.zeros((md.mesh.numberofvertices+1,12)) 32 32 for imonth in xrange(0,12): 33 md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]34 md.s urfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]-20.33 md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth] 34 md.smb.temperatures_lgm[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]-20. 35 35 # Time for the last line: 36 md.s urfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)37 md.s urfaceforcings.temperatures_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)36 md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 37 md.smb.temperatures_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 38 38 39 39 # creating initialization and spc temperatures initialization and spc 40 md.thermal.spctemperature=numpy.mean(md.s urfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) #-10*ones(md.mesh.numberofvertices,1)40 md.thermal.spctemperature=numpy.mean(md.smb.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) #-10*ones(md.mesh.numberofvertices,1) 41 41 md.thermal.spctemperature=numpy.tile(md.thermal.spctemperature,(1,md.timestepping.final_time/md.timestepping.time_step)) 42 42 itemp=numpy.arange(0,md.timestepping.final_time,md.timestepping.time_step) 43 43 md.thermal.spctemperature=numpy.vstack((md.thermal.spctemperature,itemp.reshape(1,-1))) 44 44 45 md.initialization.temperature=md.s urfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,0].reshape(-1,1) #*ones(md.mesh.numberofvertices,1)46 md.s urfaceforcings.initialize(md)45 md.initialization.temperature=md.smb.temperatures_lgm[0:md.mesh.numberofvertices,0].reshape(-1,1) #*ones(md.mesh.numberofvertices,1) 46 md.smb.initialize(md) 47 47 48 48 # creating precipitation 49 md.s urfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))50 md.s urfaceforcings.precipitations_lgm=numpy.zeros((md.mesh.numberofvertices+1,12))49 md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 50 md.smb.precipitations_lgm=numpy.zeros((md.mesh.numberofvertices+1,12)) 51 51 for imonth in xrange(0,12): 52 md.s urfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.553 md.s urfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)54 md.s urfaceforcings.precipitations_lgm[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.555 md.s urfaceforcings.precipitations_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)52 md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 53 md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 54 md.smb.precipitations_lgm[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 55 md.smb.precipitations_lgm[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 56 56 57 57 fsize=int(md.timestepping.final_time/md.timestepping.time_step)+2 58 md.s urfaceforcings.Pfac=numpy.zeros((2,fsize))59 md.s urfaceforcings.Tdiff=numpy.zeros((2,fsize))60 md.s urfaceforcings.sealev=numpy.zeros((2,fsize))58 md.smb.Pfac=numpy.zeros((2,fsize)) 59 md.smb.Tdiff=numpy.zeros((2,fsize)) 60 md.smb.sealev=numpy.zeros((2,fsize)) 61 61 for iint in xrange(0,fsize): 62 62 # Interpolation factors 63 md.s urfaceforcings.Pfac[0,iint]=0.15*(iint+1)64 md.s urfaceforcings.Tdiff[0,iint]=0.15*(iint+1)65 md.s urfaceforcings.sealev[0,iint]=0.15*(iint+1)63 md.smb.Pfac[0,iint]=0.15*(iint+1) 64 md.smb.Tdiff[0,iint]=0.15*(iint+1) 65 md.smb.sealev[0,iint]=0.15*(iint+1) 66 66 # Year of each data point 67 md.s urfaceforcings.Pfac[1,iint]=(float(iint))*2068 md.s urfaceforcings.Tdiff[1,iint]=(float(iint))*2069 md.s urfaceforcings.sealev[1,iint]=(float(iint))*2067 md.smb.Pfac[1,iint]=(float(iint))*20 68 md.smb.Tdiff[1,iint]=(float(iint))*20 69 md.smb.sealev[1,iint]=(float(iint))*20 70 70 71 71 # 72 md.transient.requested_outputs=['default','S urfaceforcingsMonthlytemperatures']72 md.transient.requested_outputs=['default','SmbMonthlytemperatures'] 73 73 md.extrude(3,1.) 74 74 md=setflowequation(md,'SSA','all') … … 77 77 78 78 #Fields and tolerances to track changes 79 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\80 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\81 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'];79 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','SmbMonthlytemperatures1','SmbMassBalance1',\ 80 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','SmbMonthlytemperatures2','SmbMassBalance2',\ 81 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','SmbMonthlytemperatures3','SmbMassBalance3']; 82 82 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-8,1e-13,1e-8,1e-13,1e-13,\ 83 83 1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-8,1e-13,1e-8,1e-13,1e-13,\ … … 94 94 md.results.TransientSolution[0].Temperature,\ 95 95 md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\ 96 md.results.TransientSolution[0].S urfaceforcingsMonthlytemperatures,\97 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\96 md.results.TransientSolution[0].SmbMonthlytemperatures,\ 97 md.results.TransientSolution[0].SmbMassBalance,\ 98 98 md.results.TransientSolution[1].Vx,\ 99 99 md.results.TransientSolution[1].Vy,\ … … 106 106 md.results.TransientSolution[1].Temperature,\ 107 107 md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\ 108 md.results.TransientSolution[1].S urfaceforcingsMonthlytemperatures,\109 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\108 md.results.TransientSolution[1].SmbMonthlytemperatures,\ 109 md.results.TransientSolution[1].SmbMassBalance,\ 110 110 md.results.TransientSolution[2].Vx,\ 111 111 md.results.TransientSolution[2].Vy,\ … … 118 118 md.results.TransientSolution[2].Temperature,\ 119 119 md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\ 120 md.results.TransientSolution[2].S urfaceforcingsMonthlytemperatures,\121 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\120 md.results.TransientSolution[2].SmbMonthlytemperatures,\ 121 md.results.TransientSolution[2].SmbMassBalance,\ 122 122 ] -
issm/trunk-jpl/test/NightlyRun/test238.m
r19308 r19527 7 7 8 8 % Use of ispdd and isdelta18o methods 9 md.s urfaceforcings= SMBd18opdd();10 md.s urfaceforcings.isd18opd=1;11 %md.s urfaceforcings.precipitation(1:md.mesh.numberofvertices,1:12)=0;12 %md.s urfaceforcings.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273;9 md.smb = SMBd18opdd(); 10 md.smb.isd18opd=1; 11 %md.smb.precipitation(1:md.mesh.numberofvertices,1:12)=0; 12 %md.smb.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273; 13 13 14 14 % Add temperature, precipitation and delta18o needed to measure the surface mass balance 15 15 % creating delta18o 16 16 load '../Data/delta18o.data' 17 md.s urfaceforcings.delta18o=delta18o;17 md.smb.delta18o=delta18o; 18 18 19 19 % creating Present day temperatures … … 21 21 tmonth(1:12)=238.15+20.; 22 22 for imonth=0:11 23 md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1);23 md.smb.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1); 24 24 % Time for the last line: 25 md.s urfaceforcings.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);25 md.smb.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 26 26 end 27 27 28 28 % creating initialization and spc temperatures initialization and 29 29 % spc 30 md.thermal.spctemperature=mean(md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,1:12),2)-10; %-10*ones(md.mesh.numberofvertices,1);31 md.initialization.temperature=md.thermal.spctemperature; %md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,1);30 md.thermal.spctemperature=mean(md.smb.temperatures_presentday(1:md.mesh.numberofvertices,1:12),2)-10; %-10*ones(md.mesh.numberofvertices,1); 31 md.initialization.temperature=md.thermal.spctemperature; %md.smb.temperatures_presentday(1:md.mesh.numberofvertices,1); 32 32 33 33 % creating precipitation 34 34 for imonth=0:11 35 md.s urfaceforcings.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;35 md.smb.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 36 36 % Time for the last line: 37 md.s urfaceforcings.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);37 md.smb.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 38 38 end 39 md.s urfaceforcings = initialize(md.surfaceforcings,md);39 md.smb = initialize(md.smb,md); 40 40 41 41 % time steps and resolution … … 45 45 46 46 % 47 md.transient.requested_outputs={'default','S urfaceforcingsMonthlytemperatures'};47 md.transient.requested_outputs={'default','SmbMonthlytemperatures'}; 48 48 md=setflowequation(md,'SSA','all'); 49 49 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster … … 51 51 52 52 %Fields and tolerances to track changes 53 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',...54 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',...55 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'};53 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',... 54 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',... 55 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'}; 56 56 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 57 57 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 65 65 (md.results.TransientSolution(1).Surface),... 66 66 (md.results.TransientSolution(1).Thickness),... 67 (md.results.TransientSolution(1).S urfaceforcingsMonthlytemperatures),...68 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...67 (md.results.TransientSolution(1).SmbMonthlytemperatures),... 68 (md.results.TransientSolution(1).SmbMassBalance),... 69 69 (md.results.TransientSolution(2).Vx),... 70 70 (md.results.TransientSolution(2).Vy),... … … 74 74 (md.results.TransientSolution(2).Surface),... 75 75 (md.results.TransientSolution(2).Thickness),... 76 (md.results.TransientSolution(2).S urfaceforcingsMonthlytemperatures),...77 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...76 (md.results.TransientSolution(2).SmbMonthlytemperatures),... 77 (md.results.TransientSolution(2).SmbMassBalance),... 78 78 (md.results.TransientSolution(3).Vx),... 79 79 (md.results.TransientSolution(3).Vy),... … … 83 83 (md.results.TransientSolution(3).Surface),... 84 84 (md.results.TransientSolution(3).Thickness),... 85 (md.results.TransientSolution(3).S urfaceforcingsMonthlytemperatures),...86 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...85 (md.results.TransientSolution(3).SmbMonthlytemperatures),... 86 (md.results.TransientSolution(3).SmbMassBalance),... 87 87 }; -
issm/trunk-jpl/test/NightlyRun/test238.py
r19308 r19527 15 15 16 16 # Use of ispdd and isdelta18o methods 17 md.s urfaceforcings= SMBd18opdd();18 md.s urfaceforcings.isd18opd=1;17 md.smb = SMBd18opdd(); 18 md.smb.isd18opd=1; 19 19 20 20 # Add temperature, precipitation and delta18o needed to measure the surface mass balance 21 21 # creating delta18o 22 22 delta18o=numpy.loadtxt('../Data/delta18o.data') 23 md.s urfaceforcings.delta18o=delta18o23 md.smb.delta18o=delta18o 24 24 25 25 # creating Present day temperatures 26 26 # Same temperature over the all region: 27 27 tmonth=numpy.ones(12)*(238.15+20.) 28 md.s urfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))28 md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 29 29 for imonth in xrange(0,12): 30 md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]30 md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth] 31 31 # Time for the last line: 32 md.s urfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)32 md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 33 33 34 34 # creating initialization and spc temperatures initialization and spc 35 md.thermal.spctemperature=numpy.mean(md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)35 md.thermal.spctemperature=numpy.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) 36 36 md.thermal.spctemperature=md.thermal.spctemperature-10 37 37 md.initialization.temperature=md.thermal.spctemperature 38 md.s urfaceforcings.initialize(md)38 md.smb.initialize(md) 39 39 40 40 # creating precipitation 41 md.s urfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))41 md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 42 42 for imonth in xrange(0,12): 43 md.s urfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.544 md.s urfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.)43 md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 44 md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.) 45 45 46 46 # time steps and resolution … … 50 50 51 51 # 52 md.transient.requested_outputs=['default','S urfaceforcingsMonthlytemperatures']52 md.transient.requested_outputs=['default','SmbMonthlytemperatures'] 53 53 md=setflowequation(md,'SSA','all') 54 54 md.cluster=generic('name',oshostname(),'np',3) … … 56 56 57 57 #Fields and tolerances to track changes 58 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\59 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\60 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'];58 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\ 59 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\ 60 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']; 61 61 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 62 62 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 70 70 md.results.TransientSolution[0].Surface,\ 71 71 md.results.TransientSolution[0].Thickness,\ 72 md.results.TransientSolution[0].S urfaceforcingsMonthlytemperatures,\73 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\72 md.results.TransientSolution[0].SmbMonthlytemperatures,\ 73 md.results.TransientSolution[0].SmbMassBalance,\ 74 74 md.results.TransientSolution[1].Vx,\ 75 75 md.results.TransientSolution[1].Vy,\ … … 79 79 md.results.TransientSolution[1].Surface,\ 80 80 md.results.TransientSolution[1].Thickness,\ 81 md.results.TransientSolution[1].S urfaceforcingsMonthlytemperatures,\82 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\81 md.results.TransientSolution[1].SmbMonthlytemperatures,\ 82 md.results.TransientSolution[1].SmbMassBalance,\ 83 83 md.results.TransientSolution[2].Vx,\ 84 84 md.results.TransientSolution[2].Vy,\ … … 88 88 md.results.TransientSolution[2].Surface,\ 89 89 md.results.TransientSolution[2].Thickness,\ 90 md.results.TransientSolution[2].S urfaceforcingsMonthlytemperatures,\91 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\90 md.results.TransientSolution[2].SmbMonthlytemperatures,\ 91 md.results.TransientSolution[2].SmbMassBalance,\ 92 92 ] -
issm/trunk-jpl/test/NightlyRun/test239.m
r19308 r19527 7 7 8 8 % Use of ispdd and isdelta18o methods 9 md.s urfaceforcings= SMBd18opdd();10 md.s urfaceforcings.isd18opd=1;11 %md.s urfaceforcings.precipitation(1:md.mesh.numberofvertices,1:12)=0;12 %md.s urfaceforcings.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273;9 md.smb = SMBd18opdd(); 10 md.smb.isd18opd=1; 11 %md.smb.precipitation(1:md.mesh.numberofvertices,1:12)=0; 12 %md.smb.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273; 13 13 14 14 % Add temperature, precipitation and delta18o needed to measure the surface mass balance 15 15 % creating delta18o 16 16 load '../Data/delta18o.data' 17 md.s urfaceforcings.delta18o=delta18o;17 md.smb.delta18o=delta18o; 18 18 19 19 % creating Present day temperatures … … 21 21 tmonth(1:12)=238.15+20.; 22 22 for imonth=0:11 23 md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1);23 md.smb.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1); 24 24 % Time for the last line: 25 md.s urfaceforcings.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);25 md.smb.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 26 26 end 27 27 28 28 % creating initialization and spc temperatures initialization and 29 29 % spc 30 md.thermal.spctemperature=mean(md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,1:12),2)-10; %-10*ones(md.mesh.numberofvertices,1);30 md.thermal.spctemperature=mean(md.smb.temperatures_presentday(1:md.mesh.numberofvertices,1:12),2)-10; %-10*ones(md.mesh.numberofvertices,1); 31 31 32 md.initialization.temperature=md.thermal.spctemperature; %md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,1);32 md.initialization.temperature=md.thermal.spctemperature; %md.smb.temperatures_presentday(1:md.mesh.numberofvertices,1); 33 33 34 34 % creating precipitation 35 35 for imonth=0:11 36 md.s urfaceforcings.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;36 md.smb.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 37 37 % Time for the last line: 38 md.s urfaceforcings.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);38 md.smb.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 39 39 end 40 md.s urfaceforcings = initialize(md.surfaceforcings,md);40 md.smb = initialize(md.smb,md); 41 41 42 42 % time steps and resolution … … 46 46 47 47 % 48 md.transient.requested_outputs={'default','S urfaceforcingsMonthlytemperatures'};48 md.transient.requested_outputs={'default','SmbMonthlytemperatures'}; 49 49 md=setflowequation(md,'SSA','all'); 50 50 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster … … 52 52 53 53 %Fields and tolerances to track changes 54 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',...55 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',...56 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'};54 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',... 55 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',... 56 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'}; 57 57 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 58 58 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 66 66 (md.results.TransientSolution(1).Surface),... 67 67 (md.results.TransientSolution(1).Thickness),... 68 (md.results.TransientSolution(1).S urfaceforcingsMonthlytemperatures),...69 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...68 (md.results.TransientSolution(1).SmbMonthlytemperatures),... 69 (md.results.TransientSolution(1).SmbMassBalance),... 70 70 (md.results.TransientSolution(2).Vx),... 71 71 (md.results.TransientSolution(2).Vy),... … … 75 75 (md.results.TransientSolution(2).Surface),... 76 76 (md.results.TransientSolution(2).Thickness),... 77 (md.results.TransientSolution(2).S urfaceforcingsMonthlytemperatures),...78 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...77 (md.results.TransientSolution(2).SmbMonthlytemperatures),... 78 (md.results.TransientSolution(2).SmbMassBalance),... 79 79 (md.results.TransientSolution(3).Vx),... 80 80 (md.results.TransientSolution(3).Vy),... … … 84 84 (md.results.TransientSolution(3).Surface),... 85 85 (md.results.TransientSolution(3).Thickness),... 86 (md.results.TransientSolution(3).S urfaceforcingsMonthlytemperatures),...87 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...86 (md.results.TransientSolution(3).SmbMonthlytemperatures),... 87 (md.results.TransientSolution(3).SmbMassBalance),... 88 88 }; -
issm/trunk-jpl/test/NightlyRun/test239.py
r19308 r19527 15 15 16 16 # Use of ispdd and isdelta18o methods 17 md.s urfaceforcings= SMBd18opdd();18 md.s urfaceforcings.isd18opd=1;17 md.smb = SMBd18opdd(); 18 md.smb.isd18opd=1; 19 19 20 20 # Add temperature, precipitation and delta18o needed to measure the surface mass balance 21 21 # creating delta18o 22 22 delta18o=numpy.loadtxt('../Data/delta18o.data') 23 md.s urfaceforcings.delta18o=delta18o23 md.smb.delta18o=delta18o 24 24 25 25 # creating Present day temperatures 26 26 # Same temperature over the all region: 27 27 tmonth=numpy.ones(12)*(238.15+20.) 28 md.s urfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))28 md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 29 29 for imonth in xrange(0,12): 30 md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]30 md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth] 31 31 # Time for the last line: 32 md.s urfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.)32 md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.) 33 33 34 34 # creating initialization and spc temperatures initialization and spc 35 md.thermal.spctemperature=numpy.mean(md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)35 md.thermal.spctemperature=numpy.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) 36 36 md.thermal.spctemperature=md.thermal.spctemperature-10 37 37 md.initialization.temperature=md.thermal.spctemperature 38 md.s urfaceforcings.initialize(md)38 md.smb.initialize(md) 39 39 40 40 # creating precipitation 41 md.s urfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))41 md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 42 42 for imonth in xrange(0,12): 43 md.s urfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.544 md.s urfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)43 md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 44 md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 45 45 46 46 # time steps and resolution … … 50 50 51 51 # 52 md.transient.requested_outputs=['default','S urfaceforcingsMonthlytemperatures']52 md.transient.requested_outputs=['default','SmbMonthlytemperatures'] 53 53 md=setflowequation(md,'SSA','all') 54 54 md.cluster=generic('name',oshostname(),'np',3) … … 56 56 57 57 #Fields and tolerances to track changes 58 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\59 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\60 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'];58 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\ 59 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\ 60 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']; 61 61 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 62 62 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 70 70 md.results.TransientSolution[0].Surface,\ 71 71 md.results.TransientSolution[0].Thickness,\ 72 md.results.TransientSolution[0].S urfaceforcingsMonthlytemperatures,\73 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\72 md.results.TransientSolution[0].SmbMonthlytemperatures,\ 73 md.results.TransientSolution[0].SmbMassBalance,\ 74 74 md.results.TransientSolution[1].Vx,\ 75 75 md.results.TransientSolution[1].Vy,\ … … 79 79 md.results.TransientSolution[1].Surface,\ 80 80 md.results.TransientSolution[1].Thickness,\ 81 md.results.TransientSolution[1].S urfaceforcingsMonthlytemperatures,\82 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\81 md.results.TransientSolution[1].SmbMonthlytemperatures,\ 82 md.results.TransientSolution[1].SmbMassBalance,\ 83 83 md.results.TransientSolution[2].Vx,\ 84 84 md.results.TransientSolution[2].Vy,\ … … 88 88 md.results.TransientSolution[2].Surface,\ 89 89 md.results.TransientSolution[2].Thickness,\ 90 md.results.TransientSolution[2].S urfaceforcingsMonthlytemperatures,\91 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\90 md.results.TransientSolution[2].SmbMonthlytemperatures,\ 91 md.results.TransientSolution[2].SmbMassBalance,\ 92 92 ] -
issm/trunk-jpl/test/NightlyRun/test240.m
r19308 r19527 7 7 8 8 % Use of ispdd and isdelta18o methods 9 md.s urfaceforcings= SMBd18opdd();10 md.s urfaceforcings.isd18opd=1;11 %md.s urfaceforcings.precipitation(1:md.mesh.numberofvertices,1:12)=0;12 %md.s urfaceforcings.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273;9 md.smb = SMBd18opdd(); 10 md.smb.isd18opd=1; 11 %md.smb.precipitation(1:md.mesh.numberofvertices,1:12)=0; 12 %md.smb.monthlytemperatures(1:md.mesh.numberofvertices,1:12)=273; 13 13 14 14 % Add temperature, precipitation and delta18o needed to measure the surface mass balance 15 15 % creating delta18o 16 16 load '../Data/delta18o.data' 17 md.s urfaceforcings.delta18o=delta18o;17 md.smb.delta18o=delta18o; 18 18 19 19 % creating Present day temperatures … … 21 21 tmonth(1:12)=238.15+20.; 22 22 for imonth=0:11 23 md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1);23 md.smb.temperatures_presentday(1:md.mesh.numberofvertices,imonth+1)=tmonth(imonth+1); 24 24 % Time for the last line: 25 md.s urfaceforcings.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);25 md.smb.temperatures_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 26 26 end 27 md.s urfaceforcings = initialize(md.surfaceforcings,md);27 md.smb = initialize(md.smb,md); 28 28 29 29 % creating initialization and spc temperatures initialization and 30 30 % spc 31 md.thermal.spctemperature=mean(md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,1:12),2)-10; %-10*ones(md.mesh.numberofvertices,1);32 md.initialization.temperature=md.thermal.spctemperature; %md.s urfaceforcings.temperatures_presentday(1:md.mesh.numberofvertices,1);31 md.thermal.spctemperature=mean(md.smb.temperatures_presentday(1:md.mesh.numberofvertices,1:12),2)-10; %-10*ones(md.mesh.numberofvertices,1); 32 md.initialization.temperature=md.thermal.spctemperature; %md.smb.temperatures_presentday(1:md.mesh.numberofvertices,1); 33 33 34 34 % creating precipitation 35 35 for imonth=0:11 36 md.s urfaceforcings.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5;36 md.smb.precipitations_presentday(1:md.mesh.numberofvertices,imonth+1)=-0.4*10^(-6)*md.mesh.y+0.5; 37 37 % Time for the last line: 38 md.s urfaceforcings.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12);38 md.smb.precipitations_presentday(md.mesh.numberofvertices+1,imonth+1)=((imonth+1)/12); 39 39 end 40 40 … … 46 46 47 47 % 48 md.transient.requested_outputs={'default','S urfaceforcingsMonthlytemperatures'};48 md.transient.requested_outputs={'default','SmbMonthlytemperatures'}; 49 49 md=setflowequation(md,'SSA','all'); 50 50 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster … … 52 52 53 53 %Fields and tolerances to track changes 54 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',...55 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',...56 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'};54 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',... 55 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',... 56 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3'}; 57 57 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 58 58 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... … … 66 66 (md.results.TransientSolution(1).Surface),... 67 67 (md.results.TransientSolution(1).Thickness),... 68 (md.results.TransientSolution(1).S urfaceforcingsMonthlytemperatures),...69 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...68 (md.results.TransientSolution(1).SmbMonthlytemperatures),... 69 (md.results.TransientSolution(1).SmbMassBalance),... 70 70 (md.results.TransientSolution(2).Vx),... 71 71 (md.results.TransientSolution(2).Vy),... … … 75 75 (md.results.TransientSolution(2).Surface),... 76 76 (md.results.TransientSolution(2).Thickness),... 77 (md.results.TransientSolution(2).S urfaceforcingsMonthlytemperatures),...78 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...77 (md.results.TransientSolution(2).SmbMonthlytemperatures),... 78 (md.results.TransientSolution(2).SmbMassBalance),... 79 79 (md.results.TransientSolution(3).Vx),... 80 80 (md.results.TransientSolution(3).Vy),... … … 84 84 (md.results.TransientSolution(3).Surface),... 85 85 (md.results.TransientSolution(3).Thickness),... 86 (md.results.TransientSolution(3).S urfaceforcingsMonthlytemperatures),...87 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...86 (md.results.TransientSolution(3).SmbMonthlytemperatures),... 87 (md.results.TransientSolution(3).SmbMassBalance),... 88 88 }; -
issm/trunk-jpl/test/NightlyRun/test240.py
r19308 r19527 15 15 16 16 # Use of ispdd and isdelta18o methods 17 md.s urfaceforcings= SMBd18opdd();18 md.s urfaceforcings.isd18opd=1;17 md.smb = SMBd18opdd(); 18 md.smb.isd18opd=1; 19 19 20 20 # Add temperature, precipitation and delta18o needed to measure the surface mass balance 21 21 # creating delta18o 22 22 delta18o=numpy.loadtxt('../Data/delta18o.data') 23 md.s urfaceforcings.delta18o=delta18o23 md.smb.delta18o=delta18o 24 24 25 25 # creating Present day temperatures 26 26 # Same temperature over the all region: 27 27 tmonth=numpy.ones(12)*(238.15+20.) 28 md.s urfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))28 md.smb.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 29 29 for imonth in xrange(0,12): 30 md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]30 md.smb.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth] 31 31 # Time for the last line: 32 md.s urfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.)32 md.smb.temperatures_presentday[md.mesh.numberofvertices,imonth]=(float(imonth)/12.) 33 33 34 34 # creating initialization and spc temperatures initialization and spc 35 md.thermal.spctemperature=numpy.mean(md.s urfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)35 md.thermal.spctemperature=numpy.mean(md.smb.temperatures_presentday[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1) 36 36 md.thermal.spctemperature=md.thermal.spctemperature-10 37 37 md.initialization.temperature=md.thermal.spctemperature 38 md.s urfaceforcings.initialize(md)38 md.smb.initialize(md) 39 39 40 40 # creating precipitation 41 md.s urfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))41 md.smb.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12)) 42 42 for imonth in xrange(0,12): 43 md.s urfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.544 md.s urfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)43 md.smb.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5 44 md.smb.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.) 45 45 46 46 # time steps and resolution … … 51 51 52 52 # 53 md.transient.requested_outputs=['default','S urfaceforcingsMonthlytemperatures']53 md.transient.requested_outputs=['default','SmbMonthlytemperatures'] 54 54 md=setflowequation(md,'SSA','all') 55 55 md.cluster=generic('name',oshostname(),'np',3) … … 57 57 58 58 #Fields and tolerances to track changes 59 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\60 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\61 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3'];59 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMonthlytemperatures1','SmbMassBalance1',\ 60 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMonthlytemperatures2','SmbMassBalance2',\ 61 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMonthlytemperatures3','SmbMassBalance3']; 62 62 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ 63 63 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\ … … 71 71 md.results.TransientSolution[0].Surface,\ 72 72 md.results.TransientSolution[0].Thickness,\ 73 md.results.TransientSolution[0].S urfaceforcingsMonthlytemperatures,\74 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\73 md.results.TransientSolution[0].SmbMonthlytemperatures,\ 74 md.results.TransientSolution[0].SmbMassBalance,\ 75 75 md.results.TransientSolution[1].Vx,\ 76 76 md.results.TransientSolution[1].Vy,\ … … 80 80 md.results.TransientSolution[1].Surface,\ 81 81 md.results.TransientSolution[1].Thickness,\ 82 md.results.TransientSolution[1].S urfaceforcingsMonthlytemperatures,\83 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\82 md.results.TransientSolution[1].SmbMonthlytemperatures,\ 83 md.results.TransientSolution[1].SmbMassBalance,\ 84 84 md.results.TransientSolution[2].Vx,\ 85 85 md.results.TransientSolution[2].Vy,\ … … 89 89 md.results.TransientSolution[2].Surface,\ 90 90 md.results.TransientSolution[2].Thickness,\ 91 md.results.TransientSolution[2].S urfaceforcingsMonthlytemperatures,\92 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\91 md.results.TransientSolution[2].SmbMonthlytemperatures,\ 92 md.results.TransientSolution[2].SmbMassBalance,\ 93 93 ] -
issm/trunk-jpl/test/NightlyRun/test241.m
r19243 r19527 15 15 smb=[ smb smb*-1. ]; 16 16 17 md.s urfaceforcings.mass_balance=smb;18 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3.];17 md.smb.mass_balance=smb; 18 md.smb.mass_balance(end+1,:)=[1.5 3.]; 19 19 md.transient.isthermal=0; 20 20 … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...25 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...26 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...27 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};24 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 25 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 26 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 27 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 28 28 field_tolerances={1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... 29 29 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 38 38 (md.results.TransientSolution(1).Surface),... 39 39 (md.results.TransientSolution(1).Thickness),... 40 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...40 (md.results.TransientSolution(1).SmbMassBalance),... 41 41 (md.results.TransientSolution(2).Vx),... 42 42 (md.results.TransientSolution(2).Vy),... … … 46 46 (md.results.TransientSolution(2).Surface),... 47 47 (md.results.TransientSolution(2).Thickness),... 48 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...48 (md.results.TransientSolution(2).SmbMassBalance),... 49 49 (md.results.TransientSolution(3).Vx),... 50 50 (md.results.TransientSolution(3).Vy),... … … 54 54 (md.results.TransientSolution(3).Surface),... 55 55 (md.results.TransientSolution(3).Thickness),... 56 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...56 (md.results.TransientSolution(3).SmbMassBalance),... 57 57 (md.results.TransientSolution(4).Vx),... 58 58 (md.results.TransientSolution(4).Vy),... … … 62 62 (md.results.TransientSolution(4).Surface),... 63 63 (md.results.TransientSolution(4).Thickness),... 64 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...64 (md.results.TransientSolution(4).SmbMassBalance),... 65 65 }; -
issm/trunk-jpl/test/NightlyRun/test241.py
r19246 r19527 25 25 smb=numpy.hstack((smb,smb*-1.)) 26 26 27 md.s urfaceforcings.mass_balance=numpy.vstack((smb,[1.5,3.]))27 md.smb.mass_balance=numpy.vstack((smb,[1.5,3.])) 28 28 md.transient.isthermal=False 29 29 … … 31 31 32 32 #Fields and tolerances to track changes 33 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \34 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \35 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \36 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']33 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 34 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 35 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 36 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 37 37 field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ 38 38 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 47 47 md.results.TransientSolution[0].Surface,\ 48 48 md.results.TransientSolution[0].Thickness,\ 49 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\49 md.results.TransientSolution[0].SmbMassBalance,\ 50 50 md.results.TransientSolution[1].Vx,\ 51 51 md.results.TransientSolution[1].Vy,\ … … 55 55 md.results.TransientSolution[1].Surface,\ 56 56 md.results.TransientSolution[1].Thickness,\ 57 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\57 md.results.TransientSolution[1].SmbMassBalance,\ 58 58 md.results.TransientSolution[2].Vx,\ 59 59 md.results.TransientSolution[2].Vy,\ … … 63 63 md.results.TransientSolution[2].Surface,\ 64 64 md.results.TransientSolution[2].Thickness,\ 65 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\65 md.results.TransientSolution[2].SmbMassBalance,\ 66 66 md.results.TransientSolution[3].Vx,\ 67 67 md.results.TransientSolution[3].Vy,\ … … 71 71 md.results.TransientSolution[3].Surface,\ 72 72 md.results.TransientSolution[3].Thickness,\ 73 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\73 md.results.TransientSolution[3].SmbMassBalance,\ 74 74 ] -
issm/trunk-jpl/test/NightlyRun/test242.m
r19243 r19527 16 16 smb=[ smb smb*-1. ]; 17 17 18 md.s urfaceforcings.mass_balance=smb;19 md.s urfaceforcings.mass_balance(end+1,:)=[1.5 3.];18 md.smb.mass_balance=smb; 19 md.smb.mass_balance(end+1,:)=[1.5 3.]; 20 20 md.transient.isthermal=0; 21 21 … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...26 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...27 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...28 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassbalance4'};25 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 26 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 27 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 28 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4'}; 29 29 field_tolerances={... 30 30 1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,... … … 41 41 (md.results.TransientSolution(1).Surface),... 42 42 (md.results.TransientSolution(1).Thickness),... 43 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...43 (md.results.TransientSolution(1).SmbMassBalance),... 44 44 (md.results.TransientSolution(2).Vx),... 45 45 (md.results.TransientSolution(2).Vy),... … … 50 50 (md.results.TransientSolution(2).Surface),... 51 51 (md.results.TransientSolution(2).Thickness),... 52 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...52 (md.results.TransientSolution(2).SmbMassBalance),... 53 53 (md.results.TransientSolution(3).Vx),... 54 54 (md.results.TransientSolution(3).Vy),... … … 59 59 (md.results.TransientSolution(3).Surface),... 60 60 (md.results.TransientSolution(3).Thickness),... 61 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...61 (md.results.TransientSolution(3).SmbMassBalance),... 62 62 (md.results.TransientSolution(4).Vx),... 63 63 (md.results.TransientSolution(4).Vy),... … … 68 68 (md.results.TransientSolution(4).Surface),... 69 69 (md.results.TransientSolution(4).Thickness),... 70 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...70 (md.results.TransientSolution(4).SmbMassBalance),... 71 71 }; -
issm/trunk-jpl/test/NightlyRun/test242.py
r19246 r19527 26 26 smb=numpy.hstack((smb,smb*-1.)) 27 27 28 md.s urfaceforcings.mass_balance=numpy.vstack((smb,[1.5,3.]))28 md.smb.mass_balance=numpy.vstack((smb,[1.5,3.])) 29 29 md.transient.isthermal=False 30 30 … … 32 32 33 33 #Fields and tolerances to track changes 34 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \35 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \36 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \37 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassbalance4']34 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 35 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 36 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 37 'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassbalance4'] 38 38 field_tolerances=[\ 39 39 1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-13,\ … … 50 50 md.results.TransientSolution[0].Surface,\ 51 51 md.results.TransientSolution[0].Thickness,\ 52 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\52 md.results.TransientSolution[0].SmbMassBalance,\ 53 53 md.results.TransientSolution[1].Vx,\ 54 54 md.results.TransientSolution[1].Vy,\ … … 59 59 md.results.TransientSolution[1].Surface,\ 60 60 md.results.TransientSolution[1].Thickness,\ 61 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\61 md.results.TransientSolution[1].SmbMassBalance,\ 62 62 md.results.TransientSolution[2].Vx,\ 63 63 md.results.TransientSolution[2].Vy,\ … … 68 68 md.results.TransientSolution[2].Surface,\ 69 69 md.results.TransientSolution[2].Thickness,\ 70 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\70 md.results.TransientSolution[2].SmbMassBalance,\ 71 71 md.results.TransientSolution[3].Vx,\ 72 72 md.results.TransientSolution[3].Vy,\ … … 77 77 md.results.TransientSolution[3].Surface,\ 78 78 md.results.TransientSolution[3].Thickness,\ 79 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\79 md.results.TransientSolution[3].SmbMassBalance,\ 80 80 ] -
issm/trunk-jpl/test/NightlyRun/test3009.m
r19049 r19527 8 8 md.transient.isstressbalance=0; 9 9 md.transient.ismasstransport=0; 10 md.transient.issmb=0; 10 11 md.transient.isthermal=1; 11 12 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test3009.py
r19049 r19527 17 17 md.transient.isstressbalance=False 18 18 md.transient.ismasstransport=False 19 md.transient.issmb=False 19 20 md.transient.isthermal=True 20 21 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test3109.m
r19049 r19527 8 8 md.transient.isstressbalance=0; 9 9 md.transient.ismasstransport=0; 10 md.transient.issmb=0; 10 11 md.transient.isthermal=1; 11 12 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test3109.py
r19049 r19527 17 17 md.transient.isstressbalance=False 18 18 md.transient.ismasstransport=False 19 md.transient.issmb=False 19 20 md.transient.isthermal=True 20 21 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test313.m
r19049 r19527 9 9 md.transient.isstressbalance=0; 10 10 md.transient.ismasstransport=0; 11 md.transient.issmb=0; 11 12 md.transient.isthermal=1; 12 13 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test313.py
r19049 r19527 18 18 md.transient.isstressbalance=False 19 19 md.transient.ismasstransport=False 20 md.transient.issmb=False 20 21 md.transient.isthermal=True 21 22 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test326.m
r19049 r19527 10 10 md.transient.isstressbalance=0; 11 11 md.transient.ismasstransport=0; 12 md.transient.issmb=0; 12 13 md.transient.isthermal=1; 13 14 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test326.py
r19049 r19527 20 20 md.transient.isstressbalance=False 21 21 md.transient.ismasstransport=False 22 md.transient.issmb=False 22 23 md.transient.isthermal=True 23 24 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test328.m
r19049 r19527 4 4 md=parameterize(md,'../Par/SquareSheetConstrained.par'); 5 5 md=setflowequation(md,'SSA','all'); 6 md.s urfaceforcings= SMBgradients();7 md.s urfaceforcings.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y;8 md.s urfaceforcings.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y;9 md.s urfaceforcings.href=md.geometry.surface;10 md.s urfaceforcings.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;6 md.smb = SMBgradients(); 7 md.smb.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y; 8 md.smb.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y; 9 md.smb.href=md.geometry.surface; 10 md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y; 11 11 md.transient.requested_outputs={'default','TotalSmb'}; 12 12 md.cluster=generic('name',oshostname(),'np',3); … … 23 23 (md.results.TransientSolution(1).Surface),... 24 24 (md.results.TransientSolution(1).Thickness),... 25 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...25 (md.results.TransientSolution(1).SmbMassBalance),... 26 26 (md.results.TransientSolution(1).TotalSmb),... 27 27 (md.results.TransientSolution(2).Vx),... … … 32 32 (md.results.TransientSolution(2).Thickness),... 33 33 (md.results.TransientSolution(2).TotalSmb),... 34 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...34 (md.results.TransientSolution(2).SmbMassBalance),... 35 35 (md.results.TransientSolution(3).Vx),... 36 36 (md.results.TransientSolution(3).Vy),... … … 39 39 (md.results.TransientSolution(3).Surface),... 40 40 (md.results.TransientSolution(3).Thickness),... 41 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...41 (md.results.TransientSolution(3).SmbMassBalance),... 42 42 (md.results.TransientSolution(3).TotalSmb),... 43 43 }; -
issm/trunk-jpl/test/NightlyRun/test328.py
r19049 r19527 15 15 md=parameterize(md,'../Par/SquareSheetConstrained.py') 16 16 md=setflowequation(md,'SSA','all') 17 md.s urfaceforcings= SMBgradients();18 md.s urfaceforcings.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y19 md.s urfaceforcings.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y17 md.smb = SMBgradients(); 18 md.smb.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y 19 md.smb.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y 20 20 md.transient.requested_outputs=['default','TotalSmb'] 21 md.s urfaceforcings.href=copy.deepcopy(md.geometry.surface).reshape(-1)22 md.s urfaceforcings.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;21 md.smb.href=copy.deepcopy(md.geometry.surface).reshape(-1) 22 md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y; 23 23 md.cluster=generic('name',oshostname(),'np',3) 24 24 md=solve(md,TransientSolutionEnum()) … … 34 34 md.results.TransientSolution[0].Surface,\ 35 35 md.results.TransientSolution[0].Thickness,\ 36 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\36 md.results.TransientSolution[0].SmbMassBalance,\ 37 37 md.results.TransientSolution[0].TotalSmb,\ 38 38 md.results.TransientSolution[1].Vx,\ … … 43 43 md.results.TransientSolution[1].Thickness,\ 44 44 md.results.TransientSolution[1].TotalSmb,\ 45 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\45 md.results.TransientSolution[1].SmbMassBalance,\ 46 46 md.results.TransientSolution[2].Vx,\ 47 47 md.results.TransientSolution[2].Vy,\ … … 50 50 md.results.TransientSolution[2].Surface,\ 51 51 md.results.TransientSolution[2].Thickness,\ 52 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\52 md.results.TransientSolution[2].SmbMassBalance,\ 53 53 md.results.TransientSolution[2].TotalSmb,\ 54 54 ] -
issm/trunk-jpl/test/NightlyRun/test329.m
r19049 r19527 5 5 md=extrude(md,3,1.); 6 6 md=setflowequation(md,'HO','all'); 7 md.s urfaceforcings= SMBgradients();8 md.s urfaceforcings.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y;9 md.s urfaceforcings.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y;10 md.s urfaceforcings.href=md.geometry.surface;11 md.s urfaceforcings.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;7 md.smb = SMBgradients(); 8 md.smb.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y; 9 md.smb.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y; 10 md.smb.href=md.geometry.surface; 11 md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y; 12 12 md.transient.requested_outputs={'default','TotalSmb'}; 13 13 md.cluster=generic('name',oshostname(),'np',3); … … 28 28 (md.results.TransientSolution(1).Thickness),... 29 29 (md.results.TransientSolution(1).Temperature),... 30 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...30 (md.results.TransientSolution(1).SmbMassBalance),... 31 31 (md.results.TransientSolution(1).TotalSmb),... 32 32 (md.results.TransientSolution(2).Vx),... … … 38 38 (md.results.TransientSolution(2).Thickness),... 39 39 (md.results.TransientSolution(2).Temperature),... 40 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...40 (md.results.TransientSolution(2).SmbMassBalance),... 41 41 (md.results.TransientSolution(2).TotalSmb),... 42 42 (md.results.TransientSolution(3).Vx),... … … 48 48 (md.results.TransientSolution(3).Thickness),... 49 49 (md.results.TransientSolution(3).Temperature),... 50 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...50 (md.results.TransientSolution(3).SmbMassBalance),... 51 51 (md.results.TransientSolution(3).TotalSmb),... 52 52 }; -
issm/trunk-jpl/test/NightlyRun/test329.py
r19049 r19527 16 16 md.extrude(3,1) 17 17 md=setflowequation(md,'HO','all') 18 md.s urfaceforcings= SMBgradients();19 md.s urfaceforcings.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y20 md.s urfaceforcings.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y21 md.s urfaceforcings.href=copy.deepcopy(md.geometry.surface).reshape(-1)22 md.s urfaceforcings.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;18 md.smb = SMBgradients(); 19 md.smb.b_pos=-100. + 0.00005*md.mesh.x - 0.0001*md.mesh.y 20 md.smb.b_neg=250. + 0.000051*md.mesh.x - 0.00011*md.mesh.y 21 md.smb.href=copy.deepcopy(md.geometry.surface).reshape(-1) 22 md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y; 23 23 md.transient.requested_outputs=['default','TotalSmb'] 24 24 md.cluster=generic('name',oshostname(),'np',3) … … 39 39 md.results.TransientSolution[0].Thickness,\ 40 40 md.results.TransientSolution[0].Temperature,\ 41 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\41 md.results.TransientSolution[0].SmbMassBalance,\ 42 42 md.results.TransientSolution[0].TotalSmb,\ 43 43 md.results.TransientSolution[1].Vx,\ … … 49 49 md.results.TransientSolution[1].Thickness,\ 50 50 md.results.TransientSolution[1].Temperature,\ 51 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\51 md.results.TransientSolution[1].SmbMassBalance,\ 52 52 md.results.TransientSolution[1].TotalSmb,\ 53 53 md.results.TransientSolution[2].Vx,\ … … 59 59 md.results.TransientSolution[2].Thickness,\ 60 60 md.results.TransientSolution[2].Temperature,\ 61 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\61 md.results.TransientSolution[2].SmbMassBalance,\ 62 62 md.results.TransientSolution[2].TotalSmb,\ 63 63 ] -
issm/trunk-jpl/test/NightlyRun/test336.m
r19049 r19527 14 14 smb=[ smb smb*-1. ]; 15 15 16 md.s urfaceforcings=SMBcomponents();17 md.s urfaceforcings.accumulation=[smb*2; [1.5 3.]];18 md.s urfaceforcings.runoff=[smb/2; [1.5 3.]];19 md.s urfaceforcings.evaporation=[smb/2; [1.5 3.]];16 md.smb=SMBcomponents(); 17 md.smb.accumulation=[smb*2; [1.5 3.]]; 18 md.smb.runoff=[smb/2; [1.5 3.]]; 19 md.smb.evaporation=[smb/2; [1.5 3.]]; 20 20 md.transient.isthermal=0; 21 21 … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...26 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...27 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...28 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};25 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 26 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 27 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 28 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 29 29 field_tolerances={1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... 30 30 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 39 39 (md.results.TransientSolution(1).Surface),... 40 40 (md.results.TransientSolution(1).Thickness),... 41 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...41 (md.results.TransientSolution(1).SmbMassBalance),... 42 42 (md.results.TransientSolution(2).Vx),... 43 43 (md.results.TransientSolution(2).Vy),... … … 47 47 (md.results.TransientSolution(2).Surface),... 48 48 (md.results.TransientSolution(2).Thickness),... 49 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...49 (md.results.TransientSolution(2).SmbMassBalance),... 50 50 (md.results.TransientSolution(3).Vx),... 51 51 (md.results.TransientSolution(3).Vy),... … … 55 55 (md.results.TransientSolution(3).Surface),... 56 56 (md.results.TransientSolution(3).Thickness),... 57 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...57 (md.results.TransientSolution(3).SmbMassBalance),... 58 58 (md.results.TransientSolution(4).Vx),... 59 59 (md.results.TransientSolution(4).Vy),... … … 63 63 (md.results.TransientSolution(4).Surface),... 64 64 (md.results.TransientSolution(4).Thickness),... 65 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...65 (md.results.TransientSolution(4).SmbMassBalance),... 66 66 }; -
issm/trunk-jpl/test/NightlyRun/test336.py
r19049 r19527 24 24 smb=numpy.hstack((smb,smb*-1.)) 25 25 26 md.s urfaceforcings=SMBcomponents();27 md.s urfaceforcings.accumulation=numpy.vstack((smb*2, [1.5,3.]));28 md.s urfaceforcings.runoff=numpy.vstack((smb/2, [1.5,3.]));29 md.s urfaceforcings.evaporation=numpy.vstack((smb/2, [1.5,3.]));26 md.smb=SMBcomponents(); 27 md.smb.accumulation=numpy.vstack((smb*2, [1.5,3.])); 28 md.smb.runoff=numpy.vstack((smb/2, [1.5,3.])); 29 md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.])); 30 30 md.transient.isthermal=False 31 31 … … 33 33 34 34 #Fields and tolerances to track changes 35 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \36 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \37 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \38 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']35 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 36 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 37 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 38 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 39 39 field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ 40 40 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 49 49 md.results.TransientSolution[0].Surface,\ 50 50 md.results.TransientSolution[0].Thickness,\ 51 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\51 md.results.TransientSolution[0].SmbMassBalance,\ 52 52 md.results.TransientSolution[1].Vx,\ 53 53 md.results.TransientSolution[1].Vy,\ … … 57 57 md.results.TransientSolution[1].Surface,\ 58 58 md.results.TransientSolution[1].Thickness,\ 59 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\59 md.results.TransientSolution[1].SmbMassBalance,\ 60 60 md.results.TransientSolution[2].Vx,\ 61 61 md.results.TransientSolution[2].Vy,\ … … 65 65 md.results.TransientSolution[2].Surface,\ 66 66 md.results.TransientSolution[2].Thickness,\ 67 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\67 md.results.TransientSolution[2].SmbMassBalance,\ 68 68 md.results.TransientSolution[3].Vx,\ 69 69 md.results.TransientSolution[3].Vy,\ … … 73 73 md.results.TransientSolution[3].Surface,\ 74 74 md.results.TransientSolution[3].Thickness,\ 75 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\75 md.results.TransientSolution[3].SmbMassBalance,\ 76 76 ] -
issm/trunk-jpl/test/NightlyRun/test337.m
r19049 r19527 15 15 smb=[ smb smb*-1. ]; 16 16 17 md.s urfaceforcings=SMBcomponents();18 md.s urfaceforcings.accumulation=[smb*2; [1.5 3.]];19 md.s urfaceforcings.runoff=[smb/2; [1.5 3.]];20 md.s urfaceforcings.evaporation=[smb/2; [1.5 3.]];17 md.smb=SMBcomponents(); 18 md.smb.accumulation=[smb*2; [1.5 3.]]; 19 md.smb.runoff=[smb/2; [1.5 3.]]; 20 md.smb.evaporation=[smb/2; [1.5 3.]]; 21 21 md.transient.isthermal=0; 22 22 … … 24 24 25 25 %Fields and tolerances to track changes 26 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...27 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...28 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...29 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};26 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 27 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 28 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 29 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 30 30 field_tolerances={... 31 31 5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 41 41 (md.results.TransientSolution(1).Surface),... 42 42 (md.results.TransientSolution(1).Thickness),... 43 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...43 (md.results.TransientSolution(1).SmbMassBalance),... 44 44 (md.results.TransientSolution(2).Vx),... 45 45 (md.results.TransientSolution(2).Vy),... … … 49 49 (md.results.TransientSolution(2).Surface),... 50 50 (md.results.TransientSolution(2).Thickness),... 51 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...51 (md.results.TransientSolution(2).SmbMassBalance),... 52 52 (md.results.TransientSolution(3).Vx),... 53 53 (md.results.TransientSolution(3).Vy),... … … 57 57 (md.results.TransientSolution(3).Surface),... 58 58 (md.results.TransientSolution(3).Thickness),... 59 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...59 (md.results.TransientSolution(3).SmbMassBalance),... 60 60 (md.results.TransientSolution(4).Vx),... 61 61 (md.results.TransientSolution(4).Vy),... … … 65 65 (md.results.TransientSolution(4).Surface),... 66 66 (md.results.TransientSolution(4).Thickness),... 67 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...67 (md.results.TransientSolution(4).SmbMassBalance),... 68 68 }; -
issm/trunk-jpl/test/NightlyRun/test337.py
r19049 r19527 25 25 smb=numpy.hstack((smb,smb*-1.)) 26 26 27 md.s urfaceforcings=SMBcomponents();28 md.s urfaceforcings.accumulation=numpy.vstack((smb*2, [1.5,3.]));29 md.s urfaceforcings.runoff=numpy.vstack((smb/2, [1.5,3.]));30 md.s urfaceforcings.evaporation=numpy.vstack((smb/2, [1.5,3.]));27 md.smb=SMBcomponents(); 28 md.smb.accumulation=numpy.vstack((smb*2, [1.5,3.])); 29 md.smb.runoff=numpy.vstack((smb/2, [1.5,3.])); 30 md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.])); 31 31 md.transient.isthermal=False 32 32 … … 34 34 35 35 #Fields and tolerances to track changes 36 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \37 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \38 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \39 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']36 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 37 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 38 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 39 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 40 40 field_tolerances=[\ 41 41 5e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 51 51 md.results.TransientSolution[0].Surface,\ 52 52 md.results.TransientSolution[0].Thickness,\ 53 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\53 md.results.TransientSolution[0].SmbMassBalance,\ 54 54 md.results.TransientSolution[1].Vx,\ 55 55 md.results.TransientSolution[1].Vy,\ … … 59 59 md.results.TransientSolution[1].Surface,\ 60 60 md.results.TransientSolution[1].Thickness,\ 61 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\61 md.results.TransientSolution[1].SmbMassBalance,\ 62 62 md.results.TransientSolution[2].Vx,\ 63 63 md.results.TransientSolution[2].Vy,\ … … 67 67 md.results.TransientSolution[2].Surface,\ 68 68 md.results.TransientSolution[2].Thickness,\ 69 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\69 md.results.TransientSolution[2].SmbMassBalance,\ 70 70 md.results.TransientSolution[3].Vx,\ 71 71 md.results.TransientSolution[3].Vy,\ … … 75 75 md.results.TransientSolution[3].Surface,\ 76 76 md.results.TransientSolution[3].Thickness,\ 77 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\77 md.results.TransientSolution[3].SmbMassBalance,\ 78 78 ] -
issm/trunk-jpl/test/NightlyRun/test338.m
r19049 r19527 14 14 smb=[ smb smb*-1. ]; 15 15 16 md.s urfaceforcings=SMBmeltcomponents();17 md.s urfaceforcings.accumulation=[smb; [1.5 3.]];18 md.s urfaceforcings.melt=[smb/2; [1.5 3.]];19 md.s urfaceforcings.refreeze=[smb; [1.5 3.]];20 md.s urfaceforcings.evaporation=[smb/2; [1.5 3.]];16 md.smb=SMBmeltcomponents(); 17 md.smb.accumulation=[smb; [1.5 3.]]; 18 md.smb.melt=[smb/2; [1.5 3.]]; 19 md.smb.refreeze=[smb; [1.5 3.]]; 20 md.smb.evaporation=[smb/2; [1.5 3.]]; 21 21 md.transient.isthermal=0; 22 22 … … 24 24 25 25 %Fields and tolerances to track changes 26 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...27 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...28 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...29 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};26 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 27 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 28 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 29 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 30 30 field_tolerances={1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... 31 31 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 40 40 (md.results.TransientSolution(1).Surface),... 41 41 (md.results.TransientSolution(1).Thickness),... 42 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...42 (md.results.TransientSolution(1).SmbMassBalance),... 43 43 (md.results.TransientSolution(2).Vx),... 44 44 (md.results.TransientSolution(2).Vy),... … … 48 48 (md.results.TransientSolution(2).Surface),... 49 49 (md.results.TransientSolution(2).Thickness),... 50 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...50 (md.results.TransientSolution(2).SmbMassBalance),... 51 51 (md.results.TransientSolution(3).Vx),... 52 52 (md.results.TransientSolution(3).Vy),... … … 56 56 (md.results.TransientSolution(3).Surface),... 57 57 (md.results.TransientSolution(3).Thickness),... 58 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...58 (md.results.TransientSolution(3).SmbMassBalance),... 59 59 (md.results.TransientSolution(4).Vx),... 60 60 (md.results.TransientSolution(4).Vy),... … … 64 64 (md.results.TransientSolution(4).Surface),... 65 65 (md.results.TransientSolution(4).Thickness),... 66 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...66 (md.results.TransientSolution(4).SmbMassBalance),... 67 67 }; -
issm/trunk-jpl/test/NightlyRun/test338.py
r19049 r19527 24 24 smb=numpy.hstack((smb,smb*-1.)) 25 25 26 md.s urfaceforcings=SMBmeltcomponents();27 md.s urfaceforcings.accumulation=numpy.vstack((smb, [1.5,3.]));28 md.s urfaceforcings.evaporation=numpy.vstack((smb/2, [1.5,3.]));29 md.s urfaceforcings.melt=numpy.vstack((smb/2, [1.5,3.]));30 md.s urfaceforcings.refreeze=numpy.vstack((smb, [1.5,3.]));26 md.smb=SMBmeltcomponents(); 27 md.smb.accumulation=numpy.vstack((smb, [1.5,3.])); 28 md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.])); 29 md.smb.melt=numpy.vstack((smb/2, [1.5,3.])); 30 md.smb.refreeze=numpy.vstack((smb, [1.5,3.])); 31 31 md.transient.isthermal=False 32 32 … … 34 34 35 35 #Fields and tolerances to track changes 36 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \37 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \38 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \39 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']36 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 37 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 38 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 39 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 40 40 field_tolerances=[1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ 41 41 1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 50 50 md.results.TransientSolution[0].Surface,\ 51 51 md.results.TransientSolution[0].Thickness,\ 52 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\52 md.results.TransientSolution[0].SmbMassBalance,\ 53 53 md.results.TransientSolution[1].Vx,\ 54 54 md.results.TransientSolution[1].Vy,\ … … 58 58 md.results.TransientSolution[1].Surface,\ 59 59 md.results.TransientSolution[1].Thickness,\ 60 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\60 md.results.TransientSolution[1].SmbMassBalance,\ 61 61 md.results.TransientSolution[2].Vx,\ 62 62 md.results.TransientSolution[2].Vy,\ … … 66 66 md.results.TransientSolution[2].Surface,\ 67 67 md.results.TransientSolution[2].Thickness,\ 68 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\68 md.results.TransientSolution[2].SmbMassBalance,\ 69 69 md.results.TransientSolution[3].Vx,\ 70 70 md.results.TransientSolution[3].Vy,\ … … 74 74 md.results.TransientSolution[3].Surface,\ 75 75 md.results.TransientSolution[3].Thickness,\ 76 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\76 md.results.TransientSolution[3].SmbMassBalance,\ 77 77 ] -
issm/trunk-jpl/test/NightlyRun/test339.m
r19049 r19527 15 15 smb=[ smb smb*-1. ]; 16 16 17 md.s urfaceforcings=SMBmeltcomponents();18 md.s urfaceforcings.accumulation=[smb; [1.5 3.]];19 md.s urfaceforcings.melt=[smb/2; [1.5 3.]];20 md.s urfaceforcings.refreeze=[smb; [1.5 3.]];21 md.s urfaceforcings.evaporation=[smb/2; [1.5 3.]];17 md.smb=SMBmeltcomponents(); 18 md.smb.accumulation=[smb; [1.5 3.]]; 19 md.smb.melt=[smb/2; [1.5 3.]]; 20 md.smb.refreeze=[smb; [1.5 3.]]; 21 md.smb.evaporation=[smb/2; [1.5 3.]]; 22 22 md.transient.isthermal=0; 23 23 … … 25 25 26 26 %Fields and tolerances to track changes 27 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', ...28 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', ...29 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', ...30 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4'};27 field_names={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', ... 28 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', ... 29 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', ... 30 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'}; 31 31 field_tolerances={... 32 32 1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,... … … 42 42 (md.results.TransientSolution(1).Surface),... 43 43 (md.results.TransientSolution(1).Thickness),... 44 (md.results.TransientSolution(1).S urfaceforcingsMassBalance),...44 (md.results.TransientSolution(1).SmbMassBalance),... 45 45 (md.results.TransientSolution(2).Vx),... 46 46 (md.results.TransientSolution(2).Vy),... … … 50 50 (md.results.TransientSolution(2).Surface),... 51 51 (md.results.TransientSolution(2).Thickness),... 52 (md.results.TransientSolution(2).S urfaceforcingsMassBalance),...52 (md.results.TransientSolution(2).SmbMassBalance),... 53 53 (md.results.TransientSolution(3).Vx),... 54 54 (md.results.TransientSolution(3).Vy),... … … 58 58 (md.results.TransientSolution(3).Surface),... 59 59 (md.results.TransientSolution(3).Thickness),... 60 (md.results.TransientSolution(3).S urfaceforcingsMassBalance),...60 (md.results.TransientSolution(3).SmbMassBalance),... 61 61 (md.results.TransientSolution(4).Vx),... 62 62 (md.results.TransientSolution(4).Vy),... … … 66 66 (md.results.TransientSolution(4).Surface),... 67 67 (md.results.TransientSolution(4).Thickness),... 68 (md.results.TransientSolution(4).S urfaceforcingsMassBalance),...68 (md.results.TransientSolution(4).SmbMassBalance),... 69 69 }; -
issm/trunk-jpl/test/NightlyRun/test339.py
r19049 r19527 25 25 smb=numpy.hstack((smb,smb*-1.)) 26 26 27 md.s urfaceforcings=SMBmeltcomponents();28 md.s urfaceforcings.accumulation=numpy.vstack((smb, [1.5,3.]));29 md.s urfaceforcings.evaporation=numpy.vstack((smb/2, [1.5,3.]));30 md.s urfaceforcings.melt=numpy.vstack((smb/2, [1.5,3.]));31 md.s urfaceforcings.refreeze=numpy.vstack((smb, [1.5,3.]));27 md.smb=SMBmeltcomponents(); 28 md.smb.accumulation=numpy.vstack((smb, [1.5,3.])); 29 md.smb.evaporation=numpy.vstack((smb/2, [1.5,3.])); 30 md.smb.melt=numpy.vstack((smb/2, [1.5,3.])); 31 md.smb.refreeze=numpy.vstack((smb, [1.5,3.])); 32 32 md.transient.isthermal=False 33 33 … … 35 35 36 36 #Fields and tolerances to track changes 37 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','S urfaceforcingsMassBalance1', \38 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','S urfaceforcingsMassBalance2', \39 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','S urfaceforcingsMassBalance3', \40 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','S urfaceforcingsMassBalance4']37 field_names=['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SmbMassBalance1', \ 38 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SmbMassBalance2', \ 39 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SmbMassBalance3', \ 40 'Vx4','Vy4','Vel4','Pressure4','Bed4','Surface4','Thickness4','SmbMassBalance4'] 41 41 field_tolerances=[\ 42 42 1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,\ … … 52 52 md.results.TransientSolution[0].Surface,\ 53 53 md.results.TransientSolution[0].Thickness,\ 54 md.results.TransientSolution[0].S urfaceforcingsMassBalance,\54 md.results.TransientSolution[0].SmbMassBalance,\ 55 55 md.results.TransientSolution[1].Vx,\ 56 56 md.results.TransientSolution[1].Vy,\ … … 60 60 md.results.TransientSolution[1].Surface,\ 61 61 md.results.TransientSolution[1].Thickness,\ 62 md.results.TransientSolution[1].S urfaceforcingsMassBalance,\62 md.results.TransientSolution[1].SmbMassBalance,\ 63 63 md.results.TransientSolution[2].Vx,\ 64 64 md.results.TransientSolution[2].Vy,\ … … 68 68 md.results.TransientSolution[2].Surface,\ 69 69 md.results.TransientSolution[2].Thickness,\ 70 md.results.TransientSolution[2].S urfaceforcingsMassBalance,\70 md.results.TransientSolution[2].SmbMassBalance,\ 71 71 md.results.TransientSolution[3].Vx,\ 72 72 md.results.TransientSolution[3].Vy,\ … … 76 76 md.results.TransientSolution[3].Surface,\ 77 77 md.results.TransientSolution[3].Thickness,\ 78 md.results.TransientSolution[3].S urfaceforcingsMassBalance,\78 md.results.TransientSolution[3].SmbMassBalance,\ 79 79 ] -
issm/trunk-jpl/test/NightlyRun/test4001.m
r19049 r19527 483 483 md.initialization.temperature=(273.15-20)*ones(md.mesh.numberofvertices,1); 484 484 md.initialization.pressure=md.materials.rho_ice*md.constants.g*(md.geometry.surface-md.geometry.base); 485 md.s urfaceforcings.mass_balance = [1*ones(md.mesh.numberofvertices,1); 1];485 md.smb.mass_balance = [1*ones(md.mesh.numberofvertices,1); 1]; 486 486 487 487 %Flow law -
issm/trunk-jpl/test/NightlyRun/test407.m
r19049 r19527 8 8 md.transient.isstressbalance=0; 9 9 md.transient.ismasstransport=0; 10 md.transient.issmb=0; 10 11 md.transient.isthermal=1; 11 12 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test407.py
r19049 r19527 18 18 md.transient.isstressbalance=False 19 19 md.transient.ismasstransport=False 20 md.transient.issmb=False 20 21 md.transient.isthermal=True 21 22 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test423.m
r19049 r19527 21 21 md.transient.isthermal=0; 22 22 md.transient.ismasstransport=0; 23 md.transient.issmb=0; 23 24 md.transient.isstressbalance=1; 24 25 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test423.py
r19049 r19527 32 32 md.transient.isthermal=False 33 33 md.transient.ismasstransport=False 34 md.transient.issmb=False 34 35 md.transient.isstressbalance=True 35 36 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test424.m
r19049 r19527 10 10 md.geometry.thickness(:)=1000.; 11 11 md.geometry.surface=md.geometry.base+md.geometry.thickness; 12 md.s urfaceforcings.mass_balance(:)=100.;12 md.smb.mass_balance(:)=100.; 13 13 md.transient.isstressbalance=0; 14 14 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test424.py
r19049 r19527 20 20 md.geometry.thickness[:]=1000. 21 21 md.geometry.surface=md.geometry.base+md.geometry.thickness 22 md.s urfaceforcings.mass_balance[:]=100.22 md.smb.mass_balance[:]=100. 23 23 md.transient.isstressbalance=False 24 24 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test425.m
r19049 r19527 10 10 md.geometry.thickness(:)=1300.; 11 11 md.geometry.surface=md.geometry.base+md.geometry.thickness; 12 md.s urfaceforcings.mass_balance(:)=-150.;12 md.smb.mass_balance(:)=-150.; 13 13 md.transient.isstressbalance=0; 14 14 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test425.py
r19049 r19527 20 20 md.geometry.thickness[:]=1300. 21 21 md.geometry.surface=md.geometry.base+md.geometry.thickness 22 md.s urfaceforcings.mass_balance[:]=-150.22 md.smb.mass_balance[:]=-150. 23 23 md.transient.isstressbalance=False 24 24 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test426.m
r19049 r19527 9 9 md.geometry.thickness(:)=1000.; 10 10 md.geometry.surface=md.geometry.base+md.geometry.thickness; 11 md.s urfaceforcings.mass_balance(:)=100.;11 md.smb.mass_balance(:)=100.; 12 12 md=extrude(md,3,1.); 13 13 md=setflowequation(md,'SSA','all'); -
issm/trunk-jpl/test/NightlyRun/test426.py
r19049 r19527 19 19 md.geometry.thickness[:]=1000. 20 20 md.geometry.surface=md.geometry.base+md.geometry.thickness 21 md.s urfaceforcings.mass_balance[:]=100.21 md.smb.mass_balance[:]=100. 22 22 md.extrude(3,1.); 23 23 md=setflowequation(md,'SSA','all'); -
issm/trunk-jpl/test/NightlyRun/test427.m
r19049 r19527 12 12 md=extrude(md,3,1.); 13 13 14 md.s urfaceforcings.mass_balance(:)=-150;14 md.smb.mass_balance(:)=-150; 15 15 md.transient.isstressbalance=0; 16 16 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test427.py
r19049 r19527 22 22 md.extrude(3,1.) 23 23 24 md.s urfaceforcings.mass_balance[:]=-15024 md.smb.mass_balance[:]=-150 25 25 md.transient.isstressbalance=False 26 26 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test433.m
r19049 r19527 22 22 md.transient.isthermal=0; 23 23 md.transient.ismasstransport=0; 24 md.transient.issmb=0; 24 25 md.transient.isstressbalance=0; 25 26 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test433.py
r19049 r19527 33 33 md.transient.isthermal=False 34 34 md.transient.ismasstransport=False 35 md.transient.issmb=False 35 36 md.transient.isstressbalance=False 36 37 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test435.m
r19049 r19527 31 31 md.friction.coefficient(:)=sqrt(10^7)*ones(md.mesh.numberofvertices,1); 32 32 md.friction.p=3*ones(md.mesh.numberofelements,1); 33 md.s urfaceforcings.mass_balance(:)=1;33 md.smb.mass_balance(:)=1; 34 34 md.basalforcings.groundedice_melting_rate(:)=0; 35 35 md.basalforcings.floatingice_melting_rate(:)=0; … … 38 38 md.transient.isgroundingline=1; 39 39 md.transient.ismasstransport=1; 40 md.transient.issmb=1; 40 41 md.groundingline.migration='SubelementMigration'; 41 42 md.timestepping.final_time=30; -
issm/trunk-jpl/test/NightlyRun/test437.m
r19049 r19527 37 37 %Additional settings 38 38 md.transient.ismasstransport=0; 39 md.transient.issmb=0; 39 40 md.transient.isstressbalance=0; 40 41 md.transient.isthermal=1; -
issm/trunk-jpl/test/NightlyRun/test515.m
r19186 r19527 9 9 md.transient.isstressbalance=0; 10 10 md.transient.ismasstransport=0; 11 md.transient.issmb=0; 11 12 md.transient.isthermal=1; 12 13 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test515.py
r19187 r19527 18 18 md.transient.isstressbalance=False 19 19 md.transient.ismasstransport=False 20 md.transient.issmb=False 20 21 md.transient.isthermal=True 21 22 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test703.m
r19049 r19527 43 43 md.timestepping.final_time=0.000005; 44 44 md.stressbalance.shelf_dampening=1; 45 md.s urfaceforcings.mass_balance=zeros(md.mesh.numberofvertices,1);45 md.smb.mass_balance=zeros(md.mesh.numberofvertices,1); 46 46 md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1); 47 47 md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/NightlyRun/test801.m
r19049 r19527 11 11 md.transient.iscalving=1; 12 12 md.transient.ismasstransport=1; 13 md.transient.issmb=1; 13 14 md.transient.isthermal=0; 14 15 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test801.py
r19049 r19527 21 21 md.transient.iscalving=True 22 22 md.transient.ismasstransport=True 23 md.transient.issmb=True 23 24 md.transient.isthermal=False 24 25 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test802.m
r19049 r19527 16 16 md.transient.iscalving=1; 17 17 md.transient.ismasstransport=1; 18 md.transient.issmb=1; 18 19 md.transient.isthermal=1; 19 20 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test802.py
r19049 r19527 26 26 md.transient.iscalving=True 27 27 md.transient.ismasstransport=True 28 md.transient.issmb=True 28 29 md.transient.isthermal=True 29 30 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test803.m
r19049 r19527 18 18 md.transient.iscalving=1; 19 19 md.transient.ismasstransport=1; 20 md.transient.issmb=1; 20 21 md.transient.isthermal=1; 21 22 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test803.py
r19049 r19527 28 28 md.transient.iscalving=True 29 29 md.transient.ismasstransport=True 30 md.transient.issmb=True 30 31 md.transient.isthermal=True 31 32 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test804.m
r19049 r19527 10 10 md.transient.islevelset=1; 11 11 md.transient.ismasstransport=1; 12 md.transient.issmb=1; 12 13 md.transient.isthermal=0; 13 14 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test804.py
r19049 r19527 20 20 md.transient.islevelset=True 21 21 md.transient.ismasstransport=True 22 md.transient.issmb=True 22 23 md.transient.isthermal=False 23 24 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test805.m
r19049 r19527 17 17 md.transient.islevelset=1; 18 18 md.transient.ismasstransport=1; 19 md.transient.issmb=1; 19 20 md.transient.isthermal=1; 20 21 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test805.py
r19049 r19527 27 27 md.transient.islevelset=True 28 28 md.transient.ismasstransport=True 29 md.transient.issmb=True 29 30 md.transient.isthermal=True 30 31 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test806.m
r19167 r19527 20 20 md.transient.islevelset=1; 21 21 md.transient.ismasstransport=1; 22 md.transient.issmb=1; 22 23 md.transient.isthermal=0; 23 24 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test806.py
r19167 r19527 31 31 md.transient.islevelset=True 32 32 md.transient.ismasstransport=True 33 md.transient.issmb=True 33 34 md.transient.isthermal=False 34 35 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test807.m
r19158 r19527 20 20 md.transient.islevelset=1; 21 21 md.transient.ismasstransport=1; 22 md.transient.issmb=1; 22 23 md.transient.isthermal=0; 23 24 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test807.py
r19167 r19527 31 31 md.transient.islevelset=True 32 32 md.transient.ismasstransport=True 33 md.transient.issmb=True 33 34 md.transient.isthermal=False 34 35 md.transient.isgroundingline=False -
issm/trunk-jpl/test/Par/79North.par
r18068 r19527 31 31 md.basalforcings.floatingice_melting_rate(find(md.mask.groundedice_levelset<0.))=0.; 32 32 md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1); 33 md.s urfaceforcings.mass_balance=15.*ones(md.mesh.numberofvertices,1);33 md.smb.mass_balance=15.*ones(md.mesh.numberofvertices,1); 34 34 35 35 %Numerical parameters -
issm/trunk-jpl/test/Par/79North.py
r18068 r19527 43 43 md.basalforcings.floatingice_melting_rate[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0. 44 44 md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1)) 45 md.s urfaceforcings.mass_balance=15*numpy.ones((md.mesh.numberofvertices,1))45 md.smb.mass_balance=15*numpy.ones((md.mesh.numberofvertices,1)) 46 46 47 47 #Numerical parameters -
issm/trunk-jpl/test/Par/RoundSheetEISMINT.par
r17769 r19527 25 25 sb=10^-2/1000.; %m/yr/m 26 26 rel=450.*1000.; %m 27 md.s urfaceforcings.mass_balance=min(smb_max,sb*(rel-radius));27 md.smb.mass_balance=min(smb_max,sb*(rel-radius)); 28 28 29 29 disp(' creating velocities'); -
issm/trunk-jpl/test/Par/RoundSheetEISMINT.py
r17769 r19527 28 28 sb=10**-2/1000. #m/yr/m 29 29 rel=450.*1000. #m 30 md.s urfaceforcings.mass_balance=numpy.minimum(smb_max*numpy.ones_like(radius),sb*(rel-radius))30 md.smb.mass_balance=numpy.minimum(smb_max*numpy.ones_like(radius),sb*(rel-radius)) 31 31 32 32 print " creating velocities" -
issm/trunk-jpl/test/Par/RoundSheetShelf.par
r18121 r19527 62 62 63 63 %Surface mass balance and basal melting 64 md.s urfaceforcings.mass_balance=-10.*ones(md.mesh.numberofvertices,1);64 md.smb.mass_balance=-10.*ones(md.mesh.numberofvertices,1); 65 65 md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1); 66 66 pos=find(md.mask.groundedice_levelset>0.);md.basalforcings.groundedice_melting_rate(pos)=10.; -
issm/trunk-jpl/test/Par/RoundSheetShelf.py
r18069 r19527 69 69 70 70 #Surface mass balance and basal melting 71 md.s urfaceforcings.mass_balance=-10.*numpy.ones((md.mesh.numberofvertices,1))71 md.smb.mass_balance=-10.*numpy.ones((md.mesh.numberofvertices,1)) 72 72 md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1)) 73 73 pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0] -
issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.par
r17769 r19527 29 29 sb=10^-2/1000.; %m/yr/m 30 30 rel=450.*1000.; %m 31 md.s urfaceforcings.mass_balance=min(smb_max,sb*(rel-radius));31 md.smb.mass_balance=min(smb_max,sb*(rel-radius)); 32 32 33 33 disp(' creating velocities'); -
issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.py
r17769 r19527 32 32 sb=10**-2/1000. #m/yr/m 33 33 rel=450.*1000. #m 34 md.s urfaceforcings.mass_balance=numpy.minimum(smb_max*numpy.ones_like(radius),sb*(rel-radius))34 md.smb.mass_balance=numpy.minimum(smb_max*numpy.ones_like(radius),sb*(rel-radius)) 35 35 36 36 print " creating velocities" -
issm/trunk-jpl/test/Par/SquareEISMINT.par
r18068 r19527 27 27 28 28 disp(' creating surface mass balance'); 29 md.s urfaceforcings.mass_balance=0.2*ones(md.mesh.numberofvertices,1); %0m/a29 md.smb.mass_balance=0.2*ones(md.mesh.numberofvertices,1); %0m/a 30 30 md.basalforcings.floatingice_melting_rate=0.*ones(md.mesh.numberofvertices,1); %0m/a 31 31 md.basalforcings.groundedice_melting_rate=0.*ones(md.mesh.numberofvertices,1); %0m/a -
issm/trunk-jpl/test/Par/SquareEISMINT.py
r18068 r19527 30 30 31 31 print " creating surface mass balance" 32 md.s urfaceforcings.mass_balance=0.2*numpy.ones((md.mesh.numberofvertices,1)) #0m/a32 md.smb.mass_balance=0.2*numpy.ones((md.mesh.numberofvertices,1)) #0m/a 33 33 md.basalforcings.floatingice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1)) #0m/a 34 34 md.basalforcings.groundedice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1)) #0m/a -
issm/trunk-jpl/test/Par/SquareSheetShelf.par
r18068 r19527 33 33 34 34 %Accumulation and melting 35 md.s urfaceforcings.mass_balance=10.*ones(md.mesh.numberofvertices,1);35 md.smb.mass_balance=10.*ones(md.mesh.numberofvertices,1); 36 36 md.basalforcings.groundedice_melting_rate=5.*ones(md.mesh.numberofvertices,1); 37 37 md.basalforcings.floatingice_melting_rate=5.*ones(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/Par/SquareSheetShelf.py
r18068 r19527 44 44 45 45 #Accumulation and melting 46 md.s urfaceforcings.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1))46 md.smb.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1)) 47 47 md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1)) 48 48 md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1)) -
issm/trunk-jpl/test/Par/SquareShelfConstrained.par
r18068 r19527 30 30 31 31 %Surface mass balance and basal melting 32 md.s urfaceforcings.mass_balance=10*ones(md.mesh.numberofvertices,1);32 md.smb.mass_balance=10*ones(md.mesh.numberofvertices,1); 33 33 md.basalforcings.floatingice_melting_rate=5*ones(md.mesh.numberofvertices,1); 34 34 md.basalforcings.groundedice_melting_rate=5*ones(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/Par/SquareShelfConstrained.py
r18068 r19527 41 41 42 42 #Surface mass balance and basal melting 43 md.s urfaceforcings.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1))43 md.smb.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1)) 44 44 md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1)) 45 45 md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1)) -
issm/trunk-jpl/test/Par/SquareThermal.par
r18552 r19527 31 31 32 32 disp(' creating surface mass balance'); 33 md.s urfaceforcings.mass_balance=ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a33 md.smb.mass_balance=ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a 34 34 md.basalforcings.groundedice_melting_rate=0.*ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a 35 35 md.basalforcings.floatingice_melting_rate=0.*ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a -
issm/trunk-jpl/test/Par/SquareThermal.py
r17769 r19527 32 32 33 33 print " creating surface mass balance" 34 md.s urfaceforcings.mass_balance=numpy.ones((md.mesh.numberofvertices,1))/md.constants.yts #1m/a34 md.smb.mass_balance=numpy.ones((md.mesh.numberofvertices,1))/md.constants.yts #1m/a 35 35 md.basalforcings.melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))/md.constants.yts #1m/a 36 36 -
issm/trunk-jpl/test/Par/ValleyGlacierShelf.par
r19158 r19527 49 49 50 50 %Surface mass balance and basal melting 51 md.s urfaceforcings.mass_balance = 0.3*ones(md.mesh.numberofvertices,1);52 md.basalforcings.floatingice_melting_rate = md.s urfaceforcings.mass_balance;53 md.basalforcings.groundedice_melting_rate = md.s urfaceforcings.mass_balance;51 md.smb.mass_balance = 0.3*ones(md.mesh.numberofvertices,1); 52 md.basalforcings.floatingice_melting_rate = md.smb.mass_balance; 53 md.basalforcings.groundedice_melting_rate = md.smb.mass_balance; 54 54 55 55 %Friction -
issm/trunk-jpl/test/Par/ValleyGlacierShelf.py
r19158 r19527 56 56 57 57 #Surface mass balance and basal melting 58 md.s urfaceforcings.mass_balance=0.3*numpy.ones((md.mesh.numberofvertices,1))59 md.basalforcings.groundedice_melting_rate=md.s urfaceforcings.mass_balance60 md.basalforcings.floatingice_melting_rate=md.s urfaceforcings.mass_balance58 md.smb.mass_balance=0.3*numpy.ones((md.mesh.numberofvertices,1)) 59 md.basalforcings.groundedice_melting_rate=md.smb.mass_balance 60 md.basalforcings.floatingice_melting_rate=md.smb.mass_balance 61 61 62 62 #Friction
Note:
See TracChangeset
for help on using the changeset viewer.