source: LMDZ4/trunk/libf/phylmd/write_histmthNMC.h @ 2955

Last change on this file since 2955 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: 2.6 KB
Line 
1!
2! $Id: write_histmthNMC.h 1403 2010-07-01 09:02:53Z musat $
3!
4      IF (ok_histNMC(1)) THEN
5c
6       ndex3d = 0
7       itau_w = itau_phy + itap
8ccc
9c  Champs interpolles sur des niveaux de pression du NMC
10c
11c     PARAMETER(nout=3) 
12c nout=1 : in=pdtphys,    out=mth
13c nout=2 : in=pdtphys,    out=day
14c nout=3 : in=pdtphys,    out=hf
15ccc
16       CALL histwrite_phy(nid_mthnmc,"tnondef",itau_w,tnondef(:,:,1))
17c
18       CALL histwrite_phy(nid_mthnmc,"ta",itau_w,twriteSTD(:,:,1))
19c
20       CALL histwrite_phy(nid_mthnmc,"zg",itau_w,phiwriteSTD(:,:,1))
21c
22       CALL histwrite_phy(nid_mthnmc,"hus",itau_w,qwriteSTD(:,:,1))
23c
24       CALL histwrite_phy(nid_mthnmc,"hur",itau_w,rhwriteSTD(:,:,1))
25c
26       CALL histwrite_phy(nid_mthnmc,"ua",itau_w,uwriteSTD(:,:,1))
27c
28       CALL histwrite_phy(nid_mthnmc,"va",itau_w,vwriteSTD(:,:,1))
29c
30       CALL histwrite_phy(nid_mthnmc,"wap",itau_w,wwriteSTD(:,:,1))
31c
32       DO k=1, nlevSTD
33        DO i=1, klon
34         IF(tnondef(i,k,1).NE.missing_val) THEN
35          zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,1))/freq_moyNMC(1)
36         ELSE
37          zx_tmp_fiNC(i,k) = missing_val
38         ENDIF
39        ENDDO
40       ENDDO !k=1, nlevSTD
41c
42       CALL histwrite_phy(nid_mthnmc,"psbg",itau_w,zx_tmp_fiNC)
43c
44       CALL histwrite_phy(nid_mthnmc,"uv",itau_w,uvsumSTD(:,:,1))
45c
46       CALL histwrite_phy(nid_mthnmc,"vq",itau_w,vqsumSTD(:,:,1))
47c
48       CALL histwrite_phy(nid_mthnmc,"vT",itau_w,vTsumSTD(:,:,1))
49c
50       CALL histwrite_phy(nid_mthnmc,"wq",itau_w,wqsumSTD(:,:,1))
51c
52       CALL histwrite_phy(nid_mthnmc,"vphi",itau_w,vphisumSTD(:,:,1))
53c
54       CALL histwrite_phy(nid_mthnmc,"wT",itau_w,wTsumSTD(:,:,1))
55c
56       CALL histwrite_phy(nid_mthnmc,"uxu",itau_w,u2sumSTD(:,:,1))
57c
58       CALL histwrite_phy(nid_mthnmc,"vxv",itau_w,v2sumSTD(:,:,1))
59c
60       CALL histwrite_phy(nid_mthnmc,"TxT",itau_w,T2sumSTD(:,:,1))
61c
62       DO k=1, nlevSTD
63        DO i=1, klon
64         IF(O3sumSTD(i,k,1).NE.missing_val) THEN
65          zx_tmp_fiNC(i,k) = O3sumSTD(i,k,1) * 1.e+9
66         ELSE
67          zx_tmp_fiNC(i,k) = missing_val
68         ENDIF
69        ENDDO
70       ENDDO !k=1, nlevSTD
71       CALL histwrite_phy(nid_mthnmc,"tro3",itau_w,
72     $ zx_tmp_fiNC)
73c
74       if (read_climoz == 2) THEN
75       DO k=1, nlevSTD
76        DO i=1, klon
77         IF(O3daysumSTD(i,k,1).NE.missing_val) THEN
78          zx_tmp_fiNC(i,k) = O3daysumSTD(i,k,1) * 1.e+9
79         ELSE
80          zx_tmp_fiNC(i,k) = missing_val
81         ENDIF
82        ENDDO
83       ENDDO !k=1, nlevSTD
84c
85        CALL histwrite_phy(nid_mthnmc,"tro3_daylight",itau_w,
86     $  zx_tmp_fiNC)
87       endif
88c
89      if (ok_sync) then
90c$OMP MASTER
91        call histsync(nid_mthnmc)
92c$OMP END MASTER
93      endif
94c
95      ENDIF !(ok_histNMC(1)) THEN
Note: See TracBrowser for help on using the repository browser.