diff --git a/README.md b/README.md index 761ed76e..e4a2964e 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ To illustrate how `OceanSeaIceModel` works we set up a simulation on a grid with ```julia using Oceananigans using Oceananigans.Units -using Dates, CFTime +using Dates import ClimaOcean arch = GPU() @@ -57,12 +57,12 @@ grid = LatitudeLongitudeGrid(arch, bathymetry = ClimaOcean.regrid_bathymetry(grid) # builds gridded bathymetry based on ETOPO1 grid = ImmersedBoundaryGrid(grid, GridFittedBottom(bathymetry)) -# Build an ocean simulation initialized to the ECCO state estimate on Jan 1, 1993 +# Build an ocean simulation initialized to the ECCO state estimate version 2 on Jan 1, 1993 ocean = ClimaOcean.ocean_simulation(grid) start_date = DateTime(1993, 1, 1) set!(ocean.model, - T=ClimaOcean.Metadata(:temperature; dates=start_date, dataset=ClimaOcean.ECCO4Monthly()), - S=ClimaOcean.Metadata(:salinity; dates=start_date, dataset=ClimaOcean.ECCO4Monthly())) + T=ClimaOcean.Metadatum(:temperature; date=start_date, dataset=ClimaOcean.ECCO2Daily()), + S=ClimaOcean.Metadatum(:salinity; date=start_date, dataset=ClimaOcean.ECCO2Daily())) # Build and run an OceanSeaIceModel (with no sea ice component) forced by JRA55 reanalysis atmosphere = ClimaOcean.JRA55PrescribedAtmosphere(arch) @@ -104,7 +104,7 @@ Note that though ClimaOcean is currently focused on hydrostatic modeling with `O If you use ClimaOcean for your research, teaching, or fun 🤩, everyone in our community will be grateful if you give credit by citing the corresponding Zenodo record, e.g., -> Wagner, G. L. et al. (2025). CliMA/ClimaOcean.jl: v0.5.4 (v0.5.4). Zenodo. https://doi.org/10.5281/zenodo.15042648 +> Wagner, G. L. et al. (2025). CliMA/ClimaOcean.jl: v0.6.9 (v0.6.9). Zenodo. https://doi.org/10.5281/zenodo.7677442 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: diff --git a/docs/src/index.md b/docs/src/index.md index 75e8fcb3..56573195 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,11 +1,11 @@ # ClimaOcean.jl -🌎 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). +🌎 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). ClimaOcean implements a framework for coupling prescribed or prognostic representations of the ocean, sea ice, and atmosphere state. Fluxes of heat, momentum, and freshwater are computed across the interfaces of its component models according to either Monin--Obukhov similarity theory, or coefficient-based "bulk formula". -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. +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. ClimaOcean's core abstraction is [`OceanSeaIceModel`](@ref), which encapsulates the ocean, sea ice, and atmosphere state, and interfacial flux parameterizations. 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") ## Quick start -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): +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): ```julia using Oceananigans using Oceananigans.Units -using Dates, CFTime +using Dates import ClimaOcean arch = GPU() @@ -51,12 +51,12 @@ grid = LatitudeLongitudeGrid(arch, bathymetry = ClimaOcean.regrid_bathymetry(grid) # builds gridded bathymetry based on ETOPO1 grid = ImmersedBoundaryGrid(grid, GridFittedBottom(bathymetry)) -# Build an ocean simulation initialized to the ECCO state estimate on Jan 1, 1993 +# Build an ocean simulation initialized to the ECCO state estimate version 2 on Jan 1, 1993 ocean = ClimaOcean.ocean_simulation(grid) start_date = DateTime(1993, 1, 1) set!(ocean.model, - T=ClimaOcean.Metadata(:temperature; dates=start_date, dataset=ClimaOcean.ECCO4Monthly()), - S=ClimaOcean.Metadata(:salinity; dates=start_date, dataset=ClimaOcean.ECCO4Monthly())) + T=ClimaOcean.Metadatum(:temperature; date=start_date, dataset=ClimaOcean.ECCO2Daily()), + S=ClimaOcean.Metadatum(:salinity; date=start_date, dataset=ClimaOcean.ECCO2Daily())) # Build and run an OceanSeaIceModel (with no sea ice component) forced by JRA55 reanalysis atmosphere = ClimaOcean.JRA55PrescribedAtmosphere(arch) @@ -79,3 +79,4 @@ heatmap(view(speed, :, :, ocean.model.grid.Nz), colorrange=(0, 0.5), colormap=:m ``` ![image](https://github.com/user-attachments/assets/4c484b93-38fe-4840-bf7d-63a3a59d29e1) +