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
|
! -*- f90 -*-
! Note: the context of this file is case sensitive.
python module hwm14 ! in
interface ! in :hwm14
module hwm ! in :hwm14:hwm14.f90
integer(kind=4), optional :: nmaxhwm=0
integer(kind=4), optional :: omaxhwm=0
integer(kind=4), optional :: nmaxdwm=0
integer(kind=4), optional :: mmaxdwm=0
integer(kind=4), optional :: nmaxqdc=0
integer(kind=4), optional :: mmaxqdc=0
integer(kind=4), optional :: nmaxgeo=0
integer(kind=4), optional :: mmaxgeo=0
real(kind=8), allocatable,dimension(:,:) :: gpbar
real(kind=8), allocatable,dimension(:,:) :: gvbar
real(kind=8), allocatable,dimension(:,:) :: gwbar
real(kind=8), allocatable,dimension(:,:) :: spbar
real(kind=8), allocatable,dimension(:,:) :: svbar
real(kind=8), allocatable,dimension(:,:) :: swbar
real(kind=8), optional :: glatalf=-1.d32
logical, optional :: hwminit=.true.
end module hwm
subroutine hwm14(iyd,sec,alt,glat,glon,stl,f107a,f107,ap,w) ! in :hwm14:hwm14.f90
use hwm
integer(kind=4) intent(in) :: iyd
real(kind=4) intent(in) :: sec
real(kind=4) intent(in) :: alt
real(kind=4) intent(in) :: glat
real(kind=4) intent(in) :: glon
real(kind=4) intent(in) :: stl
real(kind=4) intent(in) :: f107a
real(kind=4) intent(in) :: f107
real(kind=4) dimension(2),intent(in) :: ap
real(kind=4) dimension(2),intent(out) :: w
end subroutine hwm14
module alf ! in :hwm14:hwm14.f90
integer(kind=4) :: nmax0
integer(kind=4) :: mmax0
real(kind=8), allocatable,dimension(:,:) :: anm
real(kind=8), allocatable,dimension(:,:) :: bnm
real(kind=8), allocatable,dimension(:,:) :: dnm
real(kind=8), allocatable,dimension(:) :: cm
real(kind=8), allocatable,dimension(:) :: en
real(kind=8), allocatable,dimension(:) :: marr
real(kind=8), allocatable,dimension(:) :: narr
subroutine alfbasis(nmax,mmax,theta,p,v,w) ! in :hwm14:hwm14.f90:alf
integer(kind=4) intent(in) :: nmax
integer(kind=4) intent(in) :: mmax
real(kind=8) intent(in) :: theta
real(kind=8) dimension(1 + nmax,1 + mmax),intent(out),depend(nmax,mmax) :: p
real(kind=8) dimension(1 + nmax,1 + mmax),intent(out),depend(nmax,mmax) :: v
real(kind=8) dimension(1 + nmax,1 + mmax),intent(out),depend(nmax,mmax) :: w
end subroutine alfbasis
subroutine initalf(nmaxin,mmaxin) ! in :hwm14:hwm14.f90:alf
integer(kind=4) intent(in) :: nmaxin
integer(kind=4) intent(in) :: mmaxin
end subroutine initalf
end module alf
module qwm ! in :hwm14:hwm14.f90
integer(kind=4) :: nbf
integer(kind=4) :: maxn
integer(kind=4) :: maxs
integer(kind=4) :: maxm
integer(kind=4) :: maxl
integer(kind=4) :: maxo
integer(kind=4) :: p
integer(kind=4) :: nlev
integer(kind=4) :: nnode
real(kind=8) :: alttns
real(kind=8) :: altsym
real(kind=8) :: altiso
real(kind=8) dimension(5) :: e1
real(kind=8) dimension(5) :: e2
real(kind=8), parameter,optional :: h=60.0d0
integer(kind=4), allocatable,dimension(:) :: nb
integer(kind=4), allocatable,dimension(:,:) :: order
real(kind=8), allocatable,dimension(:) :: vnode
real(kind=8), allocatable,dimension(:,:) :: mparm
real(kind=8), allocatable,dimension(:,:) :: tparm
real(kind=8), optional,dimension(5) :: previous=-1.0d32
integer(kind=4), optional :: priornb=0
real(kind=8), allocatable,dimension(:,:) :: fs
real(kind=8), allocatable,dimension(:,:) :: fm
real(kind=8), allocatable,dimension(:,:) :: fl
real(kind=8), allocatable,dimension(:) :: bz
real(kind=8), allocatable,dimension(:) :: bm
real(kind=8), allocatable,dimension(:) :: zwght
integer(kind=4) :: lev
integer(kind=4), optional :: cseason=0
integer(kind=4), optional :: cwave=0
integer(kind=4), optional :: ctide=0
logical, optional,dimension(5) :: content=.true.
logical, optional,dimension(2) :: component=.true.
character(len=128), optional :: qwmdefault='hwm123114.bin'
logical, optional :: qwminit=.true.
real(kind=8), optional,dimension(4) :: wavefactor=1.0
real(kind=8), optional,dimension(4) :: tidefactor=1.0
end module qwm
module dwm ! in :hwm14:hwm14.f90
integer(kind=4) :: nterm
integer(kind=4) :: nmax
integer(kind=4) :: mmax
integer(kind=4) :: nvshterm
integer(kind=4), allocatable,dimension(:,:) :: termarr
real(kind=4), allocatable,dimension(:) :: coeff
real(kind=4), allocatable,dimension(:,:) :: vshterms
real(kind=4), allocatable,dimension(:,:) :: termval
real(kind=8), allocatable,dimension(:,:) :: dpbar
real(kind=8), allocatable,dimension(:,:) :: dvbar
real(kind=8), allocatable,dimension(:,:) :: dwbar
real(kind=8), allocatable,dimension(:,:) :: mltterms
real(kind=4) :: twidth
real(kind=8), parameter,optional :: pi=3.141592653589793
real(kind=8), parameter,optional,depend(pi) :: dtor=pi/180.d0
logical, optional :: dwminit=.true.
character(len=128), parameter,optional :: dwmdefault='dwm07b104i.dat'
end module dwm
subroutine inithwm ! in :hwm14:hwm14.f90
use hwm
use qwm
use dwm
use alf, only: initalf
end subroutine inithwm
subroutine initqwm(filename) ! in :hwm14:hwm14.f90
use qwm
use hwm, only: omaxhwm,nmaxhwm
character*128 intent(in) :: filename
end subroutine initqwm
subroutine hwmqt(iyd,sec,alt,glat,glon,stl,f107a,f107,ap,w) ! in :hwm14:hwm14.f90
use hwm
use qwm
use alf, only: alfbasis
integer intent(in) :: iyd
real(kind=4) intent(in) :: sec
real(kind=4) intent(in) :: alt
real(kind=4) intent(in) :: glat
real(kind=4) intent(in) :: glon
real(kind=4) intent(in) :: stl
real(kind=4) intent(in) :: f107a
real(kind=4) intent(in) :: f107
real(kind=4) dimension(2),intent(in) :: ap
real(kind=4) dimension(2),intent(out) :: w
end subroutine hwmqt
subroutine vertwght(alt,wght,iz) ! in :hwm14:hwm14.f90
use qwm
real(kind=8) intent(in) :: alt
real(kind=8) dimension(4),intent(out) :: wght
integer(kind=4) intent(out) :: iz
end subroutine vertwght
subroutine initdwm(nmaxout,mmaxout) ! in :hwm14:hwm14.f90
use hwm
use dwm
integer(kind=4) intent(out) :: nmaxout
integer(kind=4) intent(out) :: mmaxout
end subroutine initdwm
subroutine dwm07(iyd,sec,alt,glat,glon,ap,dw) ! in :hwm14:hwm14.f90
use hwm
use dwm
integer intent(in) :: iyd
real(kind=4) intent(in) :: sec
real(kind=4) intent(in) :: alt
real(kind=4) intent(in) :: glat
real(kind=4) intent(in) :: glon
real(kind=4) dimension(2),intent(in) :: ap
real(kind=4) dimension(2),intent(out) :: dw
end subroutine dwm07
subroutine dwm07b(mlt,mlat,kp,mmpwind,mzpwind) ! in :hwm14:hwm14.f90
use hwm
use dwm
use alf, only: alfbasis
real(kind=4) intent(in) :: mlt
real(kind=4) intent(in) :: mlat
real(kind=4) intent(in) :: kp
real(kind=4) intent(out) :: mmpwind
real(kind=4) intent(out) :: mzpwind
end subroutine dwm07b
function ap2kp(ap0) ! in :hwm14:hwm14.f90
real(kind=4) :: ap0
real(kind=4) :: ap2kp
end function ap2kp
module gd2qdc ! in :hwm14:hwm14.f90
integer(kind=4) :: nterm
integer(kind=4) :: nmax
integer(kind=4) :: mmax
real(kind=8), allocatable,dimension(:,:) :: coeff
real(kind=8), allocatable,dimension(:) :: xcoeff
real(kind=8), allocatable,dimension(:) :: ycoeff
real(kind=8), allocatable,dimension(:) :: zcoeff
real(kind=8), allocatable,dimension(:) :: sh
real(kind=8), allocatable,dimension(:) :: shgradtheta
real(kind=8), allocatable,dimension(:) :: shgradphi
real(kind=8), allocatable,dimension(:) :: normadj
real(kind=4) :: epoch
real(kind=4) :: alt
real(kind=8), parameter,optional :: pi=3.1415926535897932d0
real(kind=8), parameter,optional,depend(pi) :: dtor=pi/180.0d0
real(kind=8), parameter,optional :: sineps=0.39781868d0
logical, optional :: gd2qdinit=.true.
subroutine initgd2qd ! in :hwm14:hwm14.f90:gd2qdc
use hwm
end subroutine initgd2qd
end module gd2qdc
subroutine gd2qd(glatin,glon,qlat,qlon,f1e,f1n,f2e,f2n) ! in :hwm14:hwm14.f90
use hwm
use gd2qdc
use alf
real(kind=4) intent(in) :: glatin
real(kind=4) intent(in) :: glon
real(kind=4) intent(out) :: qlat
real(kind=4) intent(out) :: qlon
real(kind=4) intent(out) :: f1e
real(kind=4) intent(out) :: f1n
real(kind=4) intent(out) :: f2e
real(kind=4) intent(out) :: f2n
end subroutine gd2qd
function mltcalc(qlat,qlon,day,ut) ! in :hwm14:hwm14.f90
use hwm
use gd2qdc
use alf
real(kind=4) intent(in) :: qlat
real(kind=4) intent(in) :: qlon
real(kind=4) intent(in) :: day
real(kind=4) intent(in) :: ut
real(kind=4) :: mltcalc
end function mltcalc
subroutine kpspl3(kp,kpterms) ! in :hwm14:hwm14.f90
real(kind=4) intent(in) :: kp
real(kind=4) dimension(3),intent(out) :: kpterms
end subroutine kpspl3
function latwgt2(mlat,mlt,kp0,twidth) ! in :hwm14:hwm14.f90
real(kind=4) :: mlat
real(kind=4) :: mlt
real(kind=4) :: kp0
real(kind=4) :: twidth
real(kind=4) :: latwgt2
end function latwgt2
subroutine findandopen(datafile,unitid) ! in :hwm14:hwm14.f90
character*128 :: datafile
integer :: unitid
end subroutine findandopen
end interface
end python module hwm14
! This file was auto-generated with f2py (version:1.24.1).
! See:
! https://web.archive.org/web/20140822061353/http://cens.ioc.ee/projects/f2py2e
|