This is the Fortran code that was used to produce the results in L'Heureux 2018 paper "Diagenetic Self-Organization and Stochastic Resonance in a Model of Limestone-Marl Sequences".
This codebase is not maintained. It has been made public by Johan Hidding and Emilia Jarochowska based on a written permission by Ivan L'Heureux.
Run make to build the code with gfortran. The executable should appear in the ./build directory. Running it by typing ./build/marlpde08 will produce several output files in plain text format. make builds the Fortran 2008 version. It gives the same results as the original code, but is slightly faster.
Run make clean to remove all files produced during compilation.
If you use this code in your work, please cite both the original paper by Ivan L'Heureux and this repository, following the information in CITATION.cff.
The maintainers of this package are not directly affiliated with the original author, but obtained permission to distribute this code under the Apache 2 license.
Copyright 2022 Ivan L'Heureux (University of Ottawa)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-
The original code as sent to as by Ivan L'Heureux is in the protected branch
corrected_archive. "corrected" refers to corrections made by I. L'Heureux himself upon our request. This is the basis for the code in themainbranch. -
The code has been updated to FORTRAN 2008 standard by Lukas van de Wiel (Utrecht University). That version is in the
lheureux.f90file. The.f90extension seems to be required by Ifort so it is kept here. -
In the porosity diffusion coefficient,
$D_{\phi}$ , the numerator has been corrected fromphi00*3tophi00**3to match equation 25 in L'Heureux (2018). This correction would change the value of the coefficient to one that did not yield oscillatory solutions for conditions identified in the article. To adjust the value of$D_{\phi}$ , we changed also the value of parameter$b$ , sediment compressibility, so that the final value of$D_{\phi}$ remains the same as when calculated usingphi00*3. -
The concentrations of solutes in initial and surface sediment were given in the input parameters of the original version as scaled by
$\sqrt(K_C)$ , but another division by$\sqrt(K_C)$ followed in the code, resulting in incorrect initial concentrations of the solutes with respect to what was presented in L'Heureux (2018). -
Johan Hidding expanded the code to save output into a
hdf5file and allow reading parameters from a config file. However, this seems to cause problems due to the conversion of data types and most likely needs testing and modifications before it can be relied upon. This version is in theconfig_filebranch. It includes thecfgparser from pkgpl/cfgio by Wansoo Ha.