Changeset 9607 for issm/trunk
- Timestamp:
- 09/06/11 10:08:46 (14 years ago)
- Location:
- issm/trunk
- Files:
-
- 40 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9597 r9607 11 11 12 12 enum definitions{ 13 /*model fields {{{1*/ 14 ConstantsGEnum, 15 ConstantsReferencetemperatureEnum, 16 ConstantsYtsEnum, 17 SurfaceforcingsAccumulationRateEnum, 18 SurfaceforcingsAblationRateEnum, 19 SurfaceforcingsMassBalanceEnum, 20 /*}}}*/ 13 21 /*Datasets {{{1*/ 14 22 ConstraintsEnum, … … 213 221 ShelfDampeningEnum, 214 222 StabilizeConstraintsEnum, 215 SurfaceAccumulationRateEnum,216 SurfaceAblationRateEnum,217 223 SurfaceAreaEnum, 218 224 SurfaceEnum, 219 SurfaceMassBalanceEnum,220 225 SurfaceSlopeXEnum, 221 226 SurfaceSlopeYEnum, … … 363 368 SsetEnum, 364 369 GroundinglineMigrationEnum, 365 ConstantsYtsEnum,366 370 /*}}}*/ 367 371 /*Interpolation {{{1*/ … … 412 416 VerticesTypeEnum, 413 417 HydroKnEnum, 414 ConstantsGEnum,415 418 SpcvzEnum, 416 419 NumberOfNodes2DEnum, … … 446 449 ThermalconductivityEnum, 447 450 MeltingpointEnum, 448 ConstantsReferencetemperatureEnum,449 451 DhdtEnum, 450 452 GeothermalfluxEnum, -
issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
r9356 r9607 23 23 case VyObsEnum : return "vy_obs"; 24 24 case BasalMeltingRateEnum : return "basal_melting_rate"; 25 case Surface AccumulationRateEnum : return "surface_accumulation_rate";26 case Surface AblationRateEnum : return "surface_ablation_rate";27 case Surface MassBalanceEnum : return "surface_mass_balance";25 case SurfaceforcingsAccumulationRateEnum : return "surface_accumulation_rate"; 26 case SurfaceforcingsAblationRateEnum : return "surface_ablation_rate"; 27 case SurfaceforcingsMassBalanceEnum : return "surface_mass_balance"; 28 28 default : _error_("No model field is associated to enum %s",EnumToStringx(en)); 29 29 } -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9597 r9607 16 16 switch(en){ 17 17 18 case ConstantsGEnum : return "ConstantsG"; 19 case ConstantsReferencetemperatureEnum : return "ConstantsReferencetemperature"; 20 case ConstantsYtsEnum : return "ConstantsYts"; 21 case SurfaceforcingsAccumulationRateEnum : return "SurfaceforcingsAccumulationRate"; 22 case SurfaceforcingsAblationRateEnum : return "SurfaceforcingsAblationRate"; 23 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 18 24 case ConstraintsEnum : return "Constraints"; 19 25 case ElementsEnum : return "Elements"; … … 182 188 case ShelfDampeningEnum : return "ShelfDampening"; 183 189 case StabilizeConstraintsEnum : return "StabilizeConstraints"; 184 case SurfaceAccumulationRateEnum : return "SurfaceAccumulationRate";185 case SurfaceAblationRateEnum : return "SurfaceAblationRate";186 190 case SurfaceAreaEnum : return "SurfaceArea"; 187 191 case SurfaceEnum : return "Surface"; 188 case SurfaceMassBalanceEnum : return "SurfaceMassBalance";189 192 case SurfaceSlopeXEnum : return "SurfaceSlopeX"; 190 193 case SurfaceSlopeYEnum : return "SurfaceSlopeY"; … … 314 317 case SsetEnum : return "Sset"; 315 318 case GroundinglineMigrationEnum : return "GroundinglineMigration"; 316 case ConstantsYtsEnum : return "ConstantsYts";317 319 case TriangleInterpEnum : return "TriangleInterp"; 318 320 case BilinearInterpEnum : return "BilinearInterp"; … … 355 357 case VerticesTypeEnum : return "VerticesType"; 356 358 case HydroKnEnum : return "HydroKn"; 357 case ConstantsGEnum : return "ConstantsG";358 359 case SpcvzEnum : return "Spcvz"; 359 360 case NumberOfNodes2DEnum : return "NumberOfNodes2D"; … … 389 390 case ThermalconductivityEnum : return "Thermalconductivity"; 390 391 case MeltingpointEnum : return "Meltingpoint"; 391 case ConstantsReferencetemperatureEnum : return "ConstantsReferencetemperature";392 392 case DhdtEnum : return "Dhdt"; 393 393 case GeothermalfluxEnum : return "Geothermalflux"; -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
r9405 r9607 42 42 iomodel->FetchDataToInput(elements,VyEnum); 43 43 iomodel->FetchDataToInput(elements,BasalMeltingRateEnum); 44 iomodel->FetchDataToInput(elements,Surface AccumulationRateEnum);45 iomodel->FetchDataToInput(elements,Surface AblationRateEnum);46 iomodel->FetchDataToInput(elements,Surface MassBalanceEnum);44 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 45 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 46 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 47 47 iomodel->FetchDataToInput(elements,DhdtEnum); 48 48 -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r9571 r9607 67 67 iomodel->FetchDataToInput(elements,ElementOnSurfaceEnum); 68 68 iomodel->FetchDataToInput(elements,VzEnum); 69 iomodel->FetchDataToInput(elements,Surface AccumulationRateEnum);70 iomodel->FetchDataToInput(elements,Surface AblationRateEnum);71 iomodel->FetchDataToInput(elements,Surface MassBalanceEnum);69 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 70 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 71 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 72 72 iomodel->FetchDataToInput(elements,BasalMeltingRateEnum); 73 73 iomodel->FetchDataToInput(elements,NodeOnStokesEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
r9405 r9607 48 48 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 49 49 iomodel->FetchDataToInput(elements,BasalMeltingRateEnum); 50 iomodel->FetchDataToInput(elements,Surface AccumulationRateEnum);51 iomodel->FetchDataToInput(elements,Surface AblationRateEnum);52 iomodel->FetchDataToInput(elements,Surface MassBalanceEnum);50 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 51 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 52 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 53 53 iomodel->FetchDataToInput(elements,VxEnum); 54 54 iomodel->FetchDataToInput(elements,VyEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r9405 r9607 53 53 iomodel->FetchDataToInput(elements,RheologyBEnum); 54 54 iomodel->FetchDataToInput(elements,RheologyNEnum); 55 iomodel->FetchDataToInput(elements,Surface AccumulationRateEnum);56 iomodel->FetchDataToInput(elements,Surface AblationRateEnum);57 iomodel->FetchDataToInput(elements,Surface MassBalanceEnum);55 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 56 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 57 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 58 58 iomodel->FetchDataToInput(elements,BasalMeltingRateEnum); 59 59 iomodel->FetchDataToInput(elements,PressureEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r9405 r9607 41 41 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 42 42 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 43 iomodel->FetchDataToInput(elements,Surface AccumulationRateEnum);44 iomodel->FetchDataToInput(elements,Surface AblationRateEnum);45 iomodel->FetchDataToInput(elements,Surface MassBalanceEnum);43 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 44 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 45 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 46 46 iomodel->FetchDataToInput(elements,BasalMeltingRateEnum); 47 47 iomodel->FetchDataToInput(elements,BasalMeltingRateCorrectionEnum); -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9597 r9607 14 14 int StringToEnumx(char* name){ 15 15 16 if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 16 if (strcmp(name,"ConstantsG")==0) return ConstantsGEnum; 17 else if (strcmp(name,"ConstantsReferencetemperature")==0) return ConstantsReferencetemperatureEnum; 18 else if (strcmp(name,"ConstantsYts")==0) return ConstantsYtsEnum; 19 else if (strcmp(name,"SurfaceforcingsAccumulationRate")==0) return SurfaceforcingsAccumulationRateEnum; 20 else if (strcmp(name,"SurfaceforcingsAblationRate")==0) return SurfaceforcingsAblationRateEnum; 21 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 22 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 17 23 else if (strcmp(name,"Elements")==0) return ElementsEnum; 18 24 else if (strcmp(name,"Loads")==0) return LoadsEnum; … … 180 186 else if (strcmp(name,"ShelfDampening")==0) return ShelfDampeningEnum; 181 187 else if (strcmp(name,"StabilizeConstraints")==0) return StabilizeConstraintsEnum; 182 else if (strcmp(name,"SurfaceAccumulationRate")==0) return SurfaceAccumulationRateEnum;183 else if (strcmp(name,"SurfaceAblationRate")==0) return SurfaceAblationRateEnum;184 188 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum; 185 189 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 186 else if (strcmp(name,"SurfaceMassBalance")==0) return SurfaceMassBalanceEnum;187 190 else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum; 188 191 else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; … … 312 315 else if (strcmp(name,"Sset")==0) return SsetEnum; 313 316 else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum; 314 else if (strcmp(name,"ConstantsYts")==0) return ConstantsYtsEnum;315 317 else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum; 316 318 else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum; … … 353 355 else if (strcmp(name,"VerticesType")==0) return VerticesTypeEnum; 354 356 else if (strcmp(name,"HydroKn")==0) return HydroKnEnum; 355 else if (strcmp(name,"ConstantsG")==0) return ConstantsGEnum;356 357 else if (strcmp(name,"Spcvz")==0) return SpcvzEnum; 357 358 else if (strcmp(name,"NumberOfNodes2D")==0) return NumberOfNodes2DEnum; … … 387 388 else if (strcmp(name,"Thermalconductivity")==0) return ThermalconductivityEnum; 388 389 else if (strcmp(name,"Meltingpoint")==0) return MeltingpointEnum; 389 else if (strcmp(name,"ConstantsReferencetemperature")==0) return ConstantsReferencetemperatureEnum;390 390 else if (strcmp(name,"Dhdt")==0) return DhdtEnum; 391 391 else if (strcmp(name,"Geothermalflux")==0) return GeothermalfluxEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9597 r9607 6588 6588 name==SurfaceSlopeYEnum || 6589 6589 name==BasalMeltingRateEnum || 6590 name==Surface MassBalanceEnum ||6590 name==SurfaceforcingsMassBalanceEnum || 6591 6591 name==GeothermalfluxEnum || 6592 6592 name==SurfaceAreaEnum|| -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9600 r9607 1314 1314 /*Retrieve all inputs and parameters*/ 1315 1315 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 1316 Input* surface_mass_balance_input=inputs->GetInput(Surface MassBalanceEnum); _assert_(surface_mass_balance_input);1317 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input);1318 Input* dhdt_input=inputs->GetInput(DhdtEnum); _assert_(dhdt_input);1316 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1317 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input); 1318 Input* dhdt_input=inputs->GetInput(DhdtEnum); _assert_(dhdt_input); 1319 1319 1320 1320 /* Start looping on the number of gaussian points: */ … … 1357 1357 /*Retrieve all inputs and parameters*/ 1358 1358 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 1359 Input* surface_mass_balance_input=inputs->GetInput(Surface MassBalanceEnum); _assert_(surface_mass_balance_input);1360 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input);1361 Input* dhdt_input=inputs->GetInput(DhdtEnum); _assert_(dhdt_input);1359 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1360 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input); 1361 Input* dhdt_input=inputs->GetInput(DhdtEnum); _assert_(dhdt_input); 1362 1362 1363 1363 /* Start looping on the number of gaussian points: */ … … 1987 1987 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 1988 1988 this->parameters->FindParam(&dt,DtEnum); 1989 Input* surface_mass_balance_input=inputs->GetInput(Surface MassBalanceEnum); _assert_(surface_mass_balance_input);1990 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input);1989 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1990 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input); 1991 1991 Input* basal_melting_correction_input=inputs->GetInput(BasalMeltingRateCorrectionEnum); 1992 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);1992 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 1993 1993 1994 1994 /*Initialize basal_melting_correction_g to 0, do not forget!:*/ … … 2035 2035 this->parameters->FindParam(&dt,DtEnum); 2036 2036 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 2037 Input* surface_mass_balance_input=inputs->GetInput(Surface MassBalanceEnum); _assert_(surface_mass_balance_input);2038 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input);2039 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);2037 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 2038 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input); 2039 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 2040 2040 2041 2041 /* Start looping on the number of gaussian points: */ … … 3986 3986 name==BasalMeltingRateEnum || 3987 3987 name==WatercolumnEnum || 3988 name==Surface MassBalanceEnum ||3988 name==SurfaceforcingsMassBalanceEnum || 3989 3989 name==SurfaceAreaEnum|| 3990 3990 name==VxEnum || -
issm/trunk/src/c/shared/Numerics/UnitConversion.cpp
r9356 r9607 61 61 case BasalMeltingRateEnum: scale=yts;break; //m/yr 62 62 case BasalMeltingRateCorrectionEnum: scale=yts;break; //m/yr 63 case Surface AccumulationRateEnum: scale=yts;break; //m/yr64 case Surface AblationRateEnum: scale=yts;break; //m/yr65 case Surface MassBalanceEnum: scale=yts;break; //m/yr63 case SurfaceforcingsAccumulationRateEnum: scale=yts;break; //m/yr 64 case SurfaceforcingsAblationRateEnum: scale=yts;break; //m/yr 65 case SurfaceforcingsMassBalanceEnum: scale=yts;break; //m/yr 66 66 case MisfitEnum: scale=pow(yts,2);break; //(m/yr)^2 67 67 case MassFluxEnum: scale=pow(10,-12)*yts;break; // (GigaTon/year) -
issm/trunk/src/c/solutions/transient_core.cpp
r9597 r9607 95 95 if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time); 96 96 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalMeltingRateEnum,step,time); 97 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,Surface MassBalanceEnum,step,time);97 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum,step,time); 98 98 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ElementOnIceShelfEnum,step,time); 99 99 -
issm/trunk/src/m/classes/model/model.m
r9606 r9607 15 15 constants = modelfield('default',0,'marshall',true); 16 16 flaim = modelfield('default',0,'marshall',false); 17 surfaceforcings = modelfield('default',0,'marshall',true); 17 18 18 19 %FIXME: all other fields should belong to other classes … … 153 154 vy_obs = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 154 155 vel_obs = modelfield('default',NaN,'marshall',false); 155 surface_accumulation_rate = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 156 surface_ablation_rate = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 157 surface_mass_balance = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 156 158 157 dhdt = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 159 158 geothermalflux = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); … … 416 415 if isfield(structmd,'melting'), md.basal_melting_rate=structmd.melting; end 417 416 if isfield(structmd,'melting_rate'), md.basal_melting_rate=structmd.melting_rate; end 418 if isfield(structmd,'accumulation'), md.surface _mass_balance=structmd.accumulation; end419 if isfield(structmd,'accumulation_rate'), md.surface _mass_balance=structmd.accumulation_rate; end417 if isfield(structmd,'accumulation'), md.surfaceforcings.mass_balance=structmd.accumulation; end 418 if isfield(structmd,'accumulation_rate'), md.surfaceforcings.mass_balance=structmd.accumulation_rate; end 420 419 if isfield(structmd,'numberofgrids'), md.numberofnodes=structmd.numberofgrids; end 421 420 if isfield(structmd,'numberofgrids2d'), md.numberofnodes2d=structmd.numberofgrids2d; end … … 438 437 if isfield(structmd,'yts'), md.constants.yts=structmd.yts; end 439 438 if isfield(structmd,'dakota_analysis'), md.dakota_analysis=structmd.dakota_analysis; end 439 if isfield(structmd,'surface_mass_balance'), md.surfaceforcings.mass_balance=structmd.surface_mass_balance; end 440 440 441 441 %Field changes … … 544 544 md.constants=constants; 545 545 md.flaim=flaim; 546 546 md.surfaceforcings=surfaceforcings; 547 547 548 548 %Materials parameters -
issm/trunk/src/m/model/collapse.m
r9532 r9607 29 29 if ~isnan(md.vy_obs), md.vy_obs=project2d(md,md.vy_obs,md.numlayers); end; 30 30 if ~isnan(md.vel_obs), md.vel_obs=project2d(md,md.vel_obs,md.numlayers); end; 31 if ~isnan(md.surface_mass_balance), md.surface_mass_balance=project2d(md,md.surface_mass_balance,md.numlayers); end; 31 if ~isnan(md.surfaceforcings.mass_balance), 32 md.surfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md.numlayers); 33 end; 32 34 if ~isnan(md.dhdt), md.dhdt=project2d(md,md.dhdt,md.numlayers); end; 33 35 -
issm/trunk/src/m/model/display/displayobservations.m
r8399 r9607 17 17 fielddisplay(md,'vy_obs_raw','raw observed velocity y component [m/a]'); 18 18 fielddisplay(md,'vel_obs_raw','raw observed magnitude [m/a]'); 19 fielddisplay(md,'surface_mass_balance','surface mass balance [m/a]');20 19 fielddisplay(md,'dhdt','surface dhdt rate [m/a]'); 21 20 fielddisplay(md,'observed_temperature','observed temperature [K]'); -
issm/trunk/src/m/model/extrude.m
r9597 r9607 134 134 md.vy_obs=project3d(md,'vector',md.vy_obs,'type','node'); 135 135 md.vel_obs=project3d(md,'vector',md.vel_obs,'type','node'); 136 md.surface _mass_balance=project3d(md,'vector',md.surface_mass_balance,'type','node');137 md.surface _accumulation_rate=project3d(md,'vector',md.surface_accumulation_rate,'type','node');138 md.surface _ablation_rate=project3d(md,'vector',md.surface_ablation_rate,'type','node');136 md.surfaceforcings.mass_balance=project3d(md,'vector',md.surfaceforcings.mass_balance,'type','node'); 137 md.surfaceforcings.accumulation_rate=project3d(md,'vector',md.surfaceforcings.accumulation_rate,'type','node'); 138 md.surfaceforcings.ablation_rate=project3d(md,'vector',md.surfaceforcings.ablation_rate,'type','node'); 139 139 md.dhdt=project3d(md,'vector',md.dhdt,'type','node'); 140 140 -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9605 r9607 452 452 453 453 %FORCINGS 454 fields={'surface _mass_balance'};454 fields={'surfaceforcings.mass_balance'}; 455 455 checkforcing(md,fields); 456 456 -
issm/trunk/src/m/utils/BC/SetIceSheetBC.m
r9423 r9607 34 34 35 35 %Create zeros basal_melting_rate and surface mass balance if not specified 36 if isnan(md.surface _accumulation_rate),37 md.surface _accumulation_rate=zeros(md.numberofnodes,1);38 disp(' no surface _accumulation_rate specified: values set as zero');36 if isnan(md.surfaceforcings.accumulation_rate), 37 md.surfaceforcings.accumulation_rate=zeros(md.numberofnodes,1); 38 disp(' no surfaceforcings.accumulation_rate specified: values set as zero'); 39 39 end 40 if isnan(md.surface _ablation_rate),41 md.surface _ablation_rate=zeros(md.numberofnodes,1);42 disp(' no surface _ablation_rate specified: values set as zero');40 if isnan(md.surfaceforcings.ablation_rate), 41 md.surfaceforcings.ablation_rate=zeros(md.numberofnodes,1); 42 disp(' no surfaceforcings.ablation_rate specified: values set as zero'); 43 43 end 44 if isnan(md.surface _mass_balance),45 md.surface _mass_balance=zeros(md.numberofnodes,1);46 disp(' no surface _mass_balance specified: values set as zero');44 if isnan(md.surfaceforcings.mass_balance), 45 md.surfaceforcings.mass_balance=zeros(md.numberofnodes,1); 46 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 47 47 end 48 48 if isnan(md.basal_melting_rate), -
issm/trunk/src/m/utils/BC/SetIceShelfBC.m
r9464 r9607 64 64 md.pressureload=pressureload; 65 65 66 %Create zeros basal_melting_rate, surface _ablation_rate, surface_accumulation_rate67 % and surface _mass_balance if not specified68 if isnan(md.surface _accumulation_rate),69 md.surface _accumulation_rate=zeros(md.numberofnodes,1);70 disp(' no surface _accumulation_rate specified: values set as zero');66 %Create zeros basal_melting_rate, surfaceforcings.ablation_rate, surfaceforcings.accumulation_rate 67 % and surfaceforcings.mass_balance if not specified 68 if isnan(md.surfaceforcings.accumulation_rate), 69 md.surfaceforcings.accumulation_rate=zeros(md.numberofnodes,1); 70 disp(' no surfaceforcings.accumulation_rate specified: values set as zero'); 71 71 end 72 if isnan(md.surface _ablation_rate),73 md.surface _ablation_rate=zeros(md.numberofnodes,1);74 disp(' no surface _ablation_rate specified: values set as zero');72 if isnan(md.surfaceforcings.ablation_rate), 73 md.surfaceforcings.ablation_rate=zeros(md.numberofnodes,1); 74 disp(' no surfaceforcings.ablation_rate specified: values set as zero'); 75 75 end 76 if isnan(md.surface _mass_balance),77 md.surface _mass_balance=zeros(md.numberofnodes,1);78 disp(' no surface _mass_balance specified: values set as zero');76 if isnan(md.surfaceforcings.mass_balance), 77 md.surfaceforcings.mass_balance=zeros(md.numberofnodes,1); 78 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 79 79 end 80 80 if isnan(md.basal_melting_rate), -
issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
r9464 r9607 75 75 76 76 77 %Create zeros basal_melting_rate, surface _ablation_rate, surface_accumulation_rate78 % and surface _mass_balance if not specified79 if isnan(md.surface _accumulation_rate),80 md.surface _accumulation_rate=zeros(md.numberofnodes,1);81 disp(' no surface _accumulation_rate specified: values set as zero');77 %Create zeros basal_melting_rate, surfaceforcings.ablation_rate, surfaceforcings.accumulation_rate 78 % and surfaceforcings.mass_balance if not specified 79 if isnan(md.surfaceforcings.accumulation_rate), 80 md.surfaceforcings.accumulation_rate=zeros(md.numberofnodes,1); 81 disp(' no surfaceforcings.accumulation_rate specified: values set as zero'); 82 82 end 83 if isnan(md.surface _ablation_rate),84 md.surface _ablation_rate=zeros(md.numberofnodes,1);85 disp(' no surface _ablation_rate specified: values set as zero');83 if isnan(md.surfaceforcings.ablation_rate), 84 md.surfaceforcings.ablation_rate=zeros(md.numberofnodes,1); 85 disp(' no surfaceforcings.ablation_rate specified: values set as zero'); 86 86 end 87 if isnan(md.surface _mass_balance),88 md.surface _mass_balance=zeros(md.numberofnodes,1);89 disp(' no surface _mass_balance specified: values set as zero');87 if isnan(md.surfaceforcings.mass_balance), 88 md.surfaceforcings.mass_balance=zeros(md.numberofnodes,1); 89 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 90 90 end 91 91 if isnan(md.basal_melting_rate), -
issm/trunk/test/NightlyRun/test1201.m
r9235 r9607 9 9 md=geography(md,'all',''); 10 10 md=parameterize(md,'../Par/SquareEISMINT.par'); 11 md.surface _mass_balance(:)=0;11 md.surfaceforcings.mass_balance(:)=0; 12 12 md=setelementstype(md,'macayeal','all'); 13 13 md.cluster=generic('name',oshostname(),'np',8); -
issm/trunk/test/NightlyRun/test1501.m
r9597 r9607 14 14 %Solve for thinning rate -> -1 * surface mass balance 15 15 smb= 2*ones(md.numberofnodes,1); 16 md.surface _mass_balance= smb;16 md.surfaceforcings.mass_balance= smb; 17 17 md.basal_melting_rate= smb; 18 18 … … 21 21 for i=1:10 22 22 md=solve(md,PrognosticSolutionEnum); 23 md.surface _mass_balance= md.surface_mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.thickness);23 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.thickness); 24 24 end 25 25 26 26 %Set up transient 27 smb = md.surface _mass_balance;27 smb = md.surfaceforcings.mass_balance; 28 28 29 29 tooth= [ [ones(400,1)*(smb') - 10]' [ones(400,1)*(smb')]' ]; 30 30 smb=[ [ones(399,1)*(smb')]' smb tooth tooth]; 31 31 32 md.surface _mass_balance= smb;33 md.surface _mass_balance(end+1,:)=[1:2000];32 md.surfaceforcings.mass_balance= smb; 33 md.surfaceforcings.mass_balance(end+1,:)=[1:2000]; 34 34 35 35 md=solve(md,TransientSolutionEnum); -
issm/trunk/test/NightlyRun/test1502.m
r9597 r9607 15 15 %Solve for thinning rate -> -1 * surface mass balance 16 16 smb= 2*ones(md.numberofnodes,1); 17 md.surface _mass_balance= smb;17 md.surfaceforcings.mass_balance= smb; 18 18 md.basal_melting_rate= smb; 19 19 … … 22 22 for i=1:10 23 23 md=solve(md,PrognosticSolutionEnum); 24 md.surface _mass_balance= md.surface_mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.thickness);24 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.thickness); 25 25 end 26 26 27 27 %Set up transient 28 smb = md.surface _mass_balance;28 smb = md.surfaceforcings.mass_balance; 29 29 30 30 tooth= [ [ones(400,1)*(smb') - 10]' [ones(400,1)*(smb')]' ]; 31 31 smb=[ [ones(399,1)*(smb')]' smb tooth tooth]; 32 32 33 md.surface _mass_balance= smb;34 md.surface _mass_balance(end+1,:)=[1:2000];33 md.surfaceforcings.mass_balance= smb; 34 md.surfaceforcings.mass_balance(end+1,:)=[1:2000]; 35 35 36 36 md=solve(md,TransientSolutionEnum); -
issm/trunk/test/NightlyRun/test255.m
r8999 r9607 13 13 smb=[ smb smb*-1 ]; 14 14 15 md.surface _mass_balance= smb;16 md.surface _mass_balance(end+1,:)=[1.5 3];15 md.surfaceforcings.mass_balance= smb; 16 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 17 17 md.isthermal=0; 18 18 -
issm/trunk/test/NightlyRun/test256.m
r8999 r9607 13 13 smb=[ smb smb*-1 ]; 14 14 15 md.surface _mass_balance= smb;16 md.surface _mass_balance(end+1,:)=[1.5 3];15 md.surfaceforcings.mass_balance= smb; 16 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 17 17 md.isthermal=0; 18 18 -
issm/trunk/test/NightlyRun/test257.m
r8999 r9607 13 13 smb=[ smb smb*2 ]; 14 14 15 md.surface _mass_balance= smb;16 md.surface _mass_balance(end+1,:)=[1.5 3];15 md.surfaceforcings.mass_balance= smb; 16 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 17 17 md.isthermal=0; 18 18 -
issm/trunk/test/NightlyRun/test258.m
r8999 r9607 13 13 smb=[ smb smb*2 ]; 14 14 15 md.surface _mass_balance= smb;16 md.surface _mass_balance(end+1,:)=[1.5 3];15 md.surfaceforcings.mass_balance= smb; 16 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 17 17 md.isthermal=0; 18 18 -
issm/trunk/test/NightlyRun/test259.m
r8999 r9607 14 14 smb=[ smb smb*-1 ]; 15 15 16 md.surface _mass_balance= smb;17 md.surface _mass_balance(end+1,:)=[1.5 3];16 md.surfaceforcings.mass_balance= smb; 17 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 18 18 md.isthermal=0; 19 19 -
issm/trunk/test/NightlyRun/test260.m
r8999 r9607 14 14 smb=[ smb smb*-1 ]; 15 15 16 md.surface _mass_balance= smb;17 md.surface _mass_balance(end+1,:)=[1.5 3];16 md.surfaceforcings.mass_balance= smb; 17 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 18 18 md.isthermal=0; 19 19 -
issm/trunk/test/NightlyRun/test261.m
r8999 r9607 14 14 smb=[ smb smb*2 ]; 15 15 16 md.surface _mass_balance= smb;17 md.surface _mass_balance(end+1,:)=[1.5 3];16 md.surfaceforcings.mass_balance= smb; 17 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 18 18 md.isthermal=0; 19 19 -
issm/trunk/test/NightlyRun/test262.m
r8999 r9607 14 14 smb=[ smb smb*2 ]; 15 15 16 md.surface _mass_balance= smb;17 md.surface _mass_balance(end+1,:)=[1.5 3];16 md.surfaceforcings.mass_balance= smb; 17 md.surfaceforcings.mass_balance(end+1,:)=[1.5 3]; 18 18 md.isthermal=0; 19 19 -
issm/trunk/test/Par/79North.par
r9455 r9607 27 27 pos(md.elements(find(md.elementoniceshelf),:))=1; 28 28 md.basal_melting_rate(find(pos))=10; 29 md.surface _mass_balance=15*ones(md.numberofnodes,1);29 md.surfaceforcings.mass_balance=15*ones(md.numberofnodes,1); 30 30 31 31 %Numerical parameters -
issm/trunk/test/Par/RoundSheetEISMINT.par
r9597 r9607 25 25 sb=10^-2/1000; %m/yr/m 26 26 rel=450*1000; %m 27 md.surface _mass_balance=min(smb_max,sb*(rel-radius));27 md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius)); 28 28 29 29 disp(' creating velocities'); -
issm/trunk/test/Par/RoundSheetShelf.par
r9516 r9607 45 45 46 46 %Surface mass balance and basal melting 47 md.surface _mass_balance=-10*ones(md.numberofnodes,1);47 md.surfaceforcings.mass_balance=-10*ones(md.numberofnodes,1); 48 48 md.basal_melting_rate=zeros(md.numberofnodes,1); 49 49 pos=find(md.nodeoniceshelf);md.basal_melting_rate(pos)=10; -
issm/trunk/test/Par/RoundSheetStaticEISMINT.par
r9481 r9607 30 30 sb=10^-2/1000; %m/yr/m 31 31 rel=450*1000; %m 32 md.surface _mass_balance=min(smb_max,sb*(rel-radius));32 md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius)); 33 33 34 34 disp(' creating velocities'); -
issm/trunk/test/Par/SquareEISMINT.par
r9481 r9607 24 24 25 25 disp(' creating surface mass balance'); 26 md.surface _mass_balance=0.2*ones(md.numberofnodes,1); %0m/a26 md.surfaceforcings.mass_balance=0.2*ones(md.numberofnodes,1); %0m/a 27 27 md.basal_melting_rate=0*ones(md.numberofnodes,1); %0m/a 28 28 -
issm/trunk/test/Par/SquareSheetShelf.par
r9455 r9607 27 27 28 28 %Accumulation and melting 29 md.surface _mass_balance=10*ones(md.numberofnodes,1);29 md.surfaceforcings.mass_balance=10*ones(md.numberofnodes,1); 30 30 md.basal_melting_rate=5*ones(md.numberofnodes,1); 31 31 -
issm/trunk/test/Par/SquareShelfConstrained.par
r9455 r9607 24 24 25 25 %Surface mass balance and basal melting 26 md.surface _mass_balance=10*ones(md.numberofnodes,1);26 md.surfaceforcings.mass_balance=10*ones(md.numberofnodes,1); 27 27 md.basal_melting_rate=5*ones(md.numberofnodes,1); 28 28 -
issm/trunk/test/Par/SquareThermal.par
r9597 r9607 29 29 md.rheology_n=3*ones(md.numberofelements,1); 30 30 31 disp(' creating surface _mass_balance');32 md.surface _mass_balance=ones(md.numberofnodes,1)/md.constants.yts; %1m/a31 disp(' creating surface mass balance'); 32 md.surfaceforcings.mass_balance=ones(md.numberofnodes,1)/md.constants.yts; %1m/a 33 33 md.basal_melting_rate=0*ones(md.numberofnodes,1)/md.constants.yts; %1m/a 34 34
Note:
See TracChangeset
for help on using the changeset viewer.