SURFEX v8.1
General documentation of Surfex
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, ORESET_BUDGETC, &
8  OSELECT, OPROVAR_TO_DIAG, ODIAG_GRID, OFRAC, &
9  PDIAG_TSTEP, OSNOWDIMNC, ORESETCUMUL, 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) :: OSNOWDIMNC ! if true create a snow layer dimension in nc files
70 LOGICAL, INTENT(OUT) :: ORESETCUMUL ! if true reset cumulated variables at each output timestep
71 LOGICAL, INTENT(OUT) :: ODIAG_GRID ! flag for mean grid diag
72 LOGICAL, INTENT(OUT) :: OFRAC ! flag for fractions of tiles
73 REAL, INTENT(OUT) :: PDIAG_TSTEP ! time-step for writing
74  CHARACTER(LEN=12), DIMENSION(200), INTENT(OUT), OPTIONAL :: CSELECT
75 REAL(KIND=JPRB) :: ZHOOK_HANDLE
76 !
77 !* 0.2 Declarations of local variables
78 ! -------------------------------
79 !
80 !-------------------------------------------------------------------------------
81 !
82 IF (lhook) CALL dr_hook('DEFAULT_DIAG_SURF_ATM',0,zhook_handle)
83 !
84 k2m = 0
85 ot2mmw = .false.
86 osurf_budget = .false.
87 !
88 o2m_min_zs = .false.
89 !
90 orad_budget = .false.
91 !
92 ocoef = .false.
93 osurf_vars = .false.
94 !
95 osurf_budgetc = .false.
96 oreset_budgetc = .false.
97 !
98 oselect = .false.
99 !
100 oprovar_to_diag = .false.
101 !
102 osnowdimnc = .false.
103 oresetcumul = .false.
104 !
105 odiag_grid = .true.
106 !
107 ofrac = .false.
108 !
109 pdiag_tstep = xundef
110 !
111 IF (PRESENT(cselect)) cselect(:) = ' '
112 IF (lhook) CALL dr_hook('DEFAULT_DIAG_SURF_ATM',1,zhook_handle)
113 !
114 !-------------------------------------------------------------------------------
115 !
116 END SUBROUTINE default_diag_surf_atm
real, parameter xundef
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
subroutine default_diag_surf_atm(K2M, OT2MMW, OSURF_BUDGET, O2M_MI