Skip to content

Commit

Permalink
revise format in doxygen style
Browse files Browse the repository at this point in the history
  • Loading branch information
baoqiang80 committed Jun 26, 2024
1 parent 074d85d commit dbb8e8d
Showing 1 changed file with 34 additions and 12 deletions.
46 changes: 34 additions & 12 deletions shared/surface_flux.F90
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ module surface_flux_mod
use FMSconstants, only: cp_air, hlv, stefan, rdgas, rvgas, grav, vonkarm
use ocean_rough_mod, only: cal_z0_hwrf17, cal_zt_hwrf17, read_ocean_rough_scheme
use constants_mod, only: vonkarm
use fms_mod, only: mpp_pe, mpp_root_pe, stdout


implicit none
Expand Down Expand Up @@ -716,7 +717,9 @@ end subroutine surface_flux_2d
subroutine surface_flux_init

! ---- local vars ----------------------------------------------------------
integer :: unit, ierr, io
integer :: unit, ierr, io, outunit

outunit = stdout()

! read namelist
read (fms_mpp_input_nml_file, surface_flux_nml, iostat=io)
Expand All @@ -727,6 +730,11 @@ subroutine surface_flux_init
! because the intialization of ocean_rough is later than the surface_flux_init.
if (do_iter_monin_obukhov) then
call read_ocean_rough_scheme(rough_scheme_ocean)
if (mpp_pe() == mpp_root_pe() ) then
write (outunit,*) 'ocean roughness scheme: ', rough_scheme_ocean
write (outunit,*) 'Warning: if ocean roughness scheme is not hwrf17, &
iter_monin_obukhov_ocean is not effective'
endif
endif

! write version number
Expand Down Expand Up @@ -1024,28 +1032,42 @@ subroutine ncar_ocean_fluxes_multilevel (u_del, t, ts, q, qs, zu, zt, zq, avail,

end subroutine ncar_ocean_fluxes_multilevel

!> \brief Update air-sea flux variables to be consistent with the concurrent atmospheric states
!! \note Right now, it is only effective when ocean_rough = 'hwrf17', but this
!! can be expanded if necessarily to incorporate other roughness schemies
!! contact: [email protected]; [email protected]
subroutine iter_monin_obukhov_ocean ( &
z_atm, u_atm, v_atm, w_atm, thv_atm, q_atm, &
u_surf, v_surf, thv_surf, q_surf0, &
rough_mom, rough_heat, rough_moist, &
cd_m, cd_t, cd_q, u_star, b_star, avail, seawater)
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! Right now, it is only effective when ocean_rough = 'hwrf17', but this
! can be expanded if necessarily to incorporate other roughness schemies
! contact: [email protected]; [email protected]
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!

real , intent(in), dimension(:) :: &
z_atm, u_atm, v_atm, w_atm, thv_atm, q_atm, &
u_surf, v_surf, thv_surf, q_surf0
z_atm, & !< Height at the lowest atmospheric level
u_atm, & !< Zonal wind velocity at the lowest atmospheric level
v_atm, & !< Meridional wind velocity at the lowest atmospheric level
w_atm, & !< Absolute wind at the lowest atmospheric level
thv_atm, & !< Surface air theta_v
q_atm, & !< Mixing ratio at lowest atmospheric level (kg/kg)
u_surf, & !< Zonal wind velocity at the Earth's surface
v_surf, & !< Meridional wind velocity at the Earth's surface
thv_surf, & !< Surface theta_v
q_surf0 !< Surface air humidity

real , intent(inout), dimension(:) :: &
rough_mom, rough_heat, rough_moist, &
cd_m, cd_t, cd_q, u_star, b_star
rough_mom, & !< Momentum roughness length
rough_heat, & !< Heat roughness length
rough_moist,& !< Moisture roughness length
cd_m, & !< Momentum exchange coefficient
cd_t, & !< Heat exchange coefficient
cd_q, & !< Moisture exchange coefficient
u_star, & !< Turbulent velocity scale
b_star !< Turbulent buoyant scale
logical, intent(in), dimension(:) :: &
avail, seawater
avail, & !< .TRUE. where the exchange cell is active
seawater !< Indicates where liquid ocean water exists (.TRUE. if exchange cell is on liquid ocean water)

! local var
! ---- local vars -----------------------------------------------------------
real, dimension(size(z_atm(:))) :: &
flux_q, q_star, &
ref_u, ref_v, u10, del_m, del_h, del_q, &
Expand Down

0 comments on commit dbb8e8d

Please sign in to comment.