From ddb508324176226d1a6be8d3644591b7b17db97b Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Thu, 1 May 2025 12:00:31 -0400 Subject: [PATCH 01/23] modifications in fvsetup corresponding to ldasGC pr #94 --- src/Applications/GEOSdas_App/fvsetup | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 0c15ef06..f6090e8e 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -579,19 +579,20 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; die "Failed to fix GOCART levels-referencing $!" if ( $rc ); # Call LDAS setup script. -# Provide LDAS config input files in $ldassetup/: det_exeinp.txt, det_batinp.txt. -# For Hyb-4dEnVar, do same for ens_exeinp.txt, ens_batinp.txt. +# Provide LDAS config input files in $ldassetup/: ldas_exeinp.txt, ldas_batinp.txt. # See GEOSldas/README.md for generating sample config input files. # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb $ldassetup/det_exeinp.txt $ldassetup/det_batinp.txt"; + $detres = $res ; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --acoup 1 --adomain $detres --ldasrs $ldasics $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { - $rc = system("$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb $ldassetup/ens_exeinp.txt $ldassetup/ens_batinp.txt"); + $ensres = $aens_res; + $rc = system("$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --acoup 2 --adomain $ensres --ldasrs $ldasics4ens $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"); die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); } } @@ -3521,8 +3522,8 @@ sub set_ldasANA { $ldas_flag = 1; $prompt = " Location of LDAS initial forcing "; - $dflt = $fvics; - $dflt = dirname($fvics) unless -d $fvics; + $dflt = $drstloc; + $dflt = dirname($drstloc) unless -d $drstloc; $ldashold = query($prompt, $dflt); die ">>> Error <<< Cannot find directory, $ldashold;" @@ -3539,10 +3540,19 @@ sub set_ldasANA { } $dflt = "/discover/nobackup/$user/ldasSaveInput"; $ldassetup = query(" LDAS setup input path?", $dflt); + + $dflt = "/discover/nobackup/$user/ldas_exp_C360/"; + $prompt = " Location of LDAS ICS for det? (full_path/ldas_exp) "; + $ldasics = query($prompt, $dflt); + die ">>> Error <<< Cannot find directory, $ldasics;" + unless -d $ldasics; if ($hyb_ens == 4 ) { - $dflt = "/discover/nobackup/$user/ldasSaveInput"; - $ldassetup4ens = query(" LDAS setup input path for ens?", $dflt); + $dflt = "/discover/nobackup/$user/ldas_exp_C90/"; + $prompt = " Location of LDAS ICS for ens? (full_path/ldas_exp) "; + $ldasics4ens = query($prompt); + die ">>> Error <<< Cannot find directory, $ldasics4ens;" + unless -d $ldasics4ens; } } return 0; From 03c1dda92c60ea5361853a334dd05a4f982a0583 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Fri, 2 May 2025 09:16:02 -0400 Subject: [PATCH 02/23] minor edits in call of ldas_setup (fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index f6090e8e..5fe2b602 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -584,17 +584,17 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $detres = $res ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --acoup 1 --adomain $detres --ldasrs $ldasics $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $res --rstdir $ldasics $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { - $ensres = $aens_res; - $rc = system("$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --acoup 2 --adomain $ensres --ldasrs $ldasics4ens $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"); - die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); - } + $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_res --rstdir $ldasics4ens $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; + print "$cmd\n"; + $rc = system $cmd; + die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); + } } # Monthly Setup From 7c5f7515fb00cb004d39ba55fa07d1a6245b6e74 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Fri, 2 May 2025 13:03:15 -0400 Subject: [PATCH 03/23] use strings "agcm_im4" and "aens_im4" in ldas_setup command line input --- src/Applications/GEOSdas_App/fvsetup | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 62c37f95..e1a43eb2 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -595,13 +595,14 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $res --rstdir $ldasics $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --rstdir $ldasics $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_res --rstdir $ldasics4ens $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; + $aens_im4 = sprintf "%04i", $aens_im ; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --rstdir $ldasics4ens $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); From 1a39275660b4e187e8dffe9fc2f9c17d90b94635 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Tue, 6 May 2025 11:56:16 -0400 Subject: [PATCH 04/23] changed order of command line args in call to ldas_setup (fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 493bc077..8fa5d0b8 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -595,14 +595,14 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --rstdir $ldasics $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --rstdir $ldasics"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --rstdir $ldasics4ens $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --rstdir $ldasics4ens"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); @@ -3563,14 +3563,14 @@ sub set_ldasANA { $ldassetup = query(" LDAS setup input path?", $dflt); $dflt = "/discover/nobackup/$user/ldas_exp_C360/"; - $prompt = " Location of LDAS ICS for det? (full_path/ldas_exp) "; + $prompt = " Location of LDAS initial conditions for det? (full_path/ldas_exp) "; $ldasics = query($prompt, $dflt); die ">>> Error <<< Cannot find directory, $ldasics;" unless -d $ldasics; if ($hyb_ens == 4 ) { $dflt = "/discover/nobackup/$user/ldas_exp_C90/"; - $prompt = " Location of LDAS ICS for ens? (full_path/ldas_exp) "; + $prompt = " Location of LDAS initial conditions for ens? (full_path/ldas_exp) "; $ldasics4ens = query($prompt); die ">>> Error <<< Cannot find directory, $ldasics4ens;" unless -d $ldasics4ens; From c249ba0dcb771eae6519f3ab10733bac637588d1 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Tue, 6 May 2025 12:25:42 -0400 Subject: [PATCH 05/23] call ldas_setup with -v (verbose) option (fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 8fa5d0b8..e85ed88a 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -595,14 +595,14 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --rstdir $ldasics"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --rstdir $ldasics"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --rstdir $ldasics4ens"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --rstdir $ldasics4ens"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); From 9e8148fa3a9aa9c004064be208cd7bdf5b990ab3 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Tue, 6 May 2025 14:53:33 -0400 Subject: [PATCH 06/23] update landbcs and rstloc in command line args of ldas_setup --- src/Applications/GEOSdas_App/fvsetup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 3e7d9e13..4ff1c48f 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -595,14 +595,14 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --rstdir $ldasics"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --bcs_version $landbcs --rstloc $ldasics"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --rstdir $ldasics4ens"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --bcs_version $landbcs --rstloc $ldasics4ens"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); From 78965e65f0882e8e8a0904c3072522f88af0d565 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Fri, 16 May 2025 13:59:45 -0400 Subject: [PATCH 07/23] add more command line inputs to ldas_setup call --- src/Applications/GEOSdas_App/fvsetup | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 1cd2b6f3..86dfca2c 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -595,14 +595,16 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --bcs_version $landbcs --rstloc $ldasics"; + $varwndnhms = ($varwindow / 60)*10000; + $varwnd_im6 = sprintf "%06i", $varwndnhms ; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --adas_cyc $varwnd_im6 --bcs_version $landbcs --rstloc $ldasics --specnml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --bcs_version $landbcs --rstloc $ldasics4ens"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --adas_cyc $varwnd_im6 --bcs_version $landbcs --rstloc $ldasics4ens --specnml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); @@ -3562,12 +3564,20 @@ sub set_ldasANA { $dflt = "/discover/nobackup/$user/ldasSaveInput"; $ldassetup = query(" LDAS setup input path?", $dflt); + $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/SPECnml/"; + $prompt = " LDAS SPEC nml path? "; + $ldasnml_path = query($prompt, $dflt); + + $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/MWRTM/"; + $prompt = " LDAS mwrtm parameters path? "; + $ldasrtm_path = query($prompt, $dflt); + $dflt = "/discover/nobackup/$user/ldas_exp_C360/"; $prompt = " Location of LDAS initial conditions for det? (full_path/ldas_exp) "; $ldasics = query($prompt, $dflt); die ">>> Error <<< Cannot find directory, $ldasics;" unless -d $ldasics; - + if ($hyb_ens == 4 ) { $dflt = "/discover/nobackup/$user/ldas_exp_C90/"; $prompt = " Location of LDAS initial conditions for ens? (full_path/ldas_exp) "; From 9a819dd9e7a48d6003e755548d6ec01dcc62af0f Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Tue, 20 May 2025 12:15:09 -0400 Subject: [PATCH 08/23] synchronize LDAS setup with latest GEOSldas changes (fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 67bf4efb..c5e4a007 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -590,21 +590,17 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; die "Failed to fix GOCART levels-referencing $!" if ( $rc ); # Call LDAS setup script. -# Provide LDAS config input files in $ldassetup/: ldas_exeinp.txt, ldas_batinp.txt. -# See GEOSldas/README.md for generating sample config input files. # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $varwndnhms = ($varwindow / 60)*10000; - $varwnd_im6 = sprintf "%06i", $varwndnhms ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --adas_cyc $varwnd_im6 --bcs_version $landbcs --rstloc $ldasics --specnml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --adas_cyc $varwnd_im6 --bcs_version $landbcs --rstloc $ldasics4ens --specnml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); @@ -3562,14 +3558,14 @@ sub set_ldasANA { $ldasfdbk = 1; } $dflt = "/discover/nobackup/$user/ldasSaveInput"; - $ldassetup = query(" LDAS setup input path?", $dflt); + $ldassetup = query(" Location of LDAS setup sample input files (exeinp, batinp)?", $dflt); $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/SPECnml/"; - $prompt = " LDAS SPEC nml path? "; + $prompt = " Location of LDAS (special) nml input files? "; $ldasnml_path = query($prompt, $dflt); $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/MWRTM/"; - $prompt = " LDAS mwrtm parameters path? "; + $prompt = " Location of LDAS L-band microwave radiative transfer model (mwrtm) parameters? "; $ldasrtm_path = query($prompt, $dflt); $dflt = "/discover/nobackup/$user/ldas_exp_C360/"; From 8122422b0f2bf0dc2ede9ea12329193f32b5ff94 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Sat, 24 May 2025 20:40:15 -0400 Subject: [PATCH 09/23] make dummy inp files at command line position input remove query for ldas setup inp files --- src/Applications/GEOSdas_App/fvsetup | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index c5e4a007..d109a362 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -593,14 +593,14 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana exeinp batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana $ldassetup/ldas_exeinp.txt $ldassetup/ldas_batinp.txt -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana exeinp batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); @@ -3557,8 +3557,6 @@ sub set_ldasANA { if (yes($ans2)) { $ldasfdbk = 1; } - $dflt = "/discover/nobackup/$user/ldasSaveInput"; - $ldassetup = query(" Location of LDAS setup sample input files (exeinp, batinp)?", $dflt); $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/SPECnml/"; $prompt = " Location of LDAS (special) nml input files? "; From 03ab4cbd4c48168baea5466901f78a4750f5dc8d Mon Sep 17 00:00:00 2001 From: "Sara Q. Zhang" <53908150+saraqzhang@users.noreply.github.com> Date: Tue, 27 May 2025 18:14:29 -0400 Subject: [PATCH 10/23] Update src/Applications/GEOSdas_App/fvsetup Co-authored-by: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> --- src/Applications/GEOSdas_App/fvsetup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index d109a362..0607b5e3 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -593,7 +593,7 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana exeinp batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); From 827ecc0b1ba4307a44e05db031b29381497e5c8e Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Wed, 28 May 2025 08:54:45 -0400 Subject: [PATCH 11/23] Update src/Applications/GEOSdas_App/fvsetup --- src/Applications/GEOSdas_App/fvsetup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 0607b5e3..ef88db64 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -600,7 +600,7 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana exeinp batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); From 4fb663682c4f12809a0f51fb1085601ab350d6f3 Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Thu, 29 May 2025 12:36:39 -0400 Subject: [PATCH 12/23] minor edits for clarification of LDAS setup (fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index ef88db64..9d908c43 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -3540,7 +3540,7 @@ sub set_ldasANA { $ldas_ana = 1; $ldas_flag = 1; - $prompt = " Location of LDAS initial forcing "; + $prompt = " Location of LDAS initial surface met forcing (bkg.lfo) "; $dflt = $drstloc; $dflt = dirname($drstloc) unless -d $drstloc; @@ -3548,18 +3548,18 @@ sub set_ldasANA { die ">>> Error <<< Cannot find directory, $ldashold;" unless -d $ldashold; - @bkglfo_files = (<$ldashold/*bkg*lfo*${nymdb}_${hhb}*>); - die ">>> Error <<< Cannot find bkglfo files in $ldashold;" + @bkglfo_files = (<$ldashold/*bkg.lfo*${nymdb}_${hhb}*>); + die ">>> Error <<< Cannot find bkg.lfo files in $ldashold;" unless scalar(@bkglfo_files); $dflt = "n"; - $ans2 = query(" Enable LDAS feedback to model y/n?", $dflt); + $ans2 = query(" Enable LDAS feedback to atm model y/n?", $dflt); if (yes($ans2)) { $ldasfdbk = 1; } $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/SPECnml/"; - $prompt = " Location of LDAS (special) nml input files? "; + $prompt = " Location of LDAS ('special') nml input files? "; $ldasnml_path = query($prompt, $dflt); $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/MWRTM/"; From 010bb08424837a34c4adbcab130764ecc432a7a4 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Wed, 4 Jun 2025 18:22:31 -0400 Subject: [PATCH 13/23] revised handling of LDAS inputs: nens, mwrtm_path, and nml_input_path (fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 41 ++++++++++++++++------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 9d908c43..0eaec2bd 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -593,14 +593,14 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4det --LDAS_nens $ldas_nens_det"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nml_path $ldasnml_path --mwrtm_path $ldasrtm_path"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nens $ldas_nens_atmens"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); @@ -3557,28 +3557,33 @@ sub set_ldasANA { if (yes($ans2)) { $ldasfdbk = 1; } + + $dflt = "/discover/nobackup/$user/ldas_exp_C360/"; + $prompt = " Location of LDAS initial conditions for deterministic component? (full_path/ldas_exp) "; + $ldasics4det = query($prompt, $dflt); + die ">>> Error <<< Cannot find directory, $ldasics4det;" + unless -d $ldasics4det; - $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/SPECnml/"; - $prompt = " Location of LDAS ('special') nml input files? "; - $ldasnml_path = query($prompt, $dflt); - - $dflt = "/discover/nobackup/qzhang/LDAS_INPUTS/MWRTM/"; - $prompt = " Location of LDAS L-band microwave radiative transfer model (mwrtm) parameters? "; - $ldasrtm_path = query($prompt, $dflt); - - $dflt = "/discover/nobackup/$user/ldas_exp_C360/"; - $prompt = " Location of LDAS initial conditions for det? (full_path/ldas_exp) "; - $ldasics = query($prompt, $dflt); - die ">>> Error <<< Cannot find directory, $ldasics;" - unless -d $ldasics; + # FOR NOW, ASK USER FOR NUMBER OF ENS MEMBERS; COULD DETERMINE FROM ICS DIR + $dflt = 24; + $prompt = " Number of LDAS ens members for ADAS deterministic component"; + $ldas_nens_det = query($prompt, $dflt); if ($hyb_ens == 4 ) { - $dflt = "/discover/nobackup/$user/ldas_exp_C90/"; - $prompt = " Location of LDAS initial conditions for ens? (full_path/ldas_exp) "; + $dflt = "/discover/nobackup/$user/ldas_exp_C90/"; + $prompt = " Location of LDAS initial conditions for ens? (full_path/ldas_exp) "; $ldasics4ens = query($prompt); die ">>> Error <<< Cannot find directory, $ldasics4ens;" unless -d $ldasics4ens; - } + + # FOR NOW, ask user for number of members in *atm* ensemble b/c setup of atm ens requires I/O + # (and in any case users may specify "later" setup of atm ens) + # COULD CHANGE TO DETERMINING NUMBER OF ENS MEMBERS FROM ldasics4ens AND THEN VERIFY LATER + # AGAINST NUMBER OF ATM ENS MEMBERS + $dflt = 32; + $prompt = " Number of atm ensemble members (for LDAS coupled with ADAS ens component)"; + $ldas_nens_atmens = query($prompt, $dflt); + } } return 0; } From 54dabccd20047e6b069f2caa4c7fbd70e4538d22 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Fri, 6 Jun 2025 12:37:07 -0400 Subject: [PATCH 14/23] add fucntion to find nens and pass nens to ldas_setup fix "bkg.lfo" to "bkg*lfo" for lfo tar file and lfo nc4 files --- src/Applications/GEOSdas_App/fvsetup | 51 +++++++++++++++++++--------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index 0eaec2bd..ce66ea57 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -593,14 +593,15 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4det --LDAS_nens $ldas_nens_det"; + get_nens(); + $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4det --nens $ldas_nens_det"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for det, check LDAS config input files $!" if ( $rc ); chomp($aens_replay); if (($hyb_ens == 4) && ($aens_replay eq "no")) { $aens_im4 = sprintf "%04i", $aens_im ; - $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --LDAS_nens $ldas_nens_atmens"; + $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 2 --agcm_res $aens_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4ens --nens $ldas_nens_atmens"; print "$cmd\n"; $rc = system $cmd; die "Failed to setup LDAS for ens, check LDAS config input files $!" if ( $rc ); @@ -3548,7 +3549,7 @@ sub set_ldasANA { die ">>> Error <<< Cannot find directory, $ldashold;" unless -d $ldashold; - @bkglfo_files = (<$ldashold/*bkg.lfo*${nymdb}_${hhb}*>); + @bkglfo_files = (<$ldashold/*bkg*lfo*${nymdb}_${hhb}*>); die ">>> Error <<< Cannot find bkg.lfo files in $ldashold;" unless scalar(@bkglfo_files); @@ -3564,25 +3565,12 @@ sub set_ldasANA { die ">>> Error <<< Cannot find directory, $ldasics4det;" unless -d $ldasics4det; - # FOR NOW, ASK USER FOR NUMBER OF ENS MEMBERS; COULD DETERMINE FROM ICS DIR - $dflt = 24; - $prompt = " Number of LDAS ens members for ADAS deterministic component"; - $ldas_nens_det = query($prompt, $dflt); - if ($hyb_ens == 4 ) { $dflt = "/discover/nobackup/$user/ldas_exp_C90/"; $prompt = " Location of LDAS initial conditions for ens? (full_path/ldas_exp) "; $ldasics4ens = query($prompt); die ">>> Error <<< Cannot find directory, $ldasics4ens;" unless -d $ldasics4ens; - - # FOR NOW, ask user for number of members in *atm* ensemble b/c setup of atm ens requires I/O - # (and in any case users may specify "later" setup of atm ens) - # COULD CHANGE TO DETERMINING NUMBER OF ENS MEMBERS FROM ldasics4ens AND THEN VERIFY LATER - # AGAINST NUMBER OF ATM ENS MEMBERS - $dflt = 32; - $prompt = " Number of atm ensemble members (for LDAS coupled with ADAS ens component)"; - $ldas_nens_atmens = query($prompt, $dflt); } } return 0; @@ -3874,6 +3862,37 @@ EOF } } +#====================================================================== +sub get_nens { + #default + $atm_nens = 32; + $ldas_nens_det = 24; + $ldas_nens_atmens = $atm_nens; + + @enslist = (<$fvhome/atmens/mem???>); + if ( scalar(@enslist) > 1 ) { + $atm_nens = scalar(@enslist); + } + $ldasdomain ="CF$agcm_im4x6C_GLOBAL"; + $ldasics_det = "$ldasics/output/$ldasdomain"; + @enslist = (<$ldasics_det/rs/ens????>); + if ( scalar(@enslist) > 1 ) { + $ldas_nens_det = scalar(@enslist); + } + $aens_im4 = sprintf "%04i", $aens_im ; + $ldasdomain ="CF$aens_im4x6C_GLOBAL"; + $ldasics_ens = "$ldasics4ens/output/$ldasdomain"; + @enslist = (<$ldasics4ens/rs/ens????>); + if ( scalar(@enslist) > 1 ) { + $ldas_nens_atmens = scalar(@enslist); + } + if ( $atm_nens ne $ldas_nens_atmens ) { + print "WARNING: ldas IC nens is not equal to atm nens \n"; + print "WARNING: set ldas IC nens equal to atm nens \n"; + $ldas_nens_atmens = $atm_nens; + } +} + #======================================================================= sub get_varwindow { From 484b861d83a51f816db3767323c96da1e49e94ad Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Mon, 9 Jun 2025 11:15:07 -0400 Subject: [PATCH 15/23] modification get_ens4ldas --- src/Applications/GEOSdas_App/fvsetup | 31 +++++++++------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index ce66ea57..a18faa28 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -593,7 +593,7 @@ $ENV{"PATH"} = $FindBin::Bin .":$ENV{PATH}"; # ------------------------------------------------------------------------ print "\n checkprintout ldas_ana == 1 ($ldas_ana)\n"; if ($ldas_ana == 1 ) { - get_nens(); + get_nens4ldas(); $cmd = "$fvbin/ldas_setup setup $fvhome/lana dummy_exeinp dummy_batinp -v --account $gid --nymdb $nymdb --nhmsb $nhmsb --ladas_cpl 1 --agcm_res $agcm_im4 --varwindow $varwindow --bcs_version $landbcs --rstloc $ldasics4det --nens $ldas_nens_det"; print "$cmd\n"; $rc = system $cmd; @@ -3863,34 +3863,23 @@ EOF } #====================================================================== -sub get_nens { - #default - $atm_nens = 32; - $ldas_nens_det = 24; - $ldas_nens_atmens = $atm_nens; +sub get_nens4ldas { + $atm_nens = -9999; + $ldas_nens_det = -9999; + $ldas_nens_atmens = -9999; @enslist = (<$fvhome/atmens/mem???>); if ( scalar(@enslist) > 1 ) { $atm_nens = scalar(@enslist); - } - $ldasdomain ="CF$agcm_im4x6C_GLOBAL"; - $ldasics_det = "$ldasics/output/$ldasdomain"; + } + + $ldasics_det = "$ldasics4det/output/CF${agcm_im4}x6C_GLOBAL"; @enslist = (<$ldasics_det/rs/ens????>); if ( scalar(@enslist) > 1 ) { $ldas_nens_det = scalar(@enslist); } - $aens_im4 = sprintf "%04i", $aens_im ; - $ldasdomain ="CF$aens_im4x6C_GLOBAL"; - $ldasics_ens = "$ldasics4ens/output/$ldasdomain"; - @enslist = (<$ldasics4ens/rs/ens????>); - if ( scalar(@enslist) > 1 ) { - $ldas_nens_atmens = scalar(@enslist); - } - if ( $atm_nens ne $ldas_nens_atmens ) { - print "WARNING: ldas IC nens is not equal to atm nens \n"; - print "WARNING: set ldas IC nens equal to atm nens \n"; - $ldas_nens_atmens = $atm_nens; - } + + $ldas_nens_atmens = $atm_nens; } #======================================================================= From c2a59da4e361b58c2b1ad82d8e3b2b3d3f1f48e3 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Mon, 9 Jun 2025 15:43:20 -0400 Subject: [PATCH 16/23] add handling atm_ens input with "later" installation option --- src/Applications/GEOSdas_App/fvsetup | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index a18faa28..dbb7140a 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -3859,6 +3859,12 @@ EOF $cmd = "get_atmens_rst.pl $flags $src_arcdir $expid $nymdb $hhb"; print("$cmd\n"); system($cmd); + } else { + #$src_arcdir == 'later' + $dflt = 32 ; + $prompt = " ensemble number in anticipated ensemble restarts: "; + $atm_nens_input = query($prompt, $dflt); + $atm_nens_install = 'None'; } } @@ -3867,10 +3873,14 @@ sub get_nens4ldas { $atm_nens = -9999; $ldas_nens_det = -9999; $ldas_nens_atmens = -9999; - - @enslist = (<$fvhome/atmens/mem???>); - if ( scalar(@enslist) > 1 ) { - $atm_nens = scalar(@enslist); + + if ($atmens_nstall == 'None' ){ + $atm_nens = $atm_nens_input; + } else { + @enslist = (<$fvhome/atmens/mem???>); + if ( scalar(@enslist) > 1 ) { + $atm_nens = scalar(@enslist); + } } $ldasics_det = "$ldasics4det/output/CF${agcm_im4}x6C_GLOBAL"; From d4480d0efb5a4ce456c42f95a98f800e252f872b Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Mon, 9 Jun 2025 15:57:30 -0400 Subject: [PATCH 17/23] edited comment and fixed typo in variable name related to processing Nens for LDAS fvsetup) --- src/Applications/GEOSdas_App/fvsetup | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index dbb7140a..b20824c1 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -3860,9 +3860,9 @@ EOF print("$cmd\n"); system($cmd); } else { - #$src_arcdir == 'later' + # $src_arcdir == 'later' (user wants to provide atm ens restarts later) $dflt = 32 ; - $prompt = " ensemble number in anticipated ensemble restarts: "; + $prompt = " anticipated number of ensemble members to be installed 'later': "; $atm_nens_input = query($prompt, $dflt); $atm_nens_install = 'None'; } @@ -3870,11 +3870,11 @@ EOF #====================================================================== sub get_nens4ldas { - $atm_nens = -9999; - $ldas_nens_det = -9999; + $atm_nens = -9999; + $ldas_nens_det = -9999; $ldas_nens_atmens = -9999; - if ($atmens_nstall == 'None' ){ + if ($atm_nens_install == 'None' ){ $atm_nens = $atm_nens_input; } else { @enslist = (<$fvhome/atmens/mem???>); From 0b9f979ac1f305459ad97e64da9d054d5c65d74f Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Tue, 17 Jun 2025 13:36:26 -0400 Subject: [PATCH 18/23] Update MAPL to version with ExtData fix (components.yaml) --- components.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components.yaml b/components.yaml index 9a434022..49600b4d 100644 --- a/components.yaml +++ b/components.yaml @@ -69,7 +69,7 @@ GMAO_perllib: MAPL: local: ./src/Shared/@MAPL remote: ../MAPL.git - tag: v2.52.0 + tag: v2.56.1 develop: develop GEOSldas_GridComp: From a6e63f21b753924650a84640d0621b4b271b9b85 Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Wed, 18 Jun 2025 13:12:15 -0400 Subject: [PATCH 19/23] Updated MAPL to v2.57.0 components.yaml) MAPL v2.57 includes the ExtData fix of v2.56.1 and the EASE Grid Factory needed by GEOSldas_GridComp --- components.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components.yaml b/components.yaml index 49600b4d..cba084ea 100644 --- a/components.yaml +++ b/components.yaml @@ -65,11 +65,11 @@ GMAO_perllib: develop: main # When updating the MAPL version, also update the MAPL version in the -# CMakeLists.txt file for non-Baselibs builds +# CMakeLists.txt file for non-Baselibs builds (if included in CMakeLists.txt) MAPL: local: ./src/Shared/@MAPL remote: ../MAPL.git - tag: v2.56.1 + tag: v2.57.0 develop: develop GEOSldas_GridComp: From 56c4a593b48c82927c0f9225e54060a6736950bc Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Thu, 26 Jun 2025 10:03:46 -0400 Subject: [PATCH 20/23] Updated GEOSldas_GridComp to v3.1.0 (components.yaml) --- components.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components.yaml b/components.yaml index d4d61818..7ea319b5 100644 --- a/components.yaml +++ b/components.yaml @@ -75,7 +75,7 @@ MAPL: GEOSldas_GridComp: local: ./src/Components/@GEOSldas_GridComp remote: ../GEOSldas_GridComp.git - tag: v2.0.0 + tag: v3.1.0 FMS: local: ./src/Shared/@FMS From 507fdf2c7f4ce8c107b8cd09aa6cbcce6e83a2b2 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Fri, 27 Jun 2025 16:23:01 -0400 Subject: [PATCH 21/23] add $atm_nens_install = 'yes' for atmens install from archive --- src/Applications/GEOSdas_App/fvsetup | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index b20824c1..c6ebba6a 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -3859,6 +3859,7 @@ EOF $cmd = "get_atmens_rst.pl $flags $src_arcdir $expid $nymdb $hhb"; print("$cmd\n"); system($cmd); + $atm_nens_install = 'yes' ; } else { # $src_arcdir == 'later' (user wants to provide atm ens restarts later) $dflt = 32 ; @@ -3876,11 +3877,12 @@ sub get_nens4ldas { if ($atm_nens_install == 'None' ){ $atm_nens = $atm_nens_input; - } else { + } + if ($atm_nens_install == 'yes' ){ @enslist = (<$fvhome/atmens/mem???>); if ( scalar(@enslist) > 1 ) { $atm_nens = scalar(@enslist); - } + } } $ldasics_det = "$ldasics4det/output/CF${agcm_im4}x6C_GLOBAL"; From 45a37936815312882bc7f2bb6a610922cfac38c9 Mon Sep 17 00:00:00 2001 From: saraqzhang Date: Tue, 1 Jul 2025 08:58:59 -0400 Subject: [PATCH 22/23] for tag of LADAS integrated setup --- src/Applications/GEOSdas_App/fvsetup | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Applications/GEOSdas_App/fvsetup b/src/Applications/GEOSdas_App/fvsetup index c6ebba6a..fe212df4 100755 --- a/src/Applications/GEOSdas_App/fvsetup +++ b/src/Applications/GEOSdas_App/fvsetup @@ -341,6 +341,7 @@ # 25Jul2017 Holdaway Added resource files associated with NGGPS FV3 tlm/adjoint, sens and svec # 19Jul2018 Wargan Additions for OMPS # 2022,2024 sqz Additions for LADAS +# 2025 sqz integrated setup for LADAS #------------------------------------------------------------------------- use Cwd qw(abs_path cwd); use English; From 449e917e5b003860d0c816263fc7c78229ea5304 Mon Sep 17 00:00:00 2001 From: Ricardo Todling Date: Fri, 16 Jan 2026 13:14:51 -0500 Subject: [PATCH 23/23] fix for AOD handling in MAPL --- components.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components.yaml b/components.yaml index 97280b29..64ee8c02 100644 --- a/components.yaml +++ b/components.yaml @@ -69,7 +69,7 @@ GMAO_perllib: MAPL: local: ./src/Shared/@MAPL remote: ../MAPL.git - tag: v2.57.0 + tag: v2.57.1 develop: develop GEOSldas_GridComp: