module qm3
    use xtb_type_environment
    use xtb_type_molecule
    use xtb_type_wavefunction
    use xtb_type_basisset
    use xtb_type_param
    use xtb_type_data
    use xtb_type_pcem
    use xtb_setparam
    use xtb_basis
    use xtb_scf
    use xtb_scc_core
    use xtb_paramset
    use xtb_xtb_data
    use xtb_xtb_gfn2

    use xtb_eeq
    use xtb_chargemodel
    use xtb_disp_ncoord, only: ncoord_erf
    use xtb_type_solvation, only : TSolvation

    implicit none
    public
    integer, parameter  :: maxiter = 1000
    integer, parameter  :: prlevel = 0
    logical, parameter  :: lgrad = .true.
    logical             :: restart = .false.
    real*8, parameter   :: et = 300.0d0
    real*8, parameter   :: acc = 1.0d0
    type(TEnvironment)  :: env
    type(TMolecule)     :: mol
    type(scc_results)   :: res
    type(TBasisset)     :: basis
    type(TWavefunction) :: wfn
    type(tb_pcem)       :: pcem
    type(TxTBData)      :: xtbData
    class(TSolvation), allocatable :: solvation
    real*8              :: ene, gap
    type(TxTBParameter) :: globpar
    logical             :: okpar, okbas, okrun
    real*8, parameter   :: x__Bohr = 1.0d0 / 0.52917721093d0
    real*8, parameter   :: x__Ener = 2625.49963947555d0
end module qm3

subroutine qm3_xtb_calc( nQM, nMM, siz, dat )
    use qm3
    implicit none
    integer, intent( in ) :: nQM, nMM, siz
    real*8, dimension(0:siz-1), intent( inout ) :: dat

    integer, dimension(nQM)  :: atn
    real*8, dimension(3,nQM) :: xyz, grd
    integer                  :: i, i3, j
    real*8, allocatable      :: cn(:)
    type(chrg_parameter)     :: chrgeq

    ! 3 + nQM [QM_chg] + 3 * nQM [QM_crd/grd] + nQM [QM_mul] + nMM [MM_chg] + 3 * nMM [MM_crd/grd]
    do i = 1, nQM
        atn(i) = dint( dat(2+i) )
        j = 3 + nQM + 3 * ( i - 1 )
        xyz(1,i) = dat(j)   * x__Bohr
        xyz(2,i) = dat(j+1) * x__Bohr
        xyz(3,i) = dat(j+2) * x__Bohr
    end do
    if( nMM > 0 ) then
        if( .not. restart ) call pcem%allocate( nMM )
        pcem%gam = 999.0d0
        do i = 1, nMM
            pcem%q(i) = dat(2+5*nQM+i)
            j = 3 + 5 * nQM + nMM + 3 * ( i - 1 )
            pcem%xyz(1,i) = dat(j)   * x__Bohr
            pcem%xyz(2,i) = dat(j+1) * x__Bohr
            pcem%xyz(3,i) = dat(j+2) * x__Bohr
        end do
    end if

    if( .not. restart ) then
        set%gfn_method = 2
        call init( env )
        call init( mol, atn, xyz )
        wfn%nel = dint( sum( mol%z ) -  dat(1) )
        wfn%nopen = dint( dat(2) )
        call use_parameterset( "param_gfn2-xtb.txt", globpar, xtbData, okpar )
        call newBasisset( xtbData, mol%n, mol%at, basis, okbas )
        call wfn%allocate( mol%n, basis%nshell, basis%nao )
        mol%chrg = dat(1)
        mol%uhf  = dint( dat(2) )
        !wfn%q = mol%chrg / real( mol%n, kind=8 )

        ! EEQ guess
        allocate( cn(mol%n), source = 0.0d0 )
        call new_charge_model_2019( chrgeq, mol%n, mol%at )
        call ncoord_erf( mol%n, mol%at, mol%xyz, cn )
        call eeq_chrgeq( mol, env, chrgeq, cn, wfn%q )
        deallocate( cn )

        call iniqshell( xtbData, mol%n, mol%at, mol%z, basis%nshell, wfn%q, wfn%qsh, set%gfn_method )
    else
        mol%xyz = xyz
    end if

    grd = 0.0d0
    if( nMM > 0 ) pcem%grd = 0.0d0
    call scf( env, mol, wfn, basis, pcem, xtbData, solvation, &
        gap, et, maxiter, prlevel, restart, lgrad, acc, ene, grd, res )
    call env%check( okrun )

    dat(0) = ene * x__Ener
    grd = grd * x__Ener * x__Bohr
    do i = 1, nQM
        j = 3 + nQM + 3 * ( i - 1 )
        dat(j)   = grd(1,i)
        dat(j+1) = grd(2,i)
        dat(j+2) = grd(3,i)
        dat(3+4*nQM+i-1) = wfn%q(i)
    end do
    if( nMM > 0 ) then
        pcem%grd = pcem%grd * x__Ener * x__Bohr
        do i = 1, nMM
            j = 3 + 5 * nQM + nMM + 3 * ( i - 1 )
            dat(j)   = pcem%grd(1,i)
            dat(j+1) = pcem%grd(2,i)
            dat(j+2) = pcem%grd(3,i)
        end do
    end if
    if( .not. restart ) restart = .true.

end subroutine qm3_xtb_calc

subroutine qm3_xtb_clean
    use qm3
    implicit none
    call mol%deallocate
    call wfn%deallocate
    call basis%deallocate
    call pcem%deallocate
end subroutine qm3_xtb_clean


      SUBROUTINE MUTEEX( BUF, LBUF, IBUF, SCR, LSCR )
C     MUTEEX IS THE EXECUTION PHASE OF THE SEISMIC PROCESS MUTE, WHICH MUTES OR
C  ZEROS A PORTION OF A TRACE.  THE MUTE PARAMETERS MUST BE ON DISC FILE MUNIT
C  AND THE TRACE (WITH HEADER) MUST BE IN MEMORY LOCATION BUF.  THE MUTE TIMES
C  FOR TRACES BETWEEN THOSE SHOTS OR RPS DESCRIBED BY THE USER ARE CALCULATED
C  BY LINEAR INTERPOLATION.  LIKEWISE, TIMES FOR TRACES NOT SPECIFIED BY THE
C  USER OBTAINED THROUGH EXTRAPOLATION OR INTERPOLATION.  DEEP WATER DELAYS ARE
C  HONORED - I.E. MUTE TIMES ARE RELATIVE TO TIME ZERO REGARDLESS OF THE TIME
C  OF THE FIRST DATA SAMPLE.
C     SUBROUTINE MUTEED CONTAINS THE EXPLANATION OF THE USER PARAMETERS AND THE
C  ORDER OF THE USER PARAMETERS ON DISC.
C
C  ARGUMENTS:
C  BUF    - THE TRACE TO BE MUTED, INCLUDING THE TRACE HEADER.  THE FIRST
C           DATA SAMPLE MUST BE AT TIME DELAY.  THIS IS THE FLOATING
C           POINT (REAL) TRACE ARRAY.
C  LBUF   - THE LONG INTEGER TRACE ARRAY.  THIS IS REALLY THE SAME AS BUF, BUT
C           PRIME FORTRAN DOESN'T ALLOW EQUIVALENCING ANYTHING TO AN ARGUMENT.
C  IBUF   - THE SHORT INTEGER TRACE ARRAY.  NEEDED FOR 16 BIT TRACE HEADER
C           ADDRESSES.
C  SCR    - A SCRATCH ARRAY FOR READING THE PARAMETERS.  THEREFORE, SCR MUST
C           BE AT LEAST 56 32BIT WORDS BIG.  SCR MAY BE DESTROYED BY THE CALLING
C           ROUTINE.
C  LSCR   - THE SAME SCRATCH ARRAY BECAUSE OF THE EQUIVALENCING PROBLEM.
C
C  COPYRIGHTED BY:
C  PAUL HENKART, SCRIPPS INSTITUTION OF OCEANOGRAPHY, APRIL 1980
C
C
c  mod 13 Nov 01 - increase MAXTTP from 50 to 500
c  mod 28 Jul 06 - Honor water depth scalar when using wbdvel
c  mod 14 Aug 07 - g95 arg to FLOAT must be int*4, so let it do the float
c  mod 1 Apr 10 - Get rid of arithmetic IF statement in two places
c               - Use NINT to convert time to samples.
c               - Use the first list if before the first list (extrapolate)
c   mod 17 May 10 - Comment out creating real mute times in header words 47 & 48
c  mod 13 Jul 12 - bad mute when the trace/range was < the first given.
c                  (1 Apr 10 change was bad).
c
      PARAMETER (MAXTTP=500)                                            ! /* THE MAXIMUM NUMBER OF ELEMENTS THE USER ARRAY CAN BE
      PARAMETER (NWRDS=MAXTTP+7)                                        ! /* THE LENGTH OF EACH PARAMETER LIST
      DIMENSION BUF(111),LBUF(111),IBUF(111),SCR(111),LSCR(111)
      INTEGER*2 IBUF
      SAVE
      DIMENSION OLDTTP(MAXTTP),CURTTP(MAXTTP)
      COMMON /MUTER/ MUNIT,NLISTS
      COMMON /SIOAP/ IASGND,IRELSE,IN,IOUT,NEXTAD,LAPSIZ,IFREE,IUSEAP
      COMMON /APMEM/ A(32766)
      COMMON /READT/ ILUN,NUMHDR
      INTEGER FNO
      LOGICAL FIRST
      DATA FIRST /.TRUE./, lastno/0/, dlast/0/
C****
C****     FIND THE PARAMETER LIST (ON DISC) FOR THIS SHOT (RP)
C****
      IF(IBUF(15).EQ.2) RETURN                                          ! /* IS IT A DEAD TRACE
      ISIG=0
      IF(.NOT.FIRST) GO TO 50
      FIRST=.FALSE.
   10 CONTINUE                                                          ! /* GET THE FIRST PARAMETER LIST INT0 MEMORY ARRAY SCR
      CALL PODISC(MUNIT,1,0)
      CALL RDDISC(MUNIT,SCR,NWRDS,ISTAT)
      ISIG=1
      FNO=LSCR(1)
      LNO=LSCR(2)
      MLISTS=1
   50 CONTINUE
      LNUM=LBUF(3)                                                      ! /*  IS THE DATA ON TAPE SORTED BY SHOT
      TRNO=LBUF(4)                                                      ! /* THE TRACE NUMBER WITHIN THE SHOT
      IF(LBUF(7).NE.0) TRNO=LBUF(7)                                     ! /* THE TRACE NUMBER WITH AN RP
      IF(LBUF(7).NE.0) LNUM=LBUF(6)                                     ! /*  OR BY RP
   70 IF(LNUM.GE.FNO) GO TO 100                                         ! /* IS THIS SHOT BEFORE THIS PARAMETER LIST
      IF(MLISTS.EQ.1) GO TO 500                                         ! /* IS IT BEFORE THE FIRST LIST
      IF(LNUM.LE.LASTNO) GO TO 10                                       ! /* IS IT IN OR BEFORE THE LAST LIST
      GO TO 500                                                         ! /* IT MUST BE BETWEEN THE 2 LISTS
  100 CONTINUE                                                          ! /*  THE CURRENT SHOT (RP) IS >= LNO
      IF(LNUM.LE.LNO) GO TO 500                                         ! /* USE THE PARAMETERS OF THIS LIST
      IF(MLISTS.GE.NLISTS) GO TO 500                                    ! /* ANY MORE USER PARAM LISTS ON DISC
C****
C****   GET ANOTHER USER PARAMETER LIST FROM DISC
C****
      CALL RDDISC( MUNIT, LSCR, NWRDS, ISTAT )
      LASTNO=LNO
      DO 120 I=1,MAXTTP                                                 ! /* SAVE THE CURRENT PARAMETER SET
  120 OLDTTP(I) = curttp(i)
      MLISTS=MLISTS+1
      ISIG=1
      FNO=LSCR(1)
      LNO=LSCR(2)
      GO TO 70
C****
C****    NOW FIND THE MUTE TIME FOR THE  TRACE NUMBER (OR RANGE)
C****
  500 IF(ISIG.EQ.0) GO TO 506                                           ! /* IS A LIST IN SCR
      IADDWB=LSCR(3)
      NOTTPS=LSCR(4)
      LTYPE=LSCR(5)
      LPRINT=LSCR(6)
      wbdvel = scr(7) / 2.
      DO 505 I=1,MAXTTP
  505 CURTTP(I)=SCR(I+7)
  506 IF( IAND(lprint,2) .NE. 0 ) THEN
          PRINT *,' lnum=',lnum,' isig=',isig
          PRINT *,' fno',fno,' lno',lno,' iaddwb',iaddwb,' ltype',ltype
          PRINT *,' nottps=',nottps,' curttp',(curttp(i),i=1,nottps)
          PRINT *,' oldttp',(oldttp(i),i=1,nottps)
      ENDIF
      IF( ltype .EQ. 1 ) THEN  ! if xtp, get the range
          TEMP=LBUF(10)    ! TRNO=ABS(LBUF(10) DOESN'T WORK!!!
          TRNO=ABS(TEMP)   ! SET THE TRACE NO TO THE RANGE IF XTP WAS GIVEN
      ENDIF
c  510 IF(TRNO-CURTTP(I))530,540,520
c  520 I=I+2
c      IF(I.LE.NOTTPS) GO TO 510
c      TIME=CURTTP(NOTTPS)      ! USE THE LAST TIME IN THE ARRAY
c      GO TO 600
c  530 CONTINUE         !  THE TRACE NUMBER IS LESS THAN TTP(I)
c      IF(I.NE.1) GO TO 550
c  540 TIME=CURTTP(I+1)
c      GO TO 600
c  550 CONTINUE    !  THE TRACE IS BETWEEN TTP(I-2) & TTP(I)
      i = 1
      IF( nottps .EQ. 2 ) THEN
          time = curttp(2)
          GOTO 600
      ENDIF
c****  use the first time if the trace/range is <= first trace/range
      IF( trno .LE. curttp(1) ) THEN
          time = curttp(2)
          GOTO 600
      ENDIF
  510 CONTINUE
      IF( trno .EQ. curttp(i) ) THEN
          time = curttp(i+1)
          GOTO 600
      ENDIF
      IF( trno .GT. curttp(i) ) THEN
          IF( i+2 .GE. nottps ) THEN
              time = curttp(i+1)
              GOTO 600
          ENDIF
          i = i + 2
          GOTO 510
      ENDIF
      T1=CURTTP(I-1)
      T2=CURTTP(I+1)
      TR1=CURTTP(I-2)
      TR2=CURTTP(I)
      TIME=(TRNO-TR2)/(TR1-TR2)*(T1-T2)+T2   ! INTERPOLATE BETWEEN TRACES
C****
C****     SPATIALLY VARY THE TIME IF BETWEEN 2 LISTS
C****
  600 CONTINUE
      IF( lnum .LT. fno .AND. mlists .EQ. 1 ) GOTO 2000   ! if before the first list, use the first list
      IF(LNUM.GE.FNO) GO TO 2000    ! IF IN THIS LIST THEN DO NOT VARY IT
      I=1         !  NOW FIND THE TIME FOR THIS TRACE IN THE PREVIOUS LIST
c  610 IF(TRNO-OLDTTP(I)) 630,640,620
c  620 I=I+2
c      IF(I.LE.NOTTPS) GO TO 610
c      OTIME=OLDTTP(NOTTPS)    ! USE THE LAST TIME IN THE ARRRAY
c      GO TO 700
c  630 CONTINUE    ! THE TRACE NUMBER IS SMALLER
c      IF(I.NE.1) GO TO 650
c  640 OTIME=OLDTTP(I+1)
c      GO TO 700
  610 CONTINUE
      IF( trno .EQ. oldttp(i) ) THEN
          otime = oldttp(i+1)
          GOTO 700
      ENDIF
      IF( trno .LT. oldttp(i) ) THEN
          IF( i .NE. nottps ) GOTO 650
          otime = oldttp(i+1)
          GOTO 700
      ENDIF
      i = i + 2
      IF( i .LE. nottps ) GOTO 610
      otime = oldttp(nottps)
      GOTO 700
  650 CONTINUE    !  TRACE IS BETWEEN OLDTTP(I-2) & OLDTTP(I)
      T1=OLDTTP(I-1)
      T2=OLDTTP(I+1)
      TR1=OLDTTP(I-2)
      TR2=OLDTTP(I)
      OTIME=(TRNO-TR2)/(TR1-TR2)*(T1-T2)+T2
  700 CONTINUE    ! NOW INTERPOLATE SPATIALLY
      T1=FNO      !  FLOAT THE SHOT (RP) NUMBER
      T2=LNUM     !  THE CURRENT SHOT (RP) NUMBER
      T3=LASTNO   ! THE LAST SHOT (RP) NUMBER OF THE PREVIOUS LIST
      X=(T2-T3)/(T1-T3)*(TIME-OTIME)+OTIME
      TIME=X
	print *,' x (time) =',x
C****
C****   NOW APPLY THE MUTE
C****
 2000 CONTINUE
      SI=BUF(49)    ! THE SAMPLE INTERVAL IN SECONDS
      DELAY=BUF(46) ! THE DEEP WATER DELAY IN SECONDS
      IF( IADDWB .EQ. 1 ) THEN    ! ADD IN THE WATER BOTTOM TIME
          IF( wbdvel .NE. 0. ) THEN
c     SIO SeaBeam used to put the depth in 107
c              IF( ibuf(107) .NE. 0 ) THEN
c                  depthl = ibuf(107)
c              ELSE
              depth = lbuf(16)
              IF( ibuf(35) .GT. 0 ) depth = depth * ibuf(35)
              IF( ibuf(35) .LT. 0 ) depth = -depth / ibuf(35)
              IF( depth .EQ. 0 ) depth = dlast
              dlast = depth
              time = time + depth / wbdvel
          ELSE
              time = time + buf(50)
          ENDIF
      ENDIF
      IS=1     !  ASSUME THIS IS A FRONT END MUTE (TTP OR XTP)
      IE=NINT((TIME-DELAY)/SI)+1   ! THE END INDEX OF THE MUTE
      IF(IE.LT.IS) IE=IS
      IF(IS.EQ.IE) RETURN    ! DON'T DO ANY MUTING IF NONE TO DO!
      NSAMPS=IBUF(58)        ! 16 BIT NUMBER OF SAMPLES PER TRACE
      IF(IE.GT.NSAMPS) IE=NSAMPS
      IF(IASGND.NE.0.AND.IUSEAP.NE.0) GO TO 2100    ! DATA IS IN THE AP IF IN<>0
      IF(IN.NE.0.AND.IUSEAP.EQ.0) GO TO 2020
      CALL MUTE(BUF(NUMHDR+1),IS,IE,SI,NSAMPS)      ! THE IN MEMORY MUTE
      GO TO 2200
 2020 CALL MUTE(A(IN),IS,IE,SI,NSAMPS)
      GO TO 2200
 2100 CONTINUE     ! THE TRACE IS IN THE AP
      CALL INAP(BUF(NUMHDR+1),NSAMPS)
      IF(IE.NE.NSAMPS) GO TO 2150    ! ARE WE MUTEING THE WHOLE TRACE
      CALL VCLR(IN,1,NSAMPS)         ! ZERO THE WHOLE TRACE
      IBUF(15)=2                     ! SET THE DEAD TRACE FLAG
      GO TO 2200
 2150 N=5                            !  THE LENGTH OF THE TAPER
      CALL APWR                      ! MAKE SURE WE DON'T CLOBBER ANYTHING IN PROGRESS IN NEXTAD
      TEMP=.2                        ! THE INCREMENT OF THE TAPER BETWEEN POINTS OF THE TAPER
      IF(IE.LE.N) N=0
      IF(IE-IS.LT.N+N) N=0           ! WATCH OUT FOR VERY SHORT MUTES
      CALL APPUT(TEMP,NEXTAD,1,2)    ! PUT THE INCREMENT IN AP LOCATION NEXTAD
      IIS=IS+IN-1                    ! ADD IN THE AP ADDRESS OF THE BEGINNING OF THE TRACE
      IIE=IE+IN-1
      CALL APWD                      ! WAIT FOR THE AP DATA TRANSFER TO COMPLETE
      CALL MUTEAP(IIS,IIE,N,NEXTAD,NSAMPS)
 2200 CONTINUE                       !  NOW PUT THE MUTE TIMES IN THE TRACE HEADER
      IF( IE .GE. NSAMPS ) THEN
         IBUF(15)=2                  ! SET THE DEAD TRACE FLAG
         PRINT *,' ***  WARNING  ***  Mute is killing the trace'
      ENDIF
      NMILS=IBUF(59)/1000.           ! TIMES ARE IN MILS IN THE HEADER
      NDELAY=DELAY*1000.
      IBUF(56)=0                     ! MUTE START TIME IS AT DELAY OR TIME 0
      IBUF(57)=(IE-1)*NMILS+NDELAY   ! MUTE END TIME IN MILS
c      BUF(47)=0.                     ! MUTE START TIME IN SECONDS
c      BUF(48)=(IE-1)*SI+DELAY        !  MUTE END TIME IN SECONDS
      IF(LPRINT.GT.1) PRINT 2210,LNUM,TRNO,ibuf(56),ibuf(57),is,ie
 2210 FORMAT(' SHOT ',I6,' TRACE ',F6.1,' IS MUTED FROM ',I4,' TO ',
     *    I4,' (',2I8,')')
      RETURN
      END


Subroutine crkkpi(i1, i2, xsk1, xsk2, xsk3, xsk4, xsk5, xsk6, xsk7, xsk8, xsk9, xsk10, xsk11, sigk, iblock, lbp1, lbp2, emm1, emm2)
  Parameter (maxstr=150001, maxr=1, amn=0.939457, amp=0.93828, ap1=0.13496, amrho=0.769, amomga=0.782, ameta=0.5473, ap2=0.13957, am0=1.232, pi=3.1415926, cutoff=1.8966, avmass=0.9383)
  Parameter (aka=0.498, ala=1.1157, asa=1.1974)
  Parameter (mx=4, my=4, mz=8, mpx=4, mpy=4, mpz=10, mpzp=10)
  Common /aa/r(3, maxstr)
  Common /bb/p(3, maxstr)
  Common /cc/e(maxstr)
  Common /ee/id(maxstr), lb(maxstr)
  Common /input1/masspr, massta, iseed, iavoid, dt
  Common /rndf77/nseed
  Save
  iblock = 1907
  x1 = ranart(nseed)*sigk
  xsk2 = xsk1 + xsk2
  xsk3 = xsk2 + xsk3
  xsk4 = xsk3 + xsk4
  xsk5 = xsk4 + xsk5
  xsk6 = xsk5 + xsk6
  xsk7 = xsk6 + xsk7
  xsk8 = xsk7 + xsk8
  xsk9 = xsk8 + xsk9
  xsk10 = xsk9 + xsk10
  If (x1<=xsk1) Then
    lb(i1) = 3 + int(3*ranart(nseed))
    lb(i2) = 3 + int(3*ranart(nseed))
    e(i1) = ap2
    e(i2) = ap2
    Goto 100
  Else If (x1<=xsk2) Then
    lb(i1) = 3 + int(3*ranart(nseed))
    lb(i2) = 25 + int(3*ranart(nseed))
    e(i1) = ap2
    e(i2) = amrho
    Goto 100
  Else If (x1<=xsk3) Then
    lb(i1) = 3 + int(3*ranart(nseed))
    lb(i2) = 28
    e(i1) = ap2
    e(i2) = amomga
    Goto 100
  Else If (x1<=xsk4) Then
    lb(i1) = 3 + int(3*ranart(nseed))
    lb(i2) = 0
    e(i1) = ap2
    e(i2) = ameta
    Goto 100
  Else If (x1<=xsk5) Then
    lb(i1) = 25 + int(3*ranart(nseed))
    lb(i2) = 25 + int(3*ranart(nseed))
    e(i1) = amrho
    e(i2) = amrho
    Goto 100
  Else If (x1<=xsk6) Then
    lb(i1) = 25 + int(3*ranart(nseed))
    lb(i2) = 28
    e(i1) = amrho
    e(i2) = amomga
    Goto 100
  Else If (x1<=xsk7) Then
    lb(i1) = 25 + int(3*ranart(nseed))
    lb(i2) = 0
    e(i1) = amrho
    e(i2) = ameta
    Goto 100
  Else If (x1<=xsk8) Then
    lb(i1) = 28
    lb(i2) = 28
    e(i1) = amomga
    e(i2) = amomga
    Goto 100
  Else If (x1<=xsk9) Then
    lb(i1) = 28
    lb(i2) = 0
    e(i1) = amomga
    e(i2) = ameta
    Goto 100
  Else If (x1<=xsk10) Then
    lb(i1) = 0
    lb(i2) = 0
    e(i1) = ameta
    e(i2) = ameta
  Else
    iblock = 222
    Call rhores(i1, i2)
    lb(i1) = 29
    e(i2) = 0.
  End If
  100 Continue
  lbp1 = lb(i1)
  lbp2 = lb(i2)
  emm1 = e(i1)
  emm2 = e(i2)
  Return
End Subroutine crkkpi


module finalist_internal_7
  use finalist_header
contains
  subroutine Formura_internal_192 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_85_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(0), iy+(34), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_85_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Rsc2(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_85_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(258), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_85_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Rsc2(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_85_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(258), iy+(34), iz+(0))=Ridge_0_0_0_Om_85_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Rsc2(ix+(2), iy+(34), iz+(0))=Ridge_0_0_0_Om_85_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Rsc2(ix+(258), iy+(2), iz+(0))=Ridge_0_0_0_Om_85_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_86_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(0), iy+(34), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_86_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Rsc3(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_86_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(258), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_86_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Rsc3(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_86_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(258), iy+(34), iz+(0))=Ridge_0_0_0_Om_86_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Rsc3(ix+(2), iy+(34), iz+(0))=Ridge_0_0_0_Om_86_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Rsc3(ix+(258), iy+(2), iz+(0))=Ridge_0_0_0_Om_86_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 1 ,  30 ,  1

       do  iy = 3 ,  36 ,  1

          do  ix = 3 ,  260 ,  1

             a=Rsc2(ix+(-1), iy+(-1), iz+(1))
             a_0=Rsc3(ix+(-1), iy+(-1), iz+(1))

 Rsc0(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc2(ix+(0), iy+(-1), iz+(1)) - a ) - ( a - &
Rsc2(ix+(-2), iy+(-1), iz+(1)) ) ) + ( ( Rsc2(ix+(-1), iy+(0), iz+(1)) - a ) - ( a - Rsc2(ix+(-1), iy+(-2), iz+(1)) ) ) ) + ( ( Rsc2(ix+(-1), iy+(-1), iz+(2)) - a ) - ( a - Rsc2(ix+(-1), iy+(-1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Facet_0_0_m1_src__0_0_1_dest__0_0_0_Send%Ridge_0_0_m1_Om_87_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc0(ix+(2), iy+(2), iz+(28))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Ridge_0_0_0_Om_87_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc0(ix+(2), iy+(2), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_192

  subroutine Formura_internal_193 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 1 ,  30 ,  1

       do  iy = 3 ,  36 ,  1

          do  ix = 3 ,  260 ,  1

             a=Rsc3(ix+(-1), iy+(-1), iz+(1))

 Rsc1(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc2(ix+(-1), iy+(-1), iz+(1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc3(ix+(0), iy+(-1), iz+(1)) - a ) - ( a - &
Rsc3(ix+(-2), iy+(-1), iz+(1)) ) ) + ( ( Rsc3(ix+(-1), iy+(0), iz+(1)) - a ) - ( a - Rsc3(ix+(-1), iy+(-2), iz+(1)) ) ) ) + ( ( Rsc3(ix+(-1), iy+(-1), iz+(2)) - a ) - ( a - Rsc3(ix+(-1), iy+(-1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Facet_0_0_m1_src__0_0_1_dest__0_0_0_Send%Ridge_0_0_m1_Om_88_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc1(ix+(2), iy+(2), iz+(28))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Ridge_0_0_0_Om_88_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc1(ix+(2), iy+(2), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_193

  subroutine Formura_internal_194 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_87_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(0), iy+(36), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_87_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Rsc0(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_87_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(260), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_87_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Rsc0(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_87_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(260), iy+(36), iz+(0))=Ridge_0_0_0_Om_87_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Rsc0(ix+(2), iy+(36), iz+(0))=Ridge_0_0_0_Om_87_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Rsc0(ix+(260), iy+(2), iz+(0))=Ridge_0_0_0_Om_87_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_88_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(0), iy+(36), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_88_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Rsc1(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_88_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(260), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_88_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Rsc1(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_88_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(260), iy+(36), iz+(0))=Ridge_0_0_0_Om_88_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Rsc1(ix+(2), iy+(36), iz+(0))=Ridge_0_0_0_Om_88_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Rsc1(ix+(260), iy+(2), iz+(0))=Ridge_0_0_0_Om_88_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 1 ,  28 ,  1

       do  iy = 3 ,  38 ,  1

          do  ix = 3 ,  262 ,  1

             a=Rsc0(ix+(-1), iy+(-1), iz+(1))
             a_0=Rsc1(ix+(-1), iy+(-1), iz+(1))

 Rsc3(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc0(ix+(0), iy+(-1), iz+(1)) - a ) - ( a - &
Rsc0(ix+(-2), iy+(-1), iz+(1)) ) ) + ( ( Rsc0(ix+(-1), iy+(0), iz+(1)) - a ) - ( a - Rsc0(ix+(-1), iy+(-2), iz+(1)) ) ) ) + ( ( Rsc0(ix+(-1), iy+(-1), iz+(2)) - a ) - ( a - Rsc0(ix+(-1), iy+(-1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Facet_0_0_m1_src__0_0_1_dest__0_0_0_Send%Ridge_0_0_m1_Om_89_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc3(ix+(2), iy+(2), iz+(26))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Ridge_0_0_0_Om_89_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc3(ix+(2), iy+(2), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_194

  subroutine Formura_internal_195 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 1 ,  28 ,  1

       do  iy = 3 ,  38 ,  1

          do  ix = 3 ,  262 ,  1

             a=Rsc1(ix+(-1), iy+(-1), iz+(1))

 Rsc2(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc0(ix+(-1), iy+(-1), iz+(1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc1(ix+(0), iy+(-1), iz+(1)) - a ) - ( a - &
Rsc1(ix+(-2), iy+(-1), iz+(1)) ) ) + ( ( Rsc1(ix+(-1), iy+(0), iz+(1)) - a ) - ( a - Rsc1(ix+(-1), iy+(-2), iz+(1)) ) ) ) + ( ( Rsc1(ix+(-1), iy+(-1), iz+(2)) - a ) - ( a - Rsc1(ix+(-1), iy+(-1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Facet_0_0_m1_src__0_0_1_dest__0_0_0_Send%Ridge_0_0_m1_Om_90_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc2(ix+(2), iy+(2), iz+(26))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Ridge_0_0_0_Om_90_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc2(ix+(2), iy+(2), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_195

  subroutine Formura_internal_196 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_89_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(0), iy+(38), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_89_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Rsc3(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_89_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(262), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_89_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Rsc3(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_89_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc3(ix+(262), iy+(38), iz+(0))=Ridge_0_0_0_Om_89_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Rsc3(ix+(2), iy+(38), iz+(0))=Ridge_0_0_0_Om_89_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Rsc3(ix+(262), iy+(2), iz+(0))=Ridge_0_0_0_Om_89_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_90_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(0), iy+(38), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_90_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Rsc2(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_90_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(262), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_90_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Rsc2(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_90_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc2(ix+(262), iy+(38), iz+(0))=Ridge_0_0_0_Om_90_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Rsc2(ix+(2), iy+(38), iz+(0))=Ridge_0_0_0_Om_90_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Rsc2(ix+(262), iy+(2), iz+(0))=Ridge_0_0_0_Om_90_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 1 ,  26 ,  1

       do  iy = 3 ,  40 ,  1

          do  ix = 3 ,  264 ,  1

             a=Rsc3(ix+(-1), iy+(-1), iz+(1))
             a_0=Rsc2(ix+(-1), iy+(-1), iz+(1))

 Rsc1(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc3(ix+(0), iy+(-1), iz+(1)) - a ) - ( a - &
Rsc3(ix+(-2), iy+(-1), iz+(1)) ) ) + ( ( Rsc3(ix+(-1), iy+(0), iz+(1)) - a ) - ( a - Rsc3(ix+(-1), iy+(-2), iz+(1)) ) ) ) + ( ( Rsc3(ix+(-1), iy+(-1), iz+(2)) - a ) - ( a - Rsc3(ix+(-1), iy+(-1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Facet_0_0_m1_src__0_0_1_dest__0_0_0_Send%Ridge_0_0_m1_Om_91_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc1(ix+(2), iy+(2), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Ridge_0_0_0_Om_91_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc1(ix+(2), iy+(2), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_196

  subroutine Formura_internal_197 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 1 ,  26 ,  1

       do  iy = 3 ,  40 ,  1

          do  ix = 3 ,  264 ,  1

             a=Rsc2(ix+(-1), iy+(-1), iz+(1))

 Rsc0(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc3(ix+(-1), iy+(-1), iz+(1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc2(ix+(0), iy+(-1), iz+(1)) - a ) - ( a - &
Rsc2(ix+(-2), iy+(-1), iz+(1)) ) ) + ( ( Rsc2(ix+(-1), iy+(0), iz+(1)) - a ) - ( a - Rsc2(ix+(-1), iy+(-2), iz+(1)) ) ) ) + ( ( Rsc2(ix+(-1), iy+(-1), iz+(2)) - a ) - ( a - Rsc2(ix+(-1), iy+(-1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Facet_0_0_m1_src__0_0_1_dest__0_0_0_Send%Ridge_0_0_m1_Om_92_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc0(ix+(2), iy+(2), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Ridge_0_0_0_Om_92_r__0_0_1_r__0_0_0(ix, iy, iz)=Rsc0(ix+(2), iy+(2), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_197

  subroutine Formura_internal_198 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_91_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(0), iy+(40), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_91_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Rsc1(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_91_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(264), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_91_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Rsc1(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_91_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc1(ix+(264), iy+(40), iz+(0))=Ridge_0_0_0_Om_91_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Rsc1(ix+(2), iy+(40), iz+(0))=Ridge_0_0_0_Om_91_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Rsc1(ix+(264), iy+(2), iz+(0))=Ridge_0_0_0_Om_91_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(0), iy+(0), iz+(0))=Facet_m1_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_m1_0_Om_92_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(0), iy+(40), iz+(0))=Facet_m1_0_0_src__1_1_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_92_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Rsc0(ix+(0), iy+(2), iz+(0))=Facet_m1_0_0_src__1_0_1_dest__0_0_1_Recv%Ridge_m1_0_0_Om_92_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(264), iy+(0), iz+(0))=Facet_0_m1_0_src__1_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_92_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Rsc0(ix+(2), iy+(0), iz+(0))=Facet_0_m1_0_src__0_1_1_dest__0_0_1_Recv%Ridge_0_m1_0_Om_92_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Rsc0(ix+(264), iy+(40), iz+(0))=Ridge_0_0_0_Om_92_r__1_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Rsc0(ix+(2), iy+(40), iz+(0))=Ridge_0_0_0_Om_92_r__0_1_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Rsc0(ix+(264), iy+(2), iz+(0))=Ridge_0_0_0_Om_92_r__1_0_1_r__0_0_1(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 35 ,  58 ,  1

       do  iy = -5 ,  34 ,  1

          do  ix = -5 ,  258 ,  1

             a=Rsc1(ix+(7), iy+(7), iz+(-33))
             a_0=Rsc0(ix+(7), iy+(7), iz+(-33))

 U(ix+(8)+(0), iy+(8)+(0), iz+(8)+(0))=( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc1(ix+(8), iy+(7), iz+(-33)) - a ) - ( a - &
Rsc1(ix+(6), iy+(7), iz+(-33)) ) ) + ( ( Rsc1(ix+(7), iy+(8), iz+(-33)) - a ) - ( a - Rsc1(ix+(7), iy+(6), iz+(-33)) ) ) ) + ( ( Rsc1(ix+(7), iy+(7), iz+(-32)) - a ) - ( a - Rsc1(ix+(7), iy+(7), iz+(-34)) ) ) ) ) ) ) )

          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_198

  subroutine Formura_internal_199 ()
    double precision  :: a
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 35 ,  58 ,  1

       do  iy = -5 ,  34 ,  1

          do  ix = -5 ,  258 ,  1

             a=Rsc0(ix+(7), iy+(7), iz+(-33))

 V(ix+(8)+(0), iy+(8)+(0), iz+(8)+(0))=( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc1(ix+(7), iy+(7), iz+(-33)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc0(ix+(8), iy+(7), iz+(-33)) - a ) - ( &
a - Rsc0(ix+(6), iy+(7), iz+(-33)) ) ) + ( ( Rsc0(ix+(7), iy+(8), iz+(-33)) - a ) - ( a - Rsc0(ix+(7), iy+(6), iz+(-33)) ) ) ) + ( ( Rsc0(ix+(7), iy+(7), iz+(-32)) - a ) - ( a - Rsc0(ix+(7), iy+(7), iz+(-34)) ) ) ) ) ) ) )

          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_199

  subroutine Formura_internal_20 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 1 ,  26 ,  1

       do  iy = 1 ,  26 ,  1

          do  ix = 1 ,  250 ,  1

             a=Rsc3(ix+(1), iy+(1), iz+(1))

 Rsc0(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc2(ix+(1), iy+(1), iz+(1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc3(ix+(2), iy+(1), iz+(1)) - a ) - ( a - &
Rsc3(ix+(0), iy+(1), iz+(1)) ) ) + ( ( Rsc3(ix+(1), iy+(2), iz+(1)) - a ) - ( a - Rsc3(ix+(1), iy+(0), iz+(1)) ) ) ) + ( ( Rsc3(ix+(1), iy+(1), iz+(2)) - a ) - ( a - Rsc3(ix+(1), iy+(1), iz+(0)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  26
          do ix = 1 ,  2
             Ridge_0_0_0_Om_92_r__0_0_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(248), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  250
             Ridge_0_0_0_Om_92_r__0_0_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(24), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_92_r__0_0_0_r__1_1_0(ix, iy, iz)=Rsc0(ix+(248), iy+(24), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  26
          do ix = 1 ,  250
             Ridge_0_0_0_Om_92_r__0_0_0_r__0_0_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  26
          do ix = 1 ,  2
             Ridge_0_0_0_Om_92_r__0_0_0_r__1_0_1(ix, iy, iz)=Rsc0(ix+(248), iy+(0), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  250
             Ridge_0_0_0_Om_92_r__0_0_0_r__0_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(24), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(248), iy+(24), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  26
          do ix = 1 ,  250
             Facet_0_0_1_src__0_0_0_dest__0_0_1_Send%Ridge_0_0_1_Om_92_r__0_0_0_r__0_0_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  26
          do ix = 1 ,  2
             Facet_0_0_1_src__0_0_0_dest__1_0_1_Send%Ridge_0_0_1_Om_92_r__0_0_0_r__1_0_1(ix, iy, iz)=Rsc0(ix+(248), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  250
             Facet_0_0_1_src__0_0_0_dest__0_1_1_Send%Ridge_0_0_1_Om_92_r__0_0_0_r__0_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(24), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_0_1_src__0_0_0_dest__1_1_1_Send%Ridge_0_0_1_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(248), iy+(24), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  250
             Facet_0_1_0_src__0_0_0_dest__0_1_0_Send%Ridge_0_1_0_Om_92_r__0_0_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_1_0_src__0_0_0_dest__1_1_0_Send%Ridge_0_1_0_Om_92_r__0_0_0_r__1_1_0(ix, iy, iz)=Rsc0(ix+(248), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  250
             Facet_0_1_0_src__0_0_0_dest__0_1_1_Send%Ridge_0_1_0_Om_92_r__0_0_0_r__0_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_1_0_src__0_0_0_dest__1_1_1_Send%Ridge_0_1_0_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(248), iy+(0), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  250
             Facet_0_1_1_src__0_0_0_dest__0_1_1_Send%Ridge_0_1_1_Om_92_r__0_0_0_r__0_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_1_1_src__0_0_0_dest__1_1_1_Send%Ridge_0_1_1_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(248), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  26
          do ix = 1 ,  2
             Facet_1_0_0_src__0_0_0_dest__1_0_0_Send%Ridge_1_0_0_Om_92_r__0_0_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_1_0_0_src__0_0_0_dest__1_1_0_Send%Ridge_1_0_0_Om_92_r__0_0_0_r__1_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(24), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  26
          do ix = 1 ,  2
             Facet_1_0_0_src__0_0_0_dest__1_0_1_Send%Ridge_1_0_0_Om_92_r__0_0_0_r__1_0_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_1_0_0_src__0_0_0_dest__1_1_1_Send%Ridge_1_0_0_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(24), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  26
          do ix = 1 ,  2
             Facet_1_0_1_src__0_0_0_dest__1_0_1_Send%Ridge_1_0_1_Om_92_r__0_0_0_r__1_0_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_1_0_1_src__0_0_0_dest__1_1_1_Send%Ridge_1_0_1_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(24), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_1_1_0_src__0_0_0_dest__1_1_0_Send%Ridge_1_1_0_Om_92_r__0_0_0_r__1_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_1_1_0_src__0_0_0_dest__1_1_1_Send%Ridge_1_1_0_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(24))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_1_1_1_src__0_0_0_dest__1_1_1_Send%Ridge_1_1_1_Om_92_r__0_0_0_r__1_1_1(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(0))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_20

  subroutine Formura_internal_200 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  64
          do ix = 1 ,  512
             U(ix+(2), iy+(2), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_St_U(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  64
          do ix = 1 ,  512
             V(ix+(2), iy+(2), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_St_V(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 3 ,  28 ,  1

       do  iy = 1 ,  38 ,  1

          do  ix = 1 ,  262 ,  1

             a=U(ix+(251), iy+(27), iz+(-1))
             a_0=V(ix+(251), iy+(27), iz+(-1))

 Rsc0(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( U(ix+(252), iy+(27), iz+(-1)) - a ) - ( a - &
U(ix+(250), iy+(27), iz+(-1)) ) ) + ( ( U(ix+(251), iy+(28), iz+(-1)) - a ) - ( a - U(ix+(251), iy+(26), iz+(-1)) ) ) ) + ( ( U(ix+(251), iy+(27), iz+(0)) - a ) - ( a - U(ix+(251), iy+(27), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_79_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(260), iy+(36), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_79_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(260), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_79_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(260), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_79_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(36), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_79_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(36), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_79_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Ridge_0_0_0_Om_79_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Ridge_0_0_0_Om_79_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_200

  subroutine Formura_internal_201 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 3 ,  28 ,  1

       do  iy = 1 ,  38 ,  1

          do  ix = 1 ,  262 ,  1

             a=V(ix+(251), iy+(27), iz+(-1))

 Rsc1(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * U(ix+(251), iy+(27), iz+(-1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( V(ix+(252), iy+(27), iz+(-1)) - a ) - ( a - &
V(ix+(250), iy+(27), iz+(-1)) ) ) + ( ( V(ix+(251), iy+(28), iz+(-1)) - a ) - ( a - V(ix+(251), iy+(26), iz+(-1)) ) ) ) + ( ( V(ix+(251), iy+(27), iz+(0)) - a ) - ( a - V(ix+(251), iy+(27), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_80_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(260), iy+(36), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_80_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(260), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_80_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc1(ix+(260), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_80_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(36), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_80_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(36), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_80_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  2
          do ix = 1 ,  262
             Ridge_0_0_0_Om_80_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  26
       do iy = 1 ,  38
          do ix = 1 ,  2
             Ridge_0_0_0_Om_80_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_201

  subroutine Formura_internal_202 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Rsc0(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_79_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Rsc0(ix+(0), iy+(0), iz+(28))=Ridge_0_0_0_Om_79_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Rsc1(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_80_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  38
          do ix = 1 ,  262
             Rsc1(ix+(0), iy+(0), iz+(28))=Ridge_0_0_0_Om_80_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 3 ,  30 ,  1

       do  iy = 1 ,  36 ,  1

          do  ix = 1 ,  260 ,  1

             a=Rsc0(ix+(1), iy+(1), iz+(-1))
             a_0=Rsc1(ix+(1), iy+(1), iz+(-1))

 Rsc2(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc0(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc0(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc0(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc0(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc0(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc0(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_81_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(258), iy+(34), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_81_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(258), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_81_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc2(ix+(258), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_81_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(34), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_81_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(34), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_81_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Ridge_0_0_0_Om_81_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Ridge_0_0_0_Om_81_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc2(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_202

  subroutine Formura_internal_203 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 3 ,  30 ,  1

       do  iy = 1 ,  36 ,  1

          do  ix = 1 ,  260 ,  1

             a=Rsc1(ix+(1), iy+(1), iz+(-1))

 Rsc3(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc0(ix+(1), iy+(1), iz+(-1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc1(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc1(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc1(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc1(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc1(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc1(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_82_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(258), iy+(34), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_82_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(258), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_82_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc3(ix+(258), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_82_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(34), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_82_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(34), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_82_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  2
          do ix = 1 ,  260
             Ridge_0_0_0_Om_82_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  28
       do iy = 1 ,  36
          do ix = 1 ,  2
             Ridge_0_0_0_Om_82_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc3(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_203

  subroutine Formura_internal_204 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Rsc2(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_81_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Rsc2(ix+(0), iy+(0), iz+(30))=Ridge_0_0_0_Om_81_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Rsc3(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_82_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  36
          do ix = 1 ,  260
             Rsc3(ix+(0), iy+(0), iz+(30))=Ridge_0_0_0_Om_82_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 3 ,  32 ,  1

       do  iy = 1 ,  34 ,  1

          do  ix = 1 ,  258 ,  1

             a=Rsc2(ix+(1), iy+(1), iz+(-1))
             a_0=Rsc3(ix+(1), iy+(1), iz+(-1))

 Rsc1(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc2(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc2(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc2(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc2(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc2(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc2(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_83_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(256), iy+(32), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_83_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(256), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_83_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc1(ix+(256), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_83_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(32), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_83_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(32), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_83_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Ridge_0_0_0_Om_83_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Ridge_0_0_0_Om_83_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_204

  subroutine Formura_internal_205 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 3 ,  32 ,  1

       do  iy = 1 ,  34 ,  1

          do  ix = 1 ,  258 ,  1

             a=Rsc3(ix+(1), iy+(1), iz+(-1))

 Rsc0(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc2(ix+(1), iy+(1), iz+(-1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc3(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc3(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc3(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc3(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc3(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc3(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_84_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(256), iy+(32), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_84_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(256), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_84_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(256), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_84_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(32), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_84_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(32), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_84_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  2
          do ix = 1 ,  258
             Ridge_0_0_0_Om_84_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  30
       do iy = 1 ,  34
          do ix = 1 ,  2
             Ridge_0_0_0_Om_84_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_205

  subroutine Formura_internal_206 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Rsc1(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_83_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Rsc1(ix+(0), iy+(0), iz+(32))=Ridge_0_0_0_Om_83_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Rsc0(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_84_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  34
          do ix = 1 ,  258
             Rsc0(ix+(0), iy+(0), iz+(32))=Ridge_0_0_0_Om_84_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 3 ,  34 ,  1

       do  iy = 1 ,  32 ,  1

          do  ix = 1 ,  256 ,  1

             a=Rsc1(ix+(1), iy+(1), iz+(-1))
             a_0=Rsc0(ix+(1), iy+(1), iz+(-1))

 Rsc3(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc1(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc1(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc1(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc1(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc1(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc1(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_85_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(254), iy+(30), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_85_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(254), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_85_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc3(ix+(254), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_85_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(30), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_85_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(30), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_85_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Ridge_0_0_0_Om_85_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc3(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Ridge_0_0_0_Om_85_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc3(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_206

  subroutine Formura_internal_207 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 3 ,  34 ,  1

       do  iy = 1 ,  32 ,  1

          do  ix = 1 ,  256 ,  1

             a=Rsc0(ix+(1), iy+(1), iz+(-1))

 Rsc2(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc1(ix+(1), iy+(1), iz+(-1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc0(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc0(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc0(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc0(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc0(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc0(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_86_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(254), iy+(30), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_86_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(254), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_86_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc2(ix+(254), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_86_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(30), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_86_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(30), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_86_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  2
          do ix = 1 ,  256
             Ridge_0_0_0_Om_86_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc2(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  32
       do iy = 1 ,  32
          do ix = 1 ,  2
             Ridge_0_0_0_Om_86_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc2(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_207

  subroutine Formura_internal_208 ()
    double precision  :: a
    double precision  :: a_0
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  32
          do ix = 1 ,  256
             Rsc3(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_85_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  32
          do ix = 1 ,  256
             Rsc3(ix+(0), iy+(0), iz+(34))=Ridge_0_0_0_Om_85_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  32
          do ix = 1 ,  256
             Rsc2(ix+(0), iy+(0), iz+(0))=Facet_0_0_m1_src__1_1_1_dest__1_1_0_Recv%Ridge_0_0_m1_Om_86_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  2
       do iy = 1 ,  32
          do ix = 1 ,  256
             Rsc2(ix+(0), iy+(0), iz+(34))=Ridge_0_0_0_Om_86_r__1_1_1_r__1_1_0(ix, iy, iz)
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 3 ,  36 ,  1

       do  iy = 1 ,  30 ,  1

          do  ix = 1 ,  254 ,  1

             a=Rsc3(ix+(1), iy+(1), iz+(-1))
             a_0=Rsc2(ix+(1), iy+(1), iz+(-1))

 Rsc0(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc3(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc3(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc3(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc3(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc3(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc3(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_87_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(252), iy+(28), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_87_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(252), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  30
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_87_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(252), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_87_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(28), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  254
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_87_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(28), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_87_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  254
             Ridge_0_0_0_Om_87_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  30
          do ix = 1 ,  2
             Ridge_0_0_0_Om_87_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc0(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_208

  subroutine Formura_internal_209 ()
    double precision  :: a
    integer :: ix
    integer :: iy
    integer :: iz
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a)
    do  iz = 3 ,  36 ,  1

       do  iy = 1 ,  30 ,  1

          do  ix = 1 ,  254 ,  1

             a=Rsc2(ix+(1), iy+(1), iz+(-1))

 Rsc1(ix+(0), iy+(0), iz+(0))=(+( a + ( 200.0 * ( ( ( ( ( ( 1.0 / 900.0 ) * Rsc3(ix+(1), iy+(1), iz+(-1)) ) * a ) * a ) - ( ( 6.0 / 86400.0 ) * a ) ) + ( ( 6.1e-11 * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc2(ix+(2), iy+(1), iz+(-1)) - a ) - ( a - &
Rsc2(ix+(0), iy+(1), iz+(-1)) ) ) + ( ( Rsc2(ix+(1), iy+(2), iz+(-1)) - a ) - ( a - Rsc2(ix+(1), iy+(0), iz+(-1)) ) ) ) + ( ( Rsc2(ix+(1), iy+(1), iz+(0)) - a ) - ( a - Rsc2(ix+(1), iy+(1), iz+(-2)) ) ) ) ) ) ) ))

          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_m1_0_Om_88_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(252), iy+(28), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_0_0_Send%Ridge_m1_0_0_Om_88_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(252), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  30
          do ix = 1 ,  2
             Facet_m1_0_0_src__1_1_0_dest__0_1_0_Send%Ridge_m1_0_0_Om_88_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc1(ix+(252), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Facet_0_m1_0_src__1_1_0_dest__0_0_0_Send%Ridge_0_m1_0_Om_88_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(28), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  254
             Facet_0_m1_0_src__1_1_0_dest__1_0_0_Send%Ridge_0_m1_0_Om_88_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(28), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  2
             Ridge_0_0_0_Om_88_r__1_1_0_r__0_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  2
          do ix = 1 ,  254
             Ridge_0_0_0_Om_88_r__1_1_0_r__1_0_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp do collapse(2) private(ix, iy, iz)
    do iz = 1 ,  34
       do iy = 1 ,  30
          do ix = 1 ,  2
             Ridge_0_0_0_Om_88_r__1_1_0_r__0_1_0(ix, iy, iz)=Rsc1(ix+(0), iy+(0), iz+(2))
          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_209

  subroutine Formura_internal_21 ()
    double precision  :: a
    double precision  :: a_0
    !$omp parallel

    !$omp do collapse(2) private(ix, iy, iz, a, a_0)
    do  iz = 11 ,  34 ,  1

       do  iy = 11 ,  34 ,  1

          do  ix = 11 ,  258 ,  1

             a=Rsc1(ix+(-9), iy+(-9), iz+(-9))
             a_0=Rsc0(ix+(-9), iy+(-9), iz+(-9))

 U(ix+(-8)+(0), iy+(-8)+(0), iz+(-8)+(0))=( a + ( 200.0 * ( ( (-( ( ( ( 1.0 / 900.0 ) * a ) * a_0 ) * a_0 )) + ( ( 1.0 / 86400.0 ) * ( 1.0 - a ) ) ) + ( ( ( 0.1 * 2.3e-9 ) * ( 1000.0 * 1000.0 ) ) * ( ( ( ( Rsc1(ix+(-8), iy+(-9), iz+(-9)) - a ) - ( &
a - Rsc1(ix+(-10), iy+(-9), iz+(-9)) ) ) + ( ( Rsc1(ix+(-9), iy+(-8), iz+(-9)) - a ) - ( a - Rsc1(ix+(-9), iy+(-10), iz+(-9)) ) ) ) + ( ( Rsc1(ix+(-9), iy+(-9), iz+(-8)) - a ) - ( a - Rsc1(ix+(-9), iy+(-9), iz+(-10)) ) ) ) ) ) ) )

          end do
       end do
    end do

    !$omp end parallel

  end subroutine Formura_internal_21

end module finalist_internal_7