From 616d5abc058bfcfd2f64ca63b7847a34798c15f5 Mon Sep 17 00:00:00 2001 From: Emily Liu Date: Fri, 26 Aug 2022 20:35:43 +0000 Subject: [PATCH 1/2] Fixed variables not initialized correctly in conventional data monitoring --- .../conmon_shared/sorc/conmon_grads_lev.fd/maingrads_lev.f90 | 2 +- .../sorc/conmon_grads_sfctime.fd/maingrads_sfctime.f90 | 5 +++-- .../conmon_shared/sorc/conmon_grads_sig.fd/maingrads_sig.f90 | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/maingrads_lev.f90 b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/maingrads_lev.f90 index 1c26d213e..18b2b7af3 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/maingrads_lev.f90 +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/maingrads_lev.f90 @@ -23,7 +23,7 @@ subroutine grads_lev(fileo,ifileo,nobs,nreal,nlev,plev,iscater,igrads, & integer ifileo character(ifileo) :: fileo - integer :: nobs,nreal,nlev,igrads,isubtype + integer :: nobs,nreal,nlev,igrads,isubtype,iscater real(4),dimension(nlev) :: plev character(10) :: levcard real*4 :: hint diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/maingrads_sfctime.f90 b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/maingrads_sfctime.f90 index 6316a00b8..387fe99e3 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/maingrads_sfctime.f90 +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/maingrads_sfctime.f90 @@ -20,10 +20,11 @@ subroutine grads_sfctime(fileo,ifileo,nobs,nreal,& nlev,plev,iscater,igrads,isubtype,subtype,list,run) use generic_list - character(ifileo) :: fileo integer :: ifileo,nobs,nreal,nlev + character(ifileo) :: fileo real(4),dimension(nlev) :: plev - integer :: iscater,igrdas,isubtype +! integer :: iscater,igrdas,isubtype + integer :: iscater,igrads,isubtype character(3) :: subtype type(list_node_t),pointer :: list character(3) :: run diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/maingrads_sig.f90 b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/maingrads_sig.f90 index 256cbe963..4115a6e79 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/maingrads_sig.f90 +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/maingrads_sig.f90 @@ -23,7 +23,7 @@ subroutine grads_sig(fileo,ifileo,nobs,nreal,nlev,plev,iscater,igrads,isubtype, integer ifileo character(ifileo) :: fileo - integer :: nobs,nreal,nlev,igrads,isubtype + integer :: nobs,nreal,nlev,igrads,isubtype,iscater real(4),dimension(nlev) :: plev character(3) :: subtype type(list_node_t), pointer :: list From a5101ee3647e2532a81f278314dc5e5198157d00 Mon Sep 17 00:00:00 2001 From: Emily Liu Date: Fri, 26 Aug 2022 20:37:21 +0000 Subject: [PATCH 2/2] Fix un-initialized variables --- src/gsi/stub_wrf_binary_interface.f90 | 8 ++++++++ src/gsi/stub_wrf_netcdf_interface.f90 | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/gsi/stub_wrf_binary_interface.f90 b/src/gsi/stub_wrf_binary_interface.f90 index 201482df1..58ef9e004 100644 --- a/src/gsi/stub_wrf_binary_interface.f90 +++ b/src/gsi/stub_wrf_binary_interface.f90 @@ -29,18 +29,26 @@ end subroutine convert_binary_mass_dummy subroutine convert_binary_nmm_dummy(this,update_pint,ctph0,stph0,tlm0) use kinds, only: r_kind + use constants, only: zero implicit none class(get_wrf_binary_interface_class), intent(inout) :: this logical ,intent(inout) :: update_pint real(r_kind),intent( out) :: ctph0,stph0,tlm0 + ctph0 = zero + stph0 = zero + tlm0 = zero end subroutine convert_binary_nmm_dummy subroutine convert_nems_nmmb_dummy(this,update_pint,ctph0,stph0,tlm0) use kinds, only: r_kind + use constants, only: zero implicit none class(get_wrf_binary_interface_class), intent(inout) :: this logical ,intent(inout) :: update_pint real(r_kind),intent( out) :: ctph0,stph0,tlm0 + ctph0 = zero + stph0 = zero + tlm0 = zero end subroutine convert_nems_nmmb_dummy end module get_wrf_binary_interface_mod diff --git a/src/gsi/stub_wrf_netcdf_interface.f90 b/src/gsi/stub_wrf_netcdf_interface.f90 index d80b76530..423531868 100644 --- a/src/gsi/stub_wrf_netcdf_interface.f90 +++ b/src/gsi/stub_wrf_netcdf_interface.f90 @@ -30,12 +30,15 @@ end subroutine convert_netcdf_mass_dummy subroutine convert_netcdf_nmm_dummy(this,update_pint,ctph0,stph0,tlm0,guess) use kinds, only: r_single,i_kind,r_kind + use constants, only: zero implicit none class(convert_netcdf_class) ,intent(inout) :: this logical ,intent(in ) :: guess logical ,intent(inout) :: update_pint real(r_kind),intent( out) :: ctph0,stph0,tlm0 - + ctph0 = zero + stph0 = zero + tlm0 = zero end subroutine convert_netcdf_nmm_dummy subroutine update_netcdf_mass_dummy(this)