Closed leifdenby closed 4 years ago
@stevenleeds It turns I was wrong about whether the time-varying forcing (based on reading in netCDF-files) functionality that Todd has implemented is part of the new release that Adrian is producing, it is. You can see the file is part of the pull-request I made for reviewing the new version here: https://github.com/Leeds-MONC/monc/pull/14/files#diff-8b9169897907a51314b9ba7c9cb32991 (you'll need to click to "load diff" to see the changes)
I'm going to try and cherry-pick that file out and make a separate branch from our current master
Talking with @stevenleeds about this just now we've typed up an overview of our current understand of how MONC applies forcings and what we'd like to get to: https://docs.google.com/document/d/1mz2Ajo4ABdMQBHEYTKmNgBUV4Y9iZjCCLdlbtu1aYgU/
TODO
You for reference @stevenleeds here's a list of namelist parameters that appear to be relevant to forcing and initialisation in MONC as of v0.9.0
(this is from https://github.com/Leeds-MONC/monc/blob/v0.9.0/testcases/shallow_convection/bomex.mcf):
# Initialization of fields
l_init_pl_theta=.true.
z_init_pl_theta=0.0, 520.0, 1480., 2000., 3000.
f_init_pl_theta=298.7, 298.7, 302.4, 308.2, 311.85
l_init_pl_u=.true.
z_init_pl_u=0.0, 700.0, 3000.
f_init_pl_u=-8.75, -8.75, -4.61
l_init_pl_v=.false.
l_init_pl_q=.true.
names_init_pl_q=vapour
z_init_pl_q=0.0, 520.0, 1480., 2000., 3000.
f_init_pl_q=17.0e-3, 16.3e-3, 10.7e-3, 4.2e-3, 3.0e-3
l_matchthref=.false.
# Random noise
l_rand_pl_theta=.true.
z_rand_pl_theta=0.0, 500.0, 501.0, 3000.
f_rand_pl_theta=0.5, 0.5, 0.0001, 0.0001
# Simple cloud
max_height_cloud=3000.
# physical constants
z0=0.0002
z0th=0.0002
# Coriolis
fcoriol=0.0000376
baroclinicity_use_geostrophic_shear=.true.
geostrophic_wind_rate_of_change_in_x=0.0018
geostrophic_wind_rate_of_change_in_y=0.0
surface_geostrophic_wind_x=-10.
surface_geostrophic_wind_y=0.0
# Damping configuration
dmptim=0.001
zdmp=2300.0
hdmp=2000.0
# Subsidence profile
l_subs_pl_theta=.true.
z_subs_pl=0.0, 1500.0, 2100.0, 3000.
f_subs_pl=0.0, -0.0065, 0.0, 0.0
l_subs_pl_q=.true.
#SUBSIDENCE=1, DIVERGENCE=0
subsidence_input_type=1
subsidence_local_theta=.true.
subsidence_local_q=.true.
# Large-scale forcing
l_constant_forcing_theta=.true.
l_constant_forcing_q=.true.
l_constant_forcing_u=.false.
l_constant_forcing_v=.false.
# Unit options are K/s or K/day
units_theta_force=K/day
l_constant_forcing_theta_z2pressure=.true.
z_force_pl_theta=0.0, 1500.0, 2500.0, 3000.
f_force_pl_theta=-2.0, -2.0, 0.0, 0.0
names_constant_forcing_q=vapour
z_force_pl_q=0.0, 300.0, 500.0, 3000.
f_force_pl_q=-1.2e-5, -1.2e-5, 0.0, 0.0
# Unit options are kg/kg/s, kg/kg/day, g/kg/s or g/kg/day
units_q_force=g/kg/s
convert_input_theta_from_temperature=.true.
convert_input_specific_to_mixingratio=.true. # Not yet implemented
# TENDENCY=0, RELAXATION=1, INCREMENTS=2
constant_forcing_type_theta=0
constant_forcing_type_q=0
constant_forcing_type_u=0
constant_forcing_type_v=0
I'm going to close this since implementation is going to be tracked in https://github.com/Leeds-MONC/monc/issues/26
MONC documentation (see section on "4.9 Configuration for atmospheric forcing"): https://www.overleaf.com/project/5e467337742dd800019e2448
From Todd: