protocolo para la determinaciÓn del coeficiente de
TRANSCRIPT
PROTOCOLO PARA LA DETERMINACIÓN DEL COEFICIENTE
DE ABSORCIÓN ESPECTRAL DEL MATERIAL ORGÁNICO
COLOREADO DISUELTO “CDOM”
Dra. María Guillermina Ruiz y Dra. Vivian Lutz
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
Instituto Nacional de Investigación y Desarrollo Pesquero (INIDEP)
RESUMEN
El CDOM es el “material orgánico coloreado disuelto”, uno de los cuatro
componentes ópticamente activos que se encuentran en el agua de mar. El presente
informe presenta un protocolo para la determinación del coeficiente de absorción
espectral del material orgánico coloreado disuelto “CDOM” ajustado a las necesidades
y equipamientos del INIDEP. Se distinguen tres etapas principales en el
procedimiento: 1) preparación del material, 2) obtención de las muestras de agua de
mar, 3) adquisición de los espectros de absorción y 4) cálculo del coeficiente de
absorción espectral del CDOM. En cada una de ellas se describen los materiales,
equipamientos y procedimientos necesarios, haciendo énfasis en la pulcritud y
precaución que se debe tener en todo momento para no contaminar las muestras. En
el ANEXO I se adjunta una rutina desarrollada en el lenguaje R para calcular el
coeficiente de absorción del CDOM.
INTRODUCCIÓN
¿Qué es el CDOM?
El CDOM es el “material orgánico coloreado disuelto”, uno de los cuatro
componentes ópticamente activos que se encuentran en el agua de mar. El CDOM
forma parte del reservorio de materia orgánica disuelta (DOM) y se define
empíricamente como la fracción que se obtiene al filtrar el agua de mar por un filtro de
policarbonato de tamaño de poro de 0.2 micrones (Nelson and Siegel 2002). El tipo de
moléculas que componen al CDOM no son a menudo determinadas. En aguas
costeras, proceden principalmente de los aportes terrestres y de los ríos, mientras que
en aguas oceánicas provienen de fitoplancton y otros organismos en descomposición.
No hay métodos de rutina para determinar la composición del CDOM, es por eso que
al CDOM se lo caracteriza en base a sus propiedades ópticas.
El CDOM absorbe luz tanto en la región ultravioleta (UV) como en la visible (VIS)
del espectro electromagnético, con predominancia en la región azul. El espectro de
absorción del CDOM es la suma ponderada de la absorción de los diferentes
materiales disueltos en el agua. Si bien el CDOM es una parte del DOM, existen
muchos compuestos en el DOM que no tienen un espectro de absorción detectable,
por lo que el CDOM no es un buen indicador o proxy para estimar la abundancia del
DOM, particularmente en el océano abierto. No obstante, hoy se sabe que el CDOM
es un buen marcador de las masas de agua, así como un indicador de diferentes
procesos biogeoquímicos (Mobley, E. Boss et al. 2011).
Los cuidados a tener en la preparación de la muestra de CDOM y la metodología
empleada en la determinación de su coeficiente de absorción espectral no son triviales
para obtener una medición correcta. Esto se debe a que la absorción del CDOM es
cercana al límite de detección de los espectrofotómetros comunes (±0.005 AU) en la
región azul del VIS, región donde ocurre el máximo de absorción de la clorofila a.
Actualmente existen otros equipos que se valen de un camino óptico más largo
para aumentar la relación señal-ruido, como el liquid core optical waveguide (D'Sa, J.
et al. 1999) o el ac-s (WetLabs, Inc.), los cuales permiten obtener espectros de
absorción del CDOM con mayor exactitud (±0.0001 AU). No obstante, estos
instrumentos todavía no se utilizan rutinariamente y requieren medidas
espectrofotométricas del CDOM para validación y comparación de datos. Por lo tanto,
resulta necesario revisar y actualizar el método actual de determinación del
.
Fundamento del método
El método se basa en la capacidad del material coloreado disuelto de absorber
luz, especialmente en la región ultravioleta del espectro. Este protocolo está orientado
al uso de espectrofotómetros de mesada equipados con celdas de 10 cm de camino
óptico y se basa principalmente en el protocolo propuesto por Mitchell et al. (2003).
MATERIALES Y EQUIPAMIENTO
En la tabla 1 se resumen los materiales necesarios para cada una de las etapas
de obtención y análisis de las muestras. Los equipos más grandes requeridos son una
mufla, una bomba de vacío, un sistema de purificación de agua, un espectrofotómetro
(con su correspondiente PC y software de adquisición).
Tabla 1. Materiales necesarios para la determinación del coeficiente de absorción espectral del CDOM.
PREPARACIÓN DEL MATERIAL
OBTENCIÓN DE LAS MUESTRAS
ADQUISICIÓN DE LOS ESPECTOS DE ABSORCIÓN DEL CDOM
Filtrado del agua de mar
Lectura en el espectrofotómetro
botellas de vidrio transparente con tapa de teflón (~ 100 ml).
solución de HCl 10% sistema de purificación
de agua (ej. MilliQ). Mufla filtros GF/F de 25 mm
de diámetro papel de aluminio etiquetas rotuladas
con lápiz o sin tinta botella de vidrio o vaso
de precipitado transparente para agua envejecida.
balde con cabo botellas Niskin contendor limpio y
hermético (tipo “Helatodo”)
botellitas de vidrio limpias y rotuladas
bomba de vacío mangueras de
silicona recipiente para
descarte agua ultrapura kitasato (250 o 500
ml) de borosilicato, porta filtro, embudo de filtración y pinza para el sistema de filtración
filtros GF/F de 25 mm muflados
pinzas para filtros
espectrofotómetro UV-VIS
cubetas de cuarzo de camino óptico de 10 cm
etanol 100% papel para óptica papel absorbente planilla en papel,
lápiz
Aclaraciones pertinentes
Agua de alta calidad y agua de ósmosis envejecida ‘OSE’: por “agua de alta calidad” o
“ultra pura” se refiere a agua de altísima pureza obtenida mediante equipos
purificadores de agua como MilliQ o similares. Es importante conocer y revisar
periódicamente la calidad del agua ultra pura de la que se dispone. En el Laboratorio
de Producción Primaria y Biotoxicidad del INIDEP se refiere a agua de ósmosis
inversa directamente obtenida a la salida del equipo de purificación (es decir, sin su
previa recolección en otro recipiente). Esta es un agua que ha pasado por distintas
resinas orgánicas y por un filtro de 0.2 micrones. No obstante, según observaciones
recientes en el laboratorio (Ruiz, Lutz et al. 2017), es necesario dejar envejecer este
agua al menos durante 2 días para permitir la oxidación de algunos compuestos
orgánicos volátiles que no logran ser eliminados (o que son aportados) por el proceso
de purificación para utilizar el agua de ósmosis inversa como agua de referencia o
blanco en la determinación del coeficiente de absorción espectral del CDOM. A esta
agua se la denominará OSE de aquí en más.
Orientación de las cubetas en el espectrofotómetro: a fin de mantener coherencia
entre diferentes muestras y cancelar posibles errores sistemáticos, es importante
orientar las celdas de cuarzo en el espectrofotómetro siempre de la misma manera. En
nuestro caso, con las caras marcadas hacia el fotodetector. El carro portador de las
cubetas también tiene un
Contaminación de las muestras: evitar en todo as sola forma de colocación en el
equipo: orientando las chapas metálicas hacia el fotodetector. momento cualquier tipo
de contaminación de las muestras, el agua, los filtros, las cubetas, etc. Cualquier
sustancia coloreada que contamine la muestra será interpretada por el equipo como
“CDOM”. Es imprescindible trabajar en superficies limpias, así como lavarse las
manos. No usar guantes. Evitar en todo momento tocar con los dedos las caras
pulidas de las cubetas.
Preservación de la muestra de CDOM: es importante leer las muestras con la menor
ventana de tiempo posible luego de ser obtenidas, procurando su integridad mediante
la no exposición a la luz directa y refrigerando a 5°C (pero no congelar) la muestra
para inhibir reacciones de catálisis y otros efectos físicos. La temperatura afecta el
espectro de absorción tanto del agua pura como de la muestra filtrada en la porción IR
del espectro, por lo que se debe garantizar que tanto las muestras como el blanco real
estén a la misma temperatura al momento de realizarse la lectura. También se
recomienda encender el equipo con anticipación para que las lámparas se calienten y
estabilicen.
Todos los espectros se leerán en referencia a aire. Por un lado, se busca evitar el
recalentamiento de la muestra de agua de referencia que permanecería en el
espectrofotómetro. Por otro, de esta forma podrían corregirse a posteriori los espectros
de CDOM si hubiese contaminación en el agua que se usa como referencia.
Entre cada muestra (sobre todo cuando se trata de muestras diferentes; i.e., no
replicas) enjuagar el embudo y el kitasato con el agua de la siguiente muestra a leer.
Asimismo, entre una muestra y la siguiente, enjuagar la cubeta con unos pocos
mililitros del agua de muestra a leer.
Preparación del material
Todo el material que se usará en la recolección de la muestra así como el material que
se utilizará en filtrado de la misma debe ser cuidadosamente lavado con anterioridad
a la adquisición de la muestra (no más de 4 días). Una vez lavado, se debe evitar toda
posibilidad de contaminación.
Lavado de las botellas con tapa de teflón
1. Enjuagar (2 veces) con agua de canilla
2. Enjuagar (2 veces) con agua destilada común
3. Sumergir completamente en HCl 10% durante al menos dos horas (botellitas y
tapas).
4. Enjuagar 3 veces con agua destilada común de la siguiente manera:
4.1. Llenar una botellita a ~ 1/3 con agua, cerrar con la tapa (aquí no hace falta que
este muy ajustada), sacudir fuertemente y descartar el agua.
5. Enjuagar (5 veces) con agua destilada alta calidad:
5.1. Llenar una botellita a ~ 1/3 con agua, cerrar con la tapa, sacudir fuertemente y
descartar.
5.2. Llenar cada botellita con agua de alta calidad directamente del cañito blanco
(esta sólo se vaciará en el momento del muestreo).
6. Rotular las botellas con etiquetas preferentemente en lápiz, indicando campaña,
estación, profundidad de muestreo y réplica. Identificar una de las botellas como
“blanco real”.
7. Colocar las botellas limpias en un contenedor “tipo helatodo” limpio (y si fuese
necesario, éste en una bolsa grande para evitar que se ensucie en la heladera del
barco y en cubierta). Guardar el contenedor a 4ºC y oscuridad en la cámara fría
del INIDEP y luego a bordo hasta el momento del muestreo.
Lavado del material de filtración
8. Enjuagar todo el material de vidrio (kitasato pequeño (~ 250 o 500 ml) con su porta
filtro y embudo de filtración, así como un vaso de precipitado o botella de vidrio con
tapa de teflón (~ 2 litros) siguiendo los pasos (1-5) detallados para el enjuague de
las botellitas.
9. Cubrir la boca del kitasato, del embudo y el portafiltro con papel de aluminio limpio
y guardar en lugar limpio hasta el momento de usarlos para el filtrado de las
muestras. No es necesario llevar este material a bordo si la muestra se analiza en
tierra.
NOTA: Guardar suficiente volumen de agua alta calidad en un recipiente (lavado
siguiendo el protocolo explicado) que se utilizará para los enjuagues en el momento de
la lectura (calcular unos 300 ml para enjuagar celdas, y luego 200 ml para enjuagar
cada filtro por muestra a leer).
Combustión de los filtros de fibra de vidrio
9. Calcular la cantidad de filtros de fibra de vidrio (GF/F de 25 mm de diámetro) a
utilizar siempre agregando algunos filtros de más.
10. Armar con papel de aluminio grueso unas “canastitas” tipo origami abiertas y poner
en ellas los filtros (no más de 20 por canastita). Colocar la canastita pequeña en
otra canasta semejante más grande y robusta.
11. Combustionar los filtros colocando la canasta más grande en mufla a 450 ºC
durante 3 horas.
11.1.Utilizar la Mufla #2 del Laboratorio de Tecnología del INIDEP. Conocer la
rampa de calentamiento de la misma: se debe configurar la temperatura a
410ºC. Esto se debe a que la resistencia de la mufla posee una inercia tal no
se enfría rápidamente, siendo la verdadera temperatura a la que se exponen
los filtros entre 410 y 450ºC.
12. Dejar enfríar y guardar la canastita con los filtros en un taper limpio en algún lugar
limpio y seco.
Obtención de las muestras de agua de mar
13. Retirar el contenedor con las botellitas de la cámara fría del barco sólo en el
momento del muestreo.
14. Tomar la muestra de agua de mar de superficie con un balde limpio, evitando que
el balde toque el casco del barco.
15. Descartar el agua ultra pura, enjuagar la botellita 3 veces con un pequeño volumen
de agua mar y luego llenar. Si no se ha hecho antes, rotular apropiadamente.
Llenar la botellita con agua de mar y cerrar.
16. Tomar las muestras de las otras profundidades directamente de las botellas Niskin,
sin usar mangueras de silicona. Proceder como en el punto anterior.
17. Tomar la muestra del “blanco real” de la siguiente manera:
17.1. En cubierta, abrir la botella rotulada como “blanco real” y no descartar su
contenido. Esta se guardará para ser usada como blanco en la lectura
(“real blank”).
18. Guardar nuevamente todas las botellitas en el contenedor en la cámara fría del
barco. Mantener refrigeradas (pero no congelar) y en oscuridad hasta el momento
del análisis en el laboratorio.
Adquisición de los espectros de absorción
Encendido y configuración del espectrofotómetro
19. Retirar las muestras de la cámara fría y dejar estabilizarlas a temperatura
ambiente. Este paso es muy importante. Para ello, se recomienda armar un
recipiente en el que circule agua de la canilla en el que se colocan las botellitas,
asegurándose de que estas estén bien cerradas y no se vuelquen (ej. se puede
usar la tapa de la “Helatodo” dada vuelta), y evitar la exposición de la luz directa.
20. Asegurarse que el espectrofotómetro tenga el porta-muestras para celdas de 10
cm correctamente colocado (en nuestro caso, los porta-celdas deben tener las
chapitas para ajustar la posición de las cubetas del lado del fotoreceptor).
21. Encender el instrumento, correr el programa de chequeo, y dejar que se calienten
las lámparas por al menos 30 minutos.
22. Configurar el instrumento de la siguiente forma :
22.1. Scanning range: 250 – 750 nm
22.2. Slit: 2 nm
22.3. Speed: medium
22.4. Interval: every 1nm
22.5. UV lamp start at: 360 nm
22.6. Mode: absorpbance
23. Crear en la PC del espectrofotómetro una carpeta con el nombre de la campaña.
Línea de base aire-aire
24. Realizar una línea de base del instrumento “aire vs. aire”, presionando la opción
“Baseline”. El instrumento no muestra el espectro, sólo lo registra en la memoria.
Este paso equivale a tarar el espectrofotómetro.
25. Realizar un espectro de la línea de base, simplemente presionar la tecla “Start”.
Este espectro debe ser plano, oscilando alrededor del valor 0.000 ± 0.005. Repetir
si fuera necesario.
26. Guardar el espectro de la siguiente forma1:
26.1. Guardar ingresando el nombre “aireaire-fecha” en la carpeta creada.
26.2. Presionar la opción “Guardar” en el menú de la barra de herramientas.
26.3. Guardar el archivo con el mismo nombre pero en formato “.txt”.
Espectro OSE-aire
27. Lavar las cubetas de cuarzo de la siguiente forma:
27.1. Descartar el agua que traen las celdas (estas se guardan con agua y
tapadas).
27.2. Enjuagar las celdas 3 veces con agua OSE. Enjuagar una vez con etanol
pro-análisis
27.3. Enjuagar 6 veces con agua OSE.
28. Realizar un espectro del agua OSE vs. aire. Para ello:
28.1. Llenar la cubeta con un pequeño volumen de agua OSE sin filtrar, colocar
los tapones, agitar suavemente y descartar. Repetir este procedimiento 2
veces más.
28.2. Llenar la cubeta con el agua OSE.
28.3. Limpiar con un papel de óptica limpio las caras de la cubeta por donde
pasa la luz. No tocar nunca con los dedos las caras de la cubeta por
1 Todos los espectros deberán guardarse mediante este procedimiento de 3 pasos. Revisar
periódicamente durante la sesión de lectura que todos los espectros se hayan guardado correctamente. Para eso, utilizar la opción “File Properties”.
donde pasa la luz. Limpiar las caras de la cubeta con etanol 100% y volver
a secar con otro papel de óptica.
28.4. Realizar la lectura del espectro y guardar el espectro con el nombre “OSE-
aire-fecha-01”
28.5. Comparar este espectro con otro espectro de referencia guardado en la PC
para controlar que el espectro del agua OSE sea bueno.
Espectro OSE-GFF
29. Armar el sistema de filtración y manipulando los filtros con pinzas, colocar un filtro
en el portafiltro (se usará un filtro para cada muestra).
30. Filtrar (siempre a baja presión, < 5 psi) un volumen de agua OSE de 200 ml y
descartar el filtrado.
31. Sin cambiar el filtro, filtrar 20 ml de agua. Enjuagar agitando bien el kitasato y
descartar.
32. Filtrar un volumen aproximado de 150 ml. Enjuagar la cubeta 2 veces con un
pequeño volumen del agua OSE filtrada (~ 10 ml) vertiéndola directamente del
kitasato y descartar.
33. Realizar la lectura como se indica en el paso 28 y guardar el espectro según el
paso 26 con el nombre “OSE-GFF”. Retirar la cubeta y descartar el contenido.
33.1. Comparar el espectro OSE-GFF con el espectro OSE-aire obtenido en el paso
28. Deberían ser idénticos, de lo contrario, continuar lavando el filtro con más
agua envejecida.
Filtrado y lectura del blanco real y las muestras
34. Sin cambiar el filtro, filtrar la muestra de “blanco real” y realizar la lectura.
35. Sin cambiar el filtro, filtrar el agua de la primer muestras y realizar la lectura.
36. Para la siguiente muestra, se deberá colocar un nuevo filtro y enjuagarlo según el
paso 30 antes de filtrar el agua de muestra.
37. Llenar la cubeta, secar las caras, leer el espectro y guardar con el nombre
correspondiente. Los nombres de los archivos para la EPEA se generan
previamente a partir de la “Planilla Abordo” (ver Anexo I).
38. Al finalizar la serie de lecturas, enjuagar las cubetas 6 veces con agua de alta
calidad, secarlas y guardarlas llenas con agua alta calidad.
39. Limpiar todo el material de vidrio con abundante agua de la canilla y un enjuague
con agua destilada para eliminar restos de sales. Dejar secar, cubrir con papel de
aluminio y guardar.
NOTA: De acuerdo a la cantidad de material presente, un filtro puede servir para una
muestra y su réplica. Cada filtro nuevo que se use debe ser enjuagado con no menos
de 200 ml de agua OSE.
NOTA: cada 4 espectros (ya sean blancos o muestras) se corre otro espectro de agua
de alta calidad versus aire; se guardan como ‘aguaaire-011211-x’ (es decir aguaaire
seguido de la fecha y luego del guión el numero sucesivo de espectros de agua alta
calidad).
Cálculo del coeficiente de absorción espectral del CDOM
De acuerdo al protocolo anterior, el espectro que se obtiene es la suma del
espectro de absorción del agua pura y del CDOM. Restando el espectro de absorción
del blanco (agua de alta calidad tratada igual que una muestra) se obtendrá el
espectro de absorción del CDOM (figura 1).
ESPECTRO DE ABSORCIÓN DEL
FILTRADO
ESPECTRO DE ABSORCIÓN
DEL AGUA
ESPECTRO DE ABSORCIÓN
DEL CDOM
0 100 200 300 400 500
0.00
0.05
0.10
0.15
OD-SIN
Index
B[, 1
]
300 400 500 600 700
0.0
00
.02
0.0
40
.06
0.0
80
.10
0.1
2
Blanco_SIN - (460-470)
Wv.length
OD
300 400 500 600 700
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
mean+-SE,sin_rojo,con_negro (23-12-13)
(nm)OD
Figura 1. El espectro obtenido según este protocolo es la suma del espectro de absorción del agua y del
CDOM. Por diferencia, se obtiene el espectro del CDOM como si se hubiera leído directamente en
referencia a agua pura.
Debido a que la absorción del agua es muy baja en el visible, gran parte de la
señal obtenida se debe a ruido. Por lo tanto se recomienda hacer varias réplicas del
espectro del blanco. Asimismo, previamente a la obtención de este espectro
promedio, se debe corregir cada espectro de absorción del agua por diferencias con la
línea de base restando el valor promedio de absorción entre 460 y 470 nm, ya que la
absorción del agua en entorno a =470 nm es mínima (null value). Por lo tanto, se
tiene que:
en donde es el número de réplicas de CDOM y es el promedio
de la absorción de cada blanco en el rango de longitudes de onda entre 460 y 470 nm
(se refiere a “null value del agua”).
El procesamiento de los espectros de CDOM así obtenidos para llegar al
coeficiente de absorción consiste en los siguientes pasos:
Se resta el null value del agua a cada espectro de CDOM:
Se resta el blanco promedio cada espectro de CDOM:
Se resta el null value del CDOM:
Se transforma a unidades m-1:
Los pasos anteriores se resumen en la siguiente ecuación:
en la que 2.303 es el coeficiente para transformar log a ln, es la longitud del
camino óptico expresada en metros, es la absorción de la
muestra, es la absorción del blanco promedio y es la
densidad óptica promedio calculada en un tango de longitudes de onda cercana al IR
en la que se asume que la absorción del CDOM es nula ( se refiera a “null value del
CDOM”).
En la bibliografía actualmente existe gran variabilidad en torno a qué rango de
longitudes de onda considerar para calcular . De acuerdo a Mitchell
(2003), el valor nulo para el CDOM puede ser el promedio de la absorción en el rango
entre 590 y 600 nm, que es el utilizado en el INIDEP, aunque si la cantidad de material
en la muestra es elevada (reflejado en una alta absorción del CDOM), la absorción
entre 590 y 600 nm podría ser importante, recomendando que cada investigador
evalúe sus datos y determine cómo calcular el .
Debido a que los espectros de CDOM obtenidos con este protocolo se hacen
en referencia a aire e incluyen el espectro del agua, es necesario restar el null value
del agua antes de restar el blanco promedio. En cambio, la resta del
obedece a la necesidad de corregir los espectros por a causa de otros efectos ópticos
que no se deban a la absorción del CDOM.
REFERENCIAS
D'Sa, E. J., et al. (1999). "Determining optical absorption of colored dissolved organic matter in seawater with a liquid capillary waveguide." Limnol. Oceanogr. 44(4): 1142-1148.
Mitchell, B. G., M. Kahru, et al. (2003). Determination of spectral absorption coefficients
of particles, dissolved material and phytoplankton for discrete water samples. Ocean Optics Protocols for Satellite Ocean Color Sensor Validation, Revision 4, . J. L. Mueller, G. S. Fargion and C. R. McClain. Greenbelt, Maryland 20771, NASA Goddard Space Flight Center, NASA/TM - 2003-. IV: 39-56.
Mobley, C. D., E. Boss, et al. (2011). Ocean Optics Web Book.
Nelson, N. B. and D. A. Siegel (2002). Chromophoric DOM in the open ocean. Biogeochemistry of Marine Dissolved Organic Matter. C. A. Carlson, Academic Press: 547-578.
Ruiz, M. G., V. Lutz, R. Frouin (2017). "Spectral absorption by marine chromophoric
dissolved organic matter: Laboratory determination and piecewise regression modeling." Marine Chemistry 194: 10-21.
ANEXO I. Código en lenguaje R para el cálculo del coeficiente de absorción espectral del CDOM en base a los espectros de densidad óptica. ###################################################################### ###--- Obtiene coeficientes de absorción espectral del CDOM --### ###--- Loop para obtener output por estaciones de una campaña --### ###--- ÚLTIMA MODIFICACIÓN: "Tue Aug 01 11:16:12 2017" --### ###################################################################### # # Archivos INPUT: "C:\Users\Guillermina\Documents\01-EPEA". # Planillas "VOL_CDOM_108_057_PD0205.csv" en "C:\Users\Guillermina\Documents\13- Datos\CDOM\Planillas VOL" # Directorio OUT: 1) en el mismo directorio IN y 2) en OUT_28b. # Muestras leidas en espectrofotómetro Shimadzu UV-VIS 2450 vs aire (es decir, tienen aspecto de CDOM + agua). # Se resta el blanco promedio. # NULL VALUE agua = mean value entre 460 y 470 nm, a 5 decimales. # NULL VALUE CDOM = mean value entre 590 y 600 nm, a 5 decimales. # Camino óptico de 10 cm. #--------------------------------------------------------------------- # PASO 1: Seteo de los directorios, paquetes y valores constantes #--------------------------------------------------------------------- rm(list=ls(all=TRUE)) library(plyr);library(dplyr) # Directorios: IN <-"C:/Users/Guillermina/Documents/01-EPEA" INVOL<-"C:/Users/Guillermina/Documents/01-EPEA/0002_CDOM/Planillas VOL" # Guardo los archivos en dos directorios: OUT_30 (sólo CDOM) y todas las EPEAs. OUTEP <-"C:/Users/Guillermina/Documents/01-EPEA" OUT28b <-"C:/Users/Guillermina/Documents/13- Datos/Data_man/03_BASE-EPEA/09_EPEA/OUT_28b" OUT28bGraficos<-"C:/Users/Guillermina/Documents/13- Datos/Data_man/03_BASE-EPEA/09_EPEA/OUT_28b_Graficos" # Variables fijas: # Rango de longitudes de onda en el que se midieron los espectros: WL<-250:750 ; nWL<-length(WL) # Longitud del camino óptico (m): pathlength<- 0.1 #--------------------------------------------------------------------# # PASO 2: Levanta "Planilla VOL" con metadata #--------------------------------------------------------------------# setwd(INVOL); (PlaVOL<-list.files(path=".",pattern="VOL_CDOM")) # Indicar en "j=" el número de la campaña que se quiere analizar: #for (j in 1:length(PlaVOL)) { j=11 setwd(INVOL); Vol_file<-PlaVOL[j] VOL<-read.csv(file = Vol_file, sep = ",",dec = ".", header = TRUE, stringsAsFactors = F) ;str(VOL)
#--------------------------------------------------------------------# # PASO 3: RC - OBTENCION DE ESPECTROS CRUDOS "FilesINTRC" #--------------------------------------------------------------------# # La carpeta de archivos de espectros deseada es: ( Campaña<-substring(Vol_file,10,23) ) ( INfiles<-file.path(IN,Campaña,"CDOM") ) setwd(INfiles);list.files() AllRC<-matrix(9,nWL,nrow(VOL)) for (i in 1:nrow(VOL)){ FileINTRC<-read.table(VOL$filenameRC[i],skip=1,header=T,sep=",",dec=".") AllRC[,i]<-FileINTRC[,2] } RC<-as.data.frame(AllRC); colnames(RC)<-VOL$filenameRC; str(RC) #--------------------------------------------------------------------# ##PASO 4: OBTENCION DE ESPECTROS DE DENSIDAD ÓPTICA "DC" CORREGIDOS #--------------------------------------------------------------------# # 4.1: Obtiene y resta Null value del AGUA entre 460 y 470 nm: NVaRC <- round(sapply(slice(RC,212:221),FUN=mean),5) # En la fila 211 está 460 nm y en la 221 está 470 nm. RCa<-matrix(9,nrow(RC),ncol(RC)) # Crea contendor vacío para el resultado de la resta. for(k in 1:ncol(RC)){RCa[,k]<- RC[,k]-NVaRC [k]} # Resta el respectivo null value a cada espectro. RCa<-as.data.frame(RCa);colnames(RCa)<-VOL$filenameDC # 4.3: Obtiene el blanco promedio y se lo resta a cada espectro: NAMES_RC<-names(RCa) RCQ<-NAMES_RC[substring(NAMES_RC,35,35)=="Q"] # Selecciona replicas "Q" a promediar. RCQav<-as.data.frame(cbind(WL,rowMeans(RCa[RCQ],na.rm=F))) # Promedia y guarda en un df el blanco. RCab<-matrix(9,nrow(RC),ncol(RC)) # Crea contendor vacío para el resultado de la resta. for(k in 1:ncol(RC)){RCab[,k]<- RCa[,k]-RCQav[,2]} # Resta el BLANCO promedio (RCQav) a cada espectro. RCab<-as.data.frame(RCab);colnames(RCab)<-VOL$filenameDC # 4.5: Obtiene y resta Null value del CDOM entre 590 y 600 nm: NVcRC <- round(sapply(slice(RCab,341:351),FUN=mean),5) # En la fila 341 está 590 nm y en la 351 está 600 nm. DC<-matrix(9,nrow(RCab),ncol(RCab)) # Crea contendor vacío para el resultado de la resta. for(k in 1:ncol(RCab)){DC[,k]<- RCab[,k]-NVcRC [k]} # Resta el respectivo null value a cada espectro. DC<-as.data.frame(DC);colnames(DC)<-VOL$filenameDC #; str(DC) #--------------------------------------------------------------------# # PASO 5: SUAVIZADO CON MEDIA MÓVIL CADA 7 NM de los espectros #--------------------------------------------------------------------# # AC = 2.303 * DC / path length AC <-(2.303 * DC)/pathlength AC<-as.data.frame(stats::filter(AC,rep(1,7)/7)) colnames(AC)<-VOL$filenameAC #; str(AC) #--------------------------------------------------------------------#
# PASO 6: CÁLCULO DE LOS PROMEDIOS DE LAS REPLICAS AC # Excluye a las letras Q (blancos) y L (líneas de base) #--------------------------------------------------------------------# NAMES_AC<-names(AC); LETRAS<-unique(substring(names(AC),35,35)) letras<-LETRAS[LETRAS<"L"]; letras ACAvL<-NULL ; for(i in 1:length(letras)){ PAR_ACi<-NAMES_AC[substring(NAMES_AC,35,35)==letras[i]] # Selecciona nombres del par de espectros a promediar ACAvL[[i]]<-data.frame(rowMeans(AC[PAR_ACi],na.rm=F)) # Promedia y guarda en una lista. names(ACAvL[[i]])<-substring(PAR_ACi[1],1,35)
} # Asigna nombre al nuevo espectro promedio. ACAv<-as.data.frame(bind_cols(ACAvL)) # Crea un dataframe con los espectros promedio. head(ACAv) # *-*-*-*- FIN DE LOS CÁLCULOS -*-*-*-* # #--------------------------------------------------------------------# # PASO 7 CONTROL GRAFICO: #--------------------------------------------------------------------# setwd(OUT28bGraficos); JPG.file.name<-paste(substring(Vol_file,10,23),".jpg",sep="") jpeg(file=JPG.file.name) # abre .jpg par(mfrow=c(2,3)) plot(x=WL, y=RC[,3], type="l", main="RC", ylim = c(-0.01,0.1), xlim= c(250,750)); for(i in 1:length(RC)) { lines(x=WL,y=RC[,i],col=i)} abline(a=0,b=0,col=2,lty=2);lines(x=WL,y=RCQav[,2],col=6,lwd=3) plot( x=WL, y=RCa[,2], type="l", main="RCa", ylim= c(-0.01,0.1), xlim=c(250,750)) ; for(i in 1:length(RCa)) {lines(x=WL,y=RCa[,i],col=i)}; abline(a=0,b=0,col=2,lty=2) plot(x=WL,y=RCab[,2],type="l",main="RCab",ylim=c(-0.01,0.1),xlim=c(250,750)); for(i in 1:length(RCab)) {lines(x=WL,y=RCab[,i],col=i)};abline(a=0,b=0,col=2,lty=2) plot(x=WL,y=DC[,2],type="l",main="DC",ylim=c(-0.01,0.2)) for(i in 1:length(DC)) {lines(x=WL,y=DC[,i],col=i)};abline(a=0,b=0,col=2,lty=2) plot(x=WL,y=AC[,2],type="l",main="AC",ylim=c(-0.5,3)) for(i in 1:length(AC)) {lines(x=WL,y=AC[,i],col=i)};abline(a=0,b=0,col=2,lty=2) plot(x=WL,y=ACAv[,1],type="l",main="ACAv",ylim=c(-0.5,3)) for(i in 1:length(ACAv)) {lines(x=WL,y=ACAv[,i],col=i)};abline(a=0,b=0,col=2,lty=2) MAIN=substring(Vol_file,10,23);mtext(MAIN,side=3,line=-1,outer=T) dev.off() #--------------------------------------------------------------------# ##PASO 8: GENERACION DE ARCHIVOS DE SALIDA #--------------------------------------------------------------------# # ESPECTROS DE DENSIDAD OPTICA (D) Y DE ABSORCIÓN (A) DE CADA REPLICA # 8.1: POR ESTACION: # 1 columna de WL + n columnas de espectros, de 250 a 750 nm. # n = número de réplicas más líneas de base # Guarda archivos en la base de datos EPEA:
OUTj<-file.path(OUTEP,substring(Vol_file,10,23),"CDOM") dir.create(OUTj);setwd(OUTj) WLDC<-cbind(WL,DC) ; WLAC<-cbind(WL,AC) Filename.WLDC <-paste(substring(VOL$filenameDC[1],1,26),"WLAllDC",".txt",sep="") Filename.WLAC <-paste(substring(VOL$filenameAC[1],1,26),"WLAllAC",".txt",sep="") write.table(WLDC,file=Filename.WLDC,sep="\t",quote=F,append=F,row.names=F) write.table(WLAC,file=Filename.WLAC,sep="\t",quote=F,append=F,row.names=F) # Guarda archivos en la OUT_28b (sólo espectros de CDOM): OUT28bc<-file.path(OUT28b,Campaña) dir.create(OUT28bc ); setwd(OUT28bc) write.table(WLDC,file=Filename.WLDC,sep="\t",quote=F,append=F,row.names=F) write.table(WLAC,file=Filename.WLAC,sep="\t",quote=F,append=F,row.names=F) # 8.2: ESPECTROS INDIVIDUALES: 1 columna de WL + 1 columnas de espectro, de 250 a 750 nm. # 8.2.1: Se crea una lista con los n espectros y convierte a df cada elemento de la lista. # 8.2.2: Asigna el nombre del file (espectros) a cada df en la lista. #--------------------------------------------------------------------- # Crea una lista de WL + espectro; # Crea nombres de archivo txt # Extrae de la lista y guarda un file por c/espectro: # Guarda archivos en la base de datos EPEA: OUTj<-file.path(OUTEP,substring(Vol_file,10,23),"CDOM") dir.create(OUTj);setwd(OUTj) # ACAv: FilesACAv.df<-NULL for(i in 1:length(ACAv)){FilesACAv.df[[i]]<-as.data.frame(cbind(WL,ACAv[i]) )} Filenames.ACAv <- paste(names(ACAv),".txt",sep="") lapply(seq_along(FilesACAv.df), function(i){ write.table(FilesACAv.df[[i]],Filenames.ACAv[i],quote=F,append=F,row.names=FALSE,sep="\t")}) # Guarda archivos en la OUT_28b (sólo espectros de CDOM): OUT28bc<-file.path(OUT28b,Campaña); dir.create(OUT28bc ); setwd(OUT28bc) # ACAv: FilesACAv.df<-NULL for(i in 1:length(ACAv)){ FilesACAv.df[[i]]<-as.data.frame(cbind(WL,ACAv[i]) )} Filenames.ACAv <-paste(names(ACAv),".txt",sep="") lapply(seq_along(FilesACAv.df),function(i){ write.table(FilesACAv.df[[i]],Filenames.ACAv[i],quote=F,append=F,row.names=FALSE,sep="\t")}) #} # Fin loop de n Planillas VOL j.
#--------------------------------------------------------------------# # * -*-*-*- FIN DEL CÓDIGO -*-*-*-* #--------------------------------------------------------------------#