source: trunk/LMDZ.COMMON/libf/evolution/conf_pem.F90 @ 2909

Last change on this file since 2909 was 2895, checked in by llange, 2 years ago

PEM
Soil temperature initialisation has been updated
Conf_PEM improved by adding some options to the users (thermal regolith depend on the pressure, depth of the subsurface layers, etc.)
Minor edits then (+ svn update with RV had some issues, so there are some "artefact changes" ...)
LL

File size: 3.0 KB
Line 
1MODULE conf_pem_mod
2
3IMPLICIT NONE
4
5CONTAINS
6
7  SUBROUTINE conf_pem
8
9#ifdef CPP_IOIPSL
10  use IOIPSL, only: getin
11#else
12  ! if not using IOIPSL, we still need to use (a local version of) getin
13  use ioipsl_getincom, only: getin
14#endif
15 
16  USE temps_mod_evol, ONLY: year_bp_ini, dt_pem, water_ice_criterion, co2_ice_criterion, ps_criterion, &
17                Max_iter_pem, evol_orbit_pem, var_obl, var_ex, var_lsp
18  USE comsoil_h_pem, only: soil_pem,fluxgeo,water_reservoir_nom,depth_breccia,depth_bedrock,reg_thprop_dependp
19  USE adsorption_mod,only: adsorption_pem
20  CHARACTER(len=20),parameter :: modname ='conf_pem'
21
22!PEM parameter
23
24  year_bp_ini=0.
25  CALL getin('year_bp_ini', year_bp_ini)
26
27  dt_pem=1
28  CALL getin('dt_pem', dt_pem)
29
30  water_ice_criterion=0.2
31  CALL getin('water_ice_criterion', water_ice_criterion)
32
33  co2_ice_criterion=0.2
34  CALL getin('co2_ice_criterion', co2_ice_criterion)
35
36  ps_criterion = 0.15
37  CALL getin('ps_criterion',ps_criterion)
38
39  evol_orbit_pem=.false.
40  CALL getin('evol_orbit_pem', evol_orbit_pem)
41
42  Max_iter_pem=99999999
43  CALL getin('Max_iter_pem', Max_iter_pem)
44
45  soil_pem=.true.
46  CALL getin('soil_pem', soil_pem)
47
48  adsorption_pem = .true.
49  CALL getin('adsorption_pem',adsorption_pem)
50
51  fluxgeo = 0.
52  CALL getin('Fluxgeo_PEM',fluxgeo)
53  print*,'Flux Geothermal is set to',fluxgeo
54
55  var_obl = .true.
56  CALL getin('var_obl',var_obl)
57  print*,'Does obliquity vary ?',var_obl
58
59  var_ex = .true.
60  CALL getin('var_ex',var_ex)
61  print*,'Does excentricity vary ?',var_ex
62
63  var_lsp = .true.
64  CALL getin('var_lsp',var_lsp)
65  print*,'Does Ls peri vary ?',var_lsp
66   
67  depth_breccia   = 10.
68  CALL getin('depth_breccia',depth_breccia)
69  print*,'Depth of breccia is set to',depth_breccia
70
71  depth_bedrock   = 1000.
72  CALL getin('depth_bedrock',depth_bedrock)
73  print*,'Depth of bedrock is set to',depth_bedrock
74
75  reg_thprop_dependp = .false.
76  CALL getin('reg_thprop_dependp',reg_thprop_dependp)
77  print*, 'Thermal properties of the regolith vary with pressure ?', reg_thprop_dependp
78
79
80  if ((not(soil_pem)).and.adsorption_pem) then
81       print*,'Adsorption must be used when soil_pem = T'
82       call abort_physic(modname,"Adsorption must be used when soil_pem = T",1)
83  endif
84 
85  if ((not(soil_pem)).and.fluxgeo.gt.0.) then
86       print*,'Soil is not activated but Flux Geo > 0.'
87       call abort_physic(modname,"Soil is not activated but Flux Geo > 0.",1)
88  endif
89 
90  if ((not(soil_pem)).and.reg_thprop_dependp) then
91     print*,'Regolith properties vary with Ps only when soil is set to true'
92     call abort_physic(modname,'Regolith properties vary with Ps only when soil is set to true',1)
93  endif
94
95  if (evol_orbit_pem.and.year_bp_ini.eq.0.) then
96     print*,'You want to follow the file ob_ex_lsp.asc for changing orb parameters,'
97     print*,'but you did not specify from which year to start.'
98     call abort_physic(modname,"evol_orbit_pem=.true. but year_bp_ini=0",1)
99  endif
100
101  water_reservoir_nom = 1e4
102  CALL getin('water_reservoir_nom',water_reservoir_nom)
103
104  END SUBROUTINE conf_pem
105
106END MODULE conf_pem_mod
Note: See TracBrowser for help on using the repository browser.