There are three parameters that control the creation of new phase functions. The first is the maximum number of phase functions that may be created, which is designed to limit the memory use by SHDOM. The second and third parameters are the tolerance in asymmetry parameter error and the tolerance in maximum fractional error in phase function values. The maximum fractional phase function error is calculated at 90 angles from 2 to 180 degrees, but this can be changed by changing the "INTEGER, PARAMETER :: NANGLES=90" statement in propgen.f90. Smaller values of the two tolerances will produce a more accurate property file, but at the expense of a larger number of phase functions. If the property file is to be used only for flux computations then the asymmetry parameter tolerance is most important and the fractional phase function tolerance can be set large. If the property file is to be used for radiance calculations then the fractional error in phase function tolerance is more important. If you are outputting a one-dimensional property file, then you can set the tolerances to zero to get one phase function for each output level (actually the program has minimum values of 0.002 for the asymmetry parameter tolerance and 0.01 for the fractional phase function tolerance). Propgen only outputs the phase functions actually used in the property file, not all the ones in the scattering tables (like cloudprp did). If 1000 or more phase functions are going to be output then the format statement in subroutine OUTPUT_PROPERTIES will need to be changed.
In addition to the scattering properties from the input particles, propgen also calculates and includes molecular Rayleigh scattering. The use specifies a Rayleigh scattering coefficient, which depends on wavelength (or the user may wish to simply set to zero for some applications). The amount of molecular scattering depends on the air density. Hence for a particular solar wavelength band a coefficient (k) may be defined which gives the extinction from the air pressure (p) and temperature (T): ext = k p/T. The Rayleigh scattering coefficient input to propgen may be derived from the molecular Rayleigh scattering optical depth. The Rayleigh optical depth at sea level as a function of wavelength (lambda in micron) is tau = 0.0088*lambda**(-4.15+0.2*lambda) From this formula the propgen Rayleigh input coefficient is k = (2.97E-4 K mb^-1 km^-1) lambda**(-4.15+0.2*lambda) Propgen uses the hypsometric relation to calculate the pressure profile from the input temperature profile.
Typically the high resolution cloud field occupies only small portion of the atmospheric profile and the other height levels are used to fill in the rest of the atmosphere. The other height levels should be chosen according to the needs of SHDOM and the molecular absorption profile. SHDOM needs some vertical resolution to resolve the radiance field. If molecular Rayleigh scattering is significant, then the other levels must exist in clear sky to put that scattering in the property file. Similarly, if a k-distribution file is giving the molecular absorption, then other levels must cover the range where the absorption is significant. For example, stratospheric levels need to be included for ozone absorption in the ultraviolet.
3 [format type] Nx Ny Nz [number of X, Y, Z grid points] delX delY [X and Y grid spacing in km] Z1 ... Zn [heights of particle levels in km] T1 ... Tn [temperatures in Kelvin at these levels] IX IY IZ Numcomp Type1 Mass1 Reff1 ... TypeN MassN ReffN . . .Numcomp is the number of particle components, Type? are the type numbers of the components, Mass? are the mass contents [g/m^3] of the components, and Reff? are the effective radii [microns] of the components. See file "nauru19990707.part" in the distribution for an example particle file. In addition to this new particle file format, propgen can read the old 2 parameter LWC files that cloudprp used.
Parameter | Description |
---|---|
NSCATTAB | number of input scattering tables (number of pure components) |
SCATTABFILES() | name of each scattering table file |
SCATNUMS() | index or particle type of each scattering table (these type numbers must match the types in the particle file) |
PARFILE | input particle properties filename |
MAXNEWPHASE | maximum number of new phase functions created |
ASYMTOL | tolerance in asymmetry parameter for creating a new phase function |
FRACPHASETOL | maximum fractional error tolerance in phase function value for creating a new phase function |
RAYLCOEF | molecular Rayleigh scattering coefficient (K/(km mb)) |
NZO | number of extra height levels output in property file (in addition to those in the particle file) |
ZOTHER() | heights (km) of other levels |
TEMPOTHER() | temperatures (K) of other levels |
PROPFILE | output SHDOM property file name |