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

Last change on this file since 3525 was 3343, checked in by llange, 13 months ago

Mars PCM
Small correction of how qsurf of co2 is initialized in the south pole.
Some correction for the albedo of co2 ice when using paleoclimate: a uniform value (albedo_co2_cap) is used for both hemisphere for CO2 frost, and a different (higher) value is used for perennial ice.
LL

File size: 2.1 KB
Line 
1MODULE paleoclimate_mod
2!=======================================================================
3!   subject: Module dedicated to paleoclimates studies
4!   --------
5!
6!   author: LL, 06/2023
7!   ------
8!
9!=======================================================================
10
11implicit none
12
13logical, save :: paleoclimate ! False by default, is activate  for paleoclimates specific processes (e.g., lag layer)
14                              ! is initialized in conf_phys
15
16!$OMP THREADPRIVATE(paleoclimate)
17    real,    save, allocatable, dimension(:,:) :: h2o_ice_depth         ! Thickness of the lag before H2O ice [m]
18    real,    save, allocatable, dimension(:,:) :: lag_co2_ice           ! Thickness of the lag before CO2 ice [m]
19    real,    save, allocatable, dimension(:,:) :: d_coef                ! Diffusion coefficent
20    real,    save                              :: albedo_perennialco2   ! Albedo for perennial co2 ice [1]
21    logical, save                              :: lag_layer             ! Does lag layer is present?
22    logical, save                              :: include_waterbuoyancy ! Include the effect of water buoyancy when computing the sublimation of water ice ?
23    real,    save                              :: albedo_co2_cap
24!$OMP THREADPRIVATE(h2o_ice_depth,lag_co2_ice,d_coef,albedo_perennialco2,lag_layer,include_waterbuoyancy,albedo_co2_cap)
25
26!=======================================================================
27contains
28!=======================================================================
29
30SUBROUTINE ini_paleoclimate_h(ngrid,nslope)
31
32implicit none
33
34integer, intent(in) :: ngrid  ! number of atmospheric columns
35integer, intent(in) :: nslope ! number of slope within a mesh
36
37allocate(h2o_ice_depth(ngrid,nslope))
38allocate(lag_co2_ice(ngrid,nslope))
39allocate(d_coef(ngrid,nslope))
40
41END SUBROUTINE ini_paleoclimate_h
42
43!=======================================================================
44SUBROUTINE end_paleoclimate_h
45
46implicit none
47
48if (allocated(d_coef)) deallocate(d_coef)
49if (allocated(h2o_ice_depth)) deallocate(h2o_ice_depth)
50if (allocated(lag_co2_ice)) deallocate(lag_co2_ice)
51
52END SUBROUTINE end_paleoclimate_h
53
54END MODULE paleoclimate_mod
Note: See TracBrowser for help on using the repository browser.