Il Canale Pietro Vacchelli
- /
- 04 ottobre 2023
L'opera di presa dell'acqua dal fiume Adda tra il comune lodigiano di Merlino e il comune cremonese di Spino d'Adda, scorre da ovest a est nella Media Pianura Lombarda e costituisce la maggiore opera idraulica per l'irrigazione del territorio della provincia di Cremona
Il canale Pietro Vacchelli, già Canale Marzano dalla località dove è collocata l'opera di presa dell'acqua dal fiume Adda tra il comune lodigiano di Merlino e il comune cremonese di Spino d'Adda, scorre da ovest a est nella Media Pianura Lombarda e costituisce la maggiore opera idraulica per l'irrigazione del territorio della provincia di Cremona. È stato realizzato dal Consorzio Irrigazioni Cremonesi tra il 1887 e il 1892, su proposta dell'Ing. Pietro Vacchelli (del quale assunse il nome dopo la sua morte avvenuta nel 1913), con lo scopo di risolvere la grave crisi agricola della seconda metà del XIX secolo causata dagli arretrati sistemi di coltivazione. Esso trasporta circa 38 metri cubi di acqua al secondo con un percorso lungo 34 Km quasi esclusivamente rettilineo, attraversa la pianura cremasca passando per Spino d'Adda, Pandino, Palazzo Pignano, Vaiano Cremasco e Trescore Cremasco, per poi giungere a Crema dove scavalca il fiume Serio mediante un ardito ponte e quindi prosegue verso Salvirola. Qui il suo corso si divide: un braccio va a confluire nel Naviglio civico di Cremona, mentre il ramo principale prosegue verso sud est terminando alle Tombe Morte nel comune di Genivolta, ove le sue acque vanno a miscelarsi con quelle del già citato "Naviglio civico di Cremona" e del "Naviglio Grande Pallavicino" che qui si incontrano. In caso di piena, l'acqua viene scaricata nel fiume Oglio tramite lo "Scolmatore di Genivolta".
Il nome "Tombe Morte" di questo importante snodo idraulico, ha un'origine piuttosto controversa; nel contesto dell'idraulica il termine "Tomba" è sinonimo di sifone, manufatto che permette ad un corso d'acqua di sottopassarne un altro, mentre l'aggettivo "Morte" può assumere due significati in quanto riferiti al fatto che alcuni sifoni sono caduti oggi in disuso, quindi morti, oppure al fatto che vennero ritrovate nella zona alcune sepolture risalenti alla tarda età romana. La località si trova in una posizione ideale, a 70 metri sul livello del mare, per accogliere le acque provenienti dal fiume Oglio, dal fiume Adda e da diversi fontanili locali per smistarla e convogliarla attraverso una fitta rete di canali e rogge su tutta la provincia di Cremona. L'acqua così convogliata diventa fonte di approvvigionamento per i terreni di un comprensorio di oltre 80.000 ettari rendendoli fertili.
Questo luogo è anche molto importante per la rete di piste ciclabili della Lombardia, in quanto si incontrano qui la ciclabile del Canale Vacchelli, la ciclabile del Naviglio Civico di Cremona e la ciclabile delle città murate che va da Soncino a Pizzighettone.
Il canale Vacchelli lo conosco da diversi anni; nel 2023 ho percorso la ciclabile a maggio, giugno e settembre per fotografare flora, fauna e paesaggi, spostandomi alternativamente dalla sponda sinistra a quella destra e attraversando ponti in cotto tutti belli e diversi uno dall'altro. Il percorso offre una distensiva pedalata totalmente in piano attraversando la campagna circondati da campi, filari di pioppi e a tratti di bella vegetazione.
Ho incontrato belle fioriture come erba perla azzurra, erigeron, cimbalaria, papavero, iperico, convolvolo, viperina azzurra, verbasco, saponaria, lunaria, euforbia ecc.
In prossimità del canale ho visto il Germano reale, aironi, garzette, cormorani, gabbiani, vari tipi di farfalle e libellule.
Grazie alla scelta del Consorzio Irrigazioni Cremonesi di limitare al minimo gli scarichi che entrano nel canale, le acque hanno conservato una buona qualità e sono ricche di fauna ittica pregiata: trote marmorate, temoli, alcuni dei quali addirittura si riproducono nel Vacchelli, cavedani, carpe e rarissimi lucci italiani. Il canale è infatti meta di alcuni recuperi volti alla conservazione delle specie ittiche autoctone.
Testo e foto Walter Ferrari
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 358, 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