# -*- coding: iso-8859-1 -*- # # Resolucao: 1/24 grau. # # Autora: 1T (RM2-T) ANDRESSA D'AGOSTINI # =============================================================> # IMPORTACAO DE BIBLIOTECAS E DEFINICAO DE DIRETORIOS: import datetime, time import os, sys, shutil import numpy as np from ww3Funcs import alteraStr, alteraDia, horarios data = horarios('20180501') base=datetime.date(int(data[0]),int(data[1]),int(data[2])) numdays = 92 date_list=[base + datetime.timedelta(days=x) for x in range(0, numdays)] datai=date_list[0]; datai=datai.strftime('%Y%m%d') dataf=date_list[-1]; dataf=dataf.strftime('%Y%m%d') prog=numdays*8 # =============================================================> # DADOS FORNECIDOS PELO USUARIO: # Lista de variaveis a serem utilizadas: # (Os comentarios representam os produtos que as utilizam.) nome = 'Corrente_Sup' lat_sul = '-34' lat_norte = '-12'
from ww3Funcs import alteraStr, alteraDia, horarios if len(sys.argv) < 3: print('+------------Utilização------------+') print(' ') print(' auxilio131.py DataCorrente ') print(' ') print(' ex: '+sys.argv[0]+' gfs 20160603 ') print('+----------------------------------+') sys.exit(1) mod=sys.argv[1] data = sys.argv[2] + '0' data = horarios(data) data = datetime.datetime(int(data[0]),int(data[1]),int(data[2]),int(data[3])) data_s = data.strftime('%Y%m%d') datai = data.strftime('%Y%m%d') data_z1 = data.strftime('%d') data_z2 = data.strftime('%b') data_z3 = data.strftime('%y') if data_z2 == 'Jan': data_z2 = 'JAN' if data_z2 == 'Feb': data_z2 = 'FEV' if data_z2 == 'Mar': data_z2 = 'MAR' if data_z2 == 'Apr': data_z2 = 'ABR'
# # OUT2019 # =============================================================> # IMPORTACAO DE BIBLIOTECAS E DEFINICAO DE DIRETORIOS: #import datetime, timFig_OilTrack_HYCOM.pye import datetime import os, sys, shutil from ww3Funcs import alteraStr, alteraDia, horarios # Diretorio-chave (somente altera-los caso eles mudem): dirlocal = '/home/operador/AuxDec_HYCOM/corrente_hycom/Fig_HYCOM_manual' os.chdir(dirlocal) os.getcwd() data = horarios('20190613') # MODIFICAR DATAS DE ACORDO COM AS SAIDAS base = datetime.date(int(data[0]), int(data[1]), int(data[2])) numdays = 1 date_list = [base + datetime.timedelta(days=x) for x in range(0, numdays)] datai = date_list[0] datai = datai.strftime('%Y%m%d') dataf = date_list[-1] dataf = dataf.strftime('%Y%m%d') #prog=numdays*4 #prog=prog-1 prog = 1 # =============================================================> # MODIFICAR ÁREA CONFORME LOCALIDADE DOS TRACKS nome = 'N_NE' lat_sul = '-7' lat_norte = '-5'
# FIM DA INTRODUCAO DE DADOS PELO USUARIO =====================> # =============================================================> # DATA DA RODADA DO HYCOM A SER UTILIZADA: --------------------> fdata = open('/home/operador/datas/datacorrente00') datacorrente = fdata.readlines() datacorrente = datacorrente[0][0:-1] ano = datacorrente[0:4] mes = datacorrente[4:6] dia = datacorrente[6:] anomesdia = ano + mes + dia # CALCULOS DE DATA: -------------------------------------------> data = horarios(anomesdia) data_t = datetime.date(int(data[0]), int(data[1]), int(data[2])) datai = data_t.strftime('%Y%m%d') prog = 90 # =============================================================> # CONTINUACAO DO PROCESSAMENTO: # Criando arrays de datas e prog para as figuras #tit_horas=['00','06','12','18','24','30','36','42','48','54','60','66','72','78','84','90'] #tit_horas=['00','12','24','36','48'] tit_horas = ['36'] # Trecho para plotagem de prognostico (exemplo: 20191014 + 24H) titfig = [] dt = datai
import netCDF4 as nc from netCDF4 import Dataset import pickle if len(sys.argv) < 2: print('+------------Utilização------------+') print(' ') print(' wnd_cut_12hrs.py wnd ') print(' ') print('ex: ' + sys.argv[0] + ' gfs/icon/cosmo ') print('+----------------------------------+') sys.exit(1) wnd = sys.argv[1] cyc = ['00', '12'] b = horarios('20170808') base = datetime.date(int(b[0]), int(b[1]), int(b[2])) numdays = 6 date_list = [base + datetime.timedelta(days=x) for x in range(0, numdays)] ww3dir = '/data1/ww3desenv/home/mod_ondas/testes/' ventodir = ww3dir + 'input/vento/' + wnd + '/' gelodir = ww3dir + 'input/gelo/' workdir = ww3dir + 'work/' # Setando o intervalo de 12 horas if (wnd == 'gfs'): intWND = 4 # Vento 3h-3h uwnd = 'UGRD_10maboveground' vwnd = 'VGRD_10maboveground' elif (wnd == 'icon'):
dirlocal = '/home/operador/AuxDec_HYCOM' os.chdir(dirlocal) os.getcwd() from ww3Funcs import alteraStr, alteraDia, horarios if len(sys.argv) < 2: print('+------------Utilização------------+') print(' ') print(' Fig_Corrente_Hycom.py DataCorrente ') print(' ') print(' ex: ' + sys.argv[0] + ' 20160603 ') print('+----------------------------------+') sys.exit(1) data = horarios(sys.argv[1]) data = datetime.date(int(data[0]), int(data[1]), int(data[2])) data_s = data.strftime('%Y%m%d') dj = time.strptime(data_s, "%Y%m%d").tm_yday data_y = data.strftime('%Y') # =============================================================> # UPLOAD DE DADOS FORNECIDOS PELO USUARIO: dados = scipy.io.loadmat(dirlocal + '/dados_usuario.mat') # Lista de variaveis a serem utilizadas: # (Os comentarios representam os produtos que as utilizam.) ano = dados['ano'][0] # corrente, cvert, txts. mes = dados['mes'][0] # corrente, cvert, txts. dia = dados['dia'][0] # corrente, cvert, txts.
# -*- coding: iso-8859-1 -*- # # Resolucao: 1/24 grau. # # Autora: 1T (RM2-T) ANDRESSA D'AGOSTINI # =============================================================> # IMPORTACAO DE BIBLIOTECAS E DEFINICAO DE DIRETORIOS: import datetime, time import os, sys, shutil import numpy as np from ww3Funcs import alteraStr, alteraDia, horarios data = horarios('20190501') base = datetime.date(int(data[0]), int(data[1]), int(data[2])) numdays = 92 date_list = [base + datetime.timedelta(days=x) for x in range(0, numdays)] datai = date_list[0] datai = datai.strftime('%Y%m%d') dataf = date_list[-1] dataf = dataf.strftime('%Y%m%d') prog = numdays * 8 # =============================================================> # DADOS FORNECIDOS PELO USUARIO: # Lista de variaveis a serem utilizadas: # (Os comentarios representam os produtos que as utilizam.) nome = 'Corrente_Sup'
from ww3Funcs import horarios if len(sys.argv) < 3: print '+------------Utilização------------+' print ' ' print ' programa.py rodada yyyymmdd ' print ' ' print ' ex: '+sys.argv[0]+' 00 20151225 ' print '+----------------------------------+' sys.exit(1) #-------------------------------- # Diretorios e variaveis de tempo cyc = sys.argv[1] data = horarios(sys.argv[2]) datai = datetime.date(int(data[0]),int(data[1]),int(data[2])) data = datai.strftime('%Y%m%d') dtrm = (datai + datetime.timedelta(days=-1)).strftime('%Y%m%d') #remove arqs antigos ww3dir = '/data/operador/mod_ondas/ww3_418/' ventodir = ww3dir+'input/vento/' gelodir = ww3dir+'input/gelo/' resdir = ww3dir+'restart/' outdir = ww3dir+'output/' exedir = ww3dir+'codigo/exe/' workdir = ww3dir+'work/' grddir = ww3dir+'grids/' cosmodir = ventodir+'cosmo/' cosmodata = '/data1/admcosmo/metarea5/data/vento'+cyc+'/'
# # Resolucao: 1/24 grau. # # Autora: 1T (RM2-T) ANDRESSA D'AGOSTINI # =============================================================> # IMPORTACAO DE BIBLIOTECAS E DEFINICAO DE DIRETORIOS: import datetime, time import os, sys, shutil import numpy as np from ww3Funcs import alteraStr, alteraDia, horarios #data = horarios('20190314') data = horarios('20190314') base=datetime.date(int(data[0]),int(data[1]),int(data[2])) numdays = 20 date_list=[base + datetime.timedelta(days=x) for x in range(0, numdays)] datai=date_list[0]; datai=datai.strftime('%Y%m%d') dataf=date_list[-1]; dataf=dataf.strftime('%Y%m%d') prog=numdays*8 # =============================================================> # DADOS FORNECIDOS PELO USUARIO: # Lista de variaveis a serem utilizadas: # (Os comentarios representam os produtos que as utilizam.) nome = 'Correntes' lat_sul = '-23.042' lat_norte = '-22.995'
### PERÍODO ESCOLHIDO if len(sys.argv) == 7: # usuário entra com a data desejada year = sys.argv[4] mon = sys.argv[5] day = sys.argv[6] else: # usuário não entra com a data desejada. roda a data corrente # ~ fdata = open('/home/operador/datas/datacorrente00') fdata = open('/home/pyusers/ch131/liana/ADCIRC/datas/datacorrente00') datacorrente = fdata.readlines() datacorrente = datacorrente[0][0:-1] year = datacorrente[0:4] mon = datacorrente[4:6] day = datacorrente[6:] data = horarios('{0}{1}{2}'.format(year, mon, day)) base = datetime.date(int(data[0]), int(data[1]), int(data[2])) iprog = 0 # prognostico inicial fprog = int(sys.argv[2]) # prognostico final numdays = int( (fprog - iprog) / (2 * 24)) # número de dias (2*24 pq é de 30 em 30 min) date_list = [base + datetime.timedelta(days=x) for x in range(0, numdays + 2) ] # +2 pra garantir que vai plotar o 00Z do dia seguinte datai = date_list[0] datai = datai.strftime('%Y%m%d') dataf = date_list[-1] dataf = dataf.strftime('%Y%m%d') ### Prognóstico final if fprog > 138: print('----------------------------------------')