# Finish porting the Tracer Advection stencils to GT4Py
###### tags: `cycle 14`
Developers: -
Support: -
Appetite: 3 weeks
## 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
## Non-Goals
* Do not try to remove work arounds by introducing gt4py features in this task
## Known Tasks
- [x] rbf_intp_edge_stencil_01
- [ ] upwind_hflux_miura_stencil_01 (liskov missing: needs mutliple data regions)
- [ ] hflx_limiter_mo_stencil_01 ? maximum over sparse field?
- [x] hflx_limiter_mo_stencil_02
- [x] hflx_limiter_mo_stencil_03
- [x] hflx_limiter_mo_stencil_04
- [ ] hflx_limiter_pd_stencil_01 (liskov missing: needs mutliple data regions)
- [ ] hflx_limiter_pd_stencil_02 (liskov missing: needs mutliple data regions)
- [x] step_advection_stencil_01
- [x] step_advection_stencil_02
- [ ] 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)
- [x] face_val_ppm_stencil_01
- [x] face_val_ppm_stencil_02 (crashing)
- [x] face_val_ppm_stencil_05
- [x] upwind_vflux_ppm_stencil_01
- [x] v_limit_prbl_sm_stencil_01
- [x] compute_airmass
- [ ] upwind_hflux_miura_stencil_01
- [ ] upwind_hflux_miura_stencil_02
## More TODO
- [ ] incorporate data regions of before fields into stencils
- [ ] refactor stencils that are entangled in loops and if statements