From e8ce4b4bb8a952e098fd4cf1b0ec01d44f104cd8 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 30 Mar 2021 10:40:47 +0200 Subject: [PATCH] Philippe 30/03/2021: move NINDICE_CCN_IMM and NIMM initializations from init_aerosol_properties to ini_nsv --- src/MNH/ini_nsv.f90 | 20 +++++++++++++++++++- src/MNH/init_aerosol_properties.f90 | 28 +++++----------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/MNH/ini_nsv.f90 b/src/MNH/ini_nsv.f90 index 3af5e4c35..1f267bdac 100644 --- a/src/MNH/ini_nsv.f90 +++ b/src/MNH/ini_nsv.f90 @@ -68,6 +68,7 @@ END MODULE MODI_INI_NSV ! P. Wautelet 09/03/2021: move some chemistry initializations to ini_nsv ! P. Wautelet 10/03/2021: move scalar variable name initializations to ini_nsv ! P. Wautelet 10/03/2021: add CSVNAMES and CSVNAMES_A to store the name of all the scalar variables +! P. Wautelet 30/03/2021: move NINDICE_CCN_IMM and NIMM initializations from init_aerosol_properties to ini_nsv !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -103,7 +104,7 @@ USE MODD_LG, ONLY: CLGNAMES, XLG1MIN, XLG2MIN, XLG3MIN USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_NSV USE MODD_PARAM_C2R2, ONLY: LSUPSAT -USE MODD_PARAM_LIMA, ONLY: NINDICE_CCN_IMM, NMOD_CCN, LSCAV, LAERO_MASS, & +USE MODD_PARAM_LIMA, ONLY: NINDICE_CCN_IMM, NIMM, NMOD_CCN, LSCAV, LAERO_MASS, & NMOD_IFN, NMOD_IMM, LHHONI, & LWARM, LCOLD, LRAIN USE MODD_PARAM_LIMA_COLD, ONLY: CLIMA_COLD_NAMES @@ -231,6 +232,23 @@ IF (CCLOUD == 'LIMA' ) THEN NSV_LIMA_IMM_NUCL_A(KMI) = ISV ISV = ISV + MAX(1,NMOD_IMM) END IF + + IF ( NMOD_IFN > 0 ) THEN + IF ( .NOT. ALLOCATED( NIMM ) ) ALLOCATE( NIMM(NMOD_CCN) ) + NIMM(:) = 0 + IF ( ALLOCATED( NINDICE_CCN_IMM ) ) DEALLOCATE( NINDICE_CCN_IMM ) + ALLOCATE( NINDICE_CCN_IMM(MAX( 1, NMOD_IMM )) ) + IF (NMOD_IMM > 0 ) THEN + DO JI = 0, NMOD_IMM - 1 + NIMM(NMOD_CCN - JI) = 1 + NINDICE_CCN_IMM(NMOD_IMM - JI) = NMOD_CCN - JI + END DO +! ELSE IF (NMOD_IMM == 0) THEN ! PNIS exists but is 0 for the call to resolved_cloud +! NMOD_IMM = 1 +! NINDICE_CCN_IMM(1) = 0 + END IF + END IF + ! Homogeneous freezing of CCN IF (LCOLD .AND. LHHONI) THEN NSV_LIMA_HOM_HAZE_A(KMI) = ISV diff --git a/src/MNH/init_aerosol_properties.f90 b/src/MNH/init_aerosol_properties.f90 index 84f1a5bd0..b52de24a7 100644 --- a/src/MNH/init_aerosol_properties.f90 +++ b/src/MNH/init_aerosol_properties.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2019 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. @@ -36,23 +36,21 @@ END MODULE MODI_INIT_AEROSOL_PROPERTIES !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! Philippe Wautelet: 22/01/2019: bugs correction: incorrect writes + unauthorized goto ! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg -!! +! P. Wautelet 30/03/2021: move NINDICE_CCN_IMM and NIMM initializations from init_aerosol_properties to ini_nsv !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS ! ------------ ! -USE MODD_PARAM_n, ONLY : CCLOUD USE MODD_LUNIT, ONLY : TLUOUT0 -USE MODD_PARAM_LIMA, ONLY : LWARM, LACTI, NMOD_CCN, HINI_CCN, HTYPE_CCN, & +USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, HINI_CCN, HTYPE_CCN, & XR_MEAN_CCN, XLOGSIG_CCN, XRHO_CCN, & XKHEN_MULTI, XMUHEN_MULTI, XBETAHEN_MULTI, & XLIMIT_FACTOR, CCCN_MODES, LSCAV, & XACTEMP_CCN, XFSOLUB_CCN, & - LCOLD, LNUCL, NMOD_IFN, NSPECIE, CIFN_SPECIES, & + NMOD_IFN, NSPECIE, CIFN_SPECIES, & XMDIAM_IFN, XSIGMA_IFN, XRHO_IFN, XFRAC, XFRAC_REF, & - CINT_MIXING, NMOD_IMM, NINDICE_CCN_IMM, NIMM, & - NPHILLIPS + CINT_MIXING, NPHILLIPS ! use mode_msg ! @@ -359,22 +357,6 @@ IF ( NMOD_IFN .GE. 1 ) THEN XFRAC_REF(4)=0.06 END IF ! -! Immersion modes -! - IF (.NOT.(ALLOCATED(NIMM))) ALLOCATE(NIMM(NMOD_CCN)) - NIMM(:)=0 - IF (ALLOCATED(NINDICE_CCN_IMM)) DEALLOCATE(NINDICE_CCN_IMM) - ALLOCATE(NINDICE_CCN_IMM(MAX(1,NMOD_IMM))) - IF (NMOD_IMM .GE. 1) THEN - DO J = 0, NMOD_IMM-1 - NIMM(NMOD_CCN-J)=1 - NINDICE_CCN_IMM(NMOD_IMM-J) = NMOD_CCN-J - END DO -! ELSE IF (NMOD_IMM == 0) THEN ! PNIS existe mais vaut 0, pour l'appel à resolved_cloud -! NMOD_IMM = 1 -! NINDICE_CCN_IMM(1) = 0 - END IF -! END IF ! NMOD_IFN > 0 ! END SUBROUTINE INIT_AEROSOL_PROPERTIES -- GitLab