Dear Daniele
Your solution works, thanks a lot for your help.
Lennert
From: [email protected] [mailto:[email protected]] On Behalf Of
Daniele Romagnoli
Sent: Friday, July 6, 2018 5:06 PM
To: Lennert Schepers <[email protected]>
Cc: [email protected]
Subject: Re: [Geoserver-users] Netcdf import error - Netcdf supported formats?
On Fri, Jul 6, 2018 at 4:32 PM, Daniele Romagnoli
<[email protected]> wrote:
Dear Lennert,
I did a very quick check on your sample files in order to provide you some
quick feedback:
It looks like that the variable names containing dots are raising issues when
creating the schema in the index.
So your files contain variables having names as:
log.x5
log.x5_L2
...
log.cal_hel
...
During initialization, a DB is created to index the records, by creating tables
having same name of the variable name.
It looks like the variables with a "dot" ( . ) in the name are raising
problems.
The code is parsing it as a namespace prefix + local name when creating the
feature type and "bad things happen".
As a very quick workaround you may want to rename those vars by removing the
"dot" (ncml can do that quickly).
https://www.unidata.ucar.edu/software/thredds/current/netcdf-java/ncml/Cookbook.html
As an instance:
<ncml:variable orgName="log.cal_hel_L1" name="cal_hel_L1" shape="time depth
lat lon" type="float">
That should allow to let you proceed with the store configuration.
Not sure if CF Convention allows variables with similar types of chars in the
name, I should double check that.
More feedbacks on the variable names topic:
quoting from CF Convention
(http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#_naming_conventions):
Variable, dimension and attribute names should begin with a letter and be
composed of letters, digits, and underscores.
Hope this helps.
Regards,
Daniele
Regards,
Daniele
On Fri, Jul 6, 2018 at 3:59 PM, Lennert Schepers <[email protected]>
wrote:
Hi Daniele
Sure, you can download two files here:
https://drive.google.com/drive/folders/1IKz-KVSmGLfCEsh30J4xg0lEB3kLkpM-?usp=sharing
Thanks a lot for your help!
Lennert
From: [email protected] [mailto:[email protected]] On Behalf Of
Daniele Romagnoli
Sent: Friday, July 6, 2018 3:35 PM
To: Lennert Schepers <[email protected]>
Cc: [email protected]
Subject: Re: [Geoserver-users] Netcdf import error - Netcdf supported formats?
Dear Lennert,
do you have any chance to share one of these samples? (eventually, even through
a private email).
If that's not an option, even a small sample dataset with "fake" values
reporting the same problem should be fine for a quick check.
Best Regards,
Daniele
On Thu, Jul 5, 2018 at 5:55 PM, Lennert Schepers <[email protected]>
wrote:
Dear Geoserver Users list
I’m looking for a way to upload our Netcdf files with the Netcdf-plugin to
GeoServer (Version 2.11.5).
The plugin works well with with CF and COARDS sample data from
https://www.unidata.ucar.edu/software/netcdf/examples/files.html
However, when I try to upload our own Netcdf files, I receive an error when
saving the store.
Could not list layers for this store, an error occurred retrieving them: Failed
to create reader from
file:coverages/testLennertS/log.x5.20132013.0103.10001.10001.anl.nc and hints
null
Ncdump:
netcdf log.x5.20132013.0103.10001.10001.anl {
dimensions:
lon = 950 ;
lat = 400 ;
depth = 1 ;
time = 1 ;
nv = 2 ;
variables:
float lon(lon) ;
lon:units = "degrees_east" ;
float lat(lat) ;
lat:units = "degrees_north" ;
float depth(depth) ;
depth:units = "meters" ;
depth:positive = "down" ;
float time(time) ;
time:units = "Days since 2013-01-01" ;
time:climatology = "climatology_bounds" ;
float climatology_bounds(time, nv) ;
float CORRLEN(time, depth) ;
CORRLEN:long_name = "Correlation Length" ;
CORRLEN:units = "degrees_north" ;
float SNR(time, depth) ;
SNR:long_name = "Signal to Noise" ;
float VARBACK(time, depth) ;
VARBACK:long_name = "Background Field Variance" ;
VARBACK:units = "logab^2" ;
float log.x5(time, depth, lat, lon) ;
log.x5:long_name = "log.x5" ;
log.x5:units = "logab" ;
log.x5:valid_min = -0.7f ;
log.x5:valid_max = 5.8f ;
log.x5:_FillValue = -99.f ;
log.x5:cell_methods = "timebins" ;
log.x5:missing_value = -99.f ;
float log.x5_err(time, depth, lat, lon) ;
log.x5_err:long_name = "Error standard deviation of log.x5" ;
log.x5_err:units = "logab" ;
log.x5_err:valid_min = 0.f ;
log.x5_err:valid_max = 0.69f ;
log.x5_err:_FillValue = -99.f ;
log.x5_err:missing_value = -99.f ;
float log.x5_L1(time, depth, lat, lon) ;
log.x5_L1:long_name = "log.x5 masked using relative error
threshold 0.3" ;
log.x5_L1:units = "logab" ;
log.x5_L1:valid_min = -0.4f ;
log.x5_L1:valid_max = 5.8f ;
log.x5_L1:_FillValue = -99.f ;
log.x5_L1:missing_value = -99.f ;
float log.x5_L2(time, depth, lat, lon) ;
log.x5_L2:long_name = "log.x5 masked using relative error
threshold 0.5" ;
log.x5_L2:units = "logab" ;
log.x5_L2:valid_min = -0.4f ;
log.x5_L2:valid_max = 5.8f ;
log.x5_L2:_FillValue = -99.f ;
log.x5_L2:missing_value = -99.f ;
float log.x5_relerr(time, depth, lat, lon) ;
log.x5_relerr:long_name = "Relative error of log.x5" ;
log.x5_relerr:valid_min = 0.f ;
log.x5_relerr:valid_max = 1.f ;
log.x5_relerr:_FillValue = -99.f ;
log.x5_relerr:missing_value = -99.f ;
float databins(time, depth, lat, lon) ;
databins:long_name = "Logarithm10 of number of data in bins" ;
databins:valid_min = 0.f ;
databins:valid_max = 0.7f ;
databins:_FillValue = -99.f ;
databins:missing_value = -99.f ;
float outlbins(time, depth, lat, lon) ;
outlbins:long_name = "Logarithm10 of number of outliers data in
bins" ;
outlbins:valid_min = 0.f ;
outlbins:valid_max = -99.f ;
outlbins:_FillValue = -99.f ;
outlbins:missing_value = -99.f ;
float CLfield(time, depth, lat, lon) ;
CLfield:long_name = "Correlation length field" ;
CLfield:valid_min = 0.f ;
CLfield:valid_max = 1.5f ;
CLfield:_FillValue = -99.f ;
CLfield:missing_value = -99.f ;
float log.x5_deepest(time, lat, lon) ;
log.x5_deepest:long_name = "Deepest values of log.x5" ;
log.x5_deepest:units = "logab" ;
log.x5_deepest:valid_min = -0.7f ;
log.x5_deepest:valid_max = 5.8f ;
log.x5_deepest:_FillValue = -99.f ;
log.x5_deepest:missing_value = -99.f ;
float log.x5_deepest_L1(time, lat, lon) ;
log.x5_deepest_L1:long_name = "Deepest values of log.x5 masked
using relative error threshold 0.3" ;
log.x5_deepest_L1:units = "logab" ;
log.x5_deepest_L1:valid_min = -0.4f ;
log.x5_deepest_L1:valid_max = 5.8f ;
log.x5_deepest_L1:_FillValue = -99.f ;
log.x5_deepest_L1:missing_value = -99.f ;
float log.x5_deepest_L2(time, lat, lon) ;
log.x5_deepest_L2:long_name = "Deepest values of log.x5 masked
using relative error threshold 0.5" ;
log.x5_deepest_L2:units = "logab" ;
log.x5_deepest_L2:valid_min = -0.4f ;
log.x5_deepest_L2:valid_max = 5.8f ;
log.x5_deepest_L2:_FillValue = -99.f ;
log.x5_deepest_L2:missing_value = -99.f ;
// global attributes:
:Conventions = "CF-1.0" ;
:project = "SeaDataNetII" ;
:institution = "SAHFOS" ;
:production = "Flanders Marine Institute" ;
:data_access = "GHER OPENDAB:;
:WEB_visualisation = "" ;
:Author_e-mail = "***" ;
:date = "2015-11-25 04:21:30.00" ;
:title = "Diva analysis" ;
:file_name =
"../output/3Danalysis/log.x5.20132013.0103.10001.10001.anl.nc" ;
:source = "SAHFOS" ;
:comment = "No comment" ;
}
Part of the log error:
2018-07-04 17:16:08,825 DEBUG [geoserver.config] - Persisting coverage store
log.x5.20132013.0103.10001.10001.anl.nc
2018-07-04 17:16:08,827 DEBUG [geoserver.config] - Persisted
com.sun.proxy.$Proxy17 to
workspaces/testLennertS/log.x5.20132013.0103.10001.10001.anl.nc/coveragestore.xml
2018-07-04 17:16:08,828 DEBUG [geoserver.config] - Persisted
com.sun.proxy.$Proxy22 to global.xml
2018-07-04 17:16:08,834 TRACE [geotools.factory] - ENTRY (GridCoverageFactory)
2018-07-04 17:16:08,834 TRACE [geotools.factory] - RETURN
(GridCoverageFactory): found implementation GridCoverageFactory.
2018-07-04 17:16:08,834 DEBUG [io.netcdf] - Provided URL is a file
2018-07-04 17:16:08,834 DEBUG [imageio.netcdf] - Found a valid
FileImageInputStream
2018-07-04 17:16:08,840 DEBUG [imageio.netcdf] - File successfully opened
2018-07-04 17:16:08,851 DEBUG [geotools.jdbc] - CREATE CONNECTION
2018-07-04 17:16:08,948 DEBUG [geotools.jdbc] - CLOSE CONNECTION
2018-07-04 17:16:08,948 DEBUG [geotools.jdbc] - CREATE CONNECTION
2018-07-04 17:16:08,950 DEBUG [geotools.jdbc] - CLOSE CONNECTION
2018-07-04 17:16:08,951 DEBUG [io.catalog] -
BBOXFilterExtractor::extractBasicProperties(): Problems when opening the index,
no typenames for the schema are defined
2018-07-04 17:16:08,952 WARN [netcdf.NetCDFFormat] - Unable to connect
…
I looked up the documentation for netcdf files and this maillist archive, and
tried different things, for example to explicitly add the ‘nv’ dimension as a
variable (now ‘nv’ is only a dimension), but without success.
Does anyone know what (part) of my netcdf files are currently not supported?
Or where can I find more information?
Thanks a lot
Lennert Schepers
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Regards,
Daniele Romagnoli
==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.
==
Ing. Daniele Romagnoli
Senior Software Engineer
GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------
Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa
che ogni circostanza inerente alla presente email (il suo contenuto, gli
eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei
comunque grato se potesse darmene notizia.
This email is intended only for the person or entity to which it is addressed
and may contain information that is privileged, confidential or otherwise
protected from disclosure. We remind that - as provided by European Regulation
2016/679 “GDPR” - copying, dissemination or use of this e-mail or the
information herein by anyone other than the intended recipient is prohibited.
If you have received this email by mistake, please notify us immediately by
telephone or e-mail.
--
Regards,
Daniele Romagnoli
==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.
==
Ing. Daniele Romagnoli
Senior Software Engineer
GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------
Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa
che ogni circostanza inerente alla presente email (il suo contenuto, gli
eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei
comunque grato se potesse darmene notizia.
This email is intended only for the person or entity to which it is addressed
and may contain information that is privileged, confidential or otherwise
protected from disclosure. We remind that - as provided by European Regulation
2016/679 “GDPR” - copying, dissemination or use of this e-mail or the
information herein by anyone other than the intended recipient is prohibited.
If you have received this email by mistake, please notify us immediately by
telephone or e-mail.
--
Regards,
Daniele Romagnoli
==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.
==
Ing. Daniele Romagnoli
Senior Software Engineer
GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------
Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa
che ogni circostanza inerente alla presente email (il suo contenuto, gli
eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei
comunque grato se potesse darmene notizia.
This email is intended only for the person or entity to which it is addressed
and may contain information that is privileged, confidential or otherwise
protected from disclosure. We remind that - as provided by European Regulation
2016/679 “GDPR” - copying, dissemination or use of this e-mail or the
information herein by anyone other than the intended recipient is prohibited.
If you have received this email by mistake, please notify us immediately by
telephone or e-mail.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users