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

quick-fix error-assimilate does not exist

parent f4f8e571
No related branches found
No related tags found
No related merge requests found
...@@ -283,16 +283,20 @@ def set_obserr_assimilate_in_obsseqout(oso, outfile="./obs_seq.out"): ...@@ -283,16 +283,20 @@ def set_obserr_assimilate_in_obsseqout(oso, outfile="./obs_seq.out"):
where_oso_iskind = oso.df.kind == kind where_oso_iskind = oso.df.kind == kind
if obscfg["error_assimilate"] == False: if obscfg["error_assimilate"] == False:
osf_prior = obsseq.ObsSeq(cluster.dartrundir + "/obs_seq.final") # this file will be generated by `evaluate()` # osf_prior = obsseq.ObsSeq(cluster.dartrundir + "/obs_seq.final") # this file will be generated by `evaluate()`
where_osf_iskind = osf_prior.df.kind == kind # where_osf_iskind = osf_prior.df.kind == kind
assim_err = get_parametrized_error(obscfg, osf_prior.df[where_osf_iskind]) # assim_err = get_parametrized_error(obscfg, osf_prior.df[where_osf_iskind])
oso.df.loc[where_oso_iskind, 'variance'] = assim_err**2 # oso.df.loc[where_oso_iskind, 'variance'] = assim_err**2
#assert np.allclose(assim_err, oso.df['variance']**2) # check #assert np.allclose(assim_err, oso.df['variance']**2) # check
pass
else: else:
# overwrite with user-defined values # overwrite with user-defined values
oso.df.loc[where_oso_iskind, 'variance'] = obscfg["error_assimilate"]**2 try:
oso.df.loc[where_oso_iskind, 'variance'] = obscfg["error_assimilate"]**2
except:
pass
oso.to_dart(outfile) oso.to_dart(outfile)
...@@ -532,7 +536,7 @@ def main(time, prior_init_time, prior_valid_time, prior_path_exp): ...@@ -532,7 +536,7 @@ def main(time, prior_init_time, prior_valid_time, prior_path_exp):
do_QC = getattr(exp, "reject_smallFGD", False) # True: triggers additional evaluations of prior & posterior do_QC = getattr(exp, "reject_smallFGD", False) # True: triggers additional evaluations of prior & posterior
# for which observation type do we have a parametrized observation error? # for which observation type do we have a parametrized observation error?
error_is_parametrized = [obscfg["error_assimilate"] == False for obscfg in exp.observations] # error_is_parametrized = [obscfg["error_assimilate"] == False for obscfg in exp.observations]
# create directory to run DART in # create directory to run DART in
archive_time = cluster.archivedir + time.strftime("/%Y-%m-%d_%H:%M/") archive_time = cluster.archivedir + time.strftime("/%Y-%m-%d_%H:%M/")
...@@ -556,9 +560,9 @@ def main(time, prior_init_time, prior_valid_time, prior_path_exp): ...@@ -556,9 +560,9 @@ def main(time, prior_init_time, prior_valid_time, prior_path_exp):
oso = get_obsseq_out(time) oso = get_obsseq_out(time)
# is any observation error parametrized? # is any observation error parametrized?
if any(error_is_parametrized) or do_QC: # if any(error_is_parametrized) or do_QC:
print(" (optional) evaluate prior for all observations (incl rejected)") # print(" (optional) evaluate prior for all observations (incl rejected)")
evaluate(time, output_format="%Y-%m-%d_%H:%M_obs_seq.final-eval_prior_allobs") # evaluate(time, output_format="%Y-%m-%d_%H:%M_obs_seq.final-eval_prior_allobs")
print(" assign observation-errors for assimilation ") print(" assign observation-errors for assimilation ")
set_obserr_assimilate_in_obsseqout(oso, outfile=cluster.dartrundir + "/obs_seq.out") set_obserr_assimilate_in_obsseqout(oso, outfile=cluster.dartrundir + "/obs_seq.out")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment