Changeset 27535
- Timestamp:
- 01/23/23 11:47:13 (2 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp
r27470 r27535 133 133 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.geothermalflux",BasalforcingsGeothermalfluxEnum); 134 134 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); 135 iomodel->FetchDataToInput(inputs,elements,"md.smb.runoff",SmbRunoffEnum); 135 136 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 136 137 iomodel->FetchDataToInput(inputs,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum); … … 313 314 314 315 /*Intermediaries */ 315 boolmeltflag;316 int meltflag; 316 317 IssmDouble Jdet,w,v2,vx,vy,ub,h,h_r; 317 IssmDouble G,m, frictionheat,alpha2;318 IssmDouble G,m,melt,RO,frictionheat,alpha2; 318 319 IssmDouble A,B,n,phi_old,phi,phi_0; 319 320 IssmDouble H,b; … … 342 343 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 343 344 Input* G_input = element->GetInput(BasalforcingsGeothermalfluxEnum);_assert_(G_input); 344 Input* m_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);_assert_(m_input); 345 Input* melt_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);_assert_(melt_input); 346 Input* RO_input = element->GetInput(SmbRunoffEnum);_assert_(RO_input); 345 347 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 346 348 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); … … 367 369 b_input->GetInputValue(&b,gauss); 368 370 H_input->GetInputValue(&H,gauss); 369 371 melt_input->GetInputValue(&melt,gauss); 372 RO_input->GetInputValue(&RO,gauss); 373 370 374 /*Hard code B*/ 371 375 B = Cuffey(273.15-2); … … 384 388 385 389 /*Compute melt (if necessary)*/ 386 if( !meltflag){390 if(meltflag = 0){ 387 391 m = (G + frictionheat)/(rho_ice*L); 388 392 } 393 if(meltflag = 1){ 394 m = melt; 395 } 389 396 else{ 390 m _input->GetInputValue(&m,gauss);397 m = RO; 391 398 } 392 399 … … 643 650 644 651 /*Get A from B and n*/ 645 A =pow(B,-n);652 A = pow(B,-n); 646 653 647 654 /*Define alpha and beta*/ -
issm/trunk-jpl/src/m/classes/hydrologyglads.m
r27443 r27535 80 80 md = checkfield(md,'fieldname','hydrology.neumannflux','timeseries',1,'NaN',1,'Inf',1); 81 81 md = checkfield(md,'fieldname','hydrology.requested_outputs','stringrow',1); 82 md = checkfield(md,'fieldname','hydrology.melt_flag','numel',[1],'values',[0 1 ]);83 if self.melt_flag 82 md = checkfield(md,'fieldname','hydrology.melt_flag','numel',[1],'values',[0 1 2]); 83 if self.melt_flag==1 || self.melt_flag==2 84 84 md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1); 85 85 end … … 126 126 WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','moulin_input','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 127 127 WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','englacial_void_ratio','format','Double'); 128 WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','melt_flag','format',' Boolean');128 WriteData(fid,prefix,'object',self,'class','hydrology','fieldname','melt_flag','format','Integer'); 129 129 outputs = self.requested_outputs; 130 130 pos = find(ismember(outputs,'default'));
Note:
See TracChangeset
for help on using the changeset viewer.