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
RevLine 
[19049]1#Test Name: SquareSheetHydrologyDCTwoLayers
[21281]2import numpy as np
[18973]3from model import *
[21408]4from socket import gethostname
[18973]5from triangle import *
6from setmask import *
7from parameterize import *
8from transient import *
9from setflowequation import *
10from solve import *
11from generic import generic
12
[24240]13
[23793]14md = triangle(model(), '../Exp/Square.exp', 100000.)
15md = setmask(md, '', '')
16md = parameterize(md, '../Par/IceCube.py')
[21480]17
[23793]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)
[18973]25
[23793]26md.hydrology.isefficientlayer = 1
27md.hydrology.sedimentlimit_flag = 1
28md.hydrology.sedimentlimit = 800.0
[24240]29md.hydrology.transfer_flag = 0
[23793]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))
[18973]33
[23793]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))
[18973]37
[23793]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
[18973]50
[23793]51#md.debug.valgrind = True
52md = solve(md, 'Transient')
[18973]53
[22287]54#re-run with no substeps
[23793]55mdfine = copy.deepcopy(md)
[24240]56mdfine.results = []
[23793]57mdfine.hydrology.steps_per_step = 1
58mdfine.timestepping.time_step = 0.2
59mdfine = solve(mdfine, 'Transient')
[22287]60
[23793]61field_names = ['SedimentWaterHead1', 'EplWaterHead1', 'SedimentHeadResidual1',
62 'SedimentWaterHead4', 'EplWaterHead4', 'SedimentHeadResidual4',
63 'SedimentWaterHead5', 'EplWaterHead5', 'SedimentHeadResidual5',
64 'SedimentWaterHead9', 'EplWaterHead9', 'SedimentHeadResidual9',
[24240]65 'EplWaterHead10', 'EplWaterHeadSubstep10', 'SedimentWaterHead10',
66 'SedimentWaterHeadSubstep10']
[23793]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,
[24240]71 1e-13, 1e-13, 1e-13,
[23793]72 1e-13]
[24240]73field_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]
Note: See TracBrowser for help on using the repository browser.