source: trunk/LMDZ.COMMON/libf/dyn3d/ce0l.F90 @ 1422

Last change on this file since 1422 was 1422, checked in by milmd, 10 years ago

In GENERIC, MARS and COMMON models replace some include files by modules (usefull for decoupling physics with dynamics).

File size: 3.7 KB
Line 
1!
2! $Id: ce0l.F90 1984 2014-02-18 09:59:29Z emillour $
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  USE indice_sol_mod
23
24#ifdef CPP_IOIPSL
25  USE ioipsl, ONLY: ioconf_calendar
26#endif
27
28#endif
29  IMPLICIT NONE
30#ifndef CPP_EARTH
31#include "iniprint.h"
32  WRITE(lunout,*)'limit_netcdf: Earth-specific routine, needs Earth physics'
33#else
34!-------------------------------------------------------------------------------
35! Local variables:
36  LOGICAL, PARAMETER :: interbar=.TRUE., extrap=.FALSE., oldice=.FALSE.
37#include "dimensions.h"
38#include "paramet.h"
39!#include "indicesol.h"
40#include "iniprint.h"
41  INTEGER, PARAMETER            :: longcles=20
42  REAL,    DIMENSION(longcles)  :: clesphy0
43  REAL,    DIMENSION(iip1,jjp1) :: masque
44  CHARACTER(LEN=15)             :: calnd
45  REAL,    DIMENSION(iip1,jjp1) :: phis ! geopotentiel au sol
46!-------------------------------------------------------------------------------
47  CALL conf_gcm( 99, .TRUE. , clesphy0 )
48
49  CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/))
50  WRITE(lunout,*)'---> klon=',klon
51  CALL InitComgeomphy
52
53#ifdef CPP_IOIPSL
54  SELECT CASE(calend)
55    CASE('earth_360d');CALL ioconf_calendar('360d');      calnd='a 360 jours/an'
56    CASE('earth_365d');CALL ioconf_calendar('noleap');    calnd='a 365 jours/an'
57    CASE('earth_366d');CALL ioconf_calendar('366d');      calnd='bissextile'
58    CASE('gregorian'); CALL ioconf_calendar('gregorian'); calnd='gregorien'
59    CASE('standard');  CALL ioconf_calendar('gregorian'); calnd='gregorien'
60    CASE('julian');    CALL ioconf_calendar('julian');    calnd='julien'
61    CASE('proleptic_gregorian'); CALL ioconf_calendar('gregorian')
62  !--- DC Bof...  => IOIPSL a mettre a jour: proleptic_gregorian /= gregorian
63    CASE DEFAULT
64      CALL abort_gcm('ce0l','Mauvais choix de calendrier',1)
65  END SELECT
66  WRITE(lunout,*)'CALENDRIER CHOISI: Terrestre '//TRIM(calnd)
67#endif
68
69  IF (type_trac == 'inca') THEN
70#ifdef INCA
71    CALL init_const_lmdz(nbtr,anneeref,dayref,iphysiq,day_step,nday)
72    CALL init_inca_para(iim,jjm+1,klon,1,klon_mpi_para_nb,0)
73    WRITE(lunout,*)'nbtr =' , nbtr
74#endif
75  END IF
76
77  WRITE(lunout,'(//)')
78  WRITE(lunout,*) '  *********************  '
79  WRITE(lunout,*) '  ***  etat0_netcdf ***  '
80  WRITE(lunout,*) '  *********************  '
81  WRITE(lunout,'(//)')
82  WRITE(lunout,*) ' interbar = ',interbar
83  CALL etat0_netcdf(interbar,masque,phis,ok_etat0)
84
85  IF(ok_limit) THEN
86  WRITE(lunout,'(//)')
87  WRITE(lunout,*) '  *********************  '
88  WRITE(lunout,*) '  ***  Limit_netcdf ***  '
89  WRITE(lunout,*) '  *********************  '
90  WRITE(lunout,'(//)')
91  CALL limit_netcdf(interbar,extrap,oldice,masque)
92  END IF
93
94 
95  WRITE(lunout,'(//)')
96  WRITE(lunout,*) '  ***************************  '
97  WRITE(lunout,*) '  ***  grilles_gcm_netcdf ***  '
98  WRITE(lunout,*) '  ***************************  '
99  WRITE(lunout,'(//)')
100  CALL grilles_gcm_netcdf_sub(masque,phis)
101
102#endif
103! of #ifndef CPP_EARTH #else
104
105END PROGRAM ce0l
106!
107!-------------------------------------------------------------------------------
108
Note: See TracBrowser for help on using the repository browser.