# Entry point for contributing to climate modeling projects?

**URL:** <https://discourse.julialang.org/t/entry-point-for-contributing-to-climate-modeling-projects/48856>\
**Category:** Geo\
**Created:** [October 23, 2020, 3:28am UTC](https://discourse.julialang.org/t/entry-point-for-contributing-to-climate-modeling-projects/48856 "2020-10-23T03:28:53Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![simonbyrne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simonbyrne/32/19_2.png) [@simonbyrne](https://discourse.julialang.org/u/simonbyrne)\
**Post date:** [October 27, 2020, 4:34am UTC](https://discourse.julialang.org/t/entry-point-for-contributing-to-climate-modeling-projects/48856/7 "2020-10-27T04:34:00Z")

</div>

We at CliMA would certainly welcome contributions, though I do concede that it is probably not that easy to dive right in and start contributing to the main [ClimateMachine.jl](https://github.com/climate-machine/ClimateMachine.jl) repository (though if you do have ideas, please let me know).

That said, there are lots of areas where contributions would be very welcome, and could benefit the wider Julia ecosystem:

- file readers for common data formats ([issue #114](https://github.com/CliMA/ClimateMachine.jl/issues/114)). There are a wide variety of file formats used for climate data (e.g. NetCDF, Zarr, HDF5): although most have a Julia package, the quality and maintenance of them varies considerably. Some of these rely on cumbersome third-party binary dependencies, and could benefit from being translated into Julia to benefit from features such as memory mapping, and parallel I/O.
- visualization: we heavily use [Paraview](https://www.paraview.org/) and [VisIt](https://wci.llnl.gov/simulation/computer-codes/visit/) for visualizing the model output. Being able to directly interface Julia with these libraries (e.g. for in situ visualization) would be incredibly cool. Alternatively, building something similar in [Makie.jl](https://github.com/JuliaPlots/Makie.jl) would be very neat (though perhaps a lot more work).
- Specific numerical topics: we’re currently working on moving out our distributed-memory [time steppers](https://github.com/CliMA/TimeMachine.jl) and [Krylov & Newton-Krylov solvers](https://github.com/CliMA/Solvent.jl) into self-contained repositories.
- GPU and distributed memory tooling. We heavily make use of [CUDA.jl](https://github.com/JuliaGPU/CUDA.jl), [KernelAbstractions.jl](https://github.com/JuliaGPU/KernelAbstractions.jl) and [MPI.jl](https://github.com/JuliaParallel/MPI.jl), so improvements to those directly help our project. Similarly, we are excited about [AMDGPU.jl](https://github.com/JuliaGPU/AMDGPU.jl) so that we can run on alternative GPU architectures.
- There are many rough edges in running Julia on HPC clusters (deployment, binary dependencies, etc.). If you are interested in this topic, please [join our discussion](https://discourse.julialang.org/t/juliahpc-meeting/49093).

---

_[View the full topic](https://discourse.julialang.org/t/entry-point-for-contributing-to-climate-modeling-projects/48856)._
