Changeset 22471


Ignore:
Timestamp:
02/26/18 10:58:46 (7 years ago)
Author:
tpelle
Message:

CHG: added Pico

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r22443 r22471  
    133133                                        ./classes/Params/VectorParam.cpp\
    134134                                        ./classes/Params/TransientParam.cpp\
     135                                        ./classes/Params/TransientArrayParam.cpp\
    135136                                        ./classes/Params/DataSetParam.cpp\
    136137                                        ./classes/Profiler.cpp\
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r22416 r22471  
    178178                iomodel->FetchDataToInput(elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
    179179        }
     180
     181        int basalforcing_model;
     182        iomodel->FindConstant(&basalforcing_model,"md.basalforcings.model");
     183        switch(basalforcing_model){
     184                case BasalforcingsPicoEnum:
     185                        iomodel->FetchDataToInput(elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
     186                        break;
     187                default: // Do nothing
     188                        break;
     189        }
     190       
    180191}/*}}}*/
    181192void MasstransportAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r22450 r22471  
    21282128}
    21292129/*}}}*/
     2130void       Element::PicoFloatingiceMeltingRate(){/*{{{*/
     2131
     2132        int numvertices      = this->GetNumberOfVertices();
     2133        IssmDouble  deepwaterel,upperwaterel,deepwatermelt;
     2134        IssmDouble* base     = xNew<IssmDouble>(numvertices);
     2135        IssmDouble* values   = xNew<IssmDouble>(numvertices);
     2136        IssmDouble time;
     2137
     2138        parameters->FindParam(&time,TimeEnum);
     2139        parameters->FindParam(&deepwaterel,BasalforcingsDeepwaterElevationEnum,time);
     2140        parameters->FindParam(&upperwaterel,BasalforcingsUpperwaterElevationEnum,time);
     2141        parameters->FindParam(&deepwatermelt,BasalforcingsDeepwaterMeltingRateEnum,time);
     2142
     2143        this->GetInputListOnVertices(base,BaseEnum);
     2144        for(int i=0;i<numvertices;i++){
     2145                if(base[i]>upperwaterel)      values[i]=0;
     2146                else if (base[i]<deepwaterel) values[i]=deepwatermelt;
     2147                else values[i]=deepwatermelt*(base[i]-upperwaterel)/(deepwaterel-upperwaterel);
     2148        }
     2149
     2150        this->AddInput(BasalforcingsFloatingiceMeltingRateEnum,values,P1Enum);
     2151        xDelete<IssmDouble>(base);
     2152        xDelete<IssmDouble>(values);
     2153
     2154}/*}}}*/
    21302155void       Element::PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm,bool ismungsm,bool issetpddfac){/*{{{*/
    21312156
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r22448 r22471  
    140140                ElementMatrix*     NewElementMatrixCoupling(int number_nodes,int approximation_enum=NoneApproximationEnum);
    141141                ElementVector*     NewElementVector(int approximation_enum=NoneApproximationEnum);
     142                void                                     PicoFloatingiceMeltingRate();
    142143                void               PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm,bool ismungsm,bool issetpddfac);
    143144                IssmDouble         PureIceEnthalpy(IssmDouble pressure);
     
    272273                virtual int        NumberofNodesPressure(void)=0;
    273274                virtual int        NumberofNodesVelocity(void)=0;
     275                virtual void       PicoUpdateBoxid(int* pmax_boxid_basin)=0;
    274276                virtual void       PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding)=0;
    275277                virtual int        PressureInterpolation()=0;
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r22349 r22471  
    139139                int            NumberofNodesPressure(void);
    140140                int            NumberofNodesVelocity(void);
     141                void                            PicoUpdateBoxid(int* pmax_boxid_basin){_error_("not implemented yet");};
    141142                void           PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
    142143                int            PressureInterpolation();
  • issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r22349 r22471  
    128128                int         NumberofNodesPressure(void){_error_("not implemented yet");};
    129129                int         NumberofNodesVelocity(void){_error_("not implemented yet");};
     130                void        PicoUpdateBoxid(int* pmax_boxid_basin){_error_("not implemented yet");};
    130131                void        PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding){_error_("not implemented yet");};
    131132                int         PressureInterpolation(void){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tetra.h

    r22349 r22471  
    136136                int         NumberofNodesPressure(void);
    137137                int         NumberofNodesVelocity(void);
     138                void                    PicoUpdateBoxid(int* pmax_boxid_basin){_error_("not implemented yet");};       
    138139                void        PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding){_error_("not implemented yet");};
    139140                int         PressureInterpolation(void);
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r22379 r22471  
    110110                int         NumberofNodesPressure(void);
    111111                int         NumberofNodesVelocity(void);
     112                void        PicoUpdateBoxid(int* pmax_boxid_basin);
    112113                void        PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
    113114                int         PressureInterpolation();
  • issm/trunk-jpl/src/c/classes/Params/Parameters.cpp

    r22425 r22471  
    3434#include "./DoubleMatArrayParam.h"
    3535#include "./TransientParam.h"
     36#include "./TransientArrayParam.h"
    3637
    3738#include "../../shared/shared.h"
     
    219220                                transparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
    220221                                this->AddObject(transparam);
     222                        }
     223                        else if(obj_enum==TransientArrayParamEnum){
     224                                TransientArrayParam* transarrayparam=NULL;
     225                                transarrayparam=new TransientArrayParam();
     226                                transarrayparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
     227                                this->AddObject(transarrayparam);
    221228                        }
    222229                        else if(obj_enum==GenericParamEnum){
  • issm/trunk-jpl/src/c/classes/classes.h

    r22408 r22471  
    108108#include "./Params/StringParam.h"
    109109#include "./Params/TransientParam.h"
     110#include "./Params/TransientArrayParam.h"
    110111#include "./Params/DataSetParam.h"
    111112
  • issm/trunk-jpl/src/c/cores/transient_core.cpp

    r22243 r22471  
    148148                        }
    149149                }
    150 
    151                 /*Calculate new basal melting on floating ice*/
    152                 FloatingiceMeltingRatex(femmodel);
    153                
     150                if(ismasstransport){
     151                        /*Calculate new basal melting on floating ice*/
     152                        FloatingiceMeltingRatex(femmodel);
     153                }
     154
    154155                if(isgia){
    155156                        if(VerboseSolution()) _printf0_("   computing glacial isostatic adjustment\n");
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h

    r19479 r22471  
    1212void LinearFloatingiceMeltingRatex(FemModel* femmodel);
    1313void MismipFloatingiceMeltingRatex(FemModel* femmodel);
     14void PicoFloatingiceMeltingRatex(FemModel* femmodel);
    1415
    1516#endif  /* _FloatingiceMeltingRatex_H*/
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r22465 r22471  
    206206                        parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.lowercrustheat",BasalforcingsLowercrustheatEnum));
    207207                        break;
     208                case BasalforcingsPicoEnum:
     209                                iomodel->FindConstant(&interp,"md.timestepping.interp_forcings");
     210                                parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsPicoNumBasinsEnum));
     211                                parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.maxboxcount",BasalforcingsPicoMaxboxcountEnum));
     212                                parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum));
     213                                parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.gamma_T",BasalforcingsPicoGammaTEnum));
     214                                iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.farocean_temperature");
     215                                parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceanTemperatureEnum,&transparam[0],&transparam[M*(N-1)],interp,M,N));
     216                                iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.farocean_salinity");
     217                                parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceanSalinityEnum,&transparam[0],&transparam[M*(N-1)],interp,M,N));
     218                        break;
    208219                default:
    209220                        _error_("Basal forcing model "<<EnumToStringx(basalforcing_model)<<" not supported yet");
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r22467 r22471  
    9393                case BasalforcingsPicoBasinIdEnum : return "BasalforcingsPicoBasinId";
    9494                case BasalforcingsPicoMaxboxcountEnum : return "BasalforcingsPicoMaxboxcount";
     95                case BasalforcingsPicoBoxIdEnum : return "BasalforcingsPicoBoxId";
    9596                case BasalforcingsPicoOverturningCoeffEnum : return "BasalforcingsPicoOverturningCoeff";
    9697                case BasalforcingsPicoGammaTEnum : return "BasalforcingsPicoGammaT";
    97                 case BasalforcingsPicoBox0temperatureEnum : return "BasalforcingsPicoBox0temperature";
    98                 case BasalforcingsPicoBox0salinityEnum : return "BasalforcingsPicoBox0salinity";
     98                case BasalforcingsPicoFarOceantemperatureEnum : return "BasalforcingsPicoFarOceantemperature";
     99                case BasalforcingsPicoFarOceansalinityEnum : return "BasalforcingsPicoFarOceansalinity";
     100                case DistanceToGroundinglineEnum : return "DistanceToGroundingline";
     101                case DistanceToCalvingfrontEnum : return "DistanceToCalvingfront";
    99102                case BedEnum : return "Bed";
    100103                case BaseEnum : return "Base";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r22468 r22471  
    9393              else if (strcmp(name,"BasalforcingsPicoBasinId")==0) return BasalforcingsPicoBasinIdEnum;
    9494              else if (strcmp(name,"BasalforcingsPicoMaxboxcount")==0) return BasalforcingsPicoMaxboxcountEnum;
     95              else if (strcmp(name,"BasalforcingsPicoBoxId")==0) return BasalforcingsPicoBoxIdEnum;
    9596              else if (strcmp(name,"BasalforcingsPicoOverturningCoeff")==0) return BasalforcingsPicoOverturningCoeffEnum;
    9697              else if (strcmp(name,"BasalforcingsPicoGammaT")==0) return BasalforcingsPicoGammaTEnum;
    97               else if (strcmp(name,"BasalforcingsPicoBox0temperature")==0) return BasalforcingsPicoBox0temperatureEnum;
    98               else if (strcmp(name,"BasalforcingsPicoBox0salinity")==0) return BasalforcingsPicoBox0salinityEnum;
     98              else if (strcmp(name,"BasalforcingsPicoFarOceantemperature")==0) return BasalforcingsPicoFarOceantemperatureEnum;
     99              else if (strcmp(name,"BasalforcingsPicoFarOceansalinity")==0) return BasalforcingsPicoFarOceansalinityEnum;
     100              else if (strcmp(name,"DistanceToGroundingline")==0) return DistanceToGroundinglineEnum;
     101              else if (strcmp(name,"DistanceToCalvingfront")==0) return DistanceToCalvingfrontEnum;
    99102              else if (strcmp(name,"Bed")==0) return BedEnum;
    100103              else if (strcmp(name,"Base")==0) return BaseEnum;
     
    134137              else if (strcmp(name,"FrictionM")==0) return FrictionMEnum;
    135138              else if (strcmp(name,"FrictionC")==0) return FrictionCEnum;
    136               else if (strcmp(name,"FrictionLaw")==0) return FrictionLawEnum;
    137               else if (strcmp(name,"FrictionGamma")==0) return FrictionGammaEnum;
    138               else if (strcmp(name,"FrictionF")==0) return FrictionFEnum;
    139139         else stage=2;
    140140   }
    141141   if(stage==2){
    142               if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
     142              if (strcmp(name,"FrictionLaw")==0) return FrictionLawEnum;
     143              else if (strcmp(name,"FrictionGamma")==0) return FrictionGammaEnum;
     144              else if (strcmp(name,"FrictionF")==0) return FrictionFEnum;
     145              else if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
    143146              else if (strcmp(name,"FrictionEffectivePressure")==0) return FrictionEffectivePressureEnum;
    144147              else if (strcmp(name,"FrictionCoupling")==0) return FrictionCouplingEnum;
     
    257260              else if (strcmp(name,"MaterialsRheologyEc")==0) return MaterialsRheologyEcEnum;
    258261              else if (strcmp(name,"MaterialsRheologyEcbar")==0) return MaterialsRheologyEcbarEnum;
    259               else if (strcmp(name,"MaterialsRheologyEs")==0) return MaterialsRheologyEsEnum;
    260               else if (strcmp(name,"MaterialsRheologyEsbar")==0) return MaterialsRheologyEsbarEnum;
    261               else if (strcmp(name,"DamageD")==0) return DamageDEnum;
    262262         else stage=3;
    263263   }
    264264   if(stage==3){
    265               if (strcmp(name,"DamageF")==0) return DamageFEnum;
     265              if (strcmp(name,"MaterialsRheologyEs")==0) return MaterialsRheologyEsEnum;
     266              else if (strcmp(name,"MaterialsRheologyEsbar")==0) return MaterialsRheologyEsbarEnum;
     267              else if (strcmp(name,"DamageD")==0) return DamageDEnum;
     268              else if (strcmp(name,"DamageF")==0) return DamageFEnum;
    266269              else if (strcmp(name,"DamageDbar")==0) return DamageDbarEnum;
    267270              else if (strcmp(name,"DamageLaw")==0) return DamageLawEnum;
     
    380383              else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum;
    381384              else if (strcmp(name,"ThermalReltol")==0) return ThermalReltolEnum;
    382               else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum;
    383               else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
    384               else if (strcmp(name,"ThermalPenaltyLock")==0) return ThermalPenaltyLockEnum;
    385385         else stage=4;
    386386   }
    387387   if(stage==4){
    388               if (strcmp(name,"ThermalPenaltyThreshold")==0) return ThermalPenaltyThresholdEnum;
     388              if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum;
     389              else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
     390              else if (strcmp(name,"ThermalPenaltyLock")==0) return ThermalPenaltyLockEnum;
     391              else if (strcmp(name,"ThermalPenaltyThreshold")==0) return ThermalPenaltyThresholdEnum;
    389392              else if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum;
    390393              else if (strcmp(name,"ThermalStabilization")==0) return ThermalStabilizationEnum;
     
    503506              else if (strcmp(name,"SmbTemperaturesLgm")==0) return SmbTemperaturesLgmEnum;
    504507              else if (strcmp(name,"SmbPrecipitation")==0) return SmbPrecipitationEnum;
    505               else if (strcmp(name,"SmbPddfacSnow")==0) return SmbPddfacSnowEnum;
     508         else stage=5;
     509   }
     510   if(stage==5){
     511              if (strcmp(name,"SmbPddfacSnow")==0) return SmbPddfacSnowEnum;
    506512              else if (strcmp(name,"SmbPddfacIce")==0) return SmbPddfacIceEnum;
    507513              else if (strcmp(name,"SmbDesfac")==0) return SmbDesfacEnum;
     
    512518              else if (strcmp(name,"SmbPfac")==0) return SmbPfacEnum;
    513519              else if (strcmp(name,"SmbTdiff")==0) return SmbTdiffEnum;
    514          else stage=5;
    515    }
    516    if(stage==5){
    517               if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum;
     520              else if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum;
    518521              else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum;
    519          else stage=5;
    520    }
    521    if(stage==5){
    522               if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum;
     522              else if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum;
    523523              else if (strcmp(name,"SmbF")==0) return SmbFEnum;
    524524              else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum;
     
    629629              else if (strcmp(name,"LambdaS")==0) return LambdaSEnum;
    630630              else if (strcmp(name,"StrainRate")==0) return StrainRateEnum;
    631               else if (strcmp(name,"StrainRatexx")==0) return StrainRatexxEnum;
     631         else stage=6;
     632   }
     633   if(stage==6){
     634              if (strcmp(name,"StrainRatexx")==0) return StrainRatexxEnum;
    632635              else if (strcmp(name,"StrainRatexy")==0) return StrainRatexyEnum;
    633636              else if (strcmp(name,"StrainRatexz")==0) return StrainRatexzEnum;
     
    638641              else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
    639642              else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
    640          else stage=6;
    641    }
    642    if(stage==6){
    643               if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
     643              else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
    644644              else if (strcmp(name,"GiaW")==0) return GiaWEnum;
    645          else stage=6;
    646    }
    647    if(stage==6){
    648               if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
     645              else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
    649646              else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
    650647              else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
     
    755752              else if (strcmp(name,"Outputdefinition94")==0) return Outputdefinition94Enum;
    756753              else if (strcmp(name,"Outputdefinition95")==0) return Outputdefinition95Enum;
    757               else if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum;
     754         else stage=7;
     755   }
     756   if(stage==7){
     757              if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum;
    758758              else if (strcmp(name,"Outputdefinition97")==0) return Outputdefinition97Enum;
    759759              else if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum;
     
    764764              else if (strcmp(name,"Nodalvalue")==0) return NodalvalueEnum;
    765765              else if (strcmp(name,"Regionaloutput")==0) return RegionaloutputEnum;
    766          else stage=7;
    767    }
    768    if(stage==7){
    769               if (strcmp(name,"VxObs")==0) return VxObsEnum;
     766              else if (strcmp(name,"VxObs")==0) return VxObsEnum;
    770767              else if (strcmp(name,"VyObs")==0) return VyObsEnum;
    771          else stage=7;
    772    }
    773    if(stage==7){
    774               if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum;
     768              else if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum;
    775769              else if (strcmp(name,"Absolute")==0) return AbsoluteEnum;
    776770              else if (strcmp(name,"Incremental")==0) return IncrementalEnum;
     
    881875              else if (strcmp(name,"LoveR0")==0) return LoveR0Enum;
    882876              else if (strcmp(name,"LoveMu0")==0) return LoveMu0Enum;
    883               else if (strcmp(name,"LoveAllowLayerDeletion")==0) return LoveAllowLayerDeletionEnum;
     877         else stage=8;
     878   }
     879   if(stage==8){
     880              if (strcmp(name,"LoveAllowLayerDeletion")==0) return LoveAllowLayerDeletionEnum;
    884881              else if (strcmp(name,"LoveForcingType")==0) return LoveForcingTypeEnum;
    885882              else if (strcmp(name,"LoveHr")==0) return LoveHrEnum;
     
    890887              else if (strcmp(name,"LoveLi")==0) return LoveLiEnum;
    891888              else if (strcmp(name,"LoveKernels")==0) return LoveKernelsEnum;
    892          else stage=8;
    893    }
    894    if(stage==8){
    895               if (strcmp(name,"LoveKernelsReal")==0) return LoveKernelsRealEnum;
     889              else if (strcmp(name,"LoveKernelsReal")==0) return LoveKernelsRealEnum;
    896890              else if (strcmp(name,"LoveKernelsImag")==0) return LoveKernelsImagEnum;
    897          else stage=8;
    898    }
    899    if(stage==8){
    900               if (strcmp(name,"EsaUmotion")==0) return EsaUmotionEnum;
     891              else if (strcmp(name,"EsaUmotion")==0) return EsaUmotionEnum;
    901892              else if (strcmp(name,"EsaNmotion")==0) return EsaNmotionEnum;
    902893              else if (strcmp(name,"EsaEmotion")==0) return EsaEmotionEnum;
     
    1007998              else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
    1008999              else if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
    1009               else if (strcmp(name,"Option")==0) return OptionEnum;
     1000         else stage=9;
     1001   }
     1002   if(stage==9){
     1003              if (strcmp(name,"Option")==0) return OptionEnum;
    10101004              else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
    10111005              else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
     
    10161010              else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
    10171011              else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
    1018          else stage=9;
    1019    }
    1020    if(stage==9){
    1021               if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
     1012              else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
    10221013              else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum;
    10231014              else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;
    1024          else stage=9;
    1025    }
    1026    if(stage==9){
    1027               if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
     1015              else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
    10281016              else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
    10291017              else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
     
    11331121              else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
    11341122              else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
    1135               else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
     1123         else stage=10;
     1124   }
     1125   if(stage==10){
     1126              if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
    11361127              else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum;
    11371128              else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum;
     
    11421133              else if (strcmp(name,"Air")==0) return AirEnum;
    11431134              else if (strcmp(name,"Ice")==0) return IceEnum;
    1144          else stage=10;
    1145    }
    1146    if(stage==10){
    1147               if (strcmp(name,"Melange")==0) return MelangeEnum;
     1135              else if (strcmp(name,"Melange")==0) return MelangeEnum;
    11481136              else if (strcmp(name,"Water")==0) return WaterEnum;
    11491137              else if (strcmp(name,"DataSet")==0) return DataSetEnum;
    1150          else stage=10;
    1151    }
    1152    if(stage==10){
    1153               if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
     1138              else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
    11541139              else if (strcmp(name,"Loads")==0) return LoadsEnum;
    11551140              else if (strcmp(name,"Materials")==0) return MaterialsEnum;
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp

    r22201 r22471  
    162162                case 3: return MismipFloatingMeltRateEnum;
    163163                case 4: return MantlePlumeGeothermalFluxEnum;
     164                case 5: return BasalforcingsPicoEnum;
    164165                default: _error_("Marshalled Basal Forcings code \""<<enum_in<<"\" not supported yet");
    165166        }
Note: See TracChangeset for help on using the changeset viewer.