From 71495bee880178cecc6212ce4643e96e78b67b1b Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 22 Aug 2022 14:28:34 +0000 Subject: [PATCH 1/9] Add additional directories and files to prune_4nco_global.sh (#137) --- ush/prune_4nco_global.sh | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/ush/prune_4nco_global.sh b/ush/prune_4nco_global.sh index ec69fd4cd5..509291c989 100755 --- a/ush/prune_4nco_global.sh +++ b/ush/prune_4nco_global.sh @@ -65,7 +65,28 @@ done # Process doc directories and files cd $topdir/doc -rlist="EnKF_user_guide GSI_user_guide README.discover" +rlist="EnKF_user_guide GSI_user_guide README.discover Release_Notes.fv3gfs_da.v15.0.0.txt Release_Notes.gfsda.v16.0.0.txt" +for type in $rlist; do + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi + if [[ "$mode" = "restore" ]]; then + git checkout ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git checkout ${type}" + exit + fi + fi +done + + +# Process jobs directories and files +cd $topdir/jobs +rlist="JGDAS_EFSOI" for type in $rlist; do git $string ${type}* rc=$? @@ -86,7 +107,7 @@ done # Process scripts directories and files cd $topdir/scripts -rlist="exurma2p5_gsianl.sh" +rlist="exurma2p5_gsianl.sh exgdas_efsoi" for type in $rlist; do git $string ${type}* rc=$? @@ -107,7 +128,7 @@ done # Process ush directories and files cd $topdir/ush -rlist="Get_Initial_Files gfs_truncate_enkf llsub para refactor_4nco_global run_arw rungsi sub" +rlist="Get_Initial_Files comenkf comgsi gfs_truncate_enkf llsub para refactor_4nco_global run_arw rungsi sub" for type in $rlist; do git $string ${type}* rc=$? @@ -128,7 +149,7 @@ done # Process util directories and files cd $topdir/util -rlist="Aero Analysis_Utilities Baseline Config Correlated_Obs DTC EFSOI FOV GEN_BE_V2.0 GMI_BUFR MODIS_AOD Misc NCEP NMC_Bkerror README Radar_Monitor Radiance_bias_correction_Utilities Radiance_Utilities Single_Observation bufr_tools global_angupdate gsienvreport.sh python_utilities radar_process zero_biascoeff" +rlist="Aero Analysis_Utilities Baseline Config Conventional_Monitor/data_extract Correlated_Obs DTC EFSOI Fit2Obs_Scorecard FOV GEN_BE_V2.0 GMI_BUFR MODIS_AOD Minimization_Monitor/data_xtrct Minimization_Monitor/image_gen Minimization_Monitor/nwprod/nam_minmon Misc NCEP NMC_Bkerror Ozone_Monitor/image_gen README Radar_Monitor Radiance_bias_correction_Utilities Radiance_Monitor/nwprod/nam_radmon Radiance_Utilities Single_Observation bufr_tools global_angupdate gsienvreport.sh python_utilities radar_process zero_biascoeff" for type in $rlist; do git $string ${type}* rc=$? @@ -170,7 +191,7 @@ done # Process util/EnKF/gfs/src directories and files cd $topdir/util/EnKF/gfs/src -rlist="adjustps misc preproc gribmean recenterncio_hybgain recenternemsiop_hybgain" +rlist="adjustps misc preproc gribmean recenterncio_hybgain recenternemsiop_hybgain getnstensmeanp adderrspec getsfcnstensupdp" for type in $rlist; do git $string ${type}* rc=$? From 053e4476b3702d371f0813b43b7b1c5996b3510a Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 22 Aug 2022 17:21:52 +0000 Subject: [PATCH 2/9] Updates in response to errors identified by `-check all` (#137) --- src/gsi/cplr_gfs_ensmod.f90 | 26 +++++++++---------- src/gsi/general_read_gfsatm.f90 | 1 + src/gsi/read_diag.f90 | 4 ++- src/gsi/write_incr.f90 | 3 +-- ush/build_4nco_global.sh | 3 +++ .../getsigensmeanp_smooth_ncep.f90 | 1 + .../gdas_radmon/fix/gdas_radmon_scaninfo.txt | 4 +++ .../sorc/verf_radang.fd/angle_bias.f90 | 7 +++-- .../sorc/verf_radang.fd/read_diag.f90 | 4 ++- .../sorc/verf_radbcoef.fd/bcoef.f90 | 1 + .../sorc/verf_radbcoef.fd/read_diag.f90 | 4 ++- .../sorc/verf_radbcor.fd/bcor.f90 | 7 +++-- .../sorc/verf_radbcor.fd/read_diag.f90 | 4 ++- .../sorc/verf_radtime.fd/read_diag.f90 | 4 ++- .../sorc/verf_radtime.fd/time.f90 | 1 + 15 files changed, 50 insertions(+), 24 deletions(-) diff --git a/src/gsi/cplr_gfs_ensmod.f90 b/src/gsi/cplr_gfs_ensmod.f90 index 582574b52f..80bd45ebae 100644 --- a/src/gsi/cplr_gfs_ensmod.f90 +++ b/src/gsi/cplr_gfs_ensmod.f90 @@ -385,7 +385,7 @@ subroutine move2bundle_(grd3d,en_loc3,atm_bundle,m_cvars2d,m_cvars3d,iret) character(len=70) :: filename integer(i_kind) :: ierr - integer(i_kind) :: km,m + integer(i_kind) :: km1,m integer(i_kind) :: icw,iql,iqi,iqr,iqs,iqg real(r_kind),pointer,dimension(:,:) :: ps !real(r_kind),pointer,dimension(:,:) :: sst @@ -440,31 +440,31 @@ subroutine move2bundle_(grd3d,en_loc3,atm_bundle,m_cvars2d,m_cvars3d,iret) ! if(trim(cvars2d(m))=='sst') sst=en_loc3(:,:,m_cvars2d(m)) !no sst for now enddo - km = en_perts(1,1)%grid%km + km1 = en_perts(1,1)%grid%km - 1 !$omp parallel do schedule(dynamic,1) private(m) do m=1,nc3d if(trim(cvars3d(m))=='sf')then - u = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + u = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='vp') then - v = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + v = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='t') then - tv = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + tv = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='q') then - q = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + q = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='oz') then - oz = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + oz = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='cw') then - cwmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + cwmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='ql') then - qlmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + qlmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='qi') then - qimr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + qimr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='qr') then - qrmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + qrmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='qs') then - qsmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + qsmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) else if(trim(cvars3d(m))=='qg') then - qgmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km) + qgmr = en_loc3(:,:,m_cvars3d(m):m_cvars3d(m)+km1) end if enddo diff --git a/src/gsi/general_read_gfsatm.f90 b/src/gsi/general_read_gfsatm.f90 index 39db75db73..0216b95fb6 100755 --- a/src/gsi/general_read_gfsatm.f90 +++ b/src/gsi/general_read_gfsatm.f90 @@ -2825,6 +2825,7 @@ subroutine general_read_gfsatm_allhydro_nc(grd,sp_a,filename,uvflag,vordivflag,z call gsi_bundlegetpointer(gfs_bundle,'q' ,g_q ,ier);istatus=istatus+ier call gsi_bundlegetpointer(gfs_bundle,'oz',g_oz ,ier);istatus=istatus+ier ! call gsi_bundlegetpointer(gfs_bundle,'cw',g_cwmr,ier);istatus=istatus+ier + istatus1=0 call gsi_bundlegetpointer(gfs_bundle,'ql',g_ql ,ier);istatus1=istatus1+ier call gsi_bundlegetpointer(gfs_bundle,'qi',g_qi ,ier);istatus1=istatus1+ier call gsi_bundlegetpointer(gfs_bundle,'qr',g_qr ,ier);istatus1=istatus1+ier diff --git a/src/gsi/read_diag.f90 b/src/gsi/read_diag.f90 index 6a7fa44cb9..e389a708d5 100644 --- a/src/gsi/read_diag.f90 +++ b/src/gsi/read_diag.f90 @@ -1165,7 +1165,9 @@ subroutine read_radiag_data_nc(diag_status,header_fix,data_fix,data_chan,data_ex data_fix = diag_status%all_data_fix(diag_status%cur_ob_idx) data_chan(:) = diag_status%all_data_chan(diag_status%cur_ob_idx,:) - data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + if (header_fix%iextra > 0) then + data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + endif diag_status%cur_ob_idx = diag_status%cur_ob_idx + 1 diff --git a/src/gsi/write_incr.f90 b/src/gsi/write_incr.f90 index 69ad96e281..e312199998 100644 --- a/src/gsi/write_incr.f90 +++ b/src/gsi/write_incr.f90 @@ -366,10 +366,9 @@ subroutine write_fv3_inc_ (grd,sp_a,filename,mype_out,gfs_bundle,ibin) ncstart = (/ jstart(mype+1), 1, 1 /) nccount = (/ grd%lon1, grd%lat1-1, grd%nsig /) j1 = 2 - j2 = grd%lat1-1 else if (istart(mype+1)+grd%lat1 == grd%nlat+1) then nccount = (/ grd%lon1, grd%lat1-1, grd%nsig /) - j2 = grd%lat1-2 + j2 = grd%lat1-1 end if call mpi_barrier(mpi_comm_world,ierror) allocate(out3d(nccount(1),nccount(2),grd%nsig)) diff --git a/ush/build_4nco_global.sh b/ush/build_4nco_global.sh index 6a7a35118d..27d3a6ee22 100755 --- a/ush/build_4nco_global.sh +++ b/ush/build_4nco_global.sh @@ -19,6 +19,9 @@ export ENKF_MODE="GFS" export REGRESSION_TESTS="NO" export UTIL_OPTS="-DBUILD_UTIL_ENKF_GFS=ON -DBUILD_UTIL_MON=ON -DBUILD_UTIL_NCIO=ON" +# Optionally set compiler flags +##export FFLAGS="-check all,noarg_temp_created" + # Prune the directory structure per NCO liking if [[ "${PRUNE_4NCO:-}" =~ [yYtT] ]]; then $DIR_ROOT/ush/prune_4nco_global.sh prune diff --git a/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90 b/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90 index 74038e464b..92ac388689 100644 --- a/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90 +++ b/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90 @@ -99,6 +99,7 @@ program getsigensmeanp_smooth filenameout = trim(adjustl(datapath)) // trim(adjustl(filenameout)) ! if a 5th arg present, it's a filename to write out ensemble spread ! (only used for ncio) + write_spread_ncio = .false. if (iargc() > 5) then call getarg(5,filenameoutsprd) write_spread_ncio = .true. diff --git a/util/Radiance_Monitor/nwprod/gdas_radmon/fix/gdas_radmon_scaninfo.txt b/util/Radiance_Monitor/nwprod/gdas_radmon/fix/gdas_radmon_scaninfo.txt index e804228e9f..0c7a61ba39 100644 --- a/util/Radiance_Monitor/nwprod/gdas_radmon/fix/gdas_radmon_scaninfo.txt +++ b/util/Radiance_Monitor/nwprod/gdas_radmon/fix/gdas_radmon_scaninfo.txt @@ -29,6 +29,7 @@ avhrr_metop-a -52.612 1.182 90 avhrr_n19 -52.612 1.182 90 avhrr_metop-b -52.612 1.182 90 + avhrr_metop-c -52.612 1.182 90 mhs_n18 -49.444 1.111 90 mhs_n19 -49.444 1.111 90 airs_aqua -48.90 1.10 90 @@ -66,5 +67,8 @@ ahi_himawari9 0.00 1.00 90 atms_n21 -52.393 1.10 96 cris-fsr_n21 -48.130 3.333 30 + viirs-m_npp -56.280 1.265 90 + viirs-m_j1 -56.280 1.265 90 + viirs-m_j2 -56.280 1.265 90 gmi_gpm 0.00 1.00 221 !sat_sis start step nstep diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/angle_bias.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/angle_bias.f90 index 1f62294187..3d0bc0a115 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/angle_bias.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/angle_bias.f90 @@ -93,6 +93,7 @@ program angle ! ! Initialize variables iread=0 + rread=0.0 npred_radiag = 12 ! Read namelist input @@ -392,7 +393,8 @@ program angle nbc_omg(2) = (data_chan(j)%omgnbc)**2 bc_omg(2) = (data_chan(j)%omgbc)**2 - cor_fixang(1) = data_chan(j)%bifix(angord+1) + cor_fixang(1) = 0.0 + if (.not.netcdf) cor_fixang(1) = data_chan(j)%bifix(angord+1) cor_lapse(1) = data_chan(j)%bilap cor_lapse2(1) = data_chan(j)%bilap2 cor_const(1) = data_chan(j)%bicons @@ -413,7 +415,8 @@ program angle cor_ordang1(1) = 0.0 endif - cor_fixang(2) = (data_chan(j)%bifix(angord+1))**2 + cor_fixang(2) = 0.0 + if (.not.netcdf) cor_fixang(2) = (data_chan(j)%bifix(angord+1))**2 cor_lapse(2) = (data_chan(j)%bilap)**2 cor_lapse2(2) = (data_chan(j)%bilap2)**2 cor_const(2) = (data_chan(j)%bicons)**2 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/read_diag.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/read_diag.f90 index 6fd698ab99..ed6691c9de 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/read_diag.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/read_diag.f90 @@ -1158,7 +1158,9 @@ subroutine read_radiag_data_nc(diag_status,header_fix,data_fix,data_chan,data_ex data_fix = diag_status%all_data_fix(diag_status%cur_ob_idx) data_chan(:) = diag_status%all_data_chan(diag_status%cur_ob_idx,:) - data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + if (header_fix%iextra > 0) then + data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + endif diag_status%cur_ob_idx = diag_status%cur_ob_idx + 1 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/bcoef.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/bcoef.f90 index 8c348f1ebf..05dd18c829 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/bcoef.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/bcoef.f90 @@ -88,6 +88,7 @@ program bcoef ! ! Initialize variables iread=0 + rread=0.0 npred_radiag = 12 angord = 0 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/read_diag.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/read_diag.f90 index 6fd698ab99..ed6691c9de 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/read_diag.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/read_diag.f90 @@ -1158,7 +1158,9 @@ subroutine read_radiag_data_nc(diag_status,header_fix,data_fix,data_chan,data_ex data_fix = diag_status%all_data_fix(diag_status%cur_ob_idx) data_chan(:) = diag_status%all_data_chan(diag_status%cur_ob_idx,:) - data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + if (header_fix%iextra > 0) then + data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + endif diag_status%cur_ob_idx = diag_status%cur_ob_idx + 1 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/bcor.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/bcor.f90 index 1ded0a0bb1..ffc732c99b 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/bcor.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/bcor.f90 @@ -89,6 +89,7 @@ program bcor ! ! Initialize variables iread=0 + rread=0.0 npred_radiag = 12 ! Read namelist input @@ -322,7 +323,8 @@ program bcor if (data_chan(j)%errinv > 1.e-6) then pen = (data_chan(j)%errinv*(data_chan(j)%omgbc))**2 cor_total(1) = (data_chan(j)%omgnbc - data_chan(j)%omgbc) - cor_fixang(1) = data_chan(j)%bifix(angord+1) + cor_fixang(1) = 0.0 + if (.not.netcdf) cor_fixang(1) = data_chan(j)%bifix(angord+1) cor_lapse(1) = data_chan(j)%bilap cor_lapse2(1) = data_chan(j)%bilap2 cor_const(1) = data_chan(j)%bicons @@ -344,7 +346,8 @@ program bcor endif cor_total(2) = (data_chan(j)%omgnbc - data_chan(j)%omgbc)**2 - cor_fixang(2) = (data_chan(j)%bifix(angord+1))**2 + cor_fixang(2) = 0.0 + if (.not.netcdf) cor_fixang(2) = (data_chan(j)%bifix(angord+1))**2 cor_lapse(2) = (data_chan(j)%bilap)**2 cor_lapse2(2) = (data_chan(j)%bilap2)**2 cor_const(2) = (data_chan(j)%bicons)**2 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/read_diag.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/read_diag.f90 index 6fd698ab99..ed6691c9de 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/read_diag.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/read_diag.f90 @@ -1158,7 +1158,9 @@ subroutine read_radiag_data_nc(diag_status,header_fix,data_fix,data_chan,data_ex data_fix = diag_status%all_data_fix(diag_status%cur_ob_idx) data_chan(:) = diag_status%all_data_chan(diag_status%cur_ob_idx,:) - data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + if (header_fix%iextra > 0) then + data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + endif diag_status%cur_ob_idx = diag_status%cur_ob_idx + 1 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/read_diag.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/read_diag.f90 index 6fd698ab99..ed6691c9de 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/read_diag.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/read_diag.f90 @@ -1158,7 +1158,9 @@ subroutine read_radiag_data_nc(diag_status,header_fix,data_fix,data_chan,data_ex data_fix = diag_status%all_data_fix(diag_status%cur_ob_idx) data_chan(:) = diag_status%all_data_chan(diag_status%cur_ob_idx,:) - data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + if (header_fix%iextra > 0) then + data_extra(:,:) = diag_status%all_data_extra(diag_status%cur_ob_idx,:,:) + endif diag_status%cur_ob_idx = diag_status%cur_ob_idx + 1 diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/time.f90 b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/time.f90 index 5e637c353a..3b8f6144a5 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/time.f90 +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/time.f90 @@ -93,6 +93,7 @@ program time ! ! Initialize variables iread=0 + rread=0.0 npred_radiag = 12 ! Read namelist input From a1dfd2cb2c49752b18cd53d36036dc5dcda3d2e7 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 22 Aug 2022 21:27:23 +0000 Subject: [PATCH 3/9] add string FATAL to error messages flagging input file errors (#137) --- src/gsi/cplr_gfs_ensmod.f90 | 2 +- src/gsi/gesinfo.F90 | 10 +++++----- src/gsi/netcdfgfs_io.f90 | 2 +- src/gsi/read_files.f90 | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/gsi/cplr_gfs_ensmod.f90 b/src/gsi/cplr_gfs_ensmod.f90 index 80bd45ebae..4eb2868fa2 100644 --- a/src/gsi/cplr_gfs_ensmod.f90 +++ b/src/gsi/cplr_gfs_ensmod.f90 @@ -930,7 +930,7 @@ subroutine parallel_read_gfsnc_state_(en_full,m_cvars2d,m_cvars3d,nlon,nlat,nsig atmges = open_dataset(filename,errcode=ierror) if (ierror /=0) then - write(6,*)' PARALLEL_READ_GFSNC_STATE: ***ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' + write(6,*)' PARALLEL_READ_GFSNC_STATE: ***FATAL ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' call stop2(999) endif ! get dimension sizes diff --git a/src/gsi/gesinfo.F90 b/src/gsi/gesinfo.F90 index 792900b628..0aefd34c76 100644 --- a/src/gsi/gesinfo.F90 +++ b/src/gsi/gesinfo.F90 @@ -148,7 +148,7 @@ subroutine gesinfo write(filename,'("sigf",i2.2)')nhr_assimilation inquire(file=filename,exist=fexist) if(.not.fexist) then - write(6,*)' GESINFO: ***ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' + write(6,*)' GESINFO: ***FATAL ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' call stop2(99) stop end if @@ -339,12 +339,12 @@ subroutine gesinfo ! open the netCDF file atmges = open_dataset(filename,errcode=iret) if (iret /=0) then - write(6,*)'GESINFO: ***ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' + write(6,*)'GESINFO: ***FATAL ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' call stop2(99) endif sfcges = open_dataset(sfilename,errcode=iret) if (iret /=0) then - write(6,*)'GESINFO: ***ERROR*** ',trim(sfilename),' NOT AVAILABLE: PROGRAM STOPS' + write(6,*)'GESINFO: ***FATAL ERROR*** ',trim(sfilename),' NOT AVAILABLE: PROGRAM STOPS' call stop2(99) endif ! get dimension sizes @@ -451,7 +451,7 @@ subroutine gesinfo ! Check for consistency with namelist settings if (gfshead%jcap/=jcap_b.and..not.regional .or. gfshead%levs/=nsig) then if (gfshead%levs/=nsig) then - write(6,*)'GESINFO: ***ERROR*** guess levels inconsistent with namelist' + write(6,*)'GESINFO: ***FATAL ERROR*** guess levels inconsistent with namelist' write(6,*)' guess nsig=',gfshead%levs write(6,*)' namelist nsig=',nsig fatal = .true. @@ -466,7 +466,7 @@ subroutine gesinfo fatal = .false. else if ( mype == mype_out ) & - write(6,*)'GESINFO: ***ERROR*** guess jcap inconsistent with namelist' + write(6,*)'GESINFO: ***FATAL ERROR*** guess jcap inconsistent with namelist' fatal = .true. endif if ( mype == mype_out ) & diff --git a/src/gsi/netcdfgfs_io.f90 b/src/gsi/netcdfgfs_io.f90 index 41eb05c228..3cd5a75112 100644 --- a/src/gsi/netcdfgfs_io.f90 +++ b/src/gsi/netcdfgfs_io.f90 @@ -1300,7 +1300,7 @@ subroutine read_sfc_anl_(isli_anl) ! open the netCDF file sfcges = open_dataset(filename,errcode=iret) if (iret/=0) then - write(6,*) trim(my_name),': ***ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' + write(6,*) trim(my_name),': ***FATAL ERROR*** ',trim(filename),' NOT AVAILABLE: PROGRAM STOPS' call stop2(999) endif diff --git a/src/gsi/read_files.f90 b/src/gsi/read_files.f90 index 93ddd17bf7..5d29efbace 100644 --- a/src/gsi/read_files.f90 +++ b/src/gsi/read_files.f90 @@ -620,7 +620,7 @@ subroutine read_files(mype) endif if (l4densvar .and. nfldsig/=ntlevs_ens) then if (mype==0) then - write(6,*)'READ_FILES: ***ERROR*** insufficient atm fcst for 4densvar: PROGRAM STOPS' + write(6,*)'READ_FILES: ***FATAL ERROR*** insufficient atm fcst for 4densvar: PROGRAM STOPS' do i=1,ntlevs_ens ihr=nhr_obsbin*(i-1)+nhr_half present=.false. @@ -629,7 +629,7 @@ subroutine read_files(mype) end do if (.not.present) then write(filename,'(''sigf'',i2.2)')ihr - write(6,*)'READ_FILES: ***ERROR*** file ',trim(filename),' missing: PROGRAM STOPS' + write(6,*)'READ_FILES: ***FATAL ERROR*** file ',trim(filename),' missing: PROGRAM STOPS' endif end do endif @@ -652,7 +652,7 @@ subroutine read_files(mype) endif if (l4densvar .and. nfldsfc/=ntlevs_ens) then if (mype==0) then - write(6,*)'READ_FILES: ***ERROR*** insufficient sfc fcst for 4densvar: PROGRAM STOPS' + write(6,*)'READ_FILES: ***FATAL ERROR*** insufficient sfc fcst for 4densvar: PROGRAM STOPS' do i=1,ntlevs_ens ihr=nhr_obsbin*(i-1)+nhr_half present=.false. @@ -661,7 +661,7 @@ subroutine read_files(mype) end do if (.not.present) then write(filename,'(''sfcf'',i2.2)')ihr - write(6,*)'READ_FILES: ***ERROR*** file ',trim(filename),' missing: PROGRAM STOPS' + write(6,*)'READ_FILES: ***FATAL ERROR*** file ',trim(filename),' missing: PROGRAM STOPS' endif end do endif From 0b5ea6d5276ae688b1ec40d5179a06c3c3b165dc Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Tue, 23 Aug 2022 17:37:18 +0000 Subject: [PATCH 4/9] Update prune_4nco.sh to remove the entire Conventional_Monitor directory (#137) --- ush/prune_4nco_global.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/prune_4nco_global.sh b/ush/prune_4nco_global.sh index 509291c989..9c2a68b1ac 100755 --- a/ush/prune_4nco_global.sh +++ b/ush/prune_4nco_global.sh @@ -149,7 +149,7 @@ done # Process util directories and files cd $topdir/util -rlist="Aero Analysis_Utilities Baseline Config Conventional_Monitor/data_extract Correlated_Obs DTC EFSOI Fit2Obs_Scorecard FOV GEN_BE_V2.0 GMI_BUFR MODIS_AOD Minimization_Monitor/data_xtrct Minimization_Monitor/image_gen Minimization_Monitor/nwprod/nam_minmon Misc NCEP NMC_Bkerror Ozone_Monitor/image_gen README Radar_Monitor Radiance_bias_correction_Utilities Radiance_Monitor/nwprod/nam_radmon Radiance_Utilities Single_Observation bufr_tools global_angupdate gsienvreport.sh python_utilities radar_process zero_biascoeff" +rlist="Aero Analysis_Utilities Baseline Config Conventional_Monitor Correlated_Obs DTC EFSOI Fit2Obs_Scorecard FOV GEN_BE_V2.0 GMI_BUFR MODIS_AOD Minimization_Monitor/data_xtrct Minimization_Monitor/image_gen Minimization_Monitor/nwprod/nam_minmon Misc NCEP NMC_Bkerror Ozone_Monitor/image_gen README Radar_Monitor Radiance_bias_correction_Utilities Radiance_Monitor/nwprod/nam_radmon Radiance_Utilities Single_Observation bufr_tools global_angupdate gsienvreport.sh python_utilities radar_process zero_biascoeff" for type in $rlist; do git $string ${type}* rc=$? From c6c33da9df1caa1b28659c2214ce90dc505bac9e Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Tue, 23 Aug 2022 17:52:12 +0000 Subject: [PATCH 5/9] Remove hardwired definition for NDATE in lieu of prod_util definition (#137) --- util/Ozone_Monitor/data_xtrct/ush/run_gfs_gdas.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/util/Ozone_Monitor/data_xtrct/ush/run_gfs_gdas.sh b/util/Ozone_Monitor/data_xtrct/ush/run_gfs_gdas.sh index 37c2475cca..570556da99 100755 --- a/util/Ozone_Monitor/data_xtrct/ush/run_gfs_gdas.sh +++ b/util/Ozone_Monitor/data_xtrct/ush/run_gfs_gdas.sh @@ -39,7 +39,6 @@ fi idate=`${scripts}/find_cycle.pl -dir ~/nbns/stats/${OZN_SUFFIX} -cyc 1 -run ${run}` echo "idate = $idate" -export NDATE=/gpfs/dell1/nco/ops/nwprod/prod_util.v1.1.1/exec/ips/ndate #export START_DATE=2020010500 START_DATE=`${NDATE} +06 $idate` From 3b9c14a2442a6a217903ea250906c4c01cde76c0 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Tue, 23 Aug 2022 18:31:43 +0000 Subject: [PATCH 6/9] Remove NEMSIOGET definition from ex scripts; remove NDATE definition in MinMon_config in lieu of prod_util definition (#137) --- scripts/exgdas_enkf_ecen.sh | 1 - scripts/exgdas_enkf_sfc.sh | 1 - scripts/exgdas_enkf_update.sh | 1 - scripts/exglobal_atmos_analysis.sh | 1 - scripts/exglobal_atmos_analysis_calc.sh | 1 - scripts/exglobal_diag.sh | 1 - util/Minimization_Monitor/parm/MinMon_config | 2 -- 7 files changed, 8 deletions(-) diff --git a/scripts/exgdas_enkf_ecen.sh b/scripts/exgdas_enkf_ecen.sh index f3671968ff..41dffd94f2 100755 --- a/scripts/exgdas_enkf_ecen.sh +++ b/scripts/exgdas_enkf_ecen.sh @@ -36,7 +36,6 @@ ntiles=${ntiles:-6} # Utilities NCP=${NCP:-"/bin/cp -p"} NLN=${NLN:-"/bin/ln -sf"} -NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} # Scripts diff --git a/scripts/exgdas_enkf_sfc.sh b/scripts/exgdas_enkf_sfc.sh index ccb4405729..38cc38ed03 100755 --- a/scripts/exgdas_enkf_sfc.sh +++ b/scripts/exgdas_enkf_sfc.sh @@ -37,7 +37,6 @@ ntiles=${ntiles:-6} # Utilities NCP=${NCP:-"/bin/cp -p"} NLN=${NLN:-"/bin/ln -sf"} -NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} # Scripts diff --git a/scripts/exgdas_enkf_update.sh b/scripts/exgdas_enkf_update.sh index 0f639d12e3..16fa92b1c9 100755 --- a/scripts/exgdas_enkf_update.sh +++ b/scripts/exgdas_enkf_update.sh @@ -30,7 +30,6 @@ pwd=$(pwd) # Utilities NCP=${NCP:-"/bin/cp -p"} NLN=${NLN:-"/bin/ln -sf"} -NEMSIOGET=${NEMSIOGET:-$NWPROD/utils/exec/nemsio_get} NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} USE_CFP=${USE_CFP:-"NO"} CFP_MP=${CFP_MP:-"NO"} diff --git a/scripts/exglobal_atmos_analysis.sh b/scripts/exglobal_atmos_analysis.sh index fbaaa5175b..a1b4dfa220 100755 --- a/scripts/exglobal_atmos_analysis.sh +++ b/scripts/exglobal_atmos_analysis.sh @@ -45,7 +45,6 @@ export NCP=${NCP:-"/bin/cp"} export NMV=${NMV:-"/bin/mv"} export NLN=${NLN:-"/bin/ln -sf"} export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"} -export NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} COMPRESS=${COMPRESS:-gzip} UNCOMPRESS=${UNCOMPRESS:-gunzip} diff --git a/scripts/exglobal_atmos_analysis_calc.sh b/scripts/exglobal_atmos_analysis_calc.sh index 5160815b44..197cf120b0 100755 --- a/scripts/exglobal_atmos_analysis_calc.sh +++ b/scripts/exglobal_atmos_analysis_calc.sh @@ -46,7 +46,6 @@ export NCP=${NCP:-"/bin/cp"} export NMV=${NMV:-"/bin/mv"} export NLN=${NLN:-"/bin/ln -sf"} export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"} -export NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} COMPRESS=${COMPRESS:-gzip} UNCOMPRESS=${UNCOMPRESS:-gunzip} diff --git a/scripts/exglobal_diag.sh b/scripts/exglobal_diag.sh index 43832ae388..3ed2a5bf7b 100755 --- a/scripts/exglobal_diag.sh +++ b/scripts/exglobal_diag.sh @@ -45,7 +45,6 @@ export NCP=${NCP:-"/bin/cp"} export NMV=${NMV:-"/bin/mv"} export NLN=${NLN:-"/bin/ln -sf"} export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"} -export NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} export CATEXEC=${CATEXEC:-$HOMEgfs/exec/ncdiag_cat_serial.x} COMPRESS=${COMPRESS:-gzip} diff --git a/util/Minimization_Monitor/parm/MinMon_config b/util/Minimization_Monitor/parm/MinMon_config index adc9293f0f..3dafdc4dd3 100644 --- a/util/Minimization_Monitor/parm/MinMon_config +++ b/util/Minimization_Monitor/parm/MinMon_config @@ -165,8 +165,6 @@ if [[ $MINMON_CONFIG -ne 1 ]]; then export UNCOMPRESS="gunzip -f" fi - export NDATE=${NDATE:-${NWPROD}/util/exec/ndate} - else echo "MinMon_config already loaded" fi From 51edc24a348b715dfb2c6f9486eb954350da132b Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Tue, 23 Aug 2022 19:33:13 +0000 Subject: [PATCH 7/9] Remove para section for crtm/2.4.0 in gsi_wcoss2.lua; comment out Conventional_Monitor for BUILD_UTIL_MON option (#137) --- modulefiles/gsi_wcoss2.lua | 6 ------ util/CMakeLists.txt | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/modulefiles/gsi_wcoss2.lua b/modulefiles/gsi_wcoss2.lua index dff6b291f0..138946252c 100644 --- a/modulefiles/gsi_wcoss2.lua +++ b/modulefiles/gsi_wcoss2.lua @@ -19,11 +19,5 @@ load(pathJoin("python", python_ver)) load(pathJoin("prod_util", prod_util_ver)) load("gsi_common") -unload("crtm") - -pushenv("HPC_OPT", "/apps/ops/para/libs") -prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") -prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/mpi/intel/19.1.3.304/cray-mpich/8.1.7/") -load("crtm/2.4.0") whatis("Description: GSI environment on WCOSS2") diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt index 4a1a5e8de3..1100967b1f 100644 --- a/util/CMakeLists.txt +++ b/util/CMakeLists.txt @@ -148,7 +148,7 @@ if(BUILD_UTIL_BKGERR) endif() if(BUILD_UTIL_MON) - add_subdirectory(Conventional_Monitor) +# add_subdirectory(Conventional_Monitor) add_subdirectory(Ozone_Monitor) add_subdirectory(Radiance_Monitor) endif() From 955dae3888589df209c0e324e492d68cb22074de Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Fri, 26 Aug 2022 21:11:30 +0000 Subject: [PATCH 8/9] Remove Mitigation_flag_AMVQ (#137) --- src/gsi/read_prepbufr.f90 | 6 +++--- src/gsi/read_satwnd.f90 | 19 ++++++++----------- src/gsi/setupw.f90 | 13 ++++--------- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/gsi/read_prepbufr.f90 b/src/gsi/read_prepbufr.f90 index d2cb503926..7c002d2720 100644 --- a/src/gsi/read_prepbufr.f90 +++ b/src/gsi/read_prepbufr.f90 @@ -475,7 +475,7 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,& if(tob)then nreal=25 else if(uvob) then - nreal=27 + nreal=26 else if(spdob) then nreal=24 else if(psob) then @@ -2239,8 +2239,8 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,& cdata_all(25,iout)=var_jb(5,k) ! non linear qc parameter cdata_all(26,iout)=one ! hilbert curve weight, modified later if(perturb_obs)then - cdata_all(28,iout)=ran01dom()*perturb_fact ! u perturbation - cdata_all(29,iout)=ran01dom()*perturb_fact ! v perturbation + cdata_all(27,iout)=ran01dom()*perturb_fact ! u perturbation + cdata_all(28,iout)=ran01dom()*perturb_fact ! v perturbation endif else if(spdob) then diff --git a/src/gsi/read_satwnd.f90 b/src/gsi/read_satwnd.f90 index 874483c86e..c67d5a7e1f 100644 --- a/src/gsi/read_satwnd.f90 +++ b/src/gsi/read_satwnd.f90 @@ -74,8 +74,6 @@ subroutine read_satwnd(nread,ndata,nodata,infile,obstype,lunout,gstime,twind,sis ! or hilber curve downweighting ! ! 2020-05-04 wu - no rotate_wind for fv3_regional -! 2021-07-25 Genkova - read GOES-17 AMVQ flag:8-mitigated height -! 16-mit.target, 24-mit.target & height; write in diag ! 2021-07-25 Genkova - added code for Metop-B/C winds in new BUFR,NC005081 ! ! 2022-01-20 Genkova - added missing station_id for polar winds ! 2022-01-20 Genkova - added code for Meteosat and Himawari AMVs in new BUFR @@ -212,7 +210,7 @@ subroutine read_satwnd(nread,ndata,nodata,infile,obstype,lunout,gstime,twind,sis real(r_kind),dimension(nsig):: presl real(r_double),dimension(13):: hdrdat - real(r_double),dimension(5):: obsdat + real(r_double),dimension(4):: obsdat real(r_double),dimension(2) :: hdrdat_test real(r_double),dimension(3,5) :: heightdat real(r_double),dimension(6,4) :: derdwdat @@ -242,8 +240,8 @@ subroutine read_satwnd(nread,ndata,nodata,infile,obstype,lunout,gstime,twind,sis data hdrtr_v2 /'SAID CLATH CLONH YEAR MNTH DAYS HOUR MINU SWCM SAZA OGCE SCCF SWQM'/ ! OGCE replaces GCLONG, OGCE exists in old and new BUFR ! SWQM doesn't exist in the new BUFR, so qm is initialized to '2' manually - data obstr_v1 /'HAMD PRLC WDIR WSPD AMVQ'/ - data obstr_v2 /'EHAM PRLC WDIR WSPD AMVQ'/ + data obstr_v1 /'HAMD PRLC WDIR WSPD'/ + data obstr_v2 /'EHAM PRLC WDIR WSPD'/ ! data heightr/'MDPT '/ ! data derdwtr/'TWIND'/ data qcstr /' OGCE GNAP PCCF'/ @@ -271,7 +269,7 @@ subroutine read_satwnd(nread,ndata,nodata,infile,obstype,lunout,gstime,twind,sis ! Set lower limits for observation errors werrmin=one nsattype=0 - nreal=27 + nreal=26 if(perturb_obs ) nreal=nreal+2 ntread=1 ntmatch=0 @@ -644,10 +642,10 @@ subroutine read_satwnd(nread,ndata,nodata,infile,obstype,lunout,gstime,twind,sis call ufbint(lunin,hdrdat_test,2,1,iret, 'CLAT CLON') if ( hdrdat_test(1) > 100000000.0_r_kind .and. hdrdat_test(2) > 100000000.0_r_kind ) then call ufbint(lunin,hdrdat,13,1,iret,hdrtr_v2) - call ufbint(lunin,obsdat,5,1,iret,obstr_v2) + call ufbint(lunin,obsdat,4,1,iret,obstr_v2) else call ufbint(lunin,hdrdat,13,1,iret,hdrtr_v1) - call ufbint(lunin,obsdat,5,1,iret,obstr_v1) + call ufbint(lunin,obsdat,4,1,iret,obstr_v1) endif ppb=obsdat(2) @@ -1586,11 +1584,10 @@ subroutine read_satwnd(nread,ndata,nodata,infile,obstype,lunout,gstime,twind,sis cdata_all(23,iout)=r_sprvstg(1,1) ! subprovider name cdata_all(25,iout)=var_jb ! non linear qc parameter cdata_all(26,iout)=one ! hilbert curve weight - cdata_all(27,iout)=obsdat(5) ! AMVQ for GOES-17 mitig.AMVs if(perturb_obs)then - cdata_all(28,iout)=ran01dom()*perturb_fact ! u perturbation - cdata_all(29,iout)=ran01dom()*perturb_fact ! v perturbation + cdata_all(27,iout)=ran01dom()*perturb_fact ! u perturbation + cdata_all(28,iout)=ran01dom()*perturb_fact ! v perturbation endif enddo loop_readsb diff --git a/src/gsi/setupw.f90 b/src/gsi/setupw.f90 index d56d1e4694..cc5c2afa3b 100644 --- a/src/gsi/setupw.f90 +++ b/src/gsi/setupw.f90 @@ -219,7 +219,6 @@ subroutine setupw(obsLL,odiagLL,lunin,mype,bwork,awork,nele,nobs,is,conv_diagsav ! level; they are now loaded by ! aircraftinfo. ! 2020-05-04 wu - no rotate_wind for fv3_regional -! 2021-07-25 Genkova - write AMVQ in diagnostic files ! 2021-10-xx pondeca/morris/zhao - added observation provider/subprovider ! information in diagonostic file, which is used ! in offline observation quality control program (AutoObsQC) @@ -293,7 +292,7 @@ subroutine setupw(obsLL,odiagLL,lunin,mype,bwork,awork,nele,nobs,is,conv_diagsav integer(i_kind) ihgt,ier2,iuse,ilate,ilone integer(i_kind) izz,iprvd,isprvd integer(i_kind) idomsfc,isfcr,iskint,iff10 - integer(i_kind) ibb,ikk,ihil,idddd,iamvq + integer(i_kind) ibb,ikk,ihil,idddd integer(i_kind) num_bad_ikx,iprev_station @@ -384,9 +383,8 @@ subroutine setupw(obsLL,odiagLL,lunin,mype,bwork,awork,nele,nobs,is,conv_diagsav icat=24 ! index of data level category ijb=25 ! index of non linear qc parameter ihil=26 ! index of hilbert curve weight - iamvq=27 ! index of AMVQ - iptrbu=28 ! index of u perturbation - iptrbv=29 ! index of v perturbation + iptrbu=27 ! index of u perturbation + iptrbv=28 ! index of v perturbation mm1=mype+1 scale=one @@ -402,7 +400,7 @@ subroutine setupw(obsLL,odiagLL,lunin,mype,bwork,awork,nele,nobs,is,conv_diagsav if(conv_diagsave)then ii=0 nchar=1 - ioff0=26 + ioff0=25 nreal=ioff0 if (lobsdiagsave) nreal=nreal+7*miter+2 if (twodvar_regional .or. l_obsprvdiag) then @@ -1726,7 +1724,6 @@ subroutine contents_binary_diag_(udiag,vdiag) rdiagbuf(23,ii) = factw ! 10m wind reduction factor rdiagbuf(24,ii) = 1.e+10_r_single ! u spread (filled in by EnKF) rdiagbuf(25,ii) = 1.e+10_r_single ! v spread (filled in by EnKF) - rdiagbuf(26,ii) = data(iamvq,i) ! AMVQ mitigation flag for AMVs;only for GOES17,LHP issue ioff=ioff0 if (lobsdiagsave) then @@ -1813,8 +1810,6 @@ subroutine contents_netcdf_diag_(udiag,vdiag) call nc_diag_metadata("Errinv_Input", sngl(errinv_input) ) call nc_diag_metadata("Errinv_Adjust", sngl(errinv_adjst) ) call nc_diag_metadata("Errinv_Final", sngl(errinv_final) ) - ! AMVQ Mitigated winds - call nc_diag_metadata("Mitigation_flag_AMVQ", sngl(data(iamvq,i)) ) call nc_diag_metadata("Wind_Reduction_Factor_at_10m", sngl(factw) ) if (.not. regional .or. fv3_regional) then From 36481a2db63c0f4a7c4505d6458afa0ca23f3f05 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Fri, 26 Aug 2022 23:47:45 +0000 Subject: [PATCH 9/9] Check file or directory existence before attempting to prune (#137) --- ush/prune_4nco_global.sh | 96 +++++++++++++++++++++++----------------- 1 file changed, 56 insertions(+), 40 deletions(-) diff --git a/ush/prune_4nco_global.sh b/ush/prune_4nco_global.sh index 9c2a68b1ac..793de51c70 100755 --- a/ush/prune_4nco_global.sh +++ b/ush/prune_4nco_global.sh @@ -46,11 +46,13 @@ echo " " cd $topdir rlist="regression src/GSD unit-tests" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -67,11 +69,13 @@ done cd $topdir/doc rlist="EnKF_user_guide GSI_user_guide README.discover Release_Notes.fv3gfs_da.v15.0.0.txt Release_Notes.gfsda.v16.0.0.txt" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -88,11 +92,13 @@ done cd $topdir/jobs rlist="JGDAS_EFSOI" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -109,11 +115,13 @@ done cd $topdir/scripts rlist="exurma2p5_gsianl.sh exgdas_efsoi" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -130,11 +138,13 @@ done cd $topdir/ush rlist="Get_Initial_Files comenkf comgsi gfs_truncate_enkf llsub para refactor_4nco_global run_arw rungsi sub" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ] ; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -151,11 +161,13 @@ done cd $topdir/util rlist="Aero Analysis_Utilities Baseline Config Conventional_Monitor Correlated_Obs DTC EFSOI Fit2Obs_Scorecard FOV GEN_BE_V2.0 GMI_BUFR MODIS_AOD Minimization_Monitor/data_xtrct Minimization_Monitor/image_gen Minimization_Monitor/nwprod/nam_minmon Misc NCEP NMC_Bkerror Ozone_Monitor/image_gen README Radar_Monitor Radiance_bias_correction_Utilities Radiance_Monitor/nwprod/nam_radmon Radiance_Utilities Single_Observation bufr_tools global_angupdate gsienvreport.sh python_utilities radar_process zero_biascoeff" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -172,11 +184,13 @@ done cd $topdir/util/EnKF rlist="arw python_utilities" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}* @@ -193,11 +207,13 @@ done cd $topdir/util/EnKF/gfs/src rlist="adjustps misc preproc gribmean recenterncio_hybgain recenternemsiop_hybgain getnstensmeanp adderrspec getsfcnstensupdp" for type in $rlist; do - git $string ${type}* - rc=$? - if [[ $rc -ne 0 ]]; then - echo "***ERROR* git $string ${type}" - exit + if [ -e $type ]; then + git $string ${type}* + rc=$? + if [[ $rc -ne 0 ]]; then + echo "***ERROR* git $string ${type}" + exit + fi fi if [[ "$mode" = "restore" ]]; then git checkout ${type}*