Line data Source code
1 : !! This module handles reading the namelist and provides access to some other flags 2 : !! that control a specific CARMA model's behavior. 3 : !! 4 : !! By default the specific CARMA model does not have any unique namelist values. If 5 : !! a CARMA model wishes to have its own namelist, then this file needs to be copied 6 : !! from physics/cam to physics/model/<model_name> and the code needed to read in the 7 : !! namelist values added there. This file will take the place of the one in 8 : !! physics/cam. 9 : !! 10 : !! It needs to be in its own file to resolve some circular dependencies. 11 : !! 12 : !! @author Chuck Bardeen 13 : !! @version Mar-2011 14 : module carma_model_flags_mod 15 : 16 : use shr_kind_mod, only: r8 => shr_kind_r8 17 : use spmd_utils, only: masterproc 18 : 19 : ! Flags for integration with CAM Microphysics 20 : public carma_model_readnl ! read the carma model namelist 21 : 22 : 23 : ! Namelist flags 24 : ! 25 : ! Create a public definition of any new namelist variables that you wish to have, 26 : ! and default them to an inital value. 27 : logical, public :: carma_flag = .false. ! If .true. then turn on CARMA microphysics in CAM 28 : real(r8), public :: carma_vf_const = 0.0_r8 ! If specified and non-zero, constant fall velocity for all particles [cm/s] 29 : 30 : contains 31 : 32 : 33 : !! Read the CARMA model runtime options from the namelist 34 : !! 35 : !! @author Chuck Bardeen 36 : !! @version Mar-2011 37 768 : subroutine carma_model_readnl(nlfile) 38 : 39 : ! Read carma namelist group. 40 : 41 : use cam_abortutils, only: endrun 42 : use namelist_utils, only: find_group_name 43 : use units, only: getunit, freeunit 44 : use mpishorthand 45 : 46 : ! args 47 : 48 : character(len=*), intent(in) :: nlfile ! filepath for file containing namelist input 49 : 50 : ! local vars 51 : 52 : integer :: unitn, ierr 53 : 54 768 : end subroutine carma_model_readnl 55 : 56 : end module carma_model_flags_mod