!
! constants_mod |
! pi=>pi_8, kappa, radius, grav, rdgas |
!
!
! field_manager_mod |
! MODEL_ATMOS |
!
!
! fms_mod |
! write_version_number, open_namelist_file,
! check_nml_error, close_file, file_exist |
!
!
! fv_arrays_mod |
! fv_atmos_type, allocate_fv_atmos_type, deallocate_fv_atmos_type,
! R_GRID |
!
!
! fv_diagnostics_mod |
! fv_diag_init_gn |
!
!
! fv_eta_mod |
! set_eta |
!
!
! fv_grid_tools_mod |
! init_grid |
!
!
! fv_grid_utils_mod |
! grid_utils_init, grid_utils_end, ptop_min |
!
!
! fv_mp_mod |
! mp_start, mp_assign_gid, domain_decomp,ng, switch_current_Atm,
! broadcast_domains, mp_barrier, is_master, setup_master |
!
!
! fv_io_mod |
! fv_io_exit |
!
!
! fv_restart_mod |
! fv_restart_init, fv_restart_end |
!
!
! fv_timing_mod |
! timing_on, timing_off, timing_init, timing_prt |
!
!
! mpp_mod |
! mpp_send, mpp_sync, mpp_transmit, mpp_set_current_pelist, mpp_declare_pelist,
! mpp_root_pe, mpp_recv, mpp_sync_self, mpp_broadcast, read_input_nml,
! FATAL, mpp_error, mpp_pe, stdlog, mpp_npes, mpp_get_current_pelist,
! input_nml_file, get_unit, WARNING, read_ascii_file, INPUT_STR_LENGTH |
!
!
! mpp_domains_mod |
! mpp_get_data_domain, mpp_get_compute_domain, domain2D, mpp_define_nest_domains,
! nest_domain_type, mpp_get_global_domain, mpp_get_C2F_index, mpp_get_F2C_index,
! mpp_broadcast_domain, CENTER, CORNER, NORTH, EAST, WEST, SOUTH |
!
!
! mpp_parameter_mod |
! AGRID_PARAM=>AGRID |
!
!
! test_cases_mod |
! test_case, bubble_do, alpha, nsolitons, soliton_Umax, soliton_size |
!
!
! tracer_manager_mod |
! tm_get_number_tracers => get_number_tracers,tm_get_tracer_index => get_tracer_index,
! tm_get_tracer_indices => get_tracer_indices, tm_set_tracer_profile => set_tracer_profile,
! tm_get_tracer_names => get_tracer_names,tm_check_if_prognostic=> check_if_prognostic,
! tm_register_tracers => register_tracers |
!
!
use constants_mod, only: pi=>pi_8, kappa, radius, grav, rdgas
use field_manager_mod, only: MODEL_ATMOS
use fms_mod, only: write_version_number, check_nml_error
use fms2_io_mod, only: file_exists
use mpp_mod, only: FATAL, mpp_error, mpp_pe, stdlog, &
mpp_npes, mpp_get_current_pelist, &
input_nml_file, get_unit, WARNING, &
read_ascii_file
use mpp_domains_mod, only: mpp_get_data_domain, mpp_get_compute_domain, mpp_get_tile_id
use tracer_manager_mod, only: tm_get_number_tracers => get_number_tracers, &
tm_get_tracer_index => get_tracer_index, &
tm_get_tracer_indices => get_tracer_indices, &
tm_set_tracer_profile => set_tracer_profile, &
tm_get_tracer_names => get_tracer_names, &
tm_check_if_prognostic=> check_if_prognostic,&
tm_register_tracers => register_tracers
use fv_io_mod, only: fv_io_exit
use fv_restart_mod, only: fv_restart_init, fv_restart_end
use fv_arrays_mod, only: fv_atmos_type, allocate_fv_atmos_type, deallocate_fv_atmos_type, &
R_GRID
use fv_grid_utils_mod, only: grid_utils_init, grid_utils_end, ptop_min
use fv_eta_mod, only: set_eta
use fv_grid_tools_mod, only: init_grid
use fv_mp_mod, only: mp_start, domain_decomp, mp_assign_gid, global_nest_domain
use fv_mp_mod, only: broadcast_domains, mp_barrier, is_master, setup_master, grids_master_procs, tile_fine
use fv_mp_mod, only: MAX_NNEST, MAX_NTILE
use test_cases_mod, only: read_namelist_test_case_nml
use fv_timing_mod, only: timing_on, timing_off, timing_init, timing_prt
use mpp_domains_mod, only: domain2D
use mpp_domains_mod, only: mpp_define_nest_domains, nest_domain_type, mpp_get_global_domain
use mpp_domains_mod, only: mpp_get_C2F_index, mpp_get_F2C_index
use mpp_domains_mod, only: CENTER, CORNER, NORTH, EAST, WEST, SOUTH
use mpp_mod, only: mpp_send, mpp_sync, mpp_transmit, mpp_set_current_pelist, &
mpp_declare_pelist, mpp_root_pe, mpp_recv, mpp_sync_self, read_input_nml, &
mpp_max
use fv_diagnostics_mod, only: fv_diag_init_gn
use coarse_grained_restart_files_mod, only: deallocate_coarse_restart_type
#ifdef MULTI_GASES
use constants_mod, only: rvgas, cp_air
use multi_gases_mod, only: multi_gases_init, &
read_namelist_multi_gases_nml
#endif
use molecular_diffusion_mod, only: molecular_diffusion_init, &
read_namelist_molecular_diffusion_nml
implicit none
private
#ifdef OVERLOAD_R4
real :: too_big = 1.E8
#else
real :: too_big = 1.E35
#endif
public :: fv_control_init, fv_end
integer, public :: ngrids = 1
integer :: commID, global_commID
integer :: halo_update_type = 1 ! 1 for two-interfaces non-block
! 2 for block
! 3 for four-interfaces non-block
! version number of this module
! Include variable "version" to be written to log file.
#include