! Declarations specifiques au cas Toga
        character*80 :: fich_toga
!        integer nlev_prof
!        parameter (nlev_prof = 41)
        integer nlev_toga, nt_toga
        parameter (nlev_toga=41, nt_toga=480)
        integer year_ini_toga, day_ini_toga, mth_ini_toga
        real day_ju_ini_toga   ! Julian day of toga coare first day
        parameter (year_ini_toga=1992) 
        parameter (mth_ini_toga=11)
        parameter (day_ini_toga=1)  !  1erNov1992
        real dt_toga
        parameter (dt_toga=6.*3600.)
!!
        integer year_print, month_print, day_print
        real    sec_print
!!
        integer nn
        integer it_toga1, it_toga2
        real time_toga1,time_toga2

        real ts_toga(nt_toga)
        real plev_toga(nlev_toga,nt_toga),w_toga(nlev_toga,nt_toga)
        real t_toga(nlev_toga,nt_toga),q_toga(nlev_toga,nt_toga)
        real u_toga(nlev_toga,nt_toga),v_toga(nlev_toga,nt_toga)
        real ht_toga(nlev_toga,nt_toga),vt_toga(nlev_toga,nt_toga)
        real hq_toga(nlev_toga,nt_toga),vq_toga(nlev_toga,nt_toga)

        real ts_prof
        real plev_prof(nlev_toga),w_prof(nlev_toga)
        real t_prof(nlev_toga),q_prof(nlev_toga)
        real u_prof(nlev_toga),v_prof(nlev_toga)
        real ht_prof(nlev_toga),vt_prof(nlev_toga)
        real hq_prof(nlev_toga),vq_prof(nlev_toga)

        real plev_mod(llm),w_mod(llm), t_mod(llm),q_mod(llm)
        real u_mod(llm),v_mod(llm), ht_mod(llm),vt_mod(llm)
        real hq_mod(llm),vq_mod(llm),qv_mod(llm),ql_mod(llm),qt_mod(llm)

        real ts_cur
        common /sst_forcing/ts_cur ! also in read_tsurf1d.F
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Declarations specifiques au cas RICO
        character*80 :: fich_rico
        integer nlev_rico

        parameter (nlev_rico=81)
        real ts_rico,ps_rico
        real w_rico(llm)
        real t_rico(llm),q_rico(llm)
        real u_rico(llm),v_rico(llm)
        real dth_rico(llm)
        real dqh_rico(llm)
        real du_age(llm),dv_age(llm)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Declarations specifiques au cas TWPice
        character*80 :: fich_twpice
        integer nlev_twpi, nt_twpi
        parameter (nlev_twpi=40, nt_twpi=215)
        integer year_ini_twpi, day_ini_twpi, mth_ini_twpi
        real heure_ini_twpi
        real day_ju_ini_twpi   ! Julian day of twpice first day
        parameter (year_ini_twpi=2006) 
        parameter (mth_ini_twpi=1)
        parameter (day_ini_twpi=17)  ! 17 = 17Jan2006
        parameter (heure_ini_twpi=10800.) !3h en secondes
        real dt_twpi
        parameter (dt_twpi=3.*3600.)

        real ts_twpi(nt_twpi)
        real plev_twpi(nlev_twpi,nt_twpi),w_twpi(nlev_twpi,nt_twpi)
        real t_twpi(nlev_twpi,nt_twpi),q_twpi(nlev_twpi,nt_twpi)
        real u_twpi(nlev_twpi,nt_twpi),v_twpi(nlev_twpi,nt_twpi)
        real ht_twpi(nlev_twpi,nt_twpi),vt_twpi(nlev_twpi,nt_twpi)
        real hq_twpi(nlev_twpi,nt_twpi),vq_twpi(nlev_twpi,nt_twpi)

        real ts_proftwp
        real plev_proftwp(nlev_twpi),w_proftwp(nlev_twpi)
        real t_proftwp(nlev_twpi),q_proftwp(nlev_twpi)
        real u_proftwp(nlev_twpi),v_proftwp(nlev_twpi)
        real ht_proftwp(nlev_twpi),vt_proftwp(nlev_twpi)
        real hq_proftwp(nlev_twpi),vq_proftwp(nlev_twpi)


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Declarations specifiques au cas AMMA
        character*80 :: fich_amma
! Option du cas AMMA ou on impose la discretisation verticale (Ap,Bp)
        logical  :: fixe_disvert=.true.
        integer nlev_amma, nt_amma
!       parameter (nlev_amma=29, nt_amma=48)  ! Fleur, juillet 2012
        parameter (nlev_amma=36, nt_amma=48)  ! Romain, octobre 2012
!       parameter (nlev_amma=26, nt_amma=48)  ! Test MPL feverier 2013
        integer year_ini_amma, day_ini_amma, mth_ini_amma
        real heure_ini_amma
        real day_ju_ini_amma   ! Julian day of amma first day
        parameter (year_ini_amma=2006) 
        parameter (mth_ini_amma=7)
        parameter (day_ini_amma=10)  ! 10 = 10Juil2006
        parameter (heure_ini_amma=0.) !0h en secondes
        real dt_amma
        parameter (dt_amma=1800.)

!profils initiaux:
        real plev_amma(nlev_amma)
        real tv_amma(nlev_amma),rho_amma(nlev_amma)
        real thv_amma(nlev_amma)
        
        real z_amma(nlev_amma)
        real th_amma(nlev_amma),q_amma(nlev_amma)
        real u_amma(nlev_amma)
        real v_amma(nlev_amma)

        real thvsurf_amma,tvsurf_amma,rhosurf_amma,thsurf

        real th_ammai(nlev_amma),q_ammai(nlev_amma)
        real u_ammai(nlev_amma)
        real v_ammai(nlev_amma)
        real vitw_ammai(nlev_amma) 
        real ht_ammai(nlev_amma)
        real hq_ammai(nlev_amma)
        real vt_ammai(nlev_amma)
        real vq_ammai(nlev_amma)
        
!forcings
        real ht_amma(nlev_amma,nt_amma)
        real hq_amma(nlev_amma,nt_amma)
        real vitw_amma(nlev_amma,nt_amma)
        real lat_amma(nt_amma),sens_amma(nt_amma)

!champs interpoles
        real plev_profamma(nlev_amma),vitw_profamma(nlev_amma)
        real ht_profamma(nlev_amma)
        real hq_profamma(nlev_amma)
        real lat_profamma,sens_profamma
        real vt_profamma(nlev_amma)
        real vq_profamma(nlev_amma)
        real th_profamma(nlev_amma)
        real q_profamma(nlev_amma)
        real u_profamma(nlev_amma)
        real v_profamma(nlev_amma)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Declarations specifiques au cas FIRE
        character*80 :: fich_fire
        integer nlev_fire, nt_fire
        parameter (nlev_fire=120, nt_fire=1)  
        integer year_ini_fire, day_ini_fire, mth_ini_fire
        real heure_ini_fire
        real day_ju_ini_fire   ! Julian day of fire first day
        parameter (year_ini_fire=1987) 
        parameter (mth_ini_fire=7)
        parameter (day_ini_fire=14)  ! 14 = 14Juil1987
        parameter (heure_ini_fire=0.) !0h en secondes

!profils initiaux:
        real z_fire(nlev_fire)
        real thl_fire(nlev_fire),qt_fire(nlev_fire)
        real u_fire(nlev_fire), v_fire(nlev_fire)
        real tke_fire(nlev_fire) 
        
!forcings
        real ugeo_fire(nlev_fire),vgeo_fire(nlev_fire)
        real wls_fire(nlev_fire),dqtdx_fire(nlev_fire)
        real dqtdy_fire(nlev_fire)
        real dqtdt_fire(nlev_fire),thl_rad_fire(nlev_fire)
         
        real ugeo_mod(llm),vgeo_mod(llm),wls_mod(llm)
        real dqtdx_mod(llm),dqtdy_mod(llm),dqtdt_mod(llm)
        real thl_rad_mod(llm)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Declarations specifiques au cas GCSSold
        character*80 :: fich_gcssold_ctl
        character*80 :: fich_gcssold_dat
        real  ht_gcssold(llm),hq_gcssold(llm),hw_gcssold(llm)
        real  hu_gcssold(llm)
        real  hv_gcssold(llm)
        real  hthturb_gcssold(llm)
        real  hqturb_gcssold(llm)
        real  Ts_gcssold
        real  dtime_frcg
cAl1     logical :: imp_fcg_gcssold
c        logical :: ts_fcg_gcssold 
c        logical :: Tp_fcg_gcssold 
        logical :: Turb_fcg_gcssold
        common /turb_forcing/ dtime_frcg,
     $      Turb_fcg_gcssold, hthturb_gcssold, hqturb_gcssold
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Declarations specifiques au cas Arm_cu
        character*80 :: fich_armcu


        integer nlev_armcu, nt_armcu
        parameter (nlev_armcu=40, nt_armcu=31)
        integer year_ini_armcu, day_ini_armcu, mth_ini_armcu
        real  heure_ini_armcu
        real day_ju_ini_armcu                                ! Julian day of armcu case first day
        parameter (year_ini_armcu=1997) 
        parameter (mth_ini_armcu=6)
        parameter (day_ini_armcu=21)  ! 172 = 21 juin 1997
        parameter (heure_ini_armcu=41400)   ! 11:30 en secondes
        real dt_armcu
        parameter (dt_armcu=1.*1800.)   ! forcages donnes ttes les demi-heures par ifa_armcu.txt
        real sens_armcu(nt_armcu),flat_armcu(nt_armcu)
        real adv_theta_armcu(nt_armcu),rad_theta_armcu(nt_armcu)
        real adv_qt_armcu(nt_armcu)
        real theta_mod(llm),rv_mod(llm),play_mod(llm)
        real d_t_dyn_ls(llm),d_q_dyn_ls(llm)
! profc comme "profil armcu"
        real h_profc,play_profc,t_profc,th_profc,plev_profc
        real u_profc,v_profc,qv_profc,rv_profc
        
! forcages interpoles dans le temps
        real adv_theta_prof,rad_theta_prof,adv_qt_prof
        real sens_prof,flat_prof,fact
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! declarations specifiques au cas Sandu
        character*80 :: fich_sandu
!        integer nlev_prof
!        parameter (nlev_prof = 41)
        integer nlev_sandu, nt_sandu
        parameter (nlev_sandu=87, nt_sandu=13)
        integer year_ini_sandu, day_ini_sandu, mth_ini_sandu
        real day_ju_ini_sandu                                ! Julian day of sandu case first day
        parameter (year_ini_sandu=2006)
        parameter (mth_ini_sandu=7)
        parameter (day_ini_sandu=15)  ! 196 = 15 juillet 2006
        real dt_sandu, tau_sandu
        logical  :: trouve_700=.true.
        parameter (dt_sandu=6.*3600.)   ! forcages donnes ttes les 6 heures par ifa_sandu.txt
!       parameter (tau_sandu=3600.)  ! temps de relaxation u,v,thetal,qt vers profil init et au dessus 700hPa
!!
        integer it_sandu1, it_sandu2
        real time_sandu1,time_sandu2

        real ts_sandu(nt_sandu)
! profs comme "profil sandu"
        real plev_profs(nlev_sandu)
        real t_profs(nlev_sandu),thl_profs(nlev_sandu)
        real q_profs(nlev_sandu)
        real u_profs(nlev_sandu),v_profs(nlev_sandu),w_profs(nlev_sandu)
        real omega_profs(nlev_sandu),o3mmr_profs(nlev_sandu)

        real thl_mod(llm),omega_mod(llm),o3mmr_mod(llm),tke_mod(llm)
! pour relaxer u,v,thl et qt vers les profils initiaux au dessus de 700hPa
        real relax_u(llm),relax_v(llm),relax_thl(llm),relax_q(llm,2)
!vertical advection computation
        real d_t_z(llm), d_q_z(llm)
        real d_t_dyn_z(llm), d_q_dyn_z(llm)
        real zz(llm)
        real zfact
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Declarations specifiques au cas Astex
        character*80 :: fich_astex
        integer nlev_astex, nt_astex
        parameter (nlev_astex=34, nt_astex=49)
        integer year_ini_astex, day_ini_astex, mth_ini_astex
        real day_ju_ini_astex                                ! Julian day of astex case first day
        parameter (year_ini_astex=1992)
        parameter (mth_ini_astex=6)
        parameter (day_ini_astex=13)  ! 165 = 13 juin 1992
        real dt_astex, tau_astex
        parameter (dt_astex=3600.)    ! forcages donnes ttes les heures par ifa_astex.txt
        integer it_astex1, it_astex2
        real time_astex1,time_astex2
        real ts_astex(nt_astex),div_astex(nt_astex),ug_astex(nt_astex)
        real vg_astex(nt_astex),ufa_astex(nt_astex),vfa_astex(nt_astex)
        real div_prof,ug_prof,vg_prof,ufa_prof,vfa_prof
! profa comme "profil astex"
        real plev_profa(nlev_astex)
        real t_profa(nlev_astex),thl_profa(nlev_astex)
        real qv_profa(nlev_astex),ql_profa(nlev_astex)
        real qt_profa(nlev_astex),o3mmr_profa(nlev_astex)
        real u_profa(nlev_astex),v_profa(nlev_astex),w_profa(nlev_astex)
        real tke_profa(nlev_astex)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

