Last change
on this file since 5054 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
|
Rev | Line | |
---|
[2418] | 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.