Changeset 24851


Ignore:
Timestamp:
05/13/20 09:55:24 (5 years ago)
Author:
Eric.Larour
Message:

CHG: final versions of glaciermip and rgi classes.

Location:
issm/trunk-jpl/src/m/contrib/larour
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/contrib/larour/glacier_inventory.m

    r24850 r24851  
    3232                                self.shapefileroot=getfieldvalue(options,'shapefileroot');
    3333                                self.region_names=getfieldvalue(options,'region_names');
     34                                regions_zone_shapefile=getfieldvalue(options,'regions_zone_shapefile','');
     35
     36                                %region region zones first if available:
     37                                if ~strcmpi(regions_zone_shapefile,''),
     38                                        region_zones=shpread(regions_zone_shapefile);
     39                                end
    3440
    3541                                %read the shape files and create the regions:
     
    4046                                        disp(['reading region: '  self.regions(i).name]);
    4147                                        self.regions(i).id=i;
     48                                        self.regions(i).zone=[region_zones(i).x,region_zones(i).y];
    4249                                        contours=shpread([self.shapefileroot '/' self.regions(i).name '.shp']);
    4350                                       
  • issm/trunk-jpl/src/m/contrib/larour/glaciermip.m

    r24848 r24851  
    8484                        sc=getfieldvalue(options,'scenario',1:length(self.scenario));
    8585                        zerostonan=getfieldvalue(options,'zerostonan',0);
     86                        unit=getfieldvalue(options,'unit','Gt');
     87                        sumregion=getfieldvalue(options,'sumregion',0);
    8688
    8789                        if self.version==1,
     
    9092
    9193                        %serialize:
    92                         masses=[];
    93                         for i=rg,
    94                                 for j=cm,
    95                                         for k=gm,
    96                                                 for l=sc,
    97                                                         masses=[masses; squeeze(self.mass(i,:,j,k,l))];
     94                        if sumregion,
     95                                for i=rg,
     96                                        masses_regioni=[];
     97                                        for j=cm,
     98                                                for k=gm,
     99                                                        for l=sc,
     100                                                                masses_regioni=[masses_regioni; squeeze(self.mass(i,:,j,k,l))];
     101                                                        end
     102                                                end
     103                                        end
     104                                        if i==1,
     105                                                masses=masses_regioni;
     106                                        else
     107                                                masses=masses+masses_regioni;
     108                                        end
     109                                end
     110                        else
     111                                masses=[];
     112                                for i=rg,
     113                                        for j=cm,
     114                                                for k=gm,
     115                                                        for l=sc,
     116                                                                masses=[masses; squeeze(self.mass(i,:,j,k,l))];
     117                                                        end
    98118                                                end
    99119                                        end
     
    103123                                masses(find(masses==0))=NaN;
    104124                        end
     125                        if strcmpi(unit,'mmSLE'),
     126                                masses=masses/sletogt();
     127                        end
     128
    105129
    106130                end % }}}
     
    108132               
    109133                        options=pairoptions(varargin{:});
     134
     135                        unit=getfieldvalue(options,'unit','Gt/yr');
    110136
    111137                        %get mass first:
     
    121147                        end
    122148
     149                        if strcmpi(unit,'mmSLE/yr'),
     150                                massrates=massrates/sletogt();
     151                        end
    123152
    124153                end % }}}
     
    149178                        end
    150179                end % }}}
    151         end
     180        end 
    152181end
Note: See TracChangeset for help on using the changeset viewer.