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
RevLine 
[3076]1MODULE lask_param_mod
2
[2855]3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4!!!
5!!! Purpose: Define parameters from Laskar et al., 2004 evolution
[3076]6!!!
[3039]7!!! Author: RV, JBC
[2855]8!!!
9!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[2835]10
11implicit none
12
[3076]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
[2835]18
[3076]19!=======================================================================
[2835]20contains
[3076]21!=======================================================================
[2835]22
[3076]23SUBROUTINE ini_lask_param_mod
[3039]24
[3076]25implicit none
[3039]26
[3076]27integer :: nlask ! number of lines in Laskar files
28integer :: ierr
[2835]29
[3076]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))
[2835]39
[3076]40END SUBROUTINE ini_lask_param_mod
[2835]41
[3076]42!=======================================================================
[2835]43
[3076]44SUBROUTINE end_lask_param_mod
[2835]45
[3076]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.