Changeset 5509 for LMDZ6/trunk/libf
- Timestamp:
- Jan 28, 2025, 5:21:18 PM (6 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.f90
r5285 r5509 1589 1589 !======================================================================= 1590 1590 SUBROUTINE guide_read(timestep) 1591 USE netcdf, ONLY: nf90_ put_var1591 USE netcdf, ONLY: nf90_get_var 1592 1592 USE dimensions_mod, ONLY: iim, jjm, llm, ndm 1593 1593 USE paramet_mod_h … … 1803 1803 endif 1804 1804 ! Coefs ap, bp pour calcul de la pression aux differents niveaux 1805 !function nf90_get_var(ncid, varid, values, start, count, stride, map) 1806 ! integer, intent( in) :: ncid, varid 1807 ! any valid type, scalar or array of any rank, & 1808 ! intent(out) :: values 1809 ! integer, dimension(:), optional, intent( in) :: start, count, stride, map 1810 ! integer :: nf90_get_var 1805 1811 IF (guide_plevs.EQ.1) THEN 1806 status = nf90_ put_var(ncidpl, varidap, apnc, [1], [nlevnc])1807 status = nf90_ put_var(ncidpl, varidbp, bpnc, [1], [nlevnc])1812 status = nf90_get_var(ncidpl, varidap, apnc, [1], [nlevnc]) 1813 status = nf90_get_var(ncidpl, varidbp, bpnc, [1], [nlevnc]) 1808 1814 ELSEIF (guide_plevs.EQ.0) THEN 1809 status = nf90_ put_var(ncidpl, varidpl, apnc, [1], [nlevnc])1815 status = nf90_get_var(ncidpl, varidpl, apnc, [1], [nlevnc]) 1810 1816 !FC Pour les corrections la pression est deja en Pascals on commente la ligne ci-dessous 1811 1817 IF(convert_Pa) apnc=apnc*100.! conversion en Pascals … … 1833 1839 ! Pression 1834 1840 if (guide_plevs.EQ.2) then 1835 status = nf90_ put_var(ncidp, varidp, pnat2, start, count)1841 status = nf90_get_var(ncidp, varidp, pnat2, start, count) 1836 1842 IF (invert_y) THEN 1837 1843 ! PRINT*,"Invertion impossible actuellement" … … 1843 1849 ! Vent zonal 1844 1850 if (guide_u) then 1845 status = nf90_ put_var(ncidu, varidu, unat2, start, count)1851 status = nf90_get_var(ncidu, varidu, unat2, start, count) 1846 1852 IF (invert_y) THEN 1847 1853 ! PRINT*,"Invertion impossible actuellement" … … 1855 1861 ! Temperature 1856 1862 if (guide_T) then 1857 status = nf90_ put_var(ncidt, varidt, tnat2, start, count)1863 status = nf90_get_var(ncidt, varidt, tnat2, start, count) 1858 1864 IF (invert_y) THEN 1859 1865 ! PRINT*,"Invertion impossible actuellement" … … 1865 1871 ! Humidite 1866 1872 if (guide_Q) then 1867 status = nf90_ put_var(ncidQ, varidQ, qnat2, start, count)1873 status = nf90_get_var(ncidQ, varidQ, qnat2, start, count) 1868 1874 IF (invert_y) THEN 1869 1875 ! PRINT*,"Invertion impossible actuellement" … … 1879 1885 count(2)=jjnb_v 1880 1886 IF (invert_y) start(2)=jjm-jje_v+1 1881 status = nf90_ put_var(ncidv, varidv, vnat2, start, count)1887 status = nf90_get_var(ncidv, varidv, vnat2, start, count) 1882 1888 IF (invert_y) THEN 1883 1889 ! PRINT*,"Invertion impossible actuellement" … … 1896 1902 count(4)=0 1897 1903 IF (invert_y) start(2)=jjp1-jje_u+1 1898 status = nf90_ put_var(ncidps, varidps, psnat2, start, count)1904 status = nf90_get_var(ncidps, varidps, psnat2, start, count) 1899 1905 IF (invert_y) THEN 1900 1906 ! PRINT*,"Invertion impossible actuellement" … … 1908 1914 !======================================================================= 1909 1915 SUBROUTINE guide_read2D(timestep) 1910 USE netcdf, ONLY: nf90_ put_var1916 USE netcdf, ONLY: nf90_get_var 1911 1917 USE dimensions_mod, ONLY: iim, jjm, llm, ndm 1912 1918 USE paramet_mod_h … … 2057 2063 ! Coefs ap, bp pour calcul de la pression aux differents niveaux 2058 2064 if (guide_plevs.EQ.1) then 2059 status = nf90_ put_var(ncidpl, varidap, apnc, [1], [nlevnc])2060 status = nf90_ put_var(ncidpl, varidbp, bpnc, [1], [nlevnc])2065 status = nf90_get_var(ncidpl, varidap, apnc, [1], [nlevnc]) 2066 status = nf90_get_var(ncidpl, varidbp, bpnc, [1], [nlevnc]) 2061 2067 elseif (guide_plevs.EQ.0) THEN 2062 status = nf90_ put_var(ncidpl, varidpl, apnc, [1], [nlevnc])2068 status = nf90_get_var(ncidpl, varidpl, apnc, [1], [nlevnc]) 2063 2069 apnc=apnc*100.! conversion en Pascals 2064 2070 bpnc(:)=0. … … 2085 2091 ! Pression 2086 2092 if (guide_plevs.EQ.2) then 2087 status = nf90_ put_var(ncidp, varidp, zu, start, count)2093 status = nf90_get_var(ncidp, varidp, zu, start, count) 2088 2094 DO i=1,iip1 2089 2095 pnat2(i,:,:)=zu(:,:) … … 2098 2104 ! Vent zonal 2099 2105 if (guide_u) then 2100 status = nf90_ put_var(ncidu, varidu, zu, start, count)2106 status = nf90_get_var(ncidu, varidu, zu, start, count) 2101 2107 DO i=1,iip1 2102 2108 unat2(i,:,:)=zu(:,:) … … 2113 2119 ! Temperature 2114 2120 if (guide_T) then 2115 status = nf90_ put_var(ncidt, varidt, zu, start, count)2121 status = nf90_get_var(ncidt, varidt, zu, start, count) 2116 2122 DO i=1,iip1 2117 2123 tnat2(i,:,:)=zu(:,:) … … 2127 2133 ! Humidite 2128 2134 if (guide_Q) then 2129 status = nf90_ put_var(ncidQ, varidQ, zu, start, count)2135 status = nf90_get_var(ncidQ, varidQ, zu, start, count) 2130 2136 DO i=1,iip1 2131 2137 qnat2(i,:,:)=zu(:,:) … … 2144 2150 count(2)=jjnb_v 2145 2151 IF (invert_y) start(2)=jjm-jje_v+1 2146 status = nf90_ put_var(ncidv, varidv, zv, start, count)2152 status = nf90_get_var(ncidv, varidv, zv, start, count) 2147 2153 DO i=1,iip1 2148 2154 vnat2(i,:,:)=zv(:,:) … … 2166 2172 count(4)=0 2167 2173 IF (invert_y) start(2)=jjp1-jje_u+1 2168 status = nf90_ put_var(ncidps, varidps, zu(:, 1), start, count)2174 status = nf90_get_var(ncidps, varidps, zu(:, 1), start, count) 2169 2175 DO i=1,iip1 2170 2176 psnat2(i,:)=zu(:,1)
Note: See TracChangeset
for help on using the changeset viewer.