esm-tools / esm_runscripts

GNU General Public License v2.0
3 stars 5 forks source link

Model executable vs model name #11

Open joakimkjellsson opened 4 years ago

joakimkjellsson commented 4 years ago

Hi y'all

I started working on focioifs (OpenIFS+NEMO+XIOS+Runoffmapper) and realised that the way ESM-Tools are written we assume that the executable name, i.e. what is generated when compiling, is the same as the model name when OASIS_INIT_COMP is called and what is written under "NBMODEL" in namcouple.

Typically I would write

$NBMODEL
3 oceanx oifs rnfma
$END

in namcouple, but the executables are named "nemo.exe", "master.exe" and "rnfmap.exe". But now I get

$NBMODEL
3 oceanx master.exe rnfmap.exe
$END

in the namcouple file and OASIS can't connect these names with what is sent to OASIS_INIT_COMP from the models.

Is there a way to specify a model name under NBMODEL that is not the same as the executable name?

Cheers Joakim

seb-wahl commented 4 years ago

I had the same problem with FOCI and just renamed the exectutable (nemo.exe --> oceanx) after compilation. See setup2models.yaml

pgierz commented 4 years ago

Hi guys...currently, the coupler is hard coded to use the name under executable. We can change that to allow the configuration to also specify a coupler name, which would be used if defined, and otherwise it will use the executable name.

@joakimkjellsson: do you have a preference? coupler_name? You'd have to put in your OpenIFS.yaml:

model: oifs
#... other stuff ...
coupler_name: oifs
executable: master.exe
joakimkjellsson commented 4 years ago

Hi Paul Something like "coupler_name" would make a lot of sense! Cheers Joakim

pgierz commented 3 years ago

(1.5 years later...) Did this ever get taken care of? I am making my to-do list for next week. If not, I will add it for Monday.

joakimkjellsson commented 3 years ago

Hi Paul

I don't think so. Currently we do what @seb-wahl said, i.e. rename the executables. It's not a priority to solve this as far as I'm concerned, but if it's a fast fix, then I recommend using the "coupler_name" as above, and setting it to be e.g. "oifs", "oceanx" etc by default to make sure nothing breaks.

Cheers Joakim