static_3d.h 4.22 KB
Newer Older
1
! Remember to update this value if you add more 3D arrays.
kbk's avatar
kbk committed
2
#ifdef SPM
3
  integer, parameter                   :: n3d_fields=28
4
#else
5
  integer, parameter                   :: n3d_fields=25
6
#endif
kbk's avatar
kbk committed
7 8 9 10
! Number of vertical layers in z,u,v columns
  INTEGER                              :: kmin(I2DFIELD)
  INTEGER                              :: kumin(I2DFIELD)
  INTEGER                              :: kvmin(I2DFIELD)
kbk's avatar
kbk committed
11 12 13
  INTEGER                              :: kmin_pmz(I2DFIELD)
  INTEGER                              :: kumin_pmz(I2DFIELD)
  INTEGER                              :: kvmin_pmz(I2DFIELD)
kbk's avatar
kbk committed
14 15 16

  REALTYPE                             :: uu(I3DFIELD)
  REALTYPE                             :: vv(I3DFIELD)
Karsten Bolding's avatar
Karsten Bolding committed
17
  REALTYPE, target                     :: ww(I3DFIELD)
18 19
  REALTYPE,dimension(I3DFIELD),target  :: velx3d,vely3d,w

Hans Burchard's avatar
Hans Burchard committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
#ifdef _MOMENTUM_TERMS_
  REALTYPE                             :: tdv_u(I3DFIELD)
  REALTYPE                             :: adv_u(I3DFIELD)
  REALTYPE                             :: vsd_u(I3DFIELD)
  REALTYPE                             :: hsd_u(I3DFIELD)
  REALTYPE                             :: cor_u(I3DFIELD)
  REALTYPE                             :: epg_u(I3DFIELD)
  REALTYPE                             :: ipg_u(I3DFIELD)

  REALTYPE                             :: tdv_v(I3DFIELD)
  REALTYPE                             :: adv_v(I3DFIELD)
  REALTYPE                             :: vsd_v(I3DFIELD)
  REALTYPE                             :: hsd_v(I3DFIELD)
  REALTYPE                             :: cor_v(I3DFIELD)
  REALTYPE                             :: epg_v(I3DFIELD)
  REALTYPE                             :: ipg_v(I3DFIELD)
#endif
37 38 39
#ifdef STRUCTURE_FRICTION
  REALTYPE                             :: sf(I3DFIELD)
#endif
kbk's avatar
kbk committed
40
  REALTYPE                             :: ho(I3DFIELD)
Knut's avatar
Knut committed
41
  REALTYPE,dimension(I3DFIELD),target  :: hn,hvel,hun,hvn
kbk's avatar
kbk committed
42 43
  REALTYPE                             :: huo(I3DFIELD)
  REALTYPE                             :: hvo(I3DFIELD)
44
  REALTYPE                             :: hcc(I3DFIELD)
kbk's avatar
kbk committed
45 46 47
  REALTYPE                             :: uuEx(I3DFIELD)
  REALTYPE                             :: vvEx(I3DFIELD)
  REALTYPE                             :: num(I3DFIELD)
Karsten Bolding's avatar
Karsten Bolding committed
48
  REALTYPE, target                     :: nuh(I3DFIELD)
49 50

! 3D turbulent fields
kbk's avatar
kbk committed
51 52 53
  REALTYPE                             :: tke(I3DFIELD)
  REALTYPE                             :: eps(I3DFIELD)
  REALTYPE                             :: SS(I3DFIELD)
54

kbk's avatar
kbk committed
55
#ifndef NO_BAROCLINIC
56
! 3D baroclinic fields
57
  REALTYPE                             :: NN(I3DFIELD)
Karsten Bolding's avatar
Karsten Bolding committed
58 59 60
  REALTYPE, target                     :: S(I3DFIELD)
  REALTYPE, target                     :: T(I3DFIELD)
  REALTYPE, target                     :: rho(I3DFIELD)
61 62
  REALTYPE                             :: rad(I3DFIELD)
  REALTYPE                             :: buoy(I3DFIELD)
Karsten Bolding's avatar
Karsten Bolding committed
63 64
  REALTYPE                             :: alpha(I3DFIELD)
  REALTYPE                             :: beta(I3DFIELD)
kbk's avatar
kbk committed
65 66
  REALTYPE                             :: idpdx(I3DFIELD)
  REALTYPE                             :: idpdy(I3DFIELD)
67
  REALTYPE                             :: light(I3DFIELD)
kbk's avatar
kbk committed
68 69
#endif

kbk's avatar
kbk committed
70
#ifdef SPM
71
! suspended matter
kbk's avatar
kbk committed
72 73 74 75 76
  REALTYPE                             :: spm(I3DFIELD)
  REALTYPE                             :: spm_ws(I3DFIELD)
  REALTYPE                             :: spm_pool(I2DFIELD)
#endif

77
! 2D fields in 3D domain
kbk's avatar
kbk committed
78 79 80 81 82 83
  REALTYPE                             :: sseo(I2DFIELD)
  REALTYPE                             :: ssen(I2DFIELD)
  REALTYPE                             :: ssuo(I2DFIELD)
  REALTYPE                             :: ssun(I2DFIELD)
  REALTYPE                             :: ssvo(I2DFIELD)
  REALTYPE                             :: ssvn(I2DFIELD)
Knut's avatar
Knut committed
84
  REALTYPE,dimension(I2DFIELD),target  :: Dn,Dveln,Dun,Dvn
85 86

! 3D friction in 3D domain
kbk's avatar
kbk committed
87 88 89
  REALTYPE                             :: rru(I2DFIELD)
  REALTYPE                             :: rrv(I2DFIELD)
  REALTYPE                             :: taus(I2DFIELD)
lars's avatar
lars committed
90 91
  REALTYPE                             :: taubx(I2DFIELD)
  REALTYPE                             :: tauby(I2DFIELD)
kbk's avatar
kbk committed
92
  REALTYPE                             :: taub(I2DFIELD)
93

94
! light attenuation
Karsten Bolding's avatar
Karsten Bolding committed
95 96 97
  REALTYPE,target                      :: A(I2DFIELD)
  REALTYPE,target                      :: g1(I2DFIELD)
  REALTYPE,target                      :: g2(I2DFIELD)
98