diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index efe3ea40..8013ad91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,8 @@ name: AtChem2-CI -# Controls when the action will run. +# ------------------------------ EVENTS ------------------------------ # +# Controls when the action will run on: # Triggers the workflow on push or pull request events but only for the master branch pull_request: @@ -25,31 +26,33 @@ on: branches: - master -# A workflow run is made up of one or more jobs that can run sequentially or in parallel +# ------------------------------ JOBS ------------------------------ # +# A workflow run consists of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" + # This workflow contains a single job called `build` build: - # The type of runner that the job will run on - we use a matrix to run on two OSs - # runner images are described here: https://github.com/actions/runner-images + # Type of runner that the job will run on - we use a matrix to run on two OSs + # Runner images are described here: https://github.com/actions/runner-images runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04, macos-11, macos-12] fortran: [9, 10, 11] - exclude: + exclude: #TODO: fortran9 does not work on macos12 - os: macos-12 fortran: 9 fail-fast: false + # ------------------------------------------------------------- # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + # Checkout the repository under $GITHUB_WORKSPACE, so the job can access it - uses: actions/checkout@v3 with: fetch-depth: 2 # ------------------------------------------------------------- - # Install gfortran - if not supplied on this OS image + # Install gfortran - if not supplied on the OS image # macOS-11 only - name: Install gfortran-9 on macOS-11 if: matrix.os == 'macos-11' && matrix.fortran == 9 @@ -93,7 +96,7 @@ jobs: run: | cp tools/install/Makefile.skel Makefile ./build/build_atchem2.sh ./model/mechanism.fac - if [ $RUNNER_OS != 'Linux' ] ; then + if [ $RUNNER_OS != "Linux" ] ; then install_name_tool -change libopenlibm.4.dylib $PWD/openlibm-0.8.1/libopenlibm.4.dylib atchem2 ; install_name_tool -change @rpath/libsundials_cvode.2.dylib $PWD/cvode/lib/libsundials_cvode.dylib atchem2 ; install_name_tool -change @rpath/libsundials_fnvecserial.2.dylib $PWD/cvode/lib/libsundials_fnvecserial.dylib atchem2 ; @@ -111,8 +114,8 @@ jobs: run: | # Run Atchem2 ./atchem2 - # Upload 'build' coverage to codecov - if [[ "$RUNNER_OS" == "Linux" ]]; then sudo ln -f -s /usr/bin/gcov-${{ matrix.fortran }} /usr/bin/gcov ; bash <(curl -s https://codecov.io/bash) -F build ; fi + # Upload `build` coverage to codecov + if [[ $RUNNER_OS == "Linux" ]]; then sudo ln -f -s /usr/bin/gcov-${{ matrix.fortran }} /usr/bin/gcov ; bash <(curl -s https://codecov.io/bash) -F build ; fi # ------------------------------------------------------------- - name: Run tests @@ -123,9 +126,9 @@ jobs: # Run unit tests export PATH=$PATH:$PWD/numdiff/bin make unittests - # Upload 'unittests' coverage to codecov - if [[ "$RUNNER_OS" == "Linux" ]]; then sudo ln -f -s /usr/bin/gcov-${{ matrix.fortran }} /usr/bin/gcov ; bash <(curl -s https://codecov.io/bash) -F unittests ; fi + # Upload `unittests` coverage to codecov + if [[ $RUNNER_OS == "Linux" ]]; then sudo ln -f -s /usr/bin/gcov-${{ matrix.fortran }} /usr/bin/gcov ; bash <(curl -s https://codecov.io/bash) -F unittests ; fi make clean - # Run full build tests - this will upload 'tests' coverage to codecov for each test + # Run full build tests - this will upload `tests` coverage to codecov for each test make oldtests - #make modeltests + #make modeltests #TODO: modeltests are temporarily deactivated (pass on linux, fail on macos) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0836df39..3ca61be8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,96 +1,102 @@ # AtChem2 - CHANGELOG -## post v1.2.1 +## v1.2.2 (May 2023) -- move implementation of continuous integration from Travis CI to GitHub Actions -- remove unit testing from CodeCov -- optimisation of gfortran compiler -- error handling for RO2 sum in `build/mech_converter.py` -- disable (provisionally) support for LAPACK and BLAS -- fix bug in input and output of constant photolysis rates -- update the scripts in the `tools/` directory and the `.gitignore` files -- move and rename the example mechanism `mcm/mechanism_test.fac` to `model/mechanism.fac`. -- update the manual and the `*.md` files -- improving logging and reporting of the Test Suite -- new version of the Test Suite (work in progress...) +- move implementation of continuous integration from TravisCI to [GitHub Actions](https://docs.github.com/en/actions) +- improve reporting of the testsuite results by using logfiles +- begin implementation of the new testsuite ("behaviour tests" now referred to as "old 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 for `gfortran` and compilation flags for `ifort` +- 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 `.py` and `.sh` scripts in the `tools/` directory +- update `.gitignore` files, and remove the extension from the `LICENSE` file (per convention) +- move and rename the example chemical mechanism file (`mcm/mechanism_test.fac`) to `model/mechanism.fac` +- move and rename the script to generate the user manual (`doc/make_pdf.sh`) to `tools/make_manual_pdf.sh` +- rename the versioning script `version.sh` to `update_version_number.sh` +- update the `*.md` files, and add _Buy Me a Coffee_ button to the `README.md` file +- several updates to the user manual (including new MCM website at Uni. York) and other minor fixes ## v1.2.1 (January 2021) -- new environment variable `ASA` (aerosol surface area) -- fix bug in the C-binding for `gfortran` version 9 and above -- remove tabs from the configuration files -- update the Travis configuration file +- add a new environment variable: `ASA` (aerosol surface area) +- fix a bug in the C-binding for `gfortran` version 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 manual +- update the user manual ## v1.2 (May 2020) - implement argument parser and named arguments for the `atchem2` executable -- streamline the build procedure, rename and tidy the build scripts, and move to the `build/` directory +- 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 the dilution mechanism and redefine the `DILUTE` environment variable +- implement the dilution mechanism, and redefine the `DILUTE` environment variable accordingly - convert the documentation to LaTeX format -- rewrite the user manual (`doc/AtChem2-Manual.pdf`) and reorganize the [wiki pages](https://github.com/AtChem/AtChem2/wiki) -- add the poster presented at the ACM 2018 conference (`doc/AtChem_poster_ACM2018.pdf`) -- change the reference in `CITATION.md` to the GMD paper (https://www.geosci-model-dev.net/13/169/2020/) +- 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.md` to the [GMD paper](https://www.geosci-model-dev.net/13/169/2020/) - fix the header of `photolysisConstant.config` and remove the `initialConditionsSetting.output` file - fix a bug in `mech_converter.py` affecting chemical reactions with no reactants -- change all Python scripts to be independent of the Python version +- ensure that all Python scripts are independent of the Python version - rename plotting script `plot-atchem2.py` to `plot-atchem2-numpy.py` - new Python plotting script `plot-atchem2-pandas.py` (uses `pandas` instead of `numpy`) - improve the documentation of the behaviour and unit tests -- remove the behaviour test `full` +- 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 install procedure -- move the example chemical mechanism file to the `mcm`/ directory, and add a minimal .fac file (`mechanism_skel.fac`) +- minor improvements to the installation procedure +- move the example chemical mechanism file (`tools/mechanism_test.fac`) and add a minimal `.fac` file (`mechanism_skel.fac`) to the `mcm`/ directory - tidy and improve comments in various source files and scripts -- minor fixes and updates +- various minor fixes and updates ## v1.1.1 (January 2019) - add `doc/` directory containing the documentation in markdown format - add `CONTRIBUTING.md` file -- fix the header of `lossRates.output` and `productionRates.output` -- change name of environment variable `ROOFOPEN` to `ROOF` +- fix the headers of `lossRates.output` and `productionRates.output` +- change the name of the environment variable `ROOFOPEN` to `ROOF` ## v1.1 (November 2018) - implement a new directory structure -- rename some configuration and output files - add `CHANGELOG.md` and `CITATION.md` files - 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 -- check calculation of reaction rates and improve format of `instantaneousRates` files (now called `reactionRates`) +- rename some configuration and output files +- check calculation of reaction rates and improve the format of `instantaneousRates/*` files (now called `reactionRates/*`) - merge `outputLossRates.config` and `outputProductionRates.config` into `outputRates.config` - fix the output of `lossRates.output` and `productionRates.output` - implement code coverage testing with [Codecov](https://codecov.io/) - implement a unit testing framework (new requirements: **Ruby**, **FRUIT**) - add unit tests for atmosphere, configuration, date and solar functions -- add exact solution tests +- add exact solution behaviour tests - improve running and reporting of the testsuite -- rework mechanism conversion procedure and Python scripts +- rework the mechanism conversion procedure, and the related Python scripts - add plotting tools in R, Python, Matlab, gnuplot -- extend the documentation on the [wiki](https://github.com/AtChem/AtChem2/wiki) +- extend the documentation on the wiki - fix several minor bugs ## v1.0 (July 2017) -- create a code repository on [github.com](https://github.com/) +- create a code repository and organization on [github.com](https://github.com/AtChem/) - adopt the [MIT open source license](https://opensource.org/licenses/MIT) -- upgrade to **CVODE** version 2.9 +- upgrade to **CVODE v2.9** - remove the web interface and all the code related to [AtChem-online web service](https://atchem.leeds.ac.uk/) -- standardize the codebase to Fortran95, use a consistent modular structure for the source code +- standardize the codebase to Fortran95, and use a consistent modular structure for the source code - adopt coding style guidelines and standardize the naming of variables, subroutines, source files -- improve formatting of output files, screen output and error reporting +- improve the formatting of output files, screen output, and error reporting - improve code comments and create a [wiki](https://github.com/AtChem/AtChem2/wiki) for the documentation -- tidy and speed up 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 **gfortran** and **Intel** compilers -- verify that the model runs on Linux/Unix and macOS machines +- 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](https://travis-ci.org/) 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 of the sum of organic peroxy radicals (`RO2`) -- remove air number density (`M`) as environment variable +- 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 module `atmosphereFunctions`) - fix several minor bugs diff --git a/README.md b/README.md index 971006af..f79084f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ AtChem2 ![license](https://img.shields.io/github/license/AtChem/AtChem2?color=blue) ![release](https://img.shields.io/github/v/release/AtChem/AtChem2?color=blue) ![AtChem2-CI](https://github.com/AtChem/AtChem2/workflows/AtChem2-CI/badge.svg) ======= + **AtChem2** is a modelling tool for atmospheric chemistry. It is primarily designed to use the **Master Chemical Mechanism** (MCM, http://mcm.york.ac.uk/), but it can be used with any general set of chemical reactions as long as they are provided in the correct format. The MCM is a near-explicit chemical mechanism which describes the gas-phase oxidation of volatile organic compounds (VOC) in the lower atmosphere. AtChem2 is _open source_, under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/doc/AtChem2-Manual.pdf b/doc/AtChem2-Manual.pdf index 1607cebf..049dfb32 100644 Binary files a/doc/AtChem2-Manual.pdf and b/doc/AtChem2-Manual.pdf differ diff --git a/doc/latex/AtChem2-Manual.tex b/doc/latex/AtChem2-Manual.tex index e9893dd3..89ca7619 100644 --- a/doc/latex/AtChem2-Manual.tex +++ b/doc/latex/AtChem2-Manual.tex @@ -51,7 +51,7 @@ \hspace{0.05\textwidth} % Box for the title page text \parbox[b]{0.75\textwidth}{ - {\Huge\bfseries AtChem2\\[0.5\baselineskip] v1.3-dev}\\[2\baselineskip] % Title + {\Huge\bfseries AtChem2\\[0.5\baselineskip] v1.2.2}\\[2\baselineskip] % Title {\LARGE\textit{User Manual}}\\[4\baselineskip] % Subtitle {\Large\textsc{R. Sommariva\\S. Cox}} % Author(s) \vspace{0.5\textheight}\\ diff --git a/src/atchem2.f90 b/src/atchem2.f90 index daf2d152..c7a42694 100644 --- a/src/atchem2.f90 +++ b/src/atchem2.f90 @@ -150,7 +150,7 @@ end subroutine FCVFUN rout(:) = -1.0_DP rpar(:) = -1.0_DP - write (*, '(A)') 'AtChem2 v1.3-dev' + write (*, '(A)') 'AtChem2 v1.2.2' write (*,*) write (*, '(A)') '-------------' write (*, '(A)') ' Directories' diff --git a/tests/model_tests/env_model_1/env_model_1.out.cmp b/tests/model_tests/env_model_1/env_model_1.out.cmp index 292b5165..77ed242e 100644 --- a/tests/model_tests/env_model_1/env_model_1.out.cmp +++ b/tests/model_tests/env_model_1/env_model_1.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/model_tests/env_model_2/env_model_2.out.cmp b/tests/model_tests/env_model_2/env_model_2.out.cmp index d18ebbf5..06624832 100644 --- a/tests/model_tests/env_model_2/env_model_2.out.cmp +++ b/tests/model_tests/env_model_2/env_model_2.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/model_tests/env_model_3/env_model_3.out.cmp b/tests/model_tests/env_model_3/env_model_3.out.cmp index c440a380..df435673 100644 --- a/tests/model_tests/env_model_3/env_model_3.out.cmp +++ b/tests/model_tests/env_model_3/env_model_3.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/model_tests/env_model_4/env_model_4.out.cmp b/tests/model_tests/env_model_4/env_model_4.out.cmp index d4e619af..d6a9e39b 100644 --- a/tests/model_tests/env_model_4/env_model_4.out.cmp +++ b/tests/model_tests/env_model_4/env_model_4.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/model_tests/firstorder/firstorder.out.cmp b/tests/model_tests/firstorder/firstorder.out.cmp index 2b1e1c32..e865551e 100644 --- a/tests/model_tests/firstorder/firstorder.out.cmp +++ b/tests/model_tests/firstorder/firstorder.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/model_tests/secondorder/secondorder.out.cmp b/tests/model_tests/secondorder/secondorder.out.cmp index 68f36330..a9354189 100644 --- a/tests/model_tests/secondorder/secondorder.out.cmp +++ b/tests/model_tests/secondorder/secondorder.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/model_tests/static/static.out.cmp b/tests/model_tests/static/static.out.cmp index d0d66a29..b6771ed8 100644 --- a/tests/model_tests/static/static.out.cmp +++ b/tests/model_tests/static/static.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short/short.out.cmp b/tests/tests/short/short.out.cmp index 92441ec0..cc5ef7b0 100644 --- a/tests/tests/short/short.out.cmp +++ b/tests/tests/short/short.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_dense/short_dense.out.cmp b/tests/tests/short_dense/short_dense.out.cmp index 9355a4f8..0a542250 100644 --- a/tests/tests/short_dense/short_dense.out.cmp +++ b/tests/tests/short_dense/short_dense.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_end_of_day/short_end_of_day.out.cmp b/tests/tests/short_end_of_day/short_end_of_day.out.cmp index babcfe08..db74b0a2 100644 --- a/tests/tests/short_end_of_day/short_end_of_day.out.cmp +++ b/tests/tests/short_end_of_day/short_end_of_day.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_ext1/short_ext1.out.cmp b/tests/tests/short_ext1/short_ext1.out.cmp index ca046185..5d7732e1 100644 --- a/tests/tests/short_ext1/short_ext1.out.cmp +++ b/tests/tests/short_ext1/short_ext1.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_ext2/short_ext2.out.cmp b/tests/tests/short_ext2/short_ext2.out.cmp index 9665a3d1..3d88c658 100644 --- a/tests/tests/short_ext2/short_ext2.out.cmp +++ b/tests/tests/short_ext2/short_ext2.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_ext3/short_ext3.out.cmp b/tests/tests/short_ext3/short_ext3.out.cmp index 56829ea2..307e17f8 100644 --- a/tests/tests/short_ext3/short_ext3.out.cmp +++ b/tests/tests/short_ext3/short_ext3.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_ext4/short_ext4.out.cmp b/tests/tests/short_ext4/short_ext4.out.cmp index a6c6c1a2..8f82f528 100644 --- a/tests/tests/short_ext4/short_ext4.out.cmp +++ b/tests/tests/short_ext4/short_ext4.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/short_no_pre/short_no_pre.out.cmp b/tests/tests/short_no_pre/short_no_pre.out.cmp index 5c151f4c..054149a5 100644 --- a/tests/tests/short_no_pre/short_no_pre.out.cmp +++ b/tests/tests/short_no_pre/short_no_pre.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_no_env_yes1/spec_no_env_yes1.out.cmp b/tests/tests/spec_no_env_yes1/spec_no_env_yes1.out.cmp index c4fb4ff5..df768579 100644 --- a/tests/tests/spec_no_env_yes1/spec_no_env_yes1.out.cmp +++ b/tests/tests/spec_no_env_yes1/spec_no_env_yes1.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_no_env_yes2/spec_no_env_yes2.out.cmp b/tests/tests/spec_no_env_yes2/spec_no_env_yes2.out.cmp index edd28601..763f560c 100644 --- a/tests/tests/spec_no_env_yes2/spec_no_env_yes2.out.cmp +++ b/tests/tests/spec_no_env_yes2/spec_no_env_yes2.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_env_no/spec_yes_env_no.out.cmp b/tests/tests/spec_yes_env_no/spec_yes_env_no.out.cmp index 00bd299d..34f41b7a 100644 --- a/tests/tests/spec_yes_env_no/spec_yes_env_no.out.cmp +++ b/tests/tests/spec_yes_env_no/spec_yes_env_no.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_env_no_with_jfac/spec_yes_env_no_with_jfac.out.cmp b/tests/tests/spec_yes_env_no_with_jfac/spec_yes_env_no_with_jfac.out.cmp index dc178517..d3813971 100644 --- a/tests/tests/spec_yes_env_no_with_jfac/spec_yes_env_no_with_jfac.out.cmp +++ b/tests/tests/spec_yes_env_no_with_jfac/spec_yes_env_no_with_jfac.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_env_no_with_jfac_fail1/spec_yes_env_no_with_jfac_fail1.out.cmp b/tests/tests/spec_yes_env_no_with_jfac_fail1/spec_yes_env_no_with_jfac_fail1.out.cmp index 960d8c91..9d6f254d 100644 --- a/tests/tests/spec_yes_env_no_with_jfac_fail1/spec_yes_env_no_with_jfac_fail1.out.cmp +++ b/tests/tests/spec_yes_env_no_with_jfac_fail1/spec_yes_env_no_with_jfac_fail1.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_env_no_with_jfac_fixed/spec_yes_env_no_with_jfac_fixed.out.cmp b/tests/tests/spec_yes_env_no_with_jfac_fixed/spec_yes_env_no_with_jfac_fixed.out.cmp index edf9b8f2..5cc1440d 100644 --- a/tests/tests/spec_yes_env_no_with_jfac_fixed/spec_yes_env_no_with_jfac_fixed.out.cmp +++ b/tests/tests/spec_yes_env_no_with_jfac_fixed/spec_yes_env_no_with_jfac_fixed.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_env_no_with_photo/spec_yes_env_no_with_photo.out.cmp b/tests/tests/spec_yes_env_no_with_photo/spec_yes_env_no_with_photo.out.cmp index 6bb6e97b..68a122f6 100644 --- a/tests/tests/spec_yes_env_no_with_photo/spec_yes_env_no_with_photo.out.cmp +++ b/tests/tests/spec_yes_env_no_with_photo/spec_yes_env_no_with_photo.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_env_yes/spec_yes_env_yes.out.cmp b/tests/tests/spec_yes_env_yes/spec_yes_env_yes.out.cmp index 17e5d108..f307f05c 100644 --- a/tests/tests/spec_yes_env_yes/spec_yes_env_yes.out.cmp +++ b/tests/tests/spec_yes_env_yes/spec_yes_env_yes.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tests/tests/spec_yes_plus_fixed_env_no/spec_yes_plus_fixed_env_no.out.cmp b/tests/tests/spec_yes_plus_fixed_env_no/spec_yes_plus_fixed_env_no.out.cmp index 458eb345..bfb09ab3 100644 --- a/tests/tests/spec_yes_plus_fixed_env_no/spec_yes_plus_fixed_env_no.out.cmp +++ b/tests/tests/spec_yes_plus_fixed_env_no/spec_yes_plus_fixed_env_no.out.cmp @@ -1,4 +1,4 @@ -AtChem2 v1.3-dev +AtChem2 v1.2.2 ------------- Directories diff --git a/tools/install/install_cvode.sh b/tools/install/install_cvode.sh index eb7c2340..ca300a6d 100755 --- a/tools/install/install_cvode.sh +++ b/tools/install/install_cvode.sh @@ -65,18 +65,21 @@ fi cd $cvode_dir wget -O sundials-2.7.0.tar.gz https://github.com/LLNL/sundials/archive/v2.7.0.tar.gz if [ $? -ne 0 ] ; then - echo "wget sundials --- failed" + echo "[sundials] wget --- failed" exit 1 fi # unpack SUNDIALS archive tar -zxf sundials-2.7.0.tar.gz +if [ $? -ne 0 ] ; then + echo "[sundials] untar --- failed" + exit 1 +fi rm sundials-2.7.0.tar.gz -# compile CVODE +# compile and install CVODE cd sundials-2.7.0/ -mkdir build/ -cd build/ +mkdir build/ && cd build/ cmake -DCMAKE_INSTALL_PREFIX=$cvode_dir/cvode \ -DCMAKE_C_COMPILER:FILEPATH=gcc \ -DCMAKE_Fortran_COMPILER=$FORT_COMP \ @@ -91,7 +94,21 @@ cmake -DCMAKE_INSTALL_PREFIX=$cvode_dir/cvode \ -DEXAMPLES_ENABLE:BOOL=OFF \ -DCMAKE_MACOSX_RPATH:BOOL=ON \ .. +if [ $? -ne 0 ] ; then + echo "[cvode] cmake --- failed" + exit 1 +fi + make -j8 +if [ $? -ne 0 ] ; then + echo "[cvode] make --- failed" + exit 1 +fi + make install +if [ $? -ne 0 ] ; then + echo "[cvode] make install --- failed" + exit 1 +fi exit 0 diff --git a/tools/install/install_fruit.sh b/tools/install/install_fruit.sh index 83d9921f..b39c5868 100755 --- a/tools/install/install_fruit.sh +++ b/tools/install/install_fruit.sh @@ -35,25 +35,30 @@ fi cd $1 wget https://downloads.sourceforge.net/project/fortranxunit/fruit_3.4.3/fruit_3.4.3.zip if [ $? -ne 0 ] ; then - echo "wget fruit --- failed" + echo "[fruit] wget --- failed" exit 1 fi # unpack FRUIT archive unzip -q fruit_3.4.3.zip +if [ $? -ne 0 ] ; then + echo "[fruit] unzip --- failed" + exit 1 +fi rm fruit_3.4.3.zip -# compile FRUIT +# compile and install FRUIT cd fruit_3.4.3/ gem install rake if [ $? -ne 0 ] ; then - echo "gem install rake --- failed" + echo "[fruit] gem install rake --- failed" exit 1 fi + cd fruit_processor_gem/ rake install if [ $? -ne 0 ] ; then - echo "rake install --- failed" + echo "[fruit] rake install --- failed" exit 1 fi diff --git a/tools/install/install_numdiff.sh b/tools/install/install_numdiff.sh index 786cb169..60632884 100755 --- a/tools/install/install_numdiff.sh +++ b/tools/install/install_numdiff.sh @@ -30,23 +30,40 @@ fi cd $1 wget https://savannah.nongnu.org/download/numdiff/numdiff-5.9.0.tar.gz if [ $? -ne 0 ] ; then - echo "wget numdiff --- failed" + echo "[numdiff] wget --- failed" exit 1 fi # unpack numdiff archive tar -zxf numdiff-5.9.0.tar.gz +if [ $? -ne 0 ] ; then + echo "[numdiff] untar --- failed" + exit 1 +fi rm numdiff-5.9.0.tar.gz -# compile numdiff +# compile and install numdiff cd numdiff-5.9.0/ -OS=$(uname -s) -if [ "$OS" = 'Darwin' ]; then +if [ "$(uname -s)" = 'Darwin' ]; then ./configure --prefix=$1/numdiff CPPFLAGS=-I/usr/local/Cellar/gettext/0.20.1/include/ LDFLAGS=-L/usr/local/Cellar/gettext/0.20.1/lib else ./configure --prefix=$1/numdiff fi +if [ $? -ne 0 ] ; then + echo "[numdiff] configure --- failed" + exit 1 +fi + make +if [ $? -ne 0 ] ; then + echo "[numdiff] make --- failed" + exit 1 +fi + make install +if [ $? -ne 0 ] ; then + echo "[numdiff] make install --- failed" + exit 1 +fi exit 0 diff --git a/tools/install/install_openlibm.sh b/tools/install/install_openlibm.sh index 75a8f5b8..02a76a3a 100755 --- a/tools/install/install_openlibm.sh +++ b/tools/install/install_openlibm.sh @@ -30,16 +30,24 @@ fi cd $1 wget https://github.com/JuliaMath/openlibm/archive/v0.8.1.tar.gz if [ $? -ne 0 ] ; then - echo "wget openlibm --- failed" + echo "[openlibm] wget --- failed" exit 1 fi # unpack openlibm archive tar -zxf v0.8.1.tar.gz +if [ $? -ne 0 ] ; then + echo "[openlibm] untar --- failed" + exit 1 +fi rm v0.8.1.tar.gz -# compile openlibm +# compile and install openlibm cd openlibm-0.8.1/ make -j +if [ $? -ne 0 ] ; then + echo "[openlibm] make --- failed" + exit 1 +fi exit 0 diff --git a/tools/update_version_number.sh b/tools/update_version_number.sh index 138fed32..408215b7 100755 --- a/tools/update_version_number.sh +++ b/tools/update_version_number.sh @@ -14,10 +14,11 @@ # # N.B.: the script MUST be run from the main directory of AtChem2. -VERS_OLD="v1.2.1" -VERS_NEW="v1.3-dev" +VERS_OLD="v1.3-dev" +VERS_NEW="v1.2.2" -find ./ -type f ! -name "update_version_number.sh" ! -name "CHANGELOG.md" -print | xargs perl -pi -e "s/$VERS_OLD/$VERS_NEW/g" +# ignore the .git/ directory, exclude this script and the changelog file +find ./ -not -path "./.git/*" -type f ! -name "update_version_number.sh" ! -name "CHANGELOG.md" -print | xargs perl -pi -e "s/$VERS_OLD/$VERS_NEW/g" echo "==> AtChem2 version number changed to:" $VERS_NEW echo ""