Skip to content

Commit

Permalink
Add generate_synthetic_data
Browse files Browse the repository at this point in the history
  • Loading branch information
hongbo-yao committed Dec 24, 2022
1 parent 39f69dc commit d400669
Show file tree
Hide file tree
Showing 46 changed files with 2,085 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Station name : Egbert_TUC_MT_data
GG longitude : 9999.000
GG latitude : 9999.000
GM longitude : 9999.000
GM latitude : 9999.000
Number of data : 32
# TF_type period_id period n m real imag std_err
Rho 1 16416.000000 9999 9999 1.405005 9999.000000 0.004615
Phase 1 16416.000000 9999 9999 54.000000 9999.000000 0.300000
Rho 2 19008.000000 9999 9999 1.395501 9999.000000 0.004891
Phase 2 19008.000000 9999 9999 55.800000 9999.000000 0.300000
Rho 3 25056.000000 9999 9999 1.384712 9999.000000 0.004835
Phase 3 25056.000000 9999 9999 58.000000 9999.000000 0.300000
Rho 4 31968.000000 9999 9999 1.364551 9999.000000 0.004502
Phase 4 31968.000000 9999 9999 59.500000 9999.000000 0.300000
Rho 5 36288.000000 9999 9999 1.349278 9999.000000 0.005829
Phase 5 36288.000000 9999 9999 59.500000 9999.000000 0.400000
Rho 6 56160.000000 9999 9999 1.291369 9999.000000 0.008215
Phase 6 56160.000000 9999 9999 62.700000 9999.000000 0.500000
Rho 7 61344.000000 9999 9999 1.298853 9999.000000 0.008730
Phase 7 61344.000000 9999 9999 63.900000 9999.000000 0.600000
Rho 8 69120.000000 9999 9999 1.266467 9999.000000 0.008230
Phase 8 69120.000000 9999 9999 64.100000 9999.000000 0.500000
Rho 9 76896.000000 9999 9999 1.274850 9999.000000 0.009456
Phase 9 76896.000000 9999 9999 64.600000 9999.000000 0.600000
Rho 10 101952.000000 9999 9999 1.225051 9999.000000 0.009829
Phase 10 101952.000000 9999 9999 66.100000 9999.000000 0.700000
Rho 11 123552.000000 9999 9999 1.215109 9999.000000 0.010851
Phase 11 123552.000000 9999 9999 66.900000 9999.000000 0.700000
Rho 12 157248.000000 9999 9999 1.198107 9999.000000 0.010183
Phase 12 157248.000000 9999 9999 68.100000 9999.000000 0.700000
Rho 13 203040.000000 9999 9999 1.141763 9999.000000 0.013787
Phase 13 203040.000000 9999 9999 68.500000 9999.000000 0.900000
Rho 14 266112.000000 9999 9999 1.079904 9999.000000 0.014452
Phase 14 266112.000000 9999 9999 68.100000 9999.000000 1.000000
Rho 15 345600.000000 9999 9999 1.051924 9999.000000 0.021194
Phase 15 345600.000000 9999 9999 65.800000 9999.000000 1.400000
Rho 16 432000.000000 9999 9999 1.044148 9999.000000 0.022362
Phase 16 432000.000000 9999 9999 67.000000 9999.000000 1.500000
40 changes: 40 additions & 0 deletions generate_synthetic_data/Dst_Cn/plot_observed_responses.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Python script for plotting observed Cn-response data

# Author: Hongbo Yao
# Institute: School of Geosciences and Info-Physics,
# Central South University (CSU)
# Email: [email protected]
# Date: 2022/01/26

# GitHub Page: https://github.com/hongbo-yao
# Researchgate Page: https://www.researchgate.net/profile/Hongbo_Yao2

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['xtick.direction'] = 'in'
matplotlib.rcParams['ytick.direction'] = 'in'

# observed data
observed = np.loadtxt('synthetic_Dst_Cn_data.txt')
[n_observed,tmp] = observed.shape

# start plotting
figure = plt.figure(figsize=(6,5))
fig = plt.subplot(1,1,1)
# plt.errorbar(observed[:,1],observed[:,2],yerr=observed[:,4],fmt='ro',ecolor='r',elinewidth=1,ms=4,mfc='none',mec='r',capthick=1,capsize=3,label='Observed, Re')
# plt.errorbar(observed[:,1],observed[:,3],yerr=observed[:,4],fmt='cd',ecolor='c',elinewidth=1,ms=5,mfc='none',mec='c',capthick=1,capsize=3,label='Observed, Im')
plt.errorbar(observed[:,1],observed[:,2],yerr=observed[:,4],fmt='o',elinewidth=1,ms=4,mfc='none',capthick=1,capsize=3,label='Observed, Re')
plt.errorbar(observed[:,1],observed[:,3],yerr=observed[:,4],fmt='d',elinewidth=1,ms=5,mfc='none',capthick=1,capsize=3,label='Observed, Im')
plt.xlabel('Period (seconds)',fontsize=14)
plt.ylabel('C-response (km)',fontsize=14)
plt.xlim([0.8*observed[0,1],1.2*observed[n_observed-1,1]])
fig.set_xscale('log')
plt.legend(loc='upper left', facecolor='none', frameon=False, fontsize=12)
plt.tick_params(labelsize=13)
plt.tight_layout()

plt.savefig('observed_responses.eps', dpi=300, format='eps')
# plt.savefig('observed_responses.png', dpi=600, format='png')

plt.show()
63 changes: 63 additions & 0 deletions generate_synthetic_data/Dst_Cn/setup.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# SH degree n
1
# Minimum period in seconds
178200
# Maximum period in seconds
9936000
# Number of periods
20
# Gaussian random error
0
# Data uncertainty
0.05
# Number of layers
48
# Depth of top surface (m) Conductivity (S/m)
0 0.00025858
6000 0.00022585
9000 0.00023000
21000 0.00024673
36000 0.00029715
51000 0.00041647
64000 0.00065260
79000 0.0011423
94000 0.0021429
111000 0.0041624
131000 0.0083051
154000 0.016047
179000 0.028327
209000 0.043435
244000 0.057136
279000 0.067812
319000 0.076692
359000 0.086451
399000 0.098966
439000 0.11987
489000 0.16353
549000 0.27167
599000 0.52970
659000 1.0265
729000 1.3529
799000 1.4295
879000 1.4412
979000 1.4412
1079000 1.4466
1179000 1.4618
1279000 1.4816
1379000 1.5405
1479000 1.6010
1579000 2.1073
1679000 2.5613
1779000 2.9786
1879000 3.3019
1979000 3.5067
2079000 3.6441
2179000 3.6828
2279000 3.7038
2379000 3.7079
2479000 3.6978
2579000 3.6937
2679000 3.6881
2779000 3.6830
2879000 3.6741
2979000 100000
20 changes: 20 additions & 0 deletions generate_synthetic_data/Dst_Cn/synthetic_Dst_Cn_data.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
1 178200.00 595.280623 -189.206804 31.231324
1 220200.57 619.309065 -190.658211 32.399625
1 272100.39 642.663616 -193.020762 33.551212
1 336232.66 665.595905 -196.676602 34.702291
1 415480.48 688.403094 -201.937894 35.870522
1 513406.49 711.398912 -209.067182 37.074165
1 634413.01 734.906294 -218.309336 38.332304
1 783939.98 759.277012 -229.917897 39.666227
1 968709.47 784.929527 -244.156892 41.101306
1 1197027.91 812.383794 -261.269350 42.668170
1 1479159.50 842.270568 -281.422595 44.402094
1 1827787.64 875.312479 -304.652321 46.340721
1 2258585.15 912.289564 -330.802714 48.520683
1 2790918.78 953.952489 -359.441644 50.971160
1 3448719.95 1000.801358 -389.829192 53.702192
1 4261560.52 1052.798316 -421.146366 56.695427
1 5265982.25 1109.357943 -453.044769 59.915036
1 6507139.56 1169.934141 -486.139593 63.345829
1 8040829.48 1235.010487 -521.848142 67.036863
1 9936000.00 1306.803816 -561.368079 71.113823
48 changes: 48 additions & 0 deletions generate_synthetic_data/Dst_Cn/synthetic_model.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
0 0.00025858
6000 0.00022585
9000 0.00023
21000 0.00024673
36000 0.00029715
51000 0.00041647
64000 0.0006526
79000 0.0011423
94000 0.0021429
111000 0.0041624
131000 0.0083051
154000 0.016047
179000 0.028327
209000 0.043435
244000 0.057136
279000 0.067812
319000 0.076692
359000 0.086451
399000 0.098966
439000 0.11987
489000 0.16353
549000 0.27167
599000 0.5297
659000 1.0265
729000 1.3529
799000 1.4295
879000 1.4412
979000 1.4412
1.079e+06 1.4466
1.179e+06 1.4618
1.279e+06 1.4816
1.379e+06 1.5405
1.479e+06 1.601
1.579e+06 2.1073
1.679e+06 2.5613
1.779e+06 2.9786
1.879e+06 3.3019
1.979e+06 3.5067
2.079e+06 3.6441
2.179e+06 3.6828
2.279e+06 3.7038
2.379e+06 3.7079
2.479e+06 3.6978
2.579e+06 3.6937
2.679e+06 3.6881
2.779e+06 3.683
2.879e+06 3.6741
2.979e+06 100000
52 changes: 52 additions & 0 deletions generate_synthetic_data/Dst_G2LTF/plot_observed_responses.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Python script for plotting observed long-period G2L TFs

# Author: Hongbo Yao
# Institute: School of Geosciences and Info-Physics,
# Central South University (CSU)
# Email: [email protected]
# Date: 2022/01/27

# GitHub Page: https://github.com/hongbo-yao
# Researchgate Page: https://www.researchgate.net/profile/Hongbo_Yao2

import os
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['xtick.direction'] = 'in'
matplotlib.rcParams['ytick.direction'] = 'in'

# observed data
filename = 'synthetic_Dst_G2LTF_data.txt'
in_stream = open(filename,'r')
line = in_stream.readline()
coords = line.split()
n_observed = int(in_stream.readline())
observed = np.zeros([n_observed,4], dtype=float)
i = 0
while i<n_observed:
line = in_stream.readline()
data = line.split()
observed[i,:] = data[2:6]
i = i+1
in_stream.close()

# start plotting
figure = plt.figure(figsize=(6,5))
fig = plt.subplot(1,1,1)
# plt.errorbar(observed[:,0],observed[:,1],yerr=observed[:,3],fmt='ro',ecolor='r',elinewidth=1,ms=4,mfc='none',mec='r',capthick=1,capsize=3,label='Observed, Re')
# plt.errorbar(observed[:,0],observed[:,2],yerr=observed[:,3],fmt='cd',ecolor='c',elinewidth=1,ms=5,mfc='none',mec='c',capthick=1,capsize=3,label='Observed, Im')
plt.errorbar(observed[:,0],observed[:,1],yerr=observed[:,3],fmt='o',elinewidth=1,ms=4,mfc='none',capthick=1,capsize=3,label='Observed, Re')
plt.errorbar(observed[:,0],observed[:,2],yerr=observed[:,3],fmt='d',elinewidth=1,ms=5,mfc='none',capthick=1,capsize=3,label='Observed, Im')
plt.xlabel('Period (seconds)',fontsize=14)
plt.ylabel('Transfer functions (nT)',fontsize=14)
plt.xlim([0.8*observed[0,0],1.2*observed[n_observed-1,0]])
fig.set_xscale('log')
plt.legend(loc='upper left', facecolor='none', frameon=False, fontsize=12)
plt.tick_params(labelsize=13)
plt.tight_layout()

plt.savefig('observed_responses.eps', dpi=300, format='eps')
# plt.savefig('observed_responses.png', dpi=600, format='png')

plt.show()
69 changes: 69 additions & 0 deletions generate_synthetic_data/Dst_G2LTF/setup.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Goemagnetic longitude of station, 0-360 degrees
187.04
# Goemagnetic colatitude of station, 0-180 degrees
59.87
# SH degree n
1
# SH degree m
0
# Minimum period in seconds
178200
# Maximum period in seconds
9936000
# Number of periods
20
# Gaussian random error
0
# Data uncertainty
0.05
# Number of layers
48
# Depth of top surface (m) Conductivity (S/m)
0 0.00025858
6000 0.00022585
9000 0.00023000
21000 0.00024673
36000 0.00029715
51000 0.00041647
64000 0.00065260
79000 0.0011423
94000 0.0021429
111000 0.0041624
131000 0.0083051
154000 0.016047
179000 0.028327
209000 0.043435
244000 0.057136
279000 0.067812
319000 0.076692
359000 0.086451
399000 0.098966
439000 0.11987
489000 0.16353
549000 0.27167
599000 0.52970
659000 1.0265
729000 1.3529
799000 1.4295
879000 1.4412
979000 1.4412
1079000 1.4466
1179000 1.4618
1279000 1.4816
1379000 1.5405
1479000 1.6010
1579000 2.1073
1679000 2.5613
1779000 2.9786
1879000 3.3019
1979000 3.5067
2079000 3.6441
2179000 3.6828
2279000 3.7038
2379000 3.7079
2479000 3.6978
2579000 3.6937
2679000 3.6881
2779000 3.6830
2879000 3.6741
2979000 100000
22 changes: 22 additions & 0 deletions generate_synthetic_data/Dst_G2LTF/synthetic_Dst_G2LTF_data.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
187.04 59.87
20
1 0 178200.00 0.129692 -0.037377 0.006749
1 0 220200.57 0.134431 -0.037405 0.006977
1 0 272100.39 0.139016 -0.037616 0.007201
1 0 336232.66 0.143503 -0.038078 0.007423
1 0 415480.48 0.147955 -0.038843 0.007648
1 0 513406.49 0.152436 -0.039952 0.007879
1 0 634413.01 0.157011 -0.041439 0.008119
1 0 783939.98 0.161750 -0.043341 0.008373
1 0 968709.47 0.166735 -0.045690 0.008644
1 0 1197027.91 0.172064 -0.048512 0.008939
1 0 1479159.50 0.177855 -0.051811 0.009262
1 0 1827787.64 0.184234 -0.055564 0.009622
1 0 2258585.15 0.191331 -0.059705 0.010022
1 0 2790918.78 0.199258 -0.064116 0.010466
1 0 3448719.95 0.208064 -0.068629 0.010955
1 0 4261560.52 0.217696 -0.073076 0.011482
1 0 5265982.25 0.228009 -0.077392 0.012039
1 0 6507139.56 0.238890 -0.081677 0.012623
1 0 8040829.48 0.250419 -0.086136 0.013241
1 0 9936000.00 0.262948 -0.090876 0.013910
Loading

0 comments on commit d400669

Please sign in to comment.