forked from Leeds-MONC/monc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
global_config
570 lines (506 loc) · 17.2 KB
/
global_config
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
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
# Essential components - do not change default setting
# unless you know what you are doing. These have to be on
# for MONC to run
clearsourceterms_enabled=.true.
decomposition_enabled=.true.
grid_manager_enabled=.true.
halo_swapper_enabled=.true.
model_synopsis_enabled=.true.
stepfields_enabled=.true.
stepping_direction_enabled=.true.
swap_smooth_enabled=.true.
termination_check_enabled=.true.
# Component enable configuration
buoyancy_enabled=.true.
cfltest_enabled=.true.
checkpointer_enabled=.true.
coriolis_enabled=.false.
damping_enabled=.false.
debugger_enabled=.false.
diagnostics_3d_enabled=.false.
diffusion_enabled=.true.
diverr_enabled=.true.
fftsolver_enabled=.true.
flux_budget_enabled=.false.
forcing_enabled=.false.
iobridge_enabled=.false.
iterativesolver_enabled=.false.
kidreader_enabled=.false.
lower_bc_enabled=.false.
mean_profiles_enabled=.false.
petsc_solver_enabled=.false.
physicsa_enabled=.false.
profile_diagnostics_enabled=.false.
psrce_enabled=.true.
pstep_enabled=.true.
pw_advection_enabled=.true.
scalar_diagnostics_enabled=.false.
set_consistent_lowbc_enabled=.true.
setfluxlook_enabled=.true.
simplecloud_enabled=.false.
simplesetup_enabled=.false.
smagorinsky_enabled=.false.
subgrid_profile_diagnostics_enabled=.false
socrates_couple_enabled=.false.
th_advection_enabled=.false.
tvd_advection_enabled=.true.
viscosity_enabled=.true.
randomnoise_enabled=.false.
casim_enabled=.false.
casim_profile_dgs_enabled=.false.
lwrad_exponential_enabled=.false.
lateral_bcs_enabled=.false.
conditional_diagnostics_column_enabled=.false.
conditional_diagnostics_whole_enabled=.false.
pdf_analysis_enabled=.false.
# Default disable the test case components (individual user config will enable these)
bubble_enabled=.false.
drybl_enabled=.false.
kidtestcase_enabled=.false.
# Component timestepping groups
group_names= start, subgrid, dynamics, solver, pressure-terms, last
start_group_type=entire
subgrid_group_type=column
dynamics_group_type=column
solver_group_type=entire
pressure-terms_group_type=column
last_group_type=entire
start_group_contents=clearsourceterms, stepping_direction, halo_swapper, lateral_bcs, setfluxlook
subgrid_group_contents=lower_bc, smagorinsky
dynamics_group_contents=kidtestcase, pw_advection, tvd_advection, th_advection, diffusion, viscosity, coriolis, buoyancy, damping, forcing, set_consistent_lowbc, socrates_couple, lwrad_exponential, simplecloud, casim, flux_budget, subgrid_profile_diagnostics, diverr, psrce, diagnostics_3d, profile_diagnostics, casim_profile_dgs, scalar_diagnostics, stepfields
solver_group_contents=pdf_analysis, mean_profiles, fftsolver, iterativesolver, petsc_solver, cfltest
pressure-terms_group_contents=pstep, swap_smooth, conditional_diagnostics_column
last_group_contents=conditional_diagnostics_whole, checkpointer, model_synopsis, termination_check, iobridge
# Component ordering for other stages
initialisation_stage_ordering=decomposition, kidreader, kidtestcase, checkpointer, simplesetup, grid_manager, mean_profiles, swap_smooth, termination_check, simplecloud, casim, coriolis, buoyancy, cfltest, damping, diverr, fftsolver, halo_swapper, iterativesolver, setfluxlook, lower_bc, physicsa, psrce, pw_advection, diffusion, set_consistent_lowbc, viscosity, smagorinsky, stepfields, stepping_direction, tvd_advection, model_synopsis, socrates_couple, lwrad_exponential,th_advection, randomnoise, forcing, flux_budget, diagnostics_3d, profile_diagnostics, casim_profile_dgs, conditional_diagnostics_column, conditional_diagnostics_whole, pdf_analysis, subgrid_profile_diagnostics, scalar_diagnostics, lateral_bcs, petsc_solver, pstep, iobridge
finalisation_stage_ordering=iobridge, checkpointer, diverr, fftsolver, grid_manager, halo_swapper, iterativesolver, physicsa, psrce, smagorinsky, tvd_advection,lwrad_exponential, model_synopsis, mean_profiles, pdf_analysis, forcing, stepfields, flux_budget, buoyancy, diffusion, lower_bc, viscosity, profile_diagnostics, pw_advection, th_advection, damping, simplecloud, pstep, conditional_diagnostics_whole, conditional_diagnostics_column
# Control configuration
nn_timesteps=-1
display_synopsis_frequency=10
termination_time=1.0
walltime_limit=none
dtm=0.001
nsmth=40
logging=3 #INFO level logging
check_msg_frequency=500
check_walltime_frequency=200
msg_filename=messages
# CFL configuration
cfl_frequency=10
cfl_tollerance=0.1
cfl_cvismax=0.2
cfl_cvelmax=0.2
cfl_dtmmax=100.
cfl_dtmmin=0.0001
cfl_rincmax=0.05
cfl_monitor=.false. # enable writing of cfl and dtm change information to stdout
# Coriolis configuration
baroclinicity_use_geostrophic_shear=.false.
fcoriol=0.0
geostrophic_wind_rate_of_change_in_x=0.0
geostrophic_wind_rate_of_change_in_y=0.0
surface_geostrophic_wind_x=0.0
surface_geostrophic_wind_y=0.0
rate_change_geostrophic_wind_x=0.0
rate_change_geostrophic_wind_y=0.0
# Damping configuration
dmptim=0.0
zdmp=0.0
hdmp=0.0
# Decomposition configuration
decomposition_method = twodim
# Checkpoint configuration
checkpoint_frequency=10
checkpoint_file="monc.nc"
checkpoint_unique_per_dump=.false.
# Internal write is a write from the checkpoint component:
# always - Always do a write
# never - Never do a write
# auto - Default, do a write only if IO server is disabled
checkpoint_internal_write=auto
# Diagnostic flux configuration
wmfcrit=0.0
qlcrit=1.e-8
# Iterative solver configuration
tolerance=1.e-4
max_iterations=500
preconditioner_iterations=1
include_top_level=.true.
symm_prob=.false.
solver_type=cg
preconditioner_type=auto
norm_type=auto
# Lower BC configuration
ntmhf=0
shflx_sen=0.0
timhf=0.0
shflx_lat=0.0
surface_temperature_values=0.0
units_surface_temp=kelvin
surface_mixing_ratio_values=0.0
surface_sensible_heat_flux_values=0.0
surface_latent_heat_flux_values=0.0
max_change_buoyancy_flux=12.0
use_surface_boundary_conditions=.false.
type_of_surface_boundary_conditions=0
use_time_varying_surface_values=.false.
use_time_varying_subsidence=.false.
surface_conditions_file=None
max_change_buoyancy_flux=12.0
# Simplesetup options
x_size=1
y_size=1
z_size=1
dxx=1
dyy=1
kgd=10
hgd=10.0
zztop=1.0
number_q_fields=0
rhobous=1.0
thref0=288.0
surface_pressure=100000.0
surface_reference_pressure=100000.0
rmlmax=-1.0
use_anelastic_equations=.false.
origional_vertical_grid_setup=.true.
passive_q=.true.
passive_th=.true.
enable_theta=.false.
use_time_varying_surface_values=.false.
use_saturated_surface=.true.
calculate_th_and_q_init=.false.
use_viscosity_and_diffusion=.true.
galilean_transformation=.true.
use_surface_fluxes=.true.
backscatter=.false.
halo_depth=2
galilean_transformation=.false.
fix_ugal=.false.
fix_vgal=.false.
# Initial profiles setup
# User can use either absolute or potential temperature
# but MONC uses potential, so conversion done in
# gridmanager component
l_init_pl_theta=.false.
l_init_pl_temp=.false.
# units for potential or absolute temperature
# assumed to be kelvin
units_temperature=kelvin
l_init_pl_u=.false.
l_init_pl_v=.false.
l_init_pl_q=.false.
# initial profile of relative humidity
l_init_pl_rh=.false.
l_matchthref=.false.
l_thref=.false.
l_thref_zero_buoy=.false.
# Smagorinsky configuration
# Default values for the smagorinsky subgrid constants
smag-subb=40.0
smag-subc=16.0
# The subgrid constant values for the 'conventional' subgrid model
# of Brown (1999)
# smag-subb=1.43
# smag-subc=1.43
# Temporary switch to force the
# LEM dissipation rate diagnostic. This should
# be removed once Circle-A diagnostic development
# complete and tested
l_lem_dissipation_rate = .true.
# Random noise setup
l_rand_bit_reproducible=.true.
l_rand_pl_theta=.false.
l_rand_pl_q=.false.
l_rand_pl_w=.false.
# Subsidence profile
l_subs_pl_theta=.false.
l_subs_pl_q=.false.
subsidence_input_type=1
subsidence_local_theta=.true.
subsidence_local_q=.true.
forcing_file=None
# Large-scale time-independent forcing
l_constant_forcing_theta=.false.
l_constant_forcing_q=.false.
l_constant_forcing_u=.false.
l_constant_forcing_v=.false.
constant_forcing_type_theta=0
constant_forcing_type_q=0
constant_forcing_type_u=0
constant_forcing_type_v=0
forcing_timescale_theta=3600.
forcing_timescale_q=3600.
forcing_timescale_u=3600.
forcing_timescale_v=3600.
relax_to_initial_u_profile=.false.
relax_to_initial_v_profile=.false.
relax_to_initial_theta_profile=.false.
convert_input_theta_from_temperature=.false.
l_constant_forcing_theta_z2pressure=.false.
units_u_force=m_per_second_per_day
units_v_force=m_per_second_per_day
units_theta_force=K_per_day
# Advection configuration (options are any, pw or tvd)
advection_flow_fields=any
advection_theta_field=any
advection_q_fields=any
# Science constants
von_karman_constant=0.4
z0=2.0e-3
z0th=2.0e-4
alphah=1.0
betam=4.8
betah=7.8
gammam=19.3
gammah=12.0
pi=3.14159
cp=1005.0
rlvap=2.501e6
r=287.05
G=9.81
convective_limit=-0.5
# Molecular weight of dry air/ molecular weight of water, 28.966/18.0153
ratio_mol_wts=1.608
rlargep=1.0e37
surface_vapour_mixing_ratio=0.0
# IO server configuration
ioserver_configuration_file="io/description.xml"
moncs_per_io_server=3
enable_io_server=.true.
# Kid reader configuration
kid_configuration_file=""
rhobous=1.0
thref0=288.0
surface_pressure=100000.0
flood_q=.false.
float_q=.false.
clone_to_3d=.false.
rotate_xy=.false.
domain_multiplication=1
q_coordinates_x=-1
q_coordinates_y=-1
q_coordinates_z=-1
q_coordinates_value=1
#Kid test case
kid_test_case=-1
kid_dim_size=-1,-1,-1
kid_flow_value=-1,-1,-1
kid_pheight=0.0,0.0,0.0
kid_ptheta=0.0,0.0,0.0
kid_pqv=0.0,0.0,0.0
# Simple cloud
max_height_cloud=20000.
#tank experiments
l_bubbles=.false.
l_splittank=.false.
l_sources=.false.
l_bubble_straka=.false.
bubble_lrandom=.false.
tank_lmoist=.false.
l_bubble_use_t=.false.
barrier_x=0.
barrier_y=0.
front_tank_delta_theta=0.
back_tank_delta_theta=0.
left_tank_delta_theta=0.
right_tank_delta_theta=0.
front_tank_delta_rh=0.
back_tank_delta_rh=0.
left_tank_delta_rh=0.
right_tank_delta_rh=0.
# Radiation settings - variables and switches for exponential radiation (LWEXP)
longwave_exp_decay = 85.0 # longwave rad exponential decay factor
cltop_longwave_flux = 70.0 # cloud top longwave flux (Wm-2)
clbase_longwave_flux = 22.0 # cloud base longwave flux (Wm-2)
### SOCRATES inputs
# Add paths for the mcclatchey profiles
mcc_temperature_profile = None
mcc_vapour_profile = None
mcc_ozone_profile = None
# Add options for rad_cntrl
spectral_file_lw = /data/local/fra23/MONC/tmp/trunk/data/spectra/ga7/sp_lw_ga7
i_gas_overlap_lw = 4
i_water_lw = 5
# 11 = baran, 8 = aggregate for the above spectral file, dependent on iwc and temperature
i_ice_lw = 11
i_scatter_method_lw = 1
spectral_file_sw = /data/local/fra23/MONC/tmp/trunk/data/spectra/ga7/sp_sw_ga7
i_gas_overlap_sw = 4
i_water_sw = 5
i_ice_sw = 11
# 5 is clear sky, 2 is cloud (ice and liquid no overlap), 1 (ice and liquid full overlap)
i_cloud_representation = 5
## Time and location variables for socrates
l_360 = .true. # 360 days in year as opposed to 365 (a UM thing
# in the LEM, is this still required??)
l_solar_fixed = .false. # true equals fixed insolation using value in
# sol_fixed
l_no_solar = .false. # Only use longwave rad by setting lit_fraction = 0.0
default_solar_constant = 1361. # Default solar constant
solar_fixed = -999.0 # prescribed insolation value
sec_fixed = -999.0 # prescribed 1/cos(solar_zenith_angle)
latitude = -999.0 # latitude for the location of radiation calc
longitude = -999.0 # longitude for the location of radiation calc
rad_start_year = -999.0 # simulation year for earth sun distance
rad_start_day = -999.0 # starting day of the year (0 is jan 1st, Dec 31st is 365, except leap obviously)
rad_start_time = -999.0 # Start time for the radiation calc, hours after 0Z
rad_int_time = -999.0 # time between each radiation call. If = 0
# radiation called every timestep, else gt than 0
# will be called less frequently
## Surface albedo variables for socrates
l_variable_srf_albedo = .false. # not coded yet but will allow variable
# surface albedo with solar zenith angle
surface_albedo = -999 # surface albedo (fixed in time)
# set the hydrometeors used in socrates
# 0 is not used, 1 is used.
# If a hydrometeor is selected, it must be available in the
# chosen microphysics scheme otherwise the model will stop
mphys_nq_l=0 # cloud liquid mass
mphys_nd_l=0 # cloud drop number
mphys_nq_r=0 # rain mass
mphys_nq_i=0 # ice mass
mphys_nq_s=0 # snow mass
mphys_nq_g=0 # graupel mass
### configuration for effective radius calculation
## Fixed cloud effective radius settings for socrates
## NOTE: default is to set effective radius to fixed values (as in LEM)
l_fix_re = .true.
fixed_cloud_re = 10.0 # effective radius for cloud droplets 10 microns
fixed_ice_re = 30.0 # effective radius for ice 30 microns
# Use number of drops to derive re. Will not work is l_fix_re = .true
l_use_ndrop = .false.
## Liu scheme, used in ESM
l_use_liu_spec = .false.
# Cloud number used in the radiation, should be consistent with microphys assumption
fixed_cloud_number = 50.0 # cloud number /cm3
# Density of water, consistent with CASIM in mphys_parameters
rho_water = 997.0
# KPARAM_* is the ratio of the cubes of the volume-mean radius and the effective radius
# used to calc effective radius, kparam = 0.67 for land (polluted) and 0.80 sea (clean) (martin 94)
kparam = 0.80
#CASIM switches
option = 22222
diag_mu_option = -999
iopt_act = 3
iopt_inuc = 4
process_level = 0
aerosol_option = 2
max_step_length = 120.0
max_sed_length = 20.0
p1 = 3.0
p2 = 0.0
p3 = 6.0
sp1 = 3.0
sp2 = 1.5
sp3 = 0.0
max_mu = 25.0
fix_mu = 2.5
l_aaut = .true.
l_aacc = .true.
l_aevp = .true.
l_ased = .true.
l_warm = .false.
l_inuc = .true.
l_iaut = .true.
l_idep = .true.
l_iacw = .true.
l_active_inarg2000 = .false.
l_separate_rain = .false.
l_sg = .true.
l_g = .true.
l_passive = .false.
l_passive3m = .false.
l_limit_psd = .true.
l_override_checks = .false.
l_raci_g = .true.
l_onlycollect = .false.
l_abelshipway = .false.
l_cons = .false.
l_rain = .true.
l_sed_3mdiff = .false.
l_sed_icecloud_as_1m = .true.
l_inhom_revp = .true.
l_pcond = .true.
l_praut = .true.
l_pracw = .true.
l_pracr = .true.
l_prevp = .true.
l_psedl = .true.
l_psedr = .true.
l_ptidy = .true.
l_ptidy2 = .true.
l_pinuc = .true.
l_pidep = .true.
l_piacw = .true.
l_psaut = .true.
l_psdep = .true.
l_psacw = .true.
l_pgdep = .true.
l_pseds = .true.
l_psedi = .true.
l_psedg = .true.
l_psaci = .true.
l_praci = .true.
l_psacr = .true.
l_pgacr = .true.
l_pgacw = .true.
l_pgaci = .true.
l_pgacs = .true.
l_piagg = .true.
l_psagg = .true.
l_pgagg = .true.
l_psbrk = .true.
l_pgshd = .true.
l_pihal = .true.
l_psmlt = .true.
l_pgmlt = .true.
l_phomr = .true.
l_phomc = .true.
l_pssub = .true.
l_pgsub = .true.
l_pisub = .true.
l_pimlt = .true.
l_tidy_conserve_E = .true.
l_tidy_conserve_q = .true.
# Conditional diagnostic defaults (all values)
cond_request=ALL, BYu, BCu, NrBCu, AC, ACu, ACd, WG1, WL1, ALu, ALd, CLu, CLd, AH, AL, AI, PPd, VPd, PVd, MO, BM, AA, AV
diag_request=area, W, W2, TH, WTH, THP, WTHP, THVP, WTHVP, THP2, WTHSG, W3, RH, U, V, WU, WV, WUSG, WVSG, TEMP, THL, THLP, THLP2, QVLI, QVLIP, QVLIP2, QRSG, QRSGP, QRSGP2, WQVLIP, WQRSGP
# ctritical thv and up/downdraft thresholds
thvprcrit=0.0
wSupcrit=1.0
wSdwncrit=-1.0
wupcrit=0.0
wdwncrit=0.0
# critical ql, qi and q_hydrometeor for conditional sampling
#qlcrit= 1.e-5 already defined above
qicrit= 1.e-5
qpptcrit= 1.e-5
vpptcrit= 1.e-4
# Diff calculations of thv; .false. means thv=th(1+0.61qv) and .true. mean thv=th(1+0.61qv-(ql+qi))
thv_from_th_with_liqice=.true.
# -----------------------------------------------------------------
# Parameters used to compute vertical velocity critical thresholds
# -----------------------------------------------------------------
# used only when pdf_analysis_enabled=.true.
# fractional percentiles:
# uppercrit=0.05 --> set updraft threshold at top 5% of w
# dwnpercrit=0.05 --> set downdraft threshold at bottom 5% of w
show_critical_w=.false.
uppercrit=0.05
dwnpercrit=0.05
# -----------------------------------------------------------------
# enable 3d binary SOCRATES-based total cloud mask diagnostic
l_cloud_mask=.false.
# cloud mask calculation method for cloud fraction diagnostics
# options are [DEFAULT, SOCRATES]
cloud_mask_method=DEFAULT
# In calculating separate liquid and ice cloud fractions, we can
# assume that coexisting liquid and ice cloud remain separate and
# have cell cloud fractions in proportion to their relative
# contribution to total cloud mass (.true.)
# or
# if either exceeds the cloud threshold as determined by the
# cloud_mask_method, the constituent has area 1.0. This is the
# same as assuming homogeneous clouds.
l_partial_liq_ice=.false.