Changeset 97
- Timestamp:
- Mar 22, 2011, 5:25:44 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 70 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/chantiers/commit_importants.log
r76 r97 545 545 M 75 mars/libf/phymars/meso_dustlift.F 546 546 NB: correction mineure, de facon a recuperer alpha_lift de initracer 547 548 549 ******************** 550 **** commit_v96 **** 551 ******************** 552 553 Serie de modifs Sebastien Lebonnois 554 555 ** Correction bug 556 **--------------- 557 558 * Modif de bilan_dyn.F : 559 - bug à la ligne 915: jjm et non jjp1... 560 561 ** Modifs de dyn3d 562 **--------------- 563 564 * Modif de leapfrog.F : 565 - ajout test pk monotone 566 567 ** Sortie des opacites plutot que des aerosols dans phytitan 568 **---------------------------------------------------------- 569 570 * Modif de physiq.F : 571 - ajout de variables et d'un common (pour variables venant de radtitan) 572 573 * Modif de ini/write_histmth.h 574 - sorties des opacites (thv* et khv*) 575 - commentaire de la sortie des q* 576 577 ** Reglage .def 578 **--------------- 579 580 * titan/physiq.def : 581 - ajustement tx 582 583 ** Sorties IOIPSL 584 **----------------------- 585 586 * Modif de phy[venus/titan]/physiq.F 587 - suppression des REAL*4 lies aux sorties IOIPSL 588 589 * Modif de phy[venus/titan]/[ini/write]_hist* 590 - suppression des variables intermediaires en REAL*4 lies aux sorties IOIPSL 591 592 ** nqmx remplace par nqtot 593 **----------------------- 594 595 * Modif de phytitan/ 596 calchim.F,optci.F,optcv.F,pg3.F,physiq.F,phytrac.F, 597 radlwsw.F,radtitan.F,rdf.F 598 599 * Modif de phyvenus/ 600 phytrac.F,testphys1d.F 601 602 ** nettoyage 603 **----------------------- 604 605 * Suppression de phytitan/ 606 calchim.dbleprec,calchim.spleprec 607 608 ** calendriers 609 **----------------------- 610 611 * Modif de dyn3d[par]/gcm.F: 612 - calendriers: il faut une option dans ioconf_calendar pour definir 613 les calendriers titan et venus 614 - pour definition jD_ref et jH_ref: avertissement pour Venus et Titan 615 - avertissement pour separation en annees 616 617 * Modif de deftank/[titan/venus]/run.def 618 - ajout de calend => calend=titan ou venus 619 - ajout de anneeref et raz_date 620 621 ** Possibilite de tourner moins d'une journee 622 **----------------------- 623 624 * Modif de dyn3d[par]/leapfrog[_p].F 625 - ajout de la possibilite de tourner moins d'1 jour 626 627 * Modif de dyn3d[par]/control_mod.F90 628 - ajout de less1day et fractday 629 630 * Modif de dyn3d[par]/conf_gcm.F 631 - definition/lecture de less1day et fractday 632 633 * Modif de deftank/venus/run.def 634 - ajout de less1day et fractday 635 636 ** suppression advtrac.h et control.h dans les phy* 637 **----------------------- 638 639 * Modif de : phy[venus/titan]/physiq.F 640 - remplacement de #include "advtrac.h" par USE infotrac 641 - remplacement de #include "control.h" par USE control_mod 642 643 * Modif de : phy[venus/titan]/phytrac.F 644 - remplacement de #include "advtrac.h" par USE infotrac 645 - remplacement de #include "control.h" par USE control_mod 646 647 * Modif de : phy[venus/titan]/phyredem.F 648 - remplacement de #include "control.h" par USE control_mod 649 650 ** ajustements lecture des .def 651 **----------------------- 652 653 * Modif de phy[titan/venus]/conf_phys.F90 654 - ajout de tous les parametres transferes de gcm.def dans physiq.def 655 - utilisation de ecritphy: 656 pour Venus, frequence de sortie dans mth et ins 657 pour Titan, frequence de sortie dans ins 658 - suppression de zzz 659 660 * Modif de phy[titan/venus]/clesphys.h 661 - mise a jour des declarations necessaires 662 663 ** Elimination de clesphy0 664 **----------------------- 665 666 * Modif de : phy[titan/venus]/phyetat0.F 667 - elimination de clesphy0, longcles 668 669 * Modif de : phy[titan/venus]/physiq.F 670 - elimination de clesphy0, longcles 671 672 * Modif de dyn3d[par]/ 673 calfis.F, ce0l.F90, conf_gcm.F, gcm.F, leapfrog.F 674 - elimination de clesphy0, longcles 675 676 ** Ajustement format .h 677 **----------------------- 678 679 * Modif de phy[titan/venus]/clesphys.h (clesphys.inc elimine) 680 681 * Modif de phy[titan/venus]/YOMCST.h (YOMCST.inc elimine) 682 683 * Elimination de tous les YOETHF dans phy[titan/venus] et nettoyage de suphec.F 684 685 * Elimination de tous les FCTTRE dans phy[titan/venus] 686 687 * Modif de : phytitan/comorbit.h (comorbit.inc elimine) 688 689 ** Controle de la remise a zero des varc 690 **----------------------- 691 692 * Modif de dyn3d[par]/sortvarc.F 693 - ajout firstcal 694 - ajout flag pour controle (resetvarc) 695 - correction pour avoir le moment cinetique total absolu 696 697 * Modif de dyn3d[par]/conf_gcm.F 698 - ajout flag pour controle (resetvarc) 699 700 * Modif de dyn3d[par]/control_mod.F90 701 - ajout de resetvarc 702 703 * Modif de deftank/venus/run.def 704 - ajout de resetvarc 705 706 * Modif de dyn3d[par]/sortvarc0.F 707 - correction pour avoir le moment cinetique total absolu 708 709 710 -
trunk/deftanks/titan/physiq.def
r6 r97 90 90 microfi=1 91 91 # facteur pour les aerosols 92 tx = 1.92 tx = 3. 93 93 # facteur de correction 94 94 tcorrect=1. -
trunk/deftanks/titan/run.def
r6 r97 4 4 INCLUDEDEF=physiq.def 5 5 INCLUDEDEF=gcm.def 6 ## Calendrier 7 calend=titan 6 8 ## Jour de l'etat initial ( = 350 si 20 Decembre ,par expl. ,comme ici ) 7 9 dayref=1 8 10 ## Annee de l'etat initial ( avec 4 chiffres ) 9 anneeref=1 97911 anneeref=1111 10 12 ## Remise a zero de la date initiale 11 raz_date=0 13 raz_date=1 14 ## Reinit des variables de controle 15 resetvarc=n 12 16 ## Nombre de jours d'integration 13 17 nday=11 -
trunk/deftanks/venus/run.def
r6 r97 4 4 INCLUDEDEF=physiq.def 5 5 INCLUDEDEF=gcm.def 6 ## Calendrier 7 calend=venus 6 8 ## Jour de l'etat initial ( = 350 si 20 Decembre ,par expl. ,comme ici ) 7 9 dayref=1 8 10 ## Annee de l'etat initial ( avec 4 chiffres ) 9 anneeref=1 97911 anneeref=1111 10 12 ## Remise a zero de la date initiale 11 raz_date=0 13 raz_date=1 14 ## Reinit des variables de controle 15 resetvarc=n 12 16 ## Nombre de jours d'integration 13 17 nday=2 18 ## Si on veut moins d'un jour : 19 less1day=n 20 ## si less1day T, fraction de jour du run : 21 fractday=0.01 14 22 ## periode de sortie des variables de controle (en pas) 15 23 iconser=500 -
trunk/libf/dyn3d/bilan_dyn.F
r37 r97 915 915 do itr=2,ntr 916 916 do l=1,llm 917 do j=1,jj p1917 do j=1,jjm 918 918 zawQ(1,l,itr,iQ)=zawQ(1,l,itr,iQ)+zwQ(j,l,itr,iQ)*zmasse(j,l) 919 919 enddo -
trunk/libf/dyn3d/calfis.F
r37 r97 21 21 $ pdq, 22 22 $ flxw, 23 $ clesphy0,24 23 $ pdufi, 25 24 $ pdvfi, … … 131 130 REAL pdqfi(iip1,jjp1,llm,nqtot) 132 131 REAL pdpsfi(iip1,jjp1) 133 134 INTEGER longcles135 PARAMETER ( longcles = 20 )136 REAL clesphy0( longcles )137 132 138 133 … … 515 510 . zphis, 516 511 . presnivs, 517 . clesphy0,518 512 . zufi, 519 513 . zvfi, … … 546 540 . zphis, 547 541 . presnivs, 548 . clesphy0,549 542 . zufi, 550 543 . zvfi, -
trunk/libf/dyn3d/ce0l.F90
r1 r97 39 39 #include "temps.h" 40 40 #include "logic.h" 41 INTEGER, PARAMETER :: longcles=2042 REAL, DIMENSION(longcles) :: clesphy043 41 REAL, DIMENSION(iip1,jjp1) :: masque 44 42 CHARACTER(LEN=15) :: calnd 45 43 !------------------------------------------------------------------------------- 46 CALL conf_gcm( 99, .TRUE. , clesphy0)44 CALL conf_gcm( 99, .TRUE. ) 47 45 48 46 CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/)) -
trunk/libf/dyn3d/conf_gcm.F
r6 r97 4 4 c 5 5 c 6 SUBROUTINE conf_gcm( tapedef, etatinit , clesphy0)6 SUBROUTINE conf_gcm( tapedef, etatinit ) 7 7 c 8 8 USE control_mod … … 22 22 c etatinit : = TRUE , on ne compare pas les valeurs des para- 23 23 c -metres du zoom avec celles lues sur le fichier start . 24 c clesphy0 : sortie .25 24 c 26 25 LOGICAL etatinit 27 26 INTEGER tapedef 28 27 29 INTEGER longcles30 PARAMETER( longcles = 20 )31 REAL clesphy0( longcles )32 c33 28 c Declarations : 34 29 c -------------- … … 147 142 CALL getin('raz_date', raz_date) 148 143 144 !Config Key = resetvarc 145 !Config Desc = Reinit des variables de controle 146 !Config Def = n 147 !Config Help = Reinit des variables de controle 148 resetvarc = .false. 149 CALL getin('resetvarc',resetvarc) 150 149 151 !Config Key = nday 150 152 !Config Desc = Nombre de jours d'integration … … 154 156 nday = 10 155 157 CALL getin('nday',nday) 158 159 !Config Key = less1day 160 !Config Desc = Possibilite d'integrer moins d'un jour 161 !Config Def = n 162 !Config Help = Possibilite d'integrer moins d'un jour 163 less1day = .false. 164 CALL getin('less1day',less1day) 165 166 !Config Key = fractday 167 !Config Desc = integration sur une fraction de jour 168 !Config Def = 0.01 169 !Config Help = integration sur une fraction de jour 170 fractday = 0.01 171 CALL getin('fractday',fractday) 156 172 157 173 !Config Key = day_step … … 360 376 ip_ebil_dyn = 0 361 377 CALL getin('ip_ebil_dyn',ip_ebil_dyn) 362 363 DO i = 1, longcles364 clesphy0(i) = 0.365 ENDDO366 378 367 379 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... … … 611 623 write(lunout,*)' anneeref = ', anneeref 612 624 write(lunout,*)' nday = ', nday 625 if (less1day) then 626 write(lunout,*)' Run only for a fraction of day ! ' 627 write(lunout,*)' fractday = ', fractday 628 endif 613 629 write(lunout,*)' day_step = ', day_step 614 630 write(lunout,*)' iperiod = ', iperiod -
trunk/libf/dyn3d/control_mod.F90
r1 r97 24 24 LOGICAL ok_dyn_ave ! output averaged values of fields in the dynamics 25 25 ! in NetCDF files dyn_hist*ave.nc 26 LOGICAL :: resetvarc ! allows to reset the variables in sortvarc 27 LOGICAL :: less1day ! allows to run less than 1 day (for Venus) 28 REAL :: fractday ! fraction of the day to run in this case 26 29 27 30 END MODULE -
trunk/libf/dyn3d/gcm.F
r7 r97 80 80 #include "indicesol.h" 81 81 #endif 82 INTEGER longcles83 PARAMETER ( longcles = 20 )84 REAL clesphy0( longcles )85 SAVE clesphy086 87 82 88 83 … … 172 167 ! Ehouarn: dump possibility of using defrun 173 168 !#ifdef CPP_IOIPSL 174 CALL conf_gcm( 99, .TRUE. , clesphy0)169 CALL conf_gcm( 99, .TRUE. ) 175 170 !#else 176 171 ! CALL defrun( 99, .TRUE. , clesphy0 ) … … 210 205 call ioconf_calendar('gregorian') 211 206 write(lunout,*)'CALENDRIER CHOISI: Terrestre bissextile' 207 else if (calend == 'titan') then 208 ! call ioconf_calendar('titan') 209 write(lunout,*)'CALENDRIER CHOISI: Titan' 210 abort_message = 'A FAIRE...' 211 call abort_gcm(modname,abort_message,1) 212 else if (calend == 'venus') then 213 ! call ioconf_calendar('venus') 214 write(lunout,*)'CALENDRIER CHOISI: Venus' 215 abort_message = 'A FAIRE...' 216 call abort_gcm(modname,abort_message,1) 212 217 else 213 218 abort_message = 'Mauvais choix de calendrier' … … 361 366 mois = 1 362 367 heure = 0. 368 ! Ce n'est defini pour l'instant que pour la Terre... 369 if (planet_type.eq.'earth') then 363 370 call ymds2ju(annee_ref, mois, day_ref, heure, jD_ref) 364 371 jH_ref = jD_ref - int(jD_ref) … … 373 380 write(lunout,*)'jD_ref+jH_ref,an, mois, jour, heure' 374 381 write(lunout,*)jD_ref+jH_ref,an, mois, jour, heure 382 else 383 ! A voir pour Titan et Venus 384 jD_ref=0 385 jH_ref=0 386 write(lunout,*)'A VOIR POUR VENUS ET TITAN: jD_ref, jH_ref' 387 write(lunout,*)jD_ref,jH_ref 388 endif ! planet_type 375 389 #else 376 390 ! Ehouarn: we still need to define JD_ref and JH_ref … … 460 474 461 475 #ifdef CPP_IOIPSL 476 ! Ce n'est defini pour l'instant que pour la Terre... 477 if (planet_type.eq.'earth') then 462 478 call ju2ymds(jD_ref + day_ini - day_ref, an, mois, jour, heure) 463 479 write (lunout,301)jour, mois, an 464 480 call ju2ymds(jD_ref + day_end - day_ref, an, mois, jour, heure) 465 481 write (lunout,302)jour, mois, an 482 else 483 ! A voir pour Titan et Venus 484 write(lunout,*)'A VOIR POUR VENUS ET TITAN: separation en annees...' 485 endif ! planet_type 486 466 487 301 FORMAT('1'/,15x,'run du ', i2,'/',i2,'/',i4) 467 488 302 FORMAT('1'/,15x,' au ', i2,'/',i2,'/',i4) … … 519 540 520 541 521 CALL leapfrog(ucov,vcov,teta,ps,masse,phis,q, clesphy0,542 CALL leapfrog(ucov,vcov,teta,ps,masse,phis,q, 522 543 . time_0) 523 544 -
trunk/libf/dyn3d/leapfrog.F
r53 r97 4 4 c 5 5 c 6 SUBROUTINE leapfrog(ucov,vcov,teta,ps,masse,phis,q, clesphy0,6 SUBROUTINE leapfrog(ucov,vcov,teta,ps,masse,phis,q, 7 7 & time_0) 8 8 … … 66 66 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 67 67 ! #include "clesphys.h" 68 69 INTEGER longcles70 PARAMETER ( longcles = 20 )71 REAL clesphy0( longcles )72 68 73 69 real zqmin,zqmax … … 202 198 203 199 itaufin = nday*day_step 200 if (less1day) then 201 c MODIF VENUS: to run less than one day: 202 itaufin = int(fractday*day_step) 203 endif 204 204 itaufinp1 = itaufin +1 205 205 modname="leapfrog" … … 236 236 CALL pression ( ip1jmp1, ap, bp, ps, p ) 237 237 CALL exner_hyb( ip1jmp1, ps, p,alpha,beta, pks, pk, pkf ) 238 c------------------ 239 c TEST PK MONOTONE 240 c------------------ 241 write(*,*) "Test PK" 242 do ij=1,ip1jmp1 243 do l=2,llm 244 if(pk(ij,l).gt.pk(ij,l-1)) then 245 c write(*,*) ij,l,pk(ij,l) 246 abort_message = 'PK non strictement decroissante' 247 call abort_gcm(modname,abort_message,1) 248 c write(*,*) "ATTENTION, Test PK deconnecté..." 249 endif 250 enddo 251 enddo 252 write(*,*) "Fin Test PK" 253 c stop 254 c------------------ 238 255 239 256 c----------------------------------------------------------------------- … … 430 447 $ du,dv,dteta,dq, 431 448 $ flxw, 432 $ clesphy0,dufi,dvfi,dtetafi,dqfi,dpfi )449 $ dufi,dvfi,dtetafi,dqfi,dpfi ) 433 450 434 451 c ajout des tendances physiques: -
trunk/libf/dyn3d/sortvarc.F
r1 r97 55 55 56 56 REAL SSUM 57 58 logical firstcal 59 data firstcal/.true./ 60 save firstcal 57 61 58 62 c----------------------------------------------------------------------- … … 115 119 * cosphi(ij) 116 120 ENDDO 117 angl(l) = rad sg*121 angl(l) = rad * 118 122 s (SSUM(ip1jm-iip1,ge(iip2),1)-SSUM(jjm-1,ge(iip2),iip1)) 119 123 ENDDO … … 129 133 ang = SSUM( llm, angl, 1 ) 130 134 131 c rday = REAL(INT ( day_ini + time )) 132 c 135 IF (firstcal.and.resetvarc) then 133 136 rday = REAL(INT(time-jD_ref-jH_ref)) 134 IF(ptot0.eq.0.) THEN135 137 PRINT 3500, itau, rday, heure,time 136 138 PRINT*,'WARNING!!! On recalcule les valeurs initiales de :' … … 151 153 ang = ang /ang0 152 154 155 firstcal = .false. 153 156 154 157 PRINT 3500, itau, rday, heure, time -
trunk/libf/dyn3d/sortvarc0.F
r1 r97 116 116 * cosphi(ij) 117 117 ENDDO 118 angl(l) = rad sg*118 angl(l) = rad * 119 119 s (SSUM(ip1jm-iip1,ge(iip2),1)-SSUM(jjm-1,ge(iip2),iip1)) 120 120 ENDDO -
trunk/libf/dyn3dpar/calfis_p.F
r52 r97 21 21 $ pdq, 22 22 $ flxw, 23 $ clesphy0,24 23 $ pdufi, 25 24 $ pdvfi, … … 144 143 REAL pdqfi(iip1,jjp1,llm,nqtot) 145 144 REAL pdpsfi(iip1,jjp1) 146 147 INTEGER longcles148 PARAMETER ( longcles = 20 )149 REAL clesphy0( longcles )150 145 151 146 #ifdef CPP_PHYS … … 691 686 . zphis_omp, 692 687 . presnivs_omp, 693 . clesphy0,694 688 . zufi_omp, 695 689 . zvfi_omp, … … 720 714 . zphis_omp, 721 715 . presnivs_omp, 722 . clesphy0,723 716 . zufi_omp, 724 717 . zvfi_omp, -
trunk/libf/dyn3dpar/ce0l.F90
r66 r97 42 42 #include "temps.h" 43 43 #include "logic.h" 44 INTEGER, PARAMETER :: longcles=2045 REAL, DIMENSION(longcles) :: clesphy046 44 REAL, DIMENSION(iip1,jjp1) :: masque 47 45 CHARACTER(LEN=15) :: calnd 48 46 !------------------------------------------------------------------------------- 49 CALL conf_gcm( 99, .TRUE. , clesphy0)47 CALL conf_gcm( 99, .TRUE. ) 50 48 51 49 CALL init_mpi -
trunk/libf/dyn3dpar/conf_gcm.F
r7 r97 4 4 c 5 5 c 6 SUBROUTINE conf_gcm( tapedef, etatinit , clesphy0)6 SUBROUTINE conf_gcm( tapedef, etatinit ) 7 7 c 8 8 #ifdef CPP_IOIPSL … … 26 26 c etatinit : = TRUE , on ne compare pas les valeurs des para- 27 27 c -metres du zoom avec celles lues sur le fichier start . 28 c clesphy0 : sortie .29 28 c 30 29 LOGICAL etatinit 31 30 INTEGER tapedef 32 31 33 INTEGER longcles34 PARAMETER( longcles = 20 )35 REAL clesphy0( longcles )36 c37 32 c Declarations : 38 33 c -------------- … … 157 152 CALL getin('raz_date', raz_date) 158 153 154 !Config Key = resetvarc 155 !Config Desc = Reinit des variables de controle 156 !Config Def = n 157 !Config Help = Reinit des variables de controle 158 resetvarc = .false. 159 CALL getin('resetvarc',resetvarc) 160 159 161 !Config Key = nday 160 162 !Config Desc = Nombre de jours d'integration … … 164 166 nday = 10 165 167 CALL getin('nday',nday) 168 169 !Config Key = less1day 170 !Config Desc = Possibilite d'integrer moins d'un jour 171 !Config Def = n 172 !Config Help = Possibilite d'integrer moins d'un jour 173 less1day = .false. 174 CALL getin('less1day',less1day) 175 176 !Config Key = fractday 177 !Config Desc = integration sur une fraction de jour 178 !Config Def = 0.01 179 !Config Help = integration sur une fraction de jour 180 fractday = 0.01 181 CALL getin('fractday',fractday) 166 182 167 183 !Config Key = day_step … … 628 644 write(lunout,*)' anneeref = ', anneeref 629 645 write(lunout,*)' nday = ', nday 646 if (less1day) then 647 write(lunout,*)' Run only for a fraction of day ! ' 648 write(lunout,*)' fractday = ', fractday 649 endif 630 650 write(lunout,*)' day_step = ', day_step 631 651 write(lunout,*)' iperiod = ', iperiod -
trunk/libf/dyn3dpar/control_mod.F90
r1 r97 24 24 LOGICAL ok_dyn_ave ! output averaged values of fields in the dynamics 25 25 ! in NetCDF files dyn_hist*ave.nc 26 LOGICAL :: resetvarc ! allows to reset the variables in sortvarc 27 LOGICAL :: less1day ! allows to run less than 1 day (for Venus) 28 REAL :: fractday ! fraction of the day to run in this case 26 29 27 30 END MODULE -
trunk/libf/dyn3dpar/gcm.F
r52 r97 79 79 #include "indicesol.h" 80 80 #endif 81 INTEGER longcles82 PARAMETER ( longcles = 20 )83 REAL clesphy0( longcles )84 SAVE clesphy085 86 81 87 82 … … 175 170 ! Ehouarn: dump possibility of using defrun 176 171 !#ifdef CPP_IOIPSL 177 CALL conf_gcm( 99, .TRUE. , clesphy0)172 CALL conf_gcm( 99, .TRUE. ) 178 173 !#else 179 174 ! CALL defrun( 99, .TRUE. , clesphy0 ) … … 240 235 call ioconf_calendar('gregorian') 241 236 write(lunout,*)'CALENDRIER CHOISI: Terrestre bissextile' 237 else if (calend == 'titan') then 238 ! call ioconf_calendar('titan') 239 write(lunout,*)'CALENDRIER CHOISI: Titan' 240 abort_message = 'A FAIRE...' 241 call abort_gcm(modname,abort_message,1) 242 else if (calend == 'venus') then 243 ! call ioconf_calendar('venus') 244 write(lunout,*)'CALENDRIER CHOISI: Venus' 245 abort_message = 'A FAIRE...' 246 call abort_gcm(modname,abort_message,1) 242 247 else 243 248 abort_message = 'Mauvais choix de calendrier' … … 382 387 mois = 1 383 388 heure = 0. 389 ! Ce n'est defini pour l'instant que pour la Terre... 390 if (planet_type.eq.'earth') then 384 391 call ymds2ju(annee_ref, mois, day_ref, heure, jD_ref) 385 392 jH_ref = jD_ref - int(jD_ref) … … 394 401 write(lunout,*)'jD_ref+jH_ref,an, mois, jour, heure' 395 402 write(lunout,*)jD_ref+jH_ref,an, mois, jour, heure 403 else 404 ! A voir pour Titan et Venus 405 jD_ref=0 406 jH_ref=0 407 write(lunout,*)'A VOIR POUR VENUS ET TITAN: jD_ref, jH_ref' 408 write(lunout,*)jD_ref,jH_ref 409 endif ! planet_type 396 410 #else 397 411 ! Ehouarn: we still need to define JD_ref and JH_ref … … 491 505 492 506 #ifdef CPP_IOIPSL 507 ! Ce n'est defini pour l'instant que pour la Terre... 508 if (planet_type.eq.'earth') then 493 509 call ju2ymds(jD_ref + day_ini - day_ref, an, mois, jour, heure) 494 510 write (lunout,301)jour, mois, an 495 511 call ju2ymds(jD_ref + day_end - day_ref, an, mois, jour, heure) 496 512 write (lunout,302)jour, mois, an 513 else 514 ! A voir pour Titan et Venus 515 write(lunout,*)'A VOIR POUR VENUS ET TITAN: separation en annees...' 516 endif ! planet_type 517 497 518 301 FORMAT('1'/,15x,'run du ', i2,'/',i2,'/',i4) 498 519 302 FORMAT('1'/,15x,' au ', i2,'/',i2,'/',i4) … … 554 575 555 576 c$OMP PARALLEL DEFAULT(SHARED) COPYIN(/temps/,/logic/) 556 CALL leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, clesphy0,577 CALL leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, 557 578 . time_0) 558 579 c$OMP END PARALLEL -
trunk/libf/dyn3dpar/leapfrog_p.F
r52 r97 5 5 c 6 6 7 SUBROUTINE leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, clesphy0,7 SUBROUTINE leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, 8 8 & time_0) 9 9 … … 70 70 #include "academic.h" 71 71 72 INTEGER longcles73 PARAMETER ( longcles = 20 )74 REAL clesphy0( longcles )75 76 72 real zqmin,zqmax 77 73 INTEGER nbetatmoy, nbetatdem,nbetat … … 219 215 220 216 itaufin = nday*day_step 217 if (less1day) then 218 c MODIF VENUS: to run less than one day: 219 itaufin = int(fractday*day_step) 220 endif 221 221 itaufinp1 = itaufin +1 222 222 modname="leapfrog_p" … … 820 820 $ du,dv,dteta,dq, 821 821 $ flxw, 822 $ clesphy0,dufi,dvfi,dtetafi,dqfi,dpfi )822 $ dufi,dvfi,dtetafi,dqfi,dpfi ) 823 823 ! CALL FTRACE_REGION_END("calfis") 824 824 ijb=ij_begin -
trunk/libf/dyn3dpar/sortvarc.F
r1 r97 55 55 56 56 REAL SSUM 57 58 logical firstcal 59 data firstcal/.true./ 60 save firstcal 57 61 58 62 c----------------------------------------------------------------------- … … 129 133 ang = SSUM( llm, angl, 1 ) 130 134 131 c rday = REAL(INT ( day_ini + time )) 132 c 135 IF (firstcal.and.resetvarc) then 133 136 rday = REAL(INT(time-jD_ref-jH_ref)) 134 IF(ptot0.eq.0.) THEN135 137 PRINT 3500, itau, rday, heure,time 136 138 PRINT*,'WARNING!!! On recalcule les valeurs initiales de :' … … 151 153 ang = ang /ang0 152 154 155 firstcal = .false. 153 156 154 157 PRINT 3500, itau, rday, heure, time -
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 -
trunk/libf/phyvenus/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 … … 7 10 REAL RDAY,REA,REPSM,RSIYEA,RSIDAY,ROMEGA 8 11 ! A1.1.bis Constantes concernant l'orbite de la Terre: 9 REAL R_ecc, R_peri, R_incl12 REAL :: R_ecc, R_peri, R_incl 10 13 ! A1.2 Geoide 11 14 REAL RA,RG,R1SA 12 15 ! A1.3 Radiation 13 ! REAL RSIGMA,RI016 ! REAL :: RSIGMA,RI0 14 17 REAL RSIGMA 15 18 ! A1.4 Thermodynamic gas phase … … 27 30 REAL RALPD,RBETD,RGAMD 28 31 ! 29 ! S ,RSIGMA,RI0 30 COMMON/YOMCST/RPI ,RCLUM ,RHPLA ,RKBOL ,RNAVO 31 S ,RDAY ,REA ,REPSM ,RSIYEA,RSIDAY,ROMEGA 32 s ,R_ecc, R_peri, R_incl 33 S ,RA ,RG ,R1SA 34 S ,RSIGMA 35 S ,R ,RMD ,RMV ,RD ,RV ,RCPD 36 S ,RCPV ,RCVD ,RCVV ,RKAPPA,RETV 37 S ,RCW ,RCS 38 S ,RLVTT ,RLSTT ,RLMLT ,RTT ,RATM 39 S ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS 40 S ,RALPD ,RBETD ,RGAMD 41 ! ------------------------------------------------------------------ 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/phyvenus/clcdrag.F90
r3 r97 30 30 ! ================================================================= c 31 31 ! 32 #include "YOMCST.inc" 33 #include "YOETHF.inc" 34 #include "clesphys.inc" 32 #include "YOMCST.h" 33 #include "clesphys.h" 35 34 ! 36 35 ! Quelques constantes et options: -
trunk/libf/phyvenus/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.h 5 c 6 LOGICAL cycle_diurne,soil_model,new_oliq 7 ! 8 !..include cles_phys.h 9 ! 10 LOGICAL cycle_diurne,soil_model 7 11 LOGICAL ok_orodr,ok_orolf,ok_gw_nonoro 8 INTEGER nbapp_rad, iflag_con, iflag_ajs 12 INTEGER nbapp_rad, nbapp_chim, iflag_con, iflag_ajs 13 REAL ecritphy 9 14 REAL solaire 10 11 c Parametres pour PBL: 12 real z0,lmixmin 13 REAL ksta 15 REAL z0, lmixmin 16 REAL ksta, inertie 14 17 LOGICAL ok_kzmin 15 16 c surface17 real inertie18 19 cIM lev_histhf : niveau sorties 6h20 cIM lev_histday : niveau sorties journalieres21 cIM lev_histmth : niveau sorties mensuelles22 18 INTEGER lev_histhf, lev_histday, lev_histmth 23 19 24 COMMON/clesphys/cycle_diurne, soil_model, new_oliq, 25 , ok_orodr, ok_orolf, ok_gw_nonoro, 26 , nbapp_rad, iflag_con 27 , , iflag_ajs, solaire, z0, lmixmin, ksta 28 , , ok_kzmin, lev_histhf, lev_histday, lev_histmth 29 , , inertie 20 COMMON/clesphys/cycle_diurne, soil_model, & 21 & ok_orodr, ok_orolf, ok_gw_nonoro, nbapp_rad, nbapp_chim & 22 & , ecritphy & 23 & , iflag_con, iflag_ajs, solaire, z0, lmixmin, ksta & 24 & , ok_kzmin, lev_histhf, lev_histday, lev_histmth & 25 & , inertie 26 -
trunk/libf/phyvenus/clmain.F
r3 r97 134 134 c 135 135 #include "YOMCST.h" 136 #include "YOETHF.h"137 #include "FCTTRE.h"138 136 REAL u1lay(klon), v1lay(klon) 139 137 REAL delp(klon,klev) … … 499 497 #include "dimphy.h" 500 498 #include "YOMCST.h" 501 #include "YOETHF.h"502 #include "FCTTRE.h"503 499 #include "dimsoil.h" 504 500 #include "iniprint.h" … … 994 990 PARAMETER (zxli=.FALSE.) 995 991 c 996 #include "YOETHF.h"997 #include "FCTTRE.h"998 992 fsta(x) = 1.0 / (1.0+10.0*x*(1+8.0*x)) 999 993 fins(x) = SQRT(1.0-18.0*x) -
trunk/libf/phyvenus/clmain.classic
r3 r97 134 134 c 135 135 #include "YOMCST.h" 136 #include "YOETHF.h"137 #include "FCTTRE.h"138 136 REAL u1lay(klon), v1lay(klon) 139 137 REAL delp(klon,klev) … … 499 497 #include "dimphy.h" 500 498 #include "YOMCST.h" 501 #include "YOETHF.h"502 #include "FCTTRE.h"503 499 #include "dimsoil.h" 504 500 #include "iniprint.h" … … 994 990 PARAMETER (zxli=.FALSE.) 995 991 c 996 #include "YOETHF.h"997 #include "FCTTRE.h"998 992 fsta(x) = 1.0 / (1.0+10.0*x*(1+8.0*x)) 999 993 fins(x) = SQRT(1.0-18.0*x) -
trunk/libf/phyvenus/clmain.simple
r3 r97 128 128 c 129 129 #include "YOMCST.h" 130 #include "YOETHF.h"131 #include "FCTTRE.h"132 130 REAL u1lay(klon), v1lay(klon) 133 131 REAL delp(klon,klev) … … 370 368 #include "dimphy.h" 371 369 #include "YOMCST.h" 372 #include "YOETHF.h"373 #include "FCTTRE.h"374 370 #include "dimsoil.h" 375 371 #include "iniprint.h" … … 865 861 PARAMETER (zxli=.FALSE.) 866 862 c 867 #include "YOETHF.h"868 #include "FCTTRE.h"869 863 fsta(x) = 1.0 / (1.0+10.0*x*(1+8.0*x)) 870 864 fins(x) = SQRT(1.0-18.0*x) -
trunk/libf/phyvenus/conf_phys.F90
r3 r97 11 11 implicit none 12 12 13 #include "YOMCST. inc"14 #include "clesphys. inc"13 #include "YOMCST.h" 14 #include "clesphys.h" 15 15 #include "compbl.h" 16 ! 17 ! Configuration de la "physique" de LMDZ a l'aide de la fonction 18 ! GETIN de IOIPSL 19 ! 20 ! LF 05/2001 21 ! 22 !--- Ca lit le physiq.def --- 23 24 ! 16 25 17 ! ok_journe: sorties journalieres 26 18 ! ok_mensuel: sorties mensuelles … … 34 26 ! Local 35 27 integer :: numout = 6 36 real*4 :: zzz 37 ! real :: zzz 28 29 ! 30 ! Configuration de la "physique" de LMDZ a l'aide de la fonction 31 ! GETIN de IOIPSL 32 ! 33 ! LF 05/2001 34 ! 35 !--- Ca lit le physiq.def --- 36 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 38 106 39 107 !Config Key = OK_journe … … 63 131 ok_instan = .false. 64 132 call getin('OK_instan', ok_instan) 133 ! 134 !Config Key = ecritphy 135 !Config Desc = Frequence d'ecriture dans histmth et histins 136 !Config Def = 1 137 !Config Help = frequence de l'ecriture du fichier histmth et histins 138 !Config en jours. 139 ! 140 ecritphy = 1. 141 CALL getin('ecritphy', ecritphy) 65 142 ! 66 143 ! … … 83 160 ! VENUS 84 161 ! R_ecc = 0.006787 85 zzz = 0.0 86 call getin('R_ecc', zzz) 87 R_ecc = zzz 162 R_ecc = 0.0 163 call getin('R_ecc', R_ecc) 88 164 !! 89 165 !Config Key = R_peri … … 93 169 ! 94 170 ! VENUS 95 zzz = 0. 96 call getin('R_peri', zzz) 97 R_peri = zzz 171 R_peri = 0. 172 call getin('R_peri', R_peri) 98 173 !! 99 174 !Config Key = R_incl … … 103 178 ! 104 179 ! VENUS 105 zzz = 0.0 106 call getin('R_incl', zzz) 107 R_incl = zzz 180 R_incl = 0.0 181 call getin('R_incl', R_incl) 108 182 ! 109 183 !Config Key = solaire … … 113 187 !Config Help = 114 188 ! 115 zzz = 2620. 116 call getin('solaire', zzz) 117 solaire = zzz 189 solaire = 2620. 190 call getin('solaire', solaire) 118 191 ! 119 192 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 140 213 !Config Help = 141 214 ! 142 zzz = 1.0e-7 143 call getin('ksta',zzz) 144 ksta = zzz 215 ksta = 1.0e-7 216 call getin('ksta',ksta) 145 217 146 218 ! … … 150 222 !Config Help = 151 223 ! 152 zzz = 1.0e-2 153 call getin('z0',zzz) 154 z0 = zzz 224 z0 = 1.0e-2 225 call getin('z0',z0) 155 226 156 227 ! … … 160 231 !Config Help = 161 232 ! 162 zzz = 35. 163 call getin('lmixmin',zzz) 164 lmixmin = zzz 165 166 ! 233 lmixmin = 35. 234 call getin('lmixmin',lmixmin) 235 167 236 ! 168 237 !Config Key = ok_kzmin … … 186 255 !Config Key = inertie 187 256 !Config Desc = 188 !Config Def = 30000. 189 !Config Help = 190 ! 191 zzz = 30000. 192 call getin('inertie',zzz) 193 inertie = zzz 257 !Config Def = 2000. 258 !Config Help = 259 ! 260 inertie = 2000. 261 call getin('inertie',inertie) 194 262 ! 195 263 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 239 307 write(numout,*)' ##############################################' 240 308 write(numout,*)' Configuration des parametres de la physique: ' 309 write(numout,*)' cycle_diurne = ', cycle_diurne 310 write(numout,*)' soil_model = ', soil_model 311 write(numout,*)' ok_orodr = ', ok_orodr 312 write(numout,*)' ok_orolf = ', ok_orolf 313 write(numout,*)' ok_gw_nonoro = ', ok_gw_nonoro 314 write(numout,*)' nbapp_rad = ', nbapp_rad 315 write(numout,*)' nbapp_chim = ', nbapp_chim 316 write(numout,*)' iflag_con = ', iflag_con 241 317 write(numout,*)' Sortie journaliere = ', ok_journe 242 318 write(numout,*)' Sortie mensuelle = ', ok_mensuel 243 319 write(numout,*)' Sortie instantanee = ', ok_instan 320 write(numout,*)' frequence sorties = ', ecritphy 244 321 write(numout,*)' Sortie bilan d''energie, if_ebil =', if_ebil 245 322 write(numout,*)' Excentricite = ',R_ecc -
trunk/libf/phyvenus/diagphy.F
r3 r97 7 7 $ , d_etp_tot, d_qt_tot, d_ec_tot 8 8 $ , fs_bound, fq_bound) 9 10 ! ATTENTION !! PAS DU TOUT A JOUR POUR VENUS OU TITAN... 11 9 12 C====================================================================== 10 13 C … … 50 53 #include "dimphy.h" 51 54 #include "YOMCST.h" 52 #include "YOETHF.h"53 55 C 54 56 C Input variables … … 211 213 #include "dimphy.h" 212 214 #include "YOMCST.h" 213 #include "YOETHF.h"214 215 C 215 216 c Input variables -
trunk/libf/phyvenus/ini_histday.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("histday", iim,z4_lon(:,1), jjmp1,z4_lat(1,:), 24 . 1,iim,1,jjmp1, itau_phy, z4julian, zsto, 19 20 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 21 c d'ou le -1.* devant zx_lon et zx_lat 22 CALL histbeg("histday.nc", iim,-1.*zx_lon(:,1), jjmp1, 23 . -1.*zx_lat(1,:), 24 . 1,iim,1,jjmp1, itau_phy, zjulian, zsto, 25 25 . nhori, nid_day) 26 26 write(*,*)'Journee ', itau_phy, zjulian 27 27 CALL histvert(nid_day, "presnivs", "Vertical levels", "mb", 28 . klev, zpresnivs, nvert)28 . klev, presnivs, nvert) 29 29 30 30 c------------------------------------------------------- -
trunk/libf/phyvenus/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 20 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 21 c d'ou le -1.* devant zx_lon et zx_lat 22 CALL histbeg("histins.nc", iim,-1.*zx_lon(:,1), jjmp1, 23 . -1.*zx_lat(1,:), 24 . 1,iim,1,jjmp1, itau_phy, zjulian, zsto1, 25 25 . nhori, nid_ins) 26 26 write(*,*)'Inst ', itau_phy, zjulian 27 27 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", 28 . klev, zpresnivs, nvert)28 . klev, presnivs, nvert) 29 29 30 30 c------------------------------------------------------- -
trunk/libf/phyvenus/ini_histmth.h
r3 r97 14 14 c 15 15 idayref = day_ref 16 z4julian = zjulian 17 CALL ymds2ju(annee_ref, 1, idayref, zero, z4julian) 16 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian) 18 17 c 19 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlond,zx_lon) … … 25 24 26 25 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 27 z4_lon = -1.*zx_lon 28 z4_lat = -1.*zx_lat 29 30 zpresnivs=presnivs 31 CALL histbeg("histmth.nc", iim,z4_lon(:,1), jjmp1,z4_lat(1,:), 32 . 1,iim,1,jjmp1, itau_phy, z4julian, zsto, 26 c d'ou le -1.* devant zx_lon et zx_lat 27 CALL histbeg("histmth.nc", iim,-1.*zx_lon(:,1), jjmp1, 28 . -1.*zx_lat(1,:), 29 . 1,iim,1,jjmp1, itau_phy, zjulian, zsto, 33 30 . nhori, nid_mth) 34 31 write(*,*)'Mensuel ', itau_phy, zjulian 35 32 CALL histvert(nid_mth, "presnivs", "Vertical levels", "mb", 36 . klev, zpresnivs, nvert)33 . klev, presnivs, nvert) 37 34 38 35 c------------------------------------------------------- -
trunk/libf/phyvenus/interface_surf.F90
r3 r97 25 25 END INTERFACE 26 26 27 #include "YOMCST. inc"27 #include "YOMCST.h" 28 28 29 29 CONTAINS … … 210 210 ! 211 211 212 #include "YOETHF.inc"213 #include "FCTTRE.inc"214 215 212 ! Parametres d'entree 216 213 integer, intent(IN) :: knon, klon -
trunk/libf/phyvenus/phyetat0.F
r3 r97 7 7 . rlat,rlon, tsol,tsoil, 8 8 . albe, solsw, sollw, 9 . fder,radsol, clesphy0,9 . fder,radsol, 10 10 . zmea, zstd, zsig, zgam, zthe, zpic, zval, 11 11 . tabcntr0, … … 44 44 LOGICAL ancien_ok 45 45 46 INTEGER longcles47 PARAMETER ( longcles = 20 )48 REAL clesphy0( longcles )49 c50 46 REAL xmin, xmax 51 47 c … … 88 84 ENDDO 89 85 c 90 cycle_diurne = .FALSE.91 soil_model = .FALSE.92 new_oliq = .FALSE.93 ok_orodr = .FALSE.94 ok_orolf = .FALSE.95 ok_gw_nonoro = .FALSE.96 97 98 IF( clesphy0(1).NE.tab_cntrl( 5 ) ) THEN99 tab_cntrl( 5 ) = clesphy0(1)100 ENDIF101 102 IF( clesphy0(2).NE.tab_cntrl( 6 ) ) THEN103 tab_cntrl( 6 ) = clesphy0(2)104 ENDIF105 106 IF( clesphy0(3).NE.tab_cntrl( 7 ) ) THEN107 tab_cntrl( 7 ) = clesphy0(3)108 ENDIF109 110 IF( clesphy0(4).NE.tab_cntrl( 8 ) ) THEN111 tab_cntrl( 8 ) = clesphy0(4)112 ENDIF113 114 IF( clesphy0(5).NE.tab_cntrl( 9 ) ) THEN115 tab_cntrl( 9 ) = clesphy0( 5 )116 ENDIF117 118 IF( clesphy0(6).NE.tab_cntrl( 10 ) ) THEN119 tab_cntrl( 10 ) = clesphy0( 6 )120 ENDIF121 122 IF( clesphy0(7).NE.tab_cntrl( 11 ) ) THEN123 tab_cntrl( 11 ) = clesphy0( 7 )124 ENDIF125 126 IF( clesphy0(8).NE.tab_cntrl( 12 ) ) THEN127 tab_cntrl( 12 ) = clesphy0( 8 )128 ENDIF129 130 86 131 87 dtime = tab_cntrl(1) 132 88 radpas = tab_cntrl(2) 133 iflag_con = tab_cntrl(5)134 nbapp_rad = tab_cntrl(6)135 136 137 cycle_diurne = .FALSE.138 soil_model = .FALSE.139 new_oliq = .FALSE.140 ok_orodr = .FALSE.141 ok_orolf = .FALSE.142 ok_gw_nonoro = .FALSE.143 144 IF( tab_cntrl( 7) .EQ. 1. ) cycle_diurne = .TRUE.145 IF( tab_cntrl( 8) .EQ. 1. ) soil_model = .TRUE.146 IF( tab_cntrl( 9) .EQ. 1. ) new_oliq = .TRUE.147 IF( tab_cntrl(10) .EQ. 1. ) ok_orodr = .TRUE.148 IF( tab_cntrl(11) .EQ. 1. ) ok_orolf = .TRUE.149 IF( tab_cntrl(12) .EQ. 1. ) ok_gw_nonoro = .TRUE.150 89 151 90 ENDIF -
trunk/libf/phyvenus/phyredem.F
r3 r97 10 10 . zmea, zstd, zsig, zgam, zthe, zpic, zval, 11 11 . t_ancien) 12 13 USE control_mod 12 14 IMPLICIT none 13 15 c====================================================================== … … 20 22 #include "dimsoil.h" 21 23 #include "clesphys.h" 22 #include "control.h"23 24 #include "temps.h" 24 25 c====================================================================== -
trunk/libf/phyvenus/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" … … 157 157 #endif 158 158 159 INTEGER longcles160 PARAMETER ( longcles = 20 )161 REAL clesphy0( longcles )162 c163 159 c Variables propres a la physique 164 160 c … … 385 381 REAL zx_tmp_2d(iim,jjmp1),zx_tmp_3d(iim,jjmp1,klev) 386 382 REAL zx_lon(iim,jjmp1), zx_lat(iim,jjmp1) 387 REAL*4 z4_tmp_2d(iim,jjmp1),z4_tmp_3d(iim,jjmp1,klev)388 REAL*4 z4_lon(iim,jjmp1), z4_lat(iim,jjmp1)389 REAL*4 zpresnivs(klev)390 c REAL z4_tmp_2d(iim,jjmp1),z4_tmp_3d(iim,jjmp1,klev)391 c REAL z4_lon(iim,jjmp1), z4_lat(iim,jjmp1)392 c REAL zpresnivs(klev)393 383 394 384 INTEGER nid_day, nid_mth, nid_ins … … 396 386 c 397 387 INTEGER nhori, nvert, idayref 398 REAL*4 zsto, zout, zsto1, zsto2, z4julian, zero 399 c REAL zsto, zout, zsto1, zsto2, z4julian, zero 388 REAL zsto, zout, zsto1, zsto2, zero 400 389 parameter (zero=0.0e0) 401 390 real zjulian … … 439 428 c 440 429 #include "YOMCST.h" 441 #include "YOETHF.h"442 #include "FCTTRE.h"443 430 444 431 c====================================================================== … … 489 476 . rlatd,rlond,ftsol,ftsoil, 490 477 . falbe, solsw, sollw, 491 . dlw,radsol, clesphy0,478 . dlw,radsol, 492 479 . zmea,zstd,zsig,zgam,zthe,zpic,zval, 493 480 . tabcntr0, … … 577 564 . iflag_ajs 578 565 c 579 ecrit_mth = NINT(RDAY/dtime 566 ecrit_mth = NINT(RDAY/dtime*ecritphy) ! tous les ecritphy jours 580 567 IF (ok_mensuel) THEN 581 568 WRITE(lunout,*)'La frequence de sortie mensuelle est de ', 582 569 . ecrit_mth 583 570 ENDIF 571 584 572 ecrit_day = NINT(RDAY/dtime *1.0) ! tous les jours 585 573 IF (ok_journe) THEN … … 587 575 . ecrit_day 588 576 ENDIF 589 ecrit_ins = NINT(RDAY/dtime/48.) ! a chaque pas de temps ==> PB. dans time_counter pour 1mois 590 ecrit_ins = NINT(RDAY/dtime/ 12.) ! toutes les deux heures577 578 ecrit_ins = NINT(RDAY/dtime/*ecritphy) ! Fraction de jour reglable 591 579 IF (ok_instan) THEN 592 580 WRITE(lunout,*)'La frequence de sortie instant. est de ', -
trunk/libf/phyvenus/phytrac.F
r3 r97 26 26 27 27 USE ioipsl 28 USE infotrac 29 USE control_mod 28 30 29 31 IMPLICIT none … … 42 44 #include "temps.h" 43 45 #include "paramet.h" 44 #include "control.h"45 46 #include "comgeomphy.h" 46 #include "advtrac.h"47 47 c====================================================================== 48 48 … … 124 124 c k,i,it,tr_seri(klon,klev,nqmax),pplay(nlon,nlev), 125 125 integer nqCO_OCS 126 real zprof(klev,nq mx)126 real zprof(klev,nqtot) 127 127 c real pzero,gamma 128 128 c parameter (pzero=85000.) 129 129 c parameter (gamma=5000.) 130 130 REAL alpha 131 real deltatr(klon,klev,nq mx) ! ecart au profil de ref zprof132 real tau(klev,nq mx) ! temps de relaxation vers le profil (s)131 real deltatr(klon,klev,nqtot) ! ecart au profil de ref zprof 132 real tau(klev,nqtot) ! temps de relaxation vers le profil (s) 133 133 save zprof,tau 134 134 c====================================================================== -
trunk/libf/phyvenus/radlwsw.1mat
r3 r97 38 38 #include "dimphy.h" 39 39 #include "raddim.h" 40 #include "YOETHF.h"41 40 c 42 41 real rmu0(klon), fract(klon), dist -
trunk/libf/phyvenus/radlwsw.F
r3 r97 42 42 #include "dimphy.h" 43 43 #include "raddim.h" 44 #include "YOETHF.h"45 44 #include "YOMCST.h" 46 45 #include "clesphys.h" -
trunk/libf/phyvenus/radlwsw.NewtonCool
r3 r97 41 41 #include "dimphy.h" 42 42 #include "raddim.h" 43 #include "YOETHF.h"44 43 #include "YOMCST.h" 45 44 #include "clesphys.h" -
trunk/libf/phyvenus/radlwsw.multimat
r3 r97 42 42 #include "dimphy.h" 43 43 #include "raddim.h" 44 #include "YOETHF.h"45 44 #include "YOMCST.h" 46 45 #include "clesphys.h" -
trunk/libf/phyvenus/suphec.F
r3 r97 5 5 C 6 6 #include "YOMCST.h" 7 #include "YOETHF.h"8 7 cIM cf. JLD 9 8 LOGICAL firstcall … … 153 152 WRITE(UNIT=6,FMT='('' Rv/Rd-1 = '',e13.7)') RETV 154 153 C 155 C ----------------------------------------------------------------156 C157 C* 6. DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE.158 C ---------------------------------------------159 C160 RCW=RCPV161 WRITE(UNIT=6,FMT='('' *** Thermodynamic, liquid ***'')')162 WRITE(UNIT=6,FMT='('' Cw = '',E13.7)') RCW163 C164 C ----------------------------------------------------------------165 C166 C* 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE.167 C --------------------------------------------168 C169 RCS=RCPV170 WRITE(UNIT=6,FMT='('' *** thermodynamic, solid ***'')')171 WRITE(UNIT=6,FMT='('' Cs = '',E13.7)') RCS172 C173 C ----------------------------------------------------------------174 C175 C* 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.176 C ----------------------------------------------------177 C178 RTT=273.16179 RLVTT=2.5008E+6180 RLSTT=2.8345E+6181 RLMLT=RLSTT-RLVTT182 RATM=100000.183 WRITE(UNIT=6,FMT='('' *** Thermodynamic, trans. ***'')')184 WRITE(UNIT=6,FMT='('' Fusion point = '',E13.7)') RTT185 WRITE(UNIT=6,FMT='('' RLvTt = '',E13.7)') RLVTT186 WRITE(UNIT=6,FMT='('' RLsTt = '',E13.7)') RLSTT187 WRITE(UNIT=6,FMT='('' RLMlt = '',E13.7)') RLMLT188 WRITE(UNIT=6,FMT='('' Normal press. = '',E13.7)') RATM189 WRITE(UNIT=6,FMT='('' Latent heat : '')')190 C191 C ----------------------------------------------------------------192 C193 C* 9. SATURATED VAPOUR PRESSURE.194 C --------------------------195 C196 RESTT=611.14197 RGAMW=(RCW-RCPV)/RV198 RBETW=RLVTT/RV+RGAMW*RTT199 RALPW=LOG(RESTT)+RBETW/RTT+RGAMW*LOG(RTT)200 RGAMS=(RCS-RCPV)/RV201 RBETS=RLSTT/RV+RGAMS*RTT202 RALPS=LOG(RESTT)+RBETS/RTT+RGAMS*LOG(RTT)203 RGAMD=RGAMS-RGAMW204 RBETD=RBETS-RBETW205 RALPD=RALPS-RALPW206 C207 C ------------------------------------------------------------------208 c209 c calculer les constantes pour les fonctions thermodynamiques210 c211 RVTMP2=RCPV/RCPD-1.212 RHOH2O=RATM/100.213 R2ES=RESTT*RD/RV214 R3LES=17.269215 R3IES=21.875216 R4LES=35.86217 R4IES=7.66218 R5LES=R3LES*(RTT-R4LES)219 R5IES=R3IES*(RTT-R4IES)220 C221 154 RETURN 222 155 END -
trunk/libf/phyvenus/testphys1d.F
r3 r97 54 54 REAL gru,grv ! prescribed "geostrophic" background wind 55 55 REAL temp(llm) ! temperature at the middle of the layers 56 REAL q(llm,nq mx) ! tracer mixing ratio (e.g. kg/kg)56 REAL q(llm,nqtot) ! tracer mixing ratio (e.g. kg/kg) 57 57 REAL tsoil(nsoilmx) ! subsurface soik temperature (K) 58 58 REAL zlay(llm) ! altitude estimee dans les couches (km) … … 66 66 REAL dudyn(llm),dvdyn(llm),dtempdyn(llm) 67 67 REAL dpsurf 68 REAL dq(llm,nq mx)69 REAL dqdyn(llm,nq mx)68 REAL dq(llm,nqtot) 69 REAL dqdyn(llm,nqtot) 70 70 71 71 c Various intermediate variables … … 287 287 c --------------------------- 288 288 289 DO iq=1,nq mx289 DO iq=1,nqtot 290 290 DO ilayer=1,nlayer 291 291 q(ilayer,iq) = 0. … … 375 375 c -------------------- 376 376 377 CALL physiq (1,llm,nq mx,377 CALL physiq (1,llm,nqtot, 378 378 , firstcall,lastcall, 379 379 , day,time,dtphys, -
trunk/libf/phyvenus/ustarhb.F
r3 r97 36 36 LOGICAL check(klon) ! True=>chk if Richardson no.>critcal 37 37 c 38 #include "YOETHF.h"39 #include "FCTTRE.h"40 38 DO i = 1, knon 41 39 zx_alf1 = 1.0 -
trunk/libf/phyvenus/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. … … 26 24 i = NINT(zout/zsto) 27 25 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 28 z4_tmp_2d=zx_tmp_2d 29 CALL histwrite(nid_day,"phis",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 26 CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 30 27 C 31 28 i = NINT(zout/zsto) 32 29 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 33 z4_tmp_2d=zx_tmp_2d 34 CALL histwrite(nid_day,"aire",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 30 CALL histwrite(nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 35 31 c 36 32 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) 37 z4_tmp_2d=zx_tmp_2d 38 CALL histwrite(nid_day,"tsol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 33 CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 39 34 c 40 35 DO i = 1, klon … … 42 37 ENDDO 43 38 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 44 z4_tmp_2d=zx_tmp_2d 45 CALL histwrite(nid_day,"psol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 39 CALL histwrite(nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 46 40 c 47 41 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 48 z4_tmp_2d=zx_tmp_2d 49 CALL histwrite(nid_day,"ue",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 42 CALL histwrite(nid_day,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 50 43 c 51 44 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 52 z4_tmp_2d=zx_tmp_2d 53 CALL histwrite(nid_day,"ve",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 45 CALL histwrite(nid_day,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 54 46 c 55 47 ENDIF !lev_histday.GE.1 … … 61 53 c 62 54 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 63 z4_tmp_3d=zx_tmp_3d 64 CALL histwrite(nid_day,"temp",itau_w,z4_tmp_3d, 55 CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d, 65 56 . iim*jjmp1*klev,ndex3d) 66 57 c 67 58 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 68 z4_tmp_3d=zx_tmp_3d 69 CALL histwrite(nid_day,"pres",itau_w,z4_tmp_3d, 59 CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d, 70 60 . iim*jjmp1*klev,ndex3d) 71 61 c 72 62 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 73 z4_tmp_3d=zx_tmp_3d 74 CALL histwrite(nid_day,"geop",itau_w,z4_tmp_3d, 63 CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d, 75 64 . iim*jjmp1*klev,ndex3d) 76 65 c 77 66 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 78 z4_tmp_3d=zx_tmp_3d 79 CALL histwrite(nid_day,"vitu",itau_w,z4_tmp_3d, 67 CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d, 80 68 . iim*jjmp1*klev,ndex3d) 81 69 c 82 70 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 83 z4_tmp_3d=zx_tmp_3d 84 CALL histwrite(nid_day,"vitv",itau_w,z4_tmp_3d, 71 CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d, 85 72 . iim*jjmp1*klev,ndex3d) 86 73 c 87 74 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 88 z4_tmp_3d=zx_tmp_3d 89 CALL histwrite(nid_day,"vitw",itau_w,z4_tmp_3d, 75 CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d, 90 76 . iim*jjmp1*klev,ndex3d) 91 77 c … … 100 86 c 101 87 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 102 z4_tmp_2d=zx_tmp_2d 103 CALL histwrite(nid_day,"tops",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 88 CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 104 89 c 105 90 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 106 z4_tmp_2d=zx_tmp_2d 107 CALL histwrite(nid_day,"topl",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 91 CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 108 92 c 109 93 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 110 z4_tmp_2d=zx_tmp_2d 111 CALL histwrite(nid_day,"sols",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 94 CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 112 95 c 113 96 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 114 z4_tmp_2d=zx_tmp_2d 115 CALL histwrite(nid_day,"soll",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 97 CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 116 98 c 117 99 c 3D … … 119 101 zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) 120 102 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 121 z4_tmp_3d=zx_tmp_3d 122 CALL histwrite(nid_day,"SWnet",itau_w,z4_tmp_3d, 103 CALL histwrite(nid_day,"SWnet",itau_w,zx_tmp_3d, 123 104 . iim*jjmp1*klev,ndex3d) 124 105 c 125 106 zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) 126 107 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 127 z4_tmp_3d=zx_tmp_3d 128 CALL histwrite(nid_day,"LWnet",itau_w,z4_tmp_3d, 108 CALL histwrite(nid_day,"LWnet",itau_w,zx_tmp_3d, 129 109 . iim*jjmp1*klev,ndex3d) 130 110 c … … 136 116 c en K/s 137 117 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 138 z4_tmp_3d=zx_tmp_3d 139 CALL histwrite(nid_day,"dtdyn",itau_w,z4_tmp_3d, 118 CALL histwrite(nid_day,"dtdyn",itau_w,zx_tmp_3d, 140 119 . iim*jjmp1*klev,ndex3d) 141 120 c 142 121 c en K/s 143 122 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 144 c z4_tmp_3d=zx_tmp_3d 145 c CALL histwrite(nid_day,"dtphy",itau_w,z4_tmp_3d, 123 c CALL histwrite(nid_day,"dtphy",itau_w,zx_tmp_3d, 146 124 c . iim*jjmp1*klev,ndex3d) 147 125 c 148 126 c en K/s 149 127 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_vdf,zx_tmp_3d) 150 z4_tmp_3d=zx_tmp_3d 151 CALL histwrite(nid_day,"dtvdf",itau_w,z4_tmp_3d, 128 CALL histwrite(nid_day,"dtvdf",itau_w,zx_tmp_3d, 152 129 . iim*jjmp1*klev,ndex3d) 153 130 c 154 131 c en K/s 155 132 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_ajs,zx_tmp_3d) 156 z4_tmp_3d=zx_tmp_3d 157 CALL histwrite(nid_day,"dtajs",itau_w,z4_tmp_3d, 133 CALL histwrite(nid_day,"dtajs",itau_w,zx_tmp_3d, 158 134 . iim*jjmp1*klev,ndex3d) 159 135 c … … 161 137 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY 162 138 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,"dtswr",itau_w,z4_tmp_3d, 139 CALL histwrite(nid_day,"dtswr",itau_w,zx_tmp_3d, 165 140 . iim*jjmp1*klev,ndex3d) 166 141 c … … 168 143 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY 169 144 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 170 z4_tmp_3d=zx_tmp_3d 171 CALL histwrite(nid_day,"dtlwr",itau_w,z4_tmp_3d, 145 CALL histwrite(nid_day,"dtlwr",itau_w,zx_tmp_3d, 172 146 . iim*jjmp1*klev,ndex3d) 173 147 c en K/s 174 148 c zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 175 149 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 176 c z4_tmp_3d=zx_tmp_3d 177 c CALL histwrite(nid_day,"dtec",itau_w,z4_tmp_3d, 150 c CALL histwrite(nid_day,"dtec",itau_w,zx_tmp_3d, 178 151 c . iim*jjmp1*klev,ndex3d) 179 152 c 180 153 c en (m/s)/s 181 154 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) 182 z4_tmp_3d=zx_tmp_3d 183 CALL histwrite(nid_day,"dudyn",itau_w,z4_tmp_3d, 155 CALL histwrite(nid_day,"dudyn",itau_w,zx_tmp_3d, 184 156 . iim*jjmp1*klev,ndex3d) 185 157 c 186 158 c en (m/s)/s 187 159 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 188 z4_tmp_3d=zx_tmp_3d 189 CALL histwrite(nid_day,"duvdf",itau_w,z4_tmp_3d, 160 CALL histwrite(nid_day,"duvdf",itau_w,zx_tmp_3d, 190 161 . iim*jjmp1*klev,ndex3d) 191 162 c 192 163 c en (m/s)/s 193 164 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_ajs, zx_tmp_3d) 194 z4_tmp_3d=zx_tmp_3d 195 CALL histwrite(nid_day,"duajs",itau_w,z4_tmp_3d, 165 CALL histwrite(nid_day,"duajs",itau_w,zx_tmp_3d, 196 166 . iim*jjmp1*klev,ndex3d) 197 167 c 198 168 c en (m/s)/s 199 169 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) 200 z4_tmp_3d=zx_tmp_3d 201 CALL histwrite(nid_day,"dugwo",itau_w,z4_tmp_3d, 170 CALL histwrite(nid_day,"dugwo",itau_w,zx_tmp_3d, 202 171 . iim*jjmp1*klev,ndex3d) 203 172 c 204 173 c en (m/s)/s 205 174 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_hin, zx_tmp_3d) 206 z4_tmp_3d=zx_tmp_3d 207 CALL histwrite(nid_day,"dugwno",itau_w,z4_tmp_3d, 175 CALL histwrite(nid_day,"dugwno",itau_w,zx_tmp_3d, 208 176 . iim*jjmp1*klev,ndex3d) 209 177 c … … 211 179 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 212 180 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 213 c z 4_tmp_3d=-1.*zx_tmp_3d214 c CALL histwrite(nid_day,"dvvdf",itau_w,z 4_tmp_3d,181 c zx_tmp_3d=-1.*zx_tmp_3d 182 c CALL histwrite(nid_day,"dvvdf",itau_w,zx_tmp_3d, 215 183 c . iim*jjmp1*klev,ndex3d) 216 184 c … … 224 192 IF (iq.LE.99) THEN 225 193 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq+2), zx_tmp_3d) 226 z4_tmp_3d=zx_tmp_3d227 194 WRITE(str2,'(i2.2)') iq 228 CALL histwrite(nid_day,"trac"//str2,itau_w,z 4_tmp_3d,195 CALL histwrite(nid_day,"trac"//str2,itau_w,zx_tmp_3d, 229 196 . iim*jjmp1*klev,ndex3d) 230 197 ELSE … … 236 203 c 237 204 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) 238 c z4_tmp_2d=zx_tmp_2d239 205 c CALL histwrite(nid_day,"taux_",itau_w, 240 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)206 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 241 207 c 242 208 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) 243 c z4_tmp_2d=zx_tmp_2d244 209 c CALL histwrite(nid_day,"tauy_",itau_w, 245 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)210 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 246 211 c 247 212 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 248 c z4_tmp_2d=zx_tmp_2d 249 c CALL histwrite(nid_day,"cdrm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 213 c CALL histwrite(nid_day,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 250 214 c 251 215 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 252 c z4_tmp_2d=zx_tmp_2d 253 c CALL histwrite(nid_day,"cdrh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 216 c CALL histwrite(nid_day,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 254 217 c 255 218 ENDIF !lev_histday.GE.5 -
trunk/libf/phyvenus/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. -
trunk/libf/phyvenus/write_histmth.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. … … 25 23 i = NINT(zout/zsto) 26 24 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 27 z4_tmp_2d=zx_tmp_2d 28 CALL histwrite(nid_mth,"phis",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 25 CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 29 26 C 30 27 i = NINT(zout/zsto) 31 28 CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) 32 z4_tmp_2d=zx_tmp_2d 33 CALL histwrite(nid_mth,"aire",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 29 CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 34 30 c 35 31 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) 36 z4_tmp_2d=zx_tmp_2d 37 CALL histwrite(nid_mth,"tsol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 32 CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 38 33 c 39 34 DO i = 1, klon … … 41 36 ENDDO 42 37 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 43 z4_tmp_2d=zx_tmp_2d 44 CALL histwrite(nid_mth,"psol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 38 CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 45 39 c 46 40 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 47 c z4_tmp_2d=zx_tmp_2d 48 c CALL histwrite(nid_mth,"ue",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 41 c CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 49 42 c 50 43 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 51 44 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 52 c z 4_tmp_2d=-1.*zx_tmp_2d53 c CALL histwrite(nid_mth,"ve",itau_w,z 4_tmp_2d,iim*jjmp1,ndex2d)45 c zx_tmp_2d=-1.*zx_tmp_2d 46 c CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 54 47 c 55 48 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 56 z4_tmp_2d=zx_tmp_2d 57 CALL histwrite(nid_mth,"cdragh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 49 CALL histwrite(nid_mth,"cdragh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 58 50 c 59 51 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 60 z4_tmp_2d=zx_tmp_2d 61 CALL histwrite(nid_mth,"cdragm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 52 CALL histwrite(nid_mth,"cdragm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 62 53 c 63 54 ENDIF !lev_histmth.GE.1 … … 69 60 c 70 61 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 71 z4_tmp_3d=zx_tmp_3d 72 CALL histwrite(nid_mth,"temp",itau_w,z4_tmp_3d, 62 CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d, 73 63 . iim*jjmp1*klev,ndex3d) 74 64 c 75 65 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 76 z4_tmp_3d=zx_tmp_3d 77 CALL histwrite(nid_mth,"pres",itau_w,z4_tmp_3d, 66 CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d, 78 67 . iim*jjmp1*klev,ndex3d) 79 68 c 80 69 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 81 z4_tmp_3d=zx_tmp_3d 82 CALL histwrite(nid_mth,"geop",itau_w,z4_tmp_3d, 70 CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d, 83 71 . iim*jjmp1*klev,ndex3d) 84 72 c 85 73 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 86 z4_tmp_3d=zx_tmp_3d 87 CALL histwrite(nid_mth,"vitu",itau_w,z4_tmp_3d, 74 CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d, 88 75 . iim*jjmp1*klev,ndex3d) 89 76 c 90 77 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 91 78 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 92 z 4_tmp_3d=-1.*zx_tmp_3d93 CALL histwrite(nid_mth,"vitv",itau_w,z 4_tmp_3d,79 zx_tmp_3d=-1.*zx_tmp_3d 80 CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d, 94 81 . iim*jjmp1*klev,ndex3d) 95 82 c 96 83 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 97 z4_tmp_3d=zx_tmp_3d 98 CALL histwrite(nid_mth,"vitw",itau_w,z4_tmp_3d, 84 CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d, 99 85 . iim*jjmp1*klev,ndex3d) 100 86 c 101 87 c en (m/s)/s 102 88 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) 103 z4_tmp_3d=zx_tmp_3d 104 CALL histwrite(nid_mth,"dudyn",itau_w,z4_tmp_3d, 89 CALL histwrite(nid_mth,"dudyn",itau_w,zx_tmp_3d, 105 90 . iim*jjmp1*klev,ndex3d) 106 91 c 107 92 c en (m/s)/s 108 93 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_mth,"duvdf",itau_w,z4_tmp_3d, 94 CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d, 111 95 . iim*jjmp1*klev,ndex3d) 112 96 c 113 97 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, mang, zx_tmp_3d) 114 c z4_tmp_3d=zx_tmp_3d 115 c CALL histwrite(nid_mth,"mang",itau_w,z4_tmp_3d, 98 c CALL histwrite(nid_mth,"mang",itau_w,zx_tmp_3d, 116 99 c . iim*jjmp1*klev,ndex3d) 117 100 c 118 101 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ycoefh, zx_tmp_3d) 119 z4_tmp_3d=zx_tmp_3d 120 CALL histwrite(nid_mth,"Kz",itau_w,z4_tmp_3d, 102 CALL histwrite(nid_mth,"Kz",itau_w,zx_tmp_3d, 121 103 . iim*jjmp1*klev,ndex3d) 122 104 c … … 126 108 IF (iq.LE.99) THEN 127 109 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d) 128 z4_tmp_3d=zx_tmp_3d129 110 WRITE(str2,'(i2.2)') iq 130 CALL histwrite(nid_mth,tnom(iq),itau_w,z 4_tmp_3d,111 CALL histwrite(nid_mth,tnom(iq),itau_w,zx_tmp_3d, 131 112 . iim*jjmp1*klev,ndex3d) 132 113 ELSE … … 138 119 c 139 120 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 140 z4_tmp_2d=zx_tmp_2d 141 CALL histwrite(nid_mth,"tops",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 121 CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 142 122 c 143 123 ENDIF !lev_histmth.GE.2 … … 151 131 c 152 132 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 153 z4_tmp_2d=zx_tmp_2d 154 CALL histwrite(nid_mth,"topl",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 133 CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 155 134 c 156 135 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 157 z4_tmp_2d=zx_tmp_2d 158 CALL histwrite(nid_mth,"sols",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 136 CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 159 137 c 160 138 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 161 z4_tmp_2d=zx_tmp_2d 162 CALL histwrite(nid_mth,"soll",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 139 CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 163 140 c 164 141 c 3D … … 166 143 zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) 167 144 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 168 z4_tmp_3d=zx_tmp_3d 169 CALL histwrite(nid_mth,"SWnet",itau_w,z4_tmp_3d, 145 CALL histwrite(nid_mth,"SWnet",itau_w,zx_tmp_3d, 170 146 . iim*jjmp1*klev,ndex3d) 171 147 c 172 148 zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) 173 149 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 174 z4_tmp_3d=zx_tmp_3d 175 CALL histwrite(nid_mth,"LWnet",itau_w,z4_tmp_3d, 150 CALL histwrite(nid_mth,"LWnet",itau_w,zx_tmp_3d, 176 151 . iim*jjmp1*klev,ndex3d) 177 152 c 178 153 zx_tmp_fi3d(1:klon,1:klev)=fluxt(1:klon,1:klev) 179 154 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 180 z4_tmp_3d=zx_tmp_3d 181 CALL histwrite(nid_mth,"fluxvdf",itau_w,z4_tmp_3d, 155 CALL histwrite(nid_mth,"fluxvdf",itau_w,zx_tmp_3d, 182 156 . iim*jjmp1*klev,ndex3d) 183 157 c 184 158 zx_tmp_fi3d(1:klon,1:klev)=flux_dyn(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_mth,"fluxdyn",itau_w,z4_tmp_3d, 160 CALL histwrite(nid_mth,"fluxdyn",itau_w,zx_tmp_3d, 188 161 . iim*jjmp1*klev,ndex3d) 189 162 c 190 163 zx_tmp_fi3d(1:klon,1:klev)=flux_ajs(1:klon,1:klev) 191 164 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 192 z4_tmp_3d=zx_tmp_3d 193 CALL histwrite(nid_mth,"fluxajs",itau_w,z4_tmp_3d, 165 CALL histwrite(nid_mth,"fluxajs",itau_w,zx_tmp_3d, 194 166 . iim*jjmp1*klev,ndex3d) 195 167 c 196 168 c zx_tmp_fi3d(1:klon,1:klev)=flux_ec(1:klon,1:klev) 197 169 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 198 c z4_tmp_3d=zx_tmp_3d 199 c CALL histwrite(nid_mth,"fluxec",itau_w,z4_tmp_3d, 170 c CALL histwrite(nid_mth,"fluxec",itau_w,zx_tmp_3d, 200 171 c . iim*jjmp1*klev,ndex3d) 201 172 c … … 207 178 c en K/s 208 179 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 209 z4_tmp_3d=zx_tmp_3d 210 CALL histwrite(nid_mth,"dtdyn",itau_w,z4_tmp_3d, 180 CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d, 211 181 . iim*jjmp1*klev,ndex3d) 212 182 c 213 183 c en K/s 214 184 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) 215 c z4_tmp_3d=zx_tmp_3d 216 c CALL histwrite(nid_mth,"dtphy",itau_w,z4_tmp_3d, 185 c CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d, 217 186 c . iim*jjmp1*klev,ndex3d) 218 187 c 219 188 c en K/s 220 189 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_vdf,zx_tmp_3d) 221 z4_tmp_3d=zx_tmp_3d 222 CALL histwrite(nid_mth,"dtvdf",itau_w,z4_tmp_3d, 190 CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d, 223 191 . iim*jjmp1*klev,ndex3d) 224 192 c 225 193 c en K/s 226 194 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_ajs,zx_tmp_3d) 227 z4_tmp_3d=zx_tmp_3d 228 CALL histwrite(nid_mth,"dtajs",itau_w,z4_tmp_3d, 195 CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d, 229 196 . iim*jjmp1*klev,ndex3d) 230 197 c … … 232 199 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY 233 200 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 234 z4_tmp_3d=zx_tmp_3d 235 CALL histwrite(nid_mth,"dtswr",itau_w,z4_tmp_3d, 201 CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d, 236 202 . iim*jjmp1*klev,ndex3d) 237 203 c … … 239 205 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY 240 206 CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 241 z4_tmp_3d=zx_tmp_3d 242 CALL histwrite(nid_mth,"dtlwr",itau_w,z4_tmp_3d, 207 CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d, 243 208 . iim*jjmp1*klev,ndex3d) 244 209 c en K/s 245 210 c zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) 246 211 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) 247 c z4_tmp_3d=zx_tmp_3d 248 c CALL histwrite(nid_mth,"dtec",itau_w,z4_tmp_3d, 212 c CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d, 249 213 c . iim*jjmp1*klev,ndex3d) 250 214 c 251 215 c en (m/s)/s 252 216 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_ajs, zx_tmp_3d) 253 z4_tmp_3d=zx_tmp_3d 254 CALL histwrite(nid_mth,"duajs",itau_w,z4_tmp_3d, 217 CALL histwrite(nid_mth,"duajs",itau_w,zx_tmp_3d, 255 218 . iim*jjmp1*klev,ndex3d) 256 219 c 257 220 c en (m/s)/s 258 221 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) 259 z4_tmp_3d=zx_tmp_3d 260 CALL histwrite(nid_mth,"dugwo",itau_w,z4_tmp_3d, 222 CALL histwrite(nid_mth,"dugwo",itau_w,zx_tmp_3d, 261 223 . iim*jjmp1*klev,ndex3d) 262 224 c 263 225 c en (m/s)/s 264 226 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_hin, zx_tmp_3d) 265 z4_tmp_3d=zx_tmp_3d 266 CALL histwrite(nid_mth,"dugwno",itau_w,z4_tmp_3d, 227 CALL histwrite(nid_mth,"dugwno",itau_w,zx_tmp_3d, 267 228 . iim*jjmp1*klev,ndex3d) 268 229 c … … 270 231 c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 271 232 c VENUS: regardee a l'envers!!!!!!!!!!!!!!! 272 c z 4_tmp_3d=-1.*zx_tmp_3d273 c CALL histwrite(nid_mth,"dvvdf",itau_w,z 4_tmp_3d,233 c zx_tmp_3d=-1.*zx_tmp_3d 234 c CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d, 274 235 c . iim*jjmp1*klev,ndex3d) 275 236 c … … 281 242 c 282 243 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) 283 c z4_tmp_2d=zx_tmp_2d284 244 c CALL histwrite(nid_mth,"taux_",itau_w, 285 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)245 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 286 246 c 287 247 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) 288 c z4_tmp_2d=zx_tmp_2d289 248 c CALL histwrite(nid_mth,"tauy_",itau_w, 290 c $ z 4_tmp_2d,iim*jjmp1,ndex2d)249 c $ zx_tmp_2d,iim*jjmp1,ndex2d) 291 250 c 292 251 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 293 c z4_tmp_2d=zx_tmp_2d 294 c CALL histwrite(nid_mth,"cdrm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 252 c CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 295 253 c 296 254 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 297 c z4_tmp_2d=zx_tmp_2d 298 c CALL histwrite(nid_mth,"cdrh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) 255 c CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 299 256 c 300 257 ENDIF !lev_histmth.GE.5
Note: See TracChangeset
for help on using the changeset viewer.