ESCOMP / ESCOMP/CMEPS

Write mapping files that can be reused on restart

Open
#335 3 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Fortran
Stars
35
Forks
106
Avg merge
6d 5h
Merged PRs (30d)
4

Description

From a discussion with @mvertens, @jedwards4b and @gustavo-marques today: We want to consider adding the ability to write files containing the initialization-generated mapping weights and then read these files back in on restart rather than redoing ESMF_FieldRegridStore each time the model is restarted.

A few specific notes on this:
1. We should do some timings to verify that it's actually generally faster to read already-generated mapping files than just regenerating them. (It seems likely to be faster, but it's possible that the I/O is actually slower than the regrid weight generation.)
2. The dumped regridding weights depend on processor layout / decomposition. @gustavo-marques 's thought is that, in the same place where we currently detect a change in processor layout and issue a message about needing to rebuild, we could also remove any of these generated mapping files.
3. For CESM, we should put these files in the recently-added subdirectory of the run directory named init_generated_files. This has the advantages of (a) This directory is automatically removed when you rerun a system test, to ensure that the system test is running the same way each time, unless you are running the specific new test type REUSEINITFILES that explicitly tests rerunning with the reuse of these init files (and ensures that your run is bit-for-bit when doing so); (b) We could have CIME remove this entire directory when changing the PE layout... this may be overkill (e.g., it removes some CTSM-generated initialization files that don't actually need to be removed when changing the PE layout), but that's probably okay to keep things simple and robust.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.