by Shin Satoh Feb. 27, 2001

Hidden precious cloud-physical values in 2A25

(a) Water content of precipitaion
(b) Terminal velocity of precipitaion


The Kozu and Iguchi's DSD model includes parameters in 
not only R-Ze and K-Ze relations but also WC-Ze relations.
Using the coefficients of WC-Ze relations, we can calculate 
(a) water content (or mixing ratio of precipitation), and 
(b) mean terminal velocity of precipitation.  

R [mm hr^-1] is rainfall rate.
R*10e-3/3600 [m s^-1]
RhoL*R*10e-3/3600 [kg m^-2 s^-1]
  where RhoL=10e3 [kg m^-3] is water density.
R/(3600*Vt) [kg m^-3], ---- (1)
  where Vt [m s^-1] is terminal velocity

While, WC [g m^-3] is water content.
WC*10e-3 [kg m^-3]     ---- (2)

From (1) and (2), we can obtain the relations of R, WC, and Vt.
R=3.6*Vt*WC            ---- (3)
When the mixing ratio of precipitation qP [kg kg^-1] is used,
R=3.6*Vt*Rho*qP        ---- (4)
where Rho is the air-density in each height. The qP seems to 
include qR, qS, and qG (mixing ratio of rain, snow, grauple/hail).
Since the U.S. standard atmosphere has been used in 2A25 for vratio, 
the Rho in (4) is also U.S. standard value.
vratio=(Rho0/Rho)^0.4

The follows are extracts from my program source.  In this version, 
the coefficients of WC-Ze relations are used when epsilon=1. 
However, I am expecting adjusted WC-Ze parameters by epsilon 
in 5 nodes will be included in 2A25 version 6.  The new raintype 
flag, which is "Anvil", is also expected (see Fig. 5)

/* ------- WC-Ze relations ---------- */
static float ZWParmAlpha[3][5]={
  {0.00620868,0.00537114,0.00391752,0.00391752,0.00444452}, /* others */
  {0.00383613,0.00325046,0.00074301,0.00199806,0.00223787}, /* strat */
  {0.00620868,0.00391752,0.00391752,0.00391752,0.00444452}  /* conv */
};
static float ZWParmBeta[3][5]={
  {0.68902,0.68004,0.57855,0.57855,0.56232},                /* others */
  {0.71266,0.70472,0.66564,0.61342,0.59658},                /* strat */
  {0.68902,0.57855,0.57855,0.57855,0.56232}                 /* conv */
};
static float ParmRho[21]=     /* Rho in the US Standard Atmos. */
  {0.08891,0.10400,0.12165,0.14230,0.16647,0.19476,0.22786,
   0.26660,0.31194,0.36480,0.41351,0.46706,0.52579,0.59002,
   0.66011,0.73643,0.81935,0.90925,1.0066,1.1117,1.2250};

rho0=ParmRho[20];
vratio[kk]=pow(rho0/rho[kk],0.4);

fraction = (float)(k-read_data.ZRParmNode[j][l])/
           (float)(read_data.ZRParmNode[j][lp1]-read_data.ZRParmNode[j][l]);
zra[kk][n][m]=read_data.ZRParmA[j][l]+
           (read_data.ZRParmA[j][lp1]-read_data.ZRParmA[j][l])*fraction;
zrb[kk][n][m]=read_data.ZRParmB[j][l]+
           (read_data.ZRParmB[j][lp1]-read_data.ZRParmB[j][l])*fraction;
zwa[kk][n][m] = ZWParmAlpha[irt][l] +
           (ZWParmAlpha[irt][lp1]-ZWParmAlpha[irt][l])*fraction;
zwb[kk][n][m] = ZWParmBeta[irt][l] +
           (ZWParmBeta[irt][lp1]-ZWParmBeta[irt][l])*fraction;

xze  = (float)read_data.correctZFactor[j][k];
xz = pow(10.0,xze/10.0);
xrain2 = zra[kk][n][m] * pow(xz,zrb[kk][n][m]) / vratio[kk];
xwc = zwa[kk][n][m] * pow(xz,zwb[kk][n][m]);
xqp = xwc/rho[kk];
xvt = xrain2/(3.6*xwc);
xvt0 = xvt/vratio[kk];