Index: /LMDZ5/branches/IPSLCM6.0.12/libf/phylmd/regr_pr_time_av_m.F90
===================================================================
--- /LMDZ5/branches/IPSLCM6.0.12/libf/phylmd/regr_pr_time_av_m.F90	(revision 2981)
+++ /LMDZ5/branches/IPSLCM6.0.12/libf/phylmd/regr_pr_time_av_m.F90	(revision 2982)
@@ -90,5 +90,5 @@
   REAL,    PARAMETER :: rho  = 1.3    !--- Max tropopauses sigma ratio
   REAL,    PARAMETER :: o3t0 = 1.E-7  !--- Nominal O3 vmr at tropopause
-  LOGICAL, PARAMETER :: lo3tp=.FALSE. !--- Use paramztrized O3 vmr at tropopause
+  LOGICAL, PARAMETER :: lo3tp=.FALSE. !--- Use parametrized O3 vmr at tropopause
 
 CONTAINS
@@ -201,6 +201,8 @@
       ELSE IF(lO3Trop) THEN
         CALL msg(lAdjTro,'    O3 CONCENTRATION AT TROPOPAUSE from file.')
+      ELSE IF(lo3tp) THEN
+        CALL msg(lAdjTro,'    PARAMETRIZED O3 concentration at tropopause.')
       ELSE
-        CALL msg(lAdjTro,'    PARAMETRIZED O3 concentration at tropopause.')
+        CALL msg(lAdjTro,'    CONSTANT O3 concentration at tropopause.')
       END IF
     END IF
@@ -211,5 +213,5 @@
     !=== TIME INTERPOLATION FOR MONTHLY INPUT FILES
     IF(linterp) THEN
-      WRITE(str,'(3(a,f7.3))')'Interpolating O3 at julian day ',julien,' from '&
+      WRITE(str,'(3(a,f12.8))')'Interpolating O3 at julian day ',julien,' from '&
       &//'fields at times ',time_in(irec),' and ', time_in(irec+1)
       CALL msg(.TRUE.,str,sub)
@@ -327,8 +329,11 @@
     END IF
   ELSE                                  !=== MONTHLY FILES: GET 2 NEAREST RECS
+    IF(lfirst) irec=locate(time_in,julien) !--- Need to locate surrounding times
     IF(.NOT.lfirst.AND.julien<time_in(irec+1)) RETURN
-    CALL msg(.TRUE.,sub,'Refreshing adjacent Ozone forcing fields.')
+    CALL msg(.TRUE.,'Refreshing adjacent Ozone forcing fields.',sub)
     IF(lfirst) THEN                     !=== READ EARLIEST TIME FIELDS
-      irec=locate(time_in,julien)       !--- Need to locate surrounding times
+      WRITE(str,'(a,i3,a,f12.8,a)')'Previous available field update (step 1): '&
+      //'reading record ',irec,' (time ',time_in(irec),')'
+      CALL msg(.TRUE.,str,sub)
       CALL get_3Dfields(v1m)            !--- Read ozone field(s)
       IF(lAdjTro) THEN                  !--- Additional files for fields strain
@@ -338,4 +343,8 @@
       END IF
     ELSE                                !=== SHIFT FIELDS
+      irec=irec+1
+      WRITE(str,'(a,i3,a,f12.8,a)')'Previous available field update: shifting'&
+      //' current next one (',irec,', time ',time_in(irec),')'
+      CALL msg(.TRUE.,str,sub)
       v1m=v1p                           !--- Ozone fields
       IF(lAdjTro) THEN                  !--- Additional files for fields strain
@@ -346,4 +355,7 @@
     END IF
     irec=irec+1
+    WRITE(str,'(a,i3,a,f12.8,a)')'Next available field update: reading record'&
+    ,irec,' (time ',time_in(irec),')'
+    CALL msg(.TRUE.,str,sub)
     CALL get_3Dfields(v1p)              !--- Read ozone field(s)
     IF(lAdjTro) THEN                    !--- Additional files for fields strain
@@ -352,5 +364,5 @@
       IF(lO3Trop) CALL get_2Dfield(otp,"tro3_at_tropopause")
     END IF
-    IF(lfirst) irec=irec-1
+    irec=irec-1
   END IF
 
