<div dir="ltr"><div>Hi,<br><br></div><div>I need to mask the ocean data from my model data of temperature to see temperatures on land only and compare that with APHRODITES later. <br><br></div><div>I tried to mask with oro from atmos file given at ncl website. Problem is Field16 (temperature) is 4D and oro is 2D. What can be solution for this problem? Can I alternatively use any other mask array for this case? <br><br></div><div>Please help me to solve this problem.<br><br></div><div>Current output map is attached. <br><br></div><div>Giving below the file details:<br></div><div><br>ncdump -h <a href="http://wah2_sas_1985_2007.part.seasmean.temp.nc">wah2_sas_1985_2007.part.seasmean.temp.nc</a><br><br>netcdf wah2_sas_1985_2007.part.seasmean.temp {<br>dimensions:<br>        x = 209 ;<br>        y = 145 ;<br>        x_2 = 209 ;<br>        y_2 = 146 ;<br>        z0 = 1 ;<br>        z1 = 1 ;<br>        z2 = 1 ;<br>        time0 = UNLIMITED ; // (1 currently)<br>variables:<br>        float global_longitude0(y, x) ;<br>                global_longitude0:standard_name = &quot;longitude&quot; ;<br>                global_longitude0:long_name = &quot;longitude&quot; ;<br>                global_longitude0:units = &quot;degrees_east&quot; ;<br>                global_longitude0:_CoordinateAxisType = &quot;Lon&quot; ;<br>        float global_latitude0(y, x) ;<br>                global_latitude0:standard_name = &quot;latitude&quot; ;<br>                global_latitude0:long_name = &quot;latitude&quot; ;<br>                global_latitude0:units = &quot;degrees_north&quot; ;<br>                global_latitude0:_CoordinateAxisType = &quot;Lat&quot; ;<br>        float global_longitude1(y_2, x_2) ;<br>                global_longitude1:standard_name = &quot;longitude&quot; ;<br>                global_longitude1:long_name = &quot;longitude&quot; ;<br>                global_longitude1:units = &quot;degrees_east&quot; ;<br>                global_longitude1:_CoordinateAxisType = &quot;Lon&quot; ;<br>        float global_latitude1(y_2, x_2) ;<br>                global_latitude1:standard_name = &quot;latitude&quot; ;<br>                global_latitude1:long_name = &quot;latitude&quot; ;<br>                global_latitude1:units = &quot;degrees_north&quot; ;<br>                global_latitude1:_CoordinateAxisType = &quot;Lat&quot; ;<br>        float z0(z0) ;<br>                z0:standard_name = &quot;height&quot; ;<br>                z0:units = &quot;m&quot; ;<br>                z0:positive = &quot;up&quot; ;<br>                z0:axis = &quot;Z&quot; ;<br>        float z1(z1) ;<br>                z1:standard_name = &quot;height&quot; ;<br>                z1:units = &quot;m&quot; ;<br>                z1:positive = &quot;up&quot; ;<br>                z1:axis = &quot;Z&quot; ;<br>        float z2(z2) ;<br>                z2:standard_name = &quot;air_pressure&quot; ;<br>                z2:units = &quot;hPa&quot; ;<br>                z2:positive = &quot;down&quot; ;<br>                z2:axis = &quot;Z&quot; ;<br>        double time0(time0) ;<br>                time0:standard_name = &quot;time&quot; ;<br>                time0:units = &quot;days since 1959-12-01 00:00:00&quot; ;<br>                time0:calendar = &quot;360_day&quot; ;<br>        float field48(time0, z0, y, x) ;<br>                field48:standard_name = &quot;eastward_wind&quot; ;<br>                field48:long_name = &quot;10 METRE WIND U-COMP&quot; ;<br>                field48:units = &quot;m s-1&quot; ;<br>                field48:coordinates = &quot;global_longitude0 global_latitude0&quot; ;<br>                field48:_FillValue = -1.073742e+09f ;<br>                field48:stash_item = &quot;225&quot; ;<br>                field48:stash_section = &quot;3&quot; ;<br>                field48:field_code = &quot;56&quot; ;<br>                field48:cell_method = &quot;time: mean &quot; ;<br>        float field49(time0, z0, y, x) ;<br>                field49:standard_name = &quot;northward_wind&quot; ;<br>                field49:long_name = &quot;10 METRE WIND V-COMP&quot; ;<br>                field49:units = &quot;m s-1&quot; ;<br>                field49:coordinates = &quot;global_longitude0 global_latitude0&quot; ;<br>                field49:_FillValue = -1.073742e+09f ;<br>                field49:stash_item = &quot;226&quot; ;<br>                field49:stash_section = &quot;3&quot; ;<br>                field49:field_code = &quot;57&quot; ;<br>                field49:cell_method = &quot;time: mean &quot; ;<br>        float field16(time0, z0, y_2, x_2) ;<br>                field16:standard_name = &quot;air_temperature&quot; ;<br>                field16:long_name = &quot;TEMPERATURE AT 1.5M&quot; ;<br>                field16:units = &quot;K&quot; ;<br>                field16:coordinates = &quot;global_longitude1 global_latitude1&quot; ;<br>                field16:_FillValue = -1.073742e+09f ;<br>                field16:stash_item = &quot;236&quot; ;<br>                field16:stash_section = &quot;3&quot; ;<br>                field16:field_code = &quot;16&quot; ;<br>                field16:cell_method = &quot;time: maximum &quot; ;<br>        float field16_1(time0, z0, y_2, x_2) ;<br>                field16_1:standard_name = &quot;air_temperature&quot; ;<br>                field16_1:long_name = &quot;TEMPERATURE AT 1.5M&quot; ;<br>                field16_1:units = &quot;K&quot; ;<br>                field16_1:coordinates = &quot;global_longitude1 global_latitude1&quot; ;<br>                field16_1:_FillValue = -1.073742e+09f ;<br>                field16_1:stash_item = &quot;236&quot; ;<br>                field16_1:stash_section = &quot;3&quot; ;<br>                field16_1:field_code = &quot;16&quot; ;<br>                field16_1:cell_method = &quot;time: minimum &quot; ;<br>        float field90(time0, z1, y_2, x_2) ;<br>                field90:standard_name = &quot;precipitation_flux&quot; ;<br>                field90:long_name = &quot;TOTAL PRECIPITATION RATE KG/M2/S&quot; ;<br>                field90:units = &quot;kg m-2 s-1&quot; ;<br>                field90:coordinates = &quot;global_longitude1 global_latitude1&quot; ;<br>                field90:_FillValue = -1.073742e+09f ;<br>                field90:stash_item = &quot;216&quot; ;<br>                field90:stash_section = &quot;5&quot; ;<br>                field90:field_code = &quot;90&quot; ;<br>                field90:cell_method = &quot;time: mean &quot; ;<br>        float field93(time0, z1, y_2, x_2) ;<br>                field93:standard_name = &quot;snowfall_amount&quot; ;<br>                field93:long_name = &quot;SNOW MASS AFTER HYDROLOGY KG/M2&quot; ;<br>                field93:units = &quot;kg m-2&quot; ;<br>                field93:coordinates = &quot;global_longitude1 global_latitude1&quot; ;<br>                field93:_FillValue = -1.073742e+09f ;<br>                field93:stash_item = &quot;23&quot; ;<br>                field93:stash_section = &quot;8&quot; ;<br>                field93:field_code = &quot;93&quot; ;<br>                field93:cell_method = &quot;time: mean &quot; ;<br>        float field1532(time0, z1, y_2, x_2) ;<br>                field1532:standard_name = &quot;surface_runoff_flux&quot; ;<br>                field1532:long_name = &quot;SURFACE RUNOFF RATE KG/M2/S&quot; ;<br>                field1532:units = &quot;kg m-2 s-1&quot; ;<br>                field1532:coordinates = &quot;global_longitude1 global_latitude1&quot; ;<br>                field1532:_FillValue = -1.073742e+09f ;<br>                field1532:stash_item = &quot;234&quot; ;<br>                field1532:stash_section = &quot;8&quot; ;<br>                field1532:field_code = &quot;1532&quot; ;<br>                field1532:cell_method = &quot;time: mean &quot; ;<br>        float field1(time0, z2, y_2, x_2) ;<br>                field1:standard_name = &quot;geopotential_height&quot; ;<br>                field1:long_name = &quot;GEOPOTENTIAL HEIGHT: PRESSURE LEVELS&quot; ;<br>                field1:units = &quot;m&quot; ;<br>                field1:coordinates = &quot;global_longitude1 global_latitude1&quot; ;<br>                field1:_FillValue = -1.073742e+09f ;<br>                field1:stash_item = &quot;202&quot; ;<br>                field1:stash_section = &quot;16&quot; ;<br>                field1:field_code = &quot;1&quot; ;<br>                field1:cell_method = &quot;time: mean &quot; ;<br><br>// global attributes:<br>                :CDI = &quot;Climate Data Interface version 1.6.0 (<a href="http://code.zmaw.de/projects/cdi">http://code.zmaw.de/projects/cdi</a>)&quot; ;<br>                :Conventions = &quot;CF-1.3&quot; ;<br>                :history = &quot;Tue Nov 10 15:58:38 2015: cdo timmean -selmon,6/9 <a href="http://wah2_sas_1985_2007.part.nc">wah2_sas_1985_2007.part.nc</a> <a href="http://wah2_sas_1985_2007.part.seasmean.temp.nc">wah2_sas_1985_2007.part.seasmean.temp.nc</a>\n&quot;,<br>                        &quot;Mon Nov 09 12:02:27 2015: cdo mergetime <a href="http://wah2_sas_ga.pdi.1985.nc">wah2_sas_ga.pdi.1985.nc</a> <a href="http://wah2_sas_1987_p2.nc">wah2_sas_1987_p2.nc</a> <a href="http://wah2_sas_ga.pdj.1991.nc">wah2_sas_ga.pdj.1991.nc</a> <a href="http://wah2_sas_ga.pdj.1992.nc">wah2_sas_ga.pdj.1992.nc</a> <a href="http://wah2_sas_1994_p2.nc">wah2_sas_1994_p2.nc</a> <a href="http://wah2_sas_ga.pdj.1995.nc">wah2_sas_ga.pdj.1995.nc</a> <a href="http://wah2_sas_ga.pdj.1996.nc">wah2_sas_ga.pdj.1996.nc</a> <a href="http://wah2_sas_ga.pdj.1997.nc">wah2_sas_ga.pdj.1997.nc</a> <a href="http://wah2_sas_ga.pdj.1998.nc">wah2_sas_ga.pdj.1998.nc</a> <a href="http://wah2_sas_ga.pdk.2000.nc">wah2_sas_ga.pdk.2000.nc</a> <a href="http://wah2_sas_ga.pdk.2001.nc">wah2_sas_ga.pdk.2001.nc</a> <a href="http://wah2_sas_ga.pdk.2002.nc">wah2_sas_ga.pdk.2002.nc</a> <a href="http://wah2_sas_ga.pdk.2003.nc">wah2_sas_ga.pdk.2003.nc</a> <a href="http://wah2_sas_ga.pdk.2004.nc">wah2_sas_ga.pdk.2004.nc</a> <a href="http://wah2_sas_ga.pdk.2005.nc">wah2_sas_ga.pdk.2005.nc</a> <a href="http://wah2_sas_ga.pdk.2006.nc">wah2_sas_ga.pdk.2006.nc</a> <a href="http://wah2_sas_1985_2007.part.nc">wah2_sas_1985_2007.part.nc</a>\n&quot;,<br>                        &quot;Fri Oct 23 12:59:32 2015: cdo mergetime <a href="http://0049ga.pdk6dec.nc">0049ga.pdk6dec.nc</a> <a href="http://0049ga.pdk7jan.nc">0049ga.pdk7jan.nc</a> <a href="http://0049ga.pdk7feb.nc">0049ga.pdk7feb.nc</a> <a href="http://0049ga.pdk7mar.nc">0049ga.pdk7mar.nc</a> <a href="http://0049ga.pdk7apr.nc">0049ga.pdk7apr.nc</a> <a href="http://0049ga.pdk7may.nc">0049ga.pdk7may.nc</a> <a href="http://0049ga.pdk7jun.nc">0049ga.pdk7jun.nc</a> <a href="http://0049ga.pdk7jul.nc">0049ga.pdk7jul.nc</a> <a href="http://0049ga.pdk7aug.nc">0049ga.pdk7aug.nc</a> <a href="http://0049ga.pdk7sep.nc">0049ga.pdk7sep.nc</a> <a href="http://0049ga.pdk7oct.nc">0049ga.pdk7oct.nc</a> <a href="http://0049ga.pdk7nov.nc">0049ga.pdk7nov.nc</a> <a href="http://wah2_sas_ga.pdk.2006.nc">wah2_sas_ga.pdk.2006.nc</a>&quot; ;<br>                :alpham = 0.5f ;<br>                :CDO = &quot;Climate Data Operators version 1.6.0 (<a href="http://code.zmaw.de/projects/cdo">http://code.zmaw.de/projects/cdo</a>)&quot; ;<br><br><br>while,<br><br>Variable: oro<br>Type: float<br>Total Size: 32768 bytes<br>            8192 values<br>Number of Dimensions: 2<br>Dimensions and sizes:   [lat | 64] x [lon | 128]<br>Coordinates:<br>            lat: [-87.8638..87.8638]<br>            lon: [ 0..357.1875]<br>Number Of Attributes: 2<br>  time :         791<br>  long_name :   ocean (0), land (1), sea ice (2) flag<br></div>The script I used is:<br><br><div>;*********************************<br>;<br>;**********************************<br>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl&quot;  <br>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl&quot;  <br>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;   <br>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl&quot;  <br>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/popRemap.ncl&quot;  <br>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/contrib/calendar_decode2.ncl&quot;<br>;************************************************<br><br>begin<br><br>; read in data<br><br>f=addfile (&quot;/ouce-home/students/rege1218/WAH2_SAS_Results_1985_2011/<a href="http://wah2_sas_1985_2007.part.seasmean.temp.nc">wah2_sas_1985_2007.part.seasmean.temp.nc</a>&quot;, &quot;r&quot;);    <br>f1=addfile(&quot;/ouce-home/students/rege1218/WAH2_SAS_Results_1985_2011/<a href="http://atmos.nc">atmos.nc</a>&quot;,&quot;r&quot;)<br><br>temp_mod1 = f-&gt;field16<br>temp_mod1 = temp_mod1 - 273.15 ; Convert Kelvin -&gt; Celsius <br><br>temp_mod2 = f-&gt;field16_1<br>temp_mod2 = temp_mod2 - 273.15 ; Convert Kelvin -&gt; Celsius <br><br>temp_mod = (temp_mod1+temp_mod2)/2 <br>time = f-&gt;time0<br>lat2d = f-&gt;global_latitude1  ;0<br>lon2d = f-&gt;global_longitude1 ;0<br>;lat = f-&gt;latitude1<br>;lon = f-&gt;longitude1<br><br>temp_mod!0 = &quot;time&quot;<br>temp_mod!1 = &quot;surface&quot;<br>temp_mod!2 = &quot;lat&quot;<br>temp_mod!3 = &quot;lon&quot;<br>temp_mod@units = &quot;(C)&quot;       ; Change units to reflect. <br>temp_mod@lat2d = lat2d<br>temp_mod@lon2d = lon2d<br><br>temp_mod = temp_mod(0,0,:,:)<br>oro = f1-&gt;ORO(0,:,:)<br><br>printVarSummary(temp_mod)<br>printVarSummary(oro)<br><br>;***********************************************************<br>; use mask function to mask out land then ocean data<br>; ocean=0, land=1, sea_ice=2<br>;***********************************************************<br>land_only = temp_mod        ;trick to keep cv&#39;s and atts<br>ocean_only = temp_mod<br><br><br>land_only = mask(temp_mod, oro,1)     ; Return the values of temp_mod where oro=1<br>ocean_only = mask(temp_mod, oro,0)    ; Return the values of temp_mod where oro=0<br><br>;***********************************************************<br>; create plots<br>;***********************************************************<br>  <br>  wks = gsn_open_wks(&quot;eps&quot;,&quot;temp1&quot;)  <br>  gsn_define_colormap(wks,&quot;hotcolr_19lev&quot;)      ; choose colormap<br>  ;gsn_reverse_colormap(wks)<br>  res                          = True<br>  res@cnFillOn                 = True                 ; turn on color<br>  res@cnLinesOn                = False             ; turn off contour lines<br>  res@cnLevelSpacingF          = 0.10              ; contour interval<br>  res@cnFillDrawOrder          = &quot;PreDraw&quot;         ; draw contours first<br>  res@lbLabelStride            = 2                 ; stride on label bar<br>  res@gsnSpreadColors          = True              ; use full colormap<br>  res@gsnSpreadColorEnd        = -3                ; -3 don&#39;t use land color<br>  res@gsnAddCyclic             = False             ; regional data <br>  res@gsnLeftString            = &quot;&quot;<br>  res@tiMainString             = &quot;&quot;<br>  res@gsnRightString           = &quot;&quot;<br>  ;res@mpProjection            = &quot;LambertConformal&quot;<br>  ;res@gsnMaskLambertConformal = True<br>  res@mpMaxLatF                = 60;max(lat)  ; zoom in on region<br>  res@mpMinLatF                = -30;min(lat)<br>  res@mpMinLonF                = 0;min(lon)<br>  res@mpMaxLonF                = 130; max(lon)<br>  res@mpCenterLonF = 10                          ; def is zero<br>  res@mpLandFillColor          = &quot;Transparent&quot;<br>  res@cnLevelSelectionMode= &quot;ManualLevels&quot;<br>  res@cnMinLevelValF      =  -4.00<br>  res@cnMaxLevelValF      =  48.00 ;2<br>  res@cnLevelSpacingF     = 2 ;2<br>  res@lbLabelAutoStride   = True<br>  temp_mod@_FillValue    = 0.0<br>  temp_mod@_FillValue    = -999<br><br>  plot_test = gsn_csm_contour_map(wks,land_only(0,0,:,:),res)<br><br><br>end<br><br>error I got:<br><br>fatal:mask: dimension sizes  of parameter 0 and parameter 1 do not match<br>fatal:Execute: Error occurred at or near line 54 in file Correctred_wah2_sas_seasonalmean_temp_1985_2007_part.ncl<br><br><br></div><div>Thank you,<br></div><div>Ruksana<br></div><div><br></div></div>