Changeset 776
- Timestamp:
- Jun 7, 2007, 12:01:52 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 51 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/YOECUMF.h
r524 r776 14 14 REAL ENTRPEN, ENTRSCV, ENTRMID, ENTRDD 15 15 REAL CMFCTOP, CMFCMAX, CMFCMIN, CMFDEPS, RHCDD, CPRCON 16 c$OMP THREADPRIVATE(/YOECUMF/) 16 17 C 17 18 *if (DOC,declared) <> 'UNKNOWN' -
LMDZ4/trunk/libf/phylmd/YOEGWD.h
r524 r776 11 11 COMMON/YOEGWD/ GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT 12 12 * ,GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC 13 c$OMP THREADPRIVATE(/YOEGWD/) 13 14 C 14 15 -
LMDZ4/trunk/libf/phylmd/YOETHF.h
r524 r776 14 14 COMMON /YOETHF/R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES, 15 15 . RVTMP2, RHOH2O 16 !$OMP THREADPRIVATE(/YOETHF/) -
LMDZ4/trunk/libf/phylmd/YOETHF.inc
r524 r776 14 14 COMMON /YOETHF/R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES, & 15 15 & RVTMP2, RHOH2O 16 !$OMP THREADPRIVATE(/YOETHF/) -
LMDZ4/trunk/libf/phylmd/YOMCST.h
r652 r776 37 37 S ,RALPD ,RBETD ,RGAMD 38 38 ! ------------------------------------------------------------------ 39 !$OMP THREADPRIVATE(/YOMCST/) -
LMDZ4/trunk/libf/phylmd/atm2geo.F
r766 r776 5 5 SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz ) 6 6 USE dimphy 7 USE mod_phys_lmdz_para 7 8 IMPLICIT NONE 8 9 include 'dimensions90.h' … … 26 27 LOGICAL, SAVE :: linit = .FALSE. 27 28 c$OMP THREADPRIVATE(linit) 29 30 cym utilise pour le couple, ne fonctionne que en MPI seul 28 31 c 29 32 cxxx IF ( .NOT. linit ) THEN … … 41 44 c 42 45 c Value at North Pole 43 IF ( jjphy_begin==1) THEN46 IF (is_north_pole) THEN 44 47 pxx ( :, 1) = - ptn ( 1, 1) 45 48 pyy ( :, 1) = - pte ( 1, 1) … … 48 51 c Value at South Pole 49 52 50 IF ( jjphy_end==jjm+1) THEN53 IF (is_south_pole) THEN 51 54 pxx ( :, jm) = + ptn ( 1, jm) 52 55 pyy ( :, jm) = + pte ( 1, jm) -
LMDZ4/trunk/libf/phylmd/calcul_divers.h
r766 r776 5 5 c initialisations diverses au "debut" du mois 6 6 c 7 IF(MOD(itap, ecrit_mth).EQ.1) THEN7 IF(MOD(itap,INT(ecrit_mth)).EQ.1) THEN 8 8 DO i=1, klon 9 9 nday_rain(i)=0. … … 17 17 ENDDO 18 18 c 19 ENDIF !MOD(itap, ecrit_mth).EQ.119 ENDIF !MOD(itap,INT(ecrit_mth)).EQ.1 20 20 c 21 IF(MOD(itap, ecrit_day).EQ.0) THEN21 IF(MOD(itap,INT(ecrit_day)).EQ.0) THEN 22 22 c 23 23 cIM calcul total_rain, nday_rain -
LMDZ4/trunk/libf/phylmd/comgeomphy.F90
r766 r776 9 9 10 10 subroutine InitComgeomphy 11 use dimphy11 USE mod_phys_lmdz_para 12 12 implicit none 13 13 -
LMDZ4/trunk/libf/phylmd/compbl.h
r766 r776 1 ! 2 ! $Header$ 3 ! 1 4 integer iflag_pbl 2 5 common/compbl/iflag_pbl -
LMDZ4/trunk/libf/phylmd/condsurf.F
r766 r776 3 3 SUBROUTINE condsurf( jour, jourvrai, lmt_bils ) 4 4 USE dimphy 5 USE mod_grid_phy_lmdz 6 USE mod_phys_lmdz_para 5 7 IMPLICIT none 6 8 c … … 39 41 CHARACTER*20 fich 40 42 41 REAL :: lmt_bils_glo(klon2) 42 REAL,ALLOCATABLE,SAVE :: lmt_bils_mpi(:) 43 REAL :: lmt_bils_glo(klon_glo) 43 44 44 LOGICAL,SAVE :: first45 c$OMP THREADPRIVATE(first)46 45 cc 47 46 cc ..................................................................... … … 53 52 c 54 53 c 55 IF (first) THEN56 ALLOCATE(lmt_bils_mpi(klon_mpi))57 ENDIF58 54 59 55 IF (jour.LT.0 .OR. jour.GT.(360-1)) THEN … … 92 88 c 93 89 c$OMP MASTER 94 IF ( phy_rank==0) THEN90 IF (is_mpi_root) THEN 95 91 ierr = NF_OPEN (fich, NF_NOWRITE,nid) 96 92 IF (ierr.NE.NF_NOERR) THEN … … 106 102 debut(1) = 1 107 103 debut(2) = jourvrai 108 epais(1) = klon 2104 epais(1) = klon_glo 109 105 epais(2) = 1 110 c111 106 c Bilan flux de chaleur au sol: 112 107 c … … 132 127 ierr = NF_CLOSE(nid) 133 128 134 ENDIF ! phyrank==0129 ENDIF ! is_mpi_root==0 135 130 136 CALL scatterField(lmt_bils_glo,lmt_bils_mpi,1)137 131 c$OMP END MASTER 138 c$OMP BARRIER 139 CALL scatterField_omp(lmt_bils_mpi,lmt_bils,1) 132 CALL scatter(lmt_bils_glo,lmt_bils) 140 133 141 134 c -
LMDZ4/trunk/libf/phylmd/cv3_routines.F
r660 r776 1204 1204 enddo 1205 1205 enddo 1206 1206 1207 1207 do 600 k=minorig+1,nl 1208 1208 do 590 i=1,ncum … … 1868 1868 delti = 1./delt 1869 1869 tinv=1./3. 1870 1870 1871 1871 mp(:,:)=0. 1872 1872 -
LMDZ4/trunk/libf/phylmd/dimphy.F90
r766 r776 1 module dimphy 2 USE mod_phys_mpi 3 USE mod_phys_openmp 4 end module dimphy 1 MODULE dimphy 2 3 INTEGER,SAVE :: klon 4 INTEGER,SAVE :: kdlon 5 INTEGER,SAVE :: kfdia 6 INTEGER,SAVE :: kidia 7 INTEGER,SAVE :: nbtr 8 INTEGER,SAVE :: klev 9 INTEGER,SAVE :: klevp1 10 INTEGER,SAVE :: klevm1 11 INTEGER,SAVE :: kflev 12 13 !$OMP THREADPRIVATE(klon,kfdia,kidia,kdlon) 14 REAL,save,allocatable,dimension(:) :: zmasq 15 !$OMP THREADPRIVATE(zmasq) 16 17 CONTAINS 18 19 SUBROUTINE Init_dimphy(klon0,klev0,nbtr0) 20 IMPLICIT NONE 21 22 INTEGER, INTENT(in) :: klon0 23 INTEGER, INTENT(in) :: klev0 24 INTEGER, INTENT(in) :: nbtr0 25 26 klon=klon0 27 28 kdlon=klon 29 kidia=1 30 kfdia=klon 31 !$OMP MASTER 32 klev=klev0 33 nbtr=nbtr0 34 klevp1=klev+1 35 klevm1=klev-1 36 kflev=klev 37 !$OMP END MASTER 38 ALLOCATE(zmasq(klon)) 39 40 END SUBROUTINE Init_dimphy 41 42 43 END MODULE dimphy -
LMDZ4/trunk/libf/phylmd/hbtm.F
r766 r776 1 ! 2 ! $Header$ 3 ! 4 1 5 SUBROUTINE HBTM(knon, paprs, pplay, 2 6 . t2m,t10m,q2m,q10m,ustar, -
LMDZ4/trunk/libf/phylmd/ini_histISCCP.h
r766 r776 130 130 CALL histdef(nid_isccp, "cldISCCP_"//taulev(k)//typinout(n), 131 131 . "LMDZ ISCCP cld", "%", 132 . iim, jj phy_nb,nhori,lmaxm1,1,lmaxm1,nvert,32,132 . iim, jj_nb,nhori,lmaxm1,1,lmaxm1,nvert,32, 133 133 . "ave(X)", zcals(n),zout_isccp(n)) 134 134 ENDDO … … 136 136 CALL histdef(nid_isccp, "nsunlit"//typinout(n), 137 137 . "Nb of calls with sunlit ", "%", 138 . iim, jj phy_nb,nhori,1,1,1,-99,32,138 . iim, jj_nb,nhori,1,1,1,-99,32, 139 139 . "ave(X)", zcals(n),zout_isccp(n)) 140 140 c … … 152 152 CALL histdef(nid_isccp, pclev(l)//taulev(k)//typinout(n), 153 153 . "LMDZ ISCCP cld "//cnameisccp(l,k), "%", 154 . iim, jj phy_nb,nhori,1,1,1,-99,32,154 . iim, jj_nb,nhori,1,1,1,-99,32, 155 155 . "ave(X)", zcals(n),zout_isccp(n)) 156 156 c … … 161 161 CALL histdef(nid_isccp, "nsunlit"//typinout(n), 162 162 . "Nb of calls with sunlit ", "%", 163 . iim, jj phy_nb,nhori,1,1,1,-99,32,163 . iim, jj_nb,nhori,1,1,1,-99,32, 164 164 . "ave(X)", zcals(n),zout_isccp(n)) 165 165 c … … 167 167 CALL histdef(nid_isccp, "cirr", 168 168 . "Cirrus lk ISCCP-D2", "%", 169 . iim, jj phy_nb,nhori,1,1,1,-99,32,169 . iim, jj_nb,nhori,1,1,1,-99,32, 170 170 . "ave(X)", zcals(n),zout_isccp(n)) 171 171 c 172 172 CALL histdef(nid_isccp, "cist", 173 173 . "CiSt lk ISCCP-D2", "%", 174 . iim, jj phy_nb,nhori,1,1,1,-99,32,174 . iim, jj_nb,nhori,1,1,1,-99,32, 175 175 . "ave(X)", zcals(n),zout_isccp(n)) 176 176 c 177 177 CALL histdef(nid_isccp, "deep", 178 178 . "Deep lk ISCCP-D2", "%", 179 . iim, jj phy_nb,nhori,1,1,1,-99,32,179 . iim, jj_nb,nhori,1,1,1,-99,32, 180 180 . "ave(X)", zcals(n),zout_isccp(n)) 181 181 c 182 182 CALL histdef(nid_isccp, "alcu", 183 183 . "AlCu lk ISCCP-D2", "%", 184 . iim, jj phy_nb,nhori,1,1,1,-99,32,184 . iim, jj_nb,nhori,1,1,1,-99,32, 185 185 . "ave(X)", zcals(n),zout_isccp(n)) 186 186 c 187 187 CALL histdef(nid_isccp, "alst", 188 188 . "AlSt lk ISCCP-D2", "%", 189 . iim, jj phy_nb,nhori,1,1,1,-99,32,189 . iim, jj_nb,nhori,1,1,1,-99,32, 190 190 . "ave(X)", zcals(n),zout_isccp(n)) 191 191 c 192 192 CALL histdef(nid_isccp, "nist", 193 193 . "NiSt lk ISCCP-D2", "%", 194 . iim, jj phy_nb,nhori,1,1,1,-99,32,194 . iim, jj_nb,nhori,1,1,1,-99,32, 195 195 . "ave(X)", zcals(n),zout_isccp(n)) 196 196 c 197 197 CALL histdef(nid_isccp, "cumu", 198 198 . "Cumu lk ISCCP-D2", "%", 199 . iim, jj phy_nb,nhori,1,1,1,-99,32,199 . iim, jj_nb,nhori,1,1,1,-99,32, 200 200 . "ave(X)", zcals(n),zout_isccp(n)) 201 201 c 202 202 CALL histdef(nid_isccp, "stcu", 203 203 . "StCu lk ISCCP-D2", "%", 204 . iim, jj phy_nb,nhori,1,1,1,-99,32,204 . iim, jj_nb,nhori,1,1,1,-99,32, 205 205 . "ave(X)", zcals(n),zout_isccp(n)) 206 206 c 207 207 CALL histdef(nid_isccp, "stra", 208 208 . "Stra lk ISCCP-D2", "%", 209 . iim, jj phy_nb,nhori,1,1,1,-99,32,209 . iim, jj_nb,nhori,1,1,1,-99,32, 210 210 . "ave(X)", zcals(n),zout_isccp(n)) 211 211 c … … 213 213 CALL histdef(nid_isccp, "thin", 214 214 . "Opt. thin ISCCP-D2 like clouds", "%", 215 . iim, jj phy_nb,nhori,lmax3,1,lmax3,nvert3,32,215 . iim, jj_nb,nhori,lmax3,1,lmax3,nvert3,32, 216 216 . "ave(X)", zcals(n),zout_isccp(n)) 217 217 c 218 218 CALL histdef(nid_isccp, "mid", 219 219 . "Opt. intermediate ISCCP-D2 like clouds", "%", 220 . iim, jj phy_nb,nhori,lmax3,1,lmax3,nvert3,32,220 . iim, jj_nb,nhori,lmax3,1,lmax3,nvert3,32, 221 221 . "ave(X)", zcals(n),zout_isccp(n)) 222 222 c 223 223 CALL histdef(nid_isccp, "thick", 224 224 . "Opt. thick ISCCP-D2 like clouds", "%", 225 . iim, jj phy_nb,nhori,lmax3,1,lmax3,nvert3,32,225 . iim, jj_nb,nhori,lmax3,1,lmax3,nvert3,32, 226 226 . "ave(X)", zcals(n),zout_isccp(n)) 227 227 c … … 236 236 CALL histdef(nid_isccp,"boxptop"//verticaxe(n), 237 237 . "Boxptop axe"//verticaxe(n), "mb", 238 . iim, jj phy_nb,nhori,238 . iim, jj_nb,nhori, 239 239 . ncol(n),1,ncol(n),nvlev(n),32, 240 240 cIM . ncolmx,1,ncolmx,nvlev,32, … … 249 249 CALL histdef(nid_isccp, "seed"//verticaxe(n), 250 250 . "seed axe"//verticaxe(n), "-", 251 . iim, jj phy_nb,nhori,1,1,1,-99,32,251 . iim, jj_nb,nhori,1,1,1,-99,32, 252 252 cIM . "inst(X)", dtime,dtime) 253 253 . "ave(X)", zcals(n),zout_isccp(n)) -
LMDZ4/trunk/libf/phylmd/ini_histREGDYN.h
r766 r776 5 5 IF (ok_regdyn) THEN 6 6 7 if ( monocpu) then7 if (is_sequential) then 8 8 c 9 9 cIM PRINT*, 'La frequence de sortie REGDYN est de ', ecrit_mth … … 123 123 CALL histend(nid_regdyn) 124 124 125 endif ! monocpu125 endif ! is_sequential 126 126 127 127 endif ! ok_regdyn -
LMDZ4/trunk/libf/phylmd/ini_histday.h
r766 r776 36 36 c 37 37 CALL histdef(nid_day, "phis", "Surface geop. height", "m2/s2", 38 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,38 . iim,jj_nb,nhori, 1,1,1, -99, 32, 39 39 . "once", zstophy,zout) 40 40 c 41 41 CALL histdef(nid_day, "aire", "Grid area", "-", 42 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,42 . iim,jj_nb,nhori, 1,1,1, -99, 32, 43 43 . "once", zstophy,zout) 44 44 c 45 45 CALL histdef(nid_day, "contfracATM","% sfce ter+lic ","-", 46 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,46 . iim,jj_nb,nhori, 1,1,1, -99, 32, 47 47 . "once", zstophy,zout) 48 48 c 49 49 CALL histdef(nid_day, "contfracOR","% sfce terre OR", "-", 50 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,50 . iim,jj_nb,nhori, 1,1,1, -99, 32, 51 51 . "once", zstophy,zout) 52 52 c … … 54 54 c 55 55 CALL histdef(nid_day, "tsol", "Surface Temperature", "K", 56 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,56 . iim,jj_nb,nhori, 1,1,1, -99, 32, 57 57 . "ave(X)", zstophy,zout) 58 58 c 59 59 CALL histdef(nid_day, "t2m", "Temperature 2m", "K", 60 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,60 . iim,jj_nb,nhori, 1,1,1, -99, 32, 61 61 . "ave(X)", zstophy,zout) 62 62 c … … 66 66 CALL histdef(nid_day, "t2m_min", "Temp. 2m min.", 67 67 . "K", 68 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,68 . iim,jj_nb,nhori, 1,1,1, -99, 32, 69 69 . t2mincels, zstophy,zout) 70 70 c 71 71 CALL histdef(nid_day, "t2m_max", "Temp. 2m max.", 72 72 . "K", 73 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,73 . iim,jj_nb,nhori, 1,1,1, -99, 32, 74 74 . t2maxcels, zstophy,zout) 75 75 c 76 76 CALL histdef(nid_day, "plul", "Large-scale Precip.", 77 77 . "kg/(s*m2)", 78 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,78 . iim,jj_nb,nhori, 1,1,1, -99, 32, 79 79 . "ave(X)", zstophy,zout) 80 80 c 81 81 CALL histdef(nid_day, "pluc", "Convective Precip.", 82 82 . "kg/(s*m2)", 83 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,83 . iim,jj_nb,nhori, 1,1,1, -99, 32, 84 84 . "ave(X)", zstophy,zout) 85 85 c 86 86 CALL histdef(nid_day, "snowl", "Solid Large-scale Precip.", 87 87 . "kg/(m2*s)", 88 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,88 . iim,jj_nb,nhori, 1,1,1, -99, 32, 89 89 . "ave(X)", zstophy,zout) 90 90 c … … 92 92 CALL histdef(nid_day, "snowc", "Solid Convective Precip.", 93 93 . "kg/(m2*s)", 94 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,94 . iim,jj_nb,nhori, 1,1,1, -99, 32, 95 95 . "ave(X)", zstophy,zout) 96 96 ENDIF !snowc=0. 97 97 c 98 98 CALL histdef(nid_day, "flat", "Latent heat flux", "W/m2", 99 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,99 . iim,jj_nb,nhori, 1,1,1, -99, 32, 100 100 . "ave(X)", zstophy,zout) 101 101 c 102 102 CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-", 103 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,103 . iim,jj_nb,nhori, 1,1,1, -99, 32, 104 104 . "inst(X)", zstoday,zout) 105 105 c 106 106 CALL histdef(nid_day, "q2m", "Specific humidity", "kg/kg", 107 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,107 . iim,jj_nb,nhori, 1,1,1, -99, 32, 108 108 . "ave(X)", zstophy,zout) 109 109 c 110 110 CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s", 111 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,111 . iim,jj_nb,nhori, 1,1,1, -99, 32, 112 112 . "ave(X)", zstophy,zout) 113 113 c 114 114 CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s", 115 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,115 . iim,jj_nb,nhori, 1,1,1, -99, 32, 116 116 . "ave(X)", zstophy,zout) 117 117 c 118 118 CALL histdef(nid_day, "wind10m","10-m wind speed","m/s", 119 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,119 . iim,jj_nb,nhori, 1,1,1, -99, 32, 120 120 . "ave(X)", zstophy,zout) 121 121 c 122 122 CALL histdef(nid_day, "wind10max", "10-m wind speed max.", 123 123 . "m/s", 124 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,124 . iim,jj_nb,nhori, 1,1,1, -99, 32, 125 125 . t2maxcels, zstophy,zout) 126 126 c 127 127 CALL histdef(nid_day, "psol", "Surface Pressure", "Pa", 128 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,128 . iim,jj_nb,nhori, 1,1,1, -99, 32, 129 129 . "ave(X)", zstophy,zout) 130 130 c 131 131 CALL histdef(nid_day, "precip","Precipitation Totale liq+sol" 132 132 . , "kg/(s*m2)", 133 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,133 . iim,jj_nb,nhori, 1,1,1, -99, 32, 134 134 . "ave(X)", zstophy,zout) 135 135 c 136 136 CALL histdef(nid_day, "snowf", "Snow fall", "kg/(m2*s)", 137 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,137 . iim,jj_nb,nhori, 1,1,1, -99, 32, 138 138 . "ave(X)", zstophy,zout) 139 139 c 140 140 c CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2", 141 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,141 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 142 142 c . "ave(X)", zstophy,zout) 143 143 c 144 144 CALL histdef(nid_day, "evap", "Evaporation", "kg/(m2*s)", 145 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,145 . iim,jj_nb,nhori, 1,1,1, -99, 32, 146 146 . "ave(X)", zstophy,zout) 147 147 c 148 148 CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2", 149 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,149 . iim,jj_nb,nhori, 1,1,1, -99, 32, 150 150 . "ave(X)", zstophy,zout) 151 151 c 152 152 CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2", 153 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,153 . iim,jj_nb,nhori, 1,1,1, -99, 32, 154 154 . "ave(X)", zstophy,zout) 155 155 c 156 156 CALL histdef(nid_day, "sols", "Net Solar rad. at surf.", 157 157 . "W/m2", 158 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,158 . iim,jj_nb,nhori, 1,1,1, -99, 32, 159 159 . "ave(X)", zstophy,zout) 160 160 c 161 161 CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2", 162 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,162 . iim,jj_nb,nhori, 1,1,1, -99, 32, 163 163 . "ave(X)", zstophy,zout) 164 164 c 165 165 CALL histdef(nid_day, "radsol", "Rayonnement au sol", "W/m2", 166 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,166 . iim,jj_nb,nhori, 1,1,1, -99, 32, 167 167 . "ave(X)", zstophy,zout) 168 168 c 169 169 CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-", 170 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,170 . iim,jj_nb,nhori, 1,1,1, -99, 32, 171 171 . "ave(X)", zstophy,zout) 172 172 c 173 173 CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-", 174 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,174 . iim,jj_nb,nhori, 1,1,1, -99, 32, 175 175 . "ave(X)", zstophy,zout) 176 176 c 177 177 CALL histdef(nid_day, "cldh", "High-level cloudiness", "-", 178 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,178 . iim,jj_nb,nhori, 1,1,1, -99, 32, 179 179 . "ave(X)", zstophy,zout) 180 180 c 181 181 CALL histdef(nid_day, "cldt", "Total cloudiness", "-", 182 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,182 . iim,jj_nb,nhori, 1,1,1, -99, 32, 183 183 . "ave(X)", zstophy,zout) 184 184 c 185 185 CALL histdef(nid_day, "cldq", "Cloud liquid water path", 186 186 . "kg/m2", 187 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,187 . iim,jj_nb,nhori, 1,1,1, -99, 32, 188 188 . "ave(X)", zstophy,zout) 189 189 c 190 190 CALL histdef(nid_day, "prw", "Precipitable water", "kg/m2", 191 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,191 . iim,jj_nb,nhori, 1,1,1, -99, 32, 192 192 . "ave(X)", zstophy,zout) 193 193 c … … 210 210 CALL histdef(nid_day, "u"//bb2, 211 211 . "Zonal wind "//bb2//"mb","m/s", 212 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,212 . iim,jj_nb,nhori, 1,1,1, -99, 32, 213 213 . "inst(X)", zout,zout) 214 214 c 215 215 CALL histdef(nid_day, "v"//bb2, 216 216 . "Meridional wind "//bb2//"mb","m/s", 217 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,217 . iim,jj_nb,nhori, 1,1,1, -99, 32, 218 218 . "inst(X)", zout,zout) 219 219 c … … 224 224 CALL histdef(nid_day, "w"//bb2, "Vertical wind "//bb2//"mb", 225 225 . "m/s", 226 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,226 . iim,jj_nb,nhori, 1,1,1, -99, 32, 227 227 . "inst(X)", zout,zout) 228 228 c 229 229 CALL histdef(nid_day,"phi"//bb2, "Geopotential "//bb2//"mb", 230 230 . "m", 231 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,231 . iim,jj_nb,nhori, 1,1,1, -99, 32, 232 232 . "inst(X)", zout,zout) 233 233 c … … 237 237 c 238 238 CALL histdef(nid_day, "slp", "Sea Level Pressure", "Pa", 239 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,239 . iim,jj_nb,nhori, 1,1,1, -99, 32, 240 240 . "ave(X)", zstophy,zout) 241 241 c 242 242 CALL histdef(nid_day, "cape_max", "CAPE max.", 243 243 . "J/kg", 244 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,244 . iim,jj_nb,nhori, 1,1,1, -99, 32, 245 245 . capemaxcels, zstophy,zout) 246 246 c 247 247 CALL histdef(nid_day, "solldown", "Down. IR rad. at surface", 248 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,248 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 249 249 . "ave(X)", zstophy,zout) 250 250 c 251 251 CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2", 252 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,252 . iim,jj_nb,nhori, 1,1,1, -99, 32, 253 253 . "ave(X)", zstophy,zout) 254 254 c 255 255 CALL histdef(nid_day, "SWdnSFC", "SWdn at surface","W/m2", 256 . iim,jj phy_nb,nhori, 1,1,1,-99,256 . iim,jj_nb,nhori, 1,1,1,-99, 257 257 . 32, "ave(X)", zstophy,zout) 258 258 c … … 264 264 CALL histdef(nid_day, "lmt_bils", 265 265 . "Bilan au sol atmosphere forcee", "W/m2", 266 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,266 . iim,jj_nb,nhori, 1,1,1, -99, 32, 267 267 . "ave(X)", zstophy,zout) 268 268 c … … 271 271 CALL histdef(nid_day, "slab_bils", 272 272 . "Bilan au sol slab", "W/m2", 273 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,273 . iim,jj_nb,nhori, 1,1,1, -99, 32, 274 274 . "ave(X)", zstophy,zout) 275 275 c 276 276 CALL histdef(nid_day, "tslab", "Slab SST ", "K", 277 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,277 . iim,jj_nb,nhori, 1,1,1, -99, 32, 278 278 . "ave(X)", zstophy,zout) 279 279 c 280 280 CALL histdef(nid_day, "seaice", "Slab seaice", "kg/m2", 281 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,281 . iim,jj_nb,nhori, 1,1,1, -99, 32, 282 282 . "ave(X)", zstophy,zout) 283 283 c 284 284 CALL histdef(nid_day, "siceh", "Slab seaice height", "m", 285 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,285 . iim,jj_nb,nhori, 1,1,1, -99, 32, 286 286 . "ave(X)", zstophy,zout) 287 287 c … … 290 290 CALL histdef(nid_day, "fluxo", 291 291 . "Flux turbulents ocean-atmosphere", "W/m2", 292 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,292 . iim,jj_nb,nhori, 1,1,1, -99, 32, 293 293 . "ave(X)", zstophy,zout) 294 294 c 295 295 CALL histdef(nid_day, "fluxg", 296 296 . "Flux ocean-glace de mer", "W/m2", 297 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,297 . iim,jj_nb,nhori, 1,1,1, -99, 32, 298 298 . "ave(X)", zstophy,zout) 299 299 c … … 303 303 c 304 304 CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2", 305 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,305 . iim,jj_nb,nhori, 1,1,1, -99, 32, 306 306 . "ave(X)", zstophy,zout) 307 307 c 308 308 CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2/K", 309 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,309 . iim,jj_nb,nhori, 1,1,1, -99, 32, 310 310 . "ave(X)", zstophy,zout) 311 311 c … … 321 321 c 322 322 CALL histdef(nid_day, "temp", "Air temperature", "K", 323 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,323 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 324 324 . "ave(X)", zstophy,zout) 325 325 c 326 326 CALL histdef(nid_day, "ovap", "Specific humidity", "kg/kg", 327 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,327 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 328 328 . "ave(X)", zstophy,zout) 329 329 c 330 330 CALL histdef(nid_day, "geop", "Geopotential height", "m2/s2", 331 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,331 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 332 332 . "ave(X)", zstophy,zout) 333 333 c 334 334 CALL histdef(nid_day, "vitu", "Zonal wind", "m/s", 335 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,335 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 336 336 . "ave(X)", zstophy,zout) 337 337 c 338 338 CALL histdef(nid_day, "vitv", "Meridional wind", "m/s", 339 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,339 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 340 340 . "ave(X)", zstophy,zout) 341 341 c 342 342 CALL histdef(nid_day, "vitw", "Vertical wind", "m/s", 343 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,343 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 344 344 . "ave(X)", zstophy,zout) 345 345 c 346 346 CALL histdef(nid_day, "pres", "Air pressure", "Pa", 347 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,347 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 348 348 . "ave(X)", zstophy,zout) 349 349 c … … 361 361 c 362 362 CALL histdef(nid_day, "SWupTOA", "SWup at TOA","W/m2", 363 . iim,jj phy_nb,nhori, 1,1,1,-99,363 . iim,jj_nb,nhori, 1,1,1,-99, 364 364 . 32, "ave(X)", zstophy,zout) 365 365 c 366 366 CALL histdef(nid_day, "SWupSFC", "SWup at surface","W/m2", 367 . iim,jj phy_nb,nhori, 1,1,1,-99,367 . iim,jj_nb,nhori, 1,1,1,-99, 368 368 . 32, "ave(X)", zstophy,zout) 369 369 c 370 370 CALL histdef(nid_day, "SWdnTOA", "SWdn at TOA","W/m2", 371 . iim,jj phy_nb,nhori, 1,1,1,-99,371 . iim,jj_nb,nhori, 1,1,1,-99, 372 372 . 32, "ave(X)", zstophy,zout) 373 373 c 374 374 CALL histdef(nid_day, "SWupTOAclr", 375 375 . "SWup clear sky at TOA","W/m2", 376 . iim,jj phy_nb,nhori, 1,1,1,-99,376 . iim,jj_nb,nhori, 1,1,1,-99, 377 377 . 32, "ave(X)", zstophy,zout) 378 378 379 379 CALL histdef(nid_day, "SWupSFCclr", 380 380 . "SWup clear sky at surface","W/m2", 381 . iim,jj phy_nb,nhori, 1,1,1,-99,381 . iim,jj_nb,nhori, 1,1,1,-99, 382 382 . 32, "ave(X)", zstophy,zout) 383 383 384 384 CALL histdef(nid_day, "SWdnTOAclr", 385 385 . "SWdn clear sky at TOA","W/m2", 386 . iim,jj phy_nb,nhori, 1,1,1,-99,386 . iim,jj_nb,nhori, 1,1,1,-99, 387 387 . 32, "ave(X)", zstophy,zout) 388 388 389 389 CALL histdef(nid_day, "SWdnSFCclr", 390 390 . "SWdn clear sky at surface","W/m2", 391 . iim,jj phy_nb,nhori, 1,1,1,-99,391 . iim,jj_nb,nhori, 1,1,1,-99, 392 392 . 32, "ave(X)", zstophy,zout) 393 393 c … … 395 395 CALL histdef(nid_day, "LWdnSFC", 396 396 . "LW down at surface","W/m2", 397 . iim,jj phy_nb,nhori, 1,1,1,-99,397 . iim,jj_nb,nhori, 1,1,1,-99, 398 398 . 32, "ave(X)", zstophy,zout) 399 399 c 400 400 CALL histdef(nid_day, "LWupSFC", 401 401 . "LW down at surface","W/m2", 402 . iim,jj phy_nb,nhori, 1,1,1,-99,402 . iim,jj_nb,nhori, 1,1,1,-99, 403 403 . 32, "ave(X)", zstophy,zout) 404 404 c … … 407 407 c . "Cld top pressure","mb", 408 408 . "Cld top pressure (cf ISCCP simulator)","Pa", 409 . iim,jj phy_nb,nhori, 1,1,1,-99,409 . iim,jj_nb,nhori, 1,1,1,-99, 410 410 . 32, "ave(X)", zstophy,zout) 411 411 cIM ENDIF !(iflag_con.GE.3) THEN … … 418 418 c 419 419 CALL histdef(nid_day, "tter", "Surface Temperature ter", "K", 420 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,420 . iim,jj_nb,nhori, 1,1,1, -99, 32, 421 421 . "ave(X)", zstophy,zout) 422 422 c 423 423 CALL histdef(nid_day, "tlic", "Surface Temperature lic", "K", 424 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,424 . iim,jj_nb,nhori, 1,1,1, -99, 32, 425 425 . "ave(X)", zstophy,zout) 426 426 c 427 427 CALL histdef(nid_day, "toce", "Surface Temperature oce", "K", 428 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,428 . iim,jj_nb,nhori, 1,1,1, -99, 32, 429 429 . "ave(X)", zstophy,zout) 430 430 c 431 431 CALL histdef(nid_day, "tsic", "Surface Temperature sic", "K", 432 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,432 . iim,jj_nb,nhori, 1,1,1, -99, 32, 433 433 . "ave(X)", zstophy,zout) 434 434 c 435 435 CALL histdef(nid_day, "t2mter", "Temp.tere 2m", "K", 436 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,436 . iim,jj_nb,nhori, 1,1,1, -99, 32, 437 437 . "ave(X)", zstophy,zout) 438 438 c 439 439 CALL histdef(nid_day, "t2mlic", "Temp.lic 2m", "K", 440 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,440 . iim,jj_nb,nhori, 1,1,1, -99, 32, 441 441 . "ave(X)", zstophy,zout) 442 442 c 443 443 CALL histdef(nid_day, "t2moce", "Temp.oce 2m", "K", 444 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,444 . iim,jj_nb,nhori, 1,1,1, -99, 32, 445 445 . "ave(X)", zstophy,zout) 446 446 c 447 447 CALL histdef(nid_day, "t2msic", "Temp.sic 2m", "K", 448 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,448 . iim,jj_nb,nhori, 1,1,1, -99, 32, 449 449 . "ave(X)", zstophy,zout) 450 450 c 451 451 CALL histdef(nid_day, "t2mter_min", "Temp.terre 2m min.", 452 452 . "K", 453 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,453 . iim,jj_nb,nhori, 1,1,1, -99, 32, 454 454 . t2mincels, zstophy,zout) 455 455 c 456 456 CALL histdef(nid_day, "t2mter_max", "Temp.terre 2m max.", 457 457 . "K", 458 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,458 . iim,jj_nb,nhori, 1,1,1, -99, 32, 459 459 . t2maxcels, zstophy,zout) 460 460 c 461 461 CALL histdef(nid_day, "u10mter", "Vent zonal ter 10m", "m/s", 462 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,462 . iim,jj_nb,nhori, 1,1,1, -99, 32, 463 463 . "ave(X)", zstophy,zout) 464 464 c 465 465 CALL histdef(nid_day, "u10mlic", "Vent zonal lic 10m", "m/s", 466 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,466 . iim,jj_nb,nhori, 1,1,1, -99, 32, 467 467 . "ave(X)", zstophy,zout) 468 468 c 469 469 CALL histdef(nid_day, "u10moce", "Vent zonal oce 10m", "m/s", 470 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,470 . iim,jj_nb,nhori, 1,1,1, -99, 32, 471 471 . "ave(X)", zstophy,zout) 472 472 c 473 473 CALL histdef(nid_day, "u10msic", "Vent zonal sic 10m", 474 . "m/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,474 . "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 475 475 . "ave(X)", zstophy,zout) 476 476 c 477 477 CALL histdef(nid_day, "v10mter", "Vent meridien ter 10m", 478 . "m/s", iim,jj phy_nb,nhori, 1,1,1, -99, 32,478 . "m/s", iim,jj_nb,nhori, 1,1,1, -99, 32, 479 479 . "ave(X)", zstophy,zout) 480 480 c 481 481 CALL histdef(nid_day, "v10mlic", "Vent meridien lic 10m", 482 . "m/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,482 . "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 483 483 . "ave(X)", zstophy,zout) 484 484 c 485 485 CALL histdef(nid_day, "v10moce", "Vent meridien oce 10m", 486 . "m/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,486 . "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 487 487 . "ave(X)", zstophy,zout) 488 488 c 489 489 CALL histdef(nid_day, "v10msic", "Vent meridien sic 10m", 490 . "m/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,490 . "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 491 491 . "ave(X)", zstophy,zout) 492 492 c … … 495 495 call histdef(nid_day, "pourc_"//clnsurf(nsrf), 496 496 $ "% "//clnsurf(nsrf), "%", 497 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,497 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 498 498 $ "ave(X)", zstophy,zout) 499 499 C 500 500 call histdef(nid_day, "fract_"//clnsurf(nsrf), 501 501 $ "Fraction "//clnsurf(nsrf), "1", 502 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,502 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 503 503 $ "ave(X)", zstophy,zout) 504 504 C 505 505 call histdef(nid_day, "tsol_"//clnsurf(nsrf), 506 506 $ "Temperature "//clnsurf(nsrf), "K", 507 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,507 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 508 508 $ "ave(X)", zstophy,zout) 509 509 C 510 510 call histdef(nid_day, "sens_"//clnsurf(nsrf), 511 511 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 512 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,512 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 513 513 $ "ave(X)", zstophy,zout) 514 514 c 515 515 call histdef(nid_day, "lat_"//clnsurf(nsrf), 516 516 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 517 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,517 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 518 518 $ "ave(X)", zstophy,zout) 519 519 C 520 520 call histdef(nid_day, "taux_"//clnsurf(nsrf), 521 521 $ "Zonal wind stress "//clnsurf(nsrf),"Pa", 522 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,522 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 523 523 $ "ave(X)", zstophy,zout) 524 524 525 525 call histdef(nid_day, "tauy_"//clnsurf(nsrf), 526 526 $ "Meridional wind stress "//clnsurf(nsrf), "Pa", 527 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,527 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 528 528 $ "ave(X)", zstophy,zout) 529 529 C 530 530 call histdef(nid_day, "albe_"//clnsurf(nsrf), 531 531 $ "Albedo surf. "//clnsurf(nsrf), "-", 532 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,532 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 533 533 $ "ave(X)", zstophy,zout) 534 534 C 535 535 call histdef(nid_day, "rugs_"//clnsurf(nsrf), 536 536 $ "Rugosite "//clnsurf(nsrf), "m", 537 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,537 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 538 538 $ "ave(X)", zstophy,zout) 539 539 C … … 552 552 CALL histdef(nid_day, "tops0", "CS Solar rad. at TOA", 553 553 . "W/m2", 554 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,554 . iim,jj_nb,nhori, 1,1,1, -99, 32, 555 555 . "ave(X)", zstophy,zout) 556 556 c 557 557 CALL histdef(nid_day, "topl0", "CS IR rad. at TOA", 558 558 . "W/m2", 559 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,559 . iim,jj_nb,nhori, 1,1,1, -99, 32, 560 560 . "ave(X)", zstophy,zout) 561 561 c 562 562 CALL histdef(nid_day, "sols0", "CS Net Solar rad. at surf.", 563 563 . "W/m2", 564 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,564 . iim,jj_nb,nhori, 1,1,1, -99, 32, 565 565 . "ave(X)", zstophy,zout) 566 566 c 567 567 CALL histdef(nid_day, "soll0", "CS Net IR rad. at surface", 568 568 . "W/m2", 569 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,569 . iim,jj_nb,nhori, 1,1,1, -99, 32, 570 570 . "ave(X)", zstophy,zout) 571 571 c 572 572 CALL histdef(nid_day, "rneb", "Cloud fraction", "-", 573 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,573 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 574 574 . "ave(X)", zstophy,zout) 575 575 c 576 576 CALL histdef(nid_day, "rnebcon", "Convective Cloud Fraction" 577 577 . , "-", 578 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,578 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 579 579 . "ave(X)", zstophy,zout) 580 580 c 581 581 CALL histdef(nid_day,"lwcon","Cloud liquid water content", 582 582 . "kg/kg", 583 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,583 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 584 584 . "ave(X)", zstophy,zout) 585 585 c 586 586 CALL histdef(nid_day,"iwcon","Cloud ice water content","kg/kg", 587 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,587 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 588 588 . "ave(X)", zstophy,zout) 589 589 c 590 590 CALL histdef(nid_day,"lwp","Cloud water path","kg/m2", 591 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,591 . iim,jj_nb,nhori, 1,1,1, -99, 32, 592 592 . "ave(X)", zstophy,zout) 593 593 c 594 594 CALL histdef(nid_day,"iwp","Cloud ice water path","kg/m2", 595 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,595 . iim,jj_nb,nhori, 1,1,1, -99, 32, 596 596 . "ave(X)", zstophy,zout) 597 597 c 598 598 CALL histdef(nid_day,"meantaucld", 599 599 . "ISCCP mean cloud optical thickness","1", 600 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,600 . iim,jj_nb,nhori, 1,1,1, -99, 32, 601 601 . "ave(X)", zstophy,zout) 602 602 c 603 603 CALL histdef(nid_day,"cldtau","Cloud optical thickness","1", 604 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,604 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 605 605 . "ave(X)", zstophy,zout) 606 606 c 607 607 CALL histdef(nid_day,"cldemi","Cloud optical emissivity","1", 608 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,608 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 609 609 . "ave(X)", zstophy,zout) 610 610 c … … 612 612 c 613 613 CALL histdef(nid_day, "dtcon", "Convection dT", "K/s", 614 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,614 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 615 615 . "ave(X)", zstophy,zout) 616 616 c 617 617 CALL histdef(nid_day, "dqcon", "Convection dQ", "(kg/kg)/s", 618 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,618 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 619 619 . "ave(X)", zstophy,zout) 620 620 c 621 621 CALL histdef(nid_day, "rh2m", "Relative humidity at 2m", "%", 622 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,622 . iim,jj_nb,nhori, 1,1,1, -99, 32, 623 623 . "ave(X)", zstophy,zout) 624 624 c 625 625 CALL histdef(nid_day, "qsat2m", "Saturant humidity at 2m", "%", 626 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,626 . iim,jj_nb,nhori, 1,1,1, -99, 32, 627 627 . "ave(X)", zstophy,zout) 628 628 c 629 629 CALL histdef(nid_day, "tpot", 630 630 . "Surface air potential temperature", "K", 631 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,631 . iim,jj_nb,nhori, 1,1,1, -99, 32, 632 632 . "ave(X)", zstophy,zout) 633 633 c 634 634 CALL histdef(nid_day, "tpote", 635 635 . "Surface air equivalent potential temperature", "K", 636 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,636 . iim,jj_nb,nhori, 1,1,1, -99, 32, 637 637 . "ave(X)", zstophy,zout) 638 638 c -
LMDZ4/trunk/libf/phylmd/ini_histday_seri.h
r766 r776 3 3 c 4 4 cym Ne fonctionnera pas en mode parallele 5 IF ( monocpu) THEN5 IF (is_sequential) THEN 6 6 7 7 IF (type_run.EQ."AMIP") THEN … … 129 129 ENDIF ! fin de test sur type_run.EQ.AMIP 130 130 131 ENDIF ! monocpu131 ENDIF ! is_sequential -
LMDZ4/trunk/libf/phylmd/ini_histhf.h
r766 r776 40 40 c 41 41 CALL histdef(nid_hf, "aireTER","Grid area CONT","-", 42 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,42 . iim,jj_nb,nhori, 1,1,1, -99, 32, 43 43 . "once", zstohf,zout) 44 44 c 45 45 CALL histdef(nid_hf, "contfracATM","% sfce ter+lic ","-", 46 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,46 . iim,jj_nb,nhori, 1,1,1, -99, 32, 47 47 . "once", zstohf,zout) 48 48 c 49 49 CALL histdef(nid_hf, "contfracOR","% sfce terre OR", "-", 50 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,50 . iim,jj_nb,nhori, 1,1,1, -99, 32, 51 51 . "once", zstohf,zout) 52 52 c … … 54 54 c 55 55 CALL histdef(nid_hf, "t2m", "Temperature 2m", "K", 56 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,56 . iim,jj_nb,nhori, 1,1,1, -99, 32, 57 57 . "inst(X)", zstohf,zout) 58 58 c 59 59 CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg", 60 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,60 . iim,jj_nb,nhori, 1,1,1, -99, 32, 61 61 . "inst(X)", zstohf,zout) 62 62 c 63 63 CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa", 64 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,64 . iim,jj_nb,nhori, 1,1,1, -99, 32, 65 65 . "inst(X)", zstohf,zout) 66 66 c 67 67 CALL histdef(nid_hf, "precip", "Precipitation", "kg/(s*m2)", 68 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,68 . iim,jj_nb,nhori, 1,1,1, -99, 32, 69 69 . "ave(X)", zstophy,zout) 70 70 c 71 71 cIM ENSEMBLES BEG 72 72 CALL histdef(nid_hf, "tsol", "Surface Temperature", "K", 73 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,73 . iim,jj_nb,nhori, 1,1,1, -99, 32, 74 74 . "inst(X)", zstohf,zout) 75 75 c 76 76 CALL histdef(nid_hf, "slp", "Sea Level Pressure", "Pa", 77 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,77 . iim,jj_nb,nhori, 1,1,1, -99, 32, 78 78 . "inst(X)", zstohf,zout) 79 79 c 80 80 CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s", 81 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,81 . iim,jj_nb,nhori, 1,1,1, -99, 32, 82 82 . "inst(X)", zstohf,zout) 83 83 c 84 84 CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s", 85 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,85 . iim,jj_nb,nhori, 1,1,1, -99, 32, 86 86 . "inst(X)", zstohf,zout) 87 87 c 88 88 CALL histdef(nid_hf, "wind10m","10-m wind speed","m/s", 89 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,89 . iim,jj_nb,nhori, 1,1,1, -99, 32, 90 90 . "inst(X)", zstohf,zout) 91 91 c … … 105 105 CALL histdef(nid_hf, "phi"//bb2, 106 106 . "Geopotential "//bb2//"mb", "m", 107 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,107 . iim,jj_nb,nhori, 1,1,1, -99, 32, 108 108 . "inst(X)", zstohf,zout) 109 109 ENDIF !bb2.EQ."500" … … 115 115 c 116 116 CALL histdef(nid_hf, "cldt", "Total cloudiness", "%", 117 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,117 . iim,jj_nb,nhori, 1,1,1, -99, 32, 118 118 . "ave(X)", zstophy,zout) 119 119 c 120 120 CALL histdef(nid_hf, "SWnetOR", 121 121 . "Sfce net SW radiation OR", "W/m2", 122 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,122 . iim,jj_nb,nhori, 1,1,1, -99, 32, 123 123 . "ave(X)", zstophy,zout) 124 124 c 125 125 CALL histdef(nid_hf, "SWdownOR", 126 126 . "Sfce incident SW radiation OR", "W/m2", 127 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,127 . iim,jj_nb,nhori, 1,1,1, -99, 32, 128 128 . "ave(X)", zstophy,zout) 129 129 c 130 130 CALL histdef(nid_hf, "LWdownOR", 131 131 . "Sfce incident LW radiation OR", "W/m2", 132 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,132 . iim,jj_nb,nhori, 1,1,1, -99, 32, 133 133 . "ave(X)", zstophy,zout) 134 134 ENDIF !lev_histhf.GE.2 … … 154 154 CALL histdef(nid_hf, "t"//bb2, 155 155 . "Temperature "//bb2//"mb","K", 156 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,156 . iim,jj_nb,nhori, 1,1,1, -99, 32, 157 157 . "inst(X)", zstohf,zout) 158 158 c … … 160 160 CALL histdef(nid_hf, "phi"//bb2, 161 161 . "Geopotential "//bb2//"mb", "m", 162 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,162 . iim,jj_nb,nhori, 1,1,1, -99, 32, 163 163 . "inst(X)", zstohf,zout) 164 164 ENDIF … … 166 166 CALL histdef(nid_hf, "q"//bb2, 167 167 . "Specific humidity "//bb2//"mb","kg/kg", 168 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,168 . iim,jj_nb,nhori, 1,1,1, -99, 32, 169 169 . "inst(X)", zstohf,zout) 170 170 c 171 171 CALL histdef(nid_hf, "u"//bb2, 172 172 . "Zonal wind "//bb2//"mb","m/s", 173 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,173 . iim,jj_nb,nhori, 1,1,1, -99, 32, 174 174 . "inst(X)", zstohf,zout) 175 175 c 176 176 CALL histdef(nid_hf, "v"//bb2, 177 177 . "Meridional wind "//bb2//"mb","m/s", 178 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,178 . iim,jj_nb,nhori, 1,1,1, -99, 32, 179 179 . "inst(X)", zstohf,zout) 180 180 c … … 216 216 CALL histdef(nid_hf, "u"//bb2, 217 217 . "Zonal wind "//bb2//"mb","m/s", 218 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,218 . iim,jj_nb,nhori, 1,1,1, -99, 32, 219 219 . "inst(X)", zstohf,zstohf) 220 220 c 221 221 CALL histdef(nid_hf, "v"//bb2, 222 222 . "Meridional wind "//bb2//"mb","m/s", 223 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,223 . iim,jj_nb,nhori, 1,1,1, -99, 32, 224 224 . "inst(X)", zstohf,zstohf) 225 225 c … … 229 229 CALL histdef(nid_hf, "topl", 230 230 . "Outgoing longwave radiation", "W/m2", 231 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,231 . iim,jj_nb,nhori, 1,1,1, -99, 32, 232 232 . "ave(X)", zstophy,zout) 233 233 c 234 234 CALL histdef(nid_hf, "precip","Total precipitation rate", 235 . "kg/(s*m2)",iim,jj phy_nb,nhori, 1,1,1, -99, 32,235 . "kg/(s*m2)",iim,jj_nb,nhori, 1,1,1, -99, 32, 236 236 . "ave(X)", zstophy,zout) 237 237 c 238 238 CALL histdef(nid_hf, "slp", 239 239 . "Mean sea-level pressure", "Pa", 240 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,240 . iim,jj_nb,nhori, 1,1,1, -99, 32, 241 241 . "inst(X)", zstohf,zout) 242 242 c … … 261 261 CALL histdef(nid_hf, "t"//bb2, 262 262 . "Temperature "//bb2//"mb","K", 263 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,263 . iim,jj_nb,nhori, 1,1,1, -99, 32, 264 264 . "inst(X)", zstohf,zstohf) 265 265 c 266 266 CALL histdef(nid_hf, "q"//bb2, 267 267 . "Specific humidity "//bb2//"mb","kg/kg", 268 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,268 . iim,jj_nb,nhori, 1,1,1, -99, 32, 269 269 . "inst(X)", zstohf,zstohf) 270 270 c … … 275 275 CALL histdef(nid_hf, "phi"//bb2, 276 276 . "Geopotential "//bb2//"mb", "m", 277 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,277 . iim,jj_nb,nhori, 1,1,1, -99, 32, 278 278 . "inst(X)", zstohf,zstohf) 279 279 c 280 280 CALL histdef(nid_hf, "w"//bb2, 281 281 . "Vertical motion "//bb2//"mb","Pa/s", 282 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,282 . iim,jj_nb,nhori, 1,1,1, -99, 32, 283 283 . "inst(X)", zstohf,zstohf) 284 284 ENDIF !bb2.EQ."500" … … 288 288 CALL histdef(nid_hf, "t"//bb3, 289 289 . "Temperature "//bb3//"mb","K", 290 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,290 . iim,jj_nb,nhori, 1,1,1, -99, 32, 291 291 . "inst(X)", zstohf,zstohf) 292 292 c 293 293 CALL histdef(nid_hf, "u"//bb3, 294 294 . "Zonal wind "//bb3//"mb","m/s", 295 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,295 . iim,jj_nb,nhori, 1,1,1, -99, 32, 296 296 . "inst(X)", zstohf,zstohf) 297 297 c 298 298 CALL histdef(nid_hf, "v"//bb3, 299 299 . "Meridional wind "//bb3//"mb","m/s", 300 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,300 . iim,jj_nb,nhori, 1,1,1, -99, 32, 301 301 . "inst(X)", zstohf,zstohf) 302 302 c … … 306 306 c 307 307 CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s", 308 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,308 . iim,jj_nb,nhori, 1,1,1, -99, 32, 309 309 . "inst(X)", zstohf,zout) 310 310 c 311 311 CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s", 312 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,312 . iim,jj_nb,nhori, 1,1,1, -99, 32, 313 313 . "inst(X)", zstohf,zout) 314 314 c 315 315 CALL histdef(nid_hf, "t2m", "Temperature 2m", "K", 316 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,316 . iim,jj_nb,nhori, 1,1,1, -99, 32, 317 317 . "inst(X)", zstohf,zout) 318 318 c 319 319 CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg", 320 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,320 . iim,jj_nb,nhori, 1,1,1, -99, 32, 321 321 . "inst(X)", zstohf,zout) 322 322 c 323 323 CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa", 324 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,324 . iim,jj_nb,nhori, 1,1,1, -99, 32, 325 325 . "inst(X)", zstohf,zout) 326 326 c 327 327 CALL histdef(nid_hf, "cldt", "Total cloudiness", "%", 328 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,328 . iim,jj_nb,nhori, 1,1,1, -99, 32, 329 329 . "ave(X)", zstohf,zout) 330 330 c 331 331 CALL histdef(nid_hf, "taux", 332 332 $ "Zonal wind stress","Pa", 333 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,333 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 334 334 $ "ave(X)", zstohf,zout) 335 335 c 336 336 CALL histdef(nid_hf, "tauy", 337 337 $ "Meridional wind stress ", "Pa", 338 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,338 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 339 339 $ "ave(X)", zstohf,zout) 340 340 c 341 341 CALL histdef(nid_hf, "prw", "Precipitable water", "kg/m2", 342 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,342 . iim,jj_nb,nhori, 1,1,1, -99, 32, 343 343 cIM 090904 . "ave(X)", zstohf,zout) 344 344 . "ave(X)", zstophy,zout) 345 345 c 346 346 CALL histdef(nid_hf, "sens", "Sensible heat flux", "W/m2", 347 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,347 . iim,jj_nb,nhori, 1,1,1, -99, 32, 348 348 cIM 090904 . "ave(X)", zstohf,zout) 349 349 . "ave(X)", zstophy,zout) 350 350 c 351 351 CALL histdef(nid_hf, "flat", "Latent heat flux", "W/m2", 352 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,352 . iim,jj_nb,nhori, 1,1,1, -99, 32, 353 353 . "ave(X)", zstohf,zout) 354 354 c 355 355 c CALL histdef(nid_hf, "snow_mass", "Snow Mass", "kg/m2", 356 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,356 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 357 357 c . "ave(X)", zstohf,zout) 358 358 c 359 359 CALL histdef(nid_hf, "SWdnSFC", "SWdn at surface","W/m2", 360 . iim,jj phy_nb,nhori, 1,1,1,-99,360 . iim,jj_nb,nhori, 1,1,1,-99, 361 361 . 32, "ave(X)", zstohf,zout) 362 362 c 363 363 CALL histdef(nid_hf, "SWupSFC", "SWup at surface","W/m2", 364 . iim,jj phy_nb,nhori, 1,1,1,-99,364 . iim,jj_nb,nhori, 1,1,1,-99, 365 365 . 32, "ave(X)", zstohf,zout) 366 366 c 367 367 CALL histdef(nid_hf,"LWdnSFC","Down. IR rad. at surface", 368 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,368 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 369 369 . "ave(X)", zstohf,zout) 370 370 c 371 371 CALL histdef(nid_hf,"LWupSFC","Upwd. IR rad. at surface", 372 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,372 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 373 373 . "ave(X)", zstohf,zout) 374 374 c 375 375 CALL histdef(nid_hf, "SWdnTOA", "SWdn at TOA","W/m2", 376 . iim,jj phy_nb,nhori, 1,1,1,-99,376 . iim,jj_nb,nhori, 1,1,1,-99, 377 377 . 32, "ave(X)", zstohf,zout) 378 378 c 379 379 CALL histdef(nid_hf, "SWupTOA", "SWup at TOA","W/m2", 380 . iim,jj phy_nb,nhori, 1,1,1,-99,380 . iim,jj_nb,nhori, 1,1,1,-99, 381 381 . 32, "ave(X)", zstohf,zout) 382 382 c … … 384 384 CALL histdef(nid_hf, "PV"//ctetaSTD(k), 385 385 $ "Vorticite potentielle "//ctetaSTD(k)//"K", 386 $ "1/(Pa*s)",iim,jj phy_nb,nhori, 1,1,1, -99,386 $ "1/(Pa*s)",iim,jj_nb,nhori, 1,1,1, -99, 387 387 $ 32, "inst(X)", zstohf,zout) 388 388 ENDDO !k=1, nbteta -
LMDZ4/trunk/libf/phylmd/ini_histhf3d.h
r767 r776 33 33 c 34 34 CALL histdef(nid_hf3d, "temp", "Air temperature", "K", 35 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,36 . " inst(X)", zstohf,zout)35 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 36 . "ave(X)", zstohf,zout) 37 37 c 38 38 CALL histdef(nid_hf3d, "ovap", "Specific humidity", "kg/kg", 39 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,40 . " inst(X)", zstohf,zout)39 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 40 . "ave(X)", zstohf,zout) 41 41 c 42 42 CALL histdef(nid_hf3d, "vitu", "Zonal wind", "m/s", 43 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,44 . " inst(X)", zstohf,zout)43 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 44 . "ave(X)", zstohf,zout) 45 45 c 46 46 CALL histdef(nid_hf3d, "vitv", "Meridional wind", "m/s", 47 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,48 . " inst(X)", zstohf,zout)47 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 48 . "ave(X)", zstohf,zout) 49 49 c 50 50 CALL histend(nid_hf3d) -
LMDZ4/trunk/libf/phylmd/ini_histins.h
r766 r776 34 34 c 35 35 CALL histdef(nid_ins, "phis", "Surface geop. height", "-", 36 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,36 . iim,jj_nb,nhori, 1,1,1, -99, 32, 37 37 . "once", zsto,zout) 38 38 c 39 39 CALL histdef(nid_ins, "aire", "Grid area", "-", 40 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,40 . iim,jj_nb,nhori, 1,1,1, -99, 32, 41 41 . "once", zsto,zout) 42 42 c … … 44 44 c 45 45 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", 46 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,46 . iim,jj_nb,nhori, 1,1,1, -99, 32, 47 47 . "inst(X)", zsto,zout) 48 48 c 49 49 CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", 50 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,50 . iim,jj_nb,nhori, 1,1,1, -99, 32, 51 51 . "inst(X)", zsto,zout) 52 52 c 53 53 CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", 54 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,54 . iim,jj_nb,nhori, 1,1,1, -99, 32, 55 55 . "inst(X)", zsto,zout) 56 56 c 57 57 CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", 58 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,58 . iim,jj_nb,nhori, 1,1,1, -99, 32, 59 59 . "inst(X)", zsto,zout) 60 60 c 61 61 CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", 62 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,62 . iim,jj_nb,nhori, 1,1,1, -99, 32, 63 63 . "inst(X)", zsto,zout) 64 64 c 65 65 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", 66 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,66 . iim,jj_nb,nhori, 1,1,1, -99, 32, 67 67 . "inst(X)", zsto,zout) 68 68 c 69 69 CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", 70 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,70 . iim,jj_nb,nhori, 1,1,1, -99, 32, 71 71 . "inst(X)", zsto,zout) 72 72 c 73 73 CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", 74 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,74 . iim,jj_nb,nhori, 1,1,1, -99, 32, 75 75 . "inst(X)", zsto,zout) 76 76 c 77 77 CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", 78 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,78 . iim,jj_nb,nhori, 1,1,1, -99, 32, 79 79 . "inst(X)", zsto,zout) 80 80 c 81 81 CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", 82 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,82 . iim,jj_nb,nhori, 1,1,1, -99, 32, 83 83 . "inst(X)", zsto,zout) 84 84 c 85 85 CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", 86 86 . "kg/(s*m2)", 87 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,87 . iim,jj_nb,nhori, 1,1,1, -99, 32, 88 88 . "inst(X)", zsto,zout) 89 89 c 90 90 CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", 91 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,91 . iim,jj_nb,nhori, 1,1,1, -99, 32, 92 92 . "inst(X)", zsto,zout) 93 93 c … … 97 97 c 98 98 CALL histdef(nid_ins, "topl", "OLR", "W/m2", 99 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,99 . iim,jj_nb,nhori, 1,1,1, -99, 32, 100 100 . "inst(X)", zsto,zout) 101 101 c 102 102 CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", 103 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,103 . iim,jj_nb,nhori, 1,1,1, -99, 32, 104 104 . "inst(X)", zsto,zout) 105 105 c 106 106 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", 107 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,107 . iim,jj_nb,nhori, 1,1,1, -99, 32, 108 108 . "inst(X)", zsto,zout) 109 109 c 110 110 CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", 111 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,111 . iim,jj_nb,nhori, 1,1,1, -99, 32, 112 112 . "inst(X)", zsto,zout) 113 113 c 114 114 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", 115 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,115 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 116 116 . "inst(X)", zsto,zout) 117 117 c 118 118 CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", 119 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,119 . iim,jj_nb,nhori, 1,1,1, -99, 32, 120 120 . "inst(X)", zsto,zout) 121 121 c 122 122 CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", 123 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,123 . iim,jj_nb,nhori, 1,1,1, -99, 32, 124 124 . "inst(X)", zsto,zout) 125 125 c 126 126 CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", 127 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,127 . iim,jj_nb,nhori, 1,1,1, -99, 32, 128 128 . "inst(X)", zsto,zout) 129 129 c 130 130 CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", 131 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,131 . iim,jj_nb,nhori, 1,1,1, -99, 32, 132 132 . "inst(X)", zsto,zout) 133 133 c 134 134 CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", 135 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,135 . iim,jj_nb,nhori, 1,1,1, -99, 32, 136 136 . "inst(X)", zsto,zout) 137 137 c 138 138 CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", 139 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,139 . iim,jj_nb,nhori, 1,1,1, -99, 32, 140 140 . "inst(X)", zsto,zout) 141 141 c 142 142 CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", 143 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,143 . iim,jj_nb,nhori, 1,1,1, -99, 32, 144 144 . "inst(X)", zsto,zout) 145 145 … … 148 148 call histdef(nid_ins, "pourc_"//clnsurf(nsrf), 149 149 $ "% "//clnsurf(nsrf), "%", 150 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,150 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 151 151 $ "inst(X)", zsto,zout) 152 152 153 153 call histdef(nid_ins, "fract_"//clnsurf(nsrf), 154 154 $ "Fraction "//clnsurf(nsrf), "1", 155 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,155 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 156 156 $ "inst(X)", zsto,zout) 157 157 158 158 call histdef(nid_ins, "sens_"//clnsurf(nsrf), 159 159 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 160 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,160 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 161 161 $ "inst(X)", zsto,zout) 162 162 c 163 163 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), 164 164 $ "Surface Temperature"//clnsurf(nsrf), "W/m2", 165 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,165 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 166 166 $ "inst(X)", zsto,zout) 167 167 c 168 168 call histdef(nid_ins, "lat_"//clnsurf(nsrf), 169 169 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 170 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,170 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 171 171 $ "inst(X)", zsto,zout) 172 172 C 173 173 call histdef(nid_ins, "taux_"//clnsurf(nsrf), 174 174 $ "Zonal wind stress"//clnsurf(nsrf),"Pa", 175 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,175 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 176 176 $ "inst(X)", zsto,zout) 177 177 178 178 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), 179 179 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 180 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,180 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 181 181 $ "inst(X)", zsto,zout) 182 182 c 183 183 call histdef(nid_ins, "albe_"//clnsurf(nsrf), 184 184 $ "Albedo "//clnsurf(nsrf), "-", 185 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,185 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 186 186 $ "inst(X)", zsto,zout) 187 187 c 188 188 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), 189 189 $ "rugosite "//clnsurf(nsrf), "-", 190 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,190 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 191 191 $ "inst(X)", zsto,zout) 192 192 CXXX 193 193 END DO 194 194 CALL histdef(nid_ins, "rugs", "rugosity", "-", 195 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,195 . iim,jj_nb,nhori, 1,1,1, -99, 32, 196 196 . "inst(X)", zsto,zout) 197 197 198 198 c 199 199 CALL histdef(nid_ins, "albs", "Surface albedo", "-", 200 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,200 . iim,jj_nb,nhori, 1,1,1, -99, 32, 201 201 . "inst(X)", zsto,zout) 202 202 CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-", 203 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,203 . iim,jj_nb,nhori, 1,1,1, -99, 32, 204 204 . "inst(X)", zsto,zout) 205 205 c … … 208 208 c HBTM2 209 209 CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", 210 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,210 . iim,jj_nb,nhori, 1,1,1, -99, 32, 211 211 . "inst(X)", zsto,zout) 212 212 c 213 213 CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", 214 214 . "K", 215 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,215 . iim,jj_nb,nhori, 1,1,1, -99, 32, 216 216 . "inst(X)", zsto,zout) 217 217 c 218 218 CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", 219 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,219 . iim,jj_nb,nhori, 1,1,1, -99, 32, 220 220 . "inst(X)", zsto,zout) 221 221 c 222 222 CALL histdef(nid_ins, "s_capCL", "Conv avlbl pot ener for 223 223 . ABL", "J/m2", 224 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,224 . iim,jj_nb,nhori, 1,1,1, -99, 32, 225 225 . "inst(X)", zsto,zout) 226 226 c 227 227 CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", 228 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,228 . iim,jj_nb,nhori, 1,1,1, -99, 32, 229 229 . "inst(X)", zsto,zout) 230 230 c 231 231 CALL histdef(nid_ins, "s_cteiCL", "Instability criteria 232 232 . (ABL)", "K", 233 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,233 . iim,jj_nb,nhori, 1,1,1, -99, 32, 234 234 . "inst(X)", zsto,zout) 235 235 c 236 236 CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", 237 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,237 . iim,jj_nb,nhori, 1,1,1, -99, 32, 238 238 . "inst(X)", zsto,zout) 239 239 c 240 240 CALL histdef(nid_ins, "s_trmb1", "deep_cape(HBTM2)", "J/m2", 241 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,241 . iim,jj_nb,nhori, 1,1,1, -99, 32, 242 242 . "inst(X)", zsto,zout) 243 243 c 244 244 CALL histdef(nid_ins, "s_trmb2", "inhibition (HBTM2)", "J/m2", 245 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,245 . iim,jj_nb,nhori, 1,1,1, -99, 32, 246 246 . "inst(X)", zsto,zout) 247 247 c 248 248 CALL histdef(nid_ins, "s_trmb3", "Point Omega (HBTM2)", "m", 249 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,249 . iim,jj_nb,nhori, 1,1,1, -99, 32, 250 250 . "inst(X)", zsto,zout) 251 251 c … … 255 255 c 256 256 CALL histdef(nid_ins, "temp", "Temperature", "K", 257 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,257 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 258 258 . "inst(X)", zsto,zout) 259 259 c 260 260 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", 261 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,261 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 262 262 . "inst(X)", zsto,zout) 263 263 c 264 264 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", 265 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,265 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 266 266 . "inst(X)", zsto,zout) 267 267 c 268 268 CALL histdef(nid_ins, "geop", "Geopotential height", "m", 269 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,269 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 270 270 . "inst(X)", zsto,zout) 271 271 c 272 272 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", 273 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,273 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 274 274 . "inst(X)", zsto,zout) 275 275 c 276 276 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", 277 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,277 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 278 278 . "inst(X)", zsto,zout) 279 279 c 280 280 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", 281 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,281 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 282 282 . "inst(X)", zsto,zout) 283 283 c -
LMDZ4/trunk/libf/phylmd/ini_histmth.h
r766 r776 40 40 CALL histdef(nid_mth, "phis", 41 41 . "Surface geop. height", "m2/s2", 42 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,42 . iim,jj_nb,nhori, 1,1,1, -99, 32, 43 43 . "once", zstophy,zout) 44 44 c 45 45 CALL histdef(nid_mth, "aire", "Grid area", "-", 46 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,46 . iim,jj_nb,nhori, 1,1,1, -99, 32, 47 47 . "once", zstophy,zout) 48 48 c 49 49 CALL histdef(nid_mth, "pourc_"//clnsurf(is_ter), 50 50 . "% "//clnsurf(is_ter), "%", 51 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,51 . iim,jj_nb,nhori, 1,1,1, -99, 32, 52 52 . "once", zstophy,zout) 53 53 c 54 54 CALL histdef(nid_mth, "fract_"//clnsurf(is_ter), 55 55 . "Fraction "//clnsurf(is_ter), "1", 56 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,56 . iim,jj_nb,nhori, 1,1,1, -99, 32, 57 57 . "once", zstophy,zout) 58 58 c … … 60 60 c 61 61 CALL histdef(nid_mth, "slp", "Sea Level Pressure", "Pa", 62 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,62 . iim,jj_nb,nhori, 1,1,1, -99, 32, 63 63 . "ave(X)", zstophy,zout) 64 64 c 65 65 CALL histdef(nid_mth, "tsol", "Surface Temperature", "K", 66 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,66 . iim,jj_nb,nhori, 1,1,1, -99, 32, 67 67 . "ave(X)", zstophy,zout) 68 68 c 69 69 CALL histdef(nid_mth, "t2m", "Temperature 2m", "K", 70 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,70 . iim,jj_nb,nhori, 1,1,1, -99, 32, 71 71 . "ave(X)", zstophy,zout) 72 72 c … … 74 74 CALL histdef(nid_mth, "t2m_min", "Temp. 2m min.", 75 75 . "K", 76 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,76 . iim,jj_nb,nhori, 1,1,1, -99, 32, 77 77 . t2mincels, zstophy,zout) 78 78 c 79 79 CALL histdef(nid_mth, "t2m_max", "Temp. 2m max.", 80 80 . "K", 81 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,81 . iim,jj_nb,nhori, 1,1,1, -99, 32, 82 82 . t2maxcels, zstophy,zout) 83 83 c 84 84 c CALL histdef(nid_mth, "tsoil", "Sfce soil Temperature", 85 85 c . "K", 86 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,86 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 87 87 c . "ave(X)", zstophy,zout) 88 88 c 89 89 CALL histdef(nid_mth, "wind10m","10-m wind speed","m/s", 90 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,90 . iim,jj_nb,nhori, 1,1,1, -99, 32, 91 91 . "ave(X)", zstophy,zout) 92 92 c 93 93 CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-", 94 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,94 . iim,jj_nb,nhori, 1,1,1, -99, 32, 95 95 . "ave(X)", zstophy,zout) 96 96 c 97 97 c ENSEMBLES END 98 98 CALL histdef(nid_mth, "q2m", "Specific humidity 2m", "kg/kg", 99 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,99 . iim,jj_nb,nhori, 1,1,1, -99, 32, 100 100 . "ave(X)", zstophy,zout) 101 101 c 102 102 CALL histdef(nid_mth, "u10m", "Vent zonal 10m", "m/s", 103 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,103 . iim,jj_nb,nhori, 1,1,1, -99, 32, 104 104 . "ave(X)", zstophy,zout) 105 105 c 106 106 CALL histdef(nid_mth, "v10m", "Vent meridien 10m", "m/s", 107 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,107 . iim,jj_nb,nhori, 1,1,1, -99, 32, 108 108 . "ave(X)", zstophy,zout) 109 109 c 110 110 CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa", 111 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,111 . iim,jj_nb,nhori, 1,1,1, -99, 32, 112 112 . "ave(X)", zstophy,zout) 113 113 c 114 114 CALL histdef(nid_mth, "qsurf", "Surface Air humidity", "kg/kg", 115 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,115 . iim,jj_nb,nhori, 1,1,1, -99, 32, 116 116 . "ave(X)", zstophy,zout) 117 117 c 118 118 if (.not. ok_veget) then 119 119 CALL histdef(nid_mth, "qsol", "Soil watter content", "mm", 120 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,120 . iim,jj_nb,nhori, 1,1,1, -99, 32, 121 121 . "ave(X)", zstophy,zout) 122 122 endif … … 124 124 CALL histdef(nid_mth, "ndayrain", 125 125 . "Number of day with rain (liq+sol)", "-", 126 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,126 . iim,jj_nb,nhori, 1,1,1, -99, 32, 127 127 . "inst(X)", zstomth,zout) 128 128 c 129 129 CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol", 130 130 . "kg/(s*m2)", 131 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,131 . iim,jj_nb,nhori, 1,1,1, -99, 32, 132 132 . "ave(X)", zstophy,zout) 133 133 c 134 134 CALL histdef(nid_mth, "plul", "Large-scale Precip.", 135 135 . "kg/(s*m2)", 136 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,136 . iim,jj_nb,nhori, 1,1,1, -99, 32, 137 137 . "ave(X)", zstophy,zout) 138 138 c 139 139 CALL histdef(nid_mth, "pluc", "Convective Precip.", 140 140 . "kg/(s*m2)", 141 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,141 . iim,jj_nb,nhori, 1,1,1, -99, 32, 142 142 . "ave(X)", zstophy,zout) 143 143 c 144 144 CALL histdef(nid_mth, "snow", "Snow fall", "kg/(s*m2)", 145 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,145 . iim,jj_nb,nhori, 1,1,1, -99, 32, 146 146 . "ave(X)", zstophy,zout) 147 147 c 148 148 c CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2", 149 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,149 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 150 150 c . "ave(X)", zstophy,zout) 151 151 c 152 152 CALL histdef(nid_mth, "evap", "Evaporation", "kg/(s*m2)", 153 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,153 . iim,jj_nb,nhori, 1,1,1, -99, 32, 154 154 . "ave(X)", zstophy,zout) 155 155 c 156 156 CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2", 157 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,157 . iim,jj_nb,nhori, 1,1,1, -99, 32, 158 158 . "ave(X)", zstophy,zout) 159 159 c 160 160 CALL histdef(nid_mth, "tops0", "CS Solar rad. at TOA", "W/m2", 161 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,161 . iim,jj_nb,nhori, 1,1,1, -99, 32, 162 162 . "ave(X)", zstophy,zout) 163 163 c 164 164 CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2", 165 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,165 . iim,jj_nb,nhori, 1,1,1, -99, 32, 166 166 . "ave(X)", zstophy,zout) 167 167 c 168 168 CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2", 169 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,169 . iim,jj_nb,nhori, 1,1,1, -99, 32, 170 170 . "ave(X)", zstophy,zout) 171 171 c 172 172 CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2", 173 . iim,jj phy_nb,nhori, 1,1,1,-99,173 . iim,jj_nb,nhori, 1,1,1,-99, 174 174 . 32, "ave(X)", zstophy,zout) 175 175 c 176 176 CALL histdef(nid_mth, "SWupTOAclr", 177 177 . "SWup clear sky at TOA","W/m2", 178 . iim,jj phy_nb,nhori, 1,1,1,-99,178 . iim,jj_nb,nhori, 1,1,1,-99, 179 179 . 32, "ave(X)", zstophy,zout) 180 180 c 181 181 CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2", 182 . iim,jj phy_nb,nhori, 1,1,1,-99,182 . iim,jj_nb,nhori, 1,1,1,-99, 183 183 . 32, "ave(X)", zstophy,zout) 184 184 c 185 185 CALL histdef(nid_mth, "SWdnTOAclr", 186 186 . "SWdn clear sky at TOA","W/m2", 187 . iim,jj phy_nb,nhori, 1,1,1,-99,187 . iim,jj_nb,nhori, 1,1,1,-99, 188 188 . 32, "ave(X)", zstophy,zout) 189 189 c 190 190 CALL histdef(nid_mth, "SWup200", "SWup at 200mb","W/m2", 191 . iim,jj phy_nb,nhori, 1,1,1,-99,191 . iim,jj_nb,nhori, 1,1,1,-99, 192 192 . 32, "ave(X)", zstophy,zout) 193 193 c 194 194 CALL histdef(nid_mth, "SWup200clr", 195 195 . "SWup clear sky at 200mb","W/m2", 196 . iim,jj phy_nb,nhori, 1,1,1,-99,196 . iim,jj_nb,nhori, 1,1,1,-99, 197 197 . 32, "ave(X)", zstophy,zout) 198 198 c 199 199 CALL histdef(nid_mth, "SWdn200", "SWdn at 200mb","W/m2", 200 . iim,jj phy_nb,nhori, 1,1,1,-99,200 . iim,jj_nb,nhori, 1,1,1,-99, 201 201 . 32, "ave(X)", zstophy,zout) 202 202 c 203 203 CALL histdef(nid_mth, "SWdn200clr", 204 204 . "SWdn clear sky at 200mb","W/m2", 205 . iim,jj phy_nb,nhori, 1,1,1,-99,205 . iim,jj_nb,nhori, 1,1,1,-99, 206 206 . 32, "ave(X)", zstophy,zout) 207 207 c 208 208 CALL histdef(nid_mth, "LWup200", "LWup at 200mb","W/m2", 209 . iim,jj phy_nb,nhori, 1,1,1,-99,209 . iim,jj_nb,nhori, 1,1,1,-99, 210 210 . 32, "ave(X)", zstophy,zout) 211 211 c 212 212 CALL histdef(nid_mth, "LWup200clr", 213 213 . "LWup clear sky at 200mb","W/m2", 214 . iim,jj phy_nb,nhori, 1,1,1,-99,214 . iim,jj_nb,nhori, 1,1,1,-99, 215 215 . 32, "ave(X)", zstophy,zout) 216 216 c 217 217 CALL histdef(nid_mth, "LWdn200", "LWdn at 200mb","W/m2", 218 . iim,jj phy_nb,nhori, 1,1,1,-99,218 . iim,jj_nb,nhori, 1,1,1,-99, 219 219 . 32, "ave(X)", zstophy,zout) 220 220 c 221 221 CALL histdef(nid_mth, "LWdn200clr", 222 222 . "LWdn clear sky at 200mb","W/m2", 223 . iim,jj phy_nb,nhori, 1,1,1,-99,223 . iim,jj_nb,nhori, 1,1,1,-99, 224 224 . 32, "ave(X)", zstophy,zout) 225 225 c 226 226 CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2", 227 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,227 . iim,jj_nb,nhori, 1,1,1, -99, 32, 228 228 . "ave(X)", zstophy,zout) 229 229 c 230 230 CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2", 231 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,231 . iim,jj_nb,nhori, 1,1,1, -99, 32, 232 232 . "ave(X)", zstophy,zout) 233 233 c 234 234 CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2", 235 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,235 . iim,jj_nb,nhori, 1,1,1, -99, 32, 236 236 . "ave(X)", zstophy,zout) 237 237 c 238 238 CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2", 239 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,239 . iim,jj_nb,nhori, 1,1,1, -99, 32, 240 240 . "ave(X)", zstophy,zout) 241 241 c 242 242 CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2", 243 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,243 . iim,jj_nb,nhori, 1,1,1, -99, 32, 244 244 . "ave(X)", zstophy,zout) 245 245 c 246 246 CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2", 247 . iim,jj phy_nb,nhori, 1,1,1,-99,247 . iim,jj_nb,nhori, 1,1,1,-99, 248 248 . 32, "ave(X)", zstophy,zout) 249 249 c 250 250 CALL histdef(nid_mth, "SWupSFCclr", 251 251 . "SWup clear sky at surface","W/m2", 252 . iim,jj phy_nb,nhori, 1,1,1,-99,252 . iim,jj_nb,nhori, 1,1,1,-99, 253 253 . 32, "ave(X)", zstophy,zout) 254 254 c 255 255 CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2", 256 . iim,jj phy_nb,nhori, 1,1,1,-99,256 . iim,jj_nb,nhori, 1,1,1,-99, 257 257 . 32, "ave(X)", zstophy,zout) 258 258 c 259 259 CALL histdef(nid_mth, "SWdnSFCclr", 260 260 . "SWdn clear sky at surface","W/m2", 261 . iim,jj phy_nb,nhori, 1,1,1,-99,261 . iim,jj_nb,nhori, 1,1,1,-99, 262 262 . 32, "ave(X)", zstophy,zout) 263 263 c 264 264 CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface", 265 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,265 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 266 266 . "ave(X)", zstophy,zout) 267 267 c 268 268 CALL histdef(nid_mth,"LWdnSFC","Down. IR rad. at surface", 269 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,269 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 270 270 . "ave(X)", zstophy,zout) 271 271 c 272 272 CALL histdef(nid_mth,"LWupSFCclr", 273 273 . "CS Upwd. IR rad. at surface", 274 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,274 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 275 275 . "ave(X)", zstophy,zout) 276 276 c 277 277 CALL histdef(nid_mth,"LWdnSFCclr", 278 278 . "Down. CS IR rad. at surface", 279 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,279 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 280 280 . "ave(X)", zstophy,zout) 281 281 c 282 282 CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2", 283 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,283 . iim,jj_nb,nhori, 1,1,1, -99, 32, 284 284 . "ave(X)", zstophy,zout) 285 285 c … … 289 289 c 290 290 CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2", 291 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,291 . iim,jj_nb,nhori, 1,1,1, -99, 32, 292 292 . "ave(X)", zstophy,zout) 293 293 c 294 294 c CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa", 295 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,295 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 296 296 c . "ave(X)", zstophy,zout) 297 297 c 298 298 c CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa", 299 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,299 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 300 300 c . "ave(X)", zstophy,zout) 301 301 c 302 302 CALL histdef(nid_mth, "ffonte","Thermal flux for snow melting", 303 . "W/m2",iim,jj phy_nb,nhori, 1,1,1, -99, 32,303 . "W/m2",iim,jj_nb,nhori, 1,1,1, -99, 32, 304 304 . "ave(X)", zstophy,zout) 305 305 c 306 306 CALL histdef(nid_mth, "fqcalving","Ice Calving", 307 . "kg/m2/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,307 . "kg/m2/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 308 308 . "ave(X)", zstophy,zout) 309 309 c 310 310 CALL histdef(nid_mth, "fqfonte","Land ice melt", 311 . "kg/m2/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,311 . "kg/m2/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 312 312 . "ave(X)", zsto,zout) 313 313 … … 315 315 call histdef(nid_mth, "taux_"//clnsurf(nsrf), 316 316 $ "Zonal wind stress"//clnsurf(nsrf), "Pa", 317 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,317 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 318 318 $ "ave(X)", zstophy,zout) 319 319 320 320 call histdef(nid_mth, "tauy_"//clnsurf(nsrf), 321 321 $ "Meridional wind stress "//clnsurf(nsrf), "Pa", 322 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,322 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 323 323 $ "ave(X)", zstophy,zout) 324 324 ENDDO … … 329 329 call histdef(nid_mth, "pourc_"//clnsurf(nsrf), 330 330 $ "% "//clnsurf(nsrf), "%", 331 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,331 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 332 332 $ "ave(X)", zstophy,zout) 333 333 c 334 334 call histdef(nid_mth, "fract_"//clnsurf(nsrf), 335 335 $ "Fraction "//clnsurf(nsrf), "1", 336 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,336 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 337 337 $ "ave(X)", zstophy,zout) 338 338 ENDIF !nsrf.GT.2 … … 340 340 call histdef(nid_mth, "tsol_"//clnsurf(nsrf), 341 341 $ "Temperature "//clnsurf(nsrf), "K", 342 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,342 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 343 343 $ "ave(X)", zstophy,zout) 344 344 C 345 345 call histdef(nid_mth, "sens_"//clnsurf(nsrf), 346 346 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 347 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,347 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 348 348 $ "ave(X)", zstophy,zout) 349 349 c 350 350 call histdef(nid_mth, "lat_"//clnsurf(nsrf), 351 351 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 352 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,352 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 353 353 $ "ave(X)", zstophy,zout) 354 354 C 355 355 call histdef(nid_mth, "flw_"//clnsurf(nsrf), 356 356 $ "LW "//clnsurf(nsrf), "W/m2", 357 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,357 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 358 358 $ "ave(X)", zstophy,zout) 359 359 c 360 360 call histdef(nid_mth, "fsw_"//clnsurf(nsrf), 361 361 $ "SW "//clnsurf(nsrf), "W/m2", 362 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,362 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 363 363 $ "ave(X)", zstophy,zout) 364 364 C 365 365 call histdef(nid_mth, "wbils_"//clnsurf(nsrf), 366 366 $ "Bilan sol "//clnsurf(nsrf), "W/m2", 367 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,367 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 368 368 $ "ave(X)", zstophy,zout) 369 369 C 370 370 call histdef(nid_mth, "wbilo_"//clnsurf(nsrf), 371 371 $ "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)", 372 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,372 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 373 373 $ "ave(X)", zstophy,zout) 374 374 C … … 378 378 call histdef(nid_mth, "evapour_"//clnsurf(nsrf), 379 379 $ "Evap*pourc "//clnsurf(nsrf), "kg/(s*m2)", 380 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,380 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 381 381 $ "ave(X)", zstophy,zout) 382 382 C 383 383 call histdef(nid_mth, "prepour_"//clnsurf(nsrf), 384 384 $ "Precip*pourc "//clnsurf(nsrf), "kg/(s*m2)", 385 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,385 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 386 386 $ "ave(X)", zstophy,zout) 387 387 C … … 392 392 c 393 393 CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-", 394 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,394 . iim,jj_nb,nhori, 1,1,1, -99, 32, 395 395 . "ave(X)", zstophy,zout) 396 396 c 397 397 CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-", 398 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,398 . iim,jj_nb,nhori, 1,1,1, -99, 32, 399 399 . "ave(X)", zstophy,zout) 400 400 c 401 401 CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-", 402 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,402 . iim,jj_nb,nhori, 1,1,1, -99, 32, 403 403 . "ave(X)", zstophy,zout) 404 404 c 405 405 CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-", 406 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,406 . iim,jj_nb,nhori, 1,1,1, -99, 32, 407 407 . "ave(X)", zstophy,zout) 408 408 c 409 409 CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-", 410 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,410 . iim,jj_nb,nhori, 1,1,1, -99, 32, 411 411 . "ave(X)", zstophy,zout) 412 412 c 413 413 CALL histdef(nid_mth, "cldt", "Total cloudiness", "-", 414 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,414 . iim,jj_nb,nhori, 1,1,1, -99, 32, 415 415 . "ave(X)", zstophy,zout) 416 416 c 417 417 CALL histdef(nid_mth,"cldq","Cloud liquid water path","kg/m2", 418 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,418 . iim,jj_nb,nhori, 1,1,1, -99, 32, 419 419 . "ave(X)", zstophy,zout) 420 420 c 421 421 CALL histdef(nid_mth,"lwp","Cloud water path","kg/m2", 422 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,422 . iim,jj_nb,nhori, 1,1,1, -99, 32, 423 423 . "ave(X)", zstophy,zout) 424 424 c 425 425 CALL histdef(nid_mth,"iwp","Cloud ice water path","kg/m2", 426 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,426 . iim,jj_nb,nhori, 1,1,1, -99, 32, 427 427 . "ave(X)", zstophy,zout) 428 428 c 429 429 CALL histdef(nid_mth, "ue", "Zonal energy transport", "-", 430 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,430 . iim,jj_nb,nhori, 1,1,1, -99, 32, 431 431 . "ave(X)", zstophy,zout) 432 432 c 433 433 CALL histdef(nid_mth, "ve", "Merid energy transport", "-", 434 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,434 . iim,jj_nb,nhori, 1,1,1, -99, 32, 435 435 . "ave(X)", zstophy,zout) 436 436 c 437 437 CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-", 438 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,438 . iim,jj_nb,nhori, 1,1,1, -99, 32, 439 439 . "ave(X)", zstophy,zout) 440 440 c 441 441 CALL histdef(nid_mth, "vq", "Merid humidity transport", "-", 442 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,442 . iim,jj_nb,nhori, 1,1,1, -99, 32, 443 443 . "ave(X)", zstophy,zout) 444 444 cKE43 … … 446 446 c 447 447 CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/kg", 448 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,448 . iim,jj_nb,nhori, 1,1,1, -99, 32, 449 449 . "ave(X)", zstophy,zout) 450 450 c 451 451 CALL histdef(nid_mth, "pbase", "Cld base pressure", "mb", 452 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,452 . iim,jj_nb,nhori, 1,1,1, -99, 32, 453 453 . "ave(X)", zstophy,zout) 454 454 c 455 455 CALL histdef(nid_mth, "ptop", "Cld top pressure", "mb", 456 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,456 . iim,jj_nb,nhori, 1,1,1, -99, 32, 457 457 . "ave(X)", zstophy,zout) 458 458 c 459 459 CALL histdef(nid_mth, "fbase", "Cld base mass flux", "kg/m2/s", 460 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,460 . iim,jj_nb,nhori, 1,1,1, -99, 32, 461 461 . "ave(X)", zstophy,zout) 462 462 c 463 463 CALL histdef(nid_mth, "prw", "Precipitable water", "kg/m2", 464 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,464 . iim,jj_nb,nhori, 1,1,1, -99, 32, 465 465 . "ave(X)", zstophy,zout) 466 466 c … … 471 471 c HBTM2 472 472 CALL histdef(nid_mth, "s_pblh", "Boundary Layer Height", "m", 473 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,473 . iim,jj_nb,nhori, 1,1,1, -99, 32, 474 474 . "ave(X)", zstophy,zout) 475 475 CALL histdef(nid_mth, "s_pblt", "t at Boundary Layer Height", 476 476 . "K", 477 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,477 . iim,jj_nb,nhori, 1,1,1, -99, 32, 478 478 . "ave(X)", zstophy,zout) 479 479 CALL histdef(nid_mth, "s_lcl", "Condensation level", "m", 480 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,480 . iim,jj_nb,nhori, 1,1,1, -99, 32, 481 481 . "ave(X)", zstophy,zout) 482 482 CALL histdef(nid_mth, "s_capCL", "Conv avlbl pot ener 483 483 . for ABL", "J/m2", 484 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,484 . iim,jj_nb,nhori, 1,1,1, -99, 32, 485 485 . "ave(X)", zstophy,zout) 486 486 CALL histdef(nid_mth, "s_oliqCL", "Liq Water in BL", "kg/m2", 487 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,487 . iim,jj_nb,nhori, 1,1,1, -99, 32, 488 488 . "ave(X)", zstophy,zout) 489 489 CALL histdef(nid_mth, "s_cteiCL", "Instability criteria 490 490 . (ABL)", "K", 491 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,491 . iim,jj_nb,nhori, 1,1,1, -99, 32, 492 492 . "ave(X)", zstophy,zout) 493 493 CALL histdef(nid_mth, "s_therm", "Exces du thermique", "K", 494 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,494 . iim,jj_nb,nhori, 1,1,1, -99, 32, 495 495 . "ave(X)", zstophy,zout) 496 496 CALL histdef(nid_mth, "s_trmb1", "deep_cape(HBTM2)", "J/m2", 497 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,497 . iim,jj_nb,nhori, 1,1,1, -99, 32, 498 498 . "ave(X)", zstophy,zout) 499 499 CALL histdef(nid_mth, "s_trmb2", "inhibition (HBTM2)", "J/m2", 500 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,500 . iim,jj_nb,nhori, 1,1,1, -99, 32, 501 501 . "ave(X)", zstophy,zout) 502 502 CALL histdef(nid_mth, "s_trmb3", "Point Omega (HBTM2)", "m", 503 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,503 . iim,jj_nb,nhori, 1,1,1, -99, 32, 504 504 . "ave(X)", zstophy,zout) 505 505 c … … 523 523 CALL histdef(nid_mth, "u"//bb2, 524 524 . "Zonal wind "//bb2//"mb","m/s", 525 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,525 . iim,jj_nb,nhori, 1,1,1, -99, 32, 526 526 . "inst(X)", zout,zout) 527 527 c 528 528 CALL histdef(nid_mth, "v"//bb2, 529 529 . "Meridional wind "//bb2//"mb","m/s", 530 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,530 . iim,jj_nb,nhori, 1,1,1, -99, 32, 531 531 . "inst(X)", zout,zout) 532 532 c 533 533 CALL histdef(nid_mth, "w"//bb2, 534 534 . "Vertical wind "//bb2//"mb","m/s", 535 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,535 . iim,jj_nb,nhori, 1,1,1, -99, 32, 536 536 . "inst(X)", zout,zout) 537 537 c 538 538 CALL histdef(nid_mth, "phi"//bb2, 539 539 . "Geopotential "//bb2//"mb","m", 540 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,540 . iim,jj_nb,nhori, 1,1,1, -99, 32, 541 541 . "inst(X)", zout,zout) 542 542 c … … 549 549 CALL histdef(nid_mth, "fluxo", 550 550 . "Flux turbulents ocean-atmosphere", "W/m2", 551 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,551 . iim,jj_nb,nhori, 1,1,1, -99, 32, 552 552 . "ave(X)", zstophy,zout) 553 553 c 554 554 CALL histdef(nid_mth, "fluxg", 555 555 . "Flux turbulents ocean-glace de mer","W/m2", 556 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,556 . iim,jj_nb,nhori, 1,1,1, -99, 32, 557 557 . "ave(X)", zstophy,zout) 558 558 c 559 559 CALL histdef(nid_mth, "t_oce_sic", 560 560 . "Temp. mixte oce-sic","K", 561 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,561 . iim,jj_nb,nhori, 1,1,1, -99, 32, 562 562 . "ave(X)", zstophy,zout) 563 563 c … … 566 566 CALL histdef(nid_mth, "lmt_bils", 567 567 . "Bilan au sol atmosphere forcee", "W/m2", 568 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,568 . iim,jj_nb,nhori, 1,1,1, -99, 32, 569 569 . "ave(X)", zstophy,zout) 570 570 c … … 573 573 CALL histdef(nid_mth, "slab_bils", 574 574 . "Bilan au sol Slab", "W/m2", 575 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,575 . iim,jj_nb,nhori, 1,1,1, -99, 32, 576 576 . "ave(X)", zstophy,zout) 577 577 c 578 578 CALL histdef(nid_mth, "tslab", "Slab SST ", "K", 579 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,579 . iim,jj_nb,nhori, 1,1,1, -99, 32, 580 580 . "ave(X)", zstophy,zout) 581 581 c 582 582 CALL histdef(nid_mth, "seaice", "Slab seaice", "kg/m2", 583 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,583 . iim,jj_nb,nhori, 1,1,1, -99, 32, 584 584 . "ave(X)", zstophy,zout) 585 585 c 586 586 CALL histdef(nid_mth, "siceh", "Slab seaice height", "m", 587 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,587 . iim,jj_nb,nhori, 1,1,1, -99, 32, 588 588 . "ave(X)", zstophy,zout) 589 589 c … … 599 599 CALL histdef(nid_mth,"lwcon","Cloud liquid water content", 600 600 . "kg/kg", 601 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,601 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 602 602 . "ave(X)", zstophy,zout) 603 603 c 604 604 CALL histdef(nid_mth,"iwcon","Cloud ice water content","kg/kg", 605 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,605 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 606 606 . "ave(X)", zstophy,zout) 607 607 c 608 608 CALL histdef(nid_mth, "temp", "Air temperature", "K", 609 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,609 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 610 610 . "ave(X)", zstophy,zout) 611 611 c 612 612 CALL histdef(nid_mth, "ovap", "Specific humidity", "kg/kg", 613 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,613 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 614 614 . "ave(X)", zstophy,zout) 615 615 c 616 616 c CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","kg/kg", 617 c . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,617 c . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 618 618 c . "ave(X)", zstophy,zout) 619 619 c 620 620 CALL histdef(nid_mth, "geop", "Geopotential height", "m2/s2", 621 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,621 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 622 622 . "ave(X)", zstophy,zout) 623 623 c 624 624 CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s", 625 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,625 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 626 626 . "ave(X)", zstophy,zout) 627 627 c 628 628 CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s", 629 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,629 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 630 630 . "ave(X)", zstophy,zout) 631 631 c 632 632 CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s", 633 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,633 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 634 634 . "ave(X)", zstophy,zout) 635 635 c 636 636 CALL histdef(nid_mth, "pres", "Air pressure", "Pa", 637 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,637 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 638 638 . "ave(X)", zstophy,zout) 639 639 c 640 640 CALL histdef(nid_mth, "rneb", "Cloud fraction", "-", 641 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,641 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 642 642 . "ave(X)", zstophy,zout) 643 643 c 644 644 CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction" 645 645 . , "-", 646 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,646 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 647 647 . "ave(X)", zstophy,zout) 648 648 c 649 649 CALL histdef(nid_mth, "rhum", "Relative humidity", "-", 650 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,650 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 651 651 . "ave(X)", zstophy,zout) 652 652 c 653 653 CALL histdef(nid_mth, "ozone", "Ozone concentration", "ppmv", 654 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,654 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 655 655 . "ave(X)", zstophy,zout) 656 656 c 657 657 CALL histdef(nid_mth, "upwd", "saturated updraft", "kg/m2/s", 658 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,658 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 659 659 . "ave(X)", zstophy,zout) 660 660 c 661 661 CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s", 662 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,662 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 663 663 . "ave(X)", zstophy,zout) 664 664 c 665 665 CALL histdef(nid_mth, "dqphy", "Physics dQ", "(kg/kg)/s", 666 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,666 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 667 667 . "ave(X)", zstophy,zout) 668 668 c … … 675 675 call histdef(nid_mth, "albe_"//clnsurf(nsrf), 676 676 $ "Albedo surf. "//clnsurf(nsrf), "-", 677 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,677 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 678 678 $ "ave(X)", zstophy,zout) 679 679 c 680 680 call histdef(nid_mth, "rugs_"//clnsurf(nsrf), 681 681 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 682 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,682 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 683 683 $ "ave(X)", zstophy,zout) 684 684 c 685 685 CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day", 686 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,686 . iim,jj_nb,nhori, 1,1,1, -99, 32, 687 687 . "ave(X)", zstophy,zout) 688 688 c … … 690 690 c 691 691 CALL histdef(nid_mth, "albs", "Surface albedo", "-", 692 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,692 . iim,jj_nb,nhori, 1,1,1, -99, 32, 693 693 . "ave(X)", zstophy,zout) 694 694 CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-", 695 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,695 . iim,jj_nb,nhori, 1,1,1, -99, 32, 696 696 . "ave(X)", zstophy,zout) 697 697 c … … 703 703 . "Convective Cloud Liquid water content" 704 704 . , "kg/kg", 705 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,705 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 706 706 . "ave(X)", zstophy,zout) 707 707 c 708 708 CALL histdef(nid_mth,"Ma","undilute adiab updraft","kg/m2/s", 709 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,709 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 710 710 . "ave(X)", zstophy,zout) 711 711 c 712 712 CALL histdef(nid_mth, "dnwd", "saturated downdraft","kg/m2/s", 713 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,713 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 714 714 . "ave(X)", zstophy,zout) 715 715 c 716 716 CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "kg/m2/s", 717 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,717 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 718 718 . "ave(X)", zstophy,zout) 719 719 c 720 720 CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s", 721 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,721 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 722 722 . "ave(X)", zstophy,zout) 723 723 c 724 724 CALL histdef(nid_mth, "dqdyn", "Dynamics dQ", "(kg/kg)/s", 725 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,725 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 726 726 . "ave(X)", zstophy,zout) 727 727 c 728 728 CALL histdef(nid_mth, "dtcon", "Convection dT", "K/s", 729 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,729 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 730 730 . "ave(X)", zstophy,zout) 731 731 c 732 732 c CALL histdef(nid_mth, "ducon", "Convection du", "m/s2", 733 c . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,733 c . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 734 734 c . "ave(X)", zstophy,zout) 735 735 c 736 736 CALL histdef(nid_mth, "dqcon", "Convection dQ", "(kg/kg)/s", 737 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,737 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 738 738 . "ave(X)", zstophy,zout) 739 739 c 740 740 CALL histdef(nid_mth, "dtlsc", "Condensation dT", "K/s", 741 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,741 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 742 742 . "ave(X)", zstophy,zout) 743 743 c 744 744 CALL histdef(nid_mth, "dtlschr", 745 $ "Large-scale condensational heating rate", "K/s",iim,jj phy_nb745 $ "Large-scale condensational heating rate", "K/s",iim,jj_nb 746 746 $ ,nhori, klev,1,klev,nvert, 32,"ave(X)", zstophy,zout) 747 747 c 748 748 CALL histdef(nid_mth, "dqlsc", "Condensation dQ", "(kg/kg)/s", 749 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,749 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 750 750 . "ave(X)", zstophy,zout) 751 751 c 752 752 CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s", 753 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,753 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 754 754 . "ave(X)", zstophy,zout) 755 755 c 756 756 CALL histdef(nid_mth, "dqvdf","Boundary-layer dQ","(kg/kg)/s", 757 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,757 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 758 758 . "ave(X)", zstophy,zout) 759 759 c 760 760 CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s", 761 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,761 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 762 762 . "ave(X)", zstophy,zout) 763 763 c 764 764 CALL histdef(nid_mth, "dqeva","Reevaporation dQ","(kg/kg)/s", 765 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,765 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 766 766 . "ave(X)", zstophy,zout) 767 767 768 768 CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ", 769 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,769 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 770 770 . "ave(X)", zstophy,zout) 771 771 772 772 CALL histdef(nid_mth, "ratqs", "RATQS"," ", 773 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,773 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 774 774 . "ave(X)", zstophy,zout) 775 775 776 776 c 777 777 CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s", 778 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,778 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 779 779 . "ave(X)", zstophy,zout) 780 780 781 781 CALL histdef(nid_mth,"dqajs","Dry adjust. dQ","(kg/kg)/s", 782 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,782 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 783 783 . "ave(X)", zstophy,zout) 784 784 c 785 785 CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s", 786 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,786 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 787 787 . "ave(X)", zstophy,zout) 788 788 c 789 789 CALL histdef(nid_mth, "dtsw0", "CS SW radiation dT", "K/s", 790 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,790 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 791 791 . "ave(X)", zstophy,zout) 792 792 c 793 793 CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s", 794 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,794 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 795 795 . "ave(X)", zstophy,zout) 796 796 c 797 797 CALL histdef(nid_mth,"dtlw0","CS LW radiation dT","K/s", 798 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,798 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 799 799 . "ave(X)", zstophy,zout) 800 800 c 801 801 CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s", 802 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,802 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 803 803 . "ave(X)", zstophy,zout) 804 804 c 805 805 CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2", 806 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,806 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 807 807 . "ave(X)", zstophy,zout) 808 808 c 809 809 CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2", 810 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,810 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 811 811 . "ave(X)", zstophy,zout) 812 812 c 813 813 IF (ok_orodr) THEN 814 814 CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2", 815 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,815 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 816 816 . "ave(X)", zstophy,zout) 817 817 c 818 818 CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2", 819 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,819 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 820 820 . "ave(X)", zstophy,zout) 821 821 c … … 824 824 IF (ok_orolf) THEN 825 825 CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2", 826 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,826 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 827 827 . "ave(X)", zstophy,zout) 828 828 c 829 829 CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2", 830 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,830 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 831 831 . "ave(X)", zstophy,zout) 832 832 ENDIF … … 837 837 WRITE(str2,'(i2.2)') iq 838 838 CALL histdef(nid_mth, "trac"//str2, "Tracer No."//str2, "-", 839 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,839 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 840 840 . "ave(X)", zstophy,zout) 841 841 ELSE … … 853 853 c 854 854 CALL histdef(nid_mth, "phis", "Surface geop. height", "m", 855 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,855 . iim,jj_nb,nhori, 1,1,1, -99, 32, 856 856 . "once", zstophy,zout) 857 857 c 858 858 CALL histdef(nid_mth, "aire", "Grid area", "-", 859 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,859 . iim,jj_nb,nhori, 1,1,1, -99, 32, 860 860 . "once", zstophy,zout) 861 861 c 862 862 CALL histdef(nid_mth, "pourc_"//clnsurf(is_ter), 863 863 . "% "//clnsurf(is_ter), "%", 864 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,864 . iim,jj_nb,nhori, 1,1,1, -99, 32, 865 865 . "once", zstophy,zout) 866 866 c 867 867 CALL histdef(nid_mth, "fract_"//clnsurf(is_ter), 868 868 . "Fraction "//clnsurf(is_ter), "1", 869 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,869 . iim,jj_nb,nhori, 1,1,1, -99, 32, 870 870 . "once", zstophy,zout) 871 871 c 872 872 CALL histdef(nid_mth, "pourc_"//clnsurf(is_lic), 873 873 . "% "//clnsurf(is_lic), "%", 874 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,874 . iim,jj_nb,nhori, 1,1,1, -99, 32, 875 875 . "once", zstophy,zout) 876 876 c 877 877 CALL histdef(nid_mth, "fract_"//clnsurf(is_lic), 878 878 . "Fraction "//clnsurf(is_lic), "1", 879 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,879 . iim,jj_nb,nhori, 1,1,1, -99, 32, 880 880 . "once", zstophy,zout) 881 881 c 882 882 CALL histdef(nid_mth, "pourc_"//clnsurf(is_sic), 883 883 . "% "//clnsurf(is_sic), "%", 884 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,884 . iim,jj_nb,nhori, 1,1,1, -99, 32, 885 885 . "ave(X)", zstophy,zout) 886 886 c 887 887 CALL histdef(nid_mth, "fract_"//clnsurf(is_sic), 888 888 . "Fraction "//clnsurf(is_sic), "1", 889 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,889 . iim,jj_nb,nhori, 1,1,1, -99, 32, 890 890 . "ave(X)", zstophy,zout) 891 891 c 892 892 CALL histdef(nid_mth, "flat", "Latent heat flux", "W/m2", 893 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,893 . iim,jj_nb,nhori, 1,1,1, -99, 32, 894 894 . "ave(X)", zstophy,zout) 895 895 c 896 896 CALL histdef(nid_mth, "bilTOA", 897 897 . "Net radiation at TOA", "W/m2", 898 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,898 . iim,jj_nb,nhori, 1,1,1, -99, 32, 899 899 . "ave(X)", zstophy,zout) 900 900 c … … 903 903 c . "TOA reflected clear-sky shortwave 904 904 c . radiation (method 1)", "W/m2", 905 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,905 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 906 906 c . "ave(X)", zstophy,zout) 907 907 c 908 908 CALL histdef(nid_mth, "dtdia","dtdia","K/s", 909 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,909 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 910 910 . "ave(X)", zstophy,zout) 911 911 c 912 912 CALL histdef(nid_mth, "dtsw","dtsw","K/s", 913 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,913 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 914 914 . "ave(X)", zstophy,zout) 915 915 c 916 916 CALL histdef(nid_mth, "dtlw","dtlw","K/s", 917 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,917 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 918 918 . "ave(X)", zstophy,zout) 919 919 c 920 920 CALL histdef(nid_mth, "dtcon","dtcon","K/s", 921 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,921 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 922 922 . "ave(X)", zstophy,zout) 923 923 c 924 924 CALL histdef(nid_mth, "dtajs","dtajs","K/s", 925 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,925 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 926 926 . "ave(X)", zstophy,zout) 927 927 c 928 928 CALL histdef(nid_mth, "dtlsc","dtlsc","K/s", 929 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,929 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 930 930 . "ave(X)", zstophy,zout) 931 931 c 932 932 CALL histdef(nid_mth, "dqdia","dqdia","(kg/kg)/s", 933 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,933 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 934 934 . "ave(X)", zstophy,zout) 935 935 c 936 936 CALL histdef(nid_mth, "duoli", 937 937 . "duoli","m/s2", 938 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,938 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 939 939 . "ave(X)", zstophy,zout) 940 940 c 941 941 CALL histdef(nid_mth, "dvoli", 942 942 . "dvoli","m/s2", 943 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,943 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 944 944 . "ave(X)", zstophy,zout) 945 945 c 946 946 CALL histdef(nid_mth, "ducon", 947 947 . "ducon","m/s2", 948 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,948 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 949 949 . "ave(X)", zstophy,zout) 950 950 c 951 951 CALL histdef(nid_mth, "dvcon", 952 952 . "dvcon","m/s2", 953 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,953 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 954 954 . "ave(X)", zstophy,zout) 955 955 c 956 956 CALL histdef(nid_mth, "dutot", 957 957 . "dutot","m/s2", 958 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,958 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 959 959 . "ave(X)", zstophy,zout) 960 960 c 961 961 CALL histdef(nid_mth, "dvtot", 962 962 . "dvtot","m/s2", 963 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,963 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 964 964 . "ave(X)", zstophy,zout) 965 965 c 966 966 c CALL histdef(nid_mth, "cldtrue", 967 967 c . "TRUE Cloud fraction ","%", 968 c . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,968 c . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 969 969 c . "inst(X)", zout,zout) 970 970 c 971 971 c CALL histdef(nid_mth, "cldTOA", 972 972 c . "Cloud amount (satellite view)","%", 973 c . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,973 c . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 974 974 c . "ave(X)", zstophy,zout) 975 975 c 976 976 c CALL histdef(nid_mth, "cldSFC", 977 977 c . "Cloud amount (surface view)","%", 978 c . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,978 c . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 979 979 c . "ave(X)", zstophy,zout) 980 980 c 981 981 CALL histdef(nid_mth, "GWDtaux", 982 982 . "GWD induced Ewd wind stress","Pa", 983 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,983 . iim,jj_nb,nhori, 1,1,1, -99, 32, 984 984 . "ave(X)", zstophy,zout) 985 985 c 986 986 CALL histdef(nid_mth, "GWDtauy", 987 987 . "GWD induced Nwd wind stress","Pa", 988 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,988 . iim,jj_nb,nhori, 1,1,1, -99, 32, 989 989 . "ave(X)", zstophy,zout) 990 990 c … … 992 992 c 993 993 CALL histdef(nid_mth, "slp", "Sea Level Pressure", "Pa", 994 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,994 . iim,jj_nb,nhori, 1,1,1, -99, 32, 995 995 . "ave(X)", zstorad,zout) 996 996 c 997 997 CALL histdef(nid_mth, "tsol", "Surface Temperature", "K", 998 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,998 . iim,jj_nb,nhori, 1,1,1, -99, 32, 999 999 . "ave(X)", zstophy,zout) 1000 1000 c 1001 1001 CALL histdef(nid_mth, "t2m", "Temperature 2m", "K", 1002 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1002 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1003 1003 . "ave(X)", zstorad,zout) 1004 1004 c 1005 1005 CALL histdef(nid_mth, "t2m_min", "Temp. 2m min.", 1006 1006 . "K", 1007 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1007 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1008 1008 . t2mincels, zstophy,zout) 1009 1009 c 1010 1010 CALL histdef(nid_mth, "t2m_max", "Temp. 2m max.", 1011 1011 . "K", 1012 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1012 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1013 1013 . t2maxcels, zstophy,zout) 1014 1014 c 1015 1015 c CALL histdef(nid_mth, "tsoil", "Sfce soil Temperature", 1016 1016 c . "K", 1017 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1017 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 1018 1018 c . "ave(X)", zstophy,zout) 1019 1019 c 1020 1020 CALL histdef(nid_mth, "wind10m","10-m wind speed","m/s", 1021 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1021 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1022 1022 . "ave(X)", zstorad,zout) 1023 1023 c 1024 1024 CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-", 1025 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1025 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1026 1026 . "ave(X)", zstophy,zout) 1027 1027 1028 1028 c 1029 1029 CALL histdef(nid_mth, "q2m","Specific humidity 2m","kg/kg", 1030 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1030 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1031 1031 . "ave(X)", zstorad,zout) 1032 1032 c 1033 1033 CALL histdef(nid_mth, "u10m", "Vent zonal 10m", "m/s", 1034 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1034 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1035 1035 . "ave(X)", zstorad,zout) 1036 1036 c 1037 1037 CALL histdef(nid_mth, "v10m", "Vent meridien 10m", "m/s", 1038 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1038 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1039 1039 . "ave(X)", zstorad,zout) 1040 1040 c 1041 1041 CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa", 1042 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1042 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1043 1043 . "ave(X)", zstorad,zout) 1044 1044 c 1045 1045 CALL histdef(nid_mth, "qsurf","Surface Air humidity","kg/kg", 1046 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1046 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1047 1047 . "ave(X)", zstophy,zout) 1048 1048 c 1049 1049 if (.not. ok_veget) then 1050 1050 CALL histdef(nid_mth, "qsol", "Soil watter content", "mm", 1051 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1051 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1052 1052 . "ave(X)", zstophy,zout) 1053 1053 endif … … 1055 1055 CALL histdef(nid_mth, "ndayrain", 1056 1056 . "Number of day with rain (liq+sol)", "-", 1057 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1057 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1058 1058 . "inst(X)", zstomth,zout) 1059 1059 c 1060 1060 CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol", 1061 1061 . "kg/(s*m2)", 1062 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1062 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1063 1063 . "ave(X)", zstophy,zout) 1064 1064 c 1065 1065 CALL histdef(nid_mth, "plul", "Large-scale Precip.", 1066 1066 . "kg/(s*m2)", 1067 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1067 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1068 1068 . "ave(X)", zstophy,zout) 1069 1069 c 1070 1070 CALL histdef(nid_mth, "pluc", "Convective Precip.", 1071 1071 . "kg/(s*m2)", 1072 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1072 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1073 1073 . "ave(X)", zstophy,zout) 1074 1074 c 1075 1075 CALL histdef(nid_mth, "snowf", "Snow fall", "kg/(s*m2)", 1076 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1076 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1077 1077 . "ave(X)", zstophy,zout) 1078 1078 c 1079 1079 c CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2", 1080 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1080 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 1081 1081 c . "ave(X)", zstophy,zout) 1082 1082 c 1083 1083 CALL histdef(nid_mth, "evap", 1084 1084 . "Evaporation plus sublimation rate", "kg/(s*m2)", 1085 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1085 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1086 1086 . "ave(X)", zstophy,zout) 1087 1087 c 1088 1088 CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2", 1089 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1089 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1090 1090 . "ave(X)", zstophy,zout) 1091 1091 c 1092 1092 CALL histdef(nid_mth, "tops0", "CS Solar rad. at TOA", "W/m2", 1093 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1093 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1094 1094 . "ave(X)", zstophy,zout) 1095 1095 c 1096 1096 CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2", 1097 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1097 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1098 1098 . "ave(X)", zstophy,zout) 1099 1099 c 1100 1100 CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2", 1101 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1101 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1102 1102 . "ave(X)", zstophy,zout) 1103 1103 c 1104 1104 CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2", 1105 . iim,jj phy_nb,nhori, 1,1,1,-99,1105 . iim,jj_nb,nhori, 1,1,1,-99, 1106 1106 . 32, "ave(X)", zstophy,zout) 1107 1107 c 1108 1108 CALL histdef(nid_mth, "SWupTOAclr", 1109 1109 . "SWup clear sky at TOA","W/m2", 1110 . iim,jj phy_nb,nhori, 1,1,1,-99,1110 . iim,jj_nb,nhori, 1,1,1,-99, 1111 1111 . 32, "ave(X)", zstophy,zout) 1112 1112 c 1113 1113 CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2", 1114 . iim,jj phy_nb,nhori, 1,1,1,-99,1114 . iim,jj_nb,nhori, 1,1,1,-99, 1115 1115 . 32, "ave(X)", zstophy,zout) 1116 1116 c 1117 1117 CALL histdef(nid_mth, "SWdnTOAclr", 1118 1118 . "SWdn clear sky at TOA","W/m2", 1119 . iim,jj phy_nb,nhori, 1,1,1,-99,1119 . iim,jj_nb,nhori, 1,1,1,-99, 1120 1120 . 32, "ave(X)", zstophy,zout) 1121 1121 c 1122 1122 CALL histdef(nid_mth, "SWup200", "SWup at 200mb","W/m2", 1123 . iim,jj phy_nb,nhori, 1,1,1,-99,1123 . iim,jj_nb,nhori, 1,1,1,-99, 1124 1124 . 32, "ave(X)", zstophy,zout) 1125 1125 c 1126 1126 CALL histdef(nid_mth, "SWup200clr", 1127 1127 . "SWup clear sky at 200mb","W/m2", 1128 . iim,jj phy_nb,nhori, 1,1,1,-99,1128 . iim,jj_nb,nhori, 1,1,1,-99, 1129 1129 . 32, "ave(X)", zstophy,zout) 1130 1130 c 1131 1131 CALL histdef(nid_mth, "SWdn200", "SWdn at 200mb","W/m2", 1132 . iim,jj phy_nb,nhori, 1,1,1,-99,1132 . iim,jj_nb,nhori, 1,1,1,-99, 1133 1133 . 32, "ave(X)", zstophy,zout) 1134 1134 c 1135 1135 CALL histdef(nid_mth, "SWdn200clr", 1136 1136 . "SWdn clear sky at 200mb","W/m2", 1137 . iim,jj phy_nb,nhori, 1,1,1,-99,1137 . iim,jj_nb,nhori, 1,1,1,-99, 1138 1138 . 32, "ave(X)", zstophy,zout) 1139 1139 c 1140 1140 CALL histdef(nid_mth, "LWup200", "LWup at 200mb","W/m2", 1141 . iim,jj phy_nb,nhori, 1,1,1,-99,1141 . iim,jj_nb,nhori, 1,1,1,-99, 1142 1142 . 32, "ave(X)", zstophy,zout) 1143 1143 c 1144 1144 CALL histdef(nid_mth, "LWup200clr", 1145 1145 . "LWup clear sky at 200mb","W/m2", 1146 . iim,jj phy_nb,nhori, 1,1,1,-99,1146 . iim,jj_nb,nhori, 1,1,1,-99, 1147 1147 . 32, "ave(X)", zstophy,zout) 1148 1148 c 1149 1149 CALL histdef(nid_mth, "LWdn200", "LWdn at 200mb","W/m2", 1150 . iim,jj phy_nb,nhori, 1,1,1,-99,1150 . iim,jj_nb,nhori, 1,1,1,-99, 1151 1151 . 32, "ave(X)", zstophy,zout) 1152 1152 c 1153 1153 CALL histdef(nid_mth, "LWdn200clr", 1154 1154 . "LWdn clear sky at 200mb","W/m2", 1155 . iim,jj phy_nb,nhori, 1,1,1,-99,1155 . iim,jj_nb,nhori, 1,1,1,-99, 1156 1156 . 32, "ave(X)", zstophy,zout) 1157 1157 c 1158 1158 CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2", 1159 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1159 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1160 1160 . "ave(X)", zstophy,zout) 1161 1161 c 1162 1162 CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2", 1163 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1163 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1164 1164 . "ave(X)", zstophy,zout) 1165 1165 c 1166 1166 CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2", 1167 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1167 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1168 1168 . "ave(X)", zstophy,zout) 1169 1169 c 1170 1170 CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2", 1171 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1171 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1172 1172 . "ave(X)", zstophy,zout) 1173 1173 c 1174 1174 CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2", 1175 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1175 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1176 1176 . "ave(X)", zstophy,zout) 1177 1177 c 1178 1178 CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2", 1179 . iim,jj phy_nb,nhori, 1,1,1,-99,1179 . iim,jj_nb,nhori, 1,1,1,-99, 1180 1180 . 32, "ave(X)", zstophy,zout) 1181 1181 c 1182 1182 CALL histdef(nid_mth, "SWupSFCclr", 1183 1183 . "SWup clear sky at surface","W/m2", 1184 . iim,jj phy_nb,nhori, 1,1,1,-99,1184 . iim,jj_nb,nhori, 1,1,1,-99, 1185 1185 . 32, "ave(X)", zstophy,zout) 1186 1186 c 1187 1187 CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2", 1188 . iim,jj phy_nb,nhori, 1,1,1,-99,1188 . iim,jj_nb,nhori, 1,1,1,-99, 1189 1189 . 32, "ave(X)", zstophy,zout) 1190 1190 c 1191 1191 CALL histdef(nid_mth, "SWdnSFCclr", 1192 1192 . "SWdn clear sky at surface","W/m2", 1193 . iim,jj phy_nb,nhori, 1,1,1,-99,1193 . iim,jj_nb,nhori, 1,1,1,-99, 1194 1194 . 32, "ave(X)", zstophy,zout) 1195 1195 c 1196 1196 CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface", 1197 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,1197 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 1198 1198 . "ave(X)", zstophy,zout) 1199 1199 c 1200 1200 CALL histdef(nid_mth,"LWdnSFC","Down. IR rad. at surface", 1201 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,1201 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 1202 1202 . "ave(X)", zstophy,zout) 1203 1203 c 1204 1204 CALL histdef(nid_mth,"LWupSFCclr", 1205 1205 . "CS Upwd. IR rad. at surface", 1206 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,1206 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 1207 1207 . "ave(X)", zstophy,zout) 1208 1208 c 1209 1209 CALL histdef(nid_mth,"LWdnSFCclr", 1210 1210 . "Down. CS IR rad. at surface", 1211 . "W/m2", iim,jj phy_nb,nhori, 1,1,1, -99, 32,1211 . "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32, 1212 1212 . "ave(X)", zstophy,zout) 1213 1213 c 1214 1214 CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2", 1215 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1215 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1216 1216 . "ave(X)", zstophy,zout) 1217 1217 c 1218 1218 CALL histdef(nid_mth, "sens", "Sensible heat flux", "W/m2", 1219 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1219 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1220 1220 . "ave(X)", zstophy,zout) 1221 1221 c 1222 1222 CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2", 1223 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1223 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1224 1224 . "ave(X)", zstophy,zout) 1225 1225 c 1226 1226 c CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa", 1227 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1227 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 1228 1228 c . "ave(X)", zstophy,zout) 1229 1229 c 1230 1230 c CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa", 1231 c . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1231 c . iim,jj_nb,nhori, 1,1,1, -99, 32, 1232 1232 c . "ave(X)", zstophy,zout) 1233 1233 c 1234 1234 CALL histdef(nid_mth, "ffonte","Thermal flux for snow melting", 1235 . "W/m2",iim,jj phy_nb,nhori, 1,1,1, -99, 32,1235 . "W/m2",iim,jj_nb,nhori, 1,1,1, -99, 32, 1236 1236 . "ave(X)", zstophy,zout) 1237 1237 c 1238 1238 CALL histdef(nid_mth, "fqcalving","Ice Calving", 1239 . "kg/m2/s",iim,jj phy_nb,nhori, 1,1,1, -99, 32,1239 . "kg/m2/s",iim,jj_nb,nhori, 1,1,1, -99, 32, 1240 1240 . "ave(X)", zstophy,zout) 1241 1241 c … … 1243 1243 call histdef(nid_mth, "taux_"//clnsurf(nsrf), 1244 1244 $ "Zonal wind stress"//clnsurf(nsrf), "Pa", 1245 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1245 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1246 1246 $ "ave(X)", zstophy,zout) 1247 1247 1248 1248 call histdef(nid_mth, "tauy_"//clnsurf(nsrf), 1249 1249 $ "Meridional wind stress "//clnsurf(nsrf), "Pa", 1250 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1250 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1251 1251 $ "ave(X)", zstophy,zout) 1252 1252 ENDDO … … 1254 1254 call histdef(nid_mth, "pourc_"//clnsurf(is_oce), 1255 1255 $ "% "//clnsurf(is_oce), "%", 1256 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1256 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1257 1257 $ "ave(X)", zstophy,zout) 1258 1258 c 1259 1259 call histdef(nid_mth, "fract_"//clnsurf(is_oce), 1260 1260 $ "Fraction "//clnsurf(is_oce), "1", 1261 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1261 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1262 1262 $ "ave(X)", zstophy,zout) 1263 1263 C … … 1266 1266 call histdef(nid_mth, "tsol_"//clnsurf(nsrf), 1267 1267 $ "Temperature "//clnsurf(nsrf), "K", 1268 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1268 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1269 1269 $ "ave(X)", zstophy,zout) 1270 1270 C 1271 1271 call histdef(nid_mth, "sens_"//clnsurf(nsrf), 1272 1272 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 1273 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1273 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1274 1274 $ "ave(X)", zstophy,zout) 1275 1275 c 1276 1276 call histdef(nid_mth, "lat_"//clnsurf(nsrf), 1277 1277 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 1278 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1278 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1279 1279 $ "ave(X)", zstophy,zout) 1280 1280 C 1281 1281 call histdef(nid_mth, "flw_"//clnsurf(nsrf), 1282 1282 $ "LW "//clnsurf(nsrf), "W/m2", 1283 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1283 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1284 1284 $ "ave(X)", zstophy,zout) 1285 1285 c 1286 1286 call histdef(nid_mth, "fsw_"//clnsurf(nsrf), 1287 1287 $ "SW "//clnsurf(nsrf), "W/m2", 1288 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1288 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1289 1289 $ "ave(X)", zstophy,zout) 1290 1290 C 1291 1291 call histdef(nid_mth, "wbils_"//clnsurf(nsrf), 1292 1292 $ "Bilan sol "//clnsurf(nsrf), "W/m2", 1293 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1293 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1294 1294 $ "ave(X)", zstophy,zout) 1295 1295 C 1296 1296 call histdef(nid_mth, "wbilo_"//clnsurf(nsrf), 1297 1297 $ "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)", 1298 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1298 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1299 1299 $ "ave(X)", zstophy,zout) 1300 1300 C … … 1304 1304 call histdef(nid_mth, "evapour_"//clnsurf(nsrf), 1305 1305 $ "Evap*pourc "//clnsurf(nsrf), "kg/(s*m2)", 1306 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1306 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1307 1307 $ "ave(X)", zstophy,zout) 1308 1308 C 1309 1309 call histdef(nid_mth, "prepour_"//clnsurf(nsrf), 1310 1310 $ "Precip*pourc "//clnsurf(nsrf), "kg/(s*m2)", 1311 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1311 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1312 1312 $ "ave(X)", zstophy,zout) 1313 1313 C … … 1318 1318 c 1319 1319 CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-", 1320 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1320 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1321 1321 . "ave(X)", zstophy,zout) 1322 1322 c 1323 1323 CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-", 1324 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1324 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1325 1325 . "ave(X)", zstophy,zout) 1326 1326 c 1327 1327 CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-", 1328 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1328 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1329 1329 . "ave(X)", zstophy,zout) 1330 1330 c 1331 1331 CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-", 1332 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1332 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1333 1333 . "ave(X)", zstophy,zout) 1334 1334 c 1335 1335 CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-", 1336 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1336 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1337 1337 . "ave(X)", zstophy,zout) 1338 1338 c 1339 1339 CALL histdef(nid_mth, "cldt", "Total cloudiness", "%", 1340 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1340 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1341 1341 . "ave(X)", zstophy,zout) 1342 1342 c 1343 1343 CALL histdef(nid_mth,"cldq","Cloud liquid water path","kg/m2", 1344 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1344 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1345 1345 . "ave(X)", zstophy,zout) 1346 1346 c 1347 1347 CALL histdef(nid_mth,"lwp","Cloud water path","kg/m2", 1348 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1348 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1349 1349 . "ave(X)", zstophy,zout) 1350 1350 c 1351 1351 CALL histdef(nid_mth,"iwp","Cloud ice water path","kg/m2", 1352 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1352 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1353 1353 . "ave(X)", zstophy,zout) 1354 1354 c 1355 1355 CALL histdef(nid_mth, "ue", "Zonal energy transport", "-", 1356 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1356 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1357 1357 . "ave(X)", zstophy,zout) 1358 1358 c 1359 1359 CALL histdef(nid_mth, "ve", "Merid energy transport", "-", 1360 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1360 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1361 1361 . "ave(X)", zstophy,zout) 1362 1362 c 1363 1363 CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-", 1364 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1364 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1365 1365 . "ave(X)", zstophy,zout) 1366 1366 c 1367 1367 CALL histdef(nid_mth, "vq", "Merid humidity transport", "-", 1368 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1368 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1369 1369 . "ave(X)", zstophy,zout) 1370 1370 cKE43 … … 1372 1372 c 1373 1373 CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/kg", 1374 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1374 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1375 1375 . "ave(X)", zstophy,zout) 1376 1376 c 1377 1377 CALL histdef(nid_mth, "pbase", "Cld base pressure", "mb", 1378 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1378 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1379 1379 . "ave(X)", zstophy,zout) 1380 1380 c 1381 1381 CALL histdef(nid_mth, "ptop", "Cld top pressure", "mb", 1382 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1382 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1383 1383 . "ave(X)", zstophy,zout) 1384 1384 c 1385 1385 CALL histdef(nid_mth, "fbase", "Cld base mass flux", "kg/m2/s", 1386 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1386 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1387 1387 . "ave(X)", zstophy,zout) 1388 1388 c 1389 1389 CALL histdef(nid_mth, "prw", "Precipitable water", "kg/m2", 1390 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1390 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1391 1391 . "ave(X)", zstophy,zout) 1392 1392 c 1393 1393 CALL histdef(nid_mth, "upwd", "saturated updraft", "kg/m2/s", 1394 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1394 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1395 1395 . "ave(X)", zstophy,zout) 1396 1396 c … … 1401 1401 c HBTM2 1402 1402 CALL histdef(nid_mth, "s_pblh", "Boundary Layer Height", "m", 1403 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1403 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1404 1404 . "ave(X)", zstophy,zout) 1405 1405 CALL histdef(nid_mth, "s_pblt", "T at Boundary Layer Height", 1406 1406 . "K", 1407 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1407 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1408 1408 . "ave(X)", zstophy,zout) 1409 1409 CALL histdef(nid_mth, "s_lcl", "Condensation level", "m", 1410 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1410 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1411 1411 . "ave(X)", zstophy,zout) 1412 1412 CALL histdef(nid_mth,"s_capCL","Conv avlbl pot ener for ABL", 1413 1413 . "J/m2", 1414 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1414 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1415 1415 . "ave(X)", zstophy,zout) 1416 1416 CALL histdef(nid_mth, "s_oliqCL", "Liq Water in BL", "kg/m2", 1417 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1417 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1418 1418 . "ave(X)", zstophy,zout) 1419 1419 CALL histdef(nid_mth,"s_cteiCL","Instability criteria (ABL)", 1420 1420 . "K", 1421 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1421 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1422 1422 . "ave(X)", zstophy,zout) 1423 1423 CALL histdef(nid_mth, "s_therm", "Exces du thermique", "K", 1424 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1424 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1425 1425 . "ave(X)", zstophy,zout) 1426 1426 CALL histdef(nid_mth, "s_trmb1", "deep_cape(HBTM2)", "J/m2", 1427 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1427 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1428 1428 . "ave(X)", zstophy,zout) 1429 1429 CALL histdef(nid_mth, "s_trmb2", "inhibition (HBTM2)", "J/m2", 1430 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1430 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1431 1431 . "ave(X)", zstophy,zout) 1432 1432 CALL histdef(nid_mth, "s_trmb3", "Point Omega (HBTM2)", "m", 1433 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1433 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1434 1434 . "ave(X)", zstophy,zout) 1435 1435 c … … 1453 1453 CALL histdef(nid_mth, "u"//bb2, 1454 1454 . "Zonal wind "//bb2//"mb","m/s", 1455 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1455 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1456 1456 . "inst(X)", zout,zout) 1457 1457 c 1458 1458 CALL histdef(nid_mth, "v"//bb2, 1459 1459 . "Meridional wind "//bb2//"mb","m/s", 1460 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1460 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1461 1461 . "inst(X)", zout,zout) 1462 1462 c 1463 1463 CALL histdef(nid_mth, "w"//bb2, 1464 1464 . "Vertical wind "//bb2//"mb","m/s", 1465 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1465 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1466 1466 . "inst(X)", zout,zout) 1467 1467 c 1468 1468 CALL histdef(nid_mth, "phi"//bb2, 1469 1469 . "Geopotential "//bb2//"mb","m", 1470 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1470 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1471 1471 . "inst(X)", zout,zout) 1472 1472 c … … 1480 1480 CALL histdef(nid_mth, "fluxo", 1481 1481 . "Flux turbulents ocean-atmosphere", "W/m2", 1482 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1482 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1483 1483 . "ave(X)", zstophy,zout) 1484 1484 c 1485 1485 CALL histdef(nid_mth, "fluxg", 1486 1486 . "Flux turbulents ocean-glace de mer","W/m2", 1487 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1487 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1488 1488 . "ave(X)", zstophy,zout) 1489 1489 c 1490 1490 CALL histdef(nid_mth, "t_oce_sic", 1491 1491 . "Temp. mixte oce-sic","K", 1492 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1492 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1493 1493 . "ave(X)", zstophy,zout) 1494 1494 c … … 1497 1497 CALL histdef(nid_mth, "lmt_bils", 1498 1498 . "Bilan au sol atmosphere forcee", "W/m2", 1499 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1499 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1500 1500 . "ave(X)", zstophy,zout) 1501 1501 c … … 1504 1504 CALL histdef(nid_mth, "slab_bils", 1505 1505 . "Bilan au sol Slab", "W/m2", 1506 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1506 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1507 1507 . "ave(X)", zstophy,zout) 1508 1508 c 1509 1509 CALL histdef(nid_mth, "tslab", "Slab SST ", "K", 1510 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1510 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1511 1511 . "ave(X)", zstophy,zout) 1512 1512 c 1513 1513 CALL histdef(nid_mth, "seaice", "Slab seaice", "kg/m2", 1514 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1514 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1515 1515 . "ave(X)", zstophy,zout) 1516 1516 c 1517 1517 CALL histdef(nid_mth, "siceh", "Slab seaice height", "m", 1518 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1518 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1519 1519 . "ave(X)", zstophy,zout) 1520 1520 c … … 1530 1530 CALL histdef(nid_mth,"lwcon","Cloud liquid water content", 1531 1531 . "kg/kg", 1532 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,1532 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 1533 1533 . "ave(X)", zstophy,zout) 1534 1534 c 1535 1535 CALL histdef(nid_mth,"iwcon","Cloud ice water content","kg/kg", 1536 . iim,jj phy_nb,nhori, klev,1,klev, nvert, 32,1536 . iim,jj_nb,nhori, klev,1,klev, nvert, 32, 1537 1537 . "ave(X)", zstophy,zout) 1538 1538 c 1539 1539 CALL histdef(nid_mth, "temp", "Air temperature", "K", 1540 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1540 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1541 1541 . "ave(X)", zstophy,zout) 1542 1542 c 1543 1543 CALL histdef(nid_mth, "ovap", "Specific humidity", "kg/kg", 1544 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1544 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1545 1545 . "ave(X)", zstophy,zout) 1546 1546 c 1547 1547 c CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","kg/kg", 1548 c . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1548 c . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1549 1549 c . "ave(X)", zstophy,zout) 1550 1550 c 1551 1551 CALL histdef(nid_mth, "geop", "Geopotential height", "m2/s2", 1552 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1552 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1553 1553 . "ave(X)", zstophy,zout) 1554 1554 c 1555 1555 CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s", 1556 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1556 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1557 1557 . "ave(X)", zstophy,zout) 1558 1558 c 1559 1559 CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s", 1560 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1560 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1561 1561 . "ave(X)", zstophy,zout) 1562 1562 c 1563 1563 CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s", 1564 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1564 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1565 1565 . "ave(X)", zstophy,zout) 1566 1566 c 1567 1567 CALL histdef(nid_mth, "pres", "Air pressure", "Pa", 1568 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1568 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1569 1569 . "ave(X)", zstophy,zout) 1570 1570 c 1571 1571 CALL histdef(nid_mth, "rneb", "Cloud fraction", "%", 1572 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1572 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1573 1573 . "ave(X)", zstophy,zout) 1574 1574 c 1575 1575 CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction" 1576 1576 . , "-", 1577 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1577 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1578 1578 . "ave(X)", zstophy,zout) 1579 1579 c 1580 1580 CALL histdef(nid_mth, "rhum", "Relative humidity", "-", 1581 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1581 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1582 1582 . "ave(X)", zstophy,zout) 1583 1583 c 1584 1584 CALL histdef(nid_mth, "ozone", "Ozone concentration", "ppmv", 1585 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1585 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1586 1586 . "ave(X)", zstophy,zout) 1587 1587 c 1588 1588 CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s", 1589 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1589 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1590 1590 . "ave(X)", zstophy,zout) 1591 1591 c 1592 1592 CALL histdef(nid_mth, "dqphy","Physics dQ","(kg/kg)/s", 1593 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1593 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1594 1594 . "ave(X)", zstophy,zout) 1595 1595 c … … 1602 1602 call histdef(nid_mth, "albe_"//clnsurf(nsrf), 1603 1603 $ "Albedo surf. "//clnsurf(nsrf), "-", 1604 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1604 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1605 1605 $ "ave(X)", zstophy,zout) 1606 1606 c 1607 1607 call histdef(nid_mth, "rugs_"//clnsurf(nsrf), 1608 1608 $ "Rugosite "//clnsurf(nsrf), "m", 1609 $ iim,jj phy_nb,nhori, 1,1,1, -99, 32,1609 $ iim,jj_nb,nhori, 1,1,1, -99, 32, 1610 1610 $ "ave(X)", zstophy,zout) 1611 1611 c 1612 1612 CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day", 1613 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1613 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1614 1614 . "ave(X)", zstophy,zout) 1615 1615 c … … 1617 1617 c 1618 1618 CALL histdef(nid_mth, "albs", "Surface albedo", "-", 1619 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1619 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1620 1620 . "ave(X)", zstophy,zout) 1621 1621 CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-", 1622 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,1622 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1623 1623 . "ave(X)", zstophy,zout) 1624 1624 c … … 1630 1630 . "Convective Cloud Liquid water content" 1631 1631 . , "kg/kg", 1632 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1632 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1633 1633 . "ave(X)", zstophy,zout) 1634 1634 c 1635 1635 CALL histdef(nid_mth,"Ma","undilute adiab updraft","kg/m2/s", 1636 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1636 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1637 1637 . "ave(X)", zstophy,zout) 1638 1638 c 1639 1639 CALL histdef(nid_mth, "dnwd", "saturated downdraft","kg/m2/s", 1640 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1640 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1641 1641 . "ave(X)", zstophy,zout) 1642 1642 c 1643 1643 CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "kg/m2/s", 1644 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1644 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1645 1645 . "ave(X)", zstophy,zout) 1646 1646 c 1647 1647 CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s", 1648 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1648 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1649 1649 . "ave(X)", zstophy,zout) 1650 1650 c 1651 1651 CALL histdef(nid_mth, "dqdyn","Dynamics dQ","(kg/kg)/s", 1652 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1652 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1653 1653 . "ave(X)", zstophy,zout) 1654 1654 c 1655 1655 CALL histdef(nid_mth, "dqcon","Convection dQ","(kg/kg)/s", 1656 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1656 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1657 1657 . "ave(X)", zstophy,zout) 1658 1658 c 1659 1659 CALL histdef(nid_mth, "dtlschr", 1660 1660 $ "Large-scale condensational heating rate", "K/s", 1661 $ iim,jj phy_nb1661 $ iim,jj_nb 1662 1662 $ ,nhori, klev,1,klev,nvert, 32,"ave(X)", zstophy,zout) 1663 1663 c 1664 1664 CALL histdef(nid_mth, "dqlsc","Condensation dQ","(kg/kg)/s", 1665 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1665 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1666 1666 . "ave(X)", zstophy,zout) 1667 1667 c 1668 1668 CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s", 1669 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1669 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1670 1670 . "ave(X)", zstophy,zout) 1671 1671 c 1672 1672 CALL histdef(nid_mth, "dqvdf","Boundary-layer dQ","(kg/kg)/s", 1673 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1673 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1674 1674 . "ave(X)", zstophy,zout) 1675 1675 c 1676 1676 CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s", 1677 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1677 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1678 1678 . "ave(X)", zstophy,zout) 1679 1679 c 1680 1680 CALL histdef(nid_mth,"dqeva","Reevaporation dQ","(kg/kg)/s", 1681 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1681 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1682 1682 . "ave(X)", zstophy,zout) 1683 1683 1684 1684 CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ", 1685 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1685 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1686 1686 . "ave(X)", zstophy,zout) 1687 1687 1688 1688 CALL histdef(nid_mth, "ratqs", "RATQS"," ", 1689 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1689 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1690 1690 . "ave(X)", zstophy,zout) 1691 1691 1692 1692 c 1693 1693 CALL histdef(nid_mth, "dqajs","Dry adjust. dQ","(kg/kg)/s", 1694 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1694 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1695 1695 . "ave(X)", zstophy,zout) 1696 1696 c 1697 1697 CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s", 1698 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1698 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1699 1699 . "ave(X)", zstophy,zout) 1700 1700 c 1701 1701 CALL histdef(nid_mth, "dtsw0", "CS SW radiation dT", "K/s", 1702 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1702 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1703 1703 . "ave(X)", zstophy,zout) 1704 1704 c 1705 1705 CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s", 1706 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1706 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1707 1707 . "ave(X)", zstophy,zout) 1708 1708 c 1709 1709 CALL histdef(nid_mth,"dtlw0","CS LW radiation dT","K/s", 1710 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1710 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1711 1711 . "ave(X)", zstophy,zout) 1712 1712 c 1713 1713 CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s", 1714 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1714 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1715 1715 . "ave(X)", zstophy,zout) 1716 1716 c 1717 1717 CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2", 1718 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1718 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1719 1719 . "ave(X)", zstophy,zout) 1720 1720 c 1721 1721 CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2", 1722 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1722 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1723 1723 . "ave(X)", zstophy,zout) 1724 1724 c 1725 1725 IF (ok_orodr) THEN 1726 1726 CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2", 1727 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1727 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1728 1728 . "ave(X)", zstophy,zout) 1729 1729 c 1730 1730 CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2", 1731 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1731 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1732 1732 . "ave(X)", zstophy,zout) 1733 1733 c … … 1736 1736 IF (ok_orolf) THEN 1737 1737 CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2", 1738 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1738 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1739 1739 . "ave(X)", zstophy,zout) 1740 1740 c 1741 1741 CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2", 1742 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1742 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1743 1743 . "ave(X)", zstophy,zout) 1744 1744 ENDIF … … 1748 1748 iiq=niadv(iq) 1749 1749 CALL histdef(nid_mth, tnom(iq), ttext(iiq), "-", 1750 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,1750 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1751 1751 . "ave(X)", zstophy,zout) 1752 1752 ENDDO -
LMDZ4/trunk/libf/phylmd/ini_histmthNMC.h
r766 r776 39 39 CALL histdef(nid_nmc, "temp", 40 40 . "Temperature","K", 41 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,41 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 42 42 . "inst(X)", zout,zout) 43 43 c 44 44 CALL histdef(nid_nmc, "phi", 45 45 . "Geopotential", "m", 46 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,46 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 47 47 . "inst(X)", zout,zout) 48 48 c 49 49 CALL histdef(nid_nmc, "q", 50 50 . "Specific humidity","kg/kg", 51 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,51 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 52 52 . "inst(X)", zout,zout) 53 53 c 54 54 CALL histdef(nid_nmc, "rh", 55 55 . "Relative humidity", "%", 56 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,56 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 57 57 . "inst(X)", zout,zout) 58 58 c 59 59 CALL histdef(nid_nmc, "u", 60 60 . "Zonal wind","m/s", 61 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,61 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 62 62 . "inst(X)", zout,zout) 63 63 c 64 64 CALL histdef(nid_nmc, "v", 65 65 . "Meridional wind","m/s", 66 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,66 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 67 67 . "inst(X)", zout,zout) 68 68 c … … 78 78 CALL histdef(nid_nmc, "temp", 79 79 . "Temperature","K", 80 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,80 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 81 81 . "inst(X)", zout,zout) 82 82 c 83 83 CALL histdef(nid_nmc, "phi", 84 84 . "Geopotential ", "m", 85 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,85 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 86 86 . "inst(X)", zout,zout) 87 87 c 88 88 CALL histdef(nid_nmc, "q", 89 89 . "Specific humidity","kg/kg", 90 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,90 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 91 91 . "inst(X)", zout,zout) 92 92 c 93 93 CALL histdef(nid_nmc, "rh", 94 94 . "Relative humidity", "%", 95 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,95 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 96 96 . "inst(X)", zout,zout) 97 97 c 98 98 CALL histdef(nid_nmc, "u", 99 99 . "Zonal wind","m/s", 100 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,100 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 101 101 . "inst(X)", zout,zout) 102 102 c 103 103 CALL histdef(nid_nmc, "v", 104 104 . "Meridional wind","m/s", 105 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,105 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 106 106 . "inst(X)", zout,zout) 107 107 c 108 108 CALL histdef(nid_nmc, "w", 109 109 . "Vertical motion","Pa/s", 110 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,110 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 111 111 . "inst(X)", zout,zout) 112 112 c … … 121 121 CALL histdef(nid_nmc, "psbg", 122 122 . "Pressure sfce below ground","%", 123 . iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,123 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 124 124 . "inst(X)", zout,zout) 125 125 c 126 126 CALL histdef(nid_nmc, "uv", 127 127 . "uv ", 128 . "m2/s2",iim,jj phy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,128 . "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 129 129 . "inst(X)", zout,zout) 130 130 c 131 131 CALL histdef(nid_nmc, "vq", 132 132 . "vq ", 133 . "m/s * (kg/kg)",iim,jj phy_nb,nhori,133 . "m/s * (kg/kg)",iim,jj_nb,nhori, 134 134 . nlevSTD,1,nlevSTD, nvert, 32, 135 135 . "inst(X)", zout,zout) … … 137 137 CALL histdef(nid_nmc, "vT", 138 138 . "vT ", 139 . "mK/s",iim,jj phy_nb,nhori,139 . "mK/s",iim,jj_nb,nhori, 140 140 . nlevSTD,1,nlevSTD, nvert, 32, 141 141 . "inst(X)", zout,zout) … … 143 143 CALL histdef(nid_nmc, "wq", 144 144 . "wq ", 145 . "(Pa/s)*(kg/kg)",iim,jj phy_nb,nhori,145 . "(Pa/s)*(kg/kg)",iim,jj_nb,nhori, 146 146 . nlevSTD,1,nlevSTD, nvert, 32, 147 147 . "inst(X)", zout,zout) … … 149 149 CALL histdef(nid_nmc, "vphi", 150 150 . "vphi ", 151 . "m2/s",iim,jj phy_nb,nhori,151 . "m2/s",iim,jj_nb,nhori, 152 152 . nlevSTD,1,nlevSTD, nvert, 32, 153 153 . "inst(X)", zout,zout) … … 155 155 CALL histdef(nid_nmc, "wT", 156 156 . "wT ", 157 . "K*Pa/s",iim,jj phy_nb,nhori,157 . "K*Pa/s",iim,jj_nb,nhori, 158 158 . nlevSTD,1,nlevSTD, nvert, 32, 159 159 . "inst(X)", zout,zout) … … 161 161 CALL histdef(nid_nmc, "uxu", 162 162 . "u2 ", 163 . "m2/s2",iim,jj phy_nb,nhori,163 . "m2/s2",iim,jj_nb,nhori, 164 164 . nlevSTD,1,nlevSTD, nvert, 32, 165 165 . "inst(X)", zout,zout) … … 167 167 CALL histdef(nid_nmc, "vxv", 168 168 . "v2 ", 169 . "m2/s2",iim,jj phy_nb,nhori,169 . "m2/s2",iim,jj_nb,nhori, 170 170 . nlevSTD,1,nlevSTD, nvert, 32, 171 171 . "inst(X)", zout,zout) … … 173 173 CALL histdef(nid_nmc, "TxT", 174 174 . "T2 ", 175 . "K2",iim,jj phy_nb,nhori,175 . "K2",iim,jj_nb,nhori, 176 176 . nlevSTD,1,nlevSTD, nvert, 32, 177 177 . "inst(X)", zout,zout) -
LMDZ4/trunk/libf/phylmd/ini_histrac.h
r766 r776 26 26 c 27 27 CALL histdef(nid_tra, "phis", "Surface geop. height", "-", 28 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,28 . iim,jj_nb,nhori, 1,1,1, -99, 32, 29 29 . "once", zsto,zout) 30 30 c 31 31 CALL histdef(nid_tra, "aire", "Grid area", "-", 32 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,32 . iim,jj_nb,nhori, 1,1,1, -99, 32, 33 33 . "once", zsto,zout) 34 34 DO it=1,nqmax … … 37 37 iiq=niadv(iq) 38 38 CALL histdef(nid_tra, tnom(iq), ttext(iiq), "U/kga", 39 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,39 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 40 40 . "ave(X)", zsto,zout) 41 41 if (lessivage) THEN 42 42 CALL histdef(nid_tra, "fl"//tnom(iq),"Flux "//ttext(iiq), 43 . "U/m2/s",iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,43 . "U/m2/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32, 44 44 . "ave(X)", zsto,zout) 45 45 endif … … 48 48 CALL histdef(nid_tra, "d_tr_th_"//tnom(iq), 49 49 . "tendance thermique"// ttext(iiq), "?", 50 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,50 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 51 51 . "ave(X)", zsto,zout) 52 52 CALL histdef(nid_tra, "d_tr_cv_"//tnom(iq), 53 53 . "tendance convection"// ttext(iiq), "?", 54 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,54 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 55 55 . "ave(X)", zsto,zout) 56 56 CALL histdef(nid_tra, "d_tr_cl_"//tnom(iq), 57 57 . "tendance couche limite"// ttext(iiq), "?", 58 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,58 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 59 59 . "ave(X)", zsto,zout) 60 60 c---fin Olivia … … 63 63 64 64 CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-", 65 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,65 . iim,jj_nb,nhori, 1,1,1, -99, 32, 66 66 . "inst(X)", zout,zout) 67 67 68 68 CALL histdef(nid_tra, "pyv1", "Vent niv 1", "-", 69 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,69 . iim,jj_nb,nhori, 1,1,1, -99, 32, 70 70 . "inst(X)", zout,zout) 71 71 CALL histdef(nid_tra, "psrf1", "nature sol", "-", 72 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,72 . iim,jj_nb,nhori, 1,1,1, -99, 32, 73 73 . "inst(X)", zout,zout) 74 74 CALL histdef(nid_tra, "psrf2", "nature sol", "-", 75 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,75 . iim,jj_nb,nhori, 1,1,1, -99, 32, 76 76 . "inst(X)", zout,zout) 77 77 CALL histdef(nid_tra, "psrf3", "nature sol", "-", 78 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,78 . iim,jj_nb,nhori, 1,1,1, -99, 32, 79 79 . "inst(X)", zout,zout) 80 80 CALL histdef(nid_tra, "psrf4", "nature sol", "-", 81 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,81 . iim,jj_nb,nhori, 1,1,1, -99, 32, 82 82 . "inst(X)", zout,zout) 83 83 CALL histdef(nid_tra, "ftsol1", "temper sol", "-", 84 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,84 . iim,jj_nb,nhori, 1,1,1, -99, 32, 85 85 . "inst(X)", zout,zout) 86 86 CALL histdef(nid_tra, "ftsol2", "temper sol", "-", 87 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,87 . iim,jj_nb,nhori, 1,1,1, -99, 32, 88 88 . "inst(X)", zout,zout) 89 89 CALL histdef(nid_tra, "ftsol3", "temper sol", "-", 90 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,90 . iim,jj_nb,nhori, 1,1,1, -99, 32, 91 91 . "inst", zout,zout) 92 92 CALL histdef(nid_tra, "ftsol4", "temper sol", "-", 93 . iim,jj phy_nb,nhori, 1,1,1, -99, 32,93 . iim,jj_nb,nhori, 1,1,1, -99, 32, 94 94 . "inst(X)", zout,zout) 95 95 CALL histdef(nid_tra, "pplay", "flux u mont","-", 96 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,96 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 97 97 . "inst(X)", zout,zout) 98 98 CALL histdef(nid_tra, "t", "flux u mont","-", 99 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,99 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 100 100 . "inst(X)", zout,zout) 101 101 CALL histdef(nid_tra, "mfu", "flux u mont","-", 102 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,102 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 103 103 . "ave(X)", zsto,zout) 104 104 CALL histdef(nid_tra, "mfd", "flux u decen","-", 105 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,105 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 106 106 . "ave(X)", zsto,zout) 107 107 CALL histdef(nid_tra, "en_u", "flux u mont","-", 108 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,108 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 109 109 . "ave(X)", zsto,zout) 110 110 CALL histdef(nid_tra, "en_d", "flux u mont","-", 111 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,111 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 112 112 . "ave(X)", zsto,zout) 113 113 CALL histdef(nid_tra, "de_d", "flux u mont","-", 114 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,114 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 115 115 . "ave(X)", zsto,zout) 116 116 CALL histdef(nid_tra, "de_u", "flux u decen","-", 117 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,117 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 118 118 . "ave(X)", zsto,zout) 119 119 CALL histdef(nid_tra, "coefh", "turbulent coef","-", 120 . iim,jj phy_nb,nhori, klev,1,klev,nvert, 32,120 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 121 121 . "ave(X)", zsto,zout) 122 122 -
LMDZ4/trunk/libf/phylmd/ini_paramLMDZ_phy.h
r766 r776 1 1 cym Non implemente en mode parallele 2 2 3 IF ( monocpu) THEN3 IF (is_sequential) THEN 4 4 c 5 5 zstophy = dtime … … 361 361 CALL histend(nid_ctesGCM) 362 362 363 ENDIF ! monocpu363 ENDIF ! is_sequential 364 364 c 365 365 c================================================================= -
LMDZ4/trunk/libf/phylmd/ini_undefSTD.F
r766 r776 1 ! 2 ! $Header$ 3 ! 4 1 5 SUBROUTINE ini_undefSTD(nlevSTD,itap, 2 6 $ dtime,ecrit_day,ecrit_mth, -
LMDZ4/trunk/libf/phylmd/iniphysiq.F
r766 r776 9 9 $ plat,plon,parea,pcu,pcv, 10 10 $ prad,pg,pr,pcpp) 11 USE dimphy,klon2=>klon,klon=>klon2 11 USE dimphy 12 USE mod_grid_phy_lmdz 13 USE mod_phys_lmdz_para 12 14 USE comgeomphy 13 15 IMPLICIT NONE … … 52 54 53 55 INTEGER ngrid,nlayer 54 REAL plat(ngrid),plon(ngrid),parea(klon),pcu(klon),pcv(klon) 56 REAL plat(ngrid),plon(ngrid),parea(klon_glo) 57 REAL pcu(klon_glo),pcv(klon_glo) 55 58 INTEGER pdayref 56 59 INTEGER :: ibegin,iend … … 66 69 ENDIF 67 70 68 IF (ngrid.NE.klon ) THEN71 IF (ngrid.NE.klon_glo) THEN 69 72 PRINT*,'STOP in inifis' 70 73 PRINT*,'Probleme de dimensions :' 71 74 PRINT*,'ngrid = ',ngrid 72 PRINT*,'klon = ',klon 75 PRINT*,'klon = ',klon_glo 73 76 STOP 74 77 ENDIF 75 78 c$OMP PARALLEL PRIVATE(ibegin,iend) 76 79 c$OMP+ SHARED(parea,pcu,pcv,plon,plat) 77 ibegin=klon_begin+klon_omp_begin(omp_rank)-178 iend=ibegin+klon_omp-179 80 80 airephy(1:klon_omp)=parea( ibegin:iend)81 cuphy(1:klon_omp)=pcu( ibegin:iend)82 cvphy(1:klon_omp)=pcv( ibegin:iend)83 rlond(1:klon_omp) = plon( ibegin:iend)84 rlatd(1:klon_omp) = plat( ibegin:iend)81 airephy(1:klon_omp)=parea(klon_omp_begin:klon_omp_end) 82 cuphy(1:klon_omp)=pcu(klon_omp_begin:klon_omp_end) 83 cvphy(1:klon_omp)=pcv(klon_omp_begin:klon_omp_end) 84 rlond(1:klon_omp) = plon(klon_omp_begin:klon_omp_end) 85 rlatd(1:klon_omp) = plat(klon_omp_begin:klon_omp_end) 85 86 86 87 call suphec -
LMDZ4/trunk/libf/phylmd/initphysto.F
r766 r776 9 9 10 10 USE dimphy 11 USE mod_phys_lmdz_para 11 12 USE IOIPSL 12 13 USE iophy … … 121 122 122 123 CALL histdef(fileid, "phis", "Surface geop. height", "-", 123 . iim,jj phy_nb,nhoriid, 1,1,1, -99, 32,124 . iim,jj_nb,nhoriid, 1,1,1, -99, 32, 124 125 . "once", t_ops, t_wrt) 125 126 c … … 127 128 128 129 CALL histdef(fileid, "aire", "Grid area", "-", 129 . iim,jj phy_nb,nhoriid, 1,1,1, -99, 32,130 . iim,jj_nb,nhoriid, 1,1,1, -99, 32, 130 131 . "once", t_ops, t_wrt) 131 132 write(*,*) 'apres aire ds initphysto' … … 143 144 C 144 145 call histdef(fileid, 't', 'Temperature', 'K', 145 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,146 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 146 147 . 32, 'inst(X)', t_ops, t_wrt) 147 148 write(*,*) 'apres t ds initphysto' … … 149 150 C 150 151 call histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s', 151 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,152 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 152 153 . 32, 'inst(X)', t_ops, t_wrt) 153 154 write(*,*) 'apres mfu ds initphysto' … … 156 157 C 157 158 call histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s', 158 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,159 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 159 160 . 32, 'inst(X)', t_ops, t_wrt) 160 161 … … 163 164 C 164 165 call histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s', 165 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,166 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 166 167 . 32, 'inst(X)', t_ops, t_wrt) 167 168 write(*,*) 'apres en_u ds initphysto' … … 170 171 C 171 172 call histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s', 172 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,173 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 173 174 . 32, 'inst(X)', t_ops, t_wrt) 174 175 … … 177 178 C 178 179 call histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s', 179 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,180 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 180 181 . 32, 'inst(X)', t_ops, t_wrt) 181 182 C … … 185 186 C 186 187 call histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s', 187 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,188 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 188 189 . 32, 'inst(X)', t_ops, t_wrt) 189 190 … … 191 192 192 193 call histdef(fileid, "coefh", " ", " ", 193 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,194 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 194 195 . 32, "inst(X)", t_ops, t_wrt) 195 196 196 197 c abderrahmane le 16 09 02 197 198 call histdef(fileid, "fm_th", " ", " ", 198 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,199 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 199 200 . 32, "inst(X)", t_ops, t_wrt) 200 201 201 202 call histdef(fileid, "en_th", " ", " ", 202 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,203 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 203 204 . 32, "inst(X)", t_ops, t_wrt) 204 205 c fin aj … … 207 208 208 209 call histdef(fileid, 'frac_impa', ' ', ' ', 209 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,210 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 210 211 . 32, 'inst(X)', t_ops, t_wrt) 211 212 212 213 call histdef(fileid, 'frac_nucl', ' ', ' ', 213 . iim, jj phy_nb, nhoriid, llm, 1, llm, zvertiid,214 . iim, jj_nb, nhoriid, llm, 1, llm, zvertiid, 214 215 . 32, 'inst(X)', t_ops, t_wrt) 215 216 … … 218 219 c 219 220 CALL histdef(fileid, "pyu1", " ", " ", 220 . iim,jj phy_nb,nhoriid, 1,1,1, -99, 32,221 . iim,jj_nb,nhoriid, 1,1,1, -99, 32, 221 222 . "inst(X)", t_ops, t_wrt) 222 223 … … 225 226 c 226 227 CALL histdef(fileid, "pyv1", " ", " ", 227 . iim,jj phy_nb,nhoriid, 1,1,1, -99, 32,228 . iim,jj_nb,nhoriid, 1,1,1, -99, 32, 228 229 . "inst(X)", t_ops, t_wrt) 229 230 … … 233 234 c 234 235 call histdef(fileid, "ftsol1", " ", " ", 235 . iim, jj phy_nb, nhoriid, 1, 1,1, -99,32,236 . iim, jj_nb, nhoriid, 1, 1,1, -99,32, 236 237 . "inst(X)", t_ops, t_wrt) 237 238 … … 240 241 c 241 242 call histdef(fileid, "ftsol2", " ", " ", 242 . iim, jj phy_nb, nhoriid, 1, 1,1, -99,32,243 . iim, jj_nb, nhoriid, 1, 1,1, -99,32, 243 244 . "inst(X)", t_ops, t_wrt) 244 245 … … 247 248 c 248 249 call histdef(fileid, "ftsol3", " ", " ", 249 . iim, jj phy_nb, nhoriid, 1, 1,1, -99,250 . iim, jj_nb, nhoriid, 1, 1,1, -99, 250 251 . 32, "inst(X)", t_ops, t_wrt) 251 252 … … 254 255 c 255 256 call histdef(fileid, "ftsol4", " ", " ", 256 . iim, jj phy_nb, nhoriid, 1, 1,1, -99,257 . iim, jj_nb, nhoriid, 1, 1,1, -99, 257 258 . 32, "inst(X)", t_ops, t_wrt) 258 259 … … 261 262 c 262 263 call histdef(fileid, "rain", " ", " ", 263 . iim, jj phy_nb, nhoriid, 1, 1,1, -99,264 . iim, jj_nb, nhoriid, 1, 1,1, -99, 264 265 . 32, "inst(X)", t_ops, t_wrt) 265 266 … … 268 269 c 269 270 call histdef(fileid, "psrf1", " ", " ", 270 . iim, jj phy_nb, nhoriid, 1, 1, 1, -99,271 . iim, jj_nb, nhoriid, 1, 1, 1, -99, 271 272 . 32, "inst(X)", t_ops, t_wrt) 272 273 … … 275 276 c 276 277 call histdef(fileid, "psrf2", " ", " ", 277 . iim, jj phy_nb, nhoriid, 1, 1, 1, -99,278 . iim, jj_nb, nhoriid, 1, 1, 1, -99, 278 279 . 32, "inst(X)", t_ops, t_wrt) 279 280 … … 282 283 c 283 284 call histdef(fileid, "psrf3", " ", " ", 284 . iim, jj phy_nb, nhoriid, 1, 1, 1, -99,285 . iim, jj_nb, nhoriid, 1, 1, 1, -99, 285 286 . 32, "inst(X)", t_ops, t_wrt) 286 287 … … 289 290 c 290 291 call histdef(fileid, "psrf4", " ", " ", 291 . iim, jj phy_nb, nhoriid, 1, 1, 1, -99,292 . iim, jj_nb, nhoriid, 1, 1, 1, -99, 292 293 . 32, "inst(X)", t_ops, t_wrt) 293 294 -
LMDZ4/trunk/libf/phylmd/interface_surf.F90
r766 r776 88 88 89 89 90 USE dimphy,only : monocpu,jjphy_nb,omp_rank90 USE mod_phys_lmdz_para 91 91 ! Cette routine sert d'aiguillage entre l'atmosphere et la surface en general 92 92 ! (sols continentaux, oceans, glaces) pour les fluxs de chaleur et d'humidite. … … 429 429 430 430 !!$PB 431 ALLOCATE (tmp_rriv(iim,jj phy_nb), stat=error)431 ALLOCATE (tmp_rriv(iim,jj_nb), stat=error) 432 432 if (error /= 0) then 433 433 abort_message='Pb allocation tmp_rriv' … … 435 435 endif 436 436 tmp_rriv=0. 437 ALLOCATE (tmp_rcoa(iim,jj phy_nb), stat=error)437 ALLOCATE (tmp_rcoa(iim,jj_nb), stat=error) 438 438 if (error /= 0) then 439 439 abort_message='Pb allocation tmp_rcoa' … … 442 442 tmp_rcoa=0. 443 443 !ym ALLOCATE (tmp_rlic(iim,jjm+1), stat=error) 444 ALLOCATE (tmp_rlic(iim,jj phy_nb), stat=error)444 ALLOCATE (tmp_rlic(iim,jj_nb), stat=error) 445 445 if (error /= 0) then 446 446 abort_message='Pb allocation tmp_rlic' … … 1034 1034 1035 1035 USE intersurf 1036 USE dimphy, klon_x=>klon 1036 USE mod_grid_phy_lmdz 1037 USE mod_phys_lmdz_para 1037 1038 IMPLICIT NONE 1038 1039 ! Cette routine sert d'interface entre le modele atmospherique et le … … 1175 1176 integer :: jjb,jje,ijb,ije 1176 1177 INTEGER,SAVE :: offset 1177 REAL, dimension(klon 2) :: rlon_g,rlat_g1178 REAL, dimension(klon_glo) :: rlon_g,rlat_g 1178 1179 INTEGER, SAVE :: orch_comm 1179 1180 #include "temps.inc" … … 1245 1246 1246 1247 1247 C all GatherField(rlon,rlon_g,1)1248 C all GatherField(rlat,rlat_g,1)1249 1250 IF ( phy_rank==0) THEN1248 CALL Gather(rlon,rlon_g) 1249 CALL Gather(rlat,rlat_g) 1250 1251 IF (is_mpi_root) THEN 1251 1252 index = 1 1252 1253 do jj = 2, jjm … … 1260 1261 lat_scat(:,1) = rlat_g(1) 1261 1262 lon_scat(:,jjm+1) = lon_scat(:,2) 1262 lat_scat(:,jjm+1) = rlat_g(klon 2)1263 lat_scat(:,jjm+1) = rlat_g(klon_glo) 1263 1264 ENDIF 1264 1265 … … 1345 1346 ! offset=offset-MOD(offset,iim) 1346 1347 ! endif 1347 1348 PRINT *,'ORCHIDEE ------> KNON : ',knon1349 1348 1350 1349 … … 1395 1394 bidule=0. 1396 1395 bidule(1:knon)=riverflow(1:knon) 1397 call gath2cpl(bidule, tmp_rriv, klon, knon,iim,jj phy_nb,knindex)1396 call gath2cpl(bidule, tmp_rriv, klon, knon,iim,jj_nb,knindex) 1398 1397 bidule=0. 1399 1398 bidule(1:knon)=coastalflow(1:knon) 1400 call gath2cpl(bidule, tmp_rcoa, klon, knon,iim,jj phy_nb,knindex)1399 call gath2cpl(bidule, tmp_rcoa, klon, knon,iim,jj_nb,knindex) 1401 1400 alb_new(1:knon) = albedo_out(1:knon,1) 1402 1401 alblw(1:knon) = albedo_out(1:knon,2) … … 1414 1413 1415 1414 SUBROUTINE Init_orchidee_index(iim,knon,orch_comm,knindex,offset,ktindex) 1416 USE dimphy 1415 USE mod_phys_lmdz_para, ONLY : is_parallel 1416 1417 1417 IMPLICIT NONE 1418 1418 INTEGER,INTENT(IN) :: iim … … 1435 1435 MyLastPoint=klon_begin-1+knindex(knon)+iim-1 1436 1436 1437 IF ( .NOT. monocpu) THEN1437 IF (is_parallel) THEN 1438 1438 #ifdef CPP_PARA 1439 1439 call MPI_COMM_SIZE(orch_comm,mpi_size,ierr) … … 1445 1445 ENDIF 1446 1446 1447 IF ( .NOT. monocpu) THEN1447 IF (is_parallel) THEN 1448 1448 IF (mpi_rank /= 0) then 1449 1449 #ifdef CPP_PARA … … 1472 1472 1473 1473 SUBROUTINE Get_orchidee_communicator(knon,orch_comm) 1474 USE dimphy, only : phy_rank 1475 #ifdef CPP_PARA 1476 USE parallel, only : COMM_LMDZ 1477 #endif 1474 USE mod_phys_lmdz_para, ONLY: mpi_rank, COMM_LMDZ_PHY 1475 1478 1476 IMPLICIT NONE 1479 1477 #ifdef CPP_PARA … … 1493 1491 1494 1492 #ifdef CPP_PARA 1495 CALL MPI_COMM_SPLIT(COMM_LMDZ ,color,phy_rank,orch_comm,ierr)1493 CALL MPI_COMM_SPLIT(COMM_LMDZ_PHY,color,mpi_rank,orch_comm,ierr) 1496 1494 #endif 1497 1495 … … 1500 1498 1501 1499 SUBROUTINE Init_neighbours(iim,jjm,knon,neighbours,ktindex,pctsrf) 1502 #ifdef CPP_PARA 1503 USE parallel,only : COMM_LMDZ 1504 #endif 1500 USE mod_phys_lmdz_para, not_use_mpi_root=>mpi_root 1505 1501 USE dimphy 1506 1502 IMPLICIT NONE 1503 1507 1504 #ifdef CPP_PARA 1508 1505 include 'mpif.h' … … 1514 1511 REAL :: pctsrf(klon) 1515 1512 1516 INTEGER :: knon_nb(0: phy_size-1)1517 INTEGER,DIMENSION(0: phy_size-1) :: displs,sendcount1513 INTEGER :: knon_nb(0:mpi_size-1) 1514 INTEGER,DIMENSION(0:mpi_size-1) :: displs,sendcount 1518 1515 INTEGER,ALLOCATABLE :: ktindex_g(:) 1519 1516 REAL*8 :: pctsrf_g(klon2) … … 1526 1523 INTEGER :: ktindex_p(knon) 1527 1524 1528 IF ( monocpu) THEN1525 IF (is_sequential) THEN 1529 1526 knon_nb(:)=knon 1530 1527 ELSE 1531 1528 1532 1529 #ifdef CPP_PARA 1533 CALL MPI_GATHER(knon,1,MPI_INTEGER,knon_nb,1,MPI_INTEGER,0,COMM_LMDZ ,ierr)1530 CALL MPI_GATHER(knon,1,MPI_INTEGER,knon_nb,1,MPI_INTEGER,0,COMM_LMDZ_PHY,ierr) 1534 1531 #endif 1535 1532 1536 1533 ENDIF 1537 1534 1538 IF ( phy_rank==0) THEN1535 IF (is_mpi_root) THEN 1539 1536 knon_g=sum(knon_nb(:)) 1540 1537 ALLOCATE(ktindex_g(knon_g)) … … 1542 1539 neighbours_g(:,:)=-1 1543 1540 displs(0)=0 1544 DO i=1, phy_size-11541 DO i=1,mpi_size-1 1545 1542 displs(i)=displs(i-1)+knon_nb(i-1) 1546 1543 ENDDO … … 1549 1546 ktindex_p(:)=ktindex(:)+klon_begin-1+iim-1 1550 1547 1551 IF ( monocpu) THEN1548 IF (is_sequential) THEN 1552 1549 ktindex_g(:)=ktindex_p(:) 1553 1550 ELSE 1554 1551 1555 1552 #ifdef CPP_PARA 1556 CALL MPI_GATHERV(ktindex_p,knon,MPI_INTEGER,ktindex_g,knon_nb,displs,MPI_INTEGER,0,COMM_LMDZ ,ierr)1553 CALL MPI_GATHERV(ktindex_p,knon,MPI_INTEGER,ktindex_g,knon_nb,displs,MPI_INTEGER,0,COMM_LMDZ_PHY,ierr) 1557 1554 #endif 1558 1555 1559 1556 ENDIF 1560 1557 1561 CALL Gather Field(pctsrf,pctsrf_g,1)1558 CALL Gather(pctsrf,pctsrf_g) 1562 1559 1563 IF ( phy_rank==0) THEN1560 IF (is_mpi_root) THEN 1564 1561 ! Initialisation des offset 1565 1562 ! … … 1615 1612 1616 1613 DO i=1,8 1617 IF ( monocpu) THEN1614 IF (is_sequential) THEN 1618 1615 neighbours(:,i)=neighbours_g(:,i) 1619 1616 ELSE 1620 1617 #ifdef CPP_PARA 1621 CALL MPI_SCATTERV(neighbours_g(:,i),knon_nb,displs,MPI_INTEGER,neighbours(:,i),knon,MPI_INTEGER,0,COMM_LMDZ ,ierr)1618 CALL MPI_SCATTERV(neighbours_g(:,i),knon_nb,displs,MPI_INTEGER,neighbours(:,i),knon,MPI_INTEGER,0,COMM_LMDZ_PHY,ierr) 1622 1619 #endif 1623 1620 ENDIF … … 1642 1639 1643 1640 USE ioipsl 1644 USE dimphy, only : jjphy_nb, iiphy_begin,iiphy_end,phy_rank,phy_size, monocpu 1641 USE mod_phys_lmdz_para, not_use_mpi_root=>mpi_root 1642 1645 1643 USE iophy 1646 #ifdef CPP_PARA 1647 USE parallel, only: pole_nord,pole_sud,COMM_LMDZ 1648 #endif 1644 1649 1645 #ifdef CPP_PSMILE 1650 1646 USE oasis … … 1774 1770 !ym REAL, DIMENSION(iim, jjm+1) :: tmp_lon, tmp_lat 1775 1771 1776 real, dimension(iim, jj phy_nb) :: wri_sol_ice, wri_sol_sea, wri_nsol_ice1777 real, dimension(iim, jj phy_nb) :: wri_nsol_sea, wri_fder_ice, wri_evap_ice1778 REAL, DIMENSION(iim, jj phy_nb) :: wri_evap_sea, wri_rcoa, wri_rriv1779 REAL, DIMENSION(iim, jj phy_nb) :: wri_rain, wri_snow, wri_taux, wri_tauy1780 REAL, DIMENSION(iim, jj phy_nb) :: wri_calv1781 REAL, DIMENSION(iim, jj phy_nb) :: wri_tauxx, wri_tauyy, wri_tauzz1782 REAL, DIMENSION(iim, jj phy_nb) :: tmp_lon, tmp_lat1783 REAL, DIMENSION(iim, jj phy_nb) :: wri_windsp1772 real, dimension(iim, jj_nb) :: wri_sol_ice, wri_sol_sea, wri_nsol_ice 1773 real, dimension(iim, jj_nb) :: wri_nsol_sea, wri_fder_ice, wri_evap_ice 1774 REAL, DIMENSION(iim, jj_nb) :: wri_evap_sea, wri_rcoa, wri_rriv 1775 REAL, DIMENSION(iim, jj_nb) :: wri_rain, wri_snow, wri_taux, wri_tauy 1776 REAL, DIMENSION(iim, jj_nb) :: wri_calv 1777 REAL, DIMENSION(iim, jj_nb) :: wri_tauxx, wri_tauyy, wri_tauzz 1778 REAL, DIMENSION(iim, jj_nb) :: tmp_lon, tmp_lat 1779 REAL, DIMENSION(iim, jj_nb) :: wri_windsp 1784 1780 1785 1781 ! variables relues par le coupleur … … 1793 1789 ! l'avoir lu 1794 1790 real, allocatable,dimension(:,:),save :: pctsrf_sav 1795 real, dimension(iim, jj phy_nb, 3) :: tamp_srf1791 real, dimension(iim, jj_nb, 3) :: tamp_srf 1796 1792 integer, allocatable, dimension(:), save :: tamp_ind 1797 1793 real, allocatable, dimension(:,:),save :: tamp_zmasq 1798 real, dimension(iim, jj phy_nb) :: deno1794 real, dimension(iim, jj_nb) :: deno 1799 1795 integer :: idtime 1800 1796 integer, allocatable,dimension(:),save :: unity … … 1870 1866 !ym ALLOCATE(cpl_rcoa(iim,jjm+1), stat=error); sum_error = sum_error + error 1871 1867 !ym ALLOCATE(cpl_rlic(iim,jjm+1), stat=error); sum_error = sum_error + error 1872 ALLOCATE(cpl_rriv(iim,jj phy_nb), stat=error); sum_error = sum_error + error1873 ALLOCATE(cpl_rcoa(iim,jj phy_nb), stat=error); sum_error = sum_error + error1874 ALLOCATE(cpl_rlic(iim,jj phy_nb), stat=error); sum_error = sum_error + error1868 ALLOCATE(cpl_rriv(iim,jj_nb), stat=error); sum_error = sum_error + error 1869 ALLOCATE(cpl_rcoa(iim,jj_nb), stat=error); sum_error = sum_error + error 1870 ALLOCATE(cpl_rlic(iim,jj_nb), stat=error); sum_error = sum_error + error 1875 1871 1876 1872 … … 1880 1876 !ym allocate(read_sit(iim, jjm+1), stat = error); sum_error = sum_error + error 1881 1877 !ym allocate(read_alb_sic(iim, jjm+1), stat = error); sum_error = sum_error + error 1882 allocate(read_sst(iim, jj phy_nb), stat = error); sum_error = sum_error + error1883 allocate(read_sic(iim, jj phy_nb), stat = error); sum_error = sum_error + error1884 allocate(read_sit(iim, jj phy_nb), stat = error); sum_error = sum_error + error1885 allocate(read_alb_sic(iim, jj phy_nb), stat = error); sum_error = sum_error + error1878 allocate(read_sst(iim, jj_nb), stat = error); sum_error = sum_error + error 1879 allocate(read_sic(iim, jj_nb), stat = error); sum_error = sum_error + error 1880 allocate(read_sit(iim, jj_nb), stat = error); sum_error = sum_error + error 1881 allocate(read_alb_sic(iim, jj_nb), stat = error); sum_error = sum_error + error 1886 1882 read_sst=0. 1887 1883 read_sic=0. … … 1902 1898 allocate(tamp_ind(klon), stat = error); sum_error = sum_error + error 1903 1899 !ym allocate(tamp_zmasq(iim, jjm+1), stat = error); sum_error = sum_error + error 1904 allocate(tamp_zmasq(iim, jj phy_nb), stat = error); sum_error = sum_error + error1900 allocate(tamp_zmasq(iim, jj_nb), stat = error); sum_error = sum_error + error 1905 1901 tamp_zmasq=1. 1906 1902 … … 1908 1904 tamp_ind(ig) = ig 1909 1905 enddo 1910 call gath2cpl(zmasq, tamp_zmasq, klon, klon, iim, jj phy_nb, tamp_ind)1906 call gath2cpl(zmasq, tamp_zmasq, klon, klon, iim, jj_nb, tamp_ind) 1911 1907 ! 1912 1908 ! initialisation couplage … … 1917 1913 CALL inicma(iim, (jjm+1)) 1918 1914 #else 1919 if ( .not. monocpu) then1915 if (is_parallel) then 1920 1916 abort_message='coupleur parallele uniquement avec PSMILE' 1921 1917 call abort_gcm(modname,abort_message,1) … … 1928 1924 ! 1929 1925 !ym IO de check deconnecte pour le moment en // 1930 IF ( monocpu) THEN1926 IF (is_sequential) THEN 1931 1927 idayref = day_ini 1932 1928 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) … … 2049 2045 #ifdef CPP_PSMILE 2050 2046 il_time_secs=(itime-1)*dtime 2051 CALL fromcpl(il_time_secs, iim, jj phy_nb, &2047 CALL fromcpl(il_time_secs, iim, jj_nb, & 2052 2048 & read_sst, read_sic, read_sit, read_alb_sic) 2053 2049 #else 2054 if ( .not. monocpu) then2050 if (is_parallel) then 2055 2051 abort_message='coupleur parallele uniquement avec PSMILE' 2056 2052 call abort_gcm(modname,abort_message,1) … … 2064 2060 ! sorties NETCDF des champs recus 2065 2061 ! 2066 if ( monocpu) THEN2062 if (is_sequential) THEN 2067 2063 ndexcs(:)=0 2068 2064 itau_w = itau_phy + itime … … 2076 2072 2077 2073 !ym do j = 1, jjm + 1 2078 do j = 1, jj phy_nb2074 do j = 1, jj_nb 2079 2075 do ig = 1, iim 2080 2076 if (abs(1. - read_sic(ig,j)) < 0.00001) then … … 2096 2092 ! transformer read_sic en pctsrf_sav 2097 2093 ! 2098 call cpl2gath(read_sic, tamp_sic , klon, klon,iim,jj phy_nb, unity)2094 call cpl2gath(read_sic, tamp_sic , klon, klon,iim,jj_nb, unity) 2099 2095 do ig = 1, klon 2100 2096 IF (pctsrf(ig,is_oce) > epsfra .OR. & … … 2139 2135 if (nisurf == is_oce .and. (.not. cumul) ) then 2140 2136 sum_error = 0 2141 allocate(tmp_sols(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2142 allocate(tmp_nsol(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2143 allocate(tmp_rain(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2144 allocate(tmp_snow(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2145 allocate(tmp_evap(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2146 allocate(tmp_tsol(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2147 allocate(tmp_fder(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2148 allocate(tmp_albe(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2149 allocate(tmp_taux(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2150 allocate(tmp_tauy(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2151 ! -- LOOP 2152 allocate(tmp_windsp(iim,jj phy_nb,2), stat=error); sum_error = sum_error + error2137 allocate(tmp_sols(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2138 allocate(tmp_nsol(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2139 allocate(tmp_rain(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2140 allocate(tmp_snow(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2141 allocate(tmp_evap(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2142 allocate(tmp_tsol(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2143 allocate(tmp_fder(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2144 allocate(tmp_albe(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2145 allocate(tmp_taux(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2146 allocate(tmp_tauy(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2147 ! -- LOOP 2148 allocate(tmp_windsp(iim,jj_nb,2), stat=error); sum_error = sum_error + error 2153 2149 ! -- LOOP 2154 2150 !!$ allocate(tmp_rriv(iim,jjm+1,2), stat=error); sum_error = sum_error + error … … 2165 2161 cpl_index = 1 2166 2162 if (nisurf == is_sic) cpl_index = 2 2167 call gath2cpl(cpl_sols(1,cpl_index), tmp_sols(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2168 call gath2cpl(cpl_nsol(1,cpl_index), tmp_nsol(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2169 call gath2cpl(cpl_rain(1,cpl_index), tmp_rain(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2170 call gath2cpl(cpl_snow(1,cpl_index), tmp_snow(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2171 call gath2cpl(cpl_evap(1,cpl_index), tmp_evap(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2172 call gath2cpl(cpl_tsol(1,cpl_index), tmp_tsol(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2173 call gath2cpl(cpl_fder(1,cpl_index), tmp_fder(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2174 call gath2cpl(cpl_albe(1,cpl_index), tmp_albe(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2175 call gath2cpl(cpl_taux(1,cpl_index), tmp_taux(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2176 call gath2cpl(cpl_tauy(1,cpl_index), tmp_tauy(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2177 ! -- LOOP 2178 call gath2cpl(cpl_windsp(1,cpl_index), tmp_windsp(1,1,cpl_index), klon, knon,iim,jj phy_nb, knindex)2163 call gath2cpl(cpl_sols(1,cpl_index), tmp_sols(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2164 call gath2cpl(cpl_nsol(1,cpl_index), tmp_nsol(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2165 call gath2cpl(cpl_rain(1,cpl_index), tmp_rain(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2166 call gath2cpl(cpl_snow(1,cpl_index), tmp_snow(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2167 call gath2cpl(cpl_evap(1,cpl_index), tmp_evap(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2168 call gath2cpl(cpl_tsol(1,cpl_index), tmp_tsol(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2169 call gath2cpl(cpl_fder(1,cpl_index), tmp_fder(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2170 call gath2cpl(cpl_albe(1,cpl_index), tmp_albe(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2171 call gath2cpl(cpl_taux(1,cpl_index), tmp_taux(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2172 call gath2cpl(cpl_tauy(1,cpl_index), tmp_tauy(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2173 ! -- LOOP 2174 call gath2cpl(cpl_windsp(1,cpl_index), tmp_windsp(1,1,cpl_index), klon, knon,iim,jj_nb, knindex) 2179 2175 ! -- LOOP 2180 2176 … … 2188 2184 wri_windsp = 0. 2189 2185 ! -- LOOP 2190 call gath2cpl(pctsrf(1,is_oce), tamp_srf(1,1,1), klon, klon, iim, jj phy_nb, tamp_ind)2191 call gath2cpl(pctsrf(1,is_sic), tamp_srf(1,1,2), klon, klon, iim, jj phy_nb, tamp_ind)2186 call gath2cpl(pctsrf(1,is_oce), tamp_srf(1,1,1), klon, klon, iim, jj_nb, tamp_ind) 2187 call gath2cpl(pctsrf(1,is_sic), tamp_srf(1,1,2), klon, klon, iim, jj_nb, tamp_ind) 2192 2188 2193 2189 wri_sol_ice = tmp_sols(:,:,2) … … 2214 2210 !Essai OM+JLD : ca marche !!!! (17 mars 2006) 2215 2211 tamp_srf(:,:,3)=0. 2216 CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jj phy_nb, tamp_ind)2212 CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jj_nb, tamp_ind) 2217 2213 2218 2214 !YM pour retrouver resultat avant tamp_srf(:,3)=1. 2219 2215 2220 DO j = 1, jj phy_nb2216 DO j = 1, jj_nb 2221 2217 wri_calv(:,j) = DOT_PRODUCT (cpl_rlic(1:iim,j), tamp_srf(1:iim,j,3)) / REAL(iim) 2222 2218 ENDDO … … 2227 2223 !ym enddo 2228 2224 2229 IF ( .NOT. monocpu) THEN2230 if ( phy_rank /= 0) then2225 IF (is_parallel) THEN 2226 if (.NOT.is_north_pole) then 2231 2227 #ifdef CPP_PARA 2232 call MPI_RECV(Up,1,MPI_REAL 8,phy_rank-1,1234,COMM_LMDZ,status,ierr)2233 call MPI_SEND(wri_calv(1,1),1,MPI_REAL 8,phy_rank-1,1234,COMM_LMDZ,ierr)2228 call MPI_RECV(Up,1,MPI_REAL_LMDZ,mpi_rank-1,1234,COMM_LMDZ_PHY,status,ierr) 2229 call MPI_SEND(wri_calv(1,1),1,MPI_REAL_LMDZ,mpi_rank-1,1234,COMM_LMDZ_PHY,ierr) 2234 2230 #endif 2235 2231 endif 2236 2232 2237 if ( phy_rank /= phy_size-1) then2233 if (.NOT.is_south_pole) then 2238 2234 #ifdef CPP_PARA 2239 call MPI_SEND(wri_calv(1,jj phy_nb),1,MPI_REAL8,phy_rank+1,1234,COMM_LMDZ,ierr)2240 call MPI_RECV(down,1,MPI_REAL 8,phy_rank+1,1234,COMM_LMDZ,status,ierr)2235 call MPI_SEND(wri_calv(1,jj_nb),1,MPI_REAL_LMDZ,mpi_rank+1,1234,COMM_LMDZ_PHY,ierr) 2236 call MPI_RECV(down,1,MPI_REAL_LMDZ,mpi_rank+1,1234,COMM_LMDZ_PHY,status,ierr) 2241 2237 #endif 2242 2238 endif 2243 2239 2244 if ( phy_rank /=0 .and. iiphy_begin /=1) then2240 if (mpi_rank /=0 .and. ii_begin /=1) then 2245 2241 Up=Up+wri_calv(iim,1) 2246 2242 wri_calv(:,1)=Up 2247 2243 endif 2248 2244 2249 if ( phy_rank /=phy_size-1 .and. iiphy_end /= iim) then2250 Down=Down+wri_calv(1,jj phy_nb)2251 wri_calv(:,jj phy_nb)=Down2245 if (mpi_rank /=mpi_size-1 .and. ii_end /= iim) then 2246 Down=Down+wri_calv(1,jj_nb) 2247 wri_calv(:,jj_nb)=Down 2252 2248 endif 2253 2249 ENDIF … … 2277 2273 !ym CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,tmp_lat) 2278 2274 2279 CALL phy2dyn(rlon,tmp_lon,1) 2280 CALL phy2dyn(rlat,tmp_lat,1) 2281 2282 !ym DO i = 1, iim 2283 !ym tmp_lon(i,1) = rlon(i+1) 2284 !ym tmp_lon(i,jjm + 1) = rlon(i+1) 2285 !ym ENDDO 2286 2275 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2276 !!! ATENTION A NE PAS OUBLIER 2277 !!! REMPLACER phy2dyn par grid1DTo2D_mpi 2278 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2279 2280 CALL Grid1DTo2D_mpi(rlon,tmp_lon) 2281 CALL Grid1DTo2D_mpi(rlat,tmp_lat) 2282 2283 2284 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2285 IF (is_sequential) THEN 2286 IF (is_north_pole) tmp_lon(:,1) = tmp_lon(:,2) 2287 IF (is_south_pole) tmp_lon(:,jjm + 1) = tmp_lon(:,jjm) 2288 ENDIF 2287 2289 ! 2288 2290 ! sortie netcdf des champs pour le changement de repere 2289 2291 ! 2290 IF ( monocpu) THEN2292 IF (is_sequential) THEN 2291 2293 ndexct(:)=0 2292 2294 CALL histwrite(nidct,'tauxe',itau_w,wri_taux,iim*(jjm+1),ndexct) … … 2298 2300 ! calcul 3 coordonnees du vent 2299 2301 ! 2300 CALL atm2geo (iim , jj phy_nb, wri_taux, wri_tauy, tmp_lon, tmp_lat, &2302 CALL atm2geo (iim , jj_nb, wri_taux, wri_tauy, tmp_lon, tmp_lat, & 2301 2303 & wri_tauxx, wri_tauyy, wri_tauzz ) 2302 2304 ! … … 2304 2306 ! envoi au coupleur 2305 2307 ! 2306 IF ( monocpu) THEN2308 IF (is_sequential) THEN 2307 2309 CALL histwrite(nidct,cl_writ(8),itau_w,wri_sol_ice,iim*(jjm+1),ndexct) 2308 2310 CALL histwrite(nidct,cl_writ(9),itau_w,wri_sol_sea,iim*(jjm+1),ndexct) … … 2389 2391 ! 2390 2392 if (nisurf == is_oce) then 2391 call cpl2gath(read_sst, tsurf_new, klon, knon,iim,jj phy_nb, knindex)2393 call cpl2gath(read_sst, tsurf_new, klon, knon,iim,jj_nb, knindex) 2392 2394 else if (nisurf == is_sic) then 2393 call cpl2gath(read_sit, tsurf_new, klon, knon,iim,jj phy_nb, knindex)2394 call cpl2gath(read_alb_sic, alb_new, klon, knon,iim,jj phy_nb, knindex)2395 call cpl2gath(read_sit, tsurf_new, klon, knon,iim,jj_nb, knindex) 2396 call cpl2gath(read_alb_sic, alb_new, klon, knon,iim,jj_nb, knindex) 2395 2397 endif 2396 2398 pctsrf_new(:,nisurf) = pctsrf_sav(:,nisurf) … … 2667 2669 ! 2668 2670 SUBROUTINE interfoce_lim(itime, dtime, jour, & 2669 & klon _xx, nisurf, knon, knindex, &2671 & klon, nisurf, knon, knindex, & 2670 2672 & debut, & 2671 2673 & lmt_sst_p, pctsrf_new_p) 2672 2674 2673 USE dimphy,klon=>klon2,klon2=>klon2674 2675 USE mod_grid_phy_lmdz 2676 USE mod_phys_lmdz_para 2675 2677 #include "indicesol.inc" 2676 2678 … … 2700 2702 real , intent(IN) :: dtime 2701 2703 integer, intent(IN) :: jour 2702 integer, intent(in) :: klon _xx2704 integer, intent(in) :: klon 2703 2705 integer, intent(IN) :: nisurf 2704 2706 integer, intent(IN) :: knon 2705 integer, dimension(klon 2), intent(in) :: knindex2707 integer, dimension(klon_loc), intent(in) :: knindex 2706 2708 logical, intent(IN) :: debut 2707 2709 2708 2710 ! Parametres de sortie 2709 real, intent(out), dimension(klon 2) :: lmt_sst_p2710 real, intent(out), dimension(klon 2,nbsrf) :: pctsrf_new_p2711 real, intent(out), dimension(klon_loc) :: lmt_sst_p 2712 real, intent(out), dimension(klon_loc,nbsrf) :: pctsrf_new_p 2711 2713 2712 2714 ! real, dimension(klon) :: lmt_sst 2713 real, dimension(klon ,nbsrf) :: pctsrf_new2715 real, dimension(klon_glo,nbsrf) :: pctsrf_new 2714 2716 2715 2717 ! Variables locales … … 2735 2737 real, allocatable , save, dimension(:) :: sst_lu_p 2736 2738 !$OMP THREADPRIVATE(sst_lu_p) 2737 real, allocatable , save, dimension(:) :: sst_lu_mpi2738 2739 2739 2740 real, allocatable , save, dimension(:,:) :: pct_tmp_p 2740 2741 !$OMP THREADPRIVATE(pct_tmp_p) 2741 real, allocatable , save, dimension(:,:) :: pct_tmp_mpi 2742 real, dimension(klon,nbsrf) :: pct_tmp 2743 real, dimension(klon) :: sst_lu 2744 real, dimension(klon) :: nat_lu 2742 real, dimension(klon_glo,nbsrf) :: pct_tmp 2743 real, dimension(klon_glo) :: sst_lu 2744 real, dimension(klon_glo) :: nat_lu 2745 2745 ! 2746 2746 ! quelques variables pour netcdf … … 2756 2756 lmt_pas = nint(86400./dtime * 1.0) ! pour une lecture une fois par jour 2757 2757 jour_lu = jour - 1 2758 allocate(sst_lu_p(klon_ omp))2759 allocate(pct_tmp_p(klon_ omp,nbsrf))2758 allocate(sst_lu_p(klon_loc)) 2759 allocate(pct_tmp_p(klon_loc,nbsrf)) 2760 2760 endif 2761 2761 … … 2771 2771 ! 2772 2772 !$OMP MASTER 2773 if (.not. allocated(sst_lu_mpi)) allocate(sst_lu_mpi(klon_mpi)) 2774 if (.not. allocated(pct_tmp_mpi)) allocate(pct_tmp_mpi(klon_mpi,nbsrf)) 2775 2776 if (phy_rank==0) then 2773 if (is_mpi_root) then 2777 2774 2778 2775 fich = trim(fich) … … 2787 2784 start(1) = 1 2788 2785 start(2) = jour 2789 epais(1) = klon 2786 epais(1) = klon_glo 2790 2787 epais(2) = 1 2791 2788 ! … … 2881 2878 ! 2882 2879 pct_tmp = 0.0 2883 do ii = 1, klon 2880 do ii = 1, klon_glo 2884 2881 pct_tmp(ii,nint(nat_lu(ii)) + 1) = 1. 2885 2882 enddo … … 2915 2912 ! 2916 2913 ierr = NF_CLOSE(nid) 2917 endif ! phyrank 2918 ! 2919 ! Recopie des variables dans les champs de sortie 2920 ! 2921 call ScatterField(sst_lu,sst_lu_mpi,1) 2922 call ScatterField(pct_tmp(:,is_oce),pct_tmp_mpi(:,is_oce),1) 2923 call ScatterField(pct_tmp(:,is_sic),pct_tmp_mpi(:,is_sic),1) 2914 endif ! is_mpi_root 2915 2924 2916 !$OMP END MASTER 2925 2917 !$OMP BARRIER 2926 call Scatter Field_omp(sst_lu_mpi,sst_lu_p,1)2927 call Scatter Field_omp(pct_tmp_mpi(:,is_oce),pct_tmp_p(:,is_oce),1)2928 call Scatter Field_omp(pct_tmp_mpi(:,is_sic),pct_tmp_p(:,is_sic),1)2918 call Scatter(sst_lu,sst_lu_p) 2919 call Scatter(pct_tmp(:,is_oce),pct_tmp_p(:,is_oce)) 2920 call Scatter(pct_tmp(:,is_sic),pct_tmp_p(:,is_sic)) 2929 2921 deja_lu = .true. 2930 2922 jour_lu = jour 2931 2923 endif 2924 2925 ! 2926 ! Recopie des variables dans les champs de sortie 2927 ! 2932 2928 2933 2929 lmt_sst_p = 999999999. … … 2937 2933 enddo 2938 2934 2939 do ii=1,klon 22935 do ii=1,klon_loc 2940 2936 pctsrf_new_p(ii,is_oce)=pct_tmp_p(ii,is_oce) 2941 2937 pctsrf_new_p(ii,is_sic)=pct_tmp_p(ii,is_sic) … … 2949 2945 ! 2950 2946 SUBROUTINE interfsur_lim(itime, dtime, jour, & 2951 & klon _xx, nisurf, knon, knindex, &2947 & klon, nisurf, knon, knindex, & 2952 2948 & debut, & 2953 2949 & lmt_alb_p, lmt_rug_p) 2954 2950 2955 USE dimphy,klon=>klon2,klon2=>klon 2956 2951 USE mod_grid_phy_lmdz 2952 USE mod_phys_lmdz_para 2953 2957 2954 ! Cette routine sert d'interface entre le modele atmospherique et un fichier 2958 2955 ! de conditions aux limites … … 2984 2981 integer, intent(IN) :: nisurf 2985 2982 integer, intent(IN) :: knon 2986 integer, intent(IN) :: klon _xx2987 integer, dimension(klon 2), intent(in) :: knindex2983 integer, intent(IN) :: klon 2984 integer, dimension(klon_loc), intent(in) :: knindex 2988 2985 logical, intent(IN) :: debut 2989 2986 2990 2987 ! Parametres de sortie 2991 real, intent(out), dimension(klon 2) :: lmt_alb_p2992 real, intent(out), dimension(klon 2) :: lmt_rug_p2988 real, intent(out), dimension(klon_loc) :: lmt_alb_p 2989 real, intent(out), dimension(klon_loc) :: lmt_rug_p 2993 2990 2994 2991 ! real, dimension(klon) :: lmt_alb … … 3017 3014 real, allocatable , save, dimension(:) :: alb_lu_p, rug_lu_p 3018 3015 !$OMP THREADPRIVATE(alb_lu_p, rug_lu_p) 3019 real, allocatable , save, dimension(:) :: alb_lu_mpi, rug_lu_mpi 3020 real, dimension(klon) :: alb_lu, rug_lu 3016 real, dimension(klon_glo) :: alb_lu, rug_lu 3021 3017 ! 3022 3018 ! quelques variables pour netcdf … … 3034 3030 lmt_pas = nint(86400./dtime * 1.0) ! pour une lecture une fois par jour 3035 3031 jour_lu_sur = jour - 1 3036 allocate(alb_lu_p(klon_ omp))3037 allocate(rug_lu_p(klon_ omp))3032 allocate(alb_lu_p(klon_loc)) 3033 allocate(rug_lu_p(klon_loc)) 3038 3034 endif 3039 3035 … … 3048 3044 3049 3045 !$OMP MASTER 3050 if (.not. allocated(alb_lu_mpi)) allocate(alb_lu_mpi(klon_mpi)) 3051 if (.not. allocated(rug_lu_mpi)) allocate(rug_lu_mpi(klon_mpi)) 3052 if (phy_rank==0) then 3046 if (is_mpi_root) then 3053 3047 ! 3054 3048 ! Ouverture du fichier … … 3067 3061 start(1) = 1 3068 3062 start(2) = jour 3069 epais(1) = klon 3063 epais(1) = klon_glo 3070 3064 epais(2) = 1 3071 3065 ! … … 3109 3103 3110 3104 3111 endif !! phyrank 3112 3113 call ScatterField(alb_lu,alb_lu_mpi,1) 3114 call ScatterField(rug_lu,rug_lu_mpi,1) 3105 endif !! is_mpi_root 3115 3106 !$OMP END MASTER 3116 !$OMP BARRIER 3117 3118 call ScatterField_omp(alb_lu_mpi,alb_lu_p,1) 3119 call ScatterField_omp(rug_lu_mpi,rug_lu_p,1) 3107 3108 call Scatter(alb_lu,alb_lu_p) 3109 call Scatter(rug_lu,rug_lu_p) 3120 3110 3121 3111 deja_lu_sur = .true. … … 3151 3141 & petAcoef, peqAcoef, petBcoef, peqBcoef, & 3152 3142 & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 3153 USE dimphy,only : omp_rank 3143 3154 3144 ! Cette routine calcule les fluxs en h et q a l'interface et eventuellement 3155 3145 ! une temperature de surface (au cas ou ok_veget = false) … … 3385 3375 ! 3386 3376 SUBROUTINE gath2cpl(champ_in, champ_out, klon, knon, iim, jmp1, knindex) 3387 use dimphy, only: liste_i,liste_j,jjphy_begin,jjphy_nb,phy_rank,phy_size3377 USE mod_phys_lmdz_para 3388 3378 implicit none 3389 3379 … … 3404 3394 ! input 3405 3395 integer :: klon, knon, iim, jmp1 3406 real, dimension(klon ) :: champ_in3407 integer, dimension(klon ) :: knindex3396 real, dimension(klon_loc) :: champ_in 3397 integer, dimension(klon_loc) :: knindex 3408 3398 ! output 3409 3399 real, dimension(iim,jmp1) :: champ_out 3410 3400 ! local 3411 3401 integer :: i, ig, j 3412 real, dimension(klon ) :: tamp3402 real, dimension(klon_loc) :: tamp 3413 3403 3414 3404 tamp = 0. … … 3418 3408 enddo 3419 3409 3420 !ym ig = 1 3421 !ym champ_out(:,1) = tamp(ig) 3422 !ym do j = 2, jjm 3423 !ym do i = 1, iim 3424 !ym ig = ig + 1 3425 !ym champ_out(i,j) = tamp(ig) 3426 !ym enddo 3427 !ym enddo 3428 !ym ig = ig + 1 3429 !ym champ_out(:,jjm+1) = tamp(ig) 3430 3431 do ig=1,klon 3432 i=liste_i(ig) 3433 j=liste_j(ig)-jjphy_begin+1 3434 champ_out(i,j)=tamp(ig) 3435 enddo 3436 3437 if (phy_rank==0) champ_out(:,1)=tamp(1) 3438 if (phy_rank==phy_size-1) champ_out(:,jjphy_nb)=tamp(klon) 3410 3411 CALL Grid1Dto2D_mpi(tamp,champ_out) 3439 3412 3440 3413 END SUBROUTINE gath2cpl … … 3443 3416 ! 3444 3417 SUBROUTINE cpl2gath(champ_in, champ_out, klon, knon, iim, jmp1, knindex) 3445 use dimphy, only : liste_i, liste_j, jjphy_begin3418 USE mod_phys_lmdz_para 3446 3419 implicit none 3447 3420 ! Cette routine ecrit un champ 'gathered' sur la grille 2D pour le passer … … 3462 3435 integer :: klon, knon, iim, jmp1 3463 3436 real, dimension(iim,jmp1) :: champ_in 3464 integer, dimension(klon ) :: knindex3437 integer, dimension(klon_loc) :: knindex 3465 3438 ! output 3466 real, dimension(klon ) :: champ_out3439 real, dimension(klon_loc) :: champ_out 3467 3440 ! local 3468 3441 integer :: i, ig, j 3469 real, dimension(klon ) :: tamp3442 real, dimension(klon_loc) :: tamp 3470 3443 logical ,save :: check = .false. 3471 3444 !$OMP THREADPRIVATE(check) 3472 3445 3473 !ym ig = 1 3474 !ym tamp(ig) = champ_in(1,1) 3475 !ym do j = 2, jjm 3476 !ym do i = 1, iim 3477 !ym ig = ig + 1 3478 !ym tamp(ig) = champ_in(i,j) 3479 !ym enddo 3480 !ym enddo 3481 !ym ig = ig + 1 3482 !ym tamp(ig) = champ_in(1,jjm+1) 3483 3484 do ig=1,klon 3485 i=liste_i(ig) 3486 j=liste_j(ig)-jjphy_begin+1 3487 tamp(ig)=champ_in(i,j) 3488 enddo 3446 CALL Grid2Dto1D_mpi(champ_in,tamp) 3489 3447 3490 3448 do i = 1, knon -
LMDZ4/trunk/libf/phylmd/iophy.F90
r766 r776 12 12 MODULE PROCEDURE histwrite2d_phy,histwrite3d_phy 13 13 END INTERFACE 14 15 REAL,private,allocatable,save,dimension(:,:) :: buffer_omp16 14 17 15 contains 18 16 19 17 subroutine init_iophy(lat,lon) 20 use dimphy 18 USE dimphy 19 USE mod_phys_lmdz_para 21 20 use ioipsl 22 21 implicit none … … 38 37 allocate(io_lon(iim)) 39 38 io_lon(:)=lon(:) 40 allocate(tmp_tab2d(iim,jj phy_nb))41 allocate(tmp_tab3d(iim,jj phy_nb,klev))42 allocate(ndex2d(iim*jj phy_nb))43 allocate(ndex3d(iim*jj phy_nb*klev))39 allocate(tmp_tab2d(iim,jj_nb)) 40 allocate(tmp_tab3d(iim,jj_nb,klev)) 41 allocate(ndex2d(iim*jj_nb)) 42 allocate(ndex3d(iim*jj_nb*klev)) 44 43 ndex2d(:)=0 45 44 ndex3d(:)=0 46 allocate(buffer_omp(klon_mpi,klev))47 45 48 46 ddid=(/ 1,2 /) 49 47 dsg=(/ iim, jjm+1 /) 50 dsl=(/ iim, jj phy_nb /)51 dpf=(/ 1,jj phy_begin /)52 dpl=(/ iim, jj phy_end /)53 dhs=(/ ii phy_begin-1,0 /)54 if ( phy_rank==phy_size-1) then48 dsl=(/ iim, jj_nb /) 49 dpf=(/ 1,jj_begin /) 50 dpl=(/ iim, jj_end /) 51 dhs=(/ ii_begin-1,0 /) 52 if (mpi_rank==mpi_size-1) then 55 53 dhe=(/0,0/) 56 54 else 57 dhe=(/ iim-ii phy_end,0 /)55 dhe=(/ iim-ii_end,0 /) 58 56 endif 59 57 60 call flio_dom_set( phy_size,phy_rank,ddid,dsg,dsl,dpf,dpl,dhs,dhe, &58 call flio_dom_set(mpi_size,mpi_rank,ddid,dsg,dsl,dpf,dpl,dhs,dhe, & 61 59 'APPLE',phys_domain_id) 62 60 63 61 !$OMP END MASTER 64 !$OMP FLUSH(buffer_omp)65 62 66 63 end subroutine init_iophy 67 64 68 65 subroutine histbeg_phy(name,itau0,zjulian,dtime,nhori,nid_day) 69 use dimphy 66 USE dimphy 67 USE mod_phys_lmdz_para 70 68 use ioipsl 71 69 use write_field … … 81 79 82 80 !$OMP MASTER 83 if ( monocpu) then84 call histbeg(name,iim,io_lon, jj phy_nb,io_lat(jjphy_begin:jjphy_end), &85 1,iim,1,jj phy_nb,itau0, zjulian, dtime, nhori, nid_day)81 if (is_sequential) then 82 call histbeg(name,iim,io_lon, jj_nb,io_lat(jj_begin:jj_end), & 83 1,iim,1,jj_nb,itau0, zjulian, dtime, nhori, nid_day) 86 84 else 87 call histbeg(name,iim,io_lon, jj phy_nb,io_lat(jjphy_begin:jjphy_end), &88 1,iim,1,jj phy_nb,itau0, zjulian, dtime, nhori, nid_day,phys_domain_id)85 call histbeg(name,iim,io_lon, jj_nb,io_lat(jj_begin:jj_end), & 86 1,iim,1,jj_nb,itau0, zjulian, dtime, nhori, nid_day,phys_domain_id) 89 87 endif 90 88 !$OMP END MASTER … … 93 91 94 92 subroutine histwrite2d_phy(nid,name,itau,field) 95 use dimphy 96 use ioipsl 93 USE dimphy 94 USE mod_phys_lmdz_para 95 USE ioipsl 97 96 implicit none 98 97 include 'dimensions90.h' … … 102 101 integer, intent(in) :: itau 103 102 real,dimension(klon),intent(in) :: field 104 105 CALL GatherField_omp(field,buffer_omp,1) 103 104 REAL,dimension(klon_mpi) :: buffer_omp 105 106 CALL Gather_omp(field,buffer_omp) 106 107 !$OMP MASTER 107 CALL phy2dyn(buffer_omp,tmp_tab2d,1)108 CALL histwrite(nid,name,itau,tmp_tab2d,iim*jj phy_nb,ndex2d)108 CALL grid1Dto2D_mpi(buffer_omp,tmp_tab2d) 109 CALL histwrite(nid,name,itau,tmp_tab2d,iim*jj_nb,ndex2d) 109 110 !$OMP END MASTER 110 111 end subroutine histwrite2d_phy 111 112 112 113 subroutine histwrite3d_phy(nid,name,itau,field) 113 use dimphy 114 USE dimphy 115 USE mod_phys_lmdz_para 116 114 117 use ioipsl 115 118 implicit none … … 120 123 integer, intent(in) :: itau 121 124 real,dimension(klon,klev),intent(in) :: field 125 126 REAL,dimension(klon_mpi,klev) :: buffer_omp 122 127 123 CALL Gather Field_omp(field,buffer_omp,klev)128 CALL Gather_omp(field,buffer_omp) 124 129 !$OMP MASTER 125 CALL phy2dyn(buffer_omp,tmp_tab3d,klev)126 CALL histwrite(nid,name,itau,tmp_tab3d,iim*jj phy_nb*klev,ndex3d)130 CALL grid1Dto2D_mpi(buffer_omp,tmp_tab3d) 131 CALL histwrite(nid,name,itau,tmp_tab3d,iim*jj_nb*klev,ndex3d) 127 132 !$OMP END MASTER 128 133 end subroutine histwrite3d_phy 129 134 130 135 131 subroutine phy2dyn(field_phy,field_dyn,nlev)132 use dimphy 133 implicit none134 include 'dimensions90.h'135 136 real,dimension(klon_mpi,nlev),intent(in) :: field_phy137 real,dimension(iim,jjphy_nb,nlev),intent(out) :: field_dyn138 integer,intent(in) :: nlev139 140 integer :: next141 integer :: j,l142 143 do l=1,nlev144 145 if (jjphy_begin==jjphy_end) then146 field_dyn(:,1,l)=0.147 field_dyn(iiphy_begin:iiphy_end,1,l)=field_phy(1:klon_mpi,l)148 else149 150 if (jjphy_begin==1) then151 field_dyn(:,1,l)=field_phy(1,l)152 next=2153 else154 field_dyn(:,1,l)=0.155 next=iim-iiphy_begin+2156 field_dyn(iiphy_begin:iim,1,l)=field_phy(1:next-1,l)157 endif158 159 do j=2,jjphy_nb-1160 field_dyn(:,j,l)=field_phy(next:next+iim-1,l)161 next=next+iim162 enddo163 164 if (jjphy_end==jjm+1) then165 field_dyn(:,jjphy_nb,l)=field_phy(klon_mpi,l)166 else167 field_dyn(:,jjphy_nb,l)=0.168 field_dyn(1:iiphy_end,jjphy_nb,l)=field_phy(next:next+iiphy_end-1,l)169 endif170 171 endif172 173 enddo174 175 end subroutine phy2dyn136 ! subroutine phy2dyn(field_phy,field_dyn,nlev) 137 ! USE dimphy_old 138 ! implicit none 139 ! include 'dimensions90.h' 140 ! 141 ! real,dimension(klon_mpi,nlev),intent(in) :: field_phy 142 ! real,dimension(iim,jjphy_nb,nlev),intent(out) :: field_dyn 143 ! integer,intent(in) :: nlev 144 ! 145 ! integer :: next 146 ! integer :: j,l 147 ! 148 ! do l=1,nlev 149 ! 150 ! if (jjphy_begin==jjphy_end) then 151 ! field_dyn(:,1,l)=0. 152 ! field_dyn(iiphy_begin:iiphy_end,1,l)=field_phy(1:klon_mpi,l) 153 ! else 154 ! 155 ! if (jjphy_begin==1) then 156 ! field_dyn(:,1,l)=field_phy(1,l) 157 ! next=2 158 ! else 159 ! field_dyn(:,1,l)=0. 160 ! next=iim-iiphy_begin+2 161 ! field_dyn(iiphy_begin:iim,1,l)=field_phy(1:next-1,l) 162 ! endif 163 ! 164 ! do j=2,jjphy_nb-1 165 ! field_dyn(:,j,l)=field_phy(next:next+iim-1,l) 166 ! next=next+iim 167 ! enddo 168 ! 169 ! if (jjphy_end==jjm+1) then 170 ! field_dyn(:,jjphy_nb,l)=field_phy(klon_mpi,l) 171 ! else 172 ! field_dyn(:,jjphy_nb,l)=0. 173 ! field_dyn(1:iiphy_end,jjphy_nb,l)=field_phy(next:next+iiphy_end-1,l) 174 ! endif 175 ! 176 ! endif 177 ! 178 ! enddo 179 ! 180 ! end subroutine phy2dyn 176 181 177 182 -
LMDZ4/trunk/libf/phylmd/isccp_cloud_types.F
r524 r776 32 32 &) 33 33 34 !$Id$35 34 36 35 ! Copyright Steve Klein and Mark Webb 2002 - all rights reserved. -
LMDZ4/trunk/libf/phylmd/moy_undefSTD.F
r766 r776 1 ! 2 ! $Header$ 3 ! 1 4 SUBROUTINE moy_undefSTD(nlevSTD,itap, 2 5 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, -
LMDZ4/trunk/libf/phylmd/moyglo_aire.F
r766 r776 1 ! 2 ! $Header$ 3 ! 1 4 SUBROUTINE moyglo_pondaire(nhori, champ, aire, 2 5 . ok_msk, msk, moyglo) -
LMDZ4/trunk/libf/phylmd/oasis.psmile
r766 r776 94 94 ! Here we go: psmile initialisation 95 95 ! 96 IF ( monocpu) THEN96 IF (is_sequential) THEN 97 97 call prism_init_comp_proto (comp_id, clmodnam, ierror) 98 98 … … 116 116 !ym ig_paral(3) = im * jm 117 117 ig_paral(1) = 1 ! apple partition for // 118 ig_paral(2) = (jj phy_begin-1)*im+iiphy_begin-1119 ig_paral(3) = (jj phy_end*im+iiphy_end)-(jjphy_begin*im+iiphy_begin)+1120 if ( phy_rank==phy_size-1) ig_paral(3)=ig_paral(3)+im-1121 print *, phy_rank,'ig_paral--->',ig_paral(2),ig_paral(3)118 ig_paral(2) = (jj_begin-1)*im+ii_begin-1 119 ig_paral(3) = (jj_end*im+ii_end)-(jj_begin*im+ii_begin)+1 120 if (mpi_rank==mpi_size-1) ig_paral(3)=ig_paral(3)+im-1 121 print *,mpi_rank,'ig_paral--->',ig_paral(2),ig_paral(3) 122 122 123 123 ierror=PRISM_Ok … … 222 222 use mod_prism_proto 223 223 use mod_prism_get_proto 224 use dimphy 224 USE dimphy 225 USE mod_phys_lmdz_para 225 226 IMPLICIT none 226 227 … … 250 251 CALL flush (nuout) 251 252 252 istart=ii phy_begin253 if ( phy_rank==phy_size-1) then254 iend=(jj phy_end-jjphy_begin)*im+im253 istart=ii_begin 254 if (is_south_pole) then 255 iend=(jj_end-jj_begin)*im+im 255 256 else 256 iend=(jj phy_end-jjphy_begin)*im+iiphy_end257 iend=(jj_end-jj_begin)*im+ii_end 257 258 endif 258 259 … … 313 314 use mod_prism_proto 314 315 use mod_prism_put_proto 315 use dimphy 316 USE dimphy 317 USE mod_phys_lmdz_para 316 318 use write_field_phy 317 319 IMPLICIT NONE … … 345 347 WRITE(nuout,*) 346 348 347 istart=ii phy_begin348 if ( phy_rank==phy_size-1) then349 iend=(jj phy_end-jjphy_begin)*im+im349 istart=ii_begin 350 if (is_south_pole) then 351 iend=(jj_end-jj_begin)*im+im 350 352 else 351 iend=(jj phy_end-jjphy_begin)*im+iiphy_end353 iend=(jj_end-jj_begin)*im+ii_end 352 354 endif 353 355 … … 355 357 wstart=istart 356 358 wend=iend 357 IF ( phy_rank==0) wstart=istart+im-1358 IF ( phy_rank==phy_size-1) wend=iend-im+1359 IF (is_north_pole) wstart=istart+im-1 360 IF (is_south_pole) wend=iend-im+1 359 361 360 362 CALL writeField_phy("fsolice",fsolice(wstart:wend),1) … … 533 535 534 536 if (last) then 535 IF ( monocpu) THEN537 IF (is_sequential) THEN 536 538 call prism_terminate_proto(ierror) 537 539 IF (ierror .ne. PRISM_Ok) THEN -
LMDZ4/trunk/libf/phylmd/orografi.F
r766 r776 1481 1481 C* 0.2 LOCAL ARRAYS 1482 1482 C ------------ 1483 logical lifthigh , ll11483 logical lifthigh 1484 1484 cym integer klevm1, jl, ilevh, jk 1485 1485 integer jl, ilevh, jk … … 1711 1711 SUBROUTINE SUGWD(NLON,NLEV,paprs,pplay) 1712 1712 USE dimphy 1713 USE mod_phys_lmdz_para 1714 USE mod_grid_phy_lmdz 1713 1715 c USE parallel 1714 1716 C … … 1764 1766 REAL pplay(nlon,nlev) 1765 1767 real zpr,zstra,zsigt,zpm1r 1766 REAL,SAVE,ALLOCATABLE :: pplay_mpi(:,:) 1767 REAL,SAVE,ALLOCATABLE :: paprs_mpi(:,:) 1768 REAL,SAVE,ALLOCATABLE :: pplay_glo(:,:) 1769 REAL,SAVE,ALLOCATABLE :: paprs_glo(:,:) 1768 REAL :: pplay_glo(klon_glo,nlev) 1769 REAL :: paprs_glo(klon_glo,nlev+1) 1770 1770 1771 1771 C … … 1784 1784 cold ZSIGT=0.85 1785 1785 C 1786 c$OMP MASTER1787 ALLOCATE(pplay_mpi(klon_mpi,nlev))1788 ALLOCATE(paprs_mpi(klon_mpi,nlev+1))1789 ALLOCATE(pplay_glo(klon2,nlev))1790 ALLOCATE(paprs_glo(klon2,nlev+1))1791 c$OMP END MASTER1792 c$OMP BARRIER1793 1794 CALL GatherField_omp(pplay,pplay_mpi,nlev)1795 CALL GatherField_omp(paprs,paprs_mpi,nlev+1)1796 1797 c$OMP MASTER1798 CALL AllGatherField(pplay_mpi,pplay_glo,nlev)1799 CALL AllGatherField(paprs_mpi,paprs_glo,nlev+1)1800 c$OMP END MASTER1801 c$OMP BARRIER1802 1786 1787 CALL gather(pplay,pplay_glo) 1788 CALL bcast(pplay_glo) 1789 CALL gather(paprs,paprs_glo) 1790 CALL bcast(paprs_glo) 1791 1792 1803 1793 DO 110 JK=1,NLEV 1804 ZPM1R=pplay_glo(klon 2/2,jk)/paprs_glo(klon2/2,1)1794 ZPM1R=pplay_glo(klon_glo/2,jk)/paprs_glo(klon_glo/2,1) 1805 1795 IF(ZPM1R.GE.ZSIGT)THEN 1806 1796 nktopg=JK 1807 1797 ENDIF 1808 ZPM1R=pplay_glo(klon 2/2,jk)/paprs_glo(klon2/2,1)1798 ZPM1R=pplay_glo(klon_glo/2,jk)/paprs_glo(klon_glo/2,1) 1809 1799 IF(ZPM1R.GE.ZSTRA)THEN 1810 1800 NSTRA=JK … … 1812 1802 110 CONTINUE 1813 1803 1814 c$OMP BARRIER1815 c$OMP MASTER1816 DEALLOCATE(pplay_mpi)1817 DEALLOCATE(paprs_mpi)1818 DEALLOCATE(pplay_glo)1819 DEALLOCATE(paprs_glo)1820 c$OMP END MASTER1821 c$OMP BARRIER1822 1804 1823 1805 c -
LMDZ4/trunk/libf/phylmd/phyetat0.F
r766 r776 15 15 . t_ancien_p,q_ancien_p,ancien_ok_p, rnebcon_p, ratqs_p, 16 16 . clwcon_p,run_off_lic_0_p) 17 USE dimphy,klon=>klon2,klon2=>klon,zmasq_p=>zmasq 17 USE dimphy 18 USE mod_grid_phy_lmdz 19 USE mod_phys_lmdz_para 18 20 USE iophy 19 21 IMPLICIT none … … 33 35 REAL dtime 34 36 INTEGER radpas 37 REAL rlat_p(klon), rlon_p(klon) 35 38 REAL rlat_p(klon2), rlon_p(klon2) 36 39 REAL co2_ppm_etat0 37 40 REAL solaire_etat0 38 REAL tsol_p(klon 2,nbsrf)39 REAL tsoil_p(klon 2,nsoilmx,nbsrf)40 REAL tslab_p(klon 2), seaice_p(klon2)41 REAL qsurf_p(klon 2,nbsrf)42 REAL qsol_p(klon 2)43 REAL snow_p(klon 2,nbsrf)44 REAL albe_p(klon 2,nbsrf)41 REAL tsol_p(klon,nbsrf) 42 REAL tsoil_p(klon,nsoilmx,nbsrf) 43 REAL tslab_p(klon), seaice_p(klon) 44 REAL qsurf_p(klon,nbsrf) 45 REAL qsol_p(klon) 46 REAL snow_p(klon,nbsrf) 47 REAL albe_p(klon,nbsrf) 45 48 cIM BEG alblw 46 REAL alblw_p(klon 2,nbsrf)49 REAL alblw_p(klon,nbsrf) 47 50 cIM END alblw 48 REAL evap_p(klon 2,nbsrf)49 REAL radsol_p(klon 2)50 REAL rain_fall_p(klon 2)51 REAL snow_fall_p(klon 2)52 REAL sollw_p(klon 2)53 real solsw_p(klon 2)54 real fder_p(klon 2)55 REAL frugs_p(klon 2,nbsrf)56 REAL agesno_p(klon 2,nbsrf)57 REAL zmea_p(klon 2)58 REAL zstd_p(klon 2)59 REAL zsig_p(klon 2)60 REAL zgam_p(klon 2)61 REAL zthe_p(klon 2)62 REAL zpic_p(klon 2)63 REAL zval_p(klon 2)64 REAL rugsrel_p(klon 2)65 REAL pctsrf_p(klon 2, nbsrf)66 REAL run_off_lic_0_p(klon 2)51 REAL evap_p(klon,nbsrf) 52 REAL radsol_p(klon) 53 REAL rain_fall_p(klon) 54 REAL snow_fall_p(klon) 55 REAL sollw_p(klon) 56 real solsw_p(klon) 57 real fder_p(klon) 58 REAL frugs_p(klon,nbsrf) 59 REAL agesno_p(klon,nbsrf) 60 REAL zmea_p(klon) 61 REAL zstd_p(klon) 62 REAL zsig_p(klon) 63 REAL zgam_p(klon) 64 REAL zthe_p(klon) 65 REAL zpic_p(klon) 66 REAL zval_p(klon) 67 REAL rugsrel_p(klon) 68 REAL pctsrf_p(klon, nbsrf) 69 REAL run_off_lic_0_p(klon) 67 70 68 REAL t_ancien_p(klon 2,klev), q_ancien_p(klon2,klev)69 real rnebcon_p(klon 2,klev),clwcon_p(klon2,klev)70 real ratqs_p(klon 2,klev)71 REAL t_ancien_p(klon,klev), q_ancien_p(klon,klev) 72 real rnebcon_p(klon,klev),clwcon_p(klon,klev) 73 real ratqs_p(klon,klev) 71 74 LOGICAL,SAVE :: ancien_ok 72 75 LOGICAL :: ancien_ok_p 73 76 74 REAL zmasq (klon)75 REAL rlat(klon ), rlon(klon)76 REAL tsol(klon ,nbsrf)77 REAL tsoil(klon ,nsoilmx,nbsrf)77 REAL zmasq_glo(klon_glo) 78 REAL rlat(klon_glo), rlon(klon_glo) 79 REAL tsol(klon_glo,nbsrf) 80 REAL tsoil(klon_glo,nsoilmx,nbsrf) 78 81 cIM "slab" ocean 79 REAL tslab(klon), seaice(klon) 80 REAL qsurf(klon,nbsrf) 81 REAL qsol(klon) 82 REAL snow(klon,nbsrf) 83 REAL albe(klon,nbsrf) 84 REAL alblw(klon,nbsrf) 85 REAL evap(klon,nbsrf) 86 REAL radsol(klon) 87 REAL rain_fall(klon) 88 REAL snow_fall(klon) 89 REAL sollw(klon) 90 real solsw(klon) 91 real fder(klon) 92 REAL frugs(klon,nbsrf) 93 REAL agesno(klon,nbsrf) 94 REAL zmea(klon) 95 REAL zstd(klon) 96 REAL zsig(klon) 97 REAL zgam(klon) 98 REAL zthe(klon) 99 REAL zpic(klon) 100 REAL zval(klon) 101 REAL rugsrel(klon) 102 REAL pctsrf(klon, nbsrf) 103 REAL fractint(klon) 104 REAL run_off_lic_0(klon) 105 REAL t_ancien(klon,klev) 106 REAL q_ancien(klon,klev) 107 real rnebcon(klon,klev) 108 real clwcon(klon,klev) 109 real ratqs(klon,klev) 110 111 REAL,ALLOCATABLE,SAVE :: zmasq_mpi(:) 112 REAL,ALLOCATABLE,SAVE :: rlat_mpi(:), rlon_mpi(:) 113 REAL,ALLOCATABLE,SAVE :: tsol_mpi(:,:) 114 REAL,ALLOCATABLE,SAVE :: tsoil_mpi(:,:,:) 115 REAL,ALLOCATABLE,SAVE :: tslab_mpi(:) 116 REAL,ALLOCATABLE,SAVE :: seaice_mpi(:) 117 REAL,ALLOCATABLE,SAVE :: qsurf_mpi(:,:) 118 REAL,ALLOCATABLE,SAVE :: qsol_mpi(:) 119 REAL,ALLOCATABLE,SAVE :: snow_mpi(:,:) 120 REAL,ALLOCATABLE,SAVE :: albe_mpi(:,:) 121 REAL,ALLOCATABLE,SAVE :: alblw_mpi(:,:) 122 REAL,ALLOCATABLE,SAVE :: evap_mpi(:,:) 123 REAL,ALLOCATABLE,SAVE :: radsol_mpi(:) 124 REAL,ALLOCATABLE,SAVE :: rain_fall_mpi(:) 125 REAL,ALLOCATABLE,SAVE :: snow_fall_mpi(:) 126 REAL,ALLOCATABLE,SAVE :: sollw_mpi(:) 127 real,ALLOCATABLE,SAVE :: solsw_mpi(:) 128 real,ALLOCATABLE,SAVE :: fder_mpi(:) 129 REAL,ALLOCATABLE,SAVE :: frugs_mpi(:,:) 130 REAL,ALLOCATABLE,SAVE :: agesno_mpi(:,:) 131 REAL,ALLOCATABLE,SAVE :: zmea_mpi(:) 132 REAL,ALLOCATABLE,SAVE :: zstd_mpi(:) 133 REAL,ALLOCATABLE,SAVE :: zsig_mpi(:) 134 REAL,ALLOCATABLE,SAVE :: zgam_mpi(:) 135 REAL,ALLOCATABLE,SAVE :: zthe_mpi(:) 136 REAL,ALLOCATABLE,SAVE :: zpic_mpi(:) 137 REAL,ALLOCATABLE,SAVE :: zval_mpi(:) 138 REAL,ALLOCATABLE,SAVE :: rugsrel_mpi(:) 139 REAL,ALLOCATABLE,SAVE :: pctsrf_mpi(:, :) 140 REAL,ALLOCATABLE,SAVE :: run_off_lic_0_mpi(:) 141 REAL,ALLOCATABLE,SAVE :: t_ancien_mpi(:,:) 142 REAL,ALLOCATABLE,SAVE :: q_ancien_mpi(:,:) 143 real,ALLOCATABLE,SAVE :: rnebcon_mpi(:,:) 144 real,ALLOCATABLE,SAVE :: clwcon_mpi(:,:) 145 real,ALLOCATABLE,SAVE :: ratqs_mpi(:,:) 146 82 REAL tslab(klon_glo), seaice(klon_glo) 83 REAL qsurf(klon_glo,nbsrf) 84 REAL qsol(klon_glo) 85 REAL snow(klon_glo,nbsrf) 86 REAL albe(klon_glo,nbsrf) 87 REAL alblw(klon_glo,nbsrf) 88 REAL evap(klon_glo,nbsrf) 89 REAL radsol(klon_glo) 90 REAL rain_fall(klon_glo) 91 REAL snow_fall(klon_glo) 92 REAL sollw(klon_glo) 93 real solsw(klon_glo) 94 real fder(klon_glo) 95 REAL frugs(klon_glo,nbsrf) 96 REAL agesno(klon_glo,nbsrf) 97 REAL zmea(klon_glo) 98 REAL zstd(klon_glo) 99 REAL zsig(klon_glo) 100 REAL zgam(klon_glo) 101 REAL zthe(klon_glo) 102 REAL zpic(klon_glo) 103 REAL zval(klon_glo) 104 REAL rugsrel(klon_glo) 105 REAL pctsrf(klon_glo, nbsrf) 106 REAL fractint(klon_glo) 107 REAL run_off_lic_0(klon_glo) 108 REAL t_ancien(klon_glo,klev) 109 REAL q_ancien(klon_glo,klev) 110 real rnebcon(klon_glo,klev) 111 real clwcon(klon_glo,klev) 112 real ratqs(klon_glo,klev) 147 113 148 114 CHARACTER*6 ocean … … 172 138 173 139 c$OMP MASTER 174 print*,'fichnom ',fichnom 175 ierr = NF_OPEN (fichnom, NF_NOWRITE,nid) 176 IF (ierr.NE.NF_NOERR) THEN 177 write(6,*)' Pb d''ouverture du fichier '//fichnom 178 write(6,*)' ierr = ', ierr 179 CALL ABORT 140 IF (is_mpi_root) THEN 141 print*,'fichnom ',fichnom 142 ierr = NF_OPEN (fichnom, NF_NOWRITE,nid) 143 IF (ierr.NE.NF_NOERR) THEN 144 write(6,*)' Pb d''ouverture du fichier '//fichnom 145 write(6,*)' ierr = ', ierr 146 CALL ABORT 147 ENDIF 180 148 ENDIF 181 149 c$OMP END MASTER … … 184 152 c 185 153 c$OMP MASTER 154 IF (is_mpi_root) THEN 155 186 156 ierr = NF_INQ_VARID (nid, "controle", nvarid) 187 157 IF (ierr.NE.NF_NOERR) THEN … … 198 168 CALL abort 199 169 ENDIF 170 ENDIF 171 200 172 c$OMP END MASTER 201 c$OMP BARRIER202 173 203 DO i = 1, length 204 tab_cntrl( i ) = tab_cntrl_omp( i ) 205 ENDDO 174 CALL bcast(tab_cntrl) 206 175 207 176 c … … 281 250 c 282 251 c$OMP MASTER 252 IF (is_mpi_root) THEN 253 283 254 ierr = NF_INQ_VARID (nid, "latitude", nvarid) 284 255 IF (ierr.NE.NF_NOERR) THEN … … 321 292 IF (ierr .EQ. NF_NOERR) THEN 322 293 #ifdef NC_DOUBLE 323 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, zmasq )324 #else 325 ierr = NF_GET_VAR_REAL(nid, nvarid, zmasq )294 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, zmasq_glo) 295 #else 296 ierr = NF_GET_VAR_REAL(nid, nvarid, zmasq_glo) 326 297 #endif 327 298 IF (ierr.NE.NF_NOERR) THEN … … 348 319 IF (ierr .EQ. NF_NOERR) THEN 349 320 #ifdef NC_DOUBLE 350 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_ter)) 351 #else 352 ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon,is_ter)) 321 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, 322 . pctsrf(1 : klon_glo,is_ter)) 323 #else 324 ierr = NF_GET_VAR_REAL(nid, nvarid, 325 . pctsrf(1 : klon_glo,is_ter)) 353 326 #endif 354 327 IF (ierr.NE.NF_NOERR) THEN … … 367 340 IF (ierr .EQ. NF_NOERR) THEN 368 341 #ifdef NC_DOUBLE 369 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_lic)) 370 #else 371 ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon,is_lic)) 342 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, 343 . pctsrf(1 : klon_glo,is_lic)) 344 #else 345 ierr = NF_GET_VAR_REAL(nid, nvarid, 346 . pctsrf(1 : klon_glo,is_lic)) 372 347 #endif 373 348 IF (ierr.NE.NF_NOERR) THEN … … 385 360 IF (ierr .EQ. NF_NOERR) THEN 386 361 #ifdef NC_DOUBLE 387 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_oce)) 388 #else 389 ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon,is_oce)) 362 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, 363 . pctsrf(1 : klon_glo,is_oce)) 364 #else 365 ierr = NF_GET_VAR_REAL(nid, nvarid, 366 . pctsrf(1 : klon_glo,is_oce)) 390 367 #endif 391 368 IF (ierr.NE.NF_NOERR) THEN … … 404 381 IF (ierr .EQ. NF_NOERR) THEN 405 382 #ifdef NC_DOUBLE 406 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_sic)) 407 #else 408 ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon, is_sic)) 383 ierr = NF_GET_VAR_DOUBLE(nid, nvarid, 384 . pctsrf(1 : klon_glo,is_sic)) 385 #else 386 ierr = NF_GET_VAR_REAL(nid, nvarid, 387 . pctsrf(1 : klon_glo, is_sic)) 409 388 #endif 410 389 IF (ierr.NE.NF_NOERR) THEN … … 420 399 C Verification de l'adequation entre le masque et les sous-surfaces 421 400 C 422 fractint( 1 : klon ) = pctsrf(1 : klon, is_ter)423 $ + pctsrf(1 : klon , is_lic)424 DO i = 1 , klon 425 IF ( abs(fractint(i) - zmasq (i) ) .GT. EPSFRA ) THEN401 fractint( 1 : klon_glo) = pctsrf(1 : klon_glo, is_ter) 402 $ + pctsrf(1 : klon_glo, is_lic) 403 DO i = 1 , klon_glo 404 IF ( abs(fractint(i) - zmasq_glo(i) ) .GT. EPSFRA ) THEN 426 405 WRITE(*,*) 'phyetat0: attention fraction terre pas ', 427 $ 'coherente ', i, zmasq (i), pctsrf(i, is_ter)406 $ 'coherente ', i, zmasq_glo(i), pctsrf(i, is_ter) 428 407 $ ,pctsrf(i, is_lic) 429 408 ENDIF 430 409 END DO 431 fractint (1 : klon ) = pctsrf(1 : klon, is_oce)432 $ + pctsrf(1 : klon , is_sic)433 DO i = 1 , klon 434 IF ( abs( fractint(i) - (1. - zmasq (i))) .GT. EPSFRA ) THEN410 fractint (1 : klon_glo) = pctsrf(1 : klon_glo, is_oce) 411 $ + pctsrf(1 : klon_glo, is_sic) 412 DO i = 1 , klon_glo 413 IF ( abs( fractint(i) - (1. - zmasq_glo(i))) .GT. EPSFRA ) THEN 435 414 WRITE(*,*) 'phyetat0 attention fraction ocean pas ', 436 $ 'coherente ', i, zmasq (i) , pctsrf(i, is_oce)415 $ 'coherente ', i, zmasq_glo(i) , pctsrf(i, is_oce) 437 416 $ ,pctsrf(i, is_sic) 438 417 ENDIF … … 470 449 xmin = 1.0E+20 471 450 xmax = -1.0E+20 472 DO i = 1, klon 451 DO i = 1, klon_glo 473 452 xmin = MIN(tsol(i,nsrf),xmin) 474 453 xmax = MAX(tsol(i,nsrf),xmax) … … 490 469 xmin = 1.0E+20 491 470 xmax = -1.0E+20 492 DO i = 1, klon 471 DO i = 1, klon_glo 493 472 xmin = MIN(tsol(i,1),xmin) 494 473 xmax = MAX(tsol(i,1),xmax) … … 496 475 PRINT*,'Temperature du sol <TS>', xmin, xmax 497 476 DO nsrf = 2, nbsrf 498 DO i = 1, klon 477 DO i = 1, klon_glo 499 478 tsol(i,nsrf) = tsol(i,1) 500 479 ENDDO … … 516 495 PRINT*, "phyetat0: Le champ <Tsoil"//str7//"> est absent" 517 496 PRINT*, " Il prend donc la valeur de surface" 518 DO i=1, klon 497 DO i=1, klon_glo 519 498 tsoil(i,isoil,nsrf)=tsol(i,nsrf) 520 499 ENDDO … … 554 533 xmin = 1.0E+20 555 534 xmax = -1.0E+20 556 DO i = 1, klon 535 DO i = 1, klon_glo 557 536 xmin = MIN(tslab(i),xmin) 558 537 xmax = MAX(tslab(i),xmax) … … 578 557 xmin = 1.0E+20 579 558 xmax = -1.0E+20 580 DO i = 1, klon 559 DO i = 1, klon_glo 581 560 xmin = MIN(seaice(i),xmin) 582 561 xmax = MAX(seaice(i),xmax) … … 617 596 xmin = 1.0E+20 618 597 xmax = -1.0E+20 619 DO i = 1, klon 598 DO i = 1, klon_glo 620 599 xmin = MIN(qsurf(i,nsrf),xmin) 621 600 xmax = MAX(qsurf(i,nsrf),xmax) … … 637 616 xmin = 1.0E+20 638 617 xmax = -1.0E+20 639 DO i = 1, klon 618 DO i = 1, klon_glo 640 619 xmin = MIN(qsurf(i,1),xmin) 641 620 xmax = MAX(qsurf(i,1),xmax) … … 643 622 PRINT*,'Humidite pres du sol <QS>', xmin, xmax 644 623 DO nsrf = 2, nbsrf 645 DO i = 1, klon 624 DO i = 1, klon_glo 646 625 qsurf(i,nsrf) = qsurf(i,1) 647 626 ENDDO … … 670 649 xmin = 1.0E+20 671 650 xmax = -1.0E+20 672 DO i = 1, klon 651 DO i = 1, klon_glo 673 652 xmin = MIN(qsol(i),xmin) 674 653 xmax = MAX(qsol(i),xmax) … … 704 683 xmin = 1.0E+20 705 684 xmax = -1.0E+20 706 DO i = 1, klon 685 DO i = 1, klon_glo 707 686 xmin = MIN(snow(i,nsrf),xmin) 708 687 xmax = MAX(snow(i,nsrf),xmax) … … 724 703 xmin = 1.0E+20 725 704 xmax = -1.0E+20 726 DO i = 1, klon 705 DO i = 1, klon_glo 727 706 xmin = MIN(snow(i,1),xmin) 728 707 xmax = MAX(snow(i,1),xmax) … … 730 709 PRINT*,'Neige du sol <SNOW>', xmin, xmax 731 710 DO nsrf = 2, nbsrf 732 DO i = 1, klon 711 DO i = 1, klon_glo 733 712 snow(i,nsrf) = snow(i,1) 734 713 ENDDO … … 764 743 xmin = 1.0E+20 765 744 xmax = -1.0E+20 766 DO i = 1, klon 745 DO i = 1, klon_glo 767 746 xmin = MIN(albe(i,nsrf),xmin) 768 747 xmax = MAX(albe(i,nsrf),xmax) … … 784 763 xmin = 1.0E+20 785 764 xmax = -1.0E+20 786 DO i = 1, klon 765 DO i = 1, klon_glo 787 766 xmin = MIN(albe(i,1),xmin) 788 767 xmax = MAX(albe(i,1),xmax) … … 790 769 PRINT*,'Neige du sol <ALBE>', xmin, xmax 791 770 DO nsrf = 2, nbsrf 792 DO i = 1, klon 771 DO i = 1, klon_glo 793 772 albe(i,nsrf) = albe(i,1) 794 773 ENDDO … … 805 784 PRINT*, ' Mais je vais prendre ALBE**' 806 785 DO nsrf = 1, nbsrf 807 DO i = 1, klon 786 DO i = 1, klon_glo 808 787 alblw(i,nsrf) = albe(i,nsrf) 809 788 ENDDO … … 823 802 xmin = 1.0E+20 824 803 xmax = -1.0E+20 825 DO i = 1, klon 804 DO i = 1, klon_glo 826 805 xmin = MIN(alblw(i,1),xmin) 827 806 xmax = MAX(alblw(i,1),xmax) … … 829 808 PRINT*,'Neige du sol <ALBLW>', xmin, xmax 830 809 DO nsrf = 2, nbsrf 831 DO i = 1, klon 810 DO i = 1, klon_glo 832 811 alblw(i,nsrf) = alblw(i,1) 833 812 ENDDO … … 863 842 xmin = 1.0E+20 864 843 xmax = -1.0E+20 865 DO i = 1, klon 844 DO i = 1, klon_glo 866 845 xmin = MIN(evap(i,nsrf),xmin) 867 846 xmax = MAX(evap(i,nsrf),xmax) … … 883 862 xmin = 1.0E+20 884 863 xmax = -1.0E+20 885 DO i = 1, klon 864 DO i = 1, klon_glo 886 865 xmin = MIN(evap(i,1),xmin) 887 866 xmax = MAX(evap(i,1),xmax) … … 889 868 PRINT*,'Evap du sol <EVAP>', xmin, xmax 890 869 DO nsrf = 2, nbsrf 891 DO i = 1, klon 870 DO i = 1, klon_glo 892 871 evap(i,nsrf) = evap(i,1) 893 872 ENDDO … … 913 892 xmin = 1.0E+20 914 893 xmax = -1.0E+20 915 DO i = 1, klon 894 DO i = 1, klon_glo 916 895 xmin = MIN(rain_fall(i),xmin) 917 896 xmax = MAX(rain_fall(i),xmax) … … 937 916 xmin = 1.0E+20 938 917 xmax = -1.0E+20 939 DO i = 1, klon 918 DO i = 1, klon_glo 940 919 xmin = MIN(snow_fall(i),xmin) 941 920 xmax = MAX(snow_fall(i),xmax) … … 963 942 xmin = 1.0E+20 964 943 xmax = -1.0E+20 965 DO i = 1, klon 944 DO i = 1, klon_glo 966 945 xmin = MIN(solsw(i),xmin) 967 946 xmax = MAX(solsw(i),xmax) … … 989 968 xmin = 1.0E+20 990 969 xmax = -1.0E+20 991 DO i = 1, klon 970 DO i = 1, klon_glo 992 971 xmin = MIN(sollw(i),xmin) 993 972 xmax = MAX(sollw(i),xmax) 994 973 ENDDO 995 974 PRINT*,'Rayonnement IF au sol sollw:', xmin, xmax 996 975 976 ENDIF ! is_mpi_root 997 977 c$OMP END MASTER 998 978 999 979 1000 980 c$OMP MASTER 1001 981 IF (is_mpi_root) THEN 1002 982 c 1003 983 c Lecture derive des flux: … … 1021 1001 xmin = 1.0E+20 1022 1002 xmax = -1.0E+20 1023 DO i = 1, klon 1003 DO i = 1, klon_glo 1024 1004 xmin = MIN(fder(i),xmin) 1025 1005 xmax = MAX(fder(i),xmax) … … 1046 1026 xmin = 1.0E+20 1047 1027 xmax = -1.0E+20 1048 DO i = 1, klon 1028 DO i = 1, klon_glo 1049 1029 xmin = MIN(radsol(i),xmin) 1050 1030 xmax = MAX(radsol(i),xmax) … … 1081 1061 xmin = 1.0E+20 1082 1062 xmax = -1.0E+20 1083 DO i = 1, klon 1063 DO i = 1, klon_glo 1084 1064 xmin = MIN(frugs(i,nsrf),xmin) 1085 1065 xmax = MAX(frugs(i,nsrf),xmax) … … 1101 1081 xmin = 1.0E+20 1102 1082 xmax = -1.0E+20 1103 DO i = 1, klon 1083 DO i = 1, klon_glo 1104 1084 xmin = MIN(frugs(i,1),xmin) 1105 1085 xmax = MAX(frugs(i,1),xmax) … … 1107 1087 PRINT*,'rugosite <RUG>', xmin, xmax 1108 1088 DO nsrf = 2, nbsrf 1109 DO i = 1, klon 1089 DO i = 1, klon_glo 1110 1090 frugs(i,nsrf) = frugs(i,1) 1111 1091 ENDDO … … 1142 1122 xmin = 1.0E+20 1143 1123 xmax = -1.0E+20 1144 DO i = 1, klon 1124 DO i = 1, klon_glo 1145 1125 xmin = MIN(agesno(i,nsrf),xmin) 1146 1126 xmax = MAX(agesno(i,nsrf),xmax) … … 1162 1142 xmin = 1.0E+20 1163 1143 xmax = -1.0E+20 1164 DO i = 1, klon 1144 DO i = 1, klon_glo 1165 1145 xmin = MIN(agesno(i,1),xmin) 1166 1146 xmax = MAX(agesno(i,1),xmax) … … 1168 1148 PRINT*,'Age de la neige <AGESNO>', xmin, xmax 1169 1149 DO nsrf = 2, nbsrf 1170 DO i = 1, klon 1150 DO i = 1, klon_glo 1171 1151 agesno(i,nsrf) = agesno(i,1) 1172 1152 ENDDO … … 1191 1171 xmin = 1.0E+20 1192 1172 xmax = -1.0E+20 1193 DO i = 1, klon 1173 DO i = 1, klon_glo 1194 1174 xmin = MIN(zmea(i),xmin) 1195 1175 xmax = MAX(zmea(i),xmax) … … 1214 1194 xmin = 1.0E+20 1215 1195 xmax = -1.0E+20 1216 DO i = 1, klon 1196 DO i = 1, klon_glo 1217 1197 xmin = MIN(zstd(i),xmin) 1218 1198 xmax = MAX(zstd(i),xmax) … … 1237 1217 xmin = 1.0E+20 1238 1218 xmax = -1.0E+20 1239 DO i = 1, klon 1219 DO i = 1, klon_glo 1240 1220 xmin = MIN(zsig(i),xmin) 1241 1221 xmax = MAX(zsig(i),xmax) … … 1260 1240 xmin = 1.0E+20 1261 1241 xmax = -1.0E+20 1262 DO i = 1, klon 1242 DO i = 1, klon_glo 1263 1243 xmin = MIN(zgam(i),xmin) 1264 1244 xmax = MAX(zgam(i),xmax) … … 1283 1263 xmin = 1.0E+20 1284 1264 xmax = -1.0E+20 1285 DO i = 1, klon 1265 DO i = 1, klon_glo 1286 1266 xmin = MIN(zthe(i),xmin) 1287 1267 xmax = MAX(zthe(i),xmax) … … 1306 1286 xmin = 1.0E+20 1307 1287 xmax = -1.0E+20 1308 DO i = 1, klon 1288 DO i = 1, klon_glo 1309 1289 xmin = MIN(zpic(i),xmin) 1310 1290 xmax = MAX(zpic(i),xmax) … … 1328 1308 xmin = 1.0E+20 1329 1309 xmax = -1.0E+20 1330 DO i = 1, klon 1310 DO i = 1, klon_glo 1331 1311 xmin = MIN(zval(i),xmin) 1332 1312 xmax = MAX(zval(i),xmax) … … 1351 1331 xmin = 1.0E+20 1352 1332 xmax = -1.0E+20 1353 DO i = 1, klon 1333 DO i = 1, klon_glo 1354 1334 xmin = MIN(rugsrel(i),xmin) 1355 1335 xmax = MAX(rugsrel(i),xmax) … … 1510 1490 c 1511 1491 ierr = NF_CLOSE(nid) 1492 ENDIF ! is_mpi_root 1512 1493 c 1513 1494 c$OMP END MASTER … … 1516 1497 cym en attendant mieux 1517 1498 iolat(1)=rlat(1) 1518 iolat(jjm+1)=rlat(klon )1499 iolat(jjm+1)=rlat(klon_glo) 1519 1500 do i=2,jjm 1520 1501 iolat(i)=rlat(2+(i-2)*iim) 1521 1502 enddo 1522 1503 CALL bcast_mpi(iolat) 1504 CALL bcast_mpi(rlon) 1523 1505 call init_iophy(iolat,rlon(2:iim+1)) 1524 1506 1525 print *,'Allocated ??',allocated(zmasq_mpi) 1526 print *,'klon_mpi',klon_mpi 1527 print *,'omp_rank',omp_rank 1528 ALLOCATE( zmasq_mpi(klon_mpi)) 1529 ALLOCATE( rlat_mpi(klon_mpi), rlon_mpi(klon_mpi)) 1530 ALLOCATE( tsol_mpi(klon_mpi,nbsrf)) 1531 ALLOCATE( tsoil_mpi(klon_mpi,nsoilmx,nbsrf)) 1532 ALLOCATE( tslab_mpi(klon_mpi)) 1533 ALLOCATE( seaice_mpi(klon_mpi)) 1534 ALLOCATE( qsurf_mpi(klon_mpi,nbsrf)) 1535 ALLOCATE( qsol_mpi(klon_mpi)) 1536 ALLOCATE( snow_mpi(klon_mpi,nbsrf)) 1537 ALLOCATE( albe_mpi(klon_mpi,nbsrf)) 1538 ALLOCATE( alblw_mpi(klon_mpi,nbsrf)) 1539 ALLOCATE( evap_mpi(klon_mpi,nbsrf)) 1540 ALLOCATE( radsol_mpi(klon_mpi)) 1541 ALLOCATE( rain_fall_mpi(klon_mpi)) 1542 ALLOCATE( snow_fall_mpi(klon_mpi)) 1543 ALLOCATE( sollw_mpi(klon_mpi)) 1544 ALLOCATE( solsw_mpi(klon_mpi)) 1545 ALLOCATE( fder_mpi(klon_mpi)) 1546 ALLOCATE( frugs_mpi(klon_mpi,nbsrf)) 1547 ALLOCATE( agesno_mpi(klon_mpi,nbsrf)) 1548 ALLOCATE( zmea_mpi(klon_mpi)) 1549 ALLOCATE( zstd_mpi(klon_mpi)) 1550 ALLOCATE( zsig_mpi(klon_mpi)) 1551 ALLOCATE( zgam_mpi(klon_mpi)) 1552 ALLOCATE( zthe_mpi(klon_mpi)) 1553 ALLOCATE( zpic_mpi(klon_mpi)) 1554 ALLOCATE( zval_mpi(klon_mpi)) 1555 ALLOCATE( rugsrel_mpi(klon_mpi)) 1556 ALLOCATE( pctsrf_mpi(klon_mpi, nbsrf)) 1557 ALLOCATE( run_off_lic_0_mpi(klon_mpi)) 1558 ALLOCATE( t_ancien_mpi(klon_mpi,klev)) 1559 ALLOCATE( q_ancien_mpi(klon_mpi,klev)) 1560 ALLOCATE( rnebcon_mpi(klon_mpi,klev)) 1561 ALLOCATE( clwcon_mpi(klon_mpi,klev)) 1562 ALLOCATE( ratqs_mpi(klon_mpi,klev)) 1507 c$OMP END MASTER 1563 1508 1564 call ScatterField( rlat,rlat_mpi,1) 1565 call ScatterField( rlon,rlon_mpi,1) 1566 call ScatterField( tsol,tsol_mpi,nbsrf) 1567 call ScatterField( tsoil,tsoil_mpi,nsoilmx*nbsrf) 1568 call ScatterField( tslab,tslab_mpi,1) 1569 call ScatterField( seaice,seaice_mpi,1) 1570 call ScatterField( qsurf,qsurf_mpi,nbsrf) 1571 call ScatterField( qsol,qsol_mpi,1) 1572 call ScatterField( snow,snow_mpi,nbsrf) 1573 call ScatterField( albe,albe_mpi,nbsrf) 1574 call ScatterField( alblw,alblw_mpi,nbsrf) 1575 call ScatterField( evap,evap_mpi,nbsrf) 1576 call ScatterField( radsol,radsol_mpi,1) 1577 call ScatterField( rain_fall,rain_fall_mpi,1) 1578 call ScatterField( snow_fall,snow_fall_mpi,1) 1579 call ScatterField( sollw,sollw_mpi,1) 1580 call ScatterField( solsw,solsw_mpi,1) 1581 call ScatterField( fder,fder_mpi,1) 1582 call ScatterField( frugs,frugs_mpi,nbsrf) 1583 call ScatterField( agesno,agesno_mpi,nbsrf) 1584 call ScatterField( zmea,zmea_mpi,1) 1585 call ScatterField( zstd,zstd_mpi,1) 1586 call ScatterField( zsig,zsig_mpi,1) 1587 call ScatterField( zgam,zgam_mpi,1) 1588 call ScatterField( zthe,zthe_mpi,1) 1589 call ScatterField( zpic,zpic_mpi,1) 1590 call ScatterField( zval,zval_mpi,1) 1591 call ScatterField( rugsrel,rugsrel_mpi,1) 1592 call ScatterField( pctsrf,pctsrf_mpi, nbsrf) 1593 call ScatterField( run_off_lic_0,run_off_lic_0_mpi,1) 1594 call ScatterField( t_ancien,t_ancien_mpi,klev) 1595 call ScatterField( q_ancien,q_ancien_mpi,klev) 1596 call ScatterField( rnebcon,rnebcon_mpi,klev) 1597 call ScatterField( clwcon,clwcon_mpi,klev) 1598 call ScatterField( ratqs,ratqs_mpi,klev) 1599 call ScatterField( zmasq,zmasq_mpi,1) 1600 c$OMP END MASTER 1601 c$OMP BARRIER 1602 call ScatterField_omp( rlat_mpi,rlat_p,1) 1603 call ScatterField_omp( rlon_mpi,rlon_p,1) 1604 call ScatterField_omp( tsol_mpi,tsol_p,nbsrf) 1605 call ScatterField_omp( tsoil_mpi,tsoil_p,nsoilmx*nbsrf) 1606 call ScatterField_omp( tslab_mpi,tslab_p,1) 1607 call ScatterField_omp( seaice_mpi,seaice_p,1) 1608 call ScatterField_omp( qsurf_mpi,qsurf_p,nbsrf) 1609 call ScatterField_omp( qsol_mpi,qsol_p,1) 1610 call ScatterField_omp( snow_mpi,snow_p,nbsrf) 1611 call ScatterField_omp( albe_mpi,albe_p,nbsrf) 1612 call ScatterField_omp( alblw_mpi,alblw_p,nbsrf) 1613 call ScatterField_omp( evap_mpi,evap_p,nbsrf) 1614 call ScatterField_omp( radsol_mpi,radsol_p,1) 1615 call ScatterField_omp( rain_fall_mpi,rain_fall_p,1) 1616 call ScatterField_omp( snow_fall_mpi,snow_fall_p,1) 1617 call ScatterField_omp( sollw_mpi,sollw_p,1) 1618 call ScatterField_omp( solsw_mpi,solsw_p,1) 1619 call ScatterField_omp( fder_mpi,fder_p,1) 1620 call ScatterField_omp( frugs_mpi,frugs_p,nbsrf) 1621 call ScatterField_omp( agesno_mpi,agesno_p,nbsrf) 1622 call ScatterField_omp( zmea_mpi,zmea_p,1) 1623 call ScatterField_omp( zstd_mpi,zstd_p,1) 1624 call ScatterField_omp( zsig_mpi,zsig_p,1) 1625 call ScatterField_omp( zgam_mpi,zgam_p,1) 1626 call ScatterField_omp( zthe_mpi,zthe_p,1) 1627 call ScatterField_omp( zpic_mpi,zpic_p,1) 1628 call ScatterField_omp( zval_mpi,zval_p,1) 1629 call ScatterField_omp( rugsrel_mpi,rugsrel_p,1) 1630 call ScatterField_omp( pctsrf_mpi,pctsrf_p, nbsrf) 1631 call ScatterField_omp( run_off_lic_0_mpi,run_off_lic_0_p,1) 1632 call ScatterField_omp( t_ancien_mpi,t_ancien_p,klev) 1633 call ScatterField_omp( q_ancien_mpi,q_ancien_p,klev) 1634 call ScatterField_omp( rnebcon_mpi,rnebcon_p,klev) 1635 call ScatterField_omp( clwcon_mpi,clwcon_p,klev) 1636 call ScatterField_omp( ratqs_mpi,ratqs_p,klev) 1637 call ScatterField_omp( zmasq_mpi,zmasq_p,1) 1638 ancien_ok_p=ancien_ok 1639 1640 c$OMP MASTER 1641 DEALLOCATE( zmasq_mpi) 1642 DEALLOCATE( rlat_mpi, rlon_mpi) 1643 DEALLOCATE( tsol_mpi) 1644 DEALLOCATE( tsoil_mpi) 1645 DEALLOCATE( tslab_mpi) 1646 DEALLOCATE( seaice_mpi) 1647 DEALLOCATE( qsurf_mpi) 1648 DEALLOCATE( qsol_mpi) 1649 DEALLOCATE( snow_mpi) 1650 DEALLOCATE( albe_mpi) 1651 DEALLOCATE( alblw_mpi) 1652 DEALLOCATE( evap_mpi) 1653 DEALLOCATE( radsol_mpi) 1654 DEALLOCATE( rain_fall_mpi) 1655 DEALLOCATE( snow_fall_mpi) 1656 DEALLOCATE( sollw_mpi) 1657 DEALLOCATE( solsw_mpi) 1658 DEALLOCATE( fder_mpi) 1659 DEALLOCATE( frugs_mpi) 1660 DEALLOCATE( agesno_mpi) 1661 DEALLOCATE( zmea_mpi) 1662 DEALLOCATE( zstd_mpi) 1663 DEALLOCATE( zsig_mpi) 1664 DEALLOCATE( zgam_mpi) 1665 DEALLOCATE( zthe_mpi) 1666 DEALLOCATE( zpic_mpi) 1667 DEALLOCATE( zval_mpi) 1668 DEALLOCATE( rugsrel_mpi) 1669 DEALLOCATE( pctsrf_mpi) 1670 DEALLOCATE( run_off_lic_0_mpi) 1671 DEALLOCATE( t_ancien_mpi) 1672 DEALLOCATE( q_ancien_mpi) 1673 DEALLOCATE( rnebcon_mpi) 1674 DEALLOCATE( clwcon_mpi) 1675 1676 c$OMP END MASTER 1677 c$OMP BARRIER 1509 call Scatter( rlat,rlat_p) 1510 call Scatter( rlon,rlon_p) 1511 call Scatter( tsol,tsol_p) 1512 call Scatter( tsoil,tsoil_p) 1513 call Scatter( tslab,tslab_p) 1514 call Scatter( seaice,seaice_p) 1515 call Scatter( qsurf,qsurf_p) 1516 call Scatter( qsol,qsol_p) 1517 call Scatter( snow,snow_p) 1518 call Scatter( albe,albe_p) 1519 call Scatter( alblw,alblw_p) 1520 call Scatter( evap,evap_p) 1521 call Scatter( radsol,radsol_p) 1522 call Scatter( rain_fall,rain_fall_p) 1523 call Scatter( snow_fall,snow_fall_p) 1524 call Scatter( sollw,sollw_p) 1525 call Scatter( solsw,solsw_p) 1526 call Scatter( fder,fder_p) 1527 call Scatter( frugs,frugs_p) 1528 call Scatter( agesno,agesno_p) 1529 call Scatter( zmea,zmea_p) 1530 call Scatter( zstd,zstd_p) 1531 call Scatter( zsig,zsig_p) 1532 call Scatter( zgam,zgam_p) 1533 call Scatter( zthe,zthe_p) 1534 call Scatter( zpic,zpic_p) 1535 call Scatter( zval,zval_p) 1536 call Scatter( rugsrel,rugsrel_p) 1537 call Scatter( pctsrf,pctsrf_p) 1538 call Scatter( run_off_lic_0,run_off_lic_0_p) 1539 call Scatter( t_ancien,t_ancien_p) 1540 call Scatter( q_ancien,q_ancien_p) 1541 call Scatter( rnebcon,rnebcon_p) 1542 call Scatter( clwcon,clwcon_p) 1543 call Scatter( ratqs,ratqs_p) 1544 call Scatter( zmasq_glo,zmasq) 1678 1545 1679 1546 RETURN -
LMDZ4/trunk/libf/phylmd/phyredem.F
r766 r776 14 14 . run_off_lic_0_p) 15 15 USE dimphy 16 USE mod_grid_phy_lmdz 17 USE mod_phys_lmdz_para 16 18 IMPLICIT none 17 19 c====================================================================== … … 65 67 REAL run_off_lic_0_p(klon) 66 68 67 REAL rlat(klon2), rlon(klon2) 68 REAL tsol(klon2,nbsrf) 69 REAL tsoil(klon2,nsoilmx,nbsrf) 70 REAL tslab(klon2), seaice(klon2) 71 REAL qsurf(klon2,nbsrf) 72 REAL qsol(klon2) 73 REAL snow(klon2,nbsrf) 74 REAL albedo(klon2,nbsrf) 75 REAL alblw(klon2,nbsrf) 76 REAL evap(klon2,nbsrf) 77 REAL rain_fall(klon2) 78 REAL snow_fall(klon2) 79 real solsw(klon2) 80 real sollw(klon2) 81 real fder(klon2) 82 REAL radsol(klon2) 83 REAL frugs(klon2,nbsrf) 84 REAL agesno(klon2,nbsrf) 85 REAL zmea(klon2) 86 REAL zstd(klon2) 87 REAL zsig(klon2) 88 REAL zgam(klon2) 89 REAL zthe(klon2) 90 REAL zpic(klon2) 91 REAL zval(klon2) 92 REAL rugsrel(klon2) 93 REAL pctsrf(klon2, nbsrf) 94 REAL t_ancien(klon2,klev), q_ancien(klon2,klev) 95 real clwcon(klon2,klev),rnebcon(klon2,klev),ratqs(klon2,klev) 96 REAL run_off_lic_0(klon2) 97 REAL masq(klon2) 69 REAL rlat(klon_glo), rlon(klon_glo) 70 REAL tsol(klon_glo,nbsrf) 71 REAL tsoil(klon_glo,nsoilmx,nbsrf) 72 REAL tslab(klon_glo), seaice(klon_glo) 73 REAL qsurf(klon_glo,nbsrf) 74 REAL qsol(klon_glo) 75 REAL snow(klon_glo,nbsrf) 76 REAL albedo(klon_glo,nbsrf) 77 REAL alblw(klon_glo,nbsrf) 78 REAL evap(klon_glo,nbsrf) 79 REAL rain_fall(klon_glo) 80 REAL snow_fall(klon_glo) 81 real solsw(klon_glo) 82 real sollw(klon_glo) 83 real fder(klon_glo) 84 REAL radsol(klon_glo) 85 REAL frugs(klon_glo,nbsrf) 86 REAL agesno(klon_glo,nbsrf) 87 REAL zmea(klon_glo) 88 REAL zstd(klon_glo) 89 REAL zsig(klon_glo) 90 REAL zgam(klon_glo) 91 REAL zthe(klon_glo) 92 REAL zpic(klon_glo) 93 REAL zval(klon_glo) 94 REAL rugsrel(klon_glo) 95 REAL pctsrf(klon_glo, nbsrf) 96 REAL t_ancien(klon_glo,klev), q_ancien(klon_glo,klev) 97 REAL clwcon(klon_glo,klev) 98 REAL rnebcon(klon_glo,klev) 99 REAL ratqs(klon_glo,klev) 100 REAL run_off_lic_0(klon_glo) 101 REAL masq(klon_glo) 98 102 c 99 103 INTEGER nid, nvarid, idim1, idim2, idim3 … … 107 111 CHARACTER*2 str2 108 112 c 109 REAL,SAVE,ALLOCATABLE :: rlat_mpi(:), rlon_mpi(:) 110 REAL,SAVE,ALLOCATABLE :: tsol_mpi(:,:) 111 REAL,SAVE,ALLOCATABLE :: tsoil_mpi(:,:,:) 112 REAL,SAVE,ALLOCATABLE :: tslab_mpi(:) 113 REAL,SAVE,ALLOCATABLE :: seaice_mpi(:) 114 REAL,SAVE,ALLOCATABLE :: qsurf_mpi(:,:) 115 REAL,SAVE,ALLOCATABLE :: qsol_mpi(:) 116 REAL,SAVE,ALLOCATABLE :: snow_mpi(:,:) 117 REAL,SAVE,ALLOCATABLE :: albedo_mpi(:,:) 118 REAL,SAVE,ALLOCATABLE :: alblw_mpi(:,:) 119 REAL,SAVE,ALLOCATABLE :: evap_mpi(:,:) 120 REAL,SAVE,ALLOCATABLE :: rain_fall_mpi(:) 121 REAL,SAVE,ALLOCATABLE :: snow_fall_mpi(:) 122 REAL,SAVE,ALLOCATABLE :: solsw_mpi(:) 123 REAL,SAVE,ALLOCATABLE :: sollw_mpi(:) 124 REAL,SAVE,ALLOCATABLE :: fder_mpi(:) 125 REAL,SAVE,ALLOCATABLE :: radsol_mpi(:) 126 REAL,SAVE,ALLOCATABLE :: frugs_mpi(:,:) 127 REAL,SAVE,ALLOCATABLE :: agesno_mpi(:,:) 128 REAL,SAVE,ALLOCATABLE :: zmea_mpi(:) 129 REAL,SAVE,ALLOCATABLE :: zstd_mpi(:) 130 REAL,SAVE,ALLOCATABLE :: zsig_mpi(:) 131 REAL,SAVE,ALLOCATABLE :: zgam_mpi(:) 132 REAL,SAVE,ALLOCATABLE :: zthe_mpi(:) 133 REAL,SAVE,ALLOCATABLE :: zpic_mpi(:) 134 REAL,SAVE,ALLOCATABLE :: zval_mpi(:) 135 REAL,SAVE,ALLOCATABLE :: rugsrel_mpi(:) 136 REAL,SAVE,ALLOCATABLE :: pctsrf_mpi(:, :) 137 REAL,SAVE,ALLOCATABLE :: t_ancien_mpi(:,:), q_ancien_mpi(:,:) 138 REAL,SAVE,ALLOCATABLE :: clwcon_mpi(:,:),rnebcon_mpi(:,:) 139 REAL,SAVE,ALLOCATABLE :: ratqs_mpi(:,:) 140 REAL,SAVE,ALLOCATABLE :: run_off_lic_0_mpi(:) 141 REAL,SAVE,ALLOCATABLE :: masq_mpi(:) 113 call Gather( rlat_p,rlat) 114 call Gather( rlon_p,rlon) 115 call Gather( tsol_p,tsol) 116 call Gather( tsoil_p,tsoil) 117 call Gather( tslab_p,tslab) 118 call Gather( seaice_p,seaice) 119 call Gather( qsurf_p,qsurf) 120 call Gather( qsol_p,qsol) 121 call Gather( snow_p,snow) 122 call Gather( albedo_p,albedo) 123 call Gather( alblw_p,alblw) 124 call Gather( evap_p,evap) 125 call Gather( radsol_p,radsol) 126 call Gather( rain_fall_p,rain_fall) 127 call Gather( snow_fall_p,snow_fall) 128 call Gather( sollw_p,sollw) 129 call Gather( solsw_p,solsw) 130 call Gather( fder_p,fder) 131 call Gather( frugs_p,frugs) 132 call Gather( agesno_p,agesno) 133 call Gather( zmea_p,zmea) 134 call Gather( zstd_p,zstd) 135 call Gather( zsig_p,zsig) 136 call Gather( zgam_p,zgam) 137 call Gather( zthe_p,zthe) 138 call Gather( zpic_p,zpic) 139 call Gather( zval_p,zval) 140 call Gather( rugsrel_p,rugsrel) 141 call Gather( pctsrf_p,pctsrf) 142 call Gather( run_off_lic_0_p,run_off_lic_0) 143 call Gather( t_ancien_p,t_ancien) 144 call Gather( q_ancien_p,q_ancien) 145 call Gather( rnebcon_p,rnebcon) 146 call Gather( clwcon_p,clwcon) 147 call Gather( ratqs_p,ratqs) 148 call Gather( zmasq,masq) 142 149 143 150 c$OMP MASTER 144 ALLOCATE( rlat_mpi(klon_mpi), rlon_mpi(klon_mpi)) 145 ALLOCATE( tsol_mpi(klon_mpi,nbsrf)) 146 ALLOCATE( tsoil_mpi(klon_mpi,nsoilmx,nbsrf)) 147 ALLOCATE( tslab_mpi(klon_mpi)) 148 ALLOCATE( seaice_mpi(klon_mpi)) 149 ALLOCATE( qsurf_mpi(klon_mpi,nbsrf)) 150 ALLOCATE( qsol_mpi(klon_mpi)) 151 ALLOCATE( snow_mpi(klon_mpi,nbsrf)) 152 ALLOCATE( albedo_mpi(klon_mpi,nbsrf)) 153 ALLOCATE( alblw_mpi(klon_mpi,nbsrf)) 154 ALLOCATE( evap_mpi(klon_mpi,nbsrf)) 155 ALLOCATE( rain_fall_mpi(klon_mpi)) 156 ALLOCATE( snow_fall_mpi(klon_mpi)) 157 ALLOCATE( solsw_mpi(klon_mpi)) 158 ALLOCATE( sollw_mpi(klon_mpi)) 159 ALLOCATE( fder_mpi(klon_mpi)) 160 ALLOCATE( radsol_mpi(klon_mpi)) 161 ALLOCATE( frugs_mpi(klon_mpi,nbsrf)) 162 ALLOCATE( agesno_mpi(klon_mpi,nbsrf)) 163 ALLOCATE( zmea_mpi(klon_mpi)) 164 ALLOCATE( zstd_mpi(klon_mpi)) 165 ALLOCATE( zsig_mpi(klon_mpi)) 166 ALLOCATE( zgam_mpi(klon_mpi)) 167 ALLOCATE( zthe_mpi(klon_mpi)) 168 ALLOCATE( zpic_mpi(klon_mpi)) 169 ALLOCATE( zval_mpi(klon_mpi)) 170 ALLOCATE( rugsrel_mpi(klon_mpi)) 171 ALLOCATE( pctsrf_mpi(klon_mpi, nbsrf)) 172 ALLOCATE( t_ancien_mpi(klon_mpi,klev)) 173 ALLOCATE( q_ancien_mpi(klon_mpi,klev)) 174 ALLOCATE( clwcon_mpi(klon_mpi,klev),rnebcon_mpi(klon_mpi,klev)) 175 ALLOCATE( ratqs_mpi(klon_mpi,klev)) 176 ALLOCATE( run_off_lic_0_mpi(klon_mpi)) 177 ALLOCATE( masq_mpi(klon_mpi)) 178 c$OMP END MASTER 179 c$OMP BARRIER 180 181 call GatherField_omp( rlat_p,rlat_mpi,1) 182 call GatherField_omp( rlon_p,rlon_mpi,1) 183 call GatherField_omp( tsol_p,tsol_mpi,nbsrf) 184 call GatherField_omp( tsoil_p,tsoil_mpi,nsoilmx*nbsrf) 185 call GatherField_omp( tslab_p,tslab_mpi,1) 186 call GatherField_omp( seaice_p,seaice_mpi,1) 187 call GatherField_omp( qsurf_p,qsurf_mpi,nbsrf) 188 call GatherField_omp( qsol_p,qsol_mpi,1) 189 call GatherField_omp( snow_p,snow_mpi,nbsrf) 190 call GatherField_omp( albedo_p,albedo_mpi,nbsrf) 191 call GatherField_omp( alblw_p,alblw_mpi,nbsrf) 192 call GatherField_omp( evap_p,evap_mpi,nbsrf) 193 call GatherField_omp( radsol_p,radsol_mpi,1) 194 call GatherField_omp( rain_fall_p,rain_fall_mpi,1) 195 call GatherField_omp( snow_fall_p,snow_fall_mpi,1) 196 call GatherField_omp( sollw_p,sollw_mpi,1) 197 call GatherField_omp( solsw_p,solsw_mpi,1) 198 call GatherField_omp( fder_p,fder_mpi,1) 199 call GatherField_omp( frugs_p,frugs_mpi,nbsrf) 200 call GatherField_omp( agesno_p,agesno_mpi,nbsrf) 201 call GatherField_omp( zmea_p,zmea_mpi,1) 202 call GatherField_omp( zstd_p,zstd_mpi,1) 203 call GatherField_omp( zsig_p,zsig_mpi,1) 204 call GatherField_omp( zgam_p,zgam_mpi,1) 205 call GatherField_omp( zthe_p,zthe_mpi,1) 206 call GatherField_omp( zpic_p,zpic_mpi,1) 207 call GatherField_omp( zval_p,zval_mpi,1) 208 call GatherField_omp( rugsrel_p,rugsrel_mpi,1) 209 call GatherField_omp( pctsrf_p,pctsrf_mpi, nbsrf) 210 call GatherField_omp( run_off_lic_0_p,run_off_lic_0_mpi,1) 211 call GatherField_omp( t_ancien_p,t_ancien_mpi,klev) 212 call GatherField_omp( q_ancien_p,q_ancien_mpi,klev) 213 call GatherField_omp( rnebcon_p,rnebcon_mpi,klev) 214 call GatherField_omp( clwcon_p,clwcon_mpi,klev) 215 call GatherField_omp( ratqs_p,ratqs_mpi,klev) 216 call GatherField_omp( zmasq,masq_mpi,1) 217 218 c$OMP MASTER 219 call GatherField( rlat_mpi,rlat,1) 220 call GatherField( rlon_mpi,rlon,1) 221 call GatherField( tsol_mpi,tsol,nbsrf) 222 call GatherField( tsoil_mpi,tsoil,nsoilmx*nbsrf) 223 call GatherField( tslab_mpi,tslab,1) 224 call GatherField( seaice_mpi,seaice,1) 225 call GatherField( qsurf_mpi,qsurf,nbsrf) 226 call GatherField( qsol_mpi,qsol,1) 227 call GatherField( snow_mpi,snow,nbsrf) 228 call GatherField( albedo_mpi,albedo,nbsrf) 229 call GatherField( alblw_mpi,alblw,nbsrf) 230 call GatherField( evap_mpi,evap,nbsrf) 231 call GatherField( radsol_mpi,radsol,1) 232 call GatherField( rain_fall_mpi,rain_fall,1) 233 call GatherField( snow_fall_mpi,snow_fall,1) 234 call GatherField( sollw_mpi,sollw,1) 235 call GatherField( solsw_mpi,solsw,1) 236 call GatherField( fder_mpi,fder,1) 237 call GatherField( frugs_mpi,frugs,nbsrf) 238 call GatherField( agesno_mpi,agesno,nbsrf) 239 call GatherField( zmea_mpi,zmea,1) 240 call GatherField( zstd_mpi,zstd,1) 241 call GatherField( zsig_mpi,zsig,1) 242 call GatherField( zgam_mpi,zgam,1) 243 call GatherField( zthe_mpi,zthe,1) 244 call GatherField( zpic_mpi,zpic,1) 245 call GatherField( zval_mpi,zval,1) 246 call GatherField( rugsrel_mpi,rugsrel,1) 247 call GatherField( pctsrf_mpi,pctsrf, nbsrf) 248 call GatherField( run_off_lic_0_mpi,run_off_lic_0,1) 249 call GatherField( t_ancien_mpi,t_ancien,klev) 250 call GatherField( q_ancien_mpi,q_ancien,klev) 251 call GatherField( rnebcon_mpi,rnebcon,klev) 252 call GatherField( clwcon_mpi,clwcon,klev) 253 call GatherField( ratqs_mpi,ratqs,klev) 254 call GatherField( masq_mpi,masq,1) 255 256 DEALLOCATE( rlat_mpi, rlon_mpi) 257 DEALLOCATE( tsol_mpi) 258 DEALLOCATE( tsoil_mpi) 259 DEALLOCATE( tslab_mpi) 260 DEALLOCATE( seaice_mpi) 261 DEALLOCATE( qsurf_mpi) 262 DEALLOCATE( qsol_mpi) 263 DEALLOCATE( snow_mpi) 264 DEALLOCATE( albedo_mpi) 265 DEALLOCATE( alblw_mpi) 266 DEALLOCATE( evap_mpi) 267 DEALLOCATE( rain_fall_mpi) 268 DEALLOCATE( snow_fall_mpi) 269 DEALLOCATE( solsw_mpi) 270 DEALLOCATE( sollw_mpi) 271 DEALLOCATE( fder_mpi) 272 DEALLOCATE( radsol_mpi) 273 DEALLOCATE( frugs_mpi) 274 DEALLOCATE( agesno_mpi) 275 DEALLOCATE( zmea_mpi) 276 DEALLOCATE( zstd_mpi) 277 DEALLOCATE( zsig_mpi) 278 DEALLOCATE( zgam_mpi) 279 DEALLOCATE( zthe_mpi) 280 DEALLOCATE( zpic_mpi) 281 DEALLOCATE( zval_mpi) 282 DEALLOCATE( rugsrel_mpi) 283 DEALLOCATE( pctsrf_mpi) 284 DEALLOCATE( t_ancien_mpi) 285 DEALLOCATE( q_ancien_mpi) 286 DEALLOCATE( clwcon_mpi,rnebcon_mpi) 287 DEALLOCATE( ratqs_mpi) 288 DEALLOCATE( run_off_lic_0_mpi) 289 DEALLOCATE( masq_mpi) 290 291 if (phy_rank==0) then 151 IF (is_mpi_root) THEN 292 152 293 153 ierr = NF_CREATE(fichnom, NF_CLOBBER, nid) … … 302 162 c 303 163 ierr = NF_DEF_DIM (nid, "index", length, idim1) 304 ierr = NF_DEF_DIM (nid, "points_physiques", klon 2, idim2)305 ierr = NF_DEF_DIM (nid, "horizon_vertical", klon 2*klev, idim3)164 ierr = NF_DEF_DIM (nid, "points_physiques", klon_glo, idim2) 165 ierr = NF_DEF_DIM (nid, "horizon_vertical", klon_glo*klev, idim3) 306 166 c 307 167 ierr = NF_ENDDEF(nid) … … 402 262 ierr = NF_ENDDEF(nid) 403 263 #ifdef NC_DOUBLE 404 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon 2, is_ter))405 #else 406 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon 2, is_ter))264 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo, is_ter)) 265 #else 266 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_ter)) 407 267 #endif 408 268 C … … 419 279 ierr = NF_ENDDEF(nid) 420 280 #ifdef NC_DOUBLE 421 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon 2,is_lic))422 #else 423 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon 2, is_lic))281 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo,is_lic)) 282 #else 283 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_lic)) 424 284 #endif 425 285 C … … 436 296 ierr = NF_ENDDEF(nid) 437 297 #ifdef NC_DOUBLE 438 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon 2, is_oce))439 #else 440 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon 2, is_oce))298 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo, is_oce)) 299 #else 300 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_oce)) 441 301 #endif 442 302 C … … 453 313 ierr = NF_ENDDEF(nid) 454 314 #ifdef NC_DOUBLE 455 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon 2, is_sic))456 #else 457 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon 2, is_sic))315 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo, is_sic)) 316 #else 317 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_sic)) 458 318 #endif 459 319 C … … 767 627 cc ----> necessaire pour eviter bug openMP sur SX6 768 628 c$OMP MASTER 769 if ( phy_rank==0) then629 if (is_mpi_root) then 770 630 DO nsrf = 1, nbsrf 771 631 IF (nsrf.LE.99) THEN … … 1020 880 ierr = NF_CLOSE(nid) 1021 881 c 1022 endif ! phy_rank==0882 endif ! is_mpi_root 1023 883 c$OMP END MASTER 1024 884 RETURN -
LMDZ4/trunk/libf/phylmd/physiq.F
r766 r776 21 21 USE write_field_phy 22 22 USE dimphy 23 USE mod_grid_phy_lmdz 24 USE mod_phys_lmdz_para 23 25 USE iophy 24 26 USE misc_mod, mydebug=>debug … … 68 70 c d_q_dyn-input-R-tendance dynamique pour "q" (kg/kg/s) 69 71 c omega---input-R-vitesse verticale en Pa/s 72 cIM comgeomphy.h BEG 70 73 c cuphy----input-R-resolution des mailles en x (m) 71 74 c cvphy----input-R-resolution des mailles en y (m) 75 cIM comgeomphy.h END 72 76 c d_u-----output-R-tendance physique de "u" (m/s/s) 73 77 c d_v-----output-R-tendance physique de "v" (m/s/s) … … 75 79 c d_qx----output-R-tendance physique de "qx" (kg/kg/s) 76 80 c d_ps----output-R-tendance physique de la pression au sol 81 cIM 77 82 c PVteta--output-R-vorticite potentielle a des thetas constantes 78 83 c====================================================================== … … 440 445 INTEGER ncolmx, seed(klon,napisccp) 441 446 REAL nbsunlit(nregISCtot,klon,napisccp) !nbsunlit : moyenne de sunlit 442 PARAMETER(ncolmx= 1500)447 PARAMETER(ncolmx=350) 443 448 c 444 449 cIM verif boxptop BEG … … 1415 1420 c Declaration des constantes et des fonctions thermodynamiques 1416 1421 c 1417 REAL Field_tmp(klon 2,klevp1)1422 REAL Field_tmp(klon_glo,klevp1) 1418 1423 LOGICAL,SAVE :: first=.true. 1419 1424 c$OMP THREADPRIVATE(first) … … 3299 3304 cIM calcul composantes axiales du moment angulaire et couple des montagnes 3300 3305 c 3301 IF ( monocpu) THEN3306 IF (is_sequential) THEN 3302 3307 3303 3308 CALL aaam_bud (27,klon,klev,rjourvrai,gmtime, -
LMDZ4/trunk/libf/phylmd/phytrac.F
r766 r776 64 64 USE ioipsl 65 65 USE dimphy 66 USE mod_grid_phy_lmdz 67 USE mod_phys_lmdz_para 66 68 USE comgeomphy 67 69 USE iophy … … 211 213 c$OMP THREADPRIVATE(trs) 212 214 cym SAVE trs 213 REAL :: trs_tmp(klon2) 214 REAL,SAVE,ALLOCATABLE :: trs_mpi(:) 215 REAL :: trs_tmp(klon_glo) 215 216 216 217 REAL,save,allocatable :: masktr(:,:) ! Masque reservoir de sol traceur … … 403 404 if (debutphy) then 404 405 allocate( trs(klon,nbtr) ) 405 c$OMP MASTER406 allocate( trs_mpi(klon_mpi) )407 c$OMP END MASTER408 406 allocate( masktr(klon,nbtr)) 409 407 allocate( fshtr(klon,nbtr) ) … … 447 445 trs(:,:) = 0. 448 446 c$OMP MASTER 449 if ( phy_rank==0) then447 if (is_mpi_root) then 450 448 trs_tmp(:)=0. 451 449 open (99,file='starttrac',status='old', 452 450 . err=999,form='formatted') 453 read(99,*) (trs_tmp(i),i=1,klon 2)451 read(99,*) (trs_tmp(i),i=1,klon_glo) 454 452 999 close(99) 455 453 endif 456 call ScatterField(trs_tmp,trs_mpi,1)457 454 c$OMP END MASTER 458 call ScatterField_omp(trs_mpi,trs(:,1),1) 455 call Scatter(trs_tmp,trs(:,1)) 456 459 457 c print*, 'apres starttrac' 460 458 … … 923 921 if (lafin) then 924 922 print*, 'c est la fin de la physique' 925 call Gather Field_omp(trs(:,1),trs_mpi,1)923 call Gather(trs(:,1),trs_tmp) 926 924 c$OMP MASTER 927 call GatherField(trs_mpi,trs_tmp,1) 928 if (phy_rank==0) then 925 if (is_mpi_root) then 929 926 930 927 open (99,file='restarttrac', form='formatted') 931 do i=1,klon 928 do i=1,klon_glo 932 929 write(99,*) trs_tmp(i) 933 930 enddo -
LMDZ4/trunk/libf/phylmd/readsulfate.F
r766 r776 3 3 ! 4 4 SUBROUTINE readsulfate (r_day, first, sulfate_p) 5 USE dimphy, klon=>klon2,klon2=>klon 5 USE dimphy, ONLY : klev 6 USE mod_grid_phy_lmdz, klon=>klon_glo 7 USE mod_phys_lmdz_para 6 8 IMPLICIT none 7 9 … … 84 86 allocate( so4(klon, klev, 12) ) 85 87 allocate( so4_out(klon, klev)) 86 allocate(sulfate_mpi(klon_mpi,klev))87 88 first2=.false. 88 89 89 90 endif 90 91 91 if ( phy_rank==0) then92 if (is_mpi_root) then 92 93 93 94 iday = INT(r_day) … … 288 289 endif ! phy_rank==0 289 290 290 call ScatterField(real(sulfate),real(sulfate_mpi),klev)291 291 c$OMP END MASTER 292 call ScatterField_omp(real(sulfate_mpi),real(sulfate_p) 293 . ,klev) 292 call Scatter(real(sulfate),real(sulfate_p)) 294 293 295 294 RETURN … … 305 304 306 305 SUBROUTINE readsulfate_preind (r_day, first, pi_sulfate_p) 307 USE dimphy, klon=>klon2,klon2=>klon 306 USE dimphy, ONLY : klev 307 USE mod_grid_phy_lmdz, klon=>klon_glo 308 USE mod_phys_lmdz_para 308 309 IMPLICIT none 309 310 … … 347 348 REAL*8 pi_sulfate (klon, klev) ! Number conc. sulfate (monthly mean data, 348 349 ! from fil 349 REAL*8,SAVE,ALLOCATABLE :: pi_sulfate_mpi(:,:)350 350 c 351 351 c Local Variables: … … 377 377 allocate( pi_so4(klon, klev, 12) ) 378 378 allocate( pi_so4_out(klon, klev)) 379 allocate(pi_sulfate_mpi (klon_mpi, klev))380 379 first2=.false. 381 380 382 381 endif 383 382 384 if ( phy_rank==0) then383 if (is_mpi_root) then 385 384 386 385 … … 528 527 ENDIF ! Was this the beginning of a new day? 529 528 530 endif ! phy_rank==0 531 532 call ScatterField(real(pi_sulfate),real(pi_sulfate_mpi),klev) 529 endif ! is_mpi_root==0 530 533 531 c$OMP END MASTER 534 call ScatterField_omp(real(pi_sulfate_mpi),real(pi_sulfate_p) 535 .,klev) 532 call Scatter(real(pi_sulfate),real(pi_sulfate_p)) 536 533 537 534 RETURN -
LMDZ4/trunk/libf/phylmd/soil.F
r766 r776 4 4 SUBROUTINE soil(ptimestep, indice, knon, snow, ptsrf, ptsoil, 5 5 s pcapcal, pfluxgrd) 6 use dimphy 6 USE dimphy 7 USE mod_phys_lmdz_para 7 8 IMPLICIT NONE 8 9 … … 73 74 REAL zdz2(nsoilmx),z1(klon,nbsrf) 74 75 REAL,SAVE :: min_period,dalph_soil 76 c$OMP THREADPRIVATE( min_period,dalph_soil) 75 77 REAL ztherm_i(klon) 76 78 … … 151 153 dalph_soil=2. ! rapport entre les epaisseurs de 2 couches succ. 152 154 c$OMP MASTER 155 IF (is_mpi_root) THEN 153 156 OPEN(99,file='soil.def',status='old',form='formatted',err=9999) 154 157 READ(99,*) min_period … … 159 162 CLOSE(99) 160 163 9999 CONTINUE 164 ENDIF ! is_mpi_root 161 165 c$OMP END MASTER 162 c$OMP BARRIER 166 CALL bcast(min_period) 167 CALL bcast(dalph_soil) 163 168 164 169 c la premiere couche represente un dixieme de cycle diurne -
LMDZ4/trunk/libf/phylmd/tetalevel.F
r766 r776 1 ! 2 ! $Header$ 3 ! 1 4 c================================================================ 2 5 c================================================================ -
LMDZ4/trunk/libf/phylmd/thermcell.F
r766 r776 1 ! 2 ! $Header$ 3 ! 4 1 5 SUBROUTINE thermcell(ngrid,nlay,ptimestep 2 6 s ,pplay,pplev,pphi -
LMDZ4/trunk/libf/phylmd/thermcell.h
r766 r776 1 ! 2 ! $Header$ 3 ! 4 1 5 integer iflag_thermals,nsplit_thermals 2 6 real r_aspect_thermals,l_mix_thermals,tho_thermals -
LMDZ4/trunk/libf/phylmd/transp_lay.F
r766 r776 1 ! 2 ! $Header$ 3 ! 1 4 SUBROUTINE transp_lay (paprs,tsol, 2 5 e t, q, u, v, geom, -
LMDZ4/trunk/libf/phylmd/undefSTD.F
r766 r776 1 ! 2 ! $Header$ 3 ! 1 4 SUBROUTINE undefSTD(nlevSTD,itap,tlevSTD, 2 5 $ dtime,ecrit_hf, -
LMDZ4/trunk/libf/phylmd/wrgradsfi.F
r766 r776 3 3 ! 4 4 subroutine wrgradsfi(if,nl,fieldfi_p,name,titlevar) 5 use dimphy 5 USE dimphy 6 USE mod_grid_phy_lmdz 7 USE mod_phys_lmdz_para 6 8 implicit none 7 9 … … 14 16 integer if,nl 15 17 real fieldfi_p(klon,nl) 16 real fieldfi(klon 2,nl)18 real fieldfi(klon_glo,nl) 17 19 real fielddyn((iim+1)*(jjm+1),llm) 18 20 character*10 name … … 26 28 27 29 c print*,'Transformation pour ',name 28 call GatherField(fieldfi_p,fieldfi,nl) 29 30 if (phy_rank==0) then 30 call Gather(fieldfi_p,fieldfi) 31 32 c$OMP MASTER 33 if (is_mpi_root) then 31 34 call gr_fi_dyn(nl,klon,iim+1,jjm+1,fieldfi,fielddyn) 35 32 36 c print*,'Transformation OK ' 33 37 call wrgrads(if,nl,fielddyn,name,titlevar) 34 38 c print*,'Ecriture ok' 35 39 endif 40 c$OMP END MASTER 36 41 37 42 return -
LMDZ4/trunk/libf/phylmd/write_field_phy.F90
r765 r776 1 ! 2 ! $Header$ 3 ! 1 4 MODULE write_field_phy 2 5 … … 5 8 SUBROUTINE WriteField_phy(name,Field,ll) 6 9 USE dimphy 10 USE mod_phys_lmdz_para 11 USE mod_grid_phy_lmdz 7 12 USE Write_Field 13 8 14 IMPLICIT NONE 9 15 include 'dimensions90.h' … … 14 20 real, dimension(klon_omp,ll) :: Field 15 21 real,save,allocatable :: Field_tmp(:,:) 16 real, dimension(klon 2,ll):: New_Field22 real, dimension(klon_glo,ll):: New_Field 17 23 real, dimension(iim,jjp1,ll):: Field_2d 18 19 if (omp_rank==0) then20 allocate(Field_tmp(klon_mpi,ll))21 endif22 23 !$OMP BARRIER24 CALL GatherField_omp(Field,Field_tmp,ll)25 !$OMP BARRIER26 24 27 if (omp_rank==0) then28 CALL GatherField(Field_tmp,New_Field,ll) 29 IF ( phy_rank==0) THEN30 CALL gr_fi_ecrit(ll, klon2,iim,jjp1, New_Field, Field_2d)25 CALL Gather(Field,New_Field) 26 !$OMP MASTER 27 IF (is_mpi_root) THEN 28 CALL Grid1Dto2D_glo(New_Field,Field_2D) 31 29 CALL WriteField(name,Field_2d) 32 30 ENDIF 33 deallocate(Field_tmp) 34 endif 35 !$OMP BARRIER 31 !$OMP END MASTER 32 36 33 37 34 END SUBROUTINE WriteField_phy -
LMDZ4/trunk/libf/phylmd/write_histREGDYN.h
r766 r776 4 4 if (ok_regdyn) then 5 5 6 if ( monocpu) then6 if (is_sequential) then 7 7 8 8 … … 59 59 endif 60 60 61 endif ! monocpu61 endif ! is_sequential 62 62 63 63 endif -
LMDZ4/trunk/libf/phylmd/write_histday_seri.h
r766 r776 2 2 c $Header$ 3 3 c 4 IF (is_sequential) THEN 5 4 6 IF (monocpu) THEN 5 7 -
LMDZ4/trunk/libf/phylmd/write_histhf.h
r766 r776 329 329 CALL histwrite_phy(nid_hf, "SWupTOA",itau_w,zx_tmp_fi2d) 330 330 c 331 IF ( monocpu) THEN331 IF (is_sequential) THEN 332 332 cym CALL gr_fi_ecrit(nbteta,klon,iim,jjmp1,PVteta,zx_tmp_3dte) 333 333 DO k=1, nbteta -
LMDZ4/trunk/libf/phylmd/write_paramLMDZ_phy.h
r766 r776 1 1 c 2 IF ( monocpu) THEN2 IF (is_sequential) THEN 3 3 4 4 ndex2d = 0
Note: See TracChangeset
for help on using the changeset viewer.