Changeset 19744 for issm/trunk-jpl/src
- Timestamp:
- 11/17/15 16:10:39 (9 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r19720 r19744 69 69 ./classes/Loads/Penpair.cpp\ 70 70 ./classes/Loads/Pengrid.cpp\ 71 ./classes/Loads/Moulin.cpp\ 71 72 ./classes/Loads/Numericalflux.cpp\ 72 73 ./classes/matrix/ElementMatrix.cpp\ -
issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp
r19740 r19744 22 22 }/*}}}*/ 23 23 void HydrologySommersAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 24 /*No loads*/ 24 25 /*Fetch parameters: */ 26 int hydrology_model; 27 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 28 29 /*Now, do we really want Sommers?*/ 30 if(hydrology_model!=HydrologysommersEnum) return; 31 32 //create penalties for nodes: no node can have water above the max 33 CreateSingleNodeToElementConnectivity(iomodel); 34 for(int i=0;i<iomodel->numberofvertices;i++){ 35 if (iomodel->domaintype!=Domain3DEnum){ 36 /*keep only this partition's nodes:*/ 37 if(iomodel->my_vertices[i]){ 38 loads->AddObject(new Moulin(iomodel->loadcounter+i+1,i,iomodel,HydrologySommersAnalysisEnum)); 39 } 40 } 41 else if(reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[i])){ 42 if(iomodel->my_vertices[i]){ 43 loads->AddObject(new Moulin(iomodel->loadcounter+i+1,i,iomodel,HydrologySommersAnalysisEnum)); 44 } 45 } 46 } 47 iomodel->DeleteData(1,MeshVertexonbaseEnum); 48 25 49 }/*}}}*/ 26 50 void HydrologySommersAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ … … 72 96 iomodel->FetchDataToInput(elements,HydrologyGapHeightEnum); 73 97 iomodel->FetchDataToInput(elements,HydrologyEnglacialInputEnum); 98 iomodel->FetchDataToInput(elements,HydrologyMoulinInputEnum); 74 99 iomodel->FetchDataToInput(elements,HydrologyBumpSpacingEnum); 75 100 iomodel->FetchDataToInput(elements,HydrologyBumpHeightEnum); -
issm/trunk-jpl/src/c/classes/classes.h
r19632 r19744 37 37 #include "./Loads/Penpair.h" 38 38 #include "./Loads/Pengrid.h" 39 #include "./Loads/Moulin.h" 39 40 40 41 /*Elements: */ -
issm/trunk-jpl/src/c/cores/hydrology_core.cpp
r19740 r19744 60 60 61 61 /*Proceed now to heads computations*/ 62 if(VerboseSolution()) _printf0_(" computing water head\n");63 62 solutionsequence_hydro_nonlinear(femmodel); 64 63 -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r19725 r19744 162 162 HydrologyBumpHeightEnum, 163 163 HydrologyEnglacialInputEnum, 164 HydrologyMoulinInputEnum, 164 165 HydrologyReynoldsEnum, 165 166 HydrologySpcheadEnum, … … 579 580 NumericalfluxTypeEnum, 580 581 ParamEnum, 582 MoulinEnum, 581 583 PengridEnum, 582 584 PenpairEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r19725 r19744 168 168 case HydrologyBumpHeightEnum : return "HydrologyBumpHeight"; 169 169 case HydrologyEnglacialInputEnum : return "HydrologyEnglacialInput"; 170 case HydrologyMoulinInputEnum : return "HydrologyMoulinInput"; 170 171 case HydrologyReynoldsEnum : return "HydrologyReynolds"; 171 172 case HydrologySpcheadEnum : return "HydrologySpchead"; … … 571 572 case NumericalfluxTypeEnum : return "NumericalfluxType"; 572 573 case ParamEnum : return "Param"; 574 case MoulinEnum : return "Moulin"; 573 575 case PengridEnum : return "Pengrid"; 574 576 case PenpairEnum : return "Penpair"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r19725 r19744 171 171 else if (strcmp(name,"HydrologyBumpHeight")==0) return HydrologyBumpHeightEnum; 172 172 else if (strcmp(name,"HydrologyEnglacialInput")==0) return HydrologyEnglacialInputEnum; 173 else if (strcmp(name,"HydrologyMoulinInput")==0) return HydrologyMoulinInputEnum; 173 174 else if (strcmp(name,"HydrologyReynolds")==0) return HydrologyReynoldsEnum; 174 175 else if (strcmp(name,"HydrologySpchead")==0) return HydrologySpcheadEnum; … … 259 260 else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum; 260 261 else if (strcmp(name,"MaterialsRhoSeawater")==0) return MaterialsRhoSeawaterEnum; 261 else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"MaterialsMuWater")==0) return MaterialsMuWaterEnum; 265 if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum; 266 else if (strcmp(name,"MaterialsMuWater")==0) return MaterialsMuWaterEnum; 266 267 else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum; 267 268 else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum; … … 382 383 else if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum; 383 384 else if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum; 384 else if (strcmp(name,"SmbP")==0) return SmbPEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"SmbSwf")==0) return SmbSwfEnum; 388 if (strcmp(name,"SmbP")==0) return SmbPEnum; 389 else if (strcmp(name,"SmbSwf")==0) return SmbSwfEnum; 389 390 else if (strcmp(name,"SmbEAir")==0) return SmbEAirEnum; 390 391 else if (strcmp(name,"SmbPAir")==0) return SmbPAirEnum; … … 505 506 else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum; 506 507 else if (strcmp(name,"SurfaceNormalVelocity")==0) return SurfaceNormalVelocityEnum; 507 else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; 511 if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum; 512 else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; 512 513 else if (strcmp(name,"DepthAverageAnalysis")==0) return DepthAverageAnalysisEnum; 513 514 else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum; … … 583 584 else if (strcmp(name,"NumericalfluxType")==0) return NumericalfluxTypeEnum; 584 585 else if (strcmp(name,"Param")==0) return ParamEnum; 586 else if (strcmp(name,"Moulin")==0) return MoulinEnum; 585 587 else if (strcmp(name,"Pengrid")==0) return PengridEnum; 586 588 else if (strcmp(name,"Penpair")==0) return PenpairEnum; … … 627 629 else if (strcmp(name,"Free")==0) return FreeEnum; 628 630 else if (strcmp(name,"Open")==0) return OpenEnum; 629 else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;630 else if (strcmp(name,"Adjointx")==0) return AdjointxEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Adjointy")==0) return AdjointyEnum; 634 if (strcmp(name,"Adjointp")==0) return AdjointpEnum; 635 else if (strcmp(name,"Adjointx")==0) return AdjointxEnum; 636 else if (strcmp(name,"Adjointy")==0) return AdjointyEnum; 635 637 else if (strcmp(name,"Adjointz")==0) return AdjointzEnum; 636 638 else if (strcmp(name,"BalancethicknessMisfit")==0) return BalancethicknessMisfitEnum; … … 750 752 else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum; 751 753 else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum; 752 else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;753 else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum; 757 if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum; 758 else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum; 759 else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum; 758 760 else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum; 759 761 else if (strcmp(name,"J")==0) return JEnum; … … 873 875 else if (strcmp(name,"MisfitObservation")==0) return MisfitObservationEnum; 874 876 else if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum; 875 else if (strcmp(name,"MisfitLocal")==0) return MisfitLocalEnum;876 else if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"MisfitWeights")==0) return MisfitWeightsEnum; 880 if (strcmp(name,"MisfitLocal")==0) return MisfitLocalEnum; 881 else if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum; 882 else if (strcmp(name,"MisfitWeights")==0) return MisfitWeightsEnum; 881 883 else if (strcmp(name,"MisfitWeightsEnum")==0) return MisfitWeightsEnumEnum; 882 884 else if (strcmp(name,"SurfaceObservation")==0) return SurfaceObservationEnum; -
issm/trunk-jpl/src/m/classes/hydrologysommers.m
r19720 r19744 11 11 bump_height = NaN; 12 12 englacial_input = NaN; 13 moulin_input = NaN; 13 14 reynolds = NaN; 14 15 spchead = NaN; … … 40 41 md = checkfield(md,'fieldname','hydrology.bump_spacing','>',0,'size',[md.mesh.numberofelements 1],'NaN',1); 41 42 md = checkfield(md,'fieldname','hydrology.bump_height','>=',0,'size',[md.mesh.numberofelements 1],'NaN',1); 42 md = checkfield(md,'fieldname','hydrology.englacial_input','>=',0,'size',[md.mesh.numberofvertices 1],'NaN',1); 43 md = checkfield(md,'fieldname','hydrology.englacial_input','>=',0,'NaN',1,'timeseries',1); 44 md = checkfield(md,'fieldname','hydrology.moulin_input','>=',0,'NaN',1,'timeseries',1); 43 45 md = checkfield(md,'fieldname','hydrology.reynolds','>',0,'size',[md.mesh.numberofelements 1],'NaN',1); 44 46 md = checkfield(md,'fieldname','hydrology.spchead','size',[md.mesh.numberofvertices 1]); … … 51 53 fielddisplay(self,'bump_height','characteristic bedrock bump height (m)'); 52 54 fielddisplay(self,'englacial_input','liquid water input from englacial to subglacial system (m/yr)'); 55 fielddisplay(self,'moulin_input','liquid water input from moulins (at the vertices) to subglacial system (m^3/s)'); 53 56 fielddisplay(self,'reynolds','Reynolds'' number'); 54 57 fielddisplay(self,'spchead','water head constraints (NaN means no constraint) (m)'); … … 63 66 WriteData(fid,'object',self,'class','hydrology','fieldname','bump_spacing','format','DoubleMat','mattype',2); 64 67 WriteData(fid,'object',self,'class','hydrology','fieldname','bump_height','format','DoubleMat','mattype',2); 65 WriteData(fid,'object',self,'class','hydrology','fieldname','englacial_input','format','DoubleMat','mattype',1,'scale',1./yts); 68 WriteData(fid,'object',self,'class','hydrology','fieldname','englacial_input','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1); 69 WriteData(fid,'object',self,'class','hydrology','fieldname','moulin_input','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 66 70 WriteData(fid,'object',self,'class','hydrology','fieldname','reynolds','format','DoubleMat','mattype',2); 67 71 WriteData(fid,'object',self,'class','hydrology','fieldname','spchead','format','DoubleMat','mattype',1); -
issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m
r19090 r19744 80 80 81 81 case TransientSolutionEnum(), 82 analyses=[StressbalanceAnalysisEnum();StressbalanceVerticalAnalysisEnum();StressbalanceSIAAnalysisEnum();L2ProjectionBaseAnalysisEnum();ThermalAnalysisEnum();MeltingAnalysisEnum();EnthalpyAnalysisEnum();MasstransportAnalysisEnum() ];82 analyses=[StressbalanceAnalysisEnum();StressbalanceVerticalAnalysisEnum();StressbalanceSIAAnalysisEnum();L2ProjectionBaseAnalysisEnum();ThermalAnalysisEnum();MeltingAnalysisEnum();EnthalpyAnalysisEnum();MasstransportAnalysisEnum();HydrologySommersAnalysisEnum]; 83 83 84 84 case FlaimSolutionEnum(), -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r19725 r19744 160 160 def HydrologyBumpHeightEnum(): return StringToEnum("HydrologyBumpHeight")[0] 161 161 def HydrologyEnglacialInputEnum(): return StringToEnum("HydrologyEnglacialInput")[0] 162 def HydrologyMoulinInputEnum(): return StringToEnum("HydrologyMoulinInput")[0] 162 163 def HydrologyReynoldsEnum(): return StringToEnum("HydrologyReynolds")[0] 163 164 def HydrologySpcheadEnum(): return StringToEnum("HydrologySpchead")[0] … … 563 564 def NumericalfluxTypeEnum(): return StringToEnum("NumericalfluxType")[0] 564 565 def ParamEnum(): return StringToEnum("Param")[0] 566 def MoulinEnum(): return StringToEnum("Moulin")[0] 565 567 def PengridEnum(): return StringToEnum("Pengrid")[0] 566 568 def PenpairEnum(): return StringToEnum("Penpair")[0] -
issm/trunk-jpl/src/m/plot/plot_transient_movie.m
r18256 r19744 62 62 63 63 clf; 64 titlestring=[field ' at time ' num2str(results(i).time /md.constants.yts) ' year'];64 titlestring=[field ' at time ' num2str(results(i).time) ' year']; 65 65 plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options) 66 66 apply_options_movie(md,options,titlestring);
Note:
See TracChangeset
for help on using the changeset viewer.