---
# System prepended metadata

title: Blue-line packaging + testing
tags: [cycle 14]

---

# Blue-line packaging + testing


###### tags: `cycle 14`


Developers: Abishek, Christoph, Jonas

Appetite: 3 weeks 


## Goals
- Spack can build one branch of icon-exclaim in all three modes - CPU, OpenACC and GT4Py - on Daint and Balfrin.
- Enable spack-buildbot tests for all three modes
- Finalize verification of the exclaim aquaplanet experiments
<!-- The raw idea, a use case, or something we’ve seen that motivates us to work on this -->

## Dependencies


## Known tasks
- Spack build for icon-exclaim 
    - [x] Basic build working on Daint (Abishek)
    - [x] Basic build working on Balfrin (Christoph)
    - [x] Remove hacks/overrides (all)
    - [ ] Add spack build variants for dsl (Abishek, Christoph)
        - [x] DEP: `icon-liskov` merged into `icon-dsl`
        - [x] DEP: `master` (rename?) synced up with recent icon-nwp
        - [ ] DEP: `icon-dsl` merged into `master`
        - [x] Decide variants needed and setup
        - [ ] Initial testing of all DSL variants
    - [x] Resolve issue with blas/lapack dependencies (all)
        - Possibilities
            - openblas with gt4py, nvidia-blas/lapack with icon
            - **remove scipy from gt4py (Enrique)**
            - possibly link scipy/numpy as external in spack
    - Adding a development environment (Jonas, Christoph)
        - Need some research. Consult with Enrique
        - Jonas has a PR (on spack?) with a few possibilities on doing this, but it involves copying the files from dev folder to spack install prefix. But perhaps it's possible to make pip do this instead?
- Testing with spack
    - [ ] Add test to spack-c2sm testing (Jonas)
    - [x] Test spack icon gt4py build when developing gt4py/icon4py (Jonas)
    - [x] enable testing of all buildbot tests via spack (Jonas)
        - Some will pass for dsl, deactivate rest temporarily
```
Failing tests:
-----------------
dwd_run_ICON_09_R2B4N5_EPS out of memory allocating 36400000 bytes of device memory run with srun -n 16 --ntasks-per-node 2
mch_bench_r19b07_dev_sppt FATAL ERROR in mo_nh_vert_interp_ipz:z_at_plevels: Error in computing interpolation coefficients
mch_ch_lowres FAILED_TESTS: tolerance
mch_opr_r04b07  *** Error in scratch/snx3000/juckerj/EXCLAIM/dsl/icon-exclaim/bin/icon': corrupted size vs. prev_size: 0x0000000069cf9ad0 ***
mch_opr_r04b07_lhn_00 FAILED_TESTS: mpi tolerance
mch_opr_r04b07_lhn_12 FAILED_TESTS: mpi tolerance
mch_opr_r04b07_sstice_inst horizontal CFL number exceeded (in divide_flux_area_list) at: je = 1437 jk =  79 jb =  1 lon(deg)=  10.00 la   t(deg)=  45.71 vn(m/s)=********** vt(m/s)=**********
mch_opr_r19b07_lpi  call to cuStreamSynchronize returned error 700: Illegal address during kernel execution
mch_opr_r19b07_turb FAILED_TESTS: mpi tolerance

Passing tests:
-----------------
atm_ape PASSED_TESTS: base restart nproma mpi tolerance
atm_heldsuarez PASSED_TESTS: base restart nproma mpi


```

- Model Verification (Abishek)
    - [ ] Setup probtesting for `exclaim_ape_R2B05`
    - [ ] short report summarizing verification status
        - In progress here https://unlimited.ethz.ch/display/EXCLAIM/Aquaplanet+Verification+and+Validation
        


## More TODO

- [ ] Re-enable metadata generation in Liskov (Sam, Abishek, Jonas)


## Rabbit holes
- Need to balance time spent in research + work on development environment, with how much time we will spend in the future developing the blue-line. 

## No-gos
- We will not try to get all buildbot tests passing with GT4Py dycore
- We don't plan to go into what other formalities may be required to release to the wider user community. This will involves top-level discussion re. support for older versions of gt4py, etc. 