source: LMDZ6/trunk/libf/phy_common/print_control_mod.F90 @ 3435

Last change on this file since 3435 was 3435, checked in by Laurent Fairhead, 5 years ago

"Historic" :-) commit merging the physics branch used for DYNAMICO with the LMDZ trunk.
The same physics branch can now be used seamlessly with the traditional lon-lat LMDZ
dynamical core and DYNAMICO.
Testing consisted in running a lon-lat LMDZ bucket simulation with the NPv6.1 physics package
with the original trunk sources and the merged sources. Tests were succesful in the sense that
numeric continuity was preserved in the restart files from both simulation. Further tests
included running both versions of the physics codes for one year in a LMDZOR setting in which
the restart files also came out identical.

Caution:

  • as the physics package now manages unstructured grids, grid information needs to be transmitted

to the surface scheme ORCHIDEE. This means that the interface defined in surf_land_orchidee_mod.F90
is only compatible with ORCHIDEE version orchidee2.1 and later versions. If previous versions of
ORCHIDEE need to be used, the CPP key ORCHIDEE_NOUNSTRUCT needs to be set at compilation time.
This is done automatically if makelmdz/makelmdz_fcm are called with the veget orchidee2.0 switch

  • due to a limitation in XIOS, the time at which limit conditions will be read in by DYNAMICO will be

delayed by one physic timestep with respect to the time it is read in by the lon-lat model. This is caused
by the line

IF (MOD(itime-1, lmt_pas) == 0 .OR. (jour_lu /= jour .AND. grid_type /= unstructured)) THEN ! time to read

in limit_read_mod.F90

Work still needed on COSP integration and XML files for DYNAMICO

EM, YM, LF

File size: 716 bytes
Line 
1! $Id: $
2MODULE print_control_mod
3
4  INTEGER,SAVE :: lunout ! default output file identifier (6==screen)
5  INTEGER,SAVE :: prt_level ! debug output level
6  LOGICAL,SAVE :: debug ! flag to specify if in "debug mode"
7!$OMP THREADPRIVATE(lunout,prt_level,debug)
8
9  ! NB: Module variable Initializations done by set_print_control
10  !     routine from init_print_control_mod to avoid circular
11  !     module dependencies
12
13CONTAINS
14
15  SUBROUTINE set_print_control(lunout_,prt_level_,debug_)
16  IMPLICIT NONE
17    INTEGER :: lunout_
18    INTEGER :: prt_level_
19    LOGICAL :: debug_
20     
21    lunout = lunout_
22    prt_level = prt_level_
23    debug = debug_
24   
25  END SUBROUTINE set_print_control
26
27END MODULE print_control_mod
Note: See TracBrowser for help on using the repository browser.