Ignore:
Timestamp:
May 25, 2005, 3:10:09 PM (20 years ago)
Author:
Laurent Fairhead
Message:

Synchronisation avec tous les diagnostiques de Ionela IM
Inclusion du slab ocean IM
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/write_histday.h

    r532 r644  
    1 !
    2 ! $Header$
    3 !
    4       IF (ok_journe) THEN
     1c
     2c $Header$
     3c
     4      if (ok_journe) THEN
    55c
    66      ndex2d = 0
     
    99c Champs 2D:
    1010c
    11          zsto = dtime
    12          zout = dtime * FLOAT(ecrit_day)
    1311         itau_w = itau_phy + itap
    1412
    15          i = NINT(zout/zsto)
    16          CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    1713c
    1814      IF(lev_histday.GE.1) THEN
    1915c
     16       CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    2017       CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    21          varname = 'phis'
    22          vartitle= 'Surface geop. height'
    23          varunits= '-'
    24 c
    25          i = NINT(zout/zsto)
     18c
     19cIM 310804      CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
    2620         CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
    2721       CALL histwrite(nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    28          varname = 'aire'
    29          vartitle= 'Grid area'
    30          varunits= '-'
    3122c
    3223      DO i=1, klon
     
    125116      CALL histwrite(nid_day,"snowf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    126117c
    127       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
    128       CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
    129      .               ndex2d)
     118cIM: 140404   CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
     119c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zsnow_mass,zx_tmp_2d)
     120c     CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
     121c    .               ndex2d)
    130122c
    131123      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
     
    164156
    165157c   Ecriture de champs dynamiques sur des niveaux de pression
    166       DO k=1, nlevENS
    167 c
    168         CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d)
    169         CALL histwrite(nid_day,"u"//clev(k),itau_w,zx_tmp_2d,
     158c     DO k=1, nlevENS
     159      DO k=1, nlevSTD
     160c
     161c        bb=clevSTD(k)
     162c
     163         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
     164         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
     165c         aa=clevSTD(k)
     166c         bb=aa(1:lnblnk1(aa))
     167c        ENDIF
     168c
     169      IF(bb2.EQ."850".OR.bb2.EQ."700"
     170     $   .OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
     171c
     172        CALL gr_fi_ecrit(1, klon,iim,jjmp1,usumSTD(:,k,1),zx_tmp_2d)
     173        CALL histwrite(nid_day,"u"//bb2,itau_w,zx_tmp_2d,
    170174     $       iim*jjmp1,ndex2d)
    171175c
    172         CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d)
    173         CALL histwrite(nid_day,"v"//clev(k),itau_w,zx_tmp_2d,
     176        CALL gr_fi_ecrit(1, klon,iim,jjmp1,vsumSTD(:,k,1),zx_tmp_2d)
     177        CALL histwrite(nid_day,"v"//bb2,itau_w,zx_tmp_2d,
    174178     $       iim*jjmp1,ndex2d)
    175179c
    176       ENDDO !nlevENS
    177 c
    178       DO k=1, nlevENS
    179       IF(clev(k).EQ."500") THEN
    180 c
    181       CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,indENS(k)),zx_tmp_2d)
    182       CALL histwrite(nid_day,"w500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    183 c
    184 c     DO i=1, klon
    185 c     print*,' ind, phi 500hPa',i,indENS(k),philev(:,indENS(k))
    186 c     print*,' ind, phi 500hPa',i,indENS(k)
    187 c     ENDDO
    188 c
    189 cBAD  CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,indENS(k)),zx_tmp_2d)
    190       CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
    191       CALL histwrite(nid_day,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    192 c
    193       ENDIF !clev(k).EQ.500
    194       ENDDO !k=1, nlevENS
     180      ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
     181c
     182c w500
     183c
     184      IF(bb2.EQ."500") THEN
     185c
     186      CALL gr_fi_ecrit(1, klon,iim,jjmp1,wsumSTD(:,k,1),zx_tmp_2d)
     187      CALL histwrite(nid_day,"w"//bb2,itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     188c
     189      CALL gr_fi_ecrit(1, klon,iim,jjmp1,phisumSTD(:,k,1),zx_tmp_2d)
     190      CALL histwrite(nid_day,"phi"//bb2,itau_w,zx_tmp_2d,
     191     $     iim*jjmp1,ndex2d)
     192
     193      ENDIF !(bb2.EQ."500") THEN
     194c
     195      ENDDO !nlevSTD
    195196c
    196197      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
     
    216217      CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d,
    217218     .                               iim*jjmp1,ndex2d)
     219c
     220      IF (OCEAN.EQ.'force ') THEN
     221c
     222      DO i=1, klon
     223      IF((pctsrf(i,is_oce).GT.epsfra).OR.
     224     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
     225       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
     226     .                  fluxg(i)*pctsrf(i,is_sic)
     227      ELSE
     228       zx_tmp_fi2d(i) = 1.E+20
     229      ENDIF
     230      ENDDO
     231      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     232      CALL histwrite(nid_day,"lmt_bils",itau_w,
     233     .     zx_tmp_2d,iim*jjmp1,ndex2d)
     234c
     235      ELSE IF (OCEAN.EQ.'slab  ') THEN
     236c
     237      DO i=1, klon
     238      IF((pctsrf(i,is_oce).GT.epsfra).OR.
     239     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
     240       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
     241     .                  fluxg(i)*pctsrf(i,is_sic)
     242      ELSE
     243       zx_tmp_fi2d(i) = 1.E+20
     244      ENDIF
     245      ENDDO
     246      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     247      CALL histwrite(nid_day,"slab_bils",itau_w,
     248     .     zx_tmp_2d,iim*jjmp1,ndex2d)
     249c
     250      DO i=1, klon
     251       IF(pctsrf(i,is_oce).GT.epsfra.OR.
     252     $    pctsrf(i,is_sic).GT.epsfra) THEN
     253        zx_tmp_fi2d(i)=tslab(i)
     254       ELSE
     255        zx_tmp_fi2d(i) = 1.E+20
     256       ENDIF
     257      ENDDO !i=1, klon
     258      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     259      CALL histwrite(nid_day,"tslab",itau_w,zx_tmp_2d,
     260     .     iim*jjmp1,ndex2d)
     261c
     262      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice,zx_tmp_2d)
     263      CALL histwrite(nid_day,"seaice",itau_w,zx_tmp_2d,
     264     .     iim*jjmp1,ndex2d)
     265c
     266      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice/1000.,zx_tmp_2d)
     267      CALL histwrite(nid_day,"siceh",itau_w,zx_tmp_2d,
     268     .     iim*jjmp1,ndex2d)
     269c
     270      ENDIF !(OCEAN.EQ.'slab  ') THEN
     271c
     272      DO i=1, klon
     273       IF (pctsrf(i,is_oce).GT.epsfra) THEN
     274        zx_tmp_fi2d(i) = fluxo(i)
     275       ELSE
     276        zx_tmp_fi2d(i) = 1.E+20
     277       ENDIF
     278      ENDDO
     279c
     280      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     281      CALL histwrite(nid_day,"fluxo",itau_w,zx_tmp_2d,
     282     .     iim*jjmp1,ndex2d)
     283c
     284      DO i=1, klon
     285       IF (pctsrf(i,is_sic).GT.epsfra) THEN
     286        zx_tmp_fi2d(i) = fluxg(i)
     287       ELSE
     288        zx_tmp_fi2d(i) = 1.E+20
     289       ENDIF
     290      ENDDO
     291c
     292      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     293      CALL histwrite(nid_day,"fluxg",itau_w,zx_tmp_2d,
     294     .     iim*jjmp1,ndex2d)
    218295c
    219296      ENDIF !lev_histday.GE.1
     
    398475      DO nsrf = 1, nbsrf
    399476C
     477        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
     478        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     479        CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itau_w,
     480     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     481C
    400482        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
    401483        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    402         CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itau_w,
     484        CALL histwrite(nid_day,"fract_"//clnsurf(nsrf),itau_w,
    403485     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    404486C
     
    444526      ENDIF !lev_histday.GE.4
    445527c
     528      IF(lev_histday.GE.5) THEN !lev_histday.GE.5
     529c
     530c rajout sorties F. Aires
     531c
     532      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
     533      CALL histwrite(nid_day,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     534c
     535      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
     536      CALL histwrite(nid_day,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     537c
     538      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
     539      CALL histwrite(nid_day,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     540c
     541      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
     542      CALL histwrite(nid_day,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     543c
     544      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
     545      CALL histwrite(nid_day,"rneb",itau_w,zx_tmp_3d,
     546     .                                   iim*jjmp1*klev,ndex3d)
     547c
     548      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
     549      CALL histwrite(nid_day,"rnebcon",itau_w,zx_tmp_3d,
     550     .                                   iim*jjmp1*klev,ndex3d)
     551c
     552      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
     553      CALL histwrite(nid_day,"lwcon",itau_w,zx_tmp_3d,
     554     .               iim*jjmp1*klev,ndex3d)
     555c
     556      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
     557      CALL histwrite(nid_day,"iwcon",itau_w,zx_tmp_3d,
     558     .               iim*jjmp1*klev,ndex3d)
     559c
     560      zx_tmp_fi2d(1:klon) = flwp(1:klon)
     561      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     562      CALL histwrite(nid_day,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     563c
     564      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
     565      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     566      CALL histwrite(nid_day,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     567c
     568      CALL gr_fi_ecrit(1,klon,iim,jjmp1, meantaucld,zx_tmp_2d)
     569      CALL histwrite(nid_day,"meantaucld",itau_w,zx_tmp_2d,
     570     .               iim*jjmp1,ndex2d)
     571c
     572      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau,zx_tmp_3d)
     573      CALL histwrite(nid_day,"cldtau",itau_w,zx_tmp_3d,
     574     .               iim*jjmp1*klev,ndex3d)
     575c
     576      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldemi,zx_tmp_3d)
     577      CALL histwrite(nid_day,"cldemi",itau_w,zx_tmp_3d,
     578     .               iim*jjmp1*klev,ndex3d)
     579c
     580      ENDIF !lev_histday.GE.5
    446581c=================================================================
    447582c=================================================================
Note: See TracChangeset for help on using the changeset viewer.