Recent Changes - Search:

Participantes

Proyectos

Cursos

Bitacoras

Support

upload Folder

edit SideBar

Isaac

Edit crontab dtacq

You edit the crontab with crontab -e

then (quickly before autoreboot)

cp /var/spool/cron/crontabs/root /ffs/dropbear/var/spool/cron/crontabs/root

/ffs is the only permanent file system that does not get erased on reboot.

/ is in RAM and gets erased


Límites máximos de velocidad radial (19-Sep-2016)


CALIBRACIÓN BISTÁTICA

Entre qta(WERA)-vil(LERA): (Wera escuchando, LERA mandando la señal)

Primero hay que detener el radar de la quinta:

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY qta # accesamos al ordenador de la quinta
  • >> firefox # abrimos un navegador de internet e ingresamos al weradesk (el url está abajo)
  • >> http://localhost/~wera/WeraDesk.html # accedemos al weradesk (parámetros de configuración del radar)
  • Ya estando en el Weradesk en la opción Acquisition mode seleccionamos STOP y activamos la casilla de Tx off para que el Tx deje de transmitir. Damos click en submit para efectuar los cambios y detener el radar.

El siguiente paso es configurar el DDS del Lera que es el encargado en enviar la señal. El DDS está conformado por 2 Novatechs y un clock, de manera que hay que encriptar los parámetros (en este caso la señal que queremos enviar) para que el DDS lo pueda leer.

Hay 5 variables importantes (al menos para la calibración) que el DDS reconoce con los siguientes comandos:

  • M 0 # mata el ancho de banda y envía una señal constante (la frecuencia de esa señal constante se define con F0. Si F0=0 se mata toda señal y no se envía nada).
  • F0 # frecuencia de la señal cuando se activa M 0. Está definida como F0=(fr-hf_bw/2+delta_f)*cttes donde delta_f=-80 representa un offset
  • F1 # frecuencia principal. Está definida como F1=(fr-hf_bw/2)*cttes por lo que en realidad es una frecuencia que se envía a la mitad del ancho de banda abajo de la frecuencia central. Si queremos que F1 sea la frecuencia central tenemos que definir hf_bw=0.
  • Fd # Creo que es la diferencia entre la frecuencia superior del ancho de banda y la frecuencia inferior del ancho de banda. Se podría interpretar como el ancho de banda, pero no lo es (el ancho de banda es hf_bw). Si Fd es distinto a cero lo que se manda es un chirp (barrido de frecuencias). Si Fd=0 lo que se manda es una sola señal (que es lo que en realidad queremos). Fd=floor(hf_bw/Tr*nl_Fclk_ratio*1e6)/1e12 por lo que si hf_bw=0 automaticamente Fd=0.
  • M 3 # Ejecuta los comandos F1 y Fd para mandar la señal o chirp (barrido de frecuencias)
  • R # reestablece los parámetros a su última configuración.

Para encriptar la frecuencia:

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY vil # accesamos al ordenador de villarino
  • >> cd /home/wera/wera_import/dds_prog.m # directorio donde está el programa dds_prog.m que se encarga de encriptar los parámetros para que el DDS los pueda leer.

Podemos abrir la rutina dds_prog.m abriendo matlab directamente en el sitio (que no es muy recomendable porque estará muy lento) o podemos copiar el archivo dds_prog.m a ocomex y abrirlo desde ocomex para que sea mucho más rápido

  • >> matlab # abrimos matlab

Abrimos el programa dds_prog.m y modificamos lo siguiente (al modificar me refiero a comentar las variables originales y agregar otras que se llamen igual. De preferencia hacer un respaldo del dds_prog.m original o simplemente no guardar los cambios):

  • fr=27.27e6; # la frecuencia de la quinta (27.27Mhz). Porque queremos que la señal que se envíe desde villarino tenga la frecuencia de la quinta para que las Rx de qta la puedan recibir.
  • hf_bw=0; # hacemos el ancho de banda igual a cero. Pareciera que es igual a hacer Fd=0 pero no lo es porque la frecuencia central (F1) está en función de hf_bw y no de Fd.

Ejecutamos el script dds_prog.m con los cambios anteriores; nos va a arrojar varias variables pero la que en verdad nos importa es:

  • F1=31.721017835519998 # que es la frecuencia encriptada de 27.27Mhz

Para entablar comunicación con el DDS:

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY vil # accesamos al ordenador de villarino
  • >> sudo su # para tener privilegios de superusuario
  • >> screen -ls # para ver los screens abiertos (en principio solo debería de aparecer el screen de la estación meteorologica)
  • >> screen /dev/ttyUSB3 19200 # para comunicarme con el DDS

Una vez ingresado el comando anterior se desplegará una ventana vacía. El programa no permite borrar letras, así que si nos equivocamos solo hay que darle enter y volver a ingresar el comando. Los comandos que debemos de ingresar son:

  • F0 0.000000000000 # los números deben de ser ingresados con 12 dígitos (12 números después del punto).
  • M 0 # con este y el comando anterior me aseguró de detener la transmisión del DDS.
  • F1 31.721017835519 # Esta es la frecuencia central encriptada que deseo enviar (27.27Mhz) (12 números después del punto).
  • Fd 0.000000000000 # elimino el "ancho de banda" para transmitir una sola señal (12 números después del punto).
  • M 3 # para iniciar la transmisión de la señal
  • Ctrl+A+D # para cerrar la ventana de visualización del screen, pero dejarlo corriendo en el background
  • No cerrar esta terminal

Con estos comandos ingresados en principio ya se está mandando una señal constante desde villarino. Esto se puede comprobar con el radiecito (se debe escuchar un tono contínuo en la frecuencia exacta de 27.27Mhz).

Nota: Si quisiera hacer despues algún cambio en el DDS o recuperar la comunicación con el DDS, NO debo de volver a ingresar el comando screen /dev/ttyUSB3 19200. Simplemente doy los siguientes comandos:

  • >> screen -ls # deberian de aparecer ya 2 screens (el de arriba que es el del DDS corriendo en el background y el de abajo que es el de la estación meteorológica).
  • >> screen -r 26058.pts-0.ocomex-vil # reanudo la visualización y la comunicación con el DDS (obviamente el nombre del screen debe de corresponder con el que me aparece cuando doy screen -ls).

Si quisiera terminar la comunicación definitivamente con el DDS:

  • >> screen -XS 26058.pts-0.ocomex-vil kill
  • >> screen -ls # debería de aparecer ya nada mas un screen que es el de la estación meteorológica

El siguiente paso es configurar las Rx de la quinta para hacer una adquisición. Para esto hay que configurar el radar de la quinta en modo calibración:

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY qta # accesamos al ordenador de la quinta
  • >> firefox # abrimos un navegador de internet e ingresamos al weradesk (el url está abajo)
  • >> http://localhost/~wera/WeraDesk.html # accedemos al weradesk (parámetros de configuración del radar)
  • Ya estando en el Weradesk seleccionamos las siguientes opciones:
  • Acquisition mode = CALIBRATION
  • activamos la casilla de Tx off
  • Samples per Data Run = 32
  • damos click en submit para hacer una adquisición

La adquisición se guarda en un archivo con extensión .CAL en el ordenador de qta en el directorio ~/data/qta/

Lo mas recomendable es copiar este archivo y mandarlo a ocomex:

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY qta # accesamos al ordenador de la quinta
  • >> cd data/qta/ # accesamos al directorio donde se generó el archivo .CAL
  • >> ls *.CAL # buscar el archivo con extensión .CAL

Abrimos otra terminal

  • >> Ctrl+Alt+T # un atajo para abrir una nueva terminal
  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> cd work/matlab/calibrations/qta # vamos al directorio donde pretendo copiar el archivo .CAL
  • >> rsync -avz ocomex-qta:~/data/qta/archivo.CAL . # copio el archivo al directorio que quiero en ocomex (archivo.CAL obviamente se va a llamar diferente. Ejemplo: 20161480057_qta.CAL)

Una vez copiado el archivo en ocomex de preferencia borrar el archivo que esta en el ordenador de la quinta.

El siguiente paso es calcular los desfases entre las antenas usando la adquisición obtenida.

Para lograr esto utilizamos una rutina que ya está hecha en Fortran llamada plotxlsq

  • >> cd work/matlab/calibrations/qta # en ocomex me sitúo en el directorio donde esta el archivo .CAL
  • >> plotxlsq archivo.CAL # Ejecuto la rutina plotxlsq

Una vez ejecutada la rutina plotxlsq el programa me va a hacer una serie de preguntas:

  • Antenna number: # número de antena que quiero elegir; eligo 1 (Aunque parece ser que no importa la antena que elija al final los desfases que se obtienen dan lo mismo).

Inmediatamente después de elegir la antena, se va a desplegar la imágen de un espectro en pantalla. En el espectro debe aparecer un pico que sobresalga entre el ruido (que viene siendo nuestra señal enviada desde villarino). Nota: No cerrar la imagen dandole click en la crucecita superior porque se cierra la rutina plotxlsq

  • New Graphics? [Y/N]: # darle N (esto cerrará la imágen del espectro, pero es normal; no se cerrará la rutina plotxlsq).
  • Manual frequency offset [Hz]: # Para saber que poner aquí, debimos de haber visto la imágen del espectro con mucho detenimiento. A ojo de buen cubero tenemos que ver en que valor del eje X se encuentra el pico de la señal. En el caso de la figura se encuentra aproximadamente en -65Hz (ver línea azul), sin embargo el valor que debemos de ingresar debe ser 65 positivo! porque necesitamos un offset de 65Hz para mover el pico hacia la derecha en dirección a donde está el origen.
  • +/- Bandwidth to search [Hz]: # nos pide ingresar un ancho de banda que alcanze a capturar todo el pico de la señal. En el caso de la figura escogimos el valor de 10 (ver líneas amarillas; las líneas están a +10Hz del pico principal y -10Hz del pico principal).
  • Linear array? [Y/N]: Obviamente y
  • Angle from perpendicular to the array to the transmitter [degrees, clockwise = positive]: # La respuesta es 18. Para interpretar este ángulo se encuentra la siguiente figura:

Este ángulo se puede calcular gracias a que tenemos el ángulo del True North de la quinta (288) y de villarino (90). Los ángulos del True North de cada estación se encuentran en el archivo params.cfg que se encuentra en cualquier sitio de radar (ejemplo: qta):

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY qta # accesamos al ordenador de la quinta
  • >> cd etc # vamos a la carpeta etc
  • >> cat params.cfg # abrimos el archivo params.cfg que contiene los parámetros de todos los radares.
  • Antenna spacing [m]: # La respuesta es 5.5. La distancia entre las antenas de un arreglo lineal corresponde a la mitad de la longitud de onda.

Una vez ingresado todos los parámetros que pide la rutina plotxlsq se despliega una tabla con los valores de desfase con respecto a la antena 1.

Los valores de estos desfases (valores encerrados en el recuadro rojo) están dados como si el arreglo lineal de Rx estuviera rotado 18 grados. Es decir que considera como si la onda plana proveniente de villarino estuviera llegando al mismo tiempo a todas las antenas del Rx (Por lo que esperaríamos que el desfase de todas las antenas respecto a la antena 1 fueran igual o al menos muy cercano a 0).

Cabe mencionar que al usar la rutina plotxlsq al final se generan otros 2 archivos con extensión .CAL.amphase y extensión .CAL.txt donde se guardan los desfases calculados.

El último paso es regresar el radar de villarino y la quinta a la normalidad.

Para regresar el radar de villarino a la normalidad (hacer que el DDS funcione con la frequencia de vil (24.5Mhz) otra vez): Abro la terminal que ya había dejado abierta en vil (o vuelvo a ingresar a vil) y después ingreso los siguientes comandos:

  • >> screen -ls # deberian de aparecer ya 2 screens (el de arriba que es el del DDS corriendo en el background y el de abajo que es el de la estación meteorológica).
  • >> screen -r 26058.pts-0.ocomex-vil # reanudo la visualización y la comunicación con el DDS (obviamente el nombre del screen debe de corresponder con el que me aparece cuando doy screen -ls).
  • R # ingreso el comando R que me asegura de restaurar los valores de la última configuración
  • Ctrl+A+D # para cerrar la ventana de visualización del screen (sin embargo sigue corriendo en el background)
  • >> screen -XS 26058.pts-0.ocomex-vil kill # terminar la comunicación definitivamente con el DDS
  • >> screen -ls # debería de aparecer ya nada mas un screen que es el de la estación meteorológica

Para corroborar que villarino volvió a la normalidad debería de escucharse un chirp en la freq (24.5Mhz) cada 15 min en el radiecito

Para regresar el radar de la quinta a la normalidad:

  • >> ssh -XY wera@ocomex # accesamos al sevidor
  • >> ssh -XY qta # accesamos al ordenador de la quinta
  • >> firefox # abrimos un navegador de internet e ingresamos al weradesk (el url está abajo)
  • >> http://localhost/~wera/WeraDesk.html # accedemos al weradesk (parámetros de configuración del radar)
  • Ya estando en el Weradesk seleccionamos las siguientes opciones:
  • Acquisition mode = Continuous Acquisition
  • desmarcamos la casilla de Tx off
  • Samples per Data Run = 2048
  • damos click en submit para restaurar los valores de la quinta y que el radar vuelva a la normalidad

Calibration (20-May-2016)

Between qta(WERA)-vil(LERA): (Wera listening, LERA sending)

We turn off qta and vil at 20-May-2016 19:30:38 UTC we turn on qta at 21-May-2016 00:45 UTC

Problems with the DDS still remain at vil


Apagón del radar en la quinta

A la 1:30 hrs UTC del dia 12 de abril nos dimos cuenta de que las antenas tenían agua. A las 22:05 hrs UTC del dia 14 de abril apagamos el radar de la quinta.


Calibration

Between qta(WERA)-vil(LERA): (Wera listening, LERA sending)

First we must configure the DDS from the LERA

  • Figure out F1 using dds_prog.m with fr (radar frequency listening), become root, screen /dev/ttyUSB3 19200 to talk to primary DDS
  • To set the bandwith to zero: FD 0.000000000000 (12 digits)
  • To set the frequency (qta): F1 x.xxxxxxxxxxxx (12 digits)
  • Then M 0 to stop chirping
  • Then M 3 to start chirping and set demodulation to pure sinusoid.

The next step was to configure the wera, but first we must save or make a backup of the crontab because some lines get modified or even ereased:

  • access to weradesk and set:
  • Acquisition mode: calibration
  • Tx off
  • samples per data run: 64 or 32
  • click on submit to make the adquisition. Wera automatically make *.CAL files

To plot the *.Cal files generated we can use "plotxlsq"

Taking into account that the weradesk resoultion is very poor (example 27.270 only 3 digits after the point) we must play with the lera frequency (in scale of hertz). In other words we have to find an ideal F1 so WERA can receive it.


El ultimo archivo de corrientes totales generado en villarino fue a las 12:00 UTC del 5-Abr-2016.

La cuestion que vimos es que los ultimos 3 archivos .mat se generaron por esa fecha, sin embargo los archivos *av.mat se siguieron generando pero utilizando siempre los mismos 3 archivos .mat obsoletos. El punto es que los av.mat tienen diferente nombre por que se generan con la hora del computador sin embargo siempre promedia los mismos archivos generados de hace mucho.


El 01-Abril-2016 19:25:36 hrs UTC modifiqué el archivo mergebeam.csh de sauzal para que desplegara el nombre *.Rad_Beam_av.mat en vez del *.RAD_DirF_av.mat

Esto se hizo con el fin de ver si así se despliegan las velocidades radiales en la página de SCRIPPS.


El 31-Marzo-2016 00:47:36 hrs UTC modifiqué el archivo mergebeam de sauzal para eliminar las 3 primeras celdas y ademas la celda que está en tierra, ya que las velocidades radiales ahí parecen estar siempre mal.

Velocidades radiales crudas:

Velocidades radiales sin tomar en cuenta las primeras 3 celdas:


Crontab (30-Marzo-2016)

Cambiamos el crontab para que el programa "make_tot_RT_xf.m" (que es el que genera las corrientes totales) corra al minuto 40 de cada hora en vez del minuto 37, para que así los sitios tengan más tiempo de mandar el archivo *av.mat


A partir del dia 29-Marzo-2016 a las 03:30 hrs UTC se generó el primer archivo *RAD_DirF.mat para el sitio de sauzal y se le quitó la mascara. Sin embargo, no es hasta el archivo de las 21:00 hrs UTC que los cambios se hicieron de manera "correcta".

A las 23:35 hrs UTC cambiamos el valor del TrueNorth de sauzal de 260 grados a 290 grados.


El dia 28-Marzo-2016 a las 22:00 hrs UTC se registraron velocidades superficiales increiblemente altas del orden de 0.5 m/s o mas.

Viendo en retrospectiva parece ser que el sitio de villarino está generando datos espurios. Este error parece haberse generado y propagado desde los datos del 27-Marzo-2016 02:00 hrs UTC.


cd ~/etc

cat params.cfg


Datos disponibles de radar (datos_disponibles_ir.m) (25/01/2014)

la rutina se encuentra en oorco: /media/raid0/oorco/Xavier/radares/BTSrealtime

Existen datos disponibles a partir del 23/01/2014

datos cada media hora del 23/01/2014 al 17/09/2014

un hueco de datos del 18/09/2014 al 04/06/2015

el criterio de los angulos se implemento a apartir del 15/10/2015

este mismo criterio se modifico para ser mas flexible y dejar pasar ciertas corrientes a partir del 09/01/2016

a partir del 27/11/2015 se empezaron a generar archivos en formato .txt

Con cobertura espacial normalizada

La funcion matrixUVT_ir.m genera una matriz tridimensional de velocidades horarias


A partir del 9 de enero del 2016 se implementó el criterio para rellenar el hueco que se genera enfrente de villarino y el EPB (09.01.2016)

el criterio aplica para la zona donde la geometría (GDOP) entre las 3 estaciones (qta,vil,con) no es favorable para la generación de corrientes totales. El criterio dice que si la magnitud de la velocidad radial proveniente de la quinta, es mayor que la velocidad radial de villarino o conalep no se toma en cuenta. Asimismo la dirección de la velocidad radial entre villarino y conalep tienen que ir en el mismo sentido de lo contrario no se toma en cuenta.


A partir del 27 de noviembre del 2015 se empezaron a generar archivos en formato .txt (08.01.2016)

los archivos se pueden encontrar en wera en la siguiente ruta:

>> /home/wera/realtime/20151127


Instrucciones para corregir el error de matlab desde una computadora local (23.11.2015)

editar el archivo:

>> sudo vim .bashrc

y agregar hasta el final del archivo la siguiente linea:

export LC_ALL="en_US.utf8"


Instrucciones para acceso rápido al servidor (23.11.2015)

1er paso: editar el archivo (en el computador local) >> sudo vim /etc/hosts

y agregar la línea 148.231.205.242 ocomex

Instrucciones para que la contraseña quede guardada de manera automática

1er paso: en el computador local generar la contraseña con la siguiente instrucción y darle enter 3 veces >> sudo ssh-keygen -t rsa

2ndo paso: editar el siguiente archivo y copiar su contenido: >> sudo vim ~/.ssh/id_rsa.pub

3er paso: entrar al servidor con el usuario de ocomex >> ssh -X ocomex@ocomex

4to paso: editar el archivo: >> sudo vim ~/.ssh/authorized_keys

y pegar hasta el final el contenido del 2ndo paso.


Instrucciones para montar el servidor (ocomex) en una computadora local

Para montar una carpeta(s) del servidor en mi computadora ver el tutorial en la pagina:

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-14-04

Primero hay que tener bien en claro 2 cosas que son el Host y el cliente:

     Host = servidor = OCOMEX = IP: 148.231.205.242
     Cliente = mi computadora = IP: 148.231.205.243  % para ver cual es teclear >> ifconfig 

HOST %

para acceder al Host tecleamos

     >> ssh -X ocomex@148.231.205.242             % para la primera vez
     >> ssh -X ocomex@ocomex.ens.uabc.mx          % ya despues de la primera vez

instalamos lo siguiente (para la primera vez):

     >> sudo apt-get update
     >> sudo apt-get install nfs-kernel-server

CLIENTE %(para la primera vez)

abro una terminal en mi compu e instalo lo siguiente:

     >> sudo apt-get update
     >> sudo apt-get install nfs-common

creo una carpeta donde quiero que se monte la carpeta del servidor (en este caso la voy a llamar remoto)

     >> sudo mkdir /home/remoto

HOST %(esto se debe de hacer cada vez que cambie de IP)

indico que es lo que quiero compartir del servidor (en este caso quiero compartir /home/wera)

     >> sudo vim /etc/exports  % abro este archivo y agrego la linea de abajo 

     >> /home/wera 148.231.205.243(rw,async,no_subtree_check,no_root_squash)  % guardo los cambios y me salgo

y tecleo lo siguiente en la terminal (muy importante):

     >> sudo exportfs -a
     >> sudo service nfs-kernel-server start

CLIENTE %

para montar la carpeta del servidor (/home/wera) en la carpeta de mi computadora (/home/remoto) tecleo:

     >> sudo mount 148.231.205.242:/home/wera /home/remoto
     >> df -h                                     % para checar que efectivamente se haya montado
     >> sudo umount 148.231.205.242:/home/wera    % para desmontar

OJO

lo mas seguro es que no voy a tener permisos de modificar los archivos que se hayan montado en mi computadora. Para tener permisos hay que hacer el siguiente truco:

Crear un usuario en mi computadora (la del CLIENTE) que se llame wera:

     >> sudo useradd -m -d /home/wera -s /bin/bash wera   % creo un usuario llamado wera y lo localizo en /home/wera
     >> sudo passwd wera     % defino una contrasena 

Ahora modifico el ID del nuevo usuario llamado wera para que coincida con el del wera original:

     >> sudo vim /etc/passwd   %y cambio solo el ID del usuario (el primer numero) wera (hasta el final del documento) por: wera:x:500:1001::/home/wera:/bin/bash   %esto con el fin de que al ingresar a la carpeta montada tenga los permisos de hacer modificaciones. Guardo los cambios (:wq!) y me salgo. 

Para que funcione matlab en mi nuevo usuario generado (wera) tengo que otorgarle permisos de superusuario a esta nueva cuenta

     >> sudo vim /etc/sudoers  %edito el archivo y agrego una linea extra debajo de la de root para que quede como en la forma de abajo y lo guardo (:wq!)

     # User privilege specification
     root    ALL=(ALL:ALL) ALL
     wera    ALL=(ALL:ALL) ALL

Finalmente, me cambio al usuario de wera:

     >> su wera

Y vuala!! ya puedo entrar y modificar la carpeta que se monto del servidor :)

     >> cd /home/remoto/work/matlab/hfr_process
     >> sudo matlab     % para poder abrir mi matlab o >>sudo su   y despues >>matlab

148.231.205.243

Edit - History - Print - Recent Changes - Search
Page last modified on March 13, 2017, at 07:35 PM PST