source: issm/oecreview/Archive/25834-26739/ISSM-26499-26500.diff

Last change on this file was 26740, checked in by Mathieu Morlighem, 3 years ago

CHG: added 25834-26739

File size: 52.0 KB
  • ../trunk-jpl/src/jl/issmenums.jl

     
     1@enum IssmEnum begin
     2        ParametersSTARTEnum
     3        #Parameters{{{
     4        AdolcParamEnum
     5        AmrDeviatoricErrorGroupThresholdEnum
     6        AmrDeviatoricErrorMaximumEnum
     7        AmrDeviatoricErrorResolutionEnum
     8        AmrDeviatoricErrorThresholdEnum
     9        AmrErrEnum
     10        AmrFieldEnum
     11        AmrGradationEnum
     12        AmrGroundingLineDistanceEnum
     13        AmrGroundingLineResolutionEnum
     14        AmrHmaxEnum
     15        AmrHminEnum
     16        AmrIceFrontDistanceEnum
     17        AmrIceFrontResolutionEnum
     18        AmrKeepMetricEnum
     19        AmrLagEnum
     20        AmrLevelMaxEnum
     21        AmrRestartEnum
     22        AmrThicknessErrorGroupThresholdEnum
     23        AmrThicknessErrorMaximumEnum
     24        AmrThicknessErrorResolutionEnum
     25        AmrThicknessErrorThresholdEnum
     26        AmrTypeEnum
     27        AnalysisCounterEnum
     28        AnalysisTypeEnum
     29        AugmentedLagrangianREnum
     30        AugmentedLagrangianRholambdaEnum
     31        AugmentedLagrangianRhopEnum
     32        AugmentedLagrangianRlambdaEnum
     33        AugmentedLagrangianThetaEnum
     34        AutodiffCbufsizeEnum
     35        AutodiffDependentObjectsEnum
     36        AutodiffDriverEnum
     37        AutodiffFosForwardIndexEnum
     38        AutodiffFosReverseIndexEnum
     39        AutodiffFovForwardIndicesEnum
     40        AutodiffGcTriggerMaxSizeEnum
     41        AutodiffGcTriggerRatioEnum
     42        AutodiffIsautodiffEnum
     43        AutodiffLbufsizeEnum
     44        AutodiffNumDependentsEnum
     45        AutodiffNumIndependentsEnum
     46        AutodiffObufsizeEnum
     47        AutodiffTapeAllocEnum
     48        AutodiffTbufsizeEnum
     49        AutodiffXpEnum
     50        BalancethicknessStabilizationEnum
     51        BarystaticContributionsEnum
     52        BasalforcingsBottomplumedepthEnum
     53        BasalforcingsCrustthicknessEnum
     54        BasalforcingsDeepwaterElevationEnum
     55        BasalforcingsDeepwaterMeltingRateEnum
     56        BasalforcingsDtbgEnum
     57        BasalforcingsEnum
     58        BasalforcingsIsmip6AverageTfEnum
     59        BasalforcingsIsmip6BasinAreaEnum
     60        BasalforcingsIsmip6DeltaTEnum
     61        BasalforcingsIsmip6Gamma0Enum
     62        BasalforcingsIsmip6IsLocalEnum
     63        BasalforcingsIsmip6NumBasinsEnum
     64        BasalforcingsIsmip6TfDepthsEnum
     65        BasalforcingsLowercrustheatEnum
     66        BasalforcingsMantleconductivityEnum
     67        BasalforcingsNusseltEnum
     68        BasalforcingsPicoAverageOverturningEnum
     69        BasalforcingsPicoAverageSalinityEnum
     70        BasalforcingsPicoAverageTemperatureEnum
     71        BasalforcingsPicoBoxAreaEnum
     72        BasalforcingsPicoFarOceansalinityEnum
     73        BasalforcingsPicoFarOceantemperatureEnum
     74        BasalforcingsPicoGammaTEnum
     75        BasalforcingsPicoIsplumeEnum
     76        BasalforcingsPicoMaxboxcountEnum
     77        BasalforcingsPicoNumBasinsEnum
     78        BasalforcingsPlumeradiusEnum
     79        BasalforcingsPlumexEnum
     80        BasalforcingsPlumeyEnum
     81        BasalforcingsThresholdThicknessEnum
     82        BasalforcingsTopplumedepthEnum
     83        BasalforcingsUppercrustheatEnum
     84        BasalforcingsUppercrustthicknessEnum
     85        BasalforcingsUpperdepthMeltEnum
     86        BasalforcingsUpperwaterElevationEnum
     87        BasalforcingsUpperwaterMeltingRateEnum
     88        CalvingCrevasseDepthEnum
     89        CalvingCrevasseThresholdEnum
     90        CalvingHeightAboveFloatationEnum
     91        CalvingLawEnum
     92        CalvingMinthicknessEnum
     93        ConfigurationTypeEnum
     94        ConstantsGEnum
     95        ConstantsNewtonGravityEnum
     96        ConstantsReferencetemperatureEnum
     97        ConstantsYtsEnum
     98        ControlInputSizeMEnum
     99        ControlInputSizeNEnum
     100        ControlInputInterpolationEnum
     101        CumBslcEnum
     102        CumBslcIceEnum
     103        CumBslcHydroEnum
     104        CumBslcOceanEnum
     105        CumBslcIcePartitionEnum
     106        CumBslcHydroPartitionEnum
     107        CumBslcOceanPartitionEnum
     108        CumGmtslcEnum
     109        CumGmslcEnum
     110        DamageC1Enum
     111        DamageC2Enum
     112        DamageC3Enum
     113        DamageC4Enum
     114        DamageEnum
     115        DamageEquivStressEnum
     116        DamageEvolutionNumRequestedOutputsEnum
     117        DamageEvolutionRequestedOutputsEnum
     118        DamageHealingEnum
     119        DamageKappaEnum
     120        DamageLawEnum
     121        DamageMaxDamageEnum
     122        DamageStabilizationEnum
     123        DamageStressThresholdEnum
     124        DamageStressUBoundEnum
     125        DebugProfilingEnum
     126        DomainDimensionEnum
     127        DomainTypeEnum
     128        DslModelEnum
     129        DslModelidEnum
     130        DslNummodelsEnum
     131        SolidearthIsExternalEnum
     132        SolidearthExternalNatureEnum
     133        SolidearthExternalModelidEnum
     134        SolidearthExternalNummodelsEnum
     135        SolidearthSettingsComputeBpGrdEnum
     136        EarthIdEnum
     137        ElasticEnum
     138        EplZigZagCounterEnum
     139        EsaHElasticEnum
     140        EsaHemisphereEnum
     141        EsaRequestedOutputsEnum
     142        EsaUElasticEnum
     143        ExtrapolationVariableEnum
     144        FemModelCommEnum
     145        FieldsEnum
     146        FlowequationFeFSEnum
     147        FlowequationIsFSEnum
     148        FlowequationIsHOEnum
     149        FlowequationIsL1L2Enum
     150        FlowequationIsMLHOEnum
     151        FlowequationIsSIAEnum
     152        FlowequationIsSSAEnum
     153        FlowequationIsNitscheEnum
     154        FeFSNitscheGammaEnum
     155        FrictionCouplingEnum
     156        FrictionDeltaEnum
     157        FrictionEffectivePressureLimitEnum
     158        FrictionFEnum
     159        FrictionGammaEnum
     160        FrictionLawEnum
     161        FrictionPseudoplasticityExponentEnum
     162        FrictionThresholdSpeedEnum
     163        FrictionVoidRatioEnum
     164        FrontalForcingsBasinIcefrontAreaEnum
     165        FrontalForcingsNumberofBasinsEnum
     166        FrontalForcingsParamEnum
     167        GrdModelEnum
     168        GroundinglineFrictionInterpolationEnum
     169        GroundinglineMeltInterpolationEnum
     170        GroundinglineMigrationEnum
     171        HydrologyAveragingEnum
     172        HydrologyCavitySpacingEnum
     173        HydrologyChannelConductivityEnum
     174        HydrologyChannelSheetWidthEnum
     175        HydrologyEnglacialVoidRatioEnum
     176        HydrologyIschannelsEnum
     177        HydrologyMeltFlagEnum
     178        HydrologyModelEnum
     179        HydrologyNumRequestedOutputsEnum
     180        HydrologyPressureMeltCoefficientEnum
     181        HydrologyRelaxationEnum
     182        HydrologyRequestedOutputsEnum
     183        HydrologySedimentKmaxEnum
     184        HydrologyStepsPerStepEnum
     185        HydrologyStorageEnum
     186        HydrologydcEplColapseThicknessEnum
     187        HydrologydcEplConductivityEnum
     188        HydrologydcEplInitialThicknessEnum
     189        HydrologydcEplLayerCompressibilityEnum
     190        HydrologydcEplMaxThicknessEnum
     191        HydrologydcEplPoreWaterMassEnum
     192        HydrologydcEplThickCompEnum
     193        HydrologydcEplflipLockEnum
     194        HydrologydcIsefficientlayerEnum
     195        HydrologydcLeakageFactorEnum
     196        HydrologydcMaxIterEnum
     197        HydrologydcPenaltyFactorEnum
     198        HydrologydcPenaltyLockEnum
     199        HydrologydcRelTolEnum
     200        HydrologydcSedimentlimitEnum
     201        HydrologydcSedimentlimitFlagEnum
     202        HydrologydcSedimentLayerCompressibilityEnum
     203        HydrologydcSedimentPoreWaterMassEnum
     204        HydrologydcSedimentPorosityEnum
     205        HydrologydcSedimentThicknessEnum
     206        HydrologydcTransferFlagEnum
     207        HydrologydcUnconfinedFlagEnum
     208        HydrologyshreveStabilizationEnum
     209        IcecapToEarthCommEnum
     210        IndexEnum
     211        InputFileNameEnum
     212        DirectoryNameEnum
     213        IndicesEnum
     214        InputToDepthaverageInEnum
     215        InputToDepthaverageOutEnum
     216        InputToExtrudeEnum
     217        InputToL2ProjectEnum
     218        InputToSmoothEnum
     219        InversionAlgorithmEnum
     220        InversionControlParametersEnum
     221        InversionControlScalingFactorsEnum
     222        InversionCostFunctionsEnum
     223        InversionDxminEnum
     224        InversionGatolEnum
     225        InversionGradientScalingEnum
     226        InversionGrtolEnum
     227        InversionGttolEnum
     228        InversionIncompleteAdjointEnum
     229        InversionIscontrolEnum
     230        InversionMaxiterEnum
     231        InversionMaxiterPerStepEnum
     232        InversionMaxstepsEnum
     233        InversionNstepsEnum
     234        InversionNumControlParametersEnum
     235        InversionNumCostFunctionsEnum
     236        InversionStepThresholdEnum
     237        InversionTypeEnum
     238        IvinsEnum
     239        IsSlcCouplingEnum
     240        LevelsetKillIcebergsEnum
     241        LevelsetReinitFrequencyEnum
     242        LevelsetStabilizationEnum
     243        LockFileNameEnum
     244        LoveAllowLayerDeletionEnum
     245        LoveCoreMantleBoundaryEnum
     246        LoveEarthMassEnum
     247        LoveForcingTypeEnum
     248        LoveFrequenciesEnum
     249        LoveIsTemporalEnum
     250        LoveG0Enum
     251        LoveGravitationalConstantEnum
     252        LoveInnerCoreBoundaryEnum
     253        LoveComplexComputationEnum
     254        LoveIntStepsPerLayerEnum
     255        LoveKernelsEnum
     256        LoveMu0Enum
     257        LoveNfreqEnum
     258        LoveNTemporalIterationsEnum
     259        LoveNYiEquationsEnum
     260        LoveR0Enum
     261        LoveShNmaxEnum
     262        LoveShNminEnum
     263        LoveStartingLayerEnum
     264        LoveUnderflowTolEnum
     265        MassFluxSegmentsEnum
     266        MassFluxSegmentsPresentEnum
     267        MasstransportHydrostaticAdjustmentEnum
     268        MasstransportIsfreesurfaceEnum
     269        MasstransportMinThicknessEnum
     270        MasstransportNumRequestedOutputsEnum
     271        MasstransportPenaltyFactorEnum
     272        MasstransportRequestedOutputsEnum
     273        MasstransportStabilizationEnum
     274        MaterialsBetaEnum
     275        MaterialsEarthDensityEnum
     276        MaterialsEffectiveconductivityAveragingEnum
     277        MaterialsHeatcapacityEnum
     278        MaterialsLatentheatEnum
     279        MaterialsMeltingpointEnum
     280        MaterialsMixedLayerCapacityEnum
     281        MaterialsMuWaterEnum
     282        MaterialsRheologyLawEnum
     283        MaterialsRhoFreshwaterEnum
     284        MaterialsRhoIceEnum
     285        MaterialsRhoSeawaterEnum
     286        MaterialsTemperateiceconductivityEnum
     287        MaterialsThermalExchangeVelocityEnum
     288        MaterialsThermalconductivityEnum
     289        MeltingOffsetEnum
     290        MeshAverageVertexConnectivityEnum
     291        MeshElementtypeEnum
     292        MeshNumberoflayersEnum
     293        MeshNumberofverticesEnum
     294        MeshNumberofelementsEnum
     295        MigrationMaxEnum
     296        ModelIdEnum
     297        NbinsEnum
     298        NodesEnum
     299        NumModelsEnum
     300        OceanGridNxEnum
     301        OceanGridNyEnum
     302        OceanGridXEnum
     303        OceanGridYEnum
     304        OutputBufferPointerEnum
     305        OutputBufferSizePointerEnum
     306        OutputFileNameEnum
     307        OutputFilePointerEnum
     308        OutputdefinitionEnum
     309        QmuErrNameEnum
     310        QmuInNameEnum
     311        QmuIsdakotaEnum
     312        QmuOutNameEnum
     313        QmuOutputEnum
     314        QmuCurrEvalIdEnum
     315        QmuNsampleEnum
     316        QmuResponsedescriptorsEnum
     317        QmuVariableDescriptorsEnum
     318        QmuVariablePartitionsEnum
     319        QmuVariablePartitionsNpartEnum
     320        QmuVariablePartitionsNtEnum
     321        QmuResponsePartitionsEnum
     322        QmuResponsePartitionsNpartEnum
     323        QmuStatisticsEnum
     324        QmuNumstatisticsEnum
     325        QmuNdirectoriesEnum
     326        QmuNfilesPerDirectoryEnum
     327        QmuStatisticsMethodEnum
     328        QmuMethodsEnum
     329        RestartFileNameEnum
     330        ResultsEnum
     331        RootPathEnum
     332        ModelnameEnum
     333        SamplingAlphaEnum
     334        SamplingPhiEnum
     335        SamplingNumRequestedOutputsEnum
     336        SamplingRequestedOutputsEnum
     337        SamplingRobinEnum
     338        SamplingSeedEnum
     339        SamplingTauEnum
     340        SaveResultsEnum
     341        SolidearthPartitionIceEnum
     342        SolidearthPartitionHydroEnum
     343        SolidearthPartitionOceanEnum
     344        SolidearthNpartIceEnum
     345        SolidearthNpartOceanEnum
     346        SolidearthNpartHydroEnum
     347        SolidearthPlanetRadiusEnum
     348        SolidearthPlanetAreaEnum
     349        SolidearthSettingsAbstolEnum
     350        SolidearthSettingsCrossSectionShapeEnum
     351        RotationalAngularVelocityEnum
     352        SolidearthSettingsElasticEnum
     353        SolidearthSettingsViscousEnum
     354        SealevelchangeGeometryDoneEnum
     355        SealevelchangeViscousNumStepsEnum
     356        SealevelchangeViscousTimesEnum
     357        SealevelchangeViscousIndexEnum
     358        RotationalEquatorialMoiEnum
     359        TidalLoveHEnum
     360        TidalLoveKEnum
     361        TidalLoveLEnum
     362        TidalLoveK2SecularEnum
     363        LoadLoveHEnum
     364        LoadLoveKEnum
     365        LoadLoveLEnum
     366        LoveTimeFreqEnum
     367        LoveIsTimeEnum
     368        SealevelchangeGSelfAttractionEnum
     369        SealevelchangeGViscoElasticEnum
     370        SolidearthSettingsSealevelLoadingEnum
     371        SolidearthSettingsGRDEnum
     372        SolidearthSettingsRunFrequencyEnum
     373        SolidearthSettingsTimeAccEnum
     374        SealevelchangeHViscoElasticEnum
     375        SolidearthSettingsHorizEnum
     376        SolidearthSettingsMaxiterEnum
     377        SolidearthSettingsGrdOceanEnum
     378        SolidearthSettingsOceanAreaScalingEnum
     379        RotationalPolarMoiEnum
     380        SolidearthSettingsReltolEnum
     381        SealevelchangeRequestedOutputsEnum
     382        SolidearthSettingsSelfAttractionEnum
     383        SolidearthSettingsRotationEnum
     384        SolidearthSettingsMaxSHCoeffEnum
     385        SealevelchangeRunCountEnum
     386        SealevelchangeTransitionsEnum
     387        SealevelchangeUViscoElasticEnum
     388        SettingsIoGatherEnum
     389        SettingsNumResultsOnNodesEnum
     390        SettingsOutputFrequencyEnum
     391        SettingsCheckpointFrequencyEnum
     392        SettingsResultsOnNodesEnum
     393        SettingsSbCouplingFrequencyEnum
     394        SettingsSolverResidueThresholdEnum
     395        SettingsWaitonlockEnum
     396        SmbAIceEnum
     397        SmbAIdxEnum
     398        SmbASnowEnum
     399        SmbAccualtiEnum
     400        SmbAccugradEnum
     401        SmbAccurefEnum
     402        SmbAdThreshEnum
     403        SmbAutoregressionInitialTimeEnum
     404        SmbAutoregressionTimestepEnum
     405        SmbAutoregressiveOrderEnum
     406        SmbAveragingEnum
     407        SmbBeta0Enum
     408        SmbBeta1Enum
     409        SmbCovmatEnum
     410        SmbDesfacEnum
     411        SmbDpermilEnum
     412        SmbDsnowIdxEnum
     413        SmbCldFracEnum
     414        SmbDelta18oEnum
     415        SmbDelta18oSurfaceEnum
     416        SmbDenIdxEnum
     417        SmbDtEnum
     418        SmbEnum
     419        SmbFEnum
     420        SmbInitDensityScalingEnum
     421        SmbIsaccumulationEnum
     422        SmbIsalbedoEnum
     423        SmbIsconstrainsurfaceTEnum
     424        SmbIsd18opdEnum
     425        SmbIsdelta18oEnum
     426        SmbIsdensificationEnum
     427        SmbIsfirnwarmingEnum
     428        SmbIsgraingrowthEnum
     429        SmbIsmeltEnum
     430        SmbIsmungsmEnum
     431        SmbIsprecipscaledEnum
     432        SmbIssetpddfacEnum
     433        SmbIsshortwaveEnum
     434        SmbIstemperaturescaledEnum
     435        SmbIsthermalEnum
     436        SmbIsturbulentfluxEnum
     437        SmbKEnum
     438        SmbNumBasinsEnum
     439        SmbNumRequestedOutputsEnum
     440        SmbPfacEnum
     441        SmbPhiEnum
     442        SmbRandomflagEnum
     443        SmbRdlEnum
     444        SmbRequestedOutputsEnum
     445        SmbRlapsEnum
     446        SmbRlapslgmEnum
     447        SmbRunoffaltiEnum
     448        SmbRunoffgradEnum
     449        SmbRunoffrefEnum
     450        SmbSealevEnum
     451        SmbStepsPerStepEnum
     452        SmbSwIdxEnum
     453        SmbT0dryEnum
     454        SmbT0wetEnum
     455        SmbTdiffEnum
     456        SmbThermoDeltaTScalingEnum
     457        SmbTemperaturesReconstructedYearsEnum
     458        SmbPrecipitationsReconstructedYearsEnum
     459        SmoothThicknessMultiplierEnum
     460        SolutionTypeEnum
     461        SteadystateMaxiterEnum
     462        SteadystateNumRequestedOutputsEnum
     463        SteadystateReltolEnum
     464        SteadystateRequestedOutputsEnum
     465        StepEnum
     466        StepsEnum
     467        StressbalanceAbstolEnum
     468        StressbalanceFSreconditioningEnum
     469        StressbalanceIsnewtonEnum
     470        StressbalanceMaxiterEnum
     471        StressbalanceNumRequestedOutputsEnum
     472        StressbalancePenaltyFactorEnum
     473        StressbalanceReltolEnum
     474        StressbalanceRequestedOutputsEnum
     475        StressbalanceRestolEnum
     476        StressbalanceRiftPenaltyThresholdEnum
     477        StressbalanceShelfDampeningEnum
     478        ThermalIsdrainicecolumnEnum
     479        ThermalIsdynamicbasalspcEnum
     480        ThermalIsenthalpyEnum
     481        ThermalMaxiterEnum
     482        ThermalNumRequestedOutputsEnum
     483        ThermalPenaltyFactorEnum
     484        ThermalPenaltyLockEnum
     485        ThermalPenaltyThresholdEnum
     486        ThermalReltolEnum
     487        ThermalRequestedOutputsEnum
     488        ThermalStabilizationEnum
     489        ThermalWatercolumnUpperlimitEnum
     490        TimeEnum
     491        TimesteppingCflCoefficientEnum
     492        TimesteppingCouplingTimeEnum
     493        TimesteppingFinalTimeEnum
     494        TimesteppingInterpForcingEnum
     495        TimesteppingCycleForcingEnum
     496        TimesteppingStartTimeEnum
     497        TimesteppingTimeStepEnum
     498        TimesteppingTimeStepMaxEnum
     499        TimesteppingTimeStepMinEnum
     500        TimesteppingTypeEnum
     501        ToMITgcmCommEnum
     502        ToolkitsFileNameEnum
     503        ToolkitsOptionsAnalysesEnum
     504        ToolkitsOptionsStringsEnum
     505        ToolkitsTypesEnum
     506        TransientAmrFrequencyEnum
     507        TransientIsdamageevolutionEnum
     508        TransientIsesaEnum
     509        TransientIsgiaEnum
     510        TransientIsgroundinglineEnum
     511        TransientIshydrologyEnum
     512        TransientIsmasstransportEnum
     513        TransientIsoceantransportEnum
     514        TransientIsmovingfrontEnum
     515        TransientIsoceancouplingEnum
     516        TransientIssamplingEnum
     517        TransientIsslcEnum
     518        TransientIssmbEnum
     519        TransientIsstressbalanceEnum
     520        TransientIsthermalEnum
     521        TransientNumRequestedOutputsEnum
     522        TransientRequestedOutputsEnum
     523        VelocityEnum
     524        XxeEnum
     525        YyeEnum
     526        ZzeEnum
     527        AreaeEnum
     528        WorldCommEnum
     529        #}}}
     530        ParametersENDEnum
     531        InputsSTARTEnum
     532        #Inputs{{{
     533        AccumulatedDeltaBottomPressureEnum
     534        AccumulatedDeltaIceThicknessEnum
     535        AccumulatedDeltaTwsEnum
     536        AdjointEnum
     537        AdjointpEnum
     538        AdjointxEnum
     539        AdjointxBaseEnum
     540        AdjointxShearEnum
     541        AdjointyEnum
     542        AdjointyBaseEnum
     543        AdjointyShearEnum
     544        AdjointzEnum
     545        AirEnum
     546        ApproximationEnum
     547        BalancethicknessMisfitEnum
     548        BalancethicknessOmega0Enum
     549        BalancethicknessOmegaEnum
     550        BalancethicknessSpcthicknessEnum
     551        BalancethicknessThickeningRateEnum
     552        BasalCrevasseEnum
     553        BasalforcingsFloatingiceMeltingRateEnum
     554        BasalforcingsGeothermalfluxEnum
     555        BasalforcingsGroundediceMeltingRateEnum
     556        BasalforcingsPerturbationMeltingRateEnum
     557        BasalforcingsIsmip6BasinIdEnum
     558        BasalforcingsIsmip6TfEnum
     559        BasalforcingsIsmip6TfShelfEnum
     560        BasalforcingsIsmip6MeltAnomalyEnum
     561        BasalforcingsMeltrateFactorEnum
     562        BasalforcingsOceanSalinityEnum
     563        BasalforcingsOceanTempEnum
     564        BasalforcingsPicoBasinIdEnum
     565        BasalforcingsPicoBoxIdEnum
     566        BasalforcingsPicoOverturningCoeffEnum
     567        BasalforcingsPicoSubShelfOceanOverturningEnum
     568        BasalforcingsPicoSubShelfOceanSalinityEnum
     569        BasalforcingsPicoSubShelfOceanTempEnum
     570        BasalStressxEnum
     571        BasalStressyEnum
     572        BasalStressEnum
     573        BaseEnum
     574        BaseOldEnum
     575        BaseSlopeXEnum
     576        BaseSlopeYEnum
     577        BedEnum
     578        BedGRDEnum
     579        BedEastEnum
     580        BedEastGRDEnum
     581        BedNorthEnum
     582        BedNorthGRDEnum
     583        BedSlopeXEnum
     584        BedSlopeYEnum
     585        BottomPressureEnum
     586        BottomPressureOldEnum
     587        CalvingCalvingrateEnum
     588        CalvingHabFractionEnum
     589        CalvingMeltingrateEnum
     590        CalvingStressThresholdFloatingiceEnum
     591        CalvingStressThresholdGroundediceEnum
     592        CalvinglevermannCoeffEnum
     593        CalvingratexAverageEnum
     594        CalvingratexEnum
     595        CalvingrateyAverageEnum
     596        CalvingrateyEnum
     597        CalvingFluxLevelsetEnum
     598        CalvingMeltingFluxLevelsetEnum
     599        ConvergedEnum
     600        CrevasseDepthEnum
     601        DamageDEnum
     602        DamageDOldEnum
     603        DamageDbarEnum
     604        DamageDbarOldEnum
     605        DamageFEnum
     606        DegreeOfChannelizationEnum
     607        DepthBelowSurfaceEnum
     608        DeltaIceThicknessEnum
     609        DeltaTwsEnum
     610        DeltaBottomPressureEnum
     611        DeltaDslEnum
     612        DslOldEnum
     613        DslEnum
     614        DeltaStrEnum
     615        StrOldEnum
     616        StrEnum
     617        DeviatoricStresseffectiveEnum
     618        DeviatoricStressxxEnum
     619        DeviatoricStressxyEnum
     620        DeviatoricStressxzEnum
     621        DeviatoricStressyyEnum
     622        DeviatoricStressyzEnum
     623        DeviatoricStresszzEnum
     624        DeviatoricStress1Enum
     625        DeviatoricStress2Enum
     626        DistanceToCalvingfrontEnum
     627        DistanceToGroundinglineEnum
     628        Domain2DhorizontalEnum
     629        Domain2DverticalEnum
     630        Domain3DEnum
     631        DragCoefficientAbsGradientEnum
     632        DrivingStressXEnum
     633        DrivingStressYEnum
     634        DummyEnum
     635        EffectivePressureEnum
     636        EffectivePressureSubstepEnum
     637        EffectivePressureTransientEnum
     638        EnthalpyEnum
     639        EnthalpyPicardEnum
     640        EplHeadEnum
     641        EplHeadOldEnum
     642        EplHeadSlopeXEnum
     643        EplHeadSlopeYEnum
     644        EplHeadSubstepEnum
     645        EplHeadTransientEnum
     646        EsaEmotionEnum
     647        EsaNmotionEnum
     648        EsaRotationrateEnum
     649        EsaStrainratexxEnum
     650        EsaStrainratexyEnum
     651        EsaStrainrateyyEnum
     652        EsaUmotionEnum
     653        EsaXmotionEnum
     654        EsaYmotionEnum
     655        EtaDiffEnum
     656        FlowequationBorderFSEnum
     657        FrictionAsEnum
     658        FrictionCEnum
     659        FrictionCmaxEnum
     660        FrictionCoefficientEnum
     661        FrictionCoefficientcoulombEnum
     662        FrictionEffectivePressureEnum
     663        FrictionMEnum
     664        FrictionPEnum
     665        FrictionPressureAdjustedTemperatureEnum
     666        FrictionQEnum
     667        FrictionSedimentCompressibilityCoefficientEnum
     668        FrictionTillFrictionAngleEnum
     669        FrictionWaterLayerEnum
     670        FrictionfEnum
     671        FrontalForcingsBasinIdEnum
     672        FrontalForcingsSubglacialDischargeEnum
     673        FrontalForcingsThermalForcingEnum
     674        GeometryHydrostaticRatioEnum
     675        NGiaEnum
     676        NGiaRateEnum
     677        UGiaEnum
     678        UGiaRateEnum
     679        GradientEnum
     680        GroundinglineHeightEnum
     681        HydraulicPotentialEnum
     682        HydraulicPotentialOldEnum
     683        HydrologyBasalFluxEnum
     684        HydrologyBumpHeightEnum
     685        HydrologyBumpSpacingEnum
     686        HydrologydcBasalMoulinInputEnum
     687        HydrologydcEplThicknessEnum
     688        HydrologydcEplThicknessOldEnum
     689        HydrologydcEplThicknessSubstepEnum
     690        HydrologydcEplThicknessTransientEnum
     691        HydrologydcMaskEplactiveEltEnum
     692        HydrologydcMaskEplactiveNodeEnum
     693        HydrologydcMaskThawedEltEnum
     694        HydrologydcMaskThawedNodeEnum
     695        HydrologydcSedimentTransmitivityEnum
     696        HydrologyDrainageRateEnum
     697        HydrologyEnglacialInputEnum
     698        HydrologyGapHeightEnum
     699        HydrologyGapHeightXEnum
     700        HydrologyGapHeightXXEnum
     701        HydrologyGapHeightYEnum
     702        HydrologyGapHeightYYEnum
     703        HydrologyHeadEnum
     704        HydrologyHeadOldEnum
     705        HydrologyMoulinInputEnum
     706        HydrologyNeumannfluxEnum
     707        HydrologyReynoldsEnum
     708        HydrologySheetConductivityEnum
     709        HydrologySheetThicknessEnum
     710        HydrologySheetThicknessOldEnum
     711        HydrologyTwsEnum
     712        HydrologyTwsSpcEnum
     713        HydrologyTwsAnalysisEnum
     714        HydrologyWatercolumnMaxEnum
     715        HydrologyWaterVxEnum
     716        HydrologyWaterVyEnum
     717        IceEnum
     718        IceMaskNodeActivationEnum
     719        InputEnum
     720        InversionCostFunctionsCoefficientsEnum
     721        InversionSurfaceObsEnum
     722        InversionThicknessObsEnum
     723        InversionVelObsEnum
     724        InversionVxObsEnum
     725        InversionVyObsEnum
     726        LevelsetfunctionSlopeXEnum
     727        LevelsetfunctionSlopeYEnum
     728        LevelsetObservationEnum
     729        LoadingforceXEnum
     730        LoadingforceYEnum
     731        LoadingforceZEnum
     732        MaskOceanLevelsetEnum
     733        MaskIceLevelsetEnum
     734        MaskIceRefLevelsetEnum
     735        MasstransportSpcthicknessEnum
     736        MaterialsRheologyBEnum
     737        MaterialsRheologyBbarEnum
     738        MaterialsRheologyEEnum
     739        MaterialsRheologyEbarEnum
     740        MaterialsRheologyEcEnum
     741        MaterialsRheologyEcbarEnum
     742        MaterialsRheologyEsEnum
     743        MaterialsRheologyEsbarEnum
     744        MaterialsRheologyNEnum
     745        MeshScaleFactorEnum
     746        MeshVertexonbaseEnum
     747        MeshVertexonboundaryEnum
     748        MeshVertexonsurfaceEnum
     749        MisfitEnum
     750        MovingFrontalVxEnum
     751        MovingFrontalVyEnum
     752        NeumannfluxEnum
     753        NewDamageEnum
     754        NodeEnum
     755        OmegaAbsGradientEnum
     756        OceantransportSpcbottompressureEnum
     757        OceantransportSpcstrEnum
     758        OceantransportSpcdslEnum
     759        P0Enum
     760        P1Enum
     761        PartitioningEnum
     762        PressureEnum
     763        RadarEnum
     764        RadarAttenuationMacGregorEnum
     765        RadarAttenuationWolffEnum
     766        RadarIcePeriodEnum
     767        RadarPowerMacGregorEnum
     768        RadarPowerWolffEnum
     769        RheologyBAbsGradientEnum
     770        RheologyBInitialguessEnum
     771        RheologyBInitialguessMisfitEnum
     772        RheologyBbarAbsGradientEnum
     773        SampleEnum
     774        SamplingBetaEnum
     775        SamplingKappaEnum
     776        SealevelEnum
     777        SealevelGRDEnum
     778        SealevelBarystaticMaskEnum
     779        SealevelBarystaticIceMaskEnum
     780        SealevelBarystaticIceWeightsEnum
     781        SealevelBarystaticIceAreaEnum
     782        SealevelBarystaticIceLatbarEnum
     783        SealevelBarystaticIceLongbarEnum
     784        SealevelBarystaticIceLoadEnum
     785        SealevelBarystaticHydroMaskEnum
     786        SealevelBarystaticHydroWeightsEnum
     787        SealevelBarystaticHydroAreaEnum
     788        SealevelBarystaticHydroLatbarEnum
     789        SealevelBarystaticHydroLongbarEnum
     790        SealevelBarystaticHydroLoadEnum
     791        SealevelBarystaticBpMaskEnum
     792        SealevelBarystaticBpWeightsEnum
     793        SealevelBarystaticBpAreaEnum
     794        SealevelBarystaticBpLoadEnum
     795        SealevelBarystaticOceanMaskEnum
     796        SealevelBarystaticOceanWeightsEnum
     797        SealevelBarystaticOceanAreaEnum
     798        SealevelBarystaticOceanLatbarEnum
     799        SealevelBarystaticOceanLongbarEnum
     800        SealevelBarystaticOceanLoadEnum
     801        SealevelNEsaEnum
     802        SealevelNEsaRateEnum
     803        SealevelRSLEnum
     804        BslcEnum
     805        BslcIceEnum
     806        BslcHydroEnum
     807        BslcOceanEnum
     808        BslcRateEnum
     809        GmtslcEnum
     810        SealevelGrotm1Enum
     811        SealevelGrotm2Enum
     812        SealevelGrotm3Enum
     813        SealevelGUrotm1Enum
     814        SealevelGUrotm2Enum
     815        SealevelGUrotm3Enum
     816        SealevelGNrotm1Enum
     817        SealevelGNrotm2Enum
     818        SealevelGNrotm3Enum
     819        SealevelGErotm1Enum
     820        SealevelGErotm2Enum
     821        SealevelGErotm3Enum
     822        SealevelRSLBarystaticEnum
     823        SealevelRSLRateEnum
     824        SealevelUGrdEnum
     825        SealevelNGrdEnum
     826        SealevelUEastEsaEnum
     827        SealevelUNorthEsaEnum
     828        SealevelchangeIndicesEnum
     829        SealevelchangeGEnum
     830        SealevelchangeGUEnum
     831        SealevelchangeGEEnum
     832        SealevelchangeGNEnum
     833        SealevelchangeGsubelOceanEnum
     834        SealevelchangeGUsubelOceanEnum
     835        SealevelchangeGEsubelOceanEnum
     836        SealevelchangeGNsubelOceanEnum
     837        SealevelchangeGsubelIceEnum
     838        SealevelchangeGUsubelIceEnum
     839        SealevelchangeGEsubelIceEnum
     840        SealevelchangeGNsubelIceEnum
     841        SealevelchangeGsubelHydroEnum
     842        SealevelchangeGUsubelHydroEnum
     843        SealevelchangeGEsubelHydroEnum
     844        SealevelchangeGNsubelHydroEnum
     845        SealevelchangeViscousRSLEnum
     846        SealevelchangeViscousUEnum
     847        SealevelchangeViscousNEnum
     848        SealevelchangeViscousEEnum
     849        SedimentHeadEnum
     850        SedimentHeadOldEnum
     851        SedimentHeadSubstepEnum
     852        SedimentHeadTransientEnum
     853        SedimentHeadResidualEnum
     854        SedimentHeadStackedEnum
     855        SigmaNNEnum
     856        SigmaVMEnum
     857        SmbAccumulatedECEnum
     858        SmbAccumulatedMassBalanceEnum
     859        SmbAccumulatedMeltEnum
     860        SmbAccumulatedPrecipitationEnum
     861        SmbAccumulatedRainEnum
     862        SmbAccumulatedRefreezeEnum
     863        SmbAccumulatedRunoffEnum
     864        SmbAEnum
     865        SmbAdiffEnum
     866        SmbAValueEnum
     867        SmbAccumulationEnum
     868        SmbAdiffiniEnum
     869        SmbAiniEnum
     870        SmbBasinsIdEnum
     871        SmbBMaxEnum
     872        SmbBMinEnum
     873        SmbBNegEnum
     874        SmbBPosEnum
     875        SmbCEnum
     876        SmbCcsnowValueEnum
     877        SmbCciceValueEnum
     878        SmbCotValueEnum
     879        SmbDEnum
     880        SmbDailyairdensityEnum
     881        SmbDailyairhumidityEnum
     882        SmbDailydlradiationEnum
     883        SmbDailydsradiationEnum
     884        SmbDailypressureEnum
     885        SmbDailyrainfallEnum
     886        SmbDailysnowfallEnum
     887        SmbDailytemperatureEnum
     888        SmbDailywindspeedEnum
     889        SmbDiniEnum
     890        SmbDlwrfEnum
     891        SmbDswrfEnum
     892        SmbDswdiffrfEnum
     893        SmbDzAddEnum
     894        SmbDzEnum
     895        SmbDzMinEnum
     896        SmbDzTopEnum
     897        SmbDziniEnum
     898        SmbEAirEnum
     899        SmbECEnum
     900        SmbECDtEnum
     901        SmbECiniEnum
     902        SmbElaEnum
     903        SmbEvaporationEnum
     904        SmbFACEnum
     905        SmbGdnEnum
     906        SmbGdniniEnum
     907        SmbGspEnum
     908        SmbGspiniEnum
     909        SmbHrefEnum
     910        SmbIsInitializedEnum
     911        SmbMAddEnum
     912        SmbMassBalanceEnum
     913        SmbMassBalanceSubstepEnum
     914        SmbMassBalanceTransientEnum
     915        SmbMeanLHFEnum
     916        SmbMeanSHFEnum
     917        SmbMeanULWEnum
     918        SmbMeltEnum
     919        SmbMInitnum
     920        SmbMonthlytemperaturesEnum
     921        SmbMSurfEnum
     922        SmbNetLWEnum
     923        SmbNetSWEnum
     924        SmbPAirEnum
     925        SmbPEnum
     926        SmbPddfacIceEnum
     927        SmbPddfacSnowEnum
     928        SmbPrecipitationEnum
     929        SmbPrecipitationsAnomalyEnum
     930        SmbPrecipitationsLgmEnum
     931        SmbPrecipitationsPresentdayEnum
     932        SmbPrecipitationsReconstructedEnum
     933        SmbRainEnum
     934        SmbReEnum
     935        SmbRefreezeEnum
     936        SmbReiniEnum
     937        SmbRunoffEnum
     938        SmbRunoffSubstepEnum
     939        SmbRunoffTransientEnum
     940        SmbS0gcmEnum
     941        SmbS0pEnum
     942        SmbS0tEnum
     943        SmbSizeiniEnum
     944        SmbSmbCorrEnum
     945        SmbSmbrefEnum
     946        SmbSzaValueEnum
     947        SmbTEnum
     948        SmbTaEnum
     949        SmbTeValueEnum
     950        SmbTemperaturesAnomalyEnum
     951        SmbTemperaturesLgmEnum
     952        SmbTemperaturesPresentdayEnum
     953        SmbTemperaturesReconstructedEnum
     954        SmbTiniEnum
     955        SmbTmeanEnum
     956        SmbTzEnum
     957        SmbValuesAutoregressionEnum
     958        SmbVEnum
     959        SmbVmeanEnum
     960        SmbVzEnum
     961        SmbWEnum
     962        SmbWAddEnum
     963        SmbWiniEnum
     964        SmbZMaxEnum
     965        SmbZMinEnum
     966        SmbZTopEnum
     967        SmbZYEnum
     968        SolidearthExternalDisplacementEastRateEnum
     969        SolidearthExternalDisplacementNorthRateEnum
     970        SolidearthExternalDisplacementUpRateEnum
     971        SolidearthExternalGeoidRateEnum
     972        StrainRateeffectiveEnum
     973        StrainRateparallelEnum
     974        StrainRateperpendicularEnum
     975        StrainRatexxEnum
     976        StrainRatexyEnum
     977        StrainRatexzEnum
     978        StrainRateyyEnum
     979        StrainRateyzEnum
     980        StrainRatezzEnum
     981        StressMaxPrincipalEnum
     982        StressTensorxxEnum
     983        StressTensorxyEnum
     984        StressTensorxzEnum
     985        StressTensoryyEnum
     986        StressTensoryzEnum
     987        StressTensorzzEnum
     988        SurfaceAbsMisfitEnum
     989        SurfaceAbsVelMisfitEnum
     990        AreaEnum
     991        SealevelAreaEnum
     992        SurfaceAreaEnum
     993        SurfaceAverageVelMisfitEnum
     994        SurfaceCrevasseEnum
     995        SurfaceEnum
     996        SurfaceOldEnum
     997        SurfaceLogVelMisfitEnum
     998        SurfaceLogVxVyMisfitEnum
     999        SurfaceObservationEnum
     1000        SurfaceRelVelMisfitEnum
     1001        SurfaceSlopeXEnum
     1002        SurfaceSlopeYEnum
     1003        TemperatureEnum
     1004        TemperaturePDDEnum
     1005        TemperaturePicardEnum
     1006        TemperatureSEMICEnum
     1007        ThermalSpctemperatureEnum
     1008        ThicknessAbsGradientEnum
     1009        ThicknessAbsMisfitEnum
     1010        ThicknessAcrossGradientEnum
     1011        ThicknessAlongGradientEnum
     1012        ThicknessEnum
     1013        ThicknessOldEnum
     1014        ThicknessPositiveEnum
     1015        ThicknessResidualEnum
     1016        TransientAccumulatedDeltaIceThicknessEnum
     1017        VelEnum
     1018        VxAverageEnum
     1019        VxBaseEnum
     1020        VxEnum
     1021        VxMeshEnum
     1022        VxObsEnum
     1023        VxShearEnum
     1024        VxSurfaceEnum
     1025        VyAverageEnum
     1026        VyBaseEnum
     1027        VyEnum
     1028        VyMeshEnum
     1029        VyObsEnum
     1030        VyShearEnum
     1031        VySurfaceEnum
     1032        VzEnum
     1033        VzFSEnum
     1034        VzHOEnum
     1035        VzMeshEnum
     1036        VzSSAEnum
     1037        WaterColumnOldEnum
     1038        WatercolumnEnum
     1039        WaterfractionDrainageEnum
     1040        WaterfractionDrainageIntegratedEnum
     1041        WaterfractionEnum
     1042        WaterheightEnum
     1043        WeightsLevelsetObservationEnum
     1044        WeightsSurfaceObservationEnum
     1045        OldAccumulatedDeltaBottomPressureEnum
     1046        OldAccumulatedDeltaIceThicknessEnum
     1047        OldAccumulatedDeltaTwsEnum
     1048        Outputdefinition1Enum
     1049        Outputdefinition10Enum
     1050        Outputdefinition11Enum
     1051        Outputdefinition12Enum
     1052        Outputdefinition13Enum
     1053        Outputdefinition14Enum
     1054        Outputdefinition15Enum
     1055        Outputdefinition16Enum
     1056        Outputdefinition17Enum
     1057        Outputdefinition18Enum
     1058        Outputdefinition19Enum
     1059        Outputdefinition20Enum
     1060        Outputdefinition21Enum
     1061        Outputdefinition22Enum
     1062        Outputdefinition23Enum
     1063        Outputdefinition24Enum
     1064        Outputdefinition25Enum
     1065        Outputdefinition26Enum
     1066        Outputdefinition27Enum
     1067        Outputdefinition28Enum
     1068        Outputdefinition29Enum
     1069        Outputdefinition2Enum
     1070        Outputdefinition30Enum
     1071        Outputdefinition31Enum
     1072        Outputdefinition32Enum
     1073        Outputdefinition33Enum
     1074        Outputdefinition34Enum
     1075        Outputdefinition35Enum
     1076        Outputdefinition36Enum
     1077        Outputdefinition37Enum
     1078        Outputdefinition38Enum
     1079        Outputdefinition39Enum
     1080        Outputdefinition3Enum
     1081        Outputdefinition40Enum
     1082        Outputdefinition41Enum
     1083        Outputdefinition42Enum
     1084        Outputdefinition43Enum
     1085        Outputdefinition44Enum
     1086        Outputdefinition45Enum
     1087        Outputdefinition46Enum
     1088        Outputdefinition47Enum
     1089        Outputdefinition48Enum
     1090        Outputdefinition49Enum
     1091        Outputdefinition4Enum
     1092        Outputdefinition50Enum
     1093        Outputdefinition51Enum
     1094        Outputdefinition52Enum
     1095        Outputdefinition53Enum
     1096        Outputdefinition54Enum
     1097        Outputdefinition55Enum
     1098        Outputdefinition56Enum
     1099        Outputdefinition57Enum
     1100        Outputdefinition58Enum
     1101        Outputdefinition59Enum
     1102        Outputdefinition5Enum
     1103        Outputdefinition60Enum
     1104        Outputdefinition61Enum
     1105        Outputdefinition62Enum
     1106        Outputdefinition63Enum
     1107        Outputdefinition64Enum
     1108        Outputdefinition65Enum
     1109        Outputdefinition66Enum
     1110        Outputdefinition67Enum
     1111        Outputdefinition68Enum
     1112        Outputdefinition69Enum
     1113        Outputdefinition6Enum
     1114        Outputdefinition70Enum
     1115        Outputdefinition71Enum
     1116        Outputdefinition72Enum
     1117        Outputdefinition73Enum
     1118        Outputdefinition74Enum
     1119        Outputdefinition75Enum
     1120        Outputdefinition76Enum
     1121        Outputdefinition77Enum
     1122        Outputdefinition78Enum
     1123        Outputdefinition79Enum
     1124        Outputdefinition7Enum
     1125        Outputdefinition80Enum
     1126        Outputdefinition81Enum
     1127        Outputdefinition82Enum
     1128        Outputdefinition83Enum
     1129        Outputdefinition84Enum
     1130        Outputdefinition85Enum
     1131        Outputdefinition86Enum
     1132        Outputdefinition87Enum
     1133        Outputdefinition88Enum
     1134        Outputdefinition89Enum
     1135        Outputdefinition8Enum
     1136        Outputdefinition90Enum
     1137        Outputdefinition91Enum
     1138        Outputdefinition92Enum
     1139        Outputdefinition93Enum
     1140        Outputdefinition94Enum
     1141        Outputdefinition95Enum
     1142        Outputdefinition96Enum
     1143        Outputdefinition97Enum
     1144        Outputdefinition98Enum
     1145        Outputdefinition99Enum
     1146        Outputdefinition9Enum
     1147        Outputdefinition100Enum
     1148        #}}}
     1149        InputsENDEnum
     1150        #Other{{{
     1151        AbsoluteEnum
     1152        AdaptiveTimesteppingEnum
     1153        AdjointBalancethickness2AnalysisEnum
     1154        AdjointBalancethicknessAnalysisEnum
     1155        AdjointHorizAnalysisEnum
     1156        AggressiveMigrationEnum
     1157        AmrBamgEnum
     1158        AmrNeopzEnum
     1159        AndroidFrictionCoefficientEnum
     1160        ArrheniusEnum
     1161        AutodiffJacobianEnum
     1162        Balancethickness2AnalysisEnum
     1163        Balancethickness2SolutionEnum
     1164        BalancethicknessAnalysisEnum
     1165        BalancethicknessApparentMassbalanceEnum
     1166        BalancethicknessSoftAnalysisEnum
     1167        BalancethicknessSoftSolutionEnum
     1168        BalancethicknessSolutionEnum
     1169        BalancevelocityAnalysisEnum
     1170        BalancevelocitySolutionEnum
     1171        BasalforcingsIsmip6Enum
     1172        BasalforcingsPicoEnum
     1173        BeckmannGoosseFloatingMeltRateEnum
     1174        BedSlopeSolutionEnum
     1175        BoolExternalResultEnum
     1176        BoolInputEnum
     1177        IntInputEnum
     1178        DoubleInputEnum
     1179        BoolParamEnum
     1180        BoundaryEnum
     1181        BuddJackaEnum
     1182        CalvingDev2Enum
     1183        CalvingHabEnum
     1184        CalvingLevermannEnum
     1185        CalvingVonmisesEnum
     1186        CfdragcoeffabsgradEnum
     1187        CfsurfacelogvelEnum
     1188        CfsurfacesquareEnum
     1189        CflevelsetmisfitEnum
     1190        ChannelEnum
     1191        ChannelAreaEnum
     1192        ChannelAreaOldEnum
     1193        ChannelDischargeEnum
     1194        ClosedEnum
     1195        ColinearEnum
     1196        ConstraintsEnum
     1197        ContactEnum
     1198        ContourEnum
     1199        ContoursEnum
     1200        ControlInputEnum
     1201        ControlInputGradEnum
     1202        ControlInputMaxsEnum
     1203        ControlInputMinsEnum
     1204        ControlInputValuesEnum
     1205        CrouzeixRaviartEnum
     1206        CuffeyEnum
     1207        CuffeyTemperateEnum
     1208        DamageEvolutionAnalysisEnum
     1209        DamageEvolutionSolutionEnum
     1210        DataSetEnum
     1211        DataSetParamEnum
     1212        DatasetInputEnum
     1213        DefaultAnalysisEnum
     1214        DefaultCalvingEnum
     1215        DenseEnum
     1216        DependentObjectEnum
     1217        DepthAverageAnalysisEnum
     1218        DeviatoricStressErrorEstimatorEnum
     1219        DivergenceEnum
     1220        Domain3DsurfaceEnum
     1221        DoubleArrayInputEnum
     1222        ArrayInputEnum
     1223        DoubleExternalResultEnum
     1224        DoubleMatArrayParamEnum
     1225        DoubleMatExternalResultEnum
     1226        DoubleMatParamEnum
     1227        DoubleParamEnum
     1228        DoubleVecParamEnum
     1229        ElementEnum
     1230        ElementHookEnum
     1231        ElementSIdEnum
     1232        EnthalpyAnalysisEnum
     1233        EsaAnalysisEnum
     1234        EsaSolutionEnum
     1235        EsaTransitionsEnum
     1236        ExternalResultEnum
     1237        ExtrapolationAnalysisEnum
     1238        ExtrudeFromBaseAnalysisEnum
     1239        ExtrudeFromTopAnalysisEnum
     1240        FSApproximationEnum
     1241        FSSolverEnum
     1242        FSpressureEnum
     1243        FSvelocityEnum
     1244        FemModelEnum
     1245        FileParamEnum
     1246        FixedTimesteppingEnum
     1247        FloatingAreaEnum
     1248        FloatingAreaScaledEnum
     1249        FloatingMeltRateEnum
     1250        FreeEnum
     1251        FreeSurfaceBaseAnalysisEnum
     1252        FreeSurfaceTopAnalysisEnum
     1253        FrontalForcingsDefaultEnum
     1254        FrontalForcingsRignotEnum
     1255        FsetEnum
     1256        FullMeltOnPartiallyFloatingEnum
     1257        GLheightadvectionAnalysisEnum
     1258        GaussPentaEnum
     1259        GaussSegEnum
     1260        GaussTetraEnum
     1261        GaussTriaEnum
     1262        GenericOptionEnum
     1263        GenericParamEnum
     1264        GenericExternalResultEnum
     1265        Gradient1Enum
     1266        Gradient2Enum
     1267        Gradient3Enum
     1268        Gradient4Enum
     1269        GroundedAreaEnum
     1270        GroundedAreaScaledEnum
     1271        GroundingOnlyEnum
     1272        GroundinglineMassFluxEnum
     1273        GsetEnum
     1274        GslEnum
     1275        HOApproximationEnum
     1276        HOFSApproximationEnum
     1277        HookEnum
     1278        HydrologyDCEfficientAnalysisEnum
     1279        HydrologyDCInefficientAnalysisEnum
     1280        HydrologyGlaDSAnalysisEnum
     1281        HydrologyGlaDSEnum
     1282        HydrologyPismAnalysisEnum
     1283        HydrologyShaktiAnalysisEnum
     1284        HydrologyShreveAnalysisEnum
     1285        HydrologySolutionEnum
     1286        HydrologydcEnum
     1287        HydrologypismEnum
     1288        HydrologyshaktiEnum
     1289        HydrologyshreveEnum
     1290        IceMassEnum
     1291        IceMassScaledEnum
     1292        IceVolumeAboveFloatationEnum
     1293        IceVolumeAboveFloatationScaledEnum
     1294        IceVolumeEnum
     1295        IceVolumeScaledEnum
     1296        IcefrontMassFluxEnum
     1297        IcefrontMassFluxLevelsetEnum
     1298        IncrementalEnum
     1299        IndexedEnum
     1300        IntExternalResultEnum
     1301        ElementInputEnum
     1302        IntMatExternalResultEnum
     1303        IntMatParamEnum
     1304        IntParamEnum
     1305        IntVecParamEnum
     1306        InputsEnum
     1307        InternalEnum
     1308        IntersectEnum
     1309        InversionVzObsEnum
     1310        JEnum
     1311        L1L2ApproximationEnum
     1312        MLHOApproximationEnum
     1313        L2ProjectionBaseAnalysisEnum
     1314        L2ProjectionEPLAnalysisEnum
     1315        LACrouzeixRaviartEnum
     1316        LATaylorHoodEnum
     1317        LambdaSEnum
     1318        LevelsetAnalysisEnum
     1319        LevelsetfunctionPicardEnum
     1320        LinearFloatingMeltRateEnum
     1321        LliboutryDuvalEnum
     1322        LoadsEnum
     1323        LoveAnalysisEnum
     1324        LoveHiEnum
     1325        LoveHrEnum
     1326        LoveKernelsImagEnum
     1327        LoveKernelsRealEnum
     1328        LoveKiEnum
     1329        LoveKrEnum
     1330        LoveLiEnum
     1331        LoveLrEnum
     1332        LoveSolutionEnum
     1333        MINIEnum
     1334        MINIcondensedEnum
     1335        MantlePlumeGeothermalFluxEnum
     1336        MassFluxEnum
     1337        MassconEnum
     1338        MassconaxpbyEnum
     1339        MassfluxatgateEnum
     1340        MasstransportAnalysisEnum
     1341        MasstransportSolutionEnum
     1342        MatdamageiceEnum
     1343        MatenhancediceEnum
     1344        MaterialsEnum
     1345        MatestarEnum
     1346        MaticeEnum
     1347        MatlithoEnum
     1348        MathydroEnum
     1349        MatrixParamEnum
     1350        MaxAbsVxEnum
     1351        MaxAbsVyEnum
     1352        MaxAbsVzEnum
     1353        MaxDivergenceEnum
     1354        MaxVelEnum
     1355        MaxVxEnum
     1356        MaxVyEnum
     1357        MaxVzEnum
     1358        MelangeEnum
     1359        MeltingAnalysisEnum
     1360        MeshElementsEnum
     1361        MeshXEnum
     1362        MeshYEnum
     1363        MinVelEnum
     1364        MinVxEnum
     1365        MinVyEnum
     1366        MinVzEnum
     1367        MismipFloatingMeltRateEnum
     1368        MoulinEnum
     1369        MpiDenseEnum
     1370        MpiEnum
     1371        MpiSparseEnum
     1372        MumpsEnum
     1373        NoFrictionOnPartiallyFloatingEnum
     1374        NoMeltOnPartiallyFloatingEnum
     1375        NodalEnum
     1376        NodalvalueEnum
     1377        NodeSIdEnum
     1378        NoneApproximationEnum
     1379        NoneEnum
     1380        NumberedcostfunctionEnum
     1381        NyeCO2Enum
     1382        NyeH2OEnum
     1383        NumericalfluxEnum
     1384        OceantransportAnalysisEnum
     1385        OceantransportSolutionEnum
     1386        OldGradientEnum
     1387        OneLayerP4zEnum
     1388        OpenEnum
     1389        OptionEnum
     1390        ParamEnum
     1391        ParametersEnum
     1392        P0ArrayEnum
     1393        P0DGEnum
     1394        P1DGEnum
     1395        P1P1Enum
     1396        P1P1GLSEnum
     1397        P1bubbleEnum
     1398        P1bubblecondensedEnum
     1399        P1xP2Enum
     1400        P1xP3Enum
     1401        P1xP4Enum
     1402        P2Enum
     1403        P2bubbleEnum
     1404        P2bubblecondensedEnum
     1405        P2xP1Enum
     1406        P2xP4Enum
     1407        PatersonEnum
     1408        PengridEnum
     1409        PenpairEnum
     1410        PentaEnum
     1411        PentaInputEnum
     1412        ProfilerEnum
     1413        ProfilingCurrentFlopsEnum
     1414        ProfilingCurrentMemEnum
     1415        ProfilingSolutionTimeEnum
     1416        RegionaloutputEnum
     1417        RegularEnum
     1418        RecoveryAnalysisEnum
     1419        RiftfrontEnum
     1420        SamplingAnalysisEnum
     1421        SamplingSolutionEnum
     1422        SIAApproximationEnum
     1423        SMBautoregressionEnum
     1424        SMBcomponentsEnum
     1425        SMBd18opddEnum
     1426        SMBforcingEnum
     1427        SMBgcmEnum
     1428        SMBgembEnum
     1429        SMBgradientsEnum
     1430        SMBgradientscomponentsEnum
     1431        SMBgradientselaEnum
     1432        SMBhenningEnum
     1433        SMBmeltcomponentsEnum
     1434        SMBpddEnum
     1435        SMBpddSicopolisEnum
     1436        SMBsemicEnum
     1437        SSAApproximationEnum
     1438        SSAFSApproximationEnum
     1439        SSAHOApproximationEnum
     1440        ScaledEnum
     1441        SealevelAbsoluteEnum
     1442        SealevelEmotionEnum
     1443        SealevelInertiaTensorXZEnum
     1444        SealevelInertiaTensorYZEnum
     1445        SealevelInertiaTensorZZEnum
     1446        SealevelchangePolarMotionEnum
     1447        SealevelNmotionEnum
     1448        SealevelUmotionEnum
     1449        SealevelchangeAnalysisEnum
     1450        SegEnum
     1451        SegInputEnum
     1452        SegmentEnum
     1453        SegmentRiftfrontEnum
     1454        SeparateEnum
     1455        SeqEnum
     1456        SmbAnalysisEnum
     1457        SmbSolutionEnum
     1458        SmoothAnalysisEnum
     1459        SoftMigrationEnum
     1460        SpatialLinearFloatingMeltRateEnum
     1461        SpcDynamicEnum
     1462        SpcStaticEnum
     1463        SpcTransientEnum
     1464        SsetEnum
     1465        StatisticsSolutionEnum
     1466        SteadystateSolutionEnum
     1467        StressIntensityFactorEnum
     1468        StressbalanceAnalysisEnum
     1469        StressbalanceConvergenceNumStepsEnum
     1470        StressbalanceSIAAnalysisEnum
     1471        StressbalanceSolutionEnum
     1472        StressbalanceVerticalAnalysisEnum
     1473        StringArrayParamEnum
     1474        StringExternalResultEnum
     1475        StringParamEnum
     1476        SubelementFriction1Enum
     1477        SubelementFriction2Enum
     1478        SubelementMelt1Enum
     1479        SubelementMelt2Enum
     1480        SubelementMigrationEnum
     1481        SurfaceSlopeSolutionEnum
     1482        TaylorHoodEnum
     1483        TetraEnum
     1484        TetraInputEnum
     1485        ThermalAnalysisEnum
     1486        ThermalSolutionEnum
     1487        ThicknessErrorEstimatorEnum
     1488        TotalCalvingFluxLevelsetEnum
     1489        TotalCalvingMeltingFluxLevelsetEnum
     1490        TotalFloatingBmbEnum
     1491        TotalFloatingBmbScaledEnum
     1492        TotalGroundedBmbEnum
     1493        TotalGroundedBmbScaledEnum
     1494        TotalSmbEnum
     1495        TotalSmbScaledEnum
     1496        TransientArrayParamEnum
     1497        TransientInputEnum
     1498        TransientParamEnum
     1499        TransientSolutionEnum
     1500        TriaEnum
     1501        TriaInputEnum
     1502        UzawaPressureAnalysisEnum
     1503        VectorParamEnum
     1504        VertexEnum
     1505        VertexLIdEnum
     1506        VertexPIdEnum
     1507        VertexSIdEnum
     1508        VerticesEnum
     1509        ViscousHeatingEnum
     1510        WaterEnum
     1511        XTaylorHoodEnum
     1512        XYEnum
     1513        XYZEnum
     1514        #}}}
     1515        MaximumNumberOfDefinitionsEnum
     1516end
     1517
     1518function EnumToString(enum::IssmEnum)
     1519
     1520        #Make dictionnary from enums
     1521        inst = instances(IssmEnum)
     1522        syms = Symbol.(inst)
     1523        enumdic = Dict(zip(inst, syms))
     1524
     1525        return enumdic[enum]
     1526end
     1527
     1528function EnumToString(enum::Int64)
     1529        return EnumToString(IssmEnum(enum))
     1530end
     1531
     1532function StringToEnum(string::String)
     1533
     1534        #Make dictionnary from enums
     1535        inst = instances(IssmEnum)
     1536        syms = Symbol.(inst)
     1537        enumdic = Dict(zip(syms, inst))
     1538
     1539        return enumdic[Symbol(string)]
     1540end
     1541
     1542function StringToEnumInt(string::String)
     1543        return Integer(StringToEnum(string))
     1544end
  • ../trunk-jpl/src/jl/parameterization.jl

     
     1include("issm.jl")
     2include("exp.jl")
     3
     4# setmask {{{
     5"""
     6SETMASK - establish boundaries between grounded and floating ice.
     7
     8   By default, ice is considered grounded. The contour floatingicename defines nodes
     9   for which ice is floating. The contour groundedicename defines nodes inside an floatingice,
     10   that are grounded (ie: ice rises, islands, etc ...)
     11   All input files are in the Argus format (extension .exp).
     12
     13   Usage:
     14      md=setmask(md,floatingicename,groundedicename)
     15
     16   Examples:
     17      md=setmask(md,'all','');
     18      md=setmask(md,'Iceshelves.exp','Islands.exp');
     19"""
     20function setmask(md::model,floatingicename::String,groundedicename::String)
     21
     22        elementonfloatingice = FlagElements( md, floatingicename);
     23        elementongroundedice = FlagElements( md, groundedicename);
     24
     25        elementonfloatingice = convert( Array{Float64}, (elementonfloatingice.>0) .&  (elementongroundedice.==0.))
     26        elementongroundedice = convert( Array{Float64}, elementonfloatingice.==0.)
     27
     28        vertexonfloatingice=zeros(md.mesh.numberofvertices)
     29        vertexongroundedice=zeros(md.mesh.numberofvertices)
     30
     31        vertexongroundedice[md.mesh.elements[findall(elementongroundedice.>0),:]] .= 1.
     32        vertexonfloatingice[findall(vertexongroundedice.==0.)] .= 1.
     33
     34        #define levelsets
     35        md.mask.ocean_levelset = vertexongroundedice
     36        md.mask.ocean_levelset[findall(vertexongroundedice .==0.)] .= -1.
     37        md.mask.ice_levelset = -1*ones(md.mesh.numberofvertices)
     38
     39        return md
     40end
     41#}}}
     42# FlagElements {{{
     43function FlagElements(md::model,region::String)
     44
     45        if isempty(region)
     46                flags = zeros(md.mesh.numberofelements)
     47        elseif region == "all"
     48                flags = ones(md.mesh.numberofelements)
     49        else
     50                flags = InContour(md.mesh.x,md.mesh.y,region);
     51        end
     52
     53        return flags
     54end
     55#}}}
  • ../trunk-jpl/src/jl/test101.jl

     
     1#!/Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
     2include("triangle.jl")
     3include("parameterization.jl")
     4include("solve.jl")
     5
     6md = model()
     7md = triangle(md,"../../test/Exp/Square.exp",180000.)
     8md = setmask(md,"all","")
     9
     10#Geometry
     11hmin=300.
     12hmax=1000.
     13ymin=minimum(md.mesh.y)
     14ymax=maximum(md.mesh.y)
     15xmin=minimum(md.mesh.x)
     16xmax=maximum(md.mesh.x)
     17md.geometry.thickness = hmax .+ (hmin-hmax)*(md.mesh.y .- ymin)./(ymax-ymin) .+ 0.1*(hmin-hmax)*(md.mesh.x .- xmin)./(xmax-xmin)
     18md.geometry.base      = -md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
     19md.geometry.surface   = md.geometry.base+md.geometry.thickness
     20md.geometry.bed       = md.geometry.base .-10
     21
     22#Initial velocity
     23x     = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","x")
     24y     = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","y")
     25vx    = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","vx")
     26vy    = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","vy")
     27index = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","index")
     28md.initialization.vx=zeros(md.mesh.numberofvertices)#InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
     29md.initialization.vy=zeros(md.mesh.numberofvertices)#InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
     30
     31md.materials.rheology_B=1.815730284801701e+08*ones(md.mesh.numberofvertices)
     32md.materials.rheology_n=3*ones(md.mesh.numberofelements)
     33
     34md.stressbalance.restol=0.05
     35md.stressbalance.reltol=0.05
     36md.stressbalance.abstol=NaN
     37
     38md=solve(md,"Stressbalance")
  • ../trunk-jpl/src/jl/triangle.jl

    Property changes on: ../trunk-jpl/src/jl/test101.jl
    ___________________________________________________________________
    Added: svn:executable
    ## -0,0 +1 ##
    +*
    \ No newline at end of property
     
    153153
    154154        #Call triangle using ISSM's default options
    155155        triangle_switches = "pQzDq30ia"*@sprintf("%lf",area) #replace V by Q to quiet down the logging
    156         #rc=ccall( (:triangulate,"../../externalpackages/triangle/src/libtriangle.dylib"),
    157         rc=ccall( (:triangulate,"libtriangle"),
     156        #rc=ccall( (:triangulate,"libtriangle"),
     157        rc=ccall( (:triangulate,"../../externalpackages/triangle/src/libtriangle.dylib"),
    158158                                Cint, ( Cstring, Ref{CTriangulateIO}, Ref{CTriangulateIO}, Ref{CTriangulateIO}),
    159159                                triangle_switches, Ref(ctio_in), Ref(ctio_out), Ref(vor_out))
    160         println("number of elements: ",ctio_out.numberoftriangles)
    161160
    162161        #post process output
    163162        points    = convert(Array{Cdouble,2}, Base.unsafe_wrap(Array, ctio_out.pointlist,    (2,Int(ctio_out.numberofpoints)), own=true))'
  • ../trunk-jpl/src/jl/issm.jl

     
    6060function Initialization() #{{{
    6161        return Initialization( Vector{Float64}(undef,0), Vector{Float64}(undef,0))
    6262end# }}}
     63mutable struct Stressbalance
     64        spcvx::Vector{Float64}
     65        spcvy::Vector{Float64}
     66        restol::Float64
     67        reltol::Float64
     68        abstol::Float64
     69        maxiter::Int32
     70end
     71function Stressbalance() #{{{
     72        return Stressbalance( Vector{Float64}(undef,0), Vector{Float64}(undef,0), 0., 0., 0., 0)
     73end# }}}
    6374mutable struct Materials
    6475        rho_ice::Float64
    6576        rho_water::Float64
     
    8899        mask::Mask
    89100        materials::Materials
    90101        initialization::Initialization
     102        stressbalance::Stressbalance
    91103end
    92104function model() #{{{
    93         return model( Mesh2dTriangle(), Geometry(), Mask(), Materials(), Initialization())
     105        return model( Mesh2dTriangle(), Geometry(), Mask(), Materials(), Initialization(),Stressbalance())
    94106end#}}}
    95107function Base.show(io::IO, md::model)# {{{
    96108
     
    102114        @printf "%19s: %-22s -- %s\n" "mask" typeof(md.mask) "defines grounded and floating regions"
    103115        @printf "%19s: %-22s -- %s\n" "materials" typeof(md.materials) "material properties"
    104116        @printf "%19s: %-22s -- %s\n" "initialization" typeof(md.initialization) "initial state"
     117        @printf "%19s: %-22s -- %s\n" "stressbalance" typeof(md.stressbalance) "stress balance parameters"
    105118
    106119end# }}}
    107120
     
    142155                                data = reinterpret(Float64, read(f, sizeof(Float64)*rows*cols))
    143156                                data .= ntoh.(data)
    144157                                data = reshape(data, (rows,cols))
     158                                data = collect(data)
     159                                if cols == 1
     160                                        data = vec(data)
     161                                end
    145162                        else
    146163                                error("Error: Encountered invalid field type when reading data.")
    147164                        end
     
    155172
    156173        return output
    157174end# }}}
     175function InterpFromMeshToMesh2d(index::Array,x::Vector,y::Vector,data::Vector,xout::Vector,yout::Vector) #{{{
     176        #prepare input arrays
     177        nods = Cint(length(x))
     178        nels = Cint(size(index,1))
     179        nods_interp = Cint(length(xout))
     180        Cindex=Array{Cint,1}(undef,length(index))
     181        for i in 1:size(index,1)
     182                for j in 1:3
     183                        Cindex[(i-1)*3+j] = Int32(index[i,j])
     184                end
     185        end
     186        Cx    = Array{Cdouble,1}(undef,nods)
     187        Cy    = Array{Cdouble,1}(undef,nods)
     188        Cdata = Array{Cdouble,1}(undef,nods)
     189        for i in 1:nods
     190                Cx[i]    = x[i]
     191                Cy[i]    = y[i]
     192                Cdata[i] = data[i]
     193        end
     194        Cxout = Array{Cdouble,1}(undef,nods_interp)
     195        Cyout = Array{Cdouble,1}(undef,nods_interp)
     196        for i in 1:nods_interp
     197                Cxout[i] = xout[i]
     198                Cyout[i] = yout[i]
     199        end
     200
     201        Cdataout = Vector{Float64}(undef,nods_interp)
     202
     203        #This is not working....
     204        rc=ccall( (:InterpFromMeshToMesh2dx,"libISSMCore"),
     205                                Cint, (Ptr{Ptr{Cdouble}},Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cint),
     206                                Ref(Ref(Cdataout)), Ref(Cindex), Ref(Cx), Ref(Cy), nods, nels,
     207                                Ref(Cdata), nods, 1, Ref(Cxout), Ref(Cyout), nods_interp)
     208
     209        #Process output
     210        dataout = Vector{Float64}(undef,nods_interp)
     211        for i in 1:nods_interp
     212                dataout[i] = Cdataout[i]
     213        end
     214
     215        return dataout
     216end #}}}
     217function solve(md::model,solution::String) #{{{
     218
     219        if solution=="sb" || solution=="Stressbalance"
     220                solutionstring = "StressbalanceSolution"
     221        else
     222                error("solutionstring "*solution*" not supported!");
     223        end
     224
     225        IssmCore(md)
     226
     227        return md
     228end #}}}
  • ../trunk-jpl/src/jl/solve.jl

     
     1include("issm.jl")
     2include("issmenums.jl")
     3
     4#define classes first
     5abstract type Parameter end
     6struct DoubleParam <: Parameter #{{{
     7        enum::IssmEnum
     8        value::Float64
     9end# }}}
     10struct IntParam <: Parameter #{{{
     11        enum::IssmEnum
     12        value::Int64
     13end# }}}
     14mutable struct Parameters #{{{
     15        lookup::Dict{IssmEnum,Parameter}
     16end# }}}
     17function AddParam(parameters::Parameters,value::Float64,enum::IssmEnum) #{{{
     18
     19        parameters.lookup[enum] = DoubleParam(enum,value)
     20
     21end#}}}
     22function AddParam(parameters::Parameters,value::Int64,enum::IssmEnum) #{{{
     23
     24        parameters.lookup[enum] = IntParam(enum,value)
     25
     26end#}}}
     27
     28abstract type Input end
     29struct BoolInput <: Input#{{{
     30        enum::IssmEnum
     31        values::Matrix{Bool}
     32end# }}}
     33struct IntInput <: Input#{{{
     34        enum::IssmEnum
     35        values::Matrix{Int32}
     36end# }}}
     37struct ElementInput <: Input#{{{
     38        enum::IssmEnum
     39        interp::IssmEnum
     40        values::Vector{Float64}
     41end# }}}
     42mutable struct Inputs #{{{
     43        numberofelements::Int32
     44        numberofvertices::Int32
     45        lookup::Dict{IssmEnum,Input}
     46end# }}}
     47function SetInput(inputs::Inputs,enum::IssmEnum,index::Int32,value::Bool) #{{{
     48
     49        #Does this input exist
     50        if !haskey(inputs.lookup,enum)
     51                #it does not exist yet, we need to create it...
     52                @assert inputs.numberofelements > 0
     53                input = BoolInput(enum,zeros(Bool,inputs.numberofelements))
     54                inputs.lookup[enum] = BoolInput(enum,zeros(Bool,inputs.numberofelements))
     55        end
     56
     57        #Get this input and check type
     58        input = inputs.lookup[enum]
     59        if typeof(input)!=BoolInput error("not consistent") end
     60
     61        #set value
     62        @assert index>0 && index<=inputs.numberofelements
     63        input.values[index] = value
     64end#}}}
     65function SetTriaInput(inputs::Inputs,enum::IssmEnum,interp::IssmEnum,index::Int32,value::Float64) #{{{
     66
     67        #Does this input exist
     68        if !haskey(inputs.lookup,enum)
     69                #it does not exist yet, we need to create it...
     70                @assert inputs.numberofelements > 0
     71                if interp==P0Enum
     72                        inputs.lookup[enum] = ElementInput(enum,interp,zeros(inputs.numberofelements))
     73                elseif interp==P1Enum
     74                        inputs.lookup[enum] = ElementInput(enum,interp,zeros(inputs.numberofvertices))
     75                else
     76                        error("not supported yet")
     77                end
     78        end
     79
     80        #Get this input and check type
     81        input = inputs.lookup[enum]
     82        if typeof(input)!=ElementInput error("input type not consistent") end
     83        if interp!=input.interp        error("input interpolations not consistent") end
     84
     85        #set value
     86        input.values[index] = value
     87end#}}}
     88function SetTriaInput(inputs::Inputs,enum::IssmEnum,interp::IssmEnum,indices::Vector{Int32},values::Vector{Float64}) #{{{
     89
     90        #Does this input exist
     91        if !haskey(inputs.lookup,enum)
     92                #it does not exist yet, we need to create it...
     93                @assert inputs.numberofvertices>0
     94                if interp==P1Enum
     95                        inputs.lookup[enum] = ElementInput(enum,interp,zeros(inputs.numberofvertices))
     96                else
     97                        error("not supported yet")
     98                end
     99        end
     100
     101        #Get this input and check type
     102        input = inputs.lookup[enum]
     103        if typeof(input)!=ElementInput error("input type not consistent") end
     104        if interp!=input.interp        error("input interpolations not consistent") end
     105
     106        #set value
     107        input.values[indices] = values
     108end#}}}
     109
     110mutable struct Node #{{{
     111        id::Int32
     112        sid::Int32
     113        indexingupdate::Bool
     114        gsize::Int32
     115        gdoflist::Vector{Int32}
     116        fdoflist::Vector{Int32}
     117        sdoflist::Vector{Int32}
     118        svalues::Vector{Float64}
     119end# }}}
     120struct Constraint #{{{
     121        id::Int32
     122        nodeid::Int32
     123        dof::Int8
     124        value::Float64
     125end# }}}
     126mutable struct Vertex#{{{
     127        sid::Int32
     128        x::Float64
     129        y::Float64
     130end# }}}
     131mutable struct Tria #{{{
     132        sid::Int32
     133        pid::Int32
     134        #vertexids::Int64[3]
     135        #vertices::Vertex[3]
     136        vertexids::Vector{Int32}
     137        vertices::Vector{Vertex}
     138        nodes::Vector{Node}
     139        parameters::Parameters
     140        inputs::Inputs
     141end# }}}
     142mutable struct FemModel #{{{
     143        elements::Vector{Tria}
     144        vertices::Vector{Vertex}
     145        nodes::Vector{Node}
     146        parameters::Vector{Parameter}
     147        inputs::Inputs
     148        constraints::Vector{Constraint}
     149        #loads::Vector{Loads}
     150end#}}}
     151struct GaussTria #{{{
     152        numgauss::Int32
     153        weights::Vector{Float64}
     154        coords1::Vector{Float64}
     155        coords2::Vector{Float64}
     156        coords3::Vector{Float64}
     157end #}}}
     158function GaussTria(order::Int32) #{{{
     159
     160        #=Gauss quadrature points for the triangle.
     161        Higher-order points from D.A. Dunavant, "High Degree Efficient
     162        Symmetrical Gaussian Quadrature Rules for the Triangle", IJNME,
     163        Vol. 21, pp. 1129-1148 (1985), as transcribed for Probe rules3.=#
     164
     165        if(order==1)
     166                npoints = 1
     167                weights = [1.732050807568877]
     168                coords1 = [0.333333333333333]
     169                coords2 = [0.333333333333333]
     170                coords3 = [0.333333333333333]
     171        elseif(order==2)
     172                weights = [0.577350269189625, 0.577350269189625, 0.577350269189625]
     173                coords1 = [0.666666666666667, 0.166666666666667, 0.166666666666667]
     174                coords2 = [0.166666666666667, 0.666666666666667, 0.166666666666667]
     175                coords3 = [0.166666666666667, 0.166666666666667, 0.666666666666667]
     176        elseif(order==3)
     177                npoints=4
     178                weights = [-0.974278579257493, 0.902109795608790, 0.902109795608790, 0.902109795608790]
     179                coords1 = [0.333333333333333, 0.600000000000000, 0.200000000000000, 0.200000000000000]
     180                coords2 = [0.333333333333333, 0.200000000000000, 0.600000000000000, 0.200000000000000]
     181                coords3 = [0.333333333333333, 0.200000000000000, 0.200000000000000, 0.600000000000000]
     182        else
     183                error("order ",order," not supported yet");
     184        end
     185
     186        return GaussTria(npoints,weights,coords1,coords2,coords3)
     187end# }}}
     188
     189#Modules
     190function FetchDataToInput(md::model,inputs::Inputs,elements::Vector{Tria},data::Vector{Float64},enum::IssmEnum) #{{{
     191        for i in 1:length(elements)
     192                InputCreate(elements[i],inputs,data,enum)
     193        end
     194end#}}}
     195function IssmCore(md::model) #{{{
     196       
     197        #Construct FemModel
     198        femmodel=ModelProcessor(md)
     199
     200        #Solve
     201        Stressbalance(femmodel)
     202
     203        #then what??
     204
     205end# }}}
     206function ModelProcessor(md::model) #{{{
     207
     208        #Initialize structures
     209        elements   = Vector{Tria}(undef,0)
     210        vertices   = Vector{Vertex}(undef,0)
     211        parameters = Parameters(Dict{IssmEnum,Parameter}())
     212        inputs     = Inputs(md.mesh.numberofelements,md.mesh.numberofvertices,Dict{IssmEnum,Input}())
     213
     214        #Create  elements, vertices and materials (independent of the analysis)
     215        CreateElements(elements,md)
     216        CreateVertices(vertices,md)
     217        CreateParameters(parameters,md)
     218        CreateInputs(inputs,elements,md)
     219
     220        #Now create analysis specific data structure
     221        StressbalanceUpdateParameters(parameters,md)
     222end# }}}
     223function CreateElements(elements::Vector{Tria},md::model) #{{{
     224
     225        #Make sure elements is currently empty
     226        @assert length(elements)==0
     227
     228        tempparams   = Parameters(Dict{IssmEnum,Parameter}())
     229        tempinputs   = Inputs(-1,-1,Dict{IssmEnum,Input}())
     230        tempvertices = Vector{Vertex}(undef,0)
     231        tempnodes    = Vector{Node}(undef,0)
     232
     233        count = 0
     234        for i in 1:md.mesh.numberofelements
     235                push!(elements,Tria(i,count,md.mesh.elements[i,:],tempvertices,tempnodes,tempparams,tempinputs))
     236        end
     237
     238end# }}}
     239function CreateVertices(vertices::Vector{Vertex},md::model) #{{{
     240
     241        #Make sure vertices is currently empty
     242        @assert length(vertices)==0
     243
     244        #Get data from md
     245        x = md.mesh.x
     246        y = md.mesh.y
     247
     248        count = 0
     249        for i in 1:md.mesh.numberofvertices
     250                push!(vertices,Vertex(i,x[i],y[i]))
     251        end
     252
     253end# }}}
     254function CreateParameters(parameters::Parameters,md::model) #{{{
     255
     256        #Get data from md
     257        AddParam(parameters,md.materials.rho_ice,MaterialsRhoIceEnum)
     258        AddParam(parameters,md.materials.rho_water,MaterialsRhoSeawaterEnum)
     259        AddParam(parameters,md.materials.rho_freshwater,MaterialsRhoFreshwaterEnum)
     260end# }}}
     261function CreateInputs(inputs::Inputs,elements::Vector{Tria},md::model) #{{{
     262
     263        #Only assume we have Matice for now
     264        FetchDataToInput(md,inputs,elements,md.materials.rheology_B,MaterialsRheologyBEnum);
     265        FetchDataToInput(md,inputs,elements,md.materials.rheology_n,MaterialsRheologyNEnum);
     266end# }}}
     267
     268#Element functions
     269function InputCreate(element::Tria,inputs::Inputs,data::Vector{Float64},enum::IssmEnum) #{{{
     270        if size(data,1)==inputs.numberofelements
     271                SetTriaInput(inputs,enum,P0Enum,element.sid,data[element.sid])
     272        elseif size(data,1)==inputs.numberofvertices
     273                SetTriaInput(inputs,enum,P1Enum,element.vertexids,data[element.vertexids])
     274        else
     275                error("size ",size(data,1)," not supported yet");
     276        end
     277end #}}}
Note: See TracBrowser for help on using the repository browser.