source: LMDZ5/branches/LMDZ5-DOFOCO/libf/phylmd/write_histrac.h @ 5024

Last change on this file since 5024 was 1742, checked in by idelkadi, 12 years ago

1- Inclusion des developpements de la these de Romain Pilon sur le
lessivage des aerosols :

a/ par les pluies convectives (modifs cv30_routines et cv3_routines pour

sortir les champs nécessaires au calcul off-line ; modif cvltr)

b/ par les pluies stratiformes (modifs phytrac et introduction

lsc_scav).

2- Choix entre plusieurs schemas pour les pluies stratiformes, commande
par iflag_lscav.

3- Quelques corrections dans la convection "Nouvelle Physique" pour
assurer la conservation des traceurs (cv3p1_mixing et cva_driver) (travail
de Robin Locatelli).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.3 KB
Line 
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
Note: See TracBrowser for help on using the repository browser.