From 6ea79f2ea9bf5c64ecae176d54f1a6b371592682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Vi=C3=A9?= <benoit.vie@meteo.fr> Date: Wed, 30 Mar 2022 14:27:49 +0200 Subject: [PATCH] Update routines modification history --- src/MNH/lima_adjust_split.f90 | 1 + src/MNH/lima_ice_aggregation_snow.f90 | 23 +++++++------- src/MNH/lima_ice_deposition.f90 | 2 +- src/MNH/lima_nucleation_procs.f90 | 1 + src/MNH/lima_snow_deposition.f90 | 43 ++++++++++++++------------- src/MNH/lima_tendencies.f90 | 1 + 6 files changed, 38 insertions(+), 33 deletions(-) diff --git a/src/MNH/lima_adjust_split.f90 b/src/MNH/lima_adjust_split.f90 index f5f09e514..8baf17668 100644 --- a/src/MNH/lima_adjust_split.f90 +++ b/src/MNH/lima_adjust_split.f90 @@ -144,6 +144,7 @@ END MODULE MODI_LIMA_ADJUST_SPLIT !! ------------- !! Original 06/2021 forked from lima_adjust.f90 ! P. Wautelet 23/07/2021: replace non-standard FLOAT function by REAL function +! B. Vie 03/2022: Add option for 1-moment pristine ice !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS diff --git a/src/MNH/lima_ice_aggregation_snow.f90 b/src/MNH/lima_ice_aggregation_snow.f90 index cca87089e..2979bee5b 100644 --- a/src/MNH/lima_ice_aggregation_snow.f90 +++ b/src/MNH/lima_ice_aggregation_snow.f90 @@ -53,7 +53,8 @@ END MODULE MODI_LIMA_ICE_AGGREGATION_SNOW !! ------------- !! Original 15/03/2018 ! J. Wurtz 03/2022: new snow characteristics -!! +! B. Vie 03/2022: Add option for 1-moment pristine ice +! !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -110,19 +111,19 @@ IF (NMOM_I.EQ.1) THEN P_RI_AGGS(:) = - ZZW1(:) END WHERE ELSE -WHERE ( (PRIT(:)>XRTMIN(4)) .AND. (PRST(:)>XRTMIN(5)) .AND. LDCOMPUTE(:) ) - ZZW1(:) = (PLBDI(:) / PLBDS(:))**3 - ZZW2(:) = (PCIT(:)*(XLBS*PRST(:)*PLBDS(:)**XBS)*EXP(XCOLEXIS*(PT(:)-XTT) )) & - / (PLBDI(:)**3) - ZZW3(:) = ZZW2(:)*(XAGGS_CLARGE1+XAGGS_CLARGE2*ZZW1(:)) + WHERE ( (PRIT(:)>XRTMIN(4)) .AND. (PRST(:)>XRTMIN(5)) .AND. LDCOMPUTE(:) ) + ZZW1(:) = (PLBDI(:) / PLBDS(:))**3 + ZZW2(:) = (PCIT(:)*(XLBS*PRST(:)*PLBDS(:)**XBS)*EXP(XCOLEXIS*(PT(:)-XTT) )) & + / (PLBDI(:)**3) + ZZW3(:) = ZZW2(:)*(XAGGS_CLARGE1+XAGGS_CLARGE2*ZZW1(:)) ! - P_CI_AGGS(:) = - ZZW3(:) + P_CI_AGGS(:) = - ZZW3(:) ! - ZZW2(:) = ZZW2(:) / PLBDI(:)**XBI - ZZW2(:) = ZZW2(:)*(XAGGS_RLARGE1+XAGGS_RLARGE2*ZZW1(:)) + ZZW2(:) = ZZW2(:) / PLBDI(:)**XBI + ZZW2(:) = ZZW2(:)*(XAGGS_RLARGE1+XAGGS_RLARGE2*ZZW1(:)) ! - P_RI_AGGS(:) = - ZZW2(:) -END WHERE + P_RI_AGGS(:) = - ZZW2(:) + END WHERE END IF ! ! diff --git a/src/MNH/lima_ice_deposition.f90 b/src/MNH/lima_ice_deposition.f90 index 0c9bfedda..2b46227b8 100644 --- a/src/MNH/lima_ice_deposition.f90 +++ b/src/MNH/lima_ice_deposition.f90 @@ -67,7 +67,7 @@ SUBROUTINE LIMA_ICE_DEPOSITION (PTSTEP, LDCOMPUTE, & !! ------------- !! Original 15/03/2018 !! B. Vié 30/08/2021 Disable CNVS if LSNOW=F -!! +!! B. Vie 03/2022 Add option for 1-moment pristine ice !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS diff --git a/src/MNH/lima_nucleation_procs.f90 b/src/MNH/lima_nucleation_procs.f90 index 11fb8d6c5..f3f4e17fd 100644 --- a/src/MNH/lima_nucleation_procs.f90 +++ b/src/MNH/lima_nucleation_procs.f90 @@ -79,6 +79,7 @@ SUBROUTINE LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, PRHODJ, ! P. Wautelet 27/02/2020: add Z_TH_HINC variable (for budgets) ! P. Wautelet 02/2020: use the new data structures and subroutines for budgets ! B. Vie 03/03/2020: use DTHRAD instead of dT/dt in Smax diagnostic computation +! B. Vie 03/2022: Add option for 1-moment pristine ice !------------------------------------------------------------------------------- ! use modd_budget, only: lbu_enable, lbudget_th, lbudget_rv, lbudget_rc, lbudget_rr, & diff --git a/src/MNH/lima_snow_deposition.f90 b/src/MNH/lima_snow_deposition.f90 index 0362f026c..fa96aa705 100644 --- a/src/MNH/lima_snow_deposition.f90 +++ b/src/MNH/lima_snow_deposition.f90 @@ -64,6 +64,7 @@ SUBROUTINE LIMA_SNOW_DEPOSITION (LDCOMPUTE, & !! Original 15/03/2018 !! ! J. Wurtz 03/2022: new snow characteristics +! B. Vie 03/2022: Add option for 1-moment pristine ice !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -131,42 +132,42 @@ IF (NMOM_I.EQ.1) THEN P_RS_DEPS(:) = ZZW(:) END WHERE ELSE -WHERE( GMICRO ) + WHERE( GMICRO ) ! !* 2.1 Conversion of snow to r_i: RSCNVI ! ---------------------------------------- ! ! - ZZW2(:) = 0.0 - ZZW(:) = 0.0 - WHERE ( PLBDS(:)<XLBDASCNVI_MAX .AND. (PRST(:)>XRTMIN(5)) & - .AND. (PSSI(:)<0.0) ) - ZZW(:) = (PLBDS(:)*XDSCNVI_LIM)**(XALPHAS) - ZZX(:) = ( -PSSI(:)/PAI(:) ) * (XLBS*PRST(:)*PLBDS(:)**XBS) * (ZZW(:)**XNUS) * EXP(-ZZW(:)) + ZZW2(:) = 0.0 + ZZW(:) = 0.0 + WHERE ( PLBDS(:)<XLBDASCNVI_MAX .AND. (PRST(:)>XRTMIN(5)) & + .AND. (PSSI(:)<0.0) ) + ZZW(:) = (PLBDS(:)*XDSCNVI_LIM)**(XALPHAS) + ZZX(:) = ( -PSSI(:)/PAI(:) ) * (XLBS*PRST(:)*PLBDS(:)**XBS) * (ZZW(:)**XNUS) * EXP(-ZZW(:)) ! - ZZW(:) = ( XR0DEPSI+XR1DEPSI*PCJ(:) )*ZZX(:) + ZZW(:) = ( XR0DEPSI+XR1DEPSI*PCJ(:) )*ZZX(:) ! - ZZW2(:) = ZZW(:)*( XC0DEPSI+XC1DEPSI*PCJ(:) )/( XR0DEPSI+XR1DEPSI*PCJ(:) ) - END WHERE + ZZW2(:) = ZZW(:)*( XC0DEPSI+XC1DEPSI*PCJ(:) )/( XR0DEPSI+XR1DEPSI*PCJ(:) ) + END WHERE ! - P_RI_CNVI(:) = ZZW(:) - P_CI_CNVI(:) = ZZW2(:) + P_RI_CNVI(:) = ZZW(:) + P_CI_CNVI(:) = ZZW2(:) ! ! !* 2.2 Deposition of water vapor on r_s: RVDEPS ! ----------------------------------------------- ! ! - ZZW(:) = 0.0 - WHERE ( (PRST(:)>XRTMIN(5)) ) - ZZW(:) = ( PRST(:)*PSSI(:)/(PAI(:)) ) * & - ( X0DEPS*PLBDS(:)**XEX0DEPS + & - ( X1DEPS*PCJ(:)*(PLBDS(:))**(XBS+XEX1DEPS) * & - (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 + ZZW(:) = 0.0 + WHERE ( (PRST(:)>XRTMIN(5)) ) + ZZW(:) = ( PRST(:)*PSSI(:)/(PAI(:)) ) * & + ( X0DEPS*PLBDS(:)**XEX0DEPS + & + ( X1DEPS*PCJ(:)*(PLBDS(:))**(XBS+XEX1DEPS) * & + (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(:) + P_RS_DEPS(:) = ZZW(:) !!$ P_TH_DEPS(:) = P_RS_DEPS(:) * PLSFACT(:) ! END WHERE diff --git a/src/MNH/lima_tendencies.f90 b/src/MNH/lima_tendencies.f90 index 1a48613a6..0fce8cb11 100644 --- a/src/MNH/lima_tendencies.f90 +++ b/src/MNH/lima_tendencies.f90 @@ -234,6 +234,7 @@ SUBROUTINE LIMA_TENDENCIES (PTSTEP, LDCOMPUTE, !! ! Delbeke/Vie 03/2022 : KHKO option ! J. Wurtz 03/2022 : new snow characteristics +! B. Vie 03/2022: Add option for 1-moment pristine ice !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS -- GitLab