-
Notifications
You must be signed in to change notification settings - Fork 364
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
Showing
10 changed files
with
1,507 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
231 changes: 231 additions & 0 deletions
231
components/mpas-albany-landice/bld/namelist_files/albany_input.ais20km.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,231 @@ | ||
%YAML 1.1 | ||
--- | ||
ANONYMOUS: | ||
|
||
# Discretization Description | ||
Discretization: | ||
#Exodus Output File Name: albany_output.exo | ||
|
||
Piro: | ||
# Nonlinear Solver Information | ||
NOX: | ||
Nonlinear Solver: Line Search Based | ||
Line Search: | ||
Full Step: | ||
Full Step: 1.0e+00 | ||
Method: Backtrack | ||
Solver Options: | ||
Status Test Check Type: Minimal | ||
Status Tests: | ||
Test Type: Combo | ||
Combo Type: OR | ||
Number of Tests: 2 | ||
Test 0: | ||
Test Type: Combo | ||
Combo Type: AND | ||
Number of Tests: 2 | ||
Test 0: | ||
Test Type: NormF | ||
Norm Type: Two Norm | ||
Scale Type: Unscaled | ||
Tolerance: 1.0e-03 | ||
Test 1: | ||
Test Type: RelativeNormF | ||
Norm Type: Two Norm | ||
Tolerance: 0.9999 | ||
Test 1: | ||
Test Type: MaxIters | ||
Maximum Iterations: 100 | ||
Printing: | ||
Output Precision: 3 | ||
Output Processor: 0 | ||
Output Information: | ||
Error: true | ||
Warning: true | ||
Outer Iteration: true | ||
Parameters: false | ||
Details: false | ||
Linear Solver Details: false | ||
Stepper Iteration: true | ||
Stepper Details: true | ||
Stepper Parameters: true | ||
|
||
Direction: | ||
Method: Newton | ||
Newton: | ||
Forcing Term Method: Type 2 | ||
Rescue Bad Newton Solve: true | ||
Linear Solver: | ||
Write Linear System: false | ||
Tolerance: 1.0e-8 | ||
|
||
Stratimikos Linear Solver: | ||
Stratimikos: | ||
|
||
# Linear Solver Information | ||
Linear Solver Type: Belos | ||
Linear Solver Types: | ||
Belos: | ||
Solver Type: Block GMRES | ||
Solver Types: | ||
Block GMRES: | ||
Output Frequency: 20 | ||
Output Style: 1 | ||
Verbosity: 33 | ||
Maximum Iterations: 200 | ||
Block Size: 1 | ||
Num Blocks: 200 | ||
Flexible Gmres: false | ||
VerboseObject: | ||
Output File: none | ||
Verbosity Level: low | ||
|
||
# Preconditioner Information | ||
Preconditioner Type: MueLu | ||
Preconditioner Types: | ||
|
||
Ifpack2: | ||
Overlap: 1 | ||
Prec Type: ILUT | ||
|
||
MueLu: | ||
Matrix: | ||
PDE equations: 2 | ||
Factories: | ||
myLineDetectionFact: | ||
factory: LineDetectionFactory | ||
'linedetection: orientation': coordinates | ||
mySemiCoarsenPFact1: | ||
factory: SemiCoarsenPFactory | ||
'semicoarsen: coarsen rate': 14 | ||
UncoupledAggregationFact2: | ||
factory: UncoupledAggregationFactory | ||
'aggregation: ordering': graph | ||
'aggregation: max selected neighbors': 0 | ||
'aggregation: min agg size': 3 | ||
'aggregation: phase3 avoid singletons': true | ||
MyCoarseMap2: | ||
factory: CoarseMapFactory | ||
Aggregates: UncoupledAggregationFact2 | ||
myTentativePFact2: | ||
'tentative: calculate qr': true | ||
factory: TentativePFactory | ||
Aggregates: UncoupledAggregationFact2 | ||
CoarseMap: MyCoarseMap2 | ||
mySaPFact2: | ||
'sa: eigenvalue estimate num iterations': 10 | ||
'sa: damping factor': 1.33333e+00 | ||
factory: SaPFactory | ||
P: myTentativePFact2 | ||
myTransferCoordinatesFact: | ||
factory: CoordinatesTransferFactory | ||
CoarseMap: MyCoarseMap2 | ||
Aggregates: UncoupledAggregationFact2 | ||
myTogglePFact: | ||
factory: TogglePFactory | ||
'semicoarsen: number of levels': 2 | ||
TransferFactories: | ||
P1: mySemiCoarsenPFact1 | ||
P2: mySaPFact2 | ||
Ptent1: mySemiCoarsenPFact1 | ||
Ptent2: myTentativePFact2 | ||
Nullspace1: mySemiCoarsenPFact1 | ||
Nullspace2: myTentativePFact2 | ||
myRestrictorFact: | ||
factory: TransPFactory | ||
P: myTogglePFact | ||
myToggleTransferCoordinatesFact: | ||
factory: ToggleCoordinatesTransferFactory | ||
Chosen P: myTogglePFact | ||
TransferFactories: | ||
Coordinates1: mySemiCoarsenPFact1 | ||
Coordinates2: myTransferCoordinatesFact | ||
myRAPFact: | ||
factory: RAPFactory | ||
P: myTogglePFact | ||
R: myRestrictorFact | ||
TransferFactories: | ||
For Coordinates: myToggleTransferCoordinatesFact | ||
myRepartitionHeuristicFact: | ||
factory: RepartitionHeuristicFactory | ||
A: myRAPFact | ||
'repartition: min rows per proc': 3000 | ||
'repartition: max imbalance': 1.327e+00 | ||
'repartition: start level': 1 | ||
myZoltanInterface: | ||
factory: ZoltanInterface | ||
A: myRAPFact | ||
Coordinates: myToggleTransferCoordinatesFact | ||
number of partitions: myRepartitionHeuristicFact | ||
myRepartitionFact: | ||
factory: RepartitionFactory | ||
A: myRAPFact | ||
Partition: myZoltanInterface | ||
'repartition: remap parts': true | ||
number of partitions: myRepartitionHeuristicFact | ||
myRebalanceProlongatorFact: | ||
factory: RebalanceTransferFactory | ||
type: Interpolation | ||
P: myTogglePFact | ||
Coordinates: myToggleTransferCoordinatesFact | ||
Nullspace: myTogglePFact | ||
myRebalanceRestrictionFact: | ||
factory: RebalanceTransferFactory | ||
type: Restriction | ||
R: myRestrictorFact | ||
myRebalanceAFact: | ||
factory: RebalanceAcFactory | ||
A: myRAPFact | ||
TransferFactories: { } | ||
mySmoother1: | ||
factory: TrilinosSmoother | ||
type: LINESMOOTHING_BANDEDRELAXATION | ||
'smoother: pre or post': both | ||
ParameterList: | ||
'relaxation: type': Gauss-Seidel | ||
'relaxation: sweeps': 1 | ||
'relaxation: damping factor': 1.0 | ||
mySmoother3: | ||
factory: TrilinosSmoother | ||
type: RELAXATION | ||
'smoother: pre or post': both | ||
ParameterList: | ||
'relaxation: type': Gauss-Seidel | ||
'relaxation: sweeps': 1 | ||
'relaxation: damping factor': 1.0 | ||
mySmoother4: | ||
factory: TrilinosSmoother | ||
type: RELAXATION | ||
'smoother: pre or post': pre | ||
ParameterList: | ||
'relaxation: type': Gauss-Seidel | ||
'relaxation: sweeps': 4 | ||
'relaxation: damping factor': 1.0 | ||
Hierarchy: | ||
max levels: 7 | ||
'coarse: max size': 2000 | ||
verbosity: None | ||
Finest: | ||
Smoother: mySmoother1 | ||
CoarseSolver: mySmoother4 | ||
P: myRebalanceProlongatorFact | ||
Nullspace: myRebalanceProlongatorFact | ||
CoarseNumZLayers: myLineDetectionFact | ||
LineDetection_Layers: myLineDetectionFact | ||
LineDetection_VertLineIds: myLineDetectionFact | ||
A: myRebalanceAFact | ||
Coordinates: myRebalanceProlongatorFact | ||
Importer: myRepartitionFact | ||
All: | ||
startLevel: 1 | ||
Smoother: mySmoother4 | ||
CoarseSolver: mySmoother4 | ||
P: myRebalanceProlongatorFact | ||
Nullspace: myRebalanceProlongatorFact | ||
CoarseNumZLayers: myLineDetectionFact | ||
LineDetection_Layers: myLineDetectionFact | ||
LineDetection_VertLineIds: myLineDetectionFact | ||
A: myRebalanceAFact | ||
Coordinates: myRebalanceProlongatorFact | ||
Importer: myRepartitionFact | ||
|
Oops, something went wrong.