Changeset 5088 for LMDZ6/branches/Amaury_dev/libf/dyn3dmem
- Timestamp:
- Jul 20, 2024, 4:30:31 PM (2 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/dyn3dmem
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynetat0_loc.F90
r5075 r5088 9 9 USE infotrac, ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName 10 10 USE strings_mod, ONLY: maxlen, msg, strStack, real2str, int2str, strIdx 11 USE lmdz_netcdf, ONLY: NF90_OPEN, NF90_NOWRITE, NF90_INQUIRE_DIMENSION, NF90_INQ_VARID, &11 USE netcdf, ONLY: NF90_OPEN, NF90_NOWRITE, NF90_INQUIRE_DIMENSION, NF90_INQ_VARID, & 12 12 NF90_CLOSE, NF90_GET_VAR, NF90_INQUIRE_VARIABLE, NF90_NoErr 13 13 USE readTracFiles_mod, ONLY: new2oldH2O, newHNO3, oldHNO3, getKey -
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynredem_loc.F90
r5075 r5088 11 11 USE strings_mod, ONLY: maxlen 12 12 USE infotrac, ONLY: nqtot, tracers 13 USE lmdz_netcdf, ONLY: NF90_CREATE, NF90_DEF_DIM, NF90_INQ_VARID, NF90_GLOBAL, &13 USE netcdf, ONLY: NF90_CREATE, NF90_DEF_DIM, NF90_INQ_VARID, NF90_GLOBAL, & 14 14 NF90_CLOSE, NF90_PUT_ATT, NF90_UNLIMITED, NF90_CLOBBER, & 15 15 NF90_64BIT_OFFSET … … 178 178 USE infotrac, ONLY: nqtot, tracers, type_trac 179 179 USE control_mod 180 USE lmdz_netcdf, ONLY: NF90_OPEN, NF90_NOWRITE, NF90_GET_VAR, NF90_INQ_VARID, &180 USE netcdf, ONLY: NF90_OPEN, NF90_NOWRITE, NF90_GET_VAR, NF90_INQ_VARID, & 181 181 NF90_CLOSE, NF90_WRITE, NF90_PUT_VAR, NF90_NoErr 182 182 USE dynredem_mod, ONLY: dynredem_write_u, dynredem_write_v, dynredem_read_u, & -
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynredem_mod.F90
r5075 r5088 4 4 USE parallel_lmdz 5 5 USE mod_hallo 6 USE lmdz_netcdf, ONLY:nf90_strerror,nf90_noerr,nf90_redef,nf90_put_var,nf90_inquire_dimension,& 7 nf90_format,nf90_inq_varid,nf90_get_var,nf90_def_var,nf90_enddef,nf90_put_att 6 USE netcdf, ONLY: nf90_strerror,nf90_noerr,nf90_redef,nf90_put_var,nf90_inquire_dimension,& 7 nf90_inq_varid,nf90_get_var,nf90_def_var,nf90_enddef,nf90_put_att 8 USE lmdz_netcdf_format, ONLY: nf90_format 8 9 PRIVATE 9 10 PUBLIC :: dynredem_write_u, dynredem_write_v, dynredem_read_u, err … … 181 182 CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: units 182 183 !=============================================================================== 183 CALL err(NF90_DEF_VAR(ncid,var, NF90_FORMAT,did,nvarid),"inq",var)184 CALL err(NF90_DEF_VAR(ncid,var,nf90_format,did,nvarid),"inq",var) 184 185 IF(title/="") CALL err(NF90_PUT_ATT(ncid,nvarid,"title",title),var) 185 186 IF(PRESENT(units)) CALL err(NF90_PUT_ATT(ncid,nvarid,"units",units),var) -
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/guide_loc_mod.F90
r5087 r5088 8 8 USE getparam, only: ini_getparam, fin_getparam, getpar 9 9 USE Write_Field_loc 10 use lmdz_netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &11 nf90_inq_dimid, nf90_inquire_dimension, nf _inq_dimid, &12 nf _inq_dimlen, nf_enddef, nf_def_dim, nf90_put_var, nf_noerr, nf_close, nf_inq_varid, &13 nf _redef, nf_write, nf_unlimited, nf_float, nf_clobber, nf_64bit_offset, nf90_float, &14 nf _create, nf_def_var, nf_open10 use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, & 11 nf90_inq_dimid, nf90_inquire_dimension, nf90_inq_dimid, & 12 nf90_inquire_dimension, nf90_enddef, nf90_def_dim, nf90_put_var, nf90_noerr, nf90_close, nf90_inq_varid, & 13 nf90_redef, nf90_write, nf90_unlimited, nf90_float, nf90_clobber, nf90_64bit_offset, nf90_float, & 14 nf90_create, nf90_def_var, nf90_open 15 15 USE parallel_lmdz 16 16 USE pres2lev_mod, only: pres2lev … … 176 176 if (ncidpl==-99) then 177 177 rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl) 178 if (rcod/= NF_NOERR) THEN178 if (rcod/=nf90_noerr) THEN 179 179 abort_message=' Nudging error -> no file apbp.nc' 180 180 CALL abort_gcm(modname,abort_message,1) … … 184 184 if (ncidpl==-99) then 185 185 rcod=nf90_open('P.nc',Nf90_NOWRITe,ncidpl) 186 if (rcod/= NF_NOERR) THEN186 if (rcod/=nf90_noerr) THEN 187 187 abort_message=' Nudging error -> no file P.nc' 188 188 CALL abort_gcm(modname,abort_message,1) … … 193 193 if (ncidpl==-99) then 194 194 rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl) 195 if (rcod/= NF_NOERR) THEN195 if (rcod/=nf90_noerr) THEN 196 196 abort_message=' Nudging error -> no file u.nc' 197 197 CALL abort_gcm(modname,abort_message,1) … … 204 204 if (ncidpl==-99) then 205 205 rcod=nf90_open('v.nc',nf90_nowrite,ncidpl) 206 if (rcod/= NF_NOERR) THEN206 if (rcod/=nf90_noerr) THEN 207 207 abort_message=' Nudging error -> no file v.nc' 208 208 CALL abort_gcm(modname,abort_message,1) … … 214 214 if (ncidpl==-99) then 215 215 rcod=nf90_open('T.nc',nf90_nowrite,ncidpl) 216 if (rcod/= NF_NOERR) THEN216 if (rcod/=nf90_noerr) THEN 217 217 abort_message=' Nudging error -> no file T.nc' 218 218 CALL abort_gcm(modname,abort_message,1) … … 225 225 if (ncidpl==-99) then 226 226 rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl) 227 if (rcod/= NF_NOERR) THEN227 if (rcod/=nf90_noerr) THEN 228 228 abort_message=' Nudging error -> no file hur.nc' 229 229 CALL abort_gcm(modname,abort_message,1) … … 233 233 234 234 endif 235 error= NF_INQ_DIMID(ncidpl,'LEVEL',rid)236 IF (error/= NF_NOERR) error=NF_INQ_DIMID(ncidpl,'PRESSURE',rid)237 IF (error/= NF_NOERR) THEN235 error=nf90_inq_dimid(ncidpl,'LEVEL',rid) 236 IF (error/=nf90_noerr) error=nf90_inq_dimid(ncidpl,'PRESSURE',rid) 237 IF (error/=nf90_noerr) THEN 238 238 abort_message='Nudging: error reading pressure levels' 239 239 CALL abort_gcm(modname,abort_message,1) 240 240 ENDIF 241 error= NF_INQ_DIMLEN(ncidpl,rid,nlevnc)241 error=nf90_inquire_dimension(ncidpl,rid,len=nlevnc) 242 242 write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc 243 243 rcod = nf90_close(ncidpl) … … 1603 1603 write(*,*) trim(modname)//' Reading nudging on model levels' 1604 1604 rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl) 1605 IF (rcode/= NF_NOERR) THEN1605 IF (rcode/=nf90_noerr) THEN 1606 1606 abort_message='Nudging: error -> no file apbp.nc' 1607 1607 CALL abort_gcm(modname,abort_message,1) 1608 1608 ENDIF 1609 1609 rcode = nf90_inq_varid(ncidpl, 'AP', varidap) 1610 IF (rcode/= NF_NOERR) THEN1610 IF (rcode/=nf90_noerr) THEN 1611 1611 abort_message='Nudging: error -> no AP variable in file apbp.nc' 1612 1612 CALL abort_gcm(modname,abort_message,1) 1613 1613 ENDIF 1614 1614 rcode = nf90_inq_varid(ncidpl, 'BP', varidbp) 1615 IF (rcode/= NF_NOERR) THEN1615 IF (rcode/=nf90_noerr) THEN 1616 1616 abort_message='Nudging: error -> no BP variable in file apbp.nc' 1617 1617 CALL abort_gcm(modname,abort_message,1) … … 1623 1623 if (guide_plevs==2) then 1624 1624 rcode = nf90_open('P.nc', nf90_nowrite, ncidp) 1625 IF (rcode/= NF_NOERR) THEN1625 IF (rcode/=nf90_noerr) THEN 1626 1626 abort_message='Nudging: error -> no file P.nc' 1627 1627 CALL abort_gcm(modname,abort_message,1) 1628 1628 ENDIF 1629 1629 rcode = nf90_inq_varid(ncidp, 'PRES', varidp) 1630 IF (rcode/= NF_NOERR) THEN1630 IF (rcode/=nf90_noerr) THEN 1631 1631 abort_message='Nudging: error -> no PRES variable in file P.nc' 1632 1632 CALL abort_gcm(modname,abort_message,1) … … 1639 1639 if (guide_u) then 1640 1640 rcode = nf90_open('u.nc', nf90_nowrite, ncidu) 1641 IF (rcode/= NF_NOERR) THEN1641 IF (rcode/=nf90_noerr) THEN 1642 1642 abort_message='Nudging: error -> no file u.nc' 1643 1643 CALL abort_gcm(modname,abort_message,1) 1644 1644 ENDIF 1645 1645 rcode = nf90_inq_varid(ncidu, 'UWND', varidu) 1646 IF (rcode/= NF_NOERR) THEN1646 IF (rcode/=nf90_noerr) THEN 1647 1647 abort_message='Nudging: error -> no UWND variable in file u.nc' 1648 1648 CALL abort_gcm(modname,abort_message,1) … … 1652 1652 1653 1653 1654 status= NF90_INQ_DIMID(ncidu, "LONU", dimid)1654 status=nf90_inq_dimid(ncidu, "LONU", dimid) 1655 1655 status=NF90_INQUIRE_DIMENSION(ncidu,dimid,namedim,lendim) 1656 1656 IF (lendim /= iip1) THEN … … 1659 1659 ENDIF 1660 1660 1661 status= NF90_INQ_DIMID(ncidu, "LATU", dimid)1661 status=nf90_inq_dimid(ncidu, "LATU", dimid) 1662 1662 status=NF90_INQUIRE_DIMENSION(ncidu,dimid,namedim,lendim) 1663 1663 IF (lendim /= jjp1) THEN … … 1671 1671 if (guide_v) then 1672 1672 rcode = nf90_open('v.nc', nf90_nowrite, ncidv) 1673 IF (rcode/= NF_NOERR) THEN1673 IF (rcode/=nf90_noerr) THEN 1674 1674 abort_message='Nudging: error -> no file v.nc' 1675 1675 CALL abort_gcm(modname,abort_message,1) 1676 1676 ENDIF 1677 1677 rcode = nf90_inq_varid(ncidv, 'VWND', varidv) 1678 IF (rcode/= NF_NOERR) THEN1678 IF (rcode/=nf90_noerr) THEN 1679 1679 abort_message='Nudging: error -> no VWND variable in file v.nc' 1680 1680 CALL abort_gcm(modname,abort_message,1) … … 1683 1683 if (ncidpl==-99) ncidpl=ncidv 1684 1684 1685 status= NF90_INQ_DIMID(ncidv, "LONV", dimid)1685 status=nf90_inq_dimid(ncidv, "LONV", dimid) 1686 1686 status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim) 1687 1687 … … 1692 1692 1693 1693 1694 status= NF90_INQ_DIMID(ncidv, "LATV", dimid)1694 status=nf90_inq_dimid(ncidv, "LATV", dimid) 1695 1695 status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim) 1696 1696 IF (lendim /= jjm) THEN … … 1704 1704 if (guide_T) then 1705 1705 rcode = nf90_open('T.nc', nf90_nowrite, ncidt) 1706 IF (rcode/= NF_NOERR) THEN1706 IF (rcode/=nf90_noerr) THEN 1707 1707 abort_message='Nudging: error -> no file T.nc' 1708 1708 CALL abort_gcm(modname,abort_message,1) 1709 1709 ENDIF 1710 1710 rcode = nf90_inq_varid(ncidt, 'AIR', varidt) 1711 IF (rcode/= NF_NOERR) THEN1711 IF (rcode/=nf90_noerr) THEN 1712 1712 abort_message='Nudging: error -> no AIR variable in file T.nc' 1713 1713 CALL abort_gcm(modname,abort_message,1) … … 1716 1716 if (ncidpl==-99) ncidpl=ncidt 1717 1717 1718 status= NF90_INQ_DIMID(ncidt, "LONV", dimid)1718 status=nf90_inq_dimid(ncidt, "LONV", dimid) 1719 1719 status=NF90_INQUIRE_DIMENSION(ncidt,dimid,namedim,lendim) 1720 1720 IF (lendim /= iip1) THEN … … 1723 1723 ENDIF 1724 1724 1725 status= NF90_INQ_DIMID(ncidt, "LATU", dimid)1725 status=nf90_inq_dimid(ncidt, "LATU", dimid) 1726 1726 status=NF90_INQUIRE_DIMENSION(ncidt,dimid,namedim,lendim) 1727 1727 IF (lendim /= jjp1) THEN … … 1735 1735 if (guide_Q) then 1736 1736 rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ) 1737 IF (rcode/= NF_NOERR) THEN1737 IF (rcode/=nf90_noerr) THEN 1738 1738 abort_message='Nudging: error -> no file hur.nc' 1739 1739 CALL abort_gcm(modname,abort_message,1) 1740 1740 ENDIF 1741 1741 rcode = nf90_inq_varid(ncidQ, 'RH', varidQ) 1742 IF (rcode/= NF_NOERR) THEN1742 IF (rcode/=nf90_noerr) THEN 1743 1743 abort_message='Nudging: error -> no RH variable in file hur.nc' 1744 1744 CALL abort_gcm(modname,abort_message,1) … … 1748 1748 1749 1749 1750 status= NF90_INQ_DIMID(ncidQ, "LONV", dimid)1750 status=nf90_inq_dimid(ncidQ, "LONV", dimid) 1751 1751 status=NF90_INQUIRE_DIMENSION(ncidQ,dimid,namedim,lendim) 1752 1752 IF (lendim /= iip1) THEN … … 1755 1755 ENDIF 1756 1756 1757 status= NF90_INQ_DIMID(ncidQ, "LATU", dimid)1757 status=nf90_inq_dimid(ncidQ, "LATU", dimid) 1758 1758 status=NF90_INQUIRE_DIMENSION(ncidQ,dimid,namedim,lendim) 1759 1759 IF (lendim /= jjp1) THEN … … 1767 1767 if ((guide_P).OR.(guide_plevs==1)) then 1768 1768 rcode = nf90_open('ps.nc', nf90_nowrite, ncidps) 1769 IF (rcode/= NF_NOERR) THEN1769 IF (rcode/=nf90_noerr) THEN 1770 1770 abort_message='Nudging: error -> no file ps.nc' 1771 1771 CALL abort_gcm(modname,abort_message,1) 1772 1772 ENDIF 1773 1773 rcode = nf90_inq_varid(ncidps, 'SP', varidps) 1774 IF (rcode/= NF_NOERR) THEN1774 IF (rcode/=nf90_noerr) THEN 1775 1775 abort_message='Nudging: error -> no SP variable in file ps.nc' 1776 1776 CALL abort_gcm(modname,abort_message,1) … … 1925 1925 write(*,*)trim(modname)//' Reading nudging on model levels' 1926 1926 rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl) 1927 IF (rcode/= NF_NOERR) THEN1927 IF (rcode/=nf90_noerr) THEN 1928 1928 abort_message='Nudging: error -> no file apbp.nc' 1929 1929 CALL abort_gcm(modname,abort_message,1) 1930 1930 ENDIF 1931 1931 rcode = nf90_inq_varid(ncidpl, 'AP', varidap) 1932 IF (rcode/= NF_NOERR) THEN1932 IF (rcode/=nf90_noerr) THEN 1933 1933 abort_message='Nudging: error -> no AP variable in file apbp.nc' 1934 1934 CALL abort_gcm(modname,abort_message,1) 1935 1935 ENDIF 1936 1936 rcode = nf90_inq_varid(ncidpl, 'BP', varidbp) 1937 IF (rcode/= NF_NOERR) THEN1937 IF (rcode/=nf90_noerr) THEN 1938 1938 abort_message='Nudging: error -> no BP variable in file apbp.nc' 1939 1939 CALL abort_gcm(modname,abort_message,1) … … 1944 1944 if (guide_plevs==2) then 1945 1945 rcode = nf90_open('P.nc', nf90_nowrite, ncidp) 1946 IF (rcode/= NF_NOERR) THEN1946 IF (rcode/=nf90_noerr) THEN 1947 1947 abort_message='Nudging: error -> no file P.nc' 1948 1948 CALL abort_gcm(modname,abort_message,1) 1949 1949 ENDIF 1950 1950 rcode = nf90_inq_varid(ncidp, 'PRES', varidp) 1951 IF (rcode/= NF_NOERR) THEN1951 IF (rcode/=nf90_noerr) THEN 1952 1952 abort_message='Nudging: error -> no PRES variable in file P.nc' 1953 1953 CALL abort_gcm(modname,abort_message,1) … … 1959 1959 if (guide_u) then 1960 1960 rcode = nf90_open('u.nc', nf90_nowrite, ncidu) 1961 IF (rcode/= NF_NOERR) THEN1961 IF (rcode/=nf90_noerr) THEN 1962 1962 abort_message='Nudging: error -> no file u.nc' 1963 1963 CALL abort_gcm(modname,abort_message,1) 1964 1964 ENDIF 1965 1965 rcode = nf90_inq_varid(ncidu, 'UWND', varidu) 1966 IF (rcode/= NF_NOERR) THEN1966 IF (rcode/=nf90_noerr) THEN 1967 1967 abort_message='Nudging: error -> no UWND variable in file u.nc' 1968 1968 CALL abort_gcm(modname,abort_message,1) … … 1975 1975 if (guide_v) then 1976 1976 rcode = nf90_open('v.nc', nf90_nowrite, ncidv) 1977 IF (rcode/= NF_NOERR) THEN1977 IF (rcode/=nf90_noerr) THEN 1978 1978 abort_message='Nudging: error -> no file v.nc' 1979 1979 CALL abort_gcm(modname,abort_message,1) 1980 1980 ENDIF 1981 1981 rcode = nf90_inq_varid(ncidv, 'VWND', varidv) 1982 IF (rcode/= NF_NOERR) THEN1982 IF (rcode/=nf90_noerr) THEN 1983 1983 abort_message='Nudging: error -> no VWND variable in file v.nc' 1984 1984 CALL abort_gcm(modname,abort_message,1) … … 1990 1990 if (guide_T) then 1991 1991 rcode = nf90_open('T.nc', nf90_nowrite, ncidt) 1992 IF (rcode/= NF_NOERR) THEN1992 IF (rcode/=nf90_noerr) THEN 1993 1993 abort_message='Nudging: error -> no file T.nc' 1994 1994 CALL abort_gcm(modname,abort_message,1) 1995 1995 ENDIF 1996 1996 rcode = nf90_inq_varid(ncidt, 'AIR', varidt) 1997 IF (rcode/= NF_NOERR) THEN1997 IF (rcode/=nf90_noerr) THEN 1998 1998 abort_message='Nudging: error -> no AIR variable in file T.nc' 1999 1999 CALL abort_gcm(modname,abort_message,1) … … 2005 2005 if (guide_Q) then 2006 2006 rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ) 2007 IF (rcode/= NF_NOERR) THEN2007 IF (rcode/=nf90_noerr) THEN 2008 2008 abort_message='Nudging: error -> no file hur.nc' 2009 2009 CALL abort_gcm(modname,abort_message,1) 2010 2010 ENDIF 2011 2011 rcode = nf90_inq_varid(ncidQ, 'RH', varidQ) 2012 IF (rcode/= NF_NOERR) THEN2012 IF (rcode/=nf90_noerr) THEN 2013 2013 abort_message='Nudging: error -> no RH,variable in file hur.nc' 2014 2014 CALL abort_gcm(modname,abort_message,1) … … 2020 2020 if ((guide_P).OR.(guide_plevs==1)) then 2021 2021 rcode = nf90_open('ps.nc', nf90_nowrite, ncidps) 2022 IF (rcode/= NF_NOERR) THEN2022 IF (rcode/=nf90_noerr) THEN 2023 2023 abort_message='Nudging: error -> no file ps.nc' 2024 2024 CALL abort_gcm(modname,abort_message,1) 2025 2025 ENDIF 2026 2026 rcode = nf90_inq_varid(ncidps, 'SP', varidps) 2027 IF (rcode/= NF_NOERR) THEN2027 IF (rcode/=nf90_noerr) THEN 2028 2028 abort_message='Nudging: error -> no SP variable in file ps.nc' 2029 2029 CALL abort_gcm(modname,abort_message,1) … … 2230 2230 ! ---------------------------------------------- 2231 2231 ! Ouverture du fichier 2232 ierr= NF_CREATE("guide_ins.nc",IOR(NF_CLOBBER,NF_64BIT_OFFSET),nid)2232 ierr=nf90_create("guide_ins.nc",IOR(nf90_clobber,nf90_64bit_offset),nid) 2233 2233 ! Definition des dimensions 2234 ierr= NF_DEF_DIM(nid,"LONU",iip1,id_lonu)2235 ierr= NF_DEF_DIM(nid,"LONV",iip1,id_lonv)2236 ierr= NF_DEF_DIM(nid,"LATU",jjp1,id_latu)2237 ierr= NF_DEF_DIM(nid,"LATV",jjm,id_latv)2238 ierr= NF_DEF_DIM(nid,"LEVEL",llm,id_lev)2239 ierr= NF_DEF_DIM(nid,"TIME",NF_UNLIMITED,id_tim)2234 ierr=nf90_def_dim(nid,"LONU",iip1,id_lonu) 2235 ierr=nf90_def_dim(nid,"LONV",iip1,id_lonv) 2236 ierr=nf90_def_dim(nid,"LATU",jjp1,id_latu) 2237 ierr=nf90_def_dim(nid,"LATV",jjm,id_latv) 2238 ierr=nf90_def_dim(nid,"LEVEL",llm,id_lev) 2239 ierr=nf90_def_dim(nid,"TIME",nf90_unlimited,id_tim) 2240 2240 2241 2241 ! Creation des variables dimensions 2242 ierr= NF_DEF_VAR(nid,"LONU",NF_FLOAT,1,id_lonu,vid_lonu)2243 ierr= NF_DEF_VAR(nid,"LONV",NF_FLOAT,1,id_lonv,vid_lonv)2244 ierr= NF_DEF_VAR(nid,"LATU",NF_FLOAT,1,id_latu,vid_latu)2245 ierr= NF_DEF_VAR(nid,"LATV",NF_FLOAT,1,id_latv,vid_latv)2246 ierr= NF_DEF_VAR(nid,"LEVEL",NF_FLOAT,1,id_lev,vid_lev)2247 ierr= NF_DEF_VAR(nid,"cu",NF_FLOAT,2,(/id_lonu,id_latu/),vid_cu)2248 ierr= NF_DEF_VAR(nid,"cv",NF_FLOAT,2,(/id_lonv,id_latv/),vid_cv)2249 ierr= NF_DEF_VAR(nid,"au",NF_FLOAT,2,(/id_lonu,id_latu/),vid_au)2250 ierr= NF_DEF_VAR(nid,"av",NF_FLOAT,2,(/id_lonv,id_latv/),vid_av)2242 ierr=nf90_def_var(nid,"LONU",nf90_float,id_lonu,vid_lonu) 2243 ierr=nf90_def_var(nid,"LONV",nf90_float,id_lonv,vid_lonv) 2244 ierr=nf90_def_var(nid,"LATU",nf90_float,id_latu,vid_latu) 2245 ierr=nf90_def_var(nid,"LATV",nf90_float,id_latv,vid_latv) 2246 ierr=nf90_def_var(nid,"LEVEL",nf90_float,id_lev,vid_lev) 2247 ierr=nf90_def_var(nid,"cu",nf90_float,(/id_lonu,id_latu/),vid_cu) 2248 ierr=nf90_def_var(nid,"cv",nf90_float,(/id_lonv,id_latv/),vid_cv) 2249 ierr=nf90_def_var(nid,"au",nf90_float,(/id_lonu,id_latu/),vid_au) 2250 ierr=nf90_def_var(nid,"av",nf90_float,(/id_lonv,id_latv/),vid_av) 2251 2251 call nf95_def_var(nid, "alpha_T", nf90_float, (/id_lonv, id_latu/), & 2252 2252 varid_alpha_t) … … 2254 2254 varid_alpha_q) 2255 2255 2256 ierr= NF_ENDDEF(nid)2256 ierr=nf90_enddef(nid) 2257 2257 2258 2258 ! Enregistrement des variables dimensions … … 2271 2271 ! Cr�ation des variables sauvegard�es 2272 2272 ! -------------------------------------------------------------------- 2273 ierr = NF_REDEF(nid)2273 ierr = nf90_redef(nid) 2274 2274 ! Pressure (GCM) 2275 2275 dim4=(/id_lonv,id_latu,id_lev,id_tim/) 2276 ierr = NF_DEF_VAR(nid,"SP",NF_FLOAT,4,dim4,varid)2276 ierr = nf90_def_var(nid,"SP",nf90_float,dim4,varid) 2277 2277 ! Surface pressure (guidage) 2278 2278 IF (guide_P) THEN 2279 2279 dim3=(/id_lonv,id_latu,id_tim/) 2280 ierr = NF_DEF_VAR(nid,"ps",NF_FLOAT,3,dim3,varid)2280 ierr = nf90_def_var(nid,"ps",nf90_float,dim3,varid) 2281 2281 ENDIF 2282 2282 ! Zonal wind 2283 2283 IF (guide_u) THEN 2284 2284 dim4=(/id_lonu,id_latu,id_lev,id_tim/) 2285 ierr = NF_DEF_VAR(nid,"u",NF_FLOAT,4,dim4,varid)2286 ierr = NF_DEF_VAR(nid,"ua",NF_FLOAT,4,dim4,varid)2287 ierr = NF_DEF_VAR(nid,"ucov",NF_FLOAT,4,dim4,varid)2285 ierr = nf90_def_var(nid,"u",nf90_float,dim4,varid) 2286 ierr = nf90_def_var(nid,"ua",nf90_float,dim4,varid) 2287 ierr = nf90_def_var(nid,"ucov",nf90_float,dim4,varid) 2288 2288 ENDIF 2289 2289 ! Merid. wind 2290 2290 IF (guide_v) THEN 2291 2291 dim4=(/id_lonv,id_latv,id_lev,id_tim/) 2292 ierr = NF_DEF_VAR(nid,"v",NF_FLOAT,4,dim4,varid)2293 ierr = NF_DEF_VAR(nid,"va",NF_FLOAT,4,dim4,varid)2294 ierr = NF_DEF_VAR(nid,"vcov",NF_FLOAT,4,dim4,varid)2292 ierr = nf90_def_var(nid,"v",nf90_float,dim4,varid) 2293 ierr = nf90_def_var(nid,"va",nf90_float,dim4,varid) 2294 ierr = nf90_def_var(nid,"vcov",nf90_float,dim4,varid) 2295 2295 ENDIF 2296 2296 ! Pot. Temperature 2297 2297 IF (guide_T) THEN 2298 2298 dim4=(/id_lonv,id_latu,id_lev,id_tim/) 2299 ierr = NF_DEF_VAR(nid,"teta",NF_FLOAT,4,dim4,varid)2299 ierr = nf90_def_var(nid,"teta",nf90_float,dim4,varid) 2300 2300 ENDIF 2301 2301 ! Specific Humidity 2302 2302 IF (guide_Q) THEN 2303 2303 dim4=(/id_lonv,id_latu,id_lev,id_tim/) 2304 ierr = NF_DEF_VAR(nid,"q",NF_FLOAT,4,dim4,varid)2304 ierr = nf90_def_var(nid,"q",nf90_float,dim4,varid) 2305 2305 ENDIF 2306 2306 2307 ierr = NF_ENDDEF(nid)2308 ierr = NF_CLOSE(nid)2307 ierr = nf90_enddef(nid) 2308 ierr = nf90_close(nid) 2309 2309 ENDIF ! timestep=0 2310 2310 … … 2313 2313 ! -------------------------------------------------------------------- 2314 2314 2315 ierr= NF_OPEN("guide_ins.nc",NF_WRITE,nid)2315 ierr=nf90_open("guide_ins.nc",nf90_write,nid) 2316 2316 2317 2317 IF (varname=="SP") timestep=timestep+1 2318 2318 2319 ierr = NF_INQ_VARID(nid,varname,varid)2319 ierr = nf90_inq_varid(nid,varname,varid) 2320 2320 SELECT CASE (varname) 2321 2321 CASE ("SP","ps") … … 2356 2356 2357 2357 ierr = nf90_put_var(nid,varid,field_glo,start,count) 2358 ierr = NF_CLOSE(nid)2358 ierr = nf90_close(nid) 2359 2359 2360 2360 DEALLOCATE(field_glo) -
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/iniacademic_loc.F90
r5075 r5088 23 23 USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0 24 24 USE readTracFiles_mod, ONLY: addPhase 25 use lmdz_netcdf, only : NF90_NOWRITE,NF90_OPEN,NF90_NOERR,NF90_INQ_VARID,NF90_CLOSE, NF90_GET_VAR25 use netcdf, only : NF90_NOWRITE,NF90_OPEN,NF90_NOERR,NF90_INQ_VARID,NF90_CLOSE, NF90_GET_VAR 26 26 27 27 ! Author: Frederic Hourdin original: 15/01/93
Note: See TracChangeset
for help on using the changeset viewer.