Skip to content

single_column logic in buildnml is incorrect #676

Description

@billsacks

I noticed that the test SMS_Ln9_P1.T42_T42.2000_DATM%QIA_SLND_SICE_DOCN%DOM_SROF_SGLC_SWAV.derecho_intel.datm-scam is incorrectly (I think) keeping ATM_NX and ATM_NY set to their global (full domain) values rather than setting them to 1. That appears to be due to a bug in CDEPS (ESCOMP/CDEPS#419), but I think there's a similar bug in CMEPS:

The logic here for single_column appears incorrect:

CMEPS/cime_config/buildnml

Lines 96 to 106 in e976799

# determine if need to set atm_domainfile
scol_lon = float(case.get_value("PTS_LON"))
scol_lat = float(case.get_value("PTS_LAT"))
if (
scol_lon > -999.0
and scol_lat > -999.0
and case.get_value("ATM_DOMAIN_FILE") != "UNSET"
):
config["single_column"] = "true"
else:
config["single_column"] = "false"

Specifically: there is no ATM_DOMAIN_FILE variable. Based on #164, I have a feeling this is supposed to refer to PTS_DOMAINFILE, but I'm not sure about this. @mvertens agrees that it looks like this is an issue.

I don't have enough familiarity with the subtleties of single-column mode to know what's right here, so I'm hoping that someone with more familiarity can look at this. This should include:

  • Checking whether single-column mode is currently working correctly despite this issue
  • Coming up with a fix that correctly determines single_column mode and differentiates it from a single point run (see notes in new CESM single/column single/point functionality #164)
  • Confirming that the fixed code works correctly

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions