Ignore:
Timestamp:
Mar 21, 2002, 4:09:30 PM (22 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/dyn3d/etat0_netcdf.F

    r332 r352  
    2323#include "dimphy.h"
    2424#include "dimsoil.h"
     25#include "temps.h"
    2526      !
    2627      LOGICAL interbar
     
    3839      REAL :: tsoil(klon,nsoilmx,nbsrf)
    3940      REAL :: radsol(klon),rain_fall(klon), snow_fall(klon)
    40       REAL :: solsw(klon), sollw(klon)
    41       REAL :: deltat(klon), frugs(klon,nbsrf), agesno(klon),rugmer(klon)
     41      REAL :: solsw(klon), sollw(klon), fder(klon)
     42      REAL :: deltat(klon), frugs(klon,nbsrf), agesno(klon,nbsrf)
     43      REAL :: rugmer(klon)
    4244      REAL :: zmea(iip1*jjp1), zstd(iip1*jjp1)
    4345      REAL :: zsig(iip1*jjp1), zgam(iip1*jjp1), zthe(iip1*jjp1)
     
    5052      INTEGER :: iml_lic, jml_lic, llm_tmp, ttm_tmp, iret
    5153      INTEGER :: itaul(1), fid
    52       REAL :: lev(1), date, dt
     54      REAL :: lev(1), date
    5355      REAL, ALLOCATABLE, DIMENSION(:,:) :: lon_lic, lat_lic
    5456      REAL, ALLOCATABLE, DIMENSION(:)  :: dlon_lic, dlat_lic
     
    193195      pctsrf=0.
    194196      !cree le masque a partir du fichier relief
    195       varname = 'zmasq'
    196       zmasq(:) = 0.
    197       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0,
    198      , jjm ,rlonu,rlatv , interbar )
     197      call gr_dyn_fi(1, iip1, jjp1, klon, masque, zmasq)
    199198      WHERE (zmasq(1 : klon) .LT. EPSFRA)
    200199          zmasq(1 : klon) = 0.
     
    323322     .     jjm, rlonu, rlatv , interbar )
    324323      !
    325       varname = 'agsno'
    326       agesno(:) = 0.0
    327       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,agesno,0.0,
    328      .     jjm, rlonu, rlatv , interbar )
     324!      varname = 'agesno'
     325!      agesno(:) = 0.0
     326!      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,agesno,0.0,
     327!     .     jjm, rlonu, rlatv , interbar )
    329328
    330329      varname = 'zmea'
     
    511510      ENDIF
    512511
     512!      where (pctsrf(1:klon, is_ter) >= .5)
     513!        pctsrf(1:klon, is_ter) = 1.
     514!        pctsrf(1:klon, is_oce) = 0.
     515!        pctsrf(1:klon, is_sic) = 0.
     516!        pctsrf(1:klon, is_lic) = 0.
     517!        zmasq = 1.
     518!      endwhere
     519!      where (pctsrf(1:klon, is_lic) >= .5)
     520!        pctsrf(1:klon, is_ter) = 0.
     521!        pctsrf(1:klon, is_oce) = 0.
     522!        pctsrf(1:klon, is_sic) = 0.
     523!        pctsrf(1:klon, is_lic) = 1.
     524!        zmasq = 1.
     525!      endwhere
     526!      where (pctsrf(1:klon, is_oce) >= .5)
     527!        pctsrf(1:klon, is_ter) = 0.
     528!        pctsrf(1:klon, is_oce) = 1.
     529!        pctsrf(1:klon, is_sic) = 0.
     530!        pctsrf(1:klon, is_lic) = 0.
     531!        zmasq = 0.
     532!      endwhere
     533!      where (pctsrf(1:klon, is_sic) >= .5)
     534!        pctsrf(1:klon, is_ter) = 0.
     535!        pctsrf(1:klon, is_oce) = 0.
     536!        pctsrf(1:klon, is_sic) = 1.
     537!        pctsrf(1:klon, is_lic) = 0.
     538!        zmasq = 0.
     539!      endwhere
     540!      call gr_fi_dyn(1, klon, iip1, jjp1, zmasq, masque)
     541C
     542C verif que somme des sous surface = 1
     543C
     544!      ji=count( (abs( sum(pctsrf(1 : klon, 1 : nbsrf), dim = 2)) - 1.0 )
     545!     $    .GT. EPSFRA)
     546!      IF (ji .NE. 0) THEN
     547!          WRITE(*,*) 'pb repartition sous maille pour ',ji,' points'
     548!     ENDIF
    513549
    514550
     
    544580      print*,'sortie inidissip'
    545581      itau = 0
     582      itau_dyn = 0
     583      itau_phy = 0
    546584      iday = dayref +itau/day_step
    547585      time = FLOAT(itau-(iday-dayref)*day_step)/day_step
     
    551589       iday = iday + 1
    552590      ENDIF
     591      day_ref = dayref
     592      annee_ref = anneeref
     593
    553594      CALL geopot  ( ip1jmp1, tpot  , pk , pks,  phis  , phi   )
    554595      print*,'sortie geopot'
     
    557598     *                phi,w, pbaru,pbarv,time+iday-dayref   )
    558599       print*,'sortie caldyn0'     
    559       CALL dynredem0("start.nc",dayref,anneeref,phis,nqmx)
     600      CALL dynredem0("start.nc",dayref,phis,nqmx)
    560601      print*,'sortie dynredem0'
    561602      CALL dynredem1("start.nc",0.0,vvent,uvent,tpot,q3d,nqmx,masse ,
     
    569610      co2_ppm   = 330.0
    570611      solaire   = 1370.0
    571 
    572 c      call physdem(lonfi, latfi, phystep,radpas,co2_ppm,
    573 c     .                   solaire,tsol, qsol,
    574 c     .                   sn, radsol, deltat, rugmer,
    575 c     .                   agesno, zmea, zstd, zsig,
    576 c     .                   zgam, zthe, zpic, zval,
    577 c     .                   rugsrel)
    578612
    579613c
     
    614648      frugs(1:klon,is_lic) = MAX(1.0e-05, zstd(1:klon)*zsig(1:klon)/2.0)
    615649      frugs(1:klon,is_sic) = 0.001
    616 
    617       call physdem("startphy.nc",phystep,radpas, co2_ppm, solaire,
     650      fder = 0.0
     651
     652      call phyredem("startphy.nc",phystep,radpas, co2_ppm, solaire,
    618653     $    latfi, lonfi, pctsrf, tsolsrf, tsoil, deltat, qsolsrf, snsrf,
    619      $    albe, evap, rain_fall, snow_fall, solsw, sollw,
     654     $    albe, evap, rain_fall, snow_fall, solsw, sollw, fder,
    620655     $    radsol, frugs,  agesno,
    621656     $    zmea, zstd, zsig, zgam, zthe, zpic, zval, rugsrel,
Note: See TracChangeset for help on using the changeset viewer.