From 831569262b4c780edacc3bd690ae9236c1fbdf02 Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Mon, 13 May 2024 10:43:30 -0700 Subject: [PATCH 01/34] Resolving merge conflict --- .gitignore | 173 ++++++++++++++++-- docs/conf.py | 2 +- docs/geos_ats.rst | 14 +- docs/index.rst | 6 +- geos-ats/pyproject.toml | 54 ++++++ .../src/geos/ats}/__init__.py | 0 .../src/geos/ats}/assets/__init__.py | 0 .../src/geos/ats}/assets/lightbox.zip | Bin .../src/geos/ats}/assets/sorttable.js | 0 .../src/geos/ats}/assets/style.css | 0 .../src/geos/ats}/baseline_io.py | 0 .../src/geos/ats}/command_line_parsers.py | 0 .../src/geos/ats}/common_utilities.py | 6 +- .../src/geos/ats}/configuration_record.py | 6 +- .../src/geos/ats}/debug_geos_ats.py | 6 +- .../src/geos/ats}/environment_setup.py | 0 .../src/geos/ats}/helpers/__init__.py | 0 .../src/geos/ats}/helpers/curve_check.py | 0 .../src/geos/ats}/helpers/log_check.py | 0 .../src/geos/ats}/helpers/permute_array.py | 2 +- .../src/geos/ats}/helpers/restart_check.py | 6 +- .../src/geos/ats}/history.py | 0 .../src/geos/ats}/machine_utilities.py | 4 +- .../src/geos/ats}/machines/__init__.py | 0 .../geos/ats}/machines/batchGeosatsMoab.py | 2 +- .../src/geos/ats}/machines/bgqos_0_ASQ.py | 0 .../src/geos/ats}/machines/darwin.py | 0 .../geosAtsSlurmProcessorScheduled.py | 6 +- .../src/geos/ats}/machines/lassen.py | 2 +- .../src/geos/ats}/machines/nersc.py | 6 +- .../src/geos/ats}/machines/openmpi.py | 4 +- .../src/geos/ats}/machines/summit.py | 2 +- .../src/geos/ats}/main.py | 29 +-- .../src/geos/ats}/reporting.py | 6 +- .../src/geos/ats}/scheduler.py | 4 +- .../src/geos/ats}/suite_settings.py | 4 +- .../src/geos/ats}/test_builder.py | 2 +- .../src/geos/ats}/test_case.py | 6 +- .../src/geos/ats}/test_modifier.py | 8 +- .../src/geos/ats}/test_steps.py | 8 +- .../src/geos/ats}/user_utilities.py | 0 .../pyproject.toml | 0 .../requirements.txt | 0 .../setup.py | 0 .../src/geos/mesh/doctor}/checks/__init__.py | 0 .../mesh/doctor}/checks/check_fractures.py | 0 .../mesh/doctor}/checks/collocated_nodes.py | 0 .../mesh/doctor}/checks/element_volumes.py | 0 .../doctor}/checks/fix_elements_orderings.py | 0 .../geos/mesh/doctor}/checks/generate_cube.py | 0 .../mesh/doctor}/checks/generate_fractures.py | 0 .../doctor}/checks/generate_global_ids.py | 0 .../geos/mesh/doctor}/checks/non_conformal.py | 0 .../geos/mesh/doctor}/checks/reorient_mesh.py | 0 .../checks/self_intersecting_elements.py | 0 .../mesh/doctor}/checks/supported_elements.py | 0 .../mesh/doctor}/checks/triangle_distance.py | 0 .../mesh/doctor}/checks/vtk_polyhedron.py | 0 .../src/geos/mesh/doctor}/checks/vtk_utils.py | 0 .../src/geos/mesh/doctor}/mesh_doctor.py | 0 .../src/geos/mesh/doctor}/parsing/__init__.py | 0 .../parsing/check_fractures_parsing.py | 0 .../geos/mesh/doctor}/parsing/cli_parsing.py | 0 .../parsing/collocated_nodes_parsing.py | 0 .../parsing/element_volumes_parsing.py | 0 .../parsing/fix_elements_orderings_parsing.py | 0 .../doctor}/parsing/generate_cube_parsing.py | 0 .../parsing/generate_fractures_parsing.py | 0 .../parsing/generate_global_ids_parsing.py | 0 .../doctor}/parsing/non_conformal_parsing.py | 0 .../self_intersecting_elements_parsing.py | 0 .../parsing/supported_elements_parsing.py | 0 .../doctor}/parsing/vtk_output_parsing.py | 0 .../src/geos/mesh/doctor}/register.py | 0 .../tests/test_cli_parsing.py | 0 .../tests/test_collocated_nodes.py | 0 .../tests/test_element_volumes.py | 0 .../tests/test_generate_cube.py | 0 .../tests/test_generate_fractures.py | 0 .../tests/test_generate_global_ids.py | 0 .../tests/test_non_conformal.py | 0 .../tests/test_reorient_mesh.py | 0 .../tests/test_self_intersecting_elements.py | 0 .../tests/test_supported_elements.py | 0 .../tests/test_triangle_distance.py | 0 .../pyproject.toml | 0 .../setup.cfg | 0 .../src/geos/mesh/tools}/__init__.py | 0 .../src/geos/mesh/tools}/abaqus_converter.py | 0 .../src/geos/mesh/tools}/main.py | 0 .../src/geos/mesh/tools}/py.typed | 0 .../pyproject.toml | 0 .../setup.cfg | 0 .../src/geos}/timehistory/__init__.py | 0 .../geos}/timehistory/plot_time_history.py | 0 .../.gitignore | 0 .../pyproject.toml | 0 .../setup.cfg | 0 .../src/geos/xml/tools}/__init__.py | 0 .../src/geos/xml/tools}/attribute_coverage.py | 0 .../geos/xml/tools}/command_line_parsers.py | 0 .../src/geos/xml/tools}/main.py | 0 .../src/geos/xml/tools}/py.typed | 0 .../src/geos/xml/tools}/regex_tools.py | 0 .../src/geos/xml/tools}/table_generator.py | 0 .../src/geos/xml/tools}/tests/__init__.py | 0 .../xml/tools}/tests/generate_test_xml.py | 0 .../src/geos/xml/tools}/tests/test_manager.py | 0 .../src/geos/xml/tools}/unit_manager.py | 0 .../src/geos/xml/tools}/xml_formatter.py | 0 .../src/geos/xml/tools}/xml_processor.py | 0 .../geos/xml/tools}/xml_redundancy_check.py | 0 geos_ats_package/pyproject.toml | 4 - geos_ats_package/setup.cfg | 39 ---- .../hdf5_wrapper/__init__.py | 0 .../hdf5_wrapper/py.typed | 0 .../hdf5_wrapper/use_example.py | 0 .../hdf5_wrapper/wrapper.py | 0 .../hdf5_wrapper/wrapper_tests.py | 0 .../pyproject.toml | 0 .../setup.cfg | 0 .../pygeosx_tools/__init__.py | 0 .../pygeosx_tools/file_io.py | 0 .../pygeosx_tools/mesh_interpolation.py | 0 .../pygeosx_tools/py.typed | 0 .../pygeosx_tools/well_log.py | 0 .../pygeosx_tools/wrapper.py | 0 .../pyproject.toml | 0 .../setup.cfg | 0 129 files changed, 286 insertions(+), 125 deletions(-) create mode 100644 geos-ats/pyproject.toml rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/__init__.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/assets/__init__.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/assets/lightbox.zip (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/assets/sorttable.js (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/assets/style.css (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/baseline_io.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/command_line_parsers.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/common_utilities.py (97%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/configuration_record.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/debug_geos_ats.py (88%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/environment_setup.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/helpers/__init__.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/helpers/curve_check.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/helpers/log_check.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/helpers/permute_array.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/helpers/restart_check.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/history.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machine_utilities.py (84%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/__init__.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/batchGeosatsMoab.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/bgqos_0_ASQ.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/darwin.py (100%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/geosAtsSlurmProcessorScheduled.py (94%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/lassen.py (98%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/nersc.py (93%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/openmpi.py (98%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/machines/summit.py (98%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/main.py (95%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/reporting.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/scheduler.py (95%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/suite_settings.py (91%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/test_builder.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/test_case.py (98%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/test_modifier.py (92%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/test_steps.py (99%) rename {geos_ats_package/geos_ats => geos-ats/src/geos/ats}/user_utilities.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/pyproject.toml (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/requirements.txt (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/setup.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/__init__.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/check_fractures.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/collocated_nodes.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/element_volumes.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/fix_elements_orderings.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/generate_cube.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/generate_fractures.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/generate_global_ids.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/non_conformal.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/reorient_mesh.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/self_intersecting_elements.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/supported_elements.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/triangle_distance.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/vtk_polyhedron.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/checks/vtk_utils.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/mesh_doctor.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/__init__.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/check_fractures_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/cli_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/collocated_nodes_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/element_volumes_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/fix_elements_orderings_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/generate_cube_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/generate_fractures_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/generate_global_ids_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/non_conformal_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/self_intersecting_elements_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/supported_elements_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/parsing/vtk_output_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor/src/geos/mesh/doctor}/register.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_cli_parsing.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_collocated_nodes.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_element_volumes.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_generate_cube.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_generate_fractures.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_generate_global_ids.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_non_conformal.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_reorient_mesh.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_self_intersecting_elements.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_supported_elements.py (100%) rename {geosx_mesh_doctor => geos-mesh-doctor}/tests/test_triangle_distance.py (100%) rename {geosx_mesh_tools_package => geos-mesh-tools}/pyproject.toml (100%) rename {geosx_mesh_tools_package => geos-mesh-tools}/setup.cfg (100%) rename {geosx_mesh_tools_package/geosx_mesh_tools => geos-mesh-tools/src/geos/mesh/tools}/__init__.py (100%) rename {geosx_mesh_tools_package/geosx_mesh_tools => geos-mesh-tools/src/geos/mesh/tools}/abaqus_converter.py (100%) rename {geosx_mesh_tools_package/geosx_mesh_tools => geos-mesh-tools/src/geos/mesh/tools}/main.py (100%) rename {geosx_mesh_tools_package/geosx_mesh_tools => geos-mesh-tools/src/geos/mesh/tools}/py.typed (100%) rename {geosx_xml_tools_package => geos-timehistory}/pyproject.toml (100%) rename {timehistory_package => geos-timehistory}/setup.cfg (100%) rename {timehistory_package => geos-timehistory/src/geos}/timehistory/__init__.py (100%) rename {timehistory_package => geos-timehistory/src/geos}/timehistory/plot_time_history.py (100%) rename {geosx_xml_tools_package => geos-xml-tools}/.gitignore (100%) rename {hdf5_wrapper_package => geos-xml-tools}/pyproject.toml (100%) rename {geosx_xml_tools_package => geos-xml-tools}/setup.cfg (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/__init__.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/attribute_coverage.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/command_line_parsers.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/main.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/py.typed (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/regex_tools.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/table_generator.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/tests/__init__.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/tests/generate_test_xml.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/tests/test_manager.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/unit_manager.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/xml_formatter.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/xml_processor.py (100%) rename {geosx_xml_tools_package/geosx_xml_tools => geos-xml-tools/src/geos/xml/tools}/xml_redundancy_check.py (100%) delete mode 100644 geos_ats_package/pyproject.toml delete mode 100644 geos_ats_package/setup.cfg rename {hdf5_wrapper_package => hdf5-wrapper}/hdf5_wrapper/__init__.py (100%) rename {hdf5_wrapper_package => hdf5-wrapper}/hdf5_wrapper/py.typed (100%) rename {hdf5_wrapper_package => hdf5-wrapper}/hdf5_wrapper/use_example.py (100%) rename {hdf5_wrapper_package => hdf5-wrapper}/hdf5_wrapper/wrapper.py (100%) rename {hdf5_wrapper_package => hdf5-wrapper}/hdf5_wrapper/wrapper_tests.py (100%) rename {pygeosx_tools_package => hdf5-wrapper}/pyproject.toml (100%) rename {hdf5_wrapper_package => hdf5-wrapper}/setup.cfg (100%) rename {pygeosx_tools_package => pygeos-tools}/pygeosx_tools/__init__.py (100%) rename {pygeosx_tools_package => pygeos-tools}/pygeosx_tools/file_io.py (100%) rename {pygeosx_tools_package => pygeos-tools}/pygeosx_tools/mesh_interpolation.py (100%) rename {pygeosx_tools_package => pygeos-tools}/pygeosx_tools/py.typed (100%) rename {pygeosx_tools_package => pygeos-tools}/pygeosx_tools/well_log.py (100%) rename {pygeosx_tools_package => pygeos-tools}/pygeosx_tools/wrapper.py (100%) rename {timehistory_package => pygeos-tools}/pyproject.toml (100%) rename {pygeosx_tools_package => pygeos-tools}/setup.cfg (100%) diff --git a/.gitignore b/.gitignore index 6bde2b4f..a47b528f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,165 @@ +#MACOS +DS_Store + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ *.egg-info/ +.installed.cfg +*.egg +MANIFEST *.exp *.lib -*.obj -*.pyc -*.pyd.manifest -*.pyo + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* .cache -.DS_Store -.idea -.project -.pydevproject -.settings -build -dist -__pycache__ +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index f1cb4798..ef4c7cb3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ # Add python modules to be documented python_root = '..' -python_modules = ( 'geosx_mesh_tools_package', 'geosx_xml_tools_package', 'geosx_mesh_doctor', 'geos_ats_package', +python_modules = ( 'geosx_mesh_tools_package', 'geosx_xml_tools_package', 'geosx_mesh_doctor', 'geos-ats_package', 'hdf5_wrapper_package', 'pygeosx_tools_package', 'timehistory_package' ) for m in python_modules: sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m ) ) ) diff --git a/docs/geos_ats.rst b/docs/geos_ats.rst index dfbbf85c..47b9dab7 100644 --- a/docs/geos_ats.rst +++ b/docs/geos_ats.rst @@ -2,7 +2,7 @@ GEOS ATS ========== -The `geos_ats` python package includes tools for managing integrated tests for GEOS. +The `geos-ats` python package includes tools for managing integrated tests for GEOS. It is built using the `Automated Test System `_ (ATS) package. The available console scripts for this package and its API are described below. @@ -13,7 +13,7 @@ run_geos_ats Primary entry point for running integrated tests. .. argparse:: - :module: geos_ats.command_line_parsers + :module: geos-ats.command_line_parsers :func: build_command_line_parser :prog: run_geos_ats @@ -29,11 +29,11 @@ Primary entry point for running integrated tests. Debugging ------------------ -If for any reason you need to debug the geos_ats package, we recommend that you create a local copy of this entry point in the `build/integratedTests` directory: `geosPythonPackages/geos_ats_package/geos_ats/debug_geos_ats.py`. +If for any reason you need to debug the geos-ats package, we recommend that you create a local copy of this entry point in the `build/integratedTests` directory: `geosPythonPackages/geos-ats_package/geos-ats/debug_geos-ats.py`. This script is designed as a debugger entry point, and will read the autogenerated run script that was built during setup. -To use it, you must either have geos_ats installed in your target python environment, or a copy of geosPythonPackages in the expected location (`/usr/workspace/[username]/geosPythonPackages`). +To use it, you must either have geos-ats installed in your target python environment, or a copy of geosPythonPackages in the expected location (`/usr/workspace/[username]/geosPythonPackages`). -We recommend that you use VSCode with the Python extension to debug geos_ats. +We recommend that you use VSCode with the Python extension to debug geos-ats. To begin the debugging session, you simply need to load the entry script, set any initial breakpoints you desire, then select the Debug run option. Note that this approach can only be used to debug the python code associated with tests, and not the underlying GEOS tests. @@ -45,14 +45,14 @@ API Restart Check ^^^^^^^^^^^^^^^ -.. automodule:: geos_ats.helpers.restart_check +.. automodule:: geos-ats.helpers.restart_check :members: Curve Check ^^^^^^^^^^^^^^^ -.. automodule:: geos_ats.helpers.curve_check +.. automodule:: geos-ats.helpers.curve_check :members: diff --git a/docs/index.rst b/docs/index.rst index d72849e8..5cca067b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -43,8 +43,8 @@ To do this, you can clone a copy of the geosPythonPackages repository and instal cd /path/to/store/python/tools git clone https://github.com/GEOS-DEV/geosPythonPackages.git - # Install/upgrade geos_ats - cd geosPythonPackages/geos_ats_package + # Install/upgrade geos-ats + cd geosPythonPackages/geos-ats_package python -m pip install --upgrade . @@ -78,7 +78,7 @@ Packages hdf5_wrapper - geos_ats + geos-ats geosx_mesh_tools diff --git a/geos-ats/pyproject.toml b/geos-ats/pyproject.toml new file mode 100644 index 00000000..1af77d1a --- /dev/null +++ b/geos-ats/pyproject.toml @@ -0,0 +1,54 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +# [tool.setuptools] +# packages = ["geos-ats", "geos-ats.helpers", "geos-ats.assets", "geos-ats.machines"] + +[project] +name = "geos-ats" +version = "0.2.0" +description = "ATS implementation for GEOS testing" +authors = [{name = "GEOS Contributors" }] +maintainers = [ + {name = "sherman", email = "sherman27@llnl.gov"} +] +license = {text = "LGPL-2.1"} +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python" +] + +requires-python = ">=3.7" + +dependencies = [ + "h5py", + "mpi4py", + "numpy", + "lxml", + "tabulate", + "pyyaml", + "tqdm", + "requests", + "GitPython", + "google-cloud-storage", + "pip-system-certs", + "ats @ https://github.com/LLNL/ATS/archive/refs/tags/7.0.105.tar.gz", +] + +[tool.setuptools.package-data] +myModule = ["*.js", "*.css", "*.zip"] + +[project.scripts] + run_geos_ats = "geos.ats.main:main" + setup_ats_environment = "geos.ats.environment_setup:main" + geos_ats_log_check = "geos_ats.helpers.log_check:main" + geos_ats_restart_check = "geos_ats.helpers.restart_check:main" + geos_ats_curve_check = "geos_ats.helpers.curve_check:main" + +[project.urls] +Homepage = "https://github.com/GEOS-DEV/geosPythonPackages" +Documentation = "https://geosx-geosx.readthedocs-hosted.com/projects/geosx-geospythonpackages/en/latest/" +Repository = "https://github.com/GEOS-DEV/geosPythonPackages.git" +"Bug Tracker" = "https://github.com/GEOS-DEV/geosPythonPackages/issues" + diff --git a/geos_ats_package/geos_ats/__init__.py b/geos-ats/src/geos/ats/__init__.py similarity index 100% rename from geos_ats_package/geos_ats/__init__.py rename to geos-ats/src/geos/ats/__init__.py diff --git a/geos_ats_package/geos_ats/assets/__init__.py b/geos-ats/src/geos/ats/assets/__init__.py similarity index 100% rename from geos_ats_package/geos_ats/assets/__init__.py rename to geos-ats/src/geos/ats/assets/__init__.py diff --git a/geos_ats_package/geos_ats/assets/lightbox.zip b/geos-ats/src/geos/ats/assets/lightbox.zip similarity index 100% rename from geos_ats_package/geos_ats/assets/lightbox.zip rename to geos-ats/src/geos/ats/assets/lightbox.zip diff --git a/geos_ats_package/geos_ats/assets/sorttable.js b/geos-ats/src/geos/ats/assets/sorttable.js similarity index 100% rename from geos_ats_package/geos_ats/assets/sorttable.js rename to geos-ats/src/geos/ats/assets/sorttable.js diff --git a/geos_ats_package/geos_ats/assets/style.css b/geos-ats/src/geos/ats/assets/style.css similarity index 100% rename from geos_ats_package/geos_ats/assets/style.css rename to geos-ats/src/geos/ats/assets/style.css diff --git a/geos_ats_package/geos_ats/baseline_io.py b/geos-ats/src/geos/ats/baseline_io.py similarity index 100% rename from geos_ats_package/geos_ats/baseline_io.py rename to geos-ats/src/geos/ats/baseline_io.py diff --git a/geos_ats_package/geos_ats/command_line_parsers.py b/geos-ats/src/geos/ats/command_line_parsers.py similarity index 100% rename from geos_ats_package/geos_ats/command_line_parsers.py rename to geos-ats/src/geos/ats/command_line_parsers.py diff --git a/geos_ats_package/geos_ats/common_utilities.py b/geos-ats/src/geos/ats/common_utilities.py similarity index 97% rename from geos_ats_package/geos_ats/common_utilities.py rename to geos-ats/src/geos/ats/common_utilities.py index 3e32db15..5f506b61 100644 --- a/geos_ats_package/geos_ats/common_utilities.py +++ b/geos-ats/src/geos/ats/common_utilities.py @@ -10,7 +10,7 @@ # Common code for displaying information to the user. ################################################################################ -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) def Error( msg ): @@ -228,7 +228,7 @@ def process( self, args ): def removeLogDirectories( dir ): - # look for subdirs containing 'ats.log' and 'geos_ats.config' + # look for subdirs containing 'ats.log' and 'geos-ats.config' # look for symlinks that point to such a directory files = os.listdir( dir ) deldir = [] @@ -238,7 +238,7 @@ def removeLogDirectories( dir ): tests = [ all( [ os.path.exists( os.path.join( ff, "ats.log" ) ), - os.path.exists( os.path.join( ff, "geos_ats.config" ) ) + os.path.exists( os.path.join( ff, "geos-ats.config" ) ) ] ), f.find( "TestLogs." ) == 0 ] diff --git a/geos_ats_package/geos_ats/configuration_record.py b/geos-ats/src/geos/ats/configuration_record.py similarity index 99% rename from geos_ats_package/geos_ats/configuration_record.py rename to geos-ats/src/geos/ats/configuration_record.py index d98cc510..1d8203a4 100644 --- a/geos_ats_package/geos_ats/configuration_record.py +++ b/geos-ats/src/geos/ats/configuration_record.py @@ -1,7 +1,7 @@ import os import sys -from geos_ats.common_utilities import TextTable, InfoTopic, Error, Log -from geos_ats.suite_settings import testLabels +from geos.ats.common_utilities import TextTable, InfoTopic, Error, Log +from geos.ats.suite_settings import testLabels import difflib import logging @@ -10,7 +10,7 @@ ################################################################################ # Get the active logger instance -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) class ConfigItem( object ): diff --git a/geos_ats_package/geos_ats/debug_geos_ats.py b/geos-ats/src/geos/ats/debug_geos_ats.py similarity index 88% rename from geos_ats_package/geos_ats/debug_geos_ats.py rename to geos-ats/src/geos/ats/debug_geos_ats.py index 5bedcb8f..2a71ff16 100644 --- a/geos_ats_package/geos_ats/debug_geos_ats.py +++ b/geos-ats/src/geos/ats/debug_geos_ats.py @@ -1,5 +1,5 @@ """ -Entry point for debugging geos_ats +Entry point for debugging geos-ats To use this script, do the following: - Setup your ats environment (using the 'make ats_environment' command) @@ -19,7 +19,7 @@ def debug_geos_ats(): # Check for a copy of geos_ats in the user's workspace to use # instead of any currently installed in python user = os.environ.get( 'USER', '' ) - mod_path = f"/usr/workspace/{user}/geosPythonPackages/geos_ats_package" + mod_path = f"/usr/workspace/{user}/geosPythonPackages/geos-ats" if os.path.isdir( mod_path ): sys.path.insert( 0, os.path.join( mod_path ) ) @@ -29,7 +29,7 @@ def debug_geos_ats(): sys.argv.extend( args ) # Run ats - from geos_ats import main + from geos.ats import main main.main() diff --git a/geos_ats_package/geos_ats/environment_setup.py b/geos-ats/src/geos/ats/environment_setup.py similarity index 100% rename from geos_ats_package/geos_ats/environment_setup.py rename to geos-ats/src/geos/ats/environment_setup.py diff --git a/geos_ats_package/geos_ats/helpers/__init__.py b/geos-ats/src/geos/ats/helpers/__init__.py similarity index 100% rename from geos_ats_package/geos_ats/helpers/__init__.py rename to geos-ats/src/geos/ats/helpers/__init__.py diff --git a/geos_ats_package/geos_ats/helpers/curve_check.py b/geos-ats/src/geos/ats/helpers/curve_check.py similarity index 100% rename from geos_ats_package/geos_ats/helpers/curve_check.py rename to geos-ats/src/geos/ats/helpers/curve_check.py diff --git a/geos_ats_package/geos_ats/helpers/log_check.py b/geos-ats/src/geos/ats/helpers/log_check.py similarity index 100% rename from geos_ats_package/geos_ats/helpers/log_check.py rename to geos-ats/src/geos/ats/helpers/log_check.py diff --git a/geos_ats_package/geos_ats/helpers/permute_array.py b/geos-ats/src/geos/ats/helpers/permute_array.py similarity index 99% rename from geos_ats_package/geos_ats/helpers/permute_array.py rename to geos-ats/src/geos/ats/helpers/permute_array.py index e1cc9c61..1b92df77 100644 --- a/geos_ats_package/geos_ats/helpers/permute_array.py +++ b/geos-ats/src/geos/ats/helpers/permute_array.py @@ -1,7 +1,7 @@ import numpy as np # type: ignore[import] import logging -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) def permuteArray( data, shape, permutation ): diff --git a/geos_ats_package/geos_ats/helpers/restart_check.py b/geos-ats/src/geos/ats/helpers/restart_check.py similarity index 99% rename from geos_ats_package/geos_ats/helpers/restart_check.py rename to geos-ats/src/geos/ats/helpers/restart_check.py index ad7c8d5f..7aa282e5 100644 --- a/geos_ats_package/geos_ats/helpers/restart_check.py +++ b/geos-ats/src/geos/ats/helpers/restart_check.py @@ -9,15 +9,15 @@ import time from pathlib import Path try: - from geos_ats.helpers.permute_array import permuteArray # type: ignore[import] + from geos.ats.helpers.permute_array import permuteArray # type: ignore[import] except ImportError: - # Fallback method to be used if geos_ats isn't found + # Fallback method to be used if geos-ats isn't found from permute_array import permuteArray # type: ignore[import] RTOL_DEFAULT = 0.0 ATOL_DEFAULT = 0.0 EXCLUDE_DEFAULT = [ ".*/commandLine", ".*/schema$", ".*/globalToLocalMap", ".*/timeHistoryOutput.*/restart" ] -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) def write( output, msg ): diff --git a/geos_ats_package/geos_ats/history.py b/geos-ats/src/geos/ats/history.py similarity index 100% rename from geos_ats_package/geos_ats/history.py rename to geos-ats/src/geos/ats/history.py diff --git a/geos_ats_package/geos_ats/machine_utilities.py b/geos-ats/src/geos/ats/machine_utilities.py similarity index 84% rename from geos_ats_package/geos_ats/machine_utilities.py rename to geos-ats/src/geos/ats/machine_utilities.py index 356de83a..baa99bf9 100644 --- a/geos_ats_package/geos_ats/machine_utilities.py +++ b/geos-ats/src/geos/ats/machine_utilities.py @@ -1,6 +1,6 @@ -# Common functions for geos_ats modifications to machine files +# Common functions for geos-ats modifications to machine files -from geos_ats.configuration_record import config +from geos.ats.configuration_record import config import re import os diff --git a/geos_ats_package/geos_ats/machines/__init__.py b/geos-ats/src/geos/ats/machines/__init__.py similarity index 100% rename from geos_ats_package/geos_ats/machines/__init__.py rename to geos-ats/src/geos/ats/machines/__init__.py diff --git a/geos_ats_package/geos_ats/machines/batchGeosatsMoab.py b/geos-ats/src/geos/ats/machines/batchGeosatsMoab.py similarity index 99% rename from geos_ats_package/geos_ats/machines/batchGeosatsMoab.py rename to geos-ats/src/geos/ats/machines/batchGeosatsMoab.py index 488aba17..533c5ae0 100644 --- a/geos_ats_package/geos_ats/machines/batchGeosatsMoab.py +++ b/geos-ats/src/geos/ats/machines/batchGeosatsMoab.py @@ -7,7 +7,7 @@ import logging debug = configuration.debug -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) class BatchGeosatsMoab( BatchMachine ): diff --git a/geos_ats_package/geos_ats/machines/bgqos_0_ASQ.py b/geos-ats/src/geos/ats/machines/bgqos_0_ASQ.py similarity index 100% rename from geos_ats_package/geos_ats/machines/bgqos_0_ASQ.py rename to geos-ats/src/geos/ats/machines/bgqos_0_ASQ.py diff --git a/geos_ats_package/geos_ats/machines/darwin.py b/geos-ats/src/geos/ats/machines/darwin.py similarity index 100% rename from geos_ats_package/geos_ats/machines/darwin.py rename to geos-ats/src/geos/ats/machines/darwin.py diff --git a/geos_ats_package/geos_ats/machines/geosAtsSlurmProcessorScheduled.py b/geos-ats/src/geos/ats/machines/geosAtsSlurmProcessorScheduled.py similarity index 94% rename from geos_ats_package/geos_ats/machines/geosAtsSlurmProcessorScheduled.py rename to geos-ats/src/geos/ats/machines/geosAtsSlurmProcessorScheduled.py index ef24cbbf..38839b18 100644 --- a/geos_ats_package/geos_ats/machines/geosAtsSlurmProcessorScheduled.py +++ b/geos-ats/src/geos/ats/machines/geosAtsSlurmProcessorScheduled.py @@ -6,8 +6,8 @@ #ATS:slurm24 machines.GeosAtsSlurmProcessorScheduled GeosAtsSlurmProcessorScheduled 24 #ATS:chaos_5_x86_64_ib machines.GeosAtsSlurmProcessorScheduled GeosAtsSlurmProcessorScheduled 16 -from geos_ats.scheduler import scheduler -from geos_ats.machine_utilities import CheckForEarlyTimeOut +from geos.ats.scheduler import scheduler +from geos.ats.machine_utilities import CheckForEarlyTimeOut from slurmProcessorScheduled import SlurmProcessorScheduled # type: ignore[import] import subprocess import logging @@ -17,7 +17,7 @@ class GeosAtsSlurmProcessorScheduled( SlurmProcessorScheduled ): def init( self ): super( GeosAtsSlurmProcessorScheduled, self ).init() - self.logger = logging.getLogger( 'geos_ats' ) + self.logger = logging.getLogger( 'geos-ats' ) if not self.runWithSalloc: try: # Try to get the number of processors per node via sinfo. diff --git a/geos_ats_package/geos_ats/machines/lassen.py b/geos-ats/src/geos/ats/machines/lassen.py similarity index 98% rename from geos_ats_package/geos_ats/machines/lassen.py rename to geos-ats/src/geos/ats/machines/lassen.py index 0694c5cc..51668957 100644 --- a/geos_ats_package/geos_ats/machines/lassen.py +++ b/geos-ats/src/geos/ats/machines/lassen.py @@ -20,7 +20,7 @@ class lassenMachine( machines.Machine ): def init( self ): self.numtests = 0 self.numProcsAvailable = 0 - self.logger = logging.getLogger( 'geos_ats' ) + self.logger = logging.getLogger( 'geos-ats' ) def examineOptions( self, options ): "Examine options from command line, possibly override command line choices." diff --git a/geos_ats_package/geos_ats/machines/nersc.py b/geos-ats/src/geos/ats/machines/nersc.py similarity index 93% rename from geos_ats_package/geos_ats/machines/nersc.py rename to geos-ats/src/geos/ats/machines/nersc.py index e92a3e97..e6d1af69 100644 --- a/geos_ats_package/geos_ats/machines/nersc.py +++ b/geos-ats/src/geos/ats/machines/nersc.py @@ -6,8 +6,8 @@ #ATS:slurm24 machines.nersc Nersc 24 #ATS:chaos_5_x86_64_ib machines.nersc Nersc 16 -from geos_ats.scheduler import scheduler -from geos_ats.machine_utilities import CheckForEarlyTimeOut +from geos.ats.scheduler import scheduler +from geos.ats.machine_utilities import CheckForEarlyTimeOut from slurmProcessorScheduled import SlurmProcessorScheduled # type: ignore[import] import subprocess import logging @@ -17,7 +17,7 @@ class Nersc( SlurmProcessorScheduled ): def init( self ): super( Nersc, self ).init() - self.logger = logging.getLogger( 'geos_ats' ) + self.logger = logging.getLogger( 'geos-ats' ) if not self.runWithSalloc: try: # Try to get the number of processors per node via sinfo. diff --git a/geos_ats_package/geos_ats/machines/openmpi.py b/geos-ats/src/geos/ats/machines/openmpi.py similarity index 98% rename from geos_ats_package/geos_ats/machines/openmpi.py rename to geos-ats/src/geos/ats/machines/openmpi.py index 8304ca84..524f4108 100644 --- a/geos_ats_package/geos_ats/machines/openmpi.py +++ b/geos-ats/src/geos/ats/machines/openmpi.py @@ -18,7 +18,7 @@ def init( self ): self.numtests = 0 self.maxtests = 0 self.numProcsAvailable = 0 - self.logger = logging.getLogger( 'geos_ats' ) + self.logger = logging.getLogger( 'geos-ats' ) def examineOptions( self, options ): "Examine options from command line, possibly override command line choices." @@ -43,7 +43,7 @@ def examineOptions( self, options ): self.numberTestsRunningMax = self.numberMaxProcessors self.numProcsAvailable = self.numberMaxProcessors - # Copy options for geos_ats config + # Copy options for geos-ats config self.openmpi_numnodes = options.openmpi_numnodes self.openmpi_maxprocs = options.openmpi_maxprocs self.maxtests = options.openmpi_maxprocs diff --git a/geos_ats_package/geos_ats/machines/summit.py b/geos-ats/src/geos/ats/machines/summit.py similarity index 98% rename from geos_ats_package/geos_ats/machines/summit.py rename to geos-ats/src/geos/ats/machines/summit.py index 016d5f29..3f2ab956 100644 --- a/geos_ats_package/geos_ats/machines/summit.py +++ b/geos-ats/src/geos/ats/machines/summit.py @@ -20,7 +20,7 @@ class summitMachine( machines.Machine ): def init( self ): self.numtests = 0 self.numProcsAvailable = 0 - self.logger = logging.getLogger( 'geos_ats' ) + self.logger = logging.getLogger( 'geos-ats' ) def examineOptions( self, options ): "Examine options from command line, possibly override command line choices." diff --git a/geos_ats_package/geos_ats/main.py b/geos-ats/src/geos/ats/main.py similarity index 95% rename from geos_ats_package/geos_ats/main.py rename to geos-ats/src/geos/ats/main.py index eaf0f3b7..5f8121c4 100644 --- a/geos_ats_package/geos_ats/main.py +++ b/geos-ats/src/geos/ats/main.py @@ -6,14 +6,15 @@ import time import logging import glob -from geos_ats import command_line_parsers, baseline_io, history +from geos.ats import command_line_parsers, baseline_io, history + test_actions = ( "run", "rerun", "check", "continue" ) report_actions = ( "run", "rerun", "report", "continue" ) # Setup the logger logging.basicConfig( level=logging.DEBUG, format='(%(asctime)s %(module)s:%(lineno)d) %(message)s' ) -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) # Job records current_subproc = None @@ -46,9 +47,9 @@ def build_ats_arguments( options, originalargv, config ): def write_log_dir_summary( logdir, originalargv ): - from geos_ats import configuration_record + from geos.ats import configuration_record - with open( os.path.join( logdir, "geos_ats.config" ), "w" ) as logconfig: + with open( os.path.join( logdir, "geos-ats.config" ), "w" ) as logconfig: tmp = " ".join( originalargv[ 1: ] ) logconfig.write( f'Run with: "{tmp}"\n' ) configuration_record.infoConfigShow( True, logconfig ) @@ -121,7 +122,7 @@ def create_log_directory( options ): tests, the LogDir is temporary, and only sticks around if geos_ats exited abnormally. """ - from geos_ats import common_utilities + from geos.ats import common_utilities if options.logs is None: if options.action in test_actions: basename = getLogDirBaseName() @@ -166,7 +167,7 @@ def check_timing_file( options, config ): logger.warning( f'Timing file does not exist {config.timing_file}' ) return - from geos_ats import configuration_record + from geos.ats import configuration_record with open( config.timing_file, "r" ) as filep: for line in filep: if not line.startswith( '#' ): @@ -175,7 +176,7 @@ def check_timing_file( options, config ): def infoOptions( title, options ): - from geos_ats import common_utilities + from geos.ats import common_utilities topic = common_utilities.InfoTopic( title ) topic.startBanner() table = common_utilities.TextTable( 2 ) @@ -186,7 +187,7 @@ def infoOptions( title, options ): def info( args ): - from geos_ats import ( common_utilities, configuration_record, test_steps, suite_settings, test_case, + from geos.ats import ( common_utilities, configuration_record, test_steps, suite_settings, test_case, test_modifier ) infoLabels = lambda *x: suite_settings.infoLabels( suite_settings.__file__ ) @@ -210,7 +211,7 @@ def info( args ): def report( manager ): """The report action""" - from geos_ats import ( reporting, configuration_record ) + from geos.ats import ( reporting, configuration_record ) if configuration_record.config.report_html: reporter = reporting.ReportHTML( manager.testlist ) @@ -224,7 +225,7 @@ def report( manager ): def summary( manager, alog, short=False ): """Periodic summary and final summary""" - from geos_ats import ( reporting, configuration_record ) + from geos.ats import ( reporting, configuration_record ) if len( manager.testlist ) == 0: return @@ -265,7 +266,7 @@ def main(): logger.setLevel( verbosity_options[ options.verbose ] ) # Set key environment variables before importing ats - from geos_ats import machines + from geos.ats import machines search_path = '' if options.machine_dir is not None: if os.path.isdir( options.machine_dir ): @@ -305,7 +306,7 @@ def main(): quit() # Check the test configuration - from geos_ats import configuration_record + from geos.ats import configuration_record configuration_record.initializeConfig( configFile, configOverride, options ) config = configuration_record.config config.geos_bin_dir = options.geos_bin_dir @@ -344,7 +345,7 @@ def main(): # Note: the sys.argv is read here by default import ats # type: ignore[import] ats.manager.init() - logger.debug( 'Copying options to the geos_ats config record file' ) + logger.debug( 'Copying options to the geos-ats config record file' ) config.copy_values( ats.manager.machine ) # Glue global values @@ -366,7 +367,7 @@ def main(): else: ats.AtsTest.glue( testcases="all" ) - from geos_ats import ( common_utilities, suite_settings, test_case, test_steps, test_builder ) + from geos.ats import ( common_utilities, suite_settings, test_case, test_steps, test_builder ) # Set ats options append_geos_ats_summary( ats.manager ) diff --git a/geos_ats_package/geos_ats/reporting.py b/geos-ats/src/geos/ats/reporting.py similarity index 99% rename from geos_ats_package/geos_ats/reporting.py rename to geos-ats/src/geos/ats/reporting.py index 9222cb65..0da15353 100644 --- a/geos_ats_package/geos_ats/reporting.py +++ b/geos-ats/src/geos/ats/reporting.py @@ -1,8 +1,8 @@ import os import socket import time -from geos_ats.configuration_record import config -from geos_ats import assets +from geos.ats.configuration_record import config +from geos.ats import assets from configparser import ConfigParser from tabulate import tabulate import glob @@ -15,7 +15,7 @@ from ats import ( PASSED, FAILED, TIMEDOUT, EXPECTED, BATCHED, FILTERED, SKIPPED, CREATED, RUNNING, HALTED, LSFERROR ) # Get the active logger instance -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) # Status value in priority order STATUS = ( EXPECTED, CREATED, BATCHED, FILTERED, SKIPPED, RUNNING, PASSED, TIMEDOUT, HALTED, LSFERROR, FAILED ) diff --git a/geos_ats_package/geos_ats/scheduler.py b/geos-ats/src/geos/ats/scheduler.py similarity index 95% rename from geos_ats_package/geos_ats/scheduler.py rename to geos-ats/src/geos/ats/scheduler.py index 51faa2f6..19fcc501 100644 --- a/geos_ats_package/geos_ats/scheduler.py +++ b/geos-ats/src/geos/ats/scheduler.py @@ -2,8 +2,8 @@ import os import re import time -from geos_ats.configuration_record import config -from geos_ats.common_utilities import Log +from geos.ats.configuration_record import config +from geos.ats.common_utilities import Log from ats.log import log # type: ignore[import] from ats.atsut import PASSED, FAILED, CREATED, EXPECTED, TIMEDOUT # type: ignore[import] from ats.schedulers import StandardScheduler # type: ignore[import] diff --git a/geos_ats_package/geos_ats/suite_settings.py b/geos-ats/src/geos/ats/suite_settings.py similarity index 91% rename from geos_ats_package/geos_ats/suite_settings.py rename to geos-ats/src/geos/ats/suite_settings.py index c9a2e5ea..c7fcfb72 100644 --- a/geos_ats_package/geos_ats/suite_settings.py +++ b/geos-ats/src/geos/ats/suite_settings.py @@ -1,4 +1,4 @@ -from geos_ats import common_utilities +from geos.ats import common_utilities import logging testLabels = [ @@ -7,7 +7,7 @@ ] testOwners = [ ( "corbett5", "Ben Corbett" ) ] -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) def infoOwners( filename ): diff --git a/geos_ats_package/geos_ats/test_builder.py b/geos-ats/src/geos/ats/test_builder.py similarity index 99% rename from geos_ats_package/geos_ats/test_builder.py rename to geos-ats/src/geos/ats/test_builder.py index cb1de711..21ec98ea 100644 --- a/geos_ats_package/geos_ats/test_builder.py +++ b/geos-ats/src/geos/ats/test_builder.py @@ -12,7 +12,7 @@ from .test_case import TestCase test_build_failures = [] -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) @dataclass( frozen=True ) diff --git a/geos_ats_package/geos_ats/test_case.py b/geos-ats/src/geos/ats/test_case.py similarity index 98% rename from geos_ats_package/geos_ats/test_case.py rename to geos-ats/src/geos/ats/test_case.py index 5d14d503..9c3c27fd 100644 --- a/geos_ats_package/geos_ats/test_case.py +++ b/geos-ats/src/geos/ats/test_case.py @@ -7,12 +7,12 @@ from configparser import ConfigParser from ats import atsut from ats import ( EXPECTED, PASSED, FAILED, FILTERED, SKIPPED ) -from geos_ats.common_utilities import Error, Log, removeLogDirectories -from geos_ats.configuration_record import config, globalTestTimings +from geos.ats.common_utilities import Error, Log, removeLogDirectories +from geos.ats.configuration_record import config, globalTestTimings test = ats.manager.test testif = ats.manager.testif -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) all_test_names = [] diff --git a/geos_ats_package/geos_ats/test_modifier.py b/geos-ats/src/geos/ats/test_modifier.py similarity index 92% rename from geos_ats_package/geos_ats/test_modifier.py rename to geos-ats/src/geos/ats/test_modifier.py index 11187b22..b1f68e58 100644 --- a/geos_ats_package/geos_ats/test_modifier.py +++ b/geos-ats/src/geos/ats/test_modifier.py @@ -1,11 +1,11 @@ import ats # type: ignore[import] -from geos_ats import common_utilities -from geos_ats.configuration_record import config -from geos_ats import test_steps +from geos.ats import common_utilities +from geos.ats.configuration_record import config +from geos.ats import test_steps import os import logging -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) class TestModifier( object ): diff --git a/geos_ats_package/geos_ats/test_steps.py b/geos-ats/src/geos/ats/test_steps.py similarity index 99% rename from geos_ats_package/geos_ats/test_steps.py rename to geos-ats/src/geos/ats/test_steps.py index 7eef286a..42691063 100644 --- a/geos_ats_package/geos_ats/test_steps.py +++ b/geos-ats/src/geos/ats/test_steps.py @@ -7,11 +7,11 @@ import subprocess import re import logging -from geos_ats import common_utilities, history -from geos_ats.common_utilities import Error, Log -from geos_ats.configuration_record import config +from geos.ats import common_utilities, history +from geos.ats.common_utilities import Error, Log +from geos.ats.configuration_record import config -logger = logging.getLogger( 'geos_ats' ) +logger = logging.getLogger( 'geos-ats' ) def getGeosProblemName( deck, name ): diff --git a/geos_ats_package/geos_ats/user_utilities.py b/geos-ats/src/geos/ats/user_utilities.py similarity index 100% rename from geos_ats_package/geos_ats/user_utilities.py rename to geos-ats/src/geos/ats/user_utilities.py diff --git a/geosx_mesh_doctor/pyproject.toml b/geos-mesh-doctor/pyproject.toml similarity index 100% rename from geosx_mesh_doctor/pyproject.toml rename to geos-mesh-doctor/pyproject.toml diff --git a/geosx_mesh_doctor/requirements.txt b/geos-mesh-doctor/requirements.txt similarity index 100% rename from geosx_mesh_doctor/requirements.txt rename to geos-mesh-doctor/requirements.txt diff --git a/geosx_mesh_doctor/setup.py b/geos-mesh-doctor/setup.py similarity index 100% rename from geosx_mesh_doctor/setup.py rename to geos-mesh-doctor/setup.py diff --git a/geosx_mesh_doctor/checks/__init__.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/__init__.py similarity index 100% rename from geosx_mesh_doctor/checks/__init__.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/__init__.py diff --git a/geosx_mesh_doctor/checks/check_fractures.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/check_fractures.py similarity index 100% rename from geosx_mesh_doctor/checks/check_fractures.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/check_fractures.py diff --git a/geosx_mesh_doctor/checks/collocated_nodes.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/collocated_nodes.py similarity index 100% rename from geosx_mesh_doctor/checks/collocated_nodes.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/collocated_nodes.py diff --git a/geosx_mesh_doctor/checks/element_volumes.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/element_volumes.py similarity index 100% rename from geosx_mesh_doctor/checks/element_volumes.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/element_volumes.py diff --git a/geosx_mesh_doctor/checks/fix_elements_orderings.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/fix_elements_orderings.py similarity index 100% rename from geosx_mesh_doctor/checks/fix_elements_orderings.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/fix_elements_orderings.py diff --git a/geosx_mesh_doctor/checks/generate_cube.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_cube.py similarity index 100% rename from geosx_mesh_doctor/checks/generate_cube.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_cube.py diff --git a/geosx_mesh_doctor/checks/generate_fractures.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_fractures.py similarity index 100% rename from geosx_mesh_doctor/checks/generate_fractures.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_fractures.py diff --git a/geosx_mesh_doctor/checks/generate_global_ids.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_global_ids.py similarity index 100% rename from geosx_mesh_doctor/checks/generate_global_ids.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_global_ids.py diff --git a/geosx_mesh_doctor/checks/non_conformal.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/non_conformal.py similarity index 100% rename from geosx_mesh_doctor/checks/non_conformal.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/non_conformal.py diff --git a/geosx_mesh_doctor/checks/reorient_mesh.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/reorient_mesh.py similarity index 100% rename from geosx_mesh_doctor/checks/reorient_mesh.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/reorient_mesh.py diff --git a/geosx_mesh_doctor/checks/self_intersecting_elements.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/self_intersecting_elements.py similarity index 100% rename from geosx_mesh_doctor/checks/self_intersecting_elements.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/self_intersecting_elements.py diff --git a/geosx_mesh_doctor/checks/supported_elements.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/supported_elements.py similarity index 100% rename from geosx_mesh_doctor/checks/supported_elements.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/supported_elements.py diff --git a/geosx_mesh_doctor/checks/triangle_distance.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/triangle_distance.py similarity index 100% rename from geosx_mesh_doctor/checks/triangle_distance.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/triangle_distance.py diff --git a/geosx_mesh_doctor/checks/vtk_polyhedron.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_polyhedron.py similarity index 100% rename from geosx_mesh_doctor/checks/vtk_polyhedron.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_polyhedron.py diff --git a/geosx_mesh_doctor/checks/vtk_utils.py b/geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_utils.py similarity index 100% rename from geosx_mesh_doctor/checks/vtk_utils.py rename to geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_utils.py diff --git a/geosx_mesh_doctor/mesh_doctor.py b/geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py similarity index 100% rename from geosx_mesh_doctor/mesh_doctor.py rename to geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py diff --git a/geosx_mesh_doctor/parsing/__init__.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/__init__.py similarity index 100% rename from geosx_mesh_doctor/parsing/__init__.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/__init__.py diff --git a/geosx_mesh_doctor/parsing/check_fractures_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/check_fractures_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/check_fractures_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/check_fractures_parsing.py diff --git a/geosx_mesh_doctor/parsing/cli_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/cli_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/cli_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/cli_parsing.py diff --git a/geosx_mesh_doctor/parsing/collocated_nodes_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/collocated_nodes_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py diff --git a/geosx_mesh_doctor/parsing/element_volumes_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/element_volumes_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py diff --git a/geosx_mesh_doctor/parsing/fix_elements_orderings_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/fix_elements_orderings_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py diff --git a/geosx_mesh_doctor/parsing/generate_cube_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/generate_cube_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py diff --git a/geosx_mesh_doctor/parsing/generate_fractures_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/generate_fractures_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py diff --git a/geosx_mesh_doctor/parsing/generate_global_ids_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/generate_global_ids_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py diff --git a/geosx_mesh_doctor/parsing/non_conformal_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/non_conformal_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py diff --git a/geosx_mesh_doctor/parsing/self_intersecting_elements_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/self_intersecting_elements_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py diff --git a/geosx_mesh_doctor/parsing/supported_elements_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/supported_elements_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py diff --git a/geosx_mesh_doctor/parsing/vtk_output_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py similarity index 100% rename from geosx_mesh_doctor/parsing/vtk_output_parsing.py rename to geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py diff --git a/geosx_mesh_doctor/register.py b/geos-mesh-doctor/src/geos/mesh/doctor/register.py similarity index 100% rename from geosx_mesh_doctor/register.py rename to geos-mesh-doctor/src/geos/mesh/doctor/register.py diff --git a/geosx_mesh_doctor/tests/test_cli_parsing.py b/geos-mesh-doctor/tests/test_cli_parsing.py similarity index 100% rename from geosx_mesh_doctor/tests/test_cli_parsing.py rename to geos-mesh-doctor/tests/test_cli_parsing.py diff --git a/geosx_mesh_doctor/tests/test_collocated_nodes.py b/geos-mesh-doctor/tests/test_collocated_nodes.py similarity index 100% rename from geosx_mesh_doctor/tests/test_collocated_nodes.py rename to geos-mesh-doctor/tests/test_collocated_nodes.py diff --git a/geosx_mesh_doctor/tests/test_element_volumes.py b/geos-mesh-doctor/tests/test_element_volumes.py similarity index 100% rename from geosx_mesh_doctor/tests/test_element_volumes.py rename to geos-mesh-doctor/tests/test_element_volumes.py diff --git a/geosx_mesh_doctor/tests/test_generate_cube.py b/geos-mesh-doctor/tests/test_generate_cube.py similarity index 100% rename from geosx_mesh_doctor/tests/test_generate_cube.py rename to geos-mesh-doctor/tests/test_generate_cube.py diff --git a/geosx_mesh_doctor/tests/test_generate_fractures.py b/geos-mesh-doctor/tests/test_generate_fractures.py similarity index 100% rename from geosx_mesh_doctor/tests/test_generate_fractures.py rename to geos-mesh-doctor/tests/test_generate_fractures.py diff --git a/geosx_mesh_doctor/tests/test_generate_global_ids.py b/geos-mesh-doctor/tests/test_generate_global_ids.py similarity index 100% rename from geosx_mesh_doctor/tests/test_generate_global_ids.py rename to geos-mesh-doctor/tests/test_generate_global_ids.py diff --git a/geosx_mesh_doctor/tests/test_non_conformal.py b/geos-mesh-doctor/tests/test_non_conformal.py similarity index 100% rename from geosx_mesh_doctor/tests/test_non_conformal.py rename to geos-mesh-doctor/tests/test_non_conformal.py diff --git a/geosx_mesh_doctor/tests/test_reorient_mesh.py b/geos-mesh-doctor/tests/test_reorient_mesh.py similarity index 100% rename from geosx_mesh_doctor/tests/test_reorient_mesh.py rename to geos-mesh-doctor/tests/test_reorient_mesh.py diff --git a/geosx_mesh_doctor/tests/test_self_intersecting_elements.py b/geos-mesh-doctor/tests/test_self_intersecting_elements.py similarity index 100% rename from geosx_mesh_doctor/tests/test_self_intersecting_elements.py rename to geos-mesh-doctor/tests/test_self_intersecting_elements.py diff --git a/geosx_mesh_doctor/tests/test_supported_elements.py b/geos-mesh-doctor/tests/test_supported_elements.py similarity index 100% rename from geosx_mesh_doctor/tests/test_supported_elements.py rename to geos-mesh-doctor/tests/test_supported_elements.py diff --git a/geosx_mesh_doctor/tests/test_triangle_distance.py b/geos-mesh-doctor/tests/test_triangle_distance.py similarity index 100% rename from geosx_mesh_doctor/tests/test_triangle_distance.py rename to geos-mesh-doctor/tests/test_triangle_distance.py diff --git a/geosx_mesh_tools_package/pyproject.toml b/geos-mesh-tools/pyproject.toml similarity index 100% rename from geosx_mesh_tools_package/pyproject.toml rename to geos-mesh-tools/pyproject.toml diff --git a/geosx_mesh_tools_package/setup.cfg b/geos-mesh-tools/setup.cfg similarity index 100% rename from geosx_mesh_tools_package/setup.cfg rename to geos-mesh-tools/setup.cfg diff --git a/geosx_mesh_tools_package/geosx_mesh_tools/__init__.py b/geos-mesh-tools/src/geos/mesh/tools/__init__.py similarity index 100% rename from geosx_mesh_tools_package/geosx_mesh_tools/__init__.py rename to geos-mesh-tools/src/geos/mesh/tools/__init__.py diff --git a/geosx_mesh_tools_package/geosx_mesh_tools/abaqus_converter.py b/geos-mesh-tools/src/geos/mesh/tools/abaqus_converter.py similarity index 100% rename from geosx_mesh_tools_package/geosx_mesh_tools/abaqus_converter.py rename to geos-mesh-tools/src/geos/mesh/tools/abaqus_converter.py diff --git a/geosx_mesh_tools_package/geosx_mesh_tools/main.py b/geos-mesh-tools/src/geos/mesh/tools/main.py similarity index 100% rename from geosx_mesh_tools_package/geosx_mesh_tools/main.py rename to geos-mesh-tools/src/geos/mesh/tools/main.py diff --git a/geosx_mesh_tools_package/geosx_mesh_tools/py.typed b/geos-mesh-tools/src/geos/mesh/tools/py.typed similarity index 100% rename from geosx_mesh_tools_package/geosx_mesh_tools/py.typed rename to geos-mesh-tools/src/geos/mesh/tools/py.typed diff --git a/geosx_xml_tools_package/pyproject.toml b/geos-timehistory/pyproject.toml similarity index 100% rename from geosx_xml_tools_package/pyproject.toml rename to geos-timehistory/pyproject.toml diff --git a/timehistory_package/setup.cfg b/geos-timehistory/setup.cfg similarity index 100% rename from timehistory_package/setup.cfg rename to geos-timehistory/setup.cfg diff --git a/timehistory_package/timehistory/__init__.py b/geos-timehistory/src/geos/timehistory/__init__.py similarity index 100% rename from timehistory_package/timehistory/__init__.py rename to geos-timehistory/src/geos/timehistory/__init__.py diff --git a/timehistory_package/timehistory/plot_time_history.py b/geos-timehistory/src/geos/timehistory/plot_time_history.py similarity index 100% rename from timehistory_package/timehistory/plot_time_history.py rename to geos-timehistory/src/geos/timehistory/plot_time_history.py diff --git a/geosx_xml_tools_package/.gitignore b/geos-xml-tools/.gitignore similarity index 100% rename from geosx_xml_tools_package/.gitignore rename to geos-xml-tools/.gitignore diff --git a/hdf5_wrapper_package/pyproject.toml b/geos-xml-tools/pyproject.toml similarity index 100% rename from hdf5_wrapper_package/pyproject.toml rename to geos-xml-tools/pyproject.toml diff --git a/geosx_xml_tools_package/setup.cfg b/geos-xml-tools/setup.cfg similarity index 100% rename from geosx_xml_tools_package/setup.cfg rename to geos-xml-tools/setup.cfg diff --git a/geosx_xml_tools_package/geosx_xml_tools/__init__.py b/geos-xml-tools/src/geos/xml/tools/__init__.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/__init__.py rename to geos-xml-tools/src/geos/xml/tools/__init__.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/attribute_coverage.py b/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/attribute_coverage.py rename to geos-xml-tools/src/geos/xml/tools/attribute_coverage.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/command_line_parsers.py b/geos-xml-tools/src/geos/xml/tools/command_line_parsers.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/command_line_parsers.py rename to geos-xml-tools/src/geos/xml/tools/command_line_parsers.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/main.py b/geos-xml-tools/src/geos/xml/tools/main.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/main.py rename to geos-xml-tools/src/geos/xml/tools/main.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/py.typed b/geos-xml-tools/src/geos/xml/tools/py.typed similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/py.typed rename to geos-xml-tools/src/geos/xml/tools/py.typed diff --git a/geosx_xml_tools_package/geosx_xml_tools/regex_tools.py b/geos-xml-tools/src/geos/xml/tools/regex_tools.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/regex_tools.py rename to geos-xml-tools/src/geos/xml/tools/regex_tools.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/table_generator.py b/geos-xml-tools/src/geos/xml/tools/table_generator.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/table_generator.py rename to geos-xml-tools/src/geos/xml/tools/table_generator.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/tests/__init__.py b/geos-xml-tools/src/geos/xml/tools/tests/__init__.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/tests/__init__.py rename to geos-xml-tools/src/geos/xml/tools/tests/__init__.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/tests/generate_test_xml.py b/geos-xml-tools/src/geos/xml/tools/tests/generate_test_xml.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/tests/generate_test_xml.py rename to geos-xml-tools/src/geos/xml/tools/tests/generate_test_xml.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/tests/test_manager.py b/geos-xml-tools/src/geos/xml/tools/tests/test_manager.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/tests/test_manager.py rename to geos-xml-tools/src/geos/xml/tools/tests/test_manager.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/unit_manager.py b/geos-xml-tools/src/geos/xml/tools/unit_manager.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/unit_manager.py rename to geos-xml-tools/src/geos/xml/tools/unit_manager.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/xml_formatter.py b/geos-xml-tools/src/geos/xml/tools/xml_formatter.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/xml_formatter.py rename to geos-xml-tools/src/geos/xml/tools/xml_formatter.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/xml_processor.py b/geos-xml-tools/src/geos/xml/tools/xml_processor.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/xml_processor.py rename to geos-xml-tools/src/geos/xml/tools/xml_processor.py diff --git a/geosx_xml_tools_package/geosx_xml_tools/xml_redundancy_check.py b/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py similarity index 100% rename from geosx_xml_tools_package/geosx_xml_tools/xml_redundancy_check.py rename to geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py diff --git a/geos_ats_package/pyproject.toml b/geos_ats_package/pyproject.toml deleted file mode 100644 index 008c8e4a..00000000 --- a/geos_ats_package/pyproject.toml +++ /dev/null @@ -1,4 +0,0 @@ -[build-system] -requires = ["setuptools>=42", "wheel"] -build-backend = "setuptools.build_meta" - diff --git a/geos_ats_package/setup.cfg b/geos_ats_package/setup.cfg deleted file mode 100644 index 6ee5dde7..00000000 --- a/geos_ats_package/setup.cfg +++ /dev/null @@ -1,39 +0,0 @@ -[metadata] -name = geos_ats -version = 0.2.0 -description = ATS implementation for GEOS testing -author = GEOS Contributors -author_email = sherman27@llnl.gov -license = LGPL-2.1 - -[options] -packages = - geos_ats - geos_ats.assets - geos_ats.helpers - geos_ats.machines -install_requires = - h5py - mpi4py - numpy - lxml - tabulate - pyyaml - tqdm - requests - GitPython - google-cloud-storage - pip-system-certs - ats @ https://github.com/LLNL/ATS/archive/refs/tags/7.0.105.tar.gz -python_requires = >=3.7 - -[options.package_data] -* = *.js, *.css, *.zip - -[options.entry_points] -console_scripts = - run_geos_ats = geos_ats.main:main - setup_ats_environment = geos_ats.environment_setup:main - geos_ats_log_check = geos_ats.helpers.log_check:main - geos_ats_restart_check = geos_ats.helpers.restart_check:main - geos_ats_curve_check = geos_ats.helpers.curve_check:main diff --git a/hdf5_wrapper_package/hdf5_wrapper/__init__.py b/hdf5-wrapper/hdf5_wrapper/__init__.py similarity index 100% rename from hdf5_wrapper_package/hdf5_wrapper/__init__.py rename to hdf5-wrapper/hdf5_wrapper/__init__.py diff --git a/hdf5_wrapper_package/hdf5_wrapper/py.typed b/hdf5-wrapper/hdf5_wrapper/py.typed similarity index 100% rename from hdf5_wrapper_package/hdf5_wrapper/py.typed rename to hdf5-wrapper/hdf5_wrapper/py.typed diff --git a/hdf5_wrapper_package/hdf5_wrapper/use_example.py b/hdf5-wrapper/hdf5_wrapper/use_example.py similarity index 100% rename from hdf5_wrapper_package/hdf5_wrapper/use_example.py rename to hdf5-wrapper/hdf5_wrapper/use_example.py diff --git a/hdf5_wrapper_package/hdf5_wrapper/wrapper.py b/hdf5-wrapper/hdf5_wrapper/wrapper.py similarity index 100% rename from hdf5_wrapper_package/hdf5_wrapper/wrapper.py rename to hdf5-wrapper/hdf5_wrapper/wrapper.py diff --git a/hdf5_wrapper_package/hdf5_wrapper/wrapper_tests.py b/hdf5-wrapper/hdf5_wrapper/wrapper_tests.py similarity index 100% rename from hdf5_wrapper_package/hdf5_wrapper/wrapper_tests.py rename to hdf5-wrapper/hdf5_wrapper/wrapper_tests.py diff --git a/pygeosx_tools_package/pyproject.toml b/hdf5-wrapper/pyproject.toml similarity index 100% rename from pygeosx_tools_package/pyproject.toml rename to hdf5-wrapper/pyproject.toml diff --git a/hdf5_wrapper_package/setup.cfg b/hdf5-wrapper/setup.cfg similarity index 100% rename from hdf5_wrapper_package/setup.cfg rename to hdf5-wrapper/setup.cfg diff --git a/pygeosx_tools_package/pygeosx_tools/__init__.py b/pygeos-tools/pygeosx_tools/__init__.py similarity index 100% rename from pygeosx_tools_package/pygeosx_tools/__init__.py rename to pygeos-tools/pygeosx_tools/__init__.py diff --git a/pygeosx_tools_package/pygeosx_tools/file_io.py b/pygeos-tools/pygeosx_tools/file_io.py similarity index 100% rename from pygeosx_tools_package/pygeosx_tools/file_io.py rename to pygeos-tools/pygeosx_tools/file_io.py diff --git a/pygeosx_tools_package/pygeosx_tools/mesh_interpolation.py b/pygeos-tools/pygeosx_tools/mesh_interpolation.py similarity index 100% rename from pygeosx_tools_package/pygeosx_tools/mesh_interpolation.py rename to pygeos-tools/pygeosx_tools/mesh_interpolation.py diff --git a/pygeosx_tools_package/pygeosx_tools/py.typed b/pygeos-tools/pygeosx_tools/py.typed similarity index 100% rename from pygeosx_tools_package/pygeosx_tools/py.typed rename to pygeos-tools/pygeosx_tools/py.typed diff --git a/pygeosx_tools_package/pygeosx_tools/well_log.py b/pygeos-tools/pygeosx_tools/well_log.py similarity index 100% rename from pygeosx_tools_package/pygeosx_tools/well_log.py rename to pygeos-tools/pygeosx_tools/well_log.py diff --git a/pygeosx_tools_package/pygeosx_tools/wrapper.py b/pygeos-tools/pygeosx_tools/wrapper.py similarity index 100% rename from pygeosx_tools_package/pygeosx_tools/wrapper.py rename to pygeos-tools/pygeosx_tools/wrapper.py diff --git a/timehistory_package/pyproject.toml b/pygeos-tools/pyproject.toml similarity index 100% rename from timehistory_package/pyproject.toml rename to pygeos-tools/pyproject.toml diff --git a/pygeosx_tools_package/setup.cfg b/pygeos-tools/setup.cfg similarity index 100% rename from pygeosx_tools_package/setup.cfg rename to pygeos-tools/setup.cfg From 2422994a9bf6f8351fdb3e6da6b9da1c8d2f980d Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 15:24:20 +0100 Subject: [PATCH 02/34] WIP: geos-mesh-doctor --- geos-mesh-doctor/pyproject.toml | 33 +++++++++++++++++++ geos-mesh-doctor/requirements.txt | 4 --- geos-mesh-doctor/setup.py | 3 -- .../src/geos/mesh/doctor/mesh_doctor.py | 6 ++-- .../parsing/collocated_nodes_parsing.py | 2 +- .../doctor/parsing/element_volumes_parsing.py | 2 +- .../parsing/fix_elements_orderings_parsing.py | 2 +- .../doctor/parsing/generate_cube_parsing.py | 2 +- .../parsing/generate_fractures_parsing.py | 2 +- .../parsing/generate_global_ids_parsing.py | 2 +- .../doctor/parsing/non_conformal_parsing.py | 2 +- .../self_intersecting_elements_parsing.py | 2 +- .../parsing/supported_elements_parsing.py | 2 +- .../mesh/doctor/parsing/vtk_output_parsing.py | 2 +- .../src/geos/mesh/doctor/register.py | 8 ++--- 15 files changed, 50 insertions(+), 24 deletions(-) delete mode 100644 geos-mesh-doctor/requirements.txt delete mode 100644 geos-mesh-doctor/setup.py diff --git a/geos-mesh-doctor/pyproject.toml b/geos-mesh-doctor/pyproject.toml index 20051350..e3ebece3 100644 --- a/geos-mesh-doctor/pyproject.toml +++ b/geos-mesh-doctor/pyproject.toml @@ -1,3 +1,36 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "geos-mesh-doctor" +version = "0.0.1" +description = "Mesh doctor for GEOS" +authors = [{name = "GEOS Contributors" }] +license = {text = "LGPL-2.1"} +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python" +] + +requires-python = ">=3.11" + +dependencies = [ + "vtk >= 9.1", + "networkx >= 2.4", + "tqdm", + "numpy", +] + +[project.scripts] + mesh-doctor = "geos.mesh.doctor.mesh_doctor:main" + +[project.urls] +Homepage = "https://github.com/GEOS-DEV/geosPythonPackages" +Documentation = "https://geosx-geosx.readthedocs-hosted.com/projects/geosx-geospythonpackages/en/latest/" +Repository = "https://github.com/GEOS-DEV/geosPythonPackages.git" +"Bug Tracker" = "https://github.com/GEOS-DEV/geosPythonPackages/issues" + [tool.pytest.ini_options] addopts = [ "--import-mode=importlib", diff --git a/geos-mesh-doctor/requirements.txt b/geos-mesh-doctor/requirements.txt deleted file mode 100644 index 4c9b1763..00000000 --- a/geos-mesh-doctor/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -vtk >= 9.1 -networkx >= 2.4 -tqdm -numpy \ No newline at end of file diff --git a/geos-mesh-doctor/setup.py b/geos-mesh-doctor/setup.py deleted file mode 100644 index dc03ac1d..00000000 --- a/geos-mesh-doctor/setup.py +++ /dev/null @@ -1,3 +0,0 @@ -from setuptools import setup, find_packages - -setup( name='mesh_doctor', version='0.0.1', packages=find_packages() ) diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py b/geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py index 0e652acf..ea1bfe8a 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py @@ -9,9 +9,9 @@ import logging -from parsing import CheckHelper -from parsing.cli_parsing import parse_and_set_verbosity -import register +from geos.mesh.doctor.parsing import CheckHelper +from geos.mesh.doctor.parsing.cli_parsing import parse_and_set_verbosity +import geos.mesh.doctor.register as register def main(): diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py index fd737a83..7fb84420 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py @@ -5,7 +5,7 @@ List, ) -from checks.collocated_nodes import Options, Result +from geos.mesh.doctor.checks.collocated_nodes import Options, Result from . import COLLOCATES_NODES diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py index 3c126cde..162b9d3c 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py @@ -1,6 +1,6 @@ import logging -from checks.element_volumes import Options, Result +from geos.mesh.doctor.checks.element_volumes import Options, Result from . import ELEMENT_VOLUMES diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py index 7a620067..71fb3a51 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py @@ -11,7 +11,7 @@ VTK_WEDGE, ) -from checks.fix_elements_orderings import Options, Result +from geos.mesh.doctor.checks.fix_elements_orderings import Options, Result from . import vtk_output_parsing, FIX_ELEMENTS_ORDERINGS diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py index 3c8a17d2..650adf04 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py @@ -1,6 +1,6 @@ import logging -from checks.generate_cube import Options, Result, FieldInfo +from geos.mesh.doctor.checks.generate_cube import Options, Result, FieldInfo from . import vtk_output_parsing, generate_global_ids_parsing, GENERATE_CUBE from .generate_global_ids_parsing import GlobalIdsInfo diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py index f3840895..9d94b899 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py @@ -1,6 +1,6 @@ import logging -from checks.generate_fractures import Options, Result, FracturePolicy +from geos.mesh.doctor.checks.generate_fractures import Options, Result, FracturePolicy from . import vtk_output_parsing, GENERATE_FRACTURES diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py index 06efd434..43997c67 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py @@ -1,7 +1,7 @@ from dataclasses import dataclass import logging -from checks.generate_global_ids import Options, Result +from geos.mesh.doctor.checks.generate_global_ids import Options, Result from . import vtk_output_parsing, GENERATE_GLOBAL_IDS diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py index 046c9605..d4aeb46a 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py @@ -5,7 +5,7 @@ List, ) -from checks.non_conformal import Options, Result +from geos.mesh.doctor.checks.non_conformal import Options, Result from . import NON_CONFORMAL diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py index b5c2f545..3f440d93 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py @@ -2,7 +2,7 @@ import numpy -from checks.self_intersecting_elements import Options, Result +from geos.mesh.doctor.checks.self_intersecting_elements import Options, Result from . import SELF_INTERSECTING_ELEMENTS diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py index b43ae042..fea58f3c 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py @@ -1,7 +1,7 @@ import logging import multiprocessing -from checks.supported_elements import Options, Result +from geos.mesh.doctor.checks.supported_elements import Options, Result from . import SUPPORTED_ELEMENTS diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py index be31037d..8b5d3e8d 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py @@ -2,7 +2,7 @@ import logging import textwrap -from checks.vtk_utils import VtkOutput +from geos.mesh.doctor.checks.vtk_utils import VtkOutput __OUTPUT_FILE = "output" __OUTPUT_BINARY_MODE = "data-mode" diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/register.py b/geos-mesh-doctor/src/geos/mesh/doctor/register.py index 1626053b..75e8d486 100644 --- a/geos-mesh-doctor/src/geos/mesh/doctor/register.py +++ b/geos-mesh-doctor/src/geos/mesh/doctor/register.py @@ -3,20 +3,20 @@ import logging from typing import Dict, Callable, Any, Tuple -import parsing -from parsing import CheckHelper, cli_parsing +import geos.mesh.doctor.parsing as parsing +from geos.mesh.doctor.parsing import CheckHelper, cli_parsing __HELPERS: Dict[ str, Callable[ [ None ], CheckHelper ] ] = dict() __CHECKS: Dict[ str, Callable[ [ None ], Any ] ] = dict() def __load_module_check( module_name: str, check_fct="check" ): - module = importlib.import_module( "checks." + module_name ) + module = importlib.import_module( "geos.mesh.doctor.checks." + module_name ) return getattr( module, check_fct ) def __load_module_check_helper( module_name: str, parsing_fct_suffix="_parsing" ): - module = importlib.import_module( "parsing." + module_name + parsing_fct_suffix ) + module = importlib.import_module( "geos.mesh.doctor.parsing." + module_name + parsing_fct_suffix ) return CheckHelper( fill_subparser=module.fill_subparser, convert=module.convert, display_results=module.display_results ) From 945bdd9f936b54e9abd8c6740ab9c1226c05f76e Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Mon, 13 May 2024 10:44:37 -0700 Subject: [PATCH 03/34] Resolving merge conflicts --- geos-ats/pyproject.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/geos-ats/pyproject.toml b/geos-ats/pyproject.toml index 1af77d1a..67756ac7 100644 --- a/geos-ats/pyproject.toml +++ b/geos-ats/pyproject.toml @@ -2,8 +2,6 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" -# [tool.setuptools] -# packages = ["geos-ats", "geos-ats.helpers", "geos-ats.assets", "geos-ats.machines"] [project] name = "geos-ats" @@ -11,7 +9,7 @@ version = "0.2.0" description = "ATS implementation for GEOS testing" authors = [{name = "GEOS Contributors" }] maintainers = [ - {name = "sherman", email = "sherman27@llnl.gov"} + {name = "Christopher Sherman", email = "sherman27@llnl.gov"} ] license = {text = "LGPL-2.1"} classifiers = [ From 2fe738f185cf336df54e582f96b9f9e9b192c10c Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 15:44:25 +0100 Subject: [PATCH 04/34] WIP: geos-mesh-tools --- geos-mesh-tools/pyproject.toml | 24 ++++++++++++++++++++++++ geos-mesh-tools/setup.cfg | 22 ---------------------- 2 files changed, 24 insertions(+), 22 deletions(-) delete mode 100644 geos-mesh-tools/setup.cfg diff --git a/geos-mesh-tools/pyproject.toml b/geos-mesh-tools/pyproject.toml index c2f433af..b0405256 100644 --- a/geos-mesh-tools/pyproject.toml +++ b/geos-mesh-tools/pyproject.toml @@ -2,6 +2,30 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" +[project] +name = "geos-mesh-tools" +version = "0.2.0" +description = "Tools for managing meshes in GEOS" +authors = [{name = "GEOS Contributors" }] +maintainers = [ + {name = "Christopher Sherman", email = "sherman27@llnl.gov"} +] +license = {text = "LGPL-2.1"} +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python" +] + +requires-python = ">=3.6" + +dependencies = [ + "meshio>=5.3.2", + "numpy", +] + +[project.scripts] + convert_abaqus = "geos.mesh.tools.main:main" + [tool.mypy] python_version = "3.8" warn_return_any = true diff --git a/geos-mesh-tools/setup.cfg b/geos-mesh-tools/setup.cfg deleted file mode 100644 index 06ca8c2c..00000000 --- a/geos-mesh-tools/setup.cfg +++ /dev/null @@ -1,22 +0,0 @@ -[metadata] -name = geosx_mesh_tools -version = 0.2.0 -description = Tools for managing meshes in GEOSX -author = Christopher Sherman -author_email = sherman27@llnl.gov -license = LGPL-2.1 - -[options] -packages = - geosx_mesh_tools -install_requires = - meshio>=5.3.2 - numpy -python_requires = >=3.6 - -[options.package_data] -geosx_mesh_tools = py.typed - -[options.entry_points] -console_scripts = - convert_abaqus = geosx_mesh_tools.main:main From 7a1ee5cde8806519585a63213ea2f1cf70e5993a Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 15:44:43 +0100 Subject: [PATCH 05/34] WIP: geos-timehistory --- geos-timehistory/pyproject.toml | 25 +++++++++++++++++++ geos-timehistory/setup.cfg | 16 ------------ .../src/geos/timehistory/__init__.py | 2 +- .../{plot_time_history.py => plot.py} | 2 +- 4 files changed, 27 insertions(+), 18 deletions(-) delete mode 100644 geos-timehistory/setup.cfg rename geos-timehistory/src/geos/timehistory/{plot_time_history.py => plot.py} (99%) diff --git a/geos-timehistory/pyproject.toml b/geos-timehistory/pyproject.toml index c2f433af..ad27bbf6 100644 --- a/geos-timehistory/pyproject.toml +++ b/geos-timehistory/pyproject.toml @@ -2,6 +2,31 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" +[project] +name = "geos-timehistory" +version = "0.1.0" +description = "Scripts to plot time-series data from GEOSX time-history output files" +authors = [{name = "GEOS Contributors" }] +maintainers = [ + {name = "William Tobin", email = "tobin6@llnl.gov"} +] +license = {text = "LGPL-2.1"} +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python" +] + +requires-python = ">=3.6" + +dependencies = [ + "matplotlib", + "h5py", + "numpy", +] + +[project.scripts] + plot-timehistory = "geos.timehistory.plot:main" + [tool.mypy] python_version = "3.8" warn_return_any = true diff --git a/geos-timehistory/setup.cfg b/geos-timehistory/setup.cfg deleted file mode 100644 index 8201bb1b..00000000 --- a/geos-timehistory/setup.cfg +++ /dev/null @@ -1,16 +0,0 @@ -[metadata] -name = time_history_plotting -version = 0.1.0 -description = Scripts to plot time-series data from GEOSX time-history output files -author = William Tobin -author_email = tobin6@llnl.gov -license = LGPL-2.1 - -[options] -packages = - timehistory -install_requires = - matplotlib - h5py - numpy -python_requires = >=3.6 diff --git a/geos-timehistory/src/geos/timehistory/__init__.py b/geos-timehistory/src/geos/timehistory/__init__.py index b288976b..6212552c 100644 --- a/geos-timehistory/src/geos/timehistory/__init__.py +++ b/geos-timehistory/src/geos/timehistory/__init__.py @@ -1 +1 @@ -from .plot_time_history import getHistorySeries +from .plot import getHistorySeries diff --git a/geos-timehistory/src/geos/timehistory/plot_time_history.py b/geos-timehistory/src/geos/timehistory/plot.py similarity index 99% rename from geos-timehistory/src/geos/timehistory/plot_time_history.py rename to geos-timehistory/src/geos/timehistory/plot.py index 512c4b11..6f7fc017 100644 --- a/geos-timehistory/src/geos/timehistory/plot_time_history.py +++ b/geos-timehistory/src/geos/timehistory/plot.py @@ -1,5 +1,5 @@ import numpy as np -from hdf5_wrapper import hdf5_wrapper as h5w +from geos.hdf5.wrapper import hdf5_wrapper as h5w import matplotlib as mpl import matplotlib.pyplot as plt import os From 174188ffc3ad1eba39645cc81853af368c739519 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 15:46:35 +0100 Subject: [PATCH 06/34] WIP: geos-xml-tools --- geos-xml-tools/.gitignore | 2 -- geos-xml-tools/pyproject.toml | 28 +++++++++++++++++++ geos-xml-tools/setup.cfg | 28 ------------------- .../src/geos/xml/tools/attribute_coverage.py | 2 +- geos-xml-tools/src/geos/xml/tools/main.py | 2 +- .../src/geos/xml/tools/unit_manager.py | 2 +- .../src/geos/xml/tools/xml_formatter.py | 2 +- .../src/geos/xml/tools/xml_processor.py | 4 +-- .../geos/xml/tools/xml_redundancy_check.py | 6 ++-- 9 files changed, 37 insertions(+), 39 deletions(-) delete mode 100644 geos-xml-tools/.gitignore delete mode 100644 geos-xml-tools/setup.cfg diff --git a/geos-xml-tools/.gitignore b/geos-xml-tools/.gitignore deleted file mode 100644 index 59d52651..00000000 --- a/geos-xml-tools/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -*.egg-info diff --git a/geos-xml-tools/pyproject.toml b/geos-xml-tools/pyproject.toml index c2f433af..591d50b3 100644 --- a/geos-xml-tools/pyproject.toml +++ b/geos-xml-tools/pyproject.toml @@ -2,6 +2,34 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" +[project] +name = "geos-xml-tools" +version = "0.6.0" +description = "Tools for enabling advanced xml features in GEOSX" +maintainers = [ + {name = "Christopher Sherman", email = "sherman27@llnl.gov" } +] +license = {text = "LGPL-2.1"} +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python" +] + +requires-python = ">=3.6" + +dependencies = [ + "lxml>=4.5.0", + "parameterized", + "numpy" +] + +[project.scripts] + preprocess_xml = "geos.xml.tools.main:preprocess_serial" + format_xml = "geos.xml.tools.xml_formatter:main" + test_geosx_xml_tools = "geos.xml.tools.tests.test_manager:main" + check_xml_attribute_coverage = "geos.xml.tools.attribute_coverage:main" + check_xml_redundancy = "geos.xml.tools.xml_redundancy_check:main" + [tool.mypy] python_version = "3.8" warn_return_any = true diff --git a/geos-xml-tools/setup.cfg b/geos-xml-tools/setup.cfg deleted file mode 100644 index b369ca6f..00000000 --- a/geos-xml-tools/setup.cfg +++ /dev/null @@ -1,28 +0,0 @@ -[metadata] -name = geosx_xml_tools -version = 0.6.0 -description = Tools for enabling advanced xml features in GEOSX -author = Christopher Sherman -author_email = sherman27@llnl.gov -license = LGPL-2.1 - -[options] -packages = - geosx_xml_tools - geosx_xml_tools.tests -install_requires = - lxml>=4.5.0 - parameterized - numpy -python_requires = >=3.6 - -[options.package_data] -geosx_xml_tools = py.typed - -[options.entry_points] -console_scripts = - preprocess_xml = geosx_xml_tools.main:preprocess_serial - format_xml = geosx_xml_tools.xml_formatter:main - test_geosx_xml_tools = geosx_xml_tools.tests.test_manager:main - check_xml_attribute_coverage = geosx_xml_tools.attribute_coverage:main - check_xml_redundancy = geosx_xml_tools.xml_redundancy_check:main diff --git a/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py b/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py index 7f7af99e..bf826078 100644 --- a/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py +++ b/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py @@ -2,7 +2,7 @@ import os from pathlib import Path from typing import Any, Iterable, Dict -from geosx_xml_tools import command_line_parsers +from geos.xml.tools import command_line_parsers record_type = Dict[ str, Dict[ str, Any ] ] diff --git a/geos-xml-tools/src/geos/xml/tools/main.py b/geos-xml-tools/src/geos/xml/tools/main.py index c907cf7e..51e79536 100644 --- a/geos-xml-tools/src/geos/xml/tools/main.py +++ b/geos-xml-tools/src/geos/xml/tools/main.py @@ -4,7 +4,7 @@ import argparse import os import time -from geosx_xml_tools import xml_processor, command_line_parsers +from geos.xml.tools import xml_processor, command_line_parsers from typing import Callable, Any, Union, Tuple, Iterable diff --git a/geos-xml-tools/src/geos/xml/tools/unit_manager.py b/geos-xml-tools/src/geos/xml/tools/unit_manager.py index 4f04fa81..48d8d414 100644 --- a/geos-xml-tools/src/geos/xml/tools/unit_manager.py +++ b/geos-xml-tools/src/geos/xml/tools/unit_manager.py @@ -1,7 +1,7 @@ """Tools for managing units in GEOSX""" import re -from geosx_xml_tools import regex_tools +from geos.xml.tools import regex_tools from typing import List, Any, Dict, Union diff --git a/geos-xml-tools/src/geos/xml/tools/xml_formatter.py b/geos-xml-tools/src/geos/xml/tools/xml_formatter.py index 4695e65e..0363db74 100644 --- a/geos-xml-tools/src/geos/xml/tools/xml_formatter.py +++ b/geos-xml-tools/src/geos/xml/tools/xml_formatter.py @@ -2,7 +2,7 @@ from lxml import etree as ElementTree # type: ignore[import] import re from typing import List, Any, TextIO -from geosx_xml_tools import command_line_parsers +from geos.xml.tools import command_line_parsers def format_attribute( attribute_indent: str, ka: str, attribute_value: str ) -> str: diff --git a/geos-xml-tools/src/geos/xml/tools/xml_processor.py b/geos-xml-tools/src/geos/xml/tools/xml_processor.py index d5a34c35..9d71d950 100644 --- a/geos-xml-tools/src/geos/xml/tools/xml_processor.py +++ b/geos-xml-tools/src/geos/xml/tools/xml_processor.py @@ -4,8 +4,8 @@ from lxml.etree import XMLSyntaxError # type: ignore[import] import re import os -from geosx_xml_tools import regex_tools, unit_manager -from geosx_xml_tools import xml_formatter +from geos.xml.tools import regex_tools, unit_manager +from geos.xml.tools import xml_formatter from typing import Iterable, Tuple, List # Create an instance of the unit, parameter regex handlers diff --git a/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py b/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py index f970a6d7..b328a021 100644 --- a/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py +++ b/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py @@ -1,9 +1,9 @@ -from geosx_xml_tools.attribute_coverage import parse_schema -from geosx_xml_tools.xml_formatter import format_file +from geos.xml.tools.attribute_coverage import parse_schema +from geos.xml.tools.xml_formatter import format_file from lxml import etree as ElementTree # type: ignore[import] import os from pathlib import Path -from geosx_xml_tools import command_line_parsers +from geos.xml.tools import command_line_parsers from typing import Iterable, Dict, Any From 767947244ccc7a49e8b3a0780ced49e8980a9987 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 16:02:25 +0100 Subject: [PATCH 07/34] WIP: doc --- docs/index.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 5cca067b..b38828f4 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -44,8 +44,8 @@ To do this, you can clone a copy of the geosPythonPackages repository and instal git clone https://github.com/GEOS-DEV/geosPythonPackages.git # Install/upgrade geos-ats - cd geosPythonPackages/geos-ats_package - python -m pip install --upgrade . + cd geosPythonPackages/ + python -m pip install --upgrade geos-ats .. note:: @@ -76,16 +76,16 @@ Packages .. toctree:: :maxdepth: 1 - hdf5_wrapper + hdf5-wrapper geos-ats - geosx_mesh_tools + geos-mesh-tools - geosx_xml_tools + geos-xml-tools pygeosx_tools - timehistory + geos-timehistory - mesh_doctor + geos-mesh-doctor From b2546f7c7c6d012234d37dd5b44d12d63c5a668d Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 16:08:10 +0100 Subject: [PATCH 08/34] WIP: CI --- .github/workflows/python-package.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index df0729e4..b67a741e 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -13,9 +13,10 @@ jobs: runs-on: ubuntu-22.04 strategy: fail-fast: false + max-parallel: 3 matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] - package-name: ["geos_ats_package", "geosx_mesh_doctor", "geosx_mesh_tools_package", "geosx_xml_tools_package", "hdf5_wrapper_package", "pygeosx_tools_package", "timehistory_package"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + package-name: ["geos-ats", "geos-mesh-doctor", "geos-mesh-tools", "geos-xml-tools", "hdf5-wrapper", "pygeosx-tools", "geos-timehistory"] steps: - uses: actions/checkout@v3 @@ -25,15 +26,15 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install package - working-directory: ./${{ matrix.package-name }} + # working-directory: ./${{ matrix.package-name }} run: | python -m pip install --upgrade pip python -m pip install pytest yapf toml - python -m pip install . + python -m pip install ${{ matrix.package-name }} - name: Lint with yapf - working-directory: ./${{ matrix.package-name }} + # working-directory: ./${{ matrix.package-name }} run: | - yapf -r --diff . --style ../.style.yapf + yapf -r --diff ${{ matrix.package-name }} --style ../.style.yapf # - name: Test with pytest # working-directory: ./${{ matrix.package-name }} # run: | From af1e7e26f0181af3f57b4a6f79c1a595694dfd4c Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 16:35:06 +0100 Subject: [PATCH 09/34] WIP: CI --- .github/workflows/python-package.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index b67a741e..4e499752 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -25,12 +25,13 @@ jobs: uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} + cache: 'pip' - name: Install package # working-directory: ./${{ matrix.package-name }} run: | python -m pip install --upgrade pip python -m pip install pytest yapf toml - python -m pip install ${{ matrix.package-name }} + python -m pip install ${{ matrix.package-name }}/ - name: Lint with yapf # working-directory: ./${{ matrix.package-name }} run: | From c02d281d2ca32bf7529759fac1fd6200a5956d1c Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 16:36:39 +0100 Subject: [PATCH 10/34] WIP: CI --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 4e499752..4c2693a5 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -35,7 +35,7 @@ jobs: - name: Lint with yapf # working-directory: ./${{ matrix.package-name }} run: | - yapf -r --diff ${{ matrix.package-name }} --style ../.style.yapf + yapf -r --diff ${{ matrix.package-name }} --style .style.yapf # - name: Test with pytest # working-directory: ./${{ matrix.package-name }} # run: | From 84f77b233564e817eb28bdd651641127deee9ddd Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 16:39:55 +0100 Subject: [PATCH 11/34] WIP: geos-mesh-doctor --- geos-mesh-doctor/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-mesh-doctor/pyproject.toml b/geos-mesh-doctor/pyproject.toml index e3ebece3..dc3a0404 100644 --- a/geos-mesh-doctor/pyproject.toml +++ b/geos-mesh-doctor/pyproject.toml @@ -13,7 +13,7 @@ classifiers = [ "Programming Language :: Python" ] -requires-python = ">=3.11" +requires-python = ">=3.8" dependencies = [ "vtk >= 9.1", From d7e8e05d8d54e2b4c12b262ed8f1e6edb34b0bdf Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 16:55:17 +0100 Subject: [PATCH 12/34] WIP --- .github/workflows/python-package.yml | 2 +- geos-xml-tools/pyproject.toml | 6 +---- hdf5-wrapper/pyproject.toml | 20 ++++++++++++++++ hdf5-wrapper/setup.cfg | 23 ------------------- .../hdf5wrapper}/__init__.py | 0 .../hdf5wrapper}/py.typed | 0 .../hdf5wrapper}/use_example.py | 0 .../hdf5wrapper}/wrapper.py | 0 .../hdf5wrapper}/wrapper_tests.py | 0 pygeos-tools/pyproject.toml | 22 ++++++++++++++++++ pygeos-tools/setup.cfg | 20 ---------------- .../pygeos/tools}/__init__.py | 0 .../pygeos/tools}/file_io.py | 0 .../pygeos/tools}/mesh_interpolation.py | 0 .../pygeos/tools}/py.typed | 0 .../pygeos/tools}/well_log.py | 0 .../pygeos/tools}/wrapper.py | 0 17 files changed, 44 insertions(+), 49 deletions(-) delete mode 100644 hdf5-wrapper/setup.cfg rename hdf5-wrapper/{hdf5_wrapper => src/hdf5wrapper}/__init__.py (100%) rename hdf5-wrapper/{hdf5_wrapper => src/hdf5wrapper}/py.typed (100%) rename hdf5-wrapper/{hdf5_wrapper => src/hdf5wrapper}/use_example.py (100%) rename hdf5-wrapper/{hdf5_wrapper => src/hdf5wrapper}/wrapper.py (100%) rename hdf5-wrapper/{hdf5_wrapper => src/hdf5wrapper}/wrapper_tests.py (100%) delete mode 100644 pygeos-tools/setup.cfg rename pygeos-tools/{pygeosx_tools => src/pygeos/tools}/__init__.py (100%) rename pygeos-tools/{pygeosx_tools => src/pygeos/tools}/file_io.py (100%) rename pygeos-tools/{pygeosx_tools => src/pygeos/tools}/mesh_interpolation.py (100%) rename pygeos-tools/{pygeosx_tools => src/pygeos/tools}/py.typed (100%) rename pygeos-tools/{pygeosx_tools => src/pygeos/tools}/well_log.py (100%) rename pygeos-tools/{pygeosx_tools => src/pygeos/tools}/wrapper.py (100%) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 4c2693a5..3fd61d12 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -16,7 +16,7 @@ jobs: max-parallel: 3 matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] - package-name: ["geos-ats", "geos-mesh-doctor", "geos-mesh-tools", "geos-xml-tools", "hdf5-wrapper", "pygeosx-tools", "geos-timehistory"] + package-name: ["geos-ats", "geos-mesh-doctor", "geos-mesh-tools", "geos-timehistory", "geos-xml-tools", "hdf5-wrapper", "pygeos-tools"] steps: - uses: actions/checkout@v3 diff --git a/geos-xml-tools/pyproject.toml b/geos-xml-tools/pyproject.toml index 591d50b3..37632714 100644 --- a/geos-xml-tools/pyproject.toml +++ b/geos-xml-tools/pyproject.toml @@ -10,12 +10,8 @@ maintainers = [ {name = "Christopher Sherman", email = "sherman27@llnl.gov" } ] license = {text = "LGPL-2.1"} -classifiers = [ - "Development Status :: 4 - Beta", - "Programming Language :: Python" -] -requires-python = ">=3.6" +requires-python = ">=3.8" dependencies = [ "lxml>=4.5.0", diff --git a/hdf5-wrapper/pyproject.toml b/hdf5-wrapper/pyproject.toml index c2f433af..b9e59a11 100644 --- a/hdf5-wrapper/pyproject.toml +++ b/hdf5-wrapper/pyproject.toml @@ -2,6 +2,26 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" +[project] +name = "geos-hdf5-wrapper" +version = "0.2.0" +description = "Simple wrapper for h5py objects" +maintainers = [ + {name = "Christopher Sherman", email = "sherman27@llnl.gov" } +] +license = "LGPL-2.1" + +requires-python = ">=3.8" + +dependencies = [ + "h5py>=2.10.0", + "numpy>=1.16.2", +] + +[project.scripts] + hdf5_wrapper_tests = hdf5wrapper.wrapper_tests:main + + [tool.mypy] python_version = "3.8" warn_return_any = true diff --git a/hdf5-wrapper/setup.cfg b/hdf5-wrapper/setup.cfg deleted file mode 100644 index 13db52e1..00000000 --- a/hdf5-wrapper/setup.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[metadata] -name = hdf5_wrapper -version = 0.2.0 -description = Simple wrapper for h5py objects -author = Christopher Sherman -author_email = sherman27@llnl.gov -license = LGPL-2.1 - -[options] -packages = - hdf5_wrapper -install_requires = - h5py>=2.10.0 - numpy>=1.16.2 -python_requires = >=3.6 - -[options.package_data] -hdf5_wrapper = py.typed - -[options.entry_points] -console_scripts = - hdf5_wrapper_tests = hdf5_wrapper.wrapper_tests:main - diff --git a/hdf5-wrapper/hdf5_wrapper/__init__.py b/hdf5-wrapper/src/hdf5wrapper/__init__.py similarity index 100% rename from hdf5-wrapper/hdf5_wrapper/__init__.py rename to hdf5-wrapper/src/hdf5wrapper/__init__.py diff --git a/hdf5-wrapper/hdf5_wrapper/py.typed b/hdf5-wrapper/src/hdf5wrapper/py.typed similarity index 100% rename from hdf5-wrapper/hdf5_wrapper/py.typed rename to hdf5-wrapper/src/hdf5wrapper/py.typed diff --git a/hdf5-wrapper/hdf5_wrapper/use_example.py b/hdf5-wrapper/src/hdf5wrapper/use_example.py similarity index 100% rename from hdf5-wrapper/hdf5_wrapper/use_example.py rename to hdf5-wrapper/src/hdf5wrapper/use_example.py diff --git a/hdf5-wrapper/hdf5_wrapper/wrapper.py b/hdf5-wrapper/src/hdf5wrapper/wrapper.py similarity index 100% rename from hdf5-wrapper/hdf5_wrapper/wrapper.py rename to hdf5-wrapper/src/hdf5wrapper/wrapper.py diff --git a/hdf5-wrapper/hdf5_wrapper/wrapper_tests.py b/hdf5-wrapper/src/hdf5wrapper/wrapper_tests.py similarity index 100% rename from hdf5-wrapper/hdf5_wrapper/wrapper_tests.py rename to hdf5-wrapper/src/hdf5wrapper/wrapper_tests.py diff --git a/pygeos-tools/pyproject.toml b/pygeos-tools/pyproject.toml index c2f433af..62ccff8b 100644 --- a/pygeos-tools/pyproject.toml +++ b/pygeos-tools/pyproject.toml @@ -2,6 +2,28 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" +[project] +name = "pygeosx-tools" +version = "0.1.0" +description = "Tools for interacting with pygeosx" +author = [ + {name = "Christopher Sherman", email = "sherman27@llnl.gov" } +] +license = {text = "LGPL-2.1"} +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python" +] + +requires-python = ">=3.8" + +dependencies = [ + "matplotlib", + "numpy", + "scipy", + "mpi4py", +] + [tool.mypy] python_version = "3.8" warn_return_any = true diff --git a/pygeos-tools/setup.cfg b/pygeos-tools/setup.cfg deleted file mode 100644 index 4df92e3d..00000000 --- a/pygeos-tools/setup.cfg +++ /dev/null @@ -1,20 +0,0 @@ -[metadata] -name = pygeosx_tools -version = 0.1.0 -description = Tools for interacting with pygeosx -author = Christopher Sherman -author_email = sherman27@llnl.gov -license = LGPL-2.1 - -[options] -packages = - pygeosx_tools -install_requires = - matplotlib - numpy - scipy - mpi4py -python_requires = >=3.6 - -[options.package_data] -pygeosx_tools = py.typed diff --git a/pygeos-tools/pygeosx_tools/__init__.py b/pygeos-tools/src/pygeos/tools/__init__.py similarity index 100% rename from pygeos-tools/pygeosx_tools/__init__.py rename to pygeos-tools/src/pygeos/tools/__init__.py diff --git a/pygeos-tools/pygeosx_tools/file_io.py b/pygeos-tools/src/pygeos/tools/file_io.py similarity index 100% rename from pygeos-tools/pygeosx_tools/file_io.py rename to pygeos-tools/src/pygeos/tools/file_io.py diff --git a/pygeos-tools/pygeosx_tools/mesh_interpolation.py b/pygeos-tools/src/pygeos/tools/mesh_interpolation.py similarity index 100% rename from pygeos-tools/pygeosx_tools/mesh_interpolation.py rename to pygeos-tools/src/pygeos/tools/mesh_interpolation.py diff --git a/pygeos-tools/pygeosx_tools/py.typed b/pygeos-tools/src/pygeos/tools/py.typed similarity index 100% rename from pygeos-tools/pygeosx_tools/py.typed rename to pygeos-tools/src/pygeos/tools/py.typed diff --git a/pygeos-tools/pygeosx_tools/well_log.py b/pygeos-tools/src/pygeos/tools/well_log.py similarity index 100% rename from pygeos-tools/pygeosx_tools/well_log.py rename to pygeos-tools/src/pygeos/tools/well_log.py diff --git a/pygeos-tools/pygeosx_tools/wrapper.py b/pygeos-tools/src/pygeos/tools/wrapper.py similarity index 100% rename from pygeos-tools/pygeosx_tools/wrapper.py rename to pygeos-tools/src/pygeos/tools/wrapper.py From cdb3e966430b259f40b2d9be74d0fa1be1d8f4c2 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 17:03:08 +0100 Subject: [PATCH 13/34] WIP: fix pyproject files --- hdf5-wrapper/pyproject.toml | 5 ++--- pygeos-tools/pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/hdf5-wrapper/pyproject.toml b/hdf5-wrapper/pyproject.toml index b9e59a11..4338b871 100644 --- a/hdf5-wrapper/pyproject.toml +++ b/hdf5-wrapper/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" [project] -name = "geos-hdf5-wrapper" +name = "hdf5-wrapper" version = "0.2.0" description = "Simple wrapper for h5py objects" maintainers = [ @@ -19,8 +19,7 @@ dependencies = [ ] [project.scripts] - hdf5_wrapper_tests = hdf5wrapper.wrapper_tests:main - + hdf5_wrapper_tests = "hdf5wrapper.wrapper_tests:main" [tool.mypy] python_version = "3.8" diff --git a/pygeos-tools/pyproject.toml b/pygeos-tools/pyproject.toml index 62ccff8b..d03ff23d 100644 --- a/pygeos-tools/pyproject.toml +++ b/pygeos-tools/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "pygeosx-tools" version = "0.1.0" description = "Tools for interacting with pygeosx" -author = [ +maintainers = [ {name = "Christopher Sherman", email = "sherman27@llnl.gov" } ] license = {text = "LGPL-2.1"} From f8f211891c0b6d7c6fd763fd3a6e7b79f55ff97e Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Wed, 13 Mar 2024 17:07:38 +0100 Subject: [PATCH 14/34] WIP: fix pyproject files --- hdf5-wrapper/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hdf5-wrapper/pyproject.toml b/hdf5-wrapper/pyproject.toml index 4338b871..ff0e7c58 100644 --- a/hdf5-wrapper/pyproject.toml +++ b/hdf5-wrapper/pyproject.toml @@ -9,7 +9,7 @@ description = "Simple wrapper for h5py objects" maintainers = [ {name = "Christopher Sherman", email = "sherman27@llnl.gov" } ] -license = "LGPL-2.1" +license = {text = "LGPL-2.1"} requires-python = ">=3.8" From 6adaf793a1f5a444a56cadcbce584db4199837a3 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 11:44:24 +0100 Subject: [PATCH 15/34] fix: h5 wrapper namespace --- geos-timehistory/src/geos/timehistory/plot.py | 2 +- hdf5-wrapper/pyproject.toml | 2 +- hdf5-wrapper/src/{ => geos}/hdf5wrapper/__init__.py | 0 hdf5-wrapper/src/{ => geos}/hdf5wrapper/py.typed | 0 hdf5-wrapper/src/{ => geos}/hdf5wrapper/use_example.py | 0 hdf5-wrapper/src/{ => geos}/hdf5wrapper/wrapper.py | 0 hdf5-wrapper/src/{ => geos}/hdf5wrapper/wrapper_tests.py | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename hdf5-wrapper/src/{ => geos}/hdf5wrapper/__init__.py (100%) rename hdf5-wrapper/src/{ => geos}/hdf5wrapper/py.typed (100%) rename hdf5-wrapper/src/{ => geos}/hdf5wrapper/use_example.py (100%) rename hdf5-wrapper/src/{ => geos}/hdf5wrapper/wrapper.py (100%) rename hdf5-wrapper/src/{ => geos}/hdf5wrapper/wrapper_tests.py (100%) diff --git a/geos-timehistory/src/geos/timehistory/plot.py b/geos-timehistory/src/geos/timehistory/plot.py index 6f7fc017..8cf467ff 100644 --- a/geos-timehistory/src/geos/timehistory/plot.py +++ b/geos-timehistory/src/geos/timehistory/plot.py @@ -1,5 +1,5 @@ import numpy as np -from geos.hdf5.wrapper import hdf5_wrapper as h5w +from geos.hdf5wrapper import wrapper as h5w import matplotlib as mpl import matplotlib.pyplot as plt import os diff --git a/hdf5-wrapper/pyproject.toml b/hdf5-wrapper/pyproject.toml index ff0e7c58..f619593f 100644 --- a/hdf5-wrapper/pyproject.toml +++ b/hdf5-wrapper/pyproject.toml @@ -19,7 +19,7 @@ dependencies = [ ] [project.scripts] - hdf5_wrapper_tests = "hdf5wrapper.wrapper_tests:main" + hdf5_wrapper_tests = "geos.hdf5wrapper.wrapper_tests:main" [tool.mypy] python_version = "3.8" diff --git a/hdf5-wrapper/src/hdf5wrapper/__init__.py b/hdf5-wrapper/src/geos/hdf5wrapper/__init__.py similarity index 100% rename from hdf5-wrapper/src/hdf5wrapper/__init__.py rename to hdf5-wrapper/src/geos/hdf5wrapper/__init__.py diff --git a/hdf5-wrapper/src/hdf5wrapper/py.typed b/hdf5-wrapper/src/geos/hdf5wrapper/py.typed similarity index 100% rename from hdf5-wrapper/src/hdf5wrapper/py.typed rename to hdf5-wrapper/src/geos/hdf5wrapper/py.typed diff --git a/hdf5-wrapper/src/hdf5wrapper/use_example.py b/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py similarity index 100% rename from hdf5-wrapper/src/hdf5wrapper/use_example.py rename to hdf5-wrapper/src/geos/hdf5wrapper/use_example.py diff --git a/hdf5-wrapper/src/hdf5wrapper/wrapper.py b/hdf5-wrapper/src/geos/hdf5wrapper/wrapper.py similarity index 100% rename from hdf5-wrapper/src/hdf5wrapper/wrapper.py rename to hdf5-wrapper/src/geos/hdf5wrapper/wrapper.py diff --git a/hdf5-wrapper/src/hdf5wrapper/wrapper_tests.py b/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py similarity index 100% rename from hdf5-wrapper/src/hdf5wrapper/wrapper_tests.py rename to hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py From cf3a45bd0522d437dfe0136ea2bbd7f53efcca3e Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 11:44:49 +0100 Subject: [PATCH 16/34] doc: change module names --- docs/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index ef4c7cb3..2ab4a97a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,8 +18,8 @@ # Add python modules to be documented python_root = '..' -python_modules = ( 'geosx_mesh_tools_package', 'geosx_xml_tools_package', 'geosx_mesh_doctor', 'geos-ats_package', - 'hdf5_wrapper_package', 'pygeosx_tools_package', 'timehistory_package' ) +python_modules = ( 'geos-mesh-tools', 'geos-xml-tools', 'geos-mesh-doctor', 'geos-ats', + 'hdf5-wrapper', 'pygeos-tools', 'geos-timehistory' ) for m in python_modules: sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m ) ) ) From 42cfae85a6ef79678bc2986cc3ad0153003dfd00 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 11:45:13 +0100 Subject: [PATCH 17/34] ci: add doc check workflow --- .github/workflows/doc-test.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/doc-test.yml diff --git a/.github/workflows/doc-test.yml b/.github/workflows/doc-test.yml new file mode 100644 index 00000000..7fbf8a62 --- /dev/null +++ b/.github/workflows/doc-test.yml @@ -0,0 +1,12 @@ +name: "Pull Request Docs Check" +on: +- pull_request + +jobs: + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: ammaraskar/sphinx-action@master + with: + docs-folder: "docs/" From c9ec727dacb8bf26d976b74096a8b8a210665050 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 16:07:09 +0100 Subject: [PATCH 18/34] doc: versions aren't pinned --- .readthedocs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index d6186290..98566eac 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -4,7 +4,7 @@ version: 2 build: - os: "ubuntu-20.04" + os: ubuntu-22.04 apt_packages: - npm - plantuml @@ -18,9 +18,9 @@ build: - npm install -g @mermaid-js/mermaid-cli@10.3.1 # Set requirements to build the docs -python: - install: - - requirements: docs/requirements.txt +# python: +# install: +# - requirements: docs/requirements.txt # Build documentation in the docs/ directory with Sphinx sphinx: From 5068af9c73f9953c1598a2711fd49659732e160f Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 16:08:32 +0100 Subject: [PATCH 19/34] doc: explicit requirements --- docs/requirements.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 58f0bbab..8a23448b 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -4,4 +4,7 @@ sphinx-design # Running CLI programs and capture outputs sphinxcontrib-programoutput>=0.17 # Installing the mesh_doctor requirements to be able to load all the modules and run the help. --r ../geosx_mesh_doctor/requirements.txt +vtk >= 9.1 +networkx >= 2.4 +tqdm +numpy From cee50d50acca24425598985f145c1886019e9687 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 16:29:08 +0100 Subject: [PATCH 20/34] doc: test with build command --- .github/workflows/doc-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/doc-test.yml b/.github/workflows/doc-test.yml index 7fbf8a62..4e92c823 100644 --- a/.github/workflows/doc-test.yml +++ b/.github/workflows/doc-test.yml @@ -10,3 +10,4 @@ jobs: - uses: ammaraskar/sphinx-action@master with: docs-folder: "docs/" + build-command: "sphinx-build -b html . _build" From d2972e910edb049c669731a572090edb5fd5b88f Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 16:51:11 +0100 Subject: [PATCH 21/34] ci: update sphinx --- .github/workflows/doc-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc-test.yml b/.github/workflows/doc-test.yml index 4e92c823..832f0dd2 100644 --- a/.github/workflows/doc-test.yml +++ b/.github/workflows/doc-test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - - uses: ammaraskar/sphinx-action@master + - uses: ammaraskar/sphinx-action@7.2.6 with: docs-folder: "docs/" build-command: "sphinx-build -b html . _build" From 9a37bc9e3ba22009e10af3c14e83479f365c7c1c Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 16:53:28 +0100 Subject: [PATCH 22/34] ci: update sphinx --- .github/workflows/doc-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc-test.yml b/.github/workflows/doc-test.yml index 832f0dd2..43b96865 100644 --- a/.github/workflows/doc-test.yml +++ b/.github/workflows/doc-test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - - uses: ammaraskar/sphinx-action@7.2.6 + - uses: ammaraskar/sphinx-action@dev with: docs-folder: "docs/" build-command: "sphinx-build -b html . _build" From 2b9ade7214c18a15beb6df2b8b370d5261f9eb34 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Tue, 26 Mar 2024 17:03:42 +0100 Subject: [PATCH 23/34] docs: update doc --- docs/geos_ats.rst | 6 +- ...osx_mesh_tools.rst => geos_mesh_tools.rst} | 6 +- ...geosx_xml_tools.rst => geos_xml_tools.rst} | 26 ++++---- docs/hdf5_wrapper.rst | 12 ++-- docs/mesh_doctor.rst | 60 +++++++++---------- docs/{pygeosx_tools.rst => pygeos_tools.rst} | 10 ++-- docs/timehistory.rst | 2 +- 7 files changed, 61 insertions(+), 61 deletions(-) rename docs/{geosx_mesh_tools.rst => geos_mesh_tools.rst} (91%) rename docs/{geosx_xml_tools.rst => geos_xml_tools.rst} (65%) rename docs/{pygeosx_tools.rst => pygeos_tools.rst} (62%) diff --git a/docs/geos_ats.rst b/docs/geos_ats.rst index 47b9dab7..2327707d 100644 --- a/docs/geos_ats.rst +++ b/docs/geos_ats.rst @@ -13,7 +13,7 @@ run_geos_ats Primary entry point for running integrated tests. .. argparse:: - :module: geos-ats.command_line_parsers + :module: geos.ats.command_line_parsers :func: build_command_line_parser :prog: run_geos_ats @@ -45,14 +45,14 @@ API Restart Check ^^^^^^^^^^^^^^^ -.. automodule:: geos-ats.helpers.restart_check +.. automodule:: geos.ats.helpers.restart_check :members: Curve Check ^^^^^^^^^^^^^^^ -.. automodule:: geos-ats.helpers.curve_check +.. automodule:: geos.ats.helpers.curve_check :members: diff --git a/docs/geosx_mesh_tools.rst b/docs/geos_mesh_tools.rst similarity index 91% rename from docs/geosx_mesh_tools.rst rename to docs/geos_mesh_tools.rst index 2370d893..deb85b6e 100644 --- a/docs/geosx_mesh_tools.rst +++ b/docs/geos_mesh_tools.rst @@ -2,7 +2,7 @@ GEOS Mesh Tools -------------------------- -The `geosx_mesh_tools` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). +The `geosx-mesh-tools` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). See :ref:`PythonToolsSetup` for details on setup instructions, and `External Mesh Guidelines `_ for a detailed description of how to use external meshes in GEOS. The available console scripts for this package and its API are described below. @@ -13,7 +13,7 @@ convert_abaqus Compile an xml file with advanced features into a single file that can be read by GEOS. .. argparse:: - :module: geosx_mesh_tools.main + :module: geos.mesh.tools.main :func: build_abaqus_converter_input_parser :prog: convert_abaqus @@ -47,5 +47,5 @@ Compile an xml file with advanced features into a single file that can be read b API ^^^ -.. automodule:: geosx_mesh_tools.abaqus_converter +.. automodule:: geos.mesh.tools.abaqus_converter :members: diff --git a/docs/geosx_xml_tools.rst b/docs/geos_xml_tools.rst similarity index 65% rename from docs/geosx_xml_tools.rst rename to docs/geos_xml_tools.rst index 97588396..a4df9cc5 100644 --- a/docs/geosx_xml_tools.rst +++ b/docs/geos_xml_tools.rst @@ -4,7 +4,7 @@ GEOS XML Tools -------------------------- -The `geosx_xml_tools` python package adds a set of advanced features to the GEOS xml format: units, parameters, and symbolic expressions. +The `geos-xml-tools` python package adds a set of advanced features to the GEOS xml format: units, parameters, and symbolic expressions. See :ref:`PythonToolsSetup` for details on setup instructions, and `Advanced XML Features `_ for a detailed description of the input format. The available console scripts for this package and its API are described below. @@ -15,7 +15,7 @@ convert_abaqus Convert an abaqus format mesh file to gmsh or vtk format. .. argparse:: - :module: geosx_xml_tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_preprocessor_input_parser :prog: preprocess_xml @@ -26,7 +26,7 @@ format_xml Formats an xml file. .. argparse:: - :module: geosx_xml_tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_xml_formatter_input_parser :prog: format_xml @@ -37,7 +37,7 @@ check_xml_attribute_coverage Checks xml attribute coverage for files in the GEOS repository. .. argparse:: - :module: geosx_xml_tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_attribute_coverage_input_parser :prog: check_xml_attribute_coverage @@ -48,7 +48,7 @@ check_xml_redundancy Checks for redundant attribute definitions in an xml file, such as those that duplicate the default value. .. argparse:: - :module: geosx_xml_tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_xml_redundancy_input_parser :prog: check_xml_redundancy @@ -56,27 +56,27 @@ Checks for redundant attribute definitions in an xml file, such as those that du API ^^^ -.. automodule:: geosx_xml_tools.main +.. automodule:: geos.xml.tools.main :members: -.. automodule:: geosx_xml_tools.xml_processor +.. automodule:: geos.xml.tools.xml_processor :members: -.. automodule:: geosx_xml_tools.xml_formatter +.. automodule:: geos.xml.tools.xml_formatter :members: -.. automodule:: geosx_xml_tools.unit_manager +.. automodule:: geos.xml.tools.unit_manager :members: -.. automodule:: geosx_xml_tools.regex_tools +.. automodule:: geos.xml.tools.regex_tools :members: -.. automodule:: geosx_xml_tools.xml_redundancy_check +.. automodule:: geos.xml.tools.xml_redundancy_check :members: -.. automodule:: geosx_xml_tools.attribute_coverage +.. automodule:: geos.xml.tools.attribute_coverage :members: -.. automodule:: geosx_xml_tools.table_generator +.. automodule:: geos.xml.tools.table_generator :members: diff --git a/docs/hdf5_wrapper.rst b/docs/hdf5_wrapper.rst index 01f1ad9f..63f6e5e9 100644 --- a/docs/hdf5_wrapper.rst +++ b/docs/hdf5_wrapper.rst @@ -2,7 +2,7 @@ HDF5 Wrapper -------------------------- -The `hdf5_wrapper` python package adds a wrapper to `h5py` that greatly simplifies reading/writing to/from hdf5-format files. +The `hdf5-wrapper` python package adds a wrapper to `h5py` that greatly simplifies reading/writing to/from hdf5-format files. Usage @@ -12,9 +12,9 @@ Once loaded, the contents of a file can be navigated in the same way as a native .. code-block:: python - import hdf5_wrapper + import geos.hdf5wrapper - data = hdf5_wrapper.hdf5_wrapper('data.hdf5') + data = hdf5wrapper.hdf5_wrapper('data.hdf5') test = data['test'] for k, v in data.items(): @@ -26,10 +26,10 @@ Note: for these changes to be written to the disk, the wrapper may need to be cl .. code-block:: python - import hdf5_wrapper + import geos.hdf5wrapper import numpy as np - data = hdf5_wrapper.hdf5_wrapper('data.hdf5', mode='w') + data = hdf5wrapper.hdf5_wrapper('data.hdf5', mode='w') data['string'] = 'string' data['integer'] = 123 data['array'] = np.random.randn(3, 4, 5) @@ -56,5 +56,5 @@ And external hdf5 format files can be linked together: API ^^^^^ -.. automodule:: hdf5_wrapper.wrapper +.. automodule:: geos.hdf5wrapper.wrapper :members: diff --git a/docs/mesh_doctor.rst b/docs/mesh_doctor.rst index 5d8540e7..6f47912d 100644 --- a/docs/mesh_doctor.rst +++ b/docs/mesh_doctor.rst @@ -1,35 +1,35 @@ Mesh Doctor --------------- -``mesh_doctor`` is a ``python`` executable that can be used through the command line to perform various checks, validations, and tiny fixes to the ``vtk`` mesh that are meant to be used in ``geos``. -``mesh_doctor`` is organized as a collection of modules with their dedicated sets of options. +``mesh-doctor`` is a ``python`` executable that can be used through the command line to perform various checks, validations, and tiny fixes to the ``vtk`` mesh that are meant to be used in ``geos``. +``mesh-doctor`` is organized as a collection of modules with their dedicated sets of options. The current page will introduce those modules, but the details and all the arguments can be retrieved by using the ``--help`` option for each module. Modules ^^^^^^^ -To list all the modules available through ``mesh_doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. +To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. -.. command-output:: python mesh_doctor.py --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py --help + :cwd: ../geos-mesh-doctor -Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh_doctor module_name --help`` pattern. +Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. For example -.. command-output:: python mesh_doctor.py collocated_nodes --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py collocated_nodes --help + :cwd: ../geos-mesh-doctor -``mesh_doctor`` loads its module dynamically. -If a module can't be loaded, ``mesh_doctor`` will proceed and try to load other modules. +``mesh-doctor`` loads its module dynamically. +If a module can't be loaded, ``mesh-doctor`` will proceed and try to load other modules. If you see a message like .. code-block:: bash [1970-04-14 03:07:15,625][WARNING] Could not load module "collocated_nodes": No module named 'vtkmodules' -then most likely ``mesh_doctor`` could not load the ``collocated_nodes`` module, because the ``vtk`` python package was not found. +then most likely ``mesh-doctor`` could not load the ``collocated_nodes`` module, because the ``vtk`` python package was not found. Thereafter, the documentation for module ``collocated_nodes`` will not be displayed. -You can solve this issue by installing the dependencies of ``mesh_doctor`` defined in its ``requirements.txt`` file (``python -m pip install -r requirements.txt``). +You can solve this issue by installing the dependencies of ``mesh-doctor`` defined in its ``requirements.txt`` file (``python -m pip install -r requirements.txt``). Here is a list and brief description of all the modules available. @@ -39,8 +39,8 @@ Here is a list and brief description of all the modules available. Displays the neighboring nodes that are closer to each other than a prescribed threshold. It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python mesh_doctor.py collocated_nodes --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py collocated_nodes --help + :cwd: ../geos-mesh-doctor ``element_volumes`` """"""""""""""""""" @@ -48,8 +48,8 @@ It is not uncommon to define multiple nodes for the exact same position, which w Computes the volumes of all the cells and displays the ones that are below a prescribed threshold. Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python mesh_doctor.py element_volumes --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py element_volumes --help + :cwd: ../geos-mesh-doctor ``fix_elements_orderings`` """""""""""""""""""""""""" @@ -58,8 +58,8 @@ It sometimes happens that an exported mesh does not abide by the ``vtk`` orderin The ``fix_elements_orderings`` module can rearrange the nodes of given types of elements. This can be convenient if you cannot regenerate the mesh. -.. command-output:: python mesh_doctor.py fix_elements_orderings --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py fix_elements_orderings --help + :cwd: ../geos-mesh-doctor ``generate_cube`` """"""""""""""""" @@ -68,8 +68,8 @@ This module conveniently generates cubic meshes in ``vtk``. It can also generate fields with simple values. This tool can also be useful to generate a trial mesh that will later be refined or customized. -.. command-output:: python mesh_doctor.py generate_cube --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py generate_cube --help + :cwd: ../geos-mesh-doctor ``generate_fractures`` """""""""""""""""""""" @@ -77,8 +77,8 @@ This tool can also be useful to generate a trial mesh that will later be refined For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to be split at the faces where the fracture gets across the mesh. The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. -.. command-output:: python mesh_doctor.py generate_fractures --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py generate_fractures --help + :cwd: ../geos-mesh-doctor ``generate_global_ids`` """"""""""""""""""""""" @@ -86,8 +86,8 @@ The ``generate_fractures`` module will split the mesh and generate the multi-blo When running ``geos`` in parallel, `global ids` can be used to refer to data across multiple ranks. The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. -.. command-output:: python mesh_doctor.py generate_global_ids --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py generate_global_ids --help + :cwd: ../geos-mesh-doctor ``non_conformal`` """"""""""""""""" @@ -97,8 +97,8 @@ This module will detect elements which are close enough (there's a user defined The angle between two faces can also be precribed. This module can be a bit time consuming. -.. command-output:: python mesh_doctor.py non_conformal --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py non_conformal --help + :cwd: ../geos-mesh-doctor ``self_intersecting_elements`` """""""""""""""""""""""""""""" @@ -106,8 +106,8 @@ This module can be a bit time consuming. Some meshes can have cells that auto-intersect. This module will display the elements that have faces intersecting. -.. command-output:: python mesh_doctor.py self_intersecting_elements --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py self_intersecting_elements --help + :cwd: ../geos-mesh-doctor ``supported_elements`` """""""""""""""""""""" @@ -120,5 +120,5 @@ But also prismes up to 11 faces. The ``supported_elements`` check will validate that no unsupported element is included in the input mesh. It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. -.. command-output:: python mesh_doctor.py supported_elements --help - :cwd: ../geosx_mesh_doctor +.. command-output:: python mesh-doctor.py supported_elements --help + :cwd: ../geos-mesh-doctor diff --git a/docs/pygeosx_tools.rst b/docs/pygeos_tools.rst similarity index 62% rename from docs/pygeosx_tools.rst rename to docs/pygeos_tools.rst index 87973ca8..325723ae 100644 --- a/docs/pygeosx_tools.rst +++ b/docs/pygeos_tools.rst @@ -2,7 +2,7 @@ PyGEOSX Tools -------------------------- -The `pygeosx_tools` python package adds a variety of tools for working with pygeosx objects. +The `pygeos-tools` python package adds a variety of tools for working with pygeosx objects. These include common operations such as setting the value of geosx wrappers with python functions, parallel communication, and file IO. Examples using these tools can be found here: `PYGEOSX Examples `_ . @@ -10,15 +10,15 @@ Examples using these tools can be found here: `PYGEOSX Examples Date: Tue, 26 Mar 2024 17:11:22 +0100 Subject: [PATCH 24/34] docs: update doc --- docs/geos_ats.rst | 6 +++--- docs/geos_mesh_tools.rst | 4 ++-- docs/geos_xml_tools.rst | 24 ++++++++++++------------ docs/hdf5_wrapper.rst | 6 +++--- docs/mesh_doctor.rst | 22 +++++++++++----------- docs/pygeos_tools.rst | 8 ++++---- docs/timehistory.rst | 2 +- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/docs/geos_ats.rst b/docs/geos_ats.rst index 2327707d..3f436669 100644 --- a/docs/geos_ats.rst +++ b/docs/geos_ats.rst @@ -13,7 +13,7 @@ run_geos_ats Primary entry point for running integrated tests. .. argparse:: - :module: geos.ats.command_line_parsers + :module: geos-ats.geos.ats.command_line_parsers :func: build_command_line_parser :prog: run_geos_ats @@ -45,14 +45,14 @@ API Restart Check ^^^^^^^^^^^^^^^ -.. automodule:: geos.ats.helpers.restart_check +.. automodule:: geos-ats.geos.ats.helpers.restart_check :members: Curve Check ^^^^^^^^^^^^^^^ -.. automodule:: geos.ats.helpers.curve_check +.. automodule:: geos-ats.geos.ats.helpers.curve_check :members: diff --git a/docs/geos_mesh_tools.rst b/docs/geos_mesh_tools.rst index deb85b6e..cfd477c4 100644 --- a/docs/geos_mesh_tools.rst +++ b/docs/geos_mesh_tools.rst @@ -13,7 +13,7 @@ convert_abaqus Compile an xml file with advanced features into a single file that can be read by GEOS. .. argparse:: - :module: geos.mesh.tools.main + :module: geosx-mesh-tools.geos.mesh.tools.main :func: build_abaqus_converter_input_parser :prog: convert_abaqus @@ -47,5 +47,5 @@ Compile an xml file with advanced features into a single file that can be read b API ^^^ -.. automodule:: geos.mesh.tools.abaqus_converter +.. automodule:: geosx-mesh-tools.geos.mesh.tools.abaqus_converter :members: diff --git a/docs/geos_xml_tools.rst b/docs/geos_xml_tools.rst index a4df9cc5..b6a97f14 100644 --- a/docs/geos_xml_tools.rst +++ b/docs/geos_xml_tools.rst @@ -15,7 +15,7 @@ convert_abaqus Convert an abaqus format mesh file to gmsh or vtk format. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos-xml-tools.geos.xml.tools.command_line_parsers :func: build_preprocessor_input_parser :prog: preprocess_xml @@ -26,7 +26,7 @@ format_xml Formats an xml file. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos-xml-tools.geos.xml.tools.command_line_parsers :func: build_xml_formatter_input_parser :prog: format_xml @@ -37,7 +37,7 @@ check_xml_attribute_coverage Checks xml attribute coverage for files in the GEOS repository. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos-xml-tools.geos.xml.tools.command_line_parsers :func: build_attribute_coverage_input_parser :prog: check_xml_attribute_coverage @@ -48,7 +48,7 @@ check_xml_redundancy Checks for redundant attribute definitions in an xml file, such as those that duplicate the default value. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos-xml-tools.geos.xml.tools.command_line_parsers :func: build_xml_redundancy_input_parser :prog: check_xml_redundancy @@ -56,27 +56,27 @@ Checks for redundant attribute definitions in an xml file, such as those that du API ^^^ -.. automodule:: geos.xml.tools.main +.. automodule:: geos-xml-tools.geos.xml.tools.main :members: -.. automodule:: geos.xml.tools.xml_processor +.. automodule:: geos-xml-tools.geos.xml.tools.xml_processor :members: -.. automodule:: geos.xml.tools.xml_formatter +.. automodule:: geos-xml-tools.geos.xml.tools.xml_formatter :members: -.. automodule:: geos.xml.tools.unit_manager +.. automodule:: geos-xml-tools.geos.xml.tools.unit_manager :members: -.. automodule:: geos.xml.tools.regex_tools +.. automodule:: geos-xml-tools.geos.xml.tools.regex_tools :members: -.. automodule:: geos.xml.tools.xml_redundancy_check +.. automodule:: geos-xml-tools.geos.xml.tools.xml_redundancy_check :members: -.. automodule:: geos.xml.tools.attribute_coverage +.. automodule:: geos-xml-tools.geos.xml.tools.attribute_coverage :members: -.. automodule:: geos.xml.tools.table_generator +.. automodule:: geos-xml-tools.geos.xml.tools.table_generator :members: diff --git a/docs/hdf5_wrapper.rst b/docs/hdf5_wrapper.rst index 63f6e5e9..c54ea38e 100644 --- a/docs/hdf5_wrapper.rst +++ b/docs/hdf5_wrapper.rst @@ -12,7 +12,7 @@ Once loaded, the contents of a file can be navigated in the same way as a native .. code-block:: python - import geos.hdf5wrapper + import hdf5-wrapper.geos.hdf5wrapper data = hdf5wrapper.hdf5_wrapper('data.hdf5') @@ -26,7 +26,7 @@ Note: for these changes to be written to the disk, the wrapper may need to be cl .. code-block:: python - import geos.hdf5wrapper + import hdf5-wrapper.geos.hdf5wrapper import numpy as np data = hdf5wrapper.hdf5_wrapper('data.hdf5', mode='w') @@ -56,5 +56,5 @@ And external hdf5 format files can be linked together: API ^^^^^ -.. automodule:: geos.hdf5wrapper.wrapper +.. automodule:: hdf5-wrapper.geos.hdf5wrapper.wrapper :members: diff --git a/docs/mesh_doctor.rst b/docs/mesh_doctor.rst index 6f47912d..248d2066 100644 --- a/docs/mesh_doctor.rst +++ b/docs/mesh_doctor.rst @@ -10,13 +10,13 @@ Modules To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. -.. command-output:: python mesh-doctor.py --help +.. command-output:: python src/geos/mesh-doctor.py --help :cwd: ../geos-mesh-doctor Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. For example -.. command-output:: python mesh-doctor.py collocated_nodes --help +.. command-output:: python src/geos/mesh-doctor.py collocated_nodes --help :cwd: ../geos-mesh-doctor ``mesh-doctor`` loads its module dynamically. @@ -39,7 +39,7 @@ Here is a list and brief description of all the modules available. Displays the neighboring nodes that are closer to each other than a prescribed threshold. It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python mesh-doctor.py collocated_nodes --help +.. command-output:: python src/geos/mesh-doctor.py collocated_nodes --help :cwd: ../geos-mesh-doctor ``element_volumes`` @@ -48,7 +48,7 @@ It is not uncommon to define multiple nodes for the exact same position, which w Computes the volumes of all the cells and displays the ones that are below a prescribed threshold. Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python mesh-doctor.py element_volumes --help +.. command-output:: python src/geos/mesh-doctor.py element_volumes --help :cwd: ../geos-mesh-doctor ``fix_elements_orderings`` @@ -58,7 +58,7 @@ It sometimes happens that an exported mesh does not abide by the ``vtk`` orderin The ``fix_elements_orderings`` module can rearrange the nodes of given types of elements. This can be convenient if you cannot regenerate the mesh. -.. command-output:: python mesh-doctor.py fix_elements_orderings --help +.. command-output:: python src/geos/mesh-doctor.py fix_elements_orderings --help :cwd: ../geos-mesh-doctor ``generate_cube`` @@ -68,7 +68,7 @@ This module conveniently generates cubic meshes in ``vtk``. It can also generate fields with simple values. This tool can also be useful to generate a trial mesh that will later be refined or customized. -.. command-output:: python mesh-doctor.py generate_cube --help +.. command-output:: python src/geos/mesh-doctor.py generate_cube --help :cwd: ../geos-mesh-doctor ``generate_fractures`` @@ -77,7 +77,7 @@ This tool can also be useful to generate a trial mesh that will later be refined For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to be split at the faces where the fracture gets across the mesh. The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. -.. command-output:: python mesh-doctor.py generate_fractures --help +.. command-output:: python src/geos/mesh-doctor.py generate_fractures --help :cwd: ../geos-mesh-doctor ``generate_global_ids`` @@ -86,7 +86,7 @@ The ``generate_fractures`` module will split the mesh and generate the multi-blo When running ``geos`` in parallel, `global ids` can be used to refer to data across multiple ranks. The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. -.. command-output:: python mesh-doctor.py generate_global_ids --help +.. command-output:: python src/geos/mesh-doctor.py generate_global_ids --help :cwd: ../geos-mesh-doctor ``non_conformal`` @@ -97,7 +97,7 @@ This module will detect elements which are close enough (there's a user defined The angle between two faces can also be precribed. This module can be a bit time consuming. -.. command-output:: python mesh-doctor.py non_conformal --help +.. command-output:: python src/geos/mesh-doctor.py non_conformal --help :cwd: ../geos-mesh-doctor ``self_intersecting_elements`` @@ -106,7 +106,7 @@ This module can be a bit time consuming. Some meshes can have cells that auto-intersect. This module will display the elements that have faces intersecting. -.. command-output:: python mesh-doctor.py self_intersecting_elements --help +.. command-output:: python src/geos/mesh-doctor.py self_intersecting_elements --help :cwd: ../geos-mesh-doctor ``supported_elements`` @@ -120,5 +120,5 @@ But also prismes up to 11 faces. The ``supported_elements`` check will validate that no unsupported element is included in the input mesh. It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. -.. command-output:: python mesh-doctor.py supported_elements --help +.. command-output:: python src/geos/mesh-doctor.py supported_elements --help :cwd: ../geos-mesh-doctor diff --git a/docs/pygeos_tools.rst b/docs/pygeos_tools.rst index 325723ae..14217bce 100644 --- a/docs/pygeos_tools.rst +++ b/docs/pygeos_tools.rst @@ -10,15 +10,15 @@ Examples using these tools can be found here: `PYGEOSX Examples Date: Tue, 26 Mar 2024 17:24:21 +0100 Subject: [PATCH 25/34] docs: update doc --- docs/conf.py | 2 +- docs/geos_ats.rst | 6 +++--- docs/geos_mesh_tools.rst | 6 +++--- docs/geos_xml_tools.rst | 24 ++++++++++++------------ docs/hdf5_wrapper.rst | 6 +++--- docs/pygeos_tools.rst | 10 +++++----- docs/timehistory.rst | 2 +- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 2ab4a97a..b170db4e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,7 +21,7 @@ python_modules = ( 'geos-mesh-tools', 'geos-xml-tools', 'geos-mesh-doctor', 'geos-ats', 'hdf5-wrapper', 'pygeos-tools', 'geos-timehistory' ) for m in python_modules: - sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m ) ) ) + sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m, 'src' ) ) ) # -- Project information ----------------------------------------------------- diff --git a/docs/geos_ats.rst b/docs/geos_ats.rst index 3f436669..2327707d 100644 --- a/docs/geos_ats.rst +++ b/docs/geos_ats.rst @@ -13,7 +13,7 @@ run_geos_ats Primary entry point for running integrated tests. .. argparse:: - :module: geos-ats.geos.ats.command_line_parsers + :module: geos.ats.command_line_parsers :func: build_command_line_parser :prog: run_geos_ats @@ -45,14 +45,14 @@ API Restart Check ^^^^^^^^^^^^^^^ -.. automodule:: geos-ats.geos.ats.helpers.restart_check +.. automodule:: geos.ats.helpers.restart_check :members: Curve Check ^^^^^^^^^^^^^^^ -.. automodule:: geos-ats.geos.ats.helpers.curve_check +.. automodule:: geos.ats.helpers.curve_check :members: diff --git a/docs/geos_mesh_tools.rst b/docs/geos_mesh_tools.rst index cfd477c4..0c1cfe75 100644 --- a/docs/geos_mesh_tools.rst +++ b/docs/geos_mesh_tools.rst @@ -2,7 +2,7 @@ GEOS Mesh Tools -------------------------- -The `geosx-mesh-tools` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). +The `geos-mesh-tools` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). See :ref:`PythonToolsSetup` for details on setup instructions, and `External Mesh Guidelines `_ for a detailed description of how to use external meshes in GEOS. The available console scripts for this package and its API are described below. @@ -13,7 +13,7 @@ convert_abaqus Compile an xml file with advanced features into a single file that can be read by GEOS. .. argparse:: - :module: geosx-mesh-tools.geos.mesh.tools.main + :module: geos.mesh.tools.main :func: build_abaqus_converter_input_parser :prog: convert_abaqus @@ -47,5 +47,5 @@ Compile an xml file with advanced features into a single file that can be read b API ^^^ -.. automodule:: geosx-mesh-tools.geos.mesh.tools.abaqus_converter +.. automodule:: geos.mesh.tools.abaqus_converter :members: diff --git a/docs/geos_xml_tools.rst b/docs/geos_xml_tools.rst index b6a97f14..a4df9cc5 100644 --- a/docs/geos_xml_tools.rst +++ b/docs/geos_xml_tools.rst @@ -15,7 +15,7 @@ convert_abaqus Convert an abaqus format mesh file to gmsh or vtk format. .. argparse:: - :module: geos-xml-tools.geos.xml.tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_preprocessor_input_parser :prog: preprocess_xml @@ -26,7 +26,7 @@ format_xml Formats an xml file. .. argparse:: - :module: geos-xml-tools.geos.xml.tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_xml_formatter_input_parser :prog: format_xml @@ -37,7 +37,7 @@ check_xml_attribute_coverage Checks xml attribute coverage for files in the GEOS repository. .. argparse:: - :module: geos-xml-tools.geos.xml.tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_attribute_coverage_input_parser :prog: check_xml_attribute_coverage @@ -48,7 +48,7 @@ check_xml_redundancy Checks for redundant attribute definitions in an xml file, such as those that duplicate the default value. .. argparse:: - :module: geos-xml-tools.geos.xml.tools.command_line_parsers + :module: geos.xml.tools.command_line_parsers :func: build_xml_redundancy_input_parser :prog: check_xml_redundancy @@ -56,27 +56,27 @@ Checks for redundant attribute definitions in an xml file, such as those that du API ^^^ -.. automodule:: geos-xml-tools.geos.xml.tools.main +.. automodule:: geos.xml.tools.main :members: -.. automodule:: geos-xml-tools.geos.xml.tools.xml_processor +.. automodule:: geos.xml.tools.xml_processor :members: -.. automodule:: geos-xml-tools.geos.xml.tools.xml_formatter +.. automodule:: geos.xml.tools.xml_formatter :members: -.. automodule:: geos-xml-tools.geos.xml.tools.unit_manager +.. automodule:: geos.xml.tools.unit_manager :members: -.. automodule:: geos-xml-tools.geos.xml.tools.regex_tools +.. automodule:: geos.xml.tools.regex_tools :members: -.. automodule:: geos-xml-tools.geos.xml.tools.xml_redundancy_check +.. automodule:: geos.xml.tools.xml_redundancy_check :members: -.. automodule:: geos-xml-tools.geos.xml.tools.attribute_coverage +.. automodule:: geos.xml.tools.attribute_coverage :members: -.. automodule:: geos-xml-tools.geos.xml.tools.table_generator +.. automodule:: geos.xml.tools.table_generator :members: diff --git a/docs/hdf5_wrapper.rst b/docs/hdf5_wrapper.rst index c54ea38e..63f6e5e9 100644 --- a/docs/hdf5_wrapper.rst +++ b/docs/hdf5_wrapper.rst @@ -12,7 +12,7 @@ Once loaded, the contents of a file can be navigated in the same way as a native .. code-block:: python - import hdf5-wrapper.geos.hdf5wrapper + import geos.hdf5wrapper data = hdf5wrapper.hdf5_wrapper('data.hdf5') @@ -26,7 +26,7 @@ Note: for these changes to be written to the disk, the wrapper may need to be cl .. code-block:: python - import hdf5-wrapper.geos.hdf5wrapper + import geos.hdf5wrapper import numpy as np data = hdf5wrapper.hdf5_wrapper('data.hdf5', mode='w') @@ -56,5 +56,5 @@ And external hdf5 format files can be linked together: API ^^^^^ -.. automodule:: hdf5-wrapper.geos.hdf5wrapper.wrapper +.. automodule:: geos.hdf5wrapper.wrapper :members: diff --git a/docs/pygeos_tools.rst b/docs/pygeos_tools.rst index 14217bce..fc9e1403 100644 --- a/docs/pygeos_tools.rst +++ b/docs/pygeos_tools.rst @@ -1,5 +1,5 @@ -PyGEOSX Tools +PyGEOS Tools -------------------------- The `pygeos-tools` python package adds a variety of tools for working with pygeosx objects. @@ -10,15 +10,15 @@ Examples using these tools can be found here: `PYGEOSX Examples Date: Tue, 26 Mar 2024 17:29:59 +0100 Subject: [PATCH 26/34] docs: update doc --- docs/{geos_ats.rst => geos-ats.rst} | 0 .../{mesh_doctor.rst => geos-mesh-doctor.rst} | 22 +++++++++---------- ...eos_mesh_tools.rst => geos-mesh-tools.rst} | 0 .../{timehistory.rst => geos-timehistory.rst} | 0 ...{geos_xml_tools.rst => geos-xml-tools.rst} | 0 docs/{hdf5_wrapper.rst => hdf5-wrapper.rst} | 0 docs/{pygeos_tools.rst => pygeos-tools.rst} | 0 7 files changed, 11 insertions(+), 11 deletions(-) rename docs/{geos_ats.rst => geos-ats.rst} (100%) rename docs/{mesh_doctor.rst => geos-mesh-doctor.rst} (82%) rename docs/{geos_mesh_tools.rst => geos-mesh-tools.rst} (100%) rename docs/{timehistory.rst => geos-timehistory.rst} (100%) rename docs/{geos_xml_tools.rst => geos-xml-tools.rst} (100%) rename docs/{hdf5_wrapper.rst => hdf5-wrapper.rst} (100%) rename docs/{pygeos_tools.rst => pygeos-tools.rst} (100%) diff --git a/docs/geos_ats.rst b/docs/geos-ats.rst similarity index 100% rename from docs/geos_ats.rst rename to docs/geos-ats.rst diff --git a/docs/mesh_doctor.rst b/docs/geos-mesh-doctor.rst similarity index 82% rename from docs/mesh_doctor.rst rename to docs/geos-mesh-doctor.rst index 248d2066..0f7e00a4 100644 --- a/docs/mesh_doctor.rst +++ b/docs/geos-mesh-doctor.rst @@ -10,13 +10,13 @@ Modules To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. -.. command-output:: python src/geos/mesh-doctor.py --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py --help :cwd: ../geos-mesh-doctor Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. For example -.. command-output:: python src/geos/mesh-doctor.py collocated_nodes --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py collocated_nodes --help :cwd: ../geos-mesh-doctor ``mesh-doctor`` loads its module dynamically. @@ -39,7 +39,7 @@ Here is a list and brief description of all the modules available. Displays the neighboring nodes that are closer to each other than a prescribed threshold. It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python src/geos/mesh-doctor.py collocated_nodes --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py collocated_nodes --help :cwd: ../geos-mesh-doctor ``element_volumes`` @@ -48,7 +48,7 @@ It is not uncommon to define multiple nodes for the exact same position, which w Computes the volumes of all the cells and displays the ones that are below a prescribed threshold. Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python src/geos/mesh-doctor.py element_volumes --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py element_volumes --help :cwd: ../geos-mesh-doctor ``fix_elements_orderings`` @@ -58,7 +58,7 @@ It sometimes happens that an exported mesh does not abide by the ``vtk`` orderin The ``fix_elements_orderings`` module can rearrange the nodes of given types of elements. This can be convenient if you cannot regenerate the mesh. -.. command-output:: python src/geos/mesh-doctor.py fix_elements_orderings --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py fix_elements_orderings --help :cwd: ../geos-mesh-doctor ``generate_cube`` @@ -68,7 +68,7 @@ This module conveniently generates cubic meshes in ``vtk``. It can also generate fields with simple values. This tool can also be useful to generate a trial mesh that will later be refined or customized. -.. command-output:: python src/geos/mesh-doctor.py generate_cube --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_cube --help :cwd: ../geos-mesh-doctor ``generate_fractures`` @@ -77,7 +77,7 @@ This tool can also be useful to generate a trial mesh that will later be refined For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to be split at the faces where the fracture gets across the mesh. The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. -.. command-output:: python src/geos/mesh-doctor.py generate_fractures --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_fractures --help :cwd: ../geos-mesh-doctor ``generate_global_ids`` @@ -86,7 +86,7 @@ The ``generate_fractures`` module will split the mesh and generate the multi-blo When running ``geos`` in parallel, `global ids` can be used to refer to data across multiple ranks. The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. -.. command-output:: python src/geos/mesh-doctor.py generate_global_ids --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_global_ids --help :cwd: ../geos-mesh-doctor ``non_conformal`` @@ -97,7 +97,7 @@ This module will detect elements which are close enough (there's a user defined The angle between two faces can also be precribed. This module can be a bit time consuming. -.. command-output:: python src/geos/mesh-doctor.py non_conformal --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py non_conformal --help :cwd: ../geos-mesh-doctor ``self_intersecting_elements`` @@ -106,7 +106,7 @@ This module can be a bit time consuming. Some meshes can have cells that auto-intersect. This module will display the elements that have faces intersecting. -.. command-output:: python src/geos/mesh-doctor.py self_intersecting_elements --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py self_intersecting_elements --help :cwd: ../geos-mesh-doctor ``supported_elements`` @@ -120,5 +120,5 @@ But also prismes up to 11 faces. The ``supported_elements`` check will validate that no unsupported element is included in the input mesh. It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. -.. command-output:: python src/geos/mesh-doctor.py supported_elements --help +.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py supported_elements --help :cwd: ../geos-mesh-doctor diff --git a/docs/geos_mesh_tools.rst b/docs/geos-mesh-tools.rst similarity index 100% rename from docs/geos_mesh_tools.rst rename to docs/geos-mesh-tools.rst diff --git a/docs/timehistory.rst b/docs/geos-timehistory.rst similarity index 100% rename from docs/timehistory.rst rename to docs/geos-timehistory.rst diff --git a/docs/geos_xml_tools.rst b/docs/geos-xml-tools.rst similarity index 100% rename from docs/geos_xml_tools.rst rename to docs/geos-xml-tools.rst diff --git a/docs/hdf5_wrapper.rst b/docs/hdf5-wrapper.rst similarity index 100% rename from docs/hdf5_wrapper.rst rename to docs/hdf5-wrapper.rst diff --git a/docs/pygeos_tools.rst b/docs/pygeos-tools.rst similarity index 100% rename from docs/pygeos_tools.rst rename to docs/pygeos-tools.rst From 307f23ead0c1805beb15e7c477fad3f55b86d998 Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Mon, 13 May 2024 12:31:28 -0700 Subject: [PATCH 27/34] Fixing geos-ats configuration issue --- geos-ats/pyproject.toml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/geos-ats/pyproject.toml b/geos-ats/pyproject.toml index 67756ac7..6365907d 100644 --- a/geos-ats/pyproject.toml +++ b/geos-ats/pyproject.toml @@ -1,7 +1,7 @@ + [build-system] -requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" - +requires = ["setuptools>=61.0", "wheel>=0.37.1"] [project] name = "geos-ats" @@ -16,9 +16,7 @@ classifiers = [ "Development Status :: 4 - Beta", "Programming Language :: Python" ] - requires-python = ">=3.7" - dependencies = [ "h5py", "mpi4py", @@ -34,15 +32,12 @@ dependencies = [ "ats @ https://github.com/LLNL/ATS/archive/refs/tags/7.0.105.tar.gz", ] -[tool.setuptools.package-data] -myModule = ["*.js", "*.css", "*.zip"] - [project.scripts] - run_geos_ats = "geos.ats.main:main" - setup_ats_environment = "geos.ats.environment_setup:main" - geos_ats_log_check = "geos_ats.helpers.log_check:main" - geos_ats_restart_check = "geos_ats.helpers.restart_check:main" - geos_ats_curve_check = "geos_ats.helpers.curve_check:main" +run_geos_ats = "geos.ats.main:main" +setup_ats_environment = "geos.ats.environment_setup:main" +geos_ats_log_check = "geos_ats.helpers.log_check:main" +geos_ats_restart_check = "geos.ats.helpers.restart_check:main" +geos_ats_curve_check = "geos.ats.helpers.curve_check:main" [project.urls] Homepage = "https://github.com/GEOS-DEV/geosPythonPackages" @@ -50,3 +45,8 @@ Documentation = "https://geosx-geosx.readthedocs-hosted.com/projects/geosx-geosp Repository = "https://github.com/GEOS-DEV/geosPythonPackages.git" "Bug Tracker" = "https://github.com/GEOS-DEV/geosPythonPackages/issues" +[tool.setuptools] +include-package-data = true + +[tool.setuptools.package-data] +"*" = ["*.js", "*.css", "*.zip"] From 32c4ca0e56a0afac9e2b06dcddbc4393fc4fba0b Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Fri, 17 May 2024 17:55:20 +0200 Subject: [PATCH 28/34] chore: should satisfy yapf --- geos-ats/src/geos/ats/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/geos-ats/src/geos/ats/main.py b/geos-ats/src/geos/ats/main.py index 5f8121c4..efcec428 100644 --- a/geos-ats/src/geos/ats/main.py +++ b/geos-ats/src/geos/ats/main.py @@ -8,7 +8,6 @@ import glob from geos.ats import command_line_parsers, baseline_io, history - test_actions = ( "run", "rerun", "check", "continue" ) report_actions = ( "run", "rerun", "report", "continue" ) From e12ee592a561b6a7005768a53c72bf32454ed9e3 Mon Sep 17 00:00:00 2001 From: Lionel Untereiner Date: Fri, 17 May 2024 17:55:40 +0200 Subject: [PATCH 29/34] chore: forget one dot --- geos-ats/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-ats/pyproject.toml b/geos-ats/pyproject.toml index 6365907d..bb9a1c73 100644 --- a/geos-ats/pyproject.toml +++ b/geos-ats/pyproject.toml @@ -35,7 +35,7 @@ dependencies = [ [project.scripts] run_geos_ats = "geos.ats.main:main" setup_ats_environment = "geos.ats.environment_setup:main" -geos_ats_log_check = "geos_ats.helpers.log_check:main" +geos_ats_log_check = "geos.ats.helpers.log_check:main" geos_ats_restart_check = "geos.ats.helpers.restart_check:main" geos_ats_curve_check = "geos.ats.helpers.curve_check:main" From 23d41bad891356decf180c576c75e71d75590d96 Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Wed, 5 Jun 2024 16:15:30 -0700 Subject: [PATCH 30/34] Fixing changes to hdf5_wrapper --- docs/hdf5-wrapper.rst | 8 +++---- geos-ats/src/geos/ats/helpers/curve_check.py | 4 ++-- geos-timehistory/src/geos/timehistory/plot.py | 2 +- .../src/geos/hdf5wrapper/use_example.py | 16 ++++++------- .../src/geos/hdf5wrapper/wrapper_tests.py | 24 +++++++++---------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/docs/hdf5-wrapper.rst b/docs/hdf5-wrapper.rst index 63f6e5e9..549493ba 100644 --- a/docs/hdf5-wrapper.rst +++ b/docs/hdf5-wrapper.rst @@ -12,9 +12,9 @@ Once loaded, the contents of a file can be navigated in the same way as a native .. code-block:: python - import geos.hdf5wrapper + from geos.hdf5wrapper import hdf5_wrapper - data = hdf5wrapper.hdf5_wrapper('data.hdf5') + data = hdf5_wrapper('data.hdf5') test = data['test'] for k, v in data.items(): @@ -26,10 +26,10 @@ Note: for these changes to be written to the disk, the wrapper may need to be cl .. code-block:: python - import geos.hdf5wrapper + from geos.hdf5wrapper import hdf5_wrapper import numpy as np - data = hdf5wrapper.hdf5_wrapper('data.hdf5', mode='w') + data = hdf5_wrapper('data.hdf5', mode='w') data['string'] = 'string' data['integer'] = 123 data['array'] = np.random.randn(3, 4, 5) diff --git a/geos-ats/src/geos/ats/helpers/curve_check.py b/geos-ats/src/geos/ats/helpers/curve_check.py index 1353f62d..58746adf 100644 --- a/geos-ats/src/geos/ats/helpers/curve_check.py +++ b/geos-ats/src/geos/ats/helpers/curve_check.py @@ -5,7 +5,7 @@ import numpy as np from scipy.interpolate import interp1d import matplotlib.pyplot as plt -import hdf5_wrapper +from geos.hdf5wrapper import hdf5_wrapper unit_map = { 'milliseconds': 1e-3, @@ -223,7 +223,7 @@ def compare_time_history_curves( fname, baseline, curve, tolerance, output, outp data_sizes = {} for k, f in files.items(): if os.path.isfile( f ): - data[ k ] = hdf5_wrapper.hdf5_wrapper( f ).get_copy() + data[ k ] = hdf5_wrapper( f ).get_copy() else: errors.append( f'{k} file not found: {f}' ) continue diff --git a/geos-timehistory/src/geos/timehistory/plot.py b/geos-timehistory/src/geos/timehistory/plot.py index 8cf467ff..0522793a 100644 --- a/geos-timehistory/src/geos/timehistory/plot.py +++ b/geos-timehistory/src/geos/timehistory/plot.py @@ -22,7 +22,7 @@ def getHistorySeries( database, variable, setname, indices=None, components=None Retrieve a series of time history structures suitable for plotting in addition to the specific set index and component for the time series Args: - database (hdf5_wrapper.hdf5_wrapper): database to retrieve time history data from + database (geos.hdf5wrapper.hdf5_wrapper): database to retrieve time history data from variable (str): the name of the time history variable for which to retrieve time-series data setname (str): the name of the index set as specified in the geosx input xml for which to query time-series data indices (int, list): the indices in the named set to query for, if None, defaults to all diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py b/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py index 92434514..bfb354ee 100644 --- a/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py +++ b/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py @@ -1,21 +1,21 @@ import numpy as np -import hdf5_wrapper +from geos.hdf5wrapper import hdf5_wrapper from typing import Union, Dict -def print_database_iterative( database: hdf5_wrapper.hdf5_wrapper, level: int = 0 ) -> None: +def print_database_iterative( database: hdf5_wrapper, level: int = 0 ) -> None: """ Print the database targets iteratively by level Args: - database (hdf5_wrapper.hdf5_wrapper) the wrapper for the current database + database (hdf5_wrapper) the wrapper for the current database level (int): the depth within the database """ # Note: you can also iterate over the hdf5_wrapper object directly for k in database.keys(): print( '%s%s' % ( ' ' * level, k ) ) - if isinstance( database[ k ], hdf5_wrapper.hdf5_wrapper ): + if isinstance( database[ k ], hdf5_wrapper ): # This is a group, so continue iterating downward print_database_iterative( database[ k ], level + 1 ) else: @@ -53,7 +53,7 @@ def read_write_hdf5_database_example() -> None: # ------------------------ # Write the first piece-by-piece to an hdf5_file # Note: when you exit the following scope, the database is automatically closed - with hdf5_wrapper.hdf5_wrapper( 'database_a.hdf5', mode='a' ) as database_a: + with hdf5_wrapper( 'database_a.hdf5', mode='a' ) as database_a: # Assign the two array objects to this level database_a[ '1D_double_array' ] = source_a[ '1D_double_array' ] database_a[ 'string_array' ] = source_a[ 'string_array' ] @@ -63,11 +63,11 @@ def read_write_hdf5_database_example() -> None: child_a[ '2D_double_array' ] = source_a[ 'child_a' ][ '2D_double_array' ] # Automatically write the second source to a second database - with hdf5_wrapper.hdf5_wrapper( 'database_b.hdf5', mode='a' ) as database_b: + with hdf5_wrapper( 'database_b.hdf5', mode='a' ) as database_b: database_b[ '/' ] = source_b # Create a third database that links the either two - with hdf5_wrapper.hdf5_wrapper( 'database_c.hdf5', mode='a' ) as database_c: + with hdf5_wrapper( 'database_c.hdf5', mode='a' ) as database_c: database_c.link( 'database_a', 'database_a.hdf5' ) database_c.link( 'database_b', 'database_b.hdf5' ) @@ -75,7 +75,7 @@ def read_write_hdf5_database_example() -> None: # Read the databases from the filesystem # --------------------------------------- print( 'Database contents:' ) - with hdf5_wrapper.hdf5_wrapper( 'database_c.hdf5' ) as database_c: + with hdf5_wrapper( 'database_c.hdf5' ) as database_c: # Iteratively print the database contents print_database_iterative( database_c, 1 ) diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py b/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py index 8f963df1..4df29be3 100644 --- a/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py +++ b/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py @@ -4,7 +4,7 @@ import numpy as np import random import string -import hdf5_wrapper +from geos.hdf5wrapper import hdf5_wrapper def random_string( N ): @@ -52,11 +52,11 @@ def compare_wrapper_dict( self, x, y ): vx, vy = x[ k ], y[ k ] tx, ty = type( vx ), type( vy ) - if ( ( tx != ty ) and not ( isinstance( vx, ( dict, hdf5_wrapper.hdf5_wrapper ) ) - and isinstance( vy, ( dict, hdf5_wrapper.hdf5_wrapper ) ) ) ): + if ( ( tx != ty ) and not ( isinstance( vx, ( dict, hdf5_wrapper ) ) + and isinstance( vy, ( dict, hdf5_wrapper ) ) ) ): self.assertTrue( np.issubdtype( tx, ty ) ) - if isinstance( vx, ( dict, hdf5_wrapper.hdf5_wrapper ) ): + if isinstance( vx, ( dict, hdf5_wrapper ) ): self.compare_wrapper_dict( vx, vy ) else: if isinstance( vx, np.ndarray ): @@ -66,40 +66,40 @@ def compare_wrapper_dict( self, x, y ): self.assertTrue( vx == vy ) def test_a_insert_write( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_insert.hdf5' ), mode='w' ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_insert.hdf5' ), mode='w' ) data.insert( self.test_dict ) def test_b_manual_write( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_manual.hdf5' ), mode='w' ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_manual.hdf5' ), mode='w' ) for k, v in self.test_dict.items(): data[ k ] = v def test_c_link_write( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_linked.hdf5' ), mode='w' ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_linked.hdf5' ), mode='w' ) for k, v in self.test_dict.items(): if ( 'child' in k ): child_path = os.path.join( self.test_dir, 'test_%s.hdf5' % ( k ) ) - data_child = hdf5_wrapper.hdf5_wrapper( child_path, mode='w' ) + data_child = hdf5_wrapper( child_path, mode='w' ) data_child.insert( v ) data.link( k, child_path ) else: data[ k ] = v def test_d_compare_wrapper( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_insert.hdf5' ) ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_insert.hdf5' ) ) self.compare_wrapper_dict( self.test_dict, data ) def test_e_compare_wrapper_copy( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_insert.hdf5' ) ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_insert.hdf5' ) ) tmp = data.copy() self.compare_wrapper_dict( self.test_dict, tmp ) def test_f_compare_wrapper( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_manual.hdf5' ) ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_manual.hdf5' ) ) self.compare_wrapper_dict( self.test_dict, data ) def test_g_compare_wrapper( self ): - data = hdf5_wrapper.hdf5_wrapper( os.path.join( self.test_dir, 'test_linked.hdf5' ) ) + data = hdf5_wrapper( os.path.join( self.test_dir, 'test_linked.hdf5' ) ) self.compare_wrapper_dict( self.test_dict, data ) From d574dc2bac580cb2a8c3a1aa6365881893b0a3b3 Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Wed, 5 Jun 2024 16:39:55 -0700 Subject: [PATCH 31/34] Reverting some package name changes, consolidating mesh package --- docs/geos-mesh-doctor.rst | 84 ++++++++++++++++--- docs/geos-mesh-tools.rst | 51 ----------- docs/geos-xml-tools.rst | 24 +++--- docs/hdf5-wrapper.rst | 6 +- docs/index.rst | 4 +- geos-ats/src/geos/ats/helpers/curve_check.py | 2 +- geos-mesh-tools/pyproject.toml | 32 ------- .../pyproject.toml | 7 +- .../src/geos/mesh/conversion}/__init__.py | 0 .../geos/mesh/conversion}/abaqus_converter.py | 0 .../src/geos/mesh/conversion}/main.py | 0 .../src/geos/mesh/conversion}/py.typed | 0 .../src/geos/mesh/doctor/checks/__init__.py | 0 .../mesh/doctor/checks/check_fractures.py | 0 .../mesh/doctor/checks/collocated_nodes.py | 0 .../mesh/doctor/checks/element_volumes.py | 0 .../doctor/checks/fix_elements_orderings.py | 0 .../geos/mesh/doctor/checks/generate_cube.py | 0 .../mesh/doctor/checks/generate_fractures.py | 0 .../mesh/doctor/checks/generate_global_ids.py | 0 .../geos/mesh/doctor/checks/non_conformal.py | 0 .../geos/mesh/doctor/checks/reorient_mesh.py | 0 .../checks/self_intersecting_elements.py | 0 .../mesh/doctor/checks/supported_elements.py | 0 .../mesh/doctor/checks/triangle_distance.py | 0 .../geos/mesh/doctor/checks/vtk_polyhedron.py | 0 .../src/geos/mesh/doctor/checks/vtk_utils.py | 0 .../src/geos/mesh/doctor/mesh_doctor.py | 0 .../src/geos/mesh/doctor/parsing/__init__.py | 0 .../doctor/parsing/check_fractures_parsing.py | 0 .../geos/mesh/doctor/parsing/cli_parsing.py | 0 .../parsing/collocated_nodes_parsing.py | 0 .../doctor/parsing/element_volumes_parsing.py | 0 .../parsing/fix_elements_orderings_parsing.py | 0 .../doctor/parsing/generate_cube_parsing.py | 0 .../parsing/generate_fractures_parsing.py | 0 .../parsing/generate_global_ids_parsing.py | 0 .../doctor/parsing/non_conformal_parsing.py | 0 .../self_intersecting_elements_parsing.py | 0 .../parsing/supported_elements_parsing.py | 0 .../mesh/doctor/parsing/vtk_output_parsing.py | 0 .../src/geos/mesh/doctor/register.py | 0 .../tests/test_cli_parsing.py | 0 .../tests/test_collocated_nodes.py | 0 .../tests/test_element_volumes.py | 0 .../tests/test_generate_cube.py | 0 .../tests/test_generate_fractures.py | 0 .../tests/test_generate_global_ids.py | 0 .../tests/test_non_conformal.py | 0 .../tests/test_reorient_mesh.py | 0 .../tests/test_self_intersecting_elements.py | 0 .../tests/test_supported_elements.py | 0 .../tests/test_triangle_distance.py | 0 geos-timehistory/src/geos/timehistory/plot.py | 4 +- geos-xml-tools/pyproject.toml | 10 +-- .../geos/{xml/tools => xml_tools}/__init__.py | 0 .../tools => xml_tools}/attribute_coverage.py | 2 +- .../command_line_parsers.py | 0 .../src/geos/{xml/tools => xml_tools}/main.py | 2 +- .../geos/{xml/tools => xml_tools}/py.typed | 0 .../{xml/tools => xml_tools}/regex_tools.py | 0 .../tools => xml_tools}/table_generator.py | 0 .../tools => xml_tools}/tests/__init__.py | 0 .../tests/generate_test_xml.py | 0 .../tools => xml_tools}/tests/test_manager.py | 0 .../{xml/tools => xml_tools}/unit_manager.py | 2 +- .../{xml/tools => xml_tools}/xml_formatter.py | 2 +- .../{xml/tools => xml_tools}/xml_processor.py | 4 +- .../xml_redundancy_check.py | 6 +- hdf5-wrapper/pyproject.toml | 2 +- .../{hdf5wrapper => hdf5_wrapper}/__init__.py | 0 .../{hdf5wrapper => hdf5_wrapper}/py.typed | 0 .../use_example.py | 2 +- .../{hdf5wrapper => hdf5_wrapper}/wrapper.py | 0 .../wrapper_tests.py | 6 +- .../tools => pygeos_tools}/__init__.py | 0 .../{pygeos/tools => pygeos_tools}/file_io.py | 0 .../mesh_interpolation.py | 0 .../{pygeos/tools => pygeos_tools}/py.typed | 0 .../tools => pygeos_tools}/well_log.py | 0 .../{pygeos/tools => pygeos_tools}/wrapper.py | 0 81 files changed, 117 insertions(+), 135 deletions(-) delete mode 100644 docs/geos-mesh-tools.rst delete mode 100644 geos-mesh-tools/pyproject.toml rename {geos-mesh-doctor => geos-mesh}/pyproject.toml (85%) rename {geos-mesh-tools/src/geos/mesh/tools => geos-mesh/src/geos/mesh/conversion}/__init__.py (100%) rename {geos-mesh-tools/src/geos/mesh/tools => geos-mesh/src/geos/mesh/conversion}/abaqus_converter.py (100%) rename {geos-mesh-tools/src/geos/mesh/tools => geos-mesh/src/geos/mesh/conversion}/main.py (100%) rename {geos-mesh-tools/src/geos/mesh/tools => geos-mesh/src/geos/mesh/conversion}/py.typed (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/__init__.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/check_fractures.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/collocated_nodes.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/element_volumes.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/fix_elements_orderings.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/generate_cube.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/generate_fractures.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/generate_global_ids.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/non_conformal.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/reorient_mesh.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/self_intersecting_elements.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/supported_elements.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/triangle_distance.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/vtk_polyhedron.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/checks/vtk_utils.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/mesh_doctor.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/__init__.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/check_fractures_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/cli_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/element_volumes_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/generate_cube_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/non_conformal_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/supported_elements_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/parsing/vtk_output_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/src/geos/mesh/doctor/register.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_cli_parsing.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_collocated_nodes.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_element_volumes.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_generate_cube.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_generate_fractures.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_generate_global_ids.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_non_conformal.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_reorient_mesh.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_self_intersecting_elements.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_supported_elements.py (100%) rename {geos-mesh-doctor => geos-mesh}/tests/test_triangle_distance.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/__init__.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/attribute_coverage.py (99%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/command_line_parsers.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/main.py (98%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/py.typed (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/regex_tools.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/table_generator.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/tests/__init__.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/tests/generate_test_xml.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/tests/test_manager.py (100%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/unit_manager.py (99%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/xml_formatter.py (99%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/xml_processor.py (99%) rename geos-xml-tools/src/geos/{xml/tools => xml_tools}/xml_redundancy_check.py (94%) rename hdf5-wrapper/src/geos/{hdf5wrapper => hdf5_wrapper}/__init__.py (100%) rename hdf5-wrapper/src/geos/{hdf5wrapper => hdf5_wrapper}/py.typed (100%) rename hdf5-wrapper/src/geos/{hdf5wrapper => hdf5_wrapper}/use_example.py (98%) rename hdf5-wrapper/src/geos/{hdf5wrapper => hdf5_wrapper}/wrapper.py (100%) rename hdf5-wrapper/src/geos/{hdf5wrapper => hdf5_wrapper}/wrapper_tests.py (96%) rename pygeos-tools/src/{pygeos/tools => pygeos_tools}/__init__.py (100%) rename pygeos-tools/src/{pygeos/tools => pygeos_tools}/file_io.py (100%) rename pygeos-tools/src/{pygeos/tools => pygeos_tools}/mesh_interpolation.py (100%) rename pygeos-tools/src/{pygeos/tools => pygeos_tools}/py.typed (100%) rename pygeos-tools/src/{pygeos/tools => pygeos_tools}/well_log.py (100%) rename pygeos-tools/src/{pygeos/tools => pygeos_tools}/wrapper.py (100%) diff --git a/docs/geos-mesh-doctor.rst b/docs/geos-mesh-doctor.rst index 0f7e00a4..39198128 100644 --- a/docs/geos-mesh-doctor.rst +++ b/docs/geos-mesh-doctor.rst @@ -1,3 +1,8 @@ + +GEOS Mesh Tools +==================== + + Mesh Doctor --------------- @@ -11,13 +16,13 @@ Modules To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. For example .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py collocated_nodes --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``mesh-doctor`` loads its module dynamically. If a module can't be loaded, ``mesh-doctor`` will proceed and try to load other modules. @@ -40,7 +45,7 @@ Displays the neighboring nodes that are closer to each other than a prescribed t It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py collocated_nodes --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``element_volumes`` """"""""""""""""""" @@ -49,7 +54,7 @@ Computes the volumes of all the cells and displays the ones that are below a pre Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py element_volumes --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``fix_elements_orderings`` """""""""""""""""""""""""" @@ -59,7 +64,7 @@ The ``fix_elements_orderings`` module can rearrange the nodes of given types of This can be convenient if you cannot regenerate the mesh. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py fix_elements_orderings --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``generate_cube`` """"""""""""""""" @@ -69,7 +74,7 @@ It can also generate fields with simple values. This tool can also be useful to generate a trial mesh that will later be refined or customized. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_cube --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``generate_fractures`` """""""""""""""""""""" @@ -78,7 +83,7 @@ For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_fractures --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``generate_global_ids`` """"""""""""""""""""""" @@ -87,7 +92,7 @@ When running ``geos`` in parallel, `global ids` can be used to refer to data acr The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_global_ids --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``non_conformal`` """"""""""""""""" @@ -98,7 +103,7 @@ The angle between two faces can also be precribed. This module can be a bit time consuming. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py non_conformal --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``self_intersecting_elements`` """""""""""""""""""""""""""""" @@ -107,7 +112,7 @@ Some meshes can have cells that auto-intersect. This module will display the elements that have faces intersecting. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py self_intersecting_elements --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh ``supported_elements`` """""""""""""""""""""" @@ -121,4 +126,61 @@ The ``supported_elements`` check will validate that no unsupported element is in It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. .. command-output:: python src/geos/mesh/doctor/mesh-doctor.py supported_elements --help - :cwd: ../geos-mesh-doctor + :cwd: ../geos-mesh + + + +Mesh Conversion +-------------------------- + +The `geos-mesh` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). +See :ref:`PythonToolsSetup` for details on setup instructions, and `External Mesh Guidelines `_ for a detailed description of how to use external meshes in GEOS. +The available console scripts for this package and its API are described below. + + +convert_abaqus +^^^^^^^^^^^^^^ + +Compile an xml file with advanced features into a single file that can be read by GEOS. + +.. argparse:: + :module: geos.mesh.conversion.main + :func: build_abaqus_converter_input_parser + :prog: convert_abaqus + + +.. note:: + For vtk format meshes, the user also needs to determine the region ID numbers and names of nodesets to import into GEOS. + The following shows how these could look in an input XML file for a mesh with three regions (*REGIONA*, *REGIONB*, and *REGIONC*) and six nodesets (*xneg*, *xpos*, *yneg*, *ypos*, *zneg*, and *zpos*): + + +.. code-block:: xml + + + + + + + + + + + + +API +^^^ + +.. automodule:: geos.mesh.conversion.abaqus_converter + :members: + + + + diff --git a/docs/geos-mesh-tools.rst b/docs/geos-mesh-tools.rst deleted file mode 100644 index 0c1cfe75..00000000 --- a/docs/geos-mesh-tools.rst +++ /dev/null @@ -1,51 +0,0 @@ - -GEOS Mesh Tools --------------------------- - -The `geos-mesh-tools` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). -See :ref:`PythonToolsSetup` for details on setup instructions, and `External Mesh Guidelines `_ for a detailed description of how to use external meshes in GEOS. -The available console scripts for this package and its API are described below. - - -convert_abaqus -^^^^^^^^^^^^^^ - -Compile an xml file with advanced features into a single file that can be read by GEOS. - -.. argparse:: - :module: geos.mesh.tools.main - :func: build_abaqus_converter_input_parser - :prog: convert_abaqus - - -.. note:: - For vtk format meshes, the user also needs to determine the region ID numbers and names of nodesets to import into GEOS. - The following shows how these could look in an input XML file for a mesh with three regions (*REGIONA*, *REGIONB*, and *REGIONC*) and six nodesets (*xneg*, *xpos*, *yneg*, *ypos*, *zneg*, and *zpos*): - - -.. code-block:: xml - - - - - - - - - - - - -API -^^^ - -.. automodule:: geos.mesh.tools.abaqus_converter - :members: diff --git a/docs/geos-xml-tools.rst b/docs/geos-xml-tools.rst index a4df9cc5..72ef2a13 100644 --- a/docs/geos-xml-tools.rst +++ b/docs/geos-xml-tools.rst @@ -15,7 +15,7 @@ convert_abaqus Convert an abaqus format mesh file to gmsh or vtk format. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos.xml_tools.command_line_parsers :func: build_preprocessor_input_parser :prog: preprocess_xml @@ -26,7 +26,7 @@ format_xml Formats an xml file. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos.xml_tools.command_line_parsers :func: build_xml_formatter_input_parser :prog: format_xml @@ -37,7 +37,7 @@ check_xml_attribute_coverage Checks xml attribute coverage for files in the GEOS repository. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos.xml_tools.command_line_parsers :func: build_attribute_coverage_input_parser :prog: check_xml_attribute_coverage @@ -48,7 +48,7 @@ check_xml_redundancy Checks for redundant attribute definitions in an xml file, such as those that duplicate the default value. .. argparse:: - :module: geos.xml.tools.command_line_parsers + :module: geos.xml_tools.command_line_parsers :func: build_xml_redundancy_input_parser :prog: check_xml_redundancy @@ -56,27 +56,27 @@ Checks for redundant attribute definitions in an xml file, such as those that du API ^^^ -.. automodule:: geos.xml.tools.main +.. automodule:: geos.xml_tools.main :members: -.. automodule:: geos.xml.tools.xml_processor +.. automodule:: geos.xml_tools.xml_processor :members: -.. automodule:: geos.xml.tools.xml_formatter +.. automodule:: geos.xml_tools.xml_formatter :members: -.. automodule:: geos.xml.tools.unit_manager +.. automodule:: geos.xml_tools.unit_manager :members: -.. automodule:: geos.xml.tools.regex_tools +.. automodule:: geos.xml_tools.regex_tools :members: -.. automodule:: geos.xml.tools.xml_redundancy_check +.. automodule:: geos.xml_tools.xml_redundancy_check :members: -.. automodule:: geos.xml.tools.attribute_coverage +.. automodule:: geos.xml_tools.attribute_coverage :members: -.. automodule:: geos.xml.tools.table_generator +.. automodule:: geos.xml_tools.table_generator :members: diff --git a/docs/hdf5-wrapper.rst b/docs/hdf5-wrapper.rst index 549493ba..a3038baa 100644 --- a/docs/hdf5-wrapper.rst +++ b/docs/hdf5-wrapper.rst @@ -12,7 +12,7 @@ Once loaded, the contents of a file can be navigated in the same way as a native .. code-block:: python - from geos.hdf5wrapper import hdf5_wrapper + from geos.hdf5_wrapper import hdf5_wrapper data = hdf5_wrapper('data.hdf5') @@ -26,7 +26,7 @@ Note: for these changes to be written to the disk, the wrapper may need to be cl .. code-block:: python - from geos.hdf5wrapper import hdf5_wrapper + from geos.hdf5_wrapper import hdf5_wrapper import numpy as np data = hdf5_wrapper('data.hdf5', mode='w') @@ -56,5 +56,5 @@ And external hdf5 format files can be linked together: API ^^^^^ -.. automodule:: geos.hdf5wrapper.wrapper +.. automodule:: geos.hdf5_wrapper.wrapper :members: diff --git a/docs/index.rst b/docs/index.rst index b38828f4..e4fdbd41 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -80,12 +80,10 @@ Packages geos-ats - geos-mesh-tools + geos-mesh geos-xml-tools pygeosx_tools geos-timehistory - - geos-mesh-doctor diff --git a/geos-ats/src/geos/ats/helpers/curve_check.py b/geos-ats/src/geos/ats/helpers/curve_check.py index 58746adf..a35b27fc 100644 --- a/geos-ats/src/geos/ats/helpers/curve_check.py +++ b/geos-ats/src/geos/ats/helpers/curve_check.py @@ -5,7 +5,7 @@ import numpy as np from scipy.interpolate import interp1d import matplotlib.pyplot as plt -from geos.hdf5wrapper import hdf5_wrapper +from geos.hdf5_wrapper import hdf5_wrapper unit_map = { 'milliseconds': 1e-3, diff --git a/geos-mesh-tools/pyproject.toml b/geos-mesh-tools/pyproject.toml deleted file mode 100644 index b0405256..00000000 --- a/geos-mesh-tools/pyproject.toml +++ /dev/null @@ -1,32 +0,0 @@ -[build-system] -requires = ["setuptools>=42", "wheel"] -build-backend = "setuptools.build_meta" - -[project] -name = "geos-mesh-tools" -version = "0.2.0" -description = "Tools for managing meshes in GEOS" -authors = [{name = "GEOS Contributors" }] -maintainers = [ - {name = "Christopher Sherman", email = "sherman27@llnl.gov"} -] -license = {text = "LGPL-2.1"} -classifiers = [ - "Development Status :: 4 - Beta", - "Programming Language :: Python" -] - -requires-python = ">=3.6" - -dependencies = [ - "meshio>=5.3.2", - "numpy", -] - -[project.scripts] - convert_abaqus = "geos.mesh.tools.main:main" - -[tool.mypy] -python_version = "3.8" -warn_return_any = true -warn_unused_configs = true diff --git a/geos-mesh-doctor/pyproject.toml b/geos-mesh/pyproject.toml similarity index 85% rename from geos-mesh-doctor/pyproject.toml rename to geos-mesh/pyproject.toml index dc3a0404..1706913b 100644 --- a/geos-mesh-doctor/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -5,8 +5,11 @@ build-backend = "setuptools.build_meta" [project] name = "geos-mesh-doctor" version = "0.0.1" -description = "Mesh doctor for GEOS" +description = "GEOS mesh tools" authors = [{name = "GEOS Contributors" }] +maintainers = [ + {name = "Christopher Sherman", email = "sherman27@llnl.gov"} +] license = {text = "LGPL-2.1"} classifiers = [ "Development Status :: 4 - Beta", @@ -20,10 +23,12 @@ dependencies = [ "networkx >= 2.4", "tqdm", "numpy", + "meshio>=5.3.2", ] [project.scripts] mesh-doctor = "geos.mesh.doctor.mesh_doctor:main" + convert_abaqus = "geos.mesh.conversion.main:main" [project.urls] Homepage = "https://github.com/GEOS-DEV/geosPythonPackages" diff --git a/geos-mesh-tools/src/geos/mesh/tools/__init__.py b/geos-mesh/src/geos/mesh/conversion/__init__.py similarity index 100% rename from geos-mesh-tools/src/geos/mesh/tools/__init__.py rename to geos-mesh/src/geos/mesh/conversion/__init__.py diff --git a/geos-mesh-tools/src/geos/mesh/tools/abaqus_converter.py b/geos-mesh/src/geos/mesh/conversion/abaqus_converter.py similarity index 100% rename from geos-mesh-tools/src/geos/mesh/tools/abaqus_converter.py rename to geos-mesh/src/geos/mesh/conversion/abaqus_converter.py diff --git a/geos-mesh-tools/src/geos/mesh/tools/main.py b/geos-mesh/src/geos/mesh/conversion/main.py similarity index 100% rename from geos-mesh-tools/src/geos/mesh/tools/main.py rename to geos-mesh/src/geos/mesh/conversion/main.py diff --git a/geos-mesh-tools/src/geos/mesh/tools/py.typed b/geos-mesh/src/geos/mesh/conversion/py.typed similarity index 100% rename from geos-mesh-tools/src/geos/mesh/tools/py.typed rename to geos-mesh/src/geos/mesh/conversion/py.typed diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/__init__.py b/geos-mesh/src/geos/mesh/doctor/checks/__init__.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/__init__.py rename to geos-mesh/src/geos/mesh/doctor/checks/__init__.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/check_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/check_fractures.py rename to geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/collocated_nodes.py b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/collocated_nodes.py rename to geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/element_volumes.py b/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/element_volumes.py rename to geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/fix_elements_orderings.py b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/fix_elements_orderings.py rename to geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_cube.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_cube.py rename to geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_fractures.py rename to geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_global_ids.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/generate_global_ids.py rename to geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/non_conformal.py b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/non_conformal.py rename to geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/reorient_mesh.py b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/reorient_mesh.py rename to geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/self_intersecting_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/self_intersecting_elements.py rename to geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/supported_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/supported_elements.py rename to geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/triangle_distance.py b/geos-mesh/src/geos/mesh/doctor/checks/triangle_distance.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/triangle_distance.py rename to geos-mesh/src/geos/mesh/doctor/checks/triangle_distance.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_polyhedron.py b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_polyhedron.py rename to geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_utils.py b/geos-mesh/src/geos/mesh/doctor/checks/vtk_utils.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/checks/vtk_utils.py rename to geos-mesh/src/geos/mesh/doctor/checks/vtk_utils.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py b/geos-mesh/src/geos/mesh/doctor/mesh_doctor.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/mesh_doctor.py rename to geos-mesh/src/geos/mesh/doctor/mesh_doctor.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/__init__.py b/geos-mesh/src/geos/mesh/doctor/parsing/__init__.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/__init__.py rename to geos-mesh/src/geos/mesh/doctor/parsing/__init__.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/check_fractures_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/check_fractures_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/check_fractures_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/check_fractures_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/cli_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/cli_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/cli_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/cli_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/collocated_nodes_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/element_volumes_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/element_volumes_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/element_volumes_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/fix_elements_orderings_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/generate_cube_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_cube_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/generate_cube_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/generate_global_ids_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/non_conformal_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/non_conformal_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/non_conformal_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/self_intersecting_elements_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/supported_elements_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/supported_elements_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/supported_elements_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/parsing/vtk_output_parsing.py rename to geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py diff --git a/geos-mesh-doctor/src/geos/mesh/doctor/register.py b/geos-mesh/src/geos/mesh/doctor/register.py similarity index 100% rename from geos-mesh-doctor/src/geos/mesh/doctor/register.py rename to geos-mesh/src/geos/mesh/doctor/register.py diff --git a/geos-mesh-doctor/tests/test_cli_parsing.py b/geos-mesh/tests/test_cli_parsing.py similarity index 100% rename from geos-mesh-doctor/tests/test_cli_parsing.py rename to geos-mesh/tests/test_cli_parsing.py diff --git a/geos-mesh-doctor/tests/test_collocated_nodes.py b/geos-mesh/tests/test_collocated_nodes.py similarity index 100% rename from geos-mesh-doctor/tests/test_collocated_nodes.py rename to geos-mesh/tests/test_collocated_nodes.py diff --git a/geos-mesh-doctor/tests/test_element_volumes.py b/geos-mesh/tests/test_element_volumes.py similarity index 100% rename from geos-mesh-doctor/tests/test_element_volumes.py rename to geos-mesh/tests/test_element_volumes.py diff --git a/geos-mesh-doctor/tests/test_generate_cube.py b/geos-mesh/tests/test_generate_cube.py similarity index 100% rename from geos-mesh-doctor/tests/test_generate_cube.py rename to geos-mesh/tests/test_generate_cube.py diff --git a/geos-mesh-doctor/tests/test_generate_fractures.py b/geos-mesh/tests/test_generate_fractures.py similarity index 100% rename from geos-mesh-doctor/tests/test_generate_fractures.py rename to geos-mesh/tests/test_generate_fractures.py diff --git a/geos-mesh-doctor/tests/test_generate_global_ids.py b/geos-mesh/tests/test_generate_global_ids.py similarity index 100% rename from geos-mesh-doctor/tests/test_generate_global_ids.py rename to geos-mesh/tests/test_generate_global_ids.py diff --git a/geos-mesh-doctor/tests/test_non_conformal.py b/geos-mesh/tests/test_non_conformal.py similarity index 100% rename from geos-mesh-doctor/tests/test_non_conformal.py rename to geos-mesh/tests/test_non_conformal.py diff --git a/geos-mesh-doctor/tests/test_reorient_mesh.py b/geos-mesh/tests/test_reorient_mesh.py similarity index 100% rename from geos-mesh-doctor/tests/test_reorient_mesh.py rename to geos-mesh/tests/test_reorient_mesh.py diff --git a/geos-mesh-doctor/tests/test_self_intersecting_elements.py b/geos-mesh/tests/test_self_intersecting_elements.py similarity index 100% rename from geos-mesh-doctor/tests/test_self_intersecting_elements.py rename to geos-mesh/tests/test_self_intersecting_elements.py diff --git a/geos-mesh-doctor/tests/test_supported_elements.py b/geos-mesh/tests/test_supported_elements.py similarity index 100% rename from geos-mesh-doctor/tests/test_supported_elements.py rename to geos-mesh/tests/test_supported_elements.py diff --git a/geos-mesh-doctor/tests/test_triangle_distance.py b/geos-mesh/tests/test_triangle_distance.py similarity index 100% rename from geos-mesh-doctor/tests/test_triangle_distance.py rename to geos-mesh/tests/test_triangle_distance.py diff --git a/geos-timehistory/src/geos/timehistory/plot.py b/geos-timehistory/src/geos/timehistory/plot.py index 0522793a..422d2847 100644 --- a/geos-timehistory/src/geos/timehistory/plot.py +++ b/geos-timehistory/src/geos/timehistory/plot.py @@ -1,5 +1,5 @@ import numpy as np -from geos.hdf5wrapper import wrapper as h5w +from geos.hdf5_wrapper import wrapper as h5w import matplotlib as mpl import matplotlib.pyplot as plt import os @@ -22,7 +22,7 @@ def getHistorySeries( database, variable, setname, indices=None, components=None Retrieve a series of time history structures suitable for plotting in addition to the specific set index and component for the time series Args: - database (geos.hdf5wrapper.hdf5_wrapper): database to retrieve time history data from + database (geos.hdf5_wrapper.hdf5_wrapper): database to retrieve time history data from variable (str): the name of the time history variable for which to retrieve time-series data setname (str): the name of the index set as specified in the geosx input xml for which to query time-series data indices (int, list): the indices in the named set to query for, if None, defaults to all diff --git a/geos-xml-tools/pyproject.toml b/geos-xml-tools/pyproject.toml index 37632714..33275bef 100644 --- a/geos-xml-tools/pyproject.toml +++ b/geos-xml-tools/pyproject.toml @@ -20,11 +20,11 @@ dependencies = [ ] [project.scripts] - preprocess_xml = "geos.xml.tools.main:preprocess_serial" - format_xml = "geos.xml.tools.xml_formatter:main" - test_geosx_xml_tools = "geos.xml.tools.tests.test_manager:main" - check_xml_attribute_coverage = "geos.xml.tools.attribute_coverage:main" - check_xml_redundancy = "geos.xml.tools.xml_redundancy_check:main" + preprocess_xml = "geos.xml_tools.main:preprocess_serial" + format_xml = "geos.xml_tools.xml_formatter:main" + test_geosx_xml_tools = "geos.xml_tools.tests.test_manager:main" + check_xml_attribute_coverage = "geos.xml_tools.attribute_coverage:main" + check_xml_redundancy = "geos.xml_tools.xml_redundancy_check:main" [tool.mypy] python_version = "3.8" diff --git a/geos-xml-tools/src/geos/xml/tools/__init__.py b/geos-xml-tools/src/geos/xml_tools/__init__.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/__init__.py rename to geos-xml-tools/src/geos/xml_tools/__init__.py diff --git a/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py b/geos-xml-tools/src/geos/xml_tools/attribute_coverage.py similarity index 99% rename from geos-xml-tools/src/geos/xml/tools/attribute_coverage.py rename to geos-xml-tools/src/geos/xml_tools/attribute_coverage.py index bf826078..806cf68e 100644 --- a/geos-xml-tools/src/geos/xml/tools/attribute_coverage.py +++ b/geos-xml-tools/src/geos/xml_tools/attribute_coverage.py @@ -2,7 +2,7 @@ import os from pathlib import Path from typing import Any, Iterable, Dict -from geos.xml.tools import command_line_parsers +from geos.xml_tools import command_line_parsers record_type = Dict[ str, Dict[ str, Any ] ] diff --git a/geos-xml-tools/src/geos/xml/tools/command_line_parsers.py b/geos-xml-tools/src/geos/xml_tools/command_line_parsers.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/command_line_parsers.py rename to geos-xml-tools/src/geos/xml_tools/command_line_parsers.py diff --git a/geos-xml-tools/src/geos/xml/tools/main.py b/geos-xml-tools/src/geos/xml_tools/main.py similarity index 98% rename from geos-xml-tools/src/geos/xml/tools/main.py rename to geos-xml-tools/src/geos/xml_tools/main.py index 51e79536..a5cef1bd 100644 --- a/geos-xml-tools/src/geos/xml/tools/main.py +++ b/geos-xml-tools/src/geos/xml_tools/main.py @@ -4,7 +4,7 @@ import argparse import os import time -from geos.xml.tools import xml_processor, command_line_parsers +from geos.xml_tools import xml_processor, command_line_parsers from typing import Callable, Any, Union, Tuple, Iterable diff --git a/geos-xml-tools/src/geos/xml/tools/py.typed b/geos-xml-tools/src/geos/xml_tools/py.typed similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/py.typed rename to geos-xml-tools/src/geos/xml_tools/py.typed diff --git a/geos-xml-tools/src/geos/xml/tools/regex_tools.py b/geos-xml-tools/src/geos/xml_tools/regex_tools.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/regex_tools.py rename to geos-xml-tools/src/geos/xml_tools/regex_tools.py diff --git a/geos-xml-tools/src/geos/xml/tools/table_generator.py b/geos-xml-tools/src/geos/xml_tools/table_generator.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/table_generator.py rename to geos-xml-tools/src/geos/xml_tools/table_generator.py diff --git a/geos-xml-tools/src/geos/xml/tools/tests/__init__.py b/geos-xml-tools/src/geos/xml_tools/tests/__init__.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/tests/__init__.py rename to geos-xml-tools/src/geos/xml_tools/tests/__init__.py diff --git a/geos-xml-tools/src/geos/xml/tools/tests/generate_test_xml.py b/geos-xml-tools/src/geos/xml_tools/tests/generate_test_xml.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/tests/generate_test_xml.py rename to geos-xml-tools/src/geos/xml_tools/tests/generate_test_xml.py diff --git a/geos-xml-tools/src/geos/xml/tools/tests/test_manager.py b/geos-xml-tools/src/geos/xml_tools/tests/test_manager.py similarity index 100% rename from geos-xml-tools/src/geos/xml/tools/tests/test_manager.py rename to geos-xml-tools/src/geos/xml_tools/tests/test_manager.py diff --git a/geos-xml-tools/src/geos/xml/tools/unit_manager.py b/geos-xml-tools/src/geos/xml_tools/unit_manager.py similarity index 99% rename from geos-xml-tools/src/geos/xml/tools/unit_manager.py rename to geos-xml-tools/src/geos/xml_tools/unit_manager.py index 48d8d414..228c505e 100644 --- a/geos-xml-tools/src/geos/xml/tools/unit_manager.py +++ b/geos-xml-tools/src/geos/xml_tools/unit_manager.py @@ -1,7 +1,7 @@ """Tools for managing units in GEOSX""" import re -from geos.xml.tools import regex_tools +from geos.xml_tools import regex_tools from typing import List, Any, Dict, Union diff --git a/geos-xml-tools/src/geos/xml/tools/xml_formatter.py b/geos-xml-tools/src/geos/xml_tools/xml_formatter.py similarity index 99% rename from geos-xml-tools/src/geos/xml/tools/xml_formatter.py rename to geos-xml-tools/src/geos/xml_tools/xml_formatter.py index 0363db74..8edfa1e3 100644 --- a/geos-xml-tools/src/geos/xml/tools/xml_formatter.py +++ b/geos-xml-tools/src/geos/xml_tools/xml_formatter.py @@ -2,7 +2,7 @@ from lxml import etree as ElementTree # type: ignore[import] import re from typing import List, Any, TextIO -from geos.xml.tools import command_line_parsers +from geos.xml_tools import command_line_parsers def format_attribute( attribute_indent: str, ka: str, attribute_value: str ) -> str: diff --git a/geos-xml-tools/src/geos/xml/tools/xml_processor.py b/geos-xml-tools/src/geos/xml_tools/xml_processor.py similarity index 99% rename from geos-xml-tools/src/geos/xml/tools/xml_processor.py rename to geos-xml-tools/src/geos/xml_tools/xml_processor.py index 9d71d950..9795c4b5 100644 --- a/geos-xml-tools/src/geos/xml/tools/xml_processor.py +++ b/geos-xml-tools/src/geos/xml_tools/xml_processor.py @@ -4,8 +4,8 @@ from lxml.etree import XMLSyntaxError # type: ignore[import] import re import os -from geos.xml.tools import regex_tools, unit_manager -from geos.xml.tools import xml_formatter +from geos.xml_tools import regex_tools, unit_manager +from geos.xml_tools import xml_formatter from typing import Iterable, Tuple, List # Create an instance of the unit, parameter regex handlers diff --git a/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py b/geos-xml-tools/src/geos/xml_tools/xml_redundancy_check.py similarity index 94% rename from geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py rename to geos-xml-tools/src/geos/xml_tools/xml_redundancy_check.py index b328a021..b8141157 100644 --- a/geos-xml-tools/src/geos/xml/tools/xml_redundancy_check.py +++ b/geos-xml-tools/src/geos/xml_tools/xml_redundancy_check.py @@ -1,9 +1,9 @@ -from geos.xml.tools.attribute_coverage import parse_schema -from geos.xml.tools.xml_formatter import format_file +from geos.xml_tools.attribute_coverage import parse_schema +from geos.xml_tools.xml_formatter import format_file from lxml import etree as ElementTree # type: ignore[import] import os from pathlib import Path -from geos.xml.tools import command_line_parsers +from geos.xml_tools import command_line_parsers from typing import Iterable, Dict, Any diff --git a/hdf5-wrapper/pyproject.toml b/hdf5-wrapper/pyproject.toml index f619593f..09300ffb 100644 --- a/hdf5-wrapper/pyproject.toml +++ b/hdf5-wrapper/pyproject.toml @@ -19,7 +19,7 @@ dependencies = [ ] [project.scripts] - hdf5_wrapper_tests = "geos.hdf5wrapper.wrapper_tests:main" + hdf5_wrapper_tests = "geos.hdf5_wrapper.wrapper_tests:main" [tool.mypy] python_version = "3.8" diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/__init__.py b/hdf5-wrapper/src/geos/hdf5_wrapper/__init__.py similarity index 100% rename from hdf5-wrapper/src/geos/hdf5wrapper/__init__.py rename to hdf5-wrapper/src/geos/hdf5_wrapper/__init__.py diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/py.typed b/hdf5-wrapper/src/geos/hdf5_wrapper/py.typed similarity index 100% rename from hdf5-wrapper/src/geos/hdf5wrapper/py.typed rename to hdf5-wrapper/src/geos/hdf5_wrapper/py.typed diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py b/hdf5-wrapper/src/geos/hdf5_wrapper/use_example.py similarity index 98% rename from hdf5-wrapper/src/geos/hdf5wrapper/use_example.py rename to hdf5-wrapper/src/geos/hdf5_wrapper/use_example.py index bfb354ee..35425458 100644 --- a/hdf5-wrapper/src/geos/hdf5wrapper/use_example.py +++ b/hdf5-wrapper/src/geos/hdf5_wrapper/use_example.py @@ -1,5 +1,5 @@ import numpy as np -from geos.hdf5wrapper import hdf5_wrapper +from geos.hdf5_wrapper import hdf5_wrapper from typing import Union, Dict diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/wrapper.py b/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper.py similarity index 100% rename from hdf5-wrapper/src/geos/hdf5wrapper/wrapper.py rename to hdf5-wrapper/src/geos/hdf5_wrapper/wrapper.py diff --git a/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py b/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py similarity index 96% rename from hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py rename to hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py index 4df29be3..88570499 100644 --- a/hdf5-wrapper/src/geos/hdf5wrapper/wrapper_tests.py +++ b/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py @@ -4,7 +4,7 @@ import numpy as np import random import string -from geos.hdf5wrapper import hdf5_wrapper +from geos.hdf5_wrapper import hdf5_wrapper def random_string( N ): @@ -30,7 +30,7 @@ def build_test_dict( depth=0, max_depth=3 ): # Test the unit manager definitions -class TestHDF5Wrapper( unittest.TestCase ): +class Testhdf5_wrapper( unittest.TestCase ): @classmethod def setUpClass( cls ): @@ -116,7 +116,7 @@ def main(): args = parser.parse_args() # Unit manager tests - suite = unittest.TestLoader().loadTestsFromTestCase( TestHDF5Wrapper ) + suite = unittest.TestLoader().loadTestsFromTestCase( Testhdf5_wrapper ) unittest.TextTestRunner( verbosity=args.verbose ).run( suite ) diff --git a/pygeos-tools/src/pygeos/tools/__init__.py b/pygeos-tools/src/pygeos_tools/__init__.py similarity index 100% rename from pygeos-tools/src/pygeos/tools/__init__.py rename to pygeos-tools/src/pygeos_tools/__init__.py diff --git a/pygeos-tools/src/pygeos/tools/file_io.py b/pygeos-tools/src/pygeos_tools/file_io.py similarity index 100% rename from pygeos-tools/src/pygeos/tools/file_io.py rename to pygeos-tools/src/pygeos_tools/file_io.py diff --git a/pygeos-tools/src/pygeos/tools/mesh_interpolation.py b/pygeos-tools/src/pygeos_tools/mesh_interpolation.py similarity index 100% rename from pygeos-tools/src/pygeos/tools/mesh_interpolation.py rename to pygeos-tools/src/pygeos_tools/mesh_interpolation.py diff --git a/pygeos-tools/src/pygeos/tools/py.typed b/pygeos-tools/src/pygeos_tools/py.typed similarity index 100% rename from pygeos-tools/src/pygeos/tools/py.typed rename to pygeos-tools/src/pygeos_tools/py.typed diff --git a/pygeos-tools/src/pygeos/tools/well_log.py b/pygeos-tools/src/pygeos_tools/well_log.py similarity index 100% rename from pygeos-tools/src/pygeos/tools/well_log.py rename to pygeos-tools/src/pygeos_tools/well_log.py diff --git a/pygeos-tools/src/pygeos/tools/wrapper.py b/pygeos-tools/src/pygeos_tools/wrapper.py similarity index 100% rename from pygeos-tools/src/pygeos/tools/wrapper.py rename to pygeos-tools/src/pygeos_tools/wrapper.py From f42295b78af2e276d8c473dcbdb575b0343d140f Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Wed, 5 Jun 2024 16:56:57 -0700 Subject: [PATCH 32/34] Fixing documentation issues, moving pygeos_tools files --- docs/conf.py | 2 +- docs/{geos-mesh-doctor.rst => geos-mesh.rst} | 22 +++++++++---------- docs/index.rst | 2 +- docs/pygeos-tools.rst | 8 +++---- geos-mesh/pyproject.toml | 2 +- .../src/geos/timehistory/__init__.py | 2 +- .../{plot.py => plot_time_history.py} | 0 pygeos-tools/pyproject.toml | 2 +- .../src/{ => geos}/pygeos_tools/__init__.py | 0 .../src/{ => geos}/pygeos_tools/file_io.py | 0 .../pygeos_tools/mesh_interpolation.py | 0 .../src/{ => geos}/pygeos_tools/py.typed | 0 .../src/{ => geos}/pygeos_tools/well_log.py | 0 .../src/{ => geos}/pygeos_tools/wrapper.py | 0 14 files changed, 20 insertions(+), 20 deletions(-) rename docs/{geos-mesh-doctor.rst => geos-mesh.rst} (90%) rename geos-timehistory/src/geos/timehistory/{plot.py => plot_time_history.py} (100%) rename pygeos-tools/src/{ => geos}/pygeos_tools/__init__.py (100%) rename pygeos-tools/src/{ => geos}/pygeos_tools/file_io.py (100%) rename pygeos-tools/src/{ => geos}/pygeos_tools/mesh_interpolation.py (100%) rename pygeos-tools/src/{ => geos}/pygeos_tools/py.typed (100%) rename pygeos-tools/src/{ => geos}/pygeos_tools/well_log.py (100%) rename pygeos-tools/src/{ => geos}/pygeos_tools/wrapper.py (100%) diff --git a/docs/conf.py b/docs/conf.py index b170db4e..dd65028a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ # Add python modules to be documented python_root = '..' -python_modules = ( 'geos-mesh-tools', 'geos-xml-tools', 'geos-mesh-doctor', 'geos-ats', +python_modules = ( 'geos-xml-tools', 'geos-mesh', 'geos-ats', 'hdf5-wrapper', 'pygeos-tools', 'geos-timehistory' ) for m in python_modules: sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m, 'src' ) ) ) diff --git a/docs/geos-mesh-doctor.rst b/docs/geos-mesh.rst similarity index 90% rename from docs/geos-mesh-doctor.rst rename to docs/geos-mesh.rst index 39198128..8582f106 100644 --- a/docs/geos-mesh-doctor.rst +++ b/docs/geos-mesh.rst @@ -15,13 +15,13 @@ Modules To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py --help :cwd: ../geos-mesh Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. For example -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py collocated_nodes --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py collocated_nodes --help :cwd: ../geos-mesh ``mesh-doctor`` loads its module dynamically. @@ -44,7 +44,7 @@ Here is a list and brief description of all the modules available. Displays the neighboring nodes that are closer to each other than a prescribed threshold. It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py collocated_nodes --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py collocated_nodes --help :cwd: ../geos-mesh ``element_volumes`` @@ -53,7 +53,7 @@ It is not uncommon to define multiple nodes for the exact same position, which w Computes the volumes of all the cells and displays the ones that are below a prescribed threshold. Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py element_volumes --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py element_volumes --help :cwd: ../geos-mesh ``fix_elements_orderings`` @@ -63,7 +63,7 @@ It sometimes happens that an exported mesh does not abide by the ``vtk`` orderin The ``fix_elements_orderings`` module can rearrange the nodes of given types of elements. This can be convenient if you cannot regenerate the mesh. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py fix_elements_orderings --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py fix_elements_orderings --help :cwd: ../geos-mesh ``generate_cube`` @@ -73,7 +73,7 @@ This module conveniently generates cubic meshes in ``vtk``. It can also generate fields with simple values. This tool can also be useful to generate a trial mesh that will later be refined or customized. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_cube --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py generate_cube --help :cwd: ../geos-mesh ``generate_fractures`` @@ -82,7 +82,7 @@ This tool can also be useful to generate a trial mesh that will later be refined For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to be split at the faces where the fracture gets across the mesh. The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_fractures --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py generate_fractures --help :cwd: ../geos-mesh ``generate_global_ids`` @@ -91,7 +91,7 @@ The ``generate_fractures`` module will split the mesh and generate the multi-blo When running ``geos`` in parallel, `global ids` can be used to refer to data across multiple ranks. The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py generate_global_ids --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py generate_global_ids --help :cwd: ../geos-mesh ``non_conformal`` @@ -102,7 +102,7 @@ This module will detect elements which are close enough (there's a user defined The angle between two faces can also be precribed. This module can be a bit time consuming. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py non_conformal --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py non_conformal --help :cwd: ../geos-mesh ``self_intersecting_elements`` @@ -111,7 +111,7 @@ This module can be a bit time consuming. Some meshes can have cells that auto-intersect. This module will display the elements that have faces intersecting. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py self_intersecting_elements --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py self_intersecting_elements --help :cwd: ../geos-mesh ``supported_elements`` @@ -125,7 +125,7 @@ But also prismes up to 11 faces. The ``supported_elements`` check will validate that no unsupported element is included in the input mesh. It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. -.. command-output:: python src/geos/mesh/doctor/mesh-doctor.py supported_elements --help +.. command-output:: python src/geos/mesh/doctor/mesh_doctor.py supported_elements --help :cwd: ../geos-mesh diff --git a/docs/index.rst b/docs/index.rst index e4fdbd41..4a56ec79 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -84,6 +84,6 @@ Packages geos-xml-tools - pygeosx_tools + pygeos-tools geos-timehistory diff --git a/docs/pygeos-tools.rst b/docs/pygeos-tools.rst index fc9e1403..b3484f38 100644 --- a/docs/pygeos-tools.rst +++ b/docs/pygeos-tools.rst @@ -10,15 +10,15 @@ Examples using these tools can be found here: `PYGEOSX Examples =42", "wheel"] build-backend = "setuptools.build_meta" [project] -name = "geos-mesh-doctor" +name = "geos-mesh" version = "0.0.1" description = "GEOS mesh tools" authors = [{name = "GEOS Contributors" }] diff --git a/geos-timehistory/src/geos/timehistory/__init__.py b/geos-timehistory/src/geos/timehistory/__init__.py index 6212552c..b288976b 100644 --- a/geos-timehistory/src/geos/timehistory/__init__.py +++ b/geos-timehistory/src/geos/timehistory/__init__.py @@ -1 +1 @@ -from .plot import getHistorySeries +from .plot_time_history import getHistorySeries diff --git a/geos-timehistory/src/geos/timehistory/plot.py b/geos-timehistory/src/geos/timehistory/plot_time_history.py similarity index 100% rename from geos-timehistory/src/geos/timehistory/plot.py rename to geos-timehistory/src/geos/timehistory/plot_time_history.py diff --git a/pygeos-tools/pyproject.toml b/pygeos-tools/pyproject.toml index d03ff23d..2a6f5dec 100644 --- a/pygeos-tools/pyproject.toml +++ b/pygeos-tools/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" [project] -name = "pygeosx-tools" +name = "pygeos-tools" version = "0.1.0" description = "Tools for interacting with pygeosx" maintainers = [ diff --git a/pygeos-tools/src/pygeos_tools/__init__.py b/pygeos-tools/src/geos/pygeos_tools/__init__.py similarity index 100% rename from pygeos-tools/src/pygeos_tools/__init__.py rename to pygeos-tools/src/geos/pygeos_tools/__init__.py diff --git a/pygeos-tools/src/pygeos_tools/file_io.py b/pygeos-tools/src/geos/pygeos_tools/file_io.py similarity index 100% rename from pygeos-tools/src/pygeos_tools/file_io.py rename to pygeos-tools/src/geos/pygeos_tools/file_io.py diff --git a/pygeos-tools/src/pygeos_tools/mesh_interpolation.py b/pygeos-tools/src/geos/pygeos_tools/mesh_interpolation.py similarity index 100% rename from pygeos-tools/src/pygeos_tools/mesh_interpolation.py rename to pygeos-tools/src/geos/pygeos_tools/mesh_interpolation.py diff --git a/pygeos-tools/src/pygeos_tools/py.typed b/pygeos-tools/src/geos/pygeos_tools/py.typed similarity index 100% rename from pygeos-tools/src/pygeos_tools/py.typed rename to pygeos-tools/src/geos/pygeos_tools/py.typed diff --git a/pygeos-tools/src/pygeos_tools/well_log.py b/pygeos-tools/src/geos/pygeos_tools/well_log.py similarity index 100% rename from pygeos-tools/src/pygeos_tools/well_log.py rename to pygeos-tools/src/geos/pygeos_tools/well_log.py diff --git a/pygeos-tools/src/pygeos_tools/wrapper.py b/pygeos-tools/src/geos/pygeos_tools/wrapper.py similarity index 100% rename from pygeos-tools/src/pygeos_tools/wrapper.py rename to pygeos-tools/src/geos/pygeos_tools/wrapper.py From 4db57344ae77e428982885d98bbea5b97e935000 Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Wed, 5 Jun 2024 16:57:38 -0700 Subject: [PATCH 33/34] Applying the formatter --- docs/conf.py | 3 +-- hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index dd65028a..ea094f75 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,8 +18,7 @@ # Add python modules to be documented python_root = '..' -python_modules = ( 'geos-xml-tools', 'geos-mesh', 'geos-ats', - 'hdf5-wrapper', 'pygeos-tools', 'geos-timehistory' ) +python_modules = ( 'geos-xml-tools', 'geos-mesh', 'geos-ats', 'hdf5-wrapper', 'pygeos-tools', 'geos-timehistory' ) for m in python_modules: sys.path.insert( 0, os.path.abspath( os.path.join( python_root, m, 'src' ) ) ) diff --git a/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py b/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py index 88570499..0382759b 100644 --- a/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py +++ b/hdf5-wrapper/src/geos/hdf5_wrapper/wrapper_tests.py @@ -52,8 +52,8 @@ def compare_wrapper_dict( self, x, y ): vx, vy = x[ k ], y[ k ] tx, ty = type( vx ), type( vy ) - if ( ( tx != ty ) and not ( isinstance( vx, ( dict, hdf5_wrapper ) ) - and isinstance( vy, ( dict, hdf5_wrapper ) ) ) ): + if ( ( tx != ty ) + and not ( isinstance( vx, ( dict, hdf5_wrapper ) ) and isinstance( vy, ( dict, hdf5_wrapper ) ) ) ): self.assertTrue( np.issubdtype( tx, ty ) ) if isinstance( vx, ( dict, hdf5_wrapper ) ): From d59b694514157a6d678d36554c1ac2a7cae7ad09 Mon Sep 17 00:00:00 2001 From: Christopher Sherman Date: Wed, 5 Jun 2024 17:02:51 -0700 Subject: [PATCH 34/34] Fixing geos-mesh name in testing script --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 3fd61d12..ac015f3e 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -16,7 +16,7 @@ jobs: max-parallel: 3 matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] - package-name: ["geos-ats", "geos-mesh-doctor", "geos-mesh-tools", "geos-timehistory", "geos-xml-tools", "hdf5-wrapper", "pygeos-tools"] + package-name: ["geos-ats", "geos-mesh", "geos-timehistory", "geos-xml-tools", "hdf5-wrapper", "pygeos-tools"] steps: - uses: actions/checkout@v3