SURFEX v8.1
General documentation of Surfex
init_pgd_surf_atm.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 init_pgd_surf_atm (YSC, HPROGRAM,HINIT,HATMFILE,HATMFILETYPE, &
7  KYEAR, KMONTH, KDAY, PTIME )
8 ! #################################################################################
9 !
10 !!**** *INIT_PGD_SURF_ATM* - Call surface initialization for PGD fields only
11 !!
12 !! PURPOSE
13 !! -------
14 !
15 !!** METHOD
16 !! ------
17 !!
18 !! REFERENCE
19 !! ---------
20 !!
21 !!
22 !! AUTHOR
23 !! ------
24 !! V. Masson
25 !!
26 !! MODIFICATIONS
27 !! -------------
28 !! Original 01/2004
29 !! B. Decharme 04/2013 new coupling variables
30 !!------------------------------------------------------------------
31 !
32 !
33 !
34 USE modd_surfex_n, ONLY : surfex_t
35 !
36 USE modd_type_date_surf, ONLY : date
37 !
38 USE yomhook ,ONLY : lhook, dr_hook
39 USE parkind1 ,ONLY : jprb
40 !
41 USE modi_init_surf_atm_n
42 !
43 IMPLICIT NONE
44 !
45 !* 0.1 declarations of arguments
46 !
47 !
48 TYPE(surfex_t), INTENT(INOUT) :: YSC
49 !
50  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling surf. schemes
51  CHARACTER(LEN=3), INTENT(IN) :: HINIT ! fields to initialize 'ALL', 'PRE', 'PGD'
52  CHARACTER(LEN=28), INTENT(IN) :: HATMFILE ! name of the Atmospheric file
53  CHARACTER(LEN=6), INTENT(IN) :: HATMFILETYPE! type of the Atmospheric file
54 INTEGER, INTENT(IN) :: KYEAR ! year
55 INTEGER, INTENT(IN) :: KMONTH ! month
56 INTEGER, INTENT(IN) :: KDAY ! day
57 REAL, INTENT(IN) :: PTIME ! time
58 !
59 !
60 !* 0.2 declarations of local variables
61 !
62 TYPE(date) :: TDATE_END
63  CHARACTER(LEN=6), DIMENSION(0) :: YSV ! name of all scalar variables
64 REAL, DIMENSION(0) :: ZCO2 ! CO2 concentration (kg/m3)
65 REAL, DIMENSION(0) :: ZRHOA ! air density (kg/m3)
66 REAL, DIMENSION(0) :: ZZENITH ! solar zenithal angle
67 REAL, DIMENSION(0) :: ZAZIM ! solar azimuthal angle (rad from N, clock)
68 REAL, DIMENSION(1) :: ZSW_BANDS ! middle wavelength of each band
69 REAL, DIMENSION(0,1):: ZDIR_ALB ! direct albedo for each band
70 REAL, DIMENSION(0,1):: ZSCA_ALB ! diffuse albedo for each band
71 REAL, DIMENSION(0) :: ZEMIS ! emissivity
72 REAL, DIMENSION(0) :: ZTSRAD ! radiative temperature
73 REAL, DIMENSION(0) :: ZTSURF ! radiative temperature
74 REAL(KIND=JPRB) :: ZHOOK_HANDLE
75 !-------------------------------------------------------------------------------------
76 !
77 !* initialization of PGD fields of output domain
78 !
79 IF (lhook) CALL dr_hook('INIT_PGD_SURF_ATM',0,zhook_handle)
80 !
81 tdate_end%YEAR = kyear
82 tdate_end%MONTH = kmonth
83 tdate_end%DAY = kday
84 !
85  CALL init_surf_atm_n(ysc, hprogram,hinit,.false., &
86  0,0,1,ysv,zco2,zrhoa, &
87  zzenith,zazim,zsw_bands,zdir_alb,zsca_alb, &
88  zemis,ztsrad,ztsurf, &
89  kyear, kmonth, kday, ptime, tdate_end, &
90  hatmfile,hatmfiletype, 'OK' )
91 !
92 IF (lhook) CALL dr_hook('INIT_PGD_SURF_ATM',1,zhook_handle)
93 
94 !
95 !-------------------------------------------------------------------------------------
96 !
97 END SUBROUTINE init_pgd_surf_atm
subroutine init_surf_atm_n(YSC, HPROGRAM, HINIT, OLAND_USE, KI, KSV, KSW, HSV, PCO2, PRHOA, PZENITH, PAZIM, PSW_BANDS, PDIR_ALB, PSCA_ALB, PEMIS, PTSRAD, PTSURF, KYEAR, KMONTH, KDAY, PTIME, TPDATE_END, HATMFILE, HATMFILETYPE, HTEST)
integer, parameter jprb
Definition: parkind1.F90:32
subroutine init_pgd_surf_atm(YSC, HPROGRAM, HINIT, HATMFILE, HATMFILETYPE, KYEAR, KMONTH, KDAY, PTIME)
logical lhook
Definition: yomhook.F90:15