source: trunk/LMDZ.GENERIC/libf/phystd/comsoil_h.F90 @ 1255

Last change on this file since 1255 was 1216, checked in by emillour, 11 years ago

Generic model:
Major cleanup, in order to ease the use of LMDZ.GENERIC with (parallel) dynamics
in LMDZ.COMMON: (NB: this will break LMDZ.UNIVERSAL, which should be thrashed
in the near future)

  • Updated makegcm_* scripts (and makdim) and added the "-full" (to enforce full recomputation of the model) option
  • In dyn3d: converted control.h to module control_mod.F90 and converted iniadvtrac.F to module infotrac.F90
  • Added module mod_const_mpi.F90 in dyn3d (not used in serial mode)
  • Rearanged input/outputs routines everywhere to handle serial/MPI cases. physdem.F => phyredem.F90 , phyetat0.F => phyetat0.F90 ; all read/write routines for startfi files are gathered in module iostart.F90
  • added parallelism related routines init_phys_lmdz.F90, comgeomphy.F90, dimphy.F90, iniphysiq.F90, mod_grid_phy_lmdz.F90, mod_phys_lmdz_mpi_data.F90, mod_phys_lmdz_mpi_transfert.F90, mod_phys_lmdz_omp_data.F90, mod_phys_lmdz_omp_transfert.F90, mod_phys_lmdz_para.F90, mod_phys_lmdz_transfert_para.F90 in phymars and mod_const_mpi.F90 in dyn3d (for compliance with parallelism)
  • added created generic routines 'planetwide_maxval' and 'planetwide_minval', in module "planetwide_mod", that enable obtaining the max and min of a field over the whole planet. This should be further imroved with computation of means (possibly area weighed), etc.

EM

File size: 1.1 KB
Line 
1module comsoil_h
2
3implicit none
4! nsoilmx : number of subterranean layers
5!integer, parameter :: nsoilmx = 18 ! for z1=0.0002 m, depth = 18 m => mars case
6!integer, parameter :: nsoilmx = 13 ! for z1=0.03 m, depth = 104.8 m => earth case
7  integer, parameter :: nsoilmx = 18
8
9  real,save,allocatable,dimension(:) :: layer      ! soil layer depths
10  real,save,allocatable,dimension(:) :: mlayer     ! soil mid-layer depths
11  real,save,allocatable,dimension(:,:) :: inertiedat ! soil thermal inertia
12  real,save :: volcapa    ! soil volumetric heat capacity
13       ! NB: volcapa is read fromn control(35) from physicq start file
14       !     in physdem (or set via tabfi, or initialized in
15       !                 soil_settings.F)
16
17contains
18
19  subroutine ini_comsoil_h(ngrid)
20 
21  implicit none
22  integer,intent(in) :: ngrid ! number of atmospheric columns
23 
24    if (.not.allocated(layer)) allocate(layer(nsoilmx)) !soil layer depths
25    if (.not.allocated(mlayer)) allocate(mlayer(0:nsoilmx-1)) ! soil mid-layer depths
26    if (.not.allocated(inertiedat)) allocate(inertiedat(ngrid,nsoilmx)) ! soil thermal inertia
27 
28  end subroutine ini_comsoil_h
29
30end module comsoil_h
31
Note: See TracBrowser for help on using the repository browser.