From a5478850028ea3672f09d3ae83fa5e79098edd4e Mon Sep 17 00:00:00 2001 From: Jun Wang Date: Tue, 6 Apr 2021 14:14:38 -0500 Subject: [PATCH 1/4] fix lam post uninitialied fields --- io/post_regional.F90 | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/io/post_regional.F90 b/io/post_regional.F90 index eecd5c10f..30e2c6808 100644 --- a/io/post_regional.F90 +++ b/io/post_regional.F90 @@ -477,7 +477,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & up_heli_max03,up_heli_min03,rel_vort_max01, & rel_vort_max, rel_vort_maxhy1, refd_max, & refdm10c_max, u10max, v10max, wspd10max, sfcuxi, & - sfcvxi + sfcvxi, t10m, t10avg, psfcavg, akhsavg, akmsavg use soil, only: sldpth, sh2o, smc, stc use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice use ctlblk_mod, only: im, jm, lm, lp1, jsta, jend, jsta_2l, jend_2u, jsta_m,jend_m, & @@ -829,6 +829,19 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & enddo enddo ! +!** temporary fix: initialize t10m, t10avg, psfcavg, akhsavg, akmsavg +!$omp parallel do default(none),private(i,j),shared(jsta_2l,jend_2u,im,spval), & +!$omp& shared(t10m,t10avg,psfcavg,akhsavg, akmsavg) + do j=jsta_2l,jend_2u + do i=1,im + t10m(i,j) = 0. + t10avg(i,j) = 0. + psfcavg(i,j) = 0. + akhsavg(i,j) = 0. + akmsavg(i,j) = 0. + enddo + enddo +! !----------------------------------------------------------------------------- ! get post fields !----------------------------------------------------------------------------- @@ -1372,7 +1385,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & else islope(i,j) = 0 endif - if (abs(arrayr42d(i,j)-fillValue) < small) islope(i,j) = spval + if (abs(arrayr42d(i,j)-fillValue) < small) islope(i,j) = 0 enddo enddo endif @@ -1925,7 +1938,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & do i=ista, iend if (arrayr42d(i,j) < spval) then ivgtyp(i,j) = nint(arrayr42d(i,j)) - if( abs(arrayr42d(i,j)-fillValue) < small) ivgtyp(i,j) = spval + if( abs(arrayr42d(i,j)-fillValue) < small) ivgtyp(i,j) = 0 else ivgtyp(i,j) = 0 endif @@ -1940,7 +1953,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & do i=ista, iend if (arrayr42d(i,j) < spval) then isltyp(i,j) = nint(arrayr42d(i,j)) - if( abs(arrayr42d(i,j)-fillValue) < small) isltyp(i,j) = spval + if( abs(arrayr42d(i,j)-fillValue) < small) isltyp(i,j) = 0 else isltyp(i,j) = 0 endif From d6eb43a3acd4536880be8232934ffa4d15fb4dec Mon Sep 17 00:00:00 2001 From: Jun Wang Date: Fri, 9 Apr 2021 07:27:20 -0500 Subject: [PATCH 2/4] remove spval in openmp --- io/post_regional.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/post_regional.F90 b/io/post_regional.F90 index 30e2c6808..ff923f8c0 100644 --- a/io/post_regional.F90 +++ b/io/post_regional.F90 @@ -830,7 +830,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & enddo ! !** temporary fix: initialize t10m, t10avg, psfcavg, akhsavg, akmsavg -!$omp parallel do default(none),private(i,j),shared(jsta_2l,jend_2u,im,spval), & +!$omp parallel do default(none),private(i,j),shared(jsta_2l,jend_2u,im), & !$omp& shared(t10m,t10avg,psfcavg,akhsavg, akmsavg) do j=jsta_2l,jend_2u do i=1,im From cf62caf51a9f91d9bd2183dcb8f72fe2ae41677f Mon Sep 17 00:00:00 2001 From: "Jun.Wang" Date: Thu, 15 Apr 2021 13:21:54 +0000 Subject: [PATCH 3/4] add more uninitialized post fields --- io/post_regional.F90 | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/io/post_regional.F90 b/io/post_regional.F90 index ff923f8c0..34c6ffcd5 100644 --- a/io/post_regional.F90 +++ b/io/post_regional.F90 @@ -448,7 +448,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & use vrbls3d, only: t, q, uh, vh, wh, alpint, dpres, zint, zmid, o3, & qqr, qqs, cwm, qqi, qqw, qqg, omga, cfr, pmid, & q2, rlwtt, rswtt, tcucn, tcucns, train, el_pbl, & - pint, exch_h, ref_10cm + pint, exch_h, ref_10cm, extcof55, aextc55, u, v use vrbls2d, only: f, pd, sigt4, fis, pblh, ustar, z0, ths, qs, twbs,& qwbs, avgcprate, cprate, avgprec, prec, lspa, sno,& cldefi, th10, q10, tshltr, pshltr, tshltr, albase,& @@ -477,7 +477,8 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & up_heli_max03,up_heli_min03,rel_vort_max01, & rel_vort_max, rel_vort_maxhy1, refd_max, & refdm10c_max, u10max, v10max, wspd10max, sfcuxi, & - sfcvxi, t10m, t10avg, psfcavg, akhsavg, akmsavg + sfcvxi, t10m, t10avg, psfcavg, akhsavg, akmsavg, & + albedo, tg use soil, only: sldpth, sh2o, smc, stc use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice use ctlblk_mod, only: im, jm, lm, lp1, jsta, jend, jsta_2l, jend_2u, jsta_m,jend_m, & @@ -641,7 +642,7 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & lspa(i,j) = SPVAL th10(i,j) = SPVAL q10(i,j) = SPVAL - albase(i,j) = SPVAL + albase(i,j) = 0. enddo enddo @@ -829,9 +830,10 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & enddo enddo ! -!** temporary fix: initialize t10m, t10avg, psfcavg, akhsavg, akmsavg +!** temporary fix: initialize t10m, t10avg, psfcavg, akhsavg, akmsavg, +!** albedo, tg !$omp parallel do default(none),private(i,j),shared(jsta_2l,jend_2u,im), & -!$omp& shared(t10m,t10avg,psfcavg,akhsavg, akmsavg) +!$omp& shared(t10m,t10avg,psfcavg,akhsavg,akmsavg,albedo,tg) do j=jsta_2l,jend_2u do i=1,im t10m(i,j) = 0. @@ -839,6 +841,20 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & psfcavg(i,j) = 0. akhsavg(i,j) = 0. akmsavg(i,j) = 0. + albedo(i,j) = 0. + tg(i,j) = 0. + enddo + enddo +!$omp parallel do default(none),private(i,j,k),shared(jsta_2l,jend_2u,im,lm), & +!$omp& shared(extcof55,aextc55,u,v) + do k=1,lm + do j=jsta_2l,jend_2u + do i=1,im + extcof55(i,j,k) = 0. + aextc55(i,j,k) = 0. + u(i,j,k) = 0. + v(i,j,k) = 0. + enddo enddo enddo ! @@ -1312,9 +1328,6 @@ subroutine set_postvars_regional(wrt_int_state,mpicomp,setvar_atmfile, & do i=ista, iend mxsnal(i,j) = arrayr42d(i,j) if (abs(arrayr42d(i,j)-fillValue) < small) mxsnal(i,j) = spval - if (mxsnal(i,j) /= spval) then - mxsnal(i,j) = mxsnal(i,j) * 0.01 - endif enddo enddo endif From 2f03c08ab426bdd2d0d2a8eb2f5913688ddb7160 Mon Sep 17 00:00:00 2001 From: "Jun.Wang" Date: Fri, 16 Apr 2021 14:27:28 +0000 Subject: [PATCH 4/4] update suite_FV3_GFS_v15_thompson_mynn_lam3km.xml to use mynnsfc_wrapper instead of sfc_diff --- ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml index 5b943bc00..0ab350693 100644 --- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml +++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml @@ -39,7 +39,7 @@ - sfc_diff + mynnsfc_wrapper GFS_surface_loop_control_part1 sfc_nst_pre sfc_nst