From 92026ab457ad8c32d01763daad822452d7d40eec Mon Sep 17 00:00:00 2001 From: ClaraDraper-NOAA Date: Tue, 29 Oct 2024 15:53:58 +0000 Subject: [PATCH 1/4] If writing sfc increments, always write the mean (sfc) increment. --- src/enkf/controlvec.f90 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/enkf/controlvec.f90 b/src/enkf/controlvec.f90 index 096154963..9de68e96c 100644 --- a/src/enkf/controlvec.f90 +++ b/src/enkf/controlvec.f90 @@ -261,6 +261,8 @@ subroutine write_control(no_inflate_flag) real(r_single), allocatable, dimension(:,:) :: grdin_mean_tmp real(r_single), allocatable, dimension(:,:,:,:) :: grdin_mean +character(len=max_varname_length), dimension(nc3d) :: no_vars3d + if (nproc <= ntasks_io-1) then ! scale q by ensemble qsat, prior to averaging @@ -335,6 +337,9 @@ subroutine write_control(no_inflate_flag) else call writegriddata(0,0,cvars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) end if + elseif (nc2d>0) then ! always write sfc mean increment + no_vars3d='' + call writeincrement(0,0,no_vars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) endif deallocate(grdin_mean) t2 = mpi_wtime() @@ -358,6 +363,9 @@ subroutine write_control(no_inflate_flag) else call writegriddata(0,0,cvars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) end if + elseif (nc2d>0) then ! always write sfc mean increment + no_vars3d='' + call writeincrement(0,0,no_vars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) endif deallocate(grdin_mean) t2 = mpi_wtime() From 2c0fcf7077c2a6f9fb17d1ad893b2eafe959d2fb Mon Sep 17 00:00:00 2001 From: ClaraDraper-NOAA Date: Tue, 29 Oct 2024 20:53:47 +0000 Subject: [PATCH 2/4] select correct name of ensmean sfc incr files. --- src/enkf/gridio_gfs.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/enkf/gridio_gfs.f90 b/src/enkf/gridio_gfs.f90 index 6e68f1a34..e2ce16e77 100644 --- a/src/enkf/gridio_gfs.f90 +++ b/src/enkf/gridio_gfs.f90 @@ -4114,7 +4114,7 @@ subroutine writeincrement(nanal1,nanal2,vars3d,vars2d,n3d,n2d,levels,ndim,grdin, write(charnanal,'(i3.3)') nanal sfcbackgroundloop: do nb=1,nbackgrounds - if (nanal == 0 .and. write_ensmean) then + if (nanal == 0 ) then filenamein = trim(adjustl(datapath))//trim(adjustl(fgsfcfileprefixes(nb)))//"ensmean" filenameout = trim(adjustl(datapath))//trim(adjustl(incsfcfileprefixes(nb)))//"ensmean" else From 85d0af22df2842c92cde53c7428f608e697a2517 Mon Sep 17 00:00:00 2001 From: ClaraDraper-NOAA Date: Wed, 30 Oct 2024 15:11:09 +0000 Subject: [PATCH 3/4] Tidy up comments. --- src/enkf/controlvec.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/enkf/controlvec.f90 b/src/enkf/controlvec.f90 index 9de68e96c..d6aba5b1e 100644 --- a/src/enkf/controlvec.f90 +++ b/src/enkf/controlvec.f90 @@ -337,7 +337,7 @@ subroutine write_control(no_inflate_flag) else call writegriddata(0,0,cvars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) end if - elseif (nc2d>0) then ! always write sfc mean increment + elseif (nc2d>0) then ! always write sfc mean increment for soil analysis no_vars3d='' call writeincrement(0,0,no_vars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) endif From 0ae7c2c275b51a911e78f8191de7a3830755eb80 Mon Sep 17 00:00:00 2001 From: ClaraDraper-NOAA Date: Wed, 6 Nov 2024 18:56:53 +0000 Subject: [PATCH 4/4] Minor update to comments. --- src/enkf/controlvec.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/enkf/controlvec.f90 b/src/enkf/controlvec.f90 index d6aba5b1e..2195b3bd0 100644 --- a/src/enkf/controlvec.f90 +++ b/src/enkf/controlvec.f90 @@ -337,7 +337,7 @@ subroutine write_control(no_inflate_flag) else call writegriddata(0,0,cvars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) end if - elseif (nc2d>0) then ! always write sfc mean increment for soil analysis + elseif (nc2d>0) then ! always write sfc mean increment for land analysis no_vars3d='' call writeincrement(0,0,no_vars3d,cvars2d,nc3d,nc2d,clevels,ncdim,grdin_mean,no_inflate_flag) endif