source: LMDZ6/branches/IPSL-CM6A-MR/libf/phy_common/init_print_control_mod.F90 @ 5420

Last change on this file since 5420 was 3435, checked in by Laurent Fairhead, 6 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: 2.0 KB
Line 
1MODULE init_print_control_mod
2
3! init_print_control to initialize print_control_mod variables
4! not included there because of circular dependecy issues
5
6CONTAINS
7
8  SUBROUTINE init_print_control
9  USE print_control_mod, ONLY : set_print_control
10  USE ioipsl_getin_p_mod, ONLY : getin_p
11  USE mod_phys_lmdz_para, ONLY: is_omp_root, is_master
12  IMPLICIT NONE
13
14    INTEGER :: lunout ! default output file identifier (6==screen)
15    INTEGER :: prt_level ! Output level
16    LOGICAL :: debug ! flag to specify if in "debug mode"
17    LOGICAL :: opened
18    INTEGER :: number
19   
20    !Config  Key  = prt_level
21    !Config  Desc = niveau d'impressions de débogage
22    !Config  Def  = 0
23    !Config  Help = Niveau d'impression pour le débogage
24    !Config         (0 = minimum d'impression)
25    prt_level = 0
26    CALL getin_p('prt_level',prt_level)
27
28    !Config  Key  = lunout
29    !Config  Desc = unite de fichier pour les impressions
30    !Config  Def  = 6
31    !Config  Help = unite de fichier pour les impressions
32    !Config         (defaut sortie standard = 6)
33    lunout=6
34    CALL getin_p('lunout', lunout)
35
36    IF (is_omp_root) THEN
37      IF (lunout /= 5 .and. lunout /= 6) THEN
38         INQUIRE(FILE='lmdz.out_0000',OPENED=opened,NUMBER=number)
39         IF (opened) THEN
40           lunout=number
41         ELSE
42           OPEN(UNIT=lunout,FILE='lmdz.out_0000',ACTION='write',  &
43                STATUS='unknown',FORM='formatted')
44         ENDIF
45      ENDIF
46    ENDIF
47
48    !Config  Key  = debug
49    !Config  Desc = mode debogage
50    !Config  Def  = false
51    !Config  Help = positionne le mode debogage
52
53    debug = .FALSE.
54    CALL getin_p('debug',debug)
55   
56    IF (is_master) THEN
57      WRITE(lunout,*)"init_print_control: prt_level=",prt_level
58      WRITE(lunout,*)"init_print_control: lunout=",lunout
59      WRITE(lunout,*)"init_print_control: debug=",debug     
60    ENDIF
61   
62    CALL set_print_control(lunout,prt_level,debug)
63
64  END SUBROUTINE init_print_control 
65
66END MODULE init_print_control_mod
67
Note: See TracBrowser for help on using the repository browser.