Changeset 22353


Ignore:
Timestamp:
01/14/18 21:56:59 (7 years ago)
Author:
adhikari
Message:

CHG: center of frame reference frame implemented

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/m/boundaryconditions/love_numbers.py

    r21410 r22353  
    77#                          retrieved from: http://www.srosat.com/iag-jsg/loveNb.php
    88#    Usage:   series=love_numbers(value)
     9#             series=love_numbers(value,reference_frame)
     10#
    911#             where value is one of 'h','k','l','gamma' and 'lambda'.
     12#             reference_frame = one of 'CM' (default) and 'CF'.
    1013#
    1114#    Example: 
    1215#          love_k=love_numbers('k');
     16#          love_k=love_numbers('k','CF');
    1317#
    1418
    15         #some checks:
    16         if len(varargin)>0:
    17                 raise RuntimeError('love_numbers error message: wrong usage')
    18 
    19         if value not in ['h','k','l','gamma','lambda']:
    20                 raise RuntimeError('value should be one of ''h'',''k'',''l'',''gamma'' and ''lambda''')
    21 
    22         love_numbers=np.array([[    0         , 0          ,0          ,0          ,0          ,0          ,0          ],
     19        # some checks:
     20        if varargin==1:
     21            frame='CM';
     22        elif varargin==2:
     23            frame=reference_frame;
     24        else:
     25            raise RuntimeError('love_numbers error message: bad usage')
     26       
     27        if value not in ['h','k','l','gamma','lambda']:
     28            raise RuntimeError('value should be one of ''h'',''k'',''l'',''gamma'' and ''lambda''')
     29       
     30        love_numbers=np.array([[    0         , 0          ,0          ,0          ,0          ,0          ,0          ],
    2331                                                                                                 [      -1.28740059,-1.00000000,-0.89858519,1.28740059, 0.42519882  ,0.89858519 ,0.00000000 ],
    2432                                                                                                 [      -1.00025365, -0.30922675, 0.02060926, 1.69102690, 0.46358648, 0.67016399, 0.61829668],
     
    1002110029                                                                                                 [      -6.27342771, -0.00030948, 0.00018957, 7.27311822, 0.99905470, 0.99950094, 0.49327205],
    1002210030                                                                                                 [      -6.27342778, -0.00030945, 0.00018956, 7.27311833, 0.99905480, 0.99950099, 0.49327194]]);
    10023 
    10024 
    10025         if value=='h':
     10031                                                                                                 
     10032        if value=='h':
    1002610033                series=love_numbers[:,0];
    1002710034        elif value=='k':
     
    1003510042        else:
    1003610043                raise RuntimeError(['love_numbers error message: unknow value:', value])
    10037                
    10038         return series
     10044       
     10045        % choose degree 1 term for CF reference system
     10046        if frame=='CF': # from Blewitt, 2003, JGR
     10047            if value=='h':
     10048                    series[2,1] = -0.269;
     10049            elif value=='k':
     10050                    series[2,1] = 0.021; 
     10051            elif value=='l':
     10052                    series[2,1] = 0.134;
     10053       
     10054        return series
     10055
Note: See TracChangeset for help on using the changeset viewer.