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