(dev-ocean-realistic-global)= # realistic_global The `realistic_global` tasks in `polaris.tasks.ocean.realistic_global` are intended for preprocessing and initialization workflows that are upstream of any particular MPAS mesh. The first task category under this framework is `hydrography/woa23`, which builds a reusable hydrography product from the World Ocean Atlas 2023 on its native 0.25-degree latitude-longitude grid. (dev-ocean-realistic-global-framework)= ## framework The shared config options for the WOA23 hydrography task are described in {ref}`ocean-realistic-global` in the User's Guide. The implementation is intentionally organized around reusable Polaris steps rather than around the legacy Compass `utility/extrap_woa` multiprocessing workflow. One notable design choice is that the task reuses the combined topography product from `e3sm/init` rather than taking a raw topography filename as a task-specific input. ### cached topography dependency The helper {py:func}`polaris.tasks.ocean.realistic_global.hydrography.woa23.get_woa23_topography_step` creates a shared `e3sm/init` {py:class}`polaris.tasks.e3sm.init.topo.combine.step.CombineStep` configured for a 0.25-degree lat-lon target grid. The {py:class}`polaris.tasks.ocean.realistic_global.hydrography.woa23.task.Woa23` task adds this step with a symlink `combine_topo`. Because `CombineStep` sets `default_cached = True`, the `combine_topo` step is automatically treated as cached during setup — no explicit opt-in is needed. This keeps the expensive topography blending logic in one place and makes the ocean hydrography preprocessing task consistent with the broader Polaris approach to shared, cacheable preprocessing steps. See {ref}`dev-step-default-cached` for a full description of the `default_cached` / `free_running_steps` mechanism. (dev-ocean-realistic-global-woa23)= ## hydrography/woa23 The {py:class}`polaris.tasks.ocean.realistic_global.hydrography.woa23.task.Woa23` task is the Polaris port of the WOA preprocessing part of the legacy Compass workflow. ### combine The class {py:class}`polaris.tasks.ocean.realistic_global.hydrography.woa23.combine.CombineStep` combines January and annual WOA23 temperature and salinity climatologies into a single dataset. January values are used where they exist, and annual values fill deeper levels where the monthly product is not available. WOA23 supplies in-situ temperature and practical salinity, so this step uses `gsw` to derive conservative temperature and absolute salinity for the canonical `woa_combined.nc` product. ### extrapolate The class {py:class}`polaris.tasks.ocean.realistic_global.hydrography.woa23.extrapolate.ExtrapolateStep` uses the cached combined-topography product on the WOA grid together with `woa_combined.nc` to build a 3D ocean mask and then fill missing WOA values in two stages: 1. Horizontal then vertical extrapolation within the ocean mask 2. Horizontal then vertical extrapolation into land and grounded-ice regions The final output is `woa23_decav_0.25_jan_extrap.nc`.