def write3(name, date, alt, lat, colat, lon, X, Y, Z, dX, dY, dZ, \ dec, hoz, inc, eff, decs, hozs, incs, effs, itype): ''' Write out the main field and SV values to screen or a file for a grid location for a single time ''' if itype == 1: alt, lat = iut.geo_to_gg(alt, colat) lat = 90-lat if not name: # Print to screen print('\nGeomagnetic field values for: ', str(date[0]) + ', at altitude ' + str(np.round(alt[0], decimals=3)) ) print('Latitude Longitude D(' +degree_sign+') I(' +degree_sign+') H(nT)' ' F(nT) X(nT) Y(nT) Z(nT) ' 'SV_D(min/yr) SV_I(min/yr) SV_H(nT/yr) ' ' SV_F(nT/yr) SV_X(nT/yr) SV_Y(nT/yr) SV_Z(nT/yr) ' ) #for loop to write to screen ... for i in range(len(lon)): print(str(np.round(lat[i], decimals=4)), str(np.round(lon[i], decimals=4)), '{: .3f}'.format(dec[i]), '{: .3f}'.format(inc[i]), '{: .1f}'.format(hoz[i]), '{: .1f}'.format(eff[i]), '{: .1f}'.format(X[i]), '{: .1f}'.format(Y[i]), '{: .1f}'.format(Z[i]), '{: .2f}'.format(decs[i]), '{: .2f}'.format(incs[i]), '{: .1f}'.format(hozs[i]), '{: .1f}'.format(effs[i]), '{: .1f}'.format(dX[i]), '{: .1f}'.format(dY[i]), '{: .1f}'.format(dZ[i])) else: # Print to filename with open(name, 'w') as file: file.writelines(['\nGeomagnetic field values for: ', str(date[0]) + ', at altitude ' + str(np.round(alt[0], decimals=3)) ]) file.writelines(['Latitude Longitude D(' +degree_sign+') I(' +degree_sign+') H(nT)' ' F(nT) X(nT) Y(nT) Z(nT) ' 'SV_D(min/yr) SV_I(min/yr) SV_H(nT/yr) ' ' SV_F(nT/yr) SV_X(nT/yr) SV_Y(nT) SV_Z(nT/yr) \n']) # Write out in a loop for i in range(len(lon)): file.writelines([str(np.round(lat[i], decimals=4)), ' ', str(np.round(lon[i], decimals=4)), ' ', '{: 6.2f}'.format(dec[i]), '{: 6.2f}'.format(inc[i]), '{: 9.1f}'.format(hoz[i]), '{: 9.1f}'.format(eff[i]), '{: 9.1f}'.format(X[i]), '{: 9.1f}'.format(Y[i]), '{: 9.1f}'.format(Z[i]), '{: 5.2f}'.format(decs[i]), '{: 5.2f}'.format(incs[i]), '{: 7.1f}'.format(hozs[i]), '{: 7.1f}'.format(effs[i]), '{: 7.1f}'.format(dX[i]), '{: 7.1f}'.format(dY[i]), '{: 7.1f}'.format(dZ[i]), '\n'])
def write1(name, date, alt, lat, colat, lon, X, Y, Z, dX, dY, dZ, \ dec, hoz, inc, eff, decs, hozs, incs, effs, itype): ''' Write out a single lat/long/alt the main field and SV values to screen or a file ''' if itype == 1: alt, lat = iut.geo_to_gg(alt, colat) lat = 90-lat if not name: # Print to screen print('\nGeomagnetic field values at: ', str(np.round(lat, decimals=4)) + degree_sign + ' / ' + str(lon) + degree_sign + ', at altitude ' + str(np.round(alt, decimals=3)) + ' for ' + str(date)) print('Declination (D):', '{: .3f}'.format(dec), degree_sign) print('Inclination (I):', '{: .3f}'.format(inc), degree_sign) print('Horizontal intensity (H):', '{: .1f}'.format(hoz), 'nT') print('Total intensity (F) :', '{: .1f}'.format(eff), 'nT') print('North component (X) :', '{: .1f}'.format(X), 'nT') print('East component (Y) :', '{: .1f}'.format(Y), 'nT') print('Vertical component (Z) :', '{: .1f}'.format(Z), 'nT') print('Declination SV (D):', '{: .2f}'.format(decs), 'arcmin/yr') print('Inclination SV (I):', '{: .2f}'.format(incs), 'arcmin/yr') print('Horizontal SV (H):', '{: .1f}'.format(hozs), 'nT/yr') print('Total SV (F) :', '{: .1f}'.format(effs), 'nT/yr') print('North SV (X) :', '{: .1f}'.format(dX), 'nT/yr') print('East SV (Y) :', '{: .1f}'.format(dY), 'nT/yr') print('Vertical SV (Z) :', '{: .1f}'.format(dZ), 'nT/yr') else: # Print to filename with open(name, 'w') as file: file.writelines(['Geomagnetic field values at: ', str(np.round(lat, decimals=4)) + degree_sign +' / ' + str(lon) + degree_sign + ', at altitude ' + str(np.round(alt, decimals=3)) +', for ' + str(date) +'\n']) file.writelines(['Declination (D):', '{: 5.2f}'.format(dec), degree_sign + '\n']) file.writelines(['Inclination (I):', '{: 5.2f}'.format(inc), degree_sign + '\n']) file.writelines(['Horizontal intensity (H):', '{: 8.1f}'.format(hoz), 'nT\n']) file.writelines(['Total intensity (F) :', '{: 8.1f}'.format(eff), 'nT\n']) file.writelines(['North component (X) :', '{: 8.1f}'.format(X), 'nT\n']) file.writelines(['East component (Y) :', '{: 8.1f}'.format(Y), 'nT\n']) file.writelines(['Vertical component (Z) :', '{: 8.1f}'.format(Z), 'nT\n']) file.writelines(['Declination SV (D) :', '{: 5.2f}'.format(decs), 'arcmin/yr\n']) file.writelines(['Inclination SV (I) :', '{: 5.2f}'.format(incs), 'arcmin/yr\n']) file.writelines(['Horizontal SV (H) :', '{: 7.1f}'.format(hozs), 'nT/yr\n']) file.writelines(['Total SV (F) :', '{: 7.1f}'.format(effs), 'nT/yr\n']) file.writelines(['North SV (X) :', '{: 7.1f}'.format(dX), 'nT/yr\n']) file.writelines(['East SV (Y) :', '{: 7.1f}'.format(dY), 'nT/yr\n']) file.writelines(['Vertical SV (Z) :', '{: 7.1f}'.format(dZ), 'nT/yr\n'])