geopack08dp.pyf 24.4 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711
!    -*- f90 -*-
! Note: the context of this file is case sensitive.

python module tsyg ! in 
    interface  ! in :tsyg
        subroutine igrf_gsw_08(xgsw,ygsw,zgsw,hxgsw,hygsw,hzgsw) ! in :tsyg:geopack08dp.f
            real*8 intent(in):: xgsw
            real*8 intent(in):: ygsw
            real*8 intent(in):: zgsw
            real*8 intent(in,out):: hxgsw
            real*8 intent(in,out):: hygsw
            real*8 intent(in,out):: hzgsw
            real*8 dimension(105) :: g
            real*8 dimension(105) :: h
            real*8 dimension(105) :: rec
            common /geopack2/ g,h,rec
        end subroutine igrf_gsw_08
        subroutine igrf_geo_08(r,theta,phi,br,btheta,bphi) ! in :tsyg:geopack08dp.f
            real*8 :: r
            real*8 :: theta
            real*8 :: phi
            real*8 :: br
            real*8 :: btheta
            real*8 :: bphi
            real*8 dimension(105) :: g
            real*8 dimension(105) :: h
            real*8 dimension(105) :: rec
            common /geopack2/ g,h,rec
        end subroutine igrf_geo_08
        subroutine dip_08(xgsw,ygsw,zgsw,bxgsw,bygsw,bzgsw) ! in :tsyg:geopack08dp.f
            real*8 :: xgsw
            real*8 :: ygsw
            real*8 :: zgsw
            real*8 :: bxgsw
            real*8 :: bygsw
            real*8 :: bzgsw
            real*8 dimension(10) :: aa
            real*8 :: sps
            real*8 :: cps
            real*8 dimension(22) :: bb
            real*8 dimension(105) :: g
            real*8 dimension(105) :: h
            real*8 dimension(105) :: rec
            common /geopack1/ aa,sps,cps,bb
            common /geopack2/ g,h,rec
        end subroutine dip_08
        subroutine sun_08(iyear,iday,ihour,min_bn,isec,gst,slong,srasn,sdec) ! in :tsyg:geopack08dp.f
            integer :: iyear
            integer :: iday
            integer :: ihour
            integer :: min_bn
            integer :: isec
            real*8 :: gst
            real*8 :: slong
            real*8 :: srasn
            real*8 :: sdec
        end subroutine sun_08
        subroutine sphcar_08(r,theta,phi,x,y,z,j) ! in :tsyg:geopack08dp.f
            real*8 intent(in,out) :: r
            real*8 intent(in,out) :: theta
            real*8 intent(in,out) :: phi
            real*8 intent(in,out) :: x
            real*8 intent(in,out) :: y
            real*8 intent(in,out) :: z
            integer intent(in) :: j
        end subroutine sphcar_08
        subroutine bspcar_08(theta,phi,br,btheta,bphi,bx,by,bz) ! in :tsyg:geopack08dp.f
            real*8 :: theta
            real*8 :: phi
            real*8 :: br
            real*8 :: btheta
            real*8 :: bphi
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine bspcar_08
        subroutine bcarsp_08(x,y,z,bx,by,bz,br,btheta,bphi) ! in :tsyg:geopack08dp.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            real*8 :: br
            real*8 :: btheta
            real*8 :: bphi
        end subroutine bcarsp_08
        subroutine recalc_08(iyear,iday,ihour,min_bn,isec,vgsex,vgsey,vgsez) ! in :tsyg:geopack08dp.f
            integer :: iyear
            integer :: iday
            integer :: ihour
            integer :: min_bn
            integer :: isec
            real*8 :: vgsex
            real*8 :: vgsey
            real*8 :: vgsez
            real*8 :: st0
            real*8 :: ct0
            real*8 :: sl0
            real*8 :: cl0
            real*8 :: ctcl
            real*8 :: stcl
            real*8 :: ctsl
            real*8 :: stsl
            real*8 :: sfi
            real*8 :: cfi
            real*8 :: sps
            real*8 :: cps
            real*8 :: ds3
            real*8 :: cgst
            real*8 :: sgst
            real*8 :: psi
            real*8 :: a11
            real*8 :: a21
            real*8 :: a31
            real*8 :: a12
            real*8 :: a22
            real*8 :: a32
            real*8 :: a13
            real*8 :: a23
            real*8 :: a33
            real*8 :: e11
            real*8 :: e21
            real*8 :: e31
            real*8 :: e12
            real*8 :: e22
            real*8 :: e32
            real*8 :: e13
            real*8 :: e23
            real*8 :: e33
            real*8 dimension(105) :: g
            real*8 dimension(105) :: h
            real*8 dimension(105) :: rec
            common /geopack1/ st0,ct0,sl0,cl0,ctcl,stcl,ctsl,stsl,sfi,cfi,sps,cps,ds3,cgst,sgst,psi,a11,a21,a31,a12,a22,a32,a13,a23,a33,e11,e21,e31,e12,e22,e32,e13,e23,e33
            common /geopack2/ g,h,rec
        end subroutine recalc_08
        subroutine gswgse_08(xgsw,ygsw,zgsw,xgse,ygse,zgse,j) ! in :tsyg:geopack08dp.f
            real*8 :: xgsw
            real*8 :: ygsw
            real*8 :: zgsw
            real*8 :: xgse
            real*8 :: ygse
            real*8 :: zgse
            integer :: j
            real*8 dimension(25) :: aaa
            real*8 :: e11
            real*8 :: e21
            real*8 :: e31
            real*8 :: e12
            real*8 :: e22
            real*8 :: e32
            real*8 :: e13
            real*8 :: e23
            real*8 :: e33
            common /geopack1/ aaa,e11,e21,e31,e12,e22,e32,e13,e23,e33
        end subroutine gswgse_08
        subroutine geomag_08(xgeo,ygeo,zgeo,xmag,ymag,zmag,j) ! in :tsyg:geopack08dp.f
            real*8 :: xgeo
            real*8 :: ygeo
            real*8 :: zgeo
            real*8 :: xmag
            real*8 :: ymag
            real*8 :: zmag
            integer :: j
            real*8 :: st0
            real*8 :: ct0
            real*8 :: sl0
            real*8 :: cl0
            real*8 :: ctcl
            real*8 :: stcl
            real*8 :: ctsl
            real*8 :: stsl
            real*8 dimension(26) :: ab
            common /geopack1/ st0,ct0,sl0,cl0,ctcl,stcl,ctsl,stsl,ab
        end subroutine geomag_08
        subroutine geigeo_08(xgei,ygei,zgei,xgeo,ygeo,zgeo,j) ! in :tsyg:geopack08dp.f
            real*8 :: xgei
            real*8 :: ygei
            real*8 :: zgei
            real*8 :: xgeo
            real*8 :: ygeo
            real*8 :: zgeo
            integer :: j
            real*8 dimension(13) :: a
            real*8 :: cgst
            real*8 :: sgst
            real*8 dimension(19) :: b
            common /geopack1/ a,cgst,sgst,b
        end subroutine geigeo_08
        subroutine magsm_08(xmag,ymag,zmag,xsm,ysm,zsm,j) ! in :tsyg:geopack08dp.f
            real*8 :: xmag
            real*8 :: ymag
            real*8 :: zmag
            real*8 :: xsm
            real*8 :: ysm
            real*8 :: zsm
            integer :: j
            real*8 dimension(8) :: a
            real*8 :: sfi
            real*8 :: cfi
            real*8 dimension(24) :: b
            common /geopack1/ a,sfi,cfi,b
        end subroutine magsm_08
        subroutine smgsw_08(xsm,ysm,zsm,xgsw,ygsw,zgsw,j) ! in :tsyg:geopack08dp.f
            real*8 :: xsm
            real*8 :: ysm
            real*8 :: zsm
            real*8 :: xgsw
            real*8 :: ygsw
            real*8 :: zgsw
            integer :: j
            real*8 dimension(10) :: a
            real*8 :: sps
            real*8 :: cps
            real*8 dimension(22) :: b
            common /geopack1/ a,sps,cps,b
        end subroutine smgsw_08
        subroutine geogsw_08(xgeo,ygeo,zgeo,xgsw,ygsw,zgsw,j) ! in :tsyg:geopack08dp.f
            real*8 intent(in,out) :: xgeo
            real*8 intent(in,out) :: ygeo
            real*8 intent(in,out) :: zgeo
            real*8 intent(in,out) :: xgsw
            real*8 intent(in,out) :: ygsw
            real*8 intent(in,out) :: zgsw
            integer intent(in) :: j
            real*8 dimension(16) :: aa
            real*8 :: a11
            real*8 :: a21
            real*8 :: a31
            real*8 :: a12
            real*8 :: a22
            real*8 :: a32
            real*8 :: a13
            real*8 :: a23
            real*8 :: a33
            real*8 dimension(9) :: b
            common /geopack1/ aa,a11,a21,a31,a12,a22,a32,a13,a23,a33,b
        end subroutine geogsw_08
        subroutine geodgeo_08(h,xmu,r,theta,j) ! in :tsyg:geopack08dp.f
            real*8 intent(in,out) :: h
            real*8 intent(in,out) :: xmu
            real*8 intent(in,out) :: r
            real*8 intent(in,out) :: theta
            integer intent(in) :: j
        end subroutine geodgeo_08
        subroutine rhand_08(x,y,z,r1,r2,r3,iopt,parmod,exname,inname) ! in :tsyg:geopack08dp.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: r1
            real*8 :: r2
            real*8 :: r3
            integer :: iopt
            real*8 dimension(10) :: parmod
            character*(*) :: exname
            character*(*) :: inname
            real*8 dimension(12) :: a
            real*8 :: ds3
            real*8 dimension(2) :: bb
            real*8 :: psi
            real*8 dimension(18) :: cc
            common /geopack1/ a,ds3,bb,psi,cc
        end subroutine rhand_08
        subroutine step_08(x,y,z,ds,dsmax,errin,iopt,parmod,exname,inname) ! in :tsyg:geopack08dp.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: ds
            real*8 :: dsmax
            real*8 :: errin
            integer :: iopt
            real*8 dimension(10) :: parmod
            character*(*) :: exname
            character*(*) :: inname
            real*8 dimension(12) :: a
            real*8 :: ds3
            real*8 dimension(21) :: b
            common /geopack1/ a,ds3,b
        end subroutine step_08
        subroutine trace_08(xi,yi,zi,dir,dsmax,err,rlim,r0,iopt,parmod,exname,inname,xf,yf,zf,xx,yy,zz,l,lmax) ! in :tsyg:geopack08dp.f
            real*8 intent(in) :: xi
            real*8 intent(in) :: yi
            real*8 intent(in) :: zi
            real*8 intent(in) :: dir
            real*8 intent(in) :: dsmax
            real*8 intent(in) :: err
            real*8 intent(in) :: rlim
            real*8 intent(in) :: r0
            integer intent(in) :: iopt
            real*8 dimension(10),intent(in) :: parmod
            character*(*) intent(in) :: exname
            character*(*) intent(in) :: inname
            real*8 intent(out) :: xf
            real*8 intent(out) :: yf
            real*8 intent(out) :: zf
            real*8 dimension(lmax),intent(out),depend(lmax) :: xx
            real*8 dimension(lmax),intent(out),depend(lmax) :: yy
            real*8 dimension(lmax),intent(out),depend(lmax) :: zz
            integer intent(out) :: l
            integer intent(in) :: lmax
            real*8 dimension(12) :: aa
            real*8 :: dd
            real*8 dimension(21) :: bb
            common /geopack1/ aa,dd,bb
        end subroutine trace_08
        subroutine shuetal_mgnp_08(xn_pd,vel,bzimf,xgsw,ygsw,zgsw,xmgnp,ymgnp,zmgnp,dist,id) ! in :tsyg:geopack08dp.f
            real*8 :: xn_pd
            real*8 :: vel
            real*8 :: bzimf
            real*8 :: xgsw
            real*8 :: ygsw
            real*8 :: zgsw
            real*8 :: xmgnp
            real*8 :: ymgnp
            real*8 :: zmgnp
            real*8 :: dist
            integer :: id
        end subroutine shuetal_mgnp_08
        subroutine t96_mgnp_08(xn_pd,vel,xgsw,ygsw,zgsw,xmgnp,ymgnp,zmgnp,dist,id) ! in :tsyg:geopack08dp.f
            real*8 intent(in) :: xn_pd
            real*8 intent(in) :: vel
            real*8 intent(in) :: xgsw
            real*8 intent(in) :: ygsw
            real*8 intent(in) :: zgsw
            real*8 intent(out) :: xmgnp
            real*8 intent(out) :: ymgnp
            real*8 intent(out) :: zmgnp
            real*8 intent(out) :: dist
            integer intent(out):: id
        end subroutine t96_mgnp_08
        subroutine t96_01(iopt,parmod,ps,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            integer intent(in) :: iopt
            real*8 dimension(10),intent(in) :: parmod
            real*8 intent(in) :: ps
            real*8 intent(in) :: x
            real*8 intent(in) :: y
            real*8 intent(in) :: z
            real*8 intent(in,out):: bx
            real*8 intent(in,out):: by
            real*8 intent(in,out):: bz
        end subroutine t96_01
        subroutine dipshld(ps,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: ps
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine dipshld
        subroutine cylharm(a,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real dimension(12) :: a
            real :: x
            real :: y
            real :: z
            real :: bx
            real :: by
            real :: bz
        end subroutine cylharm
        subroutine cylhar1(a,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real dimension(12) :: a
            real :: x
            real :: y
            real :: z
            real :: bx
            real :: by
            real :: bz
        end subroutine cylhar1
        function bes(x,k) ! in :tsyg:T96.f
            real*8 :: x
            integer :: k
            double precision :: bes
        end function bes
        function bes0(x) ! in :tsyg:T96.f
            real*8 :: x
            double precision :: bes0
        end function bes0
        function bes1(x) ! in :tsyg:T96.f
            real*8 :: x
            double precision :: bes1
        end function bes1
        subroutine intercon(x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real :: x
            real :: y
            real :: z
            real :: bx
            real :: by
            real :: bz
        end subroutine intercon
        subroutine tailrc96(sps,x,y,z,bxrc,byrc,bzrc,bxt2,byt2,bzt2,bxt3,byt3,bzt3) ! in :tsyg:T96.f
            real*8 :: sps
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bxrc
            real*8 :: byrc
            real*8 :: bzrc
            real*8 :: bxt2
            real*8 :: byt2
            real*8 :: bzt2
            real*8 :: bxt3
            real*8 :: byt3
            real*8 :: bzt3
            real*8 :: cpss
            real*8 :: spss
            real*8 :: dpsrr
            real*8 :: rps
            real*8 :: warp
            real*8 :: d
            real*8 :: xs
            real*8 :: zs
            real*8 :: dxsx
            real*8 :: dxsy
            real*8 :: dxsz
            real*8 :: dzsx
            real*8 :: dzsy
            real*8 :: dzsz
            real*8 :: dzetas
            real*8 :: ddzetadx
            real*8 :: ddzetady
            real*8 :: ddzetadz
            real*8 :: zsww
            common /warp/ cpss,spss,dpsrr,rps,warp,d,xs,zs,dxsx,dxsy,dxsz,dzsx,dzsy,dzsz,dzetas,ddzetadx,ddzetady,ddzetadz,zsww
        end subroutine tailrc96
        subroutine ringcurr96(x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            real*8 :: cpss
            real*8 :: spss
            real*8 :: dpsrr
            real*8 dimension(3) :: xnext
            real*8 :: xs
            real*8 :: zswarped
            real*8 :: dxsx
            real*8 :: dxsy
            real*8 :: dxsz
            real*8 :: dzsx
            real*8 :: dzsywarped
            real*8 :: dzsz
            real*8 dimension(4) :: other
            common /warp/ cpss,spss,dpsrr,xnext,xs,zswarped,dxsx,dxsy,dxsz,dzsx,dzsywarped,dzsz,other,zs  !  zs here is without y-
        end subroutine ringcurr96
        subroutine taildisk(x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            real*8 :: cpss
            real*8 :: spss
            real*8 :: dpsrr
            real*8 dimension(3) :: xnext
            real*8 :: xs
            real*8 :: zs
            real*8 :: dxsx
            real*8 :: dxsy
            real*8 :: dxsz
            real*8 dimension(3) :: other
            real*8 :: dzetas
            real*8 :: ddzetadx
            real*8 :: ddzetady
            real*8 :: ddzetadz
            real*8 :: zsww
            common /warp/ cpss,spss,dpsrr,xnext,xs,zs,dxsx,dxsy,dxsz,other,dzetas,ddzetadx,ddzetady,ddzetadz,zsww
        end subroutine taildisk
        subroutine tail87(x,z,bx,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: z
            real*8 :: bx
            real*8 :: bz
            real*8 dimension(3) :: first
            real*8 :: rps
            real*8 :: warp
            real*8 :: d
            real*8 dimension(13) :: other
            common /warp/ first,rps,warp,d,other
        end subroutine tail87
        subroutine shlcar3x3(a,x,y,z,sps,hx,hy,hz) ! in :tsyg:T96.f
            real dimension(48) :: a
            real :: x
            real :: y
            real :: z
            real :: sps
            real :: hx
            real :: hy
            real :: hz
        end subroutine shlcar3x3
        subroutine birk1tot_02(ps,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: ps
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            real*8, optional,dimension(12) :: xx1=-11.d0
            real*8, optional,dimension(12) :: yy1=2.d0
            real*8, optional :: rh=9.d0
            real*8, optional :: dr=4.d0
            real*8, optional :: tilt=1.00891
            real*8, optional,dimension(2) :: xcentre=2.28397
            real*8, optional,dimension(2) :: radius=-5.60831
            real*8, optional :: dipx=1.86106
            real*8, optional :: dipy=7.83281
            real*8, optional,dimension(14) :: xx2=-10.d0
            real*8, optional,dimension(14) :: yy2=3.d0
            real*8, optional,dimension(14) :: zz2=2*20.d0
            real*8, optional :: dx=-0.16d0
            real*8, optional :: scalein=0.08d0
            real*8, optional :: scaleout=0.4d0
            common /coord11/ xx1,yy1
            common /rhdr/ rh,dr
            common /loopdip1/ tilt,xcentre,radius,dipx,dipy
            common /coord21/ xx2,yy2,zz2
            common /dx1/ dx,scalein,scaleout
        end subroutine birk1tot_02
        subroutine diploop1(xi,d) ! in :tsyg:T96.f
            real dimension(4) :: xi
            real dimension(3,26) :: d
            real dimension(12) :: xx
            real dimension(12) :: yy
            real :: tilt
            real dimension(2) :: xcentre
            real dimension(2) :: radius
            real :: dipx
            real :: dipy
            real :: rh
            real :: dr
            common /coord11/ xx,yy
            common /loopdip1/ tilt,xcentre,radius,dipx,dipy
            common /rhdr/ rh,dr
        end subroutine diploop1
        subroutine circle(x,y,z,rl,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: rl
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine circle
        subroutine crosslp(x,y,z,bx,by,bz,xc,rl,al) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            real*8 :: xc
            real*8 :: rl
            real*8 :: al
        end subroutine crosslp
        subroutine dipxyz(x,y,z,bxx,byx,bzx,bxy,byy,bzy,bxz,byz,bzz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bxx
            real*8 :: byx
            real*8 :: bzx
            real*8 :: bxy
            real*8 :: byy
            real*8 :: bzy
            real*8 :: bxz
            real*8 :: byz
            real*8 :: bzz
        end subroutine dipxyz
        subroutine condip1(xi,d) ! in :tsyg:T96.f
            real dimension(4) :: xi
            real dimension(3,79) :: d
            real :: dx
            real :: scalein
            real :: scaleout
            real dimension(14) :: xx
            real dimension(14) :: yy
            real dimension(14) :: zz
            common /dx1/ dx,scalein,scaleout
            common /coord21/ xx,yy,zz
        end subroutine condip1
        subroutine birk1shld(ps,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real :: ps
            real :: x
            real :: y
            real :: z
            real :: bx
            real :: by
            real :: bz
        end subroutine birk1shld
        subroutine birk2tot_02(ps,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: ps
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine birk2tot_02
        subroutine birk2shl(x,y,z,ps,hx,hy,hz) ! in :tsyg:T96.f
            real :: x
            real :: y
            real :: z
            real :: ps
            real :: hx
            real :: hy
            real :: hz
        end subroutine birk2shl
        subroutine r2_birk(x,y,z,ps,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: ps
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine r2_birk
        subroutine r2inner(x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine r2inner
        subroutine bconic(x,y,z,cbx,cby,cbz,nmax) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 dimension(nmax) :: cbx
            real*8 dimension(nmax),depend(nmax) :: cby
            real*8 dimension(nmax),depend(nmax) :: cbz
            integer, optional,check(len(cbx)>=nmax),depend(cbx) :: nmax=len(cbx)
        end subroutine bconic
        subroutine dipdistr(x,y,z,bx,by,bz,mode) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            integer :: mode
        end subroutine dipdistr
        subroutine r2outer(x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine r2outer
        subroutine loops4(x,y,z,bx,by,bz,xc,yc,zc,r,theta,phi) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
            real*8 :: xc
            real*8 :: yc
            real*8 :: zc
            real*8 :: r
            real*8 :: theta
            real*8 :: phi
        end subroutine loops4
        subroutine r2sheet(x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine r2sheet
        function xksi(x,y,z) ! in :tsyg:T96.f
            real*8 :: x
            real*8 :: y
            real*8 :: z
            double precision :: xksi
        end function xksi
        function fexp(s,a) ! in :tsyg:T96.f
            real*8 :: s
            real*8 :: a
            real*8 :: fexp
        end function fexp
        function fexp1(s,a) ! in :tsyg:T96.f
            real*8 :: s
            real*8 :: a
            real*8 :: fexp1
        end function fexp1
        function tksi(xksi,xks0,dxksi) ! in :tsyg:T96.f
            real*8 :: xksi
            real*8 :: xks0
            real*8 :: dxksi
            double precision :: tksi
        end function tksi
        subroutine dipole(ps,x,y,z,bx,by,bz) ! in :tsyg:T96.f
            real*8 :: ps
            real*8 :: x
            real*8 :: y
            real*8 :: z
            real*8 :: bx
            real*8 :: by
            real*8 :: bz
        end subroutine dipole
    end interface 
end python module tsyg

! This file was auto-generated with f2py (version:2).
! See http://cens.ioc.ee/projects/f2py2e/