modibm Module


Uses

  • module~~modibm~~UsesGraph module~modibm modibm module~modibmdata modibmdata module~modibm->module~modibmdata mpi mpi module~modibm->mpi

Used by

  • module~~modibm~~UsedByGraph module~modibm modibm proc~advecc_2nd advecc_2nd proc~advecc_2nd->module~modibm proc~advecu_2nd advecu_2nd proc~advecu_2nd->module~modibm proc~initfielddump initfielddump proc~initfielddump->module~modibm proc~readnamelists readnamelists proc~readnamelists->module~modibm program~dalesurban DALESURBAN program~dalesurban->module~modibm

Variables

Type Visibility Attributes Name Initial
logical, public :: lbottom = .false.
logical, public :: lnorec = .false.
integer, public :: nsolpts_u
integer, public :: nsolpts_v
integer, public :: nsolpts_w
integer, public :: nsolpts_c
integer, public :: nbndpts_u
integer, public :: nbndpts_v
integer, public :: nbndpts_w
integer, public :: nbndpts_c
integer, public :: nfctsecs_u
integer, public :: nfctsecs_v
integer, public :: nfctsecs_w
integer, public :: nfctsecs_c
real, public, allocatable, target, dimension(:,:,:) :: mask_u
real, public, allocatable, target, dimension(:,:,:) :: mask_v
real, public, allocatable, target, dimension(:,:,:) :: mask_w
real, public, allocatable, target, dimension(:,:,:) :: mask_c
type(solid_info_type), public :: solid_info_u
type(solid_info_type), public :: solid_info_v
type(solid_info_type), public :: solid_info_w
type(solid_info_type), public :: solid_info_c
type(bound_info_type), public :: bound_info_u
type(bound_info_type), public :: bound_info_v
type(bound_info_type), public :: bound_info_w
type(bound_info_type), public :: bound_info_c
integer, public :: nstatfac = 6
integer, public :: ncidfac
integer, public :: nrecfac = 0
character(len=80), public, allocatable :: ncstatfac(:,:)
character(len=80), public :: facname = 'fac.xxx.nc'
character(len=80), public, dimension(1,4) :: tncstatfac
real, public, allocatable :: varsfac(:,:)
real, public, allocatable :: fac_tau_x(:)
real, public, allocatable :: fac_tau_y(:)
real, public, allocatable :: fac_tau_z(:)
real, public, allocatable :: fac_pres(:)
real, public, allocatable :: fac_htc(:)
real, public, allocatable :: fac_cth(:)
real, public, allocatable :: fac_tau_x_av(:)
real, public, allocatable :: fac_tau_y_av(:)
real, public, allocatable :: fac_tau_z_av(:)
real, public, allocatable :: fac_pres_av(:)
real, public, allocatable :: fac_htc_av(:)
real, public, allocatable :: fac_cth_av(:)

Abstract Interfaces

abstract interface

  • public function interp_velocity(i, j, k)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: i
    integer, intent(in) :: j
    integer, intent(in) :: k

    Return Value real, (3)

abstract interface

  • public function interp_temperature(i, j, k)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: i
    integer, intent(in) :: j
    integer, intent(in) :: k

    Return Value real


Derived Types

type, public ::  solid_info_type

Components

Type Visibility Attributes Name Initial
integer, public :: nsolpts
integer, public, allocatable :: solpts(:,:)
logical, public, allocatable :: lsolptsrank(:)
integer, public, allocatable :: solptsrank(:)
integer, public :: nsolptsrank
integer, public, allocatable :: solpts_loc(:,:)

type, public ::  bound_info_type

Components

Type Visibility Attributes Name Initial
integer, public :: nbndpts
integer, public, allocatable :: bndpts(:,:)
real, public, allocatable :: recpts(:,:)
integer, public, allocatable :: recids_u(:,:)
integer, public, allocatable :: recids_v(:,:)
integer, public, allocatable :: recids_w(:,:)
integer, public, allocatable :: recids_c(:,:)
real, public, allocatable :: bnddst(:)
integer, public, allocatable :: bndptsrank(:)
logical, public, allocatable :: lcomprec(:)
logical, public, allocatable :: lskipsec(:)
integer, public :: nbndptsrank
integer, public, allocatable :: bndpts_loc(:,:)
integer, public :: nfctsecs
integer, public, allocatable :: secbndptids(:)
integer, public, allocatable :: secfacids(:)
real, public, allocatable :: secareas(:)
integer, public, allocatable :: fctsecsrank(:)
integer, public :: nfctsecsrank
integer, public, allocatable :: secfacids_loc(:)
real, public, allocatable :: secareas_loc(:)
integer, public, allocatable :: secbndpts_loc(:,:)
real, public, allocatable :: bnddst_loc(:)
real, public, allocatable :: recpts_loc(:,:)
integer, public, allocatable :: recids_u_loc(:,:)
integer, public, allocatable :: recids_v_loc(:,:)
integer, public, allocatable :: recids_w_loc(:,:)
integer, public, allocatable :: recids_c_loc(:,:)
logical, public, allocatable :: lcomprec_loc(:)
logical, public, allocatable :: lskipsec_loc(:)

Functions

public function trilinear_interp_var(var, cell, xgrid, ygrid, zgrid, x, y, z)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: var(ib-ih:ie+ih,jb-jh:je+jh,kb-kh:kb+kh)
integer, intent(in) :: cell(3)
real, intent(in), dimension(ib:itot+ih) :: xgrid
real, intent(in), dimension(jb:jtot+jh) :: ygrid
real, intent(in), dimension(kb:ktot+kh) :: zgrid
real, intent(in) :: x
real, intent(in) :: y
real, intent(in) :: z

Return Value real

public function eval_corners(var, i, j, k)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: var(ib-ih:ie+ih,jb-jh:je+jh,kb-kh:kb+kh)
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real, dimension(8), (8)

public function trilinear_interp(x, y, z, x0, y0, z0, x1, y1, z1, corners)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: x
real, intent(in) :: y
real, intent(in) :: z
real, intent(in) :: x0
real, intent(in) :: y0
real, intent(in) :: z0
real, intent(in) :: x1
real, intent(in) :: y1
real, intent(in) :: z1
real, intent(in) :: corners(8)

Return Value real

public function alignment(n)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(3) :: n

Return Value integer

public function is_equal(a, b)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(3) :: a
real, intent(in), dimension(3) :: b

Return Value logical

public function cross_product(a, b)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(3) :: a
real, intent(in), dimension(3) :: b

Return Value real, dimension(3)

public function interp_velocity_u(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real, (3)

public function interp_velocity_v(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real, (3)

public function interp_velocity_w(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real, (3)

public function interp_velocity_c(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real, (3)

public function interp_temperature_u(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real

public function interp_temperature_v(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real

public function interp_temperature_w(i, j, k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k

Return Value real

public function mom_transfer_coef_stability(utan, dist, z0, z0h, Tair, Tsurf)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: utan
real, intent(in) :: dist
real, intent(in) :: z0
real, intent(in) :: z0h
real, intent(in) :: Tair
real, intent(in) :: Tsurf

Return Value real

public function mom_transfer_coef_neutral(dist, z0)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: dist
real, intent(in) :: z0

Return Value real

public function moist_flux(cveg, resa, qtair, qwall, hurel, resc, ress)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: cveg
real, intent(in) :: resa
real, intent(in) :: qtair
real, intent(in) :: qwall
real, intent(in) :: hurel
real, intent(in) :: resc
real, intent(in) :: ress

Return Value real


Subroutines

public subroutine initibm()

Arguments

None

public subroutine initibmnorm(fname, solid_info)

Arguments

Type IntentOptional Attributes Name
character(len=11), intent(in) :: fname
type(solid_info_type), intent(inout) :: solid_info

public subroutine initibmwallfun(fname_bnd, fname_sec, dir, bound_info)

Arguments

Type IntentOptional Attributes Name
character(len=20), intent(in) :: fname_bnd
character(len=20), intent(in) :: fname_sec
real, intent(in), dimension(3) :: dir
type(bound_info_type) :: bound_info

public subroutine plane_line_intersection(norm, V0, P0, P1, I, check, dist)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(3) :: norm
real, intent(in), dimension(3) :: V0
real, intent(in), dimension(3) :: P0
real, intent(in), dimension(3) :: P1
real, intent(out), dimension(3) :: I
integer, intent(out) :: check
real, intent(out) :: dist

public subroutine ibmnorm()

Arguments

None

public subroutine solid(solid_info, var, rhs, val, hi, hj, hk, mask)

Arguments

Type IntentOptional Attributes Name
type(solid_info_type), intent(in) :: solid_info
real, intent(inout) :: var(ib-hi:ie+hi,jb-hj:je+hj,kb-hk:ke+hk)
real, intent(inout) :: rhs(ib-hi:ie+hi,jb-hj:je+hj,kb:ke+hk)
real, intent(in) :: val
integer, intent(in) :: hi
integer, intent(in) :: hj
integer, intent(in) :: hk
real, intent(in), optional :: mask(ib-ih:ie+ih,jb-jh:je+jh,kb-kh:ke+kh)

public subroutine advecc2nd_corr_conservative(var, rhs)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: var(ib-ih:ie+ih,jb-jh:je+jh,kb-kh:ke+kh)
real, intent(inout) :: rhs(ib-ih:ie+ih,jb-jh:je+jh,kb:ke+kh)

public subroutine advecc2nd_corr_liberal(var, rhs)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: var(ib-ih:ie+ih,jb-jh:je+jh,kb-kh:ke+kh)
real, intent(inout) :: rhs(ib-ih:ie+ih,jb-jh:je+jh,kb:ke+kh)

public subroutine diffu_corr()

Arguments

None

public subroutine diffv_corr()

Arguments

None

public subroutine diffw_corr()

Arguments

None

public subroutine diffc_corr(var, rhs, hi, hj, hk)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: var(ib-hi:ie+hi,jb-hj:je+hj,kb-hk:ke+hk)
real, intent(inout) :: rhs(ib-hi:ie+hi,jb-hj:je+hj,kb:ke+hk)
integer, intent(in) :: hi
integer, intent(in) :: hj
integer, intent(in) :: hk

public subroutine ibmwallfun()

Arguments

None

public subroutine wallfunmom(dir, rhs, bound_info)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: dir(3)
real, intent(inout) :: rhs(ib-ih:ie+ih,jb-jh:je+jh,kb:ke+kh)
type(bound_info_type) :: bound_info

public subroutine wallfunheat()

Arguments

None

public subroutine local_coords(uvec, norm, span, strm, valid)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(3) :: uvec
real, intent(in), dimension(3) :: norm
real, intent(out), dimension(3) :: span
real, intent(out), dimension(3) :: strm
logical, intent(out) :: valid

public subroutine heat_transfer_coef_flux(utan, dist, z0, z0h, Tair, Tsurf, cth, flux, htc)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: utan
real, intent(in) :: dist
real, intent(in) :: z0
real, intent(in) :: z0h
real, intent(in) :: Tair
real, intent(in) :: Tsurf
real, intent(out) :: cth
real, intent(out) :: flux
real, intent(out) :: htc

public subroutine bottom()

Arguments

None

public subroutine createmasks()

Arguments

None