Index: codes/icosagcm/trunk/src/advect.f90
===================================================================
--- codes/icosagcm/trunk/src/advect.f90	(revision 18)
+++ codes/icosagcm/trunk/src/advect.f90	(revision 19)
@@ -1,6 +1,4 @@
       MODULE advect_mod
-   USE genmod
-   USE field_mod
-   USE transfert_mod
+   USE icosa
 	IMPLICIT NONE 
 
Index: codes/icosagcm/trunk/src/advect_tracer.f90
===================================================================
--- codes/icosagcm/trunk/src/advect_tracer.f90	(revision 18)
+++ codes/icosagcm/trunk/src/advect_tracer.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE advect_tracer_mod
-  USE genmod
-  USE field_mod
-  USE transfert_mod
+  USE icosa
   PRIVATE
   INTEGER,PARAMETER::iapp_tracvl= 3
@@ -24,10 +22,5 @@
   
   SUBROUTINE advect_tracer(f_ps,f_u, f_q)
-  USE domain_mod
-  USE field_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+  USE icosa
   USE advect_mod
   USE disvert_mod
@@ -305,9 +298,5 @@
 !c     Shema  d'advection " pseudo amont " .
 !c    ********************************************************************
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+      USE icosa
       IMPLICIT NONE
 !c
Index: codes/icosagcm/trunk/src/caldyn.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn.f90	(revision 18)
+++ codes/icosagcm/trunk/src/caldyn.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE caldyn_mod
-  USE genmod
+  USE icosa
   PRIVATE
   CHARACTER(LEN=255),SAVE :: caldyn_type
@@ -9,5 +9,5 @@
 
   SUBROUTINE init_caldyn(dt)
-  USE IOIPSL
+  USE icosa
   USE caldyn_gcm_mod, ONLY : init_caldyn_gcm=>init_caldyn
   USE caldyn_adv_mod, ONLY : init_caldyn_adv=>init_caldyn
@@ -32,5 +32,5 @@
   
   SUBROUTINE caldyn(it,f_phis, f_ps, f_theta_rhodz, f_u, f_dps, f_dtheta_rhodz, f_du)
-  USE field_mod
+  USE icosa
   USE caldyn_gcm_mod, ONLY : caldyn_gcm=>caldyn
   USE caldyn_adv_mod, ONLY : caldyn_adv=>caldyn
Index: codes/icosagcm/trunk/src/caldyn_adv.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn_adv.f90	(revision 18)
+++ codes/icosagcm/trunk/src/caldyn_adv.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE caldyn_adv_mod
-  USE genmod
-  USE field_mod
-  USE transfert_mod
+  USE icosa
 
   TYPE(t_field),POINTER :: f_out(:)
@@ -16,5 +14,5 @@
   
   SUBROUTINE init_caldyn(dt)
-  USE IOIPSL
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN) :: dt
@@ -31,8 +29,5 @@
  
   SUBROUTINE allocate_caldyn
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
 
@@ -53,7 +48,5 @@
  
   SUBROUTINE check_mass_conservation(f_ps,f_dps)
-  USE domain_mod
-  USE dimensions
-  USE geometry
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ps(:)
@@ -95,10 +88,5 @@
   
   SUBROUTINE caldyn(it,f_phis, f_ps, f_theta_rhodz, f_u, f_dps, f_dtheta_rhodz, f_du)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
-  USE write_field
+  USE icosa
   USE vorticity_mod
   USE kinetic_mod
@@ -161,9 +149,5 @@
   
   SUBROUTINE compute_caldyn(phis, ps, theta_rhodz, u, dps, dtheta_rhodz, du)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
   IMPLICIT NONE
Index: codes/icosagcm/trunk/src/caldyn_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn_gcm.f90	(revision 18)
+++ codes/icosagcm/trunk/src/caldyn_gcm.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE caldyn_gcm_mod
-  USE genmod
-  USE field_mod
-  USE transfert_mod
+  USE icosa
 
   PRIVATE 
@@ -19,5 +17,5 @@
   
   SUBROUTINE init_caldyn(dt)
-  USE IOIPSL
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN) :: dt
@@ -34,8 +32,5 @@
  
   SUBROUTINE allocate_caldyn
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
 
@@ -56,7 +51,5 @@
  
   SUBROUTINE check_mass_conservation(f_ps,f_dps)
-  USE domain_mod
-  USE dimensions
-  USE geometry
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ps(:)
@@ -98,10 +91,5 @@
   
   SUBROUTINE caldyn(it,f_phis, f_ps, f_theta_rhodz, f_u, f_dps, f_dtheta_rhodz, f_du)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
-  USE write_field
+  USE icosa
   USE vorticity_mod
   USE kinetic_mod
@@ -184,9 +172,5 @@
   
   SUBROUTINE compute_caldyn(phis, ps, theta_rhodz, u, dps, dtheta_rhodz, du)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
   IMPLICIT NONE
Index: codes/icosagcm/trunk/src/caldyn_sw.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn_sw.f90	(revision 18)
+++ codes/icosagcm/trunk/src/caldyn_sw.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE caldyn_sw_mod
-  USE genmod
-  USE field_mod
-  USE transfert_mod
+  USE icosa
   PRIVATE
   TYPE(t_field),POINTER,SAVE :: f_Fe(:)
@@ -30,8 +28,5 @@
 
   SUBROUTINE allocate_caldyn
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     INTEGER :: ind,i,j
@@ -109,4 +104,5 @@
   
   SUBROUTINE swap_caldyn(ind)
+  USE icosa
   IMPLICIT NONE
     INTEGER,INTENT(IN) :: ind
@@ -126,10 +122,5 @@
   
   SUBROUTINE caldyn(f_h, f_u, f_dh, f_du)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
-  USE write_field
+  USE icosa
   IMPLICIT NONE
   TYPE(t_field),POINTER :: f_h(:)
@@ -177,8 +168,5 @@
   
   SUBROUTINE compute_caldyn(hi,ue,dhi,due)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN) :: hi(iim*jjm)
@@ -423,9 +411,5 @@
    
   SUBROUTINE write_caldyn
-  USE write_field
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     
@@ -459,9 +443,5 @@
      
   SUBROUTINE Compute_PV
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE write_field
+  USE icosa
   IMPLICIT NONE
     REAL(rstd) :: PV
@@ -495,9 +475,5 @@
   
   SUBROUTINE Compute_enstrophy
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE write_field
+  USE icosa
   
   IMPLICIT NONE
Index: codes/icosagcm/trunk/src/caldyn_wave.f90
===================================================================
--- codes/icosagcm/trunk/src/caldyn_wave.f90	(revision 18)
+++ codes/icosagcm/trunk/src/caldyn_wave.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE caldyn_wave_mod
-  USE genmod
-  USE field_mod
-  
+    
   
 CONTAINS
@@ -19,9 +17,5 @@
 
   SUBROUTINE init_wave(hi,ue)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE spherical_geom_mod
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(OUT) :: hi(iim*jjm)
@@ -49,10 +43,5 @@
 
   SUBROUTINE caldyn(f_h, f_u, f_dh, f_du)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
-  USE write_field
+  USE icosa
   IMPLICIT NONE
   TYPE(t_field),POINTER :: f_h(:)
@@ -97,9 +86,5 @@
 
   SUBROUTINE compute_caldyn(hi,ue,dhi,due)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN) :: hi(iim*jjm)
Index: codes/icosagcm/trunk/src/dissip_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/dissip_gcm.f90	(revision 18)
+++ codes/icosagcm/trunk/src/dissip_gcm.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE dissip_gcm_mod
-  USE genmod
-  USE field_mod
-  USE transfert_mod
+  USE icosa
 
   TYPE(t_field),POINTER,SAVE :: f_gradrot(:)
@@ -26,5 +24,5 @@
 
   SUBROUTINE allocate_dissip
-  USE grid_param
+  USE icosa
   IMPLICIT NONE  
     CALL allocate_field(f_gradrot,field_u,type_real,llm)
@@ -36,11 +34,6 @@
  
   SUBROUTINE init_dissip(dt)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE ioipsl
+  USE icosa
   USE disvert_mod
-  USE write_field
   
   IMPLICIT NONE
@@ -357,9 +350,5 @@
   
   SUBROUTINE dissip(f_ue,f_due,f_ps,f_theta_rhodz,f_dtheta_rhodz)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE grid_param
+  USE icosa
   USE theta2theta_rhodz_mod
   IMPLICIT NONE
@@ -407,9 +396,5 @@
 
   SUBROUTINE compute_dissip(ue,due,ps,theta_rhodz,dtheta_rhodz)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE grid_param
+  USE icosa
   USE theta2theta_rhodz_mod
   IMPLICIT NONE
@@ -491,8 +476,5 @@
   
   SUBROUTINE gradiv(ue,gradivu_e,ll)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     INTEGER,INTENT(IN)     :: ll
@@ -563,8 +545,5 @@
   
   SUBROUTINE divgrad(theta,divgrad_i,ll)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     INTEGER,INTENT(IN)     :: ll
@@ -634,8 +613,5 @@
     
   SUBROUTINE gradrot(ue,gradrot_e,ll)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     INTEGER,INTENT(IN)     :: ll
Index: codes/icosagcm/trunk/src/dissip_sw.f90
===================================================================
--- codes/icosagcm/trunk/src/dissip_sw.f90	(revision 18)
+++ codes/icosagcm/trunk/src/dissip_sw.f90	(revision 19)
@@ -1,6 +1,4 @@
 MODULE dissip_sw_mod
-  USE genmod
-  USE field_mod
-  USE transfert_mod
+  USE icosa
 
   TYPE(t_field),POINTER,SAVE :: f_gradrot(:)
@@ -28,9 +26,5 @@
  
   SUBROUTINE init_dissip(dt)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE ioipsl
+  USE icosa
   
   IMPLICIT NONE
@@ -229,8 +223,5 @@
   
   SUBROUTINE dissip(f_ue,f_due)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ue(:)
@@ -271,8 +262,5 @@
   
   SUBROUTINE gradiv(ue,gradivu_e)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN)  :: ue(iim*3*jjm)
@@ -323,8 +311,5 @@
   
   SUBROUTINE gradrot(ue,gradrot_e,ind,sum1,sum2)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN)  :: ue(iim*3*jjm)
Index: codes/icosagcm/trunk/src/disvert.f90
===================================================================
--- codes/icosagcm/trunk/src/disvert.f90	(revision 18)
+++ codes/icosagcm/trunk/src/disvert.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE disvert_mod
-  USE prec
+  USE icosa
   REAL(rstd), SAVE, POINTER :: ap(:)
   REAL(rstd), SAVE, POINTER :: bp(:)
@@ -10,5 +10,5 @@
   USE disvert_std_mod, ONLY: ap_std=>ap, bp_std=>bp, presnivs_std=>presnivs, init_disvert_std=>init_disvert
   USE disvert_ncar_mod, ONLY: ap_ncar=>ap, bp_ncar=>bp, presnivs_ncar=>presnivs, init_disvert_ncar=>init_disvert
-  USE ioipsl
+  USE icosa
   IMPLICIT NONE
     CHARACTER(LEN=255) :: disvert_type = 'std'
Index: codes/icosagcm/trunk/src/disvert_ncar.f90
===================================================================
--- codes/icosagcm/trunk/src/disvert_ncar.f90	(revision 18)
+++ codes/icosagcm/trunk/src/disvert_ncar.f90	(revision 19)
@@ -1,4 +1,4 @@
   MODULE disvert_ncar_mod
-  USE prec
+  USE icosa
  
   REAL(rstd), SAVE, ALLOCATABLE,TARGET :: ap(:)
@@ -10,6 +10,5 @@
 
   SUBROUTINE init_disvert
-  USE grid_param
-  USE ioipsl
+  USE icosa
   IMPLICIT NONE
   
@@ -24,7 +23,5 @@
 
   SUBROUTINE disvert(ap,bp,presnivs)
-  USE earth_const
-  USE math_const 
-  USE grid_param
+  USE icosa
   IMPLICIT NONE
   REAL(rstd),INTENT(OUT) :: ap(:)
Index: codes/icosagcm/trunk/src/disvert_std.f90
===================================================================
--- codes/icosagcm/trunk/src/disvert_std.f90	(revision 18)
+++ codes/icosagcm/trunk/src/disvert_std.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE disvert_std_mod
-  USE prec
+  USE icosa
   REAL(rstd), SAVE, ALLOCATABLE,TARGET :: ap(:)
   REAL(rstd), SAVE, ALLOCATABLE,TARGET :: bp(:)
@@ -8,5 +8,5 @@
 
   SUBROUTINE init_disvert
-  USE grid_param
+  USE icosa
   IMPLICIT NONE
   
@@ -21,7 +21,5 @@
 
   SUBROUTINE disvert(ap,bp,presnivs)
-  USE earth_const
-  USE math_const 
-  USE grid_param
+  USE icosa
   IMPLICIT NONE
   REAL(rstd),INTENT(OUT) :: ap(:)
Index: codes/icosagcm/trunk/src/etat0.f90
===================================================================
--- codes/icosagcm/trunk/src/etat0.f90	(revision 18)
+++ codes/icosagcm/trunk/src/etat0.f90	(revision 19)
@@ -5,14 +5,8 @@
   
   SUBROUTINE etat0(f_ps,f_phis,f_theta_rhodz,f_u, f_q)
-  USE field_mod
-  USE domain_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
+  USE icosa
   USE etat0_jablonowsky06_mod, ONLY : etat0_jablonowsky06=>etat0
   USE etat0_academic_mod, ONLY : etat0_academic=>etat0  
   USE etat0_ncar_mod, ONLY : etat0_ncar=>etat0  
-  USE ioipsl
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ps(:)
Index: codes/icosagcm/trunk/src/etat0_academic.f90
===================================================================
--- codes/icosagcm/trunk/src/etat0_academic.f90	(revision 18)
+++ codes/icosagcm/trunk/src/etat0_academic.f90	(revision 19)
@@ -7,10 +7,5 @@
   
   SUBROUTINE test_etat0_academic
-  USE field_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE write_field
+  USE icosa
   USE kinetic_mod
   IMPLICIT NONE
@@ -48,10 +43,5 @@
     
   SUBROUTINE etat0(f_ps,f_phis,f_theta_rhodz,f_u, f_q)
-  USE field_mod
-  USE domain_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ps(:)
@@ -80,11 +70,6 @@
   
   SUBROUTINE compute_etat0_academic(ps, phis, theta_rhodz, u)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
-  USE spherical_geom_mod
   USE pression_mod
   USE exner_mod
Index: codes/icosagcm/trunk/src/etat0_jablonowsky06.f90
===================================================================
--- codes/icosagcm/trunk/src/etat0_jablonowsky06.f90	(revision 18)
+++ codes/icosagcm/trunk/src/etat0_jablonowsky06.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE etat0_jablonowsky06_mod
-  USE genmod
+  USE icosa
   PRIVATE
   REAL(rstd),PARAMETER :: eta0=0.252
@@ -16,10 +16,5 @@
   
   SUBROUTINE test_etat0_jablonowsky06
-  USE field_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE write_field
+  USE icosa
   USE kinetic_mod
   USE pression_mod
@@ -79,10 +74,5 @@
     
   SUBROUTINE etat0(f_ps,f_phis,f_theta_rhodz,f_u, f_q)
-  USE field_mod
-  USE domain_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ps(:)
@@ -114,12 +104,6 @@
   
   SUBROUTINE compute_etat0_jablonowsky06(ps, phis, theta_rhodz, u)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
-  USE spherical_geom_mod
-  USE vector
   USE pression_mod
   USE exner_mod
Index: codes/icosagcm/trunk/src/etat0_ncar.f90
===================================================================
--- codes/icosagcm/trunk/src/etat0_ncar.f90	(revision 18)
+++ codes/icosagcm/trunk/src/etat0_ncar.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE etat0_ncar_mod
-  USE genmod
+  USE icosa
   PRIVATE
 
@@ -28,10 +28,5 @@
   
   SUBROUTINE etat0(f_ps,f_phis,f_theta_rhodz,f_u,f_q)
-  USE field_mod
-  USE domain_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_ps(:)
@@ -62,17 +57,10 @@
   
   SUBROUTINE compute_etat0_ncar(ps, phis, theta_rhodz, u, q)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
-  USE spherical_geom_mod
-  USE vector
   USE pression_mod
   USE exner_mod
   USE geopotential_mod
   USE theta2theta_rhodz_mod
-  USE ioipsl
   IMPLICIT NONE  
   REAL(rstd),INTENT(OUT) :: ps(iim*jjm)
Index: codes/icosagcm/trunk/src/etat0_williamson.f90
===================================================================
--- codes/icosagcm/trunk/src/etat0_williamson.f90	(revision 18)
+++ codes/icosagcm/trunk/src/etat0_williamson.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE etat0_williamson_mod
-  USE genmod
+  USE icosa
   PRIVATE
     REAL(rstd), PARAMETER :: h0=8.E3
@@ -12,10 +12,5 @@
   
   SUBROUTINE etat0_williamson(f_h,f_u)
-  USE field_mod
-  USE domain_mod
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field),POINTER :: f_h(:)
@@ -37,12 +32,5 @@
   
   SUBROUTINE compute_etat0_williamson(hi, ue)
-  USE domain_mod
-  USE dimensions
-  USE grid_param
-  USE geometry
-  USE metric
-  USE spherical_geom_mod
-  USE vector
-  USE earth_const
+  USE icosa
   IMPLICIT NONE  
     REAL(rstd),INTENT(OUT) :: hi(iim*jjm)
Index: codes/icosagcm/trunk/src/exner.f90
===================================================================
--- codes/icosagcm/trunk/src/exner.f90	(revision 18)
+++ codes/icosagcm/trunk/src/exner.f90	(revision 19)
@@ -4,9 +4,5 @@
 
   SUBROUTINE exner(f_ps,f_p,f_pks,f_pk)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ps(:)
@@ -34,7 +30,5 @@
   
   SUBROUTINE compute_exner(ps,p,pks,pk,offset)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
   USE pression_mod
Index: codes/icosagcm/trunk/src/geopotential_mod.f90
===================================================================
--- codes/icosagcm/trunk/src/geopotential_mod.f90	(revision 18)
+++ codes/icosagcm/trunk/src/geopotential_mod.f90	(revision 19)
@@ -4,9 +4,5 @@
 
   SUBROUTINE geopotential(f_phis,f_pks,f_pk,f_theta,f_phi)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_phis(:)
@@ -37,7 +33,5 @@
   
   SUBROUTINE compute_geopotential(phis,pks,pk,theta,phi,offset)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN) :: phis(iim*jjm)
Index: codes/icosagcm/trunk/src/guided_mod.f90
===================================================================
--- codes/icosagcm/trunk/src/guided_mod.f90	(revision 18)
+++ codes/icosagcm/trunk/src/guided_mod.f90	(revision 19)
@@ -7,6 +7,5 @@
 
   SUBROUTINE init_guided(dt)
-  USE prec
-  USE ioipsl
+  USE icosa
   USE guided_ncar_mod, ONLY : init_guided_ncar => init_guided
   IMPLICIT NONE
@@ -32,10 +31,6 @@
   
   SUBROUTINE guided(it, f_ps, f_theta_rhodz, f_u, f_q)
-  USE field_mod
-  USE domain_mod
-  USE dimensions
-  USE geometry
+  USE icosa
   USE guided_ncar_mod, ONLY : guided_ncar => guided
-  USE ioipsl
   IMPLICIT NONE
     INTEGER, INTENT(IN)   :: it
Index: codes/icosagcm/trunk/src/guided_ncar_mod.f90
===================================================================
--- codes/icosagcm/trunk/src/guided_ncar_mod.f90	(revision 18)
+++ codes/icosagcm/trunk/src/guided_ncar_mod.f90	(revision 19)
@@ -1,4 +1,4 @@
 MODULE guided_ncar_mod
-  USE genmod
+  USE icosa
   PRIVATE
   
@@ -22,8 +22,5 @@
   
   SUBROUTINE guided(it, f_ps, f_theta_rhodz, f_u, f_q)
-  USE field_mod
-  USE domain_mod
-  USE dimensions
-  USE geometry
+  USE icosa
     IMPLICIT NONE
     INTEGER, INTENT(IN)   :: it
@@ -48,11 +45,5 @@
 
   SUBROUTINE wind_profile(it,ue)
-  USE domain_mod
-  USE dimensions
-  USE geometry
-  USE metric
-  USE spherical_geom_mod
-  USE vector
-  USE earth_const
+  USE icosa
   IMPLICIT NONE
     INTEGER,INTENT(IN) :: it 
Index: codes/icosagcm/trunk/src/icosa_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/icosa_gcm.f90	(revision 18)
+++ codes/icosagcm/trunk/src/icosa_gcm.f90	(revision 19)
@@ -1,18 +1,9 @@
 PROGRAM ICOSA_GCM
-  USE spherical_geom_mod
-  USE metric
-  USE domain_mod
-  USE field_mod
-  USE write_field
-  USE geometry
-  USE dimensions
+  USE icosa
   USE timeloop_gcm_mod
   USE transfert_mod
   USE disvert_mod
   USE etat0_mod
-  USE transfert_mod
-  USE vector
   USE wind_mod
-  USE grid_param
   IMPLICIT NONE
   
Index: codes/icosagcm/trunk/src/icosa_mod.f90
===================================================================
--- codes/icosagcm/trunk/src/icosa_mod.f90	(revision 19)
+++ codes/icosagcm/trunk/src/icosa_mod.f90	(revision 19)
@@ -0,0 +1,17 @@
+MODULE icosa
+
+  USE genmod
+  USE ioipsl, ONLY : getin
+  USE grid_param
+  USE metric
+  USE domain_mod
+  USE dimensions
+  USE grid_param
+  USE geometry
+  USE spherical_geom_mod
+  USE vector
+  USE field_mod
+  USE write_field
+  USE transfert_mod
+  
+END MODULE icosa
Index: codes/icosagcm/trunk/src/icosa_sw.f90
===================================================================
--- codes/icosagcm/trunk/src/icosa_sw.f90	(revision 18)
+++ codes/icosagcm/trunk/src/icosa_sw.f90	(revision 19)
@@ -1,15 +1,8 @@
 PROGRAM ICOSA_SW
-  USE spherical_geom_mod
-  USE metric
-  USE domain_mod
-  USE field_mod
-  USE write_field
-  USE geometry
-  USE dimensions
+  USE icosa
   USE timeloop_sw_mod
   USE transfert_mod
   USE dissip_sw_mod
   USE disvert_mod
-  USE transfert_mod
   IMPLICIT NONE
   
Index: codes/icosagcm/trunk/src/kinetic.f90
===================================================================
--- codes/icosagcm/trunk/src/kinetic.f90	(revision 18)
+++ codes/icosagcm/trunk/src/kinetic.f90	(revision 19)
@@ -5,9 +5,5 @@
   
   SUBROUTINE kinetic(f_ue,f_Ki)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ue(:)
@@ -32,7 +28,5 @@
   
   SUBROUTINE compute_kinetic(ue, Ki)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   IMPLICIT NONE
     REAL(rstd),INTENT(IN) :: ue(3*iim*jjm,llm)
Index: codes/icosagcm/trunk/src/pression.f90
===================================================================
--- codes/icosagcm/trunk/src/pression.f90	(revision 18)
+++ codes/icosagcm/trunk/src/pression.f90	(revision 19)
@@ -4,9 +4,5 @@
 
   SUBROUTINE pression(f_ps,f_p)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ps(:)
@@ -28,7 +24,5 @@
   
   SUBROUTINE compute_pression(ps,p,offset)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
   IMPLICIT NONE
Index: codes/icosagcm/trunk/src/theta_rhodz.f90
===================================================================
--- codes/icosagcm/trunk/src/theta_rhodz.f90	(revision 18)
+++ codes/icosagcm/trunk/src/theta_rhodz.f90	(revision 19)
@@ -4,9 +4,5 @@
   
   SUBROUTINE theta_rhodz2theta(f_ps,f_theta_rhodz,f_theta)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ps(:)
@@ -31,9 +27,5 @@
 
   SUBROUTINE theta_rhodz2temperature(f_ps,f_theta_rhodz,f_temp)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ps(:)
@@ -58,9 +50,5 @@
     
   SUBROUTINE theta2theta_rhodz(f_ps,f_theta,f_theta_rhodz)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ps(:)
@@ -85,7 +73,5 @@
   
   SUBROUTINE compute_theta2theta_rhodz(ps,theta, theta_rhodz,offset)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   USE pression_mod
   IMPLICIT NONE
@@ -124,7 +110,5 @@
 
   SUBROUTINE compute_theta_rhodz2theta(ps,theta_rhodz,theta,offset)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   USE pression_mod
   IMPLICIT NONE
@@ -161,8 +145,5 @@
 
   SUBROUTINE compute_theta_rhodz2temperature(ps,theta_rhodz,temp,offset)
-  USE dimensions
-  USE geometry
-  USE metric
-  USE earth_const
+  USE icosa
   USE pression_mod
   USE exner_mod
Index: codes/icosagcm/trunk/src/timeloop_gcm.f90
===================================================================
--- codes/icosagcm/trunk/src/timeloop_gcm.f90	(revision 18)
+++ codes/icosagcm/trunk/src/timeloop_gcm.f90	(revision 19)
@@ -1,19 +1,10 @@
 MODULE timeloop_gcm_mod
-  USE genmod
-  USE transfert_mod
-  USE etat0_mod
+
   
 CONTAINS
   
   SUBROUTINE timeloop
-  USE field_mod
-  USE domain_mod
-  USE write_field
-  USE dimensions
-  USE geometry
-  USE transfert_mod
-  USE metric
+  USE icosa
   USE dissip_gcm_mod
-  USE ioipsl
   USE caldyn_mod
   USE theta2theta_rhodz_mod
Index: codes/icosagcm/trunk/src/timeloop_sw.f90
===================================================================
--- codes/icosagcm/trunk/src/timeloop_sw.f90	(revision 18)
+++ codes/icosagcm/trunk/src/timeloop_sw.f90	(revision 19)
@@ -1,5 +1,4 @@
 MODULE timeloop_sw_mod
-  USE genmod
-  USE transfert_mod
+  USE icosa
   USE etat0_williamson_mod
   
@@ -9,16 +8,7 @@
   
   SUBROUTINE timeloop
-  USE field_mod
-  USE domain_mod
-!  USE wave_mod
+  USE icosa
   USE caldyn_sw_mod
-  USE write_field
-  USE dimensions
-  USE geometry
-  USE transfert_mod
-  USE metric
   USE dissip_sw_mod
-  USE ioipsl
-
   USE etat0_mod
   IMPLICIT NONE
Index: codes/icosagcm/trunk/src/vorticity.f90
===================================================================
--- codes/icosagcm/trunk/src/vorticity.f90	(revision 18)
+++ codes/icosagcm/trunk/src/vorticity.f90	(revision 19)
@@ -4,9 +4,5 @@
 
   SUBROUTINE vorticity(f_ue,f_vort)
-  USE transfert_mod
-  USE field_mod
-  USE dimensions
-  USE geometry
-  USE domain_mod
+  USE icosa
   IMPLICIT NONE
     TYPE(t_field), POINTER :: f_ue(:)
@@ -31,7 +27,5 @@
   
   SUBROUTINE compute_vorticity(ue,vort)
-  USE dimensions
-  USE geometry
-  USE metric
+  USE icosa
   USE disvert_mod
   IMPLICIT NONE
Index: codes/icosagcm/trunk/src/wind.f90
===================================================================
--- codes/icosagcm/trunk/src/wind.f90	(revision 18)
+++ codes/icosagcm/trunk/src/wind.f90	(revision 19)
@@ -7,8 +7,5 @@
  
   SUBROUTINE compute_wind_centered(ue,ucenter)
-  USE geometry
-  USE domain_mod
-  USE dimensions
-  USE metric
+  USE icosa
   
   IMPLICIT NONE
@@ -35,8 +32,5 @@
   
  SUBROUTINE compute_wind_on_edge(ue,uedge)
-  USE geometry
-  USE domain_mod
-  USE dimensions
-  USE metric
+  USE icosa
     
   IMPLICIT NONE
@@ -65,8 +59,5 @@
  
  SUBROUTINE compute_tangential_compound(ue,ut)
-  USE geometry
-  USE domain_mod
-  USE dimensions
-  USE metric  
+  USE icosa  
   IMPLICIT NONE
   REAL(rstd) :: ue(3*iim*jjm,llm)
@@ -123,8 +114,5 @@
  
  SUBROUTINE compute_wind_lonlat_compound(u, ulon, ulat)
-  USE geometry
-  USE domain_mod
-  USE dimensions
-  USE metric  
+  USE icosa  
     
   IMPLICIT NONE
@@ -155,8 +143,5 @@
  
   SUBROUTINE compute_wind_from_lonlat_compound(ulon, ulat, u)
-  USE geometry
-  USE domain_mod
-  USE dimensions
-  USE metric  
+  USE icosa  
     
   IMPLICIT NONE
@@ -182,8 +167,5 @@
  
  SUBROUTINE compute_wind_centered_lonlat_compound(uc, ulon, ulat)
-  USE geometry
-  USE domain_mod
-  USE dimensions
-  USE metric  
+  USE icosa  
     
   IMPLICIT NONE
