/[lmdze]/trunk/libf/phylmd/phyetat0.f90
ViewVC logotype

Diff of /trunk/libf/phylmd/phyetat0.f90

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

revision 12 by guez, Mon Jul 21 16:05:07 2008 UTC revision 15 by guez, Fri Aug 1 15:24:12 2008 UTC
# Line 1  Line 1 
1  module phyetat0_m  module phyetat0_m
2    
3    use dimphy, only: klon, klev, zmasq    use dimphy, only: klon
4    
5    IMPLICIT none    IMPLICIT none
6    
7    REAL, save:: rlat(klon), rlon(klon)    REAL, save:: rlat(klon), rlon(klon)
8    ! latitude et longitude pour chaque point, in degrees    ! latitude et longitude pour chaque point, in degrees
9    
10    private klon, klev, zmasq    private klon
11    
12  contains  contains
13    
14    SUBROUTINE phyetat0(fichnom, pctsrf, tsol,tsoil, ocean, tslab,seaice, &    SUBROUTINE phyetat0(fichnom, pctsrf, tsol,tsoil, ocean, tslab,seaice, &
15         qsurf,qsol,snow, &         qsurf,qsol,snow, &
16         albe, alblw, evap, rain_fall, snow_fall, solsw, sollw, &         albe, alblw, evap, rain_fall, snow_fall, solsw, sollw, &
17         fder,radsol,frugs,agesno,clesphy0, &         fder,radsol,frugs,agesno, &
18         zmea,zstd,zsig,zgam,zthe,zpic,zval,rugsrel, &         zmea,zstd,zsig,zgam,zthe,zpic,zval, &
19         t_ancien,q_ancien,ancien_ok, rnebcon, ratqs,clwcon, &         t_ancien,q_ancien,ancien_ok, rnebcon, ratqs,clwcon, &
20         run_off_lic_0)         run_off_lic_0)
21    
# Line 26  contains Line 26  contains
26      USE indicesol, ONLY : epsfra, is_lic, is_oce, is_sic, is_ter, nbsrf      USE indicesol, ONLY : epsfra, is_lic, is_oce, is_sic, is_ter, nbsrf
27      USE dimsoil, ONLY : nsoilmx      USE dimsoil, ONLY : nsoilmx
28      USE temps, ONLY : itau_phy      USE temps, ONLY : itau_phy
     USE clesphys2, ONLY : cycle_diurne, iflag_con, nbapp_rad, new_oliq, &  
          ok_limitvrai, ok_orodr, ok_orolf, soil_model  
29      use netcdf, only: nf90_get_att, nf90_global      use netcdf, only: nf90_get_att, nf90_global
30      use netcdf95, only: handle_err      use netcdf95, only: handle_err
31        use dimphy, only: zmasq, klev
32    
33      include "netcdf.inc"      include "netcdf.inc"
34    
# Line 53  contains Line 52  contains
52      REAL frugs(klon,nbsrf)      REAL frugs(klon,nbsrf)
53      REAL agesno(klon,nbsrf)      REAL agesno(klon,nbsrf)
54      REAL zmea(klon)      REAL zmea(klon)
55      REAL zstd(klon)      REAL, intent(out):: zstd(klon)
56      REAL zsig(klon)      REAL, intent(out):: zsig(klon)
57      REAL zgam(klon)      REAL zgam(klon)
58      REAL zthe(klon)      REAL zthe(klon)
59      REAL zpic(klon)      REAL zpic(klon)
60      REAL zval(klon)      REAL zval(klon)
     REAL rugsrel(klon)  
61      REAL pctsrf(klon, nbsrf)      REAL pctsrf(klon, nbsrf)
62      REAL fractint(klon)      REAL fractint(klon)
63      REAL run_off_lic_0(klon)      REAL run_off_lic_0(klon)
# Line 70  contains Line 68  contains
68    
69      CHARACTER(len=*), intent(in):: ocean      CHARACTER(len=*), intent(in):: ocean
70    
     INTEGER        longcles  
     PARAMETER    ( longcles = 20 )  
     REAL, intent(in):: clesphy0( longcles )  
   
71      REAL xmin, xmax      REAL xmin, xmax
72    
73      INTEGER nid, nvarid      INTEGER nid, nvarid
74      INTEGER ierr, i, nsrf, isoil      INTEGER ierr, i, nsrf, isoil
     INTEGER length  
     PARAMETER (length=100)  
75      CHARACTER*7 str7      CHARACTER*7 str7
76      CHARACTER*2 str2      CHARACTER*2 str2
77    
# Line 97  contains Line 89  contains
89         STOP 1         STOP 1
90      ENDIF      ENDIF
91    
     iflag_con    = clesphy0(1)  
     nbapp_rad    = clesphy0(2)  
     cycle_diurne  = clesphy0(3) == 1  
     soil_model = clesphy0(4) == 1  
     new_oliq = clesphy0(5) == 1  
     ok_orodr = clesphy0(6) == 1  
     ok_orolf = clesphy0(7) == 1  
     ok_limitvrai = clesphy0(8) == 1  
   
92      ierr = nf90_get_att(nid, nf90_global, "itau_phy", itau_phy)      ierr = nf90_get_att(nid, nf90_global, "itau_phy", itau_phy)
93      call handle_err("phyetat0 itau_phy", ierr, nid, nf90_global)      call handle_err("phyetat0 itau_phy", ierr, nid, nf90_global)
94    
# Line 990  contains Line 973  contains
973      ENDDO      ENDDO
974      PRINT*,'OROGRAPHIE SOUS-MAILLE zval:', xmin, xmax      PRINT*,'OROGRAPHIE SOUS-MAILLE zval:', xmin, xmax
975    
   
     ierr = NF_INQ_VARID (nid, "RUGSREL", nvarid)  
     IF (ierr.NE.NF_NOERR) THEN  
        PRINT*, 'phyetat0: Le champ <RUGSREL> est absent'  
        stop 1  
     ENDIF  
     ierr = NF_GET_VAR_REAL(nid, nvarid, rugsrel)  
     IF (ierr.NE.NF_NOERR) THEN  
        PRINT*, 'phyetat0: Lecture echouee pour <RUGSREL>'  
        stop 1  
     ENDIF  
     xmin = 1.0E+20  
     xmax = -1.0E+20  
     DO i = 1, klon  
        xmin = MIN(rugsrel(i),xmin)  
        xmax = MAX(rugsrel(i),xmax)  
     ENDDO  
     PRINT*,'Rugosite relief (ecart-type) rugsrel:', xmin, xmax  
   
   
976      ancien_ok = .TRUE.      ancien_ok = .TRUE.
977    
978      ierr = NF_INQ_VARID (nid, "TANCIEN", nvarid)      ierr = NF_INQ_VARID (nid, "TANCIEN", nvarid)

Legend:
Removed from v.12  
changed lines
  Added in v.15

  ViewVC Help
Powered by ViewVC 1.1.21