[1] | 1 | ! |
---|
| 2 | ! $Id: iniphysiq.F 1403 2010-07-01 09:02:53Z fairhead $ |
---|
| 3 | ! |
---|
| 4 | c |
---|
| 5 | c |
---|
| 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 |
---|
| 17 | c |
---|
| 18 | c======================================================================= |
---|
| 19 | c |
---|
| 20 | c subject: |
---|
| 21 | c -------- |
---|
| 22 | c |
---|
| 23 | c Initialisation for the physical parametrisations of the LMD |
---|
| 24 | c martian atmospheric general circulation modele. |
---|
| 25 | c |
---|
| 26 | c author: Frederic Hourdin 15 / 10 /93 |
---|
| 27 | c ------- |
---|
| 28 | c |
---|
| 29 | c arguments: |
---|
| 30 | c ---------- |
---|
| 31 | c |
---|
| 32 | c input: |
---|
| 33 | c ------ |
---|
| 34 | c |
---|
| 35 | c ngrid Size of the horizontal grid. |
---|
| 36 | c All internal loops are performed on that grid. |
---|
| 37 | c nlayer Number of vertical layers. |
---|
| 38 | c pdayref Day of reference for the simulation |
---|
| 39 | c firstcall True at the first call |
---|
| 40 | c lastcall True at the last call |
---|
| 41 | c pday Number of days counted from the North. Spring |
---|
| 42 | c equinoxe. |
---|
| 43 | c |
---|
| 44 | c======================================================================= |
---|
| 45 | c |
---|
| 46 | c----------------------------------------------------------------------- |
---|
| 47 | c declarations: |
---|
| 48 | c ------------- |
---|
| 49 | |
---|
| 50 | cym#include "dimensions.h" |
---|
| 51 | cym#include "dimphy.h" |
---|
| 52 | cym#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 |
---|
| 83 | c$OMP PARALLEL PRIVATE(ibegin,iend) |
---|
| 84 | c$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 | |
---|
| 96 | c$OMP END PARALLEL |
---|
| 97 | |
---|
| 98 | print*,'ATTENTION !!! TRAVAILLER SUR INIPHYSIQ' |
---|
| 99 | print*,'CONTROLE DES LATITUDES, LONGITUDES, PARAMETRES ...' |
---|
| 100 | |
---|
| 101 | RETURN |
---|
| 102 | 9999 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 |
---|