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

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

CHG: added 25834-26739

File size: 52.0 KB
RevLine 
[26740]1Index: ../trunk-jpl/src/jl/issmenums.jl
2===================================================================
3--- ../trunk-jpl/src/jl/issmenums.jl (nonexistent)
4+++ ../trunk-jpl/src/jl/issmenums.jl (revision 26500)
5@@ -0,0 +1,1544 @@
6+@enum IssmEnum begin
7+ ParametersSTARTEnum
8+ #Parameters{{{
9+ AdolcParamEnum
10+ AmrDeviatoricErrorGroupThresholdEnum
11+ AmrDeviatoricErrorMaximumEnum
12+ AmrDeviatoricErrorResolutionEnum
13+ AmrDeviatoricErrorThresholdEnum
14+ AmrErrEnum
15+ AmrFieldEnum
16+ AmrGradationEnum
17+ AmrGroundingLineDistanceEnum
18+ AmrGroundingLineResolutionEnum
19+ AmrHmaxEnum
20+ AmrHminEnum
21+ AmrIceFrontDistanceEnum
22+ AmrIceFrontResolutionEnum
23+ AmrKeepMetricEnum
24+ AmrLagEnum
25+ AmrLevelMaxEnum
26+ AmrRestartEnum
27+ AmrThicknessErrorGroupThresholdEnum
28+ AmrThicknessErrorMaximumEnum
29+ AmrThicknessErrorResolutionEnum
30+ AmrThicknessErrorThresholdEnum
31+ AmrTypeEnum
32+ AnalysisCounterEnum
33+ AnalysisTypeEnum
34+ AugmentedLagrangianREnum
35+ AugmentedLagrangianRholambdaEnum
36+ AugmentedLagrangianRhopEnum
37+ AugmentedLagrangianRlambdaEnum
38+ AugmentedLagrangianThetaEnum
39+ AutodiffCbufsizeEnum
40+ AutodiffDependentObjectsEnum
41+ AutodiffDriverEnum
42+ AutodiffFosForwardIndexEnum
43+ AutodiffFosReverseIndexEnum
44+ AutodiffFovForwardIndicesEnum
45+ AutodiffGcTriggerMaxSizeEnum
46+ AutodiffGcTriggerRatioEnum
47+ AutodiffIsautodiffEnum
48+ AutodiffLbufsizeEnum
49+ AutodiffNumDependentsEnum
50+ AutodiffNumIndependentsEnum
51+ AutodiffObufsizeEnum
52+ AutodiffTapeAllocEnum
53+ AutodiffTbufsizeEnum
54+ AutodiffXpEnum
55+ BalancethicknessStabilizationEnum
56+ BarystaticContributionsEnum
57+ BasalforcingsBottomplumedepthEnum
58+ BasalforcingsCrustthicknessEnum
59+ BasalforcingsDeepwaterElevationEnum
60+ BasalforcingsDeepwaterMeltingRateEnum
61+ BasalforcingsDtbgEnum
62+ BasalforcingsEnum
63+ BasalforcingsIsmip6AverageTfEnum
64+ BasalforcingsIsmip6BasinAreaEnum
65+ BasalforcingsIsmip6DeltaTEnum
66+ BasalforcingsIsmip6Gamma0Enum
67+ BasalforcingsIsmip6IsLocalEnum
68+ BasalforcingsIsmip6NumBasinsEnum
69+ BasalforcingsIsmip6TfDepthsEnum
70+ BasalforcingsLowercrustheatEnum
71+ BasalforcingsMantleconductivityEnum
72+ BasalforcingsNusseltEnum
73+ BasalforcingsPicoAverageOverturningEnum
74+ BasalforcingsPicoAverageSalinityEnum
75+ BasalforcingsPicoAverageTemperatureEnum
76+ BasalforcingsPicoBoxAreaEnum
77+ BasalforcingsPicoFarOceansalinityEnum
78+ BasalforcingsPicoFarOceantemperatureEnum
79+ BasalforcingsPicoGammaTEnum
80+ BasalforcingsPicoIsplumeEnum
81+ BasalforcingsPicoMaxboxcountEnum
82+ BasalforcingsPicoNumBasinsEnum
83+ BasalforcingsPlumeradiusEnum
84+ BasalforcingsPlumexEnum
85+ BasalforcingsPlumeyEnum
86+ BasalforcingsThresholdThicknessEnum
87+ BasalforcingsTopplumedepthEnum
88+ BasalforcingsUppercrustheatEnum
89+ BasalforcingsUppercrustthicknessEnum
90+ BasalforcingsUpperdepthMeltEnum
91+ BasalforcingsUpperwaterElevationEnum
92+ BasalforcingsUpperwaterMeltingRateEnum
93+ CalvingCrevasseDepthEnum
94+ CalvingCrevasseThresholdEnum
95+ CalvingHeightAboveFloatationEnum
96+ CalvingLawEnum
97+ CalvingMinthicknessEnum
98+ ConfigurationTypeEnum
99+ ConstantsGEnum
100+ ConstantsNewtonGravityEnum
101+ ConstantsReferencetemperatureEnum
102+ ConstantsYtsEnum
103+ ControlInputSizeMEnum
104+ ControlInputSizeNEnum
105+ ControlInputInterpolationEnum
106+ CumBslcEnum
107+ CumBslcIceEnum
108+ CumBslcHydroEnum
109+ CumBslcOceanEnum
110+ CumBslcIcePartitionEnum
111+ CumBslcHydroPartitionEnum
112+ CumBslcOceanPartitionEnum
113+ CumGmtslcEnum
114+ CumGmslcEnum
115+ DamageC1Enum
116+ DamageC2Enum
117+ DamageC3Enum
118+ DamageC4Enum
119+ DamageEnum
120+ DamageEquivStressEnum
121+ DamageEvolutionNumRequestedOutputsEnum
122+ DamageEvolutionRequestedOutputsEnum
123+ DamageHealingEnum
124+ DamageKappaEnum
125+ DamageLawEnum
126+ DamageMaxDamageEnum
127+ DamageStabilizationEnum
128+ DamageStressThresholdEnum
129+ DamageStressUBoundEnum
130+ DebugProfilingEnum
131+ DomainDimensionEnum
132+ DomainTypeEnum
133+ DslModelEnum
134+ DslModelidEnum
135+ DslNummodelsEnum
136+ SolidearthIsExternalEnum
137+ SolidearthExternalNatureEnum
138+ SolidearthExternalModelidEnum
139+ SolidearthExternalNummodelsEnum
140+ SolidearthSettingsComputeBpGrdEnum
141+ EarthIdEnum
142+ ElasticEnum
143+ EplZigZagCounterEnum
144+ EsaHElasticEnum
145+ EsaHemisphereEnum
146+ EsaRequestedOutputsEnum
147+ EsaUElasticEnum
148+ ExtrapolationVariableEnum
149+ FemModelCommEnum
150+ FieldsEnum
151+ FlowequationFeFSEnum
152+ FlowequationIsFSEnum
153+ FlowequationIsHOEnum
154+ FlowequationIsL1L2Enum
155+ FlowequationIsMLHOEnum
156+ FlowequationIsSIAEnum
157+ FlowequationIsSSAEnum
158+ FlowequationIsNitscheEnum
159+ FeFSNitscheGammaEnum
160+ FrictionCouplingEnum
161+ FrictionDeltaEnum
162+ FrictionEffectivePressureLimitEnum
163+ FrictionFEnum
164+ FrictionGammaEnum
165+ FrictionLawEnum
166+ FrictionPseudoplasticityExponentEnum
167+ FrictionThresholdSpeedEnum
168+ FrictionVoidRatioEnum
169+ FrontalForcingsBasinIcefrontAreaEnum
170+ FrontalForcingsNumberofBasinsEnum
171+ FrontalForcingsParamEnum
172+ GrdModelEnum
173+ GroundinglineFrictionInterpolationEnum
174+ GroundinglineMeltInterpolationEnum
175+ GroundinglineMigrationEnum
176+ HydrologyAveragingEnum
177+ HydrologyCavitySpacingEnum
178+ HydrologyChannelConductivityEnum
179+ HydrologyChannelSheetWidthEnum
180+ HydrologyEnglacialVoidRatioEnum
181+ HydrologyIschannelsEnum
182+ HydrologyMeltFlagEnum
183+ HydrologyModelEnum
184+ HydrologyNumRequestedOutputsEnum
185+ HydrologyPressureMeltCoefficientEnum
186+ HydrologyRelaxationEnum
187+ HydrologyRequestedOutputsEnum
188+ HydrologySedimentKmaxEnum
189+ HydrologyStepsPerStepEnum
190+ HydrologyStorageEnum
191+ HydrologydcEplColapseThicknessEnum
192+ HydrologydcEplConductivityEnum
193+ HydrologydcEplInitialThicknessEnum
194+ HydrologydcEplLayerCompressibilityEnum
195+ HydrologydcEplMaxThicknessEnum
196+ HydrologydcEplPoreWaterMassEnum
197+ HydrologydcEplThickCompEnum
198+ HydrologydcEplflipLockEnum
199+ HydrologydcIsefficientlayerEnum
200+ HydrologydcLeakageFactorEnum
201+ HydrologydcMaxIterEnum
202+ HydrologydcPenaltyFactorEnum
203+ HydrologydcPenaltyLockEnum
204+ HydrologydcRelTolEnum
205+ HydrologydcSedimentlimitEnum
206+ HydrologydcSedimentlimitFlagEnum
207+ HydrologydcSedimentLayerCompressibilityEnum
208+ HydrologydcSedimentPoreWaterMassEnum
209+ HydrologydcSedimentPorosityEnum
210+ HydrologydcSedimentThicknessEnum
211+ HydrologydcTransferFlagEnum
212+ HydrologydcUnconfinedFlagEnum
213+ HydrologyshreveStabilizationEnum
214+ IcecapToEarthCommEnum
215+ IndexEnum
216+ InputFileNameEnum
217+ DirectoryNameEnum
218+ IndicesEnum
219+ InputToDepthaverageInEnum
220+ InputToDepthaverageOutEnum
221+ InputToExtrudeEnum
222+ InputToL2ProjectEnum
223+ InputToSmoothEnum
224+ InversionAlgorithmEnum
225+ InversionControlParametersEnum
226+ InversionControlScalingFactorsEnum
227+ InversionCostFunctionsEnum
228+ InversionDxminEnum
229+ InversionGatolEnum
230+ InversionGradientScalingEnum
231+ InversionGrtolEnum
232+ InversionGttolEnum
233+ InversionIncompleteAdjointEnum
234+ InversionIscontrolEnum
235+ InversionMaxiterEnum
236+ InversionMaxiterPerStepEnum
237+ InversionMaxstepsEnum
238+ InversionNstepsEnum
239+ InversionNumControlParametersEnum
240+ InversionNumCostFunctionsEnum
241+ InversionStepThresholdEnum
242+ InversionTypeEnum
243+ IvinsEnum
244+ IsSlcCouplingEnum
245+ LevelsetKillIcebergsEnum
246+ LevelsetReinitFrequencyEnum
247+ LevelsetStabilizationEnum
248+ LockFileNameEnum
249+ LoveAllowLayerDeletionEnum
250+ LoveCoreMantleBoundaryEnum
251+ LoveEarthMassEnum
252+ LoveForcingTypeEnum
253+ LoveFrequenciesEnum
254+ LoveIsTemporalEnum
255+ LoveG0Enum
256+ LoveGravitationalConstantEnum
257+ LoveInnerCoreBoundaryEnum
258+ LoveComplexComputationEnum
259+ LoveIntStepsPerLayerEnum
260+ LoveKernelsEnum
261+ LoveMu0Enum
262+ LoveNfreqEnum
263+ LoveNTemporalIterationsEnum
264+ LoveNYiEquationsEnum
265+ LoveR0Enum
266+ LoveShNmaxEnum
267+ LoveShNminEnum
268+ LoveStartingLayerEnum
269+ LoveUnderflowTolEnum
270+ MassFluxSegmentsEnum
271+ MassFluxSegmentsPresentEnum
272+ MasstransportHydrostaticAdjustmentEnum
273+ MasstransportIsfreesurfaceEnum
274+ MasstransportMinThicknessEnum
275+ MasstransportNumRequestedOutputsEnum
276+ MasstransportPenaltyFactorEnum
277+ MasstransportRequestedOutputsEnum
278+ MasstransportStabilizationEnum
279+ MaterialsBetaEnum
280+ MaterialsEarthDensityEnum
281+ MaterialsEffectiveconductivityAveragingEnum
282+ MaterialsHeatcapacityEnum
283+ MaterialsLatentheatEnum
284+ MaterialsMeltingpointEnum
285+ MaterialsMixedLayerCapacityEnum
286+ MaterialsMuWaterEnum
287+ MaterialsRheologyLawEnum
288+ MaterialsRhoFreshwaterEnum
289+ MaterialsRhoIceEnum
290+ MaterialsRhoSeawaterEnum
291+ MaterialsTemperateiceconductivityEnum
292+ MaterialsThermalExchangeVelocityEnum
293+ MaterialsThermalconductivityEnum
294+ MeltingOffsetEnum
295+ MeshAverageVertexConnectivityEnum
296+ MeshElementtypeEnum
297+ MeshNumberoflayersEnum
298+ MeshNumberofverticesEnum
299+ MeshNumberofelementsEnum
300+ MigrationMaxEnum
301+ ModelIdEnum
302+ NbinsEnum
303+ NodesEnum
304+ NumModelsEnum
305+ OceanGridNxEnum
306+ OceanGridNyEnum
307+ OceanGridXEnum
308+ OceanGridYEnum
309+ OutputBufferPointerEnum
310+ OutputBufferSizePointerEnum
311+ OutputFileNameEnum
312+ OutputFilePointerEnum
313+ OutputdefinitionEnum
314+ QmuErrNameEnum
315+ QmuInNameEnum
316+ QmuIsdakotaEnum
317+ QmuOutNameEnum
318+ QmuOutputEnum
319+ QmuCurrEvalIdEnum
320+ QmuNsampleEnum
321+ QmuResponsedescriptorsEnum
322+ QmuVariableDescriptorsEnum
323+ QmuVariablePartitionsEnum
324+ QmuVariablePartitionsNpartEnum
325+ QmuVariablePartitionsNtEnum
326+ QmuResponsePartitionsEnum
327+ QmuResponsePartitionsNpartEnum
328+ QmuStatisticsEnum
329+ QmuNumstatisticsEnum
330+ QmuNdirectoriesEnum
331+ QmuNfilesPerDirectoryEnum
332+ QmuStatisticsMethodEnum
333+ QmuMethodsEnum
334+ RestartFileNameEnum
335+ ResultsEnum
336+ RootPathEnum
337+ ModelnameEnum
338+ SamplingAlphaEnum
339+ SamplingPhiEnum
340+ SamplingNumRequestedOutputsEnum
341+ SamplingRequestedOutputsEnum
342+ SamplingRobinEnum
343+ SamplingSeedEnum
344+ SamplingTauEnum
345+ SaveResultsEnum
346+ SolidearthPartitionIceEnum
347+ SolidearthPartitionHydroEnum
348+ SolidearthPartitionOceanEnum
349+ SolidearthNpartIceEnum
350+ SolidearthNpartOceanEnum
351+ SolidearthNpartHydroEnum
352+ SolidearthPlanetRadiusEnum
353+ SolidearthPlanetAreaEnum
354+ SolidearthSettingsAbstolEnum
355+ SolidearthSettingsCrossSectionShapeEnum
356+ RotationalAngularVelocityEnum
357+ SolidearthSettingsElasticEnum
358+ SolidearthSettingsViscousEnum
359+ SealevelchangeGeometryDoneEnum
360+ SealevelchangeViscousNumStepsEnum
361+ SealevelchangeViscousTimesEnum
362+ SealevelchangeViscousIndexEnum
363+ RotationalEquatorialMoiEnum
364+ TidalLoveHEnum
365+ TidalLoveKEnum
366+ TidalLoveLEnum
367+ TidalLoveK2SecularEnum
368+ LoadLoveHEnum
369+ LoadLoveKEnum
370+ LoadLoveLEnum
371+ LoveTimeFreqEnum
372+ LoveIsTimeEnum
373+ SealevelchangeGSelfAttractionEnum
374+ SealevelchangeGViscoElasticEnum
375+ SolidearthSettingsSealevelLoadingEnum
376+ SolidearthSettingsGRDEnum
377+ SolidearthSettingsRunFrequencyEnum
378+ SolidearthSettingsTimeAccEnum
379+ SealevelchangeHViscoElasticEnum
380+ SolidearthSettingsHorizEnum
381+ SolidearthSettingsMaxiterEnum
382+ SolidearthSettingsGrdOceanEnum
383+ SolidearthSettingsOceanAreaScalingEnum
384+ RotationalPolarMoiEnum
385+ SolidearthSettingsReltolEnum
386+ SealevelchangeRequestedOutputsEnum
387+ SolidearthSettingsSelfAttractionEnum
388+ SolidearthSettingsRotationEnum
389+ SolidearthSettingsMaxSHCoeffEnum
390+ SealevelchangeRunCountEnum
391+ SealevelchangeTransitionsEnum
392+ SealevelchangeUViscoElasticEnum
393+ SettingsIoGatherEnum
394+ SettingsNumResultsOnNodesEnum
395+ SettingsOutputFrequencyEnum
396+ SettingsCheckpointFrequencyEnum
397+ SettingsResultsOnNodesEnum
398+ SettingsSbCouplingFrequencyEnum
399+ SettingsSolverResidueThresholdEnum
400+ SettingsWaitonlockEnum
401+ SmbAIceEnum
402+ SmbAIdxEnum
403+ SmbASnowEnum
404+ SmbAccualtiEnum
405+ SmbAccugradEnum
406+ SmbAccurefEnum
407+ SmbAdThreshEnum
408+ SmbAutoregressionInitialTimeEnum
409+ SmbAutoregressionTimestepEnum
410+ SmbAutoregressiveOrderEnum
411+ SmbAveragingEnum
412+ SmbBeta0Enum
413+ SmbBeta1Enum
414+ SmbCovmatEnum
415+ SmbDesfacEnum
416+ SmbDpermilEnum
417+ SmbDsnowIdxEnum
418+ SmbCldFracEnum
419+ SmbDelta18oEnum
420+ SmbDelta18oSurfaceEnum
421+ SmbDenIdxEnum
422+ SmbDtEnum
423+ SmbEnum
424+ SmbFEnum
425+ SmbInitDensityScalingEnum
426+ SmbIsaccumulationEnum
427+ SmbIsalbedoEnum
428+ SmbIsconstrainsurfaceTEnum
429+ SmbIsd18opdEnum
430+ SmbIsdelta18oEnum
431+ SmbIsdensificationEnum
432+ SmbIsfirnwarmingEnum
433+ SmbIsgraingrowthEnum
434+ SmbIsmeltEnum
435+ SmbIsmungsmEnum
436+ SmbIsprecipscaledEnum
437+ SmbIssetpddfacEnum
438+ SmbIsshortwaveEnum
439+ SmbIstemperaturescaledEnum
440+ SmbIsthermalEnum
441+ SmbIsturbulentfluxEnum
442+ SmbKEnum
443+ SmbNumBasinsEnum
444+ SmbNumRequestedOutputsEnum
445+ SmbPfacEnum
446+ SmbPhiEnum
447+ SmbRandomflagEnum
448+ SmbRdlEnum
449+ SmbRequestedOutputsEnum
450+ SmbRlapsEnum
451+ SmbRlapslgmEnum
452+ SmbRunoffaltiEnum
453+ SmbRunoffgradEnum
454+ SmbRunoffrefEnum
455+ SmbSealevEnum
456+ SmbStepsPerStepEnum
457+ SmbSwIdxEnum
458+ SmbT0dryEnum
459+ SmbT0wetEnum
460+ SmbTdiffEnum
461+ SmbThermoDeltaTScalingEnum
462+ SmbTemperaturesReconstructedYearsEnum
463+ SmbPrecipitationsReconstructedYearsEnum
464+ SmoothThicknessMultiplierEnum
465+ SolutionTypeEnum
466+ SteadystateMaxiterEnum
467+ SteadystateNumRequestedOutputsEnum
468+ SteadystateReltolEnum
469+ SteadystateRequestedOutputsEnum
470+ StepEnum
471+ StepsEnum
472+ StressbalanceAbstolEnum
473+ StressbalanceFSreconditioningEnum
474+ StressbalanceIsnewtonEnum
475+ StressbalanceMaxiterEnum
476+ StressbalanceNumRequestedOutputsEnum
477+ StressbalancePenaltyFactorEnum
478+ StressbalanceReltolEnum
479+ StressbalanceRequestedOutputsEnum
480+ StressbalanceRestolEnum
481+ StressbalanceRiftPenaltyThresholdEnum
482+ StressbalanceShelfDampeningEnum
483+ ThermalIsdrainicecolumnEnum
484+ ThermalIsdynamicbasalspcEnum
485+ ThermalIsenthalpyEnum
486+ ThermalMaxiterEnum
487+ ThermalNumRequestedOutputsEnum
488+ ThermalPenaltyFactorEnum
489+ ThermalPenaltyLockEnum
490+ ThermalPenaltyThresholdEnum
491+ ThermalReltolEnum
492+ ThermalRequestedOutputsEnum
493+ ThermalStabilizationEnum
494+ ThermalWatercolumnUpperlimitEnum
495+ TimeEnum
496+ TimesteppingCflCoefficientEnum
497+ TimesteppingCouplingTimeEnum
498+ TimesteppingFinalTimeEnum
499+ TimesteppingInterpForcingEnum
500+ TimesteppingCycleForcingEnum
501+ TimesteppingStartTimeEnum
502+ TimesteppingTimeStepEnum
503+ TimesteppingTimeStepMaxEnum
504+ TimesteppingTimeStepMinEnum
505+ TimesteppingTypeEnum
506+ ToMITgcmCommEnum
507+ ToolkitsFileNameEnum
508+ ToolkitsOptionsAnalysesEnum
509+ ToolkitsOptionsStringsEnum
510+ ToolkitsTypesEnum
511+ TransientAmrFrequencyEnum
512+ TransientIsdamageevolutionEnum
513+ TransientIsesaEnum
514+ TransientIsgiaEnum
515+ TransientIsgroundinglineEnum
516+ TransientIshydrologyEnum
517+ TransientIsmasstransportEnum
518+ TransientIsoceantransportEnum
519+ TransientIsmovingfrontEnum
520+ TransientIsoceancouplingEnum
521+ TransientIssamplingEnum
522+ TransientIsslcEnum
523+ TransientIssmbEnum
524+ TransientIsstressbalanceEnum
525+ TransientIsthermalEnum
526+ TransientNumRequestedOutputsEnum
527+ TransientRequestedOutputsEnum
528+ VelocityEnum
529+ XxeEnum
530+ YyeEnum
531+ ZzeEnum
532+ AreaeEnum
533+ WorldCommEnum
534+ #}}}
535+ ParametersENDEnum
536+ InputsSTARTEnum
537+ #Inputs{{{
538+ AccumulatedDeltaBottomPressureEnum
539+ AccumulatedDeltaIceThicknessEnum
540+ AccumulatedDeltaTwsEnum
541+ AdjointEnum
542+ AdjointpEnum
543+ AdjointxEnum
544+ AdjointxBaseEnum
545+ AdjointxShearEnum
546+ AdjointyEnum
547+ AdjointyBaseEnum
548+ AdjointyShearEnum
549+ AdjointzEnum
550+ AirEnum
551+ ApproximationEnum
552+ BalancethicknessMisfitEnum
553+ BalancethicknessOmega0Enum
554+ BalancethicknessOmegaEnum
555+ BalancethicknessSpcthicknessEnum
556+ BalancethicknessThickeningRateEnum
557+ BasalCrevasseEnum
558+ BasalforcingsFloatingiceMeltingRateEnum
559+ BasalforcingsGeothermalfluxEnum
560+ BasalforcingsGroundediceMeltingRateEnum
561+ BasalforcingsPerturbationMeltingRateEnum
562+ BasalforcingsIsmip6BasinIdEnum
563+ BasalforcingsIsmip6TfEnum
564+ BasalforcingsIsmip6TfShelfEnum
565+ BasalforcingsIsmip6MeltAnomalyEnum
566+ BasalforcingsMeltrateFactorEnum
567+ BasalforcingsOceanSalinityEnum
568+ BasalforcingsOceanTempEnum
569+ BasalforcingsPicoBasinIdEnum
570+ BasalforcingsPicoBoxIdEnum
571+ BasalforcingsPicoOverturningCoeffEnum
572+ BasalforcingsPicoSubShelfOceanOverturningEnum
573+ BasalforcingsPicoSubShelfOceanSalinityEnum
574+ BasalforcingsPicoSubShelfOceanTempEnum
575+ BasalStressxEnum
576+ BasalStressyEnum
577+ BasalStressEnum
578+ BaseEnum
579+ BaseOldEnum
580+ BaseSlopeXEnum
581+ BaseSlopeYEnum
582+ BedEnum
583+ BedGRDEnum
584+ BedEastEnum
585+ BedEastGRDEnum
586+ BedNorthEnum
587+ BedNorthGRDEnum
588+ BedSlopeXEnum
589+ BedSlopeYEnum
590+ BottomPressureEnum
591+ BottomPressureOldEnum
592+ CalvingCalvingrateEnum
593+ CalvingHabFractionEnum
594+ CalvingMeltingrateEnum
595+ CalvingStressThresholdFloatingiceEnum
596+ CalvingStressThresholdGroundediceEnum
597+ CalvinglevermannCoeffEnum
598+ CalvingratexAverageEnum
599+ CalvingratexEnum
600+ CalvingrateyAverageEnum
601+ CalvingrateyEnum
602+ CalvingFluxLevelsetEnum
603+ CalvingMeltingFluxLevelsetEnum
604+ ConvergedEnum
605+ CrevasseDepthEnum
606+ DamageDEnum
607+ DamageDOldEnum
608+ DamageDbarEnum
609+ DamageDbarOldEnum
610+ DamageFEnum
611+ DegreeOfChannelizationEnum
612+ DepthBelowSurfaceEnum
613+ DeltaIceThicknessEnum
614+ DeltaTwsEnum
615+ DeltaBottomPressureEnum
616+ DeltaDslEnum
617+ DslOldEnum
618+ DslEnum
619+ DeltaStrEnum
620+ StrOldEnum
621+ StrEnum
622+ DeviatoricStresseffectiveEnum
623+ DeviatoricStressxxEnum
624+ DeviatoricStressxyEnum
625+ DeviatoricStressxzEnum
626+ DeviatoricStressyyEnum
627+ DeviatoricStressyzEnum
628+ DeviatoricStresszzEnum
629+ DeviatoricStress1Enum
630+ DeviatoricStress2Enum
631+ DistanceToCalvingfrontEnum
632+ DistanceToGroundinglineEnum
633+ Domain2DhorizontalEnum
634+ Domain2DverticalEnum
635+ Domain3DEnum
636+ DragCoefficientAbsGradientEnum
637+ DrivingStressXEnum
638+ DrivingStressYEnum
639+ DummyEnum
640+ EffectivePressureEnum
641+ EffectivePressureSubstepEnum
642+ EffectivePressureTransientEnum
643+ EnthalpyEnum
644+ EnthalpyPicardEnum
645+ EplHeadEnum
646+ EplHeadOldEnum
647+ EplHeadSlopeXEnum
648+ EplHeadSlopeYEnum
649+ EplHeadSubstepEnum
650+ EplHeadTransientEnum
651+ EsaEmotionEnum
652+ EsaNmotionEnum
653+ EsaRotationrateEnum
654+ EsaStrainratexxEnum
655+ EsaStrainratexyEnum
656+ EsaStrainrateyyEnum
657+ EsaUmotionEnum
658+ EsaXmotionEnum
659+ EsaYmotionEnum
660+ EtaDiffEnum
661+ FlowequationBorderFSEnum
662+ FrictionAsEnum
663+ FrictionCEnum
664+ FrictionCmaxEnum
665+ FrictionCoefficientEnum
666+ FrictionCoefficientcoulombEnum
667+ FrictionEffectivePressureEnum
668+ FrictionMEnum
669+ FrictionPEnum
670+ FrictionPressureAdjustedTemperatureEnum
671+ FrictionQEnum
672+ FrictionSedimentCompressibilityCoefficientEnum
673+ FrictionTillFrictionAngleEnum
674+ FrictionWaterLayerEnum
675+ FrictionfEnum
676+ FrontalForcingsBasinIdEnum
677+ FrontalForcingsSubglacialDischargeEnum
678+ FrontalForcingsThermalForcingEnum
679+ GeometryHydrostaticRatioEnum
680+ NGiaEnum
681+ NGiaRateEnum
682+ UGiaEnum
683+ UGiaRateEnum
684+ GradientEnum
685+ GroundinglineHeightEnum
686+ HydraulicPotentialEnum
687+ HydraulicPotentialOldEnum
688+ HydrologyBasalFluxEnum
689+ HydrologyBumpHeightEnum
690+ HydrologyBumpSpacingEnum
691+ HydrologydcBasalMoulinInputEnum
692+ HydrologydcEplThicknessEnum
693+ HydrologydcEplThicknessOldEnum
694+ HydrologydcEplThicknessSubstepEnum
695+ HydrologydcEplThicknessTransientEnum
696+ HydrologydcMaskEplactiveEltEnum
697+ HydrologydcMaskEplactiveNodeEnum
698+ HydrologydcMaskThawedEltEnum
699+ HydrologydcMaskThawedNodeEnum
700+ HydrologydcSedimentTransmitivityEnum
701+ HydrologyDrainageRateEnum
702+ HydrologyEnglacialInputEnum
703+ HydrologyGapHeightEnum
704+ HydrologyGapHeightXEnum
705+ HydrologyGapHeightXXEnum
706+ HydrologyGapHeightYEnum
707+ HydrologyGapHeightYYEnum
708+ HydrologyHeadEnum
709+ HydrologyHeadOldEnum
710+ HydrologyMoulinInputEnum
711+ HydrologyNeumannfluxEnum
712+ HydrologyReynoldsEnum
713+ HydrologySheetConductivityEnum
714+ HydrologySheetThicknessEnum
715+ HydrologySheetThicknessOldEnum
716+ HydrologyTwsEnum
717+ HydrologyTwsSpcEnum
718+ HydrologyTwsAnalysisEnum
719+ HydrologyWatercolumnMaxEnum
720+ HydrologyWaterVxEnum
721+ HydrologyWaterVyEnum
722+ IceEnum
723+ IceMaskNodeActivationEnum
724+ InputEnum
725+ InversionCostFunctionsCoefficientsEnum
726+ InversionSurfaceObsEnum
727+ InversionThicknessObsEnum
728+ InversionVelObsEnum
729+ InversionVxObsEnum
730+ InversionVyObsEnum
731+ LevelsetfunctionSlopeXEnum
732+ LevelsetfunctionSlopeYEnum
733+ LevelsetObservationEnum
734+ LoadingforceXEnum
735+ LoadingforceYEnum
736+ LoadingforceZEnum
737+ MaskOceanLevelsetEnum
738+ MaskIceLevelsetEnum
739+ MaskIceRefLevelsetEnum
740+ MasstransportSpcthicknessEnum
741+ MaterialsRheologyBEnum
742+ MaterialsRheologyBbarEnum
743+ MaterialsRheologyEEnum
744+ MaterialsRheologyEbarEnum
745+ MaterialsRheologyEcEnum
746+ MaterialsRheologyEcbarEnum
747+ MaterialsRheologyEsEnum
748+ MaterialsRheologyEsbarEnum
749+ MaterialsRheologyNEnum
750+ MeshScaleFactorEnum
751+ MeshVertexonbaseEnum
752+ MeshVertexonboundaryEnum
753+ MeshVertexonsurfaceEnum
754+ MisfitEnum
755+ MovingFrontalVxEnum
756+ MovingFrontalVyEnum
757+ NeumannfluxEnum
758+ NewDamageEnum
759+ NodeEnum
760+ OmegaAbsGradientEnum
761+ OceantransportSpcbottompressureEnum
762+ OceantransportSpcstrEnum
763+ OceantransportSpcdslEnum
764+ P0Enum
765+ P1Enum
766+ PartitioningEnum
767+ PressureEnum
768+ RadarEnum
769+ RadarAttenuationMacGregorEnum
770+ RadarAttenuationWolffEnum
771+ RadarIcePeriodEnum
772+ RadarPowerMacGregorEnum
773+ RadarPowerWolffEnum
774+ RheologyBAbsGradientEnum
775+ RheologyBInitialguessEnum
776+ RheologyBInitialguessMisfitEnum
777+ RheologyBbarAbsGradientEnum
778+ SampleEnum
779+ SamplingBetaEnum
780+ SamplingKappaEnum
781+ SealevelEnum
782+ SealevelGRDEnum
783+ SealevelBarystaticMaskEnum
784+ SealevelBarystaticIceMaskEnum
785+ SealevelBarystaticIceWeightsEnum
786+ SealevelBarystaticIceAreaEnum
787+ SealevelBarystaticIceLatbarEnum
788+ SealevelBarystaticIceLongbarEnum
789+ SealevelBarystaticIceLoadEnum
790+ SealevelBarystaticHydroMaskEnum
791+ SealevelBarystaticHydroWeightsEnum
792+ SealevelBarystaticHydroAreaEnum
793+ SealevelBarystaticHydroLatbarEnum
794+ SealevelBarystaticHydroLongbarEnum
795+ SealevelBarystaticHydroLoadEnum
796+ SealevelBarystaticBpMaskEnum
797+ SealevelBarystaticBpWeightsEnum
798+ SealevelBarystaticBpAreaEnum
799+ SealevelBarystaticBpLoadEnum
800+ SealevelBarystaticOceanMaskEnum
801+ SealevelBarystaticOceanWeightsEnum
802+ SealevelBarystaticOceanAreaEnum
803+ SealevelBarystaticOceanLatbarEnum
804+ SealevelBarystaticOceanLongbarEnum
805+ SealevelBarystaticOceanLoadEnum
806+ SealevelNEsaEnum
807+ SealevelNEsaRateEnum
808+ SealevelRSLEnum
809+ BslcEnum
810+ BslcIceEnum
811+ BslcHydroEnum
812+ BslcOceanEnum
813+ BslcRateEnum
814+ GmtslcEnum
815+ SealevelGrotm1Enum
816+ SealevelGrotm2Enum
817+ SealevelGrotm3Enum
818+ SealevelGUrotm1Enum
819+ SealevelGUrotm2Enum
820+ SealevelGUrotm3Enum
821+ SealevelGNrotm1Enum
822+ SealevelGNrotm2Enum
823+ SealevelGNrotm3Enum
824+ SealevelGErotm1Enum
825+ SealevelGErotm2Enum
826+ SealevelGErotm3Enum
827+ SealevelRSLBarystaticEnum
828+ SealevelRSLRateEnum
829+ SealevelUGrdEnum
830+ SealevelNGrdEnum
831+ SealevelUEastEsaEnum
832+ SealevelUNorthEsaEnum
833+ SealevelchangeIndicesEnum
834+ SealevelchangeGEnum
835+ SealevelchangeGUEnum
836+ SealevelchangeGEEnum
837+ SealevelchangeGNEnum
838+ SealevelchangeGsubelOceanEnum
839+ SealevelchangeGUsubelOceanEnum
840+ SealevelchangeGEsubelOceanEnum
841+ SealevelchangeGNsubelOceanEnum
842+ SealevelchangeGsubelIceEnum
843+ SealevelchangeGUsubelIceEnum
844+ SealevelchangeGEsubelIceEnum
845+ SealevelchangeGNsubelIceEnum
846+ SealevelchangeGsubelHydroEnum
847+ SealevelchangeGUsubelHydroEnum
848+ SealevelchangeGEsubelHydroEnum
849+ SealevelchangeGNsubelHydroEnum
850+ SealevelchangeViscousRSLEnum
851+ SealevelchangeViscousUEnum
852+ SealevelchangeViscousNEnum
853+ SealevelchangeViscousEEnum
854+ SedimentHeadEnum
855+ SedimentHeadOldEnum
856+ SedimentHeadSubstepEnum
857+ SedimentHeadTransientEnum
858+ SedimentHeadResidualEnum
859+ SedimentHeadStackedEnum
860+ SigmaNNEnum
861+ SigmaVMEnum
862+ SmbAccumulatedECEnum
863+ SmbAccumulatedMassBalanceEnum
864+ SmbAccumulatedMeltEnum
865+ SmbAccumulatedPrecipitationEnum
866+ SmbAccumulatedRainEnum
867+ SmbAccumulatedRefreezeEnum
868+ SmbAccumulatedRunoffEnum
869+ SmbAEnum
870+ SmbAdiffEnum
871+ SmbAValueEnum
872+ SmbAccumulationEnum
873+ SmbAdiffiniEnum
874+ SmbAiniEnum
875+ SmbBasinsIdEnum
876+ SmbBMaxEnum
877+ SmbBMinEnum
878+ SmbBNegEnum
879+ SmbBPosEnum
880+ SmbCEnum
881+ SmbCcsnowValueEnum
882+ SmbCciceValueEnum
883+ SmbCotValueEnum
884+ SmbDEnum
885+ SmbDailyairdensityEnum
886+ SmbDailyairhumidityEnum
887+ SmbDailydlradiationEnum
888+ SmbDailydsradiationEnum
889+ SmbDailypressureEnum
890+ SmbDailyrainfallEnum
891+ SmbDailysnowfallEnum
892+ SmbDailytemperatureEnum
893+ SmbDailywindspeedEnum
894+ SmbDiniEnum
895+ SmbDlwrfEnum
896+ SmbDswrfEnum
897+ SmbDswdiffrfEnum
898+ SmbDzAddEnum
899+ SmbDzEnum
900+ SmbDzMinEnum
901+ SmbDzTopEnum
902+ SmbDziniEnum
903+ SmbEAirEnum
904+ SmbECEnum
905+ SmbECDtEnum
906+ SmbECiniEnum
907+ SmbElaEnum
908+ SmbEvaporationEnum
909+ SmbFACEnum
910+ SmbGdnEnum
911+ SmbGdniniEnum
912+ SmbGspEnum
913+ SmbGspiniEnum
914+ SmbHrefEnum
915+ SmbIsInitializedEnum
916+ SmbMAddEnum
917+ SmbMassBalanceEnum
918+ SmbMassBalanceSubstepEnum
919+ SmbMassBalanceTransientEnum
920+ SmbMeanLHFEnum
921+ SmbMeanSHFEnum
922+ SmbMeanULWEnum
923+ SmbMeltEnum
924+ SmbMInitnum
925+ SmbMonthlytemperaturesEnum
926+ SmbMSurfEnum
927+ SmbNetLWEnum
928+ SmbNetSWEnum
929+ SmbPAirEnum
930+ SmbPEnum
931+ SmbPddfacIceEnum
932+ SmbPddfacSnowEnum
933+ SmbPrecipitationEnum
934+ SmbPrecipitationsAnomalyEnum
935+ SmbPrecipitationsLgmEnum
936+ SmbPrecipitationsPresentdayEnum
937+ SmbPrecipitationsReconstructedEnum
938+ SmbRainEnum
939+ SmbReEnum
940+ SmbRefreezeEnum
941+ SmbReiniEnum
942+ SmbRunoffEnum
943+ SmbRunoffSubstepEnum
944+ SmbRunoffTransientEnum
945+ SmbS0gcmEnum
946+ SmbS0pEnum
947+ SmbS0tEnum
948+ SmbSizeiniEnum
949+ SmbSmbCorrEnum
950+ SmbSmbrefEnum
951+ SmbSzaValueEnum
952+ SmbTEnum
953+ SmbTaEnum
954+ SmbTeValueEnum
955+ SmbTemperaturesAnomalyEnum
956+ SmbTemperaturesLgmEnum
957+ SmbTemperaturesPresentdayEnum
958+ SmbTemperaturesReconstructedEnum
959+ SmbTiniEnum
960+ SmbTmeanEnum
961+ SmbTzEnum
962+ SmbValuesAutoregressionEnum
963+ SmbVEnum
964+ SmbVmeanEnum
965+ SmbVzEnum
966+ SmbWEnum
967+ SmbWAddEnum
968+ SmbWiniEnum
969+ SmbZMaxEnum
970+ SmbZMinEnum
971+ SmbZTopEnum
972+ SmbZYEnum
973+ SolidearthExternalDisplacementEastRateEnum
974+ SolidearthExternalDisplacementNorthRateEnum
975+ SolidearthExternalDisplacementUpRateEnum
976+ SolidearthExternalGeoidRateEnum
977+ StrainRateeffectiveEnum
978+ StrainRateparallelEnum
979+ StrainRateperpendicularEnum
980+ StrainRatexxEnum
981+ StrainRatexyEnum
982+ StrainRatexzEnum
983+ StrainRateyyEnum
984+ StrainRateyzEnum
985+ StrainRatezzEnum
986+ StressMaxPrincipalEnum
987+ StressTensorxxEnum
988+ StressTensorxyEnum
989+ StressTensorxzEnum
990+ StressTensoryyEnum
991+ StressTensoryzEnum
992+ StressTensorzzEnum
993+ SurfaceAbsMisfitEnum
994+ SurfaceAbsVelMisfitEnum
995+ AreaEnum
996+ SealevelAreaEnum
997+ SurfaceAreaEnum
998+ SurfaceAverageVelMisfitEnum
999+ SurfaceCrevasseEnum
1000+ SurfaceEnum
1001+ SurfaceOldEnum
1002+ SurfaceLogVelMisfitEnum
1003+ SurfaceLogVxVyMisfitEnum
1004+ SurfaceObservationEnum
1005+ SurfaceRelVelMisfitEnum
1006+ SurfaceSlopeXEnum
1007+ SurfaceSlopeYEnum
1008+ TemperatureEnum
1009+ TemperaturePDDEnum
1010+ TemperaturePicardEnum
1011+ TemperatureSEMICEnum
1012+ ThermalSpctemperatureEnum
1013+ ThicknessAbsGradientEnum
1014+ ThicknessAbsMisfitEnum
1015+ ThicknessAcrossGradientEnum
1016+ ThicknessAlongGradientEnum
1017+ ThicknessEnum
1018+ ThicknessOldEnum
1019+ ThicknessPositiveEnum
1020+ ThicknessResidualEnum
1021+ TransientAccumulatedDeltaIceThicknessEnum
1022+ VelEnum
1023+ VxAverageEnum
1024+ VxBaseEnum
1025+ VxEnum
1026+ VxMeshEnum
1027+ VxObsEnum
1028+ VxShearEnum
1029+ VxSurfaceEnum
1030+ VyAverageEnum
1031+ VyBaseEnum
1032+ VyEnum
1033+ VyMeshEnum
1034+ VyObsEnum
1035+ VyShearEnum
1036+ VySurfaceEnum
1037+ VzEnum
1038+ VzFSEnum
1039+ VzHOEnum
1040+ VzMeshEnum
1041+ VzSSAEnum
1042+ WaterColumnOldEnum
1043+ WatercolumnEnum
1044+ WaterfractionDrainageEnum
1045+ WaterfractionDrainageIntegratedEnum
1046+ WaterfractionEnum
1047+ WaterheightEnum
1048+ WeightsLevelsetObservationEnum
1049+ WeightsSurfaceObservationEnum
1050+ OldAccumulatedDeltaBottomPressureEnum
1051+ OldAccumulatedDeltaIceThicknessEnum
1052+ OldAccumulatedDeltaTwsEnum
1053+ Outputdefinition1Enum
1054+ Outputdefinition10Enum
1055+ Outputdefinition11Enum
1056+ Outputdefinition12Enum
1057+ Outputdefinition13Enum
1058+ Outputdefinition14Enum
1059+ Outputdefinition15Enum
1060+ Outputdefinition16Enum
1061+ Outputdefinition17Enum
1062+ Outputdefinition18Enum
1063+ Outputdefinition19Enum
1064+ Outputdefinition20Enum
1065+ Outputdefinition21Enum
1066+ Outputdefinition22Enum
1067+ Outputdefinition23Enum
1068+ Outputdefinition24Enum
1069+ Outputdefinition25Enum
1070+ Outputdefinition26Enum
1071+ Outputdefinition27Enum
1072+ Outputdefinition28Enum
1073+ Outputdefinition29Enum
1074+ Outputdefinition2Enum
1075+ Outputdefinition30Enum
1076+ Outputdefinition31Enum
1077+ Outputdefinition32Enum
1078+ Outputdefinition33Enum
1079+ Outputdefinition34Enum
1080+ Outputdefinition35Enum
1081+ Outputdefinition36Enum
1082+ Outputdefinition37Enum
1083+ Outputdefinition38Enum
1084+ Outputdefinition39Enum
1085+ Outputdefinition3Enum
1086+ Outputdefinition40Enum
1087+ Outputdefinition41Enum
1088+ Outputdefinition42Enum
1089+ Outputdefinition43Enum
1090+ Outputdefinition44Enum
1091+ Outputdefinition45Enum
1092+ Outputdefinition46Enum
1093+ Outputdefinition47Enum
1094+ Outputdefinition48Enum
1095+ Outputdefinition49Enum
1096+ Outputdefinition4Enum
1097+ Outputdefinition50Enum
1098+ Outputdefinition51Enum
1099+ Outputdefinition52Enum
1100+ Outputdefinition53Enum
1101+ Outputdefinition54Enum
1102+ Outputdefinition55Enum
1103+ Outputdefinition56Enum
1104+ Outputdefinition57Enum
1105+ Outputdefinition58Enum
1106+ Outputdefinition59Enum
1107+ Outputdefinition5Enum
1108+ Outputdefinition60Enum
1109+ Outputdefinition61Enum
1110+ Outputdefinition62Enum
1111+ Outputdefinition63Enum
1112+ Outputdefinition64Enum
1113+ Outputdefinition65Enum
1114+ Outputdefinition66Enum
1115+ Outputdefinition67Enum
1116+ Outputdefinition68Enum
1117+ Outputdefinition69Enum
1118+ Outputdefinition6Enum
1119+ Outputdefinition70Enum
1120+ Outputdefinition71Enum
1121+ Outputdefinition72Enum
1122+ Outputdefinition73Enum
1123+ Outputdefinition74Enum
1124+ Outputdefinition75Enum
1125+ Outputdefinition76Enum
1126+ Outputdefinition77Enum
1127+ Outputdefinition78Enum
1128+ Outputdefinition79Enum
1129+ Outputdefinition7Enum
1130+ Outputdefinition80Enum
1131+ Outputdefinition81Enum
1132+ Outputdefinition82Enum
1133+ Outputdefinition83Enum
1134+ Outputdefinition84Enum
1135+ Outputdefinition85Enum
1136+ Outputdefinition86Enum
1137+ Outputdefinition87Enum
1138+ Outputdefinition88Enum
1139+ Outputdefinition89Enum
1140+ Outputdefinition8Enum
1141+ Outputdefinition90Enum
1142+ Outputdefinition91Enum
1143+ Outputdefinition92Enum
1144+ Outputdefinition93Enum
1145+ Outputdefinition94Enum
1146+ Outputdefinition95Enum
1147+ Outputdefinition96Enum
1148+ Outputdefinition97Enum
1149+ Outputdefinition98Enum
1150+ Outputdefinition99Enum
1151+ Outputdefinition9Enum
1152+ Outputdefinition100Enum
1153+ #}}}
1154+ InputsENDEnum
1155+ #Other{{{
1156+ AbsoluteEnum
1157+ AdaptiveTimesteppingEnum
1158+ AdjointBalancethickness2AnalysisEnum
1159+ AdjointBalancethicknessAnalysisEnum
1160+ AdjointHorizAnalysisEnum
1161+ AggressiveMigrationEnum
1162+ AmrBamgEnum
1163+ AmrNeopzEnum
1164+ AndroidFrictionCoefficientEnum
1165+ ArrheniusEnum
1166+ AutodiffJacobianEnum
1167+ Balancethickness2AnalysisEnum
1168+ Balancethickness2SolutionEnum
1169+ BalancethicknessAnalysisEnum
1170+ BalancethicknessApparentMassbalanceEnum
1171+ BalancethicknessSoftAnalysisEnum
1172+ BalancethicknessSoftSolutionEnum
1173+ BalancethicknessSolutionEnum
1174+ BalancevelocityAnalysisEnum
1175+ BalancevelocitySolutionEnum
1176+ BasalforcingsIsmip6Enum
1177+ BasalforcingsPicoEnum
1178+ BeckmannGoosseFloatingMeltRateEnum
1179+ BedSlopeSolutionEnum
1180+ BoolExternalResultEnum
1181+ BoolInputEnum
1182+ IntInputEnum
1183+ DoubleInputEnum
1184+ BoolParamEnum
1185+ BoundaryEnum
1186+ BuddJackaEnum
1187+ CalvingDev2Enum
1188+ CalvingHabEnum
1189+ CalvingLevermannEnum
1190+ CalvingVonmisesEnum
1191+ CfdragcoeffabsgradEnum
1192+ CfsurfacelogvelEnum
1193+ CfsurfacesquareEnum
1194+ CflevelsetmisfitEnum
1195+ ChannelEnum
1196+ ChannelAreaEnum
1197+ ChannelAreaOldEnum
1198+ ChannelDischargeEnum
1199+ ClosedEnum
1200+ ColinearEnum
1201+ ConstraintsEnum
1202+ ContactEnum
1203+ ContourEnum
1204+ ContoursEnum
1205+ ControlInputEnum
1206+ ControlInputGradEnum
1207+ ControlInputMaxsEnum
1208+ ControlInputMinsEnum
1209+ ControlInputValuesEnum
1210+ CrouzeixRaviartEnum
1211+ CuffeyEnum
1212+ CuffeyTemperateEnum
1213+ DamageEvolutionAnalysisEnum
1214+ DamageEvolutionSolutionEnum
1215+ DataSetEnum
1216+ DataSetParamEnum
1217+ DatasetInputEnum
1218+ DefaultAnalysisEnum
1219+ DefaultCalvingEnum
1220+ DenseEnum
1221+ DependentObjectEnum
1222+ DepthAverageAnalysisEnum
1223+ DeviatoricStressErrorEstimatorEnum
1224+ DivergenceEnum
1225+ Domain3DsurfaceEnum
1226+ DoubleArrayInputEnum
1227+ ArrayInputEnum
1228+ DoubleExternalResultEnum
1229+ DoubleMatArrayParamEnum
1230+ DoubleMatExternalResultEnum
1231+ DoubleMatParamEnum
1232+ DoubleParamEnum
1233+ DoubleVecParamEnum
1234+ ElementEnum
1235+ ElementHookEnum
1236+ ElementSIdEnum
1237+ EnthalpyAnalysisEnum
1238+ EsaAnalysisEnum
1239+ EsaSolutionEnum
1240+ EsaTransitionsEnum
1241+ ExternalResultEnum
1242+ ExtrapolationAnalysisEnum
1243+ ExtrudeFromBaseAnalysisEnum
1244+ ExtrudeFromTopAnalysisEnum
1245+ FSApproximationEnum
1246+ FSSolverEnum
1247+ FSpressureEnum
1248+ FSvelocityEnum
1249+ FemModelEnum
1250+ FileParamEnum
1251+ FixedTimesteppingEnum
1252+ FloatingAreaEnum
1253+ FloatingAreaScaledEnum
1254+ FloatingMeltRateEnum
1255+ FreeEnum
1256+ FreeSurfaceBaseAnalysisEnum
1257+ FreeSurfaceTopAnalysisEnum
1258+ FrontalForcingsDefaultEnum
1259+ FrontalForcingsRignotEnum
1260+ FsetEnum
1261+ FullMeltOnPartiallyFloatingEnum
1262+ GLheightadvectionAnalysisEnum
1263+ GaussPentaEnum
1264+ GaussSegEnum
1265+ GaussTetraEnum
1266+ GaussTriaEnum
1267+ GenericOptionEnum
1268+ GenericParamEnum
1269+ GenericExternalResultEnum
1270+ Gradient1Enum
1271+ Gradient2Enum
1272+ Gradient3Enum
1273+ Gradient4Enum
1274+ GroundedAreaEnum
1275+ GroundedAreaScaledEnum
1276+ GroundingOnlyEnum
1277+ GroundinglineMassFluxEnum
1278+ GsetEnum
1279+ GslEnum
1280+ HOApproximationEnum
1281+ HOFSApproximationEnum
1282+ HookEnum
1283+ HydrologyDCEfficientAnalysisEnum
1284+ HydrologyDCInefficientAnalysisEnum
1285+ HydrologyGlaDSAnalysisEnum
1286+ HydrologyGlaDSEnum
1287+ HydrologyPismAnalysisEnum
1288+ HydrologyShaktiAnalysisEnum
1289+ HydrologyShreveAnalysisEnum
1290+ HydrologySolutionEnum
1291+ HydrologydcEnum
1292+ HydrologypismEnum
1293+ HydrologyshaktiEnum
1294+ HydrologyshreveEnum
1295+ IceMassEnum
1296+ IceMassScaledEnum
1297+ IceVolumeAboveFloatationEnum
1298+ IceVolumeAboveFloatationScaledEnum
1299+ IceVolumeEnum
1300+ IceVolumeScaledEnum
1301+ IcefrontMassFluxEnum
1302+ IcefrontMassFluxLevelsetEnum
1303+ IncrementalEnum
1304+ IndexedEnum
1305+ IntExternalResultEnum
1306+ ElementInputEnum
1307+ IntMatExternalResultEnum
1308+ IntMatParamEnum
1309+ IntParamEnum
1310+ IntVecParamEnum
1311+ InputsEnum
1312+ InternalEnum
1313+ IntersectEnum
1314+ InversionVzObsEnum
1315+ JEnum
1316+ L1L2ApproximationEnum
1317+ MLHOApproximationEnum
1318+ L2ProjectionBaseAnalysisEnum
1319+ L2ProjectionEPLAnalysisEnum
1320+ LACrouzeixRaviartEnum
1321+ LATaylorHoodEnum
1322+ LambdaSEnum
1323+ LevelsetAnalysisEnum
1324+ LevelsetfunctionPicardEnum
1325+ LinearFloatingMeltRateEnum
1326+ LliboutryDuvalEnum
1327+ LoadsEnum
1328+ LoveAnalysisEnum
1329+ LoveHiEnum
1330+ LoveHrEnum
1331+ LoveKernelsImagEnum
1332+ LoveKernelsRealEnum
1333+ LoveKiEnum
1334+ LoveKrEnum
1335+ LoveLiEnum
1336+ LoveLrEnum
1337+ LoveSolutionEnum
1338+ MINIEnum
1339+ MINIcondensedEnum
1340+ MantlePlumeGeothermalFluxEnum
1341+ MassFluxEnum
1342+ MassconEnum
1343+ MassconaxpbyEnum
1344+ MassfluxatgateEnum
1345+ MasstransportAnalysisEnum
1346+ MasstransportSolutionEnum
1347+ MatdamageiceEnum
1348+ MatenhancediceEnum
1349+ MaterialsEnum
1350+ MatestarEnum
1351+ MaticeEnum
1352+ MatlithoEnum
1353+ MathydroEnum
1354+ MatrixParamEnum
1355+ MaxAbsVxEnum
1356+ MaxAbsVyEnum
1357+ MaxAbsVzEnum
1358+ MaxDivergenceEnum
1359+ MaxVelEnum
1360+ MaxVxEnum
1361+ MaxVyEnum
1362+ MaxVzEnum
1363+ MelangeEnum
1364+ MeltingAnalysisEnum
1365+ MeshElementsEnum
1366+ MeshXEnum
1367+ MeshYEnum
1368+ MinVelEnum
1369+ MinVxEnum
1370+ MinVyEnum
1371+ MinVzEnum
1372+ MismipFloatingMeltRateEnum
1373+ MoulinEnum
1374+ MpiDenseEnum
1375+ MpiEnum
1376+ MpiSparseEnum
1377+ MumpsEnum
1378+ NoFrictionOnPartiallyFloatingEnum
1379+ NoMeltOnPartiallyFloatingEnum
1380+ NodalEnum
1381+ NodalvalueEnum
1382+ NodeSIdEnum
1383+ NoneApproximationEnum
1384+ NoneEnum
1385+ NumberedcostfunctionEnum
1386+ NyeCO2Enum
1387+ NyeH2OEnum
1388+ NumericalfluxEnum
1389+ OceantransportAnalysisEnum
1390+ OceantransportSolutionEnum
1391+ OldGradientEnum
1392+ OneLayerP4zEnum
1393+ OpenEnum
1394+ OptionEnum
1395+ ParamEnum
1396+ ParametersEnum
1397+ P0ArrayEnum
1398+ P0DGEnum
1399+ P1DGEnum
1400+ P1P1Enum
1401+ P1P1GLSEnum
1402+ P1bubbleEnum
1403+ P1bubblecondensedEnum
1404+ P1xP2Enum
1405+ P1xP3Enum
1406+ P1xP4Enum
1407+ P2Enum
1408+ P2bubbleEnum
1409+ P2bubblecondensedEnum
1410+ P2xP1Enum
1411+ P2xP4Enum
1412+ PatersonEnum
1413+ PengridEnum
1414+ PenpairEnum
1415+ PentaEnum
1416+ PentaInputEnum
1417+ ProfilerEnum
1418+ ProfilingCurrentFlopsEnum
1419+ ProfilingCurrentMemEnum
1420+ ProfilingSolutionTimeEnum
1421+ RegionaloutputEnum
1422+ RegularEnum
1423+ RecoveryAnalysisEnum
1424+ RiftfrontEnum
1425+ SamplingAnalysisEnum
1426+ SamplingSolutionEnum
1427+ SIAApproximationEnum
1428+ SMBautoregressionEnum
1429+ SMBcomponentsEnum
1430+ SMBd18opddEnum
1431+ SMBforcingEnum
1432+ SMBgcmEnum
1433+ SMBgembEnum
1434+ SMBgradientsEnum
1435+ SMBgradientscomponentsEnum
1436+ SMBgradientselaEnum
1437+ SMBhenningEnum
1438+ SMBmeltcomponentsEnum
1439+ SMBpddEnum
1440+ SMBpddSicopolisEnum
1441+ SMBsemicEnum
1442+ SSAApproximationEnum
1443+ SSAFSApproximationEnum
1444+ SSAHOApproximationEnum
1445+ ScaledEnum
1446+ SealevelAbsoluteEnum
1447+ SealevelEmotionEnum
1448+ SealevelInertiaTensorXZEnum
1449+ SealevelInertiaTensorYZEnum
1450+ SealevelInertiaTensorZZEnum
1451+ SealevelchangePolarMotionEnum
1452+ SealevelNmotionEnum
1453+ SealevelUmotionEnum
1454+ SealevelchangeAnalysisEnum
1455+ SegEnum
1456+ SegInputEnum
1457+ SegmentEnum
1458+ SegmentRiftfrontEnum
1459+ SeparateEnum
1460+ SeqEnum
1461+ SmbAnalysisEnum
1462+ SmbSolutionEnum
1463+ SmoothAnalysisEnum
1464+ SoftMigrationEnum
1465+ SpatialLinearFloatingMeltRateEnum
1466+ SpcDynamicEnum
1467+ SpcStaticEnum
1468+ SpcTransientEnum
1469+ SsetEnum
1470+ StatisticsSolutionEnum
1471+ SteadystateSolutionEnum
1472+ StressIntensityFactorEnum
1473+ StressbalanceAnalysisEnum
1474+ StressbalanceConvergenceNumStepsEnum
1475+ StressbalanceSIAAnalysisEnum
1476+ StressbalanceSolutionEnum
1477+ StressbalanceVerticalAnalysisEnum
1478+ StringArrayParamEnum
1479+ StringExternalResultEnum
1480+ StringParamEnum
1481+ SubelementFriction1Enum
1482+ SubelementFriction2Enum
1483+ SubelementMelt1Enum
1484+ SubelementMelt2Enum
1485+ SubelementMigrationEnum
1486+ SurfaceSlopeSolutionEnum
1487+ TaylorHoodEnum
1488+ TetraEnum
1489+ TetraInputEnum
1490+ ThermalAnalysisEnum
1491+ ThermalSolutionEnum
1492+ ThicknessErrorEstimatorEnum
1493+ TotalCalvingFluxLevelsetEnum
1494+ TotalCalvingMeltingFluxLevelsetEnum
1495+ TotalFloatingBmbEnum
1496+ TotalFloatingBmbScaledEnum
1497+ TotalGroundedBmbEnum
1498+ TotalGroundedBmbScaledEnum
1499+ TotalSmbEnum
1500+ TotalSmbScaledEnum
1501+ TransientArrayParamEnum
1502+ TransientInputEnum
1503+ TransientParamEnum
1504+ TransientSolutionEnum
1505+ TriaEnum
1506+ TriaInputEnum
1507+ UzawaPressureAnalysisEnum
1508+ VectorParamEnum
1509+ VertexEnum
1510+ VertexLIdEnum
1511+ VertexPIdEnum
1512+ VertexSIdEnum
1513+ VerticesEnum
1514+ ViscousHeatingEnum
1515+ WaterEnum
1516+ XTaylorHoodEnum
1517+ XYEnum
1518+ XYZEnum
1519+ #}}}
1520+ MaximumNumberOfDefinitionsEnum
1521+end
1522+
1523+function EnumToString(enum::IssmEnum)
1524+
1525+ #Make dictionnary from enums
1526+ inst = instances(IssmEnum)
1527+ syms = Symbol.(inst)
1528+ enumdic = Dict(zip(inst, syms))
1529+
1530+ return enumdic[enum]
1531+end
1532+
1533+function EnumToString(enum::Int64)
1534+ return EnumToString(IssmEnum(enum))
1535+end
1536+
1537+function StringToEnum(string::String)
1538+
1539+ #Make dictionnary from enums
1540+ inst = instances(IssmEnum)
1541+ syms = Symbol.(inst)
1542+ enumdic = Dict(zip(syms, inst))
1543+
1544+ return enumdic[Symbol(string)]
1545+end
1546+
1547+function StringToEnumInt(string::String)
1548+ return Integer(StringToEnum(string))
1549+end
1550Index: ../trunk-jpl/src/jl/parameterization.jl
1551===================================================================
1552--- ../trunk-jpl/src/jl/parameterization.jl (nonexistent)
1553+++ ../trunk-jpl/src/jl/parameterization.jl (revision 26500)
1554@@ -0,0 +1,55 @@
1555+include("issm.jl")
1556+include("exp.jl")
1557+
1558+# setmask {{{
1559+"""
1560+SETMASK - establish boundaries between grounded and floating ice.
1561+
1562+ By default, ice is considered grounded. The contour floatingicename defines nodes
1563+ for which ice is floating. The contour groundedicename defines nodes inside an floatingice,
1564+ that are grounded (ie: ice rises, islands, etc ...)
1565+ All input files are in the Argus format (extension .exp).
1566+
1567+ Usage:
1568+ md=setmask(md,floatingicename,groundedicename)
1569+
1570+ Examples:
1571+ md=setmask(md,'all','');
1572+ md=setmask(md,'Iceshelves.exp','Islands.exp');
1573+"""
1574+function setmask(md::model,floatingicename::String,groundedicename::String)
1575+
1576+ elementonfloatingice = FlagElements( md, floatingicename);
1577+ elementongroundedice = FlagElements( md, groundedicename);
1578+
1579+ elementonfloatingice = convert( Array{Float64}, (elementonfloatingice.>0) .& (elementongroundedice.==0.))
1580+ elementongroundedice = convert( Array{Float64}, elementonfloatingice.==0.)
1581+
1582+ vertexonfloatingice=zeros(md.mesh.numberofvertices)
1583+ vertexongroundedice=zeros(md.mesh.numberofvertices)
1584+
1585+ vertexongroundedice[md.mesh.elements[findall(elementongroundedice.>0),:]] .= 1.
1586+ vertexonfloatingice[findall(vertexongroundedice.==0.)] .= 1.
1587+
1588+ #define levelsets
1589+ md.mask.ocean_levelset = vertexongroundedice
1590+ md.mask.ocean_levelset[findall(vertexongroundedice .==0.)] .= -1.
1591+ md.mask.ice_levelset = -1*ones(md.mesh.numberofvertices)
1592+
1593+ return md
1594+end
1595+#}}}
1596+# FlagElements {{{
1597+function FlagElements(md::model,region::String)
1598+
1599+ if isempty(region)
1600+ flags = zeros(md.mesh.numberofelements)
1601+ elseif region == "all"
1602+ flags = ones(md.mesh.numberofelements)
1603+ else
1604+ flags = InContour(md.mesh.x,md.mesh.y,region);
1605+ end
1606+
1607+ return flags
1608+end
1609+#}}}
1610Index: ../trunk-jpl/src/jl/test101.jl
1611===================================================================
1612--- ../trunk-jpl/src/jl/test101.jl (nonexistent)
1613+++ ../trunk-jpl/src/jl/test101.jl (revision 26500)
1614@@ -0,0 +1,38 @@
1615+#!/Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
1616+include("triangle.jl")
1617+include("parameterization.jl")
1618+include("solve.jl")
1619+
1620+md = model()
1621+md = triangle(md,"../../test/Exp/Square.exp",180000.)
1622+md = setmask(md,"all","")
1623+
1624+#Geometry
1625+hmin=300.
1626+hmax=1000.
1627+ymin=minimum(md.mesh.y)
1628+ymax=maximum(md.mesh.y)
1629+xmin=minimum(md.mesh.x)
1630+xmax=maximum(md.mesh.x)
1631+md.geometry.thickness = hmax .+ (hmin-hmax)*(md.mesh.y .- ymin)./(ymax-ymin) .+ 0.1*(hmin-hmax)*(md.mesh.x .- xmin)./(xmax-xmin)
1632+md.geometry.base = -md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
1633+md.geometry.surface = md.geometry.base+md.geometry.thickness
1634+md.geometry.bed = md.geometry.base .-10
1635+
1636+#Initial velocity
1637+x = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","x")
1638+y = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","y")
1639+vx = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","vx")
1640+vy = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","vy")
1641+index = archread(issmdir()*"/test/Data/SquareShelfConstrained.arch","index")
1642+md.initialization.vx=zeros(md.mesh.numberofvertices)#InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y)
1643+md.initialization.vy=zeros(md.mesh.numberofvertices)#InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y)
1644+
1645+md.materials.rheology_B=1.815730284801701e+08*ones(md.mesh.numberofvertices)
1646+md.materials.rheology_n=3*ones(md.mesh.numberofelements)
1647+
1648+md.stressbalance.restol=0.05
1649+md.stressbalance.reltol=0.05
1650+md.stressbalance.abstol=NaN
1651+
1652+md=solve(md,"Stressbalance")
1653
1654Property changes on: ../trunk-jpl/src/jl/test101.jl
1655___________________________________________________________________
1656Added: svn:executable
1657## -0,0 +1 ##
1658+*
1659\ No newline at end of property
1660Index: ../trunk-jpl/src/jl/triangle.jl
1661===================================================================
1662--- ../trunk-jpl/src/jl/triangle.jl (revision 26499)
1663+++ ../trunk-jpl/src/jl/triangle.jl (revision 26500)
1664@@ -153,11 +153,10 @@
1665
1666 #Call triangle using ISSM's default options
1667 triangle_switches = "pQzDq30ia"*@sprintf("%lf",area) #replace V by Q to quiet down the logging
1668- #rc=ccall( (:triangulate,"../../externalpackages/triangle/src/libtriangle.dylib"),
1669- rc=ccall( (:triangulate,"libtriangle"),
1670+ #rc=ccall( (:triangulate,"libtriangle"),
1671+ rc=ccall( (:triangulate,"../../externalpackages/triangle/src/libtriangle.dylib"),
1672 Cint, ( Cstring, Ref{CTriangulateIO}, Ref{CTriangulateIO}, Ref{CTriangulateIO}),
1673 triangle_switches, Ref(ctio_in), Ref(ctio_out), Ref(vor_out))
1674- println("number of elements: ",ctio_out.numberoftriangles)
1675
1676 #post process output
1677 points = convert(Array{Cdouble,2}, Base.unsafe_wrap(Array, ctio_out.pointlist, (2,Int(ctio_out.numberofpoints)), own=true))'
1678Index: ../trunk-jpl/src/jl/issm.jl
1679===================================================================
1680--- ../trunk-jpl/src/jl/issm.jl (revision 26499)
1681+++ ../trunk-jpl/src/jl/issm.jl (revision 26500)
1682@@ -60,6 +60,17 @@
1683 function Initialization() #{{{
1684 return Initialization( Vector{Float64}(undef,0), Vector{Float64}(undef,0))
1685 end# }}}
1686+mutable struct Stressbalance
1687+ spcvx::Vector{Float64}
1688+ spcvy::Vector{Float64}
1689+ restol::Float64
1690+ reltol::Float64
1691+ abstol::Float64
1692+ maxiter::Int32
1693+end
1694+function Stressbalance() #{{{
1695+ return Stressbalance( Vector{Float64}(undef,0), Vector{Float64}(undef,0), 0., 0., 0., 0)
1696+end# }}}
1697 mutable struct Materials
1698 rho_ice::Float64
1699 rho_water::Float64
1700@@ -88,9 +99,10 @@
1701 mask::Mask
1702 materials::Materials
1703 initialization::Initialization
1704+ stressbalance::Stressbalance
1705 end
1706 function model() #{{{
1707- return model( Mesh2dTriangle(), Geometry(), Mask(), Materials(), Initialization())
1708+ return model( Mesh2dTriangle(), Geometry(), Mask(), Materials(), Initialization(),Stressbalance())
1709 end#}}}
1710 function Base.show(io::IO, md::model)# {{{
1711
1712@@ -102,6 +114,7 @@
1713 @printf "%19s: %-22s -- %s\n" "mask" typeof(md.mask) "defines grounded and floating regions"
1714 @printf "%19s: %-22s -- %s\n" "materials" typeof(md.materials) "material properties"
1715 @printf "%19s: %-22s -- %s\n" "initialization" typeof(md.initialization) "initial state"
1716+ @printf "%19s: %-22s -- %s\n" "stressbalance" typeof(md.stressbalance) "stress balance parameters"
1717
1718 end# }}}
1719
1720@@ -142,6 +155,10 @@
1721 data = reinterpret(Float64, read(f, sizeof(Float64)*rows*cols))
1722 data .= ntoh.(data)
1723 data = reshape(data, (rows,cols))
1724+ data = collect(data)
1725+ if cols == 1
1726+ data = vec(data)
1727+ end
1728 else
1729 error("Error: Encountered invalid field type when reading data.")
1730 end
1731@@ -155,3 +172,57 @@
1732
1733 return output
1734 end# }}}
1735+function InterpFromMeshToMesh2d(index::Array,x::Vector,y::Vector,data::Vector,xout::Vector,yout::Vector) #{{{
1736+ #prepare input arrays
1737+ nods = Cint(length(x))
1738+ nels = Cint(size(index,1))
1739+ nods_interp = Cint(length(xout))
1740+ Cindex=Array{Cint,1}(undef,length(index))
1741+ for i in 1:size(index,1)
1742+ for j in 1:3
1743+ Cindex[(i-1)*3+j] = Int32(index[i,j])
1744+ end
1745+ end
1746+ Cx = Array{Cdouble,1}(undef,nods)
1747+ Cy = Array{Cdouble,1}(undef,nods)
1748+ Cdata = Array{Cdouble,1}(undef,nods)
1749+ for i in 1:nods
1750+ Cx[i] = x[i]
1751+ Cy[i] = y[i]
1752+ Cdata[i] = data[i]
1753+ end
1754+ Cxout = Array{Cdouble,1}(undef,nods_interp)
1755+ Cyout = Array{Cdouble,1}(undef,nods_interp)
1756+ for i in 1:nods_interp
1757+ Cxout[i] = xout[i]
1758+ Cyout[i] = yout[i]
1759+ end
1760+
1761+ Cdataout = Vector{Float64}(undef,nods_interp)
1762+
1763+ #This is not working....
1764+ rc=ccall( (:InterpFromMeshToMesh2dx,"libISSMCore"),
1765+ Cint, (Ptr{Ptr{Cdouble}},Ptr{Cint}, Ptr{Cdouble}, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}, Cint, Cint, Ptr{Cdouble}, Ptr{Cdouble}, Cint),
1766+ Ref(Ref(Cdataout)), Ref(Cindex), Ref(Cx), Ref(Cy), nods, nels,
1767+ Ref(Cdata), nods, 1, Ref(Cxout), Ref(Cyout), nods_interp)
1768+
1769+ #Process output
1770+ dataout = Vector{Float64}(undef,nods_interp)
1771+ for i in 1:nods_interp
1772+ dataout[i] = Cdataout[i]
1773+ end
1774+
1775+ return dataout
1776+end #}}}
1777+function solve(md::model,solution::String) #{{{
1778+
1779+ if solution=="sb" || solution=="Stressbalance"
1780+ solutionstring = "StressbalanceSolution"
1781+ else
1782+ error("solutionstring "*solution*" not supported!");
1783+ end
1784+
1785+ IssmCore(md)
1786+
1787+ return md
1788+end #}}}
1789Index: ../trunk-jpl/src/jl/solve.jl
1790===================================================================
1791--- ../trunk-jpl/src/jl/solve.jl (nonexistent)
1792+++ ../trunk-jpl/src/jl/solve.jl (revision 26500)
1793@@ -0,0 +1,277 @@
1794+include("issm.jl")
1795+include("issmenums.jl")
1796+
1797+#define classes first
1798+abstract type Parameter end
1799+struct DoubleParam <: Parameter #{{{
1800+ enum::IssmEnum
1801+ value::Float64
1802+end# }}}
1803+struct IntParam <: Parameter #{{{
1804+ enum::IssmEnum
1805+ value::Int64
1806+end# }}}
1807+mutable struct Parameters #{{{
1808+ lookup::Dict{IssmEnum,Parameter}
1809+end# }}}
1810+function AddParam(parameters::Parameters,value::Float64,enum::IssmEnum) #{{{
1811+
1812+ parameters.lookup[enum] = DoubleParam(enum,value)
1813+
1814+end#}}}
1815+function AddParam(parameters::Parameters,value::Int64,enum::IssmEnum) #{{{
1816+
1817+ parameters.lookup[enum] = IntParam(enum,value)
1818+
1819+end#}}}
1820+
1821+abstract type Input end
1822+struct BoolInput <: Input#{{{
1823+ enum::IssmEnum
1824+ values::Matrix{Bool}
1825+end# }}}
1826+struct IntInput <: Input#{{{
1827+ enum::IssmEnum
1828+ values::Matrix{Int32}
1829+end# }}}
1830+struct ElementInput <: Input#{{{
1831+ enum::IssmEnum
1832+ interp::IssmEnum
1833+ values::Vector{Float64}
1834+end# }}}
1835+mutable struct Inputs #{{{
1836+ numberofelements::Int32
1837+ numberofvertices::Int32
1838+ lookup::Dict{IssmEnum,Input}
1839+end# }}}
1840+function SetInput(inputs::Inputs,enum::IssmEnum,index::Int32,value::Bool) #{{{
1841+
1842+ #Does this input exist
1843+ if !haskey(inputs.lookup,enum)
1844+ #it does not exist yet, we need to create it...
1845+ @assert inputs.numberofelements > 0
1846+ input = BoolInput(enum,zeros(Bool,inputs.numberofelements))
1847+ inputs.lookup[enum] = BoolInput(enum,zeros(Bool,inputs.numberofelements))
1848+ end
1849+
1850+ #Get this input and check type
1851+ input = inputs.lookup[enum]
1852+ if typeof(input)!=BoolInput error("not consistent") end
1853+
1854+ #set value
1855+ @assert index>0 && index<=inputs.numberofelements
1856+ input.values[index] = value
1857+end#}}}
1858+function SetTriaInput(inputs::Inputs,enum::IssmEnum,interp::IssmEnum,index::Int32,value::Float64) #{{{
1859+
1860+ #Does this input exist
1861+ if !haskey(inputs.lookup,enum)
1862+ #it does not exist yet, we need to create it...
1863+ @assert inputs.numberofelements > 0
1864+ if interp==P0Enum
1865+ inputs.lookup[enum] = ElementInput(enum,interp,zeros(inputs.numberofelements))
1866+ elseif interp==P1Enum
1867+ inputs.lookup[enum] = ElementInput(enum,interp,zeros(inputs.numberofvertices))
1868+ else
1869+ error("not supported yet")
1870+ end
1871+ end
1872+
1873+ #Get this input and check type
1874+ input = inputs.lookup[enum]
1875+ if typeof(input)!=ElementInput error("input type not consistent") end
1876+ if interp!=input.interp error("input interpolations not consistent") end
1877+
1878+ #set value
1879+ input.values[index] = value
1880+end#}}}
1881+function SetTriaInput(inputs::Inputs,enum::IssmEnum,interp::IssmEnum,indices::Vector{Int32},values::Vector{Float64}) #{{{
1882+
1883+ #Does this input exist
1884+ if !haskey(inputs.lookup,enum)
1885+ #it does not exist yet, we need to create it...
1886+ @assert inputs.numberofvertices>0
1887+ if interp==P1Enum
1888+ inputs.lookup[enum] = ElementInput(enum,interp,zeros(inputs.numberofvertices))
1889+ else
1890+ error("not supported yet")
1891+ end
1892+ end
1893+
1894+ #Get this input and check type
1895+ input = inputs.lookup[enum]
1896+ if typeof(input)!=ElementInput error("input type not consistent") end
1897+ if interp!=input.interp error("input interpolations not consistent") end
1898+
1899+ #set value
1900+ input.values[indices] = values
1901+end#}}}
1902+
1903+mutable struct Node #{{{
1904+ id::Int32
1905+ sid::Int32
1906+ indexingupdate::Bool
1907+ gsize::Int32
1908+ gdoflist::Vector{Int32}
1909+ fdoflist::Vector{Int32}
1910+ sdoflist::Vector{Int32}
1911+ svalues::Vector{Float64}
1912+end# }}}
1913+struct Constraint #{{{
1914+ id::Int32
1915+ nodeid::Int32
1916+ dof::Int8
1917+ value::Float64
1918+end# }}}
1919+mutable struct Vertex#{{{
1920+ sid::Int32
1921+ x::Float64
1922+ y::Float64
1923+end# }}}
1924+mutable struct Tria #{{{
1925+ sid::Int32
1926+ pid::Int32
1927+ #vertexids::Int64[3]
1928+ #vertices::Vertex[3]
1929+ vertexids::Vector{Int32}
1930+ vertices::Vector{Vertex}
1931+ nodes::Vector{Node}
1932+ parameters::Parameters
1933+ inputs::Inputs
1934+end# }}}
1935+mutable struct FemModel #{{{
1936+ elements::Vector{Tria}
1937+ vertices::Vector{Vertex}
1938+ nodes::Vector{Node}
1939+ parameters::Vector{Parameter}
1940+ inputs::Inputs
1941+ constraints::Vector{Constraint}
1942+ #loads::Vector{Loads}
1943+end#}}}
1944+struct GaussTria #{{{
1945+ numgauss::Int32
1946+ weights::Vector{Float64}
1947+ coords1::Vector{Float64}
1948+ coords2::Vector{Float64}
1949+ coords3::Vector{Float64}
1950+end #}}}
1951+function GaussTria(order::Int32) #{{{
1952+
1953+ #=Gauss quadrature points for the triangle.
1954+ Higher-order points from D.A. Dunavant, "High Degree Efficient
1955+ Symmetrical Gaussian Quadrature Rules for the Triangle", IJNME,
1956+ Vol. 21, pp. 1129-1148 (1985), as transcribed for Probe rules3.=#
1957+
1958+ if(order==1)
1959+ npoints = 1
1960+ weights = [1.732050807568877]
1961+ coords1 = [0.333333333333333]
1962+ coords2 = [0.333333333333333]
1963+ coords3 = [0.333333333333333]
1964+ elseif(order==2)
1965+ weights = [0.577350269189625, 0.577350269189625, 0.577350269189625]
1966+ coords1 = [0.666666666666667, 0.166666666666667, 0.166666666666667]
1967+ coords2 = [0.166666666666667, 0.666666666666667, 0.166666666666667]
1968+ coords3 = [0.166666666666667, 0.166666666666667, 0.666666666666667]
1969+ elseif(order==3)
1970+ npoints=4
1971+ weights = [-0.974278579257493, 0.902109795608790, 0.902109795608790, 0.902109795608790]
1972+ coords1 = [0.333333333333333, 0.600000000000000, 0.200000000000000, 0.200000000000000]
1973+ coords2 = [0.333333333333333, 0.200000000000000, 0.600000000000000, 0.200000000000000]
1974+ coords3 = [0.333333333333333, 0.200000000000000, 0.200000000000000, 0.600000000000000]
1975+ else
1976+ error("order ",order," not supported yet");
1977+ end
1978+
1979+ return GaussTria(npoints,weights,coords1,coords2,coords3)
1980+end# }}}
1981+
1982+#Modules
1983+function FetchDataToInput(md::model,inputs::Inputs,elements::Vector{Tria},data::Vector{Float64},enum::IssmEnum) #{{{
1984+ for i in 1:length(elements)
1985+ InputCreate(elements[i],inputs,data,enum)
1986+ end
1987+end#}}}
1988+function IssmCore(md::model) #{{{
1989+
1990+ #Construct FemModel
1991+ femmodel=ModelProcessor(md)
1992+
1993+ #Solve
1994+ Stressbalance(femmodel)
1995+
1996+ #then what??
1997+
1998+end# }}}
1999+function ModelProcessor(md::model) #{{{
2000+
2001+ #Initialize structures
2002+ elements = Vector{Tria}(undef,0)
2003+ vertices = Vector{Vertex}(undef,0)
2004+ parameters = Parameters(Dict{IssmEnum,Parameter}())
2005+ inputs = Inputs(md.mesh.numberofelements,md.mesh.numberofvertices,Dict{IssmEnum,Input}())
2006+
2007+ #Create elements, vertices and materials (independent of the analysis)
2008+ CreateElements(elements,md)
2009+ CreateVertices(vertices,md)
2010+ CreateParameters(parameters,md)
2011+ CreateInputs(inputs,elements,md)
2012+
2013+ #Now create analysis specific data structure
2014+ StressbalanceUpdateParameters(parameters,md)
2015+end# }}}
2016+function CreateElements(elements::Vector{Tria},md::model) #{{{
2017+
2018+ #Make sure elements is currently empty
2019+ @assert length(elements)==0
2020+
2021+ tempparams = Parameters(Dict{IssmEnum,Parameter}())
2022+ tempinputs = Inputs(-1,-1,Dict{IssmEnum,Input}())
2023+ tempvertices = Vector{Vertex}(undef,0)
2024+ tempnodes = Vector{Node}(undef,0)
2025+
2026+ count = 0
2027+ for i in 1:md.mesh.numberofelements
2028+ push!(elements,Tria(i,count,md.mesh.elements[i,:],tempvertices,tempnodes,tempparams,tempinputs))
2029+ end
2030+
2031+end# }}}
2032+function CreateVertices(vertices::Vector{Vertex},md::model) #{{{
2033+
2034+ #Make sure vertices is currently empty
2035+ @assert length(vertices)==0
2036+
2037+ #Get data from md
2038+ x = md.mesh.x
2039+ y = md.mesh.y
2040+
2041+ count = 0
2042+ for i in 1:md.mesh.numberofvertices
2043+ push!(vertices,Vertex(i,x[i],y[i]))
2044+ end
2045+
2046+end# }}}
2047+function CreateParameters(parameters::Parameters,md::model) #{{{
2048+
2049+ #Get data from md
2050+ AddParam(parameters,md.materials.rho_ice,MaterialsRhoIceEnum)
2051+ AddParam(parameters,md.materials.rho_water,MaterialsRhoSeawaterEnum)
2052+ AddParam(parameters,md.materials.rho_freshwater,MaterialsRhoFreshwaterEnum)
2053+end# }}}
2054+function CreateInputs(inputs::Inputs,elements::Vector{Tria},md::model) #{{{
2055+
2056+ #Only assume we have Matice for now
2057+ FetchDataToInput(md,inputs,elements,md.materials.rheology_B,MaterialsRheologyBEnum);
2058+ FetchDataToInput(md,inputs,elements,md.materials.rheology_n,MaterialsRheologyNEnum);
2059+end# }}}
2060+
2061+#Element functions
2062+function InputCreate(element::Tria,inputs::Inputs,data::Vector{Float64},enum::IssmEnum) #{{{
2063+ if size(data,1)==inputs.numberofelements
2064+ SetTriaInput(inputs,enum,P0Enum,element.sid,data[element.sid])
2065+ elseif size(data,1)==inputs.numberofvertices
2066+ SetTriaInput(inputs,enum,P1Enum,element.vertexids,data[element.vertexids])
2067+ else
2068+ error("size ",size(data,1)," not supported yet");
2069+ end
2070+end #}}}
Note: See TracBrowser for help on using the repository browser.