new esmFldsExchange that permits cesm, nems-orig and nems-frac coupled modes
This PR contains a complete rewrite of the determination of fields exchanged between components, their mappings and mergings of source field(s) to the destination field. The new file cime_flds/esmFldsExchange.F90 now has two phases -
an advertise phase (called from esm.F90)
an initialize phase (called from med.F90)
The initialize phase contains queries to already created field bundles that introduces new flexibility in supporting multiple coupling modes.
In addition all subroutines required to initialize the fldlistto and fldlistfr data structures are now contained in cime_flds/esmFlds.F90 - and are only compiled with the mediator code - and not the share code. So changing these files will not required the re-compilation of all the component files.
Finally, the dead components have been rewritten to permit the overwrite of fields (such as changing the So_omask to 0). Previously, putting in custom changes in dead_nuopc_mod.F90 was not having any effect - so this fixes a bug).
Apologies for the size of this PR. I will try in the future to make smaller ones.
Test suite: default cmeps system tests - testlist_drv.xml
Test baseline: jan11 from jedwards BASELINES
Test namelist changes:
Test status: bit for bit (except for X compset)
Fixes: fixed X compset share code (no issue was raised for this)
User interface changes?: no
Update gh-pages html (Y/N)?:no
Code review: rsdunlapiv
new esmFldsExchange that permits cesm, nems-orig and nems-frac coupled modes
This PR contains a complete rewrite of the determination of fields exchanged between components, their mappings and mergings of source field(s) to the destination field. The new file
cime_flds/esmFldsExchange.F90
now has two phases -(called from esm.F90)
(called from med.F90)
The initialize phase contains queries to already created field bundles that introduces new flexibility in supporting multiple coupling modes.
In addition all subroutines required to initialize the fldlistto and fldlistfr data structures are now contained in cime_flds/esmFlds.F90 - and are only compiled with the mediator code - and not the share code. So changing these files will not required the re-compilation of all the component files.
Finally, the dead components have been rewritten to permit the overwrite of fields (such as changing the So_omask to 0). Previously, putting in custom changes in dead_nuopc_mod.F90 was not having any effect - so this fixes a bug).
Apologies for the size of this PR. I will try in the future to make smaller ones.
Test suite: default cmeps system tests - testlist_drv.xml Test baseline: jan11 from jedwards BASELINES Test namelist changes: Test status: bit for bit (except for X compset)
Fixes: fixed X compset share code (no issue was raised for this) User interface changes?: no Update gh-pages html (Y/N)?:no Code review: rsdunlapiv