78 CHARACTER (LEN = 14) :: CLDBG
80 INTEGER(KIND=JPIM) :: IAO, IAOFF, IB, IB1, IB2, IB3, IB4, IB5,&
81 & IB6, ICNEED, ICTAKE, IGL, IJBXBOFF, IJBXSETA, &
82 & ILE, ILEN, ILONS, ILW, IMAX, IMAXC, IMAXT, &
83 & IOTHBOFF, IOTHSETA, IPROCB, IRINT, IUNIT, &
84 & JA, JB, JBE, JBW, JBX, JF, JGL, JGLGLO, JL
86 LOGICAL :: LLMESS, LLMYSETAISWEST
87 REAL(KIND=JPRB) :: ZHOOK_HANDLE
89 #include "abor1.intfb.h"
128 9990
FORMAT(1
x,
'ARRAY ',a10,
' ALLOCATED ',8i8)
134 WRITE(nulout,
'("SUECRAD: FFT INTERPOLATION UNSUPPORTED",&
136 CALL abor1(
'FFT INTERPOLATION UNSUPPORTED WITH LSPLIT')
139 WRITE(nulout,
'("SUECRAD: FFT INTERPOLATION UNSUPPORTED",&
140 & " WITH N_REGIONS_EW > 1")')
141 CALL abor1(
'FFT INTERPOLATION UNSUPPORTED WITH N_REGIONS_EW > 1')
188 ista(jgl,jb)=
nsta(igl,jb)
189 ionl(jgl,jb)=
nonl(igl,jb)
193 llmysetaiswest=.
false.
196 llmysetaiswest=.
true.
199 IF( llmysetaiswest )
THEN
214 llmysetaiswest=.
false.
217 llmysetaiswest=.
true.
220 IF( llmysetaiswest )
THEN
246 imaxc=imaxc+(1-mod(imaxc,2))
252 OPEN(
unit=iunit,file=cldbg)
254 WRITE(iunit,
'("SUECRADI: NDGSAL=",I4," NDGENL=",I4)')
ndgsal,
ndgenl
255 WRITE(iunit,
'("SUECRADI: ")')
272 IF( mod(ilons,jf) == 0.AND.ilons/jf <= imaxc )
THEN
281 WRITE(iunit,
'("SUECRADI: JGLGLO=",I4," JGL=",I4,&
282 & " NLOENG=",I4," NRIRINT=",I1," LSPLITLAT=",L2)')&
293 IF( ionl(jgl,jb) == 0 )
GOTO 250
294 nrfrstoff(jgl,jb)=mod(irint-mod(ista(jgl,jb)-1,irint),irint)
296 & mod(irint-mod(ista(jgl,jb)+ionl(jgl,jb)-2,irint),&
299 DO jl=1+
nrfrstoff(jgl,jb),ionl(jgl,jb),irint
314 WRITE(iunit,
'("SUECRADI: JB=",I4," ISTA=",I4,&
315 & " IONL=",I4," NRFRSTOFF=",I1," NRIMAX=",I3,&
316 & " NRLASTOFF=",I1," CNEEDW=",I1," CNEEDE=",I1)')&
317 & jb,ista(jgl,jb),ionl(jgl,jb),
nrfrstoff(jgl,jb),&
325 WRITE(iunit,
'("SUECRADI: ")')
334 WRITE(iunit,
'("SUECRADI: NRIMAXT=",I6)')
nrimaxt
345 IF( mod(ilons,jf) == 0.AND.ilons/jf <= imaxc )
THEN
406 IF( ista(jgl,jb) == 1 )
THEN
440 IF( ionl(jgl,jb) > 0 )
THEN
443 ilwb(ilw)=jb-ijbxboff
448 IF( ionl(jgl,jb) > 0 )
THEN
451 ilwb(ilw)=jb-iothboff
456 IF( ionl(jgl,jb) > 0 )
THEN
459 ilwb(ilw)=jb-ijbxboff
480 IF( ionl(jgl,jb) > 0 )
THEN
483 ileb(ile)=jb-ijbxboff
488 IF( ionl(jgl,jb) > 0 )
THEN
491 ileb(ile)=jb-iothboff
496 IF( ionl(jgl,jb) > 0 )
THEN
499 ileb(ile)=jb-ijbxboff
507 IF( ionl(jgl,jb) > 0 )
THEN
515 IF( ionl(jgl,jb) > 0 )
THEN
524 IF( ionl(jgl,jb) > 0 )
THEN
532 IF( ionl(jgl,jb) > 0 )
THEN
541 WRITE(nulout,.OR.
'("SUECRAD: ILW > 2*N_REGIONS_EW ",&
542 & "ILE > 2*N_REGIONS_EW, ILW=",I6," ILE=",I6)') ilw,ile
543 CALL abor1(
'SUECRADI:ILW/E > 2*N_REGIONS_EW')
557 IF( icneed == 0 )
GOTO 541
561 IF(
nrimax(jgl,ilwbi(jbw)) > 0 )
THEN
566 IF(
nrimax(jgl,ilwbi(jbw)) >= icneed )
THEN
569 ictake=
nrimax(jgl,ilwbi(jbw))
600 IF( icneed == 0 )
GOTO 551
604 IF(
nrimax(jgl,ilebi(jbe)) > 0 )
THEN
609 IF(
nrimax(jgl,ilebi(jbe)) >= icneed )
THEN
612 ictake=
nrimax(jgl,ilebi(jbe))
653 WRITE(iunit,
'("SUECRADI: ")')
656 WRITE(iunit,
'("SUECRADI: SETA=",I4," SETB=",I4,&
657 & " NRCSNDT=",I6," NRCRCVT=",I6)')&
663 WRITE(iunit,
'("SUECRADI: ")')
666 WRITE(iunit,
'("SUECRADI: ")')
670 IF(
nrcsndw(jgl,jb,ja) > 0.OR.&
674 WRITE(iunit,
'("SUECRADI: JGLGLO=",I4," JGL=",I4,&
675 & " SETA=",I4," SETB=",I4,&
676 & " CSNDW=",I6," CSNDE=",I6,&
677 & " CRCVW=",I6," CRCVE=",I6,&
678 & " CRCVWO=",I1," CRCVEO=",I1)')&
integer(kind=jpim) nradf2c15
integer(kind=jpim), dimension(:,:,:), allocatable nrcsndw
integer(kind=jpim), dimension(:,:), allocatable nrcneedw
integer(kind=jpim) nradpla15
integer(kind=jpim), dimension(:,:), allocatable nrcrcvt
integer(kind=jpim), dimension(:), allocatable, target nloeng
integer(kind=jpim) nradfr15
integer(kind=jpim), dimension(:), allocatable, target nlstlat
integer(kind=jpim) nflux15
integer(kind=jpim) nrint15
integer(kind=jpim) nrimaxt
integer(kind=jpim), dimension(:,:,:), allocatable nrcrcveo
integer(kind=jpim) naer15
integer(kind=jpim) n_regions_ew
integer(kind=jpim) ndgsal
logical, dimension(:), allocatable lsplitlat
integer(kind=jpim), dimension(:,:), allocatable nrlastoff
!$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) nrproma15
integer(kind=jpim), dimension(:,:), allocatable nrcneede
integer(kind=jpim), dimension(:,:,:), allocatable nrcsnde
integer(kind=jpim) n_regions_ns
integer(kind=jpim) nrad15
integer(kind=jpim), dimension(:,:,:), allocatable nrcrcvw
integer(kind=jpim) ndgenl
integer(kind=jpim), parameter jpradce
!$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
integer(kind=jpim) my_region_ns
!$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
integer(kind=jpim), dimension(:), allocatable nloen
integer(kind=jpim), dimension(:,:), allocatable, target nsta
integer(kind=jpim) nradpfr15
integer(kind=jpim), dimension(:), allocatable nptrlstlat
integer(kind=jpim), dimension(:,:), allocatable, target nonl
integer(kind=jpim), parameter jpradcw
integer(kind=jpim) nradc2f15
integer(kind=jpim), dimension(:,:,:), allocatable nrcrcve
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
integer(kind=jpim) novlp15
integer(kind=jpim) ndgsag
integer(kind=jpim), dimension(:), allocatable, target nptrfrstlat
integer(kind=jpim) nmode15
integer(kind=jpim) my_region_ew
integer(kind=jpim) ndgeng
integer(kind=jpim), dimension(:), allocatable, target nfrstlat
!$Header!integer nvarmx s s unit
integer(kind=jpim), dimension(:,:), allocatable nrimax
integer(kind=jpim), dimension(:,:,:), allocatable nrcrcvwo
integer(kind=jpim), dimension(:,:), allocatable nrcsndt
integer(kind=jpim), dimension(:), allocatable nrirint
integer(kind=jpim), dimension(:,:), allocatable nrfrstoff