SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
prep_seaflux_unif.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 prep_seaflux_unif(KLUOUT,HSURF,PFIELD)
7 ! #################################################################################
8 !
9 !!**** *PREP_SEAFLUX_UNIF* - prepares SEAFLUX field from prescribed values
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!** METHOD
15 !! ------
16 !!
17 !! REFERENCE
18 !! ---------
19 !!
20 !!
21 !! AUTHOR
22 !! ------
23 !! S. Malardel
24 !!
25 !! MODIFICATIONS
26 !! -------------
27 !! Original 01/2004
28 !! Modified 09/2013 : S. Senesi : extends to SSS and SIC variables
29 !!------------------------------------------------------------------
30 !
31 
32 !
33 USE modd_prep, ONLY : cinterp_type
34 USE modd_prep_seaflux, ONLY : xsst_unif, xsss_unif, xsic_unif
35 !
36 !
37 USE yomhook ,ONLY : lhook, dr_hook
38 USE parkind1 ,ONLY : jprb
39 !
40 IMPLICIT NONE
41 !
42 !* 0.1 declarations of arguments
43 !
44 INTEGER, INTENT(IN) :: kluout ! output listing logical unit
45  CHARACTER(LEN=7), INTENT(IN) :: hsurf ! type of field
46 REAL, POINTER, DIMENSION(:,:) :: pfield ! field to interpolate horizontally
47 REAL(KIND=JPRB) :: zhook_handle
48 !
49 !* 0.2 declarations of local variables
50 !
51 !
52 !-------------------------------------------------------------------------------------
53 !
54 IF (lhook) CALL dr_hook('PREP_SEAFLUX_UNIF',0,zhook_handle)
55 SELECT CASE(hsurf)
56 !
57 !* 3.0 Orography
58 !
59  CASE('ZS ')
60  ALLOCATE(pfield(1,1))
61  pfield = 0.
62 !
63 !* 3.1 Sea surface temperature
64 !
65  CASE('SST ')
66  ALLOCATE(pfield(1,1))
67  pfield = xsst_unif
68 !
69 !* 3.2 Sea surface salinity
70 !
71  CASE('SSS ')
72  ALLOCATE(pfield(1,1))
73  pfield = xsss_unif
74 !
75 !
76 !* 3.3 Sea Ice Cover
77 !
78  CASE('SIC ')
79  ALLOCATE(pfield(1,1))
80  pfield = xsic_unif
81 !
82 END SELECT
83 !
84 !* 4. Interpolation method
85 ! --------------------
86 !
87  cinterp_type='UNIF '
88 IF (lhook) CALL dr_hook('PREP_SEAFLUX_UNIF',1,zhook_handle)
89 !
90 !
91 !-------------------------------------------------------------------------------------
92 END SUBROUTINE prep_seaflux_unif
subroutine prep_seaflux_unif(KLUOUT, HSURF, PFIELD)