From 25e0d8222f67b1ec78ca50eb3aa9c582b29c8f71 Mon Sep 17 00:00:00 2001 From: lkugler <lukas.kugler@gmail.com> Date: Fri, 19 May 2023 17:40:23 +0200 Subject: [PATCH] evaluate optional --- dartwrf/assim_synth_obs.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/dartwrf/assim_synth_obs.py b/dartwrf/assim_synth_obs.py index b67196d..738ac1b 100755 --- a/dartwrf/assim_synth_obs.py +++ b/dartwrf/assim_synth_obs.py @@ -534,22 +534,25 @@ def main(time, prior_init_time, prior_valid_time, prior_path_exp): os.system("rm -f input.nml obs_seq.in obs_seq.out obs_seq.out-orig obs_seq.final") set_DART_nml() + do_QC_here = getattr(exp, "reject_smallFGD", False) # True: triggers additional evaluations of prior & posterior + print("prepare nature") prepare_nature_dart(time) # link WRF files to DART directory print("prepare prior ensemble") prepare_prior_ensemble(time, prior_init_time, prior_valid_time, prior_path_exp) - print(" 1) get observations with specified obs-error") + print(" get observations with specified obs-error") oso = get_obsseq_out(time) - print(" 2.1) evaluate prior for all observations (incl rejected)") - osf_prior = evaluate(time, output_format="%Y-%m-%d_%H:%M_obs_seq.final-eval_prior_allobs") + if do_QC_here: + print(" (optional) evaluate prior for all observations (incl rejected)") + osf_prior = evaluate(time, output_format="%Y-%m-%d_%H:%M_obs_seq.final-eval_prior_allobs") - print(" 2.2) assign observation-errors for assimilation ") + print(" assign observation-errors for assimilation ") set_obserr_assimilate_in_obsseqout(oso, osf_prior, outfile=cluster.dartrundir + "/obs_seq.out") - if getattr(exp, "reject_smallFGD", False): + if do_QC_here: print(" 2.3) reject observations? ") qc_obs(time, oso, osf_prior) @@ -564,12 +567,13 @@ def main(time, prior_init_time, prior_valid_time, prior_path_exp): if exp.prior_inflation == 2: archive_inflation_2(time) - print(" 4) evaluate posterior observations for all observations (incl rejected)") - write_list_of_inputfiles_posterior(time) - if getattr(exp, "reject_smallFGD", False): + if do_QC_here: + print(" 4) evaluate posterior observations for all observations (incl rejected)") + write_list_of_inputfiles_posterior(time) + copy(cluster.archivedir+'/obs_seq_out/'+time.strftime('%Y-%m-%d_%H:%M_obs_seq.out-beforeQC'), cluster.dartrundir+'/obs_seq.out') - evaluate(time, output_format="%Y-%m-%d_%H:%M_obs_seq.final-eval_posterior_allobs") + evaluate(time, output_format="%Y-%m-%d_%H:%M_obs_seq.final-eval_posterior_allobs") if __name__ == "__main__": -- GitLab