source: LMDZ5/branches/testing/libf/phylmd/write_histmthNMC.h @ 1664

Last change on this file since 1664 was 1539, checked in by musat, 13 years ago

Ajouts CFMIP2/CMIP5

  • 6eme fichier de sortie "stations" histstn.nc qui necessite 2 fichiers (voir DefLists?): npCFMIP_param.data(_*) contenant le nombre de points (120 pour simulations AMIP, 73 pour aqua) pointlocations.txt(_*) contenant le numero, les coordonnees (lon,lat) et le nom de chaque station
  • flag LOGICAL dans tous les appels histwrite_phy pour pouvoir sortir le fichier histstn.nc

NB: 1) les flags de type phys_ que l'on met dans le physiq.def_L* pour ajouter plus de sorties

necessitent dorenavant 6 valeurs, la 6eme correspondant au fichier histstn.nc

2) par defaut le fichier histstn.nc ne sort pas; pour le sortir ajouter les lignes suivantes

dans physiq.def_L*

### Type de fichier : global (n) ou stations (y)
phys_out_filestations = n n n n n y

  • introduction de 2 jeux de flags pour les taux des GES; taux actuels avec suffixes _act, taux futurs avec "_per" avec 2 appels au rayonnement si taux "_per" different des taux "_act" (utiles pour diags. CFMIP 4CO2)
  • flags "betaCRF" pour calculs CRF pour experiences sensibilite proprietes optiques eau liquide nuageuse avec initialisations par defaut; sinon besoin de fichier beta_crf.data

Ajout flag LOGICAL lCOSP necessaire pour sortir un fichier stations
IM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.8 KB
Line 
1!
2! $Id: write_histmthNMC.h 1539 2011-06-08 22:13:33Z fairhead $
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,lNMC,"tnondef",itau_w,
17     $tnondef(:,:,1))
18c
19      CALL histwrite_phy(nid_mthnmc,lNMC,"ta",itau_w,
20     $twriteSTD(:,:,1))
21c
22      CALL histwrite_phy(nid_mthnmc,lNMC,"zg",itau_w,
23     $phiwriteSTD(:,:,1))
24c
25       CALL histwrite_phy(nid_mthnmc,lNMC,"hus",itau_w,
26     $qwriteSTD(:,:,1))
27c
28       CALL histwrite_phy(nid_mthnmc,lNMC,"hur",itau_w,
29     $rhwriteSTD(:,:,1))
30c
31       CALL histwrite_phy(nid_mthnmc,lNMC,"ua",itau_w,
32     $uwriteSTD(:,:,1))
33c
34       CALL histwrite_phy(nid_mthnmc,lNMC,"va",itau_w,
35     $vwriteSTD(:,:,1))
36c
37       CALL histwrite_phy(nid_mthnmc,lNMC,"wap",itau_w,
38     $wwriteSTD(:,:,1))
39c
40       DO k=1, nlevSTD
41        DO i=1, klon
42         IF(tnondef(i,k,1).NE.missing_val) THEN
43          zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,1))/freq_moyNMC(1)
44         ELSE
45          zx_tmp_fiNC(i,k) = missing_val
46         ENDIF
47        ENDDO
48       ENDDO !k=1, nlevSTD
49c
50      CALL histwrite_phy(nid_mthnmc,lNMC,"psbg",itau_w,
51     $zx_tmp_fiNC)
52c
53      CALL histwrite_phy(nid_mthnmc,lNMC,"uv",itau_w,
54     $uvsumSTD(:,:,1))
55c
56      CALL histwrite_phy(nid_mthnmc,lNMC,"vq",itau_w,
57     $vqsumSTD(:,:,1))
58c
59      CALL histwrite_phy(nid_mthnmc,lNMC,"vT",itau_w,
60     $vTsumSTD(:,:,1))
61c
62      CALL histwrite_phy(nid_mthnmc,lNMC,"wq",itau_w,
63     $wqsumSTD(:,:,1))
64c
65      CALL histwrite_phy(nid_mthnmc,lNMC,"vphi",itau_w,
66     $vphisumSTD(:,:,1))
67c
68       CALL histwrite_phy(nid_mthnmc,lNMC,"wT",itau_w,
69     $wTsumSTD(:,:,1))
70c
71       CALL histwrite_phy(nid_mthnmc,lNMC,"uxu",itau_w,
72     $u2sumSTD(:,:,1))
73c
74       CALL histwrite_phy(nid_mthnmc,lNMC,"vxv",itau_w,
75     $v2sumSTD(:,:,1))
76c
77       CALL histwrite_phy(nid_mthnmc,lNMC,"TxT",itau_w,
78     $T2sumSTD(:,:,1))
79c
80       DO k=1, nlevSTD
81        DO i=1, klon
82         IF(O3sumSTD(i,k,1).NE.missing_val) THEN
83          zx_tmp_fiNC(i,k) = O3sumSTD(i,k,1) * 1.e+9
84         ELSE
85          zx_tmp_fiNC(i,k) = missing_val
86         ENDIF
87        ENDDO
88       ENDDO !k=1, nlevSTD
89       CALL histwrite_phy(nid_mthnmc,lNMC,"tro3",itau_w,
90     $ zx_tmp_fiNC)
91c
92       if (read_climoz == 2) THEN
93       DO k=1, nlevSTD
94        DO i=1, klon
95         IF(O3daysumSTD(i,k,1).NE.missing_val) THEN
96          zx_tmp_fiNC(i,k) = O3daysumSTD(i,k,1) * 1.e+9
97         ELSE
98          zx_tmp_fiNC(i,k) = missing_val
99         ENDIF
100        ENDDO
101       ENDDO !k=1, nlevSTD
102c
103        CALL histwrite_phy(nid_mthnmc,lNMC,"tro3_daylight",
104     $itau_w, zx_tmp_fiNC)
105       endif
106c
107      if (ok_sync) then
108c$OMP MASTER
109        call histsync(nid_mthnmc)
110c$OMP END MASTER
111      endif
112c
113      ENDIF !(ok_histNMC(1)) THEN
Note: See TracBrowser for help on using the repository browser.