--- trunk/libf/dyn3d/Read_reanalyse/read_reanalyse.f90 2010/12/21 15:45:48 37 +++ trunk/dyn3d/Read_reanalyse/read_reanalyse.f 2014/03/06 17:35:22 85 @@ -1,5 +1,4 @@ - subroutine read_reanalyse(timestep,psi & - ,u,v,t,q,masse,ps,mode,nlevnc) + subroutine read_reanalyse(timestep,psi,u,v,t,q,masse,mode,nlevnc) ! ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/read_reanalyse.F,v 1.3 2005/04/15 12:31:21 lmdzadmin Exp $ @@ -14,9 +13,9 @@ ! ----------------------------------------------------------------- use dimens_m use paramet_m - use comvert + use disvert_m use comgeom - use guide_m + use conf_guide_m use netcdf IMPLICIT NONE @@ -24,17 +23,14 @@ ! common ! ------ - include "netcdf.inc" - - ! arguments ! --------- integer nlevnc integer timestep,mode,l - real psi(iip1,jjp1) + real, intent(in):: psi(iip1,jjp1) real u(iip1,jjp1,llm),v(iip1,jjm,llm) - real t(iip1,jjp1,llm),ps(iip1,jjp1),q(iip1,jjp1,llm) + real t(iip1,jjp1,llm),q(iip1,jjp1,llm) real masse(iip1,jjp1,llm),pk(iip1,jjp1,llm) @@ -101,13 +97,6 @@ if (ncidpl.eq.-99) ncidpl=ncidQ endif -! Pression de surface - if (guide_P) then - rcode=nf90_open('ps.nc',nf90_nowrite,ncidps) - rcode = nf90_inq_varid(ncidps, 'SP', varidps) - print*,'ncidps,varidps',ncidps,varidps - endif - ! Coordonnee verticale if (ncep) then print*,'Vous etes entrain de lire des donnees NCEP' @@ -123,7 +112,7 @@ ! Niveaux de pression print*,'WARNING!!! Il n y a pas de test de coherence' print*,'sur le nombre de niveaux verticaux dans le fichier nc' - status=NF_GET_VARA_REAL(ncidpl,varidpl,1,nlevnc,pl) + status=NF90_GET_VAR(ncidpl,varidpl,pl) ! passage en pascal pl(:)=100.*pl(:) if (first) then @@ -133,7 +122,7 @@ endif ! ----------------------------------------------------------------- -! lecture des champs u, v, T, ps +! lecture des champs u, v, T ! ----------------------------------------------------------------- ! dimensions pour les champs scalaires et le vent zonal @@ -161,7 +150,7 @@ if (guide_u) then print*,'avant la lecture de UNCEP nd de niv:',nlevnc - status=NF_GET_VARA_REAL(ncidu,varidu,start,count,unc) + status=NF90_GET_VAR(ncidu,varidu,unc,start,count) ! call dump2d(iip1,jjp1,unc,'VENT NCEP ') ! call dump2d(iip1,40,unc(1,1,nlevnc),'VENT NCEP ') print*,'WARNING!!! Correction bidon pour palier a un ' @@ -176,7 +165,7 @@ print*,'ncidt=',ncidt,'varidt=',varidt,'start=',start print*,'count=',count if (guide_T) then - status=NF_GET_VARA_REAL(ncidt,varidt,start,count,tnc) + status=NF90_GET_VAR(ncidt,varidt,tnc,start,count) call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 AAA ') call correctbid(iim,jjp1*nlevnc,tnc) call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 BBB ') @@ -186,7 +175,7 @@ ! -------- if (guide_Q) then - status=NF_GET_VARA_REAL(ncidQ,varidQ,start,count,Qnc) + status=NF90_GET_VAR(ncidQ,varidQ,Qnc,start,count) call correctbid(iim,jjp1*nlevnc,Qnc) call dump2d(iip1,jjp1,Qnc,'QNC COUCHE 1 ') endif @@ -196,7 +185,7 @@ ! ------------- if (guide_v) then - status=NF_GET_VARA_REAL(ncidv,varidv,start,count,vnc) + status=NF90_GET_VAR(ncidv,varidv,vnc,start,count) call correctbid(iim,jjm*nlevnc,vnc) call dump2d(iip1,jjm,vnc,'VNC COUCHE 1 ') endif @@ -207,22 +196,9 @@ count(3)=1 count(4)=0 -! Pression de surface -! ------------------- - - if (guide_P) then - status=NF_GET_VARA_REAL(ncidps,varidps,start,count,psnc) - call dump2d(iip1,jjp1,psnc,'PSNC COUCHE 1 ') - call correctbid(iim,jjp1,psnc) - endif - - - -! ----------------------------------------------------------------- ! Interpollation verticale sur les niveaux modele ! ----------------------------------------------------------------- - call reanalyse2nat(nlevnc,psi,unc,vnc,tnc,Qnc,psnc,pl,u,v,t,Q & - ,ps,masse,pk) + call reanalyse2nat(nlevnc,psi,unc,vnc,tnc,Qnc,psnc,pl,u,v,t,Q,masse,pk) call dump2d(iip1,jjm,v,'V COUCHE APRES ')