[19049] | 1 | #Test Name: SquareSheetHydrologyDCTwoLayers
|
---|
[21281] | 2 | import numpy as np
|
---|
[18973] | 3 | from model import *
|
---|
[21408] | 4 | from socket import gethostname
|
---|
[18973] | 5 | from triangle import *
|
---|
| 6 | from setmask import *
|
---|
| 7 | from parameterize import *
|
---|
| 8 | from transient import *
|
---|
| 9 | from setflowequation import *
|
---|
| 10 | from solve import *
|
---|
| 11 | from generic import generic
|
---|
| 12 |
|
---|
[24240] | 13 |
|
---|
[23793] | 14 | md = triangle(model(), '../Exp/Square.exp', 100000.)
|
---|
| 15 | md = setmask(md, '', '')
|
---|
| 16 | md = parameterize(md, '../Par/IceCube.py')
|
---|
[21480] | 17 |
|
---|
[23793] | 18 | md.transient = transient.setallnullparameters(md.transient)
|
---|
| 19 | md.transient.ishydrology = True
|
---|
| 20 | #md.transient.issmb = True
|
---|
| 21 | md = setflowequation(md, 'SSA', 'all')
|
---|
| 22 | md.cluster = generic('name', gethostname(), 'np', 1)
|
---|
| 23 | md.hydrology = hydrologydc()
|
---|
| 24 | md.hydrology = md.hydrology.initialize(md)
|
---|
[18973] | 25 |
|
---|
[23793] | 26 | md.hydrology.isefficientlayer = 1
|
---|
| 27 | md.hydrology.sedimentlimit_flag = 1
|
---|
| 28 | md.hydrology.sedimentlimit = 800.0
|
---|
[24240] | 29 | md.hydrology.transfer_flag = 0
|
---|
[23793] | 30 | md.hydrology.mask_thawed_node = np.ones((md.mesh.numberofvertices))
|
---|
| 31 | md.initialization.sediment_head = np.zeros((md.mesh.numberofvertices))
|
---|
| 32 | md.hydrology.spcsediment_head = np.nan * np.ones((md.mesh.numberofvertices))
|
---|
[18973] | 33 |
|
---|
[23793] | 34 | md.basalforcings.groundedice_melting_rate = 2.0 * np.ones((md.mesh.numberofvertices))
|
---|
| 35 | md.basalforcings.floatingice_melting_rate = 0.0 * np.ones((md.mesh.numberofvertices))
|
---|
| 36 | md.hydrology.sediment_transmitivity = 3.0 * np.ones((md.mesh.numberofvertices))
|
---|
[18973] | 37 |
|
---|
[23793] | 38 | md.initialization.epl_head = np.zeros((md.mesh.numberofvertices))
|
---|
| 39 | md.initialization.epl_thickness = np.ones((md.mesh.numberofvertices))
|
---|
| 40 | md.hydrology.spcepl_head = np.nan * np.ones((md.mesh.numberofvertices))
|
---|
| 41 | md.hydrology.mask_eplactive_node = np.zeros((md.mesh.numberofvertices))
|
---|
| 42 | md.hydrology.epl_conductivity = 30
|
---|
| 43 | md.hydrology.epl_initial_thickness = 1
|
---|
| 44 | md.hydrology.epl_colapse_thickness = 1.0e-3
|
---|
| 45 | md.hydrology.epl_thick_comp = 1
|
---|
| 46 | md.hydrology.epl_max_thickness = 1
|
---|
| 47 | md.hydrology.steps_per_step = 10
|
---|
| 48 | md.timestepping.time_step = 2.0
|
---|
| 49 | md.timestepping.final_time = 2.0
|
---|
[18973] | 50 |
|
---|
[23793] | 51 | #md.debug.valgrind = True
|
---|
| 52 | md = solve(md, 'Transient')
|
---|
[18973] | 53 |
|
---|
[22287] | 54 | #re-run with no substeps
|
---|
[23793] | 55 | mdfine = copy.deepcopy(md)
|
---|
[24240] | 56 | mdfine.results = []
|
---|
[23793] | 57 | mdfine.hydrology.steps_per_step = 1
|
---|
| 58 | mdfine.timestepping.time_step = 0.2
|
---|
| 59 | mdfine = solve(mdfine, 'Transient')
|
---|
[22287] | 60 |
|
---|
[23793] | 61 | field_names = ['SedimentWaterHead1', 'EplWaterHead1', 'SedimentHeadResidual1',
|
---|
| 62 | 'SedimentWaterHead4', 'EplWaterHead4', 'SedimentHeadResidual4',
|
---|
| 63 | 'SedimentWaterHead5', 'EplWaterHead5', 'SedimentHeadResidual5',
|
---|
| 64 | 'SedimentWaterHead9', 'EplWaterHead9', 'SedimentHeadResidual9',
|
---|
[24240] | 65 | 'EplWaterHead10', 'EplWaterHeadSubstep10', 'SedimentWaterHead10',
|
---|
| 66 | 'SedimentWaterHeadSubstep10']
|
---|
[23793] | 67 | field_tolerances = [1e-13, 1e-13, 1e-13,
|
---|
| 68 | 1e-13, 1e-13, 1e-13,
|
---|
| 69 | 1e-13, 5e-12, 1e-11,
|
---|
| 70 | 1e-13, 5e-12, 1e-11,
|
---|
[24240] | 71 | 1e-13, 1e-13, 1e-13,
|
---|
[23793] | 72 | 1e-13]
|
---|
[24240] | 73 | field_values = [mdfine.results.TransientSolution[0].SedimentHead,
|
---|
| 74 | mdfine.results.TransientSolution[0].EplHead,
|
---|
[23793] | 75 | mdfine.results.TransientSolution[0].SedimentHeadResidual,
|
---|
[24240] | 76 | mdfine.results.TransientSolution[3].SedimentHead,
|
---|
| 77 | mdfine.results.TransientSolution[3].EplHead,
|
---|
[23793] | 78 | mdfine.results.TransientSolution[3].SedimentHeadResidual,
|
---|
[24240] | 79 | mdfine.results.TransientSolution[4].SedimentHead,
|
---|
| 80 | mdfine.results.TransientSolution[4].EplHead,
|
---|
[23793] | 81 | mdfine.results.TransientSolution[4].SedimentHeadResidual,
|
---|
[24240] | 82 | mdfine.results.TransientSolution[8].SedimentHead,
|
---|
| 83 | mdfine.results.TransientSolution[8].EplHead,
|
---|
[23793] | 84 | mdfine.results.TransientSolution[8].SedimentHeadResidual,
|
---|
[24240] | 85 | md.results.TransientSolution[-1].EplHead,
|
---|
| 86 | md.results.TransientSolution[-1].EplHeadSubstep,
|
---|
| 87 | md.results.TransientSolution[-1].SedimentHead,
|
---|
| 88 | md.results.TransientSolution[-1].SedimentHeadSubstep]
|
---|