...
- 'SE_OpenMI.f90' communicates with OEM buffer.
- 'SE_OpenMI.f90' has calls to module OMI_CF_control in (OMI_CF_control.f90), which in turn calls directly sobeksim subroutines
- Present SOBEK reads nefis files during initialisation (using m_nefisinput.mod). Nefis is used in subroutines: read_initial_values_strpar_etc, soedef, sogetm and wetcrs.
SOBEK variables read from NEFIS
Code Block |
---|
module DS_communication
type Sobek_Data
integer :: nnode ! nr of sobek nodes
integer :: nbran ! nr of branches
integer :: nstdb
integer :: nstru ! number of structures
integer :: ntrigr ! number of triggers
integer :: ncontr ! number of controllers
integer :: ntcrel ! number of trigger-controller relations
integer :: ncsrel ! number of controller-structure relations
integer :: nqlat ! number of lateral inflows
integer :: ngrid ! nr of sobek points
integer :: nboun ! number of open boundaries
integer :: nhstat ! number of 1D waterlevel boundaries
integer :: nqstat ! number of 1D discharge boundaries
integer :: ntabm
integer :: maxtab
integer :: maxlev
integer :: ncross
integer :: nevents
integer :: mxstrpar ! leading dimension of strpar
integer :: mxistrtyp ! leading dimension of istrtyp
integer :: mxstrmu !
integer :: mxcross
integer :: mxqltpar
integer :: mxtriger ! leading dimension of triger
integer :: mxcontrl ! leading dimension of contrl
integer :: mxconhis = 5 ! leading dimension of conhis
integer :: mxconhis ! leading dimension of conhis
integer :: mxtrcnrl ! leading dimension of trcnrl
integer :: mxcnstrl ! leading dimension of cnstrl = 2
integer :: mxengpar ! dimension of engpar
integer :: mxbranch ! lead dim of branch
integer :: nupt
integer :: msect
integer :: lcnvmax
real , allocatable :: strpar (:,:) ! structure parameters (mxstrpar,nstru)
real , allocatable :: strmu (:,:) ! structure mu (mxstrmu,nstru)
integer, allocatable :: istrtyp(:,:) ! structure type (mxistrtyp,nstru)
character(len=40), allocatable :: contrnam(:) ! names of controllers (ncontr)
character(len=40), allocatable :: trigrnam(:) ! names of triggers (ntrigr)
character(len=40), allocatable :: qlatnm(:) ! ids of qlats (nqlat)
real , allocatable :: qlat (:) ! lateral inflow (nqlat)
real , allocatable :: qltpar(:,:) ! lateral inflow parameters (mxqltpar,nqlat)
integer, allocatable :: node(:,:) ! sobek node administration (nnode)
integer, allocatable :: branch(:,:) ! sobek branch admin (mxbranch,nbran)
integer, allocatable :: triger(:,:) ! trigger data (mxtriger,ntrigr)
real , allocatable :: contrl(:,:) ! controller data (mxcontrl,ncontr)
integer, allocatable :: trcnrl(:,:) ! trigger controller relation (mxtrcnrl,ntcrel)
integer, allocatable :: cnstrl(:,:) ! controller structure relation (mxcnstrl,ncsrel)
integer, allocatable :: hbdpar(:,:) ! integer parameters (3,*), 1=?, 2=iopt, 3=itab (3,nhstat)
integer, allocatable :: qbdpar(:,:) ! integer parameters (3,*), 1=?, 2=iopt, 3=itab (3,nqstat)
real , allocatable :: engpar(:) ! Engelund-Hansen parameters (mxengpar)
real , allocatable :: hpack(:) ! s0 voor sobek points (ngrid)
real , allocatable :: qpack(:) ! q voor sobek points (ngrid)
double precision, allocatable :: xycoor(:,:) ! (2,ngrid) x,y coordinates for sobek points (2,ngrid)
integer, allocatable :: nlevu (:) ! (nupt)
real, allocatable :: chan_hu (:,:) ! (ngrid)
real, allocatable :: chan_af (:,:,:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_wf (:,:,:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_pf (:,:,:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_co (:,:,:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_cn (:,:,:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_cz1(:,:,:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_cz2(:,:,:) ! (nupt,lcnvmax,msect)
integer, allocatable :: nlevh (:) ! (nupt,lcnvmax,msect)
real, allocatable :: chan_hh (:,:) ! (ngrid,lcnvmax)
real, allocatable :: chan_at (:,:) ! (ngrid,lcnvmax)
real, allocatable :: chan_wt (:,:) ! (ngrid,lcnvmax)
character(len=CharLen ), allocatable, save :: nodenm ! (nnode)
character(len=CharLen ), allocatable, save :: gridnnm ! (ngrid)
end type Sobek_Data
end module
|