source: issm/trunk-jpl/test/NightlyRun/test333.py@ 24240

Last change on this file since 24240 was 24240, checked in by bdef, 5 years ago

Adding a substeping framework in hydro and part of smb

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