Skip to content
Snippets Groups Projects
Commit 442b7cf1 authored by ESCOBAR MUNOZ Juan's avatar ESCOBAR MUNOZ Juan
Browse files

Juan 04/01/2021: MNH/ini_rain_ice.f90, for OpenACC , add acc enter data create...

Juan 04/01/2021: MNH/ini_rain_ice.f90, for OpenACC , add acc enter data create for X... module variable
parent 30290891
No related branches found
No related tags found
No related merge requests found
......@@ -675,9 +675,18 @@ XGAMINC_BOUND_MIN = 1.0E-1 ! Minimal value of (Lbda * D_cs^lim)**alpha
XGAMINC_BOUND_MAX = 1.0E7 ! Maximal value of (Lbda * D_cs^lim)**alpha
ZRATE = EXP(LOG(XGAMINC_BOUND_MAX/XGAMINC_BOUND_MIN)/REAL(NGAMINC-1))
!
IF( .NOT.ALLOCATED(XGAMINC_RIM1) ) ALLOCATE( XGAMINC_RIM1(NGAMINC) )
IF( .NOT.ALLOCATED(XGAMINC_RIM2) ) ALLOCATE( XGAMINC_RIM2(NGAMINC) )
IF( .NOT.ALLOCATED(XGAMINC_RIM4) ) ALLOCATE( XGAMINC_RIM4(NGAMINC) )
IF( .NOT.ALLOCATED(XGAMINC_RIM1) ) THEN
ALLOCATE( XGAMINC_RIM1(NGAMINC) )
!$acc enter data create (XGAMINC_RIM1)
END IF
IF( .NOT.ALLOCATED(XGAMINC_RIM2) ) THEN
ALLOCATE( XGAMINC_RIM2(NGAMINC) )
!$acc enter data create (XGAMINC_RIM2)
END IF
IF( .NOT.ALLOCATED(XGAMINC_RIM4) ) THEN
ALLOCATE( XGAMINC_RIM4(NGAMINC) )
!$acc enter data create (XGAMINC_RIM4)
END IF
!
DO J1=1,NGAMINC
ZBOUND = XGAMINC_BOUND_MIN*ZRATE**(J1-1)
......@@ -686,7 +695,7 @@ DO J1=1,NGAMINC
XGAMINC_RIM4(J1) = GAMMA_INC(XNUS+XBG/XALPHAS ,ZBOUND)
END DO
!
!$acc enter data copyin (XGAMINC_RIM1,XGAMINC_RIM2,XGAMINC_RIM4)
!$acc update device (XGAMINC_RIM1,XGAMINC_RIM2,XGAMINC_RIM4)
!
XRIMINTP1 = XALPHAS / LOG(ZRATE)
XRIMINTP2 = 1.0 + XRIMINTP1*LOG( XDCSLIM/(XGAMINC_BOUND_MIN)**(1.0/XALPHAS) )
......@@ -729,10 +738,18 @@ IND = 50 ! Interval number, collection efficiency and infinite diameter
ZESR = 1.0 ! factor used to integrate the dimensional distributions when
ZFDINFTY = 20.0 ! computing the kernels XKER_RACCSS, XKER_RACCS and XKER_SACCRG
!
IF( .NOT.ALLOCATED(XKER_RACCSS) ) ALLOCATE( XKER_RACCSS(NACCLBDAS,NACCLBDAR) )
IF( .NOT.ALLOCATED(XKER_RACCS ) ) ALLOCATE( XKER_RACCS (NACCLBDAS,NACCLBDAR) )
IF( .NOT.ALLOCATED(XKER_SACCRG) ) ALLOCATE( XKER_SACCRG(NACCLBDAR,NACCLBDAS) )
!$acc enter data create(XKER_RACCSS,XKER_RACCS,XKER_SACCRG)
IF( .NOT.ALLOCATED(XKER_RACCSS) ) THEN
ALLOCATE( XKER_RACCSS(NACCLBDAS,NACCLBDAR) )
!$acc enter data create(XKER_RACCSS)
END IF
IF( .NOT.ALLOCATED(XKER_RACCS ) ) THEN
ALLOCATE( XKER_RACCS (NACCLBDAS,NACCLBDAR) )
!$acc enter data create(XKER_RACCS)
END IF
IF( .NOT.ALLOCATED(XKER_SACCRG) ) THEN
ALLOCATE( XKER_SACCRG(NACCLBDAR,NACCLBDAS) )
!$acc enter data create(XKER_SACCRG)
END IF
!
CALL READ_XKER_RACCS (KACCLBDAS,KACCLBDAR,KND, &
PALPHAS,PNUS,PALPHAR,PNUR,PESR,PBS,PBR,PCS,PDS,PCR,PDR, &
......@@ -946,8 +963,10 @@ IND = 50 ! Interval number, collection efficiency and infinite diameter
ZEGS = 1.0 ! factor used to integrate the dimensional distributions when
ZFDINFTY = 20.0 ! computing the kernels XKER_SDRYG
!
IF( .NOT.ALLOCATED(XKER_SDRYG) ) ALLOCATE( XKER_SDRYG(NDRYLBDAG,NDRYLBDAS) )
!$acc enter data create(XKER_SDRYG)
IF( .NOT.ALLOCATED(XKER_SDRYG) ) THEN
ALLOCATE( XKER_SDRYG(NDRYLBDAG,NDRYLBDAS) )
!$acc enter data create(XKER_SDRYG)
END IF
!
CALL READ_XKER_SDRYG (KDRYLBDAG,KDRYLBDAS,KND, &
PALPHAG,PNUG,PALPHAS,PNUS,PEGS,PBS,PCG,PDG,PCS,PDS, &
......@@ -1019,8 +1038,10 @@ IND = 50 ! Number of interval used to integrate the dimensional
ZEGR = 1.0 ! distributions when computing the kernel XKER_RDRYG
ZFDINFTY = 20.0
!
IF( .NOT.ALLOCATED(XKER_RDRYG) ) ALLOCATE( XKER_RDRYG(NDRYLBDAG,NDRYLBDAR) )
!$acc enter data create(XKER_RDRYG)
IF( .NOT.ALLOCATED(XKER_RDRYG) ) THEN
ALLOCATE( XKER_RDRYG(NDRYLBDAG,NDRYLBDAR) )
!$acc enter data create(XKER_RDRYG)
END IF
!
CALL READ_XKER_RDRYG (KDRYLBDAG,KDRYLBDAR,KND, &
PALPHAG,PNUG,PALPHAR,PNUR,PEGR,PBR,PCG,PDG,PCR,PDR, &
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment