SURFEX v8.1
General documentation of Surfex
Surfex_Git2
src
SURFEX
modd_oceann.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
MODULE
modd_ocean_n
7
! #################
8
!
9
!!**** *MODD_OCEAN_n - declaration of ocean varaiables
10
!! for 1D oceanic model
11
!!
12
!! PURPOSE
13
!! -------
14
! Declaration of ocean varaiables
15
!
16
!!
17
!!** IMPLICIT ARGUMENTS
18
!! ------------------
19
!! None
20
!!
21
!! REFERENCE
22
!! ---------
23
!!
24
!! AUTHOR
25
!! ------
26
!! C. Lebeaupin *Meteo France*
27
!!
28
!! MODIFICATIONS
29
!! -------------
30
!! Original 04/2006
31
!! Modified 07/2012, P. Le Moigne : CMO1D phasing
32
!
33
!* 0. DECLARATIONS
34
! ------------
35
!
36
!
37
USE
yomhook
,ONLY
:
lhook
,
dr_hook
38
USE
parkind1
,ONLY
:
jprb
39
!
40
IMPLICIT NONE
41
!
42
TYPE
ocean_t
43
!
44
!
45
! Switche for interactive coupling with oceanic model
46
LOGICAL
:: lmercator
!set to .true. to initialize oceanic var. from Mercator
47
LOGICAL
:: lcurrent
!set to .true. to make initialize ocean state with current
48
LOGICAL
:: lprogsst
!set to .true. to make SST evolve with tendance
49
INTEGER
:: ntime_coupling
! coupling time frequency
50
INTEGER
:: noctcount
!oceanic model counter
51
REAL
:: xocean_tstep
! time step of the oceanic 1D model
52
!
53
! General surface:
54
!
55
REAL
,
POINTER
,
DIMENSION(:,:)
:: xseat
! oceanic temperature profiles
56
REAL
,
POINTER
,
DIMENSION(:,:)
:: xseas
! oceanic salinity profiles
57
REAL
,
POINTER
,
DIMENSION(:,:)
:: xseau
! oceanic zonal current profiles
58
REAL
,
POINTER
,
DIMENSION(:,:)
:: xseav
! oceanic meridian current profiles
59
REAL
,
POINTER
,
DIMENSION(:,:)
:: xseae
! oceanic kinetic turbulent energy profiles (^(1/2))
60
REAL
,
POINTER
,
DIMENSION(:,:)
:: xseabath
!bathymetry indice
61
!=1 for free sea water
62
!=0 for sea-bed
63
REAL
,
POINTER
,
DIMENSION(:)
:: xseahmo
! oceanic mixing lengths
64
!
65
REAL
,
POINTER
,
DIMENSION(:,:)
:: xle,xlk
! oceanic mixing lengths
66
REAL
,
POINTER
,
DIMENSION(:,:)
:: xkmel,xkmelm
! oceanic mixing coefficients
67
!
68
REAL
,
POINTER
,
DIMENSION(:)
:: xseatend
! SST tendance
69
!
70
REAL
,
POINTER
,
DIMENSION(:,:)
:: xdtfsol
! Temp tendancy due to solar flux
71
REAL
,
POINTER
,
DIMENSION(:)
:: xdtfnsol
! -------------------- non solar flux
72
!
73
END TYPE
ocean_t
74
!
75
76
77
CONTAINS
78
79
!
80
81
82
83
84
SUBROUTINE
ocean_init
(YOCEAN)
85
TYPE
(
ocean_t
),
INTENT(INOUT)
:: YOCEAN
86
REAL(KIND=JPRB)
:: ZHOOK_HANDLE
87
IF
(
lhook
)
CALL
dr_hook
(
"MODD_OCEAN_N:OCEAN_INIT"
,0,zhook_handle)
88
NULLIFY
(yocean%XSEAT)
89
NULLIFY
(yocean%XSEAS)
90
NULLIFY
(yocean%XSEAU)
91
NULLIFY
(yocean%XSEAV)
92
NULLIFY
(yocean%XSEAE)
93
NULLIFY
(yocean%XSEABATH)
94
NULLIFY
(yocean%XSEAHMO)
95
NULLIFY
(yocean%XLE)
96
NULLIFY
(yocean%XLK)
97
NULLIFY
(yocean%XKMEL)
98
NULLIFY
(yocean%XKMELM)
99
NULLIFY
(yocean%XSEATEND)
100
NULLIFY
(yocean%XDTFNSOL)
101
NULLIFY
(yocean%XDTFSOL)
102
yocean%LMERCATOR=.false.
103
yocean%LCURRENT=.false.
104
yocean%LPROGSST=.false.
105
yocean%NTIME_COUPLING=0
106
yocean%NOCTCOUNT=0
107
yocean%XOCEAN_TSTEP=5*60.
108
IF
(
lhook
)
CALL
dr_hook
(
"MODD_OCEAN_N:OCEAN_INIT"
,1,zhook_handle)
109
END SUBROUTINE
ocean_init
110
111
112
END MODULE
modd_ocean_n
modd_ocean_n::ocean_t
Definition:
modd_oceann.F90:42
yomhook::dr_hook
Definition:
yomhook.F90:20
modd_ocean_n
Definition:
modd_oceann.F90:6
parkind1::jprb
integer, parameter jprb
Definition:
parkind1.F90:32
modd_ocean_n::ocean_init
subroutine ocean_init(YOCEAN)
Definition:
modd_oceann.F90:85
yomhook::lhook
logical lhook
Definition:
yomhook.F90:15
parkind1
Definition:
parkind1.F90:1
yomhook
Definition:
yomhook.F90:1
Generated on Tue Jan 16 2018 16:23:29 for SURFEX v8.1 by
1.8.13