source: LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3dpar/create_etat0_limit.F @ 3603

Last change on this file since 3603 was 1299, checked in by Laurent Fairhead, 15 years ago

Nettoyage general pour se rapprocher des normes et éviter des erreurs a la
compilation:

  • tous les FLOAT() sont remplacés par des REAL()
  • tous les STOP dans phylmd sont remplacés par des appels à abort_gcm
  • le common control défini dans le fichier control.h est remplacé par le module control_mod pour éviter des messages sur l'alignement des variables dans les déclarations
  • des $Header$ remplacés par des $Id$ pour svn

Quelques remplacements à faire ont pu m'échapper


General cleanup of the code to try and adhere to norms and to prevent some
compilation errors:

  • all FLOAT() instructions have been replaced by REAL() instructions
  • all STOP instructions in phylmd have been replaced by calls to abort_gcm
  • the common block control defined in the control.h file has been replaced by the control_mod to prevent compilation warnings on the alignement of declared variables
  • $Header$ replaced by $Id$ for svn

Some changes which should have been made might have escaped me

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
RevLine 
[1000]1!
[1279]2! $Id: create_etat0_limit.F 1299 2010-01-20 14:27:21Z musat $
[1000]3!
4       PROGRAM create_etat0_limit
[1279]5#ifdef CPP_EARTH
6! This prog. is designed to work for Earth
[1000]7       USE dimphy
8       USE comgeomphy
9       USE mod_phys_lmdz_para
10       USE mod_const_mpi
[1146]11       USE infotrac
[1299]12      USE control_mod
[1279]13#ifdef CPP_IOIPSL
14       use ioipsl, only: ioconf_calendar
15#endif
[1000]16       IMPLICIT NONE
17c
18c
19c     Programme d'appel a etat0, creation des etats initiaux et limit_netcdf
20c   
21c
22c     interbar = .T . si appel a  interpol. barycentrique inter_barxy
23c
24c     extrap   = .T . si on fait une extrapolation de donnees , comme pour
25c       les  SST  lorsque  le fichier ne contient pas uniquement  des points
26c     oceaniques .
27c
28c     oldice   = .T. si l'on veut garder les anciennes glaces , obtenues
29c     par  grille_m  ( grid_atob ) .
30c
31c     on cree le masque dans etat0 que l'on passe ensuite dans limit pour
32c     garder les coherences
33
34      LOGICAL interbar, extrap , oldice
35      PARAMETER ( interbar = .true. , extrap = .FALSE. , oldice=.false.)
36#include "dimensions.h"
37#include "paramet.h"
38#include "indicesol.h"
39      REAL :: masque(iip1,jjp1)
40!      REAL :: pctsrf(iim*(jjm-1)+2, nbsrf)
41
42      IF (config_inca /= 'none') THEN
43#ifdef INCA
[1017]44         call init_const_lmdz(
[1146]45     $        nbtr,anneeref,dayref,
[1279]46     $        iphysiq, day_step,nday)
[1000]47#endif
[1146]48         print *, 'nbtr =' , nbtr
[1000]49      END IF
50
51      CALL init_mpi
52
53
[1146]54      CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/))
[1000]55      PRINT *,'---> klon=',klon
56
57      IF (mpi_size>1 .OR. omp_size>1) THEN
58        CALL abort_gcm('create_etat0_limit','In parallel mode,
59     &                 create_etat0_limit must be called only
60     &                 for 1 process and 1 task')
61      ENDIF
62      call InitComgeomphy
63
[1279]64#ifdef CPP_IOIPSL
65      call ioconf_calendar('360d')
66#endif
67
[1000]68      WRITE(6,*) '  *********************  '
69      WRITE(6,*) ' interbar = ',interbar
70      CALL etat0_netcdf ( interbar, masque )
71c
72      WRITE(6,1)
73      WRITE(6,*) '  *********************  '
74      WRITE(6,*) '  ***  Limit_netcdf ***  '
75      WRITE(6,*) '  *********************  '
76      WRITE(6,1)
77     
78c     
79      CALL  limit_netcdf ( interbar, extrap , oldice, masque)
80
811     FORMAT(//)
82
[1279]83#endif
84! of #ifdef CPP_EARTH
[1000]85      STOP
86      END
Note: See TracBrowser for help on using the repository browser.