import pylab as pl import json import warnings warnings.filterwarnings('ignore') # Texto Fecha: el texto de fecha que se usa para guardar algunos archivos de figuras. date = dt.datetime.now() dateText = dt.datetime.now().strftime('%Y-%m-%d-%H:%M') print '\n' print '###################################### Fecha de Ejecucion: ' + dateText + ' #############################\n' #Lee el archivo de configuracion ruta_configuracion_1 = '/media/nicolas/Home/Jupyter/Soraya/git/Alarmas/03_modelo/Op_AMVA60m/configfile.md' RutasList = al.get_rutesList(ruta_configuracion_1) # Lee rutas de objetos de entrada ruta_cuenca = al.get_ruta(RutasList, 'ruta_cuenca') ruta_campos = al.get_ruta(RutasList, 'ruta_campos') # Lee rutas de salida - lluvia radar ruta_out_rain = al.get_ruta(RutasList, 'ruta_rain') ruta_out_rain_png = al.get_ruta(RutasList, 'ruta_rain_png') ############################################## Se carga la cuenca ######################################################## cuenca = wmf.SimuBasin(rute=ruta_cuenca, SimSlides=True) ########################################################################################################################## #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
help="Escribe archivo con coordenadas", default=False, type=bool) parser.add_argument("-v", "--verbose", help="Informa sobre la fecha que esta agregando", action='store_true') #lee todos los argumentos args = parser.parse_args() #------------------------------------------------------------------------------------------------------- #------------------------------------------------------------------------------------------------------- #Lee el archivo de configuracion ListConfig = al.get_rutesList(args.rutaConfig) #Se define ruta sin extension del Qsim de la parametrizacion a incluir ruta_qsim = al.get_ruta(ListConfig, 'ruta_qsim2Json') #Se define ruta sin extension del Qhist de la parametrizacion a incluir ruta_qhist = al.get_ruta(ListConfig, 'ruta_qhist2Json') #Se define la ruta donde se escribe el Json. ruta_out = al.get_ruta(ListConfig, 'ruta_Json') #----------------------------------------------------------------------------------------------------- #Carga los caudales simulados de la parametrizacionn escogida #----------------------------------------------------------------------------------------------------- #Qsim historico dataframe Qhist = pd.read_csv(ruta_qhist, sep=',', error_bad_lines=False) #Qsim actual y next1hr dataframe Qsim = pd.read_msgpack(ruta_qsim) #Se toman los nodos desde Qsim
#!/usr/bin/env python import pandas as pd import datetime as dt import os from multiprocessing import Pool import numpy as np import pickle import alarmas as al # Texto Fecha: el texto de fecha que se usa para guardar algunos archivos de figuras. date = dt.datetime.now() dateText = dt.datetime.now().strftime('%Y%m%d%H%M') #Obtiene las rutas necesarias ruta_de_rutas = '/home/nicolas/ProyectosGIT/Op_Alarmas/Rutas.md' RutasList = al.get_rutesList(ruta_de_rutas) # rutas de objetos de entrada ruta_cuenca = al.get_ruta(RutasList, 'ruta_cuenca') ruta_campos = al.get_ruta(RutasList, 'ruta_campos') ruta_codigos = al.get_ruta(RutasList, 'ruta_codigos') # Rutas de objetos de salida ruta_out_rain = al.get_ruta(RutasList, 'ruta_rain') #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| print '###################################### SET DE CAMPO DE LLUVIA ############################' #-------------------------------------------------------------------
def plots_vs_History(): #Lectura de ruta de configuracion. ruta_config = '/media/nicolas/Home/Jupyter/Soraya/git/Alarmas/04_web_hidrologia/hidrologia/configfile_web.md' listconfig = al.get_rutesList(ruta_config) #Lectura de rutas ruta_consultaN3h = al.get_ruta(listconfig, 'ruta_consultaN3h') # ruta_estadistico=al.get_ruta(listconfig,'ruta_estadistico') # ruta_pluvioforecast=al.get_ruta(listconfig,'ruta_pluvioforecast') rutaN = al.get_ruta(listconfig, 'rutaN_infoeventos') rutaP = al.get_ruta(listconfig, 'rutaP_infoeventos') rutafigsN = al.get_ruta(listconfig, 'rutaFigsNbandas') rutafigsP = al.get_ruta(listconfig, 'rutaFigsPbandas') #Lectura del assignfile dfconfig = pd.read_json(al.get_ruta(listconfig, 'ruta_JSONinfosirenas')) #Lectura de resultados de modelos #Estadistico 30m f = open(al.get_ruta(listconfig, 'ruta_estadistico')) n_pronos1 = pickle.load(f) f.close() n_pronos = pd.DataFrame(n_pronos1) columns = [ 'codigo', 'n30p25', 'n30p50', 'n30p75', 'Ttop25', 'Ttop50', 'Ttop75' ] n_pronos.columns = columns n_pronos['codigo'] = map(int, n_pronos['codigo']) n_pronos.index = n_pronos['codigo'] n_pronos = n_pronos.drop('codigo', axis=1) n_pronos = n_pronos.T #Pluvio Forecast f = open( al.get_ruta(listconfig, 'ruta_pluvioforecast') + '_cast_normal.rain', 'r') cast_normal = pickle.load(f) f.close() #Tick labels for evolution figures timedeltaEv = 5 #min # label time hours = np.arange(-3, 4) rng1 = [] for i in range(hours.size): if hours[i] < 0: rng1.append('-0' + str(np.abs(hours[i])) + ':00') else: rng1.append('0' + str(np.abs(hours[i])) + ':00') rng1 = np.array(rng1) #PLUVIO # if all(cast_normal.max()) == 0: # print 'No se registra precipitacion en pluvios_forecast' # pass # else: #si esta lloviendo est_noH = [267, 281, 43, 261, 253] #se leen las est a plotear paths_p = glob.glob(rutaP + 'bandas*') ests_p = [i.split('/')[-1].split('_')[-1][:-4] for i in paths_p] #fechas para consultar pluvio. start = (datetime.datetime.now() - pd.Timedelta('3 days')).strftime('%Y-%m-%d-%H:%M') end = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M') # for para todas for est_p in np.sort(ests_p): if int(est_p) in est_noH: print 'Ninguna estacion de nivel supera el N1.' pass else: al.plotP_vs_History(est_p, start, end, rutaP, rutafigsP, cast_normal, rng1, timedeltaEv) #NIVEL # Estaciones en las que se puede ejecutar ests = np.unique(np.hstack(dfconfig['EstNivel'])) ests = ests[np.where(ests)[0]] est_outfig = [246, 272, 239, 173, 186, 251, 259, 283, 155] #ejecucion de figuras for est in in_risk: # si se estan in_risk if (est in np.unique(map(int, ests))) and (est not in est_outfig): print est al.plotN_vs_History(int(est), ruta_consultaN3h, dfconfig, n_pronos, rutaN, rutafigsN, rng1, timedeltaEv)
import alarmas as al import glob import time import pylab as pl # import json # Texto Fecha: el texto de fecha que se usa para guardar algunos archivos de figuras. date = dt.datetime.now() dateText = dt.datetime.now().strftime('%Y-%m-%d-%H:%M') print '\n' print '###################################### Fecha de Ejecucion: ' + dateText + ' #############################\n' #Obtiene las rutas necesarias ruta_de_rutas = '/media/nicolas/Home/Jupyter/Soraya/Op_Alarmas/Op_AMVA60m/Rutas.md' RutasList = al.get_rutesList(ruta_de_rutas) # rutas de objetos de entrada ruta_cuenca = al.get_ruta(RutasList, 'ruta_cuenca') ruta_campos = al.get_ruta(RutasList, 'ruta_campos') ruta_codigos = al.get_ruta(RutasList, 'ruta_codigos') ruta_configuracion_1 = al.get_ruta(RutasList, 'ruta_configuracion_1') ruta_almacenamiento = al.get_ruta(RutasList, 'ruta_almacenamiento') # Rutas de objetos de salida ruta_out_rain = al.get_ruta(RutasList, 'ruta_rain') ruta_out_rain_png = al.get_ruta(RutasList, 'ruta_rain_png') #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| print '###################################### CONSULTA DE LA LLUVIA Y EXTRAPOLACION ############################\n'