function v = spher_truncated(x,D)

%SPHER computes values of spherical variogram with truncation, range = max(D).

%Written by: TONY E. SMITH, 2/20/98

%INPUTS: (i)  x(1) = sill
%        (ii) x(2) = nugget
%        (iii)  D = (m,1) vector of dist values (di)

%OUTPUT:
%        v = (m,1) vector of spherical values for D


%Use absolute values to ensure nonnegative inputs

r = max(D) ; 
s = abs(x(1)) ;
a = max([0 x(2)]) ; 

%Initialize values

m = length(D) ;

v = zeros(m,1) ;

D = min(D,r*ones(m,1)) ;

v = (a*ones(m,1)) +  (abs(s - a)) *...
          (((3*D)/(2*r)) - ((D.^3)/(2*r^3))); 
      
     
   
   

