[gradsusr] Converting Daily Average to Monthly Average
itesh dash
itesh at rimes.int
Wed Jun 15 11:01:22 EDT 2016
Hi Justin,
This is strange. I copied your script directly and run in my server (redhat
Linux) and it ran smoothly. Can you check the issue is not related to the
platform you are running. I encountered this while using opengrads package
in windows.
reinit
mday = '31 28 31 30 31 30 31 31 30 31 30 31'
month = 'jan feb mar apr may jun jul aug sep oct nov dec'
'open
/CLIMDATA/CMIP5/DAILY/CanESM2/pr/historical/pr_day_CanESM2_historical_rimes.ctl'
'set gxout fwrite'
reinit
mday = '31 28 31 30 31 30 31 31 30 31 30 31'
month = 'jan feb mar apr may jun jul aug sep oct nov dec'
'open
/CLIMDATA/CMIP5/DAILY/CanESM2/pr/historical/pr_day_CanESM2_historical_rimes.ctl'
'set gxout fwrite'
'set fwrite test'
yr1 = 1980
yr2 = 2005
yr = yr1
while (yr<=yr2)
leap = 0
if (math_mod(yr,400) = 0 | math_mod(yr,4) = 0 & math_mod(yr,100) != 0)
leap = 1
say yr' is a leap year.'
endif
imon = 1
while (imon <= 12)
md = subwrd(mday,imon)
mc = subwrd(month,imon)
if (imon = 2); md = md + leap; endif;
time1 = '01'mc''yr
time2 = md''mc''yr
say time1' 'time2
'd ave(pr,time='time1',time='time2')'
imon = imon + 1
endwhile
yr = yr + 1
endwhile
On Wed, Jun 15, 2016 at 8:30 PM, Justin Hicks <jhicks2014 at gmail.com> wrote:
> Itesh,
>
> I am still getting the same error even after including a space. I'll paste
> my code below:
>
> reinit
> mday = '31 28 31 30 31 30 31 31 30 31 30 31'
> month = 'jan feb mar apr may jun jul aug sep oct nov dec'
>
> 'open /data2/control/GPCC_FirstGuessDaily'
>
> 'set gxout fwrite'
> 'set fwrite /data2/control/GPCC_FirstGuessDailyScriptTest'
>
> yr1 = 2009
> yr2 = 2013
>
> yr = yr1
> while (yr<=yr2)
> leap = 0
> if (math_mod(yr,400) = 0 | math_mod(yr,4) = 0 & math_mod(yr,100) != 0)
> leap = 1
> say yr' is a leap year.'
> endif
> imon = 1
> while (imon <= 12)
> md = subwrd(mday,imon)
> mc = subwrd(month,imon)
> if (imon = 2); md = md + leap; endif;
> time1 = '01'mc''yr
> time2 = md''mc''yr
> say time1' 'time2
> 'd ave(p,time='time1',time='time2')'
> imon = imon + 1
> endwhile
> yr = yr + 1
> endwhile
>
> -Justin
>
> On Tue, Jun 14, 2016 at 4:36 PM, itesh dash <itesh at rimes.int> wrote:
>
>> Just provide a space at beginning of () in the while statement.
>>
>> While (yr<=yr2)
>>
>> It should work.
>>
>>
>> On Wednesday, 15 June 2016, Justin Hicks <jhicks2014 at gmail.com> wrote:
>>
>>> Now, with the same exact script, it is giving me the error
>>>
>>> "Unable to locate ENDWHILE statement for the WHILE statement at line 14
>>> In file DailytoMonthlyTest.gs"
>>>
>>> This is the error I was previously dealing with, yet it resolved itself
>>> with no changes. I'm not too sure what's going on, both endwhile statements
>>> are there.
>>>
>>> -Justin
>>>
>>>
>>> On Thu, Jun 9, 2016 at 12:32 PM, Jeff Duda <jeffduda319 at gmail.com>
>>> wrote:
>>>
>>>> The code looks fine to me other than the following line:
>>>>
>>>> 'open file /data2/control/GPCC_FirstGuessDaily'
>>>>
>>>> Remove 'file' from this command.
>>>>
>>>> Jeff Duda
>>>>
>>>>
>>>> On Thu, Jun 9, 2016 at 10:10 AM, Justin Hicks <jhicks2014 at gmail.com>
>>>> wrote:
>>>>
>>>>> To whom it may concern,
>>>>>
>>>>> I'm working on converting a plethora of datasets, many of them with
>>>>> daily and hourly temporal resolutions, into a monthly temporal resolution.
>>>>>
>>>>> I am unsure how to write a script that I can run that changes, in this
>>>>> case, average daily data into average monthly data, with respect to leap
>>>>> years and such. I have tried to follow scripts from other users who have
>>>>> previously posted here, but they did not seem to work.
>>>>>
>>>>> There is an example of the script I tried to run on this page:
>>>>> http://gradsusr.org/pipermail/gradsusr/2006-June/003290.html
>>>>>
>>>>> This is the script I am currently running:
>>>>>
>>>>> reinit
>>>>> mday = '31 28 31 30 31 30 31 31 30 31 30 31'
>>>>> month = 'jan feb mar apr may jun jul aug sep oct nov dec'
>>>>>
>>>>> 'open file /data2/control/GPCC_FirstGuessDaily'
>>>>>
>>>>> 'set gxout fwrite'
>>>>> 'set fwrite /data2/control/GPCC_FirstGuessDailyScriptTest'
>>>>>
>>>>> yr1 = 2009
>>>>> yr2 = 2013
>>>>>
>>>>> yr = yr1
>>>>> while(yr<=yr2)
>>>>> leap = 0
>>>>> if(math_mod(yr,400) = 0 | math_mod(yr,4) = 0 & math_mod(yr,100) != 0)
>>>>> leap = 1
>>>>> say yr' is a leap year.'
>>>>> endif
>>>>> imon = 1
>>>>> while(imon <= 12)
>>>>> md = subwrd(mday,imon)
>>>>> mc = subwrd(month,imon)
>>>>> if(imon = 2); md = md + leap; endif;
>>>>> time1 = '01'mc''yr
>>>>> time2 = md''mc''yr
>>>>> * say time1' 'time2
>>>>> 'd ave(p,time='time1',time='time2')'
>>>>> imon = imon + 1
>>>>> endwhile
>>>>> yr = yr + 1
>>>>> endwhile
>>>>>
>>>>>
>>>>> Running this code gives me an error saying that it cannot open the
>>>>> file, yet it is pointed to the correct directory. However, it does output
>>>>> saying that '2012 is a leap year' which is correct.
>>>>>
>>>>> Any help would be appreciated, as I'm a terrible coder.
>>>>>
>>>>> -Justin
>>>>>
>>>>> _______________________________________________
>>>>> gradsusr mailing list
>>>>> gradsusr at gradsusr.org
>>>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Jeff Duda
>>>> Post-doctoral research associate
>>>> University of Oklahoma School of Meteorology
>>>>
>>>> _______________________________________________
>>>> gradsusr mailing list
>>>> gradsusr at gradsusr.org
>>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>>
>>>>
>>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20160615/f36e13c1/attachment.html
More information about the gradsusr
mailing list