1 ! Jan-2011 P. Marguinaud Interface to thread-safe
FA 2 SUBROUTINE
_ELLIPS_ (KSMAX,KMSMAX,KNTMP,KMTMP)
8 ! ***ELLIPS*** - General routine
for computing elliptic truncation
12 ! Computation of zonal and meridional limit wavenumbers within the ellipse
17 ! Explicit arguments :
18 ! --------------------
20 ! Implicit arguments :
21 ! --------------------
33 ! ARPEGE/ALADIN documentation
37 ! G. Radnoti LACE 97/04/04
40 !-------------------------------------------------------------
41 ! J.Vivoda, 99/05/19 treating
NSMAX=0 and NMSMAX=0
44 INTEGER (KIND=JLIK) KSMAX, KMSMAX
45 INTEGER (KIND=JLIK) KNTMP(0:KMSMAX),KMTMP(0:KSMAX)
49 REAL (KIND=JPDBLR) ZEPS, ZKN, ZKM, ZAUXIL
51 REAL(KIND=JPRB) :: ZHOOK_HANDLE
52 IF (LHOOK) CALL DR_HOOK(
'ELLIPS',0,ZHOOK_HANDLE)
56 ! 1. Computing meridional limit wavenumbers along zonal wavenumbers
59 ZKN =
REAL(KSMAX,JPDBLR)/
REAL(KMSMAX,JPDBLR)* &
60 & SQRT(MAX(ZAUXIL,
REAL(KMSMAX**2-JM**2,JPDBLR)))
61 KNTMP(JM)=INT(ZKN+ZEPS, JLIK)
71 ! 2. Computing zonal limit wavenumbers along meridional wavenumbers
74 ZKM =
REAL(KMSMAX,JPDBLR)/
REAL(KSMAX,JPDBLR)* &
75 & SQRT(MAX(ZAUXIL,
REAL(KSMAX**2-JN**2,JPDBLR)))
76 KMTMP(JN)=INT(ZKM+ZEPS, JLIK)
86 IF (LHOOK) CALL DR_HOOK(
'ELLIPS',1,ZHOOK_HANDLE)
! Jan P Marguinaud Interface to thread safe FA SUBROUTINE ONLY
INTERFACE SUBROUTINE JPRB IMPLICIT NONE INTEGER(KIND=JPIM)
INTERFACE SUBROUTINE FACILO_MT && FA
INTERFACE SUBROUTINE SUCST_IFSAUX USE PARKIND1
! Jan P Marguinaud Interface to thread safe FA SUBROUTINE _ELLIPS_(KSMAX, KMSMAX, KNTMP, KMTMP) USE PARKIND1
!define ISRCHFLTPV_N !define ISRCHFLTPV_N ISRCHFLTPV_NBITER IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I-1)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+1)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+2)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+3)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+4)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+5)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+6)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+7)).LT.ISRCHFLTPV_TARGET) THEN ISRCHFLTPV_RESULT
INTERFACE SUBROUTINE FACILO_MT PUNDF USE OPTIONAL ::LDUNDF ! OUT REAL(KIND=JPDBLR)
! Jan P Marguinaud Interface to thread safe FA SUBROUTINE DR_HOOK USE LFI_PRECISION IMPLICIT NONE ***ELLIPS ***General routine for computing elliptic truncation ! Purpose ! Computation of zonal and meridional limit wavenumbers within the ellipse treating NSMAX