diff --git a/prep_regions/get_surfinf.f90 b/prep_regions/get_surfinf.f90
index 4b6eeb85d57453c7e4029c6b4f5d955b1743251c..bd81909f4a56fc9096fe919dd8bbbb45fc1eb6ed 100644
--- a/prep_regions/get_surfinf.f90
+++ b/prep_regions/get_surfinf.f90
@@ -216,7 +216,8 @@ subroutine get_surfinf(files, config, recs, cdryair, obstimes, avetimes, surfinf
       grid = grid/outheight(1)
       if ( lsatellite ) then
         ! convert from column SRR units to that consistent with mole fractions
-        grid = grid/cdryair(i)
+        ! no longer needed with new FP code
+!        grid = grid/cdryair(i)
       endif
       ! add to total surface influence
       surfinf(:,:) = surfinf(:,:) + sum(grid(ix1:ix2,jy1:jy2,:),dim=3)
diff --git a/prep_satellite/average.f90 b/prep_satellite/average.f90
index 5ba267b5d713fe3dcdf3a3302af08b457710d61b..335590a3e9f0bc0abb72af91b6fd18481cdcb47d 100644
--- a/prep_satellite/average.f90
+++ b/prep_satellite/average.f90
@@ -366,6 +366,10 @@ subroutine average(settings, idate, itime, xpoints, ypoints, zpoint1, zpoint2, v
           iretr_keep(nn) = iretr(n)
         endif
       end do
+      if (nn.eq.0) then
+        ! reject this box -> no retrievals within +/- 2SD
+        cycle
+      endif
       ! calculate mean of kept retrievals
       warea(:) = 0.
       do n = 1, nn
diff --git a/prep_satellite/get_bremen.f90 b/prep_satellite/get_bremen.f90
index a9c8e23b5bd40afc9148673c1ecd3587d0be0ec4..55925461bfc7bf2d02475653d273987bf4500709 100644
--- a/prep_satellite/get_bremen.f90
+++ b/prep_satellite/get_bremen.f90
@@ -284,6 +284,11 @@ subroutine get_bremen(settings)
         ! exclude retrievals if not for current day
         if ( floor(jdmeas).ne.jd ) cycle
         call caldate(jdmeas, jjjjmmdd, hhmiss)
+        ! check date and time
+        if (isnan(real(hhmiss)).or.(jjjjmmdd.lt.0)) then
+          write(logid,*) 'WARNING: problem with itime, idate for file, nmeas, jdmeas = ',trim(filereadlist(n)), nm, jdmeas
+          cycle
+        endif
         nretr = nretr + 1
         idate(nretr) = jjjjmmdd
         itime(nretr) = hhmiss
diff --git a/prep_satellite/get_tropomi.f90 b/prep_satellite/get_tropomi.f90
index 0462e7a541693b47aed9d40da67cdea28e4263cf..850d7c6c3c1a41ca6a0a5b2a1764681b17aab550 100644
--- a/prep_satellite/get_tropomi.f90
+++ b/prep_satellite/get_tropomi.f90
@@ -411,6 +411,12 @@ subroutine get_tropomi(settings)
             if ( floor(jdmeas).ne.jd ) cycle
             if ( vmr(np,nm,nt).ge.bignum ) cycle
             call caldate(jdmeas, jjjjmmdd, hhmiss)
+            ! check date and time
+            if (isnan(real(hhmiss)).or.(jjjjmmdd.lt.0)) then
+              write(logid,*) 'WARNING: problem with itime, idate for file, nmeas, npixel, jdmeas = ',&
+                               trim(filereadlist(n)), nm, np, jdmeas
+              cycle
+            endif
             nretr = nretr + 1
             idate(nretr) = jjjjmmdd
             itime(nretr) = hhmiss