使用 NCO 仅屏蔽 land/including 海洋数据?

Masking data over land/including only oceanic data using NCO?

我有两个不同的数据集,它们最初具有不同的分辨率,但已使用 CDO 的 remapbil 运算符重新网格化为具有 0.1x0.1 度分辨率。第一个是 NASA 的 MERRA-2 行星边界层高度 (PBLH) 数据,第二个是 NASA 的 IMERG 降雨率(下图为 precipitationCal)数据。我已经参考了 关于屏蔽海洋数据的问题,但我仍然对从哪里开始感到困惑。我试图掩盖陆地数据而不是海洋数据。如何为我的数据创建自己的掩码?数据说明如下。

dimensions:
        time = UNLIMITED ; // (24 currently)
        lon = 650 ;
        lat = 351 ;
variables:
        int time(time) ;
                time:standard_name = "time" ;
                time:long_name = "time" ;
                time:units = "minutes since 2020-07-13 00:30:00" ;
                time:calendar = "standard" ;
                time:axis = "T" ;
        float lon(lon) ;
                lon:standard_name = "longitude" ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
        float lat(lat) ;
                lat:standard_name = "latitude" ;
                lat:long_name = "latitude" ;
                lat:units = "degrees_north" ;
                lat:axis = "Y" ;
        float PBLH(time, lat, lon) ;
                PBLH:standard_name = "planetary_boundary_layer_height" ;
                PBLH:long_name = "planetary_boundary_layer_height" ;
                PBLH:units = "m" ;
                PBLH:_FillValue = 1.e+15f ;
                PBLH:missing_value = 1.e+15f ;
                PBLH:fmissing_value = 1.e+15f ;
                PBLH:vmax = 1.e+15f ;
                PBLH:vmin = -1.e+15f ;
                PBLH:origname = "PBLH" ;
                PBLH:fullnamepath = "/PBLH" ;

dimensions:
        time = 1 ;
        lon = 650 ;
        lat = 351 ;
        latv = 2 ;
        nv = 2 ;
        lonv = 2 ;
int time(time) ;
                time:DimensionNames = "time" ;
                time:Units = "seconds since 1970-01-01 00:00:00 UTC" ;
                time:units = "seconds since 1970-01-01 00:00:00 UTC" ;
                time:standard_name = "time" ;
                time:LongName = "Representative time of data in \n",
                        "\t\t\tseconds since 1970-01-01 00:00:00 UTC." ;
                time:bounds = "time_bnds" ;
                time:axis = "T" ;
                time:calendar = "julian" ;
                time:origname = "time" ;
                time:fullnamepath = "/Grid/time" ;
float lon(lon) ;
                lon:DimensionNames = "lon" ;
                lon:Units = "degrees_east" ;
                lon:units = "degrees_east" ;
                lon:standard_name = "longitude" ;
                lon:LongName = "Longitude at the center of\n",
                        "\t\t\t0.10 degree grid intervals of longitude \n",
                        "\t\t\tfrom -180 to 180." ;
                lon:bounds = "lon_bnds" ;
                lon:axis = "X" ;
                lon:origname = "lon" ;
                lon:fullnamepath = "/Grid/lon" ;
float lat(lat) ;
                lat:DimensionNames = "lat" ;
                lat:Units = "degrees_north" ;
                lat:units = "degrees_north" ;
                lat:standard_name = "latitude" ;
                lat:LongName = "Latitude at the center of\n",
                        "\t\t\t0.10 degree grid intervals of latitude\n",
                        "\t\t\tfrom -90 to 90." ;
                lat:bounds = "lat_bnds" ;
                lat:axis = "Y" ;
                lat:origname = "lat" ;
                lat:fullnamepath = "/Grid/lat" ;
float precipitationCal(time, lon, lat) ;
                precipitationCal:DimensionNames = "time,lon,lat" ;
                precipitationCal:Units = "mm/hr" ;
                precipitationCal:units = "mm/hr" ;
                precipitationCal:coordinates = "time lon lat" ;
                precipitationCal:_FillValue = -9999.9f ;
                precipitationCal:CodeMissingValue = "-9999.9" ;
                precipitationCal:origname = "precipitationCal" ;
                precipitationCal:fullnamepath = "/Grid/precipitationCal" ;

提前感谢任何对此有任何见解或建议的人。

按照本指南,我能够相对轻松地解决这个问题 here

下面是我的数据中显示面罩工作的图形示例:

Masked data