climate-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ibrahim Jarif (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CLIMATE-788) load_file raises ValueError even when variable is present
Date Mon, 02 May 2016 16:00:13 GMT

     [ https://issues.apache.org/jira/browse/CLIMATE-788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ibrahim Jarif updated CLIMATE-788:
----------------------------------
    Summary: load_file raises ValueError even when variable is present  (was: load_file.py
: Raises ValueError even when variable is present)

> load_file raises ValueError even when variable is present
> ---------------------------------------------------------
>
>                 Key: CLIMATE-788
>                 URL: https://issues.apache.org/jira/browse/CLIMATE-788
>             Project: Apache Open Climate Workbench
>          Issue Type: Bug
>          Components: data sources
>            Reporter: Ibrahim Jarif
>            Assignee: Ibrahim Jarif
>            Priority: Critical
>
> The *_get_netcdf_variable_name()* function returns *ValueError* even when variable is
present in dataset.
> {code}
> dataset1 = local.load_file('nc/AFRICA_KNMI-RACMO2.2b_CTL_ERAINT_MM_50km_1989-2008_tasmax.nc',variable_name='rlon')
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "build/bdist.linux-x86_64/egg/ocw/data_source/local.py", line 243, in load_file
>   File "build/bdist.linux-x86_64/egg/ocw/data_source/local.py", line 114, in _get_netcdf_variable_name
> ValueError: Unable to locate a single matching variable name from the supplied list of
valid variable names. 
> {code}
> This is the file I'm using to create *Dataset*
> !http://i.imgur.com/UvAISLS.png!
> In the function *_get_netcdf_variable_name* 
> {code}
> # Check for valid variable names in netCDF variable names
>     variables = netcdf.variables.keys()
>     vars_lower = [var.encode().lower() for var in variables]
>     intersect = set(valid_var_names).intersection(vars_lower)
>     if len(intersect) == 1:
>         index = vars_lower.index(intersect.pop())
>         return variables[index]
> {code}
> *intersect = 2* when {code}valid_var_names=['x', 'rlon', 'rlons', 'lon', 'lons', 'longitude',
'longitudes']{code} and {code}vars_lower=['time', 'rotated_pole', 'rlon', 'lon', 'rlat', 'lat',
'height', 'time_bnds', 'tasmax']{code}
> This condition^^ causes the exception to occur.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message