Skip to content

Enable CLM3.5 land cover tile approach #158

@niklaswr

Description

@niklaswr

Enable CLM3.5 land cover tile approach

The problem

It is of general interest to use the CLM3.5 land cover tile approach, especially for coarse resolution simulations as the EUR11 domain.
However, at the moment, TSMP sets hard-coded the maximum of individual pfts per CLM3.5 grid cell to 1, wherefore the most dominant land cover type in each grid cell is used and not the tile approach.

For referenc see: intf_oas3/common_build_interface.ksh (l.606)

maxpft="1"        # settings are 4->17               (default is 4)

Fixing this is not possible by simple increasing maxpft, as there is a code snippet within TSMP only working for maxpft=1 but essentially to run in fully coupled mode:

intf_oas3/clm3_5/tsmp/Biogeophysics1Mod.F90 (l. 401)

!CPS change forc_hgt = forc_hgt + z0m + displa at PFT level, works for 1 pft max
!    if (max_pft_per_col .eq. 1) then
    if (maxpatch_pft .eq. 1) then
    do pi = 1,max_pft_per_col
      do fc = 1,num_nolakec
        c = filter_nolakec(fc)
        l = clandunit(c)
        g = cgridcell(c)
        if (pi <= npfts(c)) then
          p = pfti(c) + pi - 1

          if (frac_sno(c) > 0._r8 ) then
            forc_hgt_u(p) = forc_hgt_u(g) + z0mg(c) + displa(p)
            forc_hgt_t(g) = forc_hgt_t(g) + z0mg(c) + displa(p)
            forc_hgt_q(g) = forc_hgt_q(g) + z0mg(c) + displa(p)
          else
            forc_hgt_u(g) = forc_hgt_u(g) + z0m(p) + displa(p)
            forc_hgt_t(g) = forc_hgt_t(g) + z0m(p) + displa(p)
            forc_hgt_q(g) = forc_hgt_q(g) + z0m(p) + displa(p)
          end if
        end if
      end do
    end do
    end if
!CPS

Above code is correcting the forcing height (forc_hgt) according to pft types present within each grid cell. This is needed, as CLM3.5 does not allow a forcing height below the actual canopy height, but the forc_hgt is fix in fully coupled mode, and therefore might interfere with the actual canopy height which varies from setup to setup.
So above code snippet is correcting the forc_hgt to be greater than canopy height in any case.
However, the code snippet above is working for maxoft=1 only, and has to be rewritten to work for maxpft>1.

ToDo

  • Rewite intf_oas3/clm3_5/tsmp/Biogeophysics1Mod.F90 (l. 401) to work with maxpft>1

Metadata

Metadata

Labels

CLMIssues regarding CLM component or its couplingenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions