Changeset 828
- Timestamp:
- Aug 28, 2007, 2:20:22 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/clesphys.h
r793 r828 31 31 !IM ok_kzmin : clef calcul Kzmin dans la CL de surface cf FH 32 32 LOGICAL ok_kzmin 33 !IM fmagic : parametre pour regler l albedo sur ocean 34 REAL fmagic 33 35 !IM lev_histhf : niveau sorties 6h 34 36 !IM lev_histday : niveau sorties journalieres … … 40 42 REAL ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day 41 43 REAL ecrit_mth, ecrit_tra, ecrit_reg 42 REAL freq in_isccp, freqout_isccp44 REAL freq_ISCCP, ecrit_ISCCP 43 45 INTEGER :: ip_ebil_phy 44 46 LOGICAL ok_slab_sicOBS … … 49 51 & , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt & 50 52 & , top_height, overlap, cdmmax, cdhmax, ksta, ksta_ter & 51 & , ok_kzmin, lev_histhf, lev_histday, lev_histmth&53 & , ok_kzmin, fmagic, lev_histhf, lev_histday, lev_histmth & 52 54 & , type_run, ok_isccp, ok_regdyn & 53 55 & , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins & 54 56 & , ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day & 55 57 & , ecrit_mth, ecrit_tra, ecrit_reg & 56 & , freq in_isccp, freqout_isccp, ip_ebil_phy&58 & , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy & 57 59 & , ok_slab_sicOBS, ok_lic_melt, cvl_corr 58 60 -
LMDZ4/trunk/libf/phylmd/conf_phys.F90
r793 r828 5 5 ! 6 6 7 subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, &7 subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, ok_hf, & 8 8 & fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, & 9 9 !IM& ratqsbas,ratqshaut,ip_ebil_phy, & … … 19 19 include "fisrtilp.h" 20 20 include "nuage.h" 21 21 include "YOMCST.h" 22 22 !IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12 23 23 include "clesphys.h" … … 35 35 ! ok_veget: type de modele de vegetation 36 36 ! ok_journe: sorties journalieres 37 ! ok_hf: sorties haute frequence 37 38 ! ok_mensuel: sorties mensuelles 38 39 ! ok_instan: sorties instantanees … … 45 46 character (len = 6) :: ocean 46 47 logical :: ok_veget, ok_newmicro 47 logical :: ok_journe, ok_mensuel, ok_instan 48 logical :: ok_journe, ok_mensuel, ok_instan, ok_hf 48 49 LOGICAL :: ok_ade, ok_aie 49 50 REAL :: bl95_b0, bl95_b1 … … 53 54 character (len = 6),SAVE :: ocean_omp 54 55 logical,SAVE :: ok_veget_omp, ok_newmicro_omp 55 logical,SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp 56 logical,SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp 56 57 LOGICAL,SAVE :: ok_ade_omp, ok_aie_omp 57 58 REAL,SAVE :: bl95_b0_omp, bl95_b1_omp 59 REAL,SAVE :: freq_ISCCP_omp, ecrit_ISCCP_omp 58 60 real,SAVE :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp 59 61 real,SAVE :: ratqshaut_omp … … 79 81 INTEGER,SAVE :: top_height_omp,overlap_omp 80 82 REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp 81 LOGICAL,SAVE :: ok_kzmin_omp 83 LOGICAL,SAVE :: ok_kzmin_omp, fmagic_omp 82 84 INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp 83 85 CHARACTER*4, SAVE :: type_run_omp … … 110 112 call getin('VEGET', ok_veget_omp) 111 113 ! 112 !Config Key = OK_journe114 !Config Key = ok_journe 113 115 !Config Desc = Pour des sorties journalieres 114 116 !Config Def = .false. … … 117 119 ! 118 120 ok_journe_omp = .false. 119 call getin('OK_journe', ok_journe_omp) 121 call getin('ok_journe', ok_journe_omp) 122 ! 123 !Config Key = ok_hf 124 !Config Desc = Pour des sorties haute frequence 125 !Config Def = .false. 126 !Config Help = Pour creer le fichier histhf contenant les sorties 127 ! haute frequence ( 3h ou 6h) 128 ! 129 ok_hf_omp = .false. 130 call getin('ok_hf', ok_hf_omp) 120 131 ! 121 132 !Config Key = OK_mensuel … … 171 182 call getin('bl95_b1', bl95_b1_omp) 172 183 173 ! 184 !Config Key = freq_ISCCP 185 !Config Desc = Frequence d'appel du simulateur ISCCP en secondes; 186 ! par defaut 10800, i.e. 3 heures 187 !Config Def = 10800. 188 !Config Help = Used in ini_histISCCP.h 189 ! 190 freq_ISCCP_omp = 10800. 191 call getin('freq_ISCCP', freq_ISCCP_omp) 192 ! 193 !Config Key = ecrit_ISCCP 194 !Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours; 195 ! par defaut 1., i.e. 1 jour 196 !Config Def = 1. 197 !Config Help = Used in ini_histISCCP.h 198 ! 199 ! 200 ecrit_ISCCP_omp = 1. 201 call getin('ecrit_ISCCP', ecrit_ISCCP_omp) 174 202 ! 175 203 !Config Key = ip_ebil_phy … … 562 590 call getin('ok_kzmin',ok_kzmin_omp) 563 591 592 ! 593 !Config Key = fmagic 594 !Config Desc = 595 !Config Def = 1. 596 !Config Help = Used in albedo.F 597 ! 598 fmagic_omp = 1. 599 call getin('fmagic',fmagic_omp) 600 564 601 !Config Key = ok_lic_melt 565 602 !Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau … … 636 673 call getin('type_run',type_run_omp) 637 674 638 675 ! 639 676 !Config Key = ok_isccp 640 677 !Config Desc = … … 693 730 !Config Desc = 694 731 !Config Def = 1.0 !tous les jours 695 !Config Help = 732 !Config Help = nombre de jours pour ecriture fichier histday.nc 696 733 ! 697 734 ecrit_day_omp = 1.0 … … 773 810 ksta_ter = ksta_ter_omp 774 811 ok_kzmin = ok_kzmin_omp 812 fmagic = fmagic_omp 775 813 iflag_pbl = iflag_pbl_omp 776 814 lev_histhf = lev_histhf_omp … … 782 820 ok_newmicro = ok_newmicro_omp 783 821 ok_journe = ok_journe_omp 822 ok_hf = ok_hf_omp 784 823 ok_mensuel = ok_mensuel_omp 785 824 ok_instan = ok_instan_omp 825 freq_ISCCP = freq_ISCCP_omp 826 ecrit_ISCCP = ecrit_ISCCP_omp 786 827 ok_ade = ok_ade_omp 787 828 ok_aie = ok_aie_omp … … 818 859 write(numout,*)' Config veget = ', ok_veget 819 860 write(numout,*)' Sortie journaliere = ', ok_journe 861 write(numout,*)' Sortie haute frequence = ', ok_hf 820 862 write(numout,*)' Sortie mensuelle = ', ok_mensuel 821 863 write(numout,*)' Sortie instantanee = ', ok_instan 864 write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP 865 write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP 822 866 write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy 823 867 write(numout,*)' Excentricite = ',R_ecc … … 858 902 write(numout,*)' ksta_ter = ',ksta_ter 859 903 write(numout,*)' ok_kzmin = ',ok_kzmin 904 write(numout,*)' fmagic = ',fmagic 860 905 write(numout,*)' ok_ade = ',ok_ade 861 906 write(numout,*)' ok_aie = ',ok_aie … … 871 916 write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',& 872 917 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 873 write(numout,*)' ecrit_ hf, day, mth, reg ',&874 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra 918 write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',& 919 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP 875 920 876 921 !$OMP END MASTER -
LMDZ4/trunk/libf/phylmd/ini_paramLMDZ_phy.h
r776 r828 347 347 . "once", zstophy,zout) 348 348 c 349 CALL histdef(nid_ctesGCM, "freq in_isccp",350 . "freq in_isccp", "-",351 . iim,jjmp1,nhori, 1,1,1, -99, 32, 352 . "once", zstophy,zout) 353 c 354 CALL histdef(nid_ctesGCM, " freqout_isccp",355 . " freqout_isccp", "-",349 CALL histdef(nid_ctesGCM, "freq_ISCCP", 350 . "freq_ISCCP", "-", 351 . iim,jjmp1,nhori, 1,1,1, -99, 32, 352 . "once", zstophy,zout) 353 c 354 CALL histdef(nid_ctesGCM, "ecrit_ISCCP", 355 . "ecrit_ISCCP", "-", 356 356 . iim,jjmp1,nhori, 1,1,1, -99, 32, 357 357 . "once", zstophy,zout) -
LMDZ4/trunk/libf/phylmd/physiq.F
r800 r828 385 385 INTEGER jmin_debut, nbptj 386 386 cIM parametres ISCCP BEG 387 INTEGER nbapp_isccp,isccppas 387 INTEGER nbapp_isccp 388 ! INTEGER nbapp_isccp,isccppas 389 ! PARAMETER(isccppas=6) !appel du simulateurs tous les 6pas de temps de la physique 390 ! !i.e. toutes les 3 heures 388 391 INTEGER n, napisccp 389 392 c PARAMETER(napisccp=3) … … 419 422 INTEGER ncolmx, seed(klon,napisccp) 420 423 REAL nbsunlit(nregISCtot,klon,napisccp) !nbsunlit : moyenne de sunlit 421 PARAMETER(ncolmx=350) 424 c PARAMETER(ncolmx=1500) 425 PARAMETER(ncolmx=300) 422 426 c 423 427 cIM verif boxptop BEG … … 495 499 c$OMP THREADPRIVATE(nid_isccp) 496 500 497 c data ok_isccp,ecrit_isccp/.true.,0.125/498 c data ok_isccp,ecrit_isccp/.true.,1./499 cIM 190504 data ok_isccp/.true./500 cIM 190504 #else501 cIM 190504 data ok_isccp/.false./502 cIM 190504 #endif503 504 501 REAL zx_tau(kmaxm1), zx_pc(lmaxm1), zx_o500(iwmax) 505 502 DATA zx_tau/0.0, 0.3, 1.3, 3.6, 9.4, 23., 60./ 506 503 SAVE zx_tau 507 cIM bad 151205 DATA zx_pc/50., 180., 310., 440., 560., 680., 800./508 504 DATA zx_pc/180., 310., 440., 560., 680., 800., 1000./ 509 505 SAVE zx_pc … … 600 596 c QUESTION : noms de variables ? 601 597 602 #ifdef histhf603 data ok_hf/.true./604 #else605 data ok_hf/.false./606 #endif598 c#ifdef histhf 599 c data ok_hf/.true./ 600 c#else 601 c data ok_hf/.false./ 602 c#endif 607 603 INTEGER longcles 608 604 PARAMETER ( longcles = 20 ) … … 1167 1163 REAL tabcntr0( length ) 1168 1164 c 1169 1170 1165 INTEGER ndex2d(iim*jjmp1),ndex3d(iim*jjmp1*klev) 1171 1166 cIM … … 1526 1521 c 1527 1522 call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, 1528 . ok_instan, fact_cldcon, facttemps,ok_newmicro, 1523 . ok_instan, ok_hf, 1524 . fact_cldcon, facttemps,ok_newmicro, 1529 1525 cIM . iflag_cldcon,ratqsbas,ratqshaut, if_ebil, 1530 1526 . iflag_cldcon,ratqsbas,ratqshaut, … … 1696 1692 cIM on passe les frequences de jours en secondes : ecrit_ins, ecrit_hf, ecrit_day, ecrit_mth, ecrit_tra, ecrit_reg 1697 1693 ecrit_hf = ecrit_hf * un_jour 1698 ecrit_day = ecrit_day * un_jour 1694 !IM 1695 IF(ecrit_day.LE.1.) THEN 1696 ecrit_day = ecrit_day * un_jour !en secondes 1697 ENDIF 1698 !IM 1699 1699 ecrit_mth = ecrit_mth * un_jour 1700 1700 ecrit_reg = ecrit_reg * un_jour 1701 1701 ecrit_tra = ecrit_tra * un_jour 1702 ecrit_ISCCP = ecrit_ISCCP * un_jour 1703 c 1704 PRINT*,'physiq ecrit_ hf day mth reg tra ISCCP',ecrit_hf, 1705 . ecrit_day,ecrit_mth,ecrit_reg,ecrit_tra,ecrit_ISCCP 1702 1706 cIM 030306 END 1703 1707 … … 1744 1748 #endif 1745 1749 1746 c#include "ini_histday_seri.h"1747 1750 #include "ini_histday_seri.h" 1748 1751 … … 2533 2536 c 2534 2537 IF (ok_isccp) THEN 2538 cIM appel simulateur toutes les NINT(freq_ISCCP/dtime) heures 2539 IF (MOD(itap,NINT(freq_ISCCP/dtime)).EQ.0) THEN 2535 2540 #include "calcul_simulISCCP.h" 2541 ENDIF !(MOD(itap,NINT(freq_ISCCP/dtime)) 2536 2542 ENDIF !ok_isccp 2537 2543 -
LMDZ4/trunk/libf/phylmd/write_paramLMDZ_phy.h
r784 r828 327 327 . zx_tmp_2d,iim*jjmp1,ndex2d) 328 328 c 329 zx_tmp_2d(1:iim,1:jjmp1)=freq in_isccp330 CALL histwrite(nid_ctesGCM,"freq in_isccp",itau_w,331 . zx_tmp_2d,iim*jjmp1,ndex2d) 332 c 333 zx_tmp_2d(1:iim,1:jjmp1)= freqout_isccp334 CALL histwrite(nid_ctesGCM," freqout_isccp",itau_w,329 zx_tmp_2d(1:iim,1:jjmp1)=freq_ISCCP 330 CALL histwrite(nid_ctesGCM,"freq_ISCCP",itau_w, 331 . zx_tmp_2d,iim*jjmp1,ndex2d) 332 c 333 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_ISCCP 334 CALL histwrite(nid_ctesGCM,"ecrit_ISCCP",itau_w, 335 335 . zx_tmp_2d,iim*jjmp1,ndex2d) 336 336 c
Note: See TracChangeset
for help on using the changeset viewer.