source: LMDZ5/trunk/libf/dynphy_lonlat/phydev/iniphysiq_mod.F90 @ 2947

Last change on this file since 2947 was 2588, checked in by Ehouarn Millour, 8 years ago

-Small change in the dynamics/physics interface organization:
externalize (from iniphysiq) operations wich initialize settings
common to all physics packages (e.g. global grid definitions;
in practice initializations for routines either in phy_common
or in dynphy_lonlat) in inigeomphy (located in dynphy_lonlat).
iniphysiq should only initialize settings in the corresponding
physics package (e.g. phylmd for dynphy_lonlat/phylmd/iniphysiq).

  • Bug fix in phydev/iophy: is_south_pole_dyn replaces

is_south_pole since rev. 2429.

EM

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 3.2 KB
RevLine 
[1615]1!
2! $Id: iniphysiq.F 1403 2010-07-01 09:02:53Z fairhead $
3!
[2347]4MODULE iniphysiq_mod
5
6CONTAINS
7
[2351]8SUBROUTINE iniphysiq(iim,jjm,nlayer, &
9                     nbp, communicator, &
10                     punjours, pdayref,ptimestep, &
[2346]11                     rlatu,rlatv,rlonu,rlonv,aire,cu,cv, &
[2225]12                     prad,pg,pr,pcpp,iflag_phys)
[2351]13  USE dimphy, ONLY: init_dimphy
[2588]14  USE inigeomphy_mod, ONLY: inigeomphy
15  USE mod_phys_lmdz_para, ONLY: klon_omp ! number of columns (on local omp grid)
[2320]16  USE infotrac, ONLY: nqtot, type_trac
17  USE infotrac_phy, ONLY: init_infotrac_phy
[2311]18  USE inifis_mod, ONLY: inifis
[1994]19  USE phyaqua_mod, ONLY: iniaqua
[2346]20  USE nrtype, ONLY: pi
[1994]21  IMPLICIT NONE
22  !
23  !=======================================================================
24  !   Initialisation of the physical constants and some positional and
25  !   geometrical arrays for the physics
26  !=======================================================================
[1615]27 
[1671]28 
[1994]29  include "iniprint.h"
[1671]30
[1994]31  REAL,INTENT(IN) :: prad ! radius of the planet (m)
32  REAL,INTENT(IN) :: pg ! gravitational acceleration (m/s2)
33  REAL,INTENT(IN) :: pr ! ! reduced gas constant R/mu
34  REAL,INTENT(IN) :: pcpp ! specific heat Cp
35  REAL,INTENT(IN) :: punjours ! length (in s) of a standard day
[2225]36  INTEGER, INTENT (IN) :: nlayer ! number of atmospheric layers
37  INTEGER, INTENT (IN) :: iim ! number of atmospheric coulumns along longitudes
38  INTEGER, INTENT (IN) :: jjm  ! number of atompsheric columns along latitudes
[2351]39  INTEGER, INTENT(IN) :: nbp ! number of physics columns for this MPI process
40  INTEGER, INTENT(IN) :: communicator ! MPI communicator
[2225]41  REAL, INTENT (IN) :: rlatu(jjm+1) ! latitudes of the physics grid
[2346]42  REAL, INTENT (IN) :: rlatv(jjm) ! latitude boundaries of the physics grid
[2225]43  REAL, INTENT (IN) :: rlonv(iim+1) ! longitudes of the physics grid
[2346]44  REAL, INTENT (IN) :: rlonu(iim+1) ! longitude boundaries of the physics grid
[2225]45  REAL, INTENT (IN) :: aire(iim+1,jjm+1) ! area of the dynamics grid (m2)
46  REAL, INTENT (IN) :: cu((iim+1)*(jjm+1)) ! cu coeff. (u_covariant = cu * u)
47  REAL, INTENT (IN) :: cv((iim+1)*jjm) ! cv coeff. (v_covariant = cv * v)
[2233]48  INTEGER, INTENT (IN) :: pdayref ! reference day of for the simulation
[1994]49  REAL,INTENT(IN) :: ptimestep !physics time step (s)
50  INTEGER,INTENT(IN) :: iflag_phys ! type of physics to be called
[1671]51
[1994]52  INTEGER :: ibegin,iend,offset
[2351]53  INTEGER :: i,j,k
[1994]54  CHARACTER (LEN=20) :: modname='iniphysiq'
55  CHARACTER (LEN=80) :: abort_message
[2225]56
57
[2588]58  ! --> initialize physics distribution, global fields and geometry
59  ! (i.e. things in phy_common or dynphy_lonlat)
60  CALL inigeomphy(iim,jjm,nlayer, &
61               nbp, communicator, &
62               rlatu,rlatv, &
63               rlonu,rlonv, &
64               aire,cu,cv)
[2225]65
[2588]66  ! --> now initialize things specific to the phydev physics package
[1615]67
[2225]68!$OMP PARALLEL
[2351]69
[2311]70  ! Initialize physical constants in physics:
71  CALL inifis(prad,pg,pr,pcpp)
[2320]72 
[2395]73  ! Initialize dimphy module
74  CALL Init_dimphy(klon_omp,nlayer)
75
[2320]76  ! Initialize tracer names, numbers, etc. for physics
77  CALL init_infotrac_phy(nqtot,type_trac)
[2311]78
[1994]79  ! Additional initializations for aquaplanets
80  IF (iflag_phys>=100) THEN
[2351]81    CALL iniaqua(klon_omp,iflag_phys)
[1994]82  ENDIF
[2225]83!$OMP END PARALLEL
[1615]84
[1994]85END SUBROUTINE iniphysiq
[2347]86
87END MODULE iniphysiq_mod
Note: See TracBrowser for help on using the repository browser.