Recent Releases of kpp
kpp - The Kinetic Preprocessor (KPP) 3.3.0
From CHANGELOG.md
Added
- Added new integrator:
rosenbrock_h211b_qssa.f90 - Added new C-I tests:
F90_ros_h211b,F90_mcm_h211b - Added
run_example.cshandrun_example.shscripts for themcmandmcm_h211bexamples
Pull requests included
- Add Rosenbrock_H211b integrator by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/124
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.2.1...3.3.0
- Fortran
Published by yantosca 7 months ago
kpp - The Kinetic PreProcessor (KPP) 3.2.1
From CHANGELOG.md
Added
- Added documentation in the
#INITVALUESsection about using Fortrand(double precision) exponents - Added C-I test
F90_feuler, using the Forward Euler integrator - Added carbon gases mechanism (
models/carbon.*)
Changed
- Updated
.ci-pipelines/build-testing.ymlto useubuntu-24.04instead ofubuntu-20.04container for Azure C-I tests - Updated
jinja2to version 3.1.6 (for ReadTheDocs) to fix a security issue identified by @dependabot
Fixed
- Fixed parsing of
#INITVALUESsection to allow Fortrand(double-precision) exponents - Updated
int/feuler.f90to return theTexitvalue asRSTATUS(1)(this was not being done)
Pull requests included
- Allow constants in
#INITVALUESto have Fortran double-precisiondexponents by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/134 - Return Texit from the Forward Euler (feuler) integrator and add corresponding C-I test by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/136
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.2.0...3.2.1
- Fortran
Published by yantosca 10 months ago
kpp - The Kinetic PreProcessor (KPP) 3.2.0
Release Date: 27 Feb 2025
From CHANGELOG.md
Added
- Added new inline key
F90_RCONST_USEinsrc/gdata.handsrc/scanner.c - Added documentation about
F90_RCONST_USEfor ReadTheDocs - Added
F90_RCONST_USEinlined code toUpdate_RConstandUpdate_Photoroutines - Added warning that LSODE is not thread-safe to ReadTheDocs documentation
Changed
- Updated
Update_RCONSTto useYinstead ofCto account for updated variable species concentrations - Updated C-I tests to print the compiler versions that are used
- Updated routine
GenerateUpdateRconstto manually write theSUBROUTINEandEND SUBROUTINElines (F90 only) - Updated routine
GenerateUpdateRconstto inline code from#INLINE F90_RCONST_USEbefore any other F90 variable declarations or statements - Updated
.gitignoreto ignore all executable files - Changed
Begin INLINED RCONST - F90 USE STATEMENTStoBegin inlined code from F90_RCONST_USEinsrc/gen.c - Changed inlined code comments to be more precise (e.g.
Begin inlined code from F90_RCONST) insrc/gen.c - Updated Flex library installation example on ReadTheDocs
- Renamed
int/beuler.f90to theint/sdirk.f90, as this is a newer version of the SDIRK integrator - Updated documentation for Backwards Euler to instruct user to select
#INTEGRATOR sdirkwithICNTRL(3) = 6 - Updated ReadTheDocs dependency
jinja2to version 3.1.5 (fixes a security issue)
Fixed
- Added
char* rootFileNameto functions and function prototypes forUse_C,Use_F,Use_F90,Use_MATLAB, andGenerate - Updated
docs/requirements.txtto usejinja2==3.1.4(fixes a security issue) - Moved
USE constants_mcmfromF90_RCONSTtoF90_RCONST_USEinexamples/mcm/mcm_isoprene.eqn - Fixed MacOS-specific handling for x86_64 or arm64 in
src/Makefile.defs
Removed
- Removed
int/beuler.f90 - Removed
int/beuler.def## Pull requests included - Update function prototypes to avoid compiler warnings with GCC 13 by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/103
- Use Y instead of C in Update_RCONST by @srosanka in https://github.com/KineticPreProcessor/KPP/pull/106
- Add code from #INLINE F90RCONSTUSE at the top of the UPDATE_RCONST subroutine by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/120
- consistent comments for inlined Code by @RolfSander in https://github.com/KineticPreProcessor/KPP/pull/122
- Add inlined code in the #INLINE F90RCONSTUSE block to the Update_Photo routine by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/125
- Update int/sdirk.f90 to the same version as was in int/beuler.f90 by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/130
- Fixed MacOS-specific handling for x86_64 or arm64 by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/127
New Contributors
- @srosanka made their first contribution in https://github.com/KineticPreProcessor/KPP/pull/106
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.1.1...3.2.0
- Fortran
Published by yantosca 12 months ago
kpp - The Kinetic PreProcessor (KPP) 3.1.1
CHANGELOG
Changed
- Updated Python package versions for ReadTheDocs in
docs/requirements.txt - Now request Python 3.12 for ReadTheDocs builds in
.readthedocs.yaml - Updated
MAX_NO_OF_LINESto 2000 to parse the MCM mechanism - Updaeed
MAX_EQNto 18000 to parse the MCM mechanism
Fixed
- Now only add tha extra
Aoutargument toFunandFun_Splitfor F90 (see issues #56, #96)
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.1.0...3.1.1
- Fortran
Published by yantosca almost 2 years ago
kpp - The Kinetic PreProcessor (KPP) 3.1.0
CHANGELOG
Added
#AUTOREDUCEhas been added to the list of KPP commands in the ReadTheDocs documentaton- Added
examples/mcmfolder with minimal example for the Master Chemical Mechanism - Added C-I test for MCM, based on the minimal example
Removed
TRANSPORTandTRANSPORTALLinput options; these were obsoleteLUMPinput option; this was obsoleteDEFRAD,SETRAD,INITIALIZE,XGRID,YGRID,ZGRID,WRITE_OPT,RUN,USE,USES; these were obsolete
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.0.2...3.1.0
- Fortran
Published by yantosca about 2 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.2
CHANGELOG
Added
- Added
.readthedocs.yamlfor configuring ReadTheDocs builds - Added a ReadTheDocs badge in
README.md - State that
#INTEGRATOR nonestatements should be removed in RTD documentation
Changed
- Added pybtex and pybtex-docutils to the
docs/requirements.txt
Fixed
- Minor issues in
site-lisp/kpp.elfile for Emacs
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.0.1...3.0.2
- Fortran
Published by yantosca over 2 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.1
CHANGELOG
Added
- Add
CITATION.cffby @zmoon in https://github.com/KineticPreProcessor/KPP/pull/74
Changed
- Update citation for KPP 3.0.0 paper by @jimmielin in https://github.com/KineticPreProcessor/KPP/pull/68
Fixed
- GenerateJacReactantProd(): change arrays from static allocation to dynamic by @obin1 in https://github.com/KineticPreProcessor/KPP/pull/67
New Contributors
- @obin1 made their first contribution in https://github.com/KineticPreProcessor/KPP/pull/67
- @zmoon made their first contribution in https://github.com/KineticPreProcessor/KPP/pull/74
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.0.0...3.0.1
- Fortran
Published by yantosca almost 3 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.0
What's Changed
- Cleanup in auto-reduce code and added a
rosenbrock_autoreducetest by @jimmielin in https://github.com/KineticPreProcessor/KPP/pull/49 - C-I tests folders have been renamed for clarity by @yantosca
- Documentation improvements for 3.0.0: Auto-reduction solver and State_Het by @jimmielin in https://github.com/KineticPreProcessor/KPP/pull/51
- Cleanup util by @RolfSander in https://github.com/KineticPreProcessor/KPP/pull/52
- Updates for C-language output by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/53
- Add Ubuntu x8664 FLEXLIB_DIR into Makefile.defs by @jimmielin in https://github.com/KineticPreProcessor/KPP/pull/55
Makefile.defsnow usesKPP_FLEX_LIB_DIRinstead ofFLEX_LIB_DIRby @yantosca- Remove Vdotout functionality by @jimmielin in https://github.com/KineticPreProcessor/KPP/pull/54
- FIX must be the 2nd argument passed to FUN in int/feuler.f90 (plus doc updates) by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/61
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/2.6.0...3.0.0
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.0-rc.4
Release Date 18 Oct 2022
What's Changed
- FIX must be the 2nd argument passed to FUN in int/feuler.f90 (plus doc updates) by @yantosca in https://github.com/KineticPreProcessor/KPP/pull/61
Full Changelog: https://github.com/KineticPreProcessor/KPP/compare/3.0.0-rc.3...3.0.0-rc.4
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.0-rc.3
Added
- All authors from Lin et al 2022 (the KPP 3.0.0 paper) have been added as authors on ReadTheDocs and in the
.zenodo.jsonfile - Updated version number to 3.0.0-rc.3 in
src/gdata.h
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.0-rc.2
Release candidate for KPP 3.0.0
Release date: 13 Jul 2022
Changed
- Bug fix: Remove extraneous "," in
.zenodo.jsonthat was preventing auto-DOI generation - Updated version numbers to 3.0.0-rc.2 in
docs/source/conf.pyandsrc/gdata.h
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.0-rc.1
Release candidate for KPP 3.0.0 Release date 13 Jul 2022
Changed
- Now add (hopefully) correct license metadata in
.zenodo.jsonfile for auto-DOI generation - Summarized CHANGELOG.md information in the "Revision History" page of the ReadTheDocs documentation
- Updated version number to KPP 3.0.0-rc.1
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 3.0.0-rc.0
Release candidate for KPP 3.0.0 Release date 13 Jul 2022
Added
- C-language updates
- Restored driver programs
general.candgeneral_adj.c - Updated rate-law functions in
util/UserRateLaws.c - Added C-I tests for C-language integrators (using the
small_stratomechanism - Now use
//instead of/* */comment strings
- Restored driver programs
- ReadTheDocs documentation updates:
- Authors in the reference page are now listed alphabetically
- In-text citations now use the :cite:t style (e.g. "Smith et al [2000]")
- Corrected several omissions
- Removed table numbers from tables (to reduce confusion)
- Now document additional installation steps for MacOS X
- Added documentation about
KPP_FLEX_LIB_DIR
- C-I test additions
- Added a C-I test for the
rosenbrock_autoreduceintegrator
- Added a C-I test for the
Changed
- C-I test updates
- Renamed CI-test folders for clarity (
C_*,F90_*, 'X_*') - Abstracted reusable code into the
ci-common-defs.shscript - Replaced
ci-manual-testing-script.shwithci-testing-script.sh(which now works both locally and on Azure Dev Pipelines) - Renamed
ci-manual-cleanup-script.shtoci-cleanup-script.sh - Updated docs accordingly
- Renamed CI-test folders for clarity (
- Makefile changes
Makefile.defsnow uses environment variableKPP_FLEX_LIB_DIRwhen it cannot find the flex library file in standard locations v- Removed host-specific if blocks from
Makefile.defs
- Other changes
- DOUBLE_COMPLEX is now replaced by COMPLEX(kind=dp)
- Fixed incorrect license string in .zenodo.json
- Added extra
free()statements insrc/gen.cto avoid memory leaks
Removed
bibtex.json(no longer needed w/ Sphinx 3.5.4)- Fun() no longer uses Vdotout since it can be retrieved from
Vdot
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 2.6.0
Added
- New integrator: rosenbrock_autoreduce.f90
- Also added corresponding documentation for ReadTheDocs
Changed
- The
ICNTRL(5)option in the LSODE integrator is nowICNTRL(10).
- Fortran
Published by yantosca over 3 years ago
kpp - The Kinetic PreProcessor (KPP) 2.5.0
Added
- New integrators
- feuler.f90
- New C-I tests
- ros_minver
- ros_upcase
- Added scripts to run C-I tests manually (for development/debugging)
- Brought updates for GEOS-Chem into the main line of development
- Added #MINVERSION switch to force KPP to stop unless a minimum version is used
- Added #UPPERCASEF90 to generate F90 code with the .F90 suffixes
- Removed EQUIVALENCE statements from F90-generated code; VAR and FIX now point to C witihin integrators. This is to ensure thread-safe operation when using KPP-generated code in an OpenMP parallel environment.
- Bug fixes:
- Make sure to inline parameter "sp" into the _Global.F90 file when the "#DOUBLE off" option is used.
Changed
- Code updates
- Rewrote code to remove compiler warnings
- Fortran-90 makefiles now use GFORTRAN as the default compiler option
- Added ReadTheDocs output
- Updated top-of-file comment headers to point to the KPP Github site and to acknowledge new authors
- Routine Fun() now returns optional arguments Aout and Vdotout
- Updates for building on MacOS
- Reduce size of MAXEQN and MAXSPECIES to get KPP to run within 65532 kb of stack memory
- Fortran
Published by yantosca almost 4 years ago
kpp - The Kinetic PreProcessor (KPP) 2.4.0
Release date: 25 Apr 2022
Added
- Brought updates from the MECCA branch into the main line of
development:
- new integrators: beuler.f90, rosenbrockmz.f90, rosenbrockposdef.f90, rosenbrockposdefh211b_qssa.f90
- several memory sizes (MAX_EQN, ...) increased to allow large chemical mechanisms
- new Makefile target: list
- LaTeX User Manual added
- Now use ICNTRL(15) to decide whether or not to toggle calling the Update_SUN, Update_RCONST, and Update_PHOTO routines from within the integrator
- Fortran
Published by yantosca almost 4 years ago