module comgeomphy ! real,save,allocatable :: airephy(:) => transfered in geometry_mod (area) ! real,save,allocatable :: cuphy(:) => transfered in regular_lonlat_mod : dlon_reg ! real,save,allocatable :: cvphy(:) => transfered in regular_lonlat_mod : dlat_reg ! real,save,allocatable :: rlatd(:) => transfered in geometry_mod (longitude) ! real,save,allocatable :: rlond(:) => transfered in geometry_mod (latitude) !!$OMP THREADPRIVATE(airephy,rlatd,rlond) ! general (over global grid) latitudes and longitudes: ! useful for outputs ! real,save,allocatable :: rlonv(:) ! longitudes (rad) => transfered in regular_lonlat_mod ! real,save,allocatable :: rlonu(:) ! longitude boundaries (rad) => transfered in regular_lonlat_mod ! real,save,allocatable :: rlatu(:) ! latitudes (rad) => transfered in regular_lonlat_mod ! real,save,allocatable :: rlatv(:) ! latitude boundaries (rad) => transfered in regular_lonlat_mod !!$OMP THREADPRIVATE(rlonv,rlonu,rlatu,rlatv) ! vertical grid ! real,save :: preff ! reference surface pressure (Pa) ! real,save,allocatable :: ap(:) => transfered in vertical_mod ! real,save,allocatable :: bp(:) => transfered in vertical_mod ! real,save,allocatable :: presnivs(:) => transfered in vertical_mod ! real,save,allocatable :: pseudoalt(:) => transfered in vertical_mod !!$OMP THREADPRIVATE(preff,ap,bp,presnivs,pseudoalt) contains subroutine InitComgeomphy(klon_omp) implicit none integer,intent(in) :: klon_omp ! number of columns (on local omp grid) ! allocate(airephy(klon_omp)) ! allocate(rlatd(klon_omp)) ! allocate(rlond(klon_omp)) end subroutine InitComgeomphy subroutine initcomgeomphy_horiz(iim,jjm) IMPLICIT NONE integer,intent(in) :: iim integer,intent(in) :: jjm end subroutine initcomgeomphy_horiz subroutine initcomgeomphy_vert(nlayer,preff_dyn,ap_dyn,bp_dyn,& presnivs_dyn,pseudoalt_dyn) IMPLICIT NONE integer,intent(in) :: nlayer ! number of atmospheric layers real,intent(in) :: preff_dyn ! reference surface pressure (Pa) real,intent(in) :: ap_dyn(nlayer+1) ! hybrid coordinate at interfaces real,intent(in) :: bp_dyn(nlayer+1) ! hybrid coordinate at interfaces real,intent(in) :: presnivs_dyn(nlayer) ! Appproximative pressure of atm. layers (Pa) real,intent(in) :: pseudoalt_dyn(nlayer) ! pseudo-altitude of atm. layers (km) ! allocate(ap(nlayer+1)) ! allocate(bp(nlayer+1)) ! allocate(presnivs(nlayer)) ! allocate(pseudoalt(nlayer)) ! ! preff=preff_dyn ! ap(:)=ap_dyn(:) ! bp(:)=bp_dyn(:) ! presnivs(:)=presnivs_dyn(:) ! pseudoalt(:)=pseudoalt_dyn(:) end subroutine initcomgeomphy_vert end module comgeomphy