Skip to content

Instantly share code, notes, and snippets.

@caioerick
Created August 12, 2021 21:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save caioerick/5bb09a59cad28e6e74127be823ed1a99 to your computer and use it in GitHub Desktop.
Save caioerick/5bb09a59cad28e6e74127be823ed1a99 to your computer and use it in GitHub Desktop.
# VENTO U / V
# criando um 'vento_dirrad' com a direcao do vento em radiano
dado['vento_dirrad'] = dado['vento_dir'] + 180
dado['vento_dirrad'] = np.deg2rad(dado['vento_dirrad'])
# decompondo a vento_velocidade em u e v
#--------------------------------------------------------------
f = dado.vento_dirrad == 0
dado.loc[f,'vento_dir_u'] = np.cos(dado.vento_dirrad[f])
dado.loc[f,'vento_dir_v'] = np.sin(dado.vento_dirrad[f])
# angulo entre 0 e 90 1Q
f = ((0< dado.vento_dirrad)&(dado.vento_dirrad <= pi/2))
dado.loc[f,'vento_dir_u'] = np.cos(dado.vento_dirrad[f])
dado.loc[f,'vento_dir_v'] = np.sin(dado.vento_dirrad[f])
# 90 <angulo<=180 2Q
f = (pi/2 < dado.vento_dirrad) & (dado.vento_dirrad<= pi)
dado.loc[f,'vento_dir_u'] = np.cos(dado.vento_dirrad[f]-(pi/2))
dado.loc[f,'vento_dir_v'] = -np.sin(dado.vento_dirrad[f]-(pi/2))
# 180 <angulo<= 270 3Q
f = ((pi < dado.vento_dirrad) & (dado.vento_dirrad <= (3*pi)/2))
dado.loc[f,'vento_dir_u'] = -np.sin(dado.vento_dirrad[f]-(pi))
dado.loc[f,'vento_dir_v'] = -np.cos(dado.vento_dirrad[f]-(pi))
# 270 < angulo <= 359
f = (((3*pi)/2< dado.vento_dirrad) & (dado.vento_dirrad <= 2*pi))
dado.loc[f,'vento_dir_u'] = -np.cos(dado.vento_dirrad[f]-(3*pi/2))
dado.loc[f,'vento_dir_v'] = np.sin(dado.vento_dirrad[f]-(3*pi/2))
#---------------------------------------------------------------
del f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment