Changeset 9607 for issm/trunk


Ignore:
Timestamp:
09/06/11 10:08:46 (14 years ago)
Author:
Mathieu Morlighem
Message:

moved fields to surfaceforcings object

Location:
issm/trunk
Files:
40 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9597 r9607  
    1111
    1212enum definitions{
     13        /*model fields {{{1*/
     14        ConstantsGEnum,
     15        ConstantsReferencetemperatureEnum,
     16        ConstantsYtsEnum,
     17        SurfaceforcingsAccumulationRateEnum,
     18        SurfaceforcingsAblationRateEnum,
     19        SurfaceforcingsMassBalanceEnum,
     20        /*}}}*/
    1321        /*Datasets {{{1*/
    1422        ConstraintsEnum,
     
    213221        ShelfDampeningEnum,
    214222        StabilizeConstraintsEnum,
    215         SurfaceAccumulationRateEnum,
    216         SurfaceAblationRateEnum,
    217223        SurfaceAreaEnum,
    218224        SurfaceEnum,
    219         SurfaceMassBalanceEnum,
    220225        SurfaceSlopeXEnum,
    221226        SurfaceSlopeYEnum,
     
    363368        SsetEnum,
    364369        GroundinglineMigrationEnum,
    365         ConstantsYtsEnum,
    366370        /*}}}*/
    367371        /*Interpolation {{{1*/
     
    412416        VerticesTypeEnum,
    413417        HydroKnEnum,
    414         ConstantsGEnum,
    415418        SpcvzEnum,
    416419        NumberOfNodes2DEnum,
     
    446449        ThermalconductivityEnum,
    447450        MeltingpointEnum,
    448         ConstantsReferencetemperatureEnum,
    449451        DhdtEnum,
    450452        GeothermalfluxEnum,
  • issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp

    r9356 r9607  
    2323                case VyObsEnum : return "vy_obs";
    2424                case BasalMeltingRateEnum : return "basal_melting_rate";
    25       case SurfaceAccumulationRateEnum : return "surface_accumulation_rate";
    26                 case SurfaceAblationRateEnum : return "surface_ablation_rate";
    27                 case SurfaceMassBalanceEnum : 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";
    2828                default : _error_("No model field is associated to enum %s",EnumToStringx(en));
    2929        }
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9597 r9607  
    1616        switch(en){
    1717
     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";
    1824                case ConstraintsEnum : return "Constraints";
    1925                case ElementsEnum : return "Elements";
     
    182188                case ShelfDampeningEnum : return "ShelfDampening";
    183189                case StabilizeConstraintsEnum : return "StabilizeConstraints";
    184                 case SurfaceAccumulationRateEnum : return "SurfaceAccumulationRate";
    185                 case SurfaceAblationRateEnum : return "SurfaceAblationRate";
    186190                case SurfaceAreaEnum : return "SurfaceArea";
    187191                case SurfaceEnum : return "Surface";
    188                 case SurfaceMassBalanceEnum : return "SurfaceMassBalance";
    189192                case SurfaceSlopeXEnum : return "SurfaceSlopeX";
    190193                case SurfaceSlopeYEnum : return "SurfaceSlopeY";
     
    314317                case SsetEnum : return "Sset";
    315318                case GroundinglineMigrationEnum : return "GroundinglineMigration";
    316                 case ConstantsYtsEnum : return "ConstantsYts";
    317319                case TriangleInterpEnum : return "TriangleInterp";
    318320                case BilinearInterpEnum : return "BilinearInterp";
     
    355357                case VerticesTypeEnum : return "VerticesType";
    356358                case HydroKnEnum : return "HydroKn";
    357                 case ConstantsGEnum : return "ConstantsG";
    358359                case SpcvzEnum : return "Spcvz";
    359360                case NumberOfNodes2DEnum : return "NumberOfNodes2D";
     
    389390                case ThermalconductivityEnum : return "Thermalconductivity";
    390391                case MeltingpointEnum : return "Meltingpoint";
    391                 case ConstantsReferencetemperatureEnum : return "ConstantsReferencetemperature";
    392392                case DhdtEnum : return "Dhdt";
    393393                case GeothermalfluxEnum : return "Geothermalflux";
  • issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp

    r9405 r9607  
    4242        iomodel->FetchDataToInput(elements,VyEnum);
    4343        iomodel->FetchDataToInput(elements,BasalMeltingRateEnum);
    44         iomodel->FetchDataToInput(elements,SurfaceAccumulationRateEnum);
    45         iomodel->FetchDataToInput(elements,SurfaceAblationRateEnum);
    46         iomodel->FetchDataToInput(elements,SurfaceMassBalanceEnum);
     44        iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum);
     45        iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum);
     46        iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
    4747        iomodel->FetchDataToInput(elements,DhdtEnum);
    4848
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp

    r9571 r9607  
    6767                iomodel->FetchDataToInput(elements,ElementOnSurfaceEnum);
    6868                iomodel->FetchDataToInput(elements,VzEnum);
    69                 iomodel->FetchDataToInput(elements,SurfaceAccumulationRateEnum);
    70                 iomodel->FetchDataToInput(elements,SurfaceAblationRateEnum);
    71                 iomodel->FetchDataToInput(elements,SurfaceMassBalanceEnum);
     69                iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum);
     70                iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum);
     71                iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
    7272                iomodel->FetchDataToInput(elements,BasalMeltingRateEnum);
    7373                iomodel->FetchDataToInput(elements,NodeOnStokesEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp

    r9405 r9607  
    4848        iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
    4949        iomodel->FetchDataToInput(elements,BasalMeltingRateEnum);
    50         iomodel->FetchDataToInput(elements,SurfaceAccumulationRateEnum);
    51         iomodel->FetchDataToInput(elements,SurfaceAblationRateEnum);
    52         iomodel->FetchDataToInput(elements,SurfaceMassBalanceEnum);
     50        iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum);
     51        iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum);
     52        iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
    5353        iomodel->FetchDataToInput(elements,VxEnum);
    5454        iomodel->FetchDataToInput(elements,VyEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp

    r9405 r9607  
    5353        iomodel->FetchDataToInput(elements,RheologyBEnum);
    5454        iomodel->FetchDataToInput(elements,RheologyNEnum);
    55         iomodel->FetchDataToInput(elements,SurfaceAccumulationRateEnum);
    56         iomodel->FetchDataToInput(elements,SurfaceAblationRateEnum);
    57         iomodel->FetchDataToInput(elements,SurfaceMassBalanceEnum);
     55        iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum);
     56        iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum);
     57        iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
    5858        iomodel->FetchDataToInput(elements,BasalMeltingRateEnum);
    5959        iomodel->FetchDataToInput(elements,PressureEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp

    r9405 r9607  
    4141        iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
    4242        iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
    43         iomodel->FetchDataToInput(elements,SurfaceAccumulationRateEnum);
    44         iomodel->FetchDataToInput(elements,SurfaceAblationRateEnum);
    45         iomodel->FetchDataToInput(elements,SurfaceMassBalanceEnum);
     43        iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum);
     44        iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum);
     45        iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
    4646        iomodel->FetchDataToInput(elements,BasalMeltingRateEnum);
    4747        iomodel->FetchDataToInput(elements,BasalMeltingRateCorrectionEnum);
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9597 r9607  
    1414int  StringToEnumx(char* name){
    1515
    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;
    1723        else if (strcmp(name,"Elements")==0) return ElementsEnum;
    1824        else if (strcmp(name,"Loads")==0) return LoadsEnum;
     
    180186        else if (strcmp(name,"ShelfDampening")==0) return ShelfDampeningEnum;
    181187        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;
    184188        else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
    185189        else if (strcmp(name,"Surface")==0) return SurfaceEnum;
    186         else if (strcmp(name,"SurfaceMassBalance")==0) return SurfaceMassBalanceEnum;
    187190        else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
    188191        else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
     
    312315        else if (strcmp(name,"Sset")==0) return SsetEnum;
    313316        else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;
    314         else if (strcmp(name,"ConstantsYts")==0) return ConstantsYtsEnum;
    315317        else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;
    316318        else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;
     
    353355        else if (strcmp(name,"VerticesType")==0) return VerticesTypeEnum;
    354356        else if (strcmp(name,"HydroKn")==0) return HydroKnEnum;
    355         else if (strcmp(name,"ConstantsG")==0) return ConstantsGEnum;
    356357        else if (strcmp(name,"Spcvz")==0) return SpcvzEnum;
    357358        else if (strcmp(name,"NumberOfNodes2D")==0) return NumberOfNodes2DEnum;
     
    387388        else if (strcmp(name,"Thermalconductivity")==0) return ThermalconductivityEnum;
    388389        else if (strcmp(name,"Meltingpoint")==0) return MeltingpointEnum;
    389         else if (strcmp(name,"ConstantsReferencetemperature")==0) return ConstantsReferencetemperatureEnum;
    390390        else if (strcmp(name,"Dhdt")==0) return DhdtEnum;
    391391        else if (strcmp(name,"Geothermalflux")==0) return GeothermalfluxEnum;
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r9597 r9607  
    65886588                                name==SurfaceSlopeYEnum ||
    65896589                                name==BasalMeltingRateEnum ||
    6590                                 name==SurfaceMassBalanceEnum ||
     6590                                name==SurfaceforcingsMassBalanceEnum ||
    65916591                                name==GeothermalfluxEnum ||
    65926592                                name==SurfaceAreaEnum||
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r9600 r9607  
    13141314        /*Retrieve all inputs and parameters*/
    13151315        GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
    1316         Input* surface_mass_balance_input=inputs->GetInput(SurfaceMassBalanceEnum); _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);
    13191319       
    13201320        /* Start  looping on the number of gaussian points: */
     
    13571357        /*Retrieve all inputs and parameters*/
    13581358        GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
    1359         Input* surface_mass_balance_input=inputs->GetInput(SurfaceMassBalanceEnum); _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);
    13621362
    13631363        /* Start  looping on the number of gaussian points: */
     
    19871987        GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
    19881988        this->parameters->FindParam(&dt,DtEnum);
    1989         Input* surface_mass_balance_input=inputs->GetInput(SurfaceMassBalanceEnum); _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);
    19911991        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);
    19931993
    19941994        /*Initialize basal_melting_correction_g to 0, do not forget!:*/
     
    20352035        this->parameters->FindParam(&dt,DtEnum);
    20362036        GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
    2037         Input* surface_mass_balance_input=inputs->GetInput(SurfaceMassBalanceEnum); _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);
    20402040
    20412041        /* Start  looping on the number of gaussian points: */
     
    39863986                                name==BasalMeltingRateEnum ||
    39873987                                name==WatercolumnEnum ||
    3988                                 name==SurfaceMassBalanceEnum ||
     3988                                name==SurfaceforcingsMassBalanceEnum ||
    39893989                                name==SurfaceAreaEnum||
    39903990                                name==VxEnum ||
  • issm/trunk/src/c/shared/Numerics/UnitConversion.cpp

    r9356 r9607  
    6161                case BasalMeltingRateEnum:        scale=yts;break; //m/yr
    6262                case BasalMeltingRateCorrectionEnum: scale=yts;break; //m/yr
    63                 case SurfaceAccumulationRateEnum: scale=yts;break; //m/yr
    64                 case SurfaceAblationRateEnum:     scale=yts;break; //m/yr
    65                 case SurfaceMassBalanceEnum:      scale=yts;break; //m/yr
     63                case SurfaceforcingsAccumulationRateEnum: scale=yts;break; //m/yr
     64                case SurfaceforcingsAblationRateEnum:     scale=yts;break; //m/yr
     65                case SurfaceforcingsMassBalanceEnum:      scale=yts;break; //m/yr
    6666                case MisfitEnum:      scale=pow(yts,2);break; //(m/yr)^2
    6767                case MassFluxEnum:    scale=pow(10,-12)*yts;break; // (GigaTon/year)
  • issm/trunk/src/c/solutions/transient_core.cpp

    r9597 r9607  
    9595                        if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time);
    9696                        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,SurfaceMassBalanceEnum,step,time);
     97                        InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum,step,time);
    9898                        InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ElementOnIceShelfEnum,step,time);
    9999
  • issm/trunk/src/m/classes/model/model.m

    r9606 r9607  
    1515                 constants = modelfield('default',0,'marshall',true);
    1616                 flaim     = modelfield('default',0,'marshall',false);
     17                 surfaceforcings = modelfield('default',0,'marshall',true);
    1718
    1819                 %FIXME: all other fields should belong to other classes
     
    153154                 vy_obs                    = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    154155                 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
    158157                 dhdt                      = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    159158                 geothermalflux            = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
     
    416415                         if isfield(structmd,'melting'), md.basal_melting_rate=structmd.melting; end
    417416                         if isfield(structmd,'melting_rate'), md.basal_melting_rate=structmd.melting_rate; end
    418                          if isfield(structmd,'accumulation'), md.surface_mass_balance=structmd.accumulation; end
    419                          if isfield(structmd,'accumulation_rate'), md.surface_mass_balance=structmd.accumulation_rate; end
     417                         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
    420419                         if isfield(structmd,'numberofgrids'), md.numberofnodes=structmd.numberofgrids; end
    421420                         if isfield(structmd,'numberofgrids2d'), md.numberofnodes2d=structmd.numberofgrids2d; end
     
    438437                         if isfield(structmd,'yts'), md.constants.yts=structmd.yts; end
    439438                         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
    440440
    441441                         %Field changes
     
    544544                         md.constants=constants;
    545545                         md.flaim=flaim;
    546 
     546                         md.surfaceforcings=surfaceforcings;
    547547
    548548                         %Materials parameters
  • issm/trunk/src/m/model/collapse.m

    r9532 r9607  
    2929if ~isnan(md.vy_obs), md.vy_obs=project2d(md,md.vy_obs,md.numlayers); end;
    3030if ~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;
     31if ~isnan(md.surfaceforcings.mass_balance),
     32        md.surfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md.numlayers);
     33end;
    3234if ~isnan(md.dhdt), md.dhdt=project2d(md,md.dhdt,md.numlayers); end;
    3335
  • issm/trunk/src/m/model/display/displayobservations.m

    r8399 r9607  
    1717fielddisplay(md,'vy_obs_raw','raw observed velocity y component [m/a]');
    1818fielddisplay(md,'vel_obs_raw','raw observed magnitude [m/a]');
    19 fielddisplay(md,'surface_mass_balance','surface mass balance [m/a]');
    2019fielddisplay(md,'dhdt','surface dhdt rate [m/a]');
    2120fielddisplay(md,'observed_temperature','observed temperature [K]');
  • issm/trunk/src/m/model/extrude.m

    r9597 r9607  
    134134md.vy_obs=project3d(md,'vector',md.vy_obs,'type','node');
    135135md.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');
     136md.surfaceforcings.mass_balance=project3d(md,'vector',md.surfaceforcings.mass_balance,'type','node');
     137md.surfaceforcings.accumulation_rate=project3d(md,'vector',md.surfaceforcings.accumulation_rate,'type','node');
     138md.surfaceforcings.ablation_rate=project3d(md,'vector',md.surfaceforcings.ablation_rate,'type','node');
    139139md.dhdt=project3d(md,'vector',md.dhdt,'type','node');
    140140
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r9605 r9607  
    452452
    453453                        %FORCINGS
    454                         fields={'surface_mass_balance'};
     454                        fields={'surfaceforcings.mass_balance'};
    455455                        checkforcing(md,fields);
    456456
  • issm/trunk/src/m/utils/BC/SetIceSheetBC.m

    r9423 r9607  
    3434
    3535%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');
     36if 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');
    3939end
    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');
     40if 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');
    4343end
    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');
     44if 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');
    4747end
    4848if isnan(md.basal_melting_rate),
  • issm/trunk/src/m/utils/BC/SetIceShelfBC.m

    r9464 r9607  
    6464md.pressureload=pressureload;
    6565
    66 %Create zeros basal_melting_rate, surface_ablation_rate, surface_accumulation_rate
    67 % and surface_mass_balance if not specified
    68 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
     68if 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');
    7171end
    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');
     72if 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');
    7575end
    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');
     76if 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');
    7979end
    8080if isnan(md.basal_melting_rate),
  • issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m

    r9464 r9607  
    7575
    7676
    77 %Create zeros basal_melting_rate, surface_ablation_rate, surface_accumulation_rate
    78 % and surface_mass_balance if not specified
    79 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
     79if 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');
    8282end
    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');
     83if 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');
    8686end
    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');
     87if 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');
    9090end
    9191if isnan(md.basal_melting_rate),
  • issm/trunk/test/NightlyRun/test1201.m

    r9235 r9607  
    99        md=geography(md,'all','');
    1010        md=parameterize(md,'../Par/SquareEISMINT.par');
    11         md.surface_mass_balance(:)=0;
     11        md.surfaceforcings.mass_balance(:)=0;
    1212        md=setelementstype(md,'macayeal','all');
    1313        md.cluster=generic('name',oshostname(),'np',8);
  • issm/trunk/test/NightlyRun/test1501.m

    r9597 r9607  
    1414%Solve for thinning rate -> -1 * surface mass balance
    1515smb= 2*ones(md.numberofnodes,1);   
    16 md.surface_mass_balance= smb;
     16md.surfaceforcings.mass_balance= smb;
    1717md.basal_melting_rate= smb;
    1818
     
    2121for i=1:10
    2222         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);
    2424end
    2525
    2626%Set up transient
    27 smb = md.surface_mass_balance;
     27smb = md.surfaceforcings.mass_balance;
    2828
    2929tooth= [ [ones(400,1)*(smb') - 10]' [ones(400,1)*(smb')]' ];
    3030smb=[ [ones(399,1)*(smb')]' smb  tooth tooth];
    3131
    32 md.surface_mass_balance= smb;
    33 md.surface_mass_balance(end+1,:)=[1:2000];
     32md.surfaceforcings.mass_balance= smb;
     33md.surfaceforcings.mass_balance(end+1,:)=[1:2000];
    3434
    3535md=solve(md,TransientSolutionEnum);
  • issm/trunk/test/NightlyRun/test1502.m

    r9597 r9607  
    1515%Solve for thinning rate -> -1 * surface mass balance
    1616smb= 2*ones(md.numberofnodes,1);   
    17 md.surface_mass_balance= smb;
     17md.surfaceforcings.mass_balance= smb;
    1818md.basal_melting_rate= smb;
    1919
     
    2222for i=1:10
    2323         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);
    2525end
    2626
    2727%Set up transient
    28 smb = md.surface_mass_balance;
     28smb = md.surfaceforcings.mass_balance;
    2929
    3030tooth= [ [ones(400,1)*(smb') - 10]' [ones(400,1)*(smb')]' ];
    3131smb=[ [ones(399,1)*(smb')]' smb  tooth tooth];
    3232
    33 md.surface_mass_balance= smb;
    34 md.surface_mass_balance(end+1,:)=[1:2000];
     33md.surfaceforcings.mass_balance= smb;
     34md.surfaceforcings.mass_balance(end+1,:)=[1:2000];
    3535
    3636md=solve(md,TransientSolutionEnum);
  • issm/trunk/test/NightlyRun/test255.m

    r8999 r9607  
    1313smb=[ smb smb*-1 ];
    1414
    15 md.surface_mass_balance= smb;
    16 md.surface_mass_balance(end+1,:)=[1.5 3];
     15md.surfaceforcings.mass_balance= smb;
     16md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1717md.isthermal=0;
    1818
  • issm/trunk/test/NightlyRun/test256.m

    r8999 r9607  
    1313smb=[ smb smb*-1 ];
    1414
    15 md.surface_mass_balance= smb;
    16 md.surface_mass_balance(end+1,:)=[1.5 3];
     15md.surfaceforcings.mass_balance= smb;
     16md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1717md.isthermal=0;
    1818
  • issm/trunk/test/NightlyRun/test257.m

    r8999 r9607  
    1313smb=[ smb smb*2 ];
    1414
    15 md.surface_mass_balance= smb;
    16 md.surface_mass_balance(end+1,:)=[1.5 3];
     15md.surfaceforcings.mass_balance= smb;
     16md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1717md.isthermal=0;
    1818
  • issm/trunk/test/NightlyRun/test258.m

    r8999 r9607  
    1313smb=[ smb smb*2 ];
    1414
    15 md.surface_mass_balance= smb;
    16 md.surface_mass_balance(end+1,:)=[1.5 3];
     15md.surfaceforcings.mass_balance= smb;
     16md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1717md.isthermal=0;
    1818
  • issm/trunk/test/NightlyRun/test259.m

    r8999 r9607  
    1414smb=[ smb smb*-1 ];
    1515
    16 md.surface_mass_balance= smb;
    17 md.surface_mass_balance(end+1,:)=[1.5 3];
     16md.surfaceforcings.mass_balance= smb;
     17md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1818md.isthermal=0;
    1919
  • issm/trunk/test/NightlyRun/test260.m

    r8999 r9607  
    1414smb=[ smb smb*-1 ];
    1515
    16 md.surface_mass_balance= smb;
    17 md.surface_mass_balance(end+1,:)=[1.5 3];
     16md.surfaceforcings.mass_balance= smb;
     17md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1818md.isthermal=0;
    1919
  • issm/trunk/test/NightlyRun/test261.m

    r8999 r9607  
    1414smb=[ smb smb*2 ];
    1515
    16 md.surface_mass_balance= smb;
    17 md.surface_mass_balance(end+1,:)=[1.5 3];
     16md.surfaceforcings.mass_balance= smb;
     17md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1818md.isthermal=0;
    1919
  • issm/trunk/test/NightlyRun/test262.m

    r8999 r9607  
    1414smb=[ smb smb*2 ];
    1515
    16 md.surface_mass_balance= smb;
    17 md.surface_mass_balance(end+1,:)=[1.5 3];
     16md.surfaceforcings.mass_balance= smb;
     17md.surfaceforcings.mass_balance(end+1,:)=[1.5 3];
    1818md.isthermal=0;
    1919
  • issm/trunk/test/Par/79North.par

    r9455 r9607  
    2727pos(md.elements(find(md.elementoniceshelf),:))=1;
    2828md.basal_melting_rate(find(pos))=10;
    29 md.surface_mass_balance=15*ones(md.numberofnodes,1);
     29md.surfaceforcings.mass_balance=15*ones(md.numberofnodes,1);
    3030
    3131%Numerical parameters
  • issm/trunk/test/Par/RoundSheetEISMINT.par

    r9597 r9607  
    2525sb=10^-2/1000; %m/yr/m
    2626rel=450*1000; %m
    27 md.surface_mass_balance=min(smb_max,sb*(rel-radius));
     27md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius));
    2828
    2929disp('      creating velocities');
  • issm/trunk/test/Par/RoundSheetShelf.par

    r9516 r9607  
    4545
    4646%Surface mass balance and basal melting
    47 md.surface_mass_balance=-10*ones(md.numberofnodes,1);
     47md.surfaceforcings.mass_balance=-10*ones(md.numberofnodes,1);
    4848md.basal_melting_rate=zeros(md.numberofnodes,1);
    4949pos=find(md.nodeoniceshelf);md.basal_melting_rate(pos)=10;
  • issm/trunk/test/Par/RoundSheetStaticEISMINT.par

    r9481 r9607  
    3030sb=10^-2/1000; %m/yr/m
    3131rel=450*1000; %m
    32 md.surface_mass_balance=min(smb_max,sb*(rel-radius));
     32md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius));
    3333
    3434disp('      creating velocities');
  • issm/trunk/test/Par/SquareEISMINT.par

    r9481 r9607  
    2424
    2525disp('      creating surface mass balance');
    26 md.surface_mass_balance=0.2*ones(md.numberofnodes,1); %0m/a
     26md.surfaceforcings.mass_balance=0.2*ones(md.numberofnodes,1); %0m/a
    2727md.basal_melting_rate=0*ones(md.numberofnodes,1); %0m/a
    2828
  • issm/trunk/test/Par/SquareSheetShelf.par

    r9455 r9607  
    2727
    2828%Accumulation and melting
    29 md.surface_mass_balance=10*ones(md.numberofnodes,1);
     29md.surfaceforcings.mass_balance=10*ones(md.numberofnodes,1);
    3030md.basal_melting_rate=5*ones(md.numberofnodes,1);
    3131
  • issm/trunk/test/Par/SquareShelfConstrained.par

    r9455 r9607  
    2424
    2525%Surface mass balance and basal melting
    26 md.surface_mass_balance=10*ones(md.numberofnodes,1);
     26md.surfaceforcings.mass_balance=10*ones(md.numberofnodes,1);
    2727md.basal_melting_rate=5*ones(md.numberofnodes,1);
    2828
  • issm/trunk/test/Par/SquareThermal.par

    r9597 r9607  
    2929md.rheology_n=3*ones(md.numberofelements,1);
    3030
    31 disp('      creating surface_mass_balance');
    32 md.surface_mass_balance=ones(md.numberofnodes,1)/md.constants.yts; %1m/a
     31disp('      creating surface mass balance');
     32md.surfaceforcings.mass_balance=ones(md.numberofnodes,1)/md.constants.yts; %1m/a
    3333md.basal_melting_rate=0*ones(md.numberofnodes,1)/md.constants.yts; %1m/a
    3434
Note: See TracChangeset for help on using the changeset viewer.