source: trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/iniphysiq_mod.F90 @ 2559

Last change on this file since 2559 was 2511, checked in by aslmd, 4 years ago

update of r2507: streamlining day_end from dynamics to physics to avoid using a dynamical module in the physics. put changes in 3 interfaces: LMDZ, DYNAMICO, and WRF

File size: 3.5 KB
Line 
1MODULE iniphysiq_mod
2
3CONTAINS
4
5subroutine iniphysiq(ii,jj,nlayer, &
6                     nbp, communicator, &
7                     punjours, pdayref,ptimestep, &
8                     rlatudyn,rlatvdyn,rlonudyn,rlonvdyn, &
9                     airedyn,cudyn,cvdyn, &
10                     prad,pg,pr,pcpp,iflag_phys)
11
12use infotrac, only : nqtot, & ! number of advected tracers
13                     tname, & ! tracer names
14                     nqperes,nqfils! MVals: variables isotopes
15use comgeomfi_h, only: ini_fillgeom
16use temps_mod, only: day_ini, day_end, hour_ini
17use phys_state_var_init_mod, only: phys_state_var_init
18use inigeomphy_mod, only: inigeomphy
19use geometry_mod, only: cell_area, & ! physics grid area (m2)
20                        longitude, & ! longitudes (rad)
21                        latitude ! latitudes (rad)
22! necessary to get klon_omp
23USE mod_phys_lmdz_para, ONLY: klon_omp ! number of columns (on local omp grid)
24USE dimphy, ONLY: init_dimphy
25
26implicit none
27
28include "iniprint.h"
29
30real,intent(in) :: prad ! radius of the planet (m)
31real,intent(in) :: pg ! gravitational acceleration (m/s2)
32real,intent(in) :: pr ! ! reduced gas constant R/mu
33real,intent(in) :: pcpp ! specific heat Cp
34real,intent(in) :: punjours ! length (in s) of a standard day
35integer,intent(in) :: nlayer ! number of atmospheric layers
36integer,intent(in) :: ii ! number of atmospheric coulumns along longitudes
37integer,intent(in) :: jj  ! number of atompsheric columns along latitudes
38integer,intent(in) :: nbp ! number of physics columns for this MPI process
39integer,intent(in) :: communicator ! MPI communicator
40real,intent(in) :: rlatudyn(jj+1) ! latitudes of the physics grid
41real,intent(in) :: rlatvdyn(jj) ! latitude boundaries of the physics grid
42real,intent(in) :: rlonvdyn(ii+1) ! longitudes of the physics grid
43real,intent(in) :: rlonudyn(ii+1) ! longitude boundaries of the physics grid
44real,intent(in) :: airedyn(ii+1,jj+1) ! area of the dynamics grid (m2)
45real,intent(in) :: cudyn((ii+1)*(jj+1)) ! cu coeff. (u_covariant = cu * u)
46real,intent(in) :: cvdyn((ii+1)*jj) ! cv coeff. (v_covariant = cv * v)
47integer,intent(in) :: pdayref ! reference day of for the simulation
48real,intent(in) :: ptimestep !physics time step (s)
49integer,intent(in) :: iflag_phys ! type of physics to be called
50
51  ! the common part for all planetary physics
52  !------------------------------------------
53  ! --> initialize physics distribution, global fields and geometry
54  ! (i.e. things in phy_common or dynphy_lonlat)
55  CALL inigeomphy(ii,jj,nlayer, &
56               nbp, communicator, &
57               rlatudyn,rlatvdyn, &
58               rlonudyn,rlonvdyn, &
59               airedyn,cudyn,cvdyn)
60
61  ! the distinct part for all planetary physics (ie. things in phymars)
62  !------------------------------------------
63
64!$OMP PARALLEL
65 
66! copy some fundamental parameters to physics
67! and do some initializations
68
69! Initialize dimphy module => Now done in physics_distribution_mod
70!call init_dimphy(klon_omp,nlayer)
71
72call phys_state_var_init(klon_omp,nlayer,nqtot,tname, &
73                         day_ini,day_end,hour_ini,&
74                         punjours,ptimestep, &
75                         prad,pg,pr,pcpp, &
76                         nqperes,nqfils) ! MVals: variables isotopes
77call ini_fillgeom(klon_omp,latitude,longitude,cell_area)
78! work is needed to put what is in comgeomfi_h in geometry_mod?
79
80call conf_phys(klon_omp,nlayer,nqtot)
81
82! Initialize some "temporal and calendar" related variables
83!CALL init_time(day_ini,hour_ini,punjours,ptimestep)
84
85!$OMP END PARALLEL
86
87end subroutine iniphysiq
88
89
90END MODULE iniphysiq_mod
Note: See TracBrowser for help on using the repository browser.