Ignore:
Timestamp:
Mar 21, 2002, 4:09:32 PM (23 years ago)
Author:
lmdzadmin
Message:

2 changements pour les fichiers histoire:

  • utilisation de l'entree "rectilineaire" de IOIPSL pour ne plus avoir

a

lancer ncregular a chaque fois

  • le calendrier des fichiers histoire est maintenant base sur la date d'initialisation de la simulation plutot que sur la date de depart du

job

en cours

LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/phyetat0.F

    r151 r353  
     1c
     2c $Header$
     3c
    14      SUBROUTINE phyetat0 (fichnom,dtime,co2_ppm,solaire,
    25     .            rlat,rlon, pctsrf, tsol,tsoil,deltat,qsol,snow,
     
    1619#include "dimsoil.h"
    1720#include "clesphys.h"
     21#include "temps.h"
    1822c======================================================================
    1923      CHARACTER*(*) fichnom
     
    3741      real fder(klon)
    3842      REAL frugs(klon,nbsrf)
    39       REAL agesno(klon)
     43      REAL agesno(klon,nbsrf)
    4044      REAL zmea(klon)
    4145      REAL zstd(klon)
     
    161165
    162166      ENDIF
     167
     168      itau_phy = tab_cntrl(15)
     169
    163170c
    164171c Lecture des latitudes (coordonnees):
     
    874881            xmax = MAX(frugs(i,1),xmax)
    875882         ENDDO
    876          PRINT*,'Neige du sol <RUG>', xmin, xmax
     883         PRINT*,'rugosite <RUG>', xmin, xmax
    877884         DO nsrf = 2, nbsrf
    878885         DO i = 1, klon
     
    888895      IF (ierr.NE.NF_NOERR) THEN
    889896         PRINT*, 'phyetat0: Le champ <AGESNO> est absent'
    890          PRINT*, "          Valeur par default: 50"
    891          DO i = 1, klon
    892             agesno(i) = 50.0
    893          ENDDO
    894       ELSE
    895 #ifdef NC_DOUBLE
    896          ierr = NF_GET_VAR_DOUBLE(nid, nvarid, agesno)
    897 #else
    898          ierr = NF_GET_VAR_REAL(nid, nvarid, agesno)
     897         PRINT*, '          Mais je vais essayer de lire AGESNO**'
     898         DO nsrf = 1, nbsrf
     899           IF (nsrf.GT.99) THEN
     900             PRINT*, "Trop de sous-mailles"
     901             CALL abort
     902           ENDIF
     903           WRITE(str2,'(i2.2)') nsrf
     904           ierr = NF_INQ_VARID (nid, "AGESNO"//str2, nvarid)
     905           IF (ierr.NE.NF_NOERR) THEN
     906              PRINT*, "phyetat0: Le champ <AGESNO"//str2//"> est absent"
     907              agesno = 50.0
     908           ENDIF
     909#ifdef NC_DOUBLE
     910           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, agesno(1,nsrf))
     911#else
     912           ierr = NF_GET_VAR_REAL(nid, nvarid, agesno(1,nsrf))
     913#endif
     914           IF (ierr.NE.NF_NOERR) THEN
     915             PRINT*, "phyetat0: Lecture echouee pour <AGESNO"//str2//">"
     916             CALL abort
     917           ENDIF
     918           xmin = 1.0E+20
     919           xmax = -1.0E+20
     920           DO i = 1, klon
     921              xmin = MIN(agesno(i,nsrf),xmin)
     922              xmax = MAX(agesno(i,nsrf),xmax)
     923           ENDDO
     924           PRINT*,'Age de la neige AGESNO**:', nsrf, xmin, xmax
     925         ENDDO
     926      ELSE
     927         PRINT*, 'phyetat0: Le champ <AGESNO> est present'
     928         PRINT*, '          J ignore donc les autres AGESNO**'
     929#ifdef NC_DOUBLE
     930         ierr = NF_GET_VAR_DOUBLE(nid, nvarid, agesno(1,1))
     931#else
     932         ierr = NF_GET_VAR_REAL(nid, nvarid, agesno(1,1))
    899933#endif
    900934         IF (ierr.NE.NF_NOERR) THEN
    901             PRINT*, 'phyetat0: Lecture echouee pour <AGESNO>'
     935            PRINT*, "phyetat0: Lecture echouee pour <AGESNO>"
    902936            CALL abort
    903937         ENDIF
     
    905939         xmax = -1.0E+20
    906940         DO i = 1, klon
    907             xmin = MIN(agesno(i),xmin)
    908             xmax = MAX(agesno(i),xmax)
    909          ENDDO
    910          PRINT*,'Age de la neige agesno:', xmin, xmax
    911       ENDIF
    912 c
     941            xmin = MIN(agesno(i,1),xmin)
     942            xmax = MAX(agesno(i,1),xmax)
     943         ENDDO
     944         PRINT*,'Age de la neige <AGESNO>', xmin, xmax
     945         DO nsrf = 2, nbsrf
     946         DO i = 1, klon
     947            agesno(i,nsrf) = agesno(i,1)
     948         ENDDO
     949         ENDDO
     950      ENDIF
     951
    913952c
    914953      ierr = NF_INQ_VARID (nid, "ZMEA", nvarid)
Note: See TracChangeset for help on using the changeset viewer.