LCOV - code coverage report
Current view: | top level - control - runtime_opts.F90 (source / functions) |  |  | Hit | Total | Coverage
Test: | coverage.info |  | Lines: | 71 | 71 | 100.0 %
Date: | 2024-12-17 17:57:11 |  | Functions: | 1 | 1 | 100.0 %

              Line data    Source code
           1             : module runtime_opts
           2             :
           3             : !-----------------------------------------------------------------------
           4             : !
           5             : ! Provide driver level routine for making calls to the namelist readers
           6             : ! for the infrastructure and the dycore and physics parameterizations.
           7             : !
           8             : !-----------------------------------------------------------------------
           9             :
          10             : use shr_kind_mod,    only: r8=>shr_kind_r8
          11             :
          12             : implicit none
          13             : private
          14             : save
          15             :
          16             : public :: read_namelist
          17             :
          18             : !=======================================================================
          19             : contains
          20             : !=======================================================================
          21             :
          22        1536 : subroutine read_namelist(nlfilename, single_column, scmlat, scmlon)
          23             :
          24             :    use cam_initfiles,       only: cam_initfiles_readnl
          25             :    use constituents,        only: cnst_readnl
          26             :
          27             :    use phys_grid,           only: phys_grid_readnl
          28             :
          29             :    use chem_surfvals,       only: chem_surfvals_readnl
          30             :    use check_energy,        only: check_energy_readnl
          31             :    use radiation,           only: radiation_readnl
          32             :    use carma_flags_mod,     only: carma_readnl
          33             :    use co2_cycle,           only: co2_cycle_readnl
          34             :    use scamMod,             only: scam_readnl
          35             :
          36             :    use spmd_utils,          only: spmd_utils_readnl
          37             :    use cam_history,         only: history_readnl
          38             :    use physconst,           only: physconst_readnl
          39             :    use air_composition,     only: air_composition_readnl
          40             :    use physics_buffer,      only: pbuf_readnl
          41             :    use phys_control,        only: phys_ctl_readnl
          42             :    use wv_saturation,       only: wv_sat_readnl
          43             :    use ref_pres,            only: ref_pres_readnl
          44             :    use dadadj_cam,          only: dadadj_readnl
          45             :    use macrop_driver,       only: macrop_driver_readnl
          46             :    use microp_driver,       only: microp_driver_readnl
          47             :    use microp_aero,         only: microp_aero_readnl
          48             :    use subcol,              only: subcol_readnl
          49             :    use cloud_fraction,      only: cldfrc_readnl
          50             :    use cldfrc2m,            only: cldfrc2m_readnl
          51             :    use rk_stratiform,       only: rk_stratiform_readnl
          52             :    use unicon_cam,          only: unicon_cam_readnl
          53             :    use zm_conv_intr,        only: zm_conv_readnl
          54             :    use hk_conv,             only: hkconv_readnl
          55             :    use uwshcu,              only: uwshcu_readnl
          56             :    use pkg_cld_sediment,    only: cld_sediment_readnl
          57             :    use gw_drag,             only: gw_drag_readnl
          58             :    use qbo,                 only: qbo_readnl
          59             :    use iondrag,             only: iondrag_readnl
          60             :    use waccmx_phys_intr,    only: waccmx_phys_ion_elec_temp_readnl
          61             :    use phys_debug_util,     only: phys_debug_readnl
          62             :    use conv_water,          only: conv_water_readnl
          63             :    use rad_constituents,    only: rad_cnst_readnl
          64             :    use radiation_data,      only: rad_data_readnl
          65             :    use aerosol_optics_cam,  only: aerosol_optics_cam_readnl
          66             :    use clubb_intr,          only: clubb_readnl
          67             :    use chemistry,           only: chem_readnl
          68             :    use prescribed_volcaero, only: prescribed_volcaero_readnl
          69             :    use prescribed_strataero,only: prescribed_strataero_readnl
          70             :    use aerodep_flx,         only: aerodep_flx_readnl
          71             :    use solar_data,          only: solar_data_readnl
          72             :    use tropopause,          only: tropopause_readnl
          73             :    use aoa_tracers,         only: aoa_tracers_readnl
          74             :    use prescribed_ozone,    only: prescribed_ozone_readnl
          75             :    use prescribed_aero,     only: prescribed_aero_readnl
          76             :    use prescribed_ghg,      only: prescribed_ghg_readnl
          77             :    use aircraft_emit,       only: aircraft_emit_readnl
          78             :    use cospsimulator_intr,  only: cospsimulator_intr_readnl
          79             :    use vertical_diffusion,  only: vd_readnl
          80             :    use rayleigh_friction,   only: rayleigh_friction_readnl
          81             :
          82             :    use cam_diagnostics,     only: diag_readnl
          83             :    use radheat,             only: radheat_readnl
          84             : #if ( defined OFFLINE_DYN )
          85             :    use metdata,             only: metdata_readnl
          86             : #endif
          87             :    use offline_driver,      only: offline_driver_readnl
          88             :    use inic_analytic_utils, only: analytic_ic_readnl
          89             :    use rate_diags,          only: rate_diags_readnl
          90             :    use tracers,             only: tracers_readnl
          91             :    use nudging,             only: nudging_readnl
          92             : #if ( defined SIMPLE )
          93             :    use frierson_cam,        only: frierson_readnl
          94             : #endif
          95             :
          96             :    use dyn_comp,            only: dyn_readnl
          97             :    use ionosphere_interface,only: ionosphere_readnl
          98             :    use qneg_module,         only: qneg_readnl
          99             :    use lunar_tides,         only: lunar_tides_readnl
         100             :    use hemco_interface,     only: hemco_readnl
         101             :    use upper_bc,            only: ubc_readnl
         102             :    use cam_budget,          only: cam_budget_readnl
         103             :    use phys_grid_ctem,      only: phys_grid_ctem_readnl
         104             :    use mo_lightning,        only: lightning_readnl
         105             :
         106             :    !---------------------------Arguments-----------------------------------
         107             :
         108             :    character(len=*), intent(in) :: nlfilename
         109             :    logical,          intent(in) :: single_column
         110             :    real(r8),         intent(in) :: scmlat
         111             :    real(r8),         intent(in) :: scmlon
         112             :
         113             :    !---------------------------Local variables-----------------------------
         114             :    character(len=*), parameter ::  subname = "read_namelist"
         115             :
         116             :    !-----------------------------------------------------------------------
         117             :
         118             :    ! Call subroutines for modules to read their own namelist.
         119             :    ! In some cases namelist default values may depend on settings from
         120             :    ! other modules, so there may be an order dependence in the following
         121             :    ! calls.
         122             :    ! ***N.B.*** In particular, physconst_readnl should be called before
         123             :    !            the other readnl methods in case that method is used to set
         124             :    !            physical constants, some of which are set at runtime
         125             :    !            by the physconst_readnl method.
         126             :    ! Modules that read their own namelist are responsible for making sure
         127             :    ! all processes receive the values.
         128             :
         129        1536 :    call spmd_utils_readnl(nlfilename)
         130        1536 :    call phys_grid_readnl(nlfilename)
         131        1536 :    call air_composition_readnl(nlfilename)
         132        1536 :    call physconst_readnl(nlfilename)
         133             : !++bee 13 Oct 2015, need to fix the pbuf_global_allocate functionality, then
         134             : !                   can uncomment the pbuf_readnl line
         135             : !   call pbuf_readnl(nlfilename)
         136        1536 :    call cam_initfiles_readnl(nlfilename)
         137        1536 :    call cnst_readnl(nlfilename)
         138        1536 :    call history_readnl(nlfilename)
         139        1536 :    call chem_surfvals_readnl(nlfilename)
         140        1536 :    call ubc_readnl(nlfilename)
         141        1536 :    call phys_ctl_readnl(nlfilename)
         142        1536 :    call wv_sat_readnl(nlfilename)
         143        1536 :    call ref_pres_readnl(nlfilename)
         144        1536 :    call dadadj_readnl(nlfilename)
         145        1536 :    call macrop_driver_readnl(nlfilename)
         146        1536 :    call microp_driver_readnl(nlfilename)
         147        1536 :    call microp_aero_readnl(nlfilename)
         148        1536 :    call clubb_readnl(nlfilename)
         149        1536 :    call subcol_readnl(nlfilename)
         150        1536 :    call cldfrc_readnl(nlfilename)
         151        1536 :    call cldfrc2m_readnl(nlfilename)
         152        1536 :    call unicon_cam_readnl(nlfilename)
         153        1536 :    call zm_conv_readnl(nlfilename)
         154        1536 :    call rk_stratiform_readnl(nlfilename)
         155        1536 :    call hkconv_readnl(nlfilename)
         156        1536 :    call uwshcu_readnl(nlfilename)
         157        1536 :    call cld_sediment_readnl(nlfilename)
         158        1536 :    call gw_drag_readnl(nlfilename)
         159        1536 :    call qbo_readnl(nlfilename)
         160        1536 :    call lunar_tides_readnl(nlfilename)
         161        1536 :    call iondrag_readnl(nlfilename)
         162        1536 :    call waccmx_phys_ion_elec_temp_readnl(nlfilename)
         163        1536 :    call phys_debug_readnl(nlfilename)
         164        1536 :    call conv_water_readnl(nlfilename)
         165        1536 :    call radiation_readnl(nlfilename)
         166        1536 :    call rad_cnst_readnl(nlfilename)
         167        1536 :    call rad_data_readnl(nlfilename)
         168        1536 :    call aerosol_optics_cam_readnl(nlfilename)
         169        1536 :    call chem_readnl(nlfilename)
         170        1536 :    call lightning_readnl(nlfilename)
         171        1536 :    call prescribed_volcaero_readnl(nlfilename)
         172        1536 :    call prescribed_strataero_readnl(nlfilename)
         173        1536 :    call solar_data_readnl(nlfilename)
         174        1536 :    call carma_readnl(nlfilename)
         175        1536 :    call tropopause_readnl(nlfilename)
         176        1536 :    call aoa_tracers_readnl(nlfilename)
         177        1536 :    call tracers_readnl(nlfilename)
         178        1536 :    call aerodep_flx_readnl(nlfilename)
         179        1536 :    call prescribed_ozone_readnl(nlfilename)
         180        1536 :    call prescribed_aero_readnl(nlfilename)
         181        1536 :    call prescribed_ghg_readnl(nlfilename)
         182        1536 :    call co2_cycle_readnl(nlfilename)
         183        1536 :    call aircraft_emit_readnl(nlfilename)
         184        1536 :    call cospsimulator_intr_readnl(nlfilename)
         185        1536 :    call diag_readnl(nlfilename)
         186        1536 :    call check_energy_readnl(nlfilename)
         187        1536 :    call radheat_readnl(nlfilename)
         188        1536 :    call vd_readnl(nlfilename)
         189        1536 :    call rayleigh_friction_readnl(nlfilename)
         190             : #if ( defined OFFLINE_DYN )
         191             :    call metdata_readnl(nlfilename)
         192             : #endif
         193        1536 :    call offline_driver_readnl(nlfilename)
         194        1536 :    call analytic_ic_readnl(nlfilename)
         195        1536 :    call rate_diags_readnl(nlfilename)
         196        1536 :    call scam_readnl(nlfilename, single_column, scmlat, scmlon)
         197        1536 :    call nudging_readnl(nlfilename)
         198             : #if ( defined SIMPLE )
         199             :    call frierson_readnl(nlfilename)
         200             : #endif
         201             :
         202        1536 :    call dyn_readnl(nlfilename)
         203        1536 :    call ionosphere_readnl(nlfilename)
         204        1536 :    call qneg_readnl(nlfilename)
         205        1536 :    call hemco_readnl(nlfilename)
         206        1536 :    call cam_budget_readnl(nlfilename)
         207        1536 :    call phys_grid_ctem_readnl(nlfilename)
         208             :
         209        1536 : end subroutine read_namelist
         210             :
         211             :
         212             : !=======================================================================
         213             :
         214             : end module runtime_opts

Generated by: LCOV version 1.14