On 2025/09/03 13:46, Marco van Hulten wrote: > On Tue, 2 Sep 2025 14:40:04 +0100 Stuart Henderson wrote: > > On 2025/09/02 14:48, Marco van Hulten wrote: > > > On Tue, 2 Sep 2025 11:23:02 +0100 Stuart Henderson wrote: > > > > attached with some cleanup. I think this is looking to be in reasonable > > > > shape now. > > > > > > Thanks. I tried to make test, but tests fail (log attached). > > > > worked for me, but I had it installed. alternatively I think adding this > > may help > > > > TEST_ENV = LD_LIBRARY_PATH=${WRKBUILD}/lib > > This works. All tests for netcdf (including Martin's update + minor > changes), hdf5, libaec, eccodes and cdo work and CDO can read GRIB2 (as > well as GRIB1 and netCDF): > > mvanhult@detekti:~/data/grib$ cdo -infon > icon-eu_europe_regular-lat-lon_single-level_2025063000_120_T_2M.grib2 > -1 : Date Time Level Gridsize Miss : Minimum > Mean Maximum : Parameter name > 1 : 2025-07-05 00:00:00 2 904689 0 : 269.95 > 289.78 313.96 : 2t > cdo infon: Processed 904689 values from 1 variable over 1 timestep [0.30s > 81MB] > > > > > while loooking into what it wants Python for, I found memfs - do you > > > > have a handle on this? it seems that it may be another way to load the > > > > definitions that doesn't need the huge file tree... > > > > > > No, I know hardly anything about memfs. > > > > I have no idea about use of this software but the definitions account > > for a *lot* of files; 22k entries in the PLIST before flattening, 27k > > after, so it would be nice to avoid them if they aren't really needed > > > > * MEMFS, eccodes(OFF): 'Memory based access to definitions/samples' > > > > > > > I cannot look into this anytime soon. Will add an XXX comment before > > > the post-install rule as a reminder. > > I realise that 20k+ entries are a lot and even saving only about 5k > would be a good thing. I can compile with memfs and probably need to > set some variable when linking [1]. With memfs it creates a > libeccodes_memfs.so of size 36 MiB, which is surely better than tens of > thousands of files. More news later.
thanks. you'll probably need this, to get the file versioned correctly: SHARED_LIBS += eccodes_memfs 0.0 (+ plist regen after rebuilding) in case you didn't already find it, pkg_add ccache and USE_CCACHE=Yes in /etc/mk.conf will save you quite some time when rebuilding > Alternatively, _if_ I don't manage (to make cdo understand this memfs > so), I could today submit netcdf, hdf5 and cdo without GRIB2 support > (no eccodes). This would already be useful, because people in the > geosciences need netCDF support; GRIB1/2 is less prevalent. Don't say > this to the meteorologists. Then we'll try packaging eccodes (for > GRIB2 support) later properly. > > Marco > > [1]: > https://confluence.ecmwf.int/display/UDOC/MEMFS:+How+do+I+access+the+samples+in+ifs_samples+-+ecCodes+GRIB+FAQ Also https://confluence.ecmwf.int/pages/viewpage.action?pageId=143037711