[ncl-talk] problems with loop

Vanúcia Schumacher vanucia-schumacher at hotmail.com
Mon Jun 26 08:55:50 MDT 2017


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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170626/383d9998/attachment.html 


More information about the ncl-talk mailing list