Skip to content

Conversation

@msl3v
Copy link

@msl3v msl3v commented Aug 4, 2025

This PR is meant to pull in the changes made to include GDAL and functionality for GIS files in ESMF. Right now it's limited to shapefiles. It can open files to create meshes or LocStreams, read fields onto a mesh or LocStream. It can write mesh fields onto existing shapefiles, but cannot create the shapefile itself.

Changes made to IO, Mesh, Field, and LocStream. And do build & cmake files.

oehmke and others added 30 commits February 27, 2023 16:37
…n into individual file format methods and reaarange PIO ifdefs.
…ssue with file format flag Fortran-C correspondance.
and working in serial (local_pet == 0).

MSL
so it's being committed. Still needs some clean-up but that can
wait

MSL
read now. (ESMCI_IO_GDAL* files already created) - MSL
GDALClose still segfaults, because it's still done on all nodes.
Close needs to happen only once.

At this point, freezing this branch, and cloning into another for a
restart. It looks like we need the PIO CPU topo and file handling
types to manage the interface. So PIO will be cloned and GDAL
built in in place of NETCDF. Lots to do!

MSL
Going to clone PIO and convert from NETCDF to GDAL.

This reverts commit 83dccf0.
which will hold the GDAL-specific routines -- likely all routines in one
module. Maybe they'll split apart in the future.

MSL
the data directly.

-- Need to map from Shapefile features to Mesh elements when
   features < elements (as in the case with Multipolygons)
-- What is going on with start/count in PIOc_InitDecomp()?
The process of reading a SHP file in ESMF broke multipolygons apart
into individual elements. This revision preserves the multipolygons
as a whole element. This facilitates data reading/writing on a Mesh.

-- rewrote the GDAL Util routines.
-- Made extensive use of std::vectors
-- Now, no longer strictly a C project. Now C++ too

MSL
a mesh created from that shapefile.

-- serial read, mpi broadcast.
-- Only OFTReal is possible at the moment. It seems that
   OFTString is interpreted as a real by GDAL/ESMF, so that
   a string field with an integer in it is read as a double. Weird

MSL
It has been cleaned up for merging with the main repository
I expect a lot of feedback and edits.
There is much more work to be done.

-- MSL
 in prep for a PR to diagnose the GDAL read issues.

MSL
garbled after running ESMF_FieldRegridStore()

MSL
msl3v and others added 23 commits September 11, 2024 14:03
by a DE from a shapefile. And a makefile fix

MSL
Make sure that everything is created > 0.

MSL
MSL
Not sure the parallel read works, but it at least works on 1 proc

MSL
be better if we set the FIDs at file open and got them here as i.

MSL
@anntsay anntsay added the who: NASA Originates from NASA label Oct 29, 2025
@anntsay
Copy link
Contributor

anntsay commented Oct 29, 2025

core team: currently on a branch but will take non-trivial work on PIO and get this merged into ESMF. Erik at NCAR had also asked about shapefile.

Because it is related to PIO, we need to talk to Jim E. before he retires. (and Brian and Bill)

@msl3v
Copy link
Author

msl3v commented Nov 18, 2025

@anntsay
Some effort was made last year to get the PIO part in order with Jim. If more is needed, let me know.
The fork msl3v@LocStream is now in an operating research model. I will start to integrate raster processing soon.

@danrosen25 danrosen25 added this to the v09.00.00 milestone Jan 21, 2026
@danrosen25
Copy link
Member

Hi @msl3v,
I'm not sure why ParallelIO is included twice?
https://github.com/msl3v/ESMF-GDAL_v2/tree/LocStream/ParallelIO (added ParallelIO directory)
https://github.com/msl3v/ESMF-GDAL_v2/tree/LocStream/src/Infrastructure/IO/PIO/ParallelIO (modified ParallelIO directory)

We prefer to include third party libraries externally but PIO has been an exception. If we're ever bringing in a new library then we need to separate the pull request into 1. additional embedded external code 2. modification of existing code. And if there is an upstream then we have to discuss code synchronization practices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

who: NASA Originates from NASA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants