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 2715 for trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modtypes.F – NEMO

Ignore:
Timestamp:
2011-03-30T17:58:35+02:00 (13 years ago)
Author:
rblod
Message:

First attempt to put dynamic allocation on the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modtypes.F

    r2528 r2715  
    3737      INTEGER, PARAMETER :: Agrif_NbMaxGrids = 10 
    3838                   
    39 C     MPI Communicator 
    40       INTEGER :: mpi_comm_agrif 
    4139C 
    4240C     ************************************************************************** 
     
    126124           ! List of the grid variables    
    127125           TYPE(Agrif_PVariable), DIMENSION(:) ,Pointer :: tabvars      
     126           ! pointer on the save grid  
     127           TYPE(Agrif_grid)                    ,Pointer :: save_grid                 
    128128C 
    129129           ! Global x,y and z position 
     
    169169           INTEGER                                 :: NbVariables = 0 
    170170           Type(Agrif_Flux), Pointer               :: fluxes => NULL() 
     171           INTEGER                                 :: level 
     172           ! level of the grid in the hierarchy 
    171173      End TYPE Agrif_grid 
    172174C 
     
    198200C        Arrays containing the values of the grid variables (REAL) 
    199201         REAL                                    :: array0  
    200          REAL   , DIMENSION(:)          ,Pointer :: array1    => NULL() 
    201          REAL   , DIMENSION(:,:)        ,Pointer :: array2    => NULL() 
    202          REAL   , DIMENSION(:,:,:)      ,Pointer :: array3    => NULL() 
    203          REAL   , DIMENSION(:,:,:,:)    ,Pointer :: array4    => NULL() 
    204          REAL   , DIMENSION(:,:,:,:,:)  ,Pointer :: array5    => NULL() 
    205          REAL   , DIMENSION(:,:,:,:,:,:),Pointer :: array6    => NULL() 
     202         REAL   , DIMENSION(:)          ,ALLOCATABLE :: array1     
     203         REAL   , DIMENSION(:,:)        ,ALLOCATABLE :: array2     
     204         REAL   , DIMENSION(:,:,:)      ,ALLOCATABLE :: array3     
     205         REAL   , DIMENSION(:,:,:,:)    ,ALLOCATABLE :: array4     
     206         REAL   , DIMENSION(:,:,:,:,:)  ,ALLOCATABLE :: array5     
     207         REAL   , DIMENSION(:,:,:,:,:,:),ALLOCATABLE :: array6   
     208          
     209         REAL   , DIMENSION(:)          ,POINTER :: parray1     
     210         REAL   , DIMENSION(:,:)        ,POINTER :: parray2     
     211         REAL   , DIMENSION(:,:,:)      ,POINTER :: parray3     
     212         REAL   , DIMENSION(:,:,:,:)    ,POINTER :: parray4     
     213         REAL   , DIMENSION(:,:,:,:,:)  ,POINTER :: parray5     
     214         REAL   , DIMENSION(:,:,:,:,:,:),POINTER :: parray6 
     215          
    206216C        Arrays containing the values of the grid variables (REAL*8) 
    207217         REAL*8                                 :: darray0 
    208          REAL*8, DIMENSION(:)          ,Pointer :: darray1   => NULL() 
    209          REAL*8, DIMENSION(:,:)        ,Pointer :: darray2   => NULL() 
    210          REAL*8, DIMENSION(:,:,:)      ,Pointer :: darray3   => NULL() 
    211          REAL*8, DIMENSION(:,:,:,:)    ,Pointer :: darray4   => NULL() 
    212          REAL*8, DIMENSION(:,:,:,:,:)  ,Pointer :: darray5   => NULL() 
    213          REAL*8, DIMENSION(:,:,:,:,:,:),Pointer :: darray6   => NULL() 
     218         REAL*8, DIMENSION(:)          ,ALLOCATABLE :: darray1    
     219         REAL*8, DIMENSION(:,:)        ,ALLOCATABLE :: darray2    
     220         REAL*8, DIMENSION(:,:,:)      ,ALLOCATABLE :: darray3    
     221         REAL*8, DIMENSION(:,:,:,:)    ,ALLOCATABLE :: darray4    
     222         REAL*8, DIMENSION(:,:,:,:,:)  ,ALLOCATABLE :: darray5    
     223         REAL*8, DIMENSION(:,:,:,:,:,:),ALLOCATABLE :: darray6    
    214224C        Arrays containing the values of the grid variables (REAL*4) 
    215225         REAL*4                                 :: sarray0 
    216          REAL*4, DIMENSION(:)          ,Pointer :: sarray1   => NULL() 
    217          REAL*4, DIMENSION(:,:)        ,Pointer :: sarray2   => NULL() 
    218          REAL*4, DIMENSION(:,:,:)      ,Pointer :: sarray3   => NULL() 
    219          REAL*4, DIMENSION(:,:,:,:)    ,Pointer :: sarray4   => NULL() 
    220          REAL*4, DIMENSION(:,:,:,:,:)  ,Pointer :: sarray5   => NULL() 
    221          REAL*4, DIMENSION(:,:,:,:,:,:),Pointer :: sarray6   => NULL() 
     226         REAL*4, DIMENSION(:)          ,ALLOCATABLE :: sarray1    
     227         REAL*4, DIMENSION(:,:)        ,ALLOCATABLE :: sarray2    
     228         REAL*4, DIMENSION(:,:,:)      ,ALLOCATABLE :: sarray3    
     229         REAL*4, DIMENSION(:,:,:,:)    ,ALLOCATABLE :: sarray4    
     230         REAL*4, DIMENSION(:,:,:,:,:)  ,ALLOCATABLE :: sarray5    
     231         REAL*4, DIMENSION(:,:,:,:,:,:),ALLOCATABLE :: sarray6    
    222232C        Arrays containing the values of the grid variables (LOGICAL) 
    223233         LOGICAL                                 :: larray0 
    224          LOGICAL, DIMENSION(:)          ,Pointer :: larray1   => NULL() 
    225          LOGICAL, DIMENSION(:,:)        ,Pointer :: larray2   => NULL() 
    226          LOGICAL, DIMENSION(:,:,:)      ,Pointer :: larray3   => NULL() 
    227          LOGICAL, DIMENSION(:,:,:,:)    ,Pointer :: larray4   => NULL() 
    228          LOGICAL, DIMENSION(:,:,:,:,:)  ,Pointer :: larray5   => NULL() 
    229          LOGICAL, DIMENSION(:,:,:,:,:,:),Pointer :: larray6   => NULL() 
     234         LOGICAL, DIMENSION(:)          ,ALLOCATABLE :: larray1    
     235         LOGICAL, DIMENSION(:,:)        ,ALLOCATABLE :: larray2    
     236         LOGICAL, DIMENSION(:,:,:)      ,ALLOCATABLE :: larray3    
     237         LOGICAL, DIMENSION(:,:,:,:)    ,ALLOCATABLE :: larray4    
     238         LOGICAL, DIMENSION(:,:,:,:,:)  ,ALLOCATABLE :: larray5    
     239         LOGICAL, DIMENSION(:,:,:,:,:,:),ALLOCATABLE :: larray6    
    230240C         Arrays containing the values of the grid variables (INTEGER)    
    231241         INTEGER                                 :: iarray0 
    232          INTEGER, DIMENSION(:)          ,Pointer :: iarray1   => NULL() 
    233          INTEGER, DIMENSION(:,:)        ,Pointer :: iarray2   => NULL() 
    234          INTEGER, DIMENSION(:,:,:)      ,Pointer :: iarray3   => NULL() 
    235          INTEGER, DIMENSION(:,:,:,:)    ,Pointer :: iarray4   => NULL() 
    236          INTEGER, DIMENSION(:,:,:,:,:)  ,Pointer :: iarray5   => NULL() 
    237          INTEGER, DIMENSION(:,:,:,:,:,:),Pointer :: iarray6   => NULL() 
     242         INTEGER, DIMENSION(:)          ,ALLOCATABLE :: iarray1    
     243         INTEGER, DIMENSION(:,:)        ,ALLOCATABLE :: iarray2    
     244         INTEGER, DIMENSION(:,:,:)      ,ALLOCATABLE :: iarray3    
     245         INTEGER, DIMENSION(:,:,:,:)    ,ALLOCATABLE :: iarray4    
     246         INTEGER, DIMENSION(:,:,:,:,:)  ,ALLOCATABLE :: iarray5    
     247         INTEGER, DIMENSION(:,:,:,:,:,:),ALLOCATABLE :: iarray6    
    238248C 
    239249         INTEGER, DIMENSION(:)          ,Pointer :: restore1D => NULL() 
     
    245255C    
    246256         CHARACTER(2050)                          :: carray0 
    247          CHARACTER(200), DIMENSION(:)    ,Pointer :: carray1   => NULL() 
    248          CHARACTER(200), DIMENSION(:,:)  ,Pointer :: carray2   => NULL() 
     257         CHARACTER(200), DIMENSION(:)    ,ALLOCATABLE :: carray1 
     258         CHARACTER(200), DIMENSION(:,:)  ,ALLOCATABLE :: carray2 
    249259C 
    250260         ! Array used for the time interpolation 
     
    375385      REAL                  :: Agrif_SpecialValueFineGrid 
    376386C   clustering PARAMETERs 
    377       INTEGER               :: Agrif_Regridding 
     387      INTEGER               :: Agrif_Regridding = 10 
    378388      INTEGER               :: Agrif_Minwidth 
    379389      REAL                  :: Agrif_Efficiency = 0.7 
     
    406416      ! Agrif_USE_FIXED_GRIDS = 1 if AMR mode + fixed grid  
    407417      !    else only AMR mode 
    408       INTEGER               :: Agrif_USE_FIXED_GRIDS          
     418      INTEGER               :: Agrif_USE_FIXED_GRIDS 
     419      INTEGER               :: Agrif_Maxlevelloc 
    409420C 
    410421#ifdef key_mpp_mpi 
    411422      INTEGER :: Agrif_Nbprocs  ! Number of processors 
    412423      INTEGER :: Agrif_ProcRank ! Rank of the current processor  
    413       INTEGER :: Agrif_Group    ! Group associated to MPI_COMM_AGRIF 
     424      INTEGER :: Agrif_Group    ! Group associated to MPI_COMM_WORLD 
    414425      INTEGER :: Agrif_MPIPREC 
    415426#endif 
Note: See TracChangeset for help on using the changeset viewer.