# [Greenline] Drivers for the standalone single node JW test case
<!-- Add the tag for the current cycle number in the top bar -->
- Shaped by: Yilu, Chia Rui
- Appetite (FTEs, weeks): 2 people / Full Cycle
- Developers: Yilu, Chia Rui <!-- Filled in at the betting table unless someone is specifically required here -->
## Problem
<!-- The raw idea, a use case, or something we’ve seen that motivates us to work on this -->
Followed from last cycle, we now have a driver in [#902](https://github.com/C2SM/icon4py/pull/902), which is running correctly for the Jabolonski-Williamson testcase. The main goal of this cyle is to do the driver clean up, driver testing, configuration plug in and IO output.


## Appetite
<!-- Explain how much time we want to spend and how that constrains the solution -->
## Solution
<!-- The core elements we came up with, presented in a form that’s easy for people to immediately understand -->
- We implement an easy test to only check if the driver runs from the grid file without verifying. The test should be done on R02B04 global grid on both cpu and gpu backends.
- Polish the log file for the driver. Currently the log outputs the maximum values and levels of w, vn and rho. Not urgently, we may also want to add the geometry info and phyical constants at the beginning of the log, which will be useful for debugging and users in the future. A small thing would be also nice is to have simulation time and counted running time for each timestep.
- Integrate/merge [#902](https://github.com/C2SM/icon4py/pull/902) into icon4py after the cleanup and testing is done.
- Integrate with configuration [#936](https://github.com/C2SM/icon4py/pull/936)
- We also start to gather the ideas for designing the IO for the icon4py driver, which we will start to do at the second half of this cycle, and would need to continue on the next cycle.
- starting from the existing IO (```IOMonitor```) from Magdalena, the list of the output is: 1.```GeometryName``` at the first timestep. 2. All ```PrognosticStates``` at the user-specified timestep from the driver run.
- ```PrognosticStates``` output should be passed to the computation of the ```DiagnosticStates``` (pressure, temperature et al) at each timestep, which we still do not have in the driver. Then the IO should also be able to output ```DiagnosticsStates```
- after IO is added, we run the driver with one or more idealized experiments and perform scientific analysis to evaluate its correctness.
## Rabbit holes
<!-- Details about the solution worth calling out to avoid problems -->
## No-gos
<!-- Anything specifically excluded from the concept: functionality or use cases we intentionally aren’t covering to fit the ## appetite or make the problem tractable -->
## Progress
<!-- Don't fill during shaping. This area is for collecting TODOs during building. As first task during building add a preliminary list of coarse-grained tasks for the project and refine them with finer-grained items when it makes sense as you work on them. -->
- [x] Task 1 ([PR#902](https://github.com/C2SM/icon4py/pull/902))
- [x] Subtask A
- [x] Subtask X
- [ ] Subtask H
- [ ] Subtask J
- [ ] Subtask L