diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90 index d9d28aef64039c9e0a5d4a91061179ff639f3a39..8f00cebc580bf4bbe7a00c955ad007bfe8c2c088 100644 --- a/src/MNH/ini_modeln.f90 +++ b/src/MNH/ini_modeln.f90 @@ -2555,27 +2555,41 @@ RCCO2 = 360.0E-06 * 44.0E-03 / XMD ! !* 17.2 Externalized surface fields ! --------------------------- -IF (CPROGRAM=='MESONH') THEN - ! ajout flux aerosols marins - ALLOCATE(XFLXT_SLT(IIU,IJU,NMODE_SLT)) - ALLOCATE(XFLX_SLT(IIU,IJU,NMODE_SLT)) - ALLOCATE(XFLX_AER(IIU,IJU,NSV_AER)) - ALLOCATE(XFLXT_AER(IIU,IJU,NSV_AER)) - ALLOCATE(XFLX_DMS(IIU,IJU)) - ALLOCATE(XFLXT_DMS(IIU,IJU)) - XFLX_SLT(:,:,:) = 0. - XFLXT_SLT(:,:,:) = 0. - XFLX_AER(:,:,:) = 0. - XFLXT_AER(:,:,:) = 0. - XFLX_DMS(:,:) = 0. - XFLXT_DMS(:,:) = 0. +IF ( CPROGRAM == 'MESONH' ) THEN + ! Add sea salt fluxes + IF ( LSALT ) THEN; + ALLOCATE( XFLXT_SLT(IIU, IJU, NMODE_SLT) ) ; XFLX_SLT( :,:,:) = 0. + ALLOCATE( XFLX_SLT (IIU, IJU, NMODE_SLT) ) ; XFLXT_SLT(:,:,:) = 0. + ELSE + ALLOCATE( XFLXT_SLT(0, 0, 0) ) + ALLOCATE( XFLX_SLT (0, 0, 0) ) + END IF + IF ( LORILAM ) THEN + ALLOCATE( XFLX_AER (IIU, IJU, NSV_AER) ) ; XFLX_AER (:,:,:) = 0. + ALLOCATE( XFLXT_AER(IIU, IJU, NSV_AER) ) ; XFLXT_AER(:,:,:) = 0. + ELSE + ALLOCATE( XFLX_AER (0, 0, 0) ) + ALLOCATE( XFLXT_AER(0, 0, 0) ) + END IF + IF ( LUSECHEM ) THEN + ALLOCATE( XFLX_DMS (IIU, IJU) ) ; XFLX_DMS (:,:) = 0. + ALLOCATE( XFLXT_DMS(IIU, IJU) ) ; XFLXT_DMS(:,:) = 0. + ELSE + ALLOCATE( XFLX_DMS (0, 0) ) + ALLOCATE( XFLXT_DMS(0, 0) ) + END IF +ELSE + ALLOCATE( XFLXT_SLT(0, 0, 0) ) + ALLOCATE( XFLX_SLT (0, 0, 0) ) + ALLOCATE( XFLX_AER (0, 0, 0) ) + ALLOCATE( XFLXT_AER(0, 0, 0) ) + ALLOCATE( XFLX_DMS (0, 0) ) + ALLOCATE( XFLXT_DMS(0, 0) ) END IF - ! ALLOCATE(ZCO2(IIU,IJU)) ZCO2(:,:) = XCCO2 ! - ALLOCATE(ZDIR_ALB(IIU,IJU,NSWB_MNH)) ALLOCATE(ZSCA_ALB(IIU,IJU,NSWB_MNH)) ALLOCATE(ZEMIS (IIU,IJU,NLWB_MNH))