SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
diag_cpl_esm_flake.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE diag_cpl_esm_flake (F, &
7  ptstep,prain,psnow,psftq)
8 ! #####################################################################
9 !
10 !!**** *DIAG_CPL_ESM_FLAKE * - Computes diagnostics over sea for
11 !! Earth system model coupling
12 !!
13 !! PURPOSE
14 !! -------
15 !
16 !!** METHOD
17 !! ------
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !!
23 !! AUTHOR
24 !! ------
25 !! B. Decharme
26 !!
27 !! MODIFICATIONS
28 !! -------------
29 !! Original 08/2009
30 !!------------------------------------------------------------------
31 !
32 !
33 !
34 USE modd_flake_n, ONLY : flake_t
35 !
36 USE yomhook ,ONLY : lhook, dr_hook
37 USE parkind1 ,ONLY : jprb
38 !
39 IMPLICIT NONE
40 !
41 !* 0.1 declarations of arguments
42 !
43 !
44 TYPE(flake_t), INTENT(INOUT) :: f
45 !
46 REAL, INTENT(IN) :: ptstep ! atmospheric time-step
47 REAL, DIMENSION(:), INTENT(IN) :: prain ! Rainfall
48 REAL, DIMENSION(:), INTENT(IN) :: psnow ! Snowfall
49 REAL, DIMENSION(:), INTENT(IN) :: psftq ! water flux
50 !
51 !* 0.2 declarations of local variables
52 !
53 REAL(KIND=JPRB) :: zhook_handle
54 !
55 IF (lhook) CALL dr_hook('DIAG_CPL_ESM_FLAKE',0,zhook_handle)
56 !
57 !-------------------------------------------------------------------------------------
58 ! Total flux
59 !-------------------------------------------------------------------------------------
60 !
61 !* Evaporation (kg/m2)
62 !
63 f%XCPL_FLAKE_EVAP(:) = f%XCPL_FLAKE_EVAP(:) + ptstep * psftq(:)
64 !
65 !* Precip (kg/m2)
66 !
67 f%XCPL_FLAKE_RAIN(:) = f%XCPL_FLAKE_RAIN(:) + ptstep * prain(:)
68 f%XCPL_FLAKE_SNOW(:) = f%XCPL_FLAKE_SNOW(:) + ptstep * psnow(:)
69 !
70 IF (lhook) CALL dr_hook('DIAG_CPL_ESM_FLAKE',1,zhook_handle)
71 !
72 !-------------------------------------------------------------------------------------
73 !
74 END SUBROUTINE diag_cpl_esm_flake
subroutine diag_cpl_esm_flake(F, PTSTEP, PRAIN, PSNOW, PSFTQ)