Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,9 @@ The table below shows a list of possible entries for ``task_dict`` in the task d
- 0
- Controls the level of information that XIOS logs. Used to set the ``info_level`` within xml files. When ``xios_info_level`` is greater than 1, logging is directed to ``xios_<client/server>_<rank>.out`` and ``xios_<client/server>_<rank>.err``, otherwise it is output to stdout and stderr (see ``xios_print_file`` for more details).
* - xios_print_file
- Str
- "false"
- Controls whether XIOS creates ``xios_<client/server>_<rank>.out`` and ``xios_<client/server>_<rank>.err`` files. When set to "false", logging is directed to stdout and stderr. If ``xios_info_level`` is greater than 1, ``xios_print_file`` will be set to "true".
- Boolean
- False
- Controls whether XIOS creates ``xios_<client/server>_<rank>.out`` and ``xios_<client/server>_<rank>.err`` files. When set to "False", logging is directed to stdout and stderr. If ``xios_info_level`` is greater than 1, ``xios_print_file`` will be set to "True".
Comment on lines +203 to +205

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These docs give the impression that you can set this task option to False but this is not true.

* - example_dir
- Str
- "example"
Expand Down Expand Up @@ -283,4 +283,4 @@ Exceptions

* Perftools can be run over certain applications in lfric_apps, see the compiler section above, and :ref:`perftools_rose-stem`

.. _EXlink: https://www-hpc/ex-user-guide/advice/placement/?h=l1+cache#nodes-diagram
.. _EXlink: https://www-hpc/ex-user-guide/advice/placement/?h=l1+cache#nodes-diagram
8 changes: 8 additions & 0 deletions rose-stem/site/common/lfric_atm/tasks_lfric_atm.cylc
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,8 @@
"xios_nodes": 1,
"mpi_parts_xios" : 64,
"log_level": "info",
"xios_info_level": 1,
"xios_print_file": true,
"plot_str": "plot_map.py $NODAL_DATA_DIR/lfric_diagnostics.nc $PLOT_DIR",
"memory_plot_ex": true,
}) %}
Expand All @@ -230,6 +232,8 @@
"xios_nodes": 1,
"mpi_parts_xios" : 64,
"log_level": "info",
"xios_info_level": 1,
"xios_print_file": true,
"memory_plot_ex": true,
}) %}

Expand Down Expand Up @@ -258,6 +262,8 @@
"wallclock": 10,
"xios_nodes": 4,
"mpi_parts_xios" : 16,
"xios_info_level": 1,
"xios_print_file": true,
}) %}

{% elif task_ns.conf_name == "nwp_gal9_coarse_aero-C48_MG" %}
Expand Down Expand Up @@ -470,6 +476,8 @@
"log_level": "info",
"log_to_rank_zero_only": ".true.",
"memory_plot_ex": true,
"xios_info_level": 1,
"xios_print_file": true,
"plot_str": "plot_map.py $NODAL_DATA_DIR/lfric_diagnostics.nc $PLOT_DIR",
}) %}

Expand Down
4 changes: 2 additions & 2 deletions rose-stem/templates/default_task_definitions.cylc
Original file line number Diff line number Diff line change
Expand Up @@ -193,11 +193,11 @@

{% if "xios_info_level" not in task_dict %}
{% do task_dict.update({"xios_info_level": 0}) %}
{% do task_dict.update({"xios_print_file": "false"}) %}
{% do task_dict.update({"xios_print_file": False}) %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am now worried that this will not work for the same reason stated before. If there is text present in 'xios_print_file' then it will be set to .TRUE. and "False" will count as text.

{% endif %}

{% if "xios_info_level" in task_dict and task_dict["xios_info_level"] > 1 %}
{% do task_dict.update({"xios_print_file": "true"}) %}
{% do task_dict.update({"xios_print_file": True}) %}
{% endif %}

{# If application is lfric_coupled read in default values specific to coupled runs #}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@
'find . -regex ".*PET0+\..+\.Log" -exec cp {} $TASK_OUTPUT_DIR \;',
'ls -sh $TASK_OUTPUT_DIR/results > $ROSE_TASK_LOG_DIR/results_file_sizes.log',
'find . -name timer.txt -exec cp {} $ROSE_TASK_LOG_DIR \;',
'find . -name "xios_client_*.out" -exec cat {} + > $ROSE_TASK_LOG_DIR/xios_client_collated.out ',
'find . -name "xios_server_*.out" -exec cat {} + > $ROSE_TASK_LOG_DIR/xios_server_collated.out ',
'test -f '~task_values["app_name"]~
'-checksums.txt && cp $CYLC_TASK_WORK_DIR/'~
task_values["app_name"]~'-checksums.txt $TASK_OUTPUT_DIR/checksum.txt',
Expand Down Expand Up @@ -138,7 +140,7 @@
xios_nodes = {{task_values["xios_nodes"]}}
mpi_parts_xios = {{task_values["mpi_parts_xios"]}}
XIOS_INFO_LEVEL = {{task_values['xios_info_level']}}
XIOS_PRINT_FILE = {{task_values['xios_print_file']}}
XIOS_PRINT_FILE = {{".TRUE." if task_values['xios_print_file'] else ".FALSE."}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is checking whether there is anything present for 'xios_print_file', I would also update the documentation to reflect this. Otherwise, it may lead to confusion when users try to set this to 'false' and it doesn't work.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks Oakley Brunt (@oakleybrunt)
i agree, this would no longer be consistent

i've updated teh docs and defaults to use this as a Boolean and then this logic holds, i think

returned to you for re-consideration

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this needs to be thought about more carefully. The truthy value of a dictionary key containing a string of length >0 is True.

I would suggest either updating the documentation to reflect the current logic (that any value for 'xios_print_file' will result in TRUE).

or

Updating the docs to instruct users to use a suitable format for their values (e.g. .true. and .false.) and undoing this change to generate runtime. Then the onus is on them to use correct syntax.

I would recommend the second option since the first is not consistent with the majority of task options. But, the choice is yours, both are fine with me.

PAT_EXE_EXTEN = {{PAT_EXE_EXTEN}}
CORES_PER_NODE_OVERRIDE = {{task_values["task_ranks_per_node"]}}
RANKS_DEPTH_PAD = {{task_values["task_ranks_depth_pad"]}}
Expand Down
Loading