source: LMDZ6/trunk/libf/phylmd/pbl_surface_data.F90 @ 6020

Last change on this file since 6020 was 6014, checked in by yann meurdesoif, 5 weeks ago

Split pbl_surface_mod.F90 into several files to avoid too heavy compilation time, specifically for ifort.

  • pbl_surface_data.F90 => module variables
  • pbl_surface_main_mod.F90 => pbl_surf routine use by external subroutine (as previously)
  • pbl_surface_uncompress_pre_mod.F90 => routien for preparing sub-surface calls and compress.
  • pbl_subsrf_mod.F90 => call for each sub surface (in knon-compressed)
  • pbl_subsrf_uncompressed_post_mod.F90 => finalize sub-surface call and uncompress
  • pbl_surface_mod.F90 => join modules pbl_surface_data_mod + pbl_surface_main_mod.F90 for retro-compatibility.

YM

  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.0 KB
Line 
1!
2! $Id: pbl_surface_mod.F90 5990 2025-12-19 18:14:40Z ymeurdesoif $
3!
4MODULE pbl_surface_data
5!
6! Planetary Boundary Layer and Surface module
7!
8! This module manages the calculation of turbulent diffusion in the boundary layer
9! and all interactions towards the differents sub-surfaces.
10!
11!
12  IMPLICIT NONE
13
14! Declaration of variables saved in restart file
15  REAL, ALLOCATABLE, DIMENSION(:), SAVE     :: fder   ! flux drift
16  !$OMP THREADPRIVATE(fder)
17!GG
18  REAL, ALLOCATABLE, DIMENSION(:),  SAVE     :: hice   ! flux drift
19  !$OMP THREADPRIVATE(hice)
20  REAL, ALLOCATABLE, DIMENSION(:), SAVE     :: tice   ! flux drift
21  !$OMP THREADPRIVATE(tice)
22  REAL, ALLOCATABLE, DIMENSION(:), SAVE     :: bilg_cumul   ! flux drift
23  !$OMP THREADPRIVATE(bilg_cumul)
24!GG
25  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE    :: snow   ! snow at surface
26  !$OMP THREADPRIVATE(snow)
27  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: qsurf  ! humidity at surface
28  !$OMP THREADPRIVATE(qsurf)
29  REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE          :: ftsoil ! soil temperature
30  !$OMP THREADPRIVATE(ftsoil)
31  REAL, ALLOCATABLE, DIMENSION(:), SAVE              :: ydTs0, ydqs0 
32                                                     ! nul forced temperature and humidity differences
33  !$OMP THREADPRIVATE(ydTs0, ydqs0)
34
35#ifdef ISO
36  REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE   :: xtsnow   ! snow at surface
37  !$OMP THREADPRIVATE(xtsnow)
38  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: Rland_ice   ! snow at surface
39  !$OMP THREADPRIVATE(Rland_ice) 
40  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: Roce   ! snow at surface
41  !$OMP THREADPRIVATE(Roce) 
42#endif
43
44  INTEGER, SAVE :: iflag_pbl_surface_t2m_bug
45  !$OMP THREADPRIVATE(iflag_pbl_surface_t2m_bug)
46  INTEGER, SAVE :: iflag_new_t2mq2m
47  !$OMP THREADPRIVATE(iflag_new_t2mq2m)
48  LOGICAL, SAVE :: ok_bug_zg_wk_pbl
49  !$OMP THREADPRIVATE(ok_bug_zg_wk_pbl)
50
51
52!JYG<
53  REAL, SAVE      :: smallestreal
54  !$OMP THREADPRIVATE(smallestreal)
55
56  REAL, SAVE  :: beta_land         ! beta for wx_dts
57  !$OMP THREADPRIVATE(beta_land)
58
59
60END MODULE pbl_surface_data
Note: See TracBrowser for help on using the repository browser.