Changeset 27049
- Timestamp:
- 06/03/22 11:15:04 (3 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpIBCSO2.m
r27037 r27049 1 function [bedout sid] = interpIBCSO (X,Y),1 function [bedout sid] = interpIBCSO2(X,Y), 2 2 3 3 %read data 4 4 switch (oshostname()), 5 case {'ronne'}6 ncpath='/home/ModelData/Antarctica/IBCSO/ibcso_v1_bed.grd';7 sidpath='/home/ModelData/Antarctica/IBCSO/ibcso_v1_sid.grd';8 5 case {'totten'} 9 ncpath='/totten_1/ModelData/Antarctica/IBCSO /ibcso_v1_bed.grd';10 sidpath='/totten_1/ModelData/Antarctica/IBCSO /ibcso_v1_sid.grd';6 ncpath='/totten_1/ModelData/Antarctica/IBCSO2/IBCSO_v2_bed.nc'; 7 sidpath='/totten_1/ModelData/Antarctica/IBCSO2/IBCSO_v2_TID.nc'; 11 8 otherwise 12 9 error('hostname not supported yet'); 13 10 end 14 11 15 disp(' -- IBCSO: loading bathymetry'); 16 x_range = double(ncread(ncpath,'x_range')); 17 y_range = double(ncread(ncpath,'y_range')); 18 spacing = double(ncread(ncpath,'spacing')); 19 xdata = (x_range(1)-spacing(1)/2) : spacing(1) : (x_range(2)-spacing(1)/2); 20 ydata = (y_range(1)-spacing(2)/2) : spacing(2) : (y_range(2)-spacing(2)/2); 21 data = double(ncread(ncpath,'z')); 22 data(find(data==-9999 | isinf(data))) = NaN; 23 data = reshape(data,[numel(xdata) numel(ydata)])'; 24 disp(' -- IBCSO: interpolating bed'); 25 bedout = InterpFromGrid(xdata,fliplr(ydata),data,double(X),double(Y)); 12 disp(' -- IBCSOv2: loading bathymetry'); 13 xdata = double(ncread(ncpath,'x')); 14 ydata = double(ncread(ncpath,'y')); 15 data = double(ncread(ncpath,'z'))'; 16 disp(' -- IBCSOv2: interpolating bed'); 17 bedout = InterpFromGrid(xdata,ydata,data,double(X),double(Y)); 26 18 27 19 if nargout==2, 28 disp(' -- IBCSO: bathymetry sid'); 29 xdata = ncread(sidpath,'x'); 30 ydata = ncread(sidpath,'y'); 31 data = ncread(sidpath,'z')'; 32 disp(' -- IBCSO: transforming coordinates'); 33 [LAT,LON] = xy2ll(double(X(:)),double(Y(:)),-1,0,71); 34 [x065,y065] = ll2xy(LAT,LON,-1,0,65); 35 x065 = reshape(x065,size(X)); 36 y065 = reshape(y065,size(Y)); 37 disp(' -- IBCSO: interpolating sids'); 38 sid = InterpFromGrid(xdata,ydata,data,x065,y065,'nearest'); 39 sid(find(sid<200000)) = 0; 40 sid(find(sid>399999)) = 0; 20 disp(' -- IBCSOv2: bathymetry sid'); 21 data = ncread(sidpath,'tid')'; 22 disp(' -- IBCSOv2: interpolating sids'); 23 sid = InterpFromGrid(xdata,ydata,data,double(X),double(Y),'nearest'); 41 24 end
Note:
See TracChangeset
for help on using the changeset viewer.