Ignore:
Timestamp:
Nov 19, 2013, 12:40:39 PM (11 years ago)
Author:
musat
Message:

Ajout verifs fichiers de guidage et noms variables
IM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dpar/guide_p_mod.F90

    r1823 r1902  
    155155    ncidpl=-99
    156156    if (guide_plevs.EQ.1) then
    157        if (ncidpl.eq.-99) rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl)
     157       if (ncidpl.eq.-99) then
     158          rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl)
     159          if (rcod.NE.NF_NOERR) THEN
     160             print *,'Guide: probleme -> pas de fichier apbp.nc'
     161             CALL abort_gcm(modname,abort_message,1)
     162          endif
     163       endif
    158164    elseif (guide_plevs.EQ.2) then
    159        if (ncidpl.EQ.-99) rcod=nf90_open('P.nc',Nf90_NOWRITe,ncidpl)
     165       if (ncidpl.EQ.-99) then
     166          rcod=nf90_open('P.nc',Nf90_NOWRITe,ncidpl)
     167          if (rcod.NE.NF_NOERR) THEN
     168             print *,'Guide: probleme -> pas de fichier P.nc'
     169             CALL abort_gcm(modname,abort_message,1)
     170          endif
     171       endif
    160172    elseif (guide_u) then
    161        if (ncidpl.eq.-99) rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl)
     173       if (ncidpl.eq.-99) then
     174          rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl)
     175          if (rcod.NE.NF_NOERR) THEN
     176             print *,'Guide: probleme -> pas de fichier u.nc'
     177             CALL abort_gcm(modname,abort_message,1)
     178          endif
     179       endif
    162180    elseif (guide_v) then
    163        if (ncidpl.eq.-99) rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
     181       if (ncidpl.eq.-99) then
     182          rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
     183          if (rcod.NE.NF_NOERR) THEN
     184             print *,'Guide: probleme -> pas de fichier v.nc'
     185             CALL abort_gcm(modname,abort_message,1)
     186          endif
     187       endif
    164188    elseif (guide_T) then
    165        if (ncidpl.eq.-99) rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
     189       if (ncidpl.eq.-99) then
     190          rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
     191          if (rcod.NE.NF_NOERR) THEN
     192             print *,'Guide: probleme -> pas de fichier T.nc'
     193             CALL abort_gcm(modname,abort_message,1)
     194          endif
     195       endif
    166196    elseif (guide_Q) then
    167        if (ncidpl.eq.-99) rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
     197       if (ncidpl.eq.-99) then
     198          rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
     199          if (rcod.NE.NF_NOERR) THEN
     200             print *,'Guide: probleme -> pas de fichier hur.nc'
     201             CALL abort_gcm(modname,abort_message,1)
     202          endif
     203       endif
    168204    endif
    169205    error=NF_INQ_DIMID(ncidpl,'LEVEL',rid)
     
    12311267    INTEGER               :: status,rcode
    12321268
     1269    CHARACTER (len = 80)   :: abort_message
     1270    CHARACTER (len = 20)   :: modname = 'guide_init'
    12331271! -----------------------------------------------------------------
    12341272! Premier appel: initialisation de la lecture des fichiers
     
    12411279             print *,'Lecture du guidage sur niveaux modele'
    12421280             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
     1281             IF (rcode.NE.NF_NOERR) THEN
     1282              print *,'Guide: probleme -> pas de fichier apbp.nc'
     1283              CALL abort_gcm(modname,abort_message,1)
     1284             ENDIF
    12431285             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
     1286             IF (rcode.NE.NF_NOERR) THEN
     1287              print *,'Guide: probleme -> pas de variable AP, fichier apbp.nc'
     1288              CALL abort_gcm(modname,abort_message,1)
     1289             ENDIF
    12441290             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
     1291             IF (rcode.NE.NF_NOERR) THEN
     1292              print *,'Guide: probleme -> pas de variable BP, fichier apbp.nc'
     1293              CALL abort_gcm(modname,abort_message,1)
     1294             ENDIF
    12451295             print*,'ncidpl,varidap',ncidpl,varidap
    12461296         endif
     
    12481298         if (guide_plevs.EQ.2) then
    12491299             rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
     1300             IF (rcode.NE.NF_NOERR) THEN
     1301              print *,'Guide: probleme -> pas de fichier P.nc'
     1302              CALL abort_gcm(modname,abort_message,1)
     1303             ENDIF
    12501304             rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
     1305             IF (rcode.NE.NF_NOERR) THEN
     1306              print *,'Guide: probleme -> pas de variable PRES, fichier P.nc'
     1307              CALL abort_gcm(modname,abort_message,1)
     1308             ENDIF
    12511309             print*,'ncidp,varidp',ncidp,varidp
    12521310             if (ncidpl.eq.-99) ncidpl=ncidp
     
    12551313         if (guide_u) then
    12561314             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
     1315             IF (rcode.NE.NF_NOERR) THEN
     1316              print *,'Guide: probleme -> pas de fichier u.nc'
     1317              CALL abort_gcm(modname,abort_message,1)
     1318             ENDIF
    12571319             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
     1320             IF (rcode.NE.NF_NOERR) THEN
     1321              print *,'Guide: probleme -> pas de variable UWND, fichier u.nc'
     1322              CALL abort_gcm(modname,abort_message,1)
     1323             ENDIF
    12581324             print*,'ncidu,varidu',ncidu,varidu
    12591325             if (ncidpl.eq.-99) ncidpl=ncidu
     
    12621328         if (guide_v) then
    12631329             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
     1330             IF (rcode.NE.NF_NOERR) THEN
     1331              print *,'Guide: probleme -> pas de fichier v.nc'
     1332              CALL abort_gcm(modname,abort_message,1)
     1333             ENDIF
    12641334             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
     1335             IF (rcode.NE.NF_NOERR) THEN
     1336              print *,'Guide: probleme -> pas de variable VWND, fichier v.nc'
     1337              CALL abort_gcm(modname,abort_message,1)
     1338             ENDIF
    12651339             print*,'ncidv,varidv',ncidv,varidv
    12661340             if (ncidpl.eq.-99) ncidpl=ncidv
     
    12691343         if (guide_T) then
    12701344             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
     1345             IF (rcode.NE.NF_NOERR) THEN
     1346              print *,'Guide: probleme -> pas de fichier T.nc'
     1347              CALL abort_gcm(modname,abort_message,1)
     1348             ENDIF
    12711349             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
     1350             IF (rcode.NE.NF_NOERR) THEN
     1351              print *,'Guide: probleme -> pas de variable AIR, fichier T.nc'
     1352              CALL abort_gcm(modname,abort_message,1)
     1353             ENDIF
    12721354             print*,'ncidT,varidT',ncidt,varidt
    12731355             if (ncidpl.eq.-99) ncidpl=ncidt
     
    12761358         if (guide_Q) then
    12771359             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
     1360             IF (rcode.NE.NF_NOERR) THEN
     1361              print *,'Guide: probleme -> pas de fichier hur.nc'
     1362              CALL abort_gcm(modname,abort_message,1)
     1363             ENDIF
    12781364             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
     1365             IF (rcode.NE.NF_NOERR) THEN
     1366              print *,'Guide: probleme -> pas de variable RH, fichier hur.nc'
     1367              CALL abort_gcm(modname,abort_message,1)
     1368             ENDIF
    12791369             print*,'ncidQ,varidQ',ncidQ,varidQ
    12801370             if (ncidpl.eq.-99) ncidpl=ncidQ
     
    12831373         if ((guide_P).OR.(guide_plevs.EQ.1)) then
    12841374             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
     1375             IF (rcode.NE.NF_NOERR) THEN
     1376              print *,'Guide: probleme -> pas de fichier ps.nc'
     1377              CALL abort_gcm(modname,abort_message,1)
     1378             ENDIF
    12851379             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
     1380             IF (rcode.NE.NF_NOERR) THEN
     1381              print *,'Guide: probleme -> pas de variable SP, fichier ps.nc'
     1382              CALL abort_gcm(modname,abort_message,1)
     1383             ENDIF
    12861384             print*,'ncidps,varidps',ncidps,varidps
    12871385         endif
     
    14341532    INTEGER               :: i
    14351533
     1534    CHARACTER (len = 80)   :: abort_message
     1535    CHARACTER (len = 20)   :: modname = 'guide_init'
    14361536! -----------------------------------------------------------------
    14371537! Premier appel: initialisation de la lecture des fichiers
     
    14441544             print *,'Lecture du guidage sur niveaux mod�le'
    14451545             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
     1546             IF (rcode.NE.NF_NOERR) THEN
     1547              print *,'Guide: probleme -> pas de fichier apbp.nc'
     1548              CALL abort_gcm(modname,abort_message,1)
     1549             ENDIF
    14461550             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
     1551             IF (rcode.NE.NF_NOERR) THEN
     1552              print *,'Guide: probleme -> pas de variable AP, fichier apbp.nc'
     1553              CALL abort_gcm(modname,abort_message,1)
     1554             ENDIF
    14471555             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
     1556             IF (rcode.NE.NF_NOERR) THEN
     1557              print *,'Guide: probleme -> pas de variable BP, fichier apbp.nc'
     1558              CALL abort_gcm(modname,abort_message,1)
     1559             ENDIF
    14481560             print*,'ncidpl,varidap',ncidpl,varidap
    14491561         endif
     
    14511563         if (guide_plevs.EQ.2) then
    14521564             rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
     1565             IF (rcode.NE.NF_NOERR) THEN
     1566              print *,'Guide: probleme -> pas de fichier P.nc'
     1567              CALL abort_gcm(modname,abort_message,1)
     1568             ENDIF
    14531569             rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
     1570             IF (rcode.NE.NF_NOERR) THEN
     1571              print *,'Guide: probleme -> pas de variable PRES, fichier P.nc'
     1572              CALL abort_gcm(modname,abort_message,1)
     1573             ENDIF
    14541574             print*,'ncidp,varidp',ncidp,varidp
    14551575             if (ncidpl.eq.-99) ncidpl=ncidp
     
    14581578         if (guide_u) then
    14591579             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
     1580             IF (rcode.NE.NF_NOERR) THEN
     1581              print *,'Guide: probleme -> pas de fichier u.nc'
     1582              CALL abort_gcm(modname,abort_message,1)
     1583             ENDIF
    14601584             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
     1585             IF (rcode.NE.NF_NOERR) THEN
     1586              print *,'Guide: probleme -> pas de variable UWND, fichier u.nc'
     1587              CALL abort_gcm(modname,abort_message,1)
     1588             ENDIF
    14611589             print*,'ncidu,varidu',ncidu,varidu
    14621590             if (ncidpl.eq.-99) ncidpl=ncidu
     
    14651593         if (guide_v) then
    14661594             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
     1595             IF (rcode.NE.NF_NOERR) THEN
     1596              print *,'Guide: probleme -> pas de fichier v.nc'
     1597              CALL abort_gcm(modname,abort_message,1)
     1598             ENDIF
    14671599             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
     1600             IF (rcode.NE.NF_NOERR) THEN
     1601              print *,'Guide: probleme -> pas de variable VWND, fichier v.nc'
     1602              CALL abort_gcm(modname,abort_message,1)
     1603             ENDIF
    14681604             print*,'ncidv,varidv',ncidv,varidv
    14691605             if (ncidpl.eq.-99) ncidpl=ncidv
     
    14721608         if (guide_T) then
    14731609             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
     1610             IF (rcode.NE.NF_NOERR) THEN
     1611              print *,'Guide: probleme -> pas de fichier T.nc'
     1612              CALL abort_gcm(modname,abort_message,1)
     1613             ENDIF
    14741614             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
     1615             IF (rcode.NE.NF_NOERR) THEN
     1616              print *,'Guide: probleme -> pas de variable AIR, fichier T.nc'
     1617              CALL abort_gcm(modname,abort_message,1)
     1618             ENDIF
    14751619             print*,'ncidT,varidT',ncidt,varidt
    14761620             if (ncidpl.eq.-99) ncidpl=ncidt
     
    14791623         if (guide_Q) then
    14801624             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
     1625             IF (rcode.NE.NF_NOERR) THEN
     1626              print *,'Guide: probleme -> pas de fichier hur.nc'
     1627              CALL abort_gcm(modname,abort_message,1)
     1628             ENDIF
    14811629             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
     1630             IF (rcode.NE.NF_NOERR) THEN
     1631              print *,'Guide: probleme -> pas de variable RH, fichier hur.nc'
     1632              CALL abort_gcm(modname,abort_message,1)
     1633             ENDIF
    14821634             print*,'ncidQ,varidQ',ncidQ,varidQ
    14831635             if (ncidpl.eq.-99) ncidpl=ncidQ
     
    14861638         if ((guide_P).OR.(guide_plevs.EQ.1)) then
    14871639             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
     1640             IF (rcode.NE.NF_NOERR) THEN
     1641              print *,'Guide: probleme -> pas de fichier ps.nc'
     1642              CALL abort_gcm(modname,abort_message,1)
     1643             ENDIF
    14881644             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
     1645             IF (rcode.NE.NF_NOERR) THEN
     1646              print *,'Guide: probleme -> pas de variable SP, fichier ps.nc'
     1647              CALL abort_gcm(modname,abort_message,1)
     1648             ENDIF
    14891649             print*,'ncidps,varidps',ncidps,varidps
    14901650         endif
Note: See TracChangeset for help on using the changeset viewer.