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

Reply via email to