Ignore:
Timestamp:
Mar 1, 2007, 11:28:53 AM (18 years ago)
Author:
lsce
Message:

ACo : correction pour le mode guide en parallele

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/V3_test/libf/dyn3dpar/read_reanalyse.F

    r709 r753  
    1010c   mode=1 variabels GCM
    1111
     12       USE parallel
    1213c -----------------------------------------------------------------
    1314c   Declarations
     
    4243      integer ncidpl
    4344      integer varidpl,ncidQ,varidQ
    44       save ncidu,varidu,ncidv,varidv,ncidt,varidt,ncidps,varidps
     45      save ncidpl,ncidu,varidu,ncidv,varidv,ncidt,varidt,ncidps,varidps
    4546      save varidpl,ncidQ,varidQ
    4647
     
    5556      logical first
    5657      save first
     58      INTEGER ierr
    5759
    5860      data first/.true./
     
    6971c Vent zonal
    7072            if (guide_u) then
    71             ncidu=NCOPN('u.nc',NCNOWRIT,rcode)
    72             varidu=NCVID(ncidu,'UWND',rcode)
    73             print*,'ncidu,varidu',ncidu,varidu
    74             if (ncidpl.eq.-99) ncidpl=ncidu
     73               ncidu=NCOPN('u.nc',NCNOWRIT,rcode)
     74               varidu=NCVID(ncidu,'UWND',rcode)
     75               print*,'ncidu,varidu',ncidu,varidu
     76               if (ncidpl.eq.-99) ncidpl=ncidu
    7577            endif
    7678
    7779c Vent meridien
    7880            if (guide_v) then
    79             ncidv=NCOPN('v.nc',NCNOWRIT,rcode)
    80             varidv=NCVID(ncidv,'VWND',rcode)
    81             print*,'ncidv,varidv',ncidv,varidv
    82             if (ncidpl.eq.-99) ncidpl=ncidu
    83             endif
     81               ncidv=NCOPN('v.nc',NCNOWRIT,rcode)
     82               varidv=NCVID(ncidv,'VWND',rcode)
     83               print*,'ncidv,varidv',ncidv,varidv
     84               if (ncidpl.eq.-99) ncidpl=ncidu
     85            endif
     86           
    8487
    8588c Temperature
    8689            if (guide_T) then
    87             ncidt=NCOPN('T.nc',NCNOWRIT,rcode)
    88             varidt=NCVID(ncidt,'AIR',rcode)
    89             print*,'ncidt,varidt',ncidt,varidt
    90             if (ncidpl.eq.-99) ncidpl=ncidu
    91             endif
    92 
     90               ncidt=NCOPN('T.nc',NCNOWRIT,rcode)
     91               varidt=NCVID(ncidt,'AIR',rcode)
     92               print*,'ncidt,varidt',ncidt,varidt
     93               if (ncidpl.eq.-99) ncidpl=ncidu
     94            endif
     95           
    9396c Humidite
    9497            if (guide_Q) then
    95             ncidQ=NCOPN('hur.nc',NCNOWRIT,rcode)
    96             varidQ=NCVID(ncidQ,'RH',rcode)
    97             print*,'ncidQ,varidQ',ncidQ,varidQ
    98             if (ncidpl.eq.-99) ncidpl=ncidu
    99             endif
    100 
     98               ncidQ=NCOPN('hur.nc',NCNOWRIT,rcode)
     99               varidQ=NCVID(ncidQ,'RH',rcode)
     100               print*,'ncidQ,varidQ',ncidQ,varidQ
     101               if (ncidpl.eq.-99) ncidpl=ncidu
     102            endif
     103           
    101104c Pression de surface
    102105            if (guide_P) then
    103             ncidps=NCOPN('ps.nc',NCNOWRIT,rcode)
    104             varidps=NCVID(ncidps,'SP',rcode)
    105             print*,'ncidps,varidps',ncidps,varidps
    106             endif
    107 
     106               ncidps=NCOPN('ps.nc',NCNOWRIT,rcode)
     107               varidps=NCVID(ncidps,'SP',rcode)
     108               print*,'ncidps,varidps',ncidps,varidps
     109            endif
     110           
    108111c Coordonnee vertcale
    109112            if (ncep) then
     
    134137      status=NF_GET_VARA_REAL(ncidpl,varidpl,1,nlevnc,pl)
    135138#endif
     139     
    136140c  passage en pascal
    137141      pl(:)=100.*pl(:)
     
    160164      count(4)=1
    161165
     166
     167c mise a zero des tableaux
     168c ------------------------
     169       unc(:,:,:)=0.
     170       vnc(:,:,:)=0.
     171       tnc(:,:,:)=0.
     172       Qnc(:,:,:)=0.
     173
    162174c  Vent zonal
    163175c  ----------
    164176
    165177      if (guide_u) then
    166       print*,'avant la lecture de UNCEP nd de niv:',nlevnc
     178         print*,'avant la lecture de UNCEP nd de niv:',nlevnc
     179
    167180#ifdef NC_DOUBLE
    168       status=NF_GET_VARA_DOUBLE(ncidu,varidu,start,count,unc)
     181         status=NF_GET_VARA_DOUBLE(ncidu,varidu,start,count,unc)
    169182#else
    170       status=NF_GET_VARA_REAL(ncidu,varidu,start,count,unc)
     183         status=NF_GET_VARA_REAL(ncidu,varidu,start,count,unc)
    171184#endif
    172185c     call dump2d(iip1,jjp1,unc,'VENT NCEP   ')
    173186c     call dump2d(iip1,40,unc(1,1,nlevnc),'VENT NCEP   ')
    174       print*,'WARNING!!! Correction bidon pour palier a un '
    175       print*,'probleme dans la creation des fichiers nc'
    176       call correctbid(iim,jjp1*nlevnc,unc)
    177       call dump2d(iip1,jjp1,unc,'UNC COUCHE 1 ')
     187         print*,'WARNING!!! Correction bidon pour palier a un '
     188         print*,'probleme dans la creation des fichiers nc'
     189         call correctbid(iim,jjp1*nlevnc,unc)
     190         call dump2d(iip1,jjp1,unc,'UNC COUCHE 1 ')
    178191      endif
    179192
     
    185198      if (guide_T) then
    186199#ifdef NC_DOUBLE
    187       status=NF_GET_VARA_DOUBLE(ncidt,varidt,start,count,tnc)
     200         status=NF_GET_VARA_DOUBLE(ncidt,varidt,start,count,tnc)
    188201#else
    189       status=NF_GET_VARA_REAL(ncidt,varidt,start,count,tnc)
     202         status=NF_GET_VARA_REAL(ncidt,varidt,start,count,tnc)
    190203#endif
    191       call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 AAA ')
    192       call correctbid(iim,jjp1*nlevnc,tnc)
    193       call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 BBB ')
     204         call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 AAA ')
     205         call correctbid(iim,jjp1*nlevnc,tnc)
     206         call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 BBB ')
    194207      endif
    195208
     
    199212      if (guide_Q) then
    200213#ifdef NC_DOUBLE
    201       status=NF_GET_VARA_DOUBLE(ncidQ,varidQ,start,count,Qnc)
     214         status=NF_GET_VARA_DOUBLE(ncidQ,varidQ,start,count,Qnc)
    202215#else
    203       status=NF_GET_VARA_REAL(ncidQ,varidQ,start,count,Qnc)
     216         status=NF_GET_VARA_REAL(ncidQ,varidQ,start,count,Qnc)
    204217#endif
    205       call correctbid(iim,jjp1*nlevnc,Qnc)
    206       call dump2d(iip1,jjp1,Qnc,'QNC COUCHE 1 ')
     218         call correctbid(iim,jjp1*nlevnc,Qnc)
     219         call dump2d(iip1,jjp1,Qnc,'QNC COUCHE 1 ')
    207220      endif
    208221
     
    213226      if (guide_v) then
    214227#ifdef NC_DOUBLE
    215       status=NF_GET_VARA_DOUBLE(ncidv,varidv,start,count,vnc)
     228         status=NF_GET_VARA_DOUBLE(ncidv,varidv,start,count,vnc)
    216229#else
    217       status=NF_GET_VARA_REAL(ncidv,varidv,start,count,vnc)
     230         status=NF_GET_VARA_REAL(ncidv,varidv,start,count,vnc)
    218231#endif
    219       call correctbid(iim,jjm*nlevnc,vnc)
    220       call dump2d(iip1,jjm,vnc,'VNC COUCHE 1 ')
     232         call correctbid(iim,jjm*nlevnc,vnc)
     233         call dump2d(iip1,jjm,vnc,'VNC COUCHE 1 ')
    221234      endif
    222235
     
    232245      if (guide_P) then
    233246#ifdef NC_DOUBLE
    234       status=NF_GET_VARA_DOUBLE(ncidps,varidps,start,count,psnc)
     247         status=NF_GET_VARA_DOUBLE(ncidps,varidps,start,count,psnc)
    235248#else
    236       status=NF_GET_VARA_REAL(ncidps,varidps,start,count,psnc)
     249         status=NF_GET_VARA_REAL(ncidps,varidps,start,count,psnc)
    237250#endif
    238       call dump2d(iip1,jjp1,psnc,'PSNC COUCHE 1 ')
    239       call correctbid(iim,jjp1,psnc)
     251         call dump2d(iip1,jjp1,psnc,'PSNC COUCHE 1 ')
     252         call correctbid(iim,jjp1,psnc)
    240253      endif
    241254
Note: See TracChangeset for help on using the changeset viewer.