| 1 | jmc | 1.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 | jmc | 1.2 | % $Header: /u/gcmpack/MITgcm_contrib/jmc_script/c_levs.m,v 1.1 2008/10/09 01:08:27 jmc Exp $ | 
| 8 | jmc | 1.1 | % $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 | jmc | 1.2 | if d0 <= 0, | 
| 21 |  |  | ctl=0; return | 
| 22 |  |  | end | 
| 23 |  |  | k0=log(d0)/log(10); | 
| 24 |  |  | kd=round(k0); | 
| 25 |  |  | pp=10.^kd; | 
| 26 | jmc | 1.1 | dd=round(d0/pp); | 
| 27 | jmc | 1.2 | if dd == 0, | 
| 28 |  |  | kd=floor(k0); | 
| 29 |  |  | pp=10.^kd; | 
| 30 | jmc | 1.1 | 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 |