Index: /trunk/LMDZ.MARS/libf/phymars/calldrag_noro.F
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/calldrag_noro.F	(revision 1773)
+++ /trunk/LMDZ.MARS/libf/phymars/calldrag_noro.F	(revision 1774)
@@ -75,5 +75,5 @@
       INTEGER igwd,igwdim,itest(ngrid)
 
-      INTEGER,SAVE :: ndomain
+      INTEGER :: ndomain
 !      parameter (ndomain = (ngrid-1) / ndomainsz + 1)
 
@@ -111,5 +111,4 @@
 
       IF (firstcall) THEN
-        ndomain = (ngrid-1) / ndomainsz + 1
 
          do l=1,nlayer+1
@@ -131,4 +130,7 @@
          firstcall=.false.
       END IF
+
+      !! AS: moved out of firstcall to allow nesting+evoluting horiz domain
+      ndomain = (ngrid-1) / ndomainsz + 1
 
 c     Starting loop on sub-domain
Index: /trunk/LMDZ.MARS/libf/phymars/callradite_mod.F
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/callradite_mod.F	(revision 1773)
+++ /trunk/LMDZ.MARS/libf/phymars/callradite_mod.F	(revision 1774)
@@ -208,5 +208,5 @@
       REAL ptlev(ngrid,nlayer+1)
 
-      INTEGER,SAVE :: ndomain
+      INTEGER :: ndomain
 
 c     Thermal IR net radiative budget (W m-2)
@@ -274,6 +274,4 @@
 
       IF (firstcall) THEN
-        ! compute ndomain and allocate local saved arrays
-        ndomain= (ngrid-1) / ndomainsz + 1
 
 c        Assign a number to the different scatterers
@@ -345,7 +343,4 @@
 !         CALL SULW ! this step is now done in ini_yomlw_h
 
-         write(*,*) 'Splitting radiative calculations: ',
-     $              ' ngrid,ndomainsz,ndomain',
-     $                ngrid,ndomainsz,ndomain
          if (ngrid .EQ. 1) then
            if (ndomainsz .NE. 1) then
@@ -358,6 +353,15 @@
            endif
          endif
+
          firstcall=.false.
       END IF
+
+! compute ndomain
+! AS: moved out of firstcall to allow nesting+evoluting domain
+! ------------------------------------------------------------
+        ndomain= (ngrid-1) / ndomainsz + 1
+        write(*,*) 'Splitting radiative calculations: ',
+     $              ' ngrid,ndomainsz,ndomain',
+     $                ngrid,ndomainsz,ndomain
 
 c     Computing aerosol optical properties and opacity
Index: /trunk/LMDZ.MARS/libf/phymars/watercloud_mod.F
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/watercloud_mod.F	(revision 1773)
+++ /trunk/LMDZ.MARS/libf/phymars/watercloud_mod.F	(revision 1774)
@@ -147,10 +147,13 @@
         write(*,*)"imicro = ",imicro
         
-        microtimestep = ptimestep/real(imicro)
-        write(*,*)"Physical timestep is",ptimestep 
-        write(*,*)"Microphysics timestep is",microtimestep 
-
         firstcall=.false.
       ENDIF ! of IF (firstcall)
+
+      !! AS: moved out of firstcall to allow nesting+evoluting timestep
+      !!     TBD: consider possible diff imicro with domains?
+      microtimestep = ptimestep/real(imicro)
+      write(*,*)"Physical timestep is",ptimestep
+      write(*,*)"Microphysics timestep is",microtimestep
+
       
 c-----Initialization
Index: /trunk/LMDZ.MARS/libf/phymars/yamada4.F
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/yamada4.F	(revision 1773)
+++ /trunk/LMDZ.MARS/libf/phymars/yamada4.F	(revision 1774)
@@ -122,5 +122,5 @@
       INTEGER i
       REAL ztimestep
-      INTEGER, SAVE :: ndt
+      INTEGER :: ndt
 
       nlev=nlay+1
@@ -130,4 +130,5 @@
 c.......................................................................
 
+      !! firstcall: OK absolute
       if(firstcall) then
         ico2=0
@@ -148,7 +149,9 @@
            enddo
         endif
+        firstcall=.false.
+      endif !of if firstcall
+
+      !! AS: moved out of firstcall to allow nesting+evoluting timestep
       ndt=ceiling(3840./(3699.*24./dt))
-      firstcall=.false.
-      endif !of if firstcall
 
 c.......................................................................
