scream icon indicating copy to clipboard operation
scream copied to clipboard

settle on IO naming scheme

Open mahf708 opened this issue 1 year ago • 3 comments

We should likely settle on a naming scheme for our IO. Currently, we have three different file classes of interest, with differing schemes

file type current pattern purpose
restart [case_name].scream.r.[restart_spec].[date_spec].nc restart simulation from a checkpoint
restart history [any_string].rhist.[restart_spec].[date_spec].nc restart simulation from a checkpoint
history [any_string].[output_spec].[date_spec].nc save simulation output

Proposed changes

file type proposed pattern
restart [case_name].[model_name].r.[restart_spec].[date_spec].nc
restart history [case_name].[model_name].rhist.[any_string].[output_spec].[restart_spec].[date_spec].nc
history [case_name].[model_name].h.[any_string].[output_spec].[date_spec].nc

Some notes

  • any_string will come from the yaml files, e.g., myNcQcQr
  • output_spec and restart_spec are EAMxx-specific, e.g., INSTANT.nhours_x3, for output and restart frequency
  • restart history takes both restart and output specs in its name to avoid bugs like #2981
  • model_name is scream for now, but we should change that to eamxx at some point

Rationale

  • this will make us follow E3SM conventions while maintaining our own custom IO settings, a decent compromise
  • this will enable us to make use of extensive infrastructure tooling (e.g., short-term archive, which is good for production but equally important for testing) without long-standing silent bugs...

Comment and vote below!

mahf708 avatar Sep 18 '24 15:09 mahf708