source: LMDZ4/trunk/libf/dyn3d/fxy.F @ 1403

Last change on this file since 1403 was 1403, checked in by Laurent Fairhead, 14 years ago

Merged LMDZ4V5.0-dev branch changes r1292:r1399 to trunk.

Validation:
Validation consisted in compiling the HEAD revision of the trunk,
LMDZ4V5.0-dev branch and the merged sources and running different
configurations on local and SX8 machines comparing results.

Local machine: bench configuration, 32x24x11, gfortran

  • IPSLCM5A configuration (comparison between trunk and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent
  • MH07 configuration, new physics package (comparison between LMDZ4V5.0-dev branch and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent

SX8 machine (brodie), 96x95x39 on 4 processors:

  • IPSLCM5A configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent
  • MH07 configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent

Changes to the makegcm and create_make_gcm scripts to take into account
main programs in F90 files


Fusion de la branche LMDZ4V5.0-dev (r1292:r1399) au tronc principal

Validation:
La validation a consisté à compiler la HEAD de le trunk et de la banche
LMDZ4V5.0-dev et les sources fusionnées et de faire tourner le modéle selon
différentes configurations en local et sur SX8 et de comparer les résultats

En local: 32x24x11, config bench/gfortran

  • pour une config IPSLCM5A (comparaison tronc/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux (à part sur RN et Pb)
    • fichiers histoire égaux
  • pour une config nlle physique (MH07) (comparaison LMDZ4v5.0-dev/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux
    • fichiers histoire équivalents

Sur brodie, 96x95x39 sur 4 proc:

  • pour une config IPSLCM5A:
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc
  • pour une config MH07
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc

Changement sur makegcm et create_make-gcm pour pouvoir prendre en compte des
programmes principaux en *F90

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1!
2! $Id: fxy.F 1403 2010-07-01 09:02:53Z fairhead $
3!
4      SUBROUTINE fxy (rlatu,yprimu,rlatv,yprimv,rlatu1,yprimu1,
5     ,                    rlatu2,yprimu2,
6     , rlonu,xprimu,rlonv,xprimv,rlonm025,xprimm025,rlonp025,xprimp025)
7
8      IMPLICIT NONE
9
10c     Auteur  :  P. Le Van
11c
12c     Calcul  des longitudes et des latitudes  pour une fonction f(x,y)
13c           a tangente sinusoidale et eventuellement avec zoom  .
14c
15c
16#include "dimensions.h"
17#include "paramet.h"
18#include "serre.h"
19#include "comconst.h"
20
21       INTEGER i,j
22
23       REAL rlatu(jjp1), yprimu(jjp1),rlatv(jjm), yprimv(jjm),
24     , rlatu1(jjm), yprimu1(jjm), rlatu2(jjm), yprimu2(jjm)
25       REAL rlonu(iip1),xprimu(iip1),rlonv(iip1),xprimv(iip1),
26     , rlonm025(iip1),xprimm025(iip1), rlonp025(iip1),xprimp025(iip1)
27
28#include "fxy_new.h"
29
30
31c    ......  calcul  des  latitudes  et de y'   .....
32c
33       DO j = 1, jjm + 1
34          rlatu(j) = fy    ( REAL( j )        )
35         yprimu(j) = fyprim( REAL( j )        )
36       ENDDO
37
38
39       DO j = 1, jjm
40
41         rlatv(j)  = fy    ( REAL( j ) + 0.5  )
42         rlatu1(j) = fy    ( REAL( j ) + 0.25 )
43         rlatu2(j) = fy    ( REAL( j ) + 0.75 )
44
45        yprimv(j)  = fyprim( REAL( j ) + 0.5  )
46        yprimu1(j) = fyprim( REAL( j ) + 0.25 )
47        yprimu2(j) = fyprim( REAL( j ) + 0.75 )
48
49       ENDDO
50
51c
52c     .....  calcul   des  longitudes et de  x'   .....
53c
54       DO i = 1, iim + 1
55           rlonv(i)     = fx    (   REAL( i )          )
56           rlonu(i)     = fx    (   REAL( i ) + 0.5    )
57        rlonm025(i)     = fx    (   REAL( i ) - 0.25  )
58        rlonp025(i)     = fx    (   REAL( i ) + 0.25  )
59
60         xprimv  (i)    = fxprim (  REAL( i )          )
61         xprimu  (i)    = fxprim (  REAL( i ) + 0.5    )
62        xprimm025(i)    = fxprim (  REAL( i ) - 0.25   )
63        xprimp025(i)    = fxprim (  REAL( i ) + 0.25   )
64       ENDDO
65
66c
67       RETURN
68       END
69
Note: See TracBrowser for help on using the repository browser.