diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90 index a6099e6a0f4eb779347699adbcf1e6f85fc896ca..01c1c560e957fed8f28c7445895ae399ea2487da 100644 --- a/src/MNH/write_lfifm1_for_diag.f90 +++ b/src/MNH/write_lfifm1_for_diag.f90 @@ -1348,8 +1348,26 @@ IF ((LCHEMDIAG).AND.(LORILAM).AND.(LUSECHEM)) THEN IF (.NOT.(ASSOCIATED(XSIG3D))) & ALLOCATE(XSIG3D(SIZE(XSVT,1),SIZE(XSVT,2),SIZE(XSVT,3),JPMODE)) ! - CALL PPP2AERO(XSVT(:,:,:,NSV_AERBEG:NSV_AEREND), XRHODREF, & - PSIG3D=XSIG3D, PRG3D=XRG3D, PN3D=XN3D, PCTOTA=ZPTOTA) + IF (CRGUNIT=="MASS") THEN + XRG3D(:,:,:,1) = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) + XRG3D(:,:,:,2) = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) + ELSE + XRG3D(:,:,:,1) = XINIRADIUSI + XRG3D(:,:,:,2) = XINIRADIUSJ + END IF + XSIG3D(:,:,:,1) = XINISIGI + XSIG3D(:,:,:,2) = XINISIGJ + XN3D(:,:,:,1) = XN0IMIN + XN3D(:,:,:,2) = XN0JMIN + + ZPTOTA(:,:,:,:,:) = 0. + + CALL PPP2AERO(XSVT(IIB:IIE,IJB:IJE,IKB:IKE,NSV_AERBEG:NSV_AEREND),& + XRHODREF(IIB:IIE,IJB:IJE,IKB:IKE), & + PSIG3D=XSIG3D(IIB:IIE,IJB:IJE,IKB:IKE,:),& + PRG3D=XRG3D(IIB:IIE,IJB:IJE,IKB:IKE,:),& + PN3D=XN3D(IIB:IIE,IJB:IJE,IKB:IKE,:),& + PCTOTA=ZPTOTA(IIB:IIE,IJB:IJE,IKB:IKE,:,:)) TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for aerosol modes', &