scieee AI-readable full text Open interactive document viewer

Tutorial de uso básico de LiveCROCO v2.1.2: Simulación con Mareas

Sepulveda, Hector Hito

Abstract

Tutorial de uso básico de LiveCROCO v2.1.2: El Caso Benguela con Mareas

Full text

LiveCROCO-v2.1.2-Python Simulaci´on con Mareas 1. Prop´osito En este tutorial revisaremos como realizar una simulaci´on del dominio de Benguela incluyendo el efecto de la marea en los bordes, los archivos importantes para este tipo de simulaciones, y la validaci´on de esta. 2. Creando el directorio de trabajo MAREAS El ejemplo m´as sencillo de CROCO es la configuraci´on llamada BENGUELA LR que corresponde a un dominio de la zona de surgencia de Benguela de baja resoluci´on (de ah´ı el LR : Low Resolution). Esta configuraci´on es la que viene por defecto en el c´odigo de CROCO y lo que haremos es similar a lo descrito en Penven et al. (2001). El primer paso es editar el archivo create config.bash con las instrucciones para crear un nuevo directorio de trabajo que llamaremos MAREAS 1cd Desktop 2nano create_config.bash Ahora tiene que modificar esta secci´on para el nombre de su configuraci´on 1# 2# Name of the configuration directory defined by the user 3# 4MY_CONFIG_NAME='MAREAS' 5# 6# y despu´es ejecute la instrucci´on 1./create_config.bash 3. Configuraci´on REGIONAL con MAREAS Para este tutorial agregaremos la opci´on de mareas a la f´ısica del modelo. 3.1. MAREAS Nos cambiamos al directorio MAREAS 1cd MAREAS En el archivo cppdefs.h activamos las mareas modificando el archivo a 1/* Open Boundary Conditions */ 2# define TIDES activar esta opci´on tiene mas consecuencias, como se puede ver m´as abajo en el c´odigo 1 LiveCROCO-v2.1.2-Python 1/* Open Boundary Conditions */ 2# ifdef TIDES 3# define SSH TIDES 4# define UV TIDES 5# define POT TIDES 6# undef TIDES MAS 7# define TIDERAMP 8# endif 9# define OBC M2CHARACT 10 # undef OBC M2ORLANSKI 11 # define OBC M3ORLANSKI 12 # define OBC TORLANSKI 13 # undef OBC M2SPECIFIED 14 # undef OBC M3SPECIFIED 15 # undef OBC TSPECIFIED Para comenzar, destacaremos la opci´on 1# define TIDERAMP esta implica que la onda de marea ser´a atenuada por los primeros tres d´ıas, con el objetivo de evitar inestabilidades num´ericas en la simulaci´on. 4. Mareas - param.h Dentro del param.h el definir la opci´on TIDES implica que 1!---------------------------------------------------------------------- 2! Tides 3!---------------------------------------------------------------------- 4! 5#if defined SSH TIDES || defined UV TIDES 6integer Ntides ! Number of tides 7!====== == ===== 8# if defined IGW 9parameter (Ntides=1) 10 # else 11 parameter (Ntides=10) 12 # endif 13 #endif es decir que nuestro modelo usar´a 10 componentes de marea. Estas est´an definidos en el archivo benguela.ini 2 LiveCROCO-v2.1.2-Python 1[Tide_Options] 2tide_waves =M2,S2,N2,K2,K1,O1,P1,Q1,Mf,Mm 3is_tide_current =True 4is_tide_potential =True 5is_correction_ssh =True 6is_correction_uv =True 7 8[Tide_Input_Files] 9tide_reader =tpxo7_croco 10 tide_type =Re_Im 11 tide_dir =/home/livecroco/croco_tools-v2.1.0/DATASETS_CROCOTOOLS/TPXO7 12 tide_single_file =TPXO7.nc 13 tide_multi_files =False 14 tide_multi_files_waves_separated =True 15 tide_multi_files_elev_file =h_<tide_wave>tpxo9_atlas_30_v5.nc 16 tide_multi_files_u_file =u<tide_wave>tpxo9_atlas_30_v5.nc 17 tide_multi_files_v_file =u<tide_wave>_tpxo9_atlas_30_v5.nc Es decir, para el forzamiento de mareas estaremos usando la soluci´on globales TPXO7 (Egbert y Erofeeva, 2002). 5. Compilando CROCO A continuaci´on compilamos el modelo 1./jobcomp 6. Los archivos de entrada Los archivos de entrada que leer´a el ejecutable croco los crearemos con la herramienta CROCO PYTOOLS. Esta depende principalmente del archivo benguela.ini 6.1. MAREAS Para crear los archivos de entrada usando Python, primero tenemos que cargar el ambiente croco pyenv usando 1conda activate croco_pyend Dentro del directorio MAREAS las instrucciones a usar son: 1cd croco_pytools-v2.0.1 2cd prepro 3cp Examples/benguela/benguela.ini . 4python make_grid.py benguela.ini 5python make_bry.py benguela.ini 6python make_ini.py benguela.ini en este caso, agregaremos la instrucci´on 1python make_tides.py benguela.ini y en el terminal veremos 3 LiveCROCO-v2.1.2-Python 1Saving CROCO tide file: /home/livecroco/Desktop/MAREAS/CROCO_FILES/croco_frc_tpxo7_croco.nc 2Reading CROCO grid: /home/livecroco/Desktop/MAREAS/CROCO_FILES/croco_grd.nc 3Reading CROCO grid: /home/livecroco/Desktop/MAREAS/CROCO_FILES/croco_grd.nc 4Looking for grid file 5Reading coordinate file for grid: r 6----------------------------------- 7buffer zone is <xarray.DataArray 'lon_r' ()> Size: 4B 8array(0.5, dtype=float32) 9Attributes: 10 standard_name: longitude 11 long_name: Longitude at SSH points 12 units: degrees_east 13 axis: X 14 Single region dataset imin/imax=20 98 15 Bounding indices of the relevant part to be extracted from the entire dataset: 16 imin,imax =20 98 out of 1440 jmin,jmax =204 262 out of 721 17 Reading coordinate file for grid: u 18 ... 19 20 ... 21 Processing wave: M2 22 23 Processing wave: S2 24 25 Processing wave: N2 26 27 Processing wave: K2 28 29 Processing wave: K1 30 31 Processing wave: O1 32 33 Processing wave: P1 34 35 Processing wave: Q1 36 37 Processing wave: Mf 38 39 Processing wave: Mm 40 Esto agrega crea el archivo croco frc tpxo7 croco.nc Los archivos que obtenga deben ser iguales a los que se encuentran en 1http://mosa.dgeo.udec.cl/LiveCROCO/PyTutorial_Mareas/ArchivosIniciales/ si tuvo problemas con esta etapa, copie esos archivos en el directorio CROCO FILES para avanzar a la siguiente secci´on. 7. MAREAS - croco.in Para el an´alisis de las mareas en nuestro modelo es importante modificar el croco.in para grabar las salidas del archivo HIS cada 1 hora. Como el paso de tiempo de esta configuraci´on es de 3600 segundos, grabaremos las salida entonces cada 1 paso de tiempo 4 LiveCROCO-v2.1.2-Python 1history: LDEFHIS, NWRT, NRPFHIS / filename 2T1 0 3CROCO_FILES/croco_his.nc Una vez hecho esto, lanzamos la simulaci´on 1./croco croco.in Una vez que la simulaci´on termine exitosamente, encontraremos en el directorio CROCO FILES los siguientes archivos de salida 1croco_avg_Y2013M01.nc 2croco_his_Y2013M01.nc 3croco_rst_Y2013M01.nc donde el archivo de nuestro inter´es ser´a el croco his Y2013M01.nc. Sin embargo, como usamos la opci´on TIDERAMP en el cppdefs.h el nivel del mar de los primeros tres d´ıas est´a atenuada. Figura 1: Inicio atenuado de la marea debido al uso de la opcion TIDERAMP en el cppdefs.h Para corregir esto, edite de nuevo el cppdefs.h y configure 1# undef TIDERAMP luego recompile el modelo con 1./jobcomp y lance de nuevo la simulaci´on 1./croco croco.in con lo que veremos para los primeros d´ıas la marea sin atenuaci´on 5 LiveCROCO-v2.1.2-Python Figura 2: Inicio de la marea sin el uso de la opci´on TIDERAMP en el cppdefs.h La diferencia entre ambas simulaciones es notable solo en los primeros dias de la simulacion (Fig. 3) 6 LiveCROCO-v2.1.2-Python Figura 3: Diferencia entre simulaciones debido al uso, o no, de la opcion TIDERAMP en el cppdefs.h 8. Trabajo Avanzado Realice una simulaci´on para un dominio de su inter´es y analice la se˜nal de marea. 7 LiveCROCO-v2.1.2-Python 9. Conclusi´on En este tutorial aprendi´o mas detalles de los archivos cppdefs.h,benguela.ini, y croco.in, y las modificaciones que hay que hacer para hacer una simulaci´on de mareas con y sin TIDERAMP. Para m´as informaci´on: Andr´es Sep´ulveda (hectorsepulv[email protected]) Contribuciones de: Si le sirvi´o este tutorial mande una postal a: Dr. Andr´es Sep´ulveda Departamento de Geof´ısica Casilla 160-C Correo 3 Concepci´on Chile 8 LiveCROCO-v2.1.2-Python 10. Referencias Egbert, Gary D., and Svetlana Y. Erofeeva. "Efficient inverse modeling of barotropic ocean tides." Journal of Atmospheric and Oceanic Technology 19.2 (2002): 183-204. Penven, P., Roy, C., Brundrit, G. B., De Verdi`ere, A. C., Fr´eon, P., Johnson, A. S., Lutjeharms J. R. E. & Shillington, F. A. (2001). A regional hydrodynamic model of upwelling in the Southern Benguela. South African Journal of Science, 97(11-12), 472-475. 11. Enlaces ´utiles Video de LivePyCROCO: Tutorial Mareas https://youtu.be/5cGxtHXiT3E 9