Re: FillValue attributes

From: R Phani <rphani_at_nyahnyahspammersnyahnyah>
Date: Sat Nov 09 2013 - 19:59:12 MST

Dear Dennis,

"The error message is likely bogus."
I don't think so, I have solved the error by making the integer to float with 'round' and it worked.

Anyway, my concern was that it gives different values (max value) for different versions! (5.1.1 is realistic) with the script being same.

Phani
-------------------------------------
bash-3.2$ ncl rel_humid_denis.ncl
 Copyright (C) 1995-2009 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 5.1.1
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.

Variable: rh
Type: float
Total Size: 1227264 bytes
            306816 values
Number of Dimensions: 3
Dimensions and sizes: [lv_ISBL1 | 17] x [g0_lat_2 | 94] x [g0_lon_3 | 192]
Coordinates:
            lv_ISBL1: [10..1000]
            g0_lat_2: [90..-90]
            g0_lon_3: [ 0..358.125]
Number Of Attributes: 3
  units : %
  long_name : relative humidity
  _FillValue : 1e+20
(0) rh: min=0 max=100
bash-3.2$ /gpfs1/scientific_appln/ncl-6.0.0/bin/ncl rel_humid_denis.ncl
 Copyright (C) 1995-2011 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.0.0-beta
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.

Variable: rh
Type: float
Total Size: 1227264 bytes
            306816 values
Number of Dimensions: 3
Dimensions and sizes: [lv_ISBL1 | 17] x [g0_lat_2 | 94] x [g0_lon_3 | 192]
Coordinates:
            lv_ISBL1: [10..1000]
            g0_lat_2: [90..-90]
            g0_lon_3: [ 0..358.125]
Number Of Attributes: 3
  units : %
  long_name : relative humidity
  _FillValue : 1e+20
(0) rh: min=0 max=1996.69
==============================================

----- Original Message -----
From: "Dennis Shea" <shea@ucar.edu>
To: "R Phani" <rphani@tropmet.res.in>
Cc: "NCL" <ncl-talk@ucar.edu>
Sent: Saturday, November 9, 2013 7:10:25 PM
Subject: Re: FillValue attributes

None of your GRIB files were complete.
--------------------------------------
The error message is likely bogus.

If the variables are 4D, the following is *incorrect*

rh = relhum (t_spcfs, mr_spcfs, conform(t_spcfs, levs*100, 0))

Please read the Mini-Language Manual about array numbers.

If 4D, it should be

rh = relhum (t_spcfs, mr_spcfs, conform(t_spcfs, levs*100, 1))

The ordering is

(time,lev,lat,lon) => (0,1,2,3)

====
Please try the attached.

Also, please do not send data unless we ask for it.

On 11/9/13 9:18 AM, R Phani wrote:
> Dear Dennis,
>
> Thank you for your help and making my code efficient.
>
> 1) I have tried on both 5.1.1 and 6.0.0-beta versions
> 2) Now, I have allocated the memory and modified following your suggestions.
>
> Still I am getting the same error.
>
> fatal:relhum: If one _FillValue attribute is set, then all of them must be set.
> fatal:Execute: Error occurred at or near line 45 in file rel_humid.ncl
>
> Is it like, when I use 'conform', the attributes also should be set? I have uploaded the data and the script.
>
> Phani
>
>
> ----- Original Message -----
> From: "Dennis Shea" <shea@ucar.edu>
> To: "R Phani" <rphani@tropmet.res.in>, "NCL" <ncl-talk@ucar.edu>
> Sent: Saturday, November 9, 2013 9:47:47 AM
> Subject: Re: FillValue attributes
>
> [1] What version of NCL are you using?
>
> %> ncl -V
>
> [2] Where have you allocated memory for 'rh'. In your code,
> I would have expected to see:
>
> rh = new (dimsizes(temp_cfs), typeof(temp_cfs))
>
> [3] Your code could be made more efficient.
>
> [a] Whenever an entire variable is being read don't use (:,:,:,:).
> NCL accesses the data more efficiently without the (:,:,:,:).
> In practice, you will likely not notice any speed difference.
>
> temp_spcfs = f1->TMP_GDS0_ISBL_10 ; (:,:,:,:)
> sp_spcfs = f2->SPF_H_GDS0_ISBL_10
> temp_cfs = f3->TMP_GDS0_ISBL_10
> sp_cfs = f4->SPF_H_GDS0_ISBL_10
>
> [b] NCL is an interpreted language. Generally, it is better to
> avoid 'do' loops. NCL has 2 functions which can be used to
> replace your do loop
>
> http://www.ncl.ucar.edu/Document/Functions/Built-in/conform.shtml
> http://www.ncl.ucar.edu/Document/Functions/Built-in/conform_dims.shtml
>
> Replace
> rh = new(dimsizes(temp_cfs),typeof(temp_cfs)) ; added for correctness
>
> do k = 1,nlevs
> do j = 1, nlon
> do i = 1,nlat
> pPa = levs(k)*100
> rh(i, j, k) = relhum (t_spcfs(i,j,k), sph_spcfs(i,j,k), pPa)
> end do
> end do
> end do
>
> With
>
> rh = relhum (t_spcfs, sph_spcfs, conform(t_spcfs, levs*100, 1)
>
> There is no need to preallocate space for 'rh'. rh will be created
> automatically.
>
> ------------
>
> If you are new to NCL, please read the Mini-Language Manual at:
>
> http://www.ncl.ucar.edu/Document/Manuals/
>
>
>
> On 11/9/13 6:59 AM, R Phani wrote:
>> Hi NCL users,
>>
>> I am getting the following error.
>>
>> fatal:relhum: If one _FillValue attribute is set, then all of them must be set.
>> fatal:Execute: Error occurred at or near line 45 in file rel_humid.ncl
>>
>> What could be the problem in the script?
>>
>> Phani
>>
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sat Nov 9 20:17:44 2013

This archive was generated by hypermail 2.1.8 : Mon Nov 11 2013 - 09:45:34 MST