.. |deg| unicode:: U+00B0 .. degree sign
:trim:
.. _task_woaTransects:
woaTransects
============
An analysis task for computing meridional transects of MPAS fields at evenly
spaced latitudes around Antarctica and comparing them with results from the
`World Ocean Atlas 2023 (WOA23)`_.
Component and Tags::
component: ocean
tags: climatology, transect, woa, publicObs
Configuration Options
---------------------
The following configuration options are available for this task::
[woaTransects]
## options related to plotting model vs. World Ocean Atlas 2023 (WOA23)
## transects.
# Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
# Nov, Dec, JFM, AMJ, JAS, OND, ANN)
seasons = []
# The approximate horizontal resolution (in km) of each transect. Latitude/
# longitude between observation points will be subsampled at this interval.
# Use 'obs' to indicate no subsampling. Use 'mpas' to indicate plotting of
# model data on the native grid, in which case comparison with observations
# will take place on the observation grid.
#horizontalResolution = mpas
#horizontalResolution = obs
horizontalResolution = 5
# The name of the vertical comparison grid. Valid values are 'mpas' for the
# MPAS vertical grid, 'obs' to use the locations of observations or
# any other name if the vertical grid is defined by 'verticalComparisonGrid'
#verticalComparisonGridName = mpas
#verticalComparisonGridName = obs
verticalComparisonGridName = uniform_10_to_1500m_at_10m
# The vertical comparison grid if 'verticalComparisonGridName' is not 'mpas' or
# 'obs'. This should be numpy array of (typically negative) elevations (in m).
# The first and last entries are used as axis bounds for 'mpas' and 'obs'
# vertical comparison grids
verticalComparisonGrid = numpy.linspace(-10, -1500, 150)
# A range for the y axis (if any)
verticalBounds = []
# The minimum weight of a destination cell after remapping. Any cell with
# weights lower than this threshold will therefore be masked out.
renormalizationThreshold = 0.01
# min and max latitude of transects
minLat = -80
maxLat = -60
# longitudes of transects
# Default transects are at Filchner, Bellingshausen Sea, Thwaites, Ross, Totten,
# Amery, Fimbul
longitudes = [318., 280., 253., 187., 117., 75., 0.]
# a list of fields top plot for each transect. All supported fields are listed
# below.
fieldList = ['temperature', 'salinity']
[woaTemperatureTransects]
## options related to plotting WOA23 transects of potential temperature
# colormap for model/observations
colormapNameResult = RdYlBu_r
# whether the colormap is indexed or continuous
colormapTypeResult = continuous
# the type of norm used in the colormap
normTypeResult = linear
# A dictionary with keywords for the norm
normArgsResult = {'vmin': -2.0, 'vmax': 2.0}
# color indices into colormapName for filled contours
#colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255]
# colormap levels/values for contour boundaries
#colorbarLevelsResult = [0, 0.25, 0.5, 0.75, 1, 2, 3, 4, 5, 6]
# place the ticks automatically by default
# colorbarTicksResult = numpy.linspace(0.0, 6.0, 9)
# contour line levels (use [] for automatic contour selection, 'none' for no
# contour lines)
#contourLevelsResult = np.arange(0.5, 6.0, 1.0)
contourLevelsResult = 'none'
# colormap for differences
colormapNameDifference = balance
# whether the colormap is indexed or continuous
colormapTypeDifference = continuous
# the type of norm used in the colormap
normTypeDifference = linear
# A dictionary with keywords for the norm
normArgsDifference = {'vmin': -2.0, 'vmax': 2.0}
# color indices into colormapName for filled contours
#colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255]
# colormap levels/values for contour boundaries
#colorbarLevelsDifference = [-2, -1.5, -1.25, -1, -0.2, 0, 0.2, 1, 1.25, 1.5, 2]
# place the ticks automatically by default
# colorbarTicksDifference = numpy.linspace(-2.0, 2.0, 9)
# contour line levels (use [] for automatic contour selection, 'none' for no
# contour lines)
#contourLevelsDifference = np.arange(-1.8, 2.0, 0.4)
contourLevelsDifference = 'none'
[woaSalinityTransects]
## options related to plotting WOA23 transects of salinity
# colormap for model/observations
colormapNameResult = haline
# whether the colormap is indexed or continuous
colormapTypeResult = continuous
# the type of norm used in the colormap
normTypeResult = linear
# A dictionary with keywords for the norm
normArgsResult = {'vmin': 33.8, 'vmax': 35.0}
# color indices into colormapName for filled contours
#colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255]
# colormap levels/values for contour boundaries
#colorbarLevelsResult = [34, 34.3, 34.5, 34.65, 34.675, 34.7, 34.725, 34.75, 34.8, 35]
# place the ticks automatically by default
# colorbarTicksResult = numpy.linspace(34.0, 35.0, 9)
# contour line levels (use [] for automatic contour selection, 'none' for no
# contour lines)
#contourLevelsResult = np.arange(34.1, 35.0, 0.1)
contourLevelsResult = 'none'
# colormap for differences
colormapNameDifference = balance
# whether the colormap is indexed or continuous
colormapTypeDifference = continuous
# the type of norm used in the colormap
normTypeDifference = linear
# A dictionary with keywords for the norm
normArgsDifference = {'vmin': -0.5, 'vmax': 0.5}
# color indices into colormapName for filled contours
#colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255]
# colormap levels/values for contour boundaries
#colorbarLevelsDifference = [-0.5, -0.2, -0.1, -0.05, -0.02, 0, 0.02, 0.05, 0.1, 0.2, 0.5]
# place the ticks automatically by default
# colorbarTicksDifference = numpy.linspace(-0.5, 0.5, 9)
# contour line levels (use [] for automatic contour selection, 'none' for no
# contour lines)
#contourLevelsDifference = numpy.linspace(-0.6, 0.6, 9)
contourLevelsDifference = 'none'
The options ``minLat`` and ``maxLat`` determine the start and end of each
meridional transect (in degrees). The option ``longitudes`` is a list or
numpy array of longitudes for each transect, e.g.::
longitudes = numpy.linspace(0, 330, 12)
produces 12 transects spaced every 30 |deg|.
The user can select only to plot a subset of the supported fields by adding
only the desired field names to ``fieldList``. Only potential temperature
and salinity are currently available.
Ater the ``woaTransects`` section, there is a section for each supported field
specifying the information related to the colormap.
For details on remaining configuration options, see:
* :ref:`config_transects`
* :ref:`config_remapping`
* :ref:`config_colormaps`
* :ref:`config_seasons`
Observations
------------
:ref:`woa23_t_s`
Example Result
--------------
.. image:: examples/woa23_transect.png
:width: 500 px
:align: center
.. _`World Ocean Atlas 2023 (WOA23)`: https://www.ncei.noaa.gov/products/world-ocean-atlas