Changeset 27415


Ignore:
Timestamp:
11/23/22 01:09:26 (2 years ago)
Author:
jdquinn
Message:

BUG: All SMB tests should pass with Python API now

Location:
issm/trunk-jpl/src/m/classes
Files:
7 edited

Legend:

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

    r27404 r27415  
    2424        nargs = len(args)
    2525        if nargs == 0:
    26             pass
     26            self.setdefaultparameters()
    2727        else:
    2828            raise Exception('constructor not supported')
     
    100100
    101101    # }}}
     102
     103    def setdefaultparameters(self):  # {{{
     104        self.requested_outputs = ['default']
     105        return self
     106    #}}}
  • TabularUnified issm/trunk-jpl/src/m/classes/SMBd18opdd.py

    r27403 r27415  
    3838        self.steps_per_step = 1
    3939        self.averaging = 0
    40 
    41     #set defaults
     40        self.requested_outputs = []
     41
     42        # Set defaults
    4243        self.setdefaultparameters()
    43         self.requested_outputs = []
    4444    #}}}
    4545    def __repr__(self):  # {{{
     
    108108    # }}}
    109109    def setdefaultparameters(self):  # {{{
    110         #pdd method not used in default mode
     110        # pdd method not used in default mode
    111111        self.ismungsm = 0
    112112        self.isd18opd = 1
     
    119119        self.f = 0.169
    120120        self.issetpddfac = 0
     121        self.requested_outputs = ['default']
    121122        return self
    122123    #}}}
     
    197198            WriteData(fid, prefix, 'object', self, 'class', 'smb', 'fieldname', 'pddfac_ice', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts)
    198199
    199     #process requested outputs
     200        # Process requested outputs
    200201        outputs = self.requested_outputs
    201202        indices = [i for i, x in enumerate(outputs) if x == 'default']
  • TabularUnified issm/trunk-jpl/src/m/classes/SMBgradients.py

    r27403 r27415  
    2020        self.averaging = 0
    2121        self.requested_outputs = []
     22
     23        # Set defaults
     24        self.setdefaultparameters()
    2225    #}}}
    2326
     
    4750    def defaultoutputs(self, md):  # {{{
    4851        return ['SmbMassBalance']
     52    #}}}
     53
     54    def setdefaultparameters(self):  # {{{
     55        # Output default
     56        self.requested_outputs = ['default']
     57        return self
    4958    #}}}
    5059
  • TabularUnified issm/trunk-jpl/src/m/classes/SMBgradientsela.py

    r27403 r27415  
    55
    66class SMBgradientsela(object):
    7     """
    8     SMBgradientsela Class definition
     7    """SMBGRADIENTSELA class definition
    98
    10        Usage:
    11           SMBgradientsela = SMBgradientsela()
     9    Usage:
     10        SMBgradientsela = SMBgradientsela()
    1211    """
    1312
    14     def __init__(self):  # {{{
     13    def __init__(self, *args):  # {{{
    1514        self.ela = float('NaN')
    1615        self.b_pos = float('NaN')
     
    2120        self.averaging = 0
    2221        self.requested_outputs = []
    23         self.setdefaultparameters()
     22
     23        if len(args) == 0:
     24            self.setdefaultparameters()
     25        else:
     26            error('constructor not supported')
    2427    #}}}
    2528
     
    5861
    5962    def setdefaultparameters(self):  # {{{
    60         self.b_max = 9999.
    61         self.b_min = -9999.
     63        self.b_max = 9999
     64        self.b_min = -9999
     65        self.requested_outputs = ['default']
    6266        return self
    6367    #}}}
  • TabularUnified issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py

    r27404 r27415  
    88
    99class SMBmeltcomponents(object):
    10     """SMBMELTCOMPONENTS lass definition
     10    """SMBMELTCOMPONENTS class definition
    1111
    1212    Usage:
     
    2424
    2525        if len(args) == 0:
    26             pass
     26            self.setdefaultparameters()
    2727        else:
    2828            error('constructor not supported')
     
    114114        WriteData(fid, prefix, 'data', outputs, 'name', 'md.smb.requested_outputs', 'format', 'StringArray')
    115115    # }}}
     116
     117    def setdefaultparameters(self):  # {{{
     118        self.requested_outputs = ['default']
     119        return self
     120    #}}}
  • TabularUnified issm/trunk-jpl/src/m/classes/SMBpdd.py

    r27403 r27415  
    3838        self.steps_per_step = 1
    3939        self.averaging = 0
    40 
    41     #set defaults
     40        self.requested_outputs = []
     41
     42        # Set defaults
    4243        self.setdefaultparameters()
    43         self.requested_outputs = []
    4444    #}}}
    4545
     
    104104            self.precipitations_presentday = project3d(md, 'vector', self.precipitations_presentday, 'type', 'node')
    105105            self.precipitations_lgm = project3d(md, 'vector', self.precipitations_lgm, 'type', 'node')
    106        
     106
    107107        if self.issetpddfac:
    108108            self.pddfac_snow = project3d(md, 'vector', self.pddfac_snow, 'type', 'node')
     
    138138        self.rlapslgm = 6.5
    139139        self.issetpddfac = 0
     140        self.requested_outputs = ['default']
    140141
    141142        return self
     
    218219            WriteData(fid, prefix, 'object', self, 'class', 'smb', 'fieldname', 'Tdiff', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', 2, 'yts', md.constants.yts)
    219220            WriteData(fid, prefix, 'object', self, 'class', 'smb', 'fieldname', 'sealev', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', 2, 'yts', md.constants.yts)
    220        
     221
    221222        if self.issetpddfac:
    222223            WriteData(fid, prefix, 'object', self, 'class', 'smb', 'fieldname', 'pddfac_snow', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts)
  • TabularUnified issm/trunk-jpl/src/m/classes/SMBpddSicopolis.py

    r27414 r27415  
    138138        WriteData(fid, prefix, 'object', self, 'fieldname', 'averaging', 'format', 'Integer')
    139139
    140         #process requested outputs
     140        # Process requested outputs
    141141        outputs = self.requested_outputs
    142         pos = np.where('default' in outputs)
    143         if not isempty(pos):
    144             outputs[pos] = []  #remove 'default' from outputs
    145             outputs = [outputs, defaultoutputs(self, md)]  #add defaults
    146 
     142        indices = [i for i, x in enumerate(outputs) if x == 'default']
     143        if len(indices) > 0:
     144            outputscopy = outputs[0:max(0, indices[0] - 1)] + self.defaultoutputs(md) + outputs[indices[0] + 1:]
     145            outputs = outputscopy
    147146        WriteData(fid, prefix, 'data', outputs, 'name', 'md.smb.requested_outputs', 'format', 'StringArray')
    148147    # }}}
Note: See TracChangeset for help on using the changeset viewer.