parameter (nb_niveaux=14,nb_labels=nb_niveaux) parameter (m=40,n=40 integer orient_barre,orient_texte dimension z(m,n),rwrk(1000),iwrk(1000),map(200000 dimension xca(5000),yca(5000) integer ai(10),ag(10) dimension index_col(nb_niveaux) data index_col/ 7,2,3,4,5,6,8,9,10,11,12,13,14,15 character*10 labels(nb_labels) data labels / `ocean ` , `land ` , `< 0 ` , `0-10 ` + `10-20 ` , `20-30 ` , `30-40 ` , `40-50 ` , + `50-60 ` , `60-70 ` , `70-80 ` , `80-90 ` , + `90-100 ` , `> 100 ` / call opngks call gfais (1) ! Remplissage en mode plein call defcol ! Definition des couleurs ! ! Creation des donnees ! call gendat (z,40,40,40,15,15,-10.,110.) ! ! Initialisation area map. ! call arinam (map,200000) ! ! Initialisation Ezmap ! call mappos (.01,.74,.01,.99) call maproj ('OR - orthographic projection',15.,15.,0.) call mapset ('MA - maximal area',0.,0.,0.,0.) call mapstc ('OU - outline dataset','co') call mapin call mapbla (map) ! ! L'appel du sp SET est fait par ezmap en non par conpack (set=0) ! Definition des limites en latitude et longitude ! Les coordonnees(x,y) sont vues comme des latitudes et des logitudes. ! call cpseti ('SET - do-set-call flag',0) call cpseti ('MAP - mapping flag',1) call cpsetr ('XC1 - x coordinate at i=1',-18.) call cpsetr ('XCM - x coordinate at i=m',+52.) call cpsetr ('YC1 - y coordinate at j=1',-35. call cpsetr ('YCN - y coordinate at j=n',+38.) ! ! Definition des n niveaux de contours tels que ! cmn < cmn + cis*cls < cmx ! call cpseti ('CLS - contour level selector',1) call cpsetr ('CMN - contour level minimum',0.) call cpsetr ('CMX - contour level maximum',100.) call cpsetr ('CIS - contour interval specifier',10.) call cpsetr ('ORV - out-of-range value',1.e12) call cprect (z,m,m,n,rwrk,1000,iwrk,1000) call cpclam (z,rwrk,iwrk,map) call arscam (map,xca,yca,5000,ai,ag,10,color) ! ! Trace des limites continentales en noir et des paralleles et ! meridiens au-dessus des oceans ! call gsplci (0) call maplot call cpcldm (z,rwrk,iwrk,map,colrcl) call gsplci (2) call mapgrm (map,xca,yca,5000,ai,ag,10,colrll) call gsplci (1) ! ! Trace echelle de couleurs ! orient_barre = 1 orient_texte = 1 orlab=.76 xfinlab=.99 orlab=.13 yfinlab=.87 call lbseti ('CBL - color of box lines',0) call LBLBAR(orient_barre,xorlab,xfinlab,yorlab,yfinlab, + nb_niveaux,.5,1.,index_col,0,labels,nb_labels,orient_texte) call clsgks stop end subroutine COLOR (xca,yca,nca,ai,ag,nai) implicit none real xca(*),yca(*) integer ai(*),ag(*),index_co(12) integer ncs,i,nai,ai1,ai3,mapaci ! ! Tableau des indices de couleurs ! data index_col / 3,4,5,6,8,9,10,11,12,13,14,15 / ! ! Recherche des identificateurs d'aire pour les groupes 1 et 3 le ! premier indique si la zone est au-dessus de la terre ou l'ocean ! ai1=-1 ai3=-1 do i=1,nai if (ag(i).eq.1) ai1=ai(i) ! Ezmap if (ag(i).eq.3) ai3=ai(i) ! Conpack enddo if (ai1.gt.0) then ! zone Ezmap a representer if (mapaci(ai1).eq.1) then ! zone au dessus de l'ocean call gsfaci (7) ! couleur cyan (index 7 de rgbv ) call gfa (nca-1,xca,yca) else ! zone au dessus de la terre if (ai3.le.0) then ! qui est hors limites call gsfaci (2) ! couleur gris call gfa (nca-1,xca,yca) else ! zone au dessus de la terre call gsfaci (index_col(ai3)) ! dans les limites ai3 > 0 call gfa (ncs-1,xca,yca) ! a representer par conpack end if end if end if return end