[ncl-talk] Fw: usage of landsea.nc for separation of point data

Dennis Shea shea at ucar.edu
Mon Jul 23 08:52:14 MDT 2018


http://www.ncl.ucar.edu/Document/Functions/Shea_util/landsea_mask.shtml

As noted in the function description, the *landsea_mask* function returns a
*grid*.

"*Returns a grid *that contains a land/sea mask given any latitude and
longitude array."

---

lsm  = *landsea_mask*(MASK,lat,lon)

The 'lat' and 'lon' define the coordinates of an array with some
quasi-regular' structure:

   x(lat,lon)   where lat[*],lon[&] are the coordinates of a rectilinear grid.

   X(LAT,LON)   where LAT and LON are two-dimensional
                LAT ==> XLAT(nlat,mlon);  LON ==> XLON(nlat,mlon)

My understanding is that you are inputting station or random locations
rather than a grid-type structure.
You can use landsea_mask in a loop

   b      =        addfile("$NCARG_ROOT/lib/ncarg/data/cdf/landsea.nc","r")
   MASK   =        b->LSMASK
   printVarSummary(MASK)               ; (180,360)
   print("---")

   Z1          =
asciiread("dcc30wcc30.merged.may.050607.txt",-1,"string")
   NUM         =   dimsizes(Z1)
   print(NUM)
   print("---")

   LAT         =   new(NUM,float)
   LON         =   new(NUM,float)
   LSM         =   new(NUM,byte)

   do II       =   0, NUM-1
      SPLIT    =   str_split(Z1(II)," ")
      LAT(II)  =   tofloat(SPLIT(15))
      LON(II)  =   tofloat(SPLIT(16))
      LSM(II)  =   landsea_mask(MASK,LAT(II),LON(II))   ;  individual
locations (II)
   end do

   print(LAT+"   "+LON+"   "+LSM)



On Sat, Jul 21, 2018 at 10:20 AM, Geeta Geeta <geetag54 at yahoo.com> wrote:

> hi Dennis.
>
>
> I earlier sent a message that it has been sorted out. Pls excuse me.
> I have one small doubt.
> I have given one LAt/LON as input then the output is 0 or 1.
> But when I give full array of lat/lon as input, it gives me 2 dimensionsl
> array of 0 and 1.
> here is my code.
>
> Z1         =    asciiread("dcc30wcc30.merged.may.050607.txt",-1,"string")
>
> ;                   print(Z1)
>     NUM        =    dimsizes(Z1)
>                     print(NUM)
>
>    LAT         =   new(NUM,float)
>    LON         =   new(NUM,float)
>
>    do II       =   0, NUM-1
>    SPLIT       =   str_split(Z1(II)," ")
>    LAT(II)     =   stringtofloat(SPLIT(15))
>    LON(II)     =   stringtofloat(SPLIT(16))
> ;                  print(LAT(II)+" "+LON(II))
>    end do
>
> ;  Open landsea file
>
>    b      =        addfile("$NCARG_ROOT/lib/ncarg/data/cdf/landsea.nc","r"
> )
>    MASK   =        b->LSMASK
>                    printVarSummary(MASK)               ; 2 dim var
>                    print(LAT(0)+"------------ "+LON(0))
>
> ;   --------------MASK LAND DATA---------------------------------
>
> ;   lsm  =        landsea_mask(b->LSMASK,6.049608,76.910484)   ;
>  Individual points, Output is 0 or 1
>     lsm  =        landsea_mask(b->LSMASK,LAT,LON)                      ;
>  Gave full array as input
> ;   LO    =       mask(lsm,lsm.eq.1,False)
>          ;  Required for Plotting purpose
>                   printVarSummary(lsm)               ; 2 dim var
> ;                 printVarSummary(LO)               ; 2 dim var
> ;                 print(lsm)
>                   write_table("LL_MASKED.txt","a",[/LAT,LON,lsm/],"%8.1f
> %8.1f %4i")
>
> the output is
> Variable: NUM
> Type: integer
> Total Size: 4 bytes
>             1 values
> Number of Dimensions: 1
> Dimensions and sizes: [1]
> Coordinates:
> (0) 94
>
> Variable: MASK
> Type: byte
> Total Size: 64800 bytes
>             64800 values
> Number of Dimensions: 2
> Dimensions and sizes: [lat | 180] x [lon | 360]
> Coordinates:
>             lat: [-89.5..89.5]
>             lon: [0.5..359.5]
> Number Of Attributes: 1
>   long_name : land_sea_mask
> (0) 12.2952------------ 78.1018
>
> Variable: lsm
> Type: byte
> Total Size: 8836 bytes
>             8836 values
> Number of Dimensions: 2
> Dimensions and sizes: [lat | 94] x [lon | 94]
> Coordinates:
>             lat: [12.29523..17.34258]
>             lon: [78.10181..72.63507]
> Number Of Attributes: 1
>   _FillValue : -127
>
> My doubt is that in the output file, 8896 values are coming. (94*94).
>
> Geeta.
>
>
> On Friday, 20 July 2018 11:45 PM, Dennis Shea <shea at ucar.edu> wrote:
>
>
> Please carefully read the documentation:
>    http://www.ncl.ucar.edu/ Document/Functions/Shea_util/
> landsea_mask.shtml
> <http://www.ncl.ucar.edu/Document/Functions/Shea_util/landsea_mask.shtml>
>
> As noted in the documentation, the land-sea mask is a 1x1 grid.
>
> ---------------
>
> http://www.ncl.ucar.edu/ Applications/mask.shtml
> <http://www.ncl.ucar.edu/Applications/mask.shtml>
> mask_5.ncl
> -----------------
> http://www.ncl.ucar.edu/ Applications/climo.shtml
> <http://www.ncl.ucar.edu/Applications/climo.shtml>
> climo_6.ncl
> ------------------
> http://www.ncl.ucar.edu/ Applications/unique.shtml
> <http://www.ncl.ucar.edu/Applications/unique.shtml>
> unique_14.ncl
> ------------------
> http://www.ncl.ucar.edu/ Applications/mjoclivar.shtml
> <http://www.ncl.ucar.edu/Applications/mjoclivar.shtml>
> mjoclivar_1.ncl
>
> On Fri, Jul 20, 2018 at 11:12 AM, Geeta Geeta <geetag54 at yahoo.com> wrote:
>
> hi all.
> i have some lat/lon of some points that I have plotted on the map. It is a
> simple txt file which contains this information (lat/lon) and I have
> separarate these points into land and sea.
>
> I wanted to know how to use the file landsea.nc  that separates the point
> data over land and over ocean. sample txt file is shown below.
> 20080508.59705.7.HDF     13.367300 76.986855
> 20080530.60046.7.HDF     17.905054 76.779205
> 20090505.65352.7.HDF     5.941240   79.00
> 20090517.65536.7.HDF     18.066799 76.019241
>
> I have attached a sample figure for your reference.
>
> thanks for your suggestions
>
> Geeta.
>
> ______________________________ _________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/ mailman/listinfo/ncl-talk
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180723/9a64f769/attachment.html>


More information about the ncl-talk mailing list