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 7277 for branches/2016/dev_CNRS_2016/NEMOGCM/NEMO/NST_SRC/agrif_user.F90 – NEMO

Ignore:
Timestamp:
2016-11-21T09:55:07+01:00 (8 years ago)
Author:
flavoni
Message:

update 2016 branch with simplif-2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_CNRS_2016/NEMOGCM/NEMO/NST_SRC/agrif_user.F90

    r6140 r7277  
    11#if defined key_agrif 
    22!!---------------------------------------------------------------------- 
    3 !! NEMO/NST 3.7 , NEMO Consortium (2015) 
     3!! NEMO/NST 3.7 , NEMO Consortium (2016) 
    44!! $Id$ 
    55!! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     
    1818   USE dom_oce 
    1919   USE nemogcm 
    20    ! 
     20   !! 
    2121   IMPLICIT NONE 
    2222   !!---------------------------------------------------------------------- 
     
    3232! JC: change to allow for different vertical levels 
    3333!     jpk is already set 
    34 !     keep it jpk possibly different from jpkdta which  
     34!     keep it jpk possibly different from jpkglo which  
    3535!     hold parent grid vertical levels number (set earlier) 
    36 !      jpk     = jpkdta  
     36!      jpk     = jpkglo  
    3737      jpim1   = jpi-1  
    3838      jpjm1   = jpj-1  
    3939      jpkm1   = jpk-1                                          
    4040      jpij    = jpi*jpj  
    41       jpidta  = jpiglo 
    42       jpjdta  = jpjglo 
    43       jpizoom = 1 
    44       jpjzoom = 1 
     41 !SF      jpidta  = jpiglo 
     42 !SF     jpjdta  = jpjglo 
    4543      nperio  = 0 
    4644      jperio  = 0 
     
    6260   USE tradmp 
    6361   USE bdy_par 
    64  
    65    IMPLICIT NONE 
    66    !!---------------------------------------------------------------------- 
    67    ! 0. Initializations 
    68    !------------------- 
    69    IF( cp_cfg == 'orca' ) THEN 
    70       IF ( jp_cfg == 2 .OR. jp_cfg == 025 .OR. jp_cfg == 05 & 
    71             &                      .OR. jp_cfg == 4 ) THEN 
    72          jp_cfg = -1    ! set special value for jp_cfg on fine grids 
    73          cp_cfg = "default" 
     62   !! 
     63   IMPLICIT NONE 
     64   !!---------------------------------------------------------------------- 
     65   ! 
     66!!gm  I think this is now useless ...   nn_cfg & cn_cfg are set to -999999 and "UNKNOWN"  
     67!!gm                                    when reading the AGRIF domain configuration file 
     68   IF( cn_cfg == 'orca' ) THEN 
     69      IF ( nn_cfg == 2 .OR. nn_cfg == 025 .OR. nn_cfg == 05  .OR. nn_cfg == 4 ) THEN 
     70         nn_cfg = -1    ! set special value for nn_cfg on fine grids 
     71         cn_cfg = "default" 
    7472      ENDIF 
    7573   ENDIF 
    76    ! Specific fine grid Initializations 
    77    ! no tracer damping on fine grids 
    78    ln_tradmp = .FALSE. 
    79    ! no open boundary on fine grids 
    80    lk_bdy = .FALSE. 
    81  
    82  
    83    CALL nemo_init  ! Initializations of each fine grid 
    84  
     74!!gm end 
     75 
     76   !                    !* Specific fine grid Initializations 
     77   ln_tradmp = .FALSE.        ! no tracer damping on fine grids 
     78   ! 
     79   lk_bdy    = .FALSE.        ! no open boundary on fine grids 
     80 
     81   CALL nemo_init       !* Initializations of each fine grid 
     82 
     83   !                    !* Agrif initialization 
    8584   CALL agrif_nemo_init 
    8685   CALL Agrif_InitValues_cont_dom 
     
    9089# if defined key_top 
    9190   CALL Agrif_InitValues_cont_top 
    92 # endif       
     91# endif 
     92   ! 
    9393END SUBROUTINE Agrif_initvalues 
    9494 
     
    108108   USE agrif_opa_interp 
    109109   USE agrif_opa_sponge 
    110    ! 
    111    IMPLICIT NONE 
    112    ! 
    113    !!---------------------------------------------------------------------- 
    114  
     110   !! 
     111   IMPLICIT NONE 
     112   !!---------------------------------------------------------------------- 
     113   ! 
    115114   ! Declaration of the type of variable which have to be interpolated 
    116    !--------------------------------------------------------------------- 
     115   ! 
    117116   CALL agrif_declare_var_dom 
    118117   ! 
     
    129128   USE par_oce        
    130129   USE oce 
     130   !! 
    131131   IMPLICIT NONE 
    132132   !!---------------------------------------------------------------------- 
     
    176176   USE agrif_opa_interp 
    177177   USE agrif_opa_sponge 
    178    ! 
     178   !! 
    179179   IMPLICIT NONE 
    180180   ! 
     
    259259 
    260260      ! Check coordinates 
    261       IF( ln_zps ) THEN 
    262          ! check parameters for partial steps  
    263          IF( Agrif_Parent(e3zps_min) .NE. e3zps_min ) THEN 
    264             WRITE(*,*) 'incompatible e3zps_min between grids' 
    265             WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_min) 
    266             WRITE(*,*) 'child grid  :',e3zps_min 
    267             WRITE(*,*) 'those values should be identical' 
    268             STOP 
    269          ENDIF 
    270          IF( Agrif_Parent(e3zps_rat) /= e3zps_rat ) THEN 
    271             WRITE(*,*) 'incompatible e3zps_rat between grids' 
    272             WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_rat) 
    273             WRITE(*,*) 'child grid  :',e3zps_rat 
    274             WRITE(*,*) 'those values should be identical'                   
    275             STOP 
    276          ENDIF 
    277       ENDIF 
     261     !SF IF( ln_zps ) THEN 
     262     !SF     ! check parameters for partial steps  
     263     !SF     IF( Agrif_Parent(e3zps_min) .NE. e3zps_min ) THEN 
     264     !SF        WRITE(*,*) 'incompatible e3zps_min between grids' 
     265     !SF        WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_min) 
     266     !SF        WRITE(*,*) 'child grid  :',e3zps_min 
     267     !SF        WRITE(*,*) 'those values should be identical' 
     268     !SF        STOP 
     269     !SF     ENDIF 
     270     !SF     IF( Agrif_Parent(e3zps_rat) /= e3zps_rat ) THEN 
     271     !SF        WRITE(*,*) 'incompatible e3zps_rat between grids' 
     272     !SF        WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_rat) 
     273     !SF        WRITE(*,*) 'child grid  :',e3zps_rat 
     274     !SF        WRITE(*,*) 'those values should be identical'                   
     275     !SF        STOP 
     276     !SF     ENDIF 
     277     !SF ENDIF 
    278278 
    279279      ! Check free surface scheme 
     
    346346   USE oce 
    347347   USE agrif_oce 
     348   !! 
    348349   IMPLICIT NONE 
    349350   !!---------------------------------------------------------------------- 
     
    484485   USE agrif_lim2_interp 
    485486   USE lib_mpp 
    486    ! 
    487    IMPLICIT NONE 
    488    ! 
     487   !! 
     488   IMPLICIT NONE 
    489489   !!---------------------------------------------------------------------- 
    490490 
     
    521521END SUBROUTINE Agrif_InitValues_cont_lim2 
    522522 
     523 
    523524SUBROUTINE agrif_declare_var_lim2 
    524525   !!---------------------------------------------------------------------- 
     
    529530   USE agrif_util 
    530531   USE ice_2 
    531  
     532   !! 
    532533   IMPLICIT NONE 
    533534   !!---------------------------------------------------------------------- 
     
    585586   USE agrif_top_interp 
    586587   USE agrif_top_sponge 
    587    ! 
     588   !! 
    588589   IMPLICIT NONE 
    589590   ! 
     
    684685   USE dom_oce 
    685686   USE trc 
    686  
    687    IMPLICIT NONE 
     687   !! 
     688   IMPLICIT NONE 
     689   !!---------------------------------------------------------------------- 
    688690 
    689691   ! 1. Declaration of the type of variable which have to be interpolated 
     
    716718SUBROUTINE Agrif_detect( kg, ksizex ) 
    717719   !!---------------------------------------------------------------------- 
    718    !!   *** ROUTINE Agrif_detect *** 
    719    !!---------------------------------------------------------------------- 
    720    ! 
     720   !!                      *** ROUTINE Agrif_detect *** 
     721   !!---------------------------------------------------------------------- 
    721722   INTEGER, DIMENSION(2) :: ksizex 
    722723   INTEGER, DIMENSION(ksizex(1),ksizex(2)) :: kg  
     
    736737   USE in_out_manager 
    737738   USE lib_mpp 
     739   !! 
    738740   IMPLICIT NONE 
    739741   ! 
     
    789791   !!---------------------------------------------------------------------- 
    790792   USE dom_oce 
     793   !! 
    791794   IMPLICIT NONE 
    792795   ! 
     
    803806END SUBROUTINE Agrif_InvLoc 
    804807 
     808 
    805809SUBROUTINE Agrif_get_proc_info( imin, imax, jmin, jmax ) 
    806810   !!---------------------------------------------------------------------- 
     
    808812   !!---------------------------------------------------------------------- 
    809813   USE par_oce 
     814   !! 
    810815   IMPLICIT NONE 
    811816   ! 
     
    821826END SUBROUTINE Agrif_get_proc_info 
    822827 
     828 
    823829SUBROUTINE Agrif_estimate_parallel_cost(imin, imax,jmin, jmax, nbprocs, grid_cost) 
    824830   !!---------------------------------------------------------------------- 
     
    826832   !!---------------------------------------------------------------------- 
    827833   USE par_oce 
     834   !! 
    828835   IMPLICIT NONE 
    829836   ! 
Note: See TracChangeset for help on using the changeset viewer.