From 85a1faf03d48888cf7eaf46bbc2beff348ca3156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Vi=C3=A9?= <benoit.vie@meteo.fr> Date: Thu, 5 May 2022 15:27:22 +0200 Subject: [PATCH] Corrections LIMA pour NMOM_I=1 & LSNOW_T=T --- src/MNH/ini_lima_cold_mixed.f90 | 3 ++- src/MNH/lima_ice_aggregation_snow.f90 | 9 +++++---- src/MNH/lima_snow_deposition.f90 | 6 ++++-- src/MNH/modd_param_lima_cold.f90 | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/MNH/ini_lima_cold_mixed.f90 b/src/MNH/ini_lima_cold_mixed.f90 index c638491cc..e6daea87e 100644 --- a/src/MNH/ini_lima_cold_mixed.f90 +++ b/src/MNH/ini_lima_cold_mixed.f90 @@ -698,7 +698,8 @@ XITAUTS_THRESHOLD = 7.5 !* 6.4 Constants for snow aggregation ! XCOLEXIS = 0.05 ! Temperature factor of the I+S collection efficiency -XFIAGGS = (XPI/4.0)*0.25*XCCS*XCS*(ZRHO00**XCEXVT)*MOMG(XALPHAS,XNUS,XDS+2.0) +XFIAGGS = XNS*(XPI/4.0)*0.25*XCS*(ZRHO00**XCEXVT)*MOMG(XALPHAS,XNUS,XDS+2.0) +XEXIAGGS = -XDS - 2.0 XAGGS_CLARGE1 = XKER_ZRNIC_A2*ZGAMI(2) XAGGS_CLARGE2 = XKER_ZRNIC_A2*ZGAMS(2) XAGGS_RLARGE1 = XKER_ZRNIC_A2*ZGAMI(6)*XAI diff --git a/src/MNH/lima_ice_aggregation_snow.f90 b/src/MNH/lima_ice_aggregation_snow.f90 index bc69b90b0..74f1594b5 100644 --- a/src/MNH/lima_ice_aggregation_snow.f90 +++ b/src/MNH/lima_ice_aggregation_snow.f90 @@ -61,9 +61,9 @@ END MODULE MODI_LIMA_ICE_AGGREGATION_SNOW ! ------------ ! USE MODD_CST, ONLY : XTT -USE MODD_PARAM_LIMA, ONLY : XRTMIN, XCTMIN, XCEXVT, NMOM_I +USE MODD_PARAM_LIMA, ONLY : XRTMIN, XCTMIN, XCEXVT, NMOM_I, XNUS, XALPHAS, XCEXVT USE MODD_PARAM_LIMA_COLD, ONLY : XBI, XCCS, XCXS, XCOLEXIS, XAGGS_CLARGE1, XAGGS_CLARGE2, & - XAGGS_RLARGE1, XAGGS_RLARGE2, XFIAGGS, XBS, XNS + XAGGS_RLARGE1, XAGGS_RLARGE2, XFIAGGS, XBS, XNS, XFVELOS, XEXIAGGS ! IMPLICIT NONE ! @@ -105,8 +105,9 @@ IF (NMOM_I.EQ.1) THEN WHERE ( (PRIT(:)>XRTMIN(4)) .AND. (PRST(:)>XRTMIN(5)) .AND. LDCOMPUTE(:) ) ZZW1(:) = XFIAGGS * EXP( XCOLEXIS*(PT(:)-XTT) ) & * PRIT(:) & - * PLBDS(:)**(1.-0.27-2.) & - * PRHODREF(:)**(-XCEXVT) + * PRST(:) * (1+(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEXIAGGS/XALPHAS) & + * PRHODREF(:)**(-XCEXVT+1.) & + * ((PLBDS(:))**(XBS+XEXIAGGS)) ! P_RI_AGGS(:) = - ZZW1(:) END WHERE diff --git a/src/MNH/lima_snow_deposition.f90 b/src/MNH/lima_snow_deposition.f90 index 4c3288390..89fa334ae 100644 --- a/src/MNH/lima_snow_deposition.f90 +++ b/src/MNH/lima_snow_deposition.f90 @@ -125,8 +125,10 @@ IF (NMOM_I.EQ.1) THEN ! ZZW(:) = 0.0 WHERE ( (PRST(:)>XRTMIN(5)) ) - ZZW(:) = ( PSSI(:)/(PAI(:)*PRHODREF(:)) ) * & - ( X0DEPS*PLBDS(:)**XEX0DEPS + X1DEPS*PCJ(:)*PLBDS(:)**XEX1DEPS ) + ZZW(:) = PRHODREF(:) * PRST(:) * PSSI(:) / PAI(:) * & + ( X0DEPS*PLBDS(:)**XEX0DEPS + & + X1DEPS*PLBDS(:)**(XEX1DEPS+XBS)*PCJ(:) * & + (1+(XFVELOS/(2.*PLBDS))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) ) ZZW(:) = ZZW(:)*(0.5+SIGN(0.5,ZZW(:))) - ABS(ZZW(:))*(0.5-SIGN(0.5,ZZW(:))) END WHERE P_RS_DEPS(:) = ZZW(:) diff --git a/src/MNH/modd_param_lima_cold.f90 b/src/MNH/modd_param_lima_cold.f90 index 21227c661..3ae77bb76 100644 --- a/src/MNH/modd_param_lima_cold.f90 +++ b/src/MNH/modd_param_lima_cold.f90 @@ -110,7 +110,7 @@ REAL,SAVE :: XDICNVS_LIM, XLBDAICNVS_LIM, & ! Constants for pristine ice REAL,SAVE :: XCOLEXIS, & ! Constants for snow XAGGS_CLARGE1,XAGGS_CLARGE2, & ! aggregation : AGG XAGGS_RLARGE1,XAGGS_RLARGE2, & - XFIAGGS + XFIAGGS,XEXIAGGS ! !?????????????????? REAL,SAVE :: XKER_ZRNIC_A1,XKER_ZRNIC_A2 ! Long-Zrnic Kernels (ini_ice_coma) -- GitLab