<div dir="ltr"><div><div><div><div>Hello,<br><br></div>re: "The dimension numbering in the "resolveWavesHayashi" part of diagnostics_cam.ncl confuses me a little bit"<br><br></div>I wrote this a long time ago and it confuses me also.  :-)<br><br>===<br></div><div>diagnostics_cam.ncl<br>===<br></div><div><br> 232   dimvf  = dimsizes( varfft )<br> 233   mlon   = dimvf(1)<br> 234   N        = dimvf(2)<br> 235 <br> 236   varspacetime = new((/2,mlon+1,N+1/),typeof(varfft),1e20)<br> 237 <br> 238   varspacetime(:,:mlon/2-1,:N/2-1) = varfft(:,mlon/2:1,N/2:N-1)<br> 239   varspacetime(:,:mlon/2-1,N/2:)   = varfft(:,mlon/2:1,:N/2)<br> 240   varspacetime(:, mlon/2: ,:N/2)   = varfft(:,:mlon/2,N/2:0)       ; <===========<br> 241   varspacetime(:, mlon/2: ,N/2+1:) = varfft(:,:mlon/2,N-1:N/2)<br>----------<br> 730 ;-------------------------------------------------------------------<br> 731 ; At this point 'q(2,mlon,nSampWin)' contains the <br> 732 ; real and imaginary space-time spectrum for this latitude<br> 733 ; ---<br> 734 ; Use Hayashi method to resolve into Progressive [Eastward]<br> 735 ;     and Retrogressive [Westward] Waves.<br> 736 ;-------------------------------------------------------------------<br> 737 <br> 738        pee = resolveWavesHayashi( q, nDayWin, spd )   ; <============<br> 739        peeAS(nl,:,:) = peeAS(nl,:,:) + (pee/nWindow)   ; sum window contribution <br>---------<br><br></div><div>Basically, lines 238,241 are unscrambling what was returned from an FFT done in fortran 'under-the-hood.'<br><br>---<br>I see one thing that is an issue. <br><br>The variable includes the cyclic point in the zonal [longitudinal] direction. When an FFT is performed on a cyclic series the cyclic point should <b>not</b> be included. Including the cyclic point results in an odd number of points (799) which would likely lead to some index problems. All global data sets 'we' use have an even number of grid points in the zonal direction.<br><br>Variable: x (parameter)<br>..<br>
Number of Dimensions: 3<br>
Dimensions and sizes:    [Time | 282] x [lat | 66] x <b>[lon | 799]</b><br>
Coordinates:<br>
            lat: [-14.675..14.575]<br>
            <b>lon: [-179.55..179.55]<br><br></b></div><div>I speculate that if you use:<b><br><br></b></div><div><b>MLON = 799       ; includes cyclic point<br></b></div><div><b>mlon = MLON-1<br></b></div><div><br>olr2  = file_list[:]->OLR(:,:,<b>0:mlon-1</b>)<br></div><div>printVarSummary(olr2)                      ; Time | 282] x [lat | 66] x <b>[lon | 798]</b><br><br></div><div>The script will work<br><br>NCL indexing is described her:<br><a href="https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclVariables.shtml#Subscripts">https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclVariables.shtml#Subscripts</a><br></div><div><br></div><div>Good luck<br></div><div>D<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 5, 2018 at 5:30 AM, Thomas Schwitalla <span dir="ltr"><<a href="mailto:thomas.schwitalla@uni-hohenheim.de" target="_blank">thomas.schwitalla@uni-hohenheim.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I try to run the wkSpaceTime_3.ncl script with NCL 6.4 with OLR from WRF output files. I have a time series of 141 days with 12h intervals.<br>
When running the script, the output is the following:<br>
<br>
Variable: x (parameter)<br>
Type: float<br>
Total Size: 59483952 bytes<br>
            14870988 values<br>
Number of Dimensions: 3<br>
Dimensions and sizes:    [Time | 282] x [lat | 66] x [lon | 799]<br>
Coordinates:<br>
            lat: [-14.675..14.575]<br>
            lon: [-179.55..179.55]<br>
Number Of Attributes: 6<br>
  coordinates :    XLONG XLAT XTIME<br>
  stagger :<br>
  units :    W m-2<br>
  description :    TOA OUTGOING LONG WAVE<br>
  MemoryOrder :    XY<br>
  FieldType :    104<br>
(0)<br>
(0)    TOA OUTGOING LONG WAVE (W m-2) : min=66.8377   max=392.351<br>
(0)    ===> Post removal of trend and signal <===<br>
<br>
Variable: x (parameter)<br>
Type: float<br>
Total Size: 59483952 bytes<br>
            14870988 values<br>
Number of Dimensions: 3<br>
Dimensions and sizes:    [Time | 282] x [lat | 66] x [lon | 799]<br>
Coordinates:<br>
            lat: [-14.675..14.575]<br>
            lon: [-179.55..179.55]<br>
Number Of Attributes: 6<br>
  coordinates :    XLONG XLAT XTIME<br>
  stagger :<br>
  units :    W m-2<br>
  description :    TOA OUTGOING LONG WAVE<br>
  MemoryOrder :    XY<br>
  FieldType :    104<br>
(0)<br>
(0)    TOA OUTGOING LONG WAVE (W m-2) : min=14.4336   max=390.484<br>
<br>
Variable: xAS<br>
Type: float<br>
Total Size: 59483952 bytes<br>
            14870988 values<br>
Number of Dimensions: 3<br>
Dimensions and sizes:    [lat | 66] x [lon | 799] x [Time | 282]<br>
Coordinates:<br>
            lat: [-14.675..14.575]<br>
            lon: [-179.55..179.55]<br>
Number Of Attributes: 2<br>
  long_name :    antisymmetric & symmetric (separate hemispheres)<br>
  units :    W m-2<br>
(0)<br>
(0)    antisymmetric & symmetric (separate hemispheres) (W m-2) : min=-139.037   max=366.622<br>
(0)    ==============> nl=0 <==============<br>
(0)    nw=0  ntStrt=0   ntLast=191<br>
<br>
fatal:Dimension size mismatch, dimension (1) of left hand side reference does not have the same size as the right hand side reference after subscripting.<br>
fatal:["Execute.c":8640]:Execu<wbr>te: Error occurred at or near line 240 in file $NCARG_ROOT/lib/ncarg/nclscrip<wbr>ts/csm/diagnostics_cam.ncl<br>
fatal:["Execute.c":8640]:Execu<wbr>te: Error occurred at or near line 738 in file $NCARG_ROOT/lib/ncarg/nclscrip<wbr>ts/csm/diagnostics_cam.ncl<br>
fatal:["Execute.c":8640]:Execu<wbr>te: Error occurred at or near line 54 in file wk_space_time3.ncl<br>
<br>
My script is the following:<br>
<br>
load "$NCARG_ROOT/lib/ncarg/nclscri<wbr>pts/csm/diagnostics_cam.ncl"<br>
<br>
  case     = "TEST"<br>
  diro     = "./"        ; output dir: location of plots<br>
<br>
  latN     = 15<br>
  latS     = -latN       ; symmetric about the equator<br>
<br>
  nDayWin  = 96      ; Wheeler-Kiladis [WK] temporal window length (days)<br>
  nDaySkip = -10      ; time (days) between temporal windows [segments]<br>
                     ; negative means there will be overlapping<br>
                     ; temporal segments<br>
  opt      = True<br>
  opt@debug= True<br>
  opt@pltType     = "eps"<br>
  opt@cnLinesOn   = False   ; turn off contour lines<br>
                     ; specify the plot intervals<br>
  spd      = 2       ; samples per day (12 hour sampling rate for testing)<br>
  var      = "OLR"  ; user specified<br>
   all_files = systemfunc ("ls surface_d01_2015-02-[12]?_0[0]<wbr>_00_00 surface_d01_2015-02-[12]?_1[2]<wbr>_00_00 surface_d01_2015-0[3456]-??_0[<wbr>0]_00_00 surface_d01_2015-0[3456]-??_1[<wbr>2]_00_00")<br>
<br>
;---Open files using addfiles<br>
   file_list = addfiles (all_files, "r")<br>
<br>
;---Read "pottmp" in "join" mode and print a summary of the variable<br>
   ListSetType (file_list, "cat")<br>
<br>
  olr2  = file_list[:]->OLR(:,:,:)<br>
  single_file = systemfunc ("ls LAT_LON_50km.nc")<br>
  coordinates_file = addfile(single_file,"r")<br>
  longitude = coordinates_file->XLONG(0,0,:)<br>
  latitude= coordinates_file->XLAT(0,:,0)<br>
<br>
  olr2!1  = "lat"<br>
  olr2!2  = "lon"<br>
  olr2&lat = latitude<br>
  olr2&lon = longitude<br>
  olr = olr2(:,{latS:latN},:)     ; (time,lat,lon)<br>
  delete(olr2)<br>
   ; calculation and create plots<br>
  wkSpaceTime (olr, diro, case, var             \<br>
              ,latN, spd, nDayWin, nDaySkip, opt  )<br>
<br>
The dimension numbering in the "resolveWavesHayashi" part of diagnostics_cam.ncl confuses me a little bit.<br>
<br>
Regards,<br>
<br>
Thomas<br>
<br>
-- <br>
Dr. Thomas Schwitalla<br>
Institute of Physics and Meteorology<br>
University of Hohenheim<br>
Garbenstrasse 30<br>
70599 Stuttgart<br>
Germany<br>
Tel.: +49 711 459 22145<br>
<br>
______________________________<wbr>_________________<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/mailma<wbr>n/listinfo/ncl-talk</a><br>
</blockquote></div><br></div>