Changeset 25422


Ignore:
Timestamp:
08/17/20 20:40:17 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: better killberg routine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/parameterization/killberg.m

    r25192 r25422  
    1 %function ice_levelset = killberg(md)
    21function ice_levelset = killberg(md)
    32%KILLBERG - kill ice berg
     
    2120%do not go through elements that don't have ice, mark flag as 1 (done)
    2221isice = min(md.mask.ice_levelset(md.mesh.elements),[],2)<0;
     22%isice = (sum(md.mask.ice_levelset(md.mesh.elements)<0,2)>1);
    2323element_flag(find(~isice)) = 1;
    2424
    25 %do not go through elements that are grounded, mark flag as 1 (done)
     25%do not go through elements that are grounded, mark flag as 1 (done) need at least 2 vertices!
    2626%and initialize mask as 1 for all vertices of these elements
    27 isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0;
     27isgrounded=(sum(md.mask.ocean_levelset(md.mesh.elements)>0,2)>1);
     28%isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0;
    2829pos = find(isgrounded);
    2930element_flag(pos) = 1;
     
    3839        for i=find(~element_flag)'
    3940                indices = md.mesh.elements(i,:);
    40                 MAX=max(mask(indices));
    41                 if(MAX==0)
     41                test = sum(mask(indices)>0)>1;
     42                if(~test)
    4243                        continue;
    4344                else
     
    5354pos = find(mask==0 & md.mask.ice_levelset<0);
    5455if numel(pos)
    55         disp(['REMOVING ' num2str(numel(pos)) ' vertices on icebergs']);
     56        if numel(pos)==1
     57                disp(['REMOVING ' num2str(numel(pos)) ' vertex on icebergs']);
     58        else
     59                disp(['REMOVING ' num2str(numel(pos)) ' vertices on icebergs']);
     60        end
    5661        ice_levelset = md.mask.ice_levelset;
    5762        ice_levelset(pos) = +1;
Note: See TracChangeset for help on using the changeset viewer.