source: LMDZ4/trunk/libf/dyn3d/ce0l.F90 @ 1403

Last change on this file since 1403 was 1403, checked in by Laurent Fairhead, 14 years ago

Merged LMDZ4V5.0-dev branch changes r1292:r1399 to trunk.

Validation:
Validation consisted in compiling the HEAD revision of the trunk,
LMDZ4V5.0-dev branch and the merged sources and running different
configurations on local and SX8 machines comparing results.

Local machine: bench configuration, 32x24x11, gfortran

  • IPSLCM5A configuration (comparison between trunk and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent
  • MH07 configuration, new physics package (comparison between LMDZ4V5.0-dev branch and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent

SX8 machine (brodie), 96x95x39 on 4 processors:

  • IPSLCM5A configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent
  • MH07 configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent

Changes to the makegcm and create_make_gcm scripts to take into account
main programs in F90 files


Fusion de la branche LMDZ4V5.0-dev (r1292:r1399) au tronc principal

Validation:
La validation a consisté à compiler la HEAD de le trunk et de la banche
LMDZ4V5.0-dev et les sources fusionnées et de faire tourner le modéle selon
différentes configurations en local et sur SX8 et de comparer les résultats

En local: 32x24x11, config bench/gfortran

  • pour une config IPSLCM5A (comparaison tronc/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux (à part sur RN et Pb)
    • fichiers histoire égaux
  • pour une config nlle physique (MH07) (comparaison LMDZ4v5.0-dev/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux
    • fichiers histoire équivalents

Sur brodie, 96x95x39 sur 4 proc:

  • pour une config IPSLCM5A:
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc
  • pour une config MH07
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc

Changement sur makegcm et create_make-gcm pour pouvoir prendre en compte des
programmes principaux en *F90

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.3 KB
Line 
1!
2! $Id: ce0l.F90 1403 2010-07-01 09:02:53Z fairhead $
3!
4!-------------------------------------------------------------------------------
5!
6PROGRAM ce0l
7!-------------------------------------------------------------------------------
8! Purpose: Calls etat0, creates initial states and limit_netcdf
9!
10!     interbar=.T. for barycentric interpolation inter_barxy
11!     extrap  =.T. for data extrapolation, like for the SSTs when file does not
12!                  contain ocean points only.
13!     oldice  =.T. for old-style ice, obtained using grille_m (grid_atob).
14!     masque is created in etat0, passed to limit to ensure consistancy.
15!-------------------------------------------------------------------------------
16  USE control_mod
17#ifdef CPP_EARTH
18! This prog. is designed to work for Earth
19  USE dimphy
20  USE comgeomphy
21  USE infotrac
22
23#ifdef CPP_IOIPSL
24  USE ioipsl, ONLY: ioconf_calendar
25#endif
26
27#endif
28  IMPLICIT NONE
29#ifndef CPP_EARTH
30  WRITE(lunout,*)'limit_netcdf: Earth-specific routine, needs Earth physics'
31#else
32!-------------------------------------------------------------------------------
33! Local variables:
34  LOGICAL, PARAMETER :: interbar=.TRUE., extrap=.FALSE., oldice=.FALSE.
35#include "dimensions.h"
36#include "paramet.h"
37#include "indicesol.h"
38#include "iniprint.h"
39#include "temps.h"
40#include "logic.h"
41  INTEGER, PARAMETER            :: longcles=20
42  REAL,    DIMENSION(longcles)  :: clesphy0
43  REAL,    DIMENSION(iip1,jjp1) :: masque
44  CHARACTER(LEN=15)             :: calnd
45!-------------------------------------------------------------------------------
46  CALL conf_gcm( 99, .TRUE. , clesphy0 )
47
48  CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/))
49  WRITE(lunout,*)'---> klon=',klon
50  CALL InitComgeomphy
51
52#ifdef CPP_IOIPSL
53  SELECT CASE(calend)
54    CASE('earth_360d');CALL ioconf_calendar('360d');      calnd='a 360 jours/an'
55    CASE('earth_365d');CALL ioconf_calendar('noleap');    calnd='a 365 jours/an'
56    CASE('earth_366d');CALL ioconf_calendar('366d');      calnd='bissextile'
57    CASE('gregorian'); CALL ioconf_calendar('gregorian'); calnd='gregorien'
58    CASE('standard');  CALL ioconf_calendar('gregorian'); calnd='gregorien'
59    CASE('julian');    CALL ioconf_calendar('julian');    calnd='julien'
60    CASE('proleptic_gregorian'); CALL ioconf_calendar('gregorian')
61  !--- DC Bof...  => IOIPSL a mettre a jour: proleptic_gregorian /= gregorian
62    CASE DEFAULT
63      CALL abort_gcm('ce0l','Mauvais choix de calendrier',1)
64  END SELECT
65  WRITE(lunout,*)'CALENDRIER CHOISI: Terrestre '//TRIM(calnd)
66#endif
67
68  IF (config_inca /= 'none') THEN
69#ifdef INCA
70    CALL init_const_lmdz(nbtr,anneeref,dayref,iphysiq,day_step,nday)
71    CALL init_inca_para(iim,jjm+1,klon,1,klon_mpi_para_nb,0)
72    WRITE(lunout,*)'nbtr =' , nbtr
73#endif
74  END IF
75
76  WRITE(lunout,'(//)')
77  WRITE(lunout,*) '  *********************  '
78  WRITE(lunout,*) '  ***  etat0_netcdf ***  '
79  WRITE(lunout,*) '  *********************  '
80  WRITE(lunout,'(//)')
81  WRITE(lunout,*) ' interbar = ',interbar
82  CALL etat0_netcdf(interbar,masque,ok_etat0)
83
84  IF(ok_limit) THEN
85  WRITE(lunout,'(//)')
86  WRITE(lunout,*) '  *********************  '
87  WRITE(lunout,*) '  ***  Limit_netcdf ***  '
88  WRITE(lunout,*) '  *********************  '
89  WRITE(lunout,'(//)')
90  CALL limit_netcdf(interbar,extrap,oldice,masque)
91  END IF
92
93#endif
94! of #ifndef CPP_EARTH #else
95  STOP
96
97END PROGRAM ce0l
98!
99!-------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.