source: trunk/LMDZ.COMMON/libf/dyn3d/iniconst.F @ 171

Last change on this file since 171 was 127, checked in by emillour, 14 years ago

Ehouarn: suite de l'implementation de la discretisation verticale,
avec quelques mises a jour pour concorder avec la version terrestre.
-> Finalement, on met un flag "disvert_type" pour fixer la discretisation

disvert_type==1 (defaut si planet_type=="earth") pour cas terrestre
disvert_type==2 (defaut si planet_type!="earth") pour cas planeto (z2sig.def)

-> au passage, pour rester en phase avec modele terrestre on renomme

disvert_terre en disvert (le disvert "alternatif" demeure 'disvert_noterre')

File size: 2.2 KB
Line 
1!
2! $Id: iniconst.F 1520 2011-05-23 11:37:09Z emillour $
3!
4      SUBROUTINE iniconst
5
6      USE control_mod
7#ifdef CPP_IOIPSL
8      use IOIPSL
9#else
10! if not using IOIPSL, we still need to use (a local version of) getin
11      use ioipsl_getincom
12#endif
13
14      IMPLICIT NONE
15c
16c      P. Le Van
17c
18c-----------------------------------------------------------------------
19c   Declarations:
20c   -------------
21c
22#include "dimensions.h"
23#include "paramet.h"
24#include "comconst.h"
25#include "temps.h"
26#include "comvert.h"
27#include "iniprint.h"
28
29
30      character(len=*),parameter :: modname="iniconst"
31      character(len=80) :: abort_message
32c
33c
34c
35c-----------------------------------------------------------------------
36c   dimension des boucles:
37c   ----------------------
38
39      im      = iim
40      jm      = jjm
41      lllm    = llm
42      imp1    = iim
43      jmp1    = jjm + 1
44      lllmm1  = llm - 1
45      lllmp1  = llm + 1
46
47c-----------------------------------------------------------------------
48
49      dtdiss  = idissip * dtvr
50      dtphys  = iphysiq * dtvr
51      unsim   = 1./iim
52      pi      = 2.*ASIN( 1. )
53
54c-----------------------------------------------------------------------
55c
56
57      r       = cpp * kappa
58
59      write(lunout,*) trim(modname),': R  CP  Kappa ',r,cpp,kappa
60c
61c-----------------------------------------------------------------------
62
63! vertical discretization: default behavior depends on planet_type flag
64      if (planet_type=="earth") then
65        disvert_type=1
66      else
67        disvert_type=2
68      endif
69      ! but user can also specify using one or the other in run.def:
70      call getin('disvert_type',disvert_type)
71      write(lunout,*) trim(modname),': disvert_type=',disvert_type
72     
73      if (disvert_type==1) then
74       ! standard case for Earth (automatic generation of levels)
75       call disvert(pa,preff,ap,bp,dpres,presnivs,nivsigs,nivsig,
76     &              scaleheight)
77      else if (disvert_type==2) then
78        ! standard case for planets (levels generated using z2sig.def file)
79        call disvert_noterre
80      else
81        write(abort_message,*) "Wrong value for disvert_type: ",
82     &                        disvert_type
83        call abort_gcm(modname,abort_message,0)
84      endif
85
86      END
Note: See TracBrowser for help on using the repository browser.