Last change
on this file since 2306 was
2293,
checked in by dcugnet, 9 years ago
|
Initial states creation routines have been reorganized and simplified.
As far as possible, dynamics and physics related routines have been
separated.
Some routines have been converted to fortran 90 and repeated codes sections
have been "factorized".
Array/vector arguments have become implicit in some routines to avoid usage
of "dimensions.h" ; possible for routines with explicit interfaces and if
iim and jjm can be deduced from arguments sizes.
- dynlonlat_phylonlat/ce0l.F90 calls now phylmd/etat0phys_netcdf.F90 and
dyn3d/etat0dyn_netcdf.F90 that replace phylmd/etat0_netcdf.F90.
start.nc and startphy.nc creations are now independant.
- startvar.F90 has been suppressed ; corresponding operations have been
simplified and embedded in etat0*_netcdf.F90 routines as internal
procedures.
- Routines converted to fortran 90 and "factorized":
- dyn3d_common/conf_dat_m.F90 (replaces dyn3d_common/conf_dat2d.F
and dyn3d_common/conf_dat3d.F)
- dyn3d/dynredem.F90 (replaces dyn3d/dynredem.F)
- dyn3d/dynetat0.F90 (replaces dyn3d/dynetat0.F)
- phylmd/grid_noro_m.F90 (replaces dyn3d_common/grid_noro.F)
- dynlonlat_phylonlat/grid_atob_m.F90 (replaces dyn3d_common/grid_atob.F)
- dyn3d_common/caldyn0.F90 (replaces dyn3d_common/caldyn0.F)
- dyn3d_common/covcont.F90 (replaces dyn3d_common/covcont.F)
- dyn3d_common/pression.F90 (replaces dyn3d_common/pression.F)
- phylmd/phyredem.F90 and phylmd/limit_netcdf.F90 have been slightly
factorized.
TO DO:
- little fix needed in grid_noro_m.F90 ; untouched yet to ensure results
are exactly the same as before. Unsmoothed orography is used to compute
"zphi", but smoothed (should be unsmoothed) one is used at poles.
- add the dyn3dmem versions of dynredem.F90 and dynetat0.F90
(dynredem_loc.F90 and dynetat0_loc.F90, untested yet).
- test compilation in parallel mode for a single processor.
|
File size:
1.3 KB
|
Rev | Line | |
---|
[2293] | 1 | SUBROUTINE covcont (klevel,ucov, vcov, ucont, vcont ) |
---|
| 2 | ! |
---|
| 3 | !------------------------------------------------------------------------------- |
---|
| 4 | ! Author: P. Le Van |
---|
| 5 | !------------------------------------------------------------------------------- |
---|
| 6 | ! Purpose: Compute contravariant components from covariant components. |
---|
| 7 | !------------------------------------------------------------------------------- |
---|
| 8 | IMPLICIT NONE |
---|
| 9 | include "dimensions.h" |
---|
| 10 | include "paramet.h" |
---|
| 11 | include "comgeom.h" |
---|
| 12 | !=============================================================================== |
---|
| 13 | ! Arguments: |
---|
| 14 | INTEGER, INTENT(IN) :: klevel !--- VERTICAL LEVELS NUMBER |
---|
| 15 | REAL, INTENT(IN) :: ucov ( ip1jmp1,klevel ) !--- U COVARIANT WIND |
---|
| 16 | REAL, INTENT(IN) :: vcov ( ip1jm ,klevel ) !--- V COVARIANT WIND |
---|
| 17 | REAL, INTENT(OUT) :: ucont( ip1jmp1,klevel ) !--- U CONTRAVAR WIND |
---|
| 18 | REAL, INTENT(OUT) :: vcont( ip1jm ,klevel ) !--- V CONTRAVAR WIND |
---|
| 19 | !=============================================================================== |
---|
| 20 | ! Local variables: |
---|
| 21 | INTEGER :: l |
---|
| 22 | !=============================================================================== |
---|
| 23 | DO l=1,klevel |
---|
| 24 | ucont(iip2:ip1jm,l)=ucov(iip2:ip1jm,l) * unscu2(iip2:ip1jm) |
---|
| 25 | vcont( 1:ip1jm,l)=vcov( 1:ip1jm,l) * unscv2( 1:ip1jm) |
---|
| 26 | END DO |
---|
| 27 | |
---|
| 28 | END SUBROUTINE covcont |
---|
| 29 | |
---|
Note: See
TracBrowser
for help on using the repository browser.