Skip to content

Commit 55c60f6

Browse files
committed
Rebase onto main and TODOs for the software meeting
1 parent 8cc8cc6 commit 55c60f6

File tree

1 file changed

+35
-22
lines changed

1 file changed

+35
-22
lines changed

docs/papers/joss/paper.md

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ authors:
2929
- name: Jia He
3030
orcid: XXXX
3131
affiliation: 1
32-
- name: Dennis Yatunin
32+
- name: Akshay Sridhar
3333
orcid: XXXX
3434
affiliation: 1
35-
- name: Ben Mackay
35+
- name: Dennis Yatunin
3636
orcid: XXXX
3737
affiliation: 1
38-
- name: Akshay Sridhar
38+
- name: Ben Mackay
3939
orcid: XXXX
4040
affiliation: 1
4141
- name: Simon Danish ?
@@ -44,13 +44,13 @@ authors:
4444
- name: Kiran Pamnany
4545
orcid: XXXX
4646
affiliation: 3
47-
- name: Toby Bischoff
47+
- name: Julia Sloan
4848
orcid: XXXX
4949
affiliation: 1
50-
- name: LenkaNovak
50+
- name: Toby Bischoff
5151
orcid: XXXX
5252
affiliation: 1
53-
- name: Julia Sloan
53+
- name: LenkaNovak
5454
orcid: XXXX
5555
affiliation: 1
5656
- name: Daniel (Zhengyu) Huang
@@ -77,7 +77,7 @@ affiliations:
7777
index: 4
7878
- name: University of California Davis
7979
index: 5
80-
date: 10 January 2023
80+
date: 31 May 2023
8181
bibliography: paper.bib
8282
---
8383

@@ -95,14 +95,14 @@ The Climate Modelling Alliance ([CliMA](https://clima.caltech.edu/)) is developi
9595

9696
<!-- A Statement of need section that clearly illustrates the research purpose of the software and places it in the context of related work. -->
9797

98-
Earth system model dynamical cores are traditionally hard-coded to specific equation sets, with fixed spatial and temporal discretizations, and specific geometries, such as spherical geometries for general circulation models (GCM) or Cartesian ones for large-eddy simulations (LES) (see, for instance, the High Order Method Modeling Environment (HOMME) used by the Energy Exascale Earth System Model (E3SM) [@E3SM]).
98+
Earth system model dynamical cores are traditionally hard-coded to specific equation sets, with fixed spatial and temporal discretizations, and specific geometries, such as spherical geometries for general circulation models (GCM) in the atmosphere or Cartesian ones for large-eddy simulations (LES) (see, for instance, the High Order Method Modeling Environment (HOMME) used by the Energy Exascale Earth System Model (E3SM) [@E3SM]).
9999

100100
`ClimaCore.jl` aims to be a more flexible approach, inspired by other mathematical software libraries for constructing spatial discretizations of partial differential equations (PDEs), such as PETSc [@petsc-web-page; @petsc-user-ref; @petsc-efficient], libCEED [@libceed-joss-paper; @libceed-user-manual], MFEM [@MFEMlibrary; @mfem-paper], deal.II [@dealII92], Firedrake [@firedrake], and FeniCS [@FeniCS].
101101

102102
However, ESMs tend to have some specific properties, some of which can leverage modern heterogenous architectures (including CPUs and GPUs) or modern ML/AI tools, that there are advantages to developing a new library
103103

104104
- very skewed aspect ratio for the atmosphere component: O(100km) in the horizontal vs O(10m) in the vertical;
105-
- implicit-explicit (IMEX) timestepping, with only the vertical parts handled implicitly: horizontally-explicit, vertically-implicit (HEVI) schemes;
105+
- implicit-explicit (IMEX) timestepping, with only the vertical components of the governing equations handled implicitly: horizontally-explicit, vertically-implicit (HEVI) schemes;
106106
- use of different discertizations in each dimension, for example our current atmosphere model uses a specral element discretization in the horizontal, with a staggered finite difference discretization in the verfical;
107107
- don't need a fully unstructured mesh: 3D meshes are constucted by extruding a 2D mesh;
108108
- distributed parallely only in the horizontal direction;
@@ -131,11 +131,11 @@ However, ESMs tend to have some specific properties, some of which can leverage
131131
## Technical aims and current support
132132
* Support both large-eddy simulation (LES) and general circulation model (GCM) configurations for the atmosphere.
133133
* A suite of tools for constructing space discretizations.
134-
* Horizontal spectral elements:
134+
* Horizontal spatial discretization:
135135
- Supports both continuous Galerkin (CG) and discontinuous Galerkin (DG) spectral element discretizations.
136-
* Flexible choice of vertical discretization (currently staggered finite differences)
137-
* Support for different geometries (Cartesian, spherical), with governing equations discretized in terms of covariant vectors for curvilinear, non-orthogonal systems and Cartesian vectors for Euclidean spaces.
138-
* `Field` abstraction:
136+
* Flexible choice of vertical discretization: currently staggered finite differences.
137+
* Support for different geometries (Cartesian, spherical), with governing equations discretized in terms of covariant/contravariant vectors for curvilinear, non-orthogonal systems and Cartesian vectors for Euclidean spaces.
138+
* `Field` abstraction: a data structure to describe a mathematical field defined on a given space. It can be:
139139
- Scalar, vector or struct-valued
140140
- Stores values, geometry, and mesh information
141141
- Flexible memory layouts: Array-of-Structs (AoS), Struct-of-Arrays (SoA),Array-of-Struct-of-Arrays (AoSoA)
@@ -154,27 +154,40 @@ However, ESMs tend to have some specific properties, some of which can leverage
154154

155155

156156

157-
# Tentative TODOs
158-
Draft of a "white paper" that briefly mentions all the nice properties of the library: extensibility, composability, ease-of-use, library-reuse, (performance-portability?), (scalability?). This will give ClimaCore its proper DOI and citability tool.
157+
# Tentative TODOs to have the package in order
158+
Draft of a "white paper" that briefly mentions all the nice properties of the library: extensibility, composability, ease-of-use, library-reuse, performance-portability, scalability, GPU support.
159159

160160
Improve Docs:
161161
- [x] Getting started/How to guide
162-
- [x] Contributing guide + Code of Conduct (?)
162+
- [x] Contributing guide + Code of Conduct
163163
- [ ] Examples documentation (equations set, what to expect from each example, artifacts, if included)
164164

165165

166166
Improve Unit Tests:
167-
- [ ] Unit tests: strive for best code coverage: e.g., double check that all operators are tested
168-
169-
Examples:
170-
- [ ] Address memory usage and OoM issues when examples are run locally
167+
- [x] Unit tests: strive for best code coverage: e.g., double check that all operators are tested
171168

172169

173170
Performance:
174171
- [ ] Distributed computing capability (re-run latest scaling studies)
175-
- [ ] Multi-threading capability?
176-
- [ ] Might include initial GPU support?
177172

173+
Cleanup:
174+
- [ ] Remove dead code, comments and TODOs
175+
176+
177+
# TODOs for the paper
178+
- [x] Abstract/Summary
179+
- [x] Statement of need
180+
- [x] Introduction
181+
- [ ] APIs
182+
- [ ] high-level API
183+
- [ ] low-level API
184+
- Performance Portability (ClimaComms)
185+
- [ ] Multi-threading capability
186+
- [ ] Include initial GPU support
187+
- [ ] GPU support
188+
189+
190+
- [ ] References
178191

179192
<!-- Acknowledgement of any financial support. -->
180193
# Acknowledgements

0 commit comments

Comments
 (0)