예제 #1
0
# -*- 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'
예제 #2
0
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'
예제 #3
0
#
# 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'
예제 #4
0
# 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
예제 #5
0
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'):
예제 #6
0
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.
예제 #7
0
# -*- 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+'/'
예제 #9
0
#
# 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'
예제 #10
0

### 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('----------------------------------------')