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: 2025-01-13 21:54:50 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