<div dir="ltr">Attached is a script and a library that<br><br>[1] imports vertical velocity across the five GRIB2 files,<br>[2] interpolates values to each time, level, radius<br>[3] averages to get radial means<br>[3] plots a spatial sample an an arbitrary pressure level and marks the location of the central point<br>[4] plot the radial mean cross section<br><br>*LOOK* at the printVarSummary of each step<br><br>--<br><div>Also, the example data are on a rectilinear grid. However, the function library should work for curvilinear grids [eg: WRF, NARR, ...]</div><div>using the <b>rcm2geocircle </b>function.<br><b></b></div><br>Good Luck<br>D</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 16, 2019 at 3:06 AM David Warner <<a href="mailto:davidwarnerdavid1992@gmail.com">davidwarnerdavid1992@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">The filenames are ockhi03b.2017120100.hwrfprs.synoptic.0p125.f000.grb2, f006 and so on. <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 16, 2019 at 2:22 PM David Warner <<a href="mailto:davidwarnerdavid1992@gmail.com" target="_blank">davidwarnerdavid1992@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Thank you very much for your response.<br></div><div><br></div><div>I am trying to implement the same method for a variable chosen from the model output which is in GRIB2 format.</div><div><br></div><div>I have many forecast files(126hr forecast) initialized at 1-Dec-2017 00:00 during the cyclone time. For time being I am attaching 5 forecast files (f000, f006, f012, f018, f024) and I used "join" to concatenate all the five files. (uploaded data files using ftp)<br></div><div> <br></div><div>Each grib2 file has got the following variables. And my task is to compute the radius-height cross-section of the variable "TMP_P0_L100_GLL0" for the desired forecast hour and lat/lon location.</div><br><div><i><span style="color:rgb(0,0,255)">Variable: vNames<br>Type: string<br>Total Size: 568 bytes<br> 71 values<br>Number of Dimensions: 1<br>Dimensions and sizes: [71]<br>Coordinates: <br>(0) TMP_P0_L1_GLL0<br>(1) TMP_P0_L7_GLL0<br>(2) TMP_P0_L100_GLL0<br>(3) TMP_P0_L103_GLL0<br>(4) POT_P0_L7_GLL0<br>(5) DPT_P0_L100_GLL0<br>(6) DPT_P0_L103_GLL0<br>(7) LHTFL_P0_L1_GLL0<br>(8) SHTFL_P0_L1_GLL0<br>(9) SPFH_P0_L100_GLL0<br>(10) SPFH_P0_L103_GLL0<br>(11) RH_P0_L100_GLL0<br>(12) RH_P0_L103_GLL0<br>(13) PWAT_P0_L200_GLL0<br>(14) CLWMR_P0_L100_GLL0<br>(15) RWMR_P0_L100_GLL0<br>(16) SNMR_P0_L100_GLL0<br>(17) RIME_P0_L100_GLL0<br>(18) TCOLR_P0_L200_GLL0<br>(19) TCOLS_P0_L200_GLL0<br>(20) UGRD_P0_L7_GLL0<br>(21) UGRD_P0_L100_GLL0<br>(22) UGRD_P0_L103_GLL0<br>(23) VGRD_P0_L7_GLL0<br>(24) VGRD_P0_L100_GLL0<br>(25) VGRD_P0_L103_GLL0<br>(26) VVEL_P0_L100_GLL0<br>(27) ABSV_P0_L100_GLL0<br>(28) UFLX_P0_L1_GLL0<br>(29) VFLX_P0_L1_GLL0<br>(30) VWSH_P0_L7_GLL0<br>(31) CD_P0_L103_GLL0<br>(32) PRES_P0_L1_GLL0<br>(33) PRES_P0_L7_GLL0<br>(34) PRMSL_P0_L101_GLL0<br>(35) HGT_P0_L1_GLL0<br>(36) HGT_P0_L7_GLL0<br>(37) HGT_P0_L100_GLL0<br>(38) HPBL_P0_L1_GLL0<br>(39) DSWRF_P0_L1_GLL0<br>(40) USWRF_P0_L1_GLL0<br>(41) DLWRF_P0_L1_GLL0<br>(42) ULWRF_P0_L1_GLL0<br>(43) CICE_P0_L100_GLL0<br>(44) TCOND_P0_L100_GLL0<br>(45) TCOLW_P0_L200_GLL0<br>(46) TCOLI_P0_L200_GLL0<br>(47) TCOLC_P0_L200_GLL0<br>(48) CAPE_P0_L1_GLL0<br>(49) CIN_P0_L1_GLL0<br>(50) HLCY_P0_2L103_GLL0<br>(51) REFD_P0_L100_GLL0<br>(52) REFC_P0_L200_GLL0<br>(53) NLAT_P0_L1_GLL0<br>(54) ELON_P0_L1_GLL0<br>(55) LAND_P0_L1_GLL0<br>(56) SFCR_P0_L1_GLL0<br>(57) WTMP_P0_L1_GLL0<br>(58) LCH_P0_L103_GLL0<br>(59) APCP_P8_L1_GLL0_acc<br>(60) NCPCP_P8_L1_GLL0_acc<br>(61) ACPCP_P8_L1_GLL0_acc<br>(62) DSWRF_P8_L1_GLL0_avg<br>(63) USWRF_P8_L1_GLL0_avg<br>(64) DLWRF_P8_L1_GLL0_avg<br>(65) ULWRF_P8_L1_GLL0_avg<br>(66) lv_HTGL2<br>(67) lv_ISBL1<br>(68) lv_ISBL0<br>(69) lat_0<br>(70) lon_0</span><br></i></div><div><br></div>But before proceeding to the averaging stuff, first I tried to understand the input variable. I picked up "TMP_P0_L100_GLL0" (temperature) and this is how it looks like after joining.</div><div dir="ltr"><br></div><div dir="ltr"><div><i><span style="color:rgb(0,0,255)">Variable: temp<br>Type: float<br>Total Size: 584384920 bytes<br> 146096230 values<br>Number of Dimensions: 4<br>Dimensions and sizes: [ncl_join | 5] x [lv_ISBL0 | 46] x [lat_0 | 721] x [lon_0 | 881]<br>Coordinates: <br> lv_ISBL0: [200..100000]<br> lat_0: [57..-33]<br> lon_0: [14.2..124.2]<br>Number Of Attributes: 12<br> center : US National Weather Service - NCEP (WMC)<br> production_status : Operational products<br> long_name : Temperature<br> units : K<br> _FillValue : 1e+20<br> grid_type : Latitude/longitude<br> parameter_discipline_and_category : Meteorological products, Temperature<br> parameter_template_discipline_category_number : ( 0, 0, 0, 0 )<br> level_type : Isobaric surface (Pa)<br> forecast_time : 0<br> forecast_time_units : hours<br> initial_time : 12/01/2017 (00:00)</span></i><br></div><div><br></div><span style="color:rgb(0,0,0)">Since this is forecast, there is only</span><i><span style="color:rgb(0,0,0)"> </span> <i><span style="color:rgb(0,0,255)"> forecast_time : 0</span></i></i><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,0)"> information available from individual grib files. Now, how must I proceed to assign the<span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,0)"> time information for </span></span>the temp variable</span></span><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,255)"><font color="#000000"> when I use "join"? Which option would fit better to concatenate the forecast grib files ("join" or "cat")? <br></font></span></span></div><div dir="ltr"><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,255)"><font color="#000000"><br></font></span></span></div><div dir="ltr"><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,255)"><font color="#000000">ncl 0>dnam = getvardimnames(temp)<br>ncl 1>print(dnam(0))<br></font></span></span></div><div dir="ltr"><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,255)"><font color="#000000"><br></font></span></span></div><div dir="ltr"><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,255)"><font color="#000000"><span style="color:rgb(0,0,255)"><i>Variable: temp (subsection)<br>Type: float<br>Total Size: 20 bytes<br> 5 values<br>Number of Dimensions: 1<br>Dimensions and sizes: [ncl_join | 5]<br>Coordinates: <br>Number Of Attributes: 15<br> lon_0 : 14.2<br> lat_0 : 57<br> lv_ISBL0 : 200<br> initial_time : 12/01/2017 (00:00)<br> forecast_time_units : hours<br> forecast_time : 0<br> level_type : Isobaric surface (Pa)<br> parameter_template_discipline_category_number : ( 0, 0, 0, 0 )<br> parameter_discipline_and_category : Meteorological products, Temperature<br> grid_type : Latitude/longitude<br> _FillValue : 1e+20<br> units : K<br> long_name : Temperature<br> production_status : Operational products<br> center : US National Weather Service - NCEP (WMC)<br>(0) 1e+20<br>(1) 1e+20<br>(2) 1e+20<br>(3) 1e+20<br>(4) 1e+20</i></span><br><br></font></span></span></div><div dir="ltr"><div><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,0)"><span style="color:rgb(0,0,255)"><span style="color:rgb(0,0,0)"> Shouldn't the output of the above command be 0,1,2,3,4 instead of 1e+20? I am new to NCL and trying my best to figure out the things. Kindly help me. </span></span></span><i><span style="color:rgb(0,0,255)"><i><span style="color:rgb(0,0,255)"></span></i></span></i></span></div><div><br></div><div>Thanks in advance for your time and support.<br></div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 11, 2019 at 4:11 AM Dennis Shea <<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>For sure, the [nice] plot was generated by NCL [panel plot with common labelbar].</div><div>---</div><div>There was a 2017 thread on this topic. A rough approach [tst_polar.ncl] was attached to that thread.</div><div>I cleaned it up and made it a function. A pic of the methodology used by the function (or tries to do) is here:<br></div><div><br></div><div>; A conceptual sketch: A pic:<br>; <a href="https://cs.stackexchange.com/questions/43744/fast-algorithm-for-interpolating-data-from-polar-coordinates-to-cartesian-coordi" target="_blank"><b>https://cs.stackexchange.com/questions/43744/fast-algorithm-for-interpolating-data-from-polar-coordinates-to-cartesian-coordi</b></a><br><br></div><div>This works in degrees not km.</div><div><br></div><div>However, if your convert the 'radius' [degrees] to those that coincide with km distance, this should work! I hope!!! <br></div><div><br></div><div>The attached uses <b>random data </b>so the plot [azimuthal_avg.png] does not look too good. <br></div><div>=====</div><div><br></div><div>A better function would use "<a href="https://www.ncl.ucar.edu/Document/Functions/Contributed/geolocation_circle.shtml" target="_blank"><b>geolocation_circle</b></a>"</div><div>This optionally allows 'degrees' or 'km' as input and would allow for <b>much</b> higher spatial sample at each radii.</div><div>Some example of its use are at:</div><div><br></div><div><a href="https://www.ncl.ucar.edu/Applications/polyg.shtml" target="_blank"><b>https://www.ncl.ucar.edu/Applications/polyg.shtml</b></a></div><div>Examples<b>:</b></div><div><b>polyg_24, polyg_25<br></b></div><div><b><b>polyg_29</b>, <b>polyg_30</b> and <b>polyg_31</b></b></div><div><br></div><div>Good luck<br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 10, 2019 at 7:19 AM David Warner <<a href="mailto:davidwarnerdavid1992@gmail.com" target="_blank">davidwarnerdavid1992@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><img src="cid:ii_jvi3wap20" alt="image.png" width="561" height="311"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 10, 2019 at 6:46 PM David Warner <<a href="mailto:davidwarnerdavid1992@gmail.com" target="_blank">davidwarnerdavid1992@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><pre><span style="font-family:arial,sans-serif">Dear NCL community,<br><br></span></pre><pre><span style="font-family:arial,sans-serif">Is there any function available in NCL to compute the azimuthal average of a 3D variable. <br><br>For example, I need to plot something similar to the image displayed which is the height-radius crosssection of azimuthal average of vertical velocity. <br><br></span></pre><pre><span style="font-family:arial,sans-serif">Given the lat and lon locations by the user, the function must compute the azimuthal mean of the variable.<br><br></span></pre><pre><span style="font-family:arial,sans-serif">Any suggestions would be highly appreciated. Kindly reply at your earliest convenience.<br></span></pre><pre><span style="font-family:arial,sans-serif"><br></span></pre><div><img alt="image.png" width="561" height="319"></div><div>(Image courtesy:<span id="gmail-m_-2895010288416795581gmail-m_-6128726613009457287gmail-m_6224666629205079046gmail-m_-8854229690700583885gmail-m_-5340743869379119998gmail-m_-3766095973100091693gmail-m_-4192458457768616181gmail-yui_3_14_1_1_1557493011558_134"> Hui Wang et al</span>., 2014)</div></div>
</blockquote></div>
_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>