4 & (lfi, krep, krang, cdnoma, klong, krpiex, &
6 & klonex, krpiec, kartec, kposec, kdtrou, &
59 INTEGER (KIND=JPLIKB) KREP, KRANG, KLONG, KRPIEX, KARTEX
60 INTEGER (KIND=JPLIKB) KLONEX, KRPIEC, KARTEC
61 INTEGER (KIND=JPLIKB) KPOSEC, KDTROU, KLONUT, ILCDNO, IRANG
62 INTEGER (KIND=JPLIKB) ILTSUF, INTTRU, J
63 INTEGER (KIND=JPLIKB) INBALO, INBPIR, IFACTM, ILARPH
64 INTEGER (KIND=JPLIKB) INTPPI, IRNGSU, INALPP
65 INTEGER (KIND=JPLIKB) INPPIM, INPIME, INTROU, INPPI1
66 INTEGER (KIND=JPLIKB) IDEBEX, IARTIC, IRGPIF
67 INTEGER (KIND=JPLIKB) INALPI, INPAGE, IRGPIM, IRPIFN
68 INTEGER (KIND=JPLIKB) ILFORC, IPOSEX
69 INTEGER (KIND=JPLIKB) IPOSDX, IRECPI, ILSUIV, IPOSUI
70 INTEGER (KIND=JPLIKB) IRGPI, IRPIMS, INPILE
71 INTEGER (KIND=JPLIKB) IRNGMS, INTRPI, ILTROU, IPTROU
72 INTEGER (KIND=JPLIKB) IRPITR, IARTTR, IPOSTR
73 INTEGER (KIND=JPLIKB) IRPIMD, IRPIFD, INALDP, IRETOU
74 INTEGER (KIND=JPLIKB) INIMES, INUMER, IRANGM
75 INTEGER (KIND=JPLIKB) IEXPLO (lfi%jpnpia+lfi%jpnpis+1)
76 INTEGER (KIND=JPLIKB) INDICE (lfi%jpnapx), &
79 LOGICAL LLTSUF, LLTOPT, LLTTRU, LLRCHA
81 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
82 CHARACTER(LEN=LFI%JPLMES) CLMESS
83 CHARACTER(LEN=LFI%JPLFTX) CLACTI
90 REAL(KIND=JPRB) :: ZHOOK_HANDLE
93 ilcdno=int(len(cdnoma),
jplikb)
95 IF (krang.LE.0.OR.krang.GT.lfi%JPNXFI.OR.klong.LE.0.OR. &
96 & ilcdno.LE.0.OR.ilcdno.GT.lfi%JPNCPN.OR.cdnoma.EQ.
' ')
THEN 113 inttru=lfi%MDES1D(ixm(lfi%JPNTRU,irang))+lfi%NBTROU(irang)
114 inbalo=lfi%MDES1D(ixm(lfi%JPNALO,irang))
115 inbpir=lfi%MDES1D(ixm(lfi%JPNPIR,irang))
117 ifactm=lfi%MFACTM(irang)
118 ilarph=lfi%JPLARD*ifactm
119 inalpp=lfi%JPNAPP*ifactm
120 intppi=(inbalo-1+inalpp)/inalpp
121 IF (lfi%LMISOP)
WRITE (unit=lfi%NULOUT,fmt=*) &
122 &
'INBALO= ',inbalo,
', INTTRU= ',inttru,
', INTPPI= ',intppi, &
123 &
', INBPIR= ',inbpir
125 IF (inbalo.EQ.0)
GOTO 240
129 inppim=lfi%NPPIMM(irang)
143 IF (lfi%NPODPI(irang).EQ.2)
THEN 152 & (lfi, krep,irang,cdnoma,irgpim,iartic,iretin)
154 IF (iretin.EQ.1)
THEN 156 ELSEIF (iretin.EQ.2)
THEN 158 ELSEIF (iretin.NE.0)
THEN 160 ELSEIF (iartic.NE.0)
THEN 164 irgpif=lfi%MRGPIF(irgpim)
165 inalpi=min(inalpp,inbalo-(irgpif-1)*inalpp)
191 IF (inpage.LE.inppi1)
THEN 195 irgpim=lfi%MRGPIM(inpage,irang)
196 irgpif=lfi%MRGPIF(irgpim)
198 iexplo(inpime)=irgpif
199 IF (irgpif.EQ.(irpifn+1)) irpifn=irgpif
205 IF (inpage.EQ.inppi1+1)
THEN 207 IF (irngsu.EQ.0)
THEN 216 irgpim=lfi%MRGPIM(irngsu,irang)
217 irgpif=lfi%MRGPIF(irgpim)
219 iexplo(inpime)=irgpif
220 IF (irgpif.EQ.(irpifn+1)) irpifn=irgpif
230 IF (iexplo(j).EQ.irgpif)
GOTO 202
236 & (lfi, krep,irang,irangm,irgpim,irgpif,ilforc, &
239 IF (iretin.EQ.1)
THEN 241 ELSEIF (iretin.EQ.2)
THEN 243 ELSEIF (iretin.NE.0)
THEN 247 inppim=max(inppim,irangm)
255 inalpi=min(inalpp,inbalo-(irgpif-1)*inalpp)
262 IF (lfi%CNOMAR(ixc(j,irgpim)).EQ.cdnoma)
THEN 273 IF (iartic.NE.0)
THEN 280 IF (.NOT.lfi%LPHASP(irgpim))
THEN 283 & (lfi, krep,irang,irgpim,iretin)
285 IF (iretin.EQ.1)
THEN 287 ELSEIF (iretin.EQ.2)
THEN 289 ELSEIF (iretin.NE.0)
THEN 296 klonex=lfi%MLGPOS(ixm(2*iartic-1,irgpim))
297 iposex=lfi%MLGPOS(ixm(2*iartic,irgpim))
300 IF (klong.LE.klonex)
THEN 313 iposdx=lfi%MLGPOS(ixm(2*iartic,irgpim))+klong-1
315 IF (iartic.EQ.1.AND.irgpif.GT.inbpir)
THEN 323 irecpi=lfi%MDES1D(ixm(ilarph+1-(irgpif-inbpir),irang))
324 klonut=ilarph*(irecpi-1)-iposex+1
326 IF (klong.LE.klonut)
THEN 335 ELSEIF (iartic.EQ.inalpi.AND.irgpif.EQ.intppi)
THEN 357 IF (iartic.NE.inalpi)
THEN 361 ilsuiv=lfi%MLGPOS(ixm(2*iartic+1,irgpim))
362 iposui=lfi%MLGPOS(ixm(2*iartic+2,irgpim))
365 IF (klong.LE.klonut)
THEN 375 ELSEIF (lfi%CNOMAR(ixc(iartic+1,irgpim)).EQ.
' ' &
376 & .AND.klong.LE.(klonut+ilsuiv))
THEN 382 lfi%MLGPOS(ixm(2*iartic+1,irgpim))=iposui+ilsuiv-(iposdx+1)
383 lfi%MLGPOS(ixm(2*iartic+2,irgpim))=iposdx+1
384 lfi%LECRPI(irgpim,2)=.true.
389 IF (lfi%MLGPOS(ixm(2*iartic+1,irgpim)).EQ.0)
THEN 407 irgpi=lfi%MRGPIM(j,irang)
409 IF (lfi%MRGPIF(irgpi).EQ.(irgpif+1))
THEN 413 IF (.NOT.lfi%LPHASP(irpims))
THEN 416 & (lfi, krep,irang,irpims,iretin)
418 IF (iretin.EQ.1)
THEN 420 ELSEIF (iretin.EQ.2)
THEN 422 ELSEIF (iretin.NE.0)
THEN 442 & (lfi, krep,irang,irngms,irpims,irgpif+1,irgpif, &
445 IF (iretin.EQ.1)
THEN 447 ELSEIF (iretin.EQ.2)
THEN 449 ELSEIF (iretin.NE.0)
THEN 453 IF (inpage.LE.inppim)
THEN 457 IF (irngms.GT.inppim)
THEN 463 ELSEIF (irngms.LT.inpage)
THEN 473 inppim=max(inppim,irngms)
479 ilsuiv=lfi%MLGPOS(ixm(1_jplikb ,irpims))
480 iposui=lfi%MLGPOS(ixm(2_jplikb ,irpims))
483 IF (klong.LE.klonut)
THEN 493 ELSEIF (lfi%CNOMAR(ixc(1_jplikb ,irpims)).EQ.
' ' &
494 & .AND.klong.LE.(klonut+ilsuiv))
THEN 500 lfi%MLGPOS(ixm(1_jplikb ,irpims))= &
501 & iposui+ilsuiv-(iposdx+1)
502 lfi%MLGPOS(ixm(2_jplikb ,irpims))=iposdx+1
503 lfi%LECRPI(irpims,2)=.true.
508 IF (lfi%MLGPOS(ixm(1_jplikb ,irpims)).EQ.0)
THEN 526 IF (llttru.OR.lltopt)
THEN 528 IF (.NOT.llrcha)
THEN 539 IF (lfi%CNOMAR(ixc(j,irgpim)).EQ.
' ')
THEN 548 IF (intrpi.NE.0)
THEN 550 IF (.NOT.lfi%LPHASP(irgpim))
THEN 553 & (lfi, krep,irang,irgpim,iretin)
555 IF (iretin.EQ.1)
THEN 557 ELSEIF (iretin.EQ.2)
THEN 559 ELSEIF (iretin.NE.0)
THEN 567 iltrou=lfi%MLGPOS(ixm(2*iartic-1,irgpim))
568 iptrou=lfi%MLGPOS(ixm(2*iartic,irgpim))
570 IF (iltrou.GE.klong)
THEN 574 IF (.NOT.lltsuf)
THEN 579 IF (iltrou.LT.iltsuf)
THEN 586 lltopt=iltsuf.EQ.klong
592 llttru=introu.EQ.inttru
599 IF (llttru.AND.kartex.NE.0)
GOTO 240
606 IF (inpage.LE.intppi)
THEN 618 IF (lfi%NTRULZ(irang).EQ.0)
THEN 619 lfi%NRFPTZ(irang)=iposex
620 lfi%NRFDTZ(irang)=iposex
622 lfi%NRFPTZ(irang)=min(lfi%NRFPTZ(irang),iposex)
623 lfi%NRFDTZ(irang)=max(lfi%NRFDTZ(irang),iposex)
626 lfi%NTRULZ(irang)=lfi%NTRULZ(irang)+1
630 &
WRITE (unit=lfi%NULOUT,fmt=*)
'LFIREE - APRES ETIQUETTE 240' 636 IF (kartex.NE.0.AND.kartec.EQ.0.AND..NOT.lltsuf)
THEN 638 ELSEIF (kartex.EQ.0.AND.lltsuf)
THEN 649 IF (kartec.EQ.0)
THEN 656 krpiec=1+inbalo/inalpp
657 kartec=inbalo+1-inalpp*(krpiec-1)
659 IF (lfi%NALDPI(irang).EQ.inalpp &
660 & .AND.intppi.EQ.(inbpir+ilarph-lfi%JPLDOC))
THEN 668 IF (inbalo.EQ.0)
THEN 669 kposec=(1+2*inbpir)*ilarph+1
671 irpimd=lfi%MRGPIM(lfi%NPODPI(irang),irang)
672 inaldp=lfi%NALDPI(irang)
673 kposec=lfi%MLGPOS(ixm(2*inaldp,irpimd)) &
674 & +lfi%MLGPOS(ixm(2*inaldp-1,irpimd))
676 IF (intppi.GT.inbpir)
THEN 677 irpifd=lfi%MDES1D(ixm(ilarph+1-(intppi-inbpir),irang))+1
678 kposec=max(kposec,1+ilarph*irpifd)
710 llfata=llmoer(krep,krang)
714 ELSEIF (krep.GT.0)
THEN 720 IF (lfi%LMISOP.OR.llfata)
THEN 723 WRITE (unit=clmess, &
724 & fmt=
'(''ARGUMENTS='',I4,'','',I3,'','''''', & 725 & A,'''''','',I7,'','',I4,'','',I4,'','',I7,'','',I4,'','', & 726 & I4,'','',I9,'','',SP,I2,SS,'','',I7,'','',I2)') &
727 & krep,krang,cdnoma,klong,krpiex,kartex,klonex, &
728 & krpiec,kartec,kposec,kdtrou,klonut,kretin
729 inumer=lfi%NUMERO(krang)
731 & (lfi, inumer,inimes,krep,.false., &
732 & clmess,clnspr,clacti)
739 #include "lficom2.ixc.h" 740 #include "lficom2.ixm.h" 741 #include "lficom2.llmoer.h" 749 & (krep, krang, cdnoma, klong, krpiex, kartex, klonex, &
750 & krpiec, kartec, kposec, kdtrou, klonut, kretin)
757 INTEGER (KIND=JPLIKB) KREP
758 INTEGER (KIND=JPLIKB) KRANG
759 CHARACTER (LEN=*) CDNOMA
760 INTEGER (KIND=JPLIKB) KLONG
761 INTEGER (KIND=JPLIKB) KRPIEX
762 INTEGER (KIND=JPLIKB) KARTEX
763 INTEGER (KIND=JPLIKB) KLONEX
764 INTEGER (KIND=JPLIKB) KRPIEC
765 INTEGER (KIND=JPLIKB) KARTEC
766 INTEGER (KIND=JPLIKB) KPOSEC
767 INTEGER (KIND=JPLIKB) KDTROU
768 INTEGER (KIND=JPLIKB) KLONUT
769 INTEGER (KIND=JPLIKB) KRETIN
774 & (lfi, krep, krang, cdnoma, klong, krpiex, kartex, &
775 & klonex, krpiec, kartec, kposec, kdtrou, klonut, &
781 & (krep, krang, cdnoma, klong, krpiex, kartex, klonex, &
782 & krpiec, kartec, kposec, kdtrou, klonut, kretin)
789 INTEGER (KIND=JPLIKM) KREP
790 INTEGER (KIND=JPLIKM) KRANG
791 CHARACTER (LEN=*) CDNOMA
792 INTEGER (KIND=JPLIKM) KLONG
793 INTEGER (KIND=JPLIKM) KRPIEX
794 INTEGER (KIND=JPLIKM) KARTEX
795 INTEGER (KIND=JPLIKM) KLONEX
796 INTEGER (KIND=JPLIKM) KRPIEC
797 INTEGER (KIND=JPLIKM) KARTEC
798 INTEGER (KIND=JPLIKM) KPOSEC
799 INTEGER (KIND=JPLIKM) KDTROU
800 INTEGER (KIND=JPLIKM) KLONUT
801 INTEGER (KIND=JPLIKM) KRETIN
806 & (lfi, krep, krang, cdnoma, klong, krpiex, kartex, &
807 & klonex, krpiec, kartec, kposec, kdtrou, klonut, &
813 & (lfi, krep, krang, cdnoma, klong, krpiex, kartex, &
814 & klonex, krpiec, kartec, kposec, kdtrou, klonut, &
821 INTEGER (KIND=JPLIKM) KREP
822 INTEGER (KIND=JPLIKM) KRANG
823 CHARACTER (LEN=*) CDNOMA
824 INTEGER (KIND=JPLIKM) KLONG
825 INTEGER (KIND=JPLIKM) KRPIEX
826 INTEGER (KIND=JPLIKM) KARTEX
827 INTEGER (KIND=JPLIKM) KLONEX
828 INTEGER (KIND=JPLIKM) KRPIEC
829 INTEGER (KIND=JPLIKM) KARTEC
830 INTEGER (KIND=JPLIKM) KPOSEC
831 INTEGER (KIND=JPLIKM) KDTROU
832 INTEGER (KIND=JPLIKM) KLONUT
833 INTEGER (KIND=JPLIKM) KRETIN
835 INTEGER (KIND=JPLIKB) IREP
836 INTEGER (KIND=JPLIKB) IRANG
837 INTEGER (KIND=JPLIKB) ILONG
838 INTEGER (KIND=JPLIKB) IRPIEX
839 INTEGER (KIND=JPLIKB) IARTEX
840 INTEGER (KIND=JPLIKB) ILONEX
841 INTEGER (KIND=JPLIKB) IRPIEC
842 INTEGER (KIND=JPLIKB) IARTEC
843 INTEGER (KIND=JPLIKB) IPOSEC
844 INTEGER (KIND=JPLIKB) IDTROU
845 INTEGER (KIND=JPLIKB) ILONUT
846 INTEGER (KIND=JPLIKB) IRETIN
849 irang = int( krang,
jplikb)
850 ilong = int( klong,
jplikb)
853 & (lfi, irep, irang, cdnoma, ilong, irpiex, iartex, &
854 & ilonex, irpiec, iartec, iposec, idtrou, ilonut, &
858 krpiex = int( irpiex,
jplikm)
859 kartex = int( iartex,
jplikm)
860 klonex = int( ilonex,
jplikm)
861 krpiec = int( irpiec,
jplikm)
862 kartec = int( iartec,
jplikm)
863 kposec = int( iposec,
jplikm)
864 kdtrou = int( idtrou,
jplikm)
865 klonut = int( ilonut,
jplikm)
866 kretin = int( iretin,
jplikm)
subroutine lfiree_fort(LFI, KREP, KRANG, CDNOMA, KLONG, KRPIEX, KARTEX, KLONEX, KRPIEC, KARTEC, KPOSEC, KDTROU, KLONUT, KRETIN)
integer, parameter jplikb
subroutine lfiree_mt(LFI, KREP, KRANG, CDNOMA, KLONG, KRPIEX, KARTEX, KLONEX, KRPIEC, KARTEC, KPOSEC, KDTROU, KLONUT, KRETIN)
subroutine lfiran_fort(LFI, KREP, KRANG, CDNOMA, KRGPIM, KARTEX, KRETIN)
subroutine lfiree64(KREP, KRANG, CDNOMA, KLONG, KRPIEX, KARTEX, KLONEX, KRPIEC, KARTEC, KPOSEC, KDTROU, KLONUT, KRETIN)
subroutine new_lfi_default()
logical, save lficom_default_init
subroutine lfiree(KREP, KRANG, CDNOMA, KLONG, KRPIEX, KARTEX, KLONEX, KRPIEC, KARTEC, KPOSEC, KDTROU, KLONUT, KRETIN)
type(lficom), target, save lficom_default
subroutine lfipha_fort(LFI, KREP, KRANG, KRGPIM, KRETIN)
integer, parameter jplikm
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
subroutine lfipim_fort(LFI, KREP, KRANG, KRANGM, KRGPIM, KRGPIF, KRGFOR, KNPILE, KRETIN)