Skip to content
Snippets Groups Projects
Commit 241f77c5 authored by RIETTE Sébastien's avatar RIETTE Sébastien
Browse files

SR 21/01/2022 compute_frac_ice as fortran include

mode_compute_frac_ice becomes an include file which must be used
in contains section of subroutines through an #include or a fortran
INCLUDE
parent c8b54912
No related branches found
No related tags found
No related merge requests found
......@@ -54,5 +54,3 @@ SPP
Gradients/shuman:
- essayer de mettre des abort dans les routines arome (shuman doit suffire)
compute_frac_ice: prendre la solution retenue à la fin de la discussion entre LAERO et GMAP
......@@ -70,7 +70,6 @@ USE MODI_COMPUTE_UPDRAFT_RAHA
USE MODI_MF_TURB
USE MODI_MF_TURB_EXPL
USE MODI_COMPUTE_MF_CLOUD
USE MODE_COMPUTE_FRAC_ICE, ONLY : COMPUTE_FRAC_ICE
!
IMPLICIT NONE
......@@ -295,4 +294,8 @@ IF( HMF_UPDRAFT == 'DUAL') THEN
ENDIF
!
IF (LHOOK) CALL DR_HOOK('SHALLOW_MF',1,ZHOOK_HANDLE)
!
CONTAINS
INCLUDE "compute_frac_ice.func.h"
!
END SUBROUTINE SHALLOW_MF
......@@ -43,7 +43,6 @@
!
USE PARKIND1, ONLY : JPRB
USE YOMHOOK , ONLY : LHOOK, DR_HOOK
USE MODE_COMPUTE_FRAC_ICE, ONLY : COMPUTE_FRAC_ICE
USE MODD_CST!, ONLY: XP00, XRD, XCPD, XCPV, XCL, XCI, XLVTT, XTT, XLSTT
USE MODE_THERMO
!
......@@ -191,4 +190,8 @@ ENDDO
IF (LHOOK) CALL DR_HOOK('TH_R_FROM_THL_RT_1D',1,ZHOOK_HANDLE)
!
CONTAINS
INCLUDE "compute_frac_ice.func.h"
!
END SUBROUTINE TH_R_FROM_THL_RT_1D
......@@ -2,29 +2,13 @@
!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.
! ######spl
MODULE MODE_COMPUTE_FRAC_ICE
! ############################
ELEMENTAL SUBROUTINE COMPUTE_FRAC_ICE(HFRAC_ICE,PFRAC_ICE,PT,KERR)
! ******* TO BE INCLUDED IN THE *CONTAINS* OF A SUBROUTINE, IN ORDER TO EASE AUTOMATIC INLINING ******
! => Don't use drHook !!!
!
!!**** *COMPUTE_FRAC_ICE* - computes ice fraction
!!
!! PURPOSE
!! -------
!!
!!** METHOD
!! ------
!!
!!
!! EXTERNAL
!! --------
!!
!! IMPLICIT ARGUMENTS
!! ------------------
!!
!!
!! REFERENCE
!! ---------
!!
!
!! AUTHOR
!! ------
!! Julien PERGAUD * Meteo-France *
......@@ -34,43 +18,21 @@
!! Original 13/03/06
!! S. Riette April 2011 optimisation
!! S. Riette 08/2016 add option O
!! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg
!! R. El Khatib 24-Aug-2021 Optimization by cache re-use + assume data is contiguous
!! S. Riette Jan-2022 Merge the 3 procedures in one module + array shape declaration
! R. El Khatib / S. Riette Jan-2022 written as an elemental subroutine
!! R. El Khatib 12-Aug-2021 written as a include file
!
!
!
!****************** Don't use drHook !!!
IMPLICIT NONE
CONTAINS
ELEMENTAL SUBROUTINE COMPUTE_FRAC_ICE(HFRAC_ICE, PFRAC_ICE, PT, KERR)
!! --------------------------------------------------------------------------
! 0. DECLARATIONS
! ------------
!
USE MODD_NEB, ONLY : XTMINMIX, XTMAXMIX
USE MODD_CST, ONLY : XTT
!
IMPLICIT NONE
!
CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE ! scheme to use
REAL, INTENT(IN) :: PT ! temperature
REAL, INTENT(INOUT) :: PFRAC_ICE ! Ice fraction (1 for ice only, 0 for liquid only)
INTEGER, INTENT(OUT) :: KERR ! Error code in return
!
!* 0.1 declarations of arguments
!
CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE ! scheme to use
REAL, INTENT(IN) :: PT ! Temperature
REAL, INTENT(INOUT) :: PFRAC_ICE ! Ice fraction (1 for ice only, 0 for liquid only)
INTEGER, INTENT(OUT) :: KERR ! Error code in return
!
! 0.2 declaration of local variables
!
!------------------------------------------------------------------------
! 1. Compute FRAC_ICE
!
KERR=0
......@@ -87,7 +49,5 @@ SELECT CASE(HFRAC_ICE)
CASE DEFAULT
KERR=1
END SELECT
!
END SUBROUTINE COMPUTE_FRAC_ICE
!
END MODULE MODE_COMPUTE_FRAC_ICE
......@@ -87,7 +87,6 @@ USE YOMHOOK , ONLY : LHOOK, DR_HOOK
USE MODD_CST
USE MODD_PARAMETERS
USE MODD_RAIN_ICE_PARAM, ONLY : XCRIAUTC, XCRIAUTI, XACRIAUTI, XBCRIAUTI
USE MODE_COMPUTE_FRAC_ICE, ONLY : COMPUTE_FRAC_ICE
USE MODE_TIWMX, ONLY : ESATW, ESATI
USE MODE_ICECLOUD, ONLY : ICECLOUD
!
......@@ -546,4 +545,8 @@ DO JK=IKTB,IKTE
END DO
!
IF (LHOOK) CALL DR_HOOK('CONDENSATION',1,ZHOOK_HANDLE)
!
CONTAINS
INCLUDE "compute_frac_ice.func.h"
!
END SUBROUTINE CONDENSATION
......@@ -188,7 +188,6 @@ USE MODI_MF_TURB
USE MODI_MF_TURB_EXPL
USE MODI_MF_TURB_GREYZONE
USE MODI_COMPUTE_MF_CLOUD
USE MODE_COMPUTE_FRAC_ICE, ONLY : COMPUTE_FRAC_ICE
USE MODI_SHUMAN_MF
!
USE MODI_COMPUTE_BL89_ML
......@@ -435,4 +434,7 @@ IF( HMF_UPDRAFT == 'DUAL') THEN
! PDVDT_MF=0.
ENDIF
!
CONTAINS
INCLUDE "compute_frac_ice.func.h"
!
END SUBROUTINE SHALLOW_MF
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment