Skip to content

Commit 3360293

Browse files
authored
Run the hello-global-ocean example in Docs (#542)
* run the hello-global-ocean * Update index.md * Update index.md * update hello-global-ocean * no examples to test * GPU power * we need units * Update make.jl * Update index.md
1 parent 4ab61a2 commit 3360293

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ To illustrate how `OceanSeaIceModel` works we set up a simulation on a grid with
4343
```julia
4444
using Oceananigans
4545
using Oceananigans.Units
46-
using Dates, CFTime
46+
using Dates
4747
import ClimaOcean
4848

4949
arch = GPU()
@@ -57,12 +57,12 @@ grid = LatitudeLongitudeGrid(arch,
5757
bathymetry = ClimaOcean.regrid_bathymetry(grid) # builds gridded bathymetry based on ETOPO1
5858
grid = ImmersedBoundaryGrid(grid, GridFittedBottom(bathymetry))
5959

60-
# Build an ocean simulation initialized to the ECCO state estimate on Jan 1, 1993
60+
# Build an ocean simulation initialized to the ECCO state estimate version 2 on Jan 1, 1993
6161
ocean = ClimaOcean.ocean_simulation(grid)
6262
start_date = DateTime(1993, 1, 1)
6363
set!(ocean.model,
64-
T=ClimaOcean.Metadata(:temperature; dates=start_date, dataset=ClimaOcean.ECCO4Monthly()),
65-
S=ClimaOcean.Metadata(:salinity; dates=start_date, dataset=ClimaOcean.ECCO4Monthly()))
64+
T=ClimaOcean.Metadatum(:temperature; date=start_date, dataset=ClimaOcean.ECCO2Daily()),
65+
S=ClimaOcean.Metadatum(:salinity; date=start_date, dataset=ClimaOcean.ECCO2Daily()))
6666

6767
# Build and run an OceanSeaIceModel (with no sea ice component) forced by JRA55 reanalysis
6868
atmosphere = ClimaOcean.JRA55PrescribedAtmosphere(arch)
@@ -104,7 +104,7 @@ Note that though ClimaOcean is currently focused on hydrostatic modeling with `O
104104
If you use ClimaOcean for your research, teaching, or fun 🤩, everyone in our community will be grateful
105105
if you give credit by citing the corresponding Zenodo record, e.g.,
106106

107-
> Wagner, G. L. et al. (2025). CliMA/ClimaOcean.jl: v0.5.4 (v0.5.4). Zenodo. https://doi.org/10.5281/zenodo.15042648
107+
> Wagner, G. L. et al. (2025). CliMA/ClimaOcean.jl: v0.6.9 (v0.6.9). Zenodo. https://doi.org/10.5281/zenodo.7677442
108108
109109
and also the recent [preprint submitted to the Journal of Advances in Modeling Earth Systems](https://arxiv.org/abs/2502.14148) that presents an overview of all the things that make Oceananigans unique:
110110

docs/src/index.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# ClimaOcean.jl
22

3-
🌎 Realistic ocean-only and coupled ocean + sea-ice simulations driven by prescribed atmospheres and based on [Oceananigans](https://github.com/CliMA/Oceananigans.jl) and [ClimaSeaIce](https://github.com/CliMA/ClimaSeaIce.jl).
3+
🌎 Realistic ocean-only and coupled ocean-sea ice simulations driven by prescribed atmospheres and based on [Oceananigans](https://github.com/CliMA/Oceananigans.jl) and [ClimaSeaIce](https://github.com/CliMA/ClimaSeaIce.jl).
44

55
ClimaOcean implements a framework for coupling prescribed or prognostic representations of the ocean, sea ice, and atmosphere state.
66
Fluxes of heat, momentum, and freshwater are computed across the interfaces of its component models according to either Monin--Obukhov similarity theory,
77
or coefficient-based "bulk formula".
8-
ClimaOcean builds off Oceananigans, which provides tools for gridded finite volume computations on CPUs and GPUs and building ocean-flavored fluid dynamics simulations. ClimaSeaIce, which provides software for both stand-alone and coupled sea ice simulations, is also built with Oceananigans.
8+
ClimaOcean builds off Oceananigans, which provides tools for gridded finite-volume computations on CPUs and GPUs and building ocean-flavored fluid dynamics simulations. ClimaSeaIce, which provides software for both stand-alone and coupled sea ice simulations, is also built with Oceananigans.
99

1010
ClimaOcean's core abstraction is [`OceanSeaIceModel`](@ref), which encapsulates the ocean, sea ice, and atmosphere state, and interfacial flux parameterizations.
1111
ClimaOcean also implements [`ocean_simulation`](@ref), a utility for building realistic, hydrostatic ocean simulations with Oceananigans ensuring compatibility with `OceanSeaIceModel`.
@@ -32,12 +32,12 @@ julia> Pkg.add("ClimaOcean")
3232

3333
## Quick start
3434

35-
The following script implements a near-global ocean simulation initialized from the [ECCO state estimate](https://gmd.copernicus.org/articles/8/3071/2015/) and coupled to a prescribed atmosphere derived from the [JRA55-do reanalysis](https://www.sciencedirect.com/science/article/pii/S146350031830235X):
35+
The following script implements a near-global ocean simulation initialized from the [ECCO state estimate](https://doi.org/10.5194/gmd-8-3071-2015) and coupled to a prescribed atmosphere derived from the [JRA55-do reanalysis](https://www.sciencedirect.com/science/article/pii/S146350031830235X):
3636

3737
```julia
3838
using Oceananigans
3939
using Oceananigans.Units
40-
using Dates, CFTime
40+
using Dates
4141
import ClimaOcean
4242

4343
arch = GPU()
@@ -51,12 +51,12 @@ grid = LatitudeLongitudeGrid(arch,
5151
bathymetry = ClimaOcean.regrid_bathymetry(grid) # builds gridded bathymetry based on ETOPO1
5252
grid = ImmersedBoundaryGrid(grid, GridFittedBottom(bathymetry))
5353

54-
# Build an ocean simulation initialized to the ECCO state estimate on Jan 1, 1993
54+
# Build an ocean simulation initialized to the ECCO state estimate version 2 on Jan 1, 1993
5555
ocean = ClimaOcean.ocean_simulation(grid)
5656
start_date = DateTime(1993, 1, 1)
5757
set!(ocean.model,
58-
T=ClimaOcean.Metadata(:temperature; dates=start_date, dataset=ClimaOcean.ECCO4Monthly()),
59-
S=ClimaOcean.Metadata(:salinity; dates=start_date, dataset=ClimaOcean.ECCO4Monthly()))
58+
T=ClimaOcean.Metadatum(:temperature; date=start_date, dataset=ClimaOcean.ECCO2Daily()),
59+
S=ClimaOcean.Metadatum(:salinity; date=start_date, dataset=ClimaOcean.ECCO2Daily()))
6060

6161
# Build and run an OceanSeaIceModel (with no sea ice component) forced by JRA55 reanalysis
6262
atmosphere = ClimaOcean.JRA55PrescribedAtmosphere(arch)
@@ -79,3 +79,4 @@ heatmap(view(speed, :, :, ocean.model.grid.Nz), colorrange=(0, 0.5), colormap=:m
7979
```
8080

8181
![image](https://github.com/user-attachments/assets/4c484b93-38fe-4840-bf7d-63a3a59d29e1)
82+

0 commit comments

Comments
 (0)