From 757118c8e03bfe0057f2f3041120f87ffe5079a2 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Fri, 4 Mar 2022 16:21:24 -0500 Subject: [PATCH] Fixed dimensionality of the j2rp2 and j4rp4 variables in NetCDF reads and writes. Now it only varies in the time dimension --- src/io/io.f90 | 2 +- src/netcdf/netcdf.f90 | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/io/io.f90 b/src/io/io.f90 index 18a22ccb9..503f61659 100644 --- a/src/io/io.f90 +++ b/src/io/io.f90 @@ -1364,7 +1364,7 @@ subroutine io_read_in_cb(self, param) if (ierr == 0) then - if (self%j2rp2 /= 0.0_DP) param%loblatecb = .true. + param%loblatecb = ((self%j2rp2 /= 0.0_DP) .or. (self%j4rp4 /= 0.0_DP)) if (param%rmin < 0.0) param%rmin = self%radius select type(cb => self) diff --git a/src/netcdf/netcdf.f90 b/src/netcdf/netcdf.f90 index 215a3b7c2..0b84fa40b 100644 --- a/src/netcdf/netcdf.f90 +++ b/src/netcdf/netcdf.f90 @@ -661,12 +661,9 @@ module function netcdf_read_frame_system(self, iu, param) result(ierr) if (npl > 0) pl%Q(:) = pack(rtemp, plmask) end if - call check( nf90_get_var(iu%ncid, iu%j2rp2_varid, rtemp, start=[1, tslot]) ) - cb%j2rp2 = rtemp(1) - if (cb%j2rp2 /= 0.0_DP) param%loblatecb = .true. - - call check( nf90_get_var(iu%ncid, iu%j4rp4_varid, rtemp, start=[1, tslot]) ) - cb%j4rp4 = rtemp(1) + call check( nf90_get_var(iu%ncid, iu%j2rp2_varid, cb%j2rp2, start=[tslot]) ) + call check( nf90_get_var(iu%ncid, iu%j4rp4_varid, cb%j4rp4, start=[tslot]) ) + param%loblatecb = ((cb%j2rp2 /= 0.0_DP) .or. (cb%j4rp4 /= 0.0_DP)) call self%read_particle_info(iu, param, plmask, tpmask) end associate @@ -978,8 +975,8 @@ module subroutine netcdf_write_frame_base(self, iu, param) call check( nf90_put_var(iu%ncid, iu%Gmass_varid, self%Gmass, start=[idslot, tslot]) ) if (param%lclose) call check( nf90_put_var(iu%ncid, iu%radius_varid, self%radius, start=[idslot, tslot]) ) - call check( nf90_put_var(iu%ncid, iu%j2rp2_varid, self%j2rp2, start=[idslot, tslot])) - call check( nf90_put_var(iu%ncid, iu%j4rp4_varid, self%j4rp4, start=[idslot, tslot])) + call check( nf90_put_var(iu%ncid, iu%j2rp2_varid, self%j2rp2, start=[tslot])) + call check( nf90_put_var(iu%ncid, iu%j4rp4_varid, self%j4rp4, start=[tslot])) if (param%lrotation) then call check( nf90_put_var(iu%ncid, iu%Ip1_varid, self%Ip(1), start=[idslot, tslot]) ) call check( nf90_put_var(iu%ncid, iu%Ip2_varid, self%Ip(2), start=[idslot, tslot]) )