Index: codes/icosagcm/trunk/src/advect_tracer.f90
===================================================================
--- codes/icosagcm/trunk/src/advect_tracer.f90	(revision 97)
+++ codes/icosagcm/trunk/src/advect_tracer.f90	(revision 98)
@@ -3,5 +3,4 @@
   PRIVATE
   INTEGER,PARAMETER::iapp_tracvl= 3
-  REAL(rstd),SAVE :: dt
 
   TYPE(t_field),POINTER :: f_normal(:)
@@ -13,13 +12,11 @@
 CONTAINS
 
-  SUBROUTINE init_advect_tracer(dt_in)
+  SUBROUTINE init_advect_tracer
     USE advect_mod
     IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt_in
     REAL(rstd),POINTER :: tangent(:,:)
     REAL(rstd),POINTER :: normal(:,:)
     INTEGER :: ind
 
-    dt=dt_in
     CALL allocate_field(f_normal,field_u,type_real,3)
     CALL allocate_field(f_tangent,field_u,type_real,3)
@@ -174,5 +171,5 @@
     TYPE(t_field),POINTER,SAVE :: f_zq(:)
 
-    REAL(rstd)::bigt,dt
+    REAL(rstd)::bigt
     REAL(rstd),POINTER :: q(:,:,:)
     REAL(rstd),POINTER :: u(:,:)
Index: codes/icosagcm/trunk/src/caldyn.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn.f90	(revision 97)
+++ codes/icosagcm/trunk/src/caldyn.f90	(revision 98)
@@ -8,10 +8,9 @@
 CONTAINS
 
-  SUBROUTINE init_caldyn(dt)
+  SUBROUTINE init_caldyn
   USE icosa
   USE caldyn_gcm_mod, ONLY : init_caldyn_gcm=>init_caldyn
   USE caldyn_adv_mod, ONLY : init_caldyn_adv=>init_caldyn
   IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt
   
     caldyn_type="gcm"
@@ -20,7 +19,7 @@
     SELECT CASE (TRIM(caldyn_type))
       CASE('gcm')
-        CALL init_caldyn_gcm(dt)
+        CALL init_caldyn_gcm
       CASE('adv')
-        CALL init_caldyn_adv(dt)
+        CALL init_caldyn_adv
       CASE DEFAULT
         PRINT*,'Bad selector for variable caldyn : <', TRIM(caldyn_type),'> options are <gcm>, <adv>'
Index: codes/icosagcm/trunk/src/caldyn_adv.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn_adv.f90	(revision 97)
+++ codes/icosagcm/trunk/src/caldyn_adv.f90	(revision 98)
@@ -9,19 +9,11 @@
   REAL(rstd),POINTER :: out_z(:,:)
  
-  INTEGER :: itau_out
   
 CONTAINS
   
-  SUBROUTINE init_caldyn(dt)
-  USE icosa
-  IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt
-    REAL(rstd) :: write_period
-    CALL allocate_caldyn
-
-    CALL getin('write_period',write_period)
-    
-    itau_out=INT(write_period/dt)
-    
+  SUBROUTINE init_caldyn
+  USE icosa
+  IMPLICIT NONE
+
     CALL allocate_caldyn
   
Index: codes/icosagcm/trunk/src/caldyn_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn_gcm.f90	(revision 97)
+++ codes/icosagcm/trunk/src/caldyn_gcm.f90	(revision 98)
@@ -2,5 +2,4 @@
   USE icosa
 
-  INTEGER :: itau_out
   TYPE(t_field),POINTER :: f_out_u(:)
   REAL(rstd),POINTER :: out_u(:,:)
@@ -13,16 +12,8 @@
 CONTAINS
   
-  SUBROUTINE init_caldyn(dt)
+  SUBROUTINE init_caldyn
     USE icosa
     IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt
-    REAL :: write_period
-    
-    write_period=0
-    CALL getin('write_period',write_period)
-    write_period=write_period/scale_factor
-    itau_out=FLOOR(.5+write_period/dt)
-    PRINT *, 'Output frequency (scaled) set to ',write_period, ' : itau_out = ',itau_out
- 
+    
     CALL allocate_caldyn
   
Index: codes/icosagcm/trunk/src/dissip_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/dissip_gcm.f90	(revision 97)
+++ codes/icosagcm/trunk/src/dissip_gcm.f90	(revision 98)
@@ -44,5 +44,5 @@
   END SUBROUTINE allocate_dissip
  
-  SUBROUTINE init_dissip(dt)
+  SUBROUTINE init_dissip
   USE icosa
   USE disvert_mod
@@ -51,5 +51,4 @@
   
   IMPLICIT NONE
-  REAL,INTENT(IN)       :: dt
   
   TYPE(t_field),POINTER :: f_u(:)
Index: codes/icosagcm/trunk/src/dissip_sw.f90
===================================================================
--- codes/icosagcm/trunk/src/dissip_sw.f90	(revision 97)
+++ codes/icosagcm/trunk/src/dissip_sw.f90	(revision 98)
@@ -25,9 +25,8 @@
   END SUBROUTINE allocate_dissip
  
-  SUBROUTINE init_dissip(dt)
+  SUBROUTINE init_dissip
   USE icosa
   
   IMPLICIT NONE
-  REAL,INTENT(IN)       :: dt
   
   TYPE(t_field),POINTER :: f_u(:)
Index: codes/icosagcm/trunk/src/guided_mod.f90
===================================================================
--- codes/icosagcm/trunk/src/guided_mod.f90	(revision 97)
+++ codes/icosagcm/trunk/src/guided_mod.f90	(revision 98)
@@ -6,9 +6,8 @@
 
 
-  SUBROUTINE init_guided(dt)
+  SUBROUTINE init_guided
   USE icosa
   USE guided_ncar_mod, ONLY : init_guided_ncar => init_guided
   IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt
     
     guided_type='none'
Index: codes/icosagcm/trunk/src/physics.f90
===================================================================
--- codes/icosagcm/trunk/src/physics.f90	(revision 97)
+++ codes/icosagcm/trunk/src/physics.f90	(revision 98)
@@ -6,9 +6,8 @@
 CONTAINS
 
-  SUBROUTINE init_physics(dt)
+  SUBROUTINE init_physics
   USE icosa
   USE physics_dcmip_mod, init_physics_dcmip=>init_physics
   IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt
     
     CALL getin("physics",physics_type)
@@ -18,5 +17,5 @@
     
       CASE ('dcmip')
-        CALL init_physics_dcmip(dt)
+        CALL init_physics_dcmip
       
       CASE DEFAULT
Index: codes/icosagcm/trunk/src/physics_dcmip.f90
===================================================================
--- codes/icosagcm/trunk/src/physics_dcmip.f90	(revision 97)
+++ codes/icosagcm/trunk/src/physics_dcmip.f90	(revision 98)
@@ -3,5 +3,4 @@
   PRIVATE
   
-  REAL(rstd),SAVE :: dt
   INTEGER,SAVE :: testcase
   PUBLIC init_physics, physics
@@ -11,9 +10,7 @@
 CONTAINS
 
-  SUBROUTINE init_physics(dt_in)
+  SUBROUTINE init_physics
   IMPLICIT NONE
-    REAL(rstd),INTENT(IN) :: dt_in
-
-    dt=dt_in
+
     testcase=1
     CALL getin("dcmip_physics",testcase)
Index: codes/icosagcm/trunk/src/time.f90
===================================================================
--- codes/icosagcm/trunk/src/time.f90	(revision 97)
+++ codes/icosagcm/trunk/src/time.f90	(revision 98)
@@ -12,5 +12,6 @@
   INTEGER,SAVE :: itaumax
   
-  PUBLIC create_time_counter_header, update_time_counter, close_time_counter, init_time
+  PUBLIC create_time_counter_header, update_time_counter, close_time_counter, init_time,  &
+         dt, write_period, itau_out, itaumax
 
 
Index: codes/icosagcm/trunk/src/timeloop_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/timeloop_gcm.f90	(revision 97)
+++ codes/icosagcm/trunk/src/timeloop_gcm.f90	(revision 98)
@@ -33,24 +33,24 @@
   REAL(rstd),POINTER :: dtheta_rhodz(:,:),dtheta_rhodzm1(:,:),dtheta_rhodzm2(:,:)
 
-  REAL(rstd) :: dt, run_length
+!  REAL(rstd) :: dt, run_length
   INTEGER :: ind
   INTEGER :: it,i,j,n
   CHARACTER(len=255) :: scheme
   INTEGER :: matsuno_period
-  INTEGER :: itaumax
-  REAL(rstd) ::write_period
-  INTEGER    :: itau_out
-  
-  dt=90.
-  CALL getin('dt',dt)
-  
-  itaumax=100
-  CALL getin('itaumax',itaumax)
-
-  run_length=dt*itaumax
-  CALL getin('run_length',run_length)
-  itaumax=run_length/dt
-  PRINT *,'itaumax=',itaumax
-  dt=dt/scale_factor
+!  INTEGER :: itaumax
+!  REAL(rstd) ::write_period
+!  INTEGER    :: itau_out
+  
+!  dt=90.
+!  CALL getin('dt',dt)
+  
+!  itaumax=100
+!  CALL getin('itaumax',itaumax)
+
+!  run_length=dt*itaumax
+!  CALL getin('run_length',run_length)
+!  itaumax=run_length/dt
+!  PRINT *,'itaumax=',itaumax
+!  dt=dt/scale_factor
 
   scheme='adam_bashforth'
@@ -61,9 +61,9 @@
   IF (TRIM(scheme)=='leapfrog') matsuno_period=itaumax+1
 
-  write_period=0
-  CALL getin('write_period',write_period)
-  write_period=write_period/scale_factor
-  itau_out=FLOOR(.5+write_period/dt)
-  PRINT *, 'Output frequency (scaled) set to ',write_period, ' : itau_out = ',itau_out
+!  write_period=0
+!  CALL getin('write_period',write_period)
+!  write_period=write_period/scale_factor
+!  itau_out=FLOOR(.5+write_period/dt)
+!  PRINT *, 'Output frequency (scaled) set to ',write_period, ' : itau_out = ',itau_out
  
   CALL allocate_field(f_phis,field_t,type_real)
@@ -95,9 +95,9 @@
   CALL allocate_field(f_dtheta_rhodzm2,field_t,type_real,llm)
 
-  CALL init_dissip(dt)
-  CALL init_caldyn(dt)
-  CALL init_guided(dt)
-  CALL init_advect_tracer(dt)
-  CALL init_physics(dt)
+  CALL init_dissip
+  CALL init_caldyn
+  CALL init_guided
+  CALL init_advect_tracer
+  CALL init_physics
   
   CALL etat0(f_ps,f_phis,f_theta_rhodz,f_u, f_q)
Index: codes/icosagcm/trunk/src/timeloop_sw.f90
===================================================================
--- codes/icosagcm/trunk/src/timeloop_sw.f90	(revision 97)
+++ codes/icosagcm/trunk/src/timeloop_sw.f90	(revision 98)
@@ -22,17 +22,10 @@
   REAL(rstd),POINTER :: dh(:), dhm1(:), dhm2(:)
   REAL(rstd),POINTER :: du(:), dum1(:), dum2(:)
-  REAL(rstd) :: dt
   INTEGER :: ind
   INTEGER :: it,i,j,n
   INTEGER :: scheme
   INTEGER :: matsuno_period
-  INTEGER :: itaumax
   
 
-  dt=90.
-  CALL getin('dt',dt)
-
-  itaumax=100
-  CALL getin('itaumax',itaumax)
   
   scheme=leapfrog_matsuno
@@ -60,5 +53,5 @@
 
   CALL allocate_caldyn
-  CALL init_dissip(dt)
+  CALL init_dissip
 
   CALL etat0_williamson(f_h,f_u)
