15 #include "inc_openmp.h" 50 ATM_TEMP, ATM_PRES, ATM_W, ATM_U, ATM_V, &
55 SFLX_LW_dn, SFLX_SW_dn, &
56 SFC_TEMP, SFC_albedo, &
57 SFC_Z0M, SFC_Z0H, SFC_Z0E, &
58 SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, &
66 real(RP),
intent(in) :: atm_temp (
ia,
ja)
67 real(RP),
intent(in) :: atm_pres (
ia,
ja)
68 real(RP),
intent(in) :: atm_w (
ia,
ja)
69 real(RP),
intent(in) :: atm_u (
ia,
ja)
70 real(RP),
intent(in) :: atm_v (
ia,
ja)
71 real(RP),
intent(in) :: atm_dens (
ia,
ja)
72 real(RP),
intent(in) :: atm_qtrc (
ia,
ja,
qa)
73 real(RP),
intent(in) :: atm_z1 (
ia,
ja)
74 real(DP),
intent(in) :: dt
75 real(RP),
intent(in) :: sfc_dens (
ia,
ja)
76 real(RP),
intent(in) :: sfc_pres (
ia,
ja)
77 real(RP),
intent(in) :: sflx_lw_dn(
ia,
ja)
78 real(RP),
intent(in) :: sflx_sw_dn(
ia,
ja)
79 real(RP),
intent(in) :: sfc_temp (
ia,
ja)
80 real(RP),
intent(in) :: sfc_albedo(
ia,
ja,2)
81 real(RP),
intent(inout) :: sfc_z0m (
ia,
ja)
82 real(RP),
intent(inout) :: sfc_z0h (
ia,
ja)
83 real(RP),
intent(inout) :: sfc_z0e (
ia,
ja)
84 real(RP),
intent(out) :: sflx_mw (
ia,
ja)
85 real(RP),
intent(out) :: sflx_mu (
ia,
ja)
86 real(RP),
intent(out) :: sflx_mv (
ia,
ja)
87 real(RP),
intent(out) :: sflx_sh (
ia,
ja)
88 real(RP),
intent(out) :: sflx_lh (
ia,
ja)
89 real(RP),
intent(out) :: sflx_qtrc (
ia,
ja,
qa)
90 real(RP),
intent(out) :: u10 (
ia,
ja)
91 real(RP),
intent(out) :: v10 (
ia,
ja)
92 real(RP),
intent(out) :: t2 (
ia,
ja)
93 real(RP),
intent(out) :: q2 (
ia,
ja)
107 #define EXTM(pre, name, post) pre ## name ## post 108 #define NAME(pre, name, post) EXTM(pre, name, post) 110 use name(scale_atmos_phy_, sf,)
, only: &
111 name(atmos_phy_, sf, _setup), &
112 name(atmos_phy_, sf,)
123 character(len=*),
intent(in) :: SF_TYPE
126 select case( sf_type )
133 case(
'OFF',
'COUPLE')
136 write(*,*)
'xxx ATMPS_PHY_SF_TYPE is invalid' subroutine, public atmos_phy_sf_setup(SF_TYPE)
subroutine, public atmos_phy_sf_bulk_setup(ATMOS_PHY_SF_TYPE)
Setup.
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_phy_sf_const(ATM_TEMP, ATM_PRES, ATM_W, ATM_U, ATM_V, ATM_DENS, ATM_QTRC, ATM_Z1, dt, SFC_DENS, SFC_PRES, SFLX_LW_dn, SFLX_SW_dn, SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_QTRC, U10, V10, T2, Q2)
Constant flux.
integer, public ia
of x whole cells (local, with HALO)
procedure(sf), pointer, public atmos_phy_sf
module ATMOSPHERE / Physics Surface fluxes
module ATMOSPHERE / Physics Surface fluxes
module ATMOSPHERE / Physics Surface fluxes
subroutine, public atmos_phy_sf_bulk(ATM_TEMP, ATM_PRES, ATM_W, ATM_U, ATM_V, ATM_DENS, ATM_QTRC, ATM_Z1, dt, SFC_DENS, SFC_PRES, SFLX_LW_dn, SFLX_SW_dn, SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_QTRC, U10, V10, T2, Q2)
Calculate surface flux.
subroutine, public atmos_phy_sf_const_setup(ATMOS_PHY_SF_TYPE)
Setup.
integer, public ja
of y whole cells (local, with HALO)