<div dir="ltr"><div><div><div><div>What to say?<br><br></div>[1] The Eady-Growth-Rate (EGR)  is a <b>*non-linear*</b> quantity. It should <b>not </b>be applied to monthly mean data. It should be applied to (say) 00Z,06Z,... values.<br><br></div>[2] If, for some reason, you want monthly mean values of EGR, then you would compute the monthly means of the values computed in [1].<br><br></div>[3] That said: did you read the documentation?<br><br></div>[SNIP]<br><div> The maximum Eady growth rate is a measure of baroclinic instability.
<pre>  eady_growth_rate = 0.3098*g*<a href="http://test.www.ncl.ucar.edu/Document/Functions/Built-in/abs.shtml"><strong>abs</strong></a>(f)*<a href="http://test.www.ncl.ucar.edu/Document/Functions/Built-in/abs.shtml"><strong>abs</strong></a>(du/dz)/<a href="http://test.www.ncl.ucar.edu/Document/Functions/Contributed/brunt_vaisala_atm.shtml"><strong>brunt_vaisala_atm</strong></a>   
</pre>[SNIP]<br><br></div><div>Note the '(<b>du/dz</b>)'  *and* the <strong>'brunt_vaisala_atm'. </strong>The brunt-vaisala is a measure of vertical bouyancy. Hence, *BOTH* require a vertical dimension. The code you posted the following  </div><div><div><br>T41    = f->Z3(:,{850},:,:)<br>   printVarSummary(T41)     ; [Time|12]x[ilev | 26] x [lat | 96] x [lon | 144]<br><br></div><div>This is *NOT* correct. It is very misleading. In fact, it is<br><br>   printVarSummary(T41)    ; ; [Time|12]x [lat | 96] x [lon | 144]</div><div><br><div><div><span style="color:rgb(255,0,0)"><b>You have eliminated the required vertical dimension.</b></span> <br><br></div><div>[4] The following makes no sense. You are overwriting latitudes with some mean quantity? Why?<br><br>  XLAT = conform ( aveX2 , xlat , 0 ) <br>   printVarSummary(XLAT)<br>   <b>XLAT=aveX2                    <==== WHAT???   This is wrong!</b><br>   printVarSummary(XLAT)</div><div><br><br></div><div>[5] The geopotential height and the zonal wind are on mid-layer hybrid levels. The potential temperature values are on intermediate levels. The function expects all the values to be on the same levels. You would have to interpolate.<br><br>============<br></div><div>Enough!!!!<br><br></div><div>Comment [1] is the one you should fully understand.<br><br></div><div>I suggest talking with an advisor of some sort.<br><br></div><div><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 23, 2018 at 12:28 AM, Sri Nandini <span dir="ltr"><<a href="mailto:snandini@marum.de" target="_blank">snandini@marum.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Hello</div><div><br></div><div>My question is to anyone who has used the eady growth rate function before and can explain why my output had some nan values. I am interested in the baroclinicity at 85hPa.<br></div><div>My code is below. The output is also below. The plot of the output is attached. There are no error messages, but i do have nan values. Im sure its to do with how im defining the FillValues but i just cant seem to get it right, even after i have changed it several times and done print to see outputs from all variables.</div><div><br></div><div>All variables which are input for the eady growth function have data points. Its just after the function which gives nan. Could someone please explain how the NCL eady growth function actually works?</div><div><br></div><div>Much appreciated. </div><div><br></div><div><br></div><div>f= addfile("SLP_PHIS_Z3_PI.nc", "r") ;<br>   T41    = f->Z3(:,{850},:,:)<br><br>   printVarSummary(T41)     ; [Time|12]x[ilev | 26] x [lat | 96] x [lon | 144]<br><br>   T41@_FillValue = -9.96921e+36  <br> <br>   aveX    = dim_avg_n_Wrap(T41,0)  <br>   printVarSummary(aveX)         <wbr>             ; (lat,lon)<br>   aveX@_FillValue =9.96921e+36  <br>   print(where(aveX.ne.0, aveX, aveX@_FillValue))<br><br>   aveX = 1. / where(aveX.ne.0, aveX, aveX@_FillValue) <br><br>;=============================<wbr>==============================<wbr>===<br><br>   f1= addfile("totalwinds_PI.nc", "r") ;<br>   T411    = f1->U(:,{850},:,:)<br><br>   printVarSummary(T411)       ; [Time|12]x[ilev | 26] x [lat | 96] x [lon | 144]<br>   T411@_FillValue = -9.96921e+36     <br><br>   aveX1    = dim_avg_n_Wrap(T411,0)  <br>   printVarSummary(aveX1)        <wbr>                        ; (lat,lon)<br><br>   aveX1@_FillValue = 9.96921e+36   <br><br>   aveX1 = 1. / where(aveX1.ne.0, aveX1, aveX1@_FillValue) <br>;=============================<wbr>==============================<wbr>===<br>   f2= addfile("th_PI.nc", "r") ;<br>   T412    = f2->TH(:,{900},:,:)<br><br>   printVarSummary(T412)       ; [Time|12]x[ilev | 27] x [lat | 96] x [lon | 144]<br>   T412@_FillValue = -9.96921e+36      <br><br>   aveX2    = dim_avg_n_Wrap(T412,0)  <br>   printVarSummary(aveX2)        <wbr>                        ; (lat,lon)<br><br>   aveX2@_FillValue = 9.96921e+36  <br><br>   aveX2 = 1. / where(aveX2.ne.0, aveX2, aveX2@_FillValue) <br><br>;=============================<wbr>==============================<wbr>===<br>   <br>;    Read latitudes <br>;    The 'eady_growth_rate' function requires that 'lat' and 'th' agree<br>;    Use 'conform' the propogate the lat values<br>;=============================<wbr>==============================<wbr>===<br><br>   xlat = f->lat                        <wbr>       ;  [lat | 96] <br>   printVarSummary(xlat)<br><br>   ;[Time|12]x[ilev | 26] x [lat | 96] x [lon | 144]<br>   ;    0           1          2             3           <== dimension numbers<br>   ;XLAT = conform(T412, xlat, 2)     ; problem here <br><br><br>   XLAT = conform ( aveX2 , xlat , 0 ) <br>   printVarSummary(XLAT)<br>   XLAT=aveX2<br>   printVarSummary(XLAT)<br><br>   XLAT=lonFlip(XLAT)<br>   printVarSummary(XLAT)<br>;=============================<wbr>==============================<wbr>===<br><br>   egr = eady_growth_rate(aveX2, aveX1, aveX, XLAT, 0,  1)<br>   printVarSummary(egr)<br><br>   ;printMinMax(egr,0)<br><br>   ;print(egr)<br>   print("-----------------------<wbr>------------------")<br><br>;=============================<wbr>==============================<wbr>===<br><br> wks = gsn_open_wks("pdf","Eady_850")<wbr>              ; send graphics to PNG file<br><br>;---Set some basic plot options<br><br>   res               = True<br>   res@gsnMaximize   = True       ; maximize plot in frame<br>   ;res@gsnAddCyclic  = False<br><br>   res@cnFillOn      = True  <br>   res@cnLinesOn     = False<br>   ;res@cnFillMode    = "RasterFill"                 ; slow here<br>   ;res@cnFillMode    = "CellFill"                   ; faster<br><br>   ;res@cnFillPalette        = "precip2_17lev"    ;BrRiEgr<br><br><br>  res@mpMaxLatF                 <wbr>  = 80           ; choose a different subregion<br>  res@mpMinLatF                 <wbr>  = 30<br>  res@mpMaxLonF                 <wbr>  = 70<br>  res@mpMinLonF                 <wbr>  = -40<br>  res@mpFillOn      = False<br><br>   res@lbBoxEndCapStyle  = "TriangleBothEnds"  <br>  <br>;--- Eady growth rate (1/day)<br><br>   egr        = egr*86400<br>   egr@units  = "annual 1/day"<br><br>   res@cnLevelSelectionMode = "ManualLevels"     ; set manual contour levels<br>   res@cnMinLevelValF       =  -2               ; set min contour level<br>   res@cnMaxLevelValF       =  2               ; set max contour level<br>   res@cnLevelSpacingF      =  0.2              ; set contour spacing<br><br><br>      res@gsnRightString  =  egr@units<br>      contour = gsn_csm_contour_map(wks, egr(:,:),res)<br><br><br><br></div><div>;=============================<wbr>==============================<wbr>===========================</div><div><br>Variable: T41<br>Type: float<br>Total Size: 663552 bytes<br>            165888 values<br>Number of Dimensions: 3<br>Dimensions and sizes:    [time | 12] x [lat | 96] x [lon | 144]<br>Coordinates: <br>            time: [136358.5..136692.5]<br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 5<br>  lev :    867.1607600000013<br>  mdims :    1<br>  units :    m<br>  long_name :    Geopotential Height (above sea level)<br>  cell_methods :    time: mean time: mean<br><br>Variable: aveX<br>Type: float<br>Total Size: 55296 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 96] x [lon | 144]<br>Coordinates: <br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 7<br>  _FillValue :    -9.96921e+36<br>  lev :    867.1607600000013<br>  mdims :    1<br>  units :    m<br>  long_name :    Geopotential Height (above sea level)<br>  cell_methods :    time: mean time: mean<br>  average_op_ncl :    dim_avg_n over dimension(s): time<br><br>Variable: T411<br>Type: float<br>Total Size: 663552 bytes<br>            165888 values<br>Number of Dimensions: 3<br>Dimensions and sizes:    [time | 12] x [lat | 96] x [lon | 144]<br>Coordinates: <br>            time: [136358.5..136692.5]<br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 5<br>  lev :    867.1607600000013<br>  mdims :    1<br>  units :    m/s<br>  long_name :    Zonal wind<br>  cell_methods :    time: mean time: mean<br><br>Variable: aveX1<br>Type: float<br>Total Size: 55296 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 96] x [lon | 144]<br>Coordinates: <br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 7<br>  _FillValue :    -9.96921e+36<br>  lev :    867.1607600000013<br>  mdims :    1<br>  units :    m/s<br>  long_name :    Zonal wind<br>  cell_methods :    time: mean time: mean<br>  average_op_ncl :    dim_avg_n over dimension(s): time<br><br>Variable: T412<br>Type: float<br>Total Size: 663552 bytes<br>            165888 values<br>Number of Dimensions: 3<br>Dimensions and sizes:    [time | 12] x [lat | 96] x [lon | 144]<br>Coordinates: <br>            time: [136358.5..136692.5]<br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 5<br>  ilev :    903.3002900000016<br>  mdims :    2<br>  units :    K<br>  long_name :    Potential Temperature<br>  cell_methods :    time: mean time: mean<br><br>Variable: aveX2<br>Type: float<br>Total Size: 55296 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 96] x [lon | 144]<br>Coordinates: <br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 7<br>  _FillValue :    -9.96921e+36<br>  ilev :    903.3002900000016<br>  mdims :    2<br>  units :    K<br>  long_name :    Potential Temperature<br>  cell_methods :    time: mean time: mean<br>  average_op_ncl :    dim_avg_n over dimension(s): time<br><br>Variable: xlat<br>Type: double<br>Total Size: 768 bytes<br>            96 values<br>Number of Dimensions: 1<br>Dimensions and sizes:    [lat | 96]<br>Coordinates: <br>            lat: [ -90..  90]<br>Number Of Attributes: 2<br>  long_name :    latitude<br>  units :    degrees_north<br><br>Variable: XLAT<br>Type: double<br>Total Size: 110592 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [96] x [144]<br>Coordinates: <br><br>Variable: XLAT<br>Type: double<br>Total Size: 110592 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 96] x [lon | 144]<br>Coordinates: <br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 7<br>  average_op_ncl :    dim_avg_n over dimension(s): time<br>  cell_methods :    time: mean time: mean<br>  long_name :    Potential Temperature<br>  units :    K<br>  mdims :    2<br>  ilev :    903.3002900000016<br>  _FillValue :    9.969209968386869e+36<br><br>Variable: XLAT<br>Type: double<br>Total Size: 110592 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 96] x [lon | 144]<br>Coordinates: <br>            lat: [ -90..  90]<br>            lon: [-180..177.5]<br>Number Of Attributes: 8<br>  lonFlip :    longitude coordinate variable has been reordered via lonFlip<br>  ilev :    903.3002900000016<br>  mdims :    2<br>  units :    K<br>  long_name :    Potential Temperature<br>  cell_methods :    time: mean time: mean<br>  average_op_ncl :    dim_avg_n over dimension(s): time<br>  _FillValue :    9.969209968386869e+36<br><br>Variable: egr<br>Type: double<br>Total Size: 110592 bytes<br>            13824 values<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 96] x [lon | 144]<br>Coordinates: <br>            lat: [ -90..  90]<br>            lon: [   0..357.5]<br>Number Of Attributes: 3<br>  _FillValue :    9.969209968386869e+36<br>  long_name :    maximum eady growth rate<br>  units :    <br>(0)    maximum eady growth rate : min=nan   max=nan<br>(0)    ------------------------------<wbr>-----------<br><br></div><div><br></div></div>
<br>______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu">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/<wbr>mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>