Skip to content
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

version 1.2 #83

Open
hpc4geo opened this issue Oct 25, 2024 · 14 comments
Open

version 1.2 #83

hpc4geo opened this issue Oct 25, 2024 · 14 comments

Comments

@hpc4geo
Copy link
Collaborator

hpc4geo commented Oct 25, 2024

There is interest in rolling out something resembling a release.

We have many branches with various fixes, features out there.

If you would like a specific branch merged into main as part of the upcoming hackathon, please reply to this issue and indicate the branch name.

All branches identified will be merged into a new branch

dev/staging

By suggesting a branch, you are implicitly also assuming responsibility for testing, and verifying the correctness of the behavior of the change / feature that your suggested branch introduces into tandem. Your testing and verification must be conducted within the branch dev/staging. You will also be asked for brief overview of how you verified the correctness of the fix / feature so that the test procedure you used can be incorporated into a regression test suite (and or CI test suite) for future testing of tandem.

@hpc4geo
Copy link
Collaborator Author

hpc4geo commented Oct 25, 2024

@Thomas-Ulrich
Copy link
Collaborator

#82 -> maybe redo the gf chepointing tests (and integrate some of them in the test pipeline?
#81 -> could be tested but how?
#80 -> no testing needed. only additonnal log (compilation could be tested by #69)
#72 ->no testing needded. documentation
#69 -> no further testing needded (?). adds a workflow testing compilation. we already seen that this fixes GPUs
#67 -> hard to test. but we've made the same change with seissol documentation and it fixed the build of the readthedocs.
#57 -> no need test (code-formatting + associated github action). Need to be discussed if we want that (IMO does not hurt and was already applied by Carsten)

@yohaimagen
Copy link
Collaborator

#78 -> Need to remove hardcoded parameters and test for the best initial searching value (will do this early next week, before merging into one branch).

@yohaimagen
Copy link
Collaborator

#78 ready to be merged.

@JeenaYun
Copy link
Collaborator

JeenaYun commented Nov 1, 2024

#59 -> 1) need to test whether the checkpoint directory is creating without a problem, 2) need to state a disclaimer in the document about the harmless issue in the output writing
#65 -> double-check using the BP6 example

@JeenaYun
Copy link
Collaborator

JeenaYun commented Nov 2, 2024

dmay/r_and_s_error_report branch -> test by running some models that is known to crash and check how the errror is reported

@hpc4geo hpc4geo changed the title version 1.0 version 1.1 Nov 5, 2024
@JeenaYun
Copy link
Collaborator

JeenaYun commented Nov 5, 2024

jyun/main_state_laws

  • This feature allows users to choose between Ageing law and Slip law as their state variable evolution law during the compilation. The compilation argument FRICTION_LAW takes either dieterich_ruina_ageing or dieterich_ruina_slip. The default is the dieterich_ruina_ageing.
  • Syntax E.g.:
    cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DFRICTION_LAW=dieterich_ruina_slip
  • Cherry-picked from jyun/state_laws that contains Thomas' implementation (implement polymorphism-based implementation of the RS friction laws #85)
  • DieterichRuinaBase.h governs all the common parts of the friction law, except for the state_rhs function. The state_rhs function is defined in files DieterichRuinaAgeing.h (for ageing law) and DieterichRuinaSlip.h (for slip law) that inherits from the DieterichRuinaBase.h.
  • Following compile tests were successful:
    • cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DC MAKE_PREFIX_PATH=/home/jyun/softwares/utils_for_tandem -DARCH=noarch (default test)
    • cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DC MAKE_PREFIX_PATH=/home/jyun/softwares/utils_for_tandem -DARCH=noarch -DFRICTION_LAW=dieterich_ruina_slip (slip law compilation test)
    • cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DC MAKE_PREFIX_PATH=/home/jyun/softwares/utils_for_tandem -DARCH=noarch -DFRICTION_LAW=dieterich_ruina_ageing (ageing law compilation test)
  • Following compile tests failed with an appropriate error as intended, since FRICTION_LAW is designed to take only dieterich_ruina_ageing or dieterich_ruina_slip:
    • cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DC MAKE_PREFIX_PATH=/home/jyun/softwares/utils_for_tandem -DARCH=noarch -DFRICTION_LAW=dieterich_ruina_other
    • cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DC MAKE_PREFIX_PATH=/home/jyun/softwares/utils_for_tandem -DARCH=noarch -DFRICTION_LAW=
    • cmake $PATH_TO_TANDEM -DPOLYNOMIAL_DEGREE=6 -DDOMAIN_DIMENSION=2 -DC MAKE_PREFIX_PATH=/home/jyun/softwares/utils_for_tandem -DARCH=noarch -DFRICTION_LAW=dieterich_ruina_slipp

@hpc4geo
Copy link
Collaborator Author

hpc4geo commented Nov 5, 2024

#59 -> 1) need to test whether the checkpoint directory is creating without a problem, 2) need to state a disclaimer in the document about the harmless issue in the output writing #65 -> double-check using the BP6 example

@JeenaYun Is PR 65 required if I merge jyun/main_state_laws?

@JeenaYun
Copy link
Collaborator

JeenaYun commented Nov 5, 2024

#59 -> 1) need to test whether the checkpoint directory is creating without a problem, 2) need to state a disclaimer in the document about the harmless issue in the output writing #65 -> double-check using the BP6 example

@JeenaYun Is PR 65 required if I merge jyun/main_state_laws?

Nope. jyun/main_state_laws contains everything in #65

@hpc4geo
Copy link
Collaborator Author

hpc4geo commented Nov 5, 2024

#59 -> 1) need to test whether the checkpoint directory is creating without a problem, 2) need to state a disclaimer in the document about the harmless issue in the output writing #65 -> double-check using the BP6 example

@JeenaYun Is PR 65 required if I merge jyun/main_state_laws?

Nope. jyun/main_state_laws contains everything in #65

Great - thanks!

@hpc4geo
Copy link
Collaborator Author

hpc4geo commented Nov 7, 2024

@Thomas-Ulrich @JeenaYun @baroryan @yohaimagen @AliceGabriel

All these branches (except one) have been merged into dmay/staging. This branch is ready for testing.

Branch thomas/update_yateto #81 has been excluded. Once testing of dmay/staging is complete I will merge thomas/update_yateto and thomas can test it.

@AliceGabriel
Copy link
Contributor

Hi everyone, quick reminder of the pending tests so @hpc4geo can finish v1.1
It would be great to have finished this by the end of next week (well in time for the AGU poster). You can also email Dave directly. Thanks.

@Thomas-Ulrich Thomas-Ulrich changed the title version 1.1 version 1.2 Nov 20, 2024
@Thomas-Ulrich
Copy link
Collaborator

Just to confirm that the GF checkpointing tests are still passing.
For the records, I'm using the following scripts:
#51 (comment)
I had to modify test_checkpointing.sh to account for the new interface:
test_checkpointing.txt

@yohaimagen
Copy link
Collaborator

Confirming that the new root finding is still working properly.
I have tested it both point-wise and quantitatively with BP1.

Regarding point-wise testing, the test unit is ready to be pushed and works properly. @hpc4geo if you want it to be part of v1.2, I have it ready on a branch a few commits ahead of dmay/staging. The only changes, except for adding the test files themselves, are the following additions to theapp/CMakeLists.txt file. Let me know if it's okay to push it to dmay/staging or not.

--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -34,6 +34,16 @@ target_compile_options(test-scatter PRIVATE ${CPU_ARCH_FLAGS})
 target_include_directories(test-scatter PRIVATE ../external/)
 target_link_libraries(test-scatter PRIVATE tandem-lib)
 
+
+add_executable(test_0 test/t_0/test_DieterichRuinaAgeing.cpp)
+target_compile_options(test_0 PRIVATE ${CPU_ARCH_FLAGS})
+include_directories(test_0 "${CMAKE_SOURCE_DIR}/app/")
+include_directories(test_0 "${CMAKE_SOURCE_DIR}/src/")
+include_directories(test_0 "${CMAKE_BINARY_DIR}/app/")
+target_link_libraries(test_0 PRIVATE tandem-lib)
+set_target_properties(test_0 PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/app/test/t_0")
+
+

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants