-
Notifications
You must be signed in to change notification settings - Fork 12
Merge submodules as subtrees #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Purpose
Apply regions in divergence damping to simplify the code.
Code changes:
Remove all the edge/corner handling stencils in divergence_damping and replace them with regions statements in their respective main stencils.
Bumps [external/fv3gfs-fortran](https://github.com/VulcanClimateModeling/fv3gfs-fortran) from `d187bcd` to `baa6cfe`. - [Release notes](https://github.com/VulcanClimateModeling/fv3gfs-fortran/releases) - [Commits](ai2cm/fv3gfs-fortran@d187bcd...baa6cfe) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This PR combines the set_k0 and calc_wk stencils to eliminate a 2D stencil call and reduce call counts overall
Purpose A small change in the last update to divergence damping results in d_sw not validating on rank 3 for the c48_6ranks_standard dataset. It has been verified this difference comes from directly computing divg_d in corners (in redo_divgd) with the correct equation, rather than subtracting the extra term from the main domain equation. This did not cause the DivergenceDamping tests to fail, but got caught in D_SW. Updating the thresholds to the requirement for c48_ranks to pass. Code changes: D_SW default threshold increased in divergence damping replaced a couple of lines computing min and max using terniary statements with min/max (this has no impact on the validation) picking up linting from some recent commits
## Purpose We're planning to refactor all initialization routines to take in minimal data, organized into neat objects to reduce arguments. As a first step, we plan to pass all data explicitly to pass minimal data, so that we can reason about what data is used where and package this configuration into objects. Grid indexing is used throughout the repository in almost every class, so this PR defines a GridIndexing class to reduce the rather large number of arguments which would need to be passed for this down to one object. The PR starts the refactoring process off with xppm, yppm, and fvtp2d. ## Code changes: - Introduced GridIndexing class which provides grid indexing functionality from the existing Grid class. - Refactored XPiecewiseParabolic, YPiecewiseParabolic, and FiniteVolumeTransport to use new GridIndexing class instead of the old Grid class, and remove all references to global state, taking in only the required information as init arguments instead ## Requirements changes: - typing_extensions is added to requirements.txt and setup.py to provide the `Literal` type hint. ## Infrastructure changes: - Added documentation to README on how to run pytest with `--pdb` in docker
Purpose To enable easily running the jenkins tests as a dev on Piz Daint with just slave=daint .jenkins/jenkins.sh run_regression_tests numpy c12_6ranks_standard Code changes: - .jenkins/jenkins.sh: changed default VIRTUALENV if not set to a local directory path installs the VIRTUALENV if it doesn't exist yet and running in virtualenv mode changed default JENKINS_TAG using the constant DATA_VERSION rather than FORTRAN_VERSION to match the standalone convention default TEST_DATA_DIR is the /project location so you shouldn't have to wait to download data when you decide to run manually the module load of gcloud is updated to the one that works now, in case you want to download a different dataset. removed setup jenkins action, instead the plan calls the install script directly. - Makefile: has separate options for updating submodules for the venv vs docker pip installs of fv3core both with jenkins and in the standalone are editable so it's easier to discover the impact of changes to code. - standalone cleans up the cache files and virtualenv on job failures only if running through jenkins (e.g. the BUILD_TAG environment variable is set).
* Add make constraints.txt target Clean up requirements.txt to not have no overlap with setup.py Generated constraints.txt and commit Update all `pip install` command * Remove git+https * Clean up of constraints.txt * Clean constraint.txt * h5py from h5netcdf * Narrows dask requirements * Trim requirements.txt Fix forbidden [toml] insert * Pin dask for py-3.6 * Pin gt4py numpy version * Verbosing pinning * cupy9.1 requries numpy >=1.17 * Update docs/installation.rst Co-authored-by: Jeremy McGibbon <[email protected]> * Change numpy pins to match gt4py reqs Remove twine and watchdog from reqs * Add requirements_gpu.txt for GPU capabilities dependencies * Update requirements_gpu.txt Co-authored-by: Jeremy McGibbon <[email protected]> * Verbose makefile sed, fix pip command doc in gen'ed constraints.tx * Merge remote-tracking branch 'origin/feature/constraints.txt' Co-authored-by: Jeremy McGibbon <[email protected]>
This PR reduces the number of stencils called by c_sw by combining stencils with the same origins and domains. Code changes: c_sw.py: combined transportdelp and update_vorticity_and_kinetic_energy into one stencil to reduce overhead translate_c_sw.py: removed separate tests for transportdelp and update_vorticity_and_kinetic_energy as they are no longer separate stencils tests/translate/init.py: removed c_sw tests for transportdelp and update_vorticity_and_kinetic_energy since they no longer exist in the translate classes remap_profile.py: added a TODO about future stencil combinations when possible
* Update tox.ini to respect constraints.txt * Pin mypy, flak8 and black to previous versions * Make sure `pip` install is constrained
Purpose The copy_j_adjacent stencil breaks the gtc backends and is a small (and 2D) stencil to have to call separately. This gets rid of it and pulls that functionality into update_ua Code changes: remapping.py: removes the copy_j_adjacent stencil. Instead this uses a region in update_ua to correctly assign values to ua, though we could also use a region in moist_cv_pt_pressure to set pe2 at je+1
Bumps [external/fv3gfs-util](https://github.com/VulcanClimateModeling/fv3gfs-util) from `901f505` to `50278e0`. - [Release notes](https://github.com/VulcanClimateModeling/fv3gfs-util/releases) - [Commits](ai2cm/fv3gfs-util@901f505...50278e0) --- updated-dependencies: - dependency-name: external/fv3gfs-util dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Purpose Currently, all non-translate tests run every time the translate tests are run, even when only a specific translate class is targeted by command-line options. The non-translate tests also require serialbox and can only be run in an environment with test data, after spending time loading that data to process savepoints. This PR separates "savepoint" tests into their own make target and test directory, and python-only tests into a separate make target and test directory, allowing the tests to be run independently. To keep the makefile simple when doubling the number of test types, this PR also unifies "dev" and "venv" make targets into a single set of make targets. "dev" is accomplished by setting `DEV=y` from the command line, while "venv" is equivalent to `CONTAINER_CMD=""`. ## Infrastructure changes: - Previous make targets "tests" and "tests_mpi" are now "savepoint_tests" and "savepoint_tests_mpi" - Make targets "tests" and "test" now run python-only tests, under `tests/main` - "dev" targets are now run using `DEV=y` on the corresponding test make target - "venv" targets are now run using `CONTAINER_CMD=""` on the corresponding test make target - jenkins output file mounts have been moved to the bash script which specifies the pytest xml output argument that causes files to write to the mounted directory - BASH_PREFIX make variable is removed, instead using CONTAINER_CMD in the one place it was previously used - tests_base and tests_base_parallel are now unified into one make target, differing by the `PYTEST_CMD` value used
Bumps [external/fv3gfs-fortran](https://github.com/VulcanClimateModeling/fv3gfs-fortran) from `baa6cfe` to `1bddc2a`. - [Release notes](https://github.com/VulcanClimateModeling/fv3gfs-fortran/releases) - [Commits](ai2cm/fv3gfs-fortran@baa6cfe...1bddc2a) --- updated-dependencies: - dependency-name: external/fv3gfs-fortran dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Purpose Currently we use "add" arguments to get origin, domain, and shape values. This PR provides an interface on GridIndexing that allows us to get these values using the dimensionality of the data (i.e. the staggering information) and the number of halos required, which is clearer to understand. ## Code changes: - Added get_origin_domain and get_shape to GridIndexing class - Removed `origin` from GridIndexing init, since it can be derived from `n_halo`
* Synchronize upfront of all halo exchange Allows for accurate calculation of halo exchange times at the cost of one extra API call. Obsolote when going to streaming. * Make device_synchronize take no parameters Make _synchronize to a static _device_synchronize * typo * Update fv3gfs/util/communicator.py Co-authored-by: Jeremy McGibbon <[email protected]> Co-authored-by: Jeremy McGibbon <[email protected]>
* Check for getDeviceCount()>0 before calling CUDA runtime * Test a full device_sync call * Typo * Verbose
* Bump external/fv3gfs-util from `50278e0` to `cca0e0a` Bumps [external/fv3gfs-util](https://github.com/VulcanClimateModeling/fv3gfs-util) from `50278e0` to `cca0e0a`. - [Release notes](https://github.com/VulcanClimateModeling/fv3gfs-util/releases) - [Commits](ai2cm/fv3gfs-util@50278e0...cca0e0a) --- updated-dependencies: - dependency-name: external/fv3gfs-util dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Testing getDeviceCount()>0 * Test full device_sync attempt * Typo on CUDARuntimeError * Update to fv3gfs-util `master` Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Florian Deconinck <[email protected]>
* Mine nsys' sqlite DB Add nsys_mine script for FV3 Extract and adapt SQL queries from nsys Auto-convert to `qdrep` (if available) Plots & CSV export Halo ex precise timings (if available) * lint * Update markings w/ newer fv3gfs-util device sync strategy * PR code cleanup * Filter for None entry before getting name
* Default `fv3core` to NOT rebuild the caches (e.g. use the cache) * Verbose config
## Purpose Refactoring init routines of xtp_u and ytp_v to take in only arguments they use, to prepare for future init refactors. ## Code changes: - Refactored initialization signatures of xtp_u and ytp_v
## Purpose This PR refactors divergence_damping and a2b_ord4 to have inits that do not access global state, and take in only used values. I have not included tests for the new GridIndexing corner attributes because they seem to simple to require it. ## Code changes: - Refactored init routines of divergence_damping and a2b_ord4 to have inits that do not access global state, and take in only used values - Fixed a bug in GridIndexing ied, jed, iec, and jec attributes where their values were the end of the domain, and not the index of the last value in the domain - Added ne_corner, se_corner, nw_corner and sw_corner attributes to GridIndexing - `fv3core.decorators` is now imported automatically when `fv3core` is imported ## Infrastructure changes: - Fixed a bug in testing infrastructure where command-line arguments were not properly registered. - Added --print-domains argument for savepoint tests which causes the function name, origin, and domain to be printed whenever a FrozenStencil is created
This PR updates the external profiler to extract code and fields from a single stencil during a dycore run Remove the sections below which do not apply. Code changes: profiler/README.MD: updated to include new command-line argument, added a todo list profiler/external_profiler.py: added call_number argument to specify which compiled version to extract. profiler/tools/stencil_reproducer.py: field_serialization now searches all directories for the cached stencil call instead of looking in a specific directory. Also added return values to exit early if the pickled stencil data already exists. collect_stencil_candidate now takes a call_number argument to specify which version of the stencil to extract, and adds the mpi rank to the extracted stencil directory.
* add test that modifying a numpy storage modifies its view * make reformat
## Purpose This PR refactors DGrid2AGrid2CGridVectors to use no global state, expanding its init routine to take in all required variables explicitly.
This PR refactors FiniteVolumeFluxPrep to use no global state, expanding its init routine to take in all required variables explicitly.
This PR refactors delnflux.py to use no global state, expanding its init routines to take in all required variables explicitly.
Purpose A2B_Ord4 has regions that depend on computations in neighboring regions. This can be a race condition and also is not efficient. Previous attempts to inline these same one resulted in memory issues, but that was with a more aggressive refactor of A2B_Ord4 to reduce the stencil count. Here we do the minimal necessary to unblock testing fv3core with regions in GTC. It has been verified that this change does not slow does the code (https://jenkins.ginko.ch/job/fv3core-performance-test/573/backend=gtcuda,experiment=c128_6ranks_baroclinic,slave=daint_submit/artifact/2021-07-07-06-30-26.json) Code changes: a2b_ord4 has a light refactor to inline region calculations Infrastructure changes: Update the DEV=y setting with the Makefile to not docker build when that was set, as was intended with the previous dev_tests endpoint
Replace Frozen stencil with stencil factory
This PR adds new code to generate a gnomonic cubed-sphere grid at a given resolution, and calculates the metric terms for that grid. This will allow us to scale-up our simulations without having to serialize and deserialize Fortran grid data.
Code changes:
Makefile: Fortran serialized data version bumped to 7.2.6 to include grid date
fv3core/grid: New directory that contains code needed to layout the cubed-sphere grid and calculate its metric terms
fv3core/grid/eta.py: Contains routines needed to set up hybrid eta pressures for k-levels. Currently only the 79-level version is implemented
fv3core/grid/generation.py: Contains the MetricTerms class that serves as the api for the grid code. MetricTerms lays out the lat/lon a and d grids at init and calculates the metric terms describing the grid as properties when they are invoked.
fv3core/grid/geometry.py: Contains the code needed to calculate the metric terms generated by grid_utils_init in the Fortran code (e.g. unit vectors, sines and cosines of grid angles)
fv3core/grid/gnomonic.py: Code used to lay out the initial gnomonic cubed-sphere grid on one tile and calculate metric terms generated by grid_init in the Fortran code. Also contains utility functions such as lon_lat_to_xyz
fv3core/grid/mirror.py: Code to mirror the initial tile of the gnomonic grid on to the other 5 tiles.
fv3core/testing/parallel_translate.py: Added ParallelTranslareGrid class to test the grid code. Also added kaxis handling to the Parallel Translate class so it can correctly transpose data when the axes aren't as expected
fv3core/utils/corners.py: Added more corner filling functions for the a, b, c, and d grids, both for 2d fields and vectors, as needed for the grid code.
fv3core/utils/global_constants.py: added constants used in the grid code
fv3core/utils/grid.py: Added grid dimensions to the grid sizer
fv3core/utils/gt4py_utils.py: kslice_from_inputs takes a grid indexer instead of a grid as argument
tests/savepoint/test_translate.py: Failing tests will use save_netcdf to save the inputs, reference data, outputs, and errors for failing variables
tests/savepoint/conftest.py: Test failures will aggregate data for save_netcdf in test_translate as above
tests/savepoint/translate/translate_grid.py: Translate classes to test the validation of the grid code. Most are parallel tests that use the MetricTerms class to generate data, but GnomonicGrid and MirrorGrid test the layout of the initial grid sequentially
## Purpose Some output variables in FiniteVolumeFluxPrep were incorrectly indicated as inouts. This PR updates their intents in the docstring.
## Purpose Adds Split method to NullComm. Necessary to initialize CubedSphereCommunicators. ## Code changes: - Added Split method to NullComm
elynnwu
approved these changes
Nov 12, 2021
Collaborator
elynnwu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for getting the tests to pass!
FlorianDeconinck
added a commit
to gronerl/pace
that referenced
this pull request
Jul 24, 2023
* Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs
twicki
pushed a commit
to twicki/pace
that referenced
this pull request
Aug 22, 2025
…m#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]>
twicki
pushed a commit
to twicki/pace
that referenced
this pull request
Aug 22, 2025
* Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwidth Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustment threshold to const * Remove unused if leading to empty code block * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Add openmpi to the image * Fix unit tests (remove dxa, dya rely on halo ex) * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Deactivate relocatability test due to Python crash Logged as issue 16 * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> --------- Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Devops/GitHub actions on (ai2cm#15) * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Fix non-deterministic temporaries by using `zeros` everywhere instead of `empty` * Update dsl/pace/dsl/caches/codepath.py Co-authored-by: Oliver Elbert <[email protected]> * Refactor the test to go around so reload bug --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]>
twicki
pushed a commit
to twicki/pace
that referenced
this pull request
Aug 22, 2025
* Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * lint * More linting * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings Lint * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" This reverts commit 4fc5b4d. * Revert "Remove previous per stencil override of default_build_folder" This reverts commit 2245027. * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Remove debug code * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Verbose todo * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Missing enum * Lint imports * Fix unit tests * Deactivate relocability test due to Python crash Logged as issyue 16 * Typo * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * added build script for c5 * updated repo to NOAA * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> --------- Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Lint --------- Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Update gt4py, dace, cleanup (ai2cm#19) * Update gt4py to top of master on June 21 * Update DaCe to 0.14.2 Workaround aliasing issue in FiniteVolumeTransport * Fix to gt4py storage * Downgrade to dace 0.14.1 * DaCe to 0.14.4 Orchestrating NonHydrostaticPressureGradient Adptating code to newer gt4py * Regenerate constraints.txt * Default constants to GFS Fix snapshot for GPU runs Lint on ETA Fix log level * Remove `daint_venv` submodule * Adding dace as a submodule Removing buildenv as a submodule * Update gt4py to latest master * Skip ConstantPropagation during `Simplify` * Remove buidlenv * Update requirements_dev.txt * Add editable util to requirements_dev.txt * lint * scipy for tests is now needed * Pin `DaCe` to pace-fixes-0 merge * Remove logging setup in test_translate * Make cupy import robust to device not being available * Fix to GEOS bridge MPS detection * Up gt4py to August 14th EOD: - Hip/ROCm - New allocators * DaCE module: swap SSH for HTTPS (ai2cm#26) * GEOS GridTools stencils build override (ai2cm#27) * Stencil build override for GEOS * Deactivate warnings if PACE_LOGLEVEL is > WARNING * Better log level * Bad merge (again) * Update fv3core/pace/fv3core/initialization/geos_wrapper.py Co-authored-by: Oliver Elbert <[email protected]> * FVTP2D: somewhat better workaround --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]>
twicki
pushed a commit
to twicki/pace
that referenced
this pull request
Aug 22, 2025
* Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * lint * More linting * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings Lint * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" This reverts commit 4fc5b4d. * Revert "Remove previous per stencil override of default_build_folder" This reverts commit 2245027. * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Remove debug code * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Verbose todo * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Missing enum * Lint imports * Fix unit tests * Deactivate relocability test due to Python crash Logged as issyue 16 * Typo * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * added build script for c5 * updated repo to NOAA * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> --------- Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Lint --------- Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Update gt4py, dace, cleanup (ai2cm#19) * Update gt4py to top of master on June 21 * Update DaCe to 0.14.2 Workaround aliasing issue in FiniteVolumeTransport * Fix to gt4py storage * Downgrade to dace 0.14.1 * DaCe to 0.14.4 Orchestrating NonHydrostaticPressureGradient Adptating code to newer gt4py * Regenerate constraints.txt * Default constants to GFS Fix snapshot for GPU runs Lint on ETA Fix log level * Remove `daint_venv` submodule * Adding dace as a submodule Removing buildenv as a submodule * Update gt4py to latest master * Skip ConstantPropagation during `Simplify` * Remove buidlenv * Update requirements_dev.txt * Add editable util to requirements_dev.txt * lint * scipy for tests is now needed * Pin `DaCe` to pace-fixes-0 merge * Remove logging setup in test_translate * Make cupy import robust to device not being available * Fix to GEOS bridge MPS detection * Up gt4py to August 14th EOD: - Hip/ROCm - New allocators * DaCE module: swap SSH for HTTPS (ai2cm#26) * GEOS GridTools stencils build override (ai2cm#27) * Stencil build override for GEOS * Deactivate warnings if PACE_LOGLEVEL is > WARNING * Better log level * Bad merge (again) --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]>
twicki
pushed a commit
to twicki/pace
that referenced
this pull request
Aug 22, 2025
* Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * lint * More linting * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings Lint * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" This reverts commit 4fc5b4d. * Revert "Remove previous per stencil override of default_build_folder" This reverts commit 2245027. * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Remove debug code * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Verbose todo * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Missing enum * Lint imports * Fix unit tests * Deactivate relocability test due to Python crash Logged as issyue 16 * Typo * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * added build script for c5 * updated repo to NOAA * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- --------- * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- * Lint --------- * Update gt4py, dace, cleanup (ai2cm#19) * Update gt4py to top of master on June 21 * Update DaCe to 0.14.2 Workaround aliasing issue in FiniteVolumeTransport * Fix to gt4py storage * Downgrade to dace 0.14.1 * DaCe to 0.14.4 Orchestrating NonHydrostaticPressureGradient Adptating code to newer gt4py * Regenerate constraints.txt * Default constants to GFS Fix snapshot for GPU runs Lint on ETA Fix log level * Remove `daint_venv` submodule * Adding dace as a submodule Removing buildenv as a submodule * Update gt4py to latest master * Skip ConstantPropagation during `Simplify` * Remove buidlenv * Update requirements_dev.txt * Add editable util to requirements_dev.txt * lint * scipy for tests is now needed * Pin `DaCe` to pace-fixes-0 merge * Remove logging setup in test_translate * Make cupy import robust to device not being available * Fix to GEOS bridge MPS detection * Up gt4py to August 14th EOD: - Hip/ROCm - New allocators * DaCE module: swap SSH for HTTPS (ai2cm#26) * GEOS GridTools stencils build override (ai2cm#27) * Stencil build override for GEOS * Deactivate warnings if PACE_LOGLEVEL is > WARNING * Better log level * Bad merge (again) * NASA fork sync. (ai2cm#37) (ai2cm#30) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * lint * More linting * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings Lint * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" This reverts commit 4fc5b4d. * Revert "Remove previous per stencil override of default_build_folder" This reverts commit 2245027. * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Remove debug code * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Verbose todo * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Missing enum * Lint imports * Fix unit tests * Deactivate relocability test due to Python crash Logged as issyue 16 * Typo * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * added build script for c5 * updated repo to NOAA * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- --------- * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- * Lint --------- * Update gt4py, dace, cleanup (ai2cm#19) * Update gt4py to top of master on June 21 * Update DaCe to 0.14.2 Workaround aliasing issue in FiniteVolumeTransport * Fix to gt4py storage * Downgrade to dace 0.14.1 * DaCe to 0.14.4 Orchestrating NonHydrostaticPressureGradient Adptating code to newer gt4py * Regenerate constraints.txt * Default constants to GFS Fix snapshot for GPU runs Lint on ETA Fix log level * Remove `daint_venv` submodule * Adding dace as a submodule Removing buildenv as a submodule * Update gt4py to latest master * Skip ConstantPropagation during `Simplify` * Remove buidlenv * Update requirements_dev.txt * Add editable util to requirements_dev.txt * lint * scipy for tests is now needed * Pin `DaCe` to pace-fixes-0 merge * Remove logging setup in test_translate * Make cupy import robust to device not being available * Fix to GEOS bridge MPS detection * Up gt4py to August 14th EOD: - Hip/ROCm - New allocators * DaCE module: swap SSH for HTTPS (ai2cm#26) * GEOS GridTools stencils build override (ai2cm#27) * Stencil build override for GEOS * Deactivate warnings if PACE_LOGLEVEL is > WARNING * Better log level * Bad merge (again) --------- --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]>
twicki
pushed a commit
to twicki/pace
that referenced
this pull request
Aug 22, 2025
* NASA commits sync (ai2cm#31) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * lint * More linting * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings Lint * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" This reverts commit 4fc5b4d. * Revert "Remove previous per stencil override of default_build_folder" This reverts commit 2245027. * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Remove debug code * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Verbose todo * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Missing enum * Lint imports * Fix unit tests * Deactivate relocability test due to Python crash Logged as issyue 16 * Typo * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * added build script for c5 * updated repo to NOAA * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> --------- Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Lint --------- Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> * Update gt4py, dace, cleanup (ai2cm#19) * Update gt4py to top of master on June 21 * Update DaCe to 0.14.2 Workaround aliasing issue in FiniteVolumeTransport * Fix to gt4py storage * Downgrade to dace 0.14.1 * DaCe to 0.14.4 Orchestrating NonHydrostaticPressureGradient Adptating code to newer gt4py * Regenerate constraints.txt * Default constants to GFS Fix snapshot for GPU runs Lint on ETA Fix log level * Remove `daint_venv` submodule * Adding dace as a submodule Removing buildenv as a submodule * Update gt4py to latest master * Skip ConstantPropagation during `Simplify` * Remove buidlenv * Update requirements_dev.txt * Add editable util to requirements_dev.txt * lint * scipy for tests is now needed * Pin `DaCe` to pace-fixes-0 merge * Remove logging setup in test_translate * Make cupy import robust to device not being available * Fix to GEOS bridge MPS detection * Up gt4py to August 14th EOD: - Hip/ROCm - New allocators * DaCE module: swap SSH for HTTPS (ai2cm#26) * GEOS GridTools stencils build override (ai2cm#27) * Stencil build override for GEOS * Deactivate warnings if PACE_LOGLEVEL is > WARNING * Better log level * Bad merge (again) * NASA fork sync. (ai2cm#37) (ai2cm#30) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * lint * More linting * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings Lint * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" This reverts commit 4fc5b4d. * Revert "Remove previous per stencil override of default_build_folder" This reverts commit 2245027. * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Replace all logger with pace_log Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Distributed compilation on orchestrated backend for NxN layouts (ai2cm#14) * Adapt orchestration distribute compile for NxN layout * Remove debug code * Add a more descriptive string base postfix for cache naming Identify the code path for all cases Consistent reload post-compile Create a central space for all caches generation logic No more original layout check required * Add a test on caches relocatability * Verbose todo * Linting on PR * Run main unit test * Update python to available 3.8.12 * Remove cd to pace * Lint: git submodule recursive * Typo * Add openmpi to the image * Linting * Fix unit tests (remove dxa, dya rely on halo ex) * typo * Change name of jobs * Missing enum * Lint imports * Fix unit tests * Deactivate relocability test due to Python crash Logged as issyue 16 * Typo * Raise for 1,X and X,1 layouts which requires a new descriptor * Added ak, bk for 137 levels in eta.py * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Log info GEOS bridge (ai2cm#18) * Add floating point precision to GEOS bridge init * lint * Add device PCI bus id (for MPS debug) * Typo + lint * Try to detect MPS reading the "log" pipe * Lint * Clean up * Update geos/develop to grab NOAA PR9 results (ai2cm#21) * Verbose choice of block/grid size * added build script for c5 * updated repo to NOAA * GEOS integration (ai2cm#9) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Remove unused if leading to empty code block * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 Fix bad merge for bdt with GEOS_Wrapper * Remove unused code * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Revert "Remove previous per stencil override of default_build_folder" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Fix bad requirements syntax * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Fix or explain inlined import * Verbose runtime error when bad dt_atmos * Verbose warm up * re-initialize heat_source and diss_est each call, add do_skeb check to accumulation --------- --------- * [NOAA:Update] Bring back ai2cm#15 & doubly periodic domain (ai2cm#25) * Feature/dp driver (ai2cm#13) * initial commit * adding test config * adding the rest of driver and util code * updating history.md * move u_max to dycore config * uncomment assert * added comment explaining the copy of grid type to dycore config * Turn main unit test & lint on PR, logger clean up [NASA:Update] (ai2cm#15) * Initialize GeosDycoreWrapper with bdt (timestep) * Use GEOS version of constants * 1. Add qcld to the list of tracers beings advected 2. Made GEOS specific changes to thresholds in saturation adjustment * Accumulate diss_est * Allow GEOS_WRAPPER to process device data * Add clear to collector for 3rd party use. GEOS pass down timings to caller * Make kernel analysis run a copy stencil to compute local bandwith Parametrize tool with backend, output format * Move constant on a env var Add saturation adjustement threshold to const * Restrict dace to 0.14.1 due to a parsing bug * Add guard for bdt==0 * Fix theroritical timings * Fixed a bug where pkz was being calculated twice, and the second calc was wrong * Downgrade DaCe to 0.14.0 pending array aliasing fix * Set default cache path for orchestrated DaCe to respect GT_CACHE_* env * Remove previous per stencil override of default_build_folder * Revert "Set default cache path for orchestrated DaCe to respect GT_CACHE_* env" * Read cache_root in default dace backend * Document faulty behavior with GT_CACHE_DIR_NAME * Check for the string value of CONST_VERSION directly instead of enum * Protect constant selection more rigorusly. Clean abort on unknown constant given * Log constants selection * Refactor NQ to constants.py * Introduce PACE_LOGLEVEL to control log level from outside * Code guidelines clean up * Devops/GitHub actions on (ai2cm#15) * Linting on PR * Run main unit test * Update python to available 3.8.12 * Fix unit tests (remove dxa, dya rely on halo ex) * Update HISTORY.md * Adapt log_level in driver.run * Verbose the PACE_CONSTANTS * Doc log level hierarchical nature --------- * Lint --------- * Update gt4py, dace, cleanup (ai2cm#19) * Update gt4py to top of master on June 21 * Update DaCe to 0.14.2 Workaround aliasing issue in FiniteVolumeTransport * Fix to gt4py storage * Downgrade to dace 0.14.1 * DaCe to 0.14.4 Orchestrating NonHydrostaticPressureGradient Adptating code to newer gt4py * Regenerate constraints.txt * Default constants to GFS Fix snapshot for GPU runs Lint on ETA Fix log level * Remove `daint_venv` submodule * Adding dace as a submodule Removing buildenv as a submodule * Update gt4py to latest master * Skip ConstantPropagation during `Simplify` * Remove buidlenv * Update requirements_dev.txt * Add editable util to requirements_dev.txt * lint * scipy for tests is now needed * Pin `DaCe` to pace-fixes-0 merge * Remove logging setup in test_translate * Make cupy import robust to device not being available * Fix to GEOS bridge MPS detection * Up gt4py to August 14th EOD: - Hip/ROCm - New allocators * DaCE module: swap SSH for HTTPS (ai2cm#26) * GEOS GridTools stencils build override (ai2cm#27) * Stencil build override for GEOS * Deactivate warnings if PACE_LOGLEVEL is > WARNING * Better log level * Bad merge (again) --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> * Update DaCe to 0.15.1 RC (ai2cm#35) - Update: DaCe to 0.15.1 RC and GT4Py to latest main - Minor: orchestration build logging - Minor: dead code clean up --------- Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Purnendu Chakraborty <[email protected]> Co-authored-by: Rusty Benson <[email protected]> Co-authored-by: Oliver Elbert <[email protected]> Co-authored-by: Oliver Elbert <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR merges files from fv3gfs-util, fv3gfs-physics, and fv3core as subtrees instead of submodules. Nested submodules are moved to the top level
externaldirectory to ensure consistency, and because submodules can't exist inside subtrees. These and other top-level cross-dependencies are accessed using symbolic links.