Técnicos locales se capacitan en técnicas de aforo

 

Se trata de Martin Nozijkoswky Ingeniero del IPA, que participó del curso teórico- práctico sobre técnicas de aforo con ADCP.                              

                                               

Capacitadores: Dr. Ing. Carlos Marcelo García y Mg. Ing. Ana Inés Heredia Ligorria de la Facultad de Ciencias Exactas, Físicas y Naturales de la Universidad Nacional de Córdoba (FCEFyN – UNC)

Cronograma de las jornadas

Martes 11 de junio

  • Introducción
  • Conceptos operacionales básicos de los ADCP
  • Descripción de los modos de funcionamiento de ADCPs
  • Mediciones de caudal

Miércoles 12 de junio

  • Mediciones en campo

Jueves 13 de junio

  • Incertidumbre en la medición del caudal
  • Manejo de software específico
  • Procesamiento de datos registrados durante las actividades de campo

 

                                                                                   

Instituciones que participaron

  • Secretaría de Infraestructura y Política Hídrica – Nación
  • Autoridad Interjurisdiccional de las Cuencas de los ríos Limay, Neuquén y Negro (AIC)
  • Departamento General de Irrigación (DGI) – Mendoza
  • Corporación de Fomento del Valle Bonaerense del Río Colorado (CORFO) – Buenos Aires
  • Consorcio Hidraúlico del Valle Bonaerense del Río Colorado
  • Comité interjurisdiccional del Río Colorado (COIRCO)
  • Secretaría de Recursos Hídricos de La Pampa
  • Instituto provincial del Agua Chubut
  • Comité Interprovincial de la Cuenca del Río Chubut (COIRCHU)
  • Departamento Provincial de Aguas (DPA) Río Negro
  • Autoridad de Cuencas del río Azul (ACRA)

Comentarios de asistentes del curso

Martin Nozijkoswki - Instituto Provincial del Agua de Chubut 

“Me pareció muy interesante el curso, ya que nosotros estamos interesados en adquirir un equipo ADCP, por lo cual fue muy importante adquirir conocimientos de los mismos.

Por otra parte también fue muy interesante compartir las experiencias de las otras provincias, y organismos respecto a las mediciones de los recursos hídricos. Y el aporte de los capacitadores más que interesante y actualizado respecto a lo que se está realizando en otros países.”

Boni Martín Sebastián – Departamento General de Irrigación

“El curso me pareció muy interesante, el contenido me pareció apropiado. Agregaría la posibilidad de utilizar otros métodos de ACDP, por ejemplo bastones.”

                                                                                    

Marcos Budniewski - DPA Delegación Regional Andina

“La verdad que el curso fue muy productivo para mí y para los compañeros de la delegación, hablo por Gustavo Javier Antenao y Polo Lozeco. En términos generales nos sirvió para comprender el funcionamiento básico de los equipos de medición basados en ondas sonoras y del efecto Doppler. Lo cual es imprescinbdible para poder utilizar estos equipos de la mejor forma. Si bien en mi caso, había utilizado estos equipos en mi formación académica, no había podido comprender el funcionamiento de los perfiladores a nivel de detalle.

En el segundo día del curso, ya conociendo el funcionamiento general, se adentró en el funcionamiento del S-5 de Sontek, el cual es el equipo que adquirió el DPA. Se revisaron todas las tareas de campo para utilizarlo y su postproceso en gabinete, para poder observar la calidad de las mediciones.

Otro aspecto a destacar es que gracias a la invitación del DPA a otros organismos como la DGI de Mendoza, que llevaron su equipo, se pudieron observar sus técnicas particulares de medición y poder contrastar las variables medidas con respecto al S-5.

Se llegó a la conclusión general que todos los organismos asistentes al curso, se encuentran en condición de correcta utilización de los equipos. Y además se abrió la posibilidad, debido al intercambio que se produjo en el curso, de realizar una regata de medición con perfiladores acústicos Doppler a fines de observar el correcto funcionamiento de los equipos y contrastar valores de caudales entre ellos.”

                                                                                     

Nicolás Popoff – DPA Delegación Andina

“La experiencia fue muy positiva. Por un lado nos aportó datos técnicos del instrumento que ayudan a comprender su funcionamiento y a partir de allí optimizar su uso y potenciar sus prestaciones, también conocer las diferentes características de los ACDP nos dio un panorama más claro a la hora de decidir qué modelo de instrumento es más adecuado para las condiciones particulares de las cuencas de la Zona Andina o del Valle (muy diferentes en profundidad, velocidad del flujo, composición del lecho, etc).

La experiencia de campo con el equipo del DPA y el aporte del Departamento de Irrigación de Mendoza, que trajo su equipo ACDP nos permitió comparar metodologías diferentes dadas las características de ambos ACDP.

Con respecto al procesamiento de datos también fue muy esclarecedor a la hora de interpretar la información que el equipo nos entrega.

Por último, más allá de las cuestiones técnicas o destrezas que se compartieron, el encuentro entre profesionales y técnicos de 5 provincias vinculados a los recursos hídricos es sumamente enriquecedor para todos. Conocer las distintas problemáticas y las estrategias para atenderlas que diseña cada organismo, amplía la mirada y también contribuye a ir afianzando vínculos entre pares.

En síntesis, muy positivo!”

                                                                                     

Fernando Blanco - DPA Viedma

“El curso fue muy completo y exitoso. Lo que más valoro es lo siguente:

  • Muy buena explicación de todos los temas teóricos por parte de Marcelo y Anita.
  • La práctica que hicimos en el río (aunque no nos acompañó el tiempo con la tormenta y el frío)
  • El intercambio de experiencias con otros colegas de las demás provincias.
  • Poder sacarnos todas las dudas y preguntas que teníamos con respecto del uso del equipo ADCP.

Espero que podamos organizar y/o participar en otro evento similar para ampliar más el conocimiento y el uso del perfilador ADCP.”

                                                                                   

Marco Herrera – DPA                                                   

“El curso me pareció excelente, me ayudo a comprender con más detalles como funciona el equipo ACDP. 

Por otra parte, en la práctica reforzó y amplió los conocimientos de cómo se debe proceder en el trabajo de campo.”

                                                                                  

 

Fernando Bodoira – DPA Viedma

“Es importante destacar esta transferencia de conocimientos entre dos organizaciones públicas dedicadas a diferentes cosas como por ejemplo el DPA y las demás instituciones que participaron que están avocadas a la gestión del agua y los capacitadores que están dedicados a la investigación en materia agua. Es fundamental el vínculo y el ida y vuelta que hubo porque desde el ámbito académico se aporta el estudio del comportamiento de cada equipo y desde la gestión se aportan los datos, las vivencias de campo que nutren a la educación para que investigue y desarrolle nuevas posibilidades de medición. Es fundamental ese vínculo y en este caso se ha logrado muy bien.

En cuando a la utilidad, este es un equipo que al DPA le va a permitir cuantificar el recurso hídrico con una nueva tecnología que es mucho más versátil, brinda más información y es más práctica. Va a permitir conocer más en detalle como se comportan los recursos hídricos de la provincia de Río Negro y mejorar la distribución del agua dentro de los sistemas de riego.

Con respecto al curso, el martes se hizo un repaso de la teoría, nos explicaron en profundidad como es el funcionamiento del equipo. Destaco la calidad de las presentaciones que fue espectacular.

El miércoles realizamos la parte práctica. Se hicieron pasadas en un kayak, una embarcación sin motor, en un bracito del Río Negro con 2 equipos: el del DPA y uno que trajo Mendoza que tiene el mismo principio de funcionamiento, pero es para utilizarlo de forma estacionaria. Son distintas maneras de medición, lo importante es que pudimos comparar los resultados y comprobar que ambos equipos medían lo mismo. Después con colaboración de la Prefectura hicimos unas pasadas en el río desde un semirígido.

El tercer día se bajaron todos los datos a la PC y se hizo el procesamiento de la información. Nos enseñaron a procesar toda esa información, buscar los errores, detectar como corregirlos y buscar la mejor forma de presentar los datos y generar los reportes.”

                                                                                 

Diego Echegaray – Consorcio Hidraúlico del Valle Bonaerensedel Río Colorado

“El curso para mi fue excelente, porque brindó información útil para aquellos concurrentes que quieren adquirir un equipo como es mi caso, como para aquellas personas que ya están operando los equipos. Ademas la práctica fue muy interesante ya que se pudieron ver las prestaciones de ambos equipos. 

En lo que es a los asistentes me pareció muy bueno porque nos reunimos personal técnico de distintas provincias que trabajamos en agua, lo cual es muy difícil de encontrar. 

En lo referido a los disertantes: excelente el modo de explicar, la experiencia en el tema y como desarrollaron las jornadas.

En cuanto a la organización impecable y sería muy interesante poder realizar algún otro encuentro( Ej: una regata de aforo).”

 

 

Loading…
Loading the web debug toolbar…
Attempt #
Warning: file_put_contents(compress.zlib:///var/www/html/ipa/var/cache/dev/profiler/76/32/233276): Failed to open stream: operation failed (500 Internal Server Error)

Symfony Exception

ErrorException

HTTP 500 Internal Server Error

Warning: file_put_contents(compress.zlib:///var/www/html/ipa/var/cache/dev/profiler/76/32/233276): Failed to open stream: operation failed

Exception

ErrorException

  1.         if (\function_exists('gzcompress')) {
  2.             $file 'compress.zlib://'.$file;
  3.             stream_context_set_option($context'zlib''level'3);
  4.         }
  5.         if (false === file_put_contents($fileserialize($data), 0$context)) {
  6.             return false;
  7.         }
  8.         if (!$profileIndexed) {
  9.             // Add to index
  1.             if ($collector instanceof LateDataCollectorInterface) {
  2.                 $collector->lateCollect();
  3.             }
  4.         }
  5.         if (!($ret $this->storage->write($profile)) && null !== $this->logger) {
  6.             $this->logger->warning('Unable to store the profiler information.', ['configured_storage' => \get_class($this->storage)]);
  7.         }
  8.         return $ret;
  9.     }
  1.             }
  2.         }
  3.         // save profiles
  4.         foreach ($this->profiles as $request) {
  5.             $this->profiler->saveProfile($this->profiles[$request]);
  6.         }
  7.         $this->profiles = new \SplObjectStorage();
  8.         $this->parents = new \SplObjectStorage();
  9.     }
  1.         $this->called true;
  2.         $this->priority $dispatcher->getListenerPriority($eventName$this->listener);
  3.         $e $this->stopwatch->start($this->name'event_listener');
  4.         ($this->optimizedListener ?? $this->listener)($event$eventName$dispatcher);
  5.         if ($e->isStarted()) {
  6.             $e->stop();
  7.         }
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.         try {
  2.             $this->beforeDispatch($eventName$event);
  3.             try {
  4.                 $e $this->stopwatch->start($eventName'section');
  5.                 try {
  6.                     $this->dispatcher->dispatch($event$eventName);
  7.                 } finally {
  8.                     if ($e->isStarted()) {
  9.                         $e->stop();
  10.                     }
  11.                 }
  1.     /**
  2.      * {@inheritdoc}
  3.      */
  4.     public function terminate(Request $requestResponse $response)
  5.     {
  6.         $this->dispatcher->dispatch(new TerminateEvent($this$request$response), KernelEvents::TERMINATE);
  7.     }
  8.     /**
  9.      * @internal
  10.      */
in vendor/symfony/http-kernel/Kernel.php -> terminate (line 159)
  1.         if (false === $this->booted) {
  2.             return;
  3.         }
  4.         if ($this->getHttpKernel() instanceof TerminableInterface) {
  5.             $this->getHttpKernel()->terminate($request$response);
  6.         }
  7.     }
  8.     /**
  9.      * {@inheritdoc}
  1.     {
  2.         $response $this->kernel->handle($this->request);
  3.         $response->send();
  4.         if ($this->kernel instanceof TerminableInterface) {
  5.             $this->kernel->terminate($this->request$response);
  6.         }
  7.         return 0;
  8.     }
  9. }
in vendor/autoload_runtime.php -> run (line 35)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/var/www/html/ipa/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Stack Trace

ErrorException
ErrorException:
Warning: file_put_contents(compress.zlib:///var/www/html/ipa/var/cache/dev/profiler/76/32/233276): Failed to open stream: operation failed

  at vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php:179
  at Symfony\Component\HttpKernel\Profiler\FileProfilerStorage->write()
     (vendor/symfony/http-kernel/Profiler/Profiler.php:101)
  at Symfony\Component\HttpKernel\Profiler\Profiler->saveProfile()
     (vendor/symfony/http-kernel/EventListener/ProfilerListener.php:135)
  at Symfony\Component\HttpKernel\EventListener\ProfilerListener->onKernelTerminate()
     (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
     (vendor/symfony/event-dispatcher/EventDispatcher.php:230)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
     (vendor/symfony/event-dispatcher/EventDispatcher.php:59)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
     (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
     (vendor/symfony/http-kernel/HttpKernel.php:94)
  at Symfony\Component\HttpKernel\HttpKernel->terminate()
     (vendor/symfony/http-kernel/Kernel.php:159)
  at Symfony\Component\HttpKernel\Kernel->terminate()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:39)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:35)
  at require_once('/var/www/html/ipa/vendor/autoload_runtime.php')
     (public/index.php:5)                
Symfony\Component\VarDumper\Cloner\Data objects are immutable. (500 Internal Server Error)

Symfony Exception

BadMethodCallException

HTTP 500 Internal Server Error

Symfony\Component\VarDumper\Cloner\Data objects are immutable.

Exception

BadMethodCallException

  1.      * @return void
  2.      */
  3.     #[\ReturnTypeWillChange]
  4.     public function offsetSet($key$value)
  5.     {
  6.         throw new \BadMethodCallException(self::class.' objects are immutable.');
  7.     }
  8.     /**
  9.      * @return void
  10.      */
  1.      *
  2.      * @see TraceableEventDispatcher
  3.      */
  4.     public function setCalledListeners(array $listeners)
  5.     {
  6.         $this->data['called_listeners'] = $listeners;
  7.     }
  8.     /**
  9.      * @see TraceableEventDispatcher
  10.      *
  1.     }
  2.     public function lateCollect()
  3.     {
  4.         if ($this->dispatcher instanceof TraceableEventDispatcher) {
  5.             $this->setCalledListeners($this->dispatcher->getCalledListeners($this->currentRequest));
  6.             $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners($this->currentRequest));
  7.             $this->setOrphanedEvents($this->dispatcher->getOrphanedEvents($this->currentRequest));
  8.         }
  9.         $this->data $this->cloneVar($this->data);
  1.     public function saveProfile(Profile $profile)
  2.     {
  3.         // late collect
  4.         foreach ($profile->getCollectors() as $collector) {
  5.             if ($collector instanceof LateDataCollectorInterface) {
  6.                 $collector->lateCollect();
  7.             }
  8.         }
  9.         if (!($ret $this->storage->write($profile)) && null !== $this->logger) {
  10.             $this->logger->warning('Unable to store the profiler information.', ['configured_storage' => \get_class($this->storage)]);
  1.             }
  2.         }
  3.         // save profiles
  4.         foreach ($this->profiles as $request) {
  5.             $this->profiler->saveProfile($this->profiles[$request]);
  6.         }
  7.         $this->profiles = new \SplObjectStorage();
  8.         $this->parents = new \SplObjectStorage();
  9.     }
  1.         $this->called true;
  2.         $this->priority $dispatcher->getListenerPriority($eventName$this->listener);
  3.         $e $this->stopwatch->start($this->name'event_listener');
  4.         ($this->optimizedListener ?? $this->listener)($event$eventName$dispatcher);
  5.         if ($e->isStarted()) {
  6.             $e->stop();
  7.         }
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.         try {
  2.             $this->beforeDispatch($eventName$event);
  3.             try {
  4.                 $e $this->stopwatch->start($eventName'section');
  5.                 try {
  6.                     $this->dispatcher->dispatch($event$eventName);
  7.                 } finally {
  8.                     if ($e->isStarted()) {
  9.                         $e->stop();
  10.                     }
  11.                 }
  1.     /**
  2.      * {@inheritdoc}
  3.      */
  4.     public function terminate(Request $requestResponse $response)
  5.     {
  6.         $this->dispatcher->dispatch(new TerminateEvent($this$request$response), KernelEvents::TERMINATE);
  7.     }
  8.     /**
  9.      * @internal
  10.      */
  1.         $response $this->handleThrowable($exception$requestself::MAIN_REQUEST);
  2.         $response->sendHeaders();
  3.         $response->sendContent();
  4.         $this->terminate($request$response);
  5.     }
  6.     /**
  7.      * Handles a request to convert it to a response.
  8.      *
  1.                         if ($hasRun) {
  2.                             throw $e;
  3.                         }
  4.                         $hasRun true;
  5.                         $kernel->terminateWithException($e$request);
  6.                     };
  7.                 }
  8.             } elseif ($event instanceof ConsoleEvent && $app $event->getCommand()->getApplication()) {
  9.                 $output $event->getOutput();
  10.                 if ($output instanceof ConsoleOutputInterface) {
in /var/www/html/ipa/vendor/symfony/error-handler/ErrorHandler.php :: Symfony\Component\HttpKernel\EventListener\{closure} (line 607)
  1.             $this->exceptionHandler null;
  2.         }
  3.         try {
  4.             if (null !== $exceptionHandler) {
  5.                 return $exceptionHandler($exception);
  6.             }
  7.             $handlerException $handlerException ?: $exception;
  8.         } catch (\Throwable $handlerException) {
  9.         }
  10.         if ($exception === $handlerException && null === $this->exceptionHandler) {
ErrorHandler->handleException()

Stack Trace

BadMethodCallException
BadMethodCallException:
Symfony\Component\VarDumper\Cloner\Data objects are immutable.

  at /var/www/html/ipa/vendor/symfony/var-dumper/Cloner/Data.php:178
  at Symfony\Component\VarDumper\Cloner\Data->offsetSet()
     (/var/www/html/ipa/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php:79)
  at Symfony\Component\HttpKernel\DataCollector\EventDataCollector->setCalledListeners()
     (/var/www/html/ipa/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php:64)
  at Symfony\Component\HttpKernel\DataCollector\EventDataCollector->lateCollect()
     (/var/www/html/ipa/vendor/symfony/http-kernel/Profiler/Profiler.php:97)
  at Symfony\Component\HttpKernel\Profiler\Profiler->saveProfile()
     (/var/www/html/ipa/vendor/symfony/http-kernel/EventListener/ProfilerListener.php:135)
  at Symfony\Component\HttpKernel\EventListener\ProfilerListener->onKernelTerminate()
     (/var/www/html/ipa/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
     (/var/www/html/ipa/vendor/symfony/event-dispatcher/EventDispatcher.php:230)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
     (/var/www/html/ipa/vendor/symfony/event-dispatcher/EventDispatcher.php:59)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
     (/var/www/html/ipa/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
     (/var/www/html/ipa/vendor/symfony/http-kernel/HttpKernel.php:94)
  at Symfony\Component\HttpKernel\HttpKernel->terminate()
     (/var/www/html/ipa/vendor/symfony/http-kernel/HttpKernel.php:111)
  at Symfony\Component\HttpKernel\HttpKernel->terminateWithException()
     (/var/www/html/ipa/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php:131)
  at Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::Symfony\Component\HttpKernel\EventListener\{closure}()
     (/var/www/html/ipa/vendor/symfony/error-handler/ErrorHandler.php:607)
  at Symfony\Component\ErrorHandler\ErrorHandler->handleException()