Changeset 23093
- Timestamp:
- 08/16/18 13:32:45 (7 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp
r23020 r23093 32 32 33 33 /*Add input to elements*/ 34 iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); 35 iomodel->FetchDataToInput(elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); 36 iomodel->FetchDataToInput(elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); 34 37 iomodel->FetchDataToInput(elements,"md.hydrology.drainage_rate",HydrologyDrainageRateEnum); 35 iomodel->FetchDataToInput(elements,"md. hydrology.watercolumn",WatercolumnEnum,0.);38 iomodel->FetchDataToInput(elements,"md.initialization.watercolumn",WatercolumnEnum,0.); 36 39 }/*}}}*/ 37 40 void HydrologyPismAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ … … 46 49 if(hydrology_model!=HydrologypismEnum) return; 47 50 parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model)); 51 52 /*Requested outputs*/ 53 iomodel->FindConstant(&requestedoutputs,&numoutputs,"md.hydrology.requested_outputs"); 54 parameters->AddObject(new IntParam(HydrologyNumRequestedOutputsEnum,numoutputs)); 55 if(numoutputs)parameters->AddObject(new StringArrayParam(HydrologyRequestedOutputsEnum,requestedoutputs,numoutputs)); 56 iomodel->DeleteData(&requestedoutputs,numoutputs,"md.hydrology.requested_outputs"); 48 57 49 58 /*Nothing else to add for now*/ … … 98 107 /*Retrieve all inputs and parameters*/ 99 108 element->FindParam(&dt,TimesteppingTimeStepEnum); 109 IssmDouble rho_ice = element->GetMaterialParameter(MaterialsRhoIceEnum); 110 IssmDouble rho_water = element->GetMaterialParameter(MaterialsRhoFreshwaterEnum); 100 111 101 112 /*Get water column and drainage rate*/ … … 109 120 110 121 /*Add water*/ 111 for(int i=0;i<numvertices;i++) watercolumn[i] += (meltingrate[i] -drainagerate[i])*dt;122 for(int i=0;i<numvertices;i++) watercolumn[i] += (meltingrate[i]/rho_ice*rho_water-drainagerate[i])*dt; 112 123 113 124 /* Divide by connectivity, add degree of channelization as an input */ -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r23087 r23093 771 771 analyses_temp[numanalyses++]=HydrologyShreveAnalysisEnum; 772 772 analyses_temp[numanalyses++]=HydrologyShaktiAnalysisEnum; 773 analyses_temp[numanalyses++]=HydrologyPismAnalysisEnum; 773 774 analyses_temp[numanalyses++]=HydrologyDCInefficientAnalysisEnum; 774 775 analyses_temp[numanalyses++]=HydrologyDCEfficientAnalysisEnum; -
issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
r23066 r23093 150 150 } 151 151 else if(hydrology_model==HydrologyshaktiEnum){ 152 /*Nothing to add*/ 153 } 154 else if(hydrology_model==HydrologypismEnum){ 152 155 /*Nothing to add*/ 153 156 } -
issm/trunk-jpl/src/c/cores/hydrology_core.cpp
r23020 r23093 13 13 14 14 /*intermediary*/ 15 int 16 int 17 int numoutputs =0;18 bool 19 bool modify_loads =true;20 char 21 IssmDouble 15 int hydrology_model; 16 int solution_type; 17 int numoutputs = 0; 18 bool save_results; 19 bool modify_loads = true; 20 char **requested_outputs = NULL; 21 IssmDouble ThawedNodes; 22 22 23 23 /*first recover parameters common to all solutions*/ … … 46 46 else if (hydrology_model==HydrologydcEnum){ 47 47 /*intermediary: */ 48 bool 49 bool 50 int 51 IssmDouble 52 IssmDouble 48 bool isefficientlayer; 49 bool isthermal; 50 int step,hydroslices; 51 IssmDouble time,init_time,hydrotime,yts; 52 IssmDouble dt,hydrodt; 53 53 54 54 femmodel->parameters->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum); -
issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
r23020 r23093 204 204 case 2: return HydrologyshreveEnum; 205 205 case 3: return HydrologyshaktiEnum; 206 case 4: return HydrologypismEnum; 206 207 default: _error_("Marshalled hydrology code \""<<enum_in<<"\" not supported yet"); 207 208 } -
issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscSolver.cpp
r22594 r23093 115 115 KSPGetPC(ksp,&pc); 116 116 if (solver_type==MUMPSPACKAGE_LU){ 117 #if defined(_HAVE_PETSCDEV_)117 #if (_PETSC_MAJOR_==3) && (_PETSC_MINOR_>=9) 118 118 PCFactorSetMatSolverType(pc,MATSOLVERMUMPS); 119 119 #else -
issm/trunk-jpl/src/m/classes/hydrologypism.m
r23020 r23093 47 47 WriteData(fid,prefix,'name','md.hydrology.model','data',4,'format','Integer'); 48 48 WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','drainage_rate','format','DoubleMat','mattype',1,'scale',1./(1000.*yts)); %from mm/yr to m/s 49 WriteData(fid,prefix,'data',{'Watercolumn'},'name','md.hydrology.requested_outputs','format','StringArray'); 49 50 end % }}} 50 51 end -
issm/trunk-jpl/src/m/classes/hydrologyshreve.m
r22998 r23093 8 8 spcwatercolumn = NaN; 9 9 stabilization = 0; 10 10 requested_outputs = {}; 11 11 end 12 12 methods
Note:
See TracChangeset
for help on using the changeset viewer.