Changeset 97 for trunk/libf/phytitan
- Timestamp:
- Mar 22, 2011, 5:25:44 PM (14 years ago)
- Location:
- trunk/libf/phytitan
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libf/phytitan/YOMCST.h
r3 r97 1 1 ! 2 ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/YOMCST.h,v 1.1.1.1 2004/05/19 12:53:08 lmdzadmin Exp $ 2 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre 3 ! veillez n'utiliser que des ! pour les commentaires 4 ! et bien positionner les & des lignes de continuation 5 ! (les placer en colonne 6 et en colonne 73) 3 6 ! 4 7 ! A1.0 Fundamental constants … … 6 9 ! A1.1 Astronomical constants 7 10 REAL RDAY,REA,REPSM,RSIYEA,RSIDAY,ROMEGA 11 ! A1.1.bis Constantes concernant l'orbite de la Terre: 12 REAL :: R_ecc, R_peri, R_incl 8 13 ! A1.2 Geoide 9 14 REAL RA,RG,R1SA 10 15 ! A1.3 Radiation 11 ! REAL RSIGMA,RI016 ! REAL :: RSIGMA,RI0 12 17 REAL RSIGMA 13 18 ! A1.4 Thermodynamic gas phase … … 25 30 REAL RALPD,RBETD,RGAMD 26 31 ! 27 ! S ,RSIGMA,RI0 28 COMMON/YOMCST/RPI ,RCLUM ,RHPLA ,RKBOL ,RNAVO 29 S ,RDAY ,REA ,REPSM ,RSIYEA,RSIDAY,ROMEGA 30 S ,RA ,RG ,R1SA 31 S ,RSIGMA 32 S ,R ,RMD ,RMV ,RD ,RV ,RCPD 33 S ,RCPV ,RCVD ,RCVV ,RKAPPA,RETV 34 S ,RCW ,RCS 35 S ,RLVTT ,RLSTT ,RLMLT ,RTT ,RATM 36 S ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS 37 S ,RALPD ,RBETD ,RGAMD 38 ! ------------------------------------------------------------------ 32 COMMON/YOMCST/RPI ,RCLUM, RHPLA, RKBOL, RNAVO ,RDAY ,REA & 33 & ,REPSM ,RSIYEA,RSIDAY,ROMEGA , R_ecc, R_peri, R_incl, & 34 & ,RA ,RG ,R1SA & 35 & ,RSIGMA,R ,RMD ,RMV ,RD ,RV ,RCPD ,RCPV,RCVD & 36 & ,RCVV ,RKAPPA,RETV ,RCW ,RCS ,RLVTT ,RLSTT ,RLMLT ,RTT ,RATM & 37 & ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS ,RALPD ,RBETD & 38 & ,RGAMD -
trunk/libf/phytitan/calchim.F
r3 r97 36 36 REAL cplev(jjm+1,klev) ! pression intercouches (Pa) 37 37 38 REAL dqyc(jjm+1,klev,nq mx) ! Tendances especes chimiques (nqmx, mais en fait NC...)38 REAL dqyc(jjm+1,klev,nqtot) ! Tendances especes chimiques (nqtot, mais en fait NC...) 39 39 40 40 c Local variables : -
trunk/libf/phytitan/clcdrag.F90
r3 r97 30 30 ! ================================================================= c 31 31 ! 32 #include "YOMCST. inc"33 #include "clesphys. inc"32 #include "YOMCST.h" 33 #include "clesphys.h" 34 34 ! 35 35 ! Quelques constantes et options: -
trunk/libf/phytitan/clesphys.h
r3 r97 1 1 ! 2 ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/clesphys.h,v 1.1.1.1 2004/05/19 12:53:08 lmdzadmin Exp $ 2 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre 3 ! veillez n'utiliser que des ! pour les commentaires 4 ! et bien positionner les & des lignes de continuation 5 ! (les placer en colonne 6 et en colonne 73) 3 6 ! 4 c..include cles_phys.h5 c 6 LOGICAL cycle_diurne,soil_model, new_oliq,ok_orodr,ok_orolf7 LOGICAL ok_ limitvrai7 !..include cles_phys.h 8 ! 9 LOGICAL cycle_diurne,soil_model,ok_orodr,ok_orolf 10 LOGICAL ok_orodr,ok_orolf,ok_gw_nonoro 8 11 INTEGER nbapp_rad, nbapp_chim, iflag_con, iflag_ajs 12 REAL ecritphy 9 13 REAL solaire 10 11 c Parametres pour PBL: 12 real z0,lmixmin 13 REAL ksta 14 REAL z0, lmixmin 15 REAL ksta, inertie 14 16 LOGICAL ok_kzmin 15 16 c Parametres Chimie: 17 INTEGER lev_histmth, lev_histday 17 18 logical chimi,ylellouch,hcnrad 18 19 integer vchim,aerprod,htoh2 19 20 c Parametres Microphysique:21 20 integer microfi,cutoff 22 real tx,tcorrect 23 24 c surface 25 real inertie 21 real tx,tcorrect 26 22 27 cIM lev_histmth : niveau sorties mensuelles28 cIM lev_histday : niveau sorties journalieres29 INTEGER lev_histmth, lev_histday30 23 31 COMMON/clesphys/cycle_diurne, soil_model, new_oliq, 32 , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, nbapp_chim 33 , , iflag_con, iflag_ajs, solaire, z0, lmixmin, ksta 34 , , ok_kzmin, lev_histmth, lev_histday 35 , , inertie, chimi,vchim,aerprod,htoh2,ylellouch,hcnrad 36 , , microfi,cutoff,tx,tcorrect 24 COMMON/clesphys/cycle_diurne, soil_model, & 25 & ok_orodr, ok_orolf, ok_gw_nonoro, nbapp_rad, nbapp_chim & 26 & , ecritphy & 27 & , iflag_con, iflag_ajs, solaire, z0, lmixmin, ksta & 28 & , ok_kzmin, lev_histmth, lev_histday & 29 & , inertie, chimi,vchim,aerprod,htoh2,ylellouch,hcnrad & 30 & , microfi,cutoff,tx,tcorrect 31 -
trunk/libf/phytitan/comorbit.h
r3 r97 1 c----------------------------------------------------------------------- 2 c INCLUDE 'comorbit.h' 1 ! 2 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre 3 ! veillez n'utiliser que des ! pour les commentaires 4 ! et bien positionner les & des lignes de continuation 5 ! (les placer en colonne 6 et en colonne 73) 6 ! 7 !..include comorbit.h 3 8 4 COMMON/comorbit/aphelie,periheli,year_day,5 $ peri_day,timeperi,obliquit,6 $e_elips,p_elips,unitastr,pi9 REAL aphelie,periheli,year_day 10 REAL peri_day,timeperi,obliquit 11 REAL e_elips,p_elips,unitastr,pi 7 12 8 REAL aphelie,periheli,year_day,9 $ peri_day,timeperi,obliquit,10 $e_elips,p_elips,unitastr,pi13 COMMON/comorbit/aphelie,periheli,year_day, & 14 & peri_day,timeperi,obliquit, & 15 & e_elips,p_elips,unitastr,pi 11 16 12 c----------------------------------------------------------------------- -
trunk/libf/phytitan/conf_phys.F90
r3 r97 10 10 implicit none 11 11 12 #include "YOMCST. inc"13 #include "clesphys. inc"12 #include "YOMCST.h" 13 #include "clesphys.h" 14 14 #include "compbl.h" 15 #include "comorbit.inc" 15 #include "comorbit.h" 16 17 ! ok_journe: sorties journalieres 18 ! ok_mensuel: sorties mensuelles 19 ! ok_instan: sorties instantanees 20 21 22 ! Sortie: 23 logical :: ok_journe, ok_mensuel, ok_instan 24 integer :: if_ebil 25 26 ! Local 27 integer :: numout = 6 28 16 29 ! 17 30 ! Configuration de la "physique" de LMDZ a l'aide de la fonction … … 22 35 !--- Ca lit le physiq.def --- 23 36 24 ! 25 ! ok_mensuel: sorties mensuelles 26 ! ok_journe: sorties journalieres 27 ! ok_instan: sorties instantanees 28 29 30 ! Sortie: 31 logical :: ok_mensuel, ok_journe, ok_instan 32 integer :: if_ebil 33 34 ! Local 35 integer :: numout = 6 36 real*4 :: zzz 37 !******************* parametres anciennement lus dans gcm.def 38 39 !Config Key = cycle_diurne 40 !Config Desc = Cycle ddiurne 41 !Config Def = y 42 !Config Help = Cette option permet d'eteidre le cycle diurne. 43 !Config Peut etre util pour accelerer le code ! 44 cycle_diurne = .TRUE. 45 CALL getin('cycle_diurne',cycle_diurne) 46 47 !Config Key = soil_model 48 !Config Desc = Modele de sol 49 !Config Def = y 50 !Config Help = Choix du modele de sol (Thermique ?) 51 !Config Option qui pourait un string afin de pouvoir 52 !Config plus de choix ! Ou meme une liste d'options ! 53 soil_model = .TRUE. 54 CALL getin('soil_model',soil_model) 55 56 !Config Key = ok_orodr 57 !Config Desc = Oro drag 58 !Config Def = y 59 !Config Help = GW drag orographie 60 !Config 61 ok_orodr = .TRUE. 62 CALL getin('ok_orodr',ok_orodr) 63 64 !Config Key = ok_orolf 65 !Config Desc = Oro lift 66 !Config Def = n 67 !Config Help = GW lift orographie (pas utilise) 68 ok_orolf = .TRUE. 69 CALL getin('ok_orolf', ok_orolf) 70 71 !Config Key = ok_gw_nonoro 72 !Config Desc = Gravity waves parameterization 73 !Config Def = n 74 !Config Help = GW drag non-orographique 75 ok_gw_nonoro = .FALSE. 76 CALL getin('ok_gw_nonoro',ok_gw_nonoro) 77 78 !Config Key = nbapp_rad 79 !Config Desc = Frequence d'appel au rayonnement 80 !Config Def = 12 81 !Config Help = Nombre d'appels des routines de rayonnements 82 !Config par jour. 83 nbapp_rad = 12 84 CALL getin('nbapp_rad',nbapp_rad) 85 86 !Config Key = nbapp_chim 87 !Config Desc = Frequence d'appel a la chimie 88 !Config Def = 1 89 !Config Help = Nombre d'appels des routines de chimie 90 !Config par jour. 91 nbapp_chim = 1 92 CALL getin('nbapp_chim',nbapp_chim) 93 94 !Config Key = iflag_con 95 !Config Desc = Flag de convection 96 !Config Def = 0 97 !Config Help = Flag pour la convection les options suivantes existent : 98 !Config 0 : ajsec simple (VENUS, TITAN) 99 !Config 1 pour LMD, 100 !Config 2 pour Tiedtke, 101 !Config 3 pour CCM(NCAR) 102 iflag_con = 0 103 CALL getin('iflag_con',iflag_con) 104 105 !******************* fin parametres anciennement lus dans gcm.def 37 106 38 107 !Config Key = OK_mensuel … … 64 133 ! 65 134 ! 135 !Config Key = ecritphy 136 !Config Desc = Frequence d'ecriture dans histins 137 !Config Def = 1 138 !Config Help = frequence de l'ecriture du fichier histins 139 !Config en jours. 140 ! 141 ecritphy = 1. 142 CALL getin('ecritphy', ecritphy) 143 ! 66 144 !Config Key = if_ebil 67 145 !Config Desc = Niveau de sortie pour les diags bilan d'energie … … 85 163 !Config Help = 86 164 ! 87 zzz = 673. 88 call getin('year_day', zzz) 89 year_day = zzz 165 year_day = 673. 166 call getin('year_day', year_day) 90 167 ! 91 168 !Config Key = peri_day … … 94 171 !Config Help = 95 172 ! 96 zzz = 533. 97 call getin('peri_day', zzz) 98 peri_day = zzz 173 peri_day = 533. 174 call getin('peri_day', peri_day) 99 175 ! 100 176 !Config Key = periheli … … 103 179 !Config Help = 104 180 ! 105 zzz = 1354.5 106 call getin('periheli', zzz) 107 periheli = zzz 181 periheli = 1354.5 182 call getin('periheli', periheli) 108 183 !! 109 184 !Config Key = aphelie … … 112 187 !Config Help = 113 188 ! 114 zzz = 1506.0 115 call getin('aphelie', zzz) 116 aphelie = zzz 189 aphelie = 1506.0 190 call getin('aphelie', aphelie) 117 191 !! 118 192 !Config Key = obliquit … … 121 195 !Config Help = 122 196 ! 123 zzz = 26.7 124 call getin('obliquit', zzz) 125 obliquit = zzz 197 obliquit = 26.7 198 call getin('obliquit', obliquit) 126 199 ! 127 200 !Config Key = solaire … … 131 204 !Config Help = 132 205 ! 133 zzz = 2620. 134 call getin('solaire', zzz) 135 solaire = zzz 206 solaire = 2620. 207 call getin('solaire', solaire) 136 208 ! 137 209 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 158 230 !Config Help = 159 231 ! 160 zzz = 1.0e-7 161 call getin('ksta',zzz) 162 ksta = zzz 232 ksta = 1.0e-7 233 call getin('ksta',ksta) 163 234 164 235 ! … … 168 239 !Config Help = 169 240 ! 170 zzz = 1.0e-2 171 call getin('z0',zzz) 172 z0 = zzz 241 z0 = 1.0e-2 242 call getin('z0',z0) 173 243 174 244 ! … … 178 248 !Config Help = 179 249 ! 180 zzz = 35. 181 call getin('lmixmin',zzz) 182 lmixmin = zzz 183 184 ! 250 lmixmin = 35. 251 call getin('lmixmin',lmixmin) 252 185 253 ! 186 254 !Config Key = ok_kzmin … … 204 272 !Config Key = inertie 205 273 !Config Desc = 206 !Config Def = 2000. 207 !Config Help = 208 ! 209 zzz = 2000. 210 call getin('inertie',zzz) 211 inertie = zzz 274 !Config Def = 340. 275 !Config Help = 276 ! 277 inertie = 340. 278 call getin('inertie',inertie) 212 279 ! 213 280 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 287 354 !Config Help = 288 355 ! 289 zzz = 3.5 290 call getin('tx',zzz) 291 tx = zzz 356 tx = 3.5 357 call getin('tx',tx) 292 358 293 359 ! … … 297 363 !Config Help = 298 364 ! 299 zzz = 1. 300 call getin('tcorrect',zzz) 301 tcorrect = zzz 365 tcorrect = 1. 366 call getin('tcorrect',tcorrect) 302 367 303 368 ! … … 349 414 write(numout,*)' ##############################################' 350 415 write(numout,*)' Configuration des parametres de la physique: ' 416 write(numout,*)' cycle_diurne = ', cycle_diurne 417 write(numout,*)' soil_model = ', soil_model 418 write(numout,*)' ok_orodr = ', ok_orodr 419 write(numout,*)' ok_orolf = ', ok_orolf 420 write(numout,*)' ok_gw_nonoro = ', ok_gw_nonoro 421 write(numout,*)' nbapp_rad = ', nbapp_rad 422 write(numout,*)' nbapp_chim = ', nbapp_chim 423 write(numout,*)' iflag_con = ', iflag_con 351 424 write(numout,*)' Sortie mensuelle = ', ok_mensuel 352 425 write(numout,*)' Sortie journaliere = ', ok_journe 353 426 write(numout,*)' Sortie instantanee = ', ok_instan 427 write(numout,*)' frequence sorties = ', ecritphy 354 428 write(numout,*)' Sortie bilan d energie, if_ebil =', if_ebil 355 429 write(numout,*)' Duree de l annee = ',year_day -
trunk/libf/phytitan/ini_histday.h
r3 r97 10 10 c 11 11 idayref = day_ref 12 z4julian = zjulian 13 CALL ymds2ju(annee_ref, 1, idayref, zero, z4julian) 12 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian) 14 13 c 15 14 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) … … 19 18 ENDDO 20 19 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) 21 z4_lon = zx_lon 22 z4_lat = zx_lat 23 zpresnivs=presnivs 24 CALL histbeg("histday", iim,z4_lon(:,1), jjmp1,z4_lat(1,:), 25 . 1,iim,1,jjmp1, itau_phy, z4julian, zsto, 20 CALL histbeg("histday", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 21 . 1,iim,1,jjmp1, itau_phy, zjulian, zsto, 26 22 . nhori, nid_day) 27 23 write(*,*)'Journee ', itau_phy, zjulian 28 24 CALL histvert(nid_day, "presnivs", "Vertical levels", "mb", 29 . klev, zpresnivs, nvert)25 . klev, presnivs, nvert) 30 26 31 27 c------------------------------------------------------- -
trunk/libf/phytitan/ini_histins.h
r3 r97 9 9 c 10 10 idayref = day_ref 11 z4julian = zjulian 12 CALL ymds2ju(annee_ref, 1, idayref, zero, z4julian) 11 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian) 13 12 c 14 13 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) … … 18 17 ENDDO 19 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) 20 z4_lon = zx_lon 21 z4_lat = zx_lat 22 zpresnivs=presnivs 23 CALL histbeg("histins", iim,z4_lon(:,1), jjmp1,z4_lat(1,:), 24 . 1,iim,1,jjmp1, itau_phy, z4julian, zsto1, 19 CALL histbeg("histins", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 20 . 1,iim,1,jjmp1, itau_phy, zjulian, zsto1, 25 21 . nhori, nid_ins) 26 22 write(*,*)'Inst ', itau_phy, zjulian 27 23 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", 28 . klev, zpresnivs, nvert)24 . klev, presnivs, nvert) 29 25 30 26 c------------------------------------------------------- -
trunk/libf/phytitan/ini_histmth.h
r3 r97 7 7 c 8 8 idayref = day_ref 9 z4julian = zjulian 10 CALL ymds2ju(annee_ref, 1, idayref, zero, z4julian) 9 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian) 11 10 c 12 11 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) … … 16 15 ENDDO 17 16 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlatd,zx_lat) 18 z4_lon = zx_lon 19 z4_lat = zx_lat 20 zpresnivs=presnivs 21 CALL histbeg("histmth", iim,z4_lon(:,1), jjmp1,z4_lat(1,:), 22 . 1,iim,1,jjmp1, itau_phy, z4julian, zsto, 17 CALL histbeg("histmth", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 18 . 1,iim,1,jjmp1, itau_phy, zjulian, zsto, 23 19 . nhori, nid_mth) 24 20 write(*,*)'Journee ', itau_phy, zjulian 25 21 CALL histvert(nid_mth, "presnivs", "Vertical levels", "mb", 26 . klev, zpresnivs, nvert)22 . klev, presnivs, nvert) 27 23 28 24 c------------------------------------------------------- … … 98 94 c 99 95 if (iflag_trac.eq.1) THEN 100 101 102 103 104 105 106 107 96 c if (microfi.eq.1) then 97 c DO iq=1,nmicro 98 c CALL histdef(nid_mth, tname(iq), ttext(iq), "n/m2", 99 c . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 100 c . "ave(X)", zsto,zout) 101 c ENDDO 102 c endif 103 if (nmicro.lt.nqmax) then 108 104 DO iq=nmicro+1,nqmax 109 105 CALL histdef(nid_mth, tname(iq), ttext(iq), "ppm", … … 117 113 c . "ave(X)", zsto,zout) 118 114 c ENDDO 119 115 endif 120 116 endif 121 117 c … … 150 146 . iim,jjmp1,nhori, klev,1,klev,nvert, 151 147 . 32, "ave(X)", zsto1,zout) 148 c 149 DO k=3,nspecv,5 150 write(str1,'(i2.2)') k 151 CALL histdef(nid_mth,"thv"//str1,"Haze Opa Vis", 152 . "--",iim,jjmp1,nhori,klev,1,klev,nvert,32, 153 . "ave(X)",zsto1,zout) 154 ENDDO 155 c 156 DO k=3,nspecv,5 157 write(str1,'(i2.2)') k 158 CALL histdef(nid_mth,"khv"//str1,"Haze ext Vis ", 159 . "m-1",iim,jjmp1,nhori,klev,1,klev,nvert,32, 160 . "ave(X)",zsto1,zout) 161 ENDDO 152 162 c 153 163 ENDIF !lev_histmth.GE.3 -
trunk/libf/phytitan/interface_surf.F90
r3 r97 25 25 END INTERFACE 26 26 27 #include "YOMCST. inc"27 #include "YOMCST.h" 28 28 29 29 CONTAINS -
trunk/libf/phytitan/optci.F
r3 r97 8 8 c Arguments: 9 9 c --------- 10 REAL ykim(klon,klev,nq mx)10 REAL ykim(klon,klev,nqtot) 11 11 integer nmicro 12 12 c --------- … … 56 56 DIMENSION PROD(NLEVEL) 57 57 * nrad dans microtab.h 58 real qaer(klon,nlayer,nq mx)58 real qaer(klon,nlayer,nqtot) 59 59 real v(nrad),rayon(nrad),vrat,dr(nrad),dv(nrad) 60 60 real xv1(klev,nspeci),xv2(klev,nspeci) … … 121 121 if (iopti.eq.0) then 122 122 123 c verif pour taille zqaer_1pt, sachant que si microfi=0 et nq mx=1,123 c verif pour taille zqaer_1pt, sachant que si microfi=0 et nqtot=1, 124 124 c il faut quand meme qu on lise la look-up table de dim nrad=10 125 125 c et si microfi=1, on doit avoir nmicro=nrad (dans microtab.h) -
trunk/libf/phytitan/optcv.F
r3 r97 51 51 COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON 52 52 COMMON /CONST/ RGAS,RHOP,PI,SIGMA 53 COMMON /traceurs/qaer(klon,nlayer,nq mx)53 COMMON /traceurs/qaer(klon,nlayer,nqtot) 54 54 COMMON /part/ v(nrad),rayon(nrad),vrat,dr(nrad),dv(nrad) 55 55 … … 93 93 c do nng=2,klon 94 94 c do i=1,klev 95 c do j=1,nq mx95 c do j=1,nqtot 96 96 c sum=sum+qaer(nng,i,j)*rayon(j)**3.*1.3333*3.1415*1000. 97 97 c enddo … … 107 107 if (ioptv.eq.0) then 108 108 109 c verif pour taille zqaer_1pt, sachant que si microfi=0 et nq mx=1,109 c verif pour taille zqaer_1pt, sachant que si microfi=0 et nqtot=1, 110 110 c il faut quand meme qu'on lise la look-up table de dim nrad=10 111 111 c et si microfi=1, on doit avoir nmicro=nrad (dans microtab.h) -
trunk/libf/phytitan/pg3.F
r3 r97 86 86 * -------------- 87 87 88 c print*,'Df aerosols /1 a nq mx/'88 c print*,'Df aerosols /1 a nqtot/' 89 89 c write(*,*) (df(h),h=1,nrad) 90 90 c write(*,*) (rayon(h),h=1,nrad) … … 173 173 c 174 174 c print*,'CHECK BEFORE COMPUTATION' 175 c print*,'nrad=',nrad,' nq mx=',nqmx,' ctrl...'175 c print*,'nrad=',nrad,' nqtot=',nqtot,' ctrl...' 176 176 c print*,'##############################################' 177 177 c print*,'1.0 - tableaux de bases:' … … 221 221 c print*,'1.2 - Avec les rayons:' 222 222 c print*,'h i j k(h,i,j)' 223 c do j=1,nq mx223 c do j=1,nqtot 224 224 c print*,h,i,j,k(h,i,j) 225 225 c enddo … … 311 311 #include "dimensions.h" 312 312 #include "microtab.h" 313 cparameter(nz=200,nrad=nq mx,nztop=135)313 cparameter(nz=200,nrad=nqtot,nztop=135) 314 314 common/con/c 315 315 real c(nz,nrad,2) … … 353 353 integer li,lf 354 354 real tt,dt 355 cparameter(nz=200,nrad=nq mx,nztop=135)355 cparameter(nz=200,nrad=nqtot,nztop=135) 356 356 real p(nz),t(nz),rho(nz),ach4(nz),aar(nz),an2(nz),pi,nav 357 357 real pb(nz),tb(nz),rhob(nz) … … 419 419 integer li,lf 420 420 real tt,dt 421 cparameter(nz=200,nrad=nq mx)421 cparameter(nz=200,nrad=nqtot) 422 422 real p(nz),t(nz),rho(nz),ach4(nz),aar(nz),an2(nz),pi,nav 423 423 real pb(nz),tb(nz),rhob(nz) … … 642 642 * ---------------------------------- 643 643 644 cparameter(nz=200,nrad=nq mx)644 cparameter(nz=200,nrad=nqtot) 645 645 real p(nz),t(nz),rho(nz),ach4(nz),aar(nz),an2(nz),pb(nz),tb(nz), 646 646 s rhob(nz) … … 692 692 * ---------------------------------- 693 693 694 cparameter(nz=200,nrad=nq mx)694 cparameter(nz=200,nrad=nqtot) 695 695 real v(nrad),rayon(nrad),vrat,dr(nrad),dv(nrad) 696 696 … … 771 771 * ---------------------------------- 772 772 773 cparameter(nz=200,nrad=nq mx)773 cparameter(nz=200,nrad=nqtot) 774 774 real p(nz),t(nz),rho(nz),ach4(nz),aar(nz),an2(nz) 775 775 s ,pb(nz),tb(nz),rhob(nz) … … 851 851 852 852 853 cparameter(nz=200,nrad=nq mx)853 cparameter(nz=200,nrad=nqtot) 854 854 real p(nz),t(nz),rho(nz),ach4(nz),aar(nz),an2(nz),pb(nz),tb(nz), 855 855 s rhob(nz) … … 909 909 * ---------------------------------- 910 910 911 cparameter(nz=200,nrad=nq mx)911 cparameter(nz=200,nrad=nqtot) 912 912 integer li,lf 913 913 real dt,tt … … 1070 1070 integer li,lf 1071 1071 real tt,dt 1072 cparameter(nz=200,nrad=nq mx)1072 cparameter(nz=200,nrad=nqtot) 1073 1073 real p(nz),t(nz),rho(nz),ach4(nz),aar(nz),an2(nz),pi,nav 1074 1074 real pb(nz),tb(nz),rhob(nz) … … 1180 1180 1181 1181 integer ndz 1182 cparameter (nrad=nq mx,nz=200,nztop=135)1182 cparameter (nrad=nqtot,nz=200,nztop=135) 1183 1183 real zb(nz),z(nz),dz(nz),dzb(nz) 1184 1184 real c(nz,nrad,2) … … 1271 1271 1272 1272 integer ndz 1273 cparameter (nrad=nq mx,nz=200,nztop=135)1273 cparameter (nrad=nqtot,nz=200,nztop=135) 1274 1274 real zb(nz),z(nz),dz(nz),dzb(nz) 1275 1275 real c(nz,nrad,2) … … 1345 1345 * ---------------------------------- 1346 1346 1347 cparameter(nz=200,nrad=nq mx,nztop=135)1347 cparameter(nz=200,nrad=nqtot,nztop=135) 1348 1348 integer li,lf 1349 1349 real tt,dt -
trunk/libf/phytitan/phyetat0.F
r3 r97 7 7 . rlat,rlon, tsol,tsoil, 8 8 . albe, solsw, sollw, 9 . fder,radsol, clesphy0,9 . fder,radsol, 10 10 . tabcntr0, 11 11 . t_ancien,ancien_ok) … … 40 40 LOGICAL ancien_ok 41 41 42 INTEGER longcles43 PARAMETER ( longcles = 20 )44 REAL clesphy0( longcles )45 c46 42 REAL xmin, xmax 47 43 c … … 84 80 ENDDO 85 81 c 86 cycle_diurne = .FALSE.87 soil_model = .FALSE.88 new_oliq = .FALSE.89 ok_orodr = .FALSE.90 ok_orolf = .FALSE.91 ok_limitvrai = .FALSE.92 93 94 IF( clesphy0(1).NE.tab_cntrl( 5 ) ) THEN95 tab_cntrl( 5 ) = clesphy0(1)96 ENDIF97 98 IF( clesphy0(2).NE.tab_cntrl( 6 ) ) THEN99 tab_cntrl( 6 ) = clesphy0(2)100 ENDIF101 102 IF( clesphy0(3).NE.tab_cntrl( 7 ) ) THEN103 tab_cntrl( 7 ) = clesphy0(3)104 ENDIF105 106 IF( clesphy0(4).NE.tab_cntrl( 8 ) ) THEN107 tab_cntrl( 8 ) = clesphy0(4)108 ENDIF109 110 IF( clesphy0(5).NE.tab_cntrl( 9 ) ) THEN111 tab_cntrl( 9 ) = clesphy0( 5 )112 ENDIF113 114 IF( clesphy0(6).NE.tab_cntrl( 10 ) ) THEN115 tab_cntrl( 10 ) = clesphy0( 6 )116 ENDIF117 118 IF( clesphy0(7).NE.tab_cntrl( 11 ) ) THEN119 tab_cntrl( 11 ) = clesphy0( 7 )120 ENDIF121 122 IF( clesphy0(8).NE.tab_cntrl( 12 ) ) THEN123 tab_cntrl( 12 ) = clesphy0( 8 )124 ENDIF125 126 IF( clesphy0(9).NE.tab_cntrl( 16 ) ) THEN127 tab_cntrl( 16 ) = clesphy0( 9 )128 ENDIF129 130 82 131 83 dtime = tab_cntrl(1) 132 84 radpas = tab_cntrl(2) 133 85 chimpas = tab_cntrl(3) 134 iflag_con = tab_cntrl(5)135 nbapp_rad = tab_cntrl(6)136 nbapp_chim = tab_cntrl(16)137 138 139 cycle_diurne = .FALSE.140 soil_model = .FALSE.141 new_oliq = .FALSE.142 ok_orodr = .FALSE.143 ok_orolf = .FALSE.144 ok_limitvrai = .FALSE.145 146 IF( tab_cntrl( 7) .EQ. 1. ) cycle_diurne = .TRUE.147 IF( tab_cntrl( 8) .EQ. 1. ) soil_model = .TRUE.148 IF( tab_cntrl( 9) .EQ. 1. ) new_oliq = .TRUE.149 IF( tab_cntrl(10) .EQ. 1. ) ok_orodr = .TRUE.150 IF( tab_cntrl(11) .EQ. 1. ) ok_orolf = .TRUE.151 IF( tab_cntrl(12) .EQ. 1. ) ok_limitvrai = .TRUE.152 86 153 87 ENDIF -
trunk/libf/phytitan/phyredem.F
r3 r97 9 9 . radsol, 10 10 . t_ancien) 11 12 USE control_mod 11 13 IMPLICIT none 12 14 c====================================================================== … … 19 21 #include "dimsoil.h" 20 22 #include "clesphys.h" 21 #include "control.h"22 23 #include "temps.h" 23 24 c====================================================================== -
trunk/libf/phytitan/physiq.F
r3 r97 5 5 SUBROUTINE physiq (nlon,nlev,nqmax, 6 6 . debut,lafin,rjourvrai,gmtime,pdtphys, 7 . paprs,pplay,ppk,pphi,pphis,presnivs, clesphy0,7 . paprs,pplay,ppk,pphi,pphis,presnivs, 8 8 . u,v,t,qx, 9 9 . omega, … … 12 12 USE ioipsl 13 13 USE histcom 14 USE infotrac 15 USE control_mod 14 16 IMPLICIT none 15 17 c====================================================================== … … 71 73 #include "dimsoil.h" 72 74 #include "clesphys.h" 73 #include "control.h"74 75 #include "temps.h" 75 76 #include "comgeomphy.h" 76 #include "advtrac.h"77 77 #include "iniprint.h" 78 78 #include "raddim.h" … … 147 147 SAVE LWdnTOA 148 148 c 149 INTEGER longcles150 PARAMETER ( longcles = 20 )151 REAL clesphy0( longcles )152 c153 149 c Variables propres a la physique 154 150 c … … 251 247 cAA 252 248 integer nmicro 253 REAL source(klon,nqm x)249 REAL source(klon,nqmax) 254 250 save nmicro,source 255 251 … … 259 255 character*8 nom 260 256 * common relatifs aux aerosols 261 REAL qaer(klon,klev,nqm x)257 REAL qaer(klon,klev,nqmax) 262 258 common/traceurs/qaer 263 259 … … 400 396 REAL zx_tmp_2d(iim,jjmp1),zx_tmp_3d(iim,jjmp1,klev) 401 397 REAL zx_lon(iim,jjmp1), zx_lat(iim,jjmp1) 402 REAL*4 z4_tmp_2d(iim,jjmp1),z4_tmp_3d(iim,jjmp1,klev)403 REAL*4 z4_lon(iim,jjmp1), z4_lat(iim,jjmp1)404 REAL*4 zpresnivs(klev)405 398 406 399 INTEGER nid_day, nid_mth, nid_ins … … 408 401 c 409 402 INTEGER nhori, nvert, idayref 410 REAL *4 zsto, zout, zsto1, zsto2, z4julian, zero403 REAL zsto, zout, zsto1, zsto2, zero 411 404 parameter (zero=0.0e0) 412 405 real zjulian … … 447 440 REAL mangtot ! moment cinetique total 448 441 442 c Temporaire avant de trouver mieux : 443 c Recuperation des TAU du TR 444 CHARACTER*2 str1 445 INTEGER NSPECV,NSPECI,NLAYER 446 PARAMETER (NSPECV=24,NSPECI=46,NLAYER=klev) 447 REAL t_tauhvd(klon,klev),t_khvd(klon,klev) 448 REAL TAUHID(klon,NLAYER,NSPECI) 449 & ,TAUGID(klon,NLAYER,NSPECI) 450 & ,TAUHVD(klon,NLAYER,NSPECV) 451 & ,TAUGVD(klon,NLAYER,NSPECV) 452 453 COMMON /TAUD/ TAUHID,TAUGID,TAUHVD,TAUGVD 454 449 455 c Declaration des constantes et des fonctions thermodynamiques 450 456 c … … 498 504 . rlatd,rlond,ftsol,ftsoil, 499 505 . falbe, solsw, sollw, 500 . dlw,radsol, clesphy0,506 . dlw,radsol, 501 507 c . zmea,zstd,zsig,zgam,zthe,zpic,zval, 502 508 . tabcntr0, … … 624 630 . iflag_ajs 625 631 c 626 ecrit_mth = NINT(RDAY/dtime *(nday-1))! tous les nday jours632 ecrit_mth = NINT(RDAY/dtime) *nday ! tous les nday jours 627 633 IF (ok_mensuel) THEN 628 634 WRITE(lunout,*)'La frequence de sortie mensuelle est de ', … … 636 642 ENDIF 637 643 638 ecrit_ins = NINT(RDAY/dtime /100.) ! toutes les ~4h Terre644 ecrit_ins = NINT(RDAY/dtime*ecritphy) ! Fraction de jour reglable 639 645 IF (ok_instan) THEN 640 646 WRITE(lunout,*)'La frequence de sortie instant. est de ', … … 1089 1095 c------------------ 1090 1096 c test condensation 1091 c do i=1,nqm x1097 c do i=1,nqmax 1092 1098 c if(tname(i).eq."HCN") then 1093 1099 c print*,"HCN=" -
trunk/libf/phytitan/phytrac.F
r3 r97 3 3 . pplev,pplay,delp,ptemp,pmu0,pfract,pdecli, 4 4 . lonsol,tr_seri,d_tr_mph,d_tr_kim) 5 6 USE infotrac 5 7 6 8 IMPLICIT none … … 34 36 #include "clesphys.h" 35 37 #include "YOMCST.h" 36 #include "advtrac.h"37 38 38 39 c====================================================================== … … 52 53 53 54 * common relatifs aux aerosols 54 REAL qaer(klon,klev,nq mx)55 REAL qaer(klon,klev,nqtot) 55 56 common/traceurs/qaer 56 57 … … 63 64 REAL pdqmfi(jjm+1,klev,nqmax) 64 65 REAL ychim(jjm+1,klev,nqmax-nmicro) 65 REAL qysat(klev,nq mx) ! dim nqmx, mais en fait nqmax-nmicro (save...)66 REAL pdyfi(jjm+1,klev,nq mx) ! dim nqmx, mais en fait nqmax-nmicro (save...)66 REAL qysat(klev,nqtot) ! dim nqtot, mais en fait nqmax-nmicro (save...) 67 REAL pdyfi(jjm+1,klev,nqtot) ! dim nqtot, mais en fait nqmax-nmicro (save...) 67 68 character*10 nomqy(nqmax-nmicro+1) 68 69 integer i,j,l,iq,ig0 -
trunk/libf/phytitan/radlwsw.F
r3 r97 68 68 69 69 * common relatifs aux aerosols 70 REAL qaer(klon,klev,nq mx)70 REAL qaer(klon,klev,nqtot) 71 71 common/traceurs/qaer 72 72 -
trunk/libf/phytitan/radtitan.F
r3 r97 199 199 * common relatifs aux aerosols 200 200 * nrad dans microtab.h 201 REAL qaer(klon,nlayer,nq mx),volume(nrad),rayon(nrad),vrat,201 REAL qaer(klon,nlayer,nqtot),volume(nrad),rayon(nrad),vrat, 202 202 & drayon(nrad),dvolume(nrad) 203 203 -
trunk/libf/phytitan/rdf.F
r3 r97 71 71 72 72 print*,'tcorrect=',tcorrect,' tx=',tx 73 print*,'Df aerosols /1 a nq mx/'73 print*,'Df aerosols /1 a nqtot/' 74 74 write(*,*) (rf(h),h=1,nrad) 75 75 write(*,*) (df(h),h=1,nrad) -
trunk/libf/phytitan/suphec.F
r3 r97 58 58 ROMEGA=2.*RPI/RSIDAY 59 59 c 1/(duree du jour) = 1/(periode rotation) - 1/(periode revolution) 60 RDAY=RSIDAY/(1.-RSIDAY/RSIYEA) ! 116.748 j60 RDAY=RSIDAY/(1.-RSIDAY/RSIYEA) 61 61 REA=1.5e12 62 62 REPSM=0. ! 0. veut dire qu'on commence au point vernal … … 157 157 WRITE(UNIT=6,FMT='('' Rv/Rd-1 = '',e13.7)') RETV 158 158 C 159 C ----------------------------------------------------------------160 C161 C* 6. DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE.162 C ---------------------------------------------163 C164 RCW=RCPV165 WRITE(UNIT=6,FMT='('' *** Thermodynamic, liquid ***'')')166 WRITE(UNIT=6,FMT='('' Cw = '',E13.7)') RCW167 C168 C ----------------------------------------------------------------169 C170 C* 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE.171 C --------------------------------------------172 C173 RCS=RCPV174 WRITE(UNIT=6,FMT='('' *** thermodynamic, solid ***'')')175 WRITE(UNIT=6,FMT='('' Cs = '',E13.7)') RCS176 C177 C ----------------------------------------------------------------178 C179 C* 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.180 C ----------------------------------------------------181 C182 c valeurs TERRE183 RTT=273.16184 RLVTT=2.5008E+6185 RLSTT=2.8345E+6186 RLMLT=RLSTT-RLVTT187 RATM=100000.188 WRITE(UNIT=6,FMT='('' *** Thermodynamic, trans. ***'')')189 WRITE(UNIT=6,FMT='('' Fusion point = '',E13.7)') RTT190 WRITE(UNIT=6,FMT='('' RLvTt = '',E13.7)') RLVTT191 WRITE(UNIT=6,FMT='('' RLsTt = '',E13.7)') RLSTT192 WRITE(UNIT=6,FMT='('' RLMlt = '',E13.7)') RLMLT193 WRITE(UNIT=6,FMT='('' Normal press. = '',E13.7)') RATM194 WRITE(UNIT=6,FMT='('' Latent heat : '')')195 C196 C ----------------------------------------------------------------197 C198 C* 9. SATURATED VAPOUR PRESSURE.199 C --------------------------200 C201 c valeurs TERRE202 RESTT=611.14203 RGAMW=(RCW-RCPV)/RV204 RBETW=RLVTT/RV+RGAMW*RTT205 RALPW=LOG(RESTT)+RBETW/RTT+RGAMW*LOG(RTT)206 RGAMS=(RCS-RCPV)/RV207 RBETS=RLSTT/RV+RGAMS*RTT208 RALPS=LOG(RESTT)+RBETS/RTT+RGAMS*LOG(RTT)209 RGAMD=RGAMS-RGAMW210 RBETD=RBETS-RBETW211 RALPD=RALPS-RALPW212 C213 C ------------------------------------------------------------------214 c215 c calculer les constantes pour les fonctions thermodynamiques216 c217 c valeurs TERRE218 RVTMP2=RCPV/RCPD-1.219 RHOH2O=RATM/100.220 R2ES=RESTT*RD/RV221 R3LES=17.269222 R3IES=21.875223 R4LES=35.86224 R4IES=7.66225 R5LES=R3LES*(RTT-R4LES)226 R5IES=R3IES*(RTT-R4IES)227 C228 159 RETURN 229 160 END -
trunk/libf/phytitan/write_histday.h
r3 r97 7 7 ndex3d = 0 8 8 zx_tmp_2d = 0. 9 z4_tmp_2d = 0.10 9 zx_tmp_3d = 0. 11 z4_tmp_3d = 0.12 10 zx_tmp_fi2d=0. 13 11 zx_tmp_fi3d=0. … … 24 22 c 25 23 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 26 z4_tmp_2d=zx_tmp_2d 27 CALL histwrite(nid_day,"phis",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 24 CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 28 25 C 29 26 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 30 z4_tmp_2d=zx_tmp_2d 31 CALL histwrite(nid_day,"aire",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 27 CALL histwrite(nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 32 28 c 33 29 ccccccc axe Ls 34 30 do j=1,jjmp1 35 31 do i=1,iim 36 z 4_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !!32 zx_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !! 37 33 enddo 38 34 enddo 39 CALL histwrite(nid_day,"ls",itau_w,z 4_tmp_2d,iim*jjmp1,ndex2d)35 CALL histwrite(nid_day,"ls",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 40 36 c 41 37 ccccccccccccc 2D fields, variables 42 38 c 43 39 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) 44 z4_tmp_2d=zx_tmp_2d 45 CALL histwrite(nid_day,"tsol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 40 CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 46 41 c 47 42 DO i = 1, klon … … 49 44 ENDDO 50 45 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 51 z4_tmp_2d=zx_tmp_2d 52 CALL histwrite(nid_day,"psol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 46 CALL histwrite(nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 53 47 c 54 48 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 55 c z4_tmp_2d=zx_tmp_2d 56 c CALL histwrite(nid_day,"ue",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 49 c CALL histwrite(nid_day,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 57 50 c 58 51 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 59 c z4_tmp_2d=zx_tmp_2d 60 c CALL histwrite(nid_day,"ve",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 52 c CALL histwrite(nid_day,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 61 53 c 62 54 ENDIF !lev_histday.GE.1 … … 68 60 c 69 61 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 70 z4_tmp_3d=zx_tmp_3d 71 CALL histwrite(nid_day,"temp",itau_w,z4_tmp_3d, 62 CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d, 72 63 . iim*jjmp1*klev,ndex3d) 73 64 c 74 65 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 75 z4_tmp_3d=zx_tmp_3d 76 CALL histwrite(nid_day,"pres",itau_w,z4_tmp_3d, 66 CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d, 77 67 . iim*jjmp1*klev,ndex3d) 78 68 c 79 69 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 80 z4_tmp_3d=zx_tmp_3d 81 CALL histwrite(nid_day,"geop",itau_w,z4_tmp_3d, 70 CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d, 82 71 . iim*jjmp1*klev,ndex3d) 83 72 c 84 73 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 85 z4_tmp_3d=zx_tmp_3d 86 CALL histwrite(nid_day,"vitu",itau_w,z4_tmp_3d, 74 CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d, 87 75 . iim*jjmp1*klev,ndex3d) 88 76 c 89 77 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 90 z4_tmp_3d=zx_tmp_3d 91 CALL histwrite(nid_day,"vitv",itau_w,z4_tmp_3d, 78 CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d, 92 79 . iim*jjmp1*klev,ndex3d) 93 80 c 94 81 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 95 z4_tmp_3d=zx_tmp_3d 96 CALL histwrite(nid_day,"vitw",itau_w,z4_tmp_3d, 82 CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d, 97 83 . iim*jjmp1*klev,ndex3d) 98 84 c 99 85 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 100 z4_tmp_2d=zx_tmp_2d 101 CALL histwrite(nid_day,"tops",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 86 CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 102 87 c 103 88 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) 104 z4_tmp_3d=zx_tmp_3d 105 CALL histwrite(nid_day,"dudyn",itau_w,z4_tmp_3d, 89 CALL histwrite(nid_day,"dudyn",itau_w,zx_tmp_3d, 106 90 . iim*jjmp1*klev,ndex3d) 107 91 c 108 92 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 109 z4_tmp_3d=zx_tmp_3d 110 CALL histwrite(nid_day,"duvdf",itau_w,z4_tmp_3d, 93 CALL histwrite(nid_day,"duvdf",itau_w,zx_tmp_3d, 111 94 . iim*jjmp1*klev,ndex3d) 112 95 c … … 115 98 DO iq=1,nmicro 116 99 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d) 117 z4_tmp_3d=zx_tmp_3d 118 CALL histwrite(nid_day,tname(iq),itau_w,z4_tmp_3d, 100 CALL histwrite(nid_day,tname(iq),itau_w,zx_tmp_3d, 119 101 . iim*jjmp1*klev,ndex3d) 120 102 ENDDO … … 123 105 DO iq=nmicro+1,nqmax 124 106 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,tr_seri(1,1,iq),zx_tmp_3d) 125 z4_tmp_3d=zx_tmp_3d 126 CALL histwrite(nid_day,tname(iq),itau_w,z4_tmp_3d, 107 CALL histwrite(nid_day,tname(iq),itau_w,zx_tmp_3d, 127 108 . iim*jjmp1*klev,ndex3d) 128 109 ENDDO … … 140 121 c 141 122 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 142 z4_tmp_2d=zx_tmp_2d 143 CALL histwrite(nid_day,"topl",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 123 CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 144 124 c 145 125 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 146 z4_tmp_2d=zx_tmp_2d 147 CALL histwrite(nid_day,"sols",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 126 CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 148 127 c 149 128 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 150 z4_tmp_2d=zx_tmp_2d 151 CALL histwrite(nid_day,"soll",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 129 CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 152 130 c 153 131 c 3D … … 155 133 zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) 156 134 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 157 z4_tmp_3d=zx_tmp_3d 158 CALL histwrite(nid_day,"SWnet",itau_w,z4_tmp_3d, 135 CALL histwrite(nid_day,"SWnet",itau_w,zx_tmp_3d, 159 136 . iim*jjmp1*klev,ndex3d) 160 137 c 161 138 zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) 162 139 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 163 z4_tmp_3d=zx_tmp_3d 164 CALL histwrite(nid_day,"LWnet",itau_w,z4_tmp_3d, 140 CALL histwrite(nid_day,"LWnet",itau_w,zx_tmp_3d, 165 141 . iim*jjmp1*klev,ndex3d) 166 142 c … … 171 147 c 172 148 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 173 z4_tmp_3d=zx_tmp_3d 174 CALL histwrite(nid_day,"dtdyn",itau_w,z4_tmp_3d, 149 CALL histwrite(nid_day,"dtdyn",itau_w,zx_tmp_3d, 175 150 . iim*jjmp1*klev,ndex3d) 176 151 c 177 152 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 178 z4_tmp_3d=zx_tmp_3d 179 CALL histwrite(nid_day,"dtphy",itau_w,z4_tmp_3d, 153 CALL histwrite(nid_day,"dtphy",itau_w,zx_tmp_3d, 180 154 . iim*jjmp1*klev,ndex3d) 181 155 c K/s 182 156 zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev) 183 157 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 184 z4_tmp_3d=zx_tmp_3d 185 CALL histwrite(nid_day,"dtvdf",itau_w,z4_tmp_3d, 158 CALL histwrite(nid_day,"dtvdf",itau_w,zx_tmp_3d, 186 159 . iim*jjmp1*klev,ndex3d) 187 160 c … … 189 162 zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev) 190 163 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 191 z4_tmp_3d=zx_tmp_3d 192 CALL histwrite(nid_day,"dtajs",itau_w,z4_tmp_3d, 164 CALL histwrite(nid_day,"dtajs",itau_w,zx_tmp_3d, 193 165 . iim*jjmp1*klev,ndex3d) 194 166 c … … 196 168 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev) 197 169 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 198 z4_tmp_3d=zx_tmp_3d 199 CALL histwrite(nid_day,"dtswr",itau_w,z4_tmp_3d, 170 CALL histwrite(nid_day,"dtswr",itau_w,zx_tmp_3d, 200 171 . iim*jjmp1*klev,ndex3d) 201 172 c … … 203 174 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev) 204 175 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 205 z4_tmp_3d=zx_tmp_3d 206 CALL histwrite(nid_day,"dtlwr",itau_w,z4_tmp_3d, 176 CALL histwrite(nid_day,"dtlwr",itau_w,zx_tmp_3d, 207 177 . iim*jjmp1*klev,ndex3d) 208 178 c K/s 209 179 zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 210 180 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 211 z4_tmp_3d=zx_tmp_3d 212 CALL histwrite(nid_day,"dtec",itau_w,z4_tmp_3d, 181 CALL histwrite(nid_day,"dtec",itau_w,zx_tmp_3d, 213 182 . iim*jjmp1*klev,ndex3d) 214 183 c … … 220 189 c 221 190 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) 222 c z4_tmp_2d=zx_tmp_2d223 191 c CALL histwrite(nid_day,"taux_",itau_w, 224 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)192 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 225 193 c 226 194 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) 227 c z4_tmp_2d=zx_tmp_2d228 195 c CALL histwrite(nid_day,"tauy_",itau_w, 229 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)196 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 230 197 c 231 198 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 232 c z4_tmp_2d=zx_tmp_2d 233 c CALL histwrite(nid_day,"cdrm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 199 c CALL histwrite(nid_day,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 234 200 c 235 201 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 236 c z4_tmp_2d=zx_tmp_2d 237 c CALL histwrite(nid_day,"cdrh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 202 c CALL histwrite(nid_day,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 238 203 c 239 204 ENDIF !lev_histday.GE.5 -
trunk/libf/phytitan/write_histins.h
r3 r97 7 7 ndex3d = 0 8 8 zx_tmp_2d = 0. 9 z4_tmp_2d = 0.10 9 zx_tmp_3d = 0. 11 z4_tmp_3d = 0.12 10 zx_tmp_fi2d=0. 13 11 zx_tmp_fi3d=0. … … 24 22 c 25 23 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 26 z4_tmp_2d=zx_tmp_2d 27 CALL histwrite(nid_ins,"phis",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 24 CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 28 25 C 29 26 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 30 z4_tmp_2d=zx_tmp_2d 31 CALL histwrite(nid_ins,"aire",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 27 CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 32 28 c 33 29 ccccccc axe Ls 34 30 do j=1,jjmp1 35 31 do i=1,iim 36 z 4_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !!32 zx_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !! 37 33 enddo 38 34 enddo 39 CALL histwrite(nid_ins,"ls",itau_w,z 4_tmp_2d,iim*jjmp1,ndex2d)35 CALL histwrite(nid_ins,"ls",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 40 36 c 41 37 ccccccccccccc 2D fields, variables 42 38 c 43 39 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) 44 z4_tmp_2d=zx_tmp_2d 45 CALL histwrite(nid_ins,"tsol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 40 CALL histwrite(nid_ins,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 46 41 c 47 42 DO i = 1, klon … … 49 44 ENDDO 50 45 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 51 z4_tmp_2d=zx_tmp_2d 52 CALL histwrite(nid_ins,"psol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 46 CALL histwrite(nid_ins,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 53 47 c 54 48 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 55 c z4_tmp_2d=zx_tmp_2d 56 c CALL histwrite(nid_ins,"ue",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 49 c CALL histwrite(nid_ins,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 57 50 c 58 51 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 59 c z4_tmp_2d=zx_tmp_2d 60 c CALL histwrite(nid_ins,"ve",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 52 c CALL histwrite(nid_ins,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 61 53 c 62 54 ENDIF !lev_histday.GE.1 … … 68 60 c 69 61 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 70 z4_tmp_3d=zx_tmp_3d 71 CALL histwrite(nid_ins,"temp",itau_w,z4_tmp_3d, 62 CALL histwrite(nid_ins,"temp",itau_w,zx_tmp_3d, 72 63 . iim*jjmp1*klev,ndex3d) 73 64 c 74 65 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 75 z4_tmp_3d=zx_tmp_3d 76 CALL histwrite(nid_ins,"pres",itau_w,z4_tmp_3d, 66 CALL histwrite(nid_ins,"pres",itau_w,zx_tmp_3d, 77 67 . iim*jjmp1*klev,ndex3d) 78 68 c 79 69 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 80 z4_tmp_3d=zx_tmp_3d 81 CALL histwrite(nid_ins,"geop",itau_w,z4_tmp_3d, 70 CALL histwrite(nid_ins,"geop",itau_w,zx_tmp_3d, 82 71 . iim*jjmp1*klev,ndex3d) 83 72 c 84 73 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 85 z4_tmp_3d=zx_tmp_3d 86 CALL histwrite(nid_ins,"vitu",itau_w,z4_tmp_3d, 74 CALL histwrite(nid_ins,"vitu",itau_w,zx_tmp_3d, 87 75 . iim*jjmp1*klev,ndex3d) 88 76 c 89 77 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 90 z4_tmp_3d=zx_tmp_3d 91 CALL histwrite(nid_ins,"vitv",itau_w,z4_tmp_3d, 78 CALL histwrite(nid_ins,"vitv",itau_w,zx_tmp_3d, 92 79 . iim*jjmp1*klev,ndex3d) 93 80 c 94 81 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 95 z4_tmp_3d=zx_tmp_3d 96 CALL histwrite(nid_ins,"vitw",itau_w,z4_tmp_3d, 82 CALL histwrite(nid_ins,"vitw",itau_w,zx_tmp_3d, 97 83 . iim*jjmp1*klev,ndex3d) 98 84 c 99 85 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 100 z4_tmp_2d=zx_tmp_2d 101 CALL histwrite(nid_ins,"tops",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 86 CALL histwrite(nid_ins,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 102 87 c 103 88 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 104 z4_tmp_3d=zx_tmp_3d 105 CALL histwrite(nid_ins,"duvdf",itau_w,z4_tmp_3d, 89 CALL histwrite(nid_ins,"duvdf",itau_w,zx_tmp_3d, 106 90 . iim*jjmp1*klev,ndex3d) 107 91 c 108 92 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) 109 z4_tmp_3d=zx_tmp_3d 110 CALL histwrite(nid_ins,"dudyn",itau_w,z4_tmp_3d, 93 CALL histwrite(nid_ins,"dudyn",itau_w,zx_tmp_3d, 111 94 . iim*jjmp1*klev,ndex3d) 112 95 c … … 122 105 DO iq=1,nmicro 123 106 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d) 124 z4_tmp_3d=zx_tmp_3d 125 CALL histwrite(nid_ins,tname(iq),itau_w,z4_tmp_3d, 107 CALL histwrite(nid_ins,tname(iq),itau_w,zx_tmp_3d, 126 108 . iim*jjmp1*klev,ndex3d) 127 109 ENDDO … … 130 112 DO iq=nmicro+1,nqmax 131 113 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,tr_seri(1,1,iq),zx_tmp_3d) 132 z4_tmp_3d=zx_tmp_3d 133 CALL histwrite(nid_ins,tname(iq),itau_w,z4_tmp_3d, 114 CALL histwrite(nid_ins,tname(iq),itau_w,zx_tmp_3d, 134 115 . iim*jjmp1*klev,ndex3d) 135 116 ENDDO … … 142 123 c 143 124 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 144 z4_tmp_2d=zx_tmp_2d 145 CALL histwrite(nid_ins,"topl",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 125 CALL histwrite(nid_ins,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 146 126 c 147 127 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 148 z4_tmp_2d=zx_tmp_2d 149 CALL histwrite(nid_ins,"sols",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 128 CALL histwrite(nid_ins,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 150 129 c 151 130 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 152 z4_tmp_2d=zx_tmp_2d 153 CALL histwrite(nid_ins,"soll",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 131 CALL histwrite(nid_ins,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 154 132 c 155 133 c 3D … … 157 135 zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) 158 136 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 159 z4_tmp_3d=zx_tmp_3d 160 CALL histwrite(nid_ins,"SWnet",itau_w,z4_tmp_3d, 137 CALL histwrite(nid_ins,"SWnet",itau_w,zx_tmp_3d, 161 138 . iim*jjmp1*klev,ndex3d) 162 139 c 163 140 zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) 164 141 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 165 z4_tmp_3d=zx_tmp_3d 166 CALL histwrite(nid_ins,"LWnet",itau_w,z4_tmp_3d, 142 CALL histwrite(nid_ins,"LWnet",itau_w,zx_tmp_3d, 167 143 . iim*jjmp1*klev,ndex3d) 168 144 c … … 173 149 c 174 150 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 175 z4_tmp_3d=zx_tmp_3d 176 CALL histwrite(nid_ins,"dtdyn",itau_w,z4_tmp_3d, 151 CALL histwrite(nid_ins,"dtdyn",itau_w,zx_tmp_3d, 177 152 . iim*jjmp1*klev,ndex3d) 178 153 c 179 154 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 180 z4_tmp_3d=zx_tmp_3d 181 CALL histwrite(nid_ins,"dtphy",itau_w,z4_tmp_3d, 155 CALL histwrite(nid_ins,"dtphy",itau_w,zx_tmp_3d, 182 156 . iim*jjmp1*klev,ndex3d) 183 157 c K/s 184 158 zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev) 185 159 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 186 z4_tmp_3d=zx_tmp_3d 187 CALL histwrite(nid_ins,"dtvdf",itau_w,z4_tmp_3d, 160 CALL histwrite(nid_ins,"dtvdf",itau_w,zx_tmp_3d, 188 161 . iim*jjmp1*klev,ndex3d) 189 162 c … … 191 164 zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev) 192 165 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 193 z4_tmp_3d=zx_tmp_3d 194 CALL histwrite(nid_ins,"dtajs",itau_w,z4_tmp_3d, 166 CALL histwrite(nid_ins,"dtajs",itau_w,zx_tmp_3d, 195 167 . iim*jjmp1*klev,ndex3d) 196 168 c … … 198 170 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev) 199 171 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 200 z4_tmp_3d=zx_tmp_3d 201 CALL histwrite(nid_ins,"dtswr",itau_w,z4_tmp_3d, 172 CALL histwrite(nid_ins,"dtswr",itau_w,zx_tmp_3d, 202 173 . iim*jjmp1*klev,ndex3d) 203 174 c … … 205 176 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev) 206 177 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 207 z4_tmp_3d=zx_tmp_3d 208 CALL histwrite(nid_ins,"dtlwr",itau_w,z4_tmp_3d, 178 CALL histwrite(nid_ins,"dtlwr",itau_w,zx_tmp_3d, 209 179 . iim*jjmp1*klev,ndex3d) 210 180 c K/s 211 181 zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 212 182 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 213 z4_tmp_3d=zx_tmp_3d 214 CALL histwrite(nid_ins,"dtec",itau_w,z4_tmp_3d, 183 CALL histwrite(nid_ins,"dtec",itau_w,zx_tmp_3d, 215 184 . iim*jjmp1*klev,ndex3d) 216 185 c 217 186 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 218 c z4_tmp_3d=zx_tmp_3d 219 c CALL histwrite(nid_ins,"dvvdf",itau_w,z4_tmp_3d, 187 c CALL histwrite(nid_ins,"dvvdf",itau_w,zx_tmp_3d, 220 188 c . iim*jjmp1*klev,ndex3d) 221 189 c … … 227 195 c 228 196 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) 229 c z4_tmp_2d=zx_tmp_2d230 197 c CALL histwrite(nid_ins,"taux_",itau_w, 231 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)198 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 232 199 c 233 200 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) 234 c z4_tmp_2d=zx_tmp_2d235 201 c CALL histwrite(nid_ins,"tauy_",itau_w, 236 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)202 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 237 203 c 238 204 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 239 c z4_tmp_2d=zx_tmp_2d 240 c CALL histwrite(nid_ins,"cdrm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 205 c CALL histwrite(nid_ins,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 241 206 c 242 207 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 243 c z4_tmp_2d=zx_tmp_2d 244 c CALL histwrite(nid_ins,"cdrh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 208 c CALL histwrite(nid_ins,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 245 209 c 246 210 ENDIF !lev_histday.GE.5 -
trunk/libf/phytitan/write_histmth.h
r3 r97 4 4 ndex3d = 0 5 5 zx_tmp_2d = 0. 6 z4_tmp_2d = 0.7 6 zx_tmp_3d = 0. 8 z4_tmp_3d = 0.9 7 zx_tmp_fi2d=0. 10 8 zx_tmp_fi3d=0. … … 20 18 c 21 19 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 22 z4_tmp_2d=zx_tmp_2d 23 CALL histwrite(nid_mth,"phis",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 20 CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 24 21 C 25 22 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 26 z4_tmp_2d=zx_tmp_2d 27 CALL histwrite(nid_mth,"aire",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 23 CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 28 24 c 29 25 ccccccc axe Ls 30 26 do j=1,jjmp1 31 27 do i=1,iim 32 z 4_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !!28 zx_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !! 33 29 enddo 34 30 enddo 35 CALL histwrite(nid_mth,"ls",itau_w,z 4_tmp_2d,iim*jjmp1,ndex2d)31 CALL histwrite(nid_mth,"ls",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 36 32 c 37 33 ccccccccccccc 2D fields, variables 38 34 c 39 35 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) 40 z4_tmp_2d=zx_tmp_2d 41 CALL histwrite(nid_mth,"tsol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 36 CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 42 37 c 43 38 DO i = 1, klon … … 45 40 ENDDO 46 41 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 47 z4_tmp_2d=zx_tmp_2d 48 CALL histwrite(nid_mth,"psol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 42 CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 49 43 c 50 44 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 51 c z4_tmp_2d=zx_tmp_2d 52 c CALL histwrite(nid_mth,"ue",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 45 c CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 53 46 c 54 47 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 55 c z4_tmp_2d=zx_tmp_2d 56 c CALL histwrite(nid_mth,"ve",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 48 c CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 57 49 c 58 50 ENDIF !lev_histmth.GE.1 … … 64 56 c 65 57 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 66 z4_tmp_3d=zx_tmp_3d 67 CALL histwrite(nid_mth,"temp",itau_w,z4_tmp_3d, 58 CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d, 68 59 . iim*jjmp1*klev,ndex3d) 69 60 c 70 61 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 71 z4_tmp_3d=zx_tmp_3d 72 CALL histwrite(nid_mth,"pres",itau_w,z4_tmp_3d, 62 CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d, 73 63 . iim*jjmp1*klev,ndex3d) 74 64 c 75 65 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 76 z4_tmp_3d=zx_tmp_3d 77 CALL histwrite(nid_mth,"geop",itau_w,z4_tmp_3d, 66 CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d, 78 67 . iim*jjmp1*klev,ndex3d) 79 68 c 80 69 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 81 z4_tmp_3d=zx_tmp_3d 82 CALL histwrite(nid_mth,"vitu",itau_w,z4_tmp_3d, 70 CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d, 83 71 . iim*jjmp1*klev,ndex3d) 84 72 c 85 73 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 86 z4_tmp_3d=zx_tmp_3d 87 CALL histwrite(nid_mth,"vitv",itau_w,z4_tmp_3d, 74 CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d, 88 75 . iim*jjmp1*klev,ndex3d) 89 76 c 90 77 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 91 z4_tmp_3d=zx_tmp_3d 92 CALL histwrite(nid_mth,"vitw",itau_w,z4_tmp_3d, 78 CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d, 93 79 . iim*jjmp1*klev,ndex3d) 94 80 c 95 81 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 96 z4_tmp_2d=zx_tmp_2d 97 CALL histwrite(nid_mth,"tops",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 82 CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 98 83 c 99 84 if (iflag_trac.eq.1) THEN 100 85 if (microfi.eq.1) then 101 DO iq=1,nmicro 102 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d) 103 z4_tmp_3d=zx_tmp_3d 104 CALL histwrite(nid_mth,tname(iq),itau_w,z4_tmp_3d, 105 . iim*jjmp1*klev,ndex3d) 106 ENDDO 107 endif 108 if (nmicro.lt.nqmax) then 86 c DO iq=1,nmicro 87 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d) 88 c CALL histwrite(nid_mth,tname(iq),itau_w,zx_tmp_3d, 89 c . iim*jjmp1*klev,ndex3d) 90 c ENDDO 91 c endif 92 if (nmicro.lt.nqmax) then 109 93 DO iq=nmicro+1,nqmax 110 94 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,tr_seri(1,1,iq),zx_tmp_3d) 111 z4_tmp_3d=zx_tmp_3d 112 CALL histwrite(nid_mth,tname(iq),itau_w,z4_tmp_3d, 95 CALL histwrite(nid_mth,tname(iq),itau_w,zx_tmp_3d, 113 96 . iim*jjmp1*klev,ndex3d) 114 97 ENDDO … … 116 99 c DO iq=nmicro+1,nqmax 117 100 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_tr_mph(1,1,iq),zx_tmp_3d) 118 c z4_tmp_3d=zx_tmp_3d 119 c CALL histwrite(nid_mth,"c_"//tname(iq),itau_w,z4_tmp_3d, 101 c CALL histwrite(nid_mth,"c_"//tname(iq),itau_w,zx_tmp_3d, 120 102 c . iim*jjmp1*klev,ndex3d) 121 103 c ENDDO … … 133 115 c 134 116 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 135 z4_tmp_2d=zx_tmp_2d 136 CALL histwrite(nid_mth,"topl",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 117 CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 137 118 c 138 119 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 139 z4_tmp_2d=zx_tmp_2d 140 CALL histwrite(nid_mth,"sols",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 120 CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 141 121 c 142 122 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 143 z4_tmp_2d=zx_tmp_2d 144 CALL histwrite(nid_mth,"soll",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 123 CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 145 124 c 146 125 c 3D … … 148 127 zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) 149 128 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 150 z4_tmp_3d=zx_tmp_3d 151 CALL histwrite(nid_mth,"SWnet",itau_w,z4_tmp_3d, 129 CALL histwrite(nid_mth,"SWnet",itau_w,zx_tmp_3d, 152 130 . iim*jjmp1*klev,ndex3d) 153 131 c 154 132 zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) 155 133 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 156 z4_tmp_3d=zx_tmp_3d 157 CALL histwrite(nid_mth,"LWnet",itau_w,z4_tmp_3d, 158 . iim*jjmp1*klev,ndex3d) 159 c 134 CALL histwrite(nid_mth,"LWnet",itau_w,zx_tmp_3d, 135 . iim*jjmp1*klev,ndex3d) 136 c 137 c 3D adding Tau and k (31/08/10) 138 c 139 do k=3,nspecv,5 140 do i=1,klon 141 do l=1,klev 142 t_tauhvd(i,j)=TAUHVD(i,klev-l+1,k) 143 enddo 144 enddo 145 write(str1,'(i2.2)') k 146 zx_tmp_fi3d(1:klon,1:klev)=t_tauhvd(1:klon,1:klev) 147 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 148 CALL histwrite(nid_mth,"thv"//str1,itau_w,zx_tmp_3d, 149 . iim*jjmp1*klev,ndex3d) 150 enddo ! fin boucle nspecv 151 152 do k=3,nspecv,5 153 do i=1,klon 154 do l=1,klev 155 if(l.ne.klev) 156 s t_khvd(i,l)=TAUHVD(i,klev-l+1,k) 157 s -TAUHVD(i,klev-l+1-1,k) 158 159 if(l.eq.klev) 160 s t_khvd(i,l)=TAUHVD(i,klev-l+1,k) 161 162 t_khvd(i,l)=t_khvd(i,l)/(zzlev(i,l+1)-zzlev(i,l)) 163 enddo 164 enddo 165 write(str1,'(i2.2)') k 166 zx_tmp_fi3d(1:klon,1:klev)=t_khvd(1:klon,1:klev) 167 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 168 CALL histwrite(nid_mth,"khv"//str1,itau_w,zx_tmp_3d, 169 . iim*jjmp1*klev,ndex3d) 170 enddo ! fin boucle nspecv 171 160 172 ENDIF !lev_histmth.GE.3 161 173 c … … 164 176 c 165 177 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 166 z4_tmp_3d=zx_tmp_3d 167 CALL histwrite(nid_mth,"dtdyn",itau_w,z4_tmp_3d, 178 CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d, 168 179 . iim*jjmp1*klev,ndex3d) 169 180 c 170 181 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 171 z4_tmp_3d=zx_tmp_3d 172 CALL histwrite(nid_mth,"dtphy",itau_w,z4_tmp_3d, 182 CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d, 173 183 . iim*jjmp1*klev,ndex3d) 174 184 c K/s 175 185 zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev) 176 186 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 177 z4_tmp_3d=zx_tmp_3d 178 CALL histwrite(nid_mth,"dtvdf",itau_w,z4_tmp_3d, 187 CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d, 179 188 . iim*jjmp1*klev,ndex3d) 180 189 c … … 182 191 zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev) 183 192 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 184 z4_tmp_3d=zx_tmp_3d 185 CALL histwrite(nid_mth,"dtajs",itau_w,z4_tmp_3d, 193 CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d, 186 194 . iim*jjmp1*klev,ndex3d) 187 195 c … … 189 197 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev) 190 198 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 191 z4_tmp_3d=zx_tmp_3d 192 CALL histwrite(nid_mth,"dtswr",itau_w,z4_tmp_3d, 199 CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d, 193 200 . iim*jjmp1*klev,ndex3d) 194 201 c … … 196 203 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev) 197 204 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 198 z4_tmp_3d=zx_tmp_3d 199 CALL histwrite(nid_mth,"dtlwr",itau_w,z4_tmp_3d, 205 CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d, 200 206 . iim*jjmp1*klev,ndex3d) 201 207 c K/s 202 208 c zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 203 209 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 204 c z4_tmp_3d=zx_tmp_3d 205 c CALL histwrite(nid_mth,"dtec",itau_w,z4_tmp_3d, 210 c CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d, 206 211 c . iim*jjmp1*klev,ndex3d) 207 212 c 208 213 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 209 z4_tmp_3d=zx_tmp_3d 210 CALL histwrite(nid_mth,"duvdf",itau_w,z4_tmp_3d, 214 CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d, 211 215 . iim*jjmp1*klev,ndex3d) 212 216 c 213 217 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) 214 z4_tmp_3d=zx_tmp_3d 215 CALL histwrite(nid_mth,"dudyn",itau_w,z4_tmp_3d, 218 CALL histwrite(nid_mth,"dudyn",itau_w,zx_tmp_3d, 216 219 . iim*jjmp1*klev,ndex3d) 217 220 c 218 221 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 219 c z4_tmp_3d=zx_tmp_3d 220 c CALL histwrite(nid_mth,"dvvdf",itau_w,z4_tmp_3d, 222 c CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d, 221 223 c . iim*jjmp1*klev,ndex3d) 222 224 c … … 228 230 c 229 231 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) 230 c z4_tmp_2d=zx_tmp_2d231 232 c CALL histwrite(nid_mth,"taux_",itau_w, 232 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)233 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 233 234 c 234 235 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) 235 c z4_tmp_2d=zx_tmp_2d236 236 c CALL histwrite(nid_mth,"tauy_",itau_w, 237 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)237 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 238 238 c 239 239 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 240 c z4_tmp_2d=zx_tmp_2d 241 c CALL histwrite(nid_mth,"cdrm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 240 c CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 242 241 c 243 242 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 244 c z4_tmp_2d=zx_tmp_2d 245 c CALL histwrite(nid_mth,"cdrh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 243 c CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 246 244 c 247 245 ENDIF !lev_histmth.GE.5
Note: See TracChangeset
for help on using the changeset viewer.