MODULE module_cam_support use module_state_description, only: param_num_moist use shr_kind_mod implicit none public save integer(SHR_KIND_IN),parameter,private :: R8 = SHR_KIND_R8 logical, parameter :: masterproc = .TRUE. logical, parameter :: iam = .FALSE. integer, parameter :: pcols = 1 integer :: pver integer :: pverp integer, parameter :: pcnst = param_num_moist integer :: pcnst_runtime = -999888777 integer :: pcnst_mp = -999888777 integer :: gas_pcnst_modal_aero = -999888777 integer :: gas_pcnst_modal_aero_pos = -999888777 integer :: pcnst_non_chem_modal_aero = -999888777 character(len=750) :: iulog integer, parameter, public :: phys_decomp=100 integer, parameter :: fieldname_len = 16 integer, parameter :: nfs = -999888777 real(r8), parameter, public :: fillvalue = 1.e36_r8 CONTAINS subroutine lower_case( txt_in, txt_lc ) implicit none character(len=*), intent(in) :: txt_in character(len=*), intent(out) :: txt_lc integer :: i, j integer, parameter :: iachar_lowera = iachar('a') integer, parameter :: iachar_uppera = iachar('A') integer, parameter :: iachar_upperz = iachar('Z') txt_lc = txt_in do i = 1, len( trim(txt_lc) ) j = iachar( txt_lc(i:i) ) if (j < iachar_uppera) cycle if (j > iachar_upperz) cycle txt_lc(i:i) = achar( j + iachar_lowera - iachar_uppera ) end do return end subroutine lower_case SUBROUTINE endrun(msg) USE module_wrf_error character(len=*), intent(in), optional :: msg if(present(msg)) then call wrf_error_fatal3("",104,& msg) else call wrf_error_fatal3("",108,& iulog) endif END SUBROUTINE endrun SUBROUTINE t_stopf(event) character(len=*), intent(in) :: event END SUBROUTINE t_stopf SUBROUTINE t_startf(event) character(len=*), intent(in) :: event END SUBROUTINE t_startf SUBROUTINE outfld( fname, field, idim, c) character(len=*), intent(in) :: fname integer, intent(in) :: idim integer, intent(in) :: c real(r8), intent(in) :: field(idim,*) END SUBROUTINE outfld SUBROUTINE addfld(fname, units, numlev, avgflag, long_name, & decomp_type, flag_xyfill, flag_isccplev, sampling_seq) character(len=*), intent(in) :: fname character(len=*), intent(in) :: units character(len=1), intent(in) :: avgflag character(len=*), intent(in) :: long_name integer, intent(in) :: numlev integer, intent(in) :: decomp_type logical, intent(in), optional :: flag_xyfill logical, intent(in), optional :: flag_isccplev character(len=*), intent(in), optional :: sampling_seq END SUBROUTINE ADDFLD SUBROUTINE ADD_DEFAULT (name, tindex, flag) character(len=*), intent(in) :: name character(len=1), intent(in) :: flag integer, intent(in) :: tindex END SUBROUTINE ADD_DEFAULT END MODULE module_cam_support