Changeset 370 for LMDZ.3.3/branches


Ignore:
Timestamp:
Jul 10, 2002, 5:07:19 PM (22 years ago)
Author:
lmdzadmin
Message:

Prise en compte du fichier de trait de cote (si il existe) et du masque
correspondant dans les parametrisation de FLott
LF

Location:
LMDZ.3.3/branches/rel-LF/libf/dyn3d
Files:
4 edited

Legend:

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

    r353 r370  
    1818
    1919      LOGICAL interbar, extrap , oldice
    20       PARAMETER ( interbar = .TRUE. , extrap = .FALSE. , oldice=.true.)
     20      PARAMETER ( interbar = .true. , extrap = .FALSE. , oldice=.true.)
    2121#include "dimensions.h"
    2222#include "paramet.h"
     
    2626      REAL :: pctsrf(klon, nbsrf)
    2727
     28      WRITE(6,*) '  *********************  '
     29      WRITE(6,*) ' interbar = ',interbar
    2830      CALL etat0_netcdf ( interbar, masque, pctsrf )
    2931c
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F

    r359 r370  
    160160      ENDDO
    161161      !
    162       varname = 'relief'
    163       ! This line needs to be replaced by a call to restget to get the values in the restart file
    164       orog(:,:) = 0.0
    165        CALL startget(varname, iip1, jjp1, rlonv, rlatu, orog, 0.0 ,
    166      , jjm ,rlonu,rlatv , interbar )
    167       !
    168       WRITE(*,*) 'OUT OF GET VARIABLE : Relief'
    169 !      WRITE(*,'(49I1)') INT(orog(:,:))
    170       !
    171       varname = 'rugosite'
    172       ! This line needs to be replaced by a call to restget to get the values in the restart file
    173       rugo(:,:) = 0.0
    174        CALL startget(varname, iip1, jjp1, rlonv, rlatu, rugo, 0.0 ,
    175      , jjm, rlonu,rlatv , interbar )
    176       !
    177       WRITE(*,*) 'OUT OF GET VARIABLE : Rugosite'
    178 !      WRITE(*,'(49I1)') INT(rugo(:,:)*10)
    179       !
    180       varname = 'masque'
    181       ! This line needs to be replaced by a call to restget to get the values in the restart file
    182       masque(:,:) = 0.0
    183      
    184        CALL startget(varname, iip1, jjp1, rlonv, rlatu, masque, 0.0,
    185      , jjm ,rlonu,rlatv , interbar )
    186 !      masque = nint(masque)
    187       !
    188       WRITE(*,*) 'MASQUE construit : Masque'
    189       WRITE(*,'(97I1)') nINT(masque(:,:))
    190       !
    191       !
    192 
    193 
    194 C
    195 C on initialise les sous surfaces
    196 C
    197       pctsrf=0.
    198       !cree le masque a partir du fichier relief
    199       call gr_dyn_fi(1, iip1, jjp1, klon, masque, zmasq)
    200       WHERE (zmasq(1 : klon) .LT. EPSFRA)
    201           zmasq(1 : klon) = 0.
    202       END WHERE
    203       WHERE (1. - zmasq(1 : klon) .LT. EPSFRA)
    204           zmasq(1 : klon) = 1.
    205       END WHERE
    206 c
    207       varname = 'psol'
    208       psol(:,:) = 0.0
    209       CALL startget(varname, iip1, jjp1, rlonv, rlatu, psol, 0.0 ,
    210      , jjm ,rlonu,rlatv , interbar )
    211       !
    212       !  Compute here the pressure on the intermediate levels. One would expect that this is available in the GCM
    213       !  anyway.
    214       !
    215 !      WRITE(*,*) 'PSOL :', psol(10,20)
    216 !      WRITE(*,*) ap(:), bp(:)
    217       CALL pression(ip1jmp1, ap, bp, psol, p3d)
    218 !      WRITE(*,*) 'P3D :', p3d(10,20,:)
    219       CALL exner_hyb(ip1jmp1, psol, p3d, alpha, beta, pks, pk, workvar)
    220 !      WRITE(*,*) 'PK:', pk(10,20,:)
    221       !
    222       !
    223       !
    224       prefkap =  preff  ** kappa
    225 !      WRITE(*,*) 'unskap, cpp,  preff :', unskap, cpp,  preff
    226       DO l = 1, llm
    227         DO j=1,jjp1
    228           DO i =1, iip1
    229             pls(i,j,l) = preff * ( pk(i,j,l)/cpp) ** unskap
    230            ENDDO
    231         ENDDO
    232       ENDDO
    233       !
    234 !      WRITE(*,*) 'PLS :', pls(10,20,:)
    235       !
    236       varname = 'surfgeo'
    237       phis(:,:) = 0.0
    238       CALL startget(varname, iip1, jjp1, rlonv, rlatu, phis, 0.0 ,
    239      , jjm ,rlonu,rlatv, interbar )
    240       !
    241       varname = 'u'
    242       uvent(:,:,:) = 0.0
    243       CALL startget(varname, iip1, jjp1, rlonu, rlatu, llm, pls,
    244      . workvar, uvent, 0.0, jjm ,rlonv, rlatv, interbar )
    245       ! 
    246       varname = 'v'
    247       vvent(:,:,:) = 0.0
    248       CALL startget(varname, iip1, jjm, rlonv, rlatv, llm, pls,
    249      . workvar, vvent, 0.0, jjp1, rlonu, rlatu, interbar )
    250       !
    251       varname = 't'
    252       t3d(:,:,:) = 0.0
    253       CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
    254      . workvar, t3d, 0.0 , jjm, rlonu, rlatv , interbar )
    255       !
    256       WRITE(*,*) 'T3D min,max:',minval(t3d(:,:,:)),
    257      .                          maxval(t3d(:,:,:))
    258       varname = 'tpot'
    259       tpot(:,:,:) = 0.0
    260       CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
    261      . pk, tpot, 0.0 , jjm, rlonu, rlatv , interbar )
    262       !
    263       WRITE(*,*) 'T3D min,max:',minval(t3d(:,:,:)),
    264      .                          maxval(t3d(:,:,:))
    265       WRITE(*,*) 'PLS min,max:',minval(pls(:,:,:)),
    266      .                          maxval(pls(:,:,:))
    267       DO l = 1, llm
    268         DO j=1,jjp1
    269           DO i =1, iip1-1
    270            qsat(i,j,l) = q_sat(t3d(i,j,l),pls(i,j,l)/100. )
    271           ENDDO
    272           qsat(iip1,j,l) = qsat(1,j,l)
    273         ENDDO
    274       ENDDO
    275       WRITE(*,*) 'QSAT min,max:',minval(qsat(:,:,:)),
    276      .                           maxval(qsat(:,:,:))
    277       !
    278       WRITE(*,*) 'QSAT :', qsat(10,20,:)
    279       !
    280       varname = 'q'
    281       qd(:,:,:) = 0.0
    282       q3d(:,:,:,:) = 0.0
    283       WRITE(*,*) 'QSAT min,max:',minval(qsat(:,:,:)),
    284      .                           maxval(qsat(:,:,:))
    285       CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
    286      . qsat, qd, 0.0, jjm, rlonu, rlatv , interbar )
    287       q3d(:,:,:,1) = qd(:,:,:)
    288       !
    289       varname = 'tsol'
    290       ! This line needs to be replaced by a call to restget to get the values in the restart file
    291       tsol(:) = 0.0
    292       CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, tsol, 0.0,
    293      .    jjm, rlonu, rlatv , interbar )
    294       !
    295       WRITE(*,*) 'TSOL construit :'
    296 !      WRITE(*,'(48I3)') INT(TSOL(2:klon)-273)
    297       !
    298       varname = 'qsol'
    299       qsol(:) = 0.0
    300       CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, qsol, 0.0,
    301      .   jjm, rlonu, rlatv , interbar )
    302       !
    303       varname = 'snow'
    304       sn(:) = 0.0
    305       CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, sn, 0.0,
    306      .    jjm, rlonu, rlatv , interbar )
    307       !
    308       varname = 'rads'
    309       radsol(:) = 0.0
    310       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,radsol,0.0,
    311      .    jjm, rlonu, rlatv , interbar )
    312       !
    313       varname = 'deltat'
    314       deltat(:) = 0.0
    315       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,deltat,0.0,
    316      .     jjm, rlonu, rlatv , interbar )
    317       !
    318       varname = 'rugmer'
    319       rugmer(:) = 0.0
    320       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,rugmer,0.0,
    321      .     jjm, rlonu, rlatv , interbar )
    322       !
    323 !      varname = 'agesno'
    324 !      agesno(:) = 0.0
    325 !      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,agesno,0.0,
    326 !     .     jjm, rlonu, rlatv , interbar )
    327 
    328       varname = 'zmea'
    329       zmea(:) = 0.0
    330       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmea,0.0,
    331      .     jjm, rlonu, rlatv , interbar )
    332 
    333       varname = 'zstd'
    334       zstd(:) = 0.0
    335       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zstd,0.0,
    336      .     jjm, rlonu, rlatv , interbar )
    337       varname = 'zsig'
    338       zsig(:) = 0.0
    339       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zsig,0.0,
    340      .     jjm, rlonu, rlatv , interbar )
    341       varname = 'zgam'
    342       zgam(:) = 0.0
    343       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zgam,0.0,
    344      .     jjm, rlonu, rlatv , interbar )
    345       varname = 'zthe'
    346       zthe(:) = 0.0
    347       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zthe,0.0,
    348      .     jjm, rlonu, rlatv , interbar )
    349       varname = 'zpic'
    350       zpic(:) = 0.0
    351       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zpic,0.0,
    352      .     jjm, rlonu, rlatv , interbar )
    353       varname = 'zval'
    354       zval(:) = 0.0
    355       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zval,0.0,
    356      .     jjm, rlonu, rlatv , interbar )
    357 c
    358       rugsrel(:) = 0.0
    359       IF(ok_orodr)  THEN
    360         DO i = 1, iip1* jjp1
    361          rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. )
    362         ENDDO
    363       ENDIF
     162
     163
    364164C
    365165C En cas de simulation couplee, lecture du masque ocean issu du modele ocean
    366166C utilise pour calculer les poids et pour assurer l'adequation entre les
    367 C fractions d'ocean vu par l'atmosphere et l'ocean
     167C fractions d'ocean vu par l'atmosphere et l'ocean. Sinon, on cree le masque
     168C a partir du fichier relief
    368169C
    369170
     
    373174        write(*,*)'ATTENTION!! pas de fichier o2a.nc trouve'
    374175        write(*,*)'Run force'
     176        varname = 'masque'
     177        masque(:,:) = 0.0
     178        CALL startget(varname, iip1, jjp1, rlonv, rlatu, masque, 0.0,
     179     ,  jjm ,rlonu,rlatv , interbar )
     180        WRITE(*,*) 'MASQUE construit : Masque'
     181        WRITE(*,'(97I1)') nINT(masque(:,:))
     182        call gr_dyn_fi(1, iip1, jjp1, klon, masque, zmasq)
     183        WHERE (zmasq(1 : klon) .LT. EPSFRA)
     184            zmasq(1 : klon) = 0.
     185        END WHERE
     186        WHERE (1. - zmasq(1 : klon) .LT. EPSFRA)
     187            zmasq(1 : klon) = 1.
     188        END WHERE
    375189      else
    376190        couple = .true.
     
    406220C passage masque ocean a la grille physique
    407221C
    408 
    409222        write(*,*)'ocemask '
    410223        write(*,'(96i1)')int(ocemask)
     
    417230        ocemask_fi(klon) = ocemask(1,jjp1)
    418231        zmasq = 1. - ocemask_fi
    419         isst = 0
    420         where (ocemask_fi(2:klon-1) >0.) isst = 1
    421232      endif
     233
     234      call gr_fi_dyn(1, klon, iip1, jjp1, zmasq, masque)
     235
     236      varname = 'relief'
     237      ! This line needs to be replaced by a call to restget to get the values in the restart file
     238      orog(:,:) = 0.0
     239       CALL startget(varname, iip1, jjp1, rlonv, rlatu, orog, 0.0 ,
     240     , jjm ,rlonu,rlatv , interbar, masque )
     241      !
     242      WRITE(*,*) 'OUT OF GET VARIABLE : Relief'
     243!      WRITE(*,'(49I1)') INT(orog(:,:))
     244      !
     245      varname = 'rugosite'
     246      ! This line needs to be replaced by a call to restget to get the values in the restart file
     247      rugo(:,:) = 0.0
     248       CALL startget(varname, iip1, jjp1, rlonv, rlatu, rugo, 0.0 ,
     249     , jjm, rlonu,rlatv , interbar )
     250      !
     251      WRITE(*,*) 'OUT OF GET VARIABLE : Rugosite'
     252!      WRITE(*,'(49I1)') INT(rugo(:,:)*10)
     253      !
     254C
     255C on initialise les sous surfaces
     256C
     257      pctsrf=0.
     258c
     259      varname = 'psol'
     260      psol(:,:) = 0.0
     261      CALL startget(varname, iip1, jjp1, rlonv, rlatu, psol, 0.0 ,
     262     , jjm ,rlonu,rlatv , interbar )
     263      !
     264      !  Compute here the pressure on the intermediate levels. One would expect that this is available in the GCM
     265      !  anyway.
     266      !
     267!      WRITE(*,*) 'PSOL :', psol(10,20)
     268!      WRITE(*,*) ap(:), bp(:)
     269      CALL pression(ip1jmp1, ap, bp, psol, p3d)
     270!      WRITE(*,*) 'P3D :', p3d(10,20,:)
     271      CALL exner_hyb(ip1jmp1, psol, p3d, alpha, beta, pks, pk, workvar)
     272!      WRITE(*,*) 'PK:', pk(10,20,:)
     273      !
     274      !
     275      !
     276      prefkap =  preff  ** kappa
     277!      WRITE(*,*) 'unskap, cpp,  preff :', unskap, cpp,  preff
     278      DO l = 1, llm
     279        DO j=1,jjp1
     280          DO i =1, iip1
     281            pls(i,j,l) = preff * ( pk(i,j,l)/cpp) ** unskap
     282           ENDDO
     283        ENDDO
     284      ENDDO
     285      !
     286!      WRITE(*,*) 'PLS :', pls(10,20,:)
     287      !
     288      varname = 'surfgeo'
     289      phis(:,:) = 0.0
     290      CALL startget(varname, iip1, jjp1, rlonv, rlatu, phis, 0.0 ,
     291     , jjm ,rlonu,rlatv, interbar )
     292      !
     293      varname = 'u'
     294      uvent(:,:,:) = 0.0
     295      CALL startget(varname, iip1, jjp1, rlonu, rlatu, llm, pls,
     296     . workvar, uvent, 0.0, jjm ,rlonv, rlatv, interbar )
     297      ! 
     298      varname = 'v'
     299      vvent(:,:,:) = 0.0
     300      CALL startget(varname, iip1, jjm, rlonv, rlatv, llm, pls,
     301     . workvar, vvent, 0.0, jjp1, rlonu, rlatu, interbar )
     302      !
     303      varname = 't'
     304      t3d(:,:,:) = 0.0
     305      CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
     306     . workvar, t3d, 0.0 , jjm, rlonu, rlatv , interbar )
     307      !
     308      WRITE(*,*) 'T3D min,max:',minval(t3d(:,:,:)),
     309     .                          maxval(t3d(:,:,:))
     310      varname = 'tpot'
     311      tpot(:,:,:) = 0.0
     312      CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
     313     . pk, tpot, 0.0 , jjm, rlonu, rlatv , interbar )
     314      !
     315      WRITE(*,*) 'T3D min,max:',minval(t3d(:,:,:)),
     316     .                          maxval(t3d(:,:,:))
     317      WRITE(*,*) 'PLS min,max:',minval(pls(:,:,:)),
     318     .                          maxval(pls(:,:,:))
     319      DO l = 1, llm
     320        DO j=1,jjp1
     321          DO i =1, iip1-1
     322           qsat(i,j,l) = q_sat(t3d(i,j,l),pls(i,j,l)/100. )
     323          ENDDO
     324          qsat(iip1,j,l) = qsat(1,j,l)
     325        ENDDO
     326      ENDDO
     327      WRITE(*,*) 'QSAT min,max:',minval(qsat(:,:,:)),
     328     .                           maxval(qsat(:,:,:))
     329      !
     330      WRITE(*,*) 'QSAT :', qsat(10,20,:)
     331      !
     332      varname = 'q'
     333      qd(:,:,:) = 0.0
     334      q3d(:,:,:,:) = 0.0
     335      WRITE(*,*) 'QSAT min,max:',minval(qsat(:,:,:)),
     336     .                           maxval(qsat(:,:,:))
     337      CALL startget(varname, iip1, jjp1, rlonv, rlatu, llm, pls,
     338     . qsat, qd, 0.0, jjm, rlonu, rlatv , interbar )
     339      q3d(:,:,:,1) = qd(:,:,:)
     340      !
     341      varname = 'tsol'
     342      ! This line needs to be replaced by a call to restget to get the values in the restart file
     343      tsol(:) = 0.0
     344      CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, tsol, 0.0,
     345     .    jjm, rlonu, rlatv , interbar )
     346      !
     347      WRITE(*,*) 'TSOL construit :'
     348!      WRITE(*,'(48I3)') INT(TSOL(2:klon)-273)
     349      !
     350      varname = 'qsol'
     351      qsol(:) = 0.0
     352      CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, qsol, 0.0,
     353     .   jjm, rlonu, rlatv , interbar )
     354      !
     355      varname = 'snow'
     356      sn(:) = 0.0
     357      CALL startget(varname, iip1, jjp1, rlonv, rlatu, klon, sn, 0.0,
     358     .    jjm, rlonu, rlatv , interbar )
     359      !
     360      varname = 'rads'
     361      radsol(:) = 0.0
     362      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,radsol,0.0,
     363     .    jjm, rlonu, rlatv , interbar )
     364      !
     365      varname = 'deltat'
     366      deltat(:) = 0.0
     367      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,deltat,0.0,
     368     .     jjm, rlonu, rlatv , interbar )
     369      !
     370      varname = 'rugmer'
     371      rugmer(:) = 0.0
     372      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,rugmer,0.0,
     373     .     jjm, rlonu, rlatv , interbar )
     374      !
     375!      varname = 'agesno'
     376!      agesno(:) = 0.0
     377!      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,agesno,0.0,
     378!     .     jjm, rlonu, rlatv , interbar )
     379
     380      varname = 'zmea'
     381      zmea(:) = 0.0
     382      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmea,0.0,
     383     .     jjm, rlonu, rlatv , interbar )
     384
     385      varname = 'zstd'
     386      zstd(:) = 0.0
     387      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zstd,0.0,
     388     .     jjm, rlonu, rlatv , interbar )
     389      varname = 'zsig'
     390      zsig(:) = 0.0
     391      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zsig,0.0,
     392     .     jjm, rlonu, rlatv , interbar )
     393      varname = 'zgam'
     394      zgam(:) = 0.0
     395      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zgam,0.0,
     396     .     jjm, rlonu, rlatv , interbar )
     397      varname = 'zthe'
     398      zthe(:) = 0.0
     399      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zthe,0.0,
     400     .     jjm, rlonu, rlatv , interbar )
     401      varname = 'zpic'
     402      zpic(:) = 0.0
     403      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zpic,0.0,
     404     .     jjm, rlonu, rlatv , interbar )
     405      varname = 'zval'
     406      zval(:) = 0.0
     407      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zval,0.0,
     408     .     jjm, rlonu, rlatv , interbar )
     409c
     410      rugsrel(:) = 0.0
     411      IF(ok_orodr)  THEN
     412        DO i = 1, iip1* jjp1
     413         rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. )
     414        ENDDO
     415      ENDIF
    422416
    423417
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/grid_noro.F

    r369 r370  
    1 
     1c
     2c $Header$
     3c
    24      SUBROUTINE grid_noro(imdep, jmdep, xdata, ydata, zdata,
    35     .             imar, jmar, x, y,
     
    8284c
    8385      REAL a(2200),b(2200),c(1100),d(1100)
     86      logical masque_lu
    8487c
    8588      print *,' parametres de l orographie a l echelle sous maille'
     
    8790      rad    = 6 371 229.
    8891      zdeltay=2.*xpi/float(jusn)*rad
     92c
     93c utilise-t'on un masque lu?
     94c
     95      masque_lu = .true.
     96      if (maxval(mask) == -99999 .and. minval(mask) == -99999) then
     97        masque_lu= .false.
     98        masque = 0.0
     99      endif
     100      write(*,*)'Masque lu', masque_lu
    89101c
    90102c  quelques tests de dimensions:
     
    263275c$$$             mask(ii,jj)=0
    264276c$$$           ENDIF
    265              mask(ii,jj) = num_lan(ii,jj)/num_tot(ii,jj)
     277             if (.not. masque_lu) then
     278               mask(ii,jj) = num_lan(ii,jj)/num_tot(ii,jj)
     279             endif
    266280c  Mean Orography:
    267281           zmea (ii,jj)=zmea (ii,jj)/weight(ii,jj)
     
    357371       ENDDO
    358372       ENDDO
    359 
    360373      print *,'  MEAN ORO:',zllmmea
    361374      print *,'  ST. DEV.:',zllmstd
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/startvar.F

    r359 r370  
    7272    !
    7373      SUBROUTINE startget_phys2d(varname, iml, jml, lon_in, lat_in,
    74      . champ, val_exp, jml2, lon_in2, lat_in2 , interbar )
     74     . champ, val_exp, jml2, lon_in2, lat_in2 , interbar, masque_lu )
    7575    !
    7676    !    There is a big mess with the size in logitude, should it be iml or iml+1.
     
    8686      REAL, INTENT(inout) :: champ(iml,jml)
    8787      REAL, INTENT(in) :: val_exp
     88      REAL, INTENT(in), optional :: masque_lu(iml,jml)
    8889      LOGICAL interbar
    8990    !
     
    101102                  IF ( .NOT.ALLOCATED(relief)) THEN
    102103                      !
     104                    if (present(masque_lu)) then
    103105                      CALL start_init_orog( iml, jml, lon_in, lat_in,
    104      .                    jml2,lon_in2,lat_in2, interbar )
     106     .                    jml2,lon_in2,lat_in2, interbar, masque_lu )
     107                    else
     108                      CALL start_init_orog( iml, jml, lon_in, lat_in,
     109     .                    jml2,lon_in2,lat_in2, interbar)
     110                    endif
    105111                      !
    106112                  ENDIF
     
    241247    !
    242248      SUBROUTINE start_init_orog ( iml,jml,lon_in, lat_in,jml2,lon_in2 ,
    243      ,   lat_in2 , interbar )
     249     ,   lat_in2 , interbar, masque_lu )
    244250    !
    245251      INTEGER, INTENT(in) :: iml, jml, jml2
    246252      REAL, INTENT(in) :: lon_in(iml), lat_in(jml)
    247253      REAL, INTENT(in) :: lon_in2(iml), lat_in2(jml2)
     254      REAL, intent(in), optional :: masque_lu(iml,jml)
    248255      LOGICAL interbar
    249256    !
     
    339346      ALLOCATE(tmp_int(iml,jml))
    340347      ALLOCATE(masque(iml,jml))
     348
     349      masque = -99999.
     350      if (present(masque_lu)) then
     351        masque = masque_lu
     352      endif
    341353    !
    342354      CALL grid_noro(iml_rel, jml_rel, lon_rad, lat_rad, relief_hi,
Note: See TracChangeset for help on using the changeset viewer.