Changeset 25806


Ignore:
Timestamp:
12/02/20 13:54:38 (4 years ago)
Author:
jdquinn
Message:

CHG: Python implementation of frictionschoof

Location:
issm/trunk-jpl
Files:
3 added
10 edited

Legend:

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

    r24305 r25806  
     1import numpy as np
     2
     3from checkfield import checkfield
    14from fielddisplay import fielddisplay
    25from project3d import project3d
    3 from checkfield import checkfield
    46from WriteData import WriteData
    57
    68
    79class calving(object):
    8     """
    9     CALVING class definition
     10    """CALVING class definition
    1011
    11        Usage:
    12           calving = calving()
     12    Usage:
     13        calving = calving()
    1314    """
    1415
    1516    def __init__(self):  # {{{
    16 
    17         self.calvingrate = float('NaN')
    18 
    19     #set defaults
     17        self.calvingrate = np.nan
    2018        self.setdefaultparameters()
    2119
     
    2321
    2422    def __repr__(self):  # {{{
    25         string = '   Calving parameters:'
    26         string = "%s\n%s" % (string, fielddisplay(self, 'calvingrate', 'calving rate at given location [m / a]'))
    27 
    28         return string
     23        s = '   Calving parameters:'
     24        s += '{}\n'.format(fielddisplay(self, 'calvingrate', 'calving rate at given location [m / a]'))
     25        return s
    2926    #}}}
    3027
     
    4037    def checkconsistency(self, md, solution, analyses):  # {{{
    4138        #Early return
    42         if (solution != 'TransientSolution') or (not md.transient.ismovingfront):
     39        if solution != 'TransientSolution' or not md.transient.ismovingfront:
    4340            return md
    4441
  • issm/trunk-jpl/src/m/classes/frictionshakti.py

    r25688 r25806  
    2828        s = 'Basal shear stress parameters: Sigma_b = coefficient^2 * Neff * u_b\n'
    2929        s += '(effective stress Neff = rho_ice * g * thickness + rho_water * g * (head - b))\n'
    30         s += "{}\n".format(fielddisplay(self, "coefficient", "friction coefficient [SI]"))
     30        s += '{}\n'.format(fielddisplay(self, 'coefficient', 'friction coefficient [SI]'))
    3131        return s
    3232    #}}}
  • issm/trunk-jpl/src/m/classes/inversion.py

    r25688 r25806  
    5454        s += '{}\n'.format(fielddisplay(self, 'min_parameters', 'absolute minimum acceptable value of the inversed parameter on each vertex'))
    5555        s += '{}\n'.format(fielddisplay(self, 'max_parameters', 'absolute maximum acceptable value of the inversed parameter on each vertex'))
    56         s += '{}\n'.format(fielddisplay(self, 'vx_obs', 'observed velocity x component [m / yr]'))
    57         s += '{}\n'.format(fielddisplay(self, 'vy_obs', 'observed velocity y component [m / yr]'))
    58         s += '{}\n'.format(fielddisplay(self, 'vel_obs', 'observed velocity magnitude [m / yr]'))
     56        s += '{}\n'.format(fielddisplay(self, 'vx_obs', 'observed velocity x component [m/yr]'))
     57        s += '{}\n'.format(fielddisplay(self, 'vy_obs', 'observed velocity y component [m/yr]'))
     58        s += '{}\n'.format(fielddisplay(self, 'vel_obs', 'observed velocity magnitude [m/yr]'))
    5959        s += '{}\n'.format(fielddisplay(self, 'thickness_obs', 'observed thickness [m]'))
    6060        s += '{}\n'.format(fielddisplay(self, 'surface_obs', 'observed surface elevation [m]'))
     
    160160            return
    161161        WriteData(fid, prefix, 'object', self, 'fieldname', 'nsteps', 'format', 'Integer')
    162         WriteData(fid, prefix, 'object', self, 'fieldname', 'maxiter_per_step', 'format', 'DoubleMat', 'mattype', 3)
     162        WriteData(fid, prefix, 'object', self, 'fieldname', 'maxiter_per_step', 'format', 'IntMat', 'mattype', 3)
    163163        WriteData(fid, prefix, 'object', self, 'fieldname', 'cost_functions_coefficients', 'format', 'DoubleMat', 'mattype', 1)
    164164        WriteData(fid, prefix, 'object', self, 'fieldname', 'gradient_scaling', 'format', 'DoubleMat', 'mattype', 3)
  • issm/trunk-jpl/src/m/classes/solidearthsettings.py

    r25767 r25806  
    2222        self.ocean_area_scaling     = 0
    2323        self.runfrequency           = 1 # How many time steps we skip before we run grd_core
    24         self.computesealevelchange  = 0 # Will grd_core compute sea level?
     24        self.computesealevelchange  = 1 # Will grd_core compute sea level?
    2525        self.isgrd                  = 1 # Will GRD patterns be computed?
    2626        self.degacc                 = 0 # Degree increment for resolution of Green tables
     
    6666        self.ocean_area_scaling = 0
    6767        self.isgrd = 1
    68         self.computesealevelchange = 0
     68        self.computesealevelchange = 1
    6969
    7070        # Numerical discretization accuracy
     
    7474        self.runfrequency = 1
    7575
     76        # Fractional contribution
     77        self.glfraction = 1
     78
    7679        # Horizontal displacement? (not on by default)
    7780        self.horiz = 0
    78 
    79         # Fractional contribution
    80         self.glfraction = 1
    8181    #}}}
    8282
  • issm/trunk-jpl/src/m/inversions/supportedcontrols.py

    r24213 r25806  
    11def supportedcontrols():
    2     return ['BalancethicknessThickeningRate', 'FrictionCoefficient', 'FrictionAs', 'MaterialsRheologyBbar', 'DamageDbar', 'Vx', 'Vy']
     2    return [
     3        'BalancethicknessThickeningRate',
     4        'FrictionCoefficient',
     5        'FrictionC',
     6        'FrictionAs',
     7        'MaterialsRheologyBbar',
     8        'DamageDbar',
     9        'Vx',
     10        'Vy',
     11        'Thickness',
     12        'BalancethicknessOmega',
     13        'BalancethicknessApparentMassbalance',
     14        'MaterialsRheologyB'
     15    ]
  • issm/trunk-jpl/src/m/inversions/supportedcostfunctions.py

    r24213 r25806  
    11def supportedcostfunctions():
    2     return [101, 102, 103, 104, 105, 201, 501, 502, 503, 504, 505]
     2    return list(range(101, 105 + 1)) + [201] + list(range(501, 508 + 1)) + [510] + list(range(601, 604 + 1))
  • issm/trunk-jpl/src/m/qmu/postqmu.m

    r25726 r25806  
    1616           fline=fgetl(fide);
    1717       end
    18        warning(['Dakota returned error in ''' qmuerrfile ' file. qmu directory retained.'])
     18       warning(['Dakota returned error in ''' qmuerrfile ''' file. QMU directory retained.'])
    1919   end
    2020   status=fclose(fide);
  • issm/trunk-jpl/test/NightlyRun/runme.m

    r25689 r25806  
    107107%Process Ids according to benchmarks{{{
    108108if strcmpi(benchmark,'nightly'),
    109         test_ids=intersect(test_ids,[1:999]);
     109        test_ids=intersect(test_ids,union([1:999]));
    110110elseif strcmpi(benchmark,'validation'),
    111111        test_ids=intersect(test_ids,[1001:1999]);
  • issm/trunk-jpl/test/NightlyRun/test350.py

    r25502 r25806  
    11#Test Name: SquareSheetHydrologyShakti
     2import numpy as np
     3
     4from frictionshakti import frictionshakti
     5from MatlabFuncs import oshostname
     6from model import *
    27from operator import itemgetter
    3 import numpy as np
    4 from model import *
    5 from socket import gethostname
    6 from triangle import triangle
    7 from setmask import setmask
    88from parameterize import parameterize
    99from setflowequation import setflowequation
     10from setmask import setmask
    1011from solve import solve
    11 from frictionshakti import frictionshakti
    1212from transient import transient
     13from triangle import triangle
    1314
    1415md = triangle(model(), '../Exp/Square.exp', 50000.)
  • issm/trunk-jpl/test/NightlyRun/test444.py

    r25307 r25806  
    77
    88import numpy as np
     9
     10from ContourToMesh import *
     11from dmeth_params_set import *
     12from MatlabFuncs import oshostname
    913from model import *
     14from parameterize import *
     15from partitioner import *
     16from regionaloutput import *
     17from setflowequation import *
     18from setmask import *
     19from solve import *
    1020from triangle import *
    11 from setmask import *
    12 from parameterize import *
    13 from setflowequation import *
    14 from solve import *
    15 from partitioner import *
    16 from dmeth_params_set import *
    17 from ContourToMesh import *
    18 from regionaloutput import *
    1921
    2022#model not consistent:  equality thickness = surface-base violated
Note: See TracChangeset for help on using the changeset viewer.