# Finish porting and integrating the Tracer Advection in order to merge with icon-dsl
###### tags: `cycle 15`
###### Continuation of [Finish porting the Tracer Advection stencils to GT4Py - Cycle 14](https://hackmd.io/RFWTvJP5QL6_H_DK1zfl8A)
Developers: Nina Burgdorfer, (Andreas Jocksch)
Support: Christoph Müller, Daniel Hupp
Appetite: 6 weeks
Shaped by: Christoph
## Background
The tracer advection is close to be being completely ported to gt4py. For this project, finish it up and make it production ready!
## Goals
* Have clean implementation and clean test for every g4py stencil that is in the operational code path of the tracer advection
* "clean implementation" means as clean as possible, work-arounds will be required for at least some stencils because of missing gt4py features
* Replace the direct, "ifdef style" integration with Liskov directives
* Discover all code paths used for EXCLAIM experiments (known non-ported subroutine for example `hflux_miura_cycl`).
## Non-Goals
* Do not try to remove work arounds by introducing gt4py features in this task
## Known Tasks
Complete list as new stencil are discovered
- [ ] upwind_hflux_miura_stencil_01 (liskov missing: needs mutliple data regions)
- [ ] hflx_limiter_mo_stencil_01 ? maximum over sparse field?
- [ ] hflx_limiter_pd_stencil_01 (liskov missing: needs mutliple data regions)
- [ ] hflx_limiter_pd_stencil_02 (liskov missing: needs mutliple data regions)
- [ ] step_advection_stencil_03 (liskov missing: stencil entangled in loops)
- [ ] step_advection_stencil_04 (liskov missing: stencil entangled in loops)
- [ ] vert_adv_stencil_01 (liskov missing: stencil entangled in loops)
- [ ] hor_adv_stencil_01 (liskov missing: stencil entangled in loops)
- [ ] set_zero_c_k (liskov missing: needs mutliple data regions)
- [ ] upwind_vflux_ppm_stencil_01 (liskov missing: needs mutliple data regions)
- [ ] upwind_hflux_miura_stencil_01
- [ ] upwind_hflux_miura_stencil_02