47 real(RP),
private,
allocatable :: qvef(:,:)
48 real(RP),
private,
allocatable :: sr (:,:)
90 log_info(
"OCEAN_driver_setup",*)
'Setup' 102 log_error(
"OCEAN_driver_setup",*)
'OCEAN_DYN_TYPE is invalid: ', trim(
ocean_dyn_type)
107 case (
'FIXED-TEMP' )
110 log_error(
"OCEAN_driver_setup",*)
'OCEAN_SFC_TYPE is invalid: ', trim(
ocean_sfc_type)
122 log_error(
"OCEAN_driver_setup",*)
'OCEAN_ICE_TYPE is invalid: ', trim(
ocean_ice_type)
128 case (
'NAKAJIMA00' )
137 log_error(
"OCEAN_driver_setup",*)
'OCEAN_ALB_TYPE is invalid: ', trim(
ocean_alb_type)
154 log_error(
"OCEAN_driver_setup",*)
'OCEAN_RGN_TYPE is invalid: ', trim(
ocean_rgn_type)
186 hydrometeor_lhv => atmos_hydrometeor_lhv, &
187 hydrometeor_lhs => atmos_hydrometeor_lhs, &
272 logical,
intent(in) :: force
276 real(RP) :: ATMOS_Uabs (
oia,
oja)
277 real(RP) :: sfc_frac (
oia,
oja)
278 real(RP) :: sfc_temp (
oia,
oja)
280 real(RP) :: sfc_Z0M (
oia,
oja)
281 real(RP) :: sfc_Z0H (
oia,
oja)
282 real(RP) :: sfc_Z0E (
oia,
oja)
283 real(RP) :: subsfc_temp (
oia,
oja)
284 real(RP) :: TC_dz (
oia,
oja)
285 real(RP) :: sflx_MW (
oia,
oja)
286 real(RP) :: sflx_MU (
oia,
oja)
287 real(RP) :: sflx_MV (
oia,
oja)
288 real(RP) :: sflx_SH (
oia,
oja)
289 real(RP) :: sflx_QV (
oia,
oja)
294 real(RP) :: sflx_hbalance(
oia,
oja)
295 real(RP) :: sflx_G (
oia,
oja)
296 real(RP) :: sflx_water (
oia,
oja)
297 real(RP) :: sflx_ice (
oia,
oja)
298 logical :: exists_ice (
oia,
oja)
300 integer :: k, i, j, iq, idir, irgn
325 exists_ice(i,j) = .false.
326 if( exists_ocean(i,j) .AND.
ocean_ice_frac(i,j) > 0.0_rp ) exists_ice(i,j) = .true.
375 case (
'NAKAJIMA00' )
379 sfc_albedo(:,:,:,:) )
388 sfc_albedo(:,:,:,:) )
446 case (
'FIXED-TEMP' )
464 sfc_albedo(:,:,:,:), &
504 ocean_u10(i,j) = u10(i,j) * sfc_frac(i,j)
505 ocean_v10(i,j) = v10(i,j) * sfc_frac(i,j)
506 ocean_t2(i,j) = t2(i,j) * sfc_frac(i,j)
507 ocean_q2(i,j) = q2(i,j) * sfc_frac(i,j)
509 ocean_sflx_g(i,j) = sflx_g(i,j) * sfc_frac(i,j) * (-1.0_rp)
552 case (
'NAKAJIMA00' )
555 sfc_albedo(:,:,:,:) )
559 sfc_albedo(:,:,:,:) )
575 case (
'MILLER92',
'MOON07' )
608 case (
'FIXED-TEMP' )
626 sfc_albedo(:,:,:,:), &
652 sflx_hbalance(i,j) = - sflx_g(i,j)
661 sflx_hbalance(:,:), &
677 sflx_g(i,j) = - sflx_g(i,j)
678 sflx_water(i,j) = 0.0_rp
679 sflx_ice(i,j) = 0.0_rp
722 ocean_sfc_albedo(i,j,idir,irgn) =
ocean_sfc_albedo(i,j,idir,irgn) + sfc_albedo(i,j,idir,irgn) * sfc_frac(i,j)
754 ocean_grid_cartesc_real_vol(:,:,:), &
755 ocean_grid_cartesc_real_totvol )
966 logical,
intent(in) :: countup
real(dp), public time_dtsec_ocean
time interval of ocean step [sec]
module ocean / physics / surface albedo / nakajima00
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
ocean surface u-momentum flux [kg/m/s2]
module coupler / surface fixed temp model
real(rp), dimension(:,:), allocatable, public atmos_cossza
character(len=h_short), public ocean_sfc_type
subroutine, public ocean_phy_roughness_seaice(OIA, OIS, OIE, OJA, OJS, OJE, Z0M, Z0H, Z0E)
module coupler / surface-atmospehre
subroutine, public ocean_driver_setup
Setup.
real(rp), dimension(:,:,:), allocatable, public ocean_grid_cartesc_real_vol
volume of grid cell
subroutine, public ocean_dyn_offline(OKMAX, OKS, OKE, OIA, OIS, OIE, OJA, OJS, OJE, calc_flag, dt, NOWDAYSEC, OCEAN_TEMP)
Slab ocean model.
integer, parameter, public i_r_vis
module ocean / physics / surface thermal conductivity
real(rp), dimension(:,:,:), allocatable, public ocean_uvel_t
tendency of OCEAN_OCN_UVEL
subroutine, public ocean_phy_roughness_const(OIA, OIS, OIE, OJA, OJS, OJE, Z0M, Z0H, Z0E)
subroutine, public ocean_vars_history
History output set for ocean variables.
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
ocean surface w-momentum flux [kg/m/s2]
real(rp), dimension(:,:), allocatable, public ocean_ice_temp_t
tendency of OCEAN_ICE_TEMP
subroutine, public cpl_phy_sfc_fixed_temp_setup
Setup.
subroutine, public ocean_phy_albedo_seaice_setup
subroutine, public ocean_surface_get
Get surface boundary from other model.
real(dp), public time_nowdaysec
second of current time [sec]
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public ocean_ice_mass
sea ice mass [kg]
subroutine, public ocean_phy_albedo_nakajima00(OIA, OIS, OIE, OJA, OJS, OJE, cosSZA, SFC_albedo)
subroutine, public ocean_phy_roughness_const_setup
module ATMOSPHERE / Physics Chemistry
real(rp), dimension(:,:), allocatable, public ocean_grid_cartesc_real_area
area of grid cell
integer, parameter, public n_rad_dir
integer, parameter, public n_rad_rgn
real(rp), public ocean_grid_cartesc_real_totarea
total area
subroutine, public ocean_driver_update
Ocean step.
real(rp), dimension(:,:), allocatable, public ocean_u10
ocean surface velocity u at 10m [m/s]
subroutine, public ocean_phy_albedo_const(OIA, OIS, OIE, OJA, OJS, OJE, SFC_albedo)
subroutine, public ocean_phy_roughness_miller92(OIA, OIS, OIE, OJA, OJS, OJE, Uabs, Z0M, Z0H, Z0E)
subroutine, public atmos_phy_ch_driver_ocean_flux(SFLX_QTRC)
Driver.
logical, public statistics_checktotal
calc&report variable totals to logfile?
real(rp), dimension(:,:,:), allocatable, public ocean_temp_t
tendency of OCEAN_OCN_TEMP
real(rp), dimension(:,:), allocatable, public atmos_w
subroutine, public ocean_phy_albedo_seaice(OIA, OIS, OIE, OJA, OJS, OJE, SFC_albedo)
real(rp), dimension(:,:), allocatable, public ocean_sflx_g
ocean surface water heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public atmos_v
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_z1
Height of the lowermost grid from surface (cell center) [m].
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
ocean surface tracer flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
ocean surface latent heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_t2
ocean surface temperature at 2m [K]
subroutine, public ocean_phy_ice_adjustment(OIA, OIS, OIE, OJA, OJS, OJE, calc_flag, OCEAN_DEPTH, OCEAN_TEMP, ICE_TEMP, ICE_MASS)
character(len=h_short), public ocean_alb_type
real(rp), public ocean_dyn_slab_depth
water depth of slab ocean [m]
logical, public atmos_hydrometeor_dry
module atmosphere / hydrometeor
real(rp), dimension(:,:), allocatable, public ocean_ice_frac
area fraction of sea ice [1]
subroutine, public ocean_dyn_slab(OKMAX, OKS, OKE, OIA, OIS, OIE, OJA, OJS, OJE, OCEAN_TEMP_t, OCEAN_SFLX_G, OCEAN_SFLX_water, OCEAN_SFLX_ice, calc_flag, dt, NOWDAYSEC, OCEAN_TEMP)
Slab ocean model.
real(rp), dimension(:,:,:), allocatable, public ocean_salt
ocean salinity [PSU]
real(rp), dimension(:,:), allocatable, public atmos_sflx_snow
real(rp), dimension(:,:), allocatable, public atmos_sfc_dens
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
module ocean / grid / cartesianC / real
real(rp), dimension(:,:), allocatable, public atmos_sfc_pres
subroutine, public ocean_surface_set(countup)
Put surface boundary to other model.
real(rp), dimension(:,:), allocatable, public ocean_ice_mass_t
tendency of OCEAN_ICE_MASS
real(rp), dimension(:,:,:), allocatable, public ocean_temp
ocean temperature [K]
subroutine, public ocean_vars_total
Budget monitor for ocean.
character(len=h_short), public ocean_dyn_type
subroutine, public ocean_dyn_slab_setup
Setup.
character(len=h_short), public ocean_ice_type
real(rp), dimension(:,:), allocatable, public ocean_q2
ocean surface water vapor at 2m [kg/kg]
subroutine, public ocean_phy_roughness_seaice_setup
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 atmos_pbl
real(rp), public ocean_grid_cartesc_real_totvol
total volume
module ocean / physics / surface albedo
logical, public atmos_sw_phy_ch
real(rp), dimension(:,:), allocatable, public atmos_temp
subroutine, public prc_abort
Abort Process.
module ocean / dynamics / offline
character(len=h_short), public ocean_rgn_type
integer, parameter, public i_r_direct
module ocean / physics / surface roughness length / miller92
real(rp), dimension(:,:), allocatable, public ocean_v10
ocean surface velocity v at 10m [m/s]
subroutine, public prof_rapstart(rapname_base, level)
Start raptime.
subroutine, public ocean_phy_tc_seaice_setup
module ocean / grid / cartesianC / index
subroutine, public ocean_phy_roughness_miller92_setup
module ocean / physics / surface roughness length / moon07
real(rp), dimension(:,:), allocatable, public atmos_sflx_rain
subroutine, public ocean_phy_ice_fraction(OIA, OIS, OIE, OJA, OJS, OJE, ICE_MASS, ICE_FRAC)
real(rp), dimension(:,:), allocatable, public ocean_sflx_ice
ocean surface ice water flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public atmos_u
logical, dimension(:,:), allocatable, public landuse_exists_ocean
ocean calculation flag
subroutine, public ocean_dyn_offline_setup
Setup.
real(rp), dimension(:,:,:), allocatable, public ocean_vvel
ocean meridional velocity [m/s]
module Atmosphere GRID CartesC Real(real space)
real(rp), dimension(:,:,:), allocatable, public ocean_salt_t
tendency of OCEAN_OCN_SALT
subroutine, public ocean_phy_roughness_moon07(OIA, OIS, OIE, OJA, OJS, OJE, Uabs, Z1, Z0M, Z0H, Z0E)
module ocean / physics / ice / simple
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
ocean surface v-momentum flux [kg/m/s2]
subroutine, public ocean_driver_calc_tendency(force)
Calculate tendency.
module ocean / dynamics / slab
real(rp), dimension(:,:), allocatable, public atmos_pres
real(rp), dimension(:,:), allocatable, public ocean_sflx_water
ocean surface liquid water flux [kg/m2/s]
subroutine, public ocean_phy_roughness_moon07_setup
real(rp), dimension(:,:), allocatable, public atmos_dens
integer, parameter, public i_r_ir
real(rp), dimension(:,:), allocatable, public ocean_ice_temp
sea ice temperature [K]
real(rp), dimension(:,:), allocatable, public ocean_ocn_z0m
surface roughness length for momentum, open ocean [m]
integer, parameter, public i_r_diffuse
real(rp), dimension(:,:,:), allocatable, public ocean_vvel_t
tendency of OCEAN_OCN_VVEL
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
module ocean / physics / surface roughness length
subroutine, public prof_rapend(rapname_base, level)
Save raptime.
subroutine, public ocean_phy_ice_setup
subroutine, public cpl_phy_sfc_fixed_temp(IA, IS, IE, JA, JS, JE, TMPA, PRSA, WA, UA, VA, RHOA, QVA, LH, Z1, PBL, RHOS, PRSS, RFLXD, TMPS, QVEF, ALBEDO, Rb, Z0M, Z0H, Z0E, calc_flag, dt, ZMFLX, XMFLX, YMFLX, SHFLX, QVFLX, GFLX, U10, V10, T2, Q2)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
subroutine, public ocean_phy_tc_seaice(OIA, OIS, OIE, OJA, OJS, OJE, ICE_MASS, ICE_FRAC, TC_dz)
real(rp), dimension(:,:,:), allocatable, public ocean_uvel
ocean zonal velocity [m/s]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
real(rp), dimension(:,:), allocatable, public atmos_qv
subroutine, public ocean_phy_albedo_const_setup
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)
subroutine, public ocean_phy_ice_simple(OIA, OIS, OIE, OJA, OJS, OJE, sflx_QV, sflx_rain, sflx_snow, sflx_hbalance, subsfc_temp, TC_dz, ICE_TEMP, ICE_MASS, calc_flag, dt, ICE_TEMP_t, ICE_MASS_t, sflx_G, sflx_water, sflx_ice)
Slab ocean model.
real(rp), dimension(:,:,:,:), allocatable, public atmos_sflx_rad_dn
subroutine, public ocean_phy_albedo_nakajima00_setup
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
ocean surface sensible heat flux [J/m2/s]