Last change
on this file since 3871 was
2418,
checked in by Ehouarn Millour, 9 years ago
|
Improving the physics/dynamics interface:
- added module callphysiq_mod.F90 in dynphy_lonlat/phy* which contains the routine "call_physiq" which is called by calfis* and calls the physics. This way different "physiq" routine from different physics packages may be called: The calfis* routines now exposes all available fields that might be transmitted to physiq but which is actually send (ie: expected/needed by physiq) is decided in call_physiq.
- turned "physiq.F90" into module "physiq_mod.F90" for better control of "physiq" arguments. Extracted embeded "gr_fi_ecrit" as self-standing routine (but note that this routine actually only works in serial mode).
EM
|
File size:
603 bytes
|
Line | |
---|
1 | SUBROUTINE gr_fi_ecrit(nfield,nlon,iim,jjmp1,fi,ecrit) |
---|
2 | IMPLICIT none |
---|
3 | ! |
---|
4 | ! Tranformer une variable de la grille physique a |
---|
5 | ! la grille d'ecriture |
---|
6 | ! |
---|
7 | ! WARNING: This only works on the full global grid |
---|
8 | ! (ie for GCM in serial mode) |
---|
9 | INTEGER nfield,nlon,iim,jjmp1, jjm |
---|
10 | REAL fi(nlon,nfield), ecrit(iim*jjmp1,nfield) |
---|
11 | ! |
---|
12 | INTEGER i, n, ig |
---|
13 | ! |
---|
14 | jjm = jjmp1 - 1 |
---|
15 | DO n = 1, nfield |
---|
16 | DO i=1,iim |
---|
17 | ecrit(i,n) = fi(1,n) |
---|
18 | ecrit(i+jjm*iim,n) = fi(nlon,n) |
---|
19 | ENDDO |
---|
20 | DO ig = 1, nlon - 2 |
---|
21 | ecrit(iim+ig,n) = fi(1+ig,n) |
---|
22 | ENDDO |
---|
23 | ENDDO |
---|
24 | END SUBROUTINE gr_fi_ecrit |
---|
Note: See
TracBrowser
for help on using the repository browser.