Changeset 25308
- Timestamp:
- 07/29/20 02:53:58 (5 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r25252 r25308 184 184 185 185 basalelement->GetInputValue(&active_element,HydrologydcMaskEplactiveEltEnum); 186 187 186 /*Check that all nodes are active, else return empty matrix*/ 188 187 if(!active_element) { … … 213 212 basalelement->FindParam(&dt,TimesteppingTimeStepEnum); 214 213 Input2* epl_thick_input = basalelement->GetInput2(HydrologydcEplThicknessSubstepEnum); _assert_(epl_thick_input); 215 Input2* epl_head_input = basalelement->GetInput2(EplHeadSubstepEnum); _assert_(epl_head_input);216 Input2* base_input = basalelement->GetInput2(BaseEnum); _assert_(base_input);217 214 218 215 /* Start looping on the number of gaussian points: */ 219 216 Gauss* gauss = basalelement->NewGauss(2); 220 217 for(int ig=gauss->begin();ig<gauss->end();ig++){ 221 gauss 222 basalelement 218 gauss ->GaussPoint(ig); 219 basalelement->JacobianDeterminant(&Jdet,xyz_list,gauss); 223 220 basalelement->NodalFunctionsDerivatives(dbasis,xyz_list,gauss); 224 221 basalelement->NodalFunctions(basis,gauss); 225 222 226 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input ,epl_head_input,base_input);227 epl_storing = EplStoring(basalelement,gauss,epl_thick_input,epl_head_input,base_input);223 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input); 224 epl_storing = EplStoring(basalelement,gauss,epl_thick_input); 228 225 229 226 /*Diffusivity*/ 230 227 D_scalar=epl_transmitivity*gauss->weight*Jdet; 231 //D_scalar=gauss->weight*Jdet;232 228 if(dt!=0.) D_scalar=D_scalar*dt; 233 229 for(int i=0;i<numnodes;i++){ … … 236 232 } 237 233 } 238 239 234 /*Transient*/ 240 235 if(dt!=0.){ 241 basalelement->NodalFunctions(&basis[0],gauss);242 236 D_scalar=epl_storing*gauss->weight*Jdet; 243 //D_scalar=(epl_storing/epl_transmitivity)*gauss->weight*Jdet;244 237 for(int i=0;i<numnodes;i++) for(int j=0;j<numnodes;j++) Ke->values[i*numnodes+j] += D_scalar*basis[j]*basis[i]; 245 246 238 /*Transfer EPL part*/ 247 239 transfer=GetHydrologyKMatrixTransfer(basalelement); 248 240 D_scalar=dt*transfer*gauss->weight*Jdet; 249 //D_scalar=dt*(transfer/epl_transmitivity)*gauss->weight*Jdet;250 241 for(int i=0;i<numnodes;i++) for(int j=0;j<numnodes;j++) Ke->values[i*numnodes+j] += D_scalar*basis[j]*basis[i]; 251 242 } … … 291 282 } 292 283 /*Intermediaries */ 293 int smb_model; 294 int smb_averaging; 295 int smbsubstepping; 296 int hydrologysubstepping; 284 int smb_model,smb_averaging; 285 int smbsubstepping,hydrologysubstepping; 297 286 IssmDouble dt,scalar,water_head; 298 287 IssmDouble water_load,transfer,runoff_value; 299 288 IssmDouble epl_storing,epl_transmitivity; 300 IssmDouble Jdet ;289 IssmDouble Jdet,time; 301 290 IssmDouble residual,connectivity; 302 291 … … 318 307 basalelement->FindParam(&dt,TimesteppingTimeStepEnum); 319 308 basalelement ->FindParam(&smb_model,SmbEnum); 320 basalelement->FindParam(&smb_averaging,SmbAveragingEnum);321 309 322 310 Input2* epl_thick_input = basalelement->GetInput2(HydrologydcEplThicknessSubstepEnum); _assert_(epl_thick_input); 323 311 Input2* sed_head_input = basalelement->GetInput2(SedimentHeadSubstepEnum); _assert_(sed_head_input); 324 Input2* epl_head_input = basalelement->GetInput2(EplHeadSubstepEnum); _assert_(epl_head_input);325 312 Input2* basal_melt_input = basalelement->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(basal_melt_input); 326 313 Input2* residual_input = basalelement->GetInput2(SedimentHeadResidualEnum); _assert_(residual_input); 327 Input2* base_input = basalelement->GetInput2(BaseEnum); _assert_(base_input);328 329 IssmDouble time;330 basalelement->FindParam(&time,TimeEnum);331 314 332 315 if(dt!= 0.){ … … 334 317 } 335 318 if(smb_model==SMBgradientscomponentsEnum){ 319 basalelement->FindParam(&time,TimeEnum); 336 320 basalelement->FindParam(&smbsubstepping,SmbStepsPerStepEnum); 337 321 basalelement->FindParam(&hydrologysubstepping,HydrologyStepsPerStepEnum); … … 347 331 else{ 348 332 //finer stepping in smb, we average the runoff from transient input 333 basalelement->FindParam(&smb_averaging,SmbAveragingEnum); 349 334 dummy_input = basalelement->GetInput2(SmbRunoffTransientEnum,time-dt,time,smb_averaging); _assert_(dummy_input); 350 335 } … … 358 343 basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss); 359 344 basalelement ->NodalFunctions(basis,gauss); 360 epl_storing = EplStoring(basalelement,gauss,epl_thick_input ,epl_head_input,base_input);361 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input ,epl_head_input,base_input);345 epl_storing = EplStoring(basalelement,gauss,epl_thick_input); 346 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input); 362 347 363 348 /*Loading term*/ … … 366 351 else runoff_value = 0.; 367 352 scalar = Jdet*gauss->weight*(water_load+runoff_value); 368 //scalar = Jdet*gauss->weight*(water_load)/epl_transmitivity;369 353 if(dt!=0.) scalar = scalar*dt; 370 354 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; … … 376 360 transfer=GetHydrologyPVectorTransfer(basalelement,gauss,sed_head_input); 377 361 scalar = Jdet*gauss->weight*((water_head*epl_storing)+(dt*transfer)); 378 //scalar = Jdet*gauss->weight*((water_head*epl_storing)+(dt*transfer))/epl_transmitivity;379 362 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; 380 363 } … … 386 369 for(int iv=0;iv<numvertices;iv++){ 387 370 gauss->GaussVertex(iv); 388 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input ,epl_head_input,base_input);371 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input); 389 372 connectivity = IssmDouble(basalelement->VertexConnectivity(iv)); 390 373 residual_input->GetInputValue(&residual,gauss); 391 374 pe->values[iv]+=residual/connectivity; 392 //pe->values[iv]+=residual/(epl_transmitivity*connectivity);393 375 } 394 376 /*Clean up and return*/ … … 453 435 454 436 /*Intermediaries*/ 455 IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input2* epl_thick_input , Input2* epl_head_input, Input2* base_input){/*{{{*/437 IssmDouble HydrologyDCEfficientAnalysis::EplStoring(Element* element,Gauss* gauss, Input2* epl_thick_input){/*{{{*/ 456 438 IssmDouble epl_storing; 457 IssmDouble water_sheet,storing; 458 IssmDouble epl_thickness,prestep_head,base_elev; 459 IssmDouble rho_freshwater = element->FindParam(MaterialsRhoFreshwaterEnum); 460 IssmDouble g = element->FindParam(ConstantsGEnum); 461 IssmDouble epl_porosity = element->FindParam(HydrologydcEplPorosityEnum); 462 IssmDouble epl_compressibility = element->FindParam(HydrologydcEplCompressibilityEnum); 463 IssmDouble water_compressibility = element->FindParam(HydrologydcWaterCompressibilityEnum); 439 IssmDouble epl_thickness; 440 IssmDouble porewater_mass = element->FindParam(HydrologydcEplPoreWaterMassEnum); 441 IssmDouble layer_compressibility = element->FindParam(HydrologydcEplLayerCompressibilityEnum); 464 442 465 443 epl_thick_input->GetInputValue(&epl_thickness,gauss); 466 epl_head_input->GetInputValue(&prestep_head,gauss); 467 base_input->GetInputValue(&base_elev,gauss); 468 water_sheet=max(0.0,(prestep_head-base_elev)); 469 storing=rho_freshwater*g*epl_porosity*epl_thickness*(water_compressibility+(epl_compressibility/epl_porosity)); 470 471 /* //porosity for unconfined region */ 472 /* if (water_sheet<=0.9*epl_thickness){ */ 473 /* epl_storing=epl_porosity; */ 474 /* } */ 475 /* //continuity ramp */ 476 /* else if((water_sheet<epl_thickness) && (water_sheet>0.9*epl_thickness)){ */ 477 /* epl_storing=(epl_thickness-water_sheet)*(epl_porosity-storing)/(0.1*epl_thickness)+storing; */ 478 /* } */ 479 /* //storing coefficient for confined */ 480 /* else{ */ 481 /* epl_storing=storing; */ 482 /* } */ 483 /* return epl_storing; */ 484 return storing; 485 }/*}}}*/ 486 IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input2* epl_thick_input, Input2* epl_head_input, Input2* base_input){/*{{{*/ 444 epl_storing=porewater_mass*epl_thickness*layer_compressibility; 445 446 return epl_storing; 447 }/*}}}*/ 448 IssmDouble HydrologyDCEfficientAnalysis::EplTransmitivity(Element* element,Gauss* gauss, Input2* epl_thick_input){/*{{{*/ 487 449 IssmDouble epl_transmitivity; 488 IssmDouble water_sheet; 489 IssmDouble epl_thickness,base_elev,prestep_head; 450 IssmDouble epl_thickness; 490 451 IssmDouble epl_conductivity = element->FindParam(HydrologydcEplConductivityEnum); 491 452 epl_thick_input->GetInputValue(&epl_thickness,gauss); 492 epl_head_input->GetInputValue(&prestep_head,gauss); 493 base_input->GetInputValue(&base_elev,gauss); 494 495 water_sheet=max(0.0,(prestep_head-base_elev)); 453 496 454 epl_transmitivity=epl_conductivity*epl_thickness; 497 //epl_transmitivity=max(1.0e-6,(epl_conductivity*min(water_sheet,epl_thickness)));498 455 return epl_transmitivity; 499 456 }/*}}}*/ … … 584 541 int iseplthickcomp; 585 542 int domaintype; 586 IssmDouble dt,A;587 IssmDouble EPLgrad2;588 IssmDouble EPL_N;589 IssmDouble opening,closing;590 543 591 544 femmodel->parameters->FindParam(&domaintype,DomainTypeEnum); … … 612 565 613 566 element->GetInputValue(&active_element,HydrologydcMaskEplactiveEltEnum); 614 element->FindParam(&dt,TimesteppingTimeStepEnum); 615 616 /*For now, assuming just one way to compute EPL thickness*/ 617 IssmDouble gravity = element->FindParam(ConstantsGEnum); 618 IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum); 619 IssmDouble rho_ice = element->FindParam(MaterialsRhoIceEnum); 620 IssmDouble latentheat = element->FindParam(MaterialsLatentheatEnum); 621 IssmDouble epl_conductivity = element->FindParam(HydrologydcEplConductivityEnum); 622 IssmDouble init_thick = element->FindParam(HydrologydcEplInitialThicknessEnum); 623 IssmDouble max_thick = element->FindParam(HydrologydcEplMaxThicknessEnum); 624 625 switch(domaintype){ 626 case Domain2DhorizontalEnum: element->GetInputListOnVertices(&B[0],MaterialsRheologyBbarEnum); break; 627 case Domain3DEnum: element->GetInputListOnVertices(&B[0],MaterialsRheologyBEnum); break; 628 default: _error_("not Implemented Yet"); 629 } 630 631 element->GetInputListOnVertices(&eplhead[0],EplHeadSubstepEnum); 632 element->GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); 633 element->GetInputListOnVertices(&epl_slopeY[0],EplHeadSlopeYEnum); 634 element->GetInputListOnVertices(&old_thickness[0],HydrologydcEplThicknessOldEnum); 635 element->GetInputListOnVertices(&ice_thickness[0],ThicknessEnum); 636 element->GetInputListOnVertices(&bed[0],BaseEnum); 637 element->GetInputListOnVertices(&n[0],MaterialsRheologyNEnum); 567 568 /*parameters*/ 569 IssmDouble gravity; 570 IssmDouble rho_water; 571 IssmDouble rho_ice; 572 IssmDouble latentheat; 573 IssmDouble epl_conductivity; 574 IssmDouble init_thick; 575 IssmDouble max_thick; 576 IssmDouble dt; 577 578 /* Intermiedaries */ 579 IssmDouble A; 580 IssmDouble EPLgrad2; 581 IssmDouble EPL_N; 582 IssmDouble opening,closing; 638 583 639 584 if(!active_element){ 585 init_thick = element->FindParam(HydrologydcEplInitialThicknessEnum); 640 586 /*Keeping thickness to initial value if EPL is not active*/ 641 587 for(int i=0;i<numnodes;i++){ … … 644 590 } 645 591 else{ 592 switch(domaintype){ 593 case Domain2DhorizontalEnum: element->GetInputListOnVertices(&B[0],MaterialsRheologyBbarEnum); break; 594 case Domain3DEnum: element->GetInputListOnVertices(&B[0],MaterialsRheologyBEnum); break; 595 default: _error_("not Implemented Yet"); 596 } 597 598 element->FindParam(&max_thick,HydrologydcEplMaxThicknessEnum); 599 element->FindParam(&epl_conductivity,HydrologydcEplConductivityEnum); 600 element->FindParam(&latentheat,MaterialsLatentheatEnum); 601 element->FindParam(&rho_ice,MaterialsRhoIceEnum); 602 element->FindParam(&rho_water,MaterialsRhoFreshwaterEnum); 603 element->FindParam(&gravity,ConstantsGEnum); 604 element->FindParam(&dt,TimesteppingTimeStepEnum); 605 606 element->GetInputListOnVertices(&eplhead[0],EplHeadSubstepEnum); 607 element->GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); 608 element->GetInputListOnVertices(&epl_slopeY[0],EplHeadSlopeYEnum); 609 element->GetInputListOnVertices(&old_thickness[0],HydrologydcEplThicknessOldEnum); 610 element->GetInputListOnVertices(&ice_thickness[0],ThicknessEnum); 611 element->GetInputListOnVertices(&bed[0],BaseEnum); 612 element->GetInputListOnVertices(&n[0],MaterialsRheologyNEnum); 613 646 614 for(int i=0;i<numnodes;i++){ 647 615 A=pow(B[i],-n[i]); … … 705 673 IssmDouble* eplhead =xNew<IssmDouble>(numnodes); 706 674 IssmDouble* residual =xNew<IssmDouble>(numnodes); 707 IssmDouble* base =xNew<IssmDouble>(numnodes);708 675 709 676 IssmDouble init_thick =basalelement->FindParam(HydrologydcEplInitialThicknessEnum); … … 712 679 basalelement->GetInputValue(&active_element,HydrologydcMaskEplactiveEltEnum); 713 680 681 basalelement-> GetInputListOnVertices(&sedhead[0],SedimentHeadSubstepEnum); 714 682 basalelement-> GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveNodeEnum); 683 basalelement-> GetInputListOnVertices(&residual[0],SedimentHeadResidualEnum); 715 684 basalelement-> GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThicknessSubstepEnum); 716 basalelement-> GetInputListOnVertices(&sedhead[0],SedimentHeadSubstepEnum);717 685 basalelement-> GetInputListOnVertices(&eplhead[0],EplHeadSubstepEnum); 718 basalelement-> GetInputListOnVertices(&residual[0],SedimentHeadResidualEnum);719 basalelement-> GetInputListOnVertices(&base[0],BaseEnum);720 686 721 687 /*Get minimum sediment head of the element*/ … … 769 735 xDelete<IssmDouble>(eplhead); 770 736 xDelete<IssmDouble>(residual); 771 xDelete<IssmDouble>(base);772 737 } 773 738 /*}}}*/ -
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h
r25252 r25308 35 35 36 36 /*Intermediaries*/ 37 IssmDouble EplStoring(Element* element,Gauss* gauss, Input2* epl_thick_input , Input2* epl_head_input, Input2* base_input);38 IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input2* epl_thick_input , Input2* epl_head_input, Input2* base_input);37 IssmDouble EplStoring(Element* element,Gauss* gauss, Input2* epl_thick_input); 38 IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input2* epl_thick_input); 39 39 void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode); 40 40 IssmDouble GetHydrologyKMatrixTransfer(Element* element); -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r25252 r25308 238 238 Input2* sed_head_input = basalelement->GetInput2(SedimentHeadSubstepEnum); 239 239 Input2* base_input = basalelement->GetInput2(BaseEnum); 240 Input2* old_wh_input = basalelement->GetInput2(SedimentHeadOldEnum); _assert_(old_wh_input);241 240 242 241 /*Transfer related Inputs*/ … … 244 243 basalelement->GetInput2Value(&active_element,HydrologydcMaskEplactiveEltEnum); 245 244 } 246 247 245 /* Start looping on the number of gaussian points: */ 248 246 Gauss* gauss=basalelement->NewGauss(2); 249 247 250 248 for(int ig=gauss -> begin();ig<gauss->end();ig++){ 251 gauss ->GaussPoint(ig);252 basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss);249 gauss ->GaussPoint(ig); 250 basalelement->JacobianDeterminant(&Jdet,xyz_list,gauss); 253 251 basalelement->NodalFunctionsDerivatives(dbasis,xyz_list,gauss); 254 252 basalelement->NodalFunctions(basis,gauss); … … 259 257 /*Diffusivity*/ 260 258 D_scalar=sediment_transmitivity*gauss->weight*Jdet; 261 //D_scalar=gauss->weight*Jdet;262 259 if(dt!=0.) D_scalar=D_scalar*dt; 263 260 for(int i=0;i<numnodes;i++){ … … 266 263 } 267 264 } 268 269 265 /*Transient*/ 270 266 if(dt!=0.){ 271 267 D_scalar=sediment_storing*gauss->weight*Jdet; 272 //D_scalar=(sediment_storing/sediment_transmitivity)*gauss->weight*Jdet;273 268 for(int i=0;i<numnodes;i++) for(int j=0;j<numnodes;j++) Ke->values[i*numnodes+j] += D_scalar*basis[j]*basis[i]; 274 275 269 /*Transfer EPL part*/ 276 270 if(isefficientlayer){ … … 278 272 transfer=GetHydrologyKMatrixTransfer(basalelement); 279 273 D_scalar=dt*transfer*gauss->weight*Jdet; 280 //D_scalar=dt*(transfer/sediment_transmitivity)*gauss->weight*Jdet;281 274 for(int i=0;i<numnodes;i++) for(int j=0;j<numnodes;j++) Ke->values[i*numnodes+j] += D_scalar*basis[j]*basis[i]; 282 275 } … … 298 291 299 292 /*Intermediaries*/ 300 bool 301 int 293 bool thawed_element; 294 int domaintype; 302 295 Element* basalelement; 303 296 … … 328 321 /*Intermediaries */ 329 322 bool active_element,isefficientlayer; 330 int smb_model; 331 int smbsubstepping; 332 int hydrologysubstepping; 333 int smb_averaging; 323 int smb_model,smbsubstepping; 324 int hydrologysubstepping,smb_averaging; 334 325 IssmDouble dt,scalar,sediment_storing; 335 326 IssmDouble water_head,sediment_transmitivity; 336 327 IssmDouble water_load,runoff_value,transfer; 337 IssmDouble Jdet ;328 IssmDouble Jdet,time; 338 329 339 330 IssmDouble *xyz_list = NULL; … … 355 346 basalelement->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum); 356 347 basalelement->FindParam(&smb_model,SmbEnum); 357 basalelement->FindParam(&smb_averaging,SmbAveragingEnum);358 348 359 349 Input2* sed_head_input = basalelement->GetInput2(SedimentHeadSubstepEnum); … … 363 353 Input2* SedTrans_input = basalelement->GetInput2(HydrologydcSedimentTransmitivityEnum); _assert_(SedTrans_input); 364 354 365 IssmDouble time;366 basalelement->FindParam(&time,TimeEnum);367 368 355 if(dt!= 0.){ 369 356 old_wh_input = basalelement->GetInput2(SedimentHeadOldEnum); _assert_(old_wh_input); 370 357 } 371 358 if(smb_model==SMBgradientscomponentsEnum){ 359 basalelement->FindParam(&time,TimeEnum); 372 360 basalelement->FindParam(&smbsubstepping,SmbStepsPerStepEnum); 373 361 basalelement->FindParam(&hydrologysubstepping,HydrologyStepsPerStepEnum); … … 383 371 else{ 384 372 //finer stepping in smb, we average the runoff from transient input 373 basalelement->FindParam(&smb_averaging,SmbAveragingEnum); 385 374 dummy_input = basalelement->GetInput2(SmbRunoffTransientEnum,time-dt,time,smb_averaging); _assert_(dummy_input); 386 375 } … … 395 384 /* Start looping on the number of gaussian points: */ 396 385 Gauss* gauss=basalelement->NewGauss(2); 397 398 IssmDouble yts;399 basalelement->FindParam(&yts,ConstantsYtsEnum);400 386 401 387 for(int ig=gauss->begin();ig<gauss->end();ig++){ … … 411 397 else runoff_value = 0.; 412 398 scalar = Jdet*gauss->weight*(water_load+runoff_value); 413 //scalar = Jdet*gauss->weight*(water_load)/sediment_transmitivity;414 399 if(dt!=0.) scalar = scalar*dt; 415 400 for(int i=0;i<numnodes;i++){ … … 424 409 else runoff_value = 0.; 425 410 scalar = Jdet*gauss->weight*(water_load+runoff_value); 426 //scalar = Jdet*gauss->weight*(water_load)/sediment_transmitivity;427 411 if(dt!=0.) scalar = scalar*dt; 428 412 for(int i=0;i<numnodes;i++){ … … 445 429 } 446 430 scalar = Jdet*gauss->weight*((water_head*sediment_storing)+(dt*transfer)); 447 //scalar = Jdet*gauss->weight*((water_head*sediment_storing)+(dt*transfer))/sediment_transmitivity;448 431 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; 449 432 } 450 433 else{ 451 434 scalar = Jdet*gauss->weight*(water_head*sediment_storing); 452 //scalar = Jdet*gauss->weight*(water_head*sediment_storing)/sediment_transmitivity;453 435 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; 454 436 } … … 571 553 IssmDouble storing,yield; 572 554 IssmDouble base_elev,prestep_head,water_sheet; 573 IssmDouble rho_freshwater = element->FindParam(MaterialsRhoFreshwaterEnum); 574 IssmDouble g = element->FindParam(ConstantsGEnum); 575 IssmDouble sediment_porosity = element->FindParam(HydrologydcSedimentPorosityEnum); 555 IssmDouble porewater_mass = element->FindParam(HydrologydcSedimentPoreWaterMassEnum); 556 IssmDouble layer_compressibility = element->FindParam(HydrologydcSedimentLayerCompressibilityEnum); 576 557 IssmDouble sediment_thickness = element->FindParam(HydrologydcSedimentThicknessEnum); 577 IssmDouble sediment_compressibility = element->FindParam(HydrologydcSedimentCompressibilityEnum);578 IssmDouble water_compressibility = element->FindParam(HydrologydcWaterCompressibilityEnum);579 558 element->FindParam(&unconf_scheme,HydrologydcUnconfinedFlagEnum); 580 559 switch(unconf_scheme){ 581 560 case 0: 582 sediment_storing= rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));561 sediment_storing=porewater_mass*sediment_thickness*layer_compressibility; 583 562 break; 584 563 case 1: 564 yield = element->FindParam(HydrologydcSedimentPorosityEnum); 585 565 base_input->GetInputValue(&base_elev,gauss); 586 566 sed_head_input->GetInputValue(&prestep_head,gauss); 567 587 568 water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness))); 588 589 /* if (water_sheet<sediment_thickness){ */ 590 /* sediment_storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity)); */ 591 /* } */ 592 /* else{ */ 593 /* sediment_storing=sediment_porosity; */ 594 /* } */ 595 storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity)); 569 storing=porewater_mass*sediment_thickness*layer_compressibility; 596 570 //using logistic function for heavyside approximation 597 571 expfac=10.; 598 yield=sediment_porosity;599 572 sediment_storing=yield+(storing-yield)/(1+exp(-2*expfac*(water_sheet-0.99*sediment_thickness))); 600 573 break; … … 606 579 IssmDouble HydrologyDCInefficientAnalysis::SedimentTransmitivity(Element* element,Gauss* gauss,Input2* sed_head_input, Input2* base_input,Input2* SedTrans_input){/*{{{*/ 607 580 int unconf_scheme; 608 IssmDouble ratio,expfac;609 581 IssmDouble sediment_transmitivity; 610 582 IssmDouble FullLayer_transmitivity; 611 IssmDouble meltingrate;612 IssmDouble groundedice;613 583 IssmDouble base_elev,prestep_head,water_sheet; 614 584 IssmDouble sediment_thickness = element->FindParam(HydrologydcSedimentThicknessEnum); -
issm/trunk-jpl/src/c/classes/Inputs2/TransientInput2.cpp
r25252 r25308 420 420 /*If already processed return*/ 421 421 if(fabs(this->current_step-this_step)<1.e-5) return; 422 // if(this->current_step>this_step-1.e-5 && this->current_step<this_step+1.e-5) return;423 422 424 423 /*Prepare input*/ … … 457 456 } 458 457 mid_step=reCast<IssmDouble>(start_offset)+0.5*timespan; 459 460 458 /*If already processed return, we set step in the middle of the interval*/ 461 459 if(fabs(this->current_step-mid_step)<1.e-5) return; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r25252 r25308 1 1 /*!\file: CreateParameters.cpp 2 2 * \brief general driver for creating parameters dataset 3 */ 3 */ 4 4 5 5 #ifdef HAVE_CONFIG_H … … 63 63 parameters->AddObject(iomodel->CopyConstantObject("md.calving.law",CalvingLawEnum)); 64 64 parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.parameterization",FrontalForcingsParamEnum)); 65 parameters->AddObject(new IntParam(SealevelriseRunCountEnum,1)); 65 parameters->AddObject(new IntParam(SealevelriseRunCountEnum,1)); 66 66 67 67 {/*This is specific to ice...*/ … … 98 98 } 99 99 100 /*amr properties*/ 100 /*amr properties*/ 101 101 int amrtype,amr_frequency; 102 102 iomodel->FindConstant(&amr_frequency,"md.transient.amr_frequency"); … … 156 156 case LinearFloatingMeltRateEnum: 157 157 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 158 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_melting_rate"); 158 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_melting_rate"); 159 159 if(N==1){ 160 160 _assert_(M==1); … … 166 166 } 167 167 xDelete<IssmDouble>(transparam); 168 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.upperwater_melting_rate"); 168 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.upperwater_melting_rate"); 169 169 if(N==1){ 170 170 _assert_(M==1); … … 176 176 } 177 177 xDelete<IssmDouble>(transparam); 178 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_elevation"); 178 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_elevation"); 179 179 if(N==1){ 180 180 _assert_(M==1); … … 183 183 else{ 184 184 _assert_(N==2); 185 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp,M)); 186 } 187 xDelete<IssmDouble>(transparam); 188 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.upperwater_elevation"); 185 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp,M)); 186 } 187 xDelete<IssmDouble>(transparam); 188 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.upperwater_elevation"); 189 189 if(N==1){ 190 190 _assert_(M==1); … … 226 226 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.isplume",BasalforcingsPicoIsplumeEnum)); 227 227 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_temperature"); 228 _assert_(M>=1 && N>=1); 228 _assert_(M>=1 && N>=1); 229 229 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceantemperatureEnum,transparam,&transparam[N*(M-1)],interp,N,M)); 230 230 xDelete<IssmDouble>(transparam); 231 231 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_salinity"); 232 _assert_(M>=1 && N>=1); 232 _assert_(M>=1 && N>=1); 233 233 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceansalinityEnum,transparam,&transparam[N*(M-1)],interp,N,M)); 234 234 xDelete<IssmDouble>(transparam); … … 237 237 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsIsmip6NumBasinsEnum)); 238 238 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.gamma_0",BasalforcingsIsmip6Gamma0Enum)); 239 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.islocal",BasalforcingsIsmip6IsLocalEnum)); 239 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.islocal",BasalforcingsIsmip6IsLocalEnum)); 240 240 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.delta_t"); 241 241 parameters->AddObject(new DoubleVecParam(BasalforcingsIsmip6DeltaTEnum,transparam,N)); … … 279 279 } 280 280 iomodel->FindConstant(&time,"md.timestepping.start_time"); 281 parameters->AddObject(new DoubleParam(TimeEnum,time)); 282 parameters->AddObject(new IntParam(StepEnum,0)); 281 parameters->AddObject(new DoubleParam(TimeEnum,time)); 282 parameters->AddObject(new IntParam(StepEnum,0)); 283 283 284 284 /*By default, save all results*/ … … 421 421 iomodel->FindConstant(&hydrology_model,"md.hydrology.model"); 422 422 if(hydrology_model==HydrologydcEnum){ 423 /*FIXME: this cshould go to Analysis!!!*/ 424 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.sediment_compressibility",HydrologydcSedimentCompressibilityEnum)); 423 IssmDouble sedcomp, sedporo, watcomp, rhofresh, g; 424 425 /*FIXME: this should go to Analysis!!!*/ 425 426 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.sediment_porosity",HydrologydcSedimentPorosityEnum)); 426 427 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.sediment_thickness",HydrologydcSedimentThicknessEnum)); 427 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.water_compressibility",HydrologydcWaterCompressibilityEnum));428 428 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.isefficientlayer",HydrologydcIsefficientlayerEnum)); 429 430 iomodel->FindConstant(&sedcomp,"md.hydrology.sediment_compressibility"); 431 iomodel->FindConstant(&sedporo,"md.hydrology.sediment_porosity"); 432 iomodel->FindConstant(&watcomp,"md.hydrology.water_compressibility"); 433 iomodel->FindConstant(&rhofresh,"md.materials.rho_freshwater"); 434 iomodel->FindConstant(&g,"md.constants.g"); 435 436 parameters->AddObject(new DoubleParam(HydrologydcSedimentLayerCompressibilityEnum,(watcomp + sedcomp/sedporo))); 437 parameters->AddObject(new DoubleParam(HydrologydcSedimentPoreWaterMassEnum,(rhofresh*g*sedporo))); 429 438 430 439 bool isefficientlayer; 431 440 iomodel->FindConstant(&isefficientlayer,"md.hydrology.isefficientlayer"); 432 441 if(isefficientlayer){ 433 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.epl_compressibility",HydrologydcEplCompressibilityEnum)); 434 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.epl_porosity",HydrologydcEplPorosityEnum)); 442 IssmDouble eplcomp, eplporo; 435 443 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.epl_initial_thickness",HydrologydcEplInitialThicknessEnum)); 436 444 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.epl_colapse_thickness",HydrologydcEplColapseThicknessEnum)); 437 445 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.epl_max_thickness",HydrologydcEplMaxThicknessEnum)); 438 446 parameters->AddObject(iomodel->CopyConstantObject("md.hydrology.epl_conductivity",HydrologydcEplConductivityEnum)); 447 448 iomodel->FindConstant(&eplcomp,"md.hydrology.epl_compressibility"); 449 iomodel->FindConstant(&eplporo,"md.hydrology.epl_porosity"); 450 parameters->AddObject(new DoubleParam(HydrologydcEplLayerCompressibilityEnum,(watcomp + eplcomp/eplporo))); 451 parameters->AddObject(new DoubleParam(HydrologydcEplPoreWaterMassEnum,(rhofresh*g*eplporo))); 452 439 453 } 440 454 } … … 472 486 if(mass_flux_present){ 473 487 474 /*Fetch the mass flux segments necessary to compute the mass fluxes. Build a DoubleMatArrayParam object out of them: */ 488 /*Fetch the mass flux segments necessary to compute the mass fluxes. Build a DoubleMatArrayParam object out of them: */ 475 489 iomodel->FetchData(&array,&mdims_array,&ndims_array,&mass_flux_num_profiles,"md.qmu.mass_flux_segments"); 476 490 if(mass_flux_num_profiles==0)_error_("mass_flux_num_profiles is 0, when MassFlux computations were requested!"); … … 518 532 xDelete<IssmDouble>(matrix); 519 533 } 520 xDelete<int>(mdims_array); 534 xDelete<int>(mdims_array); 521 535 xDelete<int>(ndims_array); 522 536 xDelete<IssmDouble*>(array); -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r25293 r25308 182 182 syn keyword cConstant HydrologyStorageEnum 183 183 syn keyword cConstant HydrologydcEplColapseThicknessEnum 184 syn keyword cConstant HydrologydcEplCompressibilityEnum185 184 syn keyword cConstant HydrologydcEplConductivityEnum 186 185 syn keyword cConstant HydrologydcEplInitialThicknessEnum 186 syn keyword cConstant HydrologydcEplLayerCompressibilityEnum 187 187 syn keyword cConstant HydrologydcEplMaxThicknessEnum 188 syn keyword cConstant HydrologydcEplPor osityEnum188 syn keyword cConstant HydrologydcEplPoreWaterMassEnum 189 189 syn keyword cConstant HydrologydcEplThickCompEnum 190 190 syn keyword cConstant HydrologydcEplflipLockEnum … … 195 195 syn keyword cConstant HydrologydcPenaltyLockEnum 196 196 syn keyword cConstant HydrologydcRelTolEnum 197 syn keyword cConstant HydrologydcSedimentCompressibilityEnum198 197 syn keyword cConstant HydrologydcSedimentlimitEnum 199 198 syn keyword cConstant HydrologydcSedimentlimitFlagEnum 199 syn keyword cConstant HydrologydcSedimentLayerCompressibilityEnum 200 syn keyword cConstant HydrologydcSedimentPoreWaterMassEnum 200 201 syn keyword cConstant HydrologydcSedimentPorosityEnum 201 202 syn keyword cConstant HydrologydcSedimentThicknessEnum 202 203 syn keyword cConstant HydrologydcTransferFlagEnum 203 204 syn keyword cConstant HydrologydcUnconfinedFlagEnum 204 syn keyword cConstant HydrologydcWaterCompressibilityEnum205 205 syn keyword cConstant HydrologyshreveStabilizationEnum 206 206 syn keyword cConstant IcecapToEarthCommEnum … … 1361 1361 syn keyword cType Cfsurfacesquare 1362 1362 syn keyword cType Channel 1363 syn keyword cType classes 1363 1364 syn keyword cType Constraint 1364 1365 syn keyword cType Constraints … … 1367 1368 syn keyword cType ControlInput2 1368 1369 syn keyword cType Covertree 1370 syn keyword cType DatasetInput2 1369 1371 syn keyword cType DataSetParam 1370 syn keyword cType DatasetInput21371 1372 syn keyword cType Definition 1372 1373 syn keyword cType DependentObject … … 1381 1382 syn keyword cType ElementInput2 1382 1383 syn keyword cType ElementMatrix 1384 syn keyword cType Elements 1383 1385 syn keyword cType ElementVector 1384 syn keyword cType Elements1385 1386 syn keyword cType ExponentialVariogram 1386 1387 syn keyword cType ExternalResult … … 1389 1390 syn keyword cType Friction 1390 1391 syn keyword cType Gauss 1392 syn keyword cType GaussianVariogram 1393 syn keyword cType gaussobjects 1391 1394 syn keyword cType GaussPenta 1392 1395 syn keyword cType GaussSeg 1393 1396 syn keyword cType GaussTetra 1394 1397 syn keyword cType GaussTria 1395 syn keyword cType GaussianVariogram1396 1398 syn keyword cType GenericExternalResult 1397 1399 syn keyword cType GenericOption … … 1408 1410 syn keyword cType IssmDirectApplicInterface 1409 1411 syn keyword cType IssmParallelDirectApplicInterface 1412 syn keyword cType krigingobjects 1410 1413 syn keyword cType Load 1411 1414 syn keyword cType Loads … … 1418 1421 syn keyword cType Matice 1419 1422 syn keyword cType Matlitho 1423 syn keyword cType matrixobjects 1420 1424 syn keyword cType MatrixParam 1421 1425 syn keyword cType Misfit … … 1430 1434 syn keyword cType Observations 1431 1435 syn keyword cType Option 1436 syn keyword cType Options 1432 1437 syn keyword cType OptionUtilities 1433 syn keyword cType Options1434 1438 syn keyword cType Param 1435 1439 syn keyword cType Parameters … … 1445 1449 syn keyword cType Regionaloutput 1446 1450 syn keyword cType Results 1451 syn keyword cType Riftfront 1447 1452 syn keyword cType RiftStruct 1448 syn keyword cType Riftfront1449 1453 syn keyword cType SealevelMasks 1450 1454 syn keyword cType Seg 1451 1455 syn keyword cType SegInput2 1456 syn keyword cType Segment 1452 1457 syn keyword cType SegRef 1453 syn keyword cType Segment1454 1458 syn keyword cType SpcDynamic 1455 1459 syn keyword cType SpcStatic … … 1470 1474 syn keyword cType Vertex 1471 1475 syn keyword cType Vertices 1472 syn keyword cType classes1473 syn keyword cType gaussobjects1474 syn keyword cType krigingobjects1475 syn keyword cType matrixobjects1476 1476 syn keyword cType AdjointBalancethickness2Analysis 1477 1477 syn keyword cType AdjointBalancethicknessAnalysis … … 1492 1492 syn keyword cType FreeSurfaceBaseAnalysis 1493 1493 syn keyword cType FreeSurfaceTopAnalysis 1494 syn keyword cType GiaAnalysis 1494 1495 syn keyword cType GLheightadvectionAnalysis 1495 syn keyword cType GiaAnalysis1496 1496 syn keyword cType HydrologyDCEfficientAnalysis 1497 1497 syn keyword cType HydrologyDCInefficientAnalysis -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r25293 r25308 176 176 HydrologyStorageEnum, 177 177 HydrologydcEplColapseThicknessEnum, 178 HydrologydcEplCompressibilityEnum,179 178 HydrologydcEplConductivityEnum, 180 179 HydrologydcEplInitialThicknessEnum, 180 HydrologydcEplLayerCompressibilityEnum, 181 181 HydrologydcEplMaxThicknessEnum, 182 HydrologydcEplPor osityEnum,182 HydrologydcEplPoreWaterMassEnum, 183 183 HydrologydcEplThickCompEnum, 184 184 HydrologydcEplflipLockEnum, … … 189 189 HydrologydcPenaltyLockEnum, 190 190 HydrologydcRelTolEnum, 191 HydrologydcSedimentCompressibilityEnum,192 191 HydrologydcSedimentlimitEnum, 193 192 HydrologydcSedimentlimitFlagEnum, 193 HydrologydcSedimentLayerCompressibilityEnum, 194 HydrologydcSedimentPoreWaterMassEnum, 194 195 HydrologydcSedimentPorosityEnum, 195 196 HydrologydcSedimentThicknessEnum, 196 197 HydrologydcTransferFlagEnum, 197 198 HydrologydcUnconfinedFlagEnum, 198 HydrologydcWaterCompressibilityEnum,199 199 HydrologyshreveStabilizationEnum, 200 200 IcecapToEarthCommEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r25293 r25308 184 184 case HydrologyStorageEnum : return "HydrologyStorage"; 185 185 case HydrologydcEplColapseThicknessEnum : return "HydrologydcEplColapseThickness"; 186 case HydrologydcEplCompressibilityEnum : return "HydrologydcEplCompressibility";187 186 case HydrologydcEplConductivityEnum : return "HydrologydcEplConductivity"; 188 187 case HydrologydcEplInitialThicknessEnum : return "HydrologydcEplInitialThickness"; 188 case HydrologydcEplLayerCompressibilityEnum : return "HydrologydcEplLayerCompressibility"; 189 189 case HydrologydcEplMaxThicknessEnum : return "HydrologydcEplMaxThickness"; 190 case HydrologydcEplPor osityEnum : return "HydrologydcEplPorosity";190 case HydrologydcEplPoreWaterMassEnum : return "HydrologydcEplPoreWaterMass"; 191 191 case HydrologydcEplThickCompEnum : return "HydrologydcEplThickComp"; 192 192 case HydrologydcEplflipLockEnum : return "HydrologydcEplflipLock"; … … 197 197 case HydrologydcPenaltyLockEnum : return "HydrologydcPenaltyLock"; 198 198 case HydrologydcRelTolEnum : return "HydrologydcRelTol"; 199 case HydrologydcSedimentCompressibilityEnum : return "HydrologydcSedimentCompressibility";200 199 case HydrologydcSedimentlimitEnum : return "HydrologydcSedimentlimit"; 201 200 case HydrologydcSedimentlimitFlagEnum : return "HydrologydcSedimentlimitFlag"; 201 case HydrologydcSedimentLayerCompressibilityEnum : return "HydrologydcSedimentLayerCompressibility"; 202 case HydrologydcSedimentPoreWaterMassEnum : return "HydrologydcSedimentPoreWaterMass"; 202 203 case HydrologydcSedimentPorosityEnum : return "HydrologydcSedimentPorosity"; 203 204 case HydrologydcSedimentThicknessEnum : return "HydrologydcSedimentThickness"; 204 205 case HydrologydcTransferFlagEnum : return "HydrologydcTransferFlag"; 205 206 case HydrologydcUnconfinedFlagEnum : return "HydrologydcUnconfinedFlag"; 206 case HydrologydcWaterCompressibilityEnum : return "HydrologydcWaterCompressibility";207 207 case HydrologyshreveStabilizationEnum : return "HydrologyshreveStabilization"; 208 208 case IcecapToEarthCommEnum : return "IcecapToEarthComm"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r25293 r25308 187 187 else if (strcmp(name,"HydrologyStorage")==0) return HydrologyStorageEnum; 188 188 else if (strcmp(name,"HydrologydcEplColapseThickness")==0) return HydrologydcEplColapseThicknessEnum; 189 else if (strcmp(name,"HydrologydcEplCompressibility")==0) return HydrologydcEplCompressibilityEnum;190 189 else if (strcmp(name,"HydrologydcEplConductivity")==0) return HydrologydcEplConductivityEnum; 191 190 else if (strcmp(name,"HydrologydcEplInitialThickness")==0) return HydrologydcEplInitialThicknessEnum; 191 else if (strcmp(name,"HydrologydcEplLayerCompressibility")==0) return HydrologydcEplLayerCompressibilityEnum; 192 192 else if (strcmp(name,"HydrologydcEplMaxThickness")==0) return HydrologydcEplMaxThicknessEnum; 193 else if (strcmp(name,"HydrologydcEplPor osity")==0) return HydrologydcEplPorosityEnum;193 else if (strcmp(name,"HydrologydcEplPoreWaterMass")==0) return HydrologydcEplPoreWaterMassEnum; 194 194 else if (strcmp(name,"HydrologydcEplThickComp")==0) return HydrologydcEplThickCompEnum; 195 195 else if (strcmp(name,"HydrologydcEplflipLock")==0) return HydrologydcEplflipLockEnum; … … 200 200 else if (strcmp(name,"HydrologydcPenaltyLock")==0) return HydrologydcPenaltyLockEnum; 201 201 else if (strcmp(name,"HydrologydcRelTol")==0) return HydrologydcRelTolEnum; 202 else if (strcmp(name,"HydrologydcSedimentCompressibility")==0) return HydrologydcSedimentCompressibilityEnum;203 202 else if (strcmp(name,"HydrologydcSedimentlimit")==0) return HydrologydcSedimentlimitEnum; 204 203 else if (strcmp(name,"HydrologydcSedimentlimitFlag")==0) return HydrologydcSedimentlimitFlagEnum; 204 else if (strcmp(name,"HydrologydcSedimentLayerCompressibility")==0) return HydrologydcSedimentLayerCompressibilityEnum; 205 else if (strcmp(name,"HydrologydcSedimentPoreWaterMass")==0) return HydrologydcSedimentPoreWaterMassEnum; 205 206 else if (strcmp(name,"HydrologydcSedimentPorosity")==0) return HydrologydcSedimentPorosityEnum; 206 207 else if (strcmp(name,"HydrologydcSedimentThickness")==0) return HydrologydcSedimentThicknessEnum; 207 208 else if (strcmp(name,"HydrologydcTransferFlag")==0) return HydrologydcTransferFlagEnum; 208 209 else if (strcmp(name,"HydrologydcUnconfinedFlag")==0) return HydrologydcUnconfinedFlagEnum; 209 else if (strcmp(name,"HydrologydcWaterCompressibility")==0) return HydrologydcWaterCompressibilityEnum;210 210 else if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum; 211 211 else if (strcmp(name,"IcecapToEarthComm")==0) return IcecapToEarthCommEnum;
Note:
See TracChangeset
for help on using the changeset viewer.