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