Ignore:
Timestamp:
Aug 17, 2006, 5:41:51 PM (18 years ago)
Author:
Laurent Fairhead
Message:

Inclusion des modifs de Y. Meurdesoif pour la version V3
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/V3_test/libf/phylmd/soil.F

    r703 r704  
    44      SUBROUTINE soil(ptimestep, indice, knon, snow, ptsrf, ptsoil,
    55     s          pcapcal, pfluxgrd)
     6      use dimphy
    67      IMPLICIT NONE
    78
     
    4950c   -------------
    5051
    51 #include "dimensions.h"
     52cym#include "dimensions.h"
    5253#include "YOMCST.h"
    53 #include "dimphy.h"
     54cym#include "dimphy.h"
    5455#include "dimsoil.h"
    5556#include "indicesol.h"
     
    6970
    7071      INTEGER ig,jk
    71 c$$$      REAL zdz2(nsoilmx),z1(klon)
     72c@$$      REAL zdz2(nsoilmx),z1(klon)
    7273      REAL zdz2(nsoilmx),z1(klon,nbsrf)
    73       REAL min_period,dalph_soil
     74      REAL,SAVE :: min_period,dalph_soil
    7475      REAL ztherm_i(klon)
    7576
     
    7778c   ----------------------
    7879      REAL dz1(nsoilmx),dz2(nsoilmx)
    79 c$$$          REAL zc(klon,nsoilmx),zd(klon,nsoilmx)
    80       REAL zc(klon,nsoilmx,nbsrf),zd(klon,nsoilmx,nbsrf)
     80c@$$          REAL zc(klon,nsoilmx),zd(klon,nsoilmx)
     81cym      REAL zc(klon,nsoilmx,nbsrf),zd(klon,nsoilmx,nbsrf)
     82      REAL,ALLOCATABLE,SAVE ::  zc(:,:,:),zd(:,:,:)
     83c$OMP THREADPRIVATE(zc,zd)
    8184      REAL lambda
    82       SAVE dz1,dz2,zc,zd,lambda
     85cym      SAVE dz1,dz2,zc,zd,lambda
     86      SAVE dz1,dz2,lambda
     87c$OMP THREADPRIVATE(dz1,dz2,lambda)
    8388      LOGICAL firstcall, firstsurf(nbsrf)
    8489      SAVE firstcall, firstsurf
     90c$OMP THREADPRIVATE(firstcall, firstsurf)
    8591      REAL isol,isno,iice
    8692      SAVE isol,isno,iice
    87 
     93c$OMP THREADPRIVATE(isol,isno,iice)
    8894      DATA firstcall/.true./
    8995      DATA firstsurf/.TRUE.,.TRUE.,.TRUE.,.TRUE./
    9096
    9197      DATA isol,isno,iice/2000.,2000.,2000./
    92 
     98      LOGICAL,SAVE :: First=.true.
     99c$OMP THREADPRIVATE(First)
    93100c-----------------------------------------------------------------------
    94101c   Depthts:
     
    103110c   on corrige si on a un point de terre avec ou sans glace
    104111c
     112      IF (first) THEN
     113        allocate(zc(klon,nsoilmx,nbsrf),zd(klon,nsoilmx,nbsrf))
     114        first=.false.
     115      ENDIF
     116     
    105117      IF (indice.EQ.is_sic) THEN
    106118         DO ig = 1, knon
     
    128140
    129141
    130 c$$$      IF (firstcall) THEN
     142c@$$      IF (firstcall) THEN
    131143      IF (firstsurf(indice)) THEN
    132144
     
    138150         min_period=1800. ! en secondes
    139151         dalph_soil=2.    ! rapport entre les epaisseurs de 2 couches succ.
    140 
     152c$OMP MASTER
    141153         OPEN(99,file='soil.def',status='old',form='formatted',err=9999)
    142154         READ(99,*) min_period
     
    147159         CLOSE(99)
    1481609999     CONTINUE
     161c$OMP END MASTER
     162c$OMP BARRIER
    149163
    150164c   la premiere couche represente un dixieme de cycle diurne
     
    172186C PB
    173187         firstsurf(indice) = .FALSE.
    174 c$$$         firstcall =.false.
     188c@$$         firstcall =.false.
    175189
    176190c   Initialisations:
     
    202216c   ---------------------------------------------------------------
    203217
    204 c$$$  PB ajout pour cas glace de mer
     218c@$$  PB ajout pour cas glace de mer
    205219      IF (indice .EQ. is_sic) THEN
    206220          DO ig = 1 , knon
Note: See TracChangeset for help on using the changeset viewer.