Re: Masking Question

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Tue, 9 Sep 2008 09:27:32 -0600 (MDT)

On Tue, 9 Sep 2008, Tony.Conrad wrote:

> Hello Again:
>
> Thanks for the help you have given me in the past.
>
> This question is about masking. I've included a script (see below). It
> works, but I don't know how to proceed from here. The goal is:
>
> 1) Give all land one color.
> 2) Give each ocean point a color depending on the sea surface
> temperature of that point.
> 3) Mask out all cloudy points over the ocean.
>
> The script does all this. So far so good. From here I'm lost. I now
> want to:
>
> 4) Give all the ocean--except the points colored by a sea surface
> temperature--one color (example: gray).

Hi Tony,

Since you already did step #3 above (masking cloudy points), I assume
that your array contains missing values at locations that you want to
fill in gray?

If so, then you can try setting the following resource:

  res_at_cnMissingValFillColor = "gray"

If this doesn't answer your question, it would be helpful if you could
provide me with your data file. You can email me separately about this.

--Mary

> Will I have to restructure the masks? I'm not sure. Your help is much
> appreciated.
>
> ---A Million Thanks
> ---Tony Conrad
> ---NSOF/NOAA
> ---Suitland, Maryland, USA
>
>
> ;*********************************
> ; alaskapp_4.ncl
> ; This uses the 2D lat/lon array plotting procedure available in
> ; NCL version 4.2.0.a028 and higher (version 4.2.0.a025 contains
> ; the 2D plotting technique, but a bug that prevented this from
> ; being used with EOSDIS data was not corrected until version 4.2.0.a028).
> ;*********************************
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> ;*********************************
> begin
> ;*********************************
> ; read in HDF file
> ;*********************************
> f1 =
> addfile("/usr/data/modisRedo/223-Day/A2008223162500.L2_LAC_SST.hdf", "r")
> ; f1 =
> addfile("/usr/data/modisRedo/223-Day/A2008223000000.L2_LAC_SST.hdf", "r")
> ;*************************************************************
> ; read in sst data
> ;*************************************************************
> ch1_int = f1->sst
> ; printVarSummary(ch1_int)
> ch1 = ch1_int*ch1_int_at_slope(0) ; orig is integer, make float
> ; printVarSummary(ch1)
> ; printMinMax(ch1, True)
> ;*********************************
> ; read in second HDF file
> ;*********************************
> f2 =
> addfile("/usr/data/modisRedo/223-Day/MYD03.A2008223.1625.005.2008224143628.hdf",
> "r")
> ; f2 =
> addfile("/usr/data/modisRedo/223-Day/MYD03.A2008223.0000.005.2008223165522.hdf",
> "r")
> ;*************************************************************
> ; read in navigation data about the sst data
> ;*************************************************************
> lat2d = f2->Latitude
> lon2d = f2->Longitude
>
> ; printVarSummary(lat2d)
> ; printMinMax(lat2d, True)
> ; printVarSummary(lon2d)
> ; printMinMax(lon2d, True)
> ;*********************************
> ; read in third HDF file
> ;*********************************
> f3 =
> addfile("/usr/data/modisRedo/223-Day/MYD35_L2.A2008223.1625.005.2008224153726.hdf",
> "r")
> ;*************************************************************
> ; read in cloud mask data about the sst data
> ;*************************************************************
> cloud = f3->Cloud_Mask(0,:,:)
> ; printVarSummary(cloud)
> ; print(cloud)
> ;*************************************************************
> ; isolate least significant bits (cloud mask) in cloud mask data
> ;*************************************************************
> c_bits = dim_gbits( cloud, 5, 3, 5, 1354 ) ; isolate three bits
> ; printVarSummary(c_bits)
> ; print(c_bits)
> ;*************************************************************
> ; isolate most significant bits (water/land bits) in cloud mask data
> ;*************************************************************
> w_bits = dim_gbits( cloud, 0, 2, 6, 1354 ) ; isolate two bits
> ; printVarSummary(w_bits)
> ; print(w_bits)
> ;*************************************************************
> ; mask out cloudy sst data and sst data over land
> ;*************************************************************
> ; ch2 = mask( ch1, (c_bits.ne.1 .and. ch1.gt.-150.00), True )
> ch2 = mask( ch1, (c_bits.ne.1 .and. w_bits.eq.0), True )
>
> ch2_at_lat2d = lat2d ; assign nav data to sst data
> ch2_at_lon2d = lon2d
> ;*************************************************************
> ; assign named dimensions
> ;*************************************************************
> ch2_at_long_name = "Sea Surface Temp"
> ch2_at_units = "degrees Celsius"
> ;*************************************************************
> ; create plot
> ;*************************************************************
> wks = gsn_open_wks("x11", "alaska")
> ; gsn_define_colormap(wks, "ncview_default") ; choose colormap
> gsn_define_colormap(wks, "rainbow+white+gray") ; choose colormap
>
> res = True
> res_at_cnFillOn = True ; color Fill
> res_at_cnFillMode = "RasterFill" ; Raster Mode
> res_at_cnLinesOn = False ; Turn off contour lines
>
> res_at_cnLevelSelectionMode = "ManualLevels" ; set manual contour levels
> res_at_cnMinLevelValF = -50.0 ; set min contour level
> res_at_cnMaxLevelValF = 30.0 ; set max contour level
> res_at_cnLevelSpacingF = 1.0 ; set contour spacing
>
> res_at_gsnSpreadColors = True ; use full colormap
> res_at_gsnSpreadColorStart = 14 ; start at color 14
> res_at_gsnSpreadColorEnd = 237 ; end at color 237
> res_at_lbLabelStride = 10 ; every 10nth label bar label
> res_at_lbOrientation = "Vertical" ; vertical label bar
>
> res_at_mpProjection = "Stereographic" ; polar stereographic
> res_at_mpLimitMode = "LatLon" ; map bounded by lat/long
> res_at_mpMinLatF = min(lat2d) ; choose lat/lon map limits
> res_at_mpMaxLatF = max(lat2d)
> res_at_mpMinLonF = min(lon2d)
> res_at_mpMaxLonF = max(lon2d)
> res_at_gsnMaximize = True ; maximize (without
> ; overflowing) the plot area
>
> ;*************************************************************
> ; turn on lat/lon labeling
> ;*************************************************************
> res_at_pmTickMarkDisplayMode = "Always" ; turn on tickmarks
> res_at_mpGridAndLimbOn = True ; turn on lat/lon lines
> res_at_mpGridLatSpacingF = 5 ; spacing for lat lines
> res_at_mpGridLonSpacingF = 10 ; spacing for lon lines
>
> res_at_mpFillDrawOrder = "PostDraw" ; draw land last
> res_at_mpLandFillColor = 191 ; color for land
> res_at_mpDataBaseVersion = "Ncarg4_1" ; higher res coastline
> res_at_gsnAddCyclic = False ; needed b/c data not global
>
> res_at_tiMainString = "Modis data on a polar stereographic projection"
>
>
> plot = gsn_csm_contour_map(wks, ch2, res) ; create plot
>
> end
> _______________________________________________
> ncl-talk mailing list
> ncl-talk_at_ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
_______________________________________________
ncl-talk mailing list
ncl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Sep 09 2008 - 09:27:32 MDT

This archive was generated by hypermail 2.2.0 : Wed Sep 10 2008 - 07:38:41 MDT