Ignore:
Timestamp:
Jul 5, 2000, 4:58:04 PM (24 years ago)
Author:
lmdzadmin
Message:

Interface avec les differentes surface, version de travail.LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/phyredem.F

    r79 r98  
    11      SUBROUTINE phyredem (fichnom,dtime,radpas,co2_ppm,solaire,
    2      .           rlat,rlon,tsol,tsoil,deltat,qsol,snow,
     2     .           rlat,rlon, pctsrf,tsol,tsoil,deltat,qsol,snow,
     3     .           albedo, evap, rain_fall, snow_fall,
     4     .           solsw, sollw,
    35     .           radsol,rugmer,agesno,
    46     .           zmea,zstd,zsig,zgam,zthe,zpic,zval,rugsrel,
     
    2931      REAL qsol(klon,nbsrf)
    3032      REAL snow(klon,nbsrf)
     33      REAL albedo(klon,nbsrf)
     34      REAL evap(klon,nbsrf)
     35      REAL rain_fall(klon)
     36      REAL snow_fall(klon)
     37      real solsw(klon)
     38      real sollw(klon)
    3139      REAL radsol(klon)
    3240      REAL rugmer(klon)
     
    4048      REAL zval(klon)
    4149      REAL rugsrel(klon)
     50      REAL pctsrf(klon, nbsrf)
    4251      REAL t_ancien(klon,klev), q_ancien(klon,klev)
    4352c
     
    134143#endif
    135144c
     145C PB ajout du masque terre/mer
     146C
     147      ierr = NF_REDEF (nid)
     148#ifdef NC_DOUBLE
     149      ierr = NF_DEF_VAR (nid, "masque", NF_DOUBLE, 1, idim2,nvarid)
     150#else
     151      ierr = NF_DEF_VAR (nid, "masque", NF_FLOAT, 1, idim2,nvarid)
     152#endif
     153      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 16,
     154     .                        "masque terre mer")
     155      ierr = NF_ENDDEF(nid)
     156#ifdef NC_DOUBLE
     157      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zmasq)
     158#else
     159      ierr = NF_PUT_VAR_REAL (nid,nvarid,zmasq)
     160#endif     
     161c BP ajout des fraction de chaque sous-surface
     162C
     163C 1. fraction de terre
     164C
     165      ierr = NF_REDEF (nid)
     166#ifdef NC_DOUBLE
     167      ierr = NF_DEF_VAR (nid, "FTER", NF_DOUBLE, 1, idim2,nvarid)
     168#else
     169      ierr = NF_DEF_VAR (nid, "FTER", NF_FLOAT, 1, idim2,nvarid)
     170#endif
     171      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,
     172     .                        "fraction de continent")
     173      ierr = NF_ENDDEF(nid)
     174#ifdef NC_DOUBLE
     175      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon, is_ter))
     176#else
     177      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_ter))
     178#endif
     179C
     180C 2. Fraction de glace de terre
     181C
     182      ierr = NF_REDEF (nid)
     183#ifdef NC_DOUBLE
     184      ierr = NF_DEF_VAR (nid, "FLIC", NF_DOUBLE, 1, idim2,nvarid)
     185#else
     186      ierr = NF_DEF_VAR (nid, "FLIC", NF_FLOAT, 1, idim2,nvarid)
     187#endif
     188      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 24,
     189     .                        "fraction glace de terre")
     190      ierr = NF_ENDDEF(nid)
     191#ifdef NC_DOUBLE
     192      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon,is_lic))
     193#else
     194      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_lic))
     195#endif
     196C
     197C 3. fraction ocean
     198C
     199      ierr = NF_REDEF (nid)
     200#ifdef NC_DOUBLE
     201      ierr = NF_DEF_VAR (nid, "FOCE", NF_DOUBLE, 1, idim2,nvarid)
     202#else
     203      ierr = NF_DEF_VAR (nid, "FOCE", NF_FLOAT, 1, idim2,nvarid)
     204#endif
     205      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14,
     206     .                        "fraction ocean")
     207      ierr = NF_ENDDEF(nid)
     208#ifdef NC_DOUBLE
     209      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon, is_oce))
     210#else
     211      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_oce))
     212#endif
     213C
     214C 4. Fraction glace de mer
     215C
     216      ierr = NF_REDEF (nid)
     217#ifdef NC_DOUBLE
     218      ierr = NF_DEF_VAR (nid, "FSIC", NF_DOUBLE, 1, idim2,nvarid)
     219#else
     220      ierr = NF_DEF_VAR (nid, "FSIC", NF_FLOAT, 1, idim2,nvarid)
     221#endif
     222      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 18,
     223     .                        "fraction glace mer")
     224      ierr = NF_ENDDEF(nid)
     225#ifdef NC_DOUBLE
     226      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon, is_sic))
     227#else
     228      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_sic))
     229#endif
     230C
     231C
    136232c
    137233      DO nsrf = 1, nbsrf
     
    227323        ierr = NF_REDEF (nid)
    228324#ifdef NC_DOUBLE
     325        ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_DOUBLE,1,idim2,nvarid)
     326#else
     327        ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_FLOAT,1,idim2,nvarid)
     328#endif
     329        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23,
     330     .                        "albedo de surface No."//str2)
     331        ierr = NF_ENDDEF(nid)
     332        ELSE
     333        PRINT*, "Trop de sous-mailles"
     334        CALL abort
     335        ENDIF
     336#ifdef NC_DOUBLE
     337      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,albedo(1,nsrf))
     338#else
     339      ierr = NF_PUT_VAR_REAL (nid,nvarid,albedo(1,nsrf))
     340#endif
     341      ENDDO
     342c
     343      DO nsrf = 1, nbsrf
     344        IF (nsrf.LE.99) THEN
     345        WRITE(str2,'(i2.2)') nsrf
     346        ierr = NF_REDEF (nid)
     347#ifdef NC_DOUBLE
     348        ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_DOUBLE,1,idim2,nvarid)
     349#else
     350        ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_FLOAT,1,idim2,nvarid)
     351#endif
     352        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
     353     .                        "Evaporation de surface No."//str2)
     354        ierr = NF_ENDDEF(nid)
     355        ELSE
     356        PRINT*, "Trop de sous-mailles"
     357        CALL abort
     358        ENDIF
     359#ifdef NC_DOUBLE
     360      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,evap(1,nsrf))
     361#else
     362      ierr = NF_PUT_VAR_REAL (nid,nvarid,evap(1,nsrf))
     363#endif
     364      ENDDO
     365
     366c
     367      DO nsrf = 1, nbsrf
     368        IF (nsrf.LE.99) THEN
     369        WRITE(str2,'(i2.2)') nsrf
     370        ierr = NF_REDEF (nid)
     371#ifdef NC_DOUBLE
    229372        ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_DOUBLE,1,idim2,nvarid)
    230373#else
     
    244387#endif
    245388      ENDDO
     389
    246390c
    247391      ierr = NF_REDEF (nid)
     
    262406      ierr = NF_REDEF (nid)
    263407#ifdef NC_DOUBLE
     408      ierr = NF_DEF_VAR (nid, "solsw", NF_DOUBLE, 1, idim2,nvarid)
     409#else
     410      ierr = NF_DEF_VAR (nid, "solsw", NF_FLOAT, 1, idim2,nvarid)
     411#endif
     412      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32,
     413     .                        "Rayonnement solaire a la surface")
     414      ierr = NF_ENDDEF(nid)
     415#ifdef NC_DOUBLE
     416      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,solsw)
     417#else
     418      ierr = NF_PUT_VAR_REAL (nid,nvarid,solsw)
     419#endif
     420c
     421      ierr = NF_REDEF (nid)
     422#ifdef NC_DOUBLE
     423      ierr = NF_DEF_VAR (nid, "sollw", NF_DOUBLE, 1, idim2,nvarid)
     424#else
     425      ierr = NF_DEF_VAR (nid, "sollw", NF_FLOAT, 1, idim2,nvarid)
     426#endif
     427      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 27,
     428     .                        "Rayonnement IF a la surface")
     429      ierr = NF_ENDDEF(nid)
     430#ifdef NC_DOUBLE
     431      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,sollw)
     432#else
     433      ierr = NF_PUT_VAR_REAL (nid,nvarid,sollw)
     434#endif
     435c
     436      ierr = NF_REDEF (nid)
     437#ifdef NC_DOUBLE
     438      ierr = NF_DEF_VAR (nid, "rain_f", NF_DOUBLE, 1, idim2,nvarid)
     439#else
     440      ierr = NF_DEF_VAR (nid, "rain_f", NF_FLOAT, 1, idim2,nvarid)
     441#endif
     442      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,
     443     .                        "precipitation liquide")
     444      ierr = NF_ENDDEF(nid)
     445#ifdef NC_DOUBLE
     446      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,rain_fall)
     447#else
     448      ierr = NF_PUT_VAR_REAL (nid,nvarid,rain_fall)
     449#endif
     450c
     451      ierr = NF_REDEF (nid)
     452#ifdef NC_DOUBLE
     453      ierr = NF_DEF_VAR (nid, "snow_f", NF_DOUBLE, 1, idim2,nvarid)
     454#else
     455      ierr = NF_DEF_VAR (nid, "snow_f", NF_FLOAT, 1, idim2,nvarid)
     456#endif
     457      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 20,
     458     .                        "precipitation solide")
     459      ierr = NF_ENDDEF(nid)
     460#ifdef NC_DOUBLE
     461      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,snow_fall)
     462#else
     463      ierr = NF_PUT_VAR_REAL (nid,nvarid,snow_fall)
     464#endif
     465c
     466      ierr = NF_REDEF (nid)
     467#ifdef NC_DOUBLE
    264468      ierr = NF_DEF_VAR (nid, "RUGMER", NF_DOUBLE, 1, idim2,nvarid)
    265469#else
Note: See TracChangeset for help on using the changeset viewer.