SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
default_diag_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 default_diag_surf_atm(K2M,OT2MMW,OSURF_BUDGET,O2M_MIN_ZS,ORAD_BUDGET, &
7  ocoef,osurf_vars,osurf_budgetc, &
8  oreset_budgetc, oselect, oprovar_to_diag,&
9  odiag_grid, ofrac, pdiag_tstep, cselect )
10 ! ########################################################################
11 !
12 !!**** *DEFAULT_DIAG_SURF_ATM* - routine to set default values for the choice of diagnostics
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 !! V. Masson *Meteo France*
34 !!
35 !! MODIFICATIONS
36 !! -------------
37 !! Original 01/2004
38 !! Modified 01/2006 : sea flux parameterization.
39 !! B. Decharme 2008 flag for mean grid diag
40 !! B. Decharme 2009 flag for cumulative budget and to write selected diags
41 !-------------------------------------------------------------------------------
42 !
43 !* 0. DECLARATIONS
44 ! ------------
45 !
46 USE modd_surf_par, ONLY : xundef
47 !
48 !
49 USE yomhook ,ONLY : lhook, dr_hook
50 USE parkind1 ,ONLY : jprb
51 !
52 IMPLICIT NONE
53 !
54 !* 0.1 Declarations of arguments
55 ! -------------------------
56 !
57 !
58 INTEGER, INTENT(OUT) :: k2m ! flag for operational 2m quantities
59 LOGICAL, INTENT(OUT) :: ot2mmw ! flag for modified weighting of 2m temperature
60 LOGICAL, INTENT(OUT) :: osurf_budget ! flag for surface budget
61 LOGICAL, INTENT(OUT) :: o2m_min_zs ! flag for 2m quantities on min. orography
62 LOGICAL, INTENT(OUT) :: orad_budget ! flag for radiative budget
63 LOGICAL, INTENT(OUT) :: ocoef ! flag for transfer coefficients
64 LOGICAL, INTENT(OUT) :: osurf_vars ! flag for surface variables
65 LOGICAL, INTENT(OUT) :: osurf_budgetc ! flag for cumulated surface budget
66 LOGICAL, INTENT(OUT) :: oreset_budgetc ! flag for cumulated surface budget
67 LOGICAL, INTENT(OUT) :: oselect ! switch to control which fields are written
68 LOGICAL, INTENT(OUT) :: oprovar_to_diag ! switch to write (or not) prognostic variable
69 LOGICAL, INTENT(OUT) :: odiag_grid ! flag for mean grid diag
70 LOGICAL, INTENT(OUT) :: ofrac ! flag for fractions of tiles
71 REAL, INTENT(OUT) :: pdiag_tstep ! time-step for writing
72  CHARACTER(LEN=12), DIMENSION(200), INTENT(OUT), OPTIONAL :: cselect
73 REAL(KIND=JPRB) :: zhook_handle
74 !
75 !* 0.2 Declarations of local variables
76 ! -------------------------------
77 !
78 !-------------------------------------------------------------------------------
79 !
80 IF (lhook) CALL dr_hook('DEFAULT_DIAG_SURF_ATM',0,zhook_handle)
81 !
82 k2m = 0
83 ot2mmw = .false.
84 osurf_budget = .false.
85 !
86 o2m_min_zs = .false.
87 !
88 orad_budget = .false.
89 !
90 ocoef = .false.
91 osurf_vars = .false.
92 !
93 osurf_budgetc = .false.
94 oreset_budgetc = .false.
95 !
96 oselect = .false.
97 !
98 oprovar_to_diag = .false.
99 !
100 odiag_grid = .true.
101 !
102 ofrac = .false.
103 !
104 pdiag_tstep = xundef
105 !
106 IF (present(cselect)) cselect(:) = ' '
107 IF (lhook) CALL dr_hook('DEFAULT_DIAG_SURF_ATM',1,zhook_handle)
108 !
109 !-------------------------------------------------------------------------------
110 !
111 END SUBROUTINE default_diag_surf_atm
subroutine default_diag_surf_atm(K2M, OT2MMW, OSURF_BUDGET, O2M_MIN_ZS, ORAD_BUDGET, OCOEF, OSURF_VARS, OSURF_BUDGETC, ORESET_BUDGETC, OSELECT, OPROVAR_TO_DIAG, ODIAG_GRID, OFRAC, PDIAG_TSTEP, CSELECT)