Instead, the conf_command from mpiom.yaml was used, which has no --with-coupler=oasis3-mct. Therefore, a simulation with MPIESM was not possible as it was compiling MPIOM as standalone.
The problem was that no variables from the component sections of the setups are used by esm_master, but this is meant to be like that by design. The solution here allows you to introduce build-changes for coupled setups through the coupling files, instead.
Now it is possible to define variables inside the coupling files, under a dictionary coupled_component_changes, so that changes in the building variables can be performed.
This is how the coupling file mpiom-1.6.3p2+echam-6.3.05p2 for MPIESM looks like now:
Note: It only adds these variables if they already exist in reduced_config. This is done this way to limit the variables that can be defined in the coupled_component_changes to only the ones in relevant_entries (the ones necessary for compilation). Remember, so far the couplings files are only build-related, runtime configurations should go into the setups files.
There was already a possibility to do this through compiletime_environment_changes, so adding a new functionality is not worth it. Therefore, I close this pull request.
While trying to get
MPIESM
to work I realized that the following lines in thempiesm.yaml
were not making it into theconf_command
ofMPIOM
:mpiesm.yaml
Instead, the
conf_command
frommpiom.yaml
was used, which has no--with-coupler=oasis3-mct
. Therefore, a simulation with MPIESM was not possible as it was compiling MPIOM as standalone.The problem was that no variables from the component sections of the setups are used by
esm_master
, but this is meant to be like that by design. The solution here allows you to introduce build-changes for coupled setups through thecoupling
files, instead.Now it is possible to define variables inside the coupling files, under a dictionary
coupled_component_changes
, so that changes in the building variables can be performed.This is how the coupling file
mpiom-1.6.3p2+echam-6.3.05p2
for MPIESM looks like now:Note: It only adds these variables if they already exist in
reduced_config
. This is done this way to limit the variables that can be defined in thecoupled_component_changes
to only the ones inrelevant_entries
(the ones necessary for compilation). Remember, so far thecouplings
files are only build-related,runtime
configurations should go into thesetups
files.