GCC Code Coverage Report


Directory: ./
File: phys/oasis.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 1 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 !
2 MODULE oasis
3 !
4 ! This module contains subroutines for initialization, sending and receiving
5 ! towards the coupler OASIS3. It also contains some parameters for the coupling.
6 !
7 ! This module should always be compiled. With the coupler OASIS3 available the cpp key
8 ! CPP_COUPLE should be set and the entier of this file will then be compiled.
9 ! In a forced mode CPP_COUPLE should not be defined and the compilation ends before
10 ! the CONTAINS, without compiling the subroutines.
11 !
12 USE dimphy
13 USE mod_phys_lmdz_para
14 USE write_field_phy
15
16
17 IMPLICIT NONE
18
19 ! Id for fields sent to ocean
20 INTEGER, PARAMETER :: ids_tauxxu = 1
21 INTEGER, PARAMETER :: ids_tauyyu = 2
22 INTEGER, PARAMETER :: ids_tauzzu = 3
23 INTEGER, PARAMETER :: ids_tauxxv = 4
24 INTEGER, PARAMETER :: ids_tauyyv = 5
25 INTEGER, PARAMETER :: ids_tauzzv = 6
26 INTEGER, PARAMETER :: ids_windsp = 7
27 INTEGER, PARAMETER :: ids_shfice = 8
28 INTEGER, PARAMETER :: ids_shfoce = 9
29 INTEGER, PARAMETER :: ids_shftot = 10
30 INTEGER, PARAMETER :: ids_nsfice = 11
31 INTEGER, PARAMETER :: ids_nsfoce = 12
32 INTEGER, PARAMETER :: ids_nsftot = 13
33 INTEGER, PARAMETER :: ids_dflxdt = 14
34 INTEGER, PARAMETER :: ids_totrai = 15
35 INTEGER, PARAMETER :: ids_totsno = 16
36 INTEGER, PARAMETER :: ids_toteva = 17
37 INTEGER, PARAMETER :: ids_icevap = 18
38 INTEGER, PARAMETER :: ids_ocevap = 19
39 INTEGER, PARAMETER :: ids_calvin = 20
40 INTEGER, PARAMETER :: ids_liqrun = 21
41 INTEGER, PARAMETER :: ids_runcoa = 22
42 INTEGER, PARAMETER :: ids_rivflu = 23
43 INTEGER, PARAMETER :: ids_atmco2 = 24
44 INTEGER, PARAMETER :: ids_taumod = 25
45 INTEGER, PARAMETER :: ids_qraioc = 26
46 INTEGER, PARAMETER :: ids_qsnooc = 27
47 INTEGER, PARAMETER :: ids_qraiic = 28
48 INTEGER, PARAMETER :: ids_qsnoic = 29
49 INTEGER, PARAMETER :: ids_delta_sst = 30, ids_delta_sal = 31
50
51 INTEGER, PARAMETER :: maxsend = 31 ! Maximum number of fields to send
52
53 ! Id for fields received from ocean
54
55 INTEGER, PARAMETER :: idr_sisutw = 1
56 INTEGER, PARAMETER :: idr_icecov = 2
57 INTEGER, PARAMETER :: idr_icealw = 3
58 INTEGER, PARAMETER :: idr_icetem = 4
59 INTEGER, PARAMETER :: idr_curenx = 5
60 INTEGER, PARAMETER :: idr_cureny = 6
61 INTEGER, PARAMETER :: idr_curenz = 7
62 INTEGER, PARAMETER :: idr_oceco2 = 8
63
64 INTEGER, PARAMETER :: idr_sss = 9
65 ! bulk salinity of the surface layer of the ocean, in ppt
66
67 INTEGER, PARAMETER :: maxrecv = 9 ! Maximum number of fields to receive
68
69
70 TYPE, PUBLIC :: FLD_CPL ! Type for coupling field information
71 CHARACTER(len = 8) :: name ! Name of the coupling field
72 LOGICAL :: action ! To be exchanged or not
73 INTEGER :: nid ! Id of the field
74 END TYPE FLD_CPL
75
76 TYPE(FLD_CPL), DIMENSION(maxsend), SAVE, PUBLIC :: infosend ! Information for sending coupling fields
77 !$OMP THREADPRIVATE(infosend)
78 TYPE(FLD_CPL), DIMENSION(maxrecv), SAVE, PUBLIC :: inforecv ! Information for receiving coupling fields
79 !$OMP THREADPRIVATE(inforecv)
80
81 LOGICAL,SAVE :: cpl_current
82 !$OMP THREADPRIVATE(cpl_current)
83
84
85 END MODULE oasis
86