/[lmdze]/trunk/Sources/dyn3d/Guide/Read_reanalyse/read_reanalyse.f
ViewVC logotype

Diff of /trunk/Sources/dyn3d/Guide/Read_reanalyse/read_reanalyse.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/dyn3d/Read_reanalyse/read_reanalyse.f90 revision 44 by guez, Wed Apr 13 12:29:18 2011 UTC trunk/dyn3d/Read_reanalyse/read_reanalyse.f revision 85 by guez, Thu Mar 6 17:35:22 2014 UTC
# Line 1  Line 1 
1        subroutine read_reanalyse(timestep,psi &        subroutine read_reanalyse(timestep,psi,u,v,t,q,masse,mode,nlevnc)
          ,u,v,t,q,masse,ps,mode,nlevnc)  
2    
3  !  !
4  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/read_reanalyse.F,v 1.3 2005/04/15 12:31:21 lmdzadmin Exp $  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/read_reanalyse.F,v 1.3 2005/04/15 12:31:21 lmdzadmin Exp $
# Line 14  Line 13 
13  ! -----------------------------------------------------------------  ! -----------------------------------------------------------------
14        use dimens_m        use dimens_m
15        use paramet_m        use paramet_m
16        use comvert        use disvert_m
17        use comgeom        use comgeom
18        use conf_guide_m        use conf_guide_m
19        use netcdf        use netcdf
# Line 24  Line 23 
23  ! common  ! common
24  ! ------  ! ------
25    
       include "netcdf.inc"  
   
   
26  ! arguments  ! arguments
27  ! ---------  ! ---------
28        integer nlevnc        integer nlevnc
29        integer timestep,mode,l        integer timestep,mode,l
30    
31        real psi(iip1,jjp1)        real, intent(in):: psi(iip1,jjp1)
32        real u(iip1,jjp1,llm),v(iip1,jjm,llm)        real u(iip1,jjp1,llm),v(iip1,jjm,llm)
33        real t(iip1,jjp1,llm),ps(iip1,jjp1),q(iip1,jjp1,llm)        real t(iip1,jjp1,llm),q(iip1,jjp1,llm)
34        real masse(iip1,jjp1,llm),pk(iip1,jjp1,llm)        real masse(iip1,jjp1,llm),pk(iip1,jjp1,llm)
35    
36    
# Line 101  Line 97 
97              if (ncidpl.eq.-99) ncidpl=ncidQ              if (ncidpl.eq.-99) ncidpl=ncidQ
98              endif              endif
99    
 ! 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  
   
100  ! Coordonnee verticale  ! Coordonnee verticale
101              if (ncep) then              if (ncep) then
102                 print*,'Vous etes entrain de lire des donnees NCEP'                 print*,'Vous etes entrain de lire des donnees NCEP'
# Line 123  Line 112 
112  ! Niveaux de pression  ! Niveaux de pression
113        print*,'WARNING!!! Il n y a pas de test de coherence'        print*,'WARNING!!! Il n y a pas de test de coherence'
114        print*,'sur le nombre de niveaux verticaux dans le fichier nc'        print*,'sur le nombre de niveaux verticaux dans le fichier nc'
115        status=NF_GET_VARA_REAL(ncidpl,varidpl,1,nlevnc,pl)        status=NF90_GET_VAR(ncidpl,varidpl,pl)
116  !  passage en pascal  !  passage en pascal
117        pl(:)=100.*pl(:)        pl(:)=100.*pl(:)
118        if (first) then        if (first) then
# Line 133  Line 122 
122        endif        endif
123    
124  ! -----------------------------------------------------------------  ! -----------------------------------------------------------------
125  !   lecture des champs u, v, T, ps  !   lecture des champs u, v, T
126  ! -----------------------------------------------------------------  ! -----------------------------------------------------------------
127    
128  !  dimensions pour les champs scalaires et le vent zonal  !  dimensions pour les champs scalaires et le vent zonal
# Line 161  Line 150 
150    
151        if (guide_u) then        if (guide_u) then
152        print*,'avant la lecture de UNCEP nd de niv:',nlevnc        print*,'avant la lecture de UNCEP nd de niv:',nlevnc
153        status=NF_GET_VARA_REAL(ncidu,varidu,start,count,unc)        status=NF90_GET_VAR(ncidu,varidu,unc,start,count)
154  !     call dump2d(iip1,jjp1,unc,'VENT NCEP   ')  !     call dump2d(iip1,jjp1,unc,'VENT NCEP   ')
155  !     call dump2d(iip1,40,unc(1,1,nlevnc),'VENT NCEP   ')  !     call dump2d(iip1,40,unc(1,1,nlevnc),'VENT NCEP   ')
156        print*,'WARNING!!! Correction bidon pour palier a un '        print*,'WARNING!!! Correction bidon pour palier a un '
# Line 176  Line 165 
165        print*,'ncidt=',ncidt,'varidt=',varidt,'start=',start        print*,'ncidt=',ncidt,'varidt=',varidt,'start=',start
166        print*,'count=',count        print*,'count=',count
167        if (guide_T) then        if (guide_T) then
168        status=NF_GET_VARA_REAL(ncidt,varidt,start,count,tnc)        status=NF90_GET_VAR(ncidt,varidt,tnc,start,count)
169        call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 AAA ')        call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 AAA ')
170        call correctbid(iim,jjp1*nlevnc,tnc)        call correctbid(iim,jjp1*nlevnc,tnc)
171        call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 BBB ')        call dump2d(iip1,jjp1,tnc,'TNC COUCHE 1 BBB ')
# Line 186  Line 175 
175  !  --------  !  --------
176    
177        if (guide_Q) then        if (guide_Q) then
178        status=NF_GET_VARA_REAL(ncidQ,varidQ,start,count,Qnc)        status=NF90_GET_VAR(ncidQ,varidQ,Qnc,start,count)
179        call correctbid(iim,jjp1*nlevnc,Qnc)        call correctbid(iim,jjp1*nlevnc,Qnc)
180        call dump2d(iip1,jjp1,Qnc,'QNC COUCHE 1 ')        call dump2d(iip1,jjp1,Qnc,'QNC COUCHE 1 ')
181        endif        endif
# Line 196  Line 185 
185  !  -------------  !  -------------
186    
187        if (guide_v) then        if (guide_v) then
188        status=NF_GET_VARA_REAL(ncidv,varidv,start,count,vnc)        status=NF90_GET_VAR(ncidv,varidv,vnc,start,count)
189        call correctbid(iim,jjm*nlevnc,vnc)        call correctbid(iim,jjm*nlevnc,vnc)
190        call dump2d(iip1,jjm,vnc,'VNC COUCHE 1 ')        call dump2d(iip1,jjm,vnc,'VNC COUCHE 1 ')
191        endif        endif
# Line 207  Line 196 
196        count(3)=1        count(3)=1
197        count(4)=0        count(4)=0
198    
 !  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  
   
   
   
 ! -----------------------------------------------------------------  
199  !  Interpollation verticale sur les niveaux modele  !  Interpollation verticale sur les niveaux modele
200  ! -----------------------------------------------------------------  ! -----------------------------------------------------------------
201        call reanalyse2nat(nlevnc,psi,unc,vnc,tnc,Qnc,psnc,pl,u,v,t,Q &        call reanalyse2nat(nlevnc,psi,unc,vnc,tnc,Qnc,psnc,pl,u,v,t,Q,masse,pk)
           ,ps,masse,pk)  
202    
203        call dump2d(iip1,jjm,v,'V COUCHE APRES ')        call dump2d(iip1,jjm,v,'V COUCHE APRES ')
204    

Legend:
Removed from v.44  
changed lines
  Added in v.85

  ViewVC Help
Powered by ViewVC 1.1.21