diff --git a/dartwrf/assimilate.py b/dartwrf/assimilate.py index cd8d96b2d08eb2526c44adf4cdd6b2b347a77390..94f69c8648bacb5ad63d359f5faf31a1e93855ef 100755 --- a/dartwrf/assimilate.py +++ b/dartwrf/assimilate.py @@ -493,12 +493,16 @@ def link_DART_binaries_and_RTTOV_files(): symlink(joinp(cluster.dart_srcdir, b), joinp(cluster.dart_rundir, b)) + symlink(cluster.dart_srcdir+'/../../../assimilation_code/programs/gen_sampling_err_table/' + +'work/sampling_error_correction_table.nc', + cluster.dart_rundir+'/sampling_error_correction_table.nc') + # link RTTOV files - rttov_files = ['rttov13pred54L/rtcoef_msg_4_seviri_o3.dat', - 'mfasis_lut/rttov_mfasis_cld_msg_4_seviri_deff.H5', - 'cldaer_visir/sccldcoef_msg_4_seviri.dat'] + if cluster.rttov_srcdir != False: + rttov_files = ['rttov13pred54L/rtcoef_msg_4_seviri_o3.dat', + 'mfasis_lut/rttov_mfasis_cld_msg_4_seviri_deff.H5', + 'cldaer_visir/sccldcoef_msg_4_seviri.dat'] - try: # may fail quietly if we dont need RTTOV for f_src in rttov_files: destname = os.path.basename(f_src) if 'rtcoef' in f_src: @@ -513,17 +517,12 @@ def link_DART_binaries_and_RTTOV_files(): symlink(cluster.dart_srcdir+'/../../../observations/forward_operators/rttov_sensor_db.csv', cluster.dart_rundir+'/rttov_sensor_db.csv') - symlink(cluster.dart_srcdir+'/../../../assimilation_code/programs/gen_sampling_err_table/' - +'work/sampling_error_correction_table.nc', - cluster.dart_rundir+'/sampling_error_correction_table.nc') - - print('prepared DART & RTTOV links in', cluster.dart_rundir) - except Exception as e: - # will any satellite channel be assimilated? + else: + # check if we need RTTOV, but rttov_srcdir is not set for obscfg in exp.observations: if 'sat_channel' in obscfg: - raise e - pass # we dont need RTTOV anyway + raise RuntimeError('cluster.rttov_srcdir not set, but satellite channel will be assimilated') + def prepare_run_DART_folder(): os.makedirs(cluster.dart_rundir, exist_ok=True) # create directory to run DART in