From 82608be4dbd948cdd84a9ad6b420a8b39867751a Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Tue, 23 Sep 2025 17:05:06 +0800 Subject: [PATCH] AliasSystem: Migrate the 'core' parameter to the new alias system --- pygmt/alias.py | 2 ++ pygmt/helpers/decorators.py | 2 +- pygmt/src/grdfilter.py | 4 +++- pygmt/src/grdimage.py | 4 +++- pygmt/src/grdlandmask.py | 11 ++++------- pygmt/src/grdsample.py | 4 +++- pygmt/src/sph2grd.py | 4 +++- 7 files changed, 19 insertions(+), 12 deletions(-) diff --git a/pygmt/alias.py b/pygmt/alias.py index a0021c53b33..472653d09a5 100644 --- a/pygmt/alias.py +++ b/pygmt/alias.py @@ -320,6 +320,8 @@ def add_common(self, **kwargs): alias = Alias(value, name="panel", sep=",", size=2) case "t": alias = Alias(value, name="transparency") + case "x": + alias = Alias(value, name="cores") case _: raise GMTValueError(key, description="common parameter") self.aliasdict[key] = alias diff --git a/pygmt/helpers/decorators.py b/pygmt/helpers/decorators.py index 6e770e08479..a0ec24e2848 100644 --- a/pygmt/helpers/decorators.py +++ b/pygmt/helpers/decorators.py @@ -66,7 +66,7 @@ Specify data types of input and/or output columns (time or geographical data). Full documentation is at :gmt-docs:`gmt.html#f-full`.""", "cores": r""" - cores : bool or int + cores Specify the number of active cores to be used in any OpenMP-enabled multi-threaded algorithms. By default, all available cores are used. Set a positive number *n* to use *n* cores (if too large it will be truncated to diff --git a/pygmt/src/grdfilter.py b/pygmt/src/grdfilter.py index 68d620f0a6e..060f07d593a 100644 --- a/pygmt/src/grdfilter.py +++ b/pygmt/src/grdfilter.py @@ -21,7 +21,6 @@ T="toggle", f="coltypes", r="registration", - x="cores", ) @kwargs_to_strings(I="sequence", R="sequence") def grdfilter( @@ -29,6 +28,7 @@ def grdfilter( outgrid: PathLike | None = None, verbose: Literal["quiet", "error", "warning", "timing", "info", "compat", "debug"] | bool = False, + cores: int | bool = False, **kwargs, ) -> xr.DataArray | None: r""" @@ -48,6 +48,7 @@ def grdfilter( {aliases} - V = verbose + - x = cores Parameters ---------- @@ -137,6 +138,7 @@ def grdfilter( """ aliasdict = AliasSystem().add_common( V=verbose, + x=cores, ) aliasdict.merge(kwargs) diff --git a/pygmt/src/grdimage.py b/pygmt/src/grdimage.py index 376091976f1..f05ebeca6e0 100644 --- a/pygmt/src/grdimage.py +++ b/pygmt/src/grdimage.py @@ -28,7 +28,6 @@ n="interpolation", f="coltypes", p="perspective", - x="cores", ) @kwargs_to_strings(R="sequence", p="sequence") def grdimage( @@ -39,6 +38,7 @@ def grdimage( | bool = False, panel: int | tuple[int, int] | bool = False, transparency: float | None = None, + cores: int | bool = False, **kwargs, ): r""" @@ -79,6 +79,7 @@ def grdimage( - V = verbose - c = panel - t = transparency + - x = cores Parameters ---------- @@ -177,6 +178,7 @@ def grdimage( V=verbose, c=panel, t=transparency, + x=cores, ) aliasdict.merge(kwargs) diff --git a/pygmt/src/grdlandmask.py b/pygmt/src/grdlandmask.py index 3ed97b3dba5..6f8f0111b8e 100644 --- a/pygmt/src/grdlandmask.py +++ b/pygmt/src/grdlandmask.py @@ -10,12 +10,7 @@ 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, - use_alias, -) +from pygmt.helpers import build_arg_list, fmt_docstring, kwargs_to_strings, use_alias __doctest_skip__ = ["grdlandmask"] @@ -26,7 +21,6 @@ I="spacing", R="region", r="registration", - x="cores", ) @kwargs_to_strings(I="sequence", R="sequence") def grdlandmask( @@ -38,6 +32,7 @@ def grdlandmask( ] = None, verbose: Literal["quiet", "error", "warning", "timing", "info", "compat", "debug"] | bool = False, + cores: int | bool = False, **kwargs, ) -> xr.DataArray | None: r""" @@ -56,6 +51,7 @@ def grdlandmask( - E = bordervalues - N = maskvalues - V = verbose + - x = cores Parameters ---------- @@ -136,6 +132,7 @@ def grdlandmask( E=Alias(bordervalues, name="bordervalues", sep="/", size=4), ).add_common( V=verbose, + x=cores, ) aliasdict.merge(kwargs) diff --git a/pygmt/src/grdsample.py b/pygmt/src/grdsample.py index b355ba546d1..1af517380c2 100644 --- a/pygmt/src/grdsample.py +++ b/pygmt/src/grdsample.py @@ -21,7 +21,6 @@ f="coltypes", n="interpolation", r="registration", - x="cores", ) @kwargs_to_strings(I="sequence", R="sequence") def grdsample( @@ -29,6 +28,7 @@ def grdsample( outgrid: PathLike | None = None, verbose: Literal["quiet", "error", "warning", "timing", "info", "compat", "debug"] | bool = False, + cores: int | bool = False, **kwargs, ) -> xr.DataArray | None: r""" @@ -51,6 +51,7 @@ def grdsample( {aliases} - V = verbose + - x = cores Parameters ---------- @@ -92,6 +93,7 @@ def grdsample( """ aliasdict = AliasSystem().add_common( V=verbose, + x=cores, ) aliasdict.merge(kwargs) diff --git a/pygmt/src/sph2grd.py b/pygmt/src/sph2grd.py index 8db59093a37..9887292c20c 100644 --- a/pygmt/src/sph2grd.py +++ b/pygmt/src/sph2grd.py @@ -21,7 +21,6 @@ h="header", i="incols", r="registration", - x="cores", ) @kwargs_to_strings(I="sequence", R="sequence", i="sequence_comma") def sph2grd( @@ -29,6 +28,7 @@ def sph2grd( outgrid: PathLike | None = None, verbose: Literal["quiet", "error", "warning", "timing", "info", "compat", "debug"] | bool = False, + cores: int | bool = False, **kwargs, ) -> xr.DataArray | None: r""" @@ -42,6 +42,7 @@ def sph2grd( {aliases} - V = verbose + - x = cores Parameters ---------- @@ -77,6 +78,7 @@ def sph2grd( """ aliasdict = AliasSystem().add_common( V=verbose, + x=cores, ) aliasdict.merge(kwargs)