NCAR / ParallelIO

A high-level Parallel I/O Library for structured grid applications
Apache License 2.0
136 stars 53 forks source link

pio.h exposes implementation details #1612

Open ckhroulev opened 5 years ago

ckhroulev commented 5 years ago

pio.h contains several internal structures (var_desc_t, io_region, io_desc_t, iosystem_desc_t, wmulti_buffer, file_desc_t, ...) that could be moved to pio_internal.h.

This would eliminate the need to install uthash.h (see #1551). Installing uthash.h is problematic because if a user has uthash.h installed already the user's copy will be overwritten.

I can create a pull request with these changes if you think it's a good idea.

jedwards4b commented 5 years ago

Sure, that would be great.

edhartnett commented 5 years ago

Yes, fantastic idea!

edwardhartnett commented 4 years ago

Well there is a problem with this. Those structs are part of the public fortran API.

So now what?

ckhroulev commented 4 years ago

As far as I can tell the public Fortran API contains several types that have names matching names of some of these structures, but they are not the same types (compare pio_types.F90 and pio.h).

Please correct me if I'm wrong.

edwardhartnett commented 4 years ago

Ah, you are right! I missed that! ;-)