source: LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/CHANGELOG @ 4738

Last change on this file since 4738 was 4728, checked in by idelkadi, 11 months ago

Update of ecrad in the LMDZ_ECRad branch of LMDZ:

  • version 1.6.1 of ecrad
  • files are no longer grouped in the same ecrad directory.
  • the structure of ecrad offline is preserved to facilitate updating in LMDZ
  • cfg.bld modified to take into account the new added subdirectories.
  • the interface routines and those added in ecrad are moved to the phylmd directory
File size: 31.9 KB
Line 
1version 1.6.1
2        - radiation_cloud:set_overlap_param now has alternative form in
3          which input decorrelation_length may vary with column, useful for
4          models with a latitudinal or other dependence
5        - radiation_ecckd:calc_optical_depth has vector version for NEC
6        - test/ckdmip can now run CKDMIP scenarios of concentrations
7          downloaded (see Makefile)
8        - ecCKD gas optics can now be used with older cloud/aerosol optics
9          files provided they have the same number of bands
10        - Added dependence to Makefile ensuring libradiation built after
11          libifsrrtm, ensuring that multi-threaded make works
12        - Added radiation_driver:do_save_cloud_optics namelist entry which
13          saves look-up table averaged to the bands of the radiation scheme
14          (general cloud optics only)
15
16version 1.6.0 (27 April 2023)
17        - Removed compiler flag specifying to load unformated Fortran
18          files as big endian: now the OPEN commands for the files RADRRTM
19          and RADSRTM specify CONVERT='BIG_ENDIAN' in rrtm_kgb1.F90 and
20          srtm_kgb16.F90
21        - make test_programs to make test programs in driver directory
22        - Unpublished "Baran" and "Baran2017" ice optics models are
23          deprecated, only accessible with namelist entries
24          "Baran-EXPERIMENTAL" and "Baran2017-EXPERIMENTAL"
25        - Wavelength tolerance for requesting monochromatic aerosol info
26          increased from 1% to 2%
27        - test/ifs directory contains configCY*.nam files corresponding to
28          more previous operational IFS cycles, and added
29          ecrad_meridian_default_out_REFERENCE.log indicating how the
30          reference file (now updated) was produced
31        - Default generalized aerosol optics file changed to
32          aerosol_ifs_49R1_20230119.nc
33
34version 1.5.1 (8 December 2022)
35        - Added Makefile_include.intel_atos to match compiler options on
36          ECMWF supercomputer, plus "-heap-arrays" which is necessary for
37        - Fix occasional crash in single-precision fast_expm_exchange_3
38          for shortwave SPARTACUS entrapment
39        - Fixed radiation_random_numbers.F90 in single precision
40        - Removed Dr Hook implementation for profiling; instead optionally
41          call make with FIATDIR to specify the location of ECMWF's fiat
42          library which contains Dr Hook
43        - Added "make ifsdriver" which compiles ifs/libifs.a and
44          bin/ecrad_ifs to demonstrate use of IFS's radiation_scheme and
45          setup_radiation_scheme; test with make test_ifsdriver in
46          test/ifs. Note that the input file must have variables with the
47          dimensions expected in the IFS, as in test/ifs/ecrad_meridian.nc.
48        - Added "make ifsdriver_blocked" from Balthasar Reuter which
49          compiles bin/ecrad_ifs_blocked, gathering the input data into
50          blocks of length driver_config%nblocksize as in the IFS, which can
51          benefit memory locality
52        - Added capability for ecCKD to represent the solar cycle in solar
53          spectral irradiance, via "radiation" namelist parameter
54          use_spectral_solar_cycle and new file ssi_nrl2.nc (which can be
55          overridden with ssi_override_file_name). Caller provides
56          single_level%spectral_solar_cycle_multiplier from -1 (solar
57          minimum) to +1 (solar maximum), or "radiation_driver" namelist
58          parameter solar_cycle_multiplier_override
59        - If use_spectral_solar_cycle then if also
60          use_updated_solar_spectrum, the mean solar irradiance per g-point
61          will be updated from the solar cycle file. This only works for
62          gas-optics models from ecCKD >= 1.4, since these store the solar
63          spectrum on a wavenumber grid.
64        - Added get_sw_mapping, which returns a matrix to map from fluxes
65          in solar bands to fluxes in user-specified wavelength intervals,
66          useful for (for example) computing spectral fluxes for ocean
67          biology or UV index
68        - Added demonstration of get_sw_mapping: radiation_driver namelist
69          now accepts sw_diag_wavelength_bound, which takes a list of
70          wavenumber bounds for shortwave diagnostics. These are written to
71          radiation_driver: sw_diag_file_name, or sw_diagnostics.nc by
72          default. Test with "make test_ecckd_diag" in test/ifs.
73        - do_toa_spectral_flux namelist option stores top-of-atmosphere
74          spectral flux diagnostics per band
75
76version 1.5.0 (22 May 2022)
77        - Added ecCKD gas optics scheme and generalized cloud description
78        - Optimized the LW Tripleclouds solver for cloud but not aerosol
79          scattering
80        - Added general spectral description of aerosol, compatible with
81          ecCKD gas optics model
82        - Added 50 CKDMIP test profiles in test/ckdmip directory
83        - General cloud and aerosol optics controlled with
84          use_general_cloud_optics and use_general_aerosol_optics
85        - Added use_thick_cloud_spectral_averaging config vector
86          corresponding to cloud_type_name
87        - Generalized clouds and aerosols can compute optical properties
88          per g-point or band, controlled with
89          do_cloud_aerosol_per_[lw|sw]_g_point
90        - Default is to average albedo/emissivity source data to ecRad
91          bands/g-points, rather than just to find the nearest value
92          (i.e. do_nearest_spectral_sw_albedo and
93          do_nearest_spectral_lw_emiss are now false by default)
94        - Replaced dry_sw_aerosol_mass_extinction and
95          aerosol_sw_extinction routines with dry_aerosol_mass_extinction
96          and aerosol_extinction, which take wavelength rather than band
97          number
98        - "make GPROF=1" compiles with -pg option for the GNU profiler
99        - For consistency with IFS, "PARKIND1_SINGLE" is now the
100          preprocessor variable to detect single precision
101        - "make OMPFLAG=-DNO_OPENMP" compiles without OpenMP
102        - Generalized aerosol has ability to read old-style aerosol
103          property files in predefined (e.g. RRTM) bands into the spectral
104          intervals of the ecCKD gas optics scheme
105        - Added radiation_driver:do_save_aerosol_optics namelist option to
106          save aerosol optical properties in aerosol_optics.nc, and "make
107          test_aerosol_averaging" in test/ifs to test the various
108          combinations of gas optics scheme and aerosol optics file
109        - Added do_weighted_surface_mapping, which if false does not
110          weight the surface albedo/emissivity by the solar/terrestrial
111          reference Planck function, thereby reproducing ecRad-1.4.x
112          behaviour
113        - Added Fu-Muskatel ice optics model, which can be used by the
114          generalized cloud optics and extends the Fu model to larger
115          effective radius
116
117version 1.4.2 (15 October 2021)
118        - radiation_driver:do_write_double_precision writes fluxes as
119          doubles in NetCDF file, which reduces noise in heating rate
120          differences between two experiments
121        - Added use_vectorizable_generator for vectorizable random number
122          generator that speeds-up McICA solver on NEC hardware
123        - Numerous modifications to improve performance on DWD's NEC but
124          which don't affect performance on Intel
125        - Removed unused radsurf code - use SPARTACUS-Surface instead
126
127version 1.4.1 (17 March 2021)
128        - Added Jupyter notebook to the practical directory
129
130version 1.4.0 (5 November 2020)
131        - Replaced OpenIFS license with Apache License (version 2.0) and
132          added copyright statements to each file
133        - Bug fix in cum_cloud_cover_exp_exp that was triggered if exactly
134          zero overlap parameter between cloud objects
135        - Corrected the metadata in fu_ice_scattering_rrtm.nc for the
136          meaning of the coefficients representing the single-scattering
137          albedo (or mass absorption coefficient) of ice in the longwave
138        - Fixed bug in McICA solvers in single-precision where ssa*od can
139          underflow to zero even when the terms individually are larger than
140          zero
141
142version 1.3.1 (10 August 2020)
143        - Functional Dr Hook added by Ioan Hadade, enabled with "make
144          DR_HOOK=1"
145        - Fix from Daniel Rieger in ifsrrtm/srtm_taumol[16-29].F90,
146          correcting a bug that violated bit-reproducibility when changing
147          the number of MPI tasks
148        - Makefile_include.cray added by Ioan Hadade so that "make
149          PROFILE=cray" uses the Cray compiler, if available
150        - Added securities to Fu ice optics: re <= 100um and g < 1
151        - Added securities to SOCRATES liquid optics: 1.2um <= re <= 50um
152
153version 1.3.0 (20 March 2020)
154        - Corrected shortwave band fluxes in Cloudless and Homogeneous
155          solvers, which scaled the direct downwelling spectral flux by the
156          cosine of the solar zenith angle twice
157        - Write "experiment" global attribute to output if
158          radiation_driver variable "experiment_name" is present
159        - Previously overlap_decorr_length_scaling=0.0 was ignored; now it
160          implements random overlap
161        - Added the ecRad practical exercises to the "practical" directory
162        - Removed non-functioning hooks to PSRAD code
163
164version 1.2.0 (30 October 2019)
165        - Increased default minimum cloud effective size to 100 m
166          (although 500 m is used in the IFS for better SPARTACUS
167          stability)
168        - Reduced max_cloud_od to 16 for SPARTACUS stability
169        - Allow water vapour to be specified by "h2o_mmr" or "h2o_vmr" if
170          "q" not present in input file
171        - Fixed effective_size_scaling namelist variable, broken in v1.1.8
172        - cos_solar_zenith_angle not needed if do_sw=false
173        - skin_temperature set to lowest air temperature if not provided
174        - Warning issued if default solar_irradiance of 1366 is used
175        - Added radiation_driver namelist variable "vmr_suffix_str"
176          (default "_vmr") to enable the expected variable names containing
177          gas volume mixing ratios to be overridden
178        - Use the nf-config utility to set NETCDF_INCLUDE and NETCDF_LIB
179
180version 1.1.10 (8 April 2019)
181        - Renamed occurrences of "encroachment" with "entrapment" to match
182          terminology of Hogan et al. entrapment paper, but namelist
183          interface still accepts sw_encroachment_name (sw_entrapment_name
184          preferred) and encroachment_scaling (overhang_factor preferred).
185        - Added gas%scale routine to scale gas concentrations and namelist
186          parameters driver_config%co2_scaling (and all gases) so that users
187          can easily test the effect of, for example, doubling CO2 or
188          setting it to zero.
189        - Fixed parameterization of cloud scales in radiation_cloud to
190          optionally take as input the range of columns to process.
191        - Redefined use of scale_factor in radiation_gas.F90
192
193version 1.1.9 (9 Feb 2019)
194        - Mapping from albedo/emissivity intevals to bands may be done as
195          before by selecting the nearest interval to the centre of each
196          band, or now by computing the fractional overlap of each interval
197          with each band.  This is controlled by the
198          do_nearest_spectral_[sw_albedo|lw_emiss] configuration parameter
199        - The user can specify the spectral range of the albedo/emissivity
200          intervals using namelist parameters
201          [sw_albedo|lw_emiss]_wavelength_bound and
202          i_[sw_albedo|lw_emiss]_index, or calling the
203          config%define_[sw_albedo|lw_albedo]_intervals routines before
204          calling setup_radiation, which does the actual mapping once the
205          ecRad bands are known
206        - Parameterize cloud separation scale via radiation_driver
207          namelist options "cloud_separation_scale_[toa|surface|power]"
208        - radiation_driver:do_correct_unphysical_inputs namelist option
209          does not simply warn about unphysical inputs (e.g. negative gas
210          concentrations) but fixes them
211        - Replaced LwDiffusivity by 2.0 in
212          radiation_two_stream:calc_frac_scattered_diffuse_sw, which is
213          more consistent with the Zdunkowski scheme, but has a very small
214          effect
215
216version 1.1.8 (17 January 2019)
217        - easy_netcdf.F90 allows for reading and writing slices of larger
218          arrays and writing HDF5 files, overcoming the maximum array size
219          limitation of classic NetCDF files
220        - cloud%inv_inhom_effective_size allows different effective sizes
221          for cloud inhomogeneities and cloud boundaries in SPARTACUS,
222          important for realistic behaviour when cloud fraction is near one,
223          and can be specified directly in the NetCDF input file
224        - The namelist variable "do_ignore_inhom_effective_size" in
225          "driver_config" means that "inv_inhom_effective_size" will be
226          ignored if it is present in the file, reverting to the old
227          behaviour
228        - Alternative input variables "inv_cloud_effective_separation" and
229          "inv_inhom_effective_separation" allow cloud structure for
230          SPARTACUS to be specified in a way less dependent on cloud
231          fraction
232        - If "inv_cloud_effective_separation" provided but not
233          "inv_inhom_effective_separation" then the effective size of
234          inhomogeneities is computed as that for the clouds themselves
235          multiplied by the "cloud_inhom_separation_factor" namelist
236          variable from "driver_config" (or 1 if not provided).
237        - Check physical bounds of inputs to radiation interface
238        - [aerosol|ice|liq]_optics_override_file_name now read from namelist
239        - radiation_homogeneous_[sl]w.F90 now stores spectral flux
240          profiles, if required
241
242version 1.1.7 (8 January 2019)
243        - Added "Cloudless" solvers in shortwave and longwave
244        - Writing radiative_properties*.nc files now thread-safe
245        - Fixed segmentation fault in solver_tripleclouds_sw when
246          do_save_spectral_flux .and. .not. do_sw_direct
247        - Initialize shortwave properties in radiation_ifs_rrtm in case
248          sun is below horizon, needed for some compiler options
249        - Modified test/ifs/ecrad_meridian.nc to allow sun to go below
250          horizon, rather than including the online correction for Earth
251          curvature.
252        - Modified driver/ecrad_driver_read_input.F90 so that if sw_albedo
253          and lw_emissivity override namelist parameters are provided, they
254          don't also need to be provided in the input files
255
256version 1.1.6 (17 December 2018)
257        - Generalized "alpha" overlap matrix calculation to allow for
258          possibility that the two cloudy regions in the Tripleclouds
259          assumption are not of equal size
260        - Introduced radiation_regions.F90 to compute region fractions and
261          optical depth scalings at the same time
262        - New gamma distribution behaviour in Tripleclouds and SPARTACUS:
263          if fractional standard deviation FSD > 1.5 then use non-equal
264          fractions for the two cloudy regions, which better predicts
265          fluxes. Also set a minimum optical depth scaling of 1/40, which
266          means that Tripleclouds and SPARTACUS will give slightly different
267          fluxes from before (< 0.1 W m-2) even for FSD < 1.5
268        - SPARTACUS shortwave encroachment uses new fast_expm_exchange
269          routine given that matrix to be exponentiated has a regular structure
270        - Execution halts if gases not provided with 0 (well-mixed) or 2
271          dimensions; before execution silently continued with these gases
272          not present
273
274version 1.1.5 (15 September 2018)
275        - Added "Zero" option for sw_encroachment_name, which turns off
276          not only encroachment due to horizontal transport within regions,
277          but also encroachment due to horizontal transport between regions
278
279version 1.1.4 (13 September 2018)
280        - Added "Fractal" option for sw_encroachment_name, which makes a
281          better assumption about the cloud size distribution than
282          "Computed" in the part that uses the horizontal radiation
283          migration distance to work out how much exchange has occurred
284          under regions
285
286version 1.1.3 (4 September 2018)
287        - Added (shortwave) encroachment_scaling to namelist, configuring
288          how one assumes cloud boundaries line up in adjacent layers: 0.0
289          (the boundaries line up to the greatest extent possible given the
290          overlap parameter) and 1.0 (the boundaries line up to the minimum
291          extent possible, which was the old behaviour)
292        - Fixed related minor bug where encroachment transfer rate was
293          computed from the edge lengths in the wrong layer
294
295version 1.1.2 (3 September 2018)
296        - Added Python script test/ifs/plot_ifs.py (thanks to Alessio
297          Bozzo)
298        - Bug fix in calculation of direct horizontal migration distance
299          in radiation_spartacus_sw.F90
300        - Added namelist parameter min_cloud_effective_size to help with
301          stability of SPARTACUS
302
303version 1.1.1 (29 August 2018)
304        - Complete reformulation of the calculation of horizontal
305          migration distances in radiation_spartacus_sw.F90
306        - Option to set particulate single-scattering albedo and asymmetry
307          factor via namelist in LW and SW monochromatic case
308
309version 1.1.0 (21 August 2018)
310        - Clean-up for release
311        - Updated test/i3rc/duplicate_profiles.sh to work with latest nco
312          tools
313
314version 1.0.16 (7 May 2018)
315        - "make PRINT_ENCROACHMENT_DATA=1" prints encroachment data from
316          SPARTACUS shortwave solver to units 101 and 102, which can be
317          tested with test/i3rc/plot_encroachment.m
318        - Enabled radsurf canopies to include longwave gas
319          absorption/emission at full spectral resolution
320        - Monochromatic shortwave properties now more consistent with 0.55
321          micron wavelength (g=0.86, ssa=0.999999, delta-Eddington applied)
322        - Now pass in KLEV rather than a structure to ifsrrtm routines
323
324version 1.0.15 (18 April 2018)
325        - Added capability to provide aerosol optical properties rather
326          than mixing ratios, implemented via the add_aerosol_optics_direct
327          routine
328        - Removed dummy "method" argument to calc_two_stream_gammas_?w
329        - Removed a large number of unused dummy arguments
330        - Updated README and test/ifs/ecrad_meridian_default_out_REFERENCE.nc
331
332version 1.0.14 (23 March 2018)
333        - Large number of improvements and fixes to the treatment of urban
334          areas
335
336version 1.0.13 (14 March 2018)
337        - Extra securities on transmittance, reflectance etc. in shortwave
338          SPARTACUS solver
339        - Reduced default max_cloud_od for SPARTACUS solver to 18 for
340          stability
341        - Finally fixed permute option when writing 3D array using
342          easy_netcdf.F90
343
344version 1.0.12 (22 February 2018)
345        - Optimized radiation_ifs_rrtm.F90 and radiation_cloud_generator.F90
346
347version 1.0.11 (20 February 2018)
348        - Corrected "computed encroachment" in SPARTACUS shortwave solver
349          to propagate migration distances according to overlap rules
350        - Default configuration file in test/ifs directory is for Cycle
351          46R1 of IFS, which includes longwave scattering, fixes LW ice
352          optics bug and computes shortwave delta-Eddington scaling for
353          particulates only
354
355version 1.0.10 (23 October 2017)
356        - Added single precision option: compile with "make
357          SINGLE_PRECISION=1"
358        - easy_netcdf can read 4D arrays (thanks to Alessio Bozzo)
359        - Renamed single-character variables
360        - New data/yi_ice_scattering_rrtm.nc with longwave extinction
361          rather than absorption coefficient (thanks to Mark Fielding)
362        - Added security on n_scat_diffuse
363
364version 1.0.9 (26 July 2017)
365        - Refined shortwave SPARTACUS such that computed encroachment
366          estimates the number of diffuse scattering events and reduces the
367          migration distance accordingly
368        - Optimized calculation of longwave reflection/transmission coeffs
369
370version 1.0.8 (22 July 2017)
371        - Added lognormal/gamma cloud PDF options that affect McICA,
372          Tripleclouds and SPARTACUS solvers: namelist entry
373          "cloud_pdf_shape_name" can be "Lognormal" or "Gamma" (default
374          "Gamma")
375        - radiation_driver can read "iseed" variable for seeding the McICA
376          cloud generator
377        - Added Yi et al. (2013) ice optics model (thanks to Mark
378          Fielding): namelist entry ice_model_name="Yi"
379
380version 1.0.7 (7 July 2017)
381        - Bug fix in reformulated SPARTACUS solver
382
383version 1.0.6 (4 July 2017)
384        - Reformulated shortwave SPARTACUS solver to have the option of
385          explicitly computing "encroachment" (what Shonk & Hogan called
386          "anomalous transport") accounting for expected horizontal
387          migration distance during a reflection event
388
389version 1.0.5 (29 June 2017)
390        - Added "urban" tile type
391
392version 1.0.4 (24 April 2017)
393        - Added "flat" and "vegetation" tile types
394        - Added "make DEBUG=1" option for turning on debug flags
395
396version 1.0.3 (11 April 2017)
397        - Converted code to use "surface" type for multi-tile surfaces in
398          future
399
400(version 1.0.2surface - unstable intermediate version)
401
402version 1.0.1 (15 February 2017)
403        - Fixed Makefile options for PGI Fortran
404        - Removed erroneous commas from test/i3rc/Makefile
405        - Renamed variables shadowing intrinsics "scale" and "index"
406
407version 1.0 (13 February 2017)
408        - Read RADRRTM and RADSRTM from data directory
409        - Renamed "PROFILE" in test/i3rc/Makefile to avoid clash with use
410          of the same name in top-level Makefile
411
412version 0.9.48 (13 January 2017)
413        - test/ifs now includes a test where aerosol is turned off, and a
414          reference output NetCDF file so that the compilation can be checked
415
416version 0.9.47 (9 January 2017)
417        - Can specify output precision via "is_double" argument in easy_netcdf
418        - save_inputs stores iseed in double precision
419        - test/i3rc contains I3RC test case
420        - test/ifs contains IFS test case
421        - Preliminary "Baran-2017" ice optics scheme: a new
422          parameterization derived from the Baran et al. (2016) ice optical
423          properties
424
425version 0.9.46 (3 January 2017)
426        - Added mcica_bidisperse.nc to enable McICA to reproduce the
427          two-mode PDF used by the Tripleclouds and SPARTACUS schemes
428
429version 0.9.45 (25 November 2016)
430        - Added OpenIFS license
431        - Changed build system to use Makefile_include.<prof> files
432        - Renamed package from "spartacus" to "ecrad"
433        - Fixed writing of 3D arrays in easy_netcdf to permute
434          withorder=i_permute_3d(i_permute_3d)
435        - Offline code can be run on input data written by
436          radiation_save:save_inputs
437        - New file socrates_droplet_scattering_rrtm.nc with manually
438          changed coefficients for shortwave band 11 to prevent singularity
439          in SSA calculation at re=25.733um.  Note that there is still a
440          singularity at re=1.63um in shortwave optical depth in band 10,
441          so effective radius should be capped to the range 2-50 microns.
442
443version 0.9.44 (22 October 2016)
444        - Revised aerosol scattering file aerosol_ifs_rrtm_43R1.nc
445        - Fixed radiation_cloud_cover: it could access arrays out of
446          bounds - provided that the memory address was accessible this
447          would have had no impact since the data were not used
448
449version 0.9.43 (23 September 2016)
450        - RADRRTM and RADSRTM can now be read from directory in
451          environment variable "DATA"
452        - do_fu_lw_ice_optics_bug is now a namelist option
453        - Added Baran 2016 ice optics option
454        - Optimized calculation of Planck function
455        - Better ordered the printing of configuration information
456        - Added configCY43R3.nam to match expected configuration in ECMWF
457          IFS cycle 43R3
458
459version 0.9.42 (31 August 2016)
460        - Optimized radiation_ifs_rrtm.F90 and added
461          rrtm_gas_optical_depth.F90 to replace rrtm_gasabs1a_140gp.F90
462        - Optimized calc_two_stream_gammas_sw
463        - Added Tripleclouds solvers in longwave and shortwave
464
465version 0.9.41 (16 August 2016)
466        - Added possibility to reproduce IFS bug in longwave ice where
467          single scattering albedo is one minus what it should be
468        - Ensure initialization to zero of [od/ssa/g]_[sw/lw]_[liq/ice]
469          variables in radiation_cloud_optics.F90
470        - Removed Dr Hook calls for small routines called many times:
471          everything in radiation_two_stream, plus
472          radiation_aerosol_optics_data:calc_rh_index, calc_liq_optics_*,
473          calc_ice_optics_*
474
475version 0.9.40 (14 July 2016)
476        - Updated files in ifs directory
477
478version 0.9.39 (22 June 2016)
479        - Renamed cloud_cover_* routines to cum_cloud_cover_* since they
480          compute the cumulative cloud cover, and added a "cloud_cover"
481          function that does actually compute the total cloud cover (only)
482        - Use gamma rather than lognormal distribution for McICA to better
483          match the current IFS
484        - radiation_cloud::set_overlap_param now uses the correct layer
485          separation from temperature and pressure, rather than an
486          approximate one using a constant atmospheric scale height
487        - radiation_cloud_generator now correlates cloud inhomogeneities
488          between non-adjacent layers if the Exp-Exp overlap scheme is used
489        - radiation_cloud_cover::cum_cloud_cover_exp_exp now checks for
490          pair_cloud_cover not consistent with the cumulative cloud cover
491          profile
492
493version 0.9.38 (2 June 2016)
494        - Added Tegen climatology data file and modified
495          radiation_aerosol_optics_data to read data files that don't
496          contain hydrophilic aerosols
497        - Added Slingo (1989) and Lindner and Li (2000) liquid droplet
498          optics parameterizations for backwards compatibility with the IFS,
499          although note that Slingo (1989) has been found to have errors
500
501version 0.9.37 (17 May 2016)
502        - Added do_3d_lw_multilayer_effects to mirror the same for
503          shortwave.  This controls whether off-diagonal elements are
504          permitted in the total_albedo matrix - these represent the
505          probability that downwelling radiaton exiting a region is
506          reflected up in another region.  This may be due to transport
507          through cloud sides, or due to "anomalous" horizontal transport
508          where fluxes are homogenized in regions.  Unlike in the shortwave,
509          this option is not forced on if 3D effects are enabled; in fact,
510          it is probably better to turn it off in both 1D and 3D cases
511          because this homogenization is not likely to occur to any
512          significant degree in the longwave.
513        - Added capability to select single/double precision in
514          easy_netcdf.F90, and radiative properties are now stored in double
515          precision.
516        - Changed verbosity settings of driver: 2 = print *all* setup
517          info, 3 = also print numbers of current profiles being processed.
518        - radiation_ifs_rrtm now checks solar zenith angle for positivity
519          to decide whether to set incident solar radiation to zero
520
521
522version 0.9.36 (10 May 2016)
523        - Bug fix in radiation_monochromatic.F90: Planck profile calculation
524        - Maximum 3D transfer rate is now configurable (max_3d_transfer_rate)
525        - Inverse effective cloud size can be specified separately for eta
526          in the bands 0-0.45, 0.45-0.8 and 0.8-1 via high_inv_eff_size,
527          middle_inv_eff_size, low_inv_eff_size in the radiation_driver
528          namelist.
529        - License and copyright now in LICENSE and NOTICE; COPYING has
530          been removed
531        - "ifs" directory added illustrating how the radiation scheme is
532          called from the IFS, including the routines for computing cloud
533          particle effective radius.
534
535version 0.9.35 (29 April 2016)
536        - Added Exponential-Exponential overlap capability to match
537          original IFS Raisanen cloud generator
538        - Overlap in McICA can be selected with overlap_scheme_name in
539          namelist = Exp-Exp, Exp-Ran or Max-Ran
540        - Removed test on od_over_mu0 in
541          calc_reflectance_transmittance_sw, which speeds up IFS
542          implementation
543        - In same routine, increased minimum "k^2" to 1.0e-12_jprb which
544          removes noise in clear-sky upwelling versus solar zenith angle
545
546version 0.9.34 (20 April 2016)
547        - Added option to do delta-Eddington scaling after merging with
548          gases, which seems less "correct", but is how the original IFS
549          scheme works
550        - Delta-Eddington now a header file included by several modules
551        - Clarified that RRTMG license is now BSD 3-clause
552
553version 0.9.33 (March 2016)
554        - Removed PS-Rad implementation of RRTMG
555        - Added delta-Eddington scaling of aerosol scattering properties
556
557version 0.9.32 (17 March 2016)
558        - Slight change to the way that cloud overlap is specified
559        - Added aerosol optics data files matching IFS cycles
560        - Default aerosol file is aerosol_ifs_rrtm_42R1.nc
561
562version 0.9.31 (26 January 2016)
563        - Print out description of aerosol types being used
564        - Added iverbosesetup in order to specify separately the verbosity
565          of the setup and normal execution parts
566        - Removed "is_verbose" from namelist
567        - Removed "ncol" as an argument from the solvers
568        - PS-Rad RRTMG option now prefixed by PSRAD in the code and the
569          directory structure; radiation_ifsrrtm renamed to
570          radiation_ifs_rrtm
571
572version 0.9.30 (16 January 2016)
573        - Bug fix: if layer overcast and only 2 regions then 3D
574          calculations not performed
575        - Split cloud optics into separate source files
576
577version 0.9.29 (7 January 2016)
578        - Support for separate direct and diffuse shortwave albedos
579        - Explicit loop indices in radiation_adding_ica_*w and
580          radiation_ifsrrtm speeds these routines up somewhat
581        - Added capability to calculate longwave derivatives for Hogan &
582          Bozzo (2015) method
583        - Faster longwave McICA solver if cloud scattering not represented
584        - Added homogeneous solvers
585
586version 0.9.28 (17 November 2015)
587        - Added some comments to McICA parts and cleaned up
588
589version 0.9.27 (13 November 2015)
590        - Capped the transfer rate between regions in 3D SPARTACUS to "10"
591          per layer, equivalent to an optical depth of 10
592        - Fixed cloud cover calculation in cloud generator
593        - Fixed bug in McICA LW where surface Planck function taken from
594          wrong column
595        - Optimized SW reflectance transmittance: use simple expression
596          for optically thin points
597
598version 0.9.26 (6 November 2015)
599        - Added no-scattering solver for McICA longwave, typically used in
600          clear skies when aerosol scattering is turned off
601
602version 0.9.25 (4 November 2015)
603        - Reordered gas and cloud optical properties to have g-point
604          varying fastest, leading to a significant speed-up
605
606version 0.9.24 (4 November 2015)
607        - Added possibility for radiation to be transported directly
608          between regions a and c, via clear_to_thick_fraction
609        - Added capability for direct beam from overhead sun to pass
610          through cloud sides, to improve 3D effect for overhead sun
611        - Read McICA PDF look-up table from mcica_lognormal.nc to
612          radiation_pdf_sampler.F90
613        - Verified McICA cloud generator
614        - Added capability to interpret overlap parameter as Hogan &
615          Illingworth's "alpha" rather than Shonk et al.'s "beta", made this
616          the default and verified that McICA and SPARTACUS give the same
617          total cloud cover.
618        - Added capability to repeat calculation multiple times for better
619          profiling
620        - Gas optics unit scaling now done all at once to avoid bugs
621          associated with part of mixing_ratio array being in one unit and
622          another part being in another unit (for the same gas)
623        - Some optimization of gamma calculations
624
625version 0.9.23 (19 October 2015)
626        - Thresholds on gas optical depth now performed in
627          radiation_ifsrrtm.F90 to avoid problems with unphysical ssa after
628          aerosol optics
629
630version 0.9.22 (13 October 2015)
631        - Protection for zero Kelvin in monochromatic Planck function
632        - Check on dimensions read from aerosol optics file
633        - Better diagnostic of aerosol settings in print_config
634        - Included longwave internal radiation distribution
635          parameterization for 3D (config%do_lw_side_emissivity)
636        - Added requirement for non-zero water content in
637          radiation_spartacus_?w.F90
638
639version 0.9.21
640        - Fixed the monochromatic option
641
642version 0.9.20
643        - Bug fixes in radiation_matrix.F90 and radiation_ifsrrtm.F90
644        - Better printing of the configuration in radiation_config.F90
645
646version 0.9.19 (not a stable version)
647        - Moved solar irradiance from config to single_level
648
649version 0.9.18
650        - Module radiation_io for abort and output units
651        - Started shortwave McICA implementation
652        - Better IFS compatibility
653        - Revised config_type structure
654
655version 0.9.17
656        - Optical depth thresholds now in the radiation namelist as
657          max_gas_od_3d and max_cloud_od
658        - Can process limited number of columns via istartcol and iendcol
659          in the radiation_driver namelist
660        - Fixed bug where upwelling longwave surface clear-sky flux was
661          underestimated if a cloud was present in lowest model level
662        - Incoming solar flux scaled in radiation_ifsrrtm to match
663          requested TSI
664
665version 0.9.16
666        - Rather than turning off 3D radiation if OD in a region is too
667          high, we cap the OD of the cloud and still do 3D calculations.
668          Note that to enable 3D effect to be calculated, this is done even
669          if 3D effects are turned OFF.
670
671version 0.9.15
672        - Added capability to output fluxes per g-point with
673          do_save_gpoint_flux
674        - Check for "ghost" clouds (zero water content, non-zero cloud
675          fraction)
676        - 3D radiation only called if optical depth of gas < 8 and total
677          optical depth of thickest region < 30
678
679version 0.9.14
680        - Cleaned up the text output via separate "iverbose" config
681          variables for the driver and the main radiation code
682
683version 0.9.13
684        - driver/radiation_driver_config.F90 now handles the aspects of
685          the configuration that are limited to the driver rather than the
686          radiation code itself
687
688version 0.9.12
689        - Now use IFS version of RRTM-G gas optics
690        - g_lw zeroed in radiation_interface
691
692version 0.9.11
693        - Monochromatic is now a run-time rather than compile-time option
694        - Option to output spectral fluxes
695
696version 0.9.10
697        - Added overlap_decorr_length_scaling option for namelists
698
699version 0.9.9
700        - Added IFS RRTM code in ifsrrtm/
701        - Added "make resort" in work/ to provide re-sorted g points for
702           radiation_rrtm.f90
703
704version 0.9.8
705        - Better compatibility with IFS: added dr_hook, nulout,
706          nulerr, abor1
707        - easy_netcdf into utilities library
708        - Revised the variable name convention in radiation/*.f90 so
709           that can be converted to IFS coding norms if required
710
711version 0.9.7
712        - Added Fu (1996) and Fu et al. (1998) ice optics
713
714version 0.9.6
715        - Implemented aerosols
716
717version 0.9.5
718        - Implemented ice optics
719
720version 0.9.4
721        - Combined clear-sky calculations into single spartacus call
722        - Fixed the optimized matrix operations for shortwave sparsity
723
724version 0.9.3
725        - Fixed ozone in standard atmosphere profiles
726        - Fixed bug in Meador-Weaver direct transmittance calculation
727
728version 0.9.2
729        - First beta release
Note: See TracBrowser for help on using the repository browser.