source: trunk/LMDZ.COMMON/libf/evolution/lask_param_mod.F90 @ 3086

Last change on this file since 3086 was 3076, checked in by jbclement, 17 months ago

PEM:
Big cleaning/improvements of the PEM:

  • Conversion of "abort_pem.F" and "soil_settings_PEM.F" into Fortran 90;
  • Transformation of every PEM subroutines into module;
  • Rewriting of many subroutines with modern Fortran syntax;
  • Correction of a bug in "pem.F90" when calling 'recomp_tend_co2_slope'. The arguments were given in disorder and emissivity was missing;
  • Update of "launch_pem.sh" in deftank.

JBC

File size: 1.6 KB
Line 
1MODULE lask_param_mod
2
3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4!!!
5!!! Purpose: Define parameters from Laskar et al., 2004 evolution
6!!!
7!!! Author: RV, JBC
8!!!
9!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
11implicit none
12
13real, dimension(:), allocatable, save :: yearlask   ! year before present from Laskar et al. Tab
14real, dimension(:), allocatable, save :: obllask    ! obliquity    [deg]
15real, dimension(:), allocatable, save :: ecclask    ! excentricity [deg]
16real, dimension(:), allocatable, save :: lsplask    ! ls perihelie [deg]
17integer,                         save :: last_ilask ! Index of the line in the file year_obl_lask.asc corresponding to the closest lower year to the current year
18
19!=======================================================================
20contains
21!=======================================================================
22
23SUBROUTINE ini_lask_param_mod
24
25implicit none
26
27integer :: nlask ! number of lines in Laskar files
28integer :: ierr
29
30nlask = 0
31open(1,file = 'obl_ecc_lsp.asc')
32do
33    read(1,*,iostat = ierr)
34    if (ierr /= 0) exit
35    nlask = nlask + 1
36enddo
37close(1)
38allocate(yearlask(nlask),obllask(nlask),ecclask(nlask),lsplask(nlask))
39
40END SUBROUTINE ini_lask_param_mod
41
42!=======================================================================
43
44SUBROUTINE end_lask_param_mod
45
46implicit none
47
48if (allocated(yearlask)) deallocate(yearlask)
49if (allocated(obllask)) deallocate(obllask)
50if (allocated(ecclask)) deallocate(ecclask)
51if (allocated(lsplask)) deallocate(lsplask)
52
53END SUBROUTINE end_lask_param_mod
54
55END MODULE lask_param_mod
Note: See TracBrowser for help on using the repository browser.