Computer Programs in Seismology Tutorial

Test of wvfmtgrd96

Introduction

The purpose of this tutorial is to test the correctness of the code for performing a grid search for a complete moment tensor using the program wvfmtgrd96. Because this program follows Zhu and Ben-Zion (2013) by performing a grid search over five parameters, the derived moment tensor will not be exactly the true moment tensor because of the finite step size. This tutorial provides a complete processing environment to duplicate the evaluation given below.

Zhu, L., and Y. Ben-Zion (2013). Paramaterization of 
   general seismic potency and moment tensors for source 
   inversion of seismic wavefrom data, Geophys. J. Int. 194, 
   839-843.  doi: 10.1093/gji/ggt137

Processing

The example given here uses Green's functions for the CUS velocity model at a source depth of 1 km. For brevity, the grid search is applied only at one source depth, rather than at a number depths, to focus on the comparison of the true moment tensor to those resulting from wvfmtgrd96. The t.tgz contains the shell scripts and the Green's functions for five epicentral distances and just a source depth of 1.0 km. It is assumed that Computer Programs in Seismology and ImageMagick have been installed.

To install this tutorial, download t.tgz, and then

gunzip -c t.tgz | tar xf - 
cd TESTMGRD
DOALL

Note that the grid search will take computational time.

The results of the test run will be in subdirectories such as TEST01. The scripts in TEST01/MTGRD.REG are the current scripts for processing. Of interest will be

Discussion

TEST

The evaluation consists of making observed waveforms for a given moment tensor and then inverting these. The presentation below provides the comparison.

Run 01

            H      Mxx        Myy        Mxy       Mxz         Myz        Mzz       Mw     Fit 
  TRUE     1.0  1.000e+20  1.000e+20  0.000e+00  0.000e+00  0.000e+00  3.000e+20
WVFMTGRD96 1.0  1.030e+20  1.030e+20  0.000e+00 -4.930e+12  1.110e+12  3.180e+20  2.8619  0.9977

TRUE
Result of wvfgrd96
 Moment (dyne-cm)   2.35E+20   dyne-cm
 Magnitude (Mw)    2.85
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   3.00E+20     90.      0.
    N   1.00E+20     -0.     90.
    P   1.00E+20     -0.      0.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.00E+20                                beta:   29.50
       Mxy    0.00E+00                                gamma: -30.00
       Mxz    0.00E+00
       Myy    1.00E+20
       Myz    0.00E+00
       Mzz    3.00E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  3.00E+20  0.00E+00 -0.00E+00
  T  0.00E+00  1.00E+20 -0.00E+00
  F -0.00E+00 -0.00E+00  1.00E+20
 
 
 
                    ##### P ######                         :
                #########   ##########                   :---:
             ############################              ::. ..::
            ##############################            #--------:
          ##################################         :: .  . .  :
         ####################################        :  .  .  .  :
        ######################################      :------------::
       ########################################    ::  .   .  .   :
       ##################   ###################    :   .   .   .  :
      ################### T ####################   :---------------:
      ###################   ####################   :   .   .   .   :
      ##########################################   :===============:
      ##########################################   :   .   .   .   :
       ########################################    :   .   .   .   :
       ########################################    :---------------:
        ######################################     :   .   .   .  :
         ####################################      ::  .   .  .   :
          ##################################        :------------::
            ##############################           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 
 Moment (dyne-cm)   2.47E+20   dyne-cm
 Magnitude (Mw)    2.86
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   3.18E+20     90.    167.
    N   1.03E+20     -0.    280.
    P   1.03E+20     -0.     10.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.03E+20                                beta:   30.12
       Mxy    0.00E+00                                gamma: -30.00
       Mxz   -4.93E+12
       Myy    1.03E+20
       Myz    1.11E+12
       Mzz    3.18E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  3.18E+20 -4.93E+12 -1.11E+12
  T -4.93E+12  1.03E+20 -0.00E+00
  F -1.11E+12 -0.00E+00  1.03E+20
 
 
 
                    ######### P ##                         :
                #############   ######                   :---:
             ############################              ::. ..::
            ##############################            #--------:
          ##################################         :: .  . .  :
         ####################################        :  .  .  .  :
        ######################################      :------------::
       ########################################    ::  .   .  .   :
       ########################################    :   .   .   .  :
      ##########################################   :---------------:
      ##########################################   :   .   .   .   :
      ####################   ###################   :===============:
      #################### T ###################   :   .   .   .   :
       ###################   ##################    :   .   .   .   :
       ########################################    :---------------:
        ######################################     :   .   .   .  :
         ####################################      ::  .   .  .   :
          ##################################        :------------::
            ##############################           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 

Run 02

            H      Mxx        Myy        Mxy       Mxz         Myz        Mzz       Mw     Fit 
  TRUE     1.0 -1.000e+20 -1.000e+20  0.000e+00  0.000e+00  0.000e+00 -3.000e+20
WVFMTGRD96 1.0 -8.870e+19 -8.870e+19  1.840e+12 -3.530e+12  6.580e+11 -2.400e+20  2.7879  0.9800


TRUE
Result of wvfgrd96
 Moment (dyne-cm)   2.35E+20   dyne-cm
 Magnitude (Mw)    2.85
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T  -1.00E+20     -0.      0.
    N  -1.00E+20     -0.     90.
    P  -3.00E+20     90.      0.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx   -1.00E+20                                beta:  150.50
       Mxy    0.00E+00                                gamma:  30.00
       Mxz    0.00E+00
       Myy   -1.00E+20
       Myz    0.00E+00
       Mzz   -3.00E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R -3.00E+20  0.00E+00 -0.00E+00
  T  0.00E+00 -1.00E+20 -0.00E+00
  F -0.00E+00 -0.00E+00 -1.00E+20
 
 
 
                    ----- T ------                         :
                ---------   ----------                   :---:
             ----------------------------              ::. ..::
            ------------------------------            :--------:
          ----------------------------------         :: .  . .  :
         ------------------------------------        :  .  .  .  :
        --------------------------------------      :------------::
       ----------------------------------------    ::  .   .  .   :
       ------------------   -------------------    :   .   .   .  :
      ------------------- P --------------------   :---------------:
      -------------------   --------------------   :   .   .   .   :
      ------------------------------------------   :===============:
      ------------------------------------------   :   .   .   .   :
       ----------------------------------------    :   .   .   .   :
       ----------------------------------------    :---------------:
        --------------------------------------     :   .   .   .  :
         ------------------------------------      ::  .   .  .   :
          ----------------------------------        :------------::
            ------------------------------           :  .  .  .  :
             ----------------------------            :: .  . .  :
                ----------------------                :--------#
                    --------------                     ::. ..::
                                                         :---:
                                                           :
 
 
 Moment (dyne-cm)   1.91E+20   dyne-cm
 Magnitude (Mw)    2.79
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T  -8.87E+19     -0.    225.
    N  -8.87E+19     -0.    135.
    P  -2.40E+20     90.    349.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx   -8.87E+19                                beta:  152.86
       Mxy    1.84E+12                                gamma:  30.00
       Mxz   -3.53E+12
       Myy   -8.87E+19
       Myz    6.58E+11
       Mzz   -2.40E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R -2.40E+20 -3.53E+12 -6.58E+11
  T -3.53E+12 -8.87E+19 -1.84E+12
  F -6.58E+11 -1.84E+12 -8.87E+19
 
 
 
                    --------------                         :
                ----------------------                   :---:
             ----------------------------              ::. ..::
            ------------------------------            :--------:
          ----------------------------------         :: .  . .  :
         ------------------------------------        :  .  .  .  :
        --------------------------------------      :------------::
       ----------------------------------------    ::  .   .  .   :
       ------------------   -------------------    :   .   .   .  :
      ------------------- P --------------------   :---------------:
      -------------------   --------------------   :   .   .   .   :
      ------------------------------------------   :===============:
      ------------------------------------------   :   .   .   .   :
       ----------------------------------------    :   .   .   .   :
       ----------------------------------------    :---------------:
        --------------------------------------     :   .   .   .  :
         ------------------------------------      ::  .   .  .   :
          ----------------------------------        :------------::
               ---------------------------           :  .  .  .  :
             T --------------------------            :: .  . .  :
                ----------------------                :--------#
                    --------------                     ::. ..::
                                                         :---:
                                                           :
 
 

Run 03

            H      Mxx        Myy        Mxy       Mxz         Myz        Mzz       Mw     Fit 
  TRUE     1.0  1.000e+20  1.000e+20  0.000e+00  0.000e+00  0.000e+00 -2.000e+20
WVFMTGRD96 1.0  1.010e+20  1.010e+20 -3.620e+12 -9.240e+12 -7.940e+11 -1.970e+20  2.7570  1.0000


TRUE
Result of wvfgrd96
 Moment (dyne-cm)   1.73E+20   dyne-cm
 Magnitude (Mw)    2.76
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   1.00E+20     -0.      0.
    N   1.00E+20     -0.     90.
    P  -2.00E+20     90.      0.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.00E+20                                beta:   90.00
       Mxy    0.00E+00                                gamma:  30.00
       Mxz    0.00E+00
       Myy    1.00E+20
       Myz    0.00E+00
       Mzz   -2.00E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R -2.00E+20  0.00E+00 -0.00E+00
  T  0.00E+00  1.00E+20 -0.00E+00
  F -0.00E+00 -0.00E+00  1.00E+20
 
 
 
                    ##### T ######                         :
                #########   ##########                   :---:
             ############################              ::. ..::
            ##############################            :--------:
          ###########------------###########         :: .  . .  :
         #########------------------#########        :  .  .  .  :
        ########----------------------########      :------------::
       ########------------------------########    ::  .   .  .   :
       #######-----------   ------------#######    :   .   .   .  :
      ########----------- P ------------########   :---------------:
      ########-----------   ------------########   :   .   .   .   :
      ########--------------------------########   :===============#
      ########--------------------------########   :   .   .   .   :
       #######--------------------------#######    :   .   .   .   :
       ########------------------------########    :---------------:
        ########----------------------########     :   .   .   .  :
         #########------------------#########      ::  .   .  .   :
          ###########------------###########        :------------::
            ##############################           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 
 Moment (dyne-cm)   1.72E+20   dyne-cm
 Magnitude (Mw)    2.76
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   1.01E+20     -0.    135.
    N   1.01E+20     -0.    225.
    P  -1.97E+20     90.      5.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.01E+20                                beta:   89.32
       Mxy   -3.62E+12                                gamma:  30.00
       Mxz   -9.24E+12
       Myy    1.01E+20
       Myz   -7.94E+11
       Mzz   -1.97E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R -1.97E+20 -9.24E+12  7.94E+11
  T -9.24E+12  1.01E+20  3.62E+12
  F  7.94E+11  3.62E+12  1.01E+20
 
 
 
                    ##############                         :
                ######################                   :---:
             ############################              ::. ..::
            ##############################            :--------:
          ###########------------###########         :: .  . .  :
         #########------------------#########        :  .  .  .  :
        ########----------------------########      :------------::
       ########------------------------########    ::  .   .  .   :
       #######------------   -----------#######    :   .   .   .  :
      ########------------ P -----------########   :---------------:
      ########------------   -----------########   :   .   .   .   :
      ########--------------------------########   :===============#
      ########--------------------------########   :   .   .   .   :
       #######--------------------------#######    :   .   .   .   :
       ########------------------------########    :---------------:
        ########----------------------########     :   .   .   .  :
         #########------------------#########      ::  .   .  .   :
          ###########------------###########        :------------::
            ###########################              :  .  .  .  :
             ########################## T            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 

Run 04

            H      Mxx        Myy        Mxy       Mxz         Myz        Mzz       Mw     Fit 
  TRUE     1.0  1.000e+20 -1.000e+20  0.000e+00  0.000e+00  0.000e+00  0.000e+00
WVFMTGRD96 1.0  1.010e+20 -9.910e+19  6.620e+03  2.980e+12 -9.600e+12  4.350e+18  2.6002  1.0000


TRUE
Result of wvfgrd96
 Moment (dyne-cm)   1.00E+20   dyne-cm
 Magnitude (Mw)    2.60
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   1.00E+20     -0.      0.
    N   0.00E+00     90.      0.
    P  -1.00E+20     -0.     90.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.00E+20                                beta:   90.00
       Mxy    0.00E+00                                gamma:   0.00
       Mxz    0.00E+00
       Myy   -1.00E+20
       Myz    0.00E+00
       Mzz    0.00E+00
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  0.00E+00  0.00E+00 -0.00E+00
  T  0.00E+00  1.00E+20 -0.00E+00
  F -0.00E+00 -0.00E+00 -1.00E+20
 
 
 
                    ##### T ######                         :
                #########   ##########                   :---:
             ############################              ::. ..::
            -############################-            :--------:
          -----########################-----         :: .  . .  :
         --------####################--------        :  .  .  .  :
        -----------################-----------      :------------::
       --------------############--------------    ::  .   .  .   :
       ---------------##########---------------    :   .   .   .  :
      ------------------######------------------   :---------------:
      --------------------##------------------     :   .   .   .   :
      --------------------##------------------ P   :=======#=======:
      ------------------######----------------     :   .   .   .   :
       ---------------##########---------------    :   .   .   .   :
       --------------############--------------    :---------------:
        -----------################-----------     :   .   .   .  :
         --------####################--------      ::  .   .  .   :
          -----########################-----        :------------::
            -############################-           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 
 Moment (dyne-cm)   1.00E+20   dyne-cm
 Magnitude (Mw)    2.60
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   1.01E+20     -0.    360.
    N   4.35E+18     90.    252.
    P  -9.91E+19     -0.     90.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.01E+20                                beta:   88.54
       Mxy    6.62E+03                                gamma:   1.12
       Mxz    2.98E+12
       Myy   -9.91E+19
       Myz   -9.60E+12
       Mzz    4.35E+18
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  4.35E+18  2.98E+12  9.60E+12
  T  2.98E+12  1.01E+20 -6.62E+03
  F  9.60E+12 -6.62E+03 -9.91E+19
 
 
 
                    ###### T #####                         :
                ##########   #########                   :---:
             ############################              ::. ..::
            -############################-            :--------:
          -----########################-----         :: .  . .  :
         --------####################--------        :  .  .  .  :
        ----------##################----------      :------------::
       -------------##############-------------    ::  .   .  .   :
       ---------------##########---------------    :   .   .   .  :
      -----------------########-----------------   :---------------:
      ------------------######----------------     :   .   .   .   :
      ------------------######---------------- P   :=======#=======:
      -----------------########---------------     :   .   .   .   :
       ---------------##########---------------    :   .   .   .   :
       -------------##############-------------    :---------------:
        ----------##################----------     :   .   .   .  :
         --------####################--------      ::  .   .  .   :
          -----########################-----        :------------::
            -############################-           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 

Run 05

            H      Mxx        Myy        Mxy       Mxz         Myz        Mzz       Mw     Fit 
  TRUE     1.0  1.000e+20 -1.000e+20  3.000e+19  6.000e+22  0.000e+00 -5.000e+21
WVFMTGRD96 1.0  1.960e+21  1.960e+21  2.620e+15  5.980e+22  2.620e+15  1.960e+21  4.4515  0.9983


TRUE
Result of wvfgrd96
 Moment (dyne-cm)   6.01E+22   dyne-cm
 Magnitude (Mw)    4.45
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   5.76E+22     44.      0.
    N  -1.00E+20      0.    270.
    P  -6.25E+22     46.    180.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.00E+20                                beta:   91.95
       Mxy    3.00E+19                                gamma:   1.29
       Mxz    6.00E+22
       Myy   -1.00E+20
       Myz    0.00E+00
       Mzz   -5.00E+21
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R -5.00E+21  6.00E+22 -0.00E+00
  T  6.00E+22  1.00E+20 -3.00E+19
  F -0.00E+00 -3.00E+19 -1.00E+20
 
 
 
                    ##############                         :
                ######################                   :---:
             ############################              ::. ..::
            ##############   #############            :--------:
          ################ T ###############         :: .  . .  :
         #################   ################        :  .  .  .  :
        ######################################      :------------::
       ########################################    ::  .   .  .   :
       ########################################    :   .   .   .  :
      ##########################################   :---------------:
      ##########################################   :   .   .   .   :
      ------------------------------------------   :===============:
      ------------------------------------------   :   .   #   .   :
       ----------------------------------------    :   .   .   .   :
       ----------------------------------------    :---------------:
        ------------------   -----------------     :   .   .   .  :
         ----------------- P ----------------      ::  .   .  .   :
          ----------------   ---------------        :------------::
            ------------------------------           :  .  .  .  :
             ----------------------------            :: .  . .  :
                ----------------------                :--------:
                    --------------                     ::. ..::
                                                         :---:
                                                           :
 
 
 Moment (dyne-cm)   5.98E+22   dyne-cm
 Magnitude (Mw)    4.45
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   6.18E+22     45.      0.
    N   1.96E+21     -0.    270.
    P  -5.78E+22     45.    180.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.96E+21                                beta:   87.70
       Mxy    2.62E+15                                gamma:   0.00
       Mxz    5.98E+22
       Myy    1.96E+21
       Myz    2.62E+15
       Mzz    1.96E+21
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  1.96E+21  5.98E+22 -2.62E+15
  T  5.98E+22  1.96E+21 -2.62E+15
  F -2.62E+15 -2.62E+15  1.96E+21
 
 
 
                    ##############                         :
                ######################                   :---:
             ############################              ::. ..::
            ##############   #############            :--------:
          ################ T ###############         :: .  . .  :
         #################   ################        :  .  .  .  :
        ######################################      :------------::
       ########################################    ::  .   .  .   :
       ########################################    :   .   .   .  :
      ##########################################   :---------------:
      ##########################################   :   .   .   .   :
      ####----------------------------------####   :=======#=======:
      ##--------------------------------------##   :   .   .   .   :
       #--------------------------------------#    :   .   .   .   :
       #--------------------------------------#    :---------------:
        --------------------------------------     :   .   .   .  :
         ----------------   -----------------      ::  .   .  .   :
          --------------- P ----------------        :------------::
            -------------   --------------           :  .  .  .  :
             #--------------------------#            :: .  . .  :
                ----------------------                :--------:
                    --------------                     ::. ..::
                                                         :---:
                                                           :
 
 

Run 06

            H      Mxx        Myy        Mxy       Mxz         Myz        Mzz       Mw     Fit 
  TRUE     1.0  1.000e+21  1.000e+21  3.000e+20  6.000e+20  0.000e+00  1.000e+21
WVFMTGRD96 1.0  9.970e+20  9.970e+20  2.990e+20  6.420e+20  1.760e+13  9.970e+20  3.3666  0.9998


TRUE
Result of wvfgrd96
 Moment (dyne-cm)   1.40E+21   dyne-cm
 Magnitude (Mw)    3.36
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   1.67E+21     39.     24.
    N   1.00E+21     27.    270.
    P   3.29E+20     39.    156.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    1.00E+21                                beta:   28.71
       Mxy    3.00E+20                                gamma:  -0.00
       Mxz    6.00E+20
       Myy    1.00E+21
       Myz    0.00E+00
       Mzz    1.00E+21
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  1.00E+21  6.00E+20 -0.00E+00
  T  6.00E+20  1.00E+21 -3.00E+20
  F -0.00E+00 -3.00E+20  1.00E+21
 
 
 
                    ##############                         :
                ######################                   :---:
             ############################              ::. ..::
            ###################   ########            :----#---:
          ##################### T ##########         :: .  . .  :
         ######################   ###########        :  .  .  .  :
        ######################################      :------------::
       ########################################    ::  .   .  .   :
       ########################################    :   .   .   .  :
      ##########################################   :---------------:
      ##########################################   :   .   .   .   :
      ##########################################   :===============:
      ##########################################   :   .   .   .   :
       ########################################    :   .   .   .   :
       ########################################    :---------------:
        ######################################     :   .   .   .  :
         ######################   ###########      ::  .   .  .   :
          ##################### P ##########        :------------::
            ###################   ########           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :
 
 
 Moment (dyne-cm)   1.41E+21   dyne-cm
 Magnitude (Mw)    3.37
  
 Principal Axes:
   Axis    Value   Plunge  Azimuth
    T   1.71E+21     40.     23.
    N   9.97E+20     25.    270.
    P   2.89E+20     40.    157.
 Moment Tensor: (dyne-cm) Aki-Richards               Lune parameters
    Component   Value
       Mxx    9.97E+20                                beta:   30.11
       Mxy    2.99E+20                                gamma:  -0.00
       Mxz    6.42E+20
       Myy    9.97E+20
       Myz    1.76E+13
       Mzz    9.97E+20
 Global CMT Convention Moment Tensor: (dyne-cm)
         R         T         F
  R  9.97E+20  6.42E+20 -1.76E+13
  T  6.42E+20  9.97E+20 -2.99E+20
  F -1.76E+13 -2.99E+20  9.97E+20
 
 
 
                    ##############                         :
                ######################                   :---:
             ############################              ::. ..::
            ##################   #########            :--------:
          #################### T ###########         :: .  # .  :
         #####################   ############        :  .  .  .  :
        ######################################      :------------::
       ########################################    ::  .   .  .   :
       ########################################    :   .   .   .  :
      ##########################################   :---------------:
      ##########################################   :   .   .   .   :
      ##########################################   :===============:
      ##########################################   :   .   .   .   :
       ########################################    :   .   .   .   :
       ########################################    :---------------:
        ######################################     :   .   .   .  :
         #####################   ############      ::  .   .  .   :
          #################### P ###########        :------------::
            ##################   #########           :  .  .  .  :
             ############################            :: .  . .  :
                ######################                :--------:
                    ##############                     ::. ..::
                                                         :---:
                                                           :