Regional Ocean Modeling System ROMS Temas Selectos Modelacin

  • Slides: 49
Download presentation
Regional Ocean Modeling System (ROMS) Temas Selectos: Modelación Numérica del Océano María Eugenia Allende

Regional Ocean Modeling System (ROMS) Temas Selectos: Modelación Numérica del Océano María Eugenia Allende Altamirano Fernando Oropeza Rosales Ciudad Universitaria

 • Parte I: Formulación del Modelo • Parte II: Coordenadas verticales y horizontales

• Parte I: Formulación del Modelo • Parte II: Coordenadas verticales y horizontales • Parte III: Técnicas de solución numérica • Parte IV: Instalación del modelo

Regional Ocean Modeling System (ROMS) Parte I: Formulación del modelo Temas Selectos: Modelación Numérica

Regional Ocean Modeling System (ROMS) Parte I: Formulación del modelo Temas Selectos: Modelación Numérica del Océano María Eugenia Allende Altamirano Fernando Oropeza Rosales Ciudad Universitaria 17 de abril de 2008

Modelo ROMS Es un modelo de superficie libre, hidrostático, que utiliza coordenadas que siguen

Modelo ROMS Es un modelo de superficie libre, hidrostático, que utiliza coordenadas que siguen el terreno y se expanden en la vertical y coordenadas ortogonales curvilineas en la horizontal, está originalmente basado en el modelo (SCRUM) S-coordinate Rutgers University Model, pero fue reescrito mejorando sus esquemas numéricos y su eficiencia para correr con uno o múltiples procesadores, además de incluir nuevas características: esquemas de advección de orden superior, algoritmos para calcular gradientes de presión más precisos, parametrizaciones para muchas sub-mallas; fronteras atmosféricas, oceánicas y bentónicas, además de módulos biológicos, condiciones de forntera para radiación y asimilación de datos.

ROMS Framework The Earth System Modeling Framework (ESMF) is software for building and coupling

ROMS Framework The Earth System Modeling Framework (ESMF) is software for building and coupling weather, climate, and related models http: //www. esmf. ucar. edu/ Kernel dinámico, formado por 4 modelos

Ecuaciones de Movimiento Ecuaciones primitivas en coordenadas cartesianas: Presión Dinámica y T. Forzamiento y

Ecuaciones de Movimiento Ecuaciones primitivas en coordenadas cartesianas: Presión Dinámica y T. Forzamiento y T. Difusivos

Advección – difusión temperatura potencial: salinidad: Variación temporal de la Temperatura y la Salinidad

Advección – difusión temperatura potencial: salinidad: Variación temporal de la Temperatura y la Salinidad

La ecuación de estado T – Temperatura Potencial, S – Salinidad, P – presión

La ecuación de estado T – Temperatura Potencial, S – Salinidad, P – presión total En la aproximación de Boussinesq las variaciones en la densidad son despreciables en las ecuaciones de movimiento, excepto en su contribución a la fuerza de boyancia. Bajo la aproximación hidrostática se asume que el gradiente vertical de presión se balancea con la fuerza de boyancia

Ecuación de continuidad Para un fluido incompresible

Ecuación de continuidad Para un fluido incompresible

Condiciones de frontera verticales En la superficie, donde: Esfuerzo del viento Temperatura Salinidad Velocidad

Condiciones de frontera verticales En la superficie, donde: Esfuerzo del viento Temperatura Salinidad Velocidad vertical

Coeficientes de viscosidad y difusividad verticales Esfuerzo del viento en la superficie Flujo de

Coeficientes de viscosidad y difusividad verticales Esfuerzo del viento en la superficie Flujo de calor en la superficie Temperatura superficial de referencia Evaporación menos precipitación

Condiciones de frontera verticales En el fondo, donde: Fricción de fondo No hay flujos

Condiciones de frontera verticales En el fondo, donde: Fricción de fondo No hay flujos de salinidad o temperatura Velocidad vertical y horizontal cuando el fondo lo requiera igual a cero

Velocidad vertical y horizontal cuando el fondo lo requiera igual a cero -w=0 h=0

Velocidad vertical y horizontal cuando el fondo lo requiera igual a cero -w=0 h=0 Fondo plano h≠ 0 Fondo variable

Coeficientes de viscosidad y difusividad verticales Esfuerzo en el fondo Coeficientes de fricción lineal

Coeficientes de viscosidad y difusividad verticales Esfuerzo en el fondo Coeficientes de fricción lineal y cuadrático

Condiciones de frontera horizontales El modelo puede ser configurado facilmente como: Canal periódico Doble

Condiciones de frontera horizontales El modelo puede ser configurado facilmente como: Canal periódico Doble dominio periódico Cuenca cerrada El código incluye fronteras abiertas que deben ser probadas para cada aplicación particular Se aplican condiciones de frontera apropiadas para u, v, T, S y ζ para cada paso de tiempo El dominio del modelo es rectangular, pero se pueden enmascarar áreas de tierra en las fronteras y en el interior con opciones de deslizamiento libre o no deslizamiento

Condiciones de frontera horizontales Si se utiliza fricción biarmónica, se deben utilizar condiciones de

Condiciones de frontera horizontales Si se utiliza fricción biarmónica, se deben utilizar condiciones de frontera de orden mayor Este – Oeste Norte - Sur Estas condicones preservan la propiedad de no ganar o perder momentum integrado en volumen, temperatura o salinidad

Regional Ocean Modeling System (ROMS) Parte II: Coordenadas verticales y horizontales Temas Selectos: Modelación

Regional Ocean Modeling System (ROMS) Parte II: Coordenadas verticales y horizontales Temas Selectos: Modelación Numérica del Océano María Eugenia Allende Altamirano Fernando Oropeza Rosales Ciudad Universitaria 17 de abril de 2008

Coordenadas verticales Desde el punto de vista de un modelo computacional es muy conveniente

Coordenadas verticales Desde el punto de vista de un modelo computacional es muy conveniente introducir un sistema coordenado que básicamente aplana las variaciones en el fondo z= -h(x, y). Se hace el siguiente cambio de coordenadas:

Ecuaciones de movimiento modificadas

Ecuaciones de movimiento modificadas

Donde

Donde

Coordenadas “S” hc es la profundidad mínima o la profundidad sobre la cual se

Coordenadas “S” hc es la profundidad mínima o la profundidad sobre la cual se quiere tener mayor resolución en y en Θ y b son los parámetros de control en la superficie y el fondo y sus rangos son:

Coordenadas “S” Una generalización se obtiene, permitiendo que Θ tienda a cero y utilizando

Coordenadas “S” Una generalización se obtiene, permitiendo que Θ tienda a cero y utilizando la regla L’Hospital’s: Que es la coordenada sigma (σ) tiene una dependencia lineal con ζ y es infinitamente diferenciable en s.

Coordenadas “S” Entre más grande es el valor de Θ, mayor resolución se mantiene

Coordenadas “S” Entre más grande es el valor de Θ, mayor resolución se mantiene sobre hc. Para b=0 la resolución se concentra en la superficie mientras Θ sea mayor. • Para b=1 la resolución se concentra tanto en la superficie como en el fondo para mayores valores de Θ • Para Θ ≠ 0 existe un desajuste sutil en la discretización de las ecuaciones del modelo por ejemplo en el término de viscosidad horizontal, por lo que recomiendan mantener valores menores o iguales a 5 •

Regla L’Hospital’s (Guillaume de l'Hôpital) En cálculo esta regla utiliza derivadas para ayudar a

Regla L’Hospital’s (Guillaume de l'Hôpital) En cálculo esta regla utiliza derivadas para ayudar a calcular límites con formas indeterminada. Frecuentemente la aplicación de regla o la repitición de su aplicación convierte una forma indeterminada en una determinada, permitiendo calcular facilmente sus límites En casos simples la regla establece que para dos funciones f(x) y g(x) ó Entonces Además de otros requerimientos se debe Cumplir que exista el límite:

Superficies S para el Atlántico Norte Θ=0. 0001 b=0 Θ=8 b=1 Θ=8 b=0 Θ=5

Superficies S para el Atlántico Norte Θ=0. 0001 b=0 Θ=8 b=1 Θ=8 b=0 Θ=5 b=0. 4

Coordenadas “S” Resulta conveniente definir La derivada de puede ser calculada en forma analítica

Coordenadas “S” Resulta conveniente definir La derivada de puede ser calculada en forma analítica De cualquier forma eligen calcular discreta como: en forma ya que esto permite que la suma vertical de Hz sea excatamente la profundidad total de la columna de agua

Las condiciones de frontera verticales En la superficie, donde: En el fondo, donde:

Las condiciones de frontera verticales En la superficie, donde: En el fondo, donde:

Coordenadas horizontales Las ecuaciones se discretizan en una malla con coordenadas curvilíneas ortogonals (ξ,

Coordenadas horizontales Las ecuaciones se discretizan en una malla con coordenadas curvilíneas ortogonals (ξ, η) con fronteras

Regional Ocean Modeling System (ROMS) Parte III: Técnicas de solución numérica Temas Selectos: Modelación

Regional Ocean Modeling System (ROMS) Parte III: Técnicas de solución numérica Temas Selectos: Modelación Numérica del Océano María Eugenia Allende Altamirano Fernando Oropeza Rosales Ciudad Universitaria 17 de abril de 2008

Discretización horizontal Las ecuaciones se discretizan en una malla con coordenadas curvilíneas ortogonals (ξ,

Discretización horizontal Las ecuaciones se discretizan en una malla con coordenadas curvilíneas ortogonals (ξ, η) con fronteras fijas. La formulación general del sistema coordenado curvilíneo permite aplicaciones en coordenadas cartesianas, polares y geográficas

Regional Ocean Modeling System (ROMS) Parte IV: Instalación del modelo Temas Selectos: Modelación Numérica

Regional Ocean Modeling System (ROMS) Parte IV: Instalación del modelo Temas Selectos: Modelación Numérica del Océano María Eugenia Allende Altamirano Fernando Oropeza Rosales Ciudad Universitaria 15 de mayo de 2008

Registrarse como usuario Lo primero de todo es registrarse https: //www. myroms. org/index. php?

Registrarse como usuario Lo primero de todo es registrarse https: //www. myroms. org/index. php? page=Roms. Code

Versatilidad de ROMS está diseñado para ser sumamente versátil, desde el punto de vista

Versatilidad de ROMS está diseñado para ser sumamente versátil, desde el punto de vista de la arquitectura computacional. Los sistemas operativos en los que está reportado que corre son: 1. 2. AIX: Advanced Interactive Executive (UNIX propietario de IBM) corre en servidores con los procesadores IBM Power de 32 y 64 bits Darwin: Mac OS X (basado en Unix)- Servidores Macintosh de Apple

Versatilidad de ROMS… 3. Linux: GNU-GPL 4. IRIX 64: SGI 5. MINGW: Minimalist GNU

Versatilidad de ROMS… 3. Linux: GNU-GPL 4. IRIX 64: SGI 5. MINGW: Minimalist GNU for Windows 6. OSF 1: UNIX Open Software Foundation 7. Sun. OS: UNIX Sun Microsystems, solaris 8. 9. UNICOS: UNIX supercomputadoras de Cray para Cygwin: Es un emulador de Linux para Windows

Intentos realizados: 1. 2. 3. Cabernet: Es un servidor Dell con procesador Intel Xeon,

Intentos realizados: 1. 2. 3. Cabernet: Es un servidor Dell con procesador Intel Xeon, con sistema operativo Linux con la distribución Open Suse 10 Esta Lap-top: Dell Inspiron 6000, con procesador Intel Centrino, y utilizando Cygwin sobre Windows XP. Mi PC en casa: Gateway GT 3248, Con procesador Intel Core 2 Duo, utilizando Cygwin sobre Windows Vista.

Instalando Cygwin En este caso se describe la opción de instalarlo en una PC

Instalando Cygwin En este caso se describe la opción de instalarlo en una PC Windows, utilizando el emulador de Linux Cygwin http: //www. cygwin. com/ Setup – Selección de paquetes a instalar

Paquetes a incluir en Cygwin Durante la instalación de Cygwin se deben incluir los

Paquetes a incluir en Cygwin Durante la instalación de Cygwin se deben incluir los siguientes paquetes: 1. Perl (Lenguaje de programación) 2. X 11 (Emulador gráfico) 3. Diffultis (? ? ) 4. Gcc-g++ (compilador de c) 5. GNU Make (make) 6. Subversion (controlador de versiones) 7. wget (cliente para bajar archivos de http o ftp)

Corriendo cygwin Una vez instalado Cygwin se ve así La estructura de directorios se

Corriendo cygwin Una vez instalado Cygwin se ve así La estructura de directorios se ve así

Instalando compilador de Fortran En el tutorial de Cygwin sugieren instalar el compilador g

Instalando compilador de Fortran En el tutorial de Cygwin sugieren instalar el compilador g 95 que es parte del proyecto GNU El compilador se puede obtener de la página web y existe una versión compilada específicamente para funcionar en Cygwin http: //ftp. g 95. org/g 95 -x 86 -cygwin. tgz • • Se descompacta el archivo desde el raiz (/) para que el compilador quede en /usr/local/bin

Instalando Net. CDF 1. Se baja el archivo de instalación desde Unidata utilizando “wget”

Instalando Net. CDF 1. Se baja el archivo de instalación desde Unidata utilizando “wget” wget http: //www. unidata. ucar. edu/downloads/netcdf/ftp/netcdf. tar. Z 1. Se descompacta el archivo 2. Se ingresa al directorio recién creado /netcdf-3. 6. 2 3. Y se realizan los clásicos pasos configure make check make install CC=gcc FC=g 95 CPPFLAGS=-Dpgi. Fortran FFLAGS=-fno-second-underscore FCFLAGS=-fno-second-underscore. /configure Esto instala el “ncdump” en /usr/local/bin/

Bajando los archivos fuentes de ROMS 1. Se baja el código fuente utilizando Subversion

Bajando los archivos fuentes de ROMS 1. Se baja el código fuente utilizando Subversion (comando “svn”) svn checkout --username foropeza https: //www. myroms. org/svn/src/trunk roms Esto generará una copia de la última revisión de toda la estructura de directorios que forman parte del código de ROMS.

Estructura del directorio

Estructura del directorio

Compilando ROMS 1. 2. 3. Recomiendan generar un directorio /Projects dentro del recién creado

Compilando ROMS 1. 2. 3. Recomiendan generar un directorio /Projects dentro del recién creado directorio raíz del modelo Dentro de /Projects recomiendan generar un directorio para cada aplicación, en este caso vamos a correr el caso Upwelling, así es que dentro del directorio de proyectos generamos un directorio /Upwelling Copiamos en él el siguiente archivo cp. . /ROMS/External/ocean_upwelling. in. Abrir archivo

Compilando ROMS…. 4. Copiamos también el siguiente archivo cp. . /ROMS/Bin/build. bash.

Compilando ROMS…. 4. Copiamos también el siguiente archivo cp. . /ROMS/Bin/build. bash.

Compilando ROMS…. 5. También es necesario verificar el archivo que usará el “make” para

Compilando ROMS…. 5. También es necesario verificar el archivo que usará el “make” para compilar, este depende del tipo de máquina y el compilador que vamos a utilizar: Nota: Mostrar listado en directorio de cygwin CYGWIN-g 95. mk

Compilando ROMS 6. Se ejecuta el archivo build. bash. /build. bash Esto genera un

Compilando ROMS 6. Se ejecuta el archivo build. bash. /build. bash Esto genera un archivo “ocean. S. exe” 7. Se corre el modelo. /ocean. S < ocean_upwelling. in Esto genera 4 archivos de salida: ocean_avg. nc ocean_dia. nc ocean_his. nc ocean_rst. nc

Utilerías de pre-procesamiento • SEAGRID: Es una aplicación interactiva de Matlab que te permite

Utilerías de pre-procesamiento • SEAGRID: Es una aplicación interactiva de Matlab que te permite generar mallas curvilíneas ortogonales con fronteras fijas.

Video de como compilar ROMS

Video de como compilar ROMS