******************************************************************************
**                               CAABA history                              **
**                  Time-stamp: <2010-12-20 16:43:31 sander>                **
******************************************************************************

Previous versions are available as zip files at:
~/messy/mecca/ori/caaba_<VERSION>.zip

new versions are created with: ncv <VERSION>

******************************************************************************

The next version will be:
caaba_3.0 (2011)

feature freeze, only bug fixes are allowed now!!!

******************************************************************************

caaba_3.0gmdd (2010-12-20)

CHANGES by Rolf Sander:
- xcaaba: bugfix in check if there are any reaction rates RR* in
  caaba_mecca.nc (avoiding that content of shell variable is too long)

******************************************************************************

caaba_3.0beta (2010-12-08)

CHANGES by Rolf Sander:
- Makefile: ADDEFS = $(DEFOPT)E4CHEM commented out
- most *.bat moved into batch/user_contributed/ directory
- some *.nml moved into nml/user_contributed/ directory
- the example file nml/caaba_example.nml now contains explanations of
  all namelist variables. Comments from other *.nml (partially already
  outdated) have been removed.
- messy_mecca_box.f90: "CALL x0" in mecca_init is now executed _before_
  defining c(ind_H2O) as a function of relative humidity. This ensures
  that c(ind_H2O) cannot be not overwritten by H2O data in the init_spec
  input file. For model runs in which the relative humidity should _not_
  be used to calculate c(ind_H2O), the namelist variable l_ignore_relhum
  should be set to TRUE.

******************************************************************************

caaba_2.7g (2010-12-01)

CHANGES by Rolf Sander:
- xcaaba: suppress error messages for splitting RR*
- messy_cmn_gasaq: values updated and references added for CH3CO2H, PAN,
  C2H5O2, CH3CHO and CH3COCH3

CHANGES by Andreas Baumgaertner:
- messy_cmn_photol_mem.f90: added items

CHANGES by Patrick Joeckel:
- JVAL: import_tseries removed
- MECCA  (xmecca) : allow negative diagnostic products in diagtrac/*.tex

CHANGES by Andreas Baumgaertner:
- improved compiler options for IBM/AIX in Makefile
- ADDEFS = $(DEFOPT)E4CHEM added to Makefile
- messy_mecca_box.f90: x0_strato10 selected for "STRATO" setup

******************************************************************************

caaba_2.7f (2010-11-17)

CHANGES by Rolf Sander:
- xmecca:
  - show a list of batch files to select from
  - info about SETFIX added to logfile
- bugfix in steady_state_reached() in messy_mecca.f90: timesteplen is now
  a function parameter (INTENT(IN)) and not obtained via USE.
- messy_main_control_cb.f90: runtime inconsistency check may result in a
  false positive for numerical reasons. Therefore it is restricted to
  USE_TRAJECT where it really may be useful.
- caaba.f90:
  - write exit status for caaba.exe ("0"=okay or "1"=error) to
    status.log and check status in xcaaba, multirun.tcsh and
    montecarlo.tcsh
  - test that 0 < relhum < 1.1
- some files renamed according to the general CAABA/MECCA programming
  guidelines:
  asc2ferret4nc.tcsh -> xtxt2nc
  asc2ferret4nc.awk  -> txt2nc.awk
- multirun.tcsh:
  - MaxTime info added to caaba_mecca_c_end.nc
  - obsolete sum.dat and header.dat deleted
- time step variable name changed (again):
  time_step_str -> timesteplen_str
  time_step     -> timesteplen

******************************************************************************

caaba_2.7e (2010-09-24)

CHANGES by Rolf Sander:
- multirun: completely restructured, produces netcdf output now
- zrender.* and zsub in tag/ deleted (not used anymore)
- main.mk and cmg: *.awk, *.bat, and executable scripts are now all
  included consistently

******************************************************************************

caaba_2.7d (2010-09-15)

CHANGES by Sergey Gromov:
- update of MECCA_TAG and MECCA_DBL: The tagging is switched off now,
  giving the user a message to use doubling instead. Doubling works OK.
  The test configuration for 13CH4 (tagTEST.cfg) was added.

CHANGES by Rolf Sander:
- new scenarios HOOVER and LAB_C15 added
- some variable names changed to make them more consistent in the nml
  files and the f90 code:
  --------------------------------------------------------------------
  old:                          new:                            where:
  --------------------------------------------------------------------
  time_step     (STRING)       -> time_step_str                    nml
  time_step_len (REAL,seconds) -> time_step                        f90
  --------------------------------------------------------------------
  ext_runtime   (STRING)       -> runtime_str                      nml
  runtime       (REAL,seconds) -> runtime          (unchanged)     f90
  --------------------------------------------------------------------
  startday      (REAL,days)    -> model_start_day                  nml
  model_start   (REAL,seconds) -> model_start      (unchanged)     f90
  --------------------------------------------------------------------
- new section "How to enlarge KPP" added to manual
- ncv: update meccalit.bib via findrefs.awk
- xcaaba and xmecca: echo "\n" replaced by 2 echo commands
- _zipcaaba.tcsh: the generated zip file includes all example input
  files which are now called example*.nc
- new namelist switch l_ignore_relhum. If true, relhum is not used to
  calculate c(H2O). Instead, H2O should be initialized in subroutine x0
  (either directly or via 'External chemical initialization')

******************************************************************************

caaba_2.7c (2010-09-02)

CHANGES by Rolf Sander:
- messy_main_tools.f90: the new subroutine rh2mr is a wrapper for
  choosing between relhum2mr and relhumwmo2mr

CHANGES by Hella Riede
- messy_traject_box:
  - using cair/cair_old to correct concentrations along trajectory, not
    combination of old and new temperatures now that cair is more complex
    and involves CAABA water vapor mixing ratio or psat and relhum
  - spec2relhum and spec2relhumwmo used to convert to relhum if spechum
    given by trajectory file
  - update_trajectory renamed to traject_physc; udating really done by
    get_physc_data and in traject_physc only update_trajectory was called
    old: traject_physc -> update_trajectory -> get_physc_data
    new: traject_physc (before update_trajectory) -> get_physc_data
  - cair now calculated in traject_init and traject_physc
- caaba.f90:
  - calling init_convect_tables if using l_psat_emac
  - using cair_wmo and cair_trad to calculate cair
- messy_mecca_box:
  - using messy_main_tools function rh2mr to convert from relhum to
    mixing ratio in mecca_init and mecca_physc
- messy_main_tools:
  - new functions relhum2mr and relhumwmo2mr: convert relative humidity to
    mixing ratio; generic, but right now only needed in CAABA
    since all humidity via relhum or relhumwmo
  - corrected all functions involving spechum, relhum, psat to account for
    press being pressure of HUMID atmosphere
  - noticed that psat < 0 between roughly 211.4 K and 187 K, which is
    reached in UTLS; now using recommended functions from Murphy and
    Koop, QJRMS, 2005: psat_mk (ice below 273.15, analogous to tlucua
    from init_convect_tables) and psat_mk(l_liquid=T) (above liquid
    water, analogous to tlucuaw; both converge to zero with decreasing
    temperature, always > 0
  - l_psat_emac: switch for alternative to psat_ice and psat_liq: use
    look-up tables from init_convect_tables in messy_main_tools.f90 to
    be consistent with EMAC; standard: psat_mk; init_convect_tables
    called from caaba.f90 is switch true
  - if simulation under supercooling effects wished when using
    spec2relhum and similar functions: always use psat_mk(l_liquid=T),
    analogous to tlucuaw
- free-troposphere tracer initialization; average of initial values from
  5-day back trajectories (T42 5h EMAC output) of CARIBIC2 flight
  20060706_CAN_FRA_157_EMAC
- messy_mecca_box and caaba.nml:
  WMO/standard relhum choice by namelist parameter
  l_relhum_wmo; default: standard relhum
  => spec2relhum, spec2relhum_wmo and rel2spechum now have
     one optional argument more: l_psat_emac
- eval_time_str:
  - both date formats, YYYY-MM-DD and DD-MONTH-YYYY accepted
  - string comparisons more secure by using ucase
  - (uncomfortable) flexibility for time origin in output:
    ![uni] label for lines to be active when time string is wished to be
    unified to the format YYYY-MM-DD hh:mm:ss; ![sam] label for lines
    that should be active when time string should be written out as read in
- jval_box: note that j-values only corrected if jval j-value above
  threshold; was arbitrarily set to 1E-10 (to avoid large random ratios);
  now set to 2E-3, which is easily crossed after sunrise and at the same
  time less vulnerable to sampling artifacts dur to 5-hour output interval
- xmecca:
  - now inserts the default values ('n') into mecca.eqn when default is
    chosen for rxnrates and tagdbl
  - values of 'decomp' and 'kppoption' written to logfile also when NO batch
    file used
  - adds $HOST to infoline $timestamp
- xcaaba:
  - create variable $timestamp similar to xmecca; prepend to caaba.log

******************************************************************************

caaba_2.7b (2010-08-17)

CHANGES by Rolf Sander:
- bugfix for gas_mim1.eqn: mcexp deleted
- reaction rates RR* are already divided by time_step_len in the f90
  code, thus they are not accumulated in the netcdf files anymore
- Monte-Carlo:
  - montecarlo.jnl: histograms of k and c added
- to avoid redundancy, changes are now only listed here but not in the
  caaba/mecca user manual anymore

******************************************************************************

caaba_2.7 (2010-07-27)

CHANGES by Rolf Sander:
- example input file for READJ: input/readj_input.nc
- new scenario "LAB" for modeling laboratory conditions
- messy_mecca_box.f90 creates output files caaba_mecca_k_end.nc and
  caaba_mecca_c_end.nc which contain rate coefficients k and
  concentrations c at the end of the model run
- Multirun:
  - namelist file moved to multirun/input/caaba_multirun.nml
  - NaN replaced by 0.0 in multirun/input/*.txt
  - multirun/input/asc2ferret4nc.tcsh converts PRESS and TEMP to
    lowercase via ncrename
- Monte-Carlo:
  - montecarlo.jnl produces scatter plots c vs k plus linear regression
  - messy_mecca_box.f90 creates _scatterplot1.jnl and _scatterplot2.jnl
  - mcfct renamed to mcexp (because it is an exponent, not a factor)
- in xmecca plus a few other files: LC_COLLATE replaced by LC_ALL in all
  calls to awk scripts
- revert renaming to previous state:
  - gas_mim2.eqn renamed back to gas.eqn
  - batch/*.bat adjusted accordingly
  - *.rpl files are now in rpl/ and rpl/mim1/
- ncclamp added into the new directory caaba/tools/

******************************************************************************

caaba_2.6f (2010-06-14)

CHANGES by Rolf Sander:
- xmecca: exit with an error message if the selected mechanism is empty
- new script "cmg" = caaba/mecca-grep to search the code
- MECCA:
  - if APN=3 then ocean chemistry is calculated as a pseudo-aerosol
  - nitrate (c0_NO3m) as initial aerosol component added
  - new reference for sea water composition is ref2307 = Millero et al.
    2008 (previously Stumm & Morgan, ref0133, p. 567 was used)
  - gas/aq transfer of DMS added: H9402
- xcaaba splits output file caaba_mecca.nc into species and reactions
  (RR*) with ncks

******************************************************************************

caaba_2.6e (2010-04-19)

CHANGES by Rolf Sander:
- messy_mecca_aero.f90: 
  - general clean-up
  - functions density and layerthickness moved to messy_main_tools.f90
- ncv uses _zipcaaba.tcsh
- _zipcaaba.tcsh also includes input files for traject: traject/*.nc

******************************************************************************

caaba_2.6d (2010-04-12)

CHANGES by Rolf Sander:
- messy_cmn_gasaq:
  - new values are activated and old code deleted
  - Henry's law coefficients of infinitely soluble species (e.g. N2O5)
    set to HUGE_dp
  - henry2tex.awk and alpha2tex.awk adjusted to new syntax:
    "CALL add_alpha('XYZ', alpha0, minDHR) ! {&REF}"
    "CALL add_henry('XYZ', KH, minDHR) ! {&REF}"
- messy_mecca_aero: molar mass of HNO4 was wrong. This bug is fixed
  automatically because correct values from messy_cmn_gasaq are used
  now.

******************************************************************************

caaba_2.6c (2010-04-08)

CHANGES by Rolf Sander:
- messy_cmn_gasaq: new module that defines physicochemical constants.
  For debugging purposes, a comparison to the old values can be printed
  (search for "q1q"). The new values are not activated yet.

******************************************************************************

caaba_2.6b (2010-04-01)

CHANGES by Rolf Sander:
- xtag and xdbl: making zero configuration is not verbose anymore
- eqn2tex.awk: reaction rate pseudo-species RR* removed from latex output
- xmecca: creating correct accumulated reaction rate entries (RR*) now
  also for aqueous-phase reactions
- bugfix in messy_mecca_box.f90: aqueous-phase RR* excluded from
  sedimentation
- update of photolysis rate coefficients in gas_mim2.eqn that are
  derived from other species, e.g.: J(ETHOHNO3) = 3.7 * J(PAN). Also,
  corresponding references and footnotes added to meccanism.tex.

CHANGES by Sergey Gromov:
- MECCA:
  - meccanism.tex: number of isotope exchange reactions added
  - xmecca updated
  - update of MECCA_TAG and MECCA_DBL
  - new rpl/mim1/tagdbl_rb_eval.rpl

CHANGES by Patrick Joeckel:
- MECCA: gas.tex MIM1-only substances restored: NACA, LHOC3H6OOH, ISOOH,
         MVKOOH, ISON, LHOC3H6O2, ISO2, MVKO2

******************************************************************************

caaba_2.6 (2010-03-16)

CHANGES by Domenico Taraborrelli and Rolf Sander:
- new isoprene oxidation MIM2 from ACP, 9, 2751-2777, 2009
- new batch file mim2.bat, new namelist file caaba_mim2.nml, and new
  'MIM2' scenarios for testing MIM2
- new species added to gas.spc, xxxg.jnl, and _kppvarg.jnl
- implementation based on gas_MIM2_20080816_dt.eqn,
  gas_MIM2_20080816_dt.spc, gas-v1.1_labeled.eqn (2009-06-22 22:28),
  and complex_k_MCM.txt (2009-03-10 17:42)
- new parameterization for RO2 + R'O2 reactions
- new oxidation scheme for acetone
- new oxidation scheme for C2H4 (oxidation by OH and O3)
- C1-chemistry not copied from MIM2 (but RO2+R'O2 adjusted to new
  parameterization)
- obsolete species (kept in gas.spc for MIM1):
  NACA, ISON, ISO2, ISOOH, LHOC3H6O2, LHOC3H6OOH, MVKO2, MVKOOH
- lumped species now all start with "L"
- reaction numbers changed because MPAN is C4, not C3:
  G4318 --> G4418
  G4319 --> G4419
  J4305 --> J4407
- some reactions were already included in MECCA. In these cases, the
  products were updated to MIM2 but the MECCA rate coefficient was
  kept (instead of using the MCM value)
- product ONIT neglected in G4415
- J-values for MIM2 reactions are now based on available J-values from JVAL:
   0.074*jx(ip_CHOH)                for ACETOL, CO2H3CO3H, and HO12CO3C4
   0.074*jx(ip_CHOH)+jx(ip_CH3OOH)  for C59OOH and LMVKOHABOOH
   0.5*jx(ip_CH3COCHO)              for BIACETOH
   0.5*jx(ip_MVK)                   for HCOC5
   3.7*jx(ip_PAN)                   for ISOPBNO3, ISOPDNO3, and LISOPACNO3
   3.7*jx(ip_PAN)+0.074*jx(ip_CHOH) for NOA
   jx(ip_CH3COCHO)                  for HCOCO2H, HOCH2COCO2H, and HOCH2COCHO
   jx(ip_CH3OOH)                    for many ROOH
   jx(ip_CH3OOH)+0.074*jx(ip_CHOH)  for HYPERACET
   jx(ip_CH3OOH)+jx(ip_HOCH2CHO)    for HCOCO3H
   jx(ip_HOCH2CHO)                  for MACROOH and MACROH
   jx(ip_MACR)                      for NC4CHO and LHC4ACCHO
   jx(ip_MVK)                       for MVKOH
- gas.tex:
  - new species added
  - MPAN corrected (C4 not C3)

CHANGES by Patrick Joeckel and Rolf Sander:
- xmecca chooses between gas_mim1.eqn and gas_mim2.eqn. This choice is
  also added to batch files.
- *.rpl files are now in rpl/mim1 and rpl/mim2
- KPP species renamed according to MCM in gas.spc, gas.eqn, gas.tex,
  aqueous.spc, aqueous.eqn, aqueous.tex, graphviz/*.spc:
  PAA      --> CH3CO3H
  CH3COCHO --> MGLYOX
  EtO2     --> C2H5O2
  EtOOH    --> C2H5OOH
  PA       --> CH3CO3
  CH3COOH  --> CH3CO2H
  PrO2     --> IC3H7O2
  ONIT     --> LC4H9NO3
  PrOOH    --> IC3H7OOH
  PrONO2   --> IC3H7NO3
  ACETO2   --> CH3COCH2O2
  ACETP    --> HYPERACET
  C4H10    --> NC4H10
  C4H9O2   --> LC4H9O2
  C4H9OOH  --> LC4H9OOH
  MEKO2    --> LMEKO2
  MEKOOH   --> LMEKOOH
  MeCOCO   --> BIACET
  ISOP     --> C5H8 (also in messy_semidep_box.f90)
  C3H6O2   --> LHOC3H6O2
  C3H6OOH  --> LHOC3H6OOH
- kpp/src/Makefile: new target "list" shows settings made in
  Makefile.defs (e.g. FLEX_LIB_DIR)
- multirun/input/asc2ferret4nc.awk and multirun/loopcaaba.tcsh: data
  files renamed from *.asc to *.dat
- photolysis names changed according to MCM in messy_cmn_photol_mem.f90,
  messy_jval_jvpp.inc:
  PAA      --> CH3CO3H
  CH3COCHO --> MGLYOX

CHANGES by Sergey Gromov:
- updates for TAG and DBL

CHANGES by Rolf Sander:
- xmecca: number of selections (wanted*) reduced to 5. For all other
  purposes, a batch file should be created.
- new file: LICENSE
- "St"-label added to J(BrO)
- zipcaaba.tcsh: some more (e.g. *.log) files are excluded now

CHANGES by Hartwig Harder:
- MECCA: replacement file oomph_o3_flux.rpl added

CHANGES by Patrick Joeckel:
- gas.eqn: comment to remove factor 1.4 on Cl2O2 photolysis channel in
  case alternative jval_cal_cl2o2_new is used (as in MECCA1)
- MECCA/kpp: enable creation of mechanisms on IBM Power6 (AIX);
  modified files: replace.awk, substitute.awk, xmecca, Makefile.defs.AIX
- G4403: bugfix: yield of CH3CHO is 0.28 instead of 0.84 (as in MECCA1)

CHANGES by Astrid Kerkweg and Patrick Joeckel:
- messy_main_constants_mem.f90, messy_main_timer.f90,
  messy_main_tools.f90: updates
- updates according to IMPORT_TSERIES
  - messy_jval_box.f90: USE statements changed
  - new link to messy_main_import_tseries.f90

CHANGES by Andreas Baumgaertner:
- messy_mecca_box.f90: x0_strato* updated
- new batch-files: chem_eval2.3.bat and e4chem.bat
- messy_e4chem_box.f90 updated
- E4CHEM solver included, only compiled via Makefile.m (not in box model)
- ncv: exclude E4CHEM files from zip
- main.mk: ADDEFS preprocessor directive to include compiling of E4CHEM via
  Makefile.m (with 'gmake mbm')

******************************************************************************

caaba_2.5n (2010-02-22)

CHANGES by Rolf Sander:
- KPP: 
  - gdata.h: KPP_VERSION updated to 2.2.1_rs5
  - scan.l: crtToken, nextToken, crtFile, and crt_rate increased to 300
    to allow longer f90 expressions for the rate coefficients in the
    *.eqn files
- MECCA:
  - xmecca and mcfct.awk: Code rewritten so that one reaction can have
    several uncertainty factors, e.g. a second uncertainty for the
    temperature dependence or the branching. Factor can now also appear
    in inlined f90 code. Uncertainties of rate coefficients must now
    appear directly after the value, e.g. 8.E-12{§1.15} and not at the
    end of the line anymore.

CHANGES by Hella Riede:
- useless, unwanted file with the name '-' deleted
- new script nodiag.tcsh that deletes diagnostic tracers for reaction
  rates (DT* (old) and RR*) specified in diagtrac file

CHANGES by Franziska Koellner:
- MECCA:
  - gas.eqn: uncertainties of rate coefficients moved to correct place

******************************************************************************

caaba_2.5m (2009-11-27)

CHANGES by Andreas Baumgaertner and Rolf Sander:
- JVAL: scenario photo_strato added with 90 levels
- MECCA: "CALL x0_strato" added to messy_mecca_box.f90
- E4CHEM: x0_default renamed to x0_strato

CHANGES by Franziska Koellner:
- MECCA: uncertainties of rate coefficients {§...} entered in gas.eqn

CHANGES by Rolf Sander:
- JVAL:
  - messy_jval_box.f90:
    - obsolete z_jpress deleted
    - photo scenarios moved from jval_physc to jval_init (no
      time-dependent info there)
    - output of ALL J-values, not just selected species
- MECCA:
  - mcfct.awk:
    - new formula using EXP(x) instead of 10.**x
    - if two §§, then dlogk (IUPAC), if one §, then f (JPL)
    - default is now 0.2
  - gas.eqn: rate constant for G6410 = 8.0e-11
  - KPP: All Makefiles now use the machine-dependent Makefile.defs.* files
  - carbon mass balance for C atoms fixed for:
    <G4111> HCOOH + OH {+O2}= CO2 + HO2 + H2O : {%TrG} 4.0E-13; {&1945}
  - KPP bug fixes to allow compilation on MAC OSX:
    - gdata.h: KPP_VERSION updated to 2.2.1_rs4
    - code_matlab.c: "#include <time.h>" added because it is necessary for
      time_t, see: http://en.wikipedia.org/wiki/Time_t
    - scan.y, scanutil.c and y.tab.c: "#include <malloc.h>" deleted
      because it is not necessary. "malloc" comes from <stdio.h>.
    - new file Makefile.defs.Darwin for MAC OSX with:
      FLEX_LIB_DIR=/Developer/SDKs/MacOSX10.5.sdk/usr/lib

******************************************************************************

caaba_2.5l (2009-09-03)

CHANGES by Hartwig Harder and Rolf Sander:
- multirun:
  - loopcaaba.tcsh: P_STAT and AIRTEMP_FZJ__C renamed to press and temp,
    respectively

CHANGES by Hella Riede:
- update of TRAJECT submodel
- output now to caaba_messy.nc instead of caaba_traject.nc for
  compatibility with non-traject mode

******************************************************************************

caaba_2.5k (2009-08-27)

CHANGES by Rolf Sander:
- user manual updated
- xmecca calls dot (graphviz) to create plots of chemistry mechanism
- xcaaba offers selection and then creates link to caaba.nml
- scenarios introduced (namelist variables):
  photo_scenario (SAPPHO)
  emission_scenario (SEMIDEP)
  deposition_scenario (SEMIDEP)
  init_scenario (subroutine x0 in messy_mecca_box.f90)
  - possible values = OOMPH, DEFAULT, FT, FF_ANTARCTIC, FF_ARCTIC,
                      STRATO, MBL
- x0_e4chem renamed to x0_strato
- new default subroutine x0_simple with very simple CH4 chemistry

CHANGES by Hartwig Harder and Rolf Sander:
- multirun:
  - the tcsh scripts multirun.tcsh and loopcaaba.tcsh are called via
    xcaaba but can also be called directly
  - input *.txt and *.nc files are in multirun/input/
  - output files header.dat, sum.dat, ...) are stored in
    output/multirun/*/
  - gmake zip now only excludes *.nc files in base directory (but not in
    multirun/input/)

CHANGES by Andreas Baumgaertner:
- E4CHEM: new submodel, encapsulated in cpp-directives "#ifdef E4CHEM",
  only compiled via Makefile.m
- ncv: exclude E4CHEM files from zip
- main.mk: ADDEFS preprocessor directive to include compiling of E4CHEM via
  Makefile.m (with 'gmake mbm')

- Makefile: removed "-lnetcdf90" for AIX

******************************************************************************

caaba_2.5j (2009-07-08)

CHANGES by Rolf Sander:
- obsolete, static file jnl/rates.jnl deleted
- new awk script rxnrates.awk creates 2 ferret jnl files to plot
  reaction rates
- messy_mecca_box: x0_default renamed to x0_mbl

******************************************************************************

caaba_2.5i (2009-05-08)

CHANGES by Rolf Sander:
- using the same value for caaba_version as for MECCA version
- mecca/diagtrac/find_species: a new script that creates a diagtrac.tex
  file for a selected species
- xcaaba:
  - check if kpp files (spc, eqn, kpp) are newer that kpp-generated f90
    files.
  - gmake with option "-j" allows simultaneous jobs (faster compilation)
  - "unbuffer" and "expect" for model output
- gas.eqn:
  <G6412> C2H6 + Cl = CH3O2 + HCl

******************************************************************************

caaba_2.5h (2009-01-29)

CHANGES by Patrick Joeckel:
- Makefile: g95 option "-pg" changed to "-g"

CHANGES by Sergey Gromov:
- major update of tag and dbl

******************************************************************************

caaba_2.5g (2009-01-29)

CHANGES by Rolf Sander:
- starting (cosmetic) changes in messy_jval.f90
- paragraph (§) sign removed from xmecca to avoid potential interference
  of diagtrac and rxnrates with {§...} in eqn file for Monte-Carlo
- random generator from main_rnd implemented
- improved Monte-Carlo simulations:
  - netcdf files are merged with ncpdq, ncclamp, and ncrcat
  - mecca.nml: mcfct_seed added
  - batch/*.bat: definition of mcfct
  - REQ_MC introduced
  - mcfactor.awk renamed to mcfct.awk
- memory leaks fixed:
  - caaba.f90:
    DEALLOCATE(field)
  - messy_mecca_box.f90:
    DEALLOCATE(c0_HCO3m, c0_Clm, c0_Brm, c0_Im, c0_IO3m, c0_SO4mm, c0_HSO4m)
    DEALLOCATE(xaer, radius, lwc, csalt, c0_NH4p, c0_Nap, exchng)

******************************************************************************

caaba_2.5f (2008-12-06)

CHANGES by Hartwig Harder:
- multirun.tcsh updated

CHANGES by Rolf Sander:
- messy_cmn_photol_mem.f90: common declarations for photolysis submodels
  (JVAL, SAPPHO, READJ, ...) and MECCA
- messy/tools/kp4/templates/module_header: "USE messy_cmn_photol_mem" added
- Monte-Carlo simulations:
  - xmecca, mcfactor.awk: add mcfactor to mecca.eqn
  - messy_mecca_box.f90, messy_mecca.f90, template_messy_mecca_kpp.f90,
    mecca.nml: mcfactor_seed, l_mcfactor, define_mcfactor,
    fill_mcfactor, and mcfactor added

******************************************************************************

caaba_2.5e (2008-10-13)

CHANGES by Rolf Sander:
- messy_mecca_box.f90: SUBROUTINE check_range does not check reaction
  rates anymore: IF (SPC_NAMES(jt)(1:2) == "RR") CYCLE
- xmecca: diagtrac adds diagnostic tracers automatically as species to
  mecca.spc
- gas.spc: diagnostic tracers deleted
- diagtrac/halogen_budget.tex: only add one diagnostic tracer per line

******************************************************************************

caaba_2.5d (2008-08-15)

CHANGES by Rolf Sander:
- temp, press, relhum, and zmbl can now be read via the namelist
- names of netcdf input files in namelists must be complete now, i.e.
  with the suffix '.nc'
- l_init_spec replaced by (TRIM(init_spec)/="")
- xmecca, batch/*.bat:
  - diagtracall renamed to rxnrates
  - pseudo-KPP species renamed from DT* to RR*
  - bugfix: "#DEFVAR" added to $spcfile in rxnrates block
- main.mk: distclean now also deletes temporary LaTeX files (aux, blg,...)
- READJ: new submodel that reads J values from netcdf file

CHANGES by Patrick Joeckel:
  - MECCA (gas.eqn): reaction rate <G10100> Hg + O3 changed from
                     8.43E-17*EXP(-1407./temp) to 3.0E-20 according to
                     Ref2394
  - MECCA (gas.eqn): O3s, LO3s, k_O3s diagnostic completed

CHANGES by Astrid Kerkweg:
  - messy_main_control_cb.f90, messy_traject_box.f90: TOOLS->TIMER shifts

******************************************************************************

caaba_2.5c (2008-07-17)

CHANGES by Sergey Gromov:
- second attempt of introducing tagging and doubling
- KPP:
  - kpp/src/code_f90.c: size increase from 15 to 32 for long equation tags
  - kpp/src/gdata.h:    size increase from 12 to 32 for MAX_EQNTAG

******************************************************************************

caaba_2.5b (2008-07-16)

CHANGES by Sergey Gromov:
- first attempt of introducing tagging and doubling

******************************************************************************

caaba_2.5 (2008-07-11)

CHANGES by Rolf Sander:
- check_conservation.pl: allow white space at beginning of *.spc files
- ncv: *_e5.inc files are excluded
- namelist files moved into nml/ directory. caaba.nml is linked to nml/default/
- messy_main_blather.f90: new file with print utilities
- Makefile: entries for new netcdf libraries, compatible with g95
  version 0.91

******************************************************************************

caaba_2.4d (2008-06-12)

CHANGES by Hella Riede:
- jval_clev instead of nlev
- external variable names can be given in namelist
  (default: LON, LAT, PRESS, TEMP, RELHUM)
  Error if both vrelhum and vspechum specified in namelist,
  determines if external variable is interpreted as spechum or relhum
- percent_done moved to caaba_mem so that accessible to traject module
- caaba_messy only written out when USE_TRAJECT is false, if TRAJECT is used,
  all physical data is written to caaba_traject.nc; this was necessary because
  in caaba_init when caaba_messy is opened the trajectory information is not
  available yet (only after messy_init which comes AFTER caaba_init) so that
  the time axis for caaba_messy is wrong
- FLAGGED_BAD used to write "undefined" to netcdf, e.g., 
  sza and j-values (pressure levels not defined in jval yet) for 1st output
- now several diagtrac.tex as choice in xmecca, collected in directory
  mecca/diagtrac

******************************************************************************

caaba_2.4c (2008-06-09)

CHANGES by Rolf Sander:
- messy_main_mbmio renamed to caaba_io
- xmecca: keepeqn removed (not necessary anymore, batch files are easier)
- xcaaba: use qexec on grand
- ncv does not use zipcaaba anymore
- zipcaaba renamed to zipcaaba.tcsh
- main.mk: gmake zip starts zipcaaba.tcsh
- Hg chemistry from Zhouqing Xie added:
  - gas.spc, aqueous.spc: new species
  - gas.eqn, aqueous.eqn: new reactions
  - xmecca, batch/*.bat: most "wanted*" definitions exclude the new Hg reactions
  - latex/meccanism.tex: notes about some kH values
  - messy_mecca_aero.f90: calculation of vmean, alpha, and zhenry
  - messy_mecca_box.f90: initial Hg value
  - *.jnl: new species and reactions added
- reactions from aero.rpl integrated into gas.eqn (but not for stratosphere)

******************************************************************************

caaba_2.4b (2008-05-29)

CHANGES by Rolf Sander:
- CAABA can now be compiled and run with "OUTPUT = ASCII" in Makefile.
  This is useful to install CAABA on a machine without the netcdf
  library. However, subroutines that read from nc files cannot be used
  in that case, of course.
- messy_main_output renamed to messy_main_mbmio and moved to
  messy/smcl/. The corresponding netcdf and ascii code is contained in
  the include files messy_main_mbmio_ascii.inc and
  messy_main_mbmio_netcdf.inc.
- open_input_file moved from messy_traject_box.f90 to messy_main_mbmio
- close_output_file renamed to close_file because it is also used for
  input files
- messy_semidep_box.f90: different emissions are put into individual
  subsubroutines (emission_default, emission_oomph, ...)
- ncv split into ncv and zipcaaba
- xcaaba: model source code (*.f90, *.inc, *.spc, *.eqn) is also copied
  to output/ after the model run
- xmecca-generated infos are now available as f90 strings in
  messy_mecca_kpp(_global).f90. This works partially also for kp4,
  however, the integrator (integr) is not shown.
- xcaaba lists only the active lines of namelists before running caaba
- template to allow model stop at steady state:
  - FUNCTION steady_state_reached()
  - namelist variable l_steady_state_stop
- messy_mecca_box.f90:
  - arrays for aerosol properties (xaer, lwc, csalt, exchng, radius,
    c0_NH4p, c0_Nap, c0_HCO3m, c0_Clm, c0_Brm, c0_Im, c0_IO3m, c0_SO4mm,
    c0_HSO4m) are now ALLOCATABLE to avoid compiler problems in
    SUBROUTINE define_aerosol
  - different initializations in x0 are put into individual subsubroutines
    (x0_default, x0_oomph, ...)
  - definition of sea water composition improved
  - print more info at start of model run (x0, aerosol chemistry)
- caaba.f90:
  - print more info at start of model run (p, T, rh, ...)
- aero.rpl:
  - bug fix (CHBr3+OH)
  - new reaction numbers (there was an overlap with existing reactions)
- gas.eqn: CH3Br is now also photolyzed in troposphere

******************************************************************************

caaba_2.4 (2008-02-18)

CHANGES by Rolf Sander:
- manual/mecca_manual.tex: updated
- messy_mecca.f90, mecca.nml: new entry "mecca_aero=['ON'/'OFF'/'AUTO']"
  replaces l_aero in mecca namelist
- switch between ascii and netcdf with cpp directive "#ifdef NETCDF":
  - changes in caaba.f90, main.mk, Mainkfile*
  - mo_netcdf renamed to messy_main_output.f90
- a new (and currently dummy) file: messy_main_input.f90
- xmecca:
  - if a command line parameter $1 exists, xmecca uses the shell
    variable definitions from batch/$1.bat (instead of interactive mode)
  - header of mecca.eqn now shows infos (e.g. $apn, $rplfile and $wanted)
  - header of kpp-generated *.f90 files shows several infos
- xcaaba:
  - command line parameter $1 is passed to xmecca
  - at the end, model results (*.nc caaba.log) can be saved to output/
- ferret:
  - changes in ferret scripts are now listed here (older changes can be
    found in ~/ferret/ori/CHANGELOG)
  - initviewport.jnl, nextviewport.jnl: new option smallheader
  - initialize.jnl checks that the symbols dsensi and nsensi are already
    defined
  - _families_a.jnl: definition for EFBr and EFCl for cases where Na=0
  - _findrange_sizebins.jnl: plotdata cannot not be redefined inside
    loop. This would also redefine minval and maxval.

CHANGES by Astrid Kerkweg:
- replace.awk: bug fix

******************************************************************************

caaba_2.3e (2007-12-12)

CHANGES by Astrid Kerkweg:
- MECCA:
  - bromocarbons moved to aero.rpl
  - diagtrac.tex, gas.spc, tracdef.tex: new species
  - template_messy_mecca_kpp.f90: new SUBROUTINE error_output (for debugging)
  - messy_mecca.f90: rtol, atol modified

CHANGES by Hella Riede:
- messy_traject_box: unit of relhum is now empty (range is 0 - 1) or kg/kg
  if 'relhum' contains specific humidity, also adjusted in description
  in caaba.nml
- no l_spechum logical in caaba.nml anymore, automatic switch between relhum
  and spechum inside code
- model_start now also in caaba_mem to avoid several times conversion
  from seconds to days and back (e.g., percent_done)
- traject_init has to run before mecca_init so cair is right for chem spec init

CHANGES by Rolf Sander:
- rosenbrock_posdef.f90 adapted for kpp-2.2.1_rs: IERR_NAMES instead of
  IERR_NAME
- xmecca: gv without "-seascape" because this option is incompatible
  with the new gv 3.6.1 where is should be "--orientation=seascape"
- ncv:
  - do not exclude *.jnl files
  - optionally update manual
- main.mk: extended output with "gmake list"

CHANGES by Patrick Joeckel:
- JVAL: fhuv_3d, fhuvdna_3d

******************************************************************************

caaba_2.3d (2007-11-26)

CHANGES by Rolf Sander:
- meccanism.tex shows MECCA version (modver from messy_mecca.f90)
- eqn2tex.awk, meccanism.tex: aqueous-phase photolysis reaction PHnnnn added
- The kpp directory is now a symbolic link inside mecca/, pointing to
  "../../../tools/kpp". After "ncv", it is a real directory.
- xmecca: ignore KP4 option when KP4 is not available
- jnl/ directory with ferret scripts moved into caaba/ directory.
- manual/ directory moved into caaba/ directory.

******************************************************************************

caaba_2.3c (2007-09-12)

NOTE: This version needs kpp-2.2.1_rs

NOTE: This version combines the new caaba box model from caaba_2.3b with
      the vectorized code from mecca_2.2e

CHANGES by Rolf Sander:
- new directory structure:
  - mecca is now a subdirectory of caaba, not vice versa
  - changed files: xmecca, xcaaba, ncv
- JVAL added as a new submodel to CAABA
- Makefile: if host = bromine, then staticlink
- C(:) is now an allocatable array to avoid
  "USE messy_mecca_kpp, ONLY: NSPEC" in a mem file
- variable "latitu" deleted. Now degree_lat and rad_lat are used
- l_skipkpp implemented in caaba namelist
- standardized names of output files (caaba_<submodel>[_<extraname>].nc)
  produced by CAABA: caaba_messy.nc, caaba_mecca.nc,
  caaba_mecca_rates.nc, caaba_mecca_aero.nc, caaba_sappho.nc, caaba_jval.nc,
  caaba_traject.nc

CHANGES by Hella Riede:
- external runtime is now given with variable 'ext_runtime', which is a STRING;
  it is given as a numer and a time unit, such as ext_runtime = '6060 seconds'
  or ext_runtime = '8 days'
- new namelist variables: l_injectNOx, t_NOxon, t_NOxoff

******************************************************************************

caaba_2.3b (2007-08-27)

NOTE: This version needs kpp-2.2.2_rs_20070430

CHANGES by Rolf Sander:
- caaba/messy_mecca_box.f90: print aerosol properties
- ncv: small changes
- xmecca:
  - selection of numerical integrator moved to other place
  - variable e5m is set if the directory ../../echam5 can be found. It
    is then assumed that MECCA is part of an ECHAM5/MESSy system. xmecca
    will then also create the files necessary for running global MECCA
    chemistry with ECHAM5/MESSy.
  - new mechanism wanted19 = "Full MBL chemistry" = "Tr && (G || Aa)" added
- messy_mecca_box.f90: print aerosol properties in SUBROUTINE define_aerosol
- new bibliography file latex/meccalit.bib for BibTeX which contains
  only the necessary references

******************************************************************************

caaba_2.3 (2007-05-02)

CHANGES by Hella Riede:
- xmecca: new mechanism wanted18 included
- several bugs in trajectory mode removed

CHANGES by Rolf Sander:
- subdirectory boxmodel/ renamed to caaba/. This also required changes in
  ncv, xmecca, xcaaba, latex/henry2tex.awk and latex/alpha2tex.awk.
- messy_main_control_box.f90 renamed to messy_main_control_cb.f90 to
  indicate that it belongs to the BMIL, unlike the messy_*_box.f90 files
  from the SMIL.
- messy_mecca_aero.f90: alpha(HO2)=0.5 from ref1864
- xmecca: parameter "e5m" to activate echam/messy specific parts
  (otherwise xmecca does only box-model stuff)
- messy_mecca_box.f90: new subroutine print_k replaces functionality of
  the (now deleted) file messy_mecca_box.f90-info
- messy_main_tools.f90: _dp added to constants in FUNCTION psat
- aqueous.eqn:
  - iodine scheme updated according to Pechtl et al. (ref2077)
  - diffusion limitation caps rate coefficients at 1E10 M-1s-1
- gas.spc: formulas for MEKO2 and MEKOOH corrected
- gas.eqn:
  - new function k_limited for aqueous-phase diffusion limitation
  - rate coefficients updated to JPL2006 and IUPAC (ref1945, ref1759 and
    ref1845)
  - update of iodine reactions acording to suggestions from Terry Dillon
    and John Crowley:
    <G8103> IO    + IO  = new products (only in sensitivity studies)
    <G8300> I     + NO2 = new k (small change)
    <G8301> I     + NO3 = new k
    <G8303> IO    + NO2 = new k (small change)
    <G8308> IO    + NO3 = new reaction
    <G8401> CH3O2 + IO  = new reaction
    <G9800> DMS   + IO  = new k (old ref was wrong)

******************************************************************************

caaba_2.2e (2007-03-27)

NOTE: CAABA is currently a side branch of the MECCA development.

CHANGES by Rolf Sander and Hella Riede:
- Code completely restructured. The box model is now called CAABA, and
  it has the independent MESSy submodels MECCA, SAPPHO, SEMIDEP, and
  TRAJECT.
- New files:
  caaba.f90:                  the main base model (BML) file
  caaba.nml:                  new namelist CAABA replaces CPL_BOX
  caaba_mem.f90:              declaration of USE_* and other variables
  messy_main_control_box.f90: base model interface layer (BMIL)
  messy_sappho_box.f90:       photolysis rate coefficients (SMIL)
  messy_semidep_box.f90:      simplified emission and deposition (SMIL)
  messy_traject_box.f90:      trajectories (SMIL)
- xbox renamed to xcaaba
- nmv renamed to ncv; zipmecca deleted

CHANGES by Hella Riede:
- var RELHUM in external netCDF trajectory input can be interpreted as specific
  humidity [mg/kg] instead of relative humidity via variable l_spechum in
  CAABA namelist
- time string right in output, output unit of time as input unit

CHANGES by Rolf Sander:
- messy_mecca_box.f90: adjustment for operator splitting added to
  aerosol_exchng: factor*(1-factor)
- CASE (8) added to define_aerosol for Polarstern modeling
- different methods (1...5) for sdirk added to integr/sdirk*.kpp

******************************************************************************

mecca_2.2e (2007-07-16)

CHANGES by Rolf Sander:
- The box model was made compatible with both KPP and KP4:
  - xmecca:
    - the user can choose between KPP and KP4
    - all MECCA SMCL files will be in mecca/smcl/
    - links point to all SMCL files (both from the boxmodel and E5M)
    - a file integr.kpp is created instead of a link to a file in integr/
  - integr/ directory deleted
  - the real files messy_mecca.f90, messy_mecca_aero.f90, and
    messy_mecca_khet.f90 are now all in the directory
    messy/box/mecca/smcl/. From there, they are linked into messy/smcl/
    and messy/box/mecca/boxmodel/.
  - use_blas.awk: deleted
  - nmv: updated to new structure
  - messy_mecca_box.f90:
    - many changes to make it compatible with both KPP and KP4
    - adjustment for operator splitting in aerosol_exchng:
      factor = factor / (1.-factor)
  - gas.eqn: xaer(APN) changed from INTEGER to REAL(dp)
  - messy_mecca_aero.f90: REAL(xaer(zkc),dp) changed to xaer(zkc)
  - template_messy_mecca_kpp.f90: new file that "connects" the
    KPP-generated files to the KP4-compatible USE commands in the SMIL.

******************************************************************************

mecca_2.2d (2006-09-26)

CHANGES by Rolf Sander:
- new trajectory features merged into messy_mecca_box.f90

CHANGES by Hella Riede:
- messy_mecca_traject_box.f90: read input from netcdf file
  (TIME, PRESS, TEMP, RELHUM, LAT, LON)
- be aware that date of the time origin is not yet read correctly put into
  output netcdf the file and output only in seconds (correctly though!)
- time_step control via CPL_BOX namelist

******************************************************************************

mecca_2.2c (2006-09-23)

CHANGES by Rolf Sander:
- new namelist entries in CPL_BOX (l_ff, Ca_precip, degree_lat,
  startday, runtime) can be used to set up a frostflower run
- messy_mecca_box.f90-frostflower and messy_mecca_box.f90-mbl deleted
- new feature of replacement files:
  - new files: example-gas.rpl, replace.awk and substitute.awk
  - xmecca calls replace.awk if gas.rpl exists

******************************************************************************

mecca_2.2b (2006-09-09)

CHANGES by Rolf Sander:
- messy_mecca_box.f90-frostflower:
  - subroutines define_aerosol and aerosol_exchng adjusted to flexible
    number of aerosol bins APN. Model results are now (within the
    numerical noise) identical to ff-200-newsyntax/ (see 2.2b-lsode/ and
    2.2b-ros3/ in ~/messy/mecca/frostflower/model)
- messy_mecca_box.f90-*: bugfix in calculation of c(ind_H2O_a(jb)):
  factor 1000 because M_H2O is in g/mol and not kg/mol
- nml-check moved from xmecca to xbox

******************************************************************************

mecca_2.2 (2006-03-06)

CHANGES by Rolf Sander:
- box model now sent to Mike Long
- first tests with 5 and 10 aerosol phases
- LaTeX:
  - info about number of species and equations added to meccanism.tex
    via mecca_info.tex
  - alpha2tex.awk extracts accommodation coefficients from
    messy_mecca_mbl.f90 for meccanism.tex
  - alpha2tex.awk and henry2tex.awk write to LaTeX file only for
    selected species
- aerosol.awk: new script that creates declarations and initializations
  of ind_XYZ_a(:) arrays
- made several aerosol-size dependent files more flexible to allow
  between 0 and 12 aerosol phases
- current MECCA needs big KPP with:
  - scan.h: MAX_INLINE = 100000
- bugfix for box model with 0 aerosol phases
- gas.eqn: marker "APN+++" removed. Now awk script defines APN via F90_GLOBAL
- lhet renamed to l_het
- messy_mecca_mbl.f90: activated new subroutine mecca_mbl_henry which is
  now read by awk script to obtain values for LaTeX table
- messy_mecca_box.f90-*:
  - SUBROUTINE define_aerosol improved
  - flexible open_nc_file for lwc
- xmecca:
  - several changes to create aerosol data only for selected phases (apn)
  - SETFIX H2O_a* is done in mecca.spc via xmecca
  - aqueous-phase arrays xaer, cvfac, lwc, k_ex* are created by xmecca,
    not gas.eqn (only if apn>0)
  - all temporary files renamed to "tmp_*" so that they will be removed
    with gmake distclean

CHANGES by ASTRID Kerkweg:
- xmecca, messy_mecca_kpp.kpp, aqueous.eqn, aqueous.spc
  - enlarged for up to 12 aerosol phases
  - APN introduced (aerosol phase number)
- current MECCA needs big KPP with:
  - gdata.h: MAX_EQN = 3500 and MAX_SPECIES = 3500

******************************************************************************

mecca_2.1 (2006-02-05)

CHANGES by Rolf Sander:
- box model now uses RHO_H2O, M_H2O, and OneDay from messy_main_constants_mem
- products for J(BrNO3) are 0.29 (Br+NO3) + 0.71 (BrO+NO2)
- henry2tex.awk extracts Henry's law coefficients from
  messy_mecca_mbl.f90 for meccanism.tex
- messy_mecca_mbl.f90: new values for KH(Cl2) and KH(Br2) from ref1038
- gas.eqn and elsewhere:
  - label {%Psc} renamed to {%Het}
  - product CO2 removed from G4215b (bug fix, found by A. Stickler)
- aqueous.eqn:
  - temperature dependencies for halogen reactions A6204, A7202, EQ73,
    EQ74, EQ75, and EQ76 added
  - EQ60: exact values from ref125 entered
  - EQ70: values from ref1546
  - reaction A7600 renamed to EQ76f and back reaction added
  - fudge factors for equilibria of Br2Cl-, BrCl2-, Br2-, and Cl2- removed
    (testfac_BrCl2, testfac_Br2Cl, testfac_Br2Clm, testfac_Br2m, testfac_Cl2m)
- xmecca and messy_mecca_e5.f90:
  - REQ_PHOTO renamed to REQ_JVAL
  - REQ_PSC renamed to REQ_HET
- xmecca:
  - more output to logfile xmecca.log
  - print info about number of species in selected mechanism

******************************************************************************

mecca_2.0 (2005-11-29)

CHANGES by Rolf Sander:
- xmecca:
  - number of predefined reaction mechanisms reduced
  - "1 = all reactions" is not the default anymore
- messy_mecca_box.f90: renamed tstart and tend (from
  messy_mecca_kpp_global.f90) to model_start and model_end

CHANGES by Astrid Kerkweg:
- j_* replaced by JX(ip_*)
- calculation of hrates removed
- tracdef.tex, tracdef.awk updated
- MBL:
   - LOGICAL :: lhet(2) added
   - sulfur coupling
   - CTRL namelist removed

CHANGES by Rolf Sander:
- UPGRADE TO KPP-2.0 (MANY CHANGES IN THE SYNTAX OF THE FILES):
  - new links:
    messy_mecca_kpp_function.f90         
    messy_mecca_kpp_global.f90           
    messy_mecca_kpp_integrator.f90       
    messy_mecca_kpp_jacobian.f90         
    messy_mecca_kpp_jacobiansparsity.f90 
    messy_mecca_kpp_linearalgebra.f90    
    messy_mecca_kpp_monitor.f90          
    messy_mecca_kpp_parameters.f90       
    messy_mecca_kpp_precision.f90        
    messy_mecca_kpp_rates.f90            
    messy_mecca_kpp_util.f90             
  - mecca.nml: new entry ros_method in CTRL namelist to choose a
    particular Rosenbrock method
  - zipmecca: put integr.k as a link into archive, not as a file
- bugfix in boxmodel/messy_mecca_func.f90 (bug found by CB):
  k0_T    = k0_300K   * zt_help**(n) * cair ! k_0   at current T
  kinf_T  = kinf_300K * zt_help**(m)        ! k_inf at current T
- bugfix in gas.eqn (bug found by CB):
  k_HNO3_OH    = 2.4E-14*EXP(460./temp) + 1./ &
                 ( 1./(6.5E-34*EXP(1335./temp)*cair) + &
                 1./(2.7E-17*EXP(2199./temp)) )

******************************************************************************

mecca_0.9.13 (2004-12-07)

CHANGES by Astrid Kerkweg and Rolf Sander:
- lhrate deleted in CPL namelist
- messy_mecca_mbl.f90: xaer added for all k_ex* in mecca_mbl_calc_k_ex

CHANGES by Rolf Sander:
- listing of variables which are transferred between interface and core
  layers
- modules messy_mecca_base and messy_mecca_mbl_base removed. Functions
  are now in messy_mecca_func. Variables are in gas.eqn in a F95_DECL
  block which will be copied by kpp to messy_mecca_kpp_g_mem.f90
- aqueous.eqn: replaced 5* "xaer*ykmt*lwc" by "k_exf", which was already
  defined
- aqueous.eqn, messy_mecca_mbl_base.f90: k_SIV_H2O2 gets c(H+) in [mol/l]
  instead of mode as input parameter
- aqueous.eqn, messy_mecca_mbl.f90, messy_mecca_mbl_base.f90: function
  fhet included into mecca_mbl_calc_k_ex
- messy_mecca_e5.f90: comments for ros3-diag deleted
- renamed species ClNO2 -> ClNO3 also in mecca box model
- sphum moved from messy_mecca_mem_e5.f90 to messy_mecca_e5.f90
- gas.eqn: product (O3P, not O3) corrected:
  {#J7100}  BrO     + hv = Br + O3P : {%TrGBrJ}     J_BrO; {&&}
  {#J8100}  IO      + hv = I + O3P  : {%TrGIJ}      J_IO; {&&

******************************************************************************

mecca_0.9.12 (2004-11-22)

CHANGES by Rolf Sander:
- products corrected for G3107: NO2 + N = N2O + O (error found by MECCA
  ACPD referee)
- update of box model: main.mk, Makefile, mo_netcdf.f90*: compiling and
  running without "r8"
- cleanup of e5/core interface: mr2c and c2mr get conversion factor as
  a parameter
- sphum moved from messy_mecca_base.f90 to messy_mecca_mem_e5 (not
  used in core file)
- some species renamed for consistency with JVAL:
  PAH      -> PAA    (changed in JVAL)
  ClONO2   -> ClNO3  (changed in JVAL)
  CFC11    -> CFCl3  (changed in JVAL)
  CFC12    -> CF2Cl2 (changed in JVAL)
  ALD  -> CH3CHO     (changed in MECCA)
  ACET -> CH3COCH3   (changed in MECCA)
  MGLO -> CH3COCHO   (changed in MECCA)
- ions renamed:
  SO32m -> SO3mm     (changed in MECCA)
  SO42m -> SO4mm     (changed in MECCA)

******************************************************************************

mecca_0.9.11 (2004-10-05) (new version number starts with "0.9")

THIS VERSION IS PART OF MESSY 0.9!

CHANGES by Rolf Sander:
- ascii output is possible as an alternative to netcdf (e.g. if netcdf
  library is not available)
- zipmecca script creates archive with all files for a standalone mecca
  distribution
- cloud.spc and cloud.eqn deleted
- aqueous.eqn: AH and EX combined to H
- iodine chemistry updated (still under construction)

******************************************************************************

mecca_10 (2004-02-08)

CHANGES by Rolf Sander:
- xmecca: the automatically produced files are all left in mecca/. The
  box model and ECHAM5 reach them via symbolic links.
- Arrhenius function farr2 renamed to k_arr
- gas.eqn:
  - k_HO2_HO2, k_NO3_NO2, k_BrNO3, k_DMS_OH defined as variables, not
    functions
  - elemental function K_3rd used
- aerosol.eqn: temperature dependence in k_arr as REAL, not INTEGER
- xmecca now uses kpp version v1.1-f90-alpha9 and is not compatible with
  older versions of kpp anymore. The main new features of kpp alpha9 are
  the usage of "IMPLICIT NONE" everywhere and the change from "DOUBLE
  PRECISION" to "REAL(dp)" which will improve the forcheck tests. All
  mecca subroutines receive the value of dp via "USE mo_mz_mecca_gdata".
- moved "INTEGER :: jk, jp, jrow" and corresponding USE statements from
  mo_mz_mecca_kpp_mem.f90 to mo_mz_mecca_mem_e5.f90 because of messy structure
- mo_mz_mecca_kpp_mem.f90, mo_mz_mecca_mbl_kpp_mem.f90: functions
  restructured, unused functions deleted

******************************************************************************

mecca_09 (2003-01-28)

CHANGES by Rolf Sander:
- eqn2tex.awk and spc2tex.awk create latex code from mecca.eqn and
  mecca.spc
- contents of literat2.bib moved to literat.bib
- aerosol.spc, gas.spc: LaTeX names added like {@O_3}
- boxmodel:
  - dependencies for Makefile are now created via makedepf90
  - successfull test with intel compiler
- integr/ros3.k: STEPMIN and STEPMAX defined here
- gas.eqn:
  - several reactions updated
  - references added with {&826} etc.
  - echam-specific commands "USE mo_mz_psc_kpp_mem" and "USE
    mo_mz_photo" removed. References to stream elements like
    "RJ_O3P_3d(jp,jk,jrow)" were replaced by "RJ_O3P". Also for khet*.
  - psc reaction numbers renamed H -> PSC

CHANGES by Astrid Kerkweg:
- aerosol.eqn: references added with {&826} etc.

******************************************************************************

mecca_08 (2003-10-07)

CHANGES by Rolf Sander:
- xkpp renamed to xmecca
- gas.eqn:
  - redundant Ht labels deleted (use Psc instead)
  - #1000 H+O2 also for troposphere
  - new rate constants (supplied by RvK) for these reactions:
    OH     + O3  = HO2                                           
    HO2    + O3  = OH                                            
    CH4    + O1D = .75 CH3O2 + .75 OH + .25 HCHO + .4 H + .05 H2 
    CH4    + OH  = CH3O2 + H2O                                   
    CH3OH  + OH  = HCHO + HO2                                    
    CH3O2  + HO2 = CH3OOH                                        
    CH3O2  + HO2 = HCHO + H2O + O2                               
    HCHO   + OH  = CO + H2O + HO2                                
    C2H6   + OH  = EtO2 + H2O                                    
    C3H8   + OH  = .82 PrO2 + .18 EtO2 + H2O                     
    ACET   + OH  = ACETO2 + H2O                                  
    ACETO2 + NO  = NO2 + PA + HCHO                               
    MPAN   + OH  = ACETOL + NO2                                  
    C4H10  + OH  = C4H9O2 + H2O                                  
    ISO2   + HO2 = ISOOH                                         
    ISO2   + NO  = .88 NO2 + .88 MVK + .88 HCHO + .88 HO2 + .12 ISON
- modstr_mecca and modver_mecca are now defined in gas.eqn with
  #INLINE F95_DECL ... #ENDINLINE
  and copied to mo_mz_mecca_gdata.f90 by kpp.
- definition of substeps moved from include/substeps.f90 to gdata module
- xkpp:
  - also works for scav_cloud
  - xkpp: calls decomp/xdecomp if the user wants to remove indirect
    indexing (preliminary). All scripts and temporary files from BS are
    now in decomp/ subdirectory. xdecomp calls seddecomp_ros*
  - xkpp: default integrator = ros3
  - xkpp: bug fixed (confusion between sulfur "S" and stratospheric "St"
    reactions)

CHANGES by Benedikt Steil:
- Several scripts decomp/seddecomp_ros* to remove indirect indexing
  (preliminary).

CHANGES by Astrid Kerkweg:
- label Mbl included in xkpp and aerosol.eqn file

******************************************************************************

mecca_07 (2003-07-04)

- mecca.spc divided into gas.spc and aerosol.spc

- all species defined as VARIABLES

- some species changed to FIXED in mecca.k

- constants changed from 1d0 to 1E0 etc.

******************************************************************************

mecca_06 (2003-06-23)

CHANGES by Rolf Sander:
- driver.f90 is now a dummy file. The contents of it has been moved to
  mo_mz_mecca_e5.f90.
- new awk script tracdef.awk extracts all KPP_XXX from
  mo_mz_kpp_gdata.f90 and inserts these species into mz_idt.f90. For all
  KPP_XXX that are not zero it also inserts the species into
  mz_conc2mr.f90, mz_mr2conc.f90, and mz_trac.f90, using the tracer info
  in tracdef.tex. xkpp starts tracdef.awk and then moves the new files
  to the include/ directory.
- aerosol.eqn: temp is now a parameter of farr2()
- gas.eqn:
  - Khet() is now a 4-d array
  - new filenames for USE statements: e.g. mo_mz_mecca_kpp_mem
- xkpp: radau5 added; using kpp version v1.1-f90-devel now

******************************************************************************

mecca_05 (2003-05-22)

CHANGES by Rolf Sander:
- halogen and aerosol chemistry added (gas.eqn and aerosol.eqn)
- xkpp: 
  - some info about the selection etc. added to beginning of mo_mz_kpp.f90
  - mecca.eqn is added to mo_mz_kpp.f90
- using kpp version v1.1-f90-alpha6 now
- mecca-all.eqn renamed to gas.eqn

******************************************************************************

mecca_04 (2002-12-23)

CHANGES by Rolf Sander:
- this version was used for echam5.1.04_mz03
- kpp now gets information about rate constants from kpp_interface
- additional submodels only need to add one line to #INLINE F95_RCONST, e.g.:
  USE mo_mz_modstr_kpp_interface

******************************************************************************

mecca_03 (2002-11-25)

CHANGES by Rolf Sander:
- this version was used for echam5.1.04_mz02i
- new shell script xkpp that selects wanted reactions and runs kpp
- correct labels {%...} added to mecca-all.eqn
- gas-phase reaction N2O5 + H2O deactivated
- CH3O replaced  with HCHO + HO2
- products O2, N2, and CO2 deleted because they are fixed species
- heterogeneous chemistry from smeili
- reaction numbers (not yet for halogen reactions)
- updated rate constant for N2+O1D and for CO+OH

- note added on 2010-03-17: gas.eqn was updated in this version,
  probably with new MIM chemistry from RvK. For example, the coefficient
  for ACETOL + hv was changed from 0.11 to 0.074

******************************************************************************

mecca_02 (2002-11-12)

CHANGES by Rolf Sander:
- upgrade to kpp version 1.1-f90-alpha5:
  - indices kpp_* for array C() are defined (independent of NVARST etc.)
  - unused kpp dummy species get a value of kpp_* = 0
  - i_* should not be used anymore
- rate constants updated with mecca-all-psc.eqn from smeili (original
  psc eqn files are also included in mecca_02.zip)

******************************************************************************

mecca_01 (2002-11-04)

CHANGES by Rolf Sander:
- produces exactly the files mo_mz_kpp*.f90 as they are included in
  echam5.1.04_mz02
- needs kpp version 1.1-f90-alpha

******************************************************************************
**                           end of CHANGELOG                               **
******************************************************************************
