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

Last change on this file was 3343, checked in by llange, 7 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.