diff --git a/scripts/run_obs_diag.py b/scripts/run_obs_diag.py index b2abfa60aeb1455076124774803725660ff413dd..cf8a78dbbb463ed713480739e97b157465573ba0 100644 --- a/scripts/run_obs_diag.py +++ b/scripts/run_obs_diag.py @@ -2,39 +2,45 @@ import os, sys, shutil, glob from config.cfg import exp, cluster from utils import symlink, copy, sed_inplace, append_file -folder_obs_seq_final = '/home/fs71386/lkugler/data/sim_archive/exp_v1.11_LMU_filter/obs_seq_final/' -files = sorted(glob.glob(folder_obs_seq_final+'/*.final')) # input for obs_diag program - -rundir_program = '/home/fs71386/lkugler/data/DART-WRF/rundir/' -fpath = rundir_program+'/obsdiag_inputlist.txt' -print('writing', fpath) - -if os.path.exists(fpath): - os.remove(fpath) - -with open(fpath, 'w') as f: - for fin in files: - f.write(fin) - f.write('\n') - - -print('ensure correct input.nml') -copy(cluster.scriptsdir+'/../templates/input.nml', - rundir_program+'/input.nml') #cluster.dartrundir+'/input.nml') -sed_inplace(rundir_program+'/input.nml', '<n_ens>', str(int(exp.n_ens))) -append_file(rundir_program+'/input.nml', cluster.scriptsdir+'/../templates/obs_def_rttov.VIS.nml') - -# run obs_diag -print('running obs_diag program') -os.chdir(rundir_program) -symlink(cluster.dart_srcdir+'/obs_diag', rundir_program+'/obs_diag') -os.system('./obs_diag >& obs_diag.log') - -print('moving output to', cluster.archivedir()+'/obs_diag_output.nc') -copy(rundir_program+'/obs_diag_output.nc', cluster.archivedir()+'/obs_diag_output.nc') - -print('running obs_seq_to_netcdf program') -symlink(cluster.dart_srcdir+'/obs_seq_to_netcdf', rundir_program+'/obs_diag_output.nc') -os.system('./obs_seq_to_netcdf >& obs_seq_to_netcdf.log') -print('moving output to', cluster.archivedir()+'/obs_seq_output.nc') -copy(rundir_program+'/obs_diag_output.nc', cluster.archivedir()+'/obs_seq_output.nc') +def run(folder_obs_seq_final): + rundir_program = '/home/fs71386/lkugler/data/DART-WRF/rundir/' + + files = sorted(glob.glob(folder_obs_seq_final+'/*.final')) # input for obs_diag program + fpath = rundir_program+'/obsdiag_inputlist.txt' + print('writing', fpath) + + if os.path.exists(fpath): + os.remove(fpath) + + with open(fpath, 'w') as f: + for fin in files: + f.write(fin) + f.write('\n') + + + print('ensure correct input.nml') + copy(cluster.scriptsdir+'/../templates/input.nml', + rundir_program+'/input.nml') #cluster.dartrundir+'/input.nml') + sed_inplace(rundir_program+'/input.nml', '<n_ens>', str(int(exp.n_ens))) + append_file(rundir_program+'/input.nml', cluster.scriptsdir+'/../templates/obs_def_rttov.VIS.nml') + + # run obs_diag + print('running obs_diag program') + os.chdir(rundir_program) + symlink(cluster.dart_srcdir+'/obs_diag', rundir_program+'/obs_diag') + os.system('./obs_diag >& obs_diag.log') + + outdir = '/'.join(folder_obs_seq_final.split('/')[:-1]) + print('moving output to', outdir+'/obs_diag_output.nc') + copy(rundir_program+'/obs_diag_output.nc', outdir+'/obs_diag_output.nc') + + print('running obs_seq_to_netcdf program') + symlink(cluster.dart_srcdir+'/obs_seq_to_netcdf', rundir_program+'/obs_seq_to_netcdf') + os.system('./obs_seq_to_netcdf >& obs_seq_to_netcdf.log') + print('moving output to', outdir+'/obs_seq_output.nc') + copy(rundir_program+'/obs_diag_output.nc', outdir+'/obs_seq_output.nc') + + +if __name__ == '__main__': + folder_obs_seq_final = '/home/fs71386/lkugler/data/sim_archive/exp_v1.11_LMU_filter_domainobs/obs_seq_final/' + run(folder_obs_seq_final)