Ignore:
Timestamp:
Jan 25, 2002, 5:20:10 PM (23 years ago)
Author:
lmdzadmin
Message:

Adaptation à la version couplée
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F

    r278 r320  
    1       SUBROUTINE etat0_netcdf
     1c
     2c $Header$
     3c
     4      SUBROUTINE etat0_netcdf (interbar, masque)
    25   
    36      USE startvar
     
    1114      !
    1215      !
    13 c      INTEGER, PARAMETER :: KIDIA=1, KFDIA=iim*(jjm-1)+2,
    14 c     .KLON=KFDIA-KIDIA+1,KLEV=llm
     16!      INTEGER, PARAMETER :: KIDIA=1, KFDIA=iim*(jjm-1)+2,
     17!     .KLON=KFDIA-KIDIA+1,KLEV=llm
    1518      !
    1619#include "comgeom2.h"
     
    2124#include "dimsoil.h"
    2225      !
     26      LOGICAL interbar
    2327      REAL :: latfi(klon), lonfi(klon)
    2428      REAL :: orog(iip1,jjp1), rugo(iip1,jjp1), masque(iip1,jjp1),
     
    5660      CHARACTER*80 :: varname
    5761      !
    58       INTEGER :: i,j, ig, l, ji
     62      INTEGER :: i,j, ig, l, ji,ii1,ii2
    5963      REAL :: xpi
    6064      !
     
    8791      REAL ::phystep,co2_ppm,solaire
    8892      INTEGER :: radpas
     93       real zrel(iip1*jjp1),chmin,chmax
    8994
    9095      CHARACTER*80 :: visu_file
     
    156161      ! This line needs to be replaced by a call to restget to get the values in the restart file
    157162      orog(:,:) = 0.0
    158        CALL startget(varname, iip1, jjp1, rlonv, rlatu, orog, 0.0)
     163       CALL startget(varname, iip1, jjp1, rlonv, rlatu, orog, 0.0 ,
     164     , jjm ,rlonu,rlatv , interbar )
    159165      !
    160166      WRITE(*,*) 'OUT OF GET VARIABLE : Relief'
     
    164170      ! This line needs to be replaced by a call to restget to get the values in the restart file
    165171      rugo(:,:) = 0.0
    166        CALL startget(varname, iip1, jjp1, rlonv, rlatu, rugo, 0.0)
     172       CALL startget(varname, iip1, jjp1, rlonv, rlatu, rugo, 0.0 ,
     173     , jjm, rlonu,rlatv , interbar )
    167174      !
    168175      WRITE(*,*) 'OUT OF GET VARIABLE : Rugosite'
     
    172179      ! This line needs to be replaced by a call to restget to get the values in the restart file
    173180      masque(:,:) = 0.0
    174        CALL startget(varname, iip1, jjp1, rlonv, rlatu, masque, 0.0)
     181       CALL startget(varname, iip1, jjp1, rlonv, rlatu, masque, 0.0,
     182     , jjm ,rlonu,rlatv , interbar )
    175183      !
    176184      WRITE(*,*) 'MASQUE construit : Masque'
     
    187195      varname = 'zmasq'
    188196      zmasq(:) = 0.
    189       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0)
     197      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0,
     198     , jjm ,rlonu,rlatv , interbar )
    190199      WHERE (zmasq(1 : klon) .LT. EPSFRA)
    191200          zmasq(1 : klon) = 0.
     
    201210      varname = 'psol'
    202211      psol(:,:) = 0.0
    203       CALL startget(varname, iip1, jjp1, rlonv, rlatu, psol, 0.0)
     212      CALL startget(varname, iip1, jjp1, rlonv, rlatu, psol, 0.0 ,
     213     , jjm ,rlonu,rlatv , interbar )
    204214      !
    205215      !  Compute here the pressure on the intermediate levels. One would expect that this is available in the GCM
     
    229239      varname = 'surfgeo'
    230240      phis(:,:) = 0.0
    231       CALL startget(varname, iip1, jjp1, rlonv, rlatu, phis, 0.0)
    232       write(*,*) 'Phis = '
    233       write(*,*)phis
     241      CALL startget(varname, iip1, jjp1, rlonv, rlatu, phis, 0.0 ,
     242     , jjm ,rlonu,rlatv, interbar )
    234243      !
    235244      varname = 'u'
    236245      uvent(:,:,:) = 0.0
    237246      CALL startget(varname, iip1, jjp1, rlonu, rlatu, llm, pls,
    238      . workvar, uvent, 0.0)
     247     . workvar, uvent, 0.0, jjm ,rlonv, rlatv, interbar )
    239248      ! 
    240249      varname = 'v'
    241250      vvent(:,:,:) = 0.0
    242251      CALL startget(varname, iip1, jjm, rlonv, rlatv, llm, pls,
    243      . workvar, vvent, 0.0)
     252     . workvar, vvent, 0.0, jjp1, rlonu, rlatu, interbar )
    244253      !
    245254      varname = 't'
    246255      t3d(:,:,:) = 0.0
    247256      CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
    248      . workvar, t3d, 0.0)
     257     . workvar, t3d, 0.0 , jjm, rlonu, rlatv , interbar )
    249258      !
    250259      WRITE(*,*) 'T3D min,max:',minval(t3d(:,:,:)),
     
    253262      tpot(:,:,:) = 0.0
    254263      CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
    255      . pk, tpot, 0.0)
     264     . pk, tpot, 0.0 , jjm, rlonu, rlatv , interbar )
    256265      !
    257266      WRITE(*,*) 'T3D min,max:',minval(t3d(:,:,:)),
     
    273282      !
    274283      varname = 'q'
    275       q3d(:,:,:,:) = 0.0
    276284      qd(:,:,:) = 0.0
    277285      q3d(:,:,:,:) = 0.0
     
    279287     .                           maxval(qsat(:,:,:))
    280288      CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
    281      . qsat, qd, 0.0)
     289     . qsat, qd, 0.0, jjm, rlonu, rlatv , interbar )
    282290      q3d(:,:,:,1) = qd(:,:,:)
    283291      !
     
    285293      ! This line needs to be replaced by a call to restget to get the values in the restart file
    286294      tsol(:) = 0.0
    287       CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, tsol,0.0)
     295      CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, tsol, 0.0,
     296     .    jjm, rlonu, rlatv , interbar )
    288297      !
    289298      WRITE(*,*) 'TSOL construit :'
     
    292301      varname = 'qsol'
    293302      qsol(:) = 0.0
    294       CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, qsol,0.0)
     303      CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, qsol, 0.0,
     304     .   jjm, rlonu, rlatv , interbar )
    295305      !
    296306      varname = 'snow'
    297307      sn(:) = 0.0
    298       CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, sn,0.0)
     308      CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, sn, 0.0,
     309     .    jjm, rlonu, rlatv , interbar )
    299310      !
    300311      varname = 'rads'
    301312      radsol(:) = 0.0
    302       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,radsol,0.0)
     313      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,radsol,0.0,
     314     .    jjm, rlonu, rlatv , interbar )
    303315      !
    304316      varname = 'deltat'
    305317      deltat(:) = 0.0
    306       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,deltat,0.0)
     318      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,deltat,0.0,
     319     .     jjm, rlonu, rlatv , interbar )
    307320      !
    308321      varname = 'rugmer'
    309322      rugmer(:) = 0.0
    310       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,rugmer,0.0)
     323      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,rugmer,0.0,
     324     .     jjm, rlonu, rlatv , interbar )
    311325      !
    312326      varname = 'agsno'
    313327      agesno(:) = 0.0
    314       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,agesno,0.0)
     328      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,agesno,0.0,
     329     .     jjm, rlonu, rlatv , interbar )
    315330
    316331      varname = 'zmea'
    317332      zmea(:) = 0.0
    318       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmea,0.0)
     333      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmea,0.0,
     334     .     jjm, rlonu, rlatv , interbar )
     335
    319336      varname = 'zstd'
    320337      zstd(:) = 0.0
    321       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zstd,0.0)
     338      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zstd,0.0,
     339     .     jjm, rlonu, rlatv , interbar )
    322340      varname = 'zsig'
    323341      zsig(:) = 0.0
    324       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zsig,0.0)
     342      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zsig,0.0,
     343     .     jjm, rlonu, rlatv , interbar )
    325344      varname = 'zgam'
    326345      zgam(:) = 0.0
    327       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zgam,0.0)
     346      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zgam,0.0,
     347     .     jjm, rlonu, rlatv , interbar )
    328348      varname = 'zthe'
    329349      zthe(:) = 0.0
    330       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zthe,0.0)
     350      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zthe,0.0,
     351     .     jjm, rlonu, rlatv , interbar )
    331352      varname = 'zpic'
    332353      zpic(:) = 0.0
    333       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zpic,0.0)
     354      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zpic,0.0,
     355     .     jjm, rlonu, rlatv , interbar )
    334356      varname = 'zval'
    335357      zval(:) = 0.0
    336       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zval,0.0)
     358      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zval,0.0,
     359     .     jjm, rlonu, rlatv , interbar )
     360c
    337361      rugsrel(:) = 0.0
    338 
     362      IF(ok_orodr)  THEN
     363        DO i = 1, iip1* jjp1
     364         rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. )
     365        ENDDO
     366      ENDIF
    339367C
    340368C En cas de simulation couplee, lecture du masque ocean issu du modele ocean
Note: See TracChangeset for help on using the changeset viewer.