Philippe 14/11/2016: minor: removed unused IO arguments
[MNH-git_open_source-lfs.git] / src / MNH / c3r5_adjust.f90
1 !MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
3 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
4 !MNH_LIC for details. version 1.
5 !-----------------------------------------------------------------
6 !--------------- special set of characters for RCS information
7 !-----------------------------------------------------------------
8 ! $Source$ $Revision$
9 ! MASDEV4_7 microph 2006/06/06 18:25:10
10 !-----------------------------------------------------------------
11 !     #######################
12       MODULE MODI_C3R5_ADJUST
13 !     #######################
14 !
15 INTERFACE
16 !
17       SUBROUTINE C3R5_ADJUST( KRR, KMI, HRAD,                                  &
18                              HTURBDIM, OSUBG_COND, PTSTEP,                     &
19                              PRHODREF, PRHODJ, PEXNREF, PSIGS, PPABST,         &
20                              PRVT, PRCT, PRRT, PRIT, PRST, PRGT, PRHT,         &
21                              PRVS, PRCS, PRRS, PRIS, PRSS, PRGS, PRHS,         &
22                              PCCT, PCIT, PCNUCS, PCCS, PINUCS, PCIS,           &
23                              PTHS, PSRCS, PCLDFR                               )
24          !
25 INTEGER,                  INTENT(IN)    :: KRR      ! Number of moist variables
26 INTEGER,                  INTENT(IN)    :: KMI      ! Model index 
27 CHARACTER*4,              INTENT(IN)    :: HTURBDIM ! Dimensionality of the
28                                                     ! turbulence scheme
29 CHARACTER*4,              INTENT(IN)    :: HRAD     ! Radiation scheme name
30 LOGICAL,                  INTENT(IN)    :: OSUBG_COND ! Switch for Subgrid 
31                                                     ! Condensation
32 REAL,                     INTENT(IN)    :: PTSTEP   ! Time step          
33 !
34 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PRHODREF! Dry density of the 
35                                                    ! reference state
36 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PRHODJ  ! Dry density * Jacobian
37 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PEXNREF ! Reference Exner function
38 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PSIGS   ! Sigma_s at time t
39 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PPABST  ! Absolute Pressure at t     
40 !
41 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PRVT    ! Water vapor m.r. at t
42 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PRCT    ! Cloud water m.r. at t
43 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRRT ! Rain water m.r. at t
44 REAL, DIMENSION(:,:,:),   INTENT(IN)   ::  PRIT    ! Cloud ice  m.r. at t
45 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRST ! Aggregate  m.r. at t
46 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRGT ! Graupel    m.r. at t
47 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRHT ! Hail       m.r. at t
48 !
49 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRVS    ! Water vapor m.r. source
50 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRCS    ! Cloud water m.r. source
51 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRRS ! Rain water m.r. at t+1
52 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRIS    ! Cloud ice  m.r. at t+1
53 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRSS ! Aggregate  m.r. at t+1
54 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRGS ! Graupel    m.r. at t+1
55 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN)   ::  PRHS ! Hail       m.r. at t+1
56 !
57 REAL, DIMENSION(:,:,:),   INTENT(IN)       :: PCCT    ! Cloud water conc. at t
58 REAL, DIMENSION(:,:,:),   INTENT(IN)       :: PCIT    ! Cloud ice   conc. at t
59 REAL, DIMENSION(:,:,:),   INTENT(INOUT)    :: PCNUCS  ! Nucl. aero. conc. source
60 REAL, DIMENSION(:,:,:),   INTENT(INOUT)    :: PCCS    ! Cloud water conc. source
61 REAL, DIMENSION(:,:,:),   INTENT(INOUT)    :: PINUCS  ! Ice Nucl.   conc. source
62 REAL, DIMENSION(:,:,:),   INTENT(INOUT)    :: PCIS    ! Cloud ice   conc. source
63 !
64 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PTHS    ! Theta source
65 REAL, DIMENSION(:,:,:),   INTENT(OUT)   :: PSRCS   ! Second-order flux
66                                                    ! s'rc'/2Sigma_s2 at time t+1
67                                                    ! multiplied by Lambda_3
68 REAL, DIMENSION(:,:,:),   INTENT(OUT)   :: PCLDFR  ! Cloud fraction          
69 !
70 END SUBROUTINE C3R5_ADJUST
71 !
72 END INTERFACE
73 !
74 END MODULE MODI_C3R5_ADJUST
75 !
76 !     ##########################################################################
77       SUBROUTINE C3R5_ADJUST( KRR, KMI, HRAD,                                  &
78                              HTURBDIM, OSUBG_COND, PTSTEP,                     &
79                              PRHODREF, PRHODJ, PEXNREF, PSIGS, PPABST,         &
80                              PRVT, PRCT, PRRT, PRIT, PRST, PRGT, PRHT,         &
81                              PRVS, PRCS, PRRS, PRIS, PRSS, PRGS, PRHS,         &
82                              PCCT, PCIT, PCNUCS, PCCS, PINUCS, PCIS,           &
83                              PTHS, PSRCS, PCLDFR                               )
84 !     ##########################################################################
85 !
86 !!****  *C3R5_ADJUST* -  compute the fast  microphysical sources 
87 !!
88 !!    PURPOSE
89 !!    -------
90 !!      The purpose of this routine is to compute the fast microphysical sources
91 !!      through an explict scheme and a saturation ajustement procedure.
92 !!
93 !!
94 !!**  METHOD
95 !!    ------
96 !!      Reisin et al.,    1996 for the explicit scheme when ice is present
97 !!      Langlois, Tellus, 1973 for the implict adjustment for the cloud water
98 !!      (refer also to book 1 of the documentation).
99 !!
100 !!    EXTERNAL
101 !!    --------
102 !!      None
103 !!     
104 !!
105 !!    IMPLICIT ARGUMENTS
106 !!    ------------------
107 !!      Module MODD_CST
108 !!         XP00               ! Reference pressure
109 !!         XMD,XMV            ! Molar mass of dry air and molar mass of vapor
110 !!         XRD,XRV            ! Gaz constant for dry air, gaz constant for vapor
111 !!         XCPD,XCPV          ! Cpd (dry air), Cpv (vapor)
112 !!         XCL                ! Cl (liquid)
113 !!         XTT                ! Triple point temperature
114 !!         XLVTT              ! Vaporization heat constant
115 !!         XALPW,XBETAW,XGAMW ! Constants for saturation vapor 
116 !!                            !  pressure  function 
117 !!      Module  MODD_CONF 
118 !!         CCONF
119 !!      Module MODD_BUDGET:
120 !!         NBUMOD 
121 !!         CBUTYPE
122 !!         NBUPROCCTR 
123 !!         LBU_RTH    
124 !!         LBU_RRV  
125 !!         LBU_RRC  
126 !!      Module MODD_LES : NCTR_LES,LTURB_LES,NMODNBR_LES
127 !!                        XNA declaration (cloud fraction as global var)
128 !!
129 !!    REFERENCE
130 !!    ---------
131 !!
132 !!      Book 1 and Book2 of documentation ( routine FAST_TERMS )
133 !!      Langlois, Tellus, 1973
134 !!    AUTHOR
135 !!    ------
136 !!      E. Richard       * Laboratoire d'Aerologie*
137 !!   
138 !!
139 !!    MODIFICATIONS
140 !!    -------------
141 !!      Original    20/12/94 
142 !!      Modifications: March 1, 1995 (J.M. Carriere) 
143 !!                                  Introduction of cloud water with order 1
144 !!                                  formulation
145 !!      Modifications: June 8, 1995 ( J.Stein )
146 !!                                  Cleaning 
147 !!      Modifications: August 30, 1995 ( J.Stein )
148 !!                                  add Lambda3 for the subgrid condensation
149 !!   
150 !!                     October 16, 1995 (J. Stein)     change the budget calls 
151 !!                     March   16, 1996 (J. Stein)     store the cloud fraction
152 !!                     April   03, 1996 (J. Stein)     displace the nebulosity
153 !!                                      computation in the all and nothing case
154 !!                     April   15, 1996 (J. Stein)     displace the lambda 3 
155 !!                         multiplication and change the nebulosity threshold
156 !!                     September 16, 1996  (J. Stein)  bug in the SG cond for
157 !!                                                     the M computation
158 !!                     October 10, 1996 (J. Stein)     reformulate the Subgrid
159 !!                                                     condensation scheme
160 !!                     October 8,  1996 (Cuxart,Sanchez) Cloud frac. LES diag (XNA)
161 !!                     December 6, 1996 (J.-P. Pinty)  correction of Delta_2
162 !!                     November 5, 1996 (J. Stein) remove Rnp<0 values
163 !!                     November 13 1996 (V. Masson) add prints in test above
164 !!                     March 11, 1997 (J.-M. Cohard)  C2R2 option
165 !!                     April  6, 2001 (J.-P. Pinty)   C3R5 option 
166 !!
167 !-------------------------------------------------------------------------------
168 !
169 PRINT *,'C3R5_ADJUST IS NOT YET DEVELOPPED'
170 !callabortstop
171 CALL ABORT
172 STOP
173 !
174 END SUBROUTINE C3R5_ADJUST