Skip to content

Add Lscale variable as an intent(out) to advance_clubb_core #16

@adamrher

Description

@adamrher

Requesting the Lscale variable be added as an intent(out) argument to advance_clubb_core, and its api (called from clubb_intr.F90 in CAM). The purpose is for modifying the khzm diffusion coefficient computed in clubb with additional kinetic energy terms stemming from the CLUBB+MF CPT. In CAM, khzm is used outside of clubb to transport aerosols.

I also had trouble accessing the c_K variable used for computing khzm. In advance_clubb_core:

    !----------------------------------------------------------------
    ! Eddy diffusivity coefficient
    !----------------------------------------------------------------
    ! c_K is 0.548 usually (Duynkerke and Driedonks 1987)
    ! CLUBB uses a smaller value to better fit empirical data.

    ! Calculate CLUBB's eddy diffusivity as
    !   CLUBB's length scale times a velocity scale.
    c_K = clubb_params(ic_K)

    !$acc parallel loop gang vector collapse(2) default(present)
    do k = 1, nz
      do i = 1, ngrdcol
        Kh_zt(i,k) = c_K * Lscale(i,k) * sqrt_em_zt(i,k)
      end do
    end do

If this could also be made available in the clubb_intr.F90 interface that would be preferable to what I'm currently doing (duplicating and hard coding this value).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions