diff --git a/src/ZSOLVER/modeln.f90 b/src/ZSOLVER/modeln.f90 index e82b9908c68ebf6f3af5f6e017aca89992c0719f..7b54c18bc608b9e83660a2def9ed05cab01c29f5 100644 --- a/src/ZSOLVER/modeln.f90 +++ b/src/ZSOLVER/modeln.f90 @@ -545,7 +545,7 @@ LOGICAL :: KACTIT LOGICAL :: KSEDI LOGICAL :: KHHONI ! -REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZRUS,ZRVS +REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZRUS,ZRVS REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZRWS REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZPABST !To give pressure at t ! (and not t+1) to resolved_cloud @@ -569,19 +569,20 @@ REAL :: VSIGQSAT VSIGQSAT = VSIGQSAT_MODD #endif !------------------------------------------------------------------------------- -! + TZBAKFILE=> NULL() TZOUTFILE=> NULL() +#ifndef MNH_OPENACC allocate( ZRUS (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) allocate( ZRVS (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) -#ifndef MNH_OPENACC allocate( ZRWS (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) allocate( ZPABST(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) #else !Pin positions in the pools of MNH memory CALL MNH_MEM_POSITION_PIN() - +CALL MNH_MEM_GET( ZRUS, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) +CALL MNH_MEM_GET( ZRVS, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) CALL MNH_MEM_GET( ZRWS, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) CALL MNH_MEM_GET( ZPABST, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) #endif @@ -2431,7 +2432,7 @@ END IF #ifndef MNH_OPENACC IF ( ASSOCIATED( ZSEA ) ) DEALLOCATE( ZSEA ) -DEALLOCATE( ZRWS ) +DEALLOCATE( ZRUS,ZRVS,ZRWS ) DEALLOCATE( ZPABST ) #else CALL MNH_MEM_RELEASE()