SURFEX v8.1
General documentation of Surfex
update_esm_watfluxn.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 update_esm_watflux_n (W, KI,KSW,PZENITH,PDIR_ALB, &
7  PSCA_ALB,PEMIS,PTSRAD,PTSURF )
8 ! ##############################################################
9 !
10 !!**** *UPDATE_ESM_WATFLUX_n* - routine to update WATFLUX radiative and physical properties in
11 !! Earth System Model after the call to OASIS coupler in order
12 !! to close the energy budget between radiative scheme and surfex
13 !!
14 !! PURPOSE
15 !! -------
16 !!
17 !!** METHOD
18 !! ------
19 !!
20 !! EXTERNAL
21 !! --------
22 !!
23 !!
24 !! IMPLICIT ARGUMENTS
25 !! ------------------
26 !!
27 !! REFERENCE
28 !! ---------
29 !!
30 !!
31 !! AUTHOR
32 !! ------
33 !! B. Decharme
34 !!
35 !! MODIFICATIONS
36 !! -------------
37 !! Original 09/2009
38 !! B. Decharme 06/2013 new coupling variables
39 !-------------------------------------------------------------------------------
40 !
41 !* 0. DECLARATIONS
42 ! ------------
43 !
44 !
45 USE modd_watflux_n, ONLY : watflux_t
46 !
47 USE modd_csts, ONLY : xtt
48 USE modd_surf_par, ONLY : xundef
49 !
50 USE modi_update_rad_water
51 !
52 !
53 USE yomhook ,ONLY : lhook, dr_hook
54 USE parkind1 ,ONLY : jprb
55 !
56 IMPLICIT NONE
57 !
58 !* 0.1 Declarations of arguments
59 ! -------------------------
60 !
61 !
62 TYPE(watflux_t), INTENT(INOUT) :: W
63 !
64 INTEGER, INTENT(IN) :: KI ! number of points
65 INTEGER, INTENT(IN) :: KSW ! number of short-wave spectral bands
66 !
67 REAL, DIMENSION(KI), INTENT(IN) :: PZENITH ! solar zenithal angle
68 !
69 REAL, DIMENSION(KI,KSW),INTENT(OUT) :: PDIR_ALB ! direct albedo for each band
70 REAL, DIMENSION(KI,KSW),INTENT(OUT) :: PSCA_ALB ! diffuse albedo for each band
71 REAL, DIMENSION(KI), INTENT(OUT) :: PEMIS ! emissivity
72 REAL, DIMENSION(KI), INTENT(OUT) :: PTSRAD ! radiative temperature
73 REAL, DIMENSION(KI), INTENT(OUT) :: PTSURF ! surface effective temperature (K)
74 !
75 !
76 !* 0.2 Declarations of local variables
77 ! -------------------------------
78 !
79 REAL(KIND=JPRB) :: ZHOOK_HANDLE
80 !
81 !-------------------------------------------------------------------------------
82 !
83 !
84 !* Albedo and emissivity on open sea and sea ice
85 ! ---------------------------------------------
86 !
87 IF (lhook) CALL dr_hook('UPDATE_ESM_WATFLUX_N',0,zhook_handle)
88 !
89  CALL update_rad_water(w,pzenith,xtt,pdir_alb,psca_alb,pemis,ptsrad )
90 !
91 ptsurf(:) = w%XTS(:)
92 !
93 IF (lhook) CALL dr_hook('UPDATE_ESM_WATFLUX_N',1,zhook_handle)
94 !
95 !-------------------------------------------------------------------------------
96 !
97 END SUBROUTINE update_esm_watflux_n
subroutine update_rad_water(W, PZENITH, PTT, PDIR_ALB_ATMOS, PSCA_ALB_ATMOS, PEMIS_ATMOS, PTRAD)
subroutine update_esm_watflux_n(W, KI, KSW, PZENITH, PDIR_ALB, PSCA_ALB, PEMIS, PTSRAD, PTSURF)
real, parameter xundef
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
real, save xtt
Definition: modd_csts.F90:66