idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.78k stars 1.05k forks source link

Support for non-binary checkpoint recover was removed from recover system #26682

Closed GiudGiud closed 4 months ago

GiudGiud commented 10 months ago

Reason

MOOSE used to support restarting from non-binary files. The suffix was then changed. I dont see this option in the current version of moose? @friedmud removed it seemingly It is and was in use, considering #26673 and the two other posts they linked in that discussion

The only test which was testing this was not really because it was focused on other things.

+    [run]
+      type = 'RunApp'
+      input = 'perf_graph_reporter_recover.i'
+      cli_args = '--recover --recoversuffix cpr'.  <- already the suffix
+      prereq = recover_initial
+      recover = false
+      detail = 'in JSON format'
+    []

How to reproduce

Use input from #26673 in post with a newer version of moose

Design

Add the suffix back or auto-detect it ? Or fix what is supposed to auto detect it And add a test!!

Impact

Let MOOSE run easier on system which dont have libtirpc and cant use the binary format

Discussed in https://github.com/idaholab/moose/discussions/26673

Originally posted by **MusannaGalib** January 29, 2024 Hello, I installed MOOSE without XDR ( `./scripts/update_and_rebuild_libmesh.sh --disable-xdr-required`) as the cluster does not have the` libtirpc-devel` package. I used `binary = false` in my checkpoint files which generates `0008_mesh.cpa 0008.rd-0 0008.xda 0008.xda.0000`. [`0008_mesh.cpa`](url) folder contains `header.cpa split-1-0.cpa` . I am attaching the files here. I tried to restart using `mpiexec -n 1 /home/galibubc/projects/rrg-mponga/galibubc/MOOSE_128p_2020/dendrite/dendrite-opt -i input.i --recover input_checkpt_cp/0008 >log.txt` which gives the following error that it is looking for `xdr/cpr` files. ``` ERROR: Neither one of the following files can be located: 'input_checkpt_cp/0008_mesh.cpr/1/header.cpr' nor 'input_checkpt_cp/0008_mesh.cpr' ``` ``` [Outputs] exodus = true csv = true interval = 2 execute_on = 'TIMESTEP_END' [./other] # creates input_other.e type = Exodus interval = 60 [../] [./checkpt] type = Checkpoint binary = false num_files = 2 interval = 2 [../] perf_graph = true [] ``` [header.cpa.txt](https://github.com/idaholab/moose/files/14088090/header.cpa.txt) [split-1-0.cpa.txt](https://github.com/idaholab/moose/files/14088091/split-1-0.cpa.txt) [0008.xda.txt](https://github.com/idaholab/moose/files/14088105/0008.xda.txt)
pbehne commented 7 months ago

27268 Changes the checkpoint format from binary (cpr) to ascii (cpa). Compression and decompression of ascii checkpoint files is handled automatically and will work on systems without XDR support. I spoke with @permcody about adding support for users to load their old binary checkpoints and he is against it, saying that the decision has been made in the past to not keep support for older formats. With that in mind, will the current changes be sufficient to close this issue?

GiudGiud commented 7 months ago

If you re-enable .cpa, you can close this issue. This issue is about .cpa being broken currently

pbehne commented 4 months ago

This can be closed (via #27268).

GiudGiud commented 4 months ago

Closing as addressed by https://github.com/idaholab/moose/pull/27268