Re: problem with netCDF4 OpenDAP

2015-08-14 Thread Tom P

On 08/13/2015 05:55 PM, Jason Swails wrote:



On Thu, Aug 13, 2015 at 6:32 AM, Tom P werot...@freent.dd
mailto:werot...@freent.dd wrote:

I'm having a problem trying to access OpenDAP files using netCDF4.
The netCDF4 is installed from the Anaconda package. According to
their changelog, openDAP is supposed to be supported.

netCDF4.__version__
Out[7]:
'1.1.8'

Here's some code:

url =
'http://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc'
nc = netCDF4.Dataset(url)

I get the error -
netCDF4/_netCDF4.pyx in netCDF4._netCDF4.Dataset.__init__
(netCDF4/_netCDF4.c:9551)()

RuntimeError: NetCDF: file not found


However if I download the same file, it works -
url = '/home/tom/Downloads/ersst.201507.nc http://ersst.201507.nc'
nc = netCDF4.Dataset(url)
print nc
  . . . .

Is it something I'm doing wrong?


​Yes.  URLs are not files and cannot be opened like normal files.
  netCDF4 *requires* a local file as far as I can tell.

All the best,
Jason

--
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher


Thanks for the reply but that is not what the documentation says.

http://unidata.github.io/netcdf4-python/#section8
Remote OPeNDAP-hosted datasets can be accessed for reading over http if 
a URL is provided to the netCDF4.Dataset constructor instead of a 
filename. However, this requires that the netCDF library be built with 
OPenDAP support, via the --enable-dap configure option (added in version 
4.0.1).


and for the Anaconda package -
http://docs.continuum.io/anaconda/changelog
2013-05-08: 1.5.0:
Highlights:
  updates to all important packages: python, numpy, scipy, ipython, 
matplotlib, pandas, cython

  added netCDF4 (with OpenDAP support) on Linux and MacOSX

--
https://mail.python.org/mailman/listinfo/python-list


Re: problem with netCDF4 OpenDAP

2015-08-14 Thread Tom P

On 08/14/2015 03:15 PM, Jason Swails wrote:



On Aug 14, 2015, at 3:18 AM, Tom P werot...@freent.dd wrote:

Thanks for the reply but that is not what the documentation says.

http://unidata.github.io/netcdf4-python/#section8
Remote OPeNDAP-hosted datasets can be accessed for reading over http if a URL 
is provided to the netCDF4.Dataset constructor instead of a filename. However, this 
requires that the netCDF library be built with OPenDAP support, via the --enable-dap 
configure option (added in version 4.0.1).”


​Huh, so it does.  Your error message says file not found, though, which 
suggested to me that it's trying to interpret the NetCDF file as a local file instead of 
a URL.  Indeed, when I run that example, the traceback is more complete (the traceback 
you printed had omitted some information):


netCDF4.Dataset('http://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc')

syntax error, unexpected WORD_WORD, expecting SCAN_ATTR or SCAN_DATASET or 
SCAN_ERROR
context: !DOCTYPE^ HTML PUBLIC -//IETF//DTD HTML 2.0//ENhtmlheadtitle404 Not 
Found/title/headbodyh1Not Found/h1pThe requested URL /pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc.dds was not found 
on this server./p/body/html
Traceback (most recent call last):
   File stdin, line 1, in module
   File netCDF4/_netCDF4.pyx, line 1547, in netCDF4._netCDF4.Dataset.__init__ 
(netCDF4/_netCDF4.c:9551)
RuntimeError: NetCDF: file not found

So it’s clear that netCDF4 is at least *trying* to go online to look for the file, 
but it simply can’t find it.  Since the docs say it’s linking to libcurl, I tried 
using curl to download the file (curl -# 
http://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc  
test.nc) and it worked fine.  What’s more, it *seems* like the file 
(/pub/.../ersst.201507.nc.dds) was decorated with the ‘.dds’ suffix for some 
reason (not sure if the server redirected the request there or not).  But this 
looks like a netCDF4 issue.  Perhaps you can go to their project page on Github 
and file an issue there -- they will be more likely to have your answer than 
people here.

HTH,
Jason


Hi,
  yes the file does appear to be there, I can download it and I can 
open and read the URL using urllib. Since there are a whole bunch of 
files in the directory, I really need MFDataset, but according to the 
documentation that doesn't work with URLs. Maybe the solution really is 
to D/L them all into a temporary folder and use MFDataset.






and for the Anaconda package -
http://docs.continuum.io/anaconda/changelog
2013-05-08: 1.5.0:
Highlights:
  updates to all important packages: python, numpy, scipy, ipython, matplotlib, 
pandas, cython
  added netCDF4 (with OpenDAP support) on Linux and MacOSX

--
https://mail.python.org/mailman/listinfo/python-list


--
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher



--
https://mail.python.org/mailman/listinfo/python-list


Re: problem with netCDF4 OpenDAP

2015-08-14 Thread Michael Ströder
Tom P wrote:
   yes the file does appear to be there, I can download it and I can open and
 read the URL using urllib. Since there are a whole bunch of files in the
 directory, I really need MFDataset, but according to the documentation that
 doesn't work with URLs. Maybe the solution really is to D/L them all into a
 temporary folder and use MFDataset.

Not sure about the size and other aspects of your deployment. But the safest
way to backup an OpenLDAP database is to export it to a single LDIF file
because this can be done while slapd is running and it's guaranteed that the
LDIF contains only data of finished transactions.

Ciao, Michael.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: problem with netCDF4 OpenDAP

2015-08-14 Thread Jason Swails

 On Aug 14, 2015, at 3:18 AM, Tom P werot...@freent.dd wrote:
 
 Thanks for the reply but that is not what the documentation says.
 
 http://unidata.github.io/netcdf4-python/#section8
 Remote OPeNDAP-hosted datasets can be accessed for reading over http if a 
 URL is provided to the netCDF4.Dataset constructor instead of a filename. 
 However, this requires that the netCDF library be built with OPenDAP support, 
 via the --enable-dap configure option (added in version 4.0.1).”

​Huh, so it does.  Your error message says file not found, though, which 
suggested to me that it's trying to interpret the NetCDF file as a local file 
instead of a URL.  Indeed, when I run that example, the traceback is more 
complete (the traceback you printed had omitted some information):

 netCDF4.Dataset('http://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc')
syntax error, unexpected WORD_WORD, expecting SCAN_ATTR or SCAN_DATASET or 
SCAN_ERROR
context: !DOCTYPE^ HTML PUBLIC -//IETF//DTD HTML 
2.0//ENhtmlheadtitle404 Not Found/title/headbodyh1Not 
Found/h1pThe requested URL 
/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc.dds was not found on this 
server./p/body/html
Traceback (most recent call last):
  File stdin, line 1, in module
  File netCDF4/_netCDF4.pyx, line 1547, in netCDF4._netCDF4.Dataset.__init__ 
(netCDF4/_netCDF4.c:9551)
RuntimeError: NetCDF: file not found

So it’s clear that netCDF4 is at least *trying* to go online to look for the 
file, but it simply can’t find it.  Since the docs say it’s linking to libcurl, 
I tried using curl to download the file (curl -# 
http://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc  
test.nc) and it worked fine.  What’s more, it *seems* like the file 
(/pub/.../ersst.201507.nc.dds) was decorated with the ‘.dds’ suffix for some 
reason (not sure if the server redirected the request there or not).  But this 
looks like a netCDF4 issue.  Perhaps you can go to their project page on Github 
and file an issue there -- they will be more likely to have your answer than 
people here.

HTH,
Jason

 
 and for the Anaconda package -
 http://docs.continuum.io/anaconda/changelog
 2013-05-08: 1.5.0:
 Highlights:
  updates to all important packages: python, numpy, scipy, ipython, 
 matplotlib, pandas, cython
  added netCDF4 (with OpenDAP support) on Linux and MacOSX
 
 -- 
 https://mail.python.org/mailman/listinfo/python-list

--
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: problem with netCDF4 OpenDAP

2015-08-13 Thread Jason Swails
On Thu, Aug 13, 2015 at 6:32 AM, Tom P werot...@freent.dd wrote:

 I'm having a problem trying to access OpenDAP files using netCDF4.
 The netCDF4 is installed from the Anaconda package. According to their
 changelog, openDAP is supposed to be supported.

 netCDF4.__version__
 Out[7]:
 '1.1.8'

 Here's some code:

 url = '
 http://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v3b/netcdf/ersst.201507.nc'
 nc = netCDF4.Dataset(url)

 I get the error -
 netCDF4/_netCDF4.pyx in netCDF4._netCDF4.Dataset.__init__
 (netCDF4/_netCDF4.c:9551)()

 RuntimeError: NetCDF: file not found


 However if I download the same file, it works -
 url = '/home/tom/Downloads/ersst.201507.nc'
 nc = netCDF4.Dataset(url)
 print nc
  . . . .

 Is it something I'm doing wrong?


​Yes.  URLs are not files and cannot be opened like normal files.  netCDF4
*requires* a local file as far as I can tell.

All the best,
Jason

-- 
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
-- 
https://mail.python.org/mailman/listinfo/python-list