Changeset 21306


Ignore:
Timestamp:
10/23/16 13:11:06 (8 years ago)
Author:
adhikari
Message:

CHG: love numbers added for center-of-figure reference frame

Location:
issm/trunk-jpl
Files:
4 edited

Legend:

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

    r20181 r21306  
    1 function series=love_numbers(type)
    2 %LOVE_NUMBERS: provide love numbers (type 'h','k','l','gamma' and 'lambda'
    3 %                          retrieved from: http://www.srosat.com/iag-jsg/loveNb.php
    4 %    Usage:   series=love_numbers(type)
    5 %             where type is one of 'h','k','l','gamma' and 'lambda'.
     1function series=love_numbers(type,reference_frame)
     2%LOVE_NUMBERS: provide love numbers
     3%       retrieved from: http://www.srosat.com/iag-jsg/loveNb.php
     4%       in a chosen reference frame
     5
     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'.
    69%
    7 %    Example: 
    8 %          love_k=love_numbers('k');
     10%       Example: 
     11%       love_k=love_numbers('k','CF');
    912%
    1013
    1114        %some checks:
    12         if nargin~=1, error('love_numbers error message: wrong usage'); end
     15        if nargin~=2, error('love_numbers error message: wrong usage'); end
    1316
    1417        if ~( strcmpi(type,'h') | strcmpi(type,'k') | strcmpi(type,'l') | strcmpi(type,'gamma') | strcmpi(type,'lambda') ),
    1518                error('type should be one of ''h'',''k'',''l'',''gamma'' and ''lambda''');
     19        end
     20
     21        if ~( strcmpi(reference_frame,'CM') | strcmpi(reference_frame,'CF')),
     22                error('reference_frame should be one of ''CM'' or ''CF''');
    1623        end
    1724
     
    1002910036        elseif type=='lambda',
    1003010037                series=love_numbers(:,5);
    10031         else error(['love_numbers error message: unknow type:' type]);
     10038        else
     10039                error(['love_numbers error message: unknow type:' type]);
    1003210040        end
     10041
     10042        % choose degree 1 term for CF reference system
     10043        if reference_frame=='CM',
     10044                return;
     10045        elseif reference_frame=='CF', % from Blewitt, 2003, JGR
     10046                if type=='h',
     10047                        series(2,1) = -0.269;
     10048                elseif type=='k',
     10049                        series(2,1) = 0.021; 
     10050                elseif type=='l',
     10051                        series(2,1) = 0.134;
     10052                end
     10053        else
     10054                error(['love_numbers error message: unknow reference frame:' reference_frame]);
     10055        end
     10056
  • issm/trunk-jpl/test/NightlyRun/test2002.m

    r21296 r21306  
    2020%elastic loading from love numbers:
    2121nlov=101;
    22 md.slr.love_h = love_numbers('h'); md.slr.love_h(nlov+1:end)=[];
    23 md.slr.love_k = love_numbers('k'); md.slr.love_k(nlov+1:end)=[];
    24 md.slr.love_l = love_numbers('l'); md.slr.love_l(nlov+1:end)=[];
     22md.slr.love_h = love_numbers('h','CM'); md.slr.love_h(nlov+1:end)=[];
     23md.slr.love_k = love_numbers('k','CM'); md.slr.love_k(nlov+1:end)=[];
     24md.slr.love_l = love_numbers('l','CM'); md.slr.love_l(nlov+1:end)=[];
    2525
    2626%}}}
  • issm/trunk-jpl/test/NightlyRun/test2101.m

    r21273 r21306  
    1212%love numbers:
    1313nlov=10001;
    14 md.esa.love_h = love_numbers('h'); md.esa.love_h(nlov+1:end)=[];
    15 md.esa.love_l = love_numbers('l'); md.esa.love_l(nlov+1:end)=[];
     14md.esa.love_h = love_numbers('h','CM'); md.esa.love_h(nlov+1:end)=[];
     15md.esa.love_l = love_numbers('l','CM'); md.esa.love_l(nlov+1:end)=[];
    1616
    1717%mask:  {{{
  • issm/trunk-jpl/test/NightlyRun/test2110.m

    r21273 r21306  
    1717%love numbers:
    1818nlov=10001;     % horizontal displacements do not work for low degree truncation, e.g., 101
    19 md.esa.love_h = love_numbers('h'); md.esa.love_h(nlov+1:end)=[];
    20 md.esa.love_l = love_numbers('l'); md.esa.love_l(nlov+1:end)=[];
     19md.esa.love_h = love_numbers('h','CM'); md.esa.love_h(nlov+1:end)=[];
     20md.esa.love_l = love_numbers('l','CM'); md.esa.love_l(nlov+1:end)=[];
    2121
    2222%mask:  {{{
Note: See TracChangeset for help on using the changeset viewer.