ucftools/matlab/ncol_from_colmap.m

26 lines
937 B
Matlab

function [ncol,ncol_rank,ncol_hybrid,ncol_dem,ncol_scal] = ncol_from_colmap(col)
% [ncol,ncol_rank,ncol_hybrid,ncol_dem,ncol_scal] = ncol_from_flags(irank,ihybrid,idem,iscal)
% Get number of columns from containers.Map object
% Input
% col column map which can be indexed by e.g. col('x')
% Output
% ncol total number of columns
% ncol_rank number of columns (rank)
% ncol_hybrid number of columns (hybrid)
% ncol_dem number of columns (DEM)
% ncol_scal number of columns (scalar)
ncol_rank = 0;
ncol_hybrid = 0;
ncol_dem = 0;
ncol_scal = 0;
if col.isKey('rank'); ncol_rank = 1; end
if col.isKey('fx'); ncol_hybrid = 21; end
if col.isKey('fxc'); ncol_dem = 6; end
ii = 1;
while col.isKey(sprintf('s%d',ii))
ncol_scal = ncol_scal+2;
ii = ii+1;
end
ncol = ncol_rank+ncol_hybrid+ncol_dem+ncol_scal;
end