1212from  payu .models .model  import  Model 
1313from  payu .fsops  import  mkdir_p 
1414
15- config_files  =  ['varinfo_seacofs.yaml' ]
15+ config_files  =  []
1616optional_config_files  =  []
1717
1818class  Roms (Model ):
@@ -29,7 +29,7 @@ def __init__(self, expt, name, config):
2929        self .optional_config_files  =  optional_config_files 
3030
3131    def  setup (self ):
32-         # Add the model config file to the list of  config files 
32+         ## handle mandatory  config files 
3333        if  'model_config'  not  in self .config :
3434            raise  ValueError (
3535                "'model_config' field must be specified in config.yaml for " 
@@ -46,6 +46,20 @@ def setup(self):
4646
4747        self .config_files .append (model_config )
4848
49+         ## handle optional config files 
50+         optional_config_files  =  self .expt .config ['optional_config_files' ]
51+         if  optional_config_files  and  isinstance (optional_config_files , str ):
52+             optional_config_files  =  [optional_config_files ]
53+ 
54+         for  optional_file  in  optional_config_files :
55+             if  not  (Path (self .control_path ) /  optional_file ).is_file ():
56+                 raise  FileNotFoundError (
57+                     f"Optional configuration file '{ optional_file }  
58+                     f"control directory: { self .control_path }  
59+                 )
60+ 
61+         self .optional_config_files .extend (optional_config_files )
62+ 
4963        super (Roms , self ).setup ()
5064
5165        # Set the model config file to be added after the executable 
0 commit comments