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

Last change on this file since 5166 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
RevLine 
[524]1!
[1403]2! $Id: write_histmthNMC.h 1403 2010-07-01 09:02:53Z idelkadi $
[524]3!
[1374]4      IF (ok_histNMC(1)) THEN
[524]5c
[644]6       ndex3d = 0
7       itau_w = itau_phy + itap
8ccc
9c  Champs interpolles sur des niveaux de pression du NMC
[524]10c
[1352]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
[644]15ccc
[1352]16       CALL histwrite_phy(nid_mthnmc,"tnondef",itau_w,tnondef(:,:,1))
[524]17c
[1359]18       CALL histwrite_phy(nid_mthnmc,"ta",itau_w,twriteSTD(:,:,1))
[524]19c
[1352]20       CALL histwrite_phy(nid_mthnmc,"zg",itau_w,phiwriteSTD(:,:,1))
[524]21c
[1352]22       CALL histwrite_phy(nid_mthnmc,"hus",itau_w,qwriteSTD(:,:,1))
[524]23c
[1352]24       CALL histwrite_phy(nid_mthnmc,"hur",itau_w,rhwriteSTD(:,:,1))
[644]25c
[1352]26       CALL histwrite_phy(nid_mthnmc,"ua",itau_w,uwriteSTD(:,:,1))
[644]27c
[1352]28       CALL histwrite_phy(nid_mthnmc,"va",itau_w,vwriteSTD(:,:,1))
[644]29c
[1352]30       CALL histwrite_phy(nid_mthnmc,"wap",itau_w,wwriteSTD(:,:,1))
[644]31c
32       DO k=1, nlevSTD
33        DO i=1, klon
[1352]34         IF(tnondef(i,k,1).NE.missing_val) THEN
[1398]35          zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,1))/freq_moyNMC(1)
[644]36         ELSE
[1352]37          zx_tmp_fiNC(i,k) = missing_val
[524]38         ENDIF
[644]39        ENDDO
40       ENDDO !k=1, nlevSTD
[524]41c
[1352]42       CALL histwrite_phy(nid_mthnmc,"psbg",itau_w,zx_tmp_fiNC)
[524]43c
[1352]44       CALL histwrite_phy(nid_mthnmc,"uv",itau_w,uvsumSTD(:,:,1))
[524]45c
[1352]46       CALL histwrite_phy(nid_mthnmc,"vq",itau_w,vqsumSTD(:,:,1))
[524]47c
[1352]48       CALL histwrite_phy(nid_mthnmc,"vT",itau_w,vTsumSTD(:,:,1))
[524]49c
[1352]50       CALL histwrite_phy(nid_mthnmc,"wq",itau_w,wqsumSTD(:,:,1))
[524]51c
[1352]52       CALL histwrite_phy(nid_mthnmc,"vphi",itau_w,vphisumSTD(:,:,1))
[524]53c
[1352]54       CALL histwrite_phy(nid_mthnmc,"wT",itau_w,wTsumSTD(:,:,1))
[524]55c
[1352]56       CALL histwrite_phy(nid_mthnmc,"uxu",itau_w,u2sumSTD(:,:,1))
[644]57c
[1352]58       CALL histwrite_phy(nid_mthnmc,"vxv",itau_w,v2sumSTD(:,:,1))
[644]59c
[1352]60       CALL histwrite_phy(nid_mthnmc,"TxT",itau_w,T2sumSTD(:,:,1))
[644]61c
[1398]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
[524]89      if (ok_sync) then
[766]90c$OMP MASTER
[1352]91        call histsync(nid_mthnmc)
[766]92c$OMP END MASTER
[524]93      endif
[1374]94c
95      ENDIF !(ok_histNMC(1)) THEN
Note: See TracBrowser for help on using the repository browser.