Changeset 9646
- Timestamp:
- 09/07/11 09:36:52 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 6 added
- 4 deleted
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9642 r9646 32 32 HydrologyQEnum, 33 33 HydrologyCREnum, 34 HydrologyStabilizationEnum, 34 35 SettingsLowmemEnum, 35 36 SettingsIoGatherEnum, … … 71 72 MaskVertexonfloatingiceEnum, 72 73 MaskVertexonwaterEnum, 74 BalancethicknessSpcthicknessEnum, 75 BalancethicknessThickeningRateEnum, 76 BalancethicknessStabilizationEnum, 77 BalancethicknessRequestedOutputsEnum, 73 78 /*}}}*/ 74 79 /*Datasets {{{1*/ … … 427 432 YEnum, 428 433 ElementsTypeEnum, 429 PrognosticDGEnum,430 434 PenaltiesEnum, 431 435 PressureloadEnum, … … 438 442 NodeonmacayealEnum, 439 443 ZEnum, 440 SpcthicknessEnum,441 444 PenaltyLockEnum, 442 445 SpcvxEnum, … … 447 450 NumCmResponsesEnum, 448 451 ElementconnectivityEnum, 449 ArtificialDiffusivityEnum,450 452 NumlayersEnum, 451 453 DiagnosticRefEnum, … … 455 457 StokesreconditioningEnum, 456 458 LowerelementsEnum, 457 DhdtEnum,458 459 IsprognosticEnum, 459 460 IsdiagnosticEnum, -
issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
r9636 r9646 17 17 case MaterialsRheologyBEnum : return "rheology_B"; 18 18 case MaterialsRheologyBbarEnum : return "rheology_B"; 19 case DhdtEnum: return "dhdt";19 case BalancethicknessThickeningRateEnum: return "dhdt"; 20 20 case VxEnum : return "vx"; 21 21 case VxObsEnum : return "vx_obs"; -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9642 r9646 36 36 case HydrologyQEnum : return "HydrologyQ"; 37 37 case HydrologyCREnum : return "HydrologyCR"; 38 case HydrologyStabilizationEnum : return "HydrologyStabilization"; 38 39 case SettingsLowmemEnum : return "SettingsLowmem"; 39 40 case SettingsIoGatherEnum : return "SettingsIoGather"; … … 75 76 case MaskVertexonfloatingiceEnum : return "MaskVertexonfloatingice"; 76 77 case MaskVertexonwaterEnum : return "MaskVertexonwater"; 78 case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness"; 79 case BalancethicknessThickeningRateEnum : return "BalancethicknessThickeningRate"; 80 case BalancethicknessStabilizationEnum : return "BalancethicknessStabilization"; 81 case BalancethicknessRequestedOutputsEnum : return "BalancethicknessRequestedOutputs"; 77 82 case ConstraintsEnum : return "Constraints"; 78 83 case ElementsEnum : return "Elements"; … … 371 376 case YEnum : return "Y"; 372 377 case ElementsTypeEnum : return "ElementsType"; 373 case PrognosticDGEnum : return "PrognosticDG";374 378 case PenaltiesEnum : return "Penalties"; 375 379 case PressureloadEnum : return "Pressureload"; … … 382 386 case NodeonmacayealEnum : return "Nodeonmacayeal"; 383 387 case ZEnum : return "Z"; 384 case SpcthicknessEnum : return "Spcthickness";385 388 case PenaltyLockEnum : return "PenaltyLock"; 386 389 case SpcvxEnum : return "Spcvx"; … … 391 394 case NumCmResponsesEnum : return "NumCmResponses"; 392 395 case ElementconnectivityEnum : return "Elementconnectivity"; 393 case ArtificialDiffusivityEnum : return "ArtificialDiffusivity";394 396 case NumlayersEnum : return "Numlayers"; 395 397 case DiagnosticRefEnum : return "DiagnosticRef"; … … 399 401 case StokesreconditioningEnum : return "Stokesreconditioning"; 400 402 case LowerelementsEnum : return "Lowerelements"; 401 case DhdtEnum : return "Dhdt";402 403 case IsprognosticEnum : return "Isprognostic"; 403 404 case IsdiagnosticEnum : return "Isdiagnostic"; -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp
r9405 r9646 10 10 void CreateConstraintsBalancethickness(Constraints** pconstraints, IoModel* iomodel){ 11 11 12 int prognostic_DG;12 int stabilization; 13 13 14 14 /*Fetch parameters: */ 15 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);15 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 16 16 17 17 /*Output*/ … … 25 25 26 26 /*Do not add constraints in DG*/ 27 if(! prognostic_DG){28 IoModelToConstraintsx(constraints,iomodel, SpcthicknessEnum,BalancethicknessAnalysisEnum);27 if(!stabilization==3){ 28 IoModelToConstraintsx(constraints,iomodel,BalancethicknessSpcthicknessEnum,BalancethicknessAnalysisEnum); 29 29 } 30 30 -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp
r9405 r9646 16 16 int i; 17 17 int element; 18 int prognostic_DG;18 int stabilization; 19 19 int numberofedges; 20 20 21 21 /*Fetch parameters: */ 22 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);22 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 23 23 iomodel->Constant(&numberofedges,NumberOfEdgesEnum); 24 24 … … 33 33 34 34 /*Loads only in DG*/ 35 if ( prognostic_DG){35 if (stabilization==3){ 36 36 37 37 /*Get edges and elements*/ -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
r9641 r9646 24 24 int numberofelements; 25 25 int numberofvertices; 26 int prognostic_DG;26 int stabilization; 27 27 28 28 /*DataSets: */ … … 33 33 iomodel->Constant(&numberofelements,NumberOfElementsEnum); 34 34 iomodel->Constant(&numberofvertices,NumberOfVerticesEnum); 35 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);35 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 36 36 37 37 /*Recover pointer: */ … … 42 42 43 43 /*Continuous Galerkin partition of nodes: */ 44 if( prognostic_DG) continuous_galerkin=false;44 if(stabilization==3) continuous_galerkin=false; 45 45 NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,continuous_galerkin); 46 46 47 47 /*Check in 3d*/ 48 if( prognostic_DG&& dim==3) _error_("DG 3d not implemented yet");48 if(stabilization==3 && dim==3) _error_("DG 3d not implemented yet"); 49 49 50 50 /*First fetch data: */ -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
r9641 r9646 45 45 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 46 46 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 47 iomodel->FetchDataToInput(elements, DhdtEnum);47 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 48 48 49 49 if (dim==3){ -
issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r9636 r9646 43 43 for(i=0;i<num_control_type;i++){ 44 44 switch((int)iomodel->Data(ControlTypeEnum)[i]){ 45 case DhdtEnum: iomodel->FetchData(1,DhdtEnum); break;45 case BalancethicknessThickeningRateEnum: iomodel->FetchData(1,BalancethicknessThickeningRateEnum); break; 46 46 case VxEnum: iomodel->FetchData(1,VxEnum); break; 47 47 case VyEnum: iomodel->FetchData(1,VyEnum); break; … … 66 66 67 67 /*Free data: */ 68 iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum, DhdtEnum,VxEnum,VyEnum,FrictionCoefficientEnum,MaterialsRheologyBEnum);68 iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,BalancethicknessThickeningRateEnum,VxEnum,VyEnum,FrictionCoefficientEnum,MaterialsRheologyBEnum); 69 69 } -
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
r9642 r9646 47 47 parameters->AddObject(iomodel->CopyConstantObject(ConnectivityEnum)); 48 48 parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum)); 49 parameters->AddObject(iomodel->CopyConstantObject(ArtificialDiffusivityEnum)); 49 parameters->AddObject(iomodel->CopyConstantObject(BalancethicknessStabilizationEnum)); 50 parameters->AddObject(iomodel->CopyConstantObject(HydrologyStabilizationEnum)); 50 51 parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMeltingRateEnum)); 51 52 parameters->AddObject(iomodel->CopyConstantObject(ThermalMaxiterEnum)); -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9642 r9646 34 34 else if (strcmp(name,"HydrologyQ")==0) return HydrologyQEnum; 35 35 else if (strcmp(name,"HydrologyCR")==0) return HydrologyCREnum; 36 else if (strcmp(name,"HydrologyStabilization")==0) return HydrologyStabilizationEnum; 36 37 else if (strcmp(name,"SettingsLowmem")==0) return SettingsLowmemEnum; 37 38 else if (strcmp(name,"SettingsIoGather")==0) return SettingsIoGatherEnum; … … 73 74 else if (strcmp(name,"MaskVertexonfloatingice")==0) return MaskVertexonfloatingiceEnum; 74 75 else if (strcmp(name,"MaskVertexonwater")==0) return MaskVertexonwaterEnum; 76 else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum; 77 else if (strcmp(name,"BalancethicknessThickeningRate")==0) return BalancethicknessThickeningRateEnum; 78 else if (strcmp(name,"BalancethicknessStabilization")==0) return BalancethicknessStabilizationEnum; 79 else if (strcmp(name,"BalancethicknessRequestedOutputs")==0) return BalancethicknessRequestedOutputsEnum; 75 80 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 76 81 else if (strcmp(name,"Elements")==0) return ElementsEnum; … … 369 374 else if (strcmp(name,"Y")==0) return YEnum; 370 375 else if (strcmp(name,"ElementsType")==0) return ElementsTypeEnum; 371 else if (strcmp(name,"PrognosticDG")==0) return PrognosticDGEnum;372 376 else if (strcmp(name,"Penalties")==0) return PenaltiesEnum; 373 377 else if (strcmp(name,"Pressureload")==0) return PressureloadEnum; … … 380 384 else if (strcmp(name,"Nodeonmacayeal")==0) return NodeonmacayealEnum; 381 385 else if (strcmp(name,"Z")==0) return ZEnum; 382 else if (strcmp(name,"Spcthickness")==0) return SpcthicknessEnum;383 386 else if (strcmp(name,"PenaltyLock")==0) return PenaltyLockEnum; 384 387 else if (strcmp(name,"Spcvx")==0) return SpcvxEnum; … … 389 392 else if (strcmp(name,"NumCmResponses")==0) return NumCmResponsesEnum; 390 393 else if (strcmp(name,"Elementconnectivity")==0) return ElementconnectivityEnum; 391 else if (strcmp(name,"ArtificialDiffusivity")==0) return ArtificialDiffusivityEnum;392 394 else if (strcmp(name,"Numlayers")==0) return NumlayersEnum; 393 395 else if (strcmp(name,"DiagnosticRef")==0) return DiagnosticRefEnum; … … 397 399 else if (strcmp(name,"Stokesreconditioning")==0) return StokesreconditioningEnum; 398 400 else if (strcmp(name,"Lowerelements")==0) return LowerelementsEnum; 399 else if (strcmp(name,"Dhdt")==0) return DhdtEnum;400 401 else if (strcmp(name,"Isprognostic")==0) return IsprognosticEnum; 401 402 else if (strcmp(name,"Isdiagnostic")==0) return IsdiagnosticEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9642 r9646 5172 5172 for(i=0;i<num_control_type;i++){ 5173 5173 switch((int)iomodel->Data(ControlTypeEnum)[i]){ 5174 case DhdtEnum:5175 if (iomodel->Data( DhdtEnum)){5176 for(j=0;j<6;j++)nodeinputs[j]=iomodel->Data( DhdtEnum)[penta_vertex_ids[j]-1]/yts;5174 case BalancethicknessThickeningRateEnum: 5175 if (iomodel->Data(BalancethicknessThickeningRateEnum)){ 5176 for(j=0;j<6;j++)nodeinputs[j]=iomodel->Data(BalancethicknessThickeningRateEnum)[penta_vertex_ids[j]-1]/yts; 5177 5177 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 5178 5178 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 5179 this->inputs->AddInput(new ControlInput( DhdtEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));5179 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 5180 5180 } 5181 5181 break; -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9642 r9646 870 870 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 871 871 this->parameters->FindParam(&dt,TimesteppingTimeStepEnum); 872 this->parameters->FindParam(&artdiff, ArtificialDiffusivityEnum);872 this->parameters->FindParam(&artdiff,HydrologyStabilizationEnum); 873 873 Input* vx_input=inputs->GetInput(HydrologyWaterVxEnum); _assert_(vx_input); 874 874 Input* vy_input=inputs->GetInput(HydrologyWaterVyEnum); _assert_(vy_input); … … 1316 1316 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1317 1317 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 1318 Input* dhdt_input=inputs->GetInput( DhdtEnum); _assert_(dhdt_input);1318 Input* dhdt_input=inputs->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); 1319 1319 1320 1320 /* Start looping on the number of gaussian points: */ … … 1359 1359 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1360 1360 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 1361 Input* dhdt_input=inputs->GetInput( DhdtEnum); _assert_(dhdt_input);1361 Input* dhdt_input=inputs->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); 1362 1362 1363 1363 /* Start looping on the number of gaussian points: */ … … 2696 2696 GradjBMacAyeal(gradient); 2697 2697 break; 2698 case DhdtEnum:2698 case BalancethicknessThickeningRateEnum: 2699 2699 GradjDhDtBalancedthickness(gradient); 2700 2700 break; … … 3285 3285 for(i=0;i<num_control_type;i++){ 3286 3286 switch((int)iomodel->Data(ControlTypeEnum)[i]){ 3287 case DhdtEnum:3288 if (iomodel->Data( DhdtEnum)){3289 for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data( DhdtEnum)[tria_vertex_ids[j]-1]/yts;3287 case BalancethicknessThickeningRateEnum: 3288 if (iomodel->Data(BalancethicknessThickeningRateEnum)){ 3289 for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data(BalancethicknessThickeningRateEnum)[tria_vertex_ids[j]-1]/yts; 3290 3290 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 3291 3291 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 3292 this->inputs->AddInput(new ControlInput( DhdtEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));3292 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 3293 3293 } 3294 3294 break; -
issm/trunk/src/c/shared/Numerics/UnitConversion.cpp
r9628 r9646 58 58 case VelEnum: scale=yts;break; //m/yr 59 59 case VelObsEnum: scale=yts;break; //m/yr 60 case DhdtEnum:scale=yts;break; //m/yr60 case BalancethicknessThickeningRateEnum: scale=yts;break; //m/yr 61 61 case BasalforcingsMeltingRateEnum: scale=yts;break; //m/yr 62 62 case BasalforcingsMeltingRateCorrectionEnum: scale=yts;break; //m/yr -
issm/trunk/src/m/classes/hydrology.m
r9617 r9646 12 12 q = modelfield('default',0,'marshall',true,'format','Double'); 13 13 kn = modelfield('default',0,'marshall',true,'format','Double'); 14 stabilization = modelfield('default',0,'marshall',true,'format','Integer'); 14 15 end 15 16 methods … … 44 45 obj.q=1; 45 46 obj.kn=0; 47 48 %Type of stabilization to use 0:nothing 1:artificial_diffusivity 49 obj.stabilization=1; 46 50 end % }}} 47 51 end -
issm/trunk/src/m/classes/model/model.m
r9642 r9646 30 30 materials = modelfield('default',0,'marshall',true); 31 31 mask = modelfield('default',0,'marshall',true); 32 balancethickness = modelfield('default',0,'marshall',true); 32 33 33 34 %FIXME: all other fields should belong to other classes … … 122 123 spcvy = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 123 124 spcvz = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 124 spcthickness = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);125 125 diagnostic_ref = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 126 126 … … 130 130 vel_obs = modelfield('default',NaN,'marshall',false); 131 131 132 dhdt = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);133 132 thickness_obs = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 134 133 … … 143 142 144 143 %Transient 145 artificial_diffusivity = modelfield('default',0,'marshall',true,'format','Integer');146 144 isprognostic = modelfield('default',0,'marshall',true,'format','Boolean'); 147 145 isdiagnostic = modelfield('default',0,'marshall',true,'format','Boolean'); … … 411 409 if isfield(structmd,'nodeonicesheet'), md.mask.vertexongroundedice=structmd.nodeonicesheet; end 412 410 if isfield(structmd,'nodeonwater'), md.mask.vertexonwater=structmd.nodeonwater; end 411 if isfield(structmd,'spcthickness'), md.balancethickness.spcthickness=structmd.spcthickness; end 412 if isfield(structmd,'artificial_diffusivity'), md.balancethickness.stabilization=structmd.artificial_diffusivity; end 413 if isfield(structmd,'dhdt'), md.balancethickness.thickening_rate=structmd.dhdt; end 413 414 414 415 %Field changes … … 532 533 md.materials=materials; 533 534 md.mask=mask; 534 535 %Physical parameters 535 md.balancethickness=balancethickness; 536 536 537 537 %Solver parameters … … 592 592 %parameter is often used. 593 593 md.min_mechanical_constraints=0; 594 595 %the artificial diffusivity is used in prognostic to avoid596 %numerical wiggles of the solution.597 md.artificial_diffusivity=1;598 594 599 595 %Solution activated for transient runs. By default we do a -
issm/trunk/src/m/classes/prognostic.m
r9642 r9646 51 51 52 52 disp(sprintf('\n transient:')); 53 fielddisplay(obj,'stabilization','0->no, 1->artificial_diffusivity, 3- :discontinuous Galerkin');53 fielddisplay(obj,'stabilization','0->no, 1->artificial_diffusivity, 3->discontinuous Galerkin'); 54 54 55 55 disp(sprintf('\n boundary conditions:')); -
issm/trunk/src/m/model/collapse.m
r9642 r9646 32 32 md.surfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md.numlayers); 33 33 end; 34 if ~isnan(md. dhdt), md.dhdt=project2d(md,md.dhdt,md.numlayers); end;34 if ~isnan(md.balancethickness.thickening_rate), md.balancethickness.thickening_rate=project2d(md,md.balancethickness.thickening_rate,md.numlayers); end; 35 35 36 36 %results -
issm/trunk/src/m/model/extrude.m
r9642 r9646 137 137 md.surfaceforcings.accumulation_rate=project3d(md,'vector',md.surfaceforcings.accumulation_rate,'type','node'); 138 138 md.surfaceforcings.ablation_rate=project3d(md,'vector',md.surfaceforcings.ablation_rate,'type','node'); 139 md. dhdt=project3d(md,'vector',md.dhdt,'type','node');139 md.balancethickness.thickening_rate=project3d(md,'vector',md.balancethickness.thickening_rate,'type','node'); 140 140 141 141 %results -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9642 r9646 163 163 %}}} 164 164 %FLAGS (0 or 1){{{1 165 if ~ismember(md.artificial_diffusivity,[0 1 2]),166 message('model not consistent: artificial_diffusivity should be a scalar (0 or 1 or 2)');167 end168 165 if ~ismember(md.prognostic.stabilization,[0 1 3]), 169 166 message('model not consistent: prognostic.stabilization should be a scalar (0 or 1 or 3)'); … … 171 168 if ~ismember(md.thermal.stabilization,[0 1 2]), 172 169 message('model not consistent: thermal.stabilization should be a scalar (0 or 1 or 2)'); 170 end 171 if ~ismember(md.balancethickness.stabilization,[0 1 3]), 172 message('model not consistent: balancethickness.stabilization should be a scalar (0 or 1 or 3)'); 173 173 end 174 174 if ~ismember(md.settings.lowmem,[0 1]), … … 245 245 if any(md.thickness<=0), 246 246 pos=find(md.thickness<=0); 247 if any(isnan(md. spcthickness(pos))),247 if any(isnan(md.balancethickness.spcthickness(pos))), 248 248 message(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']); 249 249 end … … 567 567 % {{{2 568 568 %VELOCITIES MELTING AND ACCUMULATION 569 fields={'vx','vy','basalforcings.melting_rate',' dhdt'};569 fields={'vx','vy','basalforcings.melting_rate','balancethickness.thickeningrate'}; 570 570 checksize(md,fields,[md.numberofnodes 1]); 571 571 checknan(md,fields); -
issm/trunk/src/m/utils/BC/SetIceSheetBC.m
r9642 r9646 50 50 disp(' no basalforcings.melting_rate specified: values set as zero'); 51 51 end 52 if isnan(md. dhdt),53 md. dhdt=zeros(md.numberofnodes,1);54 disp(' no dhdtspecified: values set as zero');52 if isnan(md.balancethickness.thickening_rate), 53 md.balancethickness.thickening_rate=zeros(md.numberofnodes,1); 54 disp(' no balancethickness.thickening_rate specified: values set as zero'); 55 55 end 56 56 -
issm/trunk/src/m/utils/BC/SetIceShelfBC.m
r9642 r9646 82 82 disp(' no basalforcings.melting_rate specified: values set as zero'); 83 83 end 84 if isnan(md. dhdt),85 md. dhdt=zeros(md.numberofnodes,1);86 disp(' no dhdtspecified: values set as zero');84 if isnan(md.balancethickness.thickening_rate), 85 md.balancethickness.thickening_rate=zeros(md.numberofnodes,1); 86 disp(' no balancethickness.thickening_rate specified: values set as zero'); 87 87 end 88 88 -
issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
r9642 r9646 93 93 disp(' no basalforcings.melting_rate specified: values set as zero'); 94 94 end 95 if isnan(md. dhdt),96 md. dhdt=zeros(md.numberofnodes,1);97 disp(' no dhdtspecified: values set as zero');95 if isnan(md.balancethickness.thickening_rate), 96 md.balancethickness.thickening_rate=zeros(md.numberofnodes,1); 97 disp(' no balancethickness.thickening_rate specified: values set as zero'); 98 98 end 99 99
Note:
See TracChangeset
for help on using the changeset viewer.