source: trunk/libf/dyn3d/ce0l.F90 @ 97

Last change on this file since 97 was 97, checked in by slebonnois, 14 years ago

Serie de modifs SL pour homogeneisation des phytitan et phyvenus
Ca touche aussi aux liens phy/dyn (surtout a propos de clesphy0),
a verifier avec les autres, donc...

File size: 3.3 KB
Line 
1!
2! $Id: ce0l.F90 1425 2010-09-02 13:45:23Z lguez $
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  REAL,    DIMENSION(iip1,jjp1) :: masque
42  CHARACTER(LEN=15)             :: calnd
43!-------------------------------------------------------------------------------
44  CALL conf_gcm( 99, .TRUE. )
45
46  CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/))
47  WRITE(lunout,*)'---> klon=',klon
48  CALL InitComgeomphy
49
50#ifdef CPP_IOIPSL
51  SELECT CASE(calend)
52    CASE('earth_360d');CALL ioconf_calendar('360d');      calnd='a 360 jours/an'
53    CASE('earth_365d');CALL ioconf_calendar('noleap');    calnd='a 365 jours/an'
54    CASE('earth_366d');CALL ioconf_calendar('366d');      calnd='bissextile'
55    CASE('gregorian'); CALL ioconf_calendar('gregorian'); calnd='gregorien'
56    CASE('standard');  CALL ioconf_calendar('gregorian'); calnd='gregorien'
57    CASE('julian');    CALL ioconf_calendar('julian');    calnd='julien'
58    CASE('proleptic_gregorian'); CALL ioconf_calendar('gregorian')
59  !--- DC Bof...  => IOIPSL a mettre a jour: proleptic_gregorian /= gregorian
60    CASE DEFAULT
61      CALL abort_gcm('ce0l','Mauvais choix de calendrier',1)
62  END SELECT
63  WRITE(lunout,*)'CALENDRIER CHOISI: Terrestre '//TRIM(calnd)
64#endif
65
66  IF (config_inca /= 'none') THEN
67#ifdef INCA
68    CALL init_const_lmdz(nbtr,anneeref,dayref,iphysiq,day_step,nday)
69    CALL init_inca_para(iim,jjm+1,klon,1,klon_mpi_para_nb,0)
70    WRITE(lunout,*)'nbtr =' , nbtr
71#endif
72  END IF
73
74  WRITE(lunout,'(//)')
75  WRITE(lunout,*) '  *********************  '
76  WRITE(lunout,*) '  ***  etat0_netcdf ***  '
77  WRITE(lunout,*) '  *********************  '
78  WRITE(lunout,'(//)')
79  WRITE(lunout,*) ' interbar = ',interbar
80  CALL etat0_netcdf(interbar,masque,ok_etat0)
81
82  IF(ok_limit) THEN
83  WRITE(lunout,'(//)')
84  WRITE(lunout,*) '  *********************  '
85  WRITE(lunout,*) '  ***  Limit_netcdf ***  '
86  WRITE(lunout,*) '  *********************  '
87  WRITE(lunout,'(//)')
88  CALL limit_netcdf(interbar,extrap,oldice,masque)
89  END IF
90
91#endif
92! of #ifndef CPP_EARTH #else
93
94END PROGRAM ce0l
95!
96!-------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.