BMF

(BMF_blocgobe)



function BMF_blocgobe(path,prefix,date,hour,min,sec) result(length) 

ARGUMENTS

path Répertoire des fichiers character*(*) I
prefix Préfixe dans le contexte de prog_filename character(len=2) I
date Date dans le format AAAAMMJJ integer I
hh,mm,ss Heures, minutes, secondes integer I
Length Nombre de champs trouvés integer 0

DESCRIPTION

Routine qui fait le même travail que bmf_gobe mais qui prend avantage de la structure en blocs qui aurait pu être définie avec RPN_COMM_bloc. Chaque processus membre du communicateur BLOCMASTER lit les fichiers de son groupe et distribue les données afin de réduire l'I/O et augmenter l'utilisation du réseau.


EXEMPLE

   call bmf_init
   length=bmf_blocgobe('../../datafiles','AA',19990101,13,12,11)

   allocate(ni(length),nj(length,nk(length))
   allocate(dtyp(length),hgrid(length),vgrid(length))
   allocate(nom(length),time1(length),time2(length))
   allocate(ndata(length),scrap(length))
   call bmf_catalog(nom,ni,scrap,scrap,nj,scrap,scrap,nk, &
                      scrap,scrap,time1,time2,hgrid,vgrid,dtyp,scrap,ndata)
   trouve=.false.
   do i=1,length
      if(nom(i).eq.'HUMI') then
          trouve=.true.
          allocate(humi(ni(i),nj(i),nk(i)))
      endif
      if(trouve) exit
   enddo
   call bmf_get2(.....)
   call bmf_clear   
   deallocate(ni,nj,nk,dtyp,hgrid,vgrid,time1,time2,nom,ndata,scrap)


VOIR AUSSI

BMF_*, RPN_COMM_bloc


Author: Luc Corbeil, February 24 2003, 11h29


Return to RPN Libraries home page