Ignore:
Timestamp:
Mar 12, 2009, 11:03:07 AM (16 years ago)
Author:
idelkadi
Message:

Corrections dans phys_output_mod.F90 phys_output_write.h et conf_phys.F90

Location:
LMDZ4/branches/LMDZ4-dev/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90

    r1054 r1123  
    462462!Config  Help = Connais pas !
    463463       ok_orolf_omp = .TRUE.
    464        CALL getin('ok_orolf_omp', ok_orolf_omp)
     464       CALL getin('ok_orolf', ok_orolf_omp)
    465465
    466466!Config  Key  = ok_limitvrai
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_output_mod.F90

    r1119 r1123  
    276276  type(ctrl_out) :: o_dthmin       = ctrl_out((/ 10, 1, 10, 10, 10 /),'dthmin')
    277277  type(ctrl_out),dimension(4) :: o_u10_srf      = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_ter'), &
    278                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_lic'), &
    279                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_oce'), &
    280                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_sic') /)
     278                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_lic'), &
     279                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_oce'), &
     280                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_sic') /)
    281281
    282282  type(ctrl_out),dimension(4) :: o_v10_srf      = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_ter'), &
    283                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_lic'), &
    284                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_oce'), &
    285                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_sic') /)
     283                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_lic'), &
     284                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_oce'), &
     285                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_sic') /)
     286
    286287  type(ctrl_out) :: o_cldtau       = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldtau')                     
    287288  type(ctrl_out) :: o_cldemi       = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldemi')
     
    292293  type(ctrl_out) :: o_tke          = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke ')
    293294  type(ctrl_out) :: o_tke_max      = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke_max')
     295
    294296  type(ctrl_out),dimension(4) :: o_tke_srf      = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_ter'), &
    295                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_lic'), &
    296                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_oce'), &
    297                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_sic') /)
    298 
    299   type(ctrl_out),dimension(4) :: o_tke_max_srf      = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_ter'), &
    300                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_lic'), &
    301                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_oce'), &
    302                                                  ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_sic') /)
     297                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_lic'), &
     298                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_oce'), &
     299                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_sic') /)
     300
     301  type(ctrl_out),dimension(4) :: o_tke_max_srf  = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_ter'), &
     302                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_lic'), &
     303                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_oce'), &
     304                                                     ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_sic') /)
    303305
    304306  type(ctrl_out) :: o_kz           = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz')
     
    328330  type(ctrl_out) :: o_theta        = ctrl_out((/ 2, 3, 4, 1, 1 /),'theta')
    329331  type(ctrl_out) :: o_ovap         = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovap')
     332  type(ctrl_out) :: o_ovapinit         = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovapinit')
    330333  type(ctrl_out) :: o_wvapp        = ctrl_out((/ 2, 10, 10, 10, 10 /),'wvapp')
    331334  type(ctrl_out) :: o_geop         = ctrl_out((/ 2, 3, 10, 1, 1 /),'geop')
     
    348351
    349352  type(ctrl_out),dimension(4) :: o_albe_srf     = (/ ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_ter'), &
    350                                                  ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_lic'), &
    351                                                  ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_oce'), &
    352                                                  ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_sic') /)
     353                                                     ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_lic'), &
     354                                                     ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_oce'), &
     355                                                     ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_sic') /)
    353356
    354357  type(ctrl_out),dimension(4) :: o_ages_srf     = (/ ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_ter'), &
    355                                                  ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_lic'), &
    356                                                  ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_oce'), &
    357                                                  ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_sic') /)
     358                                                     ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_lic'), &
     359                                                     ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_oce'), &
     360                                                     ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_sic') /)
    358361
    359362  type(ctrl_out),dimension(4) :: o_rugs_srf     = (/ ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_ter'), &
    360                                                  ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_lic'), &
    361                                                  ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_oce'), &
    362                                                  ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_sic') /)
     363                                                     ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_lic'), &
     364                                                     ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_oce'), &
     365                                                     ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_sic') /)
    363366
    364367  type(ctrl_out) :: o_albs         = ctrl_out((/ 3, 10, 10, 1, 10 /),'albs')
     
    432435  SUBROUTINE phys_output_open(jjmp1,nlevSTD,clevSTD,nbteta, &
    433436                              ctetaSTD,dtime, presnivs, ok_veget, &
    434                               ocean, iflag_pbl,ok_mensuel,ok_journe, &
     437                              type_ocean, iflag_pbl,ok_mensuel,ok_journe, &
    435438                              ok_hf,ok_instan,ok_LES,ok_ade,ok_aie)   
    436439
     
    462465  CHARACTER(len=3)                      :: bb2
    463466  CHARACTER(len=2)                      :: bb3
    464   character(len=6)                      :: ocean
     467  character(len=6)                      :: type_ocean
    465468  CHARACTER(len=3)                      :: ctetaSTD(nbteta)
    466469  real, dimension(nfiles)               :: ecrit_files
     
    586589   type_ecri(3) = 'once'
    587590   type_ecri(4) = 'once'
     591   type_ecri(5) = 'once'
    588592 CALL histdef2d(iff,o_aire%flag,o_aire%name,"Grid area", "-")
    589593 CALL histdef2d(iff,o_contfracATM%flag,o_contfracATM%name,"% sfce ter+lic", "-")
     
    592596   type_ecri(3) = 'ave(X)'
    593597   type_ecri(4) = 'inst(X)'
     598   type_ecri(5) = 'ave(X)'
    594599
    595600!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    600605 CALL histdef2d(iff,o_tsol%flag,o_tsol%name, "Surface Temperature", "K")
    601606 CALL histdef2d(iff,o_t2m%flag,o_t2m%name, "Temperature 2m", "K" )
     607   type_ecri(1) = 't_min(X)'
     608   type_ecri(2) = 't_min(X)'
     609   type_ecri(3) = 't_min(X)'
     610   type_ecri(4) = 't_min(X)'
     611   type_ecri(5) = 't_min(X)'
    602612 CALL histdef2d(iff,o_t2m_min%flag,o_t2m_min%name, "Temp 2m min", "K" )
     613   type_ecri(1) = 't_max(X)'
     614   type_ecri(2) = 't_max(X)'
     615   type_ecri(3) = 't_max(X)'
     616   type_ecri(4) = 't_max(X)'
     617   type_ecri(5) = 't_max(X)'
    603618 CALL histdef2d(iff,o_t2m_max%flag,o_t2m_max%name, "Temp 2m max", "K" )
     619   type_ecri(1) = 'ave(X)'
     620   type_ecri(2) = 'ave(X)'
     621   type_ecri(3) = 'ave(X)'
     622   type_ecri(4) = 'inst(X)'
     623   type_ecri(5) = 'ave(X)'
    604624 CALL histdef2d(iff,o_wind10m%flag,o_wind10m%name, "10-m wind speed", "m/s")
    605625 CALL histdef2d(iff,o_wind10max%flag,o_wind10max%name, "10m wind speed max", "m/s")
     
    674694  if (iflag_pbl>1 .and. lev_files(iff).gt.10 ) then
    675695 CALL histdef2d(iff,o_tke_srf(nsrf)%flag,o_tke_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-")
     696   type_ecri(1) = 't_max(X)'
     697   type_ecri(2) = 't_max(X)'
     698   type_ecri(3) = 't_max(X)'
     699   type_ecri(4) = 't_max(X)'
     700   type_ecri(5) = 't_max(X)'
    676701 CALL histdef2d(iff,o_tke_max_srf(nsrf)%flag,o_tke_max_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-")
     702   type_ecri(1) = 'ave(X)'
     703   type_ecri(2) = 'ave(X)'
     704   type_ecri(3) = 'ave(X)'
     705   type_ecri(4) = 'inst(X)'
     706   type_ecri(5) = 'ave(X)'
    677707  endif
    678708 CALL histdef2d(iff,o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo surf. "//clnsurf(nsrf),"-")
     
    714744 CALL histdef2d(iff,o_fbase%flag,o_fbase%name, "Cld base mass flux", "kg/m2/s")
    715745 CALL histdef2d(iff,o_prw%flag,o_prw%name, "Precipitable water", "kg/m2")
    716  CALL histdef2d(iff,o_cape_max%flag,o_cape_max%name,"CAPE max.", "J/kg")
    717  CALL histdef3d(iff,o_upwd%flag,o_upwd%name,"saturated updraft", "kg/m2/s")
    718  CALL histdef3d(iff,o_Ma%flag,o_Ma%name,"undilute adiab updraft","kg/m2/s")
    719  CALL histdef3d(iff,o_dnwd%flag,o_dnwd%name,"saturated downdraft","kg/m2/s")
    720  CALL histdef3d(iff,o_dnwd0%flag,o_dnwd0%name,"unsat. downdraft", "kg/m2/s")
     746   type_ecri(1) = 't_max(X)'
     747   type_ecri(2) = 't_max(X)'
     748   type_ecri(3) = 't_max(X)'
     749   type_ecri(4) = 't_max(X)'
     750   type_ecri(5) = 't_max(X)'
     751 CALL histdef2d(iff,o_cape_max%flag,o_cape_max%name, "CAPE max.", "J/kg")
     752   type_ecri(1) = 'ave(X)'
     753   type_ecri(2) = 'ave(X)'
     754   type_ecri(3) = 'ave(X)'
     755   type_ecri(4) = 'inst(X)'
     756   type_ecri(5) = 'ave(X)'
     757 CALL histdef3d(iff,o_upwd%flag,o_upwd%name, "saturated updraft", "kg/m2/s")
     758 CALL histdef3d(iff,o_Ma%flag,o_Ma%name, "undilute adiab updraft", "kg/m2/s")
     759 CALL histdef3d(iff,o_dnwd%flag,o_dnwd%name, "saturated downdraft", "kg/m2/s")
     760 CALL histdef3d(iff,o_dnwd0%flag,o_dnwd0%name, "unsat. downdraft", "kg/m2/s")
    721761     ENDIF !iflag_con .GE. 3
    722762
     
    744784   type_ecri(3) = 'inst(X)'
    745785   type_ecri(4) = 'inst(X)'
     786   type_ecri(5) = 'inst(X)'
    746787
    747788! Attention a reverifier
     
    767808   type_ecri(3) = 'ave(X)'
    768809   type_ecri(4) = 'inst(X)'
     810   type_ecri(5) = 'ave(X)'
    769811
    770812 CALL histdef2d(iff,o_t_oce_sic%flag,o_t_oce_sic%name, "Temp mixte oce-sic", "K")
    771813
    772  IF (ocean=='slab') &
     814 IF (type_ocean=='slab') &
    773815     CALL histdef2d(iff,o_slab_bils%flag, o_slab_bils%name,"Bilan au sol sur ocean slab", "W/m2")
    774816
    775  IF (iflag_con.EQ.3) THEN
    776  CALL histdef2d(iff,o_ale%flag,o_ale%name,"ALE","m2/s2")
    777  CALL histdef2d(iff,o_alp%flag,o_alp%name,"ALP","W/m2")
    778  CALL histdef2d(iff,o_cin%flag,o_cin%name,"Convective INhibition","m2/s2")
    779  IF (iflag_coupl.EQ.1) THEN
    780   CALL histdef2d(iff,o_ale_bl%flag,o_ale_bl%name,"ALE BL","m2/s2")
    781   CALL histdef2d(iff,o_alp_bl%flag,o_alp_bl%name,"ALP BL","m2/s2")
    782  ENDIF !iflag_coupl.EQ.1
    783  IF (iflag_wake.EQ.1) THEN
    784   CALL histdef2d(iff,o_ale_wk%flag,o_ale_wk%name,"ALE WK","m2/s2")
    785   CALL histdef2d(iff,o_alp_wk%flag,o_alp_wk%name,"ALP WK","m2/s2")
    786   CALL histdef2d(iff,o_wape%flag,o_WAPE%name,"WAPE","m2/s2")
    787   CALL histdef2d(iff,o_wake_h%flag,o_wake_h%name,"wake_h", "-")
    788   CALL histdef2d(iff,o_wake_s%flag,o_wake_s%name,"wake_s", "-")
    789   CALL histdef3d(iff,o_dtwak%flag,o_dtwak%name,"Wake dT","K/s")
    790   CALL histdef3d(iff,o_dqwak%flag,o_dqwak%name,"Wake dQ","(kg/kg)/s")
    791   CALL histdef3d(iff,o_wake_deltat%flag,o_wake_deltat%name,"wake_deltat", " ")
    792   CALL histdef3d(iff,o_wake_deltaq%flag,o_wake_deltaq%name,"wake_deltaq", " ")
    793   CALL histdef3d(iff,o_wake_omg%flag,o_wake_omg%name,"wake_omg", " ")
    794   CALL histdef3d(iff,o_ftd%flag,o_ftd%name,"tend temp due aux descentes precip","-")
    795   CALL histdef3d(iff,o_fqd%flag,o_fqd%name,"tend vap eau due aux descentes precip","-")
    796  ENDIF !iflag_wake.EQ.1
    797   CALL histdef3d(iff,o_Vprecip%flag,o_Vprecip%name,"precipitation vertical profile","-")
    798  ENDIF !(iflag_con.EQ.3)
     817! Couplage conv-CL
     818 IF (iflag_con.GE.3) THEN
     819    IF (iflag_coupl.EQ.1) THEN
     820 CALL histdef2d(iff,o_ale_bl%flag,o_ale_bl%name, "ALE BL", "m2/s2")
     821 CALL histdef2d(iff,o_alp_bl%flag,o_alp_bl%name, "ALP BL", "m2/s2")
     822    ENDIF
     823 ENDIF !(iflag_con.GE.3)
    799824
    800825 CALL histdef2d(iff,o_weakinv%flag,o_weakinv%name, "Weak inversion", "-")
     
    808833 CALL histdef2d(iff,o_LWdownOR%flag,o_LWdownOR%name, "Sfce incident LW radiation OR", "W/m2")
    809834 CALL histdef2d(iff,o_snowl%flag,o_snowl%name, "Solid Large-scale Precip.", "kg/(m2*s)")
     835
    810836 CALL histdef2d(iff,o_solldown%flag,o_solldown%name, "Down. IR rad. at surface", "W/m2")
    811837 CALL histdef2d(iff,o_dtsvdfo%flag,o_dtsvdfo%name, "Boundary-layer dTs(o)", "K/s")
     
    820846 CALL histdef3d(iff,o_temp%flag,o_temp%name, "Air temperature", "K" )
    821847 CALL histdef3d(iff,o_theta%flag,o_theta%name, "Potential air temperature", "K" )
    822  CALL histdef3d(iff,o_ovap%flag,o_ovap%name, "Specific humidity", "kg/kg" )
     848 CALL histdef3d(iff,o_ovap%flag,o_ovap%name, "Specific humidity + dqphy", "kg/kg" )
     849 CALL histdef3d(iff,o_ovapinit%flag,o_ovapinit%name, "Specific humidity", "kg/kg" )
    823850 CALL histdef3d(iff,o_geop%flag,o_geop%name, "Geopotential height", "m2/s2")
    824851 CALL histdef3d(iff,o_vitu%flag,o_vitu%name, "Zonal wind", "m/s" )
     
    843870     if (iflag_pbl>1) then
    844871 CALL histdef3d(iff,o_tke%flag,o_tke%name, "TKE", "m2/s2")
     872   type_ecri(1) = 't_max(X)'
     873   type_ecri(2) = 't_max(X)'
     874   type_ecri(3) = 't_max(X)'
     875   type_ecri(4) = 't_max(X)'
     876   type_ecri(5) = 't_max(X)'
    845877 CALL histdef3d(iff,o_tke_max%flag,o_tke_max%name, "TKE max", "m2/s2")
     878   type_ecri(1) = 'ave(X)'
     879   type_ecri(2) = 'ave(X)'
     880   type_ecri(3) = 'ave(X)'
     881   type_ecri(4) = 'inst(X)'
     882   type_ecri(5) = 'ave(X)'
    846883     endif
    847884
    848885 CALL histdef3d(iff,o_kz%flag,o_kz%name, "Kz melange", "m2/s")
     886   type_ecri(1) = 't_max(X)'
     887   type_ecri(2) = 't_max(X)'
     888   type_ecri(3) = 't_max(X)'
     889   type_ecri(4) = 't_max(X)'
     890   type_ecri(5) = 't_max(X)'
    849891 CALL histdef3d(iff,o_kz_max%flag,o_kz_max%name, "Kz melange max", "m2/s" )
    850  CALL histdef3d(iff,o_clwcon%flag,o_clwcon%name, "Convective Cloud Liquid water content", "kg/kg") 
     892   type_ecri(1) = 'ave(X)'
     893   type_ecri(2) = 'ave(X)'
     894   type_ecri(3) = 'ave(X)'
     895   type_ecri(4) = 'inst(X)'
     896   type_ecri(5) = 'ave(X)'
     897 CALL histdef3d(iff,o_clwcon%flag,o_clwcon%name, "Convective Cloud Liquid water content", "kg/kg")
    851898 CALL histdef3d(iff,o_dtdyn%flag,o_dtdyn%name, "Dynamics dT", "K/s")
    852899 CALL histdef3d(iff,o_dqdyn%flag,o_dqdyn%name, "Dynamics dQ", "(kg/kg)/s")
     
    856903 CALL histdef3d(iff,o_ducon%flag,o_ducon%name, "Convection du", "m/s2")
    857904 CALL histdef3d(iff,o_dqcon%flag,o_dqcon%name, "Convection dQ", "(kg/kg)/s")
     905
     906! Wakes
     907 IF(iflag_con.EQ.3) THEN
     908 IF (iflag_wake == 1) THEN
     909   CALL histdef2d(iff,o_ale_wk%flag,o_ale_wk%name, "ALE WK", "m2/s2")
     910   CALL histdef2d(iff,o_alp_wk%flag,o_alp_wk%name, "ALP WK", "m2/s2")
     911   CALL histdef2d(iff,o_ale%flag,o_ale%name, "ALE", "m2/s2")
     912   CALL histdef2d(iff,o_alp%flag,o_alp%name, "ALP", "W/m2")
     913   CALL histdef2d(iff,o_cin%flag,o_cin%name, "Convective INhibition", "m2/s2")
     914   CALL histdef2d(iff,o_wape%flag,o_WAPE%name, "WAPE", "m2/s2")
     915   CALL histdef2d(iff,o_wake_h%flag,o_wake_h%name, "wake_h", "-")
     916   CALL histdef2d(iff,o_wake_s%flag,o_wake_s%name, "wake_s", "-")
     917   CALL histdef3d(iff,o_dtwak%flag,o_dtwak%name, "Wake dT", "K/s")
     918   CALL histdef3d(iff,o_dqwak%flag,o_dqwak%name, "Wake dQ", "(kg/kg)/s")
     919   CALL histdef3d(iff,o_wake_deltat%flag,o_wake_deltat%name, "wake_deltat", " ")
     920   CALL histdef3d(iff,o_wake_deltaq%flag,o_wake_deltaq%name, "wake_deltaq", " ")
     921   CALL histdef3d(iff,o_wake_omg%flag,o_wake_omg%name, "wake_omg", " ")
     922 ENDIF
     923   CALL histdef3d(iff,o_Vprecip%flag,o_Vprecip%name, "precipitation vertical profile", "-")
     924   CALL histdef3d(iff,o_ftd%flag,o_ftd%name, "tend temp due aux descentes precip", "-")
     925   CALL histdef3d(iff,o_fqd%flag,o_fqd%name,"tend vap eau due aux descentes precip", "-")
     926 ENDIF !(iflag_con.EQ.3)
     927
    858928 CALL histdef3d(iff,o_dtlsc%flag,o_dtlsc%name, "Condensation dT", "K/s")
    859929 CALL histdef3d(iff,o_dtlschr%flag,o_dtlschr%name,"Large-scale condensational heating rate","K/s")
     
    9371007       character(len=*)                 :: unitvar
    9381008
    939        if (iff.eq.1) then
    940    call conf_physoutputs(nomvar,flag_var)
    941        endif
     1009! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def
     1010       call conf_physoutputs(nomvar,flag_var)
    9421011       
    9431012       if ( flag_var(iff)<=lev_files(iff) ) then
     
    9671036       character(len=*)                 :: unitvar
    9681037
    969        if (iff.eq.1) then
    970    call conf_physoutputs(nomvar,flag_var)
    971        endif
     1038! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def
     1039       call conf_physoutputs(nomvar,flag_var)
    9721040
    9731041       if ( flag_var(iff)<=lev_files(iff) ) then
     
    9801048
    9811049      SUBROUTINE conf_physoutputs(nam_var,flag_var)
     1050!!! Lecture des noms et niveau de sortie des variables dans output.def
     1051!   en utilisant les routines getin de IOIPSL 
    9821052       use ioipsl
    9831053
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_output_write.h

    r1119 r1123  
    511511      CALL histwrite_phy(nid_files(iff),o_prw%name,itau_w,prw)
    512512        ENDIF
     513
    513514      IF (o_cape_max%flag(iff)<=lev_files(iff)) THEN
    514        CALL histwrite_phy(nid_files(iff),o_cape_max%name,itau_w,cape)
    515       ENDIF
    516       IF (o_upwd%flag(iff)<=lev_files(iff)) THEN
    517        CALL histwrite_phy(nid_files(iff),o_upwd%name,itau_w,upwd)
    518       ENDIF
    519       IF (o_Ma%flag(iff)<=lev_files(iff)) THEN
    520        CALL histwrite_phy(nid_files(iff),o_Ma%name,itau_w,Ma)
    521       ENDIF
    522 
    523       IF (o_dnwd%flag(iff)<=lev_files(iff)) THEN
    524        CALL histwrite_phy(nid_files(iff),o_dnwd%name,itau_w,dnwd)
    525       ENDIF
    526 
    527       IF (o_dnwd0%flag(iff)<=lev_files(iff)) THEN
    528        CALL histwrite_phy(nid_files(iff),o_dnwd0%name,itau_w,dnwd0)
    529       ENDIF
     515      CALL histwrite_phy(nid_files(iff),o_cape_max%name,itau_w,cape)
     516      ENDIF
     517
     518       IF (o_upwd%flag(iff)<=lev_files(iff)) THEN
     519      CALL histwrite_phy(nid_files(iff),o_upwd%name,itau_w,upwd)
     520       ENDIF
     521
     522       IF (o_Ma%flag(iff)<=lev_files(iff)) THEN
     523      CALL histwrite_phy(nid_files(iff),o_Ma%name,itau_w,Ma)
     524       ENDIF
     525
     526       IF (o_dnwd%flag(iff)<=lev_files(iff)) THEN
     527      CALL histwrite_phy(nid_files(iff),o_dnwd%name,itau_w,dnwd)
     528       ENDIF
     529
     530       IF (o_dnwd0%flag(iff)<=lev_files(iff)) THEN
     531      CALL histwrite_phy(nid_files(iff),o_dnwd0%name,itau_w,dnwd0)
     532       ENDIF
     533
    530534      ENDIF !iflag_con .GE. 3
    531535
     
    634638      ENDIF
    635639
    636       IF (type_ocean=='force ') THEN
    637 
    638       IF (iflag_con.EQ.3) THEN
    639        IF (o_ale%flag(iff)<=lev_files(iff)) THEN
    640        CALL histwrite_phy(nid_files(iff),o_ale%name,itau_w,ale)
    641        ENDIF
    642        IF (o_alp%flag(iff)<=lev_files(iff)) THEN
    643        CALL histwrite_phy(nid_files(iff),o_alp%name,itau_w,alp)
    644        ENDIF
    645        IF (o_cin%flag(iff)<=lev_files(iff)) THEN
    646        CALL histwrite_phy(nid_files(iff),o_cin%name,itau_w,cin)
    647        ENDIF
     640! Couplage convection-couche limite
     641      IF (iflag_con.GE.3) THEN
    648642      IF (iflag_coupl.EQ.1) THEN
    649643       IF (o_ale_bl%flag(iff)<=lev_files(iff)) THEN
     
    654648       ENDIF
    655649      ENDIF !iflag_coupl.EQ.1
    656 
     650      ENDIF !(iflag_con.GE.3)
     651
     652! Wakes
     653      IF (iflag_con.EQ.3) THEN
    657654      IF (iflag_wake.EQ.1) THEN
    658655       IF (o_ale_wk%flag(iff)<=lev_files(iff)) THEN
     
    663660       ENDIF
    664661
     662       IF (o_ale%flag(iff)<=lev_files(iff)) THEN
     663       CALL histwrite_phy(nid_files(iff),o_ale%name,itau_w,ale)
     664       ENDIF
     665       IF (o_alp%flag(iff)<=lev_files(iff)) THEN
     666       CALL histwrite_phy(nid_files(iff),o_alp%name,itau_w,alp)
     667       ENDIF
     668       IF (o_cin%flag(iff)<=lev_files(iff)) THEN
     669       CALL histwrite_phy(nid_files(iff),o_cin%name,itau_w,cin)
     670       ENDIF
    665671       IF (o_wape%flag(iff)<=lev_files(iff)) THEN
    666672       CALL histwrite_phy(nid_files(iff),o_WAPE%name,itau_w,wake_pe)
     
    685691
    686692        IF (o_wake_omg%flag(iff)<=lev_files(iff)) THEN
    687        CALL histwrite_phy(nid_files(iff),o_wake_omg%name,itau_w,
    688      .wake_omg)
    689         ENDIF
    690         IF (o_dtwak%flag(iff)<=lev_files(iff)) THEN
    691           zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev)
     693       CALL histwrite_phy(nid_files(iff),
     694     s                    o_wake_omg%name,itau_w,wake_omg)
     695        ENDIF
     696
     697         IF (o_dtwak%flag(iff)<=lev_files(iff)) THEN
     698           zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev)
    692699     &                                        /pdtphys
    693           CALL histwrite_phy(nid_files(iff),o_dtwak%name,itau_w,
    694      .zx_tmp_fi3d)
    695         ENDIF
     700           CALL histwrite_phy(nid_files(iff),
     701     &                       o_dtwak%name,itau_w,zx_tmp_fi3d)
     702         ENDIF
    696703
    697704        IF (o_dqwak%flag(iff)<=lev_files(iff)) THEN
    698          zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
    699          CALL histwrite_phy(nid_files(iff),o_dqwak%name,itau_w,
    700      .zx_tmp_fi3d)
     705        zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
     706        CALL histwrite_phy(nid_files(iff),
     707     &                     o_dqwak%name,itau_w,zx_tmp_fi3d)
     708        ENDIF
     709      ENDIF ! iflag_wake.EQ.1
     710
     711        IF (o_Vprecip%flag(iff)<=lev_files(iff)) THEN
     712       CALL histwrite_phy(nid_files(iff),o_Vprecip%name,itau_w,Vprecip)
    701713        ENDIF
    702714
     
    708720       CALL histwrite_phy(nid_files(iff),o_fqd%name,itau_w,fqd)
    709721        ENDIF
    710       ENDIF
    711 
    712        IF (o_Vprecip%flag(iff)<=lev_files(iff)) THEN
    713         CALL histwrite_phy(nid_files(iff),o_Vprecip%name,itau_w,Vprecip)
    714        ENDIF
    715 
    716722      ENDIF !(iflag_con.EQ.3)
    717723 
    718       ELSE IF (type_ocean=='slab  ') THEN
    719 
    720        IF ( o_slab_bils%flag(iff)<=lev_files(iff))
     724      IF (type_ocean=='slab ') THEN
     725      IF ( o_slab_bils%flag(iff)<=lev_files(iff))
    721726     $     CALL histwrite_phy(
    722727     $     nid_files(iff),o_slab_bils%name,itau_w,slab_wfbils)
    723      
     728
    724729      ENDIF !type_ocean == force/slab
    725730
     
    863868       IF (o_ovap%flag(iff)<=lev_files(iff)) THEN
    864869      CALL histwrite_phy(nid_files(iff),o_ovap%name,itau_w,qx(:,:,ivap))
     870       ENDIF
     871
     872       IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN
     873      CALL histwrite_phy(nid_files(iff),
     874     $                   o_ovapinit%name,itau_w,q_seri)
    865875       ENDIF
    866876
Note: See TracChangeset for help on using the changeset viewer.