Changeset 684
- Timestamp:
- Apr 4, 2006, 5:00:40 PM (19 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/calcul_STDlev.h
r644 r684 6 6 c 7 7 CALL ini_undefSTD(nlevSTD,itap, 8 $ ecrit_day,ecrit_mth,8 $ dtime,ecrit_day,ecrit_mth, 9 9 $ tnondef,tsumSTD) 10 10 CALL ini_undefSTD(nlevSTD,itap, 11 $ ecrit_day,ecrit_mth,11 $ dtime,ecrit_day,ecrit_mth, 12 12 $ tnondef,usumSTD) 13 13 CALL ini_undefSTD(nlevSTD,itap, 14 $ ecrit_day,ecrit_mth,14 $ dtime,ecrit_day,ecrit_mth, 15 15 $ tnondef,vsumSTD) 16 16 CALL ini_undefSTD(nlevSTD,itap, 17 $ ecrit_day,ecrit_mth,17 $ dtime,ecrit_day,ecrit_mth, 18 18 $ tnondef,wsumSTD) 19 19 CALL ini_undefSTD(nlevSTD,itap, 20 $ ecrit_day,ecrit_mth,20 $ dtime,ecrit_day,ecrit_mth, 21 21 $ tnondef,phisumSTD) 22 22 CALL ini_undefSTD(nlevSTD,itap, 23 $ ecrit_day,ecrit_mth,23 $ dtime,ecrit_day,ecrit_mth, 24 24 $ tnondef,qsumSTD) 25 25 CALL ini_undefSTD(nlevSTD,itap, 26 $ ecrit_day,ecrit_mth,26 $ dtime,ecrit_day,ecrit_mth, 27 27 $ tnondef,rhsumSTD) 28 28 CALL ini_undefSTD(nlevSTD,itap, 29 $ ecrit_day,ecrit_mth,29 $ dtime,ecrit_day,ecrit_mth, 30 30 $ tnondef,uvsumSTD) 31 31 CALL ini_undefSTD(nlevSTD,itap, 32 $ ecrit_day,ecrit_mth,32 $ dtime,ecrit_day,ecrit_mth, 33 33 $ tnondef,vqsumSTD) 34 34 CALL ini_undefSTD(nlevSTD,itap, 35 $ ecrit_day,ecrit_mth,35 $ dtime,ecrit_day,ecrit_mth, 36 36 $ tnondef,vTsumSTD) 37 37 CALL ini_undefSTD(nlevSTD,itap, 38 $ ecrit_day,ecrit_mth,38 $ dtime,ecrit_day,ecrit_mth, 39 39 $ tnondef,wqsumSTD) 40 40 CALL ini_undefSTD(nlevSTD,itap, 41 $ ecrit_day,ecrit_mth,41 $ dtime,ecrit_day,ecrit_mth, 42 42 $ tnondef,vphisumSTD) 43 43 CALL ini_undefSTD(nlevSTD,itap, 44 $ ecrit_day,ecrit_mth,44 $ dtime,ecrit_day,ecrit_mth, 45 45 $ tnondef,wTsumSTD) 46 46 CALL ini_undefSTD(nlevSTD,itap, 47 $ ecrit_day,ecrit_mth,47 $ dtime,ecrit_day,ecrit_mth, 48 48 $ tnondef,u2sumSTD) 49 49 CALL ini_undefSTD(nlevSTD,itap, 50 $ ecrit_day,ecrit_mth,50 $ dtime,ecrit_day,ecrit_mth, 51 51 $ tnondef,v2sumSTD) 52 52 CALL ini_undefSTD(nlevSTD,itap, 53 $ ecrit_day,ecrit_mth,53 $ dtime,ecrit_day,ecrit_mth, 54 54 $ tnondef,T2sumSTD) 55 55 c … … 159 159 oknondef(1:klon,1:nlevSTD,1:nout)=.TRUE. 160 160 CALL undefSTD(nlevSTD,itap,tlevSTD, 161 $ ecrit_hf,161 $ dtime,ecrit_hf, 162 162 $ oknondef,tnondef,tsumSTD) 163 163 c 164 164 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 165 165 CALL undefSTD(nlevSTD,itap,ulevSTD, 166 $ ecrit_hf,166 $ dtime,ecrit_hf, 167 167 $ oknondef,tnondef,usumSTD) 168 168 c 169 169 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 170 170 CALL undefSTD(nlevSTD,itap,vlevSTD, 171 $ ecrit_hf,171 $ dtime,ecrit_hf, 172 172 $ oknondef,tnondef,vsumSTD) 173 173 c 174 174 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 175 175 CALL undefSTD(nlevSTD,itap,wlevSTD, 176 $ ecrit_hf,176 $ dtime,ecrit_hf, 177 177 $ oknondef,tnondef,wsumSTD) 178 178 c 179 179 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 180 180 CALL undefSTD(nlevSTD,itap,philevSTD, 181 $ ecrit_hf,181 $ dtime,ecrit_hf, 182 182 $ oknondef,tnondef,phisumSTD) 183 183 c 184 184 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 185 185 CALL undefSTD(nlevSTD,itap,qlevSTD, 186 $ ecrit_hf,186 $ dtime,ecrit_hf, 187 187 $ oknondef,tnondef,qsumSTD) 188 188 c 189 189 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 190 190 CALL undefSTD(nlevSTD,itap,rhlevSTD, 191 $ ecrit_hf,191 $ dtime,ecrit_hf, 192 192 $ oknondef,tnondef,rhsumSTD) 193 193 c 194 194 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 195 195 CALL undefSTD(nlevSTD,itap,uvSTD, 196 $ ecrit_hf,196 $ dtime,ecrit_hf, 197 197 $ oknondef,tnondef,uvsumSTD) 198 198 c 199 199 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 200 200 CALL undefSTD(nlevSTD,itap,vqSTD, 201 $ ecrit_hf,201 $ dtime,ecrit_hf, 202 202 $ oknondef,tnondef,vqsumSTD) 203 203 c 204 204 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 205 205 CALL undefSTD(nlevSTD,itap,vTSTD, 206 $ ecrit_hf,206 $ dtime,ecrit_hf, 207 207 $ oknondef,tnondef,vTsumSTD) 208 208 c 209 209 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 210 210 CALL undefSTD(nlevSTD,itap,wqSTD, 211 $ ecrit_hf,211 $ dtime,ecrit_hf, 212 212 $ oknondef,tnondef,wqsumSTD) 213 213 c 214 214 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 215 215 CALL undefSTD(nlevSTD,itap,vphiSTD, 216 $ ecrit_hf,216 $ dtime,ecrit_hf, 217 217 $ oknondef,tnondef,vphisumSTD) 218 218 c 219 219 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 220 220 CALL undefSTD(nlevSTD,itap,wTSTD, 221 $ ecrit_hf,221 $ dtime,ecrit_hf, 222 222 $ oknondef,tnondef,wTsumSTD) 223 223 c 224 224 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 225 225 CALL undefSTD(nlevSTD,itap,u2STD, 226 $ ecrit_hf,226 $ dtime,ecrit_hf, 227 227 $ oknondef,tnondef,u2sumSTD) 228 228 c 229 229 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 230 230 CALL undefSTD(nlevSTD,itap,v2STD, 231 $ ecrit_hf,231 $ dtime,ecrit_hf, 232 232 $ oknondef,tnondef,v2sumSTD) 233 233 c 234 234 oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE. 235 235 CALL undefSTD(nlevSTD,itap,T2STD, 236 $ ecrit_hf,236 $ dtime,ecrit_hf, 237 237 $ oknondef,tnondef,T2sumSTD) 238 238 c … … 240 240 c 241 241 CALL moy_undefSTD(nlevSTD,itap, 242 $ ecrit_day,ecrit_mth,ecrit_hf2mth,242 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 243 243 $ tnondef,tsumSTD) 244 244 c 245 245 CALL moy_undefSTD(nlevSTD,itap, 246 $ ecrit_day,ecrit_mth,ecrit_hf2mth,246 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 247 247 $ tnondef,usumSTD) 248 248 c 249 249 CALL moy_undefSTD(nlevSTD,itap, 250 $ ecrit_day,ecrit_mth,ecrit_hf2mth,250 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 251 251 $ tnondef,vsumSTD) 252 252 c 253 253 CALL moy_undefSTD(nlevSTD,itap, 254 $ ecrit_day,ecrit_mth,ecrit_hf2mth,254 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 255 255 $ tnondef,wsumSTD) 256 256 c 257 257 CALL moy_undefSTD(nlevSTD,itap, 258 $ ecrit_day,ecrit_mth,ecrit_hf2mth,258 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 259 259 $ tnondef,phisumSTD) 260 260 c 261 261 CALL moy_undefSTD(nlevSTD,itap, 262 $ ecrit_day,ecrit_mth,ecrit_hf2mth,262 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 263 263 $ tnondef,qsumSTD) 264 264 c 265 265 CALL moy_undefSTD(nlevSTD,itap, 266 $ ecrit_day,ecrit_mth,ecrit_hf2mth,266 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 267 267 $ tnondef,rhsumSTD) 268 268 c 269 269 CALL moy_undefSTD(nlevSTD,itap, 270 $ ecrit_day,ecrit_mth,ecrit_hf2mth,270 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 271 271 $ tnondef,uvsumSTD) 272 272 c 273 273 CALL moy_undefSTD(nlevSTD,itap, 274 $ ecrit_day,ecrit_mth,ecrit_hf2mth,274 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 275 275 $ tnondef,vqsumSTD) 276 276 c 277 277 CALL moy_undefSTD(nlevSTD,itap, 278 $ ecrit_day,ecrit_mth,ecrit_hf2mth,278 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 279 279 $ tnondef,vTsumSTD) 280 280 c 281 281 CALL moy_undefSTD(nlevSTD,itap, 282 $ ecrit_day,ecrit_mth,ecrit_hf2mth,282 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 283 283 $ tnondef,wqsumSTD) 284 284 c 285 285 CALL moy_undefSTD(nlevSTD,itap, 286 $ ecrit_day,ecrit_mth,ecrit_hf2mth,286 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 287 287 $ tnondef,vphisumSTD) 288 288 c 289 289 CALL moy_undefSTD(nlevSTD,itap, 290 $ ecrit_day,ecrit_mth,ecrit_hf2mth,290 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 291 291 $ tnondef,wTsumSTD) 292 292 c 293 293 CALL moy_undefSTD(nlevSTD,itap, 294 $ ecrit_day,ecrit_mth,ecrit_hf2mth,294 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 295 295 $ tnondef,u2sumSTD) 296 296 c 297 297 CALL moy_undefSTD(nlevSTD,itap, 298 $ ecrit_day,ecrit_mth,ecrit_hf2mth,298 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 299 299 $ tnondef,v2sumSTD) 300 300 c 301 301 CALL moy_undefSTD(nlevSTD,itap, 302 $ ecrit_day,ecrit_mth,ecrit_hf2mth,302 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 303 303 $ tnondef,T2sumSTD) 304 304 c -
LMDZ4/trunk/libf/phylmd/calcul_simulISCCP.h
r644 r684 2 2 c $Header$ 3 3 c 4 cIM 090704 BEG 5 c nbapp_isccp=48 6 c nbapp_isccp=8 7 c nbapp_isccp=6 8 c nbapp_isccp=4 !CPU < 30min pour 9pdt/jour 9 nbapp_isccp=3 !CPU ?? 10pdt/jour 10 c nbapp_isccp=2 11 c nbapp_isccp=1 12 isccppas=NINT(86400./dtime/nbapp_isccp) 13 cIM 010904 BEG 14 cIM IF (MOD(itap,isccppas).EQ.0) THEN 15 c PRINT*,'itap,isccppas,xjour',itap,isccppas,xjour 4 c on appelle le simulateur ISCCP toutes les 3h 5 c et on fait des sorties 1 fois par jour 6 c 7 c ATTENTION : le temps de calcul peut augmenter considerablement ! 8 c =============================================================== c 9 DO n=1, napisccp 10 c 11 nbapp_isccp=30 !appel toutes les 15h 12 isccppas=NINT((itap*dtime)/3600.) !Nb. d'heures de la physique 13 freqin_pdt(n)=ifreq_isccp(n) 16 14 c 17 15 cIM initialisation nbsunlit pour calculs simulateur ISCCP pdt la journee … … 20 18 sunlit(i)=1 21 19 IF(rmu0(i).EQ.0.) sunlit(i)=0 22 nbsunlit(1,i )=FLOAT(sunlit(i))20 nbsunlit(1,i,n)=FLOAT(sunlit(i)) 23 21 ENDDO 24 22 c … … 27 25 convfra(:,:)=rnebcon(:,:) 28 26 convliq(:,:)=rnebcon(:,:)*clwcon(:,:) 29 cIM Amip2 beg30 27 c 31 28 CALL newmicro (paprs, pplay,ok_newmicro, … … 38 35 s cldtaupi, re, fl) 39 36 c 40 cIM Amip2 end41 42 c43 37 cIM calcul tau, emissivite nuages startiformes 44 c45 cIM Amip2 beg46 38 c 47 39 CALL newmicro (paprs, pplay,ok_newmicro, … … 53 45 e bl95_b0, bl95_b1, 54 46 s cldtaupi, re, fl) 55 c56 cIM Amip2 end57 47 c 58 48 cldtot(:,:)=min(max(cldfra(:,:),rnebcon(:,:)),1.) … … 86 76 close(99) 87 77 c 88 cIM: calcul coordonnees regions pour statistiques distribution89 cIM: nuages en ftion du regime dynamique pour regions oceaniques90 c91 IF (ok_regdyn) THEN !histREGDYN92 c93 #include "ini_coord_REGDYN.h"94 c95 ENDIF !ok_regdyn96 c97 78 ENDIF !debut 98 79 c 99 80 cIM: initialisation de seed 81 c 100 82 DO i=1, klon 101 seed(i)=i+100 83 c 84 aa=ABS(paprs(i,2)-NINT(paprs(i,2))) 85 seed_re(i,n)=1000.*aa+1. 86 seed(i,n)=NINT(seed_re(i,n)) 87 c 88 IF(seed(i,n).LT.50) THEN 89 c print*,'seed<50 avant i seed itap paprs',i, 90 c . seed(i,n),itap,paprs(i,2) 91 seed(i,n)=50+seed(i,n)+i+itap 92 seed_old(i,n)=seed(i,n) 93 c 94 IF(itap.GT.1) then 95 IF(seed(i,n).EQ.seed_old(i,n)) THEN 96 seed(i,n)=seed(i,n)+10 97 seed_old(i,n)=seed(i,n) 98 ENDIF 99 ENDIF 100 c 101 c print*,'seed<50 apres i seed itap paprs',i, 102 c . seed(i,n),itap,paprs(i,2) 103 c 104 ELSE IF(seed(i,n).EQ.0) THEN 105 print*,'seed=0 i paprs aa seed_re', 106 . i,paprs(i,2),aa,seed_re(i,n) 107 STOP 108 ELSE IF(seed(i,n).LT.0) THEN 109 print*,'seed < 0, i seed itap paprs',i, 110 . seed(i,n),itap,paprs(i,2) 111 STOP 112 ENDIF 113 c 102 114 ENDDO 103 115 c … … 126 138 & debug, 127 139 & debugcol, 128 cIM 300704 & itap, debut,129 cIM 300604 klon !BAD130 140 & klon, 131 141 & sunlit, 132 142 & klev, 133 & ncol ,134 & seed ,143 & ncol(n), 144 & seed(:,n), 135 145 & pfull, 136 146 & phalf, … … 143 153 & emsfc_lw, 144 154 & at, dem_sH2B, dem_cH2B, 145 & fq_isccp ,146 & totalcldarea ,147 & meanptop ,148 & meantaucld ,149 & boxtau ,150 & boxptop )155 & fq_isccp(:,:,:,n), 156 & totalcldarea(:,n), 157 & meanptop(:,n), 158 & meantaucld(:,n), 159 & boxtau(:,:,n), 160 & boxptop(:,:,n)) 151 161 c 152 c calcul regime dynamique sur les regions fixees 153 c 154 IF (ok_regdyn) THEN !histREGDYN 155 c 156 #include "calcul_REGDYN.h" 157 c 158 ENDIF !(ok_regdyn) THEN !histREGDYN 159 cIM ENDIF !(MOD(itaprad,radpas).EQ.0) THEN 160 cIM 010904 END 162 ENDDO !n=1, napisccp 163 -
LMDZ4/trunk/libf/phylmd/clesphys.h
r652 r684 26 26 LOGICAL ok_isccp, ok_regdyn 27 27 REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 28 INTEGER ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day 29 INTEGER ecrit_mth, ecrit_tra, ecrit_reg 28 REAL ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day 29 REAL ecrit_mth, ecrit_tra, ecrit_reg 30 REAL freqin_isccp, freqout_isccp 31 INTEGER :: ip_ebil_phy 32 LOGICAL ok_slab_sicOBS 30 33 31 34 COMMON/clesphys/cycle_diurne, soil_model, new_oliq, … … 39 42 S , ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day 40 43 S , ecrit_mth, ecrit_tra, ecrit_reg, bug_ozone 44 S , freqin_isccp, freqout_isccp, ip_ebil_phy 45 S , ok_slab_sicOBS -
LMDZ4/trunk/libf/phylmd/conf_phys.F90
r659 r684 7 7 subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, & 8 8 & fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, & 9 & ratqsbas,ratqshaut,if_ebil, & 9 !IM& ratqsbas,ratqshaut,ip_ebil_phy, & 10 & ratqsbas,ratqshaut, & 10 11 & ok_ade, ok_aie, & 11 12 & bl95_b0, bl95_b1,& … … 48 49 REAL :: bl95_b0, bl95_b1 49 50 real :: fact_cldcon, facttemps,ratqsbas,ratqshaut 50 integer :: iflag_cldcon, if_ebil 51 !IM integer :: iflag_cldcon, if_ebil 52 integer :: iflag_cldcon 51 53 52 54 ! Local … … 139 141 ! 140 142 ! 141 !Config Key = i f_ebil143 !Config Key = ip_ebil_phy 142 144 !Config Desc = Niveau de sortie pour les diags bilan d'energie 143 145 !Config Def = 0 … … 145 147 ! 146 148 ! 147 i f_ebil= 0148 call getin('i f_ebil', if_ebil)149 ip_ebil_phy = 0 150 call getin('ip_ebil_phy', ip_ebil_phy) 149 151 !! 150 152 !! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG … … 553 555 !Config Key = lev_histhf 554 556 !Config Desc = 555 !Config Def = 0556 !Config Help = 557 ! 558 lev_histhf = 0557 !Config Def = 1 558 !Config Help = 559 ! 560 lev_histhf = 1 559 561 call getin('lev_histhf',lev_histhf) 560 562 … … 580 582 !Config Key = type_run 581 583 !Config Desc = 582 !Config Def = 'AMIP' ou'ENSP'584 !Config Def = 'AMIP'/'CFMIP' ou 'CLIM'/'ENSP' 583 585 !Config Help = 584 586 ! … … 597 599 598 600 ! 599 !600 !Config Key = ok_regdyn601 !Config Desc =602 !Config Def = 'AMIP'603 !Config Help =604 !605 ! ok_regdyn = .true.606 ok_regdyn = .false.607 call getin('ok_regdyn',ok_regdyn)608 !609 601 ! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone 610 602 ! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc" … … 642 634 call getin('latmax_ins',latmax_ins) 643 635 ! 644 !Config Key = ecrit_ins645 !Config Desc =646 !Config Def = NINT(86400./dtime/48.) !a chaque pas de temps physique647 !Config Help =648 !649 ! ecrit_ins = NINT(86400./dtime/48.)650 ecrit_ins = NINT(86400./48.)651 call getin('ecrit_ins',ecrit_ins)652 !653 636 !Config Key = ecrit_hf 654 637 !Config Desc = 655 !Config Def = NINT(86400./dtime *0.25) !toutes les 6h 656 !Config Help = 657 ! 658 ! ecrit_hf = NINT(86400./dtime *0.25) 659 ecrit_hf = NINT(86400. *0.25) 638 !Config Def = 1./8. !toutes les 3h 639 !Config Help = 640 ! 641 ecrit_hf = 1./8. 660 642 call getin('ecrit_hf',ecrit_hf) 661 643 ! 662 !Config Key = ecrit_hf2mth663 !Config Desc =664 !Config Def = 4*30 !ecriture mens. a partir de val. inst. toutes les 6h665 !Config Help =666 !667 ecrit_hf2mth = 4*30668 call getin('ecrit_hf2mth',ecrit_hf2mth)669 !670 644 !Config Key = ecrit_day 671 645 !Config Desc = 672 !Config Def = NINT(86400./dtime *1.0) !tous les jours 673 !Config Help = 674 ! 675 ! ecrit_day = NINT(86400./dtime *1.0) 676 ecrit_day = NINT(86400. *1.0) 646 !Config Def = 1.0 !tous les jours 647 !Config Help = 648 ! 649 ecrit_day = 1.0 677 650 call getin('ecrit_day',ecrit_day) 678 651 ! 679 652 !Config Key = ecrit_mth 680 653 !Config Desc = 681 !Config Def = NINT(86400./dtime *ecritphy) !1fois par mois 682 !Config Help = 683 ! 684 ! ecrit_mth = NINT(86400./dtime *ecritphy) 685 ecrit_mth = NINT(86400. *ecritphy) 654 !Config Def = 30. !tous les 30jours (1 fois par mois) 655 !Config Help = 656 ! 657 ecrit_mth = 30. 686 658 call getin('ecrit_mth',ecrit_mth) 687 659 ! 688 !Config Key = ecrit_tra689 !Config Desc =690 !Config Def = NINT(86400./dtime * ecritphy) !tous les ecritphy jours691 !Config Help =692 !693 ! ecrit_tra = NINT(86400./dtime * ecritphy)694 ecrit_tra = ecritphy695 call getin('ecrit_tra',ecrit_tra)696 !697 660 !Config Key = ecrit_reg 698 661 !Config Desc = 699 !Config Def = NINT(86400./dtime *0.25) !4 fois par jour 700 !Config Help = 701 ! 702 ! ecrit_reg = NINT(86400./dtime *0.25) !4 fois par jour 703 ecrit_reg = NINT(86400. *0.25) !4 fois par jour 662 !Config Def = 0.25 !4 fois par jour 663 !Config Help = 664 ! 665 ecrit_reg = 0.25 !4 fois par jour 704 666 call getin('ecrit_reg',ecrit_reg) 705 667 ! … … 713 675 bug_ozone = .false. 714 676 call getin('bug_ozone',bug_ozone) 715 677 ! 678 ! 679 !Config Key = ok_slab_sicOBS 680 !Config Desc = 681 !Config Def = .true. 682 !Config Help = Pour faire tourner le slab avec fraction 683 ! de glace de mer Observee 684 ! 685 ok_slab_sicOBS = .true. 686 call getin('ok_slab_sicOBS', ok_slab_sicOBS) 716 687 717 688 write(numout,*)' ##############################################' … … 722 693 write(numout,*)' Sortie mensuelle = ', ok_mensuel 723 694 write(numout,*)' Sortie instantanee = ', ok_instan 724 write(numout,*)' Sortie bilan d''energie, i f_ebil =', if_ebil695 write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy 725 696 write(numout,*)' Excentricite = ',R_ecc 726 697 write(numout,*)' Equinoxe = ',R_peri … … 769 740 write(numout,*)' type_run = ',type_run 770 741 write(numout,*)' ok_isccp = ',ok_isccp 771 write(numout,*)' ok_regdyn = ',ok_regdyn772 742 write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',& 773 743 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 774 write(numout,*)' ecrit_ ins, hf, hf2mth, day, mth, reg, tra',&775 & ecrit_ ins, ecrit_hf, ecrit_hf2mth, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra744 write(numout,*)' ecrit_ hf, day, mth, reg',& 745 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg 776 746 write(numout,*)' bug_ozone = ', bug_ozone 777 747 return … … 802 772 !Config Help = 803 773 ! 804 tau_calv = 360. *10.774 tau_calv = 360. 805 775 call getin('tau_calv',tau_calv) 806 776 -
LMDZ4/trunk/libf/phylmd/ini_bilKP_ave.h
r644 r684 5 5 c 6 6 zsto = dtime 7 zout = dtime * FLOAT(ecrit_day)7 zout = ecrit_day 8 8 typeval=tave 9 9 c -
LMDZ4/trunk/libf/phylmd/ini_bilKP_ins.h
r644 r684 34 34 if(zx_lon(i,1).le.lonmax_ins) imax_ins=i+1 35 35 enddo 36 do j=1,jjmp1 -136 do j=1,jjmp1 37 37 if(zx_lat(1,j).ge.latmin_ins) jmax_ins=j 38 38 if(zx_lat(1,j).gt.latmax_ins) jmin_ins=j -
LMDZ4/trunk/libf/phylmd/ini_histISCCP.h
r644 r684 3 3 ! 4 4 IF (ok_isccp) THEN 5 c 6 ndex2d = 0 7 ndex3d = 0 5 8 c 6 9 c pour les champs instantannes, il faut mettre la meme valeur pour … … 9 12 c zstophy = frequence de stockage des champs tous les pdt physiques 10 13 c zout = frequence d'ecriture des champs 11 zstophy = dtime 14 cIM 300505 zstophy = dtime 15 c appel du simulateur toutes les 3heures 16 zcals(1) = dtime *6. !toutes les 3h (en s) 17 DO n=1, napisccp 18 zcalh(n) = zcals(n)/3600. !stoutes les Xh (en heures) 19 ENDDO !n 12 20 c 13 21 c ecriture 8 fois par jour … … 18 26 c zout = dtime 19 27 c 28 c IF(freqout_isccp.EQ.1.) THEN 29 c ecriture jounaliere 30 zout_isccp(1) = ecrit_day !(en s) 20 31 c ecriture mensuelle 21 zout = dtime * ecrit_mth 22 c zout = dtime * ecrit_day 23 c 32 c zout = dtime * ecrit_mth !(en s) 33 DO n=1, napisccp 34 zoutj(n)=zout_isccp(n)/86400. !(en jours) 35 c 36 c le nombre de sous-colonnes ncol : ncol=(100.*zcalh)/zoutd 37 ncol(n)=NINT((100.*zcalh(n))/zoutj(n)) 38 PRINT*,'n ncol',n,ncol(n) 39 c 40 DO l=1, ncol(n) 41 vertlev(l,n)=float(l) 42 ENDDO !ncol 43 c 44 ENDDO !n 45 24 46 c PRINT*, 'La frequence de sortie ISCCP est de ', ecrit_isccp 25 47 c 26 48 idayref = day_ref 27 49 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 28 50 c write(*,*)'ISCCP ', itau_phy, zjulian 29 51 c 30 52 c … … 39 61 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 40 62 c 63 cIM BEG region 64 imin_ins=1 65 imax_ins=iim 66 jmin_ins=1 67 jmax_ins=jjmp1 68 do i=1,iim-1 69 if(zx_lon(i,1).lt.lonmin_ins) imin_ins=i 70 if(zx_lon(i,1).le.lonmax_ins) imax_ins=i+1 71 enddo 72 do j=1,jjmp1 73 if(zx_lat(1,j).ge.latmin_ins) jmax_ins=j 74 if(zx_lat(1,j).gt.latmax_ins) jmin_ins=j 75 enddo 76 c 77 print*,'On stoke le fichier histISCCP instantanne sur ', 78 s imin_ins,imax_ins,jmin_ins,jmax_ins 79 print*,'On stoke le fichier histISCCP instantanne sur ', 80 s zx_lon(imin_ins,1),zx_lon(imax_ins,1), 81 s zx_lat(1,jmin_ins),zx_lat(1,jmax_ins) 82 cIM END region 83 c 84 IF(1.EQ.0) THEN 41 85 CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),jjmp1,zx_lat(1,:), 42 86 . 1, iim, 1, jjmp1, 43 87 . itau_phy, zjulian, dtime, 44 88 . nhori, nid_isccp) 45 c 89 ENDIF !(1.EQ.0) THEN 90 c 91 CALL histbeg("histISCCP.nc", iim,zx_lon(:,1), 92 . jjmp1,zx_lat(1,:), 93 . imin_ins,imax_ins-imin_ins+1, 94 . jmin_ins,jmax_ins-jmin_ins+1, 95 . itau_phy, zjulian, dtime, 96 . nhori, nid_isccp) 97 c 98 IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN 46 99 CALL histvert(nid_isccp, "cldtopres","Cloud Top Pressure","mb", 47 100 . lmaxm1, cldtopres, nvert,'down') 101 ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN 102 CALL histvert(nid_isccp,"cldtopres3","Cloud Top Pressure","mb", 103 . lmax3, cldtopres3, nvert3,'down') 104 ENDIF 105 DO n=1, napisccp 106 CALL histvert(nid_isccp, "Nbcol"//verticaxe(n), 107 . "Nb of Column"//verticaxe(n),"1", 108 . ncol(n), vertlev(:,n), nvlev(n),'up') 109 ENDDO 48 110 c 49 111 IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN 50 112 c 51 113 c variables a ecrire 114 c 115 DO n=1, napisccp 52 116 c 53 117 DO k=1, kmaxm1 54 CALL histdef(nid_isccp, "cldISCCP_"//taulev(k) ,118 CALL histdef(nid_isccp, "cldISCCP_"//taulev(k)//typinout(n), 55 119 . "LMDZ ISCCP cld", "%", 56 120 . iim, jjmp1,nhori,lmaxm1,1,lmaxm1,nvert,32, 57 . "ave(X)", z stophy,zout)121 . "ave(X)", zcals(n),zout_isccp(n)) 58 122 ENDDO 59 123 c 60 CALL histdef(nid_isccp, "nsunlit" ,124 CALL histdef(nid_isccp, "nsunlit"//typinout(n), 61 125 . "Nb of calls with sunlit ", "%", 62 126 . iim, jjmp1,nhori,1,1,1,-99,32, 63 . "ave(X)", zstophy,zout) 127 . "ave(X)", zcals(n),zout_isccp(n)) 128 c 129 ENDDO 64 130 c 65 131 ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN 66 132 c 67 DO k=1, kmaxm1 68 DO l=1, lmaxm1 69 c 70 CALL histdef(nid_isccp, pclev(l)//taulev(k), 133 DO n=1, napisccp 134 c 135 c print*,'n=',n,' avant histdef(..LMDZ ISCCP cld' 136 c 137 DO k=1, kmaxm1 138 DO l=1, lmaxm1 139 c 140 CALL histdef(nid_isccp, pclev(l)//taulev(k)//typinout(n), 71 141 . "LMDZ ISCCP cld "//cnameisccp(l,k), "%", 72 142 . iim, jjmp1,nhori,1,1,1,-99,32, 73 . "ave(X)", zstophy,zout) 74 c 143 . "ave(X)", zcals(n),zout_isccp(n)) 144 c 145 ENDDO 75 146 ENDDO 76 ENDDO 77 c 78 CALL histdef(nid_isccp, "nsunlit",147 c 148 c print*,'n=',n,' avant histdef(..Nb of calls sunlit' 149 CALL histdef(nid_isccp, "nsunlit"//typinout(n), 79 150 . "Nb of calls with sunlit ", "%", 80 151 . iim, jjmp1,nhori,1,1,1,-99,32, 81 . "ave(X)", zstophy,zout) 82 c 152 . "ave(X)", zcals(n),zout_isccp(n)) 153 c 154 c 9types de nuages ISCCP-D2 155 CALL histdef(nid_isccp, "cirr", 156 . "Cirrus lk ISCCP-D2", "%", 157 . iim, jjmp1,nhori,1,1,1,-99,32, 158 . "ave(X)", zcals(n),zout_isccp(n)) 159 c 160 CALL histdef(nid_isccp, "cist", 161 . "CiSt lk ISCCP-D2", "%", 162 . iim, jjmp1,nhori,1,1,1,-99,32, 163 . "ave(X)", zcals(n),zout_isccp(n)) 164 c 165 CALL histdef(nid_isccp, "deep", 166 . "Deep lk ISCCP-D2", "%", 167 . iim, jjmp1,nhori,1,1,1,-99,32, 168 . "ave(X)", zcals(n),zout_isccp(n)) 169 c 170 CALL histdef(nid_isccp, "alcu", 171 . "AlCu lk ISCCP-D2", "%", 172 . iim, jjmp1,nhori,1,1,1,-99,32, 173 . "ave(X)", zcals(n),zout_isccp(n)) 174 c 175 CALL histdef(nid_isccp, "alst", 176 . "AlSt lk ISCCP-D2", "%", 177 . iim, jjmp1,nhori,1,1,1,-99,32, 178 . "ave(X)", zcals(n),zout_isccp(n)) 179 c 180 CALL histdef(nid_isccp, "nist", 181 . "NiSt lk ISCCP-D2", "%", 182 . iim, jjmp1,nhori,1,1,1,-99,32, 183 . "ave(X)", zcals(n),zout_isccp(n)) 184 c 185 CALL histdef(nid_isccp, "cumu", 186 . "Cumu lk ISCCP-D2", "%", 187 . iim, jjmp1,nhori,1,1,1,-99,32, 188 . "ave(X)", zcals(n),zout_isccp(n)) 189 c 190 CALL histdef(nid_isccp, "stcu", 191 . "StCu lk ISCCP-D2", "%", 192 . iim, jjmp1,nhori,1,1,1,-99,32, 193 . "ave(X)", zcals(n),zout_isccp(n)) 194 c 195 CALL histdef(nid_isccp, "stra", 196 . "Stra lk ISCCP-D2", "%", 197 . iim, jjmp1,nhori,1,1,1,-99,32, 198 . "ave(X)", zcals(n),zout_isccp(n)) 199 c 200 c 3_epaisseurs_optiques x3_pressions_au_sommet_des_nuages types de nuages 201 CALL histdef(nid_isccp, "thin", 202 . "Opt. thin ISCCP-D2 like clouds", "%", 203 . iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32, 204 . "ave(X)", zcals(n),zout_isccp(n)) 205 c 206 CALL histdef(nid_isccp, "mid", 207 . "Opt. intermediate ISCCP-D2 like clouds", "%", 208 . iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32, 209 . "ave(X)", zcals(n),zout_isccp(n)) 210 c 211 CALL histdef(nid_isccp, "thick", 212 . "Opt. thick ISCCP-D2 like clouds", "%", 213 . iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32, 214 . "ave(X)", zcals(n),zout_isccp(n)) 215 c 216 c IF(1.EQ.0) THEN 217 c IF(n.EQ.3) THEN 218 c IF(n.EQ.1) THEN 219 c 220 cIM 070905 BEG 221 IF(1.EQ.0) THEN 222 print*,'n=',n,' avant histdef(..boxptop axe' 223 cIM verif boxptop 224 CALL histdef(nid_isccp,"boxptop"//verticaxe(n), 225 . "Boxptop axe"//verticaxe(n), "mb", 226 . iim, jjmp1,nhori, 227 . ncol(n),1,ncol(n),nvlev(n),32, 228 cIM . ncolmx,1,ncolmx,nvlev,32, 229 cIM . "inst(X)",dtime,dtime) 230 . "ave(X)",zcals(n),zout_isccp(n)) 231 ENDIF !(1.EQ.0) THEN 232 cIM 070905 END 233 c ENDIF !(n.EQ.3) THEN 234 c ENDIF !(1.EQ.0) THEN 235 c 236 c print*,'n=',n,' avant histdef(..seed axe' 237 CALL histdef(nid_isccp, "seed"//verticaxe(n), 238 . "seed axe"//verticaxe(n), "-", 239 . iim, jjmp1,nhori,1,1,1,-99,32, 240 cIM . "inst(X)", dtime,dtime) 241 . "ave(X)", zcals(n),zout_isccp(n)) 242 c 243 ENDDO !n 83 244 ENDIF 84 c85 245 CALL histend(nid_isccp) 86 246 c -
LMDZ4/trunk/libf/phylmd/ini_histday.h
r644 r684 5 5 c 6 6 zstophy = dtime 7 zstoday= dtime * FLOAT(ecrit_day)8 zout = dtime * FLOAT(ecrit_day)7 zstoday= ecrit_day 8 zout = ecrit_day 9 9 c 10 10 idayref = day_ref … … 156 156 . "ave(X)", zstophy,zout) 157 157 c 158 CALL histdef(nid_day, "radsol", "Rayonnement au sol", "W/m2", 159 . iim,jjmp1,nhori, 1,1,1, -99, 32, 160 . "ave(X)", zstophy,zout) 161 c 158 162 CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-", 159 163 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 381 385 . 32, "ave(X)", zstophy,zout) 382 386 c 387 cIM AMMA-MIP 388 CALL histdef(nid_day, "LWdnSFC", 389 . "LW down at surface","W/m2", 390 . iim,jjmp1,nhori, 1,1,1,-99, 391 . 32, "ave(X)", zstophy,zout) 392 c 393 CALL histdef(nid_day, "LWupSFC", 394 . "LW down at surface","W/m2", 395 . iim,jjmp1,nhori, 1,1,1,-99, 396 . 32, "ave(X)", zstophy,zout) 397 c 398 cIM IF (iflag_con.GE.3) THEN 399 CALL histdef(nid_day, "ptop", 400 c . "Cld top pressure","mb", 401 . "Cld top pressure (cf ISCCP simulator)","Pa", 402 . iim,jjmp1,nhori, 1,1,1,-99, 403 . 32, "ave(X)", zstophy,zout) 404 cIM ENDIF !(iflag_con.GE.3) THEN 405 c 383 406 c================================================================= 384 407 c================================================================= … … 579 602 . "ave(X)", zstophy,zout) 580 603 c 604 cIM rajout AMMA-MIP 605 c 606 CALL histdef(nid_day, "dtcon", "Convection dT", "K/s", 607 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 608 . "ave(X)", zstophy,zout) 609 c 610 CALL histdef(nid_day, "dqcon", "Convection dQ", "(kg/kg)/s", 611 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 612 . "ave(X)", zstophy,zout) 613 c 614 CALL histdef(nid_day, "rh2m", "Relative humidity at 2m", "%", 615 . iim,jjmp1,nhori, 1,1,1, -99, 32, 616 . "ave(X)", zstophy,zout) 617 c 618 CALL histdef(nid_day, "qsat2m", "Saturant humidity at 2m", "%", 619 . iim,jjmp1,nhori, 1,1,1, -99, 32, 620 . "ave(X)", zstophy,zout) 621 c 622 CALL histdef(nid_day, "tpot", 623 . "Surface air potential temperature", "K", 624 . iim,jjmp1,nhori, 1,1,1, -99, 32, 625 . "ave(X)", zstophy,zout) 626 c 627 CALL histdef(nid_day, "tpote", 628 . "Surface air equivalent potential temperature", "K", 629 . iim,jjmp1,nhori, 1,1,1, -99, 32, 630 . "ave(X)", zstophy,zout) 631 c 581 632 ENDIF !lev_histday.GE.5 582 633 c================================================================= -
LMDZ4/trunk/libf/phylmd/ini_histday_seri.h
r644 r684 5 5 c 6 6 zstophy = dtime 7 zout = dtime * FLOAT(ecrit_day)7 zout = ecrit_day 8 8 c 9 9 idayref = day_ref -
LMDZ4/trunk/libf/phylmd/ini_histhf.h
r644 r684 5 5 IF (ok_hf) THEN 6 6 c 7 zstohf = dtime * FLOAT(ecrit_hf)7 zstohf = ecrit_hf 8 8 zstophy = dtime 9 zstoday = dtime * FLOAT(ecrit_day)10 zout = dtime * FLOAT(ecrit_hf)9 zstoday = ecrit_day 10 zout = ecrit_hf 11 11 c 12 12 idayref = day_ref -
LMDZ4/trunk/libf/phylmd/ini_histhf3d.h
r644 r684 4 4 c sorties hf 3d 5 5 c 6 cIM 130904 zstohf = dtime * REAL(NINT(86400./dtime*ecrit_hf)) 7 cIM 130904 zout = dtime * REAL(NINT(86400./dtime*ecrit_hf)) 8 cIM zstohf = dtime * FLOAT(ecrit_hf) 9 cIM zout = dtime * FLOAT(ecrit_hf) 10 zstohf = dtime * FLOAT(ecrit_hf) 11 zout = dtime * FLOAT(ecrit_hf) 6 zstohf = ecrit_hf 7 zout = ecrit_hf 12 8 c 13 9 c PRINT*, 'La frequence de sortie hf3d est de ', ecrit_hf -
LMDZ4/trunk/libf/phylmd/ini_histins.h
r644 r684 4 4 IF (ok_instan) THEN 5 5 c 6 zsto = dtime *ecrit_ins7 zout = dtime *ecrit_ins6 zsto = ecrit_ins 7 zout = ecrit_ins 8 8 c 9 9 idayref = day_ref -
LMDZ4/trunk/libf/phylmd/ini_histmth.h
r653 r684 5 5 c 6 6 zstophy = dtime 7 zstomth = dtime * FLOAT(ecrit_mth)!valeurs mensuelles "instantannees"7 zstomth = ecrit_mth !valeurs mensuelles "instantannees" 8 8 zstorad = dtime * FLOAT(radpas) !variables stockees toutes les 2h 9 zstohf = dtime *FLOAT(ecrit_hf) !variables stockees toutes les 6h 10 zout = dtime * FLOAT(ecrit_mth) !frequence des sorties : 1 val. par mois 11 c 12 cIM PRINT*,' La zstophy,zstorad,zstohf,zstomth,zout=', 13 cIM . zstophy,zstorad,zstohf,zstomth,zout 9 zstohf = ecrit_hf !variables stockees toutes les 6h 10 zout = ecrit_mth !frequence des sorties : 1 val. par mois 14 11 c 15 12 idayref = day_ref … … 31 28 c if(zx_lon(i,1).le.lonmax_histmth) imax_histmth=i+1 32 29 c enddo 33 c do j=1,jjmp1-1 30 cIM 220704 BAD?? do j=1,jjmp1-1 31 c do j=1,jjmp1 34 32 c if(zx_lat(1,j).ge.latmin_histmth) jmax_histmth=j 35 33 c if(zx_lat(1,j).gt.latmax_histmth) jmin_histmth=j … … 264 262 . "ave(X)", zstophy,zout) 265 263 c 264 CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2", 265 . iim,jjmp1,nhori, 1,1,1, -99, 32, 266 . "ave(X)", zstophy,zout) 267 c 266 268 CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2", 267 269 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 385 387 call histdef(nid_mth, "wbils_"//clnsurf(nsrf), 386 388 $ "Bilan sol "//clnsurf(nsrf), "W/m2", 389 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 390 $ "ave(X)", zstophy,zout) 391 C 392 call histdef(nid_mth, "wbilo_"//clnsurf(nsrf), 393 $ "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)", 387 394 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 388 395 $ "ave(X)", zstophy,zout) … … 572 579 . "ave(X)", zstophy,zout) 573 580 c 581 CALL histdef(nid_mth, "t_oce_sic", 582 . "Temp. mixte oce-sic","K", 583 . iim,jjmp1,nhori, 1,1,1, -99, 32, 584 . "ave(X)", zstophy,zout) 585 c 574 586 IF (OCEAN.EQ.'force ') THEN 575 587 c … … 1178 1190 . "ave(X)", zstophy,zout) 1179 1191 c 1192 CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2", 1193 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1194 . "ave(X)", zstophy,zout) 1195 c 1180 1196 CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2", 1181 1197 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 1297 1313 call histdef(nid_mth, "wbils_"//clnsurf(nsrf), 1298 1314 $ "Bilan sol "//clnsurf(nsrf), "W/m2", 1315 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1316 $ "ave(X)", zstophy,zout) 1317 C 1318 call histdef(nid_mth, "wbilo_"//clnsurf(nsrf), 1319 $ "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)", 1299 1320 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1300 1321 $ "ave(X)", zstophy,zout) … … 1489 1510 . "ave(X)", zstophy,zout) 1490 1511 c 1512 CALL histdef(nid_mth, "t_oce_sic", 1513 . "Temp. mixte oce-sic","K", 1514 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1515 . "ave(X)", zstophy,zout) 1516 c 1491 1517 IF (OCEAN.EQ.'force ') THEN 1492 1518 c -
LMDZ4/trunk/libf/phylmd/ini_histmthNMC.h
r644 r684 5 5 c 6 6 zstophy = dtime 7 zstohf = dtime * FLOAT(ecrit_hf)8 zstomth = dtime * FLOAT(ecrit_mth)9 zout = dtime * FLOAT(ecrit_mth)7 zstohf = ecrit_hf 8 zstomth = ecrit_mth 9 zout = ecrit_mth 10 10 c 11 11 idayref = day_ref -
LMDZ4/trunk/libf/phylmd/ini_histrac.h
r679 r684 33 33 34 34 zsto = pdtphys 35 zout = pdtphys * FLOAT(ecrit_tra)35 zout = ecrit_tra 36 36 c 37 37 CALL histdef(nid_tra, "phis", "Surface geop. height", "-", -
LMDZ4/trunk/libf/phylmd/ini_undefSTD.F
r644 r684 1 1 SUBROUTINE ini_undefSTD(nlevSTD,itap, 2 $ ecrit_day,ecrit_mth,2 $ dtime,ecrit_day,ecrit_mth, 3 3 $ tnondef,tsumSTD) 4 4 IMPLICIT none … … 33 33 INTEGER nlevSTD, klevSTD, itap 34 34 PARAMETER(klevSTD=17) 35 INTEGER ecrit_day,ecrit_mth 35 REAL dtime 36 REAL ecrit_day,ecrit_mth 36 37 c 37 38 c variables locales … … 45 46 c initialisation variables journalieres en debut de journee 46 47 c 47 IF(MOD(itap, ecrit_day).EQ.1.) THEN48 IF(MOD(itap,NINT(ecrit_day/dtime)).EQ.1.) THEN 48 49 DO k=1, nlevSTD 49 50 DO i=1, klon … … 57 58 c en debut de mois : nout=2 58 59 c 59 IF(MOD(itap, ecrit_mth).EQ.1.) THEN60 IF(MOD(itap,NINT(ecrit_mth/dtime)).EQ.1.) THEN 60 61 c 61 62 DO k=1, nlevSTD -
LMDZ4/trunk/libf/phylmd/moy_undefSTD.F
r644 r684 1 1 SUBROUTINE moy_undefSTD(nlevSTD,itap, 2 $ ecrit_day,ecrit_mth,ecrit_hf2mth,2 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 3 3 $ tnondef,tsumSTD) 4 4 IMPLICIT none … … 28 28 INTEGER nlevSTD, klevSTD, itap 29 29 PARAMETER(klevSTD=17) 30 INTEGERecrit_day, ecrit_mth, ecrit_hf2mth30 REAL dtime, ecrit_day, ecrit_mth, ecrit_hf2mth 31 31 c 32 32 c variables locales … … 40 40 c calcul 1 fois par jour 41 41 c 42 IF(MOD(itap, ecrit_day).EQ.0) THEN42 IF(MOD(itap,NINT(ecrit_day/dtime)).EQ.0) THEN 43 43 DO k=1, nlevSTD 44 44 DO i=1, klon 45 IF(tnondef(i,k,1).NE. FLOAT(ecrit_day)) THEN45 IF(tnondef(i,k,1).NE.(ecrit_day/dtime)) THEN 46 46 tsumSTD(i,k,1)=tsumSTD(i,k,1)/ 47 $ ( FLOAT(ecrit_day)-tnondef(i,k,1))47 $ (ecrit_day/dtime-tnondef(i,k,1)) 48 48 ELSE 49 49 tsumSTD(i,k,1)=1.E+20 … … 55 55 c calcul 1 fois par mois 56 56 c 57 IF(MOD(itap, ecrit_mth).EQ.0) THEN57 IF(MOD(itap,NINT(ecrit_mth/dtime)).EQ.0) THEN 58 58 DO k=1, nlevSTD 59 59 DO i=1, klon 60 IF(tnondef(i,k,2).NE. FLOAT(ecrit_mth)) THEN60 IF(tnondef(i,k,2).NE.ecrit_mth/dtime) THEN 61 61 tsumSTD(i,k,2)=tsumSTD(i,k,2)/ 62 $ ( FLOAT(ecrit_mth)-tnondef(i,k,2))62 $ (ecrit_mth/dtime-tnondef(i,k,2)) 63 63 ELSE 64 64 tsumSTD(i,k,2)=1.E+20 65 65 ENDIF !tnondef 66 66 c 67 IF(tnondef(i,k,3).NE. FLOAT(ecrit_hf2mth)) THEN67 IF(tnondef(i,k,3).NE.NINT(ecrit_hf2mth)) THEN 68 68 tsumSTD(i,k,3)=tsumSTD(i,k,3)/ 69 $ ( FLOAT(ecrit_hf2mth)-tnondef(i,k,3))69 $ (ecrit_hf2mth-tnondef(i,k,3)) 70 70 ELSE 71 71 tsumSTD(i,k,3)=1.E+20 -
LMDZ4/trunk/libf/phylmd/undefSTD.F
r644 r684 1 1 SUBROUTINE undefSTD(nlevSTD,itap,tlevSTD, 2 $ ecrit_hf,2 $ dtime,ecrit_hf, 3 3 $ oknondef,tnondef,tsumSTD) 4 4 IMPLICIT none … … 30 30 INTEGER nlevSTD, klevSTD, itap 31 31 PARAMETER(klevSTD=17) 32 INTEGERecrit_hf32 REAL dtime, ecrit_hf 33 33 c 34 34 c variables locales … … 63 63 c calcul variables toutes les 6h 64 64 c 65 IF(MOD(itap, ecrit_hf).EQ.0) THEN65 IF(MOD(itap,NINT(ecrit_hf/dtime)).EQ.0) THEN 66 66 c 67 67 DO k=1, nlevSTD … … 78 78 ENDDO !k 79 79 80 ENDIF !MOD(itap, ecrit_hf).EQ.080 ENDIF !MOD(itap,NINT(ecrit_hf/dtime)).EQ.0 81 81 c 82 82 RETURN -
LMDZ4/trunk/libf/phylmd/write_histISCCP.h
r644 r684 11 11 IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN 12 12 c 13 DO n=1, napisccp 14 c 13 15 DO k=1,kmaxm1 14 zx_tmp_fi3d(1:klon, 1:lmaxm1)=fq_isccp(1:klon,k,1:lmaxm1 )*100.16 zx_tmp_fi3d(1:klon, 1:lmaxm1)=fq_isccp(1:klon,k,1:lmaxm1,n)*100. 15 17 CALL gr_fi_ecrit(lmaxm1,klon,iim,jjmp1,zx_tmp_fi3d, 16 18 . zx_tmp_3d) … … 18 20 cIM: champ 3d : (lon,lat,pres) pour un tau fixe 19 21 c 20 CALL histwrite(nid_isccp,"cldISCCP_"//taulev(k) ,itau_w,21 . zx_tmp_3d,iim*jjmp1*lmaxm1,ndex3d)22 CALL histwrite(nid_isccp,"cldISCCP_"//taulev(k)//typinout(n), 23 . itau_w,zx_tmp_3d,iim*jjmp1*lmaxm1,ndex3d) 22 24 ENDDO !k 23 25 c 24 CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,: ),zx_tmp_2d)25 CALL histwrite(nid_isccp,"nsunlit" ,itau_w,26 CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:,n),zx_tmp_2d) 27 CALL histwrite(nid_isccp,"nsunlit"//typinout(n),itau_w, 26 28 . zx_tmp_2d,iim*jjmp1,ndex2d) 27 29 c 30 ENDDO ! n=1, napisccp 28 31 ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN 29 32 c 33 DO n=1, napisccp 34 c print*,'n=',n,' write_ISCCP avant fq_isccp' 30 35 DO k=1, kmaxm1 31 36 DO l=1, lmaxm1 32 37 c 33 zx_tmp_fi2d(1:klon)=fq_isccp(1:klon,k,l)*100. 34 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d, 38 IF(top_height.LE.2) THEN 39 DO i=1, klon 40 IF(nbsunlit(1,i,n).NE.0.) THEN 41 fq_is_true(i,k,l,n)= 42 $ fq_isccp(i,k,l,n)*100./nbsunlit(1,i,n) 43 ELSE 44 fq_is_true(i,k,l,n)=0 45 ENDIF 46 ENDDO 47 ELSE IF(top_height.EQ.3) THEN 48 DO i=1, klon 49 fq_is_true(i,k,l,n) = fq_isccp(i,k,l,n)*100. 50 ENDDO 51 ENDIF 52 CALL gr_fi_ecrit(1,klon,iim,jjmp1,fq_is_true, 35 53 . zx_tmp_2d) 36 54 c 37 55 cIM: champ 2d : (lon,lat) pour un tau et une pc fixes 38 56 c 39 CALL histwrite(nid_isccp,pclev(l)//taulev(k) ,itau_w,40 . zx_tmp_2d,iim*jjmp1,ndex2d)57 CALL histwrite(nid_isccp,pclev(l)//taulev(k)//typinout(n), 58 . itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 41 59 ENDDO !l 42 60 ENDDO !k 43 61 c 44 CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:),zx_tmp_2d) 45 CALL histwrite(nid_isccp,"nsunlit",itau_w, 46 . zx_tmp_2d,iim*jjmp1,ndex2d) 62 c print*,'n=',n,' write_ISCCP avant nbsunlit' 63 CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:,n),zx_tmp_2d) 64 CALL histwrite(nid_isccp,"nsunlit"//typinout(n), 65 . itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 66 c 67 zx_tmp_fi2d(1:klon)=float(seed(1:klon,n)) 68 c 69 c print*,'n=',n,' write_ISCCP avant seed' 70 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 71 CALL histwrite(nid_isccp,"seed"//verticaxe(n), 72 . itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 73 c 74 c 9types de nuages ISCCP-D2 75 c fq_isccp(1:klon,k,l,n)*100. <=> pc_tau(k)_pclev(l) 76 DO i=1, klon 77 zx_tmp_fi2d(i)= 78 $ (fq_is_true(i,1,1,n)+ fq_is_true(i,2,1,n)+ fq_is_true(i,3,1,n) + 79 $ fq_is_true(i,1,2,n)+ fq_is_true(i,2,2,n)+ fq_is_true(i,3,2,n) + 80 $ fq_is_true(i,1,3,n)+ fq_is_true(i,2,3,n)+ fq_is_true(i,3,3,n) ) 81 ENDDO 82 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 83 CALL histwrite(nid_isccp,"cirr",itau_w,zx_tmp_2d, 84 $ iim*jjmp1,ndex2d) 85 c 86 DO i=1, klon 87 zx_tmp_fi2d(i)= 88 $ (fq_is_true(i,4,1,n)+ fq_is_true(i,5,1,n) + 89 $ fq_is_true(i,4,2,n)+ fq_is_true(i,5,2,n) + 90 $ fq_is_true(i,4,3,n)+ fq_is_true(i,5,3,n) ) 91 ENDDO 92 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 93 CALL histwrite(nid_isccp,"cist",itau_w,zx_tmp_2d, 94 $ iim*jjmp1,ndex2d) 95 c 96 DO i=1, klon 97 zx_tmp_fi2d(i)= 98 $ (fq_is_true(i,6,1,n)+ fq_is_true(i,7,1,n) + 99 $ fq_is_true(i,6,2,n)+ fq_is_true(i,7,2,n) + 100 $ fq_is_true(i,6,3,n)+ fq_is_true(i,7,3,n) ) 101 ENDDO 102 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 103 CALL histwrite(nid_isccp,"deep",itau_w,zx_tmp_2d, 104 $ iim*jjmp1,ndex2d) 105 c 106 DO i=1, klon 107 zx_tmp_fi2d(i)= 108 $ (fq_is_true(i,1,4,n)+ fq_is_true(i,2,4,n)+ fq_is_true(i,3,4,n) + 109 $ fq_is_true(i,1,5,n)+ fq_is_true(i,2,5,n)+ fq_is_true(i,3,5,n) ) 110 ENDDO 111 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 112 CALL histwrite(nid_isccp,"alcu",itau_w,zx_tmp_2d, 113 $ iim*jjmp1,ndex2d) 114 c 115 DO i=1, klon 116 zx_tmp_fi2d(i)= 117 $ (fq_is_true(i,4,4,n)+ fq_is_true(i,5,4,n) + 118 $ fq_is_true(i,4,5,n)+ fq_is_true(i,5,5,n) ) 119 ENDDO 120 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 121 CALL histwrite(nid_isccp,"alst",itau_w,zx_tmp_2d, 122 $ iim*jjmp1,ndex2d) 123 c 124 DO i=1, klon 125 zx_tmp_fi2d(i)= 126 $ (fq_is_true(i,6,4,n)+ fq_is_true(i,7,4,n) + 127 $ fq_is_true(i,6,5,n)+ fq_is_true(i,7,5,n) ) 128 ENDDO 129 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 130 CALL histwrite(nid_isccp,"nist",itau_w,zx_tmp_2d, 131 $ iim*jjmp1,ndex2d) 132 c 133 DO i=1, klon 134 zx_tmp_fi2d(i)= 135 $ (fq_is_true(i,1,6,n)+ fq_is_true(i,2,6,n)+ fq_is_true(i,3,6,n) + 136 $ fq_is_true(i,1,7,n)+ fq_is_true(i,2,7,n)+ fq_is_true(i,3,7,n) ) 137 ENDDO 138 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 139 CALL histwrite(nid_isccp,"cumu",itau_w,zx_tmp_2d, 140 $ iim*jjmp1,ndex2d) 141 c 142 DO i=1, klon 143 zx_tmp_fi2d(i)= 144 $ (fq_is_true(i,4,6,n)+ fq_is_true(i,5,6,n) + 145 $ fq_is_true(i,4,7,n)+ fq_is_true(i,5,7,n) ) 146 ENDDO 147 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 148 CALL histwrite(nid_isccp,"stcu",itau_w,zx_tmp_2d, 149 $ iim*jjmp1,ndex2d) 150 c 151 DO i=1, klon 152 zx_tmp_fi2d(i)= 153 $ (fq_is_true(i,6,6,n)+ fq_is_true(i,7,6,n) + 154 $ fq_is_true(i,6,7,n)+ fq_is_true(i,7,7,n) ) 155 ENDDO 156 CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 157 CALL histwrite(nid_isccp,"stra",itau_w,zx_tmp_2d, 158 $ iim*jjmp1,ndex2d) 159 c 160 c 3_tau_nuages x 3_levels 161 c fq_is_true(1:klon,k,l,n)*100. <=> pc_tau(k)_pclev(l) 162 DO i=1, klon 163 cld_fi3d(i,1)= 164 $ (fq_is_true(i,1,1,n)+ fq_is_true(i,2,1,n)+ fq_is_true(i,3,1,n) + 165 $ fq_is_true(i,1,2,n)+ fq_is_true(i,2,2,n)+ fq_is_true(i,3,2,n) + 166 $ fq_is_true(i,1,3,n)+ fq_is_true(i,2,3,n)+ fq_is_true(i,3,3,n) ) 167 cld_fi3d(i,2)= 168 $ (fq_is_true(i,1,4,n)+ fq_is_true(i,2,4,n)+ fq_is_true(i,3,4,n) + 169 $ fq_is_true(i,1,5,n)+ fq_is_true(i,2,5,n)+ fq_is_true(i,3,5,n) ) 170 cld_fi3d(i,3)= 171 $ (fq_is_true(i,1,6,n)+ fq_is_true(i,2,6,n)+ fq_is_true(i,3,6,n) + 172 $ fq_is_true(i,1,7,n)+ fq_is_true(i,2,7,n)+ fq_is_true(i,3,7,n) ) 173 ENDDO 174 CALL gr_fi_ecrit(lmax3,klon,iim,jjmp1,cld_fi3d,cld_3d) 175 CALL histwrite(nid_isccp,"thin",itau_w,cld_3d, 176 $ iim*jjmp1*lmax3,ndex3d) 177 c 178 DO i=1, klon 179 cld_fi3d(i,1)= 180 $ (fq_is_true(i,4,1,n)+ fq_is_true(i,5,1,n) + 181 $ fq_is_true(i,4,2,n)+ fq_is_true(i,5,2,n) + 182 $ fq_is_true(i,4,3,n)+ fq_is_true(i,5,3,n) ) 183 cld_fi3d(i,2)= 184 $ (fq_is_true(i,4,4,n)+ fq_is_true(i,5,4,n) + 185 $ fq_is_true(i,4,5,n)+ fq_is_true(i,5,5,n) ) 186 cld_fi3d(i,3)= 187 $ (fq_is_true(i,4,6,n)+ fq_is_true(i,5,6,n) + 188 $ fq_is_true(i,4,7,n)+ fq_is_true(i,5,7,n) ) 189 ENDDO 190 CALL gr_fi_ecrit(lmax3, klon,iim,jjmp1,cld_fi3d,cld_3d) 191 CALL histwrite(nid_isccp,"mid",itau_w,cld_3d, 192 $ iim*jjmp1*lmax3,ndex3d) 193 c 194 DO i=1, klon 195 cld_fi3d(i,1)= 196 $ (fq_is_true(i,6,1,n)+ fq_is_true(i,7,1,n) + 197 $ fq_is_true(i,6,2,n)+ fq_is_true(i,7,2,n) + 198 $ fq_is_true(i,6,3,n)+ fq_is_true(i,7,3,n) ) 199 cld_fi3d(i,2)= 200 $ (fq_is_true(i,6,4,n)+ fq_is_true(i,7,4,n) + 201 $ fq_is_true(i,6,5,n)+ fq_is_true(i,7,5,n) ) 202 cld_fi3d(i,3)= 203 $ (fq_is_true(i,6,6,n)+ fq_is_true(i,7,6,n) + 204 $ fq_is_true(i,6,7,n)+ fq_is_true(i,7,7,n) ) 205 ENDDO 206 CALL gr_fi_ecrit(lmax3, klon,iim,jjmp1,cld_fi3d,cld_3d) 207 CALL histwrite(nid_isccp,"thick",itau_w,cld_3d, 208 $ iim*jjmp1*lmax3,ndex3d) 209 c 210 ENDDO ! n=1, napisccp 47 211 c 48 212 ENDIF -
LMDZ4/trunk/libf/phylmd/write_histday.h
r644 r684 135 135 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 136 136 CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 137 c 138 CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d) 139 CALL histwrite(nid_day,"radsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 137 140 c 138 141 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) … … 274 277 zx_tmp_fi2d(i) = fluxo(i) 275 278 ELSE 276 zx_tmp_fi2d(i) = 1.E+20279 zx_tmp_fi2d(i) = 0. 277 280 ENDIF 278 281 ENDDO … … 286 289 zx_tmp_fi2d(i) = fluxg(i) 287 290 ELSE 288 zx_tmp_fi2d(i) = 1.E+20291 zx_tmp_fi2d(i) = 0. 289 292 ENDIF 290 293 ENDDO … … 386 389 CALL histwrite(nid_day, "SWdnSFCclr",itau_w,zx_tmp_2d, 387 390 . iim*jjmp1,ndex2d) 391 c 392 cIM AMMA-MIP 393 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 394 CALL histwrite(nid_day,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1, 395 . ndex2d) 396 c 397 zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon) 398 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 399 CALL histwrite(nid_day,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1, 400 . ndex2d) 401 c 402 cIM IF (iflag_con.GE.3) THEN 403 cIM ema_pct= 0. CALL gr_fi_ecrit(1, klon,iim,jjmp1, ema_pct,zx_tmp_2d) 404 CALL gr_fi_ecrit(1, klon,iim,jjmp1, meanptop(:,1),zx_tmp_2d) 405 CALL histwrite(nid_day,"ptop",itau_w,zx_tmp_2d,iim*jjmp1, 406 . ndex2d) 407 cIM ENDIF 388 408 c 389 409 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter) … … 578 598 . iim*jjmp1*klev,ndex3d) 579 599 c 600 c 601 cIM: 101003 : K/30min ==> K/s 602 zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys 603 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 604 CALL histwrite(nid_day,"dtcon",itau_w,zx_tmp_3d, 605 . iim*jjmp1*klev,ndex3d) 606 c 607 zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys 608 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 609 CALL histwrite(nid_day,"dqcon",itau_w,zx_tmp_3d, 610 . iim*jjmp1*klev,ndex3d) 611 c 612 DO i=1, klon 613 zx_tmp_2d(i)=MIN(100.,rh2m(i)*100.) 614 ENDDO 615 c 616 CALL gr_fi_ecrit(1,klon,iim,jjmp1, zx_tmp_2d,zx_tmp_2d) 617 CALL histwrite(nid_day,"rh2m",itau_w,zx_tmp_2d, 618 . iim*jjmp1,ndex2d) 619 c 620 CALL gr_fi_ecrit(1,klon,iim,jjmp1, qsat2m,zx_tmp_2d) 621 CALL histwrite(nid_day,"qsat2m",itau_w,zx_tmp_2d, 622 . iim*jjmp1,ndex2d) 623 c 624 CALL gr_fi_ecrit(1,klon,iim,jjmp1, tpot,zx_tmp_2d) 625 CALL histwrite(nid_day,"tpot",itau_w,zx_tmp_2d, 626 . iim*jjmp1,ndex2d) 627 c 628 CALL gr_fi_ecrit(1,klon,iim,jjmp1, tpote,zx_tmp_2d) 629 CALL histwrite(nid_day,"tpote",itau_w,zx_tmp_2d, 630 . iim*jjmp1,ndex2d) 631 c 580 632 ENDIF !lev_histday.GE.5 581 633 c================================================================= -
LMDZ4/trunk/libf/phylmd/write_histins.h
r644 r684 9 9 c Champs 2D: 10 10 c 11 zsto = dtime * ecrit_ins 12 zout = dtime * ecrit_ins 13 itau_w = itau_phy + itap 14 15 i = NINT(zout/zsto) 11 itau_w = itau_phy + itap 12 16 13 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 17 14 CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 18 15 c 19 i = NINT(zout/zsto)20 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 21 17 CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) -
LMDZ4/trunk/libf/phylmd/write_histmth.h
r653 r684 207 207 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 208 208 CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 209 c 210 CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d) 211 CALL histwrite(nid_mth,"radsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 209 212 c 210 213 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d) … … 355 358 $ zx_tmp_2d,iim*jjmp1,ndex2d) 356 359 C 360 zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf) 361 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 362 CALL histwrite(nid_mth,"wbilo_"//clnsurf(nsrf),itau_w, 363 $ zx_tmp_2d,iim*jjmp1,ndex2d) 364 C 357 365 IF(1.EQ.0) THEN 358 366 C … … 517 525 zx_tmp_fi2d(i) = fluxo(i) 518 526 ELSE 519 zx_tmp_fi2d(i) = 1.E+20527 zx_tmp_fi2d(i) = 0. 520 528 ENDIF 521 529 ENDDO … … 529 537 zx_tmp_fi2d(i) = fluxg(i) 530 538 ELSE 531 zx_tmp_fi2d(i) = 1.E+20539 zx_tmp_fi2d(i) = 0. 532 540 ENDIF 533 541 ENDDO … … 535 543 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 536 544 CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d, 545 . iim*jjmp1,ndex2d) 546 c 547 DO i=1, klon 548 IF (pctsrf(i,is_oce).GT.epsfra.OR. 549 . pctsrf(i,is_sic).GT.epsfra) THEN 550 zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+ 551 . ftsol(i, is_sic) * pctsrf(i,is_sic))/ 552 . (pctsrf(i,is_oce)+pctsrf(i,is_sic)) 553 ELSE 554 zx_tmp_fi2d(i) = 273.15 555 ENDIF 556 ENDDO 557 c 558 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 559 CALL histwrite(nid_mth,"t_oce_sic",itau_w,zx_tmp_2d, 537 560 . iim*jjmp1,ndex2d) 538 561 c … … 723 746 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d) 724 747 CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d, 748 . iim*jjmp1*klev,ndex3d) 749 c 750 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d) 751 CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d, 725 752 . iim*jjmp1*klev,ndex3d) 726 753 c … … 1280 1307 CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 1281 1308 c 1309 CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d) 1310 CALL histwrite(nid_mth,"radsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 1311 c 1282 1312 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d) 1283 1313 CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) … … 1426 1456 $ zx_tmp_2d,iim*jjmp1,ndex2d) 1427 1457 C 1458 zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf) 1459 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 1460 CALL histwrite(nid_mth,"wbilo_"//clnsurf(nsrf),itau_w, 1461 $ zx_tmp_2d,iim*jjmp1,ndex2d) 1462 C 1428 1463 IF(1.EQ.0) THEN 1429 1464 C … … 1588 1623 zx_tmp_fi2d(i) = fluxo(i) 1589 1624 ELSE 1590 zx_tmp_fi2d(i) = 1.E+201625 zx_tmp_fi2d(i) = 0. 1591 1626 ENDIF 1592 1627 ENDDO … … 1600 1635 zx_tmp_fi2d(i) = fluxg(i) 1601 1636 ELSE 1602 zx_tmp_fi2d(i) = 1.E+201637 zx_tmp_fi2d(i) = 0. 1603 1638 ENDIF 1604 1639 ENDDO … … 1606 1641 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 1607 1642 CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d, 1643 . iim*jjmp1,ndex2d) 1644 c 1645 DO i=1, klon 1646 IF (pctsrf(i,is_oce).GT.epsfra.OR. 1647 . pctsrf(i,is_sic).GT.epsfra) THEN 1648 zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+ 1649 . ftsol(i, is_sic) * pctsrf(i,is_sic))/ 1650 . (pctsrf(i,is_oce)+pctsrf(i,is_sic)) 1651 ELSE 1652 zx_tmp_fi2d(i) = 273.15 1653 ENDIF 1654 ENDDO 1655 c 1656 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 1657 CALL histwrite(nid_mth,"t_oce_sic",itau_w,zx_tmp_2d, 1608 1658 . iim*jjmp1,ndex2d) 1609 1659 c -
LMDZ4/trunk/libf/phylmd/write_histmthNMC.h
r644 r684 2 2 ! $Header$ 3 3 ! 4 c IF (ok_mensuelNMC) THEN5 4 IF (ok_mensuel) THEN 6 5 c … … 84 83 DO i=1, klon 85 84 IF(tnondef(i,k,3).NE.1.E+20) THEN 86 zx_tmp_fi3d(i,k) = (100.*tnondef(i,k,3))/ FLOAT(ecrit_hf2mth)85 zx_tmp_fi3d(i,k) = (100.*tnondef(i,k,3))/ecrit_hf2mth 87 86 ELSE 88 87 zx_tmp_fi3d(i,k) = 1.E+20 -
LMDZ4/trunk/libf/phylmd/write_histrac.h
r679 r684 6 6 ndex3d = 0 7 7 c 8 zsto = pdtphys9 zout = pdtphys * FLOAT(ecrit_tra)10 8 itau_w = itau_phy + nstep 11 9 12 13 i = NINT(zout/zsto)14 10 CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d) 15 11 CALL histwrite(nid_tra,"phis",itau_w,zx_tmp_2d,iim*(jjm+1),ndex2d)
Note: See TracChangeset
for help on using the changeset viewer.