[ncl-talk] The rigmost dimension of x must be equal to the rightmost dimension of y

Melanie O' hanoly mel.hanoly at gmail.com
Fri Sep 1 12:58:42 MDT 2017


Hi Adam..

Thank you so much for help me..
But  now have some problems in calculating anomalies

Variable: x
Type: double
Total Size: 29760000 bytes
            3720000 values
Number of Dimensions: 3
Dimensions and sizes: [time | 372] x [lat | 100] x [lon | 100]
Coordinates:
            time: [   0..16260480]
            lat: [-89.09999999999999..89.10000000000002]
            lon: [   0..356.4]
Number Of Attributes: 2
  _FillValue : -999000000
  missing_value : -999000000

Variable: x2
Type: float
Total Size: 14880000 bytes
            3720000 values
Number of Dimensions: 4
Dimensions and sizes: [time | 372] x [depth | 1] x [latitude | 100] x
[longitude | 100]

fatal:Number of dimensions in parameter (0) of (clmMonTLL) is (4), (3)
dimensions were expected
fatal:["Execute.c":8640]:Execute: Error occurred at or near line 86 in file
eof.ncl

fatal:Number of dimensions in parameter (0) of (calcMonAnomTLL) is (4), (3)
dimensions were expected
fatal:["Execute.c":8640]:Execute: Error occurred at or near line 88 in file
eof.ncl

This is my script

"; ==============================================================
; compute climatology and Anomalies                      2 file
; =============================================================
 (86)  x2Clm   = clmMonTLL(x2)                             ; (12,lat,lon;)
 (87)
 (88)  x2Anom  = calcMonAnomTLL(x2, xClm)                ; (time, lat,lon)

  printVarSummary(x2Anom)
   printMinMax(x2Anom, True)
; ================================================================="



On Tue, Aug 22, 2017 at 5:42 PM, Adam Phillips <asphilli at ucar.edu> wrote:

> Hi Melanie,
> regCoef operates on the rightmost dimensions of the two input arrays, and
> expects those two rightmost dimensions to have the same size. See the
> documentation here:
> https://www.ncl.ucar.edu/Document/Functions/Built-in/regCoef-1.shtml
> referring specifically to the Arguments - y section near the top.
>
> Thus, assuming your EOF/principal component timeseries was computed over
> the TIME1 dimension, you should change this:
> eof_regres(ne,:,:) = (/ regCoef(eof_ts(ne,:), x2(TIME1|:,DEPTH1_1|:,LAT|:,
> LON|:))/)
> to this:
> eof_regres(ne,:,:) = (/ regCoef(eof_ts(ne,:), x2(DEPTH1_1|0,LAT|:,LON|:,
> TIME1|:))/)
> (Note that I also changed "DEPTH1_1|:" to "DEPTH1_1|0" so that the first
> and only index is chosen, that way the array returned to the lefthand side
> of the equal sign will be dimensioned lat (100) x lon (100).)
>
> If you were using regCoef_n, you could do this:
> eof_regres(ne,:,:) = (/ regCoef_n(eof_ts(ne,:),
> x2(TIME1|:,DEPTH1_1|0,LAT|:,LON|:),0,0) /)
>
> The last two arguments represent the dimension number to operate on for
> the eof_ts and x2 arrays. In this specific case, you are index subscripting
> eof_ts from a 2D array to a 1D array, and thus regCoef_n will only see a 1D
> array and the 1st dimension should be operated on. Finally, you are
> dimension reordering x2, and you don't really need to do this if you were
> to use regCoef_n. You just need to indicate the correct dimension to
> operate on with the last provided argument.
>
> Hope that all helps. If you have any further questions please respond to
> the ncl-talk email list.
> Adam
>
> On Tue, Aug 22, 2017 at 2:19 PM, Melanie O' hanoly <mel.hanoly at gmail.com>
> wrote:
>
>> *Dear NCL users, I just have a little knowledge on NCL. So, could anyone help me?*
>>
>> *I have two data with 372 timestep, one has 3D and the other 4D, someone please help me with this error?*
>>
>> *"**fatal:regCoef: The rightmost dimension of x must be equal to the rightmost dimension of y"*
>>
>> *The summary is bellow*
>>
>>
>> *This is the scrip line error "; Regress;
>> =================================================================
>> eof_regres = eof ; create an array w meta data do ne=0,neof-1
>> eof_regres(ne,:,:) = (/ regCoef(eof_ts(ne,:),
>> x2(TIME1|:,DEPTH1_1|:,LAT|:,LON|:))/) end do printVarSummary(eof_regres)
>> printMinMax(eof_regres, True)*
>> *"*
>>
>>
>> *If i use regCoef_n, shows this error "fatal:syntax error: function
>> regCoef_n expects 4 arguments, got 2"*
>> Summary
>> Copyright (C) 1995-2017 - All Rights Reserved
>>  University Corporation for Atmospheric Research
>>  NCAR Command Language Version 6.4.0
>>  The use of this software is governed by a License Agreement.
>>  See http://www.ncl.ucar.edu/ for more details.
>>
>> Variable: x
>> Type: double
>> Total Size: 29760000 bytes
>>             3720000 values
>> Number of Dimensions: 3
>> Dimensions and sizes: [time | 372] x [lat | 100] x [lon | 100]
>> Coordinates:
>>             time: [   0..16260480]
>>             lat: [-89.09999999999999..89.10000000000002]
>>             lon: [   0..356.4]
>> Number Of Attributes: 2
>>   _FillValue : -999000000
>>   missing_value : -999000000
>>
>> Variable: x2
>> Type: double
>> Total Size: 29760000 bytes
>>             3720000 values
>> Number of Dimensions: 4
>> Dimensions and sizes: [TIME1 | 372] x [DEPTH1_1 | 1] x [LAT | 100] x
>> [LON | 100]
>> Coordinates:
>>             TIME1: [1928.06849316134..1958.561643829649]
>>             DEPTH1_1: [17.5..17.5]
>>             LAT: [-89.1..89.1]
>>             LON: [ 0..356.4]
>> Number Of Attributes: 4
>>   long_name : DIC[L=1:372]
>>   _FillValue : -9.999999999999999e+33
>>   missing_value : -9.999999999999999e+33
>>   history : From dic_uvic
>>
>> Variable: eof_ts
>> Type: double
>> Total Size: 2976 bytes
>>             372 values
>> Number of Dimensions: 2
>> Dimensions and sizes: [evn | 1] x [time | 372]
>> Coordinates:
>>             evn: [1..1]
>>             time: [   0..16260480]
>> Number Of Attributes: 3
>>   ts_mean : 1.196080271862835e-13
>>   matrix : covariance
>>   _FillValue : -999000000
>>
>> fatal:regCoef: The rightmost dimension of x must be equal to the
>> rightmost dimension of y
>> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 128 in
>> file eof_cfsr.ncl
>>
>> Variable: eof_regres
>> Type: double
>> Total Size: 80000 bytes
>>             10000 values
>> Number of Dimensions: 3
>> Dimensions and sizes: [evn | 1] x [lat | 100] x [lon | 100]
>> Coordinates:
>>             evn: [1..1]
>>             lat: [-89.09999999999999..89.10000000000002]
>>             lon: [   0..356.4]
>> Number Of Attributes: 6
>>   _FillValue : -999000000
>>   method : transpose
>>   matrix : covariance
>>   pcvar : 13.29658
>>   eval : 634047.31020702
>>   eval_transpose : 24386.43500796231
>> (0)
>> (0) min=-0.04332826535433597   max=0.02833814180143831
>>
>>
>> *Melanie O'Hanoly*
>> *Oceangrapher*
>> *PhD canditate at Alfred Wegener Institute Helmholtz Centre for Polar and
>> Marine Research*
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
>
> --
> Adam Phillips
> Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
> www.cgd.ucar.edu/staff/asphilli/   303-497-1726 <(303)%20497-1726>
>
> <http://www.cgd.ucar.edu/staff/asphilli>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170901/54009e97/attachment.html>


More information about the ncl-talk mailing list