From 3f8a0d7decf81b9cca82cd08a53572da79e4c728 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sun, 2 Mar 2025 18:14:45 +0100 Subject: [PATCH 01/10] Fix barotropic streamfunction calculation Instead of computing the BSF using a least-squares solve based on the transport between vertices, the new approach inverts a Poisson equation for the BSF based on the (vertically integrated) vorticity. I have proven that this produces more accurate results. The vertically integrated vorticity computed from the streamfunciton is within machine precision of the original vertically integrated vorticity. The velocity produced by the streamfunciton has errors that are on the order of 1e-3 compared with the original vertically integrated velocity (likely caused by the field not being perfectly divergence free). --- mpas_analysis/default.cfg | 11 +- mpas_analysis/ocean/climatology_map_bsf.py | 220 +++++++++++++++------ 2 files changed, 164 insertions(+), 67 deletions(-) diff --git a/mpas_analysis/default.cfg b/mpas_analysis/default.cfg index e366b6fda..5bd76cd55 100755 --- a/mpas_analysis/default.cfg +++ b/mpas_analysis/default.cfg @@ -1564,17 +1564,16 @@ comparisonGrids = ['latlon', 'subpolar_north_atlantic'] ## (if available) # colormap for model/observations -colormapNameResult = blue-orange-div +colormapNameResult = 3Wbgy5_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # color indices into colormapName for filled contours # the type of norm used in the colormap -normTypeResult = symLog +normTypeResult = linear # A dictionary with keywords for the norm -normArgsResult = {'linthresh': 30., 'linscale': 0.5, 'vmin': -100., 'vmax': 100.} -colorbarTicksResult = [-100.,-40., -20., -10., 0., 10., 20., 40., 100.] +normArgsResult = {'vmin': -100, 'vmax': 200.} # Adding contour lines to the figure -contourLevelsResult = np.arange(-100., 101.0, 10.) +contourLevelsResult = np.arange(-100., 201.0, 10.) contourThicknessResult = 0.5 contourColorResult = black # Add arrows to contour lines @@ -1598,7 +1597,7 @@ seasons = ['ANN'] comparisonGrids = ['latlon', 'subpolar_north_atlantic'] # list of tuples(pairs) of depths (min, max) to integrate horizontal transport over -depthRanges = [(0.0, -10000.0), (0.0, -2000.0)] +depthRanges = [(10.0, -10000.0), (10.0, -2000.0)] # minimum latitude (degrees) above which the mean BSF on boundary vertices # averages to zero diff --git a/mpas_analysis/ocean/climatology_map_bsf.py b/mpas_analysis/ocean/climatology_map_bsf.py index f5accd453..2c84e2703 100644 --- a/mpas_analysis/ocean/climatology_map_bsf.py +++ b/mpas_analysis/ocean/climatology_map_bsf.py @@ -75,10 +75,10 @@ def __init__(self, config, mpas_climatology_task, control_config=None): mpas_field_name = field_name for min_depth, max_depth in depth_ranges: - depth_range_string = \ - f'{np.abs(min_depth):g}-{np.abs(max_depth):g}m' - if np.abs(max_depth) < 6000.: - fname_title = f'Streamfunction over {depth_range_string}' + depth_range_string = f'{min_depth:g}_to_{max_depth:g}m' + if max_depth >= -6000. or min_depth < 0.: + title_depth = depth_range_string.replace('_', ' ') + fname_title = f'Streamfunction over {title_depth}' fname_clim = f'{field_name}_{depth_range_string}' else: fname_title = 'Barotropic Streamfunction' @@ -190,7 +190,7 @@ def __init__(self, mpas_climatology_task, parent_task, # we'll fill this in at setup time variable_list = [] - depth_range_string = f'{np.abs(min_depth):g}-{np.abs(max_depth):g}m' + depth_range_string = f'{min_depth:g}_to_{max_depth:g}m' subtask_name = f'remapMpasClimatology_{depth_range_string}' # call the constructor from the base class # (RemapMpasClimatologySubtask) @@ -262,9 +262,8 @@ def customize_masked_climatology(self, climatology, season): ds_mesh = xr.open_dataset(self.restartFileName) ds_mesh = ds_mesh[['cellsOnEdge', 'cellsOnVertex', 'nEdgesOnCell', 'edgesOnCell', 'verticesOnCell', 'verticesOnEdge', - 'dcEdge', 'dvEdge', 'bottomDepth', 'layerThickness', - 'maxLevelCell', 'latVertex']] - ds_mesh = ds_mesh.isel(Time=0) + 'edgesOnVertex', 'dcEdge', 'dvEdge', 'bottomDepth', + 'maxLevelCell', 'latVertex', 'areaTriangle',]] ds_mesh.load() bsf_vertex = self._compute_barotropic_streamfunction_vertex( ds_mesh, climatology) @@ -279,7 +278,7 @@ def customize_masked_climatology(self, climatology, season): return climatology - def _compute_transport(self, ds_mesh, ds): + def _compute_vert_integ_velocity(self, ds_mesh, ds): cells_on_edge = ds_mesh.cellsOnEdge - 1 inner_edges = np.logical_and(cells_on_edge.isel(TWO=0) >= 0, @@ -292,10 +291,13 @@ def _compute_transport(self, ds_mesh, ds): cell1 = cells_on_edge.isel(nEdges=inner_edges, TWO=1) n_vert_levels = ds.sizes['nVertLevels'] + layer_thickness = ds.timeMonthly_avg_layerThickness + max_level_cell = ds_mesh.maxLevelCell - 1 + vert_index = xr.DataArray.from_dict( {'dims': ('nVertLevels',), 'data': np.arange(n_vert_levels)}) - z_mid = compute_zmid(ds_mesh.bottomDepth, ds_mesh.maxLevelCell-1, - ds_mesh.layerThickness) + z_mid = compute_zmid(ds_mesh.bottomDepth, max_level_cell, + layer_thickness) z_mid_edge = 0.5*(z_mid.isel(nCells=cell0) + z_mid.isel(nCells=cell1)) @@ -306,10 +308,9 @@ def _compute_transport(self, ds_mesh, ds): normal_velocity += ds.timeMonthly_avg_normalMLEvelocity normal_velocity = normal_velocity.isel(nEdges=inner_edges) - layer_thickness = ds.timeMonthly_avg_layerThickness layer_thickness_edge = 0.5*(layer_thickness.isel(nCells=cell0) + layer_thickness.isel(nCells=cell1)) - mask_bottom = (vert_index < ds_mesh.maxLevelCell).T + mask_bottom = (vert_index <= max_level_cell).T mask_bottom_edge = np.logical_and(mask_bottom.isel(nCells=cell0), mask_bottom.isel(nCells=cell1)) masks = [mask_bottom_edge, @@ -318,23 +319,157 @@ def _compute_transport(self, ds_mesh, ds): for mask in masks: normal_velocity = normal_velocity.where(mask) layer_thickness_edge = layer_thickness_edge.where(mask) - transport = ds_mesh.dvEdge[inner_edges] * \ - (layer_thickness_edge * normal_velocity).sum(dim='nVertLevels') - return inner_edges, transport + vert_integ_velocity = np.zeros(ds_mesh.dims['nEdges'], dtype=float) + inner_vert_integ_vel = ( + (layer_thickness_edge * normal_velocity).sum(dim='nVertLevels')) + vert_integ_velocity[inner_edges] = inner_vert_integ_vel.values + + vert_integ_velocity = xr.DataArray(vert_integ_velocity, + dims=('nEdges',)) + + return vert_integ_velocity + + def _compute_edge_sign_on_vertex(self, ds_mesh): + edges_on_vertex = ds_mesh.edgesOnVertex - 1 + vertices_on_edge = ds_mesh.verticesOnEdge - 1 + + nvertices = ds_mesh.sizes['nVertices'] + vertex_degree = ds_mesh.sizes['vertexDegree'] + + edge_sign_on_vertex = np.zeros((nvertices, vertex_degree), dtype=int) + vertices = np.arange(nvertices) + for iedge in range(vertex_degree): + eov = edges_on_vertex.isel(vertexDegree=iedge) + valid_edge = eov >= 0 + + v0_on_edge = vertices_on_edge.isel(nEdges=eov, TWO=0) + v1_on_edge = vertices_on_edge.isel(nEdges=eov, TWO=1) + valid_edge = np.logical_and(valid_edge, v0_on_edge >= 0) + valid_edge = np.logical_and(valid_edge, v1_on_edge >= 0) + + mask = np.logical_and(valid_edge, v0_on_edge == vertices) + edge_sign_on_vertex[mask, iedge] = -1 + + mask = np.logical_and(valid_edge, v1_on_edge == vertices) + edge_sign_on_vertex[mask, iedge] = 1 + + return edge_sign_on_vertex + + def _compute_vert_integ_vorticity(self, ds_mesh, vert_integ_velocity, + edge_sign_on_vertex): + + area_vertex = ds_mesh.areaTriangle + dc_edge = ds_mesh.dcEdge + edges_on_vertex = ds_mesh.edgesOnVertex - 1 + + vertex_degree = ds_mesh.sizes['vertexDegree'] + + vert_integ_vorticity = xr.zeros_like(ds_mesh.latVertex) + for iedge in range(vertex_degree): + eov = edges_on_vertex.isel(vertexDegree=iedge) + edge_sign = edge_sign_on_vertex[:, iedge] + dc = dc_edge.isel(nEdges=eov) + vert_integ_vel = vert_integ_velocity.isel(nEdges=eov) + vert_integ_vorticity += ( + dc / area_vertex * edge_sign * vert_integ_vel) + + return vert_integ_vorticity def _compute_barotropic_streamfunction_vertex(self, ds_mesh, ds): - inner_edges, transport = self._compute_transport(ds_mesh, ds) - self.logger.info('transport computed.') + edge_sign_on_vertex = self._compute_edge_sign_on_vertex(ds_mesh) + vert_integ_velocity = self._compute_vert_integ_velocity(ds_mesh, ds) + vert_integ_vorticity = self._compute_vert_integ_vorticity( + ds_mesh, vert_integ_velocity, edge_sign_on_vertex) + self.logger.info('vertically integrated vorticity computed.') config = self.config min_lat = config.getfloat( 'climatologyMapBSF', 'minLatitudeForZeroBSF') nvertices = ds_mesh.sizes['nVertices'] + vertex_degree = ds_mesh.sizes['vertexDegree'] cells_on_vertex = ds_mesh.cellsOnVertex - 1 + edges_on_vertex = ds_mesh.edgesOnVertex - 1 vertices_on_edge = ds_mesh.verticesOnEdge - 1 + area_vertex = ds_mesh.areaTriangle + dc_edge = ds_mesh.dcEdge + dv_edge = ds_mesh.dvEdge + + # one equation involving vertex degree + 1 vertices for each vertex + # plus 2 entries for the boundary condition and Lagrange multiplier + ndata = (vertex_degree + 1) * nvertices + 2 + indices = np.zeros((2, ndata), dtype=int) + data = np.zeros(ndata, dtype=float) + + # the laplacian on the dual mesh of the streamfunction is the + # vertically integrated vorticity + vertices = np.arange(nvertices, dtype=int) + idata = (vertex_degree + 1) * vertices + 1 + indices[0, idata] = vertices + indices[1, idata] = vertices + for iedge in range(vertex_degree): + eov = edges_on_vertex.isel(vertexDegree=iedge) + dc = dc_edge.isel(nEdges=eov) + dv = dv_edge.isel(nEdges=eov) + + v0 = vertices_on_edge.isel(nEdges=eov, TWO=0) + v1 = vertices_on_edge.isel(nEdges=eov, TWO=1) + + edge_sign = edge_sign_on_vertex[:, iedge] + + mask = v0 == vertices + # the difference is v1 - v0, so we want to subtract this vertex + # when it is v0 and add it when it is v1 + this_vert_sign = np.where(mask, -1., 1.) + # the other vertex is obviously whichever one this is not + other_vert_index = np.where(mask, v1, v0) + # if there are invalid vertices, we need to make sure we don't + # index out of bounds. The edge_sign will mask these out + other_vert_index = np.where(other_vert_index >= 0, + other_vert_index, 0) + + idata_other = idata + iedge + 1 + + indices[0, idata] = vertices + indices[1, idata] = vertices + indices[0, idata_other] = vertices + indices[1, idata_other] = other_vert_index + + this_data = this_vert_sign * edge_sign * dc / (dv * area_vertex) + data[idata] += this_data + data[idata_other] = -this_data + + # Now, the boundary condition: To begin with, we set the BSF at the + # frist vertext to zero + indices[0, -2] = nvertices + indices[1, -2] = 0 + data[-2] = 1. + + # The same in the final column + indices[0, -1] = 0 + indices[1, -1] = nvertices + data[-1] = 1. + + # one extra spot for the Lagrange multiplier + rhs = np.zeros(nvertices + 1, dtype=float) + + rhs[0:-1] = vert_integ_vorticity.values + + matrix = scipy.sparse.csr_matrix( + (data, indices), + shape=(nvertices + 1, nvertices + 1)) + + solution = scipy.sparse.linalg.spsolve(matrix, rhs) + + # drop the Lagrange multiplier and convert to Sv with the desired sign + # convention + bsf_vertex = xr.DataArray(-1e-6 * solution[0:-1], + dims=('nVertices',)) + + # Now, we actually want the value of the streamfunciton to be + # as close as possible to zero at boundaries north of the ACC is_boundary_cov = cells_on_vertex == -1 boundary_vertices = is_boundary_cov.sum(dim='vertexDegree') > 0 @@ -346,49 +481,12 @@ def _compute_barotropic_streamfunction_vertex(self, ds_mesh, ds): # convert from boolean mask to indices boundary_vertices = np.flatnonzero(boundary_vertices.values) - n_boundary_vertices = len(boundary_vertices) - - n_inner_edges = len(inner_edges) - - indices = np.zeros((2, 2 * n_inner_edges + n_boundary_vertices), - dtype=int) - data = np.zeros(2 * n_inner_edges + n_boundary_vertices, dtype=float) - - # The difference between the streamfunction at vertices on an inner - # edge should be equal to the transport - v0 = vertices_on_edge.isel(nEdges=inner_edges, TWO=0).values - v1 = vertices_on_edge.isel(nEdges=inner_edges, TWO=1).values - - ind = np.arange(n_inner_edges) - indices[0, 2 * ind] = ind - indices[1, 2 * ind] = v1 - data[2*ind] = 1. + mean_boundary_bsf = bsf_vertex.isel(nVertices=boundary_vertices).mean() + print() + print(f'Mean BSF on boundary north of {min_lat}:') + print(f' {mean_boundary_bsf.values}') + print('Subtracting this mean.') - indices[0, 2 * ind + 1] = ind - indices[1, 2 * ind + 1] = v0 - data[2*ind+1] = -1. - - # Make the average of the stream function at boundary vertices north - # of min_lat equal to zero - ind = np.arange(n_boundary_vertices) - indices[0, 2 * n_inner_edges + ind] = n_inner_edges - indices[1, 2 * n_inner_edges + ind] = ind - data[2 * n_inner_edges + ind] = 1. - - rhs = np.zeros(n_inner_edges + 1, dtype=float) - - # convert to Sv - ind = np.arange(n_inner_edges) - rhs[ind] = 1e-6 * transport - - rhs[n_inner_edges] = 0. - - matrix = scipy.sparse.csr_matrix( - (data, indices), - shape=(n_inner_edges + 1, nvertices)) - - solution = scipy.sparse.linalg.lsqr(matrix, rhs) - bsf_vertex = xr.DataArray(-solution[0], - dims=('nVertices',)) + bsf_vertex -= mean_boundary_bsf return bsf_vertex From 53a9b4392b47f2172b1b0eedb91f206e760d63d6 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Tue, 4 Mar 2025 03:50:37 -0600 Subject: [PATCH 02/10] Add new custom colormaps --- .../3wave-blue-red-brown.xml | 116 ++++++++++++++++++ .../3wave-green-red-purple.xml | 63 ++++++++++ .../div-one-third-blue-two-thirds-red.xml | 103 ++++++++++++++++ .../div-one-third-green-two-thirds-red.xml | 50 ++++++++ mpas_analysis/shared/plot/colormap.py | 10 ++ 5 files changed, 342 insertions(+) create mode 100644 mpas_analysis/shared/plot/SciVisColorCustom/3wave-blue-red-brown.xml create mode 100644 mpas_analysis/shared/plot/SciVisColorCustom/3wave-green-red-purple.xml create mode 100644 mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-blue-two-thirds-red.xml create mode 100644 mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-green-two-thirds-red.xml diff --git a/mpas_analysis/shared/plot/SciVisColorCustom/3wave-blue-red-brown.xml b/mpas_analysis/shared/plot/SciVisColorCustom/3wave-blue-red-brown.xml new file mode 100644 index 000000000..72785855e --- /dev/null +++ b/mpas_analysis/shared/plot/SciVisColorCustom/3wave-blue-red-brown.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + \ No newline at end of file diff --git a/mpas_analysis/shared/plot/SciVisColorCustom/3wave-green-red-purple.xml b/mpas_analysis/shared/plot/SciVisColorCustom/3wave-green-red-purple.xml new file mode 100644 index 000000000..7e8e7d7ee --- /dev/null +++ b/mpas_analysis/shared/plot/SciVisColorCustom/3wave-green-red-purple.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + \ No newline at end of file diff --git a/mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-blue-two-thirds-red.xml b/mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-blue-two-thirds-red.xml new file mode 100644 index 000000000..65fd45a6b --- /dev/null +++ b/mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-blue-two-thirds-red.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + \ No newline at end of file diff --git a/mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-green-two-thirds-red.xml b/mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-green-two-thirds-red.xml new file mode 100644 index 000000000..a59e0c2d8 --- /dev/null +++ b/mpas_analysis/shared/plot/SciVisColorCustom/div-one-third-green-two-thirds-red.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + \ No newline at end of file diff --git a/mpas_analysis/shared/plot/colormap.py b/mpas_analysis/shared/plot/colormap.py index c091f8967..74f00343d 100644 --- a/mpas_analysis/shared/plot/colormap.py +++ b/mpas_analysis/shared/plot/colormap.py @@ -294,6 +294,16 @@ def register_custom_colormaps(): xml_file = pkg_resources.resource_filename(__name__, xml_file) _read_xml_colormap(xml_file, map_name) + # add SciVisColor colormaps created by hand using + # https://sciviscolor.org/color-moves-app/ + for map_name in ['3wave-green-red-purple', '3wave-blue-red-brown', + 'div-one-third-blue-two-thirds-red', + 'div-one-third-green-two-thirds-red',]: + + xml_file = f'SciVisColorCustom/{map_name}.xml' + xml_file = pkg_resources.resource_filename(__name__, xml_file) + _read_xml_colormap(xml_file, map_name) + name = 'white_cmo_deep' # modify cmo.deep to start at white colors2 = plt.get_cmap('cmo.deep')(np.linspace(0, 1, 224)) From 1343af3f5a1276179c84e3b3b71a83e6b175803a Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Tue, 4 Mar 2025 04:05:40 -0600 Subject: [PATCH 03/10] Switch to getting colormap data with importlib.resources --- .../plot/SciVisColorColormaps/__init__.py | 0 .../shared/plot/SciVisColorCustom/__init__.py | 0 .../plot/ScientificColourMaps7/__init__.py | 0 .../ScientificColourMaps7/acton/__init__.py | 0 .../ScientificColourMaps7/bam/__init__.py | 0 .../ScientificColourMaps7/bamO/__init__.py | 0 .../ScientificColourMaps7/bamako/__init__.py | 0 .../ScientificColourMaps7/batlow/__init__.py | 0 .../ScientificColourMaps7/batlowK/__init__.py | 0 .../ScientificColourMaps7/batlowW/__init__.py | 0 .../ScientificColourMaps7/berlin/__init__.py | 0 .../ScientificColourMaps7/bilbao/__init__.py | 0 .../ScientificColourMaps7/broc/__init__.py | 0 .../ScientificColourMaps7/brocO/__init__.py | 0 .../ScientificColourMaps7/buda/__init__.py | 0 .../ScientificColourMaps7/bukavu/__init__.py | 0 .../ScientificColourMaps7/cork/__init__.py | 0 .../ScientificColourMaps7/corkO/__init__.py | 0 .../ScientificColourMaps7/davos/__init__.py | 0 .../ScientificColourMaps7/devon/__init__.py | 0 .../ScientificColourMaps7/fes/__init__.py | 0 .../ScientificColourMaps7/grayC/__init__.py | 0 .../ScientificColourMaps7/hawaii/__init__.py | 0 .../ScientificColourMaps7/imola/__init__.py | 0 .../ScientificColourMaps7/lajolla/__init__.py | 0 .../ScientificColourMaps7/lapaz/__init__.py | 0 .../ScientificColourMaps7/lisbon/__init__.py | 0 .../ScientificColourMaps7/nuuk/__init__.py | 0 .../ScientificColourMaps7/oleron/__init__.py | 0 .../ScientificColourMaps7/oslo/__init__.py | 0 .../ScientificColourMaps7/roma/__init__.py | 0 .../ScientificColourMaps7/romaO/__init__.py | 0 .../ScientificColourMaps7/tofino/__init__.py | 0 .../ScientificColourMaps7/tokyo/__init__.py | 0 .../ScientificColourMaps7/turku/__init__.py | 0 .../ScientificColourMaps7/vanimo/__init__.py | 0 .../ScientificColourMaps7/vik/__init__.py | 0 .../ScientificColourMaps7/vikO/__init__.py | 0 mpas_analysis/shared/plot/colormap.py | 22 +++++++++---------- 39 files changed, 10 insertions(+), 12 deletions(-) create mode 100644 mpas_analysis/shared/plot/SciVisColorColormaps/__init__.py create mode 100644 mpas_analysis/shared/plot/SciVisColorCustom/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/acton/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/bam/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/bamO/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/bamako/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/batlow/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/batlowK/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/batlowW/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/berlin/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/bilbao/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/broc/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/brocO/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/buda/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/bukavu/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/cork/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/corkO/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/davos/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/devon/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/fes/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/grayC/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/hawaii/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/imola/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/lajolla/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/lapaz/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/lisbon/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/nuuk/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/oleron/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/oslo/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/roma/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/romaO/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/tofino/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/tokyo/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/turku/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/vanimo/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/vik/__init__.py create mode 100644 mpas_analysis/shared/plot/ScientificColourMaps7/vikO/__init__.py diff --git a/mpas_analysis/shared/plot/SciVisColorColormaps/__init__.py b/mpas_analysis/shared/plot/SciVisColorColormaps/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/SciVisColorCustom/__init__.py b/mpas_analysis/shared/plot/SciVisColorCustom/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/acton/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/acton/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/bam/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/bam/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/bamO/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/bamO/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/bamako/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/bamako/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/batlow/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/batlow/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/batlowK/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/batlowK/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/batlowW/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/batlowW/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/berlin/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/berlin/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/bilbao/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/bilbao/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/broc/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/broc/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/brocO/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/brocO/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/buda/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/buda/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/bukavu/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/bukavu/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/cork/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/cork/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/corkO/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/corkO/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/davos/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/davos/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/devon/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/devon/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/fes/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/fes/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/grayC/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/grayC/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/hawaii/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/hawaii/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/imola/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/imola/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/lajolla/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/lajolla/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/lapaz/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/lapaz/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/lisbon/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/lisbon/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/nuuk/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/nuuk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/oleron/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/oleron/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/oslo/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/oslo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/roma/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/roma/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/romaO/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/romaO/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/tofino/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/tofino/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/tokyo/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/tokyo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/turku/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/turku/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/vanimo/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/vanimo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/vik/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/vik/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/ScientificColourMaps7/vikO/__init__.py b/mpas_analysis/shared/plot/ScientificColourMaps7/vikO/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/mpas_analysis/shared/plot/colormap.py b/mpas_analysis/shared/plot/colormap.py index 74f00343d..008d2824c 100644 --- a/mpas_analysis/shared/plot/colormap.py +++ b/mpas_analysis/shared/plot/colormap.py @@ -23,7 +23,7 @@ from xml.etree import ElementTree import configparser import cmocean -import pkg_resources +import importlib.resources def setup_colormap(config, configSectionName, suffix=''): @@ -276,9 +276,9 @@ def register_custom_colormaps(): 'grayC', 'hawaii', 'imola', 'lajolla', 'lapaz', 'lisbon', 'nuuk', 'oleron', 'oslo', 'roma', 'romaO', 'tofino', 'tokyo', 'turku', 'vanimo', 'vik', 'vikO']: - xml_file = f'ScientificColourMaps7/{map_name}/{map_name}_PARAVIEW.xml' - xml_file = pkg_resources.resource_filename(__name__, xml_file) - _read_xml_colormap(xml_file, map_name) + filename = f'ScientificColourMaps7/{map_name}/{map_name}_PARAVIEW.xml' + with importlib.resources.path(__package__, filename) as xml_file: + _read_xml_colormap(xml_file, map_name) # add SciVisColor colormaps from # https://sciviscolor.org/home/colormaps/ @@ -289,20 +289,18 @@ def register_custom_colormaps(): 'green-7', 'green-8', 'orange-5', 'orange-6', 'orange-green-blue-gray', 'purple-7', 'purple-8', 'red-1', 'red-3', 'red-4', 'yellow-1', 'yellow-7']: - - xml_file = f'SciVisColorColormaps/{map_name}.xml' - xml_file = pkg_resources.resource_filename(__name__, xml_file) - _read_xml_colormap(xml_file, map_name) + filename = f'SciVisColorColormaps/{map_name}.xml' + with importlib.resources.path(__package__, filename) as xml_file: + _read_xml_colormap(xml_file, map_name) # add SciVisColor colormaps created by hand using # https://sciviscolor.org/color-moves-app/ for map_name in ['3wave-green-red-purple', '3wave-blue-red-brown', 'div-one-third-blue-two-thirds-red', 'div-one-third-green-two-thirds-red',]: - - xml_file = f'SciVisColorCustom/{map_name}.xml' - xml_file = pkg_resources.resource_filename(__name__, xml_file) - _read_xml_colormap(xml_file, map_name) + filename = f'SciVisColorCustom/{map_name}.xml' + with importlib.resources.path(__package__, filename) as xml_file: + _read_xml_colormap(xml_file, map_name) name = 'white_cmo_deep' # modify cmo.deep to start at white From f64a7e7d723c6e9913ce551ab3e19d60aa472942 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Tue, 4 Mar 2025 04:13:27 -0600 Subject: [PATCH 04/10] Change colormap for BSF climatology maps --- mpas_analysis/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpas_analysis/default.cfg b/mpas_analysis/default.cfg index 5bd76cd55..e7fe5d2c4 100755 --- a/mpas_analysis/default.cfg +++ b/mpas_analysis/default.cfg @@ -1564,7 +1564,7 @@ comparisonGrids = ['latlon', 'subpolar_north_atlantic'] ## (if available) # colormap for model/observations -colormapNameResult = 3Wbgy5_r +colormapNameResult = 3wave-blue-red-brown # whether the colormap is indexed or continuous colormapTypeResult = continuous # color indices into colormapName for filled contours From 804a8bdc103287bb9bca860252da392bf2cdd829 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 5 Mar 2025 03:11:00 -0600 Subject: [PATCH 05/10] Make file and option suffixes for comparison grids public --- .../climatology/comparison_descriptors.py | 28 ++++++------------- mpas_analysis/shared/projection/__init__.py | 24 ++++++++++++++++ 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/mpas_analysis/shared/climatology/comparison_descriptors.py b/mpas_analysis/shared/climatology/comparison_descriptors.py index ec6f17921..92a0b6a21 100644 --- a/mpas_analysis/shared/climatology/comparison_descriptors.py +++ b/mpas_analysis/shared/climatology/comparison_descriptors.py @@ -18,8 +18,12 @@ import numpy from mpas_analysis.shared.constants import constants -from mpas_analysis.shared.projection import known_comparison_grids, \ - get_pyproj_projection +from mpas_analysis.shared.projection import ( + comparison_grid_file_suffixes, + comparison_grid_option_suffixes, + get_pyproj_projection, + known_comparison_grids, +) from pyremap import LatLonGridDescriptor, ProjectionGridDescriptor @@ -119,23 +123,9 @@ def _get_projection_comparison_descriptor(config, comparison_grid_name): section = 'climatology' - option_suffixes = {'antarctic': 'AntarcticStereo', - 'arctic': 'ArcticStereo', - 'antarctic_extended': 'AntarcticExtended', - 'arctic_extended': 'ArcticExtended', - 'north_atlantic': 'NorthAtlantic', - 'north_pacific': 'NorthPacific', - 'subpolar_north_atlantic': 'SubpolarNorthAtlantic', - 'fris': 'Fris'} - - grid_suffixes = {'antarctic': 'Antarctic_stereo', - 'arctic': 'Arctic_stereo', - 'antarctic_extended': 'Antarctic_stereo', - 'arctic_extended': 'Arctic_stereo', - 'north_atlantic': 'North_Atlantic', - 'north_pacific': 'North_Pacific', - 'subpolar_north_atlantic': 'Subpolar_North_Atlantic', - 'fris': 'Fris'} + option_suffixes = comparison_grid_option_suffixes + + grid_suffixes = comparison_grid_file_suffixes if comparison_grid_name not in option_suffixes: raise ValueError(f'{comparison_grid_name} is not one of the supported ' diff --git a/mpas_analysis/shared/projection/__init__.py b/mpas_analysis/shared/projection/__init__.py index 3024f6416..4d3193d32 100644 --- a/mpas_analysis/shared/projection/__init__.py +++ b/mpas_analysis/shared/projection/__init__.py @@ -17,6 +17,30 @@ 'arctic', 'arctic_extended', 'north_atlantic', 'north_pacific', 'subpolar_north_atlantic', 'fris'] +comparison_grid_option_suffixes = { + 'latlon': 'LatLon', + 'antarctic': 'AntarcticStereo', + 'arctic': 'ArcticStereo', + 'antarctic_extended': 'AntarcticExtended', + 'arctic_extended': 'ArcticExtended', + 'north_atlantic': 'NorthAtlantic', + 'north_pacific': 'NorthPacific', + 'subpolar_north_atlantic': 'SubpolarNorthAtlantic', + 'fris': 'Fris', +} + +comparison_grid_file_suffixes = { + 'latlon': 'latlon', + 'antarctic': 'Antarctic_stereo', + 'arctic': 'Arctic_stereo', + 'antarctic_extended': 'Antarctic_stereo', + 'arctic_extended': 'Arctic_stereo', + 'north_atlantic': 'North_Atlantic', + 'north_pacific': 'North_Pacific', + 'subpolar_north_atlantic': 'Subpolar_North_Atlantic', + 'fris': 'Fris', +} + def get_pyproj_projection(comparison_grid_name): """ From 58b2cd6d96e9c402f5d4080c9bf0b3d03de0ce2a Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 5 Mar 2025 03:57:48 -0600 Subject: [PATCH 06/10] Use dictionary for grid names in titles --- .../shared/plot/plot_climatology_map_subtask.py | 7 ++++--- mpas_analysis/shared/projection/__init__.py | 13 +++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/mpas_analysis/shared/plot/plot_climatology_map_subtask.py b/mpas_analysis/shared/plot/plot_climatology_map_subtask.py index 4578e1055..7db492d19 100644 --- a/mpas_analysis/shared/plot/plot_climatology_map_subtask.py +++ b/mpas_analysis/shared/plot/plot_climatology_map_subtask.py @@ -11,7 +11,6 @@ import xarray as xr import numpy as np -from string import capwords from mpas_analysis.shared import AnalysisTask @@ -25,6 +24,8 @@ from mpas_analysis.shared.climatology.comparison_descriptors import \ get_comparison_descriptor +from mpas_analysis.shared.projection import comparison_grid_titles + class PlotClimatologyMapSubtask(AnalysisTask): """ @@ -656,8 +657,8 @@ def _plot_projection(self, remappedModelClimatology, extend=self.extend) if self.prependComparisonGrid: - upperGridName = capwords(comparisonGridName.replace('_', ' ')) - galleryGroup = f'{upperGridName} {self.galleryGroup}' + gridTitle = comparison_grid_titles[comparisonGridName] + galleryGroup = f'{gridTitle} {self.galleryGroup}' else: galleryGroup = self.galleryGroup diff --git a/mpas_analysis/shared/projection/__init__.py b/mpas_analysis/shared/projection/__init__.py index 4d3193d32..5a91c6ea2 100644 --- a/mpas_analysis/shared/projection/__init__.py +++ b/mpas_analysis/shared/projection/__init__.py @@ -29,6 +29,19 @@ 'fris': 'Fris', } +comparison_grid_titles = { + 'latlon': 'Global', + 'antarctic': 'Antarctic', + 'arctic': 'Arctic', + 'antarctic_extended': 'Antarctic', + 'arctic_extended': 'Arctic', + 'north_atlantic': 'North Atlantic', + 'north_pacific': 'North Pacific', + 'subpolar_north_atlantic': 'Subpolar North Atlantic', + 'fris': 'Filchner-Ronne', +} + + comparison_grid_file_suffixes = { 'latlon': 'latlon', 'antarctic': 'Antarctic_stereo', From fd8c96a1bba974152f0d0ba45e352c119c185370 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 5 Mar 2025 02:41:09 -0600 Subject: [PATCH 07/10] Support different BSF offsets for different plots This requires a new section to be defined for each plot that doesn't use the default offset. This new section also allows (in fact requires) a new colorbar/colormap to be defined. --- mpas_analysis/default.cfg | 12 +-- mpas_analysis/ocean/climatology_map_bsf.py | 94 ++++++++++++++++------ mpas_analysis/polar_regions.cfg | 73 ++++++++++++++++- 3 files changed, 149 insertions(+), 30 deletions(-) diff --git a/mpas_analysis/default.cfg b/mpas_analysis/default.cfg index e7fe5d2c4..c45c4e324 100755 --- a/mpas_analysis/default.cfg +++ b/mpas_analysis/default.cfg @@ -265,7 +265,7 @@ comparisonSubpolarNorthAtlanticResolution = 20. # The comparison FRIS Antarctic polar stereographic grid size and resolution in km comparisonFrisBounds = [-1800., -400., 100., 1500.] # comparisonFrisWidth = 6000. -comparisonFrisResolution = 10. +comparisonFrisResolution = 4. # interpolation order for model and observation results. Likely values are # 'bilinear', 'neareststod' (nearest neighbor) or 'conserve' @@ -1596,12 +1596,14 @@ seasons = ['ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon', 'subpolar_north_atlantic'] -# list of tuples(pairs) of depths (min, max) to integrate horizontal transport over +# list of tuples(pairs) of depths (min, max) to integrate horizontal transport +# over depthRanges = [(10.0, -10000.0), (10.0, -2000.0)] -# minimum latitude (degrees) above which the mean BSF on boundary vertices -# averages to zero -minLatitudeForZeroBSF = -45.0 +# minimum and maximum latitude (degrees) between which the mean BSF on boundary +# vertices averages to zero +latitudeRangeForZeroBSF = (-45.0, 90.0) + [climatologyMapOHCAnomaly] ## options related to plotting horizontally remapped climatologies of diff --git a/mpas_analysis/ocean/climatology_map_bsf.py b/mpas_analysis/ocean/climatology_map_bsf.py index 2c84e2703..c30a6f119 100644 --- a/mpas_analysis/ocean/climatology_map_bsf.py +++ b/mpas_analysis/ocean/climatology_map_bsf.py @@ -17,6 +17,7 @@ from mpas_analysis.shared.climatology import RemapMpasClimatologySubtask from mpas_analysis.shared.plot import PlotClimatologyMapSubtask from mpas_analysis.ocean.utility import compute_zmid +from mpas_analysis.shared.projection import comparison_grid_option_suffixes class ClimatologyMapBSF(AnalysisTask): @@ -72,8 +73,6 @@ def __init__(self, config, mpas_climatology_task, control_config=None): raise ValueError(f'config section {section_name} does not contain ' f'valid list of comparison grids') - mpas_field_name = field_name - for min_depth, max_depth in depth_ranges: depth_range_string = f'{min_depth:g}_to_{max_depth:g}m' if max_depth >= -6000. or min_depth < 0.: @@ -99,15 +98,29 @@ def __init__(self, config, mpas_climatology_task, control_config=None): remap_observations_subtask = None if control_config is None: ref_title_label = None - ref_field_name = None diff_title_label = 'Model - Observations' else: control_run_name = control_config.get('runs', 'mainRunName') ref_title_label = f'Control: {control_run_name}' - ref_field_name = mpas_field_name diff_title_label = 'Main - Control' for comparison_grid_name in comparison_grid_names: + grid_suffix = \ + comparison_grid_option_suffixes[comparison_grid_name] + config_section_name = f'{self.taskName}{grid_suffix}' + if config.has_section(config_section_name): + # if this comparison grid has its own section, there is a + # version of the BSF that has been offset for this region + # and an associated colorbar/colormap + mpas_field_name = f'{field_name}{grid_suffix}' + else: + config_section_name = self.taskName + mpas_field_name = field_name + if control_config is None: + ref_field_name = None + else: + ref_field_name = mpas_field_name + for season in seasons: # make a new subtask for this season and comparison grid subtask_name = f'plot{season}_{comparison_grid_name}' \ @@ -129,7 +142,8 @@ def __init__(self, config, mpas_climatology_task, control_config=None): galleryGroup='Horizontal Streamfunction', groupSubtitle=None, groupLink='bsf', - galleryName=None) + galleryName=None, + configSectionName=config_section_name) self.add_subtask(subtask) @@ -258,6 +272,7 @@ def customize_masked_climatology(self, climatology, season): the modified climatology data set """ logger = self.logger + config = self.config ds_mesh = xr.open_dataset(self.restartFileName) ds_mesh = ds_mesh[['cellsOnEdge', 'cellsOnVertex', 'nEdgesOnCell', @@ -276,6 +291,28 @@ def customize_masked_climatology(self, climatology, season): climatology = climatology.drop_vars(self.variableList) + # offset the BSF for specific comparison grids if defined + for comparison_grid_name in self.comparisonDescriptors.keys(): + grid_suffix = \ + comparison_grid_option_suffixes[comparison_grid_name] + config_section_name = f'{self.taskName}{grid_suffix}' + if config.has_section(config_section_name): + # if this comparison grid has its own section, there is a + # version of the BSF that has been offset for this region + # and an associated colorbar/colormap + mpas_field_name = \ + f'barotropicStreamfunction{grid_suffix}' + + lat_range = config.getexpression( + config_section_name, 'latitudeRangeForZeroBSF') + climatology[mpas_field_name] = _shift_bsf( + bsf_vertex, lat_range, ds_mesh.cellsOnVertex - 1, + ds_mesh.latVertex) + climatology[mpas_field_name].attrs['units'] = 'Sv' + climatology[mpas_field_name].attrs['description'] = \ + f'barotropic streamfunction at vertices, offset for ' \ + f'{grid_suffix} plots' + return climatology def _compute_vert_integ_velocity(self, ds_mesh, ds): @@ -384,8 +421,8 @@ def _compute_barotropic_streamfunction_vertex(self, ds_mesh, ds): self.logger.info('vertically integrated vorticity computed.') config = self.config - min_lat = config.getfloat( - 'climatologyMapBSF', 'minLatitudeForZeroBSF') + lat_range = config.getexpression( + 'climatologyMapBSF', 'latitudeRangeForZeroBSF') nvertices = ds_mesh.sizes['nVertices'] vertex_degree = ds_mesh.sizes['vertexDegree'] @@ -468,25 +505,34 @@ def _compute_barotropic_streamfunction_vertex(self, ds_mesh, ds): bsf_vertex = xr.DataArray(-1e-6 * solution[0:-1], dims=('nVertices',)) - # Now, we actually want the value of the streamfunciton to be - # as close as possible to zero at boundaries north of the ACC - is_boundary_cov = cells_on_vertex == -1 - boundary_vertices = is_boundary_cov.sum(dim='vertexDegree') > 0 + bsf_vertex = _shift_bsf(bsf_vertex, lat_range, cells_on_vertex, + ds_mesh.latVertex) - boundary_vertices = np.logical_and( - boundary_vertices, - ds_mesh.latVertex > np.deg2rad(min_lat) - ) + return bsf_vertex - # convert from boolean mask to indices - boundary_vertices = np.flatnonzero(boundary_vertices.values) - mean_boundary_bsf = bsf_vertex.isel(nVertices=boundary_vertices).mean() - print() - print(f'Mean BSF on boundary north of {min_lat}:') - print(f' {mean_boundary_bsf.values}') - print('Subtracting this mean.') +def _shift_bsf(bsf_vertex, lat_range, cells_on_vertex, lat_vertex): + """ + Shift the barotropic streamfunction to be zero at the boundary over + the given latitude range + """ + is_boundary_cov = cells_on_vertex == -1 + boundary_vertices = is_boundary_cov.sum(dim='vertexDegree') > 0 - bsf_vertex -= mean_boundary_bsf + boundary_vertices = np.logical_and( + boundary_vertices, + lat_vertex >= np.deg2rad(lat_range[0]) + ) + boundary_vertices = np.logical_and( + boundary_vertices, + lat_vertex <= np.deg2rad(lat_range[1]) + ) - return bsf_vertex + # convert from boolean mask to indices + boundary_vertices = np.flatnonzero(boundary_vertices.values) + + mean_boundary_bsf = bsf_vertex.isel(nVertices=boundary_vertices).mean() + + bsf_shifted = bsf_vertex - mean_boundary_bsf + + return bsf_shifted diff --git a/mpas_analysis/polar_regions.cfg b/mpas_analysis/polar_regions.cfg index f8b6be996..c5b56ee17 100644 --- a/mpas_analysis/polar_regions.cfg +++ b/mpas_analysis/polar_regions.cfg @@ -611,7 +611,78 @@ yLim = [-600., -5.] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon', 'arctic_extended', 'antarctic_extended', - 'subpolar_north_atlantic'] + 'subpolar_north_atlantic', 'fris'] + +[climatologyMapBSFAntarcticExtended] +## options related to plotting Antarctic climatologies of the barotropic +## streamfunction (BSF) + +# colormap for model/observations +colormapNameResult = blue-orange-div +# whether the colormap is indexed or continuous +colormapTypeResult = continuous +# color indices into colormapName for filled contours +# the type of norm used in the colormap +normTypeResult = symLog +# A dictionary with keywords for the norm +normArgsResult = {'linthresh': 30., 'linscale': 0.5, 'vmin': -150., 'vmax': 150.} +colorbarTicksResult = [-100.,-40., -20., -10., 0., 10., 20., 40., 100.] +# Adding contour lines to the figure +contourLevelsResult = np.arange(-150., 150.1, 10.) +contourThicknessResult = 0.5 +contourColorResult = black +# Add arrows to contour lines +# whether to include arrows on the contour lines showing the direction of flow +arrowsOnContourResult = True +# colormap for differences +colormapNameDifference = cmo.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': -10., 'vmax': 10.} +# colorbarTicksDifference = numpy.linspace(-10., 10., 9) + +# minimum and maximum latitude (degrees) between which the mean BSF on boundary +# vertices averages to zero +latitudeRangeForZeroBSF = (-90.0, -60.0) + +[climatologyMapBSFFris] +## options related to plotting Filchner-Ronne climatologies of the barotropic +## streamfunction (BSF) + +# colormap for model/observations +colormapNameResult = blue-orange-div +# whether the colormap is indexed or continuous +colormapTypeResult = continuous +# color indices into colormapName for filled contours +# the type of norm used in the colormap +normTypeResult = symLog +# A dictionary with keywords for the norm +normArgsResult = {'linthresh': 1., 'linscale': 0.5, 'vmin': -20., 'vmax': 20.} +colorbarTicksResult = [-20., -10.,-4., -2., -1., 0., 1., 2., 4., 10., 20.] +# Adding contour lines to the figure +contourLevelsResult = np.arange(-5., 5.1, 0.5) +contourThicknessResult = 0.5 +contourColorResult = black +# Add arrows to contour lines +# whether to include arrows on the contour lines showing the direction of flow +arrowsOnContourResult = True +# colormap for differences +colormapNameDifference = cmo.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., 'vmax': 2.} +# colorbarTicksDifference = numpy.linspace(-10., 10., 9) + +# minimum and maximum latitude (degrees) between which the mean BSF on boundary +# vertices averages to zero +latitudeRangeForZeroBSF = (-90.0, -60.0) + [climatologyMapAntarcticMelt] ## options related to plotting horizontally regridded maps of Antarctic From 4c743a65a1ba0fe1c2c0973d6b71d024d7a90dbd Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 5 Mar 2025 06:22:29 -0600 Subject: [PATCH 08/10] Use config options to set arrow width and spacing --- mpas_analysis/default.cfg | 10 ++- mpas_analysis/polar_regions.cfg | 26 +++++--- mpas_analysis/shared/plot/climatology_map.py | 60 ++++++++++------- mpas_analysis/shared/plot/colormap.py | 65 +++++++++++-------- mpas_analysis/shared/plot/vertical_section.py | 14 ++-- 5 files changed, 106 insertions(+), 69 deletions(-) diff --git a/mpas_analysis/default.cfg b/mpas_analysis/default.cfg index c45c4e324..3fcd11d33 100755 --- a/mpas_analysis/default.cfg +++ b/mpas_analysis/default.cfg @@ -1576,9 +1576,13 @@ normArgsResult = {'vmin': -100, 'vmax': 200.} contourLevelsResult = np.arange(-100., 201.0, 10.) contourThicknessResult = 0.5 contourColorResult = black -# Add arrows to contour lines -# whether to include arrows on the contour lines showing the direction of flow -arrowsOnContourResult = True +# The spacing (in meters) between arrows on contours in projection plots +# (None to disable) +arrowSpacingResult = 8e5 +# The width (in meters) of arrows on contours in projection plots (None to +# disable) +arrowWidthResult = 1.5e4 + # colormap for differences colormapNameDifference = cmo.balance # whether the colormap is indexed or continuous diff --git a/mpas_analysis/polar_regions.cfg b/mpas_analysis/polar_regions.cfg index c5b56ee17..27e4772d8 100644 --- a/mpas_analysis/polar_regions.cfg +++ b/mpas_analysis/polar_regions.cfg @@ -626,14 +626,18 @@ colormapTypeResult = continuous normTypeResult = symLog # A dictionary with keywords for the norm normArgsResult = {'linthresh': 30., 'linscale': 0.5, 'vmin': -150., 'vmax': 150.} -colorbarTicksResult = [-100.,-40., -20., -10., 0., 10., 20., 40., 100.] +colorbarTicksResult = [-150., -100.,-60., -40., -20., -10., 0., 10., 20., 40., 60., 100., 150.] # Adding contour lines to the figure contourLevelsResult = np.arange(-150., 150.1, 10.) contourThicknessResult = 0.5 contourColorResult = black -# Add arrows to contour lines -# whether to include arrows on the contour lines showing the direction of flow -arrowsOnContourResult = True +# The spacing (in meters) between arrows on contours in projection plots +# (None to disable) +arrowSpacingResult = 8e5 +# The width (in meters) of arrows on contours in projection plots (None to +# disable) +arrowWidthResult = 1.5e4 + # colormap for differences colormapNameDifference = cmo.balance # whether the colormap is indexed or continuous @@ -661,14 +665,18 @@ colormapTypeResult = continuous normTypeResult = symLog # A dictionary with keywords for the norm normArgsResult = {'linthresh': 1., 'linscale': 0.5, 'vmin': -20., 'vmax': 20.} -colorbarTicksResult = [-20., -10.,-4., -2., -1., 0., 1., 2., 4., 10., 20.] +colorbarTicksResult = [-20., -10.,-4., -2., -1., -0.5, 0., 0.5, 1., 2., 4., 10., 20.] # Adding contour lines to the figure -contourLevelsResult = np.arange(-5., 5.1, 0.5) +contourLevelsResult = np.arange(-20., 20.1, 0.5) contourThicknessResult = 0.5 contourColorResult = black -# Add arrows to contour lines -# whether to include arrows on the contour lines showing the direction of flow -arrowsOnContourResult = True +# The spacing (in meters) between arrows on contours in projection plots +# (None to disable) +arrowSpacingResult = 2e5 +# The width (in meters) of arrows on contours in projection plots (None to +# disable) +arrowWidthResult = 4e3 + # colormap for differences colormapNameDifference = cmo.balance # whether the colormap is indexed or continuous diff --git a/mpas_analysis/shared/plot/climatology_map.py b/mpas_analysis/shared/plot/climatology_map.py index d458f7681..02dbd9949 100644 --- a/mpas_analysis/shared/plot/climatology_map.py +++ b/mpas_analysis/shared/plot/climatology_map.py @@ -125,8 +125,8 @@ def plot_polar_comparison( # ------- # Xylar Asay-Davis, Milena Veneziani - def do_subplot(ax, field, title, colormap, norm, levels, ticks, contours, - lineWidth, lineColor, arrows): + def _do_subplot(ax, field, title, colormap, norm, levels, ticks, contours, + lineWidth, lineColor, **kwargs): """ Make a subplot within the figure. """ @@ -230,14 +230,14 @@ def do_subplot(ax, field, title, colormap, norm, levels, ticks, contours, plotProjection)) ax = plt.subplot(subplots[0], projection=projection) - do_subplot(ax=ax, field=modelArray, title=modelTitle, **dictModelRef) + _do_subplot(ax=ax, field=modelArray, title=modelTitle, **dictModelRef) if refArray is not None: ax = plt.subplot(subplots[1], projection=projection) - do_subplot(ax=ax, field=refArray, title=refTitle, **dictModelRef) + _do_subplot(ax=ax, field=refArray, title=refTitle, **dictModelRef) ax = plt.subplot(subplots[2], projection=projection) - do_subplot(ax=ax, field=diffArray, title=diffTitle, **dictDiff) + _do_subplot(ax=ax, field=diffArray, title=diffTitle, **dictDiff) fig.canvas.draw() plt.tight_layout(pad=4.) @@ -343,8 +343,8 @@ def plot_global_comparison( # ------- # Xylar Asay-Davis, Milena Veneziani - def plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, - lineWidth, lineColor, arrows): + def _plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, + lineWidth, lineColor, **kwargs): ax.set_extent(extent, crs=projection) @@ -428,16 +428,16 @@ def plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, axes = [] ax = plt.subplot(subplots[0], projection=projection) - plot_panel(ax, modelTitle, modelArray, **dictModelRef) + _plot_panel(ax, modelTitle, modelArray, **dictModelRef) axes.append(ax) if refArray is not None: ax = plt.subplot(subplots[1], projection=projection) - plot_panel(ax, refTitle, refArray, **dictModelRef) + _plot_panel(ax, refTitle, refArray, **dictModelRef) axes.append(ax) ax = plt.subplot(subplots[2], projection=projection) - plot_panel(ax, diffTitle, diffArray, **dictDiff) + _plot_panel(ax, diffTitle, diffArray, **dictDiff) axes.append(ax) _add_stats(modelArray, refArray, diffArray, Lats, axes) @@ -543,7 +543,7 @@ def plot_projection_comparison( # ------- # Xylar Asay-Davis - def add_arrow_to_line_2d(ax, poly, arrow_spacing=8e5, arrow_width=1.5e4): + def _add_arrow_to_line_2d(ax, poly, arrow_spacing, arrow_width): """ https://stackoverflow.com/a/27637925/7728169 Add arrows to a matplotlib.lines.Line2D at selected locations. @@ -568,8 +568,8 @@ def add_arrow_to_line_2d(ax, poly, arrow_spacing=8e5, arrow_width=1.5e4): arrows.append(p) return arrows - def plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, - lineWidth, lineColor, arrows): + def _plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, + lineWidth, lineColor, arrowSpacing, arrowWidth): title = limit_title(title, maxTitleLength) ax.set_title(title, **plottitle_font) @@ -605,16 +605,27 @@ def plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, linewidths=0.5) if contours is not None: + # add arrows to streamlines + arrows = arrowSpacing is not None and arrowWidth is not None + special_zero = arrows and 0. in contours + + if special_zero: + # treat the zero contour as a special case + contours = [contour for contour in contours if contour != 0.] + matplotlib.rcParams['contour.negative_linestyle'] = 'solid' x_center = 0.5*(x[0:-1] + x[1:]) y_center = 0.5*(y[0:-1] + y[1:]) cs = ax.contour(x_center, y_center, array, levels=contours, colors=lineColor, linewidths=lineWidth) - # add arrows to streamlines - if arrows is not None: - for path in cs.get_paths(): - for poly in path.to_polygons(): - add_arrow_to_line_2d(ax, poly) + for path in cs.get_paths(): + for poly in path.to_polygons(): + _add_arrow_to_line_2d(ax, poly, arrowSpacing, arrowWidth) + + if special_zero: + ax.contour(x_center, y_center, array, levels=[0.], + colors=lineColor, linewidths=1.5 * lineWidth) + # create an axes on the right side of ax. The width of cax will be 5% # of ax and the padding between cax and ax will be fixed at 0.05 inch. divider = make_axes_locatable(ax) @@ -677,7 +688,8 @@ def plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, # set up land colormap if not useCartopyCoastline: colorList = [(0.8, 0.8, 0.8), (0.8, 0.8, 0.8)] - landColorMap = cols.LinearSegmentedColormap.from_list('land', colorList) + landColorMap = cols.LinearSegmentedColormap.from_list('land', + colorList) # locations of centers for contour plots xCenter = 0.5 * (x[1:] + x[0:-1]) @@ -688,14 +700,14 @@ def plot_panel(ax, title, array, colormap, norm, levels, ticks, contours, extent = [x[0], x[-1], y[0], y[-1]] ax = plt.subplot(subplots[0], projection=projection) - plot_panel(ax, modelTitle, modelArray, **dictModelRef) + _plot_panel(ax, modelTitle, modelArray, **dictModelRef) if refArray is not None: ax = plt.subplot(subplots[1], projection=projection) - plot_panel(ax, refTitle, refArray, **dictModelRef) + _plot_panel(ax, refTitle, refArray, **dictModelRef) ax = plt.subplot(subplots[2], projection=projection) - plot_panel(ax, diffTitle, diffArray, **dictDiff) + _plot_panel(ax, diffTitle, diffArray, **dictDiff) if fileout is not None: savefig(fileout, config) @@ -791,7 +803,7 @@ def _add_land_lakes_coastline(ax, ice_shelves=True): ax.add_feature(land_50m, zorder=2) if ice_shelves: ice_50m = cartopy.feature.NaturalEarthFeature( - 'physical', 'antarctic_ice_shelves_polys', '50m', edgecolor='k', - facecolor='lightgray', linewidth=0.5) + 'physical', 'antarctic_ice_shelves_polys', '50m', + edgecolor='k', facecolor='lightgray', linewidth=0.5) ax.add_feature(ice_50m, zorder=3) ax.add_feature(lakes_50m, zorder=4) diff --git a/mpas_analysis/shared/plot/colormap.py b/mpas_analysis/shared/plot/colormap.py index 008d2824c..cc393f6b3 100644 --- a/mpas_analysis/shared/plot/colormap.py +++ b/mpas_analysis/shared/plot/colormap.py @@ -62,6 +62,11 @@ def setup_colormap(config, configSectionName, suffix=''): 'lineWidth' is the width of contour lines or ``None`` if not specified 'lineColor' is the color of contour lines or ``None`` if not specified + + `arrowWidth` is the width of the arrows or ``None`` if not specified + + `arrowSpacing` is the spacing between arrows or ``None`` if not + specified """ # Authors # ------- @@ -69,7 +74,7 @@ def setup_colormap(config, configSectionName, suffix=''): register_custom_colormaps() - option = 'colormapType{}'.format(suffix) + option = f'colormapType{suffix}' if config.has_option(configSectionName, option): colormapType = config.get(configSectionName, option) if colormapType == 'indexed': @@ -88,35 +93,43 @@ def setup_colormap(config, configSectionName, suffix=''): levels = None ticks = None - option = 'contourLevels{}'.format(suffix) + contours = None + lineWidth = None + lineColor = None + arrowWidth = None + arrowSpacing = None + + option = f'contourLevels{suffix}' if config.has_option(configSectionName, option): contours = config.getexpression(configSectionName, option, use_numpyfunc=True) if isinstance(contours, str) and contours == 'none': contours = None - else: - contours = None - option = 'contourThickness{}'.format(suffix) + option = f'contourThickness{suffix}' if config.has_option(configSectionName, option): lineWidth = config.getfloat(configSectionName, option) - else: - lineWidth = None - option = 'contourColor{}'.format(suffix) + option = f'contourColor{suffix}' if config.has_option(configSectionName, option): lineColor = config.get(configSectionName, option) - else: - lineColor = None - option = 'arrowsOnContour{}'.format(suffix) + + option = f'arrowWidth{suffix}' if config.has_option(configSectionName, option): - arrows = config.getboolean(configSectionName, option) - else: - arrows = None + arrowWidth = config.getexpression(configSectionName, option) + if isinstance(arrowWidth, str) and arrowWidth == 'None': + arrowWidth = None + option = f'arrowSpacing{suffix}' + if config.has_option(configSectionName, option): + arrowSpacing = config.getexpression(configSectionName, option) + if isinstance(arrowSpacing, str) and arrowSpacing == 'None': + arrowSpacing = None + return {'colormap': colormap, 'norm': norm, 'levels': levels, 'ticks': ticks, 'contours': contours, 'lineWidth': lineWidth, - 'lineColor': lineColor, 'arrows': arrows} + 'lineColor': lineColor, 'arrowWidth': arrowWidth, + 'arrowSpacing': arrowSpacing} def register_custom_colormaps(): @@ -354,12 +367,12 @@ def _setup_colormap_and_norm(config, configSectionName, suffix=''): register_custom_colormaps() colormap = plt.get_cmap(config.get(configSectionName, - 'colormapName{}'.format(suffix))) + f'colormapName{suffix}')) - normType = config.get(configSectionName, 'normType{}'.format(suffix)) + normType = config.get(configSectionName, f'normType{suffix}') kwargs = config.getexpression(configSectionName, - 'normArgs{}'.format(suffix)) + f'normArgs{suffix}') if normType == 'symLog': norm = cols.SymLogNorm(**kwargs) @@ -368,12 +381,12 @@ def _setup_colormap_and_norm(config, configSectionName, suffix=''): elif normType == 'linear': norm = cols.Normalize(**kwargs) else: - raise ValueError('Unsupported norm type {} in section {}'.format( - normType, configSectionName)) + raise ValueError(f'Unsupported norm type {normType} in section ' + f'{configSectionName}') try: ticks = config.getexpression( - configSectionName, 'colorbarTicks{}'.format(suffix), + configSectionName, f'colorbarTicks{suffix}', use_numpyfunc=True) except configparser.NoOptionError: ticks = None @@ -413,15 +426,15 @@ def _setup_indexed_colormap(config, configSectionName, suffix=''): # Xylar Asay-Davis, Milena Veneziani, Greg Streletz colormap = plt.get_cmap(config.get(configSectionName, - 'colormapName{}'.format(suffix))) + f'colormapName{suffix}')) indices = config.getexpression(configSectionName, - 'colormapIndices{}'.format(suffix), + f'colormapIndices{suffix}', use_numpyfunc=True) try: levels = config.getexpression( - configSectionName, 'colorbarLevels{}'.format(suffix), + configSectionName, f'colorbarLevels{suffix}', use_numpyfunc=True) except configparser.NoOptionError: levels = None @@ -440,7 +453,7 @@ def _setup_indexed_colormap(config, configSectionName, suffix=''): raise ValueError('length mismatch between indices and ' 'colorbarLevels') colormap = cols.ListedColormap(colormap(indices), - 'colormapName{}'.format(suffix)) + f'colormapName{suffix}') colormap.set_under(underColor) colormap.set_over(overColor) @@ -448,7 +461,7 @@ def _setup_indexed_colormap(config, configSectionName, suffix=''): try: ticks = config.getexpression( - configSectionName, 'colorbarTicks{}'.format(suffix), + configSectionName, f'colorbarTicks{suffix}', use_numpyfunc=True) except configparser.NoOptionError: ticks = levels diff --git a/mpas_analysis/shared/plot/vertical_section.py b/mpas_analysis/shared/plot/vertical_section.py index 231023c09..e7f417350 100644 --- a/mpas_analysis/shared/plot/vertical_section.py +++ b/mpas_analysis/shared/plot/vertical_section.py @@ -938,15 +938,15 @@ def plot_vertical_section( if colormapDict['levels'] is None: plotHandle = plt.tripcolor(maskedTriangulation, fieldMasked, - cmap=colormapDict['colormap'], - norm=colormapDict['norm'], - rasterized=True, shading='gouraud') + cmap=colormapDict['colormap'], + norm=colormapDict['norm'], + rasterized=True, shading='gouraud') else: plotHandle = plt.tricontourf(maskedTriangulation, fieldMasked, - cmap=colormapDict['colormap'], - norm=colormapDict['norm'], - levels=colormapDict['levels'], - extend='both') + cmap=colormapDict['colormap'], + norm=colormapDict['norm'], + levels=colormapDict['levels'], + extend='both') cbar = plt.colorbar(plotHandle, orientation='vertical', From bc19d42ae7aa18946177a63098fd104216de5124 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 6 Mar 2025 14:38:19 -0600 Subject: [PATCH 09/10] Update the docs --- docs/users_guide/tasks/climatologyMapBSF.rst | 89 ++++++++++++++++--- docs/users_guide/tasks/examples/bsf.png | Bin 131579 -> 151480 bytes 2 files changed, 75 insertions(+), 14 deletions(-) diff --git a/docs/users_guide/tasks/climatologyMapBSF.rst b/docs/users_guide/tasks/climatologyMapBSF.rst index 56f6ef25c..0d04cc9ca 100644 --- a/docs/users_guide/tasks/climatologyMapBSF.rst +++ b/docs/users_guide/tasks/climatologyMapBSF.rst @@ -21,22 +21,25 @@ The following configuration options are available for this task:: ## (if available) # colormap for model/observations - colormapNameResult = blue-orange-div + colormapNameResult = 3wave-blue-red-brown # whether the colormap is indexed or continuous colormapTypeResult = continuous # color indices into colormapName for filled contours # the type of norm used in the colormap - normTypeResult = symLog + normTypeResult = linear # A dictionary with keywords for the norm - normArgsResult = {'linthresh': 30., 'linscale': 0.5, 'vmin': -100., 'vmax': 100.} - colorbarTicksResult = [-100.,-40., -20., -10., 0., 10., 20., 40., 100.] + normArgsResult = {'vmin': -100, 'vmax': 200.} # Adding contour lines to the figure - contourLevelsResult = np.arange(-100., 101.0, 10.) + contourLevelsResult = np.arange(-100., 201.0, 10.) contourThicknessResult = 0.5 contourColorResult = black - # Add arrows to contour lines - # whether to include arrows on the contour lines showing the direction of flow - arrowsOnContourResult = True + # The spacing (in meters) between arrows on contours in projection plots + # (None to disable) + arrowSpacingResult = 8e5 + # The width (in meters) of arrows on contours in projection plots (None to + # disable) + arrowWidthResult = 1.5e4 + # colormap for differences colormapNameDifference = cmo.balance # whether the colormap is indexed or continuous @@ -54,18 +57,76 @@ The following configuration options are available for this task:: # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon', 'subpolar_north_atlantic'] - # list of tuples(pairs) of depths (min, max) to integrate horizontal transport over - depthRanges = [(0.0, -10000.0), (0.0, -2000.0)] + # list of tuples(pairs) of depths (min, max) to integrate horizontal transport + # over + depthRanges = [(10.0, -10000.0), (10.0, -2000.0)] - # minimum latitude (degrees) above which the mean BSF on boundary vertices - # averages to zero - minLatitudeForZeroBSF = -45.0 + # minimum and maximum latitude (degrees) between which the mean BSF on boundary + # vertices averages to zero + latitudeRangeForZeroBSF = (-45.0, 90.0) By default, the BSF is computed over two depth ranges---the full depth of the ocean and only to 2000 m. By default, global and subpolar North Atlantic plots are produced. The BSF is constrained to have a mean value on coastal -boundaries of zero north of ``minLatitudeForZeroBSF``. +boundaries between the bounds set in ``latitudeRangeForZeroBSF``. + +You can set config options for individual comparison grids in a separate +seciton with the suffix associated with the comparison grid appended, e.g.:: + + [climatologyMapBSF] + ## options related to plotting horizontally remapped climatologies of + ## the barotropic streamfunction (BSF) against control model results + ## (if available) + + # comparison grid(s) on which to plot analysis + comparisonGrids = ['latlon', 'arctic_extended', 'antarctic_extended', + 'subpolar_north_atlantic', 'fris'] + + [climatologyMapBSFAntarcticExtended] + ## options related to plotting Antarctic climatologies of the barotropic + ## streamfunction (BSF) + + # colormap for model/observations + colormapNameResult = blue-orange-div + # whether the colormap is indexed or continuous + colormapTypeResult = continuous + # color indices into colormapName for filled contours + # the type of norm used in the colormap + normTypeResult = symLog + # A dictionary with keywords for the norm + normArgsResult = {'linthresh': 30., 'linscale': 0.5, 'vmin': -150., 'vmax': 150.} + colorbarTicksResult = [-150., -100.,-60., -40., -20., -10., 0., 10., 20., 40., 60., 100., 150.] + # Adding contour lines to the figure + contourLevelsResult = np.arange(-150., 150.1, 10.) + contourThicknessResult = 0.5 + contourColorResult = black + # The spacing (in meters) between arrows on contours in projection plots + # (None to disable) + arrowSpacingResult = 8e5 + # The width (in meters) of arrows on contours in projection plots (None to + # disable) + arrowWidthResult = 1.5e4 + + # colormap for differences + colormapNameDifference = cmo.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': -10., 'vmax': 10.} + # colorbarTicksDifference = numpy.linspace(-10., 10., 9) + + # minimum and maximum latitude (degrees) between which the mean BSF on boundary + # vertices averages to zero + latitudeRangeForZeroBSF = (-90.0, -60.0) + +You must define both a new set of colormaps, norms, etc. and a new range of +latitudes over which the BSF is constrained to have a mean value of zero. + +This is useful because plots are more intuitive if the BSF is close to zero +at local boundaries. For more details, see: * :ref:`config_colormaps` diff --git a/docs/users_guide/tasks/examples/bsf.png b/docs/users_guide/tasks/examples/bsf.png index 9c531290ae611ca065205239634e775917accd0c..174b9169eaa8766b7dd9ffb4fca206d91e5d6ea4 100644 GIT binary patch literal 151480 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

ccK|j`~cDixDZQ#w_%^ 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 literal 131579 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

{^odg=kixK45%T5m5fT}F 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 UxSWKyY;b7*YoJ+j#U||k0ND+MA^-pY From b4e586b5fb2eef65ab50108ec9159fb1b5a6431a Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 7 Mar 2025 10:47:32 -0600 Subject: [PATCH 10/10] Add colormap config options for Arctic BSF --- mpas_analysis/polar_regions.cfg | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/mpas_analysis/polar_regions.cfg b/mpas_analysis/polar_regions.cfg index 27e4772d8..946e05222 100644 --- a/mpas_analysis/polar_regions.cfg +++ b/mpas_analysis/polar_regions.cfg @@ -613,6 +613,44 @@ yLim = [-600., -5.] comparisonGrids = ['latlon', 'arctic_extended', 'antarctic_extended', 'subpolar_north_atlantic', 'fris'] +[climatologyMapBSFArcticExtended] +## options related to plotting Arctic climatologies of the barotropic +## streamfunction (BSF) + +# colormap for model/observations +colormapNameResult = blue-orange-div +# whether the colormap is indexed or continuous +colormapTypeResult = continuous +# color indices into colormapName for filled contours +# the type of norm used in the colormap +normTypeResult = linear +# A dictionary with keywords for the norm +normArgsResult = {'vmin': -50, 'vmax': 50.} +# Adding contour lines to the figure +contourLevelsResult = np.arange(-50., 50.1, 5.) +contourThicknessResult = 0.5 +contourColorResult = black +# The spacing (in meters) between arrows on contours in projection plots +# (None to disable) +arrowSpacingResult = 8e5 +# The width (in meters) of arrows on contours in projection plots (None to +# disable) +arrowWidthResult = 1.5e4 + +# colormap for differences +colormapNameDifference = cmo.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': -10., 'vmax': 10.} +# colorbarTicksDifference = numpy.linspace(-10., 10., 9) + +# minimum and maximum latitude (degrees) between which the mean BSF on boundary +# vertices averages to zero +latitudeRangeForZeroBSF = (60.0, 90.0) + [climatologyMapBSFAntarcticExtended] ## options related to plotting Antarctic climatologies of the barotropic ## streamfunction (BSF)