[ncl-talk] SPI calculation

Oluwaseun Ilori wilseun at gmail.com
Sun Jan 6 16:48:12 MST 2019


Attached is the output of my created netcdf spi file. The date is missing.

On Sun, Jan 6, 2019, 9:46 PM Dennis Shea <shea at ucar.edu wrote:

> Your question is completely devoid of any useful information.
>
> What does:
>
>     printVarSummary(spi)
>
> look like?
> ====
>
> What about your created netCDF file? What is the output from:
>
>   %> ncl_filedump SPI.nc
>
>
> ====
> If you have created a yyyymm variable then
>
> ncdf->SPI  = spi    ; (len,time,lat,lon)
>
> ncdf->yyyymm = yyyymm
>
>
>
>
>
> On Sun, Jan 6, 2019 at 11:46 AM Oluwaseun Ilori <wilseun at gmail.com> wrote:
>
>> I've been using this example and it works but the date(month) for the
>> calculated SPI were missing in the generated netcdf file.
>> How could I solve this problem.
>>
>>
>> On Mon, Dec 17, 2018, 10:43 AM Oluwaseun Ilori <wilseun at gmail.com wrote:
>>
>>> I've been using this example and it works but the date(month) for the
>>> calculated SPI were missing in the generated netcdf file.
>>> How could I solve this problem.
>>>
>>> On Fri, Nov 30, 2018, 5:03 PM 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
>>>>>
>>>> _______________________________________________
>>>> 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/20190107/78db8604/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: prtsum_spi2.png
Type: image/png
Size: 50508 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190107/78db8604/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: prtsum_spi.png
Type: image/png
Size: 35521 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190107/78db8604/attachment-0001.png>


More information about the ncl-talk mailing list