60 real(RP),
public,
allocatable ::
ocn_u10 (:,:)
61 real(RP),
public,
allocatable ::
ocn_v10 (:,:)
62 real(RP),
public,
allocatable ::
ocn_t2 (:,:)
63 real(RP),
public,
allocatable ::
ocn_q2 (:,:)
78 real(RP),
public,
allocatable ::
lnd_u10 (:,:)
79 real(RP),
public,
allocatable ::
lnd_v10 (:,:)
80 real(RP),
public,
allocatable ::
lnd_t2 (:,:)
81 real(RP),
public,
allocatable ::
lnd_q2 (:,:)
96 real(RP),
public,
allocatable ::
urb_u10 (:,:)
97 real(RP),
public,
allocatable ::
urb_v10 (:,:)
98 real(RP),
public,
allocatable ::
urb_t2 (:,:)
99 real(RP),
public,
allocatable ::
urb_q2 (:,:)
191 real(RP) :: checkfact
195 log_info(
"CPL_vars_setup",*)
'Setup' 196 log_info(
"CPL_vars_setup",*)
'No namelists.' 200 if ( .NOT.
ocean_do .AND. checkfact > 0.0_rp )
then 201 log_error(
"CPL_vars_setup",*)
'Ocean fraction exists, but ocean component has not been called. Please check this inconsistency. STOP.', checkfact
207 if ( .NOT.
land_do .AND. checkfact > 0.0_rp )
then 208 log_error(
"CPL_vars_setup",*)
'Land fraction exists, but land component has not been called. Please check this inconsistency. STOP.', checkfact
214 if ( .NOT.
urban_do .AND. checkfact > 0.0_rp )
then 215 log_error(
"CPL_vars_setup",*)
'Urban fraction exists, but urban component has not been called. Please check this inconsistency. STOP.', checkfact
221 if ( .NOT.
lake_do .AND. checkfact > 0.0_rp )
then 222 log_error(
"CPL_vars_setup",*)
'Lake fraction exists, but lake component has not been called. Please check this inconsistency. STOP.', checkfact
451 real(RP),
intent(in) :: TEMP (
ia,
ja)
452 real(RP),
intent(in) :: PRES (
ia,
ja)
453 real(RP),
intent(in) :: W (
ia,
ja)
454 real(RP),
intent(in) :: U (
ia,
ja)
455 real(RP),
intent(in) :: V (
ia,
ja)
456 real(RP),
intent(in) :: DENS (
ia,
ja)
457 real(RP),
intent(in) :: QV (
ia,
ja)
458 real(RP),
intent(in) :: PBL (
ia,
ja)
459 real(RP),
intent(in) :: SFC_DENS (
ia,
ja)
460 real(RP),
intent(in) :: SFC_PRES (
ia,
ja)
462 real(RP),
intent(in) :: cosSZA (
ia,
ja)
463 real(RP),
intent(in) :: SFLX_rain (
ia,
ja)
464 real(RP),
intent(in) :: SFLX_snow (
ia,
ja)
465 logical,
intent(in) :: countup
467 integer :: i, j, idir, irgn
654 real(RP),
intent(in) :: SFC_TEMP (
ia,
ja)
656 real(RP),
intent(in) :: SFC_Z0M (
ia,
ja)
657 real(RP),
intent(in) :: SFC_Z0H (
ia,
ja)
658 real(RP),
intent(in) :: SFC_Z0E (
ia,
ja)
659 real(RP),
intent(in) :: SFLX_MW (
ia,
ja)
660 real(RP),
intent(in) :: SFLX_MU (
ia,
ja)
661 real(RP),
intent(in) :: SFLX_MV (
ia,
ja)
662 real(RP),
intent(in) :: SFLX_SH (
ia,
ja)
663 real(RP),
intent(in) :: SFLX_LH (
ia,
ja)
664 real(RP),
intent(in) :: SFLX_G (
ia,
ja)
665 real(RP),
intent(in) :: SFLX_QTRC (
ia,
ja,
qa)
666 real(RP),
intent(in) :: U10 (
ia,
ja)
667 real(RP),
intent(in) :: V10 (
ia,
ja)
668 real(RP),
intent(in) :: T2 (
ia,
ja)
669 real(RP),
intent(in) :: Q2 (
ia,
ja)
670 logical,
intent(in) :: countup
672 integer :: i, j, idir, irgn
754 real(RP),
intent(in) :: SFC_TEMP (
ia,
ja)
756 real(RP),
intent(in) :: SFC_Z0M (
ia,
ja)
757 real(RP),
intent(in) :: SFC_Z0H (
ia,
ja)
758 real(RP),
intent(in) :: SFC_Z0E (
ia,
ja)
759 real(RP),
intent(in) :: SFLX_MW (
ia,
ja)
760 real(RP),
intent(in) :: SFLX_MU (
ia,
ja)
761 real(RP),
intent(in) :: SFLX_MV (
ia,
ja)
762 real(RP),
intent(in) :: SFLX_SH (
ia,
ja)
763 real(RP),
intent(in) :: SFLX_LH (
ia,
ja)
764 real(RP),
intent(in) :: SFLX_G (
ia,
ja)
765 real(RP),
intent(in) :: SFLX_QTRC (
ia,
ja,
qa)
766 real(RP),
intent(in) :: U10 (
ia,
ja)
767 real(RP),
intent(in) :: V10 (
ia,
ja)
768 real(RP),
intent(in) :: T2 (
ia,
ja)
769 real(RP),
intent(in) :: Q2 (
ia,
ja)
770 logical,
intent(in) :: countup
772 integer :: i, j, idir, irgn
855 real(RP),
intent(in) :: SFC_TEMP (
ia,
ja)
857 real(RP),
intent(in) :: SFC_Z0M (
ia,
ja)
858 real(RP),
intent(in) :: SFC_Z0H (
ia,
ja)
859 real(RP),
intent(in) :: SFC_Z0E (
ia,
ja)
860 real(RP),
intent(in) :: SFLX_MW (
ia,
ja)
861 real(RP),
intent(in) :: SFLX_MU (
ia,
ja)
862 real(RP),
intent(in) :: SFLX_MV (
ia,
ja)
863 real(RP),
intent(in) :: SFLX_SH (
ia,
ja)
864 real(RP),
intent(in) :: SFLX_LH (
ia,
ja)
865 real(RP),
intent(in) :: SFLX_G (
ia,
ja)
866 real(RP),
intent(in) :: SFLX_QTRC (
ia,
ja,
qa)
867 real(RP),
intent(in) :: U10 (
ia,
ja)
868 real(RP),
intent(in) :: V10 (
ia,
ja)
869 real(RP),
intent(in) :: T2 (
ia,
ja)
870 real(RP),
intent(in) :: Q2 (
ia,
ja)
871 logical,
intent(in) :: countup
873 integer :: i, j, idir, irgn
958 real(RP),
intent(out) :: SFC_TEMP (
ia,
ja)
960 real(RP),
intent(out) :: SFC_Z0M (
ia,
ja)
961 real(RP),
intent(out) :: SFC_Z0H (
ia,
ja)
962 real(RP),
intent(out) :: SFC_Z0E (
ia,
ja)
963 real(RP),
intent(out) :: SFLX_MW (
ia,
ja)
964 real(RP),
intent(out) :: SFLX_MU (
ia,
ja)
965 real(RP),
intent(out) :: SFLX_MV (
ia,
ja)
966 real(RP),
intent(out) :: SFLX_SH (
ia,
ja)
967 real(RP),
intent(out) :: SFLX_LH (
ia,
ja)
968 real(RP),
intent(out) :: SFLX_G (
ia,
ja)
969 real(RP),
intent(out) :: SFLX_QTRC (
ia,
ja,
qa)
970 real(RP),
intent(out) :: U10 (
ia,
ja)
971 real(RP),
intent(out) :: V10 (
ia,
ja)
972 real(RP),
intent(out) :: T2 (
ia,
ja)
973 real(RP),
intent(out) :: Q2 (
ia,
ja)
975 integer :: i, j, idir, irgn, iq
997 sfc_albedo(i,j,idir,irgn) = fact_ocean(i,j) *
ocn_sfc_albedo(i,j,idir,irgn) &
1003 sfc_z0m(i,j) = fact_ocean(i,j) *
ocn_sfc_z0m(i,j) &
1007 sfc_z0h(i,j) = fact_ocean(i,j) *
ocn_sfc_z0h(i,j) &
1011 sfc_z0e(i,j) = fact_ocean(i,j) *
ocn_sfc_z0e(i,j) &
1015 sflx_mw(i,j) = fact_ocean(i,j) *
ocn_sflx_mw(i,j) &
1019 sflx_mu(i,j) = fact_ocean(i,j) *
ocn_sflx_mu(i,j) &
1023 sflx_mv(i,j) = fact_ocean(i,j) *
ocn_sflx_mv(i,j) &
1027 sflx_sh(i,j) = fact_ocean(i,j) *
ocn_sflx_sh(i,j) &
1031 sflx_lh(i,j) = fact_ocean(i,j) *
ocn_sflx_lh(i,j) &
1036 sflx_g(i,j) = - fact_ocean(i,j) *
ocn_sflx_g(i,j) &
1041 sflx_qtrc(i,j,iq) = fact_ocean(i,j) *
ocn_sflx_qtrc(i,j,iq) &
1046 u10(i,j) = fact_ocean(i,j) *
ocn_u10(i,j) &
1047 + fact_land(i,j) *
lnd_u10(i,j) &
1048 + fact_urban(i,j) *
urb_u10(i,j)
1050 v10(i,j) = fact_ocean(i,j) *
ocn_v10(i,j) &
1051 + fact_land(i,j) *
lnd_v10(i,j) &
1052 + fact_urban(i,j) *
urb_v10(i,j)
1054 t2(i,j) = fact_ocean(i,j) *
ocn_t2(i,j) &
1055 + fact_land(i,j) *
lnd_t2(i,j) &
1056 + fact_urban(i,j) *
urb_t2(i,j)
1058 q2(i,j) = fact_ocean(i,j) *
ocn_q2(i,j) &
1059 + fact_land(i,j) *
lnd_q2(i,j) &
1060 + fact_urban(i,j) *
urb_q2(i,j)
1089 real(RP),
intent(out) :: TEMP (
ia,
ja)
1090 real(RP),
intent(out) :: PRES (
ia,
ja)
1091 real(RP),
intent(out) :: W (
ia,
ja)
1092 real(RP),
intent(out) :: U (
ia,
ja)
1093 real(RP),
intent(out) :: V (
ia,
ja)
1094 real(RP),
intent(out) :: DENS (
ia,
ja)
1095 real(RP),
intent(out) :: QV (
ia,
ja)
1096 real(RP),
intent(out) :: PBL (
ia,
ja)
1097 real(RP),
intent(out) :: SFC_DENS (
ia,
ja)
1098 real(RP),
intent(out) :: SFC_PRES (
ia,
ja)
1100 real(RP),
intent(out) :: cosSZA (
ia,
ja)
1101 real(RP),
intent(out) :: SFLX_rain (
ia,
ja)
1102 real(RP),
intent(out) :: SFLX_snow (
ia,
ja)
1104 integer :: i, j, idir, irgn
1160 real(RP),
intent(out) :: TEMP (
ia,
ja)
1161 real(RP),
intent(out) :: PRES (
ia,
ja)
1162 real(RP),
intent(out) :: W (
ia,
ja)
1163 real(RP),
intent(out) :: U (
ia,
ja)
1164 real(RP),
intent(out) :: V (
ia,
ja)
1165 real(RP),
intent(out) :: DENS (
ia,
ja)
1166 real(RP),
intent(out) :: QV (
ia,
ja)
1167 real(RP),
intent(out) :: PBL (
ia,
ja)
1168 real(RP),
intent(out) :: SFC_DENS (
ia,
ja)
1169 real(RP),
intent(out) :: SFC_PRES (
ia,
ja)
1171 real(RP),
intent(out) :: cosSZA (
ia,
ja)
1172 real(RP),
intent(out) :: SFLX_rain (
ia,
ja)
1173 real(RP),
intent(out) :: SFLX_snow (
ia,
ja)
1175 integer :: i, j, idir, irgn
1231 real(RP),
intent(out) :: TEMP (
ia,
ja)
1232 real(RP),
intent(out) :: PRES (
ia,
ja)
1233 real(RP),
intent(out) :: W (
ia,
ja)
1234 real(RP),
intent(out) :: U (
ia,
ja)
1235 real(RP),
intent(out) :: V (
ia,
ja)
1236 real(RP),
intent(out) :: DENS (
ia,
ja)
1237 real(RP),
intent(out) :: QV (
ia,
ja)
1238 real(RP),
intent(out) :: PBL (
ia,
ja)
1239 real(RP),
intent(out) :: SFC_DENS (
ia,
ja)
1240 real(RP),
intent(out) :: SFC_PRES (
ia,
ja)
1242 real(RP),
intent(out) :: cosSZA (
ia,
ja)
1243 real(RP),
intent(out) :: SFLX_rain (
ia,
ja)
1244 real(RP),
intent(out) :: SFLX_snow (
ia,
ja)
1246 integer :: i, j, idir, irgn
real(rp), dimension(:,:), allocatable, public urb_sflx_g
real(rp), dimension(:,:), allocatable, public lnd_sflx_g
real(rp), dimension(:,:), allocatable, public urb_atm_w
real(rp), dimension(:,:), allocatable, public urb_sflx_mv
real(rp), public cnt_putatm_ocn
real(rp), dimension(:,:,:,:), allocatable, public lnd_sfc_albedo
real(rp), dimension(:,:), allocatable, public landuse_fact_urban
urban factor
real(rp), public cnt_putatm_lnd
real(rp), dimension(:,:), allocatable, public ocn_v10
module coupler / surface-atmospehre
real(rp), dimension(:,:), allocatable, public lnd_sflx_mw
real(rp), dimension(:,:), allocatable, public ocn_atm_w
real(rp), dimension(:,:), allocatable, public ocn_atm_pbl
real(rp), dimension(:,:), allocatable, public ocn_sflx_mv
integer, public ia
of whole cells: x, local, with HALO
real(rp), dimension(:,:), allocatable, public lnd_sfc_temp
real(rp), dimension(:,:), allocatable, public lnd_atm_cossza
integer, parameter, public i_r_vis
real(rp), dimension(:,:), allocatable, public ocn_sflx_lh
real(rp), dimension(:,:), allocatable, public urb_sfc_z0h
real(rp), dimension(:,:), allocatable, public lnd_atm_dens
real(rp), dimension(:,:), allocatable, public urb_sflx_sh
real(rp), dimension(:,:), allocatable, public ocn_atm_dens
real(rp), dimension(:,:,:), allocatable, public ocn_sflx_qtrc
real(rp), dimension(:,:), allocatable, public lnd_sflx_mv
real(rp), dimension(:,:), allocatable, public ocn_q2
real(rp), dimension(:,:), allocatable, public urb_atm_pres
integer, public ja
of whole cells: y, local, with HALO
integer, parameter, public n_rad_dir
real(rp), dimension(:,:), allocatable, public ocn_sfc_temp
integer, parameter, public n_rad_rgn
real(rp), dimension(:,:), allocatable, public urb_atm_cossza
real(rp), dimension(:,:), allocatable, public ocn_sfc_z0e
real(rp), dimension(:,:), allocatable, public urb_sfc_z0e
real(rp), dimension(:,:), allocatable, public ocn_atm_sflx_snow
subroutine, public cpl_getsfc_atm(SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_G, SFLX_QTRC, U10, V10, T2, Q2)
real(rp), dimension(:,:), allocatable, public lnd_atm_temp
real(rp), dimension(:,:), allocatable, public urb_atm_sflx_snow
real(rp), public const_undef
real(rp), dimension(:,:), allocatable, public urb_q2
real(rp), dimension(:,:,:), allocatable, public lnd_sflx_qtrc
real(rp), dimension(:,:), allocatable, public ocn_atm_temp
real(rp), dimension(:,:), allocatable, public ocn_sflx_g
real(rp), dimension(:,:), allocatable, public ocn_atm_sfc_dens
real(rp), dimension(:,:), allocatable, public ocn_sfc_z0h
real(rp), dimension(:,:,:), allocatable, public urb_sflx_qtrc
real(rp), dimension(:,:), allocatable, public urb_atm_sfc_pres
real(rp), dimension(:,:), allocatable, public ocn_t2
integer, public is
start point of inner domain: x, local
real(rp), dimension(:,:), allocatable, public lnd_atm_qv
real(rp), dimension(:,:), allocatable, public lnd_v10
integer, public ie
end point of inner domain: x, local
real(rp), dimension(:,:), allocatable, public ocn_atm_sfc_pres
real(rp), public cnt_putlnd
logical, public atmos_hydrometeor_dry
module atmosphere / hydrometeor
real(rp), dimension(:,:), allocatable, public ocn_atm_qv
real(rp), dimension(:,:), allocatable, public lnd_t2
real(rp), dimension(:,:), allocatable, public lnd_atm_sflx_snow
real(rp), dimension(:,:), allocatable, public lnd_atm_v
module atmosphere / grid / cartesC index
real(rp), dimension(:,:), allocatable, public ocn_u10
subroutine, public cpl_vars_setup
Setup.
real(rp), dimension(:,:), allocatable, public lnd_sfc_z0e
real(rp), dimension(:,:), allocatable, public ocn_sflx_sh
integer, public je
end point of inner domain: y, local
real(rp), dimension(:,:), allocatable, public ocn_atm_v
real(rp), dimension(:,:), allocatable, public lnd_sfc_z0m
real(rp), dimension(:,:), allocatable, public urb_sfc_z0m
real(rp), dimension(:,:), allocatable, public landuse_fact_ocean
ocean factor
subroutine, public cpl_putocn(SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_G, SFLX_QTRC, U10, V10, T2, Q2, countup)
real(rp), dimension(:,:), allocatable, public lnd_atm_sflx_rain
real(rp), dimension(:,:), allocatable, public ocn_atm_cossza
real(rp), dimension(:,:), allocatable, public lnd_atm_sfc_dens
real(rp), dimension(:,:), allocatable, public landuse_fact_lake
lake factor
real(rp), dimension(:,:), allocatable, public ocn_atm_sflx_rain
real(rp), dimension(:,:), allocatable, public ocn_sflx_mw
real(rp), dimension(:,:,:,:), allocatable, public urb_sfc_albedo
real(rp), dimension(:,:), allocatable, public lnd_sflx_lh
subroutine, public prc_abort
Abort Process.
real(rp), dimension(:,:), allocatable, public lnd_atm_pbl
real(rp), dimension(:,:), allocatable, public ocn_atm_u
subroutine, public cpl_puturb(SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_G, SFLX_QTRC, U10, V10, T2, Q2, countup)
integer, public js
start point of inner domain: y, local
integer, parameter, public i_r_direct
real(rp), dimension(:,:,:,:), allocatable, public lnd_atm_sflx_rad_dn
real(rp), dimension(:,:), allocatable, public urb_atm_v
real(rp), dimension(:,:), allocatable, public urb_t2
real(rp), dimension(:,:), allocatable, public urb_sflx_lh
real(rp), dimension(:,:), allocatable, public lnd_u10
real(rp), dimension(:,:), allocatable, public urb_atm_pbl
real(rp), dimension(:,:), allocatable, public lnd_atm_sfc_pres
real(rp), dimension(:,:), allocatable, public lnd_sflx_mu
real(rp), dimension(:,:,:,:), allocatable, public ocn_atm_sflx_rad_dn
subroutine, public cpl_putlnd(SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_G, SFLX_QTRC, U10, V10, T2, Q2, countup)
real(rp), dimension(:,:), allocatable, public lnd_atm_pres
subroutine, public cpl_getatm_lnd(TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_rain, SFLX_snow)
real(rp), dimension(:,:), allocatable, public lnd_q2
subroutine, public cpl_putatm(TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_rain, SFLX_snow, countup)
real(rp), dimension(:,:), allocatable, public urb_atm_qv
real(rp), dimension(:,:), allocatable, public urb_u10
real(rp), dimension(:,:), allocatable, public urb_atm_sflx_rain
real(rp), dimension(:,:), allocatable, public urb_atm_dens
real(rp), dimension(:,:,:,:), allocatable, public ocn_sfc_albedo
real(rp), dimension(:,:), allocatable, public urb_atm_sfc_dens
real(rp), dimension(:,:), allocatable, public ocn_atm_pres
real(rp), dimension(:,:), allocatable, public lnd_atm_u
real(rp), dimension(:,:), allocatable, public lnd_atm_w
real(rp), dimension(:,:), allocatable, public urb_v10
integer, parameter, public i_r_ir
real(rp), dimension(:,:), allocatable, public landuse_fact_land
land factor
integer, parameter, public i_r_diffuse
real(rp), dimension(:,:), allocatable, public urb_sfc_temp
real(rp), dimension(:,:), allocatable, public lnd_sflx_sh
subroutine, public cpl_getatm_urb(TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_rain, SFLX_snow)
real(rp), public cnt_puturb
real(rp), dimension(:,:), allocatable, public urb_sflx_mw
real(rp), dimension(:,:), allocatable, public lnd_sfc_z0h
real(rp), dimension(:,:), allocatable, public ocn_sflx_mu
subroutine, public cpl_getatm_ocn(TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_rain, SFLX_snow)
real(rp), public cnt_putocn
real(rp), dimension(:,:), allocatable, public urb_sflx_mu
real(rp), dimension(:,:), allocatable, public ocn_sfc_z0m
real(rp), dimension(:,:), allocatable, public urb_atm_temp
real(rp), dimension(:,:), allocatable, public urb_atm_u
real(rp), dimension(:,:,:,:), allocatable, public urb_atm_sflx_rad_dn
real(rp), public cnt_putatm_urb