Ignore:
Timestamp:
Mar 24, 2004, 9:43:54 AM (20 years ago)
Author:
lmdzadmin
Message:

IM: ajout lev_hist(hf,day,mth) niveaux output definis dans physiq.def et

variables ENSEMBLES + rearrangement

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histhf.h

    r486 r506  
    33c   Comprendre comment marche el i=nint(zout/zsto)
    44c
    5 c$$$      print*,'ACRITURE HF !!! ACRITURE HF !!! ACRITURE HF !!! '
     5c     print*,'ACRITURE HF !!! ACRITURE HF !!! ACRITURE HF !!! '
    66      ndex2d = 0
    77      ndex3d = 0
    8 
    9       itau_w =  itau_phy + itap
    108c
     9      zsto = dtime
     10      zout = dtime * ecrit_hf
     11      itau_w = itau_phy + itap
     12c
     13      IF(lev_histhf.GE.1) THEN
    1114c
    1215c     i = NINT(zout/zsto)
     
    1821c     CALL histwrite(nid_hf,"aire",i,zx_tmp_2d,iim*jjmp1,ndex2d)
    1922C
    20       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    21       CALL histwrite(nid_hf,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     23      CALL gr_fi_ecrit(1, klon,iim,jjmp1, paire_ter, zx_tmp_2d)
     24      CALL histwrite(nid_hf,"aireTER",itau_w,
     25     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     26c
     27      DO i=1, klon
     28       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
     29      ENDDO
     30c
     31      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
     32      CALL histwrite(nid_hf,"contfracATM",itau_w,
     33     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     34c
     35      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d)
     36      CALL histwrite(nid_hf,"contfracOR",itau_w,
     37     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     38c
     39      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
     40      CALL histwrite(nid_hf,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,
     41     .               ndex2d)
     42c
     43      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
     44      CALL histwrite(nid_hf,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,
     45     .               ndex2d)
    2246c
    2347      DO i = 1, klon
     
    2549      ENDDO
    2650      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    27       CALL histwrite(nid_hf,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     51      CALL histwrite(nid_hf,"psol",itau_w,zx_tmp_2d,iim*jjmp1,
     52     .               ndex2d)
    2853c
    2954      DO i = 1, klon
     
    3257      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3358      CALL histwrite(nid_hf,"rain",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    34 
    35       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u850,zx_tmp_2d)
    36       CALL histwrite(nid_hf,"u850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    37 
    38       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v850,zx_tmp_2d)
    39       CALL histwrite(nid_hf,"v850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    40 
    41       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u500,zx_tmp_2d)
    42       CALL histwrite(nid_hf,"u500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    43 
    44       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v500,zx_tmp_2d)
    45       CALL histwrite(nid_hf,"v500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    46 
    47       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u200,zx_tmp_2d)
    48       CALL histwrite(nid_hf,"u200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    49 
    50       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v200,zx_tmp_2d)
    51       CALL histwrite(nid_hf,"v200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    52 
    53       CALL gr_fi_ecrit(1, klon,iim,jjmp1, phi500,zx_tmp_2d)
    54       CALL histwrite(nid_hf,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    55 
    56 cIM cf FH
    57       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u_seri(:,1),zx_tmp_2d)
    58       CALL histwrite(nid_hf,"u1",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    5959c
    60       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v_seri(:,1),zx_tmp_2d)
    61       CALL histwrite(nid_hf,"v1",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     60c ENSEMBLES BEG
     61      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
     62      CALL histwrite(nid_hf,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    6263c
     64      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
     65      CALL histwrite(nid_hf,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     66c
     67      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
     68      CALL histwrite(nid_hf,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     69c
     70      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
     71      CALL histwrite(nid_hf,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     72c
     73      DO i=1, klon
     74       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
     75      ENDDO
     76      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     77      CALL histwrite(nid_hf,"wind10m",itau_w,zx_tmp_2d,
     78     $     iim*jjmp1,ndex2d)
     79c
     80      DO k=1, nlevENS
     81      IF(clev(k).EQ."500") THEN
     82      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
     83      CALL histwrite(nid_hf,"phi"//clev(k),itau_w,zx_tmp_2d,
     84     $       iim*jjmp1,ndex2d)
     85      ENDIF !clev(k).EQ."500"
     86      ENDDO
     87c
     88      ENDIF !lev_histhf.GE.1
     89c
     90      IF(lev_histhf.GE.2) THEN
     91c
     92      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
     93      CALL histwrite(nid_hf,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     94c
     95      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
     96      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     97      CALL histwrite(nid_hf,"SWdownOR",itau_w,
     98     $     zx_tmp_2d,iim*jjmp1,ndex2d)
     99c
     100      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
     101      CALL histwrite(nid_hf,"LWdownOR",itau_w,zx_tmp_2d,iim*jjmp1,
     102     $     ndex2d)
     103c
     104c
     105      ENDIF !lev_histhf.GE.2
     106c
     107      IF(lev_histhf.GE.3) THEN
     108c
     109      DO k=1, nlevENS
     110c
     111      CALL gr_fi_ecrit(1, klon,iim,jjmp1, tlev(:,k),zx_tmp_2d)
     112      CALL histwrite(nid_hf,"t"//clev(k),itau_w,zx_tmp_2d,
     113     $       iim*jjmp1,ndex2d)
     114c
     115      IF(clev(k).NE."500") THEN !clev(k).NE."500"
     116      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
     117      CALL histwrite(nid_hf,"phi"//clev(k),itau_w,zx_tmp_2d,
     118     $       iim*jjmp1,ndex2d)
     119      ENDIF !clev(k).NE."500"
     120c
     121      CALL gr_fi_ecrit(1, klon,iim,jjmp1, qlev(:,k),zx_tmp_2d)
     122      CALL histwrite(nid_hf,"q"//clev(k),itau_w,zx_tmp_2d,
     123     $       iim*jjmp1,ndex2d)
     124c
     125      IF(1.EQ.0) THEN
     126      CALL gr_fi_ecrit(1, klon,iim,jjmp1, rhlev(:,k),zx_tmp_2d)
     127      CALL histwrite(nid_hf,"rh"//clev(k),itau_w,zx_tmp_2d,
     128     $       iim*jjmp1,ndex2d)
     129      ENDIF !1.EQ.0
     130c
     131      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d)
     132      CALL histwrite(nid_hf,"u"//clev(k),itau_w,zx_tmp_2d,
     133     $       iim*jjmp1,ndex2d)
     134c
     135      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d)
     136      CALL histwrite(nid_hf,"v"//clev(k),itau_w,zx_tmp_2d,
     137     $       iim*jjmp1,ndex2d)
     138c
     139      ENDDO !nlevENS
     140c
     141      IF(1.EQ.0) THEN
    63142      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
    64143      CALL histwrite(nid_hf,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    66145      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
    67146      CALL histwrite(nid_hf,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    68 
     147      ENDIF !(1.EQ.0) THEN
     148c
     149      ENDIF !lev_histhf.GE.3
     150c
     151      IF(lev_histhf.GE.4) THEN
     152c
     153#define histhf3d
     154#ifdef histhf3d
     155#include "write_histhf3d.h"
     156#endif
     157c
     158      ENDIF !lev_histhf.GE.4
     159c
    69160      if (ok_sync) then
    70161        call histsync(nid_hf)
Note: See TracChangeset for help on using the changeset viewer.