Skip to content

Commit ccaa4b3

Browse files
committed
Merge branch 'matthewhoffman/mali/enable_thermal_solver' (PR #6559)
Activate MALI thermal solver and update configuration to be relevant to both AIS and GIS grids This PR updates a number of details about the MALI configuration to support both Antarctica and Greenland Ice Sheet configurations: * Enables the MALI thermal solver, which is needed to allow evolving calving fronts, in preparation for enabling calving * Adds new logic to make the albany_input.yaml file specific to a mesh. This is needed because AIS and GIS meshes use different solver boundary conditions that are specified in that file. * Enables config_remove_icebergs and config_remove_small_islands, two options that improve convergence of the velocity solver and are typically used in standalone MALI simulations * Adds additional fields to the MALI history files related to the now activated thermal solver, as well as ice-shelf basal melting. Also updates the MALI globalStats files to write out all global stats instead of the subset that was hardcoded before. * Updates the ERS_Ld5.TL319_oQU240wLI_ais20.MPAS_LISIO_JRA1p5.mpaso-ocn_glcshelf test to the MALI ais8to30 grid that was recently added. When the mesh was added, the test was failing due to issues with the thermal solver, but those have been resolved between MALI thermal solver bug fix and improved iceberg handling #6547 and this PR, so we can now update that test to the newer mesh. [NML] for all configurations with MALI [non-BFB] for all configurations with active MALI
2 parents 7470acf + e9c56ec commit ccaa4b3

10 files changed

+1507
-82
lines changed

cime_config/tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@
304304
"SMS.ne30_f19_g16_rx1.A",
305305
"ERS_Ld5.T62_oQU120.CMPASO-NYF",
306306
"ERS.f09_g16_g.MALISIA",
307-
"ERS_Ld5.TL319_oQU240wLI_ais20.MPAS_LISIO_JRA1p5.mpaso-ocn_glcshelf",
307+
"ERS_Ld5.TL319_oQU240wLI_ais8to30.MPAS_LISIO_JRA1p5.mpaso-ocn_glcshelf",
308308
"SMS_P12x2.ne4pg2_oQU480.WCYCL1850NS.allactive-mach_mods",
309309
"ERS_Ln9.ne4pg2_ne4pg2.F2010-MMF1.eam-mmf_crmout",
310310
)
Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
%YAML 1.1
2+
---
3+
ANONYMOUS:
4+
5+
# Discretization Description
6+
Discretization:
7+
#Exodus Output File Name: albany_output.exo
8+
9+
Piro:
10+
# Nonlinear Solver Information
11+
NOX:
12+
Nonlinear Solver: Line Search Based
13+
Line Search:
14+
Full Step:
15+
Full Step: 1.0e+00
16+
Method: Backtrack
17+
Solver Options:
18+
Status Test Check Type: Minimal
19+
Status Tests:
20+
Test Type: Combo
21+
Combo Type: OR
22+
Number of Tests: 2
23+
Test 0:
24+
Test Type: Combo
25+
Combo Type: AND
26+
Number of Tests: 2
27+
Test 0:
28+
Test Type: NormF
29+
Norm Type: Two Norm
30+
Scale Type: Unscaled
31+
Tolerance: 1.0e-03
32+
Test 1:
33+
Test Type: RelativeNormF
34+
Norm Type: Two Norm
35+
Tolerance: 0.9999
36+
Test 1:
37+
Test Type: MaxIters
38+
Maximum Iterations: 100
39+
Printing:
40+
Output Precision: 3
41+
Output Processor: 0
42+
Output Information:
43+
Error: true
44+
Warning: true
45+
Outer Iteration: true
46+
Parameters: false
47+
Details: false
48+
Linear Solver Details: false
49+
Stepper Iteration: true
50+
Stepper Details: true
51+
Stepper Parameters: true
52+
53+
Direction:
54+
Method: Newton
55+
Newton:
56+
Forcing Term Method: Type 2
57+
Rescue Bad Newton Solve: true
58+
Linear Solver:
59+
Write Linear System: false
60+
Tolerance: 1.0e-8
61+
62+
Stratimikos Linear Solver:
63+
Stratimikos:
64+
65+
# Linear Solver Information
66+
Linear Solver Type: Belos
67+
Linear Solver Types:
68+
Belos:
69+
Solver Type: Block GMRES
70+
Solver Types:
71+
Block GMRES:
72+
Output Frequency: 20
73+
Output Style: 1
74+
Verbosity: 33
75+
Maximum Iterations: 200
76+
Block Size: 1
77+
Num Blocks: 200
78+
Flexible Gmres: false
79+
VerboseObject:
80+
Output File: none
81+
Verbosity Level: low
82+
83+
# Preconditioner Information
84+
Preconditioner Type: MueLu
85+
Preconditioner Types:
86+
87+
Ifpack2:
88+
Overlap: 1
89+
Prec Type: ILUT
90+
91+
MueLu:
92+
Matrix:
93+
PDE equations: 2
94+
Factories:
95+
myLineDetectionFact:
96+
factory: LineDetectionFactory
97+
'linedetection: orientation': coordinates
98+
mySemiCoarsenPFact1:
99+
factory: SemiCoarsenPFactory
100+
'semicoarsen: coarsen rate': 14
101+
UncoupledAggregationFact2:
102+
factory: UncoupledAggregationFactory
103+
'aggregation: ordering': graph
104+
'aggregation: max selected neighbors': 0
105+
'aggregation: min agg size': 3
106+
'aggregation: phase3 avoid singletons': true
107+
MyCoarseMap2:
108+
factory: CoarseMapFactory
109+
Aggregates: UncoupledAggregationFact2
110+
myTentativePFact2:
111+
'tentative: calculate qr': true
112+
factory: TentativePFactory
113+
Aggregates: UncoupledAggregationFact2
114+
CoarseMap: MyCoarseMap2
115+
mySaPFact2:
116+
'sa: eigenvalue estimate num iterations': 10
117+
'sa: damping factor': 1.33333e+00
118+
factory: SaPFactory
119+
P: myTentativePFact2
120+
myTransferCoordinatesFact:
121+
factory: CoordinatesTransferFactory
122+
CoarseMap: MyCoarseMap2
123+
Aggregates: UncoupledAggregationFact2
124+
myTogglePFact:
125+
factory: TogglePFactory
126+
'semicoarsen: number of levels': 2
127+
TransferFactories:
128+
P1: mySemiCoarsenPFact1
129+
P2: mySaPFact2
130+
Ptent1: mySemiCoarsenPFact1
131+
Ptent2: myTentativePFact2
132+
Nullspace1: mySemiCoarsenPFact1
133+
Nullspace2: myTentativePFact2
134+
myRestrictorFact:
135+
factory: TransPFactory
136+
P: myTogglePFact
137+
myToggleTransferCoordinatesFact:
138+
factory: ToggleCoordinatesTransferFactory
139+
Chosen P: myTogglePFact
140+
TransferFactories:
141+
Coordinates1: mySemiCoarsenPFact1
142+
Coordinates2: myTransferCoordinatesFact
143+
myRAPFact:
144+
factory: RAPFactory
145+
P: myTogglePFact
146+
R: myRestrictorFact
147+
TransferFactories:
148+
For Coordinates: myToggleTransferCoordinatesFact
149+
myRepartitionHeuristicFact:
150+
factory: RepartitionHeuristicFactory
151+
A: myRAPFact
152+
'repartition: min rows per proc': 3000
153+
'repartition: max imbalance': 1.327e+00
154+
'repartition: start level': 1
155+
myZoltanInterface:
156+
factory: ZoltanInterface
157+
A: myRAPFact
158+
Coordinates: myToggleTransferCoordinatesFact
159+
number of partitions: myRepartitionHeuristicFact
160+
myRepartitionFact:
161+
factory: RepartitionFactory
162+
A: myRAPFact
163+
Partition: myZoltanInterface
164+
'repartition: remap parts': true
165+
number of partitions: myRepartitionHeuristicFact
166+
myRebalanceProlongatorFact:
167+
factory: RebalanceTransferFactory
168+
type: Interpolation
169+
P: myTogglePFact
170+
Coordinates: myToggleTransferCoordinatesFact
171+
Nullspace: myTogglePFact
172+
myRebalanceRestrictionFact:
173+
factory: RebalanceTransferFactory
174+
type: Restriction
175+
R: myRestrictorFact
176+
myRebalanceAFact:
177+
factory: RebalanceAcFactory
178+
A: myRAPFact
179+
TransferFactories: { }
180+
mySmoother1:
181+
factory: TrilinosSmoother
182+
type: LINESMOOTHING_BANDEDRELAXATION
183+
'smoother: pre or post': both
184+
ParameterList:
185+
'relaxation: type': Gauss-Seidel
186+
'relaxation: sweeps': 1
187+
'relaxation: damping factor': 1.0
188+
mySmoother3:
189+
factory: TrilinosSmoother
190+
type: RELAXATION
191+
'smoother: pre or post': both
192+
ParameterList:
193+
'relaxation: type': Gauss-Seidel
194+
'relaxation: sweeps': 1
195+
'relaxation: damping factor': 1.0
196+
mySmoother4:
197+
factory: TrilinosSmoother
198+
type: RELAXATION
199+
'smoother: pre or post': pre
200+
ParameterList:
201+
'relaxation: type': Gauss-Seidel
202+
'relaxation: sweeps': 4
203+
'relaxation: damping factor': 1.0
204+
Hierarchy:
205+
max levels: 7
206+
'coarse: max size': 2000
207+
verbosity: None
208+
Finest:
209+
Smoother: mySmoother1
210+
CoarseSolver: mySmoother4
211+
P: myRebalanceProlongatorFact
212+
Nullspace: myRebalanceProlongatorFact
213+
CoarseNumZLayers: myLineDetectionFact
214+
LineDetection_Layers: myLineDetectionFact
215+
LineDetection_VertLineIds: myLineDetectionFact
216+
A: myRebalanceAFact
217+
Coordinates: myRebalanceProlongatorFact
218+
Importer: myRepartitionFact
219+
All:
220+
startLevel: 1
221+
Smoother: mySmoother4
222+
CoarseSolver: mySmoother4
223+
P: myRebalanceProlongatorFact
224+
Nullspace: myRebalanceProlongatorFact
225+
CoarseNumZLayers: myLineDetectionFact
226+
LineDetection_Layers: myLineDetectionFact
227+
LineDetection_VertLineIds: myLineDetectionFact
228+
A: myRebalanceAFact
229+
Coordinates: myRebalanceProlongatorFact
230+
Importer: myRepartitionFact
231+

0 commit comments

Comments
 (0)