Whitcomb, Mr. Tim
unread,Jan 24, 2019, 2:14:17 PM1/24/19Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to cy...@googlegroups.com
I'm very interested in using the "extra log files" config option to allow for logfile access via the Cylc interface rather than hunting through directory paths. For most tasks, this is relatively straightforward as I can just redirect the executable log output to something like ${CYLC_TASK_LOG_ROOT}.log
There's one case, though, where this isn't as clean and I'm looking for a solution:
The forecast model writes out a log file that is currently placed under
$CYLC_SUITE_SHARE_DIR/dynamic/$CYLC_TASK_CYCLE_POINT/logs
This is done so that other tasks (e.g. a log watcher emitting messages back to the suite controller about model progression) can have a consistent place to look for the log file and (most importantly) not need to know the name of the task that was responsible for the forecast model execution[*]
Unfortunately, the extra log files require that the file reside in the $CYLC_TASK_LOG_DIR directory, which is linked to the task name. I thought about having a post-script/err-script copy or link the log file from the share directory, but some users have let me know that they like to be able to see the log file as the task is running, which means that the linkage would need to happen at the beginning, rather than the end, of a task.
Are there any suggestions/best practices for how to handle this? I see there are some tricks with "tee" sending output to multiple files, but that would result in the log being duplicated, instead of linked.
Tim
[*] The reason for several tasks is to allow for cold start forecasts as well as short (06Z/18Z cycles) and long (00Z/12Z cycles) forecasts with different task names (and therefore different options resource requirements set) even though the forecast model underlying the tasks is the same, and the watcher doesn't care about short/long/etc (for now).