Skip to content

Commit

Permalink
Update CIME to ESMCI cime5.7.3-2 (PR #2599)
Browse files Browse the repository at this point in the history
Squash merge of jgfouca/branch-for-to-acme-2018-10-26

Features:
* HUGE: new nuopc driver, capability for CIME to support multiple drivers
* Improve continue run checks in case_submit
* Add FUNIT fake test, makes it easy to run fortran unit tests
* xmlchange: Give user guidance on what to do next
* Propagate logging settings to submitted jobs
* query-config: add the list of supported mpilibs to the --machine output

Bug Fixes:
* Dont hide ctest output in run_tests.py
* Don't exceed maximum MPI tag value
* Fix floating-point mpiprocs for Python 3

[BFB]
  • Loading branch information
jgfouca committed Nov 9, 2018
1 parent d368a96 commit 53700fb
Show file tree
Hide file tree
Showing 11 changed files with 1,228 additions and 1,266 deletions.
4 changes: 4 additions & 0 deletions driver-mct/cime_config/buildexe
Expand Up @@ -32,8 +32,12 @@ def _main_func():
gmake_j = case.get_value("GMAKE_J")
model = case.get_value("MODEL")
num_esp = case.get_value("NUM_COMP_INST_ESP")
ocn_model = case.get_value("COMP_OCN")
os.environ["PIO_VERSION"] = str(case.get_value("PIO_VERSION"))

if ocn_model == 'mom':
os.environ["USE_FMS"] = "TRUE"

expect((num_esp is None) or (int(num_esp) == 1), "ESP component restricted to one instance")


Expand Down
4 changes: 2 additions & 2 deletions driver-mct/cime_config/buildnml
Expand Up @@ -50,6 +50,7 @@ def _create_drv_namelists(case, infile, confdir, nmlgen, files):
config['timer_level'] = 'pos' if case.get_value('TIMER_LEVEL') >= 1 else 'neg'
config['bfbflag'] = 'on' if case.get_value('BFBFLAG') else 'off'
config['continue_run'] = '.true.' if case.get_value('CONTINUE_RUN') else '.false.'
config['atm_grid'] = case.get_value('ATM_GRID')

if case.get_value('RUN_TYPE') == 'startup':
config['run_type'] = 'startup'
Expand Down Expand Up @@ -113,7 +114,6 @@ def _create_drv_namelists(case, infile, confdir, nmlgen, files):
atmdt = int(basedt / case.get_value('ATM_NCPL'))
expect(atmdt == mindt, 'Active atm should match shortest model timestep atmdt={} mindt={}'
.format(atmdt, mindt))


#--------------------------------
# Overwrite: set start_ymd
Expand Down Expand Up @@ -362,7 +362,7 @@ def buildnml(case, caseroot, component):
expect (os.path.isdir(user_xml_dir),
"user_xml_dir {} does not exist ".format(user_xml_dir))

files = Files()
files = Files(comp_interface="mct")
definition_file = [files.get_value("NAMELIST_DEFINITION_FILE", {"component": "drv"})]

user_definition = os.path.join(user_xml_dir, "namelist_definition_drv.xml")
Expand Down
10 changes: 10 additions & 0 deletions driver-mct/cime_config/config_component.xml
Expand Up @@ -2687,6 +2687,16 @@
<desc>whether the PROJECT value is required on this machine</desc>
</entry>

<entry id="COMPARE_TO_NUOPC">
<type>logical</type>
<valid_values>TRUE,FALSE</valid_values>
<default_value>FALSE</default_value>
<group>comparison_to_nuopc</group>
<file>env_build.xml</file>
<desc>TRUE=>turn on CPP variable COMPARE_TO_NUOPC</desc>
</entry>


<help>
=========================================
Notes:
Expand Down
30 changes: 11 additions & 19 deletions driver-mct/cime_config/config_component_cesm.xml
Expand Up @@ -70,7 +70,7 @@
<group>run_flags</group>
<file>env_run.xml</file>
<desc>
integer indicating maximum detail level to profile. This xml
integer indicating maximum detail level to profile. This xml
variable is used to set the namelist variable
timing_detail_limit. This namelist variable is used by perf_mod
(in $CIMEROOT/src/share/timing/perf_mod.F90) to turn timers off
Expand All @@ -79,10 +79,6 @@
timer detail level is incremented by 1 and compared to the
time_detail_limit obtained from the namelist. If the limit is
exceeded then the timer is turned off.




</desc>
</entry>

Expand Down Expand Up @@ -405,23 +401,22 @@

<entry id="CPL_SEQ_OPTION">
<type>char</type>
<valid_values>CESM1_ORIG,CESM1_ORIG_TIGHT,CESM1_MOD,CESM1_MOD_TIGHT,RASM_OPTION1,RASM_OPTION2</valid_values>
<valid_values>CESM1_MOD,CESM1_MOD_TIGHT,RASM_OPTION1,RASM_OPTION2,NUOPC,NUOPC_TIGHT</valid_values>
<default_value>CESM1_MOD_TIGHT</default_value>
<values match="last">
<value compset="_DATM.*_DOCN%SOM" >CESM1_MOD</value>
<value compset="_POP2" >CESM1_MOD</value>
<value compset="_POP2" grid="oi%gx1v6" >RASM_OPTION1</value>
<value compset="_POP2" grid="oi%gx1v7" >RASM_OPTION1</value>
<value compset="_DATM%NYF.*_SLND.*_DICE.*_DOCN">CESM1_MOD</value>
<value compset="_XATM.*_XLND.*_XICE.*_XOCN">CESM1_MOD</value>
<value compset="_SOCN" >CESM1_MOD</value>
<value compset="_MPAS" >CESM1_MOD</value>
<value compset="_DATM.*_DOCN%SOM" >CESM1_MOD</value>
<value compset="_POP2" >CESM1_MOD</value>
<value compset="_POP2" grid="oi%gx1v6" >RASM_OPTION1</value>
<value compset="_POP2" grid="oi%gx1v7" >RASM_OPTION1</value>
<value compset="_DATM%NYF.*_SLND.*_DICE.*_DOCN" >CESM1_MOD</value>
<value compset="_XATM.*_XLND.*_XICE.*_XOCN" >CESM1_MOD</value>
<value compset="_SOCN" >CESM1_MOD</value>
<value compset="_MPAS" >CESM1_MOD</value>
</values>
<group>run_coupling</group>
<file>env_run.xml</file>
<desc>
Coupler sequencing option. This is used to set the driver namelist variable cpl_seq_option.
CESM1_ORIG is the cesm1.1 implementation.
CESM1_MOD includes a cesm1.3 mod that swaps ocean merging and atm/ocn flux
computation.
RASM_OPTION1 runs prep ocean before the ocean coupling reducing
Expand All @@ -430,10 +425,7 @@
RASM_OPTION2 is similar to RASM_OPTION1
but sequences the ice model, prep ocean and ocean model in that order. The
ocean model loses some of the concurrency with the ice model.
CESM1_ORIG_TIGHT and CESM1_MOD_TIGHT are consistent with the old variables
ocean_tight_coupling = true in the driver. That namelist is gone and the
cpl_seq_option flags take it's place.
TIGHT coupling makes no sense with the OPTION5 and OPTION6 flags.
CESM1_MOD_TIGHT are consistent with the old variables ocean_tight_coupling = true in the driver.
</desc>
</entry>

Expand Down
15 changes: 12 additions & 3 deletions driver-mct/cime_config/namelist_definition_drv.xml
Expand Up @@ -705,7 +705,10 @@
Setting this to zero will always do flux_max_iteration
</desc>
<values>
<value cime_model='cesm'>0.0</value>
<!-- the value for f09 grids is maintained as 0.0 for compatibility with cmip6 experiments
the 1% convergence criteria improves performance of the atm ocn flux calculation in shr_flux_mod.F90 -->
<value cime_model='cesm'>0.01</value>
<value cime_model='cesm' atm_grid="0.9x1.25">0.0</value>
<value cime_model='e3sm'>0.0</value>
</values>
</entry>
Expand Down Expand Up @@ -916,7 +919,7 @@
<type>char</type>
<category>expdef</category>
<group>seq_infodata_inparm</group>
<valid_values>CESM1_ORIG,CESM1_MOD,CESM1_ORIG_TIGHT,CESM1_MOD_TIGHT,RASM_OPTION1,RASM_OPTION2</valid_values>
<valid_values>CESM1_MOD,CESM1_MOD_TIGHT,RASM_OPTION1,RASM_OPTION2,NUOPC,NUOPC_TIGHT</valid_values>
<desc>
Set the coupler sequencing.
</desc>
Expand Down Expand Up @@ -1161,7 +1164,13 @@
<category>history</category>
<group>seq_infodata_inparm</group>
<desc>
turns on coupler history stream for instantaneous runoff to coupler fields.
turns on coupler history stream for average* runoff to coupler fields
(*despite the lack of an averaging time span in the name).
Files are written at time-of-day = 00000, and at the end of the run interval,
even if that time is not 00000.
Run length less than 24 hours; averaging period is the run length,
Otherwise; averaging period is 24 hours for files before the last (partial) day,
averaging period is the last (partial) day for the last file.
default: false
</desc>
<values>
Expand Down

0 comments on commit 53700fb

Please sign in to comment.