Changeset 25023


Ignore:
Timestamp:
06/12/20 08:13:21 (5 years ago)
Author:
bdef
Message:

NEW: adding hydro models in py and related tests, fix in intialisation for m/py compatibility

Location:
issm/trunk-jpl
Files:
6 added
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/initialization.py

    r24256 r25023  
    2828        self.epl_head = float('NaN')
    2929        self.epl_thickness = float('NaN')
     30        self.hydraulic_potential = float('NaN')
     31        self.channelarea = float('NaN')
    3032
    3133    #set defaults
     
    4850        string = "%s\n%s" % (string, fielddisplay(self, 'epl_head', 'epl water head of subglacial system [m]'))
    4951        string = "%s\n%s" % (string, fielddisplay(self, 'epl_thickness', 'thickness of the epl [m]'))
     52        string = "%s\n%s" % (string, fielddisplay(self, 'hydraulic_potential', 'Hydraulic potential (for GlaDS) [Pa]'))
     53        string = "%s\n%s" % (string, fielddisplay(self, 'channelarea', 'subglaciale water channel area (for GlaDS) [m2]'))
    5054
    5155        return string
     
    97101                                     np.sum(np.abs(md.initialization.vy[md.mesh.elements - 1]), axis=1) == 0)):
    98102                md.checkmessage("at least one triangle has all its vertices with a zero velocity")
    99         if 'ThermalAnalysis' in analyses:
     103        if 'ThermalAnalysis' in analyses and solution != 'TransientSolution' and md.transient.isthermal == 0:
    100104            md = checkfield(md, 'fieldname', 'initialization.vx', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
    101105            md = checkfield(md, 'fieldname', 'initialization.vy', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
     
    121125                    md = checkfield(md, 'fieldname', 'initialization.epl_head', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
    122126                    md = checkfield(md, 'fieldname', 'initialization.epl_thickness', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
    123 
     127        if 'HydrologyGlaDSAnalysis' in analyses:
     128            if hasattr(md.hydrology, 'hydrologyglads'):
     129                md = checkfield(md, 'fieldname', 'initialization.watercolumn', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
     130                md = checkfield(md, 'fieldname', 'initialization.hydraulic_potential', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
     131                md = checkfield(md, 'fieldname', 'initialization.channelarea', 'NaN', 1, 'Inf', 1, '>=', 0, 'size', [md.mesh.numberofelements])
    124132        return md
    125133    # }}}
     
    139147        WriteData(fid, prefix, 'object', self, 'fieldname', 'epl_thickness', 'format', 'DoubleMat', 'mattype', 1)
    140148        WriteData(fid, prefix, 'object', self, 'fieldname', 'watercolumn', 'format', 'DoubleMat', 'mattype', 1)
    141 
     149        WriteData(fid, prefix, 'object', self, 'fieldname', 'channelarea', 'format', 'DoubleMat', 'mattype', 1)
     150        WriteData(fid, prefix, 'object', self, 'fieldname', 'hydraulic_potential', 'format', 'DoubleMat', 'mattype', 1)
    142151        if md.thermal.isenthalpy:
    143152            if (np.size(self.enthalpy) <= 1):
  • issm/trunk-jpl/src/m/classes/model.py

    r24861 r25023  
    4646from hydrologyshreve import hydrologyshreve
    4747from hydrologydc import hydrologydc
     48from hydrologyglads import hydrologyglads
     49from hydrologypism import hydrologypism
     50from hydrologyshakti import hydrologyshakti
    4851from masstransport import masstransport
    4952from thermal import thermal
  • issm/trunk-jpl/src/m/classes/stressbalance.py

    r24861 r25023  
    8888        self.maxiter = 100
    8989        #Convergence criterion: absolute, relative and residual
    90         self.restol = 10**-4
     90        self.restol = 1.0e-4
    9191        self.reltol = 0.01
    9292        self.abstol = 10
  • issm/trunk-jpl/test/NightlyRun/test350.py

    r24261 r25023  
    44from model import *
    55from socket import gethostname
    6 from triangle import *
    7 from setmask import *
    8 from parameterize import *
    9 from setflowequation import *
    10 from solve import *
    11 from frictionshakti import *
    12 from hydrologyshakti import *
    13 from transient import *
     6from triangle import triangle
     7from setmask import setmask
     8from parameterize import parameterize
     9from setflowequation import setflowequation
     10from solve import solve
     11from frictionshakti import frictionshakti
     12from transient import transient
    1413
    1514md = triangle(model(), '../Exp/Square.exp', 50000.)
     
    1817md = setmask(md, '', '')
    1918md = parameterize(md, '../Par/SquareSheetConstrained.py')
    20 md.transient = transient().deactivateall()
     19md.transient = transient.deactivateall(md.transient)
    2120md.transient.ishydrology = 1
    2221md = setflowequation(md, 'SSA', 'all')
Note: See TracChangeset for help on using the changeset viewer.