Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shorter paths for case2 using system_tests_compare_two #1919

Merged
merged 4 commits into from
Sep 25, 2017

Conversation

billsacks
Copy link
Member

The recently-changed version of system_tests_compare_two nested case2's
bld and run directories under
$CIME_OUTPUT_ROOT/TESTNAME/case2/TESTNAME. Since the TESTNAME is often
long, this was leading to very long paths to some things in the bld
directory. This was causing some compilation errors.

With this PR, case2's bld and run directories appear in
$CIME_OUTPUT_ROOT/TESTNAME/case2/bld and
$CIME_OUTPUT_ROOT/TESTNAME/case2/run. This shortens the bld directory
paths enough to get some formerly-failing builds to pass. The change in
run directory is just for consistency.

I was hoping to do this just via setting EXEROOT and RUNDIR in
system_tests_compare_two, to avoid cluttering up create_clone with
arguments that are just needed for tests. But it turns out that we need
to do this in create_clone, because create_clone calls case_setup, which
creates the EXEROOT and RUNDIR directories.

Test suite: scripts_regression_tests on cheyenne
Also confirmed that the following tests build successfully:
ERP.f10_f10_musgs.I1850Clm45BgcCru.yellowstone_pgi
ERP_P60x2_Lm36.f10_f10_musgs.I2000Clm50BgcCrop.yellowstone_intel.clm-clm50cropIrrigMonth_interp
Test baseline: N/A
Test namelist changes: none
Test status: bit for bit

Fixes #1914

User interface changes?: none

Update gh-pages html (Y/N)?:

Code review:

Put these under TESTNAME/case2/bld and TESTNAME/case2/run rather than
TESTNAME/case2/TESTNAME/bld and TESTNAME/case2/TESTNAME/run. The latter
location for the bld directory caused too-long path names for some
compilers. While the old run directory location wasn't a problem, we are
changing that, too, so that it continues to live alongside the bld
directory.
Before this change, the case_setup call at the end of create_clone was
creating the EXEROOT and RUNDIR directories (and some other files within
them) in the default location. So we were ending up with directories in
both the default location and the new location.
@billsacks
Copy link
Member Author

@fischer-ncar this fixes some of the build problems you have run into that are due to too-long paths in ERP tests.

@@ -1395,9 +1395,11 @@ def create(self, casename, srcroot, compset_name, grid_name,
logger.warn("Leaving broken case dir {}".format(self._caseroot))

raise
def create_clone(self, newcase, keepexe=False, mach_dir=None, project=None, cime_output_root=None,
user_mods_dir=None):
def create_clone(self, newcase, keepexe=False, mach_dir=None, project=None,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear to me why you added these options to create_clone instead of just setting
EXEROOT and BLDDIR in the _setup section of system_tests_compare_two.py?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the comments I made in the PR:

I was hoping to do this just via setting EXEROOT and RUNDIR in
system_tests_compare_two, to avoid cluttering up create_clone with
arguments that are just needed for tests. But it turns out that we need
to do this in create_clone, because create_clone calls case_setup, which
creates the EXEROOT and RUNDIR directories.

@jedwards4b jedwards4b merged commit 56d71c5 into ESMCI:master Sep 25, 2017
@billsacks billsacks deleted the compare_two_shorter_path branch September 25, 2017 19:14
Copy link
Contributor

@jgfouca jgfouca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve.

jgfouca pushed a commit that referenced this pull request Jan 9, 2018
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
jgfouca pushed a commit that referenced this pull request Feb 23, 2018
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
jgfouca pushed a commit that referenced this pull request Mar 13, 2018
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants