Changeset 179


Ignore:
Timestamp:
Mar 20, 2001, 4:14:30 PM (23 years ago)
Author:
lmdzadmin
Message:

Synchronisation avec version MAFO:

ajout sortie netcdf des champs echanges avec le coupleur
quelques save sur les variables (pb stack/static sur le nec)

LF

Location:
LMDZ.3.3/branches/rel-LF
Files:
9 edited

Legend:

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

    r79 r179  
     1c $Header$
     2c
    13      SUBROUTINE dynredem0(fichnom,idayref,anneeref,phis,nq)
    24      USE IOIPSL
     
    132134c
    133135      ierr = NF_REDEF (nid)
    134 #ifdef NC_DOUBLE
    135       ierr = NF_DEF_VAR (nid,"controle",NF_DOUBLE,1,idim_index,nvarid)
    136 #else
    137136      ierr = NF_DEF_VAR (nid,"controle",NF_FLOAT,1,idim_index,nvarid)
    138 #endif
    139137      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22,
    140138     .                       "Parametres de controle")
     
    147145c
    148146      ierr = NF_REDEF (nid)
    149 #ifdef NC_DOUBLE
    150       ierr = NF_DEF_VAR (nid,"rlonu",NF_DOUBLE,1,idim_rlonu,nvarid)
    151 #else
    152147      ierr = NF_DEF_VAR (nid,"rlonu",NF_FLOAT,1,idim_rlonu,nvarid)
    153 #endif
    154148      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 23,
    155149     .                       "Longitudes des points U")
     
    162156c
    163157      ierr = NF_REDEF (nid)
    164 #ifdef NC_DOUBLE
    165       ierr = NF_DEF_VAR (nid,"rlatu",NF_DOUBLE,1,idim_rlatu,nvarid)
    166 #else
    167158      ierr = NF_DEF_VAR (nid,"rlatu",NF_FLOAT,1,idim_rlatu,nvarid)
    168 #endif
    169159      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22,
    170160     .                       "Latitudes des points U")
     
    177167c
    178168      ierr = NF_REDEF (nid)
    179 #ifdef NC_DOUBLE
    180       ierr = NF_DEF_VAR (nid,"rlonv",NF_DOUBLE,1,idim_rlonv,nvarid)
    181 #else
    182169      ierr = NF_DEF_VAR (nid,"rlonv",NF_FLOAT,1,idim_rlonv,nvarid)
    183 #endif
    184170      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 23,
    185171     .                       "Longitudes des points V")
     
    192178c
    193179      ierr = NF_REDEF (nid)
    194 #ifdef NC_DOUBLE
    195       ierr = NF_DEF_VAR (nid,"rlatv",NF_DOUBLE,1,idim_rlatv,nvarid)
    196 #else
    197180      ierr = NF_DEF_VAR (nid,"rlatv",NF_FLOAT,1,idim_rlatv,nvarid)
    198 #endif
    199181      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22,
    200182     .                       "Latitudes des points V")
     
    207189c
    208190      ierr = NF_REDEF (nid)
    209 #ifdef NC_DOUBLE
    210       ierr = NF_DEF_VAR (nid,"nivsigs",NF_DOUBLE,1,idim_s,nvarid)
    211 #else
    212191      ierr = NF_DEF_VAR (nid,"nivsigs",NF_FLOAT,1,idim_s,nvarid)
    213 #endif
    214192      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 28,
    215193     .                       "Numero naturel des couches s")
     
    222200c
    223201      ierr = NF_REDEF (nid)
    224 #ifdef NC_DOUBLE
    225       ierr = NF_DEF_VAR (nid,"nivsig",NF_DOUBLE,1,idim_sig,nvarid)
    226 #else
    227202      ierr = NF_DEF_VAR (nid,"nivsig",NF_FLOAT,1,idim_sig,nvarid)
    228 #endif
    229203      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 32,
    230204     .                       "Numero naturel des couches sigma")
     
    237211c
    238212      ierr = NF_REDEF (nid)
    239 #ifdef NC_DOUBLE
    240       ierr = NF_DEF_VAR (nid,"ap",NF_DOUBLE,1,idim_sig,nvarid)
    241 #else
    242213      ierr = NF_DEF_VAR (nid,"ap",NF_FLOAT,1,idim_sig,nvarid)
    243 #endif
    244214      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 26,
    245215     .                       "Coefficient A pour hybride")
     
    252222c
    253223      ierr = NF_REDEF (nid)
    254 #ifdef NC_DOUBLE
    255       ierr = NF_DEF_VAR (nid,"bp",NF_DOUBLE,1,idim_sig,nvarid)
    256 #else
    257224      ierr = NF_DEF_VAR (nid,"bp",NF_FLOAT,1,idim_sig,nvarid)
    258 #endif
    259225      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 26,
    260226     .                       "Coefficient B pour hybride")
     
    267233c
    268234      ierr = NF_REDEF (nid)
    269 #ifdef NC_DOUBLE
    270       ierr = NF_DEF_VAR (nid,"presnivs",NF_DOUBLE,1,idim_s,nvarid)
    271 #else
    272235      ierr = NF_DEF_VAR (nid,"presnivs",NF_FLOAT,1,idim_s,nvarid)
    273 #endif
    274236      ierr = NF_ENDDEF(nid)
    275237#ifdef NC_DOUBLE
     
    284246      dims2(1) = idim_rlonu
    285247      dims2(2) = idim_rlatu
    286 #ifdef NC_DOUBLE
    287       ierr = NF_DEF_VAR (nid,"cu",NF_DOUBLE,2,dims2,nvarid)
    288 #else
    289248      ierr = NF_DEF_VAR (nid,"cu",NF_FLOAT,2,dims2,nvarid)
    290 #endif
    291249      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 29,
    292250     .                       "Coefficient de passage pour U")
     
    301259      dims2(1) = idim_rlonv
    302260      dims2(2) = idim_rlatv
    303 #ifdef NC_DOUBLE
    304       ierr = NF_DEF_VAR (nid,"cv",NF_DOUBLE,2,dims2,nvarid)
    305 #else
    306261      ierr = NF_DEF_VAR (nid,"cv",NF_FLOAT,2,dims2,nvarid)
    307 #endif
    308262      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 29,
    309263     .                       "Coefficient de passage pour V")
     
    320274      dims2(1) = idim_rlonv
    321275      dims2(2) = idim_rlatu
    322 #ifdef NC_DOUBLE
    323       ierr = NF_DEF_VAR (nid,"aire",NF_DOUBLE,2,dims2,nvarid)
    324 #else
    325276      ierr = NF_DEF_VAR (nid,"aire",NF_FLOAT,2,dims2,nvarid)
    326 #endif
    327277      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22,
    328278     .                       "Aires de chaque maille")
     
    339289      dims2(1) = idim_rlonv
    340290      dims2(2) = idim_rlatu
    341 #ifdef NC_DOUBLE
    342       ierr = NF_DEF_VAR (nid,"phisinit",NF_DOUBLE,2,dims2,nvarid)
    343 #else
    344291      ierr = NF_DEF_VAR (nid,"phisinit",NF_FLOAT,2,dims2,nvarid)
    345 #endif
    346292      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 19,
    347293     .                       "Geopotentiel au sol")
     
    357303      ierr = NF_REDEF (nid) ! entrer dans le mode de definition
    358304c
    359 #ifdef NC_DOUBLE
    360       ierr = NF_DEF_VAR (nid,"temps",NF_DOUBLE,1,idim_tim,nvarid)
    361 #else
    362305      ierr = NF_DEF_VAR (nid,"temps",NF_FLOAT,1,idim_tim,nvarid)
    363 #endif
    364306      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 19,
    365307     .                       "Temps de simulation")
     
    374316      dims4(3) = idim_s
    375317      dims4(4) = idim_tim
    376 #ifdef NC_DOUBLE
    377       ierr = NF_DEF_VAR (nid,"ucov",NF_DOUBLE,4,dims4,nvarid)
    378 #else
    379318      ierr = NF_DEF_VAR (nid,"ucov",NF_FLOAT,4,dims4,nvarid)
    380 #endif
    381319      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 9,
    382320     .                       "Vitesse U")
     
    386324      dims4(3) = idim_s
    387325      dims4(4) = idim_tim
    388 #ifdef NC_DOUBLE
    389       ierr = NF_DEF_VAR (nid,"vcov",NF_DOUBLE,4,dims4,nvarid)
    390 #else
    391326      ierr = NF_DEF_VAR (nid,"vcov",NF_FLOAT,4,dims4,nvarid)
    392 #endif
    393327      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 9,
    394328     .                       "Vitesse V")
     
    398332      dims4(3) = idim_s
    399333      dims4(4) = idim_tim
    400 #ifdef NC_DOUBLE
    401       ierr = NF_DEF_VAR (nid,"teta",NF_DOUBLE,4,dims4,nvarid)
    402 #else
    403334      ierr = NF_DEF_VAR (nid,"teta",NF_FLOAT,4,dims4,nvarid)
    404 #endif
    405335      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 11,
    406336     .                       "Temperature")
     
    418348         str3(1:1)='q'
    419349         WRITE(str3(2:3),'(i2.2)') iq
    420 #ifdef NC_DOUBLE
    421          ierr = NF_DEF_VAR (nid,str3,NF_DOUBLE,4,dims4,nvarid)
    422 #else
    423350         ierr = NF_DEF_VAR (nid,str3,NF_FLOAT,4,dims4,nvarid)
    424 #endif
    425351      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 12,
    426352     .                       "Traceurs "//str3)
     
    433359      dims4(3) = idim_s
    434360      dims4(4) = idim_tim
    435 #ifdef NC_DOUBLE
    436       ierr = NF_DEF_VAR (nid,"masse",NF_DOUBLE,4,dims4,nvarid)
    437 #else
    438361      ierr = NF_DEF_VAR (nid,"masse",NF_FLOAT,4,dims4,nvarid)
    439 #endif
    440362      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 12,
    441363     .                       "C est quoi ?")
     
    444366      dims3(2) = idim_rlatu
    445367      dims3(3) = idim_tim
    446 #ifdef NC_DOUBLE
    447       ierr = NF_DEF_VAR (nid,"ps",NF_DOUBLE,3,dims3,nvarid)
    448 #else
    449368      ierr = NF_DEF_VAR (nid,"ps",NF_FLOAT,3,dims3,nvarid)
    450 #endif
    451369      ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 15,
    452370     .                       "Pression au sol")
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/temps.h

    r99 r179  
     1! $Header$
     2!
    13!-----------------------------------------------------------------------
    24! INCLUDE 'temps.h'
    35
    4       COMMON/temps/itaufin,dt,
    5      s  day_ini,day_end,anne_ini
     6      COMMON/temps/itaufin,dt, day_ini,day_end,anne_ini
    67
    78      INTEGER  itaufin
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/inc_cpl.h

    r98 r179  
    1 C
    2 C -- inc_cpl.h   1998-04
    3 C    **********
    4 C@
    5 C@  Contents : variables describing pipe and field names
    6 C@  --------
    7 C@
    8 C@ -- cl_write  : for fields to write
    9 C@
    10 C@ -- cl_read  : for fields to read
    11 C@
    12 C     -------------------------------------------------------------------
    13 C
     1!
     2! $Header$
     3!
     4! -- inc_cpl.h   1998-04
     5!    **********
     6!@
     7!@  Contents : variables describing pipe and field names
     8!@  --------
     9!@
     10!@ -- cl_write  : for fields to write
     11!@
     12!@ -- cl_read  : for fields to read
     13!@
     14!     -------------------------------------------------------------------
     15!
    1416      INTEGER jpread, jpwrit
    1517      PARAMETER (jpread=0, jpwrit=1)
     
    1719      CHARACTER*6 cl_f_writ(jpmaxfld), cl_f_read(jpmaxfld)
    1820      COMMON / comcpl / cl_writ, cl_read, cl_f_writ, cl_f_read
    19 C     -------------------------------------------------------------------
     21!     -------------------------------------------------------------------
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90

    r177 r179  
    178178
    179179! Local
    180   character (len = 20) :: modname = 'interfsurf_hq'
     180  character (len = 20),save :: modname = 'interfsurf_hq'
    181181  character (len = 80) :: abort_message
    182182  logical, save        :: first_call = .true.
    183   INTEGER              :: error, ii
    184   logical              :: check = .true.
     183  integer, save        :: error
     184  integer              :: ii
     185  logical,save              :: check = .true.
    185186  real, dimension(klon):: cal, beta, dif_grnd, capsol
    186187!!$PB  real, parameter      :: calice=1.0/(5.1444e+06*0.15), tau_gl=86400.*5.
     
    687688  character (len = 20) :: modname = 'interfsol'
    688689  character (len = 80) :: abort_message
    689   logical              :: check = .true.
     690  logical,save              :: check = .TRUE.
    690691  real, dimension(klon) :: cal, beta, dif_grnd, capsol
    691692! type de couplage dans sechiba
     
    712713  real, allocatable, dimension (:,:), save :: lon_scat, lat_scat 
    713714
    714   logical                :: lrestart_read = .true. , lrestart_write = .true.
     715  logical, save             :: lrestart_read = .true. , lrestart_write = .true.
    715716
    716717  real, dimension(klon):: qsurf
    717718  real, dimension(klon):: snow, qsol
    718   real                 :: date0 = 0.
     719  real, save                 :: date0 = 0.
    719720  real, dimension(knon,2) :: albedo_out
    720721! Pb de nomenclature
     
    997998  character (len = 20) :: modname = 'interfoce_cpl'
    998999  character (len = 80) :: abort_message
    999   logical              :: check = .true.
     1000  logical,save              :: check = .true.
    10001001! variables pour moyenner les variables de couplage
    10011002  real, allocatable, dimension(:,:),save :: cpl_sols, cpl_nsol, cpl_rain
     
    10311032  real, dimension(iim, jjm+1) :: deno
    10321033  integer                     :: idtime
    1033   integer, allocatable, dimension(:,:) :: isst
    1034   integer, allocatable,save,dimension(:) :: unity
     1034  integer, allocatable,dimension(:),save :: unity
    10351035!
    10361036  logical, save    :: first_appel = .true.
    1037   logical          :: print
    1038 
     1037  logical,save          :: print
     1038!maf
     1039! variables pour avoir une sortie IOIPSL des champs echanges
     1040  CHARACTER*80,SAVE :: clintocplnam, clfromcplnam
     1041  INTEGER, SAVE :: jf,nhoridct,nidct
     1042  INTEGER, SAVE :: nhoridcs,nidcs
     1043  INTEGER :: ndexct(iim*(jjm+1)),ndexcs(iim*(jjm+1))
     1044  REAL :: zx_lon(iim,jjm+1), zx_lat(iim,jjm+1), zjulian
     1045  include 'param_cou.h'
     1046  include 'inc_cpl.h'
     1047  include 'temps.h'
    10391048!
    10401049! Initialisation
     
    10981107    call inicma(npas , nexca, idtime,(jjm+1)*iim)
    10991108
     1109!
     1110! initialisation sorties netcdf
     1111!
     1112    CALL ymds2ju(anne_ini, 1, 1, 0.0, zjulian)
     1113    zjulian = zjulian + day_ini
     1114    CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon)
     1115    DO i = 1, iim
     1116      zx_lon(i,1) = rlon(i+1)
     1117      zx_lon(i,jjm+1) = rlon(i+1)
     1118    ENDDO
     1119    CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat)
     1120    clintocplnam="cpl_atm_tauflx"
     1121    CALL histbeg(clintocplnam, iim,zx_lon,jjm+1,zx_lat,1,iim,1,jjm+1, &
     1122       & 0,zjulian,dtime,nhoridct,nidct)
     1123! no vertical axis
     1124    CALL histdef(nidct, 'tauxe','tauxe', &
     1125         & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)
     1126    CALL histdef(nidct, 'tauyn','tauyn', &
     1127         & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)
     1128    CALL histdef(nidct, 'tmp_lon','tmp_lon', &
     1129         & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)
     1130    CALL histdef(nidct, 'tmp_lat','tmp_lat', &
     1131         & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)
     1132    DO jf=1,jpflda2o1 + jpflda2o2
     1133      CALL histdef(nidct, cl_writ(jf),cl_writ(jf), &
     1134         & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)
     1135    END DO
     1136    CALL histend(nidct)
     1137    CALL histsync(nidct)
     1138
     1139    clfromcplnam="cpl_atm_sst"
     1140    CALL histbeg(clfromcplnam, iim,zx_lon,jjm+1,zx_lat,1,iim,1,jjm+1, &
     1141       & 0,zjulian,dtime,nhoridcs,nidcs)
     1142! no vertical axis
     1143    DO jf=1,jpfldo2a
     1144      CALL histdef(nidcs, cl_read(jf),cl_read(jf), &
     1145         & "-",iim, jjm+1, nhoridcs, 1, 1, 1, -99, 32, "inst", dtime,dtime)
     1146    END DO
     1147    CALL histend(nidcs)
     1148    CALL histsync(nidcs)
     1149
    11001150    first_appel = .false.
    11011151  endif ! fin if (first_appel)
     
    11091159  if (nisurf == is_sic) cpl_index = 2
    11101160  if (cumul) then
     1161    if (check) write(*,*) modname, 'cumul des champs'
    11111162    do ig = 1, knon
    1112       if (check) write(*,*) modname, 'cumul des champs'
    11131163      cpl_sols(ig,cpl_index) = cpl_sols(ig,cpl_index) &
    11141164       &                          + swdown(ig)      / FLOAT(nexca)
     
    11411191  if (mod(itime, nexca) == 1) then
    11421192!
    1143 ! Passage des champs au coupleur
     1193! Demande des champs au coupleur
    11441194!
    11451195! Si le domaine considere est l'ocean, on lit les champs venant du coupleur
     
    11491199      call fromcpl(itime-1,(jjm+1)*iim,                                  &
    11501200     &        read_sst, read_sic, read_sit, read_alb_sic)
     1201!
     1202! sorties NETCDF des champs recus
     1203!
     1204      ndexcs(:)=0
     1205      CALL histwrite(nidcs,cl_read(1),itime,read_sst,iim*(jjm+1),ndexcs)
     1206      CALL histwrite(nidcs,cl_read(2),itime,read_sic,iim*(jjm+1),ndexcs)
     1207      CALL histwrite(nidcs,cl_read(3),itime,read_sit,iim*(jjm+1),ndexcs)
     1208      CALL histwrite(nidcs,cl_read(4),itime,read_alb_sic,iim*(jjm+1),ndexcs)
     1209      CALL histsync(nidcs)
     1210! pas utile      IF (npas-itime.LT.nexca )CALL histclo(nidcs)
     1211
    11511212      do j = 1, jjm + 1
    11521213        do ig = 1, iim
     
    11821243! Pour rattraper des erreurs d'arrondis
    11831244!
    1184       where (abs(pctsrf_sav(:,is_sic)) .le. epsilon(pctsrf_sav(1,is_sic)))
     1245      where (abs(pctsrf_sav(:,is_sic)) .le. 2.*epsilon(pctsrf_sav(1,is_sic)))
    11851246        pctsrf_sav(:,is_sic) = 0.
    11861247        pctsrf_sav(:,is_oce) = pctsrf(:,is_oce) + pctsrf(:,is_sic)
    11871248      endwhere
    1188       where (abs(pctsrf_sav(:,is_oce)) .le. epsilon(pctsrf_sav(1,is_oce)))
     1249      where (abs(pctsrf_sav(:,is_oce)) .le. 2.*epsilon(pctsrf_sav(1,is_oce)))
    11891250        pctsrf_sav(:,is_sic) = pctsrf(:,is_oce) + pctsrf(:,is_sic)
    11901251        pctsrf_sav(:,is_oce) = 0.
     
    12821343! on passe les coordonnées de la grille
    12831344!
    1284       CALL gath2cpl(rlon(1), tmp_lon(1,1), klon, knon,iim,jjm, knindex)
    1285       CALL gath2cpl(rlat(1), tmp_lat(1,1), klon, knon,iim,jjm, knindex)
     1345
     1346      CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,tmp_lon)
     1347      CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,tmp_lat)
     1348
    12861349      DO i = 1, iim
    12871350        tmp_lon(i,1) = rlon(i+1)
     
    12891352      ENDDO
    12901353!
     1354! sortie netcdf des champs pour le changement de repere
     1355!
     1356      ndexct(:)=0
     1357      CALL histwrite(nidct,'tauxe',itime,wri_taux,iim*(jjm+1),ndexct)
     1358      CALL histwrite(nidct,'tauyn',itime,wri_tauy,iim*(jjm+1),ndexct)
     1359      CALL histwrite(nidct,'tmp_lon',itime,tmp_lon,iim*(jjm+1),ndexct)
     1360      CALL histwrite(nidct,'tmp_lat',itime,tmp_lat,iim*(jjm+1),ndexct)
     1361
     1362!
    12911363! calcul 3 coordonnées du vent
    12921364!
    12931365      CALL atm2geo (iim , jjm + 1, wri_taux, wri_tauy, tmp_lon, tmp_lat, &
    12941366         & wri_tauxx, wri_tauyy, wri_tauzz )
     1367!
     1368! sortie netcdf des champs apres changement de repere et juste avant
     1369! envoi au coupleur
     1370!
     1371      CALL histwrite(nidct,cl_writ(1),itime,wri_sol_ice,iim*(jjm+1),ndexct)
     1372      CALL histwrite(nidct,cl_writ(2),itime,wri_sol_sea,iim*(jjm+1),ndexct)
     1373      CALL histwrite(nidct,cl_writ(3),itime,wri_nsol_ice,iim*(jjm+1),ndexct)
     1374      CALL histwrite(nidct,cl_writ(4),itime,wri_nsol_sea,iim*(jjm+1),ndexct)
     1375      CALL histwrite(nidct,cl_writ(5),itime,wri_fder_ice,iim*(jjm+1),ndexct)
     1376      CALL histwrite(nidct,cl_writ(6),itime,wri_evap_ice,iim*(jjm+1),ndexct)
     1377      CALL histwrite(nidct,cl_writ(7),itime,wri_evap_sea,iim*(jjm+1),ndexct)
     1378      CALL histwrite(nidct,cl_writ(8),itime,wri_rain,iim*(jjm+1),ndexct)
     1379      CALL histwrite(nidct,cl_writ(9),itime,wri_snow,iim*(jjm+1),ndexct)
     1380      CALL histwrite(nidct,cl_writ(10),itime,wri_rcoa,iim*(jjm+1),ndexct)
     1381      CALL histwrite(nidct,cl_writ(11),itime,wri_rriv,iim*(jjm+1),ndexct)
     1382      CALL histwrite(nidct,cl_writ(12),itime,wri_tauxx,iim*(jjm+1),ndexct)
     1383      CALL histwrite(nidct,cl_writ(13),itime,wri_tauyy,iim*(jjm+1),ndexct)
     1384      CALL histwrite(nidct,cl_writ(14),itime,wri_tauzz,iim*(jjm+1),ndexct)
     1385      CALL histwrite(nidct,cl_writ(15),itime,wri_tauxx,iim*(jjm+1),ndexct)
     1386      CALL histwrite(nidct,cl_writ(16),itime,wri_tauyy,iim*(jjm+1),ndexct)
     1387      CALL histwrite(nidct,cl_writ(17),itime,wri_tauzz,iim*(jjm+1),ndexct)
     1388      CALL histsync(nidct)
     1389! pas utile      IF (lafin) CALL histclo(nidct)
    12951390
    12961391      call intocpl(itime, (jjm+1)*iim, wri_sol_ice, wri_sol_sea, wri_nsol_ice,&
     
    14131508  character (len = 20) :: modname = 'interfoce_lim'
    14141509  character (len = 80) :: abort_message
    1415   character (len = 20) :: fich ='limit.nc'
    1416   LOGICAL     :: newlmt = .TRUE.
    1417   logical     :: check = .true.
     1510  character (len = 20),save :: fich ='limit.nc'
     1511  logical, save     :: newlmt = .TRUE.
     1512  logical, save     :: check = .true.
    14181513! Champs lus dans le fichier de CL
    14191514  real, allocatable , save, dimension(:) :: sst_lu, rug_lu, nat_lu
     
    16561751  character (len = 20) :: modname = 'interfsur_lim'
    16571752  character (len = 80) :: abort_message
    1658   character (len = 20) :: fich ='limit.nc'
    1659   logical     :: newlmt = .false.
    1660   logical     :: check = .true.
     1753  character (len = 20),save :: fich ='limit.nc'
     1754  logical,save     :: newlmt = .false.
     1755  logical,save     :: check = .true.
    16611756! Champs lus dans le fichier de CL
    16621757  real, allocatable , save, dimension(:) :: alb_lu, rug_lu
     
    16651760!
    16661761#include "netcdf.inc"
    1667   integer              :: nid, nvarid
    1668   integer, dimension(2) :: start, epais
     1762  integer ,save             :: nid, nvarid
     1763  integer, dimension(2),save :: start, epais
    16691764!
    16701765! Fin déclaration
     
    17471842! Recopie des variables dans les champs de sortie
    17481843!
     1844  lmt_alb(:) = 0.0
     1845  lmt_rug(:) = 0.0
    17491846  DO ii = 1, knon
    17501847    lmt_alb(ii) = alb_lu(knindex(ii))
     
    18321929  REAL, parameter :: chasno = 3.334E+05/(2.3867E+06*0.15)
    18331930!
    1834   logical         :: check = .true.
     1931  logical, save         :: check = .true.
    18351932  character (len = 20)  :: modname = 'calcul_fluxs'
    1836   logical         :: fonte_neige = .false.
    1837   real            :: max_eau_sol = 150.0
     1933  logical, save         :: fonte_neige = .false.
     1934  real, save            :: max_eau_sol = 150.0
    18381935  character (len = 80) :: abort_message
    1839   logical,save         :: first = .t.,second=.f.
     1936  logical,save         :: first = .true.,second=.false.
    18401937
    18411938  if (check) write(*,*)'Entree ', modname,' surface = ',nisurf
     
    20962193  integer                   :: i, ig, j
    20972194  real, dimension(klon)     :: tamp
    2098   logical                   :: check = .false.
     2195  logical ,save                  :: check = .false.
    20992196
    21002197  ig = 1
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/oasis.true

    r177 r179  
    199199            CALL CLIM_Define (cl_read(jf), clim_in , clim_double, iparal
    200200     $          , info ) 
     201            WRITE(nuout,*) 'inicma : clim define done for ',jf
     202     $          ,cl_read(jf)
    201203          END DO
    202204c
     
    206208            CALL CLIM_Define (cl_writ(jf), clim_out , clim_double,
    207209     $          iparal, info )   
     210            WRITE(nuout,*) 'inicma : clim define done for ',jf
     211     $          ,cl_writ(jf)
    208212          END DO
    209213c
     
    410414            IF (jf.eq.1)
    411415     $          CALL locwrite(cl_writ(jf),fsolice, imjm,
    412      $          file_unit_field(jf), ierror, nuout)
     416     $          file_unit_field(jf), ierror)
    413417            IF (jf.eq.2)
    414418     $          CALL locwrite(cl_writ(jf),fsolwat, imjm,
    415      $          file_unit_field(jf), ierror, nuout)
     419     $          file_unit_field(jf), ierror)
    416420            IF (jf.eq.3)
    417421     $          CALL locwrite(cl_writ(jf),fnsolice, imjm,
    418      $          file_unit_field(jf), ierror, nuout)
     422     $          file_unit_field(jf), ierror)
    419423            IF (jf.eq.4)
    420424     $          CALL locwrite(cl_writ(jf),fnsolwat, imjm,
    421      $          file_unit_field(jf), ierror, nuout)
     425     $          file_unit_field(jf), ierror)
    422426            IF (jf.eq.5)
    423427     $          CALL locwrite(cl_writ(jf),fnsicedt, imjm,
    424      $          file_unit_field(jf), ierror, nuout)
     428     $          file_unit_field(jf), ierror)
    425429c            IF (jf.eq.6)
    426430c     $          CALL locwrite(cl_writ(jf),ictemp, imjm,
    427 c     $          file_unit_field(jf), ierror, nuout)
     431c     $          file_unit_field(jf), ierror)
    428432            IF (jf.eq.6)
    429433     $          CALL locwrite(cl_writ(jf),evice, imjm,
    430      $          file_unit_field(jf), ierror, nuout)
     434     $          file_unit_field(jf), ierror)
    431435            IF (jf.eq.7)
    432436     $          CALL locwrite(cl_writ(jf),evwat, imjm,
    433      $          file_unit_field(jf), ierror, nuout)
     437     $          file_unit_field(jf), ierror)
    434438            IF (jf.eq.8)
    435439     $          CALL locwrite(cl_writ(jf),lpre, imjm,
    436      $          file_unit_field(jf), ierror, nuout)
     440     $          file_unit_field(jf), ierror)
    437441            IF (jf.eq.9)
    438442     $          CALL locwrite(cl_writ(jf),spre, imjm,
    439      $          file_unit_field(jf), ierror, nuout)
     443     $          file_unit_field(jf), ierror)
    440444            IF (jf.eq.10)
    441445     $          CALL locwrite(cl_writ(jf),dirunoff, imjm,
    442      $          file_unit_field(jf), ierror, nuout)
     446     $          file_unit_field(jf), ierror)
    443447            IF (jf.eq.11)
    444448     $          CALL locwrite(cl_writ(jf),rivrunoff, imjm,
    445      $          file_unit_field(jf), ierror, nuout)
     449     $          file_unit_field(jf), ierror)
    446450c$$$            IF (jf.eq.12)
    447451c$$$     $          CALL locwrite(cl_writ(jf),tauxu, imjm,
    448 c$$$     $          file_unit_field(jf),ierror, nuout)
     452c$$$     $          file_unit_field(jf),ierror)
    449453c$$$            IF (jf.eq.13)
    450454c$$$     $          CALL locwrite(cl_writ(jf),tauxv, imjm,
    451 c$$$     $          file_unit_field(jf),ierror, nuout)
     455c$$$     $          file_unit_field(jf),ierror)
    452456c$$$            IF (jf.eq.14)
    453457c$$$     $          CALL locwrite(cl_writ(jf),tauyv, imjm,
    454 c$$$     $          file_unit_field(jf),ierror, nuout)
     458c$$$     $          file_unit_field(jf),ierror)
    455459c$$$            IF (jf.eq.15)
    456460c$$$     $          CALL locwrite(cl_writ(jf),tauyu, imjm,
    457 c$$$     $          file_unit_field(jf), ierror, nuout)
     461c$$$     $          file_unit_field(jf), ierror)
    458462            IF (jf.eq.12)
    459463     $          CALL locwrite(cl_writ(jf),tauxx_u, imjm,
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/param_cou.h

    r109 r179  
    1 C $Id$
    2 C
    3 C -- param_cou.h
    4 C
     1! $Id$
     2!
     3! -- param_cou.h
     4!
    55        INTEGER jpmaxfld
    66        PARAMETER(jpmaxfld = 40)        ! Maximum number of fields exchanged
     
    1010                                         ! atmosphere to ocean via flx.F
    1111        INTEGER jpflda2o2
    12         PARAMETER(jpflda2o2 = 4)         ! Number of fields exchanged from
     12        PARAMETER(jpflda2o2 = 6)         ! Number of fields exchanged from
    1313                                         ! atmosphere to ocean via tau.F
    14 C
     14!
    1515        INTEGER jpfldo2a
    1616        PARAMETER(jpfldo2a = 4)          ! Number of fields exchanged from
    1717                                         ! ocean to atmosphere
    18 C
     18!
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/phyredem.F

    r177 r179  
     1c $Header$
     2c
    13      SUBROUTINE phyredem (fichnom,dtime,radpas,co2_ppm,solaire,
    24     .           rlat,rlon, pctsrf,tsol,tsoil,deltat,qsol,snow,
     
    100102c
    101103      ierr = NF_REDEF (nid)
    102 #ifdef NC_DOUBLE
    103       ierr = NF_DEF_VAR (nid, "controle", NF_DOUBLE, 1, idim1,nvarid)
    104 #else
    105104      ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1, idim1,nvarid)
    106 #endif
    107105      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22,
    108106     .                        "Parametres de controle")
     
    115113c
    116114      ierr = NF_REDEF (nid)
    117 #ifdef NC_DOUBLE
    118       ierr = NF_DEF_VAR (nid, "longitude", NF_DOUBLE, 1, idim2,nvarid)
    119 #else
    120115      ierr = NF_DEF_VAR (nid, "longitude", NF_FLOAT, 1, idim2,nvarid)
    121 #endif
    122116      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32,
    123117     .                        "Longitudes de la grille physique")
     
    130124c
    131125      ierr = NF_REDEF (nid)
    132 #ifdef NC_DOUBLE
    133       ierr = NF_DEF_VAR (nid, "latitude", NF_DOUBLE, 1, idim2,nvarid)
    134 #else
    135126      ierr = NF_DEF_VAR (nid, "latitude", NF_FLOAT, 1, idim2,nvarid)
    136 #endif
    137127      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 31,
    138128     .                        "Latitudes de la grille physique")
     
    147137C
    148138      ierr = NF_REDEF (nid)
    149 #ifdef NC_DOUBLE
    150       ierr = NF_DEF_VAR (nid, "masque", NF_DOUBLE, 1, idim2,nvarid)
    151 #else
    152139      ierr = NF_DEF_VAR (nid, "masque", NF_FLOAT, 1, idim2,nvarid)
    153 #endif
    154140      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 16,
    155141     .                        "masque terre mer")
     
    165151C
    166152      ierr = NF_REDEF (nid)
    167 #ifdef NC_DOUBLE
    168       ierr = NF_DEF_VAR (nid, "FTER", NF_DOUBLE, 1, idim2,nvarid)
    169 #else
    170153      ierr = NF_DEF_VAR (nid, "FTER", NF_FLOAT, 1, idim2,nvarid)
    171 #endif
    172154      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,
    173155     .                        "fraction de continent")
     
    182164C
    183165      ierr = NF_REDEF (nid)
    184 #ifdef NC_DOUBLE
    185       ierr = NF_DEF_VAR (nid, "FLIC", NF_DOUBLE, 1, idim2,nvarid)
    186 #else
    187166      ierr = NF_DEF_VAR (nid, "FLIC", NF_FLOAT, 1, idim2,nvarid)
    188 #endif
    189167      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 24,
    190168     .                        "fraction glace de terre")
     
    199177C
    200178      ierr = NF_REDEF (nid)
    201 #ifdef NC_DOUBLE
    202       ierr = NF_DEF_VAR (nid, "FOCE", NF_DOUBLE, 1, idim2,nvarid)
    203 #else
    204179      ierr = NF_DEF_VAR (nid, "FOCE", NF_FLOAT, 1, idim2,nvarid)
    205 #endif
    206180      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14,
    207181     .                        "fraction ocean")
     
    216190C
    217191      ierr = NF_REDEF (nid)
    218 #ifdef NC_DOUBLE
    219       ierr = NF_DEF_VAR (nid, "FSIC", NF_DOUBLE, 1, idim2,nvarid)
    220 #else
    221192      ierr = NF_DEF_VAR (nid, "FSIC", NF_FLOAT, 1, idim2,nvarid)
    222 #endif
    223193      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 18,
    224194     .                        "fraction glace mer")
     
    236206        WRITE(str2,'(i2.2)') nsrf
    237207        ierr = NF_REDEF (nid)
    238 #ifdef NC_DOUBLE
    239         ierr = NF_DEF_VAR (nid, "TS"//str2, NF_DOUBLE, 1, idim2,nvarid)
    240 #else
    241208        ierr = NF_DEF_VAR (nid, "TS"//str2, NF_FLOAT, 1, idim2,nvarid)
    242 #endif
    243209        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
    244210     .                        "Temperature de surface No."//str2)
     
    260226        WRITE(str7,'(i2.2,"srf",i2.2)') isoil,nsrf
    261227        ierr = NF_REDEF (nid)
    262 #ifdef NC_DOUBLE
    263         ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_DOUBLE,1,idim2,nvarid)
    264 #else
    265228        ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_FLOAT,1,idim2,nvarid)
    266 #endif
    267229        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 29,
    268230     .                        "Temperature du sol No."//str7)
     
    282244c
    283245      ierr = NF_REDEF (nid)
    284 #ifdef NC_DOUBLE
    285       ierr = NF_DEF_VAR (nid, "DELTAT", NF_DOUBLE, 1, idim2,nvarid)
    286 #else
    287246      ierr = NF_DEF_VAR (nid, "DELTAT", NF_FLOAT, 1, idim2,nvarid)
    288 #endif
    289247      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 33,
    290248     .                        "Ecart de la SST (pour slab-ocean)")
     
    300258        WRITE(str2,'(i2.2)') nsrf
    301259        ierr = NF_REDEF (nid)
    302 #ifdef NC_DOUBLE
    303         ierr = NF_DEF_VAR (nid,"QS"//str2,NF_DOUBLE,1,idim2,nvarid)
    304 #else
    305260        ierr = NF_DEF_VAR (nid,"QS"//str2,NF_FLOAT,1,idim2,nvarid)
    306 #endif
    307261        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 25,
    308262     .                        "Humidite de surface No."//str2)
     
    323277        WRITE(str2,'(i2.2)') nsrf
    324278        ierr = NF_REDEF (nid)
    325 #ifdef NC_DOUBLE
    326         ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_DOUBLE,1,idim2,nvarid)
    327 #else
    328279        ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_FLOAT,1,idim2,nvarid)
    329 #endif
    330280        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23,
    331281     .                        "albedo de surface No."//str2)
     
    346296        WRITE(str2,'(i2.2)') nsrf
    347297        ierr = NF_REDEF (nid)
    348 #ifdef NC_DOUBLE
    349         ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_DOUBLE,1,idim2,nvarid)
    350 #else
    351298        ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_FLOAT,1,idim2,nvarid)
    352 #endif
    353299        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
    354300     .                        "Evaporation de surface No."//str2)
     
    370316        WRITE(str2,'(i2.2)') nsrf
    371317        ierr = NF_REDEF (nid)
    372 #ifdef NC_DOUBLE
    373         ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_DOUBLE,1,idim2,nvarid)
    374 #else
    375318        ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_FLOAT,1,idim2,nvarid)
    376 #endif
    377319        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22,
    378320     .                        "Neige de surface No."//str2)
     
    391333c
    392334      ierr = NF_REDEF (nid)
    393 #ifdef NC_DOUBLE
    394       ierr = NF_DEF_VAR (nid, "RADS", NF_DOUBLE, 1, idim2,nvarid)
    395 #else
    396335      ierr = NF_DEF_VAR (nid, "RADS", NF_FLOAT, 1, idim2,nvarid)
    397 #endif
    398336      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
    399337     .                        "Rayonnement net a la surface")
     
    406344c
    407345      ierr = NF_REDEF (nid)
    408 #ifdef NC_DOUBLE
    409       ierr = NF_DEF_VAR (nid, "solsw", NF_DOUBLE, 1, idim2,nvarid)
    410 #else
    411346      ierr = NF_DEF_VAR (nid, "solsw", NF_FLOAT, 1, idim2,nvarid)
    412 #endif
    413347      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32,
    414348     .                        "Rayonnement solaire a la surface")
     
    421355c
    422356      ierr = NF_REDEF (nid)
    423 #ifdef NC_DOUBLE
    424       ierr = NF_DEF_VAR (nid, "sollw", NF_DOUBLE, 1, idim2,nvarid)
    425 #else
    426357      ierr = NF_DEF_VAR (nid, "sollw", NF_FLOAT, 1, idim2,nvarid)
    427 #endif
    428358      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 27,
    429359     .                        "Rayonnement IF a la surface")
     
    436366c
    437367      ierr = NF_REDEF (nid)
    438 #ifdef NC_DOUBLE
    439       ierr = NF_DEF_VAR (nid, "fder", NF_DOUBLE, 1, idim2,nvarid)
    440 #else
    441368      ierr = NF_DEF_VAR (nid, "fder", NF_FLOAT, 1, idim2,nvarid)
    442 #endif
    443369      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14,
    444370     .                        "Derive de flux")
     
    451377c
    452378      ierr = NF_REDEF (nid)
    453 #ifdef NC_DOUBLE
    454       ierr = NF_DEF_VAR (nid, "rain_f", NF_DOUBLE, 1, idim2,nvarid)
    455 #else
    456379      ierr = NF_DEF_VAR (nid, "rain_f", NF_FLOAT, 1, idim2,nvarid)
    457 #endif
    458380      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,
    459381     .                        "precipitation liquide")
     
    466388c
    467389      ierr = NF_REDEF (nid)
    468 #ifdef NC_DOUBLE
    469       ierr = NF_DEF_VAR (nid, "snow_f", NF_DOUBLE, 1, idim2,nvarid)
    470 #else
    471390      ierr = NF_DEF_VAR (nid, "snow_f", NF_FLOAT, 1, idim2,nvarid)
    472 #endif
    473391      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 20,
    474392     .                        "precipitation solide")
     
    484402        WRITE(str2,'(i2.2)') nsrf
    485403        ierr = NF_REDEF (nid)
    486 #ifdef NC_DOUBLE
    487         ierr = NF_DEF_VAR (nid,"RUG"//str2,NF_DOUBLE,1,idim2,nvarid)
    488 #else
    489404        ierr = NF_DEF_VAR (nid,"RUG"//str2,NF_FLOAT,1,idim2,nvarid)
    490 #endif
    491405        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23,
    492406     .                        "rugosite de surface No."//str2)
     
    504418c
    505419      ierr = NF_REDEF (nid)
    506 #ifdef NC_DOUBLE
    507       ierr = NF_DEF_VAR (nid, "AGESNO", NF_DOUBLE, 1, idim2,nvarid)
    508 #else
    509420      ierr = NF_DEF_VAR (nid, "AGESNO", NF_FLOAT, 1, idim2,nvarid)
    510 #endif
    511421      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15,
    512422     .                        "Age de la neige")
     
    519429c
    520430      ierr = NF_REDEF (nid)
    521 #ifdef NC_DOUBLE
    522       ierr = NF_DEF_VAR (nid, "ZMEA", NF_DOUBLE, 1, idim2,nvarid)
    523 #else
    524431      ierr = NF_DEF_VAR (nid, "ZMEA", NF_FLOAT, 1, idim2,nvarid)
    525 #endif
    526432      ierr = NF_ENDDEF(nid)
    527433#ifdef NC_DOUBLE
     
    532438c
    533439      ierr = NF_REDEF (nid)
    534 #ifdef NC_DOUBLE
    535       ierr = NF_DEF_VAR (nid, "ZSTD", NF_DOUBLE, 1, idim2,nvarid)
    536 #else
    537440      ierr = NF_DEF_VAR (nid, "ZSTD", NF_FLOAT, 1, idim2,nvarid)
    538 #endif
    539441      ierr = NF_ENDDEF(nid)
    540442#ifdef NC_DOUBLE
     
    545447c
    546448      ierr = NF_REDEF (nid)
    547 #ifdef NC_DOUBLE
    548       ierr = NF_DEF_VAR (nid, "ZSIG", NF_DOUBLE, 1, idim2,nvarid)
    549 #else
    550449      ierr = NF_DEF_VAR (nid, "ZSIG", NF_FLOAT, 1, idim2,nvarid)
    551 #endif
    552450      ierr = NF_ENDDEF(nid)
    553451#ifdef NC_DOUBLE
     
    558456c
    559457      ierr = NF_REDEF (nid)
    560 #ifdef NC_DOUBLE
    561       ierr = NF_DEF_VAR (nid, "ZGAM", NF_DOUBLE, 1, idim2,nvarid)
    562 #else
    563458      ierr = NF_DEF_VAR (nid, "ZGAM", NF_FLOAT, 1, idim2,nvarid)
    564 #endif
    565459      ierr = NF_ENDDEF(nid)
    566460#ifdef NC_DOUBLE
     
    571465c
    572466      ierr = NF_REDEF (nid)
    573 #ifdef NC_DOUBLE
    574       ierr = NF_DEF_VAR (nid, "ZTHE", NF_DOUBLE, 1, idim2,nvarid)
    575 #else
    576467      ierr = NF_DEF_VAR (nid, "ZTHE", NF_FLOAT, 1, idim2,nvarid)
    577 #endif
    578468      ierr = NF_ENDDEF(nid)
    579469#ifdef NC_DOUBLE
     
    584474c
    585475      ierr = NF_REDEF (nid)
    586 #ifdef NC_DOUBLE
    587       ierr = NF_DEF_VAR (nid, "ZPIC", NF_DOUBLE, 1, idim2,nvarid)
    588 #else
    589476      ierr = NF_DEF_VAR (nid, "ZPIC", NF_FLOAT, 1, idim2,nvarid)
    590 #endif
    591477      ierr = NF_ENDDEF(nid)
    592478#ifdef NC_DOUBLE
     
    597483c
    598484      ierr = NF_REDEF (nid)
    599 #ifdef NC_DOUBLE
    600       ierr = NF_DEF_VAR (nid, "ZVAL", NF_DOUBLE, 1, idim2,nvarid)
    601 #else
    602485      ierr = NF_DEF_VAR (nid, "ZVAL", NF_FLOAT, 1, idim2,nvarid)
    603 #endif
    604486      ierr = NF_ENDDEF(nid)
    605487#ifdef NC_DOUBLE
     
    610492c
    611493      ierr = NF_REDEF (nid)
    612 #ifdef NC_DOUBLE
    613       ierr = NF_DEF_VAR (nid, "RUGSREL", NF_DOUBLE, 1, idim2,nvarid)
    614 #else
    615494      ierr = NF_DEF_VAR (nid, "RUGSREL", NF_FLOAT, 1, idim2,nvarid)
    616 #endif
    617495      ierr = NF_ENDDEF(nid)
    618496#ifdef NC_DOUBLE
     
    623501c
    624502      ierr = NF_REDEF (nid)
    625 #ifdef NC_DOUBLE
    626       ierr = NF_DEF_VAR (nid, "TANCIEN", NF_DOUBLE, 1, idim3,nvarid)
    627 #else
    628503      ierr = NF_DEF_VAR (nid, "TANCIEN", NF_FLOAT, 1, idim3,nvarid)
    629 #endif
    630504      ierr = NF_ENDDEF(nid)
    631505#ifdef NC_DOUBLE
     
    636510c
    637511      ierr = NF_REDEF (nid)
    638 #ifdef NC_DOUBLE
    639       ierr = NF_DEF_VAR (nid, "QANCIEN", NF_DOUBLE, 1, idim3,nvarid)
    640 #else
    641512      ierr = NF_DEF_VAR (nid, "QANCIEN", NF_FLOAT, 1, idim3,nvarid)
    642 #endif
    643513      ierr = NF_ENDDEF(nid)
    644514#ifdef NC_DOUBLE
     
    649519c
    650520      ierr = NF_REDEF (nid)
    651 #ifdef NC_DOUBLE
    652       ierr = NF_DEF_VAR (nid, "RUGMER", NF_DOUBLE, 1, idim2,nvarid)
    653 #else
    654521      ierr = NF_DEF_VAR (nid, "RUGMER", NF_FLOAT, 1, idim2,nvarid)
    655 #endif
    656522      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
    657523     .                        "Longueur de rugosite sur mer")
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F

    r178 r179  
     1c
     2c $Header$
     3c
    14      SUBROUTINE physiq (nlon,nlev,nqmax  ,
    25     .            debut,lafin,rjourvrai,rjour_ecri,gmtime,pdtphys,
     
    7174c Parametres lies au coupleur OASIS:
    7275#include "oasis.h"
    73       INTEGER npas, nexca
     76      INTEGER,SAVE :: npas, nexca
    7477      logical rnpb
    7578      parameter(rnpb=.true.)
  • LMDZ.3.3/branches/rel-LF/makegcm

    r177 r179  
    2929  setenv LIBOGCM "`pwd`/lib"
    3030  setenv IOIPSLDIR $LIBOGCM
     31  setenv MODIPSLDIR $LIBOGCM
    3132  cd $localdir
    3233  if ( `hostname` == rhodes ) then
     
    4142    endif
    4243  endif
    43   \cp libf/phylmd/oasis.F libf/phylmd/oasis.dummy
    44   \cp libf/phylmd/oasis.true libf/phylmd/oasis.F
     44# si modipsl c'est couple??? et LMDZ+SECHIBA alors
     45  \cp -p libf/phylmd/oasis.F libf/phylmd/oasis.dummy
     46  \cp -p libf/phylmd/oasis.true libf/phylmd/oasis.F
    4547else
    4648  if ( ! $?LMDGCM ) then
     
    5658    echo for instance: "setenv IOIPSLDIR /usr/myself/ioipsl" in .cshrc
    5759    exit
     60  else
     61      setenv MODIPSLDIR $IOIPSLDIR
    5862  endif
    5963  if ( ! $?NCDFLIB ) then
     
    172176   set optim90=" -fast -fixed "
    173177   set optimtru90=" -fast -free "
    174    set opt_link="-lf77compat -L$modipsl/lib -lsechiba -lparameters -lstomate -L$IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf "
     178   set opt_link="-lf77compat -L$MODIPSLDIR -lsechiba -lparameters -lstomate -lioipsl -L$NCDFLIB -lnetcdf "
    175179   set mod_loc_dir=$localdir
    176180   set mod_suffix=mod
     
    187191   set optim90="$optim $optimbis -X9 -w"
    188192   if $COUPLE then
    189      set opt_link="-Wg,-c $IOIPSLDIR/liboasis2.4_mpi2.a /usr/lang/mpi2/lib64/libmpi.a /usr/lang/mpi2/lib64/libmp.a /usr/local/lib/lib64/libnetcdf_cc.a -L$IOIPSLDIR -lioipsl"
     193     set opt_link="-Wg,-c $MODIPSLDIR/liboasis2.4_mpi2.a /usr/lang/mpi2/lib64/libmpi.a /usr/lang/mpi2/lib64/libmp.a /usr/local/lib/lib64/libnetcdf_cc.a -L$MODIPSLDIR -lioipsl"
    190194     set oplink="-Wl,-t,-P,-dy "
    191195   else
    192      set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc.a -L$IOIPSLDIR -lioipsl"
     196     set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc.a -L$MODIPSLDIR -lioipsl"
    193197     set oplink="-Wl,-t,-dy "
    194198   endif
    195    set mod_loc_dir=$IOIPSLDIR
     199   set mod_loc_dir=$MODIPSLDIR
    196200   set mod_suffix=mod
    197201else if $DEC then
     
    201205   set optim="-fast "
    202206   set optim90=" -fast "
    203    set optimtru90=" -fast -c -Mfree -module $IOIPSLDIR "
    204    set opt_link=" -Mfree -L /usr/local/pgi/linux86/lib -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$modipsl/lib -lsechiba -lparameters -lstomate -L$NCDFLIB -lnetcdf -L$IOIPSLDIR -lioipsl -Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2/"
    205    set mod_loc_dir=$IOIPSLDIR
     207   set optimtru90=" -fast -c -Mfree -module $MODIPSLDIR "
     208   set opt_link=" -Mfree -L /usr/local/pgi/linux86/lib -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$MODIPSLDIR -lsechiba -lparameters -lstomate -L$NCDFLIB -lnetcdf -lioipsl -Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2/"
     209   set mod_loc_dir=$MODIPSLDIR
    206210   set mod_suffix=mod
    207211else if $NEC then
     
    210214   set optim="$optim90"
    211215   set optimbis=" "
    212    set opt_link=" -C hopt -float0 -ew -P stack -L$IOIPSLDIR -lioipsl  -L/u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v "
     216   set opt_link=" -C hopt -float0 -ew -P stack -L$MODIPSLDIR -lioipsl  -L/u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v "
    213217   set mod_loc_dir="."
    214218   set mod_suffix="mod"
     
    225229   if $MODIPSL then
    226230     if $COUPLE then
    227        set opt_link="-L$IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -Wl,-f nan, -float0 -ew -P stack -I$NCDFINC $NCDFLIB "
    228        set opt_link="-L$IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P stack -I$NCDFINC $NCDFLIB "
     231       set opt_link="-L$MODIPSLDIR -lsxioipsl -loasis2.4_mpi2 -Wl,-f nan, -float0 -ew -P stack -I$NCDFINC $NCDFLIB "
     232       set opt_link="-L$MODIPSLDIR -lsxsechiba -lsxparameters -lsxstomate -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P stack -I$NCDFINC $NCDFLIB "
    229233#       set opt_link="-L$IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -float0 -ew -eC -P stack -I$NCDFINC $NCDFLIB "
    230234     else
    231        set opt_link="-L$IOIPSLDIR -lsxioipsl -float0 -ew -P stack -I$NCDFINC $NCDFLIB "
     235       set opt_link="-L$MODIPSLDIR -lsxioipsl -float0 -ew -P stack -I$NCDFINC $NCDFLIB "
    232236     endif
    233237     set mod_loc_dir="./"
    234238   else
    235      set opt_link=" -C hopt -float0 -ew -P stack -L$IOIPSLDIR -lioipsl -L /u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v -I$NCDFINC "
     239     set opt_link=" -C hopt -float0 -ew -P stack -L$MODIPSLDIR -lioipsl -L /u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v -I$NCDFINC "
    236240     set mod_loc_dir="."
    237241   endif
     
    719723 \cp $IOIPSLDIR/*.mod $libo
    720724else if $SUN then
    721  set optim90=" $optim90 -M$libo -M$modipsl/lib "
    722  set optimtru90=" $optimtru90 -M$libo -M$modipsl/lib "
     725 set optim90=" $optim90 -M$libo -M$MODIPSLDIR "
     726 set optimtru90=" $optimtru90 -M$libo -M$MODIPSLDIR "
    723727 set optim="$optim90"
    724728 \cp $IOIPSLDIR/*.mod $libo
     
    797801\rm $libf/grid/dimensions.h
    798802if $MODIPSL then
    799   \cp libf/phylmd/oasis.F libf/phylmd/oasis.true
    800   \cp libf/phylmd/oasis.dummy libf/phylmd/oasis.F
    801 endif
     803  \cp -p libf/phylmd/oasis.F libf/phylmd/oasis.true
     804  \cp -p libf/phylmd/oasis.dummy libf/phylmd/oasis.F
     805endif
Note: See TracChangeset for help on using the changeset viewer.