Newer
Older
!MNH_LIC Copyright 1994-2014 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.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
! ################
MODULE MODI_MOMG
! ################
!
INTERFACE MOMG
!
FUNCTION MOMG_X0D(PALPHA, PNU, PP) RESULT(PMOMG)
REAL, INTENT(IN) :: PALPHA, PNU
REAL, INTENT(IN) :: PP
REAL :: PMOMG
END FUNCTION MOMG_X0D
!
FUNCTION MOMG_X1D(PALPHA, PNU, PP) RESULT(PMOMG)
REAL, INTENT(IN) :: PALPHA, PNU
REAL, DIMENSION(:), INTENT(IN) :: PP
REAL, DIMENSION(SIZE(PP)) :: PMOMG
END FUNCTION MOMG_X1D
!
END INTERFACE
END MODULE MODI_MOMG
!
!--------------------------------------------------------------------------
!
!
!!**** *MOMG* -
!!
!! PURPOSE
!! -------
!! Compute: G(p) = Gamma(nu + p/alpha) / Gamma(nu)
!! = M(p) * lambda^p
!!
!!** IMPLICIT ARGUMENTS
!! ------------------
!!
!! REFERENCE
!! ---------
!!
!! AUTHOR
!! ------
!! C. Barthe * Laboratoire de l'Atmosphere et des Cyclones *
!!
!! MODIFICATIONS
!! -------------
!! Original 26 Nov. 2009
!!
!--------------------------------------------------------------------------------
!
!* 1. FUNCTION MOMG FOR SCALAR VARIABLE
! ---------------------------------
!
! ##############################################
FUNCTION MOMG_X0D(PALPHA, PNU, PP) RESULT(PMOMG)
! ##############################################
!
USE MODI_GAMMA
!
IMPLICIT NONE
!
REAL, INTENT(IN) :: PALPHA, PNU
REAL, INTENT(IN) :: PP
REAL :: PMOMG
!
!
PMOMG = GAMMA(PNU+PP/PALPHA) / GAMMA(PNU)
RETURN
!
END FUNCTION MOMG_X0D
!
!-------------------------------------------------------------------------------
!
!* 2. FUNCTION MOMG FOR 1D ARRAY
! --------------------------
!
! ##############################################
FUNCTION MOMG_X1D(PALPHA, PNU, PP) RESULT(PMOMG)
! ##############################################
!
USE MODI_GAMMA
!
IMPLICIT NONE
!
REAL, INTENT(IN) :: PALPHA, PNU
REAL, DIMENSION(:), INTENT(IN) :: PP
REAL, DIMENSION(SIZE(PP)) :: PMOMG
!
!
PMOMG(:) = GAMMA(PNU+PP(:)/PALPHA) / GAMMA(PNU)
RETURN
!
END FUNCTION MOMG_X1D
!
!------------------------------------------------------------------------------