Il fiume Brembo: storia, lavoro e leggende della Valle Brembana
Dalle sorgenti di Carona fino all’Adda, alla scoperta delle sue bellezze, della storia e delle leggende del fiume che da secoli ne plasma l’identità.
La scheda
Nome: Fiume Brembo
Lunghezza: 74 km
Origine: Alpi Orobie, ai piedi del Pizzo del Diavolo di Tenda (circa 2.100 m s.l.m.)
Sbocco: Fiume Adda, presso Canonica d’Adda (BG)
Caratteristiche: Uno dei principali corsi d’acqua della Lombardia; affluente di sinistra dell’Adda; bacino idrografico di circa 900 km²
Affluenti principali: Enna, Parina, Imagna
Soprannome: “Fiume impetuoso” – noto per le sue piene improvvise e la forza delle sue acque
Utilizzo: Irrigazione, produzione di energia idroelettrica, approvvigionamento idrico per le Terme di San Pellegrino, in passato trasporto del legname e forza motrice per mulini e ferriere
Parchi naturali: Parco del Basso Corso del Brembo, Parco dei Colli di Bergamo, Parco del Brembo
Fauna e flora: Trote, carpe, uccelli acquatici, saliceti e boschi misti con salice bianco, ontano nero, pioppo e platano
Luoghi simbolo: Ponte Vecchio di Brembate, Ponte del Diavolo di Camerata Cornello, Terme di San Pellegrino, borgo di Pagliari (Carona)
Curiosità: Celebre il detto bergamasco “Il Serio bagna, il Brembo inonda”.
Nel 1966 un’alluvione devastante colpì la Valle Brembana
Lungo il suo corso sorge Crespi d’Adda, patrimonio UNESCO
In passato veniva utilizzato per trasportare tronchi di legno fino a Milano lungo il Naviglio Martesana
Ritorno in Valle Brembana
Ho iniziato a frequentare la Valle Brembana negli anni ’60 quando, adolescente, con i miei genitori trascorrevo le vacanze estive a Sottochiesa e poi successivamente a Oltre il Colle, località turistica in quegli anni molto rinomata e frequentata. Ai primi di ottobre, approfittando di una bellissima giornata di inizio autunno, ho voluto percorrere in auto il corso del fiume Brembo partendo da Carona (borgo di Pagliari), fino al termine della Valle Brembana, per fotografarne le bellezze naturali e architettoniche e condividerle con i miei lettori.
Caratteristiche geografiche del Brembo
Il fiume Brembo è uno dei principali corsi d‘acqua della Lombardia e affluente di sinistra del fiume Adda, compreso interamente nella provincia di Bergamo.Nasce dalle Alpi Orobie, precisamente ai piedi del Pizzo del Diavolo di Tenda, a circa 2100 metri d’altitudine; ha una lunghezza di 74 Km ed un bacino idrografico esteso per circa 900 Kmq. Affluenti principali: Enna, Parina e Imagna. Confluisce nell’Adda presso Canonica d’Adda.
Il suo corso attraversa diverse valli, tra cui la Valle Brembana, dando il nome alla zona montuosa che lo circonda, e numerosi paesi famosi come San Pellegrino Terme, Zogno, Dalmine, Ponte San Pietro e Brembate.
Storia e importanza
Il fiume Brembo è stato fondamentale fin dall’antichità per le popolazioni dellabergamasca. I Romani lo utilizzarono come via di comunicazione e per l’irrigazione, mentre nel Medioevo divenne un’importante fonte di energia per i mulini e le ferriere locali. Molti ponti medievali vennero costruiti per attraversarlo, tra cui il Ponte Vecchio di Brembate, utilizzato come via di collegamento tra Bergamo e Milano.
Dal XII° secolo in poi, il fiume divenne essenziale per l’industria tessile e metallurgica. Nel XIX secolo, con la rivoluzione industriale, lungo le sue rive sorsero filatoi, cartiere e ferriere, sfruttando la forza dell’acqua per la produzione di energia.
Un esempio significativo di industrializzazione lungo il Brembo è Crespi d’Adda, il villaggio operaio costruito dalla famiglia Crespi, che sfruttava l’acqua del fiume per alimentare il grande cotonificio.
Flora e fauna
Il fiume Brembo ospita un ecosistema variegato, con numerose specie di uccelli acquatici, trote e carpe. Di notevole importanza naturalistica l’area di confluenza del Brembo nell’Adda, per la presenza del Bosco di Mezzo, un saliceto in buone condizioni a salice bianco ed eleagno, con presenza di ontano nero, pioppo nero, platano edarbusti vari.
Parchi e aree protette
Lungo il fiume Brembo si trovano diverse aree naturali protette:
Parco del Basso Corso del Brembo, istituito per preservare la biodiversità della zona; Parco dei Colli di Bergamo, che include parte del corso superiore del fiume; Parco del Brembo, che comprende diverse zone boschive lungo il fiume.
Curiosità
Il susseguirsi di esondazioni del Brembo, nel corso dei secoli, gli hanno attribuitola fama di fiume impetuoso e tormentato.Da sempre utilizzato per scopi irrigui e per il funzionamento dei numerosi mulini presenti lungo le sue rive, è stato, fino a metà ‘800, la più importante via di trasporto per il legname montano. Con l’arrivo delle piene primaverili, centinaia di tronchi di abete e larice scendevano dalla Valle Brembana fino alle segherie di Zogno, San Giovanni Bianco e Almenno San Salvatore. Di sovente proseguivano fino a Vaprio d’Adda e caricate sui barconi, giungevano a Milano lungo il naviglio Martesana.
Nel 1966, una delle alluvioni più devastanti colpì la valle Brembana, causando gravi danni e la distruzione di ponti e infrastrutture. Da allora, sono stati avviati numerosi interventi di tutela ambientale per ridurre il rischio di inondazioni. Significativo il detto bergamasco “ il Serio bagna, il Brembo inonda”.
Il fiume è famoso per i suoi “ponti del diavolo”, tra cui quello di Camerata Cornello, legato a leggende locali.
È una delle fonti principali d’acqua per le Terme di San Pellegrino, comune famoso anche per le sue acque minerali.
Testi e foto
Walter Ferrari
Tags: adda bellezze branzi brembo carona leggende san giovanni bosco san pellegrino terme scoperte storia valle brembana viaggio walter ferrari
FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)
Category passione-natura not found
----
FTL stack trace ("~" means nesting-related):
- Failed at: @get_category name=cat_name var="cate... [in template "dev.sevendaysweb.com/layouts/macro/utils.ftl" in macro "set_primary_category_color" at line 600, column 7]
- Reached through: @set_primary_category_color c [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "hs_contents" at line 970, column 25]
- Reached through: @hs_contents ca, contents_preview, co... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_category_content" at line 461, column 17]
- Reached through: @suggested_category_content ca, last_... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_contents" at line 223, column 25]
- Reached through: @query name=name cache=false start=st... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_contents" at line 221, column 9]
- Reached through: @suggested_contents name=(mpName + "i... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "content_suggested" at line 81, column 41]
- Reached through: @query name="categories_area_sect" ca... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "content_suggested" at line 8, column 9]
- Reached through: @content_suggested bundle.OCDetail, "... [in template "dev.sevendaysweb.com/layouts/macro/content_details.ftl" in macro "content_details" at line 357, column 25]
- Reached through: @content var="c" show_last_content=ca... [in template "dev.sevendaysweb.com/layouts/macro/content_details.ftl" in macro "content_details" at line 118, column 9]
- Reached through: @content_details img_full_width=img_f... [in template "dev.sevendaysweb.com/layouts/default.ftl" in macro "contents_column" at line 9, column 13]
- Reached through: @contents_column [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "container" at line 412, column 49]
- Reached through: @query name="count_areas" cache=false... [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "container" at line 254, column 5]
- Reached through: @container context, "[left-mid-", "[c... [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 111, column 33]
- Reached through: @cache sv=search_val [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 66, column 9]
- Reached through: @html cat_layout="home" cat_title=tru... [in template "dev.sevendaysweb.com/layouts/default.ftl" at line 24, column 1]
----
Java stack trace (for programmers):
----
freemarker.template.TemplateException: [... Exception message was already printed; see it above ...]
at it.treis.utils.freemarker.BasicHeadingCategoryDirective.getCategoryByName(BasicHeadingCategoryDirective.java:63)
at it.treis.utils.freemarker.CategoryDirective.execute(CategoryDirective.java:65)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:291)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:291)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.ContentCachedResultDirective.render(ContentCachedResultDirective.java:201)
at it.treis.utils.freemarker.ContentCachedResultDirective.execute(ContentCachedResultDirective.java:181)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.visitAndTransform(Environment.java:495)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CacheDirective.execute(CacheDirective.java:102)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.process(Environment.java:309)
at freemarker.template.Template.process(Template.java:384)
at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:223)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
at it.treis.smartmedia.navigation.interceptors.PrepareParametersInterceptor.intercept(PrepareParametersInterceptor.java:183)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at it.treis.smartmedia.navigation.interceptors.SubscriptionTokenMatcherInterceptor.intercept(SubscriptionTokenMatcherInterceptor.java:46)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)
at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:763)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1831)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:829)
Annunci gratuiti
Lavora con noi
Telegram News
Pubblicità
Redazione