Ignore:
Timestamp:
10/19/20 13:31:26 (4 years ago)
Author:
jdquinn
Message:

CHG: MATLAB -> Python translations in support of tests 2005 and 2006 (still have errors to work out here); clean up; various minor improvements

Location:
issm/trunk-jpl/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src

  • issm/trunk-jpl/src/m/classes/lovenumbers.py

    r25183 r25688  
    99
    1010class lovenumbers(object): #{{{
    11     '''
    12     LOVENUMBERS numbers class definition
     11    """LOVENUMBERS class definition
    1312
    14         Usage:
    15             lovenumbers = lovenumbers() #will setup love numbers deg 1001 by default
    16             lovenumbers = lovenumbers('maxdeg', 10001);  #supply numbers of degrees required (here, 10001)
    17     '''
     13    Usage:
     14        lovenumbers = lovenumbers() #will setup love numbers deg 1001 by default
     15        lovenumbers = lovenumbers('maxdeg', 10001);  #supply numbers of degrees required (here, 10001)
     16    """
    1817
    1918    def __init__(self, *args): #{{{
    20         #regular love numbers:
    21         self.h = []  #provided by PREM model
    22         self.k = []  #idem
    23         self.l = []  #idem
     19        # Regular love numbers
     20        self.h = []  # Provided by PREM model
     21        self.k = []  # idem
     22        self.l = []  # idem
    2423
    25         #tidal love numbers for computing rotational feedback:
     24        # Tidal love numbers for computing rotational feedback
    2625        self.th = []
    2726        self.tk = []
    2827        self.tl = []
    29         self.tk2secular = 0 #deg 2 secular number.
     28        self.tk2secular = 0 # deg 2 secular number
    3029
    3130        options = pairoptions(*args)
     
    3635
    3736    def setdefaultparameters(self, maxdeg, referenceframe): #{{{
    38         #initialize love numbers:
     37        # Initialize love numbers
    3938        self.h = getlovenumbers('type', 'loadingverticaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    4039        self.k = getlovenumbers('type', 'loadinggravitationalpotential', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
     
    4443        self.tl = getlovenumbers('type', 'tidalhorizontaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    4544
    46         #secular fluid love number:
     45        # Secular fluid love number
    4746        self.tk2secular = 0.942
     47        return self
    4848    #}}}
    4949
    5050    def checkconsistency(self, md, solution, analyses): #{{{
    51         if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and md.transient.isslr == 0):
     51        if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslr):
    5252            return
    53 
    5453        md = checkfield(md, 'fieldname', 'solidearth.lovenumbers.h', 'NaN', 1, 'Inf', 1)
    5554        md = checkfield(md, 'fieldname', 'solidearth.lovenumbers.k', 'NaN', 1, 'Inf', 1)
     
    5958        md = checkfield(md, 'fieldname', 'solidearth.lovenumbers.tk', 'NaN', 1, 'Inf', 1)
    6059        md = checkfield(md, 'fieldname', 'solidearth.lovenumbers.tk2secular', 'NaN', 1, 'Inf', 1)
    61 
    62         #check that love numbers are provided at the same level of accuracy:
     60        # Check that love numbers are provided at the same level of accuracy
    6361        if (self.h.shape[0] != self.k.shape[0]) or (self.h.shape[0] != self.l.shape[0]):
    6462            raise ValueError('lovenumbers error message: love numbers should be provided at the same level of accuracy')
     63        return md
    6564    #}}}
    6665
     
    7069
    7170    def __repr__(self): #{{{
    72         s = '   lovenumbers parameters:'
    73 
     71        s = '   lovenumbers parameters:\n'
    7472        s += '{}\n'.format(fielddisplay(self, 'h', 'load Love number for radial displacement'))
    7573        s += '{}\n'.format(fielddisplay(self, 'k', 'load Love number for gravitational potential perturbation'))
     
    7876        s += '{}\n'.format(fielddisplay(self, 'tk', 'tidal load Love number (deg 2)'))
    7977        s += '{}\n'.format(fielddisplay(self, 'tk2secular', 'secular fluid Love number'))
    80 
    8178        return s
    8279    #}}}
Note: See TracChangeset for help on using the changeset viewer.