Changeset 3984 for LMDZ6/trunk/libf/dyn3dmem
- Timestamp:
- Sep 21, 2021, 6:55:37 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.F90
r3982 r3984 11 11 USE getparam 12 12 USE Write_Field_loc 13 use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close 13 use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, & 14 nf90_inq_dimid, nf90_inquire_dimension 14 15 USE parallel_lmdz 15 16 USE pres2lev_mod … … 83 84 CHARACTER (len = 80) :: abort_message 84 85 CHARACTER (len = 20) :: modname = 'guide_init' 86 CHARACTER (len = 20) :: namedim 85 87 86 88 ! --------------------------------------------- … … 185 187 endif 186 188 endif 189 187 190 elseif (guide_u) then 188 191 if (ncidpl.eq.-99) then … … 192 195 CALL abort_gcm(modname,abort_message,1) 193 196 endif 197 194 198 endif 199 200 195 201 elseif (guide_v) then 196 202 if (ncidpl.eq.-99) then … … 201 207 endif 202 208 endif 209 210 203 211 elseif (guide_T) then 204 212 if (ncidpl.eq.-99) then … … 209 217 endif 210 218 endif 219 220 221 211 222 elseif (guide_Q) then 212 223 if (ncidpl.eq.-99) then … … 217 228 endif 218 229 endif 230 231 219 232 endif 220 233 error=NF_INQ_DIMID(ncidpl,'LEVEL',rid) … … 1555 1568 INTEGER, SAVE :: ncidu,varidu,ncidv,varidv,ncidp,varidp 1556 1569 INTEGER, SAVE :: ncidQ,varidQ,ncidt,varidt,ncidps,varidps 1557 INTEGER :: ncidpl,varidpl,varidap,varidbp 1570 INTEGER :: ncidpl,varidpl,varidap,varidbp,dimid,lendim 1558 1571 ! Variables auxiliaires NetCDF: 1559 1572 INTEGER, DIMENSION(4) :: start,count … … 1561 1574 CHARACTER (len = 80) :: abort_message 1562 1575 CHARACTER (len = 20) :: modname = 'guide_read' 1576 CHARACTER (len = 20) :: namedim 1563 1577 abort_message='pb in guide_read' 1564 1578 … … 1589 1603 print*,'ncidpl,varidap',ncidpl,varidap 1590 1604 endif 1605 1591 1606 ! Pression si guidage sur niveaux P variables 1592 1607 if (guide_plevs.EQ.2) then … … 1604 1619 if (ncidpl.eq.-99) ncidpl=ncidp 1605 1620 endif 1621 1606 1622 ! Vent zonal 1607 1623 if (guide_u) then … … 1618 1634 print*,'ncidu,varidu',ncidu,varidu 1619 1635 if (ncidpl.eq.-99) ncidpl=ncidu 1636 1637 1638 status=NF90_INQ_DIMID(ncidu, "LONU", dimid) 1639 status=NF90_INQUIRE_DIMENSION(ncidu,dimid,namedim,lendim) 1640 IF (lendim .NE. iip1) THEN 1641 print *,'dimension LONU different from iip1 in u.nc' 1642 CALL abort_gcm(modname,abort_message,1) 1643 ENDIF 1644 1645 status=NF90_INQ_DIMID(ncidu, "LATU", dimid) 1646 status=NF90_INQUIRE_DIMENSION(ncidu,dimid,namedim,lendim) 1647 IF (lendim .NE. jjp1) THEN 1648 print *,'dimension LATU different from jjp1 in u.nc' 1649 CALL abort_gcm(modname,abort_message,1) 1650 ENDIF 1651 1620 1652 endif 1653 1621 1654 ! Vent meridien 1622 1655 if (guide_v) then … … 1633 1666 print*,'ncidv,varidv',ncidv,varidv 1634 1667 if (ncidpl.eq.-99) ncidpl=ncidv 1635 endif 1668 1669 status=NF90_INQ_DIMID(ncidv, "LONV", dimid) 1670 status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim) 1671 1672 IF (lendim .NE. iip1) THEN 1673 print *,'dimension LONV different from iip1 in v.nc' 1674 CALL abort_gcm(modname,abort_message,1) 1675 ENDIF 1676 1677 1678 status=NF90_INQ_DIMID(ncidv, "LATV", dimid) 1679 status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim) 1680 IF (lendim .NE. jjm) THEN 1681 print *,'dimension LATV different from jjm in v.nc' 1682 CALL abort_gcm(modname,abort_message,1) 1683 ENDIF 1684 1685 endif 1686 1636 1687 ! Temperature 1637 1688 if (guide_T) then … … 1648 1699 print*,'ncidT,varidT',ncidt,varidt 1649 1700 if (ncidpl.eq.-99) ncidpl=ncidt 1701 1702 status=NF90_INQ_DIMID(ncidt, "LONV", dimid) 1703 status=NF90_INQUIRE_DIMENSION(ncidt,dimid,namedim,lendim) 1704 IF (lendim .NE. iip1) THEN 1705 print *,'dimension LONV different from iip1 in T.nc' 1706 CALL abort_gcm(modname,abort_message,1) 1707 ENDIF 1708 1709 status=NF90_INQ_DIMID(ncidt, "LATU", dimid) 1710 status=NF90_INQUIRE_DIMENSION(ncidt,dimid,namedim,lendim) 1711 IF (lendim .NE. jjp1) THEN 1712 print *,'dimension LATU different from jjp1 in T.nc' 1713 CALL abort_gcm(modname,abort_message,1) 1714 ENDIF 1715 1650 1716 endif 1717 1651 1718 ! Humidite 1652 1719 if (guide_Q) then … … 1663 1730 print*,'ncidQ,varidQ',ncidQ,varidQ 1664 1731 if (ncidpl.eq.-99) ncidpl=ncidQ 1732 1733 1734 status=NF90_INQ_DIMID(ncidQ, "LONV", dimid) 1735 status=NF90_INQUIRE_DIMENSION(ncidQ,dimid,namedim,lendim) 1736 IF (lendim .NE. iip1) THEN 1737 print *,'dimension LONV different from iip1 in hur.nc' 1738 CALL abort_gcm(modname,abort_message,1) 1739 ENDIF 1740 1741 status=NF90_INQ_DIMID(ncidQ, "LATU", dimid) 1742 status=NF90_INQUIRE_DIMENSION(ncidQ,dimid,namedim,lendim) 1743 IF (lendim .NE. jjp1) THEN 1744 print *,'dimension LATU different from jjp1 in hur.nc' 1745 CALL abort_gcm(modname,abort_message,1) 1746 ENDIF 1747 1748 1665 1749 endif 1666 1750 ! Pression de surface
Note: See TracChangeset
for help on using the changeset viewer.