subroutine read_surface(name,surfa) ! common ! ------ USE ioipsl USE comgeomphy USE dimphy USE mod_grid_phy_lmdz USE mod_phys_lmdz_para USE iophy ! USE netcdf IMPLICIT NONE include "netcdf.inc" #include "dimensions.h" #include "paramet.h" character*10 name character*10 varname ! real tmp_dyn(iip1,jjp1) REAL tmp_dyn_invers(iip1,jjp1) real tmp_fi(klon) real surfa(klon,5) ! integer ncid integer varid real rcode integer start(2),count(2),status integer i,j,l,ig character*1 str1 print*,'Lecture du fichier donnees_lisa.nc' ncid=NCOPN('donnees_lisa.nc',NCNOWRIT,rcode) DO i=1,5 write(str1,'(i1)') i varname=trim(name)//str1 print*,'lecture variable:',varname varid=NCVID(ncid,trim(varname),rcode) ! varid=NCVID(ncid,varname,rcode) ! dimensions pour les champs scalaires et le vent zonal ! ----------------------------------------------------- start(1)=1 start(2)=1 count(1)=iip1 count(2)=jjp1 ! mise a zero des tableaux ! ------------------------ tmp_dyn(:,:)=0.0 tmp_fi(:)=0.0 ! Lecture ! ----------------------- #ifdef NC_DOUBLE status=NF_GET_VARA_DOUBLE(ncid,varid,start,count,tmp_dyn) #else status=NF_GET_VARA_REAL(ncid,varid,start,count,tmp_dyn) #endif ! call dump2d(iip1,jjp1,tmp_dyn,'tmp_dyn ') DO j=1, jjp1 DO ig=1, iip1 tmp_dyn_invers(ig,j)=tmp_dyn(ig,jjp1-j+1) ENDDO ENDDO !JE20140522! call gr_dyn_fi_p(1, iip1, jjp1, klon, tmp_dyn_invers, tmp_fi) call gr_dyn_fi(1, iip1, jjp1, klon, tmp_dyn_invers, tmp_fi) ! call dump2d(iim,jjm-1,tmp_fi(2),'tmp_fi ') ! DO j=1,klon surfa(j,i)=tmp_fi(j) ENDDO ! Fin de recopie du tableau ! ENDDO ! Fin boucle 1 a 5 print*,'Passage Grille Dyn -> Phys' return end subroutine read_surface