Ignore:
Timestamp:
May 10, 2022, 6:50:43 PM (2 years ago)
Author:
Laurent Fairhead
Message:

Source code and xml files needed for XIOS output in the LMDZ LonLat? dynamical core.
One flag controls everything: ok_dyn_xios. Parameters controlling outputs need to be put in the xml
files, nothing is set in the code
Work to follow on the dynzon file and the modipsl/libIGCM framework.
ok_dyn_xios = n should not change anything

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3dmem/gcm.F90

    • Property svn:keywords set to Id
    r4139 r4146  
    1 ! $Id: $
     1!
     2! $Id$
     3!
    24
    35PROGRAM gcm
     
    2628                       itau_dyn,itau_phy,day_ini,jD_ref,jH_ref,day_end, &
    2729                       dt,hour_ini,itaufin
     30#ifdef CPP_XIOS
     31  USE mod_xios_dyn3dmem, ONLY: xios_dyn3dmem_init
     32#endif
    2833
    2934  IMPLICIT NONE
     
    109114  INTEGER :: an, mois, jour
    110115  REAL :: heure
     116  ! needed for xios interface
     117  character (len=10) :: xios_cal_type
     118  INTEGER :: anref, moisref, jourref
     119  REAL :: heureref
     120 
    111121
    112122
     
    174184     call ioconf_calendar('360d')
    175185     write(lunout,*)'CALENDRIER CHOISI: Terrestre a 360 jours/an'
     186     xios_cal_type='d360'
    176187  else if (calend == 'earth_365d') then
    177188     call ioconf_calendar('noleap')
    178189     write(lunout,*)'CALENDRIER CHOISI: Terrestre a 365 jours/an'
     190     xios_cal_type='noleap'
    179191  else if (calend == 'gregorian') then
    180192     call ioconf_calendar('gregorian')
    181193     write(lunout,*)'CALENDRIER CHOISI: Terrestre bissextile'
     194     xios_cal_type='gregorian'
    182195  else
    183196     abort_message = 'Mauvais choix de calendrier'
     
    331344  write(lunout,*)'annee_ref, mois, day_ref, heure, jD_ref'
    332345  write(lunout,*)annee_ref, mois, day_ref, heure, jD_ref
    333   call ju2ymds(jD_ref+jH_ref,an, mois, jour, heure)
     346  call ju2ymds(jD_ref+jH_ref,anref, moisref, jourref, heureref)
    334347  write(lunout,*)'jD_ref+jH_ref,an, mois, jour, heure'
    335   write(lunout,*)jD_ref+jH_ref,an, mois, jour, heure
     348  write(lunout,*)jD_ref+jH_ref,anref, moisref, jourref, heureref
    336349#else
    337350  ! Ehouarn: we still need to define JD_ref and JH_ref
     
    421434  ecripar = .TRUE.
    422435
     436#define CPP_IOIPSL
    423437#ifdef CPP_IOIPSL
    424438  time_step = zdtvr
     
    440454  dtav = iperiod*dtvr/daysec
    441455#endif
     456#undef CPP_IOIPSL
     457
     458! setting up DYN3D/XIOS inerface
     459#ifdef CPP_XIOS
     460   if (ok_dyn_xios) then
     461     CALL xios_dyn3dmem_init(xios_cal_type, anref, moisref, jourref,heureref, an,   &
     462          mois, jour, heure, zdtvr)
     463  endif
     464#endif
     465
    442466  ! #endif of #ifdef CPP_IOIPSL
    443467  !
Note: See TracChangeset for help on using the changeset viewer.