.. |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