Home > utilities > ST_Dstar.m

ST_Dstar

PURPOSE ^

Calculate non-dimensional grain size D*

SYNOPSIS ^

function [dstar] = ST_Dstar(d,varargin)

DESCRIPTION ^

 Calculate non-dimensional grain size D*

 function [dstar] = ST_Dstar(d,varargin)

 DESCRIPTION:
    Convert grain size from d (m) to dimensionless D

 INPUT:
    d: sediment grain size in m
    [optional] 'temperature' = temperature of the seawater in C [default=10]
    [optional] 'salinity'    = salinity of seawater in PSU      [default=35]
    [optional] 'sdens'       = sediment density in kg/m^3       [default=2650]

 OUTPUT:
    Dstar:  nondimensional grain size

 EXAMPLE USAGE
    dstar = ST_Dstar(.0005,'temperature',10,'salinity',35,'sdens',2650)

 Author(s):
    Geoff Cowles (University of Massachusetts Dartmouth)
    Pierre Cazenave (Plymouth Marine Laboratory)

 Revision history
    2017-03-27 Add support for matrices and some minor syntax changes.

==============================================================================

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [dstar] = ST_Dstar(d,varargin)
0002 % Calculate non-dimensional grain size D*
0003 %
0004 % function [dstar] = ST_Dstar(d,varargin)
0005 %
0006 % DESCRIPTION:
0007 %    Convert grain size from d (m) to dimensionless D
0008 %
0009 % INPUT:
0010 %    d: sediment grain size in m
0011 %    [optional] 'temperature' = temperature of the seawater in C [default=10]
0012 %    [optional] 'salinity'    = salinity of seawater in PSU      [default=35]
0013 %    [optional] 'sdens'       = sediment density in kg/m^3       [default=2650]
0014 %
0015 % OUTPUT:
0016 %    Dstar:  nondimensional grain size
0017 %
0018 % EXAMPLE USAGE
0019 %    dstar = ST_Dstar(.0005,'temperature',10,'salinity',35,'sdens',2650)
0020 %
0021 % Author(s):
0022 %    Geoff Cowles (University of Massachusetts Dartmouth)
0023 %    Pierre Cazenave (Plymouth Marine Laboratory)
0024 %
0025 % Revision history
0026 %    2017-03-27 Add support for matrices and some minor syntax changes.
0027 %
0028 %==============================================================================
0029 
0030 global ftbverbose
0031 [~, subname] = fileparts(mfilename('fullpath'));
0032 if ftbverbose
0033     fprintf('\nbegin : %s\n', subname)
0034 end
0035 
0036 % constants
0037 grav  = 9.8106;   %g
0038 T     = 10;       %T (C)
0039 S     = 35;       %S (PSU)
0040 sdens = 2650;     %sediment density in kg/m^3
0041 
0042 % parse arguments
0043 for i=1:2:length(varargin)-1
0044         keyword  = lower(varargin{i});
0045         if( ~ischar(keyword) )
0046                 error('incorrect usage of ST_Dstar')
0047         end;
0048 
0049         switch(keyword(1:3))
0050 
0051         case 'tem'
0052              T = varargin{i+1};
0053         case 'sal'
0054              S = varargin{i+1};
0055         case 'sde'
0056              sdens = varargin{i+1};
0057         otherwise
0058                 error(['Can''t understand value for:' keyword]);
0059         end; %switch keyword
0060 end;
0061 
0062 % calculate nu
0063 nu = SW_Kviscosity(T,S);
0064 
0065 % calculate rho
0066 dens = SW_Density(T,S);
0067 
0068 % calculate dstar
0069 if isscalar(dens)
0070     s = sdens/dens;
0071     dstar = ([grav*(s-1)/(nu^2)])^(1/3)*d;
0072 else
0073     s = sdens ./ dens;
0074     dstar = ([grav*(s-1)./(nu.^2)]).^(1/3).*d;
0075 end
0076 
0077 if ftbverbose
0078     fprintf('end   : %s\n', subname)
0079 end

Generated on Wed 20-Feb-2019 16:06:01 by m2html © 2005