source: issm/oecreview/Archive/20545-21336/ISSM-21306-21307.diff@ 21337

Last change on this file since 21337 was 21337, checked in by Mathieu Morlighem, 8 years ago

CHG: added Archive/20545-21336

File size: 2.5 KB
  • ../trunk-jpl/src/m/boundaryconditions/love_numbers.m

     
    33%       retrieved from: http://www.srosat.com/iag-jsg/loveNb.php
    44%       in a chosen reference frame
    55
    6 %       Usage: series=love_numbers(type,reference_frame)
    7 %       type is one of 'h','k','l','gamma' and 'lambda'.
    8 %       reference_frame is one of 'CM' and 'CF'.
     6%       Usage:
     7%       series = love_numbers(type)
     8%       series = love_numbers(type,reference_frame)
     9%
     10%       - type = one of 'h','k','l','gamma' and 'lambda'.
     11%       - reference_frame = one of 'CM' (default) and 'CF'.
    912%
    1013%       Example: 
    11 %       love_k=love_numbers('k','CF');
     14%       love_k = love_numbers('k');
     15%       love_k = love_numbers('k','CF');
    1216%
    1317
    14         %some checks:
    15         if nargin~=2, error('love_numbers error message: wrong usage'); end
    16 
    17         if ~( strcmpi(type,'h') | strcmpi(type,'k') | strcmpi(type,'l') | strcmpi(type,'gamma') | strcmpi(type,'lambda') ),
    18                 error('type should be one of ''h'',''k'',''l'',''gamma'' and ''lambda''');
    19         end
    20 
     18% some checks:
     19if nargin==1,
     20        frame='CM';
     21        disp('Info: computation is done in Center of Mass (CM) reference frame');
     22elseif nargin==2,
     23        frame=reference_frame;
    2124        if ~( strcmpi(reference_frame,'CM') | strcmpi(reference_frame,'CF')),
    2225                error('reference_frame should be one of ''CM'' or ''CF''');
    2326        end
     27else
     28        help love_numbers
     29        error('bad usage');
     30end
    2431
    25         love_numbers=[...
     32if ~( strcmpi(type,'h') | strcmpi(type,'k') | strcmpi(type,'l') | strcmpi(type,'gamma') | strcmpi(type,'lambda') ),
     33        error('type should be one of ''h'',''k'',''l'',''gamma'' and ''lambda''');
     34end
     35
     36                love_numbers=[...
    2637     0           0          0          0          0          0          0
    2738        -1.28740059     -1.00000000     -0.89858519 1.28740059 0.42519882 0.89858519 0.00000000
    2839        -1.00025365 -0.30922675 0.02060926 1.69102690 0.46358648 0.67016399 0.61829668;
     
    1004010051        end
    1004110052
    1004210053        % choose degree 1 term for CF reference system
    10043         if reference_frame=='CM',
     10054        if frame=='CM',
    1004410055                return;
    10045         elseif reference_frame=='CF', % from Blewitt, 2003, JGR
     10056        elseif frame=='CF', % from Blewitt, 2003, JGR
    1004610057                if type=='h',
    1004710058                        series(2,1) = -0.269;
    1004810059                elseif type=='k',
     
    1005110062                        series(2,1) = 0.134;
    1005210063                end
    1005310064        else
    10054                 error(['love_numbers error message: unknow reference frame:' reference_frame]);
     10065                error(['love_numbers error message: unknow reference frame:' frame]);
    1005510066        end
    1005610067
Note: See TracBrowser for help on using the repository browser.