Está en la página 1de 20

UNIVERSIDAD DEL NORTE

DEPARTAMENTO DE FÍSICA Y GEOCIENCIAS

PROGRAMACIÓN EN CIENCIAS

Semana 3-4
Bases de Datos – Lecturas de Archivos

Rafael Ricardo Torres Parra


Oceanógrafo Físico, MSc., PhD.
rrtorres@uninorte.edu.co
Programación del Curso
Primer Periodo Tercer Periodo
Temas Subtemas Horas Temas Subtemas Horas
Introducción a  Introducción al curso. 4 Creación de  Creación de funciones propias. 4
la  Importancia de la programación en la Geociencias. funciones Sintaxis y llamado.
programación  Entorno de Matlab y uso de ayudas.
Graficas  Gráficas en dos dimensiones. Manejo 12
Variables en  Tipos de variables. 4
de ejes y edición.
Matlab  Creación de variables.
 Graficas en tres dimensiones.
 Operaciones básicas con escalares.
 Guardar y exportar datos y gráficas.
 Vectores y matrices.
 Creación, suma, resta, producto punto y cruz.
 Funciones promedio, desviación estándar, mimo,
máximo, rango.
 Operadores lógicos (>, <, ==).
Bases de  Origen de las variables en ciencias de la Tierra 8
datos en  Ejemplo de bases de datos para Geociencias.
Geociencias  Lectura de archivos ascii, netcdf, binario, grib,
hdf5.

Segundo Periodo Cuarto Periodo


Temas Subtemas Horas Temas Subtemas Horas
Crear códigos  Creación de programas en Matlab (.m). 8 Manejo de  Construcción de series de tiempo con 4
 Comentarios. series de función datenum.
 Estructura. tiempo
 Condicionales y ciclos (if, while, for). Creación de  Creación de mapas. 4
Cajas de  Uso de cajas de herramientas (Toolboxes) en 4 mapas  Búsqueda y uso de líneas de costa.
herramientas Matlab. Procesamien  Apertura de series de archivos de 4
 Ejemplos de cajas de herramientas para las to de forma iterativa y
Geociencias. archivos extracción/organización de datos.
Operación de  Búsqueda de elementos en vectores y matrices 4 Proyecto  Sustentación oral de los proyectos 4
vectores y (Find). práctico prácticos finales.
matrices Final  Foro de discusión
Entorno Octave
Tarea 2S - Revisión

1. Busque la formula para pasar °C a °F. En Octave, realice un programa en el cual


cree un vector con 5 temperaturas aleatorias en °C entre 0 y 50°C y conviértalas
a °F.

2. Calcule la moda y numero de veces que se repite de la variable de “Altura de


olas significativa”, cuando los valores están redondeados a dos posiciones
decimales.

Rafael Ricardo Torres Parra, MSc., PhD.


Bases de Datos
Algunas fuentes de datos oceanográficos

 Datos de temperatura y salinidad del océano


http://cchdo.ucsd.edu/ http://rda.ucar.edu/datasets/ds285.3/

 Boyas de deriva
http://www.argo.ucsd.edu/ Y los adquiridos
directamente
 Datos satelitales
http://www.aviso.altimetry.fr/en/data.html https://oceancolor.gsfc.nasa.gov/

 Datos de batimetría
http://www.gebco.net/ https://www.ncei.noaa.gov/products/etopo-global-relief-model

 Datos de oleaje
http://www.ndbc.noaa.gov/

 Datos climatológicos y modelos de reanálisis


https://climatedataguide.ucar.edu/climate-data ;
Rafael Ricardo Torres Parra, MSc., PhD.
https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era5
Lectura de archivos
Actividad Práctica

1. Escoja una de las páginas señaladas en la diapositiva anterior y explore que tipo
de datos ofrece.

 ¿Es posible obtener los datos desde esta página?

 ¿En que formato se encuentran?.

 Para desarrollar un proyecto o investigación es fundamental contar con


datos. Para su procesamiento es indispensable poderlos importar al
software de programación.

 En estas dos semanas trabajaremos en importar datos disponibles en


diferentes formatos.

Rafael Ricardo Torres Parra, MSc., PhD.


Lectura de archivos
Actividad Práctica

2. Lectura de Archivos tipo Netcdf.

• Visite: https://www.aviso.altimetry.fr/en/data/products/sea-surface-height-
products/global.html

• Que son archivos netCDF? (https://www.unidata.ucar.edu/software/netcdf/)

• >> clear; clc; >> help ncdisp

• >> pkg list >> pkg load netcdf

• >> pkg describe netcdf –verbose

• Cuidado, las funciones de bajo nivel pueden requerir en su lectura aplicar


los “_FillValue”, “add_offset” y “scale_factor”.
Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

2. Lectura de Archivos tipo Netcdf.

• >> help ncdisp

• >> file_name = (‘S3_ADT.nc’);

• >> ncdisp (file_name)

• Analice las variables, tamaños, unidades, etc.

• >> help ncread

• Puede leer la variable competa o parcialmente, lo que es útil para archivos


muy grandes (start, count, stride)

Rafael Ricardo Torres Parra, MSc., PhD.


Lectura de archivos
Actividad Práctica

2. Lectura de Archivos tipo Netcdf.

• >> Como maneja el “_FillValue”, “add_offset” y “scale_factor”?

• Ejecute las siguientes ordenes y revise las variables que carga (tamaño,
clase, valor mínimo, valor máximo):

• >> tiempo=ncread (file_name,'time')

• >> lon = ncread (file_name,'lon')

• >> lat = ncread (file_name,'lat')

• >> adt = ncread (file_name,'adt')

Rafael Ricardo Torres Parra, MSc., PhD.


Lectura de archivos
Actividad Práctica

2. Lectura de Archivos tipo Netcdf.

• Cuales son los valores mínimos, máximos y de variación de lat y lon?

• >> min (lat) >> max (lat) >> diff (lat)

• >> min (adt) >> min ( min (adt) )

• Muchos caminos llevan a Roma!!!

• >> min (reshape (adt, numel (adt),1) )

• Cambie las longitudes de valor este (East) a oeste (West)

• >> lon = lon – 360;


Rafael Ricardo Torres Parra, MSc., PhD.
Sistema de posicionamiento

• Latitud de -90 a 90 grados • Longitud de 360° = 21600´ = 21600 millas náuticas

• 1 grado = 60 minutos (‘) • 1 milla náutica = 1852 m

• 1 minuto = 60 segundos (“) • 15° = 1 hora. Colombia huso horario R (-5 h GMT)

Para el Instituto Geográfico Agustín Codazzi, el Distrito de


Barranquilla se localiza en las siguientes coordenadas: 10° 57' 42''
de INTRODUCCIÓN
latitud norte y 74° 46'OCEANOGRAFÍA
A LA 54'' de longitud occidental (WGS-84).
Lectura de archivos
Actividad Práctica

3. Lectura de Archivos tipo .cvs o .xlsx.

• Archovos Ascii o .txt se pueden importar desde Excel para guardar como
.xlsx y abrirlos usando este formato.

• Revise la página: https://www.ndbc.noaa.gov/

• Abra en Excel el archivo “S3_met_boya.xlsx” y revíselo. Se ofrecen datos


cada cuanto tiempo y en que periodo?

• Apóyese explorando la página: https://www.ndbc.noaa.gov/measdes.shtml

• >> clear; clc

• >> help xlsread


Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

3. Lectura de Archivos tipo .cvs o .xlsx.

• >> pkg load io

• >> pkg describe io –verbose

• >> help xlsread

• >> pkg load io

• Que pasa al aplicar este comando:

• >> data = xlsread ('S3_met_boya.xlsx');

Rafael Ricardo Torres Parra, MSc., PhD.


Lectura de archivos
Actividad Práctica

3. Lectura de Archivos tipo .cvs o .xlsx.

• Que pasa al aplicar este comando:

• >> [data, text, all, limits] = xlsread ('S3_met_boya.xlsx');

• Muestre en la ventana de commandos las primeras 3 filas de data

• >> data (1:3 , : )

• >> help format

• >> format ‘shortg’

• >> data (1:3 , : )


Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

3. Lectura de Archivos tipo .cvs o .xlsx.

• Cree una variable “atmp” y asígnele los valores de la temperatura


atmosférica. Cual es el valor máximo de temperatura atmosférica?

• Están todos los datos completos? Si no están completos, cual es el


“_fill_value”?

• Reduzca el vector “atmp” para quedarse con los datos disponibles


apoyándose en el archivo de Excel. Le parece eficiente esta forma de
trabajar?

• >> help nan (luego aprenderemos a manejar nan’s de forma eficiente)

• >> max (atmp)


Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

4. Lectura de Archivos tipo Ascii. (textread)


• Investigue que son archivos de tipo Ascii (.asc)

• Abra el archivo “S3_CTD.asc” con un editor de texto

• >> help textread

• Buque textread en la documentación. Ponga especial cuidado en los


“format specifiers”.

• En el archivo “S3_CTD.asc”, ¿a partir de que línea empiezan los datos?

• Cuantas variables ofrece el archivo y como están separadas?

• Las primeras tres variables son números reales (°C, Simens, dB) y las dos
últimas contienen texto y caracteres (fecha, hora) Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

4. Lectura de Archivos tipo Ascii. (textread)

• >> dir *.asc

• >> file=(‘S3_CTD.asc’)

• >> [t,c,p,f,h] = textread (file, '%f %f %f %s %s',...


'delimiter', ',‘ ,'headerlines',56);

• >> whos; clear; clc; file=(‘S3_CTD.asc’);

• >> [t,c,p,f,h] = textread (file, '%f %f %f %s %s',3,...


'delimiter', ',‘ ,'headerlines',56);

• Analice la clase y tamaño de cada variable


Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

4. Lectura de Archivos tipo Ascii. (textread)

• >> f1=char(f) >> whos

• >> f2=datenum(f) >> whos (en el IV periodo estudiaremos este comando)

• >> h1=char(h) >> whos

• >> hora=str2num ( h1 ( : , 1 : 2 ) ) >> whos

• Que otros comandos pueden servir para leer documentos Ascii? (load,
importdata, textscan, dlmread, fopen)

• Lo realmente importante es que usted tenga la habilidad de extraer los


datos de este tipo de archivos.
Rafael Ricardo Torres Parra, MSc., PhD.
Lectura de archivos
Actividad Práctica

4. Lectura de Archivos tipo Ascii. (textscan)

• >> clear, clc, dir *.asc

• >> file=('S3_CTD.asc'); %Nombre del archivo

• >> fid=fopen(file)

• >> D=textscan(fid, '%f %f %f %s %s',-1,'delimiter', ',‘ , 'headerlines',56);

• >> whos (Manual sección 6.3 – arreglos de celda) >> D {4}

• >> data =cell2mat (D (1:3)); >> whos

• >> fecha=cell2mat (D {4} ); >> whos


Rafael Ricardo Torres Parra, MSc., PhD.
Entorno Octave
Tarea

1. Revise la página: https://www.gebco.net/

2. https://www.gebco.net/data_and_products/gridded_bathymetry_data/#area entre
a este URL y descargue la batimetría de un área pequeña como “2D netCDF”.

3. Revise los archivos pdf con la información de GEBCO. Renombre el archivo .nc
de la siguiente forma “S3_gebco_tarea.nc”

4. Revise el archivo netcdf y cargue en Octave las variables de latitud, longitud y


elevación. Describa los valores mínimos, máximo y resolución espacial de la
latitud y longitud. Calcule el valor mínimo y máximo de elevación.

5. Calcule el promedio meridional (norte-sur) de elevación de sus datos. Cuantos


valores obtuvo? Calcule el valor mínimo y máximo de los promedios. Son
diferentes a los mínimo y máximo de la elevación original? Porqué?
Rafael Ricardo Torres Parra, MSc., PhD.
Entorno Octave
Tarea

1. Revise la página: https://uhslc.soest.hawaii.edu/

2. Revise en un editor de texto el archivo “S3_h268a70” con información de nivel


del mar en Puerto Limón – Costa Rica. La organización de los datos se describe
en “S3 UHSLC hourly description.txt”.

3. Importe estos datos al entorno de Octave a partir de la segunda fila

4. Cree una variable (‘slev’) en la cual estén solamente los datos de nivel del mar
(12 últimas columnas)

5. Encuentre si hay “Fill_value”, y pase las unidades a cm.

Rafael Ricardo Torres Parra, MSc., PhD.

También podría gustarte