aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig4
-rw-r--r--.pre-commit-config.yaml26
-rw-r--r--Docs/source/conf.py7
-rwxr-xr-xExamples/Modules/ParticleBoundaryScrape/analysis_scrape.py3
-rwxr-xr-xExamples/Modules/RigidInjection/analysis_rigid_injection_BoostedFrame.py3
-rwxr-xr-xExamples/Modules/RigidInjection/analysis_rigid_injection_LabFrame.py6
-rwxr-xr-xExamples/Modules/dive_cleaning/analysis.py5
-rwxr-xr-xExamples/Modules/embedded_boundary_cube/analysis_fields.py9
-rwxr-xr-xExamples/Modules/embedded_boundary_cube/analysis_fields_2d.py5
-rwxr-xr-xExamples/Modules/embedded_boundary_python_API/PICMI_inputs_EB_API.py2
-rwxr-xr-xExamples/Modules/embedded_boundary_rotated_cube/analysis_fields.py9
-rwxr-xr-xExamples/Modules/embedded_boundary_rotated_cube/analysis_fields_2d.py5
-rwxr-xr-xExamples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py2
-rwxr-xr-xExamples/Modules/ionization/analysis_ionization.py6
-rwxr-xr-xExamples/Modules/laser_injection/analysis_1d.py5
-rwxr-xr-xExamples/Modules/laser_injection/analysis_2d.py9
-rwxr-xr-xExamples/Modules/laser_injection/analysis_laser.py5
-rwxr-xr-xExamples/Modules/laser_injection_from_file/analysis.py11
-rwxr-xr-xExamples/Modules/nci_corrector/analysis_ncicorr.py6
-rwxr-xr-xExamples/Modules/qed/breit_wheeler/analysis_core.py5
-rwxr-xr-xExamples/Modules/qed/breit_wheeler/analysis_opmd.py4
-rwxr-xr-xExamples/Modules/qed/breit_wheeler/analysis_yt.py5
-rwxr-xr-xExamples/Modules/qed/quantum_synchrotron/analysis.py9
-rwxr-xr-xExamples/Modules/qed/schwinger/analysis_schwinger.py8
-rwxr-xr-xExamples/Modules/relativistic_space_charge_initialization/analysis.py7
-rwxr-xr-xExamples/Modules/resampling/analysis_leveling_thinning.py6
-rwxr-xr-xExamples/Modules/space_charge_initialization/analysis.py7
-rwxr-xr-xExamples/Physics_applications/capacitive_discharge/PICMI_inputs_2d.py5
-rwxr-xr-xExamples/Physics_applications/capacitive_discharge/analysis.py1
-rwxr-xr-xExamples/Physics_applications/laser_acceleration/PICMI_inputs_laser_acceleration.py1
-rwxr-xr-xExamples/Physics_applications/laser_acceleration/analysis_refined_injection.py3
-rwxr-xr-xExamples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration.py1
-rwxr-xr-xExamples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py1
-rwxr-xr-xExamples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_mr.py1
-rwxr-xr-xExamples/Tests/ElectrostaticDirichletBC/PICMI_inputs_2d.py1
-rwxr-xr-xExamples/Tests/ElectrostaticDirichletBC/analysis.py4
-rwxr-xr-xExamples/Tests/ElectrostaticSphere/analysis_electrostatic_sphere.py4
-rwxr-xr-xExamples/Tests/ElectrostaticSphereEB/PICMI_inputs_3d.py1
-rwxr-xr-xExamples/Tests/ElectrostaticSphereEB/analysis.py1
-rwxr-xr-xExamples/Tests/Langmuir/PICMI_inputs_langmuir_rz_multimode_analyze.py5
-rwxr-xr-xExamples/Tests/Langmuir/analysis_langmuir_multi.py14
-rwxr-xr-xExamples/Tests/Langmuir/analysis_langmuir_multi_1d.py11
-rwxr-xr-xExamples/Tests/Langmuir/analysis_langmuir_multi_2d.py14
-rwxr-xr-xExamples/Tests/Langmuir/analysis_langmuir_multi_rz.py14
-rwxr-xr-xExamples/Tests/Maxwell_Hybrid_QED/analysis_Maxwell_QED_Hybrid.py4
-rwxr-xr-xExamples/Tests/PEC/analysis_pec.py12
-rwxr-xr-xExamples/Tests/PEC/analysis_pec_mr.py12
-rwxr-xr-xExamples/Tests/PML/analysis_pml_ckc.py6
-rwxr-xr-xExamples/Tests/PML/analysis_pml_psatd.py7
-rwxr-xr-xExamples/Tests/PML/analysis_pml_yee.py7
-rwxr-xr-xExamples/Tests/ParticleDataPython/PICMI_inputs_2d.py3
-rwxr-xr-xExamples/Tests/PythonWrappers/PICMI_inputs_2d.py3
-rwxr-xr-xExamples/Tests/RepellingParticles/analysis_repelling.py13
-rwxr-xr-xExamples/Tests/SilverMueller/analysis_silver_mueller.py6
-rwxr-xr-xExamples/Tests/SingleParticle/analysis_bilinear_filter.py6
-rwxr-xr-xExamples/Tests/boundaries/analysis.py8
-rwxr-xr-xExamples/Tests/collision/analysis_collision_2d.py10
-rwxr-xr-xExamples/Tests/collision/analysis_collision_3d.py10
-rwxr-xr-xExamples/Tests/collision/analysis_collision_rz.py6
-rwxr-xr-xExamples/Tests/divb_cleaning/analysis.py6
-rwxr-xr-xExamples/Tests/embedded_circle/analysis.py1
-rwxr-xr-xExamples/Tests/galilean/analysis_2d.py8
-rwxr-xr-xExamples/Tests/galilean/analysis_3d.py8
-rwxr-xr-xExamples/Tests/initial_distribution/analysis_distribution.py8
-rwxr-xr-xExamples/Tests/initial_plasma_profile/analysis.py2
-rwxr-xr-xExamples/Tests/particle_pusher/analysis_pusher.py2
-rwxr-xr-xExamples/Tests/particles_in_PML/analysis_particles_in_pml.py2
-rwxr-xr-xExamples/Tests/pass_mpi_communicator/PICMI_inputs_2d.py1
-rwxr-xr-xExamples/Tests/pass_mpi_communicator/analysis.py5
-rwxr-xr-xExamples/Tests/photon_pusher/analysis_photon_pusher.py6
-rwxr-xr-xExamples/Tests/plasma_lens/analysis.py8
-rwxr-xr-xExamples/Tests/radiation_reaction/test_const_B_analytical/analysis_classicalRR.py4
-rwxr-xr-xExamples/Tests/reduced_diags/analysis_reduced_diags_impl.py11
-rwxr-xr-xExamples/Tests/reduced_diags/analysis_reduced_diags_loadbalancecosts.py4
-rwxr-xr-xExamples/Tests/restart/PICMI_inputs_runtime_component_analyze.py3
-rwxr-xr-xExamples/Tests/restart/analysis_restart.py4
-rwxr-xr-xExamples/analysis_default_regression.py3
-rwxr-xr-xExamples/analysis_default_restart.py1
-rw-r--r--Python/pywarpx/Bucket.py1
-rw-r--r--Python/pywarpx/Constants.py1
-rw-r--r--Python/pywarpx/PGroup.py2
-rw-r--r--Python/pywarpx/WarpInterface.py3
-rw-r--r--Python/pywarpx/WarpX.py18
-rw-r--r--Python/pywarpx/WarpXPIC.py2
-rw-r--r--Python/pywarpx/__init__.py17
-rwxr-xr-xPython/pywarpx/_libwarpx.py10
-rw-r--r--Python/pywarpx/callbacks.py6
-rw-r--r--Python/pywarpx/fields.py1
-rw-r--r--Python/pywarpx/picmi.py7
-rw-r--r--Python/pywarpx/timestepper.py3
-rw-r--r--Regression/Checksum/benchmark.py3
-rw-r--r--Regression/Checksum/checksum.py5
-rwxr-xr-xRegression/Checksum/checksumAPI.py7
-rw-r--r--Regression/PostProcessingUtils/post_processing_utils.py1
-rw-r--r--Regression/prepare_file_ci.py3
-rw-r--r--Source/Utils/check_interp_points_and_weights.py4
-rw-r--r--Source/Utils/write_atomic_data_cpp.py4
-rwxr-xr-xTools/LibEnsemble/plot_results.py7
-rw-r--r--Tools/LibEnsemble/read_sim_output.py5
-rw-r--r--Tools/LibEnsemble/run_libensemble_on_warpx.py23
-rw-r--r--Tools/LibEnsemble/warpx_simf.py4
-rw-r--r--Tools/LibEnsemble/write_sim_input.py1
-rw-r--r--Tools/PerformanceTests/cori.py3
-rw-r--r--Tools/PerformanceTests/functions_perftest.py11
-rw-r--r--Tools/PerformanceTests/run_alltests.py10
-rw-r--r--Tools/PerformanceTests/run_alltests_1node.py11
-rw-r--r--Tools/PerformanceTests/run_automated.py27
-rw-r--r--Tools/PerformanceTests/summit.py5
-rw-r--r--Tools/PostProcessing/plot_distribution_mapping.py2
-rw-r--r--Tools/PostProcessing/plot_parallel.py10
-rw-r--r--Tools/PostProcessing/plot_particle_path.py4
-rw-r--r--Tools/PostProcessing/read_lab_particles.py3
-rw-r--r--Tools/PostProcessing/read_raw_data.py3
-rw-r--r--Tools/PostProcessing/video_yt.py5
-rw-r--r--Tools/PostProcessing/yt3d_mpi.py5
-rwxr-xr-xTools/Release/updateAMReX.py4
-rwxr-xr-xTools/Release/updatePICSAR.py4
-rw-r--r--setup.py10
118 files changed, 478 insertions, 238 deletions
diff --git a/.editorconfig b/.editorconfig
index b63a89f6c..0f75d35a7 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -30,3 +30,7 @@ trim_trailing_whitespace = false
# TABs are part of its syntax
indent_style = tab
indent_size = unset
+
+[*.py]
+# isort config
+force_sort_within_sections = true
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 6bae2ddb8..de2af9287 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -57,6 +57,32 @@ repos:
# C++ formatting
# clang-format
+# Autoremoves unused Python imports
+- repo: https://github.com/hadialqattan/pycln
+ rev: v1.1.0
+ hooks:
+ - id: pycln
+ name: pycln (python)
+
+# Sorts Python imports according to PEP8
+# https://www.python.org/dev/peps/pep-0008/#imports
+- repo: https://github.com/pycqa/isort
+ rev: 5.10.1
+ hooks:
+ - id: isort
+ name: isort (python)
+
+# Python: Flake8 (checks only, does this support auto-fixes?)
+#- repo: https://github.com/PyCQA/flake8
+# rev: 4.0.1
+# hooks:
+# - id: flake8
+# additional_dependencies: &flake8_dependencies
+# - flake8-bugbear
+# - pep8-naming
+# exclude: ^(docs/.*|tools/.*)$
+# Alternatively: use autopep8?
+
# Python Formatting
#- repo: https://github.com/psf/black
# rev: 21.10b0 # Keep in sync with blacken-docs
diff --git a/Docs/source/conf.py b/Docs/source/conf.py
index eab022751..9542fa019 100644
--- a/Docs/source/conf.py
+++ b/Docs/source/conf.py
@@ -25,8 +25,13 @@
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
-import os, sys, urllib.request, subprocess
+import os
+import subprocess
+import sys
+import urllib.request
+
import sphinx_rtd_theme
+
sys.path.insert(0, os.path.join( os.path.abspath(__file__), '../Python') )
# -- General configuration ------------------------------------------------
diff --git a/Examples/Modules/ParticleBoundaryScrape/analysis_scrape.py b/Examples/Modules/ParticleBoundaryScrape/analysis_scrape.py
index 652fd3be3..8082b1133 100755
--- a/Examples/Modules/ParticleBoundaryScrape/analysis_scrape.py
+++ b/Examples/Modules/ParticleBoundaryScrape/analysis_scrape.py
@@ -1,8 +1,9 @@
#!/usr/bin/env python3
-import yt
from pathlib import Path
+import yt
+
# This test shoots a beam of electrons at cubic embedded boundary geometry
# At time step 40, none of the particles have hit the boundary yet. At time
# step 60, all of them should have been absorbed by the boundary. In the
diff --git a/Examples/Modules/RigidInjection/analysis_rigid_injection_BoostedFrame.py b/Examples/Modules/RigidInjection/analysis_rigid_injection_BoostedFrame.py
index 5e5a5bf74..ba04580af 100755
--- a/Examples/Modules/RigidInjection/analysis_rigid_injection_BoostedFrame.py
+++ b/Examples/Modules/RigidInjection/analysis_rigid_injection_BoostedFrame.py
@@ -20,9 +20,10 @@ The simulation runs in a boosted frame, and the analysis is done in the lab
frame, i.e., on the back-transformed diagnostics.
'''
-import yt
import numpy as np
import read_raw_data
+import yt
+
yt.funcs.mylog.setLevel(0)
# Read data from back-transformed diagnostics
diff --git a/Examples/Modules/RigidInjection/analysis_rigid_injection_LabFrame.py b/Examples/Modules/RigidInjection/analysis_rigid_injection_LabFrame.py
index c764ef357..624fd8f7c 100755
--- a/Examples/Modules/RigidInjection/analysis_rigid_injection_LabFrame.py
+++ b/Examples/Modules/RigidInjection/analysis_rigid_injection_LabFrame.py
@@ -20,10 +20,12 @@ case rigid injection is OFF (i.e., the beam starts expanding from -5 microns),
in which case a warning is raised.
'''
+import os
import sys
-import yt
+
import numpy as np
-import os
+import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/dive_cleaning/analysis.py b/Examples/Modules/dive_cleaning/analysis.py
index c4c09353e..504368fa8 100755
--- a/Examples/Modules/dive_cleaning/analysis.py
+++ b/Examples/Modules/dive_cleaning/analysis.py
@@ -15,13 +15,16 @@ This script verifies that the field at the end of the simulation corresponds
to the theoretical field of a Gaussian beam.
"""
import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
-import yt
import numpy as np
import scipy.constants as scc
from scipy.special import gammainc
+import yt
+
yt.funcs.mylog.setLevel(0)
# Parameters from the Simulation
diff --git a/Examples/Modules/embedded_boundary_cube/analysis_fields.py b/Examples/Modules/embedded_boundary_cube/analysis_fields.py
index 05f43ce1c..b81f72d9d 100755
--- a/Examples/Modules/embedded_boundary_cube/analysis_fields.py
+++ b/Examples/Modules/embedded_boundary_cube/analysis_fields.py
@@ -1,9 +1,12 @@
#!/usr/bin/env python3
-import yt
-import os, sys
-from scipy.constants import mu_0, pi, c
+import os
+import sys
+
import numpy as np
+from scipy.constants import c, mu_0, pi
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/embedded_boundary_cube/analysis_fields_2d.py b/Examples/Modules/embedded_boundary_cube/analysis_fields_2d.py
index 8127cc9e5..227048be9 100755
--- a/Examples/Modules/embedded_boundary_cube/analysis_fields_2d.py
+++ b/Examples/Modules/embedded_boundary_cube/analysis_fields_2d.py
@@ -1,10 +1,11 @@
#!/usr/bin/env python3
-import yt
import os
import sys
-from scipy.constants import mu_0, pi, c
+
import numpy as np
+from scipy.constants import c, mu_0, pi
+import yt
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/embedded_boundary_python_API/PICMI_inputs_EB_API.py b/Examples/Modules/embedded_boundary_python_API/PICMI_inputs_EB_API.py
index b0653ae01..6dea197d3 100755
--- a/Examples/Modules/embedded_boundary_python_API/PICMI_inputs_EB_API.py
+++ b/Examples/Modules/embedded_boundary_python_API/PICMI_inputs_EB_API.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import numpy as np
import pywarpx
-from pywarpx import picmi, fields
+from pywarpx import fields, picmi
max_steps = 1
unit = 1e-3
diff --git a/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields.py b/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields.py
index 655322b5b..02f4c8012 100755
--- a/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields.py
+++ b/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields.py
@@ -7,10 +7,13 @@
# License: BSD-3-Clause-LBNL
-import yt
-import os, sys
-from scipy.constants import mu_0, pi, c
+import os
+import sys
+
import numpy as np
+from scipy.constants import c, mu_0, pi
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields_2d.py b/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields_2d.py
index 2b48d1a36..5c8c544d0 100755
--- a/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields_2d.py
+++ b/Examples/Modules/embedded_boundary_rotated_cube/analysis_fields_2d.py
@@ -1,10 +1,11 @@
#!/usr/bin/env python3
-import yt
import os
import sys
-from scipy.constants import mu_0, pi, c
+
import numpy as np
+from scipy.constants import c, mu_0, pi
+import yt
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py b/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py
index a20f18a68..fc965787f 100755
--- a/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py
+++ b/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
-from pywarpx import picmi
#from warp import picmi
import argparse
+from pywarpx import picmi
parser = argparse.ArgumentParser(description="Gaussian beam PICMI example")
diff --git a/Examples/Modules/ionization/analysis_ionization.py b/Examples/Modules/ionization/analysis_ionization.py
index f11662b0a..d81e04345 100755
--- a/Examples/Modules/ionization/analysis_ionization.py
+++ b/Examples/Modules/ionization/analysis_ionization.py
@@ -18,10 +18,12 @@ checks that, after the laser went through the plasma, ~32% of Nitrogen
ions are N5+, in agreement with theory from Chen's article.
"""
+import os
import sys
-import yt
+
import numpy as np
-import os
+import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/laser_injection/analysis_1d.py b/Examples/Modules/laser_injection/analysis_1d.py
index 7c8e985f6..4f4bd505d 100755
--- a/Examples/Modules/laser_injection/analysis_1d.py
+++ b/Examples/Modules/laser_injection/analysis_1d.py
@@ -12,13 +12,16 @@
# the simulation and it compares it with theory. It also checks that the
# central frequency of the Fourier transform is the expected one.
-import yt
import sys
+
import matplotlib
+import yt
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
from scipy.signal import hilbert
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/laser_injection/analysis_2d.py b/Examples/Modules/laser_injection/analysis_2d.py
index e26ae4478..377931718 100755
--- a/Examples/Modules/laser_injection/analysis_2d.py
+++ b/Examples/Modules/laser_injection/analysis_2d.py
@@ -17,15 +17,18 @@
# the simulation and it compares it with theory. It also checks that the
# central frequency of the Fourier transform is the expected one.
-import yt
+import os
import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
+from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
-import os
from scipy.signal import hilbert
-from mpl_toolkits.axes_grid1 import make_axes_locatable
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/laser_injection/analysis_laser.py b/Examples/Modules/laser_injection/analysis_laser.py
index 5e2234c30..8dde8d6e9 100755
--- a/Examples/Modules/laser_injection/analysis_laser.py
+++ b/Examples/Modules/laser_injection/analysis_laser.py
@@ -8,12 +8,15 @@
# License: BSD-3-Clause-LBNL
+import os
import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
-import os
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/laser_injection_from_file/analysis.py b/Examples/Modules/laser_injection_from_file/analysis.py
index 05a245e52..03c2a3c5c 100755
--- a/Examples/Modules/laser_injection_from_file/analysis.py
+++ b/Examples/Modules/laser_injection_from_file/analysis.py
@@ -16,14 +16,17 @@
# - Compute the theory for laser envelope at time T
# - Compare theory and simulation, for both envelope and central frequency
-import yt ; yt.funcs.mylog.setLevel(50)
-import numpy as np
+import glob
+import os
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
+import numpy as np
from scipy.signal import hilbert
-import glob
-import os
+
+import yt ; yt.funcs.mylog.setLevel(50)
#Maximum acceptable error for this test
relative_error_threshold = 0.065
diff --git a/Examples/Modules/nci_corrector/analysis_ncicorr.py b/Examples/Modules/nci_corrector/analysis_ncicorr.py
index 409c4ba2f..d3849e707 100755
--- a/Examples/Modules/nci_corrector/analysis_ncicorr.py
+++ b/Examples/Modules/nci_corrector/analysis_ncicorr.py
@@ -8,11 +8,13 @@
# License: BSD-3-Clause-LBNL
-import sys
-import yt
import re
+import sys
+
import numpy as np
import scipy.constants as scc
+import yt
+
yt.funcs.mylog.setLevel(0)
fn = sys.argv[1]
diff --git a/Examples/Modules/qed/breit_wheeler/analysis_core.py b/Examples/Modules/qed/breit_wheeler/analysis_core.py
index cb65fccb9..61d928bf2 100755
--- a/Examples/Modules/qed/breit_wheeler/analysis_core.py
+++ b/Examples/Modules/qed/breit_wheeler/analysis_core.py
@@ -7,13 +7,12 @@
#
# License: BSD-3-Clause-LBNL
+import matplotlib.pyplot as plt
import numpy as np
-import scipy.special as spe
import scipy.integrate as integ
+import scipy.special as spe
import scipy.stats as st
-import matplotlib.pyplot as plt
-
# This script performs detailed checks of the Breit-Wheeler pair production process.
# Four populations of photons are initialized with different momenta in different
# directions in a background EM field (with non-zero components along each direction).
diff --git a/Examples/Modules/qed/breit_wheeler/analysis_opmd.py b/Examples/Modules/qed/breit_wheeler/analysis_opmd.py
index e06bfe127..2b1fbc703 100755
--- a/Examples/Modules/qed/breit_wheeler/analysis_opmd.py
+++ b/Examples/Modules/qed/breit_wheeler/analysis_opmd.py
@@ -8,11 +8,13 @@
# -*- coding: utf-8 -*-
import sys
+
+import analysis_core as ac
import openpmd_api as io
+
#sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
#import checksumAPI
-import analysis_core as ac
# This script is a frontend for the analysis routines
# in analysis_core.py (please refer to this file for
diff --git a/Examples/Modules/qed/breit_wheeler/analysis_yt.py b/Examples/Modules/qed/breit_wheeler/analysis_yt.py
index ef377d55a..e8950419f 100755
--- a/Examples/Modules/qed/breit_wheeler/analysis_yt.py
+++ b/Examples/Modules/qed/breit_wheeler/analysis_yt.py
@@ -9,11 +9,12 @@
import os
import sys
+
import yt
-sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
-import checksumAPI
+sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import analysis_core as ac
+import checksumAPI
# This script is a frontend for the analysis routines
# in analysis_core.py (please refer to this file for
diff --git a/Examples/Modules/qed/quantum_synchrotron/analysis.py b/Examples/Modules/qed/quantum_synchrotron/analysis.py
index 2abafa24a..ee6139f75 100755
--- a/Examples/Modules/qed/quantum_synchrotron/analysis.py
+++ b/Examples/Modules/qed/quantum_synchrotron/analysis.py
@@ -8,16 +8,17 @@
# -*- coding: utf-8 -*-
-import yt
-import numpy as np
import os
import sys
-import scipy.special as spe
+
+import numpy as np
import scipy.integrate as integ
+import scipy.special as spe
import scipy.stats as st
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
-
import matplotlib.pyplot as plt
# This script performs detailed checks of the Quantum Synchrotron photon emission process.
diff --git a/Examples/Modules/qed/schwinger/analysis_schwinger.py b/Examples/Modules/qed/schwinger/analysis_schwinger.py
index 8af14a425..c93c92021 100755
--- a/Examples/Modules/qed/schwinger/analysis_schwinger.py
+++ b/Examples/Modules/qed/schwinger/analysis_schwinger.py
@@ -11,11 +11,13 @@
## The pair production rate is calculated using the formula described in
## Bulanov, S. S., et al. Physical review letters 104.22 (2010): 220404.
-import yt
-import numpy as np
import os
-import sys
import re
+import sys
+
+import numpy as np
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/relativistic_space_charge_initialization/analysis.py b/Examples/Modules/relativistic_space_charge_initialization/analysis.py
index 19dc84ef2..569a7d267 100755
--- a/Examples/Modules/relativistic_space_charge_initialization/analysis.py
+++ b/Examples/Modules/relativistic_space_charge_initialization/analysis.py
@@ -11,14 +11,17 @@ This script checks the space-charge initialization routine, by
verifying that the space-charge field of a Gaussian beam corresponds to
the expected theoretical field.
"""
+import os
import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
-import yt
import numpy as np
-import os
import scipy.constants as scc
+import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/resampling/analysis_leveling_thinning.py b/Examples/Modules/resampling/analysis_leveling_thinning.py
index ffa2a4333..50fec6282 100755
--- a/Examples/Modules/resampling/analysis_leveling_thinning.py
+++ b/Examples/Modules/resampling/analysis_leveling_thinning.py
@@ -9,11 +9,13 @@
## In this test, we check that leveling thinning works as expected on two simple cases. Each case
## corresponds to a different particle species.
-import yt
-import numpy as np
import os
import sys
+
+import numpy as np
from scipy.special import erf
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Modules/space_charge_initialization/analysis.py b/Examples/Modules/space_charge_initialization/analysis.py
index 130a54207..0df21e6d9 100755
--- a/Examples/Modules/space_charge_initialization/analysis.py
+++ b/Examples/Modules/space_charge_initialization/analysis.py
@@ -11,15 +11,18 @@ This script checks the space-charge initialization routine, by
verifying that the space-charge field of a Gaussian beam corresponds to
the expected theoretical field.
"""
+import os
import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
-import yt
import numpy as np
-import os
import scipy.constants as scc
from scipy.special import gammainc
+import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Physics_applications/capacitive_discharge/PICMI_inputs_2d.py b/Examples/Physics_applications/capacitive_discharge/PICMI_inputs_2d.py
index 1456fadd9..7afbf8ccc 100755
--- a/Examples/Physics_applications/capacitive_discharge/PICMI_inputs_2d.py
+++ b/Examples/Physics_applications/capacitive_discharge/PICMI_inputs_2d.py
@@ -6,9 +6,10 @@
# --- used for the field solve step.
import numpy as np
-from scipy.sparse import csc_matrix, linalg as sla
import pywarpx
-from pywarpx import picmi, callbacks, fields
+from pywarpx import callbacks, fields, picmi
+from scipy.sparse import csc_matrix
+from scipy.sparse import linalg as sla
constants = picmi.constants
diff --git a/Examples/Physics_applications/capacitive_discharge/analysis.py b/Examples/Physics_applications/capacitive_discharge/analysis.py
index 41f8f55f3..641bea50b 100755
--- a/Examples/Physics_applications/capacitive_discharge/analysis.py
+++ b/Examples/Physics_applications/capacitive_discharge/analysis.py
@@ -8,6 +8,7 @@
# rather than the iterative approach from the MLMG solver.
import sys
+
sys.path.append('../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Physics_applications/laser_acceleration/PICMI_inputs_laser_acceleration.py b/Examples/Physics_applications/laser_acceleration/PICMI_inputs_laser_acceleration.py
index 7e75e14de..4931a20e9 100755
--- a/Examples/Physics_applications/laser_acceleration/PICMI_inputs_laser_acceleration.py
+++ b/Examples/Physics_applications/laser_acceleration/PICMI_inputs_laser_acceleration.py
@@ -2,6 +2,7 @@
#
import numpy as np
from pywarpx import picmi
+
#from warp import picmi
constants = picmi.constants
diff --git a/Examples/Physics_applications/laser_acceleration/analysis_refined_injection.py b/Examples/Physics_applications/laser_acceleration/analysis_refined_injection.py
index 26508f40d..88bbd422d 100755
--- a/Examples/Physics_applications/laser_acceleration/analysis_refined_injection.py
+++ b/Examples/Physics_applications/laser_acceleration/analysis_refined_injection.py
@@ -11,9 +11,12 @@
# the actual number of electrons at step 200 to the expected value
import os
import sys
+
import yt
+
yt.funcs.mylog.setLevel(50)
import numpy as np
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration.py b/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration.py
index e237ac1c1..296aea48b 100755
--- a/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration.py
+++ b/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
from pywarpx import picmi
+
#from warp import picmi
constants = picmi.constants
diff --git a/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py b/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py
index 99086a99e..65ef1b898 100755
--- a/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py
+++ b/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
from pywarpx import picmi
+
#from warp import picmi
constants = picmi.constants
diff --git a/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_mr.py b/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_mr.py
index f3156ec3f..03f78cadb 100755
--- a/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_mr.py
+++ b/Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_mr.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
from pywarpx import picmi
+
#from warp import picmi
constants = picmi.constants
diff --git a/Examples/Tests/ElectrostaticDirichletBC/PICMI_inputs_2d.py b/Examples/Tests/ElectrostaticDirichletBC/PICMI_inputs_2d.py
index 21c4c49c9..309251149 100755
--- a/Examples/Tests/ElectrostaticDirichletBC/PICMI_inputs_2d.py
+++ b/Examples/Tests/ElectrostaticDirichletBC/PICMI_inputs_2d.py
@@ -2,7 +2,6 @@
from pywarpx import picmi
-
##########################
# physics parameters
##########################
diff --git a/Examples/Tests/ElectrostaticDirichletBC/analysis.py b/Examples/Tests/ElectrostaticDirichletBC/analysis.py
index 6dd231e89..8541ed864 100755
--- a/Examples/Tests/ElectrostaticDirichletBC/analysis.py
+++ b/Examples/Tests/ElectrostaticDirichletBC/analysis.py
@@ -13,10 +13,10 @@
# Possible running time: ~ 19 s
-import numpy as np
+import glob
+import numpy as np
import yt
-import glob
files = sorted(glob.glob('dirichletbc_plt*'))[1:]
if len(files) == 0:
diff --git a/Examples/Tests/ElectrostaticSphere/analysis_electrostatic_sphere.py b/Examples/Tests/ElectrostaticSphere/analysis_electrostatic_sphere.py
index 9bb3ff5f5..c718c1a42 100755
--- a/Examples/Tests/ElectrostaticSphere/analysis_electrostatic_sphere.py
+++ b/Examples/Tests/ElectrostaticSphere/analysis_electrostatic_sphere.py
@@ -17,10 +17,12 @@ the correct speed and that the electric field is accurately modeled against a
known analytic solution. While the radius r(t) is not analytically known, its
inverse t(r) can be solved for exactly.
"""
+import sys
+
import numpy as np
from scipy.optimize import fsolve
-import sys
import yt
+
yt.funcs.mylog.setLevel(0)
# Open plotfile specified in command line
diff --git a/Examples/Tests/ElectrostaticSphereEB/PICMI_inputs_3d.py b/Examples/Tests/ElectrostaticSphereEB/PICMI_inputs_3d.py
index e95365425..b1f631fc2 100755
--- a/Examples/Tests/ElectrostaticSphereEB/PICMI_inputs_3d.py
+++ b/Examples/Tests/ElectrostaticSphereEB/PICMI_inputs_3d.py
@@ -2,7 +2,6 @@
from pywarpx import picmi
-
##########################
# physics parameters
##########################
diff --git a/Examples/Tests/ElectrostaticSphereEB/analysis.py b/Examples/Tests/ElectrostaticSphereEB/analysis.py
index 79a414237..3cd17aa97 100755
--- a/Examples/Tests/ElectrostaticSphereEB/analysis.py
+++ b/Examples/Tests/ElectrostaticSphereEB/analysis.py
@@ -5,6 +5,7 @@
# tests are otherwise the same.
import sys
+
sys.path.append('../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/Langmuir/PICMI_inputs_langmuir_rz_multimode_analyze.py b/Examples/Tests/Langmuir/PICMI_inputs_langmuir_rz_multimode_analyze.py
index 3db0b838f..dae0ba40d 100755
--- a/Examples/Tests/Langmuir/PICMI_inputs_langmuir_rz_multimode_analyze.py
+++ b/Examples/Tests/Langmuir/PICMI_inputs_langmuir_rz_multimode_analyze.py
@@ -4,12 +4,13 @@
# This simulates a RZ multimode periodic plasma wave.
# The electric field from the simulation is compared to the analytic value
-import numpy as np
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
+import numpy as np
import pywarpx
-from pywarpx import picmi, fields
+from pywarpx import fields, picmi
constants = picmi.constants
diff --git a/Examples/Tests/Langmuir/analysis_langmuir_multi.py b/Examples/Tests/Langmuir/analysis_langmuir_multi.py
index 29dbe2255..c45a40219 100755
--- a/Examples/Tests/Langmuir/analysis_langmuir_multi.py
+++ b/Examples/Tests/Langmuir/analysis_langmuir_multi.py
@@ -6,24 +6,28 @@
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL
-
-
+#
# This is a script that analyses the simulation results from
# the script `inputs.multi.rt`. This simulates a 3D periodic plasma wave.
# The electric field in the simulation is given (in theory) by:
# $$ E_x = \epsilon \,\frac{m_e c^2 k_x}{q_e}\sin(k_x x)\cos(k_y y)\cos(k_z z)\sin( \omega_p t)$$
# $$ E_y = \epsilon \,\frac{m_e c^2 k_y}{q_e}\cos(k_x x)\sin(k_y y)\cos(k_z z)\sin( \omega_p t)$$
# $$ E_z = \epsilon \,\frac{m_e c^2 k_z}{q_e}\cos(k_x x)\cos(k_y y)\sin(k_z z)\sin( \omega_p t)$$
-import sys
import re
+import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import yt
+
yt.funcs.mylog.setLevel(50)
-import numpy as np
import os
-from scipy.constants import e, m_e, epsilon_0, c
+
+import numpy as np
+from scipy.constants import c, e, epsilon_0, m_e
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py b/Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py
index 5fb03e459..52fda1dcf 100755
--- a/Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py
+++ b/Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py
@@ -6,21 +6,24 @@
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL
-
-
+#
# This is a script that analyses the simulation results from
# the script `inputs.multi.rt`. This simulates a 1D periodic plasma wave.
# The electric field in the simulation is given (in theory) by:
# $$ E_z = \epsilon \,\frac{m_e c^2 k_z}{q_e}\sin(k_z z)\sin( \omega_p t)$$
-import sys
import re
+import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import yt
+
yt.funcs.mylog.setLevel(50)
import numpy as np
-from scipy.constants import e, m_e, epsilon_0, c
+from scipy.constants import c, e, epsilon_0, m_e
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py b/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
index 17a6fd72b..8b88dc995 100755
--- a/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
+++ b/Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
@@ -6,24 +6,28 @@
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL
-
-
+#
# This is a script that analyses the simulation results from
# the script `inputs.multi.rt`. This simulates a 3D periodic plasma wave.
# The electric field in the simulation is given (in theory) by:
# $$ E_x = \epsilon \,\frac{m_e c^2 k_x}{q_e}\sin(k_x x)\cos(k_y y)\cos(k_z z)\sin( \omega_p t)$$
# $$ E_y = \epsilon \,\frac{m_e c^2 k_y}{q_e}\cos(k_x x)\sin(k_y y)\cos(k_z z)\sin( \omega_p t)$$
# $$ E_z = \epsilon \,\frac{m_e c^2 k_z}{q_e}\cos(k_x x)\cos(k_y y)\sin(k_z z)\sin( \omega_p t)$$
-import sys
+import os
import re
+import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import yt
+
yt.funcs.mylog.setLevel(50)
+
import numpy as np
-import os
-from scipy.constants import e, m_e, epsilon_0, c
+from scipy.constants import c, e, epsilon_0, m_e
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py b/Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
index d99c6426e..87fd0b367 100755
--- a/Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
+++ b/Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
@@ -5,8 +5,7 @@
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL
-
-
+#
# This is a script that analyses the simulation results from
# the script `inputs.multi.rz.rt`. This simulates a RZ periodic plasma wave.
# The electric field in the simulation is given (in theory) by:
@@ -14,17 +13,22 @@
# $$ E_z = -\partial_z \phi = - \epsilon \,\frac{mc^2}{e} k_0 \exp\left(-\frac{r^2}{w_0^2}\right) \cos(k_0 z) \sin(\omega_p t)
# Unrelated to the Langmuir waves, we also test the plotfile particle filter function in this
# analysis script.
-import sys
+import os
import re
+import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import yt
+
yt.funcs.mylog.setLevel(50)
+
import numpy as np
-import os
-from scipy.constants import e, m_e, epsilon_0, c
import post_processing_utils
+from scipy.constants import c, e, epsilon_0, m_e
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/Maxwell_Hybrid_QED/analysis_Maxwell_QED_Hybrid.py b/Examples/Tests/Maxwell_Hybrid_QED/analysis_Maxwell_QED_Hybrid.py
index 0db5e0a75..e74e9c524 100755
--- a/Examples/Tests/Maxwell_Hybrid_QED/analysis_Maxwell_QED_Hybrid.py
+++ b/Examples/Tests/Maxwell_Hybrid_QED/analysis_Maxwell_QED_Hybrid.py
@@ -7,10 +7,12 @@
# License: BSD-3-Clause-LBNL
import sys
-import yt ; yt.funcs.mylog.setLevel(0)
+
import numpy as np
import scipy.constants as scc
+import yt ; yt.funcs.mylog.setLevel(0)
+
# Static electric field and quantum parameters, from the input file.
Es = 1.0e5
xi = 1.0e-23
diff --git a/Examples/Tests/PEC/analysis_pec.py b/Examples/Tests/PEC/analysis_pec.py
index 32bb10ddf..0414420ef 100755
--- a/Examples/Tests/PEC/analysis_pec.py
+++ b/Examples/Tests/PEC/analysis_pec.py
@@ -5,22 +5,26 @@
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL
-
-
+#
# This is a script that analyses the simulation results from
# the script `inputs_field_PEC_3d`. This simulates a sinusoindal wave.
# The electric field (Ey) is a standing wave due to the PEC boundary condition,
# and as a result, the minimum and maximum value after reflection would be two times the value at initialization due to constructive interference.
# Additionally, the value of Ey at the boundary must be equal to zero.
-import sys
+import os
import re
+import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import yt
+
yt.funcs.mylog.setLevel(50)
+
import numpy as np
-import os
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/PEC/analysis_pec_mr.py b/Examples/Tests/PEC/analysis_pec_mr.py
index 9d7d6656e..1f9e5276c 100755
--- a/Examples/Tests/PEC/analysis_pec_mr.py
+++ b/Examples/Tests/PEC/analysis_pec_mr.py
@@ -5,22 +5,26 @@
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL
-
-
+#
# This is a script that analyses the simulation results from
# the script `inputs_field_PEC_mr_3d`. This simulates a sinusoindal wave.
# The electric field (Ey) is a standing wave due to the PEC boundary condition,
# and as a result, the minimum and maximum value after reflection would be two times the value at initialization due to constructive interference.
# Additionally, the value of Ey at the boundary must be equal to zero.
-import sys
+import os
import re
+import sys
+
import matplotlib
+
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import yt
+
yt.funcs.mylog.setLevel(50)
+
import numpy as np
-import os
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/PML/analysis_pml_ckc.py b/Examples/Tests/PML/analysis_pml_ckc.py
index 74faab3d7..c4b9d5464 100755
--- a/Examples/Tests/PML/analysis_pml_ckc.py
+++ b/Examples/Tests/PML/analysis_pml_ckc.py
@@ -8,11 +8,13 @@
# License: BSD-3-Clause-LBNL
+import os
import sys
-import yt ; yt.funcs.mylog.setLevel(0)
+
import numpy as np
-import os
import scipy.constants as scc
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/PML/analysis_pml_psatd.py b/Examples/Tests/PML/analysis_pml_psatd.py
index 9710ee4e9..287ce1e29 100755
--- a/Examples/Tests/PML/analysis_pml_psatd.py
+++ b/Examples/Tests/PML/analysis_pml_psatd.py
@@ -7,11 +7,13 @@
#
# License: BSD-3-Clause-LBNL
+import os
import sys
-import yt ; yt.funcs.mylog.setLevel(0)
+
import numpy as np
-import os
import scipy.constants as scc
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
@@ -67,6 +69,7 @@ assert(reflectivity < reflectivity_max)
# Check restart data v. original data
sys.path.insert(0, '../../../../warpx/Examples/')
from analysis_default_restart import check_restart
+
check_restart(filename)
test_name = os.path.split(os.getcwd())[1]
diff --git a/Examples/Tests/PML/analysis_pml_yee.py b/Examples/Tests/PML/analysis_pml_yee.py
index 61527ef2d..f10b281c5 100755
--- a/Examples/Tests/PML/analysis_pml_yee.py
+++ b/Examples/Tests/PML/analysis_pml_yee.py
@@ -8,11 +8,13 @@
# License: BSD-3-Clause-LBNL
+import os
import sys
-import yt ; yt.funcs.mylog.setLevel(0)
+
import numpy as np
-import os
import scipy.constants as scc
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
@@ -55,6 +57,7 @@ assert( error_rel < tolerance_rel )
# Check restart data v. original data
sys.path.insert(0, '../../../../warpx/Examples/')
from analysis_default_restart import check_restart
+
check_restart(filename)
test_name = os.path.split(os.getcwd())[1]
diff --git a/Examples/Tests/ParticleDataPython/PICMI_inputs_2d.py b/Examples/Tests/ParticleDataPython/PICMI_inputs_2d.py
index 2162236eb..6df8d676c 100755
--- a/Examples/Tests/ParticleDataPython/PICMI_inputs_2d.py
+++ b/Examples/Tests/ParticleDataPython/PICMI_inputs_2d.py
@@ -1,9 +1,10 @@
#!/usr/bin/env python3
import argparse
import sys
+
import numpy as np
import pywarpx
-from pywarpx import picmi, callbacks
+from pywarpx import callbacks, picmi
# Create the parser and add the argument
parser = argparse.ArgumentParser()
diff --git a/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py b/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py
index 8e4648554..597bcd69a 100755
--- a/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py
+++ b/Examples/Tests/PythonWrappers/PICMI_inputs_2d.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
-import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.axes_divider import make_axes_locatable
+import numpy as np
from pywarpx import picmi
# Number of time steps
@@ -171,6 +171,7 @@ sim.initialize_warpx()
# Get fields data using Python wrappers
import pywarpx.fields as pwxf
+
Ex = pwxf.ExFPWrapper(include_ghosts = include_ghosts)
Ey = pwxf.EyFPWrapper(include_ghosts = include_ghosts)
Ez = pwxf.EzFPWrapper(include_ghosts = include_ghosts)
diff --git a/Examples/Tests/RepellingParticles/analysis_repelling.py b/Examples/Tests/RepellingParticles/analysis_repelling.py
index e9df1e4b2..0aa3ed53d 100755
--- a/Examples/Tests/RepellingParticles/analysis_repelling.py
+++ b/Examples/Tests/RepellingParticles/analysis_repelling.py
@@ -22,12 +22,16 @@ w is the weight of the individual macroparticles
d is the distance between them
beta is the velocity normalized by the speed of light
"""
-import numpy as np
-from scipy.constants import m_e, c, physical_constants
-import sys, re, os
-import yt
import glob
+import os
+import re
+import sys
+
import matplotlib.pyplot as plt
+import numpy as np
+from scipy.constants import c, m_e, physical_constants
+import yt
+
yt.funcs.mylog.setLevel(0)
# Check plotfile name specified in command line
@@ -74,5 +78,6 @@ assert np.allclose( -beta2[1:], beta_th[1:], atol=0.01 )
# Run checksum regression test
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
+
test_name = os.path.split(os.getcwd())[1]
checksumAPI.evaluate_checksum(test_name, last_filename)
diff --git a/Examples/Tests/SilverMueller/analysis_silver_mueller.py b/Examples/Tests/SilverMueller/analysis_silver_mueller.py
index 947d92acd..9fa7dc9f1 100755
--- a/Examples/Tests/SilverMueller/analysis_silver_mueller.py
+++ b/Examples/Tests/SilverMueller/analysis_silver_mueller.py
@@ -11,10 +11,12 @@ A laser pulse is emitted and propagates towards the boundaries ; the
test check that the reflected field at the boundary is negligible.
"""
+import os
import sys
-import yt ; yt.funcs.mylog.setLevel(0)
+
import numpy as np
-import os
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/SingleParticle/analysis_bilinear_filter.py b/Examples/Tests/SingleParticle/analysis_bilinear_filter.py
index 310948ce2..95ee07619 100755
--- a/Examples/Tests/SingleParticle/analysis_bilinear_filter.py
+++ b/Examples/Tests/SingleParticle/analysis_bilinear_filter.py
@@ -7,11 +7,13 @@
# License: BSD-3-Clause-LBNL
+import os
import sys
-import yt ; yt.funcs.mylog.setLevel(0)
+
import numpy as np
-import os
from scipy import signal
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/boundaries/analysis.py b/Examples/Tests/boundaries/analysis.py
index ca86d6b8b..0a879bb83 100755
--- a/Examples/Tests/boundaries/analysis.py
+++ b/Examples/Tests/boundaries/analysis.py
@@ -14,11 +14,13 @@ along each of the three axis. It launches particles heading toward each of the b
and checks that they end up in the correct place (or are deleted).
"""
+import os
import sys
-import yt
+
import numpy as np
-import os
-from scipy.constants import m_e, c
+from scipy.constants import c, m_e
+import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/collision/analysis_collision_2d.py b/Examples/Tests/collision/analysis_collision_2d.py
index 4eefa280b..07cbe50d4 100755
--- a/Examples/Tests/collision/analysis_collision_2d.py
+++ b/Examples/Tests/collision/analysis_collision_2d.py
@@ -23,14 +23,16 @@
# tolerance: 0.001
# Possible running time: ~ 30.0 s
-import sys
-import yt
+import glob
import math
-import numpy
import os
-import glob
import re
+import sys
+
+import numpy
import post_processing_utils
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/collision/analysis_collision_3d.py b/Examples/Tests/collision/analysis_collision_3d.py
index 8bc8f700b..52cbf6dab 100755
--- a/Examples/Tests/collision/analysis_collision_3d.py
+++ b/Examples/Tests/collision/analysis_collision_3d.py
@@ -23,14 +23,16 @@
# tolerance: 0.001
# Possible running time: ~ 30.0 s
-import sys
-import yt
+import glob
import math
-import numpy
import os
-import glob
import re
+import sys
+
+import numpy
import post_processing_utils
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/collision/analysis_collision_rz.py b/Examples/Tests/collision/analysis_collision_rz.py
index 72f57eb09..9f9b9c17f 100755
--- a/Examples/Tests/collision/analysis_collision_rz.py
+++ b/Examples/Tests/collision/analysis_collision_rz.py
@@ -16,11 +16,13 @@
# tolerance: 1.0e-30
# Possible running time: ~ 1.0 s
+from glob import glob
import os
import sys
-import yt
+
import numpy as np
-from glob import glob
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/divb_cleaning/analysis.py b/Examples/Tests/divb_cleaning/analysis.py
index 4f7e34e36..1cdbdcb78 100755
--- a/Examples/Tests/divb_cleaning/analysis.py
+++ b/Examples/Tests/divb_cleaning/analysis.py
@@ -7,12 +7,16 @@
# License: BSD-3-Clause-LBNL
import sys
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
-import numpy as np
import os
+
+import numpy as np
import yt
+
yt.funcs.mylog.setLevel(50)
import re
+
import checksumAPI
from scipy.constants import c
diff --git a/Examples/Tests/embedded_circle/analysis.py b/Examples/Tests/embedded_circle/analysis.py
index 28391ebe2..6401b47bb 100755
--- a/Examples/Tests/embedded_circle/analysis.py
+++ b/Examples/Tests/embedded_circle/analysis.py
@@ -2,6 +2,7 @@
import os
import sys
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/galilean/analysis_2d.py b/Examples/Tests/galilean/analysis_2d.py
index b7ea2b6e7..820dcc667 100755
--- a/Examples/Tests/galilean/analysis_2d.py
+++ b/Examples/Tests/galilean/analysis_2d.py
@@ -14,12 +14,14 @@ It compares the energy of the electric field with precalculated reference energy
* if averaged Galilean PSATD is used ('psatd.do_time_averaging == 1) :
NCI is suppressed => simulation is stable.
"""
-import sys
+import os
import re
-import yt ; yt.funcs.mylog.setLevel(0)
+import sys
+
import numpy as np
-import os
import scipy.constants as scc
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/galilean/analysis_3d.py b/Examples/Tests/galilean/analysis_3d.py
index a05aadf6a..d224e2b9a 100755
--- a/Examples/Tests/galilean/analysis_3d.py
+++ b/Examples/Tests/galilean/analysis_3d.py
@@ -14,12 +14,14 @@ It compares the energy of the electric field with precalculated reference energy
* if averaged Galilean PSATD is used ('psatd.do_time_averaging == 1) :
NCI is suppressed => simulation is stable.
"""
-import sys
+import os
import re
-import yt ; yt.funcs.mylog.setLevel(0)
+import sys
+
import numpy as np
-import os
import scipy.constants as scc
+
+import yt ; yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/initial_distribution/analysis_distribution.py b/Examples/Tests/initial_distribution/analysis_distribution.py
index 98e48420a..23b0a38c0 100755
--- a/Examples/Tests/initial_distribution/analysis_distribution.py
+++ b/Examples/Tests/initial_distribution/analysis_distribution.py
@@ -16,12 +16,14 @@
# 7 denotes maxwell-boltzmann distribution w/ spatially-varying velocity
# The distribution is obtained through reduced diagnostic ParticleHistogram.
-import numpy as np
import os
+import sys
+
+import numpy as np
+from read_raw_data import read_reduced_diags, read_reduced_diags_histogram
import scipy.constants as scc
import scipy.special as scs
-from read_raw_data import read_reduced_diags_histogram, read_reduced_diags
-import sys
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/initial_plasma_profile/analysis.py b/Examples/Tests/initial_plasma_profile/analysis.py
index 552ac473a..b8cfaad10 100755
--- a/Examples/Tests/initial_plasma_profile/analysis.py
+++ b/Examples/Tests/initial_plasma_profile/analysis.py
@@ -8,7 +8,9 @@
import os
import sys
+
import yt
+
yt.funcs.mylog.setLevel(50)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
diff --git a/Examples/Tests/particle_pusher/analysis_pusher.py b/Examples/Tests/particle_pusher/analysis_pusher.py
index ae12b211a..0d9e3a743 100755
--- a/Examples/Tests/particle_pusher/analysis_pusher.py
+++ b/Examples/Tests/particle_pusher/analysis_pusher.py
@@ -24,7 +24,9 @@
import os
import sys
+
import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py b/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py
index ebc517e55..85878d3ad 100755
--- a/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py
+++ b/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py
@@ -19,7 +19,9 @@ charge, with associated fields, behind them.
"""
import os
import sys
+
import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/pass_mpi_communicator/PICMI_inputs_2d.py b/Examples/Tests/pass_mpi_communicator/PICMI_inputs_2d.py
index 540766152..fbb108a0e 100755
--- a/Examples/Tests/pass_mpi_communicator/PICMI_inputs_2d.py
+++ b/Examples/Tests/pass_mpi_communicator/PICMI_inputs_2d.py
@@ -8,6 +8,7 @@
from mpi4py import MPI
import pywarpx
from pywarpx import picmi
+
constants = picmi.constants
##########################
diff --git a/Examples/Tests/pass_mpi_communicator/analysis.py b/Examples/Tests/pass_mpi_communicator/analysis.py
index 9c1be3e51..db23c7047 100755
--- a/Examples/Tests/pass_mpi_communicator/analysis.py
+++ b/Examples/Tests/pass_mpi_communicator/analysis.py
@@ -4,15 +4,18 @@
# the script `PICMI_inputs_2d`.
import sys
+
import matplotlib
+
matplotlib.use('Agg')
import yt
+
yt.funcs.mylog.setLevel(50)
import numpy as np
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksum
-
# this will be the name of the first plot file
fn1 = "Python_pass_mpi_comm_plt1_00010"
# second plot file
diff --git a/Examples/Tests/photon_pusher/analysis_photon_pusher.py b/Examples/Tests/photon_pusher/analysis_photon_pusher.py
index 03c47b314..92d1e95f7 100755
--- a/Examples/Tests/photon_pusher/analysis_photon_pusher.py
+++ b/Examples/Tests/photon_pusher/analysis_photon_pusher.py
@@ -7,10 +7,12 @@
#
# License: BSD-3-Clause-LBNL
-import yt
-import numpy as np
import os
import sys
+
+import numpy as np
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/plasma_lens/analysis.py b/Examples/Tests/plasma_lens/analysis.py
index 094870eaf..f13ecb00f 100755
--- a/Examples/Tests/plasma_lens/analysis.py
+++ b/Examples/Tests/plasma_lens/analysis.py
@@ -15,11 +15,13 @@ The final positions are compared to the analytic solutions.
The motion is slow enough that relativistic effects are ignored.
"""
-import sys
import os
-import yt
+import sys
+
import numpy as np
-from scipy.constants import e, m_e, c
+from scipy.constants import c, e, m_e
+import yt
+
yt.funcs.mylog.setLevel(0)
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/radiation_reaction/test_const_B_analytical/analysis_classicalRR.py b/Examples/Tests/radiation_reaction/test_const_B_analytical/analysis_classicalRR.py
index d56990e1a..001dd5011 100755
--- a/Examples/Tests/radiation_reaction/test_const_B_analytical/analysis_classicalRR.py
+++ b/Examples/Tests/radiation_reaction/test_const_B_analytical/analysis_classicalRR.py
@@ -30,10 +30,12 @@
# 3) H. Spohn, Dynamics of charged particles and their radiation field
# (Cambridge University Press, Cambridge, 2004)
-import numpy as np
import os
import sys
+
+import numpy as np
import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/reduced_diags/analysis_reduced_diags_impl.py b/Examples/Tests/reduced_diags/analysis_reduced_diags_impl.py
index 3be1667d1..81d5f8fc2 100755
--- a/Examples/Tests/reduced_diags/analysis_reduced_diags_impl.py
+++ b/Examples/Tests/reduced_diags/analysis_reduced_diags_impl.py
@@ -11,13 +11,16 @@
# Various particle and field quantities are written to file using the reduced diagnostics
# and compared with the corresponding quantities computed from the data in the plotfiles.
+import os
import sys
-import yt
+
import numpy as np
-import os
-from scipy.constants import c, m_e, m_p
-from scipy.constants import mu_0 as mu0
+from scipy.constants import c
from scipy.constants import epsilon_0 as eps0
+from scipy.constants import m_e, m_p
+from scipy.constants import mu_0 as mu0
+import yt
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/reduced_diags/analysis_reduced_diags_loadbalancecosts.py b/Examples/Tests/reduced_diags/analysis_reduced_diags_loadbalancecosts.py
index 2246eaeb3..263e16bdf 100755
--- a/Examples/Tests/reduced_diags/analysis_reduced_diags_loadbalancecosts.py
+++ b/Examples/Tests/reduced_diags/analysis_reduced_diags_loadbalancecosts.py
@@ -17,9 +17,11 @@
# Possible running time: ~ 1 s
-import numpy as np
import os
import sys
+
+import numpy as np
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/Tests/restart/PICMI_inputs_runtime_component_analyze.py b/Examples/Tests/restart/PICMI_inputs_runtime_component_analyze.py
index bc1cd9217..ffb820fed 100755
--- a/Examples/Tests/restart/PICMI_inputs_runtime_component_analyze.py
+++ b/Examples/Tests/restart/PICMI_inputs_runtime_component_analyze.py
@@ -5,9 +5,10 @@
# to the original simulation.
import sys
+
import numpy as np
import pywarpx
-from pywarpx import picmi, callbacks
+from pywarpx import callbacks, picmi
##########################
# physics parameters
diff --git a/Examples/Tests/restart/analysis_restart.py b/Examples/Tests/restart/analysis_restart.py
index 7934cd518..1a5b13746 100755
--- a/Examples/Tests/restart/analysis_restart.py
+++ b/Examples/Tests/restart/analysis_restart.py
@@ -1,7 +1,8 @@
#!/usr/bin/env python3
-import sys
import os
+import sys
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
@@ -10,6 +11,7 @@ filename = sys.argv[1]
# Check restart data v. original data
sys.path.insert(0, '../../../../warpx/Examples/')
from analysis_default_restart import check_restart
+
check_restart(filename)
# Check-sum analysis
diff --git a/Examples/analysis_default_regression.py b/Examples/analysis_default_regression.py
index 3198cbe37..453f650be 100755
--- a/Examples/analysis_default_regression.py
+++ b/Examples/analysis_default_regression.py
@@ -1,8 +1,9 @@
#!/usr/bin/env python3
import os
-import sys
import re
+import sys
+
sys.path.insert(1, '../../../../warpx/Regression/Checksum/')
import checksumAPI
diff --git a/Examples/analysis_default_restart.py b/Examples/analysis_default_restart.py
index 21373b30a..612851678 100755
--- a/Examples/analysis_default_restart.py
+++ b/Examples/analysis_default_restart.py
@@ -3,6 +3,7 @@
import numpy as np
import yt
+
def check_restart(filename, tolerance = 1e-12):
"""
Compare output data generated from initial run with output data generated after restart.
diff --git a/Python/pywarpx/Bucket.py b/Python/pywarpx/Bucket.py
index 3a0d2862c..917bf47f2 100644
--- a/Python/pywarpx/Bucket.py
+++ b/Python/pywarpx/Bucket.py
@@ -7,6 +7,7 @@
import numpy as np
+
class Bucket(object):
"""
The purpose of this class is to be a named bucket for holding attributes.
diff --git a/Python/pywarpx/Constants.py b/Python/pywarpx/Constants.py
index abc0c3e87..e899fa255 100644
--- a/Python/pywarpx/Constants.py
+++ b/Python/pywarpx/Constants.py
@@ -8,6 +8,7 @@ import re
from .Bucket import Bucket
+
class Constants(Bucket):
"""
The purpose of this class is to be hold user defined constants
diff --git a/Python/pywarpx/PGroup.py b/Python/pywarpx/PGroup.py
index ad6b4b878..f19c0d079 100644
--- a/Python/pywarpx/PGroup.py
+++ b/Python/pywarpx/PGroup.py
@@ -5,8 +5,10 @@
# License: BSD-3-Clause-LBNL
import numpy as np
+
from . import _libwarpx
+
class PGroup(object):
"""Implements a class that has the same API as a warp ParticleGroup instance.
"""
diff --git a/Python/pywarpx/WarpInterface.py b/Python/pywarpx/WarpInterface.py
index 46c38ffdc..0a1899389 100644
--- a/Python/pywarpx/WarpInterface.py
+++ b/Python/pywarpx/WarpInterface.py
@@ -14,9 +14,10 @@
# The class WarpX_EM3D inherits from Warp's EM3D class. It primarily provides
# access to the field plotting routines.
+from pywarpx import PGroup
import warp
+
from . import fields
-from pywarpx import PGroup
# The particle weight is always the first pid
warp.top.wpid = 1
diff --git a/Python/pywarpx/WarpX.py b/Python/pywarpx/WarpX.py
index 232550764..8c4900fab 100644
--- a/Python/pywarpx/WarpX.py
+++ b/Python/pywarpx/WarpX.py
@@ -5,22 +5,20 @@
#
# License: BSD-3-Clause-LBNL
+from . import Particles, _libwarpx
+from .Algo import algo
+from .Amr import amr
+from .Boundary import boundary
from .Bucket import Bucket
+from .Collisions import collisions, collisions_list
from .Constants import my_constants
-from .Amr import amr
+from .Diagnostics import diagnostics
from .Geometry import geometry
-from .Boundary import boundary
-from .Algo import algo
-from .Langmuirwave import langmuirwave
from .Interpolation import interpolation
+from .Langmuirwave import langmuirwave
from .Lasers import lasers, lasers_list
-from . import Particles
-from .Particles import particles, particles_list
-from .Collisions import collisions, collisions_list
from .PSATD import psatd
-from .Diagnostics import diagnostics
-
-from . import _libwarpx
+from .Particles import particles, particles_list
class WarpX(Bucket):
diff --git a/Python/pywarpx/WarpXPIC.py b/Python/pywarpx/WarpXPIC.py
index e98ff823d..a2efaffbd 100644
--- a/Python/pywarpx/WarpXPIC.py
+++ b/Python/pywarpx/WarpXPIC.py
@@ -12,8 +12,10 @@
# able to run a customized PIC simulation with that code.
from warp.run_modes.timestepper import PICAPI
+
from ._libwarpx import libwarpx
+
class WarpXPIC(PICAPI):
def get_time(self):
diff --git a/Python/pywarpx/__init__.py b/Python/pywarpx/__init__.py
index fb671915e..8751b07ff 100644
--- a/Python/pywarpx/__init__.py
+++ b/Python/pywarpx/__init__.py
@@ -4,18 +4,17 @@
#
# License: BSD-3-Clause-LBNL
-from .WarpX import warpx
-from .Constants import my_constants
+from .Algo import algo
from .Amr import amr
from .Boundary import boundary
+from .Collisions import collisions
+from .Constants import my_constants
+from .Diagnostics import diagnostics
from .Geometry import geometry
-from .Algo import algo
-from .Langmuirwave import langmuirwave
from .Interpolation import interpolation
-from .Particles import particles, electrons, positrons, protons, newspecies
-from .Collisions import collisions
-from .PSATD import psatd
+from .Langmuirwave import langmuirwave
from .Lasers import lasers
-from .Diagnostics import diagnostics
-
+from .PSATD import psatd
+from .Particles import electrons, newspecies, particles, positrons, protons
+from .WarpX import warpx
from ._libwarpx import * # noqa
diff --git a/Python/pywarpx/_libwarpx.py b/Python/pywarpx/_libwarpx.py
index 2c942c49d..84e13d1af 100755
--- a/Python/pywarpx/_libwarpx.py
+++ b/Python/pywarpx/_libwarpx.py
@@ -5,13 +5,14 @@
#
# License: BSD-3-Clause-LBNL
-# --- This defines the wrapper functions that directly call the underlying compiled routines
-import os
-import sys
-import platform
import atexit
import ctypes
from ctypes.util import find_library as _find_library
+# --- This defines the wrapper functions that directly call the underlying compiled routines
+import os
+import platform
+import sys
+
import numpy as np
from numpy.ctypeslib import ndpointer as _ndpointer
@@ -21,6 +22,7 @@ try:
# --- If mpi4py is going to be used, this needs to be imported
# --- before libwarpx is loaded, because mpi4py calls MPI_Init
from mpi4py import MPI
+
# --- Change MPI Comm type depending on MPICH (int) or OpenMPI (void*)
if MPI._sizeof(MPI.Comm) == ctypes.sizeof(ctypes.c_int):
_MPI_Comm_type = ctypes.c_int
diff --git a/Python/pywarpx/callbacks.py b/Python/pywarpx/callbacks.py
index 49d0c3db2..35cc51894 100644
--- a/Python/pywarpx/callbacks.py
+++ b/Python/pywarpx/callbacks.py
@@ -53,15 +53,17 @@ installafterstep(myplots)
"""
from __future__ import generators
-import types
import copy
-import time
import ctypes
import sys
+import time
+import types
+
import numpy
from ._libwarpx import libwarpx
+
class CallbackFunctions(object):
"""
Class to handle call back function lists.
diff --git a/Python/pywarpx/fields.py b/Python/pywarpx/fields.py
index 6f4ec1c43..85b0f2f23 100644
--- a/Python/pywarpx/fields.py
+++ b/Python/pywarpx/fields.py
@@ -14,6 +14,7 @@ JxWrapper, JyWrapper, JzWrapper
"""
import numpy as np
+
try:
from mpi4py import MPI as mpi
comm_world = mpi.COMM_WORLD
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index 677253405..cbe01baa6 100644
--- a/Python/pywarpx/picmi.py
+++ b/Python/pywarpx/picmi.py
@@ -8,12 +8,13 @@
"""Classes following the PICMI standard
"""
-import re
import os
-import picmistandard
+import re
+
import numpy as np
-import pywarpx
import periodictable
+import picmistandard
+import pywarpx
codename = 'warpx'
picmistandard.register_codename(codename)
diff --git a/Python/pywarpx/timestepper.py b/Python/pywarpx/timestepper.py
index f75bc8c2b..de341097a 100644
--- a/Python/pywarpx/timestepper.py
+++ b/Python/pywarpx/timestepper.py
@@ -12,8 +12,7 @@
# Note that this is intended to be an example only and may not be functional. The
# onestep routine as written here is out of date and is not consistent with WarpX::Evolve.
-from . import libwarpx
-from . import callbacks
+from . import callbacks, libwarpx
class TimeStepper(object):
diff --git a/Regression/Checksum/benchmark.py b/Regression/Checksum/benchmark.py
index 47f2535cd..771aa06e1 100644
--- a/Regression/Checksum/benchmark.py
+++ b/Regression/Checksum/benchmark.py
@@ -6,10 +6,11 @@ This file is part of WarpX.
License: BSD-3-Clause-LBNL
"""
-import config
import json
import os
+import config
+
class Benchmark:
'''Holds data and functions for referenc benchmark of one checksum test.
diff --git a/Regression/Checksum/checksum.py b/Regression/Checksum/checksum.py
index 341a791b1..da8ec8225 100644
--- a/Regression/Checksum/checksum.py
+++ b/Regression/Checksum/checksum.py
@@ -6,10 +6,11 @@
License: BSD-3-Clause-LBNL
"""
-from benchmark import Benchmark
-import yt
import sys
+
+from benchmark import Benchmark
import numpy as np
+import yt
yt.funcs.mylog.setLevel(50)
diff --git a/Regression/Checksum/checksumAPI.py b/Regression/Checksum/checksumAPI.py
index 40c607fc8..3d25413bd 100755
--- a/Regression/Checksum/checksumAPI.py
+++ b/Regression/Checksum/checksumAPI.py
@@ -8,12 +8,13 @@
License: BSD-3-Clause-LBNL
"""
-from checksum import Checksum
-from benchmark import Benchmark
import argparse
import glob
-import sys
import os
+import sys
+
+from benchmark import Benchmark
+from checksum import Checksum
'''
API for WarpX checksum tests. It can be used in two ways:
diff --git a/Regression/PostProcessingUtils/post_processing_utils.py b/Regression/PostProcessingUtils/post_processing_utils.py
index 1ce398121..50026ca10 100644
--- a/Regression/PostProcessingUtils/post_processing_utils.py
+++ b/Regression/PostProcessingUtils/post_processing_utils.py
@@ -9,6 +9,7 @@
import numpy as np
import yt
+
## This is a generic function to test a particle filter. We reproduce the filter in python and
## verify that the results are the same as with the WarpX filtered diagnostic.
def check_particle_filter(fn, filtered_fn, filter_expression, dim, species_name):
diff --git a/Regression/prepare_file_ci.py b/Regression/prepare_file_ci.py
index 46c9bf8b1..03accd185 100644
--- a/Regression/prepare_file_ci.py
+++ b/Regression/prepare_file_ci.py
@@ -5,13 +5,14 @@
#
# License: BSD-3-Clause-LBNL
+import os
# This script modifies `WarpX-test.ini` (which is used for nightly builds)
# and creates the file `ci-test.ini` (which is used for continous
# integration)
# The subtests that are selected are controlled by WARPX_TEST_DIM
# The architecture (CPU/GPU) is selected by WARPX_TEST_ARCH
import re
-import os
+
# Get relevant environment variables
arch = os.environ.get('WARPX_TEST_ARCH', 'CPU')
diff --git a/Source/Utils/check_interp_points_and_weights.py b/Source/Utils/check_interp_points_and_weights.py
index 13b429050..4d54af01c 100644
--- a/Source/Utils/check_interp_points_and_weights.py
+++ b/Source/Utils/check_interp_points_and_weights.py
@@ -24,9 +24,11 @@
# data. C++ implementation in Source/Utils/CoarsenMR.H/.cpp and Source/Utils/CoarsenIO.H/.cpp
#-------------------------------------------------------------------------------
-import numpy as np
import sys
+import numpy as np
+
+
# Fine grid limits (without ghost cells)
def fine_grid_limits( sf ):
if ( sf == 0 ): # cell-centered
diff --git a/Source/Utils/write_atomic_data_cpp.py b/Source/Utils/write_atomic_data_cpp.py
index d1df7a3ea..3b0538aa1 100644
--- a/Source/Utils/write_atomic_data_cpp.py
+++ b/Source/Utils/write_atomic_data_cpp.py
@@ -13,7 +13,9 @@ the NIST website) and extracts ionization levels into C++ file
IonizationEnergiesTable.H, which contains tables + metadata.
'''
-import re, os
+import os
+import re
+
import numpy as np
filename = os.path.join( '.', 'atomic_data.txt' )
diff --git a/Tools/LibEnsemble/plot_results.py b/Tools/LibEnsemble/plot_results.py
index 5c2548257..6c294fe36 100755
--- a/Tools/LibEnsemble/plot_results.py
+++ b/Tools/LibEnsemble/plot_results.py
@@ -6,12 +6,13 @@ input: A directory which which the script will read the
latest .npy and .pickle files generated by LibEnsemble
"""
-import os
-import sys
import glob
+import os
import pickle
-import numpy as np
+import sys
+
import matplotlib.pyplot as plt
+import numpy as np
# 'aposmm' or 'random'
generator_type = 'random'
diff --git a/Tools/LibEnsemble/read_sim_output.py b/Tools/LibEnsemble/read_sim_output.py
index 861575e88..5eabf1803 100644
--- a/Tools/LibEnsemble/read_sim_output.py
+++ b/Tools/LibEnsemble/read_sim_output.py
@@ -1,9 +1,10 @@
+import glob
import os
import shutil
+
import numpy as np
-import yt
import scipy.constants as scc
-import glob
+import yt
"""
This file is part of the suite of scripts to use LibEnsemble on top of WarpX
diff --git a/Tools/LibEnsemble/run_libensemble_on_warpx.py b/Tools/LibEnsemble/run_libensemble_on_warpx.py
index d3f3deec0..dec8dfd54 100644
--- a/Tools/LibEnsemble/run_libensemble_on_warpx.py
+++ b/Tools/LibEnsemble/run_libensemble_on_warpx.py
@@ -20,32 +20,31 @@ generator_type = 'aposmm'
machine = 'local'
import sys
-import numpy as np
-from warpx_simf import run_warpx # Sim function from current directory
# Import libEnsemble modules
from libensemble.libE import libE
+import numpy as np
+from warpx_simf import run_warpx # Sim function from current directory
+
if generator_type == 'random':
- from libensemble.gen_funcs.sampling \
- import uniform_random_sample as gen_f
- from libensemble.alloc_funcs.give_sim_work_first\
- import give_sim_work_first as alloc_f
+ from libensemble.alloc_funcs.give_sim_work_first import \
+ give_sim_work_first as alloc_f
+ from libensemble.gen_funcs.sampling import uniform_random_sample as gen_f
elif generator_type == 'aposmm':
import libensemble.gen_funcs
libensemble.gen_funcs.rc.aposmm_optimizers = 'nlopt'
+ from libensemble.alloc_funcs.persistent_aposmm_alloc import \
+ persistent_aposmm_alloc as alloc_f
from libensemble.gen_funcs.persistent_aposmm import aposmm as gen_f
- from libensemble.alloc_funcs.persistent_aposmm_alloc \
- import persistent_aposmm_alloc as alloc_f
else:
print("you shouldn' hit that")
sys.exit()
-from libensemble.tools import parse_args, save_libE_output, \
- add_unique_random_streams
+import all_machine_specs
from libensemble import libE_logger
from libensemble.executors.mpi_executor import MPIExecutor
-
-import all_machine_specs
+from libensemble.tools import (add_unique_random_streams, parse_args,
+ save_libE_output)
# Import machine-specific run parameters
if machine == 'local':
diff --git a/Tools/LibEnsemble/warpx_simf.py b/Tools/LibEnsemble/warpx_simf.py
index 8822d22ef..4a1f0f90d 100644
--- a/Tools/LibEnsemble/warpx_simf.py
+++ b/Tools/LibEnsemble/warpx_simf.py
@@ -1,9 +1,9 @@
import os
import time
-import numpy as np
from libensemble.executors.executor import Executor
-from libensemble.message_numbers import WORKER_DONE, TASK_FAILED
+from libensemble.message_numbers import TASK_FAILED, WORKER_DONE
+import numpy as np
from read_sim_output import read_sim_output
from write_sim_input import write_sim_input
diff --git a/Tools/LibEnsemble/write_sim_input.py b/Tools/LibEnsemble/write_sim_input.py
index edd2ed4a5..e4a639868 100644
--- a/Tools/LibEnsemble/write_sim_input.py
+++ b/Tools/LibEnsemble/write_sim_input.py
@@ -1,4 +1,5 @@
import re
+
import scipy.constants as scc
"""
diff --git a/Tools/PerformanceTests/cori.py b/Tools/PerformanceTests/cori.py
index fcd33f992..046767713 100644
--- a/Tools/PerformanceTests/cori.py
+++ b/Tools/PerformanceTests/cori.py
@@ -5,7 +5,8 @@
#
# License: BSD-3-Clause-LBNL
-import os, copy
+import copy
+import os
from functions_perftest import test_element
diff --git a/Tools/PerformanceTests/functions_perftest.py b/Tools/PerformanceTests/functions_perftest.py
index 6af4189b6..938bcb974 100644
--- a/Tools/PerformanceTests/functions_perftest.py
+++ b/Tools/PerformanceTests/functions_perftest.py
@@ -5,10 +5,15 @@
#
# License: BSD-3-Clause-LBNL
-import os, shutil, re, copy
-import pandas as pd
-import numpy as np
+import copy
+import os
+import re
+import shutil
+
import git
+import numpy as np
+import pandas as pd
+
# import cori
# import summit
diff --git a/Tools/PerformanceTests/run_alltests.py b/Tools/PerformanceTests/run_alltests.py
index 3ebc40b63..af99df194 100644
--- a/Tools/PerformanceTests/run_alltests.py
+++ b/Tools/PerformanceTests/run_alltests.py
@@ -5,10 +5,14 @@
#
# License: BSD-3-Clause-LBNL
-import os, sys, shutil
-import argparse, re, time
-from functions_perftest import *
+import argparse
import datetime
+import os
+import re
+import shutil
+import time
+
+from functions_perftest import *
# This script runs automated performance tests for WarpX.
# It runs tests in list test_list defined below, and write
diff --git a/Tools/PerformanceTests/run_alltests_1node.py b/Tools/PerformanceTests/run_alltests_1node.py
index 8bc8b3bb4..54900e9e0 100644
--- a/Tools/PerformanceTests/run_alltests_1node.py
+++ b/Tools/PerformanceTests/run_alltests_1node.py
@@ -4,8 +4,13 @@
#
# License: BSD-3-Clause-LBNL
-import os, shutil, datetime
-import argparse, re, time
+import argparse
+import datetime
+import os
+import re
+import shutil
+import time
+
from functions_perftest import *
# This script runs automated performance tests for WarpX.
@@ -301,8 +306,8 @@ if args.mode == 'read':
'git push -u origin development')
# Plot file
- import numpy as np
import matplotlib
+ import numpy as np
matplotlib.use('Agg')
import matplotlib.pyplot as plt
filename0 = 'my_performance_log'
diff --git a/Tools/PerformanceTests/run_automated.py b/Tools/PerformanceTests/run_automated.py
index e8fa512ec..14ce0fed2 100644
--- a/Tools/PerformanceTests/run_automated.py
+++ b/Tools/PerformanceTests/run_automated.py
@@ -5,24 +5,31 @@
#
# License: BSD-3-Clause-LBNL
-import os, sys, shutil, datetime, git
-import argparse, time, copy
+import argparse
+import copy
+import datetime
+import os
+import shutil
+import sys
+import time
+
+from functions_perftest import (extract_dataframe, get_file_content,
+ run_batch_nnode, store_git_hash)
+import git
import pandas as pd
-from functions_perftest import store_git_hash, get_file_content, \
- run_batch_nnode, extract_dataframe
# Get name of supercomputer and import configuration functions from
# machine-specific file
if os.getenv("LMOD_SYSTEM_NAME") == 'summit':
machine = 'summit'
- from summit import executable_name, process_analysis, \
- get_config_command, time_min, get_submit_job_command, \
- get_batch_string, get_run_string, get_test_list
+ from summit import (executable_name, get_batch_string, get_config_command,
+ get_run_string, get_submit_job_command, get_test_list,
+ process_analysis, time_min)
if os.getenv("NERSC_HOST") == 'cori':
machine = 'cori'
- from cori import executable_name, process_analysis, \
- get_config_command, time_min, get_submit_job_command, \
- get_batch_string, get_run_string, get_test_list
+ from cori import (executable_name, get_batch_string, get_config_command,
+ get_run_string, get_submit_job_command, get_test_list,
+ process_analysis, time_min)
# typical use: python run_automated.py --n_node_list='1,8,16,32' --automated
# Assume warpx, picsar, amrex and perf_logs repos ar in the same directory and
diff --git a/Tools/PerformanceTests/summit.py b/Tools/PerformanceTests/summit.py
index 0dd779d2a..cb0200e19 100644
--- a/Tools/PerformanceTests/summit.py
+++ b/Tools/PerformanceTests/summit.py
@@ -8,9 +8,12 @@
# requirements:
# - module load python/3.7.0-anaconda3-5.3.0
-import os, copy
+import copy
+import os
+
from functions_perftest import test_element
+
def executable_name(compiler,architecture):
return 'perf_tests3d.' + compiler + '.TPROF.MTMPI.CUDA.QED.GPUCLOCK.ex'
diff --git a/Tools/PostProcessing/plot_distribution_mapping.py b/Tools/PostProcessing/plot_distribution_mapping.py
index 0e732b02d..94d63e14e 100644
--- a/Tools/PostProcessing/plot_distribution_mapping.py
+++ b/Tools/PostProcessing/plot_distribution_mapping.py
@@ -1,7 +1,7 @@
# Standard imports
-import os
from collections import defaultdict
from itertools import product
+import os
# High-performance math
import numpy as np
diff --git a/Tools/PostProcessing/plot_parallel.py b/Tools/PostProcessing/plot_parallel.py
index 66f3c3cde..e4b75c0e4 100644
--- a/Tools/PostProcessing/plot_parallel.py
+++ b/Tools/PostProcessing/plot_parallel.py
@@ -4,15 +4,17 @@
#
# License: BSD-3-Clause-LBNL
-import os
+import argparse
import glob
-import matplotlib
+import os
import sys
-import argparse
+
+import matplotlib
import yt
+
yt.funcs.mylog.setLevel(50)
-import numpy as np
import matplotlib.pyplot as plt
+import numpy as np
'''
This script loops over all WarpX plotfiles in a directory and, for each
diff --git a/Tools/PostProcessing/plot_particle_path.py b/Tools/PostProcessing/plot_particle_path.py
index 5fee4a467..9bf7f896c 100644
--- a/Tools/PostProcessing/plot_particle_path.py
+++ b/Tools/PostProcessing/plot_particle_path.py
@@ -7,6 +7,7 @@
import numpy as np
+
class AMReXParticleHeader(object):
'''
@@ -120,9 +121,10 @@ def read_particle_data(fn, ptype="particle0"):
if __name__ == "__main__":
- import pylab as plt
import glob
+ import pylab as plt
+
x0 = []
y0 = []
x1 = []
diff --git a/Tools/PostProcessing/read_lab_particles.py b/Tools/PostProcessing/read_lab_particles.py
index 2ae52c0eb..5216c94ef 100644
--- a/Tools/PostProcessing/read_lab_particles.py
+++ b/Tools/PostProcessing/read_lab_particles.py
@@ -4,10 +4,11 @@
#
# License: BSD-3-Clause-LBNL
-import numpy as np
from glob import glob
import os
+import numpy as np
+
it = 1
fn = "./lab_frame_data/" + 'snapshot' + str(it).zfill(5) + "/particle1/"
diff --git a/Tools/PostProcessing/read_raw_data.py b/Tools/PostProcessing/read_raw_data.py
index 60c50d39a..e3e9d879d 100644
--- a/Tools/PostProcessing/read_raw_data.py
+++ b/Tools/PostProcessing/read_raw_data.py
@@ -5,10 +5,11 @@
#
# License: BSD-3-Clause-LBNL
+from collections import namedtuple
from glob import glob
import os
+
import numpy as np
-from collections import namedtuple
HeaderInfo = namedtuple('HeaderInfo', ['version', 'how', 'ncomp', 'nghost'])
diff --git a/Tools/PostProcessing/video_yt.py b/Tools/PostProcessing/video_yt.py
index d59afd5f7..61046b3c0 100644
--- a/Tools/PostProcessing/video_yt.py
+++ b/Tools/PostProcessing/video_yt.py
@@ -20,8 +20,11 @@ to generate the images. It can be quite slow for even moderately large
plotfiles.
'''
+import glob
+
# Import statements
-import yt, glob
+import yt
+
yt.enable_parallelism()
import numpy as np
diff --git a/Tools/PostProcessing/yt3d_mpi.py b/Tools/PostProcessing/yt3d_mpi.py
index 5960b1185..20054756d 100644
--- a/Tools/PostProcessing/yt3d_mpi.py
+++ b/Tools/PostProcessing/yt3d_mpi.py
@@ -17,10 +17,13 @@ to generate the images. It can be quite slow for even moderately large
plotfiles.
'''
-import yt, glob
+import glob
+
from mpi4py import MPI
import numpy as np
import scipy.constants as scc
+import yt
+
yt.funcs.mylog.setLevel(50)
# my_max = 1.e11 # for smooth rendering
diff --git a/Tools/Release/updateAMReX.py b/Tools/Release/updateAMReX.py
index c2f7a5176..a4573accf 100755
--- a/Tools/Release/updateAMReX.py
+++ b/Tools/Release/updateAMReX.py
@@ -11,8 +11,10 @@
import datetime
from pathlib import Path
import re
-import requests
import sys
+
+import requests
+
try:
from configupdater import ConfigUpdater
except ImportError:
diff --git a/Tools/Release/updatePICSAR.py b/Tools/Release/updatePICSAR.py
index ebf9154bc..bbb4887d7 100755
--- a/Tools/Release/updatePICSAR.py
+++ b/Tools/Release/updatePICSAR.py
@@ -11,8 +11,10 @@
import datetime
from pathlib import Path
import re
-import requests
import sys
+
+import requests
+
try:
from configupdater import ConfigUpdater
except ImportError:
diff --git a/setup.py b/setup.py
index 8fea070f8..57da5812b 100644
--- a/setup.py
+++ b/setup.py
@@ -1,14 +1,14 @@
+from distutils.command.build import build
+from distutils.version import LooseVersion
import os
-import re
-import sys
import platform
+import re
import shutil
import subprocess
+import sys
-from setuptools import setup, Extension
+from setuptools import Extension, setup
from setuptools.command.build_ext import build_ext
-from distutils.command.build import build
-from distutils.version import LooseVersion
class CopyPreBuild(build):