SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_emis_gr_fieldn.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 ! ###########################
7 ! ###########################
8 !
9 !!**** *MODD_EMIS_GR_FIELD_n* - declaration of chemical emission data arrays
10 !! for model n
11 !! PURPOSE
12 !! -------
13 ! The purpose of this declarative module is to specify the
14 ! chemical emission data arrays for model n.
15 !
16 !!
17 !!** IMPLICIT ARGUMENTS
18 !! ------------------
19 !! None
20 !!
21 !! REFERENCE
22 !! ---------
23 !! Book2 of documentation of Meso-NH (module MODD_EMIS_GR_FIELD)
24 !!
25 !!
26 !! AUTHOR
27 !! ------
28 !! D. Gazen *L.A.*
29 !!
30 !! MODIFICATIONS
31 !! -------------
32 !! Original 08/03/2001
33 !! 01/12/03 (D.Gazen) change emissions handling for surf. externalization
34 !-------------------------------------------------------------------------------
35 !
36 !* 0. DECLARATIONS
37 ! ------------
38 !
40 !
41 !
42 USE yomhook ,ONLY : lhook, dr_hook
43 USE parkind1 ,ONLY : jprb
44 !
45 IMPLICIT NONE
46 
48 !
49 !
50  INTEGER :: NEMIS_GR_NBR
51 ! ! number of chemical pgd fields chosen by user
52  CHARACTER(LEN=3) , DIMENSION(:), POINTER:: CEMIS_GR_AREA
53 ! ! areas where chemical pgd fields are defined
54 ! ! 'ALL' : everywhere
55 ! ! 'SEA' : where sea exists
56 ! ! 'LAN' : where land exists
57 ! ! 'WAT' : where inland water exists
58 ! ! 'NAT' : where natural or agricultural areas exist
59 ! ! 'TWN' : where town areas exist
60 ! ! 'STR' : where streets are present
61 ! ! 'BLD' : where buildings are present
62 ! !
63  CHARACTER(LEN=40), DIMENSION(:), POINTER:: CEMIS_GR_NAME
64 ! ! name of the chemical pgd fields (emitted species)
65 !
66  INTEGER, DIMENSION(:), POINTER:: NEMIS_GR_TIME ! emission time
67 !
68  REAL, DIMENSION(:,:,:), POINTER:: XEMIS_GR_FIELDS ! emission pgd fields values
69 !
70  INTEGER :: NEMISPEC_NBR ! Number of chemical species
71 !
72  TYPE(emissvar_t), DIMENSION(:), POINTER :: TSEMISS ! Offline emission struct array
73 !
74  TYPE(pronosvar_t), POINTER :: TSPRONOSLIST ! Head pointer on pronostic
75 ! variables list
76 !-------------------------------------------------------------------------------
77 !
78 END TYPE emis_gr_field_t
79 
80 
81 
82  CONTAINS
83 
84 !
85 
86 
87 
88 
89 SUBROUTINE emis_gr_field_init(YEMIS_GR_FIELD)
90 TYPE(emis_gr_field_t), INTENT(INOUT) :: yemis_gr_field
91 REAL(KIND=JPRB) :: zhook_handle
92 IF (lhook) CALL dr_hook("MODD_EMIS_GR_FIELD_N:EMIS_GR_FIELD_INIT",0,zhook_handle)
93  nullify(yemis_gr_field%CEMIS_GR_AREA)
94  nullify(yemis_gr_field%CEMIS_GR_NAME)
95  nullify(yemis_gr_field%NEMIS_GR_TIME)
96  nullify(yemis_gr_field%XEMIS_GR_FIELDS)
97 yemis_gr_field%NEMIS_GR_NBR=0
98 yemis_gr_field%NEMISPEC_NBR=0
99 IF (lhook) CALL dr_hook("MODD_EMIS_GR_FIELD_N:EMIS_GR_FIELD_INIT",1,zhook_handle)
100 END SUBROUTINE emis_gr_field_init
101 
102 
103 END MODULE modd_emis_gr_field_n
subroutine emis_gr_field_init(YEMIS_GR_FIELD)