Ovewh/ACP-haugvaldstad-et-al-2025
Source code for the analysis related to Haugvaldstad et al 2025, ACP
Overview
Topics:
Latest release: haugvaldstad-et-al-preprint-release, Last update: 2025-03-04
Linting: linting: failed, Formatting: formatting: failed
Deployment
Step 1: Install Snakemake and Snakedeploy
Snakemake and Snakedeploy are best installed via the Mamba package manager (a drop-in replacement for conda). If you have neither Conda nor Mamba, it is recommended to install Miniforge. More details regarding Mamba can be found here.
When using Mamba, run
mamba create -c conda-forge -c bioconda --name snakemake snakemake snakedeploy
to install both Snakemake and Snakedeploy in an isolated environment. For all following commands ensure that this environment is activated via
conda activate snakemake
Step 2: Deploy workflow
With Snakemake and Snakedeploy installed, the workflow can be deployed as follows. First, create an appropriate project working directory on your system and enter it:
mkdir -p path/to/project-workdir
cd path/to/project-workdir
In all following steps, we will assume that you are inside of that directory. Then run
snakedeploy deploy-workflow https://github.com/Ovewh/ACP-haugvaldstad-et-al-2025 . --tag haugvaldstad-et-al-preprint-release
Snakedeploy will create two folders, workflow
and config
. The former contains the deployment of the chosen workflow as a Snakemake module, the latter contains configuration files which will be modified in the next step in order to configure the workflow to your needs.
Step 3: Configure workflow
To configure the workflow, adapt config/config.yml
to your needs following the instructions below.
Step 4: Run workflow
The deployment method is controlled using the --software-deployment-method
(short --sdm
) argument.
To run the workflow with automatic deployment of all required software via conda
/mamba
, use
snakemake --cores all --sdm conda
Snakemake will automatically detect the main Snakefile
in the workflow
subfolder and execute the workflow module that has been defined by the deployment in step 2.
For further options such as cluster and cloud execution, see the docs.
Step 5: Generate report
After finalizing your data analysis, you can automatically generate an interactive visual HTML report for inspection of results together with parameters and code inside of the browser using
snakemake --report report.zip
Configuration
The following section is imported from the workflow’s config/README.md
.
Describe how to configure the workflow (using config.yaml and maybe additional files). All of them need to be present with example entries inside of the config folder.
Linting and formatting
Linting results
1/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:410: SyntaxWarning: invalid escape sequence '\D'
2 outpath = outdir + 'figs/AerChemMIP/delta_{variable}_{plevel}_piClim-2xdust.png'
3/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:457: SyntaxWarning: invalid escape sequence '\D'
4 'UKESM1-0-LL', 'MPI-ESM-1-2-HAM',
5/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:503: SyntaxWarning: invalid escape sequence '\D'
6 notebook:
7/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:542: SyntaxWarning: invalid escape sequence '\D'
8 model=['EC-Earth3-AerChem','GISS-E2-1-G', 'MIROC6',
9/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:587: SyntaxWarning: invalid escape sequence '\D'
10 scaling_factor = 1e-9,
11/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:636: SyntaxWarning: invalid escape sequence '\D'
12
13/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:1023: SyntaxWarning: invalid escape sequence '\D'
14/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:1070: SyntaxWarning: invalid escape sequence '\D'
15/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:1121: SyntaxWarning: invalid escape sequence '\D'
16Lints for snakefile /tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/Snakefile:
17 * Path composition with '+' in line 78:
18 This becomes quickly unreadable. Usually, it is better to endure some
19 redundancy against having a more readable workflow. Hence, just repeat
20 common prefixes. If path composition is unavoidable, use pathlib or
21 (python >= 3.6) string formatting with f"...".
22 * Path composition with '+' in line 79:
23 This becomes quickly unreadable. Usually, it is better to endure some
24 redundancy against having a more readable workflow. Hence, just repeat
25 common prefixes. If path composition is unavoidable, use pathlib or
26 (python >= 3.6) string formatting with f"...".
27 * Path composition with '+' in line 80:
28 This becomes quickly unreadable. Usually, it is better to endure some
29 redundancy against having a more readable workflow. Hence, just repeat
30 common prefixes. If path composition is unavoidable, use pathlib or
31 (python >= 3.6) string formatting with f"...".
32 * Path composition with '+' in line 81:
33 This becomes quickly unreadable. Usually, it is better to endure some
34 redundancy against having a more readable workflow. Hence, just repeat
35 common prefixes. If path composition is unavoidable, use pathlib or
36 (python >= 3.6) string formatting with f"...".
37 * Path composition with '+' in line 82:
38 This becomes quickly unreadable. Usually, it is better to endure some
39 redundancy against having a more readable workflow. Hence, just repeat
40 common prefixes. If path composition is unavoidable, use pathlib or
41 (python >= 3.6) string formatting with f"...".
42 * Path composition with '+' in line 83:
43 This becomes quickly unreadable. Usually, it is better to endure some
44 redundancy against having a more readable workflow. Hence, just repeat
45 common prefixes. If path composition is unavoidable, use pathlib or
46 (python >= 3.6) string formatting with f"...".
47 * Path composition with '+' in line 84:
48 This becomes quickly unreadable. Usually, it is better to endure some
49 redundancy against having a more readable workflow. Hence, just repeat
50 common prefixes. If path composition is unavoidable, use pathlib or
51 (python >= 3.6) string formatting with f"...".
52 * Path composition with '+' in line 85:
53 This becomes quickly unreadable. Usually, it is better to endure some
54 redundancy against having a more readable workflow. Hence, just repeat
55 common prefixes. If path composition is unavoidable, use pathlib or
56 (python >= 3.6) string formatting with f"...".
57 * Path composition with '+' in line 86:
58 This becomes quickly unreadable. Usually, it is better to endure some
59 redundancy against having a more readable workflow. Hence, just repeat
60 common prefixes. If path composition is unavoidable, use pathlib or
61 (python >= 3.6) string formatting with f"...".
62 * Path composition with '+' in line 87:
63 This becomes quickly unreadable. Usually, it is better to endure some
64 redundancy against having a more readable workflow. Hence, just repeat
65 common prefixes. If path composition is unavoidable, use pathlib or
66 (python >= 3.6) string formatting with f"...".
67
68Lints for snakefile /tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/compute_ERF.smk:
69 * Path composition with '+' in line 25:
70 This becomes quickly unreadable. Usually, it is better to endure some
71 redundancy against having a more readable workflow. Hence, just repeat
72 common prefixes. If path composition is unavoidable, use pathlib or
73 (python >= 3.6) string formatting with f"...".
74 * Path composition with '+' in line 53:
75 This becomes quickly unreadable. Usually, it is better to endure some
76 redundancy against having a more readable workflow. Hence, just repeat
77 common prefixes. If path composition is unavoidable, use pathlib or
78 (python >= 3.6) string formatting with f"...".
79 * Path composition with '+' in line 80:
80 This becomes quickly unreadable. Usually, it is better to endure some
81 redundancy against having a more readable workflow. Hence, just repeat
82 common prefixes. If path composition is unavoidable, use pathlib or
83 (python >= 3.6) string formatting with f"...".
84 * Path composition with '+' in line 96:
85 This becomes quickly unreadable. Usually, it is better to endure some
86 redundancy against having a more readable workflow. Hence, just repeat
87 common prefixes. If path composition is unavoidable, use pathlib or
88 (python >= 3.6) string formatting with f"...".
89 * Path composition with '+' in line 128:
90 This becomes quickly unreadable. Usually, it is better to endure some
91 redundancy against having a more readable workflow. Hence, just repeat
92 common prefixes. If path composition is unavoidable, use pathlib or
93 (python >= 3.6) string formatting with f"...".
94 * Path composition with '+' in line 141:
95 This becomes quickly unreadable. Usually, it is better to endure some
96 redundancy against having a more readable workflow. Hence, just repeat
97 common prefixes. If path composition is unavoidable, use pathlib or
98 (python >= 3.6) string formatting with f"...".
99 * Path composition with '+' in line 142:
100 This becomes quickly unreadable. Usually, it is better to endure some
101 redundancy against having a more readable workflow. Hence, just repeat
102 common prefixes. If path composition is unavoidable, use pathlib or
103 (python >= 3.6) string formatting with f"...".
104 * Path composition with '+' in line 144:
105 This becomes quickly unreadable. Usually, it is better to endure some
106 redundancy against having a more readable workflow. Hence, just repeat
107 common prefixes. If path composition is unavoidable, use pathlib or
108 (python >= 3.6) string formatting with f"...".
109 * Path composition with '+' in line 8:
110 This becomes quickly unreadable. Usually, it is better to endure some
111 redundancy against having a more readable workflow. Hence, just repeat
112 common prefixes. If path composition is unavoidable, use pathlib or
113 (python >= 3.6) string formatting with f"...".
114
115Lints for snakefile /tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/utils.smk:
116 * Path composition with '+' in line 80:
117 This becomes quickly unreadable. Usually, it is better to endure some
118 redundancy against having a more readable workflow. Hence, just repeat
119 common prefixes. If path composition is unavoidable, use pathlib or
120 (python >= 3.6) string formatting with f"...".
121 * Path composition with '+' in line 94:
122 This becomes quickly unreadable. Usually, it is better to endure some
123 redundancy against having a more readable workflow. Hence, just repeat
124 common prefixes. If path composition is unavoidable, use pathlib or
125 (python >= 3.6) string formatting with f"...".
126 * Path composition with '+' in line 108:
127 This becomes quickly unreadable. Usually, it is better to endure some
128 redundancy against having a more readable workflow. Hence, just repeat
129 common prefixes. If path composition is unavoidable, use pathlib or
130 (python >= 3.6) string formatting with f"...".
131 * Path composition with '+' in line 126:
132 This becomes quickly unreadable. Usually, it is better to endure some
133 redundancy against having a more readable workflow. Hence, just repeat
134 common prefixes. If path composition is unavoidable, use pathlib or
135 (python >= 3.6) string formatting with f"...".
136 * Path composition with '+' in line 149:
137 This becomes quickly unreadable. Usually, it is better to endure some
138 redundancy against having a more readable workflow. Hence, just repeat
139 common prefixes. If path composition is unavoidable, use pathlib or
140 (python >= 3.6) string formatting with f"...".
141 * Path composition with '+' in line 168:
142 This becomes quickly unreadable. Usually, it is better to endure some
143 redundancy against having a more readable workflow. Hence, just repeat
144 common prefixes. If path composition is unavoidable, use pathlib or
145 (python >= 3.6) string formatting with f"...".
146 * Path composition with '+' in line 183:
147 This becomes quickly unreadable. Usually, it is better to endure some
148 redundancy against having a more readable workflow. Hence, just repeat
149 common prefixes. If path composition is unavoidable, use pathlib or
150 (python >= 3.6) string formatting with f"...".
151 * Path composition with '+' in line 198:
152 This becomes quickly unreadable. Usually, it is better to endure some
153 redundancy against having a more readable workflow. Hence, just repeat
154 common prefixes. If path composition is unavoidable, use pathlib or
155 (python >= 3.6) string formatting with f"...".
156 * Path composition with '+' in line 210:
157 This becomes quickly unreadable. Usually, it is better to endure some
158 redundancy against having a more readable workflow. Hence, just repeat
159 common prefixes. If path composition is unavoidable, use pathlib or
160 (python >= 3.6) string formatting with f"...".
161 * Path composition with '+' in line 234:
162 This becomes quickly unreadable. Usually, it is better to endure some
163 redundancy against having a more readable workflow. Hence, just repeat
164 common prefixes. If path composition is unavoidable, use pathlib or
165 (python >= 3.6) string formatting with f"...".
166 * Path composition with '+' in line 238:
167 This becomes quickly unreadable. Usually, it is better to endure some
168 redundancy against having a more readable workflow. Hence, just repeat
169 common prefixes. If path composition is unavoidable, use pathlib or
170 (python >= 3.6) string formatting with f"...".
171
172Lints for snakefile /tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk:
173 * Path composition with '+' in line 159:
174 This becomes quickly unreadable. Usually, it is better to endure some
175 redundancy against having a more readable workflow. Hence, just repeat
176 common prefixes. If path composition is unavoidable, use pathlib or
177 (python >= 3.6) string formatting with f"...".
178 * Path composition with '+' in line 410:
179 This becomes quickly unreadable. Usually, it is better to endure some
180 redundancy against having a more readable workflow. Hence, just repeat
181 common prefixes. If path composition is unavoidable, use pathlib or
182 (python >= 3.6) string formatting with f"...".
183 * Path composition with '+' in line 541:
184 This becomes quickly unreadable. Usually, it is better to endure some
185 redundancy against having a more readable workflow. Hence, just repeat
186 common prefixes. If path composition is unavoidable, use pathlib or
187 (python >= 3.6) string formatting with f"...".
188 * Path composition with '+' in line 545:
189 This becomes quickly unreadable. Usually, it is better to endure some
190 redundancy against having a more readable workflow. Hence, just repeat
191 common prefixes. If path composition is unavoidable, use pathlib or
192 (python >= 3.6) string formatting with f"...".
193 * Path composition with '+' in line 569:
194 This becomes quickly unreadable. Usually, it is better to endure some
195 redundancy against having a more readable workflow. Hence, just repeat
196 common prefixes. If path composition is unavoidable, use pathlib or
197 (python >= 3.6) string formatting with f"...".
198 * Path composition with '+' in line 573:
199 This becomes quickly unreadable. Usually, it is better to endure some
200 redundancy against having a more readable workflow. Hence, just repeat
201
202... (truncated)
Formatting results
1[DEBUG]
2[DEBUG] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/compute_ERF.smk": Formatted content is different from original
3[DEBUG]
4[WARNING] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/utils.smk": Keyword "input" at line 27 has comments under a value.
5 PEP8 recommends block comments appear before what they describe
6(see https://www.python.org/dev/peps/pep-0008/#id30)
7[DEBUG] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/utils.smk": Formatted content is different from original
8[DEBUG]
9[DEBUG] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/dust_analysis.smk": Formatted content is different from original
10[DEBUG]
11<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
12<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
13<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
14<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
15<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
16<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
17<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
18<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
19<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
20[DEBUG] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/plotAerChemMIP.smk": Formatted content is different from original
21[DEBUG]
22[DEBUG] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/Snakefile": Formatted content is different from original
23[DEBUG]
24[DEBUG] In file "/tmp/tmpw9ni4sng/Ovewh-ACP-haugvaldstad-et-al-2025-0f44987/workflow/rules/make_table.smk": Formatted content is different from original
25[INFO] 6 file(s) would be changed 😬
26
27snakefmt version: 0.10.2