Dear Colleagues, you receive this eMail because you are either a user of the radiative transfer package libRadtran or because we think that you might be interested in this information. Should you not be interested in receiving further information, please let us know. Attached to this eMail is the 8th libRadtran Newsletter. The main issue of this Newsletter is to announce the new version, *** libRadtran 1.3 *** which includes some bug fixes and several improvements compared to version 1.2. And now, we wish you all a Merry Christmas and a happy and successful new year! Hope to see you all at the International Radiation Symposium 2008 in Brazil, http://www.irs2008.org.br Bernhard Mayer, Ulrich Hamann, Claudia Emde, and Arve Kylling. ------------------------------------------------------------------ Dr. Bernhard Mayer Bernhard.Mayer_at_dlr.de Deutsches Zentrum fuer Luft- und Raumfahrt (DLR) Institut fuer Physik der Atmosphaere, Oberpfaffenhofen, D-82234 Wessling, Germany. Phone: +49 8153 282568, Fax: +49 8153 281841, Homepage: http://www.bmayer.de ------------------------------------------------------------------ /*---------------------------------------------------------------- * libRadtran Newsletter No. 8 * * December 24, 2007 * * Bernhard Mayer (bernhard.mayer_at_dlr.de) * Ulrich Hamann (ulrich.hamann_at_dlr.de) * Claudia Emde (claudia.emde_at_dlr.de) * Arve Kylling (arve.kylling_at_helse-sunnmore.no) * * ### More info: http://www.libradtran.org ### *----------------------------------------------------------------*/ Dear libRadtran users, merry Christmas and a good start into the New Year! In a good tradition, now for the 6th time in a row, a new libRadtran version is released as a Christmas gift, after an exciting year! Below you will find a rather detailed list of new options and bug fixes. But before that I want to point out a few highlights: * If you had a look at the libRadtran homepage recently, you probably already noticed that we have a new developer in the team: Claudia Emde is in my group since two years and she has done a lot of work concerning polarization in libRadtran and in particular on MYSTIC, see below (no, MYSTIC is still not part of the free release, but it might become so eventually, over the course of the next two years). Claudia is now the 4th person in the world who has write access to the "holy grail" - the libRadtran CVS repository. * The number of "Publications that used libRadtran" (http://www.libradtran.org/publications.html) has increased to 110. If you published a paper which uses libRadtran, please let us know! Sometimes we get the feeling that people try to hide their publications from us, but thanks to SCOPUS there is no point in hiding - we will find you anyway ;-) This list contains only papers which actually used libRadtran (and not those which only referenced the libRadtran or uvspec publications). That implies, that either the author tells us that this is the case or that we can get access to the paper. Therefore, if you publish something in a journal which is not so common in the atmospheric community we would be glad about a reprint as well (preferably in electronic form). * Some highlight applications (for references please see http://www.libradtran.org/publications.html): - One of the highlights was certainly the work by Christos Zerefos and co-workers who used libRadtran to retrieve the aerosol optical thickness after volcanic eruptions of the 18th and 19th centuries from paintings! The paper was in the press for months (google for "zerefos paintings")and also have a look at http://www.bmayer.de/diurnal/ - A quantitative simulation of the irradiance during the solar eclipse of 29 March 2006 was done with libRadtran (Emde and Mayer, 2007). This is not only of academic interest, but is one of the few occasions for a quantitative validation of a three-dimensional radiative transfer code. Please note that we had the theory first (Emde and Mayer, 2007) before we compared the model to observations (Kazantzidis et al. 2007) and found an incredibly good agreement - close to what is observed under cloudless, non-eclipse conditions. In that respect we can speak of a "blind" intercomparison. - A new algorithm was developed to detect cirrus clouds in satellite images (Krebs et al., 2007). In contrast to most previous schemes, most thresholds were not determined by visual inspection of satellite images, but by a quantitive model study with libRadtran. - libRadtran goes shortwave! As most of you know, libRadtran was borne in the UV-A and UV-B spectral regions. Efforts in the last 10 years concentrated on going to larger and larger wavelengths, up to 100 micron in the thermal infrared. Recently, however, libRadtran was extended at the shortwave end again, in order to calculate heating rates in the upper stratosphere. Nissen et al (2007) presented a validation of their climate model with libRadtran in the upper stratosphere. The new release allows calculations down to 121nm - if you want to use this option you are probably aware of the fact that the extraterrestrial spectrum is highly variable down there and that you possibly need the extraterrestrial spectrum for the respective phase of the solar cycle. - ... and several other papers which studied ultraviolet irradiance at the surface; vitamin-D production; the impact of biomass burning, desert dust, and other types of aerosol; remote sensing of total ozone, cloud top height, as well as water and ice cloud optical thickness; the radiative properties of cirrus clouds; and the backscatter glory. In summary, 24 peer-reviewed publications in 2007! And now for the changes of version 1.3 compared to 1.2: *** Bug fixes: * Fixed a bug in the treatment of aerosol visibility: If the user defines an integrated aerosol optical thickness (e.g. with aerosol_set_tau), this affects the choice of the profile as well, in full compliance to Shettle (1989). The relationship between optical thickness and visibility in the Shettle (1989) aerosol models is defined in data/aerosol/shettle/... When the user-defined optical thickness was smaller/larger than the smallest/largest value in the Shettle table (data/aerosol/shettle/...) the visibility was accidentally set to a wrong value. This caused wrong aerosol profiles for very low or high user-defined aerosol optical thicknesses. This probably doesn't affect too many users as the vertical aerosol profile does not matter for most applications anyway; or, if it does, the user most likely provides his own profile. * Fixed a small, non-serious bug in spline_coeffc() which affects the output of tools/spline and some interpolations within uvspec: Coefficients for the first interval were wrong and the interpolation between the first two data points was linear rather than spline. Don't know where this came from. This is one of the oldest bugs ever fixed in libRadtran, introduced around 1991! * Fixed a small bug for "wc_properties, ic_properties": Now, files containing only one effective radius are possible (caused a segmentation fault before). * Reading albedo from an albedo_map at the western hemisphere was not correct. The function looked at the wrong place. * Bug fix: Using radiosonde, the atmosphere always started from 0 km height, and not from altitude. * Tiny change of the US Standard atmosphere profiles in 35km height in order to get the profiles consistent with the hydrostatic equation. * output integrate assumed that results were always per wavelength interval. This was not true for thermal calculations where the result is usually given per wavenumber interval. Now output integrate does wavenumber integration for thermal calculations. *** New options: * Improved implementation of polarization with the polRadtran solver. Polarization was included correctly only for Rayleigh atmospheres with molecular absorption. If aerosols or clouds were added, the output was not correct (as was stated in the documentation). To use polRadtran for polarized radiative transfer in clouds, the scattering phase matrix (instead of a phase function) is required as input. It can now be specified using the options "wc_properties" or "ic_properties". Scattering phase matrices can now be computed using the mie tool (see below). Polarized calculations for aerosols are still not fully implemented. If you urgently need aerosols, you may define your aerosol as a "water cloud". * Added a new solver, twostrpp which is simply twostr in plane-parallel geometry (twostr is pseudo-spherical). twostrpp is considerably faster than twostr because the pseudo-spherical correction needs a lot of computational time. This was not a substantial change because twostr() has an input parameter 'spher' which switches pseudo-spherical on and off. * Added better CO2 absorption cross section for 118-200nm. Temperature-dependence is not yet considered - the data for 295K were used. * Data files for calculations below 240nm were missing in the distribution. Added them. Now, calculations may start at 121.4 nm (not really relevant at the Earth's surface but high up in the stratosphere and mesosphere, see Nissen et al. ACP 7, 5391-5400) * some new output_user options for uvspec: wavenumber zout_sea (altitude above sea level) clwc (cloud liquid water content) ciwc (cloud ice water content) sza (solar zenith angle) c_p (specific heat capacity) rh (relative humidity over water) rh_ice (relative humidity over ice) * new option to specify the output level: pressure_out * new input options netCDF maps: Quite some input data can now be given to uvspec in form of netCDF data files. In order to get the information for the right place the input options latitude, longitude and time are used in combination with all netCDF maps. Following input options are availeble up to now: - albedo_map (preliminary, will change slightly in the next year) - altitude_map - cox_and_munk_pcl_map - cox_and_munk_sal_map - cox_and_munk_u10_map - emissivity_map (preliminary, will change slightly in the next year) - surface_temperature_map - surface_type_map Some interpretation of the netCDF attribute "unit" is done in uvspec, but better check with the verbose output if uvspec really got everything right! * new input option: time used in combination with latitude and longitude in order to specify a grid points in any netCDF input map. This combination is also used to calculate the solar zenith angle and to chose a default atmosphere, if none is given. * new input option: time_interpolate (for netCDF maps) per default data for simulations is taken from the next date contained in the netCDF file. If this option is specified, uvspec will use linear interpolation instead. * an alternative method for deriving heating rates: layer_cd (using central diffences (vertical) of the radiative flux) local (using the actinic flux at the level boundaries) * tools/mie: Several new options are availabe: 1. nstokes: If set to "4", Legendre moments for all scattering phase matrix elements are calculated using the Wiscombe Mie program. 2. output_user netcdf: Writes the format that is required for uvspec calculations (wc_properties, ic_properties). It may include the full phase matrix for polarized radiative transfer calculations. 3. aerosol_type: Calculate scattering properties for OPAC aerosol types. Refractive index and size distribution are taken from the OPAC database. For a given aerosol type, the scattering properties are calculated as a function of relative humidity. * tools/mie: keywords for correlated-k wavelength grids * tools/phase now also calculates the integrated phase function which is output in the 3rd column. The integral is between -1 and mu. Furthermore it can now be applied to scattering data in netcdf-format (as provided for instance in /data/ic/baum). tools/phase generates a netcdf file that contains the phase matrices of all data contained in the input file. * new keywords for the zout option: toa (top of atmosphere), sur (surface altitude), ... *** Smaller changes: * updated tools/noon and tools/zenith input and output to make both consistent * Removed gen-d1mach.f and gen-r1mach.f and added r1mach.f and d1mach.f from http://www.netlib.org/port/. Citing from the source code, THIS VERSION ADAPTS AUTOMATICALLY TO MOST CURRENT MACHINES, INCLUDING AUTO-DOUBLE COMPILERS. gen-d1mach and gen-r1mach caused trouble on 64bit machines. Hopefully these are solved but more testing is required. * atmospheric profiles are extrapolated (constant gradients of trace gas mixing ratios), if an altitude below the lowest level in atmosphere file is specified. * When scaling the pressure, also CO2 and O2 will be scaled accordingly, as these are well mixed gases. * new version of the surface type map * now considering temperature dependency of the specific heat capacity The latest version is available at http://www.libradtran.org, as usual. And now, have fun! Bernhard Mayer (bernhard.mayer_at_dlr.de) Ulrich Hamann (ulrich.hamann_at_dlr.de) Claudia Emde (claudia.emde_at_dlr.de) Arve Kylling (arve.kylling_at_helse-sunnmore.no)