TL EFFECTS VERSION 1/4
{rho : EARTH RESISTIVITY IN OHM-METER}
{epsrel: RELATIVE EARTH PERMITTIVITY}
ENTER MAGNITUDE AND ANGLE.
MAGNITUDE MUST BE RMS KV LINE-TO-GROUND.
I.E., A 69 KV LINE IMPLIES 69/SQRT(3)=39.8.
ANGLES SHOULD BE IN DEGREES, TYPICALLY 0,120,-120.
SHIELD VOLTAGES ARE AUTOMATICALLY SET TO ZERO.
{mag_angles_table: magnitudes and angles}
ENTER POINTS WHERE RF NOISE IS DESIRED VALUES ARE CALCULATED AT GROUND LEVEL.
ENTER DISTANCE DATA IN FEET, NUMBER OF DATA POINTS AS AN INTEGER.
For example, if xstart is 0, xstop is 10 and the number of data points is 3, then the program will calculate noise at ground level at the following distances away from the distribution line: 0 feet, 5 feet, 10 feet.
{xstart: FIRST X COORDINATE}
{xstop: LAST X COORDINATE}
{n: NUMBER OF POINTS}
#CrossCompute
mag_angles_table_path = 'magnitude_angles.csv'
rho = 100
epsrel = .25
xstart = 0
xstop = 250
n = 100
target_folder = '/tmp'
from os.path import join
output_text_path = join(target_folder, 'magnetic_field.log')
target_text_path = join(target_folder, 'magnetic_field.txt')
from pandas import read_csv
df = read_csv(mag_angles_table_path)
df
mag_angles = [','.join((str(x), str(y))) for x,y in zip(df['magnitudes'], df['angles'])]
pylon_text_path = ''
from itertools import chain
from os.path import expanduser
cmd = list(chain([
'./magnetic_field.out',
pylon_text_path,
expanduser(target_text_path),
str(rho),
str(epsrel),
],
mag_angles,
[str(xstart),
str(xstop),
str(n)]))
from subprocess import check_output, STDOUT
output_text = check_output(cmd, stderr=STDOUT)
with open(output_text_path, 'wb') as output_file:
output_file.write(output_text)
print('output_text_path = ' + output_text_path)
print('target_text_path = ' + target_text_path)