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 10251 for branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/NEMO/NST_SRC/agrif_oce.F90 – NEMO

Ignore:
Timestamp:
2018-10-29T15:20:26+01:00 (5 years ago)
Author:
kingr
Message:

Rolled back to r10247 - i.e., undid merge of pkg br and 3.6_stable br

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/NEMO/NST_SRC/agrif_oce.F90

    r10248 r10251  
    1212   USE par_oce      ! ocean parameters 
    1313   USE dom_oce      ! domain parameters 
    14  
     14    
    1515   IMPLICIT NONE 
    1616   PRIVATE  
     
    1919 
    2020   !                                              !!* Namelist namagrif: AGRIF parameters 
    21    LOGICAL , PUBLIC ::   ln_spc_dyn    = .FALSE.   !: 
    22    INTEGER , PUBLIC ::   nn_cln_update = 3         !: update frequency  
    23    INTEGER , PUBLIC, PARAMETER ::   nn_sponge_len = 2  !: Sponge width (in number of parent grid points) 
    24    REAL(wp), PUBLIC ::   rn_sponge_tra = 2800.     !: sponge coeff. for tracers 
    25    REAL(wp), PUBLIC ::   rn_sponge_dyn = 2800.     !: sponge coeff. for dynamics 
    26    LOGICAL , PUBLIC ::   ln_chk_bathy  = .FALSE.   !: check of parent bathymetry  
     21   LOGICAL , PUBLIC ::   ln_spc_dyn      !: 
     22   INTEGER , PUBLIC ::   nn_cln_update   !: update frequency  
     23   REAL(wp), PUBLIC ::   rn_sponge_tra   !: sponge coeff. for tracers 
     24   REAL(wp), PUBLIC ::   rn_sponge_dyn   !: sponge coeff. for dynamics 
    2725 
    2826   !                                              !!! OLD namelist names 
     
    3230   REAL(wp), PUBLIC ::   visc_dyn                  !: sponge coeff. for dynamics 
    3331 
    34    LOGICAL , PUBLIC :: spongedoneT = .FALSE.       !: tracer   sponge layer indicator 
    35    LOGICAL , PUBLIC :: spongedoneU = .FALSE.       !: dynamics sponge layer indicator 
    36    LOGICAL , PUBLIC :: lk_agrif_fstep = .TRUE.     !: if true: first step 
    37    LOGICAL , PUBLIC :: lk_agrif_doupd = .TRUE.     !: if true: send update from current grid 
    38    LOGICAL , PUBLIC :: lk_agrif_debug = .FALSE.    !: if true: print debugging info 
     32   LOGICAL , PUBLIC :: spongedoneT = .FALSE.   !: tracer   sponge layer indicator 
     33   LOGICAL , PUBLIC :: spongedoneU = .FALSE.   !: dynamics sponge layer indicator 
     34   LOGICAL , PUBLIC :: lk_agrif_fstep = .TRUE. !: if true: first step 
    3935 
    40    LOGICAL , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tabspongedone_tsn 
    41 # if defined key_top 
    42    LOGICAL , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tabspongedone_trn 
    43 # endif 
    44    LOGICAL , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tabspongedone_u 
    45    LOGICAL , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tabspongedone_v 
    46    REAL(wp), PUBLIC, ALLOCATABLE, SAVE,  DIMENSION(:,:) :: fsaht_spu, fsaht_spv !: sponge diffusivities 
    47    REAL(wp), PUBLIC, ALLOCATABLE, SAVE,  DIMENSION(:,:) :: fsahm_spt, fsahm_spf !: sponge viscosities 
    48  
    49    ! Barotropic arrays used to store open boundary data during 
    50    ! time-splitting loop: 
    51    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_w, vbdy_w, hbdy_w 
    52    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_e, vbdy_e, hbdy_e 
    53    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_n, vbdy_n, hbdy_n 
    54    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_s, vbdy_s, hbdy_s 
    55  
    56    INTEGER :: tsn_id                                                  ! AGRIF profile for tracers interpolation and update 
    57    INTEGER :: un_interp_id, vn_interp_id                              ! AGRIF profiles for interpolations 
    58    INTEGER :: un_update_id, vn_update_id                              ! AGRIF profiles for udpates 
    59    INTEGER :: tsn_sponge_id, un_sponge_id, vn_sponge_id               ! AGRIF profiles for sponge layers 
    60 # if defined key_top 
    61    INTEGER :: trn_id, trn_sponge_id 
    62 # endif   
    63    INTEGER :: unb_id, vnb_id, ub2b_interp_id, vb2b_interp_id 
    64    INTEGER :: ub2b_update_id, vb2b_update_id 
    65    INTEGER :: e3t_id, e1u_id, e2v_id, sshn_id 
    66    INTEGER :: scales_t_id 
    67 # if defined key_zdftke 
    68    INTEGER :: avt_id, avm_id, en_id 
    69 # endif   
    70    INTEGER :: umsk_id, vmsk_id 
    71    INTEGER :: kindic_agr 
     36   REAL(wp), PUBLIC, ALLOCATABLE, SAVE,  DIMENSION(:,:) ::   spe1ur , spe2vr , spbtr2   !: ??? 
     37   REAL(wp), PUBLIC, ALLOCATABLE, SAVE,  DIMENSION(:,:) ::   spe1ur2, spe2vr2, spbtr3   !: ??? 
     38    
     39   INTEGER :: tsn_id,tsb_id,tsa_id 
     40   INTEGER :: un_id, vn_id, ua_id, va_id 
     41   INTEGER :: e1u_id, e2v_id, sshn_id, gcb_id 
     42   INTEGER :: trn_id, trb_id, tra_id 
     43   INTEGER :: unb_id, vnb_id, ub2b_id, vb2b_id 
    7244 
    7345   !!---------------------------------------------------------------------- 
     
    8254      !!                ***  FUNCTION agrif_oce_alloc  *** 
    8355      !!---------------------------------------------------------------------- 
    84       INTEGER, DIMENSION(2) :: ierr 
    85       !!---------------------------------------------------------------------- 
    86       ierr(:) = 0 
    87       ! 
    88       ALLOCATE( fsaht_spu(jpi,jpj), fsaht_spv(jpi,jpj),   & 
    89          &      fsahm_spt(jpi,jpj), fsahm_spf(jpi,jpj),   & 
    90          &      tabspongedone_tsn(jpi,jpj),           & 
    91 # if defined key_top          
    92          &      tabspongedone_trn(jpi,jpj),           & 
    93 # endif          
    94          &      tabspongedone_u  (jpi,jpj),           & 
    95          &      tabspongedone_v  (jpi,jpj), STAT = ierr(1) ) 
    96  
    97       ALLOCATE( ubdy_w(jpj), vbdy_w(jpj), hbdy_w(jpj),   & 
    98          &      ubdy_e(jpj), vbdy_e(jpj), hbdy_e(jpj),   &  
    99          &      ubdy_n(jpi), vbdy_n(jpi), hbdy_n(jpi),   &  
    100          &      ubdy_s(jpi), vbdy_s(jpi), hbdy_s(jpi), STAT = ierr(2) ) 
    101  
    102       agrif_oce_alloc = MAXVAL(ierr) 
    103       ! 
     56      ALLOCATE( spe1ur (jpi,jpj) , spe2vr (jpi,jpj) , spbtr2(jpi,jpj) ,      & 
     57         &      spe1ur2(jpi,jpj) , spe2vr2(jpi,jpj) , spbtr3(jpi,jpj) , STAT = agrif_oce_alloc )  
    10458   END FUNCTION agrif_oce_alloc 
    10559 
Note: See TracChangeset for help on using the changeset viewer.