Skip to content
Snippets Groups Projects
Commit 009b48b0 authored by lkugler's avatar lkugler
Browse files

impact factor

parent c2247c45
No related branches found
No related tags found
No related merge requests found
...@@ -26,14 +26,20 @@ def set_DART_nml(just_prior_values=False): ...@@ -26,14 +26,20 @@ def set_DART_nml(just_prior_values=False):
list_cov_loc_radius_km = [obscfg["cov_loc_radius_km"] for obscfg in exp.observations] list_cov_loc_radius_km = [obscfg["cov_loc_radius_km"] for obscfg in exp.observations]
list_cov_loc_radian = [str(to_radian_horizontal(a)) for a in list_cov_loc_radius_km] list_cov_loc_radian = [str(to_radian_horizontal(a)) for a in list_cov_loc_radius_km]
if just_prior_values: if just_prior_values: # if not compute posterior
template = cluster.scriptsdir + "/../templates/input.eval.nml" template = cluster.scriptsdir + "/../templates/input.eval.nml"
else: else:
template = cluster.scriptsdir + "/../templates/input.nml" template = cluster.scriptsdir + "/../templates/input.nml"
copy(template, cluster.dartrundir + "/input.nml") copy(template, cluster.dartrundir + "/input.nml")
# options keys are replaced in input.nml with values # impact_factor
if exp.adjust_obs_impact:
copy(cluster.obs_impact_filename, cluster.dartrundir + "/control_impact_runtime.txt")
# The keys in `options` are placeholders in input.nml which will be replaced.
# How? This is defined here
options = { options = {
"<adjust_obs_impact>": '.true.' if exp.adjust_obs_impact else '.false.',
"<filter_kind>": str(int(exp.filter_kind)), "<filter_kind>": str(int(exp.filter_kind)),
"<sampling_error_correction>": '.true.' if exp.sec else '.false.', "<sampling_error_correction>": '.true.' if exp.sec else '.false.',
"<post_inflation>": '4' if exp.inflation else '0', "<post_inflation>": '4' if exp.inflation else '0',
......
...@@ -3,11 +3,6 @@ import datetime as dt ...@@ -3,11 +3,6 @@ import datetime as dt
import netCDF4 as nc import netCDF4 as nc
from config.cfg import exp, cluster from config.cfg import exp, cluster
"""
Updates initial condition (wrfinput/wrfrst files) in the run_WRF directories with ./filter output
# assumes T = THM (dry potential temperature as prognostic variable)
"""
def update_initials_in_WRF_rundir(time): def update_initials_in_WRF_rundir(time):
"""Updates wrfrst-files in `/run_WRF/` directory """Updates wrfrst-files in `/run_WRF/` directory
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -105,6 +105,8 @@ ...@@ -105,6 +105,8 @@
&assim_tools_nml &assim_tools_nml
filter_kind = 1, filter_kind = 1,
cutoff = <cov_loc_radian>, cutoff = <cov_loc_radian>,
adjust_obs_impact = <adjust_obs_impact>,
obs_impact_filename = 'control_impact_runtime.txt',
sort_obs_inc = .false., sort_obs_inc = .false.,
spread_restoration = .false., spread_restoration = .false.,
sampling_error_correction = .true., sampling_error_correction = .true.,
......
...@@ -105,6 +105,8 @@ ...@@ -105,6 +105,8 @@
&assim_tools_nml &assim_tools_nml
filter_kind = <filter_kind>, filter_kind = <filter_kind>,
cutoff = <cov_loc_radian>, cutoff = <cov_loc_radian>,
adjust_obs_impact = <adjust_obs_impact>,
obs_impact_filename = 'control_impact_runtime.txt',
sort_obs_inc = .false., sort_obs_inc = .false.,
spread_restoration = .false., spread_restoration = .false.,
sampling_error_correction = <sampling_error_correction>, sampling_error_correction = <sampling_error_correction>,
......
...@@ -105,6 +105,8 @@ ...@@ -105,6 +105,8 @@
&assim_tools_nml &assim_tools_nml
filter_kind = 1, filter_kind = 1,
cutoff = 0.0001, cutoff = 0.0001,
adjust_obs_impact = <adjust_obs_impact>,
obs_impact_filename = 'control_impact_runtime.txt',
sort_obs_inc = .false., sort_obs_inc = .false.,
spread_restoration = .false., spread_restoration = .false.,
sampling_error_correction = .false., sampling_error_correction = .false.,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment