[ncl-talk] problems with loop

Rick Brownrigg brownrig at ucar.edu
Mon Jun 26 10:40:06 MDT 2017


I don't really know the issue. What does printVarSummary(a[0]->SWDDNI)
reveal about coordinates and shape of that variable?  Are you getting the
warning nfiles number of times?



On Mon, Jun 26, 2017 at 10:28 AM, Vanúcia Schumacher <
vanucia-schumacher at hotmail.com> wrote:

> The line 19 corresponds:
>
>
>  rad = wrf_user_getvar(a[k],"SWDDNI",-1)
>
>
> with the warming:
>
> VarVarWrite: rhs has no coordinate variable for dimension number (0),
> destroying coordinate var,  use "(/../)" if this is not desired outcome
>
>
> ------------------------------
> *De:* Rick Brownrigg <brownrig at ucar.edu>
> *Enviado:* segunda-feira, 26 de junho de 2017 13:21:06
> *Para:* Vanúcia Schumacher
> *Cc:* ncl-talk at ucar.edu
> *Assunto:* Re: [ncl-talk] problems with loop
>
> Hi,
>
> The notation Rad_in(i,:,:) is causing the projection from 3D down to 2D.
> If you want to preserve the 3D shape, use
> Rad_in(i:i,:,:).
>
> I'm not sure about the warning.  Did you post your entire script, i.e.,
> does line #17 correspond to "alb = 0.7*Rad_in(i,:,:)" ?
>
> Rick
>
> On Mon, Jun 26, 2017 at 8:55 AM, Vanúcia Schumacher <
> vanucia-schumacher at hotmail.com> wrote:
>
>> Hi NCL users,
>>
>>
>> I need to calculate a variable based on a parameter that varies with time.
>> For the first year the value of the parameter is 0.7
>> For the second year the parameter is 0.4
>> For the third year onwards the parameter is 0.3
>>
>> So I must multiply the variable with the value of the parameter and I
>> want to get a new variable with all the coordinates (time, lat and lon), but
>> I'm having the variable only with lat and lon and getting the following
>> warning:
>>
>> warning:VarVarWrite: rhs has no coordinate variable for dimension number
>> (0), destroying coordinate var,  use "(/../)" if this is not desired outcome
>> warning:["Execute.c":8640]:Execute: Error occurred at or near line 17 in
>> file test.ncl
>>
>>
>> My script:
>> ( here in this test, my time is 3 days (average from 12 files), so the
>> parameter is varying for 1 day = 0.7,  2 day = 0.4, and 3 day =0.3
>>
>>  files = systemfunc("ls -1 wrfout_d01_*") + ".nc"
>>          a = addfiles(files,"r")
>>     nfiles = dimsizes(files)
>>
>> do k = 0,nfiles-1
>>
>>        rad = wrf_user_getvar(a[k],"SWDDNI",-1)
>>        rad&Time = wrf_times_c(a[k]->Times, 0)
>>        Rad_in = calculate_daily_values(rad, "avg", 0, False)
>>
>>      times = wrf_user_getvar(a[k],"times",-1)
>>     ntimes = dimsizes(times)
>>
>> do i = 0, ntimes-1
>>
>>       if  (i.lt.2) then
>> alb = 0.7*Rad_in(i,:,:)
>>       end if
>>
>>       if (i.gt.2.and.i.lt.3) then
>>          alb = 0.4*Rad_in(i,:,:)
>>       end if
>>
>>       if (i.gt.3) then
>>          alb = 0.3*Rad_in(i,:,:)
>>       end if
>> end do
>> end do
>>
>> Variable: nfiles
>> Type: integer
>> Total Size: 4 bytes
>>             1 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [1]
>> Coordinates:
>> (0) 12
>>
>>
>> Variable: rad
>> Type: float
>> Total Size: 5600 bytes
>>             1400 values
>> Number of Dimensions: 3
>> Dimensions and sizes: [Time | 1] x [south_north | 50] x [west_east | 28]
>> Coordinates:
>> Number Of Attributes: 6
>>   coordinates : XLONG XLAT
>>   stagger :
>>   units : W/m^2
>>   description : Shortwave surface downward direct normal irradiance
>>   MemoryOrder : XY
>>   FieldType : 104
>>
>> Variable: Rad_in
>> Type: float
>> Total Size: 5600 bytes
>>             1400 values
>> Number of Dimensions: 3
>> Dimensions and sizes: [Time | 1] x [south_north | 50] x [west_east | 28]
>> Coordinates:
>>             Time: [   0..   0]
>> Number Of Attributes: 9
>>   NCL_tag : calculate_daily_values: arith=avg
>>   Time :   0
>>   FieldType : 104
>>   MemoryOrder : XY
>>   description : Shortwave surface downward direct normal irradiance
>>   units : W/m^2
>>   stagger :
>>   coordinates : XLONG XLAT
>>   _FillValue : 9.96921e+36
>>
>>
>> Variable: ntimes
>> Type: integer
>> Total Size: 4 bytes
>>             1 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [1]
>> Coordinates:
>> (0) 1
>>
>> Variable: alb
>> Type: float
>> Total Size: 5600 bytes
>>             1400 values
>> Number of Dimensions: 2
>> Dimensions and sizes: [50] x [28]
>> Coordinates:
>> Number Of Attributes: 1
>>   _FillValue : 9.96921e+36
>>
>>
>> Is there any other way I can do this? Thanks any help
>>
>>
>>
>> _______________________________________________
>> 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/20170626/3f820672/attachment.html 


More information about the ncl-talk mailing list