| 1 |
function [ctl]=c_levs(mn,Mx,dc,dBug); |
| 2 |
% [ctl]=c_levs(mn,Mx,dc,[option]); |
| 3 |
%- return contour levels |
| 4 |
% dc > 0 : select contour-levels as multiple of "dc" within [mn,Mx] |
| 5 |
% dc < 0 : select aproximatively |dc| contour levels, within [mn,Mx] |
| 6 |
|
| 7 |
% $Header: /u/gcmpack/MITgcm_contrib/jmc_script/c_levs.m,v 1.1 2008/10/09 01:08:27 jmc Exp $ |
| 8 |
% $Name: $ |
| 9 |
|
| 10 |
if nargin < 3, |
| 11 |
error('Not enough argument (need at least 3)'); |
| 12 |
return |
| 13 |
end |
| 14 |
if nargin < 4, dBug=0; end |
| 15 |
|
| 16 |
if dc > 0, |
| 17 |
dd=dc; |
| 18 |
else |
| 19 |
d0=(mn-Mx)/dc; |
| 20 |
if d0 <= 0, |
| 21 |
ctl=0; return |
| 22 |
end |
| 23 |
k0=log(d0)/log(10); |
| 24 |
kd=round(k0); |
| 25 |
pp=10.^kd; |
| 26 |
dd=round(d0/pp); |
| 27 |
if dd == 0, |
| 28 |
kd=floor(k0); |
| 29 |
pp=10.^kd; |
| 30 |
dd=round(d0/pp); |
| 31 |
end |
| 32 |
dd=pp*dd; |
| 33 |
if dBug > 0, fprintf(' -dc= %i ; d0 = %e ; kd,k0= %i,%f ; pp=%e ; dd=%e\n', ... |
| 34 |
-dc,d0,kd,k0,pp,dd); end |
| 35 |
end |
| 36 |
|
| 37 |
ctl=[ceil(mn/dd):floor(Mx/dd)]*dd; |
| 38 |
|
| 39 |
return |