My Project
 All Classes Files Functions Variables Macros
write_histrac.h
Go to the documentation of this file.
1 !$Id $
2 !***************************************
3 ! ECRITURE DU FICHIER : histrac.nc
4 !***************************************
5  IF (ecrit_tra > 0.) THEN
6 
7  itau_w = itau_phy + nstep + start_time * day_step / iphysiq
8 
9  CALL histwrite_phy(nid_tra,.FALSE.,"phis",itau_w,pphis)
10  CALL histwrite_phy(nid_tra,.FALSE.,"aire",itau_w,airephy)
11  CALL histwrite_phy(nid_tra,.FALSE.,"zmasse",itau_w,zmasse)
12 ! RomP >>>
13  CALL histwrite_phy(nid_tra,.FALSE.,"sourceBE",itau_w,sourceBE)
14 ! RomP <<<
15 
16 !TRACEURS
17 !----------------
18  DO it=1,nbtr
19  iiq=niadv(it+2)
20 
21 ! CONCENTRATIONS
22  CALL histwrite_phy(nid_tra,.FALSE.,tname(iiq),itau_w,tr_seri(:,:,it))
23 
24 ! TD LESSIVAGE
25  IF (lessivage .AND. aerosol(it)) THEN
26  CALL histwrite_phy(nid_tra,.FALSE.,"fl"//tname(iiq),itau_w,flestottr(:,:,it))
27  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_ls_"//tname(iiq),itau_w,d_tr_ls(:,:,it))
28  IF(iflag_lscav .EQ. 3 .OR. iflag_lscav .EQ. 4) then
29  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_insc_"//tname(iiq),itau_w,d_tr_insc(:,:,it))
30  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_bcscav_"//tname(iiq),itau_w,d_tr_bcscav(:,:,it))
31  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_evls_"//tname(iiq),itau_w,d_tr_evapls(:,:,it))
32  CALL histwrite_phy(nid_tra,.FALSE.,"qpr_ls_"//tname(iiq),itau_w,qPrls(:,it))
33  ENDIF
34  ENDIF
35 
36 ! TD THERMIQUES
37  IF (iflag_thermals.gt.0) THEN
38  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_th_"//tname(iiq),itau_w,d_tr_th(:,:,it))
39  ENDIF
40 
41 ! TD CONVECTION
42  IF (iflag_con.GE.2) THEN
43  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_cv_"//tname(iiq),itau_w,d_tr_cv(:,:,it))
44  ENDIF
45 
46 ! TD COUCHE-LIMITE
47  IF (couchelimite) THEN
48  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_cl_"//tname(iiq),itau_w,d_tr_cl(:,:,it))
49  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_dry_"//tname(iiq),itau_w,d_tr_dry(:,it))
50  CALL histwrite_phy(nid_tra,.FALSE.,"flux_tr_dry_"//tname(iiq),itau_w,flux_tr_dry(:,it))
51  ENDIF
52 
53 ! TD radio-decroissance
54  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_dec_"//tname(iiq),itau_w,d_tr_dec(:,:,it))
55 
56 ! RomP >>>
57  IF (iflag_con.EQ.30) THEN
58  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_cvMA_"//tname(iiq),itau_w,dtrcvMA(:,:,it))
59  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_trsp_"//tname(iiq),itau_w,d_tr_trsp(:,:,it))
60  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_sscav_"//tname(iiq),itau_w,d_tr_sscav(:,:,it))
61  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_sat_"//tname(iiq),itau_w,d_tr_sat(:,:,it))
62  CALL histwrite_phy(nid_tra,.FALSE.,"d_tr_uscav_"//tname(iiq),itau_w,d_tr_uscav(:,:,it))
63  CALL histwrite_phy(nid_tra,.FALSE.,"tr_pr_"//tname(iiq),itau_w,qPr(:,:,it))
64  CALL histwrite_phy(nid_tra,.FALSE.,"tr_aa_"//tname(iiq),itau_w,qPa(:,:,it))
65  CALL histwrite_phy(nid_tra,.FALSE.,"tr_mel_"//tname(iiq),itau_w,qMel(:,:,it))
66  CALL histwrite_phy(nid_tra,.FALSE.,"tr_di_"//tname(iiq),itau_w,qDi(:,:,it))
67  CALL histwrite_phy(nid_tra,.FALSE.,"tr_trspdi_"//tname(iiq),itau_w,qTrdi(:,:,it))
68  CALL histwrite_phy(nid_tra,.FALSE.,"zmfd1a_"//tname(iiq),itau_w,zmfd1a(:,:,it))
69  CALL histwrite_phy(nid_tra,.FALSE.,"zmfphi2_"//tname(iiq),itau_w,zmfphi2(:,:,it))
70  CALL histwrite_phy(nid_tra,.FALSE.,"zmfdam_"//tname(iiq),itau_w,zmfdam(:,:,it))
71  ENDIF
72  CALL histwrite_phy(nid_tra,.FALSE.,"dtrdyn_"//tname(iiq),itau_w,d_tr_dyn(:,:,it))
73 ! RomP <<<
74  ENDDO
75 !---------------
76 !
77 !
78 ! VENT (niveau 1)
79  CALL histwrite_phy(nid_tra,.FALSE.,"pyu1",itau_w,yu1)
80  CALL histwrite_phy(nid_tra,.FALSE.,"pyv1",itau_w,yv1)
81 !
82 ! TEMPERATURE DU SOL
83  zx_tmp_fi2d(:)=ftsol(:,1)
84  CALL histwrite_phy(nid_tra,.FALSE.,"ftsol1",itau_w,zx_tmp_fi2d)
85  zx_tmp_fi2d(:)=ftsol(:,2)
86  CALL histwrite_phy(nid_tra,.FALSE.,"ftsol2",itau_w,zx_tmp_fi2d)
87  zx_tmp_fi2d(:)=ftsol(:,3)
88  CALL histwrite_phy(nid_tra,.FALSE.,"ftsol3",itau_w,zx_tmp_fi2d)
89  zx_tmp_fi2d(:)=ftsol(:,4)
90  CALL histwrite_phy(nid_tra,.FALSE.,"ftsol4",itau_w,zx_tmp_fi2d)
91 !
92 ! NATURE DU SOL
93  zx_tmp_fi2d(:)=pctsrf(:,1)
94  CALL histwrite_phy(nid_tra,.FALSE.,"psrf1",itau_w,zx_tmp_fi2d)
95  zx_tmp_fi2d(:)=pctsrf(:,2)
96  CALL histwrite_phy(nid_tra,.FALSE.,"psrf2",itau_w,zx_tmp_fi2d)
97  zx_tmp_fi2d(:)=pctsrf(:,3)
98  CALL histwrite_phy(nid_tra,.FALSE.,"psrf3",itau_w,zx_tmp_fi2d)
99  zx_tmp_fi2d(:)=pctsrf(:,4)
100  CALL histwrite_phy(nid_tra,.FALSE.,"psrf4",itau_w,zx_tmp_fi2d)
101 
102 ! DIVERS
103  CALL histwrite_phy(nid_tra,.FALSE.,"Mint",itau_w,Mint(:,:))
104  CALL histwrite_phy(nid_tra,.FALSE.,"frac_impa",itau_w,frac_impa(:,:))
105  CALL histwrite_phy(nid_tra,.FALSE.,"frac_nucl",itau_w,frac_nucl(:,:))
106 
107 
108  CALL histwrite_phy(nid_tra,.FALSE.,"pplay",itau_w,pplay)
109  CALL histwrite_phy(nid_tra,.FALSE.,"T",itau_w,t_seri)
110  CALL histwrite_phy(nid_tra,.FALSE.,"mfu",itau_w,pmfu)
111  CALL histwrite_phy(nid_tra,.FALSE.,"mfd",itau_w,pmfd)
112  CALL histwrite_phy(nid_tra,.FALSE.,"en_u",itau_w,pen_u)
113  CALL histwrite_phy(nid_tra,.FALSE.,"en_d",itau_w,pen_d)
114  CALL histwrite_phy(nid_tra,.FALSE.,"de_d",itau_w,pde_d)
115  CALL histwrite_phy(nid_tra,.FALSE.,"de_u",itau_w,pde_u)
116  CALL histwrite_phy(nid_tra,.FALSE.,"coefh",itau_w,coefh)
117 
118  IF (ok_sync) THEN
119 !$OMP MASTER
120  CALL histsync(nid_tra)
121 !$OMP END MASTER
122  ENDIF
123 
124  ENDIF !ecrit_tra>0.
125