Skip to content

Taking icol_road_perv into account in eCLM-ParFlow #61

@s-poll

Description

@s-poll

Currently, the calculation of the Q-flux (ET-runoff) to ParFlow is just done for the landunit istsoil and istcrop for the sink/source term for ParFlow, as can be seen here:

#ifdef COUP_OAS_PFL
! Calculate Parflow water fluxes
call c2g( bounds, nlevsoi, &
waterflux_inst%qflx_parflow_col (bounds%begc:bounds%endc, :), &
lnd2atm_inst%qflx_parflow_grc (bounds%begg:bounds%endg, :), &
c2l_scale_type= 'unity', l2g_scale_type='unity' )
do c = bounds%begc, bounds%endc
if (col%hydrologically_active(c)) then
if (col%itype(c) == istsoil .or. col%itype(c) == istcrop) then
g = col%gridcell(c)
do j = 1, nlevsoi
! Convert eCLM fluxes (mm/s) to ParFlow fluxes (1/hr):
! 1/hr = [mm/s] * [s/hr] * [m/mm] * [1/m]
lnd2atm_inst%qflx_parflow_grc(g,j) = lnd2atm_inst%qflx_parflow_grc(g,j) * sec_per_hr * m_per_mm * (1/col%dz(c,j))
enddo
end if
end if
end do
#endif

Hydro-logical active area also include the column-type urban pervious road (icol_road_perv) and could contain infiltration. To my current understanding, this column type should be also considered into the coupling of eCLM-ParFlow. Is there any reasons to exclude this column type?

Further code-snippets:

Column-types:

! 1 => (istsoil) soil (vegetated or bare soil)
! 2 => (istcrop) crop (only for crop configuration)
! 3 => (UNUSED) (formerly non-multiple elevation class land ice; currently unused)
! 4 => (istice_mec) land ice (multiple elevation classes)
! 5 => (istdlak) deep lake
! 6 => (istwet) wetland
! 71 => (icol_roof) urban roof
! 72 => (icol_sunwall) urban sunwall
! 73 => (icol_shadewall) urban shadewall
! 74 => (icol_road_imperv) urban impervious road
! 75 => (icol_road_perv) urban pervious road

Hydro-logical active columns:

if (lun_itype == istsoil .or. lun_itype == istcrop) then
hydrologically_active = .true.
else if (col_itype == icol_road_perv) then
hydrologically_active = .true.
else
hydrologically_active = .false.
end if

Calculation in ParFlowDrainage:

! Calculate here the source/sink term for ParFlow
do j = 1, nlevsoi
do fc = 1, num_hydrologyc
c = filter_hydrologyc(fc)
if (j == 1) then
! From SoilWaterPlantSinkMod:
! qflx_rootsoi_col(c,j) = rootr_col(c,j)*qflx_tran_veg_col(c)
qflx_parflow(c,j) = (qflx_infl(c) - qflx_rootsoi(c,j)) !* 3.6_r8 / dz(c,j)
else
qflx_parflow(c,j) = -qflx_rootsoi(c,j) !* 3.6_r8 / dz(c,j)
end if
end do
end do

Metadata

Metadata

Assignees

No one assigned

    Labels

    coupled-parflowIssues related to eCLM-ParFlow coupling

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions