Commit debcc606 authored by Cedric Jourdain's avatar Cedric Jourdain
Browse files

Add Test case on few nodes

parent 5848957d
......@@ -37,11 +37,12 @@ Install(){
answer=0
echo "1. Test Case A is designed to run on Tier-1 sized systems (up to around 1,000 x86 cores, or equivalent)"
echo "2. Test Case B is designed to run on Tier-0 sized systems (up to around 10,000 x86 cores, or equivalent)"
echo "3. Test Case C is designed to run on 1 or 2 node(s)"
while true
do
echo "===> Choose Test Case : (1 or 2)"
echo "===> Choose Test Case : (1, 2 or 3)"
read answer
if [[ $answer -eq 1 || $answer -eq 2 ]]; then break;fi
if [[ $answer -eq 1 || $answer -eq 2 || $answer -eq 3 ]]; then break;fi
done
if [ $answer = "1" ]; then
echo "===> Copy test case A"
......@@ -51,7 +52,7 @@ Install(){
mv $install_dir/../specfem3d_globe $install_dir/.
cp SPECFEM3D_TestCaseA/* $install_dir/specfem3d_globe/DATA/.
rm -rf SPECFEM3D_TestCaseA
else
elif [ $answer = "2" ]; then
echo "===> Copy test case B"
export install_dir=$install_dir/TestCaseB
mkdir -p $install_dir
......@@ -59,6 +60,13 @@ Install(){
tar zxvf $HOME/tarballs/SPECFEM3D_TestCaseB.tar.gz
cp SPECFEM3D_TestCaseB/* $install_dir/specfem3d_globe/DATA/.
rm -rf SPECFEM3D_TestCaseB
else
echo "===> Copy test case C"
export install_dir=$install_dir/TestCaseC
mkdir -p $install_dir
mv $install_dir/../specfem3d_globe $install_dir/.
cp $ueabs_dir/test_cases/SPECFEM3D_TestCaseC/* $install_dir/specfem3d_globe/DATA/.
fi
cd $install_dir/specfem3d_globe
if [ $machine = "daint-gpu" ] || [ $machine = "davide" ]; then
......@@ -90,21 +98,23 @@ Install(){
Clean(){
if [ ! -z "$install_dir" ] && [ -d $install_dir ];then
echo "==> Clean installation directory"
answer=0
while true
do
echo "===> Choose Test Case directory to delete: (A, B, none)"
read answer1
if [ "$answer1" = "A" ] || [ "$answer1" = "B" ] || [ "$answer1" = "none" ]; then break;fi
done
if [ $answer1 = "A" ]; then
echo "Delete $install_dir/TestCaseA"
rm -rf $install_dir/TestCaseA
elif [ $answer1 = "B" ]; then
echo "Delete $install_dir/TestCaseB"
rm -rf $install_dir/TestCaseB
elif [ $answer1 = "none" ]; then
echo "Nothing to delete, next step"
fi
do
echo "===> Choose Test Case to delete : (1, 2, 3)"
echo "1 : $install_dir/TestCaseA"
echo "2 : $install_dir/TestCaseB"
echo "3 : $install_dir/TestCaseC"
read answer
if [[ $answer -eq 1 || $answer -eq 2 || $answer -eq 3 ]]; then break;fi
done
if [ $answer = "1" ]; then
rm -rf $install_dir/TestCaseA
elif [ $answer = "2" ]; then
rm -rf $install_dir/TestCaseB
else
rm -rf $install_dir/TestCaseC
fi
else
echo "Error with install_dir variable"
exit
......
PDE 1994 6 9 0 33 16.40 -13.8300 -67.5600 637.0 6.9 6.8 NORTHERN BOLIVIA
event name: 060994A
time shift: 29.0000
half duration: 20.0000
latitude: -13.8200
longitude: -67.2500
depth: 647.1000
Mrr: -7.590000e+27
Mtt: 7.750000e+27
Mpp: -1.600000e+26
Mrt: -2.503000e+28
Mrp: 4.200000e+26
Mtp: -2.480000e+27
#-----------------------------------------------------------
#
# Simulation input parameters
#
#-----------------------------------------------------------
# forward or adjoint simulation
SIMULATION_TYPE = 1 # set to 1 for forward simulations, 2 for adjoint simulations for sources, and 3 for kernel simulations
NOISE_TOMOGRAPHY = 0 # flag of noise tomography, three steps (1,2,3). If earthquake simulation, set it to 0.
SAVE_FORWARD = .false. # save last frame of forward simulation or not
# number of chunks (1,2,3 or 6)
NCHUNKS = 6
# angular width of the first chunk (not used if full sphere with six chunks)
ANGULAR_WIDTH_XI_IN_DEGREES = 90.d0 # angular size of a chunk
ANGULAR_WIDTH_ETA_IN_DEGREES = 90.d0
CENTER_LATITUDE_IN_DEGREES = 90.d0
CENTER_LONGITUDE_IN_DEGREES = 0.d0
GAMMA_ROTATION_AZIMUTH = 0.d0
# number of elements at the surface along the two sides of the first chunk
# (must be multiple of 16 and 8 * multiple of NPROC below)
NEX_XI = 64
NEX_ETA = 64
# number of MPI processors along the two sides of the first chunk
NPROC_XI = 1
NPROC_ETA = 1
#-----------------------------------------------------------
#
# Model
#
#-----------------------------------------------------------
# 1D models with real structure:
# 1D_isotropic_prem, 1D_transversely_isotropic_prem, 1D_iasp91, 1D_1066a, 1D_ak135f_no_mud, 1D_ref, 1D_ref_iso, 1D_jp3d,1D_sea99
#
# 1D models with only one fictitious averaged crustal layer:
# 1D_isotropic_prem_onecrust, 1D_transversely_isotropic_prem_onecrust, 1D_iasp91_onecrust, 1D_1066a_onecrust, 1D_ak135f_no_mud_onecrust
#
# fully 3D models:
# transversely_isotropic_prem_plus_3D_crust_2.0, 3D_anisotropic, 3D_attenuation,
# s20rts, s40rts, s362ani, s362iso, s362wmani, s362ani_prem, s362ani_3DQ, s362iso_3DQ,
# s29ea, s29ea,sea99_jp3d1994,sea99,jp3d1994,heterogen,full_sh
#
# 3D models with 1D crust: append "_1Dcrust" the the 3D model name
# to take the 1D crustal model from the
# associated reference model rather than the default 3D crustal model
# e.g. s20rts_1Dcrust, s362ani_1Dcrust, etc.
MODEL = s362ani
# parameters describing the Earth model
OCEANS = .true.
ELLIPTICITY = .true.
TOPOGRAPHY = .true.
GRAVITY = .true.
ROTATION = .true.
ATTENUATION = .true.
# absorbing boundary conditions for a regional simulation
ABSORBING_CONDITIONS = .false.
# record length in minutes
RECORD_LENGTH_IN_MINUTES = 1d0
# to undo attenuation for sensitivity kernel calculations or forward runs with SAVE_FORWARD
# use one (and only one) of the two flags below. UNDO_ATTENUATION is much better (it is exact)
# but requires a significant amount of disk space for temporary storage.
PARTIAL_PHYS_DISPERSION_ONLY = .false.
UNDO_ATTENUATION = .false.
# How much memory (in GB) is installed on your machine per CPU core (only used for UNDO_ATTENUATION, can be ignored otherwise)
# (or per GPU card or per INTEL MIC Phi board)
# Beware, this value MUST be given per core, i.e. per MPI thread, i.e. per MPI rank, NOT per node.
# This value is for instance:
# - 4 GB on Tiger at Princeton
# - 4 GB on TGCC Curie in Paris
# - 4 GB on Titan at ORNL when using CPUs only (no GPUs); start your run with "aprun -n$NPROC -N8 -S4 -j1"
# - 2 GB on the machine used by Christina Morency
# - 2 GB on the TACC machine used by Min Chen
# - 1.5 GB on the GPU cluster in Marseille
# When running on GPU machines, it is simpler to set PERCENT_OF_MEM_TO_USE_PER_CORE = 100.d0
# and then set MEMORY_INSTALLED_PER_CORE_IN_GB to the amount of memory that you estimate is free (rather than installed)
# on the host of the GPU card while running your GPU job.
# For GPU runs on Titan at ORNL, use PERCENT_OF_MEM_TO_USE_PER_CORE = 100.d0 and MEMORY_INSTALLED_PER_CORE_IN_GB = 25.d0
# and run your job with "aprun -n$NPROC -N1 -S1 -j1"
# (each host has 32 GB on Titan, each GPU has 6 GB, thus even if all the GPU arrays are duplicated on the host
# this leaves 32 - 6 = 26 GB free on the host; leaving 1 GB for the Linux system, we can safely use 100% of 25 GB)
MEMORY_INSTALLED_PER_CORE_IN_GB = 16.0d0
# What percentage of this total do you allow us to use for arrays to undo attenuation, keeping in mind that you
# need to leave some memory available for the GNU/Linux system to run
# (a typical value is 85%; any value below is fine but the code will then save a lot of data to disk;
# values above, say 90% or 92%, can be OK on some systems but can make the adjoint code run out of memory
# on other systems, depending on how much memory per node the GNU/Linux system needs for itself; thus you can try
# a higher value and if the adjoint crashes then try again with a lower value)
PERCENT_OF_MEM_TO_USE_PER_CORE = 85.d0
# three mass matrices instead of one are needed to handle rotation very accurately;
# otherwise rotation is handled slightly less accurately (but still reasonably well);
# set to .true. if you are interested in precise effects related to rotation;
# set to .false. if you are solving very large inverse problems at high frequency and also undoing attenuation exactly
# using the UNDO_ATTENUATION flag above, in which case saving as much memory as possible can be a good idea.
# You can also safely set it to .false. if you are not in a period range in which rotation matters, e.g. if you are targetting very short-period body waves.
# if in doubt, set to .true.
# Set it to .true. if you have ABSORBING_CONDITIONS above, because in that case the code will use the three mass matrices anyway
# and thus there is no additional cost.
# this flag is of course unused if ROTATION above is set to .false.
EXACT_MASS_MATRIX_FOR_ROTATION = .false.
#-----------------------------------------------------------
# this for LDDRK high-order time scheme instead of Newmark
USE_LDDRK = .false.
# the maximum CFL of LDDRK is significantly higher than that of the Newmark scheme,
# in a ratio that is theoretically 1.327 / 0.697 = 1.15 / 0.604 = 1.903 for a solid with Poisson's ratio = 0.25
# and for a fluid (see the manual of the 2D code, SPECFEM2D, Tables 4.1 and 4.2, and that ratio does not
# depend on whether we are in 2D or in 3D). However in practice a ratio of about 1.5 to 1.7 is often safer
# (for instance for models with a large range of Poisson's ratio values).
# Since the code computes the time step using the Newmark scheme, for LDDRK we will simply
# multiply that time step by this ratio when LDDRK is on and when flag INCREASE_CFL_FOR_LDDRK is true.
INCREASE_CFL_FOR_LDDRK = .true.
RATIO_BY_WHICH_TO_INCREASE_IT = 1.5d0
#-----------------------------------------------------------
#
# Visualization
#
#-----------------------------------------------------------
# save AVS or OpenDX movies
#MOVIE_COARSE saves movie only at corners of elements (SURFACE OR VOLUME)
#MOVIE_COARSE does not work with create_movie_AVS_DX
MOVIE_SURFACE = .false.
MOVIE_VOLUME = .false.
MOVIE_COARSE = .false.
NTSTEP_BETWEEN_FRAMES = 100
HDUR_MOVIE = 0.d0
# save movie in volume. Will save element if center of element is in prescribed volume
# top/bottom: depth in KM, use MOVIE_TOP = -100 to make sure the surface is stored.
# west/east: longitude, degrees East [-180/180] top/bottom: latitute, degrees North [-90/90]
# start/stop: frames will be stored at MOVIE_START + i*NSTEP_BETWEEN_FRAMES, where i=(0,1,2..) and iNSTEP_BETWEEN_FRAMES <= MOVIE_STOP
# movie_volume_type: 1=strain, 2=time integral of strain, 3=\mu*time integral of strain
# type 4 saves the trace and deviatoric stress in the whole volume, 5=displacement, 6=velocity
MOVIE_VOLUME_TYPE = 2
MOVIE_TOP_KM = -100.0
MOVIE_BOTTOM_KM = 1000.0
MOVIE_WEST_DEG = -90.0
MOVIE_EAST_DEG = 90.0
MOVIE_NORTH_DEG = 90.0
MOVIE_SOUTH_DEG = -90.0
MOVIE_START = 0
MOVIE_STOP = 40000
# save mesh files to check the mesh
SAVE_MESH_FILES = .false.
# restart files (number of runs can be 1 or higher, choose 1 for no restart files)
NUMBER_OF_RUNS = 1
NUMBER_OF_THIS_RUN = 1
# path to store the local database files on each node
LOCAL_PATH = ./DATABASES_MPI
# temporary wavefield/kernel/movie files
LOCAL_TMP_PATH = ./DATABASES_MPI
# interval at which we output time step info and max of norm of displacement
NTSTEP_BETWEEN_OUTPUT_INFO = 50
#-----------------------------------------------------------
#
# Sources & seismograms
#
#-----------------------------------------------------------
# interval in time steps for temporary writing of seismograms
NTSTEP_BETWEEN_OUTPUT_SEISMOS = 2000
NTSTEP_BETWEEN_READ_ADJSRC = 1000
# use a (tilted) FORCESOLUTION force point source (or several) instead of a CMTSOLUTION moment-tensor source.
# # This can be useful e.g. for asteroid simulations
# # in which the source is a vertical force, normal force, tilted force, impact etc.
# # If this flag is turned on, the FORCESOLUTION file must be edited by giving:
# # - the corresponding time-shift parameter,
# # - the half duration parameter of the source,
# # - the coordinates of the source,
# # - the source time function of the source,
# # - the magnitude of the force source,
# # - the components of a (non necessarily unitary) direction vector for the force source in the E/N/Z_UP basis.
# # The direction vector is made unitary internally in the code and thus only its direction matters here;
# # its norm is ignored and the norm of the force used is the factor force source times the source time function.
USE_FORCE_POINT_SOURCE = .false.
# option to save strain seismograms
# this option is useful for strain Green's tensor
# this feature is currently under development
SAVE_SEISMOGRAMS_STRAIN = .false.
# save seismograms also when running the adjoint runs for an inverse problem
# (usually they are unused and not very meaningful, leave this off in almost all cases)
SAVE_SEISMOGRAMS_IN_ADJOINT_RUN = .false.
# output format for the seismograms (one can use either or all of the three formats)
OUTPUT_SEISMOS_ASCII_TEXT = .true.
OUTPUT_SEISMOS_SAC_ALPHANUM = .false.
OUTPUT_SEISMOS_SAC_BINARY = .false.
OUTPUT_SEISMOS_ASDF = .false.
# rotate seismograms to Radial-Transverse-Z or use default North-East-Z reference frame
ROTATE_SEISMOGRAMS_RT = .false.
# decide if master process writes all the seismograms or if all processes do it in parallel
WRITE_SEISMOGRAMS_BY_MASTER = .true.
# save all seismograms in one large combined file instead of one file per seismogram
# to avoid overloading shared non-local file systems such as LUSTRE or GPFS for instance
SAVE_ALL_SEISMOS_IN_ONE_FILE = .false.
USE_BINARY_FOR_LARGE_FILE = .false.
# flag to impose receivers at the surface or allow them to be buried
RECEIVERS_CAN_BE_BURIED = .true.
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
#-----------------------------------------------------------
#
# Adjoint kernel outputs
#
#-----------------------------------------------------------
# use ASDF format for reading the adjoint sources
READ_ADJSRC_ASDF = .false.
# this parameter must be set to .true. to compute anisotropic kernels
# in crust and mantle (related to the 21 Cij in geographical coordinates)
# default is .false. to compute isotropic kernels (related to alpha and beta)
ANISOTROPIC_KL = .false.
# output only transverse isotropic kernels (alpha_v,alpha_h,beta_v,beta_h,eta,rho)
# rather than fully anisotropic kernels when ANISOTROPIC_KL above is set to .true.
# means to save radial anisotropic kernels, i.e., sensitivity kernels for beta_v, beta_h, etc.
SAVE_TRANSVERSE_KL_ONLY = .false.
# output approximate Hessian in crust mantle region.
# means to save the preconditioning for gradients, they are cross correlations between forward and adjoint accelerations.
APPROXIMATE_HESS_KL = .false.
# forces transverse isotropy for all mantle elements
# (default is to use transverse isotropy only between MOHO and 220)
# means we allow radial anisotropy between the bottom of the crust to the bottom of the transition zone, i.e., 660~km depth.
USE_FULL_TISO_MANTLE = .false.
# output kernel mask to zero out source region
# to remove large values near the sources in the sensitivity kernels
SAVE_SOURCE_MASK = .false.
# output kernels on a regular grid instead of on the GLL mesh points (a bit expensive)
SAVE_REGULAR_KL = .false.
#-----------------------------------------------------------
# Dimitri Komatitsch, July 2014, CNRS Marseille, France:
# added the ability to run several calculations (several earthquakes)
# in an embarrassingly-parallel fashion from within the same run;
# this can be useful when using a very large supercomputer to compute
# many earthquakes in a catalog, in which case it can be better from
# a batch job submission point of view to start fewer and much larger jobs,
# each of them computing several earthquakes in parallel.
# To turn that option on, set parameter NUMBER_OF_SIMULTANEOUS_RUNS to a value greater than 1.
# To implement that, we create NUMBER_OF_SIMULTANEOUS_RUNS MPI sub-communicators,
# each of them being labeled "my_local_mpi_comm_world", and we use them
# in all the routines in "src/shared/parallel.f90", except in MPI_ABORT() because in that case
# we need to kill the entire run.
# When that option is on, of course the number of processor cores used to start
# the code in the batch system must be a multiple of NUMBER_OF_SIMULTANEOUS_RUNS,
# all the individual runs must use the same number of processor cores,
# which as usual is NPROC in the Par_file,
# and thus the total number of processor cores to request from the batch system
# should be NUMBER_OF_SIMULTANEOUS_RUNS * NPROC.
# All the runs to perform must be placed in directories called run0001, run0002, run0003 and so on
# (with exactly four digits).
#
# Imagine you have 10 independent calculations to do, each of them on 100 cores; you have three options:
#
# 1/ submit 10 jobs to the batch system
#
# 2/ submit a single job on 1000 cores to the batch, and in that script create a sub-array of jobs to start 10 jobs,
# each running on 100 cores (see e.g. http://www.schedmd.com/slurmdocs/job_array.html )
#
# 3/ submit a single job on 1000 cores to the batch, start SPECFEM3D on 1000 cores, create 10 sub-communicators,
# cd into one of 10 subdirectories (called e.g. run0001, run0002,... run0010) depending on the sub-communicator
# your MPI rank belongs to, and run normally on 100 cores using that sub-communicator.
#
# The option below implements 3/.
#
NUMBER_OF_SIMULTANEOUS_RUNS = 1
# if we perform simultaneous runs in parallel, if only the source and receivers vary between these runs
# but not the mesh nor the model (velocity and density) then we can also read the mesh and model files
# from a single run in the beginning and broadcast them to all the others; for a large number of simultaneous
# runs for instance when solving inverse problems iteratively this can DRASTICALLY reduce I/Os to disk in the solver
# (by a factor equal to NUMBER_OF_SIMULTANEOUS_RUNS), and reducing I/Os is crucial in the case of huge runs.
# Thus, always set this option to .true. if the mesh and the model are the same for all simultaneous runs.
# In that case there is no need to duplicate the mesh and model file database (the content of the DATABASES_MPI
# directories) in each of the run0001, run0002,... directories, it is sufficient to have one in run0001
# and the code will broadcast it to the others)
BROADCAST_SAME_MESH_AND_MODEL = .false.
# if one or a few of these simultaneous runs fail, kill all the runs or let the others finish using a fail-safe mechanism
# (in most cases, should be set to false)
USE_FAILSAFE_MECHANISM = .false.
#-----------------------------------------------------------
# set to true to use GPUs
GPU_MODE = .false.
# Only used if GPU_MODE = .true. :
GPU_RUNTIME = 1
# 2 (OpenCL), 1 (Cuda) ou 0 (Compile-time -- does not work if configured with --with-cuda *AND* --with-opencl)
GPU_PLATFORM = NVIDIA
GPU_DEVICE = Tesla
# set to true to use the ADIOS library for I/Os
ADIOS_ENABLED = .false.
ADIOS_FOR_FORWARD_ARRAYS = .true.
ADIOS_FOR_MPI_ARRAYS = .true.
ADIOS_FOR_ARRAYS_SOLVER = .true.
ADIOS_FOR_SOLVER_MESHFILES = .true.
ADIOS_FOR_AVS_DX = .true.
ADIOS_FOR_KERNELS = .true.
ADIOS_FOR_MODELS = .true.
ADIOS_FOR_UNDO_ATTENUATION = .true.
AAK II 42.6390 74.4940 1645.0 30.0
ABKT II 37.9304 58.1189 678.0 7.0
ABPO II -19.0180 47.2290 1528.0 5.3
ALE II 82.5033 -62.3500 60.0 0.0
ARU II 56.4302 58.5625 250.0 0.0
ASCN II -7.9327 -14.3601 173.0 100.0
BFO II 48.3319 8.3311 589.0 0.0
BORG II 64.7474 -21.3268 110.0 95.0
BRVK II 53.0581 70.2828 330.0 15.0
CMLA II 37.7637 -25.5243 429.0 7.0
COCO II -12.1901 96.8349 1.0 70.0
DGAR II -7.4121 72.4525 1.0 2.0
EFI II -51.6753 -58.0637 110.0 80.0
ERM II 42.0150 143.1572 40.0 0.0
ESK II 55.3167 -3.2050 242.0 0.0
FFC II 54.7250 -101.9783 338.0 0.0
GAR II 39.0000 70.3167 1300.0 0.0
HOPE II -54.2836 -36.4879 20.0 0.0
JTS II 10.2908 -84.9525 340.0 0.0
KAPI II -5.0142 119.7517 300.0 100.0
KDAK II 57.7828 -152.5835 152.0 5.5
KIV II 43.9562 42.6888 1210.0 0.0
KURK II 50.7154 78.6202 184.0 25.0
KWAJ II 8.8019 167.6130 0.0 0.0
LVZ II 67.8979 34.6514 630.0 200.0
MBAR II -0.6019 30.7382 1390.0 100.0
MSEY II -4.6737 55.4792 475.0 91.0
MSVF II -17.7448 178.0528 801.1 100.0
NIL II 33.6506 73.2686 629.0 68.0
NNA II -11.9875 -76.8422 575.0 40.0
NRIL II 69.5049 88.4414 92.0 506.0
NVS II 54.8404 83.2346 150.0 0.0
OBN II 55.1146 36.5674 160.0 30.0
PALK II 7.2728 80.7022 460.0 90.0
RAYN II 23.5225 45.5032 631.0 2.0
RPN II -27.1267 -109.3344 110.0 0.0
SACV II 14.9702 -23.6085 387.0 97.0
SHEL II -15.9588 -5.7457 537.0 60.0
SUR II -32.3797 20.8117 1770.0 0.0
TAU II -42.9099 147.3204 132.0 0.0
TLY II 51.6807 103.6438 579.0 20.0
UOSS II 24.9453 56.2042 284.4 0.0
WRAB II -19.9336 134.3600 366.0 100.0
XPFO II 33.6107 -116.4555 1280.0 0.0
AAE IU 9.0292 38.7656 2442.0 0.0
ADK IU 51.8823 -176.6842 130.0 0.0
AFI IU -13.9093 -171.7773 705.0 1.0
ANMO IU 34.9459 -106.4572 1720.0 100.0
ANTO IU 39.8680 32.7934 895.0 195.0
BBSR IU 32.3713 -64.6963 -1.3 31.4
BILL IU 68.0653 166.4531 320.0 0.0
BOCO IU 4.5869 -74.0432 3137.0 23.0
CASY IU -66.2792 110.5354 5.0 5.0
CCM IU 38.0557 -91.2446 171.0 51.0
CHTO IU 18.8141 98.9443 420.0 0.0
COLA IU 64.8736 -147.8616 200.0 0.0
COR IU 44.5855 -123.3046 110.0 0.0
CTAO IU -20.0882 146.2545 320.0 37.0
DAV IU 7.0697 125.5791 149.0 1.0
DWPF IU 28.1103 -81.4327 -132.0 162.0
FUNA IU -8.5259 179.1966 19.0 1.0
FURI IU 8.8952 38.6798 2565.0 5.0
GNI IU 40.1480 44.7410 1509.0 100.0
GRFO IU 49.6909 11.2203 384.0 116.0
GUMO IU 13.5893 144.8684 61.0 109.0
HKT IU 29.9618 -95.8384 -413.0 450.0
HNR IU -9.4387 159.9475 0.0 100.0
HRV IU 42.5064 -71.5583 200.0 0.0
INCN IU 37.4776 126.6239 79.0 1.0
JOHN IU 16.7329 -169.5292 -37.0 39.0
KBS IU 78.9154 11.9385 90.0 3.0
KEV IU 69.7565 27.0035 85.0 15.0
KIEV IU 50.7012 29.2242 140.0 40.0
KIP IU 21.4233 -158.0150 37.0 33.0
KMBO IU -1.1271 37.2525 1930.0 20.0
KNTN IU -2.7744 -171.7186 18.0 2.0
KONO IU 59.6491 9.5982 216.0 340.0
KOWA IU 14.4967 -4.0140 316.0 5.0
LCO IU -29.0110 -70.7004 2300.0 0.0
LSZ IU -15.2779 28.1882 1200.0 0.0
LVC IU -22.6127 -68.9111 2930.0 30.0
MA2 IU 59.5756 150.7700 337.0 2.0
MAJO IU 36.5457 138.2041 405.0 0.0
MAKZ IU 46.8080 81.9770 590.0 10.0
MBWA IU -21.1590 119.7313 181.0 9.0
MIDW IU 28.2155 -177.3697 17.8 1.0
MSKU IU -1.6557 13.6116 287.0 25.0
NAI IU -1.2739 36.8037 1692.0 0.0
NWAO IU -32.9277 117.2390 370.9 9.1
OTAV IU 0.2376 -78.4508 3495.0 15.0
PAB IU 39.5446 -4.3499 950.0 0.0
PAYG IU -0.6742 -90.2861 170.0 100.0
PET IU 53.0233 158.6499 105.0 5.0
PMG IU -9.4047 147.1597 90.0 0.0
PMSA IU -64.7744 -64.0489 40.0 0.0
POHA IU 19.7573 -155.5326 1910.0 80.0
PTCN IU -25.0713 -130.0953 218.0 2.0
PTGA IU -0.7308 -59.9666 141.0 96.0
QSPA IU -89.9289 144.4382 2847.0 3.0
RAIO IU 46.0403 -122.8851 11.0 0.0
RAO IU -29.2450 -177.9290 59.5 0.5
RAR IU -21.2125 -159.7733 -72.0 100.0
RCBR IU -5.8274 -35.9014 291.0 109.0
RSSD IU 44.1212 -104.0359 2022.7 67.3
SAML IU -8.9489 -63.1831 120.0 0.0
SBA IU -77.8492 166.7572 48.0 2.0
SDV IU 8.8839 -70.6340 1588.0 32.0
SFJD IU 66.9961 -50.6208 329.0 1.0
SJG IU 18.1091 -66.1500 420.0 0.0
SLBS IU 23.6858 -109.9443 825.0 0.0
SNZO IU -41.3087 174.7043 20.0 100.0
SSPA IU 40.6358 -77.8876 170.0 100.0
TARA IU 1.3549 172.9229 19.0 1.0
TATO IU 24.9735 121.4971 77.1 82.9
TBT IU 28.6794 -17.9145 180.0 40.0
TEIG IU 20.2263 -88.2763 15.0 25.0
TIXI IU 71.6341 128.8667 40.0 0.0
TOL IU 39.8814 -4.0485 480.0 0.0
TRIS IU -37.0681 -12.3152 58.0 2.0
TRQA IU -38.0568 -61.9787 439.0 101.0
TSUM IU -19.2022 17.5838 1260.0 0.0
TUC IU 32.3098 -110.7847 909.0 1.0
ULN IU 47.8651 107.0532 1610.0 0.0
WAKE IU 19.2834 166.6520 19.0 1.0
WCI IU 38.2289 -86.2939 78.0 132.0
WVT IU 36.1297 -87.8300 170.0 0.0
XMAS IU 2.0448 -157.4457 19.0 1.0
YAK IU 62.0310 129.6805 110.0 14.0
YSS IU 46.9587 142.7604 148.0 2.0
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment