Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analysis updates #11

Draft
wants to merge 72 commits into
base: main
Choose a base branch
from

Conversation

ceblanton
Copy link
Contributor

@ceblanton ceblanton commented Aug 19, 2024

  1. Add build and publish graph for analysis scripts that specify them; done
  2. Generate catalog before running analysis; done
  3. Remove mdtf as a standalone task; done
  4. Add build and publish task definitions; not quite working
  5. Use analysis yaml instead of the analysis/rose-app.conf

Chris Blanton and others added 20 commits July 12, 2024 17:13
But only for analysis scripts that use timeseries.
…ions

For now, keep the task definition in flow.cylc but it can be elsewhere.
@ceblanton
Copy link
Contributor Author

tmprcwu45qs

do analysis only option turned on

@ceblanton
Copy link
Contributor Author

tmpxqnz0v9t

do analysis only option turned off. normal graph, a bit overwhelming

3 years for both

Chris Blanton and others added 24 commits January 6, 2025 17:49
- P1Y script freq, not cumulative
- P1Y script freq, cumulative
- R1 script freq
…-script.

Remaining rose apps should set the definition themselves.
- move module loads to ppan site file
- install analysis virtual envs to a subdirectory
- add one more fre analysis env var expected by scripts
- install analysis envs in a subdirectory
- parse legacy analysis script options
Non-accumulative timeaverage requests must conform to one of the chunks
in order to pass a single time to the script in "in_data_file"
…d Bronx frequency mappings for AM5 scripts
Set them to yr1 and yr2, though they have different meaning in Bronx
in order to choose the most appropriate one for each script.
Copy link
Member

@ilaflott ilaflott left a comment

Choose a reason for hiding this comment

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

not going to approve/disapprove quite yet cause this is still a draft- but wanted to provide some prelim feedback!

app/regrid-xy/rose-app.conf Outdated Show resolved Hide resolved
app/remap-pp-components/rose-app.conf Outdated Show resolved Hide resolved
@@ -1,5 +1,8 @@
#!jinja2

{# fre version should be programatically set, not hard-coded. #}
{% set FRE_VERSION = 2025.01 %}
Copy link
Member

Choose a reason for hiding this comment

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

this is a "fine-for-now". In the future, a Jinja2Filter should assign this via import fre; fre.version;

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Great point, thank you. You make it sound quite doable! We should do it right away if it's only three words like that.

# When the stall timeout is reached, a stalled workflow will exit
# and remove the /xtmp working directory.
[[events]]
stall timeout = P1W
Copy link
Member

Choose a reason for hiding this comment

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

one week seems a bit long

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The whole notion of this Cylc workflow setting, the stall timer, is a bit opaque and we haven't mentioned it anywhere (yet).

I think we need to add two emailing mechanisms: one to email when the workflow has stalled, with guidance for what to do, and if they don't the workflow will shut down. Then, another email when the workflow actually shutdown (and the workflow workdir is then removed).

rose-suite.conf Outdated Show resolved Hide resolved
{{ EPMT_POSTAMBLE }}
"""
[[STAGE-HISTORY]]
env-script = """
{{ EPMT_PREAMBLE }}
epmt annotate EPMT_JOB_TAGS="exp_name:{{ EXPERIMENT }};exp_fre_mod:canopy;exp_platform:{{ PLATFORM }};exp_target:{{ TARGET }};exp_component:stage-history;exp_component_source:PLACE_HOLDER;exp_time:$CYLC_TASK_CYCLE_POINT;exp_seg_months:{{ HISTORY_SEGMENT }};pp_chunk_a_months:{{ MOS_PER_CHUNK_A }};pp_chunk_b_months:{{ MOS_PER_CHUNK_B }};script_name:$CYLC_TASK_NAME;exp_run_uuid:$CYLC_WORKFLOW_UUID"
epmt annotate EPMT_JOB_TAGS="exp_name:{{ EXPERIMENT }};exp_fre_mod:{{ FRE_VERSION }};exp_platform:{{ PLATFORM }};exp_target:{{ TARGET }};exp_component:stage-history;exp_component_source:PLACE_HOLDER;exp_time:$CYLC_TASK_CYCLE_POINT;exp_seg_months:{{ HISTORY_SEGMENT }};pp_chunk_a_months:{{ MOS_PER_CHUNK_A }};pp_chunk_b_months:{{ MOS_PER_CHUNK_B }};script_name:$CYLC_TASK_NAME;exp_run_uuid:$CYLC_WORKFLOW_UUID"
{{ EPMT_POSTAMBLE }}
"""
pre-script = module load gcp/2.3 hsm/test
Copy link
Member

Choose a reason for hiding this comment

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

this line still causes an error, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Embarrassingly, I don't know, since I think we're using the default job runner.

We should be using the epmt job runner, and fixing anything that doesn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants