1 SUBROUTINE setup_trans(KSMAX,KDGL,KLOEN,LDLINEAR_GRID,LDSPLIT,&
83 INTEGER(KIND=JPIM) ,
INTENT(IN) :: KSMAX,KDGL
84 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(IN) :: KLOEN(:)
85 LOGICAL ,
OPTIONAL,
INTENT(IN) :: LDLINEAR_GRID
86 LOGICAL ,
OPTIONAL,
INTENT(IN) :: LDSPLIT
87 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(IN) :: KAPSETS
88 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(IN) :: KTMAX
89 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT):: KRESOL
94 INTEGER(KIND=JPIM) :: JGL
97 REAL(KIND=JPRB) :: ZHOOK_HANDLE
104 CALL abort_trans(
'SETUP_TRANS: SETUP_TRANS0 HAS TO BE CALLED BEFORE SETUP_TRANS')
108 IF(llp1)
WRITE(
nout,*)
'=== ENTER ROUTINE SETUP_TRANS ==='
121 CALL abort_trans(
'SETUP_TRANS:NDEF_RESOL > NMAX_RESOL')
125 IF (
PRESENT(kresol))
THEN
149 IF (kdgl <= 0 .OR. mod(kdgl,2) /= 0)
THEN
150 CALL abort_trans (
'SETUP_TRANS: KDGL IS NOT A POSITIVE, EVEN NUMBER')
155 ALLOCATE(
g%NLOEN(
r%NDGL))
156 IF(llp2)
WRITE(
nout,9)
'NLOEN ',
SIZE(
g%NLOEN ),shape(
g%NLOEN )
157 IF(
PRESENT(kloen))
THEN
159 IF(kloen(jgl) /=
r%NDLON)
THEN
160 g%LREDUCED_GRID = .
true.
166 IF (
g%LREDUCED_GRID)
THEN
167 g%NLOEN(:) = kloen(1:
r%NDGL)
172 IF(
PRESENT(ldsplit))
THEN
176 IF(
PRESENT(kapsets))
THEN
180 IF(
PRESENT(ktmax))
THEN
185 IF(
r%NTMAX /=
r%NSMAX)
THEN
187 CALL abort_trans(
'SETUP_TRANS:R%NTMAX /= R%NSMAX HAS NOT BEEN VALIDATED')
190 IF(
PRESENT(ldlinear_grid))
THEN
191 g%LINEAR_GRID = ldlinear_grid
192 ELSEIF(
r%NSMAX > (
r%NDLON+3)/3)
THEN
193 g%LINEAR_GRID = .
true.
222 9
FORMAT(1
x,
'ARRAY ',a10,
' ALLOCATED ',8i8)
!$Id mode_top_bound COMMON comconstr r
!$Id mode_top_bound COMMON comconstr g
type(distr_type), pointer d
subroutine sump_trans_preleg
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
integer(kind=jpim) msetup0
subroutine set_resol(KRESOL)
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
type(dim_type), dimension(:), allocatable, target dim_resol
subroutine setup_trans(KSMAX, KDGL, KLOEN, LDLINEAR_GRID, LDSPLIT, KAPSETS, KTMAX, KRESOL)
integer(kind=jpim) nmax_resol
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
type(fft_type), dimension(:), allocatable, target fft_resol
integer(kind=jpim) ncur_resol
type(distr_type), dimension(:), allocatable, target distr_resol
integer(kind=jpim) ndef_resol
subroutine abort_trans(CDTEXT)
type(fields_type), dimension(:), allocatable, target fields_resol
type(geom_type), dimension(:), allocatable, target geom_resol
integer(kind=jpim) nprintlev