source: trunk/LMDZ.MARS/libf/phymars/phys_state_var_init_mod.F90 @ 2294

Last change on this file since 2294 was 2265, checked in by emillour, 5 years ago

Mars GCM:
Save "dtau", the opacity difference between model and target dust scenario
in the restartfi.nc file so that we have 1+1=2 when running with dust
injection schemes.
EM

File size: 4.8 KB
Line 
1MODULE phys_state_var_init_mod
2
3CONTAINS
4
5      SUBROUTINE phys_state_var_init(ngrid,nlayer,nq,tname, &
6                                     day_ini,hour_ini,pdaysec,ptimestep, &
7                                     prad,pg,pr,pcpp)
8
9!=======================================================================
10!
11!   purpose:
12!   -------
13!
14!   Allocate arrays in modules
15!   Fill geometrical arrays
16!   Fill a first set of physical constants
17!   -- was done previously in inifis
18!
19!=======================================================================
20!   
21!   authors: Ehouarn Millour and Aymeric Spiga
22!            14/04/2014
23!
24!   arguments:
25!   ----------
26!
27!   input:
28!   ------
29!
30!    ngrid                 Size of the horizontal grid.
31!    nlayer                Number of vertical layers.
32!    nq                    Number of tracers.
33!
34!=======================================================================
35
36      use init_print_control_mod, only: init_print_control
37      use slope_mod, only: ini_slope_mod,end_slope_mod
38      use comsaison_h, only: ini_comsaison_h,end_comsaison_h
39      use surfdat_h, only: ini_surfdat_h,end_surfdat_h
40      use comgeomfi_h, only: ini_comgeomfi_h,end_comgeomfi_h
41      use comsoil_h, only: ini_comsoil_h,end_comsoil_h
42      use dimradmars_mod, only: ini_dimradmars_mod,end_dimradmars_mod
43      use yomlw_h, only: ini_yomlw_h,end_yomlw_h
44      use conc_mod, only: ini_conc_mod,end_conc_mod
45      use turb_mod, only: ini_turb_mod,end_turb_mod
46      use comcstfi_h, only: pi,rad,cpp,g,r,rcp
47      use tracer_mod, only: ini_tracer_mod,end_tracer_mod
48      use time_phylmdz_mod, only: init_time
49      use co2cloud_mod, only: ini_co2cloud,end_co2cloud
50      use compute_dtau_mod, only: ini_compute_dtau_mod, &
51                                  end_compute_dtau_mod
52      use rocketduststorm_mod, only: ini_rocketduststorm_mod, &
53                                     end_rocketduststorm_mod
54      use topmons_mod, only: ini_topmons_mod, &
55                             end_topmons_mod
56      use calchim_mod, only: ini_calchim_mod,end_calchim_mod
57      use watercloud_mod, only: ini_watercloud_mod, &
58                                end_watercloud_mod
59      use nonoro_gwd_ran_mod, only: ini_nonoro_gwd_ran, &
60                                    end_nonoro_gwd_ran
61
62      IMPLICIT NONE
63     
64      INTEGER,INTENT(IN) :: ngrid,nlayer,nq
65      CHARACTER(len=*),INTENT(IN) :: tname(nq)
66      INTEGER,INTENT(IN) :: day_ini
67      REAL,INTENT(IN) :: hour_ini
68      REAL,INTENT(IN) :: pdaysec,ptimestep,prad,pg,pr,pcpp
69
70      ! set dimension and allocate arrays in tracer_mod
71      call end_tracer_mod
72      call ini_tracer_mod(nq,tname)
73
74
75      ! initialize "print_control" constants/flags ("prt_level","lunout", etc.)
76      call init_print_control
77     
78      ! set parameters in comcstfi_h
79      pi=2.*asin(1.)
80      rad=prad
81      cpp=pcpp
82      g=pg
83      r=pr
84      rcp=r/cpp
85
86      ! Initialize some "temporal and calendar" related variables
87      call init_time(day_ini,hour_ini,pdaysec,ptimestep)
88
89      ! allocate "slope_mod" arrays
90      call end_slope_mod
91      call ini_slope_mod(ngrid)
92
93      ! allocate "comsaison_h" arrays
94      call end_comsaison_h
95      call ini_comsaison_h(ngrid)
96
97      ! allocate "surfdat_h" arrays
98      call end_surfdat_h
99      call ini_surfdat_h(ngrid,nq)
100
101      ! allocate "comgeomfi_h" arrays
102      call end_comgeomfi_h
103      call ini_comgeomfi_h(ngrid)
104
105      ! allocate "comsoil_h" arrays
106      call end_comsoil_h
107      call ini_comsoil_h(ngrid)
108
109      ! set some variables in "dimradmars_mod"
110      call end_dimradmars_mod
111      call ini_dimradmars_mod(ngrid,nlayer)
112
113      ! allocate arrays in "yomlw_h"
114      call end_yomlw_h
115      call ini_yomlw_h(ngrid)
116
117      ! allocate arrays in "conc_mod" (aeronomars)
118      call end_conc_mod
119      call ini_conc_mod(ngrid,nlayer)
120
121      ! allocate arrays in "turb_mod"
122      call end_turb_mod
123      call ini_turb_mod(ngrid,nlayer)
124     
125      ! allocate arrays in "co2cloud" :
126      ! Memory of the origin of the co2 particles     
127      call end_co2cloud
128      call ini_co2cloud(ngrid,nlayer)
129     
130      ! allocate arrays in "compute_dtau_mod":
131      call end_compute_dtau_mod
132      call ini_compute_dtau_mod(ngrid)
133
134      ! allocate arrays in "rocketduststorm_mod":
135      call end_rocketduststorm_mod
136      call ini_rocketduststorm_mod(ngrid)
137
138      ! allocate arrays in "topmons_mod":
139      call end_topmons_mod
140      call ini_topmons_mod(ngrid,nlayer)
141
142      ! allocate arrays in "calchim_mod" (aeronomars)
143      call end_calchim_mod
144      call ini_calchim_mod(ngrid,nlayer,nq)
145
146      ! allocate arrays in "watercloud_mod"
147      call end_watercloud_mod
148      call ini_watercloud_mod(ngrid,nlayer,nq)
149
150      ! allocate arrays in "nonoro_gwd_ran_mod"
151      call end_nonoro_gwd_ran
152      call ini_nonoro_gwd_ran(ngrid,nlayer)
153
154
155      END SUBROUTINE phys_state_var_init
156
157END MODULE phys_state_var_init_mod
Note: See TracBrowser for help on using the repository browser.