[ncl-talk] SPI calculation

Soma Roy somaroy892 at gmail.com
Fri Nov 30 11:43:59 MST 2018


One thing I would like to mention.

In spi_2.ncl script,
spi=dim_spi_n(prc, runlen(nr), False, 0)

Reduced the dimensions (len x time x latx lon) to (time x latx lon).

So I am not getting 4 dimensions in a single file.

Kindly inform me how to overcome it.

Thanks,
Soma

On Fri, Nov 30, 2018, 23:42 Soma Roy <somaroy892 at gmail.com wrote:

> Thank you very much.
>
> Soma
>
> On Fri, Nov 30, 2018, 21:32 Dennis Shea <shea at ucar.edu wrote:
>
>> *Please* read the File IO on netCDF. As noted in the documentation, the
>> following is the most commonly used approach.
>>
>>   http://www.ncl.ucar.edu/Applications/method_1.shtml
>>
>> ===
>>
>>        *system* <http://www.ncl.ucar.edu/Document/Functions/Built-in/system.shtml>("/bin/rm -f SPI.nc")   ; remove any pre-existing file
>>        ncdf = *addfile* <http://www.ncl.ucar.edu/Document/Functions/Built-in/addfile.shtml>("SPI.nc" ,"c")  ; open output netCDF file
>>
>>     ;===================================================================
>>     ; create global attributes of the file (optional)
>>     ;===================================================================
>>        fAtt               = True            ; assign file attributes
>>        fAtt at title         = "Standardized Precipitation Index"
>>        fAtt at Conventions   = "None"
>>        fAtt at creation_date = *systemfunc* <http://www.ncl.ucar.edu/Document/Functions/Built-in/systemfunc.shtml> ("date")
>>        *fileattdef* <http://www.ncl.ucar.edu/Document/Functions/Built-in/fileattdef.shtml>( ncdf, fAtt )            ; copy file attributes
>>
>>     ;===================================================================
>>     ; output variables directly; NCL will call appropriate functions
>>     ; to write the meta data associated with each variable
>>     ;===================================================================
>>        ncdf->SPI  = spi    ; (len,time,lat,lon)
>>
>>
>> On Thu, Nov 29, 2018 at 10:29 PM Soma Roy <somaroy892 at gmail.com> wrote:
>>
>>> Hello Mary,
>>>
>>> I just want to know that what is the more efficient way to save the
>>> variable "spi" as a netcdf for multiple runlen?
>>>
>>> Say 3,6,9 and 12 or 12 and 24 as mentioned in the spi_2.ncl script.
>>>
>>> I want to save all runlen in a single netcdf file in single run time.
>>>
>>> Please kindly inform me.
>>>
>>> Thanking you,
>>> Soma
>>>
>>> On Thu, Nov 29, 2018, 20:12 Dennis Shea <shea at ucar.edu wrote:
>>>
>>>> I do not understand: *"197207 with 3 month running avg"*
>>>>
>>>>
>>>> If you used:
>>>>
>>>>
>>>>
>>>> *runlen = (/ 12, 24 /)  *
>>>>
>>>> and your source array is dimensioned:
>>>> *(time,lat,lon) ==> (492,129,135)*then your SPI variable should be
>>>>
>>>>
>>>>
>>>> *[len | 2] x [time | 492] x [lat | 129] x [lon | 135]*and your source array is dimensioned:
>>>> * (time,lon,lat) ==> (492,135,129)*then your SPI variable should be
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *[len | 2] x [time | 492] x [lon | 135] x [lat | 129]  ---     0            1             2             3---*
>>>>
>>>>  *IF* you want to perform a 3-month running average of the 12 and 24 run-lengths
>>>>
>>>> nrun = 3
>>>> opt  = ?   ; read documentation
>>>> tdim = 1   ; time dimension
>>>> spi3= *runave_n_Wrap* <http://www.ncl.ucar.edu/Document/Functions/Contributed/runave_n_Wrap.shtml> (spi, nrun, tdim, opt)
>>>>
>>>> *printVarSummary*(spi3)
>>>>
>>>> ========
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Nov 29, 2018 at 1:15 AM Soma Roy <somaroy892 at gmail.com> wrote:
>>>>
>>>>> Hello Mary,
>>>>>
>>>>> I save the data of 'spi' as netcdf file.
>>>>>
>>>>> Where dimension of the data is like below;
>>>>> spi(135x129x492) ; (lon, lat, spi values)
>>>>>
>>>>> Now my question is if I want to select 197207 with 3 month running
>>>>> avg. Then how to select those indices from 3rd dimension of the matrix
>>>>> "spi"?
>>>>>
>>>>> Start yr is 1970.
>>>>>
>>>>> Please kindly inform me.
>>>>>
>>>>> Thanking you,
>>>>> Soma
>>>>>
>>>>> On Thu, Nov 29, 2018, 12:39 Oluwaseun Ilori <wilseun at gmail.com wrote:
>>>>>
>>>>>> Good day, please could you assist with the correct script of the spi
>>>>>> calculation, I'm having problem listing the result of the one I'm doing to
>>>>>> text file for further analysis on ArcGis.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Thu, Nov 29, 2018, 7:47 AM Soma Roy <somaroy892 at gmail.com wrote:
>>>>>>
>>>>>>> I fixed the issue. Please ignore my last mail.
>>>>>>>
>>>>>>> Soma
>>>>>>>
>>>>>>> On Thu, Nov 29, 2018, 11:07 Soma Roy <somaroy892 at gmail.com wrote:
>>>>>>>
>>>>>>>> Hello Mary,
>>>>>>>>
>>>>>>>> I am using the attached script. Modified it as per your hints. But
>>>>>>>> getting some errors at run time.
>>>>>>>>
>>>>>>>> printVarSummary of the data is as follows;
>>>>>>>> Variable: prc
>>>>>>>> Type: double
>>>>>>>> Total Size: 73560960 bytes
>>>>>>>>             9195120 values
>>>>>>>> Number of Dimensions: 3
>>>>>>>> Dimensions and sizes:   [time | 528] x [lat | 129] x [lon | 135]
>>>>>>>> Coordinates:
>>>>>>>>             time: [ 360..1068]
>>>>>>>>             lat: [ 6.5..38.5]
>>>>>>>>             lon: [66.5.. 100]
>>>>>>>> Number Of Attributes: 3
>>>>>>>>   _FillValue :  -999
>>>>>>>>   long_name :   GRIDDED RAINFALL
>>>>>>>>   missing_value :       -999
>>>>>>>>  : min=0   max=222.9121398925781
>>>>>>>>
>>>>>>>> I am getting the following errors;
>>>>>>>> fatal:Dimension sizes of left hand side and right hand side of
>>>>>>>> assignment do not match
>>>>>>>> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 47
>>>>>>>> in file spi_2.ncl
>>>>>>>>
>>>>>>>> fatal:NclOneDValGetClosestIndex: Non-monotonic coordinate value
>>>>>>>> being used, can't complete coordinate subscript
>>>>>>>> fatal:Could not obtain coordinate indexes, unable to perform
>>>>>>>> subscript
>>>>>>>> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 82
>>>>>>>> in file spi_2.ncl
>>>>>>>>
>>>>>>>> Please kindly inform me how to correct it.
>>>>>>>>
>>>>>>>> Thanking you,
>>>>>>>> Soma
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Nov 29, 2018 at 9:51 AM Soma Roy <somaroy892 at gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thank you very much.
>>>>>>>>>
>>>>>>>>> Soma
>>>>>>>>>
>>>>>>>>> On Thu, Nov 29, 2018, 02:28 Mary Haley <haley at ucar.edu wrote:
>>>>>>>>>
>>>>>>>>>> Soma,
>>>>>>>>>>
>>>>>>>>>> The spi_2.ncl script shows you how to calculate the yyyymm
>>>>>>>>>> variable:
>>>>>>>>>>
>>>>>>>>>>   year    = yyyymm/100
>>>>>>>>>>   yrStrt  = year(0)
>>>>>>>>>>   yrLast  = year(ntim-1)
>>>>>>>>>>   nyear   = yrLast-yrStrt+1
>>>>>>>>>>   yyyymm  = yyyymm_time(yrStrt, yrLast, "integer")
>>>>>>>>>>
>>>>>>>>>> You don't need the "date" or "yyyymm" arrays, because you already
>>>>>>>>>> have the year information. Use ispan to generate the "year" array and now
>>>>>>>>>> you can get your yyyymm and yrfac values as needed:
>>>>>>>>>>
>>>>>>>>>>   year    = ispan(1970,2010,1)
>>>>>>>>>>   ntim    = dimsizes(year)
>>>>>>>>>>   yrStrt  = year(0)
>>>>>>>>>>   yrLast  = year(ntim-1)
>>>>>>>>>>   nyear   = yrLast-yrStrt+1
>>>>>>>>>>   yyyymm  = yyyymm_time(yrStrt, yrLast, "integer")
>>>>>>>>>>   yrfrac  = (/ yyyymm_to_yyyyfrac(yyyymm, 0.0) /)
>>>>>>>>>>
>>>>>>>>>> --Mary
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Nov 28, 2018 at 1:05 PM Soma Roy <somaroy892 at gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Thank you very much for the hint.
>>>>>>>>>>> I will check it.
>>>>>>>>>>>
>>>>>>>>>>> But mannualy we can't set the "date" range in the script without
>>>>>>>>>>> using CDO?
>>>>>>>>>>>
>>>>>>>>>>> Please kindly inform me.
>>>>>>>>>>>
>>>>>>>>>>> Thanking you,
>>>>>>>>>>> Soma
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Nov 29, 2018, 01:28 Guilherme Martins <
>>>>>>>>>>> jgmsantos at gmail.com wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I don't know if you use climate data operators or cdo software.
>>>>>>>>>>>>
>>>>>>>>>>>> You can set the data in your file.
>>>>>>>>>>>>
>>>>>>>>>>>> Exemple
>>>>>>>>>>>>
>>>>>>>>>>>> cdo settaxis,1970-01-01,00:00:00,1mon input.nc output.nc
>>>>>>>>>>>>
>>>>>>>>>>>> Guilherme.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Em qua, 28 de nov de 2018 16:35, Soma Roy <somaroy892 at gmail.com
>>>>>>>>>>>> escreveu:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am trying to calculate standadize precipitation index using
>>>>>>>>>>>>> monthly gridded dataset.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Dimension of data is like below;
>>>>>>>>>>>>> Rainfall(12x41) (months x years).
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am using the script from the below link;
>>>>>>>>>>>>> https://www.ncl.ucar.edu/Applications/Scripts/spi_2.ncl
>>>>>>>>>>>>>
>>>>>>>>>>>>> But in my dataset there is no variable as "date".
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can we manually set the date range inside the script?
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am using rainfall dataset for 1970-2010.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Please kindly inform me how we can modify it over the same
>>>>>>>>>>>>> script.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanking you,
>>>>>>>>>>>>> Soma
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> ncl-talk mailing list
>>>>>>>>>>>>> ncl-talk at ucar.edu
>>>>>>>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> ncl-talk mailing list
>>>>>>>>>>> ncl-talk at ucar.edu
>>>>>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>> ncl-talk mailing list
>>>>>>> ncl-talk at ucar.edu
>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>
>>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>> _______________________________________________
>>> 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/20181201/48293415/attachment.html>


More information about the ncl-talk mailing list