-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MCM #92
Conversation
.ci-tests/F90-mcm - New folder containing symbolic links to key files in the ../../examples/mcm folder. These include the constants and driver files and the *.kpp and *.eqn files. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
util/Makefile_f90 util/Makefile_upper_F90 - Add user-defined env var $(EXTERNAL_RATES_F90) to GENSRC list - Add user-defined env var $(EXTERNAL_RATES_OBJ) to GENOBJ list - Add the rule to build $(EXTERNAL_RATES_OBJ), but only if both $(EXTERNAL_RATES_F90) and $(EXTERNAL_RATES_OBJ) are not blank. This will allow you to compile constants_mcm.f90 so that it can be used by the F90_Rates module if you pass EXTERNAL_RATES_SRC=constants_mcm.f90 EXTERNAL_RATES_OBJ=constants_mcm.o to the make command. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
examples/mcm/mcm.kpp - Add #UPPERCASEF90. Default setting is OFF. This will allow users to build the MCM for models that require use of *.F90 suffixes. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This is necessary in order to avoid a compilation error. We can work on making this more flexible later. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
.ci-pipelines/ci-cleanup-script.sh - Clean up the MCM test folder separately .ci-pipelines/ci-common-defs.sh - Add variable MCM_TEST to specify the name of the MCM test folder - Function run_ci_test now takes a 3rd argument with extra commands that can be passed to the Fortran compilation. This is necessary for us to allow specification of the constants_mcm.f90 and constants_mcm.o via environment variables. .ci-pipelines/ci-testing-script.sh - Add a separate call to run_ci_test to run the MCM C-I test CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
.ci-pipelines/ci-common-defs.sh - Add DO_MCM=1 variable. If set to 1, the MCM test will be run, otherwise it'll be skipped. .ci-pipelines/ci-testing-script.sh - Wrap the commands to run the MCM test in an if block that tests if DO_MCM=1 .ci-pipelines/Dockerfile - Add an sed command to change DO_MCM=1 to DO_MCM=0, thus disabling the MCM C-I test on Azure. It will fail due to having too many reactions. But you will be able to run the MCM test locally. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
util/Makefile_f90 util/Makefile_upper_F90 - Allow the user to pass the EXTERNAL_RATES_F90 environment variable to specify an external modules that gets USE-d via F90_RCONST - Makefile variable EXTERNAL_RATES_OBJ is now created by replacing the suffixes .f90 and .F90 with .o example/mcm/README example/mcm/README.md - README is now README.md (with Markdown) example/mcm/Makefile - Deleted, we can now let KPP generate the Makefile .gitignore - Now ignore *.pdf and examples/mcm/__pycache__ .ci-pipelines/ci-testing-script.sh - Fix typos - Now only pass EXTERNAL_RATES_F90 Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
util/Makefile_f90 util/Makefile_upper_F90 - Declare EXTERNAL_RATES_OBJ with := instead of =, to avoid a recursive file error Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
examples/mcm/README.md - Add a note stating that only one external F90 file can be specified via the EXTERNAL_RATES_F90 environment variable without having to further modify the util/Makefile_f90 and/or util/Makefile_upper_F90 files. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #83 (Add a C-I test for the MCM minimal example, Update F90 Makefiles to specify an external module, by @yantosca) into the MCM branch. This PR adds extra functionality for the MCM minimal example, including adding C-I testing capability. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to merge. I will merge into dev. then make sure we change the version numbers etc, then merge into main.
@RolfSander: Let me know if there are other last minute updates for KPP 3.1.0. Otherwise I'll go ahead and release. |
Thanks @RolfSander. I'll release today. |
Great, thanks for releasing 3.1.0! |
see #4