SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
default_seaflux.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_seaflux(PTSTEP,POUT_TSTEP,HSEA_ALB,HSEA_FLUX, &
7  opwg, oprecip, opwebb, kz0, kgrvwaves,&
8  oprogsst, ktime_coupling,pocean_tstep,&
9  pichce, hinterpol_sst, hinterpol_sss )
10 ! ########################################################################
11 !
12 !!**** *DEFAULT_SEAFLUX* - routine to set default values for the configuration for SEAFLUX scheme
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 !! S. Belamari 03/2014 : add KZ0 (to choose PZ0SEA formulation)
40 !!!
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 REAL, INTENT(OUT) :: ptstep ! time step for run
59 REAL, INTENT(OUT) :: pout_tstep ! time step for writing
60  CHARACTER(LEN=6), INTENT(OUT) :: hsea_flux ! type of sea scheme
61  CHARACTER(LEN=4), INTENT(OUT) :: hsea_alb ! type of sea albedo
62 LOGICAL, INTENT(OUT) :: opwg ! gustiness impact
63 LOGICAL, INTENT(OUT) :: oprecip ! precipitation correction
64 LOGICAL, INTENT(OUT) :: opwebb ! Webb correction
65 INTEGER, INTENT(OUT) :: kz0 ! PZ0SEA formulation
66 INTEGER, INTENT(OUT) :: kgrvwaves ! Wave gravity in roughness length
67 LOGICAL, INTENT(OUT) :: oprogsst !two-way coupling
68 INTEGER, INTENT(OUT) :: ktime_coupling!coupling frequency
69 REAL, INTENT(OUT) :: pichce !CE coef calculation for ECUME
70 REAL, INTENT(OUT) :: pocean_tstep !ocean 1D model time-step
71  CHARACTER(LEN=6), INTENT(OUT) :: hinterpol_sst ! Quadratic interpolation of monthly SST
72  CHARACTER(LEN=6), INTENT(OUT) :: hinterpol_sss ! Quadratic interpolation of monthly SSS
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_SEAFLUX',0,zhook_handle)
81 !
82 ptstep = xundef
83 pout_tstep = xundef
84 !
85 hsea_flux = "ECUME "
86 hsea_alb = "TA96"
87 !
88 opwg = .false.
89 oprecip = .false.
90 opwebb = .false.
91 !
92 kz0 = 0
93 kgrvwaves = 0
94 !
95 oprogsst = .false.
96 ktime_coupling = 300
97 pocean_tstep = 300.
98 !
99 pichce = 0.0
100 !
101 hinterpol_sst = "NONE"
102 hinterpol_sss = "NONE"
103 !
104 IF (lhook) CALL dr_hook('DEFAULT_SEAFLUX',1,zhook_handle)
105 !
106 !-------------------------------------------------------------------------------
107 !
108 END SUBROUTINE default_seaflux
subroutine default_seaflux(PTSTEP, POUT_TSTEP, HSEA_ALB, HSEA_FLUX, OPWG, OPRECIP, OPWEBB, KZ0, KGRVWAVES, OPROGSST, KTIME_COUPLING, POCEAN_TSTEP, PICHCE, HINTERPOL_SST, HINTERPOL_SSS)