Git Product home page Git Product logo

libicedb's People

Contributors

daveori avatar eec3 avatar rhoneyager avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

stegmannjcsda

libicedb's Issues

Negative dipole coordinates

At the moment the code only accepts positive integers as dipole coordinates (uint64_t). When parsing shapefiles if a negative coordinate -x is encountered this is automatically transformed to x

I have a lot of shapefiles centered around the origin which then includes negative coordinates.
Are there good reasons to not assume signed integers as dipole coordinates?

Unit test functions

The shape reading code needs automated testing programs. A set of valid shape files should be provided, and the results of parsing these shapes should be checked to ensure that they are read correctly.

particle_scattering_element_coordinates

particle_scattering_element_coordinates should also have a dimension particle_constituent_number, right? In most cases this will be =1 (only ice) but shouldn't the dimension show up in the variable if I look at it in ncdump?

Index file?

I just discussed with Davide that it might be useful to generate an index file for each dataset which contains the basic information what is included in the dataset (frequency, size, temperature range, list of particle_ids, etc.). Such a file would allow not always to read the entire hdf5 files if you are just looking for a certain subset of data (particles from 5-6 mm).

Stefan

Meta-Data for each file

I would suggest to already including also the meta-data into each files as we discussed and listed them in the Excel-sheet.

Import heterogeneous particles

I have started trying to import partially melted snowflakes and I am constatly getting segfault.

First memory corruption I have identified in the algorithm that parses the constituents. The algorithm consider the vector of particle constituents to be long: Ndipole*Nmaterials instead of Ndipoles. I have started implementing a solution in branch https://github.com/rhoneyager/libicedb/tree/heterogeneous_particles but I hesitate to pull-request because:

  1. We need to discuss a little bit more on how we store the constituents informations (at the moment it is not clear to me and I might have resolved the issue in the wrong way)
  2. There is a check in Shapes.cpp that prevents to write files with more than one constituent without specifying constituent_names

Thanks to answers to #15 I know the second point has some hdf I/O issues as well. We might want to fix those before making additional progress

Shape-file in-line comments

I tend to include headers into my shape-files. ADDA uses # for single-line comments.
However, this seems to create some issue when importing the given shape-file. I've tried some other common characters but there seems to be no support for single-line comments at all.

For the heck of it, I tried importing a DDASCAT file as well, and that seemed to work well.

I believe some type of line-commenting should be allowed for the shape-files, though I'm not sure exactly what characters should be supported. Multiple characters should be possible without conflicts, i.e. #, %, etc..

Variable description

I admit I am not very familiar with hdf5 but from standard netcdf I am used to add variable description ("long_name"), units, and also comments. We could just use what we worked out in the Excel data structure table. I remember that most people agreed on it already, or? At least we should give some examples, how people can add these information.

But maybe this is already planned and you just wanted to start with the basic structure. I just wanted to show that I am actively looking into the files ;-)

particle_scattering_element_spacing missing

We are missing the very important attribute: particle_scattering_element_spacing (inter dipole or inter sphere spacing). At least I couldn't find it in the GMM sample files Eugene sent around.

particle_id

particle_id: Are we still aiming at using unique particle identifiers in the end? We could also add a second variable "particle_id_internal" which contains the name used by the developers but the particle_id itself is the "global" and unique identifier which is the only reliable "tag" attached to this structure.

particle_single_constituent_name

I don't really understand why we put the constituent name into a single attribute (particle_single_constituent_name) and not a variable as in the Excel table particle_constituent_name(particle_constituent_number)? Again, for just one constituent it doesn't really matter but if I have 2 or 3 I have to generate more and more new attributes instead of having one variables which contains them all.

DDSCAT-type shape files of various versions

I have realized that my problems with importing shapefiles were due to an old version of ddscat shapefile I was using which requires a different number of header lines before start reading the coordinates.

ADDA scattering codes is able to ingest various shapefile formats transparently.
It might be good to have a look the same feature here

Shape file filename extension

There seems to be a restriction on what filename extensions that are accepted (.dat, .shape).

My shape files use ".adda", hence I'm not able to import these (without changing the extension). Is there a reason for only specific extensions being allowed?

edit: ADDA output files use, ".geom", which does not seem to be supported as well. I think this extension should be supported at least.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.