source: LMDZ5/branches/LF-private/libf/phylmd/phys_output_var_mod.F90 @ 5224

Last change on this file since 5224 was 1865, checked in by Laurent Fairhead, 11 years ago

Inclusion de la bibliothèque SISVAT/MAR à LMDZ pour le traitement des surfaces
"land ice"

  1. Menegoz

Integration of the SISVAT/MAR library to LMDZ to model the land ice surfaces

  1. Menegoz
File size: 3.6 KB
Line 
1!
2! phys_local_var_mod.F90 1327 2010-03-17 15:33:56Z idelkadi $
3
4      MODULE phys_output_var_mod
5
6      use dimphy
7! Variables outputs pour les ecritures des sorties
8!======================================================================
9!
10!
11!======================================================================
12! Declaration des variables
13
14      REAL, SAVE, ALLOCATABLE :: snow_o(:), zfra_o(:)
15!$OMP THREADPRIVATE(snow_o, zfra_o)
16      INTEGER, SAVE, ALLOCATABLE ::  itau_con(:)       ! Nombre de pas ou rflag <= 1
17!$OMP THREADPRIVATE(itau_con)
18      REAL, ALLOCATABLE :: bils_ec(:) ! Contribution of energy conservation
19      REAL, ALLOCATABLE :: bils_tke(:) ! Contribution of energy conservation
20      REAL, ALLOCATABLE :: bils_diss(:) ! Contribution of energy conservation
21      REAL, ALLOCATABLE :: bils_kinetic(:) ! bilan de chaleur au sol, kinetic
22      REAL, ALLOCATABLE :: bils_enthalp(:) ! bilan de chaleur au sol
23      REAL, ALLOCATABLE :: bils_latent(:) ! bilan de chaleur au sol
24!$OMP THREADPRIVATE(bils_ec,bils_tke,bils_diss,bils_kinetic,bils_enthalp,bils_latent)
25
26
27! ug Plein de variables venues de phys_output_mod
28      INTEGER, PARAMETER                           :: nfiles = 9
29      LOGICAL, DIMENSION(nfiles), SAVE             :: clef_files
30      LOGICAL, DIMENSION(nfiles), SAVE             :: clef_stations
31      INTEGER, DIMENSION(nfiles), SAVE             :: lev_files
32      INTEGER, DIMENSION(nfiles), SAVE             :: nid_files
33      INTEGER, DIMENSION(nfiles), SAVE  :: nnid_files
34!$OMP THREADPRIVATE(clef_files, clef_stations, lev_files,nid_files,nnid_files)
35      INTEGER, DIMENSION(nfiles), SAVE :: nnhorim
36
37      INTEGER, DIMENSION(nfiles), SAVE :: nhorim, nvertm
38      INTEGER, DIMENSION(nfiles), SAVE :: nvertap, nvertbp, nvertAlt
39      REAL, DIMENSION(nfiles), SAVE                :: zoutm
40      CHARACTER(LEN=20), DIMENSION(nfiles), SAVE   :: type_ecri
41!$OMP THREADPRIVATE(nnhorim, nhorim, nvertm, zoutm,type_ecri)
42      CHARACTER(LEN=20), DIMENSION(nfiles), SAVE  :: type_ecri_files, phys_out_filetypes
43!$OMP THREADPRIVATE(type_ecri_files, phys_out_filetypes)
44    CHARACTER(LEN=20), DIMENSION(nfiles), SAVE  :: phys_out_filenames
45!$OMP THREADPRIVATE(phys_out_filenames)
46
47 ! swaero_diag : flag indicates if it is necessary to do calculation for some aerosol diagnostics
48      LOGICAL, SAVE                                :: swaero_diag=.FALSE.
49!$OMP THREADPRIVATE(swaero_diag)
50
51      INTEGER, SAVE:: levmin(nfiles) = 1
52      INTEGER, SAVE:: levmax(nfiles)
53!$OMP THREADPRIVATE(levmin, levmax)
54
55      REAL, SAVE                :: zdtime_moy
56!$OMP THREADPRIVATE(zdtime_moy)
57
58      LOGICAL, SAVE :: vars_defined = .FALSE. ! ug PAS THREADPRIVATE ET C'EST NORMAL
59
60  TYPE ctrl_out
61     INTEGER,DIMENSION(nfiles)            :: flag
62     CHARACTER(len=20)                    :: name
63     CHARACTER(len=150)                   :: description
64     CHARACTER(len=20)                    :: unit
65     CHARACTER(len=20),DIMENSION(nfiles)  :: type_ecrit
66  END TYPE ctrl_out
67CONTAINS
68
69!======================================================================
70SUBROUTINE phys_output_var_init
71use dimphy
72
73IMPLICIT NONE
74
75      allocate(snow_o(klon), zfra_o(klon))
76      allocate(itau_con(klon))
77      allocate (bils_ec(klon),bils_tke(klon),bils_diss(klon),bils_kinetic(klon),bils_enthalp(klon),bils_latent(klon))
78
79END SUBROUTINE phys_output_var_init
80
81!======================================================================
82SUBROUTINE phys_output_var_end
83use dimphy
84IMPLICIT NONE
85
86      deallocate(snow_o,zfra_o,itau_con)
87      deallocate (bils_ec,bils_tke,bils_diss,bils_kinetic,bils_enthalp,bils_latent)
88
89END SUBROUTINE phys_output_var_end
90
91END MODULE phys_output_var_mod
Note: See TracBrowser for help on using the repository browser.