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 7731 for branches/UKMO/dev_r5518_v3.6_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2017-02-23T14:23:32+01:00 (7 years ago)
Author:
dford
Message:

Merge in revisions 6625:7726 of dev_r5518_v3.4_asm_nemovar_community, so this branch will be identical to revison 7726 of dev_r5518_v3.6_asm_nemovar_community.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_v3.6_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r7730 r7731  
    6161   USE asminc          ! assimilation increments      
    6262   USE asmbkg          ! writing out state trajectory 
     63   USE asmbal          ! writing out assimilation balancing increments 
    6364   USE diaptr          ! poleward transports           (dia_ptr_init routine) 
    6465   USE diadct          ! sections transports           (dia_dct_init routine) 
     
    158159                IF( ln_dyninc ) CALL dyn_asm_inc( nit000 - 1 )    ! Dynamics 
    159160                IF( ln_sshinc ) CALL ssh_asm_inc( nit000 - 1 )    ! SSH 
     161                IF( ln_logchltotinc .OR. ln_logchlpftinc ) CALL logchl_asm_inc( nit000 - 1 ) 
    160162             ENDIF 
    161163          ENDIF 
    162164 
     165#if defined key_agrif 
     166          CALL Agrif_Regrid() 
     167#endif 
     168 
    163169         DO WHILE ( istp <= nitend .AND. nstop == 0 ) 
    164170#if defined key_agrif 
    165             CALL Agrif_Step( stp )           ! AGRIF: time stepping 
     171            CALL stp                         ! AGRIF: time stepping 
    166172#else 
    167173            CALL stp( istp )                 ! standard time stepping 
     
    173179 
    174180      IF( lk_diaobs   )   CALL dia_obs_wri 
     181      ! 
     182      IF( ( lk_asminc ).AND.( ln_balwri ) ) CALL asm_bal_wri( nitend )  ! Output balancing increments 
    175183      ! 
    176184      IF( ln_icebergs )   CALL icb_end( nitend ) 
     
    187195      ! 
    188196#if defined key_agrif 
    189       CALL Agrif_ParentGrid_To_ChildGrid() 
    190       IF( lk_diaobs ) CALL dia_obs_wri 
    191       IF( nn_timing == 1 )   CALL timing_finalize 
    192       CALL Agrif_ChildGrid_To_ParentGrid() 
     197      IF( .NOT. Agrif_Root() ) THEN 
     198         CALL Agrif_ParentGrid_To_ChildGrid() 
     199         IF( lk_diaobs ) CALL dia_obs_wri 
     200         IF( nn_timing == 1 )   CALL timing_finalize 
     201         CALL Agrif_ChildGrid_To_ParentGrid() 
     202      ENDIF 
    193203#endif 
    194204      IF( nn_timing == 1 )   CALL timing_finalize 
     
    334344         jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj   ! second dim. 
    335345#endif 
    336       ENDIF 
     346      ENDIF          
    337347         jpk = jpkdta                                             ! third dim 
     348#if defined key_agrif 
     349         ! simple trick to use same vertical grid as parent 
     350         ! but different number of levels:  
     351         ! Save maximum number of levels in jpkdta, then define all vertical grids 
     352         ! with this number. 
     353         ! Suppress once vertical online interpolation is ok 
     354         IF(.NOT.Agrif_Root()) jpkdta = Agrif_Parent(jpkdta) 
     355#endif 
    338356         jpim1 = jpi-1                                            ! inner domain indices 
    339357         jpjm1 = jpj-1                                            !   "           " 
     
    459477 
    460478      !                                     ! Assimilation increments 
    461       IF( lk_asminc     )   CALL asm_inc_init   ! Initialize assimilation increments 
     479      IF( lk_asminc ) THEN  
     480#if defined key_shelf  
     481         CALL  zdf_mxl_tref()     ! Initialization of hmld_tref 
     482#endif  
     483         CALL asm_inc_init     ! Initialize assimilation increments  
     484      ENDIF 
     485            
    462486      IF(lwp) WRITE(numout,*) 'Euler time step switch is ', neuler 
    463487      ! 
     
    710734      INTEGER :: ifac, jl, inu 
    711735      INTEGER, PARAMETER :: ntest = 14 
    712       INTEGER :: ilfax(ntest) 
    713       ! 
    714       ! lfax contains the set of allowed factors. 
    715       data (ilfax(jl),jl=1,ntest) / 16384, 8192, 4096, 2048, 1024, 512, 256,  & 
    716          &                            128,   64,   32,   16,    8,   4,   2  / 
    717       !!---------------------------------------------------------------------- 
     736      INTEGER, DIMENSION(ntest) :: ilfax 
     737      ! 
     738      ! ilfax contains the set of allowed factors. 
     739      ilfax(:) = (/(2**jl,jl=ntest,1,-1)/) 
     740      !!---------------------------------------------------------------------- 
     741      ! ilfax contains the set of allowed factors. 
     742      ilfax(:) = (/(2**jl,jl=ntest,1,-1)/) 
    718743 
    719744      ! Clear the error flag and initialise output vars 
Note: See TracChangeset for help on using the changeset viewer.