Changeset 23336


Ignore:
Timestamp:
09/25/18 09:51:22 (6 years ago)
Author:
Mathieu Morlighem
Message:

CHG: allow FS with other melt parameterizations

Location:
issm/trunk-jpl/src/c/analyses
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp

    r22506 r23336  
    8080        iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
    8181        iomodel->FetchDataToInput(elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum,0.);
    82         iomodel->FetchDataToInput(elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum);
    8382        iomodel->FetchDataToInput(elements,"md.initialization.vx",VxEnum);
    8483        iomodel->FetchDataToInput(elements,"md.initialization.vy",VyEnum);
     
    8988                iomodel->FetchDataToInput(elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
    9089                iomodel->FetchDataToInput(elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
     90        }
     91
     92        /*Get what we need for ocean-induced basal melting*/
     93        int basalforcing_model;
     94        iomodel->FindConstant(&basalforcing_model,"md.basalforcings.model");
     95        switch(basalforcing_model){
     96                case FloatingMeltRateEnum:
     97                        iomodel->FetchDataToInput(elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum);
     98                        break;
     99                case LinearFloatingMeltRateEnum:
     100                        break;
     101                case MismipFloatingMeltRateEnum:
     102                        break;
     103                case MantlePlumeGeothermalFluxEnum:
     104                        break;
     105                case SpatialLinearFloatingMeltRateEnum:
     106                        iomodel->FetchDataToInput(elements,"md.basalforcings.deepwater_melting_rate",BasalforcingsDeepwaterMeltingRateEnum);
     107                        iomodel->FetchDataToInput(elements,"md.basalforcings.deepwater_elevation",BasalforcingsDeepwaterElevationEnum);
     108                        iomodel->FetchDataToInput(elements,"md.basalforcings.upperwater_elevation",BasalforcingsUpperwaterElevationEnum);
     109                        break;
     110                case BasalforcingsPicoEnum:
     111                        iomodel->FetchDataToInput(elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
     112                        break;
     113                default:
     114                        _error_("Basal forcing model "<<EnumToStringx(basalforcing_model)<<" not supported yet");
    91115        }
    92116}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r23207 r23336  
    766766        if(isFS){
    767767                iomodel->FetchDataToInput(elements,"md.initialization.pressure",PressureEnum,0.);
    768                 iomodel->FetchDataToInput(elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum,0.);
     768
     769                /*Add basal forcings to compute melt rate*/
     770                int basalforcing_model;
     771                iomodel->FindConstant(&basalforcing_model,"md.basalforcings.model");
     772                switch(basalforcing_model){
     773                        case FloatingMeltRateEnum:
     774                                iomodel->FetchDataToInput(elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum);
     775                                break;
     776                        case LinearFloatingMeltRateEnum:
     777                                break;
     778                        case MismipFloatingMeltRateEnum:
     779                                break;
     780                        case MantlePlumeGeothermalFluxEnum:
     781                                break;
     782                        case SpatialLinearFloatingMeltRateEnum:
     783                                iomodel->FetchDataToInput(elements,"md.basalforcings.deepwater_melting_rate",BasalforcingsDeepwaterMeltingRateEnum);
     784                                iomodel->FetchDataToInput(elements,"md.basalforcings.deepwater_elevation",BasalforcingsDeepwaterElevationEnum);
     785                                iomodel->FetchDataToInput(elements,"md.basalforcings.upperwater_elevation",BasalforcingsUpperwaterElevationEnum);
     786                                break;
     787                        case BasalforcingsPicoEnum:
     788                                iomodel->FetchDataToInput(elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
     789                                break;
     790                        default:
     791                                _error_("Basal forcing model "<<EnumToStringx(basalforcing_model)<<" not supported yet");
     792                }
    769793        }
    770794        /*LATH parameters*/
Note: See TracChangeset for help on using the changeset viewer.