Changeset 833
- Timestamp:
- Aug 28, 2007, 5:11:08 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phytherm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phytherm/clesphys.h
r814 r833 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/phytherm/conf_phys.F90
r814 r833 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 & seuil_inversion, & 9 9 & fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, & … … 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 … … 54 55 character (len = 6),SAVE :: ocean_omp 55 56 logical,SAVE :: ok_veget_omp, ok_newmicro_omp 56 logical,SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp 57 logical,SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp 57 58 LOGICAL,SAVE :: ok_ade_omp, ok_aie_omp 58 59 REAL,SAVE :: bl95_b0_omp, bl95_b1_omp 60 REAL,SAVE :: freq_ISCCP_omp, ecrit_ISCCP_omp 59 61 real,SAVE :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp 60 62 real,SAVE :: ratqshaut_omp … … 84 86 INTEGER,SAVE :: top_height_omp,overlap_omp 85 87 REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp 86 LOGICAL,SAVE :: ok_kzmin_omp 88 LOGICAL,SAVE :: ok_kzmin_omp, fmagic_omp 87 89 INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp 88 90 CHARACTER*4, SAVE :: type_run_omp … … 115 117 call getin('VEGET', ok_veget_omp) 116 118 ! 117 !Config Key = OK_journe119 !Config Key = ok_journe 118 120 !Config Desc = Pour des sorties journalieres 119 121 !Config Def = .false. … … 122 124 ! 123 125 ok_journe_omp = .false. 124 call getin('OK_journe', ok_journe_omp) 126 call getin('ok_journe', ok_journe_omp) 127 ! 128 !Config Key = ok_hf 129 !Config Desc = Pour des sorties haute frequence 130 !Config Def = .false. 131 !Config Help = Pour creer le fichier histhf contenant les sorties 132 ! haute frequence ( 3h ou 6h) 133 ! 134 ok_hf_omp = .false. 135 call getin('ok_hf', ok_hf_omp) 125 136 ! 126 137 !Config Key = OK_mensuel … … 176 187 call getin('bl95_b1', bl95_b1_omp) 177 188 178 ! 189 !Config Key = freq_ISCCP 190 !Config Desc = Frequence d'appel du simulateur ISCCP en secondes; 191 ! par defaut 10800, i.e. 3 heures 192 !Config Def = 10800. 193 !Config Help = Used in ini_histISCCP.h 194 ! 195 freq_ISCCP_omp = 10800. 196 call getin('freq_ISCCP', freq_ISCCP_omp) 197 ! 198 !Config Key = ecrit_ISCCP 199 !Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours; 200 ! par defaut 1., i.e. 1 jour 201 !Config Def = 1. 202 !Config Help = Used in ini_histISCCP.h 203 ! 204 ! 205 ecrit_ISCCP_omp = 1. 206 call getin('ecrit_ISCCP', ecrit_ISCCP_omp) 179 207 ! 180 208 !Config Key = ip_ebil_phy … … 584 612 call getin('ok_kzmin',ok_kzmin_omp) 585 613 614 ! 615 !Config Key = fmagic 616 !Config Desc = 617 !Config Def = 1. 618 !Config Help = Used in albedo.F 619 ! 620 fmagic_omp = 1. 621 call getin('fmagic',fmagic_omp) 622 586 623 !Config Key = ok_lic_melt 587 624 !Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau … … 658 695 call getin('type_run',type_run_omp) 659 696 660 697 ! 661 698 !Config Key = ok_isccp 662 699 !Config Desc = … … 715 752 !Config Desc = 716 753 !Config Def = 1.0 !tous les jours 717 !Config Help = 754 !Config Help = nombre de jours pour ecriture fichier histday.nc 718 755 ! 719 756 ecrit_day_omp = 1.0 … … 795 832 ksta_ter = ksta_ter_omp 796 833 ok_kzmin = ok_kzmin_omp 834 fmagic = fmagic_omp 797 835 iflag_pbl = iflag_pbl_omp 798 836 lev_histhf = lev_histhf_omp … … 804 842 ok_newmicro = ok_newmicro_omp 805 843 ok_journe = ok_journe_omp 844 ok_hf = ok_hf_omp 806 845 ok_mensuel = ok_mensuel_omp 807 846 ok_instan = ok_instan_omp 847 freq_ISCCP = freq_ISCCP_omp 848 ecrit_ISCCP = ecrit_ISCCP_omp 808 849 ok_ade = ok_ade_omp 809 850 ok_aie = ok_aie_omp … … 842 883 write(numout,*)' Config veget = ', ok_veget 843 884 write(numout,*)' Sortie journaliere = ', ok_journe 885 write(numout,*)' Sortie haute frequence = ', ok_hf 844 886 write(numout,*)' Sortie mensuelle = ', ok_mensuel 845 887 write(numout,*)' Sortie instantanee = ', ok_instan 888 write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP 889 write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP 846 890 write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy 847 891 write(numout,*)' Excentricite = ',R_ecc … … 884 928 write(numout,*)' ksta_ter = ',ksta_ter 885 929 write(numout,*)' ok_kzmin = ',ok_kzmin 930 write(numout,*)' fmagic = ',fmagic 886 931 write(numout,*)' ok_ade = ',ok_ade 887 932 write(numout,*)' ok_aie = ',ok_aie … … 897 942 write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',& 898 943 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 899 write(numout,*)' ecrit_ hf, day, mth, reg ',&900 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra 944 write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',& 945 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP 901 946 902 947 !$OMP END MASTER -
LMDZ4/trunk/libf/phytherm/physiq.F
r814 r833 401 401 INTEGER jmin_debut, nbptj 402 402 cIM parametres ISCCP BEG 403 INTEGER nbapp_isccp,isccppas 403 INTEGER nbapp_isccp 404 ! INTEGER nbapp_isccp,isccppas 405 ! PARAMETER(isccppas=6) !appel du simulateurs tous les 6pas de temps de la physique 406 ! !i.e. toutes les 3 heures 404 407 INTEGER n, napisccp 405 408 c PARAMETER(napisccp=3) … … 435 438 INTEGER ncolmx, seed(klon,napisccp) 436 439 REAL nbsunlit(nregISCtot,klon,napisccp) !nbsunlit : moyenne de sunlit 437 PARAMETER(ncolmx=350) 440 c PARAMETER(ncolmx=1500) 441 PARAMETER(ncolmx=300) 438 442 c 439 443 cIM verif boxptop BEG … … 511 515 c$OMP THREADPRIVATE(nid_isccp) 512 516 513 c data ok_isccp,ecrit_isccp/.true.,0.125/514 c data ok_isccp,ecrit_isccp/.true.,1./515 cIM 190504 data ok_isccp/.true./516 cIM 190504 #else517 cIM 190504 data ok_isccp/.false./518 cIM 190504 #endif519 520 517 REAL zx_tau(kmaxm1), zx_pc(lmaxm1), zx_o500(iwmax) 521 518 DATA zx_tau/0.0, 0.3, 1.3, 3.6, 9.4, 23., 60./ 522 519 SAVE zx_tau 523 cIM bad 151205 DATA zx_pc/50., 180., 310., 440., 560., 680., 800./524 520 DATA zx_pc/180., 310., 440., 560., 680., 800., 1000./ 525 521 SAVE zx_pc … … 616 612 c QUESTION : noms de variables ? 617 613 618 #ifdef histhf619 data ok_hf/.true./620 #else621 data ok_hf/.false./622 #endif614 c#ifdef histhf 615 c data ok_hf/.true./ 616 c#else 617 c data ok_hf/.false./ 618 c#endif 623 619 INTEGER longcles 624 620 PARAMETER ( longcles = 20 ) … … 1183 1179 REAL tabcntr0( length ) 1184 1180 c 1185 1186 1181 INTEGER ndex2d(iim*jjmp1),ndex3d(iim*jjmp1*klev) 1187 1182 cIM … … 1545 1540 c 1546 1541 call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, 1547 . ok_instan, seuil_inversion,1542 . ok_instan, ok_hf, seuil_inversion, 1548 1543 . fact_cldcon, facttemps,ok_newmicro, 1549 1544 . iflag_cldcon,iflag_ratqs,ratqsbas,ratqshaut, … … 1716 1711 cIM on passe les frequences de jours en secondes : ecrit_ins, ecrit_hf, ecrit_day, ecrit_mth, ecrit_tra, ecrit_reg 1717 1712 ecrit_hf = ecrit_hf * un_jour 1718 ecrit_day = ecrit_day * un_jour 1713 !IM 1714 IF(ecrit_day.LE.1.) THEN 1715 ecrit_day = ecrit_day * un_jour !en secondes 1716 ENDIF 1717 !IM 1719 1718 ecrit_mth = ecrit_mth * un_jour 1720 1719 ecrit_reg = ecrit_reg * un_jour 1721 1720 ecrit_tra = ecrit_tra * un_jour 1721 ecrit_ISCCP = ecrit_ISCCP * un_jour 1722 c 1723 PRINT*,'physiq ecrit_ hf day mth reg tra ISCCP',ecrit_hf, 1724 . ecrit_day,ecrit_mth,ecrit_reg,ecrit_tra,ecrit_ISCCP 1722 1725 cIM 030306 END 1723 1726 … … 1764 1767 #endif 1765 1768 1766 c#include "ini_histday_seri.h"1767 1769 #include "ini_histday_seri.h" 1768 1770 … … 2632 2634 c 2633 2635 IF (ok_isccp) THEN 2636 cIM appel simulateur toutes les NINT(freq_ISCCP/dtime) heures 2637 IF (MOD(itap,NINT(freq_ISCCP/dtime)).EQ.0) THEN 2634 2638 #include "calcul_simulISCCP.h" 2639 ENDIF !(MOD(itap,NINT(freq_ISCCP/dtime)) 2635 2640 ENDIF !ok_isccp 2636 2641
Note: See TracChangeset
for help on using the changeset viewer.