source: LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/iniphysiq.F @ 3157

Last change on this file since 3157 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: 3.0 KB
Line 
1!
2! $Id: iniphysiq.F 1299 2010-01-20 14:27:21Z fairhead $
3!
4c
5c
6      SUBROUTINE iniphysiq(ngrid,nlayer,
7     $           punjours,
8     $           pdayref,ptimestep,
9     $           plat,plon,parea,pcu,pcv,
10     $           prad,pg,pr,pcpp)
11      USE dimphy
12      USE mod_grid_phy_lmdz
13      USE mod_phys_lmdz_para
14      USE comgeomphy
15
16      IMPLICIT NONE
17c
18c=======================================================================
19c
20c   subject:
21c   --------
22c
23c   Initialisation for the physical parametrisations of the LMD
24c   martian atmospheric general circulation modele.
25c
26c   author: Frederic Hourdin 15 / 10 /93
27c   -------
28c
29c   arguments:
30c   ----------
31c
32c   input:
33c   ------
34c
35c    ngrid                 Size of the horizontal grid.
36c                          All internal loops are performed on that grid.
37c    nlayer                Number of vertical layers.
38c    pdayref               Day of reference for the simulation
39c    firstcall             True at the first call
40c    lastcall              True at the last call
41c    pday                  Number of days counted from the North. Spring
42c                          equinoxe.
43c
44c=======================================================================
45c
46c-----------------------------------------------------------------------
47c   declarations:
48c   -------------
49 
50cym#include "dimensions.h"
51cym#include "dimphy.h"
52cym#include "comgeomphy.h"
53#include "YOMCST.h"
54      REAL prad,pg,pr,pcpp,punjours
55 
56      INTEGER ngrid,nlayer
57      REAL plat(ngrid),plon(ngrid),parea(klon_glo)
58      REAL pcu(klon_glo),pcv(klon_glo)
59      INTEGER pdayref
60      INTEGER :: ibegin,iend,offset
61 
62      REAL ptimestep
63      CHARACTER (LEN=20) :: modname='iniphysiq'
64      CHARACTER (LEN=80) :: abort_message
65 
66      IF (nlayer.NE.klev) THEN
67         PRINT*,'STOP in inifis'
68         PRINT*,'Probleme de dimensions :'
69         PRINT*,'nlayer     = ',nlayer
70         PRINT*,'klev   = ',klev
71         abort_message = ''
72         CALL abort_gcm (modname,abort_message,1)
73      ENDIF
74
75      IF (ngrid.NE.klon_glo) THEN
76         PRINT*,'STOP in inifis'
77         PRINT*,'Probleme de dimensions :'
78         PRINT*,'ngrid     = ',ngrid
79         PRINT*,'klon   = ',klon_glo
80         abort_message = ''
81         CALL abort_gcm (modname,abort_message,1)
82      ENDIF
83c$OMP PARALLEL PRIVATE(ibegin,iend)
84c$OMP+         SHARED(parea,pcu,pcv,plon,plat)
85     
86      offset=klon_mpi_begin-1
87      airephy(1:klon_omp)=parea(offset+klon_omp_begin:
88     &                          offset+klon_omp_end)
89      cuphy(1:klon_omp)=pcu(offset+klon_omp_begin:offset+klon_omp_end)
90      cvphy(1:klon_omp)=pcv(offset+klon_omp_begin:offset+klon_omp_end)
91      rlond(1:klon_omp)=plon(offset+klon_omp_begin:offset+klon_omp_end)
92      rlatd(1:klon_omp)=plat(offset+klon_omp_begin:offset+klon_omp_end)
93
94      call suphel
95
96c$OMP END PARALLEL
97
98      print*,'ATTENTION !!! TRAVAILLER SUR INIPHYSIQ'
99      print*,'CONTROLE DES LATITUDES, LONGITUDES, PARAMETRES ...'
100
101      RETURN
1029999  CONTINUE
103      abort_message ='Cette version demande les fichier rnatur.dat
104     & et surf.def'
105      CALL abort_gcm (modname,abort_message,1)
106
107      END
Note: See TracBrowser for help on using the repository browser.