- implement named arguments (flags) for the
build_atchem2.shscript - remove the
mcmargument from the executable, and redefine it in the build script to indicate the version of the MCM used - make shell scripts more robust, and update to openlibm v0.8.6
- reformat python scripts using black, and add a python format test to the Testsuite
- add option to use time in user-defined custom Fortran functions
- update copyright notes
- new implementation of the Testsuite code coverage using Codecov
- restructure the
ci.ymlfile and streamline the continuous integration process - update the
Makefileand move the code to run the Testsuite to a secondary makefile (tests/makefile.tests) - support chemical mechanisms in KPP format (as generated by the MCM website)
- change some default values in
environmentVariables.config - implement use of stoichiometric coefficients in chemical mechanisms
- implement user-defined custom Fortran functions
- add option to run AtChem2 in a Docker container
- major revision of the AtChem2 manual
- minor changes (mostly cosmetic) to various scripts, and consolidation of
.gitignorefiles - implement new workflows to automatically compile and upload the pdf of the user manual via GitHub Actions
- move implementation of continuous integration from TravisCI to GitHub Actions
- improve reporting of the Testsuite results by using logfiles
- begin implementation of the new Testsuite ("behaviour tests" now referred to as "model tests")
- remove unit testing from Codecov (coverage reporting is broken)
- disable (provisionally) CVODE support for LAPACK and BLAS
- upgrade the install scripts to openlibm v0.8.1 and numdiff v5.9.0, and add error handling
- in the
Makefile, add optimisation flag forgfortranand compilation flags forifort - fix bug in the input and output of constant photolysis rates
- add missing comments and tidy several Fortran source files
- fix error handling for the RO2 sum in
build/mech_converter.py - update and tidy the
.pyand.shscripts in thetools/directory - update
.gitignorefiles, and remove the extension from theLICENSEfile (per convention) - move and rename the example chemical mechanism file (
mcm/mechanism_test.fac) tomodel/mechanism.fac - move and rename the script to generate the user manual (
doc/make_pdf.sh) totools/make_manual_pdf.sh - rename the versioning script
version.shtoupdate_version_number.sh - update the
*.mdfiles, and add Buy Me a Coffee button to theREADME.mdfile - several updates to the user manual (including new MCM website at Uni. York) and other minor fixes
- implement a new environment variable:
ASA(aerosol surface area) - fix a bug in the C-binding for
gfortranversion 9 and above - remove tabs from all configuration files
- update the configuration file for TravisCI
- tidy the comments and printout messages of various source files
- update the user manual
- implement argument parser and named arguments for the
atchem2executable - streamline the build procedure, rename and tidy the build scripts, and move them to the
build/directory - implement the pre-compilation of the chemical mechanism into a shared library (
mechanism.so) - implement a new dilution mechanism, and redefine the
DILUTEenvironment variable accordingly - convert the documentation to LaTeX format
- rewrite the user manual (
doc/AtChem2-Manual.pdf), and reorganize the wiki pages - include the poster presented at the ACM 2018 conference (
doc/AtChem_poster_ACM2018.pdf) - change the reference in
CITATION.mdto the GMD paper - fix the header of
photolysisConstant.configand remove theinitialConditionsSetting.outputfile - fix a bug in
mech_converter.pyaffecting chemical reactions with no reactants - ensure that all Python scripts are independent of the Python version
- rename plotting script
plot-atchem2.pytoplot-atchem2-numpy.py - new Python plotting script
plot-atchem2-pandas.py(usespandasinstead ofnumpy) - improve the documentation of the behaviour and unit tests
- remove the behaviour test
full(fails with the new dilution mechanism) - new script to set the version of AtChem2 before a release (
tools/version.sh) - minor improvements to the installation procedure
- move the example chemical mechanism file (
tools/mechanism_test.fac) and add a minimal.facfile (mechanism_skel.fac) to themcm/ directory - tidy and improve comments in various source files and scripts
- various minor fixes and updates
- create the directory
doc/, containing the documentation in markdown format - add
CONTRIBUTING.mdfile - fix the headers of
lossRates.outputandproductionRates.output - change the name of the environment variable
ROOFOPENtoROOF
- implement a new directory structure
- add
CHANGELOG.mdandCITATION.mdfiles - simplify the installation procedure and remove
makefile.local - restructure the handling and calculation of photolysis rates
- fix the calculations of sun declination and solar zenith angle
- improve handling of dates and numerical precision
- rename some configuration and output files
- check calculation of reaction rates and improve the format of
instantaneousRates/*files (now calledreactionRates/*) - merge
outputLossRates.configandoutputProductionRates.configintooutputRates.config - fix the output of
lossRates.outputandproductionRates.output - implement code coverage testing with Codecov
- implement a unit testing framework (new requirements: Ruby, FRUIT)
- add unit tests for atmosphere, configuration, date and solar functions
- add exact solution behaviour tests
- improve running and reporting of the Testsuite
- rework the mechanism conversion procedure, and the related Python scripts
- add plotting tools in R, Python, Matlab, gnuplot
- extend the documentation on the wiki
- fix several minor bugs
- create a code repository and organization on github.com
- adopt the MIT open source license
- upgrade to CVODE v2.9
- remove the web interface and all the code related to AtChem-online web service
- standardize the codebase to Fortran 90/95, and use a consistent modular structure for the source code
- adopt coding style guidelines and standardize the naming of variables, subroutines, source files
- improve the formatting of output files, screen output, and error reporting
- improve code comments and create a wiki for the documentation
- tidy up and improve the Python and shell scripts
- create a user-friendly command-line interface to install, compile and run the model
- verify that the model compiles with both GNU gfortran and Intel ifort compilers
- verify that the model runs on both Linux/Unix and macOS machines
- implement continuous integration with TravisCI and develop a range of test scenarios (new dependency: numdiff)
- improve the model stability and numerical accuracy (new dependency: openlibm)
- correct the calculations of solar angles, water vapour concentration and peroxy radicals summation (
RO2) - remove air number density (
M) as environment variable (now calculated in moduleatmosphereFunctions) - fix several minor bugs