1# 1 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
12# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
15# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
16# 6 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp" 2
17# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
18# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
19# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
20# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
24# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
26# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
30# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
34# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
36# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
51# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
52# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
53# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
59# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
73# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
75# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
77# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
79# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
81# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
83# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
85# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
87# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
93# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
95# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
97# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
99# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
105# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
107# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
109# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
111# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 320 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
152# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
154# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
156# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
158# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
160# 403 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
162# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
163# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
164# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
165# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
167# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
173# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
177# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
179# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
181# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
183# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
185# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
189# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
191# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
193# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
195# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
197# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
199# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
201# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
203# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
205# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
207# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
256# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
268# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
277# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
298# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
304# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
307# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
310# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
312# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
313# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
315# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
317# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
322# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
325# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
331# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
334# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
337# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
339# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
341# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
343# 7 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp" 2
362 logical,
intent(in) :: check_total_cells
363 integer(kind=8),
intent(in) :: n_global
366# 32 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
373 character(len=18) :: numstr
374 integer(kind=8) :: min_cells
375 integer(kind=8),
intent(in) :: n_global
377 min_cells = int(2, kind=8)**int(min(1, m) + min(1, n) + min(1, p), kind=8)*int(
num_procs, kind=8)
380 if (n_global < min_cells)
then
381# 45 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
382 call s_prohibit_abort(
"n_global < min_cells",
"Total number of cells must be at least (2^[number of dimensions])*num_procs, " //
"which is currently " // trim(numstr))
383# 45 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
385# 48 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
392# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
393 if (num_fluids > 3)
then
394# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
395 call s_prohibit_abort(
"num_fluids > 3",
"num_fluids <= 3 for AMDFLang when Case optimization is off")
396# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
398 if ((bubbles_euler .or. bubbles_lagrange) .and. nb > 3)
then
399# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
400 call s_prohibit_abort(.or..and.
"(bubbles_euler bubbles_lagrange) nb > 3",
"nb <= 3 for AMDFLang when Case optimization is off")
401# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
403 if (chemistry .and. num_species > 60)
then
404# 57 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
405 call s_prohibit_abort(.and.
"chemistry num_species > 60",
"num_species <= 60 for AMDFLang when Case optimization is off")
406# 57 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
408# 59 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
415 if (sys_size > 70)
then
416# 65 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
417 call s_prohibit_abort(
"sys_size > 70",
"sys_size <= 70 for AMDFLang when Case optimization is off")
418# 65 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
420# 67 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
421# 68 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
Shared input validation checks for grid dimensions and AMD GPU compiler limits.
impure subroutine s_check_amd
Check that simulation parameters stay within AMD GPU compiler limits when case optimization is disabl...
impure subroutine s_check_total_cells(n_global)
Verify that the total number of grid cells meets the minimum required by the number of dimensions and...
impure subroutine, public s_check_inputs_common(check_total_cells, n_global)
Checks compatibility of parameters in the input file. Used by all three stages.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
integer num_procs
Number of processors.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
elemental subroutine, public s_int_to_str(i, res)
Convert an integer to its trimmed string representation.
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.