diff --git a/cime_config/stream_cdeps.py b/cime_config/stream_cdeps.py index 41bc389fd..ae8364dad 100644 --- a/cime_config/stream_cdeps.py +++ b/cime_config/stream_cdeps.py @@ -113,10 +113,11 @@ def create_stream_xml(self, stream_names, case, streams_xml_file, data_list_file varmod_args = [x.strip() for x in varmod.split("=") if x] expect(len(varmod_args) == 2, "input stream mod can only be of the form streamname:var=value(s)") - # do not allow multiple entries for varmod_args + # allow multiple entries for varmod_args, most recent wins varname,varval = varmod_args - expect (varname not in stream_mod_dict[stream], - "varname {} is already in stream mod dictionary".format(varname)) + if varname in stream_mod_dict[stream]: + logger.warning("varname {} is already in stream mod dictionary".format(varname)) + if varname == "datavars" or varname == "datafiles": if varname == "datavars": varvals = ["{}".format(x.strip()) for x in varval.split(",") if x] @@ -231,7 +232,7 @@ def create_stream_xml(self, stream_names, case, streams_xml_file, data_list_file # append to stream xml file stream_file_text = _stream_file_template.format(**stream_vars) with open(streams_xml_file, 'a', encoding='utf-8') as stream_file: - stream_file.write(stream_file_text) + stream_file.write(case.get_resolved_value(stream_file_text)) # append to input_data_list if stream_vars['stream_meshfile']: diff --git a/datm/cime_config/stream_definition_datm.xml b/datm/cime_config/stream_definition_datm.xml index c9d5b3fef..22237102a 100644 --- a/datm/cime_config/stream_definition_datm.xml +++ b/datm/cime_config/stream_definition_datm.xml @@ -3524,8 +3524,8 @@ bilinear null - 2015 - 2015 + 2014 + 2014 2101 0