massProps
A mass-properties rollup spends a year on documentation and follows its sibling's API
A side-by-side editorial comparison of climate and rollupTree — release velocity, themes, recent moves, and the top alternatives to consider.
climate stops scraping and starts parsing: an in-house SYNOP engine replaces the HTML path.
climate pulls meteorological, hydrological and sounding data in R from public providers, chiefly the Polish IMGW-PIB repository, OGIMET and NOAA. Version 1.4.0 changes how it gets that data rather than what it offers: a new synop_parser() reads raw SYNOP messages directly, the OGIMET functions take a parser argument and default to SYNOP for hourly data with HTML kept for daily summaries, and the XML parsing engine has been replaced by in-house code to cut dependencies. The sounding functions also lost their server-side thermodynamic indices when the legacy Wyoming interface shut down.
The recursive-computation engine under massProps grows the accessors its consumer needed
rollupTree performs recursive computations over tree and DAG structures — the generic engine that its author's massProps package uses to roll mass properties up an assembly breakdown. It is small and moves slowly: five releases in a year, of which two are README and vignette work. The current surface added row-level get and set accessors by key and by id at 0.4.0.
climate pulls meteorological, hydrological and sounding data in R from public providers, chiefly the Polish IMGW-PIB repository, OGIMET and NOAA. Version 1.4.0 changes how it gets that data rather than what it offers: a new synop_parser() reads raw SYNOP messages directly, the OGIMET functions take a parser argument and default to SYNOP for hourly data with HTML kept for daily summaries, and the XML parsing engine has been replaced by in-house code to cut dependencies. The sounding functions also lost their server-side thermodynamic indices when the legacy Wyoming interface shut down.
This package's history is largely a record of upstream providers changing underneath it, and 1.4.0 is the release where it stops absorbing those changes and reduces its exposure to them. The 1.2.9 notes described a 20-second pause between OGIMET requests as a temporary measure and named a SYNOP parsing engine as the intended fix; that engine is now here, and SYNOP messages can be retrieved in bulk rather than one scrape at a time. Owning the parser and dropping XML means the next provider-side HTML change is a smaller problem than the last one was.
Expect the SYNOP path to become the default for more of the OGIMET surface as it proves out, with the HTML parser retained only where the provider offers nothing else. Whether the thermodynamic indices return in some form, or stay permanently delegated to thundeR, is the open question these notes leave.
rollupTree performs recursive computations over tree and DAG structures — the generic engine that its author's massProps package uses to roll mass properties up an assembly breakdown. It is small and moves slowly: five releases in a year, of which two are README and vignette work. The current surface added row-level get and set accessors by key and by id at 0.4.0.
The package develops in response to its one visible consumer. The 0.4.0 accessors appeared in January 2026 and massProps switched to them thirteen days later; 0.4.1 then fixed missing column names in the setters, which is the kind of defect only real use surfaces. Before that, 0.3.0's default_validate_dag() extended validation past strict trees to directed acyclic graphs, widening what structures the engine will accept.
On the established pattern the next release will be whatever massProps needs next, discovered by using it. A DAG validator suggests non-tree structures are in scope, but nothing in these notes says that path is being pushed further.
Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either climate or rollupTree.
A mass-properties rollup spends a year on documentation and follows its sibling's API
Six months of releases and not one of them touched the scoring models
A cognitive-science sampling package ships once, then goes quiet for eighteen months
A Bayesian volatility sampler in its maintenance decade, paying for its own speed
A black-box interpreter reaches CRAN, then learns multi-class and survival responses
Spatial thinning grows a result object, and the API breaks to make room for it
See all climate alternatives → · See all rollupTree alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. climate and rollupTree are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. climate and rollupTree are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top climate alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "climate alternatives" section above for the current picks, or visit /alternatives/climate for the full list with editorial commentary on each.
Top rollupTree alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "rollupTree alternatives" section above for the current picks, or visit /alternatives/rolluptree for the full list with editorial commentary on each.