New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3067 – NEMO

Changeset 3067


Ignore:
Timestamp:
2011-11-09T14:14:18+01:00 (13 years ago)
Author:
rfurner
Message:

ticket #885 adding changes from branches/2011/dev_r2802_TOP_substepping between r2802 and r2971

Location:
branches/2011/dev_UKM0_2011/NEMOGCM/NEMO
Files:
51 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r2715 r3067  
    9393      ! 
    9494      IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif )   & 
    95          &              CALL tra_adv_eiv( kt, zun, zvn, zwn, 'TRA' )          ! add the eiv transport (if necessary) 
     95         &              CALL tra_adv_eiv( kt, nit000, zun, zvn, zwn, 'TRA' )    ! add the eiv transport (if necessary) 
    9696      ! 
    9797      CALL iom_put( "uocetr_eff", zun )                                         ! output effective transport       
     
    100100 
    101101      SELECT CASE ( nadv )                            !==  compute advection trend and add it to general trend  ==! 
    102       CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  2nd order centered 
    103       CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  TVD  
    104       CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts )   !  MUSCL  
    105       CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  MUSCL2  
    106       CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  UBS  
    107       CASE ( 6 )   ;    CALL tra_adv_qck   ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  QUICKEST  
     102      CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, nit000, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  2nd order centered 
     103      CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  TVD  
     104      CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts )   !  MUSCL  
     105      CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  MUSCL2  
     106      CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  UBS  
     107      CASE ( 6 )   ;    CALL tra_adv_qck   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  QUICKEST  
    108108      ! 
    109109      CASE (-1 )                                      !==  esopa: test all possibility with control print  ==! 
    110          CALL tra_adv_cen2  ( kt, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )           
     110         CALL tra_adv_cen2  ( kt, nit000, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )           
    111111         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv0 - Ta: ', mask1=tmask,               & 
    112112            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    113          CALL tra_adv_tvd   ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
     113         CALL tra_adv_tvd   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
    114114         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv1 - Ta: ', mask1=tmask,               & 
    115115            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    116          CALL tra_adv_muscl ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts )           
     116         CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts )           
    117117         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv3 - Ta: ', mask1=tmask,               & 
    118118            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    119          CALL tra_adv_muscl2( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
     119         CALL tra_adv_muscl2( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
    120120         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv4 - Ta: ', mask1=tmask,               & 
    121121            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    122          CALL tra_adv_ubs   ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
     122         CALL tra_adv_ubs   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
    123123         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv5 - Ta: ', mask1=tmask,               & 
    124124            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    125          CALL tra_adv_qck   ( kt, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
     125         CALL tra_adv_qck   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )           
    126126         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv6 - Ta: ', mask1=tmask,               & 
    127127            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r2715 r3067  
    5353CONTAINS 
    5454 
    55    SUBROUTINE tra_adv_cen2( kt, cdtype, pun, pvn, pwn,        & 
     55   SUBROUTINE tra_adv_cen2( kt, kit000, cdtype, pun, pvn, pwn,     & 
    5656      &                                 ptb, ptn, pta, kjpt   )  
    5757      !!---------------------------------------------------------------------- 
     
    116116      ! 
    117117      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     118      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    118119      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    119120      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     
    131132      !!---------------------------------------------------------------------- 
    132133 
    133       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 
     134      IF( wrk_in_use(2, 35) .OR. wrk_in_use(3, 14,15) ) THEN 
    134135         CALL ctl_stop('tra_adv_cen2: requested workspace arrays unavailable')   ;   RETURN 
    135136      ENDIF 
    136137 
    137       IF( kt == nit000 )  THEN 
     138      IF( kt == kit000 )  THEN 
    138139         IF(lwp) WRITE(numout,*) 
    139140         IF(lwp) WRITE(numout,*) 'tra_adv_cen2 : 2nd order centered advection scheme on ', cdtype 
     
    141142         IF(lwp) WRITE(numout,*) 
    142143         ! 
    143          ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
    144          IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 
     144         IF (.not. ALLOCATED(upsmsk))THEN 
     145             ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
     146             IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 
     147         ENDIF 
     148 
    145149         ! 
    146150         upsmsk(:,:) = 0._wp                             ! not upstream by default 
     
    275279      ENDIF 
    276280      ! 
    277       IF( wrk_not_released(2, 1)   .OR.   & 
    278           wrk_not_released(3, 1,2) )   CALL ctl_stop('tra_adv_cen2: failed to release workspace arrays') 
     281      IF( wrk_not_released(2, 35)   .OR.   & 
     282          wrk_not_released(3, 14,15) )   CALL ctl_stop('tra_adv_cen2: failed to release workspace arrays') 
    279283      ! 
    280284   END SUBROUTINE tra_adv_cen2 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r2715 r3067  
    4545CONTAINS 
    4646 
    47    SUBROUTINE tra_adv_eiv( kt, pun, pvn, pwn, cdtype ) 
     47   SUBROUTINE tra_adv_eiv( kt, kit000, pun, pvn, pwn, cdtype ) 
    4848      !!---------------------------------------------------------------------- 
    4949      !!                  ***  ROUTINE tra_adv_eiv  *** 
     
    6969#endif 
    7070      INTEGER                         , INTENT(in   ) ::   kt       ! ocean time-step index 
     71      INTEGER                         , INTENT(in   ) ::   kit000   ! first time step index 
    7172      CHARACTER(len=3)                , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    7273      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pun      ! in : 3 ocean velocity components  
     
    9091      ENDIF 
    9192 
    92       IF( kt == nit000 )  THEN 
     93      IF( kt == kit000 )  THEN 
    9394         IF(lwp) WRITE(numout,*) 
    9495         IF(lwp) WRITE(numout,*) 'tra_adv_eiv : eddy induced advection on ', cdtype,' :' 
     
    203204   !!---------------------------------------------------------------------- 
    204205CONTAINS 
    205    SUBROUTINE tra_adv_eiv( kt, pun, pvn, pwn, cdtype )              ! Empty routine 
     206   SUBROUTINE tra_adv_eiv( kt, kit000, pun, pvn, pwn, cdtype )              ! Empty routine 
    206207      INTEGER  ::   kt     
     208      INTEGER  ::   kit000     
    207209      CHARACTER(len=3) ::   cdtype 
    208210      REAL, DIMENSION(:,:,:) ::   pun, pvn, pwn 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90

    r2715 r3067  
    4444CONTAINS 
    4545 
    46    SUBROUTINE tra_adv_muscl( kt, cdtype, p2dt, pun, pvn, pwn, & 
     46   SUBROUTINE tra_adv_muscl( kt, kit000, cdtype, p2dt, pun, pvn, pwn, & 
    4747      &                                        ptb, pta, kjpt ) 
    4848      !!---------------------------------------------------------------------- 
     
    6666      ! 
    6767      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     68      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    6869      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    6970      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     
    8384      ENDIF 
    8485 
    85       IF( kt == nit000 )  THEN 
     86      IF( kt == kit000 )  THEN 
    8687         IF(lwp) WRITE(numout,*) 
    8788         IF(lwp) WRITE(numout,*) 'tra_adv : MUSCL advection scheme on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r2715 r3067  
    4242CONTAINS 
    4343 
    44    SUBROUTINE tra_adv_muscl2( kt, cdtype, p2dt, pun, pvn, pwn,      & 
     44   SUBROUTINE tra_adv_muscl2( kt, kit000, cdtype, p2dt, pun, pvn, pwn,      & 
    4545      &                                         ptb, ptn, pta, kjpt ) 
    4646      !!---------------------------------------------------------------------- 
     
    6464      !! 
    6565      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     66      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    6667      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    6768      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     
    8182      ENDIF 
    8283 
    83       IF( kt == nit000 )  THEN 
     84      IF( kt == kit000 )  THEN 
    8485         IF(lwp) WRITE(numout,*) 
    8586         IF(lwp) WRITE(numout,*) 'tra_adv_muscl2 : MUSCL2 advection scheme on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90

    r2715 r3067  
    4545CONTAINS 
    4646 
    47    SUBROUTINE tra_adv_qck ( kt, cdtype, p2dt, pun, pvn, pwn,      & 
     47   SUBROUTINE tra_adv_qck ( kt, kit000, cdtype, p2dt, pun, pvn, pwn,      & 
    4848      &                                       ptb, ptn, pta, kjpt ) 
    4949      !!---------------------------------------------------------------------- 
     
    8282      !!---------------------------------------------------------------------- 
    8383      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     84      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    8485      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    8586      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     
    9091      !!---------------------------------------------------------------------- 
    9192 
    92       IF( kt == nit000 )  THEN 
     93      IF( kt == kit000 )  THEN 
    9394         IF(lwp) WRITE(numout,*) 
    9495         IF(lwp) WRITE(numout,*) 'tra_adv_qck : 3rd order quickest advection scheme on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r2715 r3067  
    5151CONTAINS 
    5252 
    53    SUBROUTINE tra_adv_tvd ( kt, cdtype, p2dt, pun, pvn, pwn,      & 
     53   SUBROUTINE tra_adv_tvd ( kt, kit000, cdtype, p2dt, pun, pvn, pwn,      & 
    5454      &                                       ptb, ptn, pta, kjpt ) 
    5555      !!---------------------------------------------------------------------- 
     
    7171      ! 
    7272      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     73      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    7374      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    7475      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     
    8990      ENDIF 
    9091 
    91       IF( kt == nit000 )  THEN 
     92      IF( kt == kit000 )  THEN 
    9293         IF(lwp) WRITE(numout,*) 
    9394         IF(lwp) WRITE(numout,*) 'tra_adv_tvd : TVD advection scheme on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90

    r2715 r3067  
    4040CONTAINS 
    4141 
    42    SUBROUTINE tra_adv_ubs ( kt, cdtype, p2dt, pun, pvn, pwn,      & 
     42   SUBROUTINE tra_adv_ubs ( kt, kit000, cdtype, p2dt, pun, pvn, pwn,      & 
    4343      &                                       ptb, ptn, pta, kjpt ) 
    4444      !!---------------------------------------------------------------------- 
     
    8080      ! 
    8181      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     82      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    8283      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    8384      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     
    9798      ENDIF 
    9899 
    99       IF( kt == nit000 )  THEN 
     100      IF( kt == kit000 )  THEN 
    100101         IF(lwp) WRITE(numout,*) 
    101102         IF(lwp) WRITE(numout,*) 'tra_adv_ubs :  horizontal UBS advection scheme on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90

    r2715 r3067  
    106106      !!---------------------------------------------------------------------- 
    107107 
    108       IF( l_trdtra )   THEN                    !* Save ta and sa trends 
     108      IF( l_trdtra )   THEN                        !* Save ta and sa trends 
    109109         ALLOCATE( ztrdt(jpi,jpj,jpk) )   ;    ztrdt(:,:,:) = tsa(:,:,:,jp_tem)  
    110110         ALLOCATE( ztrds(jpi,jpj,jpk) )   ;    ztrds(:,:,:) = tsa(:,:,:,jp_sal) 
    111111      ENDIF 
    112112 
    113       IF( l_bbl )   CALL bbl( kt, 'TRA' )       !* bbl coef. and transport (only if not already done in trcbbl) 
    114  
    115  
    116       IF( nn_bbl_ldf == 1 ) THEN                !* Diffusive bbl 
     113      IF( l_bbl )  CALL bbl( kt, nit000, 'TRA' )   !* bbl coef. and transport (only if not already done in trcbbl) 
     114 
     115 
     116      IF( nn_bbl_ldf == 1 ) THEN                   !* Diffusive bbl 
    117117         CALL tra_bbl_dif( tsb, tsa, jpts ) 
    118118         IF( ln_ctl )  & 
     
    311311 
    312312 
    313    SUBROUTINE bbl( kt, cdtype ) 
     313   SUBROUTINE bbl( kt, kit000, cdtype ) 
    314314      !!---------------------------------------------------------------------- 
    315315      !!                  ***  ROUTINE bbl  *** 
     
    343343      ! 
    344344      INTEGER         , INTENT(in   ) ::   kt       ! ocean time-step index 
     345      INTEGER         , INTENT(in   ) ::   kit000          ! first time step index 
    345346      CHARACTER(len=3), INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    346347      !! 
     
    389390      ENDIF 
    390391      
    391       IF( kt == nit000 )  THEN 
     392      IF( kt == kit000 )  THEN 
    392393         IF(lwp)  WRITE(numout,*) 
    393394         IF(lwp)  WRITE(numout,*) 'trabbl:bbl : Compute bbl velocities and diffusive coefficients in ', cdtype 
     
    537538      !! 
    538539      !! ** Method  :   Read the nambbl namelist and check the parameters 
    539       !!              called by nemo_init at the first timestep (nit000) 
     540      !!              called by nemo_init at the first timestep (kit000) 
    540541      !!---------------------------------------------------------------------- 
    541542      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90

    r2715 r3067  
    6868 
    6969      SELECT CASE ( nldf )                       ! compute lateral mixing trend and add it to the general trend 
    70       CASE ( 0 )   ;   CALL tra_ldf_lap     ( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  ! iso-level laplacian 
     70      CASE ( 0 )   ;   CALL tra_ldf_lap     ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  ! iso-level laplacian 
    7171      CASE ( 1 )                                                                              ! rotated laplacian 
    7272         IF( ln_traldf_grif ) THEN                                                           
    73                        CALL tra_ldf_iso_grif( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )      ! Griffies operator 
     73                       CALL tra_ldf_iso_grif( kt, nit000,'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )      ! Griffies operator 
    7474         ELSE                                                                                 
    75                        CALL tra_ldf_iso     ( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )      ! Madec operator 
    76          ENDIF 
    77       CASE ( 2 )   ;   CALL tra_ldf_bilap   ( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  ! iso-level bilaplacian 
    78       CASE ( 3 )   ;   CALL tra_ldf_bilapg  ( kt, 'TRA',             tsb, tsa, jpts        )  ! s-coord. geopot. bilap. 
     75                       CALL tra_ldf_iso     ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )      ! Madec operator 
     76         ENDIF 
     77      CASE ( 2 )   ;   CALL tra_ldf_bilap   ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  ! iso-level bilaplacian 
     78      CASE ( 3 )   ;   CALL tra_ldf_bilapg  ( kt, nit000, 'TRA',             tsb, tsa, jpts        )  ! s-coord. geopot. bilap. 
    7979         ! 
    8080      CASE ( -1 )                                ! esopa: test all possibility with control print 
    81          CALL tra_ldf_lap   ( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  
     81         CALL tra_ldf_lap   ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  
    8282         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf0 - Ta: ', mask1=tmask,               & 
    8383         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    8484         IF( ln_traldf_grif ) THEN 
    85             CALL tra_ldf_iso_grif( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 ) 
     85            CALL tra_ldf_iso_grif( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 ) 
    8686         ELSE 
    87             CALL tra_ldf_iso     ( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )   
     87            CALL tra_ldf_iso     ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )   
    8888         ENDIF 
    8989         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf1 - Ta: ', mask1=tmask,               & 
    9090         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    91          CALL tra_ldf_bilap ( kt, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  
     91         CALL tra_ldf_bilap ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  
    9292         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf2 - Ta: ', mask1=tmask,               & 
    9393         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    94          CALL tra_ldf_bilapg( kt, 'TRA',             tsb, tsa, jpts        )  
     94         CALL tra_ldf_bilapg( kt, nit000, 'TRA',             tsb, tsa, jpts        )  
    9595         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf3 - Ta: ', mask1=tmask,               & 
    9696         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
     
    297297      ! Compute the ldf trends 
    298298      ! ---------------------- 
    299       CALL tra_ldf( nit000+1 )      ! horizontal components (+1: no more init) 
    300       CALL tra_zdf( nit000   )      ! vertical component (if necessary nit000 to performed the init) 
     299      CALL tra_ldf( nit000 + 1 )      ! horizontal components (+1: no more init) 
     300      CALL tra_zdf( nit000     )      ! vertical component (if necessary nit000 to performed the init) 
    301301 
    302302      ! finalise the computation and recover all arrays 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90

    r2715 r3067  
    4747CONTAINS 
    4848  
    49    SUBROUTINE tra_ldf_bilap( kt, cdtype, pgu, pgv,      & 
     49   SUBROUTINE tra_ldf_bilap( kt, kit000, cdtype, pgu, pgv,      & 
    5050      &                                  ptb, pta, kjpt )   
    5151      !!---------------------------------------------------------------------- 
     
    7979      !! 
    8080      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
     81      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    8182      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    8283      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
     
    9394      ENDIF 
    9495 
    95       IF( kt == nit000 )  THEN 
     96      IF( kt == kit000 )  THEN 
    9697         IF(lwp) WRITE(numout,*) 
    9798         IF(lwp) WRITE(numout,*) 'tra_ldf_bilap : iso-level biharmonic operator on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90

    r2715 r3067  
    4242CONTAINS 
    4343 
    44    SUBROUTINE tra_ldf_bilapg( kt, cdtype, ptb, pta, kjpt ) 
     44   SUBROUTINE tra_ldf_bilapg( kt, kit000, cdtype, ptb, pta, kjpt ) 
    4545      !!---------------------------------------------------------------------- 
    4646      !!                 ***  ROUTINE tra_ldf_bilapg  *** 
     
    7070      ! 
    7171      INTEGER         , INTENT(in   )                      ::   kt       ! ocean time-step index 
     72      INTEGER         , INTENT(in   )                      ::   kit000   ! first time step index 
    7273      CHARACTER(len=3), INTENT(in   )                      ::   cdtype   ! =TRA or TRC (tracer indicator) 
    7374      INTEGER         , INTENT(in   )                      ::   kjpt     ! number of tracers 
     
    8283      ENDIF 
    8384 
    84       IF( kt == nit000 )  THEN 
     85      IF( kt == kit000 )  THEN 
    8586         IF(lwp) WRITE(numout,*) 
    8687         IF(lwp) WRITE(numout,*) 'tra_ldf_bilapg : horizontal biharmonic operator in s-coordinate on ', cdtype 
     
    345346   !!---------------------------------------------------------------------- 
    346347CONTAINS 
    347    SUBROUTINE tra_ldf_bilapg( kt, cdtype, ptb, pta, kjpt )      ! Empty routine 
     348   SUBROUTINE tra_ldf_bilapg( kt, kit000, cdtype, ptb, pta, kjpt )      ! Empty routine 
     349      INTEGER :: kt, kit000 
    348350      CHARACTER(len=3) ::   cdtype 
    349351      REAL, DIMENSION(:,:,:,:) ::   ptb, pta 
    350       WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, cdtype, ptb(1,1,1,1), pta(1,1,1,1), kjpt 
     352      WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', & 
     353        &         kt, kit000, cdtype, ptb(1,1,1,1), pta(1,1,1,1), kjpt 
    351354   END SUBROUTINE tra_ldf_bilapg 
    352355#endif 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r2715 r3067  
    4949CONTAINS 
    5050 
    51    SUBROUTINE tra_ldf_iso( kt, cdtype, pgu, pgv,              & 
     51   SUBROUTINE tra_ldf_iso( kt, kit000, cdtype, pgu, pgv,              & 
    5252      &                                ptb, pta, kjpt, pahtb0 ) 
    5353      !!---------------------------------------------------------------------- 
     
    9696      ! 
    9797      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
     98      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    9899      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    99100      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
     
    116117      ENDIF 
    117118 
    118       IF( kt == nit000 )  THEN 
     119      IF( kt == kit000 )  THEN 
    119120         IF(lwp) WRITE(numout,*) 
    120121         IF(lwp) WRITE(numout,*) 'tra_ldf_iso : rotated laplacian diffusion operator on ', cdtype 
     
    301302   !!---------------------------------------------------------------------- 
    302303CONTAINS 
    303    SUBROUTINE tra_ldf_iso( kt, cdtype, pgu, pgv, ptb, pta, kjpt, pahtb0 )      ! Empty routine 
     304   SUBROUTINE tra_ldf_iso( kt, kit000,cdtype, pgu, pgv, ptb, pta, kjpt, pahtb0 )      ! Empty routine 
     305      INTEGER:: kt, kit000 
    304306      CHARACTER(len=3) ::   cdtype 
    305307      REAL, DIMENSION(:,:,:) ::   pgu, pgv   ! tracer gradient at pstep levels 
    306308      REAL, DIMENSION(:,:,:,:) ::   ptb, pta 
    307       WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, cdtype, pgu(1,1,1), pgv(1,1,1),   & 
    308          &                                                             ptb(1,1,1,1), pta(1,1,1,1), kjpt, pahtb0 
     309      WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, kit000, cdtype,   & 
     310         &                       pgu(1,1,1), pgv(1,1,1), ptb(1,1,1,1), pta(1,1,1,1), kjpt, pahtb0 
    309311   END SUBROUTINE tra_ldf_iso 
    310312#endif 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90

    r2715 r3067  
    4848CONTAINS 
    4949 
    50   SUBROUTINE tra_ldf_iso_grif( kt, cdtype, pgu, pgv,              & 
     50  SUBROUTINE tra_ldf_iso_grif( kt, kit000, cdtype, pgu, pgv,              & 
    5151       &                                   ptb, pta, kjpt, pahtb0 ) 
    5252      !!---------------------------------------------------------------------- 
     
    9595      ! 
    9696      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
     97      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    9798      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    9899      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
     
    127128      !zdkt(1:jpi,1:jpj,0:1) => wrk_3d_9(:,:,1:2) 
    128129 
    129       IF( kt == nit000 )  THEN 
     130      IF( kt == kit000 )  THEN 
    130131         IF(lwp) WRITE(numout,*) 
    131132         IF(lwp) WRITE(numout,*) 'tra_ldf_iso_grif : rotated laplacian diffusion operator on ', cdtype 
    132133         IF(lwp) WRITE(numout,*) '                   WARNING: STILL UNDER TEST, NOT RECOMMENDED. USE AT YOUR OWN PERIL' 
    133134         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    134          ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) 
     135         IF (.not. ALLOCATED(ah_wslp2))THEN 
     136             ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) 
     137         ENDIF 
    135138         IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
    136139         IF( ierr > 0 )   CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate arrays') 
    137140         IF( ln_traldf_gdia ) THEN 
    138             ALLOCATE( psix_eiv(jpi,jpj,jpk) , psiy_eiv(jpi,jpj,jpk) , STAT=ierr ) 
    139             IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
    140             IF( ierr > 0 )   CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate diagnostics') 
     141            IF (.not. ALLOCATED(psix_eiv))THEN 
     142                ALLOCATE( psix_eiv(jpi,jpj,jpk) , psiy_eiv(jpi,jpj,jpk) , STAT=ierr ) 
     143                IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
     144                IF( ierr > 0 )   CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate diagnostics') 
     145            ENDIF 
    141146         ENDIF 
    142147      ENDIF 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90

    r2715 r3067  
    4444CONTAINS 
    4545 
    46    SUBROUTINE tra_ldf_lap( kt, cdtype, pgu, pgv,      & 
     46   SUBROUTINE tra_ldf_lap( kt, kit000, cdtype, pgu, pgv,      & 
    4747      &                                ptb, pta, kjpt )  
    4848      !!---------------------------------------------------------------------- 
     
    6666      ! 
    6767      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
     68      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    6869      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    6970      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
     
    7778      !!---------------------------------------------------------------------- 
    7879       
    79       IF( kt == nit000 )  THEN 
     80      IF( kt == kit000 )  THEN 
    8081         IF(lwp) WRITE(numout,*) 
    8182         IF(lwp) WRITE(numout,*) 'tra_ldf_lap : iso-level laplacian diffusion on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90

    r3062 r3067  
    146146      ELSE                                            ! Leap-Frog + Asselin filter time stepping 
    147147         ! 
    148          IF( lk_vvl )  THEN   ;   CALL tra_nxt_vvl( kt, 'TRA', tsb, tsn, tsa, jpts )  ! variable volume level (vvl)      
    149          ELSE                 ;   CALL tra_nxt_fix( kt, 'TRA', tsb, tsn, tsa, jpts )  ! fixed    volume level  
     148         IF( lk_vvl )  THEN   ;   CALL tra_nxt_vvl( kt, nit000, 'TRA', tsb, tsn, tsa, jpts )  ! variable volume level (vvl)      
     149         ELSE                 ;   CALL tra_nxt_fix( kt, nit000, 'TRA', tsb, tsn, tsa, jpts )  ! fixed    volume level  
    150150         ENDIF 
    151151      ENDIF  
     
    177177 
    178178 
    179    SUBROUTINE tra_nxt_fix( kt, cdtype, ptb, ptn, pta, kjpt ) 
     179   SUBROUTINE tra_nxt_fix( kt, kit000, cdtype, ptb, ptn, pta, kjpt ) 
    180180      !!---------------------------------------------------------------------- 
    181181      !!                   ***  ROUTINE tra_nxt_fix  *** 
     
    201201      !!---------------------------------------------------------------------- 
    202202      INTEGER         , INTENT(in   )                               ::   kt       ! ocean time-step index 
     203      INTEGER         , INTENT(in   )                               ::   kit000   ! first time step index 
    203204      CHARACTER(len=3), INTENT(in   )                               ::   cdtype   ! =TRA or TRC (tracer indicator) 
    204205      INTEGER         , INTENT(in   )                               ::   kjpt     ! number of tracers 
     
    212213      !!---------------------------------------------------------------------- 
    213214 
    214       IF( kt == nit000 )  THEN 
     215      IF( kt == kit000 )  THEN 
    215216         IF(lwp) WRITE(numout,*) 
    216          IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping' 
     217         IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping', cdtype 
    217218         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    218219      ENDIF 
     
    243244 
    244245 
    245    SUBROUTINE tra_nxt_vvl( kt, cdtype, ptb, ptn, pta, kjpt ) 
     246   SUBROUTINE tra_nxt_vvl( kt, kit000, cdtype, ptb, ptn, pta, kjpt ) 
    246247      !!---------------------------------------------------------------------- 
    247248      !!                   ***  ROUTINE tra_nxt_vvl  *** 
     
    268269      !!---------------------------------------------------------------------- 
    269270      INTEGER         , INTENT(in   )                               ::   kt       ! ocean time-step index 
     271      INTEGER         , INTENT(in   )                               ::   kit000   ! first time step index 
    270272      CHARACTER(len=3), INTENT(in   )                               ::   cdtype   ! =TRA or TRC (tracer indicator) 
    271273      INTEGER         , INTENT(in   )                               ::   kjpt     ! number of tracers 
     
    280282      !!---------------------------------------------------------------------- 
    281283 
    282       IF( kt == nit000 ) THEN 
     284      IF( kt == kit000 ) THEN 
    283285         IF(lwp) WRITE(numout,*) 
    284          IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping' 
     286         IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping', cdtype 
    285287         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    286288      ENDIF 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf.F90

    r2715 r3067  
    7676 
    7777      SELECT CASE ( nzdf )                       ! compute lateral mixing trend and add it to the general trend 
    78       CASE ( 0 )    ;    CALL tra_zdf_exp( kt, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts )  !   explicit scheme  
    79       CASE ( 1 )    ;    CALL tra_zdf_imp( kt, 'TRA', r2dtra,            tsb, tsa, jpts )  !   implicit scheme  
     78      CASE ( 0 )    ;    CALL tra_zdf_exp( kt, nit000, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts )  !   explicit scheme  
     79      CASE ( 1 )    ;    CALL tra_zdf_imp( kt, nit000, 'TRA', r2dtra,            tsb, tsa, jpts )  !   implicit scheme  
    8080      CASE ( -1 )                                       ! esopa: test all possibility with control print 
    81          CALL tra_zdf_exp( kt, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts ) 
     81         CALL tra_zdf_exp( kt, nit000, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts ) 
    8282         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf0 - Ta: ', mask1=tmask,               & 
    8383         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    84          CALL tra_zdf_imp( kt, 'TRA', r2dtra,            tsb, tsa, jpts )  
     84         CALL tra_zdf_imp( kt, nit000, 'TRA', r2dtra,            tsb, tsa, jpts )  
    8585         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf1 - Ta: ', mask1=tmask,               & 
    8686         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r2715 r3067  
    4848CONTAINS 
    4949 
    50    SUBROUTINE tra_zdf_exp( kt, cdtype, p2dt, kn_zdfexp,   & 
     50   SUBROUTINE tra_zdf_exp( kt, kit000, cdtype, p2dt, kn_zdfexp,   & 
    5151      &                                ptb , pta      , kjpt ) 
    5252      !!---------------------------------------------------------------------- 
     
    7777      ! 
    7878      INTEGER                              , INTENT(in   ) ::   kt          ! ocean time-step index 
     79      INTEGER                              , INTENT(in   ) ::   kit000      ! first time step index 
    7980      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype      ! =TRA or TRC (tracer indicator) 
    8081      INTEGER                              , INTENT(in   ) ::   kjpt        ! number of tracers 
     
    9394      ENDIF 
    9495 
    95       IF( kt == nit000 )  THEN 
     96      IF( kt == kit000 )  THEN 
    9697         IF(lwp) WRITE(numout,*) 
    9798         IF(lwp) WRITE(numout,*) 'tra_zdf_exp : explicit vertical mixing on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r2715 r3067  
    5555CONTAINS 
    5656  
    57    SUBROUTINE tra_zdf_imp( kt, cdtype, p2dt, ptb, pta, kjpt )  
     57   SUBROUTINE tra_zdf_imp( kt, kit000, cdtype, p2dt, ptb, pta, kjpt )  
    5858      !!---------------------------------------------------------------------- 
    5959      !!                  ***  ROUTINE tra_zdf_imp  *** 
     
    7979      ! 
    8080      INTEGER                              , INTENT(in   ) ::   kt       ! ocean time-step index 
     81      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    8182      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    8283      INTEGER                              , INTENT(in   ) ::   kjpt     ! number of tracers 
     
    9394      ENDIF 
    9495 
    95       IF( kt == nit000 )  THEN 
     96      IF( kt == kit000 )  THEN 
    9697         IF(lwp)WRITE(numout,*) 
    9798         IF(lwp)WRITE(numout,*) 'tra_zdf_imp : implicit vertical mixing on ', cdtype 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/C14b/trcsms_c14b.F90

    r2715 r3067  
    119119      ENDIF 
    120120 
    121       IF( kt == nit000 )  THEN         ! Computation of decay coeffcient 
     121      IF( kt == nittrc000 )  THEN         ! Computation of decay coeffcient 
    122122         zdemi   = 5730._wp 
    123123         xlambda = LOG(2.) / zdemi / ( nyear_len(1) * rday ) 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90

    r2715 r3067  
    3737      !! 
    3838      !! ** Method  :   Read the namcfc namelist and check the parameter  
    39       !!       values called at the first timestep (nit000) 
     39      !!       values called at the first timestep (nittrc000) 
    4040      !! 
    4141      !! ** input   :   Namelist namcfc 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90

    r2715 r3067  
    9797      ENDIF 
    9898 
    99       IF( kt == nit000 )   CALL trc_cfc_cst 
     99      IF( kt == nittrc000 )   CALL trc_cfc_cst 
    100100 
    101101      ! Temporal interpolation 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcbio.F90

    r2715 r3067  
    9595#endif 
    9696 
    97       IF( kt == nit000 ) THEN 
     97      IF( kt == nittrc000 ) THEN 
    9898         IF(lwp) WRITE(numout,*) 
    9999         IF(lwp) WRITE(numout,*) ' trc_bio: LOBSTER bio-model' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcexp.F90

    r2715 r3067  
    6161      !!--------------------------------------------------------------------- 
    6262 
    63       IF( kt == nit000 ) THEN 
     63      IF( kt == nittrc000 ) THEN 
    6464         IF(lwp) WRITE(numout,*) 
    6565         IF(lwp) WRITE(numout,*) ' trc_exp: LOBSTER export' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcopt.F90

    r2715 r3067  
    7272      END IF 
    7373 
    74       IF( kt == nit000 ) THEN 
     74      IF( kt == nittrc000 ) THEN 
    7575         IF(lwp) WRITE(numout,*) 
    7676         IF(lwp) WRITE(numout,*) ' trc_opt : LOBSTER optic-model' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90

    r2715 r3067  
    7474      END IF 
    7575 
    76       IF( kt == nit000 ) THEN 
     76      IF( kt == nittrc000 ) THEN 
    7777         IF(lwp) WRITE(numout,*) 
    7878         IF(lwp) WRITE(numout,*) ' trc_sed: LOBSTER sedimentation' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r2774 r3067  
    329329 
    330330      ! Calendar computation 
    331       IF( kt == nit000 .OR. imois /= nflx1 ) THEN 
    332  
    333          IF( kt == nit000 )  nflx1  = 0 
     331      IF( kt == nittrc000 .OR. imois /= nflx1 ) THEN 
     332 
     333         IF( kt == nittrc000 )  nflx1  = 0 
    334334 
    335335         ! nflx1 number of the first file record used in the simulation 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/trcrst_pisces.F90

    r2715 r3067  
    245245#if defined key_dtatrc 
    246246      ! Restore close seas values to initial data 
    247       CALL trc_dta( nit000 )  
     247      CALL trc_dta( nittrc000 )  
    248248      DO jn = 1, jptra 
    249249         IF( lutini(jn) ) THEN 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90

    r2715 r3067  
    7272      !!--------------------------------------------------------------------- 
    7373 
    74       IF( kt == nit000 )   CALL trc_sms_pisces_init    ! Initialization (first time-step only) 
     74      IF( kt == nittrc000 )   CALL trc_sms_pisces_init    ! Initialization (first time-step only) 
    7575 
    7676      IF( wrk_in_use(3,1) )  THEN 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/SED/sedini.F90

    r2761 r3067  
    449449 
    450450      dtsed = rdt 
    451       nitsed000 = nit000 
     451      nitsed000 = nittrc000 
    452452      nitsedend = nitend 
    453453#if ! defined key_sed_off 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/SED/sedmodel.F90

    r2528 r3067  
    3535 
    3636 
    37       IF( kt == nit000 ) CALL sed_init       ! Initialization of sediment model 
     37      IF( kt == nittrc000 ) CALL sed_init       ! Initialization of sediment model 
    3838 
    3939                         CALL sed_stp( kt )  ! Time stepping of Sediment model 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/SED/sedwri.F90

    r2761 r3067  
    5656      ! Initialisation 
    5757      ! -----------------  
    58       IF( kt == nit000 )   ALLOCATE( ndext52(jpij*jpksed), ndext51(jpij) ) 
     58      IF( kt == nittrc000 )   ALLOCATE( ndext52(jpij*jpksed), ndext51(jpij) ) 
    5959 
    6060      ! Define frequency of output and means 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r2715 r3067  
    3535   INTEGER ::   nadv   ! choice of the type of advection scheme 
    3636   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dt  ! vertical profile time-step, = 2 rdttra 
    37    !                                                    ! except at nit000 (=rdttra) if neuler=0 
     37   !                                                    ! except at nitrrc000 (=rdttra) if neuler=0 
    3838 
    3939   !! * Substitutions 
     
    8080      ENDIF 
    8181 
    82       IF( kt == nit000 )   CALL trc_adv_ctl          ! initialisation & control of options 
     82      IF( kt == nittrc000 )   CALL trc_adv_ctl          ! initialisation & control of options 
    8383 
    8484#if ! defined key_pisces 
    85       IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
     85      IF( neuler == 0 .AND. kt == nittrc000 ) THEN     ! at nittrc000 
    8686         r2dt(:) =  rdttrc(:)           ! = rdttrc (restarting with Euler time stepping) 
    87       ELSEIF( kt <= nit000 + nn_dttrc ) THEN          ! at nit000 or nit000+1 
     87      ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN          ! at nittrc000 or nittrc000+1 
    8888         r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
    8989      ENDIF 
     
    103103 
    104104      !                                                   ! add the eiv transport (if necessary) 
    105       IF( lk_traldf_eiv )   CALL tra_adv_eiv( kt, zun, zvn, zwn, 'TRC' ) 
     105      IF( lk_traldf_eiv )   CALL tra_adv_eiv( kt, nittrc000, zun, zvn, zwn, 'TRC' ) 
    106106      ! 
    107107      SELECT CASE ( nadv )                            !==  compute advection trend and add it to general trend  ==! 
    108       CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )   !  2nd order centered 
    109       CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  TVD  
    110       CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )   !  MUSCL  
    111       CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  MUSCL2  
    112       CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  UBS  
    113       CASE ( 6 )   ;    CALL tra_adv_qck   ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  QUICKEST  
     108      CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, nittrc000, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )   !  2nd order centered 
     109      CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  TVD  
     110      CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )   !  MUSCL  
     111      CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  MUSCL2  
     112      CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  UBS  
     113      CASE ( 6 )   ;    CALL tra_adv_qck   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  QUICKEST  
    114114      ! 
    115115      CASE (-1 )                                      !==  esopa: test all possibility with control print  ==! 
    116          CALL tra_adv_cen2  ( kt, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )           
     116         CALL tra_adv_cen2  ( kt, nittrc000, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )           
    117117         WRITE(charout, FMT="('adv1')")  ; CALL prt_ctl_trc_info(charout) 
    118118                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    119          CALL tra_adv_tvd   ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
     119         CALL tra_adv_tvd   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    120120         WRITE(charout, FMT="('adv2')")  ; CALL prt_ctl_trc_info(charout) 
    121121                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    122          CALL tra_adv_muscl ( kt, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )           
     122         CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )           
    123123         WRITE(charout, FMT="('adv3')")  ; CALL prt_ctl_trc_info(charout) 
    124124                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    125          CALL tra_adv_muscl2( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
     125         CALL tra_adv_muscl2( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    126126         WRITE(charout, FMT="('adv4')")  ; CALL prt_ctl_trc_info(charout) 
    127127                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    128          CALL tra_adv_ubs   ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
     128         CALL tra_adv_ubs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    129129         WRITE(charout, FMT="('adv5')")  ; CALL prt_ctl_trc_info(charout) 
    130130                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    131          CALL tra_adv_qck   ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
     131         CALL tra_adv_qck   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    132132         WRITE(charout, FMT="('adv6')")  ; CALL prt_ctl_trc_info(charout) 
    133133                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90

    r2528 r3067  
    5656      !!---------------------------------------------------------------------- 
    5757 
    58       IF( .NOT. lk_offline ) THEN 
    59          CALL bbl( kt, 'TRC' )         ! Online coupling with dynamics  : Computation of bbl coef and bbl transport 
    60          l_bbl = .FALSE.               ! Offline coupling with dynamics : Read bbl coef and bbl transport from input files 
     58      IF( .NOT. lk_offline .AND. nn_dttrc == 1 ) THEN 
     59         CALL bbl( kt, nittrc000, 'TRC' )      ! Online coupling with dynamics  : Computation of bbl coef and bbl transport 
     60         l_bbl = .FALSE.                       ! Offline coupling with dynamics : Read bbl coef and bbl transport from input files 
    6161      ENDIF 
    6262 
    6363      IF( l_trdtrc )  THEN 
    64          ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) )   ! temporary save of trends 
     64         ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) ) ! temporary save of trends 
    6565         ztrtrd(:,:,:,:)  = tra(:,:,:,:) 
    6666      ENDIF 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90

    r2715 r3067  
    9494      ! 0. Initialization (first time-step only) 
    9595      !    -------------- 
    96       IF( kt == nit000 ) CALL trc_dmp_init 
     96      IF( kt == nittrc000 ) CALL trc_dmp_init 
    9797 
    9898      IF( l_trdtrc )   ALLOCATE( ztrtrd(jpi,jpj,jpk) )   ! temporary save of trends 
     
    173173      !! 
    174174      !! ** Method  :   read the nammbf namelist and check the parameters 
    175       !!              called by trc_dmp at the first timestep (nit000) 
     175      !!              called by trc_dmp at the first timestep (nittrc000) 
    176176      !!---------------------------------------------------------------------- 
    177177 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90

    r2715 r3067  
    5959      !!---------------------------------------------------------------------- 
    6060 
    61       IF( kt == nit000 )   CALL ldf_ctl          ! initialisation & control of options 
     61      IF( kt == nittrc000 )   CALL ldf_ctl          ! initialisation & control of options 
    6262 
    6363      IF( l_trdtrc )  THEN  
     
    6767 
    6868      SELECT CASE ( nldf )                       ! compute lateral mixing trend and add it to the general trend 
    69       CASE ( 0 )   ;   CALL tra_ldf_lap   ( kt, 'TRC', gtru, gtrv, trb, tra, jptra            )  ! iso-level laplacian 
    70       CASE ( 1 )   ;   CALL tra_ldf_iso   ( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 )  ! rotated laplacian  
    71       CASE ( 2 )   ;   CALL tra_ldf_bilap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra            )  ! iso-level bilaplacian 
    72       CASE ( 3 )   ;   CALL tra_ldf_bilapg( kt, 'TRC',             trb, tra, jptra            )  ! s-coord. horizontal bilaplacian 
     69      CASE ( 0 )   ;   CALL tra_ldf_lap   ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra            )  ! iso-level laplacian 
     70      CASE ( 1 )   ;   CALL tra_ldf_iso   ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 )  ! rotated laplacian  
     71      CASE ( 2 )   ;   CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra            )  ! iso-level bilaplacian 
     72      CASE ( 3 )   ;   CALL tra_ldf_bilapg( kt, nittrc000, 'TRC',             trb, tra, jptra            )  ! s-coord. horizontal bilaplacian 
    7373         ! 
    7474      CASE ( -1 )                                     ! esopa: test all possibility with control print 
    75          CALL tra_ldf_lap   ( kt, 'TRC', gtru, gtrv, trb, tra, jptra            ) 
     75         CALL tra_ldf_lap   ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra            ) 
    7676         WRITE(charout, FMT="('ldf0 ')") ;  CALL prt_ctl_trc_info(charout) 
    7777                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    78          CALL tra_ldf_iso   ( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 
     78         CALL tra_ldf_iso   ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 
    7979         WRITE(charout, FMT="('ldf1 ')") ;  CALL prt_ctl_trc_info(charout) 
    8080                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    81          CALL tra_ldf_bilap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra            ) 
     81         CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra            ) 
    8282         WRITE(charout, FMT="('ldf2 ')") ;  CALL prt_ctl_trc_info(charout) 
    8383                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    84          CALL tra_ldf_bilapg( kt, 'TRC',             trb, tra, jptra            ) 
     84         CALL tra_ldf_bilapg( kt, nittrc000, 'TRC',             trb, tra, jptra            ) 
    8585         WRITE(charout, FMT="('ldf3 ')") ;  CALL prt_ctl_trc_info(charout) 
    8686                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r2715 r3067  
    9696      !!---------------------------------------------------------------------- 
    9797 
    98       IF( kt == nit000 .AND. lwp ) THEN 
     98      IF( kt == nittrc000 .AND. lwp ) THEN 
    9999         WRITE(numout,*) 
    100100         WRITE(numout,*) 'trc_nxt : time stepping on passive tracers' 
     
    119119 
    120120      ! set time step size (Euler/Leapfrog) 
    121       IF( neuler == 0 .AND. kt ==  nit000) THEN  ;  r2dt(:) =     rdttrc(:)   ! at nit000             (Euler) 
    122       ELSEIF( kt <= nit000 + 1 )           THEN  ;  r2dt(:) = 2.* rdttrc(:)   ! at nit000 or nit000+1 (Leapfrog) 
     121      IF( neuler == 0 .AND. kt ==  nittrc000) THEN  ;  r2dt(:) =     rdttrc(:)   ! at nittrc000             (Euler) 
     122      ELSEIF( kt <= nittrc000 +  nn_dttrc )           THEN  ;  r2dt(:) = 2.* rdttrc(:)   ! at nit000 or nit000+1 (Leapfrog) 
    123123      ENDIF 
    124124 
     
    129129      ENDIF 
    130130      ! Leap-Frog + Asselin filter time stepping 
    131       IF( neuler == 0 .AND. kt == nit000 ) THEN        ! Euler time-stepping at first time-step 
    132          !                                             ! (only swap) 
     131      IF( neuler == 0 .AND. kt == nittrc000 ) THEN        ! Euler time-stepping at first time-step 
     132         !                                                ! (only swap) 
    133133         DO jn = 1, jptra 
    134134            DO jk = 1, jpkm1 
     
    139139      ELSE 
    140140         ! Leap-Frog + Asselin filter time stepping 
    141          IF( lk_vvl ) THEN   ;   CALL tra_nxt_vvl( kt, 'TRC', trb, trn, tra, jptra )      ! variable volume level (vvl)  
    142          ELSE                ;   CALL tra_nxt_fix( kt, 'TRC', trb, trn, tra, jptra )      ! fixed    volume level  
     141         IF( lk_vvl ) THEN   ;   CALL tra_nxt_vvl( kt,nittrc000, 'TRC', trb, trn, tra, jptra )      ! variable volume level (vvl)  
     142         ELSE                ;   CALL tra_nxt_fix( kt,nittrc000, 'TRC', trb, trn, tra, jptra )      ! fixed    volume level  
    143143         ENDIF 
    144144      ENDIF 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90

    r2715 r3067  
    5353      !!---------------------------------------------------------------------- 
    5454 
    55       IF( kt == nit000 ) THEN 
     55      IF( kt == nittrc000 ) THEN 
    5656         IF(lwp) WRITE(numout,*) 
    5757         IF(lwp) WRITE(numout,*) 'trc_rad : Correct artificial negative concentrations ' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r2715 r3067  
    7272      END IF 
    7373 
    74       IF( kt == nit000 ) THEN 
     74      IF( kt == nittrc000 ) THEN 
    7575         IF(lwp) WRITE(numout,*) 
    7676         IF(lwp) WRITE(numout,*) 'trc_sbc : Passive tracers surface boundary condition' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90

    r2715 r3067  
    3232      !                                ! defined from ln_zdf...  namlist logicals) 
    3333   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  r2dt   ! vertical profile time-step, = 2 rdttra 
    34       !                                                 ! except at nit000 (=rdttra) if neuler=0 
     34      !                                                 ! except at nittrc000 (=rdttra) if neuler=0 
    3535 
    3636   !! * Substitutions 
     
    6969      !!--------------------------------------------------------------------- 
    7070 
    71       IF( kt == nit000 )   CALL zdf_ctl          ! initialisation & control of options 
     71      IF( kt == nittrc000 )   CALL zdf_ctl          ! initialisation & control of options 
    7272 
    7373#if ! defined key_pisces 
    74       IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
     74      IF( neuler == 0 .AND. kt == nittrc000 ) THEN     ! at nittrc000 
    7575         r2dt(:) =  rdttrc(:)           ! = rdttrc (restarting with Euler time stepping) 
    76       ELSEIF( kt <= nit000 + nn_dttrc ) THEN          ! at nit000 or nit000+1 
     76      ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN          ! at nittrc000 or nittrc000+nn_dttrc 
    7777         r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
    7878      ENDIF 
     
    8888      SELECT CASE ( nzdf )                       ! compute lateral mixing trend and add it to the general trend 
    8989      CASE ( -1 )                                       ! esopa: test all possibility with control print 
    90          CALL tra_zdf_exp( kt, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra )  
     90         CALL tra_zdf_exp( kt,nittrc000, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra )  
    9191         WRITE(charout, FMT="('zdf1 ')") ;  CALL prt_ctl_trc_info(charout) 
    9292                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    93          CALL tra_zdf_imp( kt, 'TRC', r2dt,                trb, tra, jptra )  
     93         CALL tra_zdf_imp( kt,nittrc000, 'TRC', r2dt,                trb, tra, jptra )  
    9494         WRITE(charout, FMT="('zdf2 ')") ;  CALL prt_ctl_trc_info(charout) 
    9595                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    96       CASE ( 0 ) ;  CALL tra_zdf_exp( kt, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra )    !   explicit scheme  
    97       CASE ( 1 ) ;  CALL tra_zdf_imp( kt, 'TRC', r2dt,                trb, tra, jptra )    !   implicit scheme           
     96      CASE ( 0 ) ;  CALL tra_zdf_exp( kt,nittrc000, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra )    !   explicit scheme  
     97      CASE ( 1 ) ;  CALL tra_zdf_imp( kt,nittrc000, 'TRC', r2dt,                trb, tra, jptra )    !   implicit scheme           
    9898 
    9999      END SELECT 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90

    r2715 r3067  
    475475      ! II.1 Set before values of vertically averages passive tracers 
    476476      ! ------------------------------------------------------------- 
    477       IF( kt > nit000 ) THEN 
     477      IF( kt > nittrc000 ) THEN 
    478478         DO jn = 1, jptra 
    479479            IF( ln_trdtrc(jn) ) THEN 
     
    497497      ! II.3 Initialize mixed-layer "before" arrays for the 1rst analysis window     
    498498      ! ------------------------------------------------------------------------ 
    499       IF( kt == 2 ) THEN  !  i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1)    ??? 
     499      IF( kt == nittrc000 + nn_dttrc ) THEN  !  i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1)    ??? 
    500500         ! 
    501501         DO jn = 1, jptra 
     
    560560      tmltrd_trc(:,:,:,:) = tmltrd_trc(:,:,:,:) * rn_ucf_trc 
    561561 
    562       itmod = kt - nit000 + 1 
     562      itmod = kt - nittrc000 + 1 
    563563      it    = kt 
    564564 
     
    980980      ! II.3 Initialize mixed-layer "before" arrays for the 1rst analysis window 
    981981      ! ------------------------------------------------------------------------ 
    982       IF( kt == 2 ) THEN  !  i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1) 
     982      IF( kt == nittrc000 + nn_dttrc ) THEN  !  i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1) 
    983983         ! 
    984984         tmltrd_csum_ub_bio (:,:,:) = 0.e0 
     
    10861086 
    10871087      ! define time axis 
    1088       itmod = kt - nit000 + 1 
     1088      itmod = kt - nittrc000 + 1 
    10891089      it    = kt 
    10901090 
     
    13311331      zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    13321332      IF(lwp) WRITE(numout,*)' '   
    1333       IF(lwp) WRITE(numout,*)' Date 0 used :', nit000                  & 
     1333      IF(lwp) WRITE(numout,*)' Date 0 used :', nittrc000               & 
    13341334           &   ,' YEAR ', nyear, ' MONTH ', nmonth,' DAY ', nday       & 
    13351335           &   ,'Julian day : ', zjulian 
     
    13601360            CALL dia_nam( clhstnam, nn_trd_trc, csuff ) 
    13611361            CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,                                            & 
    1362                &        1, jpi, 1, jpj, nit000, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set ) 
     1362               &        1, jpi, 1, jpj, nittrc000, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set ) 
    13631363       
    13641364            !-- Define the ML depth variable 
     
    13731373          CALL dia_nam( clhstnam, nn_trd_trc, 'trdbio' ) 
    13741374          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,                                            & 
    1375              &             1, jpi, 1, jpj, nit000, zjulian, rdt, nh_tb, nidtrdbio, domain_id=nidom, snc4chunks=snc4set ) 
     1375             &             1, jpi, 1, jpj, nittrc000, zjulian, rdt, nh_tb, nidtrdbio, domain_id=nidom, snc4chunks=snc4set ) 
    13761376#endif 
    13771377 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trdmod_trc.F90

    r2528 r3067  
    5050      !!---------------------------------------------------------------------- 
    5151 
    52       IF( kt == nit000 ) THEN 
     52      IF( kt == nittrc000 ) THEN 
    5353!         IF(lwp)WRITE(numout,*) 
    5454!         IF(lwp)WRITE(numout,*) 'trd_mod_trc:' 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90

    r2787 r3067  
    108108   USE dom_oce , ONLY :   e3w_0      =>   e3w_0      !: reference depth of w-points (m) 
    109109   USE dom_oce , ONLY :   gdepw_0    =>   gdepw_0    !: reference depth of w-points (m) 
     110# if ! defined key_zco 
    110111   USE dom_oce , ONLY :   gdep3w     =>  gdep3w      !: ??? 
    111112   USE dom_oce , ONLY :   gdept      =>  gdept       !: depth of t-points (m) 
     
    118119   USE dom_oce , ONLY :   e3uw       =>  e3uw        !: uw-points (m) 
    119120   USE dom_oce , ONLY :   e3vw       =>  e3vw        !: vw-points (m) 
    120  
     121# endif 
    121122   USE dom_oce , ONLY :   ln_zps     =>  ln_zps      !: partial steps flag 
    122123   USE dom_oce , ONLY :   ln_sco     =>  ln_sco      !: s-coordinate flag 
     
    192193   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
    193194   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s) 
     195   USE oce , ONLY :   rotn    =>    rotn    !: relative vorticity    [s-1] 
     196   USE oce , ONLY :   hdivb   =>    hdivb   !: horizontal divergence (1/s) 
     197   USE oce , ONLY :   rotb    =>    rotb    !: relative vorticity    [s-1] 
     198   USE oce , ONLY :   sshn    =>    sshn    !: sea surface height at t-point [m]    
     199   USE oce , ONLY :   sshb    =>    sshb    !: sea surface height at t-point [m]    
     200   USE oce , ONLY :   ssha    =>    ssha    !: sea surface height at t-point [m]    
     201   USE oce , ONLY :   sshu_n  =>    sshu_n  !: sea surface height at u-point [m]    
     202   USE oce , ONLY :   sshu_b  =>    sshu_b  !: sea surface height at u-point [m]    
     203   USE oce , ONLY :   sshu_a  =>    sshu_a  !: sea surface height at u-point [m]    
     204   USE oce , ONLY :   sshv_n  =>    sshv_n  !: sea surface height at v-point [m]    
     205   USE oce , ONLY :   sshv_b  =>    sshv_b  !: sea surface height at v-point [m]    
     206   USE oce , ONLY :   sshv_a  =>    sshv_a  !: sea surface height at v-point [m]    
     207   USE oce , ONLY :   sshf_n  =>    sshf_n  !: sea surface height at v-point [m]    
     208   USE oce , ONLY :   l_traldf_rot   =>   l_traldf_rot !: rotated laplacian operator for lateral diffusion     
    194209   USE oce , ONLY :   l_traldf_rot => l_traldf_rot  !: rotated laplacian operator for lateral diffusion 
    195210#if defined key_offline 
     
    212227   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)   
    213228   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s] 
     229   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s] 
    214230   USE sbc_oce , ONLY :   emps       =>    emps       !: freshwater budget: concentration/dillution   [Kg/m2/s] 
    215231   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s] 
     
    222238   USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.)  
    223239   USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.) 
     240   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s] 
    224241 
    225242   USE trc_oce 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r2715 r3067  
    5858   CHARACTER(len=50), PUBLIC ::  cn_trcrst_in    !: suffix of pass. tracer restart name (input) 
    5959   CHARACTER(len=50), PUBLIC ::  cn_trcrst_out   !: suffix of pass. tracer restart name (output) 
     60 
     61   INTEGER          , PUBLIC ::  nittrc000       !: first time step of passive tracers model 
    6062    
    6163   !! information for outputs 
     
    9799# if defined key_dtatrc 
    98100   INTEGER , PUBLIC, DIMENSION(jptra) ::   numtr   !: logical unit for passive tracers data 
     101# endif 
     102 
     103   !! variables to average over physics over passive tracer sub-steps. 
     104   !! ---------------------------------------------------------------- 
     105   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  un_tm       !: i-horizontal velocity average     [m/s] 
     106   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  vn_tm       !: j-horizontal velocity average     [m/s] 
     107   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  tsn_tm      !: t/s average     [m/s] 
     108   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avt_tm      !: vertical diffusivity coeff. at  w-point   [m2/s] 
     109# if defined key_zdfddm 
     110   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avs_tm      !: vertical double diffusivity coeff. at w-point   [m/s] 
     111# endif 
     112#if defined key_ldfslp 
     113   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wslpi_tm    !: i-direction slope at u-, w-points 
     114   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wslpj_tm    !: j-direction slope at u-, w-points 
     115   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  uslp_tm     !: j-direction slope at u-, w-points 
     116   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  vslp_tm     !: j-direction slope at u-, w-points 
     117#endif 
     118#if defined key_trabbl 
     119   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahu_bbl_tm  !: u-, w-points 
     120   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahv_bbl_tm  !: j-direction slope at u-, w-points 
     121   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  utr_bbl_tm  !: j-direction slope at u-, w-points 
     122   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  vtr_bbl_tm  !: j-direction slope at u-, w-points 
     123#endif 
     124   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_tm     !: average ssh for the now step [m] 
     125   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_tm   !: average ssh for the now step [m] 
     126   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_tm   !: average ssh for the now step [m] 
     127   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshb_hold   !:hold sshb from the beginning of each sub-stepping[m]   
     128   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_b_hold !:hold sshb from the beginning of each sub-stepping[m]   
     129   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_b_hold !:hold sshb from the beginning of each sub-stepping[m]  
     130 
     131   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  rnf_tm     !: river runoff 
     132   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  h_rnf_tm   !: depth in metres to the bottom of the relevant grid box 
     133   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hmld_tm    !: mixed layer depth average [m] 
     134   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  fr_i_tm    !: average ice fraction     [m/s] 
     135   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_tm     !: freshwater budget: volume flux [Kg/m2/s] 
     136   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emps_tm    !: freshwater budget:concentration/dilution [Kg/m2/s] 
     137   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_b_hold !: hold emp from the beginning of each sub-stepping[m]   
     138   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  qsr_tm     !: solar radiation average [m] 
     139   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  wndm_tm    !: 10m wind average [m] 
     140   ! 
     141#if defined key_traldf_c3d 
     142   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 3D coefficients ** at T-,U-,V-,W-points 
     143#elif defined key_traldf_c2d 
     144   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 2D coefficients ** at T-,U-,V-,W-points 
     145#elif defined key_traldf_c1d 
     146   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 1D coefficients ** at T-,U-,V-,W-points 
     147#else 
     148   REAL(wp), PUBLIC                                        ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 0D coefficients ** at T-,U-,V-,W-points 
     149#endif 
     150   ! 
     151#if defined key_traldf_eiv 
     152#  if defined key_traldf_c3d 
     153   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  aeiu_tm , aeiv_tm , aeiw_tm   !: ** 3D coefficients ** 
     154#  elif defined key_traldf_c2d 
     155   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  aeiu_tm , aeiv_tm , aeiw_tm   !: ** 2D coefficients ** 
     156#  elif defined key_traldf_c1d 
     157   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  aeiu_tm , aeiv_tm, aeiw_tm   !: ** 1D coefficients ** 
     158#  else 
     159   REAL(wp), PUBLIC                                        ::  aeiu_tm , aeiv_tm , aeiw_tm   !: ** 0D coefficients ** 
     160#  endif 
     161#endif 
     162 
     163   ! Temporary physical arrays for sub_stepping 
     164   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  tsn_temp 
     165   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  un_temp,vn_temp,wn_temp     !: hold current values of avt, un, vn, wn 
     166   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avt_temp     !: hold current values of avt, un, vn, wn 
     167   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  e3t_temp,e3u_temp,e3v_temp,e3w_temp     !: hold current values 
     168   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_temp, sshb_temp, ssha_temp, rnf_temp,h_rnf_temp 
     169   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_temp, sshu_b_temp, sshu_a_temp 
     170   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshf_n_temp 
     171   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_temp, sshv_b_temp, sshv_a_temp 
     172   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hu_temp, hv_temp, hur_temp, hvr_temp 
     173   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  hdivn_temp, rotn_temp 
     174   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  hdivb_temp, rotb_temp 
     175   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hmld_temp, qsr_temp, fr_i_temp,wndm_temp 
     176   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_temp, emps_temp, emp_b_temp 
     177   ! 
     178#if defined key_trabbl 
     179   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahu_bbl_temp, ahv_bbl_temp, utr_bbl_temp, vtr_bbl_temp !: hold current values  
     180#endif 
     181   ! 
     182#if defined key_ldfslp 
     183   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wslpi_temp, wslpj_temp, uslp_temp, vslp_temp    !: hold current values  
     184#endif 
     185   !  
     186# if defined key_zdfddm 
     187   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avs_temp      !: salinity vertical diffusivity coeff. at w-point   [m/s] 
     188# endif 
     189   ! 
     190#if defined key_traldf_c3d 
     191   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp    
     192#elif defined key_traldf_c2d 
     193   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp   
     194#elif defined key_traldf_c1d 
     195   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp  
     196#else 
     197   REAL(wp), PUBLIC                                        ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp 
     198#endif 
     199   ! 
     200#if defined key_traldf_eiv 
     201# if defined key_traldf_c3d 
     202   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  aeiu_temp , aeiv_temp , aeiw_temp   !: ** 3D coefficients ** 
     203# elif defined key_traldf_c2d 
     204   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  aeiu_temp , aeiv_temp , aeiw_temp   !: ** 2D coefficients ** 
     205# elif defined key_traldf_c1d 
     206   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  aeiu_temp , aeiv_temp, aeiw_temp   !: ** 1D coefficients ** 
     207# else 
     208   REAL(wp), PUBLIC                                        ::  aeiu_temp , aeiv_temp , aeiw_temp   !: ** 0D coefficients ** 
     209# endif 
    99210# endif 
    100211 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcdia.F90

    r2715 r3067  
    8585      !! ** Purpose :   Standard output of passive tracer : concentration fields 
    8686      !! 
    87       !! ** Method  :   At the beginning of the first time step (nit000), define all 
     87      !! ** Method  :   At the beginning of the first time step (nittrc000), define all 
    8888      !!             the NETCDF files and fields for concentration of passive tracer 
    8989      !! 
     
    135135 
    136136      ! define time axis 
    137       itmod = kt - nit000 + 1 
     137      itmod = kt - nittrc000 + 1 
    138138      it    = kt 
    139139      iiter = ( nit000 - 1 ) / nn_dttrc 
     
    144144      IF(ll_print)WRITE(numout,*)'trcdit_wr kt=',kt,' kindic ',kindic 
    145145       
    146       IF( kt == nit000 ) THEN 
     146      IF( kt == nittrc000 ) THEN 
    147147 
    148148         ! Compute julian date from starting date of the run 
     
    150150         zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    151151         IF(lwp)WRITE(numout,*)' '   
    152          IF(lwp)WRITE(numout,*)' Date 0 used :', nit000                         & 
     152         IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000                         & 
    153153            &                 ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday   & 
    154154            &                 ,'Julian day : ', zjulian   
     
    226226      !! ** Purpose :   output of passive tracer : additional 2D and 3D arrays 
    227227      !! 
    228       !! ** Method  :   At the beginning of the first time step (nit000), define all 
     228      !! ** Method  :   At the beginning of the first time step (nittrc000), define all 
    229229      !!             the NETCDF files and fields for concentration of passive tracer 
    230230      !! 
     
    275275 
    276276      ! define time axis 
    277       itmod = kt - nit000 + 1 
     277      itmod = kt - nittrc000 + 1 
    278278      it    = kt 
    279279      iiter = ( nit000 - 1 ) / nn_dttrc 
     
    284284      IF( ll_print ) WRITE(numout,*) 'trcdii_wr kt=', kt, ' kindic ', kindic 
    285285 
    286       IF( kt == nit000 ) THEN 
     286      IF( kt == nittrc000 ) THEN 
    287287 
    288288         ! Define the NETCDF files for additional arrays : 2D or 3D 
     
    375375      !! ** Purpose :   output of passive tracer : biological fields 
    376376      !! 
    377       !! ** Method  :   At the beginning of the first time step (nit000), define all 
     377      !! ** Method  :   At the beginning of the first time step (nittrc000), define all 
    378378      !!             the NETCDF files and fields for concentration of passive tracer 
    379379      !! 
     
    424424 
    425425      ! define time axis 
    426       itmod = kt - nit000 + 1 
     426      itmod = kt - nittrc000 + 1 
    427427      it    = kt 
    428428      iiter = ( nit000 - 1 ) / nn_dttrc 
     
    433433      IF(ll_print) WRITE(numout,*)'trcdib_wr kt=',kt,' kindic ',kindic 
    434434 
    435       IF( kt == nit000 ) THEN 
     435      IF( kt == nittrc000 ) THEN 
    436436 
    437437         ! Define the NETCDF files for biological trends 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcdta.F90

    r2715 r3067  
    7171         IF( lutini(jn) ) THEN  
    7272 
    73             IF ( kt == nit000 ) THEN 
     73            IF ( kt == nittrc000 ) THEN 
    7474               !! 3D tracer data 
    7575               IF(lwp)WRITE(numout,*) 
     
    8686 
    8787 
    88             ! First call kt=nit000 
     88            ! First call kt=nittrc000 
    8989            ! -------------------- 
    9090 
    91             IF ( kt == nit000 .AND. nlectr(jn) == 0 ) THEN 
     91            IF ( kt == nittrc000 .AND. nlectr(jn) == 0 ) THEN 
    9292               ntrc1(jn) = 0 
    9393               IF(lwp) WRITE(numout,*) ' trc_dta : Levitus tracer data monthly fields' 
     
    104104# if defined key_pisces 
    105105            ! Read montly file 
    106             IF( ( kt == nit000 .AND. nlectr(jn) == 0)  .OR. imois /= ntrc1(jn) ) THEN 
     106            IF( ( kt == nittrc000 .AND. nlectr(jn) == 0)  .OR. imois /= ntrc1(jn) ) THEN 
    107107               nlectr(jn) = 1 
    108108 
     
    186186# else 
    187187            ! Read init file only 
    188             IF( kt == nit000  ) THEN 
     188            IF( kt == nittrc000  ) THEN 
    189189               ntrc1(jn) = 1 
    190190               CALL iom_get ( numtr(jn), jpdom_data, ctrcnm(jn), trdta(:,:,:,jn), ntrc1(jn) ) 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r2715 r3067  
    2929   USE zpshde          ! partial step: hor. derivative   (zps_hde routine) 
    3030   USE prtctl_trc      ! Print control passive tracers (prt_ctl_trc_init routine) 
     31   USE trcsub       ! variables to substep passive tracers 
    3132    
    3233   IMPLICIT NONE 
     
    122123      IF( ln_rsttr ) THEN 
    123124        ! 
    124         IF( lk_offline )  neuler = 1   ! Set time-step indicator at nit000 (leap-frog) 
     125        IF( lk_offline )  neuler = 1   ! Set time-step indicator at nittrc000 (leap-frog) 
    125126        CALL trc_rst_read              ! restart from a file 
    126127        ! 
    127128      ELSE 
    128129        IF( lk_offline )  THEN 
    129            neuler = 0                  ! Set time-step indicator at nit000 (euler) 
     130           neuler = 0                  ! Set time-step indicator at nittrc000 (euler) 
    130131           CALL day_init               ! set calendar 
    131132        ENDIF 
    132133#if defined key_dtatrc 
    133         CALL trc_dta( nit000 )      ! Initialization of tracer from a file that may also be used for damping 
     134        CALL trc_dta( nittrc000 )      ! Initialization of tracer from a file that may also be used for damping 
    134135        DO jn = 1, jptra 
    135136           IF( lutini(jn) )   trn(:,:,:,jn) = trdta(:,:,:,jn) * tmask(:,:,:)   ! initialisation from file if required 
     
    143144       
    144145      IF( ln_zps .AND. .NOT. lk_c1d )   &              ! Partial steps: before horizontal gradient of passive 
    145         &    CALL zps_hde( nit000, jptra, trn, gtru, gtrv )       ! tracers at the bottom ocean level 
    146  
    147  
     146        &    CALL zps_hde( nittrc000, jptra, trn, gtru, gtrv )       ! tracers at the bottom ocean level 
     147      ! 
     148      IF( nn_dttrc /= 1 )        CALL trc_sub_ini      ! Initialize variables for substepping passive tracers 
    148149      !            
    149150      trai = 0._wp         ! Computation content of all tracers 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcnam.F90

    r2715 r3067  
    109109      END DO 
    110110 
     111      !!KPE  computes the first time step of tracer model 
     112      nittrc000 = nit000 + nn_dttrc - 1 
     113  
    111114 
    112115      IF(lwp) THEN                   ! control print 
     
    114117         WRITE(numout,*) ' Namelist : namtrc' 
    115118         WRITE(numout,*) '    time step freq. for pass. trac. nn_dttrc             = ', nn_dttrc 
     119         WRITE(numout,*) '    first time step for pass. trac. nittrc000            = ', nittrc000 
    116120         WRITE(numout,*) '    frequency of outputs for passive tracers nn_writetrc = ', nn_writetrc   
    117121         WRITE(numout,*) '    restart LOGICAL for passive tr. ln_rsttr             = ', ln_rsttr 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r2715 r3067  
    6060      ! 
    6161      IF( lk_offline ) THEN 
    62          IF( kt == nit000 ) THEN 
     62         IF( kt == nittrc000 ) THEN 
    6363            lrst_trc = .FALSE. 
    6464            nitrst = nitend 
     
    7171         ENDIF 
    7272      ELSE 
    73          IF( kt == nit000 ) lrst_trc = .FALSE. 
     73         IF( kt == nittrc000 ) lrst_trc = .FALSE. 
    7474      ENDIF 
    7575 
     
    7777      ! we open and define the tracer restart file one tracer time step before writing the data (-> at nitrst - 2*nn_dttrc + 1) 
    7878      ! except if we write tracer restart files every tracer time step or if a tracer restart file was writen at nitend - 2*nn_dttrc + 1 
    79       IF( kt == nitrst - 2*nn_dttrc + 1 .OR. nstock == nn_dttrc .OR. ( kt == nitend - nn_dttrc + 1 .AND. .NOT. lrst_trc ) ) THEN 
     79      IF( kt == nitrst - 2*nn_dttrc .OR. nstock == nn_dttrc .OR. ( kt == nitend - nn_dttrc .AND. .NOT. lrst_trc ) ) THEN 
    8080         ! beware of the format used to write kt (default is i8.8, that should be large enough) 
    8181         IF( nitrst > 1.0e9 ) THEN   ;   WRITE(clkt,*       ) nitrst 
     
    119119      ! Time domain : restart 
    120120      ! --------------------- 
    121       CALL trc_rst_cal( nit000, 'READ' )   ! calendar 
     121      CALL trc_rst_cal( nittrc000, 'READ' )   ! calendar 
    122122 
    123123      ! READ prognostic variables and computes diagnostic variable 
     
    151151      REAL(wp) :: zarak0 
    152152      !!---------------------------------------------------------------------- 
    153  
    154153 
    155154      CALL trc_rst_cal( kt, 'WRITE' )   ! calendar 
     
    196195      !! 
    197196      !!   According to namelist parameter nrstdt, 
    198       !!       nn_rsttr = 0  no control on the date (nit000 is  arbitrary). 
    199       !!       nn_rsttr = 1  we verify that nit000 is equal to the last 
     197      !!       nn_rsttr = 0  no control on the date (nittrc000 is  arbitrary). 
     198      !!       nn_rsttr = 1  we verify that nittrc000 is equal to the last 
    200199      !!                   time step of previous run + 1. 
    201200      !!       In both those options, the  exact duration of the experiment 
     
    223222            WRITE(numout,*) ' *** restart option' 
    224223            SELECT CASE ( nn_rsttr ) 
    225             CASE ( 0 )   ;   WRITE(numout,*) ' nn_rsttr = 0 : no control of nit000' 
    226             CASE ( 1 )   ;   WRITE(numout,*) ' nn_rsttr = 1 : no control the date at nit000 (use ndate0 read in the namelist)' 
     224            CASE ( 0 )   ;   WRITE(numout,*) ' nn_rsttr = 0 : no control of nittrc000' 
     225            CASE ( 1 )   ;   WRITE(numout,*) ' nn_rsttr = 1 : no control the date at nittrc000 (use ndate0 read in the namelist)' 
    227226            CASE ( 2 )   ;   WRITE(numout,*) ' nn_rsttr = 2 : calendar parameters read in restart' 
    228227            END SELECT 
     
    230229         ENDIF 
    231230         ! Control of date  
    232          IF( nit000  - NINT( zkt ) /= 1 .AND.  nn_rsttr /= 0 )                                  & 
    233             &   CALL ctl_stop( ' ===>>>> : problem with nit000 for the restart',                 & 
     231         IF( nittrc000  - NINT( zkt ) /= nn_dttrc .AND.  nn_rsttr /= 0 )                                  & 
     232            &   CALL ctl_stop( ' ===>>>> : problem with nittrc000 for the restart',                 & 
    234233            &                  ' verify the restart file or rerun with nn_rsttr = 0 (namelist)' ) 
    235234         IF( lk_offline ) THEN      ! set the date in offline mode 
     
    246245            ELSE 
    247246               ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam 
    248                adatrj = ( REAL( nit000-1, wp ) * rdttra(1) ) / rday 
     247               adatrj = ( REAL( nittrc000-1, wp ) * rdttra(1) ) / rday 
    249248               ! note this is wrong if time step has changed during run 
    250249            ENDIF 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcstp.F90

    r2528 r3067  
    2222   USE iom 
    2323   USE in_out_manager 
     24   USE trcsub 
    2425 
    2526   IMPLICIT NONE 
     
    2728 
    2829   PUBLIC   trc_stp    ! called by step 
     30#  include "domzgr_substitute.h90" 
    2931    
    3032   !!---------------------------------------------------------------------- 
     
    4951      !!------------------------------------------------------------------- 
    5052 
    51       IF( MOD( kt - 1 , nn_dttrc ) == 0 ) THEN      ! only every nn_dttrc time step 
     53     IF( nn_dttrc /= 1 )   CALL trc_sub_stp( kt )  ! averaging physical variables for sub-stepping 
     54 
     55     IF( MOD( kt , nn_dttrc ) == 0 ) THEN      ! only every nn_dttrc time step 
    5256         ! 
    5357         IF(ln_ctl) THEN 
     
    5862         tra(:,:,:,:) = 0.e0 
    5963         ! 
    60          IF( kt == nit000 .AND. lk_trdmld_trc  )  & 
     64         IF( kt == nittrc000 .AND. lk_trdmld_trc  )  & 
    6165            &                      CALL trd_mld_trc_init        ! trends: Mixed-layer 
    6266                                   CALL trc_rst_opn( kt )       ! Open tracer restart file  
     
    6670                                   CALL trc_sms( kt )           ! tracers: sink and source 
    6771                                   CALL trc_trp( kt )           ! transport of passive tracers 
    68          IF( kt == nit000 )     CALL iom_close( numrtr )     ! close input  passive tracers restart file 
    69          IF( lrst_trc )            CALL trc_rst_wri( kt )       ! write tracer restart file 
    70          IF( lk_trdmld_trc  )      CALL trd_mld_trc( kt )       ! trends: Mixed-layer 
     72         IF( kt == nittrc000 )     CALL iom_close( numrtr )     ! close input  passive tracers restart file 
     73         IF( lrst_trc        )     CALL trc_rst_wri( kt )       ! write tracer restart file 
     74         IF( lk_trdmld_trc   )     CALL trd_mld_trc( kt )       ! trends: Mixed-layer 
     75         ! 
     76         IF( nn_dttrc /= 1   )     CALL trc_sub_reset( kt )  ! resetting physical variables when sub-stepping 
    7177         ! 
    7278      ENDIF 
  • branches/2011/dev_UKM0_2011/NEMOGCM/NEMO/TOP_SRC/trcwri.F90

    r2567 r3067  
    5757      !!--------------------------------------------------------------------- 
    5858  
    59       IF( lk_offline .AND. kt == nit000 .AND. lwp ) THEN    ! WRITE root name in date.file for use by postpro 
     59      IF( lk_offline .AND. kt == nittrc000 .AND. lwp ) THEN    ! WRITE root name in date.file for use by postpro 
    6060         CALL dia_nam( clhstnam, nn_writetrc,' ' ) 
    6161         CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
Note: See TracChangeset for help on using the changeset viewer.