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 13286 for NEMO/trunk/src/OCE/CRS/crs.F90 – NEMO

Ignore:
Timestamp:
2020-07-09T17:48:29+02:00 (4 years ago)
Author:
smasson
Message:

trunk: merge extra halos branch in trunk, see #2366

Location:
NEMO/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools/@HEAD           tools 
         4^/utils/tools@HEAD            tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
         
        88 
        99# SETTE 
        10 ^/utils/CI/sette@12931        sette 
         10^/utils/CI/r12931_sette_ticket2366@HEAD  sette 
  • NEMO/trunk/src/OCE/CRS/crs.F90

    r10068 r13286  
    3636      INTEGER  ::  jpiglo_full, jpjglo_full     !: jpiglo / jpjglo 
    3737      INTEGER  ::  npiglo, npjglo               !: jpjglo 
    38       INTEGER  ::  nlci_full, nlcj_full         !: i-, j-dimension of local or sub domain on parent grid 
    39       INTEGER  ::  nldi_full, nldj_full         !: starting indices of internal sub-domain on parent grid 
    40       INTEGER  ::  nlei_full, nlej_full         !: ending indices of internal sub-domain on parent grid 
    41       INTEGER  ::  nlci_crs, nlcj_crs           !: i-, j-dimension of local or sub domain on coarse grid 
    42       INTEGER  ::  nldi_crs, nldj_crs           !: starting indices of internal sub-domain on coarse grid 
    43       INTEGER  ::  nlei_crs, nlej_crs           !: ending indices of internal sub-domain on coarse grid 
     38      INTEGER  ::  Nis0_full, Njs0_full         !: starting indices of internal sub-domain on parent grid 
     39      INTEGER  ::  Nie0_full, Nje0_full         !: ending indices of internal sub-domain on parent grid 
     40      INTEGER  ::  Nis0_crs , Njs0_crs          !: starting indices of internal sub-domain on coarse grid 
     41      INTEGER  ::  Nie0_crs , Nje0_crs          !: ending indices of internal sub-domain on coarse grid 
    4442 
    4543      INTEGER  ::  narea_full, narea_crs        !: node 
     
    4846      INTEGER  ::  nimpp_full, njmpp_full       !: global position of point (1,1) of subdomain on parent grid 
    4947      INTEGER  ::  nimpp_crs, njmpp_crs         !: set to 1,1 for now .  Valid only for monoproc 
    50       INTEGER  ::  nreci_full, nrecj_full 
    51       INTEGER  ::  nreci_crs, nrecj_crs 
    5248      !cc 
    5349      INTEGER ::   noea_full, nowe_full        !: index of the local neighboring processors in 
     
    7672      INTEGER, DIMENSION(:), ALLOCATABLE :: mi0_crs, mi1_crs, mj0_crs, mj1_crs 
    7773      INTEGER  :: mxbinctr, mybinctr            ! central point in grid box 
    78       INTEGER, DIMENSION(:), ALLOCATABLE ::   nlcit_crs, nlcit_full  !: dimensions of every subdomain 
    79       INTEGER, DIMENSION(:), ALLOCATABLE ::   nldit_crs, nldit_full     !: first, last indoor index for each i-domain 
    80       INTEGER, DIMENSION(:), ALLOCATABLE ::   nleit_crs, nleit_full    !: first, last indoor index for each j-domain 
    81       INTEGER, DIMENSION(:), ALLOCATABLE ::   nimppt_crs, nimppt_full    !: first, last indoor index for each j-domain 
    82       INTEGER, DIMENSION(:), ALLOCATABLE ::   nlcjt_crs, nlcjt_full  !: dimensions of every subdomain 
    83       INTEGER, DIMENSION(:), ALLOCATABLE ::   nldjt_crs, nldjt_full     !: first, last indoor index for each i-domain 
    84       INTEGER, DIMENSION(:), ALLOCATABLE ::   nlejt_crs, nlejt_full    !: first, last indoor index for each j-domain 
    85       INTEGER, DIMENSION(:), ALLOCATABLE ::   njmppt_crs, njmppt_full    !: first, last indoor index for each j-domain 
     74      INTEGER, DIMENSION(:), ALLOCATABLE ::    jpiall_crs,  jpiall_full   !: dimensions of every subdomain 
     75      INTEGER, DIMENSION(:), ALLOCATABLE ::   nis0all_crs, nis0all_full   !: first, last indoor index for each i-domain 
     76      INTEGER, DIMENSION(:), ALLOCATABLE ::   nie0all_crs, nie0all_full   !: first, last indoor index for each j-domain 
     77      INTEGER, DIMENSION(:), ALLOCATABLE ::    nimppt_crs,  nimppt_full   !: first, last indoor index for each j-domain 
     78      INTEGER, DIMENSION(:), ALLOCATABLE ::    jpjall_crs,  jpjall_full   !: dimensions of every subdomain 
     79      INTEGER, DIMENSION(:), ALLOCATABLE ::   njs0all_crs, njs0all_full   !: first, last indoor index for each i-domain 
     80      INTEGER, DIMENSION(:), ALLOCATABLE ::   nje0all_crs, nje0all_full   !: first, last indoor index for each j-domain 
     81      INTEGER, DIMENSION(:), ALLOCATABLE ::    njmppt_crs,  njmppt_full   !: first, last indoor index for each j-domain 
    8682 
    8783  
    8884      ! Masks 
    8985      REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmask_crs, umask_crs, vmask_crs, fmask_crs 
    90       REAL(wp), DIMENSION(:,:)  , ALLOCATABLE :: tmask_i_crs, rnfmsk_crs, tpol_crs, fpol_crs 
    91        
    92   !    REAL(wp), DIMENSION(:,:),   ALLOCATABLE :: tmask_i_crs, tpol, fpol       
    93  
     86      REAL(wp), DIMENSION(:,:)  , ALLOCATABLE :: rnfmsk_crs 
     87       
    9488      ! Scale factors 
    9589      REAL(wp), DIMENSION(:,:),   ALLOCATABLE :: e1t_crs, e2t_crs, e1e2t_crs ! horizontal scale factors grid type T 
     
    182176         &      umask_crs(jpi_crs,jpj_crs,jpk) , vmask_crs(jpi_crs,jpj_crs,jpk) , STAT=ierr(2)) 
    183177 
    184       ALLOCATE( tmask_i_crs(jpi_crs,jpj_crs)   , rnfmsk_crs(jpi_crs,jpj_crs), & 
    185       &         tpol_crs(jpiglo_crs,jpjglo_crs), fpol_crs(jpiglo_crs,jpjglo_crs), STAT=ierr(3) ) 
     178      ALLOCATE( rnfmsk_crs(jpi_crs,jpj_crs), STAT=ierr(3) ) 
    186179 
    187180      ALLOCATE( gphit_crs(jpi_crs,jpj_crs) , glamt_crs(jpi_crs,jpj_crs) , &  
     
    238231         &      hmlp_crs(jpi_crs,jpj_crs) , hmlpt_crs(jpi_crs,jpj_crs) , STAT=ierr(14) ) 
    239232          
    240       ALLOCATE( nimppt_crs (jpnij) , nlcit_crs (jpnij) , nldit_crs (jpnij) , nleit_crs (jpnij),   & 
    241          &      nimppt_full(jpnij) , nlcit_full(jpnij) , nldit_full(jpnij) , nleit_full(jpnij),   & 
    242                 njmppt_crs (jpnij) , nlcjt_crs (jpnij) , nldjt_crs (jpnij) , nlejt_crs (jpnij),   & 
    243          &      njmppt_full(jpnij) , nlcjt_full(jpnij) , nldjt_full(jpnij) , nlejt_full(jpnij)  , STAT=ierr(15) ) 
     233      ALLOCATE( nimppt_crs (jpnij) , jpiall_crs (jpnij) , nis0all_crs (jpnij) , nie0all_crs (jpnij),   & 
     234         &      nimppt_full(jpnij) , jpiall_full(jpnij) , nis0all_full(jpnij) , nie0all_full(jpnij),   & 
     235                njmppt_crs (jpnij) , jpjall_crs (jpnij) , njs0all_crs (jpnij) , nje0all_crs (jpnij),   & 
     236         &      njmppt_full(jpnij) , jpjall_full(jpnij) , njs0all_full(jpnij) , nje0all_full(jpnij)  , STAT=ierr(15) ) 
    244237    
    245238      crs_dom_alloc = MAXVAL(ierr) 
     
    258251      ierr(:) = 0 
    259252       
    260       ALLOCATE( mjs_crs(nlej_crs) , mje_crs(nlej_crs), mis_crs(nlei_crs) , mie_crs(nlei_crs), STAT=ierr(1) ) 
     253      ALLOCATE( mjs_crs(Nje0_crs) , mje_crs(Nje0_crs), mis_crs(Nie0_crs) , mie_crs(Nie0_crs), STAT=ierr(1) ) 
    261254      crs_dom_alloc2 = MAXVAL(ierr) 
    262255 
     
    282275      jpjglo = jpjglo_full 
    283276 
    284       nlci   = nlci_full 
    285       nlcj   = nlcj_full 
    286       nldi   = nldi_full 
    287       nldj   = nldj_full 
    288       nlei   = nlei_full 
    289       nlej   = nlej_full 
    290       nimpp  = nimpp_full 
    291       njmpp  = njmpp_full 
    292        
    293       nlcit(:)  = nlcit_full(:) 
    294       nldit(:)  = nldit_full(:) 
    295       nleit(:)  = nleit_full(:) 
    296       nimppt(:) = nimppt_full(:) 
    297       nlcjt(:)  = nlcjt_full(:) 
    298       nldjt(:)  = nldjt_full(:) 
    299       nlejt(:)  = nlejt_full(:) 
    300       njmppt(:) = njmppt_full(:) 
     277      jpi   = jpi_full 
     278      jpj   = jpj_full 
     279      Nis0  = Nis0_full 
     280      Njs0  = Njs0_full 
     281      Nie0  = Nie0_full 
     282      Nje0  = Nje0_full 
     283      nimpp = nimpp_full 
     284      njmpp = njmpp_full 
     285       
     286      jpiall (:) = jpiall_full (:) 
     287      nis0all(:) = nis0all_full(:) 
     288      nie0all(:) = nie0all_full(:) 
     289      nimppt (:) = nimppt_full (:) 
     290      jpjall (:) = jpjall_full (:) 
     291      njs0all(:) = njs0all_full(:) 
     292      nje0all(:) = nje0all_full(:) 
     293      njmppt (:) = njmppt_full (:) 
    301294 
    302295   END SUBROUTINE dom_grid_glo 
     
    322315 
    323316 
    324       nlci   = nlci_crs 
    325       nlcj   = nlcj_crs 
    326       nldi   = nldi_crs 
    327       nlei   = nlei_crs 
    328       nlej   = nlej_crs 
    329       nldj   = nldj_crs 
    330       nimpp  = nimpp_crs 
    331       njmpp  = njmpp_crs 
    332        
    333       nlcit(:)  = nlcit_crs(:) 
    334       nldit(:)  = nldit_crs(:) 
    335       nleit(:)  = nleit_crs(:) 
    336       nimppt(:) = nimppt_crs(:) 
    337       nlcjt(:)  = nlcjt_crs(:) 
    338       nldjt(:)  = nldjt_crs(:) 
    339       nlejt(:)  = nlejt_crs(:) 
    340       njmppt(:) = njmppt_crs(:) 
     317      jpi   = jpi_crs 
     318      jpj   = jpj_crs 
     319      Nis0  = Nis0_crs 
     320      Nie0  = Nie0_crs 
     321      Nje0  = Nje0_crs 
     322      Njs0  = Njs0_crs 
     323      nimpp = nimpp_crs 
     324      njmpp = njmpp_crs 
     325       
     326      jpiall (:) = jpiall_crs (:) 
     327      nis0all(:) = nis0all_crs(:) 
     328      nie0all(:) = nie0all_crs(:) 
     329      nimppt (:) = nimppt_crs (:) 
     330      jpjall (:) = jpjall_crs (:) 
     331      njs0all(:) = njs0all_crs(:) 
     332      nje0all(:) = nje0all_crs(:) 
     333      njmppt (:) = njmppt_crs (:) 
    341334      ! 
    342335   END SUBROUTINE dom_grid_crs 
Note: See TracChangeset for help on using the changeset viewer.