version 1.6.1
	- radiation_cloud:set_overlap_param now has alternative form in
	  which input decorrelation_length may vary with column, useful for
	  models with a latitudinal or other dependence
	- radiation_ecckd:calc_optical_depth has vector version for NEC
	- test/ckdmip can now run CKDMIP scenarios of concentrations
	  downloaded (see Makefile)
	- ecCKD gas optics can now be used with older cloud/aerosol optics
	  files provided they have the same number of bands
	- Added dependence to Makefile ensuring libradiation built after
	  libifsrrtm, ensuring that multi-threaded make works
	- Added radiation_driver:do_save_cloud_optics namelist entry which
	  saves look-up table averaged to the bands of the radiation scheme
	  (general cloud optics only)
	- Increased security value in single-precision SW
	  reflectance-transmittance calculation from 1e-12 to 1e-6
	- Added radiation/ecrad_config.h file to provide site-specific
	  optimization options as preprocessor parameters
	- Replaced slow "sum" intrinsic function in McICA and Tripleclouds
	  solvers with optimized versions for x86-64 and DWD's NEC
	- Enable different gas optics models for shortwave and longwave:
	  namelist gas_model_name can still be used, or use
	  sw_gas_model_name and lw_gas_model_name to specify separate models
	- Fix the general aerosol optics + RRTMG combination, so that
	  optical properties correctly weighted by solar or terrestrial
	  Planck function, rather than unweighted. This changes fluxes by up
	  to 0.3 W m-2 in SW and 0.03 in LW, heating rates by up to 0.015
	  K/d in SW and 0.0015 in LW. Reverts bug introduced between git
	  commits a405cca (5 Dec 2022) and 7182230 (8 Dec 2022).
	- Added ifs/satur.F90, used in the IFS to compute relative
	  humidity for aerosol hydration, and the ability to call it from
	  ecrad_driver.F90, but note that this routine computes saturation
	  with respect to ice at colder temperatures. If used, the impact on
	  fluxes is up to around 1 W m-2 in the SW and 0.05 in the LW, and
	  for heating rates 0.002 K/d in the SW and 0.003 in the LW.

version 1.6.0 (27 April 2023)
	- Removed compiler flag specifying to load unformated Fortran
	  files as big endian: now the OPEN commands for the files RADRRTM
	  and RADSRTM specify CONVERT='BIG_ENDIAN' in rrtm_kgb1.F90 and
	  srtm_kgb16.F90
	- make test_programs to make test programs in driver directory
	- Unpublished "Baran" and "Baran2017" ice optics models are
	  deprecated, only accessible with namelist entries
	  "Baran-EXPERIMENTAL" and "Baran2017-EXPERIMENTAL"
	- Wavelength tolerance for requesting monochromatic aerosol info
	  increased from 1% to 2%
	- test/ifs directory contains configCY*.nam files corresponding to
	  more previous operational IFS cycles, and added
	  ecrad_meridian_default_out_REFERENCE.log indicating how the
	  reference file (now updated) was produced
	- Default generalized aerosol optics file changed to
	  aerosol_ifs_49R1_20230119.nc

version 1.5.1 (8 December 2022)
	- Added Makefile_include.intel_atos to match compiler options on
	  ECMWF supercomputer, plus "-heap-arrays" which is necessary for
	- Fix occasional crash in single-precision fast_expm_exchange_3
	  for shortwave SPARTACUS entrapment
	- Fixed radiation_random_numbers.F90 in single precision
	- Removed Dr Hook implementation for profiling; instead optionally
	  call make with FIATDIR to specify the location of ECMWF's fiat
	  library which contains Dr Hook
	- Added "make ifsdriver" which compiles ifs/libifs.a and
	  bin/ecrad_ifs to demonstrate use of IFS's radiation_scheme and
	  setup_radiation_scheme; test with make test_ifsdriver in
	  test/ifs. Note that the input file must have variables with the
	  dimensions expected in the IFS, as in test/ifs/ecrad_meridian.nc.
	- Added "make ifsdriver_blocked" from Balthasar Reuter which
	  compiles bin/ecrad_ifs_blocked, gathering the input data into
	  blocks of length driver_config%nblocksize as in the IFS, which can
	  benefit memory locality
	- Added capability for ecCKD to represent the solar cycle in solar
	  spectral irradiance, via "radiation" namelist parameter
	  use_spectral_solar_cycle and new file ssi_nrl2.nc (which can be
	  overridden with ssi_override_file_name). Caller provides
	  single_level%spectral_solar_cycle_multiplier from -1 (solar
	  minimum) to +1 (solar maximum), or "radiation_driver" namelist
	  parameter solar_cycle_multiplier_override
	- If use_spectral_solar_cycle then if also
	  use_updated_solar_spectrum, the mean solar irradiance per g-point
	  will be updated from the solar cycle file. This only works for
	  gas-optics models from ecCKD >= 1.4, since these store the solar
	  spectrum on a wavenumber grid.
	- Added get_sw_mapping, which returns a matrix to map from fluxes
	  in solar bands to fluxes in user-specified wavelength intervals,
	  useful for (for example) computing spectral fluxes for ocean
	  biology or UV index
	- Added demonstration of get_sw_mapping: radiation_driver namelist
	  now accepts sw_diag_wavelength_bound, which takes a list of
	  wavenumber bounds for shortwave diagnostics. These are written to
	  radiation_driver: sw_diag_file_name, or sw_diagnostics.nc by
	  default. Test with "make test_ecckd_diag" in test/ifs.
	- do_toa_spectral_flux namelist option stores top-of-atmosphere
	  spectral flux diagnostics per band

version 1.5.0 (22 May 2022)
	- Added ecCKD gas optics scheme and generalized cloud description
	- Optimized the LW Tripleclouds solver for cloud but not aerosol
	  scattering
	- Added general spectral description of aerosol, compatible with
	  ecCKD gas optics model
	- Added 50 CKDMIP test profiles in test/ckdmip directory
	- General cloud and aerosol optics controlled with
	  use_general_cloud_optics and use_general_aerosol_optics
	- Added use_thick_cloud_spectral_averaging config vector
	  corresponding to cloud_type_name
	- Generalized clouds and aerosols can compute optical properties
	  per g-point or band, controlled with
	  do_cloud_aerosol_per_[lw|sw]_g_point
	- Default is to average albedo/emissivity source data to ecRad
	  bands/g-points, rather than just to find the nearest value
	  (i.e. do_nearest_spectral_sw_albedo and
	  do_nearest_spectral_lw_emiss are now false by default)
	- Replaced dry_sw_aerosol_mass_extinction and
	  aerosol_sw_extinction routines with dry_aerosol_mass_extinction
	  and aerosol_extinction, which take wavelength rather than band
	  number
	- "make GPROF=1" compiles with -pg option for the GNU profiler
	- For consistency with IFS, "PARKIND1_SINGLE" is now the
	  preprocessor variable to detect single precision
	- "make OMPFLAG=-DNO_OPENMP" compiles without OpenMP
	- Generalized aerosol has ability to read old-style aerosol
	  property files in predefined (e.g. RRTM) bands into the spectral
	  intervals of the ecCKD gas optics scheme
	- Added radiation_driver:do_save_aerosol_optics namelist option to
	  save aerosol optical properties in aerosol_optics.nc, and "make
	  test_aerosol_averaging" in test/ifs to test the various
	  combinations of gas optics scheme and aerosol optics file
	- Added do_weighted_surface_mapping, which if false does not
	  weight the surface albedo/emissivity by the solar/terrestrial
	  reference Planck function, thereby reproducing ecRad-1.4.x
	  behaviour
	- Added Fu-Muskatel ice optics model, which can be used by the
	  generalized cloud optics and extends the Fu model to larger
	  effective radius

version 1.4.2 (15 October 2021)
	- radiation_driver:do_write_double_precision writes fluxes as
	  doubles in NetCDF file, which reduces noise in heating rate
	  differences between two experiments
	- Added use_vectorizable_generator for vectorizable random number
	  generator that speeds-up McICA solver on NEC hardware
	- Numerous modifications to improve performance on DWD's NEC but
	  which don't affect performance on Intel
	- Removed unused radsurf code - use SPARTACUS-Surface instead

version 1.4.1 (17 March 2021)
	- Added Jupyter notebook to the practical directory

version 1.4.0 (5 November 2020)
	- Replaced OpenIFS license with Apache License (version 2.0) and
	  added copyright statements to each file
	- Bug fix in cum_cloud_cover_exp_exp that was triggered if exactly
	  zero overlap parameter between cloud objects
	- Corrected the metadata in fu_ice_scattering_rrtm.nc for the
	  meaning of the coefficients representing the single-scattering
	  albedo (or mass absorption coefficient) of ice in the longwave
	- Fixed bug in McICA solvers in single-precision where ssa*od can
	  underflow to zero even when the terms individually are larger than
	  zero

version 1.3.1 (10 August 2020)
	- Functional Dr Hook added by Ioan Hadade, enabled with "make
	  DR_HOOK=1"
	- Fix from Daniel Rieger in ifsrrtm/srtm_taumol[16-29].F90,
	  correcting a bug that violated bit-reproducibility when changing
	  the number of MPI tasks
	- Makefile_include.cray added by Ioan Hadade so that "make
	  PROFILE=cray" uses the Cray compiler, if available
	- Added securities to Fu ice optics: re <= 100um and g < 1
	- Added securities to SOCRATES liquid optics: 1.2um <= re <= 50um

version 1.3.0 (20 March 2020)
	- Corrected shortwave band fluxes in Cloudless and Homogeneous
	  solvers, which scaled the direct downwelling spectral flux by the
	  cosine of the solar zenith angle twice
	- Write "experiment" global attribute to output if
	  radiation_driver variable "experiment_name" is present
	- Previously overlap_decorr_length_scaling=0.0 was ignored; now it
	  implements random overlap
	- Added the ecRad practical exercises to the "practical" directory
	- Removed non-functioning hooks to PSRAD code

version 1.2.0 (30 October 2019)
	- Increased default minimum cloud effective size to 100 m
	  (although 500 m is used in the IFS for better SPARTACUS
	  stability)
	- Reduced max_cloud_od to 16 for SPARTACUS stability
	- Allow water vapour to be specified by "h2o_mmr" or "h2o_vmr" if
	  "q" not present in input file
	- Fixed effective_size_scaling namelist variable, broken in v1.1.8
	- cos_solar_zenith_angle not needed if do_sw=false
	- skin_temperature set to lowest air temperature if not provided
	- Warning issued if default solar_irradiance of 1366 is used
	- Added radiation_driver namelist variable "vmr_suffix_str"
	  (default "_vmr") to enable the expected variable names containing
	  gas volume mixing ratios to be overridden
	- Use the nf-config utility to set NETCDF_INCLUDE and NETCDF_LIB

version 1.1.10 (8 April 2019)
	- Renamed occurrences of "encroachment" with "entrapment" to match
	  terminology of Hogan et al. entrapment paper, but namelist
	  interface still accepts sw_encroachment_name (sw_entrapment_name
	  preferred) and encroachment_scaling (overhang_factor preferred).
	- Added gas%scale routine to scale gas concentrations and namelist
	  parameters driver_config%co2_scaling (and all gases) so that users
	  can easily test the effect of, for example, doubling CO2 or
	  setting it to zero.
	- Fixed parameterization of cloud scales in radiation_cloud to
	  optionally take as input the range of columns to process.
	- Redefined use of scale_factor in radiation_gas.F90

version 1.1.9 (9 Feb 2019)
	- Mapping from albedo/emissivity intevals to bands may be done as
	  before by selecting the nearest interval to the centre of each
	  band, or now by computing the fractional overlap of each interval
	  with each band.  This is controlled by the
	  do_nearest_spectral_[sw_albedo|lw_emiss] configuration parameter
	- The user can specify the spectral range of the albedo/emissivity
	  intervals using namelist parameters
	  [sw_albedo|lw_emiss]_wavelength_bound and
	  i_[sw_albedo|lw_emiss]_index, or calling the
	  config%define_[sw_albedo|lw_albedo]_intervals routines before
	  calling setup_radiation, which does the actual mapping once the
  	  ecRad bands are known
	- Parameterize cloud separation scale via radiation_driver
	  namelist options "cloud_separation_scale_[toa|surface|power]"
	- radiation_driver:do_correct_unphysical_inputs namelist option
	  does not simply warn about unphysical inputs (e.g. negative gas
	  concentrations) but fixes them
	- Replaced LwDiffusivity by 2.0 in
	  radiation_two_stream:calc_frac_scattered_diffuse_sw, which is
	  more consistent with the Zdunkowski scheme, but has a very small
	  effect

version 1.1.8 (17 January 2019)
	- easy_netcdf.F90 allows for reading and writing slices of larger
	  arrays and writing HDF5 files, overcoming the maximum array size
	  limitation of classic NetCDF files
	- cloud%inv_inhom_effective_size allows different effective sizes
	  for cloud inhomogeneities and cloud boundaries in SPARTACUS,
	  important for realistic behaviour when cloud fraction is near one,
	  and can be specified directly in the NetCDF input file
	- The namelist variable "do_ignore_inhom_effective_size" in
	  "driver_config" means that "inv_inhom_effective_size" will be
	  ignored if it is present in the file, reverting to the old
	  behaviour
	- Alternative input variables "inv_cloud_effective_separation" and
	  "inv_inhom_effective_separation" allow cloud structure for
	  SPARTACUS to be specified in a way less dependent on cloud
	  fraction
	- If "inv_cloud_effective_separation" provided but not
	  "inv_inhom_effective_separation" then the effective size of
	  inhomogeneities is computed as that for the clouds themselves
	  multiplied by the "cloud_inhom_separation_factor" namelist
	  variable from "driver_config" (or 1 if not provided).
	- Check physical bounds of inputs to radiation interface
	- [aerosol|ice|liq]_optics_override_file_name now read from namelist
	- radiation_homogeneous_[sl]w.F90 now stores spectral flux
	  profiles, if required

version 1.1.7 (8 January 2019)
	- Added "Cloudless" solvers in shortwave and longwave
	- Writing radiative_properties*.nc files now thread-safe
	- Fixed segmentation fault in solver_tripleclouds_sw when
	  do_save_spectral_flux .and. .not. do_sw_direct
	- Initialize shortwave properties in radiation_ifs_rrtm in case
	  sun is below horizon, needed for some compiler options
	- Modified test/ifs/ecrad_meridian.nc to allow sun to go below
	  horizon, rather than including the online correction for Earth
	  curvature.
	- Modified driver/ecrad_driver_read_input.F90 so that if sw_albedo
	  and lw_emissivity override namelist parameters are provided, they
	  don't also need to be provided in the input files

version 1.1.6 (17 December 2018)
	- Generalized "alpha" overlap matrix calculation to allow for
	  possibility that the two cloudy regions in the Tripleclouds
	  assumption are not of equal size
	- Introduced radiation_regions.F90 to compute region fractions and
	  optical depth scalings at the same time
	- New gamma distribution behaviour in Tripleclouds and SPARTACUS:
	  if fractional standard deviation FSD > 1.5 then use non-equal
	  fractions for the two cloudy regions, which better predicts
	  fluxes. Also set a minimum optical depth scaling of 1/40, which
	  means that Tripleclouds and SPARTACUS will give slightly different
	  fluxes from before (< 0.1 W m-2) even for FSD < 1.5
	- SPARTACUS shortwave encroachment uses new fast_expm_exchange
	  routine given that matrix to be exponentiated has a regular structure
	- Execution halts if gases not provided with 0 (well-mixed) or 2
	  dimensions; before execution silently continued with these gases
	  not present

version 1.1.5 (15 September 2018)
	- Added "Zero" option for sw_encroachment_name, which turns off
	  not only encroachment due to horizontal transport within regions,
	  but also encroachment due to horizontal transport between regions

version 1.1.4 (13 September 2018)
	- Added "Fractal" option for sw_encroachment_name, which makes a
	  better assumption about the cloud size distribution than
	  "Computed" in the part that uses the horizontal radiation
	  migration distance to work out how much exchange has occurred
	  under regions

version 1.1.3 (4 September 2018)
	- Added (shortwave) encroachment_scaling to namelist, configuring
	  how one assumes cloud boundaries line up in adjacent layers: 0.0
	  (the boundaries line up to the greatest extent possible given the
	  overlap parameter) and 1.0 (the boundaries line up to the minimum
	  extent possible, which was the old behaviour)
	- Fixed related minor bug where encroachment transfer rate was
	  computed from the edge lengths in the wrong layer

version 1.1.2 (3 September 2018)
	- Added Python script test/ifs/plot_ifs.py (thanks to Alessio
	  Bozzo)
	- Bug fix in calculation of direct horizontal migration distance
	  in radiation_spartacus_sw.F90
	- Added namelist parameter min_cloud_effective_size to help with
	  stability of SPARTACUS

version 1.1.1 (29 August 2018)
	- Complete reformulation of the calculation of horizontal
	  migration distances in radiation_spartacus_sw.F90
	- Option to set particulate single-scattering albedo and asymmetry
	  factor via namelist in LW and SW monochromatic case

version 1.1.0 (21 August 2018)
	- Clean-up for release
	- Updated test/i3rc/duplicate_profiles.sh to work with latest nco
	  tools

version 1.0.16 (7 May 2018)
	- "make PRINT_ENCROACHMENT_DATA=1" prints encroachment data from
	  SPARTACUS shortwave solver to units 101 and 102, which can be
	  tested with test/i3rc/plot_encroachment.m
	- Enabled radsurf canopies to include longwave gas
	  absorption/emission at full spectral resolution
	- Monochromatic shortwave properties now more consistent with 0.55
	  micron wavelength (g=0.86, ssa=0.999999, delta-Eddington applied)
	- Now pass in KLEV rather than a structure to ifsrrtm routines

version 1.0.15 (18 April 2018)
	- Added capability to provide aerosol optical properties rather
	  than mixing ratios, implemented via the add_aerosol_optics_direct
	  routine
	- Removed dummy "method" argument to calc_two_stream_gammas_?w
	- Removed a large number of unused dummy arguments
	- Updated README and test/ifs/ecrad_meridian_default_out_REFERENCE.nc

version 1.0.14 (23 March 2018)
	- Large number of improvements and fixes to the treatment of urban
	  areas

version 1.0.13 (14 March 2018)
	- Extra securities on transmittance, reflectance etc. in shortwave
	  SPARTACUS solver
	- Reduced default max_cloud_od for SPARTACUS solver to 18 for
	  stability
	- Finally fixed permute option when writing 3D array using
	  easy_netcdf.F90

version 1.0.12 (22 February 2018)
	- Optimized radiation_ifs_rrtm.F90 and radiation_cloud_generator.F90

version 1.0.11 (20 February 2018)
	- Corrected "computed encroachment" in SPARTACUS shortwave solver
	  to propagate migration distances according to overlap rules
	- Default configuration file in test/ifs directory is for Cycle
	  46R1 of IFS, which includes longwave scattering, fixes LW ice
	  optics bug and computes shortwave delta-Eddington scaling for
	  particulates only

version 1.0.10 (23 October 2017)
	- Added single precision option: compile with "make
	  SINGLE_PRECISION=1"
	- easy_netcdf can read 4D arrays (thanks to Alessio Bozzo)
	- Renamed single-character variables
	- New data/yi_ice_scattering_rrtm.nc with longwave extinction
	  rather than absorption coefficient (thanks to Mark Fielding)
	- Added security on n_scat_diffuse

version 1.0.9 (26 July 2017)
	- Refined shortwave SPARTACUS such that computed encroachment
	  estimates the number of diffuse scattering events and reduces the
	  migration distance accordingly
	- Optimized calculation of longwave reflection/transmission coeffs

version 1.0.8 (22 July 2017)
	- Added lognormal/gamma cloud PDF options that affect McICA,
	  Tripleclouds and SPARTACUS solvers: namelist entry
	  "cloud_pdf_shape_name" can be "Lognormal" or "Gamma" (default
	  "Gamma")
	- radiation_driver can read "iseed" variable for seeding the McICA
	  cloud generator
	- Added Yi et al. (2013) ice optics model (thanks to Mark
	  Fielding): namelist entry ice_model_name="Yi"

version 1.0.7 (7 July 2017)
	- Bug fix in reformulated SPARTACUS solver

version 1.0.6 (4 July 2017)
	- Reformulated shortwave SPARTACUS solver to have the option of
	  explicitly computing "encroachment" (what Shonk & Hogan called
	  "anomalous transport") accounting for expected horizontal
	  migration distance during a reflection event

version 1.0.5 (29 June 2017)
	- Added "urban" tile type

version 1.0.4 (24 April 2017)
	- Added "flat" and "vegetation" tile types
	- Added "make DEBUG=1" option for turning on debug flags

version 1.0.3 (11 April 2017)
	- Converted code to use "surface" type for multi-tile surfaces in
 	  future

(version 1.0.2surface - unstable intermediate version)

version 1.0.1 (15 February 2017)
	- Fixed Makefile options for PGI Fortran
	- Removed erroneous commas from test/i3rc/Makefile
	- Renamed variables shadowing intrinsics "scale" and "index"

version 1.0 (13 February 2017)
	- Read RADRRTM and RADSRTM from data directory
	- Renamed "PROFILE" in test/i3rc/Makefile to avoid clash with use
	  of the same name in top-level Makefile

version 0.9.48 (13 January 2017)
	- test/ifs now includes a test where aerosol is turned off, and a
	  reference output NetCDF file so that the compilation can be checked

version 0.9.47 (9 January 2017)
	- Can specify output precision via "is_double" argument in easy_netcdf
	- save_inputs stores iseed in double precision
	- test/i3rc contains I3RC test case
	- test/ifs contains IFS test case
	- Preliminary "Baran-2017" ice optics scheme: a new
	  parameterization derived from the Baran et al. (2016) ice optical
	  properties

version 0.9.46 (3 January 2017)
	- Added mcica_bidisperse.nc to enable McICA to reproduce the
	  two-mode PDF used by the Tripleclouds and SPARTACUS schemes

version 0.9.45 (25 November 2016)
	- Added OpenIFS license
	- Changed build system to use Makefile_include.<prof> files
	- Renamed package from "spartacus" to "ecrad"
	- Fixed writing of 3D arrays in easy_netcdf to permute
	  withorder=i_permute_3d(i_permute_3d)
	- Offline code can be run on input data written by
	  radiation_save:save_inputs
	- New file socrates_droplet_scattering_rrtm.nc with manually
 	  changed coefficients for shortwave band 11 to prevent singularity
	  in SSA calculation at re=25.733um.  Note that there is still a
	  singularity at re=1.63um in shortwave optical depth in band 10,
	  so effective radius should be capped to the range 2-50 microns.

version 0.9.44 (22 October 2016)
	- Revised aerosol scattering file aerosol_ifs_rrtm_43R1.nc
	- Fixed radiation_cloud_cover: it could access arrays out of
	  bounds - provided that the memory address was accessible this
	  would have had no impact since the data were not used

version 0.9.43 (23 September 2016)
	- RADRRTM and RADSRTM can now be read from directory in
	  environment variable "DATA"
	- do_fu_lw_ice_optics_bug is now a namelist option
	- Added Baran 2016 ice optics option
	- Optimized calculation of Planck function
	- Better ordered the printing of configuration information
	- Added configCY43R3.nam to match expected configuration in ECMWF
	  IFS cycle 43R3

version 0.9.42 (31 August 2016)
	- Optimized radiation_ifs_rrtm.F90 and added
	  rrtm_gas_optical_depth.F90 to replace rrtm_gasabs1a_140gp.F90
	- Optimized calc_two_stream_gammas_sw
	- Added Tripleclouds solvers in longwave and shortwave

version 0.9.41 (16 August 2016)
	- Added possibility to reproduce IFS bug in longwave ice where
	  single scattering albedo is one minus what it should be
	- Ensure initialization to zero of [od/ssa/g]_[sw/lw]_[liq/ice]
	  variables in radiation_cloud_optics.F90
	- Removed Dr Hook calls for small routines called many times:
	  everything in radiation_two_stream, plus
	  radiation_aerosol_optics_data:calc_rh_index, calc_liq_optics_*,
	  calc_ice_optics_*

version 0.9.40 (14 July 2016)
	- Updated files in ifs directory

version 0.9.39 (22 June 2016)
	- Renamed cloud_cover_* routines to cum_cloud_cover_* since they
	  compute the cumulative cloud cover, and added a "cloud_cover"
	  function that does actually compute the total cloud cover (only)
	- Use gamma rather than lognormal distribution for McICA to better
	  match the current IFS
	- radiation_cloud::set_overlap_param now uses the correct layer
	  separation from temperature and pressure, rather than an
	  approximate one using a constant atmospheric scale height
	- radiation_cloud_generator now correlates cloud inhomogeneities
	  between non-adjacent layers if the Exp-Exp overlap scheme is used
	- radiation_cloud_cover::cum_cloud_cover_exp_exp now checks for
	  pair_cloud_cover not consistent with the cumulative cloud cover
	  profile

version 0.9.38 (2 June 2016)
	- Added Tegen climatology data file and modified
	  radiation_aerosol_optics_data to read data files that don't
	  contain hydrophilic aerosols
	- Added Slingo (1989) and Lindner and Li (2000) liquid droplet
	  optics parameterizations for backwards compatibility with the IFS,
	  although note that Slingo (1989) has been found to have errors

version 0.9.37 (17 May 2016)
	- Added do_3d_lw_multilayer_effects to mirror the same for
	  shortwave.  This controls whether off-diagonal elements are
	  permitted in the total_albedo matrix - these represent the
	  probability that downwelling radiaton exiting a region is
	  reflected up in another region.  This may be due to transport
	  through cloud sides, or due to "anomalous" horizontal transport
	  where fluxes are homogenized in regions.  Unlike in the shortwave,
	  this option is not forced on if 3D effects are enabled; in fact,
	  it is probably better to turn it off in both 1D and 3D cases
	  because this homogenization is not likely to occur to any
	  significant degree in the longwave.
	- Added capability to select single/double precision in
	  easy_netcdf.F90, and radiative properties are now stored in double
	  precision.
	- Changed verbosity settings of driver: 2 = print *all* setup
 	  info, 3 = also print numbers of current profiles being processed.
	- radiation_ifs_rrtm now checks solar zenith angle for positivity
	  to decide whether to set incident solar radiation to zero


version 0.9.36 (10 May 2016)
	- Bug fix in radiation_monochromatic.F90: Planck profile calculation
	- Maximum 3D transfer rate is now configurable (max_3d_transfer_rate)
	- Inverse effective cloud size can be specified separately for eta
	  in the bands 0-0.45, 0.45-0.8 and 0.8-1 via high_inv_eff_size,
	  middle_inv_eff_size, low_inv_eff_size in the radiation_driver
	  namelist.
	- License and copyright now in LICENSE and NOTICE; COPYING has
	  been removed
	- "ifs" directory added illustrating how the radiation scheme is
	  called from the IFS, including the routines for computing cloud
	  particle effective radius.

version 0.9.35 (29 April 2016)
	- Added Exponential-Exponential overlap capability to match
	  original IFS Raisanen cloud generator
	- Overlap in McICA can be selected with overlap_scheme_name in
	  namelist = Exp-Exp, Exp-Ran or Max-Ran
	- Removed test on od_over_mu0 in
	  calc_reflectance_transmittance_sw, which speeds up IFS
	  implementation
	- In same routine, increased minimum "k^2" to 1.0e-12_jprb which
	  removes noise in clear-sky upwelling versus solar zenith angle

version 0.9.34 (20 April 2016)
	- Added option to do delta-Eddington scaling after merging with
	  gases, which seems less "correct", but is how the original IFS
	  scheme works
	- Delta-Eddington now a header file included by several modules
	- Clarified that RRTMG license is now BSD 3-clause

version 0.9.33 (March 2016)
	- Removed PS-Rad implementation of RRTMG
	- Added delta-Eddington scaling of aerosol scattering properties

version 0.9.32 (17 March 2016)
	- Slight change to the way that cloud overlap is specified
	- Added aerosol optics data files matching IFS cycles
	- Default aerosol file is aerosol_ifs_rrtm_42R1.nc

version 0.9.31 (26 January 2016)
	- Print out description of aerosol types being used
	- Added iverbosesetup in order to specify separately the verbosity
	  of the setup and normal execution parts
	- Removed "is_verbose" from namelist
	- Removed "ncol" as an argument from the solvers
	- PS-Rad RRTMG option now prefixed by PSRAD in the code and the
	  directory structure; radiation_ifsrrtm renamed to
	  radiation_ifs_rrtm

version 0.9.30 (16 January 2016)
	- Bug fix: if layer overcast and only 2 regions then 3D
	  calculations not performed
	- Split cloud optics into separate source files

version 0.9.29 (7 January 2016)
	- Support for separate direct and diffuse shortwave albedos
	- Explicit loop indices in radiation_adding_ica_*w and
	  radiation_ifsrrtm speeds these routines up somewhat
	- Added capability to calculate longwave derivatives for Hogan &
	  Bozzo (2015) method
	- Faster longwave McICA solver if cloud scattering not represented
	- Added homogeneous solvers

version 0.9.28 (17 November 2015)
	- Added some comments to McICA parts and cleaned up

version 0.9.27 (13 November 2015)
	- Capped the transfer rate between regions in 3D SPARTACUS to "10"
	  per layer, equivalent to an optical depth of 10
	- Fixed cloud cover calculation in cloud generator
	- Fixed bug in McICA LW where surface Planck function taken from
	  wrong column
	- Optimized SW reflectance transmittance: use simple expression
	  for optically thin points

version 0.9.26 (6 November 2015)
	- Added no-scattering solver for McICA longwave, typically used in
	  clear skies when aerosol scattering is turned off

version 0.9.25 (4 November 2015)
	- Reordered gas and cloud optical properties to have g-point
	  varying fastest, leading to a significant speed-up

version 0.9.24 (4 November 2015)
	- Added possibility for radiation to be transported directly
	  between regions a and c, via clear_to_thick_fraction
	- Added capability for direct beam from overhead sun to pass
	  through cloud sides, to improve 3D effect for overhead sun
	- Read McICA PDF look-up table from mcica_lognormal.nc to
	  radiation_pdf_sampler.F90
	- Verified McICA cloud generator
	- Added capability to interpret overlap parameter as Hogan &
	  Illingworth's "alpha" rather than Shonk et al.'s "beta", made this
	  the default and verified that McICA and SPARTACUS give the same
	  total cloud cover.
	- Added capability to repeat calculation multiple times for better
	  profiling
	- Gas optics unit scaling now done all at once to avoid bugs
	  associated with part of mixing_ratio array being in one unit and
	  another part being in another unit (for the same gas)
	- Some optimization of gamma calculations

version 0.9.23 (19 October 2015)
	- Thresholds on gas optical depth now performed in
  	  radiation_ifsrrtm.F90 to avoid problems with unphysical ssa after
	  aerosol optics

version 0.9.22 (13 October 2015)
	- Protection for zero Kelvin in monochromatic Planck function
	- Check on dimensions read from aerosol optics file
	- Better diagnostic of aerosol settings in print_config
	- Included longwave internal radiation distribution
	  parameterization for 3D (config%do_lw_side_emissivity)
	- Added requirement for non-zero water content in
	  radiation_spartacus_?w.F90

version 0.9.21
	- Fixed the monochromatic option

version 0.9.20
	- Bug fixes in radiation_matrix.F90 and radiation_ifsrrtm.F90
	- Better printing of the configuration in radiation_config.F90

version 0.9.19 (not a stable version)
	- Moved solar irradiance from config to single_level

version 0.9.18
	- Module radiation_io for abort and output units
	- Started shortwave McICA implementation
	- Better IFS compatibility
	- Revised config_type structure

version 0.9.17
	- Optical depth thresholds now in the radiation namelist as
	  max_gas_od_3d and max_cloud_od
	- Can process limited number of columns via istartcol and iendcol
	  in the radiation_driver namelist
	- Fixed bug where upwelling longwave surface clear-sky flux was
	  underestimated if a cloud was present in lowest model level
	- Incoming solar flux scaled in radiation_ifsrrtm to match
	  requested TSI

version 0.9.16
	- Rather than turning off 3D radiation if OD in a region is too
	  high, we cap the OD of the cloud and still do 3D calculations.
	  Note that to enable 3D effect to be calculated, this is done even
	  if 3D effects are turned OFF.

version 0.9.15
	- Added capability to output fluxes per g-point with
	  do_save_gpoint_flux
	- Check for "ghost" clouds (zero water content, non-zero cloud
	  fraction)
	- 3D radiation only called if optical depth of gas < 8 and total
	  optical depth of thickest region < 30

version 0.9.14
	- Cleaned up the text output via separate "iverbose" config
	  variables for the driver and the main radiation code

version 0.9.13
	- driver/radiation_driver_config.F90 now handles the aspects of
	  the configuration that are limited to the driver rather than the
	  radiation code itself

version 0.9.12
	- Now use IFS version of RRTM-G gas optics
	- g_lw zeroed in radiation_interface

version 0.9.11
	- Monochromatic is now a run-time rather than compile-time option
	- Option to output spectral fluxes

version 0.9.10
	- Added overlap_decorr_length_scaling option for namelists

version 0.9.9
	- Added IFS RRTM code in ifsrrtm/
	- Added "make resort" in work/ to provide re-sorted g points for
	   radiation_rrtm.f90

version 0.9.8
	- Better compatibility with IFS: added dr_hook, nulout,
          nulerr, abor1
	- easy_netcdf into utilities library
 	- Revised the variable name convention in radiation/*.f90 so
           that can be converted to IFS coding norms if required

version 0.9.7
	- Added Fu (1996) and Fu et al. (1998) ice optics

version 0.9.6
	- Implemented aerosols

version 0.9.5
	- Implemented ice optics

version 0.9.4
	- Combined clear-sky calculations into single spartacus call
	- Fixed the optimized matrix operations for shortwave sparsity

version 0.9.3
	- Fixed ozone in standard atmosphere profiles
	- Fixed bug in Meador-Weaver direct transmittance calculation

version 0.9.2
	- First beta release
