From b1e5a700a44e4f55b9de7cc6a7694585a13bd02f Mon Sep 17 00:00:00 2001 From: Joe Stassi Date: Wed, 26 May 2021 11:42:59 -0400 Subject: [PATCH] updates for running C90C_ens and C90C_replay test cases --- src/Applications/GEOSdas_App/fvsetup | 17 ++++++------ .../GEOSdas_App/testsuites/C90C_ens.input | 8 +++--- .../GEOSdas_App/testsuites/C90C_replay.input | 5 +--- .../NCEP_enkf/scripts/gmao/get_atmens_rst.pl | 26 +++++++++++++++---- 4 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 506e3794..bc083058 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -341,7 +341,7 @@ # 25Jul2017 Holdaway Added resource files associated with NGGPS FV3 tlm/adjoint, sens and svec # 19Jul2018 Wargan Additions for OMPS #------------------------------------------------------------------------- -use Cwd qw(cwd); +use Cwd qw(abs_path cwd); use English; use Env; # make env vars readily available use File::Basename qw(basename dirname); @@ -2278,29 +2278,28 @@ EOF #======================================================================= sub ed_aens_das_replay_acq { my($mydir) = @_; - my($replay_arcdir, $aens_replay_expid, $acq); + my($replay_arcdir, $replay_expid, $acq); - $aens_replay_expid = "x0044"; - $replay_arcdir = query("Replay exp name?", $aens_replay_expid); - $replay_arcdir = "/discover/nobackup/projects/gmao/advda/rtodling/archive/x0044"; + $replay_arcdir = "/discover/nobackup/projects/gmao/dadev/rtodling/archive/x0044"; $replay_arcdir = query("Replay archive directory?", $replay_arcdir); + $replay_expid = basename(abs_path($replay_arcdir)); $acq = "$fvhome/$mydir/atmens_replay.acq"; - open(SCRIPT,">$acq") or die ">>> ERROR <<< cannot write $acq"; + open(SCRIPT,">$acq") or die ">>> ERROR <<< cannot write $acq"; print SCRIPT <<"EOF"; -$replay_arcdir/atmens/Y%y4/M%m2/$aens_replay_expid.atmens_ebkg.%y4%m2%d2_%h2z.tar => $expid.atmens_ebkg.%y4%m2%d2_%h2z.tar +$replay_arcdir/atmens/Y%y4/M%m2/$replay_expid.atmens_ebkg.%y4%m2%d2_%h2z.tar => $expid.atmens_ebkg.%y4%m2%d2_%h2z.tar EOF if ( $mydir eq "run") { $acq = "$fvhome/anasa/atmens_replay.acq"; open(SCRIPT,">$acq") or die ">>> ERROR <<< cannot write $acq"; print SCRIPT <<"EOF"; -$replay_arcdir/atmens/Y%y4/M%m2/$aens_replay_expid.atmens_ebkg.%y4%m2%d2_%h2z.tar => $expid.atmens_ebkg.%y4%m2%d2_%h2z.tar +$replay_arcdir/atmens/Y%y4/M%m2/$replay_expid.atmens_ebkg.%y4%m2%d2_%h2z.tar => $expid.atmens_ebkg.%y4%m2%d2_%h2z.tar EOF $acq = "$fvhome/asens/atmens_asens.acq"; open(SCRIPT,">$acq") or die ">>> ERROR <<< cannot write $acq"; print SCRIPT <<"EOF"; -$replay_arcdir/atmens/Y%y4/M%m2/$aens_replay_expid.atmens_ebkg.%y4%m2%d2_%h2z.tar => $expid.atmens_ebkg.%y4%m2%d2_%h2z.tar +$replay_arcdir/atmens/Y%y4/M%m2/$replay_expid.atmens_ebkg.%y4%m2%d2_%h2z.tar => $expid.atmens_ebkg.%y4%m2%d2_%h2z.tar EOF } diff --git a/src/Applications/GEOSdas_App/testsuites/C90C_ens.input b/src/Applications/GEOSdas_App/testsuites/C90C_ens.input index 0ec400d2..28fec6ce 100644 --- a/src/Applications/GEOSdas_App/testsuites/C90C_ens.input +++ b/src/Applications/GEOSdas_App/testsuites/C90C_ens.input @@ -74,7 +74,7 @@ AeroCom? [/discover/nobackup/projects/gmao/share/gmao_ops/fvInput_4dvar/AeroCom] > FVICS? [/archive/u/jstassi/restarts/GEOSadas-5_24_0] -> /archive/u/jstassi/restarts/GEOSadas-5_25_0/C90CS_x0039_p6.rst.20190729_21z.tar +> /archive/u/jstassi/restarts/GEOSadas-5_27_0/C90CS_x0044.rst.20201215_21z.tar Run model-adjoint-related applications (0=no,1=yes)? [0] > 1 @@ -95,7 +95,7 @@ Verifying experiment id: [C90C_ens] > Ending year-month-day? [20190731] -> 20190801 +> 20201220 Length of FORECAST run segments (in hours)? [123] > @@ -143,7 +143,7 @@ Which main class of ObsSys (1: NRT; 2: MERRA; 3: MERRA-2)? [1] > OBSERVING SYSTEM CLASSES? -> ncep_prep_bufr,ncep_1bamua_bufr,disc_airs_bufr,disc_amsua_bufr,ncep_mhs_bufr,ncep_1bhrs4_bufr,ncep_goesfv_bufr,ncep_mtiasi_bufr,ncep_gpsro_bufr,ncep_aura_omi_bufr,ncep_satwnd_bufr,ncep_atms_bufr,ncep_sevcsr_bufr,ncep_ssmis_bufr,mls_nrt_nc,ncep_avcsam_bufr,ncep_avcspm_bufr,ncep_tcvitals,gmao_gmi_bufr,ncep_crisfsr_bufr,npp_ompsnm_bufr,ncep_acftpfl_bufr +> ncep_ssmis_bufr,ncep_1bamua_bufr,ncep_prep_bufr,ncep_tcvitals,ncep_mhs_bufr,ncep_1bhrs4_bufr,ncep_gpsro_bufr,ncep_mtiasi_bufr,ncep_atms_bufr,ncep_crisfsr_bufr,ncep_satwnd_bufr,ncep_sevcsr_bufr,ncep_avcsam_bufr,ncep_avcspm_bufr,ncep_aura_omi_bufr,disc_airs_bufr,disc_amsua_bufr,gmao_gmi_bufr,mls_nrt_nc,gmao_amsr2_bufr,npp_ompsnm_bufr,ncep_acftpfl_bufr CHECKING OBSYSTEM? [2] > @@ -227,7 +227,7 @@ Ensemble Vertical Levels? [72] > Experiment archive directory for ensemble restarts or 'later': [/archive/u/jstassi/C90C_ens] -> /archive/u/dao_it/x0039_p6 +> /discover/nobackup/projects/gmao/dadev/rtodling/archive/x0044 Edit COLLECTIONS list in run/HISTORY.rc.tmpl (y/n)? [n] > diff --git a/src/Applications/GEOSdas_App/testsuites/C90C_replay.input b/src/Applications/GEOSdas_App/testsuites/C90C_replay.input index 2fe0444c..051bceb7 100644 --- a/src/Applications/GEOSdas_App/testsuites/C90C_replay.input +++ b/src/Applications/GEOSdas_App/testsuites/C90C_replay.input @@ -217,11 +217,8 @@ Select group: [g0613] Replayed Ensemble (from OPS)? [yes] > -Replay exp name? [x0044] -> - Replay archive directory? [/discover/nobackup/projects/gmao/advda/rtodling/archive/x0044] -> +> /discover/nobackup/projects/gmao/dadev/rtodling/archive/x0044 Edit COLLECTIONS list in run/HISTORY.rc.tmpl (y/n)? [n] > diff --git a/src/Applications/NCEP_Etc/NCEP_enkf/scripts/gmao/get_atmens_rst.pl b/src/Applications/NCEP_Etc/NCEP_enkf/scripts/gmao/get_atmens_rst.pl index 81996f29..7967a844 100755 --- a/src/Applications/NCEP_Etc/NCEP_enkf/scripts/gmao/get_atmens_rst.pl +++ b/src/Applications/NCEP_Etc/NCEP_enkf/scripts/gmao/get_atmens_rst.pl @@ -1,10 +1,12 @@ #!/usr/bin/env perl use strict; use warnings; -use Cwd qw(cwd); +use Cwd qw(abs_path cwd); use File::Basename qw(basename dirname); use File::Copy qw(cp mv); use File::Path qw(mkpath rmtree); +use Getopt::Long qw(GetOptions); + use FindBin qw($Bin); use lib "$Bin"; use Manipulate_time qw(tick); @@ -30,7 +32,7 @@ my ($atmens_stat_dir, $atmens_ebkg_dir, $atmens_erst_dir, $atmens_ecbkg_dir); my ($tarfile, $tarpath, $label, $pid); my ($ens, $mem, $mfile, $mfile_new); - my (@tarList); + my (@archList, @tarList); init(); chdir($atmens_dir); @@ -52,12 +54,12 @@ foreach $label ("stat", "ebkg", "ecbkg", "erst") { $tarfile = "$expid.atmens_$label.${yyyymmdd}_${hh}z.tar"; $tarpath = "$atmens_date_dir/$tarfile"; + push @archList, $tarpath if archFile($tarpath); push @tarList, $tarpath; } - defined($pid = fork) or die "Error while attempting to fork;"; unless ($pid) { - system "dmget @tarList"; + system "dmget @archList"; exit; } foreach $tarpath (@tarList) { system_("tar xvf $tarpath") } @@ -88,7 +90,6 @@ # purpose - get runtime parameters and flags #======================================================================= sub init { - use Getopt::Long qw(GetOptions); my ($fvhome, $help, $exparcdir); GetOptions("fvhome=s" => \$fvhome, @@ -102,6 +103,7 @@ sub init { ($exparcdir, $newid, $yyyymmdd, $hh) = @ARGV; $exparcdir =~ s/[\s\/]*$//; + $exparcdir = abs_path($exparcdir); $arcdir = dirname($exparcdir); $expid = basename($exparcdir); @@ -123,6 +125,20 @@ sub init { } +#======================================================================= +# name - archFile +# purpose - Return true (1) if $file is an archive file; +# Return false (0) if not +#======================================================================= +sub archFile { + my ($file, $dmLine, $dmFLG); + $file = shift @_; + $dmLine = `dmls -l $file`; + $dmFLG = 1; + $dmFLG = 0 if $dmLine =~ m|(N/A)|; + return $dmFLG; +} + #======================================================================= # name - rename_new #=======================================================================