You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As pointed out by @blimlim, the Experiment in experiment.py stores two separate instances of the top-level model driver in Experiment.model and in the list Experiment.models. For model drivers such as access, setup and archive is not run for the access instance in Experiment.models list, only for the top-level instance Experiment.model.
There was already a TODO to rename models to submodels to make it more clear:
Could still have self.models = [self.model] + self.submodels for when wanting to iterate over all model drivers, but have only one instance of the top-level model.
What might need to be checked is accessom2 driver archive method. For the Experiment.models instance which archives before other submodel model drivers run archive(), it copies directories from work directories restart path to the output restart path. Then when the top level Experiment.model instance run after other submodel archives, it copies a file from a mom work path to a cice5 restart path.
So maybe there just needs to be a top-level post_setup/post_archive method or similar, that runs after other submodel setup/archives methods have run? This might make it more clear what runs before submodel methods and what runs after submodel methods.
The text was updated successfully, but these errors were encountered:
As pointed out by @blimlim, the
Experiment
inexperiment.py
stores two separate instances of the top-level model driver inExperiment.model
and in the listExperiment.models
. For model drivers such asaccess
, setup and archive is not run for theaccess
instance inExperiment.models
list, only for the top-level instanceExperiment.model
.There was already a TODO to rename models to submodels to make it more clear:
payu/payu/experiment.py
Lines 150 to 151 in bdf0c66
Could still have
self.models = [self.model] + self.submodels
for when wanting to iterate over all model drivers, but have only one instance of the top-level model.What might need to be checked is
accessom2
driver archive method. For theExperiment.models
instance which archives before other submodel model drivers runarchive()
, it copies directories from work directories restart path to the output restart path. Then when the top levelExperiment.model
instance run after other submodel archives, it copies a file from amom
work path to acice5
restart path.So maybe there just needs to be a top-level
post_setup
/post_archive
method or similar, that runs after other submodel setup/archives methods have run? This might make it more clear what runs before submodel methods and what runs after submodel methods.The text was updated successfully, but these errors were encountered: