Add tracer advection to standalone driver [cycle 34]#1039
Add tracer advection to standalone driver [cycle 34]#1039
Conversation
nfarabullini
left a comment
There was a problem hiding this comment.
overall you're on the right track
model/standalone_driver/src/icon4py/model/standalone_driver/driver_utils.py
Show resolved
Hide resolved
model/standalone_driver/src/icon4py/model/standalone_driver/driver_utils.py
Show resolved
Hide resolved
model/standalone_driver/src/icon4py/model/standalone_driver/driver_utils.py
Show resolved
Hide resolved
model/common/src/icon4py/model/common/metrics/compute_advection_metrics.py
Show resolved
Hide resolved
|
cscs-ci run default |
|
cscs-ci run |
|
cscs-ci run |
|
cscs-ci run defaul |
|
cscs-ci run default |
model/atmosphere/advection/src/icon4py/model/atmosphere/advection/advection_states.py
Show resolved
Hide resolved
model/common/src/icon4py/model/common/metrics/compute_advection_metrics.py
Outdated
Show resolved
Hide resolved
model/common/src/icon4py/model/common/metrics/metrics_factory.py
Outdated
Show resolved
Hide resolved
model/standalone_driver/src/icon4py/model/standalone_driver/testcases/initial_condition.py
Outdated
Show resolved
Hide resolved
|
cscs-ci run default |
1 similar comment
|
cscs-ci run default |
I read this as something like |
|
cscs-ci run default |
|
cscs-ci run default |
|
cscs-ci run distributed |
nfarabullini
left a comment
There was a problem hiding this comment.
some last few comments
| self._grid, | ||
| dims.CellDim, | ||
| dims.KDim, | ||
| allocator=model_backends.get_allocator(self._backend), |
There was a problem hiding this comment.
is it not enough to just specify self._backend without the get_allocator wrapper?
There was a problem hiding this comment.
and same question for all of the other ones below
There was a problem hiding this comment.
No, because self._backend.allocator can be None, which leads to either type mismatches or a lot of checks for is not None or calls to get_allocator down the line.
It's a bit like the customize_backend, if we do it early on, we have to deal with fewer cases later.
| cell_geometry = grid_savepoint.construct_cell_geometry() | ||
| assert ( | ||
| cell_geometry.area is not None | ||
| ), "Broken assumption: this test assumes it's running from a save point containing a 'cell_area' field." |
There was a problem hiding this comment.
| ), "Broken assumption: this test assumes it's running from a save point containing a 'cell_area' field." | |
| ), "Broken assumption: this test assumes it's running from a savepoint containing a 'cell_area' field." |
| ), | ||
| ), | ||
| least_squares_state=advection_states.AdvectionLeastSquaresState( | ||
| # TODO(ricoh): [c34] check integration with #1065 |
There was a problem hiding this comment.
do you still need this TODO?
There was a problem hiding this comment.
thanks, I will remove it.
|
Just a note. The driver tests are not run with dace in the default pipeline. Please run the dace CI pipeline when you are close to merging this PR. |
|
cscs-ci run default |
|
cscs-ci run default |
|
cscs-ci run distributed |
|
cscs-ci run dace |
|
cscs-ci run default |
|
cscs-ci run distributed |
|
cscs-ci run dace |
|
Mandatory Tests Please make sure you run these tests via comment before you merge!
Optional Tests To run benchmarks you can use:
To run tests and benchmarks with the DaCe backend you can use:
To run test levels ignored by the default test suite (mostly simple datatest for static fields computations) you can use:
For more detailed information please look at CI in the EXCLAIM universe. |
|
cscs-ci run default |
|
cscs-ci run distributed |
Ready the standalone driver for running experiments with tracer advection.
Added
deepatmo_*fields used in tracer advection.any_floattype alias incommon.type_aliasto express type hints where the type could be either float type allowed forvpfloat.Improved
Tests