ESMCI / cmeps-cime

This is a "fork" of the cime repository that has the development version of the nuopc CMEPS driver and mediator
Other
0 stars 0 forks source link

new field specifications for cesm, nems-orig and nems-frac #66

Closed mvertens closed 5 years ago

mvertens commented 5 years ago

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 -

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

rsdunlapiv commented 5 years ago

@mvertens Can you please list the component git hashes/branches used for this?