Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Redirect output after job submission

haonanw

Haonan Wu
New Member
I have ported CESM to Clemson University's supercomputer Palmetto following the porting instruction, and I am considering making full use of Palmetto to get better performance. Palmetto differs from other supercomputers that two different types of scratch systems are connected to each node. One is a general-purpose file system, presumably HDD, and the other is a parallel file system, SSD. The HDD folder is visible at all times, but the SSD folder is visible only during the lifetime of the job. This means, to use SSD instead of HDD, it is necessary to redirect the data output to the SSD folder after the job is submitted but before the model run starts, and also, after the model run finishes but before the job ends, move all the data out of the SSD folder. I am wondering how this function can be realized after the proper modifications of the submitting/running scripts. Is there a document clearly stating the workflow of the python "case" class when a job is being submitted?
 

jedwards

CSEG and Liaisons
Staff member
There are hooks provided:
POSTRUN_SCRIPT:
PRERUN_SCRIPT:
use these (using xmlchange) to point to scripts that run immediately before and after the model run while still on the compute processors.
 

haonanw

Haonan Wu
New Member
Sorry for the late reply, I didn't get time to test this idea until recently.

I can use PRERUN_SCRIPT to copy data into the folder that only exists on the computing node. But simply copying data still doesn't work since RUNDIR doesn't point to the new folder. Additionally, setting up an environment variable RUNDIR in PRERUN_SCRIPT doesn't affect the actual RUNDIR used in the execution, which is defined in env_run.xml and sourced after PRERUN_SCRIPT. How can I disable the RUNDIR variable in env_run.xml or let it point to a location that only exists on the computing node?
 

jedwards

CSEG and Liaisons
Staff member
Can you use links so that the RUNDIR on the compute node has the same path as the one on the login node?
 
Top