This module contains some subroutines used in microphysics.  
|  | 
| subroutine | gsmconst (dtpg, mype, first) | 
|  | This subroutine initializes constants & lookup tables for microphysics. 
 | 
|  | 
| subroutine | my_growth_rates (dtph) | 
|  | This subrouine sets up lookup table for calculating initial ice crystal growth. 
 | 
|  | 
| subroutine | ice_lookup | 
|  | This subroutine creates lookup tables for ice processes. 
 | 
|  | 
| subroutine | rain_lookup | 
|  | This subroutine creates lookup tables for rain processes. 
 | 
|  | 
| subroutine | gsmcolumn (araing, asnowg, dtpg, i_index, j_index, lsfc, p_col, qi_col, qr_col, qv_col, qw_col, rimef_col, t_col, thick_col, wc_col, lm, rhc_col, xncw, flgmin, print_diag, psfc) | 
|  | 
| subroutine | rsipath (im, ix, ix2, levs, prsl, prsi, t, q, clw, f_ice, f_rain, f_rime, flgmin, cwatp, cicep, rainp, snowp, recwat, rerain, resnow, lprnt, ipr) | 
|  | 
| subroutine | rsipath2 (plyr, plvl, tlyr, qlyr, qcwat, qcice, qrain, rrime, im, levs, iflip, flgmin, cwatp, cicep, rainp, snowp, recwat, rerain, resnow, snden) | 
|  | This program is a modified version of Ferrier's original "rshipath" subprogram. It computes layer's cloud liquid, ice, rain, and snow water condensate path and the partical effective radius for liquid droplet, rain drop, and snow flake. 
 | 
|  | 
|  | 
| real, private | abfr | 
|  | 
| real, private | cbfr | 
|  | 
| real, private | ciacw | 
|  | 
| real, private | ciacr | 
|  | 
| real, private | c_n0r0 | 
|  | 
| real, private | cn0r0 | 
|  | 
| real, private | cn0r_dmrmin | 
|  | 
| real, private | cn0r_dmrmax | 
|  | 
| real, private | cracw | 
|  | 
| real, private | craut | 
|  | 
| real, private | esw0 | 
|  | 
| real, private | qautx | 
|  | 
| real, private | rfmax | 
|  | 
| real, private | rqr_dr1 | 
|  | 
| real, private | rqr_dr2 | 
|  | 
| real, private | rqr_dr3 | 
|  | 
| real, private | rqr_drmin | 
|  | 
| real, private | rqr_drmax | 
|  | 
| real, private | rr_drmin | 
|  | 
| real, private | rr_dr1 | 
|  | 
| real, private | rr_dr2 | 
|  | 
| real, private | rr_dr3 | 
|  | 
| real, private | rr_drmax | 
|  | 
| integer, private | mic_step | 
|  | 
| integer, parameter, private | my_t1 =1 | 
|  | 
| integer, parameter, private | my_t2 =35 | 
|  | 
| real, dimension(my_t1:my_t2), private | my_growth | 
|  | 
| real, parameter, private | dmimin =.05e-3 | 
|  | 
| real, parameter, private | dmimax =1.e-3 | 
|  | 
| real, parameter, private | xmimin =1.e6*DMImin | 
|  | 
| real, parameter, private | xmimax =1.e6*DMImax | 
|  | 
| real, parameter, private | deldmi =1.e-6 | 
|  | 
| integer, parameter, private | mdimin =XMImin | 
|  | 
| integer, parameter, private | mdimax =XMImax | 
|  | 
| real, dimension(mdimin:mdimax), private | accri | 
|  | 
| real, dimension(mdimin:mdimax), private | massi | 
|  | 
| real, dimension(mdimin:mdimax), private | sdens | 
|  | 
| real, dimension(mdimin:mdimax), private | vsnowi | 
|  | 
| real, dimension(mdimin:mdimax), private | venti1 | 
|  | 
| real, dimension(mdimin:mdimax), private | venti2 | 
|  | 
| real, parameter, private | dmrmin =.05e-3 | 
|  | 
| real, parameter, private | dmrmax =.45e-3 | 
|  | 
| real, parameter, private | xmrmin =1.e6*DMRmin | 
|  | 
| real, parameter, private | xmrmax =1.e6*DMRmax | 
|  | 
| real, parameter, private | deldmr =1.e-6 | 
|  | 
| real, parameter, private | nlimin =100. | 
|  | 
| integer, parameter, private | mdrmin =XMRmin | 
|  | 
| integer, parameter, private | mdrmax =XMRmax | 
|  | 
| integer, parameter, private | indexsmin =100 | 
|  | 
| real, parameter, private | rerainmin =1.5*XMRmin | 
|  | 
| real, parameter, private | recimin =1.5*XMImin | 
|  | 
| real, parameter, private | resnowmin =1.5*INDEXSmin | 
|  | 
| real, parameter, private | recwmin =10. | 
|  | 
| real, dimension(mdrmin:mdrmax), private | accrr | 
|  | 
| real, dimension(mdrmin:mdrmax), private | massr | 
|  | 
| real, dimension(mdrmin:mdrmax), private | rrate | 
|  | 
| real, dimension(mdrmin:mdrmax), private | vrain | 
|  | 
| real, dimension(mdrmin:mdrmax), private | ventr1 | 
|  | 
| real, dimension(mdrmin:mdrmax), private | ventr2 | 
|  | 
| integer, parameter, private | nrime =40 | 
|  | 
| real, dimension(2:9, 0:nrime), private | vel_rf | 
|  | 
| integer, parameter | itlo =-60 | 
|  | 
| integer, parameter | ithi =40 | 
|  | 
| integer, dimension(itlo:ithi, 4) | nstats | 
|  | 
| real, dimension(itlo:ithi, 5) | qmax | 
|  | 
| real, dimension(itlo:ithi, 22) | qtot | 
|  | 
| real, parameter, private | t_ice =-40. | 
|  | 
| real, parameter, private | t_ice_init =-15. | 
|  | 
| real, parameter, private | thom =T_ICE | 
|  | 
| real, parameter, private | tnw =50. | 
|  | 
| real, parameter, private | toler =1.0E-20 | 
|  | 
| real, parameter, private | recice =RECImin | 
|  | 
| real, parameter, private | epsq =1.0E-20 | 
|  | 
| real, parameter, private | flg0p1 =0.1 | 
|  | 
| real, parameter, private | flg0p2 =0.2 | 
|  | 
| real, parameter, private | flg1p0 =1.0 | 
|  |