|
Last change
on this file since 2642 was
2418,
checked in by Ehouarn Millour, 10 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.