Line data Source code
1 : ! This code is part of RRTM for GCM Applications - Parallel (RRTMGP) 2 : ! 3 : ! Contacts: Robert Pincus and Eli Mlawer 4 : ! email: rrtmgp@aer.com 5 : ! 6 : ! Copyright 2020- Atmospheric and Environmental Research, 7 : ! Regents of the University of Colorado, 8 : ! Trustees of Columbia University in the City of New York 9 : ! All right reserved. 10 : ! 11 : ! Use and duplication is permitted under the terms of the 12 : ! BSD 3-clause license, see http://opensource.org/licenses/BSD-3-Clause 13 : 14 : !> ------------------------------------------------------------------------------------------------- 15 : !> 16 : !> ## Control input sanitization in Fortan front-end 17 : !> Provides public access to two proteced module variables 18 : !> 19 : !> ------------------------------------------------------------------------------------------------- 20 : module mo_rte_config 21 : use mo_rte_kind, only: wl 22 : implicit none 23 : private 24 : 25 : logical(wl), protected, public :: check_extents = .true. 26 : logical(wl), protected, public :: check_values = .true. 27 : 28 : !> Specify checking of extents and values individually, or all checks together 29 : interface rte_config_checks 30 : module procedure rte_config_checks_each, rte_config_checks_all 31 : end interface 32 : public :: rte_config_checks 33 : contains 34 : ! -------------------------------------------------------------- 35 : !> Do extents and/or values checks within RTE+RRTMGP Fortran classes 36 0 : subroutine rte_config_checks_each(extents, values) 37 : logical(wl), intent(in) :: extents, values 38 : 39 0 : check_extents = extents 40 0 : check_values = values 41 0 : end subroutine rte_config_checks_each 42 : ! -------------------------------------------------------------- 43 : !> Do all checks within RTE+RRTMGP Fortran classes 44 0 : subroutine rte_config_checks_all(do_checks) 45 : logical(wl), intent(in) :: do_checks 46 : 47 0 : check_extents = do_checks 48 0 : check_values = do_checks 49 0 : end subroutine rte_config_checks_all 50 : ! -------------------------------------------------------------- 51 : end module mo_rte_config