From 716416376c01c8394a062037522b05ec6aa6343e Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 30 Jul 2025 19:14:01 +0800 Subject: [PATCH 1/2] pygmt.grdlandmask: Refactor to use the new alias system for bordervalues/maskvalues --- pygmt/src/grdlandmask.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pygmt/src/grdlandmask.py b/pygmt/src/grdlandmask.py index f2fdae251d9..6065424f621 100644 --- a/pygmt/src/grdlandmask.py +++ b/pygmt/src/grdlandmask.py @@ -7,13 +7,13 @@ import xarray as xr from pygmt._typing import PathLike +from pygmt.alias import Alias, AliasSystem from pygmt.clib import Session from pygmt.exceptions import GMTInvalidInput from pygmt.helpers import ( build_arg_list, fmt_docstring, kwargs_to_strings, - sequence_join, use_alias, ) from pygmt.src._common import _parse_coastline_resolution @@ -25,9 +25,7 @@ @use_alias( A="area_thresh", D="resolution-", - E="bordervalues-", I="spacing", - N="maskvalues-", R="region", V="verbose", r="registration", @@ -55,6 +53,8 @@ def grdlandmask( Full GMT docs at :gmt-docs:`grdlandmask.html`. {aliases} + - E=bordervalues + - N=maskvalues Parameters ---------- @@ -119,11 +119,14 @@ def grdlandmask( raise GMTInvalidInput(msg) kwargs["D"] = kwargs.get("D", _parse_coastline_resolution(resolution)) - kwargs["N"] = sequence_join(maskvalues, size=(2, 5), name="maskvalues") - kwargs["E"] = sequence_join(bordervalues, size=(1, 4), name="bordervalues") + + aliasdict = AliasSystem( + N=Alias(maskvalues, name="maskvalues", sep="/", size=(2, 5)), + E=Alias(bordervalues, name="bordervalues", sep="/", size=(1, 4)), + ).merge(kwargs) with Session() as lib: with lib.virtualfile_out(kind="grid", fname=outgrid) as voutgrd: - kwargs["G"] = voutgrd - lib.call_module(module="grdlandmask", args=build_arg_list(kwargs)) + aliasdict["G"] = voutgrd + lib.call_module(module="grdlandmask", args=build_arg_list(aliasdict)) return lib.virtualfile_to_raster(vfname=voutgrd, outgrid=outgrid) From 070d8e88c7b3fea9050715036b4216d6d124c6df Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Thu, 31 Jul 2025 16:42:29 +0800 Subject: [PATCH 2/2] bordervalues should be scalar or a sequence with 4 values --- pygmt/src/grdlandmask.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pygmt/src/grdlandmask.py b/pygmt/src/grdlandmask.py index 6065424f621..53e4df5dc6e 100644 --- a/pygmt/src/grdlandmask.py +++ b/pygmt/src/grdlandmask.py @@ -122,7 +122,7 @@ def grdlandmask( aliasdict = AliasSystem( N=Alias(maskvalues, name="maskvalues", sep="/", size=(2, 5)), - E=Alias(bordervalues, name="bordervalues", sep="/", size=(1, 4)), + E=Alias(bordervalues, name="bordervalues", sep="/", size=4), ).merge(kwargs) with Session() as lib: