Ignore:
Timestamp:
Apr 4, 2006, 5:00:40 PM (18 years ago)
Author:
lmdzadmin
Message:

Ajout nouveaux flags (ip_ebil_phy, ok_slab_sicOBS) ds physiq.def +
Lecture freq. ecriture en nombre de jours
IM

File:
1 edited

Legend:

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

    r644 r684  
    33!
    44      IF (ok_isccp) THEN
     5c
     6      ndex2d = 0
     7      ndex3d = 0
    58c
    69c pour les champs instantannes, il faut mettre la meme valeur pour
     
    912c zstophy = frequence de stockage des champs tous les pdt physiques
    1013c zout = frequence d'ecriture des champs
    11         zstophy = dtime
     14cIM 300505     zstophy = dtime
     15c appel du simulateur toutes les 3heures
     16          zcals(1) = dtime *6.  !toutes les 3h (en s)
     17        DO n=1, napisccp
     18          zcalh(n) = zcals(n)/3600. !stoutes les Xh (en heures)
     19        ENDDO !n
    1220c
    1321c ecriture 8 fois par jour
     
    1826c       zout = dtime
    1927c
     28c       IF(freqout_isccp.EQ.1.) THEN
     29c ecriture jounaliere
     30          zout_isccp(1) = ecrit_day !(en s)
    2031c ecriture mensuelle
    21         zout = dtime * ecrit_mth
    22 c       zout = dtime * ecrit_day
    23 c
     32c         zout = dtime * ecrit_mth !(en s)
     33        DO n=1, napisccp
     34          zoutj(n)=zout_isccp(n)/86400. !(en jours)
     35c
     36c le nombre de sous-colonnes ncol : ncol=(100.*zcalh)/zoutd
     37          ncol(n)=NINT((100.*zcalh(n))/zoutj(n))
     38          PRINT*,'n ncol',n,ncol(n)
     39c
     40        DO l=1, ncol(n)
     41          vertlev(l,n)=float(l)
     42        ENDDO !ncol
     43c
     44        ENDDO !n
     45
    2446c       PRINT*, 'La frequence de sortie ISCCP est de ', ecrit_isccp
    2547c
    2648        idayref = day_ref
    2749        CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    28         write(*,*)'ISCCP ', itau_phy, zjulian
     50c       write(*,*)'ISCCP ', itau_phy, zjulian
    2951c
    3052c
     
    3961        CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    4062c
     63cIM BEG region
     64          imin_ins=1
     65          imax_ins=iim
     66          jmin_ins=1
     67          jmax_ins=jjmp1
     68          do i=1,iim-1
     69             if(zx_lon(i,1).lt.lonmin_ins) imin_ins=i
     70             if(zx_lon(i,1).le.lonmax_ins) imax_ins=i+1
     71          enddo
     72          do j=1,jjmp1
     73             if(zx_lat(1,j).ge.latmin_ins) jmax_ins=j
     74             if(zx_lat(1,j).gt.latmax_ins) jmin_ins=j
     75          enddo
     76c
     77          print*,'On stoke le fichier histISCCP instantanne sur ',
     78     s   imin_ins,imax_ins,jmin_ins,jmax_ins
     79          print*,'On stoke le fichier histISCCP instantanne sur ',
     80     s   zx_lon(imin_ins,1),zx_lon(imax_ins,1),
     81     s   zx_lat(1,jmin_ins),zx_lat(1,jmax_ins)
     82cIM END region
     83c
     84        IF(1.EQ.0) THEN
    4185         CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),jjmp1,zx_lat(1,:),
    4286     .                 1, iim, 1, jjmp1,
    4387     .                 itau_phy, zjulian, dtime,
    4488     .                 nhori, nid_isccp)
    45 c
     89        ENDIF !(1.EQ.0) THEN
     90c
     91         CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),
     92     .                 jjmp1,zx_lat(1,:),
     93     .                 imin_ins,imax_ins-imin_ins+1,
     94     .                 jmin_ins,jmax_ins-jmin_ins+1,
     95     .                 itau_phy, zjulian, dtime,
     96     .                 nhori, nid_isccp)
     97c
     98        IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    4699         CALL histvert(nid_isccp, "cldtopres","Cloud Top Pressure","mb",
    47100     .                 lmaxm1, cldtopres, nvert,'down')
     101        ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
     102         CALL histvert(nid_isccp,"cldtopres3","Cloud Top Pressure","mb",
     103     .                 lmax3, cldtopres3, nvert3,'down')
     104        ENDIF
     105        DO n=1, napisccp
     106         CALL histvert(nid_isccp, "Nbcol"//verticaxe(n),
     107     .        "Nb of Column"//verticaxe(n),"1",
     108     .        ncol(n), vertlev(:,n), nvlev(n),'up')
     109        ENDDO
    48110c
    49111        IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    50112c
    51113c variables a ecrire
     114c
     115         DO n=1, napisccp
    52116c
    53117         DO k=1, kmaxm1
    54           CALL histdef(nid_isccp, "cldISCCP_"//taulev(k),
     118          CALL histdef(nid_isccp, "cldISCCP_"//taulev(k)//typinout(n),
    55119     .                "LMDZ ISCCP cld", "%",
    56120     .                iim, jjmp1,nhori,lmaxm1,1,lmaxm1,nvert,32,
    57      .                "ave(X)", zstophy,zout)
     121     .                "ave(X)", zcals(n),zout_isccp(n))
    58122         ENDDO
    59123c
    60          CALL histdef(nid_isccp, "nsunlit",
     124         CALL histdef(nid_isccp, "nsunlit"//typinout(n),
    61125     .                "Nb of calls with sunlit ", "%",
    62126     .                iim, jjmp1,nhori,1,1,1,-99,32,
    63      .                "ave(X)", zstophy,zout)
     127     .                "ave(X)", zcals(n),zout_isccp(n))
     128c
     129         ENDDO
    64130c
    65131        ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
    66132c
    67          DO k=1, kmaxm1
    68           DO l=1, lmaxm1
    69 c
    70           CALL histdef(nid_isccp, pclev(l)//taulev(k),
     133         DO n=1, napisccp
     134c
     135c         print*,'n=',n,' avant histdef(..LMDZ ISCCP cld'
     136c
     137          DO k=1, kmaxm1
     138           DO l=1, lmaxm1
     139c
     140           CALL histdef(nid_isccp, pclev(l)//taulev(k)//typinout(n),
    71141     .                "LMDZ ISCCP cld "//cnameisccp(l,k), "%",
    72142     .                iim, jjmp1,nhori,1,1,1,-99,32,
    73      .                "ave(X)", zstophy,zout)
    74 c
     143     .                "ave(X)", zcals(n),zout_isccp(n))
     144c
     145           ENDDO
    75146          ENDDO
    76          ENDDO
    77 c
    78          CALL histdef(nid_isccp, "nsunlit",
     147c
     148c         print*,'n=',n,' avant histdef(..Nb of calls sunlit'
     149          CALL histdef(nid_isccp, "nsunlit"//typinout(n),
    79150     .                "Nb of calls with sunlit ", "%",
    80151     .                iim, jjmp1,nhori,1,1,1,-99,32,
    81      .                "ave(X)", zstophy,zout)
    82 c
     152     .                "ave(X)", zcals(n),zout_isccp(n))
     153c
     154c 9types de nuages ISCCP-D2
     155          CALL histdef(nid_isccp, "cirr",
     156     .                "Cirrus lk ISCCP-D2", "%",
     157     .                iim, jjmp1,nhori,1,1,1,-99,32,
     158     .                "ave(X)", zcals(n),zout_isccp(n))
     159c
     160          CALL histdef(nid_isccp, "cist",
     161     .                "CiSt lk ISCCP-D2", "%",
     162     .                iim, jjmp1,nhori,1,1,1,-99,32,
     163     .                "ave(X)", zcals(n),zout_isccp(n))
     164c
     165          CALL histdef(nid_isccp, "deep",
     166     .                "Deep lk ISCCP-D2", "%",
     167     .                iim, jjmp1,nhori,1,1,1,-99,32,
     168     .                "ave(X)", zcals(n),zout_isccp(n))
     169c
     170          CALL histdef(nid_isccp, "alcu",
     171     .                "AlCu lk ISCCP-D2", "%",
     172     .                iim, jjmp1,nhori,1,1,1,-99,32,
     173     .                "ave(X)", zcals(n),zout_isccp(n))
     174c
     175          CALL histdef(nid_isccp, "alst",
     176     .                "AlSt lk ISCCP-D2", "%",
     177     .                iim, jjmp1,nhori,1,1,1,-99,32,
     178     .                "ave(X)", zcals(n),zout_isccp(n))
     179c
     180          CALL histdef(nid_isccp, "nist",
     181     .                "NiSt lk ISCCP-D2", "%",
     182     .                iim, jjmp1,nhori,1,1,1,-99,32,
     183     .                "ave(X)", zcals(n),zout_isccp(n))
     184c
     185          CALL histdef(nid_isccp, "cumu",
     186     .                "Cumu lk ISCCP-D2", "%",
     187     .                iim, jjmp1,nhori,1,1,1,-99,32,
     188     .                "ave(X)", zcals(n),zout_isccp(n))
     189c
     190          CALL histdef(nid_isccp, "stcu",
     191     .                "StCu lk ISCCP-D2", "%",
     192     .                iim, jjmp1,nhori,1,1,1,-99,32,
     193     .                "ave(X)", zcals(n),zout_isccp(n))
     194c
     195          CALL histdef(nid_isccp, "stra",
     196     .                "Stra lk ISCCP-D2", "%",
     197     .                iim, jjmp1,nhori,1,1,1,-99,32,
     198     .                "ave(X)", zcals(n),zout_isccp(n))
     199c
     200c 3_epaisseurs_optiques x3_pressions_au_sommet_des_nuages  types de nuages
     201          CALL histdef(nid_isccp, "thin",
     202     .                "Opt. thin ISCCP-D2 like clouds", "%",
     203     .                iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32,
     204     .                "ave(X)", zcals(n),zout_isccp(n))
     205c
     206          CALL histdef(nid_isccp, "mid",
     207     .                "Opt. intermediate ISCCP-D2 like clouds", "%",
     208     .                iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32,
     209     .                "ave(X)", zcals(n),zout_isccp(n))
     210c
     211          CALL histdef(nid_isccp, "thick",
     212     .                "Opt. thick ISCCP-D2 like clouds", "%",
     213     .                iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32,
     214     .                "ave(X)", zcals(n),zout_isccp(n))
     215c
     216c        IF(1.EQ.0) THEN
     217c        IF(n.EQ.3) THEN
     218c        IF(n.EQ.1) THEN
     219c
     220cIM 070905 BEG
     221         IF(1.EQ.0) THEN
     222          print*,'n=',n,' avant histdef(..boxptop axe'
     223cIM verif boxptop
     224          CALL histdef(nid_isccp,"boxptop"//verticaxe(n),
     225     .                "Boxptop axe"//verticaxe(n), "mb",
     226     .                iim, jjmp1,nhori,
     227     .                ncol(n),1,ncol(n),nvlev(n),32,
     228cIM  .                ncolmx,1,ncolmx,nvlev,32,
     229cIM  .                "inst(X)",dtime,dtime)
     230     .                "ave(X)",zcals(n),zout_isccp(n))
     231         ENDIF !(1.EQ.0) THEN
     232cIM 070905 END
     233c        ENDIF !(n.EQ.3) THEN
     234c       ENDIF !(1.EQ.0) THEN
     235c
     236c         print*,'n=',n,' avant histdef(..seed axe'
     237          CALL histdef(nid_isccp, "seed"//verticaxe(n),
     238     .                "seed axe"//verticaxe(n), "-",
     239     .                iim, jjmp1,nhori,1,1,1,-99,32,
     240cIM  .                "inst(X)", dtime,dtime)
     241     .                "ave(X)", zcals(n),zout_isccp(n))
     242c
     243         ENDDO !n
    83244        ENDIF
    84 c
    85245        CALL histend(nid_isccp)
    86246c
Note: See TracChangeset for help on using the changeset viewer.