[ncl-talk] Number of dimensions in parameter (1) of (gsn_csm_vector_scalar_map) is (1), (2) dimensions were expected
reza tisa
rezatisa1 at gmail.com
Sun Jan 5 23:10:46 MST 2020
Thank you for your response Mr.Brownrigg*,*
I am glad if anyone could help me fix this.
I also put my file and script:
MJO_PC_INDEX.nc (i got this by running mjoclivar_14.ncl)
https://drive.google.com/open?id=1pr6wTdRXE0AWaPbh-Q8wWHca8NZLTLQw
My script (based on mjoclivar_16)
https://drive.google.com/open?id=1LLNGIASi-nmXxm204OEF2LT-iDsx5dhE
If i put the *mjo_indx range is 0,5* *or more (in this case 1.0-1.5) *the
script is fine:
*.............. *
if (nSeason.eq.1) then
nt = ind((*mjo_indx.gt.1.0 .and. mjo_indx.lt.1.5*) .and. \
(imon.ge.5 .and. imon.le.10).and. \
ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
else
nt = ind((*mjo_indx.gt.1.0 .and. mjo_indx.lt.1.5*) .and. \
(imon.ge.11 .or. imon.le. 4).and. \
ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
end if
................
But if i put the* mjo_indx range under 0,5 *(because i want to plot at the
exact 0,5 amplitude) like this
*(mjo_indx.gt.0.49 .and. mjo_indx.lt.0.51) *or* (mjo_indx.eq.0.5) *it
goes to error at the 6th iteration plot
................
if (nSeason.eq.1) then
mjo_indx = decimalPlaces(mjo_indx ,1,True) ;* i put this for rounding
data to get the exact 0.5 exact amplitude*
nt = ind(*(mjo_indx.gt.0.49 .and. mjo_indx.lt.0.51)* .and. \
(imon.ge.5 .and. imon.le.10).and. \
ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
else
nt = ind(*(mjo_indx.gt.0.49 .and. mjo_indx.lt.0.51) *.and. \
(imon.ge.11 .or. imon.le. 4).and. \
ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
end if
..................
*This is my printVarSummary(this message comes 5 times): *
*Variable: xAvg*
Type: float
Total Size: 9792 bytes
2448 values
Number of Dimensions: 2
Dimensions and sizes: *[lat | 17] x [lon | 144]*
Coordinates:
lat: [-20..20]
lon: [ 0..357.5]
Number Of Attributes: 5
_FillValue : 32766
long_name : Anomalies: Daily OLR
units : W/m^2
wgt_runave_op_ncl : wgt_runave_n
average_op_ncl : dim_avg over dimension(s): time
*Variable: uAvg*
Type: float
Total Size: 9860 bytes
2465 values
Number of Dimensions: 2
Dimensions and sizes: *[lat | 17] x [lon | 145]*
Coordinates:
lat: [ -20.. 20]
lon: [ 0.. 360]
Number Of Attributes: 4
_FillValue : -9.99e+08
long_name : Anomalies from Daily Climatology
wgt_runave_op_ncl : wgt_runave_n
average_op_ncl : dim_avg over dimension(s): time
*Variable: vAvg*
Type: float
Total Size: 9860 bytes
2465 values
Number of Dimensions: 2
Dimensions and sizes: *[lat | 17] x [lon | 145]*
Coordinates:
lat: [ -20.. 20]
lon: [ 0.. 360]
Number Of Attributes: 4
_FillValue : -9.99e+08
long_name : Anomalies from Daily Climatology
wgt_runave_op_ncl : wgt_runave_n
average_op_ncl : dim_avg over dimension(s): time
*Then, i got this printVarSummary error message after the 6th iteration.*
*uAvg,xAvg, and vAvg* become only *1 dimension* and then the process
stopped.
(this message should have 8 message (iteration), but when comes the 6th
iteration the printVar Summary become like this, and the it stopped):
*Variable: xAvg*
Type: float
Total Size: 68 bytes
17 values
Number of Dimensions: 1
Dimensions and sizes: *[lat | 17]*
Coordinates:
lat: [-20..20]
Number Of Attributes: 6
_FillValue : 32766
time : 1903728
long_name : Anomalies: Daily OLR
units : W/m^2
wgt_runave_op_ncl : wgt_runave_n
average_op_ncl : dim_avg over dimension(s): lon
*Variable: uAvg*
Type: float
Total Size: 68 bytes
17 values
Number of Dimensions: 1
Dimensions and sizes: *[lat | 17]*
Coordinates:
lat: [ -20.. 20]
Number Of Attributes: 5
_FillValue : -9.99e+08
time : 1144800
long_name : Anomalies from Daily Climatology
wgt_runave_op_ncl : wgt_runave_n
average_op_ncl : dim_avg over dimension(s): lon
*Variable: vAvg*
Type: float
Total Size: 68 bytes
17 values
Number of Dimensions: 1
Dimensions and sizes: *[lat | 17]*
Coordinates:
lat: [ -20.. 20]
Number Of Attributes: 5
_FillValue : -9.99e+08
time : 1144800
long_name : Anomalies from Daily Climatology
wgt_runave_op_ncl : wgt_runave_n
average_op_ncl : dim_avg over dimension(s): lon
fatal:Number of dimensions in parameter (1) of (gsn_csm_vector_scalar_map)
is (1), (2) dimensions were expected
fatal:["Execute.c":8635]:Execute: Error occurred at or near line 248
*Best Regards, *
*Reza*
Pada tanggal Min, 5 Jan 2020 pukul 22.28 Rick Brownrigg <brownrig at ucar.edu>
menulis:
> In the two code excerpts you provided, you left out perhaps the most
> critical piece (from the original script, shown highlighted):
>
> if (nSeason.eq.1) then
> nt = ind(mjo_indx.gt.1.0 .and. \
> (imon.ge.5 .and. imon.le.10).and. \
> ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
> else
> nt = ind(mjo_indx.gt.1.0 .and. \
> (imon.ge.11 .or. imon.le. 4).and. \
> ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
> end if
> if (.not.all(ismissing(nt))) then* xAvg = dim_avg_Wrap( x(lat|:,lon|:,time|nt) )
> uAvg = dim_avg_Wrap( u(lat|:,lon|:,time|nt) )
> vAvg = dim_avg_Wrap( v(lat|:,lon|:,time|nt) )
> * nDays(na) = dimsizes(nt)
>
> res at tmXBLabelsOn = False ; do not draw lon labels
> res at tmXBOn = False ; lon tickmarks
> if (n.eq.(nPhase-1)) then ;
> res at tmXBLabelsOn = True ; draw lon labels
> res at tmXBOn = True ; tickmarks
> end if
>
> plot(na) = gsn_csm_vector_scalar_map(wks,uAvg,vAvg,xAvg,res)
> end if
>
>
> The error message is self-explanatory -- the docs for
> gsn_csm_vector_scalar_map() state that uAvg/vAvg/xAvg must be two
> dimensional. I would suggest putting in print statements right after the
> highlighted lines to see what are the values/dimensionalities of any/all of
> the variables x/u/v/xAvg/uAvg/vAvg/nt. Did the script work for your data
> prior to making changes to how nt is calculated? If so, then pretty
> clearly the issue is with what nt looks like. If not, perhaps there are
> other modifications need to conform the script to your data (or vice-versa).
>
> Hope that helps...
> Rick
>
> On Sat, Jan 4, 2020 at 7:13 PM reza tisa via ncl-talk <ncl-talk at ucar.edu>
> wrote:
>
>> Hello NCL User,
>> I am trying to plot mjoclivar_16 (
>> https://www.ncl.ucar.edu/Applications/Scripts/mjoclivar_16.ncl) with
>> amplitude equal to 0.5.
>> *I change from this :*
>> ....
>> if (nSeason.eq.1) then
>> nt = ind((mjo_indx.gt.1.0 .and. \
>> (imon.ge.5 .and. imon.le.10).and. \
>> ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
>> else
>> nt = ind(mjo_indx.gt.1.0 .and. \
>> (imon.ge.11 .or. imon.le. 4).and. \
>> ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
>> end if
>> ........
>>
>> *To this :*
>> .....
>> line 228 (on myscript)
>> if (nSeason.eq.1) then
>> nt = ind((mjo_indx.gt.0.49 .and. mjo_indx.lt.0.51) .and.
>> \
>> (imon.ge.5 .and. imon.le.10).and. \
>> ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
>> else
>> nt = ind((mjo_indx.gt.0.49 .and. mjo_indx.lt.0.51) .and.
>> \
>> (imon.ge.11 .or. imon.le. 4).and. \
>> ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
>> end if
>> .......
>>
>>
>> *Then, i got this error*
>>
>> fatal:Number of dimensions in parameter (1) of
>> (gsn_csm_vector_scalar_map) is (1), (2) dimensions were expected
>> fatal:["Execute.c":8635]:Execute: Error occurred at or near line 245
>> ......
>> ncl 240> if (n.eq.(nPhase-1)) then ;
>> ncl 241> res at tmXBLabelsOn = True ; draw lon labels
>> ncl 242> res at tmXBOn = True ;
>> tickmarks
>> ncl 243> end if
>> ncl 244> printVarSummary(na)
>> *ncl 245> plot(na) =
>> gsn_csm_vector_scalar_map(wks,uAvg,vAvg,xAvg,res)*
>> ncl 246> end if
>> ncl 247> delete(nt) ; will change next iteration
>> ncl 248> end do
>> .......
>>
>> *This is my printVarSummary:*
>> *Variable: mjo_indx*
>> Type: float
>> Total Size: 3744 bytes
>> 936 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [time | 936]
>> Coordinates:
>> time: [1890960..1913400]
>> Number Of Attributes: 3
>> info : (PC1^2 + PC2^2)
>> long_name : MJO PC INDEX
>> _FillValue : 32766
>>
>> *Variable: na*
>> Type: integer
>> Total Size: 4 bytes
>> 1 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [1]
>> Coordinates:
>>
>> Any solution for this?
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200106/a418c727/attachment.html>
More information about the ncl-talk
mailing list