Dependencies

Dependency graphs for zppy tasks and subtasks:

../_images/dependencies_main.png ../_images/dependencies_trivial.png

Graphs generated by Claude based on the Mermaid code below.

Main connected component:

 1%%{init: {'flowchart': {'htmlLabels': true, 'wrappingWidth': 260, 'nodeSpacing': 60, 'rankSpacing': 80}}}%%
 2flowchart LR
 3
 4    %% Subtasks (vertices)
 5    climo_month_lnd["climo: monthly, lnd"]
 6    ts_month_atm["ts: monthly, atm"]
 7    ts_month_lnd["ts: monthly, lnd"]
 8    e3sm_to_cmip_month_atm["e3sm_to_cmip: monthly, atm"]
 9    e3sm_to_cmip_month_lnd["e3sm_to_cmip: monthly, lnd"]
10    e3sm_diags_climo_month_lnd["e3sm_diags: lat_lon_land"]
11    e3sm_diags_ts_month_atm["e3sm_diags: enso_diags, qbo,<br/>area_mean_time_series, mp_partition"]
12    ilamb_lnd_atm["ilamb: lnd &amp; atm"]
13    ilamb_lnd_only["ilamb: lnd only"]
14    livvkit["livvkit<br/>NOTE: Specify mapping files"]
15    pcmdi_diags_mean_climate["pcmdi_diags: mean_climate"]
16    pcmdi_diags_variability_modes_atm["pcmdi_diags: variability_modes_atm"]
17    pcmdi_diags_variability_modes_cpl["pcmdi_diags: variability_modes_cpl"]
18    pcmdi_diags_enso["pcmdi_diags: enso"]
19    pcmdi_diags_synthetic_plots["pcmdi_diags: synthetic_plots"]
20
21    %% Defined in e3sm_to_cmip.py:
22    ts_month_atm --> e3sm_to_cmip_month_atm
23    ts_month_lnd --> e3sm_to_cmip_month_lnd
24
25    %% Defined in e3sm_diags.py:
26    climo_month_lnd --> e3sm_diags_climo_month_lnd
27    ts_month_atm --> e3sm_diags_ts_month_atm
28
29    %% Defined in ilamb.py:
30    ts_month_atm --> ilamb_lnd_atm
31    ts_month_lnd --> ilamb_lnd_atm
32    ts_month_lnd --> ilamb_lnd_only
33    e3sm_to_cmip_month_atm --> ilamb_lnd_atm
34    e3sm_to_cmip_month_lnd --> ilamb_lnd_atm
35    e3sm_to_cmip_month_lnd --> ilamb_lnd_only
36
37    %% Defined in livvkit.py:
38    climo_month_lnd -->livvkit
39    ts_month_lnd -->livvkit
40
41    %% Defined in pcmdi_diags.py:
42    ts_month_atm --> pcmdi_diags_mean_climate
43    ts_month_atm --> pcmdi_diags_variability_modes_atm
44    ts_month_atm --> pcmdi_diags_variability_modes_cpl
45    ts_month_atm --> pcmdi_diags_enso
46    e3sm_to_cmip_month_atm --> pcmdi_diags_mean_climate
47    e3sm_to_cmip_month_atm --> pcmdi_diags_variability_modes_atm
48    e3sm_to_cmip_month_atm --> pcmdi_diags_variability_modes_cpl
49    e3sm_to_cmip_month_atm --> pcmdi_diags_enso
50    pcmdi_diags_mean_climate --> pcmdi_diags_synthetic_plots
51    pcmdi_diags_variability_modes_atm --> pcmdi_diags_synthetic_plots
52    pcmdi_diags_variability_modes_cpl --> pcmdi_diags_synthetic_plots
53    pcmdi_diags_enso --> pcmdi_diags_synthetic_plots
54
55    %% Define colors for each task
56    classDef climoStyle fill:#fde68a,stroke:#b45309,color:#000,padding:14px;
57    classDef tsStyle fill:#bfdbfe,stroke:#1d4ed8,color:#000,padding:14px;
58    classDef cmipStyle fill:#99f6e4,stroke:#0f766e,color:#000,padding:14px;
59    classDef e3smdiagsStyle fill:#c7f9cc,stroke:#15803d,color:#000,padding:14px;
60    classDef ilambStyle fill:#fed7aa,stroke:#c2410c,color:#000,padding:14px;
61    classDef livvkitStyle fill:#a5f3fc,stroke:#0e7490,color:#000,padding:14px;
62    classDef pcmdiStyle fill:#fecaca,stroke:#b91c1c,color:#000,padding:14px;
63
64    %% Group each subtask into a task for coloring
65    class climo_month_lnd climoStyle;
66    class ts_month_atm,ts_month_lnd tsStyle;
67    class e3sm_to_cmip_month_atm,e3sm_to_cmip_month_lnd cmipStyle;
68    class e3sm_diags_climo_month_lnd,e3sm_diags_ts_month_atm e3smdiagsStyle;
69    class ilamb_lnd_atm,ilamb_lnd_only ilambStyle;
70    class livvkit livvkitStyle;
71    class pcmdi_diags_mean_climate,pcmdi_diags_variability_modes_atm,pcmdi_diags_variability_modes_cpl,pcmdi_diags_enso,pcmdi_diags_synthetic_plots pcmdiStyle;

Trivial dependencies:

 1%%{init: {'flowchart': {'htmlLabels': true, 'wrappingWidth': 260, 'nodeSpacing': 60, 'rankSpacing': 80}}}%%
 2flowchart LR
 3
 4    %% Defined in e3sm_diags.py:
 5    climo_month_atm["climo: monthly, atm"] --> e3sm_diags_climo_month_atm["e3sm_diags: lat_lon, zonal_mean_xy,<br/>zonal_mean_2d, polar, cosp_histogram,<br/>meridional_mean_2d, annual_cycle_zonal_mean,<br/>zonal_mean_2d_stratosphere,<br/>aerosol_aeronet, aerosol_budget"]
 6    climo_diurnal_atm["climo: diurnal, atm"] --> e3sm_diags_diurnal["e3sm_diags: diurnal_cycle"]
 7    tc_analysis["tc_analysis"] --> e3sm_diags_tc["e3sm_diags: tc_analysis"]
 8    ts_month_rof["ts: monthly, rof"] --> e3sm_diags_streamflow["e3sm_diags: streamflow"]
 9    ts_daily_atm["ts: daily, atm"] --> e3sm_diags_ts_daily_atm["e3sm_diags: tropical_subseasonal, precip_pdf"]
10
11    %% Defined in mpas_analysis.py:
12    mpas_analysis["mpas_analysis<br/>NOTE: Later year sets depend on earlier runs"] ---> mpas_analysis
13
14    %% Defined in global_time_series.py:
15    ts_month_atm_glb["ts: monthly, atm, glb"] --> global_time_series_classic_atm["global_time_series:<br/>The 5 atm classic plots"]
16    ts_month_atm_glb --> global_time_series_plots_atm["global_time_series:<br/>atm plots"]
17    ts_month_lnd_glb["ts: monthly, lnd, glb"] --> global_time_series_plots_lnd["global_time_series:<br/>lnd plots"]
18    mpas_analysis --> global_time_series_classic_ocn["global_time_series:<br/>The 3 ocn classic plots"]
19    mpas_analysis --> global_time_series_plots_ocn["global_time_series:<br/>ocn plots"]
20    global_time_series_plots_ice["global_time_series:<br/>ice plots (currently unused)"]
21
22    %% Define colors for each task
23    classDef climoStyle fill:#fde68a,stroke:#b45309,color:#000,padding:14px;
24    classDef tsStyle fill:#bfdbfe,stroke:#1d4ed8,color:#000,padding:14px;
25    classDef tcStyle fill:#e5e7eb,stroke:#4b5563,color:#000,padding:14px;
26    classDef e3smdiagsStyle fill:#c7f9cc,stroke:#15803d,color:#000,padding:14px;
27    classDef mpasStyle fill:#fbcfe8,stroke:#be185d,color:#000,padding:14px;
28    classDef gtsStyle fill:#ddd6fe,stroke:#6d28d9,color:#000,padding:14px;
29
30    %% Group each subtask into a task for coloring
31    class climo_month_atm,climo_diurnal_atm climoStyle;
32    class ts_month_rof,ts_daily_atm,ts_month_atm_glb,ts_month_lnd_glb tsStyle;
33    class tc_analysis tcStyle;
34    class e3sm_diags_climo_month_atm,e3sm_diags_diurnal,e3sm_diags_tc,e3sm_diags_streamflow,e3sm_diags_ts_daily_atm e3smdiagsStyle;
35    class mpas_analysis mpasStyle;
36    class global_time_series_classic_ocn,global_time_series_plots_ocn,global_time_series_classic_atm,global_time_series_plots_atm,global_time_series_plots_lnd,global_time_series_plots_ice gtsStyle;