MODULE tracer_icosa_mod INTEGER, PARAMETER :: advect_none = 0 INTEGER, PARAMETER :: advect_vanleer = 1 INTEGER, ALLOCATABLE,SAVE :: advection_scheme(:) !$OMP THREADPRIVATE(advection_scheme) INTERFACE set_advection_scheme MODULE PROCEDURE set_advection_scheme_1, set_advection_scheme_full END INTERFACE CONTAINS SUBROUTINE init_tracer USE grid_param IMPLICIT NONE ALLOCATE(advection_scheme(nqtot)) advection_scheme(:) = advect_vanleer END SUBROUTINE init_tracer SUBROUTINE set_advection_scheme_1(nq,scheme) IMPLICIT NONE INTEGER, INTENT(IN) :: nq INTEGER, INTENT(IN) :: scheme advection_scheme(nq)=scheme END SUBROUTINE set_advection_scheme_1 SUBROUTINE set_advection_scheme_full(schemes) USE grid_param IMPLICIT NONE INTEGER, INTENT(IN) :: schemes(nqtot) advection_scheme(:)=schemes(:) END SUBROUTINE set_advection_scheme_full END MODULE tracer_icosa_mod