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.
Regards,
Daniele
On Fri, Jul 6, 2018 at 3:59 PM, Lennert Schepers <lennert.schep...@vliz.be>
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:* dany.geoto...@gmail.com [mailto:dany.geoto...@gmail.com] *On
> Behalf Of *Daniele Romagnoli
> *Sent:* Friday, July 6, 2018 3:35 PM
> *To:* Lennert Schepers <lennert.schep...@vliz.be>
> *Cc:* geoserver-users@lists.sourceforge.net
> *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 <lennert.schep...@vliz.be>
> 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/lo
> g.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
>
>
> Geoserver-users@lists.sourceforge.net
> 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
> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054++Massarosa&entry=gmail&source=g>
>
> 55054
> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054++Massarosa&entry=gmail&source=g>
> Massarosa
> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054++Massarosa&entry=gmail&source=g>
> (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
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users