54   include 
"dimensions.h" 
   57   include 
"comdissnew.h" 
   63   include 
"description.h" 
   73   REAL,
ALLOCATABLE,
SAVE  :: vcov(:,:),ucov(:,:) 
 
   74   REAL,
ALLOCATABLE,
SAVE  :: teta(:,:)     
 
   75   REAL, 
ALLOCATABLE,
SAVE :: q(:,:,:)      
 
   76   REAL,
ALLOCATABLE,
SAVE  :: ps(:)         
 
   78   REAL,
ALLOCATABLE,
SAVE  :: masse(:,:)    
 
   79   REAL,
ALLOCATABLE,
SAVE  :: phis(:)       
 
   92   real time_step, t_wrt, t_ops
 
  106   character (len=80) :: dynhist_file, dynhistave_file
 
  107   character (len=20) :: modname
 
  108   character (len=80) :: abort_message
 
  110   INTEGER :: an, mois, jour
 
  118   abort_message = 
'last timestep reached' 
  120   descript = 
'Run GCM LMDZ' 
  122   dynhist_file = 
'dyn_hist' 
  123   dynhistave_file = 
'dyn_hist_ave' 
  133        "iphysiq must be a multiple of iperiod", 1)
 
  174   if (calend == 
'earth_360d') 
then 
  175      call ioconf_calendar(
'360d')
 
  176      write(
lunout,*)
'CALENDRIER CHOISI: Terrestre a 360 jours/an' 
  177   else if (calend == 
'earth_365d') 
then 
  178      call ioconf_calendar(
'noleap')
 
  179      write(
lunout,*)
'CALENDRIER CHOISI: Terrestre a 365 jours/an' 
  180   else if (calend == 
'gregorian') 
then 
  181      call ioconf_calendar(
'gregorian')
 
  182      write(
lunout,*)
'CALENDRIER CHOISI: Terrestre bissextile' 
  184      abort_message = 
'Mauvais choix de calendrier' 
  221           teta,q,masse,ps,phis, time_0)
 
  234        'GCM: AVANT iniacademic AVANT AVANT AVANT AVANT' 
  246           'Il faut choisir un nb de pas par jour multiple de iperiod' 
  252           'Il faut choisir un nb de pas par jour multiple de iphysiq' 
  257   IF(
dtvr.NE.zdtvr) 
THEN 
  259           'WARNING!!! changement de pas de temps',
dtvr,
'>',zdtvr
 
  266      WRITE(
lunout,*)
' GCM: Attention l''heure de depart lue dans le' &
 
  267           ,
' fichier restart ne correspond pas a celle lue dans le run.def' 
  269         WRITE(
lunout,*)
'Je prends l''heure lue dans run.def' 
  272         WRITE(
lunout,*)
'Je m''arrete' 
  284           'GCM: On reinitialise a la date lue dans gcm.def' 
  287           'GCM: Attention les dates initiales lues dans le fichier' 
  289           ' restart ne correspondent pas a celles lues dans ' 
  293      write(
lunout,*)
' Pas de remise a zero' 
  324   jh_ref = jd_ref - int(jd_ref)
 
  327   call ioconf_startdate(int(jd_ref), jh_ref)
 
  330   write(
lunout,*)
'annee_ref, mois, day_ref, heure, jD_ref' 
  332   call ju2ymds(jd_ref+jh_ref,an, mois, jour, heure)
 
  333   write(
lunout,*)
'jD_ref+jH_ref,an, mois, jour, heure' 
  334   write(
lunout,*)jd_ref+jh_ref,an, mois, jour, heure
 
  379           rlatu,
rlatv,
rlonu,
rlonv,
aire,
cu,
cv,
rad,
g,
r,
cpp, &
 
  397 300 
FORMAT(
'1'/,15
x,
'run du jour',i7,2
x,
'au jour',i7//)
 
  401   write (
lunout,301)jour, mois, an
 
  403   write (
lunout,302)jour, mois, an
 
  404 301 
FORMAT(
'1'/,15
x,
'run du ', i2,
'/',i2,
'/',i4)
 
  405 302 
FORMAT(
'1'/,15
x,
'    au ', i2,
'/',i2,
'/',i4)
 
  458   CALL leapfrog_loc(ucov,vcov,teta,ps,masse,phis,q,time_0)
 
integer, dimension(:), allocatable distrib_phys
 
subroutine iniphysiq(iim, jjm, nlayer, nbp, communicator, punjours, pdayref, ptimestep, rlatu, rlatv, rlonu, rlonv, aire, cu, cv, prad, pg, pr, pcpp, iflag_phys)
 
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL ymds2ju(annee_ref, 1, day_ref, hour, zjulian)!jyg CALL histbeg_phy("histrac"
 
!$Id mode_top_bound COMMON comconstr r
 
!$Id mode_top_bound COMMON comconstr g
 
!$Header!common tracstoke istphy
 
subroutine leapfrog_loc(ucov0, vcov0, teta0, ps0, masse0, phis0, q0, time_0)
 
subroutine abort_gcm(modname, message, ierr)
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
 
!$Header!CDK comgeom COMMON comgeom aire
 
!$Header!CDK comgeom COMMON comgeom rlatu
 
!$Id ysinus ok_gradsfile hybrid COMMON logici iflag_phys
 
subroutine init_mod_hallo
 
subroutine init_const_mpi
 
!$Id mode_top_bound COMMON comconstr dtphys
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
 
!$Id mode_top_bound COMMON comconstr rad
 
!$Id mode_top_bound COMMON comconstr cpp
 
!FH On elimine toutes les clefs physiques dans la dynamique prt_level
 
subroutine iniacademic_loc(vcov, ucov, teta, q, masse, ps, phis, time_0)
 
!$Id mode_top_bound COMMON comconstr daysec
 
subroutine conf_gcm(tapedef, etatinit)
 
!$Header!CDK comgeom COMMON comgeom rlonu
 
!$Header!CDK comgeom COMMON comgeom rlatv
 
subroutine set_distrib(d)
 
subroutine inithist(day0, anne0, tstep, t_ops, t_wrt)
 
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
 
!$Id!Parameters for parameters that control the rate of approach!to quasi equilibrium noff nlm real tlcrit real entp real sigd real coeffs real dtmax real cu real betad real damp real delta COMMON cvparam nlm tlcrit sigd coeffs cu
 
!$Id mode_top_bound COMMON comconstr dtvr
 
integer, save nsplit_phys
 
!$Header!INCLUDE comdissip h COMMON comdissip tetatemp
 
c c zjulian c cym CALL iim cym klev iim
 
subroutine inidissip(lstardis, nitergdiv, nitergrot, niterh, tetagdiv, tetagrot, tetatemp, vert_prof_dissip)
 
!$Header!common tracstoke istdyn
 
subroutine dynetat0_loc(fichnom, vcov, ucov, teta, q, masse, ps, phis, time)
 
!$Header!CDK comgeom COMMON comgeom cv
 
subroutine dynredem0_loc(fichnom, iday_end, phis)
 
type(distrib), target, save distrib_caldyn
 
subroutine initdynav_loc(day0, anne0, tstep, t_ops, t_wrt)
 
!$Header!gestion des impressions de sorties et de débogage la sortie standard prt_level COMMON comprint lunout
 
!$Header!CDK comgeom COMMON comgeom rlonv