Home > atmlab > forwardmodel > cruzpol98.m

cruzpol98

PURPOSE ^

CRUZPOL98 Water absorption according to Cruz Pol et al. 1998

SYNOPSIS ^

function A = cruzpol98(f,p,t,e)

DESCRIPTION ^

 CRUZPOL98   Water absorption according to Cruz Pol et al. 1998

    A simple model for water vapour absorption below 30 GHz, taken from
    "Improved 20- to 32-GHz atmospheric absorption model" by Cruz Pol et al.,
    Radio Science, Vol 33, 1319-1333, 1998.

    The function considers only water vapour. Oxygen is not included, 
    in contrast to the complete Cruz Pol model.

    The vectors to describe the atmospheric conditions (*p*, *t* and *e*)
    must all have the same length. The water vapour amount is specified 
    by the relative humidity.

 FORMAT   A = cruzpol98(f,p,t,e)
        
 OUT   A   Absorption matrix [1/m] Size [length(p),length(f)]
 IN    f   Frequency vector 
       p   Pressure vector
       t   Temperature vector
       e   Relative humidity (with respect to water) vector

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

cruzpol98.m

SOURCE CODE ^

0001 % CRUZPOL98   Water absorption according to Cruz Pol et al. 1998
0002 %
0003 %    A simple model for water vapour absorption below 30 GHz, taken from
0004 %    "Improved 20- to 32-GHz atmospheric absorption model" by Cruz Pol et al.,
0005 %    Radio Science, Vol 33, 1319-1333, 1998.
0006 %
0007 %    The function considers only water vapour. Oxygen is not included,
0008 %    in contrast to the complete Cruz Pol model.
0009 %
0010 %    The vectors to describe the atmospheric conditions (*p*, *t* and *e*)
0011 %    must all have the same length. The water vapour amount is specified
0012 %    by the relative humidity.
0013 %
0014 % FORMAT   A = cruzpol98(f,p,t,e)
0015 %
0016 % OUT   A   Absorption matrix [1/m] Size [length(p),length(f)]
0017 % IN    f   Frequency vector
0018 %       p   Pressure vector
0019 %       t   Temperature vector
0020 %       e   Relative humidity (with respect to water) vector
0021 
0022 % 2004-10-26   Created by Patrick Eriksson.
0023 
0024 
0025 function A = cruzpol98(f,p,t,e)
0026 
0027 
0028 Cl = 1.0639;
0029 Cw = 1.0658;
0030 Cc = 1.2369;
0031 
0032 
0033 nf = length(f);
0034 np = length(p);
0035 
0036 
0037 if length(t) ~= np
0038  error('Length of pressure (*p*) and temperature (*t*) vectors must be equal.')
0039 end
0040 if length(e) ~= np
0041  error(['Length of pressure (*p*) and relative humidity (*e*) vectors ',...
0042                                                              'must be equal.'])
0043 end
0044 
0045 F     = repmat( vec2row( f/1e9 ), np, 1 );
0046 P     = repmat( vec2col( p/100 ), 1, nf );
0047 T     = repmat( vec2col( t ), 1, nf );
0048 Theta = 300 ./ T;
0049 Ph2o  = repmat( vec2col(e).*e_eq_water(vec2col(t))/100, 1, nf );
0050 Pdry  = P - Ph2o;
0051 Ga    = 0.002784 * Cw * ( Pdry.*Theta.^0.6 + 4.8*Ph2o.*Theta.^1.1 );
0052 f0    = 22.235;
0053 
0054 
0055 %= Water vapour (factor 1e-3 to go from 1/km to 1/m)
0056 %
0057 A = ( 1e-3 * 0.0419 ) * F.^2 .* ( ...
0058        0.0109*Cl*Ph2o.*Theta.^3.5.*exp(2.143*(1-Theta)) .* ...
0059        Ga .* ( 1./((f0-F).^2+Ga.^2) + 1./((f0+F).^2+Ga.^2) ) / f0 + ...
0060        Cc * ( 1.13e-8*Ph2o.*Pdry.*Theta.^3 + 3.57e-7*Ph2o.^2.*Theta.^10.5 ) );
0061 
0062

Generated on Mon 15-Sep-2014 13:31:28 by m2html © 2005