25 subroutine pf_to_mr(npoints,nlev,ncol,rain_ls,snow_ls,grpl_ls,
26 & rain_cv,snow_cv,prec_frac,
27 & p,t,mx_rain_ls,mx_snow_ls,mx_grpl_ls,
28 & mx_rain_cv,mx_snow_cv)
39 REAL rain_ls(npoints,nlev),snow_ls(npoints,nlev)
40 REAL grpl_ls(npoints,nlev)
41 REAL rain_cv(npoints,nlev),snow_cv(npoints,nlev)
43 REAL prec_frac(npoints,ncol,nlev)
47 REAL mx_rain_ls(npoints,ncol,nlev),mx_snow_ls(npoints,ncol,nlev)
48 REAL mx_grpl_ls(npoints,ncol,nlev)
49 REAL mx_rain_cv(npoints,ncol,nlev),mx_snow_cv(npoints,ncol,nlev)
50 REAL p(npoints,nlev),t(npoints,nlev)
51 REAL ar,as,ag,br,bs,bg,nr,ns,ng,rho0,rhor,rhos,rhog,rho
52 REAL term1r,term1s,term1g,term2r,term2s,term2g,term3
53 REAL term4r_ls,term4s_ls,term4g_ls,term4r_cv,term4s_cv
54 REAL term1x2r,term1x2s,term1x2g,t123r,t123s,t123g
81 term2r=(3.14159265*rhor*nr)**(-br/4.)
82 term2s=(3.14159265*rhos*ns)**(-bs/4.)
83 term2g=(3.14159265*rhog*ng)**(-bg/4.)
85 term1x2r=term1r*term2r
86 term1x2s=term1s*term2s
87 term1x2g=term1g*term2g
90 rho=p(j,ilev)/(287.05*t(j,ilev))
96 term4r_ls=rain_ls(j,ilev)/(t123r)
97 term4s_ls=snow_ls(j,ilev)/(t123s)
98 term4g_ls=grpl_ls(j,ilev)/(t123g)
99 term4r_cv=rain_cv(j,ilev)/(t123r)
100 term4s_cv=snow_cv(j,ilev)/(t123s)
102 mx_rain_ls(j,ibox,ilev)=0.
103 mx_snow_ls(j,ibox,ilev)=0.
104 mx_grpl_ls(j,ibox,ilev)=0.
105 mx_rain_cv(j,ibox,ilev)=0.
106 mx_snow_cv(j,ibox,ilev)=0.
107 if ((prec_frac(j,ibox,ilev) .eq. 1.) .or.
108 & (prec_frac(j,ibox,ilev) .eq. 3.))
then
109 mx_rain_ls(j,ibox,ilev)=
110 & (term4r_ls**(1./(1.+br/4.)))/rho
111 mx_snow_ls(j,ibox,ilev)=
112 & (term4s_ls**(1./(1.+bs/4.)))/rho
113 mx_grpl_ls(j,ibox,ilev)=
114 & (term4g_ls**(1./(1.+bg/4.)))/rho
116 if ((prec_frac(j,ibox,ilev) .eq. 2.) .or.
117 & (prec_frac(j,ibox,ilev) .eq. 3.))
then
118 mx_rain_cv(j,ibox,ilev)=
119 & (term4r_cv**(1./(1.+br/4.)))/rho
120 mx_snow_cv(j,ibox,ilev)=
121 & (term4s_cv**(1./(1.+bs/4.)))/rho
subroutine pf_to_mr(npoints, nlev, ncol, rain_ls, snow_ls, grpl_ls, rain_cv, snow_cv, prec_frac, p, t, mx_rain_ls, mx_snow_ls, mx_grpl_ls, mx_rain_cv, mx_snow_cv)