public subroutine wake_popdyn_3(klon, klev, phys_sub, wk_adv, dtimesub, wgen, wdensmin, sigmaw, asigmaw, wdens, awdens, gfl, agfl, cstar, cin, wape, rad_wk, arad_wk, irad_wk, d_sigmaw, d_asigmaw, d_wdens, d_awdens, d_sig_gen, d_sig_death, d_sig_col, d_sig_spread, d_sig_bnd, d_asig_death, d_asig_aicol, d_asig_iicol, d_asig_spread, d_asig_bnd, d_dens_gen, d_dens_death, d_dens_col, d_dens_bnd, d_adens_death, d_adens_icol, d_adens_acol, d_adens_bnd)
Uses
proc~~wake_popdyn_3~~UsesGraph
proc~wake_popdyn_3
wake_popdyn_3
module~lmdz_wake_ini
lmdz_wake_ini
proc~wake_popdyn_3->module~lmdz_wake_ini
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
state variables
tendencies
USE lmdz_wake_ini , ONLY : iflag_wk_pop_dyn, wdensmin
tau_wk_inv(i) = max( (3.cstar(i))/(irad_wk(i) ((cstar(i)/cstart)1.5 - 1)), 0.)
d_sig_bnd(i) = d_sig_bnd(i) + d_sigmaw_targ - d_sigmaw(i)
d_sig_bnd_provis(i) = d_sigmaw_targ - d_sigmaw(i)
d_sigmaw(i) = max(d_sigmaw(i), sigmad-sigmaw(i))
Bug : factor 2 omitted by mistake (bug found by Lamine Thiam)
d_asig_aicol(i) = (agfl(i) iwdens(i) + igfl(i) awdens(i))cstar(i) is_wk(i)
d_dens_bnd(i) = d_dens_bnd(i) + d_sigmaw_targ - d_sigmaw(i)
d_dens_bnd(i) = d_dens_bnd(i) + d_wdens_targ - d_wdens(i)
d_dens_bnd(i) = d_dens_bnd(i) + d_wdens_targ - d_wdens(i)
d_irad(i) = (d_sigmaw(i)-d_asigmaw(i)-isigmaw(i)*(d_wdens(i)-awdens(i))/iwdens(i)) / &
max(smallestreal,(2.*3.14*iwdens(i)*irad_wk(i)))
d_arad(i) = (d_asigmaw(i)-asigmaw(i)*d_awdens(i)/awdens(i)) / &
max(smallestreal,(2.*3.14*awdens(i)*arad_wk(i)))
d_irad(i) = d_irad(i)*dtimesub
d_arad(i) = d_arad(i)*dtimesub
call iophys_ecrit('d_irad',1,'d_irad','m',d_irad)
call iophys_ecrit('d_airad',1,'d_arad','m',d_arad)
Arguments
Type
Intent Optional Attributes
Name
integer,
intent(in)
::
klon
integer,
intent(in)
::
klev
logical,
intent(in)
::
phys_sub
logical,
intent(in),
DIMENSION (klon)
::
wk_adv
real,
intent(in)
::
dtimesub
real,
intent(in),
DIMENSION (klon)
::
wgen
B = birth rate of wakes
real,
intent(in)
::
wdensmin
real,
intent(inout),
DIMENSION (klon)
::
sigmaw
sigma = fractional area of wakes
real,
intent(inout),
DIMENSION (klon)
::
asigmaw
sigma = fractional area of active wakes
real,
intent(inout),
DIMENSION (klon)
::
wdens
D = number of wakes per unit area
real,
intent(inout),
DIMENSION (klon)
::
awdens
A = number of active wakes per unit area
real,
intent(out),
DIMENSION (klon)
::
gfl
Lg = gust front length per unit area
real,
intent(out),
DIMENSION (klon)
::
agfl
LgA = gust front length of active wakes
per unit area
real,
intent(in),
DIMENSION (klon)
::
cstar
C* = spreading velocity of wakes
real,
intent(in),
DIMENSION (klon)
::
cin
real,
intent(in),
DIMENSION (klon)
::
wape
real,
intent(out),
DIMENSION (klon)
::
rad_wk
r = mean wake radius
real,
intent(out),
DIMENSION (klon)
::
arad_wk
r_A = wake radius of active wakes
real,
intent(out),
DIMENSION (klon)
::
irad_wk
r_I = wake radius of inactive wakes
real,
intent(out),
DIMENSION (klon)
::
d_sigmaw
real,
intent(out),
DIMENSION (klon)
::
d_asigmaw
real,
intent(out),
DIMENSION (klon)
::
d_wdens
real,
intent(out),
DIMENSION (klon)
::
d_awdens
real,
intent(out),
DIMENSION (klon)
::
d_sig_gen
real,
intent(out),
DIMENSION (klon)
::
d_sig_death
real,
intent(out),
DIMENSION (klon)
::
d_sig_col
real,
intent(out),
DIMENSION (klon)
::
d_sig_spread
real,
intent(out),
DIMENSION (klon)
::
d_sig_bnd
real,
intent(out),
DIMENSION (klon)
::
d_asig_death
real,
intent(out),
DIMENSION (klon)
::
d_asig_aicol
real,
intent(out),
DIMENSION (klon)
::
d_asig_iicol
real,
intent(out),
DIMENSION (klon)
::
d_asig_spread
real,
intent(out),
DIMENSION (klon)
::
d_asig_bnd
real,
intent(out),
DIMENSION (klon)
::
d_dens_gen
real,
intent(out),
DIMENSION (klon)
::
d_dens_death
real,
intent(out),
DIMENSION (klon)
::
d_dens_col
real,
intent(out),
DIMENSION (klon)
::
d_dens_bnd
real,
intent(out),
DIMENSION (klon)
::
d_adens_death
internal variables
real,
intent(out),
DIMENSION (klon)
::
d_adens_icol
internal variables
real,
intent(out),
DIMENSION (klon)
::
d_adens_acol
internal variables
real,
intent(out),
DIMENSION (klon)
::
d_adens_bnd
internal variables
Calls
proc~~wake_popdyn_3~~CallsGraph
proc~wake_popdyn_3
wake_popdyn_3
proc~iophys_ecrit
iophys_ecrit
proc~wake_popdyn_3->proc~iophys_ecrit
interface~gather
gather
proc~iophys_ecrit->interface~gather
interface~grid1dto2d_glo
grid1dTo2d_glo
proc~iophys_ecrit->interface~grid1dto2d_glo
proc~iotd_ecrit
iotd_ecrit
proc~iophys_ecrit->proc~iotd_ecrit
proc~gather_l
gather_l
interface~gather->proc~gather_l
proc~gather_i3
gather_i3
interface~gather->proc~gather_i3
proc~gather_r1
gather_r1
interface~gather->proc~gather_r1
proc~gather_l3
gather_l3
interface~gather->proc~gather_l3
proc~gather_r3
gather_r3
interface~gather->proc~gather_r3
proc~gather_r
gather_r
interface~gather->proc~gather_r
proc~gather_r2
gather_r2
interface~gather->proc~gather_r2
proc~gather_l2
gather_l2
interface~gather->proc~gather_l2
proc~gather_i1
gather_i1
interface~gather->proc~gather_i1
proc~gather_i2
gather_i2
interface~gather->proc~gather_i2
proc~gather_l1
gather_l1
interface~gather->proc~gather_l1
proc~gather_i
gather_i
interface~gather->proc~gather_i
proc~grid1dto2d_glo_i
grid1dTo2d_glo_i
interface~grid1dto2d_glo->proc~grid1dto2d_glo_i
proc~grid1dto2d_glo_r3
grid1dTo2d_glo_r3
interface~grid1dto2d_glo->proc~grid1dto2d_glo_r3
proc~grid1dto2d_glo_l3
grid1dTo2d_glo_l3
interface~grid1dto2d_glo->proc~grid1dto2d_glo_l3
proc~grid1dto2d_glo_l2
grid1dTo2d_glo_l2
interface~grid1dto2d_glo->proc~grid1dto2d_glo_l2
proc~grid1dto2d_glo_i3
grid1dTo2d_glo_i3
interface~grid1dto2d_glo->proc~grid1dto2d_glo_i3
proc~grid1dto2d_glo_i2
grid1dTo2d_glo_i2
interface~grid1dto2d_glo->proc~grid1dto2d_glo_i2
proc~grid1dto2d_glo_l
grid1dTo2d_glo_l
interface~grid1dto2d_glo->proc~grid1dto2d_glo_l
proc~grid1dto2d_glo_i1
grid1dTo2d_glo_i1
interface~grid1dto2d_glo->proc~grid1dto2d_glo_i1
proc~grid1dto2d_glo_r2
grid1dTo2d_glo_r2
interface~grid1dto2d_glo->proc~grid1dto2d_glo_r2
proc~grid1dto2d_glo_r1
grid1dTo2d_glo_r1
interface~grid1dto2d_glo->proc~grid1dto2d_glo_r1
proc~grid1dto2d_glo_l1
grid1dTo2d_glo_l1
interface~grid1dto2d_glo->proc~grid1dto2d_glo_l1
proc~grid1dto2d_glo_r
grid1dTo2d_glo_r
interface~grid1dto2d_glo->proc~grid1dto2d_glo_r
nf90_redef
nf90_redef
proc~iotd_ecrit->nf90_redef
nf90_enddef
nf90_enddef
proc~iotd_ecrit->nf90_enddef
nf90_def_var
nf90_def_var
proc~iotd_ecrit->nf90_def_var
nf90_sync
nf90_sync
proc~iotd_ecrit->nf90_sync
nf90_put_var
nf90_put_var
proc~iotd_ecrit->nf90_put_var
nf90_inq_varid
nf90_inq_varid
proc~iotd_ecrit->nf90_inq_varid
interface~gather_omp
gather_omp
proc~gather_l->interface~gather_omp
interface~gather_mpi
gather_mpi
proc~gather_l->interface~gather_mpi
proc~gather_i3->interface~gather_omp
proc~gather_i3->interface~gather_mpi
proc~gather_r1->interface~gather_omp
proc~gather_r1->interface~gather_mpi
proc~gather_l3->interface~gather_omp
proc~gather_l3->interface~gather_mpi
proc~gather_r3->interface~gather_omp
proc~gather_r3->interface~gather_mpi
proc~gather_r->interface~gather_omp
proc~gather_r->interface~gather_mpi
proc~gather_r2->interface~gather_omp
proc~gather_r2->interface~gather_mpi
proc~gather_l2->interface~gather_omp
proc~gather_l2->interface~gather_mpi
proc~gather_i1->interface~gather_omp
proc~gather_i1->interface~gather_mpi
proc~gather_i2->interface~gather_omp
proc~gather_i2->interface~gather_mpi
proc~gather_l1->interface~gather_omp
proc~gather_l1->interface~gather_mpi
proc~gather_i->interface~gather_omp
proc~gather_i->interface~gather_mpi
proc~gather_mpi_i3
gather_mpi_i3
interface~gather_mpi->proc~gather_mpi_i3
proc~gather_mpi_r3
gather_mpi_r3
interface~gather_mpi->proc~gather_mpi_r3
proc~gather_mpi_l3
gather_mpi_l3
interface~gather_mpi->proc~gather_mpi_l3
proc~gather_mpi_i
gather_mpi_i
interface~gather_mpi->proc~gather_mpi_i
proc~gather_mpi_i2
gather_mpi_i2
interface~gather_mpi->proc~gather_mpi_i2
proc~gather_mpi_l1
gather_mpi_l1
interface~gather_mpi->proc~gather_mpi_l1
proc~gather_mpi_l
gather_mpi_l
interface~gather_mpi->proc~gather_mpi_l
proc~gather_mpi_l2
gather_mpi_l2
interface~gather_mpi->proc~gather_mpi_l2
proc~gather_mpi_r
gather_mpi_r
interface~gather_mpi->proc~gather_mpi_r
proc~gather_mpi_i1
gather_mpi_i1
interface~gather_mpi->proc~gather_mpi_i1
proc~gather_mpi_r2
gather_mpi_r2
interface~gather_mpi->proc~gather_mpi_r2
proc~gather_mpi_r1
gather_mpi_r1
interface~gather_mpi->proc~gather_mpi_r1
proc~gather_mpi_igen
gather_mpi_igen
proc~gather_mpi_i3->proc~gather_mpi_igen
proc~gather_mpi_rgen
gather_mpi_rgen
proc~gather_mpi_r3->proc~gather_mpi_rgen
proc~gather_mpi_lgen
gather_mpi_lgen
proc~gather_mpi_l3->proc~gather_mpi_lgen
proc~gather_mpi_i->proc~gather_mpi_igen
proc~gather_mpi_i2->proc~gather_mpi_igen
proc~gather_mpi_l1->proc~gather_mpi_lgen
proc~gather_mpi_l->proc~gather_mpi_lgen
proc~gather_mpi_l2->proc~gather_mpi_lgen
proc~gather_mpi_r->proc~gather_mpi_rgen
proc~gather_mpi_i1->proc~gather_mpi_igen
proc~gather_mpi_r2->proc~gather_mpi_rgen
proc~gather_mpi_r1->proc~gather_mpi_rgen
proc~mpi_gatherv
MPI_GATHERV
proc~gather_mpi_igen->proc~mpi_gatherv
proc~gather_mpi_rgen->proc~mpi_gatherv
proc~gather_mpi_lgen->proc~mpi_gatherv
proc~lmdz_mpi_wrapper_abort
lmdz_mpi_wrapper_abort
proc~mpi_gatherv->proc~lmdz_mpi_wrapper_abort
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Called by
proc~~wake_popdyn_3~~CalledByGraph
proc~wake_popdyn_3
wake_popdyn_3
proc~wake
wake
proc~wake->proc~wake_popdyn_3
proc~wake2
wake2
proc~wake2->proc~wake_popdyn_3
proc~wake3
wake3
proc~wake3->proc~wake_popdyn_3
proc~calwake
calwake
proc~calwake->proc~wake
proc~calwake->proc~wake2
proc~calwake->proc~wake3
proc~calwake~2
calwake
proc~calwake~2->proc~wake
proc~physiq
physiq
proc~physiq->proc~calwake
proc~physiq~2
physiq
proc~physiq~2->proc~calwake~2
proc~old_lmdz1d
old_lmdz1d
proc~old_lmdz1d->proc~physiq
proc~call_physiq
call_physiq
proc~call_physiq->proc~physiq
proc~call_physiq~2
call_physiq
proc~call_physiq~2->proc~physiq
proc~scm
scm
proc~scm->proc~physiq
program~lmdz1d
lmdz1d
program~lmdz1d->proc~old_lmdz1d
program~lmdz1d->proc~scm
proc~calfis
calfis
proc~calfis->proc~call_physiq
proc~leapfrog
leapfrog
proc~leapfrog->proc~calfis
program~gcm~2
gcm
program~gcm~2->proc~leapfrog
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.