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 14086 for NEMO/trunk/src/OCE – NEMO

Changeset 14086 for NEMO/trunk/src/OCE


Ignore:
Timestamp:
2020-12-04T12:37:14+01:00 (3 years ago)
Author:
cetlod
Message:

Adding AGRIF branches into the trunk

Location:
NEMO/trunk/src/OCE
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DIA/diawri.F90

    r14053 r14086  
    141141      CALL iom_put("e3f_0", e3f_0(:,:,:) ) 
    142142      ! 
     143      IF ( iom_use("tpt_dep") ) THEN 
     144         DO jk = 1, jpk 
     145            z3d(:,:,jk) = gdept(:,:,jk,Kmm) 
     146         END DO 
     147         CALL iom_put( "tpt_dep",     z3d(:,:,:) ) 
     148      ENDIF 
     149 
    143150      IF ( iom_use("e3t") .OR. iom_use("e3tdef") ) THEN  ! time-varying e3t 
    144151         DO jk = 1, jpk 
  • NEMO/trunk/src/OCE/DOM/domvvl.F90

    r14072 r14086  
    22   !!====================================================================== 
    33   !!                       ***  MODULE domvvl   *** 
    4    !! Ocean : 
     4   !! Ocean :  
    55   !!====================================================================== 
    66   !! History :  2.0  !  2006-06  (B. Levier, L. Marie)  original code 
     
    2626   USE timing          ! Timing 
    2727 
     28#if defined key_agrif 
     29   USE agrif_oce       ! initial state interpolation 
     30   USE agrif_oce_interp  
     31#endif 
     32 
    2833   IMPLICIT NONE 
    2934   PRIVATE 
     
    5863   !!   Default key      Old management of time varying vertical coordinate 
    5964   !!---------------------------------------------------------------------- 
    60  
     65    
    6166   !!---------------------------------------------------------------------- 
    6267   !!   dom_vvl_init     : define initial vertical scale factors, depths and column thickness 
     
    7378   PUBLIC  dom_vvl_sf_update  ! called by step.F90 
    7479   PUBLIC  dom_vvl_interpol   ! called by dynnxt.F90 
    75  
     80    
    7681   !! * Substitutions 
    7782#  include "do_loop_substitute.h90" 
     
    109114      !!---------------------------------------------------------------------- 
    110115      !!                ***  ROUTINE dom_vvl_init  *** 
    111       !! 
     116      !!                    
    112117      !! ** Purpose :  Initialization of all scale factors, depths 
    113118      !!               and water column heights 
     
    118123      !! ** Action  : - e3t_(n/b) and tilde_e3t_(n/b) 
    119124      !!              - Regrid: e3[u/v](:,:,:,Kmm) 
    120       !!                        e3[u/v](:,:,:,Kmm) 
    121       !!                        e3w(:,:,:,Kmm) 
     125      !!                        e3[u/v](:,:,:,Kmm)        
     126      !!                        e3w(:,:,:,Kmm)            
    122127      !!                        e3[u/v]w_b 
    123       !!                        e3[u/v]w_n 
     128      !!                        e3[u/v]w_n       
    124129      !!                        gdept(:,:,:,Kmm), gdepw(:,:,:,Kmm) and gde3w 
    125130      !!              - h(t/u/v)_0 
     
    151156      !!---------------------------------------------------------------------- 
    152157      !!                ***  ROUTINE dom_vvl_init  *** 
    153       !! 
    154       !! ** Purpose :  Interpolation of all scale factors, 
     158      !!                    
     159      !! ** Purpose :  Interpolation of all scale factors,  
    155160      !!               depths and water column heights 
    156161      !! 
     
    159164      !! ** Action  : - e3t_(n/b) and tilde_e3t_(n/b) 
    160165      !!              - Regrid: e3(u/v)_n 
    161       !!                        e3(u/v)_b 
    162       !!                        e3w_n 
    163       !!                        e3(u/v)w_b 
    164       !!                        e3(u/v)w_n 
     166      !!                        e3(u/v)_b        
     167      !!                        e3w_n            
     168      !!                        e3(u/v)w_b       
     169      !!                        e3(u/v)w_n       
    165170      !!                        gdept_n, gdepw_n and gde3w_n 
    166171      !!              - h(t/u/v)_0 
     
    180185      CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3u(:,:,:,Kbb), 'U' )    ! from T to U 
    181186      CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3u(:,:,:,Kmm), 'U' ) 
    182       CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3v(:,:,:,Kbb), 'V' )    ! from T to V 
     187      CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3v(:,:,:,Kbb), 'V' )    ! from T to V  
    183188      CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3v(:,:,:,Kmm), 'V' ) 
    184189      CALL dom_vvl_interpol( e3u(:,:,:,Kmm), e3f(:,:,:), 'F' )    ! from U to F 
    185       !                                ! Vertical interpolation of e3t,u,v 
     190      !                                ! Vertical interpolation of e3t,u,v  
    186191      CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3w (:,:,:,Kmm), 'W'  )  ! from T to W 
    187192      CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3w (:,:,:,Kbb), 'W'  ) 
     
    205210         !    zcoef = tmask - wmask    ! 0 everywhere tmask = wmask, ie everywhere expect at jk = mikt 
    206211         !                             ! 1 everywhere from mbkt to mikt + 1 or 1 (if no isf) 
    207          !                             ! 0.5 where jk = mikt 
     212         !                             ! 0.5 where jk = mikt      
    208213!!gm ???????   BUG ?  gdept(:,:,:,Kmm) as well as gde3w  does not include the thickness of ISF ?? 
    209214         zcoef = ( tmask(ji,jj,jk) - wmask(ji,jj,jk) ) 
    210215         gdepw(ji,jj,jk,Kmm) = gdepw(ji,jj,jk-1,Kmm) + e3t(ji,jj,jk-1,Kmm) 
    211216         gdept(ji,jj,jk,Kmm) =      zcoef  * ( gdepw(ji,jj,jk  ,Kmm) + 0.5 * e3w(ji,jj,jk,Kmm))  & 
    212             &                + (1-zcoef) * ( gdept(ji,jj,jk-1,Kmm) +       e3w(ji,jj,jk,Kmm)) 
     217            &                + (1-zcoef) * ( gdept(ji,jj,jk-1,Kmm) +       e3w(ji,jj,jk,Kmm))  
    213218         gde3w(ji,jj,jk) = gdept(ji,jj,jk,Kmm) - ssh(ji,jj,Kmm) 
    214219         gdepw(ji,jj,jk,Kbb) = gdepw(ji,jj,jk-1,Kbb) + e3t(ji,jj,jk-1,Kbb) 
    215220         gdept(ji,jj,jk,Kbb) =      zcoef  * ( gdepw(ji,jj,jk  ,Kbb) + 0.5 * e3w(ji,jj,jk,Kbb))  & 
    216             &                + (1-zcoef) * ( gdept(ji,jj,jk-1,Kbb) +       e3w(ji,jj,jk,Kbb)) 
     221            &                + (1-zcoef) * ( gdept(ji,jj,jk-1,Kbb) +       e3w(ji,jj,jk,Kbb))  
    217222      END_3D 
    218223      ! 
     
    273278            IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 
    274279               IF( nn_cfg == 3 ) THEN   ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 
    275                   ii0 = 103 + nn_hls - 1   ;   ii1 = 111 + nn_hls - 1 
     280                  ii0 = 103 + nn_hls - 1   ;   ii1 = 111 + nn_hls - 1       
    276281                  ij0 = 128 + nn_hls       ;   ij1 = 135 + nn_hls 
    277282                  frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp 
     
    285290 
    286291 
    287    SUBROUTINE dom_vvl_sf_nxt( kt, Kbb, Kmm, Kaa, kcall ) 
     292   SUBROUTINE dom_vvl_sf_nxt( kt, Kbb, Kmm, Kaa, kcall )  
    288293      !!---------------------------------------------------------------------- 
    289294      !!                ***  ROUTINE dom_vvl_sf_nxt  *** 
    290       !! 
     295      !!                    
    291296      !! ** Purpose :  - compute the after scale factors used in tra_zdf, dynnxt, 
    292297      !!                 tranxt and dynspg routines 
    293298      !! 
    294299      !! ** Method  :  - z_star case:  Repartition of ssh INCREMENT proportionnaly to the level thickness. 
    295       !!               - z_tilde_case: after scale factor increment = 
     300      !!               - z_tilde_case: after scale factor increment =  
    296301      !!                                    high frequency part of horizontal divergence 
    297302      !!                                  + retsoring towards the background grid 
     
    301306      !! 
    302307      !! ** Action  :  - hdiv_lf    : restoring towards full baroclinic divergence in z_tilde case 
    303       !!               - tilde_e3t_a: after increment of vertical scale factor 
     308      !!               - tilde_e3t_a: after increment of vertical scale factor  
    304309      !!                              in z_tilde case 
    305310      !!               - e3(t/u/v)_a 
     
    405410            un_td(ji,jj,jk) = rn_ahe3 * umask(ji,jj,jk) * e2_e1u(ji,jj)           & 
    406411               &            * ( tilde_e3t_b(ji,jj,jk) - tilde_e3t_b(ji+1,jj  ,jk) ) 
    407             vn_td(ji,jj,jk) = rn_ahe3 * vmask(ji,jj,jk) * e1_e2v(ji,jj)           & 
     412            vn_td(ji,jj,jk) = rn_ahe3 * vmask(ji,jj,jk) * e1_e2v(ji,jj)           &  
    408413               &            * ( tilde_e3t_b(ji,jj,jk) - tilde_e3t_b(ji  ,jj+1,jk) ) 
    409414            zwu(ji,jj) = zwu(ji,jj) + un_td(ji,jj,jk) 
     
    450455               WRITE(numout, *) 'at i, j, k=', ijk_max 
    451456               WRITE(numout, *) 'MIN( tilde_e3t_a(:,:,:) / e3t_0(:,:,:) ) =', z_tmin 
    452                WRITE(numout, *) 'at i, j, k=', ijk_min 
     457               WRITE(numout, *) 'at i, j, k=', ijk_min             
    453458               CALL ctl_stop( 'STOP', 'MAX( ABS( tilde_e3t_a(:,:,: ) ) / e3t_0(:,:,:) ) too high') 
    454459            ENDIF 
     
    566571      !!---------------------------------------------------------------------- 
    567572      !!                ***  ROUTINE dom_vvl_sf_update  *** 
    568       !! 
    569       !! ** Purpose :  for z tilde case: compute time filter and swap of scale factors 
     573      !!                    
     574      !! ** Purpose :  for z tilde case: compute time filter and swap of scale factors  
    570575      !!               compute all depths and related variables for next time step 
    571576      !!               write outputs and restart file 
     
    577582      !! ** Action  :  - tilde_e3t_(b/n) ready for next time step 
    578583      !!               - Recompute: 
    579       !!                    e3(u/v)_b 
    580       !!                    e3w(:,:,:,Kmm) 
    581       !!                    e3(u/v)w_b 
    582       !!                    e3(u/v)w_n 
     584      !!                    e3(u/v)_b        
     585      !!                    e3w(:,:,:,Kmm)            
     586      !!                    e3(u/v)w_b       
     587      !!                    e3(u/v)w_n       
    583588      !!                    gdept(:,:,:,Kmm), gdepw(:,:,:,Kmm)  and gde3w 
    584589      !!                    h(u/v) and h(u/v)r 
     
    611616            tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) 
    612617         ELSE 
    613             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) & 
     618            tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) &  
    614619            &         + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) ) 
    615620         ENDIF 
     
    623628      ! - ML - e3u(:,:,:,Kbb) and e3v(:,:,:,Kbb) are already computed in dynnxt 
    624629      ! - JC - hu(:,:,:,Kbb), hv(:,:,:,:,Kbb), hur_b, hvr_b also 
    625  
     630       
    626631      CALL dom_vvl_interpol( e3u(:,:,:,Kmm), e3f(:,:,:), 'F'  ) 
    627  
     632       
    628633      ! Vertical scale factor interpolations 
    629634      CALL dom_vvl_interpol( e3t(:,:,:,Kmm),  e3w(:,:,:,Kmm), 'W'  ) 
     
    644649         gdepw(ji,jj,jk,Kmm) = gdepw(ji,jj,jk-1,Kmm) + e3t(ji,jj,jk-1,Kmm) 
    645650         gdept(ji,jj,jk,Kmm) =    zcoef  * ( gdepw(ji,jj,jk  ,Kmm) + 0.5 * e3w(ji,jj,jk,Kmm) )  & 
    646              &             + (1-zcoef) * ( gdept(ji,jj,jk-1,Kmm) +       e3w(ji,jj,jk,Kmm) ) 
     651             &             + (1-zcoef) * ( gdept(ji,jj,jk-1,Kmm) +       e3w(ji,jj,jk,Kmm) )  
    647652         gde3w(ji,jj,jk) = gdept(ji,jj,jk,Kmm) - ssh(ji,jj,Kmm) 
    648653      END_3D 
     
    763768      !!--------------------------------------------------------------------- 
    764769      !!                   ***  ROUTINE dom_vvl_rst  *** 
    765       !! 
     770      !!                      
    766771      !! ** Purpose :   Read or write VVL file in restart file 
    767772      !! 
     
    795800         IF( ln_rstart ) THEN                   !==  Read the restart file  ==! 
    796801            ! 
     802#if defined key_agrif 
     803            IF ( (.NOT.Agrif_root()).AND.(ln_init_chfrpar) ) THEN 
     804               ! skip reading restart if initialized from parent: 
     805               id3 = -1 ; id4 = -1 ; id5 = -1 
     806            ELSE 
     807#endif 
    797808            CALL rst_read_open                                          !*  open the restart file if necessary 
    798809            !                                         ! --------- ! 
     
    804815            id5 = iom_varid( numror, 'hdiv_lf'    , ldstop = .FALSE. ) 
    805816            ! 
     817#if defined key_agrif 
     818            ENDIF 
     819#endif 
    806820            !                                                           !*  scale factors 
    807821            IF(lwp) WRITE(numout,*)    '          Kmm scale factor read in the restart file' 
    808822            CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm) ) 
    809             WHERE ( tmask(:,:,:) == 0.0_wp ) 
     823            WHERE ( tmask(:,:,:) == 0.0_wp )  
    810824               e3t(:,:,:,Kmm) = e3t_0(:,:,:) 
    811825            END WHERE 
     
    816830               IF(lwp) WRITE(numout,*) '          Kbb scale factor read in the restart file' 
    817831               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb) ) 
    818                WHERE ( tmask(:,:,:) == 0.0_wp ) 
     832               WHERE ( tmask(:,:,:) == 0.0_wp )  
    819833                  e3t(:,:,:,Kbb) = e3t_0(:,:,:) 
    820834               END WHERE 
     
    840854                     CALL iom_get( numror, jpdom_auto, 'tilde_e3t_b', tilde_e3t_b(:,:,:) ) 
    841855                  ENDIF 
    842                ELSE 
    843                   tilde_e3t_b(:,:,:) = 0.0_wp 
    844                   tilde_e3t_n(:,:,:) = 0.0_wp 
     856               ELSE  
     857                 tilde_e3t_b(:,:,:) = 0.0_wp 
     858                 tilde_e3t_n(:,:,:) = 0.0_wp 
    845859               ENDIF 
    846860               !                                      ! ------------ ! 
     
    850864                     CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:) ) 
    851865                  ELSE                ! array is missing 
    852                      hdiv_lf(:,:,:) = 0.0_wp 
     866                     hdiv_lf(:,:,:) = 0.0_wp  
    853867                  ENDIF 
    854868               ENDIF 
     
    871885      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN       !  Create restart file  ! 
    872886         !                                       !=======================! 
     887#if defined key_agrif 
     888         IF ( .NOT.Agrif_root().AND.(ln_init_chfrpar) ) THEN 
     889            ! Interpolate initial ssh from parent: 
     890            CALL Agrif_istate_ssh( Kbb, Kmm ) 
     891            ! 
     892            DO jk = 1, jpk 
     893               e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm)  ) & 
     894                 &                              / ( ht_0(:,:) + 1._wp - ssmask(:,:) ) * tmask(:,:,jk)   & 
     895                 &              + e3t_0(:,:,jk) * ( 1._wp - tmask(:,:,jk) ) 
     896            END DO 
     897            e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
     898         ENDIF 
     899#endif 
    873900         ! 
    874901         IF(lwp) WRITE(numout,*) '---- dom_vvl_rst ----' 
     
    884911            CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:)) 
    885912         END IF 
    886          !                                           ! -------------! 
     913         !                                           ! -------------!     
    887914         IF( ln_vvl_ztilde ) THEN                    ! z_tilde case ! 
    888915            !                                        ! ------------ ! 
     
    898925      !!--------------------------------------------------------------------- 
    899926      !!                  ***  ROUTINE dom_vvl_ctl  *** 
    900       !! 
     927      !!                 
    901928      !! ** Purpose :   Control the consistency between namelist options 
    902929      !!                for vertical coordinate 
     
    907934         &              ln_vvl_zstar_at_eqtor      , rn_ahe3     , rn_rst_e3t            , & 
    908935         &              rn_lf_cutoff               , rn_zdef_max , ln_vvl_dbg                ! not yet implemented: ln_vvl_kepe 
    909       !!---------------------------------------------------------------------- 
     936      !!----------------------------------------------------------------------  
    910937      ! 
    911938      READ  ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 
  • NEMO/trunk/src/OCE/DOM/istate.F90

    r14053 r14086  
    3434   USE lib_mpp         ! MPP library 
    3535   USE restart         ! restart 
     36 
    3637#if defined key_agrif 
     38   USE agrif_oce       ! initial state interpolation 
    3739   USE agrif_oce_interp 
    38    USE agrif_oce 
    3940#endif    
    4041 
     
    9394         ln_1st_euler = .true.                ! Set time-step indicator at nit000 (euler forward) 
    9495         CALL day_init  
    95          CALL agrif_istate( Kbb, Kmm, Kaa )   ! Interp from parent 
     96         CALL agrif_istate_oce( Kbb, Kmm, Kaa )   ! Interp from parent 
    9697         ! 
    9798         ts (:,:,:,:,Kmm) = ts (:,:,:,:,Kbb) 
     
    104105      ELSE 
    105106#endif 
    106       IF( ln_rstart ) THEN                    ! Restart from a file 
    107          !                                    ! ------------------- 
    108          CALL rst_read( Kbb, Kmm )            ! Read the restart file 
    109          CALL day_init                        ! model calendar (using both namelist and restart infos) 
    110          ! 
    111       ELSE                                    ! Start from rest 
    112          !                                    ! --------------- 
    113          numror = 0                           ! define numror = 0 -> no restart file to read 
    114          l_1st_euler = .true.                 ! Set time-step indicator at nit000 (euler forward) 
    115          CALL day_init                        ! model calendar (using both namelist and restart infos) 
    116          !                                    ! Initialization of ocean to zero 
    117          ! 
    118          IF( ln_tsd_init ) THEN                
    119             CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) )       ! read 3D T and S data at nit000 
     107         IF( ln_rstart ) THEN                    ! Restart from a file 
     108            !                                    ! ------------------- 
     109            CALL rst_read( Kbb, Kmm )            ! Read the restart file 
     110            CALL day_init                        ! model calendar (using both namelist and restart infos) 
    120111            ! 
    121             uu (:,:,:,Kbb) = 0._wp 
    122             vv (:,:,:,Kbb) = 0._wp   
    123             ! 
    124          ELSE                                 ! user defined initial T and S 
    125             DO jk = 1, jpk 
    126                zgdept(:,:,jk) = gdept(:,:,jk,Kbb) 
    127             END DO 
    128             CALL usr_def_istate( zgdept, tmask, ts(:,:,:,:,Kbb), uu(:,:,:,Kbb), vv(:,:,:,Kbb) ) 
    129          ENDIF 
    130          ts (:,:,:,:,Kmm) = ts (:,:,:,:,Kbb)       ! set now values from to before ones 
    131          uu (:,:,:  ,Kmm) = uu (:,:,:  ,Kbb) 
    132          vv (:,:,:  ,Kmm) = vv (:,:,:  ,Kbb) 
     112         ELSE                                    ! Start from rest 
     113            !                                    ! --------------- 
     114            numror = 0                           ! define numror = 0 -> no restart file to read 
     115            l_1st_euler = .true.                 ! Set time-step indicator at nit000 (euler forward) 
     116            CALL day_init                        ! model calendar (using both namelist and restart infos) 
     117            !                                    ! Initialization of ocean to zero 
     118            IF( ln_tsd_init ) THEN                
     119               CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) )       ! read 3D T and S data at nit000 
     120               ! 
     121               ssh(:,:,Kbb)   = 0._wp               ! set the ocean at rest 
     122               uu  (:,:,:,Kbb) = 0._wp 
     123               vv  (:,:,:,Kbb) = 0._wp   
     124               ! 
     125               IF( ll_wd ) THEN 
     126                  ssh(:,:,Kbb) =  -ssh_ref  ! Added in 30 here for bathy that adds 30 as Iterative test CEOD  
     127                  ! 
     128                  ! Apply minimum wetdepth criterion 
     129                  ! 
     130                  DO_2D( 1, 1, 1, 1 ) 
     131                     IF( ht_0(ji,jj) + ssh(ji,jj,Kbb)  < rn_wdmin1 ) THEN 
     132                        ssh(ji,jj,Kbb) = tmask(ji,jj,1)*( rn_wdmin1 - (ht_0(ji,jj)) ) 
     133                     ENDIF 
     134                  END_2D 
     135               ENDIF  
     136               ! 
     137            ELSE                                 ! user defined initial T and S 
     138               DO jk = 1, jpk 
     139                  zgdept(:,:,jk) = gdept(:,:,jk,Kbb) 
     140               END DO 
     141               CALL usr_def_istate( zgdept, tmask, ts(:,:,:,:,Kbb), uu(:,:,:,Kbb), vv(:,:,:,Kbb) )          
     142            ENDIF 
     143            ts  (:,:,:,:,Kmm) = ts (:,:,:,:,Kbb)       ! set now values from to before ones 
     144            ssh (:,:,Kmm)     = ssh(:,:,Kbb)    
     145            uu   (:,:,:,Kmm)   = uu  (:,:,:,Kbb) 
     146            vv   (:,:,:,Kmm)   = vv  (:,:,:,Kbb) 
    133147 
    134148         ! 
     
    143157         ! 
    144158         !  
    145       ENDIF  
     159         ENDIF  
    146160#if defined key_agrif 
    147161      ENDIF 
  • NEMO/trunk/src/OCE/nemogcm.F90

    r14072 r14086  
    5151   USE istate         ! initial state setting          (istate_init routine) 
    5252   USE trdini         ! dyn/tra trends initialization     (trd_init routine) 
     53   USE asminc         ! assimilation increments      
     54   USE asmbkg         ! writing out state trajectory 
     55   USE diadct         ! sections transports           (dia_dct_init routine) 
     56   USE diaobs         ! Observation diagnostics       (dia_obs_init routine) 
     57   USE diacfl         ! CFL diagnostics               (dia_cfl_init routine) 
     58   USE diamlr         ! IOM context management for multiple-linear-regression analysis 
     59#if defined key_qco 
     60   USE stepMLF        ! NEMO time-stepping               (stp_MLF   routine) 
     61#else 
     62   USE step           ! NEMO time-stepping                 (stp     routine) 
     63#endif 
     64   USE isfstp         ! ice shelf                     (isf_stp_init routine) 
    5365   USE icbini         ! handle bergs, initialisation 
    5466   USE icbstp  , ONLY : icb_end     ! handle bergs, close iceberg files 
     
    7688   USE lbcnfd  , ONLY : isendto, nsndto  ! Setup of north fold exchanges 
    7789   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    78    USE halo_mng       ! Halo manager 
     90#if defined key_iomput 
     91   USE xios           ! xIOserver 
     92#endif 
     93#if defined key_agrif 
     94   USE agrif_all_update   ! Master Agrif update 
     95   USE agrif_oce_update 
     96#endif 
     97   USE halo_mng 
    7998 
    8099   IMPLICIT NONE 
     
    158177      Kbb_a = Nbb; Kmm_a = Nnn; Krhs_a = Nrhs   ! agrif_oce module copies of time level indices 
    159178      CALL Agrif_step_child_adj(Agrif_Update_All) 
     179      CALL Agrif_step_child_adj(Agrif_Check_parent_bat) 
    160180      ! 
    161181      DO WHILE( istp <= nitend .AND. nstop == 0 ) 
  • NEMO/trunk/src/OCE/step_oce.F90

    r14072 r14086  
    66   !!====================================================================== 
    77   !! History :   3.3  !  2010-08  (C. Ethe)  Original code - reorganisation of the initial phase 
    8    !!             3.7  !  2014-01  (G. Madec) LDF simplication 
     8   !!             3.7  !  2014-01  (G. Madec) LDF simplication  
    99   !!---------------------------------------------------------------------- 
    1010   USE oce             ! ocean dynamics and tracers variables 
     
    3535   USE domvvl          ! variable vertical scale factors  (dom_vvl_sf_nxt routine) 
    3636   !                                                      (dom_vvl_sf_swp routine) 
    37  
     37    
    3838   USE divhor          ! horizontal divergence            (div_hor routine) 
    3939   USE dynadv          ! advection                        (dyn_adv routine) 
     
    6060 
    6161   USE stopar          ! Stochastic parametrization       (sto_par routine) 
    62    USE stopts 
     62   USE stopts  
    6363 
    6464   USE ldfslp          ! iso-neutral slopes               (ldf_slp routine) 
     
    7373 
    7474   USE diu_layers      ! diurnal SST bulk and coolskin routines 
    75    USE sbc_oce         ! surface fluxes 
    76  
     75   USE sbc_oce         ! surface fluxes   
     76    
    7777   USE zpshde          ! partial step: hor. derivative     (zps_hde routine) 
    7878 
Note: See TracChangeset for help on using the changeset viewer.