Index: trunk/LMDZ.GENERIC/README
===================================================================
--- trunk/LMDZ.GENERIC/README	(revision 1422)
+++ trunk/LMDZ.GENERIC/README	(revision 1423)
@@ -1070,5 +1070,7 @@
 * phystd/dyn1d: this subdirectory contains the 1D models.
 
-== 17/04/2015 == JL
-- Correct radiative transfer bug for the Top layer in callcorrk following commit by SG.
-
+== 17/04/2015 == JL & SG
+- Correct radiative transfer bug for the Top layer in callcorrk (=rev 1419). Only impacts plevrad(2).
+== 04/05/2015 == SG
+- Return to a previous interpolation scheme for pmid and tmid in callcorrk.
+
Index: trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90
===================================================================
--- trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90	(revision 1422)
+++ trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90	(revision 1423)
@@ -20,5 +20,5 @@
       use comcstfi_mod, only: pi, mugaz, cpp
       use callkeys_mod, only: varactive,diurnal,tracer,water,nosurf,varfixed,satval,	&
-		kastprof,strictboundcorrk,specOLR,CLFvarying,ptopzero
+		kastprof,strictboundcorrk,specOLR,CLFvarying
 
       implicit none
@@ -607,37 +607,38 @@
       
       plevrad(1) = 0.
+      plevrad(2) = 0.   !! Trick to have correct calculations of fluxes in gflux(i/v).F,
+                        !! but the pmid levels are not impacted by this change.
 
       tlevrad(1) = tlevrad(2)
       tlevrad(2*nlayer+1)=tsurf(ig)
       
+      pmid(1) = max(pgasmin,0.0001*plevrad(3))
+      pmid(2) =  pmid(1)
+
       tmid(1) = tlevrad(2)
-      tmid(2) = tlevrad(2)
-      tmid(3) = tlevrad(2)
-      tmid(4) = tlevrad(2)
-      pmid(1) = plevrad(2)
-      pmid(2) = plevrad(2)
-      pmid(3) = plevrad(2)
-      pmid(4) = plevrad(2)
-
-      if (ptopzero) then
-         plevrad(2) = 0.
-      else
-         plevrad(2) = max(pgasmin,0.0001*plevrad(3))
-      endif
-     
-      DO l=2,L_NLAYRAD-1
-         tmid(2*l+1) = tlevrad(2*l)
-         tmid(2*l+2) = tlevrad(2*l)
-         pmid(2*l+1) = plevrad(2*l)
-         pmid(2*l+2) = plevrad(2*l)
-!JL13index         tmid(2*l+1) = tlevrad(2*l+1)
-!JL13index         tmid(2*l+2) = tlevrad(2*l+1)
-!JL13index         pmid(2*l+1) = plevrad(2*l+1)
-!JL13index         pmid(2*l+2) = plevrad(2*l+1)
+      tmid(2) = tmid(1)
+    
+      DO l=1,L_NLAYRAD-1
+         tmid(2*l+1) = tlevrad(2*l+1)
+         tmid(2*l+2) = tlevrad(2*l+1)
+         pmid(2*l+1) = plevrad(2*l+1)
+         pmid(2*l+2) = plevrad(2*l+1)
       END DO
-      pmid(L_LEVELS) = plevrad(L_LEVELS-1)
-      tmid(L_LEVELS) = tlevrad(L_LEVELS-1)
-!JL13index      pmid(L_LEVELS) = plevrad(L_LEVELS)
-!JL13index      tmid(L_LEVELS) = tlevrad(L_LEVELS)
+      pmid(L_LEVELS) = plevrad(L_LEVELS)
+      tmid(L_LEVELS) = tlevrad(L_LEVELS)
+
+!!Alternative interpolation:
+!         pmid(3) = pmid(1)
+!         pmid(4) = pmid(1) 
+!         tmid(3) = tmid(1)
+!         tmid(4) = tmid(1)
+!      DO l=2,L_NLAYRAD-1
+!         tmid(2*l+1) = tlevrad(2*l)
+!         tmid(2*l+2) = tlevrad(2*l)
+!         pmid(2*l+1) = plevrad(2*l)
+!         pmid(2*l+2) = plevrad(2*l)
+!      END DO
+!      pmid(L_LEVELS) = plevrad(L_LEVELS-1)
+!      tmid(L_LEVELS) = tlevrad(L_LEVELS-1)
 
       ! test for out-of-bounds pressure
Index: trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90
===================================================================
--- trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90	(revision 1422)
+++ trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90	(revision 1423)
@@ -7,5 +7,5 @@
      &   , callstats,calleofdump                                        &
      &   , callgasvis,continuum,H2Ocont_simple,graybody                 &
-     &   , strictboundcorrk,ptopzero                                        
+     &   , strictboundcorrk                                     
 
       logical enertest
Index: trunk/LMDZ.GENERIC/libf/phystd/inifis.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/phystd/inifis.F	(revision 1422)
+++ trunk/LMDZ.GENERIC/libf/phystd/inifis.F	(revision 1423)
@@ -228,10 +228,4 @@
          call getin_p("strictboundcorrk",strictboundcorrk)
          write(*,*) "strictboundcorrk = ",strictboundcorrk
-
-         write(*,*) "correction on plevrad in the top levels",
-     &              " (callcorrk)?"
-         ptopzero=.true. ! default value
-         call getin_p("ptopzero",ptopzero)
-         write(*,*) "ptopzero = ",ptopzero
 
          write(*,*) "call gaseous absorption in the visible bands?",
