diff --git a/src/MNH/ice4_compute_pdf.f90 b/src/MNH/ice4_compute_pdf.f90 index 9d0832f6ed39f46e87825b9447b0e04a04555e7c..b21c4cf7308df7dea85752538ea99358709806ba 100644 --- a/src/MNH/ice4_compute_pdf.f90 +++ b/src/MNH/ice4_compute_pdf.f90 @@ -443,7 +443,9 @@ ELSE CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'ICE4_COMPUTE_PDF', 'wrong HSUBG_AUCV_RI case' ) ENDIF ! +!$acc kernels PRF=MAX(PHLC_HCF,PHLI_HCF) +!$acc end kernels ! IF (MPPDB_INITIALIZED) THEN !Check all INOUT arrays diff --git a/src/MNH/resolved_cloud.f90 b/src/MNH/resolved_cloud.f90 index 8ccae12a83e71254dd24ec8960da69108f330964..97e4c00d98fde746fbf0bd180ca9cfc80877865c 100644 --- a/src/MNH/resolved_cloud.f90 +++ b/src/MNH/resolved_cloud.f90 @@ -855,7 +855,11 @@ CALL PRINT_MSG(NVERB_FATAL,'GEN','RESOLVED_CLOUD','C2R2//KHKO not yet implemente allocate( zexn( size( pzz, 1 ), size( pzz, 2 ), size( pzz, 3 ) ) ) !$acc data create( ZEXN ) !$acc kernels +#ifndef MNH_BITREP ZEXN(:,:,:)= (PPABST(:,:,:)/XP00)**(XRD/XCPD) +#else + ZEXN(:,:,:)= BR_POW( PPABST(:,:,:)/XP00, XRD/XCPD ) +#endif !$acc end kernels ! !* 9.1 Compute the explicit microphysical sources @@ -866,8 +870,8 @@ CALL PRINT_MSG(NVERB_FATAL,'GEN','RESOLVED_CLOUD','C2R2//KHKO not yet implemente ! ALLOCATE(ZTHSSTEP,MOLD=PTHS) ! ALLOCATE(ZTHSSTEP(SIZE(PTHS,1),SIZE(PTHS,2),SIZE(PTHS,3))) !$acc kernels present(ZTHSSTEP,PTHS,ZRSSTEP,PRS,ZDZZ,PZZ) - ZTHSSTEP = PTHS * PTSTEP - ZRSSTEP = PRS * PTSTEP + ZTHSSTEP(:,:,:) = PTHS(:,:,:) * PTSTEP + ZRSSTEP (:,:,:,:) = PRS (:,:,:,:) * PTSTEP ! ZDZZ(:,:,1:IKB-1) = 0. DO JK=IKB,IKE @@ -876,7 +880,7 @@ CALL PRINT_MSG(NVERB_FATAL,'GEN','RESOLVED_CLOUD','C2R2//KHKO not yet implemente ZDZZ(:,:,IKE+1:) = 0. !$acc end kernels #ifndef MNH_OPENACC - ZZZ = MZF( PZZ ) + ZZZ(:,:,:) = MZF( PZZ(:,:,:) ) #else CALL MZF_DEVICE(1,IKU,1,PZZ,ZZZ) #endif @@ -972,7 +976,11 @@ CALL PRINT_MSG(NVERB_FATAL,'GEN','RESOLVED_CLOUD','ICE4 not yet implemented') allocate( zexn( size( pzz, 1 ), size( pzz, 2 ), size( pzz, 3 ) ) ) !$acc data create( ZEXN ) !$acc kernels +#ifndef MNH_BITREP ZEXN(:,:,:)= (PPABST(:,:,:)/XP00)**(XRD/XCPD) +#else + ZEXN(:,:,:)= BR_POW( PPABST(:,:,:)/XP00, XRD/XCPD ) +#endif !$acc end kernels ! !* 10.1 Compute the explicit microphysical sources