source: issm/oecreview/Archive/16554-17801/ISSM-17146-17147.diff@ 17802

Last change on this file since 17802 was 17802, checked in by Mathieu Morlighem, 11 years ago

Added archives

File size: 2.4 KB
  • ../trunk-jpl/src/m/inversions/misfit.m

     
    1 function J=misfit(md)
    2 %MISFIT - compute misfit
    3 %
    4 %   Usage:
    5 %      J=misfit(md)
    6 %
    7 %   Example:
    8 %      J=misfit(md)
    9 %
    10 
    11 if md.mesh.dimension==2,
    12         elements=md.mesh.elements;
    13         x=md.mesh.x;
    14         y=md.mesh.y;
    15         %vx=md.initialization.vx;
    16         %vy=md.initialization.vy;
    17         vx=md.results.StressbalanceSolution.Vx;
    18         vy=md.results.StressbalanceSolution.Vy;
    19         vx_obs=md.inversion.vx_obs;
    20         vy_obs=md.inversion.vy_obs;
    21 else
    22         elements=md.mesh.elements2d;
    23         x=md.mesh.x2d;
    24         y=md.mesh.y2d;
    25         vx=project2d(md,md.initialization.vx,md.mesh.numberoflayers);
    26         vy=project2d(md,md.initialization.vy,md.mesh.numberoflayers);
    27         vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers);
    28         vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers);
    29 end
    30 
    31 %compute areas;
    32 areas=GetAreas(elements,x,y);
    33 
    34 %compute delta v on elements
    35 deltav=1/2*(   (vx-vx_obs).^2+(vy-vy_obs).^2)/md.constants.yts^2;
    36 deltav_elem=deltav(elements)*[1;1;1]/3;
    37 
    38 %compute misfit
    39 J=sum(deltav_elem.*areas);
  • ../trunk-jpl/src/m/inversions/velocitymisfit.m

     
     1function J=misfit(md)
     2%MISFIT - compute misfit
     3%
     4%   Usage:
     5%      J=misfit(md)
     6%
     7%   Example:
     8%      J=misfit(md)
     9%
     10
     11if md.mesh.dimension==2,
     12        elements=md.mesh.elements;
     13        x=md.mesh.x;
     14        y=md.mesh.y;
     15        %vx=md.initialization.vx;
     16        %vy=md.initialization.vy;
     17        vx=md.results.StressbalanceSolution.Vx;
     18        vy=md.results.StressbalanceSolution.Vy;
     19        vx_obs=md.inversion.vx_obs;
     20        vy_obs=md.inversion.vy_obs;
     21else
     22        elements=md.mesh.elements2d;
     23        x=md.mesh.x2d;
     24        y=md.mesh.y2d;
     25        vx=project2d(md,md.initialization.vx,md.mesh.numberoflayers);
     26        vy=project2d(md,md.initialization.vy,md.mesh.numberoflayers);
     27        vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers);
     28        vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers);
     29end
     30
     31%compute areas;
     32areas=GetAreas(elements,x,y);
     33
     34%compute delta v on elements
     35deltav=1/2*(   (vx-vx_obs).^2+(vy-vy_obs).^2)/md.constants.yts^2;
     36deltav_elem=deltav(elements)*[1;1;1]/3;
     37
     38%compute misfit
     39J=sum(deltav_elem.*areas);
Note: See TracBrowser for help on using the repository browser.