ClimaOcean.Bathymetry.regrid_bathymetry
— Methodregrid_bathymetry(target_grid;
url = "https://www.ngdc.noaa.gov/thredds/fileServer/global/ETOPO2022/60s/60s_surface_elev_netcdf",
height_above_water = <none>,
minimum_depth = 0,
dir = joinpath(@__DIR__, "..", "data"),
filename = "ETOPO_2022_v1_60s_N90W180_surface.nc")
Regrid bathymetry associated with the NetCDF file at path = joinpath(dir, filename)
to target_grid
. If path
does not exist, then a download is attempted from joinpath(url, filename)
.
TODO: describe keyword arguments.
ClimaOcean.VerticalGrids.stretched_vertical_faces
— Methodstretched_vertical_faces(; surface_layer_Δz = 5.0,
surface_layer_height = 100.0,
constant_bottom_spacing_depth = Inf,
maximum_Δz = Inf,
stretching = PowerLawStretching(1.02),
rounding_digits = 1,
minimum_depth = 5000)
Return an array of cell interfaces with surface_layer_Δz
spacing in a surface layer of height surface_layer_height
, and stretched according to the function stretching(Δz_above, z_above)
down to minimum_depth
. The interfaces extends from Lz = -z[1]
to 0 = z[end]
, where Lz ≥ minimum_depth
.
The grid spacing Δz
is limited to be less than maximum_Δz
. The grid is also uniformly-spaced below constant_bottom_spacing_depth
.
rounding_digits
controls the accuracy with which the grid face positions are saved.
ClimaOcean.DataWrangling.JRA55.jra55_field_time_series
— Methodjra55_field_time_series(variable_name;
architecture = CPU(),
time_indices = :,
url = urls[name],
filename = file_names[variable_name],
short_name = short_names[variable_name])
Return a FieldTimeSeries
containing atmospheric reanalysis data for variable_name
, which describes one of the variables in the "repeat year forcing" dataset derived from the Japanese 55-year atmospheric reanalysis for driving ocean-sea-ice models (JRA55-do). For more information about the derivation of the repeat year forcing dataset, see
"Stewart et al., JRA55-do-based repeat year forcing datasets for driving ocean–sea-ice models", Ocean Modelling, 2020, https://doi.org/10.1016/j.ocemod.2019.101557.
The variable_name
s (and their short_name
s used in NetCDF files) available from the JRA55-do are:
- `:freshwater_river_flux` ("friver")
- `:freshwater_rain_flux` ("prra")
- `:freshwater_snow_flux` ("prsn")
- `:freshwater_iceberg_flux` ("licalvf")
- `:specific_humidity` ("huss")
- `:sea_level_pressure` ("psl")
- `:relative_humidity` ("rhuss")
- `:downwelling_longwave_radiation` ("rlds")
- `:downwelling_shortwave_radiation` ("rsds")
- `:atmospheric_temperature` ("ras")
- `:atmospheric_eastward_velocity` ("uas")
- `:atmospheric_northward_velocity` ("vas")
Keyword arguments
- `architecture`: Architecture for the `FieldTimeSeries`.
Default: CPU()
- `time_indices`: Indices of the timeseries to extract from file.
For example, `time_indices=1:3` returns a
`FieldTimeSeries` with the first three time snapshots
of `variable_name`.
- `url`: The url accessed to download the data for `variable_name`.
Default: `ClimaOcean.JRA55.urls[variable_name]`.
- `filename`: The name of the downloaded file.
Default: `ClimaOcean.JRA55.filenames[variable_name]`.
- `short_name`: The "short name" of `variable_name` inside its NetCDF file.
Default: `ClimaOcean.JRA55.short_names[variable_name]`.
ClimaOcean.NearGlobalSimulations.one_degree_near_global_simulation
— Functionone_degree_near_global_simulation(architecture = GPU(); kwargs...)
Return an Oceananigans.Simulation of Earth's ocean at 1 degree resolution.
ClimaOcean.NearGlobalSimulations.quarter_degree_near_global_simulation
— Functionquarter_degree_near_global_simulation(architecture = GPU(); kwargs...)
Return an Oceananigans.Simulation of Earth's ocean at 1/4 degree resolution.
ClimaOcean.Diagnostics.MixedLayerDepthField
— MethodMixedLayerDepthField(grid, tracers, buoyancy_model; Δb = 3e-4, field_kw...)
Return a reduced Field{Center, Center, Nothing}
that represents mixed layer depth for model
, based on a buoyancy differential criterion. The mixed layer depth is defined as the depth $h$ for which
\[b(z=0) - b(z=-h) = Δb\]
This criterion is solved by integrating downwards and linearly interpolating to find h
, assuming that $b$ decreases with depth.
Keyword arguments
Δb
: Buoyancy differential used to calculate mixed layer depthfield_kw
: Keyword arguments passed toField
.
Example
h = MixedLayerDepth(model)
compute!(h) # compute mixed layer depth
ClimaOcean.DataWrangling.download_progress
— Methoddownload_progress(total, now; filename="")