diff --git a/cime_config/cam_config.py b/cime_config/cam_config.py index afb298a9..781cb148 100644 --- a/cime_config/cam_config.py +++ b/cime_config/cam_config.py @@ -503,6 +503,10 @@ def __init__(self, case, case_log): "To specify the Kessler and Held-Suarez suites as ", "run time options, use '--physics-suites kessler;held_suarez_1994'."] + #-------------------------- + # Set physics_suites string + #-------------------------- + self.create_config("physics_suites", phys_desc, user_config_opts.physics_suites) @@ -585,7 +589,7 @@ def parse_config_opts(cls, config_opts, test_mode=False): [('analytic_ic', False), ('dyn', 'se'), ('dyn_kind', 'REAL64'), ('phys_kind', 'REAL64'), ('physics_suites', 'kessler')] 5. Check that parse_config_opts works as expected when given both a string and logical argument: - >>> config_opts = ConfigCAM.parse_config_opts("--physics-suites kessler --dyn se --analytic_ic") + >>> config_opts = ConfigCAM.parse_config_opts("--physics-suites kessler --dyn se --analytic-ic") >>> vargs = vars(config_opts) >>> [(x, vargs[x]) for x in sorted(vargs)] [('analytic_ic', True), ('dyn', 'se'), ('dyn_kind', 'REAL64'), ('phys_kind', 'REAL64'), ('physics_suites', 'kessler')] @@ -609,26 +613,38 @@ def parse_config_opts(cls, config_opts, test_mode=False): epilog="Allowed values of "+cco_str) #Add argument options: - parser.add_argument("--physics-suites", "-physics-suites", type=str, - required=True, metavar='', + parser.add_argument("--physics-suites", + type=str, + required=True, + metavar='', help="""Semicolon-separated list of Physics Suite Definition Files (SDFs)""") - parser.add_argument("--dyn", "-dyn", metavar='', - type=str, required=False, default="", + parser.add_argument("--dyn", + type=str, + required=False, + metavar='', + default="", help="""Name of dycore""") - parser.add_argument("--analytic_ic", "-analytic_ic", - action='store_true', required=False, + parser.add_argument("--analytic-ic", + action='store_true', + required=False, help="""Flag to turn on Analytic Initial Conditions (ICs).""") - parser.add_argument("--dyn_kind", "-dyn_kind", - type=str, required=False, default="REAL64", + parser.add_argument("--dyn-kind", + type=str, + required=False, + metavar='', + default="REAL64", help="""Fortran kind used in dycore for type real.""") - parser.add_argument("--phys_kind", "-phys_kind", - type=str, required=False, default="REAL64", + parser.add_argument("--phys-kind", + type=str, + required=False, + metavar='', + default="REAL64", help="""Fortran kind used in physics for type real.""") popts = [opt for opt in config_opts.split(" ") if opt] diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 030c5f87..5162cdbd 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -162,10 +162,10 @@ --physics-suites adiabatic - --physics-suites tj2016 --analytic_ic + --physics-suites tj2016 --analytic-ic - --physics-suites kessler --analytic_ic - --physics-suites held_suarez_1994 --analytic_ic + --physics-suites kessler --analytic-ic + --physics-suites held_suarez_1994 --analytic-ic --dyn none --physics-suites adiabatic diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq_se_cslam_analy_ic/shell_commands b/cime_config/testdefs/testmods_dirs/cam/outfrq_se_cslam_analy_ic/shell_commands index 97df00e3..17d353c9 100644 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq_se_cslam_analy_ic/shell_commands +++ b/cime_config/testdefs/testmods_dirs/cam/outfrq_se_cslam_analy_ic/shell_commands @@ -1,2 +1,2 @@ ./xmlchange CAM_LINKED_LIBS=" " -./xmlchange --append CAM_CONFIG_OPTS="--analytic_ic" +./xmlchange --append CAM_CONFIG_OPTS="--analytic-ic" diff --git a/test/unit/test_cam_config.py b/test/unit/test_cam_config.py index bad32f5f..da994535 100644 --- a/test/unit/test_cam_config.py +++ b/test/unit/test_cam_config.py @@ -67,7 +67,7 @@ def __init__(self): "COMP_ATM" : "cam", "EXEROOT" : "/some/made-up/path", "CASEROOT" : "/another/made-up/path", - "CAM_CONFIG_OPTS" : "-dyn none --physics-suites mango;papaya", + "CAM_CONFIG_OPTS" : "--dyn none --physics-suites mango;papaya", "COMP_ROOT_DIR_ATM" : "/a/third/made-up/path", "CAM_CPPDEFS" : "UNSET", "NTHRDS_ATM" : 1,