Changeset 634
- Timestamp:
- May 4, 2005, 5:11:29 PM (20 years ago)
- Location:
- LMDZ4/branches/LMDZ4_par_0
- Files:
-
- 77 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_par_0/libf/dyn3d/gcm.F
r633 r634 9 9 USE IOIPSL 10 10 #endif 11 12 USE dimphy 13 USE comgeomphy 11 14 12 15 IMPLICIT NONE … … 188 191 c 189 192 c 193 c------------------------------------ 194 c Initialisation partie parallele 195 c------------------------------------ 196 call InitDimphy 197 call InitComgeomphy 198 190 199 c----------------------------------------------------------------------- 191 200 c Initialisation des traceurs -
LMDZ4/branches/LMDZ4_par_0/libf/dyn3d/paramet.h
r524 r634 10 10 INTEGER jcfil,jcfllm 11 11 12 PARAMETER( iip1= iim+1-1/iim,iip2=iim+2,iip3=iim+3 13 s ,jjp1=jjm+1-1/jjm)12 PARAMETER( iip1= iim+1-1/iim,iip2=iim+2,iip3=iim+3) 13 PARAMETER( jjp1=jjm+1-1/jjm) 14 14 PARAMETER( llmp1 = llm+1, llmp2 = llm+2, llmm1 = llm-1 ) 15 15 PARAMETER( kftd = iim/2 -ndm ) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/aeropt.F
r524 r634 5 5 . tau_ae, piz_ae, cg_ae, ai ) 6 6 c 7 USE dimphy 7 8 IMPLICIT none 8 9 c 9 10 c 10 11 c 11 #include "dimensions.h"12 #include "dimphy.h"12 cym#include "dimensions.h" 13 cym#include "dimphy.h" 13 14 #include "YOMCST.h" 14 15 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ajsec.F
r524 r634 3 3 ! 4 4 SUBROUTINE ajsec(paprs, pplay, t,q, d_t,d_q) 5 USE dimphy 5 6 IMPLICIT none 6 7 c====================================================================== … … 13 14 c d_t-----output-R-Incrementation de la temperature 14 15 c====================================================================== 15 #include "dimensions.h"16 #include "dimphy.h"16 cym#include "dimensions.h" 17 cym#include "dimphy.h" 17 18 #include "YOMCST.h" 18 19 REAL paprs(klon,klev+1), pplay(klon,klev) … … 22 23 INTEGER limbas, limhau ! les couches a ajuster 23 24 ccc PARAMETER (limbas=klev-3, limhau=klev) 24 PARAMETER (limbas=1, limhau=klev)25 cym PARAMETER (limbas=1, limhau=klev) 25 26 c 26 27 LOGICAL mixq … … 38 39 c Initialisation: 39 40 c 41 cym 42 limbas=1 43 limhau=klev 44 40 45 DO k = 1, klev 41 46 DO i = 1, klon … … 149 154 END 150 155 SUBROUTINE ajsec_old(paprs, pplay, t, d_t) 156 USE dimphy 151 157 IMPLICIT none 152 158 c====================================================================== … … 159 165 c d_t-----output-R-Incrementation de la temperature 160 166 c====================================================================== 161 #include "dimensions.h"162 #include "dimphy.h"167 cym#include "dimensions.h" 168 cym#include "dimphy.h" 163 169 #include "YOMCST.h" 164 170 REAL paprs(klon,klev+1), pplay(klon,klev) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/albedo.F
r633 r634 5 5 c 6 6 SUBROUTINE alboc(rjour,rlat,albedo) 7 USE dimphy 7 8 IMPLICIT none 8 9 c====================================================================== … … 17 18 c albedo (out,R): albedo obtenu (de 0 a 1) 18 19 c====================================================================== 19 #include "dimensions.h"20 #include "dimphy.h"20 cym#include "dimensions.h" 21 cym#include "dimphy.h" 21 22 #include "YOMCST.h" 22 23 c … … 127 128 c===================================================================== 128 129 SUBROUTINE alboc_cd(rmu0,albedo) 130 USE dimphy 129 131 IMPLICIT none 130 132 c====================================================================== … … 140 142 c albedo (out): albedo de surface de l'ocean 141 143 c====================================================================== 142 #include "dimensions.h"143 #include "dimphy.h"144 cym#include "dimensions.h" 145 cym#include "dimphy.h" 144 146 REAL rmu0(klon), albedo(klon) 145 147 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/calcratqs.F
r524 r634 5 5 I paprs,pplay,q_seri,d_t_con,d_t_ajs 6 6 O ,ratqs,zpt_conv) 7 USE dimphy 7 8 IMPLICIT none 8 9 c====================================================================== … … 23 24 c pplay---input-R-pression pour le mileu de chaque couche (en Pa) 24 25 c presnivs-input_R_pressions approximat. des milieux couches ( en PA) 25 #include "dimensions.h"26 #include "dimphy.h"26 cym#include "dimensions.h" 27 cym#include "dimphy.h" 27 28 REAL paprs(klon,klev+1) 28 29 REAL pplay(klon,klev) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/calltherm.F
r633 r634 8 8 s ,fm_therm,entr_therm) 9 9 10 USE dimphy 10 11 implicit none 11 #include "dimensions.h"12 #include "dimphy.h"12 cym#include "dimensions.h" 13 cym#include "dimphy.h" 13 14 #include "thermcell.h" 14 15 … … 35 36 REAL d_u_the(klon,klev),d_v_the(klon,klev) 36 37 c 37 real zfm_therm(klon,klev+1),zentr_therm(klon,klev),zdt 38 save zentr_therm,zfm_therm 39 38 cym real zfm_therm(klon,klev+1),zentr_therm(klon,klev),zdt 39 cym save zentr_therm,zfm_therm 40 real,allocatable,dimension(:,:),save :: zfm_therm,zentr_therm 41 real :: zdt 42 logical,save :: first=.true. 40 43 integer i,k 41 44 … … 47 50 print*,'avant isplit ',nsplit_thermals 48 51 49 52 cym initialisation dynamique 53 if (first) then 54 allocate(zfm_therm(klon,klev+1),zentr_therm(klon,klev)) 55 zfm_therm(:,:)=0. 56 zentr_therm(:,:)=0. 57 first=.false. 58 endif 59 50 60 fm_therm(:,:)=0. 51 61 entr_therm(:,:)=0. -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/clmain.F
r633 r634 4 4 c 5 5 c 6 #define IO_DISCONNECTED 7 6 8 SUBROUTINE clmain(dtime,itap,date0,pctsrf,pctsrf_new, 7 9 . t,q,u,v, … … 39 41 USE ioipsl 40 42 USE interface_surf 43 USE dimphy 41 44 IMPLICIT none 42 45 c====================================================================== … … 83 86 c d_tr-------output-R tendance de traceurs 84 87 c====================================================================== 85 #include "dimensions.h"86 #include "dimphy.h"88 cym#include "dimensions.h" 89 cym#include "dimphy.h" 87 90 #include "indicesol.h" 88 91 c$$$ PB ajout pour soil … … 225 228 INTEGER nhoridbg, nidbg 226 229 SAVE nhoridbg, nidbg 230 #ifndef IO_DISCONNECTED 227 231 INTEGER ndexbg(iim*(jjm+1)) 228 232 REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1), zjulian 229 233 REAL tabindx(klon) 230 234 REAL debugtab(iim,jjm+1) 235 #endif 231 236 LOGICAL first_appel 232 237 SAVE first_appel … … 274 279 ! initialisation sorties netcdf 275 280 ! 281 #ifndef IO_DISCONNECTED 276 282 idayref = day_ini 277 283 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) … … 297 303 CALL histend(nidbg) 298 304 CALL histsync(nidbg) 305 #endif 299 306 ENDIF 300 307 … … 430 437 c variables pour avoir une sortie IOIPSL des INDEX 431 438 c 439 #ifndef IO_DISCONNECTED 432 440 IF (debugindex) THEN 433 441 tabindx(:)=0. … … 442 450 $ ,ndexbg) 443 451 ENDIF 452 #endif 453 454 fluxlat(:,nsrf) = 0. 455 444 456 IF (knon.EQ.0) GOTO 99999 445 457 DO j = 1, knon … … 927 939 928 940 USE interface_surf 929 941 USE dimphy 930 942 IMPLICIT none 931 943 c====================================================================== … … 934 946 c====================================================================== 935 947 #include "dimensions.h" 936 #include "dimphy.h"948 cym#include "dimphy.h" 937 949 #include "YOMCST.h" 938 950 #include "YOETHF.h" … … 1203 1215 ccanopy = co2_ppm 1204 1216 1217 ! if (monocpu) then 1218 1205 1219 CALL interfsurf(itime, dtime, date0, jour, rmu0, 1206 1220 e klon, iim, jjm, nisurf, knon, knindex, pctsrf, … … 1222 1236 s pctsrf_new, agesno,fqcalving,ffonte, run_off_lic_0) 1223 1237 1238 ! else 1239 1240 ! STOP 'clmain : interfsurf n est pas encore parallelise => abort' 1241 1242 ! endif 1243 1224 1244 1225 1245 do i = 1, knon … … 1268 1288 e paprs,pplay,delp, 1269 1289 s d_ven,flux_v) 1290 use dimphy 1270 1291 IMPLICIT none 1271 1292 c====================================================================== … … 1290 1311 c flux_v---output-R- (diagnostic) flux du vent: (kg m/s)/(m**2 s) 1291 1312 c====================================================================== 1292 #include "dimensions.h"1293 #include "dimphy.h"1313 cym#include "dimensions.h" 1314 cym#include "dimphy.h" 1294 1315 #include "iniprint.h" 1295 1316 INTEGER knon … … 1393 1414 . qsurf, 1394 1415 . pcfm, pcfh) 1416 USE dimphy 1395 1417 IMPLICIT none 1396 1418 c====================================================================== … … 1415 1437 c pcfh-----output-R- coefficients a calculer (chaleur et humidite) 1416 1438 c====================================================================== 1417 #include "dimensions.h"1418 #include "dimphy.h"1439 cym#include "dimensions.h" 1440 cym#include "dimphy.h" 1419 1441 #include "YOMCST.h" 1420 1442 #include "indicesol.h" … … 1462 1484 PARAMETER (mixlen=35.0) 1463 1485 INTEGER isommet ! le sommet de la couche limite 1464 PARAMETER (isommet=klev)1486 cym PARAMETER (isommet=klev) 1465 1487 LOGICAL tvirtu ! calculer Ri d'une maniere plus performante 1466 1488 PARAMETER (tvirtu=.TRUE.) … … 1510 1532 DATA appel1er /.TRUE./ 1511 1533 c 1534 cym 1535 isommet=klev 1536 1512 1537 IF (appel1er) THEN 1513 1538 if (prt_level > 9) THEN … … 1713 1738 SUBROUTINE coefkz2(nsrf, knon, paprs, pplay,t, 1714 1739 . pcfm, pcfh) 1740 USE dimphy 1715 1741 IMPLICIT none 1716 1742 c====================================================================== … … 1729 1755 c pcfh-----output-R- coefficients a calculer (chaleur et humidite) 1730 1756 c====================================================================== 1731 #include "dimensions.h"1732 #include "dimphy.h"1757 cym#include "dimensions.h" 1758 cym#include "dimphy.h" 1733 1759 #include "YOMCST.h" 1734 1760 #include "indicesol.h" … … 1816 1842 SUBROUTINE calbeta(dtime,indice,knon,snow,qsol, 1817 1843 . vbeta,vcal,vdif) 1844 USE dimphy 1818 1845 IMPLICIT none 1819 1846 c====================================================================== … … 1824 1851 c Calculer quelques parametres pour appliquer la couche limite 1825 1852 c ------------------------------------------------------------ 1826 #include "dimensions.h"1827 #include "dimphy.h"1853 cym#include "dimensions.h" 1854 cym#include "dimphy.h" 1828 1855 #include "YOMCST.h" 1829 1856 #include "indicesol.h" … … 1893 1920 . tsol,beta,u,v,t,q, 1894 1921 . cd_h, cd_m, pcfh, pcfm, cgh, cgq) 1922 USE dimphy 1895 1923 IMPLICIT none 1896 1924 c====================================================================== … … 1907 1935 c model. J. of Climate, vol. 6, 1825-1842. 1908 1936 c====================================================================== 1909 #include "dimensions.h"1910 #include "dimphy.h"1937 cym#include "dimensions.h" 1938 cym#include "dimphy.h" 1911 1939 #include "YOMCST.h" 1912 1940 #include "iniprint.h" … … 1927 1955 c 1928 1956 INTEGER isommet 1929 PARAMETER (isommet=klev)1957 cym PARAMETER (isommet=klev) 1930 1958 REAL vk 1931 1959 PARAMETER (vk=0.40) … … 2003 2031 c Initialisation 2004 2032 c 2033 cym 2034 isommet=klev 2035 2005 2036 DO i = 1, klon 2006 2037 pcfh(i,1) = cd_h(i) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/cltrac.F
r524 r634 4 4 SUBROUTINE cltrac(dtime,coef,t,tr,flux,paprs,pplay,delp, 5 5 s d_tr) 6 USE dimphy 6 7 IMPLICIT none 7 8 c====================================================================== … … 25 26 c flux_tr--output-R- flux de tr 26 27 c====================================================================== 27 #include "dimensions.h"28 #include "dimphy.h"28 cym#include "dimensions.h" 29 cym#include "dimphy.h" 29 30 REAL dtime 30 31 REAL coef(klon,klev) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/cltracrn.F
r524 r634 9 9 s d_tr,d_trs ) 10 10 11 USE dimphy 11 12 IMPLICIT none 12 13 c====================================================================== … … 42 43 c d_trs----output-R- le changement de "trs" 43 44 c====================================================================== 44 #include "dimensions.h"45 #include "dimphy.h"45 cym#include "dimensions.h" 46 cym#include "dimphy.h" 46 47 #include "YOMCST.h" 47 48 #include "indicesol.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/coefkzmin.F
r524 r634 5 5 . ,km,kn) 6 6 c SUBROUTINE coefkzmin(ngrid,zlev,teta,ustar,km,kn) 7 USE dimphy 7 8 IMPLICIT NONE 8 9 9 #include "dimensions.h"10 #include "dimphy.h"10 cym#include "dimensions.h" 11 cym#include "dimphy.h" 11 12 #include "YOMCST.h" 12 13 … … 59 60 60 61 integer nlay,nlev 61 PARAMETER (nlay=klev)62 PARAMETER (nlev=klev+1)62 cym PARAMETER (nlay=klev) 63 cym PARAMETER (nlev=klev+1) 63 64 64 65 integer ig,k … … 71 72 real fl,zzz,zl0,zq2,zn2 72 73 73 74 nlay=klev 75 nlev=klev+1 74 76 c....................................................................... 75 77 c en attendant une version ou les zlev, et zlay soient -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/conccm.F
r524 r634 5 5 s d_t, d_q, rain, snow, kbascm, ktopcm) 6 6 c 7 USE dimphy 7 8 IMPLICIT none 8 9 c====================================================================== … … 11 12 c (schema standard du modele NCAR CCM2) 12 13 c====================================================================== 13 #include "dimensions.h"14 #include "dimphy.h"14 cym#include "dimensions.h" 15 cym#include "dimphy.h" 15 16 #include "YOMCST.h" 16 17 #include "YOETHF.h" … … 143 144 $ tb, shb, 144 145 $ cmfprt, cmfprs, cnt, cnb) 146 USE dimphy 145 147 IMPLICIT none 146 148 C----------------------------------------------------------------------- … … 163 165 c simplifier la lecture et la comprehension. 164 166 C----------------------------------------------------------------------- 165 #include "dimensions.h"166 #include "dimphy.h"167 cym#include "dimensions.h" 168 cym#include "dimphy.h" 167 169 INTEGER pcnst ! nombre de traceurs passifs 168 170 PARAMETER (pcnst=1) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/concvl.F
r633 r634 12 12 13 13 c 14 USE dimphy 14 15 IMPLICIT none 15 16 c====================================================================== … … 46 47 c 47 48 #include "dimensions.h" 48 #include "dimphy.h"49 cym#include "dimphy.h" 49 50 c 50 51 integer NTRAC … … 82 83 INTEGER i,k,itra 83 84 REAL qs(klon,klev) 84 REAL cbmf(klon) 85 SAVE cbmf 85 cym REAL cbmf(klon) 86 cym SAVE cbmf 87 REAL,ALLOCATABLE,SAVE :: cbmf(:) 86 88 INTEGER ifrst 87 89 SAVE ifrst … … 97 99 IF (ifrst .EQ. 0) THEN 98 100 ifrst = 1 101 allocate(cbmf(klon)) 99 102 DO i = 1, klon 100 103 cbmf(i) = 0. -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/conema3.F
r524 r634 9 9 . qcond_incld) 10 10 11 USE dimphy 11 12 IMPLICIT none 12 13 c====================================================================== … … 54 55 c 55 56 #include "dimensions.h" 56 #include "dimphy.h"57 cym#include "dimphy.h" 57 58 #include "conema3.h" 58 59 INTEGER i, l,m,itra … … 84 85 REAL qcond_incld(klon,klev) 85 86 c 86 REAL em_t(klev) 87 REAL em_q(klev) 88 REAL em_qs(klev) 89 REAL em_u(klev), em_v(klev), em_tra(klev,ntrac) 90 REAL em_ph(klev+1), em_p(klev) 91 REAL em_work1(klev), em_work2(klev) 92 REAL em_precip, em_d_t(klev), em_d_q(klev) 93 REAL em_d_u(klev), em_d_v(klev), em_d_tra(klev,ntrac) 94 REAL em_upwd(klev), em_dnwd(klev), em_dnwdbis(klev) 87 LOGICAL,SAVE :: first=.true. 88 cym REAL em_t(klev) 89 REAL,ALLOCATABLE,SAVE :: em_t(:) 90 cym REAL em_q(klev) 91 REAL,ALLOCATABLE,SAVE :: em_q(:) 92 cym REAL em_qs(klev) 93 REAL,ALLOCATABLE,SAVE :: em_qs(:) 94 cym REAL em_u(klev), em_v(klev), em_tra(klev,ntrac) 95 REAL,ALLOCATABLE,SAVE :: em_u(:),em_v(:),em_tra(:,:) 96 cym REAL em_ph(klev+1), em_p(klev) 97 REAL,ALLOCATABLE,SAVE ::em_ph(:),em_p(:) 98 cym REAL em_work1(klev), em_work2(klev) 99 REAL,ALLOCATABLE,SAVE ::em_work1(:),em_work2(:) 100 cym REAL em_precip, em_d_t(klev), em_d_q(klev) 101 REAL,SAVE :: em_precip 102 REAL,ALLOCATABLE,SAVE :: em_d_t(:),em_d_q(:) 103 cym REAL em_d_u(klev), em_d_v(klev), em_d_tra(klev,ntrac) 104 REAL,ALLOCATABLE,SAVE ::em_d_u(:),em_d_v(:),em_d_tra(:,:) 105 cym REAL em_upwd(klev), em_dnwd(klev), em_dnwdbis(klev) 106 REAL,ALLOCATABLE,SAVE :: em_upwd(:),em_dnwd(:),em_dnwdbis(:) 95 107 REAL em_dtvpdt1(klev), em_dtvpdq1(klev) 96 108 REAL em_dplcldt, em_dplcldr 97 SAVE em_t,em_q, em_qs, em_ph, em_p, em_work1, em_work2 98 SAVE em_u,em_v, em_tra 99 SAVE em_d_u,em_d_v, em_d_tra 100 SAVE em_precip, em_d_t, em_d_q, em_upwd, em_dnwd, em_dnwdbis 109 cym SAVE em_t,em_q, em_qs, em_ph, em_p, em_work1, em_work2 110 cym SAVE em_u,em_v, em_tra 111 cym SAVE em_d_u,em_d_v, em_d_tra 112 cym SAVE em_precip, em_d_t, em_d_q, em_upwd, em_dnwd, em_dnwdbis 113 101 114 INTEGER em_bas, em_top 102 115 SAVE em_bas, em_top … … 113 126 cccccccccccccccccccccccccccccccccccccccccccccccccc 114 127 115 REAL emmip(klev) !variation de flux ascnon dilue i et i+1 116 SAVE emmip 117 real emMke(klev) 118 save emMke 128 cym REAL emmip(klev) !variation de flux ascnon dilue i et i+1 129 REAL,ALLOCATABLE,SAVE ::emmip(:) 130 cym SAVE emmip 131 cym real emMke(klev) 132 REAL,ALLOCATABLE,SAVE ::emMke(:) 133 cym save emMke 119 134 real top 120 135 real bas 121 real emMa(klev) 122 save emMa 136 cym real emMa(klev) 137 REAL,ALLOCATABLE,SAVE ::emMa(:) 138 cym save emMa 123 139 real Ma(klon,klev) 124 140 real Ment(klev,klev) … … 151 167 #include "YOETHF.h" 152 168 #include "FCTTRE.h" 153 169 170 if (first) then 171 172 allocate(em_t(klev)) 173 allocate(em_q(klev)) 174 allocate(em_qs(klev)) 175 allocate(em_u(klev), em_v(klev), em_tra(klev,ntrac)) 176 allocate(em_ph(klev+1), em_p(klev)) 177 allocate(em_work1(klev), em_work2(klev)) 178 allocate(em_d_t(klev), em_d_q(klev)) 179 allocate(em_d_u(klev), em_d_v(klev), em_d_tra(klev,ntrac)) 180 allocate(em_upwd(klev), em_dnwd(klev), em_dnwdbis(klev)) 181 allocate(emmip(klev)) 182 allocate(emMke(klev)) 183 allocate(emMa(klev)) 184 185 first=.false. 186 endif 187 154 188 qcond_incld(:,:) = 0. 155 189 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/conemav.F
r524 r634 9 9 10 10 c 11 USE dimphy 11 12 IMPLICIT none 12 13 c====================================================================== … … 43 44 c 44 45 #include "dimensions.h" 45 #include "dimphy.h"46 cym#include "dimphy.h" 46 47 c 47 48 integer NTRAC … … 73 74 INTEGER i,k,itra 74 75 REAL qs(klon,klev) 75 REAL cbmf(klon) 76 SAVE cbmf 76 cym REAL cbmf(klon) 77 cym SAVE cbmf 78 REAL,ALLOCATABLE,SAVE :: cbmf(:) 77 79 INTEGER ifrst 78 80 SAVE ifrst … … 85 87 IF (ifrst .EQ. 0) THEN 86 88 ifrst = 1 89 allocate(cbmf(klon)) 87 90 DO i = 1, klon 88 91 cbmf(i) = 0. -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/conflx.F
r524 r634 8 8 s kcbot, kctop, kdtop, pmflxr, pmflxs) 9 9 c 10 USE dimphy 10 11 IMPLICIT none 11 12 c====================================================================== … … 17 18 c et lessivage des traceurs passifs. 18 19 c====================================================================== 19 #include "dimensions.h"20 #include "dimphy.h"20 cym#include "dimensions.h" 21 cym#include "dimphy.h" 21 22 #include "YOMCST.h" 22 23 #include "YOETHF.h" … … 214 215 . pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, 215 216 . dt_con, dq_con, pmflxr, pmflxs) 217 USE dimphy 216 218 IMPLICIT none 217 219 C ------------------------------------------------------------------ 218 #include "dimensions.h"219 #include "dimphy.h"220 cym#include "dimensions.h" 221 cym#include "dimphy.h" 220 222 #include "YOMCST.h" 221 223 #include "YOETHF.h" … … 504 506 . pdmfdp, pmfu, pmfus, pmfuq, pdmfup, pdpmel, plu, plude, 505 507 . klab,pen_u, pde_u, pen_d, pde_d) 508 USE dimphy 506 509 IMPLICIT none 507 510 C---------------------------------------------------------------------- … … 510 513 C AND INITIALIZES VALUES FOR UPDRAFTS 511 514 C---------------------------------------------------------------------- 512 #include "dimensions.h"513 #include "dimphy.h"515 cym#include "dimensions.h" 516 cym#include "dimphy.h" 514 517 #include "YOMCST.h" 515 518 #include "YOETHF.h" … … 629 632 SUBROUTINE flxbase(ptenh, pqenh, pgeoh, paph, 630 633 * ptu, pqu, plu, ldcum, kcbot, klab) 634 USE dimphy 631 635 IMPLICIT none 632 636 C---------------------------------------------------------------------- … … 641 645 C (NON ENTRAINING PLUME,I.E.CONSTANT MASSFLUX) 642 646 C---------------------------------------------------------------------- 643 #include "dimensions.h"644 #include "dimphy.h"647 cym#include "dimensions.h" 648 cym#include "dimphy.h" 645 649 #include "YOMCST.h" 646 650 #include "YOETHF.h" … … 714 718 . pmful, plude, pdmfup, kcbot, kctop, kctop0, kcum, 715 719 . pen_u, pde_u) 720 USE dimphy 716 721 IMPLICIT none 717 722 C---------------------------------------------------------------------- … … 719 724 C FOR CUMULUS PARAMETERIZATION 720 725 C---------------------------------------------------------------------- 721 #include "dimensions.h"722 #include "dimphy.h"726 cym#include "dimensions.h" 727 cym#include "dimphy.h" 723 728 #include "YOMCST.h" 724 729 #include "YOETHF.h" … … 1018 1023 . , pten, prfl, psfl, pdpmel, ktopm2 1019 1024 . , pmflxr, pmflxs) 1025 USE dimphy 1020 1026 IMPLICIT none 1021 1027 C---------------------------------------------------------------------- … … 1023 1029 C FLUXES IN THE CLOUD LAYER AND IN THE SUBCLOUD LAYER 1024 1030 C---------------------------------------------------------------------- 1025 #include "dimensions.h"1026 #include "dimphy.h"1031 cym#include "dimensions.h" 1032 cym#include "dimphy.h" 1027 1033 #include "YOMCST.h" 1028 1034 #include "YOETHF.h" … … 1262 1268 . , pmfus, pmfds, pmfuq, pmfdq, pmful, pdmfup, pdmfdp 1263 1269 . , pdpmel, dt_con, dq_con) 1270 USE dimphy 1264 1271 IMPLICIT none 1265 1272 c---------------------------------------------------------------------- 1266 1273 c calculer les tendances T et Q 1267 1274 c---------------------------------------------------------------------- 1268 #include "dimensions.h"1269 #include "dimphy.h"1275 cym#include "dimensions.h" 1276 cym#include "dimphy.h" 1270 1277 #include "YOMCST.h" 1271 1278 #include "YOETHF.h" … … 1333 1340 . ldcum, kcbot, kctop, pmfub, prfl, ptd, pqd, 1334 1341 . pmfd, pmfds, pmfdq, pdmfdp, kdtop, lddraf) 1342 USE dimphy 1335 1343 IMPLICIT none 1336 1344 C … … 1350 1358 C MOIST ENVIRONMENTAL AIR AND CLOUD AIR. 1351 1359 C---------------------------------------------------------------------- 1352 #include "dimensions.h"1353 #include "dimphy.h"1360 cym#include "dimensions.h" 1361 cym#include "dimphy.h" 1354 1362 #include "YOMCST.h" 1355 1363 #include "YOETHF.h" … … 1444 1452 . ptd, pqd, pmfd, pmfds, pmfdq, pdmfdp, 1445 1453 . lddraf, pen_d, pde_d) 1454 USE dimphy 1446 1455 IMPLICIT none 1447 1456 C … … 1461 1470 C 1462 1471 C---------------------------------------------------------------------- 1463 #include "dimensions.h"1464 #include "dimphy.h"1472 cym#include "dimensions.h" 1473 cym#include "dimphy.h" 1465 1474 #include "YOMCST.h" 1466 1475 #include "YOETHF.h" … … 1559 1568 END 1560 1569 SUBROUTINE flxadjtq(pp, pt, pq, ldflag, kcall) 1570 USE dimphy 1561 1571 IMPLICIT none 1562 1572 c====================================================================== … … 1568 1578 C kcall=2 EVAPORATION IN DOWNDRAFTS (E.G. CUDLFS,CUDDRAF) 1569 1579 C 1570 #include "dimensions.h"1571 #include "dimphy.h"1580 cym#include "dimensions.h" 1581 cym#include "dimphy.h" 1572 1582 #include "YOMCST.h" 1573 1583 C -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/conlmd.F
r524 r634 4 4 SUBROUTINE conlmd (dtime, paprs, pplay, t, q, conv_q, 5 5 s d_t, d_q, rain, snow, ibas, itop) 6 USE dimphy 6 7 IMPLICIT none 7 8 c====================================================================== … … 10 11 c Ajustement humide (Manabe) + Ajustement convectif (Kuo) 11 12 c====================================================================== 12 #include "dimensions.h"13 #include "dimphy.h"13 cym#include "dimensions.h" 14 cym#include "dimphy.h" 14 15 #include "YOMCST.h" 15 16 #include "YOETHF.h" … … 93 94 s d_t, d_q, d_ql, rneb, 94 95 s rain, snow, ibas, itop) 96 USE dimphy 95 97 IMPLICIT none 96 98 c====================================================================== … … 105 107 c du modele. 106 108 c====================================================================== 107 #include "dimensions.h"108 #include "dimphy.h"109 cym#include "dimensions.h" 110 cym#include "dimphy.h" 109 111 #include "YOMCST.h" 110 112 c … … 301 303 s d_t, d_q, d_ql, rneb, 302 304 s rain, snow, ibas, itop,accompli,imprim) 305 USE dimphy 303 306 IMPLICIT none 304 307 c====================================================================== … … 309 312 c et itop est le haut du plus haut bloc 310 313 c====================================================================== 311 #include "dimensions.h"312 #include "dimphy.h"314 cym#include "dimensions.h" 315 cym#include "dimphy.h" 313 316 #include "YOMCST.h" 314 317 c … … 1064 1067 s d_t, d_q, d_ql, rneb, 1065 1068 s rain, snow, ibas, itop) 1069 USE dimphy 1066 1070 IMPLICIT none 1067 1071 c====================================================================== … … 1071 1075 c N.B. version vectorielle (le 6 oct. 1997) 1072 1076 c====================================================================== 1073 #include "dimensions.h"1074 #include "dimphy.h"1077 cym#include "dimensions.h" 1078 cym#include "dimphy.h" 1075 1079 #include "YOMCST.h" 1076 1080 c … … 1587 1591 END 1588 1592 SUBROUTINE kuofcl(pt, pq, pg, pp, LDCUM, kcbot) 1593 USE dimphy 1589 1594 IMPLICIT none 1590 1595 c====================================================================== … … 1603 1608 c kcbot---output-I- Niveau du bas de la convection 1604 1609 c====================================================================== 1605 #include "dimensions.h"1606 #include "dimphy.h"1610 cym#include "dimensions.h" 1611 cym#include "dimphy.h" 1607 1612 #include "YOMCST.h" 1608 1613 #include "YOETHF.h" … … 1688 1693 END 1689 1694 SUBROUTINE adjtq(pp, pt, pq, LDFLAG, KCALL) 1695 USE dimphy 1690 1696 IMPLICIT none 1691 1697 c====================================================================== … … 1706 1712 C KCALL=2 EVAPORATION IN DOWNDRAFTS (E.G. CUDLFS,CUDDRAF) 1707 1713 C 1708 #include "dimensions.h"1709 #include "dimphy.h"1714 cym#include "dimensions.h" 1715 cym#include "dimphy.h" 1710 1716 #include "YOMCST.h" 1711 1717 C … … 1797 1803 . d_t, d_q, d_ql, rneb, 1798 1804 . rain, snow, ibas, itop) 1805 USE dimphy 1799 1806 IMPLICIT NONE 1800 1807 c 1801 1808 c Ajustement humide (Schema de convection de Manabe) 1802 1809 C. 1803 #include "dimensions.h"1804 #include "dimphy.h"1810 cym#include "dimensions.h" 1811 cym#include "dimphy.h" 1805 1812 #include "YOMCST.h" 1806 1813 c … … 2095 2102 . d_t, d_q, d_ql,rneb, 2096 2103 . rain, snow, ibas, itop) 2104 USE dimphy 2097 2105 IMPLICIT NONE 2098 2106 c 2099 #include "dimensions.h"2100 #include "dimphy.h"2107 cym#include "dimensions.h" 2108 cym#include "dimphy.h" 2101 2109 #include "YOMCST.h" 2102 2110 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/convect1.F
r524 r634 107 107 c 108 108 c 109 USE dimphy 109 110 implicit none 110 111 c 111 #include "dimensions.h"112 #include "dimphy.h"112 cym#include "dimensions.h" 113 cym#include "dimphy.h" 113 114 c 114 115 integer len -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/convect2.F
r524 r634 148 148 c 149 149 c 150 USE dimphy 150 151 implicit none 151 152 c 152 #include "dimensions.h"153 #include "dimphy.h"153 cym#include "dimensions.h" 154 cym#include "dimphy.h" 154 155 c 155 156 integer kmax2,imax2,kmin2,imin2 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/convect3.F
r524 r634 18 18 cFleur Introduction des traceurs dans convect3 le 6 juin 200 19 19 c################################################################# 20 USE dimphy 21 20 22 #include "dimensions.h" 21 #include "dimphy.h"23 cym#include "dimphy.h" 22 24 PARAMETER (NA=60) 23 25 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/cv_driver.F
r633 r634 11 11 & da1,phi1,mp1) 12 12 C 13 USE dimphy 13 14 implicit none 14 15 C … … 64 65 c 65 66 c 66 #include "dimensions.h"67 #include "dimphy.h"67 cym#include "dimensions.h" 68 cym#include "dimphy.h" 68 69 69 70 integer len … … 250 251 c (local) compressed fields: 251 252 c 252 integer nloc253 parameter (nloc=klon) ! pour l'instant254 253 cym integer nloc 254 cym parameter (nloc=klon) ! pour l'instant 255 #define nloc klon 255 256 integer idcum(nloc) 256 257 integer iflag(nloc),nk(nloc),icb(nloc) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/cvltr.F
r633 r634 3 3 c 4 4 SUBROUTINE cvltr(pdtime,da, phi, mp,paprs,pplay,x,upd,dnd,dx) 5 USE dimphy 5 6 IMPLICIT NONE 6 7 c===================================================================== … … 9 10 c===================================================================== 10 11 c 11 #include "dimensions.h" 12 #include "dimphy.h" 12 13 14 clf#include "dimensions.h" 15 clf#include "dimphy.h" 13 16 #include "YOMCST.h" 14 17 #include "YOECUMF.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/fisrtilp.F
r633 r634 10 10 11 11 c 12 USE dimphy 12 13 IMPLICIT none 13 14 c====================================================================== … … 18 19 c====================================================================== 19 20 c====================================================================== 20 #include "dimensions.h"21 #include "dimphy.h"21 cym#include "dimensions.h" 22 cym#include "dimphy.h" 22 23 #include "YOMCST.h" 23 24 #include "tracstoke.h" … … 110 111 REAL zlh_solid(klon), zm_solid 111 112 cIM 112 INTEGER klevm1113 cym INTEGER klevm1 113 114 c--------------------------------------------------------------- 114 115 c … … 210 211 c 211 212 cIM : klevm1 212 klevm1=klev-1213 cym klevm1=klev-1 213 214 DO 9999 k = klev, 1, -1 214 215 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/fisrtilp_tr.F
r524 r634 11 11 12 12 c 13 USE dimphy 13 14 IMPLICIT none 14 15 c====================================================================== … … 19 20 c====================================================================== 20 21 c====================================================================== 21 #include "dimensions.h"22 #include "dimphy.h"22 cym#include "dimensions.h" 23 cym#include "dimphy.h" 23 24 #include "YOMCST.h" 24 25 #include "tracstoke.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/flxtr.F
r524 r634 4 4 SUBROUTINE flxtr(pdtime,pmfu,pmfd,pen_u,pde_u,pen_d,pde_d, 5 5 . pt,pplay,paprs,kcbot,kctop,kdtop,x,dx) 6 USE dimphy 6 7 IMPLICIT NONE 7 8 c===================================================================== … … 24 25 c===================================================================== 25 26 c 26 #include "dimensions.h"27 #include "dimphy.h"27 cym#include "dimensions.h" 28 cym#include "dimphy.h" 28 29 #include "YOMCST.h" 29 30 #include "YOECUMF.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/hgardfou.F
r524 r634 3 3 ! 4 4 SUBROUTINE hgardfou (t,tsol,text) 5 use dimphy 5 6 IMPLICIT none 6 7 c====================================================================== 7 8 c Verifier la temperature 8 9 c====================================================================== 9 #include "dimensions.h"10 #include "dimphy.h"10 cym#include "dimensions.h" 11 cym#include "dimphy.h" 11 12 #include "YOMCST.h" 12 13 #include "indicesol.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/histo_o500_pctau.F
r524 r634 3 3 ! 4 4 SUBROUTINE histo_o500_pctau(nbreg,pct_ocean,w,histo,histoW,nhisto) 5 USE dimphy 5 6 IMPLICIT none 6 7 7 8 INTEGER :: ij, k, l, nw 8 9 INTEGER :: nreg, nbreg 9 #include "dimensions.h"10 #include "dimphy.h"10 cym#include "dimensions.h" 11 cym#include "dimphy.h" 11 12 INTEGER, PARAMETER :: kmax=8, lmax=8 12 13 INTEGER, PARAMETER :: kmaxm1=kmax-1, lmaxm1=lmax-1 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/homogene.F
r524 r634 3 3 ! 4 4 SUBROUTINE homogene(paprs, q, dq, u,v, du, dv) 5 USE dimphy 5 6 IMPLICIT NONE 6 7 c============================================================== … … 17 18 c dv: output, incrementation pour v 18 19 c============================================================== 19 #include "dimensions.h"20 #include "dimphy.h"20 cym#include "dimensions.h" 21 cym#include "dimphy.h" 21 22 c 22 23 REAL paprs(klon,klev+1) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/hydrol.F
r524 r634 6 6 SUBROUTINE hydrol(dtime,pctsrf,rain_fall,snow_fall,evap, 7 7 . agesno, tsol,qsol,snow,runoff) 8 USE dimphy 8 9 IMPLICIT none 9 10 c====================================================================== … … 22 23 c snow: couverture neigeuse 23 24 C 24 #include "dimensions.h"25 #include "dimphy.h"25 cym#include "dimensions.h" 26 cym#include "dimphy.h" 26 27 #include "YOMCST.h" 27 28 #include "indicesol.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histISCCP.h
r524 r634 32 32 c definition coordonnees lon,lat en globale 33 33 c 34 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)35 DO i = 1, iim36 zx_lon(i,1) = rlon(i+1)37 zx_lon(i,jjmp1) = rlon(i+1)38 ENDDO34 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 35 cym DO i = 1, iim 36 cym zx_lon(i,1) = rlon(i+1) 37 cym zx_lon(i,jjmp1) = rlon(i+1) 38 cym ENDDO 39 39 40 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)40 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 41 41 c 42 CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),jjmp1,zx_lat(1,:), 43 . 1, iim, 1, jjmp1, 44 . itau_phy, zjulian, dtime, 42 cym CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),jjmp1,zx_lat(1,:), 43 cym . 1, iim, 1, jjmp1, 44 cym . itau_phy, zjulian, dtime, 45 cym . nhori, nid_isccp) 46 47 CALL histbeg_phy("histISCCP.nc", itau_phy, zjulian, dtime, 45 48 . nhori, nid_isccp) 46 49 c … … 53 56 CALL histdef(nid_isccp, "cldISCCP_"//taulev(k), 54 57 . "LMDZ ISCCP cld", "%", 55 . iim, jj mp1,nhori,lmaxm1,1,lmaxm1,nvert,32,58 . iim, jjphy_nb,nhori,lmaxm1,1,lmaxm1,nvert,32, 56 59 . "ave(X)", zsto,zout) 57 60 ENDDO … … 59 62 CALL histdef(nid_isccp, "nsunlit", 60 63 . "Nb of calls with sunlit ", "%", 61 . iim, jj mp1,nhori,1,1,1,-99,32,64 . iim, jjphy_nb,nhori,1,1,1,-99,32, 62 65 . "ave(X)", zsto,zout) 63 66 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histREGDYN.h
r524 r634 4 4 5 5 IF (ok_regdyn) THEN 6 7 if (monocpu) then 6 8 c 7 9 PRINT*, 'La frequence de sortie REGDYN est de ', ecrit_mth … … 117 119 c 118 120 CALL histend(nid_regdyn) 121 122 endif ! monocpu 119 123 120 124 endif ! ok_regdyn -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histday.h
r633 r634 13 13 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 14 14 c 15 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)16 DO i = 1, iim17 zx_lon(i,1) = rlon(i+1)18 zx_lon(i,jjmp1) = rlon(i+1)19 ENDDO15 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 16 cym DO i = 1, iim 17 cym zx_lon(i,1) = rlon(i+1) 18 cym zx_lon(i,jjmp1) = rlon(i+1) 19 cym ENDDO 20 20 DO ll=1,klev 21 21 znivsig(ll)=float(ll) 22 22 ENDDO 23 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 24 CALL histbeg("histday", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 25 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 26 . nhori, nid_day) 23 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 24 cym CALL histbeg("histday", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 25 cym . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 26 cym . nhori, nid_day) 27 28 CALL histbeg_phy("histday",itau_phy, zjulian, dtime, 29 . nhori, nid_day) 30 27 31 write(*,*)'Journee ', itau_phy, zjulian 28 32 CALL histvert(nid_day, "presnivs", "Vertical levels", "mb", … … 32 36 c 33 37 CALL histdef(nid_day, "phis", "Surface geop. height", "-", 34 . iim,jj mp1,nhori, 1,1,1, -99, 32,38 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 35 39 . "once", zsto,zout) 36 40 c 37 41 CALL histdef(nid_day, "aire", "Grid area", "-", 38 . iim,jj mp1,nhori, 1,1,1, -99, 32,42 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 39 43 . "once", zsto,zout) 40 44 c 41 45 CALL histdef(nid_day, "contfracATM","% sfce ter+lic ","-", 42 . iim,jj mp1,nhori, 1,1,1, -99, 32,46 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 43 47 . "once", zsto,zout) 44 48 c 45 49 CALL histdef(nid_day, "contfracOR","% sfce terre OR", "-", 46 . iim,jj mp1,nhori, 1,1,1, -99, 32,50 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 47 51 . "once", zsto,zout) 48 52 c … … 50 54 c 51 55 CALL histdef(nid_day, "tsol", "Surface Temperature", "K", 52 . iim,jj mp1,nhori, 1,1,1, -99, 32,56 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 53 57 . "ave(X)", zsto,zout) 54 58 c 55 59 CALL histdef(nid_day, "t2m", "Temperature 2m", "K", 56 . iim,jj mp1,nhori, 1,1,1, -99, 32,60 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 57 61 . "ave(X)", zsto,zout) 58 62 c … … 62 66 CALL histdef(nid_day, "t2m_min", "Temp. 2m min.", 63 67 . "K", 64 . iim,jj mp1,nhori, 1,1,1, -99, 32,68 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 65 69 . t2mincels, zsto,zout) 66 70 c 67 71 CALL histdef(nid_day, "t2m_max", "Temp. 2m max.", 68 72 . "K", 69 . iim,jj mp1,nhori, 1,1,1, -99, 32,73 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 70 74 . t2maxcels, zsto,zout) 71 75 c 72 76 CALL histdef(nid_day, "plul", "Large-scale Precip.", 73 77 . "kg/(s*m2)", 74 . iim,jj mp1,nhori, 1,1,1, -99, 32,78 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 75 79 . "ave(X)", zsto,zout) 76 80 c 77 81 CALL histdef(nid_day, "pluc", "Convective Precip.", 78 82 . "kg/(s*m2)", 79 . iim,jj mp1,nhori, 1,1,1, -99, 32,83 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 80 84 . "ave(X)", zsto,zout) 81 85 c 82 86 CALL histdef(nid_day, "snowl", "Solid Large-scale Precip.", 83 87 . "kg/(s*m2)", 84 . iim,jj mp1,nhori, 1,1,1, -99, 32,88 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 85 89 . "ave(X)", zsto,zout) 86 90 c … … 88 92 CALL histdef(nid_day, "snowc", "Solid Convective Precip.", 89 93 . "kg/(s*m2)", 90 . iim,jj mp1,nhori, 1,1,1, -99, 32,94 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 91 95 . "ave(X)", zsto,zout) 92 96 ENDIF !snowc=0. 93 97 c 94 98 CALL histdef(nid_day, "flat", "Latent heat flux", "W/m2", 95 . iim,jj mp1,nhori, 1,1,1, -99, 32,99 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 96 100 . "ave(X)", zsto,zout) 97 101 c 98 102 CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-", 99 . iim,jj mp1,nhori, 1,1,1, -99, 32,103 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 100 104 . "inst(X)", zsto1,zout) 101 105 c 102 106 CALL histdef(nid_day, "q2m", "Specific humidity", "kg/kg", 103 . iim,jj mp1,nhori, 1,1,1, -99, 32,107 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 104 108 . "ave(X)", zsto,zout) 105 109 c 106 110 CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s", 107 . iim,jj mp1,nhori, 1,1,1, -99, 32,111 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 108 112 . "ave(X)", zsto,zout) 109 113 c 110 114 CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s", 111 . iim,jj mp1,nhori, 1,1,1, -99, 32,115 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 112 116 . "ave(X)", zsto,zout) 113 117 c 114 118 CALL histdef(nid_day, "wind10m","10-m wind speed","m/s", 115 . iim,jj mp1,nhori, 1,1,1, -99, 32,119 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 116 120 . "ave(X)", zsto,zout) 117 121 c 118 122 CALL histdef(nid_day, "wind10max", "10-m wind speed max.", 119 123 . "m/s", 120 . iim,jj mp1,nhori, 1,1,1, -99, 32,124 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 121 125 . t2maxcels, zsto,zout) 122 126 c 123 127 CALL histdef(nid_day, "psol", "Surface Pressure", "Pa", 124 . iim,jj mp1,nhori, 1,1,1, -99, 32,128 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 125 129 . "ave(X)", zsto,zout) 126 130 c 127 131 CALL histdef(nid_day, "precip","Precipitation Totale liq+sol" 128 132 . , "kg/(s*m2)", 129 . iim,jj mp1,nhori, 1,1,1, -99, 32,133 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 130 134 . "ave(X)", zsto,zout) 131 135 c 132 136 CALL histdef(nid_day, "snowf", "Snow fall", "kg/(s*m2)", 133 . iim,jj mp1,nhori, 1,1,1, -99, 32,137 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 134 138 . "ave(X)", zsto,zout) 135 139 c 136 140 CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2", 137 . iim,jj mp1,nhori, 1,1,1, -99, 32,141 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 138 142 . "ave(X)", zsto,zout) 139 143 c 140 144 CALL histdef(nid_day, "evap", "Evaporation", "kg/(s*m2)", 141 . iim,jj mp1,nhori, 1,1,1, -99, 32,145 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 142 146 . "ave(X)", zsto,zout) 143 147 c 144 148 CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2", 145 . iim,jj mp1,nhori, 1,1,1, -99, 32,149 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 146 150 . "ave(X)", zsto,zout) 147 151 c 148 152 CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2", 149 . iim,jj mp1,nhori, 1,1,1, -99, 32,153 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 150 154 . "ave(X)", zsto,zout) 151 155 c 152 156 CALL histdef(nid_day, "sols", "Net Solar rad. at surf.", 153 157 . "W/m2", 154 . iim,jj mp1,nhori, 1,1,1, -99, 32,158 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 155 159 . "ave(X)", zsto,zout) 156 160 c 157 161 CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2", 158 . iim,jj mp1,nhori, 1,1,1, -99, 32,162 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 159 163 . "ave(X)", zsto,zout) 160 164 c 161 165 CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-", 162 . iim,jj mp1,nhori, 1,1,1, -99, 32,166 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 163 167 . "ave(X)", zsto,zout) 164 168 c 165 169 CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-", 166 . iim,jj mp1,nhori, 1,1,1, -99, 32,170 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 167 171 . "ave(X)", zsto,zout) 168 172 c 169 173 CALL histdef(nid_day, "cldh", "High-level cloudiness", "-", 170 . iim,jj mp1,nhori, 1,1,1, -99, 32,174 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 171 175 . "ave(X)", zsto,zout) 172 176 c 173 177 CALL histdef(nid_day, "cldt", "Total cloudiness", "-", 174 . iim,jj mp1,nhori, 1,1,1, -99, 32,178 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 175 179 . "ave(X)", zsto,zout) 176 180 c 177 181 CALL histdef(nid_day, "cldq", "Cloud liquid water path", 178 182 . "kg/m2", 179 . iim,jj mp1,nhori, 1,1,1, -99, 32,183 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 180 184 . "ave(X)", zsto,zout) 181 185 c 182 186 CALL histdef(nid_day, "prw", "Precipitable water", "kg/m2", 183 . iim,jj mp1,nhori, 1,1,1, -99, 32,187 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 184 188 . "ave(X)", zsto,zout) 185 189 c … … 189 193 CALL histdef(nid_day, "u"//clev(k), 190 194 . "Zonal wind"//clev(k)//"mb","m/s", 191 . iim,jj mp1,nhori, 1,1,1, -99, 32,195 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 192 196 . "ave(X)", zsto,zout) 193 197 c 194 198 CALL histdef(nid_day, "v"//clev(k), 195 199 . "Meridional wind"//clev(k)//"mb","m/s", 196 . iim,jj mp1,nhori, 1,1,1, -99, 32,200 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 197 201 . "ave(X)", zsto,zout) 198 202 c … … 200 204 c 201 205 CALL histdef(nid_day, "w500", "Verical wind 500mb", "m/s", 202 . iim,jj mp1,nhori, 1,1,1, -99, 32,206 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 203 207 . "ave(X)", zsto,zout) 204 208 c 205 209 CALL histdef(nid_day,"phi500", "Geopotentiel a 500mb","m2/s2", 206 . iim,jj mp1,nhori, 1,1,1, -99, 32,210 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 207 211 . "ave(X)", zsto,zout) 208 212 c 209 213 CALL histdef(nid_day, "slp", "Sea Level Pressure", "Pa", 210 . iim,jj mp1,nhori, 1,1,1, -99, 32,214 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 211 215 . "ave(X)", zsto,zout) 212 216 c 213 217 CALL histdef(nid_day, "cape_max", "CAPE max.", 214 218 . "J/kg", 215 . iim,jj mp1,nhori, 1,1,1, -99, 32,219 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 216 220 . capemaxcels, zsto,zout) 217 221 c 218 222 CALL histdef(nid_day, "solldown", "Down. IR rad. at surface", 219 . "W/m2", iim,jj mp1,nhori, 1,1,1, -99, 32,223 . "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 220 224 . "ave(X)", zsto,zout) 221 225 c 222 226 CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2", 223 . iim,jj mp1,nhori, 1,1,1, -99, 32,227 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 224 228 . "ave(X)", zsto,zout) 225 229 c 226 230 CALL histdef(nid_day, "SWdnSFC", "SWdn at surface","W/m2", 227 . iim,jj mp1,nhori, 1,1,1,-99,231 . iim,jjphy_nb,nhori, 1,1,1,-99, 228 232 . 32, "ave(X)", zsto,zout) 229 233 c … … 233 237 c 234 238 CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2", 235 . iim,jj mp1,nhori, 1,1,1, -99, 32,239 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 236 240 . "ave(X)", zsto,zout) 237 241 c 238 242 CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2/K", 239 . iim,jj mp1,nhori, 1,1,1, -99, 32,243 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 240 244 . "ave(X)", zsto,zout) 241 245 c … … 251 255 c 252 256 CALL histdef(nid_day, "temp", "Air temperature", "K", 253 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,257 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 254 258 . "ave(X)", zsto,zout) 255 259 c 256 260 CALL histdef(nid_day, "ovap", "Specific humidity", "kg/kg", 257 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,261 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 258 262 . "ave(X)", zsto,zout) 259 263 c 260 264 CALL histdef(nid_day, "geop", "Geopotential height", "m", 261 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,265 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 262 266 . "ave(X)", zsto,zout) 263 267 c 264 268 CALL histdef(nid_day, "vitu", "Zonal wind", "m/s", 265 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,269 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 266 270 . "ave(X)", zsto,zout) 267 271 c 268 272 CALL histdef(nid_day, "vitv", "Meridional wind", "m/s", 269 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,273 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 270 274 . "ave(X)", zsto,zout) 271 275 c 272 276 CALL histdef(nid_day, "vitw", "Vertical wind", "Pa/s", 273 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,277 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 274 278 . "ave(X)", zsto,zout) 275 279 c 276 280 CALL histdef(nid_day, "pres", "Air pressure", "Pa", 277 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,281 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 278 282 . "ave(X)", zsto,zout) 279 283 c … … 291 295 c 292 296 CALL histdef(nid_day, "SWupTOA", "SWup at TOA","W/m2", 293 . iim,jj mp1,nhori, 1,1,1,-99,297 . iim,jjphy_nb,nhori, 1,1,1,-99, 294 298 . 32, "ave(X)", zsto,zout) 295 299 c 296 300 CALL histdef(nid_day, "SWupSFC", "SWup at surface","W/m2", 297 . iim,jj mp1,nhori, 1,1,1,-99,301 . iim,jjphy_nb,nhori, 1,1,1,-99, 298 302 . 32, "ave(X)", zsto,zout) 299 303 c 300 304 CALL histdef(nid_day, "SWdnTOA", "SWdn at TOA","W/m2", 301 . iim,jj mp1,nhori, 1,1,1,-99,305 . iim,jjphy_nb,nhori, 1,1,1,-99, 302 306 . 32, "ave(X)", zsto,zout) 303 307 c 304 308 CALL histdef(nid_day, "SWupTOAclr", 305 309 . "SWup clear sky at TOA","W/m2", 306 . iim,jj mp1,nhori, 1,1,1,-99,310 . iim,jjphy_nb,nhori, 1,1,1,-99, 307 311 . 32, "ave(X)", zsto,zout) 308 312 309 313 CALL histdef(nid_day, "SWupSFCclr", 310 314 . "SWup clear sky at surface","W/m2", 311 . iim,jj mp1,nhori, 1,1,1,-99,315 . iim,jjphy_nb,nhori, 1,1,1,-99, 312 316 . 32, "ave(X)", zsto,zout) 313 317 314 318 CALL histdef(nid_day, "SWdnTOAclr", 315 319 . "SWdn clear sky at TOA","W/m2", 316 . iim,jj mp1,nhori, 1,1,1,-99,320 . iim,jjphy_nb,nhori, 1,1,1,-99, 317 321 . 32, "ave(X)", zsto,zout) 318 322 319 323 CALL histdef(nid_day, "SWdnSFCclr", 320 324 . "SWdn clear sky at surface","W/m2", 321 . iim,jj mp1,nhori, 1,1,1,-99,325 . iim,jjphy_nb,nhori, 1,1,1,-99, 322 326 . 32, "ave(X)", zsto,zout) 323 327 c … … 329 333 c 330 334 CALL histdef(nid_day, "tter", "Surface Temperature", "K", 331 . iim,jj mp1,nhori, 1,1,1, -99, 32,335 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 332 336 . "ave(X)", zsto,zout) 333 337 c 334 338 CALL histdef(nid_day, "tlic", "Surface Temperature", "K", 335 . iim,jj mp1,nhori, 1,1,1, -99, 32,339 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 336 340 . "ave(X)", zsto,zout) 337 341 c 338 342 CALL histdef(nid_day, "toce", "Surface Temperature", "K", 339 . iim,jj mp1,nhori, 1,1,1, -99, 32,343 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 340 344 . "ave(X)", zsto,zout) 341 345 c 342 346 CALL histdef(nid_day, "tsic", "Surface Temperature", "K", 343 . iim,jj mp1,nhori, 1,1,1, -99, 32,347 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 344 348 . "ave(X)", zsto,zout) 345 349 c 346 350 CALL histdef(nid_day, "t2mter", "Temp.terre 2m", "K", 347 . iim,jj mp1,nhori, 1,1,1, -99, 32,351 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 348 352 . "ave(X)", zsto,zout) 349 353 c 350 354 CALL histdef(nid_day, "t2mlic", "Temp.lic 2m", "K", 351 . iim,jj mp1,nhori, 1,1,1, -99, 32,355 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 352 356 . "ave(X)", zsto,zout) 353 357 c 354 358 CALL histdef(nid_day, "t2moce", "Temp.oce 2m", "K", 355 . iim,jj mp1,nhori, 1,1,1, -99, 32,359 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 356 360 . "ave(X)", zsto,zout) 357 361 c 358 362 CALL histdef(nid_day, "t2msic", "Temp.sic 2m", "K", 359 . iim,jj mp1,nhori, 1,1,1, -99, 32,363 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 360 364 . "ave(X)", zsto,zout) 361 365 c 362 366 CALL histdef(nid_day, "t2mter_min", "Temp.terre 2m min.", 363 367 . "K", 364 . iim,jj mp1,nhori, 1,1,1, -99, 32,368 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 365 369 . t2mincels, zsto,zout) 366 370 c 367 371 CALL histdef(nid_day, "t2mter_max", "Temp.terre 2m max.", 368 372 . "K", 369 . iim,jj mp1,nhori, 1,1,1, -99, 32,373 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 370 374 . t2maxcels, zsto,zout) 371 375 c 372 376 CALL histdef(nid_day, "u10mter", "Vent zonal ter 10m", "m/s", 373 . iim,jj mp1,nhori, 1,1,1, -99, 32,377 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 374 378 . "ave(X)", zsto,zout) 375 379 c 376 380 CALL histdef(nid_day, "u10mlic", "Vent zonal lic 10m", "m/s", 377 . iim,jj mp1,nhori, 1,1,1, -99, 32,381 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 378 382 . "ave(X)", zsto,zout) 379 383 c 380 384 CALL histdef(nid_day, "u10moce", "Vent zonal oce 10m", "m/s", 381 . iim,jj mp1,nhori, 1,1,1, -99, 32,385 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 382 386 . "ave(X)", zsto,zout) 383 387 c 384 388 CALL histdef(nid_day, "u10msic", "Vent zonal sic 10m", 385 . "m/s",iim,jj mp1,nhori, 1,1,1, -99, 32,389 . "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32, 386 390 . "ave(X)", zsto,zout) 387 391 c 388 392 CALL histdef(nid_day, "v10mter", "Vent meridien ter 10m", 389 . "m/s", iim,jj mp1,nhori, 1,1,1, -99, 32,393 . "m/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 390 394 . "ave(X)", zsto,zout) 391 395 c 392 396 CALL histdef(nid_day, "v10mlic", "Vent meridien lic 10m", 393 . "m/s",iim,jj mp1,nhori, 1,1,1, -99, 32,397 . "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32, 394 398 . "ave(X)", zsto,zout) 395 399 c 396 400 CALL histdef(nid_day, "v10moce", "Vent meridien oce 10m", 397 . "m/s",iim,jj mp1,nhori, 1,1,1, -99, 32,401 . "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32, 398 402 . "ave(X)", zsto,zout) 399 403 c 400 404 CALL histdef(nid_day, "v10msic", "Vent meridien sic 10m", 401 . "m/s",iim,jj mp1,nhori, 1,1,1, -99, 32,405 . "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32, 402 406 . "ave(X)", zsto,zout) 403 407 c … … 406 410 call histdef(nid_day, "pourc_"//clnsurf(nsrf), 407 411 $ "Fraction"//clnsurf(nsrf), "W/m2", 408 $ iim,jj mp1,nhori, 1,1,1, -99, 32,412 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 409 413 $ "ave(X)", zsto,zout) 410 414 C 411 415 call histdef(nid_day, "tsol_"//clnsurf(nsrf), 412 416 $ "Fraction"//clnsurf(nsrf), "W/m2", 413 $ iim,jj mp1,nhori, 1,1,1, -99, 32,417 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 414 418 $ "ave(X)", zsto,zout) 415 419 C 416 420 call histdef(nid_day, "sens_"//clnsurf(nsrf), 417 421 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 418 $ iim,jj mp1,nhori, 1,1,1, -99, 32,422 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 419 423 $ "ave(X)", zsto,zout) 420 424 c 421 425 call histdef(nid_day, "lat_"//clnsurf(nsrf), 422 426 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 423 $ iim,jj mp1,nhori, 1,1,1, -99, 32,427 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 424 428 $ "ave(X)", zsto,zout) 425 429 C 426 430 call histdef(nid_day, "taux_"//clnsurf(nsrf), 427 431 $ "Zonal wind stress"//clnsurf(nsrf),"Pa", 428 $ iim,jj mp1,nhori, 1,1,1, -99, 32,432 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 429 433 $ "ave(X)", zsto,zout) 430 434 431 435 call histdef(nid_day, "tauy_"//clnsurf(nsrf), 432 436 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 433 $ iim,jj mp1,nhori, 1,1,1, -99, 32,437 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 434 438 $ "ave(X)", zsto,zout) 435 439 C 436 440 call histdef(nid_day, "albe_"//clnsurf(nsrf), 437 441 $ "Albedo surf. "//clnsurf(nsrf), "W/m2", 438 $ iim,jj mp1,nhori, 1,1,1, -99, 32,442 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 439 443 $ "ave(X)", zsto,zout) 440 444 C 441 445 call histdef(nid_day, "rugs_"//clnsurf(nsrf), 442 446 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 443 $ iim,jj mp1,nhori, 1,1,1, -99, 32,447 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 444 448 $ "ave(X)", zsto,zout) 445 449 C -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histhf.h
r633 r634 14 14 15 15 c 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)17 DO i = 1, iim18 zx_lon(i,1) = rlon(i+1)19 zx_lon(i,jjmp1) = rlon(i+1)20 ENDDO21 22 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)16 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 17 cym DO i = 1, iim 18 cym zx_lon(i,1) = rlon(i+1) 19 cym zx_lon(i,jjmp1) = rlon(i+1) 20 cym ENDDO 21 22 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 23 23 24 24 cccIM CALL histbeg("histhf", iim,zx_lon, jjmp1,zx_lat, 25 CALL histbeg("histhf", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 26 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 25 cym CALL histbeg("histhf", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 26 cym . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 27 cym . nhori, nid_hf) 28 29 CALL histbeg_phy("histhf", itau_phy, zjulian, dtime, 27 30 . nhori, nid_hf) 28 31 … … 42 45 c 43 46 CALL histdef(nid_hf, "aireTER","Grid area CONT","-", 44 . iim,jj mp1,nhori, 1,1,1, -99, 32,47 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 45 48 . "once", zsto,zout) 46 49 c 47 50 CALL histdef(nid_hf, "contfracATM","% sfce ter+lic ","-", 48 . iim,jj mp1,nhori, 1,1,1, -99, 32,51 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 49 52 . "once", zsto,zout) 50 53 c 51 54 CALL histdef(nid_hf, "contfracOR","% sfce terre OR", "-", 52 . iim,jj mp1,nhori, 1,1,1, -99, 32,55 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 53 56 . "once", zsto,zout) 54 57 c … … 56 59 c 57 60 CALL histdef(nid_hf, "t2m", "Temperature 2m", "K", 58 . iim,jj mp1,nhori, 1,1,1, -99, 32,61 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 59 62 . "inst(X)", zsto,zout) 60 63 c 61 64 CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg", 62 . iim,jj mp1,nhori, 1,1,1, -99, 32,65 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 63 66 . "inst(X)", zsto,zout) 64 67 c 65 68 CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa", 66 . iim,jj mp1,nhori, 1,1,1, -99, 32,69 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 67 70 . "inst(X)", zsto,zout) 68 71 c … … 70 73 71 74 CALL histdef(nid_hf, "rain", "Precipitation", "kg/m^2s", 72 . iim,jj mp1,nhori, 1,1,1, -99, 32,75 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 73 76 . "ave(X)", zsto1,zout) 74 77 c … … 76 79 c 77 80 CALL histdef(nid_hf, "tsol", "Surface Temperature", "K", 78 . iim,jj mp1,nhori, 1,1,1, -99, 32,81 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 79 82 . "inst(X)", zsto,zout) 80 83 c 81 84 CALL histdef(nid_hf, "slp", "Sea Level Pressure", "Pa", 82 . iim,jj mp1,nhori, 1,1,1, -99, 32,85 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 83 86 . "inst(X)", zsto,zout) 84 87 c 85 88 c 86 89 CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s", 87 . iim,jj mp1,nhori, 1,1,1, -99, 32,90 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 88 91 . "inst(X)", zsto,zout) 89 92 c 90 93 CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s", 91 . iim,jj mp1,nhori, 1,1,1, -99, 32,94 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 92 95 . "inst(X)", zsto,zout) 93 96 c 94 97 CALL histdef(nid_hf, "wind10m","10-m wind speed","m/s", 95 . iim,jj mp1,nhori, 1,1,1, -99, 32,98 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 96 99 . "inst(X)", zsto,zout) 97 100 c … … 100 103 CALL histdef(nid_hf, "phi"//clev(k), 101 104 . "Geopotential"//clev(k)//"mb", "m2/s2", 102 . iim,jj mp1,nhori, 1,1,1, -99, 32,105 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 103 106 . "inst(X)", zsto,zout) 104 107 ENDIF !clev(k).EQ."500" … … 110 113 c 111 114 CALL histdef(nid_hf, "cldt", "Total cloudiness", "-", 112 . iim,jj mp1,nhori, 1,1,1, -99, 32,115 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 113 116 . "ave(X)", zsto1,zout) 114 117 c … … 116 119 CALL histdef(nid_hf, "SWdownOR", 117 120 . "Sfce incident SW down radiation OR", "W/m^2", 118 . iim,jj mp1,nhori, 1,1,1, -99, 32,121 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 119 122 . "ave(X)", zsto1,zout) 120 123 c 121 124 CALL histdef(nid_hf, "SWnetOR", 122 125 . "Sfce incident SW net radiation OR", "W/m^2", 123 . iim,jj mp1,nhori, 1,1,1, -99, 32,126 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 124 127 . "ave(X)", zsto1,zout) 125 128 c -- LOOP … … 127 130 CALL histdef(nid_hf, "LWdownOR", 128 131 . "Sfce incident LW radiation OR", "W/m^2", 129 . iim,jj mp1,nhori, 1,1,1, -99, 32,132 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 130 133 . "ave(X)", zsto1,zout) 131 134 ENDIF !lev_histhf.GE.2 … … 139 142 CALL histdef(nid_hf, "t"//clev(k), 140 143 . "Temperature"//clev(k)//"mb","K", 141 . iim,jj mp1,nhori, 1,1,1, -99, 32,144 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 142 145 . "inst(X)", zsto,zout) 143 146 c … … 145 148 CALL histdef(nid_hf, "phi"//clev(k), 146 149 . "Geopotential"//clev(k)//"mb", "m2/s2", 147 . iim,jj mp1,nhori, 1,1,1, -99, 32,150 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 148 151 . "inst(X)", zsto,zout) 149 152 ENDIF … … 151 154 CALL histdef(nid_hf, "q"//clev(k), 152 155 . "Specific humidity"//clev(k)//"mb","kg/kg", 153 . iim,jj mp1,nhori, 1,1,1, -99, 32,156 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 154 157 . "inst(X)", zsto,zout) 155 158 c … … 157 160 CALL histdef(nid_hf, "rh"//clev(k), 158 161 . "Relative humidity"//clev(k)//"mb", "%", 159 . iim,jj mp1,nhori, 1,1,1, -99, 32,162 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 160 163 . "inst(X)", zsto,zout) 161 164 ENDIF … … 163 166 CALL histdef(nid_hf, "u"//clev(k), 164 167 . "Zonal wind"//clev(k)//"mb","m/s", 165 . iim,jj mp1,nhori, 1,1,1, -99, 32,168 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 166 169 . "inst(X)", zsto,zout) 167 170 c 168 171 CALL histdef(nid_hf, "v"//clev(k), 169 172 . "Meridional wind"//clev(k)//"mb","m/s", 170 . iim,jj mp1,nhori, 1,1,1, -99, 32,173 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 171 174 . "inst(X)", zsto,zout) 172 175 c … … 174 177 IF(1.EQ.0) THEN 175 178 CALL histdef(nid_hf, "cdrm", " Momentum drag coef.", "-", 176 . iim,jj mp1,nhori, 1,1,1, -99, 32,179 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 177 180 . "inst(X)", zsto,zout) 178 181 c 179 182 CALL histdef(nid_hf, "cdrh", "Heat drag coef.", "-", 180 . iim,jj mp1,nhori, 1,1,1, -99, 32,183 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 181 184 . "inst(X)", zsto,zout) 182 185 ENDIF !(1.EQ.0) THEN -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histhf3d.h
r524 r634 20 20 21 21 c 22 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)23 DO i = 1, iim24 zx_lon(i,1) = rlon(i+1)25 zx_lon(i,jjmp1) = rlon(i+1)26 ENDDO22 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 23 cym DO i = 1, iim 24 cym zx_lon(i,1) = rlon(i+1) 25 cym zx_lon(i,jjmp1) = rlon(i+1) 26 cym ENDDO 27 27 28 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)28 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 29 29 30 30 cccIM CALL histbeg("histhf", iim,zx_lon, jjmp1,zx_lat, 31 CALL histbeg("histhf3d", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 32 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 31 cym CALL histbeg("histhf3d", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 32 cym . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 33 cym . nhori, nid_hf3d) 34 CALL histbeg_phy("histhf3d", itau_phy, zjulian, dtime, 33 35 . nhori, nid_hf3d) 34 36 … … 42 44 c 43 45 CALL histdef(nid_hf3d, "temp", "Air temperature", "K", 44 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,46 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 45 47 . "ave(X)", zsto,zout) 46 48 c 47 49 CALL histdef(nid_hf3d, "ovap", "Specific humidity", "kg/kg", 48 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,50 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 49 51 . "ave(X)", zsto,zout) 50 52 c 51 53 CALL histdef(nid_hf3d, "vitu", "Zonal wind", "m/s", 52 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,54 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 53 55 . "ave(X)", zsto,zout) 54 56 c 55 57 CALL histdef(nid_hf3d, "vitv", "Meridional wind", "m/s", 56 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,58 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 57 59 . "ave(X)", zsto,zout) 58 60 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histins.h
r524 r634 10 10 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 11 11 c 12 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)13 DO i = 1, iim14 zx_lon(i,1) = rlon(i+1)15 zx_lon(i,jjmp1) = rlon(i+1)16 ENDDO12 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 13 cym DO i = 1, iim 14 cym zx_lon(i,1) = rlon(i+1) 15 cym zx_lon(i,jjmp1) = rlon(i+1) 16 cym ENDDO 17 17 DO ll=1,klev 18 18 znivsig(ll)=float(ll) 19 19 ENDDO 20 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 21 CALL histbeg("histins", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 22 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 20 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 21 cym CALL histbeg("histins", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 22 cym . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 23 cym . nhori, nid_ins) 24 CALL histbeg_phy("histins", itau_phy, zjulian, dtime, 23 25 . nhori, nid_ins) 24 26 write(*,*)'Inst ', itau_phy, zjulian … … 30 32 c 31 33 CALL histdef(nid_ins, "phis", "Surface geop. height", "-", 32 . iim,jj mp1,nhori, 1,1,1, -99, 32,34 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 33 35 . "once", zsto,zout) 34 36 c 35 37 CALL histdef(nid_ins, "aire", "Grid area", "-", 36 . iim,jj mp1,nhori, 1,1,1, -99, 32,38 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 37 39 . "once", zsto,zout) 38 40 c … … 40 42 c 41 43 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", 42 . iim,jj mp1,nhori, 1,1,1, -99, 32,44 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 43 45 . "inst(X)", zsto,zout) 44 46 c 45 47 CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", 46 . iim,jj mp1,nhori, 1,1,1, -99, 32,48 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 47 49 . "inst(X)", zsto,zout) 48 50 c 49 51 CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", 50 . iim,jj mp1,nhori, 1,1,1, -99, 32,52 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 51 53 . "inst(X)", zsto,zout) 52 54 c 53 55 CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", 54 . iim,jj mp1,nhori, 1,1,1, -99, 32,56 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 55 57 . "inst(X)", zsto,zout) 56 58 c 57 59 CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", 58 . iim,jj mp1,nhori, 1,1,1, -99, 32,60 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 59 61 . "inst(X)", zsto,zout) 60 62 c 61 63 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", 62 . iim,jj mp1,nhori, 1,1,1, -99, 32,64 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 63 65 . "inst(X)", zsto,zout) 64 66 c 65 67 CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", 66 . iim,jj mp1,nhori, 1,1,1, -99, 32,68 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 67 69 . "inst(X)", zsto,zout) 68 70 c 69 71 CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", 70 . iim,jj mp1,nhori, 1,1,1, -99, 32,72 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 71 73 . "inst(X)", zsto,zout) 72 74 c 73 75 CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", 74 . iim,jj mp1,nhori, 1,1,1, -99, 32,76 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 75 77 . "inst(X)", zsto,zout) 76 78 c 77 79 CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", 78 . iim,jj mp1,nhori, 1,1,1, -99, 32,80 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 79 81 . "inst(X)", zsto,zout) 80 82 c 81 83 CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", 82 84 . "kg/(s*m2)", 83 . iim,jj mp1,nhori, 1,1,1, -99, 32,85 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 84 86 . "inst(X)", zsto,zout) 85 87 c 86 88 CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", 87 . iim,jj mp1,nhori, 1,1,1, -99, 32,89 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 88 90 . "inst(X)", zsto,zout) 89 91 c 90 92 CALL histdef(nid_ins, "snow_mass", "Snow Mass", "kg/m2", 91 . iim,jj mp1,nhori, 1,1,1, -99, 32,93 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 92 94 . "inst(X)", zsto,zout) 93 95 c 94 96 CALL histdef(nid_ins, "topl", "OLR", "W/m2", 95 . iim,jj mp1,nhori, 1,1,1, -99, 32,97 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 96 98 . "inst(X)", zsto,zout) 97 99 c 98 100 CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", 99 . iim,jj mp1,nhori, 1,1,1, -99, 32,101 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 100 102 . "inst(X)", zsto,zout) 101 103 c 102 104 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", 103 . iim,jj mp1,nhori, 1,1,1, -99, 32,105 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 104 106 . "inst(X)", zsto,zout) 105 107 c 106 108 CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", 107 . iim,jj mp1,nhori, 1,1,1, -99, 32,109 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 108 110 . "inst(X)", zsto,zout) 109 111 c 110 112 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", 111 . "W/m2", iim,jj mp1,nhori, 1,1,1, -99, 32,113 . "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 112 114 . "inst(X)", zsto,zout) 113 115 c 114 116 CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", 115 . iim,jj mp1,nhori, 1,1,1, -99, 32,117 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 116 118 . "inst(X)", zsto,zout) 117 119 c 118 120 CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", 119 . iim,jj mp1,nhori, 1,1,1, -99, 32,121 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 120 122 . "inst(X)", zsto,zout) 121 123 c 122 124 CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", 123 . iim,jj mp1,nhori, 1,1,1, -99, 32,125 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 124 126 . "inst(X)", zsto,zout) 125 127 c 126 128 CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", 127 . iim,jj mp1,nhori, 1,1,1, -99, 32,129 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 128 130 . "inst(X)", zsto,zout) 129 131 c 130 132 CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", 131 . iim,jj mp1,nhori, 1,1,1, -99, 32,133 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 132 134 . "inst(X)", zsto,zout) 133 135 c 134 136 CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", 135 . iim,jj mp1,nhori, 1,1,1, -99, 32,137 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 136 138 . "inst(X)", zsto,zout) 137 139 c 138 140 CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", 139 . iim,jj mp1,nhori, 1,1,1, -99, 32,141 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 140 142 . "inst(X)", zsto,zout) 141 143 … … 144 146 call histdef(nid_ins, "pourc_"//clnsurf(nsrf), 145 147 $ "Fraction"//clnsurf(nsrf), "W/m2", 146 $ iim,jj mp1,nhori, 1,1,1, -99, 32,148 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 147 149 $ "inst(X)", zsto,zout) 148 150 149 151 call histdef(nid_ins, "sens_"//clnsurf(nsrf), 150 152 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 151 $ iim,jj mp1,nhori, 1,1,1, -99, 32,153 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 152 154 $ "inst(X)", zsto,zout) 153 155 c 154 156 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), 155 157 $ "Surface Temperature"//clnsurf(nsrf), "W/m2", 156 $ iim,jj mp1,nhori, 1,1,1, -99, 32,158 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 157 159 $ "inst(X)", zsto,zout) 158 160 c 159 161 call histdef(nid_ins, "lat_"//clnsurf(nsrf), 160 162 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 161 $ iim,jj mp1,nhori, 1,1,1, -99, 32,163 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 162 164 $ "inst(X)", zsto,zout) 163 165 C 164 166 call histdef(nid_ins, "taux_"//clnsurf(nsrf), 165 167 $ "Zonal wind stress"//clnsurf(nsrf),"Pa", 166 $ iim,jj mp1,nhori, 1,1,1, -99, 32,168 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 167 169 $ "inst(X)", zsto,zout) 168 170 169 171 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), 170 172 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 171 $ iim,jj mp1,nhori, 1,1,1, -99, 32,173 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 172 174 $ "inst(X)", zsto,zout) 173 175 c 174 176 call histdef(nid_ins, "albe_"//clnsurf(nsrf), 175 177 $ "Albedo "//clnsurf(nsrf), "-", 176 $ iim,jj mp1,nhori, 1,1,1, -99, 32,178 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 177 179 $ "inst(X)", zsto,zout) 178 180 c 179 181 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), 180 182 $ "rugosite "//clnsurf(nsrf), "-", 181 $ iim,jj mp1,nhori, 1,1,1, -99, 32,183 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 182 184 $ "inst(X)", zsto,zout) 183 185 CXXX 184 186 END DO 185 187 CALL histdef(nid_ins, "rugs", "rugosity", "-", 186 . iim,jj mp1,nhori, 1,1,1, -99, 32,188 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 187 189 . "inst(X)", zsto,zout) 188 190 189 191 c 190 192 CALL histdef(nid_ins, "albs", "Surface albedo", "-", 191 . iim,jj mp1,nhori, 1,1,1, -99, 32,193 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 192 194 . "inst(X)", zsto,zout) 193 195 CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-", 194 . iim,jj mp1,nhori, 1,1,1, -99, 32,196 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 195 197 . "inst(X)", zsto,zout) 196 198 c … … 199 201 c 200 202 CALL histdef(nid_ins, "temp", "Temperature", "K", 201 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,203 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 202 204 . "inst(X)", zsto,zout) 203 205 c 204 206 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", 205 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,207 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 206 208 . "inst(X)", zsto,zout) 207 209 c 208 210 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", 209 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,211 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 210 212 . "inst(X)", zsto,zout) 211 213 c 212 214 CALL histdef(nid_ins, "geop", "Geopotential height", "m", 213 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,215 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 214 216 . "inst(X)", zsto,zout) 215 217 c 216 218 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", 217 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,219 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 218 220 . "inst(X)", zsto,zout) 219 221 c 220 222 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", 221 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,223 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 222 224 . "inst(X)", zsto,zout) 223 225 c 224 226 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", 225 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,227 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 226 228 . "inst(X)", zsto,zout) 227 229 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histmth.h
r633 r634 16 16 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 17 17 c 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)19 DO i = 1, iim20 zx_lon(i,1) = rlon(i+1)21 zx_lon(i,jjmp1) = rlon(i+1)22 ENDDO18 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 19 cym DO i = 1, iim 20 cym zx_lon(i,1) = rlon(i+1) 21 cym zx_lon(i,jjmp1) = rlon(i+1) 22 cym ENDDO 23 23 DO ll=1,klev 24 24 znivsig(ll)=float(ll) 25 25 ENDDO 26 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 27 CALL histbeg("histmth.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 28 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 26 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 27 cym CALL histbeg("histmth.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 28 cym . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 29 cym . nhori, nid_mth) 30 31 CALL histbeg_phy("histmth.nc",itau_phy, zjulian, dtime, 29 32 . nhori, nid_mth) 30 write(*,*)'Mensuel ', itau_phy, zjulian 33 34 write(*,*)'Mensuel ', itau_phy, zjulian 31 35 CALL histvert(nid_mth, "presnivs", "Vertical levels", "mb", 32 36 . klev, presnivs, nvert) … … 37 41 IF(lev_histmth.GE.1) THEN 38 42 CALL histdef(nid_mth, "phis", "Surface geop. height", "-", 39 . iim,jj mp1,nhori, 1,1,1, -99, 32,43 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 40 44 . "once", zsto,zout) 41 45 c 42 46 CALL histdef(nid_mth, "aire", "Grid area", "-", 43 . iim,jj mp1,nhori, 1,1,1, -99, 32,47 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 44 48 . "once", zsto,zout) 45 49 c 46 50 call histdef(nid_mth, "pourc_"//clnsurf(is_ter), 47 51 $ "Fraction "//clnsurf(is_ter), "W/m2", 48 $ iim,jj mp1,nhori, 1,1,1, -99, 32,52 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 49 53 $ "once", zsto,zout) 50 54 c … … 52 56 c 53 57 CALL histdef(nid_mth, "slp", "Sea Level Pressure", "Pa", 54 . iim,jj mp1,nhori, 1,1,1, -99, 32,58 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 55 59 . "ave(X)", zsto,zout) 56 60 c 57 61 CALL histdef(nid_mth, "tsol", "Surface Temperature", "K", 58 . iim,jj mp1,nhori, 1,1,1, -99, 32,62 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 59 63 . "ave(X)", zsto,zout) 60 64 c 61 65 CALL histdef(nid_mth, "t2m", "Temperature 2m", "K", 62 . iim,jj mp1,nhori, 1,1,1, -99, 32,66 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 63 67 . "ave(X)", zsto,zout) 64 68 c ENSEMBLES BEG 65 69 CALL histdef(nid_mth, "t2m_min", "Temp. 2m min.", 66 70 . "K", 67 . iim,jj mp1,nhori, 1,1,1, -99, 32,71 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 68 72 . t2mincels, zsto,zout) 69 73 c 70 74 CALL histdef(nid_mth, "t2m_max", "Temp. 2m max.", 71 75 . "K", 72 . iim,jj mp1,nhori, 1,1,1, -99, 32,76 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 73 77 . t2maxcels, zsto,zout) 74 78 c 75 79 c CALL histdef(nid_mth, "tsoil", "Sfce soil Temperature", 76 80 c . "K", 77 c . iim,jj mp1,nhori, 1,1,1, -99, 32,81 c . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 78 82 c . "ave(X)", zsto,zout) 79 83 c 80 84 CALL histdef(nid_mth, "wind10m","10-m wind speed","m/s", 81 . iim,jj mp1,nhori, 1,1,1, -99, 32,85 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 82 86 . "ave(X)", zsto,zout) 83 87 c 84 88 CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-", 85 . iim,jj mp1,nhori, 1,1,1, -99, 32,89 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 86 90 . "ave(X)", zsto,zout) 87 91 … … 89 93 c ENSEMBLES END 90 94 CALL histdef(nid_mth, "q2m", "Specific humidity 2m", "kg/kg", 91 . iim,jj mp1,nhori, 1,1,1, -99, 32,95 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 92 96 . "ave(X)", zsto,zout) 93 97 c 94 98 CALL histdef(nid_mth, "u10m", "Vent zonal 10m", "m/s", 95 . iim,jj mp1,nhori, 1,1,1, -99, 32,99 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 96 100 . "ave(X)", zsto,zout) 97 101 c 98 102 CALL histdef(nid_mth, "v10m", "Vent meridien 10m", "m/s", 99 . iim,jj mp1,nhori, 1,1,1, -99, 32,103 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 100 104 . "ave(X)", zsto,zout) 101 105 c 102 106 CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa", 103 . iim,jj mp1,nhori, 1,1,1, -99, 32,107 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 104 108 . "ave(X)", zsto,zout) 105 109 c 106 110 CALL histdef(nid_mth, "qsurf", "Surface Air humidity", "kg/kg", 107 . iim,jj mp1,nhori, 1,1,1, -99, 32,111 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 108 112 . "ave(X)", zsto,zout) 109 113 c 110 114 if (.not. ok_veget) then 111 115 CALL histdef(nid_mth, "qsol", "Soil watter content", "mm", 112 . iim,jj mp1,nhori, 1,1,1, -99, 32,116 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 113 117 . "ave(X)", zsto,zout) 114 118 endif … … 116 120 CALL histdef(nid_mth, "ndayrain", 117 121 . "Number of day with rain (liq+sol)", "-", 118 . iim,jj mp1,nhori, 1,1,1, -99, 32,122 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 119 123 . "inst(X)", zsto1,zout) 120 124 c 121 125 CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol", 122 126 . "kg/(s*m2)", 123 . iim,jj mp1,nhori, 1,1,1, -99, 32,127 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 124 128 . "ave(X)", zsto,zout) 125 129 c 126 130 CALL histdef(nid_mth, "plul", "Large-scale Precip.", 127 131 . "kg/(s*m2)", 128 . iim,jj mp1,nhori, 1,1,1, -99, 32,132 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 129 133 . "ave(X)", zsto,zout) 130 134 c 131 135 CALL histdef(nid_mth, "pluc", "Convective Precip.", 132 136 . "kg/(s*m2)", 133 . iim,jj mp1,nhori, 1,1,1, -99, 32,137 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 134 138 . "ave(X)", zsto,zout) 135 139 c 136 140 CALL histdef(nid_mth, "snow", "Snow fall", "kg/(s*m2)", 137 . iim,jj mp1,nhori, 1,1,1, -99, 32,141 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 138 142 . "ave(X)", zsto,zout) 139 143 c 140 144 CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2", 141 . iim,jj mp1,nhori, 1,1,1, -99, 32,145 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 142 146 . "ave(X)", zsto,zout) 143 147 c 144 148 CALL histdef(nid_mth, "evap", "Evaporation", "kg/(s*m2)", 145 . iim,jj mp1,nhori, 1,1,1, -99, 32,149 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 146 150 . "ave(X)", zsto,zout) 147 151 c 148 152 CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2", 149 . iim,jj mp1,nhori, 1,1,1, -99, 32,153 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 150 154 . "ave(X)", zsto,zout) 151 155 c 152 156 CALL histdef(nid_mth, "tops0", "Solar rad. at TOA", "W/m2", 153 . iim,jj mp1,nhori, 1,1,1, -99, 32,157 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 154 158 . "ave(X)", zsto,zout) 155 159 c 156 160 CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2", 157 . iim,jj mp1,nhori, 1,1,1, -99, 32,161 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 158 162 . "ave(X)", zsto,zout) 159 163 c 160 164 CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2", 161 . iim,jj mp1,nhori, 1,1,1, -99, 32,165 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 162 166 . "ave(X)", zsto,zout) 163 167 c 164 168 CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2", 165 . iim,jj mp1,nhori, 1,1,1,-99,169 . iim,jjphy_nb,nhori, 1,1,1,-99, 166 170 . 32, "ave(X)", zsto2,zout) 167 171 c 168 172 CALL histdef(nid_mth, "SWupTOAclr", 169 173 . "SWup clear sky at TOA","W/m2", 170 . iim,jj mp1,nhori, 1,1,1,-99,174 . iim,jjphy_nb,nhori, 1,1,1,-99, 171 175 . 32, "ave(X)", zsto2,zout) 172 176 c 173 177 CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2", 174 . iim,jj mp1,nhori, 1,1,1,-99,178 . iim,jjphy_nb,nhori, 1,1,1,-99, 175 179 . 32, "ave(X)", zsto2,zout) 176 180 c 177 181 CALL histdef(nid_mth, "SWdnTOAclr", 178 182 . "SWdn clear sky at TOA","W/m2", 179 . iim,jj mp1,nhori, 1,1,1,-99,183 . iim,jjphy_nb,nhori, 1,1,1,-99, 180 184 . 32, "ave(X)", zsto2,zout) 181 185 c 182 186 CALL histdef(nid_mth, "SWup200", "SWup at 200hPa","W/m2", 183 . iim,jj mp1,nhori, 1,1,1,-99,187 . iim,jjphy_nb,nhori, 1,1,1,-99, 184 188 . 32, "ave(X)", zsto2,zout) 185 189 c 186 190 CALL histdef(nid_mth, "SWup200clr", 187 191 . "SWup clear sky at 200hPa","W/m2", 188 . iim,jj mp1,nhori, 1,1,1,-99,192 . iim,jjphy_nb,nhori, 1,1,1,-99, 189 193 . 32, "ave(X)", zsto2,zout) 190 194 c 191 195 CALL histdef(nid_mth, "SWdn200", "SWdn at 200hPa","W/m2", 192 . iim,jj mp1,nhori, 1,1,1,-99,196 . iim,jjphy_nb,nhori, 1,1,1,-99, 193 197 . 32, "ave(X)", zsto2,zout) 194 198 c 195 199 CALL histdef(nid_mth, "SWdn200clr", 196 200 . "SWdn clear sky at 200hPa","W/m2", 197 . iim,jj mp1,nhori, 1,1,1,-99,201 . iim,jjphy_nb,nhori, 1,1,1,-99, 198 202 . 32, "ave(X)", zsto2,zout) 199 203 c 200 204 CALL histdef(nid_mth, "LWup200", "LWup at 200hPa","W/m2", 201 . iim,jj mp1,nhori, 1,1,1,-99,205 . iim,jjphy_nb,nhori, 1,1,1,-99, 202 206 . 32, "ave(X)", zsto2,zout) 203 207 c 204 208 CALL histdef(nid_mth, "LWup200clr", 205 209 . "LWup clear sky at 200hPa","W/m2", 206 . iim,jj mp1,nhori, 1,1,1,-99,210 . iim,jjphy_nb,nhori, 1,1,1,-99, 207 211 . 32, "ave(X)", zsto2,zout) 208 212 c 209 213 CALL histdef(nid_mth, "LWdn200", "LWdn at 200hPa","W/m2", 210 . iim,jj mp1,nhori, 1,1,1,-99,214 . iim,jjphy_nb,nhori, 1,1,1,-99, 211 215 . 32, "ave(X)", zsto2,zout) 212 216 c 213 217 CALL histdef(nid_mth, "LWdn200clr", 214 218 . "LWdn clear sky at 200hPa","W/m2", 215 . iim,jj mp1,nhori, 1,1,1,-99,219 . iim,jjphy_nb,nhori, 1,1,1,-99, 216 220 . 32, "ave(X)", zsto2,zout) 217 221 c 218 222 CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2", 219 . iim,jj mp1,nhori, 1,1,1, -99, 32,223 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 220 224 . "ave(X)", zsto,zout) 221 225 c 222 226 CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2", 223 . iim,jj mp1,nhori, 1,1,1, -99, 32,227 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 224 228 . "ave(X)", zsto,zout) 225 229 c 226 230 CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2", 227 . iim,jj mp1,nhori, 1,1,1, -99, 32,231 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 228 232 . "ave(X)", zsto,zout) 229 233 c 230 234 CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2", 231 . iim,jj mp1,nhori, 1,1,1, -99, 32,235 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 232 236 . "ave(X)", zsto,zout) 233 237 c 234 238 CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2", 235 . iim,jj mp1,nhori, 1,1,1,-99,239 . iim,jjphy_nb,nhori, 1,1,1,-99, 236 240 . 32, "ave(X)", zsto2,zout) 237 241 c 238 242 CALL histdef(nid_mth, "SWupSFCclr", 239 243 . "SWup clear sky at surface","W/m2", 240 . iim,jj mp1,nhori, 1,1,1,-99,244 . iim,jjphy_nb,nhori, 1,1,1,-99, 241 245 . 32, "ave(X)", zsto2,zout) 242 246 c 243 247 CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2", 244 . iim,jj mp1,nhori, 1,1,1,-99,248 . iim,jjphy_nb,nhori, 1,1,1,-99, 245 249 . 32, "ave(X)", zsto2,zout) 246 250 c 247 251 CALL histdef(nid_mth, "SWdnSFCclr", 248 252 . "SWdn clear sky at surface","W/m2", 249 . iim,jj mp1,nhori, 1,1,1,-99,253 . iim,jjphy_nb,nhori, 1,1,1,-99, 250 254 . 32, "ave(X)", zsto2,zout) 251 255 c 252 256 CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface", 253 . "W/m2", iim,jj mp1,nhori, 1,1,1, -99, 32,257 . "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 254 258 . "ave(X)", zsto2,zout) 255 259 c 256 260 CALL histdef(nid_mth,"LWdnSFC","Down. IR rad. at surface", 257 . "W/m2", iim,jj mp1,nhori, 1,1,1, -99, 32,261 . "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 258 262 . "ave(X)", zsto2,zout) 259 263 c 260 264 CALL histdef(nid_mth,"LWupSFCclr", 261 265 . "CS Upwd. IR rad. at surface", 262 . "W/m2", iim,jj mp1,nhori, 1,1,1, -99, 32,266 . "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 263 267 . "ave(X)", zsto2,zout) 264 268 c 265 269 CALL histdef(nid_mth,"LWdnSFCclr", 266 270 . "Down. CS IR rad. at surface", 267 . "W/m2", iim,jj mp1,nhori, 1,1,1, -99, 32,271 . "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 268 272 . "ave(X)", zsto2,zout) 269 273 c 270 274 CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2", 271 . iim,jj mp1,nhori, 1,1,1, -99, 32,275 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 272 276 . "ave(X)", zsto,zout) 273 277 c 274 278 CALL histdef(nid_mth, "sens", "Sensible heat flux", "W/m2", 275 . iim,jj mp1,nhori, 1,1,1, -99, 32,279 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 276 280 . "ave(X)", zsto,zout) 277 281 c 278 282 CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2", 279 . iim,jj mp1,nhori, 1,1,1, -99, 32,283 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 280 284 . "ave(X)", zsto,zout) 281 285 c … … 284 288 c IF (ok_ade.OR.ok_aie) THEN 285 289 CALL histdef(nid_mth, "topsad", "ADE at TOA", "W/m2", 286 . iim,jj mp1,nhori, 1,1,1, -99, 32,290 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 287 291 . "ave(X)", zsto,zout) 288 292 c 289 293 CALL histdef(nid_mth, "solsad", "ADE at sfc", "W/m2", 290 . iim,jj mp1,nhori, 1,1,1, -99, 32,294 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 291 295 . "ave(X)", zsto,zout) 292 296 c 293 297 CALL histdef(nid_mth, "topsai", "AIE at TOA", "W/m2", 294 . iim,jj mp1,nhori, 1,1,1, -99, 32,298 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 295 299 . "ave(X)", zsto,zout) 296 300 c 297 301 CALL histdef(nid_mth, "solsai", "AIE at sfc", "W/m2", 298 . iim,jj mp1,nhori, 1,1,1, -99, 32,302 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 299 303 . "ave(X)", zsto,zout) 300 304 c endif … … 303 307 c 304 308 c CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa", 305 c . iim,jj mp1,nhori, 1,1,1, -99, 32,309 c . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 306 310 c . "ave(X)", zsto,zout) 307 311 c 308 312 c CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa", 309 c . iim,jj mp1,nhori, 1,1,1, -99, 32,313 c . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 310 314 c . "ave(X)", zsto,zout) 311 315 c 312 316 CALL histdef(nid_mth, "ffonte","Thermal flux for snow melting", 313 . "W/m2",iim,jj mp1,nhori, 1,1,1, -99, 32,317 . "W/m2",iim,jjphy_nb,nhori, 1,1,1, -99, 32, 314 318 . "ave(X)", zsto,zout) 315 319 c 316 320 CALL histdef(nid_mth, "fqcalving","Ice Calving", 317 . "kg/m2/s",iim,jj mp1,nhori, 1,1,1, -99, 32,321 . "kg/m2/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32, 318 322 . "ave(X)", zsto,zout) 319 323 cIM: 171003 … … 321 325 call histdef(nid_mth, "taux_"//clnsurf(nsrf), 322 326 $ "Zonal wind stress"//clnsurf(nsrf), "Pa", 323 $ iim,jj mp1,nhori, 1,1,1, -99, 32,327 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 324 328 $ "ave(X)", zsto,zout) 325 329 326 330 call histdef(nid_mth, "tauy_"//clnsurf(nsrf), 327 331 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 328 $ iim,jj mp1,nhori, 1,1,1, -99, 32,332 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 329 333 $ "ave(X)", zsto,zout) 330 334 ENDDO … … 336 340 call histdef(nid_mth, "pourc_"//clnsurf(nsrf), 337 341 $ "Fraction "//clnsurf(nsrf), "W/m2", 338 $ iim,jj mp1,nhori, 1,1,1, -99, 32,342 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 339 343 $ "ave(X)", zsto,zout) 340 344 ENDIF !nsrf.GT.1 … … 342 346 call histdef(nid_mth, "tsol_"//clnsurf(nsrf), 343 347 $ "Fraction "//clnsurf(nsrf), "W/m2", 344 $ iim,jj mp1,nhori, 1,1,1, -99, 32,348 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 345 349 $ "ave(X)", zsto,zout) 346 350 C 347 351 call histdef(nid_mth, "sens_"//clnsurf(nsrf), 348 352 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 349 $ iim,jj mp1,nhori, 1,1,1, -99, 32,353 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 350 354 $ "ave(X)", zsto,zout) 351 355 c 352 356 call histdef(nid_mth, "lat_"//clnsurf(nsrf), 353 357 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 354 $ iim,jj mp1,nhori, 1,1,1, -99, 32,358 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 355 359 $ "ave(X)", zsto,zout) 356 360 C 357 361 call histdef(nid_mth, "flw_"//clnsurf(nsrf), 358 362 $ "LW "//clnsurf(nsrf), "W/m2", 359 $ iim,jj mp1,nhori, 1,1,1, -99, 32,363 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 360 364 $ "ave(X)", zsto2,zout) 361 365 c 362 366 call histdef(nid_mth, "fsw_"//clnsurf(nsrf), 363 367 $ "SW "//clnsurf(nsrf), "W/m2", 364 $ iim,jj mp1,nhori, 1,1,1, -99, 32,368 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 365 369 $ "ave(X)", zsto2,zout) 366 370 C 367 371 call histdef(nid_mth, "wbils_"//clnsurf(nsrf), 368 372 $ "Bilan sol "//clnsurf(nsrf), "W/m2", 369 $ iim,jj mp1,nhori, 1,1,1, -99, 32,373 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 370 374 $ "ave(X)", zsto,zout) 371 375 C … … 373 377 c 374 378 CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-", 375 . iim,jj mp1,nhori, 1,1,1, -99, 32,379 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 376 380 . "ave(X)", zsto,zout) 377 381 c 378 382 CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-", 379 . iim,jj mp1,nhori, 1,1,1, -99, 32,383 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 380 384 . "ave(X)", zsto,zout) 381 385 c 382 386 CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-", 383 . iim,jj mp1,nhori, 1,1,1, -99, 32,387 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 384 388 . "ave(X)", zsto,zout) 385 389 c 386 390 CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-", 387 . iim,jj mp1,nhori, 1,1,1, -99, 32,391 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 388 392 . "ave(X)", zsto,zout) 389 393 c 390 394 CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-", 391 . iim,jj mp1,nhori, 1,1,1, -99, 32,395 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 392 396 . "ave(X)", zsto,zout) 393 397 c 394 398 CALL histdef(nid_mth, "cldt", "Total cloudiness", "-", 395 . iim,jj mp1,nhori, 1,1,1, -99, 32,399 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 396 400 . "ave(X)", zsto,zout) 397 401 c 398 402 CALL histdef(nid_mth,"cldq","Cloud liquid water path","kg/m2", 399 . iim,jj mp1,nhori, 1,1,1, -99, 32,403 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 400 404 . "ave(X)", zsto,zout) 401 405 cIM: 071003 402 406 CALL histdef(nid_mth,"lwp","Cloud water path","kg/m2", 403 . iim,jj mp1,nhori, 1,1,1, -99, 32,407 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 404 408 . "ave(X)", zsto,zout) 405 409 c 406 410 CALL histdef(nid_mth,"iwp","Cloud ice water path","kg/m2", 407 . iim,jj mp1,nhori, 1,1,1, -99, 32,411 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 408 412 . "ave(X)", zsto,zout) 409 413 cIM: 071003 410 414 c 411 415 CALL histdef(nid_mth, "ue", "Zonal energy transport", "-", 412 . iim,jj mp1,nhori, 1,1,1, -99, 32,416 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 413 417 . "ave(X)", zsto,zout) 414 418 c 415 419 CALL histdef(nid_mth, "ve", "Merid energy transport", "-", 416 . iim,jj mp1,nhori, 1,1,1, -99, 32,420 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 417 421 . "ave(X)", zsto,zout) 418 422 c 419 423 CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-", 420 . iim,jj mp1,nhori, 1,1,1, -99, 32,424 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 421 425 . "ave(X)", zsto,zout) 422 426 c 423 427 CALL histdef(nid_mth, "vq", "Merid humidity transport", "-", 424 . iim,jj mp1,nhori, 1,1,1, -99, 32,428 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 425 429 . "ave(X)", zsto,zout) 426 430 cKE43 … … 428 432 c 429 433 CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/kg", 430 . iim,jj mp1,nhori, 1,1,1, -99, 32,434 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 431 435 . "ave(X)", zsto,zout) 432 436 c 433 437 CALL histdef(nid_mth, "pbase", "Cld base pressure", "hPa", 434 . iim,jj mp1,nhori, 1,1,1, -99, 32,438 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 435 439 . "ave(X)", zsto,zout) 436 440 c 437 441 CALL histdef(nid_mth, "ptop", "Cld top pressure", "hPa", 438 . iim,jj mp1,nhori, 1,1,1, -99, 32,442 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 439 443 . "ave(X)", zsto,zout) 440 444 c 441 445 CALL histdef(nid_mth, "fbase", "Cld base mass flux", "kg/m2/s", 442 . iim,jj mp1,nhori, 1,1,1, -99, 32,446 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 443 447 . "ave(X)", zsto,zout) 444 448 c … … 446 450 c 447 451 CALL histdef(nid_mth, "prw", "Precipitable water", "kg/m2", 448 . iim,jj mp1,nhori, 1,1,1, -99, 32,452 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 449 453 . "ave(X)", zsto,zout) 450 454 c … … 455 459 CALL histdef(nid_mth, "u"//clev(k), 456 460 . "Zonal wind"//clev(k)//"mb","m/s", 457 . iim,jj mp1,nhori, 1,1,1, -99, 32,461 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 458 462 . "ave(X)", zsto,zout) 459 463 c 460 464 CALL histdef(nid_mth, "v"//clev(k), 461 465 . "Meridional wind"//clev(k)//"mb","m/s", 462 . iim,jj mp1,nhori, 1,1,1, -99, 32,466 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 463 467 . "ave(X)", zsto,zout) 464 468 c 465 469 CALL histdef(nid_mth, "w"//clev(k), 466 470 . "Vertical wind"//clev(k)//"mb","Pa/s", 467 . iim,jj mp1,nhori, 1,1,1, -99, 32,471 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 468 472 . "ave(X)", zsto,zout) 469 473 c 470 474 CALL histdef(nid_mth, "phi"//clev(k), 471 475 . "Geopotential"//clev(k)//"mb","m2/s2", 472 . iim,jj mp1,nhori, 1,1,1, -99, 32,476 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 473 477 . "ave(X)", zsto,zout) 474 478 c … … 482 486 c 483 487 CALL histdef(nid_mth,"lwcon","Cloud water content","kg/kg", 484 . iim,jj mp1,nhori, klev,1,klev, nvert, 32,488 . iim,jjphy_nb,nhori, klev,1,klev, nvert, 32, 485 489 . "ave(X)", zsto,zout) 486 490 c 487 491 CALL histdef(nid_mth,"iwcon","Cloud ice water content","kg/kg", 488 . iim,jj mp1,nhori, klev,1,klev, nvert, 32,492 . iim,jjphy_nb,nhori, klev,1,klev, nvert, 32, 489 493 . "ave(X)", zsto,zout) 490 494 c 491 495 CALL histdef(nid_mth, "temp", "Air temperature", "K", 492 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,496 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 493 497 . "ave(X)", zsto,zout) 494 498 c 495 499 CALL histdef(nid_mth, "ovap", "Specific humidity", "kg/kg", 496 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,500 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 497 501 . "ave(X)", zsto,zout) 498 502 c 499 503 c CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","kg/kg", 500 c . iim,jj mp1,nhori, klev,1,klev,nvert, 32,504 c . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 501 505 c . "ave(X)", zsto,zout) 502 506 c 503 507 CALL histdef(nid_mth, "geop", "Geopotential height", "m", 504 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,508 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 505 509 . "ave(X)", zsto,zout) 506 510 c 507 511 CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s", 508 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,512 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 509 513 . "ave(X)", zsto,zout) 510 514 c 511 515 CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s", 512 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,516 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 513 517 . "ave(X)", zsto,zout) 514 518 c 515 519 CALL histdef(nid_mth, "vitw", "Vertical wind", "Pa/s", 516 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,520 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 517 521 . "ave(X)", zsto,zout) 518 522 c 519 523 CALL histdef(nid_mth, "pres", "Air pressure", "Pa", 520 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,524 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 521 525 . "ave(X)", zsto,zout) 522 526 c 523 527 CALL histdef(nid_mth, "rneb", "Cloud fraction", "-", 524 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,528 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 525 529 . "ave(X)", zsto,zout) 526 530 c 527 531 CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction" 528 532 . , "-", 529 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,533 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 530 534 . "ave(X)", zsto,zout) 531 535 c 532 536 CALL histdef(nid_mth, "rhum", "Relative humidity", "-", 533 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,537 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 534 538 . "ave(X)", zsto,zout) 535 539 c 536 540 CALL histdef(nid_mth, "ozone", "Ozone concentration", "-", 537 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,541 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 538 542 . "ave(X)", zsto,zout) 539 543 c 540 544 CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s", 541 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,545 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 542 546 . "ave(X)", zsto,zout) 543 547 c 544 548 CALL histdef(nid_mth, "dqphy", "Physics dQ", "kg/kg/s", 545 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,549 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 546 550 . "ave(X)", zsto,zout) 547 551 c … … 559 563 call histdef(nid_mth, "albe_"//clnsurf(nsrf), 560 564 $ "Albedo surf. "//clnsurf(nsrf), "-", 561 $ iim,jj mp1,nhori, 1,1,1, -99, 32,565 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 562 566 $ "ave(X)", zsto,zout) 563 567 c 564 568 call histdef(nid_mth, "rugs_"//clnsurf(nsrf), 565 569 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 566 $ iim,jj mp1,nhori, 1,1,1, -99, 32,570 $ iim,jjphy_nb,nhori, 1,1,1, -99, 32, 567 571 $ "ave(X)", zsto,zout) 568 572 c 569 573 CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day", 570 . iim,jj mp1,nhori, 1,1,1, -99, 32,574 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 571 575 . "ave(X)", zsto,zout) 572 576 c … … 574 578 c 575 579 CALL histdef(nid_mth, "albs", "Surface albedo", "-", 576 . iim,jj mp1,nhori, 1,1,1, -99, 32,580 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 577 581 . "ave(X)", zsto,zout) 578 582 CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-", 579 . iim,jj mp1,nhori, 1,1,1, -99, 32,583 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 580 584 . "ave(X)", zsto,zout) 581 585 c … … 587 591 . "Convective Cloud Liquid water content" 588 592 . , "kg/kg", 589 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,593 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 590 594 . "ave(X)", zsto,zout) 591 595 c … … 593 597 c 594 598 CALL histdef(nid_mth,"Ma","undilute adiab updraft","kg/m2/s", 595 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,599 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 596 600 . "ave(X)", zsto,zout) 597 601 c 598 602 CALL histdef(nid_mth, "upwd", "saturated updraft", "kg/m2/s", 599 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,603 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 600 604 . "ave(X)", zsto,zout) 601 605 c 602 606 CALL histdef(nid_mth, "dnwd", "saturated downdraft","kg/m2/s", 603 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,607 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 604 608 . "ave(X)", zsto,zout) 605 609 c 606 610 CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "kg/m2/s", 607 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,611 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 608 612 . "ave(X)", zsto,zout) 609 613 ENDIF !iflag_con.GE.3 … … 611 615 c 612 616 CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s", 613 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,617 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 614 618 . "ave(X)", zsto,zout) 615 619 c 616 620 CALL histdef(nid_mth, "dqdyn", "Dynamics dQ", "kg/kg/s", 617 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,621 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 618 622 . "ave(X)", zsto,zout) 619 623 c 620 624 CALL histdef(nid_mth, "dtcon", "Convection dT", "K/s", 621 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,625 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 622 626 . "ave(X)", zsto,zout) 623 627 c 624 628 c CALL histdef(nid_mth, "ducon", "Convection du", "m/s2", 625 c . iim,jj mp1,nhori, klev,1,klev,nvert, 32,629 c . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 626 630 c . "ave(X)", zsto,zout) 627 631 c 628 632 CALL histdef(nid_mth, "dqcon", "Convection dQ", "kg/kg/s", 629 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,633 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 630 634 . "ave(X)", zsto,zout) 631 635 c 632 636 CALL histdef(nid_mth, "dtlsc", "Condensation dT", "K/s", 633 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,637 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 634 638 . "ave(X)", zsto,zout) 635 639 cIM: 071003 636 640 CALL histdef(nid_mth, "dtlschr", 637 $ "Large-scale condensational heating rate", "K/s",iim, jjmp1638 $ ,nhori, klev,1,klev,nvert, 32,"ave(X)", zsto,zout)641 $ "Large-scale condensational heating rate", "K/s",iim, 642 $ jjphy_nb,nhori, klev,1,klev,nvert, 32,"ave(X)", zsto,zout) 639 643 c 640 644 CALL histdef(nid_mth, "dqlsc", "Condensation dQ", "kg/kg/s", 641 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,645 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 642 646 . "ave(X)", zsto,zout) 643 647 c 644 648 CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s", 645 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,649 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 646 650 . "ave(X)", zsto,zout) 647 651 c 648 652 CALL histdef(nid_mth, "dqvdf", "Boundary-layer dQ", "kg/kg/s", 649 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,653 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 650 654 . "ave(X)", zsto,zout) 651 655 c 652 656 CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s", 653 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,657 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 654 658 . "ave(X)", zsto,zout) 655 659 c 656 660 CALL histdef(nid_mth, "dqeva", "Reevaporation dQ", "kg/kg/s", 657 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,661 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 658 662 . "ave(X)", zsto,zout) 659 663 660 664 CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ", 661 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,665 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 662 666 . "ave(X)", zsto,zout) 663 667 664 668 CALL histdef(nid_mth, "ratqs", "RATQS"," ", 665 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,669 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 666 670 . "ave(X)", zsto,zout) 667 671 668 672 c 669 673 CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s", 670 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,674 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 671 675 . "ave(X)", zsto,zout) 672 676 673 677 CALL histdef(nid_mth, "dqajs", "Dry adjust. dQ", "kg/kg/s", 674 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,678 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 675 679 . "ave(X)", zsto,zout) 676 680 c 677 681 CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s", 678 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,682 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 679 683 . "ave(X)", zsto,zout) 680 684 c 681 685 CALL histdef(nid_mth, "dtsw0", "CS SW radiation dT", "K/s", 682 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,686 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 683 687 . "ave(X)", zsto,zout) 684 688 c 685 689 CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s", 686 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,690 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 687 691 . "ave(X)", zsto,zout) 688 692 c 689 693 CALL histdef(nid_mth,"dtlw0","CS LW radiation dT","K/s", 690 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,694 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 691 695 . "ave(X)", zsto,zout) 692 696 c 693 697 CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s", 694 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,698 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 695 699 . "ave(X)", zsto,zout) 696 700 c 697 701 CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2", 698 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,702 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 699 703 . "ave(X)", zsto,zout) 700 704 c 701 705 CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2", 702 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,706 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 703 707 . "ave(X)", zsto,zout) 704 708 c 705 709 IF (ok_orodr) THEN 706 710 CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2", 707 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,711 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 708 712 . "ave(X)", zsto,zout) 709 713 c 710 714 CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2", 711 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,715 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 712 716 . "ave(X)", zsto,zout) 713 717 c … … 716 720 IF (ok_orolf) THEN 717 721 CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2", 718 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,722 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 719 723 . "ave(X)", zsto,zout) 720 724 c 721 725 CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2", 722 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,726 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 723 727 . "ave(X)", zsto,zout) 724 728 ENDIF … … 728 732 c IF (ok_ade.OR.ok_aie) THEN 729 733 CALL histdef(nid_mth, "re", "CDR", "um", 730 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,734 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 731 735 . "ave(X)", zsto,zout) 732 736 c 733 737 CALL histdef(nid_mth, "redenom", "CDR denominator", "-", 734 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,738 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 735 739 . "ave(X)", zsto,zout) 736 740 c 737 741 CALL histdef(nid_mth, "tau", "cloud opt thickness", "-", 738 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,742 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 739 743 . "ave(X)", zsto,zout) 740 744 c 741 745 CALL histdef(nid_mth, "taupi", "cloud opt thickn. (pi)", "-", 742 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,746 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 743 747 . "ave(X)", zsto,zout) 744 748 c endif … … 748 752 iiq=niadv(iq) 749 753 CALL histdef(nid_mth, tnom(iq), ttext(iiq), "-", 750 . iim,jj mp1,nhori, klev,1,klev,nvert, 32,754 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 751 755 . "ave(X)", zsto,zout) 752 756 ENDDO -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histmthNMC.h
r524 r634 10 10 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 11 11 c 12 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)13 DO i = 1, iim14 zx_lon(i,1) = rlon(i+1)15 zx_lon(i,jjmp1) = rlon(i+1)16 ENDDO12 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 13 cym DO i = 1, iim 14 cym zx_lon(i,1) = rlon(i+1) 15 cym zx_lon(i,jjmp1) = rlon(i+1) 16 cym ENDDO 17 17 DO ll=1,klev 18 18 znivsig(ll)=float(ll) 19 19 ENDDO 20 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 21 CALL histbeg("histNMC.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 22 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 20 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 21 cym CALL histbeg("histNMC.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 22 cym . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 23 cym . nhori, nid_nmc) 24 25 CALL histbeg_phy("histNMC.nc",itau_phy, zjulian, dtime, 23 26 . nhori, nid_nmc) 27 24 28 write(*,*)'Mensuel NMC ', itau_phy, zjulian 25 29 CALL histvert(nid_nmc, "presnivs", "Vertical levels", "mb", … … 44 48 CALL histdef(nid_nmc, "t"//bb, 45 49 . "Temperature"//bb//"mb","K", 46 . iim,jj mp1,nhori, 1,1,1, -99, 32,50 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 47 51 . "ave(X)", zsto,zout) 48 52 c 49 53 CALL histdef(nid_nmc, "phi"//bb, 50 54 . "Geopotential"//bb//"mb", "m2/s2", 51 . iim,jj mp1,nhori, 1,1,1, -99, 32,55 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 52 56 . "ave(X)", zsto,zout) 53 57 c 54 58 CALL histdef(nid_nmc, "q"//bb, 55 59 . "Specific humidity"//bb//"mb","kg/kg", 56 . iim,jj mp1,nhori, 1,1,1, -99, 32,60 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 57 61 . "ave(X)", zsto,zout) 58 62 c 59 63 CALL histdef(nid_nmc, "rh"//bb, 60 64 . "Relative humidity"//bb//"mb", "%", 61 . iim,jj mp1,nhori, 1,1,1, -99, 32,65 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 62 66 . "ave(X)", zsto,zout) 63 67 c 64 68 CALL histdef(nid_nmc, "u"//bb, 65 69 . "Zonal wind"//bb//"mb","K", 66 . iim,jj mp1,nhori, 1,1,1, -99, 32,70 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 67 71 . "ave(X)", zsto,zout) 68 72 c 69 73 CALL histdef(nid_nmc, "v"//bb, 70 74 . "Meridional wind"//bb//"mb","K", 71 . iim,jj mp1,nhori, 1,1,1, -99, 32,75 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 72 76 . "ave(X)", zsto,zout) 73 77 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ini_histrac.h
r633 r634 4 4 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian) 5 5 c 6 CALL gr_fi_ecrit(1,klon,iim,jjm+1,xlon,zx_lon) 7 DO i = 1, iim 8 zx_lon(i,1) = xlon(i+1) 9 zx_lon(i,jjm+1) = xlon(i+1) 10 ENDDO 11 CALL gr_fi_ecrit(1,klon,iim,jjm+1,xlat,zx_lat) 12 CALL histbeg("histrac", iim,zx_lon(:,1), jjm+1,zx_lat(1,:), 13 . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys, 6 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,xlon,zx_lon) 7 cym DO i = 1, iim 8 cym zx_lon(i,1) = xlon(i+1) 9 cym zx_lon(i,jjm+1) = xlon(i+1) 10 cym ENDDO 11 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,xlat,zx_lat) 12 cym CALL histbeg("histrac", iim,zx_lon(:,1), jjm+1,zx_lat(1,:), 13 cym . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys, 14 cym . nhori, nid_tra) 15 CALL histbeg_phy("histrac", itau_phy, zjulian, pdtphys, 14 16 . nhori, nid_tra) 15 17 CALL histvert(nid_tra, "presnivs", "Vertical levels", "mb", … … 17 19 18 20 #ifdef INCA_AER 19 CALL histbeg("histrac_aer", iim,zx_lon, jjm+1,zx_lat, 20 . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys, 21 cym CALL histbeg("histrac_aer", iim,zx_lon, jjm+1,zx_lat, 22 cym . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys, 23 cym . nhori, nid_tra2) 24 CALL histbeg_phy("histrac_aer", itau_phy, zjulian, pdtphys, 21 25 . nhori, nid_tra2) 22 26 23 CALL histbeg("histrac_inst", iim,zx_lon, jjm+1,zx_lat, 24 . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys, 27 cym CALL histbeg("histrac_inst", iim,zx_lon, jjm+1,zx_lat, 28 cym . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys, 29 cym . nhori, nid_tra3) 30 CALL histbeg_phy("histrac_inst",itau_phy, zjulian, pdtphys, 25 31 . nhori, nid_tra3) 26 32 … … 42 48 c 43 49 CALL histdef(nid_tra, "phis", "Surface geop. height", "-", 44 . iim,jj m+1,nhori, 1,1,1, -99, 32,50 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 45 51 . "once", zsto,zout) 46 52 c 47 53 CALL histdef(nid_tra, "aire", "Grid area", "-", 48 . iim,jj m+1,nhori, 1,1,1, -99, 32,54 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 49 55 . "once", zsto,zout) 50 56 #ifdef INCA 51 57 CALL histdef(nid_tra, "ps", "Surface pressure", "Pa", 52 . iim,jj m+1,nhori, 1,1,1,-99, 32,58 . iim,jjphy_nb,nhori, 1,1,1,-99, 32, 53 59 . "ave(X)", zsto,zout) 54 60 55 61 CALL histdef(nid_tra, "ptrop", "Tropopause pressure", "Pa", 56 . iim,jj m+1,nhori, 1,1,1,-99, 32,62 . iim,jjphy_nb,nhori, 1,1,1,-99, 32, 57 63 . "ave(X)", zsto,zout) 58 64 59 65 C 3d FIELDS 60 66 CALL histdef(nid_tra, "temp", "Air temperature", "K", 61 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,67 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 62 68 . "ave(X)", zsto,zout) 63 69 64 70 CALL histdef(nid_tra, "u", "zonal wind component", "m/s", 65 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,71 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 66 72 . "ave(X)", zsto,zout) 67 73 68 74 CALL histdef(nid_tra, "v", "zonal wind component", "m/s", 69 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,75 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 70 76 . "ave(X)", zsto,zout) 71 77 72 78 CALL histdef(nid_tra, "h2o", "Specific Humidity", "MMR", 73 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,79 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 74 80 . "ave(X)", zsto,zout) 75 81 76 82 CALL histdef(nid_tra, "pmid", "Pressure", "Pa", 77 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,83 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 78 84 . "ave(X)", zsto,zout) 79 85 80 86 CALL histdef(nid_tra, "pdel", "Delta Pressure", "Pa", 81 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,87 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 82 88 . "ave(X)", zsto,zout) 83 89 84 90 ! MS info 85 91 CALL histdef(nid_tra, "airm", "Air mass", "kg", 86 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,92 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 87 93 . "ave(X)", zsto,zout) 88 94 … … 92 98 WRITE(str2,'(i2.2)') it 93 99 CALL histdef(nid_tra, "j"//str2,"j"//str2, "CM-3 S-1", 94 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,100 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 95 101 . "ave(X)", zsto,zout) 96 102 ENDDO … … 98 104 WRITE(str2,'(i2.2)') it 99 105 CALL histdef(nid_tra, "w"//str2,"w"//str2, "S-1", 100 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,106 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 101 107 . "ave(X)", zsto,zout) 102 108 ENDDO … … 105 111 WRITE(str2,'(i2.2)') it 106 112 CALL histdef(nid_tra, "ext"//str2,"ext"//str2, "CM-3 S-1", 107 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,113 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 108 114 . "ave(X)", zsto,zout) 109 115 ENDDO … … 112 118 WRITE(str2,'(i2.2)') it 113 119 CALL histdef(nid_tra, "INV"//str2, "INV"//str2, "CM-3", 114 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,120 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 115 121 . "ave(X)", zsto,zout) 116 122 ENDDO … … 118 124 #else 119 125 CALL histdef(nid_tra, "jO3","jO3", "CM-3 S-1", 120 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,126 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 121 127 . "ave(X)", zsto,zout) 122 128 CALL histdef(nid_tra, "jNO2","jNO2", "CM-3 S-1", 123 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,129 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 124 130 . "ave(X)", zsto,zout) 125 131 CALL histdef(nid_tra, "jH2O2","jH2O2", "CM-3 S-1", 126 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,132 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 127 133 . "ave(X)", zsto,zout) 128 134 CALL histdef(nid_tra, "wHNO3","wHNO3", "S-1", 129 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,135 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 130 136 . "ave(X)", zsto,zout) 131 137 CALL histdef(nid_tra, "kN2O5", "kN2O5","CM-3 S-1", 132 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,138 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 133 139 . "ave(X)", zsto,zout) 134 140 CALL histdef(nid_tra, "LghtNO","LghtNO", "CM-3 S-1", 135 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,141 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 136 142 . "ave(X)", zsto,zout) 137 143 #endif … … 139 145 DO it=1, grpcnt 140 146 CALL histdef(nid_tra, grpsym(it), grpsym(it), "VMR", 141 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,147 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 142 148 . "ave(X)", zsto,zout) 143 149 ENDDO … … 147 153 148 154 CALL histdef(nid_tra2, "scavcoef_st","scavcoef_st", "S-1", 149 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,155 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 150 156 . "ave(X)", zsto,zout) 151 157 CALL histdef(nid_tra2, "scavcoef_cv","scavcoef_cv", "S-1", 152 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,158 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 153 159 . "ave(X)", zsto,zout) 154 160 CALL histdef(nid_tra2, "AngstroemComp","AngstroemComp", 155 . "angs comp", iim,jj m+1,nhori, 1,1,1, -99, 32,161 . "angs comp", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 156 162 . "ave(X)", zsto,zout) 157 163 … … 164 170 165 171 CALL histdef(nid_tra, "Emi_"//solsym(it), "Emi_"//solsym(it), 166 . "kg/m2/s", iim,jj m+1,nhori, 1,1,1, -99, 32,172 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 167 173 . "ave(X)", zsto,zout) 168 174 CALL histdef(nid_tra, "Dep_"//solsym(it), "Dep_"//solsym(it), 169 . "cm/s", iim,jj m+1,nhori, 1,1,1, -99, 32,175 . "cm/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 170 176 . "ave(X)", zsto,zout) 171 177 #ifdef INCA_AER 172 178 IF ((it .ge. trmx) .and. (it .le. trnx)) then 173 179 CALL histdef(nid_tra2, "Sed_"//solsym(it), "Sed_"//solsym(it), 174 . "kg/m2/s", iim,jj m+1,nhori, 1,1,1, -99, 32,180 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 175 181 . "ave(X)", zsto,zout) 176 182 CALL histdef(nid_tra2, "Dry_"//solsym(it), "Dry_"//solsym(it), 177 . "kg/m2/s", iim,jj m+1,nhori, 1,1,1, -99, 32,183 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 178 184 . "ave(X)", zsto,zout) 179 185 CALL histdef(nid_tra2, "Wet_"//solsym(it), "Wet_"//solsym(it), 180 . "kg/m2/s", iim,jj m+1,nhori, 1,1,1, -99, 32,186 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 181 187 . "ave(X)", zsto,zout) 182 188 CALL histdef(nid_tra2, "WetST_"//solsym(it), "WetST_"//solsym(it), 183 . "kg/m2/s", iim,jj m+1,nhori, 1,1,1, -99, 32,189 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 184 190 . "ave(X)", zsto,zout) 185 191 CALL histdef(nid_tra2, "WetCV_"//solsym(it), "WetCV_"//solsym(it), 186 . "kg/m2/s", iim,jj m+1,nhori, 1,1,1, -99, 32,192 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 187 193 . "ave(X)", zsto,zout) 188 194 CALL histdef(nid_tra2, "Emi_alt_"//solsym(it), "Emi_alt_"//solsym(it), 189 . "kg/m2/s", iim,jj m+1,nhori, klev,1,klev,nvert, 32,195 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 190 196 . "ave(X)", zsto,zout) 191 197 CALL histdef(nid_tra2, "Load_"//solsym(it), "Load_"//solsym(it), 192 . "kg/m2", iim,jj m+1,nhori, 1,1,1, -99, 32,198 . "kg/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 193 199 . "ave(X)", zsto,zout) 194 200 CALL histdef(nid_tra2, "SConc_"//solsym(it), "SConc_"//solsym(it), 195 . "kg/m3", iim,jj m+1,nhori, 1,1,1, -99, 32,201 . "kg/m3", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 196 202 . "ave(X)", zsto,zout) 197 203 do la=1,las 198 204 CALL histdef(nid_tra2, "OD_"//cla(la)//solsym(it), 199 205 . "OD_"//cla(la)//solsym(it), 200 . "opt. depth", iim,jj m+1,nhori, 1,1,1, -99, 32,206 . "opt. depth", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 201 207 . "ave(X)", zsto,zout) 202 208 enddo 203 209 CALL histdef(nid_tra2, "MD_"//solsym(it), "MD_"//solsym(it), 204 . "median diameter", iim,jj m+1,nhori, klev,1,klev, nvert, 32,210 . "median diameter", iim,jjphy_nb,nhori, klev,1,klev, nvert, 32, 205 211 . "ave(X)", zsto,zout) 206 212 CALL histdef(nid_tra3, "Inst_Load_"//solsym(it), 207 213 . "Inst_Load_"//solsym(it), 208 . "kg/m2", iim,jj m+1,nhori, 1,1,1, -99, 32,214 . "kg/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 209 215 . "inst(X)", zout,zout) 210 216 endif 211 217 #endif 212 218 CALL histdef(nid_tra, solsym(it), solsym(it), "VMR", 213 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,219 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 214 220 . "ave(X)", zsto,zout) 215 221 #else … … 217 223 iiq=niadv(iq) 218 224 CALL histdef(nid_tra, tnom(iq), ttext(iiq), "U/kga", 219 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,225 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 220 226 . "ave(X)", zsto,zout) 221 227 if (lessivage) THEN 222 228 CALL histdef(nid_tra, "fl"//tnom(iq),"Flux "//ttext(iiq), 223 . "U/m2/s",iim,jj m+1,nhori, klev,1,klev,nvert, 32,229 . "U/m2/s",iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 224 230 . "ave(X)", zsto,zout) 225 231 endif … … 228 234 CALL histdef(nid_tra, "d_tr_th_"//tnom(iq), 229 235 . "tendance thermique"// ttext(iiq), "?", 230 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,236 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 231 237 . "ave(X)", zsto,zout) 232 238 CALL histdef(nid_tra, "d_tr_cv_"//tnom(iq), 233 239 . "tendance convection"// ttext(iiq), "?", 234 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,240 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 235 241 . "ave(X)", zsto,zout) 236 242 CALL histdef(nid_tra, "d_tr_cl_"//tnom(iq), 237 243 . "tendance couche limite"// ttext(iiq), "?", 238 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,244 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 239 245 . "ave(X)", zsto,zout) 240 246 c---fin Olivia … … 246 252 !#ifdef INCA_CH4 247 253 CALL histdef(nid_tra, "O3_column", "O3_column", 248 . "DU", iim,jj m+1,nhori, 1,1,1, -99, 32,254 . "DU", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 249 255 . "ave(X)", zsto,zout) 250 256 CALL histdef(nid_tra, "CO_column", "CO_column", 251 . "10^18 CM-2", iim,jj m+1,nhori, 1,1,1, -99, 32,257 . "10^18 CM-2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 252 258 . "ave(X)", zsto,zout) 253 259 CALL histdef(nid_tra, "CH4_column", "CH4_column", 254 . "10^18 CM-2", iim,jj m+1,nhori, 1,1,1, -99, 32,260 . "10^18 CM-2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 255 261 . "ave(X)", zsto,zout) 256 262 CALL histdef(nid_tra, "NO2_column", "NO2_column", 257 . "10^15 CM-2", iim,jj m+1,nhori, 1,1,1, -99, 32,263 . "10^15 CM-2", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 258 264 . "ave(X)", zsto,zout) 259 265 CALL histdef(nid_tra, "O3_ste", "O3_ste", 260 . "CM-2 S-1", iim,jj m+1,nhori, 1,1,1, -99, 32,266 . "CM-2 S-1", iim,jjphy_nb,nhori, 1,1,1, -99, 32, 261 267 . "ave(X)", zsto,zout) 262 268 CALL histdef(nid_tra, "O3_prod", "O3_prod", "CM-3 S-1", 263 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,269 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 264 270 . "ave(X)", zsto,zout) 265 271 CALL histdef(nid_tra, "O3_loss", "O3_loss", "CM-3 S-1", 266 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,272 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 267 273 . "ave(X)", zsto,zout) 268 274 … … 281 287 ! for sulfur cycle 282 288 CALL histdef(nid_tra, "SO2_p_dmsoh", "SO2_p_dmsoh", "CM-3 S-1", 283 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,289 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 284 290 . "ave(X)", zsto,zout) 285 291 CALL histdef(nid_tra, "SO2_p_dmsno3", "SO2_p_dmsno3", "CM-3 S-1", 286 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,292 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 287 293 . "ave(X)", zsto,zout) 288 294 CALL histdef(nid_tra, "SO2_p_h2soh", "SO2_p_h2soh", "CM-3 S-1", 289 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,295 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 290 296 . "ave(X)", zsto,zout) 291 297 CALL histdef(nid_tra, "SO2_p_dmsooh", "SO2_p_dmsooh", "CM-3 S-1", 292 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,298 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 293 299 . "ave(X)", zsto,zout) 294 300 CALL histdef(nid_tra, "DMSO_p_dmsoh", "DMSO_p_dmsoh", "CM-3 S-1", 295 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,301 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 296 302 . "ave(X)", zsto,zout) 297 303 CALL histdef(nid_tra, "ASMSAM_p_dmsooh", "ASMSAM_p_dmsooh", "CM-3 S-1", 298 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,304 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 299 305 . "ave(X)", zsto,zout) 300 306 CALL histdef(nid_tra, "ASSO4M_p_so2oh", "ASSO4M_p_so2oh", "CM-3 S-1", 301 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,307 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 302 308 . "ave(X)", zsto,zout) 303 309 CALL histdef(nid_tra, "ASSO4M_p_so2h2o2", "ASSO4M_p_h2o2","CM-3 S-1", 304 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,310 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 305 311 . "ave(X)", zsto,zout) 306 312 CALL histdef(nid_tra, "ASSO4M_p_so2o3", "ASSO4M_p_so2o3", "CM-3 S-1", 307 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,313 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 308 314 . "ave(X)", zsto,zout) 309 315 310 316 CALL histdef(nid_tra, "Wet3D_SO2", "Wet3D_SO2", 311 . "kg/m2/s", iim,jj m+1,nhori, klev,1,klev,nvert, 32,317 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 312 318 . "ave(X)", zsto,zout) 313 319 CALL histdef(nid_tra, "Wet3D_DMS", "Wet3D_DMS", 314 . "kg/m2/s", iim,jj m+1,nhori, klev,1,klev,nvert, 32,320 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 315 321 . "ave(X)", zsto,zout) 316 322 CALL histdef(nid_tra, "Wet3D_HNO3", "Wet3D_HNO3", 317 . "kg/m2/s", iim,jj m+1,nhori, klev,1,klev,nvert, 32,323 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 318 324 . "ave(X)", zsto,zout) 319 325 CALL histdef(nid_tra, "Wet3D_H2O2", "Wet3D_H2O2", 320 . "kg/m2/s", iim,jj m+1,nhori, klev,1,klev,nvert, 32,326 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 321 327 . "ave(X)", zsto,zout) 322 328 323 329 CALL histdef(nid_tra, "PH_HIST", "pH over physics time step", "1", 324 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,330 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 325 331 . "ave(X)", zsto,zout) 326 332 #endif … … 328 334 #ifdef INCA_NMHC 329 335 CALL histdef(nid_tra, "CO2_basprod", "CO2_basprod", "CM-3 S-1", 330 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,336 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 331 337 . "ave(X)", zsto,zout) 332 338 CALL histdef(nid_tra, "CO2_nmhcprod", "CO2_nmhcprod", "CM-3 S-1", 333 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,339 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 334 340 . "ave(X)", zsto,zout) 335 341 CALL histdef(nid_tra, "CO2_radicalprod", "CO2_radicalprod", "CM-3 S-1", 336 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,342 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 337 343 . "ave(X)", zsto,zout) 338 344 CALL histdef(nid_tra, "HNO3_prod", "HNO3_prod", "CM-3 S-1", 339 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,345 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 340 346 . "ave(X)", zsto,zout) 341 347 CALL histdef(nid_tra, "HNO3_loss", "HNO3_loss", "CM-3 S-1", 342 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,348 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 343 349 . "ave(X)", zsto,zout) 344 350 CALL histdef(nid_tra, "CO_prod", "CO_prod", "CM-3 S-1", 345 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,351 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 346 352 . "ave(X)", zsto,zout) 347 353 CALL histdef(nid_tra, "CO_loss", "CO_loss", "CM-3 S-1", 348 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,354 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 349 355 . "ave(X)", zsto,zout) 350 356 #endif … … 352 358 #else 353 359 CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-", 354 . iim,jj m+1,nhori, 1,1,1, -99, 32,360 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 355 361 . "inst(X)", zsto,zout) 356 362 357 363 CALL histdef(nid_tra, "pyv1", "Vent niv 1", "-", 358 . iim,jj m+1,nhori, 1,1,1, -99, 32,364 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 359 365 . "inst(X)", zsto,zout) 360 366 CALL histdef(nid_tra, "psrf1", "nature sol", "-", 361 . iim,jj m+1,nhori, 1,1,1, -99, 32,367 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 362 368 . "inst(X)", zsto,zout) 363 369 CALL histdef(nid_tra, "psrf2", "nature sol", "-", 364 . iim,jj m+1,nhori, 1,1,1, -99, 32,370 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 365 371 . "inst(X)", zsto,zout) 366 372 CALL histdef(nid_tra, "psrf3", "nature sol", "-", 367 . iim,jj m+1,nhori, 1,1,1, -99, 32,373 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 368 374 . "inst(X)", zsto,zout) 369 375 CALL histdef(nid_tra, "psrf4", "nature sol", "-", 370 . iim,jj m+1,nhori, 1,1,1, -99, 32,376 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 371 377 . "inst(X)", zsto,zout) 372 378 CALL histdef(nid_tra, "ftsol1", "temper sol", "-", 373 . iim,jj m+1,nhori, 1,1,1, -99, 32,379 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 374 380 . "inst(X)", zsto,zout) 375 381 CALL histdef(nid_tra, "ftsol2", "temper sol", "-", 376 . iim,jj m+1,nhori, 1,1,1, -99, 32,382 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 377 383 . "inst(X)", zsto,zout) 378 384 CALL histdef(nid_tra, "ftsol3", "temper sol", "-", 379 . iim,jj m+1,nhori, 1,1,1, -99, 32,385 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 380 386 . "inst", zsto,zout) 381 387 CALL histdef(nid_tra, "ftsol4", "temper sol", "-", 382 . iim,jj m+1,nhori, 1,1,1, -99, 32,388 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 383 389 . "inst(X)", zsto,zout) 384 390 CALL histdef(nid_tra, "pplay", "flux u mont","-", 385 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,391 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 386 392 . "inst(X)", zsto,zout) 387 393 CALL histdef(nid_tra, "t", "flux u mont","-", 388 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,394 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 389 395 . "inst(X)", zsto,zout) 390 396 CALL histdef(nid_tra, "mfu", "flux u mont","-", 391 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,397 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 392 398 . "ave(X)", zsto,zout) 393 399 CALL histdef(nid_tra, "mfd", "flux u decen","-", 394 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,400 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 395 401 . "ave(X)", zsto,zout) 396 402 CALL histdef(nid_tra, "en_u", "flux u mont","-", 397 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,403 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 398 404 . "ave(X)", zsto,zout) 399 405 CALL histdef(nid_tra, "en_d", "flux u mont","-", 400 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,406 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 401 407 . "ave(X)", zsto,zout) 402 408 CALL histdef(nid_tra, "de_d", "flux u mont","-", 403 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,409 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 404 410 . "ave(X)", zsto,zout) 405 411 CALL histdef(nid_tra, "de_u", "flux u decen","-", 406 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,412 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 407 413 . "ave(X)", zsto,zout) 408 414 CALL histdef(nid_tra, "coefh", "turbulent coef","-", 409 . iim,jj m+1,nhori, klev,1,klev,nvert, 32,415 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32, 410 416 . "ave(X)", zsto,zout) 411 417 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/inifis.F
r524 r634 7 7 $ plat,plon,parea, 8 8 $ prad,pg,pr,pcpp) 9 use dimphy 9 10 IMPLICIT NONE 10 11 c … … 41 42 c ------------- 42 43 43 #include "dimensions.h"44 #include "dimphy.h"44 cym#include "dimensions.h" 45 cym#include "dimphy.h" 45 46 46 47 REAL prad,pg,pr,pcpp,punjours -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/iniphysiq.F
r524 r634 9 9 $ plat,plon,parea,pcu,pcv, 10 10 $ prad,pg,pr,pcpp) 11 USE dimphy,klon2=>klon,klon=>klon2 12 USE comgeomphy 11 13 IMPLICIT NONE 12 14 c … … 43 45 c ------------- 44 46 45 #include "dimensions.h"46 #include "dimphy.h"47 #include "comgeomphy.h"47 cym#include "dimensions.h" 48 cym#include "dimphy.h" 49 cym#include "comgeomphy.h" 48 50 49 51 REAL prad,pg,pr,pcpp,punjours … … 71 73 ENDIF 72 74 73 airephy =parea74 cuphy =pcu75 cvphy =pcv76 rlond = plon77 rlatd = plat75 airephy(1:klon2)=parea(klon_begin:klon_end) 76 cuphy(1:klon2)=pcu(klon_begin:klon_end) 77 cvphy(1:klon2)=pcv(klon_begin:klon_end) 78 rlond(1:klon2) = plon(klon_begin:klon_end) 79 rlatd(1:klon2) = plat(klon_begin:klon_end) 78 80 79 81 call suphec -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/initphysto.F
r633 r634 7 7 . (infile, 8 8 . rlon, rlat, tstep,t_ops,t_wrt,nq,fileid) 9 9 10 USE dimphy 10 11 USE IOIPSL 11 12 USE iophy 12 13 implicit none 13 14 … … 51 52 #include "indicesol.h" 52 53 #include "control.h" 53 #include "dimphy.h"54 cym#include "dimphy.h" 54 55 55 56 C Arguments … … 91 92 tau0 = 0 92 93 93 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon) 94 DO i = 1, iim 95 zx_lon(i,1) = rlon(i+1) 96 zx_lon(i,jjm+1) = rlon(i+1) 97 ENDDO 98 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat) 99 100 101 call histbeg(infile, iim, zx_lon(:,1), jjm+1, zx_lat(1,:), 102 . 1, iim, 1, jjm+1, 103 . tau0, zjulian, tstep, nhoriid, fileid) 94 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon) 95 cym DO i = 1, iim 96 cym zx_lon(i,1) = rlon(i+1) 97 cym zx_lon(i,jjm+1) = rlon(i+1) 98 cym ENDDO 99 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat) 100 101 102 call histbeg_phy(infile,tau0, zjulian, tstep, 103 . nhoriid, fileid) 104 104 105 105 C Appel a histvert pour la grille verticale … … 120 120 121 121 CALL histdef(fileid, "phis", "Surface geop. height", "-", 122 . iim,jj m+1,nhoriid, 1,1,1, -99, 32,122 . iim,jjphy_nb,nhoriid, 1,1,1, -99, 32, 123 123 . "once", t_ops, t_wrt) 124 124 c … … 126 126 127 127 CALL histdef(fileid, "aire", "Grid area", "-", 128 . iim,jj m+1,nhoriid, 1,1,1, -99, 32,128 . iim,jjphy_nb,nhoriid, 1,1,1, -99, 32, 129 129 . "once", t_ops, t_wrt) 130 130 write(*,*) 'apres aire ds initphysto' 131 131 132 cym Attention dtime et istphy ne sont pas écrit ---> a éliminer ? 132 133 CALL histdef(fileid, "dtime", "tps phys ", "s", 133 134 . 1,1,nhoriid, 1,1,1, -99, 32, … … 141 142 C 142 143 call histdef(fileid, 't', 'Temperature', 'K', 143 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,144 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 144 145 . 32, 'inst(X)', t_ops, t_wrt) 145 146 write(*,*) 'apres t ds initphysto' … … 147 148 C 148 149 call histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s', 149 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,150 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 150 151 . 32, 'inst(X)', t_ops, t_wrt) 151 152 write(*,*) 'apres mfu ds initphysto' … … 154 155 C 155 156 call histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s', 156 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,157 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 157 158 . 32, 'inst(X)', t_ops, t_wrt) 158 159 … … 161 162 C 162 163 call histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s', 163 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,164 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 164 165 . 32, 'inst(X)', t_ops, t_wrt) 165 166 write(*,*) 'apres en_u ds initphysto' … … 168 169 C 169 170 call histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s', 170 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,171 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 171 172 . 32, 'inst(X)', t_ops, t_wrt) 172 173 … … 175 176 C 176 177 call histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s', 177 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,178 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 178 179 . 32, 'inst(X)', t_ops, t_wrt) 179 180 C … … 183 184 C 184 185 call histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s', 185 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,186 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 186 187 . 32, 'inst(X)', t_ops, t_wrt) 187 188 … … 189 190 190 191 call histdef(fileid, "coefh", " ", " ", 191 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,192 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 192 193 . 32, "inst(X)", t_ops, t_wrt) 193 194 194 195 c abderrahmane le 16 09 02 195 196 call histdef(fileid, "fm_th", " ", " ", 196 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,197 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 197 198 . 32, "inst(X)", t_ops, t_wrt) 198 199 199 200 call histdef(fileid, "en_th", " ", " ", 200 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,201 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 201 202 . 32, "inst(X)", t_ops, t_wrt) 202 203 c fin aj … … 205 206 206 207 call histdef(fileid, 'frac_impa', ' ', ' ', 207 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,208 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 208 209 . 32, 'inst(X)', t_ops, t_wrt) 209 210 210 211 call histdef(fileid, 'frac_nucl', ' ', ' ', 211 . iim, jj m+1, nhoriid, llm, 1, llm, zvertiid,212 . iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid, 212 213 . 32, 'inst(X)', t_ops, t_wrt) 213 214 … … 216 217 c 217 218 CALL histdef(fileid, "pyu1", " ", " ", 218 . iim,jj m+1,nhoriid, 1,1,1, -99, 32,219 . iim,jjphy_nb,nhoriid, 1,1,1, -99, 32, 219 220 . "inst(X)", t_ops, t_wrt) 220 221 … … 223 224 c 224 225 CALL histdef(fileid, "pyv1", " ", " ", 225 . iim,jj m+1,nhoriid, 1,1,1, -99, 32,226 . iim,jjphy_nb,nhoriid, 1,1,1, -99, 32, 226 227 . "inst(X)", t_ops, t_wrt) 227 228 … … 231 232 c 232 233 call histdef(fileid, "ftsol1", " ", " ", 233 . iim, jj m+1, nhoriid, 1, 1,1, -99,32,234 . iim, jjphy_nb, nhoriid, 1, 1,1, -99,32, 234 235 . "inst(X)", t_ops, t_wrt) 235 236 … … 238 239 c 239 240 call histdef(fileid, "ftsol2", " ", " ", 240 . iim, jj m+1, nhoriid, 1, 1,1, -99,32,241 . iim, jjphy_nb, nhoriid, 1, 1,1, -99,32, 241 242 . "inst(X)", t_ops, t_wrt) 242 243 … … 245 246 c 246 247 call histdef(fileid, "ftsol3", " ", " ", 247 . iim, jj m+1, nhoriid, 1, 1,1, -99,248 . iim, jjphy_nb, nhoriid, 1, 1,1, -99, 248 249 . 32, "inst(X)", t_ops, t_wrt) 249 250 … … 252 253 c 253 254 call histdef(fileid, "ftsol4", " ", " ", 254 . iim, jj m+1, nhoriid, 1, 1,1, -99,255 . iim, jjphy_nb, nhoriid, 1, 1,1, -99, 255 256 . 32, "inst(X)", t_ops, t_wrt) 256 257 … … 259 260 c 260 261 call histdef(fileid, "rain", " ", " ", 261 . iim, jj m+1, nhoriid, 1, 1,1, -99,262 . iim, jjphy_nb, nhoriid, 1, 1,1, -99, 262 263 . 32, "inst(X)", t_ops, t_wrt) 263 264 … … 266 267 c 267 268 call histdef(fileid, "psrf1", " ", " ", 268 . iim, jj m+1, nhoriid, 1, 1, 1, -99,269 . iim, jjphy_nb, nhoriid, 1, 1, 1, -99, 269 270 . 32, "inst(X)", t_ops, t_wrt) 270 271 … … 273 274 c 274 275 call histdef(fileid, "psrf2", " ", " ", 275 . iim, jj m+1, nhoriid, 1, 1, 1, -99,276 . iim, jjphy_nb, nhoriid, 1, 1, 1, -99, 276 277 . 32, "inst(X)", t_ops, t_wrt) 277 278 … … 280 281 c 281 282 call histdef(fileid, "psrf3", " ", " ", 282 . iim, jj m+1, nhoriid, 1, 1, 1, -99,283 . iim, jjphy_nb, nhoriid, 1, 1, 1, -99, 283 284 . 32, "inst(X)", t_ops, t_wrt) 284 285 … … 287 288 c 288 289 call histdef(fileid, "psrf4", " ", " ", 289 . iim, jj m+1, nhoriid, 1, 1, 1, -99,290 . iim, jjphy_nb, nhoriid, 1, 1, 1, -99, 290 291 . 32, "inst(X)", t_ops, t_wrt) 291 292 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/initrrnpb.F
r633 r634 4 4 SUBROUTINE initrrnpb(ftsol,pctsrf,masktr,fshtr,hsoltr,tautr 5 5 . ,vdeptr,scavtr) 6 USE dimphy 6 7 IMPLICIT none 7 8 c====================================================================== … … 24 25 c scavtr---output-R- Coefficient de lessivage 25 26 c====================================================================== 26 #include "dimensions.h"27 #include "dimphy.h"27 cym#include "dimensions.h" 28 cym#include "dimphy.h" 28 29 #include "indicesol.h" 29 30 c====================================================================== -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/interface_surf.F90
r633 r634 22 22 ! L. Fairhead, LMD, 02/2000 23 23 24 USE ioipsl24 !ym USE ioipsl 25 25 26 26 IMPLICIT none … … 76 76 & z0_new, pctsrf_new, agesno,fqcalving,ffonte, run_off_lic_0) 77 77 78 78 USE dimphy,only : monocpu 79 79 ! Cette routine sert d'aiguillage entre l'atmosphere et la surface en general 80 80 ! (sols continentaux, oceans, glaces) pour les fluxs de chaleur et d'humidite. … … 235 235 real, dimension(klon):: fder_prev 236 236 REAL, dimension(klon) :: bidule 237 INTEGER :: j 237 238 238 239 if (check) write(*,*) 'Entree ', modname … … 394 395 395 396 else 397 398 if (.not.monocpu) then 399 abort_message='Appel a ORCHIDEE non encore parallelise !!' 400 call abort_gcm(modname,abort_message,1) 401 endif 396 402 !! CALL albsno(klon,agesno,alb_neig_grid) 397 403 ! … … 434 440 ! 435 441 if (ocean == 'couple') then 442 if (.not.monocpu) then 443 abort_message='Couplage avec l OCEAN non encore parallelise !!' 444 call abort_gcm(modname,abort_message,1) 445 endif 446 436 447 if (nexca == 0) then 437 448 abort_message='nexca = 0 dans interfoce_cpl' … … 510 521 if (ocean == 'couple') then 511 522 523 if (.not.monocpu) then 524 abort_message='Couplage avec l OCEAN non encore parallelise !!' 525 call abort_gcm(modname,abort_message,1) 526 endif 527 512 528 cumul = .true. 513 529 … … 555 571 ! 556 572 if (ocean == 'couple') then 557 573 574 if (.not.monocpu) then 575 abort_message='Couplage avec l OCEAN non encore parallelise !!' 576 call abort_gcm(modname,abort_message,1) 577 endif 578 558 579 cumul =.false. 559 580 … … 596 617 !IM cf LF 597 618 DO ii = 1, knon 598 IF (pctsrf_new(ii,nisurf) < EPSFRA) then 619 j=knindex(ii) 620 IF (pctsrf_new(j,nisurf) < EPSFRA) then 599 621 snow(ii) = 0.0 600 622 !IM cf LF/JLD tsurf(ii) = RTT - 1.8 … … 666 688 if (ocean == 'couple') then 667 689 690 if (.not.monocpu) then 691 abort_message='Couplage avec l OCEAN non encore parallelise !!' 692 call abort_gcm(modname,abort_message,1) 693 endif 694 668 695 cumul =.true. 669 696 … … 733 760 734 761 ! passage du run-off des glaciers calcule dans fonte_neige au coupleur 735 bidule=0. 736 bidule(1:knon)= run_off_lic(1:knon) 737 call gath2cpl(bidule, tmp_rlic, klon, knon,iim,jjm,knindex) 762 if (ocean=='couple') then 763 764 if (.not.monocpu) then 765 abort_message='Couplage avec l OCEAN non encore parallelise !!' 766 call abort_gcm(modname,abort_message,1) 767 endif 768 769 bidule=0. 770 bidule(1:knon)= run_off_lic(1:knon) 771 call gath2cpl(bidule, tmp_rlic, klon, knon,iim,jjm,knindex) 772 773 endif 738 774 ! 739 775 ! calcul albedo … … 1239 1275 & pctsrf_new) 1240 1276 1277 USE ioipsl 1241 1278 ! Cette routine sert d'interface entre le modele atmospherique et un 1242 1279 ! coupleur avec un modele d'ocean 'complet' derriere … … 1909 1946 ! 1910 1947 SUBROUTINE interfoce_lim(itime, dtime, jour, & 1911 & klon , nisurf, knon, knindex, &1948 & klon_xx, nisurf, knon, knindex, & 1912 1949 & debut, & 1913 & lmt_sst, pctsrf_new) 1950 & lmt_sst_p, pctsrf_new_p) 1951 1952 USE dimphy,klon=>klon2,klon2=>klon 1914 1953 1915 1954 ! Cette routine sert d'interface entre le modele atmospherique et un fichier … … 1938 1977 real , intent(IN) :: dtime 1939 1978 integer, intent(IN) :: jour 1979 integer, intent(in) :: klon_xx 1940 1980 integer, intent(IN) :: nisurf 1941 1981 integer, intent(IN) :: knon 1942 integer, intent(IN) :: klon 1943 integer, dimension(klon), intent(in) :: knindex 1982 integer, dimension(klon2), intent(in) :: knindex 1944 1983 logical, intent(IN) :: debut 1945 1984 1946 1985 ! Parametres de sortie 1947 real, intent(out), dimension(klon) :: lmt_sst 1948 real, intent(out), dimension(klon,nbsrf) :: pctsrf_new 1986 real, intent(out), dimension(klon2) :: lmt_sst_p 1987 real, intent(out), dimension(klon2,nbsrf) :: pctsrf_new_p 1988 1989 ! real, dimension(klon) :: lmt_sst 1990 real, dimension(klon,nbsrf) :: pctsrf_new 1949 1991 1950 1992 ! Variables locales … … 1962 2004 logical, save :: check = .FALSE. 1963 2005 ! Champs lus dans le fichier de CL 1964 real, allocatable , save, dimension(:) :: sst_lu, rug_lu, nat_lu 1965 real, allocatable , save, dimension(:,:) :: pct_tmp 2006 real, allocatable , save, dimension(:) :: sst_lu_p, rug_lu_p, nat_lu_p 2007 real, allocatable , save, dimension(:,:) :: pct_tmp_p 2008 real, dimension(klon,nbsrf) :: pct_tmp 2009 real, dimension(klon) :: sst_lu 2010 real, dimension(klon) :: nat_lu 1966 2011 ! 1967 2012 ! quelques variables pour netcdf … … 1973 2018 ! Fin déclaration 1974 2019 ! 1975 1976 if (debut .and. .not. allocated(sst_lu )) then2020 2021 if (debut .and. .not. allocated(sst_lu_p)) then 1977 2022 lmt_pas = nint(86400./dtime * 1.0) ! pour une lecture une fois par jour 1978 2023 jour_lu = jour - 1 1979 allocate(sst_lu (klon))1980 allocate(nat_lu (klon))1981 allocate(pct_tmp (klon,nbsrf))2024 allocate(sst_lu_p(klon2)) 2025 allocate(nat_lu_p(klon2)) 2026 allocate(pct_tmp_p(klon2,nbsrf)) 1982 2027 endif 1983 2028 … … 1992 2037 ! Ouverture du fichier 1993 2038 ! 2039 if (phy_rank==0) then 2040 1994 2041 fich = trim(fich) 1995 2042 ierr = NF_OPEN (fich, NF_NOWRITE,nid) … … 2131 2178 ! 2132 2179 ierr = NF_CLOSE(nid) 2133 deja_lu = .true. 2134 jour_lu = jour 2135 endif 2180 endif ! phyrank 2136 2181 ! 2137 2182 ! Recopie des variables dans les champs de sortie 2138 2183 ! 2139 lmt_sst = 999999999. 2184 call ScatterField(sst_lu,sst_lu_p,1) 2185 call ScatterField(pct_tmp(:,is_oce),pct_tmp_p(:,is_oce),1) 2186 call ScatterField(pct_tmp(:,is_sic),pct_tmp_p(:,is_sic),1) 2187 2188 deja_lu = .true. 2189 jour_lu = jour 2190 endif 2191 2192 lmt_sst_p = 999999999. 2193 2140 2194 do ii = 1, knon 2141 lmt_sst (ii) = sst_lu(knindex(ii))2195 lmt_sst_p(ii) = sst_lu_p(knindex(ii)) 2142 2196 enddo 2143 2197 2144 pctsrf_new(:,is_oce) = pct_tmp(:,is_oce) 2145 pctsrf_new(:,is_sic) = pct_tmp(:,is_sic) 2198 do ii=1,klon2 2199 pctsrf_new_p(ii,is_oce)=pct_tmp_p(ii,is_oce) 2200 pctsrf_new_p(ii,is_sic)=pct_tmp_p(ii,is_sic) 2201 enddo 2202 2146 2203 2147 2204 END SUBROUTINE interfoce_lim … … 2151 2208 ! 2152 2209 SUBROUTINE interfsur_lim(itime, dtime, jour, & 2153 & klon , nisurf, knon, knindex, &2210 & klon_xx, nisurf, knon, knindex, & 2154 2211 & debut, & 2155 & lmt_alb, lmt_rug) 2212 & lmt_alb_p, lmt_rug_p) 2213 2214 USE dimphy,klon=>klon2,klon2=>klon 2156 2215 2157 2216 ! Cette routine sert d'interface entre le modele atmospherique et un fichier … … 2184 2243 integer, intent(IN) :: nisurf 2185 2244 integer, intent(IN) :: knon 2186 integer, intent(IN) :: klon 2187 integer, dimension(klon ), intent(in) :: knindex2245 integer, intent(IN) :: klon_xx 2246 integer, dimension(klon2), intent(in) :: knindex 2188 2247 logical, intent(IN) :: debut 2189 2248 2190 2249 ! Parametres de sortie 2191 real, intent(out), dimension(klon) :: lmt_alb 2192 real, intent(out), dimension(klon) :: lmt_rug 2250 real, intent(out), dimension(klon2) :: lmt_alb_p 2251 real, intent(out), dimension(klon2) :: lmt_rug_p 2252 2253 ! real, dimension(klon) :: lmt_alb 2254 ! real, dimension(klon) :: lmt_rug 2193 2255 2194 2256 ! Variables locales … … 2206 2268 logical,save :: check = .false. 2207 2269 ! Champs lus dans le fichier de CL 2208 real, allocatable , save, dimension(:) :: alb_lu, rug_lu 2270 real, allocatable , save, dimension(:) :: alb_lu_p, rug_lu_p 2271 real, dimension(klon) :: alb_lu, rug_lu 2209 2272 ! 2210 2273 ! quelques variables pour netcdf … … 2220 2283 lmt_pas = nint(86400./dtime * 1.0) ! pour une lecture une fois par jour 2221 2284 jour_lu_sur = jour - 1 2222 allocate(alb_lu (klon))2223 allocate(rug_lu (klon))2285 allocate(alb_lu_p(klon2)) 2286 allocate(rug_lu_p(klon2)) 2224 2287 endif 2225 2288 … … 2232 2295 ! Tester d'abord si c'est le moment de lire le fichier 2233 2296 if (mod(itime-1, lmt_pas) == 0 .and. .not. deja_lu_sur) then 2297 2298 if (phy_rank==0) then 2234 2299 ! 2235 2300 ! Ouverture du fichier … … 2289 2354 ! 2290 2355 ierr = NF_CLOSE(nid) 2356 2357 2358 endif !! phyrank 2359 2360 call ScatterField(alb_lu,alb_lu_p,1) 2361 call ScatterField(rug_lu,rug_lu_p,1) 2362 2291 2363 deja_lu_sur = .true. 2292 2364 jour_lu_sur = jour … … 2297 2369 !!$ lmt_alb(:) = 0.0 2298 2370 !!$ lmt_rug(:) = 0.0 2299 lmt_alb(:) = 999999. 2300 lmt_rug(:) = 999999. 2371 2372 lmt_alb_p(:) = 999999. 2373 lmt_rug_p(:) = 999999. 2301 2374 DO ii = 1, knon 2302 lmt_alb (ii) = alb_lu(knindex(ii))2303 lmt_rug (ii) = rug_lu(knindex(ii))2375 lmt_alb_p(ii) = alb_lu_p(knindex(ii)) 2376 lmt_rug_p(ii) = rug_lu_p(knindex(ii)) 2304 2377 enddo 2305 2378 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/minmaxqfi.F
r524 r634 3 3 ! 4 4 SUBROUTINE minmaxqfi(zq,qmin,qmax,comment) 5 USE dimphy 5 6 IMPLICIT none 6 7 7 #include "dimensions.h"8 #include "dimphy.h"8 cym#include "dimensions.h" 9 cym#include "dimphy.h" 9 10 10 11 CHARACTER*(*) comment -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/newmicro.F
r633 r634 10 10 e bl95_b0, bl95_b1, 11 11 s cldtaupi, re, fl) 12 USE dimphy 12 13 IMPLICIT none 13 14 c====================================================================== … … 39 40 #include "YOMCST.h" 40 41 c 41 #include "dimensions.h"42 #include "dimphy.h"42 cym#include "dimensions.h" 43 cym#include "dimphy.h" 43 44 #include "nuage.h" 44 45 REAL paprs(klon,klev+1), pplay(klon,klev) … … 110 111 xflwp(i)=0. 111 112 xfiwp(i)=0. 113 c!CDIR NOVECTOR 112 114 DO k = 1, klev 113 115 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/nflxtr.F
r524 r634 4 4 SUBROUTINE nflxtr(pdtime,pmfu,pmfd,pen_u,pde_u,pen_d,pde_d, 5 5 . pplay,paprs,x,dx) 6 USE dimphy 6 7 IMPLICIT NONE 7 8 c===================================================================== … … 21 22 c===================================================================== 22 23 c 23 #include "dimensions.h"24 #include "dimphy.h"24 cym#include "dimensions.h" 25 cym#include "dimphy.h" 25 26 #include "YOMCST.h" 26 27 #include "YOECUMF.h" -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/nuage.F
r524 r634 9 9 e bl95_b0, bl95_b1, 10 10 s cldtaupi, re, fl) 11 USE dimphy 11 12 IMPLICIT none 12 13 c====================================================================== … … 38 39 #include "YOMCST.h" 39 40 c 40 #include "dimensions.h"41 #include "dimphy.h"41 cym#include "dimensions.h" 42 cym#include "dimphy.h" 42 43 REAL paprs(klon,klev+1), pplay(klon,klev) 43 44 REAL t(klon,klev) … … 229 230 SUBROUTINE diagcld1(paprs,pplay,rain,snow,kbot,ktop, 230 231 . diafra,dialiq) 232 use dimphy 231 233 IMPLICIT none 232 234 c … … 238 240 c ces nuages. Je dois avouer que c'est une frustration. 239 241 c 240 #include "dimensions.h"241 #include "dimphy.h"242 cym#include "dimensions.h" 243 cym#include "dimphy.h" 242 244 #include "YOMCST.h" 243 245 c … … 313 315 END 314 316 SUBROUTINE diagcld2(paprs,pplay,t,q, diafra,dialiq) 317 use dimphy 315 318 IMPLICIT none 316 319 c 317 #include "dimensions.h"318 #include "dimphy.h"320 cym#include "dimensions.h" 321 cym#include "dimphy.h" 319 322 #include "YOMCST.h" 320 323 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/orbite.F
r524 r634 49 49 c====================================================================== 50 50 SUBROUTINE angle(longi, lati, frac, muzero) 51 USE dimphy 51 52 IMPLICIT none 52 53 c====================================================================== … … 64 65 c la journee (0 a 1) 65 66 c====================================================================== 66 #include "dimensions.h"67 #include "dimphy.h"67 cym#include "dimensions.h" 68 cym#include "dimphy.h" 68 69 REAL longi 69 70 REAL lati(klon), frac(klon), muzero(klon) … … 108 109 SUBROUTINE zenang(longi,gmtime,pdtrad,lat,long, 109 110 s pmu0,frac) 111 USE dimphy 110 112 IMPLICIT none 111 113 c============================================================= … … 131 133 c frac-----OUTPUT: ensoleillement moyen entre gmtime et gmtime+pdtrad 132 134 c================================================================ 133 #include "dimensions.h"134 #include "dimphy.h"135 cym#include "dimensions.h" 136 cym#include "dimphy.h" 135 137 #include "YOMCST.h" 136 138 c================================================================ … … 261 263 SUBROUTINE zenith (longi, gmtime, lat, long, 262 264 s pmu0, fract) 265 USE dimphy 263 266 IMPLICIT none 264 267 c … … 278 281 c 279 282 c==================================================================== 280 #include "dimensions.h"281 #include "dimphy.h"283 cym#include "dimensions.h" 284 cym#include "dimphy.h" 282 285 #include "YOMCST.h" 283 286 c==================================================================== -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/orografi.F
r633 r634 9 9 s d_t, d_u, d_v) 10 10 c 11 USE dimphy 11 12 IMPLICIT none 12 13 c====================================================================== … … 26 27 c d_v-----output-R-increment de la vitesse v 27 28 c====================================================================== 28 #include "dimensions.h"29 #include "dimphy.h"29 cym#include "dimensions.h" 30 cym#include "dimphy.h" 30 31 #include "YOMCST.h" 31 32 c … … 130 131 r , pvom,pvol,pte ) 131 132 133 USE dimphy 132 134 implicit none 133 135 … … 179 181 c 180 182 c 181 #include "dimensions.h"182 #include "dimphy.h"183 cym#include "dimensions.h" 184 cym#include "dimphy.h" 183 185 #include "YOMCST.h" 184 186 #include "YOEGWD.h" … … 189 191 c 190 192 c 191 integer nlon, nlev, klevm1 193 cym integer nlon, nlev, klevm1 194 integer nlon, nlev 192 195 integer kgwd, jl, ilevp1, jk, ji 193 196 real zdelp, ztemp, zforc, ztend … … 257 260 c ztmst=twodt 258 261 c if(nstep.eq.nstart) ztmst=0.5*twodt 259 klevm1=klev-1262 cym klevm1=klev-1 260 263 ztmst=ptsphy 261 264 zrtmst=1./ztmst … … 464 467 c 465 468 c----------------------------------------------------------------------- 469 USE dimphy 466 470 implicit none 467 471 c 468 472 469 #include "dimensions.h"470 #include "dimphy.h"473 cym#include "dimensions.h" 474 cym#include "dimphy.h" 471 475 #include "YOMCST.h" 472 476 #include "YOEGWD.h" … … 932 936 c 933 937 c----------------------------------------------------------------------- 938 USE dimphy 934 939 implicit none 935 #include "dimensions.h"936 #include "dimphy.h"940 cym#include "dimensions.h" 941 cym#include "dimphy.h" 937 942 #include "YOMCST.h" 938 943 #include "YOEGWD.h" … … 1066 1071 C PASSAGE OF THE NEW GWDRAG TO I.F.S. (F. LOTT, 22/11/93) 1067 1072 C----------------------------------------------------------------------- 1073 USE dimphy 1068 1074 implicit none 1069 1075 C … … 1071 1077 C 1072 1078 1073 #include "dimensions.h"1074 #include "dimphy.h"1079 cym#include "dimensions.h" 1080 cym#include "dimphy.h" 1075 1081 #include "YOMCST.h" 1076 1082 #include "YOEGWD.h" … … 1297 1303 s d_t, d_u, d_v) 1298 1304 c 1305 USE dimphy 1299 1306 IMPLICIT none 1300 1307 c====================================================================== … … 1314 1321 c d_v-----output-R-increment de la vitesse v 1315 1322 c====================================================================== 1316 #include "dimensions.h"1317 #include "dimphy.h"1323 cym#include "dimensions.h" 1324 cym#include "dimphy.h" 1318 1325 #include "YOMCST.h" 1319 1326 c … … 1435 1442 C F.LOTT LMD 22/11/95 1436 1443 C 1444 USE dimphy 1437 1445 implicit none 1438 1446 C 1439 1447 C 1440 #include "dimensions.h"1441 #include "dimphy.h"1448 cym#include "dimensions.h" 1449 cym#include "dimphy.h" 1442 1450 #include "YOMCST.h" 1443 1451 #include "YOEGWD.h" … … 1470 1478 C ------------ 1471 1479 logical lifthigh, ll1 1472 integer klevm1, jl, ilevh, jk 1480 cym integer klevm1, jl, ilevh, jk 1481 integer jl, ilevh, jk 1473 1482 real zcons1, ztmst, zrtmst,zpi, zhgeo 1474 1483 real zdelp, zslow, zsqua, zscav, zbet … … 1493 1502 IF(NLON.NE.KLON.OR.NLEV.NE.KLEV)STOP 1494 1503 ZCONS1=1./RD 1495 KLEVM1=KLEV-11504 cym KLEVM1=KLEV-1 1496 1505 ZTMST=PTSPHY 1497 1506 ZRTMST=1./ZTMST -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ozonecm.F
r524 r634 3 3 ! 4 4 SUBROUTINE ozonecm(rjour, rlat, paprs, o3) 5 USE dimphy 5 6 IMPLICIT none 6 #include "dimensions.h"7 #include "dimphy.h"7 cym#include "dimensions.h" 8 cym#include "dimphy.h" 8 9 REAL rlat(klon), paprs(klon,klev+1) 9 10 REAL o3(klon,klev) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/phyetat0.F
r633 r634 5 5 c 6 6 SUBROUTINE phyetat0 (fichnom,dtime,co2_ppm_etat0,solaire_etat0, 7 . rlat,rlon, pctsrf, tsol,tsoil,deltat,qsurf,qsol,snow, 8 . albe, alblw, evap, rain_fall, snow_fall, solsw, sollw, 9 . fder,radsol,frugs,agesno,clesphy0, 10 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugsrel,tabcntr0, 11 . t_ancien,q_ancien,ancien_ok, rnebcon, ratqs,clwcon, 12 . run_off_lic_0) 7 . rlat_p,rlon_p, pctsrf_p, tsol_p,tsoil_p,deltat_p, 8 . qsurf_p,qsol_p,snow_p,albe_p, alblw_p, evap_p, 9 . rain_fall_p, snow_fall_p,solsw_p, sollw_p, 10 . fder_p,radsol_p,frugs_p,agesno_p,clesphy0, 11 . zmea_p,zstd_p,zsig_p,zgam_p,zthe_p,zpic_p,zval_p, 12 . rugsrel_p,tabcntr0, 13 . t_ancien_p,q_ancien_p,ancien_ok, rnebcon_p, ratqs_p, 14 . clwcon_p,run_off_lic_0_p) 15 USE dimphy,klon=>klon2,klon2=>klon,zmasq_p=>zmasq 16 USE iophy 13 17 IMPLICIT none 14 18 c====================================================================== … … 17 21 c====================================================================== 18 22 #include "dimensions.h" 19 #include "dimphy.h"23 cym#include "dimphy.h" 20 24 #include "netcdf.inc" 21 25 #include "indicesol.h" … … 27 31 REAL dtime 28 32 INTEGER radpas 29 REAL rlat (klon), rlon(klon)33 REAL rlat_p(klon2), rlon_p(klon2) 30 34 REAL co2_ppm_etat0 31 35 REAL solaire_etat0 36 REAL tsol_p(klon2,nbsrf) 37 REAL tsoil_p(klon2,nsoilmx,nbsrf) 38 REAL deltat_p(klon2) 39 REAL qsurf_p(klon2,nbsrf) 40 REAL qsol_p(klon2) 41 REAL snow_p(klon2,nbsrf) 42 REAL albe_p(klon2,nbsrf) 43 cIM BEG alblw 44 REAL alblw_p(klon2,nbsrf) 45 cIM END alblw 46 REAL evap_p(klon2,nbsrf) 47 REAL radsol_p(klon2) 48 REAL rain_fall_p(klon2) 49 REAL snow_fall_p(klon2) 50 REAL sollw_p(klon2) 51 real solsw_p(klon2) 52 real fder_p(klon2) 53 REAL frugs_p(klon2,nbsrf) 54 REAL agesno_p(klon2,nbsrf) 55 REAL zmea_p(klon2) 56 REAL zstd_p(klon2) 57 REAL zsig_p(klon2) 58 REAL zgam_p(klon2) 59 REAL zthe_p(klon2) 60 REAL zpic_p(klon2) 61 REAL zval_p(klon2) 62 REAL rugsrel_p(klon2) 63 REAL pctsrf_p(klon2, nbsrf) 64 REAL run_off_lic_0_p(klon2) 65 66 REAL t_ancien_p(klon2,klev), q_ancien_p(klon2,klev) 67 real rnebcon_p(klon2,klev),clwcon_p(klon2,klev) 68 real ratqs_p(klon2,klev) 69 LOGICAL ancien_ok 70 71 REAL zmasq(klon) 72 REAL rlat(klon), rlon(klon) 32 73 REAL tsol(klon,nbsrf) 33 74 REAL tsoil(klon,nsoilmx,nbsrf) … … 60 101 REAL fractint(klon) 61 102 REAL run_off_lic_0(klon) 62 63 REAL t_ancien(klon,klev), q_ancien(klon,klev) 64 real rnebcon(klon,klev),clwcon(klon,klev),ratqs(klon,klev) 65 LOGICAL ancien_ok 103 REAL t_ancien(klon,klev) 104 REAL q_ancien(klon,klev) 105 real rnebcon(klon,klev) 106 real clwcon(klon,klev) 107 real ratqs(klon,klev) 108 109 66 110 67 111 INTEGER longcles … … 78 122 CHARACTER*7 str7 79 123 CHARACTER*2 str2 124 real iolat(jjm+1) 80 125 c 81 126 c Ouvrir le fichier contenant l'etat initial: … … 1248 1293 ENDIF 1249 1294 c 1295 clwcon=0. 1250 1296 ierr = NF_INQ_VARID (nid, "CLWCON", nvarid) 1251 1297 IF (ierr.NE.NF_NOERR) THEN … … 1270 1316 PRINT*,'Eau liquide convective (ecart-type) clwcon:', xmin, xmax 1271 1317 c 1318 rnebcon=0. 1272 1319 ierr = NF_INQ_VARID (nid, "RNEBCON", nvarid) 1273 1320 IF (ierr.NE.NF_NOERR) THEN … … 1312 1359 c Lecture ratqs 1313 1360 c 1361 ratqs=0. 1314 1362 ierr = NF_INQ_VARID (nid, "RATQS", nvarid) 1315 1363 IF (ierr.NE.NF_NOERR) THEN … … 1362 1410 ierr = NF_CLOSE(nid) 1363 1411 c 1412 1413 cym en attendant mieux 1414 iolat(1)=rlat(1) 1415 iolat(jjm+1)=rlat(klon) 1416 do i=2,jjm 1417 iolat(i)=rlat(2+(i-2)*iim) 1418 enddo 1419 1420 call init_iophy(iolat,rlon(2:iim+1)) 1421 1422 call ScatterField( rlat,rlat_p,1) 1423 call ScatterField( rlon,rlon_p,1) 1424 call ScatterField( tsol,tsol_p,nbsrf) 1425 call ScatterField( tsoil,tsoil_p,nsoilmx*nbsrf) 1426 call ScatterField( deltat,deltat_p,1) 1427 call ScatterField( qsurf,qsurf_p,nbsrf) 1428 call ScatterField( qsol,qsol_p,1) 1429 call ScatterField( snow,snow_p,nbsrf) 1430 call ScatterField( albe,albe_p,nbsrf) 1431 call ScatterField( alblw,alblw_p,nbsrf) 1432 call ScatterField( evap,evap_p,nbsrf) 1433 call ScatterField( radsol,radsol_p,1) 1434 call ScatterField( rain_fall,rain_fall_p,1) 1435 call ScatterField( snow_fall,snow_fall_p,1) 1436 call ScatterField( sollw,sollw_p,1) 1437 call ScatterField( solsw,solsw_p,1) 1438 call ScatterField( fder,fder_p,1) 1439 call ScatterField( frugs,frugs_p,nbsrf) 1440 call ScatterField( agesno,agesno_p,nbsrf) 1441 call ScatterField( zmea,zmea_p,1) 1442 call ScatterField( zstd,zstd_p,1) 1443 call ScatterField( zsig,zsig_p,1) 1444 call ScatterField( zgam,zgam_p,1) 1445 call ScatterField( zthe,zthe_p,1) 1446 call ScatterField( zpic,zpic_p,1) 1447 call ScatterField( zval,zval_p,1) 1448 call ScatterField( rugsrel,rugsrel_p,1) 1449 call ScatterField( pctsrf,pctsrf_p, nbsrf) 1450 call ScatterField( run_off_lic_0,run_off_lic_0_p,1) 1451 call ScatterField( t_ancien,t_ancien_p,klev) 1452 call ScatterField( q_ancien,q_ancien_p,klev) 1453 call ScatterField( rnebcon,rnebcon_p,klev) 1454 call ScatterField( clwcon,clwcon_p,klev) 1455 call ScatterField( ratqs,ratqs_p,klev) 1456 call ScatterField( zmasq,zmasq_p,1) 1457 1364 1458 RETURN 1365 1459 END -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/phyredem.F
r633 r634 4 4 c 5 5 SUBROUTINE phyredem (fichnom,dtime,radpas, 6 . rlat,rlon, pctsrf,tsol,tsoil,deltat,qsurf,qsol,snow, 7 . albedo, alblw, evap, rain_fall, snow_fall, 8 . solsw, sollw,fder, 9 . radsol,frugs,agesno, 10 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugsrel, 11 . t_ancien, q_ancien, rnebcon, ratqs, clwcon, 12 . run_off_lic_0) 6 . rlat_p,rlon_p, pctsrf_p,tsol_p,tsoil_p,deltat_p, 7 . qsurf_p,qsol_p,snow_p,albedo_p, alblw_p, evap_p, 8 . rain_fall_p, snow_fall_p,solsw_p, sollw_p,fder_p, 9 . radsol_p,frugs_p,agesno_p,zmea_p,zstd_p,zsig_p, 10 . zgam_p,zthe_p,zpic_p,zval_p,rugsrel_p, 11 . t_ancien_p, q_ancien_p, rnebcon_p, ratqs_p, clwcon_p, 12 . run_off_lic_0_p) 13 USE dimphy 13 14 IMPLICIT none 14 15 c====================================================================== … … 16 17 c Objet: Ecriture de l'etat de redemarrage pour la physique 17 18 c====================================================================== 18 #include "dimensions.h"19 #include "dimphy.h"19 cym#include "dimensions.h" 20 cym#include "dimphy.h" 20 21 #include "netcdf.inc" 21 22 #include "indicesol.h" … … 28 29 REAL dtime 29 30 INTEGER radpas 30 REAL rlat (klon), rlon(klon)31 REAL tsol (klon,nbsrf)32 REAL tsoil (klon,nsoilmx,nbsrf)33 REAL deltat (klon)34 REAL qsurf (klon,nbsrf)35 REAL qsol (klon)36 REAL snow (klon,nbsrf)37 REAL albedo (klon,nbsrf)31 REAL rlat_p(klon), rlon_p(klon) 32 REAL tsol_p(klon,nbsrf) 33 REAL tsoil_p(klon,nsoilmx,nbsrf) 34 REAL deltat_p(klon) 35 REAL qsurf_p(klon,nbsrf) 36 REAL qsol_p(klon) 37 REAL snow_p(klon,nbsrf) 38 REAL albedo_p(klon,nbsrf) 38 39 cIM BEG 39 REAL alblw (klon,nbsrf)40 REAL alblw_p(klon,nbsrf) 40 41 cIM END 41 REAL evap(klon,nbsrf) 42 REAL rain_fall(klon) 43 REAL snow_fall(klon) 44 real solsw(klon) 45 real sollw(klon) 46 real fder(klon) 47 REAL radsol(klon) 48 REAL frugs(klon,nbsrf) 49 REAL agesno(klon,nbsrf) 50 REAL zmea(klon) 51 REAL zstd(klon) 52 REAL zsig(klon) 53 REAL zgam(klon) 54 REAL zthe(klon) 55 REAL zpic(klon) 56 REAL zval(klon) 57 REAL rugsrel(klon) 58 REAL pctsrf(klon, nbsrf) 59 REAL t_ancien(klon,klev), q_ancien(klon,klev) 60 real clwcon(klon,klev),rnebcon(klon,klev),ratqs(klon,klev) 42 REAL evap_p(klon,nbsrf) 43 REAL rain_fall_p(klon) 44 REAL snow_fall_p(klon) 45 real solsw_p(klon) 46 real sollw_p(klon) 47 real fder_p(klon) 48 REAL radsol_p(klon) 49 REAL frugs_p(klon,nbsrf) 50 REAL agesno_p(klon,nbsrf) 51 REAL zmea_p(klon) 52 REAL zstd_p(klon) 53 REAL zsig_p(klon) 54 REAL zgam_p(klon) 55 REAL zthe_p(klon) 56 REAL zpic_p(klon) 57 REAL zval_p(klon) 58 REAL rugsrel_p(klon) 59 REAL pctsrf_p(klon, nbsrf) 60 REAL t_ancien_p(klon,klev), q_ancien_p(klon,klev) 61 real clwcon_p(klon,klev),rnebcon_p(klon,klev),ratqs_p(klon,klev) 62 REAL run_off_lic_0_p(klon) 63 64 REAL rlat(klon2), rlon(klon2) 65 REAL tsol(klon2,nbsrf) 66 REAL tsoil(klon2,nsoilmx,nbsrf) 67 REAL deltat(klon2) 68 REAL qsurf(klon2,nbsrf) 69 REAL qsol(klon2) 70 REAL snow(klon2,nbsrf) 71 REAL albedo(klon2,nbsrf) 72 REAL alblw(klon2,nbsrf) 73 REAL evap(klon2,nbsrf) 74 REAL rain_fall(klon2) 75 REAL snow_fall(klon2) 76 real solsw(klon2) 77 real sollw(klon2) 78 real fder(klon2) 79 REAL radsol(klon2) 80 REAL frugs(klon2,nbsrf) 81 REAL agesno(klon2,nbsrf) 82 REAL zmea(klon2) 83 REAL zstd(klon2) 84 REAL zsig(klon2) 85 REAL zgam(klon2) 86 REAL zthe(klon2) 87 REAL zpic(klon2) 88 REAL zval(klon2) 89 REAL rugsrel(klon2) 90 REAL pctsrf(klon2, nbsrf) 91 REAL t_ancien(klon2,klev), q_ancien(klon2,klev) 92 real clwcon(klon2,klev),rnebcon(klon2,klev),ratqs(klon2,klev) 61 93 REAL run_off_lic_0(klon) 62 94 c … … 71 103 CHARACTER*2 str2 72 104 c 105 106 call GatherField( rlat_p,rlat,1) 107 call GatherField( rlon_p,rlon,1) 108 call GatherField( tsol_p,tsol,nbsrf) 109 call GatherField( tsoil_p,tsoil,nsoilmx*nbsrf) 110 call GatherField( deltat_p,deltat,1) 111 call GatherField( qsurf_p,qsurf,nbsrf) 112 call GatherField( qsol_p,qsol,1) 113 call GatherField( snow_p,snow,nbsrf) 114 call GatherField( albedo_p,albedo,nbsrf) 115 call GatherField( alblw_p,alblw,nbsrf) 116 call GatherField( evap_p,evap,nbsrf) 117 call GatherField( radsol_p,radsol,1) 118 call GatherField( rain_fall_p,rain_fall,1) 119 call GatherField( snow_fall_p,snow_fall,1) 120 call GatherField( sollw_p,sollw,1) 121 call GatherField( solsw_p,solsw,1) 122 call GatherField( fder_p,fder,1) 123 call GatherField( frugs_p,frugs,nbsrf) 124 call GatherField( agesno_p,agesno,nbsrf) 125 call GatherField( zmea_p,zmea,1) 126 call GatherField( zstd_p,zstd,1) 127 call GatherField( zsig_p,zsig,1) 128 call GatherField( zgam_p,zgam,1) 129 call GatherField( zthe_p,zthe,1) 130 call GatherField( zpic_p,zpic,1) 131 call GatherField( zval_p,zval,1) 132 call GatherField( rugsrel_p,rugsrel,1) 133 call GatherField( pctsrf_p,pctsrf, nbsrf) 134 call GatherField( run_off_lic_0_p,run_off_lic_0,1) 135 call GatherField( t_ancien_p,t_ancien,klev) 136 call GatherField( q_ancien_p,q_ancien,klev) 137 call GatherField( rnebcon_p,rnebcon,klev) 138 call GatherField( clwcon_p,clwcon,klev) 139 call GatherField( ratqs_p,ratqs,klev) 140 141 if (phy_rank==0) then 142 73 143 ierr = NF_CREATE(fichnom, NF_CLOBBER, nid) 74 144 IF (ierr.NE.NF_NOERR) THEN … … 780 850 ierr = NF_CLOSE(nid) 781 851 c 852 endif ! phy_rank==0 782 853 RETURN 783 854 END -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/physiq.F
r633 r634 15 15 USE ioipsl 16 16 USE histcom 17 USE comgeomphy 18 USE write_field 19 USE write_field_p 20 USE dimphy 21 USE iophy 22 c$$$ USE misc_mod, mydebug=>debug 23 #ifdef CPP_PARALLEL 24 USE vampir 25 #endif 17 26 #ifdef INCA 18 27 USE chemshut … … 35 44 c CLEFS CPP POUR LES IO 36 45 c ===================== 37 #define histhf46 c#define histhf 38 47 #define histday 39 48 #define histmth 40 #define histins49 c#define histins 41 50 c#define histISCCP 42 #define histREGDYN43 #define histmthNMC51 c#define histREGDYN 52 c#define histmthNMC 44 53 c====================================================================== 45 54 c modif ( P. Le Van , 12/10/98 ) … … 77 86 integer jjmp1 78 87 parameter (jjmp1=jjm+1-1/jjm) 79 #include "dimphy.h" 88 integer iip1 89 parameter (iip1=iim+1) 90 cym#include "dimphy.h" 80 91 #include "regdim.h" 81 92 #include "indicesol.h" … … 85 96 #include "logic.h" 86 97 #include "temps.h" 87 #include "comgeomphy.h"98 cym#include "comgeomphy.h" 88 99 #include "advtrac.h" 89 100 #include "iniprint.h" … … 161 172 REAL fm_therm(klon,klev+1) 162 173 REAL entr_therm(klon,klev) 163 real q2(klon,klev+1,nbsrf)164 save q2174 real,allocatable,save :: q2(:,:,:) 175 cym save q2 165 176 c====================================================================== 166 177 c … … 194 205 REAL qx(klon,klev,nqmax) 195 206 196 REAL t_ancien(klon,klev), q_ancien(klon,klev)197 SAVE t_ancien, q_ancien207 REAL,allocatable,save :: t_ancien(:,:), q_ancien(:,:) 208 cym SAVE t_ancien, q_ancien 198 209 LOGICAL ancien_ok 199 210 SAVE ancien_ok … … 214 225 real da(klon,klev),phi(klon,klev,klev),mp(klon,klev) 215 226 216 INTEGER klevp1, klevm1217 PARAMETER(klevp1=klev+1,klevm1=klev-1)218 #include "raddim.h"227 cym INTEGER klevp1, klevm1 228 cym PARAMETER(klevp1=klev+1,klevm1=klev-1) 229 cym#include "raddim.h" 219 230 c 220 231 cIM 080304 REAL swdn0(klon,2), swdn(klon,2), swup0(klon,2), swup(klon,2) 221 REAL swdn0(klon,klevp1), swdn(klon,klevp1)222 REAL swup0(klon,klevp1), swup(klon,klevp1)223 SAVE swdn0 , swdn, swup0, swup224 c 225 REAL SWdn200clr(klon), SWdn200(klon)226 REAL SWup200clr(klon), SWup200(klon)227 SAVE SWdn200clr, SWdn200, SWup200clr, SWup200228 c 229 REAL lwdn0(klon,klevp1), lwdn(klon,klevp1)230 REAL lwup0(klon,klevp1), lwup(klon,klevp1)231 SAVE lwdn0 , lwdn, lwup0, lwup232 c 233 REAL LWdn200clr(klon), LWdn200(klon)234 REAL LWup200clr(klon), LWup200(klon)235 SAVE LWdn200clr, LWdn200, LWup200clr, LWup200236 c 237 REAL LWdnTOA(klon), LWdnTOAclr(klon)238 SAVE LWdnTOA, LWdnTOAclr232 REAL,allocatable,save :: swdn0(:,:), swdn(:,:) 233 REAL,allocatable,save :: swup0(:,:), swup(:,:) 234 cym SAVE swdn0 , swdn, swup0, swup 235 c 236 REAL,allocatable,save :: SWdn200clr(:), SWdn200(:) 237 REAL,allocatable,save :: SWup200clr(:), SWup200(:) 238 cym SAVE SWdn200clr, SWdn200, SWup200clr, SWup200 239 c 240 REAL,allocatable,save :: lwdn0(:,:), lwdn(:,:) 241 REAL,allocatable,save :: lwup0(:,:), lwup(:,:) 242 cym SAVE lwdn0 , lwdn, lwup0, lwup 243 c 244 REAL,allocatable,save :: LWdn200clr(:), LWdn200(:) 245 REAL,allocatable,save :: LWup200clr(:), LWup200(:) 246 cym SAVE LWdn200clr, LWdn200, LWup200clr, LWup200 247 c 248 REAL,allocatable,save :: LWdnTOA(:), LWdnTOAclr(:) 249 cym SAVE LWdnTOA, LWdnTOAclr 239 250 c 240 251 c vents meridien et zonal a un niveau de pression … … 296 307 cv3.4 297 308 INTEGER debug, debugcol 298 INTEGER npoints299 PARAMETER(npoints=klon)309 cym INTEGER npoints 310 cym PARAMETER(npoints=klon) 300 311 c 301 312 INTEGER sunlit(klon) !sunlit=1 if day; sunlit=0 if night … … 457 468 SAVE radpas ! frequence d'appel rayonnement 458 469 c 459 REAL radsol(klon)460 SAVE radsol ! bilan radiatif au sol calcule par code radiatif461 c 462 REAL rlat(klon)463 SAVE rlat ! latitude pour chaque point464 c 465 REAL rlon(klon)466 SAVE rlon ! longitude pour chaque point470 REAL,allocatable,save :: radsol(:) 471 cym SAVE radsol ! bilan radiatif au sol calcule par code radiatif 472 c 473 REAL,allocatable,save :: rlat(:) 474 cym SAVE rlat ! latitude pour chaque point 475 c 476 REAL,allocatable,save :: rlon(:) 477 cym SAVE rlon ! longitude pour chaque point 467 478 c 468 479 cc INTEGER iflag_con … … 478 489 real slp(klon) ! sea level pressure 479 490 480 REAL ftsol(klon,nbsrf)481 SAVE ftsol ! temperature du sol482 c 483 REAL ftsoil(klon,nsoilmx,nbsrf)484 SAVE ftsoil ! temperature dans le sol485 c 486 REAL fevap(klon,nbsrf)487 SAVE fevap ! evaporation488 REAL fluxlat(klon,nbsrf)489 SAVE fluxlat490 c 491 REAL deltat(klon)492 SAVE deltat ! ecart avec la SST de reference493 c 494 REAL fqsurf(klon,nbsrf)495 SAVE fqsurf ! humidite de l'air au contact de la surface496 c 497 REAL qsol(klon)498 SAVE qsol ! hauteur d'eau dans le sol499 c 500 REAL fsnow(klon,nbsrf)501 SAVE fsnow ! epaisseur neigeuse502 c 503 REAL falbe(klon,nbsrf)504 SAVE falbe ! albedo par type de surface505 REAL falblw(klon,nbsrf)506 SAVE falblw ! albedo par type de surface491 REAL,allocatable,save :: ftsol(:,:) 492 cym SAVE ftsol ! temperature du sol 493 c 494 REAL,allocatable,save :: ftsoil(:,:,:) 495 cym SAVE ftsoil ! temperature dans le sol 496 c 497 REAL,allocatable,save :: fevap(:,:) 498 cym SAVE fevap ! evaporation 499 REAL,allocatable,save :: fluxlat(:,:) 500 cym SAVE fluxlat 501 c 502 REAL,allocatable,save :: deltat(:) 503 cym SAVE deltat ! ecart avec la SST de reference 504 c 505 REAL,allocatable,save :: fqsurf(:,:) 506 cym SAVE fqsurf ! humidite de l'air au contact de la surface 507 c 508 REAL,allocatable,save :: qsol(:) 509 cym SAVE qsol ! hauteur d'eau dans le sol 510 c 511 REAL,allocatable,save :: fsnow(:,:) 512 cym SAVE fsnow ! epaisseur neigeuse 513 c 514 REAL,allocatable,save :: falbe(:,:) 515 cym SAVE falbe ! albedo par type de surface 516 REAL,allocatable,save :: falblw(:,:) 517 cym SAVE falblw ! albedo par type de surface 507 518 508 519 c … … 510 521 c Parametres de l'Orographie a l'Echelle Sous-Maille (OESM): 511 522 c 512 REAL zmea(klon)513 SAVE zmea ! orographie moyenne514 c 515 REAL zstd(klon)516 SAVE zstd ! deviation standard de l'OESM517 c 518 REAL zsig(klon)519 SAVE zsig ! pente de l'OESM520 c 521 REAL zgam(klon)522 save zgam ! anisotropie de l'OESM523 c 524 REAL zthe(klon)525 SAVE zthe ! orientation de l'OESM526 c 527 REAL zpic(klon)528 SAVE zpic ! Maximum de l'OESM529 c 530 REAL zval(klon)531 SAVE zval ! Minimum de l'OESM532 c 533 REAL rugoro(klon)534 SAVE rugoro ! longueur de rugosite de l'OESM523 REAL,allocatable,save :: zmea(:) 524 cym SAVE zmea ! orographie moyenne 525 c 526 REAL,allocatable,save :: zstd(:) 527 cym SAVE zstd ! deviation standard de l'OESM 528 c 529 REAL,allocatable,save :: zsig(:) 530 cym SAVE zsig ! pente de l'OESM 531 c 532 REAL,allocatable,save :: zgam(:) 533 cym save zgam ! anisotropie de l'OESM 534 c 535 REAL,allocatable,save :: zthe(:) 536 cym SAVE zthe ! orientation de l'OESM 537 c 538 REAL,allocatable,save :: zpic(:) 539 cym SAVE zpic ! Maximum de l'OESM 540 c 541 REAL,allocatable,save :: zval(:) 542 cym SAVE zval ! Minimum de l'OESM 543 c 544 REAL,allocatable,save :: rugoro(:) 545 cym SAVE rugoro ! longueur de rugosite de l'OESM 535 546 c 536 547 REAL zulow(klon),zvlow(klon),zustr(klon), zvstr(klon) 537 548 c 538 REAL zuthe(klon),zvthe(klon)539 SAVE zuthe540 SAVE zvthe549 REAL,allocatable,save :: zuthe(:),zvthe(:) 550 cym SAVE zuthe 551 cym SAVE zvthe 541 552 INTEGER igwd,idx(klon),itest(klon) 542 553 c 543 REAL agesno(klon,nbsrf)544 SAVE agesno ! age de la neige545 c 546 REAL alb_neig(klon)547 SAVE alb_neig ! albedo de la neige548 c 549 REAL run_off_lic_0(klon)550 SAVE run_off_lic_0554 REAL,allocatable,save :: agesno(:,:) 555 cym SAVE agesno ! age de la neige 556 c 557 REAL,allocatable,save :: alb_neig(:) 558 cym SAVE alb_neig ! albedo de la neige 559 c 560 REAL,allocatable,save :: run_off_lic_0(:) 561 cym SAVE run_off_lic_0 551 562 cKE43 552 563 c Variables liees a la convection de K. Emanuel (sb): 553 564 c 554 REAL ema_workcbmf(klon) ! cloud base mass flux555 SAVE ema_workcbmf556 557 REAL ema_cbmf(klon) ! cloud base mass flux558 SAVE ema_cbmf559 560 REAL ema_pcb(klon) ! cloud base pressure561 SAVE ema_pcb562 563 REAL ema_pct(klon) ! cloud top pressure564 SAVE ema_pct565 REAL,allocatable,save :: ema_workcbmf(:) ! cloud base mass flux 566 cym SAVE ema_workcbmf 567 568 REAL,allocatable,save :: ema_cbmf(:) ! cloud base mass flux 569 cym SAVE ema_cbmf 570 571 REAL,allocatable,save :: ema_pcb(:) ! cloud base pressure 572 cym SAVE ema_pcb 573 574 REAL,allocatable,save :: ema_pct(:) ! cloud top pressure 575 cym SAVE ema_pct 565 576 566 577 REAL bas, top ! cloud base and top levels … … 568 579 SAVE top 569 580 570 REAL Ma(klon,klev) ! undilute upward mass flux571 SAVE Ma572 REAL qcondc(klon,klev) ! in-cld water content from convect573 SAVE qcondc574 REAL ema_work1(klon, klev), ema_work2(klon, klev)575 SAVE ema_work1, ema_work2581 REAL,allocatable,save :: Ma(:,:) ! undilute upward mass flux 582 cym SAVE Ma 583 REAL,allocatable,save :: qcondc(:,:) ! in-cld water content from convect 584 cym SAVE qcondc 585 REAL,allocatable,save :: ema_work1(:, :), ema_work2(:, :) 586 cym SAVE ema_work1, ema_work2 576 587 REAL wdn(klon), tdn(klon), qdn(klon) 577 588 578 REAL wd(klon) ! sb579 SAVE wd ! sb589 REAL,allocatable,save :: wd(:) ! sb 590 cym SAVE wd ! sb 580 591 581 592 c Variables locales pour la couche limite (al1): … … 604 615 c$$$ PARAMETER (offline=.false.) 605 616 c$$$ INTEGER physid 606 REAL pfrac_impa(klon,klev)! Produits des coefs lessivage impaction607 save pfrac_impa608 REAL pfrac_nucl(klon,klev)! Produits des coefs lessivage nucleation609 save pfrac_nucl610 REAL pfrac_1nucl(klon,klev)! Produits des coefs lessi nucl (alpha = 1)611 save pfrac_1nucl617 REAL,allocatable,save :: pfrac_impa(:,:)! Produits des coefs lessivage impaction 618 cym save pfrac_impa 619 REAL,allocatable,save :: pfrac_nucl(:,:)! Produits des coefs lessivage nucleation 620 cym save pfrac_nucl 621 REAL,allocatable,save :: pfrac_1nucl(:,:)! Produits des coefs lessi nucl (alpha = 1) 622 cym save pfrac_1nucl 612 623 REAL frac_impa(klon,klev) ! fractions d'aerosols lessivees (impaction) 613 624 REAL frac_nucl(klon,klev) ! idem (nucleation) … … 618 629 619 630 cAA 620 REAL rain_fall(klon) ! pluie621 REAL snow_fall(klon) ! neige622 save snow_fall, rain_fall631 REAL,allocatable,save :: rain_fall(:) ! pluie 632 REAL,allocatable,save :: snow_fall(:) ! neige 633 cym save snow_fall, rain_fall 623 634 cIM 050204 BEG 624 REAL total_rain(klon), nday_rain(klon)625 save total_rain, nday_rain635 REAL,allocatable,save :: total_rain(:), nday_rain(:) 636 cym save total_rain, nday_rain 626 637 cIM 050204 END 627 638 REAL evap(klon), devap(klon) ! evaporation et sa derivee 628 639 REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee 629 REAL dlw(klon) ! derivee infra rouge640 REAL,allocatable,save :: dlw(:) ! derivee infra rouge 630 641 cym 631 SAVE dlw642 cym SAVE dlw 632 643 cym 633 644 REAL bils(klon) ! bilan de chaleur au sol 634 645 REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque 635 646 C ! type de sous-surface et pondere par la fraction 636 REAL fder(klon) ! Derive de flux (sensible et latente)637 save fder647 REAL,allocatable,save :: fder(:) ! Derive de flux (sensible et latente) 648 cym save fder 638 649 REAL ve(klon) ! integr. verticale du transport meri. de l'energie 639 650 REAL vq(klon) ! integr. verticale du transport meri. de l'eau … … 641 652 REAL uq(klon) ! integr. verticale du transport zonal de l'eau 642 653 c 643 REAL frugs(klon,nbsrf) ! longueur de rugosite644 save frugs654 REAL,allocatable,save :: frugs(:,:) ! longueur de rugosite 655 cym save frugs 645 656 REAL zxrugs(klon) ! longueur de rugosite 646 657 c 647 658 c Conditions aux limites 648 659 c 660 INTEGER :: iii 649 661 INTEGER julien 650 662 c 651 663 INTEGER lmt_pas 652 664 SAVE lmt_pas ! frequence de mise a jour 653 REAL pctsrf(klon,nbsrf)665 REAL,allocatable,save :: pctsrf(:,:) 654 666 cIM 655 667 REAL pctsrf_new(klon,nbsrf) !pourcentage surfaces issus d'ORCHIDEE 656 REAL paire_ter(klon) !surfaces terre 668 cym REAL paire_ter(klon) !surfaces terre 669 REAL,allocatable,save :: paire_ter(:) !surfaces terre 670 657 671 cIM 658 SAVE pctsrf ! sous-fraction du sol659 REAL albsol(klon)660 SAVE albsol ! albedo du sol total661 REAL albsollw(klon)662 SAVE albsollw ! albedo du sol total663 664 REAL wo(klon,klev)665 672 cym SAVE pctsrf ! sous-fraction du sol 673 REAL,allocatable,save :: albsol(:) 674 cym SAVE albsol ! albedo du sol total 675 REAL,allocatable,save :: albsollw(:) 676 cym SAVE albsollw ! albedo du sol total 677 678 REAL,allocatable,save :: wo(:,:) 679 cym SAVE wo ! ozone 666 680 c====================================================================== 667 681 c … … 702 716 c Variables locales 703 717 c 704 real clwcon(klon,klev),rnebcon(klon,klev)718 real,allocatable,save :: clwcon(:,:),rnebcon(:,:) 705 719 real clwcon0(klon,klev),rnebcon0(klon,klev) 706 save rnebcon, clwcon720 cym save rnebcon, clwcon 707 721 708 722 REAL rhcl(klon,klev) ! humiditi relative ciel clair … … 725 739 REAL zxfluxv(klon, klev) 726 740 CXXX 727 REAL heat(klon,klev) ! chauffage solaire728 REAL heat0(klon,klev) ! chauffage solaire ciel clair729 REAL cool(klon,klev) ! refroidissement infrarouge730 REAL cool0(klon,klev) ! refroidissement infrarouge ciel clair731 REAL topsw(klon), toplw(klon), solsw(klon), sollw(klon)732 real sollwdown(klon) ! downward LW flux at surface741 REAL,allocatable,save :: heat(:,:) ! chauffage solaire 742 REAL,allocatable,save :: heat0(:,:) ! chauffage solaire ciel clair 743 REAL,allocatable,save :: cool(:,:) ! refroidissement infrarouge 744 REAL,allocatable,save :: cool0(:,:) ! refroidissement infrarouge ciel clair 745 REAL,allocatable,save :: topsw(:), toplw(:), solsw(:), sollw(:) 746 real,allocatable,save :: sollwdown(:) ! downward LW flux at surface 733 747 cIM BEG 734 real sollwdownclr(klon) ! downward CS LW flux at surface735 real toplwdown(klon) ! downward CS LW flux at TOA736 real toplwdownclr(klon) ! downward CS LW flux at TOA748 real,allocatable,save :: sollwdownclr(:) ! downward CS LW flux at surface 749 real,allocatable,save :: toplwdown(:) ! downward CS LW flux at TOA 750 real,allocatable,save :: toplwdownclr(:) ! downward CS LW flux at TOA 737 751 cIM END 738 REAL topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon)739 REAL albpla(klon)752 REAL,allocatable,save :: topsw0(:),toplw0(:),solsw0(:),sollw0(:) 753 REAL,allocatable,save :: albpla(:) 740 754 REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface 741 755 REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface 742 756 c Le rayonnement n'est pas calcule tous les pas, il faut donc 743 757 c sauvegarder les sorties du rayonnement 744 SAVE heat,cool,albpla,topsw,toplw,solsw,sollw,sollwdown745 SAVE sollwdownclr, toplwdown, toplwdownclr746 SAVE topsw0,toplw0,solsw0,sollw0, heat0, cool0758 cym SAVE heat,cool,albpla,topsw,toplw,solsw,sollw,sollwdown 759 cym SAVE sollwdownclr, toplwdown, toplwdownclr 760 cym SAVE topsw0,toplw0,solsw0,sollw0, heat0, cool0 747 761 c 748 762 INTEGER itaprad … … 785 799 REAL dnwd0(klon,klev) ! unsaturated downdraft mass flux 786 800 REAL tvp(klon,klev) ! virtual temp of lifted parcel 787 REAL cape(klon) ! CAPE788 SAVE cape801 REAL,allocatable,save :: cape(:) ! CAPE 802 cym SAVE cape 789 803 CHARACTER*40 capemaxcels !max(CAPE) 790 804 791 REAL pbase(klon) ! cloud base pressure792 SAVE pbase793 REAL bbase(klon) ! cloud base buoyancy794 SAVE bbase805 REAL,allocatable,save :: pbase(:) ! cloud base pressure 806 cym SAVE pbase 807 REAL,allocatable,save :: bbase(:) ! cloud base buoyancy 808 cym SAVE bbase 795 809 REAL rflag(klon) ! flag fonctionnement de convect 796 810 INTEGER iflagctrl(klon) ! flag fonctionnement de convect … … 829 843 REAL prfl(klon,klev+1), psfl(klon,klev+1) 830 844 c 831 INTEGER ibas_con(klon), itop_con(klon)845 INTEGER,allocatable,save :: ibas_con(:), itop_con(:) 832 846 cym 833 SAVE ibas_con,itop_con847 cym SAVE ibas_con,itop_con 834 848 cym 835 849 REAL rain_con(klon), rain_lsc(klon) … … 846 860 REAL d_u_oli(klon,klev), d_v_oli(klon,klev) !tendances dues a oro et lif 847 861 848 REAL ratqs(klon,klev),ratqss(klon,klev),ratqsc(klon,klev) 862 REAL,allocatable,save :: ratqs(:,:) 863 REAL ratqss(klon,klev),ratqsc(klon,klev) 849 864 real ratqsbas,ratqshaut 850 save ratqsbas,ratqshaut, ratqs 865 cym save ratqsbas,ratqshaut, ratqs 866 save ratqsbas,ratqshaut 851 867 real zpt_conv(klon,klev) 852 868 … … 956 972 cjq Aerosol effects (Johannes Quaas, 27/11/2003) 957 973 REAL sulfate(klon, klev) ! SO4 aerosol concentration [ug/m3] 958 REAL sulfate_pi(klon, klev) ! SO4 aerosol concentration [ug/m3] (pre-industrial value)959 SAVE sulfate_pi974 REAL,allocatable,save :: sulfate_pi(:,:) ! SO4 aerosol concentration [ug/m3] (pre-industrial value) 975 cym SAVE sulfate_pi 960 976 961 977 REAL cldtaupi(klon,klev) ! Cloud optical thickness for pre-industrial (pi) aerosols … … 990 1006 c Declaration des constantes et des fonctions thermodynamiques 991 1007 c 1008 LOGICAL :: first=.true. 992 1009 #include "YOMCST.h" 993 1010 #include "YOETHF.h" 994 1011 #include "FCTTRE.h" 1012 1013 REAL Field_tmp(klon2,klevp1) 1014 1015 if (first) then 1016 1017 allocate( t_ancien(klon,klev), q_ancien(klon,klev)) 1018 allocate( q2(klon,klev+1,nbsrf)) 1019 allocate( swdn0(klon,klevp1), swdn(klon,klevp1)) 1020 allocate( swup0(klon,klevp1), swup(klon,klevp1)) 1021 allocate( SWdn200clr(klon), SWdn200(klon)) 1022 allocate( SWup200clr(klon), SWup200(klon)) 1023 allocate( lwdn0(klon,klevp1), lwdn(klon,klevp1)) 1024 allocate( lwup0(klon,klevp1), lwup(klon,klevp1)) 1025 allocate( LWdn200clr(klon), LWdn200(klon)) 1026 allocate( LWup200clr(klon), LWup200(klon)) 1027 allocate( LWdnTOA(klon), LWdnTOAclr(klon)) 1028 allocate( radsol(klon)) 1029 allocate( rlat(klon)) 1030 allocate( rlon(klon)) 1031 allocate( ftsol(klon,nbsrf)) 1032 allocate( ftsoil(klon,nsoilmx,nbsrf)) 1033 allocate( fevap(klon,nbsrf)) 1034 allocate( fluxlat(klon,nbsrf)) 1035 allocate( deltat(klon)) 1036 allocate( fqsurf(klon,nbsrf)) 1037 allocate( qsol(klon)) 1038 allocate( fsnow(klon,nbsrf)) 1039 allocate( falbe(klon,nbsrf)) 1040 allocate( falblw(klon,nbsrf)) 1041 allocate( zmea(klon)) 1042 allocate( zstd(klon)) 1043 allocate( zsig(klon)) 1044 allocate( zgam(klon)) 1045 allocate( zthe(klon)) 1046 allocate( zpic(klon)) 1047 allocate( zval(klon)) 1048 allocate( rugoro(klon)) 1049 allocate( zuthe(klon),zvthe(klon)) 1050 allocate( agesno(klon,nbsrf)) 1051 allocate( alb_neig(klon)) 1052 allocate( run_off_lic_0(klon)) 1053 allocate( ema_workcbmf(klon)) 1054 allocate( ema_cbmf(klon)) 1055 allocate( ema_pcb(klon)) 1056 allocate( ema_pct(klon)) 1057 allocate( Ma(klon,klev) ) 1058 allocate( qcondc(klon,klev)) 1059 allocate( ema_work1(klon, klev), ema_work2(klon, klev)) 1060 allocate( wd(klon) ) 1061 allocate( pfrac_impa(klon,klev)) 1062 allocate( pfrac_nucl(klon,klev)) 1063 allocate( pfrac_1nucl(klon,klev)) 1064 allocate( rain_fall(klon) ) 1065 allocate( snow_fall(klon) ) 1066 allocate( total_rain(klon), nday_rain(klon)) 1067 allocate( dlw(klon) ) 1068 allocate( fder(klon) ) 1069 allocate( frugs(klon,nbsrf) ) 1070 allocate( pctsrf(klon,nbsrf)) 1071 allocate( albsol(klon)) 1072 allocate( albsollw(klon)) 1073 allocate( wo(klon,klev)) 1074 allocate( clwcon(klon,klev),rnebcon(klon,klev)) 1075 allocate( heat(klon,klev) ) 1076 allocate( heat0(klon,klev) ) 1077 allocate( cool(klon,klev) ) 1078 allocate( cool0(klon,klev) ) 1079 allocate( topsw(klon), toplw(klon), solsw(klon), sollw(klon)) 1080 allocate( sollwdown(klon) ) 1081 allocate( sollwdownclr(klon) ) 1082 allocate( toplwdown(klon) ) 1083 allocate( toplwdownclr(klon) ) 1084 allocate( topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon)) 1085 allocate( albpla(klon)) 1086 allocate( cape(klon) ) 1087 allocate( pbase(klon) ) 1088 allocate( bbase(klon) ) 1089 allocate( ibas_con(klon), itop_con(klon)) 1090 allocate( ratqs(klon,klev)) 1091 allocate( sulfate_pi(klon, klev)) 1092 allocate( paire_ter(klon)) 1093 1094 paire_ter(:)=0. 1095 clwcon(:,:)=0. 1096 rnebcon(:,:)=0. 1097 ratqs(:,:)=0. 1098 run_off_lic_0(:)=0. 1099 sollw(:)=0. 1100 ema_work1(:,:)=0. 1101 ema_work2(:,:)=0. 1102 1103 first=.false. 1104 endif 995 1105 c====================================================================== 996 1106 !rv … … 1164 1274 DO i = 1, klon 1165 1275 ibas_con(i) = 1 1166 itop_con(i) = 11276 itop_con(i) = klev+1 1167 1277 ENDDO 1168 1278 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>END … … 1292 1402 c 1293 1403 #ifdef INCA 1404 call VTe(VTphysiq) 1405 call VTb(VTinca) 1294 1406 iii = MOD(NINT(xjour),360) 1295 1407 calday = FLOAT(iii) + gmtime … … 1314 1426 WRITE(lunout,*) 'OK.' 1315 1427 #endif 1428 call VTe(VTinca) 1429 call VTb(VTphysiq) 1316 1430 #endif 1317 1431 c … … 1538 1652 fder = dlw 1539 1653 1540 1654 c$$$ if (mydebug) then 1655 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 1656 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 1657 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 1658 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 1659 c$$$ endif 1660 1541 1661 CALL clmain(dtime,itap,date0,pctsrf,pctsrf_new, 1542 1662 e t_seri,q_seri,u_seri,v_seri, … … 1596 1716 ENDDO 1597 1717 ENDDO 1718 1719 c$$$ if (mydebug) then 1720 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 1721 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 1722 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 1723 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 1724 c$$$ endif 1725 1598 1726 c 1599 1727 IF (if_ebil.ge.2) THEN … … 1833 1961 ENDDO 1834 1962 ENDDO 1963 1964 c$$$ if (mydebug) then 1965 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 1966 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 1967 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 1968 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 1969 c$$$ endif 1835 1970 c 1836 1971 IF (if_ebil.ge.2) THEN … … 2033 2168 s , fs_bound, fq_bound ) 2034 2169 END IF 2170 2171 c$$$ if (mydebug) then 2172 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 2173 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 2174 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 2175 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 2176 c$$$ endif 2177 2035 2178 c 2036 2179 c------------------------------------------------------------------- … … 2252 2395 & boxptop) 2253 2396 2254 2397 2398 if (monocpu) then 2399 2255 2400 c passage de la grille (klon,7,7) a (iim,jjmp1,7,7) 2256 2401 DO l=1, lmaxm1 … … 2301 2446 ENDDO 2302 2447 ENDDO 2448 2449 endif ! monocpu 2303 2450 c 2304 2451 ENDIF !ok_isccp … … 2380 2527 2381 2528 #ifdef INCA 2529 call VTe(VTphysiq) 2530 call VTb(VTinca) 2382 2531 calday = FLOAT(julien) + gmtime 2383 2532 … … 2433 2582 WRITE(lunout,*)'OK.' 2434 2583 #endif 2584 call VTe(VTinca) 2585 call VTb(VTphysiq) 2435 2586 #endif 2436 2587 c … … 2471 2622 . + falblw(i,is_sic) * pctsrf(i,is_sic) 2472 2623 ENDDO 2624 2625 c$$$ if (mydebug) then 2626 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 2627 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 2628 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 2629 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 2630 c$$$ endif 2631 2473 2632 CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS) 2474 2633 e (dist, rmu0, fract, … … 2500 2659 ENDDO 2501 2660 c 2661 c$$$ if (mydebug) then 2662 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 2663 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 2664 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 2665 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 2666 c$$$ endif 2667 2502 2668 IF (if_ebil.ge.2) THEN 2503 2669 ztit='after rad' … … 2585 2751 ENDIF ! fin de test sur ok_orodr 2586 2752 c 2753 c$$$ if (mydebug) then 2754 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 2755 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 2756 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 2757 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 2758 c$$$ endif 2759 2587 2760 IF (ok_orolf) THEN 2588 2761 c … … 2617 2790 ENDIF ! fin de test sur ok_orolf 2618 2791 c 2792 2793 c$$$ if (mydebug) then 2794 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 2795 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 2796 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 2797 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 2798 c$$$ endif 2799 2619 2800 IF (if_ebil.ge.2) THEN 2620 2801 ztit='after orography' … … 2852 3033 c Convertir les incrementations en tendances 2853 3034 c 3035 c$$$ if (mydebug) then 3036 c$$$ call WriteField_phy_p('u_seri',u_seri,llm) 3037 c$$$ call WriteField_phy_p('v_seri',v_seri,llm) 3038 c$$$ call WriteField_phy_p('t_seri',t_seri,llm) 3039 c$$$ call WriteField_phy_p('q_seri',q_seri,llm) 3040 c$$$ endif 3041 2854 3042 DO k = 1, klev 2855 3043 DO i = 1, klon … … 2918 3106 2919 3107 #ifdef INCA 3108 call VTe(VTphysiq) 3109 call VTb(VTinca) 2920 3110 #ifdef INCAINFO 2921 3111 WRITE(lunout,*)'Appel CHEMHOOK_END ...' … … 2945 3135 WRITE(lunout,*)'OK.' 2946 3136 #endif 3137 call VTe(VTinca) 3138 call VTb(VTphysiq) 2947 3139 #endif 2948 3140 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/phystokenc.F
r633 r634 13 13 USE ioipsl 14 14 USE histcom 15 15 USE dimphy 16 USE iophy 16 17 IMPLICIT none 17 18 … … 23 24 c====================================================================== 24 25 #include "dimensions.h" 25 #include "dimphy.h"26 cym#include "dimphy.h" 26 27 #include "tracstoke.h" 27 28 #include "indicesol.h" … … 54 55 REAL pen_d(klon,klev) ! flux entraine dans le panache descendant 55 56 REAL pde_d(klon,klev) ! flux detraine dans le panache descendant 56 real pt(klon,klev),t(klon,klev) 57 real pt(klon,klev) 58 REAL,allocatable,save :: t(:,:) 57 59 c 58 60 REAL rlon(klon), rlat(klon), dtime … … 71 73 real fm_therm1(klon,klev) 72 74 REAL pentr_therm(klon,klev) 73 REAL entr_therm(klon,klev) 74 REAL fm_therm(klon,klev) 75 76 REAL,allocatable,save :: entr_therm(:,:) 77 REAL,allocatable,save :: fm_therm(:,:) 75 78 c 76 79 c Lessivage: … … 88 91 INTEGER i, k 89 92 c 90 REAL mfu(klon,klev) ! flux de masse dans le panache montant 91 REAL mfd(klon,klev) ! flux de masse dans le panache descendant 92 REAL en_u(klon,klev) ! flux entraine dans le panache montant 93 REAL de_u(klon,klev) ! flux detraine dans le panache montant 94 REAL en_d(klon,klev) ! flux entraine dans le panache descendant 95 REAL de_d(klon,klev) ! flux detraine dans le panache descendant 96 REAL coefh(klon,klev) ! flux detraine dans le panache descendant 97 98 REAL pyu1(klon),pyv1(klon) 99 REAL pftsol(klon,nbsrf),ppsrf(klon,nbsrf) 93 REAL,allocatable,save :: mfu(:,:) ! flux de masse dans le panache montant 94 REAL,allocatable,save :: mfd(:,:) ! flux de masse dans le panache descendant 95 REAL,allocatable,save :: en_u(:,:) ! flux entraine dans le panache montant 96 REAL,allocatable,save :: de_u(:,:) ! flux detraine dans le panache montant 97 REAL,allocatable,save :: en_d(:,:) ! flux entraine dans le panache descendant 98 REAL,allocatable,save :: de_d(:,:) ! flux detraine dans le panache descendant 99 REAL,allocatable,save :: coefh(:,:) ! flux detraine dans le panache descendant 100 101 REAL,allocatable,save :: pyu1(:) 102 REAL,allocatable,save :: pyv1(:) 103 REAL,allocatable,save :: pftsol(:,:) 104 REAL,allocatable,save :: ppsrf(:,:) 105 100 106 real pftsol1(klon),pftsol2(klon),pftsol3(klon),pftsol4(klon) 101 107 real ppsrf1(klon),ppsrf2(klon),ppsrf3(klon),ppsrf4(klon) … … 107 113 logical ok_sync 108 114 109 save t,mfu,mfd,en_u,de_u,en_d,de_d,coefh,dtcum 110 save fm_therm,entr_therm 115 save dtcum 111 116 save iadvtr,irec 112 save pyu1,pyv1,pftsol,ppsrf113 117 114 118 data iadvtr,irec/0,1/ 119 logical,save :: first=.true. 115 120 c 116 121 c Couche limite: … … 123 128 print*,'istdyn= ',istdyn 124 129 130 if (first) then 131 132 allocate( t(klon,klev)) 133 allocate( mfu(klon,klev)) 134 allocate( mfd(klon,klev)) 135 allocate( en_u(klon,klev)) 136 allocate( de_u(klon,klev)) 137 allocate( en_d(klon,klev)) 138 allocate( de_d(klon,klev)) 139 allocate( coefh(klon,klev)) 140 allocate( entr_therm(klon,klev)) 141 allocate( fm_therm(klon,klev)) 142 allocate( pyu1(klon)) 143 allocate( pyv1(klon)) 144 allocate( pftsol(klon,nbsrf)) 145 allocate( ppsrf(klon,nbsrf)) 146 147 first=.false. 148 endif 149 125 150 IF (iadvtr.eq.0) THEN 126 151 … … 136 161 ndex3d = 0 137 162 i=itap 138 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)139 CALL histwrite (physid,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)163 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d) 164 CALL histwrite_phy(physid,"phis",i,pphis) 140 165 c 141 166 i=itap 142 CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)143 CALL histwrite (physid,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)167 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d) 168 CALL histwrite_phy(physid,"aire",i,paire) 144 169 145 170 iadvtr=iadvtr+1 … … 247 272 248 273 ccccc 249 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, t, zx_tmp_3d) 250 CALL histwrite(physid,"t",itap,zx_tmp_3d, 251 . iim*(jjm+1)*klev,ndex3d) 252 253 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, mfu, zx_tmp_3d) 254 CALL histwrite(physid,"mfu",itap,zx_tmp_3d, 255 . iim*(jjm+1)*klev,ndex3d) 256 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, mfd, zx_tmp_3d) 257 CALL histwrite(physid,"mfd",itap,zx_tmp_3d, 258 . iim*(jjm+1)*klev,ndex3d) 259 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, en_u, zx_tmp_3d) 260 CALL histwrite(physid,"en_u",itap,zx_tmp_3d, 261 . iim*(jjm+1)*klev,ndex3d) 262 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, de_u, zx_tmp_3d) 263 CALL histwrite(physid,"de_u",itap,zx_tmp_3d, 264 . iim*(jjm+1)*klev,ndex3d) 265 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, en_d, zx_tmp_3d) 266 CALL histwrite(physid,"en_d",itap,zx_tmp_3d, 267 . iim*(jjm+1)*klev,ndex3d) 268 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, de_d, zx_tmp_3d) 269 CALL histwrite(physid,"de_d",itap,zx_tmp_3d, 270 . iim*(jjm+1)*klev,ndex3d) 271 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, coefh, zx_tmp_3d) 272 CALL histwrite(physid,"coefh",itap,zx_tmp_3d, 273 . iim*(jjm+1)*klev,ndex3d) 274 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, t, zx_tmp_3d) 275 CALL histwrite_phy(physid,"t",itap,t) 276 277 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, mfu, zx_tmp_3d) 278 CALL histwrite_phy(physid,"mfu",itap,mfu) 279 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, mfd, zx_tmp_3d) 280 CALL histwrite_phy(physid,"mfd",itap,mfd) 281 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, en_u, zx_tmp_3d) 282 CALL histwrite_phy(physid,"en_u",itap,en_u) 283 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, de_u, zx_tmp_3d) 284 CALL histwrite_phy(physid,"de_u",itap,de_u) 285 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, en_d, zx_tmp_3d) 286 CALL histwrite_phy(physid,"en_d",itap,en_d) 287 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, de_d, zx_tmp_3d) 288 CALL histwrite_phy(physid,"de_d",itap,de_d) 289 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, coefh, zx_tmp_3d) 290 CALL histwrite_phy(physid,"coefh",itap,coefh) 274 291 275 292 c ajou... … … 280 297 enddo 281 298 282 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, fm_therm1, zx_tmp_3d) 283 CALL histwrite(physid,"fm_th",itap,zx_tmp_3d, 284 . iim*(jjm+1)*klev,ndex3d) 285 c 286 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, entr_therm, zx_tmp_3d) 287 CALL histwrite(physid,"en_th",itap,zx_tmp_3d, 288 . iim*(jjm+1)*klev,ndex3d) 299 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, fm_therm1, zx_tmp_3d) 300 CALL histwrite_phy(physid,"fm_th",itap,fm_therm1) 301 c 302 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, entr_therm, zx_tmp_3d) 303 CALL histwrite_phy(physid,"en_th",itap,entr_therm) 289 304 cccc 290 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,frac_impa,zx_tmp_3d) 291 CALL histwrite(physid,"frac_impa",itap,zx_tmp_3d, 292 . iim*(jjm+1)*klev,ndex3d) 293 294 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,frac_nucl,zx_tmp_3d) 295 CALL histwrite(physid,"frac_nucl",itap,zx_tmp_3d, 296 . iim*(jjm+1)*klev,ndex3d) 305 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,frac_impa,zx_tmp_3d) 306 CALL histwrite_phy(physid,"frac_impa",itap,frac_impa) 307 308 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,frac_nucl,zx_tmp_3d) 309 CALL histwrite_phy(physid,"frac_nucl",itap,frac_nucl) 297 310 298 CALL gr_fi_ecrit(1, klon,iim,jjm+1, pyu1,zx_tmp_2d) 299 CALL histwrite(physid,"pyu1",itap,zx_tmp_2d,iim*(jjm+1), 300 . ndex2d) 311 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, pyu1,zx_tmp_2d) 312 CALL histwrite_phy(physid,"pyu1",itap,pyu1) 301 313 302 CALL gr_fi_ecrit(1, klon,iim,jjm+1, pyv1,zx_tmp_2d) 303 CALL histwrite(physid,"pyv1",itap,zx_tmp_2d,iim*(jjm+1) 304 . ,ndex2d) 314 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, pyv1,zx_tmp_2d) 315 CALL histwrite_phy(physid,"pyv1",itap,pyv1) 305 316 306 CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol1, zx_tmp_2d) 307 CALL histwrite(physid,"ftsol1",itap,zx_tmp_2d, 308 . iim*(jjm+1),ndex2d) 309 CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol2, zx_tmp_2d) 310 CALL histwrite(physid,"ftsol2",itap,zx_tmp_2d, 311 . iim*(jjm+1),ndex2d) 312 CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol3, zx_tmp_2d) 313 CALL histwrite(physid,"ftsol3",itap,zx_tmp_2d, 314 . iim*(jjm+1),ndex2d) 315 CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol4, zx_tmp_2d) 316 CALL histwrite(physid,"ftsol4",itap,zx_tmp_2d, 317 . iim*(jjm+1),ndex2d) 318 319 CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf1, zx_tmp_2d) 320 CALL histwrite(physid,"psrf1",itap,zx_tmp_2d, 321 . iim*(jjm+1),ndex2d) 322 CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf2, zx_tmp_2d) 323 CALL histwrite(physid,"psrf2",itap,zx_tmp_2d, 324 . iim*(jjm+1),ndex2d) 325 CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf3, zx_tmp_2d) 326 CALL histwrite(physid,"psrf3",itap,zx_tmp_2d, 327 . iim*(jjm+1),ndex2d) 328 CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf4, zx_tmp_2d) 329 CALL histwrite(physid,"psrf4",itap,zx_tmp_2d, 330 . iim*(jjm+1),ndex2d) 317 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol1, zx_tmp_2d) 318 CALL histwrite_phy(physid,"ftsol1",itap,pftsol1) 319 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol2, zx_tmp_2d) 320 CALL histwrite_phy(physid,"ftsol2",itap,pftsol2) 321 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol3, zx_tmp_2d) 322 CALL histwrite_phy(physid,"ftsol3",itap,pftsol3) 323 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, pftsol4, zx_tmp_2d) 324 CALL histwrite_phy(physid,"ftsol4",itap,pftsol4) 325 326 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf1, zx_tmp_2d) 327 CALL histwrite_phy(physid,"psrf1",itap,ppsrf1) 328 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf2, zx_tmp_2d) 329 CALL histwrite_phy(physid,"psrf2",itap,ppsrf2) 330 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf3, zx_tmp_2d) 331 CALL histwrite_phy(physid,"psrf3",itap,ppsrf3) 332 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1, ppsrf4, zx_tmp_2d) 333 CALL histwrite_phy(physid,"psrf4",itap,ppsrf4) 331 334 332 335 if (ok_sync) call histsync(physid) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/phytrac.F
r633 r634 64 64 65 65 USE ioipsl 66 66 USE dimphy 67 USE comgeomphy 68 USE iophy 69 #ifdef CPP_PARALLEL 70 USE vampir 71 #endif 67 72 #ifdef INCA 68 73 USE sflx … … 76 81 #ifdef INCA_AER 77 82 USE AEROSOL_MOD, only : ntr,trmx,trnx 83 cym USE AEROSOL_DIAG, only : cla,las,tausum,angst,aload,scon 84 cym . ,scavcoef_st,scavcoef_cv 85 cym USE AEROSOL_PROGNOS, ONLY : md 78 86 USE AEROSOL_DIAG,only : cla,las,tausum,angst,aload,cload,totaerh2o,tau, 79 87 $ emiss20,sconc,scavcoef_st,scavcoef_cv … … 103 111 #include "YOMCST.h" 104 112 #include "dimensions.h" 105 #include "dimphy.h"113 cym#include "dimphy.h" 106 114 #include "indicesol.h" 107 115 #include "temps.h" 108 116 #include "paramet.h" 109 117 #include "control.h" 110 #include "comgeomphy.h"118 cym#include "comgeomphy.h" 111 119 #include "advtrac.h" 112 120 c====================================================================== … … 225 233 cAA ................................................ 226 234 227 REAL trs(klon,nbtr) ! Conc. radon ds le sol 228 SAVE trs 229 230 REAL masktr(klon,nbtr) ! Masque reservoir de sol traceur 235 REAL,save,allocatable :: trs(:,:) ! Conc. radon ds le sol 236 cym SAVE trs 237 REAL :: trs_tmp(klon2) 238 239 REAL,save,allocatable :: masktr(:,:) ! Masque reservoir de sol traceur 231 240 c Masque de l'echange avec la surface 232 241 c (1 = reservoir) ou (possible => 1 ) 233 SAVE masktr234 REAL fshtr(klon,nbtr) ! Flux surfacique dans le reservoir de sol235 SAVE fshtr236 REAL hsoltr(nbtr) ! Epaisseur equivalente du reservoir de sol237 SAVE hsoltr238 REAL tautr(nbtr) ! Constante de decroissance radioactive239 SAVE tautr240 REAL vdeptr(nbtr) ! Vitesse de depot sec dans la couche Brownienne241 SAVE vdeptr242 REAL scavtr(nbtr) ! Coefficient de lessivage243 SAVE scavtr242 cym SAVE masktr 243 REAL,save,allocatable :: fshtr(:,:) ! Flux surfacique dans le reservoir de sol 244 cym SAVE fshtr 245 REAL,save,allocatable :: hsoltr(:) ! Epaisseur equivalente du reservoir de sol 246 cym SAVE hsoltr 247 REAL,save,allocatable :: tautr(:) ! Constante de decroissance radioactive 248 cym SAVE tautr 249 REAL,save,allocatable :: vdeptr(:) ! Vitesse de depot sec dans la couche Brownienne 250 cym SAVE vdeptr 251 REAL,save,allocatable :: scavtr(:) ! Coefficient de lessivage 252 cym SAVE scavtr 244 253 cAA 245 254 CHARACTER*2 itn … … 273 282 C nature du traceur 274 283 c 275 logical aerosol(nbtr) ! Nature du traceur284 logical,save,allocatable :: aerosol(:) ! Nature du traceur 276 285 c ! aerosol(it) = true => aerosol 277 286 c ! aerosol(it) = false => gaz 278 287 c ! nat_trac(it) = 1. aerosol 279 logical clsol(nbtr) ! clsol(it) = true => CL sol calculee280 logical radio(nbtr) ! radio(it)=true => decroisssance radioactive281 save aerosol,clsol,radio288 logical,save,allocatable :: clsol(:) ! clsol(it) = true => CL sol calculee 289 logical,save,allocatable :: radio(:) ! radio(it)=true => decroisssance radioactive 290 cym save aerosol,clsol,radio 282 291 C 283 292 c====================================================================== … … 298 307 REAL d_tr(klon,klev), d_trs(klon) ! tendances de traceurs 299 308 REAL d_tr_cl(klon,klev,nbtr) ! tendance de traceurs couche limite 300 REAL d_tr_cv(klon,klev,nbtr) ! tendance de traceurs conv pour chq traceur 309 REAL d_tr_cli(klon,klev,nbtr) ! tendance de traceurs CL pour chq traceur 310 REAL d_tr_cv(klon,klev,nbtr) ! tendance de traceurs convection 311 REAL d_tr_cvi(klon,klev,nbtr) ! tendance de traceurs conv pour chq traceur 301 312 REAL d_tr_th(klon,klev,nbtr) ! la tendance des thermiques 302 313 REAL d_tr_dec(klon,klev,nbtr) ! la tendance de la decroissance … … 367 378 #endif 368 379 . /) 369 370 371 REAL, PARAMETER :: dry_mass = 28.966 372 REAL, POINTER :: hbuf(:) 373 REAL, ALLOCATABLE :: obuf(:) 374 REAL :: calday 375 REAL :: pdel(klon,klev) 376 REAL :: dummy(klon,klev) = 0. 377 #endif 378 #ifdef INCA_AER 379 integer la 380 dummy(:,:)=0. 380 381 #endif 381 382 c … … 386 387 387 388 if (debutphy) then 389 allocate( trs(klon,nbtr) ) 390 allocate( masktr(klon,nbtr)) 391 allocate( fshtr(klon,nbtr) ) 392 allocate( hsoltr(nbtr)) 393 allocate( tautr(nbtr)) 394 allocate( vdeptr(nbtr)) 395 allocate( scavtr(nbtr)) 396 allocate( aerosol(nbtr)) 397 allocate( clsol(nbtr)) 398 allocate( radio(nbtr)) 388 399 389 400 ecrit_tra = NINT(86400./pdtphys *ecritphy) … … 416 427 c print*,'valeur de debut dans phytrac :',debutphy 417 428 trs(:,:) = 0. 418 419 open (99,file='starttrac',status='old', 429 430 if (phy_rank==0) then 431 trs_tmp(:)=0. 432 open (99,file='starttrac',status='old', 420 433 . err=999,form='formatted') 421 read(99,*) (trs (i,1),i=1,klon)434 read(99,*) (trs_tmp(i),i=1,klon2) 422 435 999 close(99) 436 endif 437 call ScatterField(trs_tmp,trs(:,1),1) 423 438 c print*, 'apres starttrac' 424 439 … … 451 466 endif 452 467 #ifdef INCA 468 call VTe(VTphysiq) 469 call VTb(VTinca) 453 470 !====================================================================== 454 471 ! Chimie … … 539 556 END DO 540 557 #endif 558 call VTe(VTinca) 559 call VTb(VTphysiq) 541 560 #else 542 561 … … 861 880 if (lafin) then 862 881 print*, 'c est la fin de la physique' 863 open (99,file='restarttrac', form='formatted') 864 do i=1,klon 865 write(99,*) trs(i,1) 866 enddo 867 PRINT*, 'Ecriture du fichier restarttrac' 868 close(99) 882 883 call GatherField(trs(:,1),trs_tmp,1) 884 if (phy_rank==0) then 885 886 open (99,file='restarttrac', form='formatted') 887 do i=1,klon 888 write(99,*) trs_tmp(i) 889 enddo 890 PRINT*, 'Ecriture du fichier restarttrac' 891 close(99) 892 endif 869 893 else 870 894 print*, 'physique pas fini' -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/raddim.h
r633 r634 1 1 ! 2 ! $Header 2 ! $Header$ 3 3 ! 4 4 INTEGER kdlon, kflev 5 PARAMETER (kdlon= klon,kflev=klev)5 PARAMETER (kdlon=149,kflev=klev) -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/radiornpb.F
r524 r634 3 3 ! 4 4 SUBROUTINE radiornpb(tr,dtime,tautr,d_tr) 5 USE dimphy 5 6 IMPLICIT none 6 7 c====================================================================== … … 12 13 c Arguments: 13 14 c====================================================================== 14 #include "dimensions.h"15 #include "dimphy.h"15 cym#include "dimensions.h" 16 cym#include "dimphy.h" 16 17 c====================================================================== 17 18 C -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/radlwsw.F
r633 r634 16 16 . cldtaupi, topswai, solswai) 17 17 c 18 USE dimphy 18 19 IMPLICIT none 19 20 c====================================================================== … … 69 70 70 71 c====================================================================== 71 #include "dimensions.h"72 #include "dimphy.h"73 #include "raddim.h"72 cym#include "dimensions.h" 73 cym#include "dimphy.h" 74 cym#include "raddim.h" 74 75 #include "YOETHF.h" 75 76 c … … 428 429 S PTOPSWAD,PSOLSWAD,PTOPSWAI,PSOLSWAI, 429 430 J ok_ade, ok_aie ) 430 431 USE dimphy 431 432 IMPLICIT none 432 433 433 #include "dimensions.h"434 #include "dimphy.h"435 #include "raddim.h"434 cym#include "dimensions.h" 435 cym#include "dimphy.h" 436 cym#include "raddim.h" 436 437 #include "YOMCST.h" 437 438 C … … 547 548 REAL*8 PSOLSWAI(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND) 548 549 cjq - Fluxes including aerosol effects 549 REAL*8 ZFSUPAD(KDLON,KFLEV+1)550 REAL*8 ZFSDNAD(KDLON,KFLEV+1)551 REAL*8 ZFSUPAI(KDLON,KFLEV+1)552 REAL*8 ZFSDNAI(KDLON,KFLEV+1)550 REAL*8,allocatable,save :: ZFSUPAD(:,:) 551 REAL*8,allocatable,save :: ZFSDNAD(:,:) 552 REAL*8,allocatable,save :: ZFSUPAI(:,:) 553 REAL*8,allocatable,save :: ZFSDNAI(:,:) 553 554 logical initialized 554 SAVE ZFSUPAD, ZFSDNAD, ZFSUPAI, ZFSDNAI ! aerosol fluxes555 cym SAVE ZFSUPAD, ZFSDNAD, ZFSUPAI, ZFSDNAI ! aerosol fluxes 555 556 !rv 556 557 save flag_aer … … 560 561 flag_aer=0. 561 562 initialized=.TRUE. 563 allocate(ZFSUPAD(KDLON,KFLEV+1)) 564 allocate(ZFSDNAD(KDLON,KFLEV+1)) 565 allocate(ZFSUPAI(KDLON,KFLEV+1)) 566 allocate(ZFSDNAI(KDLON,KFLEV+1)) 567 ZFSUPAD(:,:)=0. 568 ZFSDNAD(:,:)=0. 569 ZFSUPAI(:,:)=0. 570 ZFSDNAI(:,:)=0. 571 562 572 endif 563 573 !rv … … 735 745 S PTAVE,PWV,PAKI,PCLD,PCLEAR,PDSIG,PFACT, 736 746 S PRMU,PSEC,PUD) 747 USE dimphy 737 748 IMPLICIT none 738 #include "dimensions.h"739 #include "dimphy.h"740 #include "raddim.h"749 cym#include "dimensions.h" 750 cym#include "dimphy.h" 751 cym#include "raddim.h" 741 752 #include "radepsi.h" 742 753 #include "radopt.h" … … 925 936 S , PDSIG , POMEGA, POZ , PRMU , PSEC , PTAU , PUD 926 937 S , PFD , PFU) 938 USE dimphy 927 939 IMPLICIT none 928 #include "dimensions.h"929 #include "dimphy.h"930 #include "raddim.h"940 cym#include "dimensions.h" 941 cym#include "dimphy.h" 942 cym#include "raddim.h" 931 943 C 932 944 C ------------------------------------------------------------------ … … 1165 1177 S , PUD ,PWV , PQS 1166 1178 S , PFDOWN,PFUP ) 1179 USE dimphy 1167 1180 IMPLICIT none 1168 #include "dimensions.h"1169 #include "dimphy.h"1170 #include "raddim.h"1181 cym#include "dimensions.h" 1182 cym#include "dimphy.h" 1183 cym#include "raddim.h" 1171 1184 #include "radepsi.h" 1172 1185 C … … 1711 1724 S , PCGAZ , PPIZAZ, PRAY1 , PRAY2 , PREFZ , PRJ 1712 1725 S , PRK , PRMU0 , PTAUAZ, PTRA1 , PTRA2 ) 1726 USE dimphy 1713 1727 IMPLICIT none 1714 #include "dimensions.h"1715 #include "dimphy.h"1716 #include "raddim.h"1728 cym#include "dimensions.h" 1729 cym#include "dimphy.h" 1730 cym#include "raddim.h" 1717 1731 #include "radepsi.h" 1718 1732 #include "radopt.h" … … 2071 2085 S , PCGAZ , PPIZAZ, PRAY1, PRAY2, PREFZ , PRJ , PRK , PRMUE 2072 2086 S , PTAUAZ, PTRA1 , PTRA2 ) 2087 USE dimphy 2073 2088 IMPLICIT none 2074 #include "dimensions.h"2075 #include "dimphy.h"2076 #include "raddim.h"2089 cym#include "dimensions.h" 2090 cym#include "dimphy.h" 2091 cym#include "raddim.h" 2077 2092 #include "radepsi.h" 2078 2093 #include "radopt.h" … … 2427 2442 SUBROUTINE SWDE (PGG,PREF,PRMUZ,PTO1,PW, 2428 2443 S PRE1,PRE2,PTR1,PTR2) 2444 USE dimphy 2429 2445 IMPLICIT none 2430 #include "dimensions.h"2431 #include "dimphy.h"2432 #include "raddim.h"2446 cym#include "dimensions.h" 2447 cym#include "dimphy.h" 2448 cym#include "raddim.h" 2433 2449 C 2434 2450 C ------------------------------------------------------------------ … … 2558 2574 END 2559 2575 SUBROUTINE SWTT (KNU,KA,PU,PTR) 2576 USE dimphy 2560 2577 IMPLICIT none 2561 #include "dimensions.h"2562 #include "dimphy.h"2563 #include "raddim.h"2578 cym#include "dimensions.h" 2579 cym#include "dimphy.h" 2580 cym#include "raddim.h" 2564 2581 C 2565 2582 C----------------------------------------------------------------------- … … 2674 2691 END 2675 2692 SUBROUTINE SWTT1(KNU,KABS,KIND, PU, PTR) 2693 USE dimphy 2676 2694 IMPLICIT none 2677 #include "dimensions.h"2678 #include "dimphy.h"2679 #include "raddim.h"2695 cym#include "dimensions.h" 2696 cym#include "dimphy.h" 2697 cym#include "raddim.h" 2680 2698 C 2681 2699 C----------------------------------------------------------------------- … … 2806 2824 cIM . ptoplwdown,ptoplwdownclr) 2807 2825 . plwup, plwdn, plwup0, plwdn0) 2826 USE dimphy 2808 2827 IMPLICIT none 2809 #include "dimensions.h"2810 #include "dimphy.h"2811 #include "raddim.h"2828 cym#include "dimensions.h" 2829 cym#include "dimphy.h" 2830 cym#include "raddim.h" 2812 2831 #include "raddimlw.h" 2813 2832 #include "YOMCST.h" … … 2884 2903 REAL*8 ZOZ(KDLON,KFLEV) 2885 2904 c 2886 REAL*8 ZFLUX(KDLON,2,KFLEV+1) ! RADIATIVE FLUXES (1:up; 2:down) 2887 REAL*8 ZFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES 2888 REAL*8 ZBINT(KDLON,KFLEV+1) ! Intermediate variable 2889 REAL*8 ZBSUI(KDLON) ! Intermediate variable 2890 REAL*8 ZCTS(KDLON,KFLEV) ! Intermediate variable 2891 REAL*8 ZCNTRB(KDLON,KFLEV+1,KFLEV+1) ! Intermediate variable 2892 SAVE ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB 2905 cym REAL*8 ZFLUX(KDLON,2,KFLEV+1) ! RADIATIVE FLUXES (1:up; 2:down) 2906 cym REAL*8 ZFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES 2907 cym REAL*8 ZBINT(KDLON,KFLEV+1) ! Intermediate variable 2908 cym REAL*8 ZBSUI(KDLON) ! Intermediate variable 2909 cym REAL*8,ZCTS(KDLON,KFLEV) ! Intermediate variable 2910 cym REAL*8 ZCNTRB(KDLON,KFLEV+1,KFLEV+1) ! Intermediate variable 2911 cym SAVE ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB 2912 REAL*8,allocatable,save :: ZFLUX(:,:,:) ! RADIATIVE FLUXES (1:up; 2:down) 2913 REAL*8,allocatable,save :: ZFLUC(:,:,:) ! CLEAR-SKY RADIATIVE FLUXES 2914 REAL*8,allocatable,save :: ZBINT(:,:) ! Intermediate variable 2915 REAL*8,allocatable,save :: ZBSUI(:) ! Intermediate variable 2916 REAL*8,allocatable,save :: ZCTS(:,:) ! Intermediate variable 2917 REAL*8,allocatable,save :: ZCNTRB(:,:,:) ! Intermediate variable 2893 2918 c 2894 2919 INTEGER ilim, i, k, kpl1 … … 2909 2934 PRINT*, "LW cloudy-sky calling frequency: ", lwpas 2910 2935 PRINT*, " In general, they should be 1" 2936 cym 2937 allocate(ZFLUX(KDLON,2,KFLEV+1) ) 2938 allocate(ZFLUC(KDLON,2,KFLEV+1) ) 2939 allocate(ZBINT(KDLON,KFLEV+1)) 2940 allocate(ZBSUI(KDLON)) 2941 allocate(ZCTS(KDLON,KFLEV)) 2942 allocate(ZCNTRB(KDLON,KFLEV+1,KFLEV+1)) 2911 2943 appel1er=.FALSE. 2912 2944 ENDIF … … 2973 3005 S PAER,PDP,PPMB,PPSOL,POZ,PTAVE,PVIEW,PWV, 2974 3006 S PABCU) 3007 USE dimphy 2975 3008 IMPLICIT none 2976 #include "dimensions.h"2977 #include "dimphy.h"2978 #include "raddim.h"3009 cym#include "dimensions.h" 3010 cym#include "dimphy.h" 3011 cym#include "raddim.h" 2979 3012 #include "raddimlw.h" 2980 3013 #include "YOMCST.h" … … 3366 3399 SUBROUTINE LWBV(KLIM,PDP,PDT0,PEMIS,PPMB,PTL,PTAVE,PABCU, 3367 3400 S PFLUC,PBINT,PBSUI,PCTS,PCNTRB) 3401 USE dimphy 3368 3402 IMPLICIT none 3369 #include "dimensions.h"3370 #include "dimphy.h"3371 #include "raddim.h"3403 cym#include "dimensions.h" 3404 cym#include "dimphy.h" 3405 cym#include "raddim.h" 3372 3406 #include "raddimlw.h" 3373 3407 #include "YOMCST.h" … … 3457 3491 R PBINT,PBSUIN,PCTS,PCNTRB, 3458 3492 S PFLUX) 3493 USE dimphy 3459 3494 IMPLICIT none 3460 #include "dimensions.h"3461 #include "dimphy.h"3462 #include "raddim.h"3495 cym#include "dimensions.h" 3496 cym#include "dimphy.h" 3497 cym#include "raddim.h" 3463 3498 #include "radepsi.h" 3464 3499 #include "radopt.h" … … 3862 3897 S , PB,PBINT,PBSUIN,PBSUR,PBTOP,PDBSL 3863 3898 S , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP) 3899 USE dimphy 3864 3900 IMPLICIT none 3865 #include "dimensions.h"3866 #include "dimphy.h"3867 #include "raddim.h"3901 cym#include "dimensions.h" 3902 cym#include "dimphy.h" 3903 cym#include "raddim.h" 3868 3904 #include "raddimlw.h" 3869 3905 C … … 5273 5309 R , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP 5274 5310 S , PCNTRB,PCTS,PFLUC) 5311 USE dimphy 5275 5312 IMPLICIT none 5276 #include "dimensions.h"5277 #include "dimphy.h"5278 #include "raddim.h"5313 cym#include "dimensions.h" 5314 cym#include "dimphy.h" 5315 cym#include "raddim.h" 5279 5316 #include "raddimlw.h" 5280 5317 #include "YOMCST.h" … … 5386 5423 R , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP 5387 5424 S , PCTS,PFLUC) 5425 USE dimphy 5388 5426 IMPLICIT none 5389 #include "dimensions.h"5390 #include "dimphy.h"5391 #include "raddim.h"5427 cym#include "dimensions.h" 5428 cym#include "dimphy.h" 5429 cym#include "raddim.h" 5392 5430 #include "raddimlw.h" 5393 5431 #include "radopt.h" … … 5718 5756 R , PGA,PGB 5719 5757 S , PCNTRB,PDISD,PDISU) 5758 USE dimphy 5720 5759 IMPLICIT none 5721 #include "dimensions.h"5722 #include "dimphy.h"5723 #include "raddim.h"5760 cym#include "dimensions.h" 5761 cym#include "dimphy.h" 5762 cym#include "raddim.h" 5724 5763 #include "raddimlw.h" 5725 5764 C … … 5970 6009 R , PABCU,PDBSL,PGA,PGB 5971 6010 S , PADJD,PADJU,PCNTRB,PDBDT) 6011 USE dimphy 5972 6012 IMPLICIT none 5973 #include "dimensions.h"5974 #include "dimphy.h"5975 #include "raddim.h"6013 cym#include "dimensions.h" 6014 cym#include "dimphy.h" 6015 cym#include "raddim.h" 5976 6016 #include "raddimlw.h" 5977 6017 C … … 6177 6217 END 6178 6218 SUBROUTINE LWTT(PGA,PGB,PUU, PTT) 6219 USE dimphy 6179 6220 IMPLICIT none 6180 #include "dimensions.h"6181 #include "dimphy.h"6182 #include "raddim.h"6221 cym#include "dimensions.h" 6222 cym#include "dimphy.h" 6223 cym#include "raddim.h" 6183 6224 #include "raddimlw.h" 6184 6225 C … … 6352 6393 END 6353 6394 SUBROUTINE LWTTM(PGA,PGB,PUU1,PUU2, PTT) 6395 USE dimphy 6354 6396 IMPLICIT none 6355 #include "dimensions.h"6356 #include "dimphy.h"6357 #include "raddim.h"6397 cym#include "dimensions.h" 6398 cym#include "dimphy.h" 6399 cym#include "raddim.h" 6358 6400 #include "raddimlw.h" 6359 6401 C -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/readsulfate.F
r524 r634 2 2 ! $Header$ 3 3 ! 4 SUBROUTINE readsulfate (r_day, first, sulfate )5 4 SUBROUTINE readsulfate (r_day, first, sulfate_p) 5 USE dimphy, klon=>klon2,klon2=>klon 6 6 IMPLICIT none 7 7 … … 34 34 #include "chem.h" 35 35 #include "dimensions.h" 36 #include "dimphy.h"36 cym#include "dimphy.h" 37 37 #include "temps.h" 38 38 c 39 39 c Input: 40 40 c ------ 41 REAL *8r_day ! Day of integration41 REAL r_day ! Day of integration 42 42 LOGICAL first ! First timestep 43 43 ! (and therefore initialization necessary) … … 45 45 c Output: 46 46 c ------- 47 REAL*8 sulfate (klon, klev) ! Mass of sulfate (monthly mean data, 48 ! from file) [ug SO4/m3] 49 c 47 c$$$ REAL*8 sulfate_p(klon2,klev) 48 c$$$ REAL*8 sulfate (klon, klev) ! Mass of sulfate (monthly mean data, 49 c$$$ ! from file) [ug SO4/m3] 50 REAL sulfate_p(klon2,klev) 51 REAL sulfate (klon, klev) ! Mass of sulfate (monthly mean data, 52 ! from file) [ug SO4/m3]c 50 53 c Local Variables: 51 54 c ---------------- … … 62 65 REAL*8 so4_2(iim, jjm+1, klev, 12) ! The sulfate distributions 63 66 64 REAL*8 so4(klon, klev, 12) ! SO4 in right dimension 65 SAVE so4 66 REAL*8 so4_out(klon, klev) 67 SAVE so4_out 67 cym REAL*8 so4(klon, klev, 12) ! SO4 in right dimension 68 cym SAVE so4 69 cym REAL*8 so4_out(klon, klev) 70 cym SAVE so4_out 71 72 REAL*8,allocatable,save :: so4(:, :, :) ! SO4 in right dimension 73 REAL*8,allocatable,save :: so4_out(:, :) 68 74 69 75 LOGICAL lnewday 70 76 LOGICAL lonlyone 71 77 PARAMETER (lonlyone=.FALSE.) 72 78 logical,save :: first2=.true. 79 80 if (first2) then 81 82 allocate( so4(klon, klev, 12) ) 83 allocate( so4_out(klon, klev)) 84 85 first2=.false. 86 87 endif 88 89 if (phy_rank==0) then 90 73 91 iday = INT(r_day) 74 92 … … 249 267 250 268 ENDIF ! Did I have to do anything (was it a new day?) 251 269 270 endif ! phy_rank==0 271 272 call ScatterField(sulfate,sulfate_p,klev) 273 252 274 RETURN 253 275 END … … 261 283 c----------------------------------------------------------------------------- 262 284 263 SUBROUTINE readsulfate_preind (r_day, first, pi_sulfate )264 285 SUBROUTINE readsulfate_preind (r_day, first, pi_sulfate_p) 286 USE dimphy, klon=>klon2,klon2=>klon 265 287 IMPLICIT none 266 288 … … 289 311 #include "chem.h" 290 312 #include "dimensions.h" 291 #include "dimphy.h"313 cym#include "dimphy.h" 292 314 #include "temps.h" 293 315 c 294 316 c Input: 295 317 c ------ 296 REAL *8r_day ! Day of integration318 REAL r_day ! Day of integration 297 319 LOGICAL first ! First timestep 298 320 ! (and therefore initialization necessary) … … 300 322 c Output: 301 323 c ------- 302 REAL*8 pi_sulfate (klon, klev) ! Number conc. sulfate (monthly mean data, 303 ! from file) 324 REAL pi_sulfate_p (klon2, klev) 325 REAL pi_sulfate (klon, klev) ! Number conc. sulfate 326 ! (monthly mean data, 304 327 c 305 328 c Local Variables: … … 311 334 INTEGER im, day1, day2, im2, ismaller 312 335 REAL*8 pi_so4_1(iim, jjm+1, klev, 12) 313 314 REAL*8 pi_so4(klon, klev, 12) ! SO4 in right dimension 315 SAVE pi_so4 316 REAL*8 pi_so4_out(klon, klev) 317 SAVE pi_so4_out 336 337 cym REAL*8 pi_so4(klon, klev, 12) ! SO4 in right dimension 338 cym SAVE pi_so4 339 cym REAL*8 pi_so4_out(klon, klev) 340 cym SAVE pi_so4_out 341 342 REAL*8,allocatable,save :: pi_so4(:, :, :) ! SO4 in right dimension 343 REAL*8,allocatable,save :: pi_so4_out(:, :) 344 318 345 319 346 CHARACTER*4 cyear 320 347 LOGICAL lnewday 321 348 logical,save :: first2=.true. 349 350 if (first2) then 351 352 allocate( pi_so4(klon, klev, 12) ) 353 allocate( pi_so4_out(klon, klev)) 354 355 first2=.false. 356 357 endif 358 359 if (phy_rank==0) then 360 322 361 323 362 … … 463 502 464 503 ENDIF ! Was this the beginning of a new day? 504 505 endif ! phy_rank==0 506 507 call ScatterField(pi_sulfate,pi_sulfate_p,klev) 508 509 465 510 RETURN 466 511 END -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/soil.F
r524 r634 4 4 SUBROUTINE soil(ptimestep, indice, knon, snow, ptsrf, ptsoil, 5 5 s pcapcal, pfluxgrd) 6 use dimphy 6 7 IMPLICIT NONE 7 8 … … 49 50 c ------------- 50 51 51 #include "dimensions.h"52 cym#include "dimensions.h" 52 53 #include "YOMCST.h" 53 #include "dimphy.h"54 cym#include "dimphy.h" 54 55 #include "dimsoil.h" 55 56 #include "indicesol.h" … … 78 79 REAL dz1(nsoilmx),dz2(nsoilmx) 79 80 c$$$ REAL zc(klon,nsoilmx),zd(klon,nsoilmx) 80 REAL zc(klon,nsoilmx,nbsrf),zd(klon,nsoilmx,nbsrf) 81 cym REAL zc(klon,nsoilmx,nbsrf),zd(klon,nsoilmx,nbsrf) 82 REAL,ALLOCATABLE,SAVE :: zc(:,:,:),zd(:,:,:) 81 83 REAL lambda 82 SAVE dz1,dz2,zc,zd,lambda 84 cym SAVE dz1,dz2,zc,zd,lambda 85 SAVE dz1,dz2,lambda 83 86 LOGICAL firstcall, firstsurf(nbsrf) 84 87 SAVE firstcall, firstsurf … … 90 93 91 94 DATA isol,isno,iice/2000.,2000.,2000./ 92 95 LOGICAL,SAVE :: First=.true. 93 96 c----------------------------------------------------------------------- 94 97 c Depthts: … … 103 106 c on corrige si on a un point de terre avec ou sans glace 104 107 c 108 IF (first) THEN 109 allocate(zc(klon,nsoilmx,nbsrf),zd(klon,nsoilmx,nbsrf)) 110 first=.false. 111 ENDIF 112 105 113 IF (indice.EQ.is_sic) THEN 106 114 DO ig = 1, knon -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/thermcell.F
r633 r634 6 6 c s ,pu_therm,pv_therm 7 7 s ,r_aspect,l_mix,w2di,tho) 8 8 USE dimphy 9 9 IMPLICIT NONE 10 10 … … 33 33 c ------------- 34 34 35 #include "dimensions.h"36 #include "dimphy.h"35 cym#include "dimensions.h" 36 cym#include "dimphy.h" 37 37 #include "YOMCST.h" 38 38 … … 85 85 real fracc(klon,klev+1) 86 86 real zf,zf2 87 real thetath2(klon,klev),wth2(klon,klev)88 common/comtherm/thetath2,wth287 real,allocatable,save :: thetath2(:,:),wth2(:,:) 88 cym common/comtherm/thetath2,wth2 89 89 90 90 real count_time … … 132 132 save ncorrec 133 133 data ncorrec/0/ 134 134 logical,save :: firstCall=.true. 135 135 c 136 136 c----------------------------------------------------------------------- … … 138 138 c --------------- 139 139 c 140 if (firstcall) then 141 allocate(thetath2(klon,klev),wth2(klon,klev)) 142 thetath2(:,:)=0. 143 wth2(:,:)=0. 144 firstcall=.false. 145 endif 146 140 147 sorties=.true. 141 148 IF(ngrid.NE.klon) THEN … … 979 986 subroutine dqthermcell(ngrid,nlay,ptimestep,fm,entr,masse 980 987 . ,q,dq,qa) 988 use dimphy 981 989 implicit none 982 990 … … 989 997 c======================================================================= 990 998 991 #include "dimensions.h"992 #include "dimphy.h"999 cym#include "dimensions.h" 1000 cym#include "dimphy.h" 993 1001 994 1002 integer ngrid,nlay … … 1053 1061 . ,fraca,larga 1054 1062 . ,u,v,du,dv,ua,va) 1063 use dimphy 1055 1064 implicit none 1056 1065 … … 1063 1072 c======================================================================= 1064 1073 1065 #include "dimensions.h"1066 #include "dimphy.h"1074 cym#include "dimensions.h" 1075 cym#include "dimphy.h" 1067 1076 1068 1077 integer ngrid,nlay … … 1166 1175 subroutine dqthermcell2(ngrid,nlay,ptimestep,fm,entr,masse,frac 1167 1176 . ,q,dq,qa) 1177 use dimphy 1168 1178 implicit none 1169 1179 … … 1176 1186 c======================================================================= 1177 1187 1178 #include "dimensions.h"1179 #include "dimphy.h"1188 cym#include "dimensions.h" 1189 cym#include "dimphy.h" 1180 1190 1181 1191 integer ngrid,nlay … … 1246 1256 . ,fraca,larga 1247 1257 . ,u,v,du,dv,ua,va) 1258 use dimphy 1248 1259 implicit none 1249 1260 … … 1256 1267 c======================================================================= 1257 1268 1258 #include "dimensions.h"1259 #include "dimphy.h"1269 cym#include "dimensions.h" 1270 cym#include "dimphy.h" 1260 1271 1261 1272 integer ngrid,nlay -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/transp.F
r524 r634 5 5 e t, q, u, v, geom, 6 6 s vtran_e, vtran_q, utran_e, utran_q) 7 c 7 c 8 USE dimphy 8 9 IMPLICIT none 9 10 c====================================================================== … … 13 14 c====================================================================== 14 15 c 15 #include "dimensions.h"16 #include "dimphy.h"16 cym#include "dimensions.h" 17 cym#include "dimphy.h" 17 18 #include "YOMCST.h" 18 19 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/ustarhb.F
r633 r634 3 3 ! 4 4 SUBROUTINE ustarhb(knon,u,v,cd_m, ustar) 5 use dimphy 5 6 IMPLICIT none 6 7 c====================================================================== … … 17 18 c model. J. of Climate, vol. 6, 1825-1842. 18 19 c====================================================================== 19 #include "dimensions.h"20 #include "dimphy.h"20 cym#include "dimensions.h" 21 cym#include "dimphy.h" 21 22 #include "YOMCST.h" 22 23 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/vdif_kcay.F
r633 r634 5 5 s ,zlev,zlay,u,v,teta,cd,q2,q2diag,km,kn,ustar 6 6 s ,l_mix) 7 use dimphy 7 8 IMPLICIT NONE 8 9 c....................................................................... 9 #include "dimensions.h"10 #include "dimphy.h"10 cym#include "dimensions.h" 11 cym#include "dimphy.h" 11 12 c....................................................................... 12 13 c … … 195 196 PARAMETER (q2min=1.e-5) 196 197 PARAMETER (q2max=1.E+2) 197 PARAMETER (nlay=klev)198 PARAMETER (nlev=klev+1)198 cym PARAMETER (nlay=klev) 199 cym PARAMETER (nlev=klev+1) 199 200 c 200 201 PARAMETER ( … … 226 227 c 227 228 c Initialisation de q2 228 229 nlay=klev 230 nlev=klev+1 231 229 232 call yamada(ngrid,dt,g,rconst,plev,temp 230 233 s ,zlev,zlay,u,v,teta,cd,q2diag,km,kn,ustar -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/wrgradsfi.F
r524 r634 2 2 ! $Header$ 3 3 ! 4 subroutine wrgradsfi(if,nl,fieldfi,name,titlevar) 4 subroutine wrgradsfi(if,nl,fieldfi_p,name,titlevar) 5 use dimphy 5 6 implicit none 6 7 … … 8 9 9 10 #include "dimensions.h" 10 #include "dimphy.h"11 cym#include "dimphy.h" 11 12 12 13 c arguments 13 14 integer if,nl 14 real fieldfi(klon,nl) 15 real fieldfi_p(klon,nl) 16 real fieldfi(klon2,nl) 15 17 real fielddyn((iim+1)*(jjm+1),llm) 16 18 character*10 name … … 24 26 25 27 c print*,'Transformation pour ',name 26 call gr_fi_dyn(nl,klon,iim+1,jjm+1,fieldfi,fielddyn) 28 call GatherField(fieldfi_p,fieldfi,nl) 29 30 if (phy_rank==0) then 31 call gr_fi_dyn(nl,klon,iim+1,jjm+1,fieldfi,fielddyn) 27 32 c print*,'Transformation OK ' 28 call wrgrads(if,nl,fielddyn,name,titlevar)33 call wrgrads(if,nl,fielddyn,name,titlevar) 29 34 c print*,'Ecriture ok' 30 35 endif 36 31 37 return 32 38 end -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histISCCP.h
r524 r634 11 11 DO k=1,kmaxm1 12 12 zx_tmp_fi3d(1:klon, 1:lmaxm1)=fq_isccp(1:klon,k,1:lmaxm1)*100. 13 CALL gr_fi_ecrit(lmaxm1,klon,iim,jjmp1,zx_tmp_fi3d,14 . zx_tmp_3d)13 cym CALL gr_fi_ecrit(lmaxm1,klon,iim,jjmp1,zx_tmp_fi3d, 14 cym . zx_tmp_3d) 15 15 c 16 16 cIM: champ 3d : (lon,lat,pres) pour un tau fixe 17 17 c 18 CALL histwrite (nid_isccp,"cldISCCP_"//taulev(k),itau_w,19 . zx_tmp_ 3d,iim*jjmp1*lmaxm1,ndex3d)18 CALL histwrite_phy(nid_isccp,"cldISCCP_"//taulev(k),itau_w, 19 . zx_tmp_fi3d) 20 20 ENDDO !k 21 21 c 22 CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:),zx_tmp_2d) 23 CALL histwrite(nid_isccp,"nsunlit",itau_w, 24 . zx_tmp_2d,iim*jjmp1,ndex2d) 22 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:),zx_tmp_2d) 23 CALL histwrite_phy(nid_isccp,"nsunlit",itau_w,nbsunlit(1,:)) 25 24 c 26 25 if (ok_sync) then -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histREGDYN.h
r524 r634 3 3 ! 4 4 if (ok_regdyn) then 5 6 if (monocpu) then 5 7 6 8 c Comprendre comment marche el i=nint(zout/zsto) … … 66 68 call histsync(nid_regdyn) 67 69 endif 70 71 endif ! monocpu 68 72 69 73 endif -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histday.h
r633 r634 14 14 15 15 i = NINT(zout/zsto) 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)16 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 17 17 c 18 18 IF(lev_histday.GE.1) THEN 19 19 c 20 CALL histwrite (nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)20 CALL histwrite_phy(nid_day,"phis",itau_w,pphis) 21 21 varname = 'phis' 22 22 vartitle= 'Surface geop. height' … … 24 24 c 25 25 i = NINT(zout/zsto) 26 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)27 CALL histwrite (nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)26 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 27 CALL histwrite_phy(nid_day,"aire",itau_w,airephy) 28 28 varname = 'aire' 29 29 vartitle= 'Grid area' … … 34 34 ENDDO 35 35 c 36 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 37 CALL histwrite(nid_day,"contfracATM",itau_w, 38 $ zx_tmp_2d,iim*jjmp1,ndex2d) 39 c 40 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d) 41 CALL histwrite(nid_day,"contfracOR",itau_w, 42 $ zx_tmp_2d,iim*jjmp1,ndex2d) 43 c 44 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 45 CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 46 C 47 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 48 CALL histwrite(nid_day,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 36 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 37 CALL histwrite_phy(nid_day,"contfracATM",itau_w,zx_tmp_fi2d) 38 c 39 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d) 40 CALL histwrite_phy(nid_day,"contfracOR",itau_w, 41 & pctsrf_new(:,is_ter)) 42 c 43 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 44 CALL histwrite_phy(nid_day,"tsol",itau_w,zxtsol) 45 C 46 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 47 CALL histwrite_phy(nid_day,"t2m",itau_w,zt2m) 49 48 c 50 49 c En attendant un eventuel debugage. 51 50 52 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 53 CALL histwrite(nid_day,"t2m_min",itau_w,zx_tmp_2d, 54 . iim*jjmp1,ndex2d) 55 c 56 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 57 CALL histwrite(nid_day,"t2m_max",itau_w,zx_tmp_2d, 58 . iim*jjmp1,ndex2d) 51 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 52 CALL histwrite_phy(nid_day,"t2m_min",itau_w,zt2m) 53 c 54 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 55 CALL histwrite_phy(nid_day,"t2m_max",itau_w,zt2m) 59 56 c 60 57 DO i = 1, klon 61 58 zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) 62 59 ENDDO 63 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)64 CALL histwrite (nid_day,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)60 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 61 CALL histwrite_phy(nid_day,"plul",itau_w,zx_tmp_fi2d) 65 62 c 66 63 DO i = 1, klon 67 64 zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) 68 65 ENDDO 69 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)70 CALL histwrite (nid_day,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)71 c 72 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_lsc,zx_tmp_2d)73 CALL histwrite (nid_day,"snowl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)66 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 67 CALL histwrite_phy(nid_day,"pluc",itau_w,zx_tmp_fi2d) 68 c 69 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_lsc,zx_tmp_2d) 70 CALL histwrite_phy(nid_day,"snowl",itau_w,snow_lsc) 74 71 c 75 72 IF(1.EQ.0) THEN 76 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_con,zx_tmp_2d)77 CALL histwrite (nid_day,"snowc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)73 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_con,zx_tmp_2d) 74 CALL histwrite_phy(nid_day,"snowc",itau_w,snow_con) 78 75 ENDIF 79 76 c 80 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d)81 CALL histwrite (nid_day,"flat",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)77 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d) 78 CALL histwrite_phy(nid_day,"flat",itau_w,zxfluxlat) 82 79 c 83 80 DO i = 1, klon … … 85 82 ENDDO 86 83 c 87 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 88 CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 89 c 90 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zq2m,zx_tmp_2d) 91 CALL histwrite(nid_day,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 92 c 93 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zu10m,zx_tmp_2d) 94 CALL histwrite(nid_day,"u10m",itau_w,zx_tmp_2d,iim*jjmp1, 95 . ndex2d) 96 c 97 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zv10m,zx_tmp_2d) 98 CALL histwrite(nid_day,"v10m",itau_w,zx_tmp_2d,iim*jjmp1, 99 . ndex2d) 84 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 85 CALL histwrite_phy(nid_day,"sicf",itau_w,zx_tmp_fi2d) 86 c 87 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zq2m,zx_tmp_2d) 88 CALL histwrite_phy(nid_day,"q2m",itau_w,zq2m) 89 c 90 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zu10m,zx_tmp_2d) 91 CALL histwrite_phy(nid_day,"u10m",itau_w,zu10m) 92 c 93 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zv10m,zx_tmp_2d) 94 CALL histwrite_phy(nid_day,"v10m",itau_w,zv10m) 100 95 c 101 96 DO i=1, klon 102 97 zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i)) 103 98 ENDDO 104 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 105 CALL histwrite(nid_day,"wind10m",itau_w,zx_tmp_2d, 106 $ iim*jjmp1,ndex2d) 107 c 108 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 109 CALL histwrite(nid_day,"wind10max",itau_w,zx_tmp_2d, 110 . iim*jjmp1,ndex2d) 99 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 100 CALL histwrite_phy(nid_day,"wind10m",itau_w,zx_tmp_fi2d) 101 c 102 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 103 CALL histwrite_phy(nid_day,"wind10max",itau_w,zx_tmp_fi2d) 111 104 c 112 105 DO i=1, klon 113 106 zx_tmp_fi2d(i) = paprs(i,1) 114 107 ENDDO 115 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)116 CALL histwrite (nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)108 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 109 CALL histwrite_phy(nid_day,"psol",itau_w,zx_tmp_fi2d) 117 110 c 118 111 DO i=1, klon 119 112 zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i)) 120 113 ENDDO 121 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 122 CALL histwrite(nid_day,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 123 c 124 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 125 CALL histwrite(nid_day,"snowf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 126 c 127 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 128 CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, 129 . ndex2d) 130 c 131 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 132 CALL histwrite(nid_day,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 133 c 134 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 135 CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 136 c 137 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 138 CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 139 c 140 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 141 CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 142 c 143 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 144 CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 145 c 146 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 147 CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 148 c 149 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 150 CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 151 c 152 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 153 CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 154 c 155 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 156 CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 157 c 158 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 159 CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 160 c 161 CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d) 162 CALL histwrite(nid_day,"prw",itau_w,zx_tmp_2d, 163 . iim*jjmp1,ndex2d) 114 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 115 CALL histwrite_phy(nid_day,"precip",itau_w,zx_tmp_fi2d) 116 c 117 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 118 CALL histwrite_phy(nid_day,"snowf",itau_w,snow_fall) 119 c 120 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 121 CALL histwrite_phy(nid_day,"snow_mass",itau_w,zxsnow) 122 c 123 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 124 CALL histwrite_phy(nid_day,"evap",itau_w,evap) 125 c 126 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 127 CALL histwrite_phy(nid_day,"tops",itau_w,topsw) 128 c 129 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 130 CALL histwrite_phy(nid_day,"topl",itau_w,toplw) 131 c 132 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 133 CALL histwrite_phy(nid_day,"sols",itau_w,solsw) 134 c 135 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 136 CALL histwrite_phy(nid_day,"soll",itau_w,sollw) 137 c 138 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 139 CALL histwrite_phy(nid_day,"cldl",itau_w,cldl) 140 c 141 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 142 CALL histwrite_phy(nid_day,"cldm",itau_w,cldm) 143 c 144 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 145 CALL histwrite_phy(nid_day,"cldh",itau_w,cldh) 146 c 147 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 148 CALL histwrite_phy(nid_day,"cldt",itau_w,cldt) 149 c 150 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 151 CALL histwrite_phy(nid_day,"cldq",itau_w,cldq) 152 c 153 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d) 154 CALL histwrite_phy(nid_day,"prw",itau_w,prw) 164 155 165 156 c Ecriture de champs dynamiques sur des niveaux de pression 166 157 DO k=1, nlevENS 167 158 c 168 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) 169 CALL histwrite(nid_day,"u"//clev(k),itau_w,zx_tmp_2d, 170 $ iim*jjmp1,ndex2d) 171 c 172 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) 173 CALL histwrite(nid_day,"v"//clev(k),itau_w,zx_tmp_2d, 174 $ iim*jjmp1,ndex2d) 159 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) 160 CALL histwrite_phy(nid_day,"u"//clev(k),itau_w,ulev(:,k)) 161 c 162 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) 163 CALL histwrite_phy(nid_day,"v"//clev(k),itau_w,vlev(:,k)) 175 164 c 176 165 ENDDO !nlevENS … … 179 168 IF(clev(k).EQ."500") THEN 180 169 c 181 CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,indENS(k)),zx_tmp_2d) 182 CALL histwrite(nid_day,"w500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 170 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,indENS(k)),zx_tmp_2d) 171 cym CALL histwrite_phy(nid_day,"w500",itau_w,wlev(:,indENS(k))) 172 CALL histwrite_phy(nid_day,"w500",itau_w,wlev(:,k)) 173 183 174 c 184 175 c DO i=1, klon … … 188 179 c 189 180 cBAD CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,indENS(k)),zx_tmp_2d) 190 CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)191 CALL histwrite (nid_day,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)181 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 182 CALL histwrite_phy(nid_day,"phi500",itau_w,philev(:,k)) 192 183 c 193 184 ENDIF !clev(k).EQ.500 194 185 ENDDO !k=1, nlevENS 195 186 c 196 CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d) 197 CALL histwrite(nid_day,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 198 199 CALL gr_fi_ecrit(1,klon,iim,jjmp1,cape,zx_tmp_2d) 200 CALL histwrite(nid_day,"cape_max",itau_w,zx_tmp_2d, 201 . iim*jjmp1,ndex2d) 202 c 203 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 204 CALL histwrite(nid_day,"solldown",itau_w,zx_tmp_2d,iim*jjmp1, 205 . ndex2d) 187 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d) 188 CALL histwrite_phy(nid_day,"slp",itau_w,slp) 189 190 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,cape,zx_tmp_2d) 191 CALL histwrite_phy(nid_day,"cape_max",itau_w,cape) 192 c 193 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 194 CALL histwrite_phy(nid_day,"solldown",itau_w,sollwdown) 206 195 c 207 196 DO i=1, klon 208 197 zx_tmp_fi2d(i)=-1*sens(i) 209 198 ENDDO 210 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)211 CALL histwrite (nid_day,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)199 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 200 CALL histwrite_phy(nid_day,"sens",itau_w,zx_tmp_fi2d) 212 201 c 213 202 zx_tmp_fi2d(1 : klon) = swdn(1 : klon, 1) 214 203 215 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 216 CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d, 217 . iim*jjmp1,ndex2d) 204 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 205 CALL histwrite_phy(nid_day, "SWdnSFC",itau_w,zx_tmp_fi2d) 218 206 c 219 207 ENDIF !lev_histday.GE.1 … … 221 209 IF(lev_histday.GE.2) THEN 222 210 c 223 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)224 CALL histwrite (nid_day,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)225 c 226 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)227 CALL histwrite (nid_day,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)211 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 212 CALL histwrite_phy(nid_day,"bils",itau_w, bils) 213 c 214 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 215 CALL histwrite_phy(nid_day,"fder",itau_w,fder) 228 216 c 229 217 ENDIF !lev_histday.GE.2 … … 237 225 c Champs 3D: 238 226 c 239 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 240 CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d, 241 . iim*jjmp1*klev,ndex3d) 242 c 243 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 244 CALL histwrite(nid_day,"ovap",itau_w,zx_tmp_3d, 245 . iim*jjmp1*klev,ndex3d) 246 c 247 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 248 CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d, 249 . iim*jjmp1*klev,ndex3d) 250 c 251 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 252 CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d, 253 . iim*jjmp1*klev,ndex3d) 254 c 255 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 256 CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d, 257 . iim*jjmp1*klev,ndex3d) 258 c 259 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 260 CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d, 261 . iim*jjmp1*klev,ndex3d) 262 c 263 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 264 CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d, 265 . iim*jjmp1*klev,ndex3d) 227 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 228 CALL histwrite_phy(nid_day,"temp",itau_w,t_seri) 229 c 230 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 231 CALL histwrite_phy(nid_day,"ovap",itau_w,qx(:,:,ivap)) 232 c 233 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 234 CALL histwrite_phy(nid_day,"geop",itau_w,zphi) 235 c 236 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 237 CALL histwrite_phy(nid_day,"vitu",itau_w,u_seri) 238 c 239 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 240 CALL histwrite_phy(nid_day,"vitv",itau_w,v_seri) 241 c 242 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 243 CALL histwrite_phy(nid_day,"vitw",itau_w,omega) 244 c 245 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 246 CALL histwrite_phy(nid_day,"pres",itau_w,pplay) 266 247 c 267 248 ENDIF !lev_histday.GE.3 … … 276 257 c================================================================= 277 258 zx_tmp_fi2d(1 : klon) = swup( 1 : klon, klevp1 ) 278 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 279 CALL histwrite(nid_day, "SWupTOA",itau_w,zx_tmp_2d, 280 . iim*jjmp1,ndex2d) 259 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 260 CALL histwrite_phy(nid_day, "SWupTOA",itau_w,zx_tmp_fi2d) 281 261 c 282 262 zx_tmp_fi2d(1 : klon) = swup( 1 : klon, 1 ) 283 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 284 CALL histwrite(nid_day, "SWupSFC",itau_w,zx_tmp_2d, 285 . iim*jjmp1,ndex2d) 263 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 264 CALL histwrite_phy(nid_day, "SWupSFC",itau_w,zx_tmp_fi2d) 286 265 c 287 266 zx_tmp_fi2d(1 : klon) = swdn( 1 : klon, klevp1 ) 288 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 289 CALL histwrite(nid_day, "SWdnTOA",itau_w,zx_tmp_2d, 290 . iim*jjmp1,ndex2d) 267 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 268 CALL histwrite_phy(nid_day, "SWdnTOA",itau_w,zx_tmp_fi2d) 291 269 c 292 270 zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, klevp1 ) 293 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 294 CALL histwrite(nid_day, "SWupTOAclr",itau_w,zx_tmp_2d, 295 . iim*jjmp1,ndex2d) 271 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 272 CALL histwrite_phy(nid_day, "SWupTOAclr",itau_w,zx_tmp_fi2d) 296 273 c 297 274 zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, 1 ) 298 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 299 CALL histwrite(nid_day, "SWupSFCclr",itau_w,zx_tmp_2d, 300 . iim*jjmp1,ndex2d) 275 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 276 CALL histwrite_phy(nid_day, "SWupSFCclr",itau_w,zx_tmp_fi2d) 301 277 c 302 278 zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, klevp1 ) 303 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 304 CALL histwrite(nid_day, "SWdnTOAclr",itau_w,zx_tmp_2d, 305 . iim*jjmp1,ndex2d) 279 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 280 CALL histwrite_phy(nid_day, "SWdnTOAclr",itau_w,zx_tmp_fi2d) 306 281 c 307 282 zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, 1 ) 308 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 309 CALL histwrite(nid_day, "SWdnSFCclr",itau_w,zx_tmp_2d, 310 . iim*jjmp1,ndex2d) 283 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 284 CALL histwrite_phy(nid_day, "SWdnSFCclr",itau_w,zx_tmp_fi2d) 311 285 c 312 286 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter) 313 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d)314 CALL histwrite (nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)287 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d) 288 CALL histwrite_phy(nid_day,"tter",itau_w,zx_tmp_fi2d) 315 289 c 316 290 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic) 317 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)318 CALL histwrite (nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)291 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 292 CALL histwrite_phy(nid_day,"tlic",itau_w,zx_tmp_fi2d) 319 293 c 320 294 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce) 321 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)322 CALL histwrite (nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)295 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 296 CALL histwrite_phy(nid_day,"toce",itau_w,zx_tmp_fi2d) 323 297 c 324 298 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic) 325 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)326 CALL histwrite (nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)299 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 300 CALL histwrite_phy(nid_day,"tsic",itau_w,zx_tmp_fi2d) 327 301 c 328 302 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter) 329 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 330 CALL histwrite(nid_day,"t2mter",itau_w,zx_tmp_2d,iim*jjmp1, 331 . ndex2d) 303 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 304 CALL histwrite_phy(nid_day,"t2mter",itau_w,zx_tmp_fi2d) 332 305 c 333 306 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter) 334 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 335 CALL histwrite(nid_day,"t2mter_min",itau_w,zx_tmp_2d, 336 . iim*jjmp1,ndex2d) 307 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 308 CALL histwrite_phy(nid_day,"t2mter_min",itau_w,zx_tmp_fi2d) 337 309 c 338 310 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter) 339 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 340 CALL histwrite(nid_day,"t2mter_max",itau_w,zx_tmp_2d, 341 . iim*jjmp1,ndex2d) 311 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 312 CALL histwrite_phy(nid_day,"t2mter_max",itau_w,zx_tmp_fi2d) 342 313 c 343 314 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_lic) 344 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 345 CALL histwrite(nid_day,"t2mlic",itau_w,zx_tmp_2d,iim*jjmp1, 346 . ndex2d) 315 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 316 CALL histwrite_phy(nid_day,"t2mlic",itau_w,zx_tmp_fi2d) 347 317 c 348 318 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_oce) 349 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 350 CALL histwrite(nid_day,"t2moce",itau_w,zx_tmp_2d,iim*jjmp1, 351 . ndex2d) 319 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 320 CALL histwrite_phy(nid_day,"t2moce",itau_w,zx_tmp_fi2d) 352 321 c 353 322 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_sic) 354 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 355 CALL histwrite(nid_day,"t2msic",itau_w,zx_tmp_2d,iim*jjmp1, 356 . ndex2d) 323 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 324 CALL histwrite_phy(nid_day,"t2msic",itau_w,zx_tmp_fi2d) 357 325 c 358 326 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_ter) 359 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 360 CALL histwrite(nid_day,"u10mter",itau_w,zx_tmp_2d,iim*jjmp1, 361 . ndex2d) 327 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 328 CALL histwrite_phy(nid_day,"u10mter",itau_w,zx_tmp_fi2d) 362 329 c 363 330 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_ter) 364 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 365 CALL histwrite(nid_day,"v10mter",itau_w,zx_tmp_2d,iim*jjmp1, 366 . ndex2d) 331 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 332 CALL histwrite_phy(nid_day,"v10mter",itau_w,zx_tmp_fi2d) 367 333 c 368 334 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_lic) 369 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 370 CALL histwrite(nid_day,"u10mlic",itau_w,zx_tmp_2d,iim*jjmp1, 371 . ndex2d) 335 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 336 CALL histwrite_phy(nid_day,"u10mlic",itau_w,zx_tmp_fi2d) 372 337 c 373 338 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_lic) 374 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 375 CALL histwrite(nid_day,"v10mlic",itau_w,zx_tmp_2d,iim*jjmp1, 376 . ndex2d) 339 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 340 CALL histwrite_phy(nid_day,"v10mlic",itau_w,zx_tmp_fi2d) 377 341 c 378 342 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_oce) 379 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 380 CALL histwrite(nid_day,"u10moce",itau_w,zx_tmp_2d,iim*jjmp1, 381 . ndex2d) 343 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 344 CALL histwrite_phy(nid_day,"u10moce",itau_w,zx_tmp_fi2d) 382 345 c 383 346 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_oce) 384 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 385 CALL histwrite(nid_day,"v10moce",itau_w,zx_tmp_2d,iim*jjmp1, 386 . ndex2d) 347 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 348 CALL histwrite_phy(nid_day,"v10moce",itau_w,zx_tmp_fi2d) 387 349 c 388 350 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_sic) 389 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 390 CALL histwrite(nid_day,"u10msic",itau_w,zx_tmp_2d,iim*jjmp1, 391 . ndex2d) 351 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 352 CALL histwrite_phy(nid_day,"u10msic",itau_w,zx_tmp_fi2d) 392 353 C 393 354 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_sic) 394 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 395 CALL histwrite(nid_day,"v10msic",itau_w,zx_tmp_2d,iim*jjmp1, 396 . ndex2d) 355 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 356 CALL histwrite_phy(nid_day,"v10msic",itau_w,zx_tmp_fi2d) 397 357 C 398 358 DO nsrf = 1, nbsrf 399 359 C 400 360 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 401 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)402 CALL histwrite (nid_day,"pourc_"//clnsurf(nsrf),itau_w,403 $ zx_tmp_2d,iim*jjmp1,ndex2d)361 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 362 CALL histwrite_phy(nid_day,"pourc_"//clnsurf(nsrf),itau_w, 363 $ zx_tmp_fi2d) 404 364 C 405 365 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 406 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)407 CALL histwrite (nid_day,"tsol_"//clnsurf(nsrf),itau_w,408 $ zx_tmp_2d,iim*jjmp1,ndex2d)366 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 367 CALL histwrite_phy(nid_day,"tsol_"//clnsurf(nsrf),itau_w, 368 $ zx_tmp_fi2d) 409 369 C 410 370 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 411 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)412 CALL histwrite (nid_day,"sens_"//clnsurf(nsrf),itau_w,413 $ zx_tmp_2d,iim*jjmp1,ndex2d)371 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 372 CALL histwrite_phy(nid_day,"sens_"//clnsurf(nsrf),itau_w, 373 $ zx_tmp_fi2d) 414 374 C 415 375 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 416 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)417 CALL histwrite (nid_day,"lat_"//clnsurf(nsrf),itau_w,418 $ zx_tmp_2d,iim*jjmp1,ndex2d)376 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 377 CALL histwrite_phy(nid_day,"lat_"//clnsurf(nsrf),itau_w, 378 $ zx_tmp_fi2d) 419 379 C 420 380 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 421 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)422 CALL histwrite (nid_day,"taux_"//clnsurf(nsrf),itau_w,423 $ zx_tmp_2d,iim*jjmp1,ndex2d)381 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 382 CALL histwrite_phy(nid_day,"taux_"//clnsurf(nsrf),itau_w, 383 $ zx_tmp_fi2d) 424 384 C 425 385 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 426 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)427 CALL histwrite (nid_day,"tauy_"//clnsurf(nsrf),itau_w,428 $ zx_tmp_2d,iim*jjmp1,ndex2d)386 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 387 CALL histwrite_phy(nid_day,"tauy_"//clnsurf(nsrf),itau_w, 388 $ zx_tmp_fi2d) 429 389 C 430 390 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) 431 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)432 CALL histwrite (nid_day,"albe_"//clnsurf(nsrf),itau_w,433 $ zx_tmp_2d,iim*jjmp1,ndex2d)391 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 392 CALL histwrite_phy(nid_day,"albe_"//clnsurf(nsrf),itau_w, 393 $ zx_tmp_fi2d) 434 394 C 435 395 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) 436 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)437 CALL histwrite (nid_day,"rugs_"//clnsurf(nsrf),itau_w,438 $ zx_tmp_2d,iim*jjmp1,ndex2d)396 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 397 CALL histwrite_phy(nid_day,"rugs_"//clnsurf(nsrf),itau_w, 398 $ zx_tmp_fi2d) 439 399 C 440 400 END DO -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histhf.h
r633 r634 24 24 c CALL histwrite(nid_hf,"aire",i,zx_tmp_2d,iim*jjmp1,ndex2d) 25 25 C 26 CALL gr_fi_ecrit(1, klon,iim,jjmp1, paire_ter, zx_tmp_2d) 27 CALL histwrite(nid_hf,"aireTER",itau_w, 28 $ zx_tmp_2d,iim*jjmp1,ndex2d) 26 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, paire_ter, zx_tmp_2d) 27 CALL histwrite_phy(nid_hf,"aireTER",itau_w,paire_ter) 29 28 c 30 29 DO i=1, klon … … 32 31 ENDDO 33 32 c 34 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 35 CALL histwrite(nid_hf,"contfracATM",itau_w, 36 $ zx_tmp_2d,iim*jjmp1,ndex2d) 33 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 34 CALL histwrite_phy(nid_hf,"contfracATM",itau_w,zx_tmp_fi2d) 37 35 c 38 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d)39 CALL histwrite (nid_hf,"contfracOR",itau_w,40 $ zx_tmp_2d,iim*jjmp1,ndex2d)36 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d) 37 CALL histwrite_phy(nid_hf,"contfracOR",itau_w, 38 . pctsrf_new(:,is_ter)) 41 39 c 42 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d) 43 CALL histwrite(nid_hf,"t2m",itau_w,zx_tmp_2d,iim*jjmp1, 44 . ndex2d) 40 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d) 41 CALL histwrite_phy(nid_hf,"t2m",itau_w,zt2m) 45 42 c 46 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d) 47 CALL histwrite(nid_hf,"q2m",itau_w,zx_tmp_2d,iim*jjmp1, 48 . ndex2d) 43 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d) 44 CALL histwrite_phy(nid_hf,"q2m",itau_w,zq2m) 49 45 c 50 46 DO i = 1, klon 51 47 zx_tmp_fi2d(i) = paprs(i,1) 52 48 ENDDO 53 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 54 CALL histwrite(nid_hf,"psol",itau_w,zx_tmp_2d,iim*jjmp1, 55 . ndex2d) 49 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 50 CALL histwrite_phy(nid_hf,"psol",itau_w,zx_tmp_fi2d) 56 51 c 57 52 DO i = 1, klon 58 53 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 59 54 ENDDO 60 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)61 CALL histwrite (nid_hf,"rain",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)55 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 56 CALL histwrite_phy(nid_hf,"rain",itau_w,zx_tmp_fi2d) 62 57 c 63 58 c ENSEMBLES BEG 64 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)65 CALL histwrite (nid_hf,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)59 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 60 CALL histwrite_phy(nid_hf,"tsol",itau_w,zxtsol) 66 61 c 67 CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)68 CALL histwrite (nid_hf,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)62 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d) 63 CALL histwrite_phy(nid_hf,"slp",itau_w,slp) 69 64 c 70 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)71 CALL histwrite (nid_hf,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)65 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d) 66 CALL histwrite_phy(nid_hf,"u10m",itau_w,zu10m) 72 67 c 73 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)74 CALL histwrite (nid_hf,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)68 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d) 69 CALL histwrite_phy(nid_hf,"v10m",itau_w,zv10m) 75 70 c 76 71 DO i=1, klon 77 72 zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i)) 78 73 ENDDO 79 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 80 CALL histwrite(nid_hf,"wind10m",itau_w,zx_tmp_2d, 81 $ iim*jjmp1,ndex2d) 74 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 75 CALL histwrite_phy(nid_hf,"wind10m",itau_w,zx_tmp_fi2d) 82 76 c 83 77 DO k=1, nlevENS 84 78 IF(clev(k).EQ."500") THEN 85 CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 86 CALL histwrite(nid_hf,"phi"//clev(k),itau_w,zx_tmp_2d, 87 $ iim*jjmp1,ndex2d) 79 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 80 CALL histwrite_phy(nid_hf,"phi"//clev(k),itau_w,philev(:,k)) 88 81 ENDIF !clev(k).EQ."500" 89 82 ENDDO … … 93 86 IF(lev_histhf.GE.2) THEN 94 87 c 95 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)96 CALL histwrite (nid_hf,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)88 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 89 CALL histwrite_phy(nid_hf,"cldt",itau_w,cldt) 97 90 c 98 91 zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter) 99 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 100 CALL histwrite(nid_hf,"SWnetOR",itau_w, 101 $ zx_tmp_2d,iim*jjmp1,ndex2d) 92 CALL histwrite_phy(nid_hf,"SWnetOR",itau_w,zx_tmp_fi2d) 102 93 c 103 94 zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol(1:klon)) 104 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 105 CALL histwrite(nid_hf,"SWdownOR",itau_w, 106 $ zx_tmp_2d,iim*jjmp1,ndex2d) 95 CALL histwrite(nid_hf,"SWdownOR",itau_w,zx_tmp_fi2d) 107 96 c 108 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 109 CALL histwrite(nid_hf,"LWdownOR",itau_w,zx_tmp_2d,iim*jjmp1, 110 $ ndex2d) 97 CALL histwrite(nid_hf,"LWdownOR",itau_w,zx_tmp_fi2d) 111 98 c 112 99 c … … 117 104 DO k=1, nlevENS 118 105 c 119 CALL gr_fi_ecrit(1, klon,iim,jjmp1, tlev(:,k),zx_tmp_2d) 120 CALL histwrite(nid_hf,"t"//clev(k),itau_w,zx_tmp_2d, 121 $ iim*jjmp1,ndex2d) 106 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, tlev(:,k),zx_tmp_2d) 107 CALL histwrite_phy(nid_hf,"t"//clev(k),itau_w,tlev(:,k)) 122 108 c 123 109 IF(clev(k).NE."500") THEN !clev(k).NE."500" 124 CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 125 CALL histwrite(nid_hf,"phi"//clev(k),itau_w,zx_tmp_2d, 126 $ iim*jjmp1,ndex2d) 110 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 111 CALL histwrite_phy(nid_hf,"phi"//clev(k),itau_w,philev(:,k)) 127 112 ENDIF !clev(k).NE."500" 128 113 c 129 CALL gr_fi_ecrit(1, klon,iim,jjmp1, qlev(:,k),zx_tmp_2d) 130 CALL histwrite(nid_hf,"q"//clev(k),itau_w,zx_tmp_2d, 131 $ iim*jjmp1,ndex2d) 114 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, qlev(:,k),zx_tmp_2d) 115 CALL histwrite_phy(nid_hf,"q"//clev(k),itau_w,qlev(:,k)) 132 116 c 133 117 IF(1.EQ.0) THEN 134 CALL gr_fi_ecrit(1, klon,iim,jjmp1, rhlev(:,k),zx_tmp_2d) 135 CALL histwrite(nid_hf,"rh"//clev(k),itau_w,zx_tmp_2d, 136 $ iim*jjmp1,ndex2d) 118 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, rhlev(:,k),zx_tmp_2d) 119 CALL histwrite_phy(nid_hf,"rh"//clev(k),itau_w,rhlev(:,k)) 137 120 ENDIF !1.EQ.0 138 121 c 139 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) 140 CALL histwrite(nid_hf,"u"//clev(k),itau_w,zx_tmp_2d, 141 $ iim*jjmp1,ndex2d) 122 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) 123 CALL histwrite_phy(nid_hf,"u"//clev(k),itau_w,ulev(:,k)) 142 124 c 143 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) 144 CALL histwrite(nid_hf,"v"//clev(k),itau_w,zx_tmp_2d, 145 $ iim*jjmp1,ndex2d) 125 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) 126 CALL histwrite_phy(nid_hf,"v"//clev(k),itau_w,vlev(:,k)) 146 127 c 147 128 ENDDO !nlevENS 148 129 c 149 130 IF(1.EQ.0) THEN 150 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)151 CALL histwrite (nid_hf,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)131 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 132 CALL histwrite_phy(nid_hf,"cdrm",itau_w,cdragm) 152 133 c 153 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)154 CALL histwrite (nid_hf,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)134 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 135 CALL histwrite_phy(nid_hf,"cdrh",itau_w,cdragh) 155 136 ENDIF !(1.EQ.0) THEN 156 137 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histhf3d.h
r524 r634 18 18 c Champs 3D: 19 19 c 20 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 21 CALL histwrite(nid_hf3d,"temp",itau_w,zx_tmp_3d, 22 . iim*jjmp1*klev,ndex3d) 20 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 21 CALL histwrite_phy(nid_hf3d,"temp",itau_w,t_seri) 23 22 c 24 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 25 CALL histwrite(nid_hf3d,"ovap",itau_w,zx_tmp_3d, 26 . iim*jjmp1*klev,ndex3d) 23 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 24 CALL histwrite_phy(nid_hf3d,"ovap",itau_w,qx(:,:,ivap)) 27 25 c 28 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 29 CALL histwrite(nid_hf3d,"vitu",itau_w,zx_tmp_3d, 30 . iim*jjmp1*klev,ndex3d) 26 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 27 CALL histwrite_phy(nid_hf3d,"vitu",itau_w,u_seri) 31 28 c 32 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 33 CALL histwrite(nid_hf3d,"vitv",itau_w,zx_tmp_3d, 34 . iim*jjmp1*klev,ndex3d) 29 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 30 CALL histwrite_phy(nid_hf3d,"vitv",itau_w,v_seri) 35 31 c 36 32 c ENDIF !lev_histhf.GE.1 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histins.h
r524 r634 14 14 15 15 i = NINT(zout/zsto) 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)17 CALL histwrite (nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)16 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 17 CALL histwrite_phy(nid_ins,"phis",itau_w,pphis) 18 18 c 19 19 i = NINT(zout/zsto) 20 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)21 CALL histwrite (nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)20 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 21 CALL histwrite_phy(nid_ins,"aire",itau_w,airephy) 22 22 23 23 DO i = 1, klon 24 24 zx_tmp_fi2d(i) = paprs(i,1) 25 25 ENDDO 26 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)27 CALL histwrite (nid_ins,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)26 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 27 CALL histwrite_phy(nid_ins,"psol",itau_w,zx_tmp_fi2d) 28 28 c 29 29 DO i = 1, klon 30 30 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 31 31 ENDDO 32 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)33 CALL histwrite (nid_ins,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)32 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 33 CALL histwrite_phy(nid_ins,"precip",itau_w,zx_tmp_fi2d) 34 34 c 35 35 DO i = 1, klon 36 36 zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) 37 37 ENDDO 38 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 39 CALL histwrite (nid_ins,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)38 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 39 CALL histwrite_phy(nid_ins,"plul",itau_w,zx_tmp_fi2d) 40 40 c 41 41 DO i = 1, klon 42 42 zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) 43 43 ENDDO 44 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)45 CALL histwrite (nid_ins,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)44 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 45 CALL histwrite_phy(nid_ins,"pluc",itau_w,zx_tmp_fi2d) 46 46 47 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)48 CALL histwrite (nid_ins,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)47 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 48 CALL histwrite_phy(nid_ins,"tsol",itau_w,zxtsol) 49 49 cccIM 50 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m, zx_tmp_2d)51 CALL histwrite (nid_ins,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)50 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m, zx_tmp_2d) 51 CALL histwrite_phy(nid_ins,"t2m",itau_w,zt2m) 52 52 c 53 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m, zx_tmp_2d)54 CALL histwrite (nid_ins,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)53 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m, zx_tmp_2d) 54 CALL histwrite_phy(nid_ins,"q2m",itau_w,zq2m) 55 55 c 56 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m, zx_tmp_2d)57 CALL histwrite (nid_ins,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)56 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m, zx_tmp_2d) 57 CALL histwrite_phy(nid_ins,"u10m",itau_w,zu10m) 58 58 C 59 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m, zx_tmp_2d)60 CALL histwrite (nid_ins,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)59 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m, zx_tmp_2d) 60 CALL histwrite_phy(nid_ins,"v10m",itau_w,zv10m) 61 61 c 62 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)63 CALL histwrite (nid_ins,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)62 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 63 CALL histwrite_phy(nid_ins,"snow",itau_w,snow_fall) 64 64 65 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)66 CALL histwrite (nid_ins,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)65 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 66 CALL histwrite_phy(nid_ins,"cdrm",itau_w,cdragm) 67 67 c 68 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)69 CALL histwrite (nid_ins,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)68 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 69 CALL histwrite_phy(nid_ins,"cdrh",itau_w,cdragh) 70 70 c 71 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)72 CALL histwrite (nid_ins,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)71 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 72 CALL histwrite_phy(nid_ins,"topl",itau_w,toplw) 73 73 c 74 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)75 CALL histwrite (nid_ins,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)74 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 75 CALL histwrite_phy(nid_ins,"evap",itau_w,evap) 76 76 c 77 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)78 CALL histwrite (nid_ins,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)77 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 78 CALL histwrite_phy(nid_ins,"sols",itau_w,solsw) 79 79 c 80 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)81 CALL histwrite (nid_ins,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)80 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 81 CALL histwrite_phy(nid_ins,"soll",itau_w,sollw) 82 82 c 83 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 84 CALL histwrite(nid_ins,"solldown",itau_w,zx_tmp_2d,iim*jjmp1, 85 . ndex2d) 83 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 84 CALL histwrite_phy(nid_ins,"solldown",itau_w,sollwdown) 86 85 c 87 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)88 CALL histwrite (nid_ins,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)86 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 87 CALL histwrite_phy(nid_ins,"bils",itau_w,bils) 89 88 c 90 89 zx_tmp_fi2d(1:klon)=-1*sens(1:klon) 91 90 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) 92 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)93 CALL histwrite (nid_ins,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)91 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 92 CALL histwrite_phy(nid_ins,"sens",itau_w,zx_tmp_fi2d) 94 93 c 95 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)96 CALL histwrite (nid_ins,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)94 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 95 CALL histwrite_phy(nid_ins,"fder",itau_w,fder) 97 96 c 98 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_oce),zx_tmp_2d) 99 CALL histwrite(nid_ins,"dtsvdfo",itau_w,zx_tmp_2d,iim*jjmp1, 100 . ndex2d) 97 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_oce),zx_tmp_2d) 98 CALL histwrite_phy(nid_ins,"dtsvdfo",itau_w,d_ts(:,is_oce)) 101 99 c 102 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_ter),zx_tmp_2d) 103 CALL histwrite(nid_ins,"dtsvdft",itau_w,zx_tmp_2d,iim*jjmp1, 104 . ndex2d) 100 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_ter),zx_tmp_2d) 101 CALL histwrite_phy(nid_ins,"dtsvdft",itau_w,d_ts(:,is_ter)) 105 102 c 106 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_lic),zx_tmp_2d) 107 CALL histwrite(nid_ins,"dtsvdfg",itau_w,zx_tmp_2d,iim*jjmp1, 108 . ndex2d) 103 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_lic),zx_tmp_2d) 104 CALL histwrite_phy(nid_ins,"dtsvdfg",itau_w, d_ts(:,is_lic)) 109 105 c 110 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_sic),zx_tmp_2d) 111 CALL histwrite(nid_ins,"dtsvdfi",itau_w,zx_tmp_2d,iim*jjmp1, 112 . ndex2d) 106 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_sic),zx_tmp_2d) 107 CALL histwrite_phy(nid_ins,"dtsvdfi",itau_w,d_ts(:,is_sic)) 113 108 114 109 DO nsrf = 1, nbsrf 115 110 CXXX 116 111 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 117 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)118 CALL histwrite (nid_ins,"pourc_"//clnsurf(nsrf),itau_w,119 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)112 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 113 CALL histwrite_phy(nid_ins,"pourc_"//clnsurf(nsrf),itau_w, 114 $ zx_tmp_fi2d) 120 115 C 121 116 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 122 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)123 CALL histwrite (nid_ins,"sens_"//clnsurf(nsrf),itau_w,124 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)117 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 118 CALL histwrite_phy(nid_ins,"sens_"//clnsurf(nsrf),itau_w, 119 $ zx_tmp_fi2d) 125 120 C 126 121 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 127 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)128 CALL histwrite (nid_ins,"lat_"//clnsurf(nsrf),itau_w,129 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)122 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 123 CALL histwrite_phy(nid_ins,"lat_"//clnsurf(nsrf),itau_w, 124 $ zx_tmp_fi2d) 130 125 C 131 126 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 132 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)133 CALL histwrite (nid_ins,"tsol_"//clnsurf(nsrf),itau_w,134 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)127 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 128 CALL histwrite_phy(nid_ins,"tsol_"//clnsurf(nsrf),itau_w, 129 $ zx_tmp_fi2d) 135 130 C 136 131 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 137 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)138 CALL histwrite (nid_ins,"taux_"//clnsurf(nsrf),itau_w,139 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)132 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 133 CALL histwrite_phy(nid_ins,"taux_"//clnsurf(nsrf),itau_w, 134 $ zx_tmp_fi2d) 140 135 C 141 136 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 142 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)143 CALL histwrite (nid_ins,"tauy_"//clnsurf(nsrf),itau_w,144 $ zx_tmp_2d,iim*jjmp1,ndex2d)137 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 138 CALL histwrite_phy(nid_ins,"tauy_"//clnsurf(nsrf),itau_w, 139 $ zx_tmp_fi2d) 145 140 C 146 141 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) 147 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)148 CALL histwrite (nid_ins,"rugs_"//clnsurf(nsrf),itau_w,149 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)142 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 143 CALL histwrite_phy(nid_ins,"rugs_"//clnsurf(nsrf),itau_w, 144 $ zx_tmp_fi2d) 150 145 C 151 146 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) 152 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)153 CALL histwrite (nid_ins,"albe_"//clnsurf(nsrf),itau_w,154 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)147 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 148 CALL histwrite_phy(nid_ins,"albe_"//clnsurf(nsrf),itau_w, 149 $ zx_tmp_fi2d) 155 150 C 156 151 END DO 157 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d) 158 CALL histwrite(nid_ins,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 159 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d) 160 CALL histwrite(nid_ins,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 152 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d) 153 CALL histwrite_phy(nid_ins,"albs",itau_w,albsol) 154 155 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d) 156 CALL histwrite_phy(nid_ins,"albslw",itau_w,albsollw) 157 161 158 c 162 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 163 CALL histwrite(nid_ins,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, 164 . ndex2d) 159 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 160 CALL histwrite_phy(nid_ins,"snow_mass",itau_w,zxsnow) 165 161 c 166 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxrugs,zx_tmp_2d)167 CALL histwrite (nid_ins,"rugs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)162 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxrugs,zx_tmp_2d) 163 CALL histwrite_phy(nid_ins,"rugs",itau_w,zxrugs) 168 164 c 169 165 c Champs 3D: 170 166 c 171 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 172 CALL histwrite(nid_ins,"temp",itau_w,zx_tmp_3d, 173 . iim*jjmp1*klev,ndex3d) 167 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 168 CALL histwrite_phy(nid_ins,"temp",itau_w,t_seri) 174 169 c 175 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 176 CALL histwrite(nid_ins,"vitu",itau_w,zx_tmp_3d, 177 . iim*jjmp1*klev,ndex3d) 170 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 171 CALL histwrite_phy(nid_ins,"vitu",itau_w,u_seri) 178 172 c 179 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 180 CALL histwrite(nid_ins,"vitv",itau_w,zx_tmp_3d, 181 . iim*jjmp1*klev,ndex3d) 173 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 174 CALL histwrite_phy(nid_ins,"vitv",itau_w,v_seri) 182 175 c 183 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 184 CALL histwrite(nid_ins,"geop",itau_w,zx_tmp_3d, 185 . iim*jjmp1*klev,ndex3d) 176 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 177 CALL histwrite_phy(nid_ins,"geop",itau_w,zphi) 186 178 c 187 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 188 CALL histwrite(nid_ins,"pres",itau_w,zx_tmp_3d, 189 . iim*jjmp1*klev,ndex3d) 179 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 180 CALL histwrite_phy(nid_ins,"pres",itau_w,pplay) 190 181 c 191 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_vdf, zx_tmp_3d) 192 CALL histwrite(nid_ins,"dtvdf",itau_w,zx_tmp_3d, 193 . iim*jjmp1*klev,ndex3d) 182 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_vdf, zx_tmp_3d) 183 CALL histwrite_phy(nid_ins,"dtvdf",itau_w,d_t_vdf) 194 184 c 195 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) 196 CALL histwrite(nid_ins,"dqvdf",itau_w,zx_tmp_3d, 197 . iim*jjmp1*klev,ndex3d) 185 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) 186 CALL histwrite_phy(nid_ins,"dqvdf",itau_w,d_q_vdf) 198 187 199 188 c -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histmth.h
r633 r634 17 17 c Champs 2D: 18 18 c 19 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)20 CALL histwrite (nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)19 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 20 CALL histwrite_phy(nid_mth,"phis",itau_w,pphis) 21 21 C 22 22 i = NINT(zout/zsto) 23 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)24 CALL histwrite (nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)23 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 24 CALL histwrite_phy(nid_mth,"aire",itau_w,airephy) 25 25 c 26 26 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_ter) 27 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 28 CALL histwrite (nid_mth,"pourc_"//clnsurf(is_ter),itau_w,29 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)30 c 31 CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)32 CALL histwrite (nid_mth,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)27 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 28 CALL histwrite_phy(nid_mth,"pourc_"//clnsurf(is_ter),itau_w, 29 $ zx_tmp_fi2d) 30 c 31 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d) 32 CALL histwrite_phy(nid_mth,"slp",itau_w,slp) 33 33 34 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)35 CALL histwrite (nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)36 c 37 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)38 CALL histwrite (nid_mth,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)34 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 35 CALL histwrite_phy(nid_mth,"tsol",itau_w,zxtsol) 36 c 37 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d) 38 CALL histwrite_phy(nid_mth,"t2m",itau_w,zt2m) 39 39 c 40 40 c ENSEMBLES BEG 41 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 42 CALL histwrite(nid_mth,"t2m_min",itau_w,zx_tmp_2d, 43 . iim*jjmp1,ndex2d) 44 c 45 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 46 CALL histwrite(nid_mth,"t2m_max",itau_w,zx_tmp_2d, 47 . iim*jjmp1,ndex2d) 41 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 42 CALL histwrite_phy(nid_mth,"t2m_min",itau_w,zt2m) 43 c 44 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 45 CALL histwrite_phy(nid_mth,"t2m_max",itau_w,zt2m) 48 46 c 49 47 c CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d) 50 48 c CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d) 51 49 c CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d) 52 c CALL histwrite (nid_mth,"tsoil",itau_w,zx_tmp_2d,50 c CALL histwrite_phy(nid_mth,"tsoil",itau_w,zx_tmp_2d, 53 51 c . iim*jjmp1,ndex2d) 54 52 c … … 56 54 zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i)) 57 55 ENDDO 58 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 59 CALL histwrite(nid_mth,"wind10m",itau_w,zx_tmp_2d, 60 $ iim*jjmp1,ndex2d) 56 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 57 CALL histwrite_phy(nid_mth,"wind10m",itau_w,zx_tmp_fi2d) 61 58 c 62 59 DO i = 1, klon 63 60 zx_tmp_fi2d(i) = pctsrf(i,is_sic) 64 61 ENDDO 65 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)66 CALL histwrite (nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)62 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 63 CALL histwrite_phy(nid_mth,"sicf",itau_w,zx_tmp_fi2d) 67 64 c 68 65 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 69 c CALL histwrite (nid_mth,"temp",itau_w,zx_tmp_3d,66 c CALL histwrite_phy(nid_mth,"temp",itau_w,zx_tmp_3d, 70 67 c . iim*jjmp1*klev,ndex3d) 71 68 c 72 69 c ENSEMBLES END 73 70 c 74 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)75 CALL histwrite (nid_mth,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)76 c 77 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)78 CALL histwrite (nid_mth,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)79 C 80 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)81 CALL histwrite (nid_mth,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)71 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d) 72 CALL histwrite_phy(nid_mth,"q2m",itau_w,zq2m) 73 c 74 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d) 75 CALL histwrite_phy(nid_mth,"u10m",itau_w,zu10m) 76 C 77 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d) 78 CALL histwrite_phy(nid_mth,"v10m",itau_w,zv10m) 82 79 C 83 80 DO i = 1, klon 84 81 zx_tmp_fi2d(i) = paprs(i,1) 85 82 ENDDO 86 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)87 CALL histwrite (nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)88 c 89 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d)90 CALL histwrite (nid_mth,"qsurf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)83 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 84 CALL histwrite_phy(nid_mth,"psol",itau_w,zx_tmp_fi2d) 85 c 86 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d) 87 CALL histwrite_phy(nid_mth,"qsurf",itau_w,zxqsurf) 91 88 c 92 89 if (.not. ok_veget) then 93 CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d) 94 CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1 95 $ ,ndex2d) 90 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d) 91 CALL histwrite_phy(nid_mth,"qsol",itau_w,qsol) 96 92 endif 97 93 c … … 99 95 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 100 96 ENDDO 101 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 102 CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 103 c 104 CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d) 105 CALL histwrite(nid_mth,"ndayrain",itau_w,zx_tmp_2d, 106 $ iim*jjmp1,ndex2d) 97 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 98 CALL histwrite_phy(nid_mth,"precip",itau_w,zx_tmp_fi2d) 99 c 100 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d) 101 CALL histwrite_phy(nid_mth,"ndayrain",itau_w,nday_rain) 107 102 c 108 103 DO i = 1, klon 109 104 zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) 110 105 ENDDO 111 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)112 CALL histwrite (nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)106 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 107 CALL histwrite_phy(nid_mth,"plul",itau_w,zx_tmp_fi2d) 113 108 c 114 109 DO i = 1, klon 115 110 zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) 116 111 ENDDO 117 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 118 CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 119 c 120 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 121 CALL histwrite(nid_mth,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 122 c 123 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 124 CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, 125 . ndex2d) 112 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 113 CALL histwrite_phy(nid_mth,"pluc",itau_w,zx_tmp_fi2d) 114 c 115 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 116 CALL histwrite_phy(nid_mth,"snow",itau_w,snow_fall) 117 c 118 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 119 CALL histwrite_phy(nid_mth,"snow_mass",itau_w,zxsnow) 126 120 c 127 121 cIM: 071003 128 122 c zx_tmp_fi2d(1:klon)=evap(1:klon)*86400. 129 123 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 130 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)131 CALL histwrite (nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)132 c 133 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)134 CALL histwrite (nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)135 c 136 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)137 CALL histwrite (nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)138 c 139 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)140 CALL histwrite (nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)141 c 142 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)143 CALL histwrite (nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)124 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 125 CALL histwrite_phy(nid_mth,"evap",itau_w,evap) 126 c 127 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 128 CALL histwrite_phy(nid_mth,"tops",itau_w,topsw) 129 c 130 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d) 131 CALL histwrite_phy(nid_mth,"tops0",itau_w,topsw0) 132 c 133 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 134 CALL histwrite_phy(nid_mth,"topl",itau_w,toplw) 135 c 136 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d) 137 CALL histwrite_phy(nid_mth,"topl0",itau_w,toplw0) 144 138 c 145 139 c zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1) 146 140 cIM 080304 zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 2 ) 147 141 zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 ) 148 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 149 CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d, 150 . iim*jjmp1,ndex2d) 142 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 143 CALL histwrite_phy(nid_mth, "SWupTOA",itau_w,zx_tmp_fi2d) 151 144 c 152 145 c … … 154 147 cIM 080304 zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 2 ) 155 148 zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 ) 156 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 157 CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d, 158 . iim*jjmp1,ndex2d) 149 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 150 CALL histwrite_phy(nid_mth, "SWupTOAclr",itau_w,zx_tmp_fi2d) 159 151 c 160 152 c zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1) 161 153 cIM 080304 zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 2 ) 162 154 zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 ) 163 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 164 CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d, 165 . iim*jjmp1,ndex2d) 155 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 156 CALL histwrite_phy(nid_mth, "SWdnTOA",itau_w,zx_tmp_fi2d) 166 157 c 167 158 c zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1) 168 159 cIM 080304 zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 2 ) 169 160 zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 ) 170 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 171 CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d, 172 . iim*jjmp1,ndex2d) 173 c 174 CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d) 175 CALL histwrite(nid_mth,"SWup200",itau_w,zx_tmp_2d, 176 $ iim*jjmp1,ndex2d) 177 c 178 CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d) 179 CALL histwrite(nid_mth,"SWup200clr",itau_w,zx_tmp_2d, 180 $ iim*jjmp1,ndex2d) 181 c 182 CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d) 183 CALL histwrite(nid_mth,"SWdn200",itau_w,zx_tmp_2d, 184 $ iim*jjmp1,ndex2d) 185 c 186 CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d) 187 CALL histwrite(nid_mth,"SWdn200clr",itau_w,zx_tmp_2d, 188 $ iim*jjmp1,ndex2d) 189 c 190 CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d) 191 CALL histwrite(nid_mth,"LWup200",itau_w,zx_tmp_2d, 192 $ iim*jjmp1,ndex2d) 193 c 194 CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d) 195 CALL histwrite(nid_mth,"LWup200clr",itau_w,zx_tmp_2d, 196 $ iim*jjmp1,ndex2d) 161 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 162 CALL histwrite_phy(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_fi2d) 163 c 164 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d) 165 CALL histwrite_phy(nid_mth,"SWup200",itau_w,SWup200) 166 c 167 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d) 168 CALL histwrite_phy(nid_mth,"SWup200clr",itau_w,SWup200clr) 169 c 170 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d) 171 CALL histwrite_phy(nid_mth,"SWdn200",itau_w,SWdn200) 172 c 173 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d) 174 CALL histwrite_phy(nid_mth,"SWdn200clr",itau_w,SWdn200clr) 175 c 176 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d) 177 CALL histwrite_phy(nid_mth,"LWup200",itau_w,LWup200) 178 c 179 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d) 180 CALL histwrite_phy(nid_mth,"LWup200clr",itau_w,LWup200clr) 197 181 c 198 182 zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon) 199 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 200 CALL histwrite(nid_mth,"LWdn200",itau_w,zx_tmp_2d, 201 $ iim*jjmp1,ndex2d) 183 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 184 CALL histwrite_phy(nid_mth,"LWdn200",itau_w,zx_tmp_fi2d) 202 185 c 203 186 zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon) 204 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 205 CALL histwrite(nid_mth,"LWdn200clr",itau_w,zx_tmp_2d, 206 $ iim*jjmp1,ndex2d) 187 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 188 CALL histwrite_phy(nid_mth,"LWdn200clr",itau_w,zx_tmp_fi2d) 207 189 c 208 190 c200 END 209 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)210 CALL histwrite (nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)211 c 212 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)213 CALL histwrite (nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)214 c 215 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)216 CALL histwrite (nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)217 c 218 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)219 CALL histwrite (nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)191 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 192 CALL histwrite_phy(nid_mth,"sols",itau_w,solsw) 193 c 194 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d) 195 CALL histwrite_phy(nid_mth,"sols0",itau_w,solsw0) 196 c 197 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 198 CALL histwrite_phy(nid_mth,"soll",itau_w,sollw) 199 c 200 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d) 201 CALL histwrite_phy(nid_mth,"soll0",itau_w,sollw0) 220 202 c 221 203 c zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1) 222 204 zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 ) 223 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 224 CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d, 225 . iim*jjmp1,ndex2d) 205 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 206 CALL histwrite_phy(nid_mth, "SWupSFC",itau_w,zx_tmp_fi2d) 226 207 c 227 208 c zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1) 228 209 zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 ) 229 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 230 CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d, 231 . iim*jjmp1,ndex2d) 210 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 211 CALL histwrite_phy(nid_mth, "SWupSFCclr",itau_w,zx_tmp_fi2d) 232 212 c 233 213 c zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1) 234 214 zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 ) 235 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 236 CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d, 237 . iim*jjmp1,ndex2d) 215 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 216 CALL histwrite_phy(nid_mth, "SWdnSFC",itau_w,zx_tmp_fi2d) 238 217 c 239 218 c zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1) 240 219 zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 ) 241 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 242 CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d, 243 . iim*jjmp1,ndex2d) 220 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 221 CALL histwrite_phy(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_fi2d) 244 222 c 245 223 zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon) 246 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 247 CALL histwrite(nid_mth,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1, 248 . ndex2d) 224 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 225 CALL histwrite_phy(nid_mth,"LWupSFC",itau_w,zx_tmp_fi2d) 249 226 c 250 227 zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon) 251 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 252 CALL histwrite(nid_mth,"LWupSFCclr",itau_w,zx_tmp_2d,iim*jjmp1, 253 . ndex2d) 254 c 255 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 256 CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1, 257 . ndex2d) 228 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 229 CALL histwrite_phy(nid_mth,"LWupSFCclr",itau_w,zx_tmp_fi2d) 230 c 231 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 232 CALL histwrite_phy(nid_mth,"LWdnSFC",itau_w,sollwdown) 258 233 c 259 234 DO i=1, klon … … 261 236 ENDDO !i=1, klon 262 237 c 263 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d) 264 CALL histwrite(nid_mth,"LWdnSFCclr",itau_w,zx_tmp_2d, 265 $ iim*jjmp1,ndex2d) 238 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d) 239 CALL histwrite_phy(nid_mth,"LWdnSFCclr",itau_w,sollwdownclr) 266 240 c 267 241 c … … 271 245 zx_tmp_fi2d(1:klon) = topswai(1:klon) - topswad(1:klon) 272 246 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topswad,zx_tmp_2d) 273 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)274 CALL histwrite (nid_mth,"topsad",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)247 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) 248 CALL histwrite_phy(nid_mth,"topsad",itau_w,zx_tmp_fi2d) 275 249 c 276 250 zx_tmp_fi2d(1:klon) = solswai(1:klon) - solswad(1:klon) 277 251 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, solswad,zx_tmp_2d) 278 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)279 CALL histwrite (nid_mth,"solsad",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)252 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) 253 CALL histwrite_phy(nid_mth,"solsad",itau_w,zx_tmp_fi2d) 280 254 c 281 255 zx_tmp_fi2d(1:klon) = topsw(1:klon) - topswai(1:klon) 282 256 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topswai,zx_tmp_2d) 283 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)284 CALL histwrite (nid_mth,"topsai",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)257 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) 258 CALL histwrite_phy(nid_mth,"topsai",itau_w,zx_tmp_fi2d) 285 259 c 286 260 zx_tmp_fi2d(1:klon) = solsw(1:klon) - solswai(1:klon) 287 261 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, solswai,zx_tmp_2d) 288 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) 289 CALL histwrite(nid_mth,"solsai",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 290 c endif 291 c 292 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 293 CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 262 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) 263 CALL histwrite_phy(nid_mth,"solsai",itau_w,zx_tmp_fi2d) 264 cym 265 c endif 266 c 267 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 268 CALL histwrite_phy(nid_mth,"bils",itau_w,bils) 294 269 c 295 270 zx_tmp_fi2d(1:klon)=-1*sens(1:klon) 296 271 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) 297 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)298 CALL histwrite (nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)299 c 300 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)301 CALL histwrite (nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)272 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 273 CALL histwrite_phy(nid_mth,"sens",itau_w,zx_tmp_fi2d) 274 c 275 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 276 CALL histwrite_phy(nid_mth,"fder",itau_w,fder) 302 277 c 303 278 c … … 315 290 c 316 291 c 317 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d) 318 CALL histwrite(nid_mth,"ffonte",itau_w,zx_tmp_2d,iim*jjmp1, 319 $ ndex2d) 320 c 321 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d) 322 CALL histwrite(nid_mth,"fqcalving",itau_w,zx_tmp_2d,iim*jjmp1, 323 $ ndex2d) 292 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d) 293 CALL histwrite_phy(nid_mth,"ffonte",itau_w,zxffonte) 294 c 295 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d) 296 CALL histwrite_phy(nid_mth,"fqcalving",itau_w,zxfqcalving) 324 297 cIM: 171003 325 298 DO nsrf = 1, nbsrf 326 299 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 327 328 CALL histwrite (nid_mth,"taux_"//clnsurf(nsrf),itau_w,329 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)300 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 301 CALL histwrite_phy(nid_mth,"taux_"//clnsurf(nsrf),itau_w, 302 $ zx_tmp_fi2d) 330 303 C 331 304 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 332 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)333 CALL histwrite (nid_mth,"tauy_"//clnsurf(nsrf),itau_w,334 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)305 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 306 CALL histwrite_phy(nid_mth,"tauy_"//clnsurf(nsrf),itau_w, 307 $ zx_tmp_fi2d) 335 308 ENDDO 336 309 cIM: 171003 … … 341 314 IF(nsrf.GT.1) THEN 342 315 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 343 344 CALL histwrite (nid_mth,"pourc_"//clnsurf(nsrf),itau_w,345 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)316 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 317 CALL histwrite_phy(nid_mth,"pourc_"//clnsurf(nsrf),itau_w, 318 $ zx_tmp_fi2d) 346 319 ENDIF !nsrf.GT.1 347 320 C 348 321 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 349 350 CALL histwrite (nid_mth,"tsol_"//clnsurf(nsrf),itau_w,351 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)322 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 323 CALL histwrite_phy(nid_mth,"tsol_"//clnsurf(nsrf),itau_w, 324 $ zx_tmp_fi2d) 352 325 C 353 326 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 354 355 CALL histwrite (nid_mth,"sens_"//clnsurf(nsrf),itau_w,356 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)327 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 328 CALL histwrite_phy(nid_mth,"sens_"//clnsurf(nsrf),itau_w, 329 $ zx_tmp_fi2d) 357 330 C 358 331 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 359 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)360 CALL histwrite (nid_mth,"lat_"//clnsurf(nsrf),itau_w,361 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)332 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 333 CALL histwrite_phy(nid_mth,"lat_"//clnsurf(nsrf),itau_w, 334 $ zx_tmp_fi2d) 362 335 C 363 336 zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf) 364 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)365 CALL histwrite (nid_mth,"flw_"//clnsurf(nsrf),itau_w,366 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)337 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 338 CALL histwrite_phy(nid_mth,"flw_"//clnsurf(nsrf),itau_w, 339 $ zx_tmp_fi2d) 367 340 c 368 341 zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf) 369 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)370 CALL histwrite (nid_mth,"fsw_"//clnsurf(nsrf),itau_w,371 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)342 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 343 CALL histwrite_phy(nid_mth,"fsw_"//clnsurf(nsrf),itau_w, 344 $ zx_tmp_fi2d) 372 345 C 373 346 zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf) 374 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)375 CALL histwrite (nid_mth,"wbils_"//clnsurf(nsrf),itau_w,376 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)347 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 348 CALL histwrite_phy(nid_mth,"wbils_"//clnsurf(nsrf),itau_w, 349 $ zx_tmp_fi2d) 377 350 C 378 351 … … 381 354 382 355 c 383 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)384 CALL histwrite (nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)385 c 386 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)387 CALL histwrite (nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)388 c 389 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)390 CALL histwrite (nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)391 c 392 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)393 CALL histwrite (nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)394 c 395 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)396 CALL histwrite (nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)397 c 398 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)399 CALL histwrite (nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)400 c 401 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)402 CALL histwrite (nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)356 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 357 CALL histwrite_phy(nid_mth,"cdrm",itau_w,cdragm) 358 c 359 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 360 CALL histwrite_phy(nid_mth,"cdrh",itau_w,cdragh) 361 c 362 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 363 CALL histwrite_phy(nid_mth,"cldl",itau_w,cldl) 364 c 365 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 366 CALL histwrite_phy(nid_mth,"cldm",itau_w,cldm) 367 c 368 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 369 CALL histwrite_phy(nid_mth,"cldh",itau_w,cldh) 370 c 371 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 372 CALL histwrite_phy(nid_mth,"cldt",itau_w,cldt) 373 c 374 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 375 CALL histwrite_phy(nid_mth,"cldq",itau_w,cldq) 403 376 c 404 377 zx_tmp_fi2d(1:klon) = flwp(1:klon) 405 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)406 CALL histwrite (nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)378 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 379 CALL histwrite_phy(nid_mth,"lwp",itau_w,zx_tmp_fi2d) 407 380 c 408 381 zx_tmp_fi2d(1:klon) = fiwp(1:klon) 409 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)410 CALL histwrite (nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)411 c 412 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)413 CALL histwrite (nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)414 c 415 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)416 CALL histwrite (nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)417 c 418 CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)419 CALL histwrite (nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)420 c 421 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)422 CALL histwrite (nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)382 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 383 CALL histwrite_phy(nid_mth,"iwp",itau_w,zx_tmp_fi2d) 384 c 385 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 386 CALL histwrite_phy(nid_mth,"ue",itau_w,ue) 387 c 388 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 389 CALL histwrite_phy(nid_mth,"ve",itau_w,ve) 390 c 391 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d) 392 CALL histwrite_phy(nid_mth,"uq",itau_w,uq) 393 c 394 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d) 395 CALL histwrite_phy(nid_mth,"vq",itau_w,vq) 423 396 cKE43 424 397 IF (iflag_con.GE.3) THEN ! sb 425 398 c 426 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)427 CALL histwrite (nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)428 c 429 CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)430 CALL histwrite (nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)431 c 432 CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)433 CALL histwrite (nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)434 c 435 CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)436 CALL histwrite (nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)399 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d) 400 CALL histwrite_phy(nid_mth,"cape",itau_w,cape) 401 c 402 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d) 403 CALL histwrite_phy(nid_mth,"pbase",itau_w,pbase) 404 c 405 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d) 406 CALL histwrite_phy(nid_mth,"ptop",itau_w,ema_pct) 407 c 408 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d) 409 CALL histwrite_phy(nid_mth,"fbase",itau_w,ema_cbmf) 437 410 c 438 411 c34EK … … 440 413 ENDIF !iflag_con.GE.3 441 414 c 442 CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d) 443 CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d, 444 . iim*jjmp1,ndex2d) 415 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d) 416 CALL histwrite_phy(nid_mth,"prw",itau_w,prw) 445 417 c 446 418 c … … 450 422 DO k=1, nlevENS 451 423 c 452 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) 453 CALL histwrite(nid_mth,"u"//clev(k),itau_w,zx_tmp_2d, 454 $ iim*jjmp1,ndex2d) 455 c 456 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) 457 CALL histwrite(nid_mth,"v"//clev(k),itau_w,zx_tmp_2d, 458 $ iim*jjmp1,ndex2d) 459 c 460 CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,k),zx_tmp_2d) 461 CALL histwrite(nid_mth,"w"//clev(k),itau_w,zx_tmp_2d, 462 $ iim*jjmp1,ndex2d) 463 c 464 CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 465 CALL histwrite(nid_mth,"phi"//clev(k),itau_w,zx_tmp_2d, 466 $ iim*jjmp1,ndex2d) 424 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) 425 CALL histwrite_phy(nid_mth,"u"//clev(k),itau_w, ulev(:,k)) 426 c 427 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) 428 CALL histwrite_phy(nid_mth,"v"//clev(k),itau_w,vlev(:,k)) 429 c 430 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,k),zx_tmp_2d) 431 CALL histwrite_phy(nid_mth,"w"//clev(k),itau_w,wlev(:,k)) 432 c 433 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) 434 CALL histwrite_phy(nid_mth,"phi"//clev(k),itau_w,philev(:,k)) 467 435 c 468 436 ENDDO !nlevENS … … 474 442 C 475 443 c 476 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d) 477 CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d, 478 . iim*jjmp1*klev,ndex3d) 479 c 480 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d) 481 CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d, 482 . iim*jjmp1*klev,ndex3d) 483 c 484 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 485 CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d, 486 . iim*jjmp1*klev,ndex3d) 444 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d) 445 CALL histwrite_phy(nid_mth,"lwcon",itau_w,flwc) 446 c 447 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d) 448 CALL histwrite_phy(nid_mth,"iwcon",itau_w,fiwc) 449 c 450 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 451 CALL histwrite_phy(nid_mth,"temp",itau_w,t_seri) 487 452 c 488 453 c#ifdef histmthNMC … … 490 455 c#endif 491 456 c 492 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 493 CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d, 494 . iim*jjmp1*klev,ndex3d) 457 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 458 CALL histwrite_phy(nid_mth,"ovap",itau_w,qx(:,:,ivap)) 495 459 c 496 460 cIM: 071003 … … 501 465 c . iim*jjmp1*klev,ndex3d) 502 466 c 503 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 504 CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d, 505 . iim*jjmp1*klev,ndex3d) 506 c 507 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 508 CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d, 509 . iim*jjmp1*klev,ndex3d) 510 c 511 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 512 CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d, 513 . iim*jjmp1*klev,ndex3d) 514 c 515 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 516 CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d, 517 . iim*jjmp1*klev,ndex3d) 518 c 519 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 520 CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d, 521 . iim*jjmp1*klev,ndex3d) 522 c 523 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d) 524 CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d, 525 . iim*jjmp1*klev,ndex3d) 526 c 527 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d) 528 CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d, 529 . iim*jjmp1*klev,ndex3d) 530 c 531 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d) 532 CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d, 533 . iim*jjmp1*klev,ndex3d) 534 c 535 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d) 536 CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d, 537 . iim*jjmp1*klev,ndex3d) 467 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 468 CALL histwrite_phy(nid_mth,"geop",itau_w,zphi) 469 c 470 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 471 CALL histwrite_phy(nid_mth,"vitu",itau_w,u_seri) 472 c 473 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 474 CALL histwrite_phy(nid_mth,"vitv",itau_w,v_seri) 475 c 476 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 477 CALL histwrite_phy(nid_mth,"vitw",itau_w,omega) 478 c 479 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 480 CALL histwrite_phy(nid_mth,"pres",itau_w,pplay) 481 c 482 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d) 483 CALL histwrite_phy(nid_mth,"rneb",itau_w,cldfra) 484 c 485 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d) 486 CALL histwrite_phy(nid_mth,"rnebcon",itau_w,rnebcon) 487 c 488 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d) 489 CALL histwrite_phy(nid_mth,"rhum",itau_w,zx_rh) 490 c 491 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d) 492 CALL histwrite_phy(nid_mth,"ozone",itau_w,wo) 538 493 c 539 494 cIM 22.03.04 BEG 540 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 541 CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d, 542 . iim*jjmp1*klev,ndex3d) 543 c 544 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), 545 . zx_tmp_3d) 546 CALL histwrite(nid_mth,"dqphy",itau_w,zx_tmp_3d, 547 . iim*jjmp1*klev,ndex3d) 495 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 496 CALL histwrite_phy(nid_mth,"dtphy",itau_w,d_t) 497 c 498 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), 499 cym . zx_tmp_3d) 500 CALL histwrite_phy(nid_mth,"dqphy",itau_w, d_qx(:,:,ivap)) 548 501 cIM 22.03.04 END 549 502 c … … 555 508 c 556 509 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) 557 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)558 CALL histwrite (nid_mth,"albe_"//clnsurf(nsrf),itau_w,559 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)510 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 511 CALL histwrite_phy(nid_mth,"albe_"//clnsurf(nsrf),itau_w, 512 $ zx_tmp_fi2d) 560 513 C 561 514 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) 562 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)563 CALL histwrite (nid_mth,"rugs_"//clnsurf(nsrf),itau_w,564 $ zx_tmp_ 2d,iim*jjmp1,ndex2d)515 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 516 CALL histwrite_phy(nid_mth,"rugs_"//clnsurf(nsrf),itau_w, 517 $ zx_tmp_fi2d) 565 518 c 566 519 zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf) 567 CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)568 CALL histwrite (nid_mth,"ages_"//clnsurf(nsrf),itau_w569 $ ,zx_tmp_ 2d,iim*jjmp1,ndex2d)520 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d) 521 CALL histwrite_phy(nid_mth,"ages_"//clnsurf(nsrf),itau_w 522 $ ,zx_tmp_fi2d) 570 523 c 571 524 ENDDO !nsrf=1, nbsrf 572 525 c 573 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)574 CALL histwrite (nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)575 c 576 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)577 CALL histwrite (nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)526 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d) 527 CALL histwrite_phy(nid_mth,"albs",itau_w,albsol) 528 c 529 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d) 530 CALL histwrite_phy(nid_mth,"albslw",itau_w,albsollw) 578 531 c 579 532 ENDIF !lev_histmth.GE.3 … … 582 535 IF(lev_histmth.GE.4) THEN 583 536 c 584 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d) 585 CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d, 586 . iim*jjmp1*klev,ndex3d) 537 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d) 538 CALL histwrite_phy(nid_mth,"clwcon",itau_w,clwcon0) 587 539 c 588 540 IF (iflag_con.GE.3) THEN 589 541 c 590 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d) 591 CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d, 592 . iim*jjmp1*klev,ndex3d) 593 c 594 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d) 595 CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d, 596 . iim*jjmp1*klev,ndex3d) 597 c 598 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d) 599 CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d, 600 . iim*jjmp1*klev,ndex3d) 601 c 602 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d) 603 CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d, 604 . iim*jjmp1*klev,ndex3d) 605 c 606 ENDIF !iflag_con.GE.3 607 c 608 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 609 CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d, 610 . iim*jjmp1*klev,ndex3d) 611 c 612 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d) 613 CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d, 614 . iim*jjmp1*klev,ndex3d) 542 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d) 543 CALL histwrite_phy(nid_mth,"Ma",itau_w,Ma) 544 c 545 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d) 546 CALL histwrite_phy(nid_mth,"upwd",itau_w,upwd) 547 c 548 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d) 549 CALL histwrite_phy(nid_mth,"dnwd",itau_w,dnwd) 550 c 551 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d) 552 CALL histwrite_phy(nid_mth,"dnwd0",itau_w,dnwd0) 553 c 554 555 ENDIF 556 c 557 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 558 CALL histwrite_phy(nid_mth,"dtdyn",itau_w,d_t_dyn) 559 c 560 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d) 561 CALL histwrite_phy(nid_mth,"dqdyn",itau_w,d_q_dyn) 615 562 c 616 563 cIM: 101003 : K/30min ==> K/s 617 564 zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys 618 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 619 CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d, 620 . iim*jjmp1*klev,ndex3d) 621 c 622 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_con, zx_tmp_3d) 623 CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d, 624 . iim*jjmp1*klev,ndex3d) 565 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 566 CALL histwrite_phy(nid_mth,"dtcon",itau_w,zx_tmp_fi3d) 567 c 568 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_con, zx_tmp_3d) 569 CALL histwrite_phy(nid_mth,"dqcon",itau_w,d_q_con) 625 570 c 626 571 cIM: 101003 : K/30min ==> K/s 627 572 zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys 628 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 629 CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d, 630 . iim*jjmp1*klev,ndex3d) 573 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 574 CALL histwrite_phy(nid_mth,"dtlsc",itau_w,zx_tmp_fi3d) 631 575 cIM: 071003 632 576 cIM: 101003 : K/30min ==> K/s 633 577 zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+ 634 578 . d_t_eva(1:klon,1:klev))/pdtphys 635 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d) 636 CALL histwrite(nid_mth,"dtlschr",itau_w,zx_tmp_3d, 637 . iim*jjmp1*klev,ndex3d) 638 c 639 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_lsc, zx_tmp_3d) 640 CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d, 641 . iim*jjmp1*klev,ndex3d) 579 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d) 580 CALL histwrite_phy(nid_mth,"dtlschr",itau_w,zx_tmp_fi3d) 581 c 582 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_lsc, zx_tmp_3d) 583 CALL histwrite_phy(nid_mth,"dqlsc",itau_w,d_q_lsc) 642 584 c 643 585 cIM: 101003 : K/30min ==> K/s 644 586 zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys 645 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 646 CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d, 647 . iim*jjmp1*klev,ndex3d) 648 c 649 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) 650 CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d, 651 . iim*jjmp1*klev,ndex3d) 587 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 588 CALL histwrite_phy(nid_mth,"dtvdf",itau_w,zx_tmp_fi3d) 589 c 590 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) 591 CALL histwrite_phy(nid_mth,"dqvdf",itau_w,d_q_vdf) 652 592 c 653 593 cIM: 101003 : K/30min ==> K/s 654 594 zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys 655 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 656 CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d, 657 . iim*jjmp1*klev,ndex3d) 658 c 659 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_eva, zx_tmp_3d) 660 CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d, 661 . iim*jjmp1*klev,ndex3d) 595 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 596 CALL histwrite_phy(nid_mth,"dteva",itau_w,zx_tmp_fi3d) 597 c 598 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_eva, zx_tmp_3d) 599 CALL histwrite_phy(nid_mth,"dqeva",itau_w, d_q_eva) 662 600 c 663 601 zpt_conv = 0. 664 602 where (ptconv) zpt_conv = 1. 665 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d) 666 CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d, 667 . iim*(jjmp1)*klev,ndex3d) 668 c 669 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d) 670 CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d, 671 . iim*(jjmp1)*klev,ndex3d) 603 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d) 604 CALL histwrite_phy(nid_mth,"ptconv",itau_w,zpt_conv) 605 c 606 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d) 607 CALL histwrite_phy(nid_mth,"ratqs",itau_w,ratqs) 672 608 c 673 609 cIM: 101003 : K/30min ==> K/s 674 610 zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys 675 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 676 CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d, 677 . iim*jjmp1*klev,ndex3d) 678 c 679 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_ajs, zx_tmp_3d) 680 CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d, 681 . iim*jjmp1*klev,ndex3d) 611 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 612 CALL histwrite_phy(nid_mth,"dtajs",itau_w,zx_tmp_fi3d) 613 c 614 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_ajs, zx_tmp_3d) 615 CALL histwrite_phy(nid_mth,"dqajs",itau_w,d_q_ajs) 682 616 c 683 617 cIM: 101003 : K/day ==> K/s 684 618 cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)*pdtphys/RDAY 685 619 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY 686 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 687 CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d, 688 . iim*jjmp1*klev,ndex3d) 620 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 621 CALL histwrite_phy(nid_mth,"dtswr",itau_w,zx_tmp_fi3d) 689 622 c 690 623 cIM: 101003 : K/day ==> K/s 691 624 cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)*pdtphys/RDAY 692 625 zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY 693 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 694 CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d, 695 . iim*jjmp1*klev,ndex3d) 626 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 627 CALL histwrite_phy(nid_mth,"dtsw0",itau_w,zx_tmp_fi3d) 696 628 c 697 629 cIM: 101003 : K/day ==> K/s 698 630 cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)*pdtphys/RDAY 699 631 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY 700 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 701 CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d, 702 . iim*jjmp1*klev,ndex3d) 632 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 633 CALL histwrite_phy(nid_mth,"dtlwr",itau_w,zx_tmp_fi3d) 703 634 c 704 635 cIM: 101003 : K/day ==> K/s 705 636 cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)*pdtphys/RDAY 706 637 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY 707 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 708 CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d, 709 . iim*jjmp1*klev,ndex3d) 638 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 639 CALL histwrite_phy(nid_mth,"dtlw0",itau_w,zx_tmp_fi3d) 710 640 c 711 641 cIM: 101003 : deja en K/s 712 642 zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 713 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 714 CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d, 715 . iim*jjmp1*klev,ndex3d) 716 c 717 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 718 CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d, 719 . iim*jjmp1*klev,ndex3d) 720 c 721 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 722 CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d, 723 . iim*jjmp1*klev,ndex3d) 643 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 644 CALL histwrite_phy(nid_mth,"dtec",itau_w,zx_tmp_fi3d) 645 c 646 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 647 CALL histwrite_phy(nid_mth,"duvdf",itau_w,d_u_vdf) 648 c 649 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 650 CALL histwrite_phy(nid_mth,"dvvdf",itau_w,d_v_vdf) 724 651 c 725 652 IF (ok_orodr) THEN 726 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) 727 CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d, 728 . iim*jjmp1*klev,ndex3d) 729 c 730 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_oro, zx_tmp_3d) 731 CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d, 732 . iim*jjmp1*klev,ndex3d) 653 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) 654 CALL histwrite_phy(nid_mth,"duoro",itau_w,d_u_oro) 655 c 656 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_oro, zx_tmp_3d) 657 CALL histwrite_phy(nid_mth,"dvoro",itau_w,d_v_oro) 733 658 c 734 659 ENDIF 735 660 C 736 661 IF (ok_orolf) THEN 737 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_lif, zx_tmp_3d) 738 CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d, 739 . iim*jjmp1*klev,ndex3d) 740 c 741 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_lif, zx_tmp_3d) 742 CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d, 743 . iim*jjmp1*klev,ndex3d) 662 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_lif, zx_tmp_3d) 663 CALL histwrite_phy(nid_mth,"dulif",itau_w,d_u_lif) 664 c 665 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_lif, zx_tmp_3d) 666 CALL histwrite_phy(nid_mth,"dvlif",itau_w, d_v_lif) 744 667 ENDIF 745 668 C … … 748 671 c 749 672 c IF (ok_ade.OR.ok_aie) THEN 750 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, re, zx_tmp_3d) 751 CALL histwrite(nid_mth,"re",itau_w,zx_tmp_3d, 752 . iim*jjmp1*klev,ndex3d) 753 c 754 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fl, zx_tmp_3d) 755 CALL histwrite(nid_mth,"redenom",itau_w,zx_tmp_3d, 756 . iim*jjmp1*klev,ndex3d) 757 c 758 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau, zx_tmp_3d) 759 CALL histwrite(nid_mth,"tau",itau_w,zx_tmp_3d, 760 . iim*jjmp1*klev,ndex3d) 761 c 762 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtaupi, zx_tmp_3d) 763 CALL histwrite(nid_mth,"taupi",itau_w,zx_tmp_3d, 764 . iim*jjmp1*klev,ndex3d) 673 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, re, zx_tmp_3d) 674 CALL histwrite_phy(nid_mth,"re",itau_w,re) 675 c 676 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fl, zx_tmp_3d) 677 CALL histwrite_phy(nid_mth,"redenom",itau_w,fl) 678 c 679 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau, zx_tmp_3d) 680 CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau) 681 c 682 cym CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtaupi, zx_tmp_3d) 683 CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi) 765 684 c endif 766 685 c 767 686 IF (nqmax.GE.3) THEN 768 687 DO iq=3,nqmax 769 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d) 770 CALL histwrite(nid_mth,tnom(iq),itau_w,zx_tmp_3d, 771 . iim*jjmp1*klev,ndex3d) 688 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d) 689 CALL histwrite_phy(nid_mth,tnom(iq),itau_w,qx(:,:,iq)) 772 690 ENDDO 773 691 ENDIF -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histmthNMC.h
r524 r634 28 28 ENDIF 29 29 c 30 CALL gr_fi_ecrit(1, klon,iim,jjmp1, tlevSTD(:,k),zx_tmp_2d) 31 CALL histwrite(nid_nmc,"t"//bb,itau_w,zx_tmp_2d, 32 $ iim*jjmp1,ndex2d) 30 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, tlevSTD(:,k),zx_tmp_2d) 31 CALL histwrite_phy(nid_nmc,"t"//bb,itau_w,tlevSTD(:,k)) 33 32 c 34 CALL gr_fi_ecrit(1, klon,iim,jjmp1, philevSTD(:,k),zx_tmp_2d) 35 CALL histwrite(nid_nmc,"phi"//bb,itau_w,zx_tmp_2d, 36 $ iim*jjmp1,ndex2d) 33 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, philevSTD(:,k),zx_tmp_2d) 34 CALL histwrite_phy(nid_nmc,"phi"//bb,itau_w,philevSTD(:,k)) 37 35 c 38 CALL gr_fi_ecrit(1, klon,iim,jjmp1, qlevSTD(:,k),zx_tmp_2d) 39 CALL histwrite(nid_nmc,"q"//bb,itau_w,zx_tmp_2d, 40 $ iim*jjmp1,ndex2d) 36 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, qlevSTD(:,k),zx_tmp_2d) 37 CALL histwrite_phy(nid_nmc,"q"//bb,itau_w,qlevSTD(:,k)) 41 38 c 42 CALL gr_fi_ecrit(1, klon,iim,jjmp1, rhlevSTD(:,k),zx_tmp_2d) 43 CALL histwrite(nid_nmc,"rh"//bb,itau_w,zx_tmp_2d, 44 $ iim*jjmp1,ndex2d) 39 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, rhlevSTD(:,k),zx_tmp_2d) 40 CALL histwrite_phy(nid_nmc,"rh"//bb,itau_w,rhlevSTD(:,k)) 45 41 c 46 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulevSTD(:,k),zx_tmp_2d) 47 CALL histwrite(nid_nmc,"u"//bb,itau_w,zx_tmp_2d, 48 $ iim*jjmp1,ndex2d) 42 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulevSTD(:,k),zx_tmp_2d) 43 CALL histwrite_phy(nid_nmc,"u"//bb,itau_w,ulevSTD(:,k)) 49 44 c 50 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlevSTD(:,k),zx_tmp_2d) 51 CALL histwrite(nid_nmc,"v"//bb,itau_w,zx_tmp_2d, 52 $ iim*jjmp1,ndex2d) 45 cym CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlevSTD(:,k),zx_tmp_2d) 46 CALL histwrite_phy(nid_nmc,"v"//bb,itau_w,vlevSTD(:,k)) 53 47 c 54 48 ENDDO !k=1, nlevSTD -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histrac.h
r633 r634 12 12 13 13 i = NINT(zout/zsto) 14 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)15 CALL histwrite (nid_tra,"phis",itau_w,zx_tmp_2d,iim*(jjm+1),ndex2d)14 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d) 15 CALL histwrite_phy(nid_tra,"phis",itau_w,pphis) 16 16 C 17 CALL gr_fi_ecrit(1,klon,iim,jjm+1,airephy,zx_tmp_2d) 18 CALL histwrite(nid_tra,"aire",itau_w,zx_tmp_2d,iim*(jjm+1),ndex2d) 19 #ifdef INCA 20 CALL gr_fi_ecrit(1, klon,iim,jjm+1, ps,zx_tmp_2d) 21 CALL histwrite(nid_tra,"ps",itau_w,zx_tmp_2d, 22 . iim*(jjm+1),ndex2d) 23 24 CALL gr_fi_ecrit(1, klon,iim,jjm+1, ptrop,zx_tmp_2d) 25 CALL histwrite(nid_tra,"ptrop",itau_w,zx_tmp_2d, 26 . iim*(jjm+1),ndex2d) 17 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,airephy,zx_tmp_2d) 18 CALL histwrite_phy(nid_tra,"aire",itau_w,airephy) 19 #ifdef INCA 20 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ps,zx_tmp_2d) 21 CALL histwrite_phy(nid_tra,"ps",itau_w,ps) 22 23 print *,"WRITE PTROP" 24 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ptrop,zx_tmp_2d) 25 CALL histwrite_phy(nid_tra,"ptrop",itau_w,ptrop) 27 26 28 27 C 3d FIELDS 29 30 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri, zx_tmp_3d) 31 CALL histwrite(nid_tra,"temp",itau_w,zx_tmp_3d, 32 . iim*(jjm+1)*klev,ndex3d) 33 34 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,u, zx_tmp_3d) 35 CALL histwrite(nid_tra,"u",itau_w,zx_tmp_3d, 36 . iim*(jjm+1)*klev,ndex3d) 37 38 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,v, zx_tmp_3d) 39 CALL histwrite(nid_tra,"v",itau_w,zx_tmp_3d, 40 . iim*(jjm+1)*klev,ndex3d) 41 42 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,sh, zx_tmp_3d) 43 CALL histwrite(nid_tra,"h2o",itau_w,zx_tmp_3d, 44 . iim*(jjm+1)*klev,ndex3d) 45 46 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pdel, zx_tmp_3d) 47 CALL histwrite(nid_tra,"pdel",itau_w,zx_tmp_3d, 48 . iim*(jjm+1)*klev,ndex3d) 49 50 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay, zx_tmp_3d) 51 CALL histwrite(nid_tra,"pmid",itau_w,zx_tmp_3d, 52 . iim*(jjm+1)*klev,ndex3d) 28 29 print *,"WRITE T_SERI" 30 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri, zx_tmp_3d) 31 CALL histwrite_phy(nid_tra,"temp",itau_w,t_seri) 32 33 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,u, zx_tmp_3d) 34 CALL histwrite_phy(nid_tra,"u",itau_w,u) 35 36 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,v, zx_tmp_3d) 37 CALL histwrite_phy(nid_tra,"v",itau_w,v) 38 39 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,sh, zx_tmp_3d) 40 CALL histwrite_phy(nid_tra,"h2o",itau_w,sh) 41 42 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pdel, zx_tmp_3d) 43 CALL histwrite_phy(nid_tra,"pdel",itau_w,pdel) 44 45 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay, zx_tmp_3d) 46 CALL histwrite_phy(nid_tra,"pmid",itau_w,pplay) 47 53 48 54 49 ! Ajout Anne 55 50 !#ifdef INCA_AER 56 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,airm, zx_tmp_3d) 57 CALL histwrite(nid_tra,"airm",itau_w,zx_tmp_3d, 58 . iim*(jjm+1)*klev,ndex) 51 c CALL gr_fi_ecrit(klev,klon,iim,jjm+1,airm, zx_tmp_3d) 52 CALL histwrite_phy(nid_tra,"airm",itau_w,airm) 59 53 !#endif 60 54 … … 65 59 DO it=1, phtcnt 66 60 WRITE(str2,'(i2.2)') it 67 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,it), 68 . zx_tmp_3d) 69 CALL histwrite(nid_tra,"j"//str2,itau_w,zx_tmp_3d, 70 . iim*(jjm+1)*klev,ndex3d) 61 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,it), 62 cym . zx_tmp_3d) 63 CALL histwrite_phy(nid_tra,"j"//str2,itau_w,jrates(:,:,it)) 71 64 ENDDO 72 65 73 66 DO it=1, hetcnt 74 67 WRITE(str2,'(i2.2)') it 75 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,it), 76 . zx_tmp_3d) 77 CALL histwrite(nid_tra,"w"//str2,itau_w,zx_tmp_3d, 78 . iim*(jjm+1)*klev,ndex3d) 68 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,it), 69 cym . zx_tmp_3d) 70 CALL histwrite_phy(nid_tra,"w"//str2,itau_w,hrates(:,:,it)) 79 71 ENDDO 80 72 81 73 DO it=1, extcnt 82 74 WRITE(str2,'(i2.2)') it 83 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,it), 84 . zx_tmp_3d) 85 CALL histwrite(nid_tra,"ext"//str2,itau_w,zx_tmp_3d, 86 . iim*(jjm+1)*klev,ndex3d) 75 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,it), 76 cym . zx_tmp_3d) 77 CALL histwrite_phy(nid_tra,"ext"//str2,itau_w,extflx(:,:,it)) 87 78 ENDDO 88 79 89 80 DO it=1, nfs 90 81 WRITE(str2,'(i2.2)') it 91 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,invariants(1,1,it), 92 . zx_tmp_3d) 93 CALL histwrite(nid_tra,"INV"//str2,itau_w,zx_tmp_3d, 94 . iim*(jjm+1)*klev,ndex3d) 82 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,invariants(1,1,it), 83 cym . zx_tmp_3d) 84 CALL histwrite_phy(nid_tra,"INV"//str2,itau_w,invariants(:,:,it)) 95 85 ENDDO 96 86 #else 97 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,2), 98 . zx_tmp_3d) 99 CALL histwrite(nid_tra,"jO3",itau_w,zx_tmp_3d, 100 . iim*(jjm+1)*klev,ndex3d) 101 102 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,4), 103 . zx_tmp_3d) 104 CALL histwrite(nid_tra,"jNO2",itau_w,zx_tmp_3d, 105 . iim*(jjm+1)*klev,ndex3d) 106 107 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,13), 108 . zx_tmp_3d) 109 CALL histwrite(nid_tra,"jH2O2",itau_w,zx_tmp_3d, 110 . iim*(jjm+1)*klev,ndex3d) 111 112 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,1), 113 . zx_tmp_3d) 114 CALL histwrite(nid_tra,"wHNO3",itau_w,zx_tmp_3d, 115 . iim*(jjm+1)*klev,ndex3d) 116 117 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,krates(1,1,1), 118 . zx_tmp_3d) 119 CALL histwrite(nid_tra,"kN2O5",itau_w,zx_tmp_3d, 120 . iim*(jjm+1)*klev,ndex3d) 121 122 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,1), 123 . zx_tmp_3d) 124 CALL histwrite(nid_tra,"LghtNO",itau_w,zx_tmp_3d, 125 . iim*(jjm+1)*klev,ndex3d) 87 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,2), 88 cym . zx_tmp_3d) 89 CALL histwrite_phy(nid_tra,"jO3",itau_w,jrates(:,:,2)) 90 91 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,4), 92 cym . zx_tmp_3d) 93 CALL histwrite_phy(nid_tra,"jNO2",itau_w,jrates(:,:,4)) 94 95 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,13), 96 cym . zx_tmp_3d) 97 CALL histwrite_phy(nid_tra,"jH2O2",itau_w,jrates(:,:,13)) 98 99 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,1), 100 cym . zx_tmp_3d) 101 CALL histwrite_phy(nid_tra,"wHNO3",itau_w,hrates(:,:,1)) 102 103 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,krates(1,1,1), 104 cym . zx_tmp_3d) 105 CALL histwrite_phy(nid_tra,"kN2O5",itau_w,krates(:,:,1)) 106 107 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,1), 108 cym . zx_tmp_3d) 109 CALL histwrite_phy(nid_tra,"LghtNO",itau_w,extflx(:,:,1)) 126 110 #endif 127 111 DO it=1, grpcnt 128 112 129 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,nas(1,1,it),zx_tmp_3d)130 zx_tmp_3d = zx_tmp_3d * dry_mass / nadv_mass(it)131 CALL histwrite (nid_tra,grpsym(it),itau_w,zx_tmp_3d,132 . iim*(jjm+1)*klev,ndex3d)113 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,nas(1,1,it),zx_tmp_3d) 114 cym zx_tmp_3d = zx_tmp_3d * dry_mass / nadv_mass(it) 115 CALL histwrite_phy(nid_tra,grpsym(it),itau_w, 116 . nas(:,:,it)* dry_mass / nadv_mass(it)) 133 117 ENDDO 134 118 #endif … … 137 121 138 122 it = id_CIDUSTM 139 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_st(1,1,it),140 . zx_tmp_3d)141 CALL histwrite (nid_tra2,"scavcoef_st",itau_w,zx_tmp_3d,142 . iim*(jjm+1)*klev,ndex3d)143 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_cv(1,1,it),144 . zx_tmp_3d)145 CALL histwrite (nid_tra2,"scavcoef_cv",itau_w,zx_tmp_3d,146 . iim*(jjm+1)*klev,ndex3d)123 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_st(1,1,it), 124 cym . zx_tmp_3d) 125 CALL histwrite_phy(nid_tra,"scavcoef_st",itau_w, 126 . scavcoef_st(:,:,it)) 127 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_cv(1,1,it), 128 cym . zx_tmp_3d) 129 CALL histwrite_phy(nid_tra,"scavcoef_cv",itau_w, 130 . scavcoef_cv(:,:,it)) 147 131 148 132 CALL gr_fi_ecrit(1, klon,iim,jjm+1,angst(1),zx_tmp_2d) 149 CALL histwrite(nid_tra2,"AngstroemComp",itau_w,zx_tmp_2d, 150 . iim*(jjm+1),ndex2d) 133 CALL histwrite_phy(nid_tra2,"AngstroemComp",itau_w,angst(:)) 151 134 152 135 #endif … … 157 140 #ifdef INCA 158 141 IF ( prt_flag_ts(it) == 0 ) CYCLE 159 CALL gr_fi_ecrit(1, klon,iim,jjm+1, eflux(1,it),zx_tmp_2d)160 CALL histwrite (nid_tra,"Emi_"//solsym(it),itau_w,zx_tmp_2d,161 . iim*(jjm+1),ndex2d)162 163 CALL gr_fi_ecrit(1, klon,iim,jjm+1, dvel(1,it),zx_tmp_2d)164 CALL histwrite (nid_tra,"Dep_"//solsym(it),itau_w,zx_tmp_2d,165 . iim*(jjm+1),ndex2d)142 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, eflux(1,it),zx_tmp_2d) 143 CALL histwrite_phy(nid_tra,"Emi_"//solsym(it),itau_w, 144 . eflux(:,it)) 145 146 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, dvel(1,it),zx_tmp_2d) 147 CALL histwrite_phy(nid_tra,"Dep_"//solsym(it),itau_w, 148 . dvel(:,it)) 166 149 #ifdef INCA_AER 167 150 call diag(airephy,tr_seri) 168 151 169 152 IF ((it .ge. trmx) .and. (it .le. trnx)) then 170 CALL gr_fi_ecrit(1, klon,iim,jjm+1,sflux(1,it),zx_tmp_2d)171 CALL histwrite (nid_tra2,"Sed_"//solsym(it),itau_w,172 . zx_tmp_2d,iim*(jjm+1),ndex2d)173 174 CALL gr_fi_ecrit(1, klon,iim,jjm+1,dflux(1,it),zx_tmp_2d)175 CALL histwrite (nid_tra2,"Dry_"//solsym(it),itau_w,zx_tmp_2d,176 . iim*(jjm+1),ndex2d)177 CALL gr_fi_ecrit(1, klon,iim,jjm+1,wflux(1,it),zx_tmp_2d)178 CALL histwrite (nid_tra2,"Wet_"//solsym(it),itau_w,zx_tmp_2d,179 . iim*(jjm+1),ndex2d)180 CALL gr_fi_ecrit(1, klon,iim,jjm+1,wsflux(1,it),zx_tmp_2d)181 CALL histwrite (nid_tra2,"WetST_"//solsym(it),itau_w,zx_tmp_2d,182 . iim*(jjm+1),ndex2d)183 CALL gr_fi_ecrit(1, klon,iim,jjm+1,wcflux(1,it),zx_tmp_2d)184 CALL histwrite (nid_tra2,"WetCV_"//solsym(it),itau_w,zx_tmp_2d,185 . iim*(jjm+1),ndex2d)186 187 CALL gr_fi_ecrit(klev, klon,iim,jjm+1,eflux_alt(1,1,it),zx_tmp_3d)188 CALL histwrite (nid_tra2,"Emi_alt_"//solsym(it),itau_w,zx_tmp_3d,189 . iim*(jjm+1)*klev,ndex3d)190 191 CALL gr_fi_ecrit(1, klon,iim,jjm+1,aload(1,it),zx_tmp_2d)192 CALL histwrite (nid_tra2,"Load_"//solsym(it),itau_w,zx_tmp_2d,193 . iim*(jjm+1),ndex2d)194 CALL histwrite (nid_tra3,"Inst_Load_"//solsym(it),itau_w,zx_tmp_2d,195 . iim*(jjm+1),ndex2d)196 197 CALL gr_fi_ecrit(1, klon,iim,jjm+1,sconc(1,it),zx_tmp_2d)198 CALL histwrite (nid_tra2,"SConc_"//solsym(it),itau_w,zx_tmp_2d,199 . iim*(jjm+1),ndex2d)153 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,sflux(1,it),zx_tmp_2d) 154 CALL histwrite_phy(nid_tra2,"Sed_"//solsym(it),itau_w, 155 . sflux(:,it)) 156 157 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,dflux(1,it),zx_tmp_2d) 158 CALL histwrite_phy(nid_tra2,"Dry_"//solsym(it),itau_w, 159 . dflux(:,it)) 160 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wflux(1,it),zx_tmp_2d) 161 CALL histwrite_phy(nid_tra2,"Wet_"//solsym(it),itau_w, 162 . wflux(:,it)) 163 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wsflux(1,it),zx_tmp_2d) 164 CALL histwrite_phy(nid_tra2,"WetST_"//solsym(it),itau_w, 165 . wsflux(:,it)) 166 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wcflux(1,it),zx_tmp_2d) 167 CALL histwrite_phy(nid_tra2,"WetCV_"//solsym(it),itau_w, 168 . wcflux(:,it)) 169 170 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,eflux_alt(1,1,it),zx_tmp_3d) 171 CALL histwrite_phy(nid_tra2,"Emi_alt_"//solsym(it),itau_w, 172 . eflux_alt(:,:,it)) 173 174 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,aload(1,it),zx_tmp_2d) 175 CALL histwrite_phy(nid_tra2,"Load_"//solsym(it),itau_w, 176 . aload(:,it)) 177 CALL histwrite_phy(nid_tra3,"Inst_Load_"//solsym(it),itau_w, 178 . aload(:,it)) 179 180 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,sconc(1,it),zx_tmp_2d) 181 CALL histwrite_phy(nid_tra2,"SConc_"//solsym(it),itau_w, 182 . sconc(:,it)) 200 183 201 184 do la=1,las 202 CALL gr_fi_ecrit(1, klon,iim,jjm+1,tausum(1,la,it),zx_tmp_2d)203 CALL histwrite (nid_tra2,"OD_"//cla(la)//solsym(it),itau_w,zx_tmp_2d,204 . iim*(jjm+1),ndex2d)185 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,tausum(1,la,it),zx_tmp_2d) 186 CALL histwrite_phy(nid_tra2,"OD_"//cla(la)//solsym(it), 187 . itau_w,tausum(:,la,it)) 205 188 enddo 206 189 207 CALL gr_fi_ecrit(klev, klon,iim,jjm+1,md(1,1,it),zx_tmp_3d)208 CALL histwrite (nid_tra2,"MD_"//solsym(it),itau_w,zx_tmp_3d,209 . iim*(jjm+1)*klev,ndex3d)190 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,md(1,1,it),zx_tmp_3d) 191 CALL histwrite_phy(nid_tra2,"MD_"//solsym(it),itau_w, 192 . md(:,:,it)) 210 193 211 194 endif 212 195 #endif 213 196 C champs 3D 214 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) 215 197 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) 198 199 zx_tmp_fi3d(:,:)=tr_seri(:,:,it) 216 200 !Prefer vmr to mmr for transported species 217 201 if( adv_mass(it) /= 0. ) then … … 219 203 if (it .lt. trmx) then 220 204 #endif 221 zx_tmp_ 3d = zx_tmp_3d* dry_mass / adv_mass(it)205 zx_tmp_fi3d(:,:)= zx_tmp_fi3d(:,:) * dry_mass / adv_mass(it) 222 206 #ifdef INCA_AER 223 207 endif … … 226 210 #ifdef INCA 227 211 if ( solsym(it) == 'OX' ) then 228 zx_tmp_ 3d = zx_tmp_3d * dry_mass /nadv_mass(id_o3)212 zx_tmp_fi3d(:,:)=zx_tmp_fi3d(:,:)*dry_mass/nadv_mass(id_o3) 229 213 end if 230 214 #endif 231 215 end if 232 216 233 CALL histwrite(nid_tra,solsym(it),itau_w,zx_tmp_3d, 234 . iim*(jjm+1)*klev,ndex3d) 217 CALL histwrite_phy(nid_tra,solsym(it),itau_w,zx_tmp_fi3d) 235 218 #else 236 219 237 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) 238 CALL histwrite(nid_tra,tnom(it+2),itau_w,zx_tmp_3d, 239 . iim*(jjm+1)*klev,ndex3d) 220 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) 221 CALL histwrite_phy(nid_tra,tnom(it+2),itau_w,tr_seri(:,:,it)) 240 222 if (lessivage) THEN 241 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,flestottr(1,1,it),zx_tmp_3d)242 CALL histwrite (nid_tra,"fl"//tnom(it+2),itau_w,zx_tmp_3d,243 . iim*(jjm+1)*klev,ndex3d)223 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,flestottr(1,1,it),zx_tmp_3d) 224 CALL histwrite_phy(nid_tra,"fl"//tnom(it+2),itau_w, 225 . flestottr(:,:,it)) 244 226 endif 245 227 246 228 c----Olivia 247 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_th(1,1,it),zx_tmp_3d)248 CALL histwrite (nid_tra,"d_tr_th_"//tnom(it+2),itau_w,zx_tmp_3d,249 . iim*(jjm+1)*klev,ndex3d)250 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_cv(1,1,it),zx_tmp_3d)251 CALL histwrite (nid_tra,"d_tr_cv_"//tnom(it+2),itau_w,zx_tmp_3d,252 . iim*(jjm+1)*klev,ndex3d)253 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_cl(1,1,it),zx_tmp_3d)254 CALL histwrite (nid_tra,"d_tr_cl_"//tnom(it+2),itau_w,zx_tmp_3d,255 . iim*(jjm+1)*klev,ndex3d)229 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_th(1,1,it),zx_tmp_3d) 230 CALL histwrite_phy(nid_tra,"d_tr_th_"//tnom(it+2),itau_w, 231 . d_tr_th(:,:,it)) 232 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_cvi(1,1,it),zx_tmp_3d) 233 CALL histwrite_phy(nid_tra,"d_tr_cv_"//tnom(it+2),itau_w, 234 . d_tr_cvi(:,:,it)) 235 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_cli(1,1,it),zx_tmp_3d) 236 CALL histwrite_phy(nid_tra,"d_tr_cl_"//tnom(it+2),itau_w, 237 . d_tr_cli(:,:,it)) 256 238 c---fin Olivia 257 239 … … 261 243 #ifdef INCA 262 244 !#ifdef INCA_CH4 263 CALL gr_fi_ecrit(1, klon,iim,jjm+1, o3_col(1), zx_tmp_2d) 264 CALL histwrite(nid_tra,"O3_column",itau_w,zx_tmp_2d, 265 . iim*(jjm+1),ndex2d) 266 267 CALL gr_fi_ecrit(1, klon,iim,jjm+1, co_col(1), zx_tmp_2d) 268 CALL histwrite(nid_tra,"CO_column",itau_w,zx_tmp_2d, 269 . iim*(jjm+1),ndex2d) 270 271 CALL gr_fi_ecrit(1, klon,iim,jjm+1, ch4_col(1), zx_tmp_2d) 272 CALL histwrite(nid_tra,"CH4_column",itau_w,zx_tmp_2d, 273 . iim*(jjm+1),ndex2d) 274 275 CALL gr_fi_ecrit(1, klon,iim,jjm+1, no2_col(1), zx_tmp_2d) 276 CALL histwrite(nid_tra,"NO2_column",itau_w,zx_tmp_2d, 277 . iim*(jjm+1),ndex2d) 278 279 CALL gr_fi_ecrit(1, klon,iim,jjm+1, o3_st_flx(1), zx_tmp_2d) 280 CALL histwrite(nid_tra,"O3_ste",itau_w,zx_tmp_2d, 281 . iim*(jjm+1),ndex2d) 282 283 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,o3_prod(1,1), 284 . zx_tmp_3d) 285 CALL histwrite(nid_tra,"O3_prod",itau_w,zx_tmp_3d, 286 . iim*(jjm+1)*klev,ndex3d) 287 288 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,o3_loss(1,1), 289 . zx_tmp_3d) 290 CALL histwrite(nid_tra,"O3_loss",itau_w,zx_tmp_3d, 291 . iim*(jjm+1)*klev,ndex3d) 245 CALL histwrite_phy(nid_tra,"O3_column",itau_w,o3_col) 246 247 CALL histwrite_phy(nid_tra,"CO_column",itau_w,co_col) 248 249 CALL histwrite_phy(nid_tra,"CH4_column",itau_w,ch4_col) 250 251 CALL histwrite_phy(nid_tra,"NO2_column",itau_w,no2_col) 252 253 CALL histwrite_phy(nid_tra,"O3_ste",itau_w,o3_st_flx) 254 255 CALL histwrite_phy(nid_tra,"O3_prod",itau_w,o3_prod) 256 257 CALL histwrite_phy(nid_tra,"O3_loss",itau_w,o3_loss) 258 292 259 ! Ajout Anne 293 260 #ifdef INCA_AER 294 261 ! for sulfur cycle 295 262 296 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_dmsoh(1,1), 297 . zx_tmp_3d) 298 CALL histwrite(nid_tra,"SO2_p_dmsoh",itau_w,zx_tmp_3d, 299 . iim*(jjm+1)*klev,ndex) 300 301 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_dmsno3(1,1), 302 . zx_tmp_3d) 303 CALL histwrite(nid_tra,"SO2_p_dmsno3",itau_w,zx_tmp_3d, 304 . iim*(jjm+1)*klev,ndex) 305 306 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_h2soh(1,1), 307 . zx_tmp_3d) 308 CALL histwrite(nid_tra,"SO2_p_h2soh",itau_w,zx_tmp_3d, 309 . iim*(jjm+1)*klev,ndex) 310 311 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_dmsooh(1,1), 312 . zx_tmp_3d) 313 CALL histwrite(nid_tra,"SO2_p_dmsooh",itau_w,zx_tmp_3d, 314 . iim*(jjm+1)*klev,ndex) 315 316 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,DMSO_p_dmsoh(1,1), 317 . zx_tmp_3d) 318 CALL histwrite(nid_tra,"DMSO_p_dmsoh",itau_w,zx_tmp_3d, 319 . iim*(jjm+1)*klev,ndex) 320 321 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASMSAM_p_dmsooh(1,1), 322 . zx_tmp_3d) 323 CALL histwrite(nid_tra,"ASMSAM_p_dmsooh",itau_w,zx_tmp_3d, 324 . iim*(jjm+1)*klev,ndex) 325 326 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASSO4M_p_so2oh(1,1), 327 . zx_tmp_3d) 328 CALL histwrite(nid_tra,"ASSO4M_p_so2oh",itau_w,zx_tmp_3d, 329 . iim*(jjm+1)*klev,ndex) 330 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASSO4M_p_so2h2o2(1,1), 331 . zx_tmp_3d) 332 CALL histwrite(nid_tra,"ASSO4M_p_so2h2o2",itau_w,zx_tmp_3d, 333 . iim*(jjm+1)*klev,ndex) 334 335 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASSO4M_p_so2o3(1,1), 336 . zx_tmp_3d) 337 CALL histwrite(nid_tra,"ASSO4M_p_so2o3",itau_w,zx_tmp_3d, 338 . iim*(jjm+1)*klev,ndex) 263 CALL histwrite_phy(nid_tra,"SO2_p_dmsoh",itau_w,SO2_p_dmsoh) 264 265 CALL histwrite_phy(nid_tra,"SO2_p_dmsno3",itau_w,SO2_p_dmsno3) 266 267 CALL histwrite_phy(nid_tra,"SO2_p_h2soh",itau_w,SO2_p_h2soh) 268 269 CALL histwrite_phy(nid_tra,"SO2_p_dmsooh",itau_w,SO2_p_dmsooh) 270 271 CALL histwrite_phy(nid_tra,"DMSO_p_dmsoh",itau_w,DMSO_p_dmsoh) 272 273 CALL histwrite_phy(nid_tra,"ASMSAM_p_dmsooh",itau_w,ASMSAM_p_dmsooh) 274 275 CALL histwrite_phy(nid_tra,"ASSO4M_p_so2oh",itau_w,ASSO4M_p_so2oh) 276 277 CALL histwrite_phy(nid_tra,"ASSO4M_p_so2h2o2",itau_w,ASSO4M_p_so2h2o2) 278 279 CALL histwrite_phy(nid_tra,"ASSO4M_p_so2o3",itau_w,ASSO4M_p_so2o3) 339 280 340 281 c closing the sulfur budget 341 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_so2(1,1), zx_tmp_3d) 342 CALL histwrite(nid_tra,"Wet3D_SO2",itau_w,zx_tmp_3d, 343 . iim*(jjm+1)*klev,ndex) 344 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_dms(1,1), zx_tmp_3d) 345 CALL histwrite(nid_tra,"Wet3D_DMS",itau_w,zx_tmp_3d, 346 . iim*(jjm+1)*klev,ndex) 347 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_hno3(1,1), zx_tmp_3d) 348 CALL histwrite(nid_tra,"Wet3D_HNO3",itau_w,zx_tmp_3d, 349 . iim*(jjm+1)*klev,ndex) 350 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_h2o2(1,1), zx_tmp_3d) 351 CALL histwrite(nid_tra,"Wet3D_H2O2",itau_w,zx_tmp_3d, 352 . iim*(jjm+1)*klev,ndex) 353 354 355 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,PH_HIST(1,1), 356 . zx_tmp_3d) 357 CALL histwrite(nid_tra,"PH_HIST",itau_w,zx_tmp_3d, 358 . iim*(jjm+1)*klev,ndex) 282 CALL histwrite_phy(nid_tra,"Wet3D_SO2",itau_w,wet3d_so2) 283 CALL histwrite_phy(nid_tra,"Wet3D_DMS",itau_w,wet3d_dms) 284 CALL histwrite_phy(nid_tra,"Wet3D_HNO3",itau_w,wet3d_hno3) 285 CALL histwrite_phy(nid_tra,"Wet3D_H2O2",itau_w,wet3d_h2o2) 286 287 288 CALL histwrite_phy(nid_tra,"PH_HIST",itau_w,PH_HIST) 359 289 #endif 360 290 361 291 #ifdef INCA_NMHC 362 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,CO2_basprod(1,1), 363 . zx_tmp_3d) 364 CALL histwrite(nid_tra,"CO2_basprod",itau_w,zx_tmp_3d, 365 . iim*(jjm+1)*klev,ndex) 366 367 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,CO2_nmhcprod(1,1), 368 . zx_tmp_3d) 369 CALL histwrite(nid_tra,"CO2_nmhcprod",itau_w,zx_tmp_3d, 370 . iim*(jjm+1)*klev,ndex) 371 372 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,CO2_radicalprod(1,1), 373 . zx_tmp_3d) 374 CALL histwrite(nid_tra,"CO2_radicalprod",itau_w,zx_tmp_3d, 375 . iim*(jjm+1)*klev,ndex) 376 377 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hno3_prod(1,1), 378 . zx_tmp_3d) 379 CALL histwrite(nid_tra,"HNO3_prod",itau_w,zx_tmp_3d, 380 . iim*(jjm+1)*klev,ndex) 381 382 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hno3_loss(1,1), 383 . zx_tmp_3d) 384 CALL histwrite(nid_tra,"HNO3_loss",itau_w,zx_tmp_3d, 385 . iim*(jjm+1)*klev,ndex) 386 387 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,co_prod(1,1), 388 . zx_tmp_3d) 389 CALL histwrite(nid_tra,"CO_prod",itau_w,zx_tmp_3d, 390 . iim*(jjm+1)*klev,ndex) 391 392 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,co_loss(1,1), 393 . zx_tmp_3d) 394 CALL histwrite(nid_tra,"CO_loss",itau_w,zx_tmp_3d, 395 . iim*(jjm+1)*klev,ndex) 292 CALL histwrite_phy(nid_tra,"CO2_basprod",itau_w,CO2_basprod) 293 294 CALL histwrite_phy(nid_tra,"CO2_nmhcprod",itau_w,CO2_nmhcprod) 295 296 CALL histwrite_phy(nid_tra,"CO2_radicalprod",itau_w,CO2_radicalprod) 297 298 CALL histwrite_phy(nid_tra,"HNO3_prod",itau_w,hno3_prod) 299 300 CALL histwrite_phy(nid_tra,"HNO3_loss",itau_w,hno3_loss) 301 302 CALL histwrite_phy(nid_tra,"CO_prod",itau_w,co_prod) 303 304 CALL histwrite_phy(nid_tra,"CO_loss",itau_w,co_loss) 396 305 397 306 #endif … … 413 322 414 323 C abder 415 CALL gr_fi_ecrit(1,klon,iim,jjm+1,yu1,zx_tmp_2d) 416 CALL histwrite(nid_tra,"pyu1",itau_w,zx_tmp_2d, 417 s iim*(jjm+1),ndex2d) 418 419 CALL gr_fi_ecrit(1,klon,iim,jjm+1,yv1,zx_tmp_2d) 420 CALL histwrite(nid_tra,"pyv1",itau_w,zx_tmp_2d, 421 s iim*(jjm+1),ndex2d) 422 423 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol1,zx_tmp_2d) 424 CALL histwrite(nid_tra,"ftsol1",itau_w,zx_tmp_2d, 425 s iim*(jjm+1),ndex2d) 426 427 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol2,zx_tmp_2d) 428 CALL histwrite(nid_tra,"ftsol2",itau_w,zx_tmp_2d, 429 s iim*(jjm+1),ndex2d) 430 431 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol3,zx_tmp_2d) 432 CALL histwrite(nid_tra,"ftsol3",itau_w,zx_tmp_2d, 433 s iim*(jjm+1),ndex2d) 434 435 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol4,zx_tmp_2d) 436 CALL histwrite(nid_tra,"ftsol4",itau_w,zx_tmp_2d, 437 s iim*(jjm+1),ndex2d) 438 439 CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf1,zx_tmp_2d) 440 CALL histwrite(nid_tra,"psrf1",itau_w,zx_tmp_2d, 441 s iim*(jjm+1),ndex2d) 442 443 CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf2,zx_tmp_2d) 444 CALL histwrite(nid_tra,"psrf2",itau_w,zx_tmp_2d, 445 s iim*(jjm+1),ndex2d) 446 447 CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf3,zx_tmp_2d) 448 CALL histwrite(nid_tra,"psrf3",itau_w,zx_tmp_2d, 449 s iim*(jjm+1),ndex2d) 450 451 CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf4,zx_tmp_2d) 452 CALL histwrite(nid_tra,"psrf4",itau_w,zx_tmp_2d, 453 s iim*(jjm+1),ndex2d) 454 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay,zx_tmp_3d) 455 CALL histwrite(nid_tra,"pplay",itau_w,zx_tmp_3d, 456 . iim*(jjm+1)*klev,ndex3d) 457 458 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri,zx_tmp_3d) 459 CALL histwrite(nid_tra,"t",itau_w,zx_tmp_3d, 460 . iim*(jjm+1)*klev,ndex3d) 461 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pmfu,zx_tmp_3d) 462 CALL histwrite(nid_tra,"mfu",itau_w,zx_tmp_3d, 463 . iim*(jjm+1)*klev,ndex3d) 464 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pmfd,zx_tmp_3d) 465 CALL histwrite(nid_tra,"mfd",itau_w,zx_tmp_3d, 466 . iim*(jjm+1)*klev,ndex3d) 467 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pen_u,zx_tmp_3d) 468 CALL histwrite(nid_tra,"en_u",itau_w,zx_tmp_3d, 469 . iim*(jjm+1)*klev,ndex3d) 470 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pen_d,zx_tmp_3d) 471 CALL histwrite(nid_tra,"en_d",itau_w,zx_tmp_3d, 472 . iim*(jjm+1)*klev,ndex3d) 473 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pde_d,zx_tmp_3d) 474 CALL histwrite(nid_tra,"de_d",itau_w,zx_tmp_3d, 475 . iim*(jjm+1)*klev,ndex3d) 476 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pde_u,zx_tmp_3d) 477 CALL histwrite(nid_tra,"de_u",itau_w,zx_tmp_3d, 478 . iim*(jjm+1)*klev,ndex3d) 479 CALL gr_fi_ecrit(klev,klon,iim,jjm+1,coefh,zx_tmp_3d) 480 CALL histwrite(nid_tra,"coefh",itau_w,zx_tmp_3d, 481 . iim*(jjm+1)*klev,ndex3d) 324 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,yu1,zx_tmp_2d) 325 CALL histwrite_phy(nid_tra,"pyu1",itau_w,yu1) 326 327 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,yv1,zx_tmp_2d) 328 CALL histwrite_phy(nid_tra,"pyv1",itau_w,yv1) 329 330 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol1,zx_tmp_2d) 331 CALL histwrite_phy(nid_tra,"ftsol1",itau_w,pftsol1) 332 333 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol2,zx_tmp_2d) 334 CALL histwrite_phy(nid_tra,"ftsol2",itau_w,pftsol2) 335 336 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol3,zx_tmp_2d) 337 CALL histwrite_phy(nid_tra,"ftsol3",itau_w,pftsol3) 338 339 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol4,zx_tmp_2d) 340 CALL histwrite_phy(nid_tra,"ftsol4",itau_w,pftsol4) 341 342 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf1,zx_tmp_2d) 343 CALL histwrite_phy(nid_tra,"psrf1",itau_w,ppsrf1) 344 345 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf2,zx_tmp_2d) 346 CALL histwrite_phy(nid_tra,"psrf2",itau_w,ppsrf2) 347 348 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf3,zx_tmp_2d) 349 CALL histwrite_phy(nid_tra,"psrf3",itau_w,ppsrf3) 350 351 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf4,zx_tmp_2d) 352 CALL histwrite_phy(nid_tra,"psrf4",itau_w,ppsrf4) 353 354 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay,zx_tmp_3d) 355 CALL histwrite_phy(nid_tra,"pplay",itau_w,pplay) 356 357 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri,zx_tmp_3d) 358 CALL histwrite_phy(nid_tra,"t",itau_w,t_seri) 359 360 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pmfu,zx_tmp_3d) 361 CALL histwrite_phy(nid_tra,"mfu",itau_w,pmfu) 362 363 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pmfd,zx_tmp_3d) 364 CALL histwrite_phy(nid_tra,"mfd",itau_w,pmfd) 365 366 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pen_u,zx_tmp_3d) 367 CALL histwrite_phy(nid_tra,"en_u",itau_w,pen_u) 368 369 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pen_d,zx_tmp_3d) 370 CALL histwrite_phy(nid_tra,"en_d",itau_w,pen_d) 371 372 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pde_d,zx_tmp_3d) 373 CALL histwrite_phy(nid_tra,"de_d",itau_w,pde_d) 374 375 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pde_u,zx_tmp_3d) 376 CALL histwrite_phy(nid_tra,"de_u",itau_w,pde_u) 377 378 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,coefh,zx_tmp_3d) 379 CALL histwrite_phy(nid_tra,"coefh",itau_w,coefh) 482 380 483 381 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/yamada.F
r633 r634 5 5 s ,zlev,zlay,u,v,teta,cd,q2,km,kn,ustar 6 6 s ,l_mix) 7 use dimphy 7 8 IMPLICIT NONE 8 9 c....................................................................... 9 #include "dimensions.h"10 #include "dimphy.h"10 cym#include "dimensions.h" 11 cym#include "dimphy.h" 11 12 c....................................................................... 12 13 c … … 48 49 49 50 integer nlay,nlev 50 PARAMETER (nlay=klev)51 PARAMETER (nlev=klev+1)51 cym PARAMETER (nlay=klev) 52 cym PARAMETER (nlev=klev+1) 52 53 53 54 logical first … … 77 78 fsm(ri)=1.96*(0.1912-ri)*(0.2341-ri)/((1.-ri)*(0.2231-ri)) 78 79 80 nlay=klev 81 nlev=klev+1 82 79 83 if (0.eq.1.and.first) then 80 84 do ig=1,1000 -
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/yamada4.F
r633 r634 5 5 s ,zlev,zlay,u,v,teta,cd,q2,km,kn,kq,ustar 6 6 s ,iflag_pbl) 7 use dimphy 7 8 IMPLICIT NONE 8 9 c....................................................................... 9 #include "dimensions.h"10 #include "dimphy.h"10 cym#include "dimensions.h" 11 cym#include "dimphy.h" 11 12 c....................................................................... 12 13 c … … 64 65 65 66 integer nlay,nlev 66 PARAMETER (nlay=klev)67 PARAMETER (nlev=klev+1)67 cym PARAMETER (nlay=klev) 68 cym PARAMETER (nlev=klev+1) 68 69 69 70 logical first … … 82 83 real dtetadz(klon,klev+1) 83 84 real m2cstat,mcstat,kmcstat 84 real l(klon,klev+1) ,l0(klon)85 save l086 85 real l(klon,klev+1) 86 real,allocatable,save :: l0(:) 87 87 88 real sq(klon),sqz(klon),zz(klon,klev+1) 88 89 integer iter … … 95 96 real fl,zzz,zl0,zq2,zn2 96 97 97 real rino(klon,klev+1),smyam(klon,klev),styam(klon,klev) 98 s ,lyam(klon,klev),knyam(klon,klev) 99 s ,w2yam(klon,klev),t2yam(klon,klev) 100 common/pbldiag/rino,smyam,styam,lyam,knyam,w2yam,t2yam 101 98 cym real rino(klon,klev+1),smyam(klon,klev),styam(klon,klev) 99 cym s ,lyam(klon,klev),knyam(klon,klev) 100 cym s ,w2yam(klon,klev),t2yam(klon,klev) 101 real,allocatable,save,dimension(:,:) :: rino,smyam,styam,lyam, 102 s knyam,w2yam,t2yam 103 cym common/pbldiag/rino,smyam,styam,lyam,knyam,w2yam,t2yam 104 logical,save :: firstcall=.true. 105 102 106 frif(ri)=0.6588*(ri+0.1776-sqrt(ri*ri-0.3221*ri+0.03156)) 103 107 falpha(ri)=1.318*(0.2231-ri)/(0.2341-ri) … … 106 110 s max(min(l0(ig)*kap*zlev(ig,k)/(kap*zlev(ig,k)+l0(ig)) 107 111 s ,0.5*sqrt(q2(ig,k))/sqrt(max(n2(ig,k),1.e-10))) ,1.) 112 113 114 nlay=klev 115 nlev=klev+1 116 117 if (firstcall) then 118 allocate(rino(klon,klev+1),smyam(klon,klev),styam(klon,klev)) 119 allocate(lyam(klon,klev),knyam(klon,klev)) 120 allocate(w2yam(klon,klev),t2yam(klon,klev)) 121 allocate(l0(klon)) 122 firstcall=.false. 123 endif 124 108 125 109 126 if (.not.(iflag_pbl.ge.6.and.iflag_pbl.le.9)) then -
LMDZ4/branches/LMDZ4_par_0/physiq.def
r541 r634 4 4 5 5 OCEAN=force 6 VEGET= y7 OK_journe= n6 VEGET=n 7 OK_journe=y 8 8 OK_mensuel=y 9 OK_instan= n9 OK_instan=y 10 10 if_ebil=0 11 11 #
Note: See TracChangeset
for help on using the changeset viewer.