From 5179e2c270d5efca98d358d3704f7ddfb540465a Mon Sep 17 00:00:00 2001 From: uturuncoglu Date: Wed, 1 Sep 2021 16:23:12 -0600 Subject: [PATCH 1/4] minor fix for multiple stream definition --- streams/dshr_stream_mod.F90 | 1 + 1 file changed, 1 insertion(+) diff --git a/streams/dshr_stream_mod.F90 b/streams/dshr_stream_mod.F90 index 349eb7a4..3d954dff 100644 --- a/streams/dshr_stream_mod.F90 +++ b/streams/dshr_stream_mod.F90 @@ -698,6 +698,7 @@ subroutine shr_stream_init_from_esmfconfig(streamfilename, streamdat, logunit, streamdat(i)%varlist(n)%nameinfile = strm_tmpstrings(n)(1:index(trim(strm_tmpstrings(n)), " ")) streamdat(i)%varlist(n)%nameinmodel = strm_tmpstrings(n)(index(trim(strm_tmpstrings(n)), " ", .true.)+1:) enddo + deallocate(strm_tmpstrings) else call shr_sys_abort("stream data variables must be provided") endif From 593566de1ac99510b118f9ce81f78ac6474cfb92 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 30 Sep 2021 11:17:52 -0600 Subject: [PATCH 2/4] zenith angle time correction --- streams/dshr_tinterp_mod.F90 | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/streams/dshr_tinterp_mod.F90 b/streams/dshr_tinterp_mod.F90 index 10fa7b84..064915f3 100644 --- a/streams/dshr_tinterp_mod.F90 +++ b/streams/dshr_tinterp_mod.F90 @@ -238,6 +238,11 @@ subroutine shr_tInterp_getAvgCosz(tavCosz, lon, lat, & do while( reday < reday2) ! mid-interval t-steps thru interval [LB,UB] + !--- get next cosz value for t-avg --- + call shr_tInterp_getCosz(cosz,lon,lat,ymd,tod,eccen,mvelpp,lambm0,obliqr,calendar) + n = n + ldt + tavCosz = tavCosz + cosz*real(ldt,r8) ! add to partial sum + !--- advance to next time in [LB,UB] --- ymd0 = ymd tod0 = tod @@ -245,20 +250,6 @@ subroutine shr_tInterp_getAvgCosz(tavCosz, lon, lat, & call shr_cal_advDateInt(ldt,'seconds',ymd0,tod0,ymd,tod,calendar) call shr_cal_timeSet(reday,ymd,tod,calendar) - if (reday > reday2) then - ymd = ymd2 - tod = tod2 - timeint = reday2-reday0 - call ESMF_TimeIntervalGet(timeint, s_i8=dtsec, rc=rc) - if (ChkErr(rc,__LINE__,u_FILE_u)) return - ldt = int(dtsec, shr_kind_in) - endif - - !--- get next cosz value for t-avg --- - call shr_tInterp_getCosz(cosz,lon,lat,ymd,tod,eccen,mvelpp,lambm0,obliqr,calendar) - n = n + ldt - tavCosz = tavCosz + cosz*real(ldt,r8) ! add to partial sum - end do tavCosz = tavCosz/real(n,r8) ! form t-avg From 4f99c9f005b400e95ae2a2be731137f900f82957 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 30 Sep 2021 11:59:18 -0600 Subject: [PATCH 3/4] correct compensating error --- streams/dshr_strdata_mod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/dshr_strdata_mod.F90 b/streams/dshr_strdata_mod.F90 index 38fb8524..1b6df3d5 100644 --- a/streams/dshr_strdata_mod.F90 +++ b/streams/dshr_strdata_mod.F90 @@ -1255,7 +1255,7 @@ subroutine shr_strdata_readLBUB(sdat, ns, mDate, mSec, newData, istr, rc) call ESMF_TraceRegionExit(trim(istr)//'_setup') ! if model current date is outside of model lower or upper bound - find the stream bounds - if (rDateM < rDateLB .or. rDateM > rDateUB) then + if (rDateM < rDateLB .or. rDateM >= rDateUB) then call ESMF_TraceRegionEnter(trim(istr)//'_fbound') call shr_stream_findBounds(stream, mDate, mSec, sdat%masterproc, & sdat%pstrm(ns)%ymdLB, dDateLB, sdat%pstrm(ns)%todLB, n_lb, filename_lb, & From 62b3483dbcde78092ea9c7301bbd7ae65c80c900 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 13 Jan 2022 09:35:43 -0700 Subject: [PATCH 4/4] needed for nag.cmake --- cime_config/buildlib | 1 + 1 file changed, 1 insertion(+) diff --git a/cime_config/buildlib b/cime_config/buildlib index 27e3776e..3d794cb8 100755 --- a/cime_config/buildlib +++ b/cime_config/buildlib @@ -81,6 +81,7 @@ def buildlib(bldroot, libroot, case): cmake_flags += " -DCMAKE_INSTALL_PREFIX:PATH=/" cmake_flags += " -DLIBROOT={} ".format(libroot) cmake_flags += " -DMPILIB={} ".format(mpilib) + cmake_flags += " -DSRCROOT={} ".format(case.get_value("SRCROOT")) cmake_flags += " -DPIO_C_LIBRARY={path}/lib -DPIO_C_INCLUDE_DIR={path}/include ".format(path=os.path.join(case.get_value("EXEROOT"),sharedpath)) cmake_flags += " -DPIO_Fortran_LIBRARY={path}/lib -DPIO_Fortran_INCLUDE_DIR={path}/include ".format(path=os.path.join(case.get_value("EXEROOT"),sharedpath)) cmake_flags += srcpath