source: trunk/LMDZ.MARS/libf/phymars/paleoclimate_mod.F90 @ 3026

Last change on this file since 3026 was 3007, checked in by emillour, 18 months ago

Mars PCM:
Fix OpenMP bug in paleoclimate_mod; saved variables should be threadprivate.
EM

File size: 1.4 KB
Line 
1MODULE paleoclimate_mod
2!=======================================================================
3!   subject: Module dedicated to paleoclimates studies
4!   --------
5!
6!   author: LL, 06/2023
7!   ------
8!   
9!=======================================================================
10
11    IMPLICIT NONE
12
13    LOGICAL, SAVE :: paleoclimate    ! False by default, is activate  for paleoclimates specific processes (e.g., lag layer)
14                                     ! is initialized in conf_phys
15!$OMP THREADPRIVATE(paleoclimate)
16
17    real, save, allocatable :: lag_h2o_ice(:,:)  ! Thickness of the lag before H2O ice [m]
18    real, save, allocatable :: lag_co2_ice(:,:)  ! Thickness of the lag before CO2 ice [m]
19    real, save :: albedo_perenialco2             ! Albedo for perenial co2 ice [1]
20!$OMP THREADPRIVATE(lag_h2o_ice,lag_co2_ice,albedo_perenialco2)
21
22    CONTAINS
23
24
25  subroutine ini_paleoclimate_h(ngrid,nslope)
26
27  implicit none
28  integer,intent(in) :: ngrid  ! number of atmospheric columns
29  integer,intent(in) :: nslope ! number of slope within a mesh
30
31    allocate(lag_h2o_ice(ngrid,nslope))
32    allocate(lag_co2_ice(ngrid,nslope))
33  end subroutine ini_paleoclimate_h
34
35  subroutine end_paleoclimate_h
36
37  implicit none
38    if (allocated(lag_h2o_ice)) deallocate(lag_h2o_ice)
39    if (allocated(lag_co2_ice)) deallocate(lag_co2_ice)
40  end subroutine end_paleoclimate_h
41
42
43    END MODULE paleoclimate_mod
Note: See TracBrowser for help on using the repository browser.