Skip to content

Commit 01194c2

Browse files
authored
Merge pull request #4652 from jedwards4b/maint-5.6_vista_port
Maint 5.6 vista port
2 parents 1d99a89 + a9fcdad commit 01194c2

File tree

6 files changed

+78
-11
lines changed

6 files changed

+78
-11
lines changed

.github/workflows/srt.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,6 @@ jobs:
9494
9595
# the following can be used by developers to login to the github server in case of errors
9696
# see https://github.com/marketplace/actions/debugging-with-tmate for further details
97-
- name: Setup tmate session
98-
if: ${{ failure() }}
99-
uses: mxschmitt/action-tmate@v3
97+
# - name: Setup tmate session
98+
# if: ${{ failure() }}
99+
# uses: mxschmitt/action-tmate@v3

config/cesm/machines/config_batch.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,20 @@
706706
</queues>
707707
</batch_system>
708708

709+
<batch_system MACH="vista" type="slurm" >
710+
<batch_submit>ssh login1.vista.tacc.utexas.edu sbatch </batch_submit>
711+
<jobid_pattern>Submitted batch job (\d+)$</jobid_pattern>
712+
<submit_args>
713+
<arg flag="--time" name="$JOB_WALLCLOCK_TIME"/>
714+
<arg flag="-p" name="$JOB_QUEUE"/>
715+
<arg flag="--account" name="$PROJECT"/>
716+
</submit_args>
717+
<queues>
718+
<queue walltimemax="2:00:00" nodemin="1" nodemax="32" default="true">gg</queue>
719+
<queue walltimemax="2:00:00" nodemin="1" nodemax="29">gg-4k</queue>
720+
</queues>
721+
</batch_system>
722+
709723
<batch_system MACH="zeus" type="lsf">
710724
<batch_env>-env</batch_env>
711725
<submit_args>

config/cesm/machines/config_compilers.xml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ using a fortran linker.
311311
<SFC> nagfor </SFC>
312312
</compiler>
313313

314-
<compiler COMPILER="pgi">
314+
<compiler COMPILER="nvhpc">
315315
<CFLAGS>
316316
<base> -gopt -time </base>
317317
<append compile_threaded="true"> -mp </append>
@@ -615,19 +615,23 @@ using a fortran linker.
615615
</CFLAGS>
616616
</compiler>
617617

618-
<compiler MACH="bluewaters" COMPILER="pgi">
618+
<compiler MACH="vista" COMPILER="nvhpc">
619619
<CFLAGS>
620620
<append DEBUG="FALSE"> -O2 </append>
621621
<append> -nofma </append>
622622
</CFLAGS>
623623
<CXX_LIBS>
624-
<base> -lmpichf90_pgi $ENV{PGI_PATH}/linux86-64/$ENV{PGI_VERSION}/lib/f90main.o </base>
624+
<base> </base>
625625
</CXX_LIBS>
626626
<FFLAGS>
627627
<append DEBUG="FALSE"> -O2 </append>
628628
<append> -nofma </append>
629629
</FFLAGS>
630630
<SUPPORTS_CXX>TRUE</SUPPORTS_CXX>
631+
<SLIBS>
632+
<append> -Wl,-rpath,$(NETCDF_PATH)/lib -L$ENV{NETCDF_PATH}/lib -lnetcdff -lnetcdf </append>
633+
<append MPILIB="openmpi"> -Wl,-rpath,$(PNETCDF_PATH)/lib -L$ENV{PNETCDF_PATH}/lib -lpnetcdf</append>
634+
</SLIBS>
631635
</compiler>
632636

633637

config/cesm/machines/config_machines.xml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2890,6 +2890,55 @@ This allows using a different mpirun command to launch unit tests
28902890
</module_system>
28912891
</machine>
28922892

2893+
<machine MACH="vista">
2894+
<DESC>Grace Hopper ARM TACC , batch system is SLURM</DESC>
2895+
<NODENAME_REGEX>.*.vista.tacc.utexas.edu</NODENAME_REGEX>
2896+
<OS>LINUX</OS>
2897+
<COMPILERS>nvhpc,gnu</COMPILERS>
2898+
<MPILIBS>openmpi</MPILIBS>
2899+
<CIME_OUTPUT_ROOT>$ENV{SCRATCH}</CIME_OUTPUT_ROOT>
2900+
<DIN_LOC_ROOT>/work2/02503/edwardsj/CESM/inputdata</DIN_LOC_ROOT>
2901+
<DIN_LOC_ROOT_CLMFORC>/work2/02503/edwardsj/CESM/inputdata/lmwg</DIN_LOC_ROOT_CLMFORC>
2902+
<DOUT_S_ROOT>$CIME_OUTPUT_ROOT/archive/$CASE</DOUT_S_ROOT>
2903+
<BASELINE_ROOT>/work2/02503/edwardsj/CESM/cesm_baselines</BASELINE_ROOT>
2904+
<CCSM_CPRNC>/work2/02503/edwardsj/CESM/cime/tools/cprnc/cprnc.vista</CCSM_CPRNC>
2905+
<GMAKE_J>4</GMAKE_J>
2906+
<BATCH_SYSTEM>slurm</BATCH_SYSTEM>
2907+
<SUPPORTED_BY></SUPPORTED_BY>
2908+
<MAX_TASKS_PER_NODE>144</MAX_TASKS_PER_NODE>
2909+
<MAX_MPITASKS_PER_NODE>144</MAX_MPITASKS_PER_NODE>
2910+
<mpirun mpilib="openmpi">
2911+
<executable>mpirun</executable>
2912+
<arguments>
2913+
<arg name="num_tasks"> -np {{ total_tasks }}</arg>
2914+
</arguments>
2915+
</mpirun>
2916+
<module_system type="module">
2917+
<init_path lang="perl">/opt/apps/lmod/lmod/init/perl</init_path>
2918+
<init_path lang="python">/opt/apps/lmod/lmod/init/env_modules_python.py</init_path>
2919+
<init_path lang="sh">/opt/apps/lmod/lmod/init/sh</init_path>
2920+
<init_path lang="csh">/opt/apps/lmod/lmod/init/csh</init_path>
2921+
<cmd_path lang="perl">/opt/apps/lmod/lmod/libexec/lmod perl</cmd_path>
2922+
<cmd_path lang="python">/opt/apps/lmod/lmod/libexec/lmod python</cmd_path>
2923+
<cmd_path lang="sh">module</cmd_path>
2924+
<cmd_path lang="csh">module</cmd_path>
2925+
<modules>
2926+
<command name="purge"></command>
2927+
<command name="load">TACC</command>
2928+
<command name="load">nvidia</command>
2929+
</modules>
2930+
<modules mpilib="openmpi">
2931+
<command name="load">openmpi/5.0.3</command>
2932+
</modules>
2933+
</module_system>
2934+
<environment_variables>
2935+
<env name="OMP_STACKSIZE">256M</env>
2936+
<env name="NETCDF_PATH">/scratch/00422/cazes/vista_netcdf_install/netcdf_4.9.2_nvhpc/</env>
2937+
<env name="PNETCDF_PATH">/scratch/00422/cazes/vista_netcdf_install/pnetcdf_1.12.3_nvhpc/</env>
2938+
</environment_variables>
2939+
</machine>
2940+
2941+
28932942
<machine MACH="zeus">
28942943
<DESC> CMCC Lenovo ThinkSystem SD530, os is Linux, 36 pes/node, batch system is LSF</DESC>
28952944
<NODENAME_REGEX>(login[1,2]-ib|n[0-9][0-9][0-9]-ib)</NODENAME_REGEX>

scripts/lib/CIME/XML/env_batch.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,7 @@ def _submit_single_job(self, case, job, dep_jobs=None, allow_fail=False,
603603
if batch_system is None or batch_system == "none" or no_batch:
604604
logger.info("Starting job script {}".format(job))
605605
function_name = job.replace(".", "_")
606-
job_name = "."+job
606+
job_name = os.path.join(self._caseroot,job)
607607
if not dry_run:
608608
args = self._build_run_args(job, True, skip_pnl=skip_pnl, set_continue_run=resubmit_immediate,
609609
submit_resubmits=not resubmit_immediate)
@@ -688,16 +688,16 @@ def _submit_single_job(self, case, job, dep_jobs=None, allow_fail=False,
688688
if batch_system == 'lsf' and batch_env_flag == 'none':
689689
sequence = (run_args, batchsubmit, submitargs, batchredirect, get_batch_script_for_job(job))
690690
elif batch_env_flag:
691-
sequence = (batchsubmit, submitargs, run_args, batchredirect, get_batch_script_for_job(job))
691+
sequence = (batchsubmit, submitargs, run_args, batchredirect, os.path.join(self._caseroot,get_batch_script_for_job(job)))
692692
else:
693-
sequence = (batchsubmit, submitargs, batchredirect, get_batch_script_for_job(job), run_args)
693+
sequence = (batchsubmit, submitargs, batchredirect, os.path.join(self._caseroot,get_batch_script_for_job(job)), run_args)
694694

695695
submitcmd = " ".join(s.strip() for s in sequence if s is not None)
696696
if dry_run:
697697
return submitcmd
698698
else:
699699
logger.info("Submitting job script {}".format(submitcmd))
700-
output = run_cmd_no_fail(submitcmd, combine_output=True)
700+
s, output, _ = run_cmd(submitcmd, combine_output=True)
701701
jobid = self.get_job_id(output)
702702
logger.info("Submitted job id is {}".format(jobid))
703703
return jobid

scripts/lib/CIME/provenance.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def _save_build_provenance_cesm(case, lid): # pylint: disable=unused-argument
8383
manic = os.path.join("manage_externals","checkout_externals")
8484
manic_full_path = os.path.join(srcroot, manic)
8585
out = None
86-
if os.path.exists(manic_full_path):
86+
if shutil.which('svn') and os.path.exists(manic_full_path):
8787
args = " --status --verbose --no-logging"
8888
stat, out, err = run_cmd(manic_full_path + args, from_dir=srcroot)
8989
errmsg = """Error gathering provenance information from manage_externals.

0 commit comments

Comments
 (0)