Changeset 9612
- Timestamp:
- 09/06/11 12:22:11 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 4 added
- 3 deleted
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9610 r9612 18 18 SurfaceforcingsAblationRateEnum, 19 19 SurfaceforcingsMassBalanceEnum, 20 BasalforcingsMeltingRateEnum, 21 BasalforcingsMeltingRateCorrectionEnum, 22 BasalforcingsGeothermalfluxEnum, 20 23 FrictionCoefficientEnum, 21 24 FrictionPEnum, … … 202 205 MeltingOffsetEnum, 203 206 GroundinglineMeltingRateEnum, 204 BasalMeltingRateEnum,205 207 MisfitEnum, 206 208 NodeOnBedEnum, … … 309 311 RhoWaterEnum, 310 312 GravityEnum, 311 BasalMeltingRateCorrectionEnum,312 313 MixedLayerCapacityEnum, 313 314 ThermalExchangeVelocityEnum, … … 450 451 MeltingpointEnum, 451 452 DhdtEnum, 452 GeothermalfluxEnum,453 453 IsprognosticEnum, 454 454 IsdiagnosticEnum, -
issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
r9610 r9612 22 22 case VyEnum : return "vy"; 23 23 case VyObsEnum : return "vy_obs"; 24 case Basal MeltingRateEnum : return "basal_melting_rate";24 case BasalforcingsMeltingRateEnum : return "basal_melting_rate"; 25 25 case SurfaceforcingsAccumulationRateEnum : return "surface_accumulation_rate"; 26 26 case SurfaceforcingsAblationRateEnum : return "surface_ablation_rate"; -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9610 r9612 22 22 case SurfaceforcingsAblationRateEnum : return "SurfaceforcingsAblationRate"; 23 23 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 24 case BasalforcingsMeltingRateEnum : return "BasalforcingsMeltingRate"; 25 case BasalforcingsMeltingRateCorrectionEnum : return "BasalforcingsMeltingRateCorrection"; 26 case BasalforcingsGeothermalfluxEnum : return "BasalforcingsGeothermalflux"; 24 27 case FrictionCoefficientEnum : return "FrictionCoefficient"; 25 28 case FrictionPEnum : return "FrictionP"; … … 169 172 case MeltingOffsetEnum : return "MeltingOffset"; 170 173 case GroundinglineMeltingRateEnum : return "GroundinglineMeltingRate"; 171 case BasalMeltingRateEnum : return "BasalMeltingRate";172 174 case MisfitEnum : return "Misfit"; 173 175 case NodeOnBedEnum : return "NodeOnBed"; … … 262 264 case RhoWaterEnum : return "RhoWater"; 263 265 case GravityEnum : return "Gravity"; 264 case BasalMeltingRateCorrectionEnum : return "BasalMeltingRateCorrection";265 266 case MixedLayerCapacityEnum : return "MixedLayerCapacity"; 266 267 case ThermalExchangeVelocityEnum : return "ThermalExchangeVelocity"; … … 391 392 case MeltingpointEnum : return "Meltingpoint"; 392 393 case DhdtEnum : return "Dhdt"; 393 case GeothermalfluxEnum : return "Geothermalflux";394 394 case IsprognosticEnum : return "Isprognostic"; 395 395 case IsdiagnosticEnum : return "Isdiagnostic"; -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
r9607 r9612 41 41 iomodel->FetchDataToInput(elements,VxEnum); 42 42 iomodel->FetchDataToInput(elements,VyEnum); 43 iomodel->FetchDataToInput(elements,Basal MeltingRateEnum);43 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 44 44 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 45 45 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r9610 r9612 70 70 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 71 71 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 72 iomodel->FetchDataToInput(elements,Basal MeltingRateEnum);72 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 73 73 iomodel->FetchDataToInput(elements,NodeOnStokesEnum); 74 74 } -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
r9607 r9612 47 47 iomodel->FetchDataToInput(elements,ElementOnSurfaceEnum); 48 48 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 49 iomodel->FetchDataToInput(elements,Basal MeltingRateEnum);49 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 50 50 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 51 51 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r9610 r9612 55 55 iomodel->FetchDataToInput(elements,TemperatureEnum); 56 56 iomodel->FetchDataToInput(elements,WaterfractionEnum); 57 iomodel->FetchDataToInput(elements, GeothermalfluxEnum);57 iomodel->FetchDataToInput(elements,BasalforcingsGeothermalfluxEnum); 58 58 iomodel->FetchDataToInput(elements,VxEnum); 59 59 iomodel->FetchDataToInput(elements,VyEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
r9610 r9612 47 47 iomodel->FetchDataToInput(elements,PressureEnum); 48 48 iomodel->FetchDataToInput(elements,TemperatureEnum); 49 iomodel->FetchDataToInput(elements,Basal MeltingRateEnum);49 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 50 50 iomodel->FetchDataToInput(elements,WatercolumnEnum); 51 iomodel->FetchDataToInput(elements, GeothermalfluxEnum);51 iomodel->FetchDataToInput(elements,BasalforcingsGeothermalfluxEnum); 52 52 iomodel->FetchDataToInput(elements,VxEnum); 53 53 iomodel->FetchDataToInput(elements,VyEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r9610 r9612 56 56 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 57 57 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 58 iomodel->FetchDataToInput(elements,Basal MeltingRateEnum);58 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 59 59 iomodel->FetchDataToInput(elements,PressureEnum); 60 60 -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r9607 r9612 44 44 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); 45 45 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum); 46 iomodel->FetchDataToInput(elements,Basal MeltingRateEnum);47 iomodel->FetchDataToInput(elements,Basal MeltingRateCorrectionEnum);46 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 47 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum); 48 48 iomodel->FetchDataToInput(elements,VxEnum); 49 49 iomodel->FetchDataToInput(elements,VyEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
r9610 r9612 56 56 iomodel->FetchDataToInput(elements,PressureEnum); 57 57 iomodel->FetchDataToInput(elements,TemperatureEnum); 58 iomodel->FetchDataToInput(elements, GeothermalfluxEnum);58 iomodel->FetchDataToInput(elements,BasalforcingsGeothermalfluxEnum); 59 59 iomodel->FetchDataToInput(elements,VxEnum); 60 60 iomodel->FetchDataToInput(elements,VyEnum); -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9610 r9612 20 20 else if (strcmp(name,"SurfaceforcingsAblationRate")==0) return SurfaceforcingsAblationRateEnum; 21 21 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 22 else if (strcmp(name,"BasalforcingsMeltingRate")==0) return BasalforcingsMeltingRateEnum; 23 else if (strcmp(name,"BasalforcingsMeltingRateCorrection")==0) return BasalforcingsMeltingRateCorrectionEnum; 24 else if (strcmp(name,"BasalforcingsGeothermalflux")==0) return BasalforcingsGeothermalfluxEnum; 22 25 else if (strcmp(name,"FrictionCoefficient")==0) return FrictionCoefficientEnum; 23 26 else if (strcmp(name,"FrictionP")==0) return FrictionPEnum; … … 167 170 else if (strcmp(name,"MeltingOffset")==0) return MeltingOffsetEnum; 168 171 else if (strcmp(name,"GroundinglineMeltingRate")==0) return GroundinglineMeltingRateEnum; 169 else if (strcmp(name,"BasalMeltingRate")==0) return BasalMeltingRateEnum;170 172 else if (strcmp(name,"Misfit")==0) return MisfitEnum; 171 173 else if (strcmp(name,"NodeOnBed")==0) return NodeOnBedEnum; … … 260 262 else if (strcmp(name,"RhoWater")==0) return RhoWaterEnum; 261 263 else if (strcmp(name,"Gravity")==0) return GravityEnum; 262 else if (strcmp(name,"BasalMeltingRateCorrection")==0) return BasalMeltingRateCorrectionEnum;263 264 else if (strcmp(name,"MixedLayerCapacity")==0) return MixedLayerCapacityEnum; 264 265 else if (strcmp(name,"ThermalExchangeVelocity")==0) return ThermalExchangeVelocityEnum; … … 389 390 else if (strcmp(name,"Meltingpoint")==0) return MeltingpointEnum; 390 391 else if (strcmp(name,"Dhdt")==0) return DhdtEnum; 391 else if (strcmp(name,"Geothermalflux")==0) return GeothermalfluxEnum;392 392 else if (strcmp(name,"Isprognostic")==0) return IsprognosticEnum; 393 393 else if (strcmp(name,"Isdiagnostic")==0) return IsdiagnosticEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9610 r9612 3225 3225 for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j]; 3226 3226 inputs->GetParameterValue(&approximation,ApproximationEnum); 3227 Input* bed_input=inputs->GetInput(BedEnum); _assert_(bed_input);3228 Input* basal_melting_input=inputs->GetInput(Basal MeltingRateEnum); _assert_(basal_melting_input);3229 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);3230 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);3227 Input* bed_input=inputs->GetInput(BedEnum); _assert_(bed_input); 3228 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 3229 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 3230 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 3231 3231 Input* vzstokes_input=NULL; 3232 3232 if(approximation==PattynStokesApproximationEnum || approximation==MacAyealStokesApproximationEnum){ … … 3457 3457 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 3458 3458 Input* vz_input=inputs->GetInput(VzEnum); _assert_(vz_input); 3459 Input* geothermalflux_input=inputs->GetInput( GeothermalfluxEnum); _assert_(geothermalflux_input);3459 Input* geothermalflux_input=inputs->GetInput(BasalforcingsGeothermalfluxEnum); _assert_(geothermalflux_input); 3460 3460 3461 3461 /*Build frictoin element, needed later: */ … … 3724 3724 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 3725 3725 Input* vz_input=inputs->GetInput(VzEnum); _assert_(vz_input); 3726 Input* geothermalflux_input=inputs->GetInput( GeothermalfluxEnum); _assert_(geothermalflux_input);3726 Input* geothermalflux_input=inputs->GetInput(BasalforcingsGeothermalfluxEnum); _assert_(geothermalflux_input); 3727 3727 3728 3728 /*Build frictoin element, needed later: */ … … 5311 5311 } 5312 5312 else if (analysis_type==MeltingAnalysisEnum){ 5313 InputUpdateFromSolutionOneDof(solution,Basal MeltingRateEnum);5313 InputUpdateFromSolutionOneDof(solution,BasalforcingsMeltingRateEnum); 5314 5314 } 5315 5315 else{ … … 6587 6587 name==SurfaceSlopeXEnum || 6588 6588 name==SurfaceSlopeYEnum || 6589 name==BasalMeltingRateEnum ||6590 6589 name==SurfaceforcingsMassBalanceEnum || 6591 name==GeothermalfluxEnum || 6590 name==BasalforcingsMeltingRateEnum || 6591 name==BasalforcingsGeothermalfluxEnum || 6592 6592 name==SurfaceAreaEnum|| 6593 6593 name==PressureEnum || -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9610 r9612 1315 1315 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 1316 1316 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1317 Input* basal_melting_input=inputs->GetInput(Basal MeltingRateEnum);_assert_(basal_melting_input);1317 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 1318 1318 Input* dhdt_input=inputs->GetInput(DhdtEnum); _assert_(dhdt_input); 1319 1319 … … 1358 1358 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 1359 1359 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1360 Input* basal_melting_input=inputs->GetInput(Basal MeltingRateEnum);_assert_(basal_melting_input);1360 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 1361 1361 Input* dhdt_input=inputs->GetInput(DhdtEnum); _assert_(dhdt_input); 1362 1362 … … 1942 1942 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 1943 1943 this->parameters->FindParam(&dt,DtEnum); 1944 Input* basal_melting_input=inputs->GetInput(Basal MeltingRateEnum);_assert_(basal_melting_input);1945 Input* old_watercolumn_input=inputs->GetInput(WaterColumnOldEnum); _assert_(old_watercolumn_input);1944 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 1945 Input* old_watercolumn_input=inputs->GetInput(WaterColumnOldEnum); _assert_(old_watercolumn_input); 1946 1946 1947 1947 /*Initialize basal_melting_correction_g to 0, do not forget!:*/ … … 1988 1988 this->parameters->FindParam(&dt,DtEnum); 1989 1989 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 1990 Input* basal_melting_input=inputs->GetInput(Basal MeltingRateEnum);_assert_(basal_melting_input);1991 Input* basal_melting_correction_input=inputs->GetInput(Basal MeltingRateCorrectionEnum);1990 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 1991 Input* basal_melting_correction_input=inputs->GetInput(BasalforcingsMeltingRateCorrectionEnum); 1992 1992 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 1993 1993 … … 2036 2036 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 2037 2037 Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input); 2038 Input* basal_melting_input=inputs->GetInput(Basal MeltingRateEnum);_assert_(basal_melting_input);2038 Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input); 2039 2039 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 2040 2040 … … 3984 3984 name==SurfaceSlopeXEnum || 3985 3985 name==SurfaceSlopeYEnum || 3986 name==Basal MeltingRateEnum ||3986 name==BasalforcingsMeltingRateEnum || 3987 3987 name==WatercolumnEnum || 3988 3988 name==SurfaceforcingsMassBalanceEnum || … … 4631 4631 /*If this element just became ungrounded, set its basal melting rate at 50 m/yr:*/ 4632 4632 if(swap){ 4633 Input* basal_melting_rate_input =inputs->GetInput(Basal MeltingRateEnum); _assert_(basal_melting_rate_input);4633 Input* basal_melting_rate_input =inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_rate_input); 4634 4634 basal_melting_rate_input->GetValuesPtr(&values,NULL); for(i=0;i<3;i++)values[i]=gl_melting_rate/yts; 4635 4635 } -
issm/trunk/src/c/shared/Numerics/UnitConversion.cpp
r9607 r9612 59 59 case VelObsEnum: scale=yts;break; //m/yr 60 60 case DhdtEnum: scale=yts;break; //m/yr 61 case Basal MeltingRateEnum: scale=yts;break; //m/yr62 case Basal MeltingRateCorrectionEnum: scale=yts;break; //m/yr61 case BasalforcingsMeltingRateEnum: scale=yts;break; //m/yr 62 case BasalforcingsMeltingRateCorrectionEnum: scale=yts;break; //m/yr 63 63 case SurfaceforcingsAccumulationRateEnum: scale=yts;break; //m/yr 64 64 case SurfaceforcingsAblationRateEnum: scale=yts;break; //m/yr -
issm/trunk/src/c/solutions/steadystate_core.cpp
r9112 r9612 68 68 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum); 69 69 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum); 70 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,Basal MeltingRateEnum);70 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum); 71 71 RequestedOutputsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 72 72 } -
issm/trunk/src/c/solutions/thermal_core.cpp
r9571 r9612 58 58 _printf_(VerboseSolution()," saving results\n"); 59 59 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,i+1,time); 60 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,Basal MeltingRateEnum,i+1,time);60 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,i+1,time); 61 61 } 62 62 -
issm/trunk/src/c/solutions/transient_core.cpp
r9607 r9612 94 94 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum,step,time); 95 95 if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time); 96 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,Basal MeltingRateEnum,step,time);96 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,step,time); 97 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); -
issm/trunk/src/m/classes/model/model.m
r9610 r9612 16 16 flaim = modelfield('default',0,'marshall',false); 17 17 surfaceforcings = modelfield('default',0,'marshall',true); 18 basalforcings = modelfield('default',0,'marshall',true); 18 19 friction = modelfield('default',0,'marshall',true); 19 20 … … 154 155 155 156 dhdt = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 156 geothermalflux = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);157 157 thickness_obs = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 158 158 … … 205 205 waterfraction = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 206 206 groundingline_melting_rate = modelfield('default',NaN,'marshall',true,'format','Double'); 207 basal_melting_rate = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);208 basal_melting_rate_correction = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);209 207 pressure = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 210 208 %Hydrology … … 411 409 if isfield(structmd,'B'), md.rheology_B=structmd.B; end 412 410 if isfield(structmd,'n'), md.rheology_n=structmd.n; end 413 if isfield(structmd,'melting'), md.basal _melting_rate=structmd.melting; end414 if isfield(structmd,'melting_rate'), md.basal _melting_rate=structmd.melting_rate; end411 if isfield(structmd,'melting'), md.basalforcings.melting_rate=structmd.melting; end 412 if isfield(structmd,'melting_rate'), md.basalforcings.melting_rate=structmd.melting_rate; end 415 413 if isfield(structmd,'accumulation'), md.surfaceforcings.mass_balance=structmd.accumulation; end 416 414 if isfield(structmd,'accumulation_rate'), md.surfaceforcings.mass_balance=structmd.accumulation_rate; end … … 436 434 if isfield(structmd,'dakota_analysis'), md.dakota_analysis=structmd.dakota_analysis; end 437 435 if isfield(structmd,'surface_mass_balance'), md.surfaceforcings.mass_balance=structmd.surface_mass_balance; end 436 if isfield(structmd,'basal_melting_rate'), md.basalforcings.melting_rate=structmd.basal_melting_rate; end 437 if isfield(structmd,'basal_melting_rate_correction'), md.basalforcings.melting_rate_correction=structmd.basal_melting_rate_correction; end 438 if isfield(structmd,'geothermalflux'), md.basalforcings.geothermalflux=structmd.geothermalflux; end 438 439 if isfield(structmd,'drag_coefficient'), md.friction.coefficient=structmd.drag_coefficient; end 439 440 if isfield(structmd,'drag_p'), md.friction.p=structmd.drag_p; end … … 546 547 md.flaim=flaim; 547 548 md.surfaceforcings=surfaceforcings; 549 md.basalforcings=basalforcings; 548 550 md.friction=friction; 549 551 -
issm/trunk/src/m/enum/EnumToModelField.m
r9610 r9612 12 12 13 13 case ThicknessEnum(), string='thickness'; return 14 case DragCoefficientEnum(), string='drag_coefficient'; return14 case FrictionCoefficientEnum(), string='drag_coefficient'; return 15 15 case RheologyBEnum(), string='rheology_B'; return 16 16 case RheologyBbarEnum(), string='rheology_B'; return … … 20 20 case VyEnum(), string='vy'; return 21 21 case VyObsEnum(), string='vy_obs'; return 22 case Basal MeltingRateEnum(), string='basal_melting_rate'; return22 case BasalforcingsMeltingRateEnum(), string='basal_melting_rate'; return 23 23 case SurfaceforcingsAccumulationRateEnum(), string='surface_accumulation_rate'; return 24 24 case SurfaceforcingsAblationRateEnum(), string='surface_ablation_rate'; return -
issm/trunk/src/m/model/collapse.m
r9610 r9612 73 73 74 74 %special for thermal modeling: 75 md.basal _melting_rate=project2d(md,md.basal_melting_rate,1);76 md. geothermalflux=project2d(md,md.geothermalflux,1); %bedrock only gets geothermal flux75 md.basalforcings.melting_rate=project2d(md,md.basalforcings.melting_rate,1); 76 md.basalforcings.geothermalflux=project2d(md,md.basalforcings.geothermalflux,1); %bedrock only gets geothermal flux 77 77 78 78 %update of connectivity matrix -
issm/trunk/src/m/model/display/displaybc.m
r9464 r9612 29 29 disp(sprintf('\n thermal:')); 30 30 fielddisplay(md,'spctemperature','temperature constraints (NaN means no constraint)'); 31 fielddisplay(md,'basal_melting_rate','basal melting rate [m/a]'); -
issm/trunk/src/m/model/display/displayobservations.m
r9607 r9612 19 19 fielddisplay(md,'dhdt','surface dhdt rate [m/a]'); 20 20 fielddisplay(md,'observed_temperature','observed temperature [K]'); 21 fielddisplay(md,'geothermalflux','geothermal heat flux [W/m^2]'); -
issm/trunk/src/m/model/display/displaythermal.m
r8392 r9612 17 17 disp(sprintf('\n boundary conditions:')); 18 18 fielddisplay(md,'spctemperature','constraints flag list (first column) and values (second column)'); 19 fielddisplay(md,'basal_melting_rate','basal melting rate [m/a]');20 19 21 20 disp(sprintf('\n transient:')); -
issm/trunk/src/m/model/extrude.m
r9610 r9612 221 221 222 222 %special for thermal modeling: 223 md.basal _melting_rate=project3d(md,'vector',md.basal_melting_rate,'type','node','layer',1);224 if ~isnan(md. geothermalflux)225 md. geothermalflux=project3d(md,'vector',md.geothermalflux,'type','node','layer',1); %bedrock only gets geothermal flux223 md.basalforcings.melting_rate=project3d(md,'vector',md.basalforcings.melting_rate,'type','node','layer',1); 224 if ~isnan(md.basalforcings.geothermalflux) 225 md.basalforcings.geothermalflux=project3d(md,'vector',md.basalforcings.geothermalflux,'type','node','layer',1); %bedrock only gets geothermal flux 226 226 end 227 227 -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9610 r9612 103 103 %}}} 104 104 %SIZE NUMBEROFNODES {{{1 105 fields={'x','y','z','rheology_B','friction.coefficient','basal _melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};105 fields={'x','y','z','rheology_B','friction.coefficient','basalforcings.melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'}; 106 106 checksize(md,fields,[md.numberofnodes 1]); 107 107 %}}} … … 497 497 498 498 %VELOCITIES AND PRESSURE 499 fields={'vx','vy','vz','pressure',' geothermalflux'};499 fields={'vx','vy','vz','pressure','basalforcings.geothermalflux'}; 500 500 checksize(md,fields,[md.numberofnodes 1]); 501 501 checknan(md,fields); … … 509 509 510 510 %INITIAL TEMPERATURE, MELTING AND ACCUMULATION 511 fields={'temperature','basal _melting_rate'};511 fields={'temperature','basalforcings.melting_rate'}; 512 512 checksize(md,fields,[md.numberofnodes 1]); 513 513 checknan(md,fields); … … 536 536 537 537 %VELOCITIES AND PRESSURE 538 fields={'vx','vy','vz','pressure',' geothermalflux'};538 fields={'vx','vy','vz','pressure','basalforcings.geothermalflux'}; 539 539 checksize(md,fields,[md.numberofnodes 1]); 540 540 checknan(md,fields); … … 548 548 549 549 %INITIAL TEMPERATURE, MELTING, ACCUMULATION AND WATERFRACTION 550 fields={'temperature','basal _melting_rate','waterfraction'};550 fields={'temperature','basalforcings.melting_rate','waterfraction'}; 551 551 checksize(md,fields,[md.numberofnodes 1]); 552 552 checknan(md,fields); … … 564 564 % {{{2 565 565 %VELOCITIES MELTING AND ACCUMULATION 566 fields={'vx','vy','basal _melting_rate','dhdt'};566 fields={'vx','vy','basalforcings.melting_rate','dhdt'}; 567 567 checksize(md,fields,[md.numberofnodes 1]); 568 568 checknan(md,fields); -
issm/trunk/src/m/model/tres.m
r9605 r9612 85 85 md.pressure=PatchToVec(md.results.SteadystateSolution.Pressure); 86 86 md.temperature=PatchToVec(md.results.SteadystateSolution.Temperature); 87 md.basal _melting_rate=PatchToVec(md.results.SteadystateSolution.BasalMeltingRate);87 md.basalforcings.melting_rate=PatchToVec(md.results.SteadystateSolution.BasalforcingsMeltingRate); 88 88 89 89 if md.control_analysis==1, … … 95 95 elseif strcmpi(string,'thermal'), 96 96 md.temperature=PatchToVec(md.results.ThermalSolution.Temperature); 97 md.basal _melting_rate=PatchToVec(md.results.ThermalSolution.BasalMeltingRate);97 md.basalforcings.melting_rate=PatchToVec(md.results.ThermalSolution.BasalMeltingRate); 98 98 elseif strcmpi(string,'hydrology'), 99 99 md.watercolumn=PatchToVec(md.results.HydrologySolution.Watercolumn); -
issm/trunk/src/m/solutions/steadystate_core.m
r8392 r9612 46 46 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum); 47 47 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum); 48 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,Basal MeltingRateEnum);48 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum); 49 49 end 50 50 -
issm/trunk/src/m/solutions/thermal_core.m
r8392 r9612 31 31 issmprintf(VerboseSolution,'\n%s',[' saving results']); 32 32 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,i,time); 33 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,Basal MeltingRateEnum,i,time);33 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,i,time); 34 34 end 35 35 end -
issm/trunk/src/m/solutions/transient_core.m
r9597 r9612 66 66 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedEnum,step,time); 67 67 if (dim==3), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,step,time);end 68 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,Basal MeltingRateEnum,step,time);68 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,step,time); 69 69 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceMassBalanceEnum,step,time); 70 70 end -
issm/trunk/src/m/utils/BC/SetIceSheetBC.m
r9607 r9612 33 33 end 34 34 35 %Create zeros basal _melting_rate and surface mass balance if not specified35 %Create zeros basal melting rate and surface mass balance if not specified 36 36 if isnan(md.surfaceforcings.accumulation_rate), 37 37 md.surfaceforcings.accumulation_rate=zeros(md.numberofnodes,1); … … 46 46 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 47 47 end 48 if isnan(md.basal _melting_rate),49 md.basal _melting_rate=zeros(md.numberofnodes,1);50 disp(' no basal _melting_rate specified: values set as zero');48 if isnan(md.basalforcings.melting_rate), 49 md.basalforcings.melting_rate=zeros(md.numberofnodes,1); 50 disp(' no basalforcings.melting_rate specified: values set as zero'); 51 51 end 52 52 if isnan(md.dhdt), … … 60 60 md.spctemperature=NaN*ones(md.numberofnodes,1); 61 61 pos=find(md.nodeonsurface); md.spctemperature(pos)=md.temperature(pos); %impose observed temperature on surface 62 if (length(md. geothermalflux)~=md.numberofnodes),63 md. geothermalflux=50*10^-3*ones(md.numberofnodes,1); %50 mW/m^262 if (length(md.basalforcings.geothermalflux)~=md.numberofnodes), 63 md.basalforcings.geothermalflux=50*10^-3*ones(md.numberofnodes,1); %50 mW/m^2 64 64 end 65 65 else -
issm/trunk/src/m/utils/BC/SetIceShelfBC.m
r9607 r9612 64 64 md.pressureload=pressureload; 65 65 66 %Create zeros basal _melting_rate, surfaceforcings.ablation_rate, surfaceforcings.accumulation_rate66 %Create zeros basalforcings.melting_rate, surfaceforcings.ablation_rate, surfaceforcings.accumulation_rate 67 67 % and surfaceforcings.mass_balance if not specified 68 68 if isnan(md.surfaceforcings.accumulation_rate), … … 78 78 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 79 79 end 80 if isnan(md.basal _melting_rate),81 md.basal _melting_rate=zeros(md.numberofnodes,1);82 disp(' no basal _melting_rate specified: values set as zero');80 if isnan(md.basalforcings.melting_rate), 81 md.basalforcings.melting_rate=zeros(md.numberofnodes,1); 82 disp(' no basalforcings.melting_rate specified: values set as zero'); 83 83 end 84 84 if isnan(md.dhdt), … … 92 92 md.spctemperature=NaN*ones(md.numberofnodes,1); 93 93 pos=find(md.nodeonsurface); md.spctemperature(pos)=md.temperature(pos); %impose observed temperature on surface 94 if (length(md. geothermalflux)~=md.numberofnodes),95 md. geothermalflux=zeros(md.numberofnodes,1);94 if (length(md.basalforcings.geothermalflux)~=md.numberofnodes), 95 md.basalforcings.geothermalflux=zeros(md.numberofnodes,1); 96 96 end 97 97 else -
issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
r9607 r9612 75 75 76 76 77 %Create zeros basal _melting_rate, surfaceforcings.ablation_rate, surfaceforcings.accumulation_rate77 %Create zeros basalforcings.melting_rate, surfaceforcings.ablation_rate, surfaceforcings.accumulation_rate 78 78 % and surfaceforcings.mass_balance if not specified 79 79 if isnan(md.surfaceforcings.accumulation_rate), … … 89 89 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 90 90 end 91 if isnan(md.basal _melting_rate),92 md.basal _melting_rate=zeros(md.numberofnodes,1);93 disp(' no basal _melting_rate specified: values set as zero');91 if isnan(md.basalforcings.melting_rate), 92 md.basalforcings.melting_rate=zeros(md.numberofnodes,1); 93 disp(' no basalforcings.melting_rate specified: values set as zero'); 94 94 end 95 95 if isnan(md.dhdt), … … 103 103 md.spctemperature=NaN*ones(md.numberofnodes,1); 104 104 pos=find(md.nodeonsurface); md.spctemperature(pos)=md.temperature(pos); %impose observed temperature on surface 105 if (length(md. geothermalflux)~=md.numberofnodes),106 md. geothermalflux=zeros(md.numberofnodes,1);107 md. geothermalflux(find(md.nodeonicesheet))=50*10^-3; %50mW/m2105 if (length(md.basalforcings.geothermalflux)~=md.numberofnodes), 106 md.basalforcings.geothermalflux=zeros(md.numberofnodes,1); 107 md.basalforcings.geothermalflux(find(md.nodeonicesheet))=50*10^-3; %50mW/m2 108 108 end 109 109 else
Note:
See TracChangeset
for help on using the changeset viewer.