Index: trunk/NEMO/OFF_SRC/DOM/domain.F90
===================================================================
--- trunk/NEMO/OFF_SRC/DOM/domain.F90	(revision 1734)
+++ trunk/NEMO/OFF_SRC/DOM/domain.F90	(revision 1735)
@@ -244,37 +244,4 @@
           nwrite = nitend
           nwarn = nwarn + 1
-      ENDIF
-
-      SELECT CASE ( nleapy )   ! Choose calendar for IOIPSL
-      CASE (  1 ) 
-         CALL ioconf_calendar('gregorian')
-         IF(lwp) WRITE(numout,*) '           The IOIPSL calendar is "gregorian", i.e. leap year'
-      CASE (  0 )
-         CALL ioconf_calendar('noleap')
-         IF(lwp) WRITE(numout,*) '           The IOIPSL calendar is "noleap", i.e. no leap year'
-      CASE ( 30 )
-         CALL ioconf_calendar('360d')
-         IF(lwp) WRITE(numout,*) '           The IOIPSL calendar is "360d", i.e. 360 days in a year'
-      END SELECT
-
-      SELECT CASE ( nleapy )   ! year=raajj*days day=rjjhh*hours hour=rhhmm*minutes etc ...
-      CASE ( 1 )
-         raajj = 365.25
-         raass = raajj * rjjss
-         rmoss = raass/raamo
-      CASE ( 0 )
-         raajj = 365.
-         raass = raajj * rjjss
-         rmoss = raass/raamo
-      CASE DEFAULT
-         raajj = FLOAT( nleapy ) * raamo
-         raass =        raajj    * rjjss
-         rmoss = FLOAT( nleapy ) * rjjss
-      END SELECT
-      IF(lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) '           nb of days per year      raajj = ', raajj,' days'
-         WRITE(numout,*) '           nb of seconds per year   raass = ', raass, ' s'
-         WRITE(numout,*) '           nb of seconds per month  rmoss = ', rmoss, ' s'
       ENDIF
 
Index: trunk/NEMO/OFF_SRC/dtadyn.F90
===================================================================
--- trunk/NEMO/OFF_SRC/dtadyn.F90	(revision 1734)
+++ trunk/NEMO/OFF_SRC/dtadyn.F90	(revision 1735)
@@ -44,4 +44,14 @@
       nficdyn = 2       ! number of dynamical fields 
 
+   CHARACTER(len=45)  ::  &
+      cfile_grid_T = 'dyna_grid_T.nc', &   !: name of the grid_T file
+      cfile_grid_U = 'dyna_grid_U.nc', &   !: name of the grid_U file
+      cfile_grid_V = 'dyna_grid_V.nc', &   !: name of the grid_V file
+      cfile_grid_W = 'dyna_grid_W.nc'      !: name of the grid_W file
+   
+   REAL(wp)      ::   &
+      rnspdta  ,       &  !: number of time step per 2 consecutives data
+      rnspdta2            !: rnspdta * 0.5
+
    INTEGER ::     &
       ndyn1, ndyn2 , &
@@ -49,10 +59,4 @@
       numfl_t, numfl_u, &
       numfl_v, numfl_w
-
-   CHARACTER(len=45)  ::  &
-      cfile_grid_T = 'dyna_grid_T.nc', &   !: name of the grid_T file
-      cfile_grid_U = 'dyna_grid_U.nc', &   !: name of the grid_U file
-      cfile_grid_V = 'dyna_grid_V.nc', &   !: name of the grid_V file
-      cfile_grid_W = 'dyna_grid_W.nc'      !: name of the grid_W file
 
    REAL(wp), DIMENSION(jpi,jpj,jpk,2) ::   &
@@ -161,10 +165,5 @@
       ENDIF
 
-
-      zpdtan = raass / rdt
-      zpdtpe = zpdtan / FLOAT( ndtadyn )
-      zdemi  = zpdtpe * 0.5
-      zt     = ( FLOAT (kt) + zdemi ) / zpdtpe
-   
+      zt       = ( FLOAT (kt) + rnspdta2 ) / rnspdta
       izt      = INT( zt )
       zweigh   = zt - FLOAT( INT(zt) )
@@ -556,4 +555,5 @@
       !! * Local declarations
 
+      REAL(wp) ::   znspyr   !: number of time step per year
 
       NAMELIST/namdyn/ ndtadyn, ndtatot, nsptint, nficdyn, lperdyn,  &
@@ -586,4 +586,8 @@
          WRITE(numout,*) ' '
       ENDIF
+
+      znspyr   = nyear_len(1) * rday / rdt  
+      rnspdta  = znspyr / FLOAT( ndtadyn )
+      rnspdta2 = rnspdta * 0.5 
 
    END SUBROUTINE dta_dyn_init
Index: trunk/NEMO/OFF_SRC/phycst.F90
===================================================================
--- trunk/NEMO/OFF_SRC/phycst.F90	(revision 1734)
+++ trunk/NEMO/OFF_SRC/phycst.F90	(revision 1735)
@@ -24,11 +24,8 @@
       rsiyea              ,     & !: sideral year (s)
       rsiday              ,     & !: sideral day (s)
-      raajj = 365._wp     ,     & !: number of days in one year
       raamo =  12._wp     ,     & !: number of months in one year
       rjjhh =  24._wp     ,     & !: number of hours in one day
       rhhmm =  60._wp     ,     & !: number of minutes in one hour
       rmmss =  60._wp     ,     & !: number of seconds in one minute
-      raass               ,     & !: number of seconds in one year
-      rmoss               ,     & !: number of seconds in one month
       rjjss               ,     & !: number of seconds in one day
 !!!   omega = 7.292115083046061e-5_wp ,  &  !: change the last digit!
@@ -40,6 +37,4 @@
       rtt      = 273.16_wp  ,  &  !: triple point of temperature (Kelvin)
       rt0      = 273.15_wp  ,  &  !: freezing point of water (Kelvin)
-      rt0_snow = 273.15_wp  ,  &  !: melting point of snow  (Kelvin)
-      rt0_ice  = 273.05_wp  ,  &  !: melting point of ice   (Kelvin)
       rau0     = 1020._wp   ,  &  !: volumic mass of reference (kg/m3)
       rauw     = 1000._wp   ,  &  !: density of pure water (kg/m3)
@@ -47,21 +42,4 @@
       ro0cpr                      !: = 1. / ( rau0 * rcp )
 
-   REAL(wp), PUBLIC ::            &  !:
-      rcdsn   =   0.22_wp     ,   &  !: conductivity of the snow
-      rcdic   =   2.034396_wp ,   &  !: conductivity of the ice
-      rcpsn   =   6.9069e+5_wp,   &  !: density times specific heat for snow
-      rcpic   =   1.8837e+6_wp,   &  !: volumetric latent heat fusion of sea ice
-      xlsn    = 110.121e+6_wp ,   &  !: volumetric latent heat fusion of snow
-      xlic    = 300.33e+6_wp  ,   &  !: volumetric latent heat fusion of ice
-      xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow
-      rhoic   = 900._wp       ,   &  !: density of sea ice (kg/m3)
-      rhosn   = 330._wp       ,   &  !: density of snow (kg/m3)
-      emic    =   0.97_wp     ,   &  !: emissivity of snow or ice
-      sice    =   6.0_wp      ,   &  !: salinity of ice (psu)
-      soce    =  34.7_wp      ,   &  !: salinity of sea (psu)
-      cevap   =   2.5e+6_wp   ,   &  !: latent heat of evaporation (water)
-      srgamma =   0.9_wp      ,   &  !: correction factor for solar radiation (Oberhuber, 1974)
-      vkarmn  =   0.4_wp      ,   &  !: von Karman constant
-      stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant 
       !!----------------------------------------------------------------------
       !!  OPA 9.0 , LOCEAN-IPSL (2005) 
@@ -134,11 +112,8 @@
       IF(lwp) WRITE(numout,*) '          omega                              omega  = ', omega,  ' s-1'
 
-      rjjss = rjjhh * rhhmm * rmmss
       IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) '          nb of months per year               raamo = ', raamo, ' months'
       IF(lwp) WRITE(numout,*) '          nb of hours per day                 rjjhh = ', rjjhh, ' hours'
       IF(lwp) WRITE(numout,*) '          nb of minutes per hour              rhhmm = ', rhhmm, ' mn'
       IF(lwp) WRITE(numout,*) '          nb of seconds per minute            rmmss = ', rmmss, ' s'
-      IF(lwp) WRITE(numout,*) '          nb of seconds per day               rjjss = ', rjjss, ' s'
 
       IF(lwp) WRITE(numout,*)
@@ -149,6 +124,4 @@
       IF(lwp) WRITE(numout,*) '          triple point of temperature      rtt      = ', rtt     , ' K'
       IF(lwp) WRITE(numout,*) '          freezing point of water          rt0      = ', rt0     , ' K'
-      IF(lwp) WRITE(numout,*) '          melting point of snow            rt0_snow = ', rt0_snow, ' K'
-      IF(lwp) WRITE(numout,*) '          melting point of ice             rt0_ice  = ', rt0_ice , ' K'
 
       ro0cpr = 1. / ( rau0 * rcp )
@@ -161,24 +134,6 @@
       IF(lwp) THEN
          WRITE(numout,*)
-         WRITE(numout,*) '          thermal conductivity of the snow          = ', rcdsn   , ' J/s/m/K'
-         WRITE(numout,*) '          thermal conductivity of the ice           = ', rcdic   , ' J/s/m/K'
-         WRITE(numout,*) '          density times specific heat for snow      = ', rcpsn   , ' J/m^3/K' 
-         WRITE(numout,*) '          density times specific heat for ice       = ', rcpic   , ' J/m^3/K'
-         WRITE(numout,*) '          volumetric latent heat fusion of sea ice  = ', xlic    , ' J/m' 
-         WRITE(numout,*) '          volumetric latent heat fusion of snow     = ', xlsn    , ' J/m' 
-         WRITE(numout,*) '          latent heat of sublimation of snow        = ', xsn     , ' J/kg' 
-         WRITE(numout,*) '          density of sea ice                        = ', rhoic   , ' kg/m^3'
-         WRITE(numout,*) '          density of snow                           = ', rhosn   , ' kg/m^3'
-         WRITE(numout,*) '          emissivity of snow or ice                 = ', emic  
-         WRITE(numout,*) '          salinity of ice                           = ', sice    , ' psu'
-         WRITE(numout,*) '          salinity of sea                           = ', soce    , ' psu'
-         WRITE(numout,*) '          latent heat of evaporation (water)        = ', cevap   , ' J/m^3' 
-         WRITE(numout,*) '          correction factor for solar radiation     = ', srgamma 
-         WRITE(numout,*) '          von Karman constant                       = ', vkarmn 
-         WRITE(numout,*) '          Stefan-Boltzmann constant                 = ', stefan  , ' J/s/m^2/K^4'
-
          WRITE(numout,*)
          WRITE(numout,*) '          conversion: degre ==> radian          rad = ', rad
-
          WRITE(numout,*)
          WRITE(numout,*) '          smallest real computer value       rsmall = ', rsmall
Index: trunk/NEMO/TOP_SRC/PISCES/p4zflx.F90
===================================================================
--- trunk/NEMO/TOP_SRC/PISCES/p4zflx.F90	(revision 1734)
+++ trunk/NEMO/TOP_SRC/PISCES/p4zflx.F90	(revision 1735)
@@ -39,5 +39,7 @@
 
    REAL(wp) :: &
-      xconv  = 0.01/3600     !: coefficients for conversion 
+      xconv  = 0.01/3600      !: coefficients for conversion 
+
+   INTEGER  ::  nspyr         !: number of timestep per year
 
 #if defined key_cpl_carbon_cycle
@@ -68,5 +70,5 @@
       !!---------------------------------------------------------------------
       INTEGER, INTENT(in) :: kt
-      INTEGER  ::   ji, jj, jrorr, nspyr
+      INTEGER  ::   ji, jj, jrorr
       REAL(wp) ::   ztc, ztc2, ztc3, zws, zkgwan
       REAL(wp) ::   zfld, zflu, zfld16, zflu16, zfact
@@ -89,5 +91,5 @@
       ! -----------------------------------------------------
 
-      nspyr = INT( raass / rdt )
+      nspyr = INT( n/ rdt )
 
       ! SURFACE CHEMISTRY (PCO2 AND [H+] IN
@@ -262,4 +264,7 @@
       ENDIF
 
+      ! number of time step per year  
+      nspyr = INT( nyear_len(1) * rday / rdt )
+
 #if defined key_cpl_carbon_cycle
       ! Initialization of Flux of Carbon
Index: trunk/NEMO/TOP_SRC/PISCES/p4zlys.F90
===================================================================
--- trunk/NEMO/TOP_SRC/PISCES/p4zlys.F90	(revision 1734)
+++ trunk/NEMO/TOP_SRC/PISCES/p4zlys.F90	(revision 1735)
@@ -37,4 +37,7 @@
    REAL(wp) :: &
       calcon = 1.03E-2        ! mean calcite concentration [Ca2+] in sea water [mole/kg solution]
+
+   INTEGER ::               &
+     rmtss                    !: number of seconds per month
 
    !!----------------------------------------------------------------------
@@ -148,5 +151,5 @@
               !  CHANGE OF [CO3--] , [ALK], PARTICULATE [CACO3],
               !       AND [SUM(CO2)] DUE TO CACO3 DISSOLUTION/PRECIPITATION
-              zremco3 = zdispot / rmoss
+              zremco3 = zdispot / rmtss
               zco3(ji,jj,jk) = zco3(ji,jj,jk) + zremco3 * rfact
               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * zremco3
@@ -214,4 +217,7 @@
       ENDIF
 
+      ! Number of seconds per month 
+      rmtss =  nyear_len(1) * rday / raamo
+
    END SUBROUTINE p4z_lys_init
 
Index: trunk/NEMO/TOP_SRC/PISCES/p4zprod.F90
===================================================================
--- trunk/NEMO/TOP_SRC/PISCES/p4zprod.F90	(revision 1734)
+++ trunk/NEMO/TOP_SRC/PISCES/p4zprod.F90	(revision 1735)
@@ -50,4 +50,6 @@
       tpp                              !: Total primary production
 
+   INTEGER  ::  nspyr                  !: number of timesteps per year
+
    !!* Substitution
 #  include "domzgr_substitute.h90"
@@ -70,5 +72,5 @@
       !!---------------------------------------------------------------------
       INTEGER, INTENT(in) :: kt, jnt
-      INTEGER  ::   ji, jj, jk, nspyr
+      INTEGER  ::   ji, jj, jk
       REAL(wp) ::   zsilfac, zfact
       REAL(wp) ::   zprdiachl, zprbiochl, zsilim, ztn, zadap, zadap2
@@ -107,7 +109,4 @@
       zprbio  (:,:,:) = 0.0
       zysopt  (:,:,:) = 0.0
-
-      nspyr  = INT( raass / rdt )
-
 
       ! Computation of the optimal production
@@ -432,4 +431,7 @@
       ENDIF
 
+      ! number of timesteps per year
+      nspyr  = INT( nyear_len(1) * rday / rdt )
+
       rpis180   = rpi / 180.
       texcret   = 1.0 - excret
Index: trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90
===================================================================
--- trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90	(revision 1734)
+++ trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90	(revision 1735)
@@ -47,7 +47,11 @@
 
    !! * Module variables
-   INTEGER ::          &
-      numdust,          &  ! logical unit for surface fluxes data
-      nflx1 , nflx2,   &  !  first and second record used
+   INTEGER ::                   &
+     ryyss,                     &  !: number of seconds per year
+     rmtss                         !: number of seconds per month
+
+   INTEGER ::                   &
+      numdust,                  &  !: logical unit for surface fluxes data
+      nflx1 , nflx2,            &  !: first and second record used
       nflx11, nflx12      ! ???
    REAL(wp), DIMENSION(jpi,jpj,2) ::    &  !:
@@ -103,5 +107,5 @@
       IF( (jnt == 1) .and. ( ln_dustfer ) )  CALL p4z_sbc( kt )
 
-      zstep = rfact2 / rjjss      ! Time step duration for the biology
+      zstep = rfact2 / rday      ! Time step duration for the biology
 
       zirondep(:,:,:) = 0.e0          ! Initialisation of variables used to compute deposition
@@ -113,7 +117,7 @@
       DO jj = 1, jpj
          DO ji = 1, jpi
-            zirondep(ji,jj,1) = ( dustsolub * dust(ji,jj) / ( 55.85 * rmoss ) + 3.e-10 / raass )   &
+            zirondep(ji,jj,1) = ( dustsolub * dust(ji,jj) / ( 55.85 * rmtss ) + 3.e-10 / ryyss )   &
                &             * rfact2 / fse3t(ji,jj,1)
-            zsidep  (ji,jj)   = 8.8 * 0.075 * dust(ji,jj) * rfact2 / ( fse3t(ji,jj,1) * 28.1 * rmoss )
+            zsidep  (ji,jj)   = 8.8 * 0.075 * dust(ji,jj) * rfact2 / ( fse3t(ji,jj,1) * 28.1 * rmtss )
          END DO
       END DO
@@ -123,5 +127,5 @@
 
       DO jk = 2, jpkm1
-         zirondep(:,:,jk) = dust(:,:) / ( 10. * 55.85 * rmoss ) * rfact2 * 1.e-4
+         zirondep(:,:,jk) = dust(:,:) / ( 10. * 55.85 * rmtss ) * rfact2 * 1.e-4
       END DO
 
@@ -159,5 +163,5 @@
          DO ji = 1, jpi
             ikt = MAX( mbathy(ji,jj)-1, 1 )
-            zfact = e1t(ji,jj) * e2t(ji,jj) / rjjss * tmask_i(ji,jj)
+            zfact = e1t(ji,jj) * e2t(ji,jj) / rday * tmask_i(ji,jj)
 # if defined key_kriest
             zsumsedsi  = zsumsedsi  + zfact *  trn(ji,jj,ikt,jpdsi) * wscal (ji,jj,ikt)
@@ -199,5 +203,5 @@
 #if ! defined key_sed
             trn(ji,jj,ikt,jpsil) = trn(ji,jj,ikt,jpsil) + zconctmp   &
-            &      * ( 1.- ( sumdepsi + rivalkinput / raass / 6. ) / zsumsedsi )
+            &      * ( 1.- ( sumdepsi + rivalkinput / ryyss / 6. ) / zsumsedsi )
 #endif
          END DO
@@ -212,7 +216,7 @@
 #if ! defined key_sed
             trn(ji,jj,ikt,jptal) = trn(ji,jj,ikt,jptal) + zconctmp   &
-               &   * ( 1.- ( rivalkinput / raass ) / zsumsedcal ) * 2.e0
+               &   * ( 1.- ( rivalkinput / ryyss ) / zsumsedcal ) * 2.e0
             trn(ji,jj,ikt,jpdic) = trn(ji,jj,ikt,jpdic) + zconctmp   &
-               &   * ( 1.- ( rivalkinput / raass ) / zsumsedcal )
+               &   * ( 1.- ( rivalkinput / ryyss ) / zsumsedcal )
 #endif
          END DO
@@ -231,5 +235,5 @@
             trn(ji,jj,ikt,jpdoc) = trn(ji,jj,ikt,jpdoc)    &
             &      + ( zconctmp  * wsbio4(ji,jj,ikt) + zconctmp2 * wsbio3(ji,jj,ikt) ) * zfact   &
-            &      * ( 1.- rivpo4input / (raass * zsumsedpo4 ) )
+            &      * ( 1.- rivpo4input / (ryyss * zsumsedpo4 ) )
 #endif
             trn(ji,jj,ikt,jpbfe) = trn(ji,jj,ikt,jpbfe) - trn(ji,jj,ikt,jpbfe) * wsbio4(ji,jj,ikt) * zfact
@@ -246,5 +250,5 @@
             trn(ji,jj,ikt,jpdoc) = trn(ji,jj,ikt,jpdoc)    &
             &      + ( zconctmp2 * wsbio3(ji,jj,ikt) )   &
-            &      * zfact * ( 1.- rivpo4input / ( raass * zsumsedpo4 ) )
+            &      * zfact * ( 1.- rivpo4input / ( ryyss * zsumsedpo4 ) )
 #endif
             trn(ji,jj,ikt,jpsfe) = trn(ji,jj,ikt,jpsfe)   &
@@ -282,5 +286,5 @@
                zlim = ( 1.- xnanono3(ji,jj,jk) - xnanonh4(ji,jj,jk) )
                IF( zlim <= 0.2 )   zlim = 0.01
-               znitrpot(ji,jj,jk) = MAX( 0.e0, ( 0.6 * tgfunc(ji,jj,jk) - 2.15 ) / rjjss )   &
+               znitrpot(ji,jj,jk) = MAX( 0.e0, ( 0.6 * tgfunc(ji,jj,jk) - 2.15 ) / rday )   &
 # if defined key_off_degrad
                &                  * facvol(ji,jj,jk)   &
@@ -565,4 +569,8 @@
 
 
+      ! Number of seconds per year and per month
+      ryyss = nyear_len(1) * rday
+      rmtss = ryyss / raamo
+
       ! total atmospheric supply of Si
       ! ------------------------------
@@ -571,5 +579,5 @@
          DO jj = 2, jpjm1
             DO ji = fs_2, fs_jpim1
-               sumdepsi = sumdepsi + zdustmo(ji,jj,jm) / (12.*rmoss) * 8.8        &
+               sumdepsi = sumdepsi + zdustmo(ji,jj,jm) / (12.*rmtss) * 8.8        &
                   &     * 0.075/28.1 * e1t(ji,jj) * e2t(ji,jj) * tmask(ji,jj,1) * tmask_i(ji,jj)
             END DO
@@ -582,8 +590,8 @@
       DO jj = 1, jpj
          DO ji = 1, jpi
-            zcoef = raass * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,1) * tmask(ji,jj,1) * tmask_i(ji,jj)
+            zcoef = ryyss * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,1) * tmask(ji,jj,1) * tmask_i(ji,jj)
             cotdep(ji,jj) =  river(ji,jj)                  *1E9 / ( 12. * zcoef + rtrn )
             rivinp(ji,jj) = (river(ji,jj)+riverdoc(ji,jj)) *1E9 / ( 31.6* zcoef + rtrn )
-            nitdep(ji,jj) = 7.6 * ndepo(ji,jj)                  / ( 14E6*raass*fse3t(ji,jj,1) + rtrn )
+            nitdep(ji,jj) = 7.6 * ndepo(ji,jj)                  / ( 14E6*ryyss*fse3t(ji,jj,1) + rtrn )
          END DO
       END DO
@@ -596,5 +604,5 @@
       DO jj = 2 , jpjm1
          DO ji = fs_2, fs_jpim1
-            zcoef = cvol(ji,jj,1) * raass
+            zcoef = cvol(ji,jj,1) * ryyss
             rivpo4input = rivpo4input + rivinp(ji,jj) * zcoef
             rivalkinput = rivalkinput + cotdep(ji,jj) * zcoef
@@ -612,5 +620,5 @@
       ! -------------------------
       DO jk = 1, jpkm1
-         ironsed(:,:,jk) = sedfeinput * cmask(:,:,jk) / ( fse3t(:,:,jk) * rjjss )
+         ironsed(:,:,jk) = sedfeinput * cmask(:,:,jk) / ( fse3t(:,:,jk) * rday )
       END DO
       CALL lbc_lnk( ironsed , 'T', 1. )      ! Lateral boundary conditions on ( ironsed )   (sign unchanged)
